tzinfo 0.3.37 → 0.3.38
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of tzinfo might be problematic. Click here for more details.
- data/.yardopts +8 -0
- data/CHANGES +6 -0
- data/README +13 -16
- data/Rakefile +126 -54
- data/lib/tzinfo/country.rb +5 -1
- data/lib/tzinfo/country_index_definition.rb +6 -1
- data/lib/tzinfo/country_info.rb +3 -1
- data/lib/tzinfo/country_timezone.rb +1 -1
- data/lib/tzinfo/data_timezone.rb +3 -1
- data/lib/tzinfo/data_timezone_info.rb +3 -1
- data/lib/tzinfo/definitions/Africa/Casablanca.rb +55 -74
- data/lib/tzinfo/definitions/Africa/Juba.rb +1 -41
- data/lib/tzinfo/definitions/America/Anguilla.rb +1 -6
- data/lib/tzinfo/definitions/America/Araguaina.rb +0 -74
- data/lib/tzinfo/definitions/America/Argentina/San_Luis.rb +1 -1
- data/lib/tzinfo/definitions/America/Aruba.rb +1 -8
- data/lib/tzinfo/definitions/America/Asuncion.rb +37 -37
- data/lib/tzinfo/definitions/America/Cayman.rb +2 -2
- data/lib/tzinfo/definitions/America/Dominica.rb +1 -6
- data/lib/tzinfo/definitions/America/Grand_Turk.rb +2 -2
- data/lib/tzinfo/definitions/America/Grenada.rb +1 -6
- data/lib/tzinfo/definitions/America/Guadeloupe.rb +1 -6
- data/lib/tzinfo/definitions/America/Jamaica.rb +4 -4
- data/lib/tzinfo/definitions/America/Marigot.rb +1 -1
- data/lib/tzinfo/definitions/America/Montserrat.rb +1 -6
- data/lib/tzinfo/definitions/America/St_Barthelemy.rb +1 -1
- data/lib/tzinfo/definitions/America/St_Kitts.rb +1 -6
- data/lib/tzinfo/definitions/America/St_Lucia.rb +1 -8
- data/lib/tzinfo/definitions/America/St_Thomas.rb +1 -6
- data/lib/tzinfo/definitions/America/St_Vincent.rb +1 -8
- data/lib/tzinfo/definitions/America/Tortola.rb +1 -6
- data/lib/tzinfo/definitions/America/Virgin.rb +1 -1
- data/lib/tzinfo/definitions/Antarctica/Macquarie.rb +3 -7
- data/lib/tzinfo/definitions/Antarctica/McMurdo.rb +1 -159
- data/lib/tzinfo/definitions/Antarctica/South_Pole.rb +1 -1
- data/lib/tzinfo/definitions/Asia/Amman.rb +2 -75
- data/lib/tzinfo/definitions/Asia/Dili.rb +1 -1
- data/lib/tzinfo/definitions/Asia/Gaza.rb +79 -3
- data/lib/tzinfo/definitions/Asia/Hebron.rb +81 -5
- data/lib/tzinfo/definitions/Asia/Jakarta.rb +4 -4
- data/lib/tzinfo/definitions/Asia/Jayapura.rb +1 -1
- data/lib/tzinfo/definitions/Asia/Jerusalem.rb +40 -40
- data/lib/tzinfo/definitions/Asia/Makassar.rb +1 -1
- data/lib/tzinfo/definitions/Asia/Pontianak.rb +4 -4
- data/lib/tzinfo/definitions/Europe/Vaduz.rb +1 -147
- data/lib/tzinfo/definitions/Europe/Zurich.rb +3 -3
- data/lib/tzinfo/definitions/Pacific/Fiji.rb +17 -17
- data/lib/tzinfo/definitions/Pacific/Johnston.rb +1 -4
- data/lib/tzinfo/indexes/countries.rb +8 -11
- data/lib/tzinfo/indexes/timezones.rb +15 -15
- data/lib/tzinfo/info_timezone.rb +3 -1
- data/lib/tzinfo/linked_timezone.rb +4 -1
- data/lib/tzinfo/linked_timezone_info.rb +3 -1
- data/lib/tzinfo/offset_rationals.rb +4 -2
- data/lib/tzinfo/ruby_core_support.rb +4 -2
- data/lib/tzinfo/time_or_datetime.rb +3 -1
- data/lib/tzinfo/timezone.rb +7 -1
- data/lib/tzinfo/timezone_definition.rb +5 -1
- data/lib/tzinfo/timezone_index_definition.rb +6 -1
- data/lib/tzinfo/timezone_info.rb +3 -1
- data/lib/tzinfo/timezone_offset_info.rb +3 -1
- data/lib/tzinfo/timezone_transition_info.rb +3 -1
- data/lib/tzinfo/tzdataparser.rb +48 -13
- metadata +6 -5
data/.yardopts
ADDED
data/CHANGES
CHANGED
data/README
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
= TZInfo -- Daylight-savings aware timezone support for Ruby
|
2
2
|
|
3
|
-
TZInfo[http://tzinfo.
|
4
|
-
(http://www.
|
3
|
+
TZInfo[http://tzinfo.github.io] uses the IANA Time Zone Database
|
4
|
+
(http://www.iana.org/time-zones) to provide
|
5
5
|
daylight-savings aware transformations between times in different timezones.
|
6
6
|
This is the same database as used for zoneinfo on Unix machines.
|
7
7
|
|
8
|
-
The
|
9
|
-
Ruby modules (which are packaged with this release).
|
8
|
+
The Time Zone database has been imported (using TZDataParser) and turned into a
|
9
|
+
set of Ruby modules (which are packaged with this release).
|
10
10
|
|
11
11
|
|
12
12
|
== Example usage
|
@@ -66,15 +66,9 @@ The above covers the most common uses of Timezone and Country. For more detail,
|
|
66
66
|
see the API documentation for the individual classes.
|
67
67
|
|
68
68
|
|
69
|
-
==
|
69
|
+
== Documentation
|
70
70
|
|
71
|
-
|
72
|
-
|
73
|
-
* http://rubyforge.org/frs/?group_id=894
|
74
|
-
|
75
|
-
API documentation can be found at
|
76
|
-
|
77
|
-
* http://tzinfo.rubyforge.org/doc/
|
71
|
+
API documentation for TZInfo is available on RubyDoc.info[http://rubydoc.info/gems/tzinfo/frames].
|
78
72
|
|
79
73
|
|
80
74
|
== Installation
|
@@ -93,9 +87,12 @@ or to automatically download and install:
|
|
93
87
|
TZInfo is released under the MIT[http://opensource.org/licenses/mit-license.html] license.
|
94
88
|
|
95
89
|
|
96
|
-
==
|
90
|
+
== Source Code
|
91
|
+
|
92
|
+
Source code for TZInfo is available on GitHub[https://github.com/tzinfo/tzinfo].
|
93
|
+
|
97
94
|
|
98
|
-
|
99
|
-
if you require assistance or have any suggestions.
|
95
|
+
== Issue Tracker
|
100
96
|
|
101
|
-
|
97
|
+
Please post any bugs, issues, feature requests or questions to the
|
98
|
+
{GitHub issue tracker}[https://github.com/tzinfo/tzinfo/issues].
|
data/Rakefile
CHANGED
@@ -40,12 +40,13 @@ def sh(*cmd, &block)
|
|
40
40
|
end
|
41
41
|
|
42
42
|
|
43
|
-
PKG_VERSION = "0.3.
|
43
|
+
PKG_VERSION = "0.3.38"
|
44
44
|
PKG_FILES = FileList[
|
45
45
|
'CHANGES',
|
46
46
|
'LICENSE',
|
47
47
|
'Rakefile',
|
48
48
|
'README',
|
49
|
+
'.yardopts',
|
49
50
|
'lib',
|
50
51
|
'lib/**/*'
|
51
52
|
].delete_if {|f| f.include?('.svn')}
|
@@ -61,7 +62,7 @@ SPEC = Gem::Specification.new do |s|
|
|
61
62
|
s.version = PKG_VERSION
|
62
63
|
s.author = "Philip Ross"
|
63
64
|
s.email = "phil.ross@gmail.com"
|
64
|
-
s.homepage = "http://tzinfo.
|
65
|
+
s.homepage = "http://tzinfo.github.io"
|
65
66
|
s.platform = Gem::Platform::RUBY
|
66
67
|
s.summary = "Daylight-savings aware timezone library"
|
67
68
|
s.description = "TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings aware transformations between times in different time zones."
|
@@ -148,81 +149,152 @@ task :build_tz_modules do
|
|
148
149
|
p = TZInfo::TZDataParser.new('../data', BUILD_TZ_CLASSES_DIR)
|
149
150
|
p.execute
|
150
151
|
|
151
|
-
|
152
|
-
|
153
|
-
|
152
|
+
scm = Scm.create(File.join(File.dirname(__FILE__), '..'))
|
153
|
+
|
154
|
+
['indexes', 'definitions'].each do |dir|
|
155
|
+
scm.sync("#{BUILD_TZ_CLASSES_DIR}/#{dir}", "lib/tzinfo/#{dir}")
|
156
|
+
end
|
154
157
|
ensure
|
155
158
|
FileUtils.rm_rf(BUILD_TZ_CLASSES_DIR)
|
156
159
|
end
|
157
160
|
end
|
158
161
|
|
159
|
-
|
160
|
-
|
162
|
+
class Scm
|
163
|
+
def self.create(dir)
|
164
|
+
if File.directory?(File.join(dir, '.git'))
|
165
|
+
GitScm.new(dir)
|
166
|
+
elsif File.directory?(File.join(dir, '.svn'))
|
167
|
+
SvnScm.new(dir)
|
168
|
+
else
|
169
|
+
NullScm.new(dir)
|
170
|
+
end
|
171
|
+
end
|
161
172
|
|
162
|
-
|
163
|
-
|
164
|
-
|
173
|
+
def initialize(dir)
|
174
|
+
end
|
175
|
+
|
176
|
+
def sync(source_dir, target_dir)
|
177
|
+
puts "Sync from #{source_dir} to #{target_dir}#{command ? " using #{command}" : ''}"
|
178
|
+
sync_dirs(source_dir, target_dir)
|
179
|
+
end
|
180
|
+
|
181
|
+
protected
|
182
|
+
|
183
|
+
def exec_scm(params)
|
184
|
+
puts "#{command} #{params}"
|
185
|
+
`#{command} #{params}`
|
186
|
+
raise "#{command} exited with status #$?" if $? != 0
|
187
|
+
end
|
165
188
|
|
166
|
-
|
167
|
-
Dir.entries(dir).delete_if {|entry| entry =~ /^\.(\.?|svn)$/}.sort
|
168
|
-
}
|
189
|
+
private
|
169
190
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
191
|
+
def sync_dirs(source_dir, target_dir)
|
192
|
+
# Assumes a directory will never turn into a file and vice-versa
|
193
|
+
# (files will all end in .rb, directories won't).
|
194
|
+
|
195
|
+
source_entries, target_entries = [source_dir, target_dir].collect do |dir|
|
196
|
+
Dir.entries(dir).delete_if {|entry| entry =~ /\A\./}.sort
|
197
|
+
end
|
198
|
+
|
199
|
+
until source_entries.empty? || target_entries.empty?
|
200
|
+
last_source = source_entries.last
|
201
|
+
last_target = target_entries.last
|
202
|
+
|
203
|
+
if last_source == last_target
|
204
|
+
source_file = File.join(source_dir, last_source)
|
205
|
+
target_file = File.join(target_dir, last_target)
|
206
|
+
|
207
|
+
if File.directory?(source_file)
|
208
|
+
sync_dirs(source_file, target_file)
|
209
|
+
else
|
210
|
+
FileUtils.cp(source_file, target_file)
|
211
|
+
end
|
212
|
+
|
213
|
+
source_entries.pop
|
214
|
+
target_entries.pop
|
215
|
+
elsif source_entries.last < target_entries.last
|
216
|
+
sync_only_in_target(target_dir, target_entries)
|
217
|
+
else
|
218
|
+
sync_only_in_source(source_dir, target_dir, source_entries)
|
219
|
+
end
|
220
|
+
end
|
174
221
|
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
FileUtils.cp(source_file, target_file)
|
179
|
-
end
|
222
|
+
until target_entries.empty?
|
223
|
+
sync_only_in_target(target_dir, target_entries)
|
224
|
+
end
|
180
225
|
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
226
|
+
until source_entries.empty?
|
227
|
+
sync_only_in_source(source_dir, target_dir, source_entries)
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
231
|
+
def sync_only_in_target(target_dir, target_entries)
|
232
|
+
target_file = File.join(target_dir, target_entries.last)
|
233
|
+
delete(target_file)
|
234
|
+
target_entries.pop
|
235
|
+
end
|
236
|
+
|
237
|
+
def sync_only_in_source(source_dir, target_dir, source_entries)
|
238
|
+
source_file = File.join(source_dir, source_entries.last)
|
239
|
+
target_file = File.join(target_dir, source_entries.last)
|
240
|
+
|
241
|
+
if File.directory?(source_file)
|
242
|
+
Dir.mkdir(target_file)
|
243
|
+
add(target_file)
|
244
|
+
sync_dirs(source_file, target_file)
|
245
|
+
else
|
246
|
+
FileUtils.cp(source_file, target_file)
|
247
|
+
add(target_file)
|
248
|
+
end
|
249
|
+
|
250
|
+
source_entries.pop
|
251
|
+
end
|
252
|
+
end
|
253
|
+
|
254
|
+
class NullScm < Scm
|
255
|
+
def command
|
256
|
+
nil
|
188
257
|
end
|
189
258
|
|
190
|
-
|
191
|
-
sync_svn_only_in_target(target_dir, target_entries)
|
259
|
+
def add(file)
|
192
260
|
end
|
193
261
|
|
194
|
-
|
195
|
-
|
262
|
+
def delete(file)
|
263
|
+
puts "rm -rf \"#{file}\""
|
264
|
+
FileUtils.rm_rf(file)
|
196
265
|
end
|
197
266
|
end
|
198
267
|
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
268
|
+
class GitScm < Scm
|
269
|
+
def command
|
270
|
+
'git'
|
271
|
+
end
|
272
|
+
|
273
|
+
def add(file)
|
274
|
+
unless File.directory?(file)
|
275
|
+
exec_scm "add \"#{file}\""
|
276
|
+
end
|
277
|
+
end
|
278
|
+
|
279
|
+
def delete(file)
|
280
|
+
exec_scm "rm -rf \"#{file}\""
|
281
|
+
end
|
203
282
|
end
|
204
283
|
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
sync_svn(source_file, target_file)
|
213
|
-
else
|
214
|
-
FileUtils.cp(source_file, target_file)
|
215
|
-
exec_svn "add \"#{target_file}\""
|
284
|
+
class SvnScm < Scm
|
285
|
+
def command
|
286
|
+
'svn'
|
287
|
+
end
|
288
|
+
|
289
|
+
def add(file)
|
290
|
+
exec_scm "add \"#{file}\""
|
216
291
|
end
|
217
292
|
|
218
|
-
|
293
|
+
def delete(file)
|
294
|
+
exec_scm "delete --force \"#{file}\""
|
295
|
+
end
|
219
296
|
end
|
220
297
|
|
221
|
-
def exec_svn(params)
|
222
|
-
puts "svn #{params}"
|
223
|
-
`svn #{params}`
|
224
|
-
raise "SVN exited with status #$?" if $? != 0
|
225
|
-
end
|
226
298
|
|
227
299
|
task :build_tz_module do
|
228
300
|
require 'lib/tzinfo/tzdataparser'
|
data/lib/tzinfo/country.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2005-
|
2
|
+
# Copyright (c) 2005-2013 Philip Ross
|
3
3
|
#
|
4
4
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
5
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -36,9 +36,13 @@ module TZInfo
|
|
36
36
|
include Comparable
|
37
37
|
|
38
38
|
# Defined countries.
|
39
|
+
#
|
40
|
+
# @!visibility private
|
39
41
|
@@countries = {}
|
40
42
|
|
41
43
|
# Whether the countries index has been loaded yet.
|
44
|
+
#
|
45
|
+
# @!visibility private
|
42
46
|
@@index_loaded = false
|
43
47
|
|
44
48
|
# Gets a Country by its ISO 3166 code. Raises an InvalidCountryCode
|
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2006-
|
2
|
+
# Copyright (c) 2006-2013 Philip Ross
|
3
3
|
#
|
4
4
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
5
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -23,6 +23,8 @@
|
|
23
23
|
module TZInfo
|
24
24
|
# The country index file includes CountryIndexDefinition which provides
|
25
25
|
# a country method used to define each country in the index.
|
26
|
+
#
|
27
|
+
# @private
|
26
28
|
module CountryIndexDefinition #:nodoc:
|
27
29
|
def self.append_features(base)
|
28
30
|
super
|
@@ -30,6 +32,9 @@ module TZInfo
|
|
30
32
|
base.instance_eval { @countries = {} }
|
31
33
|
end
|
32
34
|
|
35
|
+
# Class methods for inclusion.
|
36
|
+
#
|
37
|
+
# @private
|
33
38
|
module ClassMethods #:nodoc:
|
34
39
|
# Defines a country with an ISO 3166 country code, name and block. The
|
35
40
|
# block will be evaluated to obtain all the timezones for the country.
|
data/lib/tzinfo/country_info.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2006-
|
2
|
+
# Copyright (c) 2006-2013 Philip Ross
|
3
3
|
#
|
4
4
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
5
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -23,6 +23,8 @@
|
|
23
23
|
module TZInfo
|
24
24
|
# Class to store the data loaded from the country index. Instances of this
|
25
25
|
# class are passed to the blocks in the index that define timezones.
|
26
|
+
#
|
27
|
+
# @private
|
26
28
|
class CountryInfo #:nodoc:
|
27
29
|
attr_reader :code
|
28
30
|
attr_reader :name
|
data/lib/tzinfo/data_timezone.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2006-
|
2
|
+
# Copyright (c) 2006-2013 Philip Ross
|
3
3
|
#
|
4
4
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
5
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -23,6 +23,8 @@
|
|
23
23
|
module TZInfo
|
24
24
|
|
25
25
|
# A Timezone based on a DataTimezoneInfo.
|
26
|
+
#
|
27
|
+
# @private
|
26
28
|
class DataTimezone < InfoTimezone #:nodoc:
|
27
29
|
|
28
30
|
# Returns the TimezonePeriod for the given UTC time. utc can either be
|
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2006-
|
2
|
+
# Copyright (c) 2006-2013 Philip Ross
|
3
3
|
#
|
4
4
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
5
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -27,6 +27,8 @@ module TZInfo
|
|
27
27
|
end
|
28
28
|
|
29
29
|
# Represents a (non-linked) timezone defined in a data module.
|
30
|
+
#
|
31
|
+
# @private
|
30
32
|
class DataTimezoneInfo < TimezoneInfo #:nodoc:
|
31
33
|
|
32
34
|
# Constructs a new TimezoneInfo with its identifier.
|
@@ -42,95 +42,76 @@ module TZInfo
|
|
42
42
|
tz.transition 2012, 8, :o2, 1345428000
|
43
43
|
tz.transition 2012, 9, :o1, 1348970400
|
44
44
|
tz.transition 2013, 4, :o2, 1367114400
|
45
|
-
tz.transition 2013, 7, :o1,
|
46
|
-
tz.transition 2013, 8, :o2,
|
47
|
-
tz.transition 2013,
|
48
|
-
tz.transition 2014,
|
45
|
+
tz.transition 2013, 7, :o1, 1373162400
|
46
|
+
tz.transition 2013, 8, :o2, 1376100000
|
47
|
+
tz.transition 2013, 10, :o1, 1382839200
|
48
|
+
tz.transition 2014, 3, :o2, 1396144800
|
49
49
|
tz.transition 2014, 6, :o1, 1404007200
|
50
50
|
tz.transition 2014, 7, :o2, 1406599200
|
51
|
-
tz.transition 2014,
|
52
|
-
tz.transition 2015,
|
51
|
+
tz.transition 2014, 10, :o1, 1414288800
|
52
|
+
tz.transition 2015, 3, :o2, 1427594400
|
53
53
|
tz.transition 2015, 6, :o1, 1434592800
|
54
54
|
tz.transition 2015, 7, :o2, 1437184800
|
55
|
-
tz.transition 2015,
|
56
|
-
tz.transition 2016,
|
55
|
+
tz.transition 2015, 10, :o1, 1445738400
|
56
|
+
tz.transition 2016, 3, :o2, 1459044000
|
57
57
|
tz.transition 2016, 6, :o1, 1465264800
|
58
58
|
tz.transition 2016, 7, :o2, 1467856800
|
59
|
-
tz.transition 2016,
|
60
|
-
tz.transition 2017,
|
59
|
+
tz.transition 2016, 10, :o1, 1477792800
|
60
|
+
tz.transition 2017, 3, :o2, 1490493600
|
61
61
|
tz.transition 2017, 5, :o1, 1495850400
|
62
62
|
tz.transition 2017, 6, :o2, 1498442400
|
63
|
-
tz.transition 2017,
|
64
|
-
tz.transition 2018,
|
63
|
+
tz.transition 2017, 10, :o1, 1509242400
|
64
|
+
tz.transition 2018, 3, :o2, 1521943200
|
65
65
|
tz.transition 2018, 5, :o1, 1526436000
|
66
66
|
tz.transition 2018, 6, :o2, 1529028000
|
67
|
-
tz.transition 2018,
|
68
|
-
tz.transition 2019,
|
67
|
+
tz.transition 2018, 10, :o1, 1540692000
|
68
|
+
tz.transition 2019, 3, :o2, 1553997600
|
69
69
|
tz.transition 2019, 5, :o1, 1557108000
|
70
70
|
tz.transition 2019, 6, :o2, 1559700000
|
71
|
-
tz.transition 2019,
|
71
|
+
tz.transition 2019, 10, :o1, 1572141600
|
72
|
+
tz.transition 2020, 3, :o2, 1585447200
|
73
|
+
tz.transition 2020, 4, :o1, 1587693600
|
72
74
|
tz.transition 2020, 5, :o2, 1590285600
|
73
|
-
tz.transition 2020,
|
75
|
+
tz.transition 2020, 10, :o1, 1603591200
|
76
|
+
tz.transition 2021, 3, :o2, 1616896800
|
77
|
+
tz.transition 2021, 4, :o1, 1618279200
|
74
78
|
tz.transition 2021, 5, :o2, 1620871200
|
75
|
-
tz.transition 2021,
|
79
|
+
tz.transition 2021, 10, :o1, 1635645600
|
80
|
+
tz.transition 2022, 3, :o2, 1648346400
|
81
|
+
tz.transition 2022, 4, :o1, 1648951200
|
76
82
|
tz.transition 2022, 5, :o2, 1651543200
|
77
|
-
tz.transition 2022,
|
78
|
-
tz.transition 2023, 4, :o2,
|
79
|
-
tz.transition 2023,
|
80
|
-
tz.transition 2024, 4, :o2,
|
81
|
-
tz.transition 2024,
|
82
|
-
tz.transition 2025,
|
83
|
-
tz.transition 2025,
|
84
|
-
tz.transition 2026,
|
85
|
-
tz.transition 2026,
|
86
|
-
tz.transition 2027,
|
87
|
-
tz.transition 2027,
|
88
|
-
tz.transition 2028,
|
89
|
-
tz.transition 2028,
|
90
|
-
tz.transition 2029,
|
91
|
-
tz.transition 2029,
|
92
|
-
tz.transition 2030,
|
93
|
-
tz.transition 2030,
|
94
|
-
tz.transition 2031,
|
95
|
-
tz.transition 2031,
|
96
|
-
tz.transition 2032,
|
97
|
-
tz.transition 2032,
|
98
|
-
tz.transition 2033,
|
99
|
-
tz.transition 2033,
|
100
|
-
tz.transition 2034,
|
101
|
-
tz.transition 2034,
|
102
|
-
tz.transition 2035,
|
103
|
-
tz.transition 2035,
|
104
|
-
tz.transition 2036,
|
105
|
-
tz.transition 2036,
|
106
|
-
tz.transition 2037,
|
107
|
-
tz.transition 2037,
|
108
|
-
tz.transition 2038,
|
109
|
-
tz.transition 2038, 9, :o1, 29588311, 12
|
110
|
-
tz.transition 2039, 4, :o2, 29590831, 12
|
111
|
-
tz.transition 2039, 9, :o1, 29592679, 12
|
112
|
-
tz.transition 2040, 4, :o2, 29595283, 12
|
113
|
-
tz.transition 2040, 9, :o1, 29597131, 12
|
114
|
-
tz.transition 2041, 4, :o2, 29599651, 12
|
115
|
-
tz.transition 2041, 9, :o1, 29601499, 12
|
116
|
-
tz.transition 2042, 4, :o2, 29604019, 12
|
117
|
-
tz.transition 2042, 9, :o1, 29605867, 12
|
118
|
-
tz.transition 2043, 4, :o2, 29608387, 12
|
119
|
-
tz.transition 2043, 9, :o1, 29610235, 12
|
120
|
-
tz.transition 2044, 4, :o2, 29612755, 12
|
121
|
-
tz.transition 2044, 9, :o1, 29614603, 12
|
122
|
-
tz.transition 2045, 4, :o2, 29617207, 12
|
123
|
-
tz.transition 2045, 9, :o1, 29618971, 12
|
124
|
-
tz.transition 2046, 4, :o2, 29621575, 12
|
125
|
-
tz.transition 2046, 9, :o1, 29623423, 12
|
126
|
-
tz.transition 2047, 4, :o2, 29625943, 12
|
127
|
-
tz.transition 2047, 9, :o1, 29627791, 12
|
128
|
-
tz.transition 2048, 4, :o2, 29630311, 12
|
129
|
-
tz.transition 2048, 9, :o1, 29632159, 12
|
130
|
-
tz.transition 2049, 4, :o2, 29634679, 12
|
131
|
-
tz.transition 2049, 9, :o1, 29636527, 12
|
132
|
-
tz.transition 2050, 4, :o2, 29639047, 12
|
133
|
-
tz.transition 2050, 9, :o1, 29640895, 12
|
83
|
+
tz.transition 2022, 10, :o1, 1667095200
|
84
|
+
tz.transition 2023, 4, :o2, 1682128800
|
85
|
+
tz.transition 2023, 10, :o1, 1698544800
|
86
|
+
tz.transition 2024, 4, :o2, 1712714400
|
87
|
+
tz.transition 2024, 10, :o1, 1729994400
|
88
|
+
tz.transition 2025, 3, :o2, 1743386400
|
89
|
+
tz.transition 2025, 10, :o1, 1761444000
|
90
|
+
tz.transition 2026, 3, :o2, 1774749600
|
91
|
+
tz.transition 2026, 10, :o1, 1792893600
|
92
|
+
tz.transition 2027, 3, :o2, 1806199200
|
93
|
+
tz.transition 2027, 10, :o1, 1824948000
|
94
|
+
tz.transition 2028, 3, :o2, 1837648800
|
95
|
+
tz.transition 2028, 10, :o1, 1856397600
|
96
|
+
tz.transition 2029, 3, :o2, 1869098400
|
97
|
+
tz.transition 2029, 10, :o1, 1887847200
|
98
|
+
tz.transition 2030, 3, :o2, 1901152800
|
99
|
+
tz.transition 2030, 10, :o1, 1919296800
|
100
|
+
tz.transition 2031, 3, :o2, 1932602400
|
101
|
+
tz.transition 2031, 10, :o1, 1950746400
|
102
|
+
tz.transition 2032, 3, :o2, 1964052000
|
103
|
+
tz.transition 2032, 10, :o1, 1982800800
|
104
|
+
tz.transition 2033, 3, :o2, 1995501600
|
105
|
+
tz.transition 2033, 10, :o1, 2014250400
|
106
|
+
tz.transition 2034, 3, :o2, 2026951200
|
107
|
+
tz.transition 2034, 10, :o1, 2045700000
|
108
|
+
tz.transition 2035, 3, :o2, 2058400800
|
109
|
+
tz.transition 2035, 10, :o1, 2077149600
|
110
|
+
tz.transition 2036, 3, :o2, 2090455200
|
111
|
+
tz.transition 2036, 10, :o1, 2108167200
|
112
|
+
tz.transition 2037, 3, :o2, 2121904800
|
113
|
+
tz.transition 2037, 10, :o1, 2138839200
|
114
|
+
tz.transition 2038, 3, :o2, 29586127, 12
|
134
115
|
end
|
135
116
|
end
|
136
117
|
end
|