summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
Diffstat (limited to 'library')
-rw-r--r--library/auto.tcl285
-rw-r--r--library/clock.tcl1083
-rw-r--r--library/dde/pkgIndex.tcl8
-rw-r--r--library/history.tcl300
-rw-r--r--library/http/http.tcl380
-rw-r--r--library/http/pkgIndex.tcl6
-rw-r--r--library/http1.0/http.tcl2
-rw-r--r--library/init.tcl127
-rw-r--r--library/msgcat/msgcat.tcl191
-rw-r--r--library/msgcat/pkgIndex.tcl2
-rwxr-xr-xlibrary/msgs/he.msg4
-rwxr-xr-xlibrary/msgs/uk.msg2
-rw-r--r--library/opt/optparse.tcl2
-rw-r--r--library/package.tcl276
-rw-r--r--library/parray.tcl2
-rw-r--r--library/platform/pkgIndex.tcl2
-rw-r--r--library/platform/platform.tcl141
-rw-r--r--library/platform/shell.tcl9
-rwxr-xr-xlibrary/reg/pkgIndex.tcl8
-rw-r--r--library/safe.tcl1798
-rw-r--r--library/tcltest/pkgIndex.tcl2
-rw-r--r--library/tcltest/tcltest.tcl249
-rw-r--r--library/tm.tcl241
-rw-r--r--library/tzdata/Africa/Cairo186
-rw-r--r--library/tzdata/Africa/Casablanca196
-rw-r--r--library/tzdata/Africa/Dar_es_Salaam4
-rw-r--r--library/tzdata/Africa/Gaborone3
-rw-r--r--library/tzdata/Africa/Juba39
-rw-r--r--library/tzdata/Africa/Kampala4
-rw-r--r--library/tzdata/Africa/Nairobi4
-rw-r--r--library/tzdata/Africa/Tripoli177
-rw-r--r--library/tzdata/Africa/Tunis180
-rw-r--r--library/tzdata/America/Araguaina175
-rw-r--r--library/tzdata/America/Argentina/Buenos_Aires181
-rw-r--r--library/tzdata/America/Argentina/Cordoba181
-rw-r--r--library/tzdata/America/Argentina/San_Luis189
-rw-r--r--library/tzdata/America/Argentina/Tucuman181
-rw-r--r--library/tzdata/America/Asuncion360
-rwxr-xr-xlibrary/tzdata/America/Atikokan2
-rw-r--r--library/tzdata/America/Bahia3
-rw-r--r--library/tzdata/America/Bahia_Banderas222
-rw-r--r--library/tzdata/America/Barbados6
-rwxr-xr-xlibrary/tzdata/America/Blanc-Sablon2
-rw-r--r--library/tzdata/America/Bogota6
-rw-r--r--library/tzdata/America/Costa_Rica6
-rw-r--r--library/tzdata/America/Creston8
-rw-r--r--library/tzdata/America/Curacao4
-rw-r--r--library/tzdata/America/Dawson_Creek2
-rw-r--r--library/tzdata/America/Edmonton2
-rw-r--r--library/tzdata/America/Glace_Bay2
-rw-r--r--library/tzdata/America/Goose_Bay357
-rw-r--r--library/tzdata/America/Halifax2
-rw-r--r--library/tzdata/America/Havana182
-rw-r--r--library/tzdata/America/Juneau5
-rw-r--r--library/tzdata/America/Kralendijk5
-rw-r--r--library/tzdata/America/Lower_Princes5
-rw-r--r--library/tzdata/America/Matamoros219
-rw-r--r--library/tzdata/America/Metlakatla43
-rwxr-xr-xlibrary/tzdata/America/Moncton2
-rw-r--r--library/tzdata/America/Montreal2
-rw-r--r--library/tzdata/America/Nassau4
-rw-r--r--library/tzdata/America/Nipigon2
-rw-r--r--library/tzdata/America/North_Dakota/Beulah279
-rw-r--r--library/tzdata/America/Ojinaga222
-rw-r--r--library/tzdata/America/Port-au-Prince176
-rw-r--r--library/tzdata/America/Rainy_River2
-rw-r--r--library/tzdata/America/Regina2
-rwxr-xr-xlibrary/tzdata/America/Resolute373
-rw-r--r--library/tzdata/America/Santa_Isabel284
-rw-r--r--library/tzdata/America/Santiago358
-rw-r--r--library/tzdata/America/Sitka275
-rw-r--r--library/tzdata/America/St_Johns357
-rw-r--r--library/tzdata/America/Swift_Current2
-rw-r--r--library/tzdata/America/Tijuana361
-rw-r--r--library/tzdata/America/Toronto2
-rw-r--r--library/tzdata/America/Vancouver2
-rw-r--r--library/tzdata/America/Winnipeg2
-rw-r--r--library/tzdata/Antarctica/Casey4
-rw-r--r--library/tzdata/Antarctica/Davis4
-rw-r--r--library/tzdata/Antarctica/Macquarie97
-rw-r--r--library/tzdata/Antarctica/Mawson1
-rw-r--r--library/tzdata/Antarctica/Palmer360
-rw-r--r--library/tzdata/Asia/Aden4
-rw-r--r--library/tzdata/Asia/Amman3
-rw-r--r--library/tzdata/Asia/Anadyr184
-rw-r--r--library/tzdata/Asia/Damascus186
-rw-r--r--library/tzdata/Asia/Dhaka3
-rw-r--r--library/tzdata/Asia/Gaza217
-rw-r--r--library/tzdata/Asia/Hebron277
-rw-r--r--library/tzdata/Asia/Hong_Kong17
-rw-r--r--library/tzdata/Asia/Irkutsk179
-rw-r--r--library/tzdata/Asia/Jerusalem198
-rw-r--r--library/tzdata/Asia/Kamchatka184
-rw-r--r--library/tzdata/Asia/Khandyga72
-rw-r--r--library/tzdata/Asia/Krasnoyarsk179
-rw-r--r--library/tzdata/Asia/Magadan179
-rw-r--r--library/tzdata/Asia/Muscat4
-rw-r--r--library/tzdata/Asia/Novokuznetsk71
-rw-r--r--library/tzdata/Asia/Novosibirsk179
-rw-r--r--library/tzdata/Asia/Omsk179
-rw-r--r--library/tzdata/Asia/Rangoon4
-rw-r--r--library/tzdata/Asia/Sakhalin179
-rw-r--r--library/tzdata/Asia/Shanghai4
-rw-r--r--library/tzdata/Asia/Taipei4
-rw-r--r--library/tzdata/Asia/Ust-Nera70
-rw-r--r--library/tzdata/Asia/Vladivostok179
-rw-r--r--library/tzdata/Asia/Yakutsk179
-rw-r--r--library/tzdata/Asia/Yekaterinburg179
-rw-r--r--library/tzdata/Asia/Yerevan177
-rw-r--r--library/tzdata/Atlantic/Bermuda4
-rw-r--r--library/tzdata/Atlantic/Stanley180
-rw-r--r--library/tzdata/Europe/Busingen5
-rw-r--r--library/tzdata/Europe/Helsinki10
-rw-r--r--library/tzdata/Europe/Istanbul3
-rw-r--r--library/tzdata/Europe/Kaliningrad179
-rw-r--r--library/tzdata/Europe/Minsk179
-rw-r--r--library/tzdata/Europe/Moscow179
-rw-r--r--library/tzdata/Europe/Samara184
-rw-r--r--library/tzdata/Europe/Vienna4
-rwxr-xr-xlibrary/tzdata/Europe/Volgograd179
-rw-r--r--library/tzdata/Pacific/Apia180
-rw-r--r--library/tzdata/Pacific/Chuuk6
-rw-r--r--library/tzdata/Pacific/Easter358
-rw-r--r--library/tzdata/Pacific/Fakaofo3
-rw-r--r--library/tzdata/Pacific/Fiji185
-rw-r--r--library/tzdata/Pacific/Honolulu7
-rw-r--r--library/tzdata/Pacific/Pohnpei6
-rw-r--r--library/tzdata/Pacific/Ponape7
-rw-r--r--library/tzdata/Pacific/Truk7
-rw-r--r--library/tzdata/Pacific/Yap6
-rw-r--r--library/word.tcl16
131 files changed, 8464 insertions, 8149 deletions
diff --git a/library/auto.tcl b/library/auto.tcl
index f7cf5f0..42ffa72 100644
--- a/library/auto.tcl
+++ b/library/auto.tcl
@@ -1,48 +1,47 @@
# auto.tcl --
#
-# utility procs formerly in init.tcl dealing with auto execution
-# of commands and can be auto loaded themselves.
+# utility procs formerly in init.tcl dealing with auto execution of commands
+# and can be auto loaded themselves.
+#
+# RCS: @(#) $Id: auto.tcl,v 1.30 2009/07/26 21:48:45 dkf Exp $
#
# Copyright (c) 1991-1993 The Regents of the University of California.
# Copyright (c) 1994-1998 Sun Microsystems, Inc.
#
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+# See the file "license.terms" for information on usage and redistribution of
+# this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# auto_reset --
#
-# Destroy all cached information for auto-loading and auto-execution,
-# so that the information gets recomputed the next time it's needed.
-# Also delete any commands that are listed in the auto-load index.
+# Destroy all cached information for auto-loading and auto-execution, so that
+# the information gets recomputed the next time it's needed. Also delete any
+# commands that are listed in the auto-load index.
#
# Arguments:
# None.
proc auto_reset {} {
- global auto_execs auto_index auto_path
- if {[array exists auto_index]} {
- foreach cmdName [array names auto_index] {
+ if {[array exists ::auto_index]} {
+ foreach cmdName [array names ::auto_index] {
set fqcn [namespace which $cmdName]
if {$fqcn eq ""} {continue}
rename $fqcn {}
}
}
- unset -nocomplain auto_execs auto_index ::tcl::auto_oldpath
- if {[catch {llength $auto_path}]} {
- set auto_path [list [info library]]
- } else {
- if {[info library] ni $auto_path} {
- lappend auto_path [info library]
- }
+ unset -nocomplain ::auto_execs ::auto_index ::tcl::auto_oldpath
+ if {[catch {llength $::auto_path}]} {
+ set ::auto_path [list [info library]]
+ } elseif {[info library] ni $::auto_path} {
+ lappend ::auto_path [info library]
}
}
# tcl_findLibrary --
#
# This is a utility for extensions that searches for a library directory
-# using a canonical searching algorithm. A side effect is to source
-# the initialization script and set a global library variable.
+# using a canonical searching algorithm. A side effect is to source the
+# initialization script and set a global library variable.
#
# Arguments:
# basename Prefix of the directory name, (e.g., "tk")
@@ -54,7 +53,7 @@ proc auto_reset {} {
proc tcl_findLibrary {basename version patch initScript enVarName varName} {
upvar #0 $varName the_library
- global auto_path env tcl_platform
+ global env
set dirs {}
set errors {}
@@ -64,33 +63,32 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} {
if {[info exists the_library] && $the_library ne ""} {
lappend dirs $the_library
} else {
-
# Do the canonical search
- # 1. From an environment variable, if it exists.
- # Placing this first gives the end-user ultimate control
- # to work-around any bugs, or to customize.
+ # 1. From an environment variable, if it exists. Placing this first
+ # gives the end-user ultimate control to work-around any bugs, or
+ # to customize.
if {[info exists env($enVarName)]} {
lappend dirs $env($enVarName)
}
- # 2. In the package script directory registered within
- # the configuration of the package itself.
+ # 2. In the package script directory registered within the
+ # configuration of the package itself.
- if {[catch {
- ::${basename}::pkgconfig get scriptdir,runtime
- } value] == 0} {
- lappend dirs $value
+ catch {
+ lappend dirs [::${basename}::pkgconfig get scriptdir,runtime]
}
# 3. Relative to auto_path directories. This checks relative to the
# Tcl library as well as allowing loading of libraries added to the
# auto_path that is not relative to the core library or binary paths.
- foreach d $auto_path {
+ foreach d $::auto_path {
lappend dirs [file join $d $basename$version]
- if {$tcl_platform(platform) eq "unix"
- && $tcl_platform(os) eq "Darwin"} {
+ if {
+ $::tcl_platform(platform) eq "unix"
+ && $::tcl_platform(os) eq "Darwin"
+ } then {
# 4. On MacOSX, check the Resources/Scripts subdir too
lappend dirs [file join $d $basename$version Resources Scripts]
}
@@ -101,8 +99,8 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} {
# ../../lib/foo1.0 (From bin/arch directory in install hierarchy)
# ../library (From unix directory in build hierarchy)
#
- # Remaining locations are out of date (when relevant, they ought
- # to be covered by the $::auto_path seach above) and disabled.
+ # Remaining locations are out of date (when relevant, they ought to be
+ # covered by the $::auto_path seach above) and disabled.
#
# ../../library (From unix/arch directory in build hierarchy)
# ../../foo1.0.1/library
@@ -125,10 +123,10 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} {
# uniquify $dirs in order
array set seen {}
foreach i $dirs {
- # Take note that the [file normalize] below has been noted to
- # cause difficulties for the freewrap utility. See Bug 1072136.
- # Until freewrap resolves the matter, one might work around the
- # problem by disabling that branch.
+ # Take note that the [file normalize] below has been noted to cause
+ # difficulties for the freewrap utility. See Bug 1072136. Until
+ # freewrap resolves the matter, one might work around the problem by
+ # disabling that branch.
if {[interp issafe]} {
set norm $i
} else {
@@ -143,16 +141,15 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} {
set the_library $i
set file [file join $i $initScript]
- # source everything when in a safe interpreter because
- # we have a source command, but no file exists command
+ # source everything when in a safe interpreter because we have a
+ # source command, but no file exists command
if {[interp issafe] || [file exists $file]} {
if {![catch {uplevel #0 [list source $file]} msg opts]} {
return
- } else {
- append errors "$file: $msg\n"
- append errors [dict get $opts -errorinfo]\n
}
+ append errors "$file: $msg\n"
+ append errors [dict get $opts -errorinfo]\n
}
}
unset -nocomplain the_library
@@ -167,28 +164,28 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} {
# ----------------------------------------------------------------------
# auto_mkindex
# ----------------------------------------------------------------------
-# The following procedures are used to generate the tclIndex file
-# from Tcl source files. They use a special safe interpreter to
-# parse Tcl source files, writing out index entries as "proc"
-# commands are encountered. This implementation won't work in a
-# safe interpreter, since a safe interpreter can't create the
-# special parser and mess with its commands.
+# The following procedures are used to generate the tclIndex file from Tcl
+# source files. They use a special safe interpreter to parse Tcl source
+# files, writing out index entries as "proc" commands are encountered. This
+# implementation won't work in a safe interpreter, since a safe interpreter
+# can't create the special parser and mess with its commands.
if {[interp issafe]} {
return ;# Stop sourcing the file here
}
# auto_mkindex --
-# Regenerate a tclIndex file from Tcl source files. Takes as argument
-# the name of the directory in which the tclIndex file is to be placed,
-# followed by any number of glob patterns to use in that directory to
-# locate all of the relevant files.
+# Regenerate a tclIndex file from Tcl source files. Takes as argument the
+# name of the directory in which the tclIndex file is to be placed, followed
+# by any number of glob patterns to use in that directory to locate all of the
+# relevant files.
#
# Arguments:
# dir - Name of the directory in which to create an index.
-# args - Any number of additional arguments giving the
-# names of files within dir. If no additional
-# are given auto_mkindex will look for *.tcl.
+
+# args - Any number of additional arguments giving the names of files
+# within dir. If no additional are given auto_mkindex will look
+# for *.tcl.
proc auto_mkindex {dir args} {
if {[interp issafe]} {
@@ -197,7 +194,6 @@ proc auto_mkindex {dir args} {
set oldDir [pwd]
cd $dir
- set dir [pwd]
append index "# Tcl autoload index file, version 2.0\n"
append index "# This file is generated by the \"auto_mkindex\" command\n"
@@ -212,12 +208,12 @@ proc auto_mkindex {dir args} {
auto_mkindex_parser::init
foreach file [glob -- {*}$args] {
- if {[catch {auto_mkindex_parser::mkindex $file} msg opts] == 0} {
- append index $msg
- } else {
- cd $oldDir
+ try {
+ append index [auto_mkindex_parser::mkindex $file]
+ } on error {msg opts} {
+ cd $oldDir
return -options $opts $msg
- }
+ }
}
auto_mkindex_parser::cleanup
@@ -227,8 +223,8 @@ proc auto_mkindex {dir args} {
cd $oldDir
}
-# Original version of auto_mkindex that just searches the source
-# code for "proc" at the beginning of the line.
+# Original version of auto_mkindex that just searches the source code for
+# "proc" at the beginning of the line.
proc auto_mkindex_old {dir args} {
set oldDir [pwd]
@@ -279,9 +275,9 @@ proc auto_mkindex_old {dir args} {
}
# Create a safe interpreter that can be used to parse Tcl source files
-# generate a tclIndex file for autoloading. This interp contains
-# commands for things that need index entries. Each time a command
-# is executed, it writes an entry out to the index file.
+# generate a tclIndex file for autoloading. This interp contains commands for
+# things that need index entries. Each time a command is executed, it writes
+# an entry out to the index file.
namespace eval auto_mkindex_parser {
variable parser "" ;# parser used to build index
@@ -333,10 +329,10 @@ namespace eval auto_mkindex_parser {
# auto_mkindex_parser::mkindex --
#
-# Used by the "auto_mkindex" command to create a "tclIndex" file for
-# the given Tcl source file. Executes the commands in the file, and
-# handles things like the "proc" command by adding an entry for the
-# index file. Returns a string that represents the index file.
+# Used by the "auto_mkindex" command to create a "tclIndex" file for the given
+# Tcl source file. Executes the commands in the file, and handles things like
+# the "proc" command by adding an entry for the index file. Returns a string
+# that represents the index file.
#
# Arguments:
# file Name of Tcl source file to be indexed.
@@ -354,14 +350,13 @@ proc auto_mkindex_parser::mkindex {file} {
set contents [read $fid]
close $fid
- # There is one problem with sourcing files into the safe
- # interpreter: references like "$x" will fail since code is not
- # really being executed and variables do not really exist.
- # To avoid this, we replace all $ with \0 (literally, the null char)
- # later, when getting proc names we will have to reverse this replacement,
- # in case there were any $ in the proc name. This will cause a problem
- # if somebody actually tries to have a \0 in their proc name. Too bad
- # for them.
+ # There is one problem with sourcing files into the safe interpreter:
+ # references like "$x" will fail since code is not really being executed
+ # and variables do not really exist. To avoid this, we replace all $ with
+ # \0 (literally, the null char) later, when getting proc names we will
+ # have to reverse this replacement, in case there were any $ in the proc
+ # name. This will cause a problem if somebody actually tries to have a \0
+ # in their proc name. Too bad for them.
set contents [string map [list \$ \0] $contents]
set index ""
@@ -378,10 +373,10 @@ proc auto_mkindex_parser::mkindex {file} {
# auto_mkindex_parser::hook command
#
-# Registers a Tcl command to evaluate when initializing the
-# slave interpreter used by the mkindex parser.
-# The command is evaluated in the master interpreter, and can
-# use the variable auto_mkindex_parser::parser to get to the slave
+# Registers a Tcl command to evaluate when initializing the slave interpreter
+# used by the mkindex parser. The command is evaluated in the master
+# interpreter, and can use the variable auto_mkindex_parser::parser to get to
+# the slave
proc auto_mkindex_parser::hook {cmd} {
variable initCommands
@@ -391,30 +386,30 @@ proc auto_mkindex_parser::hook {cmd} {
# auto_mkindex_parser::slavehook command
#
-# Registers a Tcl command to evaluate when initializing the
-# slave interpreter used by the mkindex parser.
-# The command is evaluated in the slave interpreter.
+# Registers a Tcl command to evaluate when initializing the slave interpreter
+# used by the mkindex parser. The command is evaluated in the slave
+# interpreter.
proc auto_mkindex_parser::slavehook {cmd} {
variable initCommands
- # The $parser variable is defined to be the name of the
- # slave interpreter when this command is used later.
+ # The $parser variable is defined to be the name of the slave interpreter
+ # when this command is used later.
lappend initCommands "\$parser eval [list $cmd]"
}
# auto_mkindex_parser::command --
#
-# Registers a new command with the "auto_mkindex_parser" interpreter
-# that parses Tcl files. These commands are fake versions of things
-# like the "proc" command. When you execute them, they simply write
-# out an entry to a "tclIndex" file for auto-loading.
+# Registers a new command with the "auto_mkindex_parser" interpreter that
+# parses Tcl files. These commands are fake versions of things like the
+# "proc" command. When you execute them, they simply write out an entry to a
+# "tclIndex" file for auto-loading.
#
-# This procedure allows extensions to register their own commands
-# with the auto_mkindex facility. For example, a package like
-# [incr Tcl] might register a "class" command so that class definitions
-# could be added to a "tclIndex" file for auto-loading.
+# This procedure allows extensions to register their own commands with the
+# auto_mkindex facility. For example, a package like [incr Tcl] might
+# register a "class" command so that class definitions could be added to a
+# "tclIndex" file for auto-loading.
#
# Arguments:
# name Name of command recognized in Tcl files.
@@ -427,8 +422,8 @@ proc auto_mkindex_parser::command {name arglist body} {
# auto_mkindex_parser::commandInit --
#
-# This does the actual work set up by auto_mkindex_parser::command
-# This is called when the interpreter used by the parser is created.
+# This does the actual work set up by auto_mkindex_parser::command. This is
+# called when the interpreter used by the parser is created.
#
# Arguments:
# name Name of command recognized in Tcl files.
@@ -447,25 +442,23 @@ proc auto_mkindex_parser::commandInit {name arglist body} {
}
proc $fakeName $arglist $body
- # YUK! Tcl won't let us alias fully qualified command names,
- # so we can't handle names like "::itcl::class". Instead,
- # we have to build procs with the fully qualified names, and
- # have the procs point to the aliases.
+ # YUK! Tcl won't let us alias fully qualified command names, so we can't
+ # handle names like "::itcl::class". Instead, we have to build procs with
+ # the fully qualified names, and have the procs point to the aliases.
if {[string match *::* $name]} {
set exportCmd [list _%@namespace export [namespace tail $name]]
$parser eval [list _%@namespace eval $ns $exportCmd]
- # The following proc definition does not work if you
- # want to tolerate space or something else diabolical
- # in the procedure name, (i.e., space in $alias)
- # The following does not work:
+ # The following proc definition does not work if you want to tolerate
+ # space or something else diabolical in the procedure name, (i.e.,
+ # space in $alias). The following does not work:
# "_%@eval {$alias} \$args"
- # because $alias gets concat'ed to $args.
- # The following does not work because $cmd is somehow undefined
+ # because $alias gets concat'ed to $args. The following does not work
+ # because $cmd is somehow undefined
# "set cmd {$alias} \; _%@eval {\$cmd} \$args"
- # A gold star to someone that can make test
- # autoMkindex-3.3 work properly
+ # A gold star to someone that can make test autoMkindex-3.3 work
+ # properly
set alias [namespace tail $fakeName]
$parser invokehidden proc $name {args} "_%@eval {$alias} \$args"
@@ -477,15 +470,14 @@ proc auto_mkindex_parser::commandInit {name arglist body} {
}
# auto_mkindex_parser::fullname --
-# Used by commands like "proc" within the auto_mkindex parser.
-# Returns the qualified namespace name for the "name" argument.
-# If the "name" does not start with "::", elements are added from
-# the current namespace stack to produce a qualified name. Then,
-# the name is examined to see whether or not it should really be
-# qualified. If the name has more than the leading "::", it is
-# returned as a fully qualified name. Otherwise, it is returned
-# as a simple name. That way, the Tcl autoloader will recognize
-# it properly.
+#
+# Used by commands like "proc" within the auto_mkindex parser. Returns the
+# qualified namespace name for the "name" argument. If the "name" does not
+# start with "::", elements are added from the current namespace stack to
+# produce a qualified name. Then, the name is examined to see whether or not
+# it should really be qualified. If the name has more than the leading "::",
+# it is returned as a fully qualified name. Otherwise, it is returned as a
+# simple name. That way, the Tcl autoloader will recognize it properly.
#
# Arguments:
# name - Name that is being added to index.
@@ -508,8 +500,8 @@ proc auto_mkindex_parser::fullname {name} {
set name "::$name"
}
- # Earlier, mkindex replaced all $'s with \0. Now, we have to reverse
- # that replacement.
+ # Earlier, mkindex replaced all $'s with \0. Now, we have to reverse that
+ # replacement.
return [string map [list \0 \$] $name]
}
@@ -517,8 +509,8 @@ if {[llength $::auto_mkindex_parser::initCommands]} {
return
}
-# Register all of the procedures for the auto_mkindex parser that
-# will build the "tclIndex" file.
+# Register all of the procedures for the auto_mkindex parser that will build
+# the "tclIndex" file.
# AUTO MKINDEX: proc name arglist body
# Adds an entry to the auto index list for the given procedure name.
@@ -535,17 +527,20 @@ auto_mkindex_parser::command proc {name args} {
[file split $scriptFile]] "\n"
}
-# Conditionally add support for Tcl byte code files. There are some
-# tricky details here. First, we need to get the tbcload library
-# initialized in the current interpreter. We cannot load tbcload into the
-# slave until we have done so because it needs access to the tcl_patchLevel
-# variable. Second, because the package index file may defer loading the
-# library until we invoke a command, we need to explicitly invoke auto_load
-# to force it to be loaded. This should be a noop if the package has
-# already been loaded
+# Conditionally add support for Tcl byte code files. There are some tricky
+# details here. First, we need to get the tbcload library initialized in the
+# current interpreter. We cannot load tbcload into the slave until we have
+# done so because it needs access to the tcl_patchLevel variable. Second,
+# because the package index file may defer loading the library until we invoke
+# a command, we need to explicitly invoke auto_load to force it to be loaded.
+# This should be a noop if the package has already been loaded
auto_mkindex_parser::hook {
- if {![catch {package require tbcload}]} {
+ try {
+ package require tbcload
+ } on error {} {
+ # OK, don't have it so do nothing
+ } on ok {} {
if {[namespace which -command tbcload::bcproc] eq ""} {
auto_load tbcload::bcproc
}
@@ -569,16 +564,15 @@ auto_mkindex_parser::hook {
}
# AUTO MKINDEX: namespace eval name command ?arg arg...?
-# Adds the namespace name onto the context stack and evaluates the
-# associated body of commands.
+# Adds the namespace name onto the context stack and evaluates the associated
+# body of commands.
#
# AUTO MKINDEX: namespace import ?-force? pattern ?pattern...?
-# Performs the "import" action in the parser interpreter. This is
-# important for any commands contained in a namespace that affect
-# the index. For example, a script may say "itcl::class ...",
-# or it may import "itcl::*" and then say "class ...". This
-# procedure does the import operation, but keeps track of imported
-# patterns so we can remove the imports later.
+# Performs the "import" action in the parser interpreter. This is important
+# for any commands contained in a namespace that affect the index. For
+# example, a script may say "itcl::class ...", or it may import "itcl::*" and
+# then say "class ...". This procedure does the import operation, but keeps
+# track of imported patterns so we can remove the imports later.
auto_mkindex_parser::command namespace {op args} {
switch -- $op {
@@ -603,15 +597,6 @@ auto_mkindex_parser::command namespace {op args} {
}
catch {$parser eval "_%@namespace import $args"}
}
- ensemble {
- variable parser
- variable contextStack
- if {[lindex $args 0] eq "create"} {
- set name ::[join [lreverse $contextStack] ::]
- # create artifical proc to force an entry in the tclIndex
- $parser eval [list ::proc $name {} {}]
- }
- }
}
}
diff --git a/library/clock.tcl b/library/clock.tcl
index 1f83716..36e3a4e 100644
--- a/library/clock.tcl
+++ b/library/clock.tcl
@@ -2,9 +2,9 @@
#
# clock.tcl --
#
-# This file implements the portions of the [clock] ensemble that
-# are coded in Tcl. Refer to the users' manual to see the description
-# of the [clock] command and its subcommands.
+# This file implements the portions of the [clock] ensemble that are
+# coded in Tcl. Refer to the users' manual to see the description of
+# the [clock] command and its subcommands.
#
#
#----------------------------------------------------------------------
@@ -13,10 +13,12 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
+# RCS: @(#) $Id: clock.tcl,v 1.54 2009/07/24 10:53:47 dkf Exp $
+#
#----------------------------------------------------------------------
-# We must have message catalogs that support the root locale, and
-# we need access to the Registry on Windows systems.
+# We must have message catalogs that support the root locale, and we need
+# access to the Registry on Windows systems.
uplevel \#0 {
package require msgcat 1.4
@@ -27,9 +29,8 @@ uplevel \#0 {
}
}
-# Put the library directory into the namespace for the ensemble
-# so that the library code can find message catalogs and time zone
-# definition files.
+# Put the library directory into the namespace for the ensemble so that the
+# library code can find message catalogs and time zone definition files.
namespace eval ::tcl::clock \
[list variable LibDir [file dirname [info script]]]
@@ -40,8 +41,8 @@ namespace eval ::tcl::clock \
#
# Manipulate times.
#
-# The 'clock' command manipulates time. Refer to the user documentation
-# for the available subcommands and what they do.
+# The 'clock' command manipulates time. Refer to the user documentation for
+# the available subcommands and what they do.
#
#----------------------------------------------------------------------
@@ -76,11 +77,11 @@ namespace eval ::tcl::clock {
# Side effects:
# Namespace variable in the 'clock' subsystem are initialized.
#
-# The '::tcl::clock::Initialize' procedure initializes the namespace
-# variables and root locale message catalog for the 'clock' subsystem.
-# It is broken into a procedure rather than simply evaluated as a script
-# so that it will be able to use local variables, avoiding the dangers
-# of 'creative writing' as in Bug 1185933.
+# The '::tcl::clock::Initialize' procedure initializes the namespace variables
+# and root locale message catalog for the 'clock' subsystem. It is broken
+# into a procedure rather than simply evaluated as a script so that it will be
+# able to use local variables, avoiding the dangers of 'creative writing' as
+# in Bug 1185933.
#
#----------------------------------------------------------------------
@@ -172,8 +173,8 @@ proc ::tcl::clock::Initialize {} {
::msgcat::mcset fr GREGORIAN_CHANGE_DATE 2299227
- # For Belgium, we follow Southern Netherlands; Liege Diocese
- # changed several weeks later.
+ # For Belgium, we follow Southern Netherlands; Liege Diocese changed
+ # several weeks later.
::msgcat::mcset fr_BE GREGORIAN_CHANGE_DATE 2299238
::msgcat::mcset nl_BE GREGORIAN_CHANGE_DATE 2299238
@@ -194,8 +195,8 @@ proc ::tcl::clock::Initialize {} {
::msgcat::mcset no GREGORIAN_CHANGE_DATE 2342032
::msgcat::mcset da GREGORIAN_CHANGE_DATE 2342032
- # Holland (Brabant, Gelderland, Flanders, Friesland, etc. changed
- # at various times)
+ # Holland (Brabant, Gelderland, Flanders, Friesland, etc. changed at
+ # various times)
::msgcat::mcset nl GREGORIAN_CHANGE_DATE 2342165
@@ -217,8 +218,8 @@ proc ::tcl::clock::Initialize {} {
::msgcat::mcset ru GREGORIAN_CHANGE_DATE 2421639
- # Romania (Transylvania changed earler - perhaps de_RO should show
- # the earlier date?)
+ # Romania (Transylvania changed earler - perhaps de_RO should show the
+ # earlier date?)
::msgcat::mcset ro GREGORIAN_CHANGE_DATE 2422063
@@ -232,8 +233,8 @@ proc ::tcl::clock::Initialize {} {
#
#------------------------------------------------------------------
- # Paths at which binary time zone data for the Olson libraries
- # are known to reside on various operating systems
+ # Paths at which binary time zone data for the Olson libraries are known
+ # to reside on various operating systems
variable ZoneinfoPaths {}
foreach path {
@@ -282,10 +283,10 @@ proc ::tcl::clock::Initialize {} {
variable FEB_28 58
- # Translation table to map Windows TZI onto cities, so that
- # the Olson rules can apply. In some cases the mapping is ambiguous,
- # so it's wise to specify $::env(TCL_TZ) rather than simply depending
- # on the system time zone.
+ # Translation table to map Windows TZI onto cities, so that the Olson
+ # rules can apply. In some cases the mapping is ambiguous, so it's wise
+ # to specify $::env(TCL_TZ) rather than simply depending on the system
+ # time zone.
# The keys are long lists of values obtained from the time zone
# information in the Registry. In order, the list elements are:
@@ -296,10 +297,10 @@ proc ::tcl::clock::Initialize {} {
# DaylightDate.wYear DaylightDate.wMonth DaylightDate.wDayOfWeek
# DaylightDate.wDay DaylightDate.wHour DaylightDate.wMinute
# DaylightDate.wSecond DaylightDate.wMilliseconds
- # The values are the names of time zones where those rules apply.
- # There is considerable ambiguity in certain zones; an attempt has
- # been made to make a reasonable guess, but this table needs to be
- # taken with a grain of salt.
+ # The values are the names of time zones where those rules apply. There
+ # is considerable ambiguity in certain zones; an attempt has been made to
+ # make a reasonable guess, but this table needs to be taken with a grain
+ # of salt.
variable WinZoneInfo [dict create {*}{
{-43200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Kwajalein
@@ -325,7 +326,7 @@ proc ::tcl::clock::Initialize {} {
{-10800 0 3600 0 2 0 2 2 0 0 0 0 10 0 3 2 0 0 0} :America/Sao_Paulo
{-10800 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Godthab
{-10800 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :America/Buenos_Aires
- {-10800 0 3600 0 2 0 5 2 0 0 0 0 11 0 1 2 0 0 0} :America/Bahia
+ {-10800 0 3600 0 2 0 5 2 0 0 0 0 11 0 1 2 0 0 0} :America/Brasilia
{-10800 0 3600 0 3 0 2 2 0 0 0 0 10 0 1 2 0 0 0} :America/Montevideo
{-7200 0 3600 0 9 0 5 2 0 0 0 0 3 0 5 2 0 0 0} :America/Noronha
{-3600 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Atlantic/Azores
@@ -378,10 +379,10 @@ proc ::tcl::clock::Initialize {} {
{46800 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Tongatapu
}]
- # Groups of fields that specify the date, priorities, and
- # code bursts that determine Julian Day Number given those groups.
- # The code in [clock scan] will choose the highest priority
- # (lowest numbered) set of fields that determines the date.
+ # Groups of fields that specify the date, priorities, and code bursts that
+ # determine Julian Day Number given those groups. The code in [clock
+ # scan] will choose the highest priority (lowest numbered) set of fields
+ # that determines the date.
variable DateParseActions {
@@ -485,8 +486,8 @@ proc ::tcl::clock::Initialize {} {
}
}
- # Groups of fields that specify time of day, priorities,
- # and code that processes them
+ # Groups of fields that specify time of day, priorities, and code that
+ # processes them
variable TimeParseActions {
@@ -652,16 +653,14 @@ proc ::tcl::clock::Initialize {} {
#
# clock format --
#
-# Formats a count of seconds since the Posix Epoch as a time
-# of day.
+# Formats a count of seconds since the Posix Epoch as a time of day.
#
-# The 'clock format' command formats times of day for output.
-# Refer to the user documentation to see what it does.
+# The 'clock format' command formats times of day for output. Refer to the
+# user documentation to see what it does.
#
#----------------------------------------------------------------------
proc ::tcl::clock::format { args } {
-
variable FormatProc
variable TZData
@@ -681,9 +680,9 @@ proc ::tcl::clock::format { args } {
}
}
- # Build a procedure to format the result. Cache the built procedure's
- # name in the 'FormatProc' array to avoid losing its internal
- # representation, which contains the name resolution.
+ # Build a procedure to format the result. Cache the built procedure's name
+ # in the 'FormatProc' array to avoid losing its internal representation,
+ # which contains the name resolution.
set procName formatproc'$format'$locale
set procName [namespace current]::[string map {: {\:} \\ {\\}} $procName]
@@ -695,7 +694,6 @@ proc ::tcl::clock::format { args } {
}
return [$procName $clockval $timezone]
-
}
#----------------------------------------------------------------------
@@ -714,7 +712,6 @@ proc ::tcl::clock::format { args } {
#----------------------------------------------------------------------
proc ::tcl::clock::ParseClockFormatFormat {procName format locale} {
-
if {[namespace which $procName] ne {}} {
return $procName
}
@@ -725,34 +722,21 @@ proc ::tcl::clock::ParseClockFormatFormat {procName format locale} {
# Change locale if a fresh locale has been given on the command line.
- set status [catch {
-
- ParseClockFormatFormat2 $format $locale $procName
-
- } result opts]
-
- # Restore the locale
-
- if { [info exists oldLocale] } {
- mclocale $oldLocale
- }
-
- # Return either the error or the proc name
+ try {
+ return [ParseClockFormatFormat2 $format $locale $procName]
+ } trap clock {result opts} {
+ dict unset opts -errorinfo
+ return -options $opts $result
+ } finally {
+ # Restore the locale
- if { $status == 1 } {
- if { [lindex [dict get $opts -errorcode] 0] eq {clock} } {
- return -code error $result
- } else {
- return -options $opts $result
+ if { [info exists oldLocale] } {
+ mclocale $oldLocale
}
- } else {
- return $result
}
-
}
proc ::tcl::clock::ParseClockFormatFormat2 {format locale procName} {
-
set didLocaleEra 0
set didLocaleNumerals 0
set preFormatCode \
@@ -1191,16 +1175,14 @@ proc ::tcl::clock::ParseClockFormatFormat2 {format locale procName} {
#
# clock scan --
#
-# Inputs a count of seconds since the Posix Epoch as a time
-# of day.
+# Inputs a count of seconds since the Posix Epoch as a time of day.
#
-# The 'clock format' command scans times of day on input.
-# Refer to the user documentation to see what it does.
+# The 'clock format' command scans times of day on input. Refer to the user
+# documentation to see what it does.
#
#----------------------------------------------------------------------
proc ::tcl::clock::scan { args } {
-
set format {}
# Check the count of args
@@ -1262,21 +1244,17 @@ proc ::tcl::clock::scan { args } {
"cannot use -gmt and -timezone in same call"
}
if { [catch { expr { wide($base) } } result] } {
- return -code error \
- "expected integer but got \"$base\""
+ return -code error "expected integer but got \"$base\""
}
- if { ![string is boolean $gmt] } {
- return -code error \
- "expected boolean value but got \"$gmt\""
- } else {
- if { $gmt } {
- set timezone :GMT
- }
+ if { ![string is boolean -strict $gmt] } {
+ return -code error "expected boolean value but got \"$gmt\""
+ } elseif { $gmt } {
+ set timezone :GMT
}
if { ![info exists saw(-format)] } {
- # Perhaps someday we'll localize the legacy code. Right now,
- # it's not localized.
+ # Perhaps someday we'll localize the legacy code. Right now, it's not
+ # localized.
if { [info exists saw(-locale)] } {
return -code error \
-errorcode [list CLOCK flagWithLegacyFormat] \
@@ -1290,31 +1268,23 @@ proc ::tcl::clock::scan { args } {
EnterLocale $locale oldLocale
- set status [catch {
-
+ try {
# Map away the locale-dependent composite format groups
set scanner [ParseClockScanFormat $format $locale]
- $scanner $string $base $timezone
+ return [$scanner $string $base $timezone]
+ } trap CLOCK {result opts} {
+ # Conceal location of generation of expected errors
- } result opts]
-
- # Restore the locale
-
- if { [info exists oldLocale] } {
- mclocale $oldLocale
- }
+ dict unset opts -errorinfo
+ return -options $opts $result
+ } finally {
+ # Restore the locale
- if { $status == 1 } {
- if { [lindex [dict get $opts -errorcode] 0] eq {clock} } {
- return -code error $result
- } else {
- return -options $opts $result
+ if { [info exists oldLocale] } {
+ mclocale $oldLocale
}
- } else {
- return $result
}
-
}
#----------------------------------------------------------------------
@@ -1330,52 +1300,50 @@ proc ::tcl::clock::scan { args } {
# locale - (Unused) Name of the locale where the time will be scanned.
#
# Results:
-# Returns the date and time extracted from the string in seconds
-# from the epoch
+# Returns the date and time extracted from the string in seconds from
+# the epoch
#
#----------------------------------------------------------------------
proc ::tcl::clock::FreeScan { string base timezone locale } {
-
variable TZData
# Get the data for time changes in the given zone
- if {[catch {SetupTimeZone $timezone} retval opts]} {
+ try {
+ SetupTimeZone $timezone
+ } on error {retval opts} {
dict unset opts -errorinfo
return -options $opts $retval
}
- # Extract year, month and day from the base time for the
- # parser to use as defaults
-
- set date [GetDateFields \
- $base \
- $TZData($timezone) \
- 2361222]
- dict set date secondOfDay [expr { [dict get $date localSeconds]
- % 86400 }]
-
- # Parse the date. The parser will return a list comprising
- # date, time, time zone, relative month/day/seconds, relative
- # weekday, ordinal month.
-
- set status [catch {
- Oldscan $string \
- [dict get $date year] \
- [dict get $date month] \
- [dict get $date dayOfMonth]
- } result]
- if { $status != 0 } {
- return -code error "unable to convert date-time string \"$string\": $result"
- }
+ # Extract year, month and day from the base time for the parser to use as
+ # defaults
+
+ set date [GetDateFields $base $TZData($timezone) 2361222]
+ dict set date secondOfDay [expr {
+ [dict get $date localSeconds] % 86400
+ }]
- lassign $result parseDate parseTime parseZone parseRel \
- parseWeekday parseOrdinalMonth
+ # Parse the date. The parser will return a list comprising date, time,
+ # time zone, relative month/day/seconds, relative weekday, ordinal month.
+
+ try {
+ set scanned [Oldscan $string \
+ [dict get $date year] \
+ [dict get $date month] \
+ [dict get $date dayOfMonth]]
+ lassign $scanned \
+ parseDate parseTime parseZone parseRel \
+ parseWeekday parseOrdinalMonth
+ } on error message {
+ return -code error \
+ "unable to convert date-time string \"$string\": $message"
+ }
- # If the caller supplied a date in the string, update the 'date' dict
- # with the value. If the caller didn't specify a time with the date,
- # default to midnight.
+ # If the caller supplied a date in the string, update the 'date' dict with
+ # the value. If the caller didn't specify a time with the date, default to
+ # midnight.
if { [llength $parseDate] > 0 } {
lassign $parseDate y m d
@@ -1395,11 +1363,11 @@ proc ::tcl::clock::FreeScan { string base timezone locale } {
}
}
- # If the caller supplied a time zone in the string, it comes back
- # as a two-element list; the first element is the number of minutes
- # east of Greenwich, and the second is a Daylight Saving Time
- # indicator ( 1 == yes, 0 == no, -1 == unknown ). We make it into
- # a time zone indicator of +-hhmm.
+ # If the caller supplied a time zone in the string, it comes back as a
+ # two-element list; the first element is the number of minutes east of
+ # Greenwich, and the second is a Daylight Saving Time indicator (1 == yes,
+ # 0 == no, -1 == unknown). We make it into a time zone indicator of
+ # +-hhmm.
if { [llength $parseZone] > 0 } {
lassign $parseZone minEast dstFlag
@@ -1422,10 +1390,11 @@ proc ::tcl::clock::FreeScan { string base timezone locale } {
dict set date secondOfDay 0
}
- dict set date localSeconds \
- [expr { -210866803200
- + ( 86400 * wide([dict get $date julianDay]) )
- + [dict get $date secondOfDay] }]
+ dict set date localSeconds [expr {
+ -210866803200
+ + ( 86400 * wide([dict get $date julianDay]) )
+ + [dict get $date secondOfDay]
+ }]
dict set date tzName $timezone
set date [ConvertLocalToUTC $date[set date {}] $TZData($timezone) 2361222]
set seconds [dict get $date seconds]
@@ -1442,13 +1411,12 @@ proc ::tcl::clock::FreeScan { string base timezone locale } {
# Do relative weekday
if { [llength $parseWeekday] > 0 } {
-
lassign $parseWeekday dayOrdinal dayOfWeek
set date2 [GetDateFields $seconds $TZData($timezone) 2361222]
dict set date2 era CE
- set jdwkday [WeekdayOnOrBefore $dayOfWeek \
- [expr { [dict get $date2 julianDay]
- + 6 }]]
+ set jdwkday [WeekdayOnOrBefore $dayOfWeek [expr {
+ [dict get $date2 julianDay] + 6
+ }]]
incr jdwkday [expr { 7 * $dayOrdinal }]
if { $dayOrdinal > 0 } {
incr jdwkday -7
@@ -1456,21 +1424,20 @@ proc ::tcl::clock::FreeScan { string base timezone locale } {
dict set date2 secondOfDay \
[expr { [dict get $date2 localSeconds] % 86400 }]
dict set date2 julianDay $jdwkday
- dict set date2 localSeconds \
- [expr { -210866803200
- + ( 86400 * wide([dict get $date2 julianDay]) )
- + [dict get $date secondOfDay] }]
+ dict set date2 localSeconds [expr {
+ -210866803200
+ + ( 86400 * wide([dict get $date2 julianDay]) )
+ + [dict get $date secondOfDay]
+ }]
dict set date2 tzName $timezone
set date2 [ConvertLocalToUTC $date2[set date2 {}] $TZData($timezone) \
2361222]
set seconds [dict get $date2 seconds]
-
}
# Do relative month
if { [llength $parseOrdinalMonth] > 0 } {
-
lassign $parseOrdinalMonth monthOrdinal monthNumber
if { $monthOrdinal > 0 } {
set monthDiff [expr { $monthNumber - [dict get $date month] }]
@@ -1487,7 +1454,6 @@ proc ::tcl::clock::FreeScan { string base timezone locale } {
}
set seconds [add $seconds $monthOrdinal years $monthDiff months \
-timezone $timezone -locale $locale]
-
}
return $seconds
@@ -1505,30 +1471,27 @@ proc ::tcl::clock::FreeScan { string base timezone locale } {
# locale - The current locale
#
# Results:
-# Constructs and returns a procedure that accepts the
-# string being scanned, the base time, and the time zone.
-# The procedure will either return the scanned time or
-# else throw an error that should be rethrown to the caller
-# of [clock scan]
+# Constructs and returns a procedure that accepts the string being
+# scanned, the base time, and the time zone. The procedure will either
+# return the scanned time or else throw an error that should be rethrown
+# to the caller of [clock scan]
#
# Side effects:
-# The given procedure is defined in the ::tcl::clock
-# namespace. Scan procedures are not deleted once installed.
-#
-# Why do we parse dates by defining a procedure to parse them?
-# The reason is that by doing so, we have one convenient place to
-# cache all the information: the regular expressions that match the
-# patterns (which will be compiled), the code that assembles the
-# date information, everything lands in one place. In this way,
-# when a given format is reused at run time, all the information
+# The given procedure is defined in the ::tcl::clock namespace. Scan
+# procedures are not deleted once installed.
+#
+# Why do we parse dates by defining a procedure to parse them? The reason is
+# that by doing so, we have one convenient place to cache all the information:
+# the regular expressions that match the patterns (which will be compiled),
+# the code that assembles the date information, everything lands in one place.
+# In this way, when a given format is reused at run time, all the information
# of how to apply it is available in a single place.
#
#----------------------------------------------------------------------
proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
-
- # Check whether the format has been parsed previously, and return
- # the existing recognizer if it has.
+ # Check whether the format has been parsed previously, and return the
+ # existing recognizer if it has.
set procName scanproc'$formatString'$locale
set procName [namespace current]::[string map {: {\:} \\ {\\}} $procName]
@@ -1572,8 +1535,8 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
append re {[[:space:]]+}
} else {
if { ! [string is alnum $c] } {
- append re \\
- }
+ append re "\\"
+ }
append re $c
}
}
@@ -1690,7 +1653,7 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
"::scan \$field" [incr captureCount] " %ld" \
"\]\n"
}
- m - N { # Month number
+ m - N { # Month number
append re \\s*(\\d\\d?)
dict set fieldSet month [incr fieldCount]
append postcode "dict set date month \[" \
@@ -1733,10 +1696,9 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
\] \n
}
s { # Seconds from Posix Epoch
- # This next case is insanely difficult,
- # because it's problematic to determine
- # whether the field is actually within
- # the range of a wide integer.
+ # This next case is insanely difficult, because it's
+ # problematic to determine whether the field is
+ # actually within the range of a wide integer.
append re {\s*([-+]?\d+)}
dict set fieldSet seconds [incr fieldCount]
append postcode {dict set date seconds } \[ \
@@ -1769,10 +1731,9 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
dict set date dayOfWeek $dow
}
}
- U { # Week of year. The
- # first Sunday of the year is the
- # first day of week 01. No scan rule
- # uses this group.
+ U { # Week of year. The first Sunday of
+ # the year is the first day of week
+ # 01. No scan rule uses this group.
append re \\s*\\d\\d?
}
V { # Week of ISO8601 year
@@ -1994,20 +1955,6 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
append procBody $postcode
append procBody [list set changeover [mc GREGORIAN_CHANGE_DATE]] \n
- # Get time zone if needed
-
- if { ![dict exists $fieldSet seconds]
- && ![dict exists $fieldSet starDate] } {
- if { [dict exists $fieldSet tzName] } {
- append procBody {
- set timeZone [dict get $date tzName]
- }
- }
- append procBody {
- ::tcl::clock::SetupTimeZone $timeZone
- }
- }
-
# Add code that gets Julian Day Number from the fields.
append procBody [MakeParseCodeFromFields $fieldSet $DateParseActions]
@@ -2025,15 +1972,25 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
return -code error -errorcode [list CLOCK dateTooLarge] \
"requested date too large to represent"
}
- dict set date localSeconds \
- [expr { -210866803200
- + ( 86400 * wide([dict get $date julianDay]) )
- + [dict get $date secondOfDay] }]
+ dict set date localSeconds [expr {
+ -210866803200
+ + ( 86400 * wide([dict get $date julianDay]) )
+ + [dict get $date secondOfDay]
+ }]
+ }
+ }
+
+ if { ![dict exists $fieldSet seconds]
+ && ![dict exists $fieldSet starDate] } {
+ if { [dict exists $fieldSet tzName] } {
+ append procBody {
+ set timeZone [dict get $date tzName]
+ }
}
append procBody {
+ ::tcl::clock::SetupTimeZone $timeZone
set date [::tcl::clock::ConvertLocalToUTC $date[set date {}] \
- $TZData($timeZone) \
- $changeover]
+ $TZData($timeZone) $changeover]
}
}
@@ -2052,15 +2009,14 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
#
# LocaleNumeralMatcher --
#
-# Composes a regexp that captures the numerals in the given
-# locale, and a dictionary to map them to conventional numerals.
+# Composes a regexp that captures the numerals in the given locale, and
+# a dictionary to map them to conventional numerals.
#
# Parameters:
# locale - Name of the current locale
#
# Results:
-# Returns a two-element list comprising the regexp and the
-# dictionary.
+# Returns a two-element list comprising the regexp and the dictionary.
#
# Side effects:
# Caches the result.
@@ -2068,7 +2024,6 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
#----------------------------------------------------------------------
proc ::tcl::clock::LocaleNumeralMatcher {l} {
-
variable LocaleNumeralCache
if { ![dict exists $LocaleNumeralCache $l] } {
@@ -2094,9 +2049,9 @@ proc ::tcl::clock::LocaleNumeralMatcher {l} {
#
# UniquePrefixRegexp --
#
-# Composes a regexp that performs unique-prefix matching. The
-# RE matches one of a supplied set of strings, or any unique
-# prefix thereof.
+# Composes a regexp that performs unique-prefix matching. The RE
+# matches one of a supplied set of strings, or any unique prefix
+# thereof.
#
# Parameters:
# data - List of alternating match-strings and values.
@@ -2104,10 +2059,10 @@ proc ::tcl::clock::LocaleNumeralMatcher {l} {
# distinct.
#
# Results:
-# Returns a two-element list. The first is a regexp that
-# matches any unique prefix of any of the strings. The second
-# is a dictionary whose keys are match values from the regexp
-# and whose values are the corresponding values from 'data'.
+# Returns a two-element list. The first is a regexp that matches any
+# unique prefix of any of the strings. The second is a dictionary whose
+# keys are match values from the regexp and whose values are the
+# corresponding values from 'data'.
#
# Side effects:
# None.
@@ -2115,11 +2070,10 @@ proc ::tcl::clock::LocaleNumeralMatcher {l} {
#----------------------------------------------------------------------
proc ::tcl::clock::UniquePrefixRegexp { data } {
-
- # The 'successors' dictionary will contain, for each string that
- # is a prefix of any key, all characters that may follow that
- # prefix. The 'prefixMapping' dictionary will have keys that
- # are prefixes of keys and values that correspond to the keys.
+ # The 'successors' dictionary will contain, for each string that is a
+ # prefix of any key, all characters that may follow that prefix. The
+ # 'prefixMapping' dictionary will have keys that are prefixes of keys and
+ # values that correspond to the keys.
set prefixMapping [dict create]
set successors [dict create {} {}]
@@ -2127,7 +2081,6 @@ proc ::tcl::clock::UniquePrefixRegexp { data } {
# Walk the key-value pairs
foreach { key value } $data {
-
# Construct all prefixes of the key;
set prefix {}
@@ -2146,8 +2099,8 @@ proc ::tcl::clock::UniquePrefixRegexp { data } {
}
}
- # Identify those prefixes that designate unique values, and
- # those that are the full keys
+ # Identify those prefixes that designate unique values, and those that are
+ # the full keys
set uniquePrefixMapping {}
dict for { key valueList } $prefixMapping {
@@ -2170,8 +2123,8 @@ proc ::tcl::clock::UniquePrefixRegexp { data } {
#
# MakeUniquePrefixRegexp --
#
-# Service procedure for 'UniquePrefixRegexp' that constructs
-# a regular expresison that matches the unique prefixes.
+# Service procedure for 'UniquePrefixRegexp' that constructs a regular
+# expresison that matches the unique prefixes.
#
# Parameters:
# successors - Dictionary whose keys are all prefixes
@@ -2183,8 +2136,8 @@ proc ::tcl::clock::UniquePrefixRegexp { data } {
# prefixString - Current prefix being processed.
#
# Results:
-# Returns a constructed regular expression that matches the set
-# of unique prefixes beginning with the 'prefixString'.
+# Returns a constructed regular expression that matches the set of
+# unique prefixes beginning with the 'prefixString'.
#
# Side effects:
# None.
@@ -2194,7 +2147,6 @@ proc ::tcl::clock::UniquePrefixRegexp { data } {
proc ::tcl::clock::MakeUniquePrefixRegexp { successors
uniquePrefixMapping
prefixString } {
-
# Get the characters that may follow the current prefix string
set schars [lsort -ascii [dict keys [dict get $successors $prefixString]]]
@@ -2202,13 +2154,15 @@ proc ::tcl::clock::MakeUniquePrefixRegexp { successors
return {}
}
- # If there is more than one successor character, or if the current
- # prefix is a unique prefix, surround the generated re with non-capturing
+ # If there is more than one successor character, or if the current prefix
+ # is a unique prefix, surround the generated re with non-capturing
# parentheses.
set re {}
- if { [dict exists $uniquePrefixMapping $prefixString]
- || [llength $schars] > 1 } {
+ if {
+ [dict exists $uniquePrefixMapping $prefixString]
+ || [llength $schars] > 1
+ } then {
append re "(?:"
}
@@ -2230,7 +2184,7 @@ proc ::tcl::clock::MakeUniquePrefixRegexp { successors
if { [dict exists $uniquePrefixMapping $prefixString] } {
append re ")?"
- } elseif { [llength $schars] > 1 } {
+ } elseif { [llength $schars] > 1 } {
append re ")"
}
@@ -2241,8 +2195,8 @@ proc ::tcl::clock::MakeUniquePrefixRegexp { successors
#
# MakeParseCodeFromFields --
#
-# Composes Tcl code to extract the Julian Day Number from a
-# dictionary containing date fields.
+# Composes Tcl code to extract the Julian Day Number from a dictionary
+# containing date fields.
#
# Parameters:
# dateFields -- Dictionary whose keys are fields of the date,
@@ -2253,8 +2207,8 @@ proc ::tcl::clock::MakeUniquePrefixRegexp { successors
# the list must be in ascending order by priority
#
# Results:
-# Returns a burst of code that extracts the day number from the
-# given date.
+# Returns a burst of code that extracts the day number from the given
+# date.
#
# Side effects:
# None.
@@ -2262,7 +2216,6 @@ proc ::tcl::clock::MakeUniquePrefixRegexp { successors
#----------------------------------------------------------------------
proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } {
-
set currPrio 999
set currFieldPos [list]
set currCodeBurst {
@@ -2270,16 +2223,15 @@ proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } {
}
foreach { fieldSet prio parseAction } $parseActions {
-
- # If we've found an answer that's better than any that follow,
- # quit now.
+ # If we've found an answer that's better than any that follow, quit
+ # now.
if { $prio > $currPrio } {
break
}
- # Accumulate the field positions that are used in the current
- # field grouping.
+ # Accumulate the field positions that are used in the current field
+ # grouping.
set fieldPos [list]
set ok true
@@ -2302,9 +2254,11 @@ proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } {
if { $prio == $currPrio } {
foreach currPos $currFieldPos newPos $fPos {
- if { ![string is integer $newPos]
- || ![string is integer $currPos]
- || $newPos > $currPos } {
+ if {
+ ![string is integer $newPos]
+ || ![string is integer $currPos]
+ || $newPos > $currPos
+ } then {
break
}
if { $newPos < $currPos } {
@@ -2322,11 +2276,9 @@ proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } {
set currPrio $prio
set currFieldPos $fPos
set currCodeBurst $parseAction
-
}
return $currCodeBurst
-
}
#----------------------------------------------------------------------
@@ -2344,14 +2296,13 @@ proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } {
# Returns the locale that was previously current.
#
# Side effects:
-# Does [mclocale]. If necessary, uses [mcload] to load the
-# designated locale's files, and tracks that it has done so
-# in the 'McLoaded' variable.
+# Does [mclocale]. If necessary, uses [mcload] to load the designated
+# locale's files, and tracks that it has done so in the 'McLoaded'
+# variable.
#
#----------------------------------------------------------------------
proc ::tcl::clock::EnterLocale { locale oldLocaleVar } {
-
upvar 1 $oldLocaleVar oldLocale
variable MsgDir
@@ -2359,27 +2310,24 @@ proc ::tcl::clock::EnterLocale { locale oldLocaleVar } {
set oldLocale [mclocale]
if { $locale eq {system} } {
-
if { $::tcl_platform(platform) ne {windows} } {
-
- # On a non-windows platform, the 'system' locale is
- # the same as the 'current' locale
+ # On a non-windows platform, the 'system' locale is the same as
+ # the 'current' locale
set locale current
} else {
-
- # On a windows platform, the 'system' locale is
- # adapted from the 'current' locale by applying the
- # date and time formats from the Control Panel.
- # First, load the 'current' locale if it's not yet loaded
+ # On a windows platform, the 'system' locale is adapted from the
+ # 'current' locale by applying the date and time formats from the
+ # Control Panel. First, load the 'current' locale if it's not yet
+ # loaded
if {![dict exists $McLoaded $oldLocale] } {
mcload $MsgDir
dict set McLoaded $oldLocale {}
}
- # Make a new locale string for the system locale, and
- # get the Control Panel information
+ # Make a new locale string for the system locale, and get the
+ # Control Panel information
set locale ${oldLocale}_windows
if { ![dict exists $McLoaded $locale] } {
@@ -2400,15 +2348,14 @@ proc ::tcl::clock::EnterLocale { locale oldLocaleVar } {
mcload $MsgDir
dict set McLoaded $locale {}
}
-
}
#----------------------------------------------------------------------
#
# LoadWindowsDateTimeFormats --
#
-# Load the date/time formats from the Control Panel in Windows
-# and convert them so that they're usable by Tcl.
+# Load the date/time formats from the Control Panel in Windows and
+# convert them so that they're usable by Tcl.
#
# Parameters:
# locale - Name of the locale in whose message catalog
@@ -2420,14 +2367,12 @@ proc ::tcl::clock::EnterLocale { locale oldLocaleVar } {
# Side effects:
# Updates the given message catalog with the locale strings.
#
-# Presumes that on entry, [mclocale] is set to the current locale,
-# so that default strings can be obtained if the Registry query
-# fails.
+# Presumes that on entry, [mclocale] is set to the current locale, so that
+# default strings can be obtained if the Registry query fails.
#
#----------------------------------------------------------------------
proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } {
-
# Bail out if we can't find the Registry
variable NoRegistry
@@ -2529,7 +2474,6 @@ proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } {
}
return
-
}
#----------------------------------------------------------------------
@@ -2544,8 +2488,8 @@ proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } {
# format -- Format supplied to [clock scan] or [clock format]
#
# Results:
-# Returns the string with locale-dependent composite format
-# groups substituted out.
+# Returns the string with locale-dependent composite format groups
+# substituted out.
#
# Side effects:
# None.
@@ -2553,7 +2497,6 @@ proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } {
#----------------------------------------------------------------------
proc ::tcl::clock::LocalizeFormat { locale format } {
-
variable McLoaded
if { [dict exists $McLoaded $locale FORMAT $format] } {
@@ -2561,28 +2504,24 @@ proc ::tcl::clock::LocalizeFormat { locale format } {
}
set inFormat $format
- # Handle locale-dependent format groups by mapping them out of the format
+ # Handle locale-dependent format groups by mapping them out of the input
# string. Note that the order of the [string map] operations is
- # significant because later formats can refer to later ones; for example
+ # significant because earlier formats can refer to later ones; for example
# %c can refer to %X, which in turn can refer to %T.
- set list {
- %% %%
- %D %m/%d/%Y
- %+ {%a %b %e %H:%M:%S %Z %Y}
- }
- lappend list %EY [string map $list [mc LOCALE_YEAR_FORMAT]]
- lappend list %T [string map $list [mc TIME_FORMAT_24_SECS]]
- lappend list %R [string map $list [mc TIME_FORMAT_24]]
- lappend list %r [string map $list [mc TIME_FORMAT_12]]
- lappend list %X [string map $list [mc TIME_FORMAT]]
- lappend list %EX [string map $list [mc LOCALE_TIME_FORMAT]]
- lappend list %x [string map $list [mc DATE_FORMAT]]
- lappend list %Ex [string map $list [mc LOCALE_DATE_FORMAT]]
- lappend list %c [string map $list [mc DATE_TIME_FORMAT]]
- lappend list %Ec [string map $list [mc LOCALE_DATE_TIME_FORMAT]]
- set format [string map $list $format]
-
+ set format [string map [list %c [mc DATE_TIME_FORMAT] \
+ %Ec [mc LOCALE_DATE_TIME_FORMAT]] $format]
+ set format [string map [list %x [mc DATE_FORMAT] \
+ %Ex [mc LOCALE_DATE_FORMAT] \
+ %X [mc TIME_FORMAT] \
+ %EX [mc LOCALE_TIME_FORMAT]] $format]
+ set format [string map [list %r [mc TIME_FORMAT_12] \
+ %R [mc TIME_FORMAT_24] \
+ %T [mc TIME_FORMAT_24_SECS]] $format]
+ set format [string map [list %D %m/%d/%Y \
+ %EY [mc LOCALE_YEAR_FORMAT]\
+ %+ {%a %b %e %H:%M:%S %Z %Y}] $format]
+
dict set McLoaded $locale FORMAT $inFormat $format
return $format
}
@@ -2605,7 +2544,6 @@ proc ::tcl::clock::LocalizeFormat { locale format } {
#----------------------------------------------------------------------
proc ::tcl::clock::FormatNumericTimeZone { z } {
-
if { $z < 0 } {
set z [expr { - $z }]
set retval -
@@ -2620,7 +2558,6 @@ proc ::tcl::clock::FormatNumericTimeZone { z } {
append retval [::format %02d $z]
}
return $retval
-
}
#----------------------------------------------------------------------
@@ -2645,7 +2582,6 @@ proc ::tcl::clock::FormatNumericTimeZone { z } {
#----------------------------------------------------------------------
proc ::tcl::clock::FormatStarDate { date } {
-
variable Roddenberry
# Get day of year, zero based
@@ -2696,7 +2632,6 @@ proc ::tcl::clock::FormatStarDate { date } {
#----------------------------------------------------------------------
proc ::tcl::clock::ParseStarDate { year fractYear fractDay } {
-
variable Roddenberry
# Build a tentative date from year and fraction.
@@ -2712,8 +2647,8 @@ proc ::tcl::clock::ParseStarDate { year fractYear fractDay } {
set lp [IsGregorianLeapYear $date]
- # Reconvert the fractional year according to whether the given
- # year is a leap year
+ # Reconvert the fractional year according to whether the given year is a
+ # leap year
if { $lp } {
dict set date dayOfYear \
@@ -2726,10 +2661,11 @@ proc ::tcl::clock::ParseStarDate { year fractYear fractDay } {
dict unset date gregorian
set date [GetJulianDayFromGregorianEraYearDay $date[set date {}]]
- return [expr { 86400 * [dict get $date julianDay]
- - 210866803200
- + ( 86400 / 10 ) * $fractDay }]
-
+ return [expr {
+ 86400 * [dict get $date julianDay]
+ - 210866803200
+ + ( 86400 / 10 ) * $fractDay
+ }]
}
#----------------------------------------------------------------------
@@ -2742,8 +2678,8 @@ proc ::tcl::clock::ParseStarDate { year fractYear fractDay } {
# str - String containing a decimal wide integer
#
# Results:
-# Returns the string as a pure wide integer. Throws an error if
-# the string is misformatted or out of range.
+# Returns the string as a pure wide integer. Throws an error if the
+# string is misformatted or out of range.
#
#----------------------------------------------------------------------
@@ -2764,8 +2700,8 @@ proc ::tcl::clock::ScanWide { str } {
#
# InterpretTwoDigitYear --
#
-# Given a date that contains only the year of the century,
-# determines the target value of a two-digit year.
+# Given a date that contains only the year of the century, determines
+# the target value of a two-digit year.
#
# Parameters:
# date - Dictionary containing fields of the date.
@@ -2782,18 +2718,17 @@ proc ::tcl::clock::ScanWide { str } {
# Side effects:
# None.
#
-# The current rule for interpreting a two-digit year is that the year
-# shall be between 1937 and 2037, thus staying within the range of a
-# 32-bit signed value for time. This rule may change to a sliding
-# window in future versions, so the 'baseTime' parameter (which is
-# currently ignored) is provided in the procedure signature.
+# The current rule for interpreting a two-digit year is that the year shall be
+# between 1937 and 2037, thus staying within the range of a 32-bit signed
+# value for time. This rule may change to a sliding window in future
+# versions, so the 'baseTime' parameter (which is currently ignored) is
+# provided in the procedure signature.
#
#----------------------------------------------------------------------
proc ::tcl::clock::InterpretTwoDigitYear { date baseTime
{ twoDigitField yearOfCentury }
{ fourDigitField year } } {
-
set yr [dict get $date $twoDigitField]
if { $yr <= 37 } {
dict set date $fourDigitField [expr { $yr + 2000 }]
@@ -2801,7 +2736,6 @@ proc ::tcl::clock::InterpretTwoDigitYear { date baseTime
dict set date $fourDigitField [expr { $yr + 1900 }]
}
return $date
-
}
#----------------------------------------------------------------------
@@ -2827,7 +2761,6 @@ proc ::tcl::clock::InterpretTwoDigitYear { date baseTime
#----------------------------------------------------------------------
proc ::tcl::clock::AssignBaseYear { date baseTime timezone changeover } {
-
variable TZData
# Find the Julian Day Number corresponding to the base time, and
@@ -2841,7 +2774,6 @@ proc ::tcl::clock::AssignBaseYear { date baseTime timezone changeover } {
dict set date year [dict get $date2 year]
return $date
-
}
#----------------------------------------------------------------------
@@ -2868,7 +2800,6 @@ proc ::tcl::clock::AssignBaseYear { date baseTime timezone changeover } {
#----------------------------------------------------------------------
proc ::tcl::clock::AssignBaseIso8601Year {date baseTime timeZone changeover} {
-
variable TZData
# Find the Julian Day Number corresponding to the base time
@@ -2905,7 +2836,6 @@ proc ::tcl::clock::AssignBaseIso8601Year {date baseTime timeZone changeover} {
#----------------------------------------------------------------------
proc ::tcl::clock::AssignBaseMonth {date baseTime timezone changeover} {
-
variable TZData
# Find the year and month corresponding to the base time
@@ -2915,7 +2845,6 @@ proc ::tcl::clock::AssignBaseMonth {date baseTime timezone changeover} {
dict set date year [dict get $date2 year]
dict set date month [dict get $date2 month]
return $date
-
}
#----------------------------------------------------------------------
@@ -2941,7 +2870,6 @@ proc ::tcl::clock::AssignBaseMonth {date baseTime timezone changeover} {
#----------------------------------------------------------------------
proc ::tcl::clock::AssignBaseWeek {date baseTime timeZone changeover} {
-
variable TZData
# Find the Julian Day Number corresponding to the base time
@@ -2978,7 +2906,6 @@ proc ::tcl::clock::AssignBaseWeek {date baseTime timeZone changeover} {
#----------------------------------------------------------------------
proc ::tcl::clock::AssignBaseJulianDay { date baseTime timeZone changeover } {
-
variable TZData
# Find the Julian Day Number corresponding to the base time
@@ -3008,7 +2935,6 @@ proc ::tcl::clock::AssignBaseJulianDay { date baseTime timeZone changeover } {
#----------------------------------------------------------------------
proc ::tcl::clock::InterpretHMSP { date } {
-
set hr [dict get $date hourAMPM]
if { $hr == 12 } {
set hr 0
@@ -3018,7 +2944,6 @@ proc ::tcl::clock::InterpretHMSP { date } {
}
dict set date hour $hr
return [InterpretHMS $date[set date {}]]
-
}
#----------------------------------------------------------------------
@@ -3041,11 +2966,11 @@ proc ::tcl::clock::InterpretHMSP { date } {
#----------------------------------------------------------------------
proc ::tcl::clock::InterpretHMS { date } {
-
- return [expr { ( [dict get $date hour] * 60
- + [dict get $date minute] ) * 60
- + [dict get $date second] }]
-
+ return [expr {
+ ( [dict get $date hour] * 60
+ + [dict get $date minute] ) * 60
+ + [dict get $date second]
+ }]
}
#----------------------------------------------------------------------
@@ -3068,7 +2993,6 @@ proc ::tcl::clock::InterpretHMS { date } {
#----------------------------------------------------------------------
proc ::tcl::clock::GetSystemTimeZone {} {
-
variable CachedSystemTimeZone
variable TimeZoneBad
@@ -3076,23 +3000,18 @@ proc ::tcl::clock::GetSystemTimeZone {} {
set timezone $result
} elseif {[set result [getenv TZ]] ne {}} {
set timezone $result
+ } elseif { [info exists CachedSystemTimeZone] } {
+ set timezone $CachedSystemTimeZone
+ } elseif { $::tcl_platform(platform) eq {windows} } {
+ set timezone [GuessWindowsTimeZone]
+ } elseif { [file exists /etc/localtime]
+ && ![catch {ReadZoneinfoFile \
+ Tcl/Localtime /etc/localtime}] } {
+ set timezone :Tcl/Localtime
+ } else {
+ set timezone :localtime
}
- if {![info exists timezone]} {
- # Cache the time zone only if it was detected by one of the
- # expensive methods.
- if { [info exists CachedSystemTimeZone] } {
- set timezone $CachedSystemTimeZone
- } elseif { $::tcl_platform(platform) eq {windows} } {
- set timezone [GuessWindowsTimeZone]
- } elseif { [file exists /etc/localtime]
- && ![catch {ReadZoneinfoFile \
- Tcl/Localtime /etc/localtime}] } {
- set timezone :Tcl/Localtime
- } else {
- set timezone :localtime
- }
- set CachedSystemTimeZone $timezone
- }
+ set CachedSystemTimeZone $timezone
if { ![dict exists $TimeZoneBad $timezone] } {
dict set TimeZoneBad $timezone [catch {SetupTimeZone $timezone}]
}
@@ -3101,76 +3020,69 @@ proc ::tcl::clock::GetSystemTimeZone {} {
} else {
return $timezone
}
-
}
#----------------------------------------------------------------------
#
# ConvertLegacyTimeZone --
#
-# Given an alphanumeric time zone identifier and the system
-# time zone, convert the alphanumeric identifier to an
-# unambiguous time zone.
+# Given an alphanumeric time zone identifier and the system time zone,
+# convert the alphanumeric identifier to an unambiguous time zone.
#
# Parameters:
# tzname - Name of the time zone to convert
#
# Results:
-# Returns a time zone name corresponding to tzname, but
-# in an unambiguous form, generally +hhmm.
+# Returns a time zone name corresponding to tzname, but in an
+# unambiguous form, generally +hhmm.
#
-# This procedure is implemented primarily to allow the parsing of
-# RFC822 date/time strings. Processing a time zone name on input
-# is not recommended practice, because there is considerable room
-# for ambiguity; for instance, is BST Brazilian Standard Time, or
-# British Summer Time?
+# This procedure is implemented primarily to allow the parsing of RFC822
+# date/time strings. Processing a time zone name on input is not recommended
+# practice, because there is considerable room for ambiguity; for instance, is
+# BST Brazilian Standard Time, or British Summer Time?
#
#----------------------------------------------------------------------
proc ::tcl::clock::ConvertLegacyTimeZone { tzname } {
-
variable LegacyTimeZone
set tzname [string tolower $tzname]
if { ![dict exists $LegacyTimeZone $tzname] } {
return -code error -errorcode [list CLOCK badTZName $tzname] \
"time zone \"$tzname\" not found"
- } else {
- return [dict get $LegacyTimeZone $tzname]
}
-
+ return [dict get $LegacyTimeZone $tzname]
}
#----------------------------------------------------------------------
#
# SetupTimeZone --
#
-# Given the name or specification of a time zone, sets up
-# its in-memory data.
+# Given the name or specification of a time zone, sets up its in-memory
+# data.
#
# Parameters:
# tzname - Name of a time zone
#
# Results:
-# Unless the time zone is ':localtime', sets the TZData array
-# to contain the lookup table for local<->UTC conversion.
-# Returns an error if the time zone cannot be parsed.
+# Unless the time zone is ':localtime', sets the TZData array to contain
+# the lookup table for local<->UTC conversion. Returns an error if the
+# time zone cannot be parsed.
#
#----------------------------------------------------------------------
proc ::tcl::clock::SetupTimeZone { timezone } {
-
variable TZData
if {! [info exists TZData($timezone)] } {
variable MINWIDE
if { $timezone eq {:localtime} } {
-
# Nothing to do, we'll convert using the localtime function
- } elseif { [regexp {^([-+])(\d\d)(?::?(\d\d)(?::?(\d\d))?)?} $timezone \
- -> s hh mm ss] } {
-
+ } elseif {
+ [regexp {^([-+])(\d\d)(?::?(\d\d)(?::?(\d\d))?)?} $timezone \
+ -> s hh mm ss]
+ } then {
# Make a fixed offset
::scan $hh %d hh
@@ -3191,14 +3103,12 @@ proc ::tcl::clock::SetupTimeZone { timezone } {
set TZData($timezone) [list [list $MINWIDE $offset -1 $timezone]]
} elseif { [string index $timezone 0] eq {:} } {
-
# Convert using a time zone file
if {
[catch {
LoadTimeZoneFile [string range $timezone 1 end]
- }]
- && [catch {
+ }] && [catch {
LoadZoneinfoFile [string range $timezone 1 end]
}]
} {
@@ -3208,7 +3118,6 @@ proc ::tcl::clock::SetupTimeZone { timezone } {
}
} elseif { ![catch {ParsePosixTimeZone $timezone} tzfields] } {
-
# This looks like a POSIX time zone - try to process it
if { [catch {ProcessPosixTimeZone $tzfields} data opts] } {
@@ -3221,9 +3130,8 @@ proc ::tcl::clock::SetupTimeZone { timezone } {
}
} else {
-
- # We couldn't parse this as a POSIX time zone. Try
- # again with a time zone file - this time without a colon
+ # We couldn't parse this as a POSIX time zone. Try again with a
+ # time zone file - this time without a colon
if { [catch { LoadTimeZoneFile $timezone }]
&& [catch { LoadZoneinfoFile $timezone } - opts] } {
@@ -3247,25 +3155,22 @@ proc ::tcl::clock::SetupTimeZone { timezone } {
# None.
#
# Results:
-# Returns a time zone specifier that corresponds to the system
-# time zone information found in the Registry.
+# Returns a time zone specifier that corresponds to the system time zone
+# information found in the Registry.
#
# Bugs:
-# Fixed dates for DST change are unimplemented at present, because
-# no time zone information supplied with Windows actually uses
-# them!
+# Fixed dates for DST change are unimplemented at present, because no
+# time zone information supplied with Windows actually uses them!
#
-# On a Windows system where neither $env(TCL_TZ) nor $env(TZ) is
-# specified, GuessWindowsTimeZone looks in the Registry for the
-# system time zone information. It then attempts to find an entry
-# in WinZoneInfo for a time zone that uses the same rules. If
-# it finds one, it returns it; otherwise, it constructs a Posix-style
-# time zone string and returns that.
+# On a Windows system where neither $env(TCL_TZ) nor $env(TZ) is specified,
+# GuessWindowsTimeZone looks in the Registry for the system time zone
+# information. It then attempts to find an entry in WinZoneInfo for a time
+# zone that uses the same rules. If it finds one, it returns it; otherwise,
+# it constructs a Posix-style time zone string and returns that.
#
#----------------------------------------------------------------------
proc ::tcl::clock::GuessWindowsTimeZone {} {
-
variable WinZoneInfo
variable NoRegistry
variable TimeZoneBad
@@ -3296,16 +3201,14 @@ proc ::tcl::clock::GuessWindowsTimeZone {} {
lappend data $val
}
}] } {
-
# Missing values in the Registry - bail out
return :localtime
}
- # Make up a Posix time zone specifier if we can't find one.
- # Check here that the tzdata file exists, in case we're running
- # in an environment (e.g. starpack) where tzdata is incomplete.
- # (Bug 1237907)
+ # Make up a Posix time zone specifier if we can't find one. Check here
+ # that the tzdata file exists, in case we're running in an environment
+ # (e.g. starpack) where tzdata is incomplete. (Bug 1237907)
if { [dict exists $WinZoneInfo $data] } {
set tzname [dict get $WinZoneInfo $data]
@@ -3353,11 +3256,11 @@ proc ::tcl::clock::GuessWindowsTimeZone {} {
if { $dstYear == 0 } {
append tzname ,M $dstMonth . $dstDayOfMonth . $dstDayOfWeek
} else {
- # I have not been able to find any locale on which
- # Windows converts time zone on a fixed day of the year,
- # hence don't know how to interpret the fields.
- # If someone can inform me, I'd be glad to code it up.
- # For right now, we bail out in such a case.
+ # I have not been able to find any locale on which Windows
+ # converts time zone on a fixed day of the year, hence don't
+ # know how to interpret the fields. If someone can inform me,
+ # I'd be glad to code it up. For right now, we bail out in
+ # such a case.
return :localtime
}
append tzname / [::format %02d $dstHour] \
@@ -3366,11 +3269,11 @@ proc ::tcl::clock::GuessWindowsTimeZone {} {
if { $stdYear == 0 } {
append tzname ,M $stdMonth . $stdDayOfMonth . $stdDayOfWeek
} else {
- # I have not been able to find any locale on which
- # Windows converts time zone on a fixed day of the year,
- # hence don't know how to interpret the fields.
- # If someone can inform me, I'd be glad to code it up.
- # For right now, we bail out in such a case.
+ # I have not been able to find any locale on which Windows
+ # converts time zone on a fixed day of the year, hence don't
+ # know how to interpret the fields. If someone can inform me,
+ # I'd be glad to code it up. For right now, we bail out in
+ # such a case.
return :localtime
}
append tzname / [::format %02d $stdHour] \
@@ -3381,7 +3284,6 @@ proc ::tcl::clock::GuessWindowsTimeZone {} {
}
return [dict get $WinZoneInfo $data]
-
}
#----------------------------------------------------------------------
@@ -3410,18 +3312,18 @@ proc ::tcl::clock::LoadTimeZoneFile { fileName } {
return
}
- # Since an unsafe interp uses the [clock] command in the master,
- # this code is security sensitive. Make sure that the path name
- # cannot escape the given directory.
+ # Since an unsafe interp uses the [clock] command in the master, this code
+ # is security sensitive. Make sure that the path name cannot escape the
+ # given directory.
if { ![regexp {^[[.-.][:alpha:]_]+(?:/[[.-.][:alpha:]_]+)*$} $fileName] } {
return -code error \
-errorcode [list CLOCK badTimeZone $:fileName] \
"time zone \":$fileName\" not valid"
}
- if { [catch {
+ try {
source -encoding utf-8 [file join $DataDir $fileName]
- }] } {
+ } on error {} {
return -code error \
-errorcode [list CLOCK badTimeZone :$fileName] \
"time zone \":$fileName\" not found"
@@ -3439,8 +3341,8 @@ proc ::tcl::clock::LoadTimeZoneFile { fileName } {
# fileName - Relative path name of the file to load.
#
# Results:
-# Returns an empty result normally; returns an error if no
-# Olson file was found or the file was malformed in some way.
+# Returns an empty result normally; returns an error if no Olson file
+# was found or the file was malformed in some way.
#
# Side effects:
# TZData(:fileName) contains the time zone data
@@ -3448,12 +3350,11 @@ proc ::tcl::clock::LoadTimeZoneFile { fileName } {
#----------------------------------------------------------------------
proc ::tcl::clock::LoadZoneinfoFile { fileName } {
-
variable ZoneinfoPaths
- # Since an unsafe interp uses the [clock] command in the master,
- # this code is security sensitive. Make sure that the path name
- # cannot escape the given directory.
+ # Since an unsafe interp uses the [clock] command in the master, this code
+ # is security sensitive. Make sure that the path name cannot escape the
+ # given directory.
if { ![regexp {^[[.-.][:alpha:]_]+(?:/[[.-.][:alpha:]_]+)*$} $fileName] } {
return -code error \
@@ -3482,19 +3383,18 @@ proc ::tcl::clock::LoadZoneinfoFile { fileName } {
# fname - Absolute path name of the file.
#
# Results:
-# Returns an empty result normally; returns an error if no
-# Olson file was found or the file was malformed in some way.
+# Returns an empty result normally; returns an error if no Olson file
+# was found or the file was malformed in some way.
#
# Side effects:
# TZData(:fileName) contains the time zone data
#
#----------------------------------------------------------------------
-
proc ::tcl::clock::ReadZoneinfoFile {fileName fname} {
variable MINWIDE
variable TZData
- if { ![file exists $fname] } {
+ if { ![info exists fname] } {
return -code error "$fileName not found"
}
@@ -3509,8 +3409,8 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} {
set d [read $f]
close $f
- # The file begins with a magic number, sixteen reserved bytes,
- # and then six 4-byte integers giving counts of fileds in the file.
+ # The file begins with a magic number, sixteen reserved bytes, and then
+ # six 4-byte integers giving counts of fileds in the file.
binary scan $d a4a1x15IIIIII \
magic version nIsGMT nIsStd nLeap nTime nType nChar
@@ -3528,18 +3428,19 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} {
return -code error "$fileName contains leap seconds"
}
- # In a version 2 file, we use the second part of the file, which
- # contains 64-bit transition times.
+ # In a version 2 file, we use the second part of the file, which contains
+ # 64-bit transition times.
if {$version eq "2"} {
- set seek [expr {44
- + 5 * $nTime
- + 6 * $nType
- + 4 * $nLeap
- + $nIsStd
- + $nIsGMT
- + $nChar
- }]
+ set seek [expr {
+ 44
+ + 5 * $nTime
+ + 6 * $nType
+ + 4 * $nLeap
+ + $nIsStd
+ + $nIsGMT
+ + $nChar
+ }]
binary scan $d @${seek}a4a1x15IIIIII \
magic version nIsGMT nIsStd nLeap nTime nType nChar
if {$magic ne {TZif}} {
@@ -3563,9 +3464,9 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} {
}
set codes [linsert $codes 0 0]
- # Next come ${nType} time type descriptions, each of which has an
- # offset (seconds east of GMT), a DST indicator, and an index into
- # the abbreviation text.
+ # Next come ${nType} time type descriptions, each of which has an offset
+ # (seconds east of GMT), a DST indicator, and an index into the
+ # abbreviation text.
for { set i 0 } { $i < $nType } { incr i } {
binary scan $d @${seek}Icc gmtOff isDst abbrInd
@@ -3573,10 +3474,10 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} {
incr seek 6
}
- # Next come $nChar characters of time zone name abbreviations,
- # which are null-terminated.
- # We build them up into a dictionary indexed by character index,
- # because that's what's in the indices above.
+ # Next come $nChar characters of time zone name abbreviations, which are
+ # null-terminated.
+ # We build them up into a dictionary indexed by character index, because
+ # that's what's in the indices above.
binary scan $d @${seek}a${nChar} abbrs
incr seek ${nChar}
@@ -3584,10 +3485,8 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} {
set i 0
set abbrevs {}
foreach a $abbrList {
- for {set j 0} {$j <= [string length $a]} {incr j} {
- dict set abbrevs $i [string range $a $j end]
- incr i
- }
+ dict set abbrevs $i $a
+ incr i [expr { [string length $a] + 1 }]
}
# Package up a list of tuples, each of which contains transition time,
@@ -3606,8 +3505,8 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} {
}
# In a version 2 file, there is also a POSIX-style time zone description
- # at the very end of the file. To get to it, skip over
- # nLeap leap second values (8 bytes each),
+ # at the very end of the file. To get to it, skip over nLeap leap second
+ # values (8 bytes each),
# nIsStd standard/DST indicators and nIsGMT UTC/local indicators.
if {$version eq {2}} {
@@ -3640,8 +3539,8 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} {
# tz Time zone specifier to be interpreted
#
# Results:
-# Returns a dictionary whose values contain the various pieces of
-# the time zone specification.
+# Returns a dictionary whose values contain the various pieces of the
+# time zone specification.
#
# Side effects:
# None.
@@ -3698,13 +3597,12 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} {
# Specify the end of DST in the same way that the start* fields
# specify the beginning of DST.
#
-# This procedure serves only to break the time specifier into fields.
-# No attempt is made to canonicalize the fields or supply default values.
+# This procedure serves only to break the time specifier into fields. No
+# attempt is made to canonicalize the fields or supply default values.
#
#----------------------------------------------------------------------
proc ::tcl::clock::ParsePosixTimeZone { tz } {
-
if {[regexp -expanded -nocase -- {
^
# 1 - Standard time zone name
@@ -3796,27 +3694,21 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } {
x(endJ) x(endDayOfYear) \
x(endMonth) x(endWeekOfMonth) x(endDayOfWeek) \
x(endHours) x(endMinutes) x(endSeconds)] } {
-
# it's a good timezone
return [array get x]
-
- } else {
-
- return -code error\
- -errorcode [list CLOCK badTimeZone $tz] \
- "unable to parse time zone specification \"$tz\""
-
}
+ return -code error\
+ -errorcode [list CLOCK badTimeZone $tz] \
+ "unable to parse time zone specification \"$tz\""
}
#----------------------------------------------------------------------
#
# ProcessPosixTimeZone --
#
-# Handle a Posix time zone after it's been broken out into
-# fields.
+# Handle a Posix time zone after it's been broken out into fields.
#
# Parameters:
# z - Dictionary returned from 'ParsePosixTimeZone'
@@ -3830,7 +3722,6 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } {
#----------------------------------------------------------------------
proc ::tcl::clock::ProcessPosixTimeZone { z } {
-
variable MINWIDE
variable TZData
@@ -3856,9 +3747,9 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } {
} else {
set stdSeconds 0
}
- set stdOffset [expr { ( ( $stdHours * 60 + $stdMinutes )
- * 60 + $stdSeconds )
- * $stdSignum }]
+ set stdOffset [expr {
+ (($stdHours * 60 + $stdMinutes) * 60 + $stdSeconds) * $stdSignum
+ }]
set data [list [list $MINWIDE $stdOffset 0 $stdName]]
# If there's no daylight zone, we're done
@@ -3892,21 +3783,17 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } {
} else {
set dstSeconds 0
}
- set dstOffset [expr { ( ( $dstHours * 60 + $dstMinutes )
- * 60 + $dstSeconds )
- * $dstSignum }]
+ set dstOffset [expr {
+ (($dstHours*60 + $dstMinutes) * 60 + $dstSeconds) * $dstSignum
+ }]
}
# Fill in defaults for European or US DST rules
- # US start time is the second Sunday in March
- # EU start time is the last Sunday in March
- # US end time is the first Sunday in November.
- # EU end time is the last Sunday in October
-
- if { [dict get $z startDayOfYear] eq {}
- && [dict get $z startMonth] eq {} } {
- if {($stdSignum * $stdHours>=0) && ($stdSignum * $stdHours<=12)} {
- # EU
+
+ if {
+ [dict get $z startDayOfYear] eq {} && [dict get $z startMonth] eq {}
+ } then {
+ if {($stdHours>=0) && ($stdHours<=12)} {
dict set z startWeekOfMonth 5
if {$stdHours>2} {
dict set z startHours 2
@@ -3914,7 +3801,6 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } {
dict set z startHours [expr {$stdHours+1}]
}
} else {
- # US
dict set z startWeekOfMonth 2
dict set z startHours 2
}
@@ -3923,10 +3809,10 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } {
dict set z startMinutes 0
dict set z startSeconds 0
}
- if { [dict get $z endDayOfYear] eq {}
- && [dict get $z endMonth] eq {} } {
- if {($stdSignum * $stdHours>=0) && ($stdSignum * $stdHours<=12)} {
- # EU
+ if {
+ [dict get $z endDayOfYear] eq {} && [dict get $z endMonth] eq {}
+ } then {
+ if {($stdHours>=0) && ($stdHours<=12)} {
dict set z endMonth 10
dict set z endWeekOfMonth 5
if {$stdHours>2} {
@@ -3935,7 +3821,6 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } {
dict set z endHours [expr {$stdHours+2}]
}
} else {
- # US
dict set z endMonth 11
dict set z endWeekOfMonth 1
dict set z endHours 2
@@ -3947,7 +3832,7 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } {
# Put DST in effect in all years from 1916 to 2099.
- for { set y 1916 } { $y < 2100 } { incr y } {
+ for { set y 1916 } { $y < 2099 } { incr y } {
set startTime [DeterminePosixDSTTime $z start $y]
incr startTime [expr { - wide($stdOffset) }]
set endTime [DeterminePosixDSTTime $z end $y]
@@ -3964,15 +3849,14 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } {
}
return $data
-
}
#----------------------------------------------------------------------
#
# DeterminePosixDSTTime --
#
-# Determines the time that Daylight Saving Time starts or ends
-# from a Posix time zone specification.
+# Determines the time that Daylight Saving Time starts or ends from a
+# Posix time zone specification.
#
# Parameters:
# z - Time zone data returned from ParsePosixTimeZone.
@@ -3982,13 +3866,12 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } {
# y - The year for which the transition time is to be determined.
#
# Results:
-# Returns the transition time as a count of seconds from
-# the epoch. The time is relative to the wall clock, not UTC.
+# Returns the transition time as a count of seconds from the epoch. The
+# time is relative to the wall clock, not UTC.
#
#----------------------------------------------------------------------
proc ::tcl::clock::DeterminePosixDSTTime { z bound y } {
-
variable FEB_28
# Determine the start or end day of DST
@@ -3996,7 +3879,6 @@ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } {
set date [dict create era CE year $y]
set doy [dict get $z ${bound}DayOfYear]
if { $doy ne {} } {
-
# Time was specified as a day of the year
if { [dict get $z ${bound}J] ne {}
@@ -4007,7 +3889,6 @@ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } {
dict set date dayOfYear $doy
set date [GetJulianDayFromEraYearDay $date[set date {}] 2361222]
} else {
-
# Time was specified as a day of the week within a month
dict set date month [dict get $z ${bound}Month]
@@ -4022,8 +3903,9 @@ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } {
}
set jd [dict get $date julianDay]
- set seconds [expr { wide($jd) * wide(86400)
- - wide(210866803200) }]
+ set seconds [expr {
+ wide($jd) * wide(86400) - wide(210866803200)
+ }]
set h [dict get $z ${bound}Hours]
if { $h eq {} } {
@@ -4045,7 +3927,6 @@ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } {
}
set tod [expr { ( $h * 60 + $m ) * 60 + $s }]
return [expr { $seconds + $tod }]
-
}
#----------------------------------------------------------------------
@@ -4063,26 +3944,26 @@ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } {
# for the target locale.
#
# Results:
-# Returns the dictionary, augmented with the keys, 'localeEra'
-# and 'localeYear'.
+# Returns the dictionary, augmented with the keys, 'localeEra' and
+# 'localeYear'.
#
#----------------------------------------------------------------------
proc ::tcl::clock::GetLocaleEra { date etable } {
-
set index [BSearch $etable [dict get $date localSeconds]]
if { $index < 0} {
dict set date localeEra \
[::format %02d [expr { [dict get $date year] / 100 }]]
- dict set date localeYear \
- [expr { [dict get $date year] % 100 }]
+ dict set date localeYear [expr {
+ [dict get $date year] % 100
+ }]
} else {
dict set date localeEra [lindex $etable $index 1]
- dict set date localeYear [expr { [dict get $date year]
- - [lindex $etable $index 2] }]
+ dict set date localeYear [expr {
+ [dict get $date year] - [lindex $etable $index 2]
+ }]
}
return $date
-
}
#----------------------------------------------------------------------
@@ -4100,10 +3981,9 @@ proc ::tcl::clock::GetLocaleEra { date etable } {
# adopted in the current locale.
#
# Results:
-# Returns the given dictionary augmented with a 'julianDay' key
-# whose value is the desired Julian Day Number, and a 'gregorian'
-# key that specifies whether the calendar is Gregorian (1) or
-# Julian (0).
+# Returns the given dictionary augmented with a 'julianDay' key whose
+# value is the desired Julian Day Number, and a 'gregorian' key that
+# specifies whether the calendar is Gregorian (1) or Julian (0).
#
# Side effects:
# None.
@@ -4114,7 +3994,6 @@ proc ::tcl::clock::GetLocaleEra { date etable } {
#----------------------------------------------------------------------
proc ::tcl::clock::GetJulianDayFromEraYearDay {date changeover} {
-
# Get absolute year number from the civil year
switch -exact -- [dict get $date era] {
@@ -4130,21 +4009,25 @@ proc ::tcl::clock::GetJulianDayFromEraYearDay {date changeover} {
# Try the Gregorian calendar first.
dict set date gregorian 1
- set jd [expr { 1721425
- + [dict get $date dayOfYear]
- + ( 365 * $ym1 )
- + ( $ym1 / 4 )
- - ( $ym1 / 100 )
- + ( $ym1 / 400 ) }]
+ set jd [expr {
+ 1721425
+ + [dict get $date dayOfYear]
+ + ( 365 * $ym1 )
+ + ( $ym1 / 4 )
+ - ( $ym1 / 100 )
+ + ( $ym1 / 400 )
+ }]
# If the date is before the Gregorian change, use the Julian calendar.
if { $jd < $changeover } {
dict set date gregorian 0
- set jd [expr { 1721423
- + [dict get $date dayOfYear]
- + ( 365 * $ym1 )
- + ( $ym1 / 4 ) }]
+ set jd [expr {
+ 1721423
+ + [dict get $date dayOfYear]
+ + ( 365 * $ym1 )
+ + ( $ym1 / 4 )
+ }]
}
dict set date julianDay $jd
@@ -4155,8 +4038,8 @@ proc ::tcl::clock::GetJulianDayFromEraYearDay {date changeover} {
#
# GetJulianDayFromEraYearMonthWeekDay --
#
-# Determines the Julian Day number corresponding to the nth
-# given day-of-the-week in a given month.
+# Determines the Julian Day number corresponding to the nth given
+# day-of-the-week in a given month.
#
# Parameters:
# date - Dictionary containing the keys, 'era', 'year', 'month'
@@ -4175,10 +4058,9 @@ proc ::tcl::clock::GetJulianDayFromEraYearDay {date changeover} {
#----------------------------------------------------------------------
proc ::tcl::clock::GetJulianDayFromEraYearMonthWeekDay {date changeover} {
-
- # Come up with a reference day; either the zeroeth day of the
- # given month (dayOfWeekInMonth >= 0) or the seventh day of the
- # following month (dayOfWeekInMonth < 0)
+ # Come up with a reference day; either the zeroeth day of the given month
+ # (dayOfWeekInMonth >= 0) or the seventh day of the following month
+ # (dayOfWeekInMonth < 0)
set date2 $date
set week [dict get $date dayOfWeekInMonth]
@@ -4194,7 +4076,6 @@ proc ::tcl::clock::GetJulianDayFromEraYearMonthWeekDay {date changeover} {
[dict get $date2 julianDay]]
dict set date julianDay [expr { $wd0 + 7 * $week }]
return $date
-
}
#----------------------------------------------------------------------
@@ -4217,7 +4098,6 @@ proc ::tcl::clock::GetJulianDayFromEraYearMonthWeekDay {date changeover} {
#----------------------------------------------------------------------
proc ::tcl::clock::IsGregorianLeapYear { date } {
-
switch -exact -- [dict get $date era] {
BCE {
set year [expr { 1 - [dict get $date year]}]
@@ -4237,15 +4117,14 @@ proc ::tcl::clock::IsGregorianLeapYear { date } {
} else {
return 1
}
-
}
#----------------------------------------------------------------------
#
# WeekdayOnOrBefore --
#
-# Determine the nearest day of week (given by the 'weekday'
-# parameter, Sunday==0) on or before a given Julian Day.
+# Determine the nearest day of week (given by the 'weekday' parameter,
+# Sunday==0) on or before a given Julian Day.
#
# Parameters:
# weekday -- Day of the week
@@ -4260,18 +4139,16 @@ proc ::tcl::clock::IsGregorianLeapYear { date } {
#----------------------------------------------------------------------
proc ::tcl::clock::WeekdayOnOrBefore { weekday j } {
-
set k [expr { ( $weekday + 6 ) % 7 }]
return [expr { $j - ( $j - $k ) % 7 }]
-
}
#----------------------------------------------------------------------
#
# BSearch --
#
-# Service procedure that does binary search in several places
-# inside the 'clock' command.
+# Service procedure that does binary search in several places inside the
+# 'clock' command.
#
# Parameters:
# list - List of lists, sorted in ascending order by the
@@ -4279,8 +4156,8 @@ proc ::tcl::clock::WeekdayOnOrBefore { weekday j } {
# key - Value to search for
#
# Results:
-# Returns the index of the greatest element in $list that is less
-# than or equal to $key.
+# Returns the index of the greatest element in $list that is less than
+# or equal to $key.
#
# Side effects:
# None.
@@ -4288,7 +4165,6 @@ proc ::tcl::clock::WeekdayOnOrBefore { weekday j } {
#----------------------------------------------------------------------
proc ::tcl::clock::BSearch { list key } {
-
if {[llength $list] == 0} {
return -1
}
@@ -4300,13 +4176,12 @@ proc ::tcl::clock::BSearch { list key } {
set u [expr { [llength $list] - 1 }]
while { $l < $u } {
-
# At this point, we know that
# $k >= [lindex $list $l 0]
# Either $u == [llength $list] or else $k < [lindex $list $u+1 0]
# We find the midpoint of the interval {l,u} rounded UP, compare
- # against it, and set l or u to maintain the invariant. Note
- # that the interval shrinks at each step, guaranteeing convergence.
+ # against it, and set l or u to maintain the invariant. Note that the
+ # interval shrinks at each step, guaranteeing convergence.
set m [expr { ( $l + $u + 1 ) / 2 }]
if { $key >= [lindex $list $m 0] } {
@@ -4350,15 +4225,14 @@ proc ::tcl::clock::BSearch { list key } {
# order.
#
# Notes:
-# It is possible that adding a number of months or years will adjust
-# the day of the month as well. For instance, the time at
-# one month after 31 January is either 28 or 29 February, because
-# February has fewer than 31 days.
+# It is possible that adding a number of months or years will adjust the
+# day of the month as well. For instance, the time at one month after
+# 31 January is either 28 or 29 February, because February has fewer
+# than 31 days.
#
#----------------------------------------------------------------------
proc ::tcl::clock::add { clockval args } {
-
if { [llength $args] % 2 != 0 } {
set cmdName "clock add"
return -code error \
@@ -4377,15 +4251,10 @@ proc ::tcl::clock::add { clockval args } {
set timezone [GetSystemTimeZone]
foreach { a b } $args {
-
if { [string is integer -strict $a] } {
-
lappend offsets $a $b
-
} else {
-
switch -exact -- $a {
-
-g - -gm - -gmt {
set gmt $b
}
@@ -4397,8 +4266,7 @@ proc ::tcl::clock::add { clockval args } {
set timezone $b
}
default {
- return -code error \
- -errorcode [list CLOCK badSwitch $a] \
+ throw [list CLOCK badSwitch $a] \
"bad switch \"$a\",\
must be -gmt, -locale or -timezone"
}
@@ -4414,16 +4282,12 @@ proc ::tcl::clock::add { clockval args } {
"cannot use -gmt and -timezone in same call"
}
if { [catch { expr { wide($clockval) } } result] } {
- return -code error \
- "expected integer but got \"$clockval\""
+ return -code error "expected integer but got \"$clockval\""
}
- if { ![string is boolean $gmt] } {
- return -code error \
- "expected boolean value but got \"$gmt\""
- } else {
- if { $gmt } {
- set timezone :GMT
- }
+ if { ![string is boolean -strict $gmt] } {
+ return -code error "expected boolean value but got \"$gmt\""
+ } elseif { $gmt } {
+ set timezone :GMT
}
EnterLocale $locale oldLocale
@@ -4435,29 +4299,25 @@ proc ::tcl::clock::add { clockval args } {
return -options $opts $retval
}
- set status [catch {
-
+ try {
foreach { quantity unit } $offsets {
-
switch -exact -- $unit {
-
years - year {
- set clockval \
- [AddMonths [expr { 12 * $quantity }] \
- $clockval $timezone $changeover]
+ set clockval [AddMonths [expr { 12 * $quantity }] \
+ $clockval $timezone $changeover]
}
months - month {
set clockval [AddMonths $quantity $clockval $timezone \
- $changeover]
+ $changeover]
}
weeks - week {
set clockval [AddDays [expr { 7 * $quantity }] \
- $clockval $timezone $changeover]
+ $clockval $timezone $changeover]
}
days - day {
set clockval [AddDays $quantity $clockval $timezone \
- $changeover]
+ $changeover]
}
hours - hour {
@@ -4471,31 +4331,24 @@ proc ::tcl::clock::add { clockval args } {
}
default {
- error "unknown unit \"$unit\", must be \
- years, months, weeks, days, hours, minutes or seconds" \
- "unknown unit \"$unit\", must be \
- years, months, weeks, days, hours, minutes or seconds" \
- [list CLOCK badUnit $unit]
+ throw [list CLOCK badUnit $unit] \
+ "unknown unit \"$unit\", must be \
+ years, months, weeks, days, hours, minutes or seconds"
}
}
}
- } result opts]
-
- # Restore the locale
-
- if { [info exists oldLocale] } {
- mclocale $oldLocale
- }
+ return $clockval
+ } trap CLOCK {result opts} {
+ # Conceal the innards of [clock] when it's an expected error
+ dict unset opts -errorinfo
+ return -options $opts $result
+ } finally {
+ # Restore the locale
- if { $status == 1 } {
- if { [lindex [dict get $opts -errorcode] 0] eq {CLOCK} } {
- dict unset opts -errorinfo
+ if { [info exists oldLocale] } {
+ mclocale $oldLocale
}
- return -options $opts $result
- } else {
- return $clockval
}
-
}
#----------------------------------------------------------------------
@@ -4520,7 +4373,6 @@ proc ::tcl::clock::add { clockval args } {
#----------------------------------------------------------------------
proc ::tcl::clock::AddMonths { months clockval timezone changeover } {
-
variable DaysInRomanMonthInCommonYear
variable DaysInRomanMonthInLeapYear
variable TZData
@@ -4528,8 +4380,9 @@ proc ::tcl::clock::AddMonths { months clockval timezone changeover } {
# Convert the time to year, month, day, and fraction of day.
set date [GetDateFields $clockval $TZData($timezone) $changeover]
- dict set date secondOfDay [expr { [dict get $date localSeconds]
- % 86400 }]
+ dict set date secondOfDay [expr {
+ [dict get $date localSeconds] % 86400
+ }]
dict set date tzName $timezone
# Add the requisite number of months
@@ -4558,23 +4411,23 @@ proc ::tcl::clock::AddMonths { months clockval timezone changeover } {
set date [GetJulianDayFromEraYearMonthDay \
$date[set date {}]\
$changeover]
- dict set date localSeconds \
- [expr { -210866803200
- + ( 86400 * wide([dict get $date julianDay]) )
- + [dict get $date secondOfDay] }]
+ dict set date localSeconds [expr {
+ -210866803200
+ + ( 86400 * wide([dict get $date julianDay]) )
+ + [dict get $date secondOfDay]
+ }]
set date [ConvertLocalToUTC $date[set date {}] $TZData($timezone) \
$changeover]
return [dict get $date seconds]
-
}
#----------------------------------------------------------------------
#
# AddDays --
#
-# Add a given number of days to a given clock value in a given
-# time zone.
+# Add a given number of days to a given clock value in a given time
+# zone.
#
# Parameters:
# days - Number of days to add (may be negative)
@@ -4584,8 +4437,7 @@ proc ::tcl::clock::AddMonths { months clockval timezone changeover } {
# in the target locale.
#
# Results:
-# Returns the new clock value as a number of seconds since
-# the epoch.
+# Returns the new clock value as a number of seconds since the epoch.
#
# Side effects:
# None.
@@ -4593,14 +4445,14 @@ proc ::tcl::clock::AddMonths { months clockval timezone changeover } {
#----------------------------------------------------------------------
proc ::tcl::clock::AddDays { days clockval timezone changeover } {
-
variable TZData
# Convert the time to Julian Day
set date [GetDateFields $clockval $TZData($timezone) $changeover]
- dict set date secondOfDay [expr { [dict get $date localSeconds]
- % 86400 }]
+ dict set date secondOfDay [expr {
+ [dict get $date localSeconds] % 86400
+ }]
dict set date tzName $timezone
# Add the requisite number of days
@@ -4609,23 +4461,23 @@ proc ::tcl::clock::AddDays { days clockval timezone changeover } {
# Reconvert to a number of seconds
- dict set date localSeconds \
- [expr { -210866803200
- + ( 86400 * wide([dict get $date julianDay]) )
- + [dict get $date secondOfDay] }]
+ dict set date localSeconds [expr {
+ -210866803200
+ + ( 86400 * wide([dict get $date julianDay]) )
+ + [dict get $date secondOfDay]
+ }]
set date [ConvertLocalToUTC $date[set date {}] $TZData($timezone) \
$changeover]
return [dict get $date seconds]
-
}
#----------------------------------------------------------------------
#
# mc --
#
-# Wrapper around ::msgcat::mc that caches the result according
-# to the locale.
+# Wrapper around ::msgcat::mc that caches the result according to the
+# locale.
#
# Parameters:
# Accepts the name of the message to retrieve.
@@ -4646,11 +4498,10 @@ proc ::tcl::clock::mc { name } {
set Locale [mclocale]
if { [dict exists $McLoaded $Locale $name] } {
return [dict get $McLoaded $Locale $name]
- } else {
- set val [::msgcat::mc $name]
- dict set McLoaded $Locale $name $val
- return $val
}
+ set val [::msgcat::mc $name]
+ dict set McLoaded $Locale $name $val
+ return $val
}
#----------------------------------------------------------------------
@@ -4671,7 +4522,6 @@ proc ::tcl::clock::mc { name } {
#----------------------------------------------------------------------
proc ::tcl::clock::ClearCaches {} {
-
variable FormatProc
variable LocaleNumeralCache
variable McLoaded
@@ -4691,5 +4541,4 @@ proc ::tcl::clock::ClearCaches {} {
catch {unset CachedSystemTimeZone}
set TimeZoneBad {}
InitTZData
-
}
diff --git a/library/dde/pkgIndex.tcl b/library/dde/pkgIndex.tcl
index 114dee6..3125ada 100644
--- a/library/dde/pkgIndex.tcl
+++ b/library/dde/pkgIndex.tcl
@@ -1,7 +1,7 @@
-if {![package vsatisfies [package provide Tcl] 8]} return
-if {[info sharedlibextension] != ".dll"} return
+if {![package vsatisfies [package provide Tcl] 8]} {return}
+if {[string compare $::tcl_platform(platform) windows]} {return}
if {[info exists ::tcl_platform(debug)]} {
- package ifneeded dde 1.3.3 [list load [file join $dir tcldde13g.dll] dde]
+ package ifneeded dde 1.3.2 [list load [file join $dir tcldde13g.dll] dde]
} else {
- package ifneeded dde 1.3.3 [list load [file join $dir tcldde13.dll] dde]
+ package ifneeded dde 1.3.2 [list load [file join $dir tcldde13.dll] dde]
}
diff --git a/library/history.tcl b/library/history.tcl
index 888d144..077d604 100644
--- a/library/history.tcl
+++ b/library/history.tcl
@@ -2,20 +2,22 @@
#
# Implementation of the history command.
#
+# RCS: @(#) $Id: history.tcl,v 1.8 2009/07/25 21:51:02 dkf Exp $
+#
# Copyright (c) 1997 Sun Microsystems, Inc.
#
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+# See the file "license.terms" for information on usage and redistribution of
+# this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-
-# The tcl::history array holds the history list and
-# some additional bookkeeping variables.
+
+# The tcl::history array holds the history list and some additional
+# bookkeeping variables.
#
# nextid the index used for the next history list item.
# keep the max size of the history list
# oldest the index of the oldest item in the history.
-namespace eval tcl {
+namespace eval ::tcl {
variable history
if {![info exists history]} {
array set history {
@@ -24,163 +26,78 @@ namespace eval tcl {
oldest -20
}
}
-}
+ namespace ensemble create -command ::tcl::history -map {
+ add ::tcl::HistAdd
+ change ::tcl::HistChange
+ clear ::tcl::HistClear
+ event ::tcl::HistEvent
+ info ::tcl::HistInfo
+ keep ::tcl::HistKeep
+ nextid ::tcl::HistNextID
+ redo ::tcl::HistRedo
+ }
+}
+
# history --
#
# This is the main history command. See the man page for its interface.
-# This does argument checking and calls helper procedures in the
-# history namespace.
+# This does some argument checking and calls the helper ensemble in the
+# tcl namespace.
-proc history {args} {
- set len [llength $args]
- if {$len == 0} {
- return [tcl::HistInfo]
- }
- set key [lindex $args 0]
- set options "add, change, clear, event, info, keep, nextid, or redo"
- switch -glob -- $key {
- a* { # history add
+proc ::history {args} {
+ # If no command given, we're doing 'history info'. Can't be done with an
+ # ensemble unknown handler, as those don't fire when no subcommand is
+ # given at all.
- if {$len > 3} {
- return -code error "wrong # args: should be \"history add event ?exec?\""
- }
- if {![string match $key* add]} {
- return -code error "bad option \"$key\": must be $options"
- }
- if {$len == 3} {
- set arg [lindex $args 2]
- if {! ([string match e* $arg] && [string match $arg* exec])} {
- return -code error "bad argument \"$arg\": should be \"exec\""
- }
- }
- return [tcl::HistAdd [lindex $args 1] [lindex $args 2]]
- }
- ch* { # history change
-
- if {($len > 3) || ($len < 2)} {
- return -code error "wrong # args: should be \"history change newValue ?event?\""
- }
- if {![string match $key* change]} {
- return -code error "bad option \"$key\": must be $options"
- }
- if {$len == 2} {
- set event 0
- } else {
- set event [lindex $args 2]
- }
-
- return [tcl::HistChange [lindex $args 1] $event]
- }
- cl* { # history clear
-
- if {($len > 1)} {
- return -code error "wrong # args: should be \"history clear\""
- }
- if {![string match $key* clear]} {
- return -code error "bad option \"$key\": must be $options"
- }
- return [tcl::HistClear]
- }
- e* { # history event
-
- if {$len > 2} {
- return -code error "wrong # args: should be \"history event ?event?\""
- }
- if {![string match $key* event]} {
- return -code error "bad option \"$key\": must be $options"
- }
- if {$len == 1} {
- set event -1
- } else {
- set event [lindex $args 1]
- }
- return [tcl::HistEvent $event]
- }
- i* { # history info
-
- if {$len > 2} {
- return -code error "wrong # args: should be \"history info ?count?\""
- }
- if {![string match $key* info]} {
- return -code error "bad option \"$key\": must be $options"
- }
- return [tcl::HistInfo [lindex $args 1]]
- }
- k* { # history keep
-
- if {$len > 2} {
- return -code error "wrong # args: should be \"history keep ?count?\""
- }
- if {$len == 1} {
- return [tcl::HistKeep]
- } else {
- set limit [lindex $args 1]
- if {[catch {expr {~$limit}}] || ($limit < 0)} {
- return -code error "illegal keep count \"$limit\""
- }
- return [tcl::HistKeep $limit]
- }
- }
- n* { # history nextid
-
- if {$len > 1} {
- return -code error "wrong # args: should be \"history nextid\""
- }
- if {![string match $key* nextid]} {
- return -code error "bad option \"$key\": must be $options"
- }
- return [expr {$tcl::history(nextid) + 1}]
- }
- r* { # history redo
-
- if {$len > 2} {
- return -code error "wrong # args: should be \"history redo ?event?\""
- }
- if {![string match $key* redo]} {
- return -code error "bad option \"$key\": must be $options"
- }
- return [tcl::HistRedo [lindex $args 1]]
- }
- default {
- return -code error "bad option \"$key\": must be $options"
- }
+ if {[llength $args] == 0} {
+ set args info
}
-}
+ # Tricky stuff needed to make stack and errors come out right!
+ tailcall apply {args {tailcall history {*}$args} ::tcl} {*}$args
+}
+
# tcl::HistAdd --
#
# Add an item to the history, and optionally eval it at the global scope
#
# Parameters:
-# command the command to add
-# exec (optional) a substring of "exec" causes the
-# command to be evaled.
+# event the command to add
+# exec (optional) a substring of "exec" causes the command to
+# be evaled.
# Results:
# If executing, then the results of the command are returned
#
# Side Effects:
# Adds to the history list
- proc tcl::HistAdd {command {exec {}}} {
+proc ::tcl::HistAdd {event {exec {}}} {
variable history
+ if {
+ [prefix longest {exec {}} $exec] eq ""
+ && [llength [info level 0]] == 3
+ } then {
+ return -code error "bad argument \"$exec\": should be \"exec\""
+ }
+
# Do not add empty commands to the history
- if {[string trim $command] eq ""} {
+ if {[string trim $event] eq ""} {
return ""
}
- set i [incr history(nextid)]
- set history($i) $command
- set j [incr history(oldest)]
- unset -nocomplain history($j)
- if {[string match e* $exec]} {
- return [uplevel #0 $command]
- } else {
- return {}
+ # Maintain the history
+ set history([incr history(nextid)]) $event
+ unset -nocomplain history([incr history(oldest)])
+
+ # Only execute if 'exec' (or non-empty prefix of it) given
+ if {$exec eq ""} {
+ return ""
}
+ tailcall eval $event
}
-
+
# tcl::HistKeep --
#
# Set or query the limit on the length of the history list
@@ -194,20 +111,22 @@ proc history {args} {
# Side Effects:
# Updates history(keep) if a limit is specified
- proc tcl::HistKeep {{limit {}}} {
+proc ::tcl::HistKeep {{count {}}} {
variable history
- if {$limit eq ""} {
+ if {[llength [info level 0]] == 1} {
return $history(keep)
- } else {
- set oldold $history(oldest)
- set history(oldest) [expr {$history(nextid) - $limit}]
- for {} {$oldold <= $history(oldest)} {incr oldold} {
- unset -nocomplain history($oldold)
- }
- set history(keep) $limit
}
+ if {![string is integer -strict $count] || ($count < 0)} {
+ return -code error "illegal keep count \"$count\""
+ }
+ set oldold $history(oldest)
+ set history(oldest) [expr {$history(nextid) - $count}]
+ for {} {$oldold <= $history(oldest)} {incr oldold} {
+ unset -nocomplain history($oldold)
+ }
+ set history(keep) $count
}
-
+
# tcl::HistClear --
#
# Erase the history list
@@ -221,7 +140,7 @@ proc history {args} {
# Side Effects:
# Resets the history array, except for the keep limit
- proc tcl::HistClear {} {
+proc ::tcl::HistClear {} {
variable history
set keep $history(keep)
unset history
@@ -231,7 +150,7 @@ proc history {args} {
oldest -$keep \
]
}
-
+
# tcl::HistInfo --
#
# Return a pretty-printed version of the history list
@@ -242,14 +161,16 @@ proc history {args} {
# Results:
# A formatted history list
- proc tcl::HistInfo {{num {}}} {
+proc ::tcl::HistInfo {{count {}}} {
variable history
- if {$num eq ""} {
- set num [expr {$history(keep) + 1}]
+ if {[llength [info level 0]] == 1} {
+ set count [expr {$history(keep) + 1}]
+ } elseif {![string is integer -strict $count]} {
+ return -code error "bad integer \"$count\""
}
set result {}
set newline ""
- for {set i [expr {$history(nextid) - $num + 1}]} \
+ for {set i [expr {$history(nextid) - $count + 1}]} \
{$i <= $history(nextid)} {incr i} {
if {![info exists history($i)]} {
continue
@@ -260,11 +181,11 @@ proc history {args} {
}
return $result
}
-
+
# tcl::HistRedo --
#
-# Fetch the previous or specified event, execute it, and then
-# replace the current history item with that event.
+# Fetch the previous or specified event, execute it, and then replace
+# the current history item with that event.
#
# Parameters:
# event (optional) index of history item to redo. Defaults to -1,
@@ -276,20 +197,18 @@ proc history {args} {
# Side Effects:
# Replaces the current history list item with the one being redone.
- proc tcl::HistRedo {{event -1}} {
+proc ::tcl::HistRedo {{event -1}} {
variable history
- if {$event eq ""} {
- set event -1
- }
+
set i [HistIndex $event]
if {$i == $history(nextid)} {
return -code error "cannot redo the current event"
}
set cmd $history($i)
HistChange $cmd 0
- uplevel #0 $cmd
+ tailcall eval $cmd
}
-
+
# tcl::HistIndex --
#
# Map from an event specifier to an index in the history list.
@@ -299,15 +218,15 @@ proc history {args} {
# If this is a positive number, it is used directly.
# If it is a negative number, then it counts back to a previous
# event, where -1 is the most recent event.
-# A string can be matched, either by being the prefix of
-# a command or by matching a command with string match.
+# A string can be matched, either by being the prefix of a
+# command or by matching a command with string match.
#
# Results:
# The index into history, or an error if the index didn't match.
- proc tcl::HistIndex {event} {
+proc ::tcl::HistIndex {event} {
variable history
- if {[catch {expr {~$event}}]} {
+ if {![string is integer -strict $event]} {
for {set i [expr {$history(nextid)-1}]} {[info exists history($i)]} \
{incr i -1} {
if {[string match $event* $history($i)]} {
@@ -331,43 +250,64 @@ proc history {args} {
}
return $i
}
-
+
# tcl::HistEvent --
#
# Map from an event specifier to the value in the history list.
#
# Parameters:
-# event index of history item to redo. See index for a
-# description of possible event patterns.
+# event index of history item to redo. See index for a description of
+# possible event patterns.
#
# Results:
# The value from the history list.
- proc tcl::HistEvent {event} {
+proc ::tcl::HistEvent {{event -1}} {
variable history
set i [HistIndex $event]
- if {[info exists history($i)]} {
- return [string trimright $history($i) \ \n]
- } else {
- return "";
+ if {![info exists history($i)]} {
+ return ""
}
+ return [string trimright $history($i) \ \n]
}
-
+
# tcl::HistChange --
#
# Replace a value in the history list.
#
# Parameters:
-# cmd The new value to put into the history list.
-# event (optional) index of history item to redo. See index for a
-# description of possible event patterns. This defaults
-# to 0, which specifies the current event.
+# newValue The new value to put into the history list.
+# event (optional) index of history item to redo. See index for a
+# description of possible event patterns. This defaults to 0,
+# which specifies the current event.
#
# Side Effects:
# Changes the history list.
- proc tcl::HistChange {cmd {event 0}} {
+proc ::tcl::HistChange {newValue {event 0}} {
variable history
set i [HistIndex $event]
- set history($i) $cmd
+ set history($i) $newValue
}
+
+# tcl::HistNextID --
+#
+# Returns the number of the next history event.
+#
+# Parameters:
+# None.
+#
+# Side Effects:
+# None.
+
+proc ::tcl::HistNextID {} {
+ variable history
+ return [expr {$history(nextid) + 1}]
+}
+
+return
+
+# Local Variables:
+# mode: tcl
+# fill-column: 78
+# End:
diff --git a/library/http/http.tcl b/library/http/http.tcl
index 98d2c5d..654d8b0 100644
--- a/library/http/http.tcl
+++ b/library/http/http.tcl
@@ -7,11 +7,13 @@
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# RCS: @(#) $Id: http.tcl,v 1.76 2009/04/19 18:27:59 patthoyts Exp $
-package require Tcl 8.4
+package require Tcl 8.6
# Keep this in sync with pkgIndex.tcl and with the install directories in
# Makefiles
-package provide http 2.7.12
+package provide http 2.8.1
namespace eval http {
# Allow resourcing to not clobber existing data
@@ -25,7 +27,13 @@ namespace eval http {
-proxyfilter http::ProxyRequired
-urlencoding utf-8
}
- set http(-useragent) "Tcl http client package [package provide http]"
+ # We need a useragent string of this style or various servers will refuse to
+ # send us compressed content even when we ask for it. This follows the
+ # de-facto layout of user-agent strings in current browsers.
+ set http(-useragent) "Mozilla/5.0\
+ ([string totitle $::tcl_platform(platform)]; U;\
+ $::tcl_platform(os) $::tcl_platform(osVersion))\
+ http/[package provide http] Tcl/[package provide Tcl]"
}
proc init {} {
@@ -37,11 +45,11 @@ namespace eval http {
for {set i 0} {$i <= 256} {incr i} {
set c [format %c $i]
if {![string match {[-._~a-zA-Z0-9]} $c]} {
- set map($c) %[format %.2X $i]
+ set map($c) %[format %.2x $i]
}
}
# These are handled specially
- set map(\n) %0D%0A
+ set map(\n) %0d%0a
variable formMap [array get map]
# Create a map for HTTP/1.1 open sockets
@@ -92,7 +100,7 @@ namespace eval http {
# Arguments:
# msg Message to output
#
-proc http::Log {args} {}
+if {[info command http::Log] eq {}} { proc http::Log {args} {} }
# http::register --
#
@@ -199,13 +207,15 @@ proc http::Finish {token {errormsg ""} {skipCB 0}} {
if {[info exists state(after)]} {
after cancel $state(after)
}
- if {[info exists state(-command)] && !$skipCB
- && ![info exists state(done-command-cb)]} {
- set state(done-command-cb) yes
- if {[catch {eval $state(-command) {$token}} err] && $errormsg eq ""} {
- set state(error) [list $err $errorInfo $errorCode]
- set state(status) error
+ if {[info exists state(-command)] && !$skipCB} {
+ if {[catch {eval $state(-command) {$token}} err]} {
+ if {$errormsg eq ""} {
+ set state(error) [list $err $errorInfo $errorCode]
+ set state(status) error
+ }
}
+ # Command callback may already have unset our state
+ unset -nocomplain state(-command)
}
}
@@ -388,16 +398,13 @@ proc http::geturl {url args} {
# First, before the colon, is the protocol scheme (e.g. http)
# Second, for HTTP-like protocols, is the authority
# The authority is preceded by // and lasts up to (but not including)
- # the following / or ? and it identifies up to four parts, of which
- # only one, the host, is required (if an authority is present at all).
- # All other parts of the authority (user name, password, port number)
- # are optional.
+ # the following / and it identifies up to four parts, of which only one,
+ # the host, is required (if an authority is present at all). All other
+ # parts of the authority (user name, password, port number) are optional.
# Third is the resource name, which is split into two parts at a ?
# The first part (from the single "/" up to "?") is the path, and the
# second part (from that "?" up to "#") is the query. *HOWEVER*, we do
# not need to separate them; we send the whole lot to the server.
- # Both, path and query are allowed to be missing, including their
- # delimiting character.
# Fourth is the fragment identifier, which is everything after the first
# "#" in the URL. The fragment identifier MUST NOT be sent to the server
# and indeed, we don't bother to validate it (it could be an error to
@@ -432,7 +439,7 @@ proc http::geturl {url args} {
( [^/:\#?]+ ) # <host part of authority>
(?: : (\d+) )? # <port part of authority>
)?
- ( [/\?] [^\#]*)? # <path> (including query)
+ ( / [^\#?]* (?: \? [^\#?]* )?)? # <path> (including query)
(?: \# (.*) )? # <fragment>
$
}
@@ -475,12 +482,6 @@ proc http::geturl {url args} {
}
}
if {$srvurl ne ""} {
- # RFC 3986 allows empty paths (not even a /), but servers
- # return 400 if the path in the HTTP request doesn't start
- # with / , so add it here if needed.
- if {[string index $srvurl 0] ne "/"} {
- set srvurl /$srvurl
- }
# Check for validity according to RFC 3986, Appendix A
set validityRE {(?xi)
^
@@ -537,10 +538,11 @@ proc http::geturl {url args} {
# If a timeout is specified we set up the after event and arrange for an
# asynchronous socket connection.
- set sockopts [list -async]
+ set sockopts [list]
if {$state(-timeout) > 0} {
set state(after) [after $state(-timeout) \
[list http::reset $token timeout]]
+ lappend sockopts -async
}
# If we are using the proxy, we must pass in the full URL that includes
@@ -596,15 +598,10 @@ proc http::geturl {url args} {
set socketmap($state(socketinfo)) $sock
}
- if {![info exists phost]} {
- set phost ""
- }
- fileevent $sock writable [list http::Connect $token $proto $phost $srvurl]
-
# Wait for the connection to complete.
- if {![info exists state(-command)]} {
- # geturl does EVERYTHING asynchronously, so if the user
- # calls it synchronously, we just do a wait here.
+
+ if {$state(-timeout) > 0} {
+ fileevent $sock writable [list http::Connect $token]
http::wait $token
if {![info exists state]} {
@@ -620,29 +617,13 @@ proc http::geturl {url args} {
set err [lindex $state(error) 0]
cleanup $token
return -code error $err
+ } elseif {$state(status) ne "connect"} {
+ # Likely to be connection timeout
+ return $token
}
+ set state(status) ""
}
- return $token
-}
-
-
-proc http::Connected { token proto phost srvurl} {
- variable http
- variable urlTypes
-
- variable $token
- upvar 0 $token state
-
- # Set back the variables needed here
- set sock $state(sock)
- set isQueryChannel [info exists state(-querychannel)]
- set isQuery [info exists state(-query)]
- set host [lindex [split $state(socketinfo) :] 0]
- set port [lindex [split $state(socketinfo) :] 1]
-
- set defport [lindex $urlTypes($proto) 0]
-
# Send data in cr-lf format, but accept any line terminators
fconfigure $sock -translation {auto crlf} -buffersize $state(-blocksize)
@@ -674,7 +655,11 @@ proc http::Connected { token proto phost srvurl} {
if {[info exists state(-method)] && $state(-method) ne ""} {
set how $state(-method)
}
-
+ # We cannot handle chunked encodings with -handler, so force HTTP/1.0
+ # until we can manage this.
+ if {[info exists state(-handler)]} {
+ set state(-protocol) 1.0
+ }
if {[catch {
puts $sock "$how $srvurl HTTP/$state(-protocol)"
puts $sock "Accept: $http(-accept)"
@@ -701,7 +686,6 @@ proc http::Connected { token proto phost srvurl} {
puts $sock "Proxy-Connection: Keep-Alive"
}
set accept_encoding_seen 0
- set content_type_seen 0
foreach {key value} $state(-headers) {
if {[string equal -nocase $key "host"]} {
continue
@@ -709,9 +693,6 @@ proc http::Connected { token proto phost srvurl} {
if {[string equal -nocase $key "accept-encoding"]} {
set accept_encoding_seen 1
}
- if {[string equal -nocase $key "content-type"]} {
- set content_type_seen 1
- }
set value [string map [list \n "" \r ""] $value]
set key [string trim $key]
if {[string equal -nocase $key "content-length"]} {
@@ -722,14 +703,8 @@ proc http::Connected { token proto phost srvurl} {
puts $sock "$key: $value"
}
}
- # Soft zlib dependency check - no package require
- if {
- !$accept_encoding_seen &&
- ([package vsatisfies [package provide Tcl] 8.6]
- || [llength [package provide zlib]]) &&
- !([info exists state(-channel)] || [info exists state(-handler)])
- } then {
- puts $sock "Accept-Encoding: gzip, identity, *;q=0.1"
+ if {!$accept_encoding_seen && ![info exists state(-handler)]} {
+ puts $sock "Accept-Encoding: deflate,gzip,compress"
}
if {$isQueryChannel && $state(querylength) == 0} {
# Try to determine size of data in channel. If we cannot seek, the
@@ -760,9 +735,7 @@ proc http::Connected { token proto phost srvurl} {
# response.
if {$isQuery || $isQueryChannel} {
- if {!$content_type_seen} {
- puts $sock "Content-Type: $state(-type)"
- }
+ puts $sock "Content-Type: $state(-type)"
if {!$contDone} {
puts $sock "Content-Length: $state(querylength)"
}
@@ -775,17 +748,35 @@ proc http::Connected { token proto phost srvurl} {
fileevent $sock readable [list http::Event $sock $token]
}
+ if {![info exists state(-command)]} {
+ # geturl does EVERYTHING asynchronously, so if the user calls it
+ # synchronously, we just do a wait here.
+
+ wait $token
+ if {$state(status) eq "error"} {
+ # Something went wrong, so throw the exception, and the
+ # enclosing catch will do cleanup.
+ return -code error [lindex $state(error) 0]
+ }
+ }
} err]} then {
# The socket probably was never connected, or the connection dropped
# later.
+ # Clean up after events and such, but DON'T call the command callback
+ # (if available) because we're going to throw an exception from here
+ # instead.
+
# if state(status) is error, it means someone's already called Finish
# to do the above-described clean up.
if {$state(status) ne "error"} {
- Finish $token $err
+ Finish $token $err 1
}
+ cleanup $token
+ return -code error $err
}
+ return $token
}
# Data access functions:
@@ -869,18 +860,18 @@ proc http::cleanup {token} {
# Sets the status of the connection, which unblocks
# the waiting geturl call
-proc http::Connect {token proto phost srvurl} {
+proc http::Connect {token} {
variable $token
upvar 0 $token state
- set err "due to unexpected EOF"
+ global errorInfo errorCode
if {
[eof $state(sock)] ||
- [set err [fconfigure $state(sock) -error]] ne ""
+ [string length [fconfigure $state(sock) -error]]
} then {
- Finish $token "connect failed $err"
+ Finish $token "connect failed [fconfigure $state(sock) -error]" 1
} else {
+ set state(status) connect
fileevent $state(sock) writable {}
- ::http::Connected $token $proto $phost $srvurl
}
return
}
@@ -985,7 +976,7 @@ proc http::Event {sock token} {
} elseif {$n == 0} {
# We have now read all headers
# We ignore HTTP/1.1 100 Continue returns. RFC2616 sec 8.2.3
- if {$state(http) == "" || ([regexp {^\S+\s(\d+)} $state(http) {} x] && $x == 100)} {
+ if {$state(http) == "" || [lindex $state(http) 1] == 100} {
return
}
@@ -1021,22 +1012,16 @@ proc http::Event {sock token} {
# Turn off conversions for non-text data
set state(binary) 1
}
- if {
- $state(binary) || [string match *gzip* $state(coding)] ||
- [string match *compress* $state(coding)]
- } then {
- if {[info exists state(-channel)]} {
+ if {[info exists state(-channel)]} {
+ if {$state(binary) || [llength [ContentEncoding $token]]} {
fconfigure $state(-channel) -translation binary
}
- }
- if {
- [info exists state(-channel)] &&
- ![info exists state(-handler)]
- } then {
- # Initiate a sequence of background fcopies
- fileevent $sock readable {}
- CopyStart $sock $token
- return
+ if {![info exists state(-handler)]} {
+ # Initiate a sequence of background fcopies
+ fileevent $sock readable {}
+ CopyStart $sock $token
+ return
+ }
}
} elseif {$n > 0} {
# Process header lines
@@ -1045,14 +1030,8 @@ proc http::Event {sock token} {
content-type {
set state(type) [string trim [string tolower $value]]
# grab the optional charset information
- if {[regexp -nocase \
- {charset\s*=\s*\"((?:[^""]|\\\")*)\"} \
- $state(type) -> cs]} {
- set state(charset) [string map {{\"} \"} $cs]
- } else {
- regexp -nocase {charset\s*=\s*(\S+?);?} \
- $state(type) -> state(charset)
- }
+ regexp -nocase {charset\s*=\s*(\S+?);?} \
+ $state(type) -> state(charset)
}
content-length {
set state(totalsize) [string trim $value]
@@ -1188,14 +1167,54 @@ proc http::getTextLine {sock} {
# Side Effects
# This closes the connection upon error
-proc http::CopyStart {sock token} {
- variable $token
+proc http::CopyStart {sock token {initial 1}} {
+ upvar #0 $token state
+ if {[info exists state(transfer)] && $state(transfer) eq "chunked"} {
+ foreach coding [ContentEncoding $token] {
+ lappend state(zlib) [zlib stream $coding]
+ }
+ make-transformation-chunked $sock [namespace code [list CopyChunk $token]]
+ } else {
+ if {$initial} {
+ foreach coding [ContentEncoding $token] {
+ zlib push $coding $sock
+ }
+ }
+ if {[catch {
+ fcopy $sock $state(-channel) -size $state(-blocksize) -command \
+ [list http::CopyDone $token]
+ } err]} {
+ Finish $token $err
+ }
+ }
+}
+
+proc http::CopyChunk {token chunk} {
upvar 0 $token state
- if {[catch {
- fcopy $sock $state(-channel) -size $state(-blocksize) -command \
- [list http::CopyDone $token]
- } err]} then {
- Finish $token $err
+ if {[set count [string length $chunk]]} {
+ incr state(currentsize) $count
+ if {[info exists state(zlib)]} {
+ foreach stream $state(zlib) {
+ set chunk [$stream add $chunk]
+ }
+ }
+ puts -nonewline $state(-channel) $chunk
+ if {[info exists state(-progress)]} {
+ eval [linsert $state(-progress) end \
+ $token $state(totalsize) $state(currentsize)]
+ }
+ } else {
+ Log "CopyChunk Finish $token"
+ if {[info exists state(zlib)]} {
+ set excess ""
+ foreach stream $state(zlib) {
+ catch {set excess [$stream add -finalize $excess]}
+ }
+ puts -nonewline $state(-channel) $excess
+ foreach stream $state(zlib) { $stream close }
+ unset state(zlib)
+ }
+ Eof $token ;# FIX ME: pipelining.
}
}
@@ -1225,7 +1244,7 @@ proc http::CopyDone {token count {error {}}} {
} elseif {[catch {eof $sock} iseof] || $iseof} {
Eof $token
} else {
- CopyStart $sock $token
+ CopyStart $sock $token 0
}
}
@@ -1249,34 +1268,31 @@ proc http::Eof {token {force 0}} {
set state(status) ok
}
- if {($state(coding) eq "gzip") && [string length $state(body)] > 0} {
- if {[catch {
- if {[package vsatisfies [package present Tcl] 8.6]} {
- # The zlib integration into 8.6 includes proper gzip support
- set state(body) [zlib gunzip $state(body)]
- } else {
- set state(body) [Gunzip $state(body)]
+ if {[string length $state(body)] > 0} {
+ if {[catch {
+ foreach coding [ContentEncoding $token] {
+ set state(body) [zlib $coding $state(body)]
}
- } err]} then {
+ } err]} {
+ Log "error doing $coding '$state(body)'"
return [Finish $token $err]
- }
- }
-
- if {!$state(binary)} {
- # If we are getting text, set the incoming channel's encoding
- # correctly. iso8859-1 is the RFC default, but this could be any IANA
- # charset. However, we only know how to convert what we have
- # encodings for.
-
- set enc [CharsetToEncoding $state(charset)]
- if {$enc ne "binary"} {
- set state(body) [encoding convertfrom $enc $state(body)]
- }
-
- # Translate text line endings.
- set state(body) [string map {\r\n \n \r \n} $state(body)]
+ }
+
+ if {!$state(binary)} {
+ # If we are getting text, set the incoming channel's encoding
+ # correctly. iso8859-1 is the RFC default, but this could be any IANA
+ # charset. However, we only know how to convert what we have
+ # encodings for.
+
+ set enc [CharsetToEncoding $state(charset)]
+ if {$enc ne "binary"} {
+ set state(body) [encoding convertfrom $enc $state(body)]
+ }
+
+ # Translate text line endings.
+ set state(body) [string map {\r\n \n \r \n} $state(body)]
+ }
}
-
Finish $token
}
@@ -1421,59 +1437,57 @@ proc http::CharsetToEncoding {charset} {
}
}
-# http::Gunzip --
-#
-# Decompress data transmitted using the gzip transfer coding.
-#
-
-# FIX ME: redo using zlib sinflate
-proc http::Gunzip {data} {
- binary scan $data Scb5icc magic method flags time xfl os
- set pos 10
- if {$magic != 0x1f8b} {
- return -code error "invalid data: supplied data is not in gzip format"
- }
- if {$method != 8} {
- return -code error "invalid compression method"
- }
-
- # lassign [split $flags ""] f_text f_crc f_extra f_name f_comment
- foreach {f_text f_crc f_extra f_name f_comment} [split $flags ""] break
- set extra ""
- if {$f_extra} {
- binary scan $data @${pos}S xlen
- incr pos 2
- set extra [string range $data $pos $xlen]
- set pos [incr xlen]
- }
-
- set name ""
- if {$f_name} {
- set ndx [string first \0 $data $pos]
- set name [string range $data $pos $ndx]
- set pos [incr ndx]
- }
-
- set comment ""
- if {$f_comment} {
- set ndx [string first \0 $data $pos]
- set comment [string range $data $pos $ndx]
- set pos [incr ndx]
- }
-
- set fcrc ""
- if {$f_crc} {
- set fcrc [string range $data $pos [incr pos]]
- incr pos
+# Return the list of content-encoding transformations we need to do in order.
+proc http::ContentEncoding {token} {
+ upvar 0 $token state
+ set r {}
+ if {[info exists state(coding)]} {
+ foreach coding [split $state(coding) ,] {
+ switch -exact -- $coding {
+ deflate { lappend r inflate }
+ gzip - x-gzip { lappend r gunzip }
+ compress - x-compress { lappend r decompress }
+ identity {}
+ default {
+ return -code error "unsupported content-encoding \"$coding\""
+ }
+ }
+ }
}
+ return $r
+}
- binary scan [string range $data end-7 end] ii crc size
- set inflated [zlib inflate [string range $data $pos end-8]]
- set chk [zlib crc32 $inflated]
- if {($crc & 0xffffffff) != ($chk & 0xffffffff)} {
- return -code error "invalid data: checksum mismatch $crc != $chk"
- }
- return $inflated
+proc http::make-transformation-chunked {chan command} {
+ set lambda {{chan command} {
+ set data ""
+ set size -1
+ yield
+ while {1} {
+ chan configure $chan -translation {crlf binary}
+ while {[gets $chan line] < 1} { yield }
+ chan configure $chan -translation {binary binary}
+ if {[scan $line %x size] != 1} { return -code error "invalid size: \"$line\"" }
+ set chunk ""
+ while {$size && ![chan eof $chan]} {
+ set part [chan read $chan $size]
+ incr size -[string length $part]
+ append chunk $part
+ }
+ if {[catch {
+ uplevel #0 [linsert $command end $chunk]
+ }]} then {
+ http::Log "Error in callback: $::errorInfo"
+ }
+ if {[string length $chunk] == 0} {
+ # channel might have been closed in the callback
+ catch {chan event $chan readable {}}
+ return
+ }
+ }
+ }}
+ coroutine dechunk$chan ::apply $lambda $chan $command
+ chan event $chan readable [namespace origin dechunk$chan]
+ return
}
# Local variables:
diff --git a/library/http/pkgIndex.tcl b/library/http/pkgIndex.tcl
index 0157b3c..b953d49 100644
--- a/library/http/pkgIndex.tcl
+++ b/library/http/pkgIndex.tcl
@@ -1,4 +1,2 @@
-# Tcl package index file, version 1.1
-
-if {![package vsatisfies [package provide Tcl] 8.4]} {return}
-package ifneeded http 2.7.12 [list tclPkgSetup $dir http 2.7.12 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}]
+if {![package vsatisfies [package provide Tcl] 8.6]} {return}
+package ifneeded http 2.8.1 [list tclPkgSetup $dir http 2.8.1 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}]
diff --git a/library/http1.0/http.tcl b/library/http1.0/http.tcl
index 8041ee4..2c548bb 100644
--- a/library/http1.0/http.tcl
+++ b/library/http1.0/http.tcl
@@ -5,6 +5,8 @@
# These procedures use a callback interface to avoid using vwait,
# which is not defined in the safe base.
#
+# RCS: @(#) $Id: http.tcl,v 1.4 2000/02/01 11:48:30 hobbs Exp $
+#
# See the http.n man page for documentation
package provide http 1.0
diff --git a/library/init.tcl b/library/init.tcl
index 6b49fdf..6ca4873 100644
--- a/library/init.tcl
+++ b/library/init.tcl
@@ -3,6 +3,8 @@
# Default system startup file for Tcl-based applications. Defines
# "unknown" procedure and auto-load facilities.
#
+# RCS: @(#) $Id: init.tcl,v 1.121 2009/03/09 09:12:39 dkf Exp $
+#
# Copyright (c) 1991-1993 The Regents of the University of California.
# Copyright (c) 1994-1996 Sun Microsystems, Inc.
# Copyright (c) 1998-1999 Scriptics Corporation.
@@ -12,11 +14,10 @@
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# This test intentionally written in pre-7.5 Tcl
if {[info commands package] == ""} {
error "version mismatch: library\nscripts expect Tcl version 7.5b1 or later but the loaded version is\nonly [info patchlevel]"
}
-package require -exact Tcl 8.5.15
+package require -exact Tcl 8.6b1.1
# Compute the auto path to use in this interpreter.
# The values on the path come from several locations:
@@ -117,10 +118,9 @@ namespace eval tcl {
if {(![interp issafe]) && ($tcl_platform(platform) eq "windows")} {
namespace eval tcl {
proc EnvTraceProc {lo n1 n2 op} {
- global env
- set x $env($n2)
- set env($lo) $x
- set env([string toupper $lo]) $x
+ set x $::env($n2)
+ set ::env($lo) $x
+ set ::env([string toupper $lo]) $x
}
proc InitWinEnv {} {
global env tcl_platform
@@ -161,8 +161,8 @@ if {[interp issafe]} {
} else {
# Set up search for Tcl Modules (TIP #189).
# and setup platform specific unknown package handlers
- if {$tcl_platform(os) eq "Darwin"
- && $tcl_platform(platform) eq "unix"} {
+ if {$::tcl_platform(os) eq "Darwin"
+ && $::tcl_platform(platform) eq "unix"} {
package unknown {::tcl::tm::UnknownHandler \
{::tcl::MacOSXPkgUnknown ::tclPkgUnknown}}
} else {
@@ -179,9 +179,9 @@ if {[interp issafe]} {
-subcommands {
add clicks format microseconds milliseconds scan seconds
}]
-
+
# Auto-loading stubs for 'clock.tcl'
-
+
foreach cmd {add format scan} {
proc ::tcl::clock::$cmd args {
variable TclLibDir
@@ -218,11 +218,9 @@ if {[namespace which -command tclLog] eq ""} {
# exist in the interpreter. It takes the following steps to make the
# command available:
#
-# 1. See if the command has the form "namespace inscope ns cmd" and
-# if so, concatenate its arguments onto the end and evaluate it.
-# 2. See if the autoload facility can locate the command in a
+# 1. See if the autoload facility can locate the command in a
# Tcl script file. If so, load it and execute it.
-# 3. If the command was invoked interactively at top-level:
+# 2. If the command was invoked interactively at top-level:
# (a) see if the command exists as an executable UNIX program.
# If so, "exec" the command.
# (b) see if the command requests csh-like history substitution
@@ -237,24 +235,12 @@ if {[namespace which -command tclLog] eq ""} {
proc unknown args {
variable ::tcl::UnknownPending
- global auto_noexec auto_noload env tcl_interactive errorInfo errorCode
+ global auto_noexec auto_noload env tcl_interactive
- # If the command word has the form "namespace inscope ns cmd"
- # then concatenate its arguments onto the end and evaluate it.
+ catch {set savedErrorInfo $::errorInfo}
+ catch {set savedErrorCode $::errorCode}
- set cmd [lindex $args 0]
- if {[regexp "^:*namespace\[ \t\n\]+inscope" $cmd] && [llength $cmd] == 4} {
- #return -code error "You need an {*}"
- set arglist [lrange $args 1 end]
- set ret [catch {uplevel 1 ::$cmd $arglist} result opts]
- dict unset opts -errorinfo
- dict incr opts -level
- return -options $opts $result
- }
-
- catch {set savedErrorInfo $errorInfo}
- catch {set savedErrorCode $errorCode}
- set name $cmd
+ set name [lindex $args 0]
if {![info exists auto_noload]} {
#
# Make sure we're not trying to load the same proc twice.
@@ -282,19 +268,19 @@ proc unknown args {
unset -nocomplain ::errorCode
}
if {[info exists savedErrorInfo]} {
- set errorInfo $savedErrorInfo
+ set ::errorInfo $savedErrorInfo
} else {
- unset -nocomplain errorInfo
+ unset -nocomplain ::errorInfo
}
set code [catch {uplevel 1 $args} msg opts]
if {$code == 1} {
#
# Compute stack trace contribution from the [uplevel].
- # Note the dependence on how Tcl_AddErrorInfo, etc.
+ # Note the dependence on how Tcl_AddErrorInfo, etc.
# construct the stack trace.
#
- set errInfo [dict get $opts -errorinfo]
- set errCode [dict get $opts -errorcode]
+ set errorInfo [dict get $opts -errorinfo]
+ set errorCode [dict get $opts -errorcode]
set cinfo $args
if {[string bytelength $cinfo] > 150} {
set cinfo [string range $cinfo 0 150]
@@ -311,7 +297,7 @@ proc unknown args {
# and trim the extra contribution from the matching case
#
set expect "$msg\n while executing\n\"$cinfo"
- if {$errInfo eq $expect} {
+ if {$errorInfo eq $expect} {
#
# The stack has only the eval from the expanded command
# Do not generate any stack trace here.
@@ -326,18 +312,18 @@ proc unknown args {
#
set expect "\n invoked from within\n\"$cinfo"
set exlen [string length $expect]
- set eilen [string length $errInfo]
+ set eilen [string length $errorInfo]
set i [expr {$eilen - $exlen - 1}]
- set einfo [string range $errInfo 0 $i]
+ set einfo [string range $errorInfo 0 $i]
#
- # For now verify that $errInfo consists of what we are about
+ # For now verify that $errorInfo consists of what we are about
# to return plus what we expected to trim off.
#
- if {$errInfo ne "$einfo$expect"} {
+ if {$errorInfo ne "$einfo$expect"} {
error "Tcl bug: unexpected stack trace in \"unknown\"" {} \
- [list CORE UNKNOWN BADTRACE $einfo $expect $errInfo]
+ [list CORE UNKNOWN BADTRACE $einfo $expect $errorInfo]
}
- return -code error -errorcode $errCode \
+ return -code error -errorcode $errorCode \
-errorinfo $einfo $msg
} else {
dict incr opts -level
@@ -346,7 +332,7 @@ proc unknown args {
}
}
- if {([info level] == 1) && ([info script] eq "")
+ if {([info level] == 1) && ([info script] eq "") \
&& [info exists tcl_interactive] && $tcl_interactive} {
if {![info exists auto_noexec]} {
set new [auto_execok $name]
@@ -421,7 +407,7 @@ proc unknown args {
# library file to create the procedure. Returns 1 if it successfully
# loaded the procedure, 0 otherwise.
#
-# Arguments:
+# Arguments:
# cmd - Name of the command to find and load.
# namespace (optional) The namespace where the command is being used - must be
# a canonical namespace as returned [namespace current]
@@ -445,7 +431,7 @@ proc auto_load {cmd {namespace {}}} {
# info commands $name
# Unfortunately, if the name has glob-magic chars in it like *
# or [], it may not match. For our purposes here, a better
- # route is to use
+ # route is to use
# namespace which -command $name
if {[namespace which -command $name] ne ""} {
return 1
@@ -476,7 +462,7 @@ proc auto_load {cmd {namespace {}}} {
# of available commands. Returns 1 if the index is loaded, and 0 if
# the index is already loaded and up to date.
#
-# Arguments:
+# Arguments:
# None.
proc auto_load_index {} {
@@ -566,7 +552,7 @@ proc auto_qualify {cmd namespace} {
return [list [string range $cmd 2 end]]
}
}
-
+
# Potentially returning 2 elements to try :
# (if the current namespace is not the global one)
@@ -624,13 +610,13 @@ proc auto_import {pattern} {
# auto_execok --
#
-# Returns string that indicates name of program to execute if
+# Returns string that indicates name of program to execute if
# name corresponds to a shell builtin or an executable in the
-# Windows search path, or "" otherwise. Builds an associative
-# array auto_execs that caches information about previous checks,
+# Windows search path, or "" otherwise. Builds an associative
+# array auto_execs that caches information about previous checks,
# for speed.
#
-# Arguments:
+# Arguments:
# name - Name of a command.
if {$tcl_platform(platform) eq "windows"} {
@@ -659,10 +645,10 @@ proc auto_execok name {
# Add an initial ; to have the {} extension check first.
set execExtensions [split ";$env(PATHEXT)" ";"]
} else {
- set execExtensions [list {} .com .exe .bat .cmd]
+ set execExtensions [list {} .com .exe .bat]
}
- if {[string tolower $name] in $shellBuiltins} {
+ if {$name in $shellBuiltins} {
# When this is command.com for some reason on Win2K, Tcl won't
# exec it unless the case is right, which this corrects. COMSPEC
# may not point to a real file, so do the check.
@@ -685,7 +671,7 @@ proc auto_execok name {
set path "[file dirname [info nameof]];.;"
if {[info exists env(WINDIR)]} {
- set windir $env(WINDIR)
+ set windir $env(WINDIR)
}
if {[info exists windir]} {
if {$tcl_platform(os) eq "Windows NT"} {
@@ -700,14 +686,11 @@ proc auto_execok name {
}
}
- foreach ext $execExtensions {
- unset -nocomplain checked
- foreach dir [split $path {;}] {
- # Skip already checked directories
- if {[info exists checked($dir)] || ($dir eq {})} {
- continue
- }
- set checked($dir) {}
+ foreach dir [split $path {;}] {
+ # Skip already checked directories
+ if {[info exists checked($dir)] || ($dir eq {})} { continue }
+ set checked($dir) {}
+ foreach ext $execExtensions {
set file [file join $dir ${name}${ext}]
if {[file exists $file] && ![file isdirectory $file]} {
return [set auto_execs($name) [list $file]]
@@ -753,13 +736,13 @@ proc auto_execok name {
# This procedure is called by Tcl's core when attempts to call the
# filesystem's copydirectory function fail. The semantics of the call
# are that 'dest' does not yet exist, i.e. dest should become the exact
-# image of src. If dest does exist, we throw an error.
-#
+# image of src. If dest does exist, we throw an error.
+#
# Note that making changes to this procedure can change the results
# of running Tcl's tests.
#
-# Arguments:
-# action - "renaming" or "copying"
+# Arguments:
+# action - "renaming" or "copying"
# src - source directory
# dest - destination directory
proc tcl::CopyDirectory {action src dest} {
@@ -787,7 +770,7 @@ proc tcl::CopyDirectory {action src dest} {
# exists, then we should only call this function if -force
# is true, which means we just want to over-write. So,
# the following code is now commented out.
- #
+ #
# return -code error "error $action \"$src\" to\
# \"$dest\": file already exists"
} else {
@@ -799,7 +782,7 @@ proc tcl::CopyDirectory {action src dest} {
lappend existing {*}[glob -nocomplain -directory $dest \
-type hidden * .*]
foreach s $existing {
- if {[file tail $s] ni {. ..}} {
+ if {([file tail $s] ne ".") && ([file tail $s] ne "..")} {
return -code error "error $action \"$src\" to\
\"$dest\": file already exists"
}
@@ -807,7 +790,7 @@ proc tcl::CopyDirectory {action src dest} {
}
} else {
if {[string first $nsrc $ndest] != -1} {
- set srclen [expr {[llength [file split $nsrc]] - 1}]
+ set srclen [expr {[llength [file split $nsrc]] -1}]
set ndest [lindex [file split $ndest] $srclen]
if {$ndest eq [file tail $nsrc]} {
return -code error "error $action \"$src\" to\
@@ -820,15 +803,15 @@ proc tcl::CopyDirectory {action src dest} {
# Have to be careful to capture both visible and hidden files.
# We will also be more generous to the file system and not
# assume the hidden and non-hidden lists are non-overlapping.
- #
+ #
# On Unix 'hidden' files begin with '.'. On other platforms
# or filesystems hidden files may have other interpretations.
set filelist [concat [glob -nocomplain -directory $src *] \
[glob -nocomplain -directory $src -types hidden *]]
foreach s [lsort -unique $filelist] {
- if {[file tail $s] ni {. ..}} {
- file copy -force -- $s [file join $dest [file tail $s]]
+ if {([file tail $s] ne ".") && ([file tail $s] ne "..")} {
+ file copy -force $s [file join $dest [file tail $s]]
}
}
return
diff --git a/library/msgcat/msgcat.tcl b/library/msgcat/msgcat.tcl
index cf3b9d7..ccf4054 100644
--- a/library/msgcat/msgcat.tcl
+++ b/library/msgcat/msgcat.tcl
@@ -9,15 +9,17 @@
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# RCS: @(#) $Id: msgcat.tcl,v 1.26 2006/11/03 00:34:52 hobbs Exp $
package require Tcl 8.5
# When the version number changes, be sure to update the pkgIndex.tcl file,
# and the installation directory in the Makefiles.
-package provide msgcat 1.5.2
+package provide msgcat 1.4.2
namespace eval msgcat {
namespace export mc mcload mclocale mcmax mcmset mcpreferences mcset \
- mcunknown mcflset mcflmset
+ mcunknown
# Records the current locale as passed to mclocale
variable Locale ""
@@ -25,9 +27,6 @@ namespace eval msgcat {
# Records the list of locales to search
variable Loclist {}
- # Records the locale of the currently sourced message catalogue file
- variable FileLocale
-
# Records the mapping between source strings and translated strings. The
# dict key is of the form "<locale> <namespace> <src>", where locale and
# namespace should be themselves dict values and the value is
@@ -35,7 +34,7 @@ namespace eval msgcat {
variable Msgs [dict create]
# Map of language codes used in Windows registry to those of ISO-639
- if {[info sharedlibextension] eq ".dll"} {
+ if { $::tcl_platform(platform) eq "windows" } {
variable WinRegToISO639 [dict create {*}{
01 ar 0401 ar_SA 0801 ar_IQ 0c01 ar_EG 1001 ar_LY 1401 ar_DZ
1801 ar_MA 1c01 ar_TN 2001 ar_OM 2401 ar_YE 2801 ar_SY
@@ -69,8 +68,8 @@ namespace eval msgcat {
15 pl 0415 pl_PL
16 pt 0416 pt_BR 0816 pt_PT
17 rm 0417 rm_CH
- 18 ro 0418 ro_RO 0818 ro_MO
- 19 ru 0819 ru_MO
+ 18 ro 0418 ro_RO
+ 19 ru
1a hr 041a hr_HR 081a sr_YU 0c1a sr_YU@cyrillic
1b sk 041b sk_SK
1c sq 041c sq_AL
@@ -95,7 +94,6 @@ namespace eval msgcat {
2f mk 042f mk_MK
30 bnt 0430 bnt_TZ
31 ts 0431 ts_ZA
- 32 tn
33 ven 0433 ven_ZA
34 xh 0434 xh_ZA
35 zu 0435 zu_ZA
@@ -179,7 +177,7 @@ namespace eval msgcat {
# args Args to pass to the format command
#
# Results:
-# Returns the translated string. Propagates errors thrown by the
+# Returns the translated string. Propagates errors thrown by the
# format command.
proc msgcat::mc {src args} {
@@ -191,7 +189,7 @@ proc msgcat::mc {src args} {
variable Locale
set ns [uplevel 1 [list ::namespace current]]
-
+
while {$ns != ""} {
foreach loc $Loclist {
if {[dict exists $Msgs $loc $ns $src]} {
@@ -280,30 +278,17 @@ proc msgcat::mcpreferences {} {
# Returns the number of message catalogs that were loaded.
proc msgcat::mcload {langdir} {
- variable FileLocale
- # Save the file locale if we are recursively called
- if {[info exists FileLocale]} {
- set nestedFileLocale $FileLocale
- }
set x 0
foreach p [mcpreferences] {
- if {$p eq {}} {
+ if { $p eq {} } {
set p ROOT
}
set langfile [file join $langdir $p.msg]
if {[file exists $langfile]} {
incr x
- set FileLocale [string tolower [file tail [file rootname $langfile]]]
- if {"root" eq $FileLocale} {
- set FileLocale ""
- }
uplevel 1 [list ::source -encoding utf-8 $langfile]
- unset FileLocale
}
}
- if {[info exists nestedFileLocale]} {
- set FileLocale $nestedFileLocale
- }
return $x
}
@@ -327,39 +312,17 @@ proc msgcat::mcset {locale src {dest ""}} {
}
set ns [uplevel 1 [list ::namespace current]]
-
+
set locale [string tolower $locale]
-
- dict set Msgs $locale $ns $src $dest
- return $dest
-}
-
-# msgcat::mcflset --
-#
-# Set the translation for a given string in the current file locale.
-#
-# Arguments:
-# src The source string.
-# dest (Optional) The translated string. If omitted,
-# the source string is used.
-#
-# Results:
-# Returns the new locale.
-
-proc msgcat::mcflset {src {dest ""}} {
- variable FileLocale
- variable Msgs
-
- if {![info exists FileLocale]} {
- return -code error \
- "must only be used inside a message catalog loaded with ::msgcat::mcload"
+
+ # create nested dictionaries if they do not exist
+ if {![dict exists $Msgs $locale]} {
+ dict set Msgs $locale [dict create]
}
- if {[llength [info level 0]] == 2} { ;# dest not specified
- set dest $src
+ if {![dict exists $Msgs $locale $ns]} {
+ dict set Msgs $locale $ns [dict create]
}
-
- set ns [uplevel 1 [list ::namespace current]]
- dict set Msgs $FileLocale $ns $src $dest
+ dict set Msgs $locale $ns $src $dest
return $dest
}
@@ -374,7 +337,7 @@ proc msgcat::mcflset {src {dest ""}} {
# Results:
# Returns the number of pairs processed
-proc msgcat::mcmset {locale pairs} {
+proc msgcat::mcmset {locale pairs } {
variable Msgs
set length [llength $pairs]
@@ -382,46 +345,22 @@ proc msgcat::mcmset {locale pairs} {
return -code error "bad translation list:\
should be \"[lindex [info level 0] 0] locale {src dest ...}\""
}
-
+
set locale [string tolower $locale]
set ns [uplevel 1 [list ::namespace current]]
- foreach {src dest} $pairs {
- dict set Msgs $locale $ns $src $dest
+ # create nested dictionaries if they do not exist
+ if {![dict exists $Msgs $locale]} {
+ dict set Msgs $locale [dict create]
}
-
- return [expr {$length / 2}]
-}
-
-# msgcat::mcflmset --
-#
-# Set the translation for multiple strings in the mc file locale.
-#
-# Arguments:
-# pairs One or more src/dest pairs (must be even length)
-#
-# Results:
-# Returns the number of pairs processed
-
-proc msgcat::mcflmset {pairs} {
- variable FileLocale
- variable Msgs
-
- if {![info exists FileLocale]} {
- return -code error \
- "must only be used inside a message catalog loaded with ::msgcat::mcload"
- }
- set length [llength $pairs]
- if {$length % 2} {
- return -code error "bad translation list:\
- should be \"[lindex [info level 0] 0] locale {src dest ...}\""
- }
-
- set ns [uplevel 1 [list ::namespace current]]
+ if {![dict exists $Msgs $locale $ns]} {
+ dict set Msgs $locale $ns [dict create]
+ }
foreach {src dest} $pairs {
- dict set Msgs $FileLocale $ns $src $dest
+ dict set Msgs $locale $ns $src $dest
}
- return [expr {$length / 2}]
+
+ return $length
}
# msgcat::mcunknown --
@@ -429,7 +368,7 @@ proc msgcat::mcflmset {pairs} {
# This routine is called by msgcat::mc if a translation cannot
# be found for a string. This routine is intended to be replaced
# by an application specific routine for error reporting
-# purposes. The default behavior is to return the source string.
+# purposes. The default behavior is to return the source string.
# If additional args are specified, the format command will be used
# to work them into the traslated string.
#
@@ -451,7 +390,7 @@ proc msgcat::mcunknown {locale src args} {
# msgcat::mcmax --
#
-# Calculates the maximum length of the translated strings of the given
+# Calculates the maximum length of the translated strings of the given
# list.
#
# Arguments:
@@ -464,10 +403,10 @@ proc msgcat::mcmax {args} {
set max 0
foreach string $args {
set translated [uplevel 1 [list [namespace origin mc] $string]]
- set len [string length $translated]
- if {$len>$max} {
+ set len [string length $translated]
+ if {$len>$max} {
set max $len
- }
+ }
}
return $max
}
@@ -503,15 +442,13 @@ proc msgcat::ConvertLocale {value} {
# Initialize the default locale
proc msgcat::Init {} {
- global env
-
#
# set default locale, try to get from environment
#
foreach varName {LC_ALL LC_MESSAGES LANG} {
- if {[info exists env($varName)] && ("" ne $env($varName))} {
+ if {[info exists ::env($varName)] && ("" ne $::env($varName))} {
if {![catch {
- mclocale [ConvertLocale $env($varName)]
+ mclocale [ConvertLocale $::env($varName)]
}]} {
return
}
@@ -520,7 +457,8 @@ proc msgcat::Init {} {
#
# On Darwin, fallback to current CFLocale identifier if available.
#
- if {[info exists ::tcl::mac::locale] && $::tcl::mac::locale ne ""} {
+ if {$::tcl_platform(os) eq "Darwin" && $::tcl_platform(platform) eq "unix"
+ && [info exists ::tcl::mac::locale] && $::tcl::mac::locale ne ""} {
if {![catch {
mclocale [ConvertLocale $::tcl::mac::locale]
}]} {
@@ -528,54 +466,21 @@ proc msgcat::Init {} {
}
}
#
- # The rest of this routine is special processing for Windows or
- # Cygwin. All other platforms, get out now.
+ # The rest of this routine is special processing for Windows;
+ # all other platforms, get out now.
#
- if {([info sharedlibextension] ne ".dll")
- || [catch {package require registry}]} {
+ if { $::tcl_platform(platform) ne "windows" } {
mclocale C
return
}
#
- # On Windows or Cygwin, try to set locale depending on registry
- # settings, or fall back on locale of "C".
+ # On Windows, try to set locale depending on registry settings,
+ # or fall back on locale of "C".
#
-
- # On Vista and later:
- # HCU/Control Panel/Desktop : PreferredUILanguages is for language packs,
- # HCU/Control Pannel/International : localName is the default locale.
- #
- # They contain the local string as RFC5646, composed of:
- # [a-z]{2,3} : language
- # -[a-z]{4} : script (optional, translated by table Latn->latin)
- # -[a-z]{2}|[0-9]{3} : territory (optional, numerical region codes not used)
- # (-.*)* : variant, extension, private use (optional, not used)
- # Those are translated to local strings.
- # Examples: de-CH -> de_ch, sr-Latn-CS -> sr_cs@latin, es-419 -> es
- #
- foreach key {{HKEY_CURRENT_USER\Control Panel\Desktop} {HKEY_CURRENT_USER\Control Panel\International}}\
- value {PreferredUILanguages localeName} {
- if {![catch {registry get $key $value} localeName]
- && [regexp {^([a-z]{2,3})(?:-([a-z]{4}))?(?:-([a-z]{2}))?(?:-.+)?$}\
- [string tolower $localeName] match locale script territory]} {
- if {"" ne $territory} {
- append locale _ $territory
- }
- set modifierDict [dict create latn latin cyrl cyrillic]
- if {[dict exists $modifierDict $script]} {
- append locale @ [dict get $modifierDict $script]
- }
- if {![catch {mclocale [ConvertLocale $locale]}]} {
- return
- }
- }
- }
-
- # then check value locale which contains a numerical language ID
- if {[catch {
- set locale [registry get $key "locale"]
- }]} {
- mclocale C
+ set key {HKEY_CURRENT_USER\Control Panel\International}
+ if {[catch {package require registry}] \
+ || [catch {registry get $key "locale"} locale]} {
+ mclocale C
return
}
#
@@ -591,7 +496,7 @@ proc msgcat::Init {} {
set locale [string tolower $locale]
while {[string length $locale]} {
if {![catch {
- mclocale [ConvertLocale [dict get $WinRegToISO639 $locale]]
+ mclocale [ConvertLocale [dict get $WinRegToISO639 $locale]]
}]} {
return
}
diff --git a/library/msgcat/pkgIndex.tcl b/library/msgcat/pkgIndex.tcl
index 5fabfe3..5b6037c 100644
--- a/library/msgcat/pkgIndex.tcl
+++ b/library/msgcat/pkgIndex.tcl
@@ -1,2 +1,2 @@
if {![package vsatisfies [package provide Tcl] 8.5]} {return}
-package ifneeded msgcat 1.5.2 [list source [file join $dir msgcat.tcl]]
+package ifneeded msgcat 1.4.2 [list source [file join $dir msgcat.tcl]]
diff --git a/library/msgs/he.msg b/library/msgs/he.msg
index 4fd921d..52a94e2 100755
--- a/library/msgs/he.msg
+++ b/library/msgs/he.msg
@@ -44,8 +44,8 @@ namespace eval ::tcl::clock {
"\u05e0\u05d5\u05d1\u05de\u05d1\u05e8"\
"\u05d3\u05e6\u05de\u05d1\u05e8"\
""]
- ::msgcat::mcset he BCE "\u05dc\u05e1\u05d4\u0022\u05e0"
- ::msgcat::mcset he CE "\u05dc\u05e4\u05e1\u05d4\u0022\u05e0"
+ ::msgcat::mcset he BCE "\u05dc\u05e1\u05d4"\u05e0"
+ ::msgcat::mcset he CE "\u05dc\u05e4\u05e1\u05d4"\u05e0"
::msgcat::mcset he DATE_FORMAT "%d/%m/%Y"
::msgcat::mcset he TIME_FORMAT "%H:%M:%S"
::msgcat::mcset he DATE_TIME_FORMAT "%d/%m/%Y %H:%M:%S %z"
diff --git a/library/msgs/uk.msg b/library/msgs/uk.msg
index 7d4c64a..3e24f86 100755
--- a/library/msgs/uk.msg
+++ b/library/msgs/uk.msg
@@ -33,7 +33,7 @@ namespace eval ::tcl::clock {
::msgcat::mcset uk MONTHS_FULL [list \
"\u0441\u0456\u0447\u043d\u044f"\
"\u043b\u044e\u0442\u043e\u0433\u043e"\
- "\u0431\u0435\u0440\u0435\u0437\u043d\u044f"\
+ "\u0431\u0435\u0440\u0435\u0436\u043d\u044f"\
"\u043a\u0432\u0456\u0442\u043d\u044f"\
"\u0442\u0440\u0430\u0432\u043d\u044f"\
"\u0447\u0435\u0440\u0432\u043d\u044f"\
diff --git a/library/opt/optparse.tcl b/library/opt/optparse.tcl
index c9438a0..4622bde 100644
--- a/library/opt/optparse.tcl
+++ b/library/opt/optparse.tcl
@@ -7,6 +7,8 @@
# of Tcl. It is NOT supported and you should not rely
# on it. If your code does rely on this package you
# may directly incorporate this code into your application.
+#
+# RCS: @(#) $Id: optparse.tcl,v 1.10 2003/09/10 20:27:30 dgp Exp $
package require Tcl 8.2
# When this version number changes, update the pkgIndex.tcl file
diff --git a/library/package.tcl b/library/package.tcl
index 06f619c..d8729b2 100644
--- a/library/package.tcl
+++ b/library/package.tcl
@@ -3,6 +3,8 @@
# utility procs formerly in init.tcl which can be loaded on demand
# for package management.
#
+# RCS: @(#) $Id: package.tcl,v 1.37 2009/07/26 11:40:23 dkf Exp $
+#
# Copyright (c) 1991-1993 The Regents of the University of California.
# Copyright (c) 1994-1998 Sun Microsystems, Inc.
#
@@ -14,9 +16,9 @@ namespace eval tcl::Pkg {}
# ::tcl::Pkg::CompareExtension --
#
-# Used internally by pkg_mkIndex to compare the extension of a file to
-# a given extension. On Windows, it uses a case-insensitive comparison
-# because the file system can be file insensitive.
+# Used internally by pkg_mkIndex to compare the extension of a file to a given
+# extension. On Windows, it uses a case-insensitive comparison because the
+# file system can be file insensitive.
#
# Arguments:
# fileName name of a file whose extension is compared
@@ -57,11 +59,10 @@ proc tcl::Pkg::CompareExtension { fileName {ext {}} } {
}
# pkg_mkIndex --
-# This procedure creates a package index in a given directory. The
-# package index consists of a "pkgIndex.tcl" file whose contents are
-# a Tcl script that sets up package information with "package require"
-# commands. The commands describe all of the packages defined by the
-# files given as arguments.
+# This procedure creates a package index in a given directory. The package
+# index consists of a "pkgIndex.tcl" file whose contents are a Tcl script that
+# sets up package information with "package require" commands. The commands
+# describe all of the packages defined by the files given as arguments.
#
# Arguments:
# -direct (optional) If this flag is present, the generated
@@ -132,16 +133,17 @@ proc pkg_mkIndex {args} {
set patternList [list "*.tcl" "*[info sharedlibextension]"]
}
- if {[catch {
- glob -directory $dir -tails -types {r f} -- {*}$patternList
- } fileList o]} {
- return -options $o $fileList
+ try {
+ set fileList [glob -directory $dir -tails -types {r f} -- \
+ {*}$patternList]
+ } on error {msg opt} {
+ return -options $opt $msg
}
foreach file $fileList {
# For each file, figure out what commands and packages it provides.
# To do this, create a child interpreter, load the file into the
- # interpreter, and get a list of the new commands and packages
- # that are defined.
+ # interpreter, and get a list of the new commands and packages that
+ # are defined.
if {$file eq "pkgIndex.tcl"} {
continue
@@ -169,14 +171,17 @@ proc pkg_mkIndex {args} {
if {$doVerbose} {
tclLog "package [lindex $pkg 1] matches '$loadPat'"
}
- if {[catch {
+ try {
load [lindex $pkg 0] [lindex $pkg 1] $c
- } err]} {
+ } on error err {
+ if {$doVerbose} {
+ tclLog "warning: load [lindex $pkg 0]\
+ [lindex $pkg 1]\nfailed with: $err"
+ }
+ } on ok {} {
if {$doVerbose} {
- tclLog "warning: load [lindex $pkg 0] [lindex $pkg 1]\nfailed with: $err"
+ tclLog "loaded [lindex $pkg 0] [lindex $pkg 1]"
}
- } elseif {$doVerbose} {
- tclLog "loaded [lindex $pkg 0] [lindex $pkg 1]"
}
if {[lindex $pkg 1] eq "Tk"} {
# Withdraw . if Tk was loaded, to avoid showing a window.
@@ -185,21 +190,25 @@ proc pkg_mkIndex {args} {
}
$c eval {
- # Stub out the package command so packages can
- # require other packages.
+ # Stub out the package command so packages can require other
+ # packages.
rename package __package_orig
proc package {what args} {
switch -- $what {
- require { return ; # ignore transitive requires }
- default { __package_orig $what {*}$args }
+ require {
+ return; # Ignore transitive requires
+ }
+ default {
+ __package_orig $what {*}$args
+ }
}
}
proc tclPkgUnknown args {}
package unknown tclPkgUnknown
- # Stub out the unknown command so package can call
- # into each other during their initialilzation.
+ # Stub out the unknown command so package can call into each other
+ # during their initialilzation.
proc unknown {args} {}
@@ -207,9 +216,9 @@ proc pkg_mkIndex {args} {
proc auto_import {args} {}
- # reserve the ::tcl namespace for support procs
- # and temporary variables. This might make it awkward
- # to generate a pkgIndex.tcl file for the ::tcl namespace.
+ # reserve the ::tcl namespace for support procs and temporary
+ # variables. This might make it awkward to generate a
+ # pkgIndex.tcl file for the ::tcl namespace.
namespace eval ::tcl {
variable dir ;# Current directory being processed
@@ -230,22 +239,22 @@ proc pkg_mkIndex {args} {
$c eval [list set ::tcl::file $file]
$c eval [list set ::tcl::direct $direct]
- # Download needed procedures into the slave because we've
- # just deleted the unknown procedure. This doesn't handle
- # procedures with default arguments.
+ # Download needed procedures into the slave because we've just deleted
+ # the unknown procedure. This doesn't handle procedures with default
+ # arguments.
foreach p {::tcl::Pkg::CompareExtension} {
$c eval [list namespace eval [namespace qualifiers $p] {}]
$c eval [list proc $p [info args $p] [info body $p]]
}
- if {[catch {
+ try {
$c eval {
set ::tcl::debug "loading or sourcing"
- # we need to track command defined by each package even in
- # the -direct case, because they are needed internally by
- # the "partial pkgIndex.tcl" step above.
+ # we need to track command defined by each package even in the
+ # -direct case, because they are needed internally by the
+ # "partial pkgIndex.tcl" step above.
proc ::tcl::GetAllNamespaces {{root ::}} {
set list $root
@@ -267,18 +276,17 @@ proc pkg_mkIndex {args} {
}
set ::tcl::origCmds [info commands]
- # Try to load the file if it has the shared library
- # extension, otherwise source it. It's important not to
- # try to load files that aren't shared libraries, because
- # on some systems (like SunOS) the loader will abort the
- # whole application when it gets an error.
+ # Try to load the file if it has the shared library extension,
+ # otherwise source it. It's important not to try to load
+ # files that aren't shared libraries, because on some systems
+ # (like SunOS) the loader will abort the whole application
+ # when it gets an error.
if {[::tcl::Pkg::CompareExtension $::tcl::file [info sharedlibextension]]} {
- # The "file join ." command below is necessary.
- # Without it, if the file name has no \'s and we're
- # on UNIX, the load command will invoke the
- # LD_LIBRARY_PATH search mechanism, which could cause
- # the wrong file to be used.
+ # The "file join ." command below is necessary. Without
+ # it, if the file name has no \'s and we're on UNIX, the
+ # load command will invoke the LD_LIBRARY_PATH search
+ # mechanism, which could cause the wrong file to be used.
set ::tcl::debug loading
load [file join $::tcl::dir $::tcl::file]
@@ -289,11 +297,10 @@ proc pkg_mkIndex {args} {
set ::tcl::type source
}
- # As a performance optimization, if we are creating
- # direct load packages, don't bother figuring out the
- # set of commands created by the new packages. We
- # only need that list for setting up the autoloading
- # used in the non-direct case.
+ # As a performance optimization, if we are creating direct
+ # load packages, don't bother figuring out the set of commands
+ # created by the new packages. We only need that list for
+ # setting up the autoloading used in the non-direct case.
if { !$::tcl::direct } {
# See what new namespaces appeared, and import commands
# from them. Only exported commands go into the index.
@@ -316,8 +323,9 @@ proc pkg_mkIndex {args} {
set ::tcl::abs [namespace origin $::tcl::x]
- # special case so that global names have no leading
- # ::, this is required by the unknown command
+ # special case so that global names have no
+ # leading ::, this is required by the unknown
+ # command
set ::tcl::abs \
[lindex [auto_qualify $::tcl::abs ::] 0]
@@ -332,8 +340,8 @@ proc pkg_mkIndex {args} {
}
}
- # Look through the packages that appeared, and if there is
- # a version provided, then record it
+ # Look through the packages that appeared, and if there is a
+ # version provided, then record it
foreach ::tcl::x [package names] {
if {[package provide $::tcl::x] ne ""
@@ -343,12 +351,12 @@ proc pkg_mkIndex {args} {
}
}
}
- } msg] == 1} {
+ } on error msg {
set what [$c eval set ::tcl::debug]
if {$doVerbose} {
tclLog "warning: error while $what $file: $msg"
}
- } else {
+ } on ok {} {
set what [$c eval set ::tcl::debug]
if {$doVerbose} {
tclLog "successful $what of $file"
@@ -389,9 +397,11 @@ proc pkg_mkIndex {args} {
foreach pkg [lsort [array names files]] {
set cmd {}
- lassign $pkg name version
+ foreach {name version} $pkg {
+ break
+ }
lappend cmd ::tcl::Pkg::Create -name $name -version $version
- foreach spec [lsort -index 0 $files($pkg)] {
+ foreach spec $files($pkg) {
foreach {file type procs} $spec {
if { $direct } {
set procs {}
@@ -408,11 +418,10 @@ proc pkg_mkIndex {args} {
}
# tclPkgSetup --
-# This is a utility procedure use by pkgIndex.tcl files. It is invoked
-# as part of a "package ifneeded" script. It calls "package provide"
-# to indicate that a package is available, then sets entries in the
-# auto_index array so that the package's files will be auto-loaded when
-# the commands are used.
+# This is a utility procedure use by pkgIndex.tcl files. It is invoked as
+# part of a "package ifneeded" script. It calls "package provide" to indicate
+# that a package is available, then sets entries in the auto_index array so
+# that the package's files will be auto-loaded when the commands are used.
#
# Arguments:
# dir - Directory containing all the files for this package.
@@ -443,12 +452,12 @@ proc tclPkgSetup {dir pkg version files} {
}
# tclPkgUnknown --
-# This procedure provides the default for the "package unknown" function.
-# It is invoked when a package that's needed can't be found. It scans
-# the auto_path directories and their immediate children looking for
-# pkgIndex.tcl files and sources any such files that are found to setup
-# the package database. As it searches, it will recognize changes
-# to the auto_path and scan any new directories.
+# This procedure provides the default for the "package unknown" function. It
+# is invoked when a package that's needed can't be found. It scans the
+# auto_path directories and their immediate children looking for pkgIndex.tcl
+# files and sources any such files that are found to setup the package
+# database. As it searches, it will recognize changes to the auto_path and
+# scan any new directories.
#
# Arguments:
# name - Name of desired package. Not used.
@@ -461,8 +470,8 @@ proc tclPkgUnknown {name args} {
if {![info exists auto_path]} {
return
}
- # Cache the auto_path, because it may change while we run through
- # the first set of pkgIndex.tcl files
+ # Cache the auto_path, because it may change while we run through the
+ # first set of pkgIndex.tcl files
set old_path [set use_path $auto_path]
while {[llength $use_path]} {
set dir [lindex $use_path end]
@@ -474,24 +483,22 @@ proc tclPkgUnknown {name args} {
}
set tclSeenPath($dir) 1
- # we can't use glob in safe interps, so enclose the following
- # in a catch statement, where we get the pkgIndex files out
- # of the subdirectories
+ # we can't use glob in safe interps, so enclose the following in a
+ # catch statement, where we get the pkgIndex files out of the
+ # subdirectories
catch {
foreach file [glob -directory $dir -join -nocomplain \
* pkgIndex.tcl] {
set dir [file dirname $file]
if {![info exists procdDirs($dir)]} {
- set code [catch {source $file} msg opt]
- if {$code == 1 &&
- [lindex [dict get $opt -errorcode] 0] eq "POSIX" &&
- [lindex [dict get $opt -errorcode] 1] eq "EACCES"} {
+ try {
+ source $file
+ } trap {POSIX EACCES} {} {
# $file was not readable; silently ignore
continue
- }
- if {$code} {
+ } on error msg {
tclLog "error reading package index file $file: $msg"
- } else {
+ } on ok {} {
set procdDirs($dir) 1
}
}
@@ -502,16 +509,14 @@ proc tclPkgUnknown {name args} {
set file [file join $dir pkgIndex.tcl]
# safe interps usually don't have "file exists",
if {([interp issafe] || [file exists $file])} {
- set code [catch {source $file} msg opt]
- if {$code == 1 &&
- [lindex [dict get $opt -errorcode] 0] eq "POSIX" &&
- [lindex [dict get $opt -errorcode] 1] eq "EACCES"} {
+ try {
+ source $file
+ } trap {POSIX EACCES} {} {
# $file was not readable; silently ignore
continue
- }
- if {$code} {
+ } on error msg {
tclLog "error reading package index file $file: $msg"
- } else {
+ } on ok {} {
set procdDirs($dir) 1
}
}
@@ -519,12 +524,11 @@ proc tclPkgUnknown {name args} {
set use_path [lrange $use_path 0 end-1]
- # Check whether any of the index scripts we [source]d above
- # set a new value for $::auto_path. If so, then find any
- # new directories on the $::auto_path, and lappend them to
- # the $use_path we are working from. This gives index scripts
- # the (arguably unwise) power to expand the index script search
- # path while the search is in progress.
+ # Check whether any of the index scripts we [source]d above set a new
+ # value for $::auto_path. If so, then find any new directories on the
+ # $::auto_path, and lappend them to the $use_path we are working from.
+ # This gives index scripts the (arguably unwise) power to expand the
+ # index script search path while the search is in progress.
set index 0
if {[llength $old_path] == [llength $auto_path]} {
foreach dir $auto_path old $old_path {
@@ -536,13 +540,14 @@ proc tclPkgUnknown {name args} {
}
}
- # $index now points to the first element of $auto_path that
- # has changed, or the beginning if $auto_path has changed length
- # Scan the new elements of $auto_path for directories to add to
- # $use_path. Don't add directories we've already seen, or ones
- # already on the $use_path.
+ # $index now points to the first element of $auto_path that has
+ # changed, or the beginning if $auto_path has changed length Scan the
+ # new elements of $auto_path for directories to add to $use_path.
+ # Don't add directories we've already seen, or ones already on the
+ # $use_path.
foreach dir [lrange $auto_path $index end] {
- if {![info exists tclSeenPath($dir)] && ($dir ni $use_path)} {
+ if {![info exists tclSeenPath($dir)]
+ && ([lsearch -exact $use_path $dir] == -1) } {
lappend use_path $dir
}
}
@@ -551,9 +556,9 @@ proc tclPkgUnknown {name args} {
}
# tcl::MacOSXPkgUnknown --
-# This procedure extends the "package unknown" function for MacOSX.
-# It scans the Resources/Scripts directories of the immediate children
-# of the auto_path directories for pkgIndex files.
+# This procedure extends the "package unknown" function for MacOSX. It scans
+# the Resources/Scripts directories of the immediate children of the auto_path
+# directories for pkgIndex files.
#
# Arguments:
# original - original [package unknown] procedure
@@ -562,7 +567,6 @@ proc tclPkgUnknown {name args} {
# exact - Either "-exact" or omitted. Not used.
proc tcl::MacOSXPkgUnknown {original name args} {
-
# First do the cross-platform default search
uplevel 1 $original [linsert $args 0 $name]
@@ -572,8 +576,8 @@ proc tcl::MacOSXPkgUnknown {original name args} {
if {![info exists auto_path]} {
return
}
- # Cache the auto_path, because it may change while we run through
- # the first set of pkgIndex.tcl files
+ # Cache the auto_path, because it may change while we run through the
+ # first set of pkgIndex.tcl files
set old_path [set use_path $auto_path]
while {[llength $use_path]} {
set dir [lindex $use_path end]
@@ -590,28 +594,25 @@ proc tcl::MacOSXPkgUnknown {original name args} {
* Resources Scripts pkgIndex.tcl] {
set dir [file dirname $file]
if {![info exists procdDirs($dir)]} {
- set code [catch {source $file} msg opt]
- if {$code == 1 &&
- [lindex [dict get $opt -errorcode] 0] eq "POSIX" &&
- [lindex [dict get $opt -errorcode] 1] eq "EACCES"} {
+ try {
+ source $file
+ } trap {POSIX EACCES} {} {
# $file was not readable; silently ignore
continue
- }
- if {$code} {
+ } on error msg {
tclLog "error reading package index file $file: $msg"
- } else {
+ } on ok {} {
set procdDirs($dir) 1
}
}
}
set use_path [lrange $use_path 0 end-1]
- # Check whether any of the index scripts we [source]d above
- # set a new value for $::auto_path. If so, then find any
- # new directories on the $::auto_path, and lappend them to
- # the $use_path we are working from. This gives index scripts
- # the (arguably unwise) power to expand the index script search
- # path while the search is in progress.
+ # Check whether any of the index scripts we [source]d above set a new
+ # value for $::auto_path. If so, then find any new directories on the
+ # $::auto_path, and lappend them to the $use_path we are working from.
+ # This gives index scripts the (arguably unwise) power to expand the
+ # index script search path while the search is in progress.
set index 0
if {[llength $old_path] == [llength $auto_path]} {
foreach dir $auto_path old $old_path {
@@ -623,13 +624,14 @@ proc tcl::MacOSXPkgUnknown {original name args} {
}
}
- # $index now points to the first element of $auto_path that
- # has changed, or the beginning if $auto_path has changed length
- # Scan the new elements of $auto_path for directories to add to
- # $use_path. Don't add directories we've already seen, or ones
- # already on the $use_path.
+ # $index now points to the first element of $auto_path that has
+ # changed, or the beginning if $auto_path has changed length Scan the
+ # new elements of $auto_path for directories to add to $use_path.
+ # Don't add directories we've already seen, or ones already on the
+ # $use_path.
foreach dir [lrange $auto_path $index end] {
- if {![info exists tclSeenPath($dir)] && ($dir ni $use_path)} {
+ if {![info exists tclSeenPath($dir)]
+ && ([lsearch -exact $use_path $dir] == -1) } {
lappend use_path $dir
}
}
@@ -653,12 +655,12 @@ proc tcl::MacOSXPkgUnknown {original name args} {
#
# Any number of -load and -source parameters may be
# specified, so long as there is at least one -load or
-# -source parameter. If the procs component of a
-# module specifier is left off, that module will be
-# set up for direct loading; otherwise, it will be
-# set up for lazy loading. If both -source and -load
-# are specified, the -load'ed files will be loaded
-# first, followed by the -source'd files.
+# -source parameter. If the procs component of a module
+# specifier is left off, that module will be set up for
+# direct loading; otherwise, it will be set up for lazy
+# loading. If both -source and -load are specified, the
+# -load'ed files will be loaded first, followed by the
+# -source'd files.
#
# Results:
# An appropriate "package ifneeded" statement for the package.
@@ -681,7 +683,10 @@ proc ::tcl::Pkg::Create {args} {
}
# Initialize parameters
- array set opts {-name {} -version {} -source {} -load {}}
+ set opts(-name) {}
+ set opts(-version) {}
+ set opts(-source) {}
+ set opts(-load) {}
# process parameters
for {set i 0} {$i < $len} {incr i} {
@@ -729,7 +734,12 @@ proc ::tcl::Pkg::Create {args} {
# Handle -load and -source specs
foreach key {load source} {
foreach filespec $opts(-$key) {
- lassign $filespec filename proclist
+ foreach {filename proclist} {{} {}} {
+ break
+ }
+ foreach {filename proclist} $filespec {
+ break
+ }
if { [llength $proclist] == 0 } {
set cmd "\[list $key \[file join \$dir [list $filename]\]\]"
diff --git a/library/parray.tcl b/library/parray.tcl
index 3ce9817..e331d4d 100644
--- a/library/parray.tcl
+++ b/library/parray.tcl
@@ -1,6 +1,8 @@
# parray:
# Print the contents of a global array on stdout.
#
+# RCS: @(#) $Id: parray.tcl,v 1.4 2005/06/03 10:02:23 dkf Exp $
+#
# Copyright (c) 1991-1993 The Regents of the University of California.
# Copyright (c) 1994 Sun Microsystems, Inc.
#
diff --git a/library/platform/pkgIndex.tcl b/library/platform/pkgIndex.tcl
index 23a3408..0b69432 100644
--- a/library/platform/pkgIndex.tcl
+++ b/library/platform/pkgIndex.tcl
@@ -1,3 +1,3 @@
-package ifneeded platform 1.0.12 [list source [file join $dir platform.tcl]]
+package ifneeded platform 1.0.5 [list source [file join $dir platform.tcl]]
package ifneeded platform::shell 1.1.4 [list source [file join $dir shell.tcl]]
diff --git a/library/platform/platform.tcl b/library/platform/platform.tcl
index 5698425..1a454cd 100644
--- a/library/platform/platform.tcl
+++ b/library/platform/platform.tcl
@@ -103,12 +103,7 @@ proc ::platform::generic {} {
}
sunos {
set plat solaris
- if {[string match "ix86" $cpu]} {
- if {$tcl_platform(wordSize) == 8} {
- set cpu x86_64
- }
- } elseif {![string match "ia64*" $cpu]} {
- # sparc
+ if {![string match "ia64*" $cpu]} {
if {$tcl_platform(wordSize) == 8} {
append cpu 64
}
@@ -180,59 +175,36 @@ proc ::platform::identify {} {
set v unknown
- # Determine in which directory to look. /lib, or /lib64.
- # For that we use the tcl_platform(wordSize).
- #
- # We could use the 'cpu' info, per the equivalence below,
- # that however would be restricted to intel. And this may
- # be a arm, mips, etc. system. The wordsize is more
- # fundamental.
- #
- # ix86 <=> (wordSize == 4) <=> 32 bit ==> /lib
- # x86_64 <=> (wordSize == 8) <=> 64 bit ==> /lib64
- #
- # Do not look into /lib64 even if present, if the cpu
- # doesn't fit.
-
- # TODO: Determine the prefixes (i386, x86_64, ...) for
- # other cpus. The path after the generic one is utterly
- # specific to intel right now. Ok, on Ubuntu, possibly
- # other Debian systems we may apparently be able to query
- # the necessary CPU code. If we can't we simply use the
- # hardwired fallback.
-
- switch -exact -- $tcl_platform(wordSize) {
- 4 {
- lappend bases /lib
- if {[catch {
- exec dpkg-architecture -qDEB_HOST_MULTIARCH
- } res]} {
- lappend bases /lib/i386-linux-gnu
- } else {
- # dpkg-arch returns the full tripled, not just cpu.
- lappend bases /lib/$res
- }
- }
- 8 {
- lappend bases /lib64
- if {[catch {
- exec dpkg-architecture -qDEB_HOST_MULTIARCH
- } res]} {
- lappend bases /lib/x86_64-linux-gnu
- } else {
- # dpkg-arch returns the full tripled, not just cpu.
- lappend bases /lib/$res
- }
- }
- default {
- return -code error "Bad wordSize $tcl_platform(wordSize), expected 4 or 8"
- }
+ if {[file exists /lib64] && [file isdirectory /lib64]} {
+ set base /lib64
+ } else {
+ set base /lib
}
- foreach base $bases {
- if {[LibcVersion $base -> v]} break
- }
+ set libclist [lsort [glob -nocomplain -directory $base libc*]]
+ if {[llength $libclist]} {
+ set libc [lindex $libclist 0]
+
+ # Try executing the library first. This should suceed
+ # for a glibc library, and return the version
+ # information.
+
+ if {![catch {
+ set vdata [lindex [split [exec $libc] \n] 0]
+ }]} {
+ regexp {([0-9]+(\.[0-9]+)*)} $vdata -> v
+ foreach {major minor} [split $v .] break
+ set v glibc${major}.${minor}
+ } else {
+ # We had trouble executing the library. We are now
+ # inspecting its name to determine the version
+ # number. This code by Larry McVoy.
+ if {[regexp -- {libc-([0-9]+)\.([0-9]+)} $libc -> major minor]} {
+ set v glibc${major}.${minor}
+ }
+ }
+ }
append plat -$v
return "${plat}-${cpu}"
}
@@ -241,38 +213,6 @@ proc ::platform::identify {} {
return $id
}
-proc ::platform::LibcVersion {base _->_ vv} {
- upvar 1 $vv v
- set libclist [lsort [glob -nocomplain -directory $base libc*]]
-
- if {![llength $libclist]} { return 0 }
-
- set libc [lindex $libclist 0]
-
- # Try executing the library first. This should suceed
- # for a glibc library, and return the version
- # information.
-
- if {![catch {
- set vdata [lindex [split [exec $libc] \n] 0]
- }]} {
- regexp {version ([0-9]+(\.[0-9]+)*)} $vdata -> v
- foreach {major minor} [split $v .] break
- set v glibc${major}.${minor}
- return 1
- } else {
- # We had trouble executing the library. We are now
- # inspecting its name to determine the version
- # number. This code by Larry McVoy.
-
- if {[regexp -- {libc-([0-9]+)\.([0-9]+)} $libc -> major minor]} {
- set v glibc${major}.${minor}
- return 1
- }
- }
- return 0
-}
-
# -- platform::patterns
#
# Given an exact platform identifier, i.e. _not_ the generic
@@ -316,13 +256,6 @@ proc ::platform::patterns {id} {
macosx*-* {
# 10.5+
if {[regexp {macosx([^-]*)-(.*)} $id -> v cpu]} {
-
- switch -exact -- $cpu {
- ix86 -
- x86_64 { set alt i386-x86_64 }
- default { set alt {} }
- }
-
if {$v ne ""} {
foreach {major minor} [split $v .] break
@@ -331,34 +264,22 @@ proc ::platform::patterns {id} {
for {set j $minor} {$j >= 5} {incr j -1} {
lappend res macosx${major}.${j}-${cpu}
lappend res macosx${major}.${j}-universal
- if {$alt ne {}} {
- lappend res macosx${major}.${j}-$alt
- }
}
# Add unversioned patterns for 10.3/10.4 builds.
lappend res macosx-${cpu}
lappend res macosx-universal
- if {$alt ne {}} {
- lappend res macosx-$alt
- }
} else {
lappend res macosx-universal
- if {$alt ne {}} {
- lappend res macosx-$alt
- }
}
} else {
lappend res macosx-universal
}
}
- macosx-powerpc {
+ macosx-powerpc -
+ macosx-ix86 {
lappend res macosx-universal
}
- macosx-x86_64 -
- macosx-ix86 {
- lappend res macosx-universal macosx-i386-x86_64
- }
}
lappend res tcl ; # Pure tcl packages are always compatible.
return $res
@@ -368,7 +289,7 @@ proc ::platform::patterns {id} {
# ### ### ### ######### ######### #########
## Ready
-package provide platform 1.0.12
+package provide platform 1.0.5
# ### ### ### ######### ######### #########
## Demo application
diff --git a/library/platform/shell.tcl b/library/platform/shell.tcl
index d37cdcd..407e639 100644
--- a/library/platform/shell.tcl
+++ b/library/platform/shell.tcl
@@ -1,4 +1,3 @@
-
# -*- tcl -*-
# ### ### ### ######### ######### #########
## Overview
@@ -105,10 +104,8 @@ proc ::platform::shell::LOCATE {bv ov} {
# here. If the found package is wrapped we copy the code somewhere
# where the spawned shell will be able to read it.
- # This code is brittle, it needs has to adapt to whatever changes
- # are made to the TM code, i.e. the provide statement generated by
- # tm.tcl
-
+ # Note: This code depends on the form of the 'provide' command
+ # generated by tm.tcl. Keep them in sync. See Bug 2255235.
set pl [package ifneeded platform [package require platform]]
set base [lindex $pl end]
@@ -187,7 +184,7 @@ proc ::platform::shell::TEMP {} {
}
}
}
- if {$channel != ""} {
+ if {[string compare $channel ""]} {
return -code error "Failed to open a temporary file: $channel"
} else {
return -code error "Failed to find an unused temporary file name"
diff --git a/library/reg/pkgIndex.tcl b/library/reg/pkgIndex.tcl
index 1241f2a..d2ed72f 100755
--- a/library/reg/pkgIndex.tcl
+++ b/library/reg/pkgIndex.tcl
@@ -1,9 +1,9 @@
-if {![package vsatisfies [package provide Tcl] 8]} return
-if {[info sharedlibextension] != ".dll"} return
+if {![package vsatisfies [package provide Tcl] 8]} {return}
+if {[string compare $::tcl_platform(platform) windows]} {return}
if {[info exists ::tcl_platform(debug)]} {
- package ifneeded registry 1.2.2 \
+ package ifneeded registry 1.2.1 \
[list load [file join $dir tclreg12g.dll] registry]
} else {
- package ifneeded registry 1.2.2 \
+ package ifneeded registry 1.2.1 \
[list load [file join $dir tclreg12.dll] registry]
}
diff --git a/library/safe.tcl b/library/safe.tcl
index 1a340a1..5a3d4d0 100644
--- a/library/safe.tcl
+++ b/library/safe.tcl
@@ -11,6 +11,8 @@
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# RCS: @(#) $Id: safe.tcl,v 1.18 2009/07/26 11:40:24 dkf Exp $
#
# The implementation is based on namespaces. These naming conventions are
@@ -24,1104 +26,1018 @@ package require opt 0.4.1
# Create the safe namespace
namespace eval ::safe {
+
# Exported API:
namespace export interpCreate interpInit interpConfigure interpDelete \
- interpAddToAccessPath interpFindInAccessPath setLogCmd
-}
+ interpAddToAccessPath interpFindInAccessPath setLogCmd
-# Helper function to resolve the dual way of specifying staticsok (either
-# by -noStatics or -statics 0)
-proc ::safe::InterpStatics {} {
- foreach v {Args statics noStatics} {
- upvar $v $v
- }
- set flag [::tcl::OptProcArgGiven -noStatics]
- if {$flag && (!$noStatics == !$statics)
- && ([::tcl::OptProcArgGiven -statics])} {
- return -code error\
- "conflicting values given for -statics and -noStatics"
- }
- if {$flag} {
- return [expr {!$noStatics}]
- } else {
- return $statics
- }
-}
+ ####
+ #
+ # Setup the arguments parsing
+ #
+ ####
-# Helper function to resolve the dual way of specifying nested loading
-# (either by -nestedLoadOk or -nested 1)
-proc ::safe::InterpNested {} {
- foreach v {Args nested nestedLoadOk} {
- upvar $v $v
- }
- set flag [::tcl::OptProcArgGiven -nestedLoadOk]
- # note that the test here is the opposite of the "InterpStatics" one
- # (it is not -noNested... because of the wanted default value)
- if {$flag && (!$nestedLoadOk != !$nested)
- && ([::tcl::OptProcArgGiven -nested])} {
- return -code error\
- "conflicting values given for -nested and -nestedLoadOk"
- }
- if {$flag} {
- # another difference with "InterpStatics"
- return $nestedLoadOk
- } else {
- return $nested
+ # Make sure that our temporary variable is local to this namespace. [Bug
+ # 981733]
+ variable temp
+
+ # Share the descriptions
+ set temp [::tcl::OptKeyRegister {
+ {-accessPath -list {} "access path for the slave"}
+ {-noStatics "prevent loading of statically linked pkgs"}
+ {-statics true "loading of statically linked pkgs"}
+ {-nestedLoadOk "allow nested loading"}
+ {-nested false "nested loading"}
+ {-deleteHook -script {} "delete hook"}
+ }]
+
+ # create case (slave is optional)
+ ::tcl::OptKeyRegister {
+ {?slave? -name {} "name of the slave (optional)"}
+ } ::safe::interpCreate
+ # adding the flags sub programs to the command program (relying on Opt's
+ # internal implementation details)
+ lappend ::tcl::OptDesc(::safe::interpCreate) $::tcl::OptDesc($temp)
+
+ # init and configure (slave is needed)
+ ::tcl::OptKeyRegister {
+ {slave -name {} "name of the slave"}
+ } ::safe::interpIC
+ # adding the flags sub programs to the command program (relying on Opt's
+ # internal implementation details)
+ lappend ::tcl::OptDesc(::safe::interpIC) $::tcl::OptDesc($temp)
+ # temp not needed anymore
+ ::tcl::OptKeyDelete $temp
+
+ # Helper function to resolve the dual way of specifying staticsok (either
+ # by -noStatics or -statics 0)
+ proc InterpStatics {} {
+ foreach v {Args statics noStatics} {
+ upvar $v $v
+ }
+ set flag [::tcl::OptProcArgGiven -noStatics]
+ if {$flag && (!$noStatics == !$statics)
+ && ([::tcl::OptProcArgGiven -statics])} {
+ return -code error\
+ "conflicting values given for -statics and -noStatics"
+ }
+ if {$flag} {
+ return [expr {!$noStatics}]
+ } else {
+ return $statics
+ }
}
-}
-####
-#
-# API entry points that needs argument parsing :
-#
-####
+ # Helper function to resolve the dual way of specifying nested loading
+ # (either by -nestedLoadOk or -nested 1)
+ proc InterpNested {} {
+ foreach v {Args nested nestedLoadOk} {
+ upvar $v $v
+ }
+ set flag [::tcl::OptProcArgGiven -nestedLoadOk]
+ # note that the test here is the opposite of the "InterpStatics" one
+ # (it is not -noNested... because of the wanted default value)
+ if {$flag && (!$nestedLoadOk != !$nested)
+ && ([::tcl::OptProcArgGiven -nested])} {
+ return -code error\
+ "conflicting values given for -nested and -nestedLoadOk"
+ }
+ if {$flag} {
+ # another difference with "InterpStatics"
+ return $nestedLoadOk
+ } else {
+ return $nested
+ }
+ }
-# Interface/entry point function and front end for "Create"
-proc ::safe::interpCreate {args} {
- set Args [::tcl::OptKeyParse ::safe::interpCreate $args]
- InterpCreate $slave $accessPath \
- [InterpStatics] [InterpNested] $deleteHook
-}
+ ####
+ #
+ # API entry points that needs argument parsing :
+ #
+ ####
-proc ::safe::interpInit {args} {
- set Args [::tcl::OptKeyParse ::safe::interpIC $args]
- if {![::interp exists $slave]} {
- return -code error "\"$slave\" is not an interpreter"
+ # Interface/entry point function and front end for "Create"
+ proc interpCreate {args} {
+ set Args [::tcl::OptKeyParse ::safe::interpCreate $args]
+ InterpCreate $slave $accessPath \
+ [InterpStatics] [InterpNested] $deleteHook
}
- InterpInit $slave $accessPath \
- [InterpStatics] [InterpNested] $deleteHook
-}
-# Check that the given slave is "one of us"
-proc ::safe::CheckInterp {slave} {
- namespace upvar ::safe S$slave state
- if {![info exists state] || ![::interp exists $slave]} {
- return -code error \
- "\"$slave\" is not an interpreter managed by ::safe::"
+ proc interpInit {args} {
+ set Args [::tcl::OptKeyParse ::safe::interpIC $args]
+ if {![::interp exists $slave]} {
+ return -code error "\"$slave\" is not an interpreter"
+ }
+ InterpInit $slave $accessPath \
+ [InterpStatics] [InterpNested] $deleteHook
}
-}
-# Interface/entry point function and front end for "Configure". This code
-# is awfully pedestrian because it would need more coupling and support
-# between the way we store the configuration values in safe::interp's and
-# the Opt package. Obviously we would like an OptConfigure to avoid
-# duplicating all this code everywhere.
-# -> TODO (the app should share or access easily the program/value stored
-# by opt)
-
-# This is even more complicated by the boolean flags with no values that
-# we had the bad idea to support for the sake of user simplicity in
-# create/init but which makes life hard in configure...
-# So this will be hopefully written and some integrated with opt1.0
-# (hopefully for tcl8.1 ?)
-proc ::safe::interpConfigure {args} {
- switch [llength $args] {
- 1 {
- # If we have exactly 1 argument the semantic is to return all
- # the current configuration. We still call OptKeyParse though
- # we know that "slave" is our given argument because it also
- # checks for the "-help" option.
- set Args [::tcl::OptKeyParse ::safe::interpIC $args]
- CheckInterp $slave
- namespace upvar ::safe S$slave state
-
- return [join [list \
- [list -accessPath $state(access_path)] \
- [list -statics $state(staticsok)] \
- [list -nested $state(nestedok)] \
- [list -deleteHook $state(cleanupHook)]]]
+ proc CheckInterp {slave} {
+ if {![IsInterp $slave]} {
+ return -code error \
+ "\"$slave\" is not an interpreter managed by ::safe::"
}
- 2 {
- # If we have exactly 2 arguments the semantic is a "configure
- # get"
- lassign $args slave arg
-
- # get the flag sub program (we 'know' about Opt's internal
- # representation of data)
- set desc [lindex [::tcl::OptKeyGetDesc ::safe::interpIC] 2]
- set hits [::tcl::OptHits desc $arg]
- if {$hits > 1} {
- return -code error [::tcl::OptAmbigous $desc $arg]
- } elseif {$hits == 0} {
- return -code error [::tcl::OptFlagUsage $desc $arg]
+ }
+
+ # Interface/entry point function and front end for "Configure". This code
+ # is awfully pedestrian because it would need more coupling and support
+ # between the way we store the configuration values in safe::interp's and
+ # the Opt package. Obviously we would like an OptConfigure to avoid
+ # duplicating all this code everywhere.
+ # -> TODO (the app should share or access easily the program/value stored
+ # by opt)
+
+ # This is even more complicated by the boolean flags with no values that
+ # we had the bad idea to support for the sake of user simplicity in
+ # create/init but which makes life hard in configure...
+ # So this will be hopefully written and some integrated with opt1.0
+ # (hopefully for tcl8.1 ?)
+ proc interpConfigure {args} {
+ switch [llength $args] {
+ 1 {
+ # If we have exactly 1 argument the semantic is to return all
+ # the current configuration. We still call OptKeyParse though
+ # we know that "slave" is our given argument because it also
+ # checks for the "-help" option.
+ set Args [::tcl::OptKeyParse ::safe::interpIC $args]
+ CheckInterp $slave
+ set res {}
+ lappend res [list -accessPath [Set [PathListName $slave]]]
+ lappend res [list -statics [Set [StaticsOkName $slave]]]
+ lappend res [list -nested [Set [NestedOkName $slave]]]
+ lappend res [list -deleteHook [Set [DeleteHookName $slave]]]
+ join $res
}
- CheckInterp $slave
- namespace upvar ::safe S$slave state
-
- set item [::tcl::OptCurDesc $desc]
- set name [::tcl::OptName $item]
- switch -exact -- $name {
- -accessPath {return [list -accessPath $state(access_path)]}
- -statics {return [list -statics $state(staticsok)]}
- -nested {return [list -nested $state(nestedok)]}
- -deleteHook {return [list -deleteHook $state(cleanupHook)]}
- -noStatics {
- # it is most probably a set in fact but we would need
- # then to jump to the set part and it is not *sure*
- # that it is a set action that the user want, so force
- # it to use the unambigous -statics ?value? instead:
- return -code error\
- "ambigous query (get or set -noStatics ?)\
+ 2 {
+ # If we have exactly 2 arguments the semantic is a "configure
+ # get"
+ ::tcl::Lassign $args slave arg
+
+ # get the flag sub program (we 'know' about Opt's internal
+ # representation of data)
+ set desc [lindex [::tcl::OptKeyGetDesc ::safe::interpIC] 2]
+ set hits [::tcl::OptHits desc $arg]
+ if {$hits > 1} {
+ return -code error [::tcl::OptAmbigous $desc $arg]
+ } elseif {$hits == 0} {
+ return -code error [::tcl::OptFlagUsage $desc $arg]
+ }
+ CheckInterp $slave
+ set item [::tcl::OptCurDesc $desc]
+ set name [::tcl::OptName $item]
+ switch -exact -- $name {
+ -accessPath {
+ return [list -accessPath [Set [PathListName $slave]]]
+ }
+ -statics {
+ return [list -statics [Set [StaticsOkName $slave]]]
+ }
+ -nested {
+ return [list -nested [Set [NestedOkName $slave]]]
+ }
+ -deleteHook {
+ return [list -deleteHook [Set [DeleteHookName $slave]]]
+ }
+ -noStatics {
+ # it is most probably a set in fact but we would need
+ # then to jump to the set part and it is not *sure*
+ # that it is a set action that the user want, so force
+ # it to use the unambigous -statics ?value? instead:
+ return -code error\
+ "ambigous query (get or set -noStatics ?)\
use -statics instead"
- }
- -nestedLoadOk {
- return -code error\
- "ambigous query (get or set -nestedLoadOk ?)\
+ }
+ -nestedLoadOk {
+ return -code error\
+ "ambigous query (get or set -nestedLoadOk ?)\
use -nested instead"
+ }
+ default {
+ return -code error "unknown flag $name (bug)"
+ }
}
- default {
- return -code error "unknown flag $name (bug)"
- }
- }
- }
- default {
- # Otherwise we want to parse the arguments like init and
- # create did
- set Args [::tcl::OptKeyParse ::safe::interpIC $args]
- CheckInterp $slave
- namespace upvar ::safe S$slave state
-
- # Get the current (and not the default) values of whatever has
- # not been given:
- if {![::tcl::OptProcArgGiven -accessPath]} {
- set doreset 1
- set accessPath $state(access_path)
- } else {
- set doreset 0
- }
- if {
- ![::tcl::OptProcArgGiven -statics]
- && ![::tcl::OptProcArgGiven -noStatics]
- } {
- set statics $state(staticsok)
- } else {
- set statics [InterpStatics]
- }
- if {
- [::tcl::OptProcArgGiven -nested] ||
- [::tcl::OptProcArgGiven -nestedLoadOk]
- } {
- set nested [InterpNested]
- } else {
- set nested $state(nestedok)
- }
- if {![::tcl::OptProcArgGiven -deleteHook]} {
- set deleteHook $state(cleanupHook)
}
- # we can now reconfigure :
- InterpSetConfig $slave $accessPath $statics $nested $deleteHook
- # auto_reset the slave (to completly synch the new access_path)
- if {$doreset} {
- if {[catch {::interp eval $slave {auto_reset}} msg]} {
- Log $slave "auto_reset failed: $msg"
+ default {
+ # Otherwise we want to parse the arguments like init and
+ # create did
+ set Args [::tcl::OptKeyParse ::safe::interpIC $args]
+ CheckInterp $slave
+
+ # Get the current (and not the default) values of whatever has
+ # not been given:
+ if {![::tcl::OptProcArgGiven -accessPath]} {
+ set doreset 1
+ set accessPath [Set [PathListName $slave]]
+ } else {
+ set doreset 0
+ }
+ if {
+ ![::tcl::OptProcArgGiven -statics]
+ && ![::tcl::OptProcArgGiven -noStatics]
+ } then {
+ set statics [Set [StaticsOkName $slave]]
} else {
- Log $slave "successful auto_reset" NOTICE
+ set statics [InterpStatics]
+ }
+ if {
+ [::tcl::OptProcArgGiven -nested] ||
+ [::tcl::OptProcArgGiven -nestedLoadOk]
+ } then {
+ set nested [InterpNested]
+ } else {
+ set nested [Set [NestedOkName $slave]]
+ }
+ if {![::tcl::OptProcArgGiven -deleteHook]} {
+ set deleteHook [Set [DeleteHookName $slave]]
+ }
+ # we can now reconfigure :
+ InterpSetConfig $slave $accessPath $statics $nested $deleteHook
+ # auto_reset the slave (to completly synch the new access_path)
+ if {$doreset} {
+ if {[catch {::interp eval $slave {auto_reset}} msg]} {
+ Log $slave "auto_reset failed: $msg"
+ } else {
+ Log $slave "successful auto_reset" NOTICE
+ }
}
}
}
}
-}
-####
-#
-# Functions that actually implements the exported APIs
-#
-####
+ ####
+ #
+ # Functions that actually implements the exported APIs
+ #
+ ####
-#
-# safe::InterpCreate : doing the real job
-#
-# This procedure creates a safe slave and initializes it with the safe
-# base aliases.
-# NB: slave name must be simple alphanumeric string, no spaces, no (), no
-# {},... {because the state array is stored as part of the name}
-#
-# Returns the slave name.
-#
-# Optional Arguments :
-# + slave name : if empty, generated name will be used
-# + access_path: path list controlling where load/source can occur,
-# if empty: the master auto_path will be used.
-# + staticsok : flag, if 0 :no static package can be loaded (load {} Xxx)
-# if 1 :static packages are ok.
-# + nestedok: flag, if 0 :no loading to sub-sub interps (load xx xx sub)
-# if 1 : multiple levels are ok.
-
-# use the full name and no indent so auto_mkIndex can find us
-proc ::safe::InterpCreate {
- slave
- access_path
- staticsok
- nestedok
- deletehook
- } {
- # Create the slave.
- if {$slave ne ""} {
- ::interp create -safe $slave
- } else {
- # empty argument: generate slave name
- set slave [::interp create -safe]
- }
- Log $slave "Created" NOTICE
+ #
+ # safe::InterpCreate : doing the real job
+ #
+ # This procedure creates a safe slave and initializes it with the safe
+ # base aliases.
+ # NB: slave name must be simple alphanumeric string, no spaces, no (), no
+ # {},... {because the state array is stored as part of the name}
+ #
+ # Returns the slave name.
+ #
+ # Optional Arguments :
+ # + slave name : if empty, generated name will be used
+ # + access_path: path list controlling where load/source can occur,
+ # if empty: the master auto_path will be used.
+ # + staticsok : flag, if 0 :no static package can be loaded (load {} Xxx)
+ # if 1 :static packages are ok.
+ # + nestedok: flag, if 0 :no loading to sub-sub interps (load xx xx sub)
+ # if 1 : multiple levels are ok.
+
+ # use the full name and no indent so auto_mkIndex can find us
+ proc ::safe::InterpCreate {
+ slave
+ access_path
+ staticsok
+ nestedok
+ deletehook
+ } {
+ # Create the slave.
+ if {$slave ne ""} {
+ ::interp create -safe $slave
+ } else {
+ # empty argument: generate slave name
+ set slave [::interp create -safe]
+ }
+ Log $slave "Created" NOTICE
- # Initialize it. (returns slave name)
- InterpInit $slave $access_path $staticsok $nestedok $deletehook
-}
+ # Initialize it. (returns slave name)
+ InterpInit $slave $access_path $staticsok $nestedok $deletehook
+ }
-#
-# InterpSetConfig (was setAccessPath) :
-# Sets up slave virtual auto_path and corresponding structure within
-# the master. Also sets the tcl_library in the slave to be the first
-# directory in the path.
-# NB: If you change the path after the slave has been initialized you
-# probably need to call "auto_reset" in the slave in order that it gets
-# the right auto_index() array values.
-
-proc ::safe::InterpSetConfig {slave access_path staticsok nestedok deletehook} {
- global auto_path
-
- # determine and store the access path if empty
- if {$access_path eq ""} {
- set access_path $auto_path
-
- # Make sure that tcl_library is in auto_path and at the first
- # position (needed by setAccessPath)
- set where [lsearch -exact $access_path [info library]]
- if {$where == -1} {
- # not found, add it.
- set access_path [linsert $access_path 0 [info library]]
- Log $slave "tcl_library was not in auto_path,\
+ #
+ # InterpSetConfig (was setAccessPath) :
+ # Sets up slave virtual auto_path and corresponding structure within
+ # the master. Also sets the tcl_library in the slave to be the first
+ # directory in the path.
+ # NB: If you change the path after the slave has been initialized you
+ # probably need to call "auto_reset" in the slave in order that it gets
+ # the right auto_index() array values.
+
+ proc ::safe::InterpSetConfig {slave access_path staticsok\
+ nestedok deletehook} {
+ # determine and store the access path if empty
+ if {$access_path eq ""} {
+ set access_path [uplevel \#0 set auto_path]
+ # Make sure that tcl_library is in auto_path and at the first
+ # position (needed by setAccessPath)
+ set where [lsearch -exact $access_path [info library]]
+ if {$where == -1} {
+ # not found, add it.
+ set access_path [concat [list [info library]] $access_path]
+ Log $slave "tcl_library was not in auto_path,\
added it to slave's access_path" NOTICE
- } elseif {$where != 0} {
- # not first, move it first
- set access_path [linsert \
- [lreplace $access_path $where $where] \
- 0 [info library]]
- Log $slave "tcl_libray was not in first in auto_path,\
+ } elseif {$where != 0} {
+ # not first, move it first
+ set access_path [concat [list [info library]]\
+ [lreplace $access_path $where $where]]
+ Log $slave "tcl_libray was not in first in auto_path,\
moved it to front of slave's access_path" NOTICE
- }
+
+ }
- # Add 1st level sub dirs (will searched by auto loading from tcl
- # code in the slave using glob and thus fail, so we add them here
- # so by default it works the same).
- set access_path [AddSubDirs $access_path]
- }
+ # Add 1st level sub dirs (will searched by auto loading from tcl
+ # code in the slave using glob and thus fail, so we add them here
+ # so by default it works the same).
+ set access_path [AddSubDirs $access_path]
+ }
- Log $slave "Setting accessPath=($access_path) staticsok=$staticsok\
+ Log $slave "Setting accessPath=($access_path) staticsok=$staticsok\
nestedok=$nestedok deletehook=($deletehook)" NOTICE
- namespace upvar ::safe S$slave state
-
- # clear old autopath if it existed
- # build new one
- # Extend the access list with the paths used to look for Tcl Modules.
- # We save the virtual form separately as well, as syncing it with the
- # slave has to be defered until the necessary commands are present for
- # setup.
-
- set norm_access_path {}
- set slave_access_path {}
- set map_access_path {}
- set remap_access_path {}
- set slave_tm_path {}
-
- set i 0
- foreach dir $access_path {
- set token [PathToken $i]
- lappend slave_access_path $token
- lappend map_access_path $token $dir
- lappend remap_access_path $dir $token
- lappend norm_access_path [file normalize $dir]
- incr i
- }
-
- set morepaths [::tcl::tm::list]
- while {[llength $morepaths]} {
- set addpaths $morepaths
- set morepaths {}
-
- foreach dir $addpaths {
- # Prevent the addition of dirs on the tm list to the
- # result if they are already known.
- if {[dict exists $remap_access_path $dir]} {
- continue
+ # clear old autopath if it existed
+ set nname [PathNumberName $slave]
+ if {[Exists $nname]} {
+ set n [Set $nname]
+ for {set i 0} {$i<$n} {incr i} {
+ Unset [PathToken $i $slave]
}
+ }
- set token [PathToken $i]
- lappend access_path $dir
- lappend slave_access_path $token
- lappend map_access_path $token $dir
- lappend remap_access_path $dir $token
- lappend norm_access_path [file normalize $dir]
- lappend slave_tm_path $token
+ # build new one
+ set slave_auto_path {}
+ set i 0
+ foreach dir $access_path {
+ Set [PathToken $i $slave] $dir
+ lappend slave_auto_path "\$[PathToken $i]"
+ incr i
+ }
+ # Extend the access list with the paths used to look for Tcl Modules.
+ # We save the virtual form separately as well, as syncing it with the
+ # slave has to be defered until the necessary commands are present for
+ # setup.
+ foreach dir [::tcl::tm::list] {
+ lappend access_path $dir
+ Set [PathToken $i $slave] $dir
+ lappend slave_auto_path "\$[PathToken $i]"
+ lappend slave_tm_path "\$[PathToken $i]"
incr i
+ }
+ Set $nname $i
+ Set [PathListName $slave] $access_path
+ Set [VirtualPathListName $slave] $slave_auto_path
+ Set [TmPathListName $slave] $slave_tm_path
+
+ Set [StaticsOkName $slave] $staticsok
+ Set [NestedOkName $slave] $nestedok
+ Set [DeleteHookName $slave] $deletehook
- # [Bug 2854929]
- # Recursively find deeper paths which may contain
- # modules. Required to handle modules with names like
- # 'platform::shell', which translate into
- # 'platform/shell-X.tm', i.e arbitrarily deep
- # subdirectories.
- lappend morepaths {*}[glob -nocomplain -directory $dir -type d *]
+ SyncAccessPath $slave
+ }
+
+ #
+ #
+ # FindInAccessPath:
+ # Search for a real directory and returns its virtual Id (including the
+ # "$")
+proc ::safe::interpFindInAccessPath {slave path} {
+ set access_path [GetAccessPath $slave]
+ set where [lsearch -exact $access_path $path]
+ if {$where == -1} {
+ return -code error "$path not found in access path $access_path"
}
+ return "\$[PathToken $where]"
}
- set state(access_path) $access_path
- set state(access_path,map) $map_access_path
- set state(access_path,remap) $remap_access_path
- set state(access_path,norm) $norm_access_path
- set state(access_path,slave) $slave_access_path
- set state(tm_path_slave) $slave_tm_path
- set state(staticsok) $staticsok
- set state(nestedok) $nestedok
- set state(cleanupHook) $deletehook
-
- SyncAccessPath $slave
-}
+ #
+ # addToAccessPath:
+ # add (if needed) a real directory to access path and return its
+ # virtual token (including the "$").
+proc ::safe::interpAddToAccessPath {slave path} {
+ # first check if the directory is already in there
+ try {
+ return [interpFindInAccessPath $slave $path]
+ } on error {} {
+ # new one, add it:
+ set nname [PathNumberName $slave]
+ set n [Set $nname]
+ Set [PathToken $n $slave] $path
-#
-#
-# FindInAccessPath:
-# Search for a real directory and returns its virtual Id (including the
-# "$")
-proc ::safe::interpFindInAccessPath {slave path} {
- namespace upvar ::safe S$slave state
+ set token "\$[PathToken $n]"
- if {![dict exists $state(access_path,remap) $path]} {
- return -code error "$path not found in access path $access_path"
+ Lappend [VirtualPathListName $slave] $token
+ Lappend [PathListName $slave] $path
+ Set $nname [expr {$n+1}]
+
+ SyncAccessPath $slave
+
+ return $token
+ }
}
- return [dict get $state(access_path,remap) $path]
-}
+ # This procedure applies the initializations to an already existing
+ # interpreter. It is useful when you want to install the safe base aliases
+ # into a preexisting safe interpreter.
+ proc ::safe::InterpInit {
+ slave
+ access_path
+ staticsok
+ nestedok
+ deletehook
+ } {
+ # Configure will generate an access_path when access_path is empty.
+ InterpSetConfig $slave $access_path $staticsok $nestedok $deletehook
-#
-# addToAccessPath:
-# add (if needed) a real directory to access path and return its
-# virtual token (including the "$").
-proc ::safe::interpAddToAccessPath {slave path} {
- # first check if the directory is already in there
- # (inlined interpFindInAccessPath).
- namespace upvar ::safe S$slave state
+ # These aliases let the slave load files to define new commands
- if {[dict exists $state(access_path,remap) $path]} {
- return [dict get $state(access_path,remap) $path]
- }
+ # NB we need to add [namespace current], aliases are always absolute
+ # paths.
+ ::interp alias $slave source {} \
+ [namespace current]::AliasSource $slave
+ ::interp alias $slave load {} \
+ [namespace current]::AliasLoad $slave
- # new one, add it:
- set token [PathToken [llength $state(access_path)]]
+ # This alias lets the slave use the encoding names, convertfrom,
+ # convertto, and system, but not "encoding system <name>" to set the
+ # system encoding.
- lappend state(access_path) $path
- lappend state(access_path,slave) $token
- lappend state(access_path,map) $token $path
- lappend state(access_path,remap) $path $token
- lappend state(access_path,norm) [file normalize $path]
+ ::interp alias $slave encoding {} \
+ [namespace current]::AliasEncoding $slave
- SyncAccessPath $slave
- return $token
-}
+ # Handling Tcl Modules, we need a restricted form of Glob.
+ ::interp alias $slave glob {} \
+ [namespace current]::AliasGlob $slave
-# This procedure applies the initializations to an already existing
-# interpreter. It is useful when you want to install the safe base aliases
-# into a preexisting safe interpreter.
-proc ::safe::InterpInit {
- slave
- access_path
- staticsok
- nestedok
- deletehook
- } {
- # Configure will generate an access_path when access_path is empty.
- InterpSetConfig $slave $access_path $staticsok $nestedok $deletehook
-
- # NB we need to add [namespace current], aliases are always absolute
- # paths.
-
- # These aliases let the slave load files to define new commands
- # This alias lets the slave use the encoding names, convertfrom,
- # convertto, and system, but not "encoding system <name>" to set the
- # system encoding.
- # Handling Tcl Modules, we need a restricted form of Glob.
- # This alias interposes on the 'exit' command and cleanly terminates
- # the slave.
-
- foreach {command alias} {
- source AliasSource
- load AliasLoad
- encoding AliasEncoding
- exit interpDelete
- glob AliasGlob
- } {
- ::interp alias $slave $command {} [namespace current]::$alias $slave
- }
+ # This alias lets the slave have access to a subset of the 'file'
+ # command functionality.
- # This alias lets the slave have access to a subset of the 'file'
- # command functionality.
+ AliasSubset $slave file \
+ file dir.* join root.* ext.* tail path.* split
- AliasSubset $slave file \
- file dir.* join root.* ext.* tail path.* split
+ # This alias interposes on the 'exit' command and cleanly terminates
+ # the slave.
- # Subcommands of info
- foreach {subcommand alias} {
- nameofexecutable AliasExeName
- } {
- ::interp alias $slave ::tcl::info::$subcommand \
- {} [namespace current]::$alias $slave
- }
+ ::interp alias $slave exit {} \
+ [namespace current]::interpDelete $slave
- # The allowed slave variables already have been set by Tcl_MakeSafe(3)
+ # The allowed slave variables already have been set by Tcl_MakeSafe(3)
- # Source init.tcl and tm.tcl into the slave, to get auto_load and
- # other procedures defined:
+ # Source init.tcl and tm.tcl into the slave, to get auto_load and
+ # other procedures defined:
- if {[catch {::interp eval $slave {
- source [file join $tcl_library init.tcl]
- }} msg]} {
- Log $slave "can't source init.tcl ($msg)"
- return -code error "can't source init.tcl into slave $slave ($msg)"
- }
+ if {[catch {::interp eval $slave {
+ source [file join $tcl_library init.tcl]
+ }} msg]} then {
+ Log $slave "can't source init.tcl ($msg)"
+ error "can't source init.tcl into slave $slave ($msg)"
+ }
- if {[catch {::interp eval $slave {
- source [file join $tcl_library tm.tcl]
- }} msg]} {
- Log $slave "can't source tm.tcl ($msg)"
- return -code error "can't source tm.tcl into slave $slave ($msg)"
- }
+ if {[catch {::interp eval $slave {
+ source [file join $tcl_library tm.tcl]
+ }} msg]} then {
+ Log $slave "can't source tm.tcl ($msg)"
+ error "can't source tm.tcl into slave $slave ($msg)"
+ }
- # Sync the paths used to search for Tcl modules. This can be done only
- # now, after tm.tcl was loaded.
- namespace upvar ::safe S$slave state
- if {[llength $state(tm_path_slave)] > 0} {
+ # Sync the paths used to search for Tcl modules. This can be done only
+ # now, after tm.tcl was loaded.
::interp eval $slave [list \
- ::tcl::tm::add {*}[lreverse $state(tm_path_slave)]]
+ ::tcl::tm::add {*}[Set [TmPathListName $slave]] ]
+
+ return $slave
}
- return $slave
-}
-# Add (only if needed, avoid duplicates) 1 level of sub directories to an
-# existing path list. Also removes non directories from the returned
-# list.
-proc ::safe::AddSubDirs {pathList} {
- set res {}
- foreach dir $pathList {
- if {[file isdirectory $dir]} {
- # check that we don't have it yet as a children of a previous
- # dir
- if {$dir ni $res} {
- lappend res $dir
- }
- foreach sub [glob -directory $dir -nocomplain *] {
- if {[file isdirectory $sub] && ($sub ni $res)} {
- # new sub dir, add it !
- lappend res $sub
+ # Add (only if needed, avoid duplicates) 1 level of sub directories to an
+ # existing path list. Also removes non directories from the returned
+ # list.
+ proc AddSubDirs {pathList} {
+ set res {}
+ foreach dir $pathList {
+ if {[file isdirectory $dir]} {
+ # check that we don't have it yet as a children of a previous
+ # dir
+ if {[lsearch -exact $res $dir]<0} {
+ lappend res $dir
+ }
+ foreach sub [glob -directory $dir -nocomplain *] {
+ if {([file isdirectory $sub]) \
+ && ([lsearch -exact $res $sub]<0) } {
+ # new sub dir, add it !
+ lappend res $sub
+ }
}
}
}
+ return $res
}
- return $res
-}
-# This procedure deletes a safe slave managed by Safe Tcl and cleans up
-# associated state:
+ # This procedure deletes a safe slave managed by Safe Tcl and cleans up
+ # associated state:
proc ::safe::interpDelete {slave} {
- Log $slave "About to delete" NOTICE
-
- namespace upvar ::safe S$slave state
-
- # If the slave has a cleanup hook registered, call it. Check the
- # existance because we might be called to delete an interp which has
- # not been registered with us at all
-
- if {[info exists state(cleanupHook)]} {
- set hook $state(cleanupHook)
- if {[llength $hook]} {
- # remove the hook now, otherwise if the hook calls us somehow,
- # we'll loop
- unset state(cleanupHook)
- if {[catch {
- {*}$hook $slave
- } err]} {
- Log $slave "Delete hook error ($err)"
+ Log $slave "About to delete" NOTICE
+
+ # If the slave has a cleanup hook registered, call it. Check the
+ # existance because we might be called to delete an interp which has
+ # not been registered with us at all
+ set hookname [DeleteHookName $slave]
+ if {[Exists $hookname]} {
+ set hook [Set $hookname]
+ if {![::tcl::Lempty $hook]} {
+ # remove the hook now, otherwise if the hook calls us somehow,
+ # we'll loop
+ Unset $hookname
+ try {
+ {*}$hook $slave
+ } on error err {
+ Log $slave "Delete hook error ($err)"
+ }
}
}
- }
-
- # Discard the global array of state associated with the slave, and
- # delete the interpreter.
-
- if {[info exists state]} {
- unset state
- }
- # if we have been called twice, the interp might have been deleted
- # already
- if {[::interp exists $slave]} {
- ::interp delete $slave
- Log $slave "Deleted" NOTICE
- }
+ # Discard the global array of state associated with the slave, and
+ # delete the interpreter.
- return
-}
+ set statename [InterpStateName $slave]
+ if {[Exists $statename]} {
+ Unset $statename
+ }
-# Set (or get) the logging mecanism
+ # if we have been called twice, the interp might have been deleted
+ # already
+ if {[::interp exists $slave]} {
+ ::interp delete $slave
+ Log $slave "Deleted" NOTICE
+ }
-proc ::safe::setLogCmd {args} {
- variable Log
- set la [llength $args]
- if {$la == 0} {
- return $Log
- } elseif {$la == 1} {
- set Log [lindex $args 0]
- } else {
- set Log $args
+ return
}
- if {$Log eq ""} {
- # Disable logging completely. Calls to it will be compiled out
- # of all users.
- proc ::safe::Log {args} {}
- } else {
- # Activate logging, define proper command.
+ # Set (or get) the loging mecanism
- proc ::safe::Log {slave msg {type ERROR}} {
- variable Log
- {*}$Log "$type for slave $slave : $msg"
- return
+proc ::safe::setLogCmd {args} {
+ variable Log
+ if {[llength $args] == 0} {
+ return $Log
+ } elseif {[llength $args] == 1} {
+ set Log [lindex $args 0]
+ } else {
+ set Log $args
}
}
-}
-
-# ------------------- END OF PUBLIC METHODS ------------
-
-#
-# Sets the slave auto_path to the master recorded value. Also sets
-# tcl_library to the first token of the virtual path.
-#
-proc ::safe::SyncAccessPath {slave} {
- namespace upvar ::safe S$slave state
-
- set slave_access_path $state(access_path,slave)
- ::interp eval $slave [list set auto_path $slave_access_path]
- Log $slave "auto_path in $slave has been set to $slave_access_path"\
- NOTICE
-
- # This code assumes that info library is the first element in the
- # list of auto_path's. See -> InterpSetConfig for the code which
- # ensures this condition.
-
- ::interp eval $slave [list \
- set tcl_library [lindex $slave_access_path 0]]
-}
-
-# Returns the virtual token for directory number N.
-proc ::safe::PathToken {n} {
- # We need to have a ":" in the token string so [file join] on the
- # mac won't turn it into a relative path.
- return "\$p(:$n:)" ;# Form tested by case 7.2
-}
+ # internal variable
+ variable Log {}
-#
-# translate virtual path into real path
-#
-proc ::safe::TranslatePath {slave path} {
- namespace upvar ::safe S$slave state
+ # ------------------- END OF PUBLIC METHODS ------------
- # somehow strip the namespaces 'functionality' out (the danger is that
- # we would strip valid macintosh "../" queries... :
- if {[string match "*::*" $path] || [string match "*..*" $path]} {
- return -code error "invalid characters in path $path"
+ #
+ # Sets the slave auto_path to the master recorded value. Also sets
+ # tcl_library to the first token of the virtual path.
+ #
+ proc SyncAccessPath {slave} {
+ set slave_auto_path [Set [VirtualPathListName $slave]]
+ ::interp eval $slave [list set auto_path $slave_auto_path]
+ Log $slave "auto_path in $slave has been set to $slave_auto_path"\
+ NOTICE
+ ::interp eval $slave [list set tcl_library [lindex $slave_auto_path 0]]
}
- # Use a cached map instead of computed local vars and subst.
-
- return [string map $state(access_path,map) $path]
-}
-
-# file name control (limit access to files/resources that should be a
-# valid tcl source file)
-proc ::safe::CheckFileName {slave file} {
- # This used to limit what can be sourced to ".tcl" and forbid files
- # with more than 1 dot and longer than 14 chars, but I changed that
- # for 8.4 as a safe interp has enough internal protection already to
- # allow sourcing anything. - hobbs
-
- if {![file exists $file]} {
- # don't tell the file path
- return -code error "no such file or directory"
+ # Base name for storing all the slave states. The array variable name for
+ # slave foo is thus "Sfoo" and for sub slave {foo bar} "Sfoo bar" (spaces
+ # are handled ok everywhere (or should)). We add the S prefix to avoid
+ # that a slave interp called "Log" would smash our "Log" variable.
+ proc InterpStateName {slave} {
+ return "S$slave"
}
- if {![file readable $file]} {
- # don't tell the file path
- return -code error "not readable"
+ # Check that the given slave is "one of us"
+ proc IsInterp {slave} {
+ expr {[Exists [InterpStateName $slave]] && [::interp exists $slave]}
}
-}
-# AliasGlob is the target of the "glob" alias in safe interpreters.
-proc ::safe::AliasGlob {slave args} {
- Log $slave "GLOB ! $args" NOTICE
- set cmd {}
- set at 0
- array set got {
- -directory 0
- -nocomplain 0
- -join 0
- -tails 0
- -- 0
+ # Returns the virtual token for directory number N. If the slave argument
+ # is given, it will return the corresponding master global variable name
+ proc PathToken {n {slave ""}} {
+ if {$slave ne ""} {
+ return "[InterpStateName $slave](access_path,$n)"
+ } else {
+ # We need to have a ":" in the token string so [file join] on the
+ # mac won't turn it into a relative path.
+ return "p(:$n:)"
+ }
}
-
- if {$::tcl_platform(platform) eq "windows"} {
- set dirPartRE {^(.*)[\\/]([^\\/]*)$}
- } else {
- set dirPartRE {^(.*)/([^/]*)$}
+ # returns the variable name of the complete path list
+ proc PathListName {slave} {
+ return "[InterpStateName $slave](access_path)"
}
-
- set dir {}
- set virtualdir {}
-
- while {$at < [llength $args]} {
- switch -glob -- [set opt [lindex $args $at]] {
- -nocomplain - -- - -join - -tails {
- lappend cmd $opt
- set got($opt) 1
- incr at
- }
- -types - -type {
- lappend cmd -types [lindex $args [incr at]]
- incr at
- }
- -directory {
- if {$got($opt)} {
- return -code error \
- {"-directory" cannot be used with "-path"}
- }
- set got($opt) 1
- set virtualdir [lindex $args [incr at]]
- incr at
- }
- pkgIndex.tcl {
- # Oops, this is globbing a subdirectory in regular package
- # search. That is not wanted. Abort, handler does catch
- # already (because glob was not defined before). See
- # package.tcl, lines 484ff in tclPkgUnknown.
- return -code error "unknown command glob"
- }
- -* {
- Log $slave "Safe base rejecting glob option '$opt'"
- return -code error "Safe base rejecting glob option '$opt'"
- }
- default {
- break
- }
- }
- if {$got(--)} break
+ # returns the variable name of the complete path list
+ proc VirtualPathListName {slave} {
+ return "[InterpStateName $slave](access_path_slave)"
}
-
- # Get the real path from the virtual one and check that the path is in the
- # access path of that slave. Done after basic argument processing so that
- # we know if -nocomplain is set.
- if {$got(-directory)} {
- if {[catch {
- set dir [TranslatePath $slave $virtualdir]
- DirInAccessPath $slave $dir
- } msg]} {
- Log $slave $msg
- if {$got(-nocomplain)} {
- return
- }
- return -code error "permission denied"
- }
- lappend cmd -directory $dir
+ # returns the variable name of the complete tm path list
+ proc TmPathListName {slave} {
+ return "[InterpStateName $slave](tm_path_slave)"
}
-
- # Apply the -join semantics ourselves
- if {$got(-join)} {
- set args [lreplace $args $at end [join [lrange $args $at end] "/"]]
+ # returns the variable name of the number of items
+ proc PathNumberName {slave} {
+ return "[InterpStateName $slave](access_path,n)"
+ }
+ # returns the staticsok flag var name
+ proc StaticsOkName {slave} {
+ return "[InterpStateName $slave](staticsok)"
+ }
+ # returns the nestedok flag var name
+ proc NestedOkName {slave} {
+ return "[InterpStateName $slave](nestedok)"
+ }
+ # Run some code at the namespace toplevel
+ proc Toplevel {args} {
+ namespace eval [namespace current] $args
+ }
+ # set/get values
+ proc Set {args} {
+ Toplevel set {*}$args
+ }
+ # lappend on toplevel vars
+ proc Lappend {args} {
+ Toplevel lappend {*}$args
+ }
+ # unset a var/token (currently just an global level eval)
+ proc Unset {args} {
+ Toplevel unset {*}$args
+ }
+ # test existance
+ proc Exists {varname} {
+ Toplevel info exists $varname
+ }
+ # short cut for access path getting
+ proc GetAccessPath {slave} {
+ Set [PathListName $slave]
+ }
+ # short cut for statics ok flag getting
+ proc StaticsOk {slave} {
+ Set [StaticsOkName $slave]
+ }
+ # short cut for getting the multiples interps sub loading ok flag
+ proc NestedOk {slave} {
+ Set [NestedOkName $slave]
+ }
+ # interp deletion storing hook name
+ proc DeleteHookName {slave} {
+ return [InterpStateName $slave](cleanupHook)
}
- # Process remaining pattern arguments
- set firstPattern [llength $cmd]
- foreach opt [lrange $args $at end] {
- if {![regexp $dirPartRE $opt -> thedir thefile]} {
- set thedir .
- }
- if {$thedir eq "*"} {
- set mapped 0
- foreach d [glob -directory [TranslatePath $slave $virtualdir] \
- -types d -tails *] {
- catch {
- DirInAccessPath $slave \
- [TranslatePath $slave [file join $virtualdir $d]]
- if {$thefile eq "pkgIndex.tcl" || $thefile eq "*.tm"} {
- lappend cmd [file join $d $thefile]
- set mapped 1
- }
- }
- }
- if {$mapped} continue
+ #
+ # translate virtual path into real path
+ #
+ proc TranslatePath {slave path} {
+ # somehow strip the namespaces 'functionality' out (the danger is that
+ # we would strip valid macintosh "../" queries... :
+ if {[string match "*::*" $path] || [string match "*..*" $path]} {
+ error "invalid characters in path $path"
}
- if {[catch {
- set thedir [file join $virtualdir $thedir]
- DirInAccessPath $slave [TranslatePath $slave $thedir]
- } msg]} {
- Log $slave $msg
- if {$got(-nocomplain)} continue
- return -code error "permission denied"
+ set n [expr {[Set [PathNumberName $slave]]-1}]
+ for {} {$n>=0} {incr n -1} {
+ # fill the token virtual names with their real value
+ set [PathToken $n] [Set [PathToken $n $slave]]
}
- lappend cmd $opt
+ # replaces the token by their value
+ subst -nobackslashes -nocommands $path
}
- Log $slave "GLOB = $cmd" NOTICE
- if {$got(-nocomplain) && [llength $cmd] eq $firstPattern} {
- return
- }
- if {[catch {
- ::interp invokehidden $slave glob {*}$cmd
- } msg]} {
- Log $slave $msg
- return -code error "script error"
+ # Log eventually log an error; to enable error logging, set Log to {puts
+ # stderr} for instance
+ proc Log {slave msg {type ERROR}} {
+ variable Log
+ if {[info exists Log] && [llength $Log]} {
+ {*}$Log "$type for slave $slave : $msg"
+ }
}
- Log $slave "GLOB < $msg" NOTICE
- # Translate path back to what the slave should see.
- set res {}
- set l [string length $dir]
- foreach p $msg {
- if {[string equal -length $l $dir $p]} {
- set p [string replace $p 0 [expr {$l-1}] $virtualdir]
+ # file name control (limit access to files/resources that should be a
+ # valid tcl source file)
+ proc CheckFileName {slave file} {
+ # This used to limit what can be sourced to ".tcl" and forbid files
+ # with more than 1 dot and longer than 14 chars, but I changed that
+ # for 8.4 as a safe interp has enough internal protection already to
+ # allow sourcing anything. - hobbs
+
+ if {![file exists $file]} {
+ # don't tell the file path
+ error "no such file or directory"
+ }
+
+ if {![file readable $file]} {
+ # don't tell the file path
+ error "not readable"
}
- lappend res $p
}
- Log $slave "GLOB > $res" NOTICE
- return $res
-}
+ # AliasGlob is the target of the "glob" alias in safe interpreters.
-# AliasSource is the target of the "source" alias in safe interpreters.
-
-proc ::safe::AliasSource {slave args} {
- set argc [llength $args]
- # Extended for handling of Tcl Modules to allow not only "source
- # filename", but "source -encoding E filename" as well.
- if {[lindex $args 0] eq "-encoding"} {
- incr argc -2
- set encoding [lindex $args 1]
- set at 2
- if {$encoding eq "identity"} {
- Log $slave "attempt to use the identity encoding"
- return -code error "permission denied"
- }
- } else {
+ proc AliasGlob {slave args} {
+ Log $slave "GLOB ! $args" NOTICE
+ set cmd {}
set at 0
- set encoding {}
- }
- if {$argc != 1} {
- set msg "wrong # args: should be \"source ?-encoding E? fileName\""
- Log $slave "$msg ($args)"
- return -code error $msg
- }
- set file [lindex $args $at]
-
- # get the real path from the virtual one.
- if {[catch {
- set realfile [TranslatePath $slave $file]
- } msg]} {
- Log $slave $msg
- return -code error "permission denied"
- }
-
- # check that the path is in the access path of that slave
- if {[catch {
- FileInAccessPath $slave $realfile
- } msg]} {
- Log $slave $msg
- return -code error "permission denied"
- }
- # do the checks on the filename :
- if {[catch {
- CheckFileName $slave $realfile
- } msg]} {
- Log $slave "$realfile:$msg"
- return -code error $msg
- }
+ set dir {}
+ set virtualdir {}
- # Passed all the tests, lets source it. Note that we do this all manually
- # because we want to control [info script] in the slave so information
- # doesn't leak so much. [Bug 2913625]
- set old [::interp eval $slave {info script}]
- set code [catch {
- set f [open $realfile]
- fconfigure $f -eofchar \032
- if {$encoding ne ""} {
- fconfigure $f -encoding $encoding
+ while {$at < [llength $args]} {
+ switch -glob -- [set opt [lindex $args $at]] {
+ -nocomplain -
+ -join {
+ lappend cmd $opt
+ incr at
+ }
+ -directory {
+ lappend cmd $opt
+ incr at
+ set virtualdir [lindex $args $at]
+
+ # get the real path from the virtual one.
+ try {
+ set dir [TranslatePath $slave $virtualdir]
+ } on error msg {
+ Log $slave $msg
+ return -code error "permission denied"
+ }
+ # check that the path is in the access path of that slave
+ try {
+ DirInAccessPath $slave $dir
+ } on error msg {
+ Log $slave $msg
+ return -code error "permission denied"
+ }
+ lappend cmd $dir
+ incr at
+ }
+ pkgIndex.tcl {
+ # Oops, this is globbing a subdirectory in regular package
+ # search. That is not wanted. Abort, handler does catch
+ # already (because glob was not defined before). See
+ # package.tcl, lines 484ff in tclPkgUnknown.
+ error "unknown command glob"
+ }
+ -* {
+ Log $slave "Safe base rejecting glob option '$opt'"
+ error "Safe base rejecting glob option '$opt'"
+ }
+ default {
+ lappend cmd $opt
+ incr at
+ }
+ }
}
- set contents [read $f]
- close $f
- ::interp eval $slave [list info script $file]
- ::interp eval $slave $contents
- } msg opt]
- catch {interp eval $slave [list info script $old]}
- # Note that all non-errors are fine result codes from [source], so we must
- # take a little care to do it properly. [Bug 2923613]
- if {$code == 1} {
- Log $slave $msg
- return -code error "script error"
- }
- return -code $code -options $opt $msg
-}
-# AliasLoad is the target of the "load" alias in safe interpreters.
+ Log $slave "GLOB = $cmd" NOTICE
-proc ::safe::AliasLoad {slave file args} {
- set argc [llength $args]
- if {$argc > 2} {
- set msg "load error: too many arguments"
- Log $slave "$msg ($argc) {$file $args}"
- return -code error $msg
- }
-
- # package name (can be empty if file is not).
- set package [lindex $args 0]
+ try {
+ ::interp invokehidden $slave glob {*}$cmd
+ } on error msg {
+ Log $slave $msg
+ return -code error "script error"
+ }
- namespace upvar ::safe S$slave state
+ Log $slave "GLOB @ $msg" NOTICE
- # Determine where to load. load use a relative interp path and {}
- # means self, so we can directly and safely use passed arg.
- set target [lindex $args 1]
- if {$target ne ""} {
- # we will try to load into a sub sub interp; check that we want to
- # authorize that.
- if {!$state(nestedok)} {
- Log $slave "loading to a sub interp (nestedok)\
- disabled (trying to load $package to $target)"
- return -code error "permission denied (nested load)"
+ # Translate path back to what the slave should see.
+ set res {}
+ foreach p $msg {
+ regsub -- ^$dir $p $virtualdir p
+ lappend res $p
}
+
+ Log $slave "GLOB @ $res" NOTICE
+ return $res
}
- # Determine what kind of load is requested
- if {$file eq ""} {
- # static package loading
- if {$package eq ""} {
- set msg "load error: empty filename and no package name"
- Log $slave $msg
- return -code error $msg
+ # AliasSource is the target of the "source" alias in safe interpreters.
+
+ proc AliasSource {slave args} {
+ set argc [llength $args]
+ # Extended for handling of Tcl Modules to allow not only "source
+ # filename", but "source -encoding E filename" as well.
+ if {[lindex $args 0] eq "-encoding"} {
+ incr argc -2
+ set encoding [lrange $args 0 1]
+ set at 2
+ } else {
+ set at 0
+ set encoding {}
}
- if {!$state(staticsok)} {
- Log $slave "static packages loading disabled\
- (trying to load $package to $target)"
- return -code error "permission denied (static package)"
+ if {$argc != 1} {
+ set msg "wrong # args: should be \"source ?-encoding E? fileName\""
+ Log $slave "$msg ($args)"
+ return -code error $msg
}
- } else {
- # file loading
-
+ set file [lindex $args $at]
+
# get the real path from the virtual one.
- if {[catch {
+ try {
set file [TranslatePath $slave $file]
- } msg]} {
+ } on error msg {
Log $slave $msg
return -code error "permission denied"
}
-
- # check the translated path
- if {[catch {
+
+ # check that the path is in the access path of that slave
+ try {
FileInAccessPath $slave $file
- } msg]} {
+ } on error msg {
Log $slave $msg
- return -code error "permission denied (path)"
+ return -code error "permission denied"
}
- }
- if {[catch {
- ::interp invokehidden $slave load $file $package $target
- } msg]} {
- Log $slave $msg
- return -code error $msg
- }
-
- return $msg
-}
-
-# FileInAccessPath raises an error if the file is not found in the list of
-# directories contained in the (master side recorded) slave's access path.
-
-# the security here relies on "file dirname" answering the proper
-# result... needs checking ?
-proc ::safe::FileInAccessPath {slave file} {
- namespace upvar ::safe S$slave state
- set access_path $state(access_path)
+ # do the checks on the filename :
+ try {
+ CheckFileName $slave $file
+ } on error msg {
+ Log $slave "$file:$msg"
+ return -code error $msg
+ }
- if {[file isdirectory $file]} {
- return -code error "\"$file\": is a directory"
+ # passed all the tests , lets source it:
+ if {[catch {
+ # We use catch here because we want to catch non-error/ok too
+ ::interp invokehidden $slave source {*}$encoding $file
+ } msg]} then {
+ Log $slave $msg
+ return -code error "script error"
+ }
+ return $msg
}
- set parent [file dirname $file]
- # Normalize paths for comparison since lsearch knows nothing of
- # potential pathname anomalies.
- set norm_parent [file normalize $parent]
+ # AliasLoad is the target of the "load" alias in safe interpreters.
- namespace upvar ::safe S$slave state
- if {$norm_parent ni $state(access_path,norm)} {
- return -code error "\"$file\": not in access_path"
- }
-}
+ proc AliasLoad {slave file args} {
+ set argc [llength $args]
+ if {$argc > 2} {
+ set msg "load error: too many arguments"
+ Log $slave "$msg ($argc) {$file $args}"
+ return -code error $msg
+ }
-proc ::safe::DirInAccessPath {slave dir} {
- namespace upvar ::safe S$slave state
- set access_path $state(access_path)
+ # package name (can be empty if file is not).
+ set package [lindex $args 0]
+
+ # Determine where to load. load use a relative interp path and {}
+ # means self, so we can directly and safely use passed arg.
+ set target [lindex $args 1]
+ if {$target ne ""} {
+ # we will try to load into a sub sub interp; check that we want to
+ # authorize that.
+ if {![NestedOk $slave]} {
+ Log $slave "loading to a sub interp (nestedok)\
+ disabled (trying to load $package to $target)"
+ return -code error "permission denied (nested load)"
+ }
+ }
- if {[file isfile $dir]} {
- return -code error "\"$dir\": is a file"
- }
+ # Determine what kind of load is requested
+ if {$file eq ""} {
+ # static package loading
+ if {$package eq ""} {
+ set msg "load error: empty filename and no package name"
+ Log $slave $msg
+ return -code error $msg
+ }
+ if {![StaticsOk $slave]} {
+ Log $slave "static packages loading disabled\
+ (trying to load $package to $target)"
+ return -code error "permission denied (static package)"
+ }
+ } else {
+ # file loading
- # Normalize paths for comparison since lsearch knows nothing of
- # potential pathname anomalies.
- set norm_dir [file normalize $dir]
+ # get the real path from the virtual one.
+ try {
+ set file [TranslatePath $slave $file]
+ } on error msg {
+ Log $slave $msg
+ return -code error "permission denied"
+ }
- namespace upvar ::safe S$slave state
- if {$norm_dir ni $state(access_path,norm)} {
- return -code error "\"$dir\": not in access_path"
- }
-}
+ # check the translated path
+ try {
+ FileInAccessPath $slave $file
+ } on error msg {
+ Log $slave $msg
+ return -code error "permission denied (path)"
+ }
+ }
-# This procedure enables access from a safe interpreter to only a subset
-# of the subcommands of a command:
+ try {
+ ::interp invokehidden $slave load $file $package $target
+ } on error msg {
+ Log $slave $msg
+ return -code error $msg
+ }
-proc ::safe::Subset {slave command okpat args} {
- set subcommand [lindex $args 0]
- if {[regexp $okpat $subcommand]} {
- return [$command {*}$args]
+ return $msg
}
- set msg "not allowed to invoke subcommand $subcommand of $command"
- Log $slave $msg
- return -code error $msg
-}
-# This procedure installs an alias in a slave that invokes "safesubset" in
-# the master to execute allowed subcommands. It precomputes the pattern of
-# allowed subcommands; you can use wildcards in the pattern if you wish to
-# allow subcommand abbreviation.
-#
-# Syntax is: AliasSubset slave alias target subcommand1 subcommand2...
+ # FileInAccessPath raises an error if the file is not found in the list of
+ # directories contained in the (master side recorded) slave's access path.
-proc ::safe::AliasSubset {slave alias target args} {
- set pat "^([join $args |])\$"
- ::interp alias $slave $alias {}\
- [namespace current]::Subset $slave $target $pat
-}
+ # the security here relies on "file dirname" answering the proper
+ # result... needs checking ?
+ proc FileInAccessPath {slave file} {
+ set access_path [GetAccessPath $slave]
-# AliasEncoding is the target of the "encoding" alias in safe interpreters.
+ if {[file isdirectory $file]} {
+ error "\"$file\": is a directory"
+ }
+ set parent [file dirname $file]
-proc ::safe::AliasEncoding {slave option args} {
- # Careful; do not want empty option to get through to the [string equal]
- if {[regexp {^(name.*|convert.*|)$} $option]} {
- return [::interp invokehidden $slave encoding $option {*}$args]
- }
+ # Normalize paths for comparison since lsearch knows nothing of
+ # potential pathname anomalies.
+ set norm_parent [file normalize $parent]
+ foreach path $access_path {
+ lappend norm_access_path [file normalize $path]
+ }
- if {[string equal -length [string length $option] $option "system"]} {
- if {[llength $args] == 0} {
- # passed all the tests , lets source it:
- if {[catch {
- set sysenc [::interp invokehidden $slave encoding system]
- } msg]} {
- Log $slave $msg
- return -code error "script error"
- }
- return $sysenc
+ if {$norm_parent ni $norm_access_path} {
+ error "\"$file\": not in access_path"
}
- set msg "wrong # args: should be \"encoding system\""
- set code {TCL WRONGARGS}
- } else {
- set msg "bad option \"$option\": must be convertfrom, convertto, names, or system"
- set code [list TCL LOOKUP INDEX option $option]
}
- Log $slave $msg
- return -code error -errorcode $code $msg
-}
-# Various minor hiding of platform features. [Bug 2913625]
-
-proc ::safe::AliasExeName {slave} {
- return ""
-}
-
-proc ::safe::Setup {} {
- ####
- #
- # Setup the arguments parsing
- #
- ####
-
- # Share the descriptions
- set temp [::tcl::OptKeyRegister {
- {-accessPath -list {} "access path for the slave"}
- {-noStatics "prevent loading of statically linked pkgs"}
- {-statics true "loading of statically linked pkgs"}
- {-nestedLoadOk "allow nested loading"}
- {-nested false "nested loading"}
- {-deleteHook -script {} "delete hook"}
- }]
+ proc DirInAccessPath {slave dir} {
+ set access_path [GetAccessPath $slave]
- # create case (slave is optional)
- ::tcl::OptKeyRegister {
- {?slave? -name {} "name of the slave (optional)"}
- } ::safe::interpCreate
+ if {[file isfile $dir]} {
+ error "\"$dir\": is a file"
+ }
- # adding the flags sub programs to the command program (relying on Opt's
- # internal implementation details)
- lappend ::tcl::OptDesc(::safe::interpCreate) $::tcl::OptDesc($temp)
+ # Normalize paths for comparison since lsearch knows nothing of
+ # potential pathname anomalies.
+ set norm_dir [file normalize $dir]
+ foreach path $access_path {
+ lappend norm_access_path [file normalize $path]
+ }
- # init and configure (slave is needed)
- ::tcl::OptKeyRegister {
- {slave -name {} "name of the slave"}
- } ::safe::interpIC
+ if {$norm_dir ni $norm_access_path} {
+ error "\"$dir\": not in access_path"
+ }
+ }
- # adding the flags sub programs to the command program (relying on Opt's
- # internal implementation details)
- lappend ::tcl::OptDesc(::safe::interpIC) $::tcl::OptDesc($temp)
+ # This procedure enables access from a safe interpreter to only a subset
+ # of the subcommands of a command:
- # temp not needed anymore
- ::tcl::OptKeyDelete $temp
+ proc Subset {slave command okpat args} {
+ set subcommand [lindex $args 0]
+ if {[regexp $okpat $subcommand]} {
+ return [$command {*}$args]
+ }
+ set msg "not allowed to invoke subcommand $subcommand of $command"
+ Log $slave $msg
+ error $msg
+ }
- ####
- #
- # Default: No logging.
+ # This procedure installs an alias in a slave that invokes "safesubset" in
+ # the master to execute allowed subcommands. It precomputes the pattern of
+ # allowed subcommands; you can use wildcards in the pattern if you wish to
+ # allow subcommand abbreviation.
#
- ####
+ # Syntax is: AliasSubset slave alias target subcommand1 subcommand2...
+
+ proc AliasSubset {slave alias target args} {
+ set pat "^("
+ set sep ""
+ foreach sub $args {
+ append pat $sep$sub
+ set sep |
+ }
+ append pat ")\$"
+ ::interp alias $slave $alias {}\
+ [namespace current]::Subset $slave $target $pat
+ }
- setLogCmd {}
+ # AliasEncoding is the target of the "encoding" alias in safe interpreters.
- # Log eventually.
- # To enable error logging, set Log to {puts stderr} for instance,
- # via setLogCmd.
- return
-}
+ proc AliasEncoding {slave args} {
+ set argc [llength $args]
-namespace eval ::safe {
- # internal variables
+ set okpat "^(name.*|convert.*)\$"
+ set subcommand [lindex $args 0]
- # Log command, set via 'setLogCmd'. Logging is disabled when empty.
- variable Log {}
+ if {[regexp $okpat $subcommand]} {
+ return [::interp invokehidden $slave encoding {*}$args]
+ }
- # The package maintains a state array per slave interp under its
- # control. The name of this array is S<interp-name>. This array is
- # brought into scope where needed, using 'namespace upvar'. The S
- # prefix is used to avoid that a slave interp called "Log" smashes
- # the "Log" variable.
- #
- # The array's elements are:
- #
- # access_path : List of paths accessible to the slave.
- # access_path,norm : Ditto, in normalized form.
- # access_path,slave : Ditto, as the path tokens as seen by the slave.
- # access_path,map : dict ( token -> path )
- # access_path,remap : dict ( path -> token )
- # tm_path_slave : List of TM root directories, as tokens seen by the slave.
- # staticsok : Value of option -statics
- # nestedok : Value of option -nested
- # cleanupHook : Value of option -deleteHook
+ if {[string first $subcommand system] == 0} {
+ if {$argc == 1} {
+ # passed all the tests , lets source it:
+ try {
+ return [::interp invokehidden $slave encoding system]
+ } on error msg {
+ Log $slave $msg
+ return -code error "script error"
+ }
+ }
+ set msg "wrong # args: should be \"encoding system\""
+ } else {
+ set msg "wrong # args: should be \"encoding option ?arg ...?\""
+ }
+ Log $slave $msg
+ error $msg
+ }
}
-
-::safe::Setup
diff --git a/library/tcltest/pkgIndex.tcl b/library/tcltest/pkgIndex.tcl
index 4b0a9bc..5b33ac7 100644
--- a/library/tcltest/pkgIndex.tcl
+++ b/library/tcltest/pkgIndex.tcl
@@ -9,4 +9,4 @@
# full path name of this file's directory.
if {![package vsatisfies [package provide Tcl] 8.5]} {return}
-package ifneeded tcltest 2.3.5 [list source [file join $dir tcltest.tcl]]
+package ifneeded tcltest 2.3.1 [list source [file join $dir tcltest.tcl]]
diff --git a/library/tcltest/tcltest.tcl b/library/tcltest/tcltest.tcl
index d6e6487..f363c80 100644
--- a/library/tcltest/tcltest.tcl
+++ b/library/tcltest/tcltest.tcl
@@ -15,6 +15,8 @@
# Copyright (c) 2000 by Ajuba Solutions
# Contributions from Don Porter, NIST, 2002. (not subject to US copyright)
# All rights reserved.
+#
+# RCS: @(#) $Id: tcltest.tcl,v 1.104 2009/04/08 16:05:15 dgp Exp $
package require Tcl 8.5 ;# -verbose line uses [info frame]
namespace eval tcltest {
@@ -22,7 +24,7 @@ namespace eval tcltest {
# When the version number changes, be sure to update the pkgIndex.tcl file,
# and the install directory in the Makefiles. When the minor version
# changes (new feature) be sure to update the man page as well.
- variable Version 2.3.5
+ variable Version 2.3.1
# Compatibility support for dumb variables defined in tcltest 1
# Do not use these. Call [package provide Tcl] and [info patchlevel]
@@ -84,7 +86,7 @@ namespace eval tcltest {
# None.
#
proc normalizePath {pathVar} {
- upvar 1 $pathVar path
+ upvar $pathVar path
set oldpwd [pwd]
catch {cd $path}
set path [pwd]
@@ -247,15 +249,15 @@ namespace eval tcltest {
# Kept only for compatibility
Default constraintsSpecified {} AcceptList
- trace add variable constraintsSpecified read [namespace code {
- set constraintsSpecified [array names testConstraints] ;#}]
+ trace variable constraintsSpecified r {set ::tcltest::constraintsSpecified \
+ [array names ::tcltest::testConstraints] ;# }
# tests that use threads need to know which is the main thread
Default mainThread 1
variable mainThread
- if {[info commands thread::id] ne {}} {
+ if {[info commands thread::id] != {}} {
set mainThread [thread::id]
- } elseif {[info commands testthread] ne {}} {
+ } elseif {[info commands testthread] != {}} {
set mainThread [testthread id]
}
@@ -263,7 +265,7 @@ namespace eval tcltest {
# Tcl tests is the working directory. Whenever this value changes
# change to that directory.
variable workingDirectory
- trace add variable workingDirectory write \
+ trace variable workingDirectory w \
[namespace code {cd $workingDirectory ;#}]
Default workingDirectory [pwd] AcceptAbsolutePath
@@ -277,7 +279,7 @@ namespace eval tcltest {
# Set the location of the execuatble
Default tcltest [info nameofexecutable]
- trace add variable tcltest write [namespace code {testConstraint stdio \
+ trace variable tcltest w [namespace code {testConstraint stdio \
[eval [ConstraintInitializer stdio]] ;#}]
# save the platform information so it can be restored later
@@ -404,11 +406,11 @@ namespace eval tcltest {
# already there.
set outdir [normalizePath [file dirname \
[file join [pwd] $filename]]]
- if {$outdir eq [temporaryDirectory]} {
+ if {[string equal $outdir [temporaryDirectory]]} {
variable filesExisted
FillFilesExisted
set filename [file tail $filename]
- if {$filename ni $filesExisted} {
+ if {[lsearch -exact $filesExisted $filename] == -1} {
lappend filesExisted $filename
}
}
@@ -448,11 +450,11 @@ namespace eval tcltest {
# already there.
set outdir [normalizePath [file dirname \
[file join [pwd] $filename]]]
- if {$outdir eq [temporaryDirectory]} {
+ if {[string equal $outdir [temporaryDirectory]]} {
variable filesExisted
FillFilesExisted
set filename [file tail $filename]
- if {$filename ni $filesExisted} {
+ if {[lsearch -exact $filesExisted $filename] == -1} {
lappend filesExisted $filename
}
}
@@ -483,10 +485,8 @@ namespace eval tcltest {
variable Verify
variable Usage
variable OptionControlledVariables
- variable DefaultValue
set Usage($option) $usage
set Verify($option) $verify
- set DefaultValue($option) $value
if {[catch {$verify $value} msg]} {
return -code error $msg
} else {
@@ -534,7 +534,7 @@ namespace eval tcltest {
}
default {
# Exact match trumps ambiguity
- if {$option in $match} {
+ if {[lsearch -exact $match $option] >= 0} {
return $option
}
set values [join [lrange $match 0 end-1] ", "]
@@ -549,8 +549,7 @@ namespace eval tcltest {
variable OptionControlledVariables
foreach varName [concat $OptionControlledVariables Option] {
variable $varName
- trace add variable $varName read [namespace code {
- ProcessCmdLineArgs ;#}]
+ trace variable $varName r [namespace code {ProcessCmdLineArgs ;#}]
}
}
@@ -558,11 +557,11 @@ namespace eval tcltest {
variable OptionControlledVariables
foreach varName [concat $OptionControlledVariables Option] {
variable $varName
- foreach pair [trace info variable $varName] {
- lassign $pair op cmd
- if {($op eq "read") &&
- [string match *ProcessCmdLineArgs* $cmd]} {
- trace remove variable $varName $op $cmd
+ foreach pair [trace vinfo $varName] {
+ foreach {op cmd} $pair break
+ if {[string equal r $op]
+ && [string match *ProcessCmdLineArgs* $cmd]} {
+ trace vdelete $varName $op $cmd
}
}
}
@@ -602,9 +601,7 @@ namespace eval tcltest {
}
}
proc configure args {
- if {[llength $args] > 1} {
- RemoveAutoConfigureTraces
- }
+ RemoveAutoConfigureTraces
set code [catch {Configure {*}$args} msg]
return -code $code $msg
}
@@ -699,7 +696,7 @@ namespace eval tcltest {
Option -constraints {} {
Do not skip the listed constraints listed in -constraints.
} AcceptList
- trace add variable Option(-constraints) write \
+ trace variable Option(-constraints) w \
[namespace code {SetSelectedConstraints ;#}]
# Don't run only the "-constraint" specified tests by default
@@ -708,15 +705,15 @@ namespace eval tcltest {
variable testConstraints
if {!$Option(-limitconstraints)} {return}
foreach c [array names testConstraints] {
- if {$c ni $Option(-constraints)} {
+ if {[lsearch -exact $Option(-constraints) $c] == -1} {
testConstraint $c 0
}
}
}
- Option -limitconstraints 0 {
+ Option -limitconstraints false {
whether to run only tests with the constraints
} AcceptBoolean limitConstraints
- trace add variable Option(-limitconstraints) write \
+ trace variable Option(-limitconstraints) w \
[namespace code {ClearUnselectedConstraints ;#}]
# A test application has to know how to load the tested commands
@@ -737,7 +734,7 @@ namespace eval tcltest {
}
set directory [AcceptDirectory $directory]
if {![file writable $directory]} {
- if {[workingDirectory] eq $directory} {
+ if {[string equal [workingDirectory] $directory]} {
# Special exception: accept the default value
# even if the directory is not writable
return $directory
@@ -751,7 +748,7 @@ namespace eval tcltest {
Option -tmpdir [workingDirectory] {
Save temporary files in the specified directory.
} AcceptTemporaryDirectory temporaryDirectory
- trace add variable Option(-tmpdir) write \
+ trace variable Option(-tmpdir) w \
[namespace code {normalizePath Option(-tmpdir) ;#}]
# Tests should not rely on the current working directory.
@@ -760,17 +757,17 @@ namespace eval tcltest {
Option -testdir [workingDirectory] {
Search tests in the specified directory.
} AcceptDirectory testsDirectory
- trace add variable Option(-testdir) write \
+ trace variable Option(-testdir) w \
[namespace code {normalizePath Option(-testdir) ;#}]
proc AcceptLoadFile { file } {
- if {$file eq {}} {return $file}
+ if {[string equal "" $file]} {return $file}
set file [file join [temporaryDirectory] $file]
return [AcceptReadable $file]
}
proc ReadLoadScript {args} {
variable Option
- if {$Option(-loadfile) eq {}} {return}
+ if {[string equal "" $Option(-loadfile)]} {return}
set tmp [open $Option(-loadfile) r]
loadScript [read $tmp]
close $tmp
@@ -778,7 +775,7 @@ namespace eval tcltest {
Option -loadfile {} {
Read the script to load the tested commands from the specified file.
} AcceptLoadFile loadFile
- trace add variable Option(-loadfile) write [namespace code ReadLoadScript]
+ trace variable Option(-loadfile) w [namespace code ReadLoadScript]
proc AcceptOutFile { file } {
if {[string equal stderr $file]} {return $file}
@@ -790,39 +787,16 @@ namespace eval tcltest {
Option -outfile stdout {
Send output from test runs to the specified file.
} AcceptOutFile outputFile
- trace add variable Option(-outfile) write \
+ trace variable Option(-outfile) w \
[namespace code {outputChannel $Option(-outfile) ;#}]
# errors go to stderr by default
Option -errfile stderr {
Send errors from test runs to the specified file.
} AcceptOutFile errorFile
- trace add variable Option(-errfile) write \
+ trace variable Option(-errfile) w \
[namespace code {errorChannel $Option(-errfile) ;#}]
- proc loadIntoSlaveInterpreter {slave args} {
- variable Version
- interp eval $slave [package ifneeded tcltest $Version]
- interp eval $slave "tcltest::configure {*}{$args}"
- interp alias $slave ::tcltest::ReportToMaster \
- {} ::tcltest::ReportedFromSlave
- }
- proc ReportedFromSlave {total passed skipped failed because newfiles} {
- variable numTests
- variable skippedBecause
- variable createdNewFiles
- incr numTests(Total) $total
- incr numTests(Passed) $passed
- incr numTests(Skipped) $skipped
- incr numTests(Failed) $failed
- foreach {constraint count} $because {
- incr skippedBecause($constraint) $count
- }
- foreach {testfile created} $newfiles {
- lappend createdNewFiles($testfile) {*}$created
- }
- return
- }
}
#####################################################################
@@ -878,7 +852,7 @@ proc tcltest::DebugPArray {level arrayvar} {
variable debug
if {$debug >= $level} {
- catch {upvar 1 $arrayvar $arrayvar}
+ catch {upvar $arrayvar $arrayvar}
parray $arrayvar
}
return
@@ -962,7 +936,8 @@ proc tcltest::testConstraint {constraint {value ""}} {
if {[catch {expr {$value && $value}} msg]} {
return -code error $msg
}
- if {[limitConstraints] && ($constraint ni $Option(-constraints))} {
+ if {[limitConstraints]
+ && [lsearch -exact $Option(-constraints) $constraint] == -1} {
set value 0
}
set testConstraints($constraint) $value
@@ -986,7 +961,11 @@ proc tcltest::interpreter { {interp ""} } {
if {[llength [info level 0]] == 1} {
return $tcltest
}
- set tcltest $interp
+ if {[string equal {} $interp]} {
+ set tcltest {}
+ } else {
+ set tcltest $interp
+ }
}
#####################################################################
@@ -1051,7 +1030,7 @@ proc tcltest::PrintError {errorMsg} {
[expr {80 - $InitialMsgLen}]]]
puts [errorChannel] [string range $errorMsg 0 $beginningIndex]
- while {$beginningIndex ne "end"} {
+ while {![string equal end $beginningIndex]} {
puts -nonewline [errorChannel] \
[string repeat " " $InitialMsgLen]
if {($endingIndex - $beginningIndex)
@@ -1104,7 +1083,7 @@ proc tcltest::PrintError {errorMsg} {
proc tcltest::SafeFetch {n1 n2 op} {
variable testConstraints
DebugPuts 3 "entering SafeFetch $n1 $n2 $op"
- if {$n2 eq {}} {return}
+ if {[string equal {} $n2]} {return}
if {![info exists testConstraints($n2)]} {
if {[catch {testConstraint $n2 [eval [ConstraintInitializer $n2]]}]} {
testConstraint $n2 0
@@ -1249,8 +1228,9 @@ proc tcltest::DefineConstraintInitializers {} {
# are running as root on Unix.
ConstraintInitializer root {expr \
- {($::tcl_platform(platform) eq "unix") &&
- ($::tcl_platform(user) in {root {}})}}
+ {[string equal unix $::tcl_platform(platform)]
+ && ([string equal root $::tcl_platform(user)]
+ || [string equal "" $::tcl_platform(user)])}}
ConstraintInitializer notRoot {expr {![testConstraint root]}}
# Set nonBlockFiles constraint: 1 means this platform supports
@@ -1258,7 +1238,7 @@ proc tcltest::DefineConstraintInitializers {} {
ConstraintInitializer nonBlockFiles {
set code [expr {[catch {set f [open defs r]}]
- || [catch {chan configure $f -blocking off}]}]
+ || [catch {fconfigure $f -blocking off}]}]
catch {close $f}
set code
}
@@ -1284,10 +1264,10 @@ proc tcltest::DefineConstraintInitializers {} {
ConstraintInitializer unixExecs {
set code 1
- if {$::tcl_platform(platform) eq "macintosh"} {
+ if {[string equal macintosh $::tcl_platform(platform)]} {
set code 0
}
- if {$::tcl_platform(platform) eq "windows"} {
+ if {[string equal windows $::tcl_platform(platform)]} {
if {[catch {
set file _tcl_test_remove_me.txt
makeFile {hello} $file
@@ -1381,7 +1361,7 @@ proc tcltest::Usage { {option ""} } {
set allOpts [concat -help [Configure]]
foreach opt $allOpts {
set foo [Usage $opt]
- lassign $foo x type($opt) usage($opt)
+ foreach [list x type($opt) usage($opt)] $foo break
set line($opt) " $opt $type($opt) "
set length($opt) [string length $line($opt)]
if {$length($opt) > $max} {set max $length($opt)}
@@ -1405,7 +1385,7 @@ proc tcltest::Usage { {option ""} } {
append msg $u
}
return $msg\n
- } elseif {$option eq "-help"} {
+ } elseif {[string equal -help $option]} {
return [list -help "" "Display this usage information."]
} else {
set type [lindex [info args $Verify($option)] 0]
@@ -1431,7 +1411,7 @@ proc tcltest::Usage { {option ""} } {
proc tcltest::ProcessFlags {flagArray} {
# Process -help first
- if {"-help" in $flagArray} {
+ if {[lsearch -exact $flagArray {-help}] != -1} {
PrintUsageInfo
exit 1
}
@@ -1440,14 +1420,14 @@ proc tcltest::ProcessFlags {flagArray} {
RemoveAutoConfigureTraces
} else {
set args $flagArray
- while {[llength $args] > 1 && [catch {configure {*}$args} msg]} {
+ while {[llength $args]>1 && [catch {configure {*}$args} msg]} {
# Something went wrong parsing $args for tcltest options
# Check whether the problem is "unknown option"
if {[regexp {^unknown option (\S+):} $msg -> option]} {
# Could be this is an option the Hook knows about
set moreOptions [processCmdLineArgsAddFlagsHook]
- if {$option ni $moreOptions} {
+ if {[lsearch -exact $moreOptions $option] == -1} {
# Nope. Report the error, including additional options,
# but keep going
if {[llength $moreOptions]} {
@@ -1466,7 +1446,7 @@ proc tcltest::ProcessFlags {flagArray} {
# To recover, find that unknown option and remove up to it.
# then retry
- while {[lindex $args 0] ne $option} {
+ while {![string equal [lindex $args 0] $option]} {
set args [lrange $args 2 end]
}
set args [lrange $args 2 end]
@@ -1572,7 +1552,7 @@ proc tcltest::Replace::puts {args} {
}
2 {
# Either -nonewline or channelId has been specified
- if {[lindex $args 0] eq "-nonewline"} {
+ if {[string equal -nonewline [lindex $args 0]]} {
append outData [lindex $args end]
return
# return [Puts -nonewline [lindex $args end]]
@@ -1582,7 +1562,7 @@ proc tcltest::Replace::puts {args} {
}
}
3 {
- if {[lindex $args 0] eq "-nonewline"} {
+ if {[string equal -nonewline [lindex $args 0]]} {
# Both -nonewline and channelId are specified, unless
# it's an error. -nonewline is supposed to be argv[0].
set channel [lindex $args 1]
@@ -1592,10 +1572,12 @@ proc tcltest::Replace::puts {args} {
}
if {[info exists channel]} {
- if {$channel in [list [[namespace parent]::outputChannel] stdout]} {
+ if {[string equal $channel [[namespace parent]::outputChannel]]
+ || [string equal $channel stdout]} {
append outData [lindex $args end]$newline
return
- } elseif {$channel in [list [[namespace parent]::errorChannel] stderr]} {
+ } elseif {[string equal $channel [[namespace parent]::errorChannel]]
+ || [string equal $channel stderr]} {
append errData [lindex $args end]$newline
return
}
@@ -1764,7 +1746,7 @@ proc tcltest::SubstArguments {argList} {
set argList {}
}
- if {$token ne {}} {
+ if {$token != {}} {
# If we saw a word with quote before, then there is a
# multi-word token starting with that word. In this case,
# add the text and the current word to this token.
@@ -1871,7 +1853,10 @@ proc tcltest::test {name description args} {
# Pre-define everything to null except output and errorOutput. We
# determine whether or not to trap output based on whether or not
# these variables (output & errorOutput) are defined.
- lassign {} constraints setup cleanup body result returnCodes match
+ foreach item {constraints setup cleanup body result returnCodes
+ match} {
+ set $item {}
+ }
# Set the default match mode
set match exact
@@ -1883,7 +1868,8 @@ proc tcltest::test {name description args} {
# The old test format can't have a 3rd argument (constraints or
# script) that starts with '-'.
- if {[string match -* [lindex $args 0]] || ([llength $args] <= 1)} {
+ if {[string match -* [lindex $args 0]]
+ || ([llength $args] <= 1)} {
if {[llength $args] == 1} {
set list [SubstArguments [lindex $args 0]]
foreach {element value} $list {
@@ -1904,7 +1890,7 @@ proc tcltest::test {name description args} {
-match -output -errorOutput -constraints}
foreach flag [array names testAttributes] {
- if {$flag ni $validFlags} {
+ if {[lsearch -exact $validFlags $flag] == -1} {
incr testLevel -1
set sorted [lsort $validFlags]
set options [join [lrange $sorted 0 end-1] ", "]
@@ -1920,7 +1906,7 @@ proc tcltest::test {name description args} {
# Check the values supplied for -match
variable CustomMatch
- if {$match ni [array names CustomMatch]} {
+ if {[lsearch [array names CustomMatch] $match] == -1} {
incr testLevel -1
set sorted [lsort [array names CustomMatch]]
set values [join [lrange $sorted 0 end-1] ", "]
@@ -1984,7 +1970,7 @@ proc tcltest::test {name description args} {
} else {
set testResult [uplevel 1 [list [namespace origin Eval] $command 1]]
}
- lassign $testResult actualAnswer returnCode
+ foreach {actualAnswer returnCode} $testResult break
if {$returnCode == 1} {
set errorInfo(body) $::errorInfo
set errorCode(body) $::errorCode
@@ -2020,11 +2006,11 @@ proc tcltest::test {name description args} {
if {([preserveCore] > 1) && ($coreFailure)} {
append coreMsg "\nMoving file to:\
[file join [temporaryDirectory] core-$name]"
- catch {file rename -force -- \
+ catch {file rename -force \
[file join [workingDirectory] core] \
[file join [temporaryDirectory] core-$name]
} msg
- if {$msg ne {}} {
+ if {[string length $msg] > 0} {
append coreMsg "\nError:\
Problem renaming core file: $msg"
}
@@ -2034,7 +2020,7 @@ proc tcltest::test {name description args} {
# check if the return code matched the expected return code
set codeFailure 0
- if {!$setupFailure && ($returnCode ni $returnCodes)} {
+ if {!$setupFailure && [lsearch -exact $returnCodes $returnCode] == -1} {
set codeFailure 1
}
@@ -2113,12 +2099,12 @@ proc tcltest::test {name description args} {
set testFd [open $testFile r]
set testLine [expr {[lsearch -regexp \
[split [read $testFd] "\n"] \
- "^\[ \t\]*test [string map {. \\.} $name] "] + 1}]
+ "^\[ \t\]*test [string map {. \\.} $name] "]+1}]
close $testFd
}
}
if {[info exists testLine]} {
- puts [outputChannel] "$testFile:$testLine: error: test failed:\
+ puts [outputChannel] "$testFile:$testLine: test failed:\
$name [string trim $description]"
}
}
@@ -2158,7 +2144,7 @@ proc tcltest::test {name description args} {
puts [outputChannel] "---- Return code should have been\
one of: $returnCodes"
if {[IsVerbose error]} {
- if {[info exists errorInfo(body)] && (1 ni $returnCodes)} {
+ if {[info exists errorInfo(body)] && ([lsearch $returnCodes 1]<0)} {
puts [outputChannel] "---- errorInfo: $errorInfo(body)"
puts [outputChannel] "---- errorCode: $errorCode(body)"
}
@@ -2239,7 +2225,7 @@ proc tcltest::Skipped {name constraints} {
}
return 1
}
- if {$constraints eq {}} {
+ if {[string equal {} $constraints]} {
# If we're limited to the listed constraints and there aren't
# any listed, then we shouldn't run the test.
if {[limitConstraints]} {
@@ -2370,14 +2356,6 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} {
FillFilesExisted
set testFileName [file tail [info script]]
- # Hook to handle reporting to a parent interpreter
- if {[llength [info commands [namespace current]::ReportToMaster]]} {
- ReportToMaster $numTests(Total) $numTests(Passed) $numTests(Skipped) \
- $numTests(Failed) [array get skippedBecause] \
- [array get createdNewFiles]
- set testSingleFile false
- }
-
# Call the cleanup hook
cleanupTestsHook
@@ -2390,7 +2368,7 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} {
foreach file $filesMade {
if {[file exists $file]} {
DebugDo 1 {Warn "cleanupTests deleting $file..."}
- catch {file delete -force -- $file}
+ catch {file delete -force $file}
}
}
set currentFiles {}
@@ -2400,7 +2378,7 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} {
}
set newFiles {}
foreach file $currentFiles {
- if {$file ni $filesExisted} {
+ if {[lsearch -exact $filesExisted $file] == -1} {
lappend newFiles $file
}
}
@@ -2483,7 +2461,8 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} {
# then add current file to failFile list if any tests in this
# file failed
- if {$currentFailure && ($testFileName ni $failFiles)} {
+ if {$currentFailure \
+ && ([lsearch -exact $failFiles $testFileName] == -1)} {
lappend failFiles $testFileName
}
set currentFailure false
@@ -2543,11 +2522,11 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} {
puts [outputChannel] "produced core file! \
Moving file to: \
[file join [temporaryDirectory] core-$testFileName]"
- catch {file rename -force -- \
+ catch {file rename -force \
[file join [workingDirectory] core] \
[file join [temporaryDirectory] core-$testFileName]
} msg
- if {$msg ne {}} {
+ if {[string length $msg] > 0} {
PrintError "Problem renaming file: $msg"
}
} else {
@@ -2625,7 +2604,7 @@ proc tcltest::GetMatchingFiles { args } {
# Add to result list all files in match list and not in skip list
foreach file $matchFileList {
- if {$file ni $skipFileList} {
+ if {[lsearch -exact $skipFileList $file] == -1} {
lappend matchingFiles $file
}
}
@@ -2672,7 +2651,7 @@ proc tcltest::GetMatchingDirectories {rootdir} {
foreach pattern [matchDirectories] {
foreach path [glob -directory $rootdir -types d -nocomplain -- \
$pattern] {
- if {$path ni $skipDirs} {
+ if {[lsearch -exact $skipDirs $path] == -1} {
set matchDirs [concat $matchDirs [GetMatchingDirectories $path]]
if {[file exists [file join $path all.tcl]]} {
lappend matchDirs $path
@@ -2708,7 +2687,6 @@ proc tcltest::runAllTests { {shell ""} } {
variable numTestFiles
variable numTests
variable failFiles
- variable DefaultValue
FillFilesExisted
if {[llength [info level 0]] == 1} {
@@ -2725,7 +2703,7 @@ proc tcltest::runAllTests { {shell ""} } {
# [file system] first available in Tcl 8.4
if {![catch {file system [testsDirectory]} result]
- && ([lindex $result 0] ne "native")} {
+ && ![string equal native [lindex $result 0]]} {
# If we aren't running in the native filesystem, then we must
# run the tests in a single process (via 'source'), because
# trying to run then via a pipe will fail since the files don't
@@ -2772,13 +2750,8 @@ proc tcltest::runAllTests { {shell ""} } {
# needs to read and process output of children.
set childargv [list]
foreach opt [Configure] {
- if {$opt eq "-outfile"} {continue}
- set value [Configure $opt]
- # Don't bother passing default configuration options
- if {$value eq $DefaultValue($opt)} {
- continue
- }
- lappend childargv $opt $value
+ if {[string equal $opt -outfile]} {continue}
+ lappend childargv $opt [Configure $opt]
}
set cmd [linsert $childargv 0 | $shell $file]
if {[catch {
@@ -2868,6 +2841,11 @@ proc tcltest::runAllTests { {shell ""} } {
# none.
proc tcltest::loadTestedCommands {} {
+ variable l
+ if {[string equal {} [loadScript]]} {
+ return
+ }
+
return [uplevel 1 [loadScript]]
}
@@ -2910,15 +2888,16 @@ proc tcltest::saveState {} {
proc tcltest::restoreState {} {
variable saveState
foreach p [uplevel 1 {::info procs}] {
- if {($p ni [lindex $saveState 0]) && ("[namespace current]::$p" ne
- [uplevel 1 [list ::namespace origin $p]])} {
+ if {([lsearch [lindex $saveState 0] $p] < 0)
+ && ![string equal [namespace current]::$p \
+ [uplevel 1 [list ::namespace origin $p]]]} {
DebugPuts 2 "[lindex [info level 0] 0]: Removing proc $p"
uplevel 1 [list ::catch [list ::rename $p {}]]
}
}
foreach p [uplevel 1 {::info vars}] {
- if {$p ni [lindex $saveState 1]} {
+ if {[lsearch [lindex $saveState 1] $p] < 0} {
DebugPuts 2 "[lindex [info level 0] 0]:\
Removing variable $p"
uplevel 1 [list ::catch [list ::unset $p]]
@@ -2979,15 +2958,15 @@ proc tcltest::makeFile {contents name {directory ""}} {
putting ``$contents'' into $fullName"
set fd [open $fullName w]
- chan configure $fd -translation lf
- if {[string index $contents end] eq "\n"} {
+ fconfigure $fd -translation lf
+ if {[string equal [string index $contents end] \n]} {
puts -nonewline $fd $contents
} else {
puts $fd $contents
}
close $fd
- if {$fullName ni $filesMade} {
+ if {[lsearch -exact $filesMade $fullName] == -1} {
lappend filesMade $fullName
}
return $fullName
@@ -3027,7 +3006,7 @@ proc tcltest::removeFile {name {directory ""}} {
Warn "removeFile removing \"$fullName\":\n not a file"
}
}
- return [file delete -- $fullName]
+ return [file delete $fullName]
}
# tcltest::makeDirectory --
@@ -3057,7 +3036,7 @@ proc tcltest::makeDirectory {name {directory ""}} {
set fullName [file join $directory $name]
DebugPuts 3 "[lindex [info level 0] 0]: creating $fullName"
file mkdir $fullName
- if {$fullName ni $filesMade} {
+ if {[lsearch -exact $filesMade $fullName] == -1} {
lappend filesMade $fullName
}
return $fullName
@@ -3098,7 +3077,7 @@ proc tcltest::removeDirectory {name {directory ""}} {
Warn "removeDirectory removing \"$fullName\":\n not a directory"
}
}
- return [file delete -force -- $fullName]
+ return [file delete -force $fullName]
}
# tcltest::viewFile --
@@ -3195,7 +3174,7 @@ proc tcltest::LeakFiles {old} {
}
set leak {}
foreach p $new {
- if {$p ni $old} {
+ if {[lsearch $old $p] < 0} {
lappend leak $p
}
}
@@ -3266,7 +3245,7 @@ proc tcltest::RestoreLocale {} {
#
proc tcltest::threadReap {} {
- if {[info commands testthread] ne {}} {
+ if {[info commands testthread] != {}} {
# testthread built into tcltest
@@ -3286,7 +3265,7 @@ proc tcltest::threadReap {} {
}
testthread errorproc ThreadError
return [llength [testthread names]]
- } elseif {[info commands thread::id] ne {}} {
+ } elseif {[info commands thread::id] != {}} {
# Thread extension
@@ -3318,15 +3297,15 @@ namespace eval tcltest {
# Set up the constraints in the testConstraints array to be lazily
# initialized by a registered initializer, or by "false" if no
# initializer is registered.
- trace add variable testConstraints read [namespace code SafeFetch]
+ trace variable testConstraints r [namespace code SafeFetch]
# Only initialize constraints at package load time if an
# [initConstraintsHook] has been pre-defined. This is only
# for compatibility support. The modern way to add a custom
# test constraint is to just call the [testConstraint] command
# straight away, without all this "hook" nonsense.
- if {[namespace current] eq
- [namespace qualifiers [namespace which initConstraintsHook]]} {
+ if {[string equal [namespace current] \
+ [namespace qualifiers [namespace which initConstraintsHook]]]} {
InitConstraints
} else {
proc initConstraintsHook {} {}
@@ -3363,15 +3342,15 @@ namespace eval tcltest {
proc LoadTimeCmdLineArgParsingRequired {} {
set required false
- if {[info exists ::argv] && ("-help" in $::argv)} {
+ if {[info exists ::argv] && [lsearch -exact $::argv -help] != -1} {
# The command line asks for -help, so give it (and exit)
# right now. ([configure] does not process -help)
set required true
}
foreach hook { PrintUsageInfoHook processCmdLineArgsHook
processCmdLineArgsAddFlagsHook } {
- if {[namespace current] eq
- [namespace qualifiers [namespace which $hook]]} {
+ if {[string equal [namespace current] [namespace qualifiers \
+ [namespace which $hook]]]} {
set required true
} else {
proc $hook args {}
diff --git a/library/tm.tcl b/library/tm.tcl
index 7b9cafe..ca0bbf7 100644
--- a/library/tm.tcl
+++ b/library/tm.tcl
@@ -1,48 +1,44 @@
# -*- tcl -*-
#
-# Searching for Tcl Modules. Defines a procedure, declares it as the
-# primary command for finding packages, however also uses the former
-# 'package unknown' command as a fallback.
+# Searching for Tcl Modules. Defines a procedure, declares it as the primary
+# command for finding packages, however also uses the former 'package unknown'
+# command as a fallback.
#
-# Locates all possible packages in a directory via a less restricted
-# glob. The targeted directory is derived from the name of the
-# requested package. I.e. the TM scan will look only at directories
-# which can contain the requested package. It will register all
-# packages it found in the directory so that future requests have a
-# higher chance of being fulfilled by the ifneeded database without
-# having to come to us again.
+# Locates all possible packages in a directory via a less restricted glob. The
+# targeted directory is derived from the name of the requested package, i.e.
+# the TM scan will look only at directories which can contain the requested
+# package. It will register all packages it found in the directory so that
+# future requests have a higher chance of being fulfilled by the ifneeded
+# database without having to come to us again.
#
-# We do not remember where we have been and simply rescan targeted
-# directories when invoked again. The reasoning is this:
+# We do not remember where we have been and simply rescan targeted directories
+# when invoked again. The reasoning is this:
#
-# - The only way we get back to the same directory is if someone is
-# trying to [package require] something that wasn't there on the
-# first scan.
+# - The only way we get back to the same directory is if someone is trying to
+# [package require] something that wasn't there on the first scan.
#
# Either
# 1) It is there now: If we rescan, you get it; if not you don't.
#
-# This covers the possibility that the application asked for a
-# package late, and the package was actually added to the
-# installation after the application was started. It shoukld
-# still be able to find it.
+# This covers the possibility that the application asked for a package
+# late, and the package was actually added to the installation after the
+# application was started. It shoukld still be able to find it.
#
-# 2) It still is not there: Either way, you don't get it, but the
-# rescan takes time. This is however an error case and we dont't
-# care that much about it
+# 2) It still is not there: Either way, you don't get it, but the rescan
+# takes time. This is however an error case and we dont't care that much
+# about it
#
-# 3) It was there the first time; but for some reason a "package
-# forget" has been run, and "package" doesn't know about it
-# anymore.
+# 3) It was there the first time; but for some reason a "package forget" has
+# been run, and "package" doesn't know about it anymore.
#
-# This can be an indication that the application wishes to reload
-# some functionality. And should work as well.
+# This can be an indication that the application wishes to reload some
+# functionality. And should work as well.
#
-# Note that this also strikes a balance between doing a glob targeting
-# a single package, and thus most likely requiring multiple globs of
-# the same directory when the application is asking for many packages,
-# and trying to glob for _everything_ in all subdirectories when
-# looking for a package, which comes with a heavy startup cost.
+# Note that this also strikes a balance between doing a glob targeting a
+# single package, and thus most likely requiring multiple globs of the same
+# directory when the application is asking for many packages, and trying to
+# glob for _everything_ in all subdirectories when looking for a package,
+# which comes with a heavy startup cost.
#
# We scan for regular packages only if no satisfying module was found.
@@ -58,7 +54,7 @@ namespace eval ::tcl::tm {
# Export the public API
namespace export path
- namespace ensemble create -command path -subcommands {add remove list}
+ namespace ensemble create -command path -subcommand {add remove list}
}
# ::tcl::tm::path implementations --
@@ -71,46 +67,43 @@ namespace eval ::tcl::tm {
# path with 'list'.
#
# Results
-# No result for subcommands 'add' and 'remove'. A list of paths
-# for 'list'.
+# No result for subcommands 'add' and 'remove'. A list of paths for
+# 'list'.
#
# Sideeffects
-# The subcommands 'add' and 'remove' manipulate the list of
-# paths to search for Tcl Modules. The subcommand 'list' has no
-# sideeffects.
+# The subcommands 'add' and 'remove' manipulate the list of paths to
+# search for Tcl Modules. The subcommand 'list' has no sideeffects.
-proc ::tcl::tm::add {path args} {
+proc ::tcl::tm::add {args} {
# PART OF THE ::tcl::tm::path ENSEMBLE
#
# The path is added at the head to the list of module paths.
#
- # The command enforces the restriction that no path may be an
- # ancestor directory of any other path on the list. If the new
- # path violates this restriction an error wil be raised.
+ # The command enforces the restriction that no path may be an ancestor
+ # directory of any other path on the list. If the new path violates this
+ # restriction an error wil be raised.
#
- # If the path is already present as is no error will be raised and
- # no action will be taken.
+ # If the path is already present as is no error will be raised and no
+ # action will be taken.
variable paths
- # We use a copy of the path as source during validation, and
- # extend it as well. Because we not only have to detect if the new
- # paths are bogus with respect to the existing paths, but also
- # between themselves. Otherwise we can still add bogus paths, by
- # specifying them in a single call. This makes the use of the new
- # paths simpler as well, a trivial assignment of the collected
- # paths to the official state var.
+ # We use a copy of the path as source during validation, and extend it as
+ # well. Because we not only have to detect if the new paths are bogus with
+ # respect to the existing paths, but also between themselves. Otherwise we
+ # can still add bogus paths, by specifying them in a single call. This
+ # makes the use of the new paths simpler as well, a trivial assignment of
+ # the collected paths to the official state var.
set newpaths $paths
- foreach p [linsert $args 0 $path] {
+ foreach p $args {
if {$p in $newpaths} {
# Ignore a path already on the list.
continue
}
- # Search for paths which are subdirectories of the new one. If
- # there are any then the new path violates the restriction
- # about ancestors.
+ # Search for paths which are subdirectories of the new one. If there
+ # are any then the new path violates the restriction about ancestors.
set pos [lsearch -glob $newpaths ${p}/*]
# Cannot use "in", we need the position for the message.
@@ -119,10 +112,9 @@ proc ::tcl::tm::add {path args} {
"$p is ancestor of existing module path [lindex $newpaths $pos]."
}
- # Now look for existing paths which are ancestors of the new
- # one. This reverse question forces us to loop over the
- # existing paths, as each element is the pattern, not the new
- # path :(
+ # Now look for existing paths which are ancestors of the new one. This
+ # reverse question forces us to loop over the existing paths, as each
+ # element is the pattern, not the new path :(
foreach ep $newpaths {
if {[string match ${ep}/* $p]} {
@@ -134,24 +126,23 @@ proc ::tcl::tm::add {path args} {
set newpaths [linsert $newpaths 0 $p]
}
- # The validation of the input is complete and successful, and
- # everything in newpaths is either an old path, or added. We can
- # now extend the official list of paths, a simple assignment is
- # sufficient.
+ # The validation of the input is complete and successful, and everything
+ # in newpaths is either an old path, or added. We can now extend the
+ # official list of paths, a simple assignment is sufficient.
set paths $newpaths
return
}
-proc ::tcl::tm::remove {path args} {
+proc ::tcl::tm::remove {args} {
# PART OF THE ::tcl::tm::path ENSEMBLE
#
- # Removes the path from the list of module paths. The command is
- # silently ignored if the path is not on the list.
+ # Removes the path from the list of module paths. The command is silently
+ # ignored if the path is not on the list.
variable paths
- foreach p [linsert $args 0 $path] {
+ foreach p $args {
set pos [lsearch -exact $paths $p]
if {$pos >= 0} {
set paths [lreplace $paths $pos $pos]
@@ -177,17 +168,16 @@ proc ::tcl::tm::list {} {
# empty string.
# exact - Either -exact or ommitted.
#
-# Name, version, and exact are used to determine
-# satisfaction. The original is called iff no satisfaction was
-# achieved. The name is also used to compute the directory to
-# target in the search.
+# Name, version, and exact are used to determine satisfaction. The
+# original is called iff no satisfaction was achieved. The name is also
+# used to compute the directory to target in the search.
#
# Results
# None.
#
# Sideeffects
-# May populate the package ifneeded database with additional
-# provide scripts.
+# May populate the package ifneeded database with additional provide
+# scripts.
proc ::tcl::tm::UnknownHandler {original name args} {
# Import the list of paths to search for packages in module form.
@@ -196,8 +186,8 @@ proc ::tcl::tm::UnknownHandler {original name args} {
variable paths
variable pkgpattern
- # Without paths to search we can do nothing. (Except falling back
- # to the regular search).
+ # Without paths to search we can do nothing. (Except falling back to the
+ # regular search).
if {[llength $paths]} {
set pkgpath [string map {:: /} $name]
@@ -206,11 +196,10 @@ proc ::tcl::tm::UnknownHandler {original name args} {
set pkgroot ""
}
- # We don't remember a copy of the paths while looping. Tcl
- # Modules are unable to change the list while we are searching
- # for them. This also simplifies the loop, as we cannot get
- # additional directories while iterating over the list. A
- # simple foreach is sufficient.
+ # We don't remember a copy of the paths while looping. Tcl Modules are
+ # unable to change the list while we are searching for them. This also
+ # simplifies the loop, as we cannot get additional directories while
+ # iterating over the list. A simple foreach is sufficient.
set satisfied 0
foreach path $paths {
@@ -223,12 +212,11 @@ proc ::tcl::tm::UnknownHandler {original name args} {
}
set strip [llength [file split $path]]
- # We can't use glob in safe interps, so enclose the following
- # in a catch statement, where we get the module files out
- # of the subdirectories. In other words, Tcl Modules are
- # not-functional in such an interpreter. This is the same
- # as for the command "tclPkgUnknown", i.e. the search for
- # regular packages.
+ # We can't use glob in safe interps, so enclose the following in a
+ # catch statement, where we get the module files out of the
+ # subdirectories. In other words, Tcl Modules are not-functional
+ # in such an interpreter. This is the same as for the command
+ # "tclPkgUnknown", i.e. the search for regular packages.
catch {
# We always look for _all_ possible modules in the current
@@ -238,57 +226,50 @@ proc ::tcl::tm::UnknownHandler {original name args} {
set pkgfilename [join [lrange [file split $file] $strip end] ::]
if {![regexp -- $pkgpattern $pkgfilename --> pkgname pkgversion]} {
- # Ignore everything not matching our pattern
- # for package names.
+ # Ignore everything not matching our pattern for
+ # package names.
continue
}
- if {[catch {package vcompare $pkgversion 0}]} {
- # Ignore everything where the version part is
- # not acceptable to "package vcompare".
+ try {
+ package vcompare $pkgversion 0
+ } on error {} {
+ # Ignore everything where the version part is not
+ # acceptable to "package vcompare".
continue
}
- if {[package ifneeded $pkgname $pkgversion] ne {}} {
- # There's already a provide script registered for
- # this version of this package. Since all units of
- # code claiming to be the same version of the same
- # package ought to be identical, just stick with
- # the one we already have.
- continue
- }
+ # We have found a candidate, generate a "provide script"
+ # for it, and remember it. Note that we are using ::list
+ # to do this; locally [list] means something else without
+ # the namespace specifier.
- # We have found a candidate, generate a "provide
- # script" for it, and remember it. Note that we
- # are using ::list to do this; locally [list]
- # means something else without the namespace
- # specifier.
-
- # NOTE. When making changes to the format of the
- # provide command generated below CHECK that the
- # 'LOCATE' procedure in core file
- # 'platform/shell.tcl' still understands it, or,
- # if not, update its implementation appropriately.
+ # NOTE. When making changes to the format of the provide
+ # command generated below CHECK that the 'LOCATE'
+ # procedure in core file 'platform/shell.tcl' still
+ # understands it, or, if not, update its implementation
+ # appropriately.
#
- # Right now LOCATE's implementation assumes that
- # the path of the package file is the last element
- # in the list.
+ # Right now LOCATE's implementation assumes that the path
+ # of the package file is the last element in the list.
package ifneeded $pkgname $pkgversion \
"[::list package provide $pkgname $pkgversion];[::list source -encoding utf-8 $file]"
- # We abort in this unknown handler only if we got
- # a satisfying candidate for the requested
- # package. Otherwise we still have to fallback to
- # the regular package search to complete the
- # processing.
+ # We abort in this unknown handler only if we got a
+ # satisfying candidate for the requested package.
+ # Otherwise we still have to fallback to the regular
+ # package search to complete the processing.
- if {($pkgname eq $name)
- && [package vsatisfies $pkgversion {*}$args]} {
+ if {
+ ($pkgname eq $name) &&
+ [package vsatisfies $pkgversion {*}$args]
+ } then {
set satisfied 1
- # We do not abort the loop, and keep adding
- # provide scripts for every candidate in the
- # directory, just remember to not fall back to
- # the regular search anymore.
+
+ # We do not abort the loop, and keep adding provide
+ # scripts for every candidate in the directory, just
+ # remember to not fall back to the regular search
+ # anymore.
}
}
}
@@ -299,8 +280,8 @@ proc ::tcl::tm::UnknownHandler {original name args} {
}
}
- # Fallback to previous command, if existing. See comment above
- # about ::list...
+ # Fallback to previous command, if existing. See comment above about
+ # ::list...
if {[llength $original]} {
uplevel 1 $original [::linsert $args 0 $name]
@@ -366,7 +347,7 @@ proc ::tcl::tm::Defaults {} {
# Calls 'path add' to paths to the list of module search paths.
proc ::tcl::tm::roots {paths} {
- lassign [split [package present Tcl] .] major minor
+ foreach {major minor} [split [info tclversion] .] break
foreach pa $paths {
set p [file join $pa tcl$major]
for {set n $minor} {$n >= 0} {incr n -1} {
@@ -376,12 +357,12 @@ proc ::tcl::tm::roots {paths} {
}
set px [file join $p site-tcl]
if {![interp issafe]} { set px [file normalize $px] }
- path add $px
+ path add $px
}
return
}
-# Initialization. Set up the default paths, then insert the new
-# handler into the chain.
+# Initialization. Set up the default paths, then insert the new handler into
+# the chain.
if {![interp issafe]} { ::tcl::tm::Defaults }
diff --git a/library/tzdata/Africa/Cairo b/library/tzdata/Africa/Cairo
index 842b7b2..5eca6e2 100644
--- a/library/tzdata/Africa/Cairo
+++ b/library/tzdata/Africa/Cairo
@@ -1,8 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Africa/Cairo) {
- {-9223372036854775808 7509 0 LMT}
- {-2185409109 7200 0 EET}
+ {-9223372036854775808 7500 0 LMT}
+ {-2185409100 7200 0 EET}
{-929844000 10800 1 EEST}
{-923108400 7200 0 EET}
{-906170400 10800 1 EEST}
@@ -120,9 +120,185 @@ set TZData(:Africa/Cairo) {
{1209074400 10800 1 EEST}
{1219957200 7200 0 EET}
{1240524000 10800 1 EEST}
- {1250802000 7200 0 EET}
+ {1253826000 7200 0 EET}
{1272578400 10800 1 EEST}
- {1281474000 7200 0 EET}
- {1284069600 10800 1 EEST}
{1285880400 7200 0 EET}
+ {1304028000 10800 1 EEST}
+ {1317330000 7200 0 EET}
+ {1335477600 10800 1 EEST}
+ {1348779600 7200 0 EET}
+ {1366927200 10800 1 EEST}
+ {1380229200 7200 0 EET}
+ {1398376800 10800 1 EEST}
+ {1411678800 7200 0 EET}
+ {1429826400 10800 1 EEST}
+ {1443128400 7200 0 EET}
+ {1461880800 10800 1 EEST}
+ {1475182800 7200 0 EET}
+ {1493330400 10800 1 EEST}
+ {1506632400 7200 0 EET}
+ {1524780000 10800 1 EEST}
+ {1538082000 7200 0 EET}
+ {1556229600 10800 1 EEST}
+ {1569531600 7200 0 EET}
+ {1587679200 10800 1 EEST}
+ {1600981200 7200 0 EET}
+ {1619733600 10800 1 EEST}
+ {1633035600 7200 0 EET}
+ {1651183200 10800 1 EEST}
+ {1664485200 7200 0 EET}
+ {1682632800 10800 1 EEST}
+ {1695934800 7200 0 EET}
+ {1714082400 10800 1 EEST}
+ {1727384400 7200 0 EET}
+ {1745532000 10800 1 EEST}
+ {1758834000 7200 0 EET}
+ {1776981600 10800 1 EEST}
+ {1790283600 7200 0 EET}
+ {1809036000 10800 1 EEST}
+ {1822338000 7200 0 EET}
+ {1840485600 10800 1 EEST}
+ {1853787600 7200 0 EET}
+ {1871935200 10800 1 EEST}
+ {1885237200 7200 0 EET}
+ {1903384800 10800 1 EEST}
+ {1916686800 7200 0 EET}
+ {1934834400 10800 1 EEST}
+ {1948136400 7200 0 EET}
+ {1966888800 10800 1 EEST}
+ {1980190800 7200 0 EET}
+ {1998338400 10800 1 EEST}
+ {2011640400 7200 0 EET}
+ {2029788000 10800 1 EEST}
+ {2043090000 7200 0 EET}
+ {2061237600 10800 1 EEST}
+ {2074539600 7200 0 EET}
+ {2092687200 10800 1 EEST}
+ {2105989200 7200 0 EET}
+ {2124136800 10800 1 EEST}
+ {2137438800 7200 0 EET}
+ {2156191200 10800 1 EEST}
+ {2169493200 7200 0 EET}
+ {2187640800 10800 1 EEST}
+ {2200942800 7200 0 EET}
+ {2219090400 10800 1 EEST}
+ {2232392400 7200 0 EET}
+ {2250540000 10800 1 EEST}
+ {2263842000 7200 0 EET}
+ {2281989600 10800 1 EEST}
+ {2295291600 7200 0 EET}
+ {2313439200 10800 1 EEST}
+ {2326741200 7200 0 EET}
+ {2345493600 10800 1 EEST}
+ {2358795600 7200 0 EET}
+ {2376943200 10800 1 EEST}
+ {2390245200 7200 0 EET}
+ {2408392800 10800 1 EEST}
+ {2421694800 7200 0 EET}
+ {2439842400 10800 1 EEST}
+ {2453144400 7200 0 EET}
+ {2471292000 10800 1 EEST}
+ {2484594000 7200 0 EET}
+ {2503346400 10800 1 EEST}
+ {2516648400 7200 0 EET}
+ {2534796000 10800 1 EEST}
+ {2548098000 7200 0 EET}
+ {2566245600 10800 1 EEST}
+ {2579547600 7200 0 EET}
+ {2597695200 10800 1 EEST}
+ {2610997200 7200 0 EET}
+ {2629144800 10800 1 EEST}
+ {2642446800 7200 0 EET}
+ {2660594400 10800 1 EEST}
+ {2673896400 7200 0 EET}
+ {2692648800 10800 1 EEST}
+ {2705950800 7200 0 EET}
+ {2724098400 10800 1 EEST}
+ {2737400400 7200 0 EET}
+ {2755548000 10800 1 EEST}
+ {2768850000 7200 0 EET}
+ {2786997600 10800 1 EEST}
+ {2800299600 7200 0 EET}
+ {2818447200 10800 1 EEST}
+ {2831749200 7200 0 EET}
+ {2850501600 10800 1 EEST}
+ {2863803600 7200 0 EET}
+ {2881951200 10800 1 EEST}
+ {2895253200 7200 0 EET}
+ {2913400800 10800 1 EEST}
+ {2926702800 7200 0 EET}
+ {2944850400 10800 1 EEST}
+ {2958152400 7200 0 EET}
+ {2976300000 10800 1 EEST}
+ {2989602000 7200 0 EET}
+ {3007749600 10800 1 EEST}
+ {3021051600 7200 0 EET}
+ {3039804000 10800 1 EEST}
+ {3053106000 7200 0 EET}
+ {3071253600 10800 1 EEST}
+ {3084555600 7200 0 EET}
+ {3102703200 10800 1 EEST}
+ {3116005200 7200 0 EET}
+ {3134152800 10800 1 EEST}
+ {3147454800 7200 0 EET}
+ {3165602400 10800 1 EEST}
+ {3178904400 7200 0 EET}
+ {3197052000 10800 1 EEST}
+ {3210354000 7200 0 EET}
+ {3229106400 10800 1 EEST}
+ {3242408400 7200 0 EET}
+ {3260556000 10800 1 EEST}
+ {3273858000 7200 0 EET}
+ {3292005600 10800 1 EEST}
+ {3305307600 7200 0 EET}
+ {3323455200 10800 1 EEST}
+ {3336757200 7200 0 EET}
+ {3354904800 10800 1 EEST}
+ {3368206800 7200 0 EET}
+ {3386959200 10800 1 EEST}
+ {3400261200 7200 0 EET}
+ {3418408800 10800 1 EEST}
+ {3431710800 7200 0 EET}
+ {3449858400 10800 1 EEST}
+ {3463160400 7200 0 EET}
+ {3481308000 10800 1 EEST}
+ {3494610000 7200 0 EET}
+ {3512757600 10800 1 EEST}
+ {3526059600 7200 0 EET}
+ {3544207200 10800 1 EEST}
+ {3557509200 7200 0 EET}
+ {3576261600 10800 1 EEST}
+ {3589563600 7200 0 EET}
+ {3607711200 10800 1 EEST}
+ {3621013200 7200 0 EET}
+ {3639160800 10800 1 EEST}
+ {3652462800 7200 0 EET}
+ {3670610400 10800 1 EEST}
+ {3683912400 7200 0 EET}
+ {3702060000 10800 1 EEST}
+ {3715362000 7200 0 EET}
+ {3734114400 10800 1 EEST}
+ {3747416400 7200 0 EET}
+ {3765564000 10800 1 EEST}
+ {3778866000 7200 0 EET}
+ {3797013600 10800 1 EEST}
+ {3810315600 7200 0 EET}
+ {3828463200 10800 1 EEST}
+ {3841765200 7200 0 EET}
+ {3859912800 10800 1 EEST}
+ {3873214800 7200 0 EET}
+ {3891362400 10800 1 EEST}
+ {3904664400 7200 0 EET}
+ {3923416800 10800 1 EEST}
+ {3936718800 7200 0 EET}
+ {3954866400 10800 1 EEST}
+ {3968168400 7200 0 EET}
+ {3986316000 10800 1 EEST}
+ {3999618000 7200 0 EET}
+ {4017765600 10800 1 EEST}
+ {4031067600 7200 0 EET}
+ {4049215200 10800 1 EEST}
+ {4062517200 7200 0 EET}
+ {4080664800 10800 1 EEST}
+ {4093966800 7200 0 EET}
}
diff --git a/library/tzdata/Africa/Casablanca b/library/tzdata/Africa/Casablanca
index 757007c..d976aa5 100644
--- a/library/tzdata/Africa/Casablanca
+++ b/library/tzdata/Africa/Casablanca
@@ -25,200 +25,4 @@ set TZData(:Africa/Casablanca) {
{1220223600 0 0 WET}
{1243814400 3600 1 WEST}
{1250809200 0 0 WET}
- {1272758400 3600 1 WEST}
- {1281222000 0 0 WET}
- {1301788800 3600 1 WEST}
- {1312066800 0 0 WET}
- {1335664800 3600 1 WEST}
- {1342749600 0 0 WET}
- {1345428000 3600 1 WEST}
- {1348970400 0 0 WET}
- {1367114400 3600 1 WEST}
- {1373162400 0 0 WET}
- {1376100000 3600 1 WEST}
- {1380420000 0 0 WET}
- {1398564000 3600 1 WEST}
- {1404007200 0 0 WET}
- {1406599200 3600 1 WEST}
- {1411869600 0 0 WET}
- {1430013600 3600 1 WEST}
- {1434592800 0 0 WET}
- {1437184800 3600 1 WEST}
- {1443319200 0 0 WET}
- {1461463200 3600 1 WEST}
- {1465264800 0 0 WET}
- {1467856800 3600 1 WEST}
- {1474768800 0 0 WET}
- {1493517600 3600 1 WEST}
- {1495850400 0 0 WET}
- {1498442400 3600 1 WEST}
- {1506218400 0 0 WET}
- {1524967200 3600 1 WEST}
- {1526436000 0 0 WET}
- {1529028000 3600 1 WEST}
- {1538272800 0 0 WET}
- {1556416800 3600 1 WEST}
- {1557108000 0 0 WET}
- {1559700000 3600 1 WEST}
- {1569722400 0 0 WET}
- {1590285600 3600 1 WEST}
- {1601172000 0 0 WET}
- {1620871200 3600 1 WEST}
- {1632621600 0 0 WET}
- {1651543200 3600 1 WEST}
- {1664071200 0 0 WET}
- {1682820000 3600 1 WEST}
- {1695520800 0 0 WET}
- {1714269600 3600 1 WEST}
- {1727575200 0 0 WET}
- {1745719200 3600 1 WEST}
- {1759024800 0 0 WET}
- {1777168800 3600 1 WEST}
- {1790474400 0 0 WET}
- {1808618400 3600 1 WEST}
- {1821924000 0 0 WET}
- {1840672800 3600 1 WEST}
- {1853373600 0 0 WET}
- {1872122400 3600 1 WEST}
- {1885428000 0 0 WET}
- {1903572000 3600 1 WEST}
- {1916877600 0 0 WET}
- {1935021600 3600 1 WEST}
- {1948327200 0 0 WET}
- {1966471200 3600 1 WEST}
- {1979776800 0 0 WET}
- {1997920800 3600 1 WEST}
- {2011226400 0 0 WET}
- {2029975200 3600 1 WEST}
- {2042676000 0 0 WET}
- {2061424800 3600 1 WEST}
- {2074730400 0 0 WET}
- {2092874400 3600 1 WEST}
- {2106180000 0 0 WET}
- {2124324000 3600 1 WEST}
- {2137629600 0 0 WET}
- {2155773600 3600 1 WEST}
- {2169079200 0 0 WET}
- {2187223200 3600 1 WEST}
- {2200528800 0 0 WET}
- {2219277600 3600 1 WEST}
- {2232583200 0 0 WET}
- {2250727200 3600 1 WEST}
- {2264032800 0 0 WET}
- {2282176800 3600 1 WEST}
- {2295482400 0 0 WET}
- {2313626400 3600 1 WEST}
- {2326932000 0 0 WET}
- {2345076000 3600 1 WEST}
- {2358381600 0 0 WET}
- {2377130400 3600 1 WEST}
- {2389831200 0 0 WET}
- {2408580000 3600 1 WEST}
- {2421885600 0 0 WET}
- {2440029600 3600 1 WEST}
- {2453335200 0 0 WET}
- {2471479200 3600 1 WEST}
- {2484784800 0 0 WET}
- {2502928800 3600 1 WEST}
- {2516234400 0 0 WET}
- {2534378400 3600 1 WEST}
- {2547684000 0 0 WET}
- {2566432800 3600 1 WEST}
- {2579133600 0 0 WET}
- {2597882400 3600 1 WEST}
- {2611188000 0 0 WET}
- {2629332000 3600 1 WEST}
- {2642637600 0 0 WET}
- {2660781600 3600 1 WEST}
- {2674087200 0 0 WET}
- {2692231200 3600 1 WEST}
- {2705536800 0 0 WET}
- {2724285600 3600 1 WEST}
- {2736986400 0 0 WET}
- {2755735200 3600 1 WEST}
- {2769040800 0 0 WET}
- {2787184800 3600 1 WEST}
- {2800490400 0 0 WET}
- {2818634400 3600 1 WEST}
- {2831940000 0 0 WET}
- {2850084000 3600 1 WEST}
- {2863389600 0 0 WET}
- {2881533600 3600 1 WEST}
- {2894839200 0 0 WET}
- {2913588000 3600 1 WEST}
- {2926288800 0 0 WET}
- {2945037600 3600 1 WEST}
- {2958343200 0 0 WET}
- {2976487200 3600 1 WEST}
- {2989792800 0 0 WET}
- {3007936800 3600 1 WEST}
- {3021242400 0 0 WET}
- {3039386400 3600 1 WEST}
- {3052692000 0 0 WET}
- {3070836000 3600 1 WEST}
- {3084141600 0 0 WET}
- {3102890400 3600 1 WEST}
- {3116196000 0 0 WET}
- {3134340000 3600 1 WEST}
- {3147645600 0 0 WET}
- {3165789600 3600 1 WEST}
- {3179095200 0 0 WET}
- {3197239200 3600 1 WEST}
- {3210544800 0 0 WET}
- {3228688800 3600 1 WEST}
- {3241994400 0 0 WET}
- {3260743200 3600 1 WEST}
- {3273444000 0 0 WET}
- {3292192800 3600 1 WEST}
- {3305498400 0 0 WET}
- {3323642400 3600 1 WEST}
- {3336948000 0 0 WET}
- {3355092000 3600 1 WEST}
- {3368397600 0 0 WET}
- {3386541600 3600 1 WEST}
- {3399847200 0 0 WET}
- {3417991200 3600 1 WEST}
- {3431296800 0 0 WET}
- {3450045600 3600 1 WEST}
- {3462746400 0 0 WET}
- {3481495200 3600 1 WEST}
- {3494800800 0 0 WET}
- {3512944800 3600 1 WEST}
- {3526250400 0 0 WET}
- {3544394400 3600 1 WEST}
- {3557700000 0 0 WET}
- {3575844000 3600 1 WEST}
- {3589149600 0 0 WET}
- {3607898400 3600 1 WEST}
- {3620599200 0 0 WET}
- {3639348000 3600 1 WEST}
- {3652653600 0 0 WET}
- {3670797600 3600 1 WEST}
- {3684103200 0 0 WET}
- {3702247200 3600 1 WEST}
- {3715552800 0 0 WET}
- {3733696800 3600 1 WEST}
- {3747002400 0 0 WET}
- {3765146400 3600 1 WEST}
- {3778452000 0 0 WET}
- {3797200800 3600 1 WEST}
- {3809901600 0 0 WET}
- {3828650400 3600 1 WEST}
- {3841956000 0 0 WET}
- {3860100000 3600 1 WEST}
- {3873405600 0 0 WET}
- {3891549600 3600 1 WEST}
- {3904855200 0 0 WET}
- {3922999200 3600 1 WEST}
- {3936304800 0 0 WET}
- {3954448800 3600 1 WEST}
- {3967754400 0 0 WET}
- {3986503200 3600 1 WEST}
- {3999808800 0 0 WET}
- {4017952800 3600 1 WEST}
- {4031258400 0 0 WET}
- {4049402400 3600 1 WEST}
- {4062708000 0 0 WET}
- {4080852000 3600 1 WEST}
- {4094157600 0 0 WET}
}
diff --git a/library/tzdata/Africa/Dar_es_Salaam b/library/tzdata/Africa/Dar_es_Salaam
index 98151ec..e427b9c 100644
--- a/library/tzdata/Africa/Dar_es_Salaam
+++ b/library/tzdata/Africa/Dar_es_Salaam
@@ -3,6 +3,6 @@
set TZData(:Africa/Dar_es_Salaam) {
{-9223372036854775808 9428 0 LMT}
{-1230777428 10800 0 EAT}
- {-694321200 9900 0 BEAUT}
- {-284006700 10800 0 EAT}
+ {-694321200 9885 0 BEAUT}
+ {-284006685 10800 0 EAT}
}
diff --git a/library/tzdata/Africa/Gaborone b/library/tzdata/Africa/Gaborone
index bd38673..7753ba0 100644
--- a/library/tzdata/Africa/Gaborone
+++ b/library/tzdata/Africa/Gaborone
@@ -2,8 +2,7 @@
set TZData(:Africa/Gaborone) {
{-9223372036854775808 6220 0 LMT}
- {-2682294220 5400 0 SAST}
- {-2109288600 7200 0 CAT}
+ {-2682294220 7200 0 CAT}
{-829526400 10800 1 CAST}
{-813805200 7200 0 CAT}
}
diff --git a/library/tzdata/Africa/Juba b/library/tzdata/Africa/Juba
deleted file mode 100644
index 7495981..0000000
--- a/library/tzdata/Africa/Juba
+++ /dev/null
@@ -1,39 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Africa/Juba) {
- {-9223372036854775808 7584 0 LMT}
- {-1230775584 7200 0 CAT}
- {10360800 10800 1 CAST}
- {24786000 7200 0 CAT}
- {41810400 10800 1 CAST}
- {56322000 7200 0 CAT}
- {73432800 10800 1 CAST}
- {87944400 7200 0 CAT}
- {104882400 10800 1 CAST}
- {119480400 7200 0 CAT}
- {136332000 10800 1 CAST}
- {151016400 7200 0 CAT}
- {167781600 10800 1 CAST}
- {182552400 7200 0 CAT}
- {199231200 10800 1 CAST}
- {214174800 7200 0 CAT}
- {230680800 10800 1 CAST}
- {245710800 7200 0 CAT}
- {262735200 10800 1 CAST}
- {277246800 7200 0 CAT}
- {294184800 10800 1 CAST}
- {308782800 7200 0 CAT}
- {325634400 10800 1 CAST}
- {340405200 7200 0 CAT}
- {357084000 10800 1 CAST}
- {371941200 7200 0 CAT}
- {388533600 10800 1 CAST}
- {403477200 7200 0 CAT}
- {419983200 10800 1 CAST}
- {435013200 7200 0 CAT}
- {452037600 10800 1 CAST}
- {466635600 7200 0 CAT}
- {483487200 10800 1 CAST}
- {498171600 7200 0 CAT}
- {947930400 10800 0 EAT}
-}
diff --git a/library/tzdata/Africa/Kampala b/library/tzdata/Africa/Kampala
index 4cc9be1..ab3f085 100644
--- a/library/tzdata/Africa/Kampala
+++ b/library/tzdata/Africa/Kampala
@@ -4,6 +4,6 @@ set TZData(:Africa/Kampala) {
{-9223372036854775808 7780 0 LMT}
{-1309745380 10800 0 EAT}
{-1262314800 9000 0 BEAT}
- {-694319400 9900 0 BEAUT}
- {-410237100 10800 0 EAT}
+ {-694319400 9885 0 BEAUT}
+ {-410237085 10800 0 EAT}
}
diff --git a/library/tzdata/Africa/Nairobi b/library/tzdata/Africa/Nairobi
index 6846069..99b0d70 100644
--- a/library/tzdata/Africa/Nairobi
+++ b/library/tzdata/Africa/Nairobi
@@ -4,6 +4,6 @@ set TZData(:Africa/Nairobi) {
{-9223372036854775808 8836 0 LMT}
{-1309746436 10800 0 EAT}
{-1262314800 9000 0 BEAT}
- {-946780200 9900 0 BEAUT}
- {-315629100 10800 0 EAT}
+ {-946780200 9885 0 BEAUT}
+ {-315629085 10800 0 EAT}
}
diff --git a/library/tzdata/Africa/Tripoli b/library/tzdata/Africa/Tripoli
index ac78218..e993249 100644
--- a/library/tzdata/Africa/Tripoli
+++ b/library/tzdata/Africa/Tripoli
@@ -27,180 +27,5 @@ set TZData(:Africa/Tripoli) {
{641775600 7200 0 EET}
{844034400 3600 0 CET}
{860108400 7200 1 CEST}
- {875919600 7200 0 EET}
- {1352505600 3600 0 CET}
- {1364515200 7200 1 CEST}
- {1382659200 3600 0 CET}
- {1395964800 7200 1 CEST}
- {1414713600 3600 0 CET}
- {1427414400 7200 1 CEST}
- {1446163200 3600 0 CET}
- {1458864000 7200 1 CEST}
- {1477612800 3600 0 CET}
- {1490918400 7200 1 CEST}
- {1509062400 3600 0 CET}
- {1522368000 7200 1 CEST}
- {1540512000 3600 0 CET}
- {1553817600 7200 1 CEST}
- {1571961600 3600 0 CET}
- {1585267200 7200 1 CEST}
- {1604016000 3600 0 CET}
- {1616716800 7200 1 CEST}
- {1635465600 3600 0 CET}
- {1648166400 7200 1 CEST}
- {1666915200 3600 0 CET}
- {1680220800 7200 1 CEST}
- {1698364800 3600 0 CET}
- {1711670400 7200 1 CEST}
- {1729814400 3600 0 CET}
- {1743120000 7200 1 CEST}
- {1761868800 3600 0 CET}
- {1774569600 7200 1 CEST}
- {1793318400 3600 0 CET}
- {1806019200 7200 1 CEST}
- {1824768000 3600 0 CET}
- {1838073600 7200 1 CEST}
- {1856217600 3600 0 CET}
- {1869523200 7200 1 CEST}
- {1887667200 3600 0 CET}
- {1900972800 7200 1 CEST}
- {1919116800 3600 0 CET}
- {1932422400 7200 1 CEST}
- {1951171200 3600 0 CET}
- {1963872000 7200 1 CEST}
- {1982620800 3600 0 CET}
- {1995321600 7200 1 CEST}
- {2014070400 3600 0 CET}
- {2027376000 7200 1 CEST}
- {2045520000 3600 0 CET}
- {2058825600 7200 1 CEST}
- {2076969600 3600 0 CET}
- {2090275200 7200 1 CEST}
- {2109024000 3600 0 CET}
- {2121724800 7200 1 CEST}
- {2140473600 3600 0 CET}
- {2153174400 7200 1 CEST}
- {2171923200 3600 0 CET}
- {2184624000 7200 1 CEST}
- {2203372800 3600 0 CET}
- {2216678400 7200 1 CEST}
- {2234822400 3600 0 CET}
- {2248128000 7200 1 CEST}
- {2266272000 3600 0 CET}
- {2279577600 7200 1 CEST}
- {2298326400 3600 0 CET}
- {2311027200 7200 1 CEST}
- {2329776000 3600 0 CET}
- {2342476800 7200 1 CEST}
- {2361225600 3600 0 CET}
- {2374531200 7200 1 CEST}
- {2392675200 3600 0 CET}
- {2405980800 7200 1 CEST}
- {2424124800 3600 0 CET}
- {2437430400 7200 1 CEST}
- {2455574400 3600 0 CET}
- {2468880000 7200 1 CEST}
- {2487628800 3600 0 CET}
- {2500329600 7200 1 CEST}
- {2519078400 3600 0 CET}
- {2531779200 7200 1 CEST}
- {2550528000 3600 0 CET}
- {2563833600 7200 1 CEST}
- {2581977600 3600 0 CET}
- {2595283200 7200 1 CEST}
- {2613427200 3600 0 CET}
- {2626732800 7200 1 CEST}
- {2645481600 3600 0 CET}
- {2658182400 7200 1 CEST}
- {2676931200 3600 0 CET}
- {2689632000 7200 1 CEST}
- {2708380800 3600 0 CET}
- {2721686400 7200 1 CEST}
- {2739830400 3600 0 CET}
- {2753136000 7200 1 CEST}
- {2771280000 3600 0 CET}
- {2784585600 7200 1 CEST}
- {2802729600 3600 0 CET}
- {2816035200 7200 1 CEST}
- {2834784000 3600 0 CET}
- {2847484800 7200 1 CEST}
- {2866233600 3600 0 CET}
- {2878934400 7200 1 CEST}
- {2897683200 3600 0 CET}
- {2910988800 7200 1 CEST}
- {2929132800 3600 0 CET}
- {2942438400 7200 1 CEST}
- {2960582400 3600 0 CET}
- {2973888000 7200 1 CEST}
- {2992636800 3600 0 CET}
- {3005337600 7200 1 CEST}
- {3024086400 3600 0 CET}
- {3036787200 7200 1 CEST}
- {3055536000 3600 0 CET}
- {3068236800 7200 1 CEST}
- {3086985600 3600 0 CET}
- {3100291200 7200 1 CEST}
- {3118435200 3600 0 CET}
- {3131740800 7200 1 CEST}
- {3149884800 3600 0 CET}
- {3163190400 7200 1 CEST}
- {3181939200 3600 0 CET}
- {3194640000 7200 1 CEST}
- {3213388800 3600 0 CET}
- {3226089600 7200 1 CEST}
- {3244838400 3600 0 CET}
- {3258144000 7200 1 CEST}
- {3276288000 3600 0 CET}
- {3289593600 7200 1 CEST}
- {3307737600 3600 0 CET}
- {3321043200 7200 1 CEST}
- {3339187200 3600 0 CET}
- {3352492800 7200 1 CEST}
- {3371241600 3600 0 CET}
- {3383942400 7200 1 CEST}
- {3402691200 3600 0 CET}
- {3415392000 7200 1 CEST}
- {3434140800 3600 0 CET}
- {3447446400 7200 1 CEST}
- {3465590400 3600 0 CET}
- {3478896000 7200 1 CEST}
- {3497040000 3600 0 CET}
- {3510345600 7200 1 CEST}
- {3529094400 3600 0 CET}
- {3541795200 7200 1 CEST}
- {3560544000 3600 0 CET}
- {3573244800 7200 1 CEST}
- {3591993600 3600 0 CET}
- {3605299200 7200 1 CEST}
- {3623443200 3600 0 CET}
- {3636748800 7200 1 CEST}
- {3654892800 3600 0 CET}
- {3668198400 7200 1 CEST}
- {3686342400 3600 0 CET}
- {3699648000 7200 1 CEST}
- {3718396800 3600 0 CET}
- {3731097600 7200 1 CEST}
- {3749846400 3600 0 CET}
- {3762547200 7200 1 CEST}
- {3781296000 3600 0 CET}
- {3794601600 7200 1 CEST}
- {3812745600 3600 0 CET}
- {3826051200 7200 1 CEST}
- {3844195200 3600 0 CET}
- {3857500800 7200 1 CEST}
- {3876249600 3600 0 CET}
- {3888950400 7200 1 CEST}
- {3907699200 3600 0 CET}
- {3920400000 7200 1 CEST}
- {3939148800 3600 0 CET}
- {3951849600 7200 1 CEST}
- {3970598400 3600 0 CET}
- {3983904000 7200 1 CEST}
- {4002048000 3600 0 CET}
- {4015353600 7200 1 CEST}
- {4033497600 3600 0 CET}
- {4046803200 7200 1 CEST}
- {4065552000 3600 0 CET}
- {4078252800 7200 1 CEST}
- {4097001600 3600 0 CET}
+ {875916000 7200 0 EET}
}
diff --git a/library/tzdata/Africa/Tunis b/library/tzdata/Africa/Tunis
index 0c1db4d..8a7ec16 100644
--- a/library/tzdata/Africa/Tunis
+++ b/library/tzdata/Africa/Tunis
@@ -36,4 +36,184 @@ set TZData(:Africa/Tunis) {
{1193533200 3600 0 CET}
{1206838800 7200 1 CEST}
{1224982800 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
}
diff --git a/library/tzdata/America/Araguaina b/library/tzdata/America/Araguaina
index dc1b543..5073c56 100644
--- a/library/tzdata/America/Araguaina
+++ b/library/tzdata/America/Araguaina
@@ -54,179 +54,4 @@ set TZData(:America/Araguaina) {
{1036292400 -7200 1 BRST}
{1045360800 -10800 0 BRT}
{1064368800 -10800 0 BRT}
- {1350788400 -7200 0 BRST}
- {1361066400 -10800 0 BRT}
- {1382238000 -7200 1 BRST}
- {1392516000 -10800 0 BRT}
- {1413687600 -7200 1 BRST}
- {1424570400 -10800 0 BRT}
- {1445137200 -7200 1 BRST}
- {1456020000 -10800 0 BRT}
- {1476586800 -7200 1 BRST}
- {1487469600 -10800 0 BRT}
- {1508036400 -7200 1 BRST}
- {1518919200 -10800 0 BRT}
- {1540090800 -7200 1 BRST}
- {1550368800 -10800 0 BRT}
- {1571540400 -7200 1 BRST}
- {1581818400 -10800 0 BRT}
- {1602990000 -7200 1 BRST}
- {1613872800 -10800 0 BRT}
- {1634439600 -7200 1 BRST}
- {1645322400 -10800 0 BRT}
- {1665889200 -7200 1 BRST}
- {1677376800 -10800 0 BRT}
- {1697338800 -7200 1 BRST}
- {1708221600 -10800 0 BRT}
- {1729393200 -7200 1 BRST}
- {1739671200 -10800 0 BRT}
- {1760842800 -7200 1 BRST}
- {1771725600 -10800 0 BRT}
- {1792292400 -7200 1 BRST}
- {1803175200 -10800 0 BRT}
- {1823742000 -7200 1 BRST}
- {1834624800 -10800 0 BRT}
- {1855191600 -7200 1 BRST}
- {1866074400 -10800 0 BRT}
- {1887246000 -7200 1 BRST}
- {1897524000 -10800 0 BRT}
- {1918695600 -7200 1 BRST}
- {1928973600 -10800 0 BRT}
- {1950145200 -7200 1 BRST}
- {1960423200 -10800 0 BRT}
- {1981594800 -7200 1 BRST}
- {1992477600 -10800 0 BRT}
- {2013044400 -7200 1 BRST}
- {2024532000 -10800 0 BRT}
- {2044494000 -7200 1 BRST}
- {2055376800 -10800 0 BRT}
- {2076548400 -7200 1 BRST}
- {2086826400 -10800 0 BRT}
- {2107998000 -7200 1 BRST}
- {2118880800 -10800 0 BRT}
- {2139447600 -7200 1 BRST}
- {2150330400 -10800 0 BRT}
- {2170897200 -7200 1 BRST}
- {2181780000 -10800 0 BRT}
- {2202346800 -7200 1 BRST}
- {2213229600 -10800 0 BRT}
- {2234401200 -7200 1 BRST}
- {2244679200 -10800 0 BRT}
- {2265850800 -7200 1 BRST}
- {2276128800 -10800 0 BRT}
- {2297300400 -7200 1 BRST}
- {2307578400 -10800 0 BRT}
- {2328750000 -7200 1 BRST}
- {2339632800 -10800 0 BRT}
- {2360199600 -7200 1 BRST}
- {2371082400 -10800 0 BRT}
- {2391649200 -7200 1 BRST}
- {2402532000 -10800 0 BRT}
- {2423703600 -7200 1 BRST}
- {2433981600 -10800 0 BRT}
- {2455153200 -7200 1 BRST}
- {2465431200 -10800 0 BRT}
- {2486602800 -7200 1 BRST}
- {2497485600 -10800 0 BRT}
- {2518052400 -7200 1 BRST}
- {2528935200 -10800 0 BRT}
- {2549502000 -7200 1 BRST}
- {2560384800 -10800 0 BRT}
- {2580951600 -7200 1 BRST}
- {2591834400 -10800 0 BRT}
- {2613006000 -7200 1 BRST}
- {2623284000 -10800 0 BRT}
- {2644455600 -7200 1 BRST}
- {2654733600 -10800 0 BRT}
- {2675905200 -7200 1 BRST}
- {2686788000 -10800 0 BRT}
- {2707354800 -7200 1 BRST}
- {2718237600 -10800 0 BRT}
- {2738804400 -7200 1 BRST}
- {2749687200 -10800 0 BRT}
- {2770858800 -7200 1 BRST}
- {2781136800 -10800 0 BRT}
- {2802308400 -7200 1 BRST}
- {2812586400 -10800 0 BRT}
- {2833758000 -7200 1 BRST}
- {2844036000 -10800 0 BRT}
- {2865207600 -7200 1 BRST}
- {2876090400 -10800 0 BRT}
- {2896657200 -7200 1 BRST}
- {2907540000 -10800 0 BRT}
- {2928106800 -7200 1 BRST}
- {2938989600 -10800 0 BRT}
- {2960161200 -7200 1 BRST}
- {2970439200 -10800 0 BRT}
- {2991610800 -7200 1 BRST}
- {3001888800 -10800 0 BRT}
- {3023060400 -7200 1 BRST}
- {3033943200 -10800 0 BRT}
- {3054510000 -7200 1 BRST}
- {3065392800 -10800 0 BRT}
- {3085959600 -7200 1 BRST}
- {3096842400 -10800 0 BRT}
- {3118014000 -7200 1 BRST}
- {3128292000 -10800 0 BRT}
- {3149463600 -7200 1 BRST}
- {3159741600 -10800 0 BRT}
- {3180913200 -7200 1 BRST}
- {3191191200 -10800 0 BRT}
- {3212362800 -7200 1 BRST}
- {3223245600 -10800 0 BRT}
- {3243812400 -7200 1 BRST}
- {3254695200 -10800 0 BRT}
- {3275262000 -7200 1 BRST}
- {3286144800 -10800 0 BRT}
- {3307316400 -7200 1 BRST}
- {3317594400 -10800 0 BRT}
- {3338766000 -7200 1 BRST}
- {3349044000 -10800 0 BRT}
- {3370215600 -7200 1 BRST}
- {3381098400 -10800 0 BRT}
- {3401665200 -7200 1 BRST}
- {3412548000 -10800 0 BRT}
- {3433114800 -7200 1 BRST}
- {3443997600 -10800 0 BRT}
- {3464564400 -7200 1 BRST}
- {3475447200 -10800 0 BRT}
- {3496618800 -7200 1 BRST}
- {3506896800 -10800 0 BRT}
- {3528068400 -7200 1 BRST}
- {3538346400 -10800 0 BRT}
- {3559518000 -7200 1 BRST}
- {3570400800 -10800 0 BRT}
- {3590967600 -7200 1 BRST}
- {3601850400 -10800 0 BRT}
- {3622417200 -7200 1 BRST}
- {3633300000 -10800 0 BRT}
- {3654471600 -7200 1 BRST}
- {3664749600 -10800 0 BRT}
- {3685921200 -7200 1 BRST}
- {3696199200 -10800 0 BRT}
- {3717370800 -7200 1 BRST}
- {3727648800 -10800 0 BRT}
- {3748820400 -7200 1 BRST}
- {3759703200 -10800 0 BRT}
- {3780270000 -7200 1 BRST}
- {3791152800 -10800 0 BRT}
- {3811719600 -7200 1 BRST}
- {3822602400 -10800 0 BRT}
- {3843774000 -7200 1 BRST}
- {3854052000 -10800 0 BRT}
- {3875223600 -7200 1 BRST}
- {3885501600 -10800 0 BRT}
- {3906673200 -7200 1 BRST}
- {3917556000 -10800 0 BRT}
- {3938122800 -7200 1 BRST}
- {3949005600 -10800 0 BRT}
- {3969572400 -7200 1 BRST}
- {3980455200 -10800 0 BRT}
- {4001626800 -7200 1 BRST}
- {4011904800 -10800 0 BRT}
- {4033076400 -7200 1 BRST}
- {4043354400 -10800 0 BRT}
- {4064526000 -7200 1 BRST}
- {4074804000 -10800 0 BRT}
- {4095975600 -7200 1 BRST}
}
diff --git a/library/tzdata/America/Argentina/Buenos_Aires b/library/tzdata/America/Argentina/Buenos_Aires
index 73cc8e9..beccff3 100644
--- a/library/tzdata/America/Argentina/Buenos_Aires
+++ b/library/tzdata/America/Argentina/Buenos_Aires
@@ -64,4 +64,185 @@ set TZData(:America/Argentina/Buenos_Aires) {
{1205632800 -10800 0 ART}
{1224385200 -7200 1 ARST}
{1237082400 -10800 0 ART}
+ {1255834800 -7200 1 ARST}
+ {1269136800 -10800 0 ART}
+ {1287284400 -7200 1 ARST}
+ {1300586400 -10800 0 ART}
+ {1318734000 -7200 1 ARST}
+ {1332036000 -10800 0 ART}
+ {1350788400 -7200 1 ARST}
+ {1363485600 -10800 0 ART}
+ {1382238000 -7200 1 ARST}
+ {1394935200 -10800 0 ART}
+ {1413687600 -7200 1 ARST}
+ {1426384800 -10800 0 ART}
+ {1445137200 -7200 1 ARST}
+ {1458439200 -10800 0 ART}
+ {1476586800 -7200 1 ARST}
+ {1489888800 -10800 0 ART}
+ {1508036400 -7200 1 ARST}
+ {1521338400 -10800 0 ART}
+ {1540090800 -7200 1 ARST}
+ {1552788000 -10800 0 ART}
+ {1571540400 -7200 1 ARST}
+ {1584237600 -10800 0 ART}
+ {1602990000 -7200 1 ARST}
+ {1616292000 -10800 0 ART}
+ {1634439600 -7200 1 ARST}
+ {1647741600 -10800 0 ART}
+ {1665889200 -7200 1 ARST}
+ {1679191200 -10800 0 ART}
+ {1697338800 -7200 1 ARST}
+ {1710640800 -10800 0 ART}
+ {1729393200 -7200 1 ARST}
+ {1742090400 -10800 0 ART}
+ {1760842800 -7200 1 ARST}
+ {1773540000 -10800 0 ART}
+ {1792292400 -7200 1 ARST}
+ {1805594400 -10800 0 ART}
+ {1823742000 -7200 1 ARST}
+ {1837044000 -10800 0 ART}
+ {1855191600 -7200 1 ARST}
+ {1868493600 -10800 0 ART}
+ {1887246000 -7200 1 ARST}
+ {1899943200 -10800 0 ART}
+ {1918695600 -7200 1 ARST}
+ {1931392800 -10800 0 ART}
+ {1950145200 -7200 1 ARST}
+ {1963447200 -10800 0 ART}
+ {1981594800 -7200 1 ARST}
+ {1994896800 -10800 0 ART}
+ {2013044400 -7200 1 ARST}
+ {2026346400 -10800 0 ART}
+ {2044494000 -7200 1 ARST}
+ {2057796000 -10800 0 ART}
+ {2076548400 -7200 1 ARST}
+ {2089245600 -10800 0 ART}
+ {2107998000 -7200 1 ARST}
+ {2120695200 -10800 0 ART}
+ {2139447600 -7200 1 ARST}
+ {2152749600 -10800 0 ART}
+ {2170897200 -7200 1 ARST}
+ {2184199200 -10800 0 ART}
+ {2202346800 -7200 1 ARST}
+ {2215648800 -10800 0 ART}
+ {2234401200 -7200 1 ARST}
+ {2247098400 -10800 0 ART}
+ {2265850800 -7200 1 ARST}
+ {2278548000 -10800 0 ART}
+ {2297300400 -7200 1 ARST}
+ {2309997600 -10800 0 ART}
+ {2328750000 -7200 1 ARST}
+ {2342052000 -10800 0 ART}
+ {2360199600 -7200 1 ARST}
+ {2373501600 -10800 0 ART}
+ {2391649200 -7200 1 ARST}
+ {2404951200 -10800 0 ART}
+ {2423703600 -7200 1 ARST}
+ {2436400800 -10800 0 ART}
+ {2455153200 -7200 1 ARST}
+ {2467850400 -10800 0 ART}
+ {2486602800 -7200 1 ARST}
+ {2499904800 -10800 0 ART}
+ {2518052400 -7200 1 ARST}
+ {2531354400 -10800 0 ART}
+ {2549502000 -7200 1 ARST}
+ {2562804000 -10800 0 ART}
+ {2580951600 -7200 1 ARST}
+ {2594253600 -10800 0 ART}
+ {2613006000 -7200 1 ARST}
+ {2625703200 -10800 0 ART}
+ {2644455600 -7200 1 ARST}
+ {2657152800 -10800 0 ART}
+ {2675905200 -7200 1 ARST}
+ {2689207200 -10800 0 ART}
+ {2707354800 -7200 1 ARST}
+ {2720656800 -10800 0 ART}
+ {2738804400 -7200 1 ARST}
+ {2752106400 -10800 0 ART}
+ {2770858800 -7200 1 ARST}
+ {2783556000 -10800 0 ART}
+ {2802308400 -7200 1 ARST}
+ {2815005600 -10800 0 ART}
+ {2833758000 -7200 1 ARST}
+ {2847060000 -10800 0 ART}
+ {2865207600 -7200 1 ARST}
+ {2878509600 -10800 0 ART}
+ {2896657200 -7200 1 ARST}
+ {2909959200 -10800 0 ART}
+ {2928106800 -7200 1 ARST}
+ {2941408800 -10800 0 ART}
+ {2960161200 -7200 1 ARST}
+ {2972858400 -10800 0 ART}
+ {2991610800 -7200 1 ARST}
+ {3004308000 -10800 0 ART}
+ {3023060400 -7200 1 ARST}
+ {3036362400 -10800 0 ART}
+ {3054510000 -7200 1 ARST}
+ {3067812000 -10800 0 ART}
+ {3085959600 -7200 1 ARST}
+ {3099261600 -10800 0 ART}
+ {3118014000 -7200 1 ARST}
+ {3130711200 -10800 0 ART}
+ {3149463600 -7200 1 ARST}
+ {3162160800 -10800 0 ART}
+ {3180913200 -7200 1 ARST}
+ {3193610400 -10800 0 ART}
+ {3212362800 -7200 1 ARST}
+ {3225664800 -10800 0 ART}
+ {3243812400 -7200 1 ARST}
+ {3257114400 -10800 0 ART}
+ {3275262000 -7200 1 ARST}
+ {3288564000 -10800 0 ART}
+ {3307316400 -7200 1 ARST}
+ {3320013600 -10800 0 ART}
+ {3338766000 -7200 1 ARST}
+ {3351463200 -10800 0 ART}
+ {3370215600 -7200 1 ARST}
+ {3383517600 -10800 0 ART}
+ {3401665200 -7200 1 ARST}
+ {3414967200 -10800 0 ART}
+ {3433114800 -7200 1 ARST}
+ {3446416800 -10800 0 ART}
+ {3464564400 -7200 1 ARST}
+ {3477866400 -10800 0 ART}
+ {3496618800 -7200 1 ARST}
+ {3509316000 -10800 0 ART}
+ {3528068400 -7200 1 ARST}
+ {3540765600 -10800 0 ART}
+ {3559518000 -7200 1 ARST}
+ {3572820000 -10800 0 ART}
+ {3590967600 -7200 1 ARST}
+ {3604269600 -10800 0 ART}
+ {3622417200 -7200 1 ARST}
+ {3635719200 -10800 0 ART}
+ {3654471600 -7200 1 ARST}
+ {3667168800 -10800 0 ART}
+ {3685921200 -7200 1 ARST}
+ {3698618400 -10800 0 ART}
+ {3717370800 -7200 1 ARST}
+ {3730672800 -10800 0 ART}
+ {3748820400 -7200 1 ARST}
+ {3762122400 -10800 0 ART}
+ {3780270000 -7200 1 ARST}
+ {3793572000 -10800 0 ART}
+ {3811719600 -7200 1 ARST}
+ {3825021600 -10800 0 ART}
+ {3843774000 -7200 1 ARST}
+ {3856471200 -10800 0 ART}
+ {3875223600 -7200 1 ARST}
+ {3887920800 -10800 0 ART}
+ {3906673200 -7200 1 ARST}
+ {3919975200 -10800 0 ART}
+ {3938122800 -7200 1 ARST}
+ {3951424800 -10800 0 ART}
+ {3969572400 -7200 1 ARST}
+ {3982874400 -10800 0 ART}
+ {4001626800 -7200 1 ARST}
+ {4014324000 -10800 0 ART}
+ {4033076400 -7200 1 ARST}
+ {4045773600 -10800 0 ART}
+ {4064526000 -7200 1 ARST}
+ {4077223200 -10800 0 ART}
+ {4095975600 -7200 1 ARST}
}
diff --git a/library/tzdata/America/Argentina/Cordoba b/library/tzdata/America/Argentina/Cordoba
index b08539e..798ee86 100644
--- a/library/tzdata/America/Argentina/Cordoba
+++ b/library/tzdata/America/Argentina/Cordoba
@@ -64,4 +64,185 @@ set TZData(:America/Argentina/Cordoba) {
{1205632800 -10800 0 ART}
{1224385200 -7200 1 ARST}
{1237082400 -10800 0 ART}
+ {1255834800 -7200 1 ARST}
+ {1269136800 -10800 0 ART}
+ {1287284400 -7200 1 ARST}
+ {1300586400 -10800 0 ART}
+ {1318734000 -7200 1 ARST}
+ {1332036000 -10800 0 ART}
+ {1350788400 -7200 1 ARST}
+ {1363485600 -10800 0 ART}
+ {1382238000 -7200 1 ARST}
+ {1394935200 -10800 0 ART}
+ {1413687600 -7200 1 ARST}
+ {1426384800 -10800 0 ART}
+ {1445137200 -7200 1 ARST}
+ {1458439200 -10800 0 ART}
+ {1476586800 -7200 1 ARST}
+ {1489888800 -10800 0 ART}
+ {1508036400 -7200 1 ARST}
+ {1521338400 -10800 0 ART}
+ {1540090800 -7200 1 ARST}
+ {1552788000 -10800 0 ART}
+ {1571540400 -7200 1 ARST}
+ {1584237600 -10800 0 ART}
+ {1602990000 -7200 1 ARST}
+ {1616292000 -10800 0 ART}
+ {1634439600 -7200 1 ARST}
+ {1647741600 -10800 0 ART}
+ {1665889200 -7200 1 ARST}
+ {1679191200 -10800 0 ART}
+ {1697338800 -7200 1 ARST}
+ {1710640800 -10800 0 ART}
+ {1729393200 -7200 1 ARST}
+ {1742090400 -10800 0 ART}
+ {1760842800 -7200 1 ARST}
+ {1773540000 -10800 0 ART}
+ {1792292400 -7200 1 ARST}
+ {1805594400 -10800 0 ART}
+ {1823742000 -7200 1 ARST}
+ {1837044000 -10800 0 ART}
+ {1855191600 -7200 1 ARST}
+ {1868493600 -10800 0 ART}
+ {1887246000 -7200 1 ARST}
+ {1899943200 -10800 0 ART}
+ {1918695600 -7200 1 ARST}
+ {1931392800 -10800 0 ART}
+ {1950145200 -7200 1 ARST}
+ {1963447200 -10800 0 ART}
+ {1981594800 -7200 1 ARST}
+ {1994896800 -10800 0 ART}
+ {2013044400 -7200 1 ARST}
+ {2026346400 -10800 0 ART}
+ {2044494000 -7200 1 ARST}
+ {2057796000 -10800 0 ART}
+ {2076548400 -7200 1 ARST}
+ {2089245600 -10800 0 ART}
+ {2107998000 -7200 1 ARST}
+ {2120695200 -10800 0 ART}
+ {2139447600 -7200 1 ARST}
+ {2152749600 -10800 0 ART}
+ {2170897200 -7200 1 ARST}
+ {2184199200 -10800 0 ART}
+ {2202346800 -7200 1 ARST}
+ {2215648800 -10800 0 ART}
+ {2234401200 -7200 1 ARST}
+ {2247098400 -10800 0 ART}
+ {2265850800 -7200 1 ARST}
+ {2278548000 -10800 0 ART}
+ {2297300400 -7200 1 ARST}
+ {2309997600 -10800 0 ART}
+ {2328750000 -7200 1 ARST}
+ {2342052000 -10800 0 ART}
+ {2360199600 -7200 1 ARST}
+ {2373501600 -10800 0 ART}
+ {2391649200 -7200 1 ARST}
+ {2404951200 -10800 0 ART}
+ {2423703600 -7200 1 ARST}
+ {2436400800 -10800 0 ART}
+ {2455153200 -7200 1 ARST}
+ {2467850400 -10800 0 ART}
+ {2486602800 -7200 1 ARST}
+ {2499904800 -10800 0 ART}
+ {2518052400 -7200 1 ARST}
+ {2531354400 -10800 0 ART}
+ {2549502000 -7200 1 ARST}
+ {2562804000 -10800 0 ART}
+ {2580951600 -7200 1 ARST}
+ {2594253600 -10800 0 ART}
+ {2613006000 -7200 1 ARST}
+ {2625703200 -10800 0 ART}
+ {2644455600 -7200 1 ARST}
+ {2657152800 -10800 0 ART}
+ {2675905200 -7200 1 ARST}
+ {2689207200 -10800 0 ART}
+ {2707354800 -7200 1 ARST}
+ {2720656800 -10800 0 ART}
+ {2738804400 -7200 1 ARST}
+ {2752106400 -10800 0 ART}
+ {2770858800 -7200 1 ARST}
+ {2783556000 -10800 0 ART}
+ {2802308400 -7200 1 ARST}
+ {2815005600 -10800 0 ART}
+ {2833758000 -7200 1 ARST}
+ {2847060000 -10800 0 ART}
+ {2865207600 -7200 1 ARST}
+ {2878509600 -10800 0 ART}
+ {2896657200 -7200 1 ARST}
+ {2909959200 -10800 0 ART}
+ {2928106800 -7200 1 ARST}
+ {2941408800 -10800 0 ART}
+ {2960161200 -7200 1 ARST}
+ {2972858400 -10800 0 ART}
+ {2991610800 -7200 1 ARST}
+ {3004308000 -10800 0 ART}
+ {3023060400 -7200 1 ARST}
+ {3036362400 -10800 0 ART}
+ {3054510000 -7200 1 ARST}
+ {3067812000 -10800 0 ART}
+ {3085959600 -7200 1 ARST}
+ {3099261600 -10800 0 ART}
+ {3118014000 -7200 1 ARST}
+ {3130711200 -10800 0 ART}
+ {3149463600 -7200 1 ARST}
+ {3162160800 -10800 0 ART}
+ {3180913200 -7200 1 ARST}
+ {3193610400 -10800 0 ART}
+ {3212362800 -7200 1 ARST}
+ {3225664800 -10800 0 ART}
+ {3243812400 -7200 1 ARST}
+ {3257114400 -10800 0 ART}
+ {3275262000 -7200 1 ARST}
+ {3288564000 -10800 0 ART}
+ {3307316400 -7200 1 ARST}
+ {3320013600 -10800 0 ART}
+ {3338766000 -7200 1 ARST}
+ {3351463200 -10800 0 ART}
+ {3370215600 -7200 1 ARST}
+ {3383517600 -10800 0 ART}
+ {3401665200 -7200 1 ARST}
+ {3414967200 -10800 0 ART}
+ {3433114800 -7200 1 ARST}
+ {3446416800 -10800 0 ART}
+ {3464564400 -7200 1 ARST}
+ {3477866400 -10800 0 ART}
+ {3496618800 -7200 1 ARST}
+ {3509316000 -10800 0 ART}
+ {3528068400 -7200 1 ARST}
+ {3540765600 -10800 0 ART}
+ {3559518000 -7200 1 ARST}
+ {3572820000 -10800 0 ART}
+ {3590967600 -7200 1 ARST}
+ {3604269600 -10800 0 ART}
+ {3622417200 -7200 1 ARST}
+ {3635719200 -10800 0 ART}
+ {3654471600 -7200 1 ARST}
+ {3667168800 -10800 0 ART}
+ {3685921200 -7200 1 ARST}
+ {3698618400 -10800 0 ART}
+ {3717370800 -7200 1 ARST}
+ {3730672800 -10800 0 ART}
+ {3748820400 -7200 1 ARST}
+ {3762122400 -10800 0 ART}
+ {3780270000 -7200 1 ARST}
+ {3793572000 -10800 0 ART}
+ {3811719600 -7200 1 ARST}
+ {3825021600 -10800 0 ART}
+ {3843774000 -7200 1 ARST}
+ {3856471200 -10800 0 ART}
+ {3875223600 -7200 1 ARST}
+ {3887920800 -10800 0 ART}
+ {3906673200 -7200 1 ARST}
+ {3919975200 -10800 0 ART}
+ {3938122800 -7200 1 ARST}
+ {3951424800 -10800 0 ART}
+ {3969572400 -7200 1 ARST}
+ {3982874400 -10800 0 ART}
+ {4001626800 -7200 1 ARST}
+ {4014324000 -10800 0 ART}
+ {4033076400 -7200 1 ARST}
+ {4045773600 -10800 0 ART}
+ {4064526000 -7200 1 ARST}
+ {4077223200 -10800 0 ART}
+ {4095975600 -7200 1 ARST}
}
diff --git a/library/tzdata/America/Argentina/San_Luis b/library/tzdata/America/Argentina/San_Luis
index bec1554..1d06652 100644
--- a/library/tzdata/America/Argentina/San_Luis
+++ b/library/tzdata/America/Argentina/San_Luis
@@ -60,9 +60,188 @@ set TZData(:America/Argentina/San_Luis) {
{1085972400 -14400 0 WART}
{1090728000 -10800 0 ART}
{1198983600 -7200 1 ARST}
- {1200880800 -10800 0 WART}
- {1205031600 -14400 0 WART}
- {1223784000 -10800 1 WARST}
- {1236481200 -14400 0 WART}
- {1255233600 -10800 1 WARST}
+ {1200880800 -10800 0 ART}
+ {1237086000 -14400 0 WART}
+ {1237089600 -14400 0 WART}
+ {1255838400 -10800 1 WARST}
+ {1269140400 -14400 0 WART}
+ {1287288000 -10800 1 WARST}
+ {1300590000 -14400 0 WART}
+ {1318737600 -10800 1 WARST}
+ {1332039600 -14400 0 WART}
+ {1350792000 -10800 1 WARST}
+ {1363489200 -14400 0 WART}
+ {1382241600 -10800 1 WARST}
+ {1394938800 -14400 0 WART}
+ {1413691200 -10800 1 WARST}
+ {1426388400 -14400 0 WART}
+ {1445140800 -10800 1 WARST}
+ {1458442800 -14400 0 WART}
+ {1476590400 -10800 1 WARST}
+ {1489892400 -14400 0 WART}
+ {1508040000 -10800 1 WARST}
+ {1521342000 -14400 0 WART}
+ {1540094400 -10800 1 WARST}
+ {1552791600 -14400 0 WART}
+ {1571544000 -10800 1 WARST}
+ {1584241200 -14400 0 WART}
+ {1602993600 -10800 1 WARST}
+ {1616295600 -14400 0 WART}
+ {1634443200 -10800 1 WARST}
+ {1647745200 -14400 0 WART}
+ {1665892800 -10800 1 WARST}
+ {1679194800 -14400 0 WART}
+ {1697342400 -10800 1 WARST}
+ {1710644400 -14400 0 WART}
+ {1729396800 -10800 1 WARST}
+ {1742094000 -14400 0 WART}
+ {1760846400 -10800 1 WARST}
+ {1773543600 -14400 0 WART}
+ {1792296000 -10800 1 WARST}
+ {1805598000 -14400 0 WART}
+ {1823745600 -10800 1 WARST}
+ {1837047600 -14400 0 WART}
+ {1855195200 -10800 1 WARST}
+ {1868497200 -14400 0 WART}
+ {1887249600 -10800 1 WARST}
+ {1899946800 -14400 0 WART}
+ {1918699200 -10800 1 WARST}
+ {1931396400 -14400 0 WART}
+ {1950148800 -10800 1 WARST}
+ {1963450800 -14400 0 WART}
+ {1981598400 -10800 1 WARST}
+ {1994900400 -14400 0 WART}
+ {2013048000 -10800 1 WARST}
+ {2026350000 -14400 0 WART}
+ {2044497600 -10800 1 WARST}
+ {2057799600 -14400 0 WART}
+ {2076552000 -10800 1 WARST}
+ {2089249200 -14400 0 WART}
+ {2108001600 -10800 1 WARST}
+ {2120698800 -14400 0 WART}
+ {2139451200 -10800 1 WARST}
+ {2152753200 -14400 0 WART}
+ {2170900800 -10800 1 WARST}
+ {2184202800 -14400 0 WART}
+ {2202350400 -10800 1 WARST}
+ {2215652400 -14400 0 WART}
+ {2234404800 -10800 1 WARST}
+ {2247102000 -14400 0 WART}
+ {2265854400 -10800 1 WARST}
+ {2278551600 -14400 0 WART}
+ {2297304000 -10800 1 WARST}
+ {2310001200 -14400 0 WART}
+ {2328753600 -10800 1 WARST}
+ {2342055600 -14400 0 WART}
+ {2360203200 -10800 1 WARST}
+ {2373505200 -14400 0 WART}
+ {2391652800 -10800 1 WARST}
+ {2404954800 -14400 0 WART}
+ {2423707200 -10800 1 WARST}
+ {2436404400 -14400 0 WART}
+ {2455156800 -10800 1 WARST}
+ {2467854000 -14400 0 WART}
+ {2486606400 -10800 1 WARST}
+ {2499908400 -14400 0 WART}
+ {2518056000 -10800 1 WARST}
+ {2531358000 -14400 0 WART}
+ {2549505600 -10800 1 WARST}
+ {2562807600 -14400 0 WART}
+ {2580955200 -10800 1 WARST}
+ {2594257200 -14400 0 WART}
+ {2613009600 -10800 1 WARST}
+ {2625706800 -14400 0 WART}
+ {2644459200 -10800 1 WARST}
+ {2657156400 -14400 0 WART}
+ {2675908800 -10800 1 WARST}
+ {2689210800 -14400 0 WART}
+ {2707358400 -10800 1 WARST}
+ {2720660400 -14400 0 WART}
+ {2738808000 -10800 1 WARST}
+ {2752110000 -14400 0 WART}
+ {2770862400 -10800 1 WARST}
+ {2783559600 -14400 0 WART}
+ {2802312000 -10800 1 WARST}
+ {2815009200 -14400 0 WART}
+ {2833761600 -10800 1 WARST}
+ {2847063600 -14400 0 WART}
+ {2865211200 -10800 1 WARST}
+ {2878513200 -14400 0 WART}
+ {2896660800 -10800 1 WARST}
+ {2909962800 -14400 0 WART}
+ {2928110400 -10800 1 WARST}
+ {2941412400 -14400 0 WART}
+ {2960164800 -10800 1 WARST}
+ {2972862000 -14400 0 WART}
+ {2991614400 -10800 1 WARST}
+ {3004311600 -14400 0 WART}
+ {3023064000 -10800 1 WARST}
+ {3036366000 -14400 0 WART}
+ {3054513600 -10800 1 WARST}
+ {3067815600 -14400 0 WART}
+ {3085963200 -10800 1 WARST}
+ {3099265200 -14400 0 WART}
+ {3118017600 -10800 1 WARST}
+ {3130714800 -14400 0 WART}
+ {3149467200 -10800 1 WARST}
+ {3162164400 -14400 0 WART}
+ {3180916800 -10800 1 WARST}
+ {3193614000 -14400 0 WART}
+ {3212366400 -10800 1 WARST}
+ {3225668400 -14400 0 WART}
+ {3243816000 -10800 1 WARST}
+ {3257118000 -14400 0 WART}
+ {3275265600 -10800 1 WARST}
+ {3288567600 -14400 0 WART}
+ {3307320000 -10800 1 WARST}
+ {3320017200 -14400 0 WART}
+ {3338769600 -10800 1 WARST}
+ {3351466800 -14400 0 WART}
+ {3370219200 -10800 1 WARST}
+ {3383521200 -14400 0 WART}
+ {3401668800 -10800 1 WARST}
+ {3414970800 -14400 0 WART}
+ {3433118400 -10800 1 WARST}
+ {3446420400 -14400 0 WART}
+ {3464568000 -10800 1 WARST}
+ {3477870000 -14400 0 WART}
+ {3496622400 -10800 1 WARST}
+ {3509319600 -14400 0 WART}
+ {3528072000 -10800 1 WARST}
+ {3540769200 -14400 0 WART}
+ {3559521600 -10800 1 WARST}
+ {3572823600 -14400 0 WART}
+ {3590971200 -10800 1 WARST}
+ {3604273200 -14400 0 WART}
+ {3622420800 -10800 1 WARST}
+ {3635722800 -14400 0 WART}
+ {3654475200 -10800 1 WARST}
+ {3667172400 -14400 0 WART}
+ {3685924800 -10800 1 WARST}
+ {3698622000 -14400 0 WART}
+ {3717374400 -10800 1 WARST}
+ {3730676400 -14400 0 WART}
+ {3748824000 -10800 1 WARST}
+ {3762126000 -14400 0 WART}
+ {3780273600 -10800 1 WARST}
+ {3793575600 -14400 0 WART}
+ {3811723200 -10800 1 WARST}
+ {3825025200 -14400 0 WART}
+ {3843777600 -10800 1 WARST}
+ {3856474800 -14400 0 WART}
+ {3875227200 -10800 1 WARST}
+ {3887924400 -14400 0 WART}
+ {3906676800 -10800 1 WARST}
+ {3919978800 -14400 0 WART}
+ {3938126400 -10800 1 WARST}
+ {3951428400 -14400 0 WART}
+ {3969576000 -10800 1 WARST}
+ {3982878000 -14400 0 WART}
+ {4001630400 -10800 1 WARST}
+ {4014327600 -14400 0 WART}
+ {4033080000 -10800 1 WARST}
+ {4045777200 -14400 0 WART}
+ {4064529600 -10800 1 WARST}
+ {4077226800 -14400 0 WART}
+ {4095979200 -10800 1 WARST}
}
diff --git a/library/tzdata/America/Argentina/Tucuman b/library/tzdata/America/Argentina/Tucuman
index 3500986..6d12cb6 100644
--- a/library/tzdata/America/Argentina/Tucuman
+++ b/library/tzdata/America/Argentina/Tucuman
@@ -66,4 +66,185 @@ set TZData(:America/Argentina/Tucuman) {
{1205632800 -10800 0 ART}
{1224385200 -7200 1 ARST}
{1237082400 -10800 0 ART}
+ {1255834800 -7200 1 ARST}
+ {1269136800 -10800 0 ART}
+ {1287284400 -7200 1 ARST}
+ {1300586400 -10800 0 ART}
+ {1318734000 -7200 1 ARST}
+ {1332036000 -10800 0 ART}
+ {1350788400 -7200 1 ARST}
+ {1363485600 -10800 0 ART}
+ {1382238000 -7200 1 ARST}
+ {1394935200 -10800 0 ART}
+ {1413687600 -7200 1 ARST}
+ {1426384800 -10800 0 ART}
+ {1445137200 -7200 1 ARST}
+ {1458439200 -10800 0 ART}
+ {1476586800 -7200 1 ARST}
+ {1489888800 -10800 0 ART}
+ {1508036400 -7200 1 ARST}
+ {1521338400 -10800 0 ART}
+ {1540090800 -7200 1 ARST}
+ {1552788000 -10800 0 ART}
+ {1571540400 -7200 1 ARST}
+ {1584237600 -10800 0 ART}
+ {1602990000 -7200 1 ARST}
+ {1616292000 -10800 0 ART}
+ {1634439600 -7200 1 ARST}
+ {1647741600 -10800 0 ART}
+ {1665889200 -7200 1 ARST}
+ {1679191200 -10800 0 ART}
+ {1697338800 -7200 1 ARST}
+ {1710640800 -10800 0 ART}
+ {1729393200 -7200 1 ARST}
+ {1742090400 -10800 0 ART}
+ {1760842800 -7200 1 ARST}
+ {1773540000 -10800 0 ART}
+ {1792292400 -7200 1 ARST}
+ {1805594400 -10800 0 ART}
+ {1823742000 -7200 1 ARST}
+ {1837044000 -10800 0 ART}
+ {1855191600 -7200 1 ARST}
+ {1868493600 -10800 0 ART}
+ {1887246000 -7200 1 ARST}
+ {1899943200 -10800 0 ART}
+ {1918695600 -7200 1 ARST}
+ {1931392800 -10800 0 ART}
+ {1950145200 -7200 1 ARST}
+ {1963447200 -10800 0 ART}
+ {1981594800 -7200 1 ARST}
+ {1994896800 -10800 0 ART}
+ {2013044400 -7200 1 ARST}
+ {2026346400 -10800 0 ART}
+ {2044494000 -7200 1 ARST}
+ {2057796000 -10800 0 ART}
+ {2076548400 -7200 1 ARST}
+ {2089245600 -10800 0 ART}
+ {2107998000 -7200 1 ARST}
+ {2120695200 -10800 0 ART}
+ {2139447600 -7200 1 ARST}
+ {2152749600 -10800 0 ART}
+ {2170897200 -7200 1 ARST}
+ {2184199200 -10800 0 ART}
+ {2202346800 -7200 1 ARST}
+ {2215648800 -10800 0 ART}
+ {2234401200 -7200 1 ARST}
+ {2247098400 -10800 0 ART}
+ {2265850800 -7200 1 ARST}
+ {2278548000 -10800 0 ART}
+ {2297300400 -7200 1 ARST}
+ {2309997600 -10800 0 ART}
+ {2328750000 -7200 1 ARST}
+ {2342052000 -10800 0 ART}
+ {2360199600 -7200 1 ARST}
+ {2373501600 -10800 0 ART}
+ {2391649200 -7200 1 ARST}
+ {2404951200 -10800 0 ART}
+ {2423703600 -7200 1 ARST}
+ {2436400800 -10800 0 ART}
+ {2455153200 -7200 1 ARST}
+ {2467850400 -10800 0 ART}
+ {2486602800 -7200 1 ARST}
+ {2499904800 -10800 0 ART}
+ {2518052400 -7200 1 ARST}
+ {2531354400 -10800 0 ART}
+ {2549502000 -7200 1 ARST}
+ {2562804000 -10800 0 ART}
+ {2580951600 -7200 1 ARST}
+ {2594253600 -10800 0 ART}
+ {2613006000 -7200 1 ARST}
+ {2625703200 -10800 0 ART}
+ {2644455600 -7200 1 ARST}
+ {2657152800 -10800 0 ART}
+ {2675905200 -7200 1 ARST}
+ {2689207200 -10800 0 ART}
+ {2707354800 -7200 1 ARST}
+ {2720656800 -10800 0 ART}
+ {2738804400 -7200 1 ARST}
+ {2752106400 -10800 0 ART}
+ {2770858800 -7200 1 ARST}
+ {2783556000 -10800 0 ART}
+ {2802308400 -7200 1 ARST}
+ {2815005600 -10800 0 ART}
+ {2833758000 -7200 1 ARST}
+ {2847060000 -10800 0 ART}
+ {2865207600 -7200 1 ARST}
+ {2878509600 -10800 0 ART}
+ {2896657200 -7200 1 ARST}
+ {2909959200 -10800 0 ART}
+ {2928106800 -7200 1 ARST}
+ {2941408800 -10800 0 ART}
+ {2960161200 -7200 1 ARST}
+ {2972858400 -10800 0 ART}
+ {2991610800 -7200 1 ARST}
+ {3004308000 -10800 0 ART}
+ {3023060400 -7200 1 ARST}
+ {3036362400 -10800 0 ART}
+ {3054510000 -7200 1 ARST}
+ {3067812000 -10800 0 ART}
+ {3085959600 -7200 1 ARST}
+ {3099261600 -10800 0 ART}
+ {3118014000 -7200 1 ARST}
+ {3130711200 -10800 0 ART}
+ {3149463600 -7200 1 ARST}
+ {3162160800 -10800 0 ART}
+ {3180913200 -7200 1 ARST}
+ {3193610400 -10800 0 ART}
+ {3212362800 -7200 1 ARST}
+ {3225664800 -10800 0 ART}
+ {3243812400 -7200 1 ARST}
+ {3257114400 -10800 0 ART}
+ {3275262000 -7200 1 ARST}
+ {3288564000 -10800 0 ART}
+ {3307316400 -7200 1 ARST}
+ {3320013600 -10800 0 ART}
+ {3338766000 -7200 1 ARST}
+ {3351463200 -10800 0 ART}
+ {3370215600 -7200 1 ARST}
+ {3383517600 -10800 0 ART}
+ {3401665200 -7200 1 ARST}
+ {3414967200 -10800 0 ART}
+ {3433114800 -7200 1 ARST}
+ {3446416800 -10800 0 ART}
+ {3464564400 -7200 1 ARST}
+ {3477866400 -10800 0 ART}
+ {3496618800 -7200 1 ARST}
+ {3509316000 -10800 0 ART}
+ {3528068400 -7200 1 ARST}
+ {3540765600 -10800 0 ART}
+ {3559518000 -7200 1 ARST}
+ {3572820000 -10800 0 ART}
+ {3590967600 -7200 1 ARST}
+ {3604269600 -10800 0 ART}
+ {3622417200 -7200 1 ARST}
+ {3635719200 -10800 0 ART}
+ {3654471600 -7200 1 ARST}
+ {3667168800 -10800 0 ART}
+ {3685921200 -7200 1 ARST}
+ {3698618400 -10800 0 ART}
+ {3717370800 -7200 1 ARST}
+ {3730672800 -10800 0 ART}
+ {3748820400 -7200 1 ARST}
+ {3762122400 -10800 0 ART}
+ {3780270000 -7200 1 ARST}
+ {3793572000 -10800 0 ART}
+ {3811719600 -7200 1 ARST}
+ {3825021600 -10800 0 ART}
+ {3843774000 -7200 1 ARST}
+ {3856471200 -10800 0 ART}
+ {3875223600 -7200 1 ARST}
+ {3887920800 -10800 0 ART}
+ {3906673200 -7200 1 ARST}
+ {3919975200 -10800 0 ART}
+ {3938122800 -7200 1 ARST}
+ {3951424800 -10800 0 ART}
+ {3969572400 -7200 1 ARST}
+ {3982874400 -10800 0 ART}
+ {4001626800 -7200 1 ARST}
+ {4014324000 -10800 0 ART}
+ {4033076400 -7200 1 ARST}
+ {4045773600 -10800 0 ART}
+ {4064526000 -7200 1 ARST}
+ {4077223200 -10800 0 ART}
+ {4095975600 -7200 1 ARST}
}
diff --git a/library/tzdata/America/Asuncion b/library/tzdata/America/Asuncion
index 9ea30da..fde228c 100644
--- a/library/tzdata/America/Asuncion
+++ b/library/tzdata/America/Asuncion
@@ -76,184 +76,184 @@ set TZData(:America/Asuncion) {
{1224388800 -10800 1 PYST}
{1236481200 -14400 0 PYT}
{1255838400 -10800 1 PYST}
- {1270954800 -14400 0 PYT}
- {1286078400 -10800 1 PYST}
- {1302404400 -14400 0 PYT}
- {1317528000 -10800 1 PYST}
- {1333854000 -14400 0 PYT}
- {1349582400 -10800 1 PYST}
- {1364094000 -14400 0 PYT}
- {1381032000 -10800 1 PYST}
- {1395543600 -14400 0 PYT}
- {1412481600 -10800 1 PYST}
- {1426993200 -14400 0 PYT}
- {1443931200 -10800 1 PYST}
- {1459047600 -14400 0 PYT}
- {1475380800 -10800 1 PYST}
- {1490497200 -14400 0 PYT}
- {1506830400 -10800 1 PYST}
- {1521946800 -14400 0 PYT}
- {1538884800 -10800 1 PYST}
- {1553396400 -14400 0 PYT}
- {1570334400 -10800 1 PYST}
- {1584846000 -14400 0 PYT}
- {1601784000 -10800 1 PYST}
- {1616900400 -14400 0 PYT}
- {1633233600 -10800 1 PYST}
- {1648350000 -14400 0 PYT}
- {1664683200 -10800 1 PYST}
- {1679799600 -14400 0 PYT}
- {1696132800 -10800 1 PYST}
- {1711249200 -14400 0 PYT}
- {1728187200 -10800 1 PYST}
- {1742698800 -14400 0 PYT}
- {1759636800 -10800 1 PYST}
- {1774148400 -14400 0 PYT}
- {1791086400 -10800 1 PYST}
- {1806202800 -14400 0 PYT}
- {1822536000 -10800 1 PYST}
- {1837652400 -14400 0 PYT}
- {1853985600 -10800 1 PYST}
- {1869102000 -14400 0 PYT}
- {1886040000 -10800 1 PYST}
- {1900551600 -14400 0 PYT}
- {1917489600 -10800 1 PYST}
- {1932001200 -14400 0 PYT}
- {1948939200 -10800 1 PYST}
- {1964055600 -14400 0 PYT}
- {1980388800 -10800 1 PYST}
- {1995505200 -14400 0 PYT}
- {2011838400 -10800 1 PYST}
- {2026954800 -14400 0 PYT}
- {2043288000 -10800 1 PYST}
- {2058404400 -14400 0 PYT}
- {2075342400 -10800 1 PYST}
- {2089854000 -14400 0 PYT}
- {2106792000 -10800 1 PYST}
- {2121303600 -14400 0 PYT}
- {2138241600 -10800 1 PYST}
- {2153358000 -14400 0 PYT}
- {2169691200 -10800 1 PYST}
- {2184807600 -14400 0 PYT}
- {2201140800 -10800 1 PYST}
- {2216257200 -14400 0 PYT}
- {2233195200 -10800 1 PYST}
- {2247706800 -14400 0 PYT}
- {2264644800 -10800 1 PYST}
- {2279156400 -14400 0 PYT}
- {2296094400 -10800 1 PYST}
- {2310606000 -14400 0 PYT}
- {2327544000 -10800 1 PYST}
- {2342660400 -14400 0 PYT}
- {2358993600 -10800 1 PYST}
- {2374110000 -14400 0 PYT}
- {2390443200 -10800 1 PYST}
- {2405559600 -14400 0 PYT}
- {2422497600 -10800 1 PYST}
- {2437009200 -14400 0 PYT}
- {2453947200 -10800 1 PYST}
- {2468458800 -14400 0 PYT}
- {2485396800 -10800 1 PYST}
- {2500513200 -14400 0 PYT}
- {2516846400 -10800 1 PYST}
- {2531962800 -14400 0 PYT}
- {2548296000 -10800 1 PYST}
- {2563412400 -14400 0 PYT}
- {2579745600 -10800 1 PYST}
- {2594862000 -14400 0 PYT}
- {2611800000 -10800 1 PYST}
- {2626311600 -14400 0 PYT}
- {2643249600 -10800 1 PYST}
- {2657761200 -14400 0 PYT}
- {2674699200 -10800 1 PYST}
- {2689815600 -14400 0 PYT}
- {2706148800 -10800 1 PYST}
- {2721265200 -14400 0 PYT}
- {2737598400 -10800 1 PYST}
- {2752714800 -14400 0 PYT}
- {2769652800 -10800 1 PYST}
- {2784164400 -14400 0 PYT}
- {2801102400 -10800 1 PYST}
- {2815614000 -14400 0 PYT}
- {2832552000 -10800 1 PYST}
- {2847668400 -14400 0 PYT}
- {2864001600 -10800 1 PYST}
- {2879118000 -14400 0 PYT}
- {2895451200 -10800 1 PYST}
- {2910567600 -14400 0 PYT}
- {2926900800 -10800 1 PYST}
- {2942017200 -14400 0 PYT}
- {2958955200 -10800 1 PYST}
- {2973466800 -14400 0 PYT}
- {2990404800 -10800 1 PYST}
- {3004916400 -14400 0 PYT}
- {3021854400 -10800 1 PYST}
- {3036970800 -14400 0 PYT}
- {3053304000 -10800 1 PYST}
- {3068420400 -14400 0 PYT}
- {3084753600 -10800 1 PYST}
- {3099870000 -14400 0 PYT}
- {3116808000 -10800 1 PYST}
- {3131319600 -14400 0 PYT}
- {3148257600 -10800 1 PYST}
- {3162769200 -14400 0 PYT}
- {3179707200 -10800 1 PYST}
- {3194218800 -14400 0 PYT}
- {3211156800 -10800 1 PYST}
- {3226273200 -14400 0 PYT}
- {3242606400 -10800 1 PYST}
- {3257722800 -14400 0 PYT}
- {3274056000 -10800 1 PYST}
- {3289172400 -14400 0 PYT}
- {3306110400 -10800 1 PYST}
- {3320622000 -14400 0 PYT}
- {3337560000 -10800 1 PYST}
- {3352071600 -14400 0 PYT}
- {3369009600 -10800 1 PYST}
- {3384126000 -14400 0 PYT}
- {3400459200 -10800 1 PYST}
- {3415575600 -14400 0 PYT}
- {3431908800 -10800 1 PYST}
- {3447025200 -14400 0 PYT}
- {3463358400 -10800 1 PYST}
- {3478474800 -14400 0 PYT}
- {3495412800 -10800 1 PYST}
- {3509924400 -14400 0 PYT}
- {3526862400 -10800 1 PYST}
- {3541374000 -14400 0 PYT}
- {3558312000 -10800 1 PYST}
- {3573428400 -14400 0 PYT}
- {3589761600 -10800 1 PYST}
- {3604878000 -14400 0 PYT}
- {3621211200 -10800 1 PYST}
- {3636327600 -14400 0 PYT}
- {3653265600 -10800 1 PYST}
- {3667777200 -14400 0 PYT}
- {3684715200 -10800 1 PYST}
- {3699226800 -14400 0 PYT}
- {3716164800 -10800 1 PYST}
- {3731281200 -14400 0 PYT}
- {3747614400 -10800 1 PYST}
- {3762730800 -14400 0 PYT}
- {3779064000 -10800 1 PYST}
- {3794180400 -14400 0 PYT}
- {3810513600 -10800 1 PYST}
- {3825630000 -14400 0 PYT}
- {3842568000 -10800 1 PYST}
- {3857079600 -14400 0 PYT}
- {3874017600 -10800 1 PYST}
- {3888529200 -14400 0 PYT}
- {3905467200 -10800 1 PYST}
- {3920583600 -14400 0 PYT}
- {3936916800 -10800 1 PYST}
- {3952033200 -14400 0 PYT}
- {3968366400 -10800 1 PYST}
- {3983482800 -14400 0 PYT}
- {4000420800 -10800 1 PYST}
- {4014932400 -14400 0 PYT}
- {4031870400 -10800 1 PYST}
- {4046382000 -14400 0 PYT}
- {4063320000 -10800 1 PYST}
- {4077831600 -14400 0 PYT}
- {4094769600 -10800 1 PYST}
+ {1268535600 -14400 0 PYT}
+ {1287288000 -10800 1 PYST}
+ {1299985200 -14400 0 PYT}
+ {1318737600 -10800 1 PYST}
+ {1331434800 -14400 0 PYT}
+ {1350792000 -10800 1 PYST}
+ {1362884400 -14400 0 PYT}
+ {1382241600 -10800 1 PYST}
+ {1394334000 -14400 0 PYT}
+ {1413691200 -10800 1 PYST}
+ {1425783600 -14400 0 PYT}
+ {1445140800 -10800 1 PYST}
+ {1457838000 -14400 0 PYT}
+ {1476590400 -10800 1 PYST}
+ {1489287600 -14400 0 PYT}
+ {1508040000 -10800 1 PYST}
+ {1520737200 -14400 0 PYT}
+ {1540094400 -10800 1 PYST}
+ {1552186800 -14400 0 PYT}
+ {1571544000 -10800 1 PYST}
+ {1583636400 -14400 0 PYT}
+ {1602993600 -10800 1 PYST}
+ {1615690800 -14400 0 PYT}
+ {1634443200 -10800 1 PYST}
+ {1647140400 -14400 0 PYT}
+ {1665892800 -10800 1 PYST}
+ {1678590000 -14400 0 PYT}
+ {1697342400 -10800 1 PYST}
+ {1710039600 -14400 0 PYT}
+ {1729396800 -10800 1 PYST}
+ {1741489200 -14400 0 PYT}
+ {1760846400 -10800 1 PYST}
+ {1772938800 -14400 0 PYT}
+ {1792296000 -10800 1 PYST}
+ {1804993200 -14400 0 PYT}
+ {1823745600 -10800 1 PYST}
+ {1836442800 -14400 0 PYT}
+ {1855195200 -10800 1 PYST}
+ {1867892400 -14400 0 PYT}
+ {1887249600 -10800 1 PYST}
+ {1899342000 -14400 0 PYT}
+ {1918699200 -10800 1 PYST}
+ {1930791600 -14400 0 PYT}
+ {1950148800 -10800 1 PYST}
+ {1962846000 -14400 0 PYT}
+ {1981598400 -10800 1 PYST}
+ {1994295600 -14400 0 PYT}
+ {2013048000 -10800 1 PYST}
+ {2025745200 -14400 0 PYT}
+ {2044497600 -10800 1 PYST}
+ {2057194800 -14400 0 PYT}
+ {2076552000 -10800 1 PYST}
+ {2088644400 -14400 0 PYT}
+ {2108001600 -10800 1 PYST}
+ {2120094000 -14400 0 PYT}
+ {2139451200 -10800 1 PYST}
+ {2152148400 -14400 0 PYT}
+ {2170900800 -10800 1 PYST}
+ {2183598000 -14400 0 PYT}
+ {2202350400 -10800 1 PYST}
+ {2215047600 -14400 0 PYT}
+ {2234404800 -10800 1 PYST}
+ {2246497200 -14400 0 PYT}
+ {2265854400 -10800 1 PYST}
+ {2277946800 -14400 0 PYT}
+ {2297304000 -10800 1 PYST}
+ {2309396400 -14400 0 PYT}
+ {2328753600 -10800 1 PYST}
+ {2341450800 -14400 0 PYT}
+ {2360203200 -10800 1 PYST}
+ {2372900400 -14400 0 PYT}
+ {2391652800 -10800 1 PYST}
+ {2404350000 -14400 0 PYT}
+ {2423707200 -10800 1 PYST}
+ {2435799600 -14400 0 PYT}
+ {2455156800 -10800 1 PYST}
+ {2467249200 -14400 0 PYT}
+ {2486606400 -10800 1 PYST}
+ {2499303600 -14400 0 PYT}
+ {2518056000 -10800 1 PYST}
+ {2530753200 -14400 0 PYT}
+ {2549505600 -10800 1 PYST}
+ {2562202800 -14400 0 PYT}
+ {2580955200 -10800 1 PYST}
+ {2593652400 -14400 0 PYT}
+ {2613009600 -10800 1 PYST}
+ {2625102000 -14400 0 PYT}
+ {2644459200 -10800 1 PYST}
+ {2656551600 -14400 0 PYT}
+ {2675908800 -10800 1 PYST}
+ {2688606000 -14400 0 PYT}
+ {2707358400 -10800 1 PYST}
+ {2720055600 -14400 0 PYT}
+ {2738808000 -10800 1 PYST}
+ {2751505200 -14400 0 PYT}
+ {2770862400 -10800 1 PYST}
+ {2782954800 -14400 0 PYT}
+ {2802312000 -10800 1 PYST}
+ {2814404400 -14400 0 PYT}
+ {2833761600 -10800 1 PYST}
+ {2846458800 -14400 0 PYT}
+ {2865211200 -10800 1 PYST}
+ {2877908400 -14400 0 PYT}
+ {2896660800 -10800 1 PYST}
+ {2909358000 -14400 0 PYT}
+ {2928110400 -10800 1 PYST}
+ {2940807600 -14400 0 PYT}
+ {2960164800 -10800 1 PYST}
+ {2972257200 -14400 0 PYT}
+ {2991614400 -10800 1 PYST}
+ {3003706800 -14400 0 PYT}
+ {3023064000 -10800 1 PYST}
+ {3035761200 -14400 0 PYT}
+ {3054513600 -10800 1 PYST}
+ {3067210800 -14400 0 PYT}
+ {3085963200 -10800 1 PYST}
+ {3098660400 -14400 0 PYT}
+ {3118017600 -10800 1 PYST}
+ {3130110000 -14400 0 PYT}
+ {3149467200 -10800 1 PYST}
+ {3161559600 -14400 0 PYT}
+ {3180916800 -10800 1 PYST}
+ {3193009200 -14400 0 PYT}
+ {3212366400 -10800 1 PYST}
+ {3225063600 -14400 0 PYT}
+ {3243816000 -10800 1 PYST}
+ {3256513200 -14400 0 PYT}
+ {3275265600 -10800 1 PYST}
+ {3287962800 -14400 0 PYT}
+ {3307320000 -10800 1 PYST}
+ {3319412400 -14400 0 PYT}
+ {3338769600 -10800 1 PYST}
+ {3350862000 -14400 0 PYT}
+ {3370219200 -10800 1 PYST}
+ {3382916400 -14400 0 PYT}
+ {3401668800 -10800 1 PYST}
+ {3414366000 -14400 0 PYT}
+ {3433118400 -10800 1 PYST}
+ {3445815600 -14400 0 PYT}
+ {3464568000 -10800 1 PYST}
+ {3477265200 -14400 0 PYT}
+ {3496622400 -10800 1 PYST}
+ {3508714800 -14400 0 PYT}
+ {3528072000 -10800 1 PYST}
+ {3540164400 -14400 0 PYT}
+ {3559521600 -10800 1 PYST}
+ {3572218800 -14400 0 PYT}
+ {3590971200 -10800 1 PYST}
+ {3603668400 -14400 0 PYT}
+ {3622420800 -10800 1 PYST}
+ {3635118000 -14400 0 PYT}
+ {3654475200 -10800 1 PYST}
+ {3666567600 -14400 0 PYT}
+ {3685924800 -10800 1 PYST}
+ {3698017200 -14400 0 PYT}
+ {3717374400 -10800 1 PYST}
+ {3730071600 -14400 0 PYT}
+ {3748824000 -10800 1 PYST}
+ {3761521200 -14400 0 PYT}
+ {3780273600 -10800 1 PYST}
+ {3792970800 -14400 0 PYT}
+ {3811723200 -10800 1 PYST}
+ {3824420400 -14400 0 PYT}
+ {3843777600 -10800 1 PYST}
+ {3855870000 -14400 0 PYT}
+ {3875227200 -10800 1 PYST}
+ {3887319600 -14400 0 PYT}
+ {3906676800 -10800 1 PYST}
+ {3919374000 -14400 0 PYT}
+ {3938126400 -10800 1 PYST}
+ {3950823600 -14400 0 PYT}
+ {3969576000 -10800 1 PYST}
+ {3982273200 -14400 0 PYT}
+ {4001630400 -10800 1 PYST}
+ {4013722800 -14400 0 PYT}
+ {4033080000 -10800 1 PYST}
+ {4045172400 -14400 0 PYT}
+ {4064529600 -10800 1 PYST}
+ {4076622000 -14400 0 PYT}
+ {4095979200 -10800 1 PYST}
}
diff --git a/library/tzdata/America/Atikokan b/library/tzdata/America/Atikokan
index e72b04f..ca0ac1c 100755
--- a/library/tzdata/America/Atikokan
+++ b/library/tzdata/America/Atikokan
@@ -4,7 +4,7 @@ set TZData(:America/Atikokan) {
{-9223372036854775808 -21988 0 LMT}
{-2366733212 -21600 0 CST}
{-1632067200 -18000 1 CDT}
- {-1615136400 -21600 0 CST}
+ {-1614790800 -21600 0 CST}
{-923248800 -18000 1 CDT}
{-880214400 -18000 0 CWT}
{-769395600 -18000 1 CPT}
diff --git a/library/tzdata/America/Bahia b/library/tzdata/America/Bahia
index ac67b71..b10a939 100644
--- a/library/tzdata/America/Bahia
+++ b/library/tzdata/America/Bahia
@@ -62,7 +62,4 @@ set TZData(:America/Bahia) {
{1036292400 -7200 1 BRST}
{1045360800 -10800 0 BRT}
{1064368800 -10800 0 BRT}
- {1318734000 -7200 0 BRST}
- {1330221600 -10800 0 BRT}
- {1350784800 -10800 0 BRT}
}
diff --git a/library/tzdata/America/Bahia_Banderas b/library/tzdata/America/Bahia_Banderas
deleted file mode 100644
index 8c40a0e..0000000
--- a/library/tzdata/America/Bahia_Banderas
+++ /dev/null
@@ -1,222 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:America/Bahia_Banderas) {
- {-9223372036854775808 -25260 0 LMT}
- {-1514739600 -25200 0 MST}
- {-1343066400 -21600 0 CST}
- {-1234807200 -25200 0 MST}
- {-1220292000 -21600 0 CST}
- {-1207159200 -25200 0 MST}
- {-1191344400 -21600 0 CST}
- {-873828000 -25200 0 MST}
- {-661539600 -28800 0 PST}
- {28800 -25200 0 MST}
- {828867600 -21600 1 MDT}
- {846403200 -25200 0 MST}
- {860317200 -21600 1 MDT}
- {877852800 -25200 0 MST}
- {891766800 -21600 1 MDT}
- {909302400 -25200 0 MST}
- {923216400 -21600 1 MDT}
- {941356800 -25200 0 MST}
- {954666000 -21600 1 MDT}
- {972806400 -25200 0 MST}
- {989139600 -21600 1 MDT}
- {1001836800 -25200 0 MST}
- {1018170000 -21600 1 MDT}
- {1035705600 -25200 0 MST}
- {1049619600 -21600 1 MDT}
- {1067155200 -25200 0 MST}
- {1081069200 -21600 1 MDT}
- {1099209600 -25200 0 MST}
- {1112518800 -21600 1 MDT}
- {1130659200 -25200 0 MST}
- {1143968400 -21600 1 MDT}
- {1162108800 -25200 0 MST}
- {1175418000 -21600 1 MDT}
- {1193558400 -25200 0 MST}
- {1207472400 -21600 1 MDT}
- {1225008000 -25200 0 MST}
- {1238922000 -21600 1 MDT}
- {1256457600 -25200 0 MST}
- {1270371600 -18000 0 CDT}
- {1288508400 -21600 0 CST}
- {1301817600 -18000 1 CDT}
- {1319958000 -21600 0 CST}
- {1333267200 -18000 1 CDT}
- {1351407600 -21600 0 CST}
- {1365321600 -18000 1 CDT}
- {1382857200 -21600 0 CST}
- {1396771200 -18000 1 CDT}
- {1414306800 -21600 0 CST}
- {1428220800 -18000 1 CDT}
- {1445756400 -21600 0 CST}
- {1459670400 -18000 1 CDT}
- {1477810800 -21600 0 CST}
- {1491120000 -18000 1 CDT}
- {1509260400 -21600 0 CST}
- {1522569600 -18000 1 CDT}
- {1540710000 -21600 0 CST}
- {1554624000 -18000 1 CDT}
- {1572159600 -21600 0 CST}
- {1586073600 -18000 1 CDT}
- {1603609200 -21600 0 CST}
- {1617523200 -18000 1 CDT}
- {1635663600 -21600 0 CST}
- {1648972800 -18000 1 CDT}
- {1667113200 -21600 0 CST}
- {1680422400 -18000 1 CDT}
- {1698562800 -21600 0 CST}
- {1712476800 -18000 1 CDT}
- {1730012400 -21600 0 CST}
- {1743926400 -18000 1 CDT}
- {1761462000 -21600 0 CST}
- {1775376000 -18000 1 CDT}
- {1792911600 -21600 0 CST}
- {1806825600 -18000 1 CDT}
- {1824966000 -21600 0 CST}
- {1838275200 -18000 1 CDT}
- {1856415600 -21600 0 CST}
- {1869724800 -18000 1 CDT}
- {1887865200 -21600 0 CST}
- {1901779200 -18000 1 CDT}
- {1919314800 -21600 0 CST}
- {1933228800 -18000 1 CDT}
- {1950764400 -21600 0 CST}
- {1964678400 -18000 1 CDT}
- {1982818800 -21600 0 CST}
- {1996128000 -18000 1 CDT}
- {2014268400 -21600 0 CST}
- {2027577600 -18000 1 CDT}
- {2045718000 -21600 0 CST}
- {2059027200 -18000 1 CDT}
- {2077167600 -21600 0 CST}
- {2091081600 -18000 1 CDT}
- {2108617200 -21600 0 CST}
- {2122531200 -18000 1 CDT}
- {2140066800 -21600 0 CST}
- {2153980800 -18000 1 CDT}
- {2172121200 -21600 0 CST}
- {2185430400 -18000 1 CDT}
- {2203570800 -21600 0 CST}
- {2216880000 -18000 1 CDT}
- {2235020400 -21600 0 CST}
- {2248934400 -18000 1 CDT}
- {2266470000 -21600 0 CST}
- {2280384000 -18000 1 CDT}
- {2297919600 -21600 0 CST}
- {2311833600 -18000 1 CDT}
- {2329369200 -21600 0 CST}
- {2343283200 -18000 1 CDT}
- {2361423600 -21600 0 CST}
- {2374732800 -18000 1 CDT}
- {2392873200 -21600 0 CST}
- {2406182400 -18000 1 CDT}
- {2424322800 -21600 0 CST}
- {2438236800 -18000 1 CDT}
- {2455772400 -21600 0 CST}
- {2469686400 -18000 1 CDT}
- {2487222000 -21600 0 CST}
- {2501136000 -18000 1 CDT}
- {2519276400 -21600 0 CST}
- {2532585600 -18000 1 CDT}
- {2550726000 -21600 0 CST}
- {2564035200 -18000 1 CDT}
- {2582175600 -21600 0 CST}
- {2596089600 -18000 1 CDT}
- {2613625200 -21600 0 CST}
- {2627539200 -18000 1 CDT}
- {2645074800 -21600 0 CST}
- {2658988800 -18000 1 CDT}
- {2676524400 -21600 0 CST}
- {2690438400 -18000 1 CDT}
- {2708578800 -21600 0 CST}
- {2721888000 -18000 1 CDT}
- {2740028400 -21600 0 CST}
- {2753337600 -18000 1 CDT}
- {2771478000 -21600 0 CST}
- {2785392000 -18000 1 CDT}
- {2802927600 -21600 0 CST}
- {2816841600 -18000 1 CDT}
- {2834377200 -21600 0 CST}
- {2848291200 -18000 1 CDT}
- {2866431600 -21600 0 CST}
- {2879740800 -18000 1 CDT}
- {2897881200 -21600 0 CST}
- {2911190400 -18000 1 CDT}
- {2929330800 -21600 0 CST}
- {2942640000 -18000 1 CDT}
- {2960780400 -21600 0 CST}
- {2974694400 -18000 1 CDT}
- {2992230000 -21600 0 CST}
- {3006144000 -18000 1 CDT}
- {3023679600 -21600 0 CST}
- {3037593600 -18000 1 CDT}
- {3055734000 -21600 0 CST}
- {3069043200 -18000 1 CDT}
- {3087183600 -21600 0 CST}
- {3100492800 -18000 1 CDT}
- {3118633200 -21600 0 CST}
- {3132547200 -18000 1 CDT}
- {3150082800 -21600 0 CST}
- {3163996800 -18000 1 CDT}
- {3181532400 -21600 0 CST}
- {3195446400 -18000 1 CDT}
- {3212982000 -21600 0 CST}
- {3226896000 -18000 1 CDT}
- {3245036400 -21600 0 CST}
- {3258345600 -18000 1 CDT}
- {3276486000 -21600 0 CST}
- {3289795200 -18000 1 CDT}
- {3307935600 -21600 0 CST}
- {3321849600 -18000 1 CDT}
- {3339385200 -21600 0 CST}
- {3353299200 -18000 1 CDT}
- {3370834800 -21600 0 CST}
- {3384748800 -18000 1 CDT}
- {3402889200 -21600 0 CST}
- {3416198400 -18000 1 CDT}
- {3434338800 -21600 0 CST}
- {3447648000 -18000 1 CDT}
- {3465788400 -21600 0 CST}
- {3479702400 -18000 1 CDT}
- {3497238000 -21600 0 CST}
- {3511152000 -18000 1 CDT}
- {3528687600 -21600 0 CST}
- {3542601600 -18000 1 CDT}
- {3560137200 -21600 0 CST}
- {3574051200 -18000 1 CDT}
- {3592191600 -21600 0 CST}
- {3605500800 -18000 1 CDT}
- {3623641200 -21600 0 CST}
- {3636950400 -18000 1 CDT}
- {3655090800 -21600 0 CST}
- {3669004800 -18000 1 CDT}
- {3686540400 -21600 0 CST}
- {3700454400 -18000 1 CDT}
- {3717990000 -21600 0 CST}
- {3731904000 -18000 1 CDT}
- {3750044400 -21600 0 CST}
- {3763353600 -18000 1 CDT}
- {3781494000 -21600 0 CST}
- {3794803200 -18000 1 CDT}
- {3812943600 -21600 0 CST}
- {3826252800 -18000 1 CDT}
- {3844393200 -21600 0 CST}
- {3858307200 -18000 1 CDT}
- {3875842800 -21600 0 CST}
- {3889756800 -18000 1 CDT}
- {3907292400 -21600 0 CST}
- {3921206400 -18000 1 CDT}
- {3939346800 -21600 0 CST}
- {3952656000 -18000 1 CDT}
- {3970796400 -21600 0 CST}
- {3984105600 -18000 1 CDT}
- {4002246000 -21600 0 CST}
- {4016160000 -18000 1 CDT}
- {4033695600 -21600 0 CST}
- {4047609600 -18000 1 CDT}
- {4065145200 -21600 0 CST}
- {4079059200 -18000 1 CDT}
- {4096594800 -21600 0 CST}
-}
diff --git a/library/tzdata/America/Barbados b/library/tzdata/America/Barbados
index ea17073..5c06408 100644
--- a/library/tzdata/America/Barbados
+++ b/library/tzdata/America/Barbados
@@ -1,9 +1,9 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Barbados) {
- {-9223372036854775808 -14309 0 LMT}
- {-1451678491 -14309 0 BMT}
- {-1199217691 -14400 0 AST}
+ {-9223372036854775808 -14308 0 LMT}
+ {-1451678492 -14308 0 BMT}
+ {-1199217692 -14400 0 AST}
{234943200 -10800 1 ADT}
{244616400 -14400 0 AST}
{261554400 -10800 1 ADT}
diff --git a/library/tzdata/America/Blanc-Sablon b/library/tzdata/America/Blanc-Sablon
index d5485e8..47f161a 100755
--- a/library/tzdata/America/Blanc-Sablon
+++ b/library/tzdata/America/Blanc-Sablon
@@ -4,7 +4,7 @@ set TZData(:America/Blanc-Sablon) {
{-9223372036854775808 -13708 0 LMT}
{-2713896692 -14400 0 AST}
{-1632074400 -10800 1 ADT}
- {-1615143600 -14400 0 AST}
+ {-1614798000 -14400 0 AST}
{-880221600 -10800 1 AWT}
{-769395600 -10800 1 APT}
{-765399600 -14400 0 AST}
diff --git a/library/tzdata/America/Bogota b/library/tzdata/America/Bogota
index b28abc1..f727d17 100644
--- a/library/tzdata/America/Bogota
+++ b/library/tzdata/America/Bogota
@@ -1,9 +1,9 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Bogota) {
- {-9223372036854775808 -17776 0 LMT}
- {-2707671824 -17776 0 BMT}
- {-1739041424 -18000 0 COT}
+ {-9223372036854775808 -17780 0 LMT}
+ {-2707671820 -17780 0 BMT}
+ {-1739041420 -18000 0 COT}
{704869200 -14400 1 COST}
{733896000 -18000 0 COT}
}
diff --git a/library/tzdata/America/Costa_Rica b/library/tzdata/America/Costa_Rica
index 8fc9343..04420a4 100644
--- a/library/tzdata/America/Costa_Rica
+++ b/library/tzdata/America/Costa_Rica
@@ -1,9 +1,9 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Costa_Rica) {
- {-9223372036854775808 -20173 0 LMT}
- {-2524501427 -20173 0 SJMT}
- {-1545071027 -21600 0 CST}
+ {-9223372036854775808 -20180 0 LMT}
+ {-2524501420 -20180 0 SJMT}
+ {-1545071020 -21600 0 CST}
{288770400 -18000 1 CDT}
{297234000 -21600 0 CST}
{320220000 -18000 1 CDT}
diff --git a/library/tzdata/America/Creston b/library/tzdata/America/Creston
deleted file mode 100644
index 30369a9..0000000
--- a/library/tzdata/America/Creston
+++ /dev/null
@@ -1,8 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:America/Creston) {
- {-9223372036854775808 -27964 0 LMT}
- {-2713882436 -25200 0 MST}
- {-1680454800 -28800 0 PST}
- {-1627833600 -25200 0 MST}
-}
diff --git a/library/tzdata/America/Curacao b/library/tzdata/America/Curacao
index 5189e9c..443a319 100644
--- a/library/tzdata/America/Curacao
+++ b/library/tzdata/America/Curacao
@@ -1,7 +1,7 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Curacao) {
- {-9223372036854775808 -16547 0 LMT}
- {-1826738653 -16200 0 ANT}
+ {-9223372036854775808 -16544 0 LMT}
+ {-1826738656 -16200 0 ANT}
{-157750200 -14400 0 AST}
}
diff --git a/library/tzdata/America/Dawson_Creek b/library/tzdata/America/Dawson_Creek
index a0b5c44..9f8c921 100644
--- a/library/tzdata/America/Dawson_Creek
+++ b/library/tzdata/America/Dawson_Creek
@@ -4,7 +4,7 @@ set TZData(:America/Dawson_Creek) {
{-9223372036854775808 -28856 0 LMT}
{-2713881544 -28800 0 PST}
{-1632060000 -25200 1 PDT}
- {-1615129200 -28800 0 PST}
+ {-1614783600 -28800 0 PST}
{-880207200 -25200 1 PWT}
{-769395600 -25200 1 PPT}
{-765385200 -28800 0 PST}
diff --git a/library/tzdata/America/Edmonton b/library/tzdata/America/Edmonton
index 1ed38be..c4252f8 100644
--- a/library/tzdata/America/Edmonton
+++ b/library/tzdata/America/Edmonton
@@ -4,7 +4,7 @@ set TZData(:America/Edmonton) {
{-9223372036854775808 -27232 0 LMT}
{-1998663968 -25200 0 MST}
{-1632063600 -21600 1 MDT}
- {-1615132800 -25200 0 MST}
+ {-1614787200 -25200 0 MST}
{-1600614000 -21600 1 MDT}
{-1596816000 -25200 0 MST}
{-1567954800 -21600 1 MDT}
diff --git a/library/tzdata/America/Glace_Bay b/library/tzdata/America/Glace_Bay
index 8ee9eec..84b4822 100644
--- a/library/tzdata/America/Glace_Bay
+++ b/library/tzdata/America/Glace_Bay
@@ -4,7 +4,7 @@ set TZData(:America/Glace_Bay) {
{-9223372036854775808 -14388 0 LMT}
{-2131646412 -14400 0 AST}
{-1632074400 -10800 1 ADT}
- {-1615143600 -14400 0 AST}
+ {-1614798000 -14400 0 AST}
{-880221600 -10800 1 AWT}
{-769395600 -10800 1 APT}
{-765399600 -14400 0 AST}
diff --git a/library/tzdata/America/Goose_Bay b/library/tzdata/America/Goose_Bay
index 7b7b3d8..f93b612 100644
--- a/library/tzdata/America/Goose_Bay
+++ b/library/tzdata/America/Goose_Bay
@@ -5,7 +5,7 @@ set TZData(:America/Goose_Bay) {
{-2713895900 -12652 0 NST}
{-1640982548 -12652 0 NST}
{-1632076148 -9052 1 NDT}
- {-1615145348 -12652 0 NST}
+ {-1614799748 -12652 0 NST}
{-1609446548 -12652 0 NST}
{-1096921748 -12600 0 NST}
{-1072989000 -12600 0 NST}
@@ -157,182 +157,181 @@ set TZData(:America/Goose_Bay) {
{1268539260 -10800 1 ADT}
{1289098860 -14400 0 AST}
{1299988860 -10800 1 ADT}
- {1320116400 -10800 0 ADT}
- {1320555600 -14400 0 AST}
- {1331445600 -10800 1 ADT}
- {1352005200 -14400 0 AST}
- {1362895200 -10800 1 ADT}
- {1383454800 -14400 0 AST}
- {1394344800 -10800 1 ADT}
- {1414904400 -14400 0 AST}
- {1425794400 -10800 1 ADT}
- {1446354000 -14400 0 AST}
- {1457848800 -10800 1 ADT}
- {1478408400 -14400 0 AST}
- {1489298400 -10800 1 ADT}
- {1509858000 -14400 0 AST}
- {1520748000 -10800 1 ADT}
- {1541307600 -14400 0 AST}
- {1552197600 -10800 1 ADT}
- {1572757200 -14400 0 AST}
- {1583647200 -10800 1 ADT}
- {1604206800 -14400 0 AST}
- {1615701600 -10800 1 ADT}
- {1636261200 -14400 0 AST}
- {1647151200 -10800 1 ADT}
- {1667710800 -14400 0 AST}
- {1678600800 -10800 1 ADT}
- {1699160400 -14400 0 AST}
- {1710050400 -10800 1 ADT}
- {1730610000 -14400 0 AST}
- {1741500000 -10800 1 ADT}
- {1762059600 -14400 0 AST}
- {1772949600 -10800 1 ADT}
- {1793509200 -14400 0 AST}
- {1805004000 -10800 1 ADT}
- {1825563600 -14400 0 AST}
- {1836453600 -10800 1 ADT}
- {1857013200 -14400 0 AST}
- {1867903200 -10800 1 ADT}
- {1888462800 -14400 0 AST}
- {1899352800 -10800 1 ADT}
- {1919912400 -14400 0 AST}
- {1930802400 -10800 1 ADT}
- {1951362000 -14400 0 AST}
- {1962856800 -10800 1 ADT}
- {1983416400 -14400 0 AST}
- {1994306400 -10800 1 ADT}
- {2014866000 -14400 0 AST}
- {2025756000 -10800 1 ADT}
- {2046315600 -14400 0 AST}
- {2057205600 -10800 1 ADT}
- {2077765200 -14400 0 AST}
- {2088655200 -10800 1 ADT}
- {2109214800 -14400 0 AST}
- {2120104800 -10800 1 ADT}
- {2140664400 -14400 0 AST}
- {2152159200 -10800 1 ADT}
- {2172718800 -14400 0 AST}
- {2183608800 -10800 1 ADT}
- {2204168400 -14400 0 AST}
- {2215058400 -10800 1 ADT}
- {2235618000 -14400 0 AST}
- {2246508000 -10800 1 ADT}
- {2267067600 -14400 0 AST}
- {2277957600 -10800 1 ADT}
- {2298517200 -14400 0 AST}
- {2309407200 -10800 1 ADT}
- {2329966800 -14400 0 AST}
- {2341461600 -10800 1 ADT}
- {2362021200 -14400 0 AST}
- {2372911200 -10800 1 ADT}
- {2393470800 -14400 0 AST}
- {2404360800 -10800 1 ADT}
- {2424920400 -14400 0 AST}
- {2435810400 -10800 1 ADT}
- {2456370000 -14400 0 AST}
- {2467260000 -10800 1 ADT}
- {2487819600 -14400 0 AST}
- {2499314400 -10800 1 ADT}
- {2519874000 -14400 0 AST}
- {2530764000 -10800 1 ADT}
- {2551323600 -14400 0 AST}
- {2562213600 -10800 1 ADT}
- {2582773200 -14400 0 AST}
- {2593663200 -10800 1 ADT}
- {2614222800 -14400 0 AST}
- {2625112800 -10800 1 ADT}
- {2645672400 -14400 0 AST}
- {2656562400 -10800 1 ADT}
- {2677122000 -14400 0 AST}
- {2688616800 -10800 1 ADT}
- {2709176400 -14400 0 AST}
- {2720066400 -10800 1 ADT}
- {2740626000 -14400 0 AST}
- {2751516000 -10800 1 ADT}
- {2772075600 -14400 0 AST}
- {2782965600 -10800 1 ADT}
- {2803525200 -14400 0 AST}
- {2814415200 -10800 1 ADT}
- {2834974800 -14400 0 AST}
- {2846469600 -10800 1 ADT}
- {2867029200 -14400 0 AST}
- {2877919200 -10800 1 ADT}
- {2898478800 -14400 0 AST}
- {2909368800 -10800 1 ADT}
- {2929928400 -14400 0 AST}
- {2940818400 -10800 1 ADT}
- {2961378000 -14400 0 AST}
- {2972268000 -10800 1 ADT}
- {2992827600 -14400 0 AST}
- {3003717600 -10800 1 ADT}
- {3024277200 -14400 0 AST}
- {3035772000 -10800 1 ADT}
- {3056331600 -14400 0 AST}
- {3067221600 -10800 1 ADT}
- {3087781200 -14400 0 AST}
- {3098671200 -10800 1 ADT}
- {3119230800 -14400 0 AST}
- {3130120800 -10800 1 ADT}
- {3150680400 -14400 0 AST}
- {3161570400 -10800 1 ADT}
- {3182130000 -14400 0 AST}
- {3193020000 -10800 1 ADT}
- {3213579600 -14400 0 AST}
- {3225074400 -10800 1 ADT}
- {3245634000 -14400 0 AST}
- {3256524000 -10800 1 ADT}
- {3277083600 -14400 0 AST}
- {3287973600 -10800 1 ADT}
- {3308533200 -14400 0 AST}
- {3319423200 -10800 1 ADT}
- {3339982800 -14400 0 AST}
- {3350872800 -10800 1 ADT}
- {3371432400 -14400 0 AST}
- {3382927200 -10800 1 ADT}
- {3403486800 -14400 0 AST}
- {3414376800 -10800 1 ADT}
- {3434936400 -14400 0 AST}
- {3445826400 -10800 1 ADT}
- {3466386000 -14400 0 AST}
- {3477276000 -10800 1 ADT}
- {3497835600 -14400 0 AST}
- {3508725600 -10800 1 ADT}
- {3529285200 -14400 0 AST}
- {3540175200 -10800 1 ADT}
- {3560734800 -14400 0 AST}
- {3572229600 -10800 1 ADT}
- {3592789200 -14400 0 AST}
- {3603679200 -10800 1 ADT}
- {3624238800 -14400 0 AST}
- {3635128800 -10800 1 ADT}
- {3655688400 -14400 0 AST}
- {3666578400 -10800 1 ADT}
- {3687138000 -14400 0 AST}
- {3698028000 -10800 1 ADT}
- {3718587600 -14400 0 AST}
- {3730082400 -10800 1 ADT}
- {3750642000 -14400 0 AST}
- {3761532000 -10800 1 ADT}
- {3782091600 -14400 0 AST}
- {3792981600 -10800 1 ADT}
- {3813541200 -14400 0 AST}
- {3824431200 -10800 1 ADT}
- {3844990800 -14400 0 AST}
- {3855880800 -10800 1 ADT}
- {3876440400 -14400 0 AST}
- {3887330400 -10800 1 ADT}
- {3907890000 -14400 0 AST}
- {3919384800 -10800 1 ADT}
- {3939944400 -14400 0 AST}
- {3950834400 -10800 1 ADT}
- {3971394000 -14400 0 AST}
- {3982284000 -10800 1 ADT}
- {4002843600 -14400 0 AST}
- {4013733600 -10800 1 ADT}
- {4034293200 -14400 0 AST}
- {4045183200 -10800 1 ADT}
- {4065742800 -14400 0 AST}
- {4076632800 -10800 1 ADT}
- {4097192400 -14400 0 AST}
+ {1320548460 -14400 0 AST}
+ {1331438460 -10800 1 ADT}
+ {1351998060 -14400 0 AST}
+ {1362888060 -10800 1 ADT}
+ {1383447660 -14400 0 AST}
+ {1394337660 -10800 1 ADT}
+ {1414897260 -14400 0 AST}
+ {1425787260 -10800 1 ADT}
+ {1446346860 -14400 0 AST}
+ {1457841660 -10800 1 ADT}
+ {1478401260 -14400 0 AST}
+ {1489291260 -10800 1 ADT}
+ {1509850860 -14400 0 AST}
+ {1520740860 -10800 1 ADT}
+ {1541300460 -14400 0 AST}
+ {1552190460 -10800 1 ADT}
+ {1572750060 -14400 0 AST}
+ {1583640060 -10800 1 ADT}
+ {1604199660 -14400 0 AST}
+ {1615694460 -10800 1 ADT}
+ {1636254060 -14400 0 AST}
+ {1647144060 -10800 1 ADT}
+ {1667703660 -14400 0 AST}
+ {1678593660 -10800 1 ADT}
+ {1699153260 -14400 0 AST}
+ {1710043260 -10800 1 ADT}
+ {1730602860 -14400 0 AST}
+ {1741492860 -10800 1 ADT}
+ {1762052460 -14400 0 AST}
+ {1772942460 -10800 1 ADT}
+ {1793502060 -14400 0 AST}
+ {1804996860 -10800 1 ADT}
+ {1825556460 -14400 0 AST}
+ {1836446460 -10800 1 ADT}
+ {1857006060 -14400 0 AST}
+ {1867896060 -10800 1 ADT}
+ {1888455660 -14400 0 AST}
+ {1899345660 -10800 1 ADT}
+ {1919905260 -14400 0 AST}
+ {1930795260 -10800 1 ADT}
+ {1951354860 -14400 0 AST}
+ {1962849660 -10800 1 ADT}
+ {1983409260 -14400 0 AST}
+ {1994299260 -10800 1 ADT}
+ {2014858860 -14400 0 AST}
+ {2025748860 -10800 1 ADT}
+ {2046308460 -14400 0 AST}
+ {2057198460 -10800 1 ADT}
+ {2077758060 -14400 0 AST}
+ {2088648060 -10800 1 ADT}
+ {2109207660 -14400 0 AST}
+ {2120097660 -10800 1 ADT}
+ {2140657260 -14400 0 AST}
+ {2152152060 -10800 1 ADT}
+ {2172711660 -14400 0 AST}
+ {2183601660 -10800 1 ADT}
+ {2204161260 -14400 0 AST}
+ {2215051260 -10800 1 ADT}
+ {2235610860 -14400 0 AST}
+ {2246500860 -10800 1 ADT}
+ {2267060460 -14400 0 AST}
+ {2277950460 -10800 1 ADT}
+ {2298510060 -14400 0 AST}
+ {2309400060 -10800 1 ADT}
+ {2329959660 -14400 0 AST}
+ {2341454460 -10800 1 ADT}
+ {2362014060 -14400 0 AST}
+ {2372904060 -10800 1 ADT}
+ {2393463660 -14400 0 AST}
+ {2404353660 -10800 1 ADT}
+ {2424913260 -14400 0 AST}
+ {2435803260 -10800 1 ADT}
+ {2456362860 -14400 0 AST}
+ {2467252860 -10800 1 ADT}
+ {2487812460 -14400 0 AST}
+ {2499307260 -10800 1 ADT}
+ {2519866860 -14400 0 AST}
+ {2530756860 -10800 1 ADT}
+ {2551316460 -14400 0 AST}
+ {2562206460 -10800 1 ADT}
+ {2582766060 -14400 0 AST}
+ {2593656060 -10800 1 ADT}
+ {2614215660 -14400 0 AST}
+ {2625105660 -10800 1 ADT}
+ {2645665260 -14400 0 AST}
+ {2656555260 -10800 1 ADT}
+ {2677114860 -14400 0 AST}
+ {2688609660 -10800 1 ADT}
+ {2709169260 -14400 0 AST}
+ {2720059260 -10800 1 ADT}
+ {2740618860 -14400 0 AST}
+ {2751508860 -10800 1 ADT}
+ {2772068460 -14400 0 AST}
+ {2782958460 -10800 1 ADT}
+ {2803518060 -14400 0 AST}
+ {2814408060 -10800 1 ADT}
+ {2834967660 -14400 0 AST}
+ {2846462460 -10800 1 ADT}
+ {2867022060 -14400 0 AST}
+ {2877912060 -10800 1 ADT}
+ {2898471660 -14400 0 AST}
+ {2909361660 -10800 1 ADT}
+ {2929921260 -14400 0 AST}
+ {2940811260 -10800 1 ADT}
+ {2961370860 -14400 0 AST}
+ {2972260860 -10800 1 ADT}
+ {2992820460 -14400 0 AST}
+ {3003710460 -10800 1 ADT}
+ {3024270060 -14400 0 AST}
+ {3035764860 -10800 1 ADT}
+ {3056324460 -14400 0 AST}
+ {3067214460 -10800 1 ADT}
+ {3087774060 -14400 0 AST}
+ {3098664060 -10800 1 ADT}
+ {3119223660 -14400 0 AST}
+ {3130113660 -10800 1 ADT}
+ {3150673260 -14400 0 AST}
+ {3161563260 -10800 1 ADT}
+ {3182122860 -14400 0 AST}
+ {3193012860 -10800 1 ADT}
+ {3213572460 -14400 0 AST}
+ {3225067260 -10800 1 ADT}
+ {3245626860 -14400 0 AST}
+ {3256516860 -10800 1 ADT}
+ {3277076460 -14400 0 AST}
+ {3287966460 -10800 1 ADT}
+ {3308526060 -14400 0 AST}
+ {3319416060 -10800 1 ADT}
+ {3339975660 -14400 0 AST}
+ {3350865660 -10800 1 ADT}
+ {3371425260 -14400 0 AST}
+ {3382920060 -10800 1 ADT}
+ {3403479660 -14400 0 AST}
+ {3414369660 -10800 1 ADT}
+ {3434929260 -14400 0 AST}
+ {3445819260 -10800 1 ADT}
+ {3466378860 -14400 0 AST}
+ {3477268860 -10800 1 ADT}
+ {3497828460 -14400 0 AST}
+ {3508718460 -10800 1 ADT}
+ {3529278060 -14400 0 AST}
+ {3540168060 -10800 1 ADT}
+ {3560727660 -14400 0 AST}
+ {3572222460 -10800 1 ADT}
+ {3592782060 -14400 0 AST}
+ {3603672060 -10800 1 ADT}
+ {3624231660 -14400 0 AST}
+ {3635121660 -10800 1 ADT}
+ {3655681260 -14400 0 AST}
+ {3666571260 -10800 1 ADT}
+ {3687130860 -14400 0 AST}
+ {3698020860 -10800 1 ADT}
+ {3718580460 -14400 0 AST}
+ {3730075260 -10800 1 ADT}
+ {3750634860 -14400 0 AST}
+ {3761524860 -10800 1 ADT}
+ {3782084460 -14400 0 AST}
+ {3792974460 -10800 1 ADT}
+ {3813534060 -14400 0 AST}
+ {3824424060 -10800 1 ADT}
+ {3844983660 -14400 0 AST}
+ {3855873660 -10800 1 ADT}
+ {3876433260 -14400 0 AST}
+ {3887323260 -10800 1 ADT}
+ {3907882860 -14400 0 AST}
+ {3919377660 -10800 1 ADT}
+ {3939937260 -14400 0 AST}
+ {3950827260 -10800 1 ADT}
+ {3971386860 -14400 0 AST}
+ {3982276860 -10800 1 ADT}
+ {4002836460 -14400 0 AST}
+ {4013726460 -10800 1 ADT}
+ {4034286060 -14400 0 AST}
+ {4045176060 -10800 1 ADT}
+ {4065735660 -14400 0 AST}
+ {4076625660 -10800 1 ADT}
+ {4097185260 -14400 0 AST}
}
diff --git a/library/tzdata/America/Halifax b/library/tzdata/America/Halifax
index 08e3754..76f016a 100644
--- a/library/tzdata/America/Halifax
+++ b/library/tzdata/America/Halifax
@@ -7,7 +7,7 @@ set TZData(:America/Halifax) {
{-1680469200 -14400 0 AST}
{-1640980800 -14400 0 AST}
{-1632074400 -10800 1 ADT}
- {-1615143600 -14400 0 AST}
+ {-1614798000 -14400 0 AST}
{-1609444800 -14400 0 AST}
{-1566763200 -10800 1 ADT}
{-1557090000 -14400 0 AST}
diff --git a/library/tzdata/America/Havana b/library/tzdata/America/Havana
index 89cbc9a..7fc6305 100644
--- a/library/tzdata/America/Havana
+++ b/library/tzdata/America/Havana
@@ -104,182 +104,182 @@ set TZData(:America/Havana) {
{1256446800 -18000 0 CST}
{1268542800 -14400 1 CDT}
{1288501200 -18000 0 CST}
- {1300597200 -14400 1 CDT}
- {1321160400 -18000 0 CST}
- {1333256400 -14400 1 CDT}
- {1352005200 -18000 0 CST}
+ {1299992400 -14400 1 CDT}
+ {1319950800 -18000 0 CST}
+ {1331442000 -14400 1 CDT}
+ {1351400400 -18000 0 CST}
{1362891600 -14400 1 CDT}
- {1383454800 -18000 0 CST}
+ {1382850000 -18000 0 CST}
{1394341200 -14400 1 CDT}
- {1414904400 -18000 0 CST}
+ {1414299600 -18000 0 CST}
{1425790800 -14400 1 CDT}
- {1446354000 -18000 0 CST}
+ {1445749200 -18000 0 CST}
{1457845200 -14400 1 CDT}
- {1478408400 -18000 0 CST}
+ {1477803600 -18000 0 CST}
{1489294800 -14400 1 CDT}
- {1509858000 -18000 0 CST}
+ {1509253200 -18000 0 CST}
{1520744400 -14400 1 CDT}
- {1541307600 -18000 0 CST}
+ {1540702800 -18000 0 CST}
{1552194000 -14400 1 CDT}
- {1572757200 -18000 0 CST}
+ {1572152400 -18000 0 CST}
{1583643600 -14400 1 CDT}
- {1604206800 -18000 0 CST}
+ {1603602000 -18000 0 CST}
{1615698000 -14400 1 CDT}
- {1636261200 -18000 0 CST}
+ {1635656400 -18000 0 CST}
{1647147600 -14400 1 CDT}
- {1667710800 -18000 0 CST}
+ {1667106000 -18000 0 CST}
{1678597200 -14400 1 CDT}
- {1699160400 -18000 0 CST}
+ {1698555600 -18000 0 CST}
{1710046800 -14400 1 CDT}
- {1730610000 -18000 0 CST}
+ {1730005200 -18000 0 CST}
{1741496400 -14400 1 CDT}
- {1762059600 -18000 0 CST}
+ {1761454800 -18000 0 CST}
{1772946000 -14400 1 CDT}
- {1793509200 -18000 0 CST}
+ {1792904400 -18000 0 CST}
{1805000400 -14400 1 CDT}
- {1825563600 -18000 0 CST}
+ {1824958800 -18000 0 CST}
{1836450000 -14400 1 CDT}
- {1857013200 -18000 0 CST}
+ {1856408400 -18000 0 CST}
{1867899600 -14400 1 CDT}
- {1888462800 -18000 0 CST}
+ {1887858000 -18000 0 CST}
{1899349200 -14400 1 CDT}
- {1919912400 -18000 0 CST}
+ {1919307600 -18000 0 CST}
{1930798800 -14400 1 CDT}
- {1951362000 -18000 0 CST}
+ {1950757200 -18000 0 CST}
{1962853200 -14400 1 CDT}
- {1983416400 -18000 0 CST}
+ {1982811600 -18000 0 CST}
{1994302800 -14400 1 CDT}
- {2014866000 -18000 0 CST}
+ {2014261200 -18000 0 CST}
{2025752400 -14400 1 CDT}
- {2046315600 -18000 0 CST}
+ {2045710800 -18000 0 CST}
{2057202000 -14400 1 CDT}
- {2077765200 -18000 0 CST}
+ {2077160400 -18000 0 CST}
{2088651600 -14400 1 CDT}
- {2109214800 -18000 0 CST}
+ {2108610000 -18000 0 CST}
{2120101200 -14400 1 CDT}
- {2140664400 -18000 0 CST}
+ {2140059600 -18000 0 CST}
{2152155600 -14400 1 CDT}
- {2172718800 -18000 0 CST}
+ {2172114000 -18000 0 CST}
{2183605200 -14400 1 CDT}
- {2204168400 -18000 0 CST}
+ {2203563600 -18000 0 CST}
{2215054800 -14400 1 CDT}
- {2235618000 -18000 0 CST}
+ {2235013200 -18000 0 CST}
{2246504400 -14400 1 CDT}
- {2267067600 -18000 0 CST}
+ {2266462800 -18000 0 CST}
{2277954000 -14400 1 CDT}
- {2298517200 -18000 0 CST}
+ {2297912400 -18000 0 CST}
{2309403600 -14400 1 CDT}
- {2329966800 -18000 0 CST}
+ {2329362000 -18000 0 CST}
{2341458000 -14400 1 CDT}
- {2362021200 -18000 0 CST}
+ {2361416400 -18000 0 CST}
{2372907600 -14400 1 CDT}
- {2393470800 -18000 0 CST}
+ {2392866000 -18000 0 CST}
{2404357200 -14400 1 CDT}
- {2424920400 -18000 0 CST}
+ {2424315600 -18000 0 CST}
{2435806800 -14400 1 CDT}
- {2456370000 -18000 0 CST}
+ {2455765200 -18000 0 CST}
{2467256400 -14400 1 CDT}
- {2487819600 -18000 0 CST}
+ {2487214800 -18000 0 CST}
{2499310800 -14400 1 CDT}
- {2519874000 -18000 0 CST}
+ {2519269200 -18000 0 CST}
{2530760400 -14400 1 CDT}
- {2551323600 -18000 0 CST}
+ {2550718800 -18000 0 CST}
{2562210000 -14400 1 CDT}
- {2582773200 -18000 0 CST}
+ {2582168400 -18000 0 CST}
{2593659600 -14400 1 CDT}
- {2614222800 -18000 0 CST}
+ {2613618000 -18000 0 CST}
{2625109200 -14400 1 CDT}
- {2645672400 -18000 0 CST}
+ {2645067600 -18000 0 CST}
{2656558800 -14400 1 CDT}
- {2677122000 -18000 0 CST}
+ {2676517200 -18000 0 CST}
{2688613200 -14400 1 CDT}
- {2709176400 -18000 0 CST}
+ {2708571600 -18000 0 CST}
{2720062800 -14400 1 CDT}
- {2740626000 -18000 0 CST}
+ {2740021200 -18000 0 CST}
{2751512400 -14400 1 CDT}
- {2772075600 -18000 0 CST}
+ {2771470800 -18000 0 CST}
{2782962000 -14400 1 CDT}
- {2803525200 -18000 0 CST}
+ {2802920400 -18000 0 CST}
{2814411600 -14400 1 CDT}
- {2834974800 -18000 0 CST}
+ {2834370000 -18000 0 CST}
{2846466000 -14400 1 CDT}
- {2867029200 -18000 0 CST}
+ {2866424400 -18000 0 CST}
{2877915600 -14400 1 CDT}
- {2898478800 -18000 0 CST}
+ {2897874000 -18000 0 CST}
{2909365200 -14400 1 CDT}
- {2929928400 -18000 0 CST}
+ {2929323600 -18000 0 CST}
{2940814800 -14400 1 CDT}
- {2961378000 -18000 0 CST}
+ {2960773200 -18000 0 CST}
{2972264400 -14400 1 CDT}
- {2992827600 -18000 0 CST}
+ {2992222800 -18000 0 CST}
{3003714000 -14400 1 CDT}
- {3024277200 -18000 0 CST}
+ {3023672400 -18000 0 CST}
{3035768400 -14400 1 CDT}
- {3056331600 -18000 0 CST}
+ {3055726800 -18000 0 CST}
{3067218000 -14400 1 CDT}
- {3087781200 -18000 0 CST}
+ {3087176400 -18000 0 CST}
{3098667600 -14400 1 CDT}
- {3119230800 -18000 0 CST}
+ {3118626000 -18000 0 CST}
{3130117200 -14400 1 CDT}
- {3150680400 -18000 0 CST}
+ {3150075600 -18000 0 CST}
{3161566800 -14400 1 CDT}
- {3182130000 -18000 0 CST}
+ {3181525200 -18000 0 CST}
{3193016400 -14400 1 CDT}
- {3213579600 -18000 0 CST}
+ {3212974800 -18000 0 CST}
{3225070800 -14400 1 CDT}
- {3245634000 -18000 0 CST}
+ {3245029200 -18000 0 CST}
{3256520400 -14400 1 CDT}
- {3277083600 -18000 0 CST}
+ {3276478800 -18000 0 CST}
{3287970000 -14400 1 CDT}
- {3308533200 -18000 0 CST}
+ {3307928400 -18000 0 CST}
{3319419600 -14400 1 CDT}
- {3339982800 -18000 0 CST}
+ {3339378000 -18000 0 CST}
{3350869200 -14400 1 CDT}
- {3371432400 -18000 0 CST}
+ {3370827600 -18000 0 CST}
{3382923600 -14400 1 CDT}
- {3403486800 -18000 0 CST}
+ {3402882000 -18000 0 CST}
{3414373200 -14400 1 CDT}
- {3434936400 -18000 0 CST}
+ {3434331600 -18000 0 CST}
{3445822800 -14400 1 CDT}
- {3466386000 -18000 0 CST}
+ {3465781200 -18000 0 CST}
{3477272400 -14400 1 CDT}
- {3497835600 -18000 0 CST}
+ {3497230800 -18000 0 CST}
{3508722000 -14400 1 CDT}
- {3529285200 -18000 0 CST}
+ {3528680400 -18000 0 CST}
{3540171600 -14400 1 CDT}
- {3560734800 -18000 0 CST}
+ {3560130000 -18000 0 CST}
{3572226000 -14400 1 CDT}
- {3592789200 -18000 0 CST}
+ {3592184400 -18000 0 CST}
{3603675600 -14400 1 CDT}
- {3624238800 -18000 0 CST}
+ {3623634000 -18000 0 CST}
{3635125200 -14400 1 CDT}
- {3655688400 -18000 0 CST}
+ {3655083600 -18000 0 CST}
{3666574800 -14400 1 CDT}
- {3687138000 -18000 0 CST}
+ {3686533200 -18000 0 CST}
{3698024400 -14400 1 CDT}
- {3718587600 -18000 0 CST}
+ {3717982800 -18000 0 CST}
{3730078800 -14400 1 CDT}
- {3750642000 -18000 0 CST}
+ {3750037200 -18000 0 CST}
{3761528400 -14400 1 CDT}
- {3782091600 -18000 0 CST}
+ {3781486800 -18000 0 CST}
{3792978000 -14400 1 CDT}
- {3813541200 -18000 0 CST}
+ {3812936400 -18000 0 CST}
{3824427600 -14400 1 CDT}
- {3844990800 -18000 0 CST}
+ {3844386000 -18000 0 CST}
{3855877200 -14400 1 CDT}
- {3876440400 -18000 0 CST}
+ {3875835600 -18000 0 CST}
{3887326800 -14400 1 CDT}
- {3907890000 -18000 0 CST}
+ {3907285200 -18000 0 CST}
{3919381200 -14400 1 CDT}
- {3939944400 -18000 0 CST}
+ {3939339600 -18000 0 CST}
{3950830800 -14400 1 CDT}
- {3971394000 -18000 0 CST}
+ {3970789200 -18000 0 CST}
{3982280400 -14400 1 CDT}
- {4002843600 -18000 0 CST}
+ {4002238800 -18000 0 CST}
{4013730000 -14400 1 CDT}
- {4034293200 -18000 0 CST}
+ {4033688400 -18000 0 CST}
{4045179600 -14400 1 CDT}
- {4065742800 -18000 0 CST}
+ {4065138000 -18000 0 CST}
{4076629200 -14400 1 CDT}
- {4097192400 -18000 0 CST}
+ {4096587600 -18000 0 CST}
}
diff --git a/library/tzdata/America/Juneau b/library/tzdata/America/Juneau
index fead810..88fe0ce 100644
--- a/library/tzdata/America/Juneau
+++ b/library/tzdata/America/Juneau
@@ -32,9 +32,8 @@ set TZData(:America/Juneau) {
{278499600 -28800 0 PST}
{294228000 -25200 1 PDT}
{309949200 -28800 0 PST}
- {325677600 -32400 0 YST}
- {325681200 -28800 1 YDT}
- {341406000 -28800 0 PST}
+ {325677600 -25200 1 PDT}
+ {341398800 -28800 0 PST}
{357127200 -25200 1 PDT}
{372848400 -28800 0 PST}
{388576800 -25200 1 PDT}
diff --git a/library/tzdata/America/Kralendijk b/library/tzdata/America/Kralendijk
deleted file mode 100644
index 8b6db86..0000000
--- a/library/tzdata/America/Kralendijk
+++ /dev/null
@@ -1,5 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Curacao)]} {
- LoadTimeZoneFile America/Curacao
-}
-set TZData(:America/Kralendijk) $TZData(:America/Curacao)
diff --git a/library/tzdata/America/Lower_Princes b/library/tzdata/America/Lower_Princes
deleted file mode 100644
index 94c9197..0000000
--- a/library/tzdata/America/Lower_Princes
+++ /dev/null
@@ -1,5 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Curacao)]} {
- LoadTimeZoneFile America/Curacao
-}
-set TZData(:America/Lower_Princes) $TZData(:America/Curacao)
diff --git a/library/tzdata/America/Matamoros b/library/tzdata/America/Matamoros
deleted file mode 100644
index 2b98652..0000000
--- a/library/tzdata/America/Matamoros
+++ /dev/null
@@ -1,219 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:America/Matamoros) {
- {-9223372036854775808 -24000 0 LMT}
- {-1514743200 -21600 0 CST}
- {568015200 -21600 0 CST}
- {576057600 -18000 1 CDT}
- {594198000 -21600 0 CST}
- {599637600 -21600 0 CST}
- {828864000 -18000 1 CDT}
- {846399600 -21600 0 CST}
- {860313600 -18000 1 CDT}
- {877849200 -21600 0 CST}
- {891763200 -18000 1 CDT}
- {909298800 -21600 0 CST}
- {923212800 -18000 1 CDT}
- {941353200 -21600 0 CST}
- {954662400 -18000 1 CDT}
- {972802800 -21600 0 CST}
- {989136000 -18000 1 CDT}
- {1001833200 -21600 0 CST}
- {1018166400 -18000 1 CDT}
- {1035702000 -21600 0 CST}
- {1049616000 -18000 1 CDT}
- {1067151600 -21600 0 CST}
- {1081065600 -18000 1 CDT}
- {1099206000 -21600 0 CST}
- {1112515200 -18000 1 CDT}
- {1130655600 -21600 0 CST}
- {1143964800 -18000 1 CDT}
- {1162105200 -21600 0 CST}
- {1175414400 -18000 1 CDT}
- {1193554800 -21600 0 CST}
- {1207468800 -18000 1 CDT}
- {1225004400 -21600 0 CST}
- {1238918400 -18000 1 CDT}
- {1256454000 -21600 0 CST}
- {1262325600 -21600 0 CST}
- {1268553600 -18000 1 CDT}
- {1289113200 -21600 0 CST}
- {1300003200 -18000 1 CDT}
- {1320562800 -21600 0 CST}
- {1331452800 -18000 1 CDT}
- {1352012400 -21600 0 CST}
- {1362902400 -18000 1 CDT}
- {1383462000 -21600 0 CST}
- {1394352000 -18000 1 CDT}
- {1414911600 -21600 0 CST}
- {1425801600 -18000 1 CDT}
- {1446361200 -21600 0 CST}
- {1457856000 -18000 1 CDT}
- {1478415600 -21600 0 CST}
- {1489305600 -18000 1 CDT}
- {1509865200 -21600 0 CST}
- {1520755200 -18000 1 CDT}
- {1541314800 -21600 0 CST}
- {1552204800 -18000 1 CDT}
- {1572764400 -21600 0 CST}
- {1583654400 -18000 1 CDT}
- {1604214000 -21600 0 CST}
- {1615708800 -18000 1 CDT}
- {1636268400 -21600 0 CST}
- {1647158400 -18000 1 CDT}
- {1667718000 -21600 0 CST}
- {1678608000 -18000 1 CDT}
- {1699167600 -21600 0 CST}
- {1710057600 -18000 1 CDT}
- {1730617200 -21600 0 CST}
- {1741507200 -18000 1 CDT}
- {1762066800 -21600 0 CST}
- {1772956800 -18000 1 CDT}
- {1793516400 -21600 0 CST}
- {1805011200 -18000 1 CDT}
- {1825570800 -21600 0 CST}
- {1836460800 -18000 1 CDT}
- {1857020400 -21600 0 CST}
- {1867910400 -18000 1 CDT}
- {1888470000 -21600 0 CST}
- {1899360000 -18000 1 CDT}
- {1919919600 -21600 0 CST}
- {1930809600 -18000 1 CDT}
- {1951369200 -21600 0 CST}
- {1962864000 -18000 1 CDT}
- {1983423600 -21600 0 CST}
- {1994313600 -18000 1 CDT}
- {2014873200 -21600 0 CST}
- {2025763200 -18000 1 CDT}
- {2046322800 -21600 0 CST}
- {2057212800 -18000 1 CDT}
- {2077772400 -21600 0 CST}
- {2088662400 -18000 1 CDT}
- {2109222000 -21600 0 CST}
- {2120112000 -18000 1 CDT}
- {2140671600 -21600 0 CST}
- {2152166400 -18000 1 CDT}
- {2172726000 -21600 0 CST}
- {2183616000 -18000 1 CDT}
- {2204175600 -21600 0 CST}
- {2215065600 -18000 1 CDT}
- {2235625200 -21600 0 CST}
- {2246515200 -18000 1 CDT}
- {2267074800 -21600 0 CST}
- {2277964800 -18000 1 CDT}
- {2298524400 -21600 0 CST}
- {2309414400 -18000 1 CDT}
- {2329974000 -21600 0 CST}
- {2341468800 -18000 1 CDT}
- {2362028400 -21600 0 CST}
- {2372918400 -18000 1 CDT}
- {2393478000 -21600 0 CST}
- {2404368000 -18000 1 CDT}
- {2424927600 -21600 0 CST}
- {2435817600 -18000 1 CDT}
- {2456377200 -21600 0 CST}
- {2467267200 -18000 1 CDT}
- {2487826800 -21600 0 CST}
- {2499321600 -18000 1 CDT}
- {2519881200 -21600 0 CST}
- {2530771200 -18000 1 CDT}
- {2551330800 -21600 0 CST}
- {2562220800 -18000 1 CDT}
- {2582780400 -21600 0 CST}
- {2593670400 -18000 1 CDT}
- {2614230000 -21600 0 CST}
- {2625120000 -18000 1 CDT}
- {2645679600 -21600 0 CST}
- {2656569600 -18000 1 CDT}
- {2677129200 -21600 0 CST}
- {2688624000 -18000 1 CDT}
- {2709183600 -21600 0 CST}
- {2720073600 -18000 1 CDT}
- {2740633200 -21600 0 CST}
- {2751523200 -18000 1 CDT}
- {2772082800 -21600 0 CST}
- {2782972800 -18000 1 CDT}
- {2803532400 -21600 0 CST}
- {2814422400 -18000 1 CDT}
- {2834982000 -21600 0 CST}
- {2846476800 -18000 1 CDT}
- {2867036400 -21600 0 CST}
- {2877926400 -18000 1 CDT}
- {2898486000 -21600 0 CST}
- {2909376000 -18000 1 CDT}
- {2929935600 -21600 0 CST}
- {2940825600 -18000 1 CDT}
- {2961385200 -21600 0 CST}
- {2972275200 -18000 1 CDT}
- {2992834800 -21600 0 CST}
- {3003724800 -18000 1 CDT}
- {3024284400 -21600 0 CST}
- {3035779200 -18000 1 CDT}
- {3056338800 -21600 0 CST}
- {3067228800 -18000 1 CDT}
- {3087788400 -21600 0 CST}
- {3098678400 -18000 1 CDT}
- {3119238000 -21600 0 CST}
- {3130128000 -18000 1 CDT}
- {3150687600 -21600 0 CST}
- {3161577600 -18000 1 CDT}
- {3182137200 -21600 0 CST}
- {3193027200 -18000 1 CDT}
- {3213586800 -21600 0 CST}
- {3225081600 -18000 1 CDT}
- {3245641200 -21600 0 CST}
- {3256531200 -18000 1 CDT}
- {3277090800 -21600 0 CST}
- {3287980800 -18000 1 CDT}
- {3308540400 -21600 0 CST}
- {3319430400 -18000 1 CDT}
- {3339990000 -21600 0 CST}
- {3350880000 -18000 1 CDT}
- {3371439600 -21600 0 CST}
- {3382934400 -18000 1 CDT}
- {3403494000 -21600 0 CST}
- {3414384000 -18000 1 CDT}
- {3434943600 -21600 0 CST}
- {3445833600 -18000 1 CDT}
- {3466393200 -21600 0 CST}
- {3477283200 -18000 1 CDT}
- {3497842800 -21600 0 CST}
- {3508732800 -18000 1 CDT}
- {3529292400 -21600 0 CST}
- {3540182400 -18000 1 CDT}
- {3560742000 -21600 0 CST}
- {3572236800 -18000 1 CDT}
- {3592796400 -21600 0 CST}
- {3603686400 -18000 1 CDT}
- {3624246000 -21600 0 CST}
- {3635136000 -18000 1 CDT}
- {3655695600 -21600 0 CST}
- {3666585600 -18000 1 CDT}
- {3687145200 -21600 0 CST}
- {3698035200 -18000 1 CDT}
- {3718594800 -21600 0 CST}
- {3730089600 -18000 1 CDT}
- {3750649200 -21600 0 CST}
- {3761539200 -18000 1 CDT}
- {3782098800 -21600 0 CST}
- {3792988800 -18000 1 CDT}
- {3813548400 -21600 0 CST}
- {3824438400 -18000 1 CDT}
- {3844998000 -21600 0 CST}
- {3855888000 -18000 1 CDT}
- {3876447600 -21600 0 CST}
- {3887337600 -18000 1 CDT}
- {3907897200 -21600 0 CST}
- {3919392000 -18000 1 CDT}
- {3939951600 -21600 0 CST}
- {3950841600 -18000 1 CDT}
- {3971401200 -21600 0 CST}
- {3982291200 -18000 1 CDT}
- {4002850800 -21600 0 CST}
- {4013740800 -18000 1 CDT}
- {4034300400 -21600 0 CST}
- {4045190400 -18000 1 CDT}
- {4065750000 -21600 0 CST}
- {4076640000 -18000 1 CDT}
- {4097199600 -21600 0 CST}
-}
diff --git a/library/tzdata/America/Metlakatla b/library/tzdata/America/Metlakatla
deleted file mode 100644
index e8af1c0..0000000
--- a/library/tzdata/America/Metlakatla
+++ /dev/null
@@ -1,43 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:America/Metlakatla) {
- {-9223372036854775808 54822 0 LMT}
- {-3225366822 -31578 0 LMT}
- {-2188955622 -28800 0 PST}
- {-883584000 -28800 0 PST}
- {-880207200 -25200 1 PWT}
- {-769395600 -25200 1 PPT}
- {-765385200 -28800 0 PST}
- {-757353600 -28800 0 PST}
- {-31507200 -28800 0 PST}
- {-21477600 -25200 1 PDT}
- {-5756400 -28800 0 PST}
- {9972000 -25200 1 PDT}
- {25693200 -28800 0 PST}
- {41421600 -25200 1 PDT}
- {57747600 -28800 0 PST}
- {73476000 -25200 1 PDT}
- {89197200 -28800 0 PST}
- {104925600 -25200 1 PDT}
- {120646800 -28800 0 PST}
- {126698400 -25200 1 PDT}
- {152096400 -28800 0 PST}
- {162381600 -25200 1 PDT}
- {183546000 -28800 0 PST}
- {199274400 -25200 1 PDT}
- {215600400 -28800 0 PST}
- {230724000 -25200 1 PDT}
- {247050000 -28800 0 PST}
- {262778400 -25200 1 PDT}
- {278499600 -28800 0 PST}
- {294228000 -25200 1 PDT}
- {309949200 -28800 0 PST}
- {325677600 -25200 1 PDT}
- {341398800 -28800 0 PST}
- {357127200 -25200 1 PDT}
- {372848400 -28800 0 PST}
- {388576800 -25200 1 PDT}
- {404902800 -28800 0 PST}
- {420026400 -25200 1 PDT}
- {436356000 -28800 0 MeST}
-}
diff --git a/library/tzdata/America/Moncton b/library/tzdata/America/Moncton
index d286c88..408e3a1 100755
--- a/library/tzdata/America/Moncton
+++ b/library/tzdata/America/Moncton
@@ -5,7 +5,7 @@ set TZData(:America/Moncton) {
{-2715882052 -18000 0 EST}
{-2131642800 -14400 0 AST}
{-1632074400 -10800 1 ADT}
- {-1615143600 -14400 0 AST}
+ {-1614798000 -14400 0 AST}
{-1167595200 -14400 0 AST}
{-1153681200 -10800 1 ADT}
{-1145822400 -14400 0 AST}
diff --git a/library/tzdata/America/Montreal b/library/tzdata/America/Montreal
index bebe7dc..b9535eb 100644
--- a/library/tzdata/America/Montreal
+++ b/library/tzdata/America/Montreal
@@ -7,7 +7,7 @@ set TZData(:America/Montreal) {
{-1662753600 -18000 0 EST}
{-1640977200 -18000 0 EST}
{-1632070800 -14400 1 EDT}
- {-1615140000 -18000 0 EST}
+ {-1614794400 -18000 0 EST}
{-1609441200 -18000 0 EST}
{-1601742600 -14400 1 EDT}
{-1583775000 -18000 0 EST}
diff --git a/library/tzdata/America/Nassau b/library/tzdata/America/Nassau
index 1c35e93..06c5f06 100644
--- a/library/tzdata/America/Nassau
+++ b/library/tzdata/America/Nassau
@@ -1,8 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Nassau) {
- {-9223372036854775808 -18570 0 LMT}
- {-1825095030 -18000 0 EST}
+ {-9223372036854775808 -18564 0 LMT}
+ {-1825095036 -18000 0 EST}
{-179341200 -14400 1 EDT}
{-163620000 -18000 0 EST}
{-147891600 -14400 1 EDT}
diff --git a/library/tzdata/America/Nipigon b/library/tzdata/America/Nipigon
index 30690aa..e98bb8c 100644
--- a/library/tzdata/America/Nipigon
+++ b/library/tzdata/America/Nipigon
@@ -4,7 +4,7 @@ set TZData(:America/Nipigon) {
{-9223372036854775808 -21184 0 LMT}
{-2366734016 -18000 0 EST}
{-1632070800 -14400 1 EDT}
- {-1615140000 -18000 0 EST}
+ {-1614794400 -18000 0 EST}
{-923252400 -14400 1 EDT}
{-880218000 -14400 0 EWT}
{-769395600 -14400 1 EPT}
diff --git a/library/tzdata/America/North_Dakota/Beulah b/library/tzdata/America/North_Dakota/Beulah
deleted file mode 100644
index 95407c6..0000000
--- a/library/tzdata/America/North_Dakota/Beulah
+++ /dev/null
@@ -1,279 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:America/North_Dakota/Beulah) {
- {-9223372036854775808 -24427 0 LMT}
- {-2717643600 -25200 0 MST}
- {-1633273200 -21600 1 MDT}
- {-1615132800 -25200 0 MST}
- {-1601823600 -21600 1 MDT}
- {-1583683200 -25200 0 MST}
- {-880210800 -21600 1 MWT}
- {-769395600 -21600 1 MPT}
- {-765388800 -25200 0 MST}
- {-84380400 -21600 1 MDT}
- {-68659200 -25200 0 MST}
- {-52930800 -21600 1 MDT}
- {-37209600 -25200 0 MST}
- {-21481200 -21600 1 MDT}
- {-5760000 -25200 0 MST}
- {9968400 -21600 1 MDT}
- {25689600 -25200 0 MST}
- {41418000 -21600 1 MDT}
- {57744000 -25200 0 MST}
- {73472400 -21600 1 MDT}
- {89193600 -25200 0 MST}
- {104922000 -21600 1 MDT}
- {120643200 -25200 0 MST}
- {126694800 -21600 1 MDT}
- {152092800 -25200 0 MST}
- {162378000 -21600 1 MDT}
- {183542400 -25200 0 MST}
- {199270800 -21600 1 MDT}
- {215596800 -25200 0 MST}
- {230720400 -21600 1 MDT}
- {247046400 -25200 0 MST}
- {262774800 -21600 1 MDT}
- {278496000 -25200 0 MST}
- {294224400 -21600 1 MDT}
- {309945600 -25200 0 MST}
- {325674000 -21600 1 MDT}
- {341395200 -25200 0 MST}
- {357123600 -21600 1 MDT}
- {372844800 -25200 0 MST}
- {388573200 -21600 1 MDT}
- {404899200 -25200 0 MST}
- {420022800 -21600 1 MDT}
- {436348800 -25200 0 MST}
- {452077200 -21600 1 MDT}
- {467798400 -25200 0 MST}
- {483526800 -21600 1 MDT}
- {499248000 -25200 0 MST}
- {514976400 -21600 1 MDT}
- {530697600 -25200 0 MST}
- {544611600 -21600 1 MDT}
- {562147200 -25200 0 MST}
- {576061200 -21600 1 MDT}
- {594201600 -25200 0 MST}
- {607510800 -21600 1 MDT}
- {625651200 -25200 0 MST}
- {638960400 -21600 1 MDT}
- {657100800 -25200 0 MST}
- {671014800 -21600 1 MDT}
- {688550400 -25200 0 MST}
- {702464400 -21600 1 MDT}
- {720000000 -25200 0 MST}
- {733914000 -21600 1 MDT}
- {752054400 -25200 0 MST}
- {765363600 -21600 1 MDT}
- {783504000 -25200 0 MST}
- {796813200 -21600 1 MDT}
- {814953600 -25200 0 MST}
- {828867600 -21600 1 MDT}
- {846403200 -25200 0 MST}
- {860317200 -21600 1 MDT}
- {877852800 -25200 0 MST}
- {891766800 -21600 1 MDT}
- {909302400 -25200 0 MST}
- {923216400 -21600 1 MDT}
- {941356800 -25200 0 MST}
- {954666000 -21600 1 MDT}
- {972806400 -25200 0 MST}
- {986115600 -21600 1 MDT}
- {1004256000 -25200 0 MST}
- {1018170000 -21600 1 MDT}
- {1035705600 -25200 0 MST}
- {1049619600 -21600 1 MDT}
- {1067155200 -25200 0 MST}
- {1081069200 -21600 1 MDT}
- {1099209600 -25200 0 MST}
- {1112518800 -21600 1 MDT}
- {1130659200 -25200 0 MST}
- {1143968400 -21600 1 MDT}
- {1162108800 -25200 0 MST}
- {1173603600 -21600 1 MDT}
- {1194163200 -25200 0 MST}
- {1205053200 -21600 1 MDT}
- {1225612800 -25200 0 MST}
- {1236502800 -21600 1 MDT}
- {1257062400 -25200 0 MST}
- {1268557200 -21600 1 MDT}
- {1289120400 -21600 0 CST}
- {1300003200 -18000 1 CDT}
- {1320562800 -21600 0 CST}
- {1331452800 -18000 1 CDT}
- {1352012400 -21600 0 CST}
- {1362902400 -18000 1 CDT}
- {1383462000 -21600 0 CST}
- {1394352000 -18000 1 CDT}
- {1414911600 -21600 0 CST}
- {1425801600 -18000 1 CDT}
- {1446361200 -21600 0 CST}
- {1457856000 -18000 1 CDT}
- {1478415600 -21600 0 CST}
- {1489305600 -18000 1 CDT}
- {1509865200 -21600 0 CST}
- {1520755200 -18000 1 CDT}
- {1541314800 -21600 0 CST}
- {1552204800 -18000 1 CDT}
- {1572764400 -21600 0 CST}
- {1583654400 -18000 1 CDT}
- {1604214000 -21600 0 CST}
- {1615708800 -18000 1 CDT}
- {1636268400 -21600 0 CST}
- {1647158400 -18000 1 CDT}
- {1667718000 -21600 0 CST}
- {1678608000 -18000 1 CDT}
- {1699167600 -21600 0 CST}
- {1710057600 -18000 1 CDT}
- {1730617200 -21600 0 CST}
- {1741507200 -18000 1 CDT}
- {1762066800 -21600 0 CST}
- {1772956800 -18000 1 CDT}
- {1793516400 -21600 0 CST}
- {1805011200 -18000 1 CDT}
- {1825570800 -21600 0 CST}
- {1836460800 -18000 1 CDT}
- {1857020400 -21600 0 CST}
- {1867910400 -18000 1 CDT}
- {1888470000 -21600 0 CST}
- {1899360000 -18000 1 CDT}
- {1919919600 -21600 0 CST}
- {1930809600 -18000 1 CDT}
- {1951369200 -21600 0 CST}
- {1962864000 -18000 1 CDT}
- {1983423600 -21600 0 CST}
- {1994313600 -18000 1 CDT}
- {2014873200 -21600 0 CST}
- {2025763200 -18000 1 CDT}
- {2046322800 -21600 0 CST}
- {2057212800 -18000 1 CDT}
- {2077772400 -21600 0 CST}
- {2088662400 -18000 1 CDT}
- {2109222000 -21600 0 CST}
- {2120112000 -18000 1 CDT}
- {2140671600 -21600 0 CST}
- {2152166400 -18000 1 CDT}
- {2172726000 -21600 0 CST}
- {2183616000 -18000 1 CDT}
- {2204175600 -21600 0 CST}
- {2215065600 -18000 1 CDT}
- {2235625200 -21600 0 CST}
- {2246515200 -18000 1 CDT}
- {2267074800 -21600 0 CST}
- {2277964800 -18000 1 CDT}
- {2298524400 -21600 0 CST}
- {2309414400 -18000 1 CDT}
- {2329974000 -21600 0 CST}
- {2341468800 -18000 1 CDT}
- {2362028400 -21600 0 CST}
- {2372918400 -18000 1 CDT}
- {2393478000 -21600 0 CST}
- {2404368000 -18000 1 CDT}
- {2424927600 -21600 0 CST}
- {2435817600 -18000 1 CDT}
- {2456377200 -21600 0 CST}
- {2467267200 -18000 1 CDT}
- {2487826800 -21600 0 CST}
- {2499321600 -18000 1 CDT}
- {2519881200 -21600 0 CST}
- {2530771200 -18000 1 CDT}
- {2551330800 -21600 0 CST}
- {2562220800 -18000 1 CDT}
- {2582780400 -21600 0 CST}
- {2593670400 -18000 1 CDT}
- {2614230000 -21600 0 CST}
- {2625120000 -18000 1 CDT}
- {2645679600 -21600 0 CST}
- {2656569600 -18000 1 CDT}
- {2677129200 -21600 0 CST}
- {2688624000 -18000 1 CDT}
- {2709183600 -21600 0 CST}
- {2720073600 -18000 1 CDT}
- {2740633200 -21600 0 CST}
- {2751523200 -18000 1 CDT}
- {2772082800 -21600 0 CST}
- {2782972800 -18000 1 CDT}
- {2803532400 -21600 0 CST}
- {2814422400 -18000 1 CDT}
- {2834982000 -21600 0 CST}
- {2846476800 -18000 1 CDT}
- {2867036400 -21600 0 CST}
- {2877926400 -18000 1 CDT}
- {2898486000 -21600 0 CST}
- {2909376000 -18000 1 CDT}
- {2929935600 -21600 0 CST}
- {2940825600 -18000 1 CDT}
- {2961385200 -21600 0 CST}
- {2972275200 -18000 1 CDT}
- {2992834800 -21600 0 CST}
- {3003724800 -18000 1 CDT}
- {3024284400 -21600 0 CST}
- {3035779200 -18000 1 CDT}
- {3056338800 -21600 0 CST}
- {3067228800 -18000 1 CDT}
- {3087788400 -21600 0 CST}
- {3098678400 -18000 1 CDT}
- {3119238000 -21600 0 CST}
- {3130128000 -18000 1 CDT}
- {3150687600 -21600 0 CST}
- {3161577600 -18000 1 CDT}
- {3182137200 -21600 0 CST}
- {3193027200 -18000 1 CDT}
- {3213586800 -21600 0 CST}
- {3225081600 -18000 1 CDT}
- {3245641200 -21600 0 CST}
- {3256531200 -18000 1 CDT}
- {3277090800 -21600 0 CST}
- {3287980800 -18000 1 CDT}
- {3308540400 -21600 0 CST}
- {3319430400 -18000 1 CDT}
- {3339990000 -21600 0 CST}
- {3350880000 -18000 1 CDT}
- {3371439600 -21600 0 CST}
- {3382934400 -18000 1 CDT}
- {3403494000 -21600 0 CST}
- {3414384000 -18000 1 CDT}
- {3434943600 -21600 0 CST}
- {3445833600 -18000 1 CDT}
- {3466393200 -21600 0 CST}
- {3477283200 -18000 1 CDT}
- {3497842800 -21600 0 CST}
- {3508732800 -18000 1 CDT}
- {3529292400 -21600 0 CST}
- {3540182400 -18000 1 CDT}
- {3560742000 -21600 0 CST}
- {3572236800 -18000 1 CDT}
- {3592796400 -21600 0 CST}
- {3603686400 -18000 1 CDT}
- {3624246000 -21600 0 CST}
- {3635136000 -18000 1 CDT}
- {3655695600 -21600 0 CST}
- {3666585600 -18000 1 CDT}
- {3687145200 -21600 0 CST}
- {3698035200 -18000 1 CDT}
- {3718594800 -21600 0 CST}
- {3730089600 -18000 1 CDT}
- {3750649200 -21600 0 CST}
- {3761539200 -18000 1 CDT}
- {3782098800 -21600 0 CST}
- {3792988800 -18000 1 CDT}
- {3813548400 -21600 0 CST}
- {3824438400 -18000 1 CDT}
- {3844998000 -21600 0 CST}
- {3855888000 -18000 1 CDT}
- {3876447600 -21600 0 CST}
- {3887337600 -18000 1 CDT}
- {3907897200 -21600 0 CST}
- {3919392000 -18000 1 CDT}
- {3939951600 -21600 0 CST}
- {3950841600 -18000 1 CDT}
- {3971401200 -21600 0 CST}
- {3982291200 -18000 1 CDT}
- {4002850800 -21600 0 CST}
- {4013740800 -18000 1 CDT}
- {4034300400 -21600 0 CST}
- {4045190400 -18000 1 CDT}
- {4065750000 -21600 0 CST}
- {4076640000 -18000 1 CDT}
- {4097199600 -21600 0 CST}
-}
diff --git a/library/tzdata/America/Ojinaga b/library/tzdata/America/Ojinaga
deleted file mode 100644
index 1172708..0000000
--- a/library/tzdata/America/Ojinaga
+++ /dev/null
@@ -1,222 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:America/Ojinaga) {
- {-9223372036854775808 -25060 0 LMT}
- {-1514739600 -25200 0 MST}
- {-1343066400 -21600 0 CST}
- {-1234807200 -25200 0 MST}
- {-1220292000 -21600 0 CST}
- {-1207159200 -25200 0 MST}
- {-1191344400 -21600 0 CST}
- {820476000 -21600 0 CST}
- {828864000 -18000 1 CDT}
- {846399600 -21600 0 CST}
- {860313600 -18000 1 CDT}
- {877849200 -21600 0 CST}
- {883634400 -21600 0 CST}
- {891766800 -21600 0 MDT}
- {909302400 -25200 0 MST}
- {923216400 -21600 1 MDT}
- {941356800 -25200 0 MST}
- {954666000 -21600 1 MDT}
- {972806400 -25200 0 MST}
- {989139600 -21600 1 MDT}
- {1001836800 -25200 0 MST}
- {1018170000 -21600 1 MDT}
- {1035705600 -25200 0 MST}
- {1049619600 -21600 1 MDT}
- {1067155200 -25200 0 MST}
- {1081069200 -21600 1 MDT}
- {1099209600 -25200 0 MST}
- {1112518800 -21600 1 MDT}
- {1130659200 -25200 0 MST}
- {1143968400 -21600 1 MDT}
- {1162108800 -25200 0 MST}
- {1175418000 -21600 1 MDT}
- {1193558400 -25200 0 MST}
- {1207472400 -21600 1 MDT}
- {1225008000 -25200 0 MST}
- {1238922000 -21600 1 MDT}
- {1256457600 -25200 0 MST}
- {1262329200 -25200 0 MST}
- {1268557200 -21600 1 MDT}
- {1289116800 -25200 0 MST}
- {1300006800 -21600 1 MDT}
- {1320566400 -25200 0 MST}
- {1331456400 -21600 1 MDT}
- {1352016000 -25200 0 MST}
- {1362906000 -21600 1 MDT}
- {1383465600 -25200 0 MST}
- {1394355600 -21600 1 MDT}
- {1414915200 -25200 0 MST}
- {1425805200 -21600 1 MDT}
- {1446364800 -25200 0 MST}
- {1457859600 -21600 1 MDT}
- {1478419200 -25200 0 MST}
- {1489309200 -21600 1 MDT}
- {1509868800 -25200 0 MST}
- {1520758800 -21600 1 MDT}
- {1541318400 -25200 0 MST}
- {1552208400 -21600 1 MDT}
- {1572768000 -25200 0 MST}
- {1583658000 -21600 1 MDT}
- {1604217600 -25200 0 MST}
- {1615712400 -21600 1 MDT}
- {1636272000 -25200 0 MST}
- {1647162000 -21600 1 MDT}
- {1667721600 -25200 0 MST}
- {1678611600 -21600 1 MDT}
- {1699171200 -25200 0 MST}
- {1710061200 -21600 1 MDT}
- {1730620800 -25200 0 MST}
- {1741510800 -21600 1 MDT}
- {1762070400 -25200 0 MST}
- {1772960400 -21600 1 MDT}
- {1793520000 -25200 0 MST}
- {1805014800 -21600 1 MDT}
- {1825574400 -25200 0 MST}
- {1836464400 -21600 1 MDT}
- {1857024000 -25200 0 MST}
- {1867914000 -21600 1 MDT}
- {1888473600 -25200 0 MST}
- {1899363600 -21600 1 MDT}
- {1919923200 -25200 0 MST}
- {1930813200 -21600 1 MDT}
- {1951372800 -25200 0 MST}
- {1962867600 -21600 1 MDT}
- {1983427200 -25200 0 MST}
- {1994317200 -21600 1 MDT}
- {2014876800 -25200 0 MST}
- {2025766800 -21600 1 MDT}
- {2046326400 -25200 0 MST}
- {2057216400 -21600 1 MDT}
- {2077776000 -25200 0 MST}
- {2088666000 -21600 1 MDT}
- {2109225600 -25200 0 MST}
- {2120115600 -21600 1 MDT}
- {2140675200 -25200 0 MST}
- {2152170000 -21600 1 MDT}
- {2172729600 -25200 0 MST}
- {2183619600 -21600 1 MDT}
- {2204179200 -25200 0 MST}
- {2215069200 -21600 1 MDT}
- {2235628800 -25200 0 MST}
- {2246518800 -21600 1 MDT}
- {2267078400 -25200 0 MST}
- {2277968400 -21600 1 MDT}
- {2298528000 -25200 0 MST}
- {2309418000 -21600 1 MDT}
- {2329977600 -25200 0 MST}
- {2341472400 -21600 1 MDT}
- {2362032000 -25200 0 MST}
- {2372922000 -21600 1 MDT}
- {2393481600 -25200 0 MST}
- {2404371600 -21600 1 MDT}
- {2424931200 -25200 0 MST}
- {2435821200 -21600 1 MDT}
- {2456380800 -25200 0 MST}
- {2467270800 -21600 1 MDT}
- {2487830400 -25200 0 MST}
- {2499325200 -21600 1 MDT}
- {2519884800 -25200 0 MST}
- {2530774800 -21600 1 MDT}
- {2551334400 -25200 0 MST}
- {2562224400 -21600 1 MDT}
- {2582784000 -25200 0 MST}
- {2593674000 -21600 1 MDT}
- {2614233600 -25200 0 MST}
- {2625123600 -21600 1 MDT}
- {2645683200 -25200 0 MST}
- {2656573200 -21600 1 MDT}
- {2677132800 -25200 0 MST}
- {2688627600 -21600 1 MDT}
- {2709187200 -25200 0 MST}
- {2720077200 -21600 1 MDT}
- {2740636800 -25200 0 MST}
- {2751526800 -21600 1 MDT}
- {2772086400 -25200 0 MST}
- {2782976400 -21600 1 MDT}
- {2803536000 -25200 0 MST}
- {2814426000 -21600 1 MDT}
- {2834985600 -25200 0 MST}
- {2846480400 -21600 1 MDT}
- {2867040000 -25200 0 MST}
- {2877930000 -21600 1 MDT}
- {2898489600 -25200 0 MST}
- {2909379600 -21600 1 MDT}
- {2929939200 -25200 0 MST}
- {2940829200 -21600 1 MDT}
- {2961388800 -25200 0 MST}
- {2972278800 -21600 1 MDT}
- {2992838400 -25200 0 MST}
- {3003728400 -21600 1 MDT}
- {3024288000 -25200 0 MST}
- {3035782800 -21600 1 MDT}
- {3056342400 -25200 0 MST}
- {3067232400 -21600 1 MDT}
- {3087792000 -25200 0 MST}
- {3098682000 -21600 1 MDT}
- {3119241600 -25200 0 MST}
- {3130131600 -21600 1 MDT}
- {3150691200 -25200 0 MST}
- {3161581200 -21600 1 MDT}
- {3182140800 -25200 0 MST}
- {3193030800 -21600 1 MDT}
- {3213590400 -25200 0 MST}
- {3225085200 -21600 1 MDT}
- {3245644800 -25200 0 MST}
- {3256534800 -21600 1 MDT}
- {3277094400 -25200 0 MST}
- {3287984400 -21600 1 MDT}
- {3308544000 -25200 0 MST}
- {3319434000 -21600 1 MDT}
- {3339993600 -25200 0 MST}
- {3350883600 -21600 1 MDT}
- {3371443200 -25200 0 MST}
- {3382938000 -21600 1 MDT}
- {3403497600 -25200 0 MST}
- {3414387600 -21600 1 MDT}
- {3434947200 -25200 0 MST}
- {3445837200 -21600 1 MDT}
- {3466396800 -25200 0 MST}
- {3477286800 -21600 1 MDT}
- {3497846400 -25200 0 MST}
- {3508736400 -21600 1 MDT}
- {3529296000 -25200 0 MST}
- {3540186000 -21600 1 MDT}
- {3560745600 -25200 0 MST}
- {3572240400 -21600 1 MDT}
- {3592800000 -25200 0 MST}
- {3603690000 -21600 1 MDT}
- {3624249600 -25200 0 MST}
- {3635139600 -21600 1 MDT}
- {3655699200 -25200 0 MST}
- {3666589200 -21600 1 MDT}
- {3687148800 -25200 0 MST}
- {3698038800 -21600 1 MDT}
- {3718598400 -25200 0 MST}
- {3730093200 -21600 1 MDT}
- {3750652800 -25200 0 MST}
- {3761542800 -21600 1 MDT}
- {3782102400 -25200 0 MST}
- {3792992400 -21600 1 MDT}
- {3813552000 -25200 0 MST}
- {3824442000 -21600 1 MDT}
- {3845001600 -25200 0 MST}
- {3855891600 -21600 1 MDT}
- {3876451200 -25200 0 MST}
- {3887341200 -21600 1 MDT}
- {3907900800 -25200 0 MST}
- {3919395600 -21600 1 MDT}
- {3939955200 -25200 0 MST}
- {3950845200 -21600 1 MDT}
- {3971404800 -25200 0 MST}
- {3982294800 -21600 1 MDT}
- {4002854400 -25200 0 MST}
- {4013744400 -21600 1 MDT}
- {4034304000 -25200 0 MST}
- {4045194000 -21600 1 MDT}
- {4065753600 -25200 0 MST}
- {4076643600 -21600 1 MDT}
- {4097203200 -25200 0 MST}
-}
diff --git a/library/tzdata/America/Port-au-Prince b/library/tzdata/America/Port-au-Prince
index f1d7fc4..04ee62c 100644
--- a/library/tzdata/America/Port-au-Prince
+++ b/library/tzdata/America/Port-au-Prince
@@ -38,180 +38,4 @@ set TZData(:America/Port-au-Prince) {
{1130644800 -18000 0 EST}
{1143954000 -14400 1 EDT}
{1162094400 -18000 0 EST}
- {1331449200 -14400 1 EDT}
- {1352008800 -18000 0 EST}
- {1362898800 -14400 1 EDT}
- {1383458400 -18000 0 EST}
- {1394348400 -14400 1 EDT}
- {1414908000 -18000 0 EST}
- {1425798000 -14400 1 EDT}
- {1446357600 -18000 0 EST}
- {1457852400 -14400 1 EDT}
- {1478412000 -18000 0 EST}
- {1489302000 -14400 1 EDT}
- {1509861600 -18000 0 EST}
- {1520751600 -14400 1 EDT}
- {1541311200 -18000 0 EST}
- {1552201200 -14400 1 EDT}
- {1572760800 -18000 0 EST}
- {1583650800 -14400 1 EDT}
- {1604210400 -18000 0 EST}
- {1615705200 -14400 1 EDT}
- {1636264800 -18000 0 EST}
- {1647154800 -14400 1 EDT}
- {1667714400 -18000 0 EST}
- {1678604400 -14400 1 EDT}
- {1699164000 -18000 0 EST}
- {1710054000 -14400 1 EDT}
- {1730613600 -18000 0 EST}
- {1741503600 -14400 1 EDT}
- {1762063200 -18000 0 EST}
- {1772953200 -14400 1 EDT}
- {1793512800 -18000 0 EST}
- {1805007600 -14400 1 EDT}
- {1825567200 -18000 0 EST}
- {1836457200 -14400 1 EDT}
- {1857016800 -18000 0 EST}
- {1867906800 -14400 1 EDT}
- {1888466400 -18000 0 EST}
- {1899356400 -14400 1 EDT}
- {1919916000 -18000 0 EST}
- {1930806000 -14400 1 EDT}
- {1951365600 -18000 0 EST}
- {1962860400 -14400 1 EDT}
- {1983420000 -18000 0 EST}
- {1994310000 -14400 1 EDT}
- {2014869600 -18000 0 EST}
- {2025759600 -14400 1 EDT}
- {2046319200 -18000 0 EST}
- {2057209200 -14400 1 EDT}
- {2077768800 -18000 0 EST}
- {2088658800 -14400 1 EDT}
- {2109218400 -18000 0 EST}
- {2120108400 -14400 1 EDT}
- {2140668000 -18000 0 EST}
- {2152162800 -14400 1 EDT}
- {2172722400 -18000 0 EST}
- {2183612400 -14400 1 EDT}
- {2204172000 -18000 0 EST}
- {2215062000 -14400 1 EDT}
- {2235621600 -18000 0 EST}
- {2246511600 -14400 1 EDT}
- {2267071200 -18000 0 EST}
- {2277961200 -14400 1 EDT}
- {2298520800 -18000 0 EST}
- {2309410800 -14400 1 EDT}
- {2329970400 -18000 0 EST}
- {2341465200 -14400 1 EDT}
- {2362024800 -18000 0 EST}
- {2372914800 -14400 1 EDT}
- {2393474400 -18000 0 EST}
- {2404364400 -14400 1 EDT}
- {2424924000 -18000 0 EST}
- {2435814000 -14400 1 EDT}
- {2456373600 -18000 0 EST}
- {2467263600 -14400 1 EDT}
- {2487823200 -18000 0 EST}
- {2499318000 -14400 1 EDT}
- {2519877600 -18000 0 EST}
- {2530767600 -14400 1 EDT}
- {2551327200 -18000 0 EST}
- {2562217200 -14400 1 EDT}
- {2582776800 -18000 0 EST}
- {2593666800 -14400 1 EDT}
- {2614226400 -18000 0 EST}
- {2625116400 -14400 1 EDT}
- {2645676000 -18000 0 EST}
- {2656566000 -14400 1 EDT}
- {2677125600 -18000 0 EST}
- {2688620400 -14400 1 EDT}
- {2709180000 -18000 0 EST}
- {2720070000 -14400 1 EDT}
- {2740629600 -18000 0 EST}
- {2751519600 -14400 1 EDT}
- {2772079200 -18000 0 EST}
- {2782969200 -14400 1 EDT}
- {2803528800 -18000 0 EST}
- {2814418800 -14400 1 EDT}
- {2834978400 -18000 0 EST}
- {2846473200 -14400 1 EDT}
- {2867032800 -18000 0 EST}
- {2877922800 -14400 1 EDT}
- {2898482400 -18000 0 EST}
- {2909372400 -14400 1 EDT}
- {2929932000 -18000 0 EST}
- {2940822000 -14400 1 EDT}
- {2961381600 -18000 0 EST}
- {2972271600 -14400 1 EDT}
- {2992831200 -18000 0 EST}
- {3003721200 -14400 1 EDT}
- {3024280800 -18000 0 EST}
- {3035775600 -14400 1 EDT}
- {3056335200 -18000 0 EST}
- {3067225200 -14400 1 EDT}
- {3087784800 -18000 0 EST}
- {3098674800 -14400 1 EDT}
- {3119234400 -18000 0 EST}
- {3130124400 -14400 1 EDT}
- {3150684000 -18000 0 EST}
- {3161574000 -14400 1 EDT}
- {3182133600 -18000 0 EST}
- {3193023600 -14400 1 EDT}
- {3213583200 -18000 0 EST}
- {3225078000 -14400 1 EDT}
- {3245637600 -18000 0 EST}
- {3256527600 -14400 1 EDT}
- {3277087200 -18000 0 EST}
- {3287977200 -14400 1 EDT}
- {3308536800 -18000 0 EST}
- {3319426800 -14400 1 EDT}
- {3339986400 -18000 0 EST}
- {3350876400 -14400 1 EDT}
- {3371436000 -18000 0 EST}
- {3382930800 -14400 1 EDT}
- {3403490400 -18000 0 EST}
- {3414380400 -14400 1 EDT}
- {3434940000 -18000 0 EST}
- {3445830000 -14400 1 EDT}
- {3466389600 -18000 0 EST}
- {3477279600 -14400 1 EDT}
- {3497839200 -18000 0 EST}
- {3508729200 -14400 1 EDT}
- {3529288800 -18000 0 EST}
- {3540178800 -14400 1 EDT}
- {3560738400 -18000 0 EST}
- {3572233200 -14400 1 EDT}
- {3592792800 -18000 0 EST}
- {3603682800 -14400 1 EDT}
- {3624242400 -18000 0 EST}
- {3635132400 -14400 1 EDT}
- {3655692000 -18000 0 EST}
- {3666582000 -14400 1 EDT}
- {3687141600 -18000 0 EST}
- {3698031600 -14400 1 EDT}
- {3718591200 -18000 0 EST}
- {3730086000 -14400 1 EDT}
- {3750645600 -18000 0 EST}
- {3761535600 -14400 1 EDT}
- {3782095200 -18000 0 EST}
- {3792985200 -14400 1 EDT}
- {3813544800 -18000 0 EST}
- {3824434800 -14400 1 EDT}
- {3844994400 -18000 0 EST}
- {3855884400 -14400 1 EDT}
- {3876444000 -18000 0 EST}
- {3887334000 -14400 1 EDT}
- {3907893600 -18000 0 EST}
- {3919388400 -14400 1 EDT}
- {3939948000 -18000 0 EST}
- {3950838000 -14400 1 EDT}
- {3971397600 -18000 0 EST}
- {3982287600 -14400 1 EDT}
- {4002847200 -18000 0 EST}
- {4013737200 -14400 1 EDT}
- {4034296800 -18000 0 EST}
- {4045186800 -14400 1 EDT}
- {4065746400 -18000 0 EST}
- {4076636400 -14400 1 EDT}
- {4097196000 -18000 0 EST}
}
diff --git a/library/tzdata/America/Rainy_River b/library/tzdata/America/Rainy_River
index a2b11aa..331bac6 100644
--- a/library/tzdata/America/Rainy_River
+++ b/library/tzdata/America/Rainy_River
@@ -4,7 +4,7 @@ set TZData(:America/Rainy_River) {
{-9223372036854775808 -22696 0 LMT}
{-2366732504 -21600 0 CST}
{-1632067200 -18000 1 CDT}
- {-1615136400 -21600 0 CST}
+ {-1614790800 -21600 0 CST}
{-923248800 -18000 1 CDT}
{-880214400 -18000 0 CWT}
{-769395600 -18000 1 CPT}
diff --git a/library/tzdata/America/Regina b/library/tzdata/America/Regina
index e42b5be..2030d75 100644
--- a/library/tzdata/America/Regina
+++ b/library/tzdata/America/Regina
@@ -4,7 +4,7 @@ set TZData(:America/Regina) {
{-9223372036854775808 -25116 0 LMT}
{-2030202084 -25200 0 MST}
{-1632063600 -21600 1 MDT}
- {-1615132800 -25200 0 MST}
+ {-1614787200 -25200 0 MST}
{-1251651600 -21600 1 MDT}
{-1238349600 -25200 0 MST}
{-1220202000 -21600 1 MDT}
diff --git a/library/tzdata/America/Resolute b/library/tzdata/America/Resolute
index b4c0bab..50ab9df 100755
--- a/library/tzdata/America/Resolute
+++ b/library/tzdata/America/Resolute
@@ -59,190 +59,191 @@ set TZData(:America/Resolute) {
{1130655600 -21600 0 CST}
{1143964800 -18000 1 CDT}
{1162108800 -18000 0 EST}
- {1173600000 -18000 0 CDT}
- {1194159600 -21600 0 CST}
- {1205049600 -18000 1 CDT}
- {1225609200 -21600 0 CST}
- {1236499200 -18000 1 CDT}
- {1257058800 -21600 0 CST}
- {1268553600 -18000 1 CDT}
- {1289113200 -21600 0 CST}
- {1300003200 -18000 1 CDT}
- {1320562800 -21600 0 CST}
- {1331452800 -18000 1 CDT}
- {1352012400 -21600 0 CST}
- {1362902400 -18000 1 CDT}
- {1383462000 -21600 0 CST}
- {1394352000 -18000 1 CDT}
- {1414911600 -21600 0 CST}
- {1425801600 -18000 1 CDT}
- {1446361200 -21600 0 CST}
- {1457856000 -18000 1 CDT}
- {1478415600 -21600 0 CST}
- {1489305600 -18000 1 CDT}
- {1509865200 -21600 0 CST}
- {1520755200 -18000 1 CDT}
- {1541314800 -21600 0 CST}
- {1552204800 -18000 1 CDT}
- {1572764400 -21600 0 CST}
- {1583654400 -18000 1 CDT}
- {1604214000 -21600 0 CST}
- {1615708800 -18000 1 CDT}
- {1636268400 -21600 0 CST}
- {1647158400 -18000 1 CDT}
- {1667718000 -21600 0 CST}
- {1678608000 -18000 1 CDT}
- {1699167600 -21600 0 CST}
- {1710057600 -18000 1 CDT}
- {1730617200 -21600 0 CST}
- {1741507200 -18000 1 CDT}
- {1762066800 -21600 0 CST}
- {1772956800 -18000 1 CDT}
- {1793516400 -21600 0 CST}
- {1805011200 -18000 1 CDT}
- {1825570800 -21600 0 CST}
- {1836460800 -18000 1 CDT}
- {1857020400 -21600 0 CST}
- {1867910400 -18000 1 CDT}
- {1888470000 -21600 0 CST}
- {1899360000 -18000 1 CDT}
- {1919919600 -21600 0 CST}
- {1930809600 -18000 1 CDT}
- {1951369200 -21600 0 CST}
- {1962864000 -18000 1 CDT}
- {1983423600 -21600 0 CST}
- {1994313600 -18000 1 CDT}
- {2014873200 -21600 0 CST}
- {2025763200 -18000 1 CDT}
- {2046322800 -21600 0 CST}
- {2057212800 -18000 1 CDT}
- {2077772400 -21600 0 CST}
- {2088662400 -18000 1 CDT}
- {2109222000 -21600 0 CST}
- {2120112000 -18000 1 CDT}
- {2140671600 -21600 0 CST}
- {2152166400 -18000 1 CDT}
- {2172726000 -21600 0 CST}
- {2183616000 -18000 1 CDT}
- {2204175600 -21600 0 CST}
- {2215065600 -18000 1 CDT}
- {2235625200 -21600 0 CST}
- {2246515200 -18000 1 CDT}
- {2267074800 -21600 0 CST}
- {2277964800 -18000 1 CDT}
- {2298524400 -21600 0 CST}
- {2309414400 -18000 1 CDT}
- {2329974000 -21600 0 CST}
- {2341468800 -18000 1 CDT}
- {2362028400 -21600 0 CST}
- {2372918400 -18000 1 CDT}
- {2393478000 -21600 0 CST}
- {2404368000 -18000 1 CDT}
- {2424927600 -21600 0 CST}
- {2435817600 -18000 1 CDT}
- {2456377200 -21600 0 CST}
- {2467267200 -18000 1 CDT}
- {2487826800 -21600 0 CST}
- {2499321600 -18000 1 CDT}
- {2519881200 -21600 0 CST}
- {2530771200 -18000 1 CDT}
- {2551330800 -21600 0 CST}
- {2562220800 -18000 1 CDT}
- {2582780400 -21600 0 CST}
- {2593670400 -18000 1 CDT}
- {2614230000 -21600 0 CST}
- {2625120000 -18000 1 CDT}
- {2645679600 -21600 0 CST}
- {2656569600 -18000 1 CDT}
- {2677129200 -21600 0 CST}
- {2688624000 -18000 1 CDT}
- {2709183600 -21600 0 CST}
- {2720073600 -18000 1 CDT}
- {2740633200 -21600 0 CST}
- {2751523200 -18000 1 CDT}
- {2772082800 -21600 0 CST}
- {2782972800 -18000 1 CDT}
- {2803532400 -21600 0 CST}
- {2814422400 -18000 1 CDT}
- {2834982000 -21600 0 CST}
- {2846476800 -18000 1 CDT}
- {2867036400 -21600 0 CST}
- {2877926400 -18000 1 CDT}
- {2898486000 -21600 0 CST}
- {2909376000 -18000 1 CDT}
- {2929935600 -21600 0 CST}
- {2940825600 -18000 1 CDT}
- {2961385200 -21600 0 CST}
- {2972275200 -18000 1 CDT}
- {2992834800 -21600 0 CST}
- {3003724800 -18000 1 CDT}
- {3024284400 -21600 0 CST}
- {3035779200 -18000 1 CDT}
- {3056338800 -21600 0 CST}
- {3067228800 -18000 1 CDT}
- {3087788400 -21600 0 CST}
- {3098678400 -18000 1 CDT}
- {3119238000 -21600 0 CST}
- {3130128000 -18000 1 CDT}
- {3150687600 -21600 0 CST}
- {3161577600 -18000 1 CDT}
- {3182137200 -21600 0 CST}
- {3193027200 -18000 1 CDT}
- {3213586800 -21600 0 CST}
- {3225081600 -18000 1 CDT}
- {3245641200 -21600 0 CST}
- {3256531200 -18000 1 CDT}
- {3277090800 -21600 0 CST}
- {3287980800 -18000 1 CDT}
- {3308540400 -21600 0 CST}
- {3319430400 -18000 1 CDT}
- {3339990000 -21600 0 CST}
- {3350880000 -18000 1 CDT}
- {3371439600 -21600 0 CST}
- {3382934400 -18000 1 CDT}
- {3403494000 -21600 0 CST}
- {3414384000 -18000 1 CDT}
- {3434943600 -21600 0 CST}
- {3445833600 -18000 1 CDT}
- {3466393200 -21600 0 CST}
- {3477283200 -18000 1 CDT}
- {3497842800 -21600 0 CST}
- {3508732800 -18000 1 CDT}
- {3529292400 -21600 0 CST}
- {3540182400 -18000 1 CDT}
- {3560742000 -21600 0 CST}
- {3572236800 -18000 1 CDT}
- {3592796400 -21600 0 CST}
- {3603686400 -18000 1 CDT}
- {3624246000 -21600 0 CST}
- {3635136000 -18000 1 CDT}
- {3655695600 -21600 0 CST}
- {3666585600 -18000 1 CDT}
- {3687145200 -21600 0 CST}
- {3698035200 -18000 1 CDT}
- {3718594800 -21600 0 CST}
- {3730089600 -18000 1 CDT}
- {3750649200 -21600 0 CST}
- {3761539200 -18000 1 CDT}
- {3782098800 -21600 0 CST}
- {3792988800 -18000 1 CDT}
- {3813548400 -21600 0 CST}
- {3824438400 -18000 1 CDT}
- {3844998000 -21600 0 CST}
- {3855888000 -18000 1 CDT}
- {3876447600 -21600 0 CST}
- {3887337600 -18000 1 CDT}
- {3907897200 -21600 0 CST}
- {3919392000 -18000 1 CDT}
- {3939951600 -21600 0 CST}
- {3950841600 -18000 1 CDT}
- {3971401200 -21600 0 CST}
- {3982291200 -18000 1 CDT}
- {4002850800 -21600 0 CST}
- {4013740800 -18000 1 CDT}
- {4034300400 -21600 0 CST}
- {4045190400 -18000 1 CDT}
- {4065750000 -21600 0 CST}
- {4076640000 -18000 1 CDT}
- {4097199600 -21600 0 CST}
+ {1162710000 -18000 0 EST}
+ {1173596400 -18000 0 CDT}
+ {1194159600 -18000 0 EST}
+ {1205046000 -18000 0 CDT}
+ {1225609200 -18000 0 EST}
+ {1236495600 -18000 0 CDT}
+ {1257058800 -18000 0 EST}
+ {1268550000 -18000 0 CDT}
+ {1289113200 -18000 0 EST}
+ {1299999600 -18000 0 CDT}
+ {1320562800 -18000 0 EST}
+ {1331449200 -18000 0 CDT}
+ {1352012400 -18000 0 EST}
+ {1362898800 -18000 0 CDT}
+ {1383462000 -18000 0 EST}
+ {1394348400 -18000 0 CDT}
+ {1414911600 -18000 0 EST}
+ {1425798000 -18000 0 CDT}
+ {1446361200 -18000 0 EST}
+ {1457852400 -18000 0 CDT}
+ {1478415600 -18000 0 EST}
+ {1489302000 -18000 0 CDT}
+ {1509865200 -18000 0 EST}
+ {1520751600 -18000 0 CDT}
+ {1541314800 -18000 0 EST}
+ {1552201200 -18000 0 CDT}
+ {1572764400 -18000 0 EST}
+ {1583650800 -18000 0 CDT}
+ {1604214000 -18000 0 EST}
+ {1615705200 -18000 0 CDT}
+ {1636268400 -18000 0 EST}
+ {1647154800 -18000 0 CDT}
+ {1667718000 -18000 0 EST}
+ {1678604400 -18000 0 CDT}
+ {1699167600 -18000 0 EST}
+ {1710054000 -18000 0 CDT}
+ {1730617200 -18000 0 EST}
+ {1741503600 -18000 0 CDT}
+ {1762066800 -18000 0 EST}
+ {1772953200 -18000 0 CDT}
+ {1793516400 -18000 0 EST}
+ {1805007600 -18000 0 CDT}
+ {1825570800 -18000 0 EST}
+ {1836457200 -18000 0 CDT}
+ {1857020400 -18000 0 EST}
+ {1867906800 -18000 0 CDT}
+ {1888470000 -18000 0 EST}
+ {1899356400 -18000 0 CDT}
+ {1919919600 -18000 0 EST}
+ {1930806000 -18000 0 CDT}
+ {1951369200 -18000 0 EST}
+ {1962860400 -18000 0 CDT}
+ {1983423600 -18000 0 EST}
+ {1994310000 -18000 0 CDT}
+ {2014873200 -18000 0 EST}
+ {2025759600 -18000 0 CDT}
+ {2046322800 -18000 0 EST}
+ {2057209200 -18000 0 CDT}
+ {2077772400 -18000 0 EST}
+ {2088658800 -18000 0 CDT}
+ {2109222000 -18000 0 EST}
+ {2120108400 -18000 0 CDT}
+ {2140671600 -18000 0 EST}
+ {2152162800 -18000 0 CDT}
+ {2172726000 -18000 0 EST}
+ {2183612400 -18000 0 CDT}
+ {2204175600 -18000 0 EST}
+ {2215062000 -18000 0 CDT}
+ {2235625200 -18000 0 EST}
+ {2246511600 -18000 0 CDT}
+ {2267074800 -18000 0 EST}
+ {2277961200 -18000 0 CDT}
+ {2298524400 -18000 0 EST}
+ {2309410800 -18000 0 CDT}
+ {2329974000 -18000 0 EST}
+ {2341465200 -18000 0 CDT}
+ {2362028400 -18000 0 EST}
+ {2372914800 -18000 0 CDT}
+ {2393478000 -18000 0 EST}
+ {2404364400 -18000 0 CDT}
+ {2424927600 -18000 0 EST}
+ {2435814000 -18000 0 CDT}
+ {2456377200 -18000 0 EST}
+ {2467263600 -18000 0 CDT}
+ {2487826800 -18000 0 EST}
+ {2499318000 -18000 0 CDT}
+ {2519881200 -18000 0 EST}
+ {2530767600 -18000 0 CDT}
+ {2551330800 -18000 0 EST}
+ {2562217200 -18000 0 CDT}
+ {2582780400 -18000 0 EST}
+ {2593666800 -18000 0 CDT}
+ {2614230000 -18000 0 EST}
+ {2625116400 -18000 0 CDT}
+ {2645679600 -18000 0 EST}
+ {2656566000 -18000 0 CDT}
+ {2677129200 -18000 0 EST}
+ {2688620400 -18000 0 CDT}
+ {2709183600 -18000 0 EST}
+ {2720070000 -18000 0 CDT}
+ {2740633200 -18000 0 EST}
+ {2751519600 -18000 0 CDT}
+ {2772082800 -18000 0 EST}
+ {2782969200 -18000 0 CDT}
+ {2803532400 -18000 0 EST}
+ {2814418800 -18000 0 CDT}
+ {2834982000 -18000 0 EST}
+ {2846473200 -18000 0 CDT}
+ {2867036400 -18000 0 EST}
+ {2877922800 -18000 0 CDT}
+ {2898486000 -18000 0 EST}
+ {2909372400 -18000 0 CDT}
+ {2929935600 -18000 0 EST}
+ {2940822000 -18000 0 CDT}
+ {2961385200 -18000 0 EST}
+ {2972271600 -18000 0 CDT}
+ {2992834800 -18000 0 EST}
+ {3003721200 -18000 0 CDT}
+ {3024284400 -18000 0 EST}
+ {3035775600 -18000 0 CDT}
+ {3056338800 -18000 0 EST}
+ {3067225200 -18000 0 CDT}
+ {3087788400 -18000 0 EST}
+ {3098674800 -18000 0 CDT}
+ {3119238000 -18000 0 EST}
+ {3130124400 -18000 0 CDT}
+ {3150687600 -18000 0 EST}
+ {3161574000 -18000 0 CDT}
+ {3182137200 -18000 0 EST}
+ {3193023600 -18000 0 CDT}
+ {3213586800 -18000 0 EST}
+ {3225078000 -18000 0 CDT}
+ {3245641200 -18000 0 EST}
+ {3256527600 -18000 0 CDT}
+ {3277090800 -18000 0 EST}
+ {3287977200 -18000 0 CDT}
+ {3308540400 -18000 0 EST}
+ {3319426800 -18000 0 CDT}
+ {3339990000 -18000 0 EST}
+ {3350876400 -18000 0 CDT}
+ {3371439600 -18000 0 EST}
+ {3382930800 -18000 0 CDT}
+ {3403494000 -18000 0 EST}
+ {3414380400 -18000 0 CDT}
+ {3434943600 -18000 0 EST}
+ {3445830000 -18000 0 CDT}
+ {3466393200 -18000 0 EST}
+ {3477279600 -18000 0 CDT}
+ {3497842800 -18000 0 EST}
+ {3508729200 -18000 0 CDT}
+ {3529292400 -18000 0 EST}
+ {3540178800 -18000 0 CDT}
+ {3560742000 -18000 0 EST}
+ {3572233200 -18000 0 CDT}
+ {3592796400 -18000 0 EST}
+ {3603682800 -18000 0 CDT}
+ {3624246000 -18000 0 EST}
+ {3635132400 -18000 0 CDT}
+ {3655695600 -18000 0 EST}
+ {3666582000 -18000 0 CDT}
+ {3687145200 -18000 0 EST}
+ {3698031600 -18000 0 CDT}
+ {3718594800 -18000 0 EST}
+ {3730086000 -18000 0 CDT}
+ {3750649200 -18000 0 EST}
+ {3761535600 -18000 0 CDT}
+ {3782098800 -18000 0 EST}
+ {3792985200 -18000 0 CDT}
+ {3813548400 -18000 0 EST}
+ {3824434800 -18000 0 CDT}
+ {3844998000 -18000 0 EST}
+ {3855884400 -18000 0 CDT}
+ {3876447600 -18000 0 EST}
+ {3887334000 -18000 0 CDT}
+ {3907897200 -18000 0 EST}
+ {3919388400 -18000 0 CDT}
+ {3939951600 -18000 0 EST}
+ {3950838000 -18000 0 CDT}
+ {3971401200 -18000 0 EST}
+ {3982287600 -18000 0 CDT}
+ {4002850800 -18000 0 EST}
+ {4013737200 -18000 0 CDT}
+ {4034300400 -18000 0 EST}
+ {4045186800 -18000 0 CDT}
+ {4065750000 -18000 0 EST}
+ {4076636400 -18000 0 CDT}
+ {4097199600 -18000 0 EST}
}
diff --git a/library/tzdata/America/Santa_Isabel b/library/tzdata/America/Santa_Isabel
deleted file mode 100644
index 87cb5a8..0000000
--- a/library/tzdata/America/Santa_Isabel
+++ /dev/null
@@ -1,284 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:America/Santa_Isabel) {
- {-9223372036854775808 -27568 0 LMT}
- {-1514736000 -25200 0 MST}
- {-1451667600 -28800 0 PST}
- {-1343062800 -25200 0 MST}
- {-1234803600 -28800 0 PST}
- {-1222963200 -25200 1 PDT}
- {-1207242000 -28800 0 PST}
- {-873820800 -25200 1 PWT}
- {-769395600 -25200 1 PPT}
- {-761677200 -28800 0 PST}
- {-686073600 -25200 1 PDT}
- {-661539600 -28800 0 PST}
- {-504892800 -28800 0 PST}
- {-495036000 -25200 1 PDT}
- {-481734000 -28800 0 PST}
- {-463586400 -25200 1 PDT}
- {-450284400 -28800 0 PST}
- {-431532000 -25200 1 PDT}
- {-418230000 -28800 0 PST}
- {-400082400 -25200 1 PDT}
- {-386780400 -28800 0 PST}
- {-368632800 -25200 1 PDT}
- {-355330800 -28800 0 PST}
- {-337183200 -25200 1 PDT}
- {-323881200 -28800 0 PST}
- {-305733600 -25200 1 PDT}
- {-292431600 -28800 0 PST}
- {-283968000 -28800 0 PST}
- {189331200 -28800 0 PST}
- {199274400 -25200 1 PDT}
- {215600400 -28800 0 PST}
- {230724000 -25200 1 PDT}
- {247050000 -28800 0 PST}
- {262778400 -25200 1 PDT}
- {278499600 -28800 0 PST}
- {294228000 -25200 1 PDT}
- {309949200 -28800 0 PST}
- {325677600 -25200 1 PDT}
- {341398800 -28800 0 PST}
- {357127200 -25200 1 PDT}
- {372848400 -28800 0 PST}
- {388576800 -25200 1 PDT}
- {404902800 -28800 0 PST}
- {420026400 -25200 1 PDT}
- {436352400 -28800 0 PST}
- {452080800 -25200 1 PDT}
- {467802000 -28800 0 PST}
- {483530400 -25200 1 PDT}
- {499251600 -28800 0 PST}
- {514980000 -25200 1 PDT}
- {530701200 -28800 0 PST}
- {544615200 -25200 1 PDT}
- {562150800 -28800 0 PST}
- {576064800 -25200 1 PDT}
- {594205200 -28800 0 PST}
- {607514400 -25200 1 PDT}
- {625654800 -28800 0 PST}
- {638964000 -25200 1 PDT}
- {657104400 -28800 0 PST}
- {671018400 -25200 1 PDT}
- {688554000 -28800 0 PST}
- {702468000 -25200 1 PDT}
- {720003600 -28800 0 PST}
- {733917600 -25200 1 PDT}
- {752058000 -28800 0 PST}
- {765367200 -25200 1 PDT}
- {783507600 -28800 0 PST}
- {796816800 -25200 1 PDT}
- {814957200 -28800 0 PST}
- {820483200 -28800 0 PST}
- {828871200 -25200 1 PDT}
- {846406800 -28800 0 PST}
- {860320800 -25200 1 PDT}
- {877856400 -28800 0 PST}
- {891770400 -25200 1 PDT}
- {909306000 -28800 0 PST}
- {923220000 -25200 1 PDT}
- {941360400 -28800 0 PST}
- {954669600 -25200 1 PDT}
- {972810000 -28800 0 PST}
- {978336000 -28800 0 PST}
- {986119200 -25200 1 PDT}
- {1004259600 -28800 0 PST}
- {1014192000 -28800 0 PST}
- {1018173600 -25200 1 PDT}
- {1035709200 -28800 0 PST}
- {1049623200 -25200 1 PDT}
- {1067158800 -28800 0 PST}
- {1081072800 -25200 1 PDT}
- {1099213200 -28800 0 PST}
- {1112522400 -25200 1 PDT}
- {1130662800 -28800 0 PST}
- {1143972000 -25200 1 PDT}
- {1162112400 -28800 0 PST}
- {1175421600 -25200 1 PDT}
- {1193562000 -28800 0 PST}
- {1207476000 -25200 1 PDT}
- {1225011600 -28800 0 PST}
- {1238925600 -25200 1 PDT}
- {1256461200 -28800 0 PST}
- {1270375200 -25200 1 PDT}
- {1288515600 -28800 0 PST}
- {1301824800 -25200 1 PDT}
- {1319965200 -28800 0 PST}
- {1333274400 -25200 1 PDT}
- {1351414800 -28800 0 PST}
- {1365328800 -25200 1 PDT}
- {1382864400 -28800 0 PST}
- {1396778400 -25200 1 PDT}
- {1414314000 -28800 0 PST}
- {1428228000 -25200 1 PDT}
- {1445763600 -28800 0 PST}
- {1459677600 -25200 1 PDT}
- {1477818000 -28800 0 PST}
- {1491127200 -25200 1 PDT}
- {1509267600 -28800 0 PST}
- {1522576800 -25200 1 PDT}
- {1540717200 -28800 0 PST}
- {1554631200 -25200 1 PDT}
- {1572166800 -28800 0 PST}
- {1586080800 -25200 1 PDT}
- {1603616400 -28800 0 PST}
- {1617530400 -25200 1 PDT}
- {1635670800 -28800 0 PST}
- {1648980000 -25200 1 PDT}
- {1667120400 -28800 0 PST}
- {1680429600 -25200 1 PDT}
- {1698570000 -28800 0 PST}
- {1712484000 -25200 1 PDT}
- {1730019600 -28800 0 PST}
- {1743933600 -25200 1 PDT}
- {1761469200 -28800 0 PST}
- {1775383200 -25200 1 PDT}
- {1792918800 -28800 0 PST}
- {1806832800 -25200 1 PDT}
- {1824973200 -28800 0 PST}
- {1838282400 -25200 1 PDT}
- {1856422800 -28800 0 PST}
- {1869732000 -25200 1 PDT}
- {1887872400 -28800 0 PST}
- {1901786400 -25200 1 PDT}
- {1919322000 -28800 0 PST}
- {1933236000 -25200 1 PDT}
- {1950771600 -28800 0 PST}
- {1964685600 -25200 1 PDT}
- {1982826000 -28800 0 PST}
- {1996135200 -25200 1 PDT}
- {2014275600 -28800 0 PST}
- {2027584800 -25200 1 PDT}
- {2045725200 -28800 0 PST}
- {2059034400 -25200 1 PDT}
- {2077174800 -28800 0 PST}
- {2091088800 -25200 1 PDT}
- {2108624400 -28800 0 PST}
- {2122538400 -25200 1 PDT}
- {2140074000 -28800 0 PST}
- {2153988000 -25200 1 PDT}
- {2172128400 -28800 0 PST}
- {2185437600 -25200 1 PDT}
- {2203578000 -28800 0 PST}
- {2216887200 -25200 1 PDT}
- {2235027600 -28800 0 PST}
- {2248941600 -25200 1 PDT}
- {2266477200 -28800 0 PST}
- {2280391200 -25200 1 PDT}
- {2297926800 -28800 0 PST}
- {2311840800 -25200 1 PDT}
- {2329376400 -28800 0 PST}
- {2343290400 -25200 1 PDT}
- {2361430800 -28800 0 PST}
- {2374740000 -25200 1 PDT}
- {2392880400 -28800 0 PST}
- {2406189600 -25200 1 PDT}
- {2424330000 -28800 0 PST}
- {2438244000 -25200 1 PDT}
- {2455779600 -28800 0 PST}
- {2469693600 -25200 1 PDT}
- {2487229200 -28800 0 PST}
- {2501143200 -25200 1 PDT}
- {2519283600 -28800 0 PST}
- {2532592800 -25200 1 PDT}
- {2550733200 -28800 0 PST}
- {2564042400 -25200 1 PDT}
- {2582182800 -28800 0 PST}
- {2596096800 -25200 1 PDT}
- {2613632400 -28800 0 PST}
- {2627546400 -25200 1 PDT}
- {2645082000 -28800 0 PST}
- {2658996000 -25200 1 PDT}
- {2676531600 -28800 0 PST}
- {2690445600 -25200 1 PDT}
- {2708586000 -28800 0 PST}
- {2721895200 -25200 1 PDT}
- {2740035600 -28800 0 PST}
- {2753344800 -25200 1 PDT}
- {2771485200 -28800 0 PST}
- {2785399200 -25200 1 PDT}
- {2802934800 -28800 0 PST}
- {2816848800 -25200 1 PDT}
- {2834384400 -28800 0 PST}
- {2848298400 -25200 1 PDT}
- {2866438800 -28800 0 PST}
- {2879748000 -25200 1 PDT}
- {2897888400 -28800 0 PST}
- {2911197600 -25200 1 PDT}
- {2929338000 -28800 0 PST}
- {2942647200 -25200 1 PDT}
- {2960787600 -28800 0 PST}
- {2974701600 -25200 1 PDT}
- {2992237200 -28800 0 PST}
- {3006151200 -25200 1 PDT}
- {3023686800 -28800 0 PST}
- {3037600800 -25200 1 PDT}
- {3055741200 -28800 0 PST}
- {3069050400 -25200 1 PDT}
- {3087190800 -28800 0 PST}
- {3100500000 -25200 1 PDT}
- {3118640400 -28800 0 PST}
- {3132554400 -25200 1 PDT}
- {3150090000 -28800 0 PST}
- {3164004000 -25200 1 PDT}
- {3181539600 -28800 0 PST}
- {3195453600 -25200 1 PDT}
- {3212989200 -28800 0 PST}
- {3226903200 -25200 1 PDT}
- {3245043600 -28800 0 PST}
- {3258352800 -25200 1 PDT}
- {3276493200 -28800 0 PST}
- {3289802400 -25200 1 PDT}
- {3307942800 -28800 0 PST}
- {3321856800 -25200 1 PDT}
- {3339392400 -28800 0 PST}
- {3353306400 -25200 1 PDT}
- {3370842000 -28800 0 PST}
- {3384756000 -25200 1 PDT}
- {3402896400 -28800 0 PST}
- {3416205600 -25200 1 PDT}
- {3434346000 -28800 0 PST}
- {3447655200 -25200 1 PDT}
- {3465795600 -28800 0 PST}
- {3479709600 -25200 1 PDT}
- {3497245200 -28800 0 PST}
- {3511159200 -25200 1 PDT}
- {3528694800 -28800 0 PST}
- {3542608800 -25200 1 PDT}
- {3560144400 -28800 0 PST}
- {3574058400 -25200 1 PDT}
- {3592198800 -28800 0 PST}
- {3605508000 -25200 1 PDT}
- {3623648400 -28800 0 PST}
- {3636957600 -25200 1 PDT}
- {3655098000 -28800 0 PST}
- {3669012000 -25200 1 PDT}
- {3686547600 -28800 0 PST}
- {3700461600 -25200 1 PDT}
- {3717997200 -28800 0 PST}
- {3731911200 -25200 1 PDT}
- {3750051600 -28800 0 PST}
- {3763360800 -25200 1 PDT}
- {3781501200 -28800 0 PST}
- {3794810400 -25200 1 PDT}
- {3812950800 -28800 0 PST}
- {3826260000 -25200 1 PDT}
- {3844400400 -28800 0 PST}
- {3858314400 -25200 1 PDT}
- {3875850000 -28800 0 PST}
- {3889764000 -25200 1 PDT}
- {3907299600 -28800 0 PST}
- {3921213600 -25200 1 PDT}
- {3939354000 -28800 0 PST}
- {3952663200 -25200 1 PDT}
- {3970803600 -28800 0 PST}
- {3984112800 -25200 1 PDT}
- {4002253200 -28800 0 PST}
- {4016167200 -25200 1 PDT}
- {4033702800 -28800 0 PST}
- {4047616800 -25200 1 PDT}
- {4065152400 -28800 0 PST}
- {4079066400 -25200 1 PDT}
- {4096602000 -28800 0 PST}
-}
diff --git a/library/tzdata/America/Santiago b/library/tzdata/America/Santiago
index 44be9f8..9f1d358 100644
--- a/library/tzdata/America/Santiago
+++ b/library/tzdata/America/Santiago
@@ -108,184 +108,184 @@ set TZData(:America/Santiago) {
{1223784000 -10800 1 CLST}
{1237086000 -14400 0 CLT}
{1255233600 -10800 1 CLST}
- {1270350000 -14400 0 CLT}
+ {1268535600 -14400 0 CLT}
{1286683200 -10800 1 CLST}
- {1304823600 -14400 0 CLT}
- {1313899200 -10800 1 CLST}
- {1335668400 -14400 0 CLT}
- {1346558400 -10800 1 CLST}
- {1367118000 -14400 0 CLT}
- {1378612800 -10800 1 CLST}
- {1398567600 -14400 0 CLT}
- {1410062400 -10800 1 CLST}
- {1430017200 -14400 0 CLT}
- {1441512000 -10800 1 CLST}
- {1461466800 -14400 0 CLT}
- {1472961600 -10800 1 CLST}
- {1492916400 -14400 0 CLT}
- {1504411200 -10800 1 CLST}
- {1524970800 -14400 0 CLT}
- {1535860800 -10800 1 CLST}
- {1556420400 -14400 0 CLT}
- {1567915200 -10800 1 CLST}
- {1587870000 -14400 0 CLT}
- {1599364800 -10800 1 CLST}
- {1619319600 -14400 0 CLT}
- {1630814400 -10800 1 CLST}
- {1650769200 -14400 0 CLT}
- {1662264000 -10800 1 CLST}
- {1682218800 -14400 0 CLT}
- {1693713600 -10800 1 CLST}
- {1714273200 -14400 0 CLT}
- {1725768000 -10800 1 CLST}
- {1745722800 -14400 0 CLT}
- {1757217600 -10800 1 CLST}
- {1777172400 -14400 0 CLT}
- {1788667200 -10800 1 CLST}
- {1808622000 -14400 0 CLT}
- {1820116800 -10800 1 CLST}
- {1840071600 -14400 0 CLT}
- {1851566400 -10800 1 CLST}
- {1872126000 -14400 0 CLT}
- {1883016000 -10800 1 CLST}
- {1903575600 -14400 0 CLT}
- {1915070400 -10800 1 CLST}
- {1935025200 -14400 0 CLT}
- {1946520000 -10800 1 CLST}
- {1966474800 -14400 0 CLT}
- {1977969600 -10800 1 CLST}
- {1997924400 -14400 0 CLT}
- {2009419200 -10800 1 CLST}
- {2029374000 -14400 0 CLT}
- {2040868800 -10800 1 CLST}
- {2061428400 -14400 0 CLT}
- {2072318400 -10800 1 CLST}
- {2092878000 -14400 0 CLT}
- {2104372800 -10800 1 CLST}
- {2124327600 -14400 0 CLT}
- {2135822400 -10800 1 CLST}
- {2155777200 -14400 0 CLT}
- {2167272000 -10800 1 CLST}
- {2187226800 -14400 0 CLT}
- {2198721600 -10800 1 CLST}
- {2219281200 -14400 0 CLT}
- {2230171200 -10800 1 CLST}
- {2250730800 -14400 0 CLT}
- {2262225600 -10800 1 CLST}
- {2282180400 -14400 0 CLT}
- {2293675200 -10800 1 CLST}
- {2313630000 -14400 0 CLT}
- {2325124800 -10800 1 CLST}
- {2345079600 -14400 0 CLT}
- {2356574400 -10800 1 CLST}
- {2376529200 -14400 0 CLT}
- {2388024000 -10800 1 CLST}
- {2408583600 -14400 0 CLT}
- {2419473600 -10800 1 CLST}
- {2440033200 -14400 0 CLT}
- {2451528000 -10800 1 CLST}
- {2471482800 -14400 0 CLT}
- {2482977600 -10800 1 CLST}
- {2502932400 -14400 0 CLT}
- {2514427200 -10800 1 CLST}
- {2534382000 -14400 0 CLT}
- {2545876800 -10800 1 CLST}
- {2565831600 -14400 0 CLT}
- {2577326400 -10800 1 CLST}
- {2597886000 -14400 0 CLT}
- {2609380800 -10800 1 CLST}
- {2629335600 -14400 0 CLT}
- {2640830400 -10800 1 CLST}
- {2660785200 -14400 0 CLT}
- {2672280000 -10800 1 CLST}
- {2692234800 -14400 0 CLT}
- {2703729600 -10800 1 CLST}
- {2723684400 -14400 0 CLT}
- {2735179200 -10800 1 CLST}
- {2755738800 -14400 0 CLT}
- {2766628800 -10800 1 CLST}
- {2787188400 -14400 0 CLT}
- {2798683200 -10800 1 CLST}
- {2818638000 -14400 0 CLT}
- {2830132800 -10800 1 CLST}
- {2850087600 -14400 0 CLT}
- {2861582400 -10800 1 CLST}
- {2881537200 -14400 0 CLT}
- {2893032000 -10800 1 CLST}
- {2912986800 -14400 0 CLT}
- {2924481600 -10800 1 CLST}
- {2945041200 -14400 0 CLT}
- {2955931200 -10800 1 CLST}
- {2976490800 -14400 0 CLT}
- {2987985600 -10800 1 CLST}
- {3007940400 -14400 0 CLT}
- {3019435200 -10800 1 CLST}
- {3039390000 -14400 0 CLT}
- {3050884800 -10800 1 CLST}
- {3070839600 -14400 0 CLT}
- {3082334400 -10800 1 CLST}
- {3102894000 -14400 0 CLT}
- {3113784000 -10800 1 CLST}
- {3134343600 -14400 0 CLT}
- {3145838400 -10800 1 CLST}
- {3165793200 -14400 0 CLT}
- {3177288000 -10800 1 CLST}
- {3197242800 -14400 0 CLT}
- {3208737600 -10800 1 CLST}
- {3228692400 -14400 0 CLT}
- {3240187200 -10800 1 CLST}
- {3260142000 -14400 0 CLT}
- {3271636800 -10800 1 CLST}
- {3292196400 -14400 0 CLT}
- {3303086400 -10800 1 CLST}
- {3323646000 -14400 0 CLT}
- {3335140800 -10800 1 CLST}
- {3355095600 -14400 0 CLT}
- {3366590400 -10800 1 CLST}
- {3386545200 -14400 0 CLT}
- {3398040000 -10800 1 CLST}
- {3417994800 -14400 0 CLT}
- {3429489600 -10800 1 CLST}
- {3449444400 -14400 0 CLT}
- {3460939200 -10800 1 CLST}
- {3481498800 -14400 0 CLT}
- {3492993600 -10800 1 CLST}
- {3512948400 -14400 0 CLT}
- {3524443200 -10800 1 CLST}
- {3544398000 -14400 0 CLT}
- {3555892800 -10800 1 CLST}
- {3575847600 -14400 0 CLT}
- {3587342400 -10800 1 CLST}
- {3607297200 -14400 0 CLT}
- {3618792000 -10800 1 CLST}
- {3639351600 -14400 0 CLT}
- {3650241600 -10800 1 CLST}
- {3670801200 -14400 0 CLT}
- {3682296000 -10800 1 CLST}
- {3702250800 -14400 0 CLT}
- {3713745600 -10800 1 CLST}
- {3733700400 -14400 0 CLT}
- {3745195200 -10800 1 CLST}
- {3765150000 -14400 0 CLT}
- {3776644800 -10800 1 CLST}
- {3796599600 -14400 0 CLT}
- {3808094400 -10800 1 CLST}
- {3828654000 -14400 0 CLT}
- {3839544000 -10800 1 CLST}
- {3860103600 -14400 0 CLT}
- {3871598400 -10800 1 CLST}
- {3891553200 -14400 0 CLT}
- {3903048000 -10800 1 CLST}
- {3923002800 -14400 0 CLT}
- {3934497600 -10800 1 CLST}
- {3954452400 -14400 0 CLT}
- {3965947200 -10800 1 CLST}
- {3986506800 -14400 0 CLT}
- {3997396800 -10800 1 CLST}
- {4017956400 -14400 0 CLT}
- {4029451200 -10800 1 CLST}
- {4049406000 -14400 0 CLT}
- {4060900800 -10800 1 CLST}
- {4080855600 -14400 0 CLT}
- {4092350400 -10800 1 CLST}
+ {1299985200 -14400 0 CLT}
+ {1318132800 -10800 1 CLST}
+ {1331434800 -14400 0 CLT}
+ {1350187200 -10800 1 CLST}
+ {1362884400 -14400 0 CLT}
+ {1381636800 -10800 1 CLST}
+ {1394334000 -14400 0 CLT}
+ {1413086400 -10800 1 CLST}
+ {1426388400 -14400 0 CLT}
+ {1444536000 -10800 1 CLST}
+ {1457838000 -14400 0 CLT}
+ {1475985600 -10800 1 CLST}
+ {1489287600 -14400 0 CLT}
+ {1508040000 -10800 1 CLST}
+ {1520737200 -14400 0 CLT}
+ {1539489600 -10800 1 CLST}
+ {1552186800 -14400 0 CLT}
+ {1570939200 -10800 1 CLST}
+ {1584241200 -14400 0 CLT}
+ {1602388800 -10800 1 CLST}
+ {1615690800 -14400 0 CLT}
+ {1633838400 -10800 1 CLST}
+ {1647140400 -14400 0 CLT}
+ {1665288000 -10800 1 CLST}
+ {1678590000 -14400 0 CLT}
+ {1697342400 -10800 1 CLST}
+ {1710039600 -14400 0 CLT}
+ {1728792000 -10800 1 CLST}
+ {1741489200 -14400 0 CLT}
+ {1760241600 -10800 1 CLST}
+ {1773543600 -14400 0 CLT}
+ {1791691200 -10800 1 CLST}
+ {1804993200 -14400 0 CLT}
+ {1823140800 -10800 1 CLST}
+ {1836442800 -14400 0 CLT}
+ {1855195200 -10800 1 CLST}
+ {1867892400 -14400 0 CLT}
+ {1886644800 -10800 1 CLST}
+ {1899342000 -14400 0 CLT}
+ {1918094400 -10800 1 CLST}
+ {1930791600 -14400 0 CLT}
+ {1949544000 -10800 1 CLST}
+ {1962846000 -14400 0 CLT}
+ {1980993600 -10800 1 CLST}
+ {1994295600 -14400 0 CLT}
+ {2012443200 -10800 1 CLST}
+ {2025745200 -14400 0 CLT}
+ {2044497600 -10800 1 CLST}
+ {2057194800 -14400 0 CLT}
+ {2075947200 -10800 1 CLST}
+ {2088644400 -14400 0 CLT}
+ {2107396800 -10800 1 CLST}
+ {2120698800 -14400 0 CLT}
+ {2138846400 -10800 1 CLST}
+ {2152148400 -14400 0 CLT}
+ {2170296000 -10800 1 CLST}
+ {2183598000 -14400 0 CLT}
+ {2201745600 -10800 1 CLST}
+ {2215047600 -14400 0 CLT}
+ {2233800000 -10800 1 CLST}
+ {2246497200 -14400 0 CLT}
+ {2265249600 -10800 1 CLST}
+ {2277946800 -14400 0 CLT}
+ {2296699200 -10800 1 CLST}
+ {2310001200 -14400 0 CLT}
+ {2328148800 -10800 1 CLST}
+ {2341450800 -14400 0 CLT}
+ {2359598400 -10800 1 CLST}
+ {2372900400 -14400 0 CLT}
+ {2391652800 -10800 1 CLST}
+ {2404350000 -14400 0 CLT}
+ {2423102400 -10800 1 CLST}
+ {2435799600 -14400 0 CLT}
+ {2454552000 -10800 1 CLST}
+ {2467854000 -14400 0 CLT}
+ {2486001600 -10800 1 CLST}
+ {2499303600 -14400 0 CLT}
+ {2517451200 -10800 1 CLST}
+ {2530753200 -14400 0 CLT}
+ {2548900800 -10800 1 CLST}
+ {2562202800 -14400 0 CLT}
+ {2580955200 -10800 1 CLST}
+ {2593652400 -14400 0 CLT}
+ {2612404800 -10800 1 CLST}
+ {2625102000 -14400 0 CLT}
+ {2643854400 -10800 1 CLST}
+ {2657156400 -14400 0 CLT}
+ {2675304000 -10800 1 CLST}
+ {2688606000 -14400 0 CLT}
+ {2706753600 -10800 1 CLST}
+ {2720055600 -14400 0 CLT}
+ {2738808000 -10800 1 CLST}
+ {2751505200 -14400 0 CLT}
+ {2770257600 -10800 1 CLST}
+ {2782954800 -14400 0 CLT}
+ {2801707200 -10800 1 CLST}
+ {2814404400 -14400 0 CLT}
+ {2833156800 -10800 1 CLST}
+ {2846458800 -14400 0 CLT}
+ {2864606400 -10800 1 CLST}
+ {2877908400 -14400 0 CLT}
+ {2896056000 -10800 1 CLST}
+ {2909358000 -14400 0 CLT}
+ {2928110400 -10800 1 CLST}
+ {2940807600 -14400 0 CLT}
+ {2959560000 -10800 1 CLST}
+ {2972257200 -14400 0 CLT}
+ {2991009600 -10800 1 CLST}
+ {3004311600 -14400 0 CLT}
+ {3022459200 -10800 1 CLST}
+ {3035761200 -14400 0 CLT}
+ {3053908800 -10800 1 CLST}
+ {3067210800 -14400 0 CLT}
+ {3085358400 -10800 1 CLST}
+ {3098660400 -14400 0 CLT}
+ {3117412800 -10800 1 CLST}
+ {3130110000 -14400 0 CLT}
+ {3148862400 -10800 1 CLST}
+ {3161559600 -14400 0 CLT}
+ {3180312000 -10800 1 CLST}
+ {3193614000 -14400 0 CLT}
+ {3211761600 -10800 1 CLST}
+ {3225063600 -14400 0 CLT}
+ {3243211200 -10800 1 CLST}
+ {3256513200 -14400 0 CLT}
+ {3275265600 -10800 1 CLST}
+ {3287962800 -14400 0 CLT}
+ {3306715200 -10800 1 CLST}
+ {3319412400 -14400 0 CLT}
+ {3338164800 -10800 1 CLST}
+ {3351466800 -14400 0 CLT}
+ {3369614400 -10800 1 CLST}
+ {3382916400 -14400 0 CLT}
+ {3401064000 -10800 1 CLST}
+ {3414366000 -14400 0 CLT}
+ {3432513600 -10800 1 CLST}
+ {3445815600 -14400 0 CLT}
+ {3464568000 -10800 1 CLST}
+ {3477265200 -14400 0 CLT}
+ {3496017600 -10800 1 CLST}
+ {3508714800 -14400 0 CLT}
+ {3527467200 -10800 1 CLST}
+ {3540769200 -14400 0 CLT}
+ {3558916800 -10800 1 CLST}
+ {3572218800 -14400 0 CLT}
+ {3590366400 -10800 1 CLST}
+ {3603668400 -14400 0 CLT}
+ {3622420800 -10800 1 CLST}
+ {3635118000 -14400 0 CLT}
+ {3653870400 -10800 1 CLST}
+ {3666567600 -14400 0 CLT}
+ {3685320000 -10800 1 CLST}
+ {3698017200 -14400 0 CLT}
+ {3716769600 -10800 1 CLST}
+ {3730071600 -14400 0 CLT}
+ {3748219200 -10800 1 CLST}
+ {3761521200 -14400 0 CLT}
+ {3779668800 -10800 1 CLST}
+ {3792970800 -14400 0 CLT}
+ {3811723200 -10800 1 CLST}
+ {3824420400 -14400 0 CLT}
+ {3843172800 -10800 1 CLST}
+ {3855870000 -14400 0 CLT}
+ {3874622400 -10800 1 CLST}
+ {3887924400 -14400 0 CLT}
+ {3906072000 -10800 1 CLST}
+ {3919374000 -14400 0 CLT}
+ {3937521600 -10800 1 CLST}
+ {3950823600 -14400 0 CLT}
+ {3968971200 -10800 1 CLST}
+ {3982273200 -14400 0 CLT}
+ {4001025600 -10800 1 CLST}
+ {4013722800 -14400 0 CLT}
+ {4032475200 -10800 1 CLST}
+ {4045172400 -14400 0 CLT}
+ {4063924800 -10800 1 CLST}
+ {4077226800 -14400 0 CLT}
+ {4095374400 -10800 1 CLST}
}
diff --git a/library/tzdata/America/Sitka b/library/tzdata/America/Sitka
deleted file mode 100644
index 8c53d93..0000000
--- a/library/tzdata/America/Sitka
+++ /dev/null
@@ -1,275 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:America/Sitka) {
- {-9223372036854775808 53927 0 LMT}
- {-3225365927 -32473 0 LMT}
- {-2188954727 -28800 0 PST}
- {-883584000 -28800 0 PST}
- {-880207200 -25200 1 PWT}
- {-769395600 -25200 1 PPT}
- {-765385200 -28800 0 PST}
- {-757353600 -28800 0 PST}
- {-31507200 -28800 0 PST}
- {-21477600 -25200 1 PDT}
- {-5756400 -28800 0 PST}
- {9972000 -25200 1 PDT}
- {25693200 -28800 0 PST}
- {41421600 -25200 1 PDT}
- {57747600 -28800 0 PST}
- {73476000 -25200 1 PDT}
- {89197200 -28800 0 PST}
- {104925600 -25200 1 PDT}
- {120646800 -28800 0 PST}
- {126698400 -25200 1 PDT}
- {152096400 -28800 0 PST}
- {162381600 -25200 1 PDT}
- {183546000 -28800 0 PST}
- {199274400 -25200 1 PDT}
- {215600400 -28800 0 PST}
- {230724000 -25200 1 PDT}
- {247050000 -28800 0 PST}
- {262778400 -25200 1 PDT}
- {278499600 -28800 0 PST}
- {294228000 -25200 1 PDT}
- {309949200 -28800 0 PST}
- {325677600 -25200 1 PDT}
- {341398800 -28800 0 PST}
- {357127200 -25200 1 PDT}
- {372848400 -28800 0 PST}
- {388576800 -25200 1 PDT}
- {404902800 -28800 0 PST}
- {420026400 -25200 1 PDT}
- {439030800 -32400 0 AKST}
- {452084400 -28800 1 AKDT}
- {467805600 -32400 0 AKST}
- {483534000 -28800 1 AKDT}
- {499255200 -32400 0 AKST}
- {514983600 -28800 1 AKDT}
- {530704800 -32400 0 AKST}
- {544618800 -28800 1 AKDT}
- {562154400 -32400 0 AKST}
- {576068400 -28800 1 AKDT}
- {594208800 -32400 0 AKST}
- {607518000 -28800 1 AKDT}
- {625658400 -32400 0 AKST}
- {638967600 -28800 1 AKDT}
- {657108000 -32400 0 AKST}
- {671022000 -28800 1 AKDT}
- {688557600 -32400 0 AKST}
- {702471600 -28800 1 AKDT}
- {720007200 -32400 0 AKST}
- {733921200 -28800 1 AKDT}
- {752061600 -32400 0 AKST}
- {765370800 -28800 1 AKDT}
- {783511200 -32400 0 AKST}
- {796820400 -28800 1 AKDT}
- {814960800 -32400 0 AKST}
- {828874800 -28800 1 AKDT}
- {846410400 -32400 0 AKST}
- {860324400 -28800 1 AKDT}
- {877860000 -32400 0 AKST}
- {891774000 -28800 1 AKDT}
- {909309600 -32400 0 AKST}
- {923223600 -28800 1 AKDT}
- {941364000 -32400 0 AKST}
- {954673200 -28800 1 AKDT}
- {972813600 -32400 0 AKST}
- {986122800 -28800 1 AKDT}
- {1004263200 -32400 0 AKST}
- {1018177200 -28800 1 AKDT}
- {1035712800 -32400 0 AKST}
- {1049626800 -28800 1 AKDT}
- {1067162400 -32400 0 AKST}
- {1081076400 -28800 1 AKDT}
- {1099216800 -32400 0 AKST}
- {1112526000 -28800 1 AKDT}
- {1130666400 -32400 0 AKST}
- {1143975600 -28800 1 AKDT}
- {1162116000 -32400 0 AKST}
- {1173610800 -28800 1 AKDT}
- {1194170400 -32400 0 AKST}
- {1205060400 -28800 1 AKDT}
- {1225620000 -32400 0 AKST}
- {1236510000 -28800 1 AKDT}
- {1257069600 -32400 0 AKST}
- {1268564400 -28800 1 AKDT}
- {1289124000 -32400 0 AKST}
- {1300014000 -28800 1 AKDT}
- {1320573600 -32400 0 AKST}
- {1331463600 -28800 1 AKDT}
- {1352023200 -32400 0 AKST}
- {1362913200 -28800 1 AKDT}
- {1383472800 -32400 0 AKST}
- {1394362800 -28800 1 AKDT}
- {1414922400 -32400 0 AKST}
- {1425812400 -28800 1 AKDT}
- {1446372000 -32400 0 AKST}
- {1457866800 -28800 1 AKDT}
- {1478426400 -32400 0 AKST}
- {1489316400 -28800 1 AKDT}
- {1509876000 -32400 0 AKST}
- {1520766000 -28800 1 AKDT}
- {1541325600 -32400 0 AKST}
- {1552215600 -28800 1 AKDT}
- {1572775200 -32400 0 AKST}
- {1583665200 -28800 1 AKDT}
- {1604224800 -32400 0 AKST}
- {1615719600 -28800 1 AKDT}
- {1636279200 -32400 0 AKST}
- {1647169200 -28800 1 AKDT}
- {1667728800 -32400 0 AKST}
- {1678618800 -28800 1 AKDT}
- {1699178400 -32400 0 AKST}
- {1710068400 -28800 1 AKDT}
- {1730628000 -32400 0 AKST}
- {1741518000 -28800 1 AKDT}
- {1762077600 -32400 0 AKST}
- {1772967600 -28800 1 AKDT}
- {1793527200 -32400 0 AKST}
- {1805022000 -28800 1 AKDT}
- {1825581600 -32400 0 AKST}
- {1836471600 -28800 1 AKDT}
- {1857031200 -32400 0 AKST}
- {1867921200 -28800 1 AKDT}
- {1888480800 -32400 0 AKST}
- {1899370800 -28800 1 AKDT}
- {1919930400 -32400 0 AKST}
- {1930820400 -28800 1 AKDT}
- {1951380000 -32400 0 AKST}
- {1962874800 -28800 1 AKDT}
- {1983434400 -32400 0 AKST}
- {1994324400 -28800 1 AKDT}
- {2014884000 -32400 0 AKST}
- {2025774000 -28800 1 AKDT}
- {2046333600 -32400 0 AKST}
- {2057223600 -28800 1 AKDT}
- {2077783200 -32400 0 AKST}
- {2088673200 -28800 1 AKDT}
- {2109232800 -32400 0 AKST}
- {2120122800 -28800 1 AKDT}
- {2140682400 -32400 0 AKST}
- {2152177200 -28800 1 AKDT}
- {2172736800 -32400 0 AKST}
- {2183626800 -28800 1 AKDT}
- {2204186400 -32400 0 AKST}
- {2215076400 -28800 1 AKDT}
- {2235636000 -32400 0 AKST}
- {2246526000 -28800 1 AKDT}
- {2267085600 -32400 0 AKST}
- {2277975600 -28800 1 AKDT}
- {2298535200 -32400 0 AKST}
- {2309425200 -28800 1 AKDT}
- {2329984800 -32400 0 AKST}
- {2341479600 -28800 1 AKDT}
- {2362039200 -32400 0 AKST}
- {2372929200 -28800 1 AKDT}
- {2393488800 -32400 0 AKST}
- {2404378800 -28800 1 AKDT}
- {2424938400 -32400 0 AKST}
- {2435828400 -28800 1 AKDT}
- {2456388000 -32400 0 AKST}
- {2467278000 -28800 1 AKDT}
- {2487837600 -32400 0 AKST}
- {2499332400 -28800 1 AKDT}
- {2519892000 -32400 0 AKST}
- {2530782000 -28800 1 AKDT}
- {2551341600 -32400 0 AKST}
- {2562231600 -28800 1 AKDT}
- {2582791200 -32400 0 AKST}
- {2593681200 -28800 1 AKDT}
- {2614240800 -32400 0 AKST}
- {2625130800 -28800 1 AKDT}
- {2645690400 -32400 0 AKST}
- {2656580400 -28800 1 AKDT}
- {2677140000 -32400 0 AKST}
- {2688634800 -28800 1 AKDT}
- {2709194400 -32400 0 AKST}
- {2720084400 -28800 1 AKDT}
- {2740644000 -32400 0 AKST}
- {2751534000 -28800 1 AKDT}
- {2772093600 -32400 0 AKST}
- {2782983600 -28800 1 AKDT}
- {2803543200 -32400 0 AKST}
- {2814433200 -28800 1 AKDT}
- {2834992800 -32400 0 AKST}
- {2846487600 -28800 1 AKDT}
- {2867047200 -32400 0 AKST}
- {2877937200 -28800 1 AKDT}
- {2898496800 -32400 0 AKST}
- {2909386800 -28800 1 AKDT}
- {2929946400 -32400 0 AKST}
- {2940836400 -28800 1 AKDT}
- {2961396000 -32400 0 AKST}
- {2972286000 -28800 1 AKDT}
- {2992845600 -32400 0 AKST}
- {3003735600 -28800 1 AKDT}
- {3024295200 -32400 0 AKST}
- {3035790000 -28800 1 AKDT}
- {3056349600 -32400 0 AKST}
- {3067239600 -28800 1 AKDT}
- {3087799200 -32400 0 AKST}
- {3098689200 -28800 1 AKDT}
- {3119248800 -32400 0 AKST}
- {3130138800 -28800 1 AKDT}
- {3150698400 -32400 0 AKST}
- {3161588400 -28800 1 AKDT}
- {3182148000 -32400 0 AKST}
- {3193038000 -28800 1 AKDT}
- {3213597600 -32400 0 AKST}
- {3225092400 -28800 1 AKDT}
- {3245652000 -32400 0 AKST}
- {3256542000 -28800 1 AKDT}
- {3277101600 -32400 0 AKST}
- {3287991600 -28800 1 AKDT}
- {3308551200 -32400 0 AKST}
- {3319441200 -28800 1 AKDT}
- {3340000800 -32400 0 AKST}
- {3350890800 -28800 1 AKDT}
- {3371450400 -32400 0 AKST}
- {3382945200 -28800 1 AKDT}
- {3403504800 -32400 0 AKST}
- {3414394800 -28800 1 AKDT}
- {3434954400 -32400 0 AKST}
- {3445844400 -28800 1 AKDT}
- {3466404000 -32400 0 AKST}
- {3477294000 -28800 1 AKDT}
- {3497853600 -32400 0 AKST}
- {3508743600 -28800 1 AKDT}
- {3529303200 -32400 0 AKST}
- {3540193200 -28800 1 AKDT}
- {3560752800 -32400 0 AKST}
- {3572247600 -28800 1 AKDT}
- {3592807200 -32400 0 AKST}
- {3603697200 -28800 1 AKDT}
- {3624256800 -32400 0 AKST}
- {3635146800 -28800 1 AKDT}
- {3655706400 -32400 0 AKST}
- {3666596400 -28800 1 AKDT}
- {3687156000 -32400 0 AKST}
- {3698046000 -28800 1 AKDT}
- {3718605600 -32400 0 AKST}
- {3730100400 -28800 1 AKDT}
- {3750660000 -32400 0 AKST}
- {3761550000 -28800 1 AKDT}
- {3782109600 -32400 0 AKST}
- {3792999600 -28800 1 AKDT}
- {3813559200 -32400 0 AKST}
- {3824449200 -28800 1 AKDT}
- {3845008800 -32400 0 AKST}
- {3855898800 -28800 1 AKDT}
- {3876458400 -32400 0 AKST}
- {3887348400 -28800 1 AKDT}
- {3907908000 -32400 0 AKST}
- {3919402800 -28800 1 AKDT}
- {3939962400 -32400 0 AKST}
- {3950852400 -28800 1 AKDT}
- {3971412000 -32400 0 AKST}
- {3982302000 -28800 1 AKDT}
- {4002861600 -32400 0 AKST}
- {4013751600 -28800 1 AKDT}
- {4034311200 -32400 0 AKST}
- {4045201200 -28800 1 AKDT}
- {4065760800 -32400 0 AKST}
- {4076650800 -28800 1 AKDT}
- {4097210400 -32400 0 AKST}
-}
diff --git a/library/tzdata/America/St_Johns b/library/tzdata/America/St_Johns
index 1492961..59f92bb 100644
--- a/library/tzdata/America/St_Johns
+++ b/library/tzdata/America/St_Johns
@@ -7,7 +7,7 @@ set TZData(:America/St_Johns) {
{-1650137348 -12652 0 NST}
{-1640982548 -12652 0 NST}
{-1632076148 -9052 1 NDT}
- {-1615145348 -12652 0 NST}
+ {-1614799748 -12652 0 NST}
{-1609446548 -12652 0 NST}
{-1598650148 -9052 1 NDT}
{-1590100148 -12652 0 NST}
@@ -191,182 +191,181 @@ set TZData(:America/St_Johns) {
{1268537460 -9000 1 NDT}
{1289097060 -12600 0 NST}
{1299987060 -9000 1 NDT}
- {1320114600 -9000 0 NDT}
- {1320553800 -12600 0 NST}
- {1331443800 -9000 1 NDT}
- {1352003400 -12600 0 NST}
- {1362893400 -9000 1 NDT}
- {1383453000 -12600 0 NST}
- {1394343000 -9000 1 NDT}
- {1414902600 -12600 0 NST}
- {1425792600 -9000 1 NDT}
- {1446352200 -12600 0 NST}
- {1457847000 -9000 1 NDT}
- {1478406600 -12600 0 NST}
- {1489296600 -9000 1 NDT}
- {1509856200 -12600 0 NST}
- {1520746200 -9000 1 NDT}
- {1541305800 -12600 0 NST}
- {1552195800 -9000 1 NDT}
- {1572755400 -12600 0 NST}
- {1583645400 -9000 1 NDT}
- {1604205000 -12600 0 NST}
- {1615699800 -9000 1 NDT}
- {1636259400 -12600 0 NST}
- {1647149400 -9000 1 NDT}
- {1667709000 -12600 0 NST}
- {1678599000 -9000 1 NDT}
- {1699158600 -12600 0 NST}
- {1710048600 -9000 1 NDT}
- {1730608200 -12600 0 NST}
- {1741498200 -9000 1 NDT}
- {1762057800 -12600 0 NST}
- {1772947800 -9000 1 NDT}
- {1793507400 -12600 0 NST}
- {1805002200 -9000 1 NDT}
- {1825561800 -12600 0 NST}
- {1836451800 -9000 1 NDT}
- {1857011400 -12600 0 NST}
- {1867901400 -9000 1 NDT}
- {1888461000 -12600 0 NST}
- {1899351000 -9000 1 NDT}
- {1919910600 -12600 0 NST}
- {1930800600 -9000 1 NDT}
- {1951360200 -12600 0 NST}
- {1962855000 -9000 1 NDT}
- {1983414600 -12600 0 NST}
- {1994304600 -9000 1 NDT}
- {2014864200 -12600 0 NST}
- {2025754200 -9000 1 NDT}
- {2046313800 -12600 0 NST}
- {2057203800 -9000 1 NDT}
- {2077763400 -12600 0 NST}
- {2088653400 -9000 1 NDT}
- {2109213000 -12600 0 NST}
- {2120103000 -9000 1 NDT}
- {2140662600 -12600 0 NST}
- {2152157400 -9000 1 NDT}
- {2172717000 -12600 0 NST}
- {2183607000 -9000 1 NDT}
- {2204166600 -12600 0 NST}
- {2215056600 -9000 1 NDT}
- {2235616200 -12600 0 NST}
- {2246506200 -9000 1 NDT}
- {2267065800 -12600 0 NST}
- {2277955800 -9000 1 NDT}
- {2298515400 -12600 0 NST}
- {2309405400 -9000 1 NDT}
- {2329965000 -12600 0 NST}
- {2341459800 -9000 1 NDT}
- {2362019400 -12600 0 NST}
- {2372909400 -9000 1 NDT}
- {2393469000 -12600 0 NST}
- {2404359000 -9000 1 NDT}
- {2424918600 -12600 0 NST}
- {2435808600 -9000 1 NDT}
- {2456368200 -12600 0 NST}
- {2467258200 -9000 1 NDT}
- {2487817800 -12600 0 NST}
- {2499312600 -9000 1 NDT}
- {2519872200 -12600 0 NST}
- {2530762200 -9000 1 NDT}
- {2551321800 -12600 0 NST}
- {2562211800 -9000 1 NDT}
- {2582771400 -12600 0 NST}
- {2593661400 -9000 1 NDT}
- {2614221000 -12600 0 NST}
- {2625111000 -9000 1 NDT}
- {2645670600 -12600 0 NST}
- {2656560600 -9000 1 NDT}
- {2677120200 -12600 0 NST}
- {2688615000 -9000 1 NDT}
- {2709174600 -12600 0 NST}
- {2720064600 -9000 1 NDT}
- {2740624200 -12600 0 NST}
- {2751514200 -9000 1 NDT}
- {2772073800 -12600 0 NST}
- {2782963800 -9000 1 NDT}
- {2803523400 -12600 0 NST}
- {2814413400 -9000 1 NDT}
- {2834973000 -12600 0 NST}
- {2846467800 -9000 1 NDT}
- {2867027400 -12600 0 NST}
- {2877917400 -9000 1 NDT}
- {2898477000 -12600 0 NST}
- {2909367000 -9000 1 NDT}
- {2929926600 -12600 0 NST}
- {2940816600 -9000 1 NDT}
- {2961376200 -12600 0 NST}
- {2972266200 -9000 1 NDT}
- {2992825800 -12600 0 NST}
- {3003715800 -9000 1 NDT}
- {3024275400 -12600 0 NST}
- {3035770200 -9000 1 NDT}
- {3056329800 -12600 0 NST}
- {3067219800 -9000 1 NDT}
- {3087779400 -12600 0 NST}
- {3098669400 -9000 1 NDT}
- {3119229000 -12600 0 NST}
- {3130119000 -9000 1 NDT}
- {3150678600 -12600 0 NST}
- {3161568600 -9000 1 NDT}
- {3182128200 -12600 0 NST}
- {3193018200 -9000 1 NDT}
- {3213577800 -12600 0 NST}
- {3225072600 -9000 1 NDT}
- {3245632200 -12600 0 NST}
- {3256522200 -9000 1 NDT}
- {3277081800 -12600 0 NST}
- {3287971800 -9000 1 NDT}
- {3308531400 -12600 0 NST}
- {3319421400 -9000 1 NDT}
- {3339981000 -12600 0 NST}
- {3350871000 -9000 1 NDT}
- {3371430600 -12600 0 NST}
- {3382925400 -9000 1 NDT}
- {3403485000 -12600 0 NST}
- {3414375000 -9000 1 NDT}
- {3434934600 -12600 0 NST}
- {3445824600 -9000 1 NDT}
- {3466384200 -12600 0 NST}
- {3477274200 -9000 1 NDT}
- {3497833800 -12600 0 NST}
- {3508723800 -9000 1 NDT}
- {3529283400 -12600 0 NST}
- {3540173400 -9000 1 NDT}
- {3560733000 -12600 0 NST}
- {3572227800 -9000 1 NDT}
- {3592787400 -12600 0 NST}
- {3603677400 -9000 1 NDT}
- {3624237000 -12600 0 NST}
- {3635127000 -9000 1 NDT}
- {3655686600 -12600 0 NST}
- {3666576600 -9000 1 NDT}
- {3687136200 -12600 0 NST}
- {3698026200 -9000 1 NDT}
- {3718585800 -12600 0 NST}
- {3730080600 -9000 1 NDT}
- {3750640200 -12600 0 NST}
- {3761530200 -9000 1 NDT}
- {3782089800 -12600 0 NST}
- {3792979800 -9000 1 NDT}
- {3813539400 -12600 0 NST}
- {3824429400 -9000 1 NDT}
- {3844989000 -12600 0 NST}
- {3855879000 -9000 1 NDT}
- {3876438600 -12600 0 NST}
- {3887328600 -9000 1 NDT}
- {3907888200 -12600 0 NST}
- {3919383000 -9000 1 NDT}
- {3939942600 -12600 0 NST}
- {3950832600 -9000 1 NDT}
- {3971392200 -12600 0 NST}
- {3982282200 -9000 1 NDT}
- {4002841800 -12600 0 NST}
- {4013731800 -9000 1 NDT}
- {4034291400 -12600 0 NST}
- {4045181400 -9000 1 NDT}
- {4065741000 -12600 0 NST}
- {4076631000 -9000 1 NDT}
- {4097190600 -12600 0 NST}
+ {1320546660 -12600 0 NST}
+ {1331436660 -9000 1 NDT}
+ {1351996260 -12600 0 NST}
+ {1362886260 -9000 1 NDT}
+ {1383445860 -12600 0 NST}
+ {1394335860 -9000 1 NDT}
+ {1414895460 -12600 0 NST}
+ {1425785460 -9000 1 NDT}
+ {1446345060 -12600 0 NST}
+ {1457839860 -9000 1 NDT}
+ {1478399460 -12600 0 NST}
+ {1489289460 -9000 1 NDT}
+ {1509849060 -12600 0 NST}
+ {1520739060 -9000 1 NDT}
+ {1541298660 -12600 0 NST}
+ {1552188660 -9000 1 NDT}
+ {1572748260 -12600 0 NST}
+ {1583638260 -9000 1 NDT}
+ {1604197860 -12600 0 NST}
+ {1615692660 -9000 1 NDT}
+ {1636252260 -12600 0 NST}
+ {1647142260 -9000 1 NDT}
+ {1667701860 -12600 0 NST}
+ {1678591860 -9000 1 NDT}
+ {1699151460 -12600 0 NST}
+ {1710041460 -9000 1 NDT}
+ {1730601060 -12600 0 NST}
+ {1741491060 -9000 1 NDT}
+ {1762050660 -12600 0 NST}
+ {1772940660 -9000 1 NDT}
+ {1793500260 -12600 0 NST}
+ {1804995060 -9000 1 NDT}
+ {1825554660 -12600 0 NST}
+ {1836444660 -9000 1 NDT}
+ {1857004260 -12600 0 NST}
+ {1867894260 -9000 1 NDT}
+ {1888453860 -12600 0 NST}
+ {1899343860 -9000 1 NDT}
+ {1919903460 -12600 0 NST}
+ {1930793460 -9000 1 NDT}
+ {1951353060 -12600 0 NST}
+ {1962847860 -9000 1 NDT}
+ {1983407460 -12600 0 NST}
+ {1994297460 -9000 1 NDT}
+ {2014857060 -12600 0 NST}
+ {2025747060 -9000 1 NDT}
+ {2046306660 -12600 0 NST}
+ {2057196660 -9000 1 NDT}
+ {2077756260 -12600 0 NST}
+ {2088646260 -9000 1 NDT}
+ {2109205860 -12600 0 NST}
+ {2120095860 -9000 1 NDT}
+ {2140655460 -12600 0 NST}
+ {2152150260 -9000 1 NDT}
+ {2172709860 -12600 0 NST}
+ {2183599860 -9000 1 NDT}
+ {2204159460 -12600 0 NST}
+ {2215049460 -9000 1 NDT}
+ {2235609060 -12600 0 NST}
+ {2246499060 -9000 1 NDT}
+ {2267058660 -12600 0 NST}
+ {2277948660 -9000 1 NDT}
+ {2298508260 -12600 0 NST}
+ {2309398260 -9000 1 NDT}
+ {2329957860 -12600 0 NST}
+ {2341452660 -9000 1 NDT}
+ {2362012260 -12600 0 NST}
+ {2372902260 -9000 1 NDT}
+ {2393461860 -12600 0 NST}
+ {2404351860 -9000 1 NDT}
+ {2424911460 -12600 0 NST}
+ {2435801460 -9000 1 NDT}
+ {2456361060 -12600 0 NST}
+ {2467251060 -9000 1 NDT}
+ {2487810660 -12600 0 NST}
+ {2499305460 -9000 1 NDT}
+ {2519865060 -12600 0 NST}
+ {2530755060 -9000 1 NDT}
+ {2551314660 -12600 0 NST}
+ {2562204660 -9000 1 NDT}
+ {2582764260 -12600 0 NST}
+ {2593654260 -9000 1 NDT}
+ {2614213860 -12600 0 NST}
+ {2625103860 -9000 1 NDT}
+ {2645663460 -12600 0 NST}
+ {2656553460 -9000 1 NDT}
+ {2677113060 -12600 0 NST}
+ {2688607860 -9000 1 NDT}
+ {2709167460 -12600 0 NST}
+ {2720057460 -9000 1 NDT}
+ {2740617060 -12600 0 NST}
+ {2751507060 -9000 1 NDT}
+ {2772066660 -12600 0 NST}
+ {2782956660 -9000 1 NDT}
+ {2803516260 -12600 0 NST}
+ {2814406260 -9000 1 NDT}
+ {2834965860 -12600 0 NST}
+ {2846460660 -9000 1 NDT}
+ {2867020260 -12600 0 NST}
+ {2877910260 -9000 1 NDT}
+ {2898469860 -12600 0 NST}
+ {2909359860 -9000 1 NDT}
+ {2929919460 -12600 0 NST}
+ {2940809460 -9000 1 NDT}
+ {2961369060 -12600 0 NST}
+ {2972259060 -9000 1 NDT}
+ {2992818660 -12600 0 NST}
+ {3003708660 -9000 1 NDT}
+ {3024268260 -12600 0 NST}
+ {3035763060 -9000 1 NDT}
+ {3056322660 -12600 0 NST}
+ {3067212660 -9000 1 NDT}
+ {3087772260 -12600 0 NST}
+ {3098662260 -9000 1 NDT}
+ {3119221860 -12600 0 NST}
+ {3130111860 -9000 1 NDT}
+ {3150671460 -12600 0 NST}
+ {3161561460 -9000 1 NDT}
+ {3182121060 -12600 0 NST}
+ {3193011060 -9000 1 NDT}
+ {3213570660 -12600 0 NST}
+ {3225065460 -9000 1 NDT}
+ {3245625060 -12600 0 NST}
+ {3256515060 -9000 1 NDT}
+ {3277074660 -12600 0 NST}
+ {3287964660 -9000 1 NDT}
+ {3308524260 -12600 0 NST}
+ {3319414260 -9000 1 NDT}
+ {3339973860 -12600 0 NST}
+ {3350863860 -9000 1 NDT}
+ {3371423460 -12600 0 NST}
+ {3382918260 -9000 1 NDT}
+ {3403477860 -12600 0 NST}
+ {3414367860 -9000 1 NDT}
+ {3434927460 -12600 0 NST}
+ {3445817460 -9000 1 NDT}
+ {3466377060 -12600 0 NST}
+ {3477267060 -9000 1 NDT}
+ {3497826660 -12600 0 NST}
+ {3508716660 -9000 1 NDT}
+ {3529276260 -12600 0 NST}
+ {3540166260 -9000 1 NDT}
+ {3560725860 -12600 0 NST}
+ {3572220660 -9000 1 NDT}
+ {3592780260 -12600 0 NST}
+ {3603670260 -9000 1 NDT}
+ {3624229860 -12600 0 NST}
+ {3635119860 -9000 1 NDT}
+ {3655679460 -12600 0 NST}
+ {3666569460 -9000 1 NDT}
+ {3687129060 -12600 0 NST}
+ {3698019060 -9000 1 NDT}
+ {3718578660 -12600 0 NST}
+ {3730073460 -9000 1 NDT}
+ {3750633060 -12600 0 NST}
+ {3761523060 -9000 1 NDT}
+ {3782082660 -12600 0 NST}
+ {3792972660 -9000 1 NDT}
+ {3813532260 -12600 0 NST}
+ {3824422260 -9000 1 NDT}
+ {3844981860 -12600 0 NST}
+ {3855871860 -9000 1 NDT}
+ {3876431460 -12600 0 NST}
+ {3887321460 -9000 1 NDT}
+ {3907881060 -12600 0 NST}
+ {3919375860 -9000 1 NDT}
+ {3939935460 -12600 0 NST}
+ {3950825460 -9000 1 NDT}
+ {3971385060 -12600 0 NST}
+ {3982275060 -9000 1 NDT}
+ {4002834660 -12600 0 NST}
+ {4013724660 -9000 1 NDT}
+ {4034284260 -12600 0 NST}
+ {4045174260 -9000 1 NDT}
+ {4065733860 -12600 0 NST}
+ {4076623860 -9000 1 NDT}
+ {4097183460 -12600 0 NST}
}
diff --git a/library/tzdata/America/Swift_Current b/library/tzdata/America/Swift_Current
index ad07762..dc4aa37 100644
--- a/library/tzdata/America/Swift_Current
+++ b/library/tzdata/America/Swift_Current
@@ -4,7 +4,7 @@ set TZData(:America/Swift_Current) {
{-9223372036854775808 -25880 0 LMT}
{-2030201320 -25200 0 MST}
{-1632063600 -21600 1 MDT}
- {-1615132800 -25200 0 MST}
+ {-1614787200 -25200 0 MST}
{-880210800 -21600 1 MWT}
{-769395600 -21600 1 MPT}
{-765388800 -25200 0 MST}
diff --git a/library/tzdata/America/Tijuana b/library/tzdata/America/Tijuana
index 6118cde..c191c3c 100644
--- a/library/tzdata/America/Tijuana
+++ b/library/tzdata/America/Tijuana
@@ -101,185 +101,184 @@ set TZData(:America/Tijuana) {
{1225011600 -28800 0 PST}
{1238925600 -25200 1 PDT}
{1256461200 -28800 0 PST}
- {1262332800 -28800 0 PST}
- {1268560800 -25200 1 PDT}
- {1289120400 -28800 0 PST}
- {1300010400 -25200 1 PDT}
- {1320570000 -28800 0 PST}
- {1331460000 -25200 1 PDT}
- {1352019600 -28800 0 PST}
- {1362909600 -25200 1 PDT}
- {1383469200 -28800 0 PST}
- {1394359200 -25200 1 PDT}
- {1414918800 -28800 0 PST}
- {1425808800 -25200 1 PDT}
- {1446368400 -28800 0 PST}
- {1457863200 -25200 1 PDT}
- {1478422800 -28800 0 PST}
- {1489312800 -25200 1 PDT}
- {1509872400 -28800 0 PST}
- {1520762400 -25200 1 PDT}
- {1541322000 -28800 0 PST}
- {1552212000 -25200 1 PDT}
- {1572771600 -28800 0 PST}
- {1583661600 -25200 1 PDT}
- {1604221200 -28800 0 PST}
- {1615716000 -25200 1 PDT}
- {1636275600 -28800 0 PST}
- {1647165600 -25200 1 PDT}
- {1667725200 -28800 0 PST}
- {1678615200 -25200 1 PDT}
- {1699174800 -28800 0 PST}
- {1710064800 -25200 1 PDT}
- {1730624400 -28800 0 PST}
- {1741514400 -25200 1 PDT}
- {1762074000 -28800 0 PST}
- {1772964000 -25200 1 PDT}
- {1793523600 -28800 0 PST}
- {1805018400 -25200 1 PDT}
- {1825578000 -28800 0 PST}
- {1836468000 -25200 1 PDT}
- {1857027600 -28800 0 PST}
- {1867917600 -25200 1 PDT}
- {1888477200 -28800 0 PST}
- {1899367200 -25200 1 PDT}
- {1919926800 -28800 0 PST}
- {1930816800 -25200 1 PDT}
- {1951376400 -28800 0 PST}
- {1962871200 -25200 1 PDT}
- {1983430800 -28800 0 PST}
- {1994320800 -25200 1 PDT}
- {2014880400 -28800 0 PST}
- {2025770400 -25200 1 PDT}
- {2046330000 -28800 0 PST}
- {2057220000 -25200 1 PDT}
- {2077779600 -28800 0 PST}
- {2088669600 -25200 1 PDT}
- {2109229200 -28800 0 PST}
- {2120119200 -25200 1 PDT}
- {2140678800 -28800 0 PST}
- {2152173600 -25200 1 PDT}
- {2172733200 -28800 0 PST}
- {2183623200 -25200 1 PDT}
- {2204182800 -28800 0 PST}
- {2215072800 -25200 1 PDT}
- {2235632400 -28800 0 PST}
- {2246522400 -25200 1 PDT}
- {2267082000 -28800 0 PST}
- {2277972000 -25200 1 PDT}
- {2298531600 -28800 0 PST}
- {2309421600 -25200 1 PDT}
- {2329981200 -28800 0 PST}
- {2341476000 -25200 1 PDT}
- {2362035600 -28800 0 PST}
- {2372925600 -25200 1 PDT}
- {2393485200 -28800 0 PST}
- {2404375200 -25200 1 PDT}
- {2424934800 -28800 0 PST}
- {2435824800 -25200 1 PDT}
- {2456384400 -28800 0 PST}
- {2467274400 -25200 1 PDT}
- {2487834000 -28800 0 PST}
- {2499328800 -25200 1 PDT}
- {2519888400 -28800 0 PST}
- {2530778400 -25200 1 PDT}
- {2551338000 -28800 0 PST}
- {2562228000 -25200 1 PDT}
- {2582787600 -28800 0 PST}
- {2593677600 -25200 1 PDT}
- {2614237200 -28800 0 PST}
- {2625127200 -25200 1 PDT}
- {2645686800 -28800 0 PST}
- {2656576800 -25200 1 PDT}
- {2677136400 -28800 0 PST}
- {2688631200 -25200 1 PDT}
- {2709190800 -28800 0 PST}
- {2720080800 -25200 1 PDT}
- {2740640400 -28800 0 PST}
- {2751530400 -25200 1 PDT}
- {2772090000 -28800 0 PST}
- {2782980000 -25200 1 PDT}
- {2803539600 -28800 0 PST}
- {2814429600 -25200 1 PDT}
- {2834989200 -28800 0 PST}
- {2846484000 -25200 1 PDT}
- {2867043600 -28800 0 PST}
- {2877933600 -25200 1 PDT}
- {2898493200 -28800 0 PST}
- {2909383200 -25200 1 PDT}
- {2929942800 -28800 0 PST}
- {2940832800 -25200 1 PDT}
- {2961392400 -28800 0 PST}
- {2972282400 -25200 1 PDT}
- {2992842000 -28800 0 PST}
- {3003732000 -25200 1 PDT}
- {3024291600 -28800 0 PST}
- {3035786400 -25200 1 PDT}
- {3056346000 -28800 0 PST}
- {3067236000 -25200 1 PDT}
- {3087795600 -28800 0 PST}
- {3098685600 -25200 1 PDT}
- {3119245200 -28800 0 PST}
- {3130135200 -25200 1 PDT}
- {3150694800 -28800 0 PST}
- {3161584800 -25200 1 PDT}
- {3182144400 -28800 0 PST}
- {3193034400 -25200 1 PDT}
- {3213594000 -28800 0 PST}
- {3225088800 -25200 1 PDT}
- {3245648400 -28800 0 PST}
- {3256538400 -25200 1 PDT}
- {3277098000 -28800 0 PST}
- {3287988000 -25200 1 PDT}
- {3308547600 -28800 0 PST}
- {3319437600 -25200 1 PDT}
- {3339997200 -28800 0 PST}
- {3350887200 -25200 1 PDT}
- {3371446800 -28800 0 PST}
- {3382941600 -25200 1 PDT}
- {3403501200 -28800 0 PST}
- {3414391200 -25200 1 PDT}
- {3434950800 -28800 0 PST}
- {3445840800 -25200 1 PDT}
- {3466400400 -28800 0 PST}
- {3477290400 -25200 1 PDT}
- {3497850000 -28800 0 PST}
- {3508740000 -25200 1 PDT}
- {3529299600 -28800 0 PST}
- {3540189600 -25200 1 PDT}
- {3560749200 -28800 0 PST}
- {3572244000 -25200 1 PDT}
- {3592803600 -28800 0 PST}
- {3603693600 -25200 1 PDT}
- {3624253200 -28800 0 PST}
- {3635143200 -25200 1 PDT}
- {3655702800 -28800 0 PST}
- {3666592800 -25200 1 PDT}
- {3687152400 -28800 0 PST}
- {3698042400 -25200 1 PDT}
- {3718602000 -28800 0 PST}
- {3730096800 -25200 1 PDT}
- {3750656400 -28800 0 PST}
- {3761546400 -25200 1 PDT}
- {3782106000 -28800 0 PST}
- {3792996000 -25200 1 PDT}
- {3813555600 -28800 0 PST}
- {3824445600 -25200 1 PDT}
- {3845005200 -28800 0 PST}
- {3855895200 -25200 1 PDT}
- {3876454800 -28800 0 PST}
- {3887344800 -25200 1 PDT}
- {3907904400 -28800 0 PST}
- {3919399200 -25200 1 PDT}
- {3939958800 -28800 0 PST}
- {3950848800 -25200 1 PDT}
- {3971408400 -28800 0 PST}
- {3982298400 -25200 1 PDT}
- {4002858000 -28800 0 PST}
- {4013748000 -25200 1 PDT}
- {4034307600 -28800 0 PST}
- {4045197600 -25200 1 PDT}
- {4065757200 -28800 0 PST}
- {4076647200 -25200 1 PDT}
- {4097206800 -28800 0 PST}
+ {1270375200 -25200 1 PDT}
+ {1288515600 -28800 0 PST}
+ {1301824800 -25200 1 PDT}
+ {1319965200 -28800 0 PST}
+ {1333274400 -25200 1 PDT}
+ {1351414800 -28800 0 PST}
+ {1365328800 -25200 1 PDT}
+ {1382864400 -28800 0 PST}
+ {1396778400 -25200 1 PDT}
+ {1414314000 -28800 0 PST}
+ {1428228000 -25200 1 PDT}
+ {1445763600 -28800 0 PST}
+ {1459677600 -25200 1 PDT}
+ {1477818000 -28800 0 PST}
+ {1491127200 -25200 1 PDT}
+ {1509267600 -28800 0 PST}
+ {1522576800 -25200 1 PDT}
+ {1540717200 -28800 0 PST}
+ {1554631200 -25200 1 PDT}
+ {1572166800 -28800 0 PST}
+ {1586080800 -25200 1 PDT}
+ {1603616400 -28800 0 PST}
+ {1617530400 -25200 1 PDT}
+ {1635670800 -28800 0 PST}
+ {1648980000 -25200 1 PDT}
+ {1667120400 -28800 0 PST}
+ {1680429600 -25200 1 PDT}
+ {1698570000 -28800 0 PST}
+ {1712484000 -25200 1 PDT}
+ {1730019600 -28800 0 PST}
+ {1743933600 -25200 1 PDT}
+ {1761469200 -28800 0 PST}
+ {1775383200 -25200 1 PDT}
+ {1792918800 -28800 0 PST}
+ {1806832800 -25200 1 PDT}
+ {1824973200 -28800 0 PST}
+ {1838282400 -25200 1 PDT}
+ {1856422800 -28800 0 PST}
+ {1869732000 -25200 1 PDT}
+ {1887872400 -28800 0 PST}
+ {1901786400 -25200 1 PDT}
+ {1919322000 -28800 0 PST}
+ {1933236000 -25200 1 PDT}
+ {1950771600 -28800 0 PST}
+ {1964685600 -25200 1 PDT}
+ {1982826000 -28800 0 PST}
+ {1996135200 -25200 1 PDT}
+ {2014275600 -28800 0 PST}
+ {2027584800 -25200 1 PDT}
+ {2045725200 -28800 0 PST}
+ {2059034400 -25200 1 PDT}
+ {2077174800 -28800 0 PST}
+ {2091088800 -25200 1 PDT}
+ {2108624400 -28800 0 PST}
+ {2122538400 -25200 1 PDT}
+ {2140074000 -28800 0 PST}
+ {2153988000 -25200 1 PDT}
+ {2172128400 -28800 0 PST}
+ {2185437600 -25200 1 PDT}
+ {2203578000 -28800 0 PST}
+ {2216887200 -25200 1 PDT}
+ {2235027600 -28800 0 PST}
+ {2248941600 -25200 1 PDT}
+ {2266477200 -28800 0 PST}
+ {2280391200 -25200 1 PDT}
+ {2297926800 -28800 0 PST}
+ {2311840800 -25200 1 PDT}
+ {2329376400 -28800 0 PST}
+ {2343290400 -25200 1 PDT}
+ {2361430800 -28800 0 PST}
+ {2374740000 -25200 1 PDT}
+ {2392880400 -28800 0 PST}
+ {2406189600 -25200 1 PDT}
+ {2424330000 -28800 0 PST}
+ {2438244000 -25200 1 PDT}
+ {2455779600 -28800 0 PST}
+ {2469693600 -25200 1 PDT}
+ {2487229200 -28800 0 PST}
+ {2501143200 -25200 1 PDT}
+ {2519283600 -28800 0 PST}
+ {2532592800 -25200 1 PDT}
+ {2550733200 -28800 0 PST}
+ {2564042400 -25200 1 PDT}
+ {2582182800 -28800 0 PST}
+ {2596096800 -25200 1 PDT}
+ {2613632400 -28800 0 PST}
+ {2627546400 -25200 1 PDT}
+ {2645082000 -28800 0 PST}
+ {2658996000 -25200 1 PDT}
+ {2676531600 -28800 0 PST}
+ {2690445600 -25200 1 PDT}
+ {2708586000 -28800 0 PST}
+ {2721895200 -25200 1 PDT}
+ {2740035600 -28800 0 PST}
+ {2753344800 -25200 1 PDT}
+ {2771485200 -28800 0 PST}
+ {2785399200 -25200 1 PDT}
+ {2802934800 -28800 0 PST}
+ {2816848800 -25200 1 PDT}
+ {2834384400 -28800 0 PST}
+ {2848298400 -25200 1 PDT}
+ {2866438800 -28800 0 PST}
+ {2879748000 -25200 1 PDT}
+ {2897888400 -28800 0 PST}
+ {2911197600 -25200 1 PDT}
+ {2929338000 -28800 0 PST}
+ {2942647200 -25200 1 PDT}
+ {2960787600 -28800 0 PST}
+ {2974701600 -25200 1 PDT}
+ {2992237200 -28800 0 PST}
+ {3006151200 -25200 1 PDT}
+ {3023686800 -28800 0 PST}
+ {3037600800 -25200 1 PDT}
+ {3055741200 -28800 0 PST}
+ {3069050400 -25200 1 PDT}
+ {3087190800 -28800 0 PST}
+ {3100500000 -25200 1 PDT}
+ {3118640400 -28800 0 PST}
+ {3132554400 -25200 1 PDT}
+ {3150090000 -28800 0 PST}
+ {3164004000 -25200 1 PDT}
+ {3181539600 -28800 0 PST}
+ {3195453600 -25200 1 PDT}
+ {3212989200 -28800 0 PST}
+ {3226903200 -25200 1 PDT}
+ {3245043600 -28800 0 PST}
+ {3258352800 -25200 1 PDT}
+ {3276493200 -28800 0 PST}
+ {3289802400 -25200 1 PDT}
+ {3307942800 -28800 0 PST}
+ {3321856800 -25200 1 PDT}
+ {3339392400 -28800 0 PST}
+ {3353306400 -25200 1 PDT}
+ {3370842000 -28800 0 PST}
+ {3384756000 -25200 1 PDT}
+ {3402896400 -28800 0 PST}
+ {3416205600 -25200 1 PDT}
+ {3434346000 -28800 0 PST}
+ {3447655200 -25200 1 PDT}
+ {3465795600 -28800 0 PST}
+ {3479709600 -25200 1 PDT}
+ {3497245200 -28800 0 PST}
+ {3511159200 -25200 1 PDT}
+ {3528694800 -28800 0 PST}
+ {3542608800 -25200 1 PDT}
+ {3560144400 -28800 0 PST}
+ {3574058400 -25200 1 PDT}
+ {3592198800 -28800 0 PST}
+ {3605508000 -25200 1 PDT}
+ {3623648400 -28800 0 PST}
+ {3636957600 -25200 1 PDT}
+ {3655098000 -28800 0 PST}
+ {3669012000 -25200 1 PDT}
+ {3686547600 -28800 0 PST}
+ {3700461600 -25200 1 PDT}
+ {3717997200 -28800 0 PST}
+ {3731911200 -25200 1 PDT}
+ {3750051600 -28800 0 PST}
+ {3763360800 -25200 1 PDT}
+ {3781501200 -28800 0 PST}
+ {3794810400 -25200 1 PDT}
+ {3812950800 -28800 0 PST}
+ {3826260000 -25200 1 PDT}
+ {3844400400 -28800 0 PST}
+ {3858314400 -25200 1 PDT}
+ {3875850000 -28800 0 PST}
+ {3889764000 -25200 1 PDT}
+ {3907299600 -28800 0 PST}
+ {3921213600 -25200 1 PDT}
+ {3939354000 -28800 0 PST}
+ {3952663200 -25200 1 PDT}
+ {3970803600 -28800 0 PST}
+ {3984112800 -25200 1 PDT}
+ {4002253200 -28800 0 PST}
+ {4016167200 -25200 1 PDT}
+ {4033702800 -28800 0 PST}
+ {4047616800 -25200 1 PDT}
+ {4065152400 -28800 0 PST}
+ {4079066400 -25200 1 PDT}
+ {4096602000 -28800 0 PST}
}
diff --git a/library/tzdata/America/Toronto b/library/tzdata/America/Toronto
index 09bf786..e4fc91a 100644
--- a/library/tzdata/America/Toronto
+++ b/library/tzdata/America/Toronto
@@ -4,7 +4,7 @@ set TZData(:America/Toronto) {
{-9223372036854775808 -19052 0 LMT}
{-2366736148 -18000 0 EST}
{-1632070800 -14400 1 EDT}
- {-1615140000 -18000 0 EST}
+ {-1614794400 -18000 0 EST}
{-1609441200 -18000 0 EST}
{-1601753400 -14400 1 EDT}
{-1583697600 -18000 0 EST}
diff --git a/library/tzdata/America/Vancouver b/library/tzdata/America/Vancouver
index aef639a..b2e0415 100644
--- a/library/tzdata/America/Vancouver
+++ b/library/tzdata/America/Vancouver
@@ -4,7 +4,7 @@ set TZData(:America/Vancouver) {
{-9223372036854775808 -29548 0 LMT}
{-2713880852 -28800 0 PST}
{-1632060000 -25200 1 PDT}
- {-1615129200 -28800 0 PST}
+ {-1614783600 -28800 0 PST}
{-880207200 -25200 1 PWT}
{-769395600 -25200 1 PPT}
{-765385200 -28800 0 PST}
diff --git a/library/tzdata/America/Winnipeg b/library/tzdata/America/Winnipeg
index e6efe47..7e6208a 100644
--- a/library/tzdata/America/Winnipeg
+++ b/library/tzdata/America/Winnipeg
@@ -6,7 +6,7 @@ set TZData(:America/Winnipeg) {
{-1694368800 -18000 1 CDT}
{-1681671600 -21600 0 CST}
{-1632067200 -18000 1 CDT}
- {-1615136400 -21600 0 CST}
+ {-1614790800 -21600 0 CST}
{-1029686400 -18000 1 CDT}
{-1018198800 -21600 0 CST}
{-880214400 -18000 1 CWT}
diff --git a/library/tzdata/Antarctica/Casey b/library/tzdata/Antarctica/Casey
index cbe3e3c..6d383f3 100644
--- a/library/tzdata/Antarctica/Casey
+++ b/library/tzdata/Antarctica/Casey
@@ -3,8 +3,4 @@
set TZData(:Antarctica/Casey) {
{-9223372036854775808 0 0 zzz}
{-31536000 28800 0 WST}
- {1255802400 39600 0 CAST}
- {1267714800 28800 0 WST}
- {1319738400 39600 0 CAST}
- {1329843600 28800 0 WST}
}
diff --git a/library/tzdata/Antarctica/Davis b/library/tzdata/Antarctica/Davis
index 2762d2f..f4b7282 100644
--- a/library/tzdata/Antarctica/Davis
+++ b/library/tzdata/Antarctica/Davis
@@ -5,8 +5,4 @@ set TZData(:Antarctica/Davis) {
{-409190400 25200 0 DAVT}
{-163062000 0 0 zzz}
{-28857600 25200 0 DAVT}
- {1255806000 18000 0 DAVT}
- {1268251200 25200 0 DAVT}
- {1319742000 18000 0 DAVT}
- {1329854400 25200 0 DAVT}
}
diff --git a/library/tzdata/Antarctica/Macquarie b/library/tzdata/Antarctica/Macquarie
deleted file mode 100644
index bd5cf8a..0000000
--- a/library/tzdata/Antarctica/Macquarie
+++ /dev/null
@@ -1,97 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Antarctica/Macquarie) {
- {-9223372036854775808 0 0 zzz}
- {-2214259200 36000 0 EST}
- {-1680508800 39600 1 EST}
- {-1669892400 39600 0 EST}
- {-1665392400 36000 0 EST}
- {-1601719200 0 0 zzz}
- {-94730400 36000 0 EST}
- {-71136000 39600 1 EST}
- {-55411200 36000 0 EST}
- {-37267200 39600 1 EST}
- {-25776000 36000 0 EST}
- {-5817600 39600 1 EST}
- {5673600 36000 0 EST}
- {25632000 39600 1 EST}
- {37728000 36000 0 EST}
- {57686400 39600 1 EST}
- {67968000 36000 0 EST}
- {89136000 39600 1 EST}
- {100022400 36000 0 EST}
- {120585600 39600 1 EST}
- {131472000 36000 0 EST}
- {152035200 39600 1 EST}
- {162921600 36000 0 EST}
- {183484800 39600 1 EST}
- {194976000 36000 0 EST}
- {215539200 39600 1 EST}
- {226425600 36000 0 EST}
- {246988800 39600 1 EST}
- {257875200 36000 0 EST}
- {278438400 39600 1 EST}
- {289324800 36000 0 EST}
- {309888000 39600 1 EST}
- {320774400 36000 0 EST}
- {341337600 39600 1 EST}
- {352224000 36000 0 EST}
- {372787200 39600 1 EST}
- {386092800 36000 0 EST}
- {404841600 39600 1 EST}
- {417542400 36000 0 EST}
- {436291200 39600 1 EST}
- {447177600 36000 0 EST}
- {467740800 39600 1 EST}
- {478627200 36000 0 EST}
- {499190400 39600 1 EST}
- {510076800 36000 0 EST}
- {530035200 39600 1 EST}
- {542736000 36000 0 EST}
- {562089600 39600 1 EST}
- {574790400 36000 0 EST}
- {594144000 39600 1 EST}
- {606240000 36000 0 EST}
- {625593600 39600 1 EST}
- {637689600 36000 0 EST}
- {657043200 39600 1 EST}
- {670348800 36000 0 EST}
- {686678400 39600 1 EST}
- {701798400 36000 0 EST}
- {718128000 39600 1 EST}
- {733248000 36000 0 EST}
- {749577600 39600 1 EST}
- {764697600 36000 0 EST}
- {781027200 39600 1 EST}
- {796147200 36000 0 EST}
- {812476800 39600 1 EST}
- {828201600 36000 0 EST}
- {844531200 39600 1 EST}
- {859651200 36000 0 EST}
- {875980800 39600 1 EST}
- {891100800 36000 0 EST}
- {907430400 39600 1 EST}
- {922550400 36000 0 EST}
- {938880000 39600 1 EST}
- {954000000 36000 0 EST}
- {967305600 39600 1 EST}
- {985449600 36000 0 EST}
- {1002384000 39600 1 EST}
- {1017504000 36000 0 EST}
- {1033833600 39600 1 EST}
- {1048953600 36000 0 EST}
- {1065283200 39600 1 EST}
- {1080403200 36000 0 EST}
- {1096732800 39600 1 EST}
- {1111852800 36000 0 EST}
- {1128182400 39600 1 EST}
- {1143907200 36000 0 EST}
- {1159632000 39600 1 EST}
- {1174752000 36000 0 EST}
- {1191686400 39600 1 EST}
- {1207411200 36000 0 EST}
- {1223136000 39600 1 EST}
- {1238860800 36000 0 EST}
- {1254585600 39600 1 EST}
- {1270310400 39600 0 MIST}
-}
diff --git a/library/tzdata/Antarctica/Mawson b/library/tzdata/Antarctica/Mawson
index ba03ba1..1f0c3fe 100644
--- a/library/tzdata/Antarctica/Mawson
+++ b/library/tzdata/Antarctica/Mawson
@@ -3,5 +3,4 @@
set TZData(:Antarctica/Mawson) {
{-9223372036854775808 0 0 zzz}
{-501206400 21600 0 MAWT}
- {1255809600 18000 0 MAWT}
}
diff --git a/library/tzdata/Antarctica/Palmer b/library/tzdata/Antarctica/Palmer
index e87b171..1e24754 100644
--- a/library/tzdata/Antarctica/Palmer
+++ b/library/tzdata/Antarctica/Palmer
@@ -67,188 +67,188 @@ set TZData(:Antarctica/Palmer) {
{1160884800 -10800 1 CLST}
{1173582000 -14400 0 CLT}
{1192334400 -10800 1 CLST}
- {1206846000 -14400 0 CLT}
+ {1205031600 -14400 0 CLT}
{1223784000 -10800 1 CLST}
{1237086000 -14400 0 CLT}
{1255233600 -10800 1 CLST}
- {1270350000 -14400 0 CLT}
+ {1268535600 -14400 0 CLT}
{1286683200 -10800 1 CLST}
- {1304823600 -14400 0 CLT}
- {1313899200 -10800 1 CLST}
- {1335668400 -14400 0 CLT}
- {1346558400 -10800 1 CLST}
- {1367118000 -14400 0 CLT}
- {1378612800 -10800 1 CLST}
- {1398567600 -14400 0 CLT}
- {1410062400 -10800 1 CLST}
- {1430017200 -14400 0 CLT}
- {1441512000 -10800 1 CLST}
- {1461466800 -14400 0 CLT}
- {1472961600 -10800 1 CLST}
- {1492916400 -14400 0 CLT}
- {1504411200 -10800 1 CLST}
- {1524970800 -14400 0 CLT}
- {1535860800 -10800 1 CLST}
- {1556420400 -14400 0 CLT}
- {1567915200 -10800 1 CLST}
- {1587870000 -14400 0 CLT}
- {1599364800 -10800 1 CLST}
- {1619319600 -14400 0 CLT}
- {1630814400 -10800 1 CLST}
- {1650769200 -14400 0 CLT}
- {1662264000 -10800 1 CLST}
- {1682218800 -14400 0 CLT}
- {1693713600 -10800 1 CLST}
- {1714273200 -14400 0 CLT}
- {1725768000 -10800 1 CLST}
- {1745722800 -14400 0 CLT}
- {1757217600 -10800 1 CLST}
- {1777172400 -14400 0 CLT}
- {1788667200 -10800 1 CLST}
- {1808622000 -14400 0 CLT}
- {1820116800 -10800 1 CLST}
- {1840071600 -14400 0 CLT}
- {1851566400 -10800 1 CLST}
- {1872126000 -14400 0 CLT}
- {1883016000 -10800 1 CLST}
- {1903575600 -14400 0 CLT}
- {1915070400 -10800 1 CLST}
- {1935025200 -14400 0 CLT}
- {1946520000 -10800 1 CLST}
- {1966474800 -14400 0 CLT}
- {1977969600 -10800 1 CLST}
- {1997924400 -14400 0 CLT}
- {2009419200 -10800 1 CLST}
- {2029374000 -14400 0 CLT}
- {2040868800 -10800 1 CLST}
- {2061428400 -14400 0 CLT}
- {2072318400 -10800 1 CLST}
- {2092878000 -14400 0 CLT}
- {2104372800 -10800 1 CLST}
- {2124327600 -14400 0 CLT}
- {2135822400 -10800 1 CLST}
- {2155777200 -14400 0 CLT}
- {2167272000 -10800 1 CLST}
- {2187226800 -14400 0 CLT}
- {2198721600 -10800 1 CLST}
- {2219281200 -14400 0 CLT}
- {2230171200 -10800 1 CLST}
- {2250730800 -14400 0 CLT}
- {2262225600 -10800 1 CLST}
- {2282180400 -14400 0 CLT}
- {2293675200 -10800 1 CLST}
- {2313630000 -14400 0 CLT}
- {2325124800 -10800 1 CLST}
- {2345079600 -14400 0 CLT}
- {2356574400 -10800 1 CLST}
- {2376529200 -14400 0 CLT}
- {2388024000 -10800 1 CLST}
- {2408583600 -14400 0 CLT}
- {2419473600 -10800 1 CLST}
- {2440033200 -14400 0 CLT}
- {2451528000 -10800 1 CLST}
- {2471482800 -14400 0 CLT}
- {2482977600 -10800 1 CLST}
- {2502932400 -14400 0 CLT}
- {2514427200 -10800 1 CLST}
- {2534382000 -14400 0 CLT}
- {2545876800 -10800 1 CLST}
- {2565831600 -14400 0 CLT}
- {2577326400 -10800 1 CLST}
- {2597886000 -14400 0 CLT}
- {2609380800 -10800 1 CLST}
- {2629335600 -14400 0 CLT}
- {2640830400 -10800 1 CLST}
- {2660785200 -14400 0 CLT}
- {2672280000 -10800 1 CLST}
- {2692234800 -14400 0 CLT}
- {2703729600 -10800 1 CLST}
- {2723684400 -14400 0 CLT}
- {2735179200 -10800 1 CLST}
- {2755738800 -14400 0 CLT}
- {2766628800 -10800 1 CLST}
- {2787188400 -14400 0 CLT}
- {2798683200 -10800 1 CLST}
- {2818638000 -14400 0 CLT}
- {2830132800 -10800 1 CLST}
- {2850087600 -14400 0 CLT}
- {2861582400 -10800 1 CLST}
- {2881537200 -14400 0 CLT}
- {2893032000 -10800 1 CLST}
- {2912986800 -14400 0 CLT}
- {2924481600 -10800 1 CLST}
- {2945041200 -14400 0 CLT}
- {2955931200 -10800 1 CLST}
- {2976490800 -14400 0 CLT}
- {2987985600 -10800 1 CLST}
- {3007940400 -14400 0 CLT}
- {3019435200 -10800 1 CLST}
- {3039390000 -14400 0 CLT}
- {3050884800 -10800 1 CLST}
- {3070839600 -14400 0 CLT}
- {3082334400 -10800 1 CLST}
- {3102894000 -14400 0 CLT}
- {3113784000 -10800 1 CLST}
- {3134343600 -14400 0 CLT}
- {3145838400 -10800 1 CLST}
- {3165793200 -14400 0 CLT}
- {3177288000 -10800 1 CLST}
- {3197242800 -14400 0 CLT}
- {3208737600 -10800 1 CLST}
- {3228692400 -14400 0 CLT}
- {3240187200 -10800 1 CLST}
- {3260142000 -14400 0 CLT}
- {3271636800 -10800 1 CLST}
- {3292196400 -14400 0 CLT}
- {3303086400 -10800 1 CLST}
- {3323646000 -14400 0 CLT}
- {3335140800 -10800 1 CLST}
- {3355095600 -14400 0 CLT}
- {3366590400 -10800 1 CLST}
- {3386545200 -14400 0 CLT}
- {3398040000 -10800 1 CLST}
- {3417994800 -14400 0 CLT}
- {3429489600 -10800 1 CLST}
- {3449444400 -14400 0 CLT}
- {3460939200 -10800 1 CLST}
- {3481498800 -14400 0 CLT}
- {3492993600 -10800 1 CLST}
- {3512948400 -14400 0 CLT}
- {3524443200 -10800 1 CLST}
- {3544398000 -14400 0 CLT}
- {3555892800 -10800 1 CLST}
- {3575847600 -14400 0 CLT}
- {3587342400 -10800 1 CLST}
- {3607297200 -14400 0 CLT}
- {3618792000 -10800 1 CLST}
- {3639351600 -14400 0 CLT}
- {3650241600 -10800 1 CLST}
- {3670801200 -14400 0 CLT}
- {3682296000 -10800 1 CLST}
- {3702250800 -14400 0 CLT}
- {3713745600 -10800 1 CLST}
- {3733700400 -14400 0 CLT}
- {3745195200 -10800 1 CLST}
- {3765150000 -14400 0 CLT}
- {3776644800 -10800 1 CLST}
- {3796599600 -14400 0 CLT}
- {3808094400 -10800 1 CLST}
- {3828654000 -14400 0 CLT}
- {3839544000 -10800 1 CLST}
- {3860103600 -14400 0 CLT}
- {3871598400 -10800 1 CLST}
- {3891553200 -14400 0 CLT}
- {3903048000 -10800 1 CLST}
- {3923002800 -14400 0 CLT}
- {3934497600 -10800 1 CLST}
- {3954452400 -14400 0 CLT}
- {3965947200 -10800 1 CLST}
- {3986506800 -14400 0 CLT}
- {3997396800 -10800 1 CLST}
- {4017956400 -14400 0 CLT}
- {4029451200 -10800 1 CLST}
- {4049406000 -14400 0 CLT}
- {4060900800 -10800 1 CLST}
- {4080855600 -14400 0 CLT}
- {4092350400 -10800 1 CLST}
+ {1299985200 -14400 0 CLT}
+ {1318132800 -10800 1 CLST}
+ {1331434800 -14400 0 CLT}
+ {1350187200 -10800 1 CLST}
+ {1362884400 -14400 0 CLT}
+ {1381636800 -10800 1 CLST}
+ {1394334000 -14400 0 CLT}
+ {1413086400 -10800 1 CLST}
+ {1426388400 -14400 0 CLT}
+ {1444536000 -10800 1 CLST}
+ {1457838000 -14400 0 CLT}
+ {1475985600 -10800 1 CLST}
+ {1489287600 -14400 0 CLT}
+ {1508040000 -10800 1 CLST}
+ {1520737200 -14400 0 CLT}
+ {1539489600 -10800 1 CLST}
+ {1552186800 -14400 0 CLT}
+ {1570939200 -10800 1 CLST}
+ {1584241200 -14400 0 CLT}
+ {1602388800 -10800 1 CLST}
+ {1615690800 -14400 0 CLT}
+ {1633838400 -10800 1 CLST}
+ {1647140400 -14400 0 CLT}
+ {1665288000 -10800 1 CLST}
+ {1678590000 -14400 0 CLT}
+ {1697342400 -10800 1 CLST}
+ {1710039600 -14400 0 CLT}
+ {1728792000 -10800 1 CLST}
+ {1741489200 -14400 0 CLT}
+ {1760241600 -10800 1 CLST}
+ {1773543600 -14400 0 CLT}
+ {1791691200 -10800 1 CLST}
+ {1804993200 -14400 0 CLT}
+ {1823140800 -10800 1 CLST}
+ {1836442800 -14400 0 CLT}
+ {1855195200 -10800 1 CLST}
+ {1867892400 -14400 0 CLT}
+ {1886644800 -10800 1 CLST}
+ {1899342000 -14400 0 CLT}
+ {1918094400 -10800 1 CLST}
+ {1930791600 -14400 0 CLT}
+ {1949544000 -10800 1 CLST}
+ {1962846000 -14400 0 CLT}
+ {1980993600 -10800 1 CLST}
+ {1994295600 -14400 0 CLT}
+ {2012443200 -10800 1 CLST}
+ {2025745200 -14400 0 CLT}
+ {2044497600 -10800 1 CLST}
+ {2057194800 -14400 0 CLT}
+ {2075947200 -10800 1 CLST}
+ {2088644400 -14400 0 CLT}
+ {2107396800 -10800 1 CLST}
+ {2120698800 -14400 0 CLT}
+ {2138846400 -10800 1 CLST}
+ {2152148400 -14400 0 CLT}
+ {2170296000 -10800 1 CLST}
+ {2183598000 -14400 0 CLT}
+ {2201745600 -10800 1 CLST}
+ {2215047600 -14400 0 CLT}
+ {2233800000 -10800 1 CLST}
+ {2246497200 -14400 0 CLT}
+ {2265249600 -10800 1 CLST}
+ {2277946800 -14400 0 CLT}
+ {2296699200 -10800 1 CLST}
+ {2310001200 -14400 0 CLT}
+ {2328148800 -10800 1 CLST}
+ {2341450800 -14400 0 CLT}
+ {2359598400 -10800 1 CLST}
+ {2372900400 -14400 0 CLT}
+ {2391652800 -10800 1 CLST}
+ {2404350000 -14400 0 CLT}
+ {2423102400 -10800 1 CLST}
+ {2435799600 -14400 0 CLT}
+ {2454552000 -10800 1 CLST}
+ {2467854000 -14400 0 CLT}
+ {2486001600 -10800 1 CLST}
+ {2499303600 -14400 0 CLT}
+ {2517451200 -10800 1 CLST}
+ {2530753200 -14400 0 CLT}
+ {2548900800 -10800 1 CLST}
+ {2562202800 -14400 0 CLT}
+ {2580955200 -10800 1 CLST}
+ {2593652400 -14400 0 CLT}
+ {2612404800 -10800 1 CLST}
+ {2625102000 -14400 0 CLT}
+ {2643854400 -10800 1 CLST}
+ {2657156400 -14400 0 CLT}
+ {2675304000 -10800 1 CLST}
+ {2688606000 -14400 0 CLT}
+ {2706753600 -10800 1 CLST}
+ {2720055600 -14400 0 CLT}
+ {2738808000 -10800 1 CLST}
+ {2751505200 -14400 0 CLT}
+ {2770257600 -10800 1 CLST}
+ {2782954800 -14400 0 CLT}
+ {2801707200 -10800 1 CLST}
+ {2814404400 -14400 0 CLT}
+ {2833156800 -10800 1 CLST}
+ {2846458800 -14400 0 CLT}
+ {2864606400 -10800 1 CLST}
+ {2877908400 -14400 0 CLT}
+ {2896056000 -10800 1 CLST}
+ {2909358000 -14400 0 CLT}
+ {2928110400 -10800 1 CLST}
+ {2940807600 -14400 0 CLT}
+ {2959560000 -10800 1 CLST}
+ {2972257200 -14400 0 CLT}
+ {2991009600 -10800 1 CLST}
+ {3004311600 -14400 0 CLT}
+ {3022459200 -10800 1 CLST}
+ {3035761200 -14400 0 CLT}
+ {3053908800 -10800 1 CLST}
+ {3067210800 -14400 0 CLT}
+ {3085358400 -10800 1 CLST}
+ {3098660400 -14400 0 CLT}
+ {3117412800 -10800 1 CLST}
+ {3130110000 -14400 0 CLT}
+ {3148862400 -10800 1 CLST}
+ {3161559600 -14400 0 CLT}
+ {3180312000 -10800 1 CLST}
+ {3193614000 -14400 0 CLT}
+ {3211761600 -10800 1 CLST}
+ {3225063600 -14400 0 CLT}
+ {3243211200 -10800 1 CLST}
+ {3256513200 -14400 0 CLT}
+ {3275265600 -10800 1 CLST}
+ {3287962800 -14400 0 CLT}
+ {3306715200 -10800 1 CLST}
+ {3319412400 -14400 0 CLT}
+ {3338164800 -10800 1 CLST}
+ {3351466800 -14400 0 CLT}
+ {3369614400 -10800 1 CLST}
+ {3382916400 -14400 0 CLT}
+ {3401064000 -10800 1 CLST}
+ {3414366000 -14400 0 CLT}
+ {3432513600 -10800 1 CLST}
+ {3445815600 -14400 0 CLT}
+ {3464568000 -10800 1 CLST}
+ {3477265200 -14400 0 CLT}
+ {3496017600 -10800 1 CLST}
+ {3508714800 -14400 0 CLT}
+ {3527467200 -10800 1 CLST}
+ {3540769200 -14400 0 CLT}
+ {3558916800 -10800 1 CLST}
+ {3572218800 -14400 0 CLT}
+ {3590366400 -10800 1 CLST}
+ {3603668400 -14400 0 CLT}
+ {3622420800 -10800 1 CLST}
+ {3635118000 -14400 0 CLT}
+ {3653870400 -10800 1 CLST}
+ {3666567600 -14400 0 CLT}
+ {3685320000 -10800 1 CLST}
+ {3698017200 -14400 0 CLT}
+ {3716769600 -10800 1 CLST}
+ {3730071600 -14400 0 CLT}
+ {3748219200 -10800 1 CLST}
+ {3761521200 -14400 0 CLT}
+ {3779668800 -10800 1 CLST}
+ {3792970800 -14400 0 CLT}
+ {3811723200 -10800 1 CLST}
+ {3824420400 -14400 0 CLT}
+ {3843172800 -10800 1 CLST}
+ {3855870000 -14400 0 CLT}
+ {3874622400 -10800 1 CLST}
+ {3887924400 -14400 0 CLT}
+ {3906072000 -10800 1 CLST}
+ {3919374000 -14400 0 CLT}
+ {3937521600 -10800 1 CLST}
+ {3950823600 -14400 0 CLT}
+ {3968971200 -10800 1 CLST}
+ {3982273200 -14400 0 CLT}
+ {4001025600 -10800 1 CLST}
+ {4013722800 -14400 0 CLT}
+ {4032475200 -10800 1 CLST}
+ {4045172400 -14400 0 CLT}
+ {4063924800 -10800 1 CLST}
+ {4077226800 -14400 0 CLT}
+ {4095374400 -10800 1 CLST}
}
diff --git a/library/tzdata/Asia/Aden b/library/tzdata/Asia/Aden
index 399d9f0..e939235 100644
--- a/library/tzdata/Asia/Aden
+++ b/library/tzdata/Asia/Aden
@@ -1,6 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Aden) {
- {-9223372036854775808 10794 0 LMT}
- {-631162794 10800 0 AST}
+ {-9223372036854775808 10848 0 LMT}
+ {-631162848 10800 0 AST}
}
diff --git a/library/tzdata/Asia/Amman b/library/tzdata/Asia/Amman
index 33f0ba7..bf30508 100644
--- a/library/tzdata/Asia/Amman
+++ b/library/tzdata/Asia/Amman
@@ -70,7 +70,8 @@ set TZData(:Asia/Amman) {
{1301608800 10800 1 EEST}
{1319752800 7200 0 EET}
{1333058400 10800 1 EEST}
- {1364504400 10800 1 EEST}
+ {1351202400 7200 0 EET}
+ {1364508000 10800 1 EEST}
{1382652000 7200 0 EET}
{1395957600 10800 1 EEST}
{1414706400 7200 0 EET}
diff --git a/library/tzdata/Asia/Anadyr b/library/tzdata/Asia/Anadyr
index 50ace50..c0e98a7 100644
--- a/library/tzdata/Asia/Anadyr
+++ b/library/tzdata/Asia/Anadyr
@@ -65,8 +65,184 @@ set TZData(:Asia/Anadyr) {
{1224943200 43200 0 ANAT}
{1238248800 46800 1 ANAST}
{1256392800 43200 0 ANAT}
- {1269698400 39600 0 ANAMMTT}
- {1269702000 43200 1 ANAST}
- {1288450800 39600 0 ANAT}
- {1301151600 43200 0 ANAT}
+ {1269698400 46800 1 ANAST}
+ {1288447200 43200 0 ANAT}
+ {1301148000 46800 1 ANAST}
+ {1319896800 43200 0 ANAT}
+ {1332597600 46800 1 ANAST}
+ {1351346400 43200 0 ANAT}
+ {1364652000 46800 1 ANAST}
+ {1382796000 43200 0 ANAT}
+ {1396101600 46800 1 ANAST}
+ {1414245600 43200 0 ANAT}
+ {1427551200 46800 1 ANAST}
+ {1445695200 43200 0 ANAT}
+ {1459000800 46800 1 ANAST}
+ {1477749600 43200 0 ANAT}
+ {1490450400 46800 1 ANAST}
+ {1509199200 43200 0 ANAT}
+ {1521900000 46800 1 ANAST}
+ {1540648800 43200 0 ANAT}
+ {1553954400 46800 1 ANAST}
+ {1572098400 43200 0 ANAT}
+ {1585404000 46800 1 ANAST}
+ {1603548000 43200 0 ANAT}
+ {1616853600 46800 1 ANAST}
+ {1635602400 43200 0 ANAT}
+ {1648303200 46800 1 ANAST}
+ {1667052000 43200 0 ANAT}
+ {1679752800 46800 1 ANAST}
+ {1698501600 43200 0 ANAT}
+ {1711807200 46800 1 ANAST}
+ {1729951200 43200 0 ANAT}
+ {1743256800 46800 1 ANAST}
+ {1761400800 43200 0 ANAT}
+ {1774706400 46800 1 ANAST}
+ {1792850400 43200 0 ANAT}
+ {1806156000 46800 1 ANAST}
+ {1824904800 43200 0 ANAT}
+ {1837605600 46800 1 ANAST}
+ {1856354400 43200 0 ANAT}
+ {1869055200 46800 1 ANAST}
+ {1887804000 43200 0 ANAT}
+ {1901109600 46800 1 ANAST}
+ {1919253600 43200 0 ANAT}
+ {1932559200 46800 1 ANAST}
+ {1950703200 43200 0 ANAT}
+ {1964008800 46800 1 ANAST}
+ {1982757600 43200 0 ANAT}
+ {1995458400 46800 1 ANAST}
+ {2014207200 43200 0 ANAT}
+ {2026908000 46800 1 ANAST}
+ {2045656800 43200 0 ANAT}
+ {2058357600 46800 1 ANAST}
+ {2077106400 43200 0 ANAT}
+ {2090412000 46800 1 ANAST}
+ {2108556000 43200 0 ANAT}
+ {2121861600 46800 1 ANAST}
+ {2140005600 43200 0 ANAT}
+ {2153311200 46800 1 ANAST}
+ {2172060000 43200 0 ANAT}
+ {2184760800 46800 1 ANAST}
+ {2203509600 43200 0 ANAT}
+ {2216210400 46800 1 ANAST}
+ {2234959200 43200 0 ANAT}
+ {2248264800 46800 1 ANAST}
+ {2266408800 43200 0 ANAT}
+ {2279714400 46800 1 ANAST}
+ {2297858400 43200 0 ANAT}
+ {2311164000 46800 1 ANAST}
+ {2329308000 43200 0 ANAT}
+ {2342613600 46800 1 ANAST}
+ {2361362400 43200 0 ANAT}
+ {2374063200 46800 1 ANAST}
+ {2392812000 43200 0 ANAT}
+ {2405512800 46800 1 ANAST}
+ {2424261600 43200 0 ANAT}
+ {2437567200 46800 1 ANAST}
+ {2455711200 43200 0 ANAT}
+ {2469016800 46800 1 ANAST}
+ {2487160800 43200 0 ANAT}
+ {2500466400 46800 1 ANAST}
+ {2519215200 43200 0 ANAT}
+ {2531916000 46800 1 ANAST}
+ {2550664800 43200 0 ANAT}
+ {2563365600 46800 1 ANAST}
+ {2582114400 43200 0 ANAT}
+ {2595420000 46800 1 ANAST}
+ {2613564000 43200 0 ANAT}
+ {2626869600 46800 1 ANAST}
+ {2645013600 43200 0 ANAT}
+ {2658319200 46800 1 ANAST}
+ {2676463200 43200 0 ANAT}
+ {2689768800 46800 1 ANAST}
+ {2708517600 43200 0 ANAT}
+ {2721218400 46800 1 ANAST}
+ {2739967200 43200 0 ANAT}
+ {2752668000 46800 1 ANAST}
+ {2771416800 43200 0 ANAT}
+ {2784722400 46800 1 ANAST}
+ {2802866400 43200 0 ANAT}
+ {2816172000 46800 1 ANAST}
+ {2834316000 43200 0 ANAT}
+ {2847621600 46800 1 ANAST}
+ {2866370400 43200 0 ANAT}
+ {2879071200 46800 1 ANAST}
+ {2897820000 43200 0 ANAT}
+ {2910520800 46800 1 ANAST}
+ {2929269600 43200 0 ANAT}
+ {2941970400 46800 1 ANAST}
+ {2960719200 43200 0 ANAT}
+ {2974024800 46800 1 ANAST}
+ {2992168800 43200 0 ANAT}
+ {3005474400 46800 1 ANAST}
+ {3023618400 43200 0 ANAT}
+ {3036924000 46800 1 ANAST}
+ {3055672800 43200 0 ANAT}
+ {3068373600 46800 1 ANAST}
+ {3087122400 43200 0 ANAT}
+ {3099823200 46800 1 ANAST}
+ {3118572000 43200 0 ANAT}
+ {3131877600 46800 1 ANAST}
+ {3150021600 43200 0 ANAT}
+ {3163327200 46800 1 ANAST}
+ {3181471200 43200 0 ANAT}
+ {3194776800 46800 1 ANAST}
+ {3212920800 43200 0 ANAT}
+ {3226226400 46800 1 ANAST}
+ {3244975200 43200 0 ANAT}
+ {3257676000 46800 1 ANAST}
+ {3276424800 43200 0 ANAT}
+ {3289125600 46800 1 ANAST}
+ {3307874400 43200 0 ANAT}
+ {3321180000 46800 1 ANAST}
+ {3339324000 43200 0 ANAT}
+ {3352629600 46800 1 ANAST}
+ {3370773600 43200 0 ANAT}
+ {3384079200 46800 1 ANAST}
+ {3402828000 43200 0 ANAT}
+ {3415528800 46800 1 ANAST}
+ {3434277600 43200 0 ANAT}
+ {3446978400 46800 1 ANAST}
+ {3465727200 43200 0 ANAT}
+ {3479032800 46800 1 ANAST}
+ {3497176800 43200 0 ANAT}
+ {3510482400 46800 1 ANAST}
+ {3528626400 43200 0 ANAT}
+ {3541932000 46800 1 ANAST}
+ {3560076000 43200 0 ANAT}
+ {3573381600 46800 1 ANAST}
+ {3592130400 43200 0 ANAT}
+ {3604831200 46800 1 ANAST}
+ {3623580000 43200 0 ANAT}
+ {3636280800 46800 1 ANAST}
+ {3655029600 43200 0 ANAT}
+ {3668335200 46800 1 ANAST}
+ {3686479200 43200 0 ANAT}
+ {3699784800 46800 1 ANAST}
+ {3717928800 43200 0 ANAT}
+ {3731234400 46800 1 ANAST}
+ {3749983200 43200 0 ANAT}
+ {3762684000 46800 1 ANAST}
+ {3781432800 43200 0 ANAT}
+ {3794133600 46800 1 ANAST}
+ {3812882400 43200 0 ANAT}
+ {3825583200 46800 1 ANAST}
+ {3844332000 43200 0 ANAT}
+ {3857637600 46800 1 ANAST}
+ {3875781600 43200 0 ANAT}
+ {3889087200 46800 1 ANAST}
+ {3907231200 43200 0 ANAT}
+ {3920536800 46800 1 ANAST}
+ {3939285600 43200 0 ANAT}
+ {3951986400 46800 1 ANAST}
+ {3970735200 43200 0 ANAT}
+ {3983436000 46800 1 ANAST}
+ {4002184800 43200 0 ANAT}
+ {4015490400 46800 1 ANAST}
+ {4033634400 43200 0 ANAT}
+ {4046940000 46800 1 ANAST}
+ {4065084000 43200 0 ANAT}
+ {4078389600 46800 1 ANAST}
+ {4096533600 43200 0 ANAT}
}
diff --git a/library/tzdata/Asia/Damascus b/library/tzdata/Asia/Damascus
index fafef49..d57aeea 100644
--- a/library/tzdata/Asia/Damascus
+++ b/library/tzdata/Asia/Damascus
@@ -96,185 +96,185 @@ set TZData(:Asia/Damascus) {
{1207260000 10800 1 EEST}
{1225486800 7200 0 EET}
{1238104800 10800 1 EEST}
- {1256850000 7200 0 EET}
- {1270159200 10800 1 EEST}
- {1288299600 7200 0 EET}
- {1301608800 10800 1 EEST}
- {1319749200 7200 0 EET}
+ {1257022800 7200 0 EET}
+ {1269554400 10800 1 EEST}
+ {1288558800 7200 0 EET}
+ {1301004000 10800 1 EEST}
+ {1320094800 7200 0 EET}
{1333058400 10800 1 EEST}
- {1351198800 7200 0 EET}
+ {1351717200 7200 0 EET}
{1364508000 10800 1 EEST}
- {1382648400 7200 0 EET}
+ {1383253200 7200 0 EET}
{1395957600 10800 1 EEST}
- {1414702800 7200 0 EET}
+ {1414789200 7200 0 EET}
{1427407200 10800 1 EEST}
- {1446152400 7200 0 EET}
+ {1446325200 7200 0 EET}
{1458856800 10800 1 EEST}
- {1477602000 7200 0 EET}
+ {1477947600 7200 0 EET}
{1490911200 10800 1 EEST}
- {1509051600 7200 0 EET}
+ {1509483600 7200 0 EET}
{1522360800 10800 1 EEST}
- {1540501200 7200 0 EET}
+ {1541019600 7200 0 EET}
{1553810400 10800 1 EEST}
- {1571950800 7200 0 EET}
+ {1572555600 7200 0 EET}
{1585260000 10800 1 EEST}
- {1604005200 7200 0 EET}
+ {1604178000 7200 0 EET}
{1616709600 10800 1 EEST}
- {1635454800 7200 0 EET}
+ {1635714000 7200 0 EET}
{1648159200 10800 1 EEST}
- {1666904400 7200 0 EET}
+ {1667250000 7200 0 EET}
{1680213600 10800 1 EEST}
- {1698354000 7200 0 EET}
+ {1698786000 7200 0 EET}
{1711663200 10800 1 EEST}
- {1729803600 7200 0 EET}
+ {1730408400 7200 0 EET}
{1743112800 10800 1 EEST}
- {1761858000 7200 0 EET}
+ {1761944400 7200 0 EET}
{1774562400 10800 1 EEST}
- {1793307600 7200 0 EET}
+ {1793480400 7200 0 EET}
{1806012000 10800 1 EEST}
- {1824757200 7200 0 EET}
+ {1825016400 7200 0 EET}
{1838066400 10800 1 EEST}
- {1856206800 7200 0 EET}
+ {1856638800 7200 0 EET}
{1869516000 10800 1 EEST}
- {1887656400 7200 0 EET}
+ {1888174800 7200 0 EET}
{1900965600 10800 1 EEST}
- {1919106000 7200 0 EET}
+ {1919710800 7200 0 EET}
{1932415200 10800 1 EEST}
- {1951160400 7200 0 EET}
+ {1951246800 7200 0 EET}
{1963864800 10800 1 EEST}
- {1982610000 7200 0 EET}
+ {1982869200 7200 0 EET}
{1995314400 10800 1 EEST}
- {2014059600 7200 0 EET}
+ {2014405200 7200 0 EET}
{2027368800 10800 1 EEST}
- {2045509200 7200 0 EET}
+ {2045941200 7200 0 EET}
{2058818400 10800 1 EEST}
- {2076958800 7200 0 EET}
+ {2077477200 7200 0 EET}
{2090268000 10800 1 EEST}
- {2109013200 7200 0 EET}
+ {2109099600 7200 0 EET}
{2121717600 10800 1 EEST}
- {2140462800 7200 0 EET}
+ {2140635600 7200 0 EET}
{2153167200 10800 1 EEST}
- {2171912400 7200 0 EET}
+ {2172171600 7200 0 EET}
{2184616800 10800 1 EEST}
- {2203362000 7200 0 EET}
+ {2203707600 7200 0 EET}
{2216671200 10800 1 EEST}
- {2234811600 7200 0 EET}
+ {2235330000 7200 0 EET}
{2248120800 10800 1 EEST}
- {2266261200 7200 0 EET}
+ {2266866000 7200 0 EET}
{2279570400 10800 1 EEST}
- {2298315600 7200 0 EET}
+ {2298402000 7200 0 EET}
{2311020000 10800 1 EEST}
- {2329765200 7200 0 EET}
+ {2329938000 7200 0 EET}
{2342469600 10800 1 EEST}
- {2361214800 7200 0 EET}
+ {2361560400 7200 0 EET}
{2374524000 10800 1 EEST}
- {2392664400 7200 0 EET}
+ {2393096400 7200 0 EET}
{2405973600 10800 1 EEST}
- {2424114000 7200 0 EET}
+ {2424632400 7200 0 EET}
{2437423200 10800 1 EEST}
- {2455563600 7200 0 EET}
+ {2456168400 7200 0 EET}
{2468872800 10800 1 EEST}
- {2487618000 7200 0 EET}
+ {2487790800 7200 0 EET}
{2500322400 10800 1 EEST}
- {2519067600 7200 0 EET}
+ {2519326800 7200 0 EET}
{2531772000 10800 1 EEST}
- {2550517200 7200 0 EET}
+ {2550862800 7200 0 EET}
{2563826400 10800 1 EEST}
- {2581966800 7200 0 EET}
+ {2582398800 7200 0 EET}
{2595276000 10800 1 EEST}
- {2613416400 7200 0 EET}
+ {2614021200 7200 0 EET}
{2626725600 10800 1 EEST}
- {2645470800 7200 0 EET}
+ {2645557200 7200 0 EET}
{2658175200 10800 1 EEST}
- {2676920400 7200 0 EET}
+ {2677093200 7200 0 EET}
{2689624800 10800 1 EEST}
- {2708370000 7200 0 EET}
+ {2708629200 7200 0 EET}
{2721679200 10800 1 EEST}
- {2739819600 7200 0 EET}
+ {2740251600 7200 0 EET}
{2753128800 10800 1 EEST}
- {2771269200 7200 0 EET}
+ {2771787600 7200 0 EET}
{2784578400 10800 1 EEST}
- {2802718800 7200 0 EET}
+ {2803323600 7200 0 EET}
{2816028000 10800 1 EEST}
- {2834773200 7200 0 EET}
+ {2834859600 7200 0 EET}
{2847477600 10800 1 EEST}
- {2866222800 7200 0 EET}
+ {2866482000 7200 0 EET}
{2878927200 10800 1 EEST}
- {2897672400 7200 0 EET}
+ {2898018000 7200 0 EET}
{2910981600 10800 1 EEST}
- {2929122000 7200 0 EET}
+ {2929554000 7200 0 EET}
{2942431200 10800 1 EEST}
- {2960571600 7200 0 EET}
+ {2961090000 7200 0 EET}
{2973880800 10800 1 EEST}
- {2992626000 7200 0 EET}
+ {2992712400 7200 0 EET}
{3005330400 10800 1 EEST}
- {3024075600 7200 0 EET}
+ {3024248400 7200 0 EET}
{3036780000 10800 1 EEST}
- {3055525200 7200 0 EET}
+ {3055784400 7200 0 EET}
{3068229600 10800 1 EEST}
- {3086974800 7200 0 EET}
+ {3087320400 7200 0 EET}
{3100284000 10800 1 EEST}
- {3118424400 7200 0 EET}
+ {3118942800 7200 0 EET}
{3131733600 10800 1 EEST}
- {3149874000 7200 0 EET}
+ {3150478800 7200 0 EET}
{3163183200 10800 1 EEST}
- {3181928400 7200 0 EET}
+ {3182014800 7200 0 EET}
{3194632800 10800 1 EEST}
- {3213378000 7200 0 EET}
+ {3213550800 7200 0 EET}
{3226082400 10800 1 EEST}
- {3244827600 7200 0 EET}
+ {3245173200 7200 0 EET}
{3258136800 10800 1 EEST}
- {3276277200 7200 0 EET}
+ {3276709200 7200 0 EET}
{3289586400 10800 1 EEST}
- {3307726800 7200 0 EET}
+ {3308245200 7200 0 EET}
{3321036000 10800 1 EEST}
- {3339176400 7200 0 EET}
+ {3339781200 7200 0 EET}
{3352485600 10800 1 EEST}
- {3371230800 7200 0 EET}
+ {3371403600 7200 0 EET}
{3383935200 10800 1 EEST}
- {3402680400 7200 0 EET}
+ {3402939600 7200 0 EET}
{3415384800 10800 1 EEST}
- {3434130000 7200 0 EET}
+ {3434475600 7200 0 EET}
{3447439200 10800 1 EEST}
- {3465579600 7200 0 EET}
+ {3466011600 7200 0 EET}
{3478888800 10800 1 EEST}
- {3497029200 7200 0 EET}
+ {3497634000 7200 0 EET}
{3510338400 10800 1 EEST}
- {3529083600 7200 0 EET}
+ {3529170000 7200 0 EET}
{3541788000 10800 1 EEST}
- {3560533200 7200 0 EET}
+ {3560706000 7200 0 EET}
{3573237600 10800 1 EEST}
- {3591982800 7200 0 EET}
+ {3592242000 7200 0 EET}
{3605292000 10800 1 EEST}
- {3623432400 7200 0 EET}
+ {3623864400 7200 0 EET}
{3636741600 10800 1 EEST}
- {3654882000 7200 0 EET}
+ {3655400400 7200 0 EET}
{3668191200 10800 1 EEST}
- {3686331600 7200 0 EET}
+ {3686936400 7200 0 EET}
{3699640800 10800 1 EEST}
- {3718386000 7200 0 EET}
+ {3718472400 7200 0 EET}
{3731090400 10800 1 EEST}
- {3749835600 7200 0 EET}
+ {3750094800 7200 0 EET}
{3762540000 10800 1 EEST}
- {3781285200 7200 0 EET}
+ {3781630800 7200 0 EET}
{3794594400 10800 1 EEST}
- {3812734800 7200 0 EET}
+ {3813166800 7200 0 EET}
{3826044000 10800 1 EEST}
- {3844184400 7200 0 EET}
+ {3844702800 7200 0 EET}
{3857493600 10800 1 EEST}
- {3876238800 7200 0 EET}
+ {3876325200 7200 0 EET}
{3888943200 10800 1 EEST}
- {3907688400 7200 0 EET}
+ {3907861200 7200 0 EET}
{3920392800 10800 1 EEST}
- {3939138000 7200 0 EET}
+ {3939397200 7200 0 EET}
{3951842400 10800 1 EEST}
- {3970587600 7200 0 EET}
+ {3970933200 7200 0 EET}
{3983896800 10800 1 EEST}
- {4002037200 7200 0 EET}
+ {4002555600 7200 0 EET}
{4015346400 10800 1 EEST}
- {4033486800 7200 0 EET}
+ {4034091600 7200 0 EET}
{4046796000 10800 1 EEST}
- {4065541200 7200 0 EET}
+ {4065627600 7200 0 EET}
{4078245600 10800 1 EEST}
- {4096990800 7200 0 EET}
+ {4097163600 7200 0 EET}
}
diff --git a/library/tzdata/Asia/Dhaka b/library/tzdata/Asia/Dhaka
index e0c270d..70fc865 100644
--- a/library/tzdata/Asia/Dhaka
+++ b/library/tzdata/Asia/Dhaka
@@ -8,7 +8,6 @@ set TZData(:Asia/Dhaka) {
{-862637400 23400 0 BURT}
{-576138600 21600 0 DACT}
{38772000 21600 0 BDT}
- {1230746400 21600 0 BDT}
{1245430800 25200 1 BDST}
- {1262278740 21600 0 BDT}
+ {1262278800 21600 0 BDT}
}
diff --git a/library/tzdata/Asia/Gaza b/library/tzdata/Asia/Gaza
index a0636e2..e0c8eb0 100644
--- a/library/tzdata/Asia/Gaza
+++ b/library/tzdata/Asia/Gaza
@@ -88,191 +88,188 @@ set TZData(:Asia/Gaza) {
{1158872400 7200 0 EET}
{1175378400 10800 1 EEST}
{1189638000 7200 0 EET}
- {1206655200 10800 1 EEST}
- {1219960800 7200 0 EET}
- {1220220000 7200 0 EET}
+ {1207000800 10800 1 EEST}
+ {1219964400 7200 0 EET}
{1238104800 10800 1 EEST}
- {1252015200 7200 0 EET}
- {1262296800 7200 0 EET}
- {1269640860 10800 0 EEST}
- {1281474000 7200 0 EET}
- {1301608860 10800 1 EEST}
- {1312149600 7200 0 EET}
- {1325368800 7200 0 EET}
+ {1254092400 7200 0 EET}
+ {1269554400 10800 1 EEST}
+ {1285542000 7200 0 EET}
+ {1301004000 10800 1 EEST}
+ {1316991600 7200 0 EET}
{1333058400 10800 1 EEST}
- {1348178400 7200 0 EET}
+ {1348441200 7200 0 EET}
{1364508000 10800 1 EEST}
- {1380232800 7200 0 EET}
+ {1380495600 7200 0 EET}
{1395957600 10800 1 EEST}
- {1411682400 7200 0 EET}
+ {1411945200 7200 0 EET}
{1427407200 10800 1 EEST}
- {1443132000 7200 0 EET}
- {1459461600 10800 1 EEST}
- {1474581600 7200 0 EET}
+ {1443394800 7200 0 EET}
+ {1458856800 10800 1 EEST}
+ {1474844400 7200 0 EET}
{1490911200 10800 1 EEST}
- {1506031200 7200 0 EET}
+ {1506294000 7200 0 EET}
{1522360800 10800 1 EEST}
- {1537480800 7200 0 EET}
+ {1537743600 7200 0 EET}
{1553810400 10800 1 EEST}
- {1569535200 7200 0 EET}
+ {1569798000 7200 0 EET}
{1585260000 10800 1 EEST}
- {1600984800 7200 0 EET}
+ {1601247600 7200 0 EET}
{1616709600 10800 1 EEST}
- {1632434400 7200 0 EET}
- {1648764000 10800 1 EEST}
- {1663884000 7200 0 EET}
+ {1632697200 7200 0 EET}
+ {1648159200 10800 1 EEST}
+ {1664146800 7200 0 EET}
{1680213600 10800 1 EEST}
- {1695333600 7200 0 EET}
+ {1695596400 7200 0 EET}
{1711663200 10800 1 EEST}
- {1727388000 7200 0 EET}
+ {1727650800 7200 0 EET}
{1743112800 10800 1 EEST}
- {1758837600 7200 0 EET}
+ {1759100400 7200 0 EET}
{1774562400 10800 1 EEST}
- {1790287200 7200 0 EET}
+ {1790550000 7200 0 EET}
{1806012000 10800 1 EEST}
- {1821736800 7200 0 EET}
+ {1821999600 7200 0 EET}
{1838066400 10800 1 EEST}
- {1853186400 7200 0 EET}
+ {1853449200 7200 0 EET}
{1869516000 10800 1 EEST}
- {1884636000 7200 0 EET}
+ {1884898800 7200 0 EET}
{1900965600 10800 1 EEST}
- {1916690400 7200 0 EET}
+ {1916953200 7200 0 EET}
{1932415200 10800 1 EEST}
- {1948140000 7200 0 EET}
+ {1948402800 7200 0 EET}
{1963864800 10800 1 EEST}
- {1979589600 7200 0 EET}
- {1995919200 10800 1 EEST}
- {2011039200 7200 0 EET}
+ {1979852400 7200 0 EET}
+ {1995314400 10800 1 EEST}
+ {2011302000 7200 0 EET}
{2027368800 10800 1 EEST}
- {2042488800 7200 0 EET}
+ {2042751600 7200 0 EET}
{2058818400 10800 1 EEST}
- {2073938400 7200 0 EET}
+ {2074201200 7200 0 EET}
{2090268000 10800 1 EEST}
- {2105992800 7200 0 EET}
+ {2106255600 7200 0 EET}
{2121717600 10800 1 EEST}
- {2137442400 7200 0 EET}
+ {2137705200 7200 0 EET}
{2153167200 10800 1 EEST}
- {2168892000 7200 0 EET}
- {2185221600 10800 1 EEST}
- {2200341600 7200 0 EET}
+ {2169154800 7200 0 EET}
+ {2184616800 10800 1 EEST}
+ {2200604400 7200 0 EET}
{2216671200 10800 1 EEST}
- {2231791200 7200 0 EET}
+ {2232054000 7200 0 EET}
{2248120800 10800 1 EEST}
- {2263845600 7200 0 EET}
+ {2264108400 7200 0 EET}
{2279570400 10800 1 EEST}
- {2295295200 7200 0 EET}
+ {2295558000 7200 0 EET}
{2311020000 10800 1 EEST}
- {2326744800 7200 0 EET}
- {2343074400 10800 1 EEST}
- {2358194400 7200 0 EET}
+ {2327007600 7200 0 EET}
+ {2342469600 10800 1 EEST}
+ {2358457200 7200 0 EET}
{2374524000 10800 1 EEST}
- {2389644000 7200 0 EET}
+ {2389906800 7200 0 EET}
{2405973600 10800 1 EEST}
- {2421093600 7200 0 EET}
+ {2421356400 7200 0 EET}
{2437423200 10800 1 EEST}
- {2453148000 7200 0 EET}
+ {2453410800 7200 0 EET}
{2468872800 10800 1 EEST}
- {2484597600 7200 0 EET}
+ {2484860400 7200 0 EET}
{2500322400 10800 1 EEST}
- {2516047200 7200 0 EET}
- {2532376800 10800 1 EEST}
- {2547496800 7200 0 EET}
+ {2516310000 7200 0 EET}
+ {2531772000 10800 1 EEST}
+ {2547759600 7200 0 EET}
{2563826400 10800 1 EEST}
- {2578946400 7200 0 EET}
+ {2579209200 7200 0 EET}
{2595276000 10800 1 EEST}
- {2611000800 7200 0 EET}
+ {2611263600 7200 0 EET}
{2626725600 10800 1 EEST}
- {2642450400 7200 0 EET}
+ {2642713200 7200 0 EET}
{2658175200 10800 1 EEST}
- {2673900000 7200 0 EET}
+ {2674162800 7200 0 EET}
{2689624800 10800 1 EEST}
- {2705349600 7200 0 EET}
+ {2705612400 7200 0 EET}
{2721679200 10800 1 EEST}
- {2736799200 7200 0 EET}
+ {2737062000 7200 0 EET}
{2753128800 10800 1 EEST}
- {2768248800 7200 0 EET}
+ {2768511600 7200 0 EET}
{2784578400 10800 1 EEST}
- {2800303200 7200 0 EET}
+ {2800566000 7200 0 EET}
{2816028000 10800 1 EEST}
- {2831752800 7200 0 EET}
+ {2832015600 7200 0 EET}
{2847477600 10800 1 EEST}
- {2863202400 7200 0 EET}
- {2879532000 10800 1 EEST}
- {2894652000 7200 0 EET}
+ {2863465200 7200 0 EET}
+ {2878927200 10800 1 EEST}
+ {2894914800 7200 0 EET}
{2910981600 10800 1 EEST}
- {2926101600 7200 0 EET}
+ {2926364400 7200 0 EET}
{2942431200 10800 1 EEST}
- {2957551200 7200 0 EET}
+ {2957814000 7200 0 EET}
{2973880800 10800 1 EEST}
- {2989605600 7200 0 EET}
+ {2989868400 7200 0 EET}
{3005330400 10800 1 EEST}
- {3021055200 7200 0 EET}
+ {3021318000 7200 0 EET}
{3036780000 10800 1 EEST}
- {3052504800 7200 0 EET}
- {3068834400 10800 1 EEST}
- {3083954400 7200 0 EET}
+ {3052767600 7200 0 EET}
+ {3068229600 10800 1 EEST}
+ {3084217200 7200 0 EET}
{3100284000 10800 1 EEST}
- {3115404000 7200 0 EET}
+ {3115666800 7200 0 EET}
{3131733600 10800 1 EEST}
- {3147458400 7200 0 EET}
+ {3147721200 7200 0 EET}
{3163183200 10800 1 EEST}
- {3178908000 7200 0 EET}
+ {3179170800 7200 0 EET}
{3194632800 10800 1 EEST}
- {3210357600 7200 0 EET}
- {3226687200 10800 1 EEST}
- {3241807200 7200 0 EET}
+ {3210620400 7200 0 EET}
+ {3226082400 10800 1 EEST}
+ {3242070000 7200 0 EET}
{3258136800 10800 1 EEST}
- {3273256800 7200 0 EET}
+ {3273519600 7200 0 EET}
{3289586400 10800 1 EEST}
- {3304706400 7200 0 EET}
+ {3304969200 7200 0 EET}
{3321036000 10800 1 EEST}
- {3336760800 7200 0 EET}
+ {3337023600 7200 0 EET}
{3352485600 10800 1 EEST}
- {3368210400 7200 0 EET}
+ {3368473200 7200 0 EET}
{3383935200 10800 1 EEST}
- {3399660000 7200 0 EET}
- {3415989600 10800 1 EEST}
- {3431109600 7200 0 EET}
+ {3399922800 7200 0 EET}
+ {3415384800 10800 1 EEST}
+ {3431372400 7200 0 EET}
{3447439200 10800 1 EEST}
- {3462559200 7200 0 EET}
+ {3462822000 7200 0 EET}
{3478888800 10800 1 EEST}
- {3494613600 7200 0 EET}
+ {3494876400 7200 0 EET}
{3510338400 10800 1 EEST}
- {3526063200 7200 0 EET}
+ {3526326000 7200 0 EET}
{3541788000 10800 1 EEST}
- {3557512800 7200 0 EET}
+ {3557775600 7200 0 EET}
{3573237600 10800 1 EEST}
- {3588962400 7200 0 EET}
+ {3589225200 7200 0 EET}
{3605292000 10800 1 EEST}
- {3620412000 7200 0 EET}
+ {3620674800 7200 0 EET}
{3636741600 10800 1 EEST}
- {3651861600 7200 0 EET}
+ {3652124400 7200 0 EET}
{3668191200 10800 1 EEST}
- {3683916000 7200 0 EET}
+ {3684178800 7200 0 EET}
{3699640800 10800 1 EEST}
- {3715365600 7200 0 EET}
+ {3715628400 7200 0 EET}
{3731090400 10800 1 EEST}
- {3746815200 7200 0 EET}
- {3763144800 10800 1 EEST}
- {3778264800 7200 0 EET}
+ {3747078000 7200 0 EET}
+ {3762540000 10800 1 EEST}
+ {3778527600 7200 0 EET}
{3794594400 10800 1 EEST}
- {3809714400 7200 0 EET}
+ {3809977200 7200 0 EET}
{3826044000 10800 1 EEST}
- {3841164000 7200 0 EET}
+ {3841426800 7200 0 EET}
{3857493600 10800 1 EEST}
- {3873218400 7200 0 EET}
+ {3873481200 7200 0 EET}
{3888943200 10800 1 EEST}
- {3904668000 7200 0 EET}
+ {3904930800 7200 0 EET}
{3920392800 10800 1 EEST}
- {3936117600 7200 0 EET}
- {3952447200 10800 1 EEST}
- {3967567200 7200 0 EET}
+ {3936380400 7200 0 EET}
+ {3951842400 10800 1 EEST}
+ {3967830000 7200 0 EET}
{3983896800 10800 1 EEST}
- {3999016800 7200 0 EET}
+ {3999279600 7200 0 EET}
{4015346400 10800 1 EEST}
- {4031071200 7200 0 EET}
+ {4031334000 7200 0 EET}
{4046796000 10800 1 EEST}
- {4062520800 7200 0 EET}
+ {4062783600 7200 0 EET}
{4078245600 10800 1 EEST}
- {4093970400 7200 0 EET}
+ {4094233200 7200 0 EET}
}
diff --git a/library/tzdata/Asia/Hebron b/library/tzdata/Asia/Hebron
deleted file mode 100644
index a8a9019..0000000
--- a/library/tzdata/Asia/Hebron
+++ /dev/null
@@ -1,277 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Asia/Hebron) {
- {-9223372036854775808 8423 0 LMT}
- {-2185410023 7200 0 EET}
- {-933645600 10800 1 EET}
- {-857358000 7200 0 EET}
- {-844300800 10800 1 EET}
- {-825822000 7200 0 EET}
- {-812685600 10800 1 EET}
- {-794199600 7200 0 EET}
- {-779853600 10800 1 EET}
- {-762656400 7200 0 EET}
- {-748310400 10800 1 EET}
- {-731127600 7200 0 EET}
- {-682653600 7200 0 EET}
- {-399088800 10800 1 EEST}
- {-386650800 7200 0 EET}
- {-368330400 10800 1 EEST}
- {-355114800 7200 0 EET}
- {-336790800 10800 1 EEST}
- {-323654400 7200 0 EET}
- {-305168400 10800 1 EEST}
- {-292032000 7200 0 EET}
- {-273632400 10800 1 EEST}
- {-260496000 7200 0 EET}
- {-242096400 10800 1 EEST}
- {-228960000 7200 0 EET}
- {-210560400 10800 1 EEST}
- {-197424000 7200 0 EET}
- {-178938000 10800 1 EEST}
- {-165801600 7200 0 EET}
- {-147402000 10800 1 EEST}
- {-134265600 7200 0 EET}
- {-115866000 10800 1 EEST}
- {-102643200 7200 0 EET}
- {-84330000 10800 1 EEST}
- {-81313200 10800 0 IST}
- {142376400 10800 1 IDT}
- {150843600 7200 0 IST}
- {167176800 10800 1 IDT}
- {178664400 7200 0 IST}
- {482277600 10800 1 IDT}
- {495579600 7200 0 IST}
- {516751200 10800 1 IDT}
- {526424400 7200 0 IST}
- {545436000 10800 1 IDT}
- {558478800 7200 0 IST}
- {576540000 10800 1 IDT}
- {589237200 7200 0 IST}
- {609890400 10800 1 IDT}
- {620773200 7200 0 IST}
- {638316000 10800 1 IDT}
- {651618000 7200 0 IST}
- {669765600 10800 1 IDT}
- {683672400 7200 0 IST}
- {701820000 10800 1 IDT}
- {715726800 7200 0 IST}
- {733701600 10800 1 IDT}
- {747176400 7200 0 IST}
- {765151200 10800 1 IDT}
- {778021200 7200 0 IST}
- {796600800 10800 1 IDT}
- {810075600 7200 0 IST}
- {820447200 7200 0 EET}
- {828655200 10800 1 EEST}
- {843170400 7200 0 EET}
- {860104800 10800 1 EEST}
- {874620000 7200 0 EET}
- {891554400 10800 1 EEST}
- {906069600 7200 0 EET}
- {915141600 7200 0 EET}
- {924213600 10800 1 EEST}
- {939934800 7200 0 EET}
- {956268000 10800 1 EEST}
- {971989200 7200 0 EET}
- {987717600 10800 1 EEST}
- {1003438800 7200 0 EET}
- {1019167200 10800 1 EEST}
- {1034888400 7200 0 EET}
- {1050616800 10800 1 EEST}
- {1066338000 7200 0 EET}
- {1082066400 10800 1 EEST}
- {1096581600 7200 0 EET}
- {1113516000 10800 1 EEST}
- {1128380400 7200 0 EET}
- {1143842400 10800 1 EEST}
- {1158872400 7200 0 EET}
- {1175378400 10800 1 EEST}
- {1189638000 7200 0 EET}
- {1206655200 10800 1 EEST}
- {1220216400 7200 0 EET}
- {1238104800 10800 1 EEST}
- {1252015200 7200 0 EET}
- {1269554400 10800 1 EEST}
- {1281474000 7200 0 EET}
- {1301608860 10800 1 EEST}
- {1312146000 7200 0 EET}
- {1314655200 10800 1 EEST}
- {1317330000 7200 0 EET}
- {1333058400 10800 1 EEST}
- {1348178400 7200 0 EET}
- {1364508000 10800 1 EEST}
- {1380232800 7200 0 EET}
- {1395957600 10800 1 EEST}
- {1411682400 7200 0 EET}
- {1427407200 10800 1 EEST}
- {1443132000 7200 0 EET}
- {1459461600 10800 1 EEST}
- {1474581600 7200 0 EET}
- {1490911200 10800 1 EEST}
- {1506031200 7200 0 EET}
- {1522360800 10800 1 EEST}
- {1537480800 7200 0 EET}
- {1553810400 10800 1 EEST}
- {1569535200 7200 0 EET}
- {1585260000 10800 1 EEST}
- {1600984800 7200 0 EET}
- {1616709600 10800 1 EEST}
- {1632434400 7200 0 EET}
- {1648764000 10800 1 EEST}
- {1663884000 7200 0 EET}
- {1680213600 10800 1 EEST}
- {1695333600 7200 0 EET}
- {1711663200 10800 1 EEST}
- {1727388000 7200 0 EET}
- {1743112800 10800 1 EEST}
- {1758837600 7200 0 EET}
- {1774562400 10800 1 EEST}
- {1790287200 7200 0 EET}
- {1806012000 10800 1 EEST}
- {1821736800 7200 0 EET}
- {1838066400 10800 1 EEST}
- {1853186400 7200 0 EET}
- {1869516000 10800 1 EEST}
- {1884636000 7200 0 EET}
- {1900965600 10800 1 EEST}
- {1916690400 7200 0 EET}
- {1932415200 10800 1 EEST}
- {1948140000 7200 0 EET}
- {1963864800 10800 1 EEST}
- {1979589600 7200 0 EET}
- {1995919200 10800 1 EEST}
- {2011039200 7200 0 EET}
- {2027368800 10800 1 EEST}
- {2042488800 7200 0 EET}
- {2058818400 10800 1 EEST}
- {2073938400 7200 0 EET}
- {2090268000 10800 1 EEST}
- {2105992800 7200 0 EET}
- {2121717600 10800 1 EEST}
- {2137442400 7200 0 EET}
- {2153167200 10800 1 EEST}
- {2168892000 7200 0 EET}
- {2185221600 10800 1 EEST}
- {2200341600 7200 0 EET}
- {2216671200 10800 1 EEST}
- {2231791200 7200 0 EET}
- {2248120800 10800 1 EEST}
- {2263845600 7200 0 EET}
- {2279570400 10800 1 EEST}
- {2295295200 7200 0 EET}
- {2311020000 10800 1 EEST}
- {2326744800 7200 0 EET}
- {2343074400 10800 1 EEST}
- {2358194400 7200 0 EET}
- {2374524000 10800 1 EEST}
- {2389644000 7200 0 EET}
- {2405973600 10800 1 EEST}
- {2421093600 7200 0 EET}
- {2437423200 10800 1 EEST}
- {2453148000 7200 0 EET}
- {2468872800 10800 1 EEST}
- {2484597600 7200 0 EET}
- {2500322400 10800 1 EEST}
- {2516047200 7200 0 EET}
- {2532376800 10800 1 EEST}
- {2547496800 7200 0 EET}
- {2563826400 10800 1 EEST}
- {2578946400 7200 0 EET}
- {2595276000 10800 1 EEST}
- {2611000800 7200 0 EET}
- {2626725600 10800 1 EEST}
- {2642450400 7200 0 EET}
- {2658175200 10800 1 EEST}
- {2673900000 7200 0 EET}
- {2689624800 10800 1 EEST}
- {2705349600 7200 0 EET}
- {2721679200 10800 1 EEST}
- {2736799200 7200 0 EET}
- {2753128800 10800 1 EEST}
- {2768248800 7200 0 EET}
- {2784578400 10800 1 EEST}
- {2800303200 7200 0 EET}
- {2816028000 10800 1 EEST}
- {2831752800 7200 0 EET}
- {2847477600 10800 1 EEST}
- {2863202400 7200 0 EET}
- {2879532000 10800 1 EEST}
- {2894652000 7200 0 EET}
- {2910981600 10800 1 EEST}
- {2926101600 7200 0 EET}
- {2942431200 10800 1 EEST}
- {2957551200 7200 0 EET}
- {2973880800 10800 1 EEST}
- {2989605600 7200 0 EET}
- {3005330400 10800 1 EEST}
- {3021055200 7200 0 EET}
- {3036780000 10800 1 EEST}
- {3052504800 7200 0 EET}
- {3068834400 10800 1 EEST}
- {3083954400 7200 0 EET}
- {3100284000 10800 1 EEST}
- {3115404000 7200 0 EET}
- {3131733600 10800 1 EEST}
- {3147458400 7200 0 EET}
- {3163183200 10800 1 EEST}
- {3178908000 7200 0 EET}
- {3194632800 10800 1 EEST}
- {3210357600 7200 0 EET}
- {3226687200 10800 1 EEST}
- {3241807200 7200 0 EET}
- {3258136800 10800 1 EEST}
- {3273256800 7200 0 EET}
- {3289586400 10800 1 EEST}
- {3304706400 7200 0 EET}
- {3321036000 10800 1 EEST}
- {3336760800 7200 0 EET}
- {3352485600 10800 1 EEST}
- {3368210400 7200 0 EET}
- {3383935200 10800 1 EEST}
- {3399660000 7200 0 EET}
- {3415989600 10800 1 EEST}
- {3431109600 7200 0 EET}
- {3447439200 10800 1 EEST}
- {3462559200 7200 0 EET}
- {3478888800 10800 1 EEST}
- {3494613600 7200 0 EET}
- {3510338400 10800 1 EEST}
- {3526063200 7200 0 EET}
- {3541788000 10800 1 EEST}
- {3557512800 7200 0 EET}
- {3573237600 10800 1 EEST}
- {3588962400 7200 0 EET}
- {3605292000 10800 1 EEST}
- {3620412000 7200 0 EET}
- {3636741600 10800 1 EEST}
- {3651861600 7200 0 EET}
- {3668191200 10800 1 EEST}
- {3683916000 7200 0 EET}
- {3699640800 10800 1 EEST}
- {3715365600 7200 0 EET}
- {3731090400 10800 1 EEST}
- {3746815200 7200 0 EET}
- {3763144800 10800 1 EEST}
- {3778264800 7200 0 EET}
- {3794594400 10800 1 EEST}
- {3809714400 7200 0 EET}
- {3826044000 10800 1 EEST}
- {3841164000 7200 0 EET}
- {3857493600 10800 1 EEST}
- {3873218400 7200 0 EET}
- {3888943200 10800 1 EEST}
- {3904668000 7200 0 EET}
- {3920392800 10800 1 EEST}
- {3936117600 7200 0 EET}
- {3952447200 10800 1 EEST}
- {3967567200 7200 0 EET}
- {3983896800 10800 1 EEST}
- {3999016800 7200 0 EET}
- {4015346400 10800 1 EEST}
- {4031071200 7200 0 EET}
- {4046796000 10800 1 EEST}
- {4062520800 7200 0 EET}
- {4078245600 10800 1 EEST}
- {4093970400 7200 0 EET}
-}
diff --git a/library/tzdata/Asia/Hong_Kong b/library/tzdata/Asia/Hong_Kong
index fcf98a6..88d8091 100644
--- a/library/tzdata/Asia/Hong_Kong
+++ b/library/tzdata/Asia/Hong_Kong
@@ -1,12 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Hong_Kong) {
- {-9223372036854775808 27402 0 LMT}
- {-2056693002 28800 0 HKT}
- {-907389000 32400 1 HKST}
- {-891667800 28800 0 HKT}
- {-884246400 32400 0 JST}
- {-766746000 28800 0 HKT}
+ {-9223372036854775808 27396 0 LMT}
+ {-2056692996 28800 0 HKT}
{-747981000 32400 1 HKST}
{-728544600 28800 0 HKT}
{-717049800 32400 1 HKST}
@@ -20,7 +16,7 @@ set TZData(:Asia/Hong_Kong) {
{-591856200 32400 1 HKST}
{-573715800 28800 0 HKT}
{-559801800 32400 1 HKST}
- {-542352600 28800 0 HKT}
+ {-542266200 28800 0 HKT}
{-528352200 32400 1 HKST}
{-510211800 28800 0 HKT}
{-498112200 32400 1 HKST}
@@ -63,13 +59,16 @@ set TZData(:Asia/Hong_Kong) {
{88540200 28800 0 HKT}
{104268600 32400 1 HKST}
{119989800 28800 0 HKT}
- {126041400 32400 1 HKST}
- {135714600 32400 1 HKST}
+ {135718200 32400 1 HKST}
{151439400 28800 0 HKT}
{167167800 32400 1 HKST}
{182889000 28800 0 HKT}
{198617400 32400 1 HKST}
{214338600 28800 0 HKT}
+ {230067000 32400 1 HKST}
+ {245788200 28800 0 HKT}
{295385400 32400 1 HKST}
{309292200 28800 0 HKT}
+ {326835000 32400 1 HKST}
+ {340741800 28800 0 HKT}
}
diff --git a/library/tzdata/Asia/Irkutsk b/library/tzdata/Asia/Irkutsk
index bca1dcc..771ebc9 100644
--- a/library/tzdata/Asia/Irkutsk
+++ b/library/tzdata/Asia/Irkutsk
@@ -67,5 +67,182 @@ set TZData(:Asia/Irkutsk) {
{1256407200 28800 0 IRKT}
{1269712800 32400 1 IRKST}
{1288461600 28800 0 IRKT}
- {1301162400 32400 0 IRKT}
+ {1301162400 32400 1 IRKST}
+ {1319911200 28800 0 IRKT}
+ {1332612000 32400 1 IRKST}
+ {1351360800 28800 0 IRKT}
+ {1364666400 32400 1 IRKST}
+ {1382810400 28800 0 IRKT}
+ {1396116000 32400 1 IRKST}
+ {1414260000 28800 0 IRKT}
+ {1427565600 32400 1 IRKST}
+ {1445709600 28800 0 IRKT}
+ {1459015200 32400 1 IRKST}
+ {1477764000 28800 0 IRKT}
+ {1490464800 32400 1 IRKST}
+ {1509213600 28800 0 IRKT}
+ {1521914400 32400 1 IRKST}
+ {1540663200 28800 0 IRKT}
+ {1553968800 32400 1 IRKST}
+ {1572112800 28800 0 IRKT}
+ {1585418400 32400 1 IRKST}
+ {1603562400 28800 0 IRKT}
+ {1616868000 32400 1 IRKST}
+ {1635616800 28800 0 IRKT}
+ {1648317600 32400 1 IRKST}
+ {1667066400 28800 0 IRKT}
+ {1679767200 32400 1 IRKST}
+ {1698516000 28800 0 IRKT}
+ {1711821600 32400 1 IRKST}
+ {1729965600 28800 0 IRKT}
+ {1743271200 32400 1 IRKST}
+ {1761415200 28800 0 IRKT}
+ {1774720800 32400 1 IRKST}
+ {1792864800 28800 0 IRKT}
+ {1806170400 32400 1 IRKST}
+ {1824919200 28800 0 IRKT}
+ {1837620000 32400 1 IRKST}
+ {1856368800 28800 0 IRKT}
+ {1869069600 32400 1 IRKST}
+ {1887818400 28800 0 IRKT}
+ {1901124000 32400 1 IRKST}
+ {1919268000 28800 0 IRKT}
+ {1932573600 32400 1 IRKST}
+ {1950717600 28800 0 IRKT}
+ {1964023200 32400 1 IRKST}
+ {1982772000 28800 0 IRKT}
+ {1995472800 32400 1 IRKST}
+ {2014221600 28800 0 IRKT}
+ {2026922400 32400 1 IRKST}
+ {2045671200 28800 0 IRKT}
+ {2058372000 32400 1 IRKST}
+ {2077120800 28800 0 IRKT}
+ {2090426400 32400 1 IRKST}
+ {2108570400 28800 0 IRKT}
+ {2121876000 32400 1 IRKST}
+ {2140020000 28800 0 IRKT}
+ {2153325600 32400 1 IRKST}
+ {2172074400 28800 0 IRKT}
+ {2184775200 32400 1 IRKST}
+ {2203524000 28800 0 IRKT}
+ {2216224800 32400 1 IRKST}
+ {2234973600 28800 0 IRKT}
+ {2248279200 32400 1 IRKST}
+ {2266423200 28800 0 IRKT}
+ {2279728800 32400 1 IRKST}
+ {2297872800 28800 0 IRKT}
+ {2311178400 32400 1 IRKST}
+ {2329322400 28800 0 IRKT}
+ {2342628000 32400 1 IRKST}
+ {2361376800 28800 0 IRKT}
+ {2374077600 32400 1 IRKST}
+ {2392826400 28800 0 IRKT}
+ {2405527200 32400 1 IRKST}
+ {2424276000 28800 0 IRKT}
+ {2437581600 32400 1 IRKST}
+ {2455725600 28800 0 IRKT}
+ {2469031200 32400 1 IRKST}
+ {2487175200 28800 0 IRKT}
+ {2500480800 32400 1 IRKST}
+ {2519229600 28800 0 IRKT}
+ {2531930400 32400 1 IRKST}
+ {2550679200 28800 0 IRKT}
+ {2563380000 32400 1 IRKST}
+ {2582128800 28800 0 IRKT}
+ {2595434400 32400 1 IRKST}
+ {2613578400 28800 0 IRKT}
+ {2626884000 32400 1 IRKST}
+ {2645028000 28800 0 IRKT}
+ {2658333600 32400 1 IRKST}
+ {2676477600 28800 0 IRKT}
+ {2689783200 32400 1 IRKST}
+ {2708532000 28800 0 IRKT}
+ {2721232800 32400 1 IRKST}
+ {2739981600 28800 0 IRKT}
+ {2752682400 32400 1 IRKST}
+ {2771431200 28800 0 IRKT}
+ {2784736800 32400 1 IRKST}
+ {2802880800 28800 0 IRKT}
+ {2816186400 32400 1 IRKST}
+ {2834330400 28800 0 IRKT}
+ {2847636000 32400 1 IRKST}
+ {2866384800 28800 0 IRKT}
+ {2879085600 32400 1 IRKST}
+ {2897834400 28800 0 IRKT}
+ {2910535200 32400 1 IRKST}
+ {2929284000 28800 0 IRKT}
+ {2941984800 32400 1 IRKST}
+ {2960733600 28800 0 IRKT}
+ {2974039200 32400 1 IRKST}
+ {2992183200 28800 0 IRKT}
+ {3005488800 32400 1 IRKST}
+ {3023632800 28800 0 IRKT}
+ {3036938400 32400 1 IRKST}
+ {3055687200 28800 0 IRKT}
+ {3068388000 32400 1 IRKST}
+ {3087136800 28800 0 IRKT}
+ {3099837600 32400 1 IRKST}
+ {3118586400 28800 0 IRKT}
+ {3131892000 32400 1 IRKST}
+ {3150036000 28800 0 IRKT}
+ {3163341600 32400 1 IRKST}
+ {3181485600 28800 0 IRKT}
+ {3194791200 32400 1 IRKST}
+ {3212935200 28800 0 IRKT}
+ {3226240800 32400 1 IRKST}
+ {3244989600 28800 0 IRKT}
+ {3257690400 32400 1 IRKST}
+ {3276439200 28800 0 IRKT}
+ {3289140000 32400 1 IRKST}
+ {3307888800 28800 0 IRKT}
+ {3321194400 32400 1 IRKST}
+ {3339338400 28800 0 IRKT}
+ {3352644000 32400 1 IRKST}
+ {3370788000 28800 0 IRKT}
+ {3384093600 32400 1 IRKST}
+ {3402842400 28800 0 IRKT}
+ {3415543200 32400 1 IRKST}
+ {3434292000 28800 0 IRKT}
+ {3446992800 32400 1 IRKST}
+ {3465741600 28800 0 IRKT}
+ {3479047200 32400 1 IRKST}
+ {3497191200 28800 0 IRKT}
+ {3510496800 32400 1 IRKST}
+ {3528640800 28800 0 IRKT}
+ {3541946400 32400 1 IRKST}
+ {3560090400 28800 0 IRKT}
+ {3573396000 32400 1 IRKST}
+ {3592144800 28800 0 IRKT}
+ {3604845600 32400 1 IRKST}
+ {3623594400 28800 0 IRKT}
+ {3636295200 32400 1 IRKST}
+ {3655044000 28800 0 IRKT}
+ {3668349600 32400 1 IRKST}
+ {3686493600 28800 0 IRKT}
+ {3699799200 32400 1 IRKST}
+ {3717943200 28800 0 IRKT}
+ {3731248800 32400 1 IRKST}
+ {3749997600 28800 0 IRKT}
+ {3762698400 32400 1 IRKST}
+ {3781447200 28800 0 IRKT}
+ {3794148000 32400 1 IRKST}
+ {3812896800 28800 0 IRKT}
+ {3825597600 32400 1 IRKST}
+ {3844346400 28800 0 IRKT}
+ {3857652000 32400 1 IRKST}
+ {3875796000 28800 0 IRKT}
+ {3889101600 32400 1 IRKST}
+ {3907245600 28800 0 IRKT}
+ {3920551200 32400 1 IRKST}
+ {3939300000 28800 0 IRKT}
+ {3952000800 32400 1 IRKST}
+ {3970749600 28800 0 IRKT}
+ {3983450400 32400 1 IRKST}
+ {4002199200 28800 0 IRKT}
+ {4015504800 32400 1 IRKST}
+ {4033648800 28800 0 IRKT}
+ {4046954400 32400 1 IRKST}
+ {4065098400 28800 0 IRKT}
+ {4078404000 32400 1 IRKST}
+ {4096548000 28800 0 IRKT}
}
diff --git a/library/tzdata/Asia/Jerusalem b/library/tzdata/Asia/Jerusalem
index 7662680..48e213d 100644
--- a/library/tzdata/Asia/Jerusalem
+++ b/library/tzdata/Asia/Jerusalem
@@ -1,8 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Jerusalem) {
- {-9223372036854775808 8454 0 LMT}
- {-2840149254 8440 0 JMT}
+ {-9223372036854775808 8456 0 LMT}
+ {-2840149256 8440 0 JMT}
{-1641003640 7200 0 IST}
{-933645600 10800 1 IDT}
{-857358000 7200 0 IST}
@@ -96,177 +96,53 @@ set TZData(:Asia/Jerusalem) {
{1333065600 10800 1 IDT}
{1348354800 7200 0 IST}
{1364515200 10800 1 IDT}
- {1382828400 7200 0 IST}
+ {1378594800 7200 0 IST}
{1395964800 10800 1 IDT}
- {1414278000 7200 0 IST}
+ {1411858800 7200 0 IST}
{1427414400 10800 1 IDT}
- {1445727600 7200 0 IST}
- {1458864000 10800 1 IDT}
- {1477782000 7200 0 IST}
- {1490313600 10800 1 IDT}
- {1509231600 7200 0 IST}
- {1521763200 10800 1 IDT}
- {1540681200 7200 0 IST}
+ {1442703600 7200 0 IST}
+ {1459468800 10800 1 IDT}
+ {1475967600 7200 0 IST}
+ {1490918400 10800 1 IDT}
+ {1506207600 7200 0 IST}
+ {1522368000 10800 1 IDT}
+ {1537052400 7200 0 IST}
{1553817600 10800 1 IDT}
- {1572130800 7200 0 IST}
+ {1570316400 7200 0 IST}
{1585267200 10800 1 IDT}
- {1603580400 7200 0 IST}
+ {1601161200 7200 0 IST}
{1616716800 10800 1 IDT}
- {1635634800 7200 0 IST}
- {1648166400 10800 1 IDT}
- {1667084400 7200 0 IST}
- {1679616000 10800 1 IDT}
- {1698534000 7200 0 IST}
+ {1631401200 7200 0 IST}
+ {1648771200 10800 1 IDT}
+ {1664665200 7200 0 IST}
+ {1680220800 10800 1 IDT}
+ {1695510000 7200 0 IST}
{1711670400 10800 1 IDT}
- {1729983600 7200 0 IST}
+ {1728169200 7200 0 IST}
{1743120000 10800 1 IDT}
- {1761433200 7200 0 IST}
+ {1759014000 7200 0 IST}
{1774569600 10800 1 IDT}
- {1792882800 7200 0 IST}
+ {1789858800 7200 0 IST}
{1806019200 10800 1 IDT}
- {1824937200 7200 0 IST}
- {1837468800 10800 1 IDT}
- {1856386800 7200 0 IST}
- {1868918400 10800 1 IDT}
- {1887836400 7200 0 IST}
+ {1823122800 7200 0 IST}
+ {1838073600 10800 1 IDT}
+ {1853362800 7200 0 IST}
+ {1869523200 10800 1 IDT}
+ {1884207600 7200 0 IST}
{1900972800 10800 1 IDT}
- {1919286000 7200 0 IST}
+ {1917471600 7200 0 IST}
{1932422400 10800 1 IDT}
- {1950735600 7200 0 IST}
+ {1947711600 7200 0 IST}
{1963872000 10800 1 IDT}
- {1982790000 7200 0 IST}
- {1995321600 10800 1 IDT}
- {2014239600 7200 0 IST}
- {2026771200 10800 1 IDT}
- {2045689200 7200 0 IST}
- {2058220800 10800 1 IDT}
- {2077138800 7200 0 IST}
+ {1978556400 7200 0 IST}
+ {1995926400 10800 1 IDT}
+ {2011820400 7200 0 IST}
+ {2027376000 10800 1 IDT}
+ {2042060400 7200 0 IST}
+ {2058825600 10800 1 IDT}
+ {2075324400 7200 0 IST}
{2090275200 10800 1 IDT}
- {2108588400 7200 0 IST}
+ {2106169200 7200 0 IST}
{2121724800 10800 1 IDT}
- {2140038000 7200 0 IST}
- {2153174400 10800 1 IDT}
- {2172092400 7200 0 IST}
- {2184624000 10800 1 IDT}
- {2203542000 7200 0 IST}
- {2216073600 10800 1 IDT}
- {2234991600 7200 0 IST}
- {2248128000 10800 1 IDT}
- {2266441200 7200 0 IST}
- {2279577600 10800 1 IDT}
- {2297890800 7200 0 IST}
- {2311027200 10800 1 IDT}
- {2329340400 7200 0 IST}
- {2342476800 10800 1 IDT}
- {2361394800 7200 0 IST}
- {2373926400 10800 1 IDT}
- {2392844400 7200 0 IST}
- {2405376000 10800 1 IDT}
- {2424294000 7200 0 IST}
- {2437430400 10800 1 IDT}
- {2455743600 7200 0 IST}
- {2468880000 10800 1 IDT}
- {2487193200 7200 0 IST}
- {2500329600 10800 1 IDT}
- {2519247600 7200 0 IST}
- {2531779200 10800 1 IDT}
- {2550697200 7200 0 IST}
- {2563228800 10800 1 IDT}
- {2582146800 7200 0 IST}
- {2595283200 10800 1 IDT}
- {2613596400 7200 0 IST}
- {2626732800 10800 1 IDT}
- {2645046000 7200 0 IST}
- {2658182400 10800 1 IDT}
- {2676495600 7200 0 IST}
- {2689632000 10800 1 IDT}
- {2708550000 7200 0 IST}
- {2721081600 10800 1 IDT}
- {2739999600 7200 0 IST}
- {2752531200 10800 1 IDT}
- {2771449200 7200 0 IST}
- {2784585600 10800 1 IDT}
- {2802898800 7200 0 IST}
- {2816035200 10800 1 IDT}
- {2834348400 7200 0 IST}
- {2847484800 10800 1 IDT}
- {2866402800 7200 0 IST}
- {2878934400 10800 1 IDT}
- {2897852400 7200 0 IST}
- {2910384000 10800 1 IDT}
- {2929302000 7200 0 IST}
- {2941833600 10800 1 IDT}
- {2960751600 7200 0 IST}
- {2973888000 10800 1 IDT}
- {2992201200 7200 0 IST}
- {3005337600 10800 1 IDT}
- {3023650800 7200 0 IST}
- {3036787200 10800 1 IDT}
- {3055705200 7200 0 IST}
- {3068236800 10800 1 IDT}
- {3087154800 7200 0 IST}
- {3099686400 10800 1 IDT}
- {3118604400 7200 0 IST}
- {3131740800 10800 1 IDT}
- {3150054000 7200 0 IST}
- {3163190400 10800 1 IDT}
- {3181503600 7200 0 IST}
- {3194640000 10800 1 IDT}
- {3212953200 7200 0 IST}
- {3226089600 10800 1 IDT}
- {3245007600 7200 0 IST}
- {3257539200 10800 1 IDT}
- {3276457200 7200 0 IST}
- {3288988800 10800 1 IDT}
- {3307906800 7200 0 IST}
- {3321043200 10800 1 IDT}
- {3339356400 7200 0 IST}
- {3352492800 10800 1 IDT}
- {3370806000 7200 0 IST}
- {3383942400 10800 1 IDT}
- {3402860400 7200 0 IST}
- {3415392000 10800 1 IDT}
- {3434310000 7200 0 IST}
- {3446841600 10800 1 IDT}
- {3465759600 7200 0 IST}
- {3478896000 10800 1 IDT}
- {3497209200 7200 0 IST}
- {3510345600 10800 1 IDT}
- {3528658800 7200 0 IST}
- {3541795200 10800 1 IDT}
- {3560108400 7200 0 IST}
- {3573244800 10800 1 IDT}
- {3592162800 7200 0 IST}
- {3604694400 10800 1 IDT}
- {3623612400 7200 0 IST}
- {3636144000 10800 1 IDT}
- {3655062000 7200 0 IST}
- {3668198400 10800 1 IDT}
- {3686511600 7200 0 IST}
- {3699648000 10800 1 IDT}
- {3717961200 7200 0 IST}
- {3731097600 10800 1 IDT}
- {3750015600 7200 0 IST}
- {3762547200 10800 1 IDT}
- {3781465200 7200 0 IST}
- {3793996800 10800 1 IDT}
- {3812914800 7200 0 IST}
- {3825446400 10800 1 IDT}
- {3844364400 7200 0 IST}
- {3857500800 10800 1 IDT}
- {3875814000 7200 0 IST}
- {3888950400 10800 1 IDT}
- {3907263600 7200 0 IST}
- {3920400000 10800 1 IDT}
- {3939318000 7200 0 IST}
- {3951849600 10800 1 IDT}
- {3970767600 7200 0 IST}
- {3983299200 10800 1 IDT}
- {4002217200 7200 0 IST}
- {4015353600 10800 1 IDT}
- {4033666800 7200 0 IST}
- {4046803200 10800 1 IDT}
- {4065116400 7200 0 IST}
- {4078252800 10800 1 IDT}
- {4096566000 7200 0 IST}
+ {2136409200 7200 0 IST}
}
diff --git a/library/tzdata/Asia/Kamchatka b/library/tzdata/Asia/Kamchatka
index 82abcfa..a390701 100644
--- a/library/tzdata/Asia/Kamchatka
+++ b/library/tzdata/Asia/Kamchatka
@@ -64,8 +64,184 @@ set TZData(:Asia/Kamchatka) {
{1224943200 43200 0 PETT}
{1238248800 46800 1 PETST}
{1256392800 43200 0 PETT}
- {1269698400 39600 0 PETMMTT}
- {1269702000 43200 1 PETST}
- {1288450800 39600 0 PETT}
- {1301151600 43200 0 PETT}
+ {1269698400 46800 1 PETST}
+ {1288447200 43200 0 PETT}
+ {1301148000 46800 1 PETST}
+ {1319896800 43200 0 PETT}
+ {1332597600 46800 1 PETST}
+ {1351346400 43200 0 PETT}
+ {1364652000 46800 1 PETST}
+ {1382796000 43200 0 PETT}
+ {1396101600 46800 1 PETST}
+ {1414245600 43200 0 PETT}
+ {1427551200 46800 1 PETST}
+ {1445695200 43200 0 PETT}
+ {1459000800 46800 1 PETST}
+ {1477749600 43200 0 PETT}
+ {1490450400 46800 1 PETST}
+ {1509199200 43200 0 PETT}
+ {1521900000 46800 1 PETST}
+ {1540648800 43200 0 PETT}
+ {1553954400 46800 1 PETST}
+ {1572098400 43200 0 PETT}
+ {1585404000 46800 1 PETST}
+ {1603548000 43200 0 PETT}
+ {1616853600 46800 1 PETST}
+ {1635602400 43200 0 PETT}
+ {1648303200 46800 1 PETST}
+ {1667052000 43200 0 PETT}
+ {1679752800 46800 1 PETST}
+ {1698501600 43200 0 PETT}
+ {1711807200 46800 1 PETST}
+ {1729951200 43200 0 PETT}
+ {1743256800 46800 1 PETST}
+ {1761400800 43200 0 PETT}
+ {1774706400 46800 1 PETST}
+ {1792850400 43200 0 PETT}
+ {1806156000 46800 1 PETST}
+ {1824904800 43200 0 PETT}
+ {1837605600 46800 1 PETST}
+ {1856354400 43200 0 PETT}
+ {1869055200 46800 1 PETST}
+ {1887804000 43200 0 PETT}
+ {1901109600 46800 1 PETST}
+ {1919253600 43200 0 PETT}
+ {1932559200 46800 1 PETST}
+ {1950703200 43200 0 PETT}
+ {1964008800 46800 1 PETST}
+ {1982757600 43200 0 PETT}
+ {1995458400 46800 1 PETST}
+ {2014207200 43200 0 PETT}
+ {2026908000 46800 1 PETST}
+ {2045656800 43200 0 PETT}
+ {2058357600 46800 1 PETST}
+ {2077106400 43200 0 PETT}
+ {2090412000 46800 1 PETST}
+ {2108556000 43200 0 PETT}
+ {2121861600 46800 1 PETST}
+ {2140005600 43200 0 PETT}
+ {2153311200 46800 1 PETST}
+ {2172060000 43200 0 PETT}
+ {2184760800 46800 1 PETST}
+ {2203509600 43200 0 PETT}
+ {2216210400 46800 1 PETST}
+ {2234959200 43200 0 PETT}
+ {2248264800 46800 1 PETST}
+ {2266408800 43200 0 PETT}
+ {2279714400 46800 1 PETST}
+ {2297858400 43200 0 PETT}
+ {2311164000 46800 1 PETST}
+ {2329308000 43200 0 PETT}
+ {2342613600 46800 1 PETST}
+ {2361362400 43200 0 PETT}
+ {2374063200 46800 1 PETST}
+ {2392812000 43200 0 PETT}
+ {2405512800 46800 1 PETST}
+ {2424261600 43200 0 PETT}
+ {2437567200 46800 1 PETST}
+ {2455711200 43200 0 PETT}
+ {2469016800 46800 1 PETST}
+ {2487160800 43200 0 PETT}
+ {2500466400 46800 1 PETST}
+ {2519215200 43200 0 PETT}
+ {2531916000 46800 1 PETST}
+ {2550664800 43200 0 PETT}
+ {2563365600 46800 1 PETST}
+ {2582114400 43200 0 PETT}
+ {2595420000 46800 1 PETST}
+ {2613564000 43200 0 PETT}
+ {2626869600 46800 1 PETST}
+ {2645013600 43200 0 PETT}
+ {2658319200 46800 1 PETST}
+ {2676463200 43200 0 PETT}
+ {2689768800 46800 1 PETST}
+ {2708517600 43200 0 PETT}
+ {2721218400 46800 1 PETST}
+ {2739967200 43200 0 PETT}
+ {2752668000 46800 1 PETST}
+ {2771416800 43200 0 PETT}
+ {2784722400 46800 1 PETST}
+ {2802866400 43200 0 PETT}
+ {2816172000 46800 1 PETST}
+ {2834316000 43200 0 PETT}
+ {2847621600 46800 1 PETST}
+ {2866370400 43200 0 PETT}
+ {2879071200 46800 1 PETST}
+ {2897820000 43200 0 PETT}
+ {2910520800 46800 1 PETST}
+ {2929269600 43200 0 PETT}
+ {2941970400 46800 1 PETST}
+ {2960719200 43200 0 PETT}
+ {2974024800 46800 1 PETST}
+ {2992168800 43200 0 PETT}
+ {3005474400 46800 1 PETST}
+ {3023618400 43200 0 PETT}
+ {3036924000 46800 1 PETST}
+ {3055672800 43200 0 PETT}
+ {3068373600 46800 1 PETST}
+ {3087122400 43200 0 PETT}
+ {3099823200 46800 1 PETST}
+ {3118572000 43200 0 PETT}
+ {3131877600 46800 1 PETST}
+ {3150021600 43200 0 PETT}
+ {3163327200 46800 1 PETST}
+ {3181471200 43200 0 PETT}
+ {3194776800 46800 1 PETST}
+ {3212920800 43200 0 PETT}
+ {3226226400 46800 1 PETST}
+ {3244975200 43200 0 PETT}
+ {3257676000 46800 1 PETST}
+ {3276424800 43200 0 PETT}
+ {3289125600 46800 1 PETST}
+ {3307874400 43200 0 PETT}
+ {3321180000 46800 1 PETST}
+ {3339324000 43200 0 PETT}
+ {3352629600 46800 1 PETST}
+ {3370773600 43200 0 PETT}
+ {3384079200 46800 1 PETST}
+ {3402828000 43200 0 PETT}
+ {3415528800 46800 1 PETST}
+ {3434277600 43200 0 PETT}
+ {3446978400 46800 1 PETST}
+ {3465727200 43200 0 PETT}
+ {3479032800 46800 1 PETST}
+ {3497176800 43200 0 PETT}
+ {3510482400 46800 1 PETST}
+ {3528626400 43200 0 PETT}
+ {3541932000 46800 1 PETST}
+ {3560076000 43200 0 PETT}
+ {3573381600 46800 1 PETST}
+ {3592130400 43200 0 PETT}
+ {3604831200 46800 1 PETST}
+ {3623580000 43200 0 PETT}
+ {3636280800 46800 1 PETST}
+ {3655029600 43200 0 PETT}
+ {3668335200 46800 1 PETST}
+ {3686479200 43200 0 PETT}
+ {3699784800 46800 1 PETST}
+ {3717928800 43200 0 PETT}
+ {3731234400 46800 1 PETST}
+ {3749983200 43200 0 PETT}
+ {3762684000 46800 1 PETST}
+ {3781432800 43200 0 PETT}
+ {3794133600 46800 1 PETST}
+ {3812882400 43200 0 PETT}
+ {3825583200 46800 1 PETST}
+ {3844332000 43200 0 PETT}
+ {3857637600 46800 1 PETST}
+ {3875781600 43200 0 PETT}
+ {3889087200 46800 1 PETST}
+ {3907231200 43200 0 PETT}
+ {3920536800 46800 1 PETST}
+ {3939285600 43200 0 PETT}
+ {3951986400 46800 1 PETST}
+ {3970735200 43200 0 PETT}
+ {3983436000 46800 1 PETST}
+ {4002184800 43200 0 PETT}
+ {4015490400 46800 1 PETST}
+ {4033634400 43200 0 PETT}
+ {4046940000 46800 1 PETST}
+ {4065084000 43200 0 PETT}
+ {4078389600 46800 1 PETST}
+ {4096533600 43200 0 PETT}
}
diff --git a/library/tzdata/Asia/Khandyga b/library/tzdata/Asia/Khandyga
deleted file mode 100644
index 2464b9f..0000000
--- a/library/tzdata/Asia/Khandyga
+++ /dev/null
@@ -1,72 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Asia/Khandyga) {
- {-9223372036854775808 32533 0 LMT}
- {-1579424533 28800 0 YAKT}
- {-1247558400 32400 0 YAKMMTT}
- {354898800 36000 1 YAKST}
- {370706400 32400 0 YAKT}
- {386434800 36000 1 YAKST}
- {402242400 32400 0 YAKT}
- {417970800 36000 1 YAKST}
- {433778400 32400 0 YAKT}
- {449593200 36000 1 YAKST}
- {465325200 32400 0 YAKT}
- {481050000 36000 1 YAKST}
- {496774800 32400 0 YAKT}
- {512499600 36000 1 YAKST}
- {528224400 32400 0 YAKT}
- {543949200 36000 1 YAKST}
- {559674000 32400 0 YAKT}
- {575398800 36000 1 YAKST}
- {591123600 32400 0 YAKT}
- {606848400 36000 1 YAKST}
- {622573200 32400 0 YAKT}
- {638298000 36000 1 YAKST}
- {654627600 32400 0 YAKT}
- {670352400 28800 0 YAKMMTT}
- {670356000 32400 1 YAKST}
- {686080800 28800 0 YAKT}
- {695757600 32400 0 YAKMMTT}
- {701791200 36000 1 YAKST}
- {717512400 32400 0 YAKT}
- {733251600 36000 1 YAKST}
- {748976400 32400 0 YAKT}
- {764701200 36000 1 YAKST}
- {780426000 32400 0 YAKT}
- {796150800 36000 1 YAKST}
- {811875600 32400 0 YAKT}
- {828205200 36000 1 YAKST}
- {846349200 32400 0 YAKT}
- {859654800 36000 1 YAKST}
- {877798800 32400 0 YAKT}
- {891104400 36000 1 YAKST}
- {909248400 32400 0 YAKT}
- {922554000 36000 1 YAKST}
- {941302800 32400 0 YAKT}
- {954003600 36000 1 YAKST}
- {972752400 32400 0 YAKT}
- {985453200 36000 1 YAKST}
- {1004202000 32400 0 YAKT}
- {1017507600 36000 1 YAKST}
- {1035651600 32400 0 YAKT}
- {1048957200 36000 1 YAKST}
- {1067101200 32400 0 YAKT}
- {1072882800 36000 0 VLAMMTT}
- {1080403200 39600 1 VLAST}
- {1099152000 36000 0 VLAT}
- {1111852800 39600 1 VLAST}
- {1130601600 36000 0 VLAT}
- {1143302400 39600 1 VLAST}
- {1162051200 36000 0 VLAT}
- {1174752000 39600 1 VLAST}
- {1193500800 36000 0 VLAT}
- {1206806400 39600 1 VLAST}
- {1224950400 36000 0 VLAT}
- {1238256000 39600 1 VLAST}
- {1256400000 36000 0 VLAT}
- {1269705600 39600 1 VLAST}
- {1288454400 36000 0 VLAT}
- {1301155200 39600 0 VLAT}
- {1315832400 36000 0 YAKT}
-}
diff --git a/library/tzdata/Asia/Krasnoyarsk b/library/tzdata/Asia/Krasnoyarsk
index 13dfeb5..24046fe 100644
--- a/library/tzdata/Asia/Krasnoyarsk
+++ b/library/tzdata/Asia/Krasnoyarsk
@@ -66,5 +66,182 @@ set TZData(:Asia/Krasnoyarsk) {
{1256410800 25200 0 KRAT}
{1269716400 28800 1 KRAST}
{1288465200 25200 0 KRAT}
- {1301166000 28800 0 KRAT}
+ {1301166000 28800 1 KRAST}
+ {1319914800 25200 0 KRAT}
+ {1332615600 28800 1 KRAST}
+ {1351364400 25200 0 KRAT}
+ {1364670000 28800 1 KRAST}
+ {1382814000 25200 0 KRAT}
+ {1396119600 28800 1 KRAST}
+ {1414263600 25200 0 KRAT}
+ {1427569200 28800 1 KRAST}
+ {1445713200 25200 0 KRAT}
+ {1459018800 28800 1 KRAST}
+ {1477767600 25200 0 KRAT}
+ {1490468400 28800 1 KRAST}
+ {1509217200 25200 0 KRAT}
+ {1521918000 28800 1 KRAST}
+ {1540666800 25200 0 KRAT}
+ {1553972400 28800 1 KRAST}
+ {1572116400 25200 0 KRAT}
+ {1585422000 28800 1 KRAST}
+ {1603566000 25200 0 KRAT}
+ {1616871600 28800 1 KRAST}
+ {1635620400 25200 0 KRAT}
+ {1648321200 28800 1 KRAST}
+ {1667070000 25200 0 KRAT}
+ {1679770800 28800 1 KRAST}
+ {1698519600 25200 0 KRAT}
+ {1711825200 28800 1 KRAST}
+ {1729969200 25200 0 KRAT}
+ {1743274800 28800 1 KRAST}
+ {1761418800 25200 0 KRAT}
+ {1774724400 28800 1 KRAST}
+ {1792868400 25200 0 KRAT}
+ {1806174000 28800 1 KRAST}
+ {1824922800 25200 0 KRAT}
+ {1837623600 28800 1 KRAST}
+ {1856372400 25200 0 KRAT}
+ {1869073200 28800 1 KRAST}
+ {1887822000 25200 0 KRAT}
+ {1901127600 28800 1 KRAST}
+ {1919271600 25200 0 KRAT}
+ {1932577200 28800 1 KRAST}
+ {1950721200 25200 0 KRAT}
+ {1964026800 28800 1 KRAST}
+ {1982775600 25200 0 KRAT}
+ {1995476400 28800 1 KRAST}
+ {2014225200 25200 0 KRAT}
+ {2026926000 28800 1 KRAST}
+ {2045674800 25200 0 KRAT}
+ {2058375600 28800 1 KRAST}
+ {2077124400 25200 0 KRAT}
+ {2090430000 28800 1 KRAST}
+ {2108574000 25200 0 KRAT}
+ {2121879600 28800 1 KRAST}
+ {2140023600 25200 0 KRAT}
+ {2153329200 28800 1 KRAST}
+ {2172078000 25200 0 KRAT}
+ {2184778800 28800 1 KRAST}
+ {2203527600 25200 0 KRAT}
+ {2216228400 28800 1 KRAST}
+ {2234977200 25200 0 KRAT}
+ {2248282800 28800 1 KRAST}
+ {2266426800 25200 0 KRAT}
+ {2279732400 28800 1 KRAST}
+ {2297876400 25200 0 KRAT}
+ {2311182000 28800 1 KRAST}
+ {2329326000 25200 0 KRAT}
+ {2342631600 28800 1 KRAST}
+ {2361380400 25200 0 KRAT}
+ {2374081200 28800 1 KRAST}
+ {2392830000 25200 0 KRAT}
+ {2405530800 28800 1 KRAST}
+ {2424279600 25200 0 KRAT}
+ {2437585200 28800 1 KRAST}
+ {2455729200 25200 0 KRAT}
+ {2469034800 28800 1 KRAST}
+ {2487178800 25200 0 KRAT}
+ {2500484400 28800 1 KRAST}
+ {2519233200 25200 0 KRAT}
+ {2531934000 28800 1 KRAST}
+ {2550682800 25200 0 KRAT}
+ {2563383600 28800 1 KRAST}
+ {2582132400 25200 0 KRAT}
+ {2595438000 28800 1 KRAST}
+ {2613582000 25200 0 KRAT}
+ {2626887600 28800 1 KRAST}
+ {2645031600 25200 0 KRAT}
+ {2658337200 28800 1 KRAST}
+ {2676481200 25200 0 KRAT}
+ {2689786800 28800 1 KRAST}
+ {2708535600 25200 0 KRAT}
+ {2721236400 28800 1 KRAST}
+ {2739985200 25200 0 KRAT}
+ {2752686000 28800 1 KRAST}
+ {2771434800 25200 0 KRAT}
+ {2784740400 28800 1 KRAST}
+ {2802884400 25200 0 KRAT}
+ {2816190000 28800 1 KRAST}
+ {2834334000 25200 0 KRAT}
+ {2847639600 28800 1 KRAST}
+ {2866388400 25200 0 KRAT}
+ {2879089200 28800 1 KRAST}
+ {2897838000 25200 0 KRAT}
+ {2910538800 28800 1 KRAST}
+ {2929287600 25200 0 KRAT}
+ {2941988400 28800 1 KRAST}
+ {2960737200 25200 0 KRAT}
+ {2974042800 28800 1 KRAST}
+ {2992186800 25200 0 KRAT}
+ {3005492400 28800 1 KRAST}
+ {3023636400 25200 0 KRAT}
+ {3036942000 28800 1 KRAST}
+ {3055690800 25200 0 KRAT}
+ {3068391600 28800 1 KRAST}
+ {3087140400 25200 0 KRAT}
+ {3099841200 28800 1 KRAST}
+ {3118590000 25200 0 KRAT}
+ {3131895600 28800 1 KRAST}
+ {3150039600 25200 0 KRAT}
+ {3163345200 28800 1 KRAST}
+ {3181489200 25200 0 KRAT}
+ {3194794800 28800 1 KRAST}
+ {3212938800 25200 0 KRAT}
+ {3226244400 28800 1 KRAST}
+ {3244993200 25200 0 KRAT}
+ {3257694000 28800 1 KRAST}
+ {3276442800 25200 0 KRAT}
+ {3289143600 28800 1 KRAST}
+ {3307892400 25200 0 KRAT}
+ {3321198000 28800 1 KRAST}
+ {3339342000 25200 0 KRAT}
+ {3352647600 28800 1 KRAST}
+ {3370791600 25200 0 KRAT}
+ {3384097200 28800 1 KRAST}
+ {3402846000 25200 0 KRAT}
+ {3415546800 28800 1 KRAST}
+ {3434295600 25200 0 KRAT}
+ {3446996400 28800 1 KRAST}
+ {3465745200 25200 0 KRAT}
+ {3479050800 28800 1 KRAST}
+ {3497194800 25200 0 KRAT}
+ {3510500400 28800 1 KRAST}
+ {3528644400 25200 0 KRAT}
+ {3541950000 28800 1 KRAST}
+ {3560094000 25200 0 KRAT}
+ {3573399600 28800 1 KRAST}
+ {3592148400 25200 0 KRAT}
+ {3604849200 28800 1 KRAST}
+ {3623598000 25200 0 KRAT}
+ {3636298800 28800 1 KRAST}
+ {3655047600 25200 0 KRAT}
+ {3668353200 28800 1 KRAST}
+ {3686497200 25200 0 KRAT}
+ {3699802800 28800 1 KRAST}
+ {3717946800 25200 0 KRAT}
+ {3731252400 28800 1 KRAST}
+ {3750001200 25200 0 KRAT}
+ {3762702000 28800 1 KRAST}
+ {3781450800 25200 0 KRAT}
+ {3794151600 28800 1 KRAST}
+ {3812900400 25200 0 KRAT}
+ {3825601200 28800 1 KRAST}
+ {3844350000 25200 0 KRAT}
+ {3857655600 28800 1 KRAST}
+ {3875799600 25200 0 KRAT}
+ {3889105200 28800 1 KRAST}
+ {3907249200 25200 0 KRAT}
+ {3920554800 28800 1 KRAST}
+ {3939303600 25200 0 KRAT}
+ {3952004400 28800 1 KRAST}
+ {3970753200 25200 0 KRAT}
+ {3983454000 28800 1 KRAST}
+ {4002202800 25200 0 KRAT}
+ {4015508400 28800 1 KRAST}
+ {4033652400 25200 0 KRAT}
+ {4046958000 28800 1 KRAST}
+ {4065102000 25200 0 KRAT}
+ {4078407600 28800 1 KRAST}
+ {4096551600 25200 0 KRAT}
}
diff --git a/library/tzdata/Asia/Magadan b/library/tzdata/Asia/Magadan
index 62e01c5..28e1f2f 100644
--- a/library/tzdata/Asia/Magadan
+++ b/library/tzdata/Asia/Magadan
@@ -66,5 +66,182 @@ set TZData(:Asia/Magadan) {
{1256396400 39600 0 MAGT}
{1269702000 43200 1 MAGST}
{1288450800 39600 0 MAGT}
- {1301151600 43200 0 MAGT}
+ {1301151600 43200 1 MAGST}
+ {1319900400 39600 0 MAGT}
+ {1332601200 43200 1 MAGST}
+ {1351350000 39600 0 MAGT}
+ {1364655600 43200 1 MAGST}
+ {1382799600 39600 0 MAGT}
+ {1396105200 43200 1 MAGST}
+ {1414249200 39600 0 MAGT}
+ {1427554800 43200 1 MAGST}
+ {1445698800 39600 0 MAGT}
+ {1459004400 43200 1 MAGST}
+ {1477753200 39600 0 MAGT}
+ {1490454000 43200 1 MAGST}
+ {1509202800 39600 0 MAGT}
+ {1521903600 43200 1 MAGST}
+ {1540652400 39600 0 MAGT}
+ {1553958000 43200 1 MAGST}
+ {1572102000 39600 0 MAGT}
+ {1585407600 43200 1 MAGST}
+ {1603551600 39600 0 MAGT}
+ {1616857200 43200 1 MAGST}
+ {1635606000 39600 0 MAGT}
+ {1648306800 43200 1 MAGST}
+ {1667055600 39600 0 MAGT}
+ {1679756400 43200 1 MAGST}
+ {1698505200 39600 0 MAGT}
+ {1711810800 43200 1 MAGST}
+ {1729954800 39600 0 MAGT}
+ {1743260400 43200 1 MAGST}
+ {1761404400 39600 0 MAGT}
+ {1774710000 43200 1 MAGST}
+ {1792854000 39600 0 MAGT}
+ {1806159600 43200 1 MAGST}
+ {1824908400 39600 0 MAGT}
+ {1837609200 43200 1 MAGST}
+ {1856358000 39600 0 MAGT}
+ {1869058800 43200 1 MAGST}
+ {1887807600 39600 0 MAGT}
+ {1901113200 43200 1 MAGST}
+ {1919257200 39600 0 MAGT}
+ {1932562800 43200 1 MAGST}
+ {1950706800 39600 0 MAGT}
+ {1964012400 43200 1 MAGST}
+ {1982761200 39600 0 MAGT}
+ {1995462000 43200 1 MAGST}
+ {2014210800 39600 0 MAGT}
+ {2026911600 43200 1 MAGST}
+ {2045660400 39600 0 MAGT}
+ {2058361200 43200 1 MAGST}
+ {2077110000 39600 0 MAGT}
+ {2090415600 43200 1 MAGST}
+ {2108559600 39600 0 MAGT}
+ {2121865200 43200 1 MAGST}
+ {2140009200 39600 0 MAGT}
+ {2153314800 43200 1 MAGST}
+ {2172063600 39600 0 MAGT}
+ {2184764400 43200 1 MAGST}
+ {2203513200 39600 0 MAGT}
+ {2216214000 43200 1 MAGST}
+ {2234962800 39600 0 MAGT}
+ {2248268400 43200 1 MAGST}
+ {2266412400 39600 0 MAGT}
+ {2279718000 43200 1 MAGST}
+ {2297862000 39600 0 MAGT}
+ {2311167600 43200 1 MAGST}
+ {2329311600 39600 0 MAGT}
+ {2342617200 43200 1 MAGST}
+ {2361366000 39600 0 MAGT}
+ {2374066800 43200 1 MAGST}
+ {2392815600 39600 0 MAGT}
+ {2405516400 43200 1 MAGST}
+ {2424265200 39600 0 MAGT}
+ {2437570800 43200 1 MAGST}
+ {2455714800 39600 0 MAGT}
+ {2469020400 43200 1 MAGST}
+ {2487164400 39600 0 MAGT}
+ {2500470000 43200 1 MAGST}
+ {2519218800 39600 0 MAGT}
+ {2531919600 43200 1 MAGST}
+ {2550668400 39600 0 MAGT}
+ {2563369200 43200 1 MAGST}
+ {2582118000 39600 0 MAGT}
+ {2595423600 43200 1 MAGST}
+ {2613567600 39600 0 MAGT}
+ {2626873200 43200 1 MAGST}
+ {2645017200 39600 0 MAGT}
+ {2658322800 43200 1 MAGST}
+ {2676466800 39600 0 MAGT}
+ {2689772400 43200 1 MAGST}
+ {2708521200 39600 0 MAGT}
+ {2721222000 43200 1 MAGST}
+ {2739970800 39600 0 MAGT}
+ {2752671600 43200 1 MAGST}
+ {2771420400 39600 0 MAGT}
+ {2784726000 43200 1 MAGST}
+ {2802870000 39600 0 MAGT}
+ {2816175600 43200 1 MAGST}
+ {2834319600 39600 0 MAGT}
+ {2847625200 43200 1 MAGST}
+ {2866374000 39600 0 MAGT}
+ {2879074800 43200 1 MAGST}
+ {2897823600 39600 0 MAGT}
+ {2910524400 43200 1 MAGST}
+ {2929273200 39600 0 MAGT}
+ {2941974000 43200 1 MAGST}
+ {2960722800 39600 0 MAGT}
+ {2974028400 43200 1 MAGST}
+ {2992172400 39600 0 MAGT}
+ {3005478000 43200 1 MAGST}
+ {3023622000 39600 0 MAGT}
+ {3036927600 43200 1 MAGST}
+ {3055676400 39600 0 MAGT}
+ {3068377200 43200 1 MAGST}
+ {3087126000 39600 0 MAGT}
+ {3099826800 43200 1 MAGST}
+ {3118575600 39600 0 MAGT}
+ {3131881200 43200 1 MAGST}
+ {3150025200 39600 0 MAGT}
+ {3163330800 43200 1 MAGST}
+ {3181474800 39600 0 MAGT}
+ {3194780400 43200 1 MAGST}
+ {3212924400 39600 0 MAGT}
+ {3226230000 43200 1 MAGST}
+ {3244978800 39600 0 MAGT}
+ {3257679600 43200 1 MAGST}
+ {3276428400 39600 0 MAGT}
+ {3289129200 43200 1 MAGST}
+ {3307878000 39600 0 MAGT}
+ {3321183600 43200 1 MAGST}
+ {3339327600 39600 0 MAGT}
+ {3352633200 43200 1 MAGST}
+ {3370777200 39600 0 MAGT}
+ {3384082800 43200 1 MAGST}
+ {3402831600 39600 0 MAGT}
+ {3415532400 43200 1 MAGST}
+ {3434281200 39600 0 MAGT}
+ {3446982000 43200 1 MAGST}
+ {3465730800 39600 0 MAGT}
+ {3479036400 43200 1 MAGST}
+ {3497180400 39600 0 MAGT}
+ {3510486000 43200 1 MAGST}
+ {3528630000 39600 0 MAGT}
+ {3541935600 43200 1 MAGST}
+ {3560079600 39600 0 MAGT}
+ {3573385200 43200 1 MAGST}
+ {3592134000 39600 0 MAGT}
+ {3604834800 43200 1 MAGST}
+ {3623583600 39600 0 MAGT}
+ {3636284400 43200 1 MAGST}
+ {3655033200 39600 0 MAGT}
+ {3668338800 43200 1 MAGST}
+ {3686482800 39600 0 MAGT}
+ {3699788400 43200 1 MAGST}
+ {3717932400 39600 0 MAGT}
+ {3731238000 43200 1 MAGST}
+ {3749986800 39600 0 MAGT}
+ {3762687600 43200 1 MAGST}
+ {3781436400 39600 0 MAGT}
+ {3794137200 43200 1 MAGST}
+ {3812886000 39600 0 MAGT}
+ {3825586800 43200 1 MAGST}
+ {3844335600 39600 0 MAGT}
+ {3857641200 43200 1 MAGST}
+ {3875785200 39600 0 MAGT}
+ {3889090800 43200 1 MAGST}
+ {3907234800 39600 0 MAGT}
+ {3920540400 43200 1 MAGST}
+ {3939289200 39600 0 MAGT}
+ {3951990000 43200 1 MAGST}
+ {3970738800 39600 0 MAGT}
+ {3983439600 43200 1 MAGST}
+ {4002188400 39600 0 MAGT}
+ {4015494000 43200 1 MAGST}
+ {4033638000 39600 0 MAGT}
+ {4046943600 43200 1 MAGST}
+ {4065087600 39600 0 MAGT}
+ {4078393200 43200 1 MAGST}
+ {4096537200 39600 0 MAGT}
}
diff --git a/library/tzdata/Asia/Muscat b/library/tzdata/Asia/Muscat
index a69b880..21b5873 100644
--- a/library/tzdata/Asia/Muscat
+++ b/library/tzdata/Asia/Muscat
@@ -1,6 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Muscat) {
- {-9223372036854775808 14064 0 LMT}
- {-1577937264 14400 0 GST}
+ {-9223372036854775808 14060 0 LMT}
+ {-1577937260 14400 0 GST}
}
diff --git a/library/tzdata/Asia/Novokuznetsk b/library/tzdata/Asia/Novokuznetsk
deleted file mode 100644
index 9cd45c0..0000000
--- a/library/tzdata/Asia/Novokuznetsk
+++ /dev/null
@@ -1,71 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Asia/Novokuznetsk) {
- {-9223372036854775808 20928 0 NMT}
- {-1577512128 21600 0 KRAT}
- {-1247551200 25200 0 KRAMMTT}
- {354906000 28800 1 KRAST}
- {370713600 25200 0 KRAT}
- {386442000 28800 1 KRAST}
- {402249600 25200 0 KRAT}
- {417978000 28800 1 KRAST}
- {433785600 25200 0 KRAT}
- {449600400 28800 1 KRAST}
- {465332400 25200 0 KRAT}
- {481057200 28800 1 KRAST}
- {496782000 25200 0 KRAT}
- {512506800 28800 1 KRAST}
- {528231600 25200 0 KRAT}
- {543956400 28800 1 KRAST}
- {559681200 25200 0 KRAT}
- {575406000 28800 1 KRAST}
- {591130800 25200 0 KRAT}
- {606855600 28800 1 KRAST}
- {622580400 25200 0 KRAT}
- {638305200 28800 1 KRAST}
- {654634800 25200 0 KRAT}
- {670359600 21600 0 KRAMMTT}
- {670363200 25200 1 KRAST}
- {686088000 21600 0 KRAT}
- {695764800 25200 0 KRAMMTT}
- {701798400 28800 1 KRAST}
- {717519600 25200 0 KRAT}
- {733258800 28800 1 KRAST}
- {748983600 25200 0 KRAT}
- {764708400 28800 1 KRAST}
- {780433200 25200 0 KRAT}
- {796158000 28800 1 KRAST}
- {811882800 25200 0 KRAT}
- {828212400 28800 1 KRAST}
- {846356400 25200 0 KRAT}
- {859662000 28800 1 KRAST}
- {877806000 25200 0 KRAT}
- {891111600 28800 1 KRAST}
- {909255600 25200 0 KRAT}
- {922561200 28800 1 KRAST}
- {941310000 25200 0 KRAT}
- {954010800 28800 1 KRAST}
- {972759600 25200 0 KRAT}
- {985460400 28800 1 KRAST}
- {1004209200 25200 0 KRAT}
- {1017514800 28800 1 KRAST}
- {1035658800 25200 0 KRAT}
- {1048964400 28800 1 KRAST}
- {1067108400 25200 0 KRAT}
- {1080414000 28800 1 KRAST}
- {1099162800 25200 0 KRAT}
- {1111863600 28800 1 KRAST}
- {1130612400 25200 0 KRAT}
- {1143313200 28800 1 KRAST}
- {1162062000 25200 0 KRAT}
- {1174762800 28800 1 KRAST}
- {1193511600 25200 0 KRAT}
- {1206817200 28800 1 KRAST}
- {1224961200 25200 0 KRAT}
- {1238266800 28800 1 KRAST}
- {1256410800 25200 0 KRAT}
- {1269716400 21600 0 NOVMMTT}
- {1269720000 25200 1 NOVST}
- {1288468800 21600 0 NOVT}
- {1301169600 25200 0 NOVT}
-}
diff --git a/library/tzdata/Asia/Novosibirsk b/library/tzdata/Asia/Novosibirsk
index 5032eec..0b35658 100644
--- a/library/tzdata/Asia/Novosibirsk
+++ b/library/tzdata/Asia/Novosibirsk
@@ -67,5 +67,182 @@ set TZData(:Asia/Novosibirsk) {
{1256414400 21600 0 NOVT}
{1269720000 25200 1 NOVST}
{1288468800 21600 0 NOVT}
- {1301169600 25200 0 NOVT}
+ {1301169600 25200 1 NOVST}
+ {1319918400 21600 0 NOVT}
+ {1332619200 25200 1 NOVST}
+ {1351368000 21600 0 NOVT}
+ {1364673600 25200 1 NOVST}
+ {1382817600 21600 0 NOVT}
+ {1396123200 25200 1 NOVST}
+ {1414267200 21600 0 NOVT}
+ {1427572800 25200 1 NOVST}
+ {1445716800 21600 0 NOVT}
+ {1459022400 25200 1 NOVST}
+ {1477771200 21600 0 NOVT}
+ {1490472000 25200 1 NOVST}
+ {1509220800 21600 0 NOVT}
+ {1521921600 25200 1 NOVST}
+ {1540670400 21600 0 NOVT}
+ {1553976000 25200 1 NOVST}
+ {1572120000 21600 0 NOVT}
+ {1585425600 25200 1 NOVST}
+ {1603569600 21600 0 NOVT}
+ {1616875200 25200 1 NOVST}
+ {1635624000 21600 0 NOVT}
+ {1648324800 25200 1 NOVST}
+ {1667073600 21600 0 NOVT}
+ {1679774400 25200 1 NOVST}
+ {1698523200 21600 0 NOVT}
+ {1711828800 25200 1 NOVST}
+ {1729972800 21600 0 NOVT}
+ {1743278400 25200 1 NOVST}
+ {1761422400 21600 0 NOVT}
+ {1774728000 25200 1 NOVST}
+ {1792872000 21600 0 NOVT}
+ {1806177600 25200 1 NOVST}
+ {1824926400 21600 0 NOVT}
+ {1837627200 25200 1 NOVST}
+ {1856376000 21600 0 NOVT}
+ {1869076800 25200 1 NOVST}
+ {1887825600 21600 0 NOVT}
+ {1901131200 25200 1 NOVST}
+ {1919275200 21600 0 NOVT}
+ {1932580800 25200 1 NOVST}
+ {1950724800 21600 0 NOVT}
+ {1964030400 25200 1 NOVST}
+ {1982779200 21600 0 NOVT}
+ {1995480000 25200 1 NOVST}
+ {2014228800 21600 0 NOVT}
+ {2026929600 25200 1 NOVST}
+ {2045678400 21600 0 NOVT}
+ {2058379200 25200 1 NOVST}
+ {2077128000 21600 0 NOVT}
+ {2090433600 25200 1 NOVST}
+ {2108577600 21600 0 NOVT}
+ {2121883200 25200 1 NOVST}
+ {2140027200 21600 0 NOVT}
+ {2153332800 25200 1 NOVST}
+ {2172081600 21600 0 NOVT}
+ {2184782400 25200 1 NOVST}
+ {2203531200 21600 0 NOVT}
+ {2216232000 25200 1 NOVST}
+ {2234980800 21600 0 NOVT}
+ {2248286400 25200 1 NOVST}
+ {2266430400 21600 0 NOVT}
+ {2279736000 25200 1 NOVST}
+ {2297880000 21600 0 NOVT}
+ {2311185600 25200 1 NOVST}
+ {2329329600 21600 0 NOVT}
+ {2342635200 25200 1 NOVST}
+ {2361384000 21600 0 NOVT}
+ {2374084800 25200 1 NOVST}
+ {2392833600 21600 0 NOVT}
+ {2405534400 25200 1 NOVST}
+ {2424283200 21600 0 NOVT}
+ {2437588800 25200 1 NOVST}
+ {2455732800 21600 0 NOVT}
+ {2469038400 25200 1 NOVST}
+ {2487182400 21600 0 NOVT}
+ {2500488000 25200 1 NOVST}
+ {2519236800 21600 0 NOVT}
+ {2531937600 25200 1 NOVST}
+ {2550686400 21600 0 NOVT}
+ {2563387200 25200 1 NOVST}
+ {2582136000 21600 0 NOVT}
+ {2595441600 25200 1 NOVST}
+ {2613585600 21600 0 NOVT}
+ {2626891200 25200 1 NOVST}
+ {2645035200 21600 0 NOVT}
+ {2658340800 25200 1 NOVST}
+ {2676484800 21600 0 NOVT}
+ {2689790400 25200 1 NOVST}
+ {2708539200 21600 0 NOVT}
+ {2721240000 25200 1 NOVST}
+ {2739988800 21600 0 NOVT}
+ {2752689600 25200 1 NOVST}
+ {2771438400 21600 0 NOVT}
+ {2784744000 25200 1 NOVST}
+ {2802888000 21600 0 NOVT}
+ {2816193600 25200 1 NOVST}
+ {2834337600 21600 0 NOVT}
+ {2847643200 25200 1 NOVST}
+ {2866392000 21600 0 NOVT}
+ {2879092800 25200 1 NOVST}
+ {2897841600 21600 0 NOVT}
+ {2910542400 25200 1 NOVST}
+ {2929291200 21600 0 NOVT}
+ {2941992000 25200 1 NOVST}
+ {2960740800 21600 0 NOVT}
+ {2974046400 25200 1 NOVST}
+ {2992190400 21600 0 NOVT}
+ {3005496000 25200 1 NOVST}
+ {3023640000 21600 0 NOVT}
+ {3036945600 25200 1 NOVST}
+ {3055694400 21600 0 NOVT}
+ {3068395200 25200 1 NOVST}
+ {3087144000 21600 0 NOVT}
+ {3099844800 25200 1 NOVST}
+ {3118593600 21600 0 NOVT}
+ {3131899200 25200 1 NOVST}
+ {3150043200 21600 0 NOVT}
+ {3163348800 25200 1 NOVST}
+ {3181492800 21600 0 NOVT}
+ {3194798400 25200 1 NOVST}
+ {3212942400 21600 0 NOVT}
+ {3226248000 25200 1 NOVST}
+ {3244996800 21600 0 NOVT}
+ {3257697600 25200 1 NOVST}
+ {3276446400 21600 0 NOVT}
+ {3289147200 25200 1 NOVST}
+ {3307896000 21600 0 NOVT}
+ {3321201600 25200 1 NOVST}
+ {3339345600 21600 0 NOVT}
+ {3352651200 25200 1 NOVST}
+ {3370795200 21600 0 NOVT}
+ {3384100800 25200 1 NOVST}
+ {3402849600 21600 0 NOVT}
+ {3415550400 25200 1 NOVST}
+ {3434299200 21600 0 NOVT}
+ {3447000000 25200 1 NOVST}
+ {3465748800 21600 0 NOVT}
+ {3479054400 25200 1 NOVST}
+ {3497198400 21600 0 NOVT}
+ {3510504000 25200 1 NOVST}
+ {3528648000 21600 0 NOVT}
+ {3541953600 25200 1 NOVST}
+ {3560097600 21600 0 NOVT}
+ {3573403200 25200 1 NOVST}
+ {3592152000 21600 0 NOVT}
+ {3604852800 25200 1 NOVST}
+ {3623601600 21600 0 NOVT}
+ {3636302400 25200 1 NOVST}
+ {3655051200 21600 0 NOVT}
+ {3668356800 25200 1 NOVST}
+ {3686500800 21600 0 NOVT}
+ {3699806400 25200 1 NOVST}
+ {3717950400 21600 0 NOVT}
+ {3731256000 25200 1 NOVST}
+ {3750004800 21600 0 NOVT}
+ {3762705600 25200 1 NOVST}
+ {3781454400 21600 0 NOVT}
+ {3794155200 25200 1 NOVST}
+ {3812904000 21600 0 NOVT}
+ {3825604800 25200 1 NOVST}
+ {3844353600 21600 0 NOVT}
+ {3857659200 25200 1 NOVST}
+ {3875803200 21600 0 NOVT}
+ {3889108800 25200 1 NOVST}
+ {3907252800 21600 0 NOVT}
+ {3920558400 25200 1 NOVST}
+ {3939307200 21600 0 NOVT}
+ {3952008000 25200 1 NOVST}
+ {3970756800 21600 0 NOVT}
+ {3983457600 25200 1 NOVST}
+ {4002206400 21600 0 NOVT}
+ {4015512000 25200 1 NOVST}
+ {4033656000 21600 0 NOVT}
+ {4046961600 25200 1 NOVST}
+ {4065105600 21600 0 NOVT}
+ {4078411200 25200 1 NOVST}
+ {4096555200 21600 0 NOVT}
}
diff --git a/library/tzdata/Asia/Omsk b/library/tzdata/Asia/Omsk
index ca90d2e..21db9c9 100644
--- a/library/tzdata/Asia/Omsk
+++ b/library/tzdata/Asia/Omsk
@@ -66,5 +66,182 @@ set TZData(:Asia/Omsk) {
{1256414400 21600 0 OMST}
{1269720000 25200 1 OMSST}
{1288468800 21600 0 OMST}
- {1301169600 25200 0 OMST}
+ {1301169600 25200 1 OMSST}
+ {1319918400 21600 0 OMST}
+ {1332619200 25200 1 OMSST}
+ {1351368000 21600 0 OMST}
+ {1364673600 25200 1 OMSST}
+ {1382817600 21600 0 OMST}
+ {1396123200 25200 1 OMSST}
+ {1414267200 21600 0 OMST}
+ {1427572800 25200 1 OMSST}
+ {1445716800 21600 0 OMST}
+ {1459022400 25200 1 OMSST}
+ {1477771200 21600 0 OMST}
+ {1490472000 25200 1 OMSST}
+ {1509220800 21600 0 OMST}
+ {1521921600 25200 1 OMSST}
+ {1540670400 21600 0 OMST}
+ {1553976000 25200 1 OMSST}
+ {1572120000 21600 0 OMST}
+ {1585425600 25200 1 OMSST}
+ {1603569600 21600 0 OMST}
+ {1616875200 25200 1 OMSST}
+ {1635624000 21600 0 OMST}
+ {1648324800 25200 1 OMSST}
+ {1667073600 21600 0 OMST}
+ {1679774400 25200 1 OMSST}
+ {1698523200 21600 0 OMST}
+ {1711828800 25200 1 OMSST}
+ {1729972800 21600 0 OMST}
+ {1743278400 25200 1 OMSST}
+ {1761422400 21600 0 OMST}
+ {1774728000 25200 1 OMSST}
+ {1792872000 21600 0 OMST}
+ {1806177600 25200 1 OMSST}
+ {1824926400 21600 0 OMST}
+ {1837627200 25200 1 OMSST}
+ {1856376000 21600 0 OMST}
+ {1869076800 25200 1 OMSST}
+ {1887825600 21600 0 OMST}
+ {1901131200 25200 1 OMSST}
+ {1919275200 21600 0 OMST}
+ {1932580800 25200 1 OMSST}
+ {1950724800 21600 0 OMST}
+ {1964030400 25200 1 OMSST}
+ {1982779200 21600 0 OMST}
+ {1995480000 25200 1 OMSST}
+ {2014228800 21600 0 OMST}
+ {2026929600 25200 1 OMSST}
+ {2045678400 21600 0 OMST}
+ {2058379200 25200 1 OMSST}
+ {2077128000 21600 0 OMST}
+ {2090433600 25200 1 OMSST}
+ {2108577600 21600 0 OMST}
+ {2121883200 25200 1 OMSST}
+ {2140027200 21600 0 OMST}
+ {2153332800 25200 1 OMSST}
+ {2172081600 21600 0 OMST}
+ {2184782400 25200 1 OMSST}
+ {2203531200 21600 0 OMST}
+ {2216232000 25200 1 OMSST}
+ {2234980800 21600 0 OMST}
+ {2248286400 25200 1 OMSST}
+ {2266430400 21600 0 OMST}
+ {2279736000 25200 1 OMSST}
+ {2297880000 21600 0 OMST}
+ {2311185600 25200 1 OMSST}
+ {2329329600 21600 0 OMST}
+ {2342635200 25200 1 OMSST}
+ {2361384000 21600 0 OMST}
+ {2374084800 25200 1 OMSST}
+ {2392833600 21600 0 OMST}
+ {2405534400 25200 1 OMSST}
+ {2424283200 21600 0 OMST}
+ {2437588800 25200 1 OMSST}
+ {2455732800 21600 0 OMST}
+ {2469038400 25200 1 OMSST}
+ {2487182400 21600 0 OMST}
+ {2500488000 25200 1 OMSST}
+ {2519236800 21600 0 OMST}
+ {2531937600 25200 1 OMSST}
+ {2550686400 21600 0 OMST}
+ {2563387200 25200 1 OMSST}
+ {2582136000 21600 0 OMST}
+ {2595441600 25200 1 OMSST}
+ {2613585600 21600 0 OMST}
+ {2626891200 25200 1 OMSST}
+ {2645035200 21600 0 OMST}
+ {2658340800 25200 1 OMSST}
+ {2676484800 21600 0 OMST}
+ {2689790400 25200 1 OMSST}
+ {2708539200 21600 0 OMST}
+ {2721240000 25200 1 OMSST}
+ {2739988800 21600 0 OMST}
+ {2752689600 25200 1 OMSST}
+ {2771438400 21600 0 OMST}
+ {2784744000 25200 1 OMSST}
+ {2802888000 21600 0 OMST}
+ {2816193600 25200 1 OMSST}
+ {2834337600 21600 0 OMST}
+ {2847643200 25200 1 OMSST}
+ {2866392000 21600 0 OMST}
+ {2879092800 25200 1 OMSST}
+ {2897841600 21600 0 OMST}
+ {2910542400 25200 1 OMSST}
+ {2929291200 21600 0 OMST}
+ {2941992000 25200 1 OMSST}
+ {2960740800 21600 0 OMST}
+ {2974046400 25200 1 OMSST}
+ {2992190400 21600 0 OMST}
+ {3005496000 25200 1 OMSST}
+ {3023640000 21600 0 OMST}
+ {3036945600 25200 1 OMSST}
+ {3055694400 21600 0 OMST}
+ {3068395200 25200 1 OMSST}
+ {3087144000 21600 0 OMST}
+ {3099844800 25200 1 OMSST}
+ {3118593600 21600 0 OMST}
+ {3131899200 25200 1 OMSST}
+ {3150043200 21600 0 OMST}
+ {3163348800 25200 1 OMSST}
+ {3181492800 21600 0 OMST}
+ {3194798400 25200 1 OMSST}
+ {3212942400 21600 0 OMST}
+ {3226248000 25200 1 OMSST}
+ {3244996800 21600 0 OMST}
+ {3257697600 25200 1 OMSST}
+ {3276446400 21600 0 OMST}
+ {3289147200 25200 1 OMSST}
+ {3307896000 21600 0 OMST}
+ {3321201600 25200 1 OMSST}
+ {3339345600 21600 0 OMST}
+ {3352651200 25200 1 OMSST}
+ {3370795200 21600 0 OMST}
+ {3384100800 25200 1 OMSST}
+ {3402849600 21600 0 OMST}
+ {3415550400 25200 1 OMSST}
+ {3434299200 21600 0 OMST}
+ {3447000000 25200 1 OMSST}
+ {3465748800 21600 0 OMST}
+ {3479054400 25200 1 OMSST}
+ {3497198400 21600 0 OMST}
+ {3510504000 25200 1 OMSST}
+ {3528648000 21600 0 OMST}
+ {3541953600 25200 1 OMSST}
+ {3560097600 21600 0 OMST}
+ {3573403200 25200 1 OMSST}
+ {3592152000 21600 0 OMST}
+ {3604852800 25200 1 OMSST}
+ {3623601600 21600 0 OMST}
+ {3636302400 25200 1 OMSST}
+ {3655051200 21600 0 OMST}
+ {3668356800 25200 1 OMSST}
+ {3686500800 21600 0 OMST}
+ {3699806400 25200 1 OMSST}
+ {3717950400 21600 0 OMST}
+ {3731256000 25200 1 OMSST}
+ {3750004800 21600 0 OMST}
+ {3762705600 25200 1 OMSST}
+ {3781454400 21600 0 OMST}
+ {3794155200 25200 1 OMSST}
+ {3812904000 21600 0 OMST}
+ {3825604800 25200 1 OMSST}
+ {3844353600 21600 0 OMST}
+ {3857659200 25200 1 OMSST}
+ {3875803200 21600 0 OMST}
+ {3889108800 25200 1 OMSST}
+ {3907252800 21600 0 OMST}
+ {3920558400 25200 1 OMSST}
+ {3939307200 21600 0 OMST}
+ {3952008000 25200 1 OMSST}
+ {3970756800 21600 0 OMST}
+ {3983457600 25200 1 OMSST}
+ {4002206400 21600 0 OMST}
+ {4015512000 25200 1 OMSST}
+ {4033656000 21600 0 OMST}
+ {4046961600 25200 1 OMSST}
+ {4065105600 21600 0 OMST}
+ {4078411200 25200 1 OMSST}
+ {4096555200 21600 0 OMST}
}
diff --git a/library/tzdata/Asia/Rangoon b/library/tzdata/Asia/Rangoon
index 4f3ac02..2b8c4fa 100644
--- a/library/tzdata/Asia/Rangoon
+++ b/library/tzdata/Asia/Rangoon
@@ -2,8 +2,8 @@
set TZData(:Asia/Rangoon) {
{-9223372036854775808 23080 0 LMT}
- {-2840163880 23080 0 RMT}
- {-1577946280 23400 0 BURT}
+ {-2840163880 23076 0 RMT}
+ {-1577946276 23400 0 BURT}
{-873268200 32400 0 JST}
{-778410000 23400 0 MMT}
}
diff --git a/library/tzdata/Asia/Sakhalin b/library/tzdata/Asia/Sakhalin
index 0b29e82..31395ab 100644
--- a/library/tzdata/Asia/Sakhalin
+++ b/library/tzdata/Asia/Sakhalin
@@ -68,5 +68,182 @@ set TZData(:Asia/Sakhalin) {
{1256400000 36000 0 SAKT}
{1269705600 39600 1 SAKST}
{1288454400 36000 0 SAKT}
- {1301155200 39600 0 SAKT}
+ {1301155200 39600 1 SAKST}
+ {1319904000 36000 0 SAKT}
+ {1332604800 39600 1 SAKST}
+ {1351353600 36000 0 SAKT}
+ {1364659200 39600 1 SAKST}
+ {1382803200 36000 0 SAKT}
+ {1396108800 39600 1 SAKST}
+ {1414252800 36000 0 SAKT}
+ {1427558400 39600 1 SAKST}
+ {1445702400 36000 0 SAKT}
+ {1459008000 39600 1 SAKST}
+ {1477756800 36000 0 SAKT}
+ {1490457600 39600 1 SAKST}
+ {1509206400 36000 0 SAKT}
+ {1521907200 39600 1 SAKST}
+ {1540656000 36000 0 SAKT}
+ {1553961600 39600 1 SAKST}
+ {1572105600 36000 0 SAKT}
+ {1585411200 39600 1 SAKST}
+ {1603555200 36000 0 SAKT}
+ {1616860800 39600 1 SAKST}
+ {1635609600 36000 0 SAKT}
+ {1648310400 39600 1 SAKST}
+ {1667059200 36000 0 SAKT}
+ {1679760000 39600 1 SAKST}
+ {1698508800 36000 0 SAKT}
+ {1711814400 39600 1 SAKST}
+ {1729958400 36000 0 SAKT}
+ {1743264000 39600 1 SAKST}
+ {1761408000 36000 0 SAKT}
+ {1774713600 39600 1 SAKST}
+ {1792857600 36000 0 SAKT}
+ {1806163200 39600 1 SAKST}
+ {1824912000 36000 0 SAKT}
+ {1837612800 39600 1 SAKST}
+ {1856361600 36000 0 SAKT}
+ {1869062400 39600 1 SAKST}
+ {1887811200 36000 0 SAKT}
+ {1901116800 39600 1 SAKST}
+ {1919260800 36000 0 SAKT}
+ {1932566400 39600 1 SAKST}
+ {1950710400 36000 0 SAKT}
+ {1964016000 39600 1 SAKST}
+ {1982764800 36000 0 SAKT}
+ {1995465600 39600 1 SAKST}
+ {2014214400 36000 0 SAKT}
+ {2026915200 39600 1 SAKST}
+ {2045664000 36000 0 SAKT}
+ {2058364800 39600 1 SAKST}
+ {2077113600 36000 0 SAKT}
+ {2090419200 39600 1 SAKST}
+ {2108563200 36000 0 SAKT}
+ {2121868800 39600 1 SAKST}
+ {2140012800 36000 0 SAKT}
+ {2153318400 39600 1 SAKST}
+ {2172067200 36000 0 SAKT}
+ {2184768000 39600 1 SAKST}
+ {2203516800 36000 0 SAKT}
+ {2216217600 39600 1 SAKST}
+ {2234966400 36000 0 SAKT}
+ {2248272000 39600 1 SAKST}
+ {2266416000 36000 0 SAKT}
+ {2279721600 39600 1 SAKST}
+ {2297865600 36000 0 SAKT}
+ {2311171200 39600 1 SAKST}
+ {2329315200 36000 0 SAKT}
+ {2342620800 39600 1 SAKST}
+ {2361369600 36000 0 SAKT}
+ {2374070400 39600 1 SAKST}
+ {2392819200 36000 0 SAKT}
+ {2405520000 39600 1 SAKST}
+ {2424268800 36000 0 SAKT}
+ {2437574400 39600 1 SAKST}
+ {2455718400 36000 0 SAKT}
+ {2469024000 39600 1 SAKST}
+ {2487168000 36000 0 SAKT}
+ {2500473600 39600 1 SAKST}
+ {2519222400 36000 0 SAKT}
+ {2531923200 39600 1 SAKST}
+ {2550672000 36000 0 SAKT}
+ {2563372800 39600 1 SAKST}
+ {2582121600 36000 0 SAKT}
+ {2595427200 39600 1 SAKST}
+ {2613571200 36000 0 SAKT}
+ {2626876800 39600 1 SAKST}
+ {2645020800 36000 0 SAKT}
+ {2658326400 39600 1 SAKST}
+ {2676470400 36000 0 SAKT}
+ {2689776000 39600 1 SAKST}
+ {2708524800 36000 0 SAKT}
+ {2721225600 39600 1 SAKST}
+ {2739974400 36000 0 SAKT}
+ {2752675200 39600 1 SAKST}
+ {2771424000 36000 0 SAKT}
+ {2784729600 39600 1 SAKST}
+ {2802873600 36000 0 SAKT}
+ {2816179200 39600 1 SAKST}
+ {2834323200 36000 0 SAKT}
+ {2847628800 39600 1 SAKST}
+ {2866377600 36000 0 SAKT}
+ {2879078400 39600 1 SAKST}
+ {2897827200 36000 0 SAKT}
+ {2910528000 39600 1 SAKST}
+ {2929276800 36000 0 SAKT}
+ {2941977600 39600 1 SAKST}
+ {2960726400 36000 0 SAKT}
+ {2974032000 39600 1 SAKST}
+ {2992176000 36000 0 SAKT}
+ {3005481600 39600 1 SAKST}
+ {3023625600 36000 0 SAKT}
+ {3036931200 39600 1 SAKST}
+ {3055680000 36000 0 SAKT}
+ {3068380800 39600 1 SAKST}
+ {3087129600 36000 0 SAKT}
+ {3099830400 39600 1 SAKST}
+ {3118579200 36000 0 SAKT}
+ {3131884800 39600 1 SAKST}
+ {3150028800 36000 0 SAKT}
+ {3163334400 39600 1 SAKST}
+ {3181478400 36000 0 SAKT}
+ {3194784000 39600 1 SAKST}
+ {3212928000 36000 0 SAKT}
+ {3226233600 39600 1 SAKST}
+ {3244982400 36000 0 SAKT}
+ {3257683200 39600 1 SAKST}
+ {3276432000 36000 0 SAKT}
+ {3289132800 39600 1 SAKST}
+ {3307881600 36000 0 SAKT}
+ {3321187200 39600 1 SAKST}
+ {3339331200 36000 0 SAKT}
+ {3352636800 39600 1 SAKST}
+ {3370780800 36000 0 SAKT}
+ {3384086400 39600 1 SAKST}
+ {3402835200 36000 0 SAKT}
+ {3415536000 39600 1 SAKST}
+ {3434284800 36000 0 SAKT}
+ {3446985600 39600 1 SAKST}
+ {3465734400 36000 0 SAKT}
+ {3479040000 39600 1 SAKST}
+ {3497184000 36000 0 SAKT}
+ {3510489600 39600 1 SAKST}
+ {3528633600 36000 0 SAKT}
+ {3541939200 39600 1 SAKST}
+ {3560083200 36000 0 SAKT}
+ {3573388800 39600 1 SAKST}
+ {3592137600 36000 0 SAKT}
+ {3604838400 39600 1 SAKST}
+ {3623587200 36000 0 SAKT}
+ {3636288000 39600 1 SAKST}
+ {3655036800 36000 0 SAKT}
+ {3668342400 39600 1 SAKST}
+ {3686486400 36000 0 SAKT}
+ {3699792000 39600 1 SAKST}
+ {3717936000 36000 0 SAKT}
+ {3731241600 39600 1 SAKST}
+ {3749990400 36000 0 SAKT}
+ {3762691200 39600 1 SAKST}
+ {3781440000 36000 0 SAKT}
+ {3794140800 39600 1 SAKST}
+ {3812889600 36000 0 SAKT}
+ {3825590400 39600 1 SAKST}
+ {3844339200 36000 0 SAKT}
+ {3857644800 39600 1 SAKST}
+ {3875788800 36000 0 SAKT}
+ {3889094400 39600 1 SAKST}
+ {3907238400 36000 0 SAKT}
+ {3920544000 39600 1 SAKST}
+ {3939292800 36000 0 SAKT}
+ {3951993600 39600 1 SAKST}
+ {3970742400 36000 0 SAKT}
+ {3983443200 39600 1 SAKST}
+ {4002192000 36000 0 SAKT}
+ {4015497600 39600 1 SAKST}
+ {4033641600 36000 0 SAKT}
+ {4046947200 39600 1 SAKST}
+ {4065091200 36000 0 SAKT}
+ {4078396800 39600 1 SAKST}
+ {4096540800 36000 0 SAKT}
}
diff --git a/library/tzdata/Asia/Shanghai b/library/tzdata/Asia/Shanghai
index 4b3cc3b..aa7dc58 100644
--- a/library/tzdata/Asia/Shanghai
+++ b/library/tzdata/Asia/Shanghai
@@ -1,8 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Shanghai) {
- {-9223372036854775808 29157 0 LMT}
- {-1325491557 28800 0 CST}
+ {-9223372036854775808 29152 0 LMT}
+ {-1325491552 28800 0 CST}
{-933494400 32400 1 CDT}
{-923130000 28800 0 CST}
{-908784000 32400 1 CDT}
diff --git a/library/tzdata/Asia/Taipei b/library/tzdata/Asia/Taipei
index a3c7ecf..6366b34 100644
--- a/library/tzdata/Asia/Taipei
+++ b/library/tzdata/Asia/Taipei
@@ -41,6 +41,6 @@ set TZData(:Asia/Taipei) {
{149785200 28800 0 CST}
{165513600 32400 1 CDT}
{181321200 28800 0 CST}
- {299520000 32400 1 CDT}
- {307465200 28800 0 CST}
+ {331142400 32400 1 CDT}
+ {339087600 28800 0 CST}
}
diff --git a/library/tzdata/Asia/Ust-Nera b/library/tzdata/Asia/Ust-Nera
deleted file mode 100644
index c8de7a5..0000000
--- a/library/tzdata/Asia/Ust-Nera
+++ /dev/null
@@ -1,70 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Asia/Ust-Nera) {
- {-9223372036854775808 34374 0 LMT}
- {-1579426374 28800 0 YAKT}
- {354898800 43200 0 MAGST}
- {370699200 39600 0 MAGT}
- {386427600 43200 1 MAGST}
- {402235200 39600 0 MAGT}
- {417963600 43200 1 MAGST}
- {433771200 39600 0 MAGT}
- {449586000 43200 1 MAGST}
- {465318000 39600 0 MAGT}
- {481042800 43200 1 MAGST}
- {496767600 39600 0 MAGT}
- {512492400 43200 1 MAGST}
- {528217200 39600 0 MAGT}
- {543942000 43200 1 MAGST}
- {559666800 39600 0 MAGT}
- {575391600 43200 1 MAGST}
- {591116400 39600 0 MAGT}
- {606841200 43200 1 MAGST}
- {622566000 39600 0 MAGT}
- {638290800 43200 1 MAGST}
- {654620400 39600 0 MAGT}
- {670345200 36000 0 MAGMMTT}
- {670348800 39600 1 MAGST}
- {686073600 36000 0 MAGT}
- {695750400 39600 0 MAGMMTT}
- {701784000 43200 1 MAGST}
- {717505200 39600 0 MAGT}
- {733244400 43200 1 MAGST}
- {748969200 39600 0 MAGT}
- {764694000 43200 1 MAGST}
- {780418800 39600 0 MAGT}
- {796143600 43200 1 MAGST}
- {811868400 39600 0 MAGT}
- {828198000 43200 1 MAGST}
- {846342000 39600 0 MAGT}
- {859647600 43200 1 MAGST}
- {877791600 39600 0 MAGT}
- {891097200 43200 1 MAGST}
- {909241200 39600 0 MAGT}
- {922546800 43200 1 MAGST}
- {941295600 39600 0 MAGT}
- {953996400 43200 1 MAGST}
- {972745200 39600 0 MAGT}
- {985446000 43200 1 MAGST}
- {1004194800 39600 0 MAGT}
- {1017500400 43200 1 MAGST}
- {1035644400 39600 0 MAGT}
- {1048950000 43200 1 MAGST}
- {1067094000 39600 0 MAGT}
- {1080399600 43200 1 MAGST}
- {1099148400 39600 0 MAGT}
- {1111849200 43200 1 MAGST}
- {1130598000 39600 0 MAGT}
- {1143298800 43200 1 MAGST}
- {1162047600 39600 0 MAGT}
- {1174748400 43200 1 MAGST}
- {1193497200 39600 0 MAGT}
- {1206802800 43200 1 MAGST}
- {1224946800 39600 0 MAGT}
- {1238252400 43200 1 MAGST}
- {1256396400 39600 0 MAGT}
- {1269702000 43200 1 MAGST}
- {1288450800 39600 0 MAGT}
- {1301151600 43200 0 MAGT}
- {1315828800 39600 0 VLAT}
-}
diff --git a/library/tzdata/Asia/Vladivostok b/library/tzdata/Asia/Vladivostok
index 54101a5..29e8f62 100644
--- a/library/tzdata/Asia/Vladivostok
+++ b/library/tzdata/Asia/Vladivostok
@@ -66,5 +66,182 @@ set TZData(:Asia/Vladivostok) {
{1256400000 36000 0 VLAT}
{1269705600 39600 1 VLAST}
{1288454400 36000 0 VLAT}
- {1301155200 39600 0 VLAT}
+ {1301155200 39600 1 VLAST}
+ {1319904000 36000 0 VLAT}
+ {1332604800 39600 1 VLAST}
+ {1351353600 36000 0 VLAT}
+ {1364659200 39600 1 VLAST}
+ {1382803200 36000 0 VLAT}
+ {1396108800 39600 1 VLAST}
+ {1414252800 36000 0 VLAT}
+ {1427558400 39600 1 VLAST}
+ {1445702400 36000 0 VLAT}
+ {1459008000 39600 1 VLAST}
+ {1477756800 36000 0 VLAT}
+ {1490457600 39600 1 VLAST}
+ {1509206400 36000 0 VLAT}
+ {1521907200 39600 1 VLAST}
+ {1540656000 36000 0 VLAT}
+ {1553961600 39600 1 VLAST}
+ {1572105600 36000 0 VLAT}
+ {1585411200 39600 1 VLAST}
+ {1603555200 36000 0 VLAT}
+ {1616860800 39600 1 VLAST}
+ {1635609600 36000 0 VLAT}
+ {1648310400 39600 1 VLAST}
+ {1667059200 36000 0 VLAT}
+ {1679760000 39600 1 VLAST}
+ {1698508800 36000 0 VLAT}
+ {1711814400 39600 1 VLAST}
+ {1729958400 36000 0 VLAT}
+ {1743264000 39600 1 VLAST}
+ {1761408000 36000 0 VLAT}
+ {1774713600 39600 1 VLAST}
+ {1792857600 36000 0 VLAT}
+ {1806163200 39600 1 VLAST}
+ {1824912000 36000 0 VLAT}
+ {1837612800 39600 1 VLAST}
+ {1856361600 36000 0 VLAT}
+ {1869062400 39600 1 VLAST}
+ {1887811200 36000 0 VLAT}
+ {1901116800 39600 1 VLAST}
+ {1919260800 36000 0 VLAT}
+ {1932566400 39600 1 VLAST}
+ {1950710400 36000 0 VLAT}
+ {1964016000 39600 1 VLAST}
+ {1982764800 36000 0 VLAT}
+ {1995465600 39600 1 VLAST}
+ {2014214400 36000 0 VLAT}
+ {2026915200 39600 1 VLAST}
+ {2045664000 36000 0 VLAT}
+ {2058364800 39600 1 VLAST}
+ {2077113600 36000 0 VLAT}
+ {2090419200 39600 1 VLAST}
+ {2108563200 36000 0 VLAT}
+ {2121868800 39600 1 VLAST}
+ {2140012800 36000 0 VLAT}
+ {2153318400 39600 1 VLAST}
+ {2172067200 36000 0 VLAT}
+ {2184768000 39600 1 VLAST}
+ {2203516800 36000 0 VLAT}
+ {2216217600 39600 1 VLAST}
+ {2234966400 36000 0 VLAT}
+ {2248272000 39600 1 VLAST}
+ {2266416000 36000 0 VLAT}
+ {2279721600 39600 1 VLAST}
+ {2297865600 36000 0 VLAT}
+ {2311171200 39600 1 VLAST}
+ {2329315200 36000 0 VLAT}
+ {2342620800 39600 1 VLAST}
+ {2361369600 36000 0 VLAT}
+ {2374070400 39600 1 VLAST}
+ {2392819200 36000 0 VLAT}
+ {2405520000 39600 1 VLAST}
+ {2424268800 36000 0 VLAT}
+ {2437574400 39600 1 VLAST}
+ {2455718400 36000 0 VLAT}
+ {2469024000 39600 1 VLAST}
+ {2487168000 36000 0 VLAT}
+ {2500473600 39600 1 VLAST}
+ {2519222400 36000 0 VLAT}
+ {2531923200 39600 1 VLAST}
+ {2550672000 36000 0 VLAT}
+ {2563372800 39600 1 VLAST}
+ {2582121600 36000 0 VLAT}
+ {2595427200 39600 1 VLAST}
+ {2613571200 36000 0 VLAT}
+ {2626876800 39600 1 VLAST}
+ {2645020800 36000 0 VLAT}
+ {2658326400 39600 1 VLAST}
+ {2676470400 36000 0 VLAT}
+ {2689776000 39600 1 VLAST}
+ {2708524800 36000 0 VLAT}
+ {2721225600 39600 1 VLAST}
+ {2739974400 36000 0 VLAT}
+ {2752675200 39600 1 VLAST}
+ {2771424000 36000 0 VLAT}
+ {2784729600 39600 1 VLAST}
+ {2802873600 36000 0 VLAT}
+ {2816179200 39600 1 VLAST}
+ {2834323200 36000 0 VLAT}
+ {2847628800 39600 1 VLAST}
+ {2866377600 36000 0 VLAT}
+ {2879078400 39600 1 VLAST}
+ {2897827200 36000 0 VLAT}
+ {2910528000 39600 1 VLAST}
+ {2929276800 36000 0 VLAT}
+ {2941977600 39600 1 VLAST}
+ {2960726400 36000 0 VLAT}
+ {2974032000 39600 1 VLAST}
+ {2992176000 36000 0 VLAT}
+ {3005481600 39600 1 VLAST}
+ {3023625600 36000 0 VLAT}
+ {3036931200 39600 1 VLAST}
+ {3055680000 36000 0 VLAT}
+ {3068380800 39600 1 VLAST}
+ {3087129600 36000 0 VLAT}
+ {3099830400 39600 1 VLAST}
+ {3118579200 36000 0 VLAT}
+ {3131884800 39600 1 VLAST}
+ {3150028800 36000 0 VLAT}
+ {3163334400 39600 1 VLAST}
+ {3181478400 36000 0 VLAT}
+ {3194784000 39600 1 VLAST}
+ {3212928000 36000 0 VLAT}
+ {3226233600 39600 1 VLAST}
+ {3244982400 36000 0 VLAT}
+ {3257683200 39600 1 VLAST}
+ {3276432000 36000 0 VLAT}
+ {3289132800 39600 1 VLAST}
+ {3307881600 36000 0 VLAT}
+ {3321187200 39600 1 VLAST}
+ {3339331200 36000 0 VLAT}
+ {3352636800 39600 1 VLAST}
+ {3370780800 36000 0 VLAT}
+ {3384086400 39600 1 VLAST}
+ {3402835200 36000 0 VLAT}
+ {3415536000 39600 1 VLAST}
+ {3434284800 36000 0 VLAT}
+ {3446985600 39600 1 VLAST}
+ {3465734400 36000 0 VLAT}
+ {3479040000 39600 1 VLAST}
+ {3497184000 36000 0 VLAT}
+ {3510489600 39600 1 VLAST}
+ {3528633600 36000 0 VLAT}
+ {3541939200 39600 1 VLAST}
+ {3560083200 36000 0 VLAT}
+ {3573388800 39600 1 VLAST}
+ {3592137600 36000 0 VLAT}
+ {3604838400 39600 1 VLAST}
+ {3623587200 36000 0 VLAT}
+ {3636288000 39600 1 VLAST}
+ {3655036800 36000 0 VLAT}
+ {3668342400 39600 1 VLAST}
+ {3686486400 36000 0 VLAT}
+ {3699792000 39600 1 VLAST}
+ {3717936000 36000 0 VLAT}
+ {3731241600 39600 1 VLAST}
+ {3749990400 36000 0 VLAT}
+ {3762691200 39600 1 VLAST}
+ {3781440000 36000 0 VLAT}
+ {3794140800 39600 1 VLAST}
+ {3812889600 36000 0 VLAT}
+ {3825590400 39600 1 VLAST}
+ {3844339200 36000 0 VLAT}
+ {3857644800 39600 1 VLAST}
+ {3875788800 36000 0 VLAT}
+ {3889094400 39600 1 VLAST}
+ {3907238400 36000 0 VLAT}
+ {3920544000 39600 1 VLAST}
+ {3939292800 36000 0 VLAT}
+ {3951993600 39600 1 VLAST}
+ {3970742400 36000 0 VLAT}
+ {3983443200 39600 1 VLAST}
+ {4002192000 36000 0 VLAT}
+ {4015497600 39600 1 VLAST}
+ {4033641600 36000 0 VLAT}
+ {4046947200 39600 1 VLAST}
+ {4065091200 36000 0 VLAT}
+ {4078396800 39600 1 VLAST}
+ {4096540800 36000 0 VLAT}
}
diff --git a/library/tzdata/Asia/Yakutsk b/library/tzdata/Asia/Yakutsk
index 5c32cc9..acf5d7d 100644
--- a/library/tzdata/Asia/Yakutsk
+++ b/library/tzdata/Asia/Yakutsk
@@ -66,5 +66,182 @@ set TZData(:Asia/Yakutsk) {
{1256403600 32400 0 YAKT}
{1269709200 36000 1 YAKST}
{1288458000 32400 0 YAKT}
- {1301158800 36000 0 YAKT}
+ {1301158800 36000 1 YAKST}
+ {1319907600 32400 0 YAKT}
+ {1332608400 36000 1 YAKST}
+ {1351357200 32400 0 YAKT}
+ {1364662800 36000 1 YAKST}
+ {1382806800 32400 0 YAKT}
+ {1396112400 36000 1 YAKST}
+ {1414256400 32400 0 YAKT}
+ {1427562000 36000 1 YAKST}
+ {1445706000 32400 0 YAKT}
+ {1459011600 36000 1 YAKST}
+ {1477760400 32400 0 YAKT}
+ {1490461200 36000 1 YAKST}
+ {1509210000 32400 0 YAKT}
+ {1521910800 36000 1 YAKST}
+ {1540659600 32400 0 YAKT}
+ {1553965200 36000 1 YAKST}
+ {1572109200 32400 0 YAKT}
+ {1585414800 36000 1 YAKST}
+ {1603558800 32400 0 YAKT}
+ {1616864400 36000 1 YAKST}
+ {1635613200 32400 0 YAKT}
+ {1648314000 36000 1 YAKST}
+ {1667062800 32400 0 YAKT}
+ {1679763600 36000 1 YAKST}
+ {1698512400 32400 0 YAKT}
+ {1711818000 36000 1 YAKST}
+ {1729962000 32400 0 YAKT}
+ {1743267600 36000 1 YAKST}
+ {1761411600 32400 0 YAKT}
+ {1774717200 36000 1 YAKST}
+ {1792861200 32400 0 YAKT}
+ {1806166800 36000 1 YAKST}
+ {1824915600 32400 0 YAKT}
+ {1837616400 36000 1 YAKST}
+ {1856365200 32400 0 YAKT}
+ {1869066000 36000 1 YAKST}
+ {1887814800 32400 0 YAKT}
+ {1901120400 36000 1 YAKST}
+ {1919264400 32400 0 YAKT}
+ {1932570000 36000 1 YAKST}
+ {1950714000 32400 0 YAKT}
+ {1964019600 36000 1 YAKST}
+ {1982768400 32400 0 YAKT}
+ {1995469200 36000 1 YAKST}
+ {2014218000 32400 0 YAKT}
+ {2026918800 36000 1 YAKST}
+ {2045667600 32400 0 YAKT}
+ {2058368400 36000 1 YAKST}
+ {2077117200 32400 0 YAKT}
+ {2090422800 36000 1 YAKST}
+ {2108566800 32400 0 YAKT}
+ {2121872400 36000 1 YAKST}
+ {2140016400 32400 0 YAKT}
+ {2153322000 36000 1 YAKST}
+ {2172070800 32400 0 YAKT}
+ {2184771600 36000 1 YAKST}
+ {2203520400 32400 0 YAKT}
+ {2216221200 36000 1 YAKST}
+ {2234970000 32400 0 YAKT}
+ {2248275600 36000 1 YAKST}
+ {2266419600 32400 0 YAKT}
+ {2279725200 36000 1 YAKST}
+ {2297869200 32400 0 YAKT}
+ {2311174800 36000 1 YAKST}
+ {2329318800 32400 0 YAKT}
+ {2342624400 36000 1 YAKST}
+ {2361373200 32400 0 YAKT}
+ {2374074000 36000 1 YAKST}
+ {2392822800 32400 0 YAKT}
+ {2405523600 36000 1 YAKST}
+ {2424272400 32400 0 YAKT}
+ {2437578000 36000 1 YAKST}
+ {2455722000 32400 0 YAKT}
+ {2469027600 36000 1 YAKST}
+ {2487171600 32400 0 YAKT}
+ {2500477200 36000 1 YAKST}
+ {2519226000 32400 0 YAKT}
+ {2531926800 36000 1 YAKST}
+ {2550675600 32400 0 YAKT}
+ {2563376400 36000 1 YAKST}
+ {2582125200 32400 0 YAKT}
+ {2595430800 36000 1 YAKST}
+ {2613574800 32400 0 YAKT}
+ {2626880400 36000 1 YAKST}
+ {2645024400 32400 0 YAKT}
+ {2658330000 36000 1 YAKST}
+ {2676474000 32400 0 YAKT}
+ {2689779600 36000 1 YAKST}
+ {2708528400 32400 0 YAKT}
+ {2721229200 36000 1 YAKST}
+ {2739978000 32400 0 YAKT}
+ {2752678800 36000 1 YAKST}
+ {2771427600 32400 0 YAKT}
+ {2784733200 36000 1 YAKST}
+ {2802877200 32400 0 YAKT}
+ {2816182800 36000 1 YAKST}
+ {2834326800 32400 0 YAKT}
+ {2847632400 36000 1 YAKST}
+ {2866381200 32400 0 YAKT}
+ {2879082000 36000 1 YAKST}
+ {2897830800 32400 0 YAKT}
+ {2910531600 36000 1 YAKST}
+ {2929280400 32400 0 YAKT}
+ {2941981200 36000 1 YAKST}
+ {2960730000 32400 0 YAKT}
+ {2974035600 36000 1 YAKST}
+ {2992179600 32400 0 YAKT}
+ {3005485200 36000 1 YAKST}
+ {3023629200 32400 0 YAKT}
+ {3036934800 36000 1 YAKST}
+ {3055683600 32400 0 YAKT}
+ {3068384400 36000 1 YAKST}
+ {3087133200 32400 0 YAKT}
+ {3099834000 36000 1 YAKST}
+ {3118582800 32400 0 YAKT}
+ {3131888400 36000 1 YAKST}
+ {3150032400 32400 0 YAKT}
+ {3163338000 36000 1 YAKST}
+ {3181482000 32400 0 YAKT}
+ {3194787600 36000 1 YAKST}
+ {3212931600 32400 0 YAKT}
+ {3226237200 36000 1 YAKST}
+ {3244986000 32400 0 YAKT}
+ {3257686800 36000 1 YAKST}
+ {3276435600 32400 0 YAKT}
+ {3289136400 36000 1 YAKST}
+ {3307885200 32400 0 YAKT}
+ {3321190800 36000 1 YAKST}
+ {3339334800 32400 0 YAKT}
+ {3352640400 36000 1 YAKST}
+ {3370784400 32400 0 YAKT}
+ {3384090000 36000 1 YAKST}
+ {3402838800 32400 0 YAKT}
+ {3415539600 36000 1 YAKST}
+ {3434288400 32400 0 YAKT}
+ {3446989200 36000 1 YAKST}
+ {3465738000 32400 0 YAKT}
+ {3479043600 36000 1 YAKST}
+ {3497187600 32400 0 YAKT}
+ {3510493200 36000 1 YAKST}
+ {3528637200 32400 0 YAKT}
+ {3541942800 36000 1 YAKST}
+ {3560086800 32400 0 YAKT}
+ {3573392400 36000 1 YAKST}
+ {3592141200 32400 0 YAKT}
+ {3604842000 36000 1 YAKST}
+ {3623590800 32400 0 YAKT}
+ {3636291600 36000 1 YAKST}
+ {3655040400 32400 0 YAKT}
+ {3668346000 36000 1 YAKST}
+ {3686490000 32400 0 YAKT}
+ {3699795600 36000 1 YAKST}
+ {3717939600 32400 0 YAKT}
+ {3731245200 36000 1 YAKST}
+ {3749994000 32400 0 YAKT}
+ {3762694800 36000 1 YAKST}
+ {3781443600 32400 0 YAKT}
+ {3794144400 36000 1 YAKST}
+ {3812893200 32400 0 YAKT}
+ {3825594000 36000 1 YAKST}
+ {3844342800 32400 0 YAKT}
+ {3857648400 36000 1 YAKST}
+ {3875792400 32400 0 YAKT}
+ {3889098000 36000 1 YAKST}
+ {3907242000 32400 0 YAKT}
+ {3920547600 36000 1 YAKST}
+ {3939296400 32400 0 YAKT}
+ {3951997200 36000 1 YAKST}
+ {3970746000 32400 0 YAKT}
+ {3983446800 36000 1 YAKST}
+ {4002195600 32400 0 YAKT}
+ {4015501200 36000 1 YAKST}
+ {4033645200 32400 0 YAKT}
+ {4046950800 36000 1 YAKST}
+ {4065094800 32400 0 YAKT}
+ {4078400400 36000 1 YAKST}
+ {4096544400 32400 0 YAKT}
}
diff --git a/library/tzdata/Asia/Yekaterinburg b/library/tzdata/Asia/Yekaterinburg
index 2045496..980f903 100644
--- a/library/tzdata/Asia/Yekaterinburg
+++ b/library/tzdata/Asia/Yekaterinburg
@@ -66,5 +66,182 @@ set TZData(:Asia/Yekaterinburg) {
{1256418000 18000 0 YEKT}
{1269723600 21600 1 YEKST}
{1288472400 18000 0 YEKT}
- {1301173200 21600 0 YEKT}
+ {1301173200 21600 1 YEKST}
+ {1319922000 18000 0 YEKT}
+ {1332622800 21600 1 YEKST}
+ {1351371600 18000 0 YEKT}
+ {1364677200 21600 1 YEKST}
+ {1382821200 18000 0 YEKT}
+ {1396126800 21600 1 YEKST}
+ {1414270800 18000 0 YEKT}
+ {1427576400 21600 1 YEKST}
+ {1445720400 18000 0 YEKT}
+ {1459026000 21600 1 YEKST}
+ {1477774800 18000 0 YEKT}
+ {1490475600 21600 1 YEKST}
+ {1509224400 18000 0 YEKT}
+ {1521925200 21600 1 YEKST}
+ {1540674000 18000 0 YEKT}
+ {1553979600 21600 1 YEKST}
+ {1572123600 18000 0 YEKT}
+ {1585429200 21600 1 YEKST}
+ {1603573200 18000 0 YEKT}
+ {1616878800 21600 1 YEKST}
+ {1635627600 18000 0 YEKT}
+ {1648328400 21600 1 YEKST}
+ {1667077200 18000 0 YEKT}
+ {1679778000 21600 1 YEKST}
+ {1698526800 18000 0 YEKT}
+ {1711832400 21600 1 YEKST}
+ {1729976400 18000 0 YEKT}
+ {1743282000 21600 1 YEKST}
+ {1761426000 18000 0 YEKT}
+ {1774731600 21600 1 YEKST}
+ {1792875600 18000 0 YEKT}
+ {1806181200 21600 1 YEKST}
+ {1824930000 18000 0 YEKT}
+ {1837630800 21600 1 YEKST}
+ {1856379600 18000 0 YEKT}
+ {1869080400 21600 1 YEKST}
+ {1887829200 18000 0 YEKT}
+ {1901134800 21600 1 YEKST}
+ {1919278800 18000 0 YEKT}
+ {1932584400 21600 1 YEKST}
+ {1950728400 18000 0 YEKT}
+ {1964034000 21600 1 YEKST}
+ {1982782800 18000 0 YEKT}
+ {1995483600 21600 1 YEKST}
+ {2014232400 18000 0 YEKT}
+ {2026933200 21600 1 YEKST}
+ {2045682000 18000 0 YEKT}
+ {2058382800 21600 1 YEKST}
+ {2077131600 18000 0 YEKT}
+ {2090437200 21600 1 YEKST}
+ {2108581200 18000 0 YEKT}
+ {2121886800 21600 1 YEKST}
+ {2140030800 18000 0 YEKT}
+ {2153336400 21600 1 YEKST}
+ {2172085200 18000 0 YEKT}
+ {2184786000 21600 1 YEKST}
+ {2203534800 18000 0 YEKT}
+ {2216235600 21600 1 YEKST}
+ {2234984400 18000 0 YEKT}
+ {2248290000 21600 1 YEKST}
+ {2266434000 18000 0 YEKT}
+ {2279739600 21600 1 YEKST}
+ {2297883600 18000 0 YEKT}
+ {2311189200 21600 1 YEKST}
+ {2329333200 18000 0 YEKT}
+ {2342638800 21600 1 YEKST}
+ {2361387600 18000 0 YEKT}
+ {2374088400 21600 1 YEKST}
+ {2392837200 18000 0 YEKT}
+ {2405538000 21600 1 YEKST}
+ {2424286800 18000 0 YEKT}
+ {2437592400 21600 1 YEKST}
+ {2455736400 18000 0 YEKT}
+ {2469042000 21600 1 YEKST}
+ {2487186000 18000 0 YEKT}
+ {2500491600 21600 1 YEKST}
+ {2519240400 18000 0 YEKT}
+ {2531941200 21600 1 YEKST}
+ {2550690000 18000 0 YEKT}
+ {2563390800 21600 1 YEKST}
+ {2582139600 18000 0 YEKT}
+ {2595445200 21600 1 YEKST}
+ {2613589200 18000 0 YEKT}
+ {2626894800 21600 1 YEKST}
+ {2645038800 18000 0 YEKT}
+ {2658344400 21600 1 YEKST}
+ {2676488400 18000 0 YEKT}
+ {2689794000 21600 1 YEKST}
+ {2708542800 18000 0 YEKT}
+ {2721243600 21600 1 YEKST}
+ {2739992400 18000 0 YEKT}
+ {2752693200 21600 1 YEKST}
+ {2771442000 18000 0 YEKT}
+ {2784747600 21600 1 YEKST}
+ {2802891600 18000 0 YEKT}
+ {2816197200 21600 1 YEKST}
+ {2834341200 18000 0 YEKT}
+ {2847646800 21600 1 YEKST}
+ {2866395600 18000 0 YEKT}
+ {2879096400 21600 1 YEKST}
+ {2897845200 18000 0 YEKT}
+ {2910546000 21600 1 YEKST}
+ {2929294800 18000 0 YEKT}
+ {2941995600 21600 1 YEKST}
+ {2960744400 18000 0 YEKT}
+ {2974050000 21600 1 YEKST}
+ {2992194000 18000 0 YEKT}
+ {3005499600 21600 1 YEKST}
+ {3023643600 18000 0 YEKT}
+ {3036949200 21600 1 YEKST}
+ {3055698000 18000 0 YEKT}
+ {3068398800 21600 1 YEKST}
+ {3087147600 18000 0 YEKT}
+ {3099848400 21600 1 YEKST}
+ {3118597200 18000 0 YEKT}
+ {3131902800 21600 1 YEKST}
+ {3150046800 18000 0 YEKT}
+ {3163352400 21600 1 YEKST}
+ {3181496400 18000 0 YEKT}
+ {3194802000 21600 1 YEKST}
+ {3212946000 18000 0 YEKT}
+ {3226251600 21600 1 YEKST}
+ {3245000400 18000 0 YEKT}
+ {3257701200 21600 1 YEKST}
+ {3276450000 18000 0 YEKT}
+ {3289150800 21600 1 YEKST}
+ {3307899600 18000 0 YEKT}
+ {3321205200 21600 1 YEKST}
+ {3339349200 18000 0 YEKT}
+ {3352654800 21600 1 YEKST}
+ {3370798800 18000 0 YEKT}
+ {3384104400 21600 1 YEKST}
+ {3402853200 18000 0 YEKT}
+ {3415554000 21600 1 YEKST}
+ {3434302800 18000 0 YEKT}
+ {3447003600 21600 1 YEKST}
+ {3465752400 18000 0 YEKT}
+ {3479058000 21600 1 YEKST}
+ {3497202000 18000 0 YEKT}
+ {3510507600 21600 1 YEKST}
+ {3528651600 18000 0 YEKT}
+ {3541957200 21600 1 YEKST}
+ {3560101200 18000 0 YEKT}
+ {3573406800 21600 1 YEKST}
+ {3592155600 18000 0 YEKT}
+ {3604856400 21600 1 YEKST}
+ {3623605200 18000 0 YEKT}
+ {3636306000 21600 1 YEKST}
+ {3655054800 18000 0 YEKT}
+ {3668360400 21600 1 YEKST}
+ {3686504400 18000 0 YEKT}
+ {3699810000 21600 1 YEKST}
+ {3717954000 18000 0 YEKT}
+ {3731259600 21600 1 YEKST}
+ {3750008400 18000 0 YEKT}
+ {3762709200 21600 1 YEKST}
+ {3781458000 18000 0 YEKT}
+ {3794158800 21600 1 YEKST}
+ {3812907600 18000 0 YEKT}
+ {3825608400 21600 1 YEKST}
+ {3844357200 18000 0 YEKT}
+ {3857662800 21600 1 YEKST}
+ {3875806800 18000 0 YEKT}
+ {3889112400 21600 1 YEKST}
+ {3907256400 18000 0 YEKT}
+ {3920562000 21600 1 YEKST}
+ {3939310800 18000 0 YEKT}
+ {3952011600 21600 1 YEKST}
+ {3970760400 18000 0 YEKT}
+ {3983461200 21600 1 YEKST}
+ {4002210000 18000 0 YEKT}
+ {4015515600 21600 1 YEKST}
+ {4033659600 18000 0 YEKT}
+ {4046965200 21600 1 YEKST}
+ {4065109200 18000 0 YEKT}
+ {4078414800 21600 1 YEKST}
+ {4096558800 18000 0 YEKT}
}
diff --git a/library/tzdata/Asia/Yerevan b/library/tzdata/Asia/Yerevan
index 22008ef..cd70b4f 100644
--- a/library/tzdata/Asia/Yerevan
+++ b/library/tzdata/Asia/Yerevan
@@ -66,5 +66,180 @@ set TZData(:Asia/Yerevan) {
{1288476000 14400 0 AMT}
{1301176800 18000 1 AMST}
{1319925600 14400 0 AMT}
- {1332626400 14400 0 AMT}
+ {1332626400 18000 1 AMST}
+ {1351375200 14400 0 AMT}
+ {1364680800 18000 1 AMST}
+ {1382824800 14400 0 AMT}
+ {1396130400 18000 1 AMST}
+ {1414274400 14400 0 AMT}
+ {1427580000 18000 1 AMST}
+ {1445724000 14400 0 AMT}
+ {1459029600 18000 1 AMST}
+ {1477778400 14400 0 AMT}
+ {1490479200 18000 1 AMST}
+ {1509228000 14400 0 AMT}
+ {1521928800 18000 1 AMST}
+ {1540677600 14400 0 AMT}
+ {1553983200 18000 1 AMST}
+ {1572127200 14400 0 AMT}
+ {1585432800 18000 1 AMST}
+ {1603576800 14400 0 AMT}
+ {1616882400 18000 1 AMST}
+ {1635631200 14400 0 AMT}
+ {1648332000 18000 1 AMST}
+ {1667080800 14400 0 AMT}
+ {1679781600 18000 1 AMST}
+ {1698530400 14400 0 AMT}
+ {1711836000 18000 1 AMST}
+ {1729980000 14400 0 AMT}
+ {1743285600 18000 1 AMST}
+ {1761429600 14400 0 AMT}
+ {1774735200 18000 1 AMST}
+ {1792879200 14400 0 AMT}
+ {1806184800 18000 1 AMST}
+ {1824933600 14400 0 AMT}
+ {1837634400 18000 1 AMST}
+ {1856383200 14400 0 AMT}
+ {1869084000 18000 1 AMST}
+ {1887832800 14400 0 AMT}
+ {1901138400 18000 1 AMST}
+ {1919282400 14400 0 AMT}
+ {1932588000 18000 1 AMST}
+ {1950732000 14400 0 AMT}
+ {1964037600 18000 1 AMST}
+ {1982786400 14400 0 AMT}
+ {1995487200 18000 1 AMST}
+ {2014236000 14400 0 AMT}
+ {2026936800 18000 1 AMST}
+ {2045685600 14400 0 AMT}
+ {2058386400 18000 1 AMST}
+ {2077135200 14400 0 AMT}
+ {2090440800 18000 1 AMST}
+ {2108584800 14400 0 AMT}
+ {2121890400 18000 1 AMST}
+ {2140034400 14400 0 AMT}
+ {2153340000 18000 1 AMST}
+ {2172088800 14400 0 AMT}
+ {2184789600 18000 1 AMST}
+ {2203538400 14400 0 AMT}
+ {2216239200 18000 1 AMST}
+ {2234988000 14400 0 AMT}
+ {2248293600 18000 1 AMST}
+ {2266437600 14400 0 AMT}
+ {2279743200 18000 1 AMST}
+ {2297887200 14400 0 AMT}
+ {2311192800 18000 1 AMST}
+ {2329336800 14400 0 AMT}
+ {2342642400 18000 1 AMST}
+ {2361391200 14400 0 AMT}
+ {2374092000 18000 1 AMST}
+ {2392840800 14400 0 AMT}
+ {2405541600 18000 1 AMST}
+ {2424290400 14400 0 AMT}
+ {2437596000 18000 1 AMST}
+ {2455740000 14400 0 AMT}
+ {2469045600 18000 1 AMST}
+ {2487189600 14400 0 AMT}
+ {2500495200 18000 1 AMST}
+ {2519244000 14400 0 AMT}
+ {2531944800 18000 1 AMST}
+ {2550693600 14400 0 AMT}
+ {2563394400 18000 1 AMST}
+ {2582143200 14400 0 AMT}
+ {2595448800 18000 1 AMST}
+ {2613592800 14400 0 AMT}
+ {2626898400 18000 1 AMST}
+ {2645042400 14400 0 AMT}
+ {2658348000 18000 1 AMST}
+ {2676492000 14400 0 AMT}
+ {2689797600 18000 1 AMST}
+ {2708546400 14400 0 AMT}
+ {2721247200 18000 1 AMST}
+ {2739996000 14400 0 AMT}
+ {2752696800 18000 1 AMST}
+ {2771445600 14400 0 AMT}
+ {2784751200 18000 1 AMST}
+ {2802895200 14400 0 AMT}
+ {2816200800 18000 1 AMST}
+ {2834344800 14400 0 AMT}
+ {2847650400 18000 1 AMST}
+ {2866399200 14400 0 AMT}
+ {2879100000 18000 1 AMST}
+ {2897848800 14400 0 AMT}
+ {2910549600 18000 1 AMST}
+ {2929298400 14400 0 AMT}
+ {2941999200 18000 1 AMST}
+ {2960748000 14400 0 AMT}
+ {2974053600 18000 1 AMST}
+ {2992197600 14400 0 AMT}
+ {3005503200 18000 1 AMST}
+ {3023647200 14400 0 AMT}
+ {3036952800 18000 1 AMST}
+ {3055701600 14400 0 AMT}
+ {3068402400 18000 1 AMST}
+ {3087151200 14400 0 AMT}
+ {3099852000 18000 1 AMST}
+ {3118600800 14400 0 AMT}
+ {3131906400 18000 1 AMST}
+ {3150050400 14400 0 AMT}
+ {3163356000 18000 1 AMST}
+ {3181500000 14400 0 AMT}
+ {3194805600 18000 1 AMST}
+ {3212949600 14400 0 AMT}
+ {3226255200 18000 1 AMST}
+ {3245004000 14400 0 AMT}
+ {3257704800 18000 1 AMST}
+ {3276453600 14400 0 AMT}
+ {3289154400 18000 1 AMST}
+ {3307903200 14400 0 AMT}
+ {3321208800 18000 1 AMST}
+ {3339352800 14400 0 AMT}
+ {3352658400 18000 1 AMST}
+ {3370802400 14400 0 AMT}
+ {3384108000 18000 1 AMST}
+ {3402856800 14400 0 AMT}
+ {3415557600 18000 1 AMST}
+ {3434306400 14400 0 AMT}
+ {3447007200 18000 1 AMST}
+ {3465756000 14400 0 AMT}
+ {3479061600 18000 1 AMST}
+ {3497205600 14400 0 AMT}
+ {3510511200 18000 1 AMST}
+ {3528655200 14400 0 AMT}
+ {3541960800 18000 1 AMST}
+ {3560104800 14400 0 AMT}
+ {3573410400 18000 1 AMST}
+ {3592159200 14400 0 AMT}
+ {3604860000 18000 1 AMST}
+ {3623608800 14400 0 AMT}
+ {3636309600 18000 1 AMST}
+ {3655058400 14400 0 AMT}
+ {3668364000 18000 1 AMST}
+ {3686508000 14400 0 AMT}
+ {3699813600 18000 1 AMST}
+ {3717957600 14400 0 AMT}
+ {3731263200 18000 1 AMST}
+ {3750012000 14400 0 AMT}
+ {3762712800 18000 1 AMST}
+ {3781461600 14400 0 AMT}
+ {3794162400 18000 1 AMST}
+ {3812911200 14400 0 AMT}
+ {3825612000 18000 1 AMST}
+ {3844360800 14400 0 AMT}
+ {3857666400 18000 1 AMST}
+ {3875810400 14400 0 AMT}
+ {3889116000 18000 1 AMST}
+ {3907260000 14400 0 AMT}
+ {3920565600 18000 1 AMST}
+ {3939314400 14400 0 AMT}
+ {3952015200 18000 1 AMST}
+ {3970764000 14400 0 AMT}
+ {3983464800 18000 1 AMST}
+ {4002213600 14400 0 AMT}
+ {4015519200 18000 1 AMST}
+ {4033663200 14400 0 AMT}
+ {4046968800 18000 1 AMST}
+ {4065112800 14400 0 AMT}
+ {4078418400 18000 1 AMST}
+ {4096562400 14400 0 AMT}
}
diff --git a/library/tzdata/Atlantic/Bermuda b/library/tzdata/Atlantic/Bermuda
index 2d4d983..e8b165a 100644
--- a/library/tzdata/Atlantic/Bermuda
+++ b/library/tzdata/Atlantic/Bermuda
@@ -1,8 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Atlantic/Bermuda) {
- {-9223372036854775808 -15558 0 LMT}
- {-1262281242 -14400 0 AST}
+ {-9223372036854775808 -15544 0 LMT}
+ {-1262281256 -14400 0 AST}
{136360800 -10800 0 ADT}
{152082000 -14400 0 AST}
{167810400 -10800 1 ADT}
diff --git a/library/tzdata/Atlantic/Stanley b/library/tzdata/Atlantic/Stanley
index c287238..70dc402 100644
--- a/library/tzdata/Atlantic/Stanley
+++ b/library/tzdata/Atlantic/Stanley
@@ -71,5 +71,183 @@ set TZData(:Atlantic/Stanley) {
{1240117200 -14400 0 FKT}
{1252216800 -10800 1 FKST}
{1271566800 -14400 0 FKT}
- {1283662800 -10800 0 FKST}
+ {1283666400 -10800 1 FKST}
+ {1303016400 -14400 0 FKT}
+ {1315116000 -10800 1 FKST}
+ {1334466000 -14400 0 FKT}
+ {1346565600 -10800 1 FKST}
+ {1366520400 -14400 0 FKT}
+ {1378015200 -10800 1 FKST}
+ {1397970000 -14400 0 FKT}
+ {1410069600 -10800 1 FKST}
+ {1429419600 -14400 0 FKT}
+ {1441519200 -10800 1 FKST}
+ {1460869200 -14400 0 FKT}
+ {1472968800 -10800 1 FKST}
+ {1492318800 -14400 0 FKT}
+ {1504418400 -10800 1 FKST}
+ {1523768400 -14400 0 FKT}
+ {1535868000 -10800 1 FKST}
+ {1555822800 -14400 0 FKT}
+ {1567317600 -10800 1 FKST}
+ {1587272400 -14400 0 FKT}
+ {1599372000 -10800 1 FKST}
+ {1618722000 -14400 0 FKT}
+ {1630821600 -10800 1 FKST}
+ {1650171600 -14400 0 FKT}
+ {1662271200 -10800 1 FKST}
+ {1681621200 -14400 0 FKT}
+ {1693720800 -10800 1 FKST}
+ {1713675600 -14400 0 FKT}
+ {1725170400 -10800 1 FKST}
+ {1745125200 -14400 0 FKT}
+ {1757224800 -10800 1 FKST}
+ {1776574800 -14400 0 FKT}
+ {1788674400 -10800 1 FKST}
+ {1808024400 -14400 0 FKT}
+ {1820124000 -10800 1 FKST}
+ {1839474000 -14400 0 FKT}
+ {1851573600 -10800 1 FKST}
+ {1870923600 -14400 0 FKT}
+ {1883023200 -10800 1 FKST}
+ {1902978000 -14400 0 FKT}
+ {1914472800 -10800 1 FKST}
+ {1934427600 -14400 0 FKT}
+ {1946527200 -10800 1 FKST}
+ {1965877200 -14400 0 FKT}
+ {1977976800 -10800 1 FKST}
+ {1997326800 -14400 0 FKT}
+ {2009426400 -10800 1 FKST}
+ {2028776400 -14400 0 FKT}
+ {2040876000 -10800 1 FKST}
+ {2060226000 -14400 0 FKT}
+ {2072325600 -10800 1 FKST}
+ {2092280400 -14400 0 FKT}
+ {2104380000 -10800 1 FKST}
+ {2123730000 -14400 0 FKT}
+ {2135829600 -10800 1 FKST}
+ {2155179600 -14400 0 FKT}
+ {2167279200 -10800 1 FKST}
+ {2186629200 -14400 0 FKT}
+ {2198728800 -10800 1 FKST}
+ {2218078800 -14400 0 FKT}
+ {2230178400 -10800 1 FKST}
+ {2250133200 -14400 0 FKT}
+ {2261628000 -10800 1 FKST}
+ {2281582800 -14400 0 FKT}
+ {2293682400 -10800 1 FKST}
+ {2313032400 -14400 0 FKT}
+ {2325132000 -10800 1 FKST}
+ {2344482000 -14400 0 FKT}
+ {2356581600 -10800 1 FKST}
+ {2375931600 -14400 0 FKT}
+ {2388031200 -10800 1 FKST}
+ {2407381200 -14400 0 FKT}
+ {2419480800 -10800 1 FKST}
+ {2439435600 -14400 0 FKT}
+ {2450930400 -10800 1 FKST}
+ {2470885200 -14400 0 FKT}
+ {2482984800 -10800 1 FKST}
+ {2502334800 -14400 0 FKT}
+ {2514434400 -10800 1 FKST}
+ {2533784400 -14400 0 FKT}
+ {2545884000 -10800 1 FKST}
+ {2565234000 -14400 0 FKT}
+ {2577333600 -10800 1 FKST}
+ {2597288400 -14400 0 FKT}
+ {2608783200 -10800 1 FKST}
+ {2628738000 -14400 0 FKT}
+ {2640837600 -10800 1 FKST}
+ {2660187600 -14400 0 FKT}
+ {2672287200 -10800 1 FKST}
+ {2691637200 -14400 0 FKT}
+ {2703736800 -10800 1 FKST}
+ {2723086800 -14400 0 FKT}
+ {2735186400 -10800 1 FKST}
+ {2754536400 -14400 0 FKT}
+ {2766636000 -10800 1 FKST}
+ {2786590800 -14400 0 FKT}
+ {2798085600 -10800 1 FKST}
+ {2818040400 -14400 0 FKT}
+ {2830140000 -10800 1 FKST}
+ {2849490000 -14400 0 FKT}
+ {2861589600 -10800 1 FKST}
+ {2880939600 -14400 0 FKT}
+ {2893039200 -10800 1 FKST}
+ {2912389200 -14400 0 FKT}
+ {2924488800 -10800 1 FKST}
+ {2943838800 -14400 0 FKT}
+ {2955938400 -10800 1 FKST}
+ {2975893200 -14400 0 FKT}
+ {2987992800 -10800 1 FKST}
+ {3007342800 -14400 0 FKT}
+ {3019442400 -10800 1 FKST}
+ {3038792400 -14400 0 FKT}
+ {3050892000 -10800 1 FKST}
+ {3070242000 -14400 0 FKT}
+ {3082341600 -10800 1 FKST}
+ {3101691600 -14400 0 FKT}
+ {3113791200 -10800 1 FKST}
+ {3133746000 -14400 0 FKT}
+ {3145240800 -10800 1 FKST}
+ {3165195600 -14400 0 FKT}
+ {3177295200 -10800 1 FKST}
+ {3196645200 -14400 0 FKT}
+ {3208744800 -10800 1 FKST}
+ {3228094800 -14400 0 FKT}
+ {3240194400 -10800 1 FKST}
+ {3259544400 -14400 0 FKT}
+ {3271644000 -10800 1 FKST}
+ {3290994000 -14400 0 FKT}
+ {3303093600 -10800 1 FKST}
+ {3323048400 -14400 0 FKT}
+ {3334543200 -10800 1 FKST}
+ {3354498000 -14400 0 FKT}
+ {3366597600 -10800 1 FKST}
+ {3385947600 -14400 0 FKT}
+ {3398047200 -10800 1 FKST}
+ {3417397200 -14400 0 FKT}
+ {3429496800 -10800 1 FKST}
+ {3448846800 -14400 0 FKT}
+ {3460946400 -10800 1 FKST}
+ {3480901200 -14400 0 FKT}
+ {3492396000 -10800 1 FKST}
+ {3512350800 -14400 0 FKT}
+ {3524450400 -10800 1 FKST}
+ {3543800400 -14400 0 FKT}
+ {3555900000 -10800 1 FKST}
+ {3575250000 -14400 0 FKT}
+ {3587349600 -10800 1 FKST}
+ {3606699600 -14400 0 FKT}
+ {3618799200 -10800 1 FKST}
+ {3638149200 -14400 0 FKT}
+ {3650248800 -10800 1 FKST}
+ {3670203600 -14400 0 FKT}
+ {3681698400 -10800 1 FKST}
+ {3701653200 -14400 0 FKT}
+ {3713752800 -10800 1 FKST}
+ {3733102800 -14400 0 FKT}
+ {3745202400 -10800 1 FKST}
+ {3764552400 -14400 0 FKT}
+ {3776652000 -10800 1 FKST}
+ {3796002000 -14400 0 FKT}
+ {3808101600 -10800 1 FKST}
+ {3827451600 -14400 0 FKT}
+ {3839551200 -10800 1 FKST}
+ {3859506000 -14400 0 FKT}
+ {3871605600 -10800 1 FKST}
+ {3890955600 -14400 0 FKT}
+ {3903055200 -10800 1 FKST}
+ {3922405200 -14400 0 FKT}
+ {3934504800 -10800 1 FKST}
+ {3953854800 -14400 0 FKT}
+ {3965954400 -10800 1 FKST}
+ {3985304400 -14400 0 FKT}
+ {3997404000 -10800 1 FKST}
+ {4017358800 -14400 0 FKT}
+ {4028853600 -10800 1 FKST}
+ {4048808400 -14400 0 FKT}
+ {4060908000 -10800 1 FKST}
+ {4080258000 -14400 0 FKT}
+ {4092357600 -10800 1 FKST}
}
diff --git a/library/tzdata/Europe/Busingen b/library/tzdata/Europe/Busingen
deleted file mode 100644
index 62abc29..0000000
--- a/library/tzdata/Europe/Busingen
+++ /dev/null
@@ -1,5 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Zurich)]} {
- LoadTimeZoneFile Europe/Zurich
-}
-set TZData(:Europe/Busingen) $TZData(:Europe/Zurich)
diff --git a/library/tzdata/Europe/Helsinki b/library/tzdata/Europe/Helsinki
index 3abf790..04bd991 100644
--- a/library/tzdata/Europe/Helsinki
+++ b/library/tzdata/Europe/Helsinki
@@ -6,11 +6,11 @@ set TZData(:Europe/Helsinki) {
{-1535938792 7200 0 EET}
{-875671200 10800 1 EEST}
{-859863600 7200 0 EET}
- {354672000 10800 1 EEST}
- {370396800 7200 0 EET}
- {386121600 10800 1 EEST}
- {401846400 7200 0 EET}
- {410220000 7200 0 EET}
+ {354672000 7200 0 EET}
+ {354675600 10800 1 EEST}
+ {370400400 7200 0 EET}
+ {386125200 10800 1 EEST}
+ {401850000 7200 0 EET}
{417574800 10800 1 EEST}
{433299600 7200 0 EET}
{449024400 10800 1 EEST}
diff --git a/library/tzdata/Europe/Istanbul b/library/tzdata/Europe/Istanbul
index 7737d75..06b2f88 100644
--- a/library/tzdata/Europe/Istanbul
+++ b/library/tzdata/Europe/Istanbul
@@ -122,8 +122,7 @@ set TZData(:Europe/Istanbul) {
{1256432400 7200 0 EET}
{1269738000 10800 1 EEST}
{1288486800 7200 0 EET}
- {1301187600 7200 0 EET}
- {1301274000 10800 0 EEST}
+ {1301187600 10800 1 EEST}
{1319936400 7200 0 EET}
{1332637200 10800 1 EEST}
{1351386000 7200 0 EET}
diff --git a/library/tzdata/Europe/Kaliningrad b/library/tzdata/Europe/Kaliningrad
index d5be459..94ebb12 100644
--- a/library/tzdata/Europe/Kaliningrad
+++ b/library/tzdata/Europe/Kaliningrad
@@ -80,5 +80,182 @@ set TZData(:Europe/Kaliningrad) {
{1256428800 7200 0 EET}
{1269734400 10800 1 EEST}
{1288483200 7200 0 EET}
- {1301184000 10800 0 FET}
+ {1301184000 10800 1 EEST}
+ {1319932800 7200 0 EET}
+ {1332633600 10800 1 EEST}
+ {1351382400 7200 0 EET}
+ {1364688000 10800 1 EEST}
+ {1382832000 7200 0 EET}
+ {1396137600 10800 1 EEST}
+ {1414281600 7200 0 EET}
+ {1427587200 10800 1 EEST}
+ {1445731200 7200 0 EET}
+ {1459036800 10800 1 EEST}
+ {1477785600 7200 0 EET}
+ {1490486400 10800 1 EEST}
+ {1509235200 7200 0 EET}
+ {1521936000 10800 1 EEST}
+ {1540684800 7200 0 EET}
+ {1553990400 10800 1 EEST}
+ {1572134400 7200 0 EET}
+ {1585440000 10800 1 EEST}
+ {1603584000 7200 0 EET}
+ {1616889600 10800 1 EEST}
+ {1635638400 7200 0 EET}
+ {1648339200 10800 1 EEST}
+ {1667088000 7200 0 EET}
+ {1679788800 10800 1 EEST}
+ {1698537600 7200 0 EET}
+ {1711843200 10800 1 EEST}
+ {1729987200 7200 0 EET}
+ {1743292800 10800 1 EEST}
+ {1761436800 7200 0 EET}
+ {1774742400 10800 1 EEST}
+ {1792886400 7200 0 EET}
+ {1806192000 10800 1 EEST}
+ {1824940800 7200 0 EET}
+ {1837641600 10800 1 EEST}
+ {1856390400 7200 0 EET}
+ {1869091200 10800 1 EEST}
+ {1887840000 7200 0 EET}
+ {1901145600 10800 1 EEST}
+ {1919289600 7200 0 EET}
+ {1932595200 10800 1 EEST}
+ {1950739200 7200 0 EET}
+ {1964044800 10800 1 EEST}
+ {1982793600 7200 0 EET}
+ {1995494400 10800 1 EEST}
+ {2014243200 7200 0 EET}
+ {2026944000 10800 1 EEST}
+ {2045692800 7200 0 EET}
+ {2058393600 10800 1 EEST}
+ {2077142400 7200 0 EET}
+ {2090448000 10800 1 EEST}
+ {2108592000 7200 0 EET}
+ {2121897600 10800 1 EEST}
+ {2140041600 7200 0 EET}
+ {2153347200 10800 1 EEST}
+ {2172096000 7200 0 EET}
+ {2184796800 10800 1 EEST}
+ {2203545600 7200 0 EET}
+ {2216246400 10800 1 EEST}
+ {2234995200 7200 0 EET}
+ {2248300800 10800 1 EEST}
+ {2266444800 7200 0 EET}
+ {2279750400 10800 1 EEST}
+ {2297894400 7200 0 EET}
+ {2311200000 10800 1 EEST}
+ {2329344000 7200 0 EET}
+ {2342649600 10800 1 EEST}
+ {2361398400 7200 0 EET}
+ {2374099200 10800 1 EEST}
+ {2392848000 7200 0 EET}
+ {2405548800 10800 1 EEST}
+ {2424297600 7200 0 EET}
+ {2437603200 10800 1 EEST}
+ {2455747200 7200 0 EET}
+ {2469052800 10800 1 EEST}
+ {2487196800 7200 0 EET}
+ {2500502400 10800 1 EEST}
+ {2519251200 7200 0 EET}
+ {2531952000 10800 1 EEST}
+ {2550700800 7200 0 EET}
+ {2563401600 10800 1 EEST}
+ {2582150400 7200 0 EET}
+ {2595456000 10800 1 EEST}
+ {2613600000 7200 0 EET}
+ {2626905600 10800 1 EEST}
+ {2645049600 7200 0 EET}
+ {2658355200 10800 1 EEST}
+ {2676499200 7200 0 EET}
+ {2689804800 10800 1 EEST}
+ {2708553600 7200 0 EET}
+ {2721254400 10800 1 EEST}
+ {2740003200 7200 0 EET}
+ {2752704000 10800 1 EEST}
+ {2771452800 7200 0 EET}
+ {2784758400 10800 1 EEST}
+ {2802902400 7200 0 EET}
+ {2816208000 10800 1 EEST}
+ {2834352000 7200 0 EET}
+ {2847657600 10800 1 EEST}
+ {2866406400 7200 0 EET}
+ {2879107200 10800 1 EEST}
+ {2897856000 7200 0 EET}
+ {2910556800 10800 1 EEST}
+ {2929305600 7200 0 EET}
+ {2942006400 10800 1 EEST}
+ {2960755200 7200 0 EET}
+ {2974060800 10800 1 EEST}
+ {2992204800 7200 0 EET}
+ {3005510400 10800 1 EEST}
+ {3023654400 7200 0 EET}
+ {3036960000 10800 1 EEST}
+ {3055708800 7200 0 EET}
+ {3068409600 10800 1 EEST}
+ {3087158400 7200 0 EET}
+ {3099859200 10800 1 EEST}
+ {3118608000 7200 0 EET}
+ {3131913600 10800 1 EEST}
+ {3150057600 7200 0 EET}
+ {3163363200 10800 1 EEST}
+ {3181507200 7200 0 EET}
+ {3194812800 10800 1 EEST}
+ {3212956800 7200 0 EET}
+ {3226262400 10800 1 EEST}
+ {3245011200 7200 0 EET}
+ {3257712000 10800 1 EEST}
+ {3276460800 7200 0 EET}
+ {3289161600 10800 1 EEST}
+ {3307910400 7200 0 EET}
+ {3321216000 10800 1 EEST}
+ {3339360000 7200 0 EET}
+ {3352665600 10800 1 EEST}
+ {3370809600 7200 0 EET}
+ {3384115200 10800 1 EEST}
+ {3402864000 7200 0 EET}
+ {3415564800 10800 1 EEST}
+ {3434313600 7200 0 EET}
+ {3447014400 10800 1 EEST}
+ {3465763200 7200 0 EET}
+ {3479068800 10800 1 EEST}
+ {3497212800 7200 0 EET}
+ {3510518400 10800 1 EEST}
+ {3528662400 7200 0 EET}
+ {3541968000 10800 1 EEST}
+ {3560112000 7200 0 EET}
+ {3573417600 10800 1 EEST}
+ {3592166400 7200 0 EET}
+ {3604867200 10800 1 EEST}
+ {3623616000 7200 0 EET}
+ {3636316800 10800 1 EEST}
+ {3655065600 7200 0 EET}
+ {3668371200 10800 1 EEST}
+ {3686515200 7200 0 EET}
+ {3699820800 10800 1 EEST}
+ {3717964800 7200 0 EET}
+ {3731270400 10800 1 EEST}
+ {3750019200 7200 0 EET}
+ {3762720000 10800 1 EEST}
+ {3781468800 7200 0 EET}
+ {3794169600 10800 1 EEST}
+ {3812918400 7200 0 EET}
+ {3825619200 10800 1 EEST}
+ {3844368000 7200 0 EET}
+ {3857673600 10800 1 EEST}
+ {3875817600 7200 0 EET}
+ {3889123200 10800 1 EEST}
+ {3907267200 7200 0 EET}
+ {3920572800 10800 1 EEST}
+ {3939321600 7200 0 EET}
+ {3952022400 10800 1 EEST}
+ {3970771200 7200 0 EET}
+ {3983472000 10800 1 EEST}
+ {4002220800 7200 0 EET}
+ {4015526400 10800 1 EEST}
+ {4033670400 7200 0 EET}
+ {4046976000 10800 1 EEST}
+ {4065120000 7200 0 EET}
+ {4078425600 10800 1 EEST}
+ {4096569600 7200 0 EET}
}
diff --git a/library/tzdata/Europe/Minsk b/library/tzdata/Europe/Minsk
index 1adcff8..d7d9434 100644
--- a/library/tzdata/Europe/Minsk
+++ b/library/tzdata/Europe/Minsk
@@ -70,5 +70,182 @@ set TZData(:Europe/Minsk) {
{1256428800 7200 0 EET}
{1269734400 10800 1 EEST}
{1288483200 7200 0 EET}
- {1301184000 10800 0 FET}
+ {1301184000 10800 1 EEST}
+ {1319932800 7200 0 EET}
+ {1332633600 10800 1 EEST}
+ {1351382400 7200 0 EET}
+ {1364688000 10800 1 EEST}
+ {1382832000 7200 0 EET}
+ {1396137600 10800 1 EEST}
+ {1414281600 7200 0 EET}
+ {1427587200 10800 1 EEST}
+ {1445731200 7200 0 EET}
+ {1459036800 10800 1 EEST}
+ {1477785600 7200 0 EET}
+ {1490486400 10800 1 EEST}
+ {1509235200 7200 0 EET}
+ {1521936000 10800 1 EEST}
+ {1540684800 7200 0 EET}
+ {1553990400 10800 1 EEST}
+ {1572134400 7200 0 EET}
+ {1585440000 10800 1 EEST}
+ {1603584000 7200 0 EET}
+ {1616889600 10800 1 EEST}
+ {1635638400 7200 0 EET}
+ {1648339200 10800 1 EEST}
+ {1667088000 7200 0 EET}
+ {1679788800 10800 1 EEST}
+ {1698537600 7200 0 EET}
+ {1711843200 10800 1 EEST}
+ {1729987200 7200 0 EET}
+ {1743292800 10800 1 EEST}
+ {1761436800 7200 0 EET}
+ {1774742400 10800 1 EEST}
+ {1792886400 7200 0 EET}
+ {1806192000 10800 1 EEST}
+ {1824940800 7200 0 EET}
+ {1837641600 10800 1 EEST}
+ {1856390400 7200 0 EET}
+ {1869091200 10800 1 EEST}
+ {1887840000 7200 0 EET}
+ {1901145600 10800 1 EEST}
+ {1919289600 7200 0 EET}
+ {1932595200 10800 1 EEST}
+ {1950739200 7200 0 EET}
+ {1964044800 10800 1 EEST}
+ {1982793600 7200 0 EET}
+ {1995494400 10800 1 EEST}
+ {2014243200 7200 0 EET}
+ {2026944000 10800 1 EEST}
+ {2045692800 7200 0 EET}
+ {2058393600 10800 1 EEST}
+ {2077142400 7200 0 EET}
+ {2090448000 10800 1 EEST}
+ {2108592000 7200 0 EET}
+ {2121897600 10800 1 EEST}
+ {2140041600 7200 0 EET}
+ {2153347200 10800 1 EEST}
+ {2172096000 7200 0 EET}
+ {2184796800 10800 1 EEST}
+ {2203545600 7200 0 EET}
+ {2216246400 10800 1 EEST}
+ {2234995200 7200 0 EET}
+ {2248300800 10800 1 EEST}
+ {2266444800 7200 0 EET}
+ {2279750400 10800 1 EEST}
+ {2297894400 7200 0 EET}
+ {2311200000 10800 1 EEST}
+ {2329344000 7200 0 EET}
+ {2342649600 10800 1 EEST}
+ {2361398400 7200 0 EET}
+ {2374099200 10800 1 EEST}
+ {2392848000 7200 0 EET}
+ {2405548800 10800 1 EEST}
+ {2424297600 7200 0 EET}
+ {2437603200 10800 1 EEST}
+ {2455747200 7200 0 EET}
+ {2469052800 10800 1 EEST}
+ {2487196800 7200 0 EET}
+ {2500502400 10800 1 EEST}
+ {2519251200 7200 0 EET}
+ {2531952000 10800 1 EEST}
+ {2550700800 7200 0 EET}
+ {2563401600 10800 1 EEST}
+ {2582150400 7200 0 EET}
+ {2595456000 10800 1 EEST}
+ {2613600000 7200 0 EET}
+ {2626905600 10800 1 EEST}
+ {2645049600 7200 0 EET}
+ {2658355200 10800 1 EEST}
+ {2676499200 7200 0 EET}
+ {2689804800 10800 1 EEST}
+ {2708553600 7200 0 EET}
+ {2721254400 10800 1 EEST}
+ {2740003200 7200 0 EET}
+ {2752704000 10800 1 EEST}
+ {2771452800 7200 0 EET}
+ {2784758400 10800 1 EEST}
+ {2802902400 7200 0 EET}
+ {2816208000 10800 1 EEST}
+ {2834352000 7200 0 EET}
+ {2847657600 10800 1 EEST}
+ {2866406400 7200 0 EET}
+ {2879107200 10800 1 EEST}
+ {2897856000 7200 0 EET}
+ {2910556800 10800 1 EEST}
+ {2929305600 7200 0 EET}
+ {2942006400 10800 1 EEST}
+ {2960755200 7200 0 EET}
+ {2974060800 10800 1 EEST}
+ {2992204800 7200 0 EET}
+ {3005510400 10800 1 EEST}
+ {3023654400 7200 0 EET}
+ {3036960000 10800 1 EEST}
+ {3055708800 7200 0 EET}
+ {3068409600 10800 1 EEST}
+ {3087158400 7200 0 EET}
+ {3099859200 10800 1 EEST}
+ {3118608000 7200 0 EET}
+ {3131913600 10800 1 EEST}
+ {3150057600 7200 0 EET}
+ {3163363200 10800 1 EEST}
+ {3181507200 7200 0 EET}
+ {3194812800 10800 1 EEST}
+ {3212956800 7200 0 EET}
+ {3226262400 10800 1 EEST}
+ {3245011200 7200 0 EET}
+ {3257712000 10800 1 EEST}
+ {3276460800 7200 0 EET}
+ {3289161600 10800 1 EEST}
+ {3307910400 7200 0 EET}
+ {3321216000 10800 1 EEST}
+ {3339360000 7200 0 EET}
+ {3352665600 10800 1 EEST}
+ {3370809600 7200 0 EET}
+ {3384115200 10800 1 EEST}
+ {3402864000 7200 0 EET}
+ {3415564800 10800 1 EEST}
+ {3434313600 7200 0 EET}
+ {3447014400 10800 1 EEST}
+ {3465763200 7200 0 EET}
+ {3479068800 10800 1 EEST}
+ {3497212800 7200 0 EET}
+ {3510518400 10800 1 EEST}
+ {3528662400 7200 0 EET}
+ {3541968000 10800 1 EEST}
+ {3560112000 7200 0 EET}
+ {3573417600 10800 1 EEST}
+ {3592166400 7200 0 EET}
+ {3604867200 10800 1 EEST}
+ {3623616000 7200 0 EET}
+ {3636316800 10800 1 EEST}
+ {3655065600 7200 0 EET}
+ {3668371200 10800 1 EEST}
+ {3686515200 7200 0 EET}
+ {3699820800 10800 1 EEST}
+ {3717964800 7200 0 EET}
+ {3731270400 10800 1 EEST}
+ {3750019200 7200 0 EET}
+ {3762720000 10800 1 EEST}
+ {3781468800 7200 0 EET}
+ {3794169600 10800 1 EEST}
+ {3812918400 7200 0 EET}
+ {3825619200 10800 1 EEST}
+ {3844368000 7200 0 EET}
+ {3857673600 10800 1 EEST}
+ {3875817600 7200 0 EET}
+ {3889123200 10800 1 EEST}
+ {3907267200 7200 0 EET}
+ {3920572800 10800 1 EEST}
+ {3939321600 7200 0 EET}
+ {3952022400 10800 1 EEST}
+ {3970771200 7200 0 EET}
+ {3983472000 10800 1 EEST}
+ {4002220800 7200 0 EET}
+ {4015526400 10800 1 EEST}
+ {4033670400 7200 0 EET}
+ {4046976000 10800 1 EEST}
+ {4065120000 7200 0 EET}
+ {4078425600 10800 1 EEST}
+ {4096569600 7200 0 EET}
}
diff --git a/library/tzdata/Europe/Moscow b/library/tzdata/Europe/Moscow
index 8f40741..9acbd2c 100644
--- a/library/tzdata/Europe/Moscow
+++ b/library/tzdata/Europe/Moscow
@@ -79,5 +79,182 @@ set TZData(:Europe/Moscow) {
{1256425200 10800 0 MSK}
{1269730800 14400 1 MSD}
{1288479600 10800 0 MSK}
- {1301180400 14400 0 MSK}
+ {1301180400 14400 1 MSD}
+ {1319929200 10800 0 MSK}
+ {1332630000 14400 1 MSD}
+ {1351378800 10800 0 MSK}
+ {1364684400 14400 1 MSD}
+ {1382828400 10800 0 MSK}
+ {1396134000 14400 1 MSD}
+ {1414278000 10800 0 MSK}
+ {1427583600 14400 1 MSD}
+ {1445727600 10800 0 MSK}
+ {1459033200 14400 1 MSD}
+ {1477782000 10800 0 MSK}
+ {1490482800 14400 1 MSD}
+ {1509231600 10800 0 MSK}
+ {1521932400 14400 1 MSD}
+ {1540681200 10800 0 MSK}
+ {1553986800 14400 1 MSD}
+ {1572130800 10800 0 MSK}
+ {1585436400 14400 1 MSD}
+ {1603580400 10800 0 MSK}
+ {1616886000 14400 1 MSD}
+ {1635634800 10800 0 MSK}
+ {1648335600 14400 1 MSD}
+ {1667084400 10800 0 MSK}
+ {1679785200 14400 1 MSD}
+ {1698534000 10800 0 MSK}
+ {1711839600 14400 1 MSD}
+ {1729983600 10800 0 MSK}
+ {1743289200 14400 1 MSD}
+ {1761433200 10800 0 MSK}
+ {1774738800 14400 1 MSD}
+ {1792882800 10800 0 MSK}
+ {1806188400 14400 1 MSD}
+ {1824937200 10800 0 MSK}
+ {1837638000 14400 1 MSD}
+ {1856386800 10800 0 MSK}
+ {1869087600 14400 1 MSD}
+ {1887836400 10800 0 MSK}
+ {1901142000 14400 1 MSD}
+ {1919286000 10800 0 MSK}
+ {1932591600 14400 1 MSD}
+ {1950735600 10800 0 MSK}
+ {1964041200 14400 1 MSD}
+ {1982790000 10800 0 MSK}
+ {1995490800 14400 1 MSD}
+ {2014239600 10800 0 MSK}
+ {2026940400 14400 1 MSD}
+ {2045689200 10800 0 MSK}
+ {2058390000 14400 1 MSD}
+ {2077138800 10800 0 MSK}
+ {2090444400 14400 1 MSD}
+ {2108588400 10800 0 MSK}
+ {2121894000 14400 1 MSD}
+ {2140038000 10800 0 MSK}
+ {2153343600 14400 1 MSD}
+ {2172092400 10800 0 MSK}
+ {2184793200 14400 1 MSD}
+ {2203542000 10800 0 MSK}
+ {2216242800 14400 1 MSD}
+ {2234991600 10800 0 MSK}
+ {2248297200 14400 1 MSD}
+ {2266441200 10800 0 MSK}
+ {2279746800 14400 1 MSD}
+ {2297890800 10800 0 MSK}
+ {2311196400 14400 1 MSD}
+ {2329340400 10800 0 MSK}
+ {2342646000 14400 1 MSD}
+ {2361394800 10800 0 MSK}
+ {2374095600 14400 1 MSD}
+ {2392844400 10800 0 MSK}
+ {2405545200 14400 1 MSD}
+ {2424294000 10800 0 MSK}
+ {2437599600 14400 1 MSD}
+ {2455743600 10800 0 MSK}
+ {2469049200 14400 1 MSD}
+ {2487193200 10800 0 MSK}
+ {2500498800 14400 1 MSD}
+ {2519247600 10800 0 MSK}
+ {2531948400 14400 1 MSD}
+ {2550697200 10800 0 MSK}
+ {2563398000 14400 1 MSD}
+ {2582146800 10800 0 MSK}
+ {2595452400 14400 1 MSD}
+ {2613596400 10800 0 MSK}
+ {2626902000 14400 1 MSD}
+ {2645046000 10800 0 MSK}
+ {2658351600 14400 1 MSD}
+ {2676495600 10800 0 MSK}
+ {2689801200 14400 1 MSD}
+ {2708550000 10800 0 MSK}
+ {2721250800 14400 1 MSD}
+ {2739999600 10800 0 MSK}
+ {2752700400 14400 1 MSD}
+ {2771449200 10800 0 MSK}
+ {2784754800 14400 1 MSD}
+ {2802898800 10800 0 MSK}
+ {2816204400 14400 1 MSD}
+ {2834348400 10800 0 MSK}
+ {2847654000 14400 1 MSD}
+ {2866402800 10800 0 MSK}
+ {2879103600 14400 1 MSD}
+ {2897852400 10800 0 MSK}
+ {2910553200 14400 1 MSD}
+ {2929302000 10800 0 MSK}
+ {2942002800 14400 1 MSD}
+ {2960751600 10800 0 MSK}
+ {2974057200 14400 1 MSD}
+ {2992201200 10800 0 MSK}
+ {3005506800 14400 1 MSD}
+ {3023650800 10800 0 MSK}
+ {3036956400 14400 1 MSD}
+ {3055705200 10800 0 MSK}
+ {3068406000 14400 1 MSD}
+ {3087154800 10800 0 MSK}
+ {3099855600 14400 1 MSD}
+ {3118604400 10800 0 MSK}
+ {3131910000 14400 1 MSD}
+ {3150054000 10800 0 MSK}
+ {3163359600 14400 1 MSD}
+ {3181503600 10800 0 MSK}
+ {3194809200 14400 1 MSD}
+ {3212953200 10800 0 MSK}
+ {3226258800 14400 1 MSD}
+ {3245007600 10800 0 MSK}
+ {3257708400 14400 1 MSD}
+ {3276457200 10800 0 MSK}
+ {3289158000 14400 1 MSD}
+ {3307906800 10800 0 MSK}
+ {3321212400 14400 1 MSD}
+ {3339356400 10800 0 MSK}
+ {3352662000 14400 1 MSD}
+ {3370806000 10800 0 MSK}
+ {3384111600 14400 1 MSD}
+ {3402860400 10800 0 MSK}
+ {3415561200 14400 1 MSD}
+ {3434310000 10800 0 MSK}
+ {3447010800 14400 1 MSD}
+ {3465759600 10800 0 MSK}
+ {3479065200 14400 1 MSD}
+ {3497209200 10800 0 MSK}
+ {3510514800 14400 1 MSD}
+ {3528658800 10800 0 MSK}
+ {3541964400 14400 1 MSD}
+ {3560108400 10800 0 MSK}
+ {3573414000 14400 1 MSD}
+ {3592162800 10800 0 MSK}
+ {3604863600 14400 1 MSD}
+ {3623612400 10800 0 MSK}
+ {3636313200 14400 1 MSD}
+ {3655062000 10800 0 MSK}
+ {3668367600 14400 1 MSD}
+ {3686511600 10800 0 MSK}
+ {3699817200 14400 1 MSD}
+ {3717961200 10800 0 MSK}
+ {3731266800 14400 1 MSD}
+ {3750015600 10800 0 MSK}
+ {3762716400 14400 1 MSD}
+ {3781465200 10800 0 MSK}
+ {3794166000 14400 1 MSD}
+ {3812914800 10800 0 MSK}
+ {3825615600 14400 1 MSD}
+ {3844364400 10800 0 MSK}
+ {3857670000 14400 1 MSD}
+ {3875814000 10800 0 MSK}
+ {3889119600 14400 1 MSD}
+ {3907263600 10800 0 MSK}
+ {3920569200 14400 1 MSD}
+ {3939318000 10800 0 MSK}
+ {3952018800 14400 1 MSD}
+ {3970767600 10800 0 MSK}
+ {3983468400 14400 1 MSD}
+ {4002217200 10800 0 MSK}
+ {4015522800 14400 1 MSD}
+ {4033666800 10800 0 MSK}
+ {4046972400 14400 1 MSD}
+ {4065116400 10800 0 MSK}
+ {4078422000 14400 1 MSD}
+ {4096566000 10800 0 MSK}
}
diff --git a/library/tzdata/Europe/Samara b/library/tzdata/Europe/Samara
index f2ac911..47e57e4 100644
--- a/library/tzdata/Europe/Samara
+++ b/library/tzdata/Europe/Samara
@@ -66,8 +66,184 @@ set TZData(:Europe/Samara) {
{1224972000 14400 0 SAMT}
{1238277600 18000 1 SAMST}
{1256421600 14400 0 SAMT}
- {1269727200 10800 0 SAMMMTT}
- {1269730800 14400 1 SAMST}
- {1288479600 10800 0 SAMT}
- {1301180400 14400 0 SAMT}
+ {1269727200 18000 1 SAMST}
+ {1288476000 14400 0 SAMT}
+ {1301176800 18000 1 SAMST}
+ {1319925600 14400 0 SAMT}
+ {1332626400 18000 1 SAMST}
+ {1351375200 14400 0 SAMT}
+ {1364680800 18000 1 SAMST}
+ {1382824800 14400 0 SAMT}
+ {1396130400 18000 1 SAMST}
+ {1414274400 14400 0 SAMT}
+ {1427580000 18000 1 SAMST}
+ {1445724000 14400 0 SAMT}
+ {1459029600 18000 1 SAMST}
+ {1477778400 14400 0 SAMT}
+ {1490479200 18000 1 SAMST}
+ {1509228000 14400 0 SAMT}
+ {1521928800 18000 1 SAMST}
+ {1540677600 14400 0 SAMT}
+ {1553983200 18000 1 SAMST}
+ {1572127200 14400 0 SAMT}
+ {1585432800 18000 1 SAMST}
+ {1603576800 14400 0 SAMT}
+ {1616882400 18000 1 SAMST}
+ {1635631200 14400 0 SAMT}
+ {1648332000 18000 1 SAMST}
+ {1667080800 14400 0 SAMT}
+ {1679781600 18000 1 SAMST}
+ {1698530400 14400 0 SAMT}
+ {1711836000 18000 1 SAMST}
+ {1729980000 14400 0 SAMT}
+ {1743285600 18000 1 SAMST}
+ {1761429600 14400 0 SAMT}
+ {1774735200 18000 1 SAMST}
+ {1792879200 14400 0 SAMT}
+ {1806184800 18000 1 SAMST}
+ {1824933600 14400 0 SAMT}
+ {1837634400 18000 1 SAMST}
+ {1856383200 14400 0 SAMT}
+ {1869084000 18000 1 SAMST}
+ {1887832800 14400 0 SAMT}
+ {1901138400 18000 1 SAMST}
+ {1919282400 14400 0 SAMT}
+ {1932588000 18000 1 SAMST}
+ {1950732000 14400 0 SAMT}
+ {1964037600 18000 1 SAMST}
+ {1982786400 14400 0 SAMT}
+ {1995487200 18000 1 SAMST}
+ {2014236000 14400 0 SAMT}
+ {2026936800 18000 1 SAMST}
+ {2045685600 14400 0 SAMT}
+ {2058386400 18000 1 SAMST}
+ {2077135200 14400 0 SAMT}
+ {2090440800 18000 1 SAMST}
+ {2108584800 14400 0 SAMT}
+ {2121890400 18000 1 SAMST}
+ {2140034400 14400 0 SAMT}
+ {2153340000 18000 1 SAMST}
+ {2172088800 14400 0 SAMT}
+ {2184789600 18000 1 SAMST}
+ {2203538400 14400 0 SAMT}
+ {2216239200 18000 1 SAMST}
+ {2234988000 14400 0 SAMT}
+ {2248293600 18000 1 SAMST}
+ {2266437600 14400 0 SAMT}
+ {2279743200 18000 1 SAMST}
+ {2297887200 14400 0 SAMT}
+ {2311192800 18000 1 SAMST}
+ {2329336800 14400 0 SAMT}
+ {2342642400 18000 1 SAMST}
+ {2361391200 14400 0 SAMT}
+ {2374092000 18000 1 SAMST}
+ {2392840800 14400 0 SAMT}
+ {2405541600 18000 1 SAMST}
+ {2424290400 14400 0 SAMT}
+ {2437596000 18000 1 SAMST}
+ {2455740000 14400 0 SAMT}
+ {2469045600 18000 1 SAMST}
+ {2487189600 14400 0 SAMT}
+ {2500495200 18000 1 SAMST}
+ {2519244000 14400 0 SAMT}
+ {2531944800 18000 1 SAMST}
+ {2550693600 14400 0 SAMT}
+ {2563394400 18000 1 SAMST}
+ {2582143200 14400 0 SAMT}
+ {2595448800 18000 1 SAMST}
+ {2613592800 14400 0 SAMT}
+ {2626898400 18000 1 SAMST}
+ {2645042400 14400 0 SAMT}
+ {2658348000 18000 1 SAMST}
+ {2676492000 14400 0 SAMT}
+ {2689797600 18000 1 SAMST}
+ {2708546400 14400 0 SAMT}
+ {2721247200 18000 1 SAMST}
+ {2739996000 14400 0 SAMT}
+ {2752696800 18000 1 SAMST}
+ {2771445600 14400 0 SAMT}
+ {2784751200 18000 1 SAMST}
+ {2802895200 14400 0 SAMT}
+ {2816200800 18000 1 SAMST}
+ {2834344800 14400 0 SAMT}
+ {2847650400 18000 1 SAMST}
+ {2866399200 14400 0 SAMT}
+ {2879100000 18000 1 SAMST}
+ {2897848800 14400 0 SAMT}
+ {2910549600 18000 1 SAMST}
+ {2929298400 14400 0 SAMT}
+ {2941999200 18000 1 SAMST}
+ {2960748000 14400 0 SAMT}
+ {2974053600 18000 1 SAMST}
+ {2992197600 14400 0 SAMT}
+ {3005503200 18000 1 SAMST}
+ {3023647200 14400 0 SAMT}
+ {3036952800 18000 1 SAMST}
+ {3055701600 14400 0 SAMT}
+ {3068402400 18000 1 SAMST}
+ {3087151200 14400 0 SAMT}
+ {3099852000 18000 1 SAMST}
+ {3118600800 14400 0 SAMT}
+ {3131906400 18000 1 SAMST}
+ {3150050400 14400 0 SAMT}
+ {3163356000 18000 1 SAMST}
+ {3181500000 14400 0 SAMT}
+ {3194805600 18000 1 SAMST}
+ {3212949600 14400 0 SAMT}
+ {3226255200 18000 1 SAMST}
+ {3245004000 14400 0 SAMT}
+ {3257704800 18000 1 SAMST}
+ {3276453600 14400 0 SAMT}
+ {3289154400 18000 1 SAMST}
+ {3307903200 14400 0 SAMT}
+ {3321208800 18000 1 SAMST}
+ {3339352800 14400 0 SAMT}
+ {3352658400 18000 1 SAMST}
+ {3370802400 14400 0 SAMT}
+ {3384108000 18000 1 SAMST}
+ {3402856800 14400 0 SAMT}
+ {3415557600 18000 1 SAMST}
+ {3434306400 14400 0 SAMT}
+ {3447007200 18000 1 SAMST}
+ {3465756000 14400 0 SAMT}
+ {3479061600 18000 1 SAMST}
+ {3497205600 14400 0 SAMT}
+ {3510511200 18000 1 SAMST}
+ {3528655200 14400 0 SAMT}
+ {3541960800 18000 1 SAMST}
+ {3560104800 14400 0 SAMT}
+ {3573410400 18000 1 SAMST}
+ {3592159200 14400 0 SAMT}
+ {3604860000 18000 1 SAMST}
+ {3623608800 14400 0 SAMT}
+ {3636309600 18000 1 SAMST}
+ {3655058400 14400 0 SAMT}
+ {3668364000 18000 1 SAMST}
+ {3686508000 14400 0 SAMT}
+ {3699813600 18000 1 SAMST}
+ {3717957600 14400 0 SAMT}
+ {3731263200 18000 1 SAMST}
+ {3750012000 14400 0 SAMT}
+ {3762712800 18000 1 SAMST}
+ {3781461600 14400 0 SAMT}
+ {3794162400 18000 1 SAMST}
+ {3812911200 14400 0 SAMT}
+ {3825612000 18000 1 SAMST}
+ {3844360800 14400 0 SAMT}
+ {3857666400 18000 1 SAMST}
+ {3875810400 14400 0 SAMT}
+ {3889116000 18000 1 SAMST}
+ {3907260000 14400 0 SAMT}
+ {3920565600 18000 1 SAMST}
+ {3939314400 14400 0 SAMT}
+ {3952015200 18000 1 SAMST}
+ {3970764000 14400 0 SAMT}
+ {3983464800 18000 1 SAMST}
+ {4002213600 14400 0 SAMT}
+ {4015519200 18000 1 SAMST}
+ {4033663200 14400 0 SAMT}
+ {4046968800 18000 1 SAMST}
+ {4065112800 14400 0 SAMT}
+ {4078418400 18000 1 SAMST}
+ {4096562400 14400 0 SAMT}
}
diff --git a/library/tzdata/Europe/Vienna b/library/tzdata/Europe/Vienna
index 95283eb..41d744d 100644
--- a/library/tzdata/Europe/Vienna
+++ b/library/tzdata/Europe/Vienna
@@ -1,8 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Europe/Vienna) {
- {-9223372036854775808 3921 0 LMT}
- {-2422055121 3600 0 CET}
+ {-9223372036854775808 3920 0 LMT}
+ {-2422055120 3600 0 CET}
{-1693706400 7200 1 CEST}
{-1680483600 3600 0 CET}
{-1663455600 7200 1 CEST}
diff --git a/library/tzdata/Europe/Volgograd b/library/tzdata/Europe/Volgograd
index c3f148f..49cf1e5 100755
--- a/library/tzdata/Europe/Volgograd
+++ b/library/tzdata/Europe/Volgograd
@@ -66,5 +66,182 @@ set TZData(:Europe/Volgograd) {
{1256425200 10800 0 VOLT}
{1269730800 14400 1 VOLST}
{1288479600 10800 0 VOLT}
- {1301180400 14400 0 VOLT}
+ {1301180400 14400 1 VOLST}
+ {1319929200 10800 0 VOLT}
+ {1332630000 14400 1 VOLST}
+ {1351378800 10800 0 VOLT}
+ {1364684400 14400 1 VOLST}
+ {1382828400 10800 0 VOLT}
+ {1396134000 14400 1 VOLST}
+ {1414278000 10800 0 VOLT}
+ {1427583600 14400 1 VOLST}
+ {1445727600 10800 0 VOLT}
+ {1459033200 14400 1 VOLST}
+ {1477782000 10800 0 VOLT}
+ {1490482800 14400 1 VOLST}
+ {1509231600 10800 0 VOLT}
+ {1521932400 14400 1 VOLST}
+ {1540681200 10800 0 VOLT}
+ {1553986800 14400 1 VOLST}
+ {1572130800 10800 0 VOLT}
+ {1585436400 14400 1 VOLST}
+ {1603580400 10800 0 VOLT}
+ {1616886000 14400 1 VOLST}
+ {1635634800 10800 0 VOLT}
+ {1648335600 14400 1 VOLST}
+ {1667084400 10800 0 VOLT}
+ {1679785200 14400 1 VOLST}
+ {1698534000 10800 0 VOLT}
+ {1711839600 14400 1 VOLST}
+ {1729983600 10800 0 VOLT}
+ {1743289200 14400 1 VOLST}
+ {1761433200 10800 0 VOLT}
+ {1774738800 14400 1 VOLST}
+ {1792882800 10800 0 VOLT}
+ {1806188400 14400 1 VOLST}
+ {1824937200 10800 0 VOLT}
+ {1837638000 14400 1 VOLST}
+ {1856386800 10800 0 VOLT}
+ {1869087600 14400 1 VOLST}
+ {1887836400 10800 0 VOLT}
+ {1901142000 14400 1 VOLST}
+ {1919286000 10800 0 VOLT}
+ {1932591600 14400 1 VOLST}
+ {1950735600 10800 0 VOLT}
+ {1964041200 14400 1 VOLST}
+ {1982790000 10800 0 VOLT}
+ {1995490800 14400 1 VOLST}
+ {2014239600 10800 0 VOLT}
+ {2026940400 14400 1 VOLST}
+ {2045689200 10800 0 VOLT}
+ {2058390000 14400 1 VOLST}
+ {2077138800 10800 0 VOLT}
+ {2090444400 14400 1 VOLST}
+ {2108588400 10800 0 VOLT}
+ {2121894000 14400 1 VOLST}
+ {2140038000 10800 0 VOLT}
+ {2153343600 14400 1 VOLST}
+ {2172092400 10800 0 VOLT}
+ {2184793200 14400 1 VOLST}
+ {2203542000 10800 0 VOLT}
+ {2216242800 14400 1 VOLST}
+ {2234991600 10800 0 VOLT}
+ {2248297200 14400 1 VOLST}
+ {2266441200 10800 0 VOLT}
+ {2279746800 14400 1 VOLST}
+ {2297890800 10800 0 VOLT}
+ {2311196400 14400 1 VOLST}
+ {2329340400 10800 0 VOLT}
+ {2342646000 14400 1 VOLST}
+ {2361394800 10800 0 VOLT}
+ {2374095600 14400 1 VOLST}
+ {2392844400 10800 0 VOLT}
+ {2405545200 14400 1 VOLST}
+ {2424294000 10800 0 VOLT}
+ {2437599600 14400 1 VOLST}
+ {2455743600 10800 0 VOLT}
+ {2469049200 14400 1 VOLST}
+ {2487193200 10800 0 VOLT}
+ {2500498800 14400 1 VOLST}
+ {2519247600 10800 0 VOLT}
+ {2531948400 14400 1 VOLST}
+ {2550697200 10800 0 VOLT}
+ {2563398000 14400 1 VOLST}
+ {2582146800 10800 0 VOLT}
+ {2595452400 14400 1 VOLST}
+ {2613596400 10800 0 VOLT}
+ {2626902000 14400 1 VOLST}
+ {2645046000 10800 0 VOLT}
+ {2658351600 14400 1 VOLST}
+ {2676495600 10800 0 VOLT}
+ {2689801200 14400 1 VOLST}
+ {2708550000 10800 0 VOLT}
+ {2721250800 14400 1 VOLST}
+ {2739999600 10800 0 VOLT}
+ {2752700400 14400 1 VOLST}
+ {2771449200 10800 0 VOLT}
+ {2784754800 14400 1 VOLST}
+ {2802898800 10800 0 VOLT}
+ {2816204400 14400 1 VOLST}
+ {2834348400 10800 0 VOLT}
+ {2847654000 14400 1 VOLST}
+ {2866402800 10800 0 VOLT}
+ {2879103600 14400 1 VOLST}
+ {2897852400 10800 0 VOLT}
+ {2910553200 14400 1 VOLST}
+ {2929302000 10800 0 VOLT}
+ {2942002800 14400 1 VOLST}
+ {2960751600 10800 0 VOLT}
+ {2974057200 14400 1 VOLST}
+ {2992201200 10800 0 VOLT}
+ {3005506800 14400 1 VOLST}
+ {3023650800 10800 0 VOLT}
+ {3036956400 14400 1 VOLST}
+ {3055705200 10800 0 VOLT}
+ {3068406000 14400 1 VOLST}
+ {3087154800 10800 0 VOLT}
+ {3099855600 14400 1 VOLST}
+ {3118604400 10800 0 VOLT}
+ {3131910000 14400 1 VOLST}
+ {3150054000 10800 0 VOLT}
+ {3163359600 14400 1 VOLST}
+ {3181503600 10800 0 VOLT}
+ {3194809200 14400 1 VOLST}
+ {3212953200 10800 0 VOLT}
+ {3226258800 14400 1 VOLST}
+ {3245007600 10800 0 VOLT}
+ {3257708400 14400 1 VOLST}
+ {3276457200 10800 0 VOLT}
+ {3289158000 14400 1 VOLST}
+ {3307906800 10800 0 VOLT}
+ {3321212400 14400 1 VOLST}
+ {3339356400 10800 0 VOLT}
+ {3352662000 14400 1 VOLST}
+ {3370806000 10800 0 VOLT}
+ {3384111600 14400 1 VOLST}
+ {3402860400 10800 0 VOLT}
+ {3415561200 14400 1 VOLST}
+ {3434310000 10800 0 VOLT}
+ {3447010800 14400 1 VOLST}
+ {3465759600 10800 0 VOLT}
+ {3479065200 14400 1 VOLST}
+ {3497209200 10800 0 VOLT}
+ {3510514800 14400 1 VOLST}
+ {3528658800 10800 0 VOLT}
+ {3541964400 14400 1 VOLST}
+ {3560108400 10800 0 VOLT}
+ {3573414000 14400 1 VOLST}
+ {3592162800 10800 0 VOLT}
+ {3604863600 14400 1 VOLST}
+ {3623612400 10800 0 VOLT}
+ {3636313200 14400 1 VOLST}
+ {3655062000 10800 0 VOLT}
+ {3668367600 14400 1 VOLST}
+ {3686511600 10800 0 VOLT}
+ {3699817200 14400 1 VOLST}
+ {3717961200 10800 0 VOLT}
+ {3731266800 14400 1 VOLST}
+ {3750015600 10800 0 VOLT}
+ {3762716400 14400 1 VOLST}
+ {3781465200 10800 0 VOLT}
+ {3794166000 14400 1 VOLST}
+ {3812914800 10800 0 VOLT}
+ {3825615600 14400 1 VOLST}
+ {3844364400 10800 0 VOLT}
+ {3857670000 14400 1 VOLST}
+ {3875814000 10800 0 VOLT}
+ {3889119600 14400 1 VOLST}
+ {3907263600 10800 0 VOLT}
+ {3920569200 14400 1 VOLST}
+ {3939318000 10800 0 VOLT}
+ {3952018800 14400 1 VOLST}
+ {3970767600 10800 0 VOLT}
+ {3983468400 14400 1 VOLST}
+ {4002217200 10800 0 VOLT}
+ {4015522800 14400 1 VOLST}
+ {4033666800 10800 0 VOLT}
+ {4046972400 14400 1 VOLST}
+ {4065116400 10800 0 VOLT}
+ {4078422000 14400 1 VOLST}
+ {4096566000 10800 0 VOLT}
}
diff --git a/library/tzdata/Pacific/Apia b/library/tzdata/Pacific/Apia
index e6f33ad..5d34ed1 100644
--- a/library/tzdata/Pacific/Apia
+++ b/library/tzdata/Pacific/Apia
@@ -5,184 +5,4 @@ set TZData(:Pacific/Apia) {
{-2855737984 -41216 0 LMT}
{-1861878784 -41400 0 SAMT}
{-631110600 -39600 0 WST}
- {1285498800 -36000 1 WSDT}
- {1301752800 -39600 0 WST}
- {1316872800 -36000 1 WSDT}
- {1325239200 50400 1 WSDT}
- {1333202400 46800 0 WST}
- {1348927200 50400 1 WSDT}
- {1365256800 46800 0 WST}
- {1380376800 50400 1 WSDT}
- {1396706400 46800 0 WST}
- {1411826400 50400 1 WSDT}
- {1428156000 46800 0 WST}
- {1443276000 50400 1 WSDT}
- {1459605600 46800 0 WST}
- {1474725600 50400 1 WSDT}
- {1491055200 46800 0 WST}
- {1506175200 50400 1 WSDT}
- {1522504800 46800 0 WST}
- {1538229600 50400 1 WSDT}
- {1554559200 46800 0 WST}
- {1569679200 50400 1 WSDT}
- {1586008800 46800 0 WST}
- {1601128800 50400 1 WSDT}
- {1617458400 46800 0 WST}
- {1632578400 50400 1 WSDT}
- {1648908000 46800 0 WST}
- {1664028000 50400 1 WSDT}
- {1680357600 46800 0 WST}
- {1695477600 50400 1 WSDT}
- {1712412000 46800 0 WST}
- {1727532000 50400 1 WSDT}
- {1743861600 46800 0 WST}
- {1758981600 50400 1 WSDT}
- {1775311200 46800 0 WST}
- {1790431200 50400 1 WSDT}
- {1806760800 46800 0 WST}
- {1821880800 50400 1 WSDT}
- {1838210400 46800 0 WST}
- {1853330400 50400 1 WSDT}
- {1869660000 46800 0 WST}
- {1885384800 50400 1 WSDT}
- {1901714400 46800 0 WST}
- {1916834400 50400 1 WSDT}
- {1933164000 46800 0 WST}
- {1948284000 50400 1 WSDT}
- {1964613600 46800 0 WST}
- {1979733600 50400 1 WSDT}
- {1996063200 46800 0 WST}
- {2011183200 50400 1 WSDT}
- {2027512800 46800 0 WST}
- {2042632800 50400 1 WSDT}
- {2058962400 46800 0 WST}
- {2074687200 50400 1 WSDT}
- {2091016800 46800 0 WST}
- {2106136800 50400 1 WSDT}
- {2122466400 46800 0 WST}
- {2137586400 50400 1 WSDT}
- {2153916000 46800 0 WST}
- {2169036000 50400 1 WSDT}
- {2185365600 46800 0 WST}
- {2200485600 50400 1 WSDT}
- {2216815200 46800 0 WST}
- {2232540000 50400 1 WSDT}
- {2248869600 46800 0 WST}
- {2263989600 50400 1 WSDT}
- {2280319200 46800 0 WST}
- {2295439200 50400 1 WSDT}
- {2311768800 46800 0 WST}
- {2326888800 50400 1 WSDT}
- {2343218400 46800 0 WST}
- {2358338400 50400 1 WSDT}
- {2374668000 46800 0 WST}
- {2389788000 50400 1 WSDT}
- {2406117600 46800 0 WST}
- {2421842400 50400 1 WSDT}
- {2438172000 46800 0 WST}
- {2453292000 50400 1 WSDT}
- {2469621600 46800 0 WST}
- {2484741600 50400 1 WSDT}
- {2501071200 46800 0 WST}
- {2516191200 50400 1 WSDT}
- {2532520800 46800 0 WST}
- {2547640800 50400 1 WSDT}
- {2563970400 46800 0 WST}
- {2579090400 50400 1 WSDT}
- {2596024800 46800 0 WST}
- {2611144800 50400 1 WSDT}
- {2627474400 46800 0 WST}
- {2642594400 50400 1 WSDT}
- {2658924000 46800 0 WST}
- {2674044000 50400 1 WSDT}
- {2690373600 46800 0 WST}
- {2705493600 50400 1 WSDT}
- {2721823200 46800 0 WST}
- {2736943200 50400 1 WSDT}
- {2753272800 46800 0 WST}
- {2768997600 50400 1 WSDT}
- {2785327200 46800 0 WST}
- {2800447200 50400 1 WSDT}
- {2816776800 46800 0 WST}
- {2831896800 50400 1 WSDT}
- {2848226400 46800 0 WST}
- {2863346400 50400 1 WSDT}
- {2879676000 46800 0 WST}
- {2894796000 50400 1 WSDT}
- {2911125600 46800 0 WST}
- {2926245600 50400 1 WSDT}
- {2942575200 46800 0 WST}
- {2958300000 50400 1 WSDT}
- {2974629600 46800 0 WST}
- {2989749600 50400 1 WSDT}
- {3006079200 46800 0 WST}
- {3021199200 50400 1 WSDT}
- {3037528800 46800 0 WST}
- {3052648800 50400 1 WSDT}
- {3068978400 46800 0 WST}
- {3084098400 50400 1 WSDT}
- {3100428000 46800 0 WST}
- {3116152800 50400 1 WSDT}
- {3132482400 46800 0 WST}
- {3147602400 50400 1 WSDT}
- {3163932000 46800 0 WST}
- {3179052000 50400 1 WSDT}
- {3195381600 46800 0 WST}
- {3210501600 50400 1 WSDT}
- {3226831200 46800 0 WST}
- {3241951200 50400 1 WSDT}
- {3258280800 46800 0 WST}
- {3273400800 50400 1 WSDT}
- {3289730400 46800 0 WST}
- {3305455200 50400 1 WSDT}
- {3321784800 46800 0 WST}
- {3336904800 50400 1 WSDT}
- {3353234400 46800 0 WST}
- {3368354400 50400 1 WSDT}
- {3384684000 46800 0 WST}
- {3399804000 50400 1 WSDT}
- {3416133600 46800 0 WST}
- {3431253600 50400 1 WSDT}
- {3447583200 46800 0 WST}
- {3462703200 50400 1 WSDT}
- {3479637600 46800 0 WST}
- {3494757600 50400 1 WSDT}
- {3511087200 46800 0 WST}
- {3526207200 50400 1 WSDT}
- {3542536800 46800 0 WST}
- {3557656800 50400 1 WSDT}
- {3573986400 46800 0 WST}
- {3589106400 50400 1 WSDT}
- {3605436000 46800 0 WST}
- {3620556000 50400 1 WSDT}
- {3636885600 46800 0 WST}
- {3652610400 50400 1 WSDT}
- {3668940000 46800 0 WST}
- {3684060000 50400 1 WSDT}
- {3700389600 46800 0 WST}
- {3715509600 50400 1 WSDT}
- {3731839200 46800 0 WST}
- {3746959200 50400 1 WSDT}
- {3763288800 46800 0 WST}
- {3778408800 50400 1 WSDT}
- {3794738400 46800 0 WST}
- {3809858400 50400 1 WSDT}
- {3826188000 46800 0 WST}
- {3841912800 50400 1 WSDT}
- {3858242400 46800 0 WST}
- {3873362400 50400 1 WSDT}
- {3889692000 46800 0 WST}
- {3904812000 50400 1 WSDT}
- {3921141600 46800 0 WST}
- {3936261600 50400 1 WSDT}
- {3952591200 46800 0 WST}
- {3967711200 50400 1 WSDT}
- {3984040800 46800 0 WST}
- {3999765600 50400 1 WSDT}
- {4016095200 46800 0 WST}
- {4031215200 50400 1 WSDT}
- {4047544800 46800 0 WST}
- {4062664800 50400 1 WSDT}
- {4078994400 46800 0 WST}
- {4094114400 50400 1 WSDT}
}
diff --git a/library/tzdata/Pacific/Chuuk b/library/tzdata/Pacific/Chuuk
deleted file mode 100644
index 70b14b2..0000000
--- a/library/tzdata/Pacific/Chuuk
+++ /dev/null
@@ -1,6 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Pacific/Chuuk) {
- {-9223372036854775808 36428 0 LMT}
- {-2177489228 36000 0 CHUT}
-}
diff --git a/library/tzdata/Pacific/Easter b/library/tzdata/Pacific/Easter
index 000c6d1..ac00f5e 100644
--- a/library/tzdata/Pacific/Easter
+++ b/library/tzdata/Pacific/Easter
@@ -92,184 +92,184 @@ set TZData(:Pacific/Easter) {
{1223784000 -18000 1 EASST}
{1237086000 -21600 0 EAST}
{1255233600 -18000 1 EASST}
- {1270350000 -21600 0 EAST}
+ {1268535600 -21600 0 EAST}
{1286683200 -18000 1 EASST}
- {1304823600 -21600 0 EAST}
- {1313899200 -18000 1 EASST}
- {1335668400 -21600 0 EAST}
- {1346558400 -18000 1 EASST}
- {1367118000 -21600 0 EAST}
- {1378612800 -18000 1 EASST}
- {1398567600 -21600 0 EAST}
- {1410062400 -18000 1 EASST}
- {1430017200 -21600 0 EAST}
- {1441512000 -18000 1 EASST}
- {1461466800 -21600 0 EAST}
- {1472961600 -18000 1 EASST}
- {1492916400 -21600 0 EAST}
- {1504411200 -18000 1 EASST}
- {1524970800 -21600 0 EAST}
- {1535860800 -18000 1 EASST}
- {1556420400 -21600 0 EAST}
- {1567915200 -18000 1 EASST}
- {1587870000 -21600 0 EAST}
- {1599364800 -18000 1 EASST}
- {1619319600 -21600 0 EAST}
- {1630814400 -18000 1 EASST}
- {1650769200 -21600 0 EAST}
- {1662264000 -18000 1 EASST}
- {1682218800 -21600 0 EAST}
- {1693713600 -18000 1 EASST}
- {1714273200 -21600 0 EAST}
- {1725768000 -18000 1 EASST}
- {1745722800 -21600 0 EAST}
- {1757217600 -18000 1 EASST}
- {1777172400 -21600 0 EAST}
- {1788667200 -18000 1 EASST}
- {1808622000 -21600 0 EAST}
- {1820116800 -18000 1 EASST}
- {1840071600 -21600 0 EAST}
- {1851566400 -18000 1 EASST}
- {1872126000 -21600 0 EAST}
- {1883016000 -18000 1 EASST}
- {1903575600 -21600 0 EAST}
- {1915070400 -18000 1 EASST}
- {1935025200 -21600 0 EAST}
- {1946520000 -18000 1 EASST}
- {1966474800 -21600 0 EAST}
- {1977969600 -18000 1 EASST}
- {1997924400 -21600 0 EAST}
- {2009419200 -18000 1 EASST}
- {2029374000 -21600 0 EAST}
- {2040868800 -18000 1 EASST}
- {2061428400 -21600 0 EAST}
- {2072318400 -18000 1 EASST}
- {2092878000 -21600 0 EAST}
- {2104372800 -18000 1 EASST}
- {2124327600 -21600 0 EAST}
- {2135822400 -18000 1 EASST}
- {2155777200 -21600 0 EAST}
- {2167272000 -18000 1 EASST}
- {2187226800 -21600 0 EAST}
- {2198721600 -18000 1 EASST}
- {2219281200 -21600 0 EAST}
- {2230171200 -18000 1 EASST}
- {2250730800 -21600 0 EAST}
- {2262225600 -18000 1 EASST}
- {2282180400 -21600 0 EAST}
- {2293675200 -18000 1 EASST}
- {2313630000 -21600 0 EAST}
- {2325124800 -18000 1 EASST}
- {2345079600 -21600 0 EAST}
- {2356574400 -18000 1 EASST}
- {2376529200 -21600 0 EAST}
- {2388024000 -18000 1 EASST}
- {2408583600 -21600 0 EAST}
- {2419473600 -18000 1 EASST}
- {2440033200 -21600 0 EAST}
- {2451528000 -18000 1 EASST}
- {2471482800 -21600 0 EAST}
- {2482977600 -18000 1 EASST}
- {2502932400 -21600 0 EAST}
- {2514427200 -18000 1 EASST}
- {2534382000 -21600 0 EAST}
- {2545876800 -18000 1 EASST}
- {2565831600 -21600 0 EAST}
- {2577326400 -18000 1 EASST}
- {2597886000 -21600 0 EAST}
- {2609380800 -18000 1 EASST}
- {2629335600 -21600 0 EAST}
- {2640830400 -18000 1 EASST}
- {2660785200 -21600 0 EAST}
- {2672280000 -18000 1 EASST}
- {2692234800 -21600 0 EAST}
- {2703729600 -18000 1 EASST}
- {2723684400 -21600 0 EAST}
- {2735179200 -18000 1 EASST}
- {2755738800 -21600 0 EAST}
- {2766628800 -18000 1 EASST}
- {2787188400 -21600 0 EAST}
- {2798683200 -18000 1 EASST}
- {2818638000 -21600 0 EAST}
- {2830132800 -18000 1 EASST}
- {2850087600 -21600 0 EAST}
- {2861582400 -18000 1 EASST}
- {2881537200 -21600 0 EAST}
- {2893032000 -18000 1 EASST}
- {2912986800 -21600 0 EAST}
- {2924481600 -18000 1 EASST}
- {2945041200 -21600 0 EAST}
- {2955931200 -18000 1 EASST}
- {2976490800 -21600 0 EAST}
- {2987985600 -18000 1 EASST}
- {3007940400 -21600 0 EAST}
- {3019435200 -18000 1 EASST}
- {3039390000 -21600 0 EAST}
- {3050884800 -18000 1 EASST}
- {3070839600 -21600 0 EAST}
- {3082334400 -18000 1 EASST}
- {3102894000 -21600 0 EAST}
- {3113784000 -18000 1 EASST}
- {3134343600 -21600 0 EAST}
- {3145838400 -18000 1 EASST}
- {3165793200 -21600 0 EAST}
- {3177288000 -18000 1 EASST}
- {3197242800 -21600 0 EAST}
- {3208737600 -18000 1 EASST}
- {3228692400 -21600 0 EAST}
- {3240187200 -18000 1 EASST}
- {3260142000 -21600 0 EAST}
- {3271636800 -18000 1 EASST}
- {3292196400 -21600 0 EAST}
- {3303086400 -18000 1 EASST}
- {3323646000 -21600 0 EAST}
- {3335140800 -18000 1 EASST}
- {3355095600 -21600 0 EAST}
- {3366590400 -18000 1 EASST}
- {3386545200 -21600 0 EAST}
- {3398040000 -18000 1 EASST}
- {3417994800 -21600 0 EAST}
- {3429489600 -18000 1 EASST}
- {3449444400 -21600 0 EAST}
- {3460939200 -18000 1 EASST}
- {3481498800 -21600 0 EAST}
- {3492993600 -18000 1 EASST}
- {3512948400 -21600 0 EAST}
- {3524443200 -18000 1 EASST}
- {3544398000 -21600 0 EAST}
- {3555892800 -18000 1 EASST}
- {3575847600 -21600 0 EAST}
- {3587342400 -18000 1 EASST}
- {3607297200 -21600 0 EAST}
- {3618792000 -18000 1 EASST}
- {3639351600 -21600 0 EAST}
- {3650241600 -18000 1 EASST}
- {3670801200 -21600 0 EAST}
- {3682296000 -18000 1 EASST}
- {3702250800 -21600 0 EAST}
- {3713745600 -18000 1 EASST}
- {3733700400 -21600 0 EAST}
- {3745195200 -18000 1 EASST}
- {3765150000 -21600 0 EAST}
- {3776644800 -18000 1 EASST}
- {3796599600 -21600 0 EAST}
- {3808094400 -18000 1 EASST}
- {3828654000 -21600 0 EAST}
- {3839544000 -18000 1 EASST}
- {3860103600 -21600 0 EAST}
- {3871598400 -18000 1 EASST}
- {3891553200 -21600 0 EAST}
- {3903048000 -18000 1 EASST}
- {3923002800 -21600 0 EAST}
- {3934497600 -18000 1 EASST}
- {3954452400 -21600 0 EAST}
- {3965947200 -18000 1 EASST}
- {3986506800 -21600 0 EAST}
- {3997396800 -18000 1 EASST}
- {4017956400 -21600 0 EAST}
- {4029451200 -18000 1 EASST}
- {4049406000 -21600 0 EAST}
- {4060900800 -18000 1 EASST}
- {4080855600 -21600 0 EAST}
- {4092350400 -18000 1 EASST}
+ {1299985200 -21600 0 EAST}
+ {1318132800 -18000 1 EASST}
+ {1331434800 -21600 0 EAST}
+ {1350187200 -18000 1 EASST}
+ {1362884400 -21600 0 EAST}
+ {1381636800 -18000 1 EASST}
+ {1394334000 -21600 0 EAST}
+ {1413086400 -18000 1 EASST}
+ {1426388400 -21600 0 EAST}
+ {1444536000 -18000 1 EASST}
+ {1457838000 -21600 0 EAST}
+ {1475985600 -18000 1 EASST}
+ {1489287600 -21600 0 EAST}
+ {1508040000 -18000 1 EASST}
+ {1520737200 -21600 0 EAST}
+ {1539489600 -18000 1 EASST}
+ {1552186800 -21600 0 EAST}
+ {1570939200 -18000 1 EASST}
+ {1584241200 -21600 0 EAST}
+ {1602388800 -18000 1 EASST}
+ {1615690800 -21600 0 EAST}
+ {1633838400 -18000 1 EASST}
+ {1647140400 -21600 0 EAST}
+ {1665288000 -18000 1 EASST}
+ {1678590000 -21600 0 EAST}
+ {1697342400 -18000 1 EASST}
+ {1710039600 -21600 0 EAST}
+ {1728792000 -18000 1 EASST}
+ {1741489200 -21600 0 EAST}
+ {1760241600 -18000 1 EASST}
+ {1773543600 -21600 0 EAST}
+ {1791691200 -18000 1 EASST}
+ {1804993200 -21600 0 EAST}
+ {1823140800 -18000 1 EASST}
+ {1836442800 -21600 0 EAST}
+ {1855195200 -18000 1 EASST}
+ {1867892400 -21600 0 EAST}
+ {1886644800 -18000 1 EASST}
+ {1899342000 -21600 0 EAST}
+ {1918094400 -18000 1 EASST}
+ {1930791600 -21600 0 EAST}
+ {1949544000 -18000 1 EASST}
+ {1962846000 -21600 0 EAST}
+ {1980993600 -18000 1 EASST}
+ {1994295600 -21600 0 EAST}
+ {2012443200 -18000 1 EASST}
+ {2025745200 -21600 0 EAST}
+ {2044497600 -18000 1 EASST}
+ {2057194800 -21600 0 EAST}
+ {2075947200 -18000 1 EASST}
+ {2088644400 -21600 0 EAST}
+ {2107396800 -18000 1 EASST}
+ {2120698800 -21600 0 EAST}
+ {2138846400 -18000 1 EASST}
+ {2152148400 -21600 0 EAST}
+ {2170296000 -18000 1 EASST}
+ {2183598000 -21600 0 EAST}
+ {2201745600 -18000 1 EASST}
+ {2215047600 -21600 0 EAST}
+ {2233800000 -18000 1 EASST}
+ {2246497200 -21600 0 EAST}
+ {2265249600 -18000 1 EASST}
+ {2277946800 -21600 0 EAST}
+ {2296699200 -18000 1 EASST}
+ {2310001200 -21600 0 EAST}
+ {2328148800 -18000 1 EASST}
+ {2341450800 -21600 0 EAST}
+ {2359598400 -18000 1 EASST}
+ {2372900400 -21600 0 EAST}
+ {2391652800 -18000 1 EASST}
+ {2404350000 -21600 0 EAST}
+ {2423102400 -18000 1 EASST}
+ {2435799600 -21600 0 EAST}
+ {2454552000 -18000 1 EASST}
+ {2467854000 -21600 0 EAST}
+ {2486001600 -18000 1 EASST}
+ {2499303600 -21600 0 EAST}
+ {2517451200 -18000 1 EASST}
+ {2530753200 -21600 0 EAST}
+ {2548900800 -18000 1 EASST}
+ {2562202800 -21600 0 EAST}
+ {2580955200 -18000 1 EASST}
+ {2593652400 -21600 0 EAST}
+ {2612404800 -18000 1 EASST}
+ {2625102000 -21600 0 EAST}
+ {2643854400 -18000 1 EASST}
+ {2657156400 -21600 0 EAST}
+ {2675304000 -18000 1 EASST}
+ {2688606000 -21600 0 EAST}
+ {2706753600 -18000 1 EASST}
+ {2720055600 -21600 0 EAST}
+ {2738808000 -18000 1 EASST}
+ {2751505200 -21600 0 EAST}
+ {2770257600 -18000 1 EASST}
+ {2782954800 -21600 0 EAST}
+ {2801707200 -18000 1 EASST}
+ {2814404400 -21600 0 EAST}
+ {2833156800 -18000 1 EASST}
+ {2846458800 -21600 0 EAST}
+ {2864606400 -18000 1 EASST}
+ {2877908400 -21600 0 EAST}
+ {2896056000 -18000 1 EASST}
+ {2909358000 -21600 0 EAST}
+ {2928110400 -18000 1 EASST}
+ {2940807600 -21600 0 EAST}
+ {2959560000 -18000 1 EASST}
+ {2972257200 -21600 0 EAST}
+ {2991009600 -18000 1 EASST}
+ {3004311600 -21600 0 EAST}
+ {3022459200 -18000 1 EASST}
+ {3035761200 -21600 0 EAST}
+ {3053908800 -18000 1 EASST}
+ {3067210800 -21600 0 EAST}
+ {3085358400 -18000 1 EASST}
+ {3098660400 -21600 0 EAST}
+ {3117412800 -18000 1 EASST}
+ {3130110000 -21600 0 EAST}
+ {3148862400 -18000 1 EASST}
+ {3161559600 -21600 0 EAST}
+ {3180312000 -18000 1 EASST}
+ {3193614000 -21600 0 EAST}
+ {3211761600 -18000 1 EASST}
+ {3225063600 -21600 0 EAST}
+ {3243211200 -18000 1 EASST}
+ {3256513200 -21600 0 EAST}
+ {3275265600 -18000 1 EASST}
+ {3287962800 -21600 0 EAST}
+ {3306715200 -18000 1 EASST}
+ {3319412400 -21600 0 EAST}
+ {3338164800 -18000 1 EASST}
+ {3351466800 -21600 0 EAST}
+ {3369614400 -18000 1 EASST}
+ {3382916400 -21600 0 EAST}
+ {3401064000 -18000 1 EASST}
+ {3414366000 -21600 0 EAST}
+ {3432513600 -18000 1 EASST}
+ {3445815600 -21600 0 EAST}
+ {3464568000 -18000 1 EASST}
+ {3477265200 -21600 0 EAST}
+ {3496017600 -18000 1 EASST}
+ {3508714800 -21600 0 EAST}
+ {3527467200 -18000 1 EASST}
+ {3540769200 -21600 0 EAST}
+ {3558916800 -18000 1 EASST}
+ {3572218800 -21600 0 EAST}
+ {3590366400 -18000 1 EASST}
+ {3603668400 -21600 0 EAST}
+ {3622420800 -18000 1 EASST}
+ {3635118000 -21600 0 EAST}
+ {3653870400 -18000 1 EASST}
+ {3666567600 -21600 0 EAST}
+ {3685320000 -18000 1 EASST}
+ {3698017200 -21600 0 EAST}
+ {3716769600 -18000 1 EASST}
+ {3730071600 -21600 0 EAST}
+ {3748219200 -18000 1 EASST}
+ {3761521200 -21600 0 EAST}
+ {3779668800 -18000 1 EASST}
+ {3792970800 -21600 0 EAST}
+ {3811723200 -18000 1 EASST}
+ {3824420400 -21600 0 EAST}
+ {3843172800 -18000 1 EASST}
+ {3855870000 -21600 0 EAST}
+ {3874622400 -18000 1 EASST}
+ {3887924400 -21600 0 EAST}
+ {3906072000 -18000 1 EASST}
+ {3919374000 -21600 0 EAST}
+ {3937521600 -18000 1 EASST}
+ {3950823600 -21600 0 EAST}
+ {3968971200 -18000 1 EASST}
+ {3982273200 -21600 0 EAST}
+ {4001025600 -18000 1 EASST}
+ {4013722800 -21600 0 EAST}
+ {4032475200 -18000 1 EASST}
+ {4045172400 -21600 0 EAST}
+ {4063924800 -18000 1 EASST}
+ {4077226800 -21600 0 EAST}
+ {4095374400 -18000 1 EASST}
}
diff --git a/library/tzdata/Pacific/Fakaofo b/library/tzdata/Pacific/Fakaofo
index 6ec98eb..7420639 100644
--- a/library/tzdata/Pacific/Fakaofo
+++ b/library/tzdata/Pacific/Fakaofo
@@ -2,6 +2,5 @@
set TZData(:Pacific/Fakaofo) {
{-9223372036854775808 -41096 0 LMT}
- {-2177411704 -39600 0 TKT}
- {1325242800 46800 0 TKT}
+ {-2177411704 -36000 0 TKT}
}
diff --git a/library/tzdata/Pacific/Fiji b/library/tzdata/Pacific/Fiji
index bfcaa03..2194d59 100644
--- a/library/tzdata/Pacific/Fiji
+++ b/library/tzdata/Pacific/Fiji
@@ -1,191 +1,10 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Pacific/Fiji) {
- {-9223372036854775808 42944 0 LMT}
- {-1709985344 43200 0 FJT}
+ {-9223372036854775808 42820 0 LMT}
+ {-1709985220 43200 0 FJT}
{909842400 46800 1 FJST}
{920124000 43200 0 FJT}
{941896800 46800 1 FJST}
{951573600 43200 0 FJT}
- {1259416800 46800 1 FJST}
- {1269698400 43200 0 FJT}
- {1287842400 46800 1 FJST}
- {1299333600 43200 0 FJT}
- {1319292000 46800 1 FJST}
- {1327154400 43200 0 FJT}
- {1350741600 46800 1 FJST}
- {1358604000 43200 0 FJT}
- {1382191200 46800 1 FJST}
- {1390053600 43200 0 FJT}
- {1413640800 46800 1 FJST}
- {1421503200 43200 0 FJT}
- {1445090400 46800 1 FJST}
- {1453557600 43200 0 FJT}
- {1477144800 46800 1 FJST}
- {1485007200 43200 0 FJT}
- {1508594400 46800 1 FJST}
- {1516456800 43200 0 FJT}
- {1540044000 46800 1 FJST}
- {1547906400 43200 0 FJT}
- {1571493600 46800 1 FJST}
- {1579356000 43200 0 FJT}
- {1602943200 46800 1 FJST}
- {1611410400 43200 0 FJT}
- {1634997600 46800 1 FJST}
- {1642860000 43200 0 FJT}
- {1666447200 46800 1 FJST}
- {1674309600 43200 0 FJT}
- {1697896800 46800 1 FJST}
- {1705759200 43200 0 FJT}
- {1729346400 46800 1 FJST}
- {1737208800 43200 0 FJT}
- {1760796000 46800 1 FJST}
- {1768658400 43200 0 FJT}
- {1792245600 46800 1 FJST}
- {1800712800 43200 0 FJT}
- {1824300000 46800 1 FJST}
- {1832162400 43200 0 FJT}
- {1855749600 46800 1 FJST}
- {1863612000 43200 0 FJT}
- {1887199200 46800 1 FJST}
- {1895061600 43200 0 FJT}
- {1918648800 46800 1 FJST}
- {1926511200 43200 0 FJT}
- {1950098400 46800 1 FJST}
- {1957960800 43200 0 FJT}
- {1982152800 46800 1 FJST}
- {1990015200 43200 0 FJT}
- {2013602400 46800 1 FJST}
- {2021464800 43200 0 FJT}
- {2045052000 46800 1 FJST}
- {2052914400 43200 0 FJT}
- {2076501600 46800 1 FJST}
- {2084364000 43200 0 FJT}
- {2107951200 46800 1 FJST}
- {2115813600 43200 0 FJT}
- {2139400800 46800 1 FJST}
- {2147868000 43200 0 FJT}
- {2171455200 46800 1 FJST}
- {2179317600 43200 0 FJT}
- {2202904800 46800 1 FJST}
- {2210767200 43200 0 FJT}
- {2234354400 46800 1 FJST}
- {2242216800 43200 0 FJT}
- {2265804000 46800 1 FJST}
- {2273666400 43200 0 FJT}
- {2297253600 46800 1 FJST}
- {2305116000 43200 0 FJT}
- {2328703200 46800 1 FJST}
- {2337170400 43200 0 FJT}
- {2360757600 46800 1 FJST}
- {2368620000 43200 0 FJT}
- {2392207200 46800 1 FJST}
- {2400069600 43200 0 FJT}
- {2423656800 46800 1 FJST}
- {2431519200 43200 0 FJT}
- {2455106400 46800 1 FJST}
- {2462968800 43200 0 FJT}
- {2486556000 46800 1 FJST}
- {2495023200 43200 0 FJT}
- {2518610400 46800 1 FJST}
- {2526472800 43200 0 FJT}
- {2550060000 46800 1 FJST}
- {2557922400 43200 0 FJT}
- {2581509600 46800 1 FJST}
- {2589372000 43200 0 FJT}
- {2612959200 46800 1 FJST}
- {2620821600 43200 0 FJT}
- {2644408800 46800 1 FJST}
- {2652271200 43200 0 FJT}
- {2675858400 46800 1 FJST}
- {2684325600 43200 0 FJT}
- {2707912800 46800 1 FJST}
- {2715775200 43200 0 FJT}
- {2739362400 46800 1 FJST}
- {2747224800 43200 0 FJT}
- {2770812000 46800 1 FJST}
- {2778674400 43200 0 FJT}
- {2802261600 46800 1 FJST}
- {2810124000 43200 0 FJT}
- {2833711200 46800 1 FJST}
- {2841573600 43200 0 FJT}
- {2865765600 46800 1 FJST}
- {2873628000 43200 0 FJT}
- {2897215200 46800 1 FJST}
- {2905077600 43200 0 FJT}
- {2928664800 46800 1 FJST}
- {2936527200 43200 0 FJT}
- {2960114400 46800 1 FJST}
- {2967976800 43200 0 FJT}
- {2991564000 46800 1 FJST}
- {2999426400 43200 0 FJT}
- {3023013600 46800 1 FJST}
- {3031480800 43200 0 FJT}
- {3055068000 46800 1 FJST}
- {3062930400 43200 0 FJT}
- {3086517600 46800 1 FJST}
- {3094380000 43200 0 FJT}
- {3117967200 46800 1 FJST}
- {3125829600 43200 0 FJT}
- {3149416800 46800 1 FJST}
- {3157279200 43200 0 FJT}
- {3180866400 46800 1 FJST}
- {3188728800 43200 0 FJT}
- {3212316000 46800 1 FJST}
- {3220783200 43200 0 FJT}
- {3244370400 46800 1 FJST}
- {3252232800 43200 0 FJT}
- {3275820000 46800 1 FJST}
- {3283682400 43200 0 FJT}
- {3307269600 46800 1 FJST}
- {3315132000 43200 0 FJT}
- {3338719200 46800 1 FJST}
- {3346581600 43200 0 FJT}
- {3370168800 46800 1 FJST}
- {3378636000 43200 0 FJT}
- {3402223200 46800 1 FJST}
- {3410085600 43200 0 FJT}
- {3433672800 46800 1 FJST}
- {3441535200 43200 0 FJT}
- {3465122400 46800 1 FJST}
- {3472984800 43200 0 FJT}
- {3496572000 46800 1 FJST}
- {3504434400 43200 0 FJT}
- {3528021600 46800 1 FJST}
- {3535884000 43200 0 FJT}
- {3559471200 46800 1 FJST}
- {3567938400 43200 0 FJT}
- {3591525600 46800 1 FJST}
- {3599388000 43200 0 FJT}
- {3622975200 46800 1 FJST}
- {3630837600 43200 0 FJT}
- {3654424800 46800 1 FJST}
- {3662287200 43200 0 FJT}
- {3685874400 46800 1 FJST}
- {3693736800 43200 0 FJT}
- {3717324000 46800 1 FJST}
- {3725186400 43200 0 FJT}
- {3749378400 46800 1 FJST}
- {3757240800 43200 0 FJT}
- {3780828000 46800 1 FJST}
- {3788690400 43200 0 FJT}
- {3812277600 46800 1 FJST}
- {3820140000 43200 0 FJT}
- {3843727200 46800 1 FJST}
- {3851589600 43200 0 FJT}
- {3875176800 46800 1 FJST}
- {3883039200 43200 0 FJT}
- {3906626400 46800 1 FJST}
- {3915093600 43200 0 FJT}
- {3938680800 46800 1 FJST}
- {3946543200 43200 0 FJT}
- {3970130400 46800 1 FJST}
- {3977992800 43200 0 FJT}
- {4001580000 46800 1 FJST}
- {4009442400 43200 0 FJT}
- {4033029600 46800 1 FJST}
- {4040892000 43200 0 FJT}
- {4064479200 46800 1 FJST}
- {4072341600 43200 0 FJT}
- {4095928800 46800 1 FJST}
}
diff --git a/library/tzdata/Pacific/Honolulu b/library/tzdata/Pacific/Honolulu
index 5e70598..f441a02 100644
--- a/library/tzdata/Pacific/Honolulu
+++ b/library/tzdata/Pacific/Honolulu
@@ -2,10 +2,11 @@
set TZData(:Pacific/Honolulu) {
{-9223372036854775808 -37886 0 LMT}
- {-2334101314 -37800 0 HST}
+ {-2208907714 -37800 0 HST}
{-1157283000 -34200 1 HDT}
- {-1155436200 -37800 0 HST}
- {-880198200 -34200 1 HDT}
+ {-1155472200 -34200 0 HST}
+ {-880201800 -34200 1 HWT}
+ {-769395600 -34200 1 HPT}
{-765376200 -37800 0 HST}
{-712150200 -36000 0 HST}
}
diff --git a/library/tzdata/Pacific/Pohnpei b/library/tzdata/Pacific/Pohnpei
deleted file mode 100644
index 58978da..0000000
--- a/library/tzdata/Pacific/Pohnpei
+++ /dev/null
@@ -1,6 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Pacific/Pohnpei) {
- {-9223372036854775808 37972 0 LMT}
- {-2177490772 39600 0 PONT}
-}
diff --git a/library/tzdata/Pacific/Ponape b/library/tzdata/Pacific/Ponape
index 89644f7..092b0a9 100644
--- a/library/tzdata/Pacific/Ponape
+++ b/library/tzdata/Pacific/Ponape
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Pohnpei)]} {
- LoadTimeZoneFile Pacific/Pohnpei
+
+set TZData(:Pacific/Ponape) {
+ {-9223372036854775808 37972 0 LMT}
+ {-2177490772 39600 0 PONT}
}
-set TZData(:Pacific/Ponape) $TZData(:Pacific/Pohnpei)
diff --git a/library/tzdata/Pacific/Truk b/library/tzdata/Pacific/Truk
index c9b1894..c152198 100644
--- a/library/tzdata/Pacific/Truk
+++ b/library/tzdata/Pacific/Truk
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Chuuk)]} {
- LoadTimeZoneFile Pacific/Chuuk
+
+set TZData(:Pacific/Truk) {
+ {-9223372036854775808 36428 0 LMT}
+ {-2177489228 36000 0 TRUT}
}
-set TZData(:Pacific/Truk) $TZData(:Pacific/Chuuk)
diff --git a/library/tzdata/Pacific/Yap b/library/tzdata/Pacific/Yap
index 4931030..a97a195 100644
--- a/library/tzdata/Pacific/Yap
+++ b/library/tzdata/Pacific/Yap
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Chuuk)]} {
- LoadTimeZoneFile Pacific/Chuuk
+if {![info exists TZData(Pacific/Truk)]} {
+ LoadTimeZoneFile Pacific/Truk
}
-set TZData(:Pacific/Yap) $TZData(:Pacific/Chuuk)
+set TZData(:Pacific/Yap) $TZData(:Pacific/Truk)
diff --git a/library/word.tcl b/library/word.tcl
index b8f34a5..b8f7f7d 100644
--- a/library/word.tcl
+++ b/library/word.tcl
@@ -7,8 +7,10 @@
# Copyright (c) 1996 by Sun Microsystems, Inc.
# Copyright (c) 1998 by Scritpics Corporation.
#
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+# See the file "license.terms" for information on usage and redistribution of
+# this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# RCS: @(#) $Id: word.tcl,v 1.10 2007/12/13 15:26:03 dgp Exp $
# The following variables are used to determine which characters are
# interpreted as white space.
@@ -67,7 +69,7 @@ namespace eval ::tcl {
proc tcl_wordBreakAfter {str start} {
variable ::tcl::WordBreakRE
set result {-1 -1}
- regexp -indices -start $start -- $WordBreakRE(after) $str result
+ regexp -indices -start $start $WordBreakRE(after) $str result
return [lindex $result 1]
}
@@ -85,7 +87,7 @@ proc tcl_wordBreakAfter {str start} {
proc tcl_wordBreakBefore {str start} {
variable ::tcl::WordBreakRE
set result {-1 -1}
- regexp -indices -- $WordBreakRE(before) [string range $str 0 $start] result
+ regexp -indices $WordBreakRE(before) [string range $str 0 $start] result
return [lindex $result 1]
}
@@ -104,7 +106,7 @@ proc tcl_wordBreakBefore {str start} {
proc tcl_endOfWord {str start} {
variable ::tcl::WordBreakRE
set result {-1 -1}
- regexp -indices -start $start -- $WordBreakRE(end) $str result
+ regexp -indices -start $start $WordBreakRE(end) $str result
return [lindex $result 1]
}
@@ -122,7 +124,7 @@ proc tcl_endOfWord {str start} {
proc tcl_startOfNextWord {str start} {
variable ::tcl::WordBreakRE
set result {-1 -1}
- regexp -indices -start $start -- $WordBreakRE(next) $str result
+ regexp -indices -start $start $WordBreakRE(next) $str result
return [lindex $result 1]
}
@@ -138,7 +140,7 @@ proc tcl_startOfNextWord {str start} {
proc tcl_startOfPreviousWord {str start} {
variable ::tcl::WordBreakRE
set word {-1 -1}
- regexp -indices -- $WordBreakRE(previous) [string range $str 0 $start-1] \
+ regexp -indices $WordBreakRE(previous) [string range $str 0 $start-1] \
result word
return [lindex $word 0]
}