From 0454f4ade4ad41b86bbcc2c744512341f3f03560 Mon Sep 17 00:00:00 2001 From: Pierrick Charron Date: Tue, 30 Jan 2024 12:43:37 -0500 Subject: [PATCH 01/25] PHP-8.2 is now for PHP 8.2.17-dev --- NEWS | 5 ++++- Zend/zend.h | 2 +- configure.ac | 2 +- main/php_version.h | 6 +++--- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index 8bc955af3d227..42690f24be2cd 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.2.16 +?? ??? ????, PHP 8.2.17 + + +15 Feb 2024, PHP 8.2.16 - Core: . Fixed timer leak in zend-max-execution-timers builds. (withinboredom) diff --git a/Zend/zend.h b/Zend/zend.h index 8e60a2de99aab..1c3ba9157d067 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.2.16-dev" +#define ZEND_VERSION "4.2.17-dev" #define ZEND_ENGINE_3 diff --git a/configure.ac b/configure.ac index c345b92865093..365ce64875f36 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Basic autoconf initialization, generation of config.nice. dnl ---------------------------------------------------------------------------- AC_PREREQ([2.68]) -AC_INIT([PHP],[8.2.16-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) +AC_INIT([PHP],[8.2.17-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) AC_CONFIG_SRCDIR([main/php_version.h]) AC_CONFIG_AUX_DIR([build]) AC_PRESERVE_HELP_ORDER diff --git a/main/php_version.h b/main/php_version.h index c9a922dae2608..f5d0211ee65a9 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -2,7 +2,7 @@ /* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 8 #define PHP_MINOR_VERSION 2 -#define PHP_RELEASE_VERSION 16 +#define PHP_RELEASE_VERSION 17 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.2.16-dev" -#define PHP_VERSION_ID 80216 +#define PHP_VERSION "8.2.17-dev" +#define PHP_VERSION_ID 80217 From 218a93b898b4ecd182d1ab1c1f9d8d35bb2f1799 Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Wed, 31 Jan 2024 11:18:21 +0100 Subject: [PATCH 02/25] Use EXTENSIONS instead of SKIPIF sections in *.phpt This also fixes skipped tests due to different naming "zend-test" instead of "zend_test" and "PDO" instead of "pdo": - ext/dom/tests/libxml_global_state_entity_loader_bypass.phpt - ext/simplexml/tests/libxml_global_state_entity_loader_bypass.phpt - ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt - ext/zend_test/tests/observer_sqlite_create_function.phpt EXTENSIONS section is used for the Windows build to load the non-static extensions. Closes GH-13276 --- ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt | 4 ++-- ext/com_dotnet/tests/gh8778.phpt | 3 ++- ext/dom/tests/bug79971_2.phpt | 6 ++---- .../tests/libxml_global_state_entity_loader_bypass.phpt | 7 ++++--- ext/filter/tests/bug77221.phpt | 6 ++---- ext/filter/tests/bug81122.phpt | 6 ++---- ext/intl/tests/gh10647.phpt | 6 ++---- ext/intl/tests/gh8364.phpt | 6 ++---- ext/intl/tests/locale/bug72809.phpt | 6 ++---- ext/mbstring/tests/gh8086.phpt | 6 ++---- ext/openssl/tests/bug50293.phpt | 6 ++---- ext/openssl/tests/gh9339.phpt | 6 ++---- ext/pdo/tests/gh8626.phpt | 3 ++- ext/pdo_pgsql/tests/gh7723.phpt | 4 +++- ext/pdo_pgsql/tests/gh9411.phpt | 4 +++- ext/phar/tests/GHSA-jqcx-ccgc-xwhv.phpt | 4 ++-- ext/phar/tests/bug81211.phpt | 3 ++- .../tests/libxml_global_state_entity_loader_bypass.phpt | 7 ++++--- .../tests/libxml_global_state_entity_loader_bypass.phpt | 7 ++++--- ext/zend_test/tests/observer_sqlite_create_function.phpt | 2 +- ext/zip/tests/bug77978.phpt | 6 ++---- ext/zip/tests/bug80833.phpt | 3 ++- ext/zip/tests/bug81420.phpt | 6 ++---- ext/zip/tests/bug81490.phpt | 6 ++---- ext/zip/tests/bug_gh8781.phpt | 6 ++---- 25 files changed, 57 insertions(+), 72 deletions(-) diff --git a/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt b/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt index 82cb357352998..a9fd3a2118697 100644 --- a/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt +++ b/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt @@ -1,7 +1,7 @@ --TEST-- Calling bzerr* functions on non-bz2 streams ---SKIPIF-- - +--EXTENSIONS-- +bz2 --FILE-- --FILE-- diff --git a/ext/dom/tests/bug79971_2.phpt b/ext/dom/tests/bug79971_2.phpt index c4e6b1e4e0933..f5bee66302b0f 100644 --- a/ext/dom/tests/bug79971_2.phpt +++ b/ext/dom/tests/bug79971_2.phpt @@ -1,9 +1,7 @@ --TEST-- Bug #79971 (special character is breaking the path in xml function) ---SKIPIF-- - +--EXTENSIONS-- +dom --FILE-- --FILE-- diff --git a/ext/filter/tests/bug77221.phpt b/ext/filter/tests/bug77221.phpt index 307a83898ac44..f94a14dee2de8 100644 --- a/ext/filter/tests/bug77221.phpt +++ b/ext/filter/tests/bug77221.phpt @@ -1,9 +1,7 @@ --TEST-- Bug #77221 (Request IP address filter flag to exclude non-global IP addresses) ---SKIPIF-- - +--EXTENSIONS-- +filter --FILE-- +--EXTENSIONS-- +filter --FILE-- +--EXTENSIONS-- +intl --FILE-- +--EXTENSIONS-- +intl --FILE-- +--EXTENSIONS-- +intl --FILE-- +--EXTENSIONS-- +mbstring --INI-- sendmail_path={MAIL:{PWD}/gh8086.eml} mail.mixed_lf_and_crlf=on diff --git a/ext/openssl/tests/bug50293.phpt b/ext/openssl/tests/bug50293.phpt index 8eae2914bd195..0fc2bc371a735 100644 --- a/ext/openssl/tests/bug50293.phpt +++ b/ext/openssl/tests/bug50293.phpt @@ -1,9 +1,7 @@ --TEST-- Bug #50293 (Several openssl functions ignore the VCWD) ---SKIPIF-- - +--EXTENSIONS-- +openssl --FILE-- +--EXTENSIONS-- +openssl --FILE-- execute() failed, then execute successfully, errorInfo() information is incorrect +--EXTENSIONS-- +pdo --SKIPIF-- +--EXTENSIONS-- +phar --INI-- phar.readonly=0 --FILE-- diff --git a/ext/phar/tests/bug81211.phpt b/ext/phar/tests/bug81211.phpt index 96b1401b40342..fe7b1326aa688 100644 --- a/ext/phar/tests/bug81211.phpt +++ b/ext/phar/tests/bug81211.phpt @@ -1,8 +1,9 @@ --TEST-- Bug #81211 (Symlinks are followed when creating PHAR archive) +--EXTENSIONS-- +phar --SKIPIF-- --FILE-- diff --git a/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt b/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt index cb0297b6b1bc8..a0223367c70ad 100644 --- a/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt +++ b/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt @@ -1,10 +1,11 @@ --TEST-- GHSA-3qrf-m4j2-pcrr (libxml global state entity loader bypass) +--EXTENSIONS-- +libxml +xmlreader +zend_test --SKIPIF-- --FILE-- diff --git a/ext/zend_test/tests/observer_sqlite_create_function.phpt b/ext/zend_test/tests/observer_sqlite_create_function.phpt index 85d269c9ead1a..26330043ef28d 100644 --- a/ext/zend_test/tests/observer_sqlite_create_function.phpt +++ b/ext/zend_test/tests/observer_sqlite_create_function.phpt @@ -2,7 +2,7 @@ Observer: PDO::sqliteCreateFunction() can be observed --EXTENSIONS-- zend_test -PDO +pdo pdo_sqlite --INI-- zend_test.observer.enabled=1 diff --git a/ext/zip/tests/bug77978.phpt b/ext/zip/tests/bug77978.phpt index 2f3c22f4213a2..bcf3538f65da1 100644 --- a/ext/zip/tests/bug77978.phpt +++ b/ext/zip/tests/bug77978.phpt @@ -1,9 +1,7 @@ --TEST-- Bug #77978 (Dirname ending in colon unzips to wrong dir) ---SKIPIF-- - +--EXTENSIONS-- +zip --FILE-- --FILE-- diff --git a/ext/zip/tests/bug81420.phpt b/ext/zip/tests/bug81420.phpt index 9eec0ee7e99c4..ad89e7c0ac7b2 100644 --- a/ext/zip/tests/bug81420.phpt +++ b/ext/zip/tests/bug81420.phpt @@ -1,9 +1,7 @@ --TEST-- Bug #81420 (ZipArchive::extractTo extracts outside of destination) ---SKIPIF-- - +--EXTENSIONS-- +zip --FILE-- +--EXTENSIONS-- +zip --FILE-- +--EXTENSIONS-- +zip --FILE-- Date: Thu, 1 Feb 2024 02:03:55 +0700 Subject: [PATCH 03/25] ext/curl: Fix failing tests due to string changes in libcurl 8.6.0 Upstream libcurl 8.6.0 contains a change[^1] that caused a test failure. This fixes it by updating the test's `EXPECTF` to use a regex to account for both string patterns. [^1]: https://github.com/curl/curl/commit/45cf4755e71f#diff-a8a54563608f8155973318f4ddb61d7328dab512b8ff2b5cc48cc76979d4204cL1683 Closes GH-13293. --- NEWS | 2 ++ ext/curl/tests/bug77946.phpt | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 42690f24be2cd..78ecae17e4b4d 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,8 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.17 +- Curl: + . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) 15 Feb 2024, PHP 8.2.16 diff --git a/ext/curl/tests/bug77946.phpt b/ext/curl/tests/bug77946.phpt index 8b1e70675554f..7b836187d6bfb 100644 --- a/ext/curl/tests/bug77946.phpt +++ b/ext/curl/tests/bug77946.phpt @@ -34,4 +34,4 @@ curl_multi_close($mh); --EXPECTF-- int(1) int(1) -string(%d) "Protocol %Sunknown%S not supported or disabled in libcurl" +string(%d) "Protocol %Sunknown%S %rnot supported( or disabled in libcurl)?%r" From e209506bfac2c50ceb305c27454490f41fc25737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Wed, 31 Jan 2024 23:34:28 +0100 Subject: [PATCH 04/25] Update GitHub Action workflows to `actions/upload-artifact@v4` (#13297) Keep this up to date in all non-security-only branches, because the node.js runtime for older versions might get deprecated in the future and fixing this for all branches at once is easier. --- .github/actions/test-linux/action.yml | 2 +- .github/actions/test-macos/action.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/test-linux/action.yml b/.github/actions/test-linux/action.yml index a56ed2823d7ac..6736b269d1b3a 100644 --- a/.github/actions/test-linux/action.yml +++ b/.github/actions/test-linux/action.yml @@ -46,7 +46,7 @@ runs: --show-diff \ --show-slow 1000 \ --set-timeout 120 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: always() && inputs.testArtifacts != null with: name: ${{ github.job }}_${{ inputs.testArtifacts }} diff --git a/.github/actions/test-macos/action.yml b/.github/actions/test-macos/action.yml index 0090f6a1cb337..a25b9d7f7d1fb 100644 --- a/.github/actions/test-macos/action.yml +++ b/.github/actions/test-macos/action.yml @@ -28,7 +28,7 @@ runs: --show-diff \ --show-slow 1000 \ --set-timeout 120 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: always() && inputs.testArtifacts != null with: name: ${{ github.job }}_${{ inputs.testArtifacts }} From 4922b9eb7d3e9d78412d8ab8b0bcacb5658dd289 Mon Sep 17 00:00:00 2001 From: Ayesh Karunaratne Date: Thu, 1 Feb 2024 04:54:38 +0700 Subject: [PATCH 05/25] ci: update caddy job to use GitHub Releases The caddyserver.com download page is unreliable, and it also recommends to use GitHub releases instead. Closes #13296 --- .github/actions/setup-caddy/action.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/actions/setup-caddy/action.yml b/.github/actions/setup-caddy/action.yml index 8c3969bd28248..e2a52c44b36e0 100644 --- a/.github/actions/setup-caddy/action.yml +++ b/.github/actions/setup-caddy/action.yml @@ -3,8 +3,10 @@ runs: using: composite steps: - shell: bash + env: + GH_TOKEN: ${{ github.token }} run: | set -x - sudo curl 'https://caddyserver.com/api/download?os=linux&arch=amd64' -o /usr/bin/caddy + gh release -R caddyserver/caddy download --pattern 'caddy_*_linux_amd64.tar.gz' -O - | sudo tar -xz -C /usr/bin caddy sudo chmod +x /usr/bin/caddy sudo caddy start --config ext/curl/tests/Caddyfile From 7d5a96614c98605497c9a178e4fafe7e8104cf15 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Fri, 2 Feb 2024 10:23:33 +0000 Subject: [PATCH 06/25] Updated to version 2024.1 (2024a) --- ext/date/lib/timezonedb.h | 2128 ++++++++++++++++++------------------- 1 file changed, 1064 insertions(+), 1064 deletions(-) diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h index 366c85c7a7786..26c104b2a20e5 100644 --- a/ext/date/lib/timezonedb.h +++ b/ext/date/lib/timezonedb.h @@ -242,370 +242,370 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Arctic/Longyearbyen" , 0x022757 }, { (char*) "Asia/Aden" , 0x022A24 }, { (char*) "Asia/Almaty" , 0x022AB5 }, - { (char*) "Asia/Amman" , 0x022D34 }, - { (char*) "Asia/Anadyr" , 0x0230E0 }, - { (char*) "Asia/Aqtau" , 0x0233E6 }, - { (char*) "Asia/Aqtobe" , 0x023665 }, - { (char*) "Asia/Ashgabat" , 0x0238E5 }, - { (char*) "Asia/Ashkhabad" , 0x023A68 }, - { (char*) "Asia/Atyrau" , 0x023BEB }, - { (char*) "Asia/Baghdad" , 0x023E74 }, - { (char*) "Asia/Bahrain" , 0x0240F6 }, - { (char*) "Asia/Baku" , 0x0241AF }, - { (char*) "Asia/Bangkok" , 0x0244A3 }, - { (char*) "Asia/Barnaul" , 0x024547 }, - { (char*) "Asia/Beirut" , 0x024852 }, - { (char*) "Asia/Bishkek" , 0x024B3A }, - { (char*) "Asia/Brunei" , 0x024DB0 }, - { (char*) "Asia/Calcutta" , 0x024E56 }, - { (char*) "Asia/Chita" , 0x024F3E }, - { (char*) "Asia/Choibalsan" , 0x02524C }, - { (char*) "Asia/Chongqing" , 0x0254D5 }, - { (char*) "Asia/Chungking" , 0x02566A }, - { (char*) "Asia/Colombo" , 0x0257FF }, - { (char*) "Asia/Dacca" , 0x025902 }, - { (char*) "Asia/Damascus" , 0x0259F5 }, - { (char*) "Asia/Dhaka" , 0x025ED3 }, - { (char*) "Asia/Dili" , 0x025FC6 }, - { (char*) "Asia/Dubai" , 0x02607C }, - { (char*) "Asia/Dushanbe" , 0x02610D }, - { (char*) "Asia/Famagusta" , 0x026287 }, - { (char*) "Asia/Gaza" , 0x02664E }, - { (char*) "Asia/Harbin" , 0x0271FC }, - { (char*) "Asia/Hebron" , 0x027391 }, - { (char*) "Asia/Ho_Chi_Minh" , 0x027F50 }, - { (char*) "Asia/Hong_Kong" , 0x028048 }, - { (char*) "Asia/Hovd" , 0x02835B }, - { (char*) "Asia/Irkutsk" , 0x0285E4 }, - { (char*) "Asia/Istanbul" , 0x028902 }, - { (char*) "Asia/Jakarta" , 0x028DBE }, - { (char*) "Asia/Jayapura" , 0x028ECF }, - { (char*) "Asia/Jerusalem" , 0x028FBC }, - { (char*) "Asia/Kabul" , 0x0293FA }, - { (char*) "Asia/Kamchatka" , 0x0294A5 }, - { (char*) "Asia/Karachi" , 0x02979A }, - { (char*) "Asia/Kashgar" , 0x0298B0 }, - { (char*) "Asia/Kathmandu" , 0x029941 }, - { (char*) "Asia/Katmandu" , 0x0299EE }, - { (char*) "Asia/Khandyga" , 0x029A9B }, - { (char*) "Asia/Kolkata" , 0x029DCC }, - { (char*) "Asia/Krasnoyarsk" , 0x029EB4 }, - { (char*) "Asia/Kuala_Lumpur" , 0x02A1BE }, - { (char*) "Asia/Kuching" , 0x02A2DE }, - { (char*) "Asia/Kuwait" , 0x02A438 }, - { (char*) "Asia/Macao" , 0x02A4C9 }, - { (char*) "Asia/Macau" , 0x02A7EC }, - { (char*) "Asia/Magadan" , 0x02AB0F }, - { (char*) "Asia/Makassar" , 0x02AE1A }, - { (char*) "Asia/Manila" , 0x02AF2D }, - { (char*) "Asia/Muscat" , 0x02B027 }, - { (char*) "Asia/Nicosia" , 0x02B0B8 }, - { (char*) "Asia/Novokuznetsk" , 0x02B327 }, - { (char*) "Asia/Novosibirsk" , 0x02B61A }, - { (char*) "Asia/Omsk" , 0x02B92B }, - { (char*) "Asia/Oral" , 0x02BC29 }, - { (char*) "Asia/Phnom_Penh" , 0x02BEB5 }, - { (char*) "Asia/Pontianak" , 0x02BF89 }, - { (char*) "Asia/Pyongyang" , 0x02C0A2 }, - { (char*) "Asia/Qatar" , 0x02C165 }, - { (char*) "Asia/Qostanay" , 0x02C209 }, - { (char*) "Asia/Qyzylorda" , 0x02C496 }, - { (char*) "Asia/Rangoon" , 0x02C72F }, - { (char*) "Asia/Riyadh" , 0x02C7F6 }, - { (char*) "Asia/Saigon" , 0x02C887 }, - { (char*) "Asia/Sakhalin" , 0x02C97F }, - { (char*) "Asia/Samarkand" , 0x02CC96 }, - { (char*) "Asia/Seoul" , 0x02CE21 }, - { (char*) "Asia/Shanghai" , 0x02CFCC }, - { (char*) "Asia/Singapore" , 0x02D16D }, - { (char*) "Asia/Srednekolymsk" , 0x02D279 }, - { (char*) "Asia/Taipei" , 0x02D589 }, - { (char*) "Asia/Tashkent" , 0x02D794 }, - { (char*) "Asia/Tbilisi" , 0x02D91F }, - { (char*) "Asia/Tehran" , 0x02DBA0 }, - { (char*) "Asia/Tel_Aviv" , 0x02DED8 }, - { (char*) "Asia/Thimbu" , 0x02E316 }, - { (char*) "Asia/Thimphu" , 0x02E3BC }, - { (char*) "Asia/Tokyo" , 0x02E462 }, - { (char*) "Asia/Tomsk" , 0x02E543 }, - { (char*) "Asia/Ujung_Pandang" , 0x02E84E }, - { (char*) "Asia/Ulaanbaatar" , 0x02E918 }, - { (char*) "Asia/Ulan_Bator" , 0x02EB86 }, - { (char*) "Asia/Urumqi" , 0x02EDE4 }, - { (char*) "Asia/Ust-Nera" , 0x02EE82 }, - { (char*) "Asia/Vientiane" , 0x02F1A5 }, - { (char*) "Asia/Vladivostok" , 0x02F28B }, - { (char*) "Asia/Yakutsk" , 0x02F590 }, - { (char*) "Asia/Yangon" , 0x02F894 }, - { (char*) "Asia/Yekaterinburg" , 0x02F95B }, - { (char*) "Asia/Yerevan" , 0x02FC6D }, - { (char*) "Atlantic/Azores" , 0x02FF3D }, - { (char*) "Atlantic/Bermuda" , 0x0304FC }, - { (char*) "Atlantic/Canary" , 0x030908 }, - { (char*) "Atlantic/Cape_Verde" , 0x030B00 }, - { (char*) "Atlantic/Faeroe" , 0x030BBB }, - { (char*) "Atlantic/Faroe" , 0x030D80 }, - { (char*) "Atlantic/Jan_Mayen" , 0x030F45 }, - { (char*) "Atlantic/Madeira" , 0x031212 }, - { (char*) "Atlantic/Reykjavik" , 0x0317DA }, - { (char*) "Atlantic/South_Georgia" , 0x031AD7 }, - { (char*) "Atlantic/St_Helena" , 0x031B67 }, - { (char*) "Atlantic/Stanley" , 0x031C08 }, - { (char*) "Australia/ACT" , 0x031F29 }, - { (char*) "Australia/Adelaide" , 0x0322BD }, - { (char*) "Australia/Brisbane" , 0x032671 }, - { (char*) "Australia/Broken_Hill" , 0x0327B5 }, - { (char*) "Australia/Canberra" , 0x032B8A }, - { (char*) "Australia/Currie" , 0x032F1E }, - { (char*) "Australia/Darwin" , 0x033315 }, - { (char*) "Australia/Eucla" , 0x03341D }, - { (char*) "Australia/Hobart" , 0x03357C }, - { (char*) "Australia/LHI" , 0x03397B }, - { (char*) "Australia/Lindeman" , 0x033C3B }, - { (char*) "Australia/Lord_Howe" , 0x033DAB }, - { (char*) "Australia/Melbourne" , 0x03407B }, - { (char*) "Australia/North" , 0x034417 }, - { (char*) "Australia/NSW" , 0x03450D }, - { (char*) "Australia/Perth" , 0x0348A1 }, - { (char*) "Australia/Queensland" , 0x0349FD }, - { (char*) "Australia/South" , 0x034B2A }, - { (char*) "Australia/Sydney" , 0x034ECF }, - { (char*) "Australia/Tasmania" , 0x03527F }, - { (char*) "Australia/Victoria" , 0x035676 }, - { (char*) "Australia/West" , 0x035A0A }, - { (char*) "Australia/Yancowinna" , 0x035B48 }, - { (char*) "Brazil/Acre" , 0x035F01 }, - { (char*) "Brazil/DeNoronha" , 0x0360AF }, - { (char*) "Brazil/East" , 0x03629F }, - { (char*) "Brazil/West" , 0x036663 }, - { (char*) "Canada/Atlantic" , 0x03680B }, - { (char*) "Canada/Central" , 0x036E9F }, - { (char*) "Canada/Eastern" , 0x0373B9 }, - { (char*) "Canada/Mountain" , 0x037A7A }, - { (char*) "Canada/Newfoundland" , 0x037E50 }, - { (char*) "Canada/Pacific" , 0x0385B2 }, - { (char*) "Canada/Saskatchewan" , 0x038AF0 }, - { (char*) "Canada/Yukon" , 0x038D7A }, - { (char*) "CET" , 0x03918B }, - { (char*) "Chile/Continental" , 0x039404 }, - { (char*) "Chile/EasterIsland" , 0x03995A }, - { (char*) "CST6CDT" , 0x039DFC }, - { (char*) "Cuba" , 0x03A1BF }, - { (char*) "EET" , 0x03A628 }, - { (char*) "Egypt" , 0x03A825 }, - { (char*) "Eire" , 0x03AD4E }, - { (char*) "EST" , 0x03B332 }, - { (char*) "EST5EDT" , 0x03B3AD }, - { (char*) "Etc/GMT" , 0x03B770 }, - { (char*) "Etc/GMT+0" , 0x03B7EB }, - { (char*) "Etc/GMT+1" , 0x03B866 }, - { (char*) "Etc/GMT+10" , 0x03B8E3 }, - { (char*) "Etc/GMT+11" , 0x03B961 }, - { (char*) "Etc/GMT+12" , 0x03B9DF }, - { (char*) "Etc/GMT+2" , 0x03BA5D }, - { (char*) "Etc/GMT+3" , 0x03BADA }, - { (char*) "Etc/GMT+4" , 0x03BB57 }, - { (char*) "Etc/GMT+5" , 0x03BBD4 }, - { (char*) "Etc/GMT+6" , 0x03BC51 }, - { (char*) "Etc/GMT+7" , 0x03BCCE }, - { (char*) "Etc/GMT+8" , 0x03BD4B }, - { (char*) "Etc/GMT+9" , 0x03BDC8 }, - { (char*) "Etc/GMT-0" , 0x03BE45 }, - { (char*) "Etc/GMT-1" , 0x03BEC0 }, - { (char*) "Etc/GMT-10" , 0x03BF3E }, - { (char*) "Etc/GMT-11" , 0x03BFBD }, - { (char*) "Etc/GMT-12" , 0x03C03C }, - { (char*) "Etc/GMT-13" , 0x03C0BB }, - { (char*) "Etc/GMT-14" , 0x03C13A }, - { (char*) "Etc/GMT-2" , 0x03C1B9 }, - { (char*) "Etc/GMT-3" , 0x03C237 }, - { (char*) "Etc/GMT-4" , 0x03C2B5 }, - { (char*) "Etc/GMT-5" , 0x03C333 }, - { (char*) "Etc/GMT-6" , 0x03C3B1 }, - { (char*) "Etc/GMT-7" , 0x03C42F }, - { (char*) "Etc/GMT-8" , 0x03C4AD }, - { (char*) "Etc/GMT-9" , 0x03C52B }, - { (char*) "Etc/GMT0" , 0x03C5A9 }, - { (char*) "Etc/Greenwich" , 0x03C624 }, - { (char*) "Etc/UCT" , 0x03C69F }, - { (char*) "Etc/Universal" , 0x03C71A }, - { (char*) "Etc/UTC" , 0x03C795 }, - { (char*) "Etc/Zulu" , 0x03C810 }, - { (char*) "Europe/Amsterdam" , 0x03C88B }, - { (char*) "Europe/Andorra" , 0x03CCC6 }, - { (char*) "Europe/Astrakhan" , 0x03CE57 }, - { (char*) "Europe/Athens" , 0x03D14B }, - { (char*) "Europe/Belfast" , 0x03D401 }, - { (char*) "Europe/Belgrade" , 0x03DA4C }, - { (char*) "Europe/Berlin" , 0x03DC36 }, - { (char*) "Europe/Bratislava" , 0x03DF12 }, - { (char*) "Europe/Brussels" , 0x03E1F1 }, - { (char*) "Europe/Bucharest" , 0x03E64C }, - { (char*) "Europe/Budapest" , 0x03E8ED }, - { (char*) "Europe/Busingen" , 0x03EBF7 }, - { (char*) "Europe/Chisinau" , 0x03EDFC }, - { (char*) "Europe/Copenhagen" , 0x03F0FB }, - { (char*) "Europe/Dublin" , 0x03F376 }, - { (char*) "Europe/Gibraltar" , 0x03F95A }, - { (char*) "Europe/Guernsey" , 0x03FE2A }, - { (char*) "Europe/Helsinki" , 0x040481 }, - { (char*) "Europe/Isle_of_Man" , 0x04066E }, - { (char*) "Europe/Istanbul" , 0x040CB9 }, - { (char*) "Europe/Jersey" , 0x041175 }, - { (char*) "Europe/Kaliningrad" , 0x0417CC }, - { (char*) "Europe/Kiev" , 0x041B74 }, - { (char*) "Europe/Kirov" , 0x041DAE }, - { (char*) "Europe/Kyiv" , 0x0420A7 }, - { (char*) "Europe/Lisbon" , 0x0422F0 }, - { (char*) "Europe/Ljubljana" , 0x0428BD }, - { (char*) "Europe/London" , 0x042AA7 }, - { (char*) "Europe/Luxembourg" , 0x0430F2 }, - { (char*) "Europe/Madrid" , 0x04353D }, - { (char*) "Europe/Malta" , 0x0438DA }, - { (char*) "Europe/Mariehamn" , 0x043C86 }, - { (char*) "Europe/Minsk" , 0x043E73 }, - { (char*) "Europe/Monaco" , 0x0441A7 }, - { (char*) "Europe/Moscow" , 0x04460D }, - { (char*) "Europe/Nicosia" , 0x0449B9 }, - { (char*) "Europe/Oslo" , 0x044C1A }, - { (char*) "Europe/Paris" , 0x044ECA }, - { (char*) "Europe/Podgorica" , 0x045327 }, - { (char*) "Europe/Prague" , 0x045511 }, - { (char*) "Europe/Riga" , 0x0457F0 }, - { (char*) "Europe/Rome" , 0x045AB2 }, - { (char*) "Europe/Samara" , 0x045E71 }, - { (char*) "Europe/San_Marino" , 0x046172 }, - { (char*) "Europe/Sarajevo" , 0x046531 }, - { (char*) "Europe/Saratov" , 0x04671B }, - { (char*) "Europe/Simferopol" , 0x046A0D }, - { (char*) "Europe/Skopje" , 0x046D80 }, - { (char*) "Europe/Sofia" , 0x046F6A }, - { (char*) "Europe/Stockholm" , 0x0471C6 }, - { (char*) "Europe/Tallinn" , 0x0473C3 }, - { (char*) "Europe/Tirane" , 0x047672 }, - { (char*) "Europe/Tiraspol" , 0x0478DA }, - { (char*) "Europe/Ulyanovsk" , 0x047BD9 }, - { (char*) "Europe/Uzhgorod" , 0x047EEF }, - { (char*) "Europe/Vaduz" , 0x048129 }, - { (char*) "Europe/Vatican" , 0x048313 }, - { (char*) "Europe/Vienna" , 0x0486D2 }, - { (char*) "Europe/Vilnius" , 0x048970 }, - { (char*) "Europe/Volgograd" , 0x048C20 }, - { (char*) "Europe/Warsaw" , 0x048F2F }, - { (char*) "Europe/Zagreb" , 0x0492D6 }, - { (char*) "Europe/Zaporozhye" , 0x0494C0 }, - { (char*) "Europe/Zurich" , 0x0496FA }, - { (char*) "Factory" , 0x0498F7 }, - { (char*) "GB" , 0x049974 }, - { (char*) "GB-Eire" , 0x049FBF }, - { (char*) "GMT" , 0x04A60A }, - { (char*) "GMT+0" , 0x04A685 }, - { (char*) "GMT-0" , 0x04A700 }, - { (char*) "GMT0" , 0x04A77B }, - { (char*) "Greenwich" , 0x04A7F6 }, - { (char*) "Hongkong" , 0x04A871 }, - { (char*) "HST" , 0x04AB84 }, - { (char*) "Iceland" , 0x04AC00 }, - { (char*) "Indian/Antananarivo" , 0x04AC8E }, - { (char*) "Indian/Chagos" , 0x04AD3A }, - { (char*) "Indian/Christmas" , 0x04ADDE }, - { (char*) "Indian/Cocos" , 0x04AE6F }, - { (char*) "Indian/Comoro" , 0x04AF07 }, - { (char*) "Indian/Kerguelen" , 0x04AF96 }, - { (char*) "Indian/Mahe" , 0x04B027 }, - { (char*) "Indian/Maldives" , 0x04B0B8 }, - { (char*) "Indian/Mauritius" , 0x04B15C }, - { (char*) "Indian/Mayotte" , 0x04B21B }, - { (char*) "Indian/Reunion" , 0x04B2AA }, - { (char*) "Iran" , 0x04B33B }, - { (char*) "Israel" , 0x04B673 }, - { (char*) "Jamaica" , 0x04BAB1 }, - { (char*) "Japan" , 0x04BC10 }, - { (char*) "Kwajalein" , 0x04BCF1 }, - { (char*) "Libya" , 0x04BDD8 }, - { (char*) "MET" , 0x04BF93 }, - { (char*) "Mexico/BajaNorte" , 0x04C20C }, - { (char*) "Mexico/BajaSur" , 0x04C619 }, - { (char*) "Mexico/General" , 0x04C8F3 }, - { (char*) "MST" , 0x04CC04 }, - { (char*) "MST7MDT" , 0x04CC7F }, - { (char*) "Navajo" , 0x04D042 }, - { (char*) "NZ" , 0x04D460 }, - { (char*) "NZ-CHAT" , 0x04D87F }, - { (char*) "Pacific/Apia" , 0x04DBB3 }, - { (char*) "Pacific/Auckland" , 0x04DD56 }, - { (char*) "Pacific/Bougainville" , 0x04E188 }, - { (char*) "Pacific/Chatham" , 0x04E269 }, - { (char*) "Pacific/Chuuk" , 0x04E5AC }, - { (char*) "Pacific/Easter" , 0x04E68A }, - { (char*) "Pacific/Efate" , 0x04EB39 }, - { (char*) "Pacific/Enderbury" , 0x04EC9B }, - { (char*) "Pacific/Fakaofo" , 0x04ED53 }, - { (char*) "Pacific/Fiji" , 0x04EDF8 }, - { (char*) "Pacific/Funafuti" , 0x04EF90 }, - { (char*) "Pacific/Galapagos" , 0x04F022 }, - { (char*) "Pacific/Gambier" , 0x04F0EE }, - { (char*) "Pacific/Guadalcanal" , 0x04F18D }, - { (char*) "Pacific/Guam" , 0x04F21F }, - { (char*) "Pacific/Honolulu" , 0x04F389 }, - { (char*) "Pacific/Johnston" , 0x04F478 }, - { (char*) "Pacific/Kanton" , 0x04F561 }, - { (char*) "Pacific/Kiritimati" , 0x04F628 }, - { (char*) "Pacific/Kosrae" , 0x04F6EE }, - { (char*) "Pacific/Kwajalein" , 0x04F7F2 }, - { (char*) "Pacific/Majuro" , 0x04F8E2 }, - { (char*) "Pacific/Marquesas" , 0x04F9E0 }, - { (char*) "Pacific/Midway" , 0x04FA88 }, - { (char*) "Pacific/Nauru" , 0x04FB4B }, - { (char*) "Pacific/Niue" , 0x04FC0E }, - { (char*) "Pacific/Norfolk" , 0x04FCB4 }, - { (char*) "Pacific/Noumea" , 0x04FDAD }, - { (char*) "Pacific/Pago_Pago" , 0x04FE7F }, - { (char*) "Pacific/Palau" , 0x04FF1D }, - { (char*) "Pacific/Pitcairn" , 0x04FFBD }, - { (char*) "Pacific/Pohnpei" , 0x050062 }, - { (char*) "Pacific/Ponape" , 0x050152 }, - { (char*) "Pacific/Port_Moresby" , 0x0501E4 }, - { (char*) "Pacific/Rarotonga" , 0x0502A2 }, - { (char*) "Pacific/Saipan" , 0x050444 }, - { (char*) "Pacific/Samoa" , 0x0505A5 }, - { (char*) "Pacific/Tahiti" , 0x050643 }, - { (char*) "Pacific/Tarawa" , 0x0506E3 }, - { (char*) "Pacific/Tongatapu" , 0x050784 }, - { (char*) "Pacific/Truk" , 0x05087D }, - { (char*) "Pacific/Wake" , 0x050923 }, - { (char*) "Pacific/Wallis" , 0x0509C0 }, - { (char*) "Pacific/Yap" , 0x050A52 }, - { (char*) "Poland" , 0x050AF8 }, - { (char*) "Portugal" , 0x050E9F }, - { (char*) "PRC" , 0x051459 }, - { (char*) "PST8PDT" , 0x0515EE }, - { (char*) "ROC" , 0x0519B1 }, - { (char*) "ROK" , 0x051BBC }, - { (char*) "Singapore" , 0x051D67 }, - { (char*) "Turkey" , 0x051E73 }, - { (char*) "UCT" , 0x05232F }, - { (char*) "Universal" , 0x0523AA }, - { (char*) "US/Alaska" , 0x052425 }, - { (char*) "US/Aleutian" , 0x052802 }, - { (char*) "US/Arizona" , 0x052BD7 }, - { (char*) "US/Central" , 0x052CD3 }, - { (char*) "US/East-Indiana" , 0x0533B9 }, - { (char*) "US/Eastern" , 0x0535D8 }, - { (char*) "US/Hawaii" , 0x053CB4 }, - { (char*) "US/Indiana-Starke" , 0x053D9D }, - { (char*) "US/Michigan" , 0x0541A1 }, - { (char*) "US/Mountain" , 0x054530 }, - { (char*) "US/Pacific" , 0x05494E }, - { (char*) "US/Samoa" , 0x054E68 }, - { (char*) "UTC" , 0x054F06 }, - { (char*) "W-SU" , 0x054F81 }, - { (char*) "WET" , 0x055319 }, - { (char*) "Zulu" , 0x055513 }, + { (char*) "Asia/Amman" , 0x022D3D }, + { (char*) "Asia/Anadyr" , 0x0230E9 }, + { (char*) "Asia/Aqtau" , 0x0233EF }, + { (char*) "Asia/Aqtobe" , 0x02366E }, + { (char*) "Asia/Ashgabat" , 0x0238EE }, + { (char*) "Asia/Ashkhabad" , 0x023A71 }, + { (char*) "Asia/Atyrau" , 0x023BF4 }, + { (char*) "Asia/Baghdad" , 0x023E7D }, + { (char*) "Asia/Bahrain" , 0x0240FF }, + { (char*) "Asia/Baku" , 0x0241B8 }, + { (char*) "Asia/Bangkok" , 0x0244AC }, + { (char*) "Asia/Barnaul" , 0x024550 }, + { (char*) "Asia/Beirut" , 0x02485B }, + { (char*) "Asia/Bishkek" , 0x024B43 }, + { (char*) "Asia/Brunei" , 0x024DB9 }, + { (char*) "Asia/Calcutta" , 0x024E5F }, + { (char*) "Asia/Chita" , 0x024F47 }, + { (char*) "Asia/Choibalsan" , 0x025255 }, + { (char*) "Asia/Chongqing" , 0x0254DE }, + { (char*) "Asia/Chungking" , 0x025673 }, + { (char*) "Asia/Colombo" , 0x025808 }, + { (char*) "Asia/Dacca" , 0x02590B }, + { (char*) "Asia/Damascus" , 0x0259FE }, + { (char*) "Asia/Dhaka" , 0x025EDC }, + { (char*) "Asia/Dili" , 0x025FCF }, + { (char*) "Asia/Dubai" , 0x026085 }, + { (char*) "Asia/Dushanbe" , 0x026116 }, + { (char*) "Asia/Famagusta" , 0x026290 }, + { (char*) "Asia/Gaza" , 0x026657 }, + { (char*) "Asia/Harbin" , 0x0271F3 }, + { (char*) "Asia/Hebron" , 0x027388 }, + { (char*) "Asia/Ho_Chi_Minh" , 0x027F35 }, + { (char*) "Asia/Hong_Kong" , 0x02802D }, + { (char*) "Asia/Hovd" , 0x028340 }, + { (char*) "Asia/Irkutsk" , 0x0285C9 }, + { (char*) "Asia/Istanbul" , 0x0288E7 }, + { (char*) "Asia/Jakarta" , 0x028DA3 }, + { (char*) "Asia/Jayapura" , 0x028EB4 }, + { (char*) "Asia/Jerusalem" , 0x028FA1 }, + { (char*) "Asia/Kabul" , 0x0293DF }, + { (char*) "Asia/Kamchatka" , 0x02948A }, + { (char*) "Asia/Karachi" , 0x02977F }, + { (char*) "Asia/Kashgar" , 0x029895 }, + { (char*) "Asia/Kathmandu" , 0x029926 }, + { (char*) "Asia/Katmandu" , 0x0299D3 }, + { (char*) "Asia/Khandyga" , 0x029A80 }, + { (char*) "Asia/Kolkata" , 0x029DB1 }, + { (char*) "Asia/Krasnoyarsk" , 0x029E99 }, + { (char*) "Asia/Kuala_Lumpur" , 0x02A1A3 }, + { (char*) "Asia/Kuching" , 0x02A2C3 }, + { (char*) "Asia/Kuwait" , 0x02A41D }, + { (char*) "Asia/Macao" , 0x02A4AE }, + { (char*) "Asia/Macau" , 0x02A7D1 }, + { (char*) "Asia/Magadan" , 0x02AAF4 }, + { (char*) "Asia/Makassar" , 0x02ADFF }, + { (char*) "Asia/Manila" , 0x02AF12 }, + { (char*) "Asia/Muscat" , 0x02B00C }, + { (char*) "Asia/Nicosia" , 0x02B09D }, + { (char*) "Asia/Novokuznetsk" , 0x02B30C }, + { (char*) "Asia/Novosibirsk" , 0x02B5FF }, + { (char*) "Asia/Omsk" , 0x02B910 }, + { (char*) "Asia/Oral" , 0x02BC0E }, + { (char*) "Asia/Phnom_Penh" , 0x02BE9A }, + { (char*) "Asia/Pontianak" , 0x02BF6E }, + { (char*) "Asia/Pyongyang" , 0x02C087 }, + { (char*) "Asia/Qatar" , 0x02C14A }, + { (char*) "Asia/Qostanay" , 0x02C1EE }, + { (char*) "Asia/Qyzylorda" , 0x02C484 }, + { (char*) "Asia/Rangoon" , 0x02C71D }, + { (char*) "Asia/Riyadh" , 0x02C7E4 }, + { (char*) "Asia/Saigon" , 0x02C875 }, + { (char*) "Asia/Sakhalin" , 0x02C96D }, + { (char*) "Asia/Samarkand" , 0x02CC84 }, + { (char*) "Asia/Seoul" , 0x02CE0F }, + { (char*) "Asia/Shanghai" , 0x02CFBA }, + { (char*) "Asia/Singapore" , 0x02D15B }, + { (char*) "Asia/Srednekolymsk" , 0x02D267 }, + { (char*) "Asia/Taipei" , 0x02D577 }, + { (char*) "Asia/Tashkent" , 0x02D782 }, + { (char*) "Asia/Tbilisi" , 0x02D90D }, + { (char*) "Asia/Tehran" , 0x02DB8E }, + { (char*) "Asia/Tel_Aviv" , 0x02DEC6 }, + { (char*) "Asia/Thimbu" , 0x02E304 }, + { (char*) "Asia/Thimphu" , 0x02E3AA }, + { (char*) "Asia/Tokyo" , 0x02E450 }, + { (char*) "Asia/Tomsk" , 0x02E531 }, + { (char*) "Asia/Ujung_Pandang" , 0x02E83C }, + { (char*) "Asia/Ulaanbaatar" , 0x02E906 }, + { (char*) "Asia/Ulan_Bator" , 0x02EB74 }, + { (char*) "Asia/Urumqi" , 0x02EDD2 }, + { (char*) "Asia/Ust-Nera" , 0x02EE70 }, + { (char*) "Asia/Vientiane" , 0x02F193 }, + { (char*) "Asia/Vladivostok" , 0x02F279 }, + { (char*) "Asia/Yakutsk" , 0x02F57E }, + { (char*) "Asia/Yangon" , 0x02F882 }, + { (char*) "Asia/Yekaterinburg" , 0x02F949 }, + { (char*) "Asia/Yerevan" , 0x02FC5B }, + { (char*) "Atlantic/Azores" , 0x02FF2B }, + { (char*) "Atlantic/Bermuda" , 0x0304EA }, + { (char*) "Atlantic/Canary" , 0x0308F6 }, + { (char*) "Atlantic/Cape_Verde" , 0x030AEE }, + { (char*) "Atlantic/Faeroe" , 0x030BA9 }, + { (char*) "Atlantic/Faroe" , 0x030D6E }, + { (char*) "Atlantic/Jan_Mayen" , 0x030F33 }, + { (char*) "Atlantic/Madeira" , 0x031200 }, + { (char*) "Atlantic/Reykjavik" , 0x0317C8 }, + { (char*) "Atlantic/South_Georgia" , 0x031AC5 }, + { (char*) "Atlantic/St_Helena" , 0x031B55 }, + { (char*) "Atlantic/Stanley" , 0x031BF6 }, + { (char*) "Australia/ACT" , 0x031F17 }, + { (char*) "Australia/Adelaide" , 0x0322AB }, + { (char*) "Australia/Brisbane" , 0x03265F }, + { (char*) "Australia/Broken_Hill" , 0x0327A3 }, + { (char*) "Australia/Canberra" , 0x032B78 }, + { (char*) "Australia/Currie" , 0x032F0C }, + { (char*) "Australia/Darwin" , 0x033303 }, + { (char*) "Australia/Eucla" , 0x03340B }, + { (char*) "Australia/Hobart" , 0x03356A }, + { (char*) "Australia/LHI" , 0x033969 }, + { (char*) "Australia/Lindeman" , 0x033C29 }, + { (char*) "Australia/Lord_Howe" , 0x033D99 }, + { (char*) "Australia/Melbourne" , 0x034069 }, + { (char*) "Australia/North" , 0x034405 }, + { (char*) "Australia/NSW" , 0x0344FB }, + { (char*) "Australia/Perth" , 0x03488F }, + { (char*) "Australia/Queensland" , 0x0349EB }, + { (char*) "Australia/South" , 0x034B18 }, + { (char*) "Australia/Sydney" , 0x034EBD }, + { (char*) "Australia/Tasmania" , 0x03526D }, + { (char*) "Australia/Victoria" , 0x035664 }, + { (char*) "Australia/West" , 0x0359F8 }, + { (char*) "Australia/Yancowinna" , 0x035B36 }, + { (char*) "Brazil/Acre" , 0x035EEF }, + { (char*) "Brazil/DeNoronha" , 0x03609D }, + { (char*) "Brazil/East" , 0x03628D }, + { (char*) "Brazil/West" , 0x036651 }, + { (char*) "Canada/Atlantic" , 0x0367F9 }, + { (char*) "Canada/Central" , 0x036E8D }, + { (char*) "Canada/Eastern" , 0x0373A7 }, + { (char*) "Canada/Mountain" , 0x037A68 }, + { (char*) "Canada/Newfoundland" , 0x037E3E }, + { (char*) "Canada/Pacific" , 0x0385A0 }, + { (char*) "Canada/Saskatchewan" , 0x038ADE }, + { (char*) "Canada/Yukon" , 0x038D68 }, + { (char*) "CET" , 0x039179 }, + { (char*) "Chile/Continental" , 0x0393F2 }, + { (char*) "Chile/EasterIsland" , 0x039948 }, + { (char*) "CST6CDT" , 0x039DEA }, + { (char*) "Cuba" , 0x03A1AD }, + { (char*) "EET" , 0x03A616 }, + { (char*) "Egypt" , 0x03A813 }, + { (char*) "Eire" , 0x03AD3C }, + { (char*) "EST" , 0x03B320 }, + { (char*) "EST5EDT" , 0x03B39B }, + { (char*) "Etc/GMT" , 0x03B75E }, + { (char*) "Etc/GMT+0" , 0x03B7D9 }, + { (char*) "Etc/GMT+1" , 0x03B854 }, + { (char*) "Etc/GMT+10" , 0x03B8D1 }, + { (char*) "Etc/GMT+11" , 0x03B94F }, + { (char*) "Etc/GMT+12" , 0x03B9CD }, + { (char*) "Etc/GMT+2" , 0x03BA4B }, + { (char*) "Etc/GMT+3" , 0x03BAC8 }, + { (char*) "Etc/GMT+4" , 0x03BB45 }, + { (char*) "Etc/GMT+5" , 0x03BBC2 }, + { (char*) "Etc/GMT+6" , 0x03BC3F }, + { (char*) "Etc/GMT+7" , 0x03BCBC }, + { (char*) "Etc/GMT+8" , 0x03BD39 }, + { (char*) "Etc/GMT+9" , 0x03BDB6 }, + { (char*) "Etc/GMT-0" , 0x03BE33 }, + { (char*) "Etc/GMT-1" , 0x03BEAE }, + { (char*) "Etc/GMT-10" , 0x03BF2C }, + { (char*) "Etc/GMT-11" , 0x03BFAB }, + { (char*) "Etc/GMT-12" , 0x03C02A }, + { (char*) "Etc/GMT-13" , 0x03C0A9 }, + { (char*) "Etc/GMT-14" , 0x03C128 }, + { (char*) "Etc/GMT-2" , 0x03C1A7 }, + { (char*) "Etc/GMT-3" , 0x03C225 }, + { (char*) "Etc/GMT-4" , 0x03C2A3 }, + { (char*) "Etc/GMT-5" , 0x03C321 }, + { (char*) "Etc/GMT-6" , 0x03C39F }, + { (char*) "Etc/GMT-7" , 0x03C41D }, + { (char*) "Etc/GMT-8" , 0x03C49B }, + { (char*) "Etc/GMT-9" , 0x03C519 }, + { (char*) "Etc/GMT0" , 0x03C597 }, + { (char*) "Etc/Greenwich" , 0x03C612 }, + { (char*) "Etc/UCT" , 0x03C68D }, + { (char*) "Etc/Universal" , 0x03C708 }, + { (char*) "Etc/UTC" , 0x03C783 }, + { (char*) "Etc/Zulu" , 0x03C7FE }, + { (char*) "Europe/Amsterdam" , 0x03C879 }, + { (char*) "Europe/Andorra" , 0x03CCB4 }, + { (char*) "Europe/Astrakhan" , 0x03CE45 }, + { (char*) "Europe/Athens" , 0x03D139 }, + { (char*) "Europe/Belfast" , 0x03D3EF }, + { (char*) "Europe/Belgrade" , 0x03DA3A }, + { (char*) "Europe/Berlin" , 0x03DC24 }, + { (char*) "Europe/Bratislava" , 0x03DF00 }, + { (char*) "Europe/Brussels" , 0x03E1DF }, + { (char*) "Europe/Bucharest" , 0x03E63A }, + { (char*) "Europe/Budapest" , 0x03E8DB }, + { (char*) "Europe/Busingen" , 0x03EBE5 }, + { (char*) "Europe/Chisinau" , 0x03EDEA }, + { (char*) "Europe/Copenhagen" , 0x03F0E9 }, + { (char*) "Europe/Dublin" , 0x03F364 }, + { (char*) "Europe/Gibraltar" , 0x03F948 }, + { (char*) "Europe/Guernsey" , 0x03FE18 }, + { (char*) "Europe/Helsinki" , 0x04046F }, + { (char*) "Europe/Isle_of_Man" , 0x04065C }, + { (char*) "Europe/Istanbul" , 0x040CA7 }, + { (char*) "Europe/Jersey" , 0x041163 }, + { (char*) "Europe/Kaliningrad" , 0x0417BA }, + { (char*) "Europe/Kiev" , 0x041B62 }, + { (char*) "Europe/Kirov" , 0x041D9C }, + { (char*) "Europe/Kyiv" , 0x042095 }, + { (char*) "Europe/Lisbon" , 0x0422DE }, + { (char*) "Europe/Ljubljana" , 0x0428AB }, + { (char*) "Europe/London" , 0x042A95 }, + { (char*) "Europe/Luxembourg" , 0x0430E0 }, + { (char*) "Europe/Madrid" , 0x04352B }, + { (char*) "Europe/Malta" , 0x0438C8 }, + { (char*) "Europe/Mariehamn" , 0x043C74 }, + { (char*) "Europe/Minsk" , 0x043E61 }, + { (char*) "Europe/Monaco" , 0x044195 }, + { (char*) "Europe/Moscow" , 0x0445FB }, + { (char*) "Europe/Nicosia" , 0x0449A7 }, + { (char*) "Europe/Oslo" , 0x044C08 }, + { (char*) "Europe/Paris" , 0x044EB8 }, + { (char*) "Europe/Podgorica" , 0x045315 }, + { (char*) "Europe/Prague" , 0x0454FF }, + { (char*) "Europe/Riga" , 0x0457DE }, + { (char*) "Europe/Rome" , 0x045AA0 }, + { (char*) "Europe/Samara" , 0x045E5F }, + { (char*) "Europe/San_Marino" , 0x046160 }, + { (char*) "Europe/Sarajevo" , 0x04651F }, + { (char*) "Europe/Saratov" , 0x046709 }, + { (char*) "Europe/Simferopol" , 0x0469FB }, + { (char*) "Europe/Skopje" , 0x046D6E }, + { (char*) "Europe/Sofia" , 0x046F58 }, + { (char*) "Europe/Stockholm" , 0x0471B4 }, + { (char*) "Europe/Tallinn" , 0x0473B1 }, + { (char*) "Europe/Tirane" , 0x047660 }, + { (char*) "Europe/Tiraspol" , 0x0478C8 }, + { (char*) "Europe/Ulyanovsk" , 0x047BC7 }, + { (char*) "Europe/Uzhgorod" , 0x047EDD }, + { (char*) "Europe/Vaduz" , 0x048117 }, + { (char*) "Europe/Vatican" , 0x048301 }, + { (char*) "Europe/Vienna" , 0x0486C0 }, + { (char*) "Europe/Vilnius" , 0x04895E }, + { (char*) "Europe/Volgograd" , 0x048C0E }, + { (char*) "Europe/Warsaw" , 0x048F1D }, + { (char*) "Europe/Zagreb" , 0x0492C4 }, + { (char*) "Europe/Zaporozhye" , 0x0494AE }, + { (char*) "Europe/Zurich" , 0x0496E8 }, + { (char*) "Factory" , 0x0498E5 }, + { (char*) "GB" , 0x049962 }, + { (char*) "GB-Eire" , 0x049FAD }, + { (char*) "GMT" , 0x04A5F8 }, + { (char*) "GMT+0" , 0x04A673 }, + { (char*) "GMT-0" , 0x04A6EE }, + { (char*) "GMT0" , 0x04A769 }, + { (char*) "Greenwich" , 0x04A7E4 }, + { (char*) "Hongkong" , 0x04A85F }, + { (char*) "HST" , 0x04AB72 }, + { (char*) "Iceland" , 0x04ABEE }, + { (char*) "Indian/Antananarivo" , 0x04AC7C }, + { (char*) "Indian/Chagos" , 0x04AD28 }, + { (char*) "Indian/Christmas" , 0x04ADCC }, + { (char*) "Indian/Cocos" , 0x04AE5D }, + { (char*) "Indian/Comoro" , 0x04AEF5 }, + { (char*) "Indian/Kerguelen" , 0x04AF84 }, + { (char*) "Indian/Mahe" , 0x04B015 }, + { (char*) "Indian/Maldives" , 0x04B0A6 }, + { (char*) "Indian/Mauritius" , 0x04B14A }, + { (char*) "Indian/Mayotte" , 0x04B209 }, + { (char*) "Indian/Reunion" , 0x04B298 }, + { (char*) "Iran" , 0x04B329 }, + { (char*) "Israel" , 0x04B661 }, + { (char*) "Jamaica" , 0x04BA9F }, + { (char*) "Japan" , 0x04BBFE }, + { (char*) "Kwajalein" , 0x04BCDF }, + { (char*) "Libya" , 0x04BDC6 }, + { (char*) "MET" , 0x04BF81 }, + { (char*) "Mexico/BajaNorte" , 0x04C1FA }, + { (char*) "Mexico/BajaSur" , 0x04C607 }, + { (char*) "Mexico/General" , 0x04C8E1 }, + { (char*) "MST" , 0x04CBF2 }, + { (char*) "MST7MDT" , 0x04CC6D }, + { (char*) "Navajo" , 0x04D030 }, + { (char*) "NZ" , 0x04D44E }, + { (char*) "NZ-CHAT" , 0x04D86D }, + { (char*) "Pacific/Apia" , 0x04DBA1 }, + { (char*) "Pacific/Auckland" , 0x04DD44 }, + { (char*) "Pacific/Bougainville" , 0x04E176 }, + { (char*) "Pacific/Chatham" , 0x04E257 }, + { (char*) "Pacific/Chuuk" , 0x04E59A }, + { (char*) "Pacific/Easter" , 0x04E678 }, + { (char*) "Pacific/Efate" , 0x04EB27 }, + { (char*) "Pacific/Enderbury" , 0x04EC89 }, + { (char*) "Pacific/Fakaofo" , 0x04ED41 }, + { (char*) "Pacific/Fiji" , 0x04EDE6 }, + { (char*) "Pacific/Funafuti" , 0x04EF7E }, + { (char*) "Pacific/Galapagos" , 0x04F010 }, + { (char*) "Pacific/Gambier" , 0x04F0DC }, + { (char*) "Pacific/Guadalcanal" , 0x04F17B }, + { (char*) "Pacific/Guam" , 0x04F20D }, + { (char*) "Pacific/Honolulu" , 0x04F377 }, + { (char*) "Pacific/Johnston" , 0x04F466 }, + { (char*) "Pacific/Kanton" , 0x04F54F }, + { (char*) "Pacific/Kiritimati" , 0x04F616 }, + { (char*) "Pacific/Kosrae" , 0x04F6DC }, + { (char*) "Pacific/Kwajalein" , 0x04F7E0 }, + { (char*) "Pacific/Majuro" , 0x04F8D0 }, + { (char*) "Pacific/Marquesas" , 0x04F9CE }, + { (char*) "Pacific/Midway" , 0x04FA76 }, + { (char*) "Pacific/Nauru" , 0x04FB39 }, + { (char*) "Pacific/Niue" , 0x04FBFC }, + { (char*) "Pacific/Norfolk" , 0x04FCA2 }, + { (char*) "Pacific/Noumea" , 0x04FD9B }, + { (char*) "Pacific/Pago_Pago" , 0x04FE6D }, + { (char*) "Pacific/Palau" , 0x04FF0B }, + { (char*) "Pacific/Pitcairn" , 0x04FFAB }, + { (char*) "Pacific/Pohnpei" , 0x050050 }, + { (char*) "Pacific/Ponape" , 0x050140 }, + { (char*) "Pacific/Port_Moresby" , 0x0501D2 }, + { (char*) "Pacific/Rarotonga" , 0x050290 }, + { (char*) "Pacific/Saipan" , 0x050432 }, + { (char*) "Pacific/Samoa" , 0x050593 }, + { (char*) "Pacific/Tahiti" , 0x050631 }, + { (char*) "Pacific/Tarawa" , 0x0506D1 }, + { (char*) "Pacific/Tongatapu" , 0x050772 }, + { (char*) "Pacific/Truk" , 0x05086B }, + { (char*) "Pacific/Wake" , 0x050911 }, + { (char*) "Pacific/Wallis" , 0x0509AE }, + { (char*) "Pacific/Yap" , 0x050A40 }, + { (char*) "Poland" , 0x050AE6 }, + { (char*) "Portugal" , 0x050E8D }, + { (char*) "PRC" , 0x051447 }, + { (char*) "PST8PDT" , 0x0515DC }, + { (char*) "ROC" , 0x05199F }, + { (char*) "ROK" , 0x051BAA }, + { (char*) "Singapore" , 0x051D55 }, + { (char*) "Turkey" , 0x051E61 }, + { (char*) "UCT" , 0x05231D }, + { (char*) "Universal" , 0x052398 }, + { (char*) "US/Alaska" , 0x052413 }, + { (char*) "US/Aleutian" , 0x0527F0 }, + { (char*) "US/Arizona" , 0x052BC5 }, + { (char*) "US/Central" , 0x052CC1 }, + { (char*) "US/East-Indiana" , 0x0533A7 }, + { (char*) "US/Eastern" , 0x0535C6 }, + { (char*) "US/Hawaii" , 0x053CA2 }, + { (char*) "US/Indiana-Starke" , 0x053D8B }, + { (char*) "US/Michigan" , 0x05418F }, + { (char*) "US/Mountain" , 0x05451E }, + { (char*) "US/Pacific" , 0x05493C }, + { (char*) "US/Samoa" , 0x054E56 }, + { (char*) "UTC" , 0x054EF4 }, + { (char*) "W-SU" , 0x054F6F }, + { (char*) "WET" , 0x055307 }, + { (char*) "Zulu" , 0x055501 }, }; -const unsigned char timelib_timezone_db_data_builtin[349582] = { +const unsigned char timelib_timezone_db_data_builtin[349564] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6509,7 +6509,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x91, 0xB6, 0x38, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00, +0xFF, 0xFF, 0xFF, 0x91, 0xDF, 0x17, 0x28, 0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x75, 0xE4, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x77, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xC6, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0x93, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xA8, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x75, 0xC0, 0x00, @@ -6781,10 +6781,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -7083,10 +7083,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -9002,10 +9002,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -9181,10 +9181,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -10083,7 +10083,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00, @@ -10109,15 +10109,16 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00, -0x00, 0x00, 0x00, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x01, 0x03, +0x00, 0x00, 0x00, 0x41, 0x83, 0xF2, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, -0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, -0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, -0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36, -0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00, 0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73, -0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61, 0x7A, 0x61, 0x6B, 0x68, 0x73, 0x74, 0x61, 0x6E, +0x02, 0x03, 0x01, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, +0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, +0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x36, +0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, +0x13, 0x18, 0x00, 0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61, +0x7A, 0x61, 0x6B, 0x68, 0x73, 0x74, 0x61, 0x6E, /* Asia/Amman */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11111,7 +11112,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF, @@ -11173,8 +11174,8 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00, @@ -11189,41 +11190,40 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, -0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, -0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, +0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, +0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, -0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, -0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, +0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00, @@ -11238,35 +11238,35 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, -0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02, +0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, @@ -11286,13 +11286,13 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, -0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, -0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, -0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, -0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, -0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, -0x00, 0x00, 0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, +0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, +0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, +0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, +0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00, +0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, /* Asia/Harbin */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11328,7 +11328,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x38, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF, @@ -11391,8 +11391,8 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00, @@ -11407,41 +11407,40 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, -0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, -0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, +0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, +0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, -0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, -0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, +0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00, @@ -11456,35 +11455,35 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, -0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02, +0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, @@ -11504,13 +11503,13 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A, -0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, -0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, -0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, -0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, -0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B, +0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, +0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, +0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, +0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, +0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, +0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B, /* Asia/Ho_Chi_Minh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11522,7 +11521,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, @@ -12675,7 +12674,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xF3, 0xA0, 0x00, @@ -12701,16 +12700,17 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x27, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x09, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xEB, 0x50, 0x00, -0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x05, 0x01, 0x02, +0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01, +0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x05, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, -0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, -0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C, -0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, -0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, -0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, +0x03, 0x04, 0x02, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, +0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, +0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, +0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A, +0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73, 0x74, +0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x75, +0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, /* Asia/Qyzylorda */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -12793,7 +12793,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, @@ -15728,10 +15728,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -24213,341 +24213,341 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Asia/Dushanbe" , 0x047AD4 }, { (char*) "Asia/Famagusta" , 0x047D21 }, { (char*) "Asia/Gaza" , 0x048528 }, - { (char*) "Asia/Harbin" , 0x049454 }, - { (char*) "Asia/Hebron" , 0x049691 }, - { (char*) "Asia/Ho_Chi_Minh" , 0x04A5D8 }, - { (char*) "Asia/Hong_Kong" , 0x04A735 }, - { (char*) "Asia/Hovd" , 0x04AC12 }, - { (char*) "Asia/Irkutsk" , 0x04AFB6 }, - { (char*) "Asia/Istanbul" , 0x04B4A9 }, - { (char*) "Asia/Jakarta" , 0x04BC42 }, - { (char*) "Asia/Jayapura" , 0x04BDDA }, - { (char*) "Asia/Jerusalem" , 0x04BEF9 }, - { (char*) "Asia/Kabul" , 0x04C859 }, - { (char*) "Asia/Kamchatka" , 0x04C927 }, - { (char*) "Asia/Karachi" , 0x04CDC5 }, - { (char*) "Asia/Kashgar" , 0x04CF4C }, - { (char*) "Asia/Kathmandu" , 0x04CFEF }, - { (char*) "Asia/Katmandu" , 0x04D0C1 }, - { (char*) "Asia/Khandyga" , 0x04D193 }, - { (char*) "Asia/Kolkata" , 0x04D6A6 }, - { (char*) "Asia/Krasnoyarsk" , 0x04D7CF }, - { (char*) "Asia/Kuala_Lumpur" , 0x04DC9D }, - { (char*) "Asia/Kuching" , 0x04DE4E }, - { (char*) "Asia/Kuwait" , 0x04E03D }, - { (char*) "Asia/Macao" , 0x04E0E0 }, - { (char*) "Asia/Macau" , 0x04E5B7 }, - { (char*) "Asia/Magadan" , 0x04EA8E }, - { (char*) "Asia/Makassar" , 0x04EF62 }, - { (char*) "Asia/Manila" , 0x04F0B5 }, - { (char*) "Asia/Muscat" , 0x04F209 }, - { (char*) "Asia/Nicosia" , 0x04F2AC }, - { (char*) "Asia/Novokuznetsk" , 0x04FA98 }, - { (char*) "Asia/Novosibirsk" , 0x04FF34 }, - { (char*) "Asia/Omsk" , 0x05040B }, - { (char*) "Asia/Oral" , 0x0508CD }, - { (char*) "Asia/Phnom_Penh" , 0x050CC7 }, - { (char*) "Asia/Pontianak" , 0x050DEC }, - { (char*) "Asia/Pyongyang" , 0x050F6F }, - { (char*) "Asia/Qatar" , 0x051068 }, - { (char*) "Asia/Qostanay" , 0x05112D }, - { (char*) "Asia/Qyzylorda" , 0x051538 }, - { (char*) "Asia/Rangoon" , 0x051954 }, - { (char*) "Asia/Riyadh" , 0x051A5E }, - { (char*) "Asia/Saigon" , 0x051B01 }, - { (char*) "Asia/Sakhalin" , 0x051C5E }, - { (char*) "Asia/Samarkand" , 0x052126 }, - { (char*) "Asia/Seoul" , 0x052376 }, - { (char*) "Asia/Shanghai" , 0x0525EB }, - { (char*) "Asia/Singapore" , 0x052834 }, - { (char*) "Asia/Srednekolymsk" , 0x0529D1 }, - { (char*) "Asia/Taipei" , 0x052EA5 }, - { (char*) "Asia/Tashkent" , 0x0531AA }, - { (char*) "Asia/Tbilisi" , 0x053408 }, - { (char*) "Asia/Tehran" , 0x053811 }, - { (char*) "Asia/Tel_Aviv" , 0x053CFD }, - { (char*) "Asia/Thimbu" , 0x05465D }, - { (char*) "Asia/Thimphu" , 0x054726 }, - { (char*) "Asia/Tokyo" , 0x0547EF }, - { (char*) "Asia/Tomsk" , 0x054930 }, - { (char*) "Asia/Ujung_Pandang" , 0x054E01 }, - { (char*) "Asia/Ulaanbaatar" , 0x054F0B }, - { (char*) "Asia/Ulan_Bator" , 0x055294 }, - { (char*) "Asia/Urumqi" , 0x05560D }, - { (char*) "Asia/Ust-Nera" , 0x0556BD }, - { (char*) "Asia/Vientiane" , 0x055BB3 }, - { (char*) "Asia/Vladivostok" , 0x055CF4 }, - { (char*) "Asia/Yakutsk" , 0x0561BD }, - { (char*) "Asia/Yangon" , 0x056685 }, - { (char*) "Asia/Yekaterinburg" , 0x05678F }, - { (char*) "Asia/Yerevan" , 0x056C76 }, - { (char*) "Atlantic/Azores" , 0x0570F3 }, - { (char*) "Atlantic/Bermuda" , 0x057EAF }, - { (char*) "Atlantic/Canary" , 0x058817 }, - { (char*) "Atlantic/Cape_Verde" , 0x058F9A }, - { (char*) "Atlantic/Faeroe" , 0x0590A6 }, - { (char*) "Atlantic/Faroe" , 0x0597C9 }, - { (char*) "Atlantic/Jan_Mayen" , 0x059EEC }, - { (char*) "Atlantic/Madeira" , 0x05A7F2 }, - { (char*) "Atlantic/Reykjavik" , 0x05B5BC }, - { (char*) "Atlantic/South_Georgia" , 0x05BA52 }, - { (char*) "Atlantic/St_Helena" , 0x05BAF4 }, - { (char*) "Atlantic/Stanley" , 0x05BBB6 }, - { (char*) "Australia/ACT" , 0x05C072 }, - { (char*) "Australia/Adelaide" , 0x05C90C }, - { (char*) "Australia/Brisbane" , 0x05D1C7 }, - { (char*) "Australia/Broken_Hill" , 0x05D38D }, - { (char*) "Australia/Canberra" , 0x05DC6A }, - { (char*) "Australia/Currie" , 0x05E504 }, - { (char*) "Australia/Darwin" , 0x05EE46 }, - { (char*) "Australia/Eucla" , 0x05EFA9 }, - { (char*) "Australia/Hobart" , 0x05F196 }, - { (char*) "Australia/LHI" , 0x05FAE0 }, - { (char*) "Australia/Lindeman" , 0x060222 }, - { (char*) "Australia/Lord_Howe" , 0x060428 }, - { (char*) "Australia/Melbourne" , 0x060B7A }, - { (char*) "Australia/North" , 0x06141C }, - { (char*) "Australia/NSW" , 0x06156D }, - { (char*) "Australia/Perth" , 0x061E07 }, - { (char*) "Australia/Queensland" , 0x061FEF }, - { (char*) "Australia/South" , 0x06219E }, - { (char*) "Australia/Sydney" , 0x062A4A }, - { (char*) "Australia/Tasmania" , 0x063300 }, - { (char*) "Australia/Victoria" , 0x063C42 }, - { (char*) "Australia/West" , 0x0644DC }, - { (char*) "Australia/Yancowinna" , 0x0646A6 }, - { (char*) "Brazil/Acre" , 0x064F67 }, - { (char*) "Brazil/DeNoronha" , 0x0651D9 }, - { (char*) "Brazil/East" , 0x0654A3 }, - { (char*) "Brazil/West" , 0x065A45 }, - { (char*) "Canada/Atlantic" , 0x065C9F }, - { (char*) "Canada/Central" , 0x066A0B }, - { (char*) "Canada/Eastern" , 0x06754B }, - { (char*) "Canada/Mountain" , 0x0682FD }, - { (char*) "Canada/Newfoundland" , 0x068C25 }, - { (char*) "Canada/Pacific" , 0x069A78 }, - { (char*) "Canada/Saskatchewan" , 0x06A5D0 }, - { (char*) "Canada/Yukon" , 0x06A9B0 }, - { (char*) "CET" , 0x06B00A }, - { (char*) "Chile/Continental" , 0x06B844 }, - { (char*) "Chile/EasterIsland" , 0x06C223 }, - { (char*) "CST6CDT" , 0x06CADA }, - { (char*) "Cuba" , 0x06D3EC }, - { (char*) "EET" , 0x06DD68 }, - { (char*) "Egypt" , 0x06E4E8 }, - { (char*) "Eire" , 0x06EE53 }, - { (char*) "EST" , 0x06FC03 }, - { (char*) "EST5EDT" , 0x06FC81 }, - { (char*) "Etc/GMT" , 0x070593 }, - { (char*) "Etc/GMT+0" , 0x070611 }, - { (char*) "Etc/GMT+1" , 0x07068F }, - { (char*) "Etc/GMT+10" , 0x07070F }, - { (char*) "Etc/GMT+11" , 0x070790 }, - { (char*) "Etc/GMT+12" , 0x070811 }, - { (char*) "Etc/GMT+2" , 0x070892 }, - { (char*) "Etc/GMT+3" , 0x070912 }, - { (char*) "Etc/GMT+4" , 0x070992 }, - { (char*) "Etc/GMT+5" , 0x070A12 }, - { (char*) "Etc/GMT+6" , 0x070A92 }, - { (char*) "Etc/GMT+7" , 0x070B12 }, - { (char*) "Etc/GMT+8" , 0x070B92 }, - { (char*) "Etc/GMT+9" , 0x070C12 }, - { (char*) "Etc/GMT-0" , 0x070C92 }, - { (char*) "Etc/GMT-1" , 0x070D10 }, - { (char*) "Etc/GMT-10" , 0x070D91 }, - { (char*) "Etc/GMT-11" , 0x070E13 }, - { (char*) "Etc/GMT-12" , 0x070E95 }, - { (char*) "Etc/GMT-13" , 0x070F17 }, - { (char*) "Etc/GMT-14" , 0x070F99 }, - { (char*) "Etc/GMT-2" , 0x07101B }, - { (char*) "Etc/GMT-3" , 0x07109C }, - { (char*) "Etc/GMT-4" , 0x07111D }, - { (char*) "Etc/GMT-5" , 0x07119E }, - { (char*) "Etc/GMT-6" , 0x07121F }, - { (char*) "Etc/GMT-7" , 0x0712A0 }, - { (char*) "Etc/GMT-8" , 0x071321 }, - { (char*) "Etc/GMT-9" , 0x0713A2 }, - { (char*) "Etc/GMT0" , 0x071423 }, - { (char*) "Etc/Greenwich" , 0x0714A1 }, - { (char*) "Etc/UCT" , 0x07151F }, - { (char*) "Etc/Universal" , 0x07159D }, - { (char*) "Etc/UTC" , 0x07161B }, - { (char*) "Etc/Zulu" , 0x071699 }, - { (char*) "Europe/Amsterdam" , 0x071717 }, - { (char*) "Europe/Andorra" , 0x072281 }, - { (char*) "Europe/Astrakhan" , 0x07295B }, - { (char*) "Europe/Athens" , 0x072DF8 }, - { (char*) "Europe/Belfast" , 0x0736DA }, - { (char*) "Europe/Belgrade" , 0x074536 }, - { (char*) "Europe/Berlin" , 0x074CC2 }, - { (char*) "Europe/Bratislava" , 0x0755D7 }, - { (char*) "Europe/Brussels" , 0x075EE0 }, - { (char*) "Europe/Bucharest" , 0x076A61 }, - { (char*) "Europe/Budapest" , 0x0772F5 }, - { (char*) "Europe/Busingen" , 0x077C41 }, - { (char*) "Europe/Chisinau" , 0x0783CA }, - { (char*) "Europe/Copenhagen" , 0x078D2C }, - { (char*) "Europe/Dublin" , 0x079591 }, - { (char*) "Europe/Gibraltar" , 0x07A341 }, - { (char*) "Europe/Guernsey" , 0x07AF49 }, - { (char*) "Europe/Helsinki" , 0x07BDE9 }, - { (char*) "Europe/Isle_of_Man" , 0x07C561 }, - { (char*) "Europe/Istanbul" , 0x07D3AD }, - { (char*) "Europe/Jersey" , 0x07DB46 }, - { (char*) "Europe/Kaliningrad" , 0x07E9E6 }, - { (char*) "Europe/Kiev" , 0x07EFDB }, - { (char*) "Europe/Kirov" , 0x07F82F }, - { (char*) "Europe/Kyiv" , 0x07FCEA }, - { (char*) "Europe/Lisbon" , 0x08054D }, - { (char*) "Europe/Ljubljana" , 0x081315 }, - { (char*) "Europe/London" , 0x081AA1 }, - { (char*) "Europe/Luxembourg" , 0x0828FD }, - { (char*) "Europe/Madrid" , 0x08348B }, - { (char*) "Europe/Malta" , 0x083EDD }, - { (char*) "Europe/Mariehamn" , 0x084925 }, - { (char*) "Europe/Minsk" , 0x08509D }, - { (char*) "Europe/Monaco" , 0x0855C4 }, - { (char*) "Europe/Moscow" , 0x086150 }, - { (char*) "Europe/Nicosia" , 0x08676F }, - { (char*) "Europe/Oslo" , 0x086F4D }, - { (char*) "Europe/Paris" , 0x08780D }, - { (char*) "Europe/Podgorica" , 0x0883AB }, - { (char*) "Europe/Prague" , 0x088B37 }, - { (char*) "Europe/Riga" , 0x089440 }, - { (char*) "Europe/Rome" , 0x089CE2 }, - { (char*) "Europe/Samara" , 0x08A73F }, - { (char*) "Europe/San_Marino" , 0x08AC15 }, - { (char*) "Europe/Sarajevo" , 0x08B672 }, - { (char*) "Europe/Saratov" , 0x08BDFE }, - { (char*) "Europe/Simferopol" , 0x08C2AB }, - { (char*) "Europe/Skopje" , 0x08C87A }, - { (char*) "Europe/Sofia" , 0x08D006 }, - { (char*) "Europe/Stockholm" , 0x08D82F }, - { (char*) "Europe/Tallinn" , 0x08DFB0 }, - { (char*) "Europe/Tirane" , 0x08E820 }, - { (char*) "Europe/Tiraspol" , 0x08F050 }, - { (char*) "Europe/Ulyanovsk" , 0x08F9B2 }, - { (char*) "Europe/Uzhgorod" , 0x08FEB5 }, - { (char*) "Europe/Vaduz" , 0x090709 }, - { (char*) "Europe/Vatican" , 0x090E75 }, - { (char*) "Europe/Vienna" , 0x0918D2 }, - { (char*) "Europe/Vilnius" , 0x092176 }, - { (char*) "Europe/Volgograd" , 0x0929F4 }, - { (char*) "Europe/Warsaw" , 0x092EBB }, - { (char*) "Europe/Zagreb" , 0x093925 }, - { (char*) "Europe/Zaporozhye" , 0x0940B1 }, - { (char*) "Europe/Zurich" , 0x094905 }, - { (char*) "Factory" , 0x095086 }, - { (char*) "GB" , 0x095106 }, - { (char*) "GB-Eire" , 0x095F62 }, - { (char*) "GMT" , 0x096DBE }, - { (char*) "GMT+0" , 0x096E3C }, - { (char*) "GMT-0" , 0x096EBA }, - { (char*) "GMT0" , 0x096F38 }, - { (char*) "Greenwich" , 0x096FB6 }, - { (char*) "Hongkong" , 0x097034 }, - { (char*) "HST" , 0x097511 }, - { (char*) "Iceland" , 0x097590 }, - { (char*) "Indian/Antananarivo" , 0x097630 }, - { (char*) "Indian/Chagos" , 0x097717 }, - { (char*) "Indian/Christmas" , 0x0977DC }, - { (char*) "Indian/Cocos" , 0x09787F }, - { (char*) "Indian/Comoro" , 0x09792B }, - { (char*) "Indian/Kerguelen" , 0x0979CC }, - { (char*) "Indian/Mahe" , 0x097A6F }, - { (char*) "Indian/Maldives" , 0x097B12 }, - { (char*) "Indian/Mauritius" , 0x097BD7 }, - { (char*) "Indian/Mayotte" , 0x097CC6 }, - { (char*) "Indian/Reunion" , 0x097D67 }, - { (char*) "Iran" , 0x097E0A }, - { (char*) "Israel" , 0x0982F6 }, - { (char*) "Jamaica" , 0x098C56 }, - { (char*) "Japan" , 0x098E44 }, - { (char*) "Kwajalein" , 0x098F85 }, - { (char*) "Libya" , 0x0990BF }, - { (char*) "MET" , 0x09933C }, - { (char*) "Mexico/BajaNorte" , 0x099B76 }, - { (char*) "Mexico/BajaSur" , 0x09A4C8 }, - { (char*) "Mexico/General" , 0x09A93C }, - { (char*) "MST" , 0x09AE0E }, - { (char*) "MST7MDT" , 0x09AE8C }, - { (char*) "Navajo" , 0x09B79E }, - { (char*) "NZ" , 0x09C146 }, - { (char*) "NZ-CHAT" , 0x09CAD7 }, - { (char*) "Pacific/Apia" , 0x09D2E9 }, - { (char*) "Pacific/Auckland" , 0x09D54B }, - { (char*) "Pacific/Bougainville" , 0x09DEEF }, - { (char*) "Pacific/Chatham" , 0x09E005 }, - { (char*) "Pacific/Chuuk" , 0x09E826 }, - { (char*) "Pacific/Easter" , 0x09E940 }, - { (char*) "Pacific/Efate" , 0x09F204 }, - { (char*) "Pacific/Enderbury" , 0x09F41C }, - { (char*) "Pacific/Fakaofo" , 0x09F504 }, - { (char*) "Pacific/Fiji" , 0x09F5CA }, - { (char*) "Pacific/Funafuti" , 0x09F80A }, - { (char*) "Pacific/Galapagos" , 0x09F8AE }, - { (char*) "Pacific/Gambier" , 0x09F9AB }, - { (char*) "Pacific/Guadalcanal" , 0x09FA5C }, - { (char*) "Pacific/Guam" , 0x09FB00 }, - { (char*) "Pacific/Honolulu" , 0x09FCFA }, - { (char*) "Pacific/Johnston" , 0x09FE55 }, - { (char*) "Pacific/Kanton" , 0x09FFAA }, - { (char*) "Pacific/Kiritimati" , 0x0A00A1 }, - { (char*) "Pacific/Kosrae" , 0x0A0199 }, - { (char*) "Pacific/Kwajalein" , 0x0A02FC }, - { (char*) "Pacific/Majuro" , 0x0A043F }, - { (char*) "Pacific/Marquesas" , 0x0A058B }, - { (char*) "Pacific/Midway" , 0x0A0647 }, - { (char*) "Pacific/Nauru" , 0x0A073A }, - { (char*) "Pacific/Niue" , 0x0A0834 }, - { (char*) "Pacific/Norfolk" , 0x0A08FD }, - { (char*) "Pacific/Noumea" , 0x0A0C6B }, - { (char*) "Pacific/Pago_Pago" , 0x0A0D99 }, - { (char*) "Pacific/Palau" , 0x0A0E54 }, - { (char*) "Pacific/Pitcairn" , 0x0A0F06 }, - { (char*) "Pacific/Pohnpei" , 0x0A0FCE }, - { (char*) "Pacific/Ponape" , 0x0A1109 }, - { (char*) "Pacific/Port_Moresby" , 0x0A11AD }, - { (char*) "Pacific/Rarotonga" , 0x0A127D }, - { (char*) "Pacific/Saipan" , 0x0A14D6 }, - { (char*) "Pacific/Samoa" , 0x0A16C2 }, - { (char*) "Pacific/Tahiti" , 0x0A177D }, - { (char*) "Pacific/Tarawa" , 0x0A182F }, - { (char*) "Pacific/Tongatapu" , 0x0A18E2 }, - { (char*) "Pacific/Truk" , 0x0A1A54 }, - { (char*) "Pacific/Wake" , 0x0A1B0C }, - { (char*) "Pacific/Wallis" , 0x0A1BBB }, - { (char*) "Pacific/Yap" , 0x0A1C5F }, - { (char*) "Poland" , 0x0A1D17 }, - { (char*) "Portugal" , 0x0A2781 }, - { (char*) "PRC" , 0x0A3536 }, - { (char*) "PST8PDT" , 0x0A3773 }, - { (char*) "ROC" , 0x0A4085 }, - { (char*) "ROK" , 0x0A438A }, - { (char*) "Singapore" , 0x0A45FF }, - { (char*) "Turkey" , 0x0A479C }, - { (char*) "UCT" , 0x0A4F35 }, - { (char*) "Universal" , 0x0A4FB3 }, - { (char*) "US/Alaska" , 0x0A5031 }, - { (char*) "US/Aleutian" , 0x0A5980 }, - { (char*) "US/Arizona" , 0x0A62C0 }, - { (char*) "US/Central" , 0x0A6434 }, - { (char*) "US/East-Indiana" , 0x0A7248 }, - { (char*) "US/Eastern" , 0x0A78E6 }, - { (char*) "US/Hawaii" , 0x0A86D2 }, - { (char*) "US/Indiana-Starke" , 0x0A8827 }, - { (char*) "US/Michigan" , 0x0A91BF }, - { (char*) "US/Mountain" , 0x0A9A81 }, - { (char*) "US/Pacific" , 0x0AA429 }, - { (char*) "US/Samoa" , 0x0AAF59 }, - { (char*) "UTC" , 0x0AB014 }, - { (char*) "W-SU" , 0x0AB092 }, - { (char*) "WET" , 0x0AB69D }, - { (char*) "Zulu" , 0x0ABE1A }, + { (char*) "Asia/Harbin" , 0x049442 }, + { (char*) "Asia/Hebron" , 0x04967F }, + { (char*) "Asia/Ho_Chi_Minh" , 0x04A5B4 }, + { (char*) "Asia/Hong_Kong" , 0x04A711 }, + { (char*) "Asia/Hovd" , 0x04ABEE }, + { (char*) "Asia/Irkutsk" , 0x04AF92 }, + { (char*) "Asia/Istanbul" , 0x04B485 }, + { (char*) "Asia/Jakarta" , 0x04BC1E }, + { (char*) "Asia/Jayapura" , 0x04BDB6 }, + { (char*) "Asia/Jerusalem" , 0x04BED5 }, + { (char*) "Asia/Kabul" , 0x04C835 }, + { (char*) "Asia/Kamchatka" , 0x04C903 }, + { (char*) "Asia/Karachi" , 0x04CDA1 }, + { (char*) "Asia/Kashgar" , 0x04CF28 }, + { (char*) "Asia/Kathmandu" , 0x04CFCB }, + { (char*) "Asia/Katmandu" , 0x04D09D }, + { (char*) "Asia/Khandyga" , 0x04D16F }, + { (char*) "Asia/Kolkata" , 0x04D682 }, + { (char*) "Asia/Krasnoyarsk" , 0x04D7AB }, + { (char*) "Asia/Kuala_Lumpur" , 0x04DC79 }, + { (char*) "Asia/Kuching" , 0x04DE2A }, + { (char*) "Asia/Kuwait" , 0x04E019 }, + { (char*) "Asia/Macao" , 0x04E0BC }, + { (char*) "Asia/Macau" , 0x04E593 }, + { (char*) "Asia/Magadan" , 0x04EA6A }, + { (char*) "Asia/Makassar" , 0x04EF3E }, + { (char*) "Asia/Manila" , 0x04F091 }, + { (char*) "Asia/Muscat" , 0x04F1E5 }, + { (char*) "Asia/Nicosia" , 0x04F288 }, + { (char*) "Asia/Novokuznetsk" , 0x04FA74 }, + { (char*) "Asia/Novosibirsk" , 0x04FF10 }, + { (char*) "Asia/Omsk" , 0x0503E7 }, + { (char*) "Asia/Oral" , 0x0508A9 }, + { (char*) "Asia/Phnom_Penh" , 0x050CA3 }, + { (char*) "Asia/Pontianak" , 0x050DC8 }, + { (char*) "Asia/Pyongyang" , 0x050F4B }, + { (char*) "Asia/Qatar" , 0x051044 }, + { (char*) "Asia/Qostanay" , 0x051109 }, + { (char*) "Asia/Qyzylorda" , 0x051530 }, + { (char*) "Asia/Rangoon" , 0x05194C }, + { (char*) "Asia/Riyadh" , 0x051A56 }, + { (char*) "Asia/Saigon" , 0x051AF9 }, + { (char*) "Asia/Sakhalin" , 0x051C56 }, + { (char*) "Asia/Samarkand" , 0x05211E }, + { (char*) "Asia/Seoul" , 0x05236E }, + { (char*) "Asia/Shanghai" , 0x0525E3 }, + { (char*) "Asia/Singapore" , 0x05282C }, + { (char*) "Asia/Srednekolymsk" , 0x0529C9 }, + { (char*) "Asia/Taipei" , 0x052E9D }, + { (char*) "Asia/Tashkent" , 0x0531A2 }, + { (char*) "Asia/Tbilisi" , 0x053400 }, + { (char*) "Asia/Tehran" , 0x053809 }, + { (char*) "Asia/Tel_Aviv" , 0x053CF5 }, + { (char*) "Asia/Thimbu" , 0x054655 }, + { (char*) "Asia/Thimphu" , 0x05471E }, + { (char*) "Asia/Tokyo" , 0x0547E7 }, + { (char*) "Asia/Tomsk" , 0x054928 }, + { (char*) "Asia/Ujung_Pandang" , 0x054DF9 }, + { (char*) "Asia/Ulaanbaatar" , 0x054F03 }, + { (char*) "Asia/Ulan_Bator" , 0x05528C }, + { (char*) "Asia/Urumqi" , 0x055605 }, + { (char*) "Asia/Ust-Nera" , 0x0556B5 }, + { (char*) "Asia/Vientiane" , 0x055BAB }, + { (char*) "Asia/Vladivostok" , 0x055CEC }, + { (char*) "Asia/Yakutsk" , 0x0561B5 }, + { (char*) "Asia/Yangon" , 0x05667D }, + { (char*) "Asia/Yekaterinburg" , 0x056787 }, + { (char*) "Asia/Yerevan" , 0x056C6E }, + { (char*) "Atlantic/Azores" , 0x0570EB }, + { (char*) "Atlantic/Bermuda" , 0x057EA7 }, + { (char*) "Atlantic/Canary" , 0x05880F }, + { (char*) "Atlantic/Cape_Verde" , 0x058F92 }, + { (char*) "Atlantic/Faeroe" , 0x05909E }, + { (char*) "Atlantic/Faroe" , 0x0597C1 }, + { (char*) "Atlantic/Jan_Mayen" , 0x059EE4 }, + { (char*) "Atlantic/Madeira" , 0x05A7EA }, + { (char*) "Atlantic/Reykjavik" , 0x05B5B4 }, + { (char*) "Atlantic/South_Georgia" , 0x05BA4A }, + { (char*) "Atlantic/St_Helena" , 0x05BAEC }, + { (char*) "Atlantic/Stanley" , 0x05BBAE }, + { (char*) "Australia/ACT" , 0x05C06A }, + { (char*) "Australia/Adelaide" , 0x05C904 }, + { (char*) "Australia/Brisbane" , 0x05D1BF }, + { (char*) "Australia/Broken_Hill" , 0x05D385 }, + { (char*) "Australia/Canberra" , 0x05DC62 }, + { (char*) "Australia/Currie" , 0x05E4FC }, + { (char*) "Australia/Darwin" , 0x05EE3E }, + { (char*) "Australia/Eucla" , 0x05EFA1 }, + { (char*) "Australia/Hobart" , 0x05F18E }, + { (char*) "Australia/LHI" , 0x05FAD8 }, + { (char*) "Australia/Lindeman" , 0x06021A }, + { (char*) "Australia/Lord_Howe" , 0x060420 }, + { (char*) "Australia/Melbourne" , 0x060B72 }, + { (char*) "Australia/North" , 0x061414 }, + { (char*) "Australia/NSW" , 0x061565 }, + { (char*) "Australia/Perth" , 0x061DFF }, + { (char*) "Australia/Queensland" , 0x061FE7 }, + { (char*) "Australia/South" , 0x062196 }, + { (char*) "Australia/Sydney" , 0x062A42 }, + { (char*) "Australia/Tasmania" , 0x0632F8 }, + { (char*) "Australia/Victoria" , 0x063C3A }, + { (char*) "Australia/West" , 0x0644D4 }, + { (char*) "Australia/Yancowinna" , 0x06469E }, + { (char*) "Brazil/Acre" , 0x064F5F }, + { (char*) "Brazil/DeNoronha" , 0x0651D1 }, + { (char*) "Brazil/East" , 0x06549B }, + { (char*) "Brazil/West" , 0x065A3D }, + { (char*) "Canada/Atlantic" , 0x065C97 }, + { (char*) "Canada/Central" , 0x066A03 }, + { (char*) "Canada/Eastern" , 0x067543 }, + { (char*) "Canada/Mountain" , 0x0682F5 }, + { (char*) "Canada/Newfoundland" , 0x068C1D }, + { (char*) "Canada/Pacific" , 0x069A70 }, + { (char*) "Canada/Saskatchewan" , 0x06A5C8 }, + { (char*) "Canada/Yukon" , 0x06A9A8 }, + { (char*) "CET" , 0x06B002 }, + { (char*) "Chile/Continental" , 0x06B83C }, + { (char*) "Chile/EasterIsland" , 0x06C21B }, + { (char*) "CST6CDT" , 0x06CAD2 }, + { (char*) "Cuba" , 0x06D3E4 }, + { (char*) "EET" , 0x06DD60 }, + { (char*) "Egypt" , 0x06E4E0 }, + { (char*) "Eire" , 0x06EE4B }, + { (char*) "EST" , 0x06FBFB }, + { (char*) "EST5EDT" , 0x06FC79 }, + { (char*) "Etc/GMT" , 0x07058B }, + { (char*) "Etc/GMT+0" , 0x070609 }, + { (char*) "Etc/GMT+1" , 0x070687 }, + { (char*) "Etc/GMT+10" , 0x070707 }, + { (char*) "Etc/GMT+11" , 0x070788 }, + { (char*) "Etc/GMT+12" , 0x070809 }, + { (char*) "Etc/GMT+2" , 0x07088A }, + { (char*) "Etc/GMT+3" , 0x07090A }, + { (char*) "Etc/GMT+4" , 0x07098A }, + { (char*) "Etc/GMT+5" , 0x070A0A }, + { (char*) "Etc/GMT+6" , 0x070A8A }, + { (char*) "Etc/GMT+7" , 0x070B0A }, + { (char*) "Etc/GMT+8" , 0x070B8A }, + { (char*) "Etc/GMT+9" , 0x070C0A }, + { (char*) "Etc/GMT-0" , 0x070C8A }, + { (char*) "Etc/GMT-1" , 0x070D08 }, + { (char*) "Etc/GMT-10" , 0x070D89 }, + { (char*) "Etc/GMT-11" , 0x070E0B }, + { (char*) "Etc/GMT-12" , 0x070E8D }, + { (char*) "Etc/GMT-13" , 0x070F0F }, + { (char*) "Etc/GMT-14" , 0x070F91 }, + { (char*) "Etc/GMT-2" , 0x071013 }, + { (char*) "Etc/GMT-3" , 0x071094 }, + { (char*) "Etc/GMT-4" , 0x071115 }, + { (char*) "Etc/GMT-5" , 0x071196 }, + { (char*) "Etc/GMT-6" , 0x071217 }, + { (char*) "Etc/GMT-7" , 0x071298 }, + { (char*) "Etc/GMT-8" , 0x071319 }, + { (char*) "Etc/GMT-9" , 0x07139A }, + { (char*) "Etc/GMT0" , 0x07141B }, + { (char*) "Etc/Greenwich" , 0x071499 }, + { (char*) "Etc/UCT" , 0x071517 }, + { (char*) "Etc/Universal" , 0x071595 }, + { (char*) "Etc/UTC" , 0x071613 }, + { (char*) "Etc/Zulu" , 0x071691 }, + { (char*) "Europe/Amsterdam" , 0x07170F }, + { (char*) "Europe/Andorra" , 0x072279 }, + { (char*) "Europe/Astrakhan" , 0x072953 }, + { (char*) "Europe/Athens" , 0x072DF0 }, + { (char*) "Europe/Belfast" , 0x0736D2 }, + { (char*) "Europe/Belgrade" , 0x07452E }, + { (char*) "Europe/Berlin" , 0x074CBA }, + { (char*) "Europe/Bratislava" , 0x0755CF }, + { (char*) "Europe/Brussels" , 0x075ED8 }, + { (char*) "Europe/Bucharest" , 0x076A59 }, + { (char*) "Europe/Budapest" , 0x0772ED }, + { (char*) "Europe/Busingen" , 0x077C39 }, + { (char*) "Europe/Chisinau" , 0x0783C2 }, + { (char*) "Europe/Copenhagen" , 0x078D24 }, + { (char*) "Europe/Dublin" , 0x079589 }, + { (char*) "Europe/Gibraltar" , 0x07A339 }, + { (char*) "Europe/Guernsey" , 0x07AF41 }, + { (char*) "Europe/Helsinki" , 0x07BDE1 }, + { (char*) "Europe/Isle_of_Man" , 0x07C559 }, + { (char*) "Europe/Istanbul" , 0x07D3A5 }, + { (char*) "Europe/Jersey" , 0x07DB3E }, + { (char*) "Europe/Kaliningrad" , 0x07E9DE }, + { (char*) "Europe/Kiev" , 0x07EFD3 }, + { (char*) "Europe/Kirov" , 0x07F827 }, + { (char*) "Europe/Kyiv" , 0x07FCE2 }, + { (char*) "Europe/Lisbon" , 0x080545 }, + { (char*) "Europe/Ljubljana" , 0x08130D }, + { (char*) "Europe/London" , 0x081A99 }, + { (char*) "Europe/Luxembourg" , 0x0828F5 }, + { (char*) "Europe/Madrid" , 0x083483 }, + { (char*) "Europe/Malta" , 0x083ED5 }, + { (char*) "Europe/Mariehamn" , 0x08491D }, + { (char*) "Europe/Minsk" , 0x085095 }, + { (char*) "Europe/Monaco" , 0x0855BC }, + { (char*) "Europe/Moscow" , 0x086148 }, + { (char*) "Europe/Nicosia" , 0x086767 }, + { (char*) "Europe/Oslo" , 0x086F45 }, + { (char*) "Europe/Paris" , 0x087805 }, + { (char*) "Europe/Podgorica" , 0x0883A3 }, + { (char*) "Europe/Prague" , 0x088B2F }, + { (char*) "Europe/Riga" , 0x089438 }, + { (char*) "Europe/Rome" , 0x089CDA }, + { (char*) "Europe/Samara" , 0x08A737 }, + { (char*) "Europe/San_Marino" , 0x08AC0D }, + { (char*) "Europe/Sarajevo" , 0x08B66A }, + { (char*) "Europe/Saratov" , 0x08BDF6 }, + { (char*) "Europe/Simferopol" , 0x08C2A3 }, + { (char*) "Europe/Skopje" , 0x08C872 }, + { (char*) "Europe/Sofia" , 0x08CFFE }, + { (char*) "Europe/Stockholm" , 0x08D827 }, + { (char*) "Europe/Tallinn" , 0x08DFA8 }, + { (char*) "Europe/Tirane" , 0x08E818 }, + { (char*) "Europe/Tiraspol" , 0x08F048 }, + { (char*) "Europe/Ulyanovsk" , 0x08F9AA }, + { (char*) "Europe/Uzhgorod" , 0x08FEAD }, + { (char*) "Europe/Vaduz" , 0x090701 }, + { (char*) "Europe/Vatican" , 0x090E6D }, + { (char*) "Europe/Vienna" , 0x0918CA }, + { (char*) "Europe/Vilnius" , 0x09216E }, + { (char*) "Europe/Volgograd" , 0x0929EC }, + { (char*) "Europe/Warsaw" , 0x092EB3 }, + { (char*) "Europe/Zagreb" , 0x09391D }, + { (char*) "Europe/Zaporozhye" , 0x0940A9 }, + { (char*) "Europe/Zurich" , 0x0948FD }, + { (char*) "Factory" , 0x09507E }, + { (char*) "GB" , 0x0950FE }, + { (char*) "GB-Eire" , 0x095F5A }, + { (char*) "GMT" , 0x096DB6 }, + { (char*) "GMT+0" , 0x096E34 }, + { (char*) "GMT-0" , 0x096EB2 }, + { (char*) "GMT0" , 0x096F30 }, + { (char*) "Greenwich" , 0x096FAE }, + { (char*) "Hongkong" , 0x09702C }, + { (char*) "HST" , 0x097509 }, + { (char*) "Iceland" , 0x097588 }, + { (char*) "Indian/Antananarivo" , 0x097628 }, + { (char*) "Indian/Chagos" , 0x09770F }, + { (char*) "Indian/Christmas" , 0x0977D4 }, + { (char*) "Indian/Cocos" , 0x097877 }, + { (char*) "Indian/Comoro" , 0x097923 }, + { (char*) "Indian/Kerguelen" , 0x0979C4 }, + { (char*) "Indian/Mahe" , 0x097A67 }, + { (char*) "Indian/Maldives" , 0x097B0A }, + { (char*) "Indian/Mauritius" , 0x097BCF }, + { (char*) "Indian/Mayotte" , 0x097CBE }, + { (char*) "Indian/Reunion" , 0x097D5F }, + { (char*) "Iran" , 0x097E02 }, + { (char*) "Israel" , 0x0982EE }, + { (char*) "Jamaica" , 0x098C4E }, + { (char*) "Japan" , 0x098E3C }, + { (char*) "Kwajalein" , 0x098F7D }, + { (char*) "Libya" , 0x0990B7 }, + { (char*) "MET" , 0x099334 }, + { (char*) "Mexico/BajaNorte" , 0x099B6E }, + { (char*) "Mexico/BajaSur" , 0x09A4C0 }, + { (char*) "Mexico/General" , 0x09A934 }, + { (char*) "MST" , 0x09AE06 }, + { (char*) "MST7MDT" , 0x09AE84 }, + { (char*) "Navajo" , 0x09B796 }, + { (char*) "NZ" , 0x09C13E }, + { (char*) "NZ-CHAT" , 0x09CACF }, + { (char*) "Pacific/Apia" , 0x09D2E1 }, + { (char*) "Pacific/Auckland" , 0x09D543 }, + { (char*) "Pacific/Bougainville" , 0x09DEE7 }, + { (char*) "Pacific/Chatham" , 0x09DFFD }, + { (char*) "Pacific/Chuuk" , 0x09E81E }, + { (char*) "Pacific/Easter" , 0x09E938 }, + { (char*) "Pacific/Efate" , 0x09F1FC }, + { (char*) "Pacific/Enderbury" , 0x09F414 }, + { (char*) "Pacific/Fakaofo" , 0x09F4FC }, + { (char*) "Pacific/Fiji" , 0x09F5C2 }, + { (char*) "Pacific/Funafuti" , 0x09F802 }, + { (char*) "Pacific/Galapagos" , 0x09F8A6 }, + { (char*) "Pacific/Gambier" , 0x09F9A3 }, + { (char*) "Pacific/Guadalcanal" , 0x09FA54 }, + { (char*) "Pacific/Guam" , 0x09FAF8 }, + { (char*) "Pacific/Honolulu" , 0x09FCF2 }, + { (char*) "Pacific/Johnston" , 0x09FE4D }, + { (char*) "Pacific/Kanton" , 0x09FFA2 }, + { (char*) "Pacific/Kiritimati" , 0x0A0099 }, + { (char*) "Pacific/Kosrae" , 0x0A0191 }, + { (char*) "Pacific/Kwajalein" , 0x0A02F4 }, + { (char*) "Pacific/Majuro" , 0x0A0437 }, + { (char*) "Pacific/Marquesas" , 0x0A0583 }, + { (char*) "Pacific/Midway" , 0x0A063F }, + { (char*) "Pacific/Nauru" , 0x0A0732 }, + { (char*) "Pacific/Niue" , 0x0A082C }, + { (char*) "Pacific/Norfolk" , 0x0A08F5 }, + { (char*) "Pacific/Noumea" , 0x0A0C63 }, + { (char*) "Pacific/Pago_Pago" , 0x0A0D91 }, + { (char*) "Pacific/Palau" , 0x0A0E4C }, + { (char*) "Pacific/Pitcairn" , 0x0A0EFE }, + { (char*) "Pacific/Pohnpei" , 0x0A0FC6 }, + { (char*) "Pacific/Ponape" , 0x0A1101 }, + { (char*) "Pacific/Port_Moresby" , 0x0A11A5 }, + { (char*) "Pacific/Rarotonga" , 0x0A1275 }, + { (char*) "Pacific/Saipan" , 0x0A14CE }, + { (char*) "Pacific/Samoa" , 0x0A16BA }, + { (char*) "Pacific/Tahiti" , 0x0A1775 }, + { (char*) "Pacific/Tarawa" , 0x0A1827 }, + { (char*) "Pacific/Tongatapu" , 0x0A18DA }, + { (char*) "Pacific/Truk" , 0x0A1A4C }, + { (char*) "Pacific/Wake" , 0x0A1B04 }, + { (char*) "Pacific/Wallis" , 0x0A1BB3 }, + { (char*) "Pacific/Yap" , 0x0A1C57 }, + { (char*) "Poland" , 0x0A1D0F }, + { (char*) "Portugal" , 0x0A2779 }, + { (char*) "PRC" , 0x0A352E }, + { (char*) "PST8PDT" , 0x0A376B }, + { (char*) "ROC" , 0x0A407D }, + { (char*) "ROK" , 0x0A4382 }, + { (char*) "Singapore" , 0x0A45F7 }, + { (char*) "Turkey" , 0x0A4794 }, + { (char*) "UCT" , 0x0A4F2D }, + { (char*) "Universal" , 0x0A4FAB }, + { (char*) "US/Alaska" , 0x0A5029 }, + { (char*) "US/Aleutian" , 0x0A5978 }, + { (char*) "US/Arizona" , 0x0A62B8 }, + { (char*) "US/Central" , 0x0A642C }, + { (char*) "US/East-Indiana" , 0x0A7240 }, + { (char*) "US/Eastern" , 0x0A78DE }, + { (char*) "US/Hawaii" , 0x0A86CA }, + { (char*) "US/Indiana-Starke" , 0x0A881F }, + { (char*) "US/Michigan" , 0x0A91B7 }, + { (char*) "US/Mountain" , 0x0A9A79 }, + { (char*) "US/Pacific" , 0x0AA421 }, + { (char*) "US/Samoa" , 0x0AAF51 }, + { (char*) "UTC" , 0x0AB00C }, + { (char*) "W-SU" , 0x0AB08A }, + { (char*) "WET" , 0x0AB695 }, + { (char*) "Zulu" , 0x0ABE12 }, }; -const unsigned char timelib_timezone_db_data_builtin[704152] = { +const unsigned char timelib_timezone_db_data_builtin[704144] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -35067,7 +35067,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { /* America/Miquelon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x91, 0xB6, 0x38, 0xA8, +0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x91, 0xDF, 0x17, 0x28, 0x13, 0x6E, 0x63, 0xC0, 0x20, 0x75, 0xE4, 0xD0, 0x21, 0x81, 0x77, 0x40, 0x22, 0x55, 0xC6, 0xD0, 0x23, 0x6A, 0x93, 0xC0, 0x24, 0x35, 0xA8, 0xD0, 0x25, 0x4A, 0x75, 0xC0, 0x26, 0x15, 0x8A, 0xD0, 0x27, 0x2A, 0x57, 0xC0, 0x27, 0xFE, 0xA7, 0x50, 0x29, 0x0A, 0x39, 0xC0, 0x29, 0xDE, 0x89, 0x50, @@ -35105,7 +35105,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x41, 0x53, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xB6, 0x38, 0xA8, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xDF, 0x17, 0x28, 0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x75, 0xE4, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x77, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xC6, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0x93, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xA8, 0xD0, @@ -35554,8 +35554,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -35646,10 +35646,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -36169,8 +36169,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -36261,10 +36261,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -39863,8 +39863,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -39955,10 +39955,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -40238,8 +40238,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -40330,10 +40330,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -42135,8 +42135,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { /* Asia/Almaty */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x7B, 0xDC, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x7B, 0xDC, 0xB5, 0xA3, 0xEF, 0x30, 0x15, 0x27, 0x7D, 0xA0, 0x16, 0x18, 0xB2, 0x10, 0x17, 0x08, 0xB1, 0x20, 0x17, 0xF9, 0xE5, 0x90, 0x18, 0xE9, 0xE4, 0xA0, 0x19, 0xDB, 0x19, 0x10, 0x1A, 0xCC, 0x69, 0xA0, 0x1B, 0xBC, 0x76, 0xC0, 0x1C, 0xAC, 0x67, 0xC0, 0x1D, 0x9C, 0x58, 0xC0, 0x1E, 0x8C, 0x49, 0xC0, @@ -42149,53 +42149,53 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x35, 0x1D, 0x56, 0xC0, 0x36, 0x32, 0x31, 0xC0, 0x36, 0xFD, 0x38, 0xC0, 0x38, 0x1B, 0x4E, 0x40, 0x38, 0xDD, 0x1A, 0xC0, 0x39, 0xFB, 0x30, 0x40, 0x3A, 0xBC, 0xFC, 0xC0, 0x3B, 0xDB, 0x12, 0x40, 0x3C, 0xA6, 0x19, 0x40, 0x3D, 0xBA, 0xF4, 0x40, 0x3E, 0x85, 0xFB, 0x40, 0x3F, 0x9A, 0xD6, 0x40, -0x40, 0x65, 0xDD, 0x40, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0x48, 0x24, 0x00, -0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, -0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, -0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, -0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, -0x30, 0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, -0xFF, 0xAA, 0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00, 0x00, 0x00, -0x00, 0x15, 0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00, 0x00, 0x00, -0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00, 0x00, 0x00, -0x00, 0x18, 0xE9, 0xE4, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x19, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xCC, 0x69, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x76, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x1C, 0xAC, 0x67, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x58, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x8C, 0x49, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x3A, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x20, 0x6C, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x1C, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x22, 0x4C, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3B, 0xFE, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x24, 0x2B, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xE0, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x26, 0x0B, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x04, 0xFD, 0x40, 0x00, 0x00, 0x00, -0x00, 0x27, 0xF4, 0xEE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xED, 0x50, 0x00, 0x00, 0x00, -0x00, 0x29, 0x78, 0x95, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xD0, 0x40, 0x00, 0x00, 0x00, -0x00, 0x2A, 0xC4, 0xC1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xB2, 0x40, 0x00, 0x00, 0x00, -0x00, 0x2C, 0xA4, 0xA3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0x94, 0x40, 0x00, 0x00, 0x00, -0x00, 0x2E, 0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x76, 0x40, 0x00, 0x00, 0x00, -0x00, 0x30, 0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0x92, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x32, 0x72, 0x6D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x74, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x34, 0x52, 0x4F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x56, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x36, 0x32, 0x31, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x38, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x38, 0x1B, 0x4E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x1A, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x39, 0xFB, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBC, 0xFC, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3B, 0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00, 0x00, 0x00, -0x00, 0x3D, 0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00, 0x00, 0x00, -0x00, 0x3F, 0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00, 0x00, 0x00, -0x00, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, -0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, -0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, -0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, -0x54, 0x60, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37, 0x00, -0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C, -0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00, +0x40, 0x65, 0xDD, 0x40, 0x41, 0x83, 0xF2, 0xC0, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, +0x05, 0x04, 0x06, 0x07, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, +0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x01, +0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, +0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, +0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, +0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, +0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x15, +0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, +0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0xE9, 0xE4, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x19, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, +0xCC, 0x69, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x76, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1C, +0xAC, 0x67, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x58, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1E, +0x8C, 0x49, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x3A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x20, +0x6C, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x1C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x22, +0x4C, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3B, 0xFE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x24, +0x2B, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x26, +0x0B, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x04, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x27, +0xF4, 0xEE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xED, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29, +0x78, 0x95, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xD0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xC4, 0xC1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xB2, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xA4, 0xA3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0x94, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2E, +0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x76, 0x40, 0x00, 0x00, 0x00, 0x00, 0x30, +0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0x92, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0x6D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x74, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x4F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x56, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x31, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x4E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x1A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBC, 0xFC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x41, +0x83, 0xF2, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, +0x04, 0x06, 0x07, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, +0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x01, 0x00, +0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, +0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62, +0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, +0x00, 0x62, 0x70, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37, +0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C, +0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00, 0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61, 0x7A, 0x61, 0x6B, 0x68, 0x73, 0x74, 0x61, 0x6E, @@ -43787,7 +43787,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x59, 0xF3, 0xAC, 0x60, 0x5A, 0xB5, 0x86, 0xF0, 0x5B, 0xD3, 0x8E, 0x60, 0x5C, 0x9D, 0x43, 0xE0, 0x5D, 0xB3, 0x62, 0x50, 0x5E, 0x7E, 0x77, 0x60, 0x5F, 0x93, 0x52, 0x60, 0x60, 0x5E, 0x59, 0x60, 0x61, 0x7B, 0x1D, 0x60, 0x62, 0x3F, 0x8C, 0xE0, 0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00, -0x65, 0x3C, 0x40, 0xF0, 0x66, 0x19, 0xCB, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF0, 0x72, 0x80, +0x65, 0x3C, 0x40, 0xF0, 0x66, 0x23, 0x05, 0x80, 0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF9, 0xAD, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x6B, 0xA6, 0xFC, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x6D, 0x86, 0xDE, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x6F, 0x66, 0xC0, 0x00, 0x70, 0x84, 0xC7, 0x70, 0x71, 0x4F, 0xDC, 0x80, 0x72, 0x64, 0xA9, 0x70, 0x73, 0x2F, 0xBE, 0x80, @@ -43812,7 +43812,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, +0x00, 0x01, 0x34, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, @@ -43874,8 +43874,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66, -0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, -0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, +0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, +0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6F, @@ -43889,42 +43889,41 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x98, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xA3, 0xF5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, -0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x83, -0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, +0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85, -0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, +0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86, -0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, +0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88, -0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, +0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A, -0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, +0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C, -0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, +0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E, -0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, +0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90, -0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, +0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, -0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, +0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, -0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, +0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95, -0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, +0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97, -0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, +0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99, -0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, +0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B, -0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, +0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, -0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, +0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E, -0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, -0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, -0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, -0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA5, -0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, +0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, +0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, +0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, +0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA6, +0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAD, @@ -43939,35 +43938,35 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1, -0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, +0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3, -0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, +0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, -0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, +0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6, -0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, +0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8, -0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, +0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA, -0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, +0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC, -0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, +0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE, -0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, +0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF, -0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, +0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, -0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, +0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, -0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, +0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5, -0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, +0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7, -0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, +0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9, -0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, +0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, -0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 0x01, 0x02, 0x01, 0x02, +0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x06, 0x05, 0x06, 0x07, 0x08, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, @@ -43986,17 +43985,17 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, -0x20, 0x00, 0x09, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, -0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, -0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, -0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, -0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, -0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00, -0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, +0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, +0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45, +0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, +0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, +0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00, 0x00, 0x0A, +0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, /* Asia/Harbin */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -44070,8 +44069,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x58, 0x13, 0xCA, 0x60, 0x58, 0xD5, 0xA4, 0xF0, 0x59, 0xF3, 0xAC, 0x60, 0x5A, 0xB5, 0x86, 0xF0, 0x5B, 0xD3, 0x8E, 0x60, 0x5C, 0x9D, 0x43, 0xE0, 0x5D, 0xB3, 0x62, 0x50, 0x5E, 0x7E, 0x77, 0x60, 0x5F, 0x93, 0x52, 0x60, 0x60, 0x5E, 0x59, 0x60, 0x61, 0x7B, 0x1D, 0x60, 0x62, 0x3F, 0x8C, 0xE0, -0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x66, 0x19, 0xCB, 0x00, -0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF0, 0x72, 0x80, 0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00, +0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x66, 0x23, 0x05, 0x80, +0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF9, 0xAD, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x6B, 0xA6, 0xFC, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x6D, 0x86, 0xDE, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x6F, 0x66, 0xC0, 0x00, 0x70, 0x84, 0xC7, 0x70, 0x71, 0x4F, 0xDC, 0x80, 0x72, 0x64, 0xA9, 0x70, 0x73, 0x2F, 0xBE, 0x80, 0x74, 0x44, 0x8B, 0x70, 0x75, 0x0F, 0xA0, 0x80, @@ -44095,7 +44094,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x38, 0x00, 0x00, 0x00, +0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, @@ -44158,8 +44157,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x5F, 0x93, 0x52, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, -0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, +0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00, +0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, @@ -44174,41 +44173,40 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x7D, 0xA3, 0xF5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00, -0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, -0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, -0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, +0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, +0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, -0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, +0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, -0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, +0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, +0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00, +0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, +0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, -0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, +0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, -0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, +0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, -0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, +0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, -0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, +0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, -0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00, +0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, -0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, +0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, -0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, -0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, -0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, -0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00, -0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, +0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, +0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00, +0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, +0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, +0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, @@ -44223,35 +44221,35 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0xBB, 0xAE, 0x3B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, -0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, +0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, -0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, +0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, -0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00, +0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, -0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, +0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, -0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, +0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, -0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, +0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, -0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, +0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, -0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, +0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, -0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, +0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, +0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, +0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, +0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, +0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, -0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, +0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x06, 0x05, 0x06, 0x07, 0x08, 0x07, 0x08, @@ -44271,24 +44269,24 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x20, -0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, -0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, -0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, -0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01, -0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, -0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, -0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65, -0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x20, 0xE7, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, +0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, +0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, +0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74, +0x20, 0x42, 0x61, 0x6E, 0x6B, /* Asia/Ho_Chi_Minh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, -0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, +0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xF2, 0x90, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, @@ -44299,7 +44297,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, -0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, @@ -46092,8 +46090,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { /* Asia/Qostanay */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x88, 0x5C, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x88, 0x5C, 0xB5, 0xA3, 0xFD, 0x40, 0x15, 0x27, 0x8B, 0xB0, 0x16, 0x18, 0xC0, 0x20, 0x17, 0x08, 0xB1, 0x20, 0x17, 0xF9, 0xF3, 0xA0, 0x18, 0xE9, 0xF2, 0xB0, 0x19, 0xDB, 0x27, 0x20, 0x1A, 0xCC, 0x77, 0xB0, 0x1B, 0xBC, 0x84, 0xD0, 0x1C, 0xAC, 0x75, 0xD0, 0x1D, 0x9C, 0x66, 0xD0, 0x1E, 0x8C, 0x57, 0xD0, @@ -46106,56 +46104,58 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x35, 0x1D, 0x64, 0xD0, 0x36, 0x32, 0x3F, 0xD0, 0x36, 0xFD, 0x46, 0xD0, 0x38, 0x1B, 0x5C, 0x50, 0x38, 0xDD, 0x28, 0xD0, 0x39, 0xFB, 0x3E, 0x50, 0x3A, 0xBD, 0x0A, 0xD0, 0x3B, 0xDB, 0x20, 0x50, 0x3C, 0xA6, 0x27, 0x50, 0x3D, 0xBB, 0x02, 0x50, 0x3E, 0x86, 0x09, 0x50, 0x3F, 0x9A, 0xE4, 0x50, -0x40, 0x65, 0xEB, 0x50, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, -0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x00, 0x00, 0x3B, 0xA4, 0x00, -0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, -0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, -0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x00, 0x00, 0x38, 0x40, 0x00, -0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x4C, 0x4D, 0x54, -0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0B, -0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, -0xB5, 0xA3, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x16, 0x18, 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, -0x17, 0xF9, 0xF3, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE9, 0xF2, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x19, 0xDB, 0x27, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xCC, 0x77, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x1B, 0xBC, 0x84, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0x75, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x1D, 0x9C, 0x66, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x57, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x1F, 0x7C, 0x48, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x39, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x21, 0x5C, 0x2A, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x1B, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x23, 0x3C, 0x0C, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2B, 0xFD, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x25, 0x1B, 0xEE, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xDF, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x27, 0x05, 0x0B, 0x50, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF4, 0xFC, 0x50, 0x00, 0x00, 0x00, 0x00, -0x28, 0xE4, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0x78, 0xA3, 0x60, 0x00, 0x00, 0x00, 0x00, -0x29, 0xD4, 0xDE, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xCF, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xB4, 0xC0, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xB1, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x94, 0xA2, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0x93, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x74, 0x84, 0x50, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x75, 0x50, 0x00, 0x00, 0x00, 0x00, -0x31, 0x5D, 0xA0, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0x7B, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x33, 0x3D, 0x82, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x5D, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x35, 0x1D, 0x64, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x3F, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x36, 0xFD, 0x46, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x5C, 0x50, 0x00, 0x00, 0x00, 0x00, -0x38, 0xDD, 0x28, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x3E, 0x50, 0x00, 0x00, 0x00, 0x00, -0x3A, 0xBD, 0x0A, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, -0x3C, 0xA6, 0x27, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x86, 0x09, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00, -0x40, 0x65, 0xEB, 0x50, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04, +0x40, 0x65, 0xEB, 0x50, 0x41, 0x84, 0x00, 0xD0, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x00, -0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, -0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46, -0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x00, -0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, -0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C, 0x2B, 0x30, -0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00, -0x1A, 0x51, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E, -0x61, 0x79, 0x2F, 0x4B, 0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x02, +0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, +0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, +0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, +0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, +0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, +0x01, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xFD, 0x40, +0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xC0, 0x20, +0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xF3, 0xA0, +0x00, 0x00, 0x00, 0x00, 0x18, 0xE9, 0xF2, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x27, 0x20, +0x00, 0x00, 0x00, 0x00, 0x1A, 0xCC, 0x77, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x84, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0x75, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x66, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x57, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x48, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x39, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x2A, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x1B, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x0C, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x24, 0x2B, 0xFD, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xEE, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xDF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x0B, 0x50, +0x00, 0x00, 0x00, 0x00, 0x27, 0xF4, 0xFC, 0x50, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xFB, 0x60, +0x00, 0x00, 0x00, 0x00, 0x29, 0x78, 0xA3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xDE, 0x50, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xCF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xC0, 0x50, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xB1, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xA2, 0x50, +0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0x93, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x84, 0x50, +0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x75, 0x50, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0x7B, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x82, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x5D, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x64, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x3F, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x46, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x5C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x28, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x3E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x0A, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x27, 0x50, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x09, 0x50, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xEB, 0x50, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, +0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x09, 0x02, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, +0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, +0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, +0x46, 0x50, 0x01, 0x08, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, +0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, +0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73, +0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, +0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, /* Asia/Qyzylorda */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -46262,7 +46262,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, -0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, +0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xF2, 0x90, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, @@ -46273,7 +46273,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, -0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, @@ -51988,8 +51988,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -52080,10 +52080,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -70100,4 +70100,4 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { }; #endif -const timelib_tzdb timezonedb_builtin = { "2023.4", 597, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; +const timelib_tzdb timezonedb_builtin = { "2024.1", 597, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; From d91224cd2f71594e1551a91bf48d220432de6514 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sat, 3 Feb 2024 11:42:09 +0000 Subject: [PATCH 07/25] Fix GH-13309 and GH-13310: array hashes comparison, wrong buffer len calculation. php_array_key_compare_string_case_unstable_i has a typo for the second operand resulting in a wrong buffer size calculation. Issue reported by @AlexRudyuk Close GH-13315 --- NEWS | 4 ++++ ext/standard/array.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 78ecae17e4b4d..6c5bedab838db 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.17 +- Core: + . Fixed array key as string (case insensitive) comparison typo + for the second operand buffer size. (A. Slepykh) + - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) diff --git a/ext/standard/array.c b/ext/standard/array.c index 361d83b10df41..cbe0279f7e584 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -188,7 +188,7 @@ static zend_always_inline int php_array_key_compare_string_case_unstable_i(Bucke l2 = s->key->len; } else { s2 = zend_print_long_to_buf(buf2 + sizeof(buf2) - 1, s->h); - l2 = buf2 + sizeof(buf2) - 1 - s1; + l2 = buf2 + sizeof(buf2) - 1 - s2; } return zend_binary_strcasecmp_l(s1, l1, s2, l2); } From b06d6dba4feb3489816d72b705724580bceda174 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sat, 3 Feb 2024 13:22:45 +0000 Subject: [PATCH 08/25] Forgotten piece of GH-13309/GH-13310 previous PR --- ext/standard/array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/standard/array.c b/ext/standard/array.c index cbe0279f7e584..c61ca010a670d 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -238,7 +238,7 @@ static int php_array_key_compare_string_natural_general(Bucket *f, Bucket *s, in l2 = s->key->len; } else { s2 = zend_print_long_to_buf(buf2 + sizeof(buf2) - 1, s->h); - l2 = buf2 + sizeof(buf2) - 1 - s1; + l2 = buf2 + sizeof(buf2) - 1 - s2; } return strnatcmp_ex(s1, l1, s2, l2, fold_case); } From bc30ae4f04a2c7282f00ff1d978c0e54e23128e3 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Fri, 19 Jan 2024 14:41:46 +0000 Subject: [PATCH 09/25] Fix bug #75712: getenv in php-fpm should not read $_ENV, $_SERVER Closes GH-13195 --- NEWS | 4 ++ ext/standard/basic_functions.c | 2 +- main/php_variables.c | 7 +++ main/php_variables.h | 1 + sapi/fpm/fpm/fpm_main.c | 18 +++++- .../tests/bug75712-getenv-server-vars.phpt | 62 +++++++++++++++++++ 6 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 sapi/fpm/tests/bug75712-getenv-server-vars.phpt diff --git a/NEWS b/NEWS index 6c5bedab838db..0a4e03618f590 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ PHP NEWS - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) +- FPM: + . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). + (Jakub Zelenka) + 15 Feb 2024, PHP 8.2.16 - Core: diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 3517b514420d5..b4a723a546818 100755 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -743,7 +743,7 @@ PHP_FUNCTION(getenv) if (!str) { array_init(return_value); - php_import_environment_variables(return_value); + php_load_environment_variables(return_value); return; } diff --git a/main/php_variables.c b/main/php_variables.c index 3d7d904a47d7f..730c6d9458ddc 100644 --- a/main/php_variables.c +++ b/main/php_variables.c @@ -28,7 +28,9 @@ /* for systems that need to override reading of environment variables */ void _php_import_environment_variables(zval *array_ptr); +void _php_load_environment_variables(zval *array_ptr); PHPAPI void (*php_import_environment_variables)(zval *array_ptr) = _php_import_environment_variables; +PHPAPI void (*php_load_environment_variables)(zval *array_ptr) = _php_load_environment_variables; PHPAPI void php_register_variable(const char *var, const char *strval, zval *track_vars_array) { @@ -632,6 +634,11 @@ void _php_import_environment_variables(zval *array_ptr) tsrm_env_unlock(); } +void _php_load_environment_variables(zval *array_ptr) +{ + php_import_environment_variables(array_ptr); +} + bool php_std_auto_global_callback(char *name, uint32_t name_len) { zend_printf("%s\n", name); diff --git a/main/php_variables.h b/main/php_variables.h index 52d26aa5064a2..598de70f03598 100644 --- a/main/php_variables.h +++ b/main/php_variables.h @@ -32,6 +32,7 @@ BEGIN_EXTERN_C() void php_startup_auto_globals(void); extern PHPAPI void (*php_import_environment_variables)(zval *array_ptr); +extern PHPAPI void (*php_load_environment_variables)(zval *array_ptr); PHPAPI void php_register_variable(const char *var, const char *val, zval *track_vars_array); /* binary-safe version */ PHPAPI void php_register_variable_safe(const char *var, const char *val, size_t val_len, zval *track_vars_array); diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c index 94a9ca6c7e604..a4b11627789ee 100644 --- a/sapi/fpm/fpm/fpm_main.c +++ b/sapi/fpm/fpm/fpm_main.c @@ -516,7 +516,21 @@ static void cgi_php_load_env_var(const char *var, unsigned int var_len, char *va } /* }}} */ -void cgi_php_import_environment_variables(zval *array_ptr) /* {{{ */ +static void cgi_php_load_env_var_unfilterd(const char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg) +{ + zval *array_ptr = (zval *) arg; + php_register_variable_safe(var, val, val_len, array_ptr); +} + +static void cgi_php_load_environment_variables(zval *array_ptr) +{ + php_php_import_environment_variables(array_ptr); + + fcgi_request *request = (fcgi_request*) SG(server_context); + fcgi_loadenv(request, cgi_php_load_env_var_unfilterd, array_ptr); +} + +static void cgi_php_import_environment_variables(zval *array_ptr) { fcgi_request *request = NULL; @@ -542,7 +556,6 @@ void cgi_php_import_environment_variables(zval *array_ptr) /* {{{ */ request = (fcgi_request*) SG(server_context); fcgi_loadenv(request, cgi_php_load_env_var, array_ptr); } -/* }}} */ static void sapi_cgi_register_variables(zval *track_vars_array) /* {{{ */ { @@ -1840,6 +1853,7 @@ consult the installation file that came with this distribution, or visit \n\ /* make php call us to get _ENV vars */ php_php_import_environment_variables = php_import_environment_variables; php_import_environment_variables = cgi_php_import_environment_variables; + php_load_environment_variables = cgi_php_load_environment_variables; /* library is already initialized, now init our request */ request = fpm_init_request(fcgi_fd); diff --git a/sapi/fpm/tests/bug75712-getenv-server-vars.phpt b/sapi/fpm/tests/bug75712-getenv-server-vars.phpt new file mode 100644 index 0000000000000..49d9535a6b03a --- /dev/null +++ b/sapi/fpm/tests/bug75712-getenv-server-vars.phpt @@ -0,0 +1,62 @@ +--TEST-- +FPM: bug75712 - getenv should not read from $_ENV and $_SERVER +--SKIPIF-- + +--FILE-- +start(); +$tester->expectLogStartNotices(); +$tester->request()->expectBody([ + 'bool(false)', + 'bool(true)', + 'string(4) "test"', + 'bool(false)', + 'bool(false)', + 'string(2) "dt"', + 'string(2) "dt"', +]); +$tester->terminate(); +$tester->close(); + +?> +Done +--EXPECT-- +Done +--CLEAN-- + From 7096eff91def642e3f6fbe10d70cf8a891dcf2b7 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sun, 4 Feb 2024 16:17:36 +0000 Subject: [PATCH 10/25] Fix NEWS entry for GH-13315. Close GH-13325 --- NEWS | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 0a4e03618f590..ee043d7b20939 100644 --- a/NEWS +++ b/NEWS @@ -2,10 +2,6 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.17 -- Core: - . Fixed array key as string (case insensitive) comparison typo - for the second operand buffer size. (A. Slepykh) - - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) @@ -13,6 +9,10 @@ PHP NEWS . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). (Jakub Zelenka) +- Standard: + . Fixed array key as hash to string (case insensitive) comparison typo + for the second operand buffer size (albeit unused for now). (A. Slepykh) + 15 Feb 2024, PHP 8.2.16 - Core: From 452e008f4f82af24d9690ed21c7a84f236f984aa Mon Sep 17 00:00:00 2001 From: George Barbarosie Date: Thu, 8 Feb 2024 18:16:57 +0000 Subject: [PATCH 11/25] Fix GH-13354: ext/pgsql: pg_execute, pg_send_query_params and_send_execute null value by reference. For these, when passing null values by refence, queries return erroneous values unlike pg_query_params behaving as expected. close GH-13355. --- NEWS | 4 ++ ext/pgsql/pgsql.c | 6 +-- ext/pgsql/tests/gh13354.phpt | 80 ++++++++++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 ext/pgsql/tests/gh13354.phpt diff --git a/NEWS b/NEWS index ee043d7b20939..999fc1a25b596 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ PHP NEWS . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). (Jakub Zelenka) +- PGSQL: + . Fixed bug GH-13354 (pg_execute/pg_send_query_params/pg_send_execute + with null value passed by reference). (George Barbarosie) + - Standard: . Fixed array key as hash to string (case insensitive) comparison typo for the second operand buffer size (albeit unused for now). (A. Slepykh) diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 8b9da44a5b193..6e04848bdea0b 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -1288,7 +1288,7 @@ PHP_FUNCTION(pg_execute) params = (char **)safe_emalloc(sizeof(char *), num_params, 0); ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pv_param_arr), tmp) { - + ZVAL_DEREF(tmp); if (Z_TYPE_P(tmp) == IS_NULL) { params[i] = NULL; } else { @@ -3653,7 +3653,7 @@ PHP_FUNCTION(pg_send_query_params) params = (char **)safe_emalloc(sizeof(char *), num_params, 0); ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pv_param_arr), tmp) { - + ZVAL_DEREF(tmp); if (Z_TYPE_P(tmp) == IS_NULL) { params[i] = NULL; } else { @@ -3820,7 +3820,7 @@ PHP_FUNCTION(pg_send_execute) params = (char **)safe_emalloc(sizeof(char *), num_params, 0); ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pv_param_arr), tmp) { - + ZVAL_DEREF(tmp); if (Z_TYPE_P(tmp) == IS_NULL) { params[i] = NULL; } else { diff --git a/ext/pgsql/tests/gh13354.phpt b/ext/pgsql/tests/gh13354.phpt new file mode 100644 index 0000000000000..1de84acae847d --- /dev/null +++ b/ext/pgsql/tests/gh13354.phpt @@ -0,0 +1,80 @@ +--TEST-- +GH-13354 (null-by-reference handling in pg_execute, pg_send_query_params, pg_send_execute) +--EXTENSIONS-- +pgsql +--SKIPIF-- + +--FILE-- + +--EXPECT-- +pg_execute, null value: t +pg_execute, null value by reference: t +pg_query_params, null value: t +pg_query_params, null value by reference: t +pg_send_query_params, null value: t +pg_send_query_params, null value by reference: t +pg_send_execute, null value: t +pg_send_execute, null value by reference: t From 199e48b5672bf4ad4f6a970aae2993ed1229114e Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Sat, 10 Feb 2024 10:26:52 +0900 Subject: [PATCH 12/25] Fixed not to set CR_MALFORMED_PACKET to error if CR_SERVER_GONE_ERROR is already set Closes GH-11951. --- NEWS | 4 ++++ ext/mysqlnd/mysqlnd_wireprotocol.c | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 999fc1a25b596..2a7ebd0f970a3 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ PHP NEWS . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). (Jakub Zelenka) +- MySQLnd: + . Fixed bug GH-11950 ([mysqlnd] Fixed not to set CR_MALFORMED_PACKET to error + if CR_SERVER_GONE_ERROR is already set). (Saki Takamachi) + - PGSQL: . Fixed bug GH-13354 (pg_execute/pg_send_query_params/pg_send_execute with null value passed by reference). (George Barbarosie) diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c index 30d7415d88567..fed191c74fa52 100644 --- a/ext/mysqlnd/mysqlnd_wireprotocol.c +++ b/ext/mysqlnd/mysqlnd_wireprotocol.c @@ -2488,8 +2488,10 @@ MYSQLND_METHOD(mysqlnd_protocol, send_command_handle_OK)( payload_decoder_factory->m.init_ok_packet(&ok_response); DBG_ENTER("mysqlnd_protocol::send_command_handle_OK"); if (FAIL == (ret = PACKET_READ(payload_decoder_factory->conn, &ok_response))) { - DBG_INF("Error while reading OK packet"); - SET_CLIENT_ERROR(error_info, CR_MALFORMED_PACKET, UNKNOWN_SQLSTATE, "Malformed packet"); + if (error_info->error_no != CR_SERVER_GONE_ERROR) { + DBG_INF("Error while reading OK packet"); + SET_CLIENT_ERROR(error_info, CR_MALFORMED_PACKET, UNKNOWN_SQLSTATE, "Malformed packet"); + } goto end; } DBG_INF_FMT("OK from server"); From 94ba883e195613d5a01be07b6ca9a73024b5575b Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 12 Feb 2024 08:13:23 +0300 Subject: [PATCH 13/25] Fix TLS access in JIT with MUSL (#13329) --- ext/opcache/jit/zend_jit_x86.dasc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index 6d92a32d570e6..d1cbbd6391c53 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -2901,6 +2901,14 @@ static int zend_jit_setup(void) asm ("movq _tsrm_ls_cache@gottpoff(%%rip),%0" : "=r" (ret)); tsrm_ls_cache_tcb_offset = ret; +#elif defined(__MUSL__) + size_t *ti; + + __asm__( + "leaq _tsrm_ls_cache@tlsgd(%%rip), %0\n" + : "=a" (ti)); + tsrm_tls_offset = ti[1]; + tsrm_tls_index = ti[0] * 8; #else size_t *ti; From c2b671cb1bc61305013aa449e3cd04253f32f52a Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sun, 11 Feb 2024 01:02:57 +0100 Subject: [PATCH 14/25] Fix GH-13344: finfo::buffer(): Failed identify data 0:(null) Credits to ranvis for finding the upstream commit that fixes the issue. This backports https://github.com/file/file/commit/029b82459eff7074425cfcbda7c3ce07bb9ce32d Closes GH-13370. --- NEWS | 4 ++ ext/fileinfo/libmagic.patch | 89 ++++++++++++++++++-------------- ext/fileinfo/libmagic/ascmagic.c | 4 +- ext/fileinfo/tests/gh13344.phpt | 12 +++++ 4 files changed, 68 insertions(+), 41 deletions(-) create mode 100644 ext/fileinfo/tests/gh13344.phpt diff --git a/NEWS b/NEWS index 2a7ebd0f970a3..86fdebdb9affd 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,10 @@ PHP NEWS - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) +- Fileinfo: + . Fixed bug GH-13344 (finfo::buffer(): Failed identify data 0:(null), + backport). (nielsdos) + - FPM: . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). (Jakub Zelenka) diff --git a/ext/fileinfo/libmagic.patch b/ext/fileinfo/libmagic.patch index 85170a92d424b..ccd5985c6ef01 100644 --- a/ext/fileinfo/libmagic.patch +++ b/ext/fileinfo/libmagic.patch @@ -1,6 +1,6 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c ---- libmagic.orig/apprentice.c 2021-02-22 17:51:11.000000000 -0700 -+++ libmagic/apprentice.c 2022-06-06 00:36:46.758464267 -0600 +--- libmagic.orig/apprentice.c 2021-02-23 01:51:11.000000000 +0100 ++++ libmagic/apprentice.c 2023-12-09 11:51:31.700896278 +0100 @@ -29,6 +29,8 @@ * apprentice - make one pass through /etc/magic, learning its secrets. */ @@ -944,8 +944,8 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c m->str_flags = swap4(m->str_flags); } diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c ---- libmagic.orig/ascmagic.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/ascmagic.c 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/ascmagic.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/ascmagic.c 2024-02-11 00:59:23.954358532 +0100 @@ -96,7 +96,7 @@ rv = file_ascmagic_with_encoding(ms, &bb, ubuf, ulen, code, type, text); @@ -955,7 +955,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c return rv; } -@@ -143,7 +143,7 @@ +@@ -143,13 +143,15 @@ /* malloc size is a conservative overestimate; could be improved, or at least realloced after conversion. */ mlen = ulen * 6; @@ -964,7 +964,16 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c file_oomem(ms, mlen); goto done; } -@@ -330,7 +330,8 @@ + if ((utf8_end = encode_utf8(utf8_buf, mlen, ubuf, ulen)) +- == NULL) ++ == NULL) { ++ rv = 0; + goto done; ++ } + buffer_init(&bb, b->fd, &b->st, utf8_buf, + CAST(size_t, utf8_end - utf8_buf)); + +@@ -330,7 +332,8 @@ } rv = 1; done: @@ -975,8 +984,8 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c return rv; } diff -u libmagic.orig/buffer.c libmagic/buffer.c ---- libmagic.orig/buffer.c 2021-02-22 17:49:26.000000000 -0700 -+++ libmagic/buffer.c 2021-10-24 17:03:45.681791493 -0600 +--- libmagic.orig/buffer.c 2021-02-23 01:49:26.000000000 +0100 ++++ libmagic/buffer.c 2023-12-09 11:51:31.700896278 +0100 @@ -31,19 +31,23 @@ #endif /* lint */ @@ -1031,8 +1040,8 @@ diff -u libmagic.orig/buffer.c libmagic/buffer.c goto out; } diff -u libmagic.orig/cdf.c libmagic/cdf.c ---- libmagic.orig/cdf.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/cdf.c 2021-10-24 17:03:45.681791493 -0600 +--- libmagic.orig/cdf.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/cdf.c 2023-12-09 11:51:31.704229532 +0100 @@ -43,7 +43,17 @@ #include #endif @@ -1266,8 +1275,8 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c #endif diff -u libmagic.orig/cdf.h libmagic/cdf.h ---- libmagic.orig/cdf.h 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/cdf.h 2021-10-24 17:03:40.741632734 -0600 +--- libmagic.orig/cdf.h 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/cdf.h 2023-12-09 11:51:31.704229532 +0100 @@ -35,10 +35,10 @@ #ifndef _H_CDF_ #define _H_CDF_ @@ -1283,8 +1292,8 @@ diff -u libmagic.orig/cdf.h libmagic/cdf.h #ifdef __DJGPP__ #define timespec timeval diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c ---- libmagic.orig/cdf_time.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/cdf_time.c 2021-10-24 17:03:40.741632734 -0600 +--- libmagic.orig/cdf_time.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/cdf_time.c 2023-12-09 11:51:31.704229532 +0100 @@ -23,6 +23,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. @@ -1312,8 +1321,8 @@ diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c return buf; (void)snprintf(buf, 26, "*Bad* %#16.16" INT64_T_FORMAT "x\n", diff -u libmagic.orig/compress.c libmagic/compress.c ---- libmagic.orig/compress.c 2021-02-22 17:49:07.000000000 -0700 -+++ libmagic/compress.c 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/compress.c 2021-02-23 01:49:07.000000000 +0100 ++++ libmagic/compress.c 2023-12-09 11:51:31.704229532 +0100 @@ -51,7 +51,7 @@ #ifndef HAVE_SIG_T typedef void (*sig_t)(int); @@ -1449,8 +1458,8 @@ diff -u libmagic.orig/compress.c libmagic/compress.c #endif +#endif diff -u libmagic.orig/der.c libmagic/der.c ---- libmagic.orig/der.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/der.c 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/der.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/der.c 2023-12-09 11:51:31.704229532 +0100 @@ -54,7 +54,9 @@ #include "magic.h" #include "der.h" @@ -1462,8 +1471,8 @@ diff -u libmagic.orig/der.c libmagic/der.c #include #endif diff -u libmagic.orig/elfclass.h libmagic/elfclass.h ---- libmagic.orig/elfclass.h 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/elfclass.h 2021-10-24 17:03:40.741632734 -0600 +--- libmagic.orig/elfclass.h 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/elfclass.h 2023-12-09 11:51:31.704229532 +0100 @@ -41,7 +41,7 @@ return toomany(ms, "program headers", phnum); flags |= FLAGS_IS_CORE; @@ -1492,8 +1501,8 @@ diff -u libmagic.orig/elfclass.h libmagic/elfclass.h fsize, elf_getu16(swap, elfhdr.e_machine), CAST(int, elf_getu16(swap, elfhdr.e_shstrndx)), diff -u libmagic.orig/encoding.c libmagic/encoding.c ---- libmagic.orig/encoding.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/encoding.c 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/encoding.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/encoding.c 2023-12-09 11:51:31.704229532 +0100 @@ -98,14 +98,14 @@ nbytes = ms->encoding_max; @@ -1533,8 +1542,8 @@ diff -u libmagic.orig/encoding.c libmagic/encoding.c if (u < 3) \ return 0; \ diff -u libmagic.orig/file.h libmagic/file.h ---- libmagic.orig/file.h 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/file.h 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/file.h 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/file.h 2023-12-09 11:51:31.704229532 +0100 @@ -33,17 +33,14 @@ #ifndef __file_h__ #define __file_h__ @@ -1794,8 +1803,8 @@ diff -u libmagic.orig/file.h libmagic/file.h + #endif /* __file_h__ */ diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c ---- libmagic.orig/fsmagic.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/fsmagic.c 2021-10-24 17:03:45.681791493 -0600 +--- libmagic.orig/fsmagic.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/fsmagic.c 2023-12-09 11:51:31.704229532 +0100 @@ -66,26 +66,10 @@ # define minor(dev) ((dev) & 0xff) #endif @@ -2087,8 +2096,8 @@ diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c #ifndef __COHERENT__ case S_IFSOCK: diff -u libmagic.orig/funcs.c libmagic/funcs.c ---- libmagic.orig/funcs.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/funcs.c 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/funcs.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/funcs.c 2023-12-09 11:51:31.704229532 +0100 @@ -51,6 +51,13 @@ #define SIZE_MAX ((size_t)~0) #endif @@ -2407,8 +2416,8 @@ diff -u libmagic.orig/funcs.c libmagic/funcs.c protected char * file_strtrim(char *str) diff -u libmagic.orig/magic.c libmagic/magic.c ---- libmagic.orig/magic.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/magic.c 2022-06-06 00:36:46.758464267 -0600 +--- libmagic.orig/magic.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/magic.c 2023-12-09 11:51:31.704229532 +0100 @@ -25,11 +25,6 @@ * SUCH DAMAGE. */ @@ -2886,8 +2895,8 @@ diff -u libmagic.orig/magic.c libmagic/magic.c } return file_getbuffer(ms); diff -u libmagic.orig/magic.h libmagic/magic.h ---- libmagic.orig/magic.h 2022-07-05 00:56:31.213294537 -0600 -+++ libmagic/magic.h 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/magic.h 2024-02-11 01:00:54.982008274 +0100 ++++ libmagic/magic.h 2023-12-09 11:51:31.704229532 +0100 @@ -126,6 +126,7 @@ const char *magic_getpath(const char *, int); @@ -2897,8 +2906,8 @@ diff -u libmagic.orig/magic.h libmagic/magic.h const char *magic_buffer(magic_t, const void *, size_t); diff -u libmagic.orig/print.c libmagic/print.c ---- libmagic.orig/print.c 2021-02-22 17:49:07.000000000 -0700 -+++ libmagic/print.c 2021-10-24 17:03:45.681791493 -0600 +--- libmagic.orig/print.c 2021-02-23 01:49:07.000000000 +0100 ++++ libmagic/print.c 2023-12-09 11:51:31.704229532 +0100 @@ -28,6 +28,7 @@ /* * print.c - debugging printout routines @@ -2962,8 +2971,8 @@ diff -u libmagic.orig/print.c libmagic/print.c if (pp == NULL) goto out; diff -u libmagic.orig/readcdf.c libmagic/readcdf.c ---- libmagic.orig/readcdf.c 2021-02-22 17:49:08.000000000 -0700 -+++ libmagic/readcdf.c 2021-10-24 17:03:45.681791493 -0600 +--- libmagic.orig/readcdf.c 2021-02-23 01:49:08.000000000 +0100 ++++ libmagic/readcdf.c 2023-12-09 11:51:31.704229532 +0100 @@ -31,7 +31,11 @@ #include @@ -3086,8 +3095,8 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c /* If we handled it already, return */ if (i != -1) diff -u libmagic.orig/softmagic.c libmagic/softmagic.c ---- libmagic.orig/softmagic.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/softmagic.c 2022-07-05 00:49:26.658974406 -0600 +--- libmagic.orig/softmagic.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/softmagic.c 2023-12-09 11:51:31.704229532 +0100 @@ -43,6 +43,10 @@ #include #include "der.h" @@ -3537,8 +3546,8 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c } case FILE_USE: diff -u libmagic.orig/strcasestr.c libmagic/strcasestr.c ---- libmagic.orig/strcasestr.c 2021-02-22 17:49:12.000000000 -0700 -+++ libmagic/strcasestr.c 2022-06-06 00:36:46.758464267 -0600 +--- libmagic.orig/strcasestr.c 2021-02-23 01:49:12.000000000 +0100 ++++ libmagic/strcasestr.c 2023-12-09 11:51:31.704229532 +0100 @@ -39,6 +39,8 @@ #include "file.h" diff --git a/ext/fileinfo/libmagic/ascmagic.c b/ext/fileinfo/libmagic/ascmagic.c index 631823113bf3d..f667560d81607 100644 --- a/ext/fileinfo/libmagic/ascmagic.c +++ b/ext/fileinfo/libmagic/ascmagic.c @@ -148,8 +148,10 @@ file_ascmagic_with_encoding(struct magic_set *ms, const struct buffer *b, goto done; } if ((utf8_end = encode_utf8(utf8_buf, mlen, ubuf, ulen)) - == NULL) + == NULL) { + rv = 0; goto done; + } buffer_init(&bb, b->fd, &b->st, utf8_buf, CAST(size_t, utf8_end - utf8_buf)); diff --git a/ext/fileinfo/tests/gh13344.phpt b/ext/fileinfo/tests/gh13344.phpt new file mode 100644 index 0000000000000..a2074af8a0bf1 --- /dev/null +++ b/ext/fileinfo/tests/gh13344.phpt @@ -0,0 +1,12 @@ +--TEST-- +GH-13344 (finfo::buffer(): Failed identify data 0:(null)) +--EXTENSIONS-- +fileinfo +--FILE-- +buffer($data); +echo $mime_type; +?> +--EXPECT-- +application/octet-stream; charset=utf-32le From 6db95512b4c5335e8eaaa9c050dfac756a3d31a2 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Thu, 15 Feb 2024 10:24:41 +0100 Subject: [PATCH 15/25] Disable JIT on Apple Silicon + ZTS Apple Silicon has stricter rules about rwx mmap regions. They need to be created using the MAP_JIT flag. However, the MAP_JIT seems to be incompatible with MAP_SHARED. ZTS requires MAP_SHARED so that some threads may execute code from a page while another writes/appends to it. We did not find another solution, other than completely disabling JIT for Apple Silicon + ZTS. See discussion in https://github.com/php/php-src/pull/13351. Co-authored-by: Peter Kokot Fixes GH-13400 Closes GH-13396 --- ext/opcache/config.m4 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 index 0b923206282c4..d35efbc689ed9 100644 --- a/ext/opcache/config.m4 +++ b/ext/opcache/config.m4 @@ -36,6 +36,10 @@ if test "$PHP_OPCACHE" != "no"; then PHP_OPCACHE_JIT=no ;; esac + if test "$host_vendor" = "apple" && test "$host_cpu" = "aarch64" && test "$PHP_THREAD_SAFETY" = "yes"; then + AC_MSG_WARN([JIT not supported on Apple Silicon with ZTS]) + PHP_OPCACHE_JIT=no + fi fi if test "$PHP_OPCACHE_JIT" = "yes"; then From a18cf333baafe37304d01f8b2b20b95d8185b2de Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Sun, 18 Feb 2024 20:37:26 +0100 Subject: [PATCH 16/25] [skip ci] Fix paths-ignore glob pattern * does not work for nested files. --- .github/workflows/push.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 96e721749f834..e08b2539bb70e 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -2,7 +2,7 @@ name: Push on: push: paths-ignore: - - docs/* + - docs/** - NEWS - UPGRADING - UPGRADING.INTERNALS @@ -11,8 +11,8 @@ on: - CODING_STANDARDS.md - .cirrus.yml - .travis.yml - - travis/* - - .circleci/* + - travis/** + - .circleci/** branches: - PHP-7.4 - PHP-8.0 @@ -21,7 +21,7 @@ on: - master pull_request: paths-ignore: - - docs/* + - docs/** - NEWS - UPGRADING - UPGRADING.INTERNALS @@ -30,8 +30,8 @@ on: - CODING_STANDARDS.md - .cirrus.yml - .travis.yml - - travis/* - - .circleci/* + - travis/** + - .circleci/** branches: - '**' concurrency: From 728b81d92e659c0fed0a2704490ea4ed69e0e9dd Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 19 Feb 2024 13:22:30 +0300 Subject: [PATCH 17/25] Prevent recording traces started from usupported VM instruction --- ext/opcache/jit/zend_jit_vm_helpers.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ext/opcache/jit/zend_jit_vm_helpers.c b/ext/opcache/jit/zend_jit_vm_helpers.c index fe9d5fdaa8da5..e37a0ef3af892 100644 --- a/ext/opcache/jit/zend_jit_vm_helpers.c +++ b/ext/opcache/jit/zend_jit_vm_helpers.c @@ -643,6 +643,16 @@ zend_jit_trace_stop ZEND_FASTCALL zend_jit_trace_execute(zend_execute_data *ex, return ZEND_JIT_TRACE_STOP_EXCEPTION; } + trace_flags = ZEND_OP_TRACE_INFO(opline, offset)->trace_flags; + if (trace_flags & ZEND_JIT_TRACE_UNSUPPORTED) { + TRACE_END(ZEND_JIT_TRACE_END, ZEND_JIT_TRACE_STOP_NOT_SUPPORTED, opline); +#ifdef HAVE_GCC_GLOBAL_REGS + execute_data = save_execute_data; + opline = save_opline; +#endif + return ZEND_JIT_TRACE_STOP_NOT_SUPPORTED; + } + if (prev_call) { int ret = zend_jit_trace_record_fake_init_call(prev_call, trace_buffer, idx, is_megamorphic); if (ret < 0) { From 5373f5dd9d1e97ac4bcf5c2160b3091b4c65e068 Mon Sep 17 00:00:00 2001 From: Matteo Beccati Date: Mon, 19 Feb 2024 15:18:48 +0100 Subject: [PATCH 18/25] Fix test on non-UTC environments --- ext/date/tests/gh10747-1.phpt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ext/date/tests/gh10747-1.phpt b/ext/date/tests/gh10747-1.phpt index e02d84b0886c8..6976422cdf206 100644 --- a/ext/date/tests/gh10747-1.phpt +++ b/ext/date/tests/gh10747-1.phpt @@ -1,5 +1,7 @@ --TEST-- Bug GH-10747 (Private fields in serialized DateTimeImmutable objects throw) +--INI-- +date.timezone=UTC --FILE-- Date: Tue, 13 Feb 2024 21:55:24 +0100 Subject: [PATCH 19/25] Workaround ZTS persistent resource crashes (PHP 8.3 and lower) For master (8.4-dev) I merged GH-13381. But that PR changes public API of TSRM, so cannot be used on lower branches. This patch is a safe workaround for the issue, in combination with a pre-existing fix using `ifdef ZTS + if (module_started)` inside pgsql and odbc. The idea is to delay unloading modules until the persistent resources are destroyed. This will keep the destructor code accessible in memory. This is not a proper fix on its own, because we still need the workaround of not accessing globals after module destruction. The proper fix is in master. Closes GH-13388. --- NEWS | 3 +++ Zend/zend.c | 2 ++ Zend/zend.h | 1 + Zend/zend_API.c | 43 +++++++++++++++++++++++++++++++++++++------ Zend/zend_modules.h | 2 +- 5 files changed, 44 insertions(+), 7 deletions(-) diff --git a/NEWS b/NEWS index 86fdebdb9affd..07410268121b6 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.17 +- Core: + . Fix ZTS persistent resource crashes on shutdown. (nielsdos) + - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) diff --git a/Zend/zend.c b/Zend/zend.c index b222467393e94..fc092b66b9e2a 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -1141,6 +1141,8 @@ void zend_shutdown(void) /* {{{ */ #endif zend_destroy_rsrc_list_dtors(); + zend_unload_modules(); + zend_optimizer_shutdown(); startup_done = false; } diff --git a/Zend/zend.h b/Zend/zend.h index 1c3ba9157d067..f57ce27adff9c 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -277,6 +277,7 @@ void zend_shutdown(void); void zend_register_standard_ini_entries(void); zend_result zend_post_startup(void); void zend_set_utility_values(zend_utility_values *utility_values); +void zend_unload_modules(void); ZEND_API ZEND_COLD ZEND_NORETURN void _zend_bailout(const char *filename, uint32_t lineno); ZEND_API size_t zend_get_page_size(void); diff --git a/Zend/zend_API.c b/Zend/zend_API.c index ece58b1dfab53..4c447845e5474 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -41,6 +41,7 @@ ZEND_API HashTable module_registry; static zend_module_entry **module_request_startup_handlers; static zend_module_entry **module_request_shutdown_handlers; static zend_module_entry **module_post_deactivate_handlers; +static zend_module_entry **modules_dl_loaded; static zend_class_entry **class_cleanup_handlers; @@ -2292,6 +2293,7 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */ int startup_count = 0; int shutdown_count = 0; int post_deactivate_count = 0; + int dl_loaded_count = 0; zend_class_entry *ce; int class_count = 0; @@ -2306,6 +2308,9 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */ if (module->post_deactivate_func) { post_deactivate_count++; } + if (module->handle) { + dl_loaded_count++; + } } ZEND_HASH_FOREACH_END(); module_request_startup_handlers = (zend_module_entry**)realloc( module_request_startup_handlers, @@ -2318,6 +2323,9 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */ module_request_shutdown_handlers[shutdown_count] = NULL; module_post_deactivate_handlers = module_request_shutdown_handlers + shutdown_count + 1; module_post_deactivate_handlers[post_deactivate_count] = NULL; + /* Cannot reuse module_request_startup_handlers because it is freed in zend_destroy_modules, which happens before zend_unload_modules. */ + modules_dl_loaded = realloc(modules_dl_loaded, sizeof(zend_module_entry*) * (dl_loaded_count + 1)); + modules_dl_loaded[dl_loaded_count] = NULL; startup_count = 0; ZEND_HASH_MAP_FOREACH_PTR(&module_registry, module) { @@ -2330,6 +2338,9 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */ if (module->post_deactivate_func) { module_post_deactivate_handlers[--post_deactivate_count] = module; } + if (module->handle) { + modules_dl_loaded[--dl_loaded_count] = module; + } } ZEND_HASH_FOREACH_END(); /* Collect internal classes with static members */ @@ -3073,18 +3084,23 @@ void module_destructor(zend_module_entry *module) /* {{{ */ clean_module_functions(module); } -#if HAVE_LIBDL - if (module->handle && !getenv("ZEND_DONT_UNLOAD_MODULES")) { - DL_UNLOAD(module->handle); - } -#endif - #if ZEND_RC_DEBUG zend_rc_debug = orig_rc_debug; #endif } /* }}} */ +void module_registry_unload(const zend_module_entry *module) +{ +#if HAVE_LIBDL + if (!getenv("ZEND_DONT_UNLOAD_MODULES")) { + DL_UNLOAD(module->handle); + } +#else + ZEND_IGNORE_VALUE(module); +#endif +} + ZEND_API void zend_activate_modules(void) /* {{{ */ { zend_module_entry **p = module_request_startup_handlers; @@ -3129,6 +3145,18 @@ ZEND_API void zend_deactivate_modules(void) /* {{{ */ } /* }}} */ +void zend_unload_modules(void) /* {{{ */ +{ + zend_module_entry **modules = modules_dl_loaded; + while (*modules) { + module_registry_unload(*modules); + modules++; + } + free(modules_dl_loaded); + modules_dl_loaded = NULL; +} +/* }}} */ + ZEND_API void zend_post_deactivate_modules(void) /* {{{ */ { if (EG(full_tables_cleanup)) { @@ -3147,6 +3175,9 @@ ZEND_API void zend_post_deactivate_modules(void) /* {{{ */ break; } module_destructor(module); + if (module->handle) { + module_registry_unload(module); + } zend_string_release_ex(key, 0); } ZEND_HASH_MAP_FOREACH_END_DEL(); } else { diff --git a/Zend/zend_modules.h b/Zend/zend_modules.h index 7d80ad4c0608e..43999e5ee4245 100644 --- a/Zend/zend_modules.h +++ b/Zend/zend_modules.h @@ -125,7 +125,7 @@ extern ZEND_API HashTable module_registry; void module_destructor(zend_module_entry *module); int module_registry_request_startup(zend_module_entry *module); -int module_registry_unload_temp(const zend_module_entry *module); +void module_registry_unload(const zend_module_entry *module); END_EXTERN_C() #endif From f732ab8b3e060fde4bce7893ec2c85e336b3b1c6 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Mon, 26 Feb 2024 13:59:21 +0100 Subject: [PATCH 20/25] Fix detection of image formats in system gd library - Use gdFontCacheShutdown() to detect freetype Currently we look for gdImageStringFT() to determine whether or not gd has freetype support... but that function always exists. This leads PHP to believe that gd has freetype support when it does not, and can lead to build failures. The gdFontCacheShutdown() function, on the other hand, is only present when gd was built with freetype support. Let's use that instead. - Fix GD image format detection We currently check for, say, AVIF support by attempting to link a program that calls libgd's gdImageCreateFromAvif() function. But perversely, that function always exists in libgd; moreover when AVIF support is missing it emits a warning and returns normally. Thus our straightforward link test becomes not so straightforward. This commit adds a new macro PHP_GD_CHECK_FORMAT that compiles, links, and runs a test program instead. The test program overrides that "emit a warning" handler so that the program actually fails if the format we're looking for is not supported. This fixes detection of AVIF and the other formats we check for in an external libgd. - ext/gd/tests/bug77391.phpt: skip if gd lacks BMP support I don't actually know how to remove BMP support from libgd, but PHP has a ./configure test for it, so we should probably treat it as optional. Closes GH-12019 --- NEWS | 4 ++++ ext/gd/config.m4 | 61 +++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 57 insertions(+), 8 deletions(-) diff --git a/NEWS b/NEWS index 07410268121b6..d28d31e1efab6 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,10 @@ PHP NEWS . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). (Jakub Zelenka) +- GD: + . Fixed bug GH-12019 (detection of image formats in system gd library). + (Michael Orlitzky) + - MySQLnd: . Fixed bug GH-11950 ([mysqlnd] Fixed not to set CR_MALFORMED_PACKET to error if CR_SERVER_GONE_ERROR is already set). (Saki Takamachi) diff --git a/ext/gd/config.m4 b/ext/gd/config.m4 index 0a175d11d52e7..9bdd6bb11c04d 100644 --- a/ext/gd/config.m4 +++ b/ext/gd/config.m4 @@ -138,15 +138,60 @@ AC_DEFUN([PHP_GD_JISX0208],[ fi ]) +dnl Build and run a program to determine if GD has support for the given +dnl format. The first argument is the proper-noun-capitalized name of the +dnl format -- basically the word Foo in gdImageCreateFromFoo -- such as +dnl Png. If support for format Foo exists, the second argument (the name +dnl of a constant) will be defined to 1. The reason for this charade is +dnl that gd defines "junk" versions of each gdImageCreateFromFoo function +dnl even when it does not support the Foo format. Those junk functions +dnl display a warning but eventually return normally, making a simple link +dnl or run test insufficient. +AC_DEFUN([PHP_GD_CHECK_FORMAT],[ + old_LIBS="${LIBS}" + LIBS="${LIBS} ${GD_SHARED_LIBADD}" + AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd]) + AC_LANG_PUSH([C]) + AC_RUN_IFELSE([AC_LANG_SOURCE([ +#include +#include +#include + +/* A custom gdErrorMethod */ +void exit1(int priority, const char *format, va_list args) { + _exit(1); +} + +/* Override the default gd_error_method with one that + actually causes the program to return an error. */ +int main(int argc, char** argv) { + m4_if([$1],[Xpm], + [char* f = "test.xpm"], + [FILE* f = NULL]); + gdSetErrorMethod(exit1); + gdImagePtr p = gdImageCreateFrom$1(f); + return 0; +}])],[ + AC_MSG_RESULT([yes]) + AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?]) + ],[ + AC_MSG_RESULT([no]) + ],[ + AC_MSG_RESULT([no]) + ]) + AC_LANG_POP([C]) + LIBS="${old_LIBS}" +]) + AC_DEFUN([PHP_GD_CHECK_VERSION],[ - PHP_CHECK_LIBRARY(gd, gdImageCreateFromPng, [AC_DEFINE(HAVE_GD_PNG, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromAvif, [AC_DEFINE(HAVE_GD_AVIF, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromWebp, [AC_DEFINE(HAVE_GD_WEBP, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromJpeg, [AC_DEFINE(HAVE_GD_JPG, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromXpm, [AC_DEFINE(HAVE_GD_XPM, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromBmp, [AC_DEFINE(HAVE_GD_BMP, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromTga, [AC_DEFINE(HAVE_GD_TGA, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageStringFT, [AC_DEFINE(HAVE_GD_FREETYPE, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) + PHP_GD_CHECK_FORMAT([Png], [HAVE_GD_PNG]) + PHP_GD_CHECK_FORMAT([Avif], [HAVE_GD_AVIF]) + PHP_GD_CHECK_FORMAT([Webp], [HAVE_GD_WEBP]) + PHP_GD_CHECK_FORMAT([Jpeg], [HAVE_GD_JPG]) + PHP_GD_CHECK_FORMAT([Xpm], [HAVE_GD_XPM]) + PHP_GD_CHECK_FORMAT([Bmp], [HAVE_GD_BMP]) + PHP_GD_CHECK_FORMAT([Tga], [HAVE_GD_TGA]) + PHP_CHECK_LIBRARY(gd, gdFontCacheShutdown, [AC_DEFINE(HAVE_GD_FREETYPE, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) PHP_CHECK_LIBRARY(gd, gdVersionString, [AC_DEFINE(HAVE_GD_LIBVERSION, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) PHP_CHECK_LIBRARY(gd, gdImageGetInterpolationMethod, [AC_DEFINE(HAVE_GD_GET_INTERPOLATION, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) ]) From b8a1041fd29c7fa2b29625933021efcc3992a045 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sun, 25 Feb 2024 22:59:20 +0100 Subject: [PATCH 21/25] Fix reference access in dimensions for DOMNodeList and DOMNodeMap Closes GH-13511. --- NEWS | 4 ++ ext/dom/php_dom.c | 8 +++ .../DOMNamedNodeMap_string_references.phpt | 64 +++++++++++++++++++ ext/dom/tests/bug67949.phpt | 51 +++++++-------- 4 files changed, 102 insertions(+), 25 deletions(-) create mode 100644 ext/dom/tests/DOMNamedNodeMap_string_references.phpt diff --git a/NEWS b/NEWS index d28d31e1efab6..4e95d7e576aef 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,10 @@ PHP NEWS - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) +- DOM: + . Fix reference access in dimensions for DOMNodeList and DOMNodeMap. + (nielsdos) + - Fileinfo: . Fixed bug GH-13344 (finfo::buffer(): Failed identify data 0:(null), backport). (nielsdos) diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c index 6610a504e4fda..c86cab99c6c79 100644 --- a/ext/dom/php_dom.c +++ b/ext/dom/php_dom.c @@ -1643,6 +1643,8 @@ static zval *dom_nodelist_read_dimension(zend_object *object, zval *offset, int return NULL; } + ZVAL_DEREF(offset); + zend_long lval; if (dom_nodemap_or_nodelist_process_offset_as_named(offset, &lval)) { /* does not support named lookup */ @@ -1656,6 +1658,8 @@ static zval *dom_nodelist_read_dimension(zend_object *object, zval *offset, int static int dom_nodelist_has_dimension(zend_object *object, zval *member, int check_empty) { + ZVAL_DEREF(member); + zend_long offset; if (dom_nodemap_or_nodelist_process_offset_as_named(member, &offset)) { /* does not support named lookup */ @@ -1672,6 +1676,8 @@ static zval *dom_nodemap_read_dimension(zend_object *object, zval *offset, int t return NULL; } + ZVAL_DEREF(offset); + zend_long lval; if (dom_nodemap_or_nodelist_process_offset_as_named(offset, &lval)) { /* exceptional case, switch to named lookup */ @@ -1691,6 +1697,8 @@ static zval *dom_nodemap_read_dimension(zend_object *object, zval *offset, int t static int dom_nodemap_has_dimension(zend_object *object, zval *member, int check_empty) { + ZVAL_DEREF(member); + zend_long offset; if (dom_nodemap_or_nodelist_process_offset_as_named(member, &offset)) { /* exceptional case, switch to named lookup */ diff --git a/ext/dom/tests/DOMNamedNodeMap_string_references.phpt b/ext/dom/tests/DOMNamedNodeMap_string_references.phpt new file mode 100644 index 0000000000000..f6a79286b9132 --- /dev/null +++ b/ext/dom/tests/DOMNamedNodeMap_string_references.phpt @@ -0,0 +1,64 @@ +--TEST-- +DOMNamedNodeMap string references +--EXTENSIONS-- +dom +--FILE-- +loadXML(''); + +$attributes = $dom->documentElement->attributes; + +var_dump(isset($attributes['href']), $attributes['href']->value); + +var_dump(isset($attributes['foo']), $attributes['foo']->value); + +$str = 'href'; +$ref =& $str; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +$str = 'foo'; +$ref =& $str; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +$str = 'this does not exist'; +$ref =& $str; +var_dump(isset($attributes[$ref]), $attributes[$ref]); + +$str = '0'; +$ref =& $str; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +$str = '1'; +$ref =& $str; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +$int = 0; +$ref =& $int; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +$int = 1; +$ref =& $int; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +?> +--EXPECT-- +bool(true) +string(2) "hi" +bool(true) +string(3) "bar" +bool(true) +string(2) "hi" +bool(true) +string(3) "bar" +bool(false) +NULL +bool(true) +string(2) "hi" +bool(true) +string(3) "bar" +bool(true) +string(2) "hi" +bool(true) +string(3) "bar" diff --git a/ext/dom/tests/bug67949.phpt b/ext/dom/tests/bug67949.phpt index 270beb02b494c..f087633bdfe6f 100644 --- a/ext/dom/tests/bug67949.phpt +++ b/ext/dom/tests/bug67949.phpt @@ -5,6 +5,8 @@ dom --FILE-- data hello world @@ -14,57 +16,56 @@ $doc->loadHTML($html); $nodes = $doc->getElementsByTagName('div'); -echo "testing has_dimension\n"; +echo "--- testing has_dimension ---\n"; var_dump(isset($nodes[0])); var_dump(isset($nodes[1])); var_dump(isset($nodes[-1])); -echo "testing property access\n"; +echo "--- testing property access ---\n"; var_dump($nodes[0]->textContent); var_dump($nodes[1]->textContent); -echo "testing offset not a long\n"; +echo "--- testing offset not a long: array ---\n"; $offset = ['test']; var_dump($offset); var_dump(isset($nodes[$offset]), $nodes[$offset]->textContent); -var_dump($offset); -$something = 'test'; +echo "--- testing offset not a long: Reference to string ---\n"; +$something = 'href'; $offset = &$something; var_dump($offset); var_dump(isset($nodes[$offset]), $nodes[$offset]->textContent); -var_dump($offset); +echo "--- testing offset not a long: string ---\n"; $offset = 'test'; var_dump($offset); var_dump(isset($nodes[$offset]), $nodes[$offset]->textContent); -var_dump($offset); -echo "testing read_dimension with null offset\n"; +echo "--- testing read_dimension with null offset ---\n"; try { var_dump($nodes[][] = 1); } catch (Error $e) { echo $e->getMessage(), "\n"; } -echo "testing attribute access\n"; +echo "--- testing attribute access ---\n"; $anchor = $doc->getElementsByTagName('a')[0]; var_dump($anchor->attributes[0]->name); echo "==DONE==\n"; ?> --EXPECTF-- -testing has_dimension +--- testing has_dimension --- bool(true) bool(false) bool(false) -testing property access +--- testing property access --- string(4) "data" Warning: Attempt to read property "textContent" on null in %s on line %d NULL -testing offset not a long +--- testing offset not a long: array --- array(1) { [0]=> string(4) "test" @@ -73,20 +74,20 @@ array(1) { Warning: Attempt to read property "textContent" on null in %s on line %d bool(false) NULL -array(1) { - [0]=> - string(4) "test" -} -string(4) "test" -bool(true) -string(4) "data" -string(4) "test" -string(4) "test" -bool(true) -string(4) "data" +--- testing offset not a long: Reference to string --- +string(4) "href" + +Warning: Attempt to read property "textContent" on null in %s on line %d +bool(false) +NULL +--- testing offset not a long: string --- string(4) "test" -testing read_dimension with null offset + +Warning: Attempt to read property "textContent" on null in %s on line %d +bool(false) +NULL +--- testing read_dimension with null offset --- Cannot access DOMNodeList without offset -testing attribute access +--- testing attribute access --- string(4) "href" ==DONE== From b9a9790be0657249fa5e6687883b43570b0a3f1f Mon Sep 17 00:00:00 2001 From: David Carlier Date: Mon, 26 Feb 2024 19:36:42 +0000 Subject: [PATCH 22/25] Fix GH-13519: PGSQL_CONNECT_FORCE_RENEW with persistent connections. persistent connections did not take in account this flag, after the usual link sanity checks, we remove its entry. Close GH-13519 --- NEWS | 2 ++ ext/pgsql/pgsql.c | 7 +++++++ ext/pgsql/tests/gh13519.phpt | 30 ++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 ext/pgsql/tests/gh13519.phpt diff --git a/NEWS b/NEWS index 4e95d7e576aef..12857e90cdc78 100644 --- a/NEWS +++ b/NEWS @@ -31,6 +31,8 @@ PHP NEWS - PGSQL: . Fixed bug GH-13354 (pg_execute/pg_send_query_params/pg_send_execute with null value passed by reference). (George Barbarosie) + . Fixed bug GH-13519 (PGSQL_CONNECT_FORCE_RENEW not working with persistent + connections. (David Carlier) - Standard: . Fixed array key as hash to string (case insensitive) comparison typo diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 6e04848bdea0b..9b2488a5eb889 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -562,6 +562,7 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /* try to find if we already have this link in our persistent list */ if ((le = zend_hash_find_ptr(&EG(persistent_list), str.s)) == NULL) { /* we don't */ +newpconn: if (PGG(max_links) != -1 && PGG(num_links) >= PGG(max_links)) { php_error_docref(NULL, E_WARNING, "Cannot create new link. Too many open links (" ZEND_LONG_FMT ")", PGG(num_links)); @@ -590,6 +591,12 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) PGG(num_links)++; PGG(num_persistent)++; } else { /* we do */ + if ((connect_type & PGSQL_CONNECT_FORCE_NEW)) { + if (zend_hash_del(&EG(persistent_list), str.s) != SUCCESS) { + goto err; + } + goto newpconn; + } if (le->type != le_plink) { goto err; } diff --git a/ext/pgsql/tests/gh13519.phpt b/ext/pgsql/tests/gh13519.phpt new file mode 100644 index 0000000000000..17379cdacce71 --- /dev/null +++ b/ext/pgsql/tests/gh13519.phpt @@ -0,0 +1,30 @@ +--TEST-- +GH-13519 - PGSQL_CONNECT_FORCE_NEW with persistent connections. +--EXTENSIONS-- +pgsql +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(true) +bool(true) +bool(true) +bool(false) +bool(false) +bool(false) From 74b39a18a9c5a0a2e7ba9f4075811e7f3524bfdc Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Tue, 27 Feb 2024 23:03:19 +0000 Subject: [PATCH 23/25] Revert "Fix GH-13519: PGSQL_CONNECT_FORCE_RENEW with persistent connections." This reverts commit b9a9790be0657249fa5e6687883b43570b0a3f1f. (cherry picked from commit 330b26e04c12373610bb16472807447f55779a2e) --- ext/pgsql/pgsql.c | 7 ------- ext/pgsql/tests/gh13519.phpt | 30 ------------------------------ 2 files changed, 37 deletions(-) delete mode 100644 ext/pgsql/tests/gh13519.phpt diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 9b2488a5eb889..6e04848bdea0b 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -562,7 +562,6 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /* try to find if we already have this link in our persistent list */ if ((le = zend_hash_find_ptr(&EG(persistent_list), str.s)) == NULL) { /* we don't */ -newpconn: if (PGG(max_links) != -1 && PGG(num_links) >= PGG(max_links)) { php_error_docref(NULL, E_WARNING, "Cannot create new link. Too many open links (" ZEND_LONG_FMT ")", PGG(num_links)); @@ -591,12 +590,6 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) PGG(num_links)++; PGG(num_persistent)++; } else { /* we do */ - if ((connect_type & PGSQL_CONNECT_FORCE_NEW)) { - if (zend_hash_del(&EG(persistent_list), str.s) != SUCCESS) { - goto err; - } - goto newpconn; - } if (le->type != le_plink) { goto err; } diff --git a/ext/pgsql/tests/gh13519.phpt b/ext/pgsql/tests/gh13519.phpt deleted file mode 100644 index 17379cdacce71..0000000000000 --- a/ext/pgsql/tests/gh13519.phpt +++ /dev/null @@ -1,30 +0,0 @@ ---TEST-- -GH-13519 - PGSQL_CONNECT_FORCE_NEW with persistent connections. ---EXTENSIONS-- -pgsql ---SKIPIF-- - ---FILE-- - ---EXPECT-- -bool(true) -bool(true) -bool(true) -bool(false) -bool(false) -bool(false) From 065e26aadbbe2315b2c4444c92ffc666d7225a98 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Wed, 28 Feb 2024 09:13:12 +0300 Subject: [PATCH 24/25] [skip ci] Update NEWS --- NEWS | 2 -- 1 file changed, 2 deletions(-) diff --git a/NEWS b/NEWS index 12857e90cdc78..4e95d7e576aef 100644 --- a/NEWS +++ b/NEWS @@ -31,8 +31,6 @@ PHP NEWS - PGSQL: . Fixed bug GH-13354 (pg_execute/pg_send_query_params/pg_send_execute with null value passed by reference). (George Barbarosie) - . Fixed bug GH-13519 (PGSQL_CONNECT_FORCE_RENEW not working with persistent - connections. (David Carlier) - Standard: . Fixed array key as hash to string (case insensitive) comparison typo From 4e807885978b7569a1a172f102ee6d66e0d01980 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Tue, 12 Mar 2024 17:24:40 +0300 Subject: [PATCH 25/25] Update versions for PHP 8.2.17 --- NEWS | 2 +- Zend/zend.h | 2 +- configure.ac | 2 +- main/php_version.h | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 4e95d7e576aef..fbf73e22f822c 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.2.17 +14 Mar 2024, PHP 8.2.17 - Core: . Fix ZTS persistent resource crashes on shutdown. (nielsdos) diff --git a/Zend/zend.h b/Zend/zend.h index f57ce27adff9c..f86f27cc7151f 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.2.17-dev" +#define ZEND_VERSION "4.2.17" #define ZEND_ENGINE_3 diff --git a/configure.ac b/configure.ac index 365ce64875f36..a54d097bcc446 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Basic autoconf initialization, generation of config.nice. dnl ---------------------------------------------------------------------------- AC_PREREQ([2.68]) -AC_INIT([PHP],[8.2.17-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) +AC_INIT([PHP],[8.2.17],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) AC_CONFIG_SRCDIR([main/php_version.h]) AC_CONFIG_AUX_DIR([build]) AC_PRESERVE_HELP_ORDER diff --git a/main/php_version.h b/main/php_version.h index f5d0211ee65a9..ea624c8768d31 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -3,6 +3,6 @@ #define PHP_MAJOR_VERSION 8 #define PHP_MINOR_VERSION 2 #define PHP_RELEASE_VERSION 17 -#define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.2.17-dev" +#define PHP_EXTRA_VERSION "" +#define PHP_VERSION "8.2.17" #define PHP_VERSION_ID 80217