aboutsummaryrefslogtreecommitdiff
path: root/website/static/security/patches/EN-22:14/tzdata-2022a.patch
diff options
context:
space:
mode:
Diffstat (limited to 'website/static/security/patches/EN-22:14/tzdata-2022a.patch')
-rw-r--r--website/static/security/patches/EN-22:14/tzdata-2022a.patch3142
1 files changed, 3142 insertions, 0 deletions
diff --git a/website/static/security/patches/EN-22:14/tzdata-2022a.patch b/website/static/security/patches/EN-22:14/tzdata-2022a.patch
new file mode 100644
index 0000000000..b7a6f868e7
--- /dev/null
+++ b/website/static/security/patches/EN-22:14/tzdata-2022a.patch
@@ -0,0 +1,3142 @@
+--- contrib/tzdata/CONTRIBUTING.orig
++++ contrib/tzdata/CONTRIBUTING
+@@ -1,50 +1,58 @@
+-Contributing to the tz code and data
++# Contributing to the tz code and data
++
++Please do not create issues or pull requests on GitHub, as the
++proper procedure for proposing and distributing patches is via
++email as described below.
+
+ The time zone database is by no means authoritative: governments
+ change timekeeping rules erratically and sometimes with little
+ warning, the data entries do not cover all of civil time before
+ 1970, and undoubtedly errors remain in the code and data. Feel
+ free to fill gaps or fix mistakes, and please email improvements
+-to tz@iana.org for use in the future. In your email, please give
++to <tz@iana.org> for use in the future. In your email, please give
+ reliable sources that reviewers can check.
+
+------
+-
+-Developers can contribute technical changes to the source code and
+-data as follows.
++## Contributing technical changes
+
+ To email small changes, please run a POSIX shell command like
+ 'diff -u old/europe new/europe >myfix.patch', and attach
+-myfix.patch to the email.
++'myfix.patch' to the email.
+
+ For more-elaborate or possibly-controversial changes,
+ such as renaming, adding or removing zones, please read
+-<https://www.iana.org/time-zones/repository/theory.html> or the file
+-theory.html. It is also good to browse the mailing list archives
++"Theory and pragmatics of the tz code and data"
++<https://www.iana.org/time-zones/repository/theory.html>.
++It is also good to browse the mailing list archives
+ <https://mm.icann.org/pipermail/tz/> for examples of patches that tend
+ to work well. Additions to data should contain commentary citing
+-reliable sources as justification. Citations should use https: URLs
++reliable sources as justification. Citations should use "https:" URLs
+ if available.
+
+-Please submit changes against either the latest release in
+-<https://www.iana.org/time-zones> or the master branch of the development
+-repository. The latter is preferred. If you use Git the following
+-workflow may be helpful:
++For changes that fix sensitive security-related bugs, please see the
++distribution's 'SECURITY' file.
++
++Please submit changes against either the latest release
++<https://www.iana.org/time-zones> or the main branch of the development
++repository. The latter is preferred.
++
++## Sample Git workflow for developing contributions
++
++If you use Git the following workflow may be helpful:
+
+ * Copy the development repository.
+
+- git clone https://github.com/eggert/tz.git
+- cd tz
++ git clone https://github.com/eggert/tz.git
++ cd tz
+
+- * Get current with the master branch.
++ * Get current with the main branch.
+
+- git checkout master
+- git pull
++ git checkout main
++ git pull
+
+ * Switch to a new branch for the changes. Choose a different
+ branch name for each change set.
+
+- git checkout -b mybranch
++ git checkout -b mybranch
+
+ * Sleuth by using 'git blame'. For example, when fixing data for
+ Africa/Sao_Tome, if the command 'git blame africa' outputs a line
+@@ -57,36 +65,33 @@
+
+ * Debug the changes, e.g.:
+
+- make check
+- make install
+- ./zdump -v America/Los_Angeles
++ make check
++ make install
++ ./zdump -v America/Los_Angeles
+
+ * For each separable change, commit it in the new branch, e.g.:
+
+- git add northamerica
+- git commit
++ git add northamerica
++ git commit
+
+ See recent 'git log' output for the commit-message style.
+
+- * Create patch files 0001-*, 0002-*, ...
++ * Create patch files 0001-..., 0002-..., ...
+
+- git format-patch master
++ git format-patch main
+
+- * After reviewing the patch files, send the patches to tz@iana.org
++ * After reviewing the patch files, send the patches to <tz@iana.org>
+ for others to review.
+
+- git send-email master
++ git send-email main
+
+ For an archived example of such an email, see
++ "[PROPOSED] Fix off-by-1 error for Jamaica and T&C before 1913"
+ <https://mm.icann.org/pipermail/tz/2018-February/026122.html>.
+
+- * Start anew by getting current with the master branch again
++ * Start anew by getting current with the main branch again
+ (the second step above).
+
+-Please do not create issues or pull requests on GitHub, as the
+-proper procedure for proposing and distributing patches is via
+-email as illustrated above.
+-
+ -----
+
+ This file is in the public domain.
+--- contrib/tzdata/Makefile.orig
++++ contrib/tzdata/Makefile
+@@ -45,9 +45,9 @@
+ #
+ # Any other value for POSIXRULES is obsolete and should not be relied on, as:
+ # * It does not work correctly in popular implementations such as GNU/Linux.
+-# * It does not work in the tzdb implementation for timestamps after 2037.
+-# * It is incompatible with 'zic -b slim' if POSIXRULES specifies transitions
+-# at standard time or UT rather than at local time.
++# * It does not work even in tzcode, except for historical timestamps
++# that precede the last explicit transition in the POSIXRULES file.
++# Hence it typically does not work for current and future timestamps.
+ # In short, software should avoid ruleless settings like TZ='EET-2EEST'
+ # and so should not depend on the value of POSIXRULES.
+ #
+@@ -122,8 +122,8 @@
+
+ # Types to try, as an alternative to time_t.
+ TIME_T_ALTERNATIVES = $(TIME_T_ALTERNATIVES_HEAD) $(TIME_T_ALTERNATIVES_TAIL)
+-TIME_T_ALTERNATIVES_HEAD = int64_t
+-TIME_T_ALTERNATIVES_TAIL = int32_t uint32_t uint64_t
++TIME_T_ALTERNATIVES_HEAD = int_least64_t
++TIME_T_ALTERNATIVES_TAIL = int_least32_t uint_least32_t uint_least64_t
+
+ # What kind of TZif data files to generate. (TZif is the binary time
+ # zone data format that zic generates; see Internet RFC 8536.)
+@@ -152,8 +152,10 @@
+ # The EXPIRES_LINE value matters only if REDO's value contains "right".
+ # If you change EXPIRES_LINE, remove the leapseconds file before running "make".
+ # zic's support for the Expires line was introduced in tzdb 2020a,
+-# and EXPIRES_LINE defaults to 0 for now so that the leapseconds file
+-# can be given to older zic implementations.
++# and was modified in tzdb 2021b to generate version 4 TZif files.
++# EXPIRES_LINE defaults to 0 for now so that the leapseconds file
++# can be given to pre-2020a zic implementations and so that TZif files
++# built by newer zic implementations can be read by pre-2021b libraries.
+ EXPIRES_LINE= 0
+
+ # To install data in text form that has all the information of the TZif data,
+@@ -210,6 +212,7 @@
+ # -DHAVE_LOCALTIME_R=0 if your system lacks a localtime_r function
+ # -DHAVE_LOCALTIME_RZ=0 if you do not want zdump to use localtime_rz
+ # localtime_rz can make zdump significantly faster, but is nonstandard.
++# -DHAVE_MALLOC_ERRNO=0 if malloc etc. do not set errno on failure.
+ # -DHAVE_POSIX_DECLS=0 if your system's include files do not declare
+ # functions like 'link' or variables like 'tzname' required by POSIX
+ # -DHAVE_SNPRINTF=0 if your system lacks the snprintf function
+@@ -220,7 +223,6 @@
+ # -DHAVE_STRTOLL=0 if your system lacks the strtoll function
+ # -DHAVE_SYMLINK=0 if your system lacks the symlink function
+ # -DHAVE_SYS_STAT_H=0 if your compiler lacks a <sys/stat.h>
+-# -DHAVE_SYS_WAIT_H=0 if your compiler lacks a <sys/wait.h>
+ # -DHAVE_TZSET=0 if your system lacks a tzset function
+ # -DHAVE_UNISTD_H=0 if your compiler lacks a <unistd.h>
+ # -Dlocale_t=XXX if your system uses XXX instead of locale_t
+@@ -257,22 +259,26 @@
+ GCC_INSTRUMENT = \
+ -fsanitize=undefined -fsanitize-address-use-after-scope \
+ -fsanitize-undefined-trap-on-error -fstack-protector
++# Omit -fanalyzer from GCC_DEBUG_FLAGS, as it makes GCC too slow.
+ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
+ $(GCC_INSTRUMENT) \
+ -Wall -Wextra \
+ -Walloc-size-larger-than=100000 -Warray-bounds=2 \
+ -Wbad-function-cast -Wcast-align=strict -Wdate-time \
+ -Wdeclaration-after-statement -Wdouble-promotion \
++ -Wduplicated-branches -Wduplicated-cond \
+ -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \
+- -Winit-self -Wjump-misses-init -Wlogical-op \
++ -Winit-self -Wlogical-op \
+ -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \
++ -Wnull-dereference \
+ -Wold-style-definition -Woverlength-strings -Wpointer-arith \
+- -Wshadow -Wshift-overflow=2 -Wstrict-prototypes -Wstringop-overflow=4 \
++ -Wshadow -Wshift-overflow=2 -Wstrict-overflow \
++ -Wstrict-prototypes -Wstringop-overflow=4 \
+ -Wstringop-truncation -Wsuggest-attribute=cold \
+ -Wsuggest-attribute=const -Wsuggest-attribute=format \
+ -Wsuggest-attribute=malloc \
+ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \
+- -Wtrampolines -Wundef -Wuninitialized -Wunused \
++ -Wtrampolines -Wundef -Wuninitialized -Wunused-macros \
+ -Wvariadic-macros -Wvla -Wwrite-strings \
+ -Wno-address -Wno-format-nonliteral -Wno-sign-compare \
+ -Wno-type-limits -Wno-unused-parameter
+@@ -393,9 +399,10 @@
+ ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' $(LEAPSECONDS)
+
+ # The name of a Posix-compliant 'awk' on your system.
+-# Older 'mawk' versions, such as the 'mawk' in Ubuntu 16.04, might dump core;
+-# on Ubuntu you can work around this with
+-# AWK= gawk
++# mawk 1.3.3 and Solaris 10 /usr/bin/awk do not work.
++# Also, it is better (though not essential) if 'awk' supports UTF-8,
++# and unfortunately mawk and busybox awk do not support UTF-8.
++# Try AWK=gawk or AWK=nawk if your awk has the abovementioned problems.
+ AWK= awk
+
+ # The full path name of a Posix-compliant shell, preferably one that supports
+@@ -460,7 +467,9 @@
+
+ # Flags to give 'tar' when making a distribution.
+ # Try to use flags appropriate for GNU tar.
+-GNUTARFLAGS= --numeric-owner --owner=0 --group=0 --mode=go+u,go-w --sort=name
++GNUTARFLAGS= --format=pax --pax-option='delete=atime,delete=ctime' \
++ --numeric-owner --owner=0 --group=0 \
++ --mode=go+u,go-w --sort=name
+ TARFLAGS= `if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; \
+ then echo $(GNUTARFLAGS); \
+ else :; \
+@@ -498,7 +507,7 @@
+ tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \
+ date.1.txt
+ COMMON= calendars CONTRIBUTING LICENSE Makefile \
+- NEWS README theory.html version
++ NEWS README SECURITY theory.html version
+ WEB_PAGES= tz-art.html tz-how-to.html tz-link.html
+ CHECK_WEB_PAGES=check_theory.html check_tz-art.html \
+ check_tz-how-to.html check_tz-link.html
+@@ -523,7 +532,7 @@
+ TZS_CUTOFF_FLAG= -c $(TZS_YEAR)
+ TZS= to$(TZS_YEAR).tzs
+ TZS_NEW= to$(TZS_YEAR)new.tzs
+-TZS_DEPS= $(PRIMARY_YDATA) asctime.c localtime.c \
++TZS_DEPS= $(YDATA) asctime.c localtime.c \
+ private.h tzfile.h zdump.c zic.c
+ # EIGHT_YARDS is just a yard short of the whole ENCHILADA.
+ EIGHT_YARDS = $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) tzdata.zi
+@@ -533,7 +542,7 @@
+ # This list is not the same as the output of 'git ls-files', since
+ # .gitignore is not distributed.
+ VERSION_DEPS= \
+- calendars CONTRIBUTING LICENSE Makefile NEWS README \
++ calendars CONTRIBUTING LICENSE Makefile NEWS README SECURITY \
+ africa antarctica asctime.c asia australasia \
+ backward backzone \
+ checklinks.awk checktab.awk \
+@@ -736,7 +745,7 @@
+ tzselect: tzselect.ksh version
+ VERSION=`cat version` && sed \
+ -e 's|#!/bin/bash|#!$(KSHELL)|g' \
+- -e 's|AWK=[^}]*|AWK=$(AWK)|g' \
++ -e 's|AWK=[^}]*|AWK='\''$(AWK)'\''|g' \
+ -e 's|\(PKGVERSION\)=.*|\1='\''($(PACKAGE)) '\''|' \
+ -e 's|\(REPORT_BUGS_TO\)=.*|\1=$(BUGEMAIL)|' \
+ -e 's|TZDIR=[^}]*|TZDIR=$(TZDIR)|' \
+@@ -757,7 +766,7 @@
+ sharp='#' && \
+ ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \
+ $(MISC) $(SOURCES) $(WEB_PAGES) \
+- CONTRIBUTING LICENSE README \
++ CONTRIBUTING LICENSE README SECURITY \
+ version tzdata.zi && \
+ ! grep -Env $(SAFE_LINE)'|^UNUSUAL_OK_'$(OK_CHAR)'*$$' \
+ Makefile && \
+@@ -796,9 +805,10 @@
+ $(AWK) -f checklinks.awk tzdata.zi
+ touch $@
+
+-check_tables: checktab.awk $(PRIMARY_YDATA) $(ZONETABLES)
++check_tables: checktab.awk $(YDATA) backward $(ZONETABLES)
+ for tab in $(ZONETABLES); do \
+- $(AWK) -f checktab.awk -v zone_table=$$tab $(PRIMARY_YDATA) \
++ test "$$tab" = zone.tab && links='$(BACKWARD)' || links=''; \
++ $(AWK) -f checktab.awk -v zone_table=$$tab $(YDATA) $$links \
+ || exit; \
+ done
+ touch $@
+@@ -952,6 +962,12 @@
+ public.dir/zic -v -d public.dir/zoneinfo $$i 2>&1 || exit; \
+ done
+ public.dir/zic -v -d public.dir/zoneinfo-all $(TDATA_TO_CHECK)
++ :
++ : Also check 'backzone' syntax.
++ rm public.dir/main.zi
++ cd public.dir && $(MAKE) PACKRATDATA=backzone main.zi
++ public.dir/zic -d public.dir/zoneinfo main.zi
++ :
+ rm -fr public.dir
+ touch $@
+
+@@ -964,7 +980,7 @@
+ mkdir $@.dir
+ ln $(VERSION_DEPS) $@.dir
+ case $@ in \
+- int32_t) range=-2147483648,2147483648;; \
++ int*32_t) range=-2147483648,2147483648;; \
+ u*) range=0,4294967296;; \
+ *) range=-4294967296,4294967296;; \
+ esac && \
+--- contrib/tzdata/NEWS.orig
++++ contrib/tzdata/NEWS
+@@ -1,5 +1,351 @@
+ News for the tz database
+
++Release 2022a - 2022-03-15 23:02:01 -0700
++
++ Briefly:
++ Palestine will spring forward on 2022-03-27, not -03-26.
++ zdump -v now outputs better failure indications.
++ Bug fixes for code that reads corrupted TZif data.
++
++ Changes to future timestamps
++
++ Palestine will spring forward on 2022-03-27, not 2022-03-26.
++ (Thanks to Heba Hamad.) Predict future transitions for first
++ Sunday >= March 25. Additionally, predict fallbacks to be the first
++ Friday on or after October 23, not October's last Friday, to be more
++ consistent with recent practice. The first differing fallback
++ prediction is on 2025-10-24, not 2025-10-31.
++
++ Changes to past timestamps
++
++ From 1992 through spring 1996, Ukraine's DST transitions were at
++ 02:00 standard time, not at 01:00 UTC. (Thanks to Alois Treindl.)
++
++ Chile's Santiago Mean Time and its LMT precursor have been adjusted
++ eastward by 1 second to align with past and present law.
++
++ Changes to commentary
++
++ Add several references for Chile's 1946/1947 transitions, some of
++ which only affected portions of the country.
++
++ Changes to code
++
++ Fix bug when mktime gets confused by truncated TZif files with
++ unspecified local time. (Problem reported by Almaz Mingaleev.)
++
++ Fix bug when 32-bit time_t code reads malformed 64-bit TZif data.
++ (Problem reported by Christos Zoulas.)
++
++ When reading a version 2 or later TZif file, the TZif reader now
++ validates the version 1 header and data block only enough to skip
++ over them, as recommended by RFC 8536 section 4. Also, the TZif
++ reader no longer mistakenly attempts to parse a version 1 TZIf
++ file header as a TZ string.
++
++ zdump -v now outputs "(localtime failed)" and "(gmtime failed)"
++ when local time and UT cannot be determined for a timestamp.
++
++ Changes to build procedure
++
++ Distribution tarballs now use standard POSIX.1-1988 ustar format
++ instead of GNU format. Although the formats are almost identical
++ for these tarballs, ustar headers' magic fields contain "ustar"
++ instead of "ustar ", and their version fields contain "00" instead
++ of " ". The two formats are planned to diverge more significantly
++ for tzdb releases after 2242-03-16 12:56:31 UTC, when the ustar
++ format becomes obsolete and the tarballs switch to pax format, an
++ extension of ustar. For details about these formats, please see
++ "pax - portable archive interchange", IEEE Std 1003.1-2017,
++ <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html#tag_20_92_13>.
++
++
++Release 2021e - 2021-10-21 18:41:00 -0700
++
++ Changes to future timestamps
++
++ Palestine will fall back 10-29 (not 10-30) at 01:00.
++ (Thanks to P Chan and Heba Hemad.)
++
++
++Release 2021d - 2021-10-15 13:48:18 -0700
++
++ Briefly:
++ Fiji suspends DST for the 2021/2022 season.
++ 'zic -r' marks unspecified timestamps with "-00".
++
++ Changes to future timestamps
++
++ Fiji will suspend observance of DST for the 2021/2022 season.
++ Assume for now that it will return next year. (Thanks to Jashneel
++ Kumar and P Chan.)
++
++ Changes to code
++
++ 'zic -r' now uses "-00" time zone abbreviations for intervals
++ with UT offsets that are unspecified due to -r truncation.
++ This implements a change in draft Internet RFC 8536bis.
++
++
++Release 2021c - 2021-10-01 14:21:49 -0700
++
++ Briefly:
++ Revert most 2021b changes to 'backward'.
++ Fix 'zic -b fat' bug in pre-1970 32-bit data.
++ Fix two Link line typos.
++ Distribute SECURITY file.
++
++ This release is intended as a bugfix release, to fix compatibility
++ problems and typos reported since 2021b was released.
++
++ Changes to Link directives
++
++ Revert almost all of 2021b's changes to the 'backward' file,
++ by moving Link directives back to where they were in 2021a.
++ Although 'zic' doesn't care which source file contains a Link
++ directive, some downstream uses ran into trouble with the move.
++ (Problem reported by Stephen Colebourne for Joda-Time.)
++
++ Fix typo that linked Atlantic/Jan_Mayen to the wrong location
++ (problem reported by Chris Walton).
++
++ Fix 'backzone' typo that linked America/Virgin to the wrong
++ location (problem reported by Michael Deckers).
++
++ Changes to code
++
++ Fix a bug in 'zic -b fat' that caused old timestamps to be
++ mishandled in 32-bit-only readers (problem reported by Daniel
++ Fischer).
++
++ Changes to documentation
++
++ Distribute the SECURITY file (problem reported by Andreas Radke).
++
++
++Release 2021b - 2021-09-24 16:23:00 -0700
++
++ Briefly:
++ Jordan now starts DST on February's last Thursday.
++ Samoa no longer observes DST.
++ Merge more location-based Zones whose timestamps agree since 1970.
++ Move some backward-compatibility links to 'backward'.
++ Rename Pacific/Enderbury to Pacific/Kanton.
++ Correct many pre-1993 transitions in Malawi, Portugal, etc.
++ zic now creates each output file or link atomically.
++ zic -L no longer omits the POSIX TZ string in its output.
++ zic fixes for truncation and leap second table expiration.
++ zic now follows POSIX for TZ strings using all-year DST.
++ Fix some localtime crashes and bugs in obscure cases.
++ zdump -v now outputs more-useful boundary cases.
++ tzfile.5 better matches a draft successor to RFC 8536.
++ A new file SECURITY.
++
++ This release is prompted by recent announcements by Jordan and Samoa.
++ It incorporates many other changes that had accumulated since 2021a.
++ However, it omits most proposed changes that merged all Zones
++ agreeing since 1970, as concerns were raised about doing too many of
++ these changes at once. It does keeps some of these changes in the
++ interest of making tzdb more equitable one step at a time; see
++ "Merge more location-based Zones" below.
++
++ Changes to future timestamps
++
++ Jordan now starts DST on February's last Thursday.
++ (Thanks to Steffen Thorsen.)
++
++ Samoa no longer observes DST. (Thanks to Geoffrey D. Bennett.)
++
++ Changes to zone name
++
++ Rename Pacific/Enderbury to Pacific/Kanton. When we added
++ Enderbury in 1993, we did not know that it is uninhabited and that
++ Kanton (population two dozen) is the only inhabited location in
++ that timezone. The old name is now a backward-compatility link.
++
++ Changes to past timestamps
++
++ Correct many pre-1993 transitions, fixing entries originally
++ derived from Shanks, Whitman, and Mundell. The fixes include:
++ - Barbados: standard time was introduced in 1911, not 1932; and
++ DST was observed in 1942-1944
++ - Cook Islands: In 1899 they switched from east to west of GMT,
++ celebrating Christmas for two days. They (and Niue) switched
++ to standard time in 1952, not 1901.
++ - Guyana: corrected LMT for Georgetown; the introduction of
++ standard time in 1911, not 1915; and corrections to 1975 and
++ 1992 transitions
++ - Kanton: uninhabited before 1937-08-31
++ - Niue: only observed -11:20 from 1952 through 1964, then went to
++ -11 instead of -11:30
++ - Portugal: DST was observed in 1950
++ - Tonga: corrected LMT; the introduction of standard time in 1945,
++ not 1901; and corrections to the transition from +12:20 to +13
++ in 1961, not 1941
++ Additional fixes to entries in the 'backzone' file include:
++ - Enderbury: inhabited only 1860/1885 and 1938-03-06/1942-02-09
++ - The Gambia: 1933 and 1942 transitions
++ - Malawi: several 1911 through 1925 transitions
++ - Sierra Leone: several 1913 through 1941 transitions, and DST
++ was NOT observed in 1957 through 1962
++ (Thanks to P Chan, Michael Deckers, Alexander Krivenyshev and
++ Alois Treindl.)
++
++ Merge more location-based Zones whose timestamps agree since 1970,
++ as pre-1970 timestamps are out of scope. This is part of a
++ process that has been ongoing since 2013. This does not affect
++ post-1970 timestamps, and timezone historians who build with 'make
++ PACKRATDATA=backzone' should see no changes to pre-1970 timestamps.
++ When merging, keep the most-populous location's data, and move
++ data for other locations to 'backzone' with a backward
++ link in 'backward'. For example, move America/Creston data to
++ 'backzone' with a link in 'backward' from America/Phoenix because
++ the two timezones' timestamps agree since 1970; this change
++ affects some pre-1968 timestamps in America/Creston because
++ Creston and Phoenix disagreed before 1968. The affected Zones
++ are Africa/Accra, America/Atikokan, America/Blanc-Sablon,
++ America/Creston, America/Curacao, America/Nassau,
++ America/Port_of_Spain, Antarctica/DumontDUrville, and
++ Antarctica/Syowa.
++
++ Changes to maintenance procedure
++
++ The new file SECURITY covers how to report security-related bugs.
++
++ Several backward-compatibility links have been moved to the
++ 'backward' file. These links, which range from Africa/Addis_Ababa
++ to Pacific/Saipan, are only for compatibility with now-obsolete
++ guidelines suggesting an entry for every ISO 3166 code.
++ The intercontinental convenience links Asia/Istanbul and
++ Europe/Nicosia have also been moved to 'backward'.
++
++ Changes to code
++
++ zic now creates each output file or link atomically,
++ possibly by creating a temporary file and then renaming it.
++ This avoids races where a TZ setting would temporarily stop
++ working while zic was installing a replacement file or link.
++
++ zic -L no longer omits the POSIX TZ string in its output.
++ Starting with 2020a, zic -L truncated its output according to the
++ "Expires" directive or "#expires" comment in the leapseconds file.
++ The resulting TZif files omitted daylight saving transitions after
++ the leap second table expired, which led to far less-accurate
++ predictions of times after the expiry. Although future timestamps
++ cannot be converted accurately in the presence of leap seconds, it
++ is more accurate to convert near-future timestamps with a few
++ seconds error than with an hour error, so zic -L no longer
++ truncates output in this way.
++
++ Instead, when zic -L is given the "Expires" directive, it now
++ outputs the expiration by appending a no-change entry to the leap
++ second table. Although this should work well with most TZif
++ readers, it does not conform to Internet RFC 8536 and some pickier
++ clients (including tzdb 2017c through 2021a) reject it, so
++ "Expires" directives are currently disabled by default. To enable
++ them, set the EXPIRES_LINE Makefile variable. If a TZif file uses
++ this new feature it is marked with a new TZif version number 4,
++ a format intended to be documented in a successor to RFC 8536.
++
++ zic -L LEAPFILE -r @LO no longer generates an invalid TZif file
++ that omits leap second information for the range LO..B when LO
++ falls between two leap seconds A and B. Instead, it generates a
++ TZif version 4 file that represents the previously-missing
++ information.
++
++ The TZif reader now allows the leap second table to begin with a
++ correction other than -1 or +1, and to contain adjacent
++ transitions with equal corrections. This supports TZif version 4.
++
++ The TZif reader now lets leap seconds occur less than 28 days
++ apart. This supports possible future TZif extensions.
++
++ Fix bug that caused 'localtime' etc. to crash when TZ was
++ set to a all-year DST string like "EST5EDT4,0/0,J365/25" that does
++ not conform to POSIX but does conform to Internet RFC 8536.
++
++ Fix another bug that caused 'localtime' etc. to crash when TZ was
++ set to a POSIX-conforming but unusual TZ string like
++ "EST5EDT4,0/0,J365/0", where almost all the year is DST.
++
++ Fix yet another bug that caused 'localtime' etc. to mishandle slim
++ TZif files containing leap seconds after the last explicit
++ transition in the table, or when handling far-future timestamps
++ in slim TZif files lacking leap seconds.
++
++ Fix localtime misbehavior involving positive leap seconds.
++ This change affects only behavior for "right" system time,
++ which contains leap seconds, and only if the UT offset is
++ not a multiple of 60 seconds when a positive leap second occurs.
++ (No such timezone exists in tzdb, luckily.) Without the fix,
++ the timestamp was ambiguous during a positive leap second.
++ With the fix, any seconds occurring after a positive leap second
++ and within the same localtime minute are counted through 60, not
++ through 59; their UT offset (tm_gmtoff) is the same as before.
++ Here is how the fix affects timestamps in a timezone with UT
++ offset +01:23:45 (5025 seconds) and with a positive leap second at
++ 1972-06-30 23:59:60 UTC (78796800):
++
++ time_t without the fix with the fix
++ 78796800 1972-07-01 01:23:45 1972-07-01 01:23:45 (leap second)
++ 78796801 1972-07-01 01:23:45 1972-07-01 01:23:46
++ ...
++ 78796815 1972-07-01 01:23:59 1972-07-01 01:23:60
++ 78796816 1972-07-01 01:24:00 1972-07-01 01:24:00
++
++ Fix an unlikely bug that caused 'localtime' etc. to misbehave if
++ civil time changes a few seconds before time_t wraps around, when
++ leap seconds are enabled.
++
++ Fix bug in zic -r; in some cases, the dummy time type after the
++ last time transition disagreed with the TZ string, contrary to
++ Internet RFC 8563 section 3.3.
++
++ Fix a bug with 'zic -r @X' when X is a negative leap second that
++ has a nonnegative correction. Without the fix, the output file
++ was truncated so that X appeared to be a positive leap second.
++ Fix a similar, even-less-likely bug when truncating at a positive
++ leap second that has a nonpositive correction.
++
++ zic -r now reports an error if given rolling leap seconds, as this
++ usage has never generally worked and is evidently unused.
++
++ zic now generates a POSIX-conforming TZ string for TZif files
++ where all-year DST is predicted for the indefinite future.
++ For example, for all-year Eastern Daylight Time, zic now generates
++ "XXX3EDT4,0/0,J365/23" where it previously generated
++ "EST5EDT,0/0,J365/25" or "". (Thanks to Michael Deckers for
++ noting the possibility of POSIX conformance.)
++
++ zic.c no longer requires sys/wait.h (thanks to spazmodius for
++ noting it wasn't needed).
++
++ When reading slim TZif files, zdump no longer mishandles leap
++ seconds on the rare platforms where time_t counts leap seconds,
++ fixing a bug introduced in 2014g.
++
++ zdump -v now outputs timestamps at boundaries of what localtime
++ and gmtime can represent, instead of the less-useful timestamps
++ one day after the minimum and one day before the maximum.
++ (Thanks to Arthur David Olson for prototype code, and to Manuela
++ Friedrich for debugging help.)
++
++ zdump's -c and -t options are now consistently inclusive for the
++ lower time bound and exclusive for the upper. Formerly they were
++ inconsistent. (Confusion noted by Martin Burnicki.)
++
++ Changes to build procedure
++
++ You can now compile with -DHAVE_MALLOC_ERRNO=0 to port to
++ non-POSIX hosts where malloc doesn't set errno.
++ (Problem reported by Jan Engelhardt.)
++
++ Changes to documentation
++
++ tzfile.5 better matches a draft successor to RFC 8536
++ <https://datatracker.ietf.org/doc/draft-murchison-rfc8536bis/01/>.
++
++
+ Release 2021a - 2021-01-24 10:54:57 -0800
+
+ Changes to future timestamps
+@@ -31,7 +377,7 @@
+ Correct many pre-1986 transitions, fixing entries originally
+ derived from Shanks. The fixes include:
+ - Australia: several 1917 through 1971 transitions
+- - Bahamas: several 1941 through 1945 transitions
++ - The Bahamas: several 1941 through 1945 transitions
+ - Bermuda: several 1917 through 1956 transitions
+ - Belize: several 1942 through 1968 transitions
+ - Ghana: several 1915 through 1956 transitions
+@@ -287,13 +633,13 @@
+ probably wrong.)
+
+ Fix several errors in pre-1970 transitions in Perry County, IN.
+- (Thanks to Alois Triendl for pointing out the 1967/9 errors.)
++ (Thanks to Alois Treindl for pointing out the 1967/9 errors.)
+
+ Edmonton did not observe DST in 1967 or 1969. In 1946 Vancouver
+ ended DST on 09-29 not 10-13, and Vienna ended DST on 10-07 not
+ 10-06. In 1945 Königsberg (now Kaliningrad) switched from +01/+02
+ to +02/+03 on 04-10 not 01-01, and its +02/+03 is abbreviated
+- EET/EEST, not CET/CEST. (Thanks to Alois Triendl.) In 1946
++ EET/EEST, not CET/CEST. (Thanks to Alois Treindl.) In 1946
+ Königsberg switched to +03 on 04-07 not 01-01.
+
+ In 1946 Louisville switched from CST to CDT on 04-28 at 00:01, not
+@@ -825,8 +1171,8 @@
+ Institute in Montevideo.
+ (Thanks to Jeremie Bonjour, Tim Parenti, and Michael Deckers.)
+
+- Enderbury and Kiritimati skipped New Year's Eve 1994, not
+- New Year's Day 1995. (Thanks to Kerry Shetline.)
++ East Kiribati skipped New Year's Eve 1994, not New Year's Day 1995.
++ (Thanks to Kerry Shetline.)
+
+ Fix the 1912-01-01 transition for Portugal and its colonies.
+ This transition was at 00:00 according to the new UT offset, not
+--- /dev/null
++++ contrib/tzdata/SECURITY
+@@ -0,0 +1,15 @@
++Please report any sensitive security-related bugs via email to the
++tzdb designated coordinators, currently Paul Eggert
++<eggert@cs.ucla.edu> and Tim Parenti <tim@timtimeonline.com>.
++Put "tzdb security" at the start of your email's subject line.
++We prefer communications to be in English.
++
++You should receive a response within a week. If not, please follow up
++via email to make sure we received your original message.
++
++If we confirm the bug, we plan to notify affected third-party services
++or software that we know about, prepare an advisory, commit fixes to
++the main development branch as quickly as is practical, and finally
++publish the advisory on tz@iana.org. As with all tzdb contributions,
++we give credit to security contributors unless they wish to remain
++anonymous.
+--- contrib/tzdata/africa.orig
++++ contrib/tzdata/africa
+@@ -30,9 +30,6 @@
+ # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
+ # https://www.jstor.org/stable/1774359
+ #
+-# A reliable and entertaining source about time zones is
+-# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
+-#
+ # European-style abbreviations are commonly used along the Mediterranean.
+ # For sub-Saharan Africa abbreviations were less standardized.
+ # Previous editions of this database used WAT, CAT, SAT, and EAT
+@@ -153,8 +150,9 @@
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone Africa/Abidjan -0:16:08 - LMT 1912
+ 0:00 - GMT
++Link Africa/Abidjan Africa/Accra # Ghana
+ Link Africa/Abidjan Africa/Bamako # Mali
+-Link Africa/Abidjan Africa/Banjul # Gambia
++Link Africa/Abidjan Africa/Banjul # The Gambia
+ Link Africa/Abidjan Africa/Conakry # Guinea
+ Link Africa/Abidjan Africa/Dakar # Senegal
+ Link Africa/Abidjan Africa/Freetown # Sierra Leone
+@@ -381,93 +379,8 @@
+ # Gabon
+ # See Africa/Lagos.
+
+-# Gambia
+-# See Africa/Abidjan.
+-
++# The Gambia
+ # Ghana
+-
+-# From P Chan (2020-11-20):
+-# Interpretation Amendment Ordinance, 1915 (No.24 of 1915) [1915-11-02]
+-# Ordinances of the Gold Coast, Ashanti, Northern Territories 1915, p 69-71
+-# https://books.google.com/books?id=ErA-AQAAIAAJ&pg=PA70
+-# This Ordinance added "'Time' shall mean Greenwich Mean Time" to the
+-# Interpretation Ordinance, 1876.
+-#
+-# Determination of the Time Ordinance, 1919 (No. 18 of 1919) [1919-11-24]
+-# Ordinances of the Gold Coast, Ashanti, Northern Territories 1919, p 75-76
+-# https://books.google.com/books?id=MbA-AQAAIAAJ&pg=PA75
+-# This Ordinance removed the previous definition of time and introduced DST.
+-#
+-# Time Determination Ordinance (Cap. 214)
+-# The Laws of the Gold Coast (including Togoland Under British Mandate)
+-# Vol. II (1937), p 2328
+-# https://books.google.com/books?id=Z7M-AQAAIAAJ&pg=PA2328
+-# Revised edition of the 1919 Ordinance.
+-#
+-# Time Determination (Amendment) Ordinance, 1940 (No. 9 of 1940) [1940-04-06]
+-# Annual Volume of the Laws of the Gold Coast:
+-# Containing All Legislation Enacted During Year 1940, p 22
+-# https://books.google.com/books?id=1ao-AQAAIAAJ&pg=PA22
+-# This Ordinance changed the forward transition from September to May.
+-#
+-# Defence (Time Determination Ordinance Amendment) Regulations, 1942
+-# (Regulations No. 6 of 1942) [1942-01-31, commenced on 1942-02-08]
+-# Annual Volume of the Laws of the Gold Coast:
+-# Containing All Legislation Enacted During Year 1942, p 48
+-# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA48
+-# These regulations advanced the [standard] time by thirty minutes.
+-#
+-# Defence (Time Determination Ordinance Amendment (No.2)) Regulations,
+-# 1942 (Regulations No. 28 of 1942) [1942-04-25]
+-# Annual Volume of the Laws of the Gold Coast:
+-# Containing All Legislation Enacted During Year 1942, p 87
+-# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA87
+-# These regulations abolished DST and changed the time to GMT+0:30.
+-#
+-# Defence (Revocation) (No.4) Regulations, 1945 (Regulations No. 45 of
+-# 1945) [1945-10-24, commenced on 1946-01-06]
+-# Annual Volume of the Laws of the Gold Coast:
+-# Containing All Legislation Enacted During Year 1945, p 256
+-# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA256
+-# These regulations revoked the previous two sets of Regulations.
+-#
+-# Time Determination (Amendment) Ordinance, 1945 (No. 18 of 1945) [1946-01-06]
+-# Annual Volume of the Laws of the Gold Coast:
+-# Containing All Legislation Enacted During Year 1945, p 69
+-# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA69
+-# This Ordinance abolished DST.
+-#
+-# Time Determination (Amendment) Ordinance, 1950 (No. 26 of 1950) [1950-07-22]
+-# Annual Volume of the Laws of the Gold Coast:
+-# Containing All Legislation Enacted During Year 1950, p 35
+-# https://books.google.com/books?id=e60-AQAAIAAJ&pg=PA35
+-# This Ordinance restored DST but with thirty minutes offset.
+-#
+-# Time Determination Ordinance (Cap. 264)
+-# The Laws of the Gold Coast, Vol. V (1954), p 380
+-# https://books.google.com/books?id=Mqc-AQAAIAAJ&pg=PA380
+-# Revised edition of the Time Determination Ordinance.
+-#
+-# Time Determination (Amendment) Ordinance, 1956 (No. 21 of 1956) [1956-08-29]
+-# Annual Volume of the Ordinances of the Gold Coast Enacted During the
+-# Year 1956, p 83
+-# https://books.google.com/books?id=VLE-AQAAIAAJ&pg=PA83
+-# This Ordinance abolished DST.
+-
+-# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+-Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020
+-Rule Ghana 1920 1942 - Jan 1 2:00 0 GMT
+-Rule Ghana 1920 1939 - Sep 1 2:00 0:20 +0020
+-Rule Ghana 1940 1941 - May 1 2:00 0:20 +0020
+-Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030
+-Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT
+-
+-# Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone Africa/Accra -0:00:52 - LMT 1915 Nov 2
+- 0:00 Ghana %s 1942 Feb 8
+- 0:30 - +0030 1946 Jan 6
+- 0:00 Ghana %s
+-
+ # Guinea
+ # See Africa/Abidjan.
+
+@@ -732,7 +645,7 @@
+ # See Africa/Nairobi.
+
+ # Morocco
+-# See the 'europe' file for Spanish Morocco (Africa/Ceuta).
++# See Africa/Ceuta for Spanish Morocco.
+
+ # From Alex Krivenyshev (2008-05-09):
+ # Here is an article that Morocco plan to introduce Daylight Saving Time between
+@@ -1005,6 +918,10 @@
+ # (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
+ # (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
+ # (setq islamic-year (+ 1 islamic-year))))
++#
++# From Milamber (2021-03-31, 2022-03-10), confirming these predictions:
++# https://www.mmsp.gov.ma/fr/actualites.aspx?id=2076
++# https://www.ecoactu.ma/horaires-administration-ramadan-gmtheure-gmt-a-partir-de-dimanche-27-mars/
+
+ # Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+ Rule Morocco 1939 only - Sep 12 0:00 1:00 -
+@@ -1382,23 +1299,21 @@
+ 0:13:35 - LMT 1914 Jan 1
+ 0:30 - +0030 1919 Sep 1
+ 1:00 - WAT
+-Link Africa/Lagos Africa/Bangui # Central African Republic
+-Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo
+-Link Africa/Lagos Africa/Douala # Cameroon
+-Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west)
+-Link Africa/Lagos Africa/Libreville # Gabon
+-Link Africa/Lagos Africa/Luanda # Angola
+-Link Africa/Lagos Africa/Malabo # Equatorial Guinea
+-Link Africa/Lagos Africa/Niamey # Niger
+-Link Africa/Lagos Africa/Porto-Novo # Benin
++Link Africa/Lagos Africa/Bangui # Central African Republic
++Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo
++Link Africa/Lagos Africa/Douala # Cameroon
++Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west)
++Link Africa/Lagos Africa/Libreville # Gabon
++Link Africa/Lagos Africa/Luanda # Angola
++Link Africa/Lagos Africa/Malabo # Equatorial Guinea
++Link Africa/Lagos Africa/Niamey # Niger
++Link Africa/Lagos Africa/Porto-Novo # Benin
+
+ # Réunion
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
+ 4:00 - +04
+ #
+-# Crozet Islands also observes Réunion time; see the 'antarctica' file.
+-#
+ # Scattered Islands (Îles Éparses) administered from Réunion are as follows.
+ # The following information about them is taken from
+ # Îles Éparses (<http://www.outre-mer.gouv.fr/domtom/ile.htm>, 1997-07-22,
+@@ -1490,8 +1405,8 @@
+ Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
+ 1:30 - SAST 1903 Mar
+ 2:00 SA SAST
+-Link Africa/Johannesburg Africa/Maseru # Lesotho
+-Link Africa/Johannesburg Africa/Mbabane # Eswatini
++Link Africa/Johannesburg Africa/Maseru # Lesotho
++Link Africa/Johannesburg Africa/Mbabane # Eswatini
+ #
+ # Marion and Prince Edward Is
+ # scientific station since 1947
+@@ -1527,12 +1442,13 @@
+ 3:00 - EAT 2017 Nov 1
+ 2:00 - CAT
+
++# South Sudan
++
+ # From Steffen Thorsen (2021-01-18):
+ # "South Sudan will change its time zone by setting the clock back 1
+ # hour on February 1, 2021...."
+ # from https://eyeradio.org/south-sudan-adopts-new-time-zone-makuei/
+
+-# South Sudan
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone Africa/Juba 2:06:28 - LMT 1931
+ 2:00 Sudan CA%sT 2000 Jan 15 12:00
+@@ -1637,7 +1553,7 @@
+ Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
+ Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
+
+-# See Europe/Paris for PMT-related transitions.
++# See Europe/Paris commentary for PMT-related transitions.
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
+ 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
+--- contrib/tzdata/antarctica.orig
++++ contrib/tzdata/antarctica
+@@ -148,7 +148,7 @@
+ #
+ # Alfred Faure, Possession Island, Crozet Islands, -462551+0515152, since 1964;
+ # sealing & whaling stations operated variously 1802/1911+;
+-# see Indian/Reunion.
++# see Asia/Dubai.
+ #
+ # Martin-de-Viviès, Amsterdam Island, -374105+0773155, since 1950
+ # Port-aux-Français, Kerguelen Islands, -492110+0701303, since 1951;
+@@ -162,17 +162,7 @@
+ 5:00 - +05
+ #
+ # year-round base in the main continent
+-# Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11
+-# <https://en.wikipedia.org/wiki/Dumont_d'Urville_Station> (2005-12-05)
+-#
+-# Another base at Port-Martin, 50km east, began operation in 1947.
+-# It was destroyed by fire on 1952-01-14.
+-#
+-# Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone Antarctica/DumontDUrville 0 - -00 1947
+- 10:00 - +10 1952 Jan 14
+- 0 - -00 1956 Nov
+- 10:00 - +10
++# Dumont d'Urville - see Pacific/Port_Moresby.
+
+ # France & Italy - year-round base
+ # Concordia, -750600+1232000, since 2005
+@@ -188,20 +178,7 @@
+ # Zuchelli, Terra Nova Bay, -744140+1640647, since 1986
+
+ # Japan - year-round bases
+-# Syowa (also known as Showa), -690022+0393524, since 1957
+-#
+-# From Hideyuki Suzuki (1999-02-06):
+-# In all Japanese stations, +0300 is used as the standard time.
+-#
+-# Syowa station, which is the first antarctic station of Japan,
+-# was established on 1957-01-29. Since Syowa station is still the main
+-# station of Japan, it's appropriate for the principal location.
+-# Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone Antarctica/Syowa 0 - -00 1957 Jan 29
+- 3:00 - +03
+-# See:
+-# NIPR Antarctic Research Activities (1999-08-17)
+-# http://www.nipr.ac.jp/english/ara01.html
++# See Asia/Riyadh.
+
+ # S Korea - year-round base
+ # Jang Bogo, Terra Nova Bay, -743700+1641205 since 2014
+--- contrib/tzdata/asia.orig
++++ contrib/tzdata/asia
+@@ -34,9 +34,6 @@
+ # Byalokoz EL. New Counting of Time in Russia since July 1, 1919.
+ # (See the 'europe' file for a fuller citation.)
+ #
+-# A reliable and entertaining source about time zones is
+-# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
+-#
+ # The following alphabetic abbreviations appear in these tables
+ # (corrections are welcome):
+ # std dst
+@@ -2749,7 +2746,8 @@
+ #
+ # peninsular Malaysia
+ # taken from Mok Ly Yng (2003-10-30)
+-# http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html
++# https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html
++# This agrees with Singapore since 1905-06-01.
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone Asia/Kuala_Lumpur 6:46:46 - LMT 1901 Jan 1
+ 6:55:25 - SMT 1905 Jun 1 # Singapore M.T.
+@@ -3408,8 +3406,12 @@
+ # ... winter time will begin in Palestine from Friday 10-29, 01:00 AM
+ # by 60 minutes backwards.
+ #
+-# From Paul Eggert (2021-10-20):
+-# Guess future fall transitions on October's last Friday at 01:00.
++# From Tim Parenti (2021-10-25), per Paul Eggert (2021-10-24):
++# Guess future fall transitions at 01:00 on the Friday preceding October's
++# last Sunday (i.e., Fri>=23), as this is more consistent with recent practice.
++
++# From Heba Hamad (2022-03-10):
++# summer time will begin in Palestine from Sunday 03-27-2022, 00:00 AM.
+
+ # Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+ Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
+@@ -3445,9 +3447,10 @@
+ Rule Palestine 2016 2018 - Oct Sat>=24 1:00 0 -
+ Rule Palestine 2019 only - Mar 29 0:00 1:00 S
+ Rule Palestine 2019 only - Oct Sat>=24 0:00 0 -
+-Rule Palestine 2020 max - Mar Sat>=24 0:00 1:00 S
++Rule Palestine 2020 2021 - Mar Sat>=24 0:00 1:00 S
+ Rule Palestine 2020 only - Oct 24 1:00 0 -
+-Rule Palestine 2021 max - Oct lastFri 1:00 0 -
++Rule Palestine 2021 max - Oct Fri>=23 1:00 0 -
++Rule Palestine 2022 max - Mar Sun>=25 0:00 1:00 S
+
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
+@@ -3516,6 +3519,12 @@
+ # influence of the sources. There is no current abbreviation for DST,
+ # so use "PDT", the usual American style.
+
++# From P Chan (2021-05-10):
++# Here's a fairly comprehensive article in Japanese:
++# https://wiki.suikawiki.org/n/Philippine%20Time
++# From Paul Eggert (2021-05-10):
++# The info in the Japanese table has not been absorbed (yet) below.
++
+ # Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+ Rule Phil 1936 only - Nov 1 0:00 1:00 D
+ Rule Phil 1937 only - Feb 1 0:00 0 S
+@@ -3582,12 +3591,13 @@
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14
+ 3:00 - +03
++Link Asia/Riyadh Antarctica/Syowa
+ Link Asia/Riyadh Asia/Aden # Yemen
+ Link Asia/Riyadh Asia/Kuwait
+
+ # Singapore
+ # taken from Mok Ly Yng (2003-10-30)
+-# http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html
++# https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1
+ 6:55:25 - SMT 1905 Jun 1 # Singapore M.T.
+--- contrib/tzdata/australasia.orig
++++ contrib/tzdata/australasia
+@@ -478,7 +478,7 @@
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki
+ 12:00 - +12
+-Zone Pacific/Enderbury -11:24:20 - LMT 1901
++Zone Pacific/Kanton 0 - -00 1937 Aug 31
+ -12:00 - -12 1979 Oct
+ -11:00 - -11 1994 Dec 31
+ 13:00 - +13
+@@ -611,13 +611,46 @@
+ # was probably like Pacific/Auckland
+
+ # Cook Is
+-# From Shanks & Pottenger:
++#
++# From Alexander Krivenyshev (2021-03-24):
++# In 1899 the Cook Islands celebrated Christmas twice to correct the calendar.
++# According to the old books, missionaries were unaware of
++# the International Date line, when they came from Sydney.
++# Thus the Cook Islands were one day ahead....
++# http://nzetc.victoria.ac.nz/tm/scholarly/tei-KloDisc-t1-body-d18.html
++# ... Appendix to the Journals of the House of Representatives, 1900
++# https://atojs.natlib.govt.nz/cgi-bin/atojs?a=d&d=AJHR1900-I.2.1.2.3
++# (page 20)
++#
++# From Michael Deckers (2021-03-24):
++# ... in the Cook Island Act of 1915-10-11, online at
++# http://www.paclii.org/ck/legis/ck-nz_act/cia1915132/
++# "651. The hour of the day shall in each of the islands included in the
++# Cook Islands be determined in accordance with the meridian of that island."
++# so that local (mean?) time was still used in Rarotonga (and Niue) in 1915.
++# This was changed in the Cook Island Amendment Act of 1952-10-16 ...
++# http://www.paclii.org/ck/legis/ck-nz_act/ciaa1952212/
++# "651 (1) The hour of the day in each of the islands included in the Cook
++# Islands, other than Niue, shall be determined as if each island were
++# situated on the meridian one hundred and fifty-seven degrees thirty minutes
++# West of Greenwich. (2) The hour of the day in the Island of Niue shall be
++# determined as if that island were situated on the meridian one hundred and
++# seventy degrees West of Greenwich."
++# This act does not state when it takes effect, so one has to assume it
++# applies since 1952-10-16. But there is the possibility that the act just
++# legalized prior existing practice, as we had seen with the Guernsey law of
++# 1913-06-18 for the switch in 1909-04-19.
++#
++# From Paul Eggert (2021-03-24):
++# Transitions after 1952 are from Shanks & Pottenger.
++#
+ # Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+ Rule Cook 1978 only - Nov 12 0:00 0:30 -
+ Rule Cook 1979 1991 - Mar Sun>=1 0:00 0 -
+ Rule Cook 1979 1990 - Oct lastSun 0:00 0:30 -
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
++Zone Pacific/Rarotonga 13:20:56 - LMT 1899 Dec 26 # Avarua
++ -10:39:04 - LMT 1952 Oct 16
+ -10:30 - -1030 1978 Nov 12
+ -10:00 Cook -10/-0930
+
+@@ -625,10 +658,18 @@
+
+
+ # Niue
++# See Pacific/Raratonga comments for 1952 transition.
++#
++# From Tim Parenti (2021-09-13):
++# Consecutive contemporaneous editions of The Air Almanac listed -11:20 for
++# Niue as of Apr 1964 but -11 as of Aug 1964:
++# Apr 1964: https://books.google.com/books?id=_1So677Y5vUC&pg=SL1-PA23
++# Aug 1964: https://books.google.com/books?id=MbJloqd-zyUC&pg=SL1-PA23
++# Without greater specificity, guess 1964-07-01 for this transition.
++
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone Pacific/Niue -11:19:40 - LMT 1901 # Alofi
+- -11:20 - -1120 1951
+- -11:30 - -1130 1978 Oct 1
++Zone Pacific/Niue -11:19:40 - LMT 1952 Oct 16 # Alofi
++ -11:20 - -1120 1964 Jul
+ -11:00 - -11
+
+ # Norfolk
+@@ -652,6 +693,7 @@
+ Zone Pacific/Port_Moresby 9:48:40 - LMT 1880
+ 9:48:32 - PMMT 1895 # Port Moresby Mean Time
+ 10:00 - +10
++Link Pacific/Port_Moresby Antarctica/DumontDUrville
+ #
+ # From Paul Eggert (2014-10-13):
+ # Base the Bougainville entry on the Arawa-Kieta region, which appears to have
+@@ -813,8 +855,8 @@
+ Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 -
+ Rule Tonga 2017 only - Jan Sun>=15 3:00 0 -
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone Pacific/Tongatapu 12:19:20 - LMT 1901
+- 12:20 - +1220 1941
++Zone Pacific/Tongatapu 12:19:12 - LMT 1945 Sep 10
++ 12:20 - +1220 1961
+ 13:00 - +13 1999
+ 13:00 Tonga +13/+14
+
+@@ -1756,6 +1798,23 @@
+ # One source for this is page 202 of: Bartky IR. One Time Fits All:
+ # The Campaigns for Global Uniformity (2007).
+
++# Kanton
++
++# From Paul Eggert (2021-05-27):
++# Kiribati's +13 timezone is represented by Kanton, its only populated
++# island. (It was formerly spelled "Canton", but Gilbertese lacks "C".)
++# Kanton was settled on 1937-08-31 by two British radio operators
++# <https://history.state.gov/historicaldocuments/frus1937v02/d94>;
++# Americans came the next year and built an airfield, partly to
++# establish airline service and perhaps partly anticipating the
++# next war. Aside from the war, the airfield was used by commercial
++# airlines until long-range jets became standard; although currently
++# for emergency use only, China says it is considering rebuilding the
++# airfield for high-end niche tourism. Kanton has about two dozen
++# people, caretakers who rotate in from the rest of Kiribati in 2-5
++# year shifts, and who use some of the leftover structures
++# <http://pipa.neaq.org/2012/06/images-of-kanton-island.html>.
++
+ # Kwajalein
+
+ # From an AP article (1993-08-22):
+@@ -2039,6 +2098,17 @@
+
+ # Tonga
+
++# From Paul Eggert (2021-03-04):
++# In 1943 "The standard time kept is 12 hrs. 19 min. 12 sec. fast
++# on Greenwich mean time." according to the Admiralty's Hydrographic
++# Dept., Pacific Islands Pilot, Vol. II, 7th ed., 1943, p 360.
++
++# From Michael Deckers (2021-03-03):
++# [Ian R Bartky: "One Time Fits All: The Campaigns for Global Uniformity".
++# Stanford University Press. 2007. p. 255]:
++# On 10 September 1945 Tonga adopted a standard time 12 hours,
++# 20 minutes in advance of Greenwich.
++
+ # From Paul Eggert (1996-01-22):
+ # Today's _Wall Street Journal_ (p 1) reports that "Tonga has been plotting
+ # to sneak ahead of [New Zealanders] by introducing daylight-saving time."
+@@ -2067,9 +2137,26 @@
+ # The Crown Prince, presented an unanswerable argument: "Remember that
+ # on the World Day of Prayer, you would be the first people on Earth
+ # to say your prayers in the morning."
+-
+-# From Paul Eggert (2006-03-22):
+-# Shanks & Pottenger say the transition was on 1968-10-01; go with Mundell.
++#
++# From Tim Parenti (2021-09-13), per Paul Eggert (2006-03-22) and Michael
++# Deckers (2021-03-03):
++# Mundell places the transition from +12:20 to +13 in 1941, while Shanks &
++# Pottenger say the transition was on 1968-10-01.
++#
++# The Air Almanac published contemporaneous tables of standard times,
++# which listed +12:20 as of Nov 1960 and +13 as of Mar 1961:
++# Nov 1960: https://books.google.com/books?id=bVgtWM6kPZUC&pg=SL1-PA19
++# Mar 1961: https://books.google.com/books?id=W2nItAul4g0C&pg=SL1-PA19
++# (Thanks to P Chan for pointing us toward these sources.)
++# This agrees with Bartky, who writes that "since 1961 [Tonga's] official time
++# has been thirteen hours in advance of Greenwich time" (p. 202) and further
++# writes in an endnote that this was because "the legislation was amended" on
++# 1960-10-19. (p. 255)
++#
++# Without greater specificity, presume that Bartky and the Air Almanac point to
++# a 1961-01-01 transition, as Tāufaʻāhau Tupou IV was still Crown Prince in
++# 1961 and this still jives with the gist of Mundell's telling, and go with
++# this over Shanks & Pottenger.
+
+ # From Eric Ulevik (1999-05-03):
+ # Tonga's director of tourism, who is also secretary of the National Millennium
+--- contrib/tzdata/backward.orig
++++ contrib/tzdata/backward
+@@ -3,8 +3,10 @@
+ # This file is in the public domain, so clarified as of
+ # 2009-05-17 by Arthur David Olson.
+
+-# This file provides links between current names for timezones
+-# and their old names. Many names changed in late 1993.
++# This file provides links from old or merged timezone names to current ones.
++# Many names changed in late 1993. Several of these names are
++# also present in the file 'backzone', which has data important only
++# for pre-1970 timestamps and so is out of scope for tzdb proper.
+
+ # Link TARGET LINK-NAME
+ Link Africa/Nairobi Africa/Asmera
+@@ -13,7 +15,7 @@
+ Link America/Adak America/Atka
+ Link America/Argentina/Buenos_Aires America/Buenos_Aires
+ Link America/Argentina/Catamarca America/Catamarca
+-Link America/Atikokan America/Coral_Harbour
++Link America/Panama America/Coral_Harbour
+ Link America/Argentina/Cordoba America/Cordoba
+ Link America/Tijuana America/Ensenada
+ Link America/Indiana/Indianapolis America/Fort_Wayne
+@@ -28,7 +30,7 @@
+ Link America/Argentina/Cordoba America/Rosario
+ Link America/Tijuana America/Santa_Isabel
+ Link America/Denver America/Shiprock
+-Link America/Port_of_Spain America/Virgin
++Link America/Puerto_Rico America/Virgin
+ Link Pacific/Auckland Antarctica/South_Pole
+ Link Asia/Ashgabat Asia/Ashkhabad
+ Link Asia/Kolkata Asia/Calcutta
+@@ -103,6 +105,7 @@
+ Link Pacific/Chatham NZ-CHAT
+ Link America/Denver Navajo
+ Link Asia/Shanghai PRC
++Link Pacific/Kanton Pacific/Enderbury
+ Link Pacific/Honolulu Pacific/Johnston
+ Link Pacific/Pohnpei Pacific/Ponape
+ Link Pacific/Pago_Pago Pacific/Samoa
+--- contrib/tzdata/backzone.orig
++++ contrib/tzdata/backzone
+@@ -68,6 +68,91 @@
+ #
+ # As explained in the zic man page, the zone columns are:
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
++# and the rule columns are:
++# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
++
++
++# Ghana
++
++# From P Chan (2020-11-20):
++# Interpretation Amendment Ordinance, 1915 (No.24 of 1915) [1915-11-02]
++# Ordinances of the Gold Coast, Ashanti, Northern Territories 1915, p 69-71
++# https://books.google.com/books?id=ErA-AQAAIAAJ&pg=PA70
++# This Ordinance added "'Time' shall mean Greenwich Mean Time" to the
++# Interpretation Ordinance, 1876.
++#
++# Determination of the Time Ordinance, 1919 (No. 18 of 1919) [1919-11-24]
++# Ordinances of the Gold Coast, Ashanti, Northern Territories 1919, p 75-76
++# https://books.google.com/books?id=MbA-AQAAIAAJ&pg=PA75
++# This Ordinance removed the previous definition of time and introduced DST.
++#
++# Time Determination Ordinance (Cap. 214)
++# The Laws of the Gold Coast (including Togoland Under British Mandate)
++# Vol. II (1937), p 2328
++# https://books.google.com/books?id=Z7M-AQAAIAAJ&pg=PA2328
++# Revised edition of the 1919 Ordinance.
++#
++# Time Determination (Amendment) Ordinance, 1940 (No. 9 of 1940) [1940-04-06]
++# Annual Volume of the Laws of the Gold Coast:
++# Containing All Legislation Enacted During Year 1940, p 22
++# https://books.google.com/books?id=1ao-AQAAIAAJ&pg=PA22
++# This Ordinance changed the forward transition from September to May.
++#
++# Defence (Time Determination Ordinance Amendment) Regulations, 1942
++# (Regulations No. 6 of 1942) [1942-01-31, commenced on 1942-02-08]
++# Annual Volume of the Laws of the Gold Coast:
++# Containing All Legislation Enacted During Year 1942, p 48
++# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA48
++# These regulations advanced the [standard] time by thirty minutes.
++#
++# Defence (Time Determination Ordinance Amendment (No.2)) Regulations,
++# 1942 (Regulations No. 28 of 1942) [1942-04-25]
++# Annual Volume of the Laws of the Gold Coast:
++# Containing All Legislation Enacted During Year 1942, p 87
++# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA87
++# These regulations abolished DST and changed the time to GMT+0:30.
++#
++# Defence (Revocation) (No.4) Regulations, 1945 (Regulations No. 45 of
++# 1945) [1945-10-24, commenced on 1946-01-06]
++# Annual Volume of the Laws of the Gold Coast:
++# Containing All Legislation Enacted During Year 1945, p 256
++# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA256
++# These regulations revoked the previous two sets of Regulations.
++#
++# Time Determination (Amendment) Ordinance, 1945 (No. 18 of 1945) [1946-01-06]
++# Annual Volume of the Laws of the Gold Coast:
++# Containing All Legislation Enacted During Year 1945, p 69
++# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA69
++# This Ordinance abolished DST.
++#
++# Time Determination (Amendment) Ordinance, 1950 (No. 26 of 1950) [1950-07-22]
++# Annual Volume of the Laws of the Gold Coast:
++# Containing All Legislation Enacted During Year 1950, p 35
++# https://books.google.com/books?id=e60-AQAAIAAJ&pg=PA35
++# This Ordinance restored DST but with thirty minutes offset.
++#
++# Time Determination Ordinance (Cap. 264)
++# The Laws of the Gold Coast, Vol. V (1954), p 380
++# https://books.google.com/books?id=Mqc-AQAAIAAJ&pg=PA380
++# Revised edition of the Time Determination Ordinance.
++#
++# Time Determination (Amendment) Ordinance, 1956 (No. 21 of 1956) [1956-08-29]
++# Annual Volume of the Ordinances of the Gold Coast Enacted During the
++# Year 1956, p 83
++# https://books.google.com/books?id=VLE-AQAAIAAJ&pg=PA83
++# This Ordinance abolished DST.
++
++Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020
++Rule Ghana 1920 1942 - Jan 1 2:00 0 GMT
++Rule Ghana 1920 1939 - Sep 1 2:00 0:20 +0020
++Rule Ghana 1940 1941 - May 1 2:00 0:20 +0020
++Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030
++Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT
++
++Zone Africa/Accra -0:00:52 - LMT 1915 Nov 2
++ 0:00 Ghana %s 1942 Feb 8
++ 0:30 - +0030 1946 Jan 6
++ 0:00 Ghana %s
+
+ # Ethiopia
+ # From Paul Eggert (2014-07-31):
+@@ -101,14 +186,36 @@
+ Zone Africa/Bangui 1:14:20 - LMT 1912
+ 1:00 - WAT
+
+-# Gambia
++# The Gambia
++# From P Chan (2020-12-09):
++# Standard time of GMT-1 was adopted on 1933-04-01. On 1942-02-01, GMT was
++# adopted as a war time measure. This was made permanent in 1946.
++#
++# Interpretation Ordinance, 1914 (No. 12 of 1914) [1914-09-29]
++# Interpretation Ordinance, 1933 (No. 10 of 1933) [1933-03-31]
++# Notice No. 5 of 1942, Colony of the Gambia Government Gazette, Vol. LIX,
++# No.2, 1942-01-15, p 2
++# Interpretation (Amendment) Ordinance, 1946 (No. 3 of 1946) [1946-07-15]
+ Zone Africa/Banjul -1:06:36 - LMT 1912
+- -1:06:36 - BMT 1935 # Banjul Mean Time
+- -1:00 - -01 1964
++ -1:06:36 - BMT 1933 Apr 1 # Banjul Mean Time
++ -1:00 - -01 1942 Feb 1 0:00
+ 0:00 - GMT
+
+ # Malawi
+-Zone Africa/Blantyre 2:20:00 - LMT 1903 Mar
++# From P Chan (2020-12-09):
++# In 1911, Zomba mean time was adopted as the legal time of Nyasaland. In
++# 1914, Zomba mean time switched from GMT+2:21:10 to GMT+2:21. On 1925-07-01,
++# GMT+2 was adopted.
++#
++# Interpretation and General Clauses Ordinance, 1911 (No. 12 of 1911)
++# [1911-07-24]
++# Notice No. 124 of 1914, 1914-06-30, The Nyasaland Government Gazette, Vol.
++# XXI, No. 8, 1914-06-30, p 122
++# Interpretation and General Clauses (Amendment) Ordinance, 1925 (No. 3 of
++# 1925) [1925-04-02]
++Zone Africa/Blantyre 2:20:00 - LMT 1911 Jul 24
++ 2:21:10 - ZMT 1914 Jun 30 # Zomba Mean Time
++ 2:21 - ZMT 1925 Jul 1
+ 2:00 - CAT
+
+ # Republic of the Congo
+@@ -145,19 +252,49 @@
+ Zone Africa/Douala 0:38:48 - LMT 1912
+ 1:00 - WAT
+ # Sierra Leone
+-# From Paul Eggert (2014-08-12):
+-# The following table is from Shanks & Pottenger, but it can't be right.
+-# Whitman gives Mar 31 - Aug 31 for 1931 on.
+-# The International Hydrographic Bulletin, 1932-33, p 63 says that
+-# Sierra Leone would advance its clocks by 20 minutes on 1933-10-01.
+-# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+-Rule SL 1935 1942 - Jun 1 0:00 0:40 -0020
+-Rule SL 1935 1942 - Oct 1 0:00 0 -01
+-Rule SL 1957 1962 - Jun 1 0:00 1:00 +01
+-Rule SL 1957 1962 - Sep 1 0:00 0 GMT
++# From P Chan (2020-12-09):
++# Standard time of GMT-1 was adopted on 1913-07-01. Twenty minutes of DST was
++# introduce[d] in 1932 and was suspended in 1939. In 1941, GMT was adopted by
++# Defence Regulations. This was made permanent in 1946.
++#
++# Government Notice No. 121 of 1913, 1913-06-06, Sierra Leone Royal Gazette,
++# Vol. XLIV, No. 1384, 1913-06-14, p 347
++# Alteration of Time Ordinance, 1932 (No. 34 of 1932) [1932-12-01]
++# Alteration of Time (Amendment) Ordinance, 1938 (No. 25 of 1938) [1938-11-24]
++# Defence Regulations (No. 9), 1939 (Regulations No. 9 of 1939), 1939-09-05
++# Defence Regulations (No. 11), 1939 (Regulations No. 11 of 1939), 1939-09-27
++# Defence (Amendment) (No. 17) Regulations, 1941 (Public Notice No. 157 of
++# 1941), 1914-12-04
++# Alteration of Time (Amendment) Ordinance, 1946 (No. 2 of 1946) [1946-02-07]
++
++# From Tim Parenti (2021-03-02), per P Chan (2021-02-25):
++# For Sierra Leone in 1957-1962, the standard time was defined in the
++# Alteration of Time Ordinance, 1932 (as amended in 1946, renamed to Local Time
++# Ordinance in 1960 and Local Time Act in 1961). It was unamended throughout
++# that period. See references to "Time" in the Alphabetical Index of the
++# Legislation in force on the 31st day of December,
++# 1957: https://books.google.com/books?id=lvQ-AQAAIAAJ&pg=RA2-PA49
++# 1958: https://books.google.com/books?id=4fQ-AQAAIAAJ&pg=RA2-PA50
++# 1959: https://books.google.com/books?id=p_U-AQAAIAAJ&pg=RA2-PA55
++# 1960: https://books.google.com/books?id=JPY-AQAAIAAJ&pg=RA3-PA37
++# 1961: https://books.google.com/books?id=7vY-AQAAIAAJ&pg=RA3-PA41
++# 1962: https://books.google.com/books?id=W_c-AQAAIAAJ&pg=RA3-PA44
++# 1963: https://books.google.com/books?id=9vk-AQAAIAAJ&pg=RA1-PA47
++#
++# Although Shanks & Pottenger had DST from Jun 1 00:00 to Sep 1 00:00 in this
++# period, many contemporaneous almanacs agree that it wasn't used:
++# https://mm.icann.org/pipermail/tz/2021-February/029866.html
++# Go with the above.
++
++Rule SL 1932 only - Dec 1 0:00 0:20 -0040
++Rule SL 1933 1938 - Mar 31 24:00 0 -01
++Rule SL 1933 1939 - Aug 31 24:00 0:20 -0040
++Rule SL 1939 only - May 31 24:00 0 -01
++
+ Zone Africa/Freetown -0:53:00 - LMT 1882
+- -0:53:00 - FMT 1913 Jun # Freetown Mean Time
+- -1:00 SL %s 1957
++ -0:53:00 - FMT 1913 Jul 1 # Freetown MT
++ -1:00 SL %s 1939 Sep 5
++ -1:00 - -01 1941 Dec 6 24:00
+ 0:00 SL GMT/+01
+
+ # Botswana
+@@ -209,7 +346,15 @@
+ 1:00 - WAT
+
+ # Democratic Republic of the Congo (east)
+-Zone Africa/Lubumbashi 1:49:52 - LMT 1897 Nov 9
++#
++# From Alois Treindl (2022-02-28):
++# My main source for its time zone history is
++# Henri le Corre, Régimes horaires pour l'Europe et l'Afrique.
++# Shanks follows le Corre. As does Françoise Schneider-Gauquelin in her book
++# Problèmes de l'heure résolus pour le monde entier.
++#
++Zone Africa/Lubumbashi 1:49:52 - LMT 1897 Nov 9
++ 1:00 - WAT 1920 Apr 25
+ 2:00 - CAT
+
+ # Zambia
+@@ -298,6 +443,85 @@
+ -4:30 - -0430 1965
+ -4:00 - AST
+
++# Atikokan, Ontario
++
++# From Paul Eggert (1997-10-17):
++# Mark Brader writes that an article in the 1997-10-14 Toronto Star
++# says that Atikokan, Ontario currently does not observe DST,
++# but will vote on 11-10 whether to use EST/EDT.
++# He also writes that the Ontario Time Act (1990, Chapter T.9)
++# http://www.gov.on.ca/MBS/english/publications/statregs/conttext.html
++# says that Ontario east of 90W uses EST/EDT, and west of 90W uses CST/CDT.
++# Officially Atikokan is therefore on CST/CDT, and most likely this report
++# concerns a non-official time observed as a matter of local practice.
++#
++# From Paul Eggert (2000-10-02):
++# Matthews and Vincent (1998) write that Atikokan, Pickle Lake, and
++# New Osnaburgh observe CST all year, that Big Trout Lake observes
++# CST/CDT, and that Upsala and Shebandowan observe EST/EDT, all in
++# violation of the official Ontario rules.
++#
++# From Paul Eggert (2006-07-09):
++# Chris Walton (2006-07-06) mentioned an article by Stephanie MacLellan in the
++# 2005-07-21 Chronicle-Journal, which said:
++#
++# The clocks in Atikokan stay set on standard time year-round.
++# This means they spend about half the time on central time and
++# the other half on eastern time.
++#
++# For the most part, the system works, Mayor Dennis Brown said.
++#
++# "The majority of businesses in Atikokan deal more with Eastern
++# Canada, but there are some that deal with Western Canada," he
++# said. "I don't see any changes happening here."
++#
++# Walton also writes "Supposedly Pickle Lake and Mishkeegogamang
++# [New Osnaburgh] follow the same practice."
++
++# From Garry McKinnon (2006-07-14) via Chris Walton:
++# I chatted with a member of my board who has an outstanding memory
++# and a long history in Atikokan (and in the telecom industry) and he
++# can say for certain that Atikokan has been practicing the current
++# time keeping since 1952, at least.
++
++# From Paul Eggert (2006-07-17):
++# Shanks & Pottenger say that Atikokan has agreed with Rainy River
++# ever since standard time was introduced, but the information from
++# McKinnon sounds more authoritative. For now, assume that Atikokan
++# switched to EST immediately after WWII era daylight saving time
++# ended. This matches the old (less-populous) America/Coral_Harbour
++# entry since our cutoff date of 1970, so we can move
++# America/Coral_Harbour to the 'backward' file.
++
++Zone America/Atikokan -6:06:28 - LMT 1895
++ -6:00 Canada C%sT 1940 Sep 29
++ -6:00 1:00 CDT 1942 Feb 9 2:00s
++ -6:00 Canada C%sT 1945 Sep 30 2:00
++ -5:00 - EST
++
++# Quebec east of Natashquan
++
++# From Paul Eggert (2021-05-09):
++# H. David Matthews and Mary Vincent's map
++# "It's about TIME", _Canadian Geographic_ (September-October 1998)
++# http://www.canadiangeographic.ca/Magazine/SO98/alacarte.asp
++# says that Quebec east of the -63 meridian is supposed to observe
++# AST, but residents as far east as Natashquan use EST/EDT, and
++# residents east of Natashquan use AST.
++# The Quebec department of justice writes in
++# "The situation in Minganie and Basse-Côte-Nord"
++# https://www.justice.gouv.qc.ca/en/department/ministre/functions-and-responsabilities/legal-time-in-quebec/the-situation-in-minganie-and-basse-cote-nord/
++# that the coastal strip from just east of Natashquan to Blanc-Sablon
++# observes Atlantic standard time all year round.
++# This common practice was codified into law as of 2007; see Legal Time Act,
++# CQLR c T-5.1 <http://legisquebec.gouv.qc.ca/en/ShowDoc/cs/T-5.1>.
++# For lack of better info, guess this practice began around 1970, contra to
++# Shanks & Pottenger who have this region observing AST/ADT.
++
++Zone America/Blanc-Sablon -3:48:28 - LMT 1884
++ -4:00 Canada A%sT 1970
++ -4:00 - AST
++
+ # Cayman Is
+ Zone America/Cayman -5:25:32 - LMT 1890 # Georgetown
+ -5:07:10 - KMT 1912 Feb # Kingston Mean Time
+@@ -318,6 +542,85 @@
+ -5:00 NT_YK E%sT 1946
+ -5:00 - EST
+
++# From Chris Walton (2011-12-01):
++# There are two areas within the Canadian province of British Columbia
++# that do not currently observe daylight saving:
++# a) The Creston Valley (includes the town of Creston and surrounding area)
++# b) The eastern half of the Peace River Regional District
++# (includes the cities of Dawson Creek and Fort St. John)
++
++# Earlier this year I stumbled across a detailed article about the time
++# keeping history of Creston; it was written by Tammy Hardwick who is the
++# manager of the Creston & District Museum. The article was written in May 2009.
++# http://www.ilovecreston.com/?p=articles&t=spec&ar=260
++# According to the article, Creston has not changed its clocks since June 1918.
++# i.e. Creston has been stuck on UT-7 for 93 years.
++# Dawson Creek, on the other hand, changed its clocks as recently as April 1972.
++
++# Unfortunately the exact date for the time change in June 1918 remains
++# unknown and will be difficult to ascertain. I e-mailed Tammy a few months
++# ago to ask if Sunday June 2 was a reasonable guess. She said it was just
++# as plausible as any other date (in June). She also said that after writing
++# the article she had discovered another time change in 1916; this is the
++# subject of another article which she wrote in October 2010.
++# http://www.creston.museum.bc.ca/index.php?module=comments&uop=view_comment&cm+id=56
++
++# Here is a summary of the three clock change events in Creston's history:
++# 1. 1884 or 1885: adoption of Mountain Standard Time (GMT-7)
++# Exact date unknown
++# 2. Oct 1916: switch to Pacific Standard Time (GMT-8)
++# Exact date in October unknown; Sunday October 1 is a reasonable guess.
++# 3. June 1918: switch to Pacific Daylight Time (GMT-7)
++# Exact date in June unknown; Sunday June 2 is a reasonable guess.
++# note 1:
++# On Oct 27/1918 when daylight saving ended in the rest of Canada,
++# Creston did not change its clocks.
++# note 2:
++# During WWII when the Federal Government legislated a mandatory clock change,
++# Creston did not oblige.
++# note 3:
++# There is no guarantee that Creston will remain on Mountain Standard Time
++# (UTC-7) forever.
++# The subject was debated at least once this year by the town Council.
++# http://www.bclocalnews.com/kootenay_rockies/crestonvalleyadvance/news/116760809.html
++
++# During a period WWII, summer time (Daylight saying) was mandatory in Canada.
++# In Creston, that was handled by shifting the area to PST (-8:00) then applying
++# summer time to cause the offset to be -7:00, the same as it had been before
++# the change. It can be argued that the timezone abbreviation during this
++# period should be PDT rather than MST, but that doesn't seem important enough
++# (to anyone) to further complicate the rules.
++
++# The transition dates (and times) are guesses.
++
++Zone America/Creston -7:46:04 - LMT 1884
++ -7:00 - MST 1916 Oct 1
++ -8:00 - PST 1918 Jun 2
++ -7:00 - MST
++
++# Curaçao
++# Milne gives 4:35:46.9 for Curaçao mean time; round to nearest.
++#
++# From Paul Eggert (2006-03-22):
++# Shanks & Pottenger say that The Bottom and Philipsburg have been at
++# -4:00 since standard time was introduced on 1912-03-02; and that
++# Kralendijk and Rincon used Kralendijk Mean Time (-4:33:08) from
++# 1912-02-02 to 1965-01-01. The former is dubious, since S&P also say
++# Saba Island has been like Curaçao.
++# This all predates our 1970 cutoff, though.
++#
++# By July 2007 Curaçao and St Maarten are planned to become
++# associated states within the Netherlands, much like Aruba;
++# Bonaire, Saba and St Eustatius would become directly part of the
++# Netherlands as Kingdom Islands. This won't affect their time zones
++# though, as far as we know.
++#
++Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad
++ -4:30 - -0430 1965
++ -4:00 - AST
++Link America/Curacao America/Kralendijk
++Link America/Curacao America/Lower_Princes
++
+ # Dominica
+ Zone America/Dominica -4:05:36 - LMT 1911 Jul 1 0:01 # Roseau
+ -4:00 - AST
+@@ -340,6 +643,7 @@
+ Zone America/Guadeloupe -4:06:08 - LMT 1911 Jun 8 # Pointe-à-Pitre
+ -4:00 - AST
+
++
+ # Canada
+ #
+ # From Paul Eggert (2015-03-24):
+@@ -351,7 +655,6 @@
+ # Pottenger data. The post-1970 entries have been corrected, but the
+ # pre-1970 entries are unchecked and probably have errors.
+ #
+-# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+ Rule Mont 1917 only - Mar 25 2:00 1:00 D
+ Rule Mont 1917 only - Apr 24 0:00 0 S
+ Rule Mont 1919 only - Mar 31 2:30 1:00 D
+@@ -387,6 +690,48 @@
+ Zone America/Montserrat -4:08:52 - LMT 1911 Jul 1 0:01 # Cork Hill
+ -4:00 - AST
+
++# The Bahamas
++#
++# For 1899 Milne gives -5:09:29.5; round that.
++#
++# From P Chan (2020-11-27, corrected on 2020-12-02):
++# There were two periods of DST observed in 1942-1945: 1942-05-01
++# midnight to 1944-12-31 midnight and 1945-02-01 to 1945-10-17 midnight.
++# "midnight" should mean 24:00 from the context.
++#
++# War Time Order 1942 [1942-05-01] and War Time (No. 2) Order 1942 [1942-09-29]
++# Appendix to the Statutes of 7 George VI. and the Year 1942. p 34, 43
++# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA34
++# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA43
++#
++# War Time Order 1943 [1943-03-31] and War Time Order 1944 [1943-12-29]
++# Appendix to the Statutes of 8 George VI. and the Year 1943. p 9-10, 28-29
++# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA9
++# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA28
++#
++# War Time Order 1945 [1945-01-31] and the Order which revoke War Time Order
++# 1945 [1945-10-16] Appendix to the Statutes of 9 George VI. and the Year
++# 1945. p 160, 247-248
++# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA160
++# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA247
++#
++# From Sue Williams (2006-12-07):
++# The Bahamas announced about a month ago that they plan to change their DST
++# rules to sync with the U.S. starting in 2007....
++# http://www.jonesbahamas.com/?c=45&a=10412
++
++Rule Bahamas 1942 only - May 1 24:00 1:00 W
++Rule Bahamas 1944 only - Dec 31 24:00 0 S
++Rule Bahamas 1945 only - Feb 1 0:00 1:00 W
++Rule Bahamas 1945 only - Aug 14 23:00u 1:00 P # Peace
++Rule Bahamas 1945 only - Oct 17 24:00 0 S
++Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S
++Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D
++
++Zone America/Nassau -5:09:30 - LMT 1912 Mar 2
++ -5:00 Bahamas E%sT 1976
++ -5:00 US E%sT
++
+ # United States
+ #
+ # From Paul Eggert (2018-03-18):
+@@ -411,6 +756,12 @@
+ # https://cdnc.ucr.edu/cgi-bin/cdnc?a=d&d=DS19470110
+ # front page reports on end.
+
++# Trinidad and Tobago
++Zone America/Port_of_Spain -4:06:04 - LMT 1912 Mar 2
++ -4:00 - AST
++Link America/Port_of_Spain America/Marigot
++Link America/Port_of_Spain America/St_Barthelemy
++
+ # Argentina
+ # This entry was intended for the following areas, but has been superseded by
+ # more detailed zones.
+@@ -434,9 +785,10 @@
+ -4:04:00 - CMT 1912 # Castries Mean Time
+ -4:00 - AST
+
+-# Virgin Is
++# US Virgin Is
+ Zone America/St_Thomas -4:19:44 - LMT 1911 Jul # Charlotte Amalie
+ -4:00 - AST
++Link America/St_Thomas America/Virgin
+
+ # St Vincent and the Grenadines
+ Zone America/St_Vincent -4:04:56 - LMT 1890 # Kingstown
+@@ -447,11 +799,36 @@
+ Zone America/Tortola -4:18:28 - LMT 1911 Jul # Road Town
+ -4:00 - AST
+
++# Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11
++# <https://en.wikipedia.org/wiki/Dumont_d'Urville_Station> (2005-12-05)
++#
++# Another base at Port-Martin, 50km east, began operation in 1947.
++# It was destroyed by fire on 1952-01-14.
++#
++Zone Antarctica/DumontDUrville 0 - -00 1947
++ 10:00 - +10 1952 Jan 14
++ 0 - -00 1956 Nov
++ 10:00 - +10
++
+ # McMurdo, Ross Island, since 1955-12
+ Zone Antarctica/McMurdo 0 - -00 1956
+ 12:00 NZ NZ%sT
+ Link Antarctica/McMurdo Antarctica/South_Pole
+
++# Syowa, Antarctica
++#
++# From Hideyuki Suzuki (1999-02-06):
++# In all Japanese stations, +0300 is used as the standard time.
++#
++# Syowa station, which is the first antarctic station of Japan,
++# was established on 1957-01-29. Since Syowa station is still the main
++# station of Japan, it's appropriate for the principal location.
++# See:
++# NIPR Antarctic Research Activities (1999-08-17)
++# http://www.nipr.ac.jp/english/ara01.html
++Zone Antarctica/Syowa 0 - -00 1957 Jan 29
++ 3:00 - +03
++
+ # Yemen
+ # Milne says 2:59:54 was the meridian of the saluting battery at Aden,
+ # and that Yemen was at 1:55:56, the meridian of the Hagia Sophia.
+@@ -711,6 +1088,8 @@
+ 1:00 - CET 1982 Nov 27
+ 1:00 EU CE%sT
+
++
++
+ # Moldova / Transnistria
+ Zone Europe/Tiraspol 1:58:32 - LMT 1880
+ 1:55 - CMT 1918 Feb 15 # Chisinau MT
+@@ -749,10 +1128,22 @@
+ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
+ 3:00 - EAT
+
+-# US minor outlying islands
++# Phoenix Islands, Kiribati
++# From Paul Eggert (2021-05-27):
++# Enderbury was inhabited 1860/1880s to mine guano, and 1938-03-06/1942-02-09
++# for aviation (ostensibly commercial, but military uses foreseen).
++# The 19th-century dates are approximate. See Pacific/Kanton for
++# the currently-inhabited representative for this timezone.
++Zone Pacific/Enderbury 0 - -00 1860
++ -11:24:20 - LMT 1885
++ 0 - -00 1938 Mar 6
++ -12:00 - -12 1942 Feb 9
++ 0 - -00
++
++# Johnston
+ Zone Pacific/Johnston -10:00 - HST
+
+-# US minor outlying islands
++# Midway
+ #
+ # From Mark Brader (2005-01-23):
+ # [Fallacies and Fantasies of Air Transport History, by R.E.G. Davies,
+@@ -775,3 +1166,7 @@
+ 9:00 - +09 1969 Oct
+ 10:00 - +10 2000 Dec 23
+ 10:00 - ChST # Chamorro Standard Time
++
++# Local Variables:
++# coding: utf-8
++# End:
+--- contrib/tzdata/checktab.awk.orig
++++ contrib/tzdata/checktab.awk
+@@ -58,11 +58,12 @@
+ zone_table, zone_NR >>"/dev/stderr"
+ status = 1
+ }
+- split($1, cca, /,/)
+- cc = cca[1]
++ ccs = input_ccs[zone_NR] = $1
+ coordinates = $2
+ tz = $3
+- comments = $4
++ comments = input_comments[zone_NR] = $4
++ split(ccs, cca, /,/)
++ cc = cca[1]
+
+ # Don't complain about a special case for Crimea in zone.tab.
+ # FIXME: zone.tab should be removed, since it is obsolete.
+@@ -77,12 +78,9 @@
+ cc0 = cc
+ tz0 = tz
+ tztab[tz] = 1
+- tz2comments[tz] = comments
+ tz2NR[tz] = zone_NR
+ for (i in cca) {
+ cc = cca[i]
+- cctz = cc tz
+- cctztab[cctz] = 1
+ if (cc2name[cc]) {
+ cc_used[cc]++
+ } else {
+@@ -99,27 +97,27 @@
+ }
+ }
+
+- for (cctz in cctztab) {
+- cc = substr (cctz, 1, 2)
+- tz = substr (cctz, 3)
+- if (1 < cc_used[cc]) {
+- comments_needed[tz] = cc
+- }
+- }
+- for (cctz in cctztab) {
+- cc = substr (cctz, 1, 2)
+- tz = substr (cctz, 3)
+- if (!comments_needed[tz] && tz2comments[tz]) {
++ for (i = 1; i <= zone_NR; i++) {
++ ccs = input_ccs[i]
++ if (!ccs) continue
++ comments = input_comments[i]
++ split(ccs, cca, /,/)
++ used_max = 0
++ for (j in cca) {
++ cc = cca[j]
++ if (used_max < cc_used[cc]) {
++ used_max = cc_used[cc]
++ }
++ }
++ if (used_max <= 1 && comments) {
+ printf "%s:%d: unnecessary comment '%s'\n", \
+- zone_table, tz2NR[tz], tz2comments[tz] \
+- >>"/dev/stderr"
+- tz2comments[tz] = 0
++ zone_table, i, comments \
++ >>"/dev/stderr"
+ status = 1
+- } else if (comments_needed[tz] && !tz2comments[tz]) {
++ } else if (1 < cc_used[cc] && !comments) {
+ printf "%s:%d: missing comment for %s\n", \
+- zone_table, tz2NR[tz], comments_needed[tz] \
++ zone_table, i, cc \
+ >>"/dev/stderr"
+- tz2comments[tz] = 1
+ status = 1
+ }
+ }
+@@ -149,8 +147,8 @@
+ ruleUsed[$2] = 1
+ if ($3 ~ /%/) rulePercentUsed[$2] = 1
+ }
+- if (tz && tz ~ /\//) {
+- if (!tztab[tz]) {
++ if (tz && tz ~ /\// && tz !~ /^Etc\//) {
++ if (!tztab[tz] && FILENAME != "backward") {
+ printf "%s: no data for '%s'\n", zone_table, tz \
+ >>"/dev/stderr"
+ status = 1
+@@ -173,7 +171,7 @@
+ }
+ }
+ for (tz in tztab) {
+- if (!zoneSeen[tz]) {
++ if (!zoneSeen[tz] && tz !~ /^Etc\//) {
+ printf "%s:%d: no Zone table for '%s'\n", \
+ zone_table, tz2NR[tz], tz >>"/dev/stderr"
+ status = 1
+--- contrib/tzdata/europe.orig
++++ contrib/tzdata/europe
+@@ -68,7 +68,6 @@
+ # 0:00 GMT BST BDST Greenwich, British Summer
+ # 0:00 GMT IST Greenwich, Irish Summer
+ # 0:00 WET WEST WEMT Western Europe
+-# 0:19:32.13 AMT* NST* Amsterdam, Netherlands Summer (1835-1937)
+ # 1:00 BST British Standard (1968-1971)
+ # 1:00 IST GMT Irish Standard (1968-) with winter DST
+ # 1:00 CET CEST CEMT Central Europe
+@@ -1803,6 +1802,10 @@
+ 1:00 Italy CE%sT 1980
+ 1:00 EU CE%sT
+
++# Kosovo
++# See Europe/Belgrade.
++
++
+ Link Europe/Rome Europe/Vatican
+ Link Europe/Rome Europe/San_Marino
+
+@@ -2153,6 +2156,10 @@
+ # The data entries before 1945 are taken from
+ # https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm
+
++# From Paul Eggert (2021-05-09):
++# I invented the abbreviations AMT for Amsterdam Mean Time and NST for
++# Netherlands Summer Time, used in the Netherlands from 1835 to 1937.
++
+ # Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+ Rule Neth 1916 only - May 1 0:00 1:00 NST # Netherlands Summer Time
+ Rule Neth 1916 only - Oct 1 0:00 0 AMT # Amsterdam Mean Time
+@@ -2379,12 +2386,10 @@
+ Rule Port 1944 1945 - Apr Sat>=21 22:00s 2:00 M
+ Rule Port 1946 only - Apr Sat>=1 23:00s 1:00 S
+ Rule Port 1946 only - Oct Sat>=1 23:00s 0 -
+-Rule Port 1947 1949 - Apr Sun>=1 2:00s 1:00 S
+-Rule Port 1947 1949 - Oct Sun>=1 2:00s 0 -
+-# Shanks & Pottenger say DST was observed in 1950; go with Whitman.
++# Whitman says DST was not observed in 1950; go with Shanks & Pottenger.
+ # Whitman gives Oct lastSun for 1952 on; go with Shanks & Pottenger.
+-Rule Port 1951 1965 - Apr Sun>=1 2:00s 1:00 S
+-Rule Port 1951 1965 - Oct Sun>=1 2:00s 0 -
++Rule Port 1947 1965 - Apr Sun>=1 2:00s 1:00 S
++Rule Port 1947 1965 - Oct Sun>=1 2:00s 0 -
+ Rule Port 1977 only - Mar 27 0:00s 1:00 S
+ Rule Port 1977 only - Sep 25 0:00s 0 -
+ Rule Port 1978 1979 - Apr Sun>=1 0:00s 1:00 S
+@@ -2780,8 +2785,26 @@
+ # says he remembers that Samara opted out of the 1992-01-19 exception
+ # 2 days before the switch.
+ #
+-#
+-# From Paul Eggert (2016-03-18):
++# From Alois Treindl (2022-02-15):
++# the Russian wikipedia page
++# https://ru.wikipedia.org/wiki/Московское_время#Перемещение_границы_применения_московского_времени_на_восток
++# contains the sentence (in Google translation) "In the autumn of
++# 1981, Arkhangelsk, Vologda, Yaroslavl, Ivanovo, Vladimir, Ryazan,
++# Lipetsk, Voronezh, Rostov-on-Don, Krasnodar and regions to the east
++# of those named (about 30 in total) parted ways with Moscow time.
++# However, the convenience of common time with Moscow turned out to be
++# decisive - in 1982, these regions again switched to Moscow time."
++# Shanks International atlas has similar information, and also the
++# Russian book Zaitsev A., Kutalev D. A new astrologer's reference
++# book. Coordinates of cities and time corrections, - The World of
++# Urania, 2012 (Russian: Зайцев А., Куталёв Д., Новый справочник
++# астролога. Координаты городов и временные поправки).
++# To me it seems that an extra zone is needed, which starts with LMT
++# util 1919, later follows Moscow since 1930, but deviates from it
++# between 1 October 1981 until 1 April 1982.
++#
++#
++# From Paul Eggert (2022-02-15):
+ # Given the above, we appear to be missing some Zone entries for the
+ # chaotic early 1980s in Russia. It's not clear what these entries
+ # should be. For now, sweep this under the rug and just document the
+@@ -2828,7 +2851,7 @@
+ 1:00 C-Eur CE%sT 1944 Apr 13
+ 3:00 Russia MSK/MSD 1990
+ 3:00 - MSK 1990 Jul 1 2:00
+- 2:00 - EET 1992
++ 2:00 - EET 1992 Mar 20
+ # Central Crimea used Moscow time 1994/1997.
+ #
+ # From Paul Eggert (2006-03-22):
+@@ -2838,7 +2861,7 @@
+ # sometime between the 1994 DST switches. Shanks & Pottenger simply say
+ # 1994-09-25 03:00, but that can't be right. For now, guess it
+ # changed in May.
+- 2:00 E-Eur EE%sT 1994 May
++ 2:00 C-Eur EE%sT 1994 May
+ # From IATA SSIM (1994/1997), which also says that Kerch is still like Kiev.
+ 3:00 E-Eur MSK/MSD 1996 Mar 31 0:00s
+ 3:00 1:00 MSD 1996 Oct 27 3:00s
+@@ -3686,6 +3709,9 @@
+ #
+ # Source: The newspaper "Dagens Nyheter", 1916-10-01, page 7 upper left.
+
++# An extra-special abbreviation style is SET for Swedish Time (svensk
++# normaltid) 1879-1899, 3° west of the Stockholm Observatory.
++
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone Europe/Stockholm 1:12:12 - LMT 1879 Jan 1
+ 1:00:14 - SET 1900 Jan 1 # Swedish Time
+@@ -4002,6 +4028,27 @@
+
+ # Ukraine
+ #
++# From Alois Triendl (2014-03-01):
++# REGULATION A N O V A on March 20, 1992 N 139 ... means that from
++# 1992 on, Ukraine had DST with begin time at 02:00 am, on last Sunday
++# in March, and end time 03:00 am, last Sunday in September....
++# CABINET OF MINISTERS OF UKRAINE RESOLUTION on May 13, 1996 N 509
++# "On the order of computation time on the territory of Ukraine" ....
++# As this cabinet decision is from May 1996, it seems likely that the
++# transition in March 1996, which predates it, was still at 2:00 am
++# and not at 3:00 as would have been under EU rules.
++# This is why I have set the change to EU rules into May 1996,
++# so that the change in March is stil covered by the Ukraine rule.
++# The next change in October 1996 happened under EU rules....
++# TZ database holds three other zones for Ukraine.... I have not yet
++# worked out the consequences for these three zones, as we (me and my
++# US colleague David Cochrane) are still trying to get more
++# information upon these local deviations from Kiev rules.
++#
++# From Paul Eggert (2022-02-08):
++# For now, assume that Ukraine's other three zones followed the same rules,
++# except that Crimea switched to Moscow time in 1994 as described elsewhere.
++
+ # From Igor Karpov, who works for the Ukrainian Ministry of Justice,
+ # via Garrett Wollman (2003-01-27):
+ # BTW, I've found the official document on this matter. It's government
+@@ -4091,7 +4138,7 @@
+ 1:00 C-Eur CE%sT 1943 Nov 6
+ 3:00 Russia MSK/MSD 1990 Jul 1 2:00
+ 2:00 1:00 EEST 1991 Sep 29 3:00
+- 2:00 E-Eur EE%sT 1995
++ 2:00 C-Eur EE%sT 1996 May 13
+ 2:00 EU EE%sT
+ # Transcarpathia used CET 1990/1991.
+ # "Uzhhorod" is the transliteration of the Rusyn/Ukrainian pronunciation, but
+@@ -4104,8 +4151,8 @@
+ 3:00 Russia MSK/MSD 1990
+ 3:00 - MSK 1990 Jul 1 2:00
+ 1:00 - CET 1991 Mar 31 3:00
+- 2:00 - EET 1992
+- 2:00 E-Eur EE%sT 1995
++ 2:00 - EET 1992 Mar 20
++ 2:00 C-Eur EE%sT 1996 May 13
+ 2:00 EU EE%sT
+ # Zaporozh'ye and eastern Lugansk oblasts observed DST 1990/1991.
+ # "Zaporizhia" is the transliteration of the Ukrainian name, but
+@@ -4118,7 +4165,8 @@
+ 3:00 - MSK 1941 Aug 25
+ 1:00 C-Eur CE%sT 1943 Oct 25
+ 3:00 Russia MSK/MSD 1991 Mar 31 2:00
+- 2:00 E-Eur EE%sT 1995
++ 2:00 E-Eur EE%sT 1992 Mar 20
++ 2:00 C-Eur EE%sT 1996 May 13
+ 2:00 EU EE%sT
+
+ # Vatican City
+--- contrib/tzdata/leap-seconds.list.orig
++++ contrib/tzdata/leap-seconds.list
+@@ -204,10 +204,10 @@
+ # current -- the update time stamp, the data and the name of the file
+ # will not change.
+ #
+-# Updated through IERS Bulletin C61
+-# File expires on: 28 December 2021
++# Updated through IERS Bulletin C63
++# File expires on: 28 December 2022
+ #
+-#@ 3849638400
++#@ 3881174400
+ #
+ 2272060800 10 # 1 Jan 1972
+ 2287785600 11 # 1 Jul 1972
+@@ -252,4 +252,4 @@
+ # the hash line is also ignored in the
+ # computation.
+ #
+-#h 2ab8253d d4380d28 75f01343 381504f8 8f8a4bfc
++#h 732b2044 5863a938 b7e43179 1339c710 ded63837
+--- contrib/tzdata/leapseconds.orig
++++ contrib/tzdata/leapseconds
+@@ -72,11 +72,11 @@
+ # Any additional leap seconds will come after this.
+ # This Expires line is commented out for now,
+ # so that pre-2020a zic implementations do not reject this file.
+-#Expires 2021 Dec 28 00:00:00
++#Expires 2022 Dec 28 00:00:00
+
+ # POSIX timestamps for the data in this file:
+ #updated 1467936000 (2016-07-08 00:00:00 UTC)
+-#expires 1640649600 (2021-12-28 00:00:00 UTC)
++#expires 1672185600 (2022-12-28 00:00:00 UTC)
+
+-# Updated through IERS Bulletin C61
+-# File expires on: 28 December 2021
++# Updated through IERS Bulletin C63
++# File expires on: 28 December 2022
+--- contrib/tzdata/northamerica.orig
++++ contrib/tzdata/northamerica
+@@ -729,7 +729,11 @@
+ -11:00 US B%sT 1983 Oct 30 2:00
+ -10:00 US AH%sT 1983 Nov 30
+ -10:00 US H%sT
+-# The following switches don't quite make our 1970 cutoff.
++# The following switches don't make our 1970 cutoff.
++#
++# Kiska observed Tokyo date and time during Japanese occupation from
++# 1942-06-06 to 1943-07-29, and similarly for Attu from 1942-06-07 to
++# 1943-05-29 (all dates American). Both islands are now uninhabited.
+ #
+ # Shanks writes that part of southwest Alaska (e.g. Aniak)
+ # switched from -11:00 to -10:00 on 1968-09-22 at 02:00,
+@@ -825,6 +829,8 @@
+ -7:00 - MST 1967
+ -7:00 US M%sT 1968 Mar 21
+ -7:00 - MST
++Link America/Phoenix America/Creston
++
+ # From Arthur David Olson (1988-02-13):
+ # A writer from the Inter Tribal Council of Arizona, Inc.,
+ # notes in private correspondence dated 1987-12-28 that "Presently, only the
+@@ -1593,24 +1599,7 @@
+ # From Paul Eggert (2020-01-10):
+ # See America/Toronto for most of Quebec, including Montreal.
+ # See America/Halifax for the Îles de la Madeleine and the Listuguj reserve.
+-#
+-# Matthews and Vincent (1998) also write that Quebec east of the -63
+-# meridian is supposed to observe AST, but residents as far east as
+-# Natashquan use EST/EDT, and residents east of Natashquan use AST.
+-# The Quebec department of justice writes in
+-# "The situation in Minganie and Basse-Côte-Nord"
+-# https://www.justice.gouv.qc.ca/en/department/ministre/functions-and-responsabilities/legal-time-in-quebec/the-situation-in-minganie-and-basse-cote-nord/
+-# that the coastal strip from just east of Natashquan to Blanc-Sablon
+-# observes Atlantic standard time all year round.
+-# This common practice was codified into law as of 2007; see Legal Time Act,
+-# CQLR c T-5.1 <http://legisquebec.gouv.qc.ca/en/ShowDoc/cs/T-5.1>.
+-# For lack of better info, guess this practice began around 1970, contra to
+-# Shanks & Pottenger who have this region observing AST/ADT.
+-
+-# Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone America/Blanc-Sablon -3:48:28 - LMT 1884
+- -4:00 Canada A%sT 1970
+- -4:00 - AST
++# See America/Puerto_Rico for east of Natashquan.
+
+ # Ontario
+
+@@ -1649,54 +1638,6 @@
+ # time became a comic failure in Orillia. Toronto Star 2017-07-08.
+ # https://www.thestar.com/news/insight/2017/07/08/bold-attempt-at-daylight-saving-time-became-a-comic-failure-in-orillia.html
+
+-# From Paul Eggert (1997-10-17):
+-# Mark Brader writes that an article in the 1997-10-14 Toronto Star
+-# says that Atikokan, Ontario currently does not observe DST,
+-# but will vote on 11-10 whether to use EST/EDT.
+-# He also writes that the Ontario Time Act (1990, Chapter T.9)
+-# http://www.gov.on.ca/MBS/english/publications/statregs/conttext.html
+-# says that Ontario east of 90W uses EST/EDT, and west of 90W uses CST/CDT.
+-# Officially Atikokan is therefore on CST/CDT, and most likely this report
+-# concerns a non-official time observed as a matter of local practice.
+-#
+-# From Paul Eggert (2000-10-02):
+-# Matthews and Vincent (1998) write that Atikokan, Pickle Lake, and
+-# New Osnaburgh observe CST all year, that Big Trout Lake observes
+-# CST/CDT, and that Upsala and Shebandowan observe EST/EDT, all in
+-# violation of the official Ontario rules.
+-#
+-# From Paul Eggert (2006-07-09):
+-# Chris Walton (2006-07-06) mentioned an article by Stephanie MacLellan in the
+-# 2005-07-21 Chronicle-Journal, which said:
+-#
+-# The clocks in Atikokan stay set on standard time year-round.
+-# This means they spend about half the time on central time and
+-# the other half on eastern time.
+-#
+-# For the most part, the system works, Mayor Dennis Brown said.
+-#
+-# "The majority of businesses in Atikokan deal more with Eastern
+-# Canada, but there are some that deal with Western Canada," he
+-# said. "I don't see any changes happening here."
+-#
+-# Walton also writes "Supposedly Pickle Lake and Mishkeegogamang
+-# [New Osnaburgh] follow the same practice."
+-
+-# From Garry McKinnon (2006-07-14) via Chris Walton:
+-# I chatted with a member of my board who has an outstanding memory
+-# and a long history in Atikokan (and in the telecom industry) and he
+-# can say for certain that Atikokan has been practicing the current
+-# time keeping since 1952, at least.
+-
+-# From Paul Eggert (2006-07-17):
+-# Shanks & Pottenger say that Atikokan has agreed with Rainy River
+-# ever since standard time was introduced, but the information from
+-# McKinnon sounds more authoritative. For now, assume that Atikokan
+-# switched to EST immediately after WWII era daylight saving time
+-# ended. This matches the old (less-populous) America/Coral_Harbour
+-# entry since our cutoff date of 1970, so we can move
+-# America/Coral_Harbour to the 'backward' file.
+-
+ # From Mark Brader (2010-03-06):
+ #
+ # Currently the database has:
+@@ -1827,6 +1768,7 @@
+ -5:00 Canada E%sT 1946
+ -5:00 Toronto E%sT 1974
+ -5:00 Canada E%sT
++Link America/Toronto America/Nassau
+ Zone America/Thunder_Bay -5:57:00 - LMT 1895
+ -6:00 - CST 1910
+ -5:00 - EST 1942
+@@ -1842,11 +1784,7 @@
+ -6:00 Canada C%sT 1940 Sep 29
+ -6:00 1:00 CDT 1942 Feb 9 2:00s
+ -6:00 Canada C%sT
+-Zone America/Atikokan -6:06:28 - LMT 1895
+- -6:00 Canada C%sT 1940 Sep 29
+- -6:00 1:00 CDT 1942 Feb 9 2:00s
+- -6:00 Canada C%sT 1945 Sep 30 2:00
+- -5:00 - EST
++# For Atikokan see America/Panama.
+
+
+ # Manitoba
+@@ -2037,60 +1975,6 @@
+ # Shanks & Pottenger write that since 1970 most of this region has
+ # been like Vancouver.
+ # Dawson Creek uses MST. Much of east BC is like Edmonton.
+-# Matthews and Vincent (1998) write that Creston is like Dawson Creek.
+-
+-# It seems though that (re: Creston) is not entirely correct:
+-
+-# From Chris Walton (2011-12-01):
+-# There are two areas within the Canadian province of British Columbia
+-# that do not currently observe daylight saving:
+-# a) The Creston Valley (includes the town of Creston and surrounding area)
+-# b) The eastern half of the Peace River Regional District
+-# (includes the cities of Dawson Creek and Fort St. John)
+-
+-# Earlier this year I stumbled across a detailed article about the time
+-# keeping history of Creston; it was written by Tammy Hardwick who is the
+-# manager of the Creston & District Museum. The article was written in May 2009.
+-# http://www.ilovecreston.com/?p=articles&t=spec&ar=260
+-# According to the article, Creston has not changed its clocks since June 1918.
+-# i.e. Creston has been stuck on UT-7 for 93 years.
+-# Dawson Creek, on the other hand, changed its clocks as recently as April 1972.
+-
+-# Unfortunately the exact date for the time change in June 1918 remains
+-# unknown and will be difficult to ascertain. I e-mailed Tammy a few months
+-# ago to ask if Sunday June 2 was a reasonable guess. She said it was just
+-# as plausible as any other date (in June). She also said that after writing
+-# the article she had discovered another time change in 1916; this is the
+-# subject of another article which she wrote in October 2010.
+-# http://www.creston.museum.bc.ca/index.php?module=comments&uop=view_comment&cm+id=56
+-
+-# Here is a summary of the three clock change events in Creston's history:
+-# 1. 1884 or 1885: adoption of Mountain Standard Time (GMT-7)
+-# Exact date unknown
+-# 2. Oct 1916: switch to Pacific Standard Time (GMT-8)
+-# Exact date in October unknown; Sunday October 1 is a reasonable guess.
+-# 3. June 1918: switch to Pacific Daylight Time (GMT-7)
+-# Exact date in June unknown; Sunday June 2 is a reasonable guess.
+-# note 1:
+-# On Oct 27/1918 when daylight saving ended in the rest of Canada,
+-# Creston did not change its clocks.
+-# note 2:
+-# During WWII when the Federal Government legislated a mandatory clock change,
+-# Creston did not oblige.
+-# note 3:
+-# There is no guarantee that Creston will remain on Mountain Standard Time
+-# (UTC-7) forever.
+-# The subject was debated at least once this year by the town Council.
+-# http://www.bclocalnews.com/kootenay_rockies/crestonvalleyadvance/news/116760809.html
+-
+-# During a period WWII, summer time (Daylight saying) was mandatory in Canada.
+-# In Creston, that was handled by shifting the area to PST (-8:00) then applying
+-# summer time to cause the offset to be -7:00, the same as it had been before
+-# the change. It can be argued that the timezone abbreviation during this
+-# period should be PDT rather than MST, but that doesn't seem important enough
+-# (to anyone) to further complicate the rules.
+-
+-# The transition dates (and times) are guesses.
+
+ # From Matt Johnson (2015-09-21):
+ # Fort Nelson, BC, Canada will cancel DST this year. So while previously they
+@@ -2144,10 +2028,7 @@
+ -8:00 Vanc P%sT 1987
+ -8:00 Canada P%sT 2015 Mar 8 2:00
+ -7:00 - MST
+-Zone America/Creston -7:46:04 - LMT 1884
+- -7:00 - MST 1916 Oct 1
+- -8:00 - PST 1918 Jun 2
+- -7:00 - MST
++# For Creston see America/Phoenix.
+
+ # Northwest Territories, Nunavut, Yukon
+
+@@ -2929,64 +2810,61 @@
+
+ # Anguilla
+ # Antigua and Barbuda
+-# See America/Port_of_Spain.
++# See America/Puerto_Rico.
+
+-# Bahamas
+-#
+-# For 1899 Milne gives -5:09:29.5; round that.
+-#
+-# From P Chan (2020-11-27, corrected on 2020-12-02):
+-# There were two periods of DST observed in 1942-1945: 1942-05-01
+-# midnight to 1944-12-31 midnight and 1945-02-01 to 1945-10-17 midnight.
+-# "midnight" should mean 24:00 from the context.
+-#
+-# War Time Order 1942 [1942-05-01] and War Time (No. 2) Order 1942 [1942-09-29]
+-# Appendix to the Statutes of 7 George VI. and the Year 1942. p 34, 43
+-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA34
+-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA43
+-#
+-# War Time Order 1943 [1943-03-31] and War Time Order 1944 [1943-12-29]
+-# Appendix to the Statutes of 8 George VI. and the Year 1943. p 9-10, 28-29
+-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA9
+-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA28
+-#
+-# War Time Order 1945 [1945-01-31] and the Order which revoke War Time Order
+-# 1945 [1945-10-16] Appendix to the Statutes of 9 George VI. and the Year
+-# 1945. p 160, 247-248
+-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA160
+-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA247
+-#
+-# From Sue Williams (2006-12-07):
+-# The Bahamas announced about a month ago that they plan to change their DST
+-# rules to sync with the U.S. starting in 2007....
+-# http://www.jonesbahamas.com/?c=45&a=10412
++# The Bahamas
++# See America/Toronto.
+
+-# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+-Rule Bahamas 1942 only - May 1 24:00 1:00 W
+-Rule Bahamas 1944 only - Dec 31 24:00 0 S
+-Rule Bahamas 1945 only - Feb 1 0:00 1:00 W
+-Rule Bahamas 1945 only - Aug 14 23:00u 1:00 P # Peace
+-Rule Bahamas 1945 only - Oct 17 24:00 0 S
+-Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S
+-Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D
+-# Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone America/Nassau -5:09:30 - LMT 1912 Mar 2
+- -5:00 Bahamas E%sT 1976
+- -5:00 US E%sT
+
+ # Barbados
+
+ # For 1899 Milne gives -3:58:29.2; round that.
+
++# From P Chan (2020-12-09 and 2020-12-11):
++# Standard time of GMT-4 was adopted in 1911.
++# Definition of Time Act, 1911 (1911-7) [1911-08-28]
++# 1912, Laws of Barbados (5 v.), OCLC Number: 919801291, Vol. 4, Image No. 522
++# 1944, Laws of Barbados (5 v.), OCLC Number: 84548697, Vol. 4, Image No. 122
++# http://llmc.com/browse.aspx?type=2&coll=85&div=297
++#
++# DST was observed in 1942-44.
++# Defence (Daylight Saving) Regulations, 1942, 1942-04-13
++# Defence (Daylight Saving) (Repeal) Regulations, 1942, 1942-08-22
++# Defence (Daylight Saving) Regulations, 1943, 1943-04-16
++# Defence (Daylight Saving) (Repeal) Regulations, 1943, 1943-09-01
++# Defence (Daylight Saving) Regulations, 1944, 1944-03-21
++# [Defence (Daylight Saving) (Amendment) Regulations 1944, 1944-03-28]
++# Defence (Daylight Saving) (Repeal) Regulations, 1944, 1944-08-30
++#
++# 1914-, Subsidiary Legis., Annual Vols. OCLC Number: 226290591
++# 1942: Image Nos. 527-528, 555-556
++# 1943: Image Nos. 178-179, 198
++# 1944: Image Nos. 113-115, 129
++# http://llmc.com/titledescfull.aspx?type=2&coll=85&div=297&set=98437
++#
++# From Tim Parenti (2021-02-20):
++# The transitions below are derived from P Chan's sources, except that the 1977
++# through 1980 transitions are from Shanks & Pottenger since we have no better
++# data there. Of particular note, the 1944 DST regulation only advanced the
++# time to "exactly three and a half hours later than Greenwich mean time", as
++# opposed to "three hours" in the 1942 and 1943 regulations.
++
+ # Rule NAME FROM TO - IN ON AT SAVE LETTER/S
++Rule Barb 1942 only - Apr 19 5:00u 1:00 D
++Rule Barb 1942 only - Aug 31 6:00u 0 S
++Rule Barb 1943 only - May 2 5:00u 1:00 D
++Rule Barb 1943 only - Sep 5 6:00u 0 S
++Rule Barb 1944 only - Apr 10 5:00u 0:30 -
++Rule Barb 1944 only - Sep 10 6:00u 0 S
+ Rule Barb 1977 only - Jun 12 2:00 1:00 D
+ Rule Barb 1977 1978 - Oct Sun>=1 2:00 0 S
+ Rule Barb 1978 1980 - Apr Sun>=15 2:00 1:00 D
+ Rule Barb 1979 only - Sep 30 2:00 0 S
+ Rule Barb 1980 only - Sep 25 2:00 0 S
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown
+- -3:58:29 - BMT 1932 # Bridgetown Mean Time
++Zone America/Barbados -3:58:29 - LMT 1911 Aug 28 # Bridgetown
++ -4:00 Barb A%sT 1944
++ -4:00 Barb AST/-0330 1945
+ -4:00 Barb A%sT
+
+ # Belize
+@@ -3148,6 +3026,9 @@
+ -4:00 Canada A%sT 1976
+ -4:00 US A%sT
+
++# Caribbean Netherlands
++# See America/Puerto_Rico.
++
+ # Cayman Is
+ # See America/Panama.
+
+@@ -3376,7 +3257,7 @@
+ -5:00 Cuba C%sT
+
+ # Dominica
+-# See America/Port_of_Spain.
++# See America/Puerto_Rico.
+
+ # Dominican Republic
+
+@@ -3428,7 +3309,7 @@
+ # Guadeloupe
+ # St Barthélemy
+ # St Martin (French part)
+-# See America/Port_of_Spain.
++# See America/Puerto_Rico.
+
+ # Guatemala
+ #
+@@ -3615,7 +3496,7 @@
+ -4:00 - AST
+
+ # Montserrat
+-# See America/Port_of_Spain.
++# See America/Puerto_Rico.
+
+ # Nicaragua
+ #
+@@ -3687,6 +3568,7 @@
+ Zone America/Panama -5:18:08 - LMT 1890
+ -5:19:36 - CMT 1908 Apr 22 # Colón Mean Time
+ -5:00 - EST
++Link America/Panama America/Atikokan
+ Link America/Panama America/Cayman
+
+ # Puerto Rico
+@@ -3696,10 +3578,29 @@
+ -4:00 - AST 1942 May 3
+ -4:00 US A%sT 1946
+ -4:00 - AST
++Link America/Puerto_Rico America/Anguilla
++Link America/Puerto_Rico America/Antigua
++Link America/Puerto_Rico America/Aruba
++Link America/Puerto_Rico America/Curacao
++Link America/Puerto_Rico America/Blanc-Sablon # Quebec (Lower North Shore)
++Link America/Puerto_Rico America/Dominica
++Link America/Puerto_Rico America/Grenada
++Link America/Puerto_Rico America/Guadeloupe
++Link America/Puerto_Rico America/Kralendijk # Caribbean Netherlands
++Link America/Puerto_Rico America/Lower_Princes # Sint Maarten
++Link America/Puerto_Rico America/Marigot # St Martin (French part)
++Link America/Puerto_Rico America/Montserrat
++Link America/Puerto_Rico America/Port_of_Spain # Trinidad & Tobago
++Link America/Puerto_Rico America/St_Barthelemy # St Barthélemy
++Link America/Puerto_Rico America/St_Kitts # St Kitts & Nevis
++Link America/Puerto_Rico America/St_Lucia
++Link America/Puerto_Rico America/St_Thomas # Virgin Islands (US)
++Link America/Puerto_Rico America/St_Vincent
++Link America/Puerto_Rico America/Tortola # Virgin Islands (UK)
+
+ # St Kitts-Nevis
+ # St Lucia
+-# See America/Port_of_Spain.
++# See America/Puerto_Rico.
+
+ # St Pierre and Miquelon
+ # There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
+@@ -3710,7 +3611,10 @@
+ -3:00 Canada -03/-02
+
+ # St Vincent and the Grenadines
+-# See America/Port_of_Spain.
++# See America/Puerto_Rico.
++
++# Sint Maarten
++# See America/Puerto_Rico.
+
+ # Turks and Caicos
+ #
+@@ -3781,8 +3685,8 @@
+ -5:00 US E%sT
+
+ # British Virgin Is
+-# Virgin Is
+-# See America/Port_of_Spain.
++# US Virgin Is
++# See America/Puerto_Rico.
+
+
+ # Local Variables:
+--- contrib/tzdata/southamerica.orig
++++ contrib/tzdata/southamerica
+@@ -574,7 +574,7 @@
+ -3:00 - -03
+
+ # Aruba
+-Link America/Curacao America/Aruba
++# See America/Puerto_Rico.
+
+ # Bolivia
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+@@ -1086,7 +1086,7 @@
+
+ # Chile
+
+-# From Paul Eggert (2015-04-03):
++# From Paul Eggert (2022-03-15):
+ # Shanks & Pottenger says America/Santiago introduced standard time in
+ # 1890 and rounds its UT offset to 70W40; guess that in practice this
+ # was the same offset as in 1916-1919. It also says Pacific/Easter
+@@ -1109,7 +1109,7 @@
+ # Historia de la hora oficial de Chile (retrieved 2012-10-24). See:
+ # https://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm
+ # A fancier Spanish version (requiring mouse-clicking) is at:
+-# http://www.horaoficial.cl/historia_hora.html
++# http://www.horaoficial.cl/historia_hora.php
+ # Conflicts between [1] and [2] were resolved as follows:
+ #
+ # - [1] says the 1910 transition was Jan 1, [2] says Jan 10 and cites
+@@ -1118,7 +1118,8 @@
+ # - [1] says SMT was -4:42:45, [2] says Chile's official time from
+ # 1916 to 1919 was -4:42:46.3, the meridian of Chile's National
+ # Astronomical Observatory (OAN), then located in what is now
+-# Quinta Normal in Santiago. Go with [2], rounding it to -4:42:46.
++# Quinta Normal in Santiago. Go with [1], as this matches the meridian
++# referred to by the relevant Chilean laws to this day.
+ #
+ # - [1] says the 1918 transition was Sep 1, [2] says Sep 10 and cites
+ # Boletín No. 22, Aviso No. 129/1918 (1918-08-23). Go with [2].
+@@ -1140,6 +1141,32 @@
+ # this is known to work for DST transitions starting in 2008 and
+ # may well be true for earlier transitions.
+
++# From Tim Parenti (2022-03-15):
++# For a brief period of roughly six weeks in 1946, DST was only observed on an
++# emergency basis in specific regions of central Chile; namely, "the national
++# territory between the provinces of Coquimbo and Concepción, inclusive".
++# This was enacted by Decree 3,891, dated 1946-07-13, and took effect
++# 1946-07-14 24:00, advancing these central regions to -03.
++# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19460715/#page/1
++# The decree contemplated "[t]hat this advancement of the Official Time, even
++# though it has been proposed for the cities of Santiago and Valparaíso only,
++# must be agreed with that of other cities, due to the connection of various
++# activities that require it, such as, for example, the operation of rail
++# services". It was originally set to expire after 30 days but was extended
++# through 1946-08-31 by Decree 4,506, dated 1946-08-13.
++# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19460814/#page/1
++#
++# Law Number 8,522, promulgated 1946-08-27, reunified Chilean clocks at their
++# new "Summer Time" of -04, reckoned as that of "the meridian of the
++# Astronomical Observatory of Lo Espejo, advanced by 42 minutes and 45
++# seconds".
++# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19460828/#page/1
++# After a brief "Winter Time" stint at -05 beginning 1947-04-01, Law Number
++# 8,777, promulgated 1947-05-17, established year-round -04 "from 23:00 on the
++# second day after it is published in the 'Diario Oficial'." It was published
++# on Monday 1947-05-19 and so took effect from Wednesday 1947-05-21 23:00.
++# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19470519/#page/1
++
+ # From Eduardo Krell (1995-10-19):
+ # The law says to switch to DST at midnight [24:00] on the second SATURDAY
+ # of October.... The law is the same for March and October.
+@@ -1298,12 +1325,12 @@
+ # IATA SSIM anomalies: (1992-02) says 1992-03-14;
+ # (1996-09) says 1998-03-08. Ignore these.
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone America/Santiago -4:42:46 - LMT 1890
+- -4:42:46 - SMT 1910 Jan 10 # Santiago Mean Time
++Zone America/Santiago -4:42:45 - LMT 1890
++ -4:42:45 - SMT 1910 Jan 10 # Santiago Mean Time
+ -5:00 - -05 1916 Jul 1
+- -4:42:46 - SMT 1918 Sep 10
++ -4:42:45 - SMT 1918 Sep 10
+ -4:00 - -04 1919 Jul 1
+- -4:42:46 - SMT 1927 Sep 1
++ -4:42:45 - SMT 1927 Sep 1
+ -5:00 Chile -05/-04 1932 Sep 1
+ -4:00 - -04 1942 Jun 1
+ -5:00 - -05 1942 Aug 1
+@@ -1313,11 +1340,11 @@
+ -5:00 - -05 1947 May 21 23:00
+ -4:00 Chile -04/-03
+ Zone America/Punta_Arenas -4:43:40 - LMT 1890
+- -4:42:46 - SMT 1910 Jan 10
++ -4:42:45 - SMT 1910 Jan 10
+ -5:00 - -05 1916 Jul 1
+- -4:42:46 - SMT 1918 Sep 10
++ -4:42:45 - SMT 1918 Sep 10
+ -4:00 - -04 1919 Jul 1
+- -4:42:46 - SMT 1927 Sep 1
++ -4:42:45 - SMT 1927 Sep 1
+ -5:00 Chile -05/-04 1932 Sep 1
+ -4:00 - -04 1942 Jun 1
+ -5:00 - -05 1942 Aug 1
+@@ -1369,35 +1396,14 @@
+ # no information; probably like America/Bogota
+
+ # Curaçao
+-
+-# Milne gives 4:35:46.9 for Curaçao mean time; round to nearest.
++# See America/Puerto_Rico.
+ #
+-# From Paul Eggert (2006-03-22):
+-# Shanks & Pottenger say that The Bottom and Philipsburg have been at
+-# -4:00 since standard time was introduced on 1912-03-02; and that
+-# Kralendijk and Rincon used Kralendijk Mean Time (-4:33:08) from
+-# 1912-02-02 to 1965-01-01. The former is dubious, since S&P also say
+-# Saba Island has been like Curaçao.
+-# This all predates our 1970 cutoff, though.
+-#
+-# By July 2007 Curaçao and St Maarten are planned to become
+-# associated states within the Netherlands, much like Aruba;
+-# Bonaire, Saba and St Eustatius would become directly part of the
+-# Netherlands as Kingdom Islands. This won't affect their time zones
+-# though, as far as we know.
+-#
+-# Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad
+- -4:30 - -0430 1965
+- -4:00 - AST
+-
+ # From Arthur David Olson (2011-06-15):
+ # use links for places with new iso3166 codes.
+ # The name "Lower Prince's Quarter" is both longer than fourteen characters
+-# and contains an apostrophe; use "Lower_Princes" below.
+-
+-Link America/Curacao America/Lower_Princes # Sint Maarten
+-Link America/Curacao America/Kralendijk # Caribbean Netherlands
++# and contains an apostrophe; use "Lower_Princes"....
++# From Paul Eggert (2021-09-29):
++# These backward-compatibility links now are in the 'northamerica' file.
+
+ # Ecuador
+ #
+@@ -1540,11 +1546,40 @@
+ -3:00 - -03
+
+ # Guyana
++
++# From P Chan (2020-11-27):
++# https://books.google.com/books?id=5-5CAQAAMAAJ&pg=SA1-PA547
++# The Official Gazette of British Guiana. (New Series.) Vol. XL. July to
++# December, 1915, p 1547, lists as several notes:
++# "Local Mean Time 3 hours 52 mins. 39 secs. slow of Greenwich Mean Time
++# (Georgetown.) From 1st August, 1911, British Guiana Standard Mean Time 4
++# hours slow of Greenwich Mean Time, by notice in Official Gazette on 1st July,
++# 1911. From 1st March, 1915, British Guiana Standard Mean Time 3 hours 45
++# mins. 0 secs. slow of Greenwich Mean Time, by notice in Official Gazette on
++# 23rd January, 1915."
++#
++# https://parliament.gov.gy/documents/acts/10923-act_no._27_of_1975_-_interpretation_and_general_clauses_(amendment)_act_1975.pdf
++# Interpretation and general clauses (Amendment) Act 1975 (Act No. 27 of 1975)
++# [dated 1975-07-31]
++# "This Act...shall come into operation on 1st August, 1975."
++# "...where any expression of time occurs...the time referred to shall signify
++# the standard time of Guyana which shall be three hours behind Greenwich Mean
++# Time."
++#
++# Circular No. 10/1992 dated 1992-03-20
++# https://dps.gov.gy/wp-content/uploads/2018/12/1992-03-20-Circular-010.pdf
++# "...cabinet has decided that with effect from Sunday 29th March, 1992, Guyana
++# Standard Time would be re-established at 01:00 hours by adjusting the hands
++# of the clock back to 24:00 hours."
++# Legislated in the Interpretation and general clauses (Amendment) Act 1992
++# (Act No. 6 of 1992) [passed 1992-03-27, published 1992-04-18]
++# https://parliament.gov.gy/documents/acts/5885-6_of_1992_interpretation_and_general_clauses_(amendment)_act_1992.pdf
++
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown
+- -3:45 - -0345 1975 Jul 31
+- -3:00 - -03 1991
+-# IATA SSIM (1996-06) says -4:00. Assume a 1991 switch.
++Zone America/Guyana -3:52:39 - LMT 1911 Aug 1 # Georgetown
++ -4:00 - -04 1915 Mar 1
++ -3:45 - -0345 1975 Aug 1
++ -3:00 - -03 1992 Mar 29 1:00
+ -4:00 - -04
+
+ # Paraguay
+@@ -1685,24 +1720,7 @@
+ -3:00 - -03
+
+ # Trinidad and Tobago
+-# Zone NAME STDOFF RULES FORMAT [UNTIL]
+-Zone America/Port_of_Spain -4:06:04 - LMT 1912 Mar 2
+- -4:00 - AST
+-
+-# These all agree with Trinidad and Tobago since 1970.
+-Link America/Port_of_Spain America/Anguilla
+-Link America/Port_of_Spain America/Antigua
+-Link America/Port_of_Spain America/Dominica
+-Link America/Port_of_Spain America/Grenada
+-Link America/Port_of_Spain America/Guadeloupe
+-Link America/Port_of_Spain America/Marigot # St Martin (French part)
+-Link America/Port_of_Spain America/Montserrat
+-Link America/Port_of_Spain America/St_Barthelemy # St Barthélemy
+-Link America/Port_of_Spain America/St_Kitts # St Kitts & Nevis
+-Link America/Port_of_Spain America/St_Lucia
+-Link America/Port_of_Spain America/St_Thomas # Virgin Islands (US)
+-Link America/Port_of_Spain America/St_Vincent
+-Link America/Port_of_Spain America/Tortola # Virgin Islands (UK)
++# See America/Puerto_Rico.
+
+ # Uruguay
+ # From Paul Eggert (1993-11-18):
+--- contrib/tzdata/theory.html.orig
++++ contrib/tzdata/theory.html
+@@ -42,12 +42,13 @@
+ (1970-01-01 00:00:00 <a
+ href="https://en.wikipedia.org/wiki/Coordinated_Universal_Time"><abbr
+ title="Coordinated Universal Time">UTC</abbr></a>).
+-The database labels each timezone with a notable location and
+-records all known clock transitions for that location.
+ Although 1970 is a somewhat-arbitrary cutoff, there are significant
+ challenges to moving the cutoff earlier even by a decade or two, due
+ to the wide variety of local practices before computer timekeeping
+ became prevalent.
++Most timezones correspond to a notable location and the database
++records all known clock transitions for that location;
++some timezones correspond instead to a fixed <abbr>UTC</abbr> offset.
+ </p>
+
+ <p>
+@@ -58,8 +59,9 @@
+ with current and future timestamps in the traditional North
+ American mountain time zone can choose from the timezones
+ <code>America/Denver</code> which observes US-style daylight saving
+-time, <code>America/Mazatlan</code> which observes Mexican-style DST,
+-and <code>America/Phoenix</code> which does not observe DST.
++time (<abbr>DST</abbr>),
++<code>America/Mazatlan</code> which observes Mexican-style <abbr>DST</abbr>,
++and <code>America/Phoenix</code> which does not observe <abbr>DST</abbr>.
+ Applications that also deal with past timestamps in the mountain time
+ zone can choose from over a dozen timezones, such as
+ <code>America/Boise</code>, <code>America/Edmonton</code>, and
+@@ -68,7 +70,7 @@
+ </p>
+
+ <p>
+-Clock transitions before 1970 are recorded for each timezone,
++Clock transitions before 1970 are recorded for location-based timezones,
+ because most systems support timestamps before 1970 and could
+ misbehave if data entries were omitted for pre-1970 transitions.
+ However, the database is not designed for and does not suffice for
+@@ -190,8 +192,8 @@
+ <code>TZ</code> strings</a>.
+ A file name component must not exceed 14 characters or start with
+ '<code>-</code>'.
+- E.g., prefer <code>Asia/Brunei</code> to
+- <code>Asia/Bandar_Seri_Begawan</code>.
++ E.g., prefer <code>America/Noronha</code> to
++ <code>America/Fernando_de_Noronha</code>.
+ Exceptions: see the discussion of legacy names below.
+ </li>
+ <li>
+@@ -294,7 +296,7 @@
+ </li>
+ <li>
+ If a name is changed, put its old spelling in the
+- '<code>backward</code>' file.
++ '<code>backward</code>' file as a link to the new spelling.
+ This means old spellings will continue to work.
+ Ordinarily a name change should occur only in the rare case when
+ a location's consensus English-language spelling changes; for example,
+@@ -346,22 +348,37 @@
+ </ul>
+
+ <p>
+-The file '<code>zone1970.tab</code>' lists geographical locations used
++The file <code>zone1970.tab</code> lists geographical locations used
+ to name timezones.
+ It is intended to be an exhaustive list of names for geographic
+ regions as described above; this is a subset of the timezones in the data.
+-Although a '<code>zone1970.tab</code>' location's
++Although a <code>zone1970.tab</code> location's
+ <a href="https://en.wikipedia.org/wiki/Longitude">longitude</a>
+ corresponds to
+ its <a href="https://en.wikipedia.org/wiki/Local_mean_time">local mean
+ time (<abbr>LMT</abbr>)</a> offset with one hour for every 15&deg;
+ east longitude, this relationship is not exact.
++The backward-compatibility file <code>zone.tab</code> is similar
++but conforms to the older-version guidelines related to <abbr>ISO</abbr> 3166-1;
++it lists only one country code per entry and unlike <code>zone1970.tab</code>
++it can list names defined in <code>backward</code>.
+ </p>
+
+ <p>
+-Excluding '<code>backward</code>' should not affect the other data.
+-If '<code>backward</code>' is excluded, excluding
+-'<code>etcetera</code>' should not affect the remaining data.
++The database defines each timezone name to be a zone, or a link to a zone.
++The source file <code>backward</code> defines links for backward
++compatibility; it does not define zones.
++Although <code>backward</code> was originally designed to be optional,
++nowadays distributions typically use it
++and no great weight should be attached to whether a link
++is defined in <code>backward</code> or in some other file.
++The source file <code>etcetera</code> defines names that may be useful
++on platforms that do not support POSIX-style <code>TZ</code> strings;
++no other source file other than <code>backward</code>
++contains links to its zones.
++One of <code>etcetera</code>'s names is <code>GMT</code>,
++used by functions like <code>gmtime</code> to obtain leap
++second information on platforms that support leap seconds.
+ </p>
+ </section>
+
+@@ -473,10 +490,10 @@
+
+ <p>
+ <small>These abbreviations are:
+- AMT Amsterdam, Asunción, Athens;
++ AMT Asunción, Athens;
+ BMT Baghdad, Bangkok, Batavia, Bermuda, Bern, Bogotá, Bridgetown,
+ Brussels, Bucharest;
+- CMT Calamarca, Caracas, Chisinau, Colón, Copenhagen, Córdoba;
++ CMT Calamarca, Caracas, Chisinau, Colón, Córdoba;
+ DMT Dublin/Dunsink;
+ EMT Easter;
+ FFMT Fort-de-France;
+@@ -499,7 +516,8 @@
+ SMT Santiago, Simferopol, Singapore, Stanley;
+ TBMT Tbilisi;
+ TMT Tallinn, Tehran;
+- WMT Warsaw</small>.
++ WMT Warsaw;
++ ZMT Zomba.</small>
+ </p>
+
+ <p>
+@@ -513,9 +531,7 @@
+ 1880&ndash;1916,
+ MMT/MST/MDST for Moscow 1880&ndash;1919, and
+ RMT/LST for Riga Mean Time and Latvian Summer time 1880&ndash;1926.
+- An extra-special case is SET for Swedish Time (<em>svensk
+- normaltid</em>) 1879&ndash;1899, 3&deg; west of the Stockholm
+- Observatory.</small>
++ </small>
+ </p>
+ </li>
+ <li>
+@@ -702,11 +718,9 @@
+ <li>
+ Sometimes historical timekeeping was specified more precisely
+ than what the <code><abbr>tz</abbr></code> code can handle.
+- For example, from 1909 to 1937 <a
+- href="https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm"
+- hreflang="nl">Netherlands clocks</a> were legally Amsterdam Mean
++ For example, from 1880 to 1916 clocks in Ireland observed Dublin Mean
+ Time (estimated to be <abbr>UT</abbr>
+- +00:19:32.13), but the <code><abbr>tz</abbr></code>
++ &minus;00:25:21.1), but the <code><abbr>tz</abbr></code>
+ code cannot represent the fractional second.
+ In practice these old specifications were rarely if ever
+ implemented to subsecond precision.
+@@ -753,7 +767,8 @@
+ the Western 06:00 to be 12:00. These practices are largely outside
+ the scope of the <code><abbr>tz</abbr></code> code and data, which
+ provide only limited support for date and time localization
+- such as that required by POSIX. If DST is not used a different time zone
++ such as that required by POSIX.
++ If <abbr>DST</abbr> is not used a different time zone
+ can often do the trick; for example, in Kenya a <code>TZ</code> setting
+ like <code>&lt;-03&gt;3</code> or <code>America/Cayenne</code> starts
+ the day six hours later than <code>Africa/Nairobi</code> does.
+@@ -1271,7 +1286,8 @@
+ counts of seconds since the POSIX epoch normally include leap seconds,
+ as opposed to POSIX <code>time_t</code> counts which exclude leap seconds.
+ This modified timescale is converted to <abbr>UTC</abbr>
+-at the same point that time zone and DST adjustments are applied &ndash;
++at the same point that time zone and <abbr>DST</abbr>
++adjustments are applied &ndash;
+ namely, at calls to <code>localtime</code> and analogous functions &ndash;
+ and the process is driven by leap second information
+ stored in alternate versions of the <abbr>TZif</abbr> files.
+--- contrib/tzdata/version.orig
++++ contrib/tzdata/version
+@@ -1 +1 @@
+-2021a
++2022a
+--- contrib/tzdata/ziguard.awk.orig
++++ contrib/tzdata/ziguard.awk
+@@ -104,25 +104,32 @@
+ }
+ if (!vanguard && $1 == "Rule" && $2 == "Morocco" && 2019 <= $3) {
+ if ($9 == "0") {
++ last_std_date = $3 " " $6 " " $7 " " $8
+ sub(/\t0\t/, "\t1:00\t")
+ } else {
+ sub(/\t-1:00\t/, "\t0\t")
+ }
+ }
+ if (!vanguard && $1 == "1:00" && $2 == "Morocco" && $3 == "+01/+00") {
+- sub(/1:00\tMorocco\t\+01\/\+00$/, "0:00\tMorocco\t+00/+01")
++ # This introduces a transition from 01:59:59 +00 to 03:00:00 +01
++ # with both times being standard (i.e., a change to standard UT offset).
++ # This is rearguard's way to approximate the actual prediction,
++ # which is that of an ordinary transition from DST to standard time.
++ sub(/1:00\tMorocco\t\+01\/\+00$/,
++ "0:00\tMorocco\t+00/+01\t" last_std_date "\n\t\t\t 1:00\t-\t+01")
+ }
+ }
+
+-# If a Link line is followed by a Zone line for the same data, comment
++# If a Link line is followed by a Link or Zone line for the same data, comment
+ # out the Link line. This can happen if backzone overrides a Link
+-# with a Zone.
+-/^Link/ {
+- linkline[$3] = NR
+-}
++# with a Zone or a different Link.
+ /^Zone/ {
+ sub(/^Link/, "#Link", line[linkline[$2]])
+ }
++/^Link/ {
++ sub(/^Link/, "#Link", line[linkline[$3]])
++ linkline[$3] = NR
++}
+
+ { line[NR] = $0 }
+
+--- contrib/tzdata/zone.tab.orig
++++ contrib/tzdata/zone.tab
+@@ -3,7 +3,7 @@
+ # This file is in the public domain, so clarified as of
+ # 2009-05-17 by Arthur David Olson.
+ #
+-# From Paul Eggert (2018-06-27):
++# From Paul Eggert (2021-09-20):
+ # This file is intended as a backward-compatibility aid for older programs.
+ # New programs should use zone1970.tab. This file is like zone1970.tab (see
+ # zone1970.tab's comments), but with the following additional restrictions:
+@@ -16,6 +16,9 @@
+ # clocks have agreed since 1970; this is a narrower definition than
+ # that of zone1970.tab.
+ #
++# Unlike zone1970.tab, a row's third column can be a Link from
++# 'backward' instead of a Zone.
++#
+ # This table is intended as an aid for users, to help them select timezones
+ # appropriate for their practical needs. It is not intended to take or
+ # endorse any position on legal or territorial claims.
+@@ -228,7 +231,7 @@
+ KG +4254+07436 Asia/Bishkek
+ KH +1133+10455 Asia/Phnom_Penh
+ KI +0125+17300 Pacific/Tarawa Gilbert Islands
+-KI -0308-17105 Pacific/Enderbury Phoenix Islands
++KI -0247-17143 Pacific/Kanton Phoenix Islands
+ KI +0152-15720 Pacific/Kiritimati Line Islands
+ KM -1141+04316 Indian/Comoro
+ KN +1718-06243 America/St_Kitts
+@@ -391,7 +394,7 @@
+ TL -0833+12535 Asia/Dili
+ TM +3757+05823 Asia/Ashgabat
+ TN +3648+01011 Africa/Tunis
+-TO -2110-17510 Pacific/Tongatapu
++TO -210800-1751200 Pacific/Tongatapu
+ TR +4101+02858 Europe/Istanbul
+ TT +1039-06131 America/Port_of_Spain
+ TV -0831+17913 Pacific/Funafuti
+--- contrib/tzdata/zone1970.tab.orig
++++ contrib/tzdata/zone1970.tab
+@@ -41,11 +41,9 @@
+ AM +4011+04430 Asia/Yerevan
+ AQ -6617+11031 Antarctica/Casey Casey
+ AQ -6835+07758 Antarctica/Davis Davis
+-AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville
+ AQ -6736+06253 Antarctica/Mawson Mawson
+ AQ -6448-06406 Antarctica/Palmer Palmer
+ AQ -6734-06808 Antarctica/Rothera Rothera
+-AQ -690022+0393524 Antarctica/Syowa Syowa
+ AQ -720041+0023206 Antarctica/Troll Troll
+ AQ -7824+10654 Antarctica/Vostok Vostok
+ AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF)
+@@ -98,7 +96,6 @@
+ BR -0308-06001 America/Manaus Amazonas (east)
+ BR -0640-06952 America/Eirunepe Amazonas (west)
+ BR -0958-06748 America/Rio_Branco Acre
+-BS +2505-07721 America/Nassau
+ BT +2728+08939 Asia/Thimphu
+ BY +5354+02734 Europe/Minsk
+ BZ +1730-08812 America/Belize
+@@ -107,13 +104,11 @@
+ CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton)
+ CA +4606-06447 America/Moncton Atlantic - New Brunswick
+ CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
+-CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore)
+-CA +4339-07923 America/Toronto Eastern - ON, QC (most areas)
++CA,BS +4339-07923 America/Toronto Eastern - ON, QC (most areas), Bahamas
+ CA +4901-08816 America/Nipigon Eastern - ON, QC (no DST 1967-73)
+ CA +4823-08915 America/Thunder_Bay Eastern - ON (Thunder Bay)
+ CA +6344-06828 America/Iqaluit Eastern - NU (most east areas)
+ CA +6608-06544 America/Pangnirtung Eastern - NU (Pangnirtung)
+-CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H)
+ CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba
+ CA +4843-09434 America/Rainy_River Central - ON (Rainy R, Ft Frances)
+ CA +744144-0944945 America/Resolute Central - NU (Resolute)
+@@ -124,7 +119,6 @@
+ CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west)
+ CA +6227-11421 America/Yellowknife Mountain - NT (central)
+ CA +682059-1334300 America/Inuvik Mountain - NT (west)
+-CA +4906-11631 America/Creston MST - BC (Creston)
+ CA +5946-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
+ CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
+ CA +6043-13503 America/Whitehorse MST - Yukon (east)
+@@ -132,7 +126,7 @@
+ CA +4916-12307 America/Vancouver Pacific - BC (most areas)
+ CC -1210+09655 Indian/Cocos
+ CH,DE,LI +4723+00832 Europe/Zurich Swiss time
+-CI,BF,GM,GN,ML,MR,SH,SL,SN,TG +0519-00402 Africa/Abidjan
++CI,BF,GH,GM,GN,ML,MR,SH,SL,SN,TG +0519-00402 Africa/Abidjan
+ CK -2114-15946 Pacific/Rarotonga
+ CL -3327-07040 America/Santiago Chile (most areas)
+ CL -5309-07055 America/Punta_Arenas Region of Magallanes
+@@ -143,7 +137,6 @@
+ CR +0956-08405 America/Costa_Rica
+ CU +2308-08222 America/Havana
+ CV +1455-02331 Atlantic/Cape_Verde
+-CW,AW,BQ,SX +1211-06900 America/Curacao
+ CX -1025+10543 Indian/Christmas
+ CY +3510+03322 Asia/Nicosia Cyprus (most areas)
+ CY +3507+03357 Asia/Famagusta Northern Cyprus
+@@ -171,7 +164,6 @@
+ GB,GG,IM,JE +513030-0000731 Europe/London
+ GE +4143+04449 Asia/Tbilisi
+ GF +0456-05220 America/Cayenne
+-GH +0533-00013 Africa/Accra
+ GI +3608-00521 Europe/Gibraltar
+ GL +6411-05144 America/Nuuk Greenland (most areas)
+ GL +7646-01840 America/Danmarkshavn National Park (east coast)
+@@ -205,7 +197,7 @@
+ KE,DJ,ER,ET,KM,MG,SO,TZ,UG,YT -0117+03649 Africa/Nairobi
+ KG +4254+07436 Asia/Bishkek
+ KI +0125+17300 Pacific/Tarawa Gilbert Islands
+-KI -0308-17105 Pacific/Enderbury Phoenix Islands
++KI -0247-17143 Pacific/Kanton Phoenix Islands
+ KI +0152-15720 Pacific/Kiritimati Line Islands
+ KP +3901+12545 Asia/Pyongyang
+ KR +3733+12658 Asia/Seoul
+@@ -263,19 +255,19 @@
+ NU -1901-16955 Pacific/Niue
+ NZ,AQ -3652+17446 Pacific/Auckland New Zealand time
+ NZ -4357-17633 Pacific/Chatham Chatham Islands
+-PA,KY +0858-07932 America/Panama
++PA,CA,KY +0858-07932 America/Panama EST - Panama, Cayman, ON (Atikokan), NU (Coral H)
+ PE -1203-07703 America/Lima
+ PF -1732-14934 Pacific/Tahiti Society Islands
+ PF -0900-13930 Pacific/Marquesas Marquesas Islands
+ PF -2308-13457 Pacific/Gambier Gambier Islands
+-PG -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas)
++PG,AQ -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas), Dumont d'Urville
+ PG -0613+15534 Pacific/Bougainville Bougainville
+ PH +1435+12100 Asia/Manila
+ PK +2452+06703 Asia/Karachi
+ PL +5215+02100 Europe/Warsaw
+ PM +4703-05620 America/Miquelon
+ PN -2504-13005 Pacific/Pitcairn
+-PR +182806-0660622 America/Puerto_Rico
++PR,AG,CA,AI,AW,BL,BQ,CW,DM,GD,GP,KN,LC,MF,MS,SX,TT,VC,VG,VI +182806-0660622 America/Puerto_Rico AST
+ PS +3130+03428 Asia/Gaza Gaza Strip
+ PS +313200+0350542 Asia/Hebron West Bank
+ PT +3843-00908 Europe/Lisbon Portugal (mainland)
+@@ -315,12 +307,12 @@
+ RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E); North Kuril Is
+ RU +5301+15839 Asia/Kamchatka MSK+09 - Kamchatka
+ RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea
+-SA,KW,YE +2438+04643 Asia/Riyadh
++SA,AQ,KW,YE +2438+04643 Asia/Riyadh Arabia, Syowa
+ SB -0932+16012 Pacific/Guadalcanal
+ SC -0440+05528 Indian/Mahe
+ SD +1536+03232 Africa/Khartoum
+ SE +5920+01803 Europe/Stockholm
+-SG +0117+10351 Asia/Singapore
++SG,MY +0117+10351 Asia/Singapore Singapore, peninsular Malaysia
+ SR +0550-05510 America/Paramaribo
+ SS +0451+03137 Africa/Juba
+ ST +0020+00644 Africa/Sao_Tome
+@@ -335,9 +327,8 @@
+ TL -0833+12535 Asia/Dili
+ TM +3757+05823 Asia/Ashgabat
+ TN +3648+01011 Africa/Tunis
+-TO -2110-17510 Pacific/Tongatapu
++TO -210800-1751200 Pacific/Tongatapu
+ TR +4101+02858 Europe/Istanbul
+-TT,AG,AI,BL,DM,GD,GP,KN,LC,MF,MS,VC,VG,VI +1039-06131 America/Port_of_Spain
+ TV -0831+17913 Pacific/Funafuti
+ TW +2503+12130 Asia/Taipei
+ UA +5026+03031 Europe/Kiev Ukraine (most areas)
+@@ -363,7 +354,7 @@
+ US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer)
+ US +394421-1045903 America/Denver Mountain (most areas)
+ US +433649-1161209 America/Boise Mountain - ID (south); OR (east)
+-US +332654-1120424 America/Phoenix MST - Arizona (except Navajo)
++US,CA +332654-1120424 America/Phoenix MST - Arizona (except Navajo), Creston BC
+ US +340308-1181434 America/Los_Angeles Pacific
+ US +611305-1495401 America/Anchorage Alaska (most areas)
+ US +581807-1342511 America/Juneau Alaska - Juneau area