summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/date/lib/timezonedb.h1318
-rw-r--r--ext/gmp/gmp.c109
-rw-r--r--ext/gmp/tests/bug659967.phpt15
-rw-r--r--ext/gmp/tests/serialize.phpt22
-rw-r--r--ext/odbc/php_odbc_includes.h2
-rw-r--r--ext/opcache/README4
-rw-r--r--ext/opcache/zend_accelerator_module.c2
-rw-r--r--ext/standard/array.c91
-rw-r--r--ext/standard/basic_functions.c1
-rw-r--r--ext/standard/crypt.c2
-rw-r--r--ext/standard/php_array.h3
-rw-r--r--ext/standard/tests/array/array_filter_error.phpt4
-rw-r--r--ext/standard/tests/array/array_filter_variation10.phpt103
-rw-r--r--ext/standard/tests/general_functions/var_export-locale.phpt8
-rw-r--r--ext/standard/tests/general_functions/var_export_basic3.phpt36
-rw-r--r--ext/standard/tests/general_functions/var_export_basic5.phpt10
-rw-r--r--ext/standard/tests/strings/crypt.phpt2
-rw-r--r--ext/standard/var.c2
-rw-r--r--ext/zip/LICENSE_libzip27
19 files changed, 1026 insertions, 735 deletions
diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h
index 8142aab565..91884a935f 100644
--- a/ext/date/lib/timezonedb.h
+++ b/ext/date/lib/timezonedb.h
@@ -14,573 +14,573 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[579] = {
{ "Africa/Bujumbura" , 0x000571 },
{ "Africa/Cairo" , 0x0005B5 },
{ "Africa/Casablanca" , 0x000878 },
- { "Africa/Ceuta" , 0x000ABC },
- { "Africa/Conakry" , 0x000DC3 },
- { "Africa/Dakar" , 0x000E2E },
- { "Africa/Dar_es_Salaam" , 0x000E94 },
- { "Africa/Djibouti" , 0x000F01 },
- { "Africa/Douala" , 0x000F56 },
- { "Africa/El_Aaiun" , 0x000FAB },
- { "Africa/Freetown" , 0x001011 },
- { "Africa/Gaborone" , 0x001120 },
- { "Africa/Harare" , 0x00118D },
- { "Africa/Johannesburg" , 0x0011E2 },
- { "Africa/Juba" , 0x001250 },
- { "Africa/Kampala" , 0x001363 },
- { "Africa/Khartoum" , 0x0013E2 },
- { "Africa/Kigali" , 0x0014F5 },
- { "Africa/Kinshasa" , 0x00154A },
- { "Africa/Lagos" , 0x0015A5 },
- { "Africa/Libreville" , 0x0015FA },
- { "Africa/Lome" , 0x00164F },
- { "Africa/Luanda" , 0x001693 },
- { "Africa/Lubumbashi" , 0x0016E8 },
- { "Africa/Lusaka" , 0x001743 },
- { "Africa/Malabo" , 0x001798 },
- { "Africa/Maputo" , 0x0017FE },
- { "Africa/Maseru" , 0x001853 },
- { "Africa/Mbabane" , 0x0018BB },
- { "Africa/Mogadishu" , 0x001911 },
- { "Africa/Monrovia" , 0x00196C },
- { "Africa/Nairobi" , 0x0019D2 },
- { "Africa/Ndjamena" , 0x001A51 },
- { "Africa/Niamey" , 0x001ABD },
- { "Africa/Nouakchott" , 0x001B30 },
- { "Africa/Ouagadougou" , 0x001B9B },
- { "Africa/Porto-Novo" , 0x001BF0 },
- { "Africa/Sao_Tome" , 0x001C56 },
- { "Africa/Timbuktu" , 0x001CAB },
- { "Africa/Tripoli" , 0x001D16 },
- { "Africa/Tunis" , 0x001F0F },
- { "Africa/Windhoek" , 0x002021 },
- { "America/Adak" , 0x002268 },
- { "America/Anchorage" , 0x0025DE },
- { "America/Anguilla" , 0x002952 },
- { "America/Antigua" , 0x0029A7 },
- { "America/Araguaina" , 0x002A0D },
- { "America/Argentina/Buenos_Aires" , 0x002B72 },
- { "America/Argentina/Catamarca" , 0x002D20 },
- { "America/Argentina/ComodRivadavia" , 0x002EE1 },
- { "America/Argentina/Cordoba" , 0x003087 },
- { "America/Argentina/Jujuy" , 0x00325C },
- { "America/Argentina/La_Rioja" , 0x003410 },
- { "America/Argentina/Mendoza" , 0x0035C8 },
- { "America/Argentina/Rio_Gallegos" , 0x003788 },
- { "America/Argentina/Salta" , 0x00393D },
- { "America/Argentina/San_Juan" , 0x003AE9 },
- { "America/Argentina/San_Luis" , 0x003CA1 },
- { "America/Argentina/Tucuman" , 0x003E67 },
- { "America/Argentina/Ushuaia" , 0x004023 },
- { "America/Aruba" , 0x0041DE },
- { "America/Asuncion" , 0x004244 },
- { "America/Atikokan" , 0x004529 },
- { "America/Atka" , 0x0045FF },
- { "America/Bahia" , 0x004965 },
- { "America/Bahia_Banderas" , 0x004AF8 },
- { "America/Barbados" , 0x004D71 },
- { "America/Belem" , 0x004E0B },
- { "America/Belize" , 0x004F06 },
- { "America/Blanc-Sablon" , 0x005082 },
- { "America/Boa_Vista" , 0x005136 },
- { "America/Bogota" , 0x00523F },
- { "America/Boise" , 0x0052AB },
- { "America/Buenos_Aires" , 0x005642 },
- { "America/Cambridge_Bay" , 0x0057DB },
- { "America/Campo_Grande" , 0x005B03 },
- { "America/Cancun" , 0x005DF2 },
- { "America/Caracas" , 0x006034 },
- { "America/Catamarca" , 0x00609B },
- { "America/Cayenne" , 0x006241 },
- { "America/Cayman" , 0x0062A3 },
- { "America/Chicago" , 0x0062F8 },
- { "America/Chihuahua" , 0x00680F },
- { "America/Coral_Harbour" , 0x006A7A },
- { "America/Cordoba" , 0x006B0C },
- { "America/Costa_Rica" , 0x006CB2 },
- { "America/Creston" , 0x006D3C },
- { "America/Cuiaba" , 0x006DC8 },
- { "America/Curacao" , 0x0070A6 },
- { "America/Danmarkshavn" , 0x00710C },
- { "America/Dawson" , 0x007250 },
- { "America/Dawson_Creek" , 0x00756D },
- { "America/Denver" , 0x007747 },
- { "America/Detroit" , 0x007ACD },
- { "America/Dominica" , 0x007E2C },
- { "America/Edmonton" , 0x007E81 },
- { "America/Eirunepe" , 0x008239 },
- { "America/El_Salvador" , 0x00834C },
- { "America/Ensenada" , 0x0083C1 },
- { "America/Fort_Wayne" , 0x008868 },
- { "America/Fortaleza" , 0x00872A },
- { "America/Glace_Bay" , 0x008AD2 },
- { "America/Godthab" , 0x008E49 },
- { "America/Goose_Bay" , 0x00910D },
- { "America/Grand_Turk" , 0x0095CA },
- { "America/Grenada" , 0x009879 },
- { "America/Guadeloupe" , 0x0098CE },
- { "America/Guatemala" , 0x009923 },
- { "America/Guayaquil" , 0x0099AC },
- { "America/Guyana" , 0x009A09 },
- { "America/Halifax" , 0x009A8A },
- { "America/Havana" , 0x009FA0 },
- { "America/Hermosillo" , 0x00A313 },
- { "America/Indiana/Indianapolis" , 0x00A3F1 },
- { "America/Indiana/Knox" , 0x00A682 },
- { "America/Indiana/Marengo" , 0x00AA19 },
- { "America/Indiana/Petersburg" , 0x00ACBF },
- { "America/Indiana/Tell_City" , 0x00B20C },
- { "America/Indiana/Vevay" , 0x00B4A5 },
- { "America/Indiana/Vincennes" , 0x00B6E0 },
- { "America/Indiana/Winamac" , 0x00B994 },
- { "America/Indianapolis" , 0x00AFA2 },
- { "America/Inuvik" , 0x00BC4D },
- { "America/Iqaluit" , 0x00BF44 },
- { "America/Jamaica" , 0x00C266 },
- { "America/Jujuy" , 0x00C32B },
- { "America/Juneau" , 0x00C4D5 },
- { "America/Kentucky/Louisville" , 0x00C853 },
- { "America/Kentucky/Monticello" , 0x00CC71 },
- { "America/Knox_IN" , 0x00CFF6 },
- { "America/Kralendijk" , 0x00D367 },
- { "America/La_Paz" , 0x00D3CD },
- { "America/Lima" , 0x00D434 },
- { "America/Los_Angeles" , 0x00D4DC },
- { "America/Louisville" , 0x00D8ED },
- { "America/Lower_Princes" , 0x00DCE2 },
- { "America/Maceio" , 0x00DD48 },
- { "America/Managua" , 0x00DE82 },
- { "America/Manaus" , 0x00DF35 },
- { "America/Marigot" , 0x00E037 },
- { "America/Martinique" , 0x00E08C },
- { "America/Matamoros" , 0x00E0F8 },
- { "America/Mazatlan" , 0x00E351 },
- { "America/Mendoza" , 0x00E5BE },
- { "America/Menominee" , 0x00E772 },
- { "America/Merida" , 0x00EAF3 },
- { "America/Metlakatla" , 0x00ED2E },
- { "America/Mexico_City" , 0x00EE68 },
- { "America/Miquelon" , 0x00F0E3 },
- { "America/Moncton" , 0x00F355 },
- { "America/Monterrey" , 0x00F7EC },
- { "America/Montevideo" , 0x00FA4F },
- { "America/Montreal" , 0x00FD61 },
- { "America/Montserrat" , 0x010251 },
- { "America/Nassau" , 0x0102A6 },
- { "America/New_York" , 0x0105EB },
- { "America/Nipigon" , 0x010AF6 },
- { "America/Nome" , 0x010E47 },
- { "America/Noronha" , 0x0111C5 },
- { "America/North_Dakota/Beulah" , 0x0112F5 },
- { "America/North_Dakota/Center" , 0x011689 },
- { "America/North_Dakota/New_Salem" , 0x011A1D },
- { "America/Ojinaga" , 0x011DC6 },
- { "America/Panama" , 0x012027 },
- { "America/Pangnirtung" , 0x01207C },
- { "America/Paramaribo" , 0x0123B2 },
- { "America/Phoenix" , 0x012444 },
- { "America/Port-au-Prince" , 0x012502 },
- { "America/Port_of_Spain" , 0x012821 },
- { "America/Porto_Acre" , 0x012722 },
- { "America/Porto_Velho" , 0x012876 },
- { "America/Puerto_Rico" , 0x01296C },
- { "America/Rainy_River" , 0x0129D7 },
- { "America/Rankin_Inlet" , 0x012D0F },
- { "America/Recife" , 0x012FF5 },
- { "America/Regina" , 0x01311F },
- { "America/Resolute" , 0x0132DD },
- { "America/Rio_Branco" , 0x0135CE },
- { "America/Rosario" , 0x0136D1 },
- { "America/Santa_Isabel" , 0x013877 },
- { "America/Santarem" , 0x013C1A },
- { "America/Santiago" , 0x013D1F },
- { "America/Santo_Domingo" , 0x0140C8 },
- { "America/Sao_Paulo" , 0x01418E },
- { "America/Scoresbysund" , 0x01449D },
- { "America/Shiprock" , 0x01478B },
- { "America/Sitka" , 0x014B04 },
- { "America/St_Barthelemy" , 0x014E8C },
- { "America/St_Johns" , 0x014EE1 },
- { "America/St_Kitts" , 0x015434 },
- { "America/St_Lucia" , 0x015489 },
- { "America/St_Thomas" , 0x0154DE },
- { "America/St_Vincent" , 0x015533 },
- { "America/Swift_Current" , 0x015588 },
- { "America/Tegucigalpa" , 0x0156A9 },
- { "America/Thule" , 0x015728 },
- { "America/Thunder_Bay" , 0x01596F },
- { "America/Tijuana" , 0x015CB8 },
- { "America/Toronto" , 0x016051 },
- { "America/Tortola" , 0x016571 },
- { "America/Vancouver" , 0x0165C6 },
- { "America/Virgin" , 0x016A03 },
- { "America/Whitehorse" , 0x016A58 },
- { "America/Winnipeg" , 0x016D75 },
- { "America/Yakutat" , 0x0171B5 },
- { "America/Yellowknife" , 0x017520 },
- { "Antarctica/Casey" , 0x017830 },
- { "Antarctica/Davis" , 0x0178CD },
- { "Antarctica/DumontDUrville" , 0x01796E },
- { "Antarctica/Macquarie" , 0x017A00 },
- { "Antarctica/Mawson" , 0x017C47 },
- { "Antarctica/McMurdo" , 0x017CC3 },
- { "Antarctica/Palmer" , 0x01806E },
- { "Antarctica/Rothera" , 0x01838A },
- { "Antarctica/South_Pole" , 0x018400 },
- { "Antarctica/Syowa" , 0x01877E },
- { "Antarctica/Vostok" , 0x0187EC },
- { "Arctic/Longyearbyen" , 0x01885D },
- { "Asia/Aden" , 0x018B8F },
- { "Asia/Almaty" , 0x018BE4 },
- { "Asia/Amman" , 0x018D63 },
- { "Asia/Anadyr" , 0x018F35 },
- { "Asia/Aqtau" , 0x01911A },
- { "Asia/Aqtobe" , 0x019319 },
- { "Asia/Ashgabat" , 0x0194D1 },
- { "Asia/Ashkhabad" , 0x0195EE },
- { "Asia/Baghdad" , 0x01970B },
- { "Asia/Bahrain" , 0x019880 },
- { "Asia/Baku" , 0x0198E6 },
- { "Asia/Bangkok" , 0x019BCE },
- { "Asia/Beirut" , 0x019C23 },
- { "Asia/Bishkek" , 0x019F30 },
- { "Asia/Brunei" , 0x01A0DC },
- { "Asia/Calcutta" , 0x01A13E },
- { "Asia/Choibalsan" , 0x01A1B7 },
- { "Asia/Chongqing" , 0x01A330 },
- { "Asia/Chungking" , 0x01A41F },
- { "Asia/Colombo" , 0x01A4CE },
- { "Asia/Dacca" , 0x01A56A },
- { "Asia/Damascus" , 0x01A610 },
- { "Asia/Dhaka" , 0x01A960 },
- { "Asia/Dili" , 0x01AA06 },
- { "Asia/Dubai" , 0x01AA90 },
- { "Asia/Dushanbe" , 0x01AAE5 },
- { "Asia/Gaza" , 0x01ABE8 },
- { "Asia/Harbin" , 0x01AF3B },
- { "Asia/Hebron" , 0x01B022 },
- { "Asia/Ho_Chi_Minh" , 0x01B37E },
- { "Asia/Hong_Kong" , 0x01B3F6 },
- { "Asia/Hovd" , 0x01B5B8 },
- { "Asia/Irkutsk" , 0x01B730 },
- { "Asia/Istanbul" , 0x01B916 },
- { "Asia/Jakarta" , 0x01BD03 },
- { "Asia/Jayapura" , 0x01BDAD },
- { "Asia/Jerusalem" , 0x01BE49 },
- { "Asia/Kabul" , 0x01C178 },
- { "Asia/Kamchatka" , 0x01C1C9 },
- { "Asia/Karachi" , 0x01C3A5 },
- { "Asia/Kashgar" , 0x01C45A },
- { "Asia/Kathmandu" , 0x01C52B },
- { "Asia/Katmandu" , 0x01C591 },
- { "Asia/Khandyga" , 0x01C5F7 },
- { "Asia/Kolkata" , 0x01C81C },
- { "Asia/Krasnoyarsk" , 0x01C895 },
- { "Asia/Kuala_Lumpur" , 0x01CA7D },
- { "Asia/Kuching" , 0x01CB3A },
- { "Asia/Kuwait" , 0x01CC28 },
- { "Asia/Macao" , 0x01CC7D },
- { "Asia/Macau" , 0x01CDB8 },
- { "Asia/Magadan" , 0x01CEF3 },
- { "Asia/Makassar" , 0x01D0D5 },
- { "Asia/Manila" , 0x01D19A },
- { "Asia/Muscat" , 0x01D21F },
- { "Asia/Nicosia" , 0x01D274 },
- { "Asia/Novokuznetsk" , 0x01D55C },
- { "Asia/Novosibirsk" , 0x01D75E },
- { "Asia/Omsk" , 0x01D949 },
- { "Asia/Oral" , 0x01DB30 },
- { "Asia/Phnom_Penh" , 0x01DD00 },
- { "Asia/Pontianak" , 0x01DD78 },
- { "Asia/Pyongyang" , 0x01DE3A },
- { "Asia/Qatar" , 0x01DEA7 },
- { "Asia/Qyzylorda" , 0x01DF0D },
- { "Asia/Rangoon" , 0x01E0E3 },
- { "Asia/Riyadh" , 0x01E15B },
- { "Asia/Saigon" , 0x01E1B0 },
- { "Asia/Sakhalin" , 0x01E228 },
- { "Asia/Samarkand" , 0x01E41F },
- { "Asia/Seoul" , 0x01E555 },
- { "Asia/Shanghai" , 0x01E5F9 },
- { "Asia/Singapore" , 0x01E6D9 },
- { "Asia/Taipei" , 0x01E790 },
- { "Asia/Tashkent" , 0x01E8A8 },
- { "Asia/Tbilisi" , 0x01E9D9 },
- { "Asia/Tehran" , 0x01EB93 },
- { "Asia/Tel_Aviv" , 0x01EE01 },
- { "Asia/Thimbu" , 0x01F130 },
- { "Asia/Thimphu" , 0x01F196 },
- { "Asia/Tokyo" , 0x01F1FC },
- { "Asia/Ujung_Pandang" , 0x01F285 },
- { "Asia/Ulaanbaatar" , 0x01F302 },
- { "Asia/Ulan_Bator" , 0x01F45D },
- { "Asia/Urumqi" , 0x01F5AA },
- { "Asia/Ust-Nera" , 0x01F671 },
- { "Asia/Vientiane" , 0x01F876 },
- { "Asia/Vladivostok" , 0x01F8EE },
- { "Asia/Yakutsk" , 0x01FADA },
- { "Asia/Yekaterinburg" , 0x01FCBF },
- { "Asia/Yerevan" , 0x01FECA },
- { "Atlantic/Azores" , 0x0200CA },
- { "Atlantic/Bermuda" , 0x0205CD },
- { "Atlantic/Canary" , 0x0208AE },
- { "Atlantic/Cape_Verde" , 0x020B84 },
- { "Atlantic/Faeroe" , 0x020BFD },
- { "Atlantic/Faroe" , 0x020EA1 },
- { "Atlantic/Jan_Mayen" , 0x021145 },
- { "Atlantic/Madeira" , 0x021477 },
- { "Atlantic/Reykjavik" , 0x021980 },
- { "Atlantic/South_Georgia" , 0x021B39 },
- { "Atlantic/St_Helena" , 0x021D4B },
- { "Atlantic/Stanley" , 0x021B7D },
- { "Australia/ACT" , 0x021DA0 },
- { "Australia/Adelaide" , 0x0220BD },
- { "Australia/Brisbane" , 0x0223E9 },
- { "Australia/Broken_Hill" , 0x0224B0 },
- { "Australia/Canberra" , 0x0227EE },
- { "Australia/Currie" , 0x022B0B },
- { "Australia/Darwin" , 0x022E3E },
- { "Australia/Eucla" , 0x022EC4 },
- { "Australia/Hobart" , 0x022F99 },
- { "Australia/LHI" , 0x0232F7 },
- { "Australia/Lindeman" , 0x023592 },
- { "Australia/Lord_Howe" , 0x023673 },
- { "Australia/Melbourne" , 0x02391E },
- { "Australia/North" , 0x023C43 },
- { "Australia/NSW" , 0x023CB7 },
- { "Australia/Perth" , 0x023FD4 },
- { "Australia/Queensland" , 0x0240AC },
- { "Australia/South" , 0x024158 },
- { "Australia/Sydney" , 0x024475 },
- { "Australia/Tasmania" , 0x0247B2 },
- { "Australia/Victoria" , 0x024AF7 },
- { "Australia/West" , 0x024E14 },
- { "Australia/Yancowinna" , 0x024ECA },
- { "Brazil/Acre" , 0x0251EC },
- { "Brazil/DeNoronha" , 0x0252EB },
- { "Brazil/East" , 0x02540B },
- { "Brazil/West" , 0x0256E8 },
- { "Canada/Atlantic" , 0x0257E0 },
- { "Canada/Central" , 0x025CC8 },
- { "Canada/East-Saskatchewan" , 0x0265D2 },
- { "Canada/Eastern" , 0x0260E2 },
- { "Canada/Mountain" , 0x02675B },
- { "Canada/Newfoundland" , 0x026AD1 },
- { "Canada/Pacific" , 0x026FFC },
- { "Canada/Saskatchewan" , 0x027415 },
- { "Canada/Yukon" , 0x02759E },
- { "CET" , 0x0278A1 },
- { "Chile/Continental" , 0x027BAA },
- { "Chile/EasterIsland" , 0x027F45 },
- { "CST6CDT" , 0x028287 },
- { "Cuba" , 0x0285D8 },
- { "EET" , 0x02894B },
- { "Egypt" , 0x028BFE },
- { "Eire" , 0x028EC1 },
- { "EST" , 0x0293D2 },
- { "EST5EDT" , 0x029416 },
- { "Etc/GMT" , 0x029767 },
- { "Etc/GMT+0" , 0x029833 },
- { "Etc/GMT+1" , 0x0298BD },
- { "Etc/GMT+10" , 0x02994A },
- { "Etc/GMT+11" , 0x0299D8 },
- { "Etc/GMT+12" , 0x029A66 },
- { "Etc/GMT+2" , 0x029B81 },
- { "Etc/GMT+3" , 0x029C0D },
- { "Etc/GMT+4" , 0x029C99 },
- { "Etc/GMT+5" , 0x029D25 },
- { "Etc/GMT+6" , 0x029DB1 },
- { "Etc/GMT+7" , 0x029E3D },
- { "Etc/GMT+8" , 0x029EC9 },
- { "Etc/GMT+9" , 0x029F55 },
- { "Etc/GMT-0" , 0x0297EF },
- { "Etc/GMT-1" , 0x029877 },
- { "Etc/GMT-10" , 0x029903 },
- { "Etc/GMT-11" , 0x029991 },
- { "Etc/GMT-12" , 0x029A1F },
- { "Etc/GMT-13" , 0x029AAD },
- { "Etc/GMT-14" , 0x029AF4 },
- { "Etc/GMT-2" , 0x029B3B },
- { "Etc/GMT-3" , 0x029BC7 },
- { "Etc/GMT-4" , 0x029C53 },
- { "Etc/GMT-5" , 0x029CDF },
- { "Etc/GMT-6" , 0x029D6B },
- { "Etc/GMT-7" , 0x029DF7 },
- { "Etc/GMT-8" , 0x029E83 },
- { "Etc/GMT-9" , 0x029F0F },
- { "Etc/GMT0" , 0x0297AB },
- { "Etc/Greenwich" , 0x029F9B },
- { "Etc/UCT" , 0x029FDF },
- { "Etc/Universal" , 0x02A023 },
- { "Etc/UTC" , 0x02A067 },
- { "Etc/Zulu" , 0x02A0AB },
- { "Europe/Amsterdam" , 0x02A0EF },
- { "Europe/Andorra" , 0x02A52D },
- { "Europe/Athens" , 0x02A7A9 },
- { "Europe/Belfast" , 0x02AAEC },
- { "Europe/Belgrade" , 0x02B023 },
- { "Europe/Berlin" , 0x02B2EC },
- { "Europe/Bratislava" , 0x02B650 },
- { "Europe/Brussels" , 0x02B982 },
- { "Europe/Bucharest" , 0x02BDB9 },
- { "Europe/Budapest" , 0x02C0E3 },
- { "Europe/Busingen" , 0x02C456 },
- { "Europe/Chisinau" , 0x02C70D },
- { "Europe/Copenhagen" , 0x02CA9B },
- { "Europe/Dublin" , 0x02CDA5 },
- { "Europe/Gibraltar" , 0x02D2B6 },
- { "Europe/Guernsey" , 0x02D70D },
- { "Europe/Helsinki" , 0x02DC44 },
- { "Europe/Isle_of_Man" , 0x02DEFA },
- { "Europe/Istanbul" , 0x02E431 },
- { "Europe/Jersey" , 0x02E81E },
- { "Europe/Kaliningrad" , 0x02ED55 },
- { "Europe/Kiev" , 0x02EFBB },
- { "Europe/Lisbon" , 0x02F2D2 },
- { "Europe/Ljubljana" , 0x02F7D6 },
- { "Europe/London" , 0x02FA9F },
- { "Europe/Luxembourg" , 0x02FFD6 },
- { "Europe/Madrid" , 0x03042C },
- { "Europe/Malta" , 0x0307F2 },
- { "Europe/Mariehamn" , 0x030BAB },
- { "Europe/Minsk" , 0x030E61 },
- { "Europe/Monaco" , 0x03106F },
- { "Europe/Moscow" , 0x0314AA },
- { "Europe/Nicosia" , 0x0316FB },
- { "Europe/Oslo" , 0x0319E3 },
- { "Europe/Paris" , 0x031D15 },
- { "Europe/Podgorica" , 0x03215B },
- { "Europe/Prague" , 0x032424 },
- { "Europe/Riga" , 0x032756 },
- { "Europe/Rome" , 0x032A9B },
- { "Europe/Samara" , 0x032E5E },
- { "Europe/San_Marino" , 0x033091 },
- { "Europe/Sarajevo" , 0x033454 },
- { "Europe/Simferopol" , 0x03371D },
- { "Europe/Skopje" , 0x033A48 },
- { "Europe/Sofia" , 0x033D11 },
- { "Europe/Stockholm" , 0x034019 },
- { "Europe/Tallinn" , 0x0342C8 },
- { "Europe/Tirane" , 0x034602 },
- { "Europe/Tiraspol" , 0x034908 },
- { "Europe/Uzhgorod" , 0x034C96 },
- { "Europe/Vaduz" , 0x034FAD },
- { "Europe/Vatican" , 0x03525C },
- { "Europe/Vienna" , 0x03561F },
- { "Europe/Vilnius" , 0x03594C },
- { "Europe/Volgograd" , 0x035C8B },
- { "Europe/Warsaw" , 0x035E8B },
- { "Europe/Zagreb" , 0x03626C },
- { "Europe/Zaporozhye" , 0x036535 },
- { "Europe/Zurich" , 0x036876 },
- { "Factory" , 0x036B25 },
- { "GB" , 0x036B96 },
- { "GB-Eire" , 0x0370CD },
- { "GMT" , 0x037604 },
- { "GMT+0" , 0x0376D0 },
- { "GMT-0" , 0x03768C },
- { "GMT0" , 0x037648 },
- { "Greenwich" , 0x037714 },
- { "Hongkong" , 0x037758 },
- { "HST" , 0x03791A },
- { "Iceland" , 0x03795E },
- { "Indian/Antananarivo" , 0x037B17 },
- { "Indian/Chagos" , 0x037B8B },
- { "Indian/Christmas" , 0x037BED },
- { "Indian/Cocos" , 0x037C31 },
- { "Indian/Comoro" , 0x037C75 },
- { "Indian/Kerguelen" , 0x037CCA },
- { "Indian/Mahe" , 0x037D1F },
- { "Indian/Maldives" , 0x037D74 },
- { "Indian/Mauritius" , 0x037DC9 },
- { "Indian/Mayotte" , 0x037E3F },
- { "Indian/Reunion" , 0x037E94 },
- { "Iran" , 0x037EE9 },
- { "Israel" , 0x038157 },
- { "Jamaica" , 0x038486 },
- { "Japan" , 0x03854B },
- { "Kwajalein" , 0x0385D4 },
- { "Libya" , 0x038637 },
- { "MET" , 0x038830 },
- { "Mexico/BajaNorte" , 0x038B39 },
- { "Mexico/BajaSur" , 0x038EA2 },
- { "Mexico/General" , 0x0390E7 },
- { "MST" , 0x039345 },
- { "MST7MDT" , 0x039389 },
- { "Navajo" , 0x0396DA },
- { "NZ" , 0x039A53 },
- { "NZ-CHAT" , 0x039DD1 },
- { "Pacific/Apia" , 0x03A0B9 },
- { "Pacific/Auckland" , 0x03A255 },
- { "Pacific/Chatham" , 0x03A5E1 },
- { "Pacific/Chuuk" , 0x03A8D8 },
- { "Pacific/Easter" , 0x03A931 },
- { "Pacific/Efate" , 0x03AC8F },
- { "Pacific/Enderbury" , 0x03AD55 },
- { "Pacific/Fakaofo" , 0x03ADC3 },
- { "Pacific/Fiji" , 0x03AE14 },
- { "Pacific/Funafuti" , 0x03AFA7 },
- { "Pacific/Galapagos" , 0x03AFEB },
- { "Pacific/Gambier" , 0x03B063 },
- { "Pacific/Guadalcanal" , 0x03B0C8 },
- { "Pacific/Guam" , 0x03B11D },
- { "Pacific/Honolulu" , 0x03B173 },
- { "Pacific/Johnston" , 0x03B1EA },
- { "Pacific/Kiritimati" , 0x03B269 },
- { "Pacific/Kosrae" , 0x03B2D4 },
- { "Pacific/Kwajalein" , 0x03B331 },
- { "Pacific/Majuro" , 0x03B39D },
- { "Pacific/Marquesas" , 0x03B3FC },
- { "Pacific/Midway" , 0x03B463 },
- { "Pacific/Nauru" , 0x03B4ED },
- { "Pacific/Niue" , 0x03B565 },
- { "Pacific/Norfolk" , 0x03B5C3 },
- { "Pacific/Noumea" , 0x03B618 },
- { "Pacific/Pago_Pago" , 0x03B6A8 },
- { "Pacific/Palau" , 0x03B731 },
- { "Pacific/Pitcairn" , 0x03B775 },
- { "Pacific/Pohnpei" , 0x03B7CA },
- { "Pacific/Ponape" , 0x03B81F },
- { "Pacific/Port_Moresby" , 0x03B864 },
- { "Pacific/Rarotonga" , 0x03B8A8 },
- { "Pacific/Saipan" , 0x03B984 },
- { "Pacific/Samoa" , 0x03B9E7 },
- { "Pacific/Tahiti" , 0x03BA70 },
- { "Pacific/Tarawa" , 0x03BAD5 },
- { "Pacific/Tongatapu" , 0x03BB29 },
- { "Pacific/Truk" , 0x03BBB5 },
- { "Pacific/Wake" , 0x03BBFA },
- { "Pacific/Wallis" , 0x03BC4A },
- { "Pacific/Yap" , 0x03BC8E },
- { "Poland" , 0x03BCD3 },
- { "Portugal" , 0x03C0B4 },
- { "PRC" , 0x03C5B0 },
- { "PST8PDT" , 0x03C661 },
- { "ROC" , 0x03C9B2 },
- { "ROK" , 0x03CACA },
- { "Singapore" , 0x03CB6E },
- { "Turkey" , 0x03CC25 },
- { "UCT" , 0x03D012 },
- { "Universal" , 0x03D056 },
- { "US/Alaska" , 0x03D09A },
- { "US/Aleutian" , 0x03D403 },
- { "US/Arizona" , 0x03D769 },
- { "US/Central" , 0x03D7F7 },
- { "US/East-Indiana" , 0x03E201 },
- { "US/Eastern" , 0x03DD02 },
- { "US/Hawaii" , 0x03E46B },
- { "US/Indiana-Starke" , 0x03E4DC },
- { "US/Michigan" , 0x03E84D },
- { "US/Mountain" , 0x03EB84 },
- { "US/Pacific" , 0x03EEFD },
- { "US/Pacific-New" , 0x03F302 },
- { "US/Samoa" , 0x03F707 },
- { "UTC" , 0x03F790 },
- { "W-SU" , 0x03FA87 },
- { "WET" , 0x03F7D4 },
- { "Zulu" , 0x03FCC1 },
+ { "Africa/Ceuta" , 0x000ADA },
+ { "Africa/Conakry" , 0x000DE1 },
+ { "Africa/Dakar" , 0x000E4C },
+ { "Africa/Dar_es_Salaam" , 0x000EB2 },
+ { "Africa/Djibouti" , 0x000F1F },
+ { "Africa/Douala" , 0x000F74 },
+ { "Africa/El_Aaiun" , 0x000FC9 },
+ { "Africa/Freetown" , 0x0011F4 },
+ { "Africa/Gaborone" , 0x001303 },
+ { "Africa/Harare" , 0x001370 },
+ { "Africa/Johannesburg" , 0x0013C5 },
+ { "Africa/Juba" , 0x001433 },
+ { "Africa/Kampala" , 0x001546 },
+ { "Africa/Khartoum" , 0x0015C5 },
+ { "Africa/Kigali" , 0x0016D8 },
+ { "Africa/Kinshasa" , 0x00172D },
+ { "Africa/Lagos" , 0x001788 },
+ { "Africa/Libreville" , 0x0017DD },
+ { "Africa/Lome" , 0x001832 },
+ { "Africa/Luanda" , 0x001876 },
+ { "Africa/Lubumbashi" , 0x0018CB },
+ { "Africa/Lusaka" , 0x001926 },
+ { "Africa/Malabo" , 0x00197B },
+ { "Africa/Maputo" , 0x0019E1 },
+ { "Africa/Maseru" , 0x001A36 },
+ { "Africa/Mbabane" , 0x001A9E },
+ { "Africa/Mogadishu" , 0x001AF4 },
+ { "Africa/Monrovia" , 0x001B4F },
+ { "Africa/Nairobi" , 0x001BB5 },
+ { "Africa/Ndjamena" , 0x001C34 },
+ { "Africa/Niamey" , 0x001CA0 },
+ { "Africa/Nouakchott" , 0x001D13 },
+ { "Africa/Ouagadougou" , 0x001D7E },
+ { "Africa/Porto-Novo" , 0x001DD3 },
+ { "Africa/Sao_Tome" , 0x001E39 },
+ { "Africa/Timbuktu" , 0x001E8E },
+ { "Africa/Tripoli" , 0x001EF9 },
+ { "Africa/Tunis" , 0x002002 },
+ { "Africa/Windhoek" , 0x002114 },
+ { "America/Adak" , 0x00235B },
+ { "America/Anchorage" , 0x0026D1 },
+ { "America/Anguilla" , 0x002A45 },
+ { "America/Antigua" , 0x002A9A },
+ { "America/Araguaina" , 0x002B00 },
+ { "America/Argentina/Buenos_Aires" , 0x002C65 },
+ { "America/Argentina/Catamarca" , 0x002E13 },
+ { "America/Argentina/ComodRivadavia" , 0x002FD4 },
+ { "America/Argentina/Cordoba" , 0x00317A },
+ { "America/Argentina/Jujuy" , 0x00334F },
+ { "America/Argentina/La_Rioja" , 0x003503 },
+ { "America/Argentina/Mendoza" , 0x0036BB },
+ { "America/Argentina/Rio_Gallegos" , 0x00387B },
+ { "America/Argentina/Salta" , 0x003A30 },
+ { "America/Argentina/San_Juan" , 0x003BDC },
+ { "America/Argentina/San_Luis" , 0x003D94 },
+ { "America/Argentina/Tucuman" , 0x003F5A },
+ { "America/Argentina/Ushuaia" , 0x004116 },
+ { "America/Aruba" , 0x0042D1 },
+ { "America/Asuncion" , 0x004337 },
+ { "America/Atikokan" , 0x00461C },
+ { "America/Atka" , 0x0046F2 },
+ { "America/Bahia" , 0x004A58 },
+ { "America/Bahia_Banderas" , 0x004BEB },
+ { "America/Barbados" , 0x004E64 },
+ { "America/Belem" , 0x004EFE },
+ { "America/Belize" , 0x004FF9 },
+ { "America/Blanc-Sablon" , 0x005175 },
+ { "America/Boa_Vista" , 0x005229 },
+ { "America/Bogota" , 0x005332 },
+ { "America/Boise" , 0x00539E },
+ { "America/Buenos_Aires" , 0x005735 },
+ { "America/Cambridge_Bay" , 0x0058CE },
+ { "America/Campo_Grande" , 0x005BF6 },
+ { "America/Cancun" , 0x005EE5 },
+ { "America/Caracas" , 0x006127 },
+ { "America/Catamarca" , 0x00618E },
+ { "America/Cayenne" , 0x006334 },
+ { "America/Cayman" , 0x006396 },
+ { "America/Chicago" , 0x0063EB },
+ { "America/Chihuahua" , 0x006902 },
+ { "America/Coral_Harbour" , 0x006B6D },
+ { "America/Cordoba" , 0x006BFF },
+ { "America/Costa_Rica" , 0x006DA5 },
+ { "America/Creston" , 0x006E2F },
+ { "America/Cuiaba" , 0x006EBB },
+ { "America/Curacao" , 0x007199 },
+ { "America/Danmarkshavn" , 0x0071FF },
+ { "America/Dawson" , 0x007343 },
+ { "America/Dawson_Creek" , 0x007660 },
+ { "America/Denver" , 0x00783A },
+ { "America/Detroit" , 0x007BC0 },
+ { "America/Dominica" , 0x007F1F },
+ { "America/Edmonton" , 0x007F74 },
+ { "America/Eirunepe" , 0x00832C },
+ { "America/El_Salvador" , 0x008444 },
+ { "America/Ensenada" , 0x0084B9 },
+ { "America/Fort_Wayne" , 0x008960 },
+ { "America/Fortaleza" , 0x008822 },
+ { "America/Glace_Bay" , 0x008BCA },
+ { "America/Godthab" , 0x008F41 },
+ { "America/Goose_Bay" , 0x009205 },
+ { "America/Grand_Turk" , 0x0096C2 },
+ { "America/Grenada" , 0x009971 },
+ { "America/Guadeloupe" , 0x0099C6 },
+ { "America/Guatemala" , 0x009A1B },
+ { "America/Guayaquil" , 0x009AA4 },
+ { "America/Guyana" , 0x009B01 },
+ { "America/Halifax" , 0x009B82 },
+ { "America/Havana" , 0x00A098 },
+ { "America/Hermosillo" , 0x00A40B },
+ { "America/Indiana/Indianapolis" , 0x00A4E9 },
+ { "America/Indiana/Knox" , 0x00A77A },
+ { "America/Indiana/Marengo" , 0x00AB11 },
+ { "America/Indiana/Petersburg" , 0x00ADB7 },
+ { "America/Indiana/Tell_City" , 0x00B304 },
+ { "America/Indiana/Vevay" , 0x00B59D },
+ { "America/Indiana/Vincennes" , 0x00B7D8 },
+ { "America/Indiana/Winamac" , 0x00BA8C },
+ { "America/Indianapolis" , 0x00B09A },
+ { "America/Inuvik" , 0x00BD45 },
+ { "America/Iqaluit" , 0x00C03C },
+ { "America/Jamaica" , 0x00C35E },
+ { "America/Jujuy" , 0x00C423 },
+ { "America/Juneau" , 0x00C5CD },
+ { "America/Kentucky/Louisville" , 0x00C94B },
+ { "America/Kentucky/Monticello" , 0x00CD69 },
+ { "America/Knox_IN" , 0x00D0EE },
+ { "America/Kralendijk" , 0x00D45F },
+ { "America/La_Paz" , 0x00D4C5 },
+ { "America/Lima" , 0x00D52C },
+ { "America/Los_Angeles" , 0x00D5D4 },
+ { "America/Louisville" , 0x00D9E5 },
+ { "America/Lower_Princes" , 0x00DDDA },
+ { "America/Maceio" , 0x00DE40 },
+ { "America/Managua" , 0x00DF7A },
+ { "America/Manaus" , 0x00E02D },
+ { "America/Marigot" , 0x00E12F },
+ { "America/Martinique" , 0x00E184 },
+ { "America/Matamoros" , 0x00E1F0 },
+ { "America/Mazatlan" , 0x00E449 },
+ { "America/Mendoza" , 0x00E6B6 },
+ { "America/Menominee" , 0x00E86A },
+ { "America/Merida" , 0x00EBEB },
+ { "America/Metlakatla" , 0x00EE26 },
+ { "America/Mexico_City" , 0x00EF60 },
+ { "America/Miquelon" , 0x00F1DB },
+ { "America/Moncton" , 0x00F44D },
+ { "America/Monterrey" , 0x00F8E4 },
+ { "America/Montevideo" , 0x00FB47 },
+ { "America/Montreal" , 0x00FE59 },
+ { "America/Montserrat" , 0x010349 },
+ { "America/Nassau" , 0x01039E },
+ { "America/New_York" , 0x0106E3 },
+ { "America/Nipigon" , 0x010BEE },
+ { "America/Nome" , 0x010F3F },
+ { "America/Noronha" , 0x0112BD },
+ { "America/North_Dakota/Beulah" , 0x0113ED },
+ { "America/North_Dakota/Center" , 0x011781 },
+ { "America/North_Dakota/New_Salem" , 0x011B15 },
+ { "America/Ojinaga" , 0x011EBE },
+ { "America/Panama" , 0x01211F },
+ { "America/Pangnirtung" , 0x012174 },
+ { "America/Paramaribo" , 0x0124AA },
+ { "America/Phoenix" , 0x01253C },
+ { "America/Port-au-Prince" , 0x0125FA },
+ { "America/Port_of_Spain" , 0x01291E },
+ { "America/Porto_Acre" , 0x01281A },
+ { "America/Porto_Velho" , 0x012973 },
+ { "America/Puerto_Rico" , 0x012A69 },
+ { "America/Rainy_River" , 0x012AD4 },
+ { "America/Rankin_Inlet" , 0x012E0C },
+ { "America/Recife" , 0x0130F2 },
+ { "America/Regina" , 0x01321C },
+ { "America/Resolute" , 0x0133DA },
+ { "America/Rio_Branco" , 0x0136CB },
+ { "America/Rosario" , 0x0137D3 },
+ { "America/Santa_Isabel" , 0x013979 },
+ { "America/Santarem" , 0x013D1C },
+ { "America/Santiago" , 0x013E21 },
+ { "America/Santo_Domingo" , 0x0141CA },
+ { "America/Sao_Paulo" , 0x014290 },
+ { "America/Scoresbysund" , 0x01459F },
+ { "America/Shiprock" , 0x01488D },
+ { "America/Sitka" , 0x014C06 },
+ { "America/St_Barthelemy" , 0x014F8E },
+ { "America/St_Johns" , 0x014FE3 },
+ { "America/St_Kitts" , 0x015536 },
+ { "America/St_Lucia" , 0x01558B },
+ { "America/St_Thomas" , 0x0155E0 },
+ { "America/St_Vincent" , 0x015635 },
+ { "America/Swift_Current" , 0x01568A },
+ { "America/Tegucigalpa" , 0x0157AB },
+ { "America/Thule" , 0x01582A },
+ { "America/Thunder_Bay" , 0x015A71 },
+ { "America/Tijuana" , 0x015DBA },
+ { "America/Toronto" , 0x016153 },
+ { "America/Tortola" , 0x016673 },
+ { "America/Vancouver" , 0x0166C8 },
+ { "America/Virgin" , 0x016B05 },
+ { "America/Whitehorse" , 0x016B5A },
+ { "America/Winnipeg" , 0x016E77 },
+ { "America/Yakutat" , 0x0172B7 },
+ { "America/Yellowknife" , 0x017622 },
+ { "Antarctica/Casey" , 0x017932 },
+ { "Antarctica/Davis" , 0x0179CF },
+ { "Antarctica/DumontDUrville" , 0x017A70 },
+ { "Antarctica/Macquarie" , 0x017B02 },
+ { "Antarctica/Mawson" , 0x017D49 },
+ { "Antarctica/McMurdo" , 0x017DC5 },
+ { "Antarctica/Palmer" , 0x018170 },
+ { "Antarctica/Rothera" , 0x01848C },
+ { "Antarctica/South_Pole" , 0x018502 },
+ { "Antarctica/Syowa" , 0x018880 },
+ { "Antarctica/Vostok" , 0x0188EE },
+ { "Arctic/Longyearbyen" , 0x01895F },
+ { "Asia/Aden" , 0x018C91 },
+ { "Asia/Almaty" , 0x018CE6 },
+ { "Asia/Amman" , 0x018E65 },
+ { "Asia/Anadyr" , 0x019037 },
+ { "Asia/Aqtau" , 0x01921C },
+ { "Asia/Aqtobe" , 0x01941B },
+ { "Asia/Ashgabat" , 0x0195D3 },
+ { "Asia/Ashkhabad" , 0x0196F0 },
+ { "Asia/Baghdad" , 0x01980D },
+ { "Asia/Bahrain" , 0x019982 },
+ { "Asia/Baku" , 0x0199E8 },
+ { "Asia/Bangkok" , 0x019CD0 },
+ { "Asia/Beirut" , 0x019D25 },
+ { "Asia/Bishkek" , 0x01A032 },
+ { "Asia/Brunei" , 0x01A1DE },
+ { "Asia/Calcutta" , 0x01A240 },
+ { "Asia/Choibalsan" , 0x01A2B9 },
+ { "Asia/Chongqing" , 0x01A432 },
+ { "Asia/Chungking" , 0x01A521 },
+ { "Asia/Colombo" , 0x01A5D0 },
+ { "Asia/Dacca" , 0x01A66C },
+ { "Asia/Damascus" , 0x01A712 },
+ { "Asia/Dhaka" , 0x01AA62 },
+ { "Asia/Dili" , 0x01AB08 },
+ { "Asia/Dubai" , 0x01AB92 },
+ { "Asia/Dushanbe" , 0x01ABE7 },
+ { "Asia/Gaza" , 0x01ACEA },
+ { "Asia/Harbin" , 0x01B03D },
+ { "Asia/Hebron" , 0x01B124 },
+ { "Asia/Ho_Chi_Minh" , 0x01B480 },
+ { "Asia/Hong_Kong" , 0x01B4F8 },
+ { "Asia/Hovd" , 0x01B6BA },
+ { "Asia/Irkutsk" , 0x01B832 },
+ { "Asia/Istanbul" , 0x01BA18 },
+ { "Asia/Jakarta" , 0x01BE05 },
+ { "Asia/Jayapura" , 0x01BEAF },
+ { "Asia/Jerusalem" , 0x01BF4B },
+ { "Asia/Kabul" , 0x01C27A },
+ { "Asia/Kamchatka" , 0x01C2CB },
+ { "Asia/Karachi" , 0x01C4A7 },
+ { "Asia/Kashgar" , 0x01C55C },
+ { "Asia/Kathmandu" , 0x01C62D },
+ { "Asia/Katmandu" , 0x01C693 },
+ { "Asia/Khandyga" , 0x01C6F9 },
+ { "Asia/Kolkata" , 0x01C91E },
+ { "Asia/Krasnoyarsk" , 0x01C997 },
+ { "Asia/Kuala_Lumpur" , 0x01CB7F },
+ { "Asia/Kuching" , 0x01CC3C },
+ { "Asia/Kuwait" , 0x01CD2A },
+ { "Asia/Macao" , 0x01CD7F },
+ { "Asia/Macau" , 0x01CEBA },
+ { "Asia/Magadan" , 0x01CFF5 },
+ { "Asia/Makassar" , 0x01D1D7 },
+ { "Asia/Manila" , 0x01D29C },
+ { "Asia/Muscat" , 0x01D321 },
+ { "Asia/Nicosia" , 0x01D376 },
+ { "Asia/Novokuznetsk" , 0x01D65E },
+ { "Asia/Novosibirsk" , 0x01D860 },
+ { "Asia/Omsk" , 0x01DA4B },
+ { "Asia/Oral" , 0x01DC32 },
+ { "Asia/Phnom_Penh" , 0x01DE02 },
+ { "Asia/Pontianak" , 0x01DE7A },
+ { "Asia/Pyongyang" , 0x01DF3C },
+ { "Asia/Qatar" , 0x01DFA9 },
+ { "Asia/Qyzylorda" , 0x01E00F },
+ { "Asia/Rangoon" , 0x01E1E5 },
+ { "Asia/Riyadh" , 0x01E25D },
+ { "Asia/Saigon" , 0x01E2B2 },
+ { "Asia/Sakhalin" , 0x01E32A },
+ { "Asia/Samarkand" , 0x01E521 },
+ { "Asia/Seoul" , 0x01E657 },
+ { "Asia/Shanghai" , 0x01E6FB },
+ { "Asia/Singapore" , 0x01E7DB },
+ { "Asia/Taipei" , 0x01E892 },
+ { "Asia/Tashkent" , 0x01E9AA },
+ { "Asia/Tbilisi" , 0x01EADB },
+ { "Asia/Tehran" , 0x01EC95 },
+ { "Asia/Tel_Aviv" , 0x01EF03 },
+ { "Asia/Thimbu" , 0x01F232 },
+ { "Asia/Thimphu" , 0x01F298 },
+ { "Asia/Tokyo" , 0x01F2FE },
+ { "Asia/Ujung_Pandang" , 0x01F387 },
+ { "Asia/Ulaanbaatar" , 0x01F404 },
+ { "Asia/Ulan_Bator" , 0x01F55F },
+ { "Asia/Urumqi" , 0x01F6AC },
+ { "Asia/Ust-Nera" , 0x01F773 },
+ { "Asia/Vientiane" , 0x01F978 },
+ { "Asia/Vladivostok" , 0x01F9F0 },
+ { "Asia/Yakutsk" , 0x01FBDC },
+ { "Asia/Yekaterinburg" , 0x01FDC1 },
+ { "Asia/Yerevan" , 0x01FFCC },
+ { "Atlantic/Azores" , 0x0201CC },
+ { "Atlantic/Bermuda" , 0x0206CF },
+ { "Atlantic/Canary" , 0x0209B0 },
+ { "Atlantic/Cape_Verde" , 0x020C86 },
+ { "Atlantic/Faeroe" , 0x020CFF },
+ { "Atlantic/Faroe" , 0x020FA3 },
+ { "Atlantic/Jan_Mayen" , 0x021247 },
+ { "Atlantic/Madeira" , 0x021579 },
+ { "Atlantic/Reykjavik" , 0x021A82 },
+ { "Atlantic/South_Georgia" , 0x021C3B },
+ { "Atlantic/St_Helena" , 0x021E4D },
+ { "Atlantic/Stanley" , 0x021C7F },
+ { "Australia/ACT" , 0x021EA2 },
+ { "Australia/Adelaide" , 0x0221BF },
+ { "Australia/Brisbane" , 0x0224EB },
+ { "Australia/Broken_Hill" , 0x0225B2 },
+ { "Australia/Canberra" , 0x0228F0 },
+ { "Australia/Currie" , 0x022C0D },
+ { "Australia/Darwin" , 0x022F40 },
+ { "Australia/Eucla" , 0x022FC6 },
+ { "Australia/Hobart" , 0x02309B },
+ { "Australia/LHI" , 0x0233F9 },
+ { "Australia/Lindeman" , 0x023694 },
+ { "Australia/Lord_Howe" , 0x023775 },
+ { "Australia/Melbourne" , 0x023A20 },
+ { "Australia/North" , 0x023D45 },
+ { "Australia/NSW" , 0x023DB9 },
+ { "Australia/Perth" , 0x0240D6 },
+ { "Australia/Queensland" , 0x0241AE },
+ { "Australia/South" , 0x02425A },
+ { "Australia/Sydney" , 0x024577 },
+ { "Australia/Tasmania" , 0x0248B4 },
+ { "Australia/Victoria" , 0x024BF9 },
+ { "Australia/West" , 0x024F16 },
+ { "Australia/Yancowinna" , 0x024FCC },
+ { "Brazil/Acre" , 0x0252EE },
+ { "Brazil/DeNoronha" , 0x0253F2 },
+ { "Brazil/East" , 0x025512 },
+ { "Brazil/West" , 0x0257EF },
+ { "Canada/Atlantic" , 0x0258E7 },
+ { "Canada/Central" , 0x025DCF },
+ { "Canada/East-Saskatchewan" , 0x0266D9 },
+ { "Canada/Eastern" , 0x0261E9 },
+ { "Canada/Mountain" , 0x026862 },
+ { "Canada/Newfoundland" , 0x026BD8 },
+ { "Canada/Pacific" , 0x027103 },
+ { "Canada/Saskatchewan" , 0x02751C },
+ { "Canada/Yukon" , 0x0276A5 },
+ { "CET" , 0x0279A8 },
+ { "Chile/Continental" , 0x027CB1 },
+ { "Chile/EasterIsland" , 0x02804C },
+ { "CST6CDT" , 0x02838E },
+ { "Cuba" , 0x0286DF },
+ { "EET" , 0x028A52 },
+ { "Egypt" , 0x028D05 },
+ { "Eire" , 0x028FC8 },
+ { "EST" , 0x0294D9 },
+ { "EST5EDT" , 0x02951D },
+ { "Etc/GMT" , 0x02986E },
+ { "Etc/GMT+0" , 0x02993A },
+ { "Etc/GMT+1" , 0x0299C4 },
+ { "Etc/GMT+10" , 0x029A51 },
+ { "Etc/GMT+11" , 0x029ADF },
+ { "Etc/GMT+12" , 0x029B6D },
+ { "Etc/GMT+2" , 0x029C88 },
+ { "Etc/GMT+3" , 0x029D14 },
+ { "Etc/GMT+4" , 0x029DA0 },
+ { "Etc/GMT+5" , 0x029E2C },
+ { "Etc/GMT+6" , 0x029EB8 },
+ { "Etc/GMT+7" , 0x029F44 },
+ { "Etc/GMT+8" , 0x029FD0 },
+ { "Etc/GMT+9" , 0x02A05C },
+ { "Etc/GMT-0" , 0x0298F6 },
+ { "Etc/GMT-1" , 0x02997E },
+ { "Etc/GMT-10" , 0x029A0A },
+ { "Etc/GMT-11" , 0x029A98 },
+ { "Etc/GMT-12" , 0x029B26 },
+ { "Etc/GMT-13" , 0x029BB4 },
+ { "Etc/GMT-14" , 0x029BFB },
+ { "Etc/GMT-2" , 0x029C42 },
+ { "Etc/GMT-3" , 0x029CCE },
+ { "Etc/GMT-4" , 0x029D5A },
+ { "Etc/GMT-5" , 0x029DE6 },
+ { "Etc/GMT-6" , 0x029E72 },
+ { "Etc/GMT-7" , 0x029EFE },
+ { "Etc/GMT-8" , 0x029F8A },
+ { "Etc/GMT-9" , 0x02A016 },
+ { "Etc/GMT0" , 0x0298B2 },
+ { "Etc/Greenwich" , 0x02A0A2 },
+ { "Etc/UCT" , 0x02A0E6 },
+ { "Etc/Universal" , 0x02A12A },
+ { "Etc/UTC" , 0x02A16E },
+ { "Etc/Zulu" , 0x02A1B2 },
+ { "Europe/Amsterdam" , 0x02A1F6 },
+ { "Europe/Andorra" , 0x02A634 },
+ { "Europe/Athens" , 0x02A8B0 },
+ { "Europe/Belfast" , 0x02ABF3 },
+ { "Europe/Belgrade" , 0x02B12A },
+ { "Europe/Berlin" , 0x02B3F3 },
+ { "Europe/Bratislava" , 0x02B757 },
+ { "Europe/Brussels" , 0x02BA89 },
+ { "Europe/Bucharest" , 0x02BEC0 },
+ { "Europe/Budapest" , 0x02C1EA },
+ { "Europe/Busingen" , 0x02C55D },
+ { "Europe/Chisinau" , 0x02C814 },
+ { "Europe/Copenhagen" , 0x02CBA2 },
+ { "Europe/Dublin" , 0x02CEAC },
+ { "Europe/Gibraltar" , 0x02D3BD },
+ { "Europe/Guernsey" , 0x02D814 },
+ { "Europe/Helsinki" , 0x02DD4B },
+ { "Europe/Isle_of_Man" , 0x02E001 },
+ { "Europe/Istanbul" , 0x02E538 },
+ { "Europe/Jersey" , 0x02E925 },
+ { "Europe/Kaliningrad" , 0x02EE5C },
+ { "Europe/Kiev" , 0x02F0C2 },
+ { "Europe/Lisbon" , 0x02F3D9 },
+ { "Europe/Ljubljana" , 0x02F8DD },
+ { "Europe/London" , 0x02FBA6 },
+ { "Europe/Luxembourg" , 0x0300DD },
+ { "Europe/Madrid" , 0x030533 },
+ { "Europe/Malta" , 0x0308F9 },
+ { "Europe/Mariehamn" , 0x030CB2 },
+ { "Europe/Minsk" , 0x030F68 },
+ { "Europe/Monaco" , 0x031176 },
+ { "Europe/Moscow" , 0x0315B1 },
+ { "Europe/Nicosia" , 0x031802 },
+ { "Europe/Oslo" , 0x031AEA },
+ { "Europe/Paris" , 0x031E1C },
+ { "Europe/Podgorica" , 0x032262 },
+ { "Europe/Prague" , 0x03252B },
+ { "Europe/Riga" , 0x03285D },
+ { "Europe/Rome" , 0x032BA2 },
+ { "Europe/Samara" , 0x032F65 },
+ { "Europe/San_Marino" , 0x033198 },
+ { "Europe/Sarajevo" , 0x03355B },
+ { "Europe/Simferopol" , 0x033824 },
+ { "Europe/Skopje" , 0x033B4F },
+ { "Europe/Sofia" , 0x033E18 },
+ { "Europe/Stockholm" , 0x034120 },
+ { "Europe/Tallinn" , 0x0343CF },
+ { "Europe/Tirane" , 0x034709 },
+ { "Europe/Tiraspol" , 0x034A0F },
+ { "Europe/Uzhgorod" , 0x034D9D },
+ { "Europe/Vaduz" , 0x0350B4 },
+ { "Europe/Vatican" , 0x035363 },
+ { "Europe/Vienna" , 0x035726 },
+ { "Europe/Vilnius" , 0x035A53 },
+ { "Europe/Volgograd" , 0x035D92 },
+ { "Europe/Warsaw" , 0x035F92 },
+ { "Europe/Zagreb" , 0x036373 },
+ { "Europe/Zaporozhye" , 0x03663C },
+ { "Europe/Zurich" , 0x03697D },
+ { "Factory" , 0x036C2C },
+ { "GB" , 0x036C9D },
+ { "GB-Eire" , 0x0371D4 },
+ { "GMT" , 0x03770B },
+ { "GMT+0" , 0x0377D7 },
+ { "GMT-0" , 0x037793 },
+ { "GMT0" , 0x03774F },
+ { "Greenwich" , 0x03781B },
+ { "Hongkong" , 0x03785F },
+ { "HST" , 0x037A21 },
+ { "Iceland" , 0x037A65 },
+ { "Indian/Antananarivo" , 0x037C1E },
+ { "Indian/Chagos" , 0x037C92 },
+ { "Indian/Christmas" , 0x037CF4 },
+ { "Indian/Cocos" , 0x037D38 },
+ { "Indian/Comoro" , 0x037D7C },
+ { "Indian/Kerguelen" , 0x037DD1 },
+ { "Indian/Mahe" , 0x037E26 },
+ { "Indian/Maldives" , 0x037E7B },
+ { "Indian/Mauritius" , 0x037ED0 },
+ { "Indian/Mayotte" , 0x037F46 },
+ { "Indian/Reunion" , 0x037F9B },
+ { "Iran" , 0x037FF0 },
+ { "Israel" , 0x03825E },
+ { "Jamaica" , 0x03858D },
+ { "Japan" , 0x038652 },
+ { "Kwajalein" , 0x0386DB },
+ { "Libya" , 0x03873E },
+ { "MET" , 0x038847 },
+ { "Mexico/BajaNorte" , 0x038B50 },
+ { "Mexico/BajaSur" , 0x038EB9 },
+ { "Mexico/General" , 0x0390FE },
+ { "MST" , 0x03935C },
+ { "MST7MDT" , 0x0393A0 },
+ { "Navajo" , 0x0396F1 },
+ { "NZ" , 0x039A6A },
+ { "NZ-CHAT" , 0x039DE8 },
+ { "Pacific/Apia" , 0x03A0D0 },
+ { "Pacific/Auckland" , 0x03A26C },
+ { "Pacific/Chatham" , 0x03A5F8 },
+ { "Pacific/Chuuk" , 0x03A8EF },
+ { "Pacific/Easter" , 0x03A948 },
+ { "Pacific/Efate" , 0x03ACA6 },
+ { "Pacific/Enderbury" , 0x03AD6C },
+ { "Pacific/Fakaofo" , 0x03ADDA },
+ { "Pacific/Fiji" , 0x03AE2B },
+ { "Pacific/Funafuti" , 0x03AFBE },
+ { "Pacific/Galapagos" , 0x03B002 },
+ { "Pacific/Gambier" , 0x03B07A },
+ { "Pacific/Guadalcanal" , 0x03B0DF },
+ { "Pacific/Guam" , 0x03B134 },
+ { "Pacific/Honolulu" , 0x03B18A },
+ { "Pacific/Johnston" , 0x03B201 },
+ { "Pacific/Kiritimati" , 0x03B280 },
+ { "Pacific/Kosrae" , 0x03B2EB },
+ { "Pacific/Kwajalein" , 0x03B348 },
+ { "Pacific/Majuro" , 0x03B3B4 },
+ { "Pacific/Marquesas" , 0x03B413 },
+ { "Pacific/Midway" , 0x03B47A },
+ { "Pacific/Nauru" , 0x03B504 },
+ { "Pacific/Niue" , 0x03B57C },
+ { "Pacific/Norfolk" , 0x03B5DA },
+ { "Pacific/Noumea" , 0x03B62F },
+ { "Pacific/Pago_Pago" , 0x03B6BF },
+ { "Pacific/Palau" , 0x03B748 },
+ { "Pacific/Pitcairn" , 0x03B78C },
+ { "Pacific/Pohnpei" , 0x03B7E1 },
+ { "Pacific/Ponape" , 0x03B836 },
+ { "Pacific/Port_Moresby" , 0x03B87B },
+ { "Pacific/Rarotonga" , 0x03B8BF },
+ { "Pacific/Saipan" , 0x03B99B },
+ { "Pacific/Samoa" , 0x03B9FE },
+ { "Pacific/Tahiti" , 0x03BA87 },
+ { "Pacific/Tarawa" , 0x03BAEC },
+ { "Pacific/Tongatapu" , 0x03BB40 },
+ { "Pacific/Truk" , 0x03BBCC },
+ { "Pacific/Wake" , 0x03BC11 },
+ { "Pacific/Wallis" , 0x03BC61 },
+ { "Pacific/Yap" , 0x03BCA5 },
+ { "Poland" , 0x03BCEA },
+ { "Portugal" , 0x03C0CB },
+ { "PRC" , 0x03C5C7 },
+ { "PST8PDT" , 0x03C678 },
+ { "ROC" , 0x03C9C9 },
+ { "ROK" , 0x03CAE1 },
+ { "Singapore" , 0x03CB85 },
+ { "Turkey" , 0x03CC3C },
+ { "UCT" , 0x03D029 },
+ { "Universal" , 0x03D06D },
+ { "US/Alaska" , 0x03D0B1 },
+ { "US/Aleutian" , 0x03D41A },
+ { "US/Arizona" , 0x03D780 },
+ { "US/Central" , 0x03D80E },
+ { "US/East-Indiana" , 0x03E218 },
+ { "US/Eastern" , 0x03DD19 },
+ { "US/Hawaii" , 0x03E482 },
+ { "US/Indiana-Starke" , 0x03E4F3 },
+ { "US/Michigan" , 0x03E864 },
+ { "US/Mountain" , 0x03EB9B },
+ { "US/Pacific" , 0x03EF14 },
+ { "US/Pacific-New" , 0x03F319 },
+ { "US/Samoa" , 0x03F71E },
+ { "UTC" , 0x03F7A7 },
+ { "W-SU" , 0x03FA9E },
+ { "WET" , 0x03F7EB },
+ { "Zulu" , 0x03FCD8 },
};
/* This is a generated file, do not modify */
-const unsigned char timelib_timezone_db_data_builtin[261381] = {
+const unsigned char timelib_timezone_db_data_builtin[261404] = {
/* Africa/Abidjan */
@@ -758,7 +758,7 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
/* Africa/Casablanca */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0x51, 0xF9, 0x9C,
+0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0x51, 0xF9, 0x9C,
0xC6, 0xFF, 0x14, 0x80, 0xC7, 0x58, 0xAC, 0x70, 0xC7, 0xD9, 0xED, 0x80, 0xD2, 0xA1, 0x32, 0xF0,
0xDB, 0x35, 0xA4, 0x00, 0xDB, 0xEE, 0x27, 0xF0, 0xFB, 0x25, 0x72, 0x40, 0xFB, 0xC2, 0xEF, 0x70,
0x08, 0x6B, 0x84, 0x80, 0x08, 0xC6, 0x6D, 0xF0, 0x0B, 0xE8, 0x0C, 0x00, 0x0C, 0x61, 0x47, 0xF0,
@@ -767,32 +767,34 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
0x4A, 0x23, 0x1A, 0x00, 0x4A, 0x8D, 0xD5, 0x70, 0x4B, 0xDC, 0xC0, 0x80, 0x4C, 0x5D, 0xE5, 0x70,
0x4D, 0x97, 0xB8, 0x80, 0x4E, 0x34, 0x8C, 0xF0, 0x4F, 0x9C, 0xA0, 0xA0, 0x50, 0x08, 0xBB, 0xA0,
0x50, 0x31, 0x9A, 0x20, 0x50, 0x67, 0xA7, 0xA0, 0x51, 0x7C, 0x82, 0xA0, 0x51, 0xD8, 0xCB, 0xA0,
-0x52, 0x05, 0x9E, 0xA0, 0x52, 0x47, 0x89, 0xA0, 0x53, 0x5C, 0x64, 0xA0, 0x53, 0xAF, 0x73, 0x20,
-0x53, 0xD7, 0x00, 0x20, 0x54, 0x27, 0x6B, 0xA0, 0x55, 0x3C, 0x46, 0xA0, 0x55, 0x82, 0x26, 0x20,
-0x55, 0xA9, 0xB3, 0x20, 0x56, 0x07, 0x4D, 0xA0, 0x57, 0x1C, 0x28, 0xA0, 0x57, 0x56, 0x2A, 0xA0,
-0x57, 0x7D, 0xB7, 0xA0, 0x57, 0xE7, 0x2F, 0xA0, 0x59, 0x05, 0x45, 0x20, 0x59, 0x28, 0xDD, 0xA0,
-0x59, 0x50, 0x6A, 0xA0, 0x59, 0xC7, 0x11, 0xA0, 0x5A, 0xE5, 0x27, 0x20, 0x5A, 0xFB, 0x90, 0xA0,
-0x5B, 0x23, 0x1D, 0xA0, 0x5B, 0xB0, 0x2E, 0x20, 0x5C, 0xC5, 0x09, 0x20, 0x5C, 0xCF, 0x95, 0x20,
-0x5C, 0xF7, 0x22, 0x20, 0x5D, 0x90, 0x10, 0x20, 0x5E, 0xC9, 0xD5, 0x20, 0x5F, 0x6F, 0xF2, 0x20,
-0x60, 0x9C, 0x88, 0x20, 0x61, 0x4F, 0xD4, 0x20, 0x62, 0x70, 0x8C, 0xA0, 0x63, 0x2F, 0xB6, 0x20,
-0x64, 0x4D, 0xCB, 0xA0, 0x65, 0x0F, 0x98, 0x20, 0x66, 0x2D, 0xAD, 0xA0, 0x66, 0xF8, 0xB4, 0xA0,
-0x68, 0x0D, 0x8F, 0xA0, 0x68, 0xD8, 0x96, 0xA0, 0x69, 0xED, 0x71, 0xA0, 0x6A, 0xB8, 0x78, 0xA0,
-0x6B, 0xCD, 0x53, 0xA0, 0x6C, 0x98, 0x5A, 0xA0, 0x6D, 0xB6, 0x70, 0x20, 0x6E, 0x78, 0x3C, 0xA0,
-0x6F, 0x96, 0x52, 0x20, 0x70, 0x61, 0x59, 0x20, 0x71, 0x76, 0x34, 0x20, 0x72, 0x41, 0x3B, 0x20,
-0x73, 0x56, 0x16, 0x20, 0x74, 0x21, 0x1D, 0x20, 0x75, 0x35, 0xF8, 0x20, 0x76, 0x00, 0xFF, 0x20,
-0x77, 0x15, 0xDA, 0x20, 0x77, 0xE0, 0xE1, 0x20, 0x78, 0xFE, 0xF6, 0xA0, 0x79, 0xC0, 0xC3, 0x20,
-0x7A, 0xDE, 0xD8, 0xA0, 0x7B, 0xA9, 0xDF, 0xA0, 0x7C, 0xBE, 0xBA, 0xA0, 0x7D, 0x89, 0xC1, 0xA0,
-0x7E, 0x9E, 0x9C, 0xA0, 0x7F, 0x69, 0xA3, 0xA0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x52, 0x05, 0x9E, 0xA0, 0x52, 0x6C, 0x73, 0xA0, 0x53, 0x37, 0x7A, 0xA0, 0x53, 0xAF, 0x73, 0x20,
+0x53, 0xD7, 0x00, 0x20, 0x54, 0x4C, 0x55, 0xA0, 0x55, 0x17, 0x5C, 0xA0, 0x55, 0x82, 0x26, 0x20,
+0x55, 0xA9, 0xB3, 0x20, 0x56, 0x2C, 0x37, 0xA0, 0x56, 0xF7, 0x3E, 0xA0, 0x57, 0x56, 0x2A, 0xA0,
+0x57, 0x7D, 0xB7, 0xA0, 0x58, 0x15, 0x54, 0x20, 0x58, 0xD7, 0x20, 0xA0, 0x59, 0x28, 0xDD, 0xA0,
+0x59, 0x50, 0x6A, 0xA0, 0x59, 0xF5, 0x36, 0x20, 0x5A, 0xB7, 0x02, 0xA0, 0x5A, 0xFB, 0x90, 0xA0,
+0x5B, 0x23, 0x1D, 0xA0, 0x5B, 0xD5, 0x18, 0x20, 0x5C, 0xA0, 0x1F, 0x20, 0x5C, 0xCF, 0x95, 0x20,
+0x5C, 0xF7, 0x22, 0x20, 0x5D, 0xB4, 0xFA, 0x20, 0x5E, 0x80, 0x01, 0x20, 0x5E, 0xA2, 0x48, 0x20,
+0x5E, 0xC9, 0xD5, 0x20, 0x5F, 0x94, 0xDC, 0x20, 0x60, 0x5F, 0xE3, 0x20, 0x60, 0x74, 0xFB, 0x20,
+0x60, 0x9C, 0x88, 0x20, 0x61, 0x7D, 0xF8, 0xA0, 0x62, 0x3F, 0xC5, 0x20, 0x62, 0x48, 0xFF, 0xA0,
+0x62, 0x70, 0x8C, 0xA0, 0x63, 0x5D, 0xDA, 0xA0, 0x64, 0x43, 0x3F, 0xA0, 0x65, 0x3D, 0xBC, 0xA0,
+0x66, 0x15, 0xF2, 0xA0, 0x67, 0x1D, 0x9E, 0xA0, 0x67, 0xE9, 0xF7, 0x20, 0x68, 0xFD, 0x80, 0xA0,
+0x69, 0xC8, 0x87, 0xA0, 0x6A, 0xDD, 0x62, 0xA0, 0x6B, 0xA8, 0x69, 0xA0, 0x6C, 0xC6, 0x7F, 0x20,
+0x6D, 0x88, 0x4B, 0xA0, 0x6E, 0xA6, 0x61, 0x20, 0x6F, 0x68, 0x2D, 0xA0, 0x70, 0x86, 0x43, 0x20,
+0x71, 0x51, 0x4A, 0x20, 0x72, 0x66, 0x25, 0x20, 0x73, 0x31, 0x2C, 0x20, 0x74, 0x46, 0x07, 0x20,
+0x75, 0x11, 0x0E, 0x20, 0x76, 0x2F, 0x23, 0xA0, 0x76, 0xF0, 0xF0, 0x20, 0x78, 0x0F, 0x05, 0xA0,
+0x78, 0xD0, 0xD2, 0x20, 0x79, 0xEE, 0xE7, 0xA0, 0x7A, 0xB0, 0xB4, 0x20, 0x7B, 0xCE, 0xC9, 0xA0,
+0x7C, 0x99, 0xD0, 0xA0, 0x7D, 0xA8, 0x14, 0x20, 0x7E, 0x79, 0xB2, 0xA0, 0x7F, 0x7C, 0x18, 0xA0,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x03, 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, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xF8, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x0E,
-0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x4C,
-0x4D, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBC, 0xAC, 0xC8, 0x01, 0x07, 0x16, 0x42,
-0x00, 0x00, 0x00, 0x00,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xF8, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54,
+0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBC, 0xAC, 0xC8, 0x01, 0x07, 0x16, 0x42, 0x00, 0x00,
+0x00, 0x00,
/* Africa/Ceuta */
0x50, 0x48, 0x50, 0x31, 0x01, 0x45, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -890,12 +892,40 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
/* Africa/El_Aaiun */
0x50, 0x48, 0x50, 0x31, 0x01, 0x45, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xBC, 0x48, 0xF0, 0xE0,
-0x0B, 0xD1, 0xB0, 0x90, 0x01, 0x02, 0xFF, 0xFF, 0xF3, 0xA0, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0,
-0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00,
-0x57, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0xFE,
-0x84, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xBC, 0x48, 0xF0, 0xE0,
+0x0B, 0xD1, 0xB0, 0x90, 0x0B, 0xE8, 0x0C, 0x00, 0x0C, 0x61, 0x47, 0xF0, 0x0D, 0xC9, 0x3F, 0x80,
+0x0E, 0x8E, 0xF2, 0x70, 0x0F, 0xD3, 0x51, 0x80, 0x10, 0x27, 0xA3, 0x70, 0x48, 0x41, 0xE6, 0x80,
+0x48, 0xBB, 0x22, 0x70, 0x4A, 0x23, 0x1A, 0x00, 0x4A, 0x8D, 0xD5, 0x70, 0x4B, 0xDC, 0xC0, 0x80,
+0x4C, 0x5D, 0xE5, 0x70, 0x4D, 0x97, 0xB8, 0x80, 0x4E, 0x34, 0x8C, 0xF0, 0x4F, 0x9C, 0xA0, 0xA0,
+0x50, 0x08, 0xBB, 0xA0, 0x50, 0x31, 0x9A, 0x20, 0x50, 0x67, 0xA7, 0xA0, 0x51, 0x7C, 0x82, 0xA0,
+0x51, 0xD8, 0xCB, 0xA0, 0x52, 0x05, 0x9E, 0xA0, 0x52, 0x6C, 0x73, 0xA0, 0x53, 0x37, 0x7A, 0xA0,
+0x53, 0xAF, 0x73, 0x20, 0x53, 0xD7, 0x00, 0x20, 0x54, 0x4C, 0x55, 0xA0, 0x55, 0x17, 0x5C, 0xA0,
+0x55, 0x82, 0x26, 0x20, 0x55, 0xA9, 0xB3, 0x20, 0x56, 0x2C, 0x37, 0xA0, 0x56, 0xF7, 0x3E, 0xA0,
+0x57, 0x56, 0x2A, 0xA0, 0x57, 0x7D, 0xB7, 0xA0, 0x58, 0x15, 0x54, 0x20, 0x58, 0xD7, 0x20, 0xA0,
+0x59, 0x28, 0xDD, 0xA0, 0x59, 0x50, 0x6A, 0xA0, 0x59, 0xF5, 0x36, 0x20, 0x5A, 0xB7, 0x02, 0xA0,
+0x5A, 0xFB, 0x90, 0xA0, 0x5B, 0x23, 0x1D, 0xA0, 0x5B, 0xD5, 0x18, 0x20, 0x5C, 0xA0, 0x1F, 0x20,
+0x5C, 0xCF, 0x95, 0x20, 0x5C, 0xF7, 0x22, 0x20, 0x5D, 0xB4, 0xFA, 0x20, 0x5E, 0x80, 0x01, 0x20,
+0x5E, 0xA2, 0x48, 0x20, 0x5E, 0xC9, 0xD5, 0x20, 0x5F, 0x94, 0xDC, 0x20, 0x60, 0x5F, 0xE3, 0x20,
+0x60, 0x74, 0xFB, 0x20, 0x60, 0x9C, 0x88, 0x20, 0x61, 0x7D, 0xF8, 0xA0, 0x62, 0x3F, 0xC5, 0x20,
+0x62, 0x48, 0xFF, 0xA0, 0x62, 0x70, 0x8C, 0xA0, 0x63, 0x5D, 0xDA, 0xA0, 0x64, 0x43, 0x3F, 0xA0,
+0x65, 0x3D, 0xBC, 0xA0, 0x66, 0x15, 0xF2, 0xA0, 0x67, 0x1D, 0x9E, 0xA0, 0x67, 0xE9, 0xF7, 0x20,
+0x68, 0xFD, 0x80, 0xA0, 0x69, 0xC8, 0x87, 0xA0, 0x6A, 0xDD, 0x62, 0xA0, 0x6B, 0xA8, 0x69, 0xA0,
+0x6C, 0xC6, 0x7F, 0x20, 0x6D, 0x88, 0x4B, 0xA0, 0x6E, 0xA6, 0x61, 0x20, 0x6F, 0x68, 0x2D, 0xA0,
+0x70, 0x86, 0x43, 0x20, 0x71, 0x51, 0x4A, 0x20, 0x72, 0x66, 0x25, 0x20, 0x73, 0x31, 0x2C, 0x20,
+0x74, 0x46, 0x07, 0x20, 0x75, 0x11, 0x0E, 0x20, 0x76, 0x2F, 0x23, 0xA0, 0x76, 0xF0, 0xF0, 0x20,
+0x78, 0x0F, 0x05, 0xA0, 0x78, 0xD0, 0xD2, 0x20, 0x79, 0xEE, 0xE7, 0xA0, 0x7A, 0xB0, 0xB4, 0x20,
+0x7B, 0xCE, 0xC9, 0xA0, 0x7C, 0x99, 0xD0, 0xA0, 0x7D, 0xA8, 0x14, 0x20, 0x7E, 0x79, 0xB2, 0xA0,
+0x7F, 0x7C, 0x18, 0xA0, 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, 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, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0xFF, 0xFF,
+0xF3, 0xA0, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x57, 0x45,
+0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xB2, 0xC1, 0xB8, 0x00, 0xFE, 0x84, 0x40, 0x00, 0x00, 0x00, 0x00,
/* Africa/Freetown */
0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -1181,7 +1211,7 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
/* Africa/Tripoli */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4C, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xA1, 0xF2, 0xC1, 0x24,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xA1, 0xF2, 0xC1, 0x24,
0xDD, 0xBB, 0xB1, 0x10, 0xDE, 0x23, 0xAD, 0x60, 0xE1, 0x78, 0xD2, 0x10, 0xE1, 0xE7, 0x65, 0xE0,
0xE5, 0x2F, 0x3F, 0x70, 0xE5, 0xA9, 0xCC, 0xE0, 0xEB, 0x4E, 0xC6, 0xF0, 0x16, 0x92, 0x42, 0x60,
0x17, 0x08, 0xF7, 0x70, 0x17, 0xFA, 0x2B, 0xE0, 0x18, 0xEA, 0x2A, 0xF0, 0x19, 0xDB, 0x5F, 0x60,
@@ -1189,24 +1219,9 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
0x1E, 0x93, 0x0B, 0x70, 0x1F, 0x82, 0xEE, 0x60, 0x20, 0x70, 0x4A, 0x70, 0x21, 0x61, 0x7E, 0xE0,
0x22, 0x52, 0xCF, 0x70, 0x23, 0x44, 0x03, 0xE0, 0x24, 0x34, 0x02, 0xF0, 0x25, 0x25, 0x37, 0x60,
0x26, 0x40, 0xB7, 0xF0, 0x32, 0x4E, 0xF1, 0x60, 0x33, 0x44, 0x36, 0x70, 0x34, 0x35, 0x6A, 0xE0,
-0x50, 0x9D, 0x99, 0x00, 0x51, 0x54, 0xD9, 0x80, 0x52, 0x69, 0xB4, 0x80, 0x53, 0x34, 0xBB, 0x80,
-0x54, 0x52, 0xD1, 0x00, 0x55, 0x14, 0x9D, 0x80, 0x56, 0x32, 0xB3, 0x00, 0x56, 0xF4, 0x7F, 0x80,
-0x58, 0x12, 0x95, 0x00, 0x58, 0xDD, 0x9C, 0x00, 0x59, 0xF2, 0x77, 0x00, 0x5A, 0xBD, 0x7E, 0x00,
-0x5B, 0xD2, 0x59, 0x00, 0x5C, 0x9D, 0x60, 0x00, 0x5D, 0xB2, 0x3B, 0x00, 0x5E, 0x7D, 0x42, 0x00,
-0x5F, 0x9B, 0x57, 0x80, 0x60, 0x5D, 0x24, 0x00, 0x61, 0x7B, 0x39, 0x80, 0x62, 0x3D, 0x06, 0x00,
-0x63, 0x5B, 0x1B, 0x80, 0x64, 0x26, 0x22, 0x80, 0x65, 0x3A, 0xFD, 0x80, 0x66, 0x06, 0x04, 0x80,
-0x67, 0x1A, 0xDF, 0x80, 0x67, 0xE5, 0xE6, 0x80, 0x69, 0x03, 0xFC, 0x00, 0x69, 0xC5, 0xC8, 0x80,
-0x6A, 0xE3, 0xDE, 0x00, 0x6B, 0xA5, 0xAA, 0x80, 0x6C, 0xC3, 0xC0, 0x00, 0x6D, 0x8E, 0xC7, 0x00,
-0x6E, 0xA3, 0xA2, 0x00, 0x6F, 0x6E, 0xA9, 0x00, 0x70, 0x83, 0x84, 0x00, 0x71, 0x4E, 0x8B, 0x00,
-0x72, 0x63, 0x66, 0x00, 0x73, 0x2E, 0x6D, 0x00, 0x74, 0x4C, 0x82, 0x80, 0x75, 0x0E, 0x4F, 0x00,
-0x76, 0x2C, 0x64, 0x80, 0x76, 0xEE, 0x31, 0x00, 0x78, 0x0C, 0x46, 0x80, 0x78, 0xD7, 0x4D, 0x80,
-0x79, 0xEC, 0x28, 0x80, 0x7A, 0xB7, 0x2F, 0x80, 0x7B, 0xCC, 0x0A, 0x80, 0x7C, 0x97, 0x11, 0x80,
-0x7D, 0xB5, 0x27, 0x00, 0x7E, 0x76, 0xF3, 0x80, 0x7F, 0x95, 0x09, 0x00, 0x02, 0x01, 0x02, 0x01,
+0x50, 0x9D, 0x99, 0x00, 0x51, 0x54, 0xD9, 0x80, 0x52, 0x69, 0xB4, 0x80, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x03, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x01, 0x03, 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, 0x0C, 0x5C,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x01, 0x03, 0x02, 0x01, 0x03, 0x00, 0x00, 0x0C, 0x5C,
0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00,
0x1C, 0x20, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54,
0x00, 0x45, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x87,
@@ -2944,7 +2959,7 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
/* America/Eirunepe */
0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0xAA, 0x88, 0x80,
+0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0xAA, 0x88, 0x80,
0xB8, 0x0F, 0x66, 0x00, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xF1, 0x50, 0x50, 0xBA, 0xDE, 0x90, 0x40,
0xDA, 0x38, 0xCA, 0x50, 0xDA, 0xEC, 0x16, 0x50, 0xDC, 0x19, 0xFD, 0xD0, 0xDC, 0xB9, 0x75, 0x40,
0xDD, 0xFB, 0x31, 0x50, 0xDE, 0x9B, 0xFA, 0x40, 0xDF, 0xDD, 0xB6, 0x50, 0xE0, 0x54, 0x4F, 0x40,
@@ -2952,14 +2967,14 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
0xF8, 0x51, 0x48, 0x50, 0xF8, 0xC7, 0xE1, 0x40, 0xFA, 0x0A, 0xEE, 0xD0, 0xFA, 0xA9, 0x14, 0xC0,
0xFB, 0xEC, 0x22, 0x50, 0xFC, 0x8B, 0x99, 0xC0, 0x1D, 0xC9, 0xAA, 0x50, 0x1E, 0x78, 0xF3, 0xC0,
0x1F, 0xA0, 0x51, 0xD0, 0x20, 0x33, 0xEB, 0xC0, 0x21, 0x81, 0x85, 0x50, 0x22, 0x0B, 0xE4, 0xC0,
-0x2C, 0xC0, 0xD1, 0x50, 0x2D, 0x66, 0xE0, 0x40, 0x48, 0x60, 0x7F, 0x50, 0x02, 0x01, 0x02, 0x01,
+0x2C, 0xC0, 0xD1, 0x50, 0x2D, 0x66, 0xE0, 0x40, 0x48, 0x60, 0x7F, 0x50, 0x52, 0x7F, 0x04, 0xC0,
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, 0x03, 0xFF, 0xFF, 0xBE, 0x80,
-0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x09, 0xFF, 0xFF,
-0xC7, 0xC0, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x43, 0x53, 0x54, 0x00, 0x41, 0x43, 0x54,
-0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x28,
-0x15, 0x00, 0xA8, 0x0C, 0xD5, 0x00, 0x00, 0x00, 0x0A, 0x57, 0x20, 0x41, 0x6D, 0x61, 0x7A, 0x6F,
-0x6E, 0x61, 0x73,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03,
+0x02, 0xFF, 0xFF, 0xBE, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9,
+0xB0, 0x00, 0x09, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x43, 0x53,
+0x54, 0x00, 0x41, 0x43, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x7F, 0x28, 0x15, 0x00, 0xA8, 0x0C, 0xD5, 0x00, 0x00, 0x00, 0x0A, 0x57, 0x20,
+0x41, 0x6D, 0x61, 0x7A, 0x6F, 0x6E, 0x61, 0x73,
/* America/El_Salvador */
0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -5769,7 +5784,7 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
/* America/Porto_Acre */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0xAA, 0x86, 0x90,
+0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0xAA, 0x86, 0x90,
0xB8, 0x0F, 0x66, 0x00, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xF1, 0x50, 0x50, 0xBA, 0xDE, 0x90, 0x40,
0xDA, 0x38, 0xCA, 0x50, 0xDA, 0xEC, 0x16, 0x50, 0xDC, 0x19, 0xFD, 0xD0, 0xDC, 0xB9, 0x75, 0x40,
0xDD, 0xFB, 0x31, 0x50, 0xDE, 0x9B, 0xFA, 0x40, 0xDF, 0xDD, 0xB6, 0x50, 0xE0, 0x54, 0x4F, 0x40,
@@ -5777,12 +5792,13 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
0xF8, 0x51, 0x48, 0x50, 0xF8, 0xC7, 0xE1, 0x40, 0xFA, 0x0A, 0xEE, 0xD0, 0xFA, 0xA9, 0x14, 0xC0,
0xFB, 0xEC, 0x22, 0x50, 0xFC, 0x8B, 0x99, 0xC0, 0x1D, 0xC9, 0xAA, 0x50, 0x1E, 0x78, 0xF3, 0xC0,
0x1F, 0xA0, 0x51, 0xD0, 0x20, 0x33, 0xEB, 0xC0, 0x21, 0x81, 0x85, 0x50, 0x22, 0x0B, 0xE4, 0xC0,
-0x48, 0x60, 0x7F, 0x50, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x48, 0x60, 0x7F, 0x50, 0x52, 0x7F, 0x04, 0xC0, 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, 0x03, 0xFF, 0xFF, 0xC0, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF,
-0xB9, 0xB0, 0x00, 0x09, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x43,
-0x53, 0x54, 0x00, 0x41, 0x43, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0xFF, 0xFF, 0xC0, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xC7,
+0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x09, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x4C,
+0x4D, 0x54, 0x00, 0x41, 0x43, 0x53, 0x54, 0x00, 0x41, 0x43, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80,
+0x00, 0x00, 0x00, 0x00,
/* America/Port_of_Spain */
0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -6026,7 +6042,7 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
/* America/Rio_Branco */
0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0xAA, 0x86, 0x90,
+0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0xAA, 0x86, 0x90,
0xB8, 0x0F, 0x66, 0x00, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xF1, 0x50, 0x50, 0xBA, 0xDE, 0x90, 0x40,
0xDA, 0x38, 0xCA, 0x50, 0xDA, 0xEC, 0x16, 0x50, 0xDC, 0x19, 0xFD, 0xD0, 0xDC, 0xB9, 0x75, 0x40,
0xDD, 0xFB, 0x31, 0x50, 0xDE, 0x9B, 0xFA, 0x40, 0xDF, 0xDD, 0xB6, 0x50, 0xE0, 0x54, 0x4F, 0x40,
@@ -6034,13 +6050,13 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
0xF8, 0x51, 0x48, 0x50, 0xF8, 0xC7, 0xE1, 0x40, 0xFA, 0x0A, 0xEE, 0xD0, 0xFA, 0xA9, 0x14, 0xC0,
0xFB, 0xEC, 0x22, 0x50, 0xFC, 0x8B, 0x99, 0xC0, 0x1D, 0xC9, 0xAA, 0x50, 0x1E, 0x78, 0xF3, 0xC0,
0x1F, 0xA0, 0x51, 0xD0, 0x20, 0x33, 0xEB, 0xC0, 0x21, 0x81, 0x85, 0x50, 0x22, 0x0B, 0xE4, 0xC0,
-0x48, 0x60, 0x7F, 0x50, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x48, 0x60, 0x7F, 0x50, 0x52, 0x7F, 0x04, 0xC0, 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, 0x03, 0xFF, 0xFF, 0xC0, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF,
-0xB9, 0xB0, 0x00, 0x09, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x43,
-0x53, 0x54, 0x00, 0x41, 0x43, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x7A, 0x1F, 0x05, 0x00, 0xAB, 0x34, 0x20, 0x00, 0x00, 0x00, 0x04, 0x41,
-0x63, 0x72, 0x65,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0xFF, 0xFF, 0xC0, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xC7,
+0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x09, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x4C,
+0x4D, 0x54, 0x00, 0x41, 0x43, 0x53, 0x54, 0x00, 0x41, 0x43, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x1F, 0x05, 0x00, 0xAB, 0x34, 0x20,
+0x00, 0x00, 0x00, 0x04, 0x41, 0x63, 0x72, 0x65,
/* America/Rosario */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -10994,7 +11010,7 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
/* Brazil/Acre */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0xAA, 0x86, 0x90,
+0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x96, 0xAA, 0x86, 0x90,
0xB8, 0x0F, 0x66, 0x00, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xF1, 0x50, 0x50, 0xBA, 0xDE, 0x90, 0x40,
0xDA, 0x38, 0xCA, 0x50, 0xDA, 0xEC, 0x16, 0x50, 0xDC, 0x19, 0xFD, 0xD0, 0xDC, 0xB9, 0x75, 0x40,
0xDD, 0xFB, 0x31, 0x50, 0xDE, 0x9B, 0xFA, 0x40, 0xDF, 0xDD, 0xB6, 0x50, 0xE0, 0x54, 0x4F, 0x40,
@@ -11002,12 +11018,13 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
0xF8, 0x51, 0x48, 0x50, 0xF8, 0xC7, 0xE1, 0x40, 0xFA, 0x0A, 0xEE, 0xD0, 0xFA, 0xA9, 0x14, 0xC0,
0xFB, 0xEC, 0x22, 0x50, 0xFC, 0x8B, 0x99, 0xC0, 0x1D, 0xC9, 0xAA, 0x50, 0x1E, 0x78, 0xF3, 0xC0,
0x1F, 0xA0, 0x51, 0xD0, 0x20, 0x33, 0xEB, 0xC0, 0x21, 0x81, 0x85, 0x50, 0x22, 0x0B, 0xE4, 0xC0,
-0x48, 0x60, 0x7F, 0x50, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x48, 0x60, 0x7F, 0x50, 0x52, 0x7F, 0x04, 0xC0, 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, 0x03, 0xFF, 0xFF, 0xC0, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF,
-0xB9, 0xB0, 0x00, 0x09, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x43,
-0x53, 0x54, 0x00, 0x41, 0x43, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0xFF, 0xFF, 0xC0, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xC7,
+0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x09, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x4C,
+0x4D, 0x54, 0x00, 0x41, 0x43, 0x53, 0x54, 0x00, 0x41, 0x43, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80,
+0x00, 0x00, 0x00, 0x00,
/* Brazil/DeNoronha */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -16301,7 +16318,7 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
/* Libya */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xA1, 0xF2, 0xC1, 0x24,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xA1, 0xF2, 0xC1, 0x24,
0xDD, 0xBB, 0xB1, 0x10, 0xDE, 0x23, 0xAD, 0x60, 0xE1, 0x78, 0xD2, 0x10, 0xE1, 0xE7, 0x65, 0xE0,
0xE5, 0x2F, 0x3F, 0x70, 0xE5, 0xA9, 0xCC, 0xE0, 0xEB, 0x4E, 0xC6, 0xF0, 0x16, 0x92, 0x42, 0x60,
0x17, 0x08, 0xF7, 0x70, 0x17, 0xFA, 0x2B, 0xE0, 0x18, 0xEA, 0x2A, 0xF0, 0x19, 0xDB, 0x5F, 0x60,
@@ -16309,24 +16326,9 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
0x1E, 0x93, 0x0B, 0x70, 0x1F, 0x82, 0xEE, 0x60, 0x20, 0x70, 0x4A, 0x70, 0x21, 0x61, 0x7E, 0xE0,
0x22, 0x52, 0xCF, 0x70, 0x23, 0x44, 0x03, 0xE0, 0x24, 0x34, 0x02, 0xF0, 0x25, 0x25, 0x37, 0x60,
0x26, 0x40, 0xB7, 0xF0, 0x32, 0x4E, 0xF1, 0x60, 0x33, 0x44, 0x36, 0x70, 0x34, 0x35, 0x6A, 0xE0,
-0x50, 0x9D, 0x99, 0x00, 0x51, 0x54, 0xD9, 0x80, 0x52, 0x69, 0xB4, 0x80, 0x53, 0x34, 0xBB, 0x80,
-0x54, 0x52, 0xD1, 0x00, 0x55, 0x14, 0x9D, 0x80, 0x56, 0x32, 0xB3, 0x00, 0x56, 0xF4, 0x7F, 0x80,
-0x58, 0x12, 0x95, 0x00, 0x58, 0xDD, 0x9C, 0x00, 0x59, 0xF2, 0x77, 0x00, 0x5A, 0xBD, 0x7E, 0x00,
-0x5B, 0xD2, 0x59, 0x00, 0x5C, 0x9D, 0x60, 0x00, 0x5D, 0xB2, 0x3B, 0x00, 0x5E, 0x7D, 0x42, 0x00,
-0x5F, 0x9B, 0x57, 0x80, 0x60, 0x5D, 0x24, 0x00, 0x61, 0x7B, 0x39, 0x80, 0x62, 0x3D, 0x06, 0x00,
-0x63, 0x5B, 0x1B, 0x80, 0x64, 0x26, 0x22, 0x80, 0x65, 0x3A, 0xFD, 0x80, 0x66, 0x06, 0x04, 0x80,
-0x67, 0x1A, 0xDF, 0x80, 0x67, 0xE5, 0xE6, 0x80, 0x69, 0x03, 0xFC, 0x00, 0x69, 0xC5, 0xC8, 0x80,
-0x6A, 0xE3, 0xDE, 0x00, 0x6B, 0xA5, 0xAA, 0x80, 0x6C, 0xC3, 0xC0, 0x00, 0x6D, 0x8E, 0xC7, 0x00,
-0x6E, 0xA3, 0xA2, 0x00, 0x6F, 0x6E, 0xA9, 0x00, 0x70, 0x83, 0x84, 0x00, 0x71, 0x4E, 0x8B, 0x00,
-0x72, 0x63, 0x66, 0x00, 0x73, 0x2E, 0x6D, 0x00, 0x74, 0x4C, 0x82, 0x80, 0x75, 0x0E, 0x4F, 0x00,
-0x76, 0x2C, 0x64, 0x80, 0x76, 0xEE, 0x31, 0x00, 0x78, 0x0C, 0x46, 0x80, 0x78, 0xD7, 0x4D, 0x80,
-0x79, 0xEC, 0x28, 0x80, 0x7A, 0xB7, 0x2F, 0x80, 0x7B, 0xCC, 0x0A, 0x80, 0x7C, 0x97, 0x11, 0x80,
-0x7D, 0xB5, 0x27, 0x00, 0x7E, 0x76, 0xF3, 0x80, 0x7F, 0x95, 0x09, 0x00, 0x02, 0x01, 0x02, 0x01,
+0x50, 0x9D, 0x99, 0x00, 0x51, 0x54, 0xD9, 0x80, 0x52, 0x69, 0xB4, 0x80, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x03, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x01, 0x03, 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, 0x0C, 0x5C,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x01, 0x03, 0x02, 0x01, 0x03, 0x00, 0x00, 0x0C, 0x5C,
0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00,
0x1C, 0x20, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54,
0x00, 0x45, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54,
@@ -18400,4 +18402,4 @@ const unsigned char timelib_timezone_db_data_builtin[261381] = {
0x00, 0x00, 0x55, 0x54, 0x43, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80,
0x00, 0x00, 0x00, 0x00, };
-const timelib_tzdb timezonedb_builtin = { "2013.6", 579, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
+const timelib_tzdb timezonedb_builtin = { "2013.8", 579, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
diff --git a/ext/gmp/gmp.c b/ext/gmp/gmp.c
index 8b5c131e76..af9c73afa2 100644
--- a/ext/gmp/gmp.c
+++ b/ext/gmp/gmp.c
@@ -24,7 +24,10 @@
#include "php_ini.h"
#include "php_gmp.h"
#include "ext/standard/info.h"
+#include "ext/standard/php_var.h"
+#include "ext/standard/php_smart_str_public.h"
#include "zend_exceptions.h"
+#include "zend_interfaces.h"
#if HAVE_GMP
@@ -564,12 +567,17 @@ static int gmp_cast_object(zval *readobj, zval *writeobj, int type TSRMLS_DC) /*
}
/* }}} */
-static HashTable *gmp_get_properties(zval *obj TSRMLS_DC) /* {{{ */
+static HashTable *gmp_get_debug_info(zval *obj, int *is_temp TSRMLS_DC) /* {{{ */
{
- HashTable *ht = zend_std_get_properties(obj TSRMLS_CC);
+ HashTable *ht, *props = zend_std_get_properties(obj TSRMLS_CC);
mpz_ptr gmpnum = GET_GMP_FROM_ZVAL(obj);
zval *zv;
+ *is_temp = 1;
+ ALLOC_HASHTABLE(ht);
+ ZEND_INIT_SYMTABLE_EX(ht, zend_hash_num_elements(props) + 1, 0);
+ zend_hash_copy(ht, props, (copy_ctor_func_t) zval_add_ref, NULL, sizeof(zval *));
+
MAKE_STD_ZVAL(zv);
gmp_strval(zv, gmpnum, 10);
zend_hash_update(ht, "num", sizeof("num"), &zv, sizeof(zval *), NULL);
@@ -678,36 +686,96 @@ static int gmp_compare(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {{{ */
}
/* }}} */
-PHP_METHOD(GMP, __wakeup) /* {{{ */
+PHP_METHOD(GMP, serialize) /* {{{ */
{
- HashTable *props;
- zval **num_zv;
+ mpz_ptr gmpnum = GET_GMP_FROM_ZVAL(getThis());
+ smart_str buf = {0};
+ php_serialize_data_t var_hash;
+ zval zv, *zv_ptr = &zv;
if (zend_parse_parameters_none() == FAILURE) {
return;
}
- props = zend_std_get_properties(getThis() TSRMLS_CC);
- if (zend_hash_find(props, "num", sizeof("num"), (void **) &num_zv) == SUCCESS
- && Z_TYPE_PP(num_zv) == IS_STRING && Z_STRLEN_PP(num_zv) > 0
+ PHP_VAR_SERIALIZE_INIT(var_hash);
+
+ INIT_PZVAL(zv_ptr);
+
+ gmp_strval(zv_ptr, gmpnum, 10);
+ php_var_serialize(&buf, &zv_ptr, &var_hash TSRMLS_CC);
+ zval_dtor(zv_ptr);
+
+ Z_ARRVAL_P(zv_ptr) = zend_std_get_properties(getThis() TSRMLS_CC);
+ Z_TYPE_P(zv_ptr) = IS_ARRAY;
+ php_var_serialize(&buf, &zv_ptr, &var_hash TSRMLS_CC);
+
+ PHP_VAR_SERIALIZE_DESTROY(var_hash);
+
+ if (buf.c) {
+ RETURN_STRINGL(buf.c, buf.len, 0);
+ }
+}
+/* }}} */
+
+PHP_METHOD(GMP, unserialize) /* {{{ */
+{
+ mpz_ptr gmpnum = GET_GMP_FROM_ZVAL(getThis());
+ char *str;
+ int str_len;
+ php_unserialize_data_t var_hash;
+ const unsigned char *p, *max;
+ zval zv, *zv_ptr = &zv;
+
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) {
+ return;
+ }
+
+ PHP_VAR_UNSERIALIZE_INIT(var_hash);
+
+ p = (unsigned char *) str;
+ max = (unsigned char *) str + str_len;
+
+ INIT_ZVAL(zv);
+ if (!php_var_unserialize(&zv_ptr, &p, max, &var_hash TSRMLS_CC)
+ || Z_TYPE_P(zv_ptr) != IS_STRING
+ || convert_to_gmp(gmpnum, zv_ptr, 10 TSRMLS_CC) == FAILURE
) {
- mpz_ptr gmpnumber = GET_GMP_FROM_ZVAL(getThis());
- if (convert_to_gmp(gmpnumber, *num_zv, 10 TSRMLS_CC) == SUCCESS) {
- return;
- }
+ zend_throw_exception(NULL, "Could not unserialize number", 0 TSRMLS_CC);
+ goto exit;
}
+ zval_dtor(&zv);
- zend_throw_exception(
- NULL, "Invalid serialization data", 0 TSRMLS_CC
- );
+ INIT_ZVAL(zv);
+ if (!php_var_unserialize(&zv_ptr, &p, max, &var_hash TSRMLS_CC)
+ || Z_TYPE_P(zv_ptr) != IS_ARRAY
+ ) {
+ zend_throw_exception(NULL, "Could not unserialize properties", 0 TSRMLS_CC);
+ goto exit;
+ }
+
+ if (zend_hash_num_elements(Z_ARRVAL_P(zv_ptr)) != 0) {
+ zend_hash_copy(
+ zend_std_get_properties(getThis() TSRMLS_CC), Z_ARRVAL_P(zv_ptr),
+ (copy_ctor_func_t) zval_add_ref, NULL, sizeof(zval *)
+ );
+ }
+
+exit:
+ zval_dtor(&zv);
+ PHP_VAR_UNSERIALIZE_DESTROY(var_hash);
}
/* }}} */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_wakeup, 0, 0, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_serialize, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_unserialize, 0, 0, 1)
+ZEND_ARG_INFO(0, serialized)
ZEND_END_ARG_INFO()
const zend_function_entry gmp_methods[] = {
- PHP_ME(GMP, __wakeup, arginfo_wakeup, ZEND_ACC_PUBLIC)
+ PHP_ME(GMP, serialize, arginfo_serialize, ZEND_ACC_PUBLIC)
+ PHP_ME(GMP, unserialize, arginfo_unserialize, ZEND_ACC_PUBLIC)
PHP_FE_END
};
@@ -724,13 +792,14 @@ static ZEND_GINIT_FUNCTION(gmp)
ZEND_MINIT_FUNCTION(gmp)
{
zend_class_entry tmp_ce;
- INIT_CLASS_ENTRY(tmp_ce, "GMP", gmp_methods); /* No methods on the class for now */
+ INIT_CLASS_ENTRY(tmp_ce, "GMP", gmp_methods);
gmp_ce = zend_register_internal_class(&tmp_ce TSRMLS_CC);
+ zend_class_implements(gmp_ce TSRMLS_CC, 1, zend_ce_serializable);
gmp_ce->create_object = gmp_create_object;
memcpy(&gmp_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
gmp_object_handlers.cast_object = gmp_cast_object;
- gmp_object_handlers.get_properties = gmp_get_properties;
+ gmp_object_handlers.get_debug_info = gmp_get_debug_info;
gmp_object_handlers.clone_obj = gmp_clone_obj;
gmp_object_handlers.do_operation = gmp_do_operation;
gmp_object_handlers.compare = gmp_compare;
@@ -1363,7 +1432,7 @@ ZEND_FUNCTION(gmp_powm)
zval *base_arg, *exp_arg, *mod_arg;
mpz_ptr gmpnum_base, gmpnum_exp, gmpnum_mod, gmpnum_result;
int use_ui = 0;
- gmp_temp_t temp_base = {0}, temp_exp = {0}, temp_mod;
+ gmp_temp_t temp_base, temp_exp, temp_mod;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zzz", &base_arg, &exp_arg, &mod_arg) == FAILURE){
return;
diff --git a/ext/gmp/tests/bug659967.phpt b/ext/gmp/tests/bug659967.phpt
new file mode 100644
index 0000000000..6ba220274c
--- /dev/null
+++ b/ext/gmp/tests/bug659967.phpt
@@ -0,0 +1,15 @@
+--TEST--
+Bug #65997: Leak when using gc_collect_cycles with new GMP implementation
+--SKIPIF--
+<?php if (!extension_loaded("gmp")) print "skip"; ?>
+--FILE--
+<?php
+
+gc_enable();
+$gmp = gmp_init('10');
+gc_collect_cycles();
+
+?>
+===DONE===
+--EXPECT--
+===DONE===
diff --git a/ext/gmp/tests/serialize.phpt b/ext/gmp/tests/serialize.phpt
index 26716b659c..208e0e9800 100644
--- a/ext/gmp/tests/serialize.phpt
+++ b/ext/gmp/tests/serialize.phpt
@@ -9,14 +9,34 @@ var_dump($n = gmp_init(42));
var_dump($s = serialize($n));
var_dump(unserialize($s));
+$n = gmp_init(13);
+$n->foo = "bar";
+var_dump(unserialize(serialize($n)));
+
+try {
+ unserialize('C:3:"GMP":0:{}');
+} catch (Exception $e) { var_dump($e->getMessage()); }
+
+try {
+ unserialize('C:3:"GMP":8:{s:2:"42"}');
+} catch (Exception $e) { var_dump($e->getMessage()); }
+
?>
--EXPECTF--
object(GMP)#%d (1) {
["num"]=>
string(2) "42"
}
-string(33) "O:3:"GMP":1:{s:3:"num";s:2:"42";}"
+string(30) "C:3:"GMP":15:{s:2:"42";a:0:{}}"
object(GMP)#%d (1) {
["num"]=>
string(2) "42"
}
+object(GMP)#%d (2) {
+ ["foo"]=>
+ string(3) "bar"
+ ["num"]=>
+ string(2) "13"
+}
+string(28) "Could not unserialize number"
+string(32) "Could not unserialize properties"
diff --git a/ext/odbc/php_odbc_includes.h b/ext/odbc/php_odbc_includes.h
index ca237c0537..c00583b16a 100644
--- a/ext/odbc/php_odbc_includes.h
+++ b/ext/odbc/php_odbc_includes.h
@@ -232,7 +232,7 @@ typedef struct odbc_connection {
} odbc_connection;
typedef struct odbc_result_value {
- char name[32];
+ char name[256];
char *value;
SQLLEN vallen;
SQLLEN coltype;
diff --git a/ext/opcache/README b/ext/opcache/README
index 46521587fa..2e30d92c00 100644
--- a/ext/opcache/README
+++ b/ext/opcache/README
@@ -80,8 +80,8 @@ opcache.max_accelerated_files (default "2000")
The maximum number of keys (scripts) in the OPcache hash table.
The number is actually the first one in the following set of prime
numbers that is bigger than the one supplied: { 223, 463, 983, 1979, 3907,
- 7963, 16229, 32531, 65407, 130987 }. Only numbers between 200 and 100000
- are allowed.
+ 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793 }. Only numbers
+ between 200 and 1000000 are allowed.
opcache.max_wasted_percentage (default "5")
The maximum percentage of "wasted" memory until a restart is scheduled.
diff --git a/ext/opcache/zend_accelerator_module.c b/ext/opcache/zend_accelerator_module.c
index dedb7215c1..0914fb68dd 100644
--- a/ext/opcache/zend_accelerator_module.c
+++ b/ext/opcache/zend_accelerator_module.c
@@ -34,7 +34,7 @@
#define STRING_NOT_NULL(s) (NULL == (s)?"":s)
#define MIN_ACCEL_FILES 200
-#define MAX_ACCEL_FILES 100000
+#define MAX_ACCEL_FILES 1000000
#define TOKENTOSTR(X) #X
static void (*orig_file_exists)(INTERNAL_FUNCTION_PARAMETERS) = NULL;
diff --git a/ext/standard/array.c b/ext/standard/array.c
index ae6e5d266f..17be59d6ca 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -127,6 +127,9 @@ PHP_MINIT_FUNCTION(array) /* {{{ */
REGISTER_LONG_CONSTANT("COUNT_NORMAL", COUNT_NORMAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("COUNT_RECURSIVE", COUNT_RECURSIVE, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_BOTH", ARRAY_FILTER_USE_BOTH, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_KEY", ARRAY_FILTER_USE_KEY, CONST_CS | CONST_PERSISTENT);
+
return SUCCESS;
}
/* }}} */
@@ -2223,13 +2226,14 @@ PHPAPI int php_array_merge(HashTable *dest, HashTable *src, int recursive TSRMLS
case HASH_KEY_IS_STRING:
if (recursive && zend_hash_find(dest, string_key, string_key_len, (void **)&dest_entry) == SUCCESS) {
HashTable *thash = Z_TYPE_PP(dest_entry) == IS_ARRAY ? Z_ARRVAL_PP(dest_entry) : NULL;
+ zval *src_zval;
+ zval *tmp = NULL;
if ((thash && thash->nApplyCount > 1) || (*src_entry == *dest_entry && Z_ISREF_PP(dest_entry) && (Z_REFCOUNT_PP(dest_entry) % 2))) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "recursion detected");
return 0;
}
SEPARATE_ZVAL(dest_entry);
- SEPARATE_ZVAL(src_entry);
if (Z_TYPE_PP(dest_entry) == IS_NULL) {
convert_to_array_ex(dest_entry);
@@ -2237,23 +2241,34 @@ PHPAPI int php_array_merge(HashTable *dest, HashTable *src, int recursive TSRMLS
} else {
convert_to_array_ex(dest_entry);
}
- if (Z_TYPE_PP(src_entry) == IS_NULL) {
- convert_to_array_ex(src_entry);
- add_next_index_null(*src_entry);
+ if (Z_TYPE_PP(src_entry) == IS_OBJECT) {
+ ALLOC_ZVAL(src_zval);
+ INIT_PZVAL_COPY(src_zval, *src_entry);
+ zval_copy_ctor(src_zval);
+ convert_to_array(src_zval);
+ tmp = src_zval;
} else {
- convert_to_array_ex(src_entry);
- }
- if (thash) {
- thash->nApplyCount++;
+ src_zval = *src_entry;
}
- if (!php_array_merge(Z_ARRVAL_PP(dest_entry), Z_ARRVAL_PP(src_entry), recursive TSRMLS_CC)) {
+ if (Z_TYPE_P(src_zval) == IS_ARRAY) {
+ if (thash) {
+ thash->nApplyCount++;
+ }
+ if (!php_array_merge(Z_ARRVAL_PP(dest_entry), Z_ARRVAL_P(src_zval), recursive TSRMLS_CC)) {
+ if (thash) {
+ thash->nApplyCount--;
+ }
+ return 0;
+ }
if (thash) {
thash->nApplyCount--;
}
- return 0;
+ } else {
+ Z_ADDREF_PP(src_entry);
+ zend_hash_next_index_insert(Z_ARRVAL_PP(dest_entry), &src_zval, sizeof(zval *), NULL);
}
- if (thash) {
- thash->nApplyCount--;
+ if (tmp) {
+ zval_ptr_dtor(&tmp);
}
} else {
Z_ADDREF_PP(src_entry);
@@ -2357,7 +2372,6 @@ static void php_array_merge_or_replace_wrapper(INTERNAL_FUNCTION_PARAMETERS, int
array_init_size(return_value, init_size);
for (i = 0; i < argc; i++) {
- SEPARATE_ZVAL(args[i]);
if (!replace) {
php_array_merge(Z_ARRVAL_P(return_value), Z_ARRVAL_PP(args[i]), recursive TSRMLS_CC);
} else if (recursive && i > 0) { /* First array will be copied directly instead */
@@ -4194,9 +4208,11 @@ PHP_FUNCTION(array_filter)
{
zval *array;
zval **operand;
- zval **args[1];
+ zval **args[2];
zval *retval = NULL;
+ zval *key = NULL;
zend_bool have_callback = 0;
+ long use_type = 0;
char *string_key;
zend_fcall_info fci = empty_fcall_info;
zend_fcall_info_cache fci_cache = empty_fcall_info_cache;
@@ -4204,7 +4220,7 @@ PHP_FUNCTION(array_filter)
ulong num_key;
HashPosition pos;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|f", &array, &fci, &fci_cache) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|fl", &array, &fci, &fci_cache, &use_type) == FAILURE) {
return;
}
@@ -4217,23 +4233,54 @@ PHP_FUNCTION(array_filter)
have_callback = 1;
fci.no_separation = 0;
fci.retval_ptr_ptr = &retval;
- fci.param_count = 1;
+
+ if (use_type == ARRAY_FILTER_USE_BOTH) {
+ fci.param_count = 2;
+ args[1] = &key;
+ } else {
+ fci.param_count = 1;
+ if (use_type == ARRAY_FILTER_USE_KEY) {
+ args[0] = &key;
+ }
+ }
}
for (zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(array), &pos);
zend_hash_get_current_data_ex(Z_ARRVAL_P(array), (void **)&operand, &pos) == SUCCESS;
zend_hash_move_forward_ex(Z_ARRVAL_P(array), &pos)
) {
+ int key_type = zend_hash_get_current_key_ex(Z_ARRVAL_P(array), &string_key, &string_key_len, &num_key, 0, &pos);
+
if (have_callback) {
- args[0] = operand;
+ if (use_type) {
+ MAKE_STD_ZVAL(key);
+ /* Set up the key */
+ switch (key_type) {
+ case HASH_KEY_IS_LONG:
+ Z_TYPE_P(key) = IS_LONG;
+ Z_LVAL_P(key) = num_key;
+ break;
+
+ case HASH_KEY_IS_STRING:
+ ZVAL_STRINGL(key, string_key, string_key_len - 1, 1);
+ break;
+ }
+ }
+
+ if (use_type != ARRAY_FILTER_USE_KEY) {
+ args[0] = operand;
+ }
fci.params = args;
if (zend_call_function(&fci, &fci_cache TSRMLS_CC) == SUCCESS && retval) {
- if (!zend_is_true(retval)) {
- zval_ptr_dtor(&retval);
+ int retval_true = zend_is_true(retval);
+
+ zval_ptr_dtor(&retval);
+ if (use_type) {
+ zval_ptr_dtor(&key);
+ }
+ if (!retval_true) {
continue;
- } else {
- zval_ptr_dtor(&retval);
}
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "An error occurred while invoking the filter callback");
@@ -4244,7 +4291,7 @@ PHP_FUNCTION(array_filter)
}
zval_add_ref(operand);
- switch (zend_hash_get_current_key_ex(Z_ARRVAL_P(array), &string_key, &string_key_len, &num_key, 0, &pos)) {
+ switch (key_type) {
case HASH_KEY_IS_STRING:
zend_hash_update(Z_ARRVAL_P(return_value), string_key, string_key_len, operand, sizeof(zval *), NULL);
break;
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 5ce0d3c126..cb1ada22e2 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -596,6 +596,7 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_array_filter, 0, 0, 1)
ZEND_ARG_INFO(0, arg) /* ARRAY_INFO(0, arg, 0) */
ZEND_ARG_INFO(0, callback)
+ ZEND_ARG_INFO(0, use_keys)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_array_map, 0, 0, 2)
diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c
index 113a5bd0f5..354c263afb 100644
--- a/ext/standard/crypt.c
+++ b/ext/standard/crypt.c
@@ -272,6 +272,8 @@ PHP_FUNCTION(crypt)
if (salt_in) {
memcpy(salt, salt_in, MIN(PHP_MAX_SALT_LEN, salt_in_len));
+ } else {
+ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "No salt parameter was specified. You must use a randomly generated salt and a strong hash function to produce a secure hash.");
}
/* The automatic salt generation covers standard DES, md5-crypt and Blowfish (simple) */
diff --git a/ext/standard/php_array.h b/ext/standard/php_array.h
index 1cf2779071..ef43cddfcc 100644
--- a/ext/standard/php_array.h
+++ b/ext/standard/php_array.h
@@ -117,6 +117,9 @@ PHPAPI int php_multisort_compare(const void *a, const void *b TSRMLS_DC);
#define PHP_SORT_NATURAL 6
#define PHP_SORT_FLAG_CASE 8
+#define ARRAY_FILTER_USE_BOTH 1
+#define ARRAY_FILTER_USE_KEY 2
+
ZEND_BEGIN_MODULE_GLOBALS(array)
int *multisort_flags[2];
int (*compare_func)(zval *result, zval *op1, zval *op2 TSRMLS_DC);
diff --git a/ext/standard/tests/array/array_filter_error.phpt b/ext/standard/tests/array/array_filter_error.phpt
index 20e89aa4b7..3f8f51bc14 100644
--- a/ext/standard/tests/array/array_filter_error.phpt
+++ b/ext/standard/tests/array/array_filter_error.phpt
@@ -28,7 +28,7 @@ $extra_arg = 10;
// with one more than the expected number of arguments
echo "-- Testing array_filter() function with more than expected no. of arguments --";
-var_dump( array_filter($input, "odd", $extra_arg) );
+var_dump( array_filter($input, "odd", $extra_arg, $extra_arg) );
// with incorrect callback function
echo "-- Testing array_filter() function with incorrect callback --";
@@ -42,7 +42,7 @@ echo "Done"
Warning: array_filter() expects at least 1 parameter, 0 given in %s on line %d
NULL
-- Testing array_filter() function with more than expected no. of arguments --
-Warning: array_filter() expects at most 2 parameters, 3 given in %s on line %d
+Warning: array_filter() expects at most 3 parameters, 4 given in %s on line %d
NULL
-- Testing array_filter() function with incorrect callback --
Warning: array_filter() expects parameter 2 to be a valid callback, function 'even' not found or invalid function name in %s on line %d
diff --git a/ext/standard/tests/array/array_filter_variation10.phpt b/ext/standard/tests/array/array_filter_variation10.phpt
new file mode 100644
index 0000000000..f0a6115f79
--- /dev/null
+++ b/ext/standard/tests/array/array_filter_variation10.phpt
@@ -0,0 +1,103 @@
+--TEST--
+Test array_filter() function : usage variations - using the array keys inside 'callback'
+--FILE--
+<?php
+/* Prototype : array array_filter(array $input [, callback $callback [, bool $use_type = ARRAY_FILTER_USE_VALUE]])
+ * Description: Filters elements from the array via the callback.
+ * Source code: ext/standard/array.c
+*/
+
+/*
+* Using array keys as an argument to the 'callback'
+*/
+
+echo "*** Testing array_filter() : usage variations - using array keys in 'callback' ***\n";
+
+$input = array(0, 1, -1, 10, 100, 1000, 'Hello', null);
+$small = array(123);
+
+function dump($value, $key)
+{
+ echo "$key = $value\n";
+}
+
+var_dump( array_filter($input, 'dump', true) );
+
+echo "*** Testing array_filter() : usage variations - 'callback' filters based on key value ***\n";
+
+function dump2($value, $key)
+{
+ return $key > 4;
+}
+
+var_dump( array_filter($input, 'dump2', true) );
+
+echo "*** Testing array_filter() : usage variations - 'callback' expecting second argument ***\n";
+
+var_dump( array_filter($small, 'dump', false) );
+
+echo "*** Testing array_filter() with various use types ***\n";
+
+$mixed = array(1 => 'a', 2 => 'b', 'a' => 1, 'b' => 2);
+
+var_dump(array_filter($mixed, 'is_numeric', ARRAY_FILTER_USE_KEY));
+
+var_dump(array_filter($mixed, 'is_numeric', 0));
+
+var_dump(array_filter($mixed, 'is_numeric', ARRAY_FILTER_USE_BOTH));
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing array_filter() : usage variations - using array keys in 'callback' ***
+0 = 0
+1 = 1
+2 = -1
+3 = 10
+4 = 100
+5 = 1000
+6 = Hello
+7 =
+array(0) {
+}
+*** Testing array_filter() : usage variations - 'callback' filters based on key value ***
+array(3) {
+ [5]=>
+ int(1000)
+ [6]=>
+ string(5) "Hello"
+ [7]=>
+ NULL
+}
+*** Testing array_filter() : usage variations - 'callback' expecting second argument ***
+
+Warning: Missing argument 2 for dump() in %s on line %d
+
+Notice: Undefined variable: key in %s on line %d
+ = 123
+array(0) {
+}
+*** Testing array_filter() with various use types ***
+array(2) {
+ [1]=>
+ string(1) "a"
+ [2]=>
+ string(1) "b"
+}
+array(2) {
+ ["a"]=>
+ int(1)
+ ["b"]=>
+ int(2)
+}
+
+Warning: is_numeric() expects exactly 1 parameter, 2 given in %s on line 44
+
+Warning: is_numeric() expects exactly 1 parameter, 2 given in %s on line 44
+
+Warning: is_numeric() expects exactly 1 parameter, 2 given in %s on line 44
+
+Warning: is_numeric() expects exactly 1 parameter, 2 given in %s on line 44
+array(0) {
+}
+Done
diff --git a/ext/standard/tests/general_functions/var_export-locale.phpt b/ext/standard/tests/general_functions/var_export-locale.phpt
index 37142cf34c..3cbebe9c72 100644
--- a/ext/standard/tests/general_functions/var_export-locale.phpt
+++ b/ext/standard/tests/general_functions/var_export-locale.phpt
@@ -784,15 +784,15 @@ string(20) "array (
Iteration 13
array (
0 => 10.5,
- 1 => 5.6,
+ 1 => 5.5999999999999996,
)
array (
0 => 10.5,
- 1 => 5.6,
+ 1 => 5.5999999999999996,
)
-string(34) "array (
+string(49) "array (
0 => 10.5,
- 1 => 5.6,
+ 1 => 5.5999999999999996,
)"
diff --git a/ext/standard/tests/general_functions/var_export_basic3.phpt b/ext/standard/tests/general_functions/var_export_basic3.phpt
index 2997215910..9e27d90425 100644
--- a/ext/standard/tests/general_functions/var_export_basic3.phpt
+++ b/ext/standard/tests/general_functions/var_export_basic3.phpt
@@ -96,9 +96,9 @@ string(1) "0"
-- Iteration: -0.1 --
--0.1
--0.1
-string(4) "-0.1"
+-0.10000000000000001
+-0.10000000000000001
+string(20) "-0.10000000000000001"
-- Iteration: 10.0000000000000000005 --
@@ -120,9 +120,9 @@ string(6) "100000"
-- Iteration: 1e-5 --
-1.0E-5
-1.0E-5
-string(6) "1.0E-5"
+1.0000000000000001E-5
+1.0000000000000001E-5
+string(21) "1.0000000000000001E-5"
-- Iteration: 1e+5 --
@@ -144,9 +144,9 @@ string(6) "100000"
-- Iteration: 1E-5 --
-1.0E-5
-1.0E-5
-string(6) "1.0E-5"
+1.0000000000000001E-5
+1.0000000000000001E-5
+string(21) "1.0000000000000001E-5"
-- Iteration: .5e+7 --
@@ -156,20 +156,20 @@ string(7) "5000000"
-- Iteration: .6e-19 --
-6.0E-20
-6.0E-20
-string(7) "6.0E-20"
+6.0000000000000006E-20
+6.0000000000000006E-20
+string(22) "6.0000000000000006E-20"
-- Iteration: .05E+44 --
-5.0E+42
-5.0E+42
-string(7) "5.0E+42"
+5.0000000000000001E+42
+5.0000000000000001E+42
+string(22) "5.0000000000000001E+42"
-- Iteration: .0034E-30 --
-3.4E-33
-3.4E-33
-string(7) "3.4E-33"
+3.4000000000000001E-33
+3.4000000000000001E-33
+string(22) "3.4000000000000001E-33"
===DONE===
diff --git a/ext/standard/tests/general_functions/var_export_basic5.phpt b/ext/standard/tests/general_functions/var_export_basic5.phpt
index 96b3f54cc9..1512fa8377 100644
--- a/ext/standard/tests/general_functions/var_export_basic5.phpt
+++ b/ext/standard/tests/general_functions/var_export_basic5.phpt
@@ -233,15 +233,15 @@ string(20) "array (
--Iteration: array(10.5, 5.6) --
array (
0 => 10.5,
- 1 => 5.6,
+ 1 => 5.5999999999999996,
)
array (
0 => 10.5,
- 1 => 5.6,
+ 1 => 5.5999999999999996,
)
-string(34) "array (
+string(49) "array (
0 => 10.5,
- 1 => 5.6,
+ 1 => 5.5999999999999996,
)"
@@ -274,4 +274,4 @@ string(41) "array (
1 => 'test',
)"
-===DONE=== \ No newline at end of file
+===DONE===
diff --git a/ext/standard/tests/strings/crypt.phpt b/ext/standard/tests/strings/crypt.phpt
index ce178f684e..3dcff2eaf2 100644
--- a/ext/standard/tests/strings/crypt.phpt
+++ b/ext/standard/tests/strings/crypt.phpt
@@ -34,6 +34,8 @@ STD
EXT
MD5
BLO
+
+Notice: crypt(): No salt parameter was specified. You must use a randomly generated salt and a strong hash function to produce a secure hash. in %s on line %d
string(%d) "%s"
Warning: crypt() expects at least 1 parameter, 0 given in %s on line %d
diff --git a/ext/standard/var.c b/ext/standard/var.c
index 08d43997f7..a7ece7fb5c 100644
--- a/ext/standard/var.c
+++ b/ext/standard/var.c
@@ -436,7 +436,7 @@ PHPAPI void php_var_export_ex(zval **struc, int level, smart_str *buf TSRMLS_DC)
smart_str_append_long(buf, Z_LVAL_PP(struc));
break;
case IS_DOUBLE:
- tmp_len = spprintf(&tmp_str, 0,"%.*H", (int) EG(precision), Z_DVAL_PP(struc));
+ tmp_len = spprintf(&tmp_str, 0,"%.*H", PG(serialize_precision), Z_DVAL_PP(struc));
smart_str_appendl(buf, tmp_str, tmp_len);
efree(tmp_str);
break;
diff --git a/ext/zip/LICENSE_libzip b/ext/zip/LICENSE_libzip
new file mode 100644
index 0000000000..9b2fda07b1
--- /dev/null
+++ b/ext/zip/LICENSE_libzip
@@ -0,0 +1,27 @@
+Copyright (C) 1999-2008 Dieter Baron and Thomas Klausner
+The authors can be contacted at <libzip@nih.at>
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+3. The names of the authors may not be used to endorse or promote
+ products derived from this software without specific prior
+ written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.