#include "timezones.h" #include "lwip/arch.h" #include constexpr timezone_t timezones[] = { // AFRICA/ABIDJAN - GMT {"AFRICA/ABIDJAN", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/ACCRA - GMT {"AFRICA/ACCRA", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/ADDIS_ABABA - EAT {"AFRICA/ADDIS_ABABA", "EAT", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/ALGIERS - CET {"AFRICA/ALGIERS", "CET", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/ASMARA - EAT {"AFRICA/ASMARA", "EAT", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/BAMAKO - GMT {"AFRICA/BAMAKO", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/BANGUI - WAT {"AFRICA/BANGUI", "WAT", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/BANJUL - GMT {"AFRICA/BANJUL", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/BISSAU - GMT {"AFRICA/BISSAU", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/BLANTYRE - CAT {"AFRICA/BLANTYRE", "CAT", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/BRAZZAVILLE - WAT {"AFRICA/BRAZZAVILLE", "WAT", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/BUJUMBURA - CAT {"AFRICA/BUJUMBURA", "CAT", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/CAIRO - EET/EEST {"AFRICA/CAIRO", "EET", "EEST", 2, 0, 3, 0, 4, 5, 5, 0, 0, 10, 5, 4, 24, 0, 1, 0}, // AFRICA/CASABLANCA - +01 {"AFRICA/CASABLANCA", "+01", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/CEUTA - CET/CEST {"AFRICA/CEUTA", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // AFRICA/CONAKRY - GMT {"AFRICA/CONAKRY", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/DAKAR - GMT {"AFRICA/DAKAR", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/DAR_ES_SALAAM - EAT {"AFRICA/DAR_ES_SALAAM", "EAT", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/DJIBOUTI - EAT {"AFRICA/DJIBOUTI", "EAT", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/DOUALA - WAT {"AFRICA/DOUALA", "WAT", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/EL_AAIUN - +01 {"AFRICA/EL_AAIUN", "+01", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/FREETOWN - GMT {"AFRICA/FREETOWN", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/GABORONE - CAT {"AFRICA/GABORONE", "CAT", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/HARARE - CAT {"AFRICA/HARARE", "CAT", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/JOHANNESBURG - SAST {"AFRICA/JOHANNESBURG", "SAST", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/JUBA - CAT {"AFRICA/JUBA", "CAT", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/KAMPALA - EAT {"AFRICA/KAMPALA", "EAT", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/KHARTOUM - CAT {"AFRICA/KHARTOUM", "CAT", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/KIGALI - CAT {"AFRICA/KIGALI", "CAT", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/KINSHASA - WAT {"AFRICA/KINSHASA", "WAT", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/LAGOS - WAT {"AFRICA/LAGOS", "WAT", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/LIBREVILLE - WAT {"AFRICA/LIBREVILLE", "WAT", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/LOME - GMT {"AFRICA/LOME", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/LUANDA - WAT {"AFRICA/LUANDA", "WAT", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/LUBUMBASHI - CAT {"AFRICA/LUBUMBASHI", "CAT", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/LUSAKA - CAT {"AFRICA/LUSAKA", "CAT", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/MALABO - WAT {"AFRICA/MALABO", "WAT", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/MAPUTO - CAT {"AFRICA/MAPUTO", "CAT", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/MASERU - SAST {"AFRICA/MASERU", "SAST", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/MBABANE - SAST {"AFRICA/MBABANE", "SAST", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/MOGADISHU - EAT {"AFRICA/MOGADISHU", "EAT", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/MONROVIA - GMT {"AFRICA/MONROVIA", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/NAIROBI - EAT {"AFRICA/NAIROBI", "EAT", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/NDJAMENA - WAT {"AFRICA/NDJAMENA", "WAT", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/NIAMEY - WAT {"AFRICA/NIAMEY", "WAT", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/NOUAKCHOTT - GMT {"AFRICA/NOUAKCHOTT", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/OUAGADOUGOU - GMT {"AFRICA/OUAGADOUGOU", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/PORTO-NOVO - WAT {"AFRICA/PORTO-NOVO", "WAT", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/SAO_TOME - GMT {"AFRICA/SAO_TOME", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/TRIPOLI - EET {"AFRICA/TRIPOLI", "EET", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/TUNIS - CET {"AFRICA/TUNIS", "CET", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AFRICA/WINDHOEK - CAT {"AFRICA/WINDHOEK", "CAT", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ADAK - HST/HDT {"AMERICA/ADAK", "HST", "HDT", -10, 0, -9, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/ANCHORAGE - AKST/AKDT {"AMERICA/ANCHORAGE", "AKST", "AKDT", -9, 0, -8, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/ANGUILLA - AST {"AMERICA/ANGUILLA", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ANTIGUA - AST {"AMERICA/ANTIGUA", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARAGUAINA - -03 {"AMERICA/ARAGUAINA", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/BUENOS_AIRES - -03 {"AMERICA/ARGENTINA/BUENOS_AIRES", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/CATAMARCA - -03 {"AMERICA/ARGENTINA/CATAMARCA", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/CORDOBA - -03 {"AMERICA/ARGENTINA/CORDOBA", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/JUJUY - -03 {"AMERICA/ARGENTINA/JUJUY", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/LA_RIOJA - -03 {"AMERICA/ARGENTINA/LA_RIOJA", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/MENDOZA - -03 {"AMERICA/ARGENTINA/MENDOZA", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/RIO_GALLEGOS - -03 {"AMERICA/ARGENTINA/RIO_GALLEGOS", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/SALTA - -03 {"AMERICA/ARGENTINA/SALTA", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/SAN_JUAN - -03 {"AMERICA/ARGENTINA/SAN_JUAN", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/SAN_LUIS - -03 {"AMERICA/ARGENTINA/SAN_LUIS", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/TUCUMAN - -03 {"AMERICA/ARGENTINA/TUCUMAN", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARGENTINA/USHUAIA - -03 {"AMERICA/ARGENTINA/USHUAIA", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ARUBA - AST {"AMERICA/ARUBA", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ASUNCION - -03 {"AMERICA/ASUNCION", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ATIKOKAN - EST {"AMERICA/ATIKOKAN", "EST", "", -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/BAHIA - -03 {"AMERICA/BAHIA", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/BAHIA_BANDERAS - CST {"AMERICA/BAHIA_BANDERAS", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/BARBADOS - AST {"AMERICA/BARBADOS", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/BELEM - -03 {"AMERICA/BELEM", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/BELIZE - CST {"AMERICA/BELIZE", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/BLANC-SABLON - AST {"AMERICA/BLANC-SABLON", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/BOA_VISTA - -04 {"AMERICA/BOA_VISTA", "-04", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/BOGOTA - -05 {"AMERICA/BOGOTA", "-05", "", -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/BOISE - MST/MDT {"AMERICA/BOISE", "MST", "MDT", -7, 0, -6, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/CAMBRIDGE_BAY - MST/MDT {"AMERICA/CAMBRIDGE_BAY", "MST", "MDT", -7, 0, -6, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/CAMPO_GRANDE - -04 {"AMERICA/CAMPO_GRANDE", "-04", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/CANCUN - EST {"AMERICA/CANCUN", "EST", "", -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/CARACAS - -04 {"AMERICA/CARACAS", "-04", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/CAYENNE - -03 {"AMERICA/CAYENNE", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/CAYMAN - EST {"AMERICA/CAYMAN", "EST", "", -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/CHICAGO - CST/CDT {"AMERICA/CHICAGO", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/CHIHUAHUA - CST {"AMERICA/CHIHUAHUA", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/COSTA_RICA - CST {"AMERICA/COSTA_RICA", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/CRESTON - MST {"AMERICA/CRESTON", "MST", "", -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/CUIABA - -04 {"AMERICA/CUIABA", "-04", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/CURACAO - AST {"AMERICA/CURACAO", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/DANMARKSHAVN - GMT {"AMERICA/DANMARKSHAVN", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/DAWSON - MST {"AMERICA/DAWSON", "MST", "", -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/DAWSON_CREEK - MST {"AMERICA/DAWSON_CREEK", "MST", "", -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/DENVER - MST/MDT {"AMERICA/DENVER", "MST", "MDT", -7, 0, -6, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/DETROIT - EST/EDT {"AMERICA/DETROIT", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/DOMINICA - AST {"AMERICA/DOMINICA", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/EDMONTON - MST/MDT {"AMERICA/EDMONTON", "MST", "MDT", -7, 0, -6, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/EIRUNEPE - -05 {"AMERICA/EIRUNEPE", "-05", "", -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/EL_SALVADOR - CST {"AMERICA/EL_SALVADOR", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/FORTALEZA - -03 {"AMERICA/FORTALEZA", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/FORT_NELSON - MST {"AMERICA/FORT_NELSON", "MST", "", -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/GLACE_BAY - AST/ADT {"AMERICA/GLACE_BAY", "AST", "ADT", -4, 0, -3, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/GODTHAB - -02/-01 {"AMERICA/GODTHAB", "-02", "-01", -2, 0, -1, 0, 3, 5, 0, -1, 0, 10, 5, 0, 0, 0, 1, 0}, // AMERICA/GOOSE_BAY - AST/ADT {"AMERICA/GOOSE_BAY", "AST", "ADT", -4, 0, -3, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/GRAND_TURK - EST/EDT {"AMERICA/GRAND_TURK", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/GRENADA - AST {"AMERICA/GRENADA", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/GUADELOUPE - AST {"AMERICA/GUADELOUPE", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/GUATEMALA - CST {"AMERICA/GUATEMALA", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/GUAYAQUIL - -05 {"AMERICA/GUAYAQUIL", "-05", "", -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/GUYANA - -04 {"AMERICA/GUYANA", "-04", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/HALIFAX - AST/ADT {"AMERICA/HALIFAX", "AST", "ADT", -4, 0, -3, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/HAVANA - CST/CDT {"AMERICA/HAVANA", "CST", "CDT", -5, 0, -4, 0, 3, 2, 0, 0, 0, 11, 1, 0, 1, 0, 1, 0}, // AMERICA/HERMOSILLO - MST {"AMERICA/HERMOSILLO", "MST", "", -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/INDIANA/INDIANAPOLIS - EST/EDT {"AMERICA/INDIANA/INDIANAPOLIS", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/INDIANA/KNOX - CST/CDT {"AMERICA/INDIANA/KNOX", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/INDIANA/MARENGO - EST/EDT {"AMERICA/INDIANA/MARENGO", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/INDIANA/PETERSBURG - EST/EDT {"AMERICA/INDIANA/PETERSBURG", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/INDIANA/TELL_CITY - CST/CDT {"AMERICA/INDIANA/TELL_CITY", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/INDIANA/VEVAY - EST/EDT {"AMERICA/INDIANA/VEVAY", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/INDIANA/VINCENNES - EST/EDT {"AMERICA/INDIANA/VINCENNES", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/INDIANA/WINAMAC - EST/EDT {"AMERICA/INDIANA/WINAMAC", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/INUVIK - MST/MDT {"AMERICA/INUVIK", "MST", "MDT", -7, 0, -6, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/IQALUIT - EST/EDT {"AMERICA/IQALUIT", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/JAMAICA - EST {"AMERICA/JAMAICA", "EST", "", -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/JUNEAU - AKST/AKDT {"AMERICA/JUNEAU", "AKST", "AKDT", -9, 0, -8, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/KENTUCKY/LOUISVILLE - EST/EDT {"AMERICA/KENTUCKY/LOUISVILLE", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/KENTUCKY/MONTICELLO - EST/EDT {"AMERICA/KENTUCKY/MONTICELLO", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/KRALENDIJK - AST {"AMERICA/KRALENDIJK", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/LA_PAZ - -04 {"AMERICA/LA_PAZ", "-04", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/LIMA - -05 {"AMERICA/LIMA", "-05", "", -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/LOS_ANGELES - PST/PDT {"AMERICA/LOS_ANGELES", "PST", "PDT", -8, 0, -7, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/LOWER_PRINCES - AST {"AMERICA/LOWER_PRINCES", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/MACEIO - -03 {"AMERICA/MACEIO", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/MANAGUA - CST {"AMERICA/MANAGUA", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/MANAUS - -04 {"AMERICA/MANAUS", "-04", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/MARIGOT - AST {"AMERICA/MARIGOT", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/MARTINIQUE - AST {"AMERICA/MARTINIQUE", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/MATAMOROS - CST/CDT {"AMERICA/MATAMOROS", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/MAZATLAN - MST {"AMERICA/MAZATLAN", "MST", "", -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/MENOMINEE - CST/CDT {"AMERICA/MENOMINEE", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/MERIDA - CST {"AMERICA/MERIDA", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/METLAKATLA - AKST/AKDT {"AMERICA/METLAKATLA", "AKST", "AKDT", -9, 0, -8, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/MEXICO_CITY - CST {"AMERICA/MEXICO_CITY", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/MIQUELON - -03/-02 {"AMERICA/MIQUELON", "-03", "-02", -3, 0, -2, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/MONCTON - AST/ADT {"AMERICA/MONCTON", "AST", "ADT", -4, 0, -3, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/MONTERREY - CST {"AMERICA/MONTERREY", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/MONTEVIDEO - -03 {"AMERICA/MONTEVIDEO", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/MONTREAL - EST/EDT {"AMERICA/MONTREAL", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/MONTSERRAT - AST {"AMERICA/MONTSERRAT", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/NASSAU - EST/EDT {"AMERICA/NASSAU", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/NEW_YORK - EST/EDT {"AMERICA/NEW_YORK", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/NIPIGON - EST/EDT {"AMERICA/NIPIGON", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/NOME - AKST/AKDT {"AMERICA/NOME", "AKST", "AKDT", -9, 0, -8, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/NORONHA - -02 {"AMERICA/NORONHA", "-02", "", -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/NORTH_DAKOTA/BEULAH - CST/CDT {"AMERICA/NORTH_DAKOTA/BEULAH", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/NORTH_DAKOTA/CENTER - CST/CDT {"AMERICA/NORTH_DAKOTA/CENTER", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/NORTH_DAKOTA/NEW_SALEM - CST/CDT {"AMERICA/NORTH_DAKOTA/NEW_SALEM", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/NUUK - -02/-01 {"AMERICA/NUUK", "-02", "-01", -2, 0, -1, 0, 3, 5, 0, -1, 0, 10, 5, 0, 0, 0, 1, 0}, // AMERICA/OJINAGA - CST/CDT {"AMERICA/OJINAGA", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/PANAMA - EST {"AMERICA/PANAMA", "EST", "", -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/PANGNIRTUNG - EST/EDT {"AMERICA/PANGNIRTUNG", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/PARAMARIBO - -03 {"AMERICA/PARAMARIBO", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/PHOENIX - MST {"AMERICA/PHOENIX", "MST", "", -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/PORT-AU-PRINCE - EST/EDT {"AMERICA/PORT-AU-PRINCE", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/PORT_OF_SPAIN - AST {"AMERICA/PORT_OF_SPAIN", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/PORTO_VELHO - -04 {"AMERICA/PORTO_VELHO", "-04", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/PUERTO_RICO - AST {"AMERICA/PUERTO_RICO", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/PUNTA_ARENAS - -03 {"AMERICA/PUNTA_ARENAS", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/RAINY_RIVER - CST/CDT {"AMERICA/RAINY_RIVER", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/RANKIN_INLET - CST/CDT {"AMERICA/RANKIN_INLET", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/RECIFE - -03 {"AMERICA/RECIFE", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/REGINA - CST {"AMERICA/REGINA", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/RESOLUTE - CST/CDT {"AMERICA/RESOLUTE", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/RIO_BRANCO - -05 {"AMERICA/RIO_BRANCO", "-05", "", -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/SANTAREM - -03 {"AMERICA/SANTAREM", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/SANTIAGO - -04/-03 {"AMERICA/SANTIAGO", "-04", "-03", -4, 0, -3, 0, 9, 1, 6, 24, 0, 4, 1, 6, 24, 0, 1, 0}, // AMERICA/SANTO_DOMINGO - AST {"AMERICA/SANTO_DOMINGO", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/SAO_PAULO - -03 {"AMERICA/SAO_PAULO", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/SCORESBYSUND - -02/-01 {"AMERICA/SCORESBYSUND", "-02", "-01", -2, 0, -1, 0, 3, 5, 0, -1, 0, 10, 5, 0, 0, 0, 1, 0}, // AMERICA/SITKA - AKST/AKDT {"AMERICA/SITKA", "AKST", "AKDT", -9, 0, -8, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/ST_BARTHELEMY - AST {"AMERICA/ST_BARTHELEMY", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ST_JOHNS - NST/NDT {"AMERICA/ST_JOHNS", "NST", "NDT", -3, 30, -2, 30, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/ST_KITTS - AST {"AMERICA/ST_KITTS", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ST_LUCIA - AST {"AMERICA/ST_LUCIA", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ST_THOMAS - AST {"AMERICA/ST_THOMAS", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/ST_VINCENT - AST {"AMERICA/ST_VINCENT", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/SWIFT_CURRENT - CST {"AMERICA/SWIFT_CURRENT", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/TEGUCIGALPA - CST {"AMERICA/TEGUCIGALPA", "CST", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/THULE - AST/ADT {"AMERICA/THULE", "AST", "ADT", -4, 0, -3, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/THUNDER_BAY - EST/EDT {"AMERICA/THUNDER_BAY", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/TIJUANA - PST/PDT {"AMERICA/TIJUANA", "PST", "PDT", -8, 0, -7, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/TORONTO - EST/EDT {"AMERICA/TORONTO", "EST", "EDT", -5, 0, -4, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/TORTOLA - AST {"AMERICA/TORTOLA", "AST", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/VANCOUVER - PST/PDT {"AMERICA/VANCOUVER", "PST", "PDT", -8, 0, -7, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/WHITEHORSE - MST {"AMERICA/WHITEHORSE", "MST", "", -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AMERICA/WINNIPEG - CST/CDT {"AMERICA/WINNIPEG", "CST", "CDT", -6, 0, -5, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/YAKUTAT - AKST/AKDT {"AMERICA/YAKUTAT", "AKST", "AKDT", -9, 0, -8, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // AMERICA/YELLOWKNIFE - MST/MDT {"AMERICA/YELLOWKNIFE", "MST", "MDT", -7, 0, -6, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // ANTARCTICA/CASEY - +08 {"ANTARCTICA/CASEY", "+08", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ANTARCTICA/DAVIS - +07 {"ANTARCTICA/DAVIS", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ANTARCTICA/DUMONTDURVILLE - +10 {"ANTARCTICA/DUMONTDURVILLE", "+10", "", 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ANTARCTICA/MACQUARIE - AEST/AEDT {"ANTARCTICA/MACQUARIE", "AEST", "AEDT", 10, 0, 11, 0, 10, 1, 0, 2, 0, 4, 1, 0, 3, 0, 1, 0}, // ANTARCTICA/MAWSON - +05 {"ANTARCTICA/MAWSON", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ANTARCTICA/MCMURDO - NZST/NZDT {"ANTARCTICA/MCMURDO", "NZST", "NZDT", 12, 0, 13, 0, 9, 5, 0, 2, 0, 4, 1, 0, 3, 0, 1, 0}, // ANTARCTICA/PALMER - -03 {"ANTARCTICA/PALMER", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ANTARCTICA/ROTHERA - -03 {"ANTARCTICA/ROTHERA", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ANTARCTICA/SYOWA - +03 {"ANTARCTICA/SYOWA", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ANTARCTICA/TROLL - +00/+02 {"ANTARCTICA/TROLL", "+00", "+02", 0, 0, 2, 0, 3, 5, 0, 1, 0, 10, 5, 0, 3, 0, 1, 0}, // ANTARCTICA/VOSTOK - +05 {"ANTARCTICA/VOSTOK", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ARCTIC/LONGYEARBYEN - CET/CEST {"ARCTIC/LONGYEARBYEN", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // ASIA/ADEN - +03 {"ASIA/ADEN", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/ALMATY - +05 {"ASIA/ALMATY", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/AMMAN - +03 {"ASIA/AMMAN", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/ANADYR - +12 {"ASIA/ANADYR", "+12", "", 12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/AQTAU - +05 {"ASIA/AQTAU", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/AQTOBE - +05 {"ASIA/AQTOBE", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/ASHGABAT - +05 {"ASIA/ASHGABAT", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/ATYRAU - +05 {"ASIA/ATYRAU", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/BAGHDAD - +03 {"ASIA/BAGHDAD", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/BAHRAIN - +03 {"ASIA/BAHRAIN", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/BAKU - +04 {"ASIA/BAKU", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/BANGKOK - +07 {"ASIA/BANGKOK", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/BARNAUL - +07 {"ASIA/BARNAUL", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/BEIRUT - EET/EEST {"ASIA/BEIRUT", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 0, 0, 10, 5, 0, 0, 0, 1, 0}, // ASIA/BISHKEK - +06 {"ASIA/BISHKEK", "+06", "", 6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/BRUNEI - +08 {"ASIA/BRUNEI", "+08", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/CHITA - +09 {"ASIA/CHITA", "+09", "", 9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/CHOIBALSAN - +08 {"ASIA/CHOIBALSAN", "+08", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/COLOMBO - +0530 {"ASIA/COLOMBO", "+0530", "", 5, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/DAMASCUS - +03 {"ASIA/DAMASCUS", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/DHAKA - +06 {"ASIA/DHAKA", "+06", "", 6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/DILI - +09 {"ASIA/DILI", "+09", "", 9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/DUBAI - +04 {"ASIA/DUBAI", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/DUSHANBE - +05 {"ASIA/DUSHANBE", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/FAMAGUSTA - EET/EEST {"ASIA/FAMAGUSTA", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // ASIA/GAZA - EET/EEST {"ASIA/GAZA", "EET", "EEST", 2, 0, 3, 0, 3, 4, 4, 50, 0, 10, 4, 4, 50, 0, 1, 0}, // ASIA/HEBRON - EET/EEST {"ASIA/HEBRON", "EET", "EEST", 2, 0, 3, 0, 3, 4, 4, 50, 0, 10, 4, 4, 50, 0, 1, 0}, // ASIA/HO_CHI_MINH - +07 {"ASIA/HO_CHI_MINH", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/HONG_KONG - HKT {"ASIA/HONG_KONG", "HKT", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/HOVD - +07 {"ASIA/HOVD", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/IRKUTSK - +08 {"ASIA/IRKUTSK", "+08", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/JAKARTA - WIB {"ASIA/JAKARTA", "WIB", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/JAYAPURA - WIT {"ASIA/JAYAPURA", "WIT", "", 9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/JERUSALEM - IST/IDT {"ASIA/JERUSALEM", "IST", "IDT", 2, 0, 3, 0, 3, 4, 4, 26, 0, 10, 5, 0, 2, 0, 1, 0}, // ASIA/KABUL - +0430 {"ASIA/KABUL", "+0430", "", 4, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/KAMCHATKA - +12 {"ASIA/KAMCHATKA", "+12", "", 12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/KARACHI - PKT {"ASIA/KARACHI", "PKT", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/KATHMANDU - +0545 {"ASIA/KATHMANDU", "+0545", "", 5, 45, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/KHANDYGA - +09 {"ASIA/KHANDYGA", "+09", "", 9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/KOLKATA - IST {"ASIA/KOLKATA", "IST", "", 5, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/KRASNOYARSK - +07 {"ASIA/KRASNOYARSK", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/KUALA_LUMPUR - +08 {"ASIA/KUALA_LUMPUR", "+08", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/KUCHING - +08 {"ASIA/KUCHING", "+08", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/KUWAIT - +03 {"ASIA/KUWAIT", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/MACAU - CST {"ASIA/MACAU", "CST", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/MAGADAN - +11 {"ASIA/MAGADAN", "+11", "", 11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/MAKASSAR - WITA {"ASIA/MAKASSAR", "WITA", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/MANILA - PST {"ASIA/MANILA", "PST", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/MUSCAT - +04 {"ASIA/MUSCAT", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/NICOSIA - EET/EEST {"ASIA/NICOSIA", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // ASIA/NOVOKUZNETSK - +07 {"ASIA/NOVOKUZNETSK", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/NOVOSIBIRSK - +07 {"ASIA/NOVOSIBIRSK", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/OMSK - +06 {"ASIA/OMSK", "+06", "", 6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/ORAL - +05 {"ASIA/ORAL", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/PHNOM_PENH - +07 {"ASIA/PHNOM_PENH", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/PONTIANAK - WIB {"ASIA/PONTIANAK", "WIB", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/PYONGYANG - KST {"ASIA/PYONGYANG", "KST", "", 9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/QATAR - +03 {"ASIA/QATAR", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/QYZYLORDA - +05 {"ASIA/QYZYLORDA", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/RIYADH - +03 {"ASIA/RIYADH", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/SAKHALIN - +11 {"ASIA/SAKHALIN", "+11", "", 11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/SAMARKAND - +05 {"ASIA/SAMARKAND", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/SEOUL - KST {"ASIA/SEOUL", "KST", "", 9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/SHANGHAI - CST {"ASIA/SHANGHAI", "CST", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/SINGAPORE - +08 {"ASIA/SINGAPORE", "+08", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/SREDNEKOLYMSK - +11 {"ASIA/SREDNEKOLYMSK", "+11", "", 11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/TAIPEI - CST {"ASIA/TAIPEI", "CST", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/TASHKENT - +05 {"ASIA/TASHKENT", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/TBILISI - +04 {"ASIA/TBILISI", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/TEHRAN - +0330 {"ASIA/TEHRAN", "+0330", "", 3, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/THIMPHU - +06 {"ASIA/THIMPHU", "+06", "", 6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/TOKYO - JST {"ASIA/TOKYO", "JST", "", 9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/TOMSK - +07 {"ASIA/TOMSK", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/ULAANBAATAR - +08 {"ASIA/ULAANBAATAR", "+08", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/URUMQI - +06 {"ASIA/URUMQI", "+06", "", 6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/UST-NERA - +10 {"ASIA/UST-NERA", "+10", "", 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/VIENTIANE - +07 {"ASIA/VIENTIANE", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/VLADIVOSTOK - +10 {"ASIA/VLADIVOSTOK", "+10", "", 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/YAKUTSK - +09 {"ASIA/YAKUTSK", "+09", "", 9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/YANGON - +0630 {"ASIA/YANGON", "+0630", "", 6, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/YEKATERINBURG - +05 {"ASIA/YEKATERINBURG", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ASIA/YEREVAN - +04 {"ASIA/YEREVAN", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ATLANTIC/AZORES - -01/+00 {"ATLANTIC/AZORES", "-01", "+00", -1, 0, 0, 0, 3, 5, 0, 0, 0, 10, 5, 0, 1, 0, 1, 0}, // ATLANTIC/BERMUDA - AST/ADT {"ATLANTIC/BERMUDA", "AST", "ADT", -4, 0, -3, 0, 3, 2, 0, 2, 0, 11, 1, 0, 2, 0, 1, 0}, // ATLANTIC/CANARY - WET/WEST {"ATLANTIC/CANARY", "WET", "WEST", 0, 0, 1, 0, 3, 5, 0, 1, 0, 10, 5, 0, 2, 0, 1, 0}, // ATLANTIC/CAPE_VERDE - -01 {"ATLANTIC/CAPE_VERDE", "-01", "", -1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ATLANTIC/FAROE - WET/WEST {"ATLANTIC/FAROE", "WET", "WEST", 0, 0, 1, 0, 3, 5, 0, 1, 0, 10, 5, 0, 2, 0, 1, 0}, // ATLANTIC/MADEIRA - WET/WEST {"ATLANTIC/MADEIRA", "WET", "WEST", 0, 0, 1, 0, 3, 5, 0, 1, 0, 10, 5, 0, 2, 0, 1, 0}, // ATLANTIC/REYKJAVIK - GMT {"ATLANTIC/REYKJAVIK", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ATLANTIC/SOUTH_GEORGIA - -02 {"ATLANTIC/SOUTH_GEORGIA", "-02", "", -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ATLANTIC/STANLEY - -03 {"ATLANTIC/STANLEY", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ATLANTIC/ST_HELENA - GMT {"ATLANTIC/ST_HELENA", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AUSTRALIA/ADELAIDE - ACST/ACDT {"AUSTRALIA/ADELAIDE", "ACST", "ACDT", 9, 30, 10, 30, 10, 1, 0, 2, 0, 4, 1, 0, 3, 0, 1, 0}, // AUSTRALIA/BRISBANE - AEST {"AUSTRALIA/BRISBANE", "AEST", "", 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AUSTRALIA/BROKEN_HILL - ACST/ACDT {"AUSTRALIA/BROKEN_HILL", "ACST", "ACDT", 9, 30, 10, 30, 10, 1, 0, 2, 0, 4, 1, 0, 3, 0, 1, 0}, // AUSTRALIA/CURRIE - AEST/AEDT {"AUSTRALIA/CURRIE", "AEST", "AEDT", 10, 0, 11, 0, 10, 1, 0, 2, 0, 4, 1, 0, 3, 0, 1, 0}, // AUSTRALIA/DARWIN - ACST {"AUSTRALIA/DARWIN", "ACST", "", 9, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AUSTRALIA/EUCLA - +0845 {"AUSTRALIA/EUCLA", "+0845", "", 8, 45, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AUSTRALIA/HOBART - AEST/AEDT {"AUSTRALIA/HOBART", "AEST", "AEDT", 10, 0, 11, 0, 10, 1, 0, 2, 0, 4, 1, 0, 3, 0, 1, 0}, // AUSTRALIA/LINDEMAN - AEST {"AUSTRALIA/LINDEMAN", "AEST", "", 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AUSTRALIA/LORD_HOWE - +1030/+11 {"AUSTRALIA/LORD_HOWE", "+1030", "+11", 10, 30, 11, 0, 10, 1, 0, 2, 0, 4, 1, 0, 2, 0, 1, 0}, // AUSTRALIA/MELBOURNE - AEST/AEDT {"AUSTRALIA/MELBOURNE", "AEST", "AEDT", 10, 0, 11, 0, 10, 1, 0, 2, 0, 4, 1, 0, 3, 0, 1, 0}, // AUSTRALIA/PERTH - AWST {"AUSTRALIA/PERTH", "AWST", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // AUSTRALIA/SYDNEY - AEST/AEDT {"AUSTRALIA/SYDNEY", "AEST", "AEDT", 10, 0, 11, 0, 10, 1, 0, 2, 0, 4, 1, 0, 3, 0, 1, 0}, // EUROPE/AMSTERDAM - CET/CEST {"EUROPE/AMSTERDAM", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/ANDORRA - CET/CEST {"EUROPE/ANDORRA", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/ASTRAKHAN - +04 {"EUROPE/ASTRAKHAN", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // EUROPE/ATHENS - EET/EEST {"EUROPE/ATHENS", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // EUROPE/BELGRADE - CET/CEST {"EUROPE/BELGRADE", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/BERLIN - CET/CEST {"EUROPE/BERLIN", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/BRATISLAVA - CET/CEST {"EUROPE/BRATISLAVA", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/BRUSSELS - CET/CEST {"EUROPE/BRUSSELS", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/BUCHAREST - EET/EEST {"EUROPE/BUCHAREST", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // EUROPE/BUDAPEST - CET/CEST {"EUROPE/BUDAPEST", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/BUSINGEN - CET/CEST {"EUROPE/BUSINGEN", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/CHISINAU - EET/EEST {"EUROPE/CHISINAU", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/COPENHAGEN - CET/CEST {"EUROPE/COPENHAGEN", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/DUBLIN - IST/GMT {"EUROPE/DUBLIN", "IST", "GMT", 1, 0, 0, 0, 10, 5, 0, 2, 0, 3, 5, 0, 1, 0, 1, 0}, // EUROPE/GIBRALTAR - CET/CEST {"EUROPE/GIBRALTAR", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/GUERNSEY - GMT/BST {"EUROPE/GUERNSEY", "GMT", "BST", 0, 0, 1, 0, 3, 5, 0, 1, 0, 10, 5, 0, 2, 0, 1, 0}, // EUROPE/HELSINKI - EET/EEST {"EUROPE/HELSINKI", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // EUROPE/ISLE_OF_MAN - GMT/BST {"EUROPE/ISLE_OF_MAN", "GMT", "BST", 0, 0, 1, 0, 3, 5, 0, 1, 0, 10, 5, 0, 2, 0, 1, 0}, // EUROPE/ISTANBUL - +03 {"EUROPE/ISTANBUL", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // EUROPE/JERSEY - GMT/BST {"EUROPE/JERSEY", "GMT", "BST", 0, 0, 1, 0, 3, 5, 0, 1, 0, 10, 5, 0, 2, 0, 1, 0}, // EUROPE/KALININGRAD - EET {"EUROPE/KALININGRAD", "EET", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // EUROPE/KIEV - EET/EEST {"EUROPE/KIEV", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // EUROPE/KIROV - MSK {"EUROPE/KIROV", "MSK", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // EUROPE/LISBON - WET/WEST {"EUROPE/LISBON", "WET", "WEST", 0, 0, 1, 0, 3, 5, 0, 1, 0, 10, 5, 0, 2, 0, 1, 0}, // EUROPE/LJUBLJANA - CET/CEST {"EUROPE/LJUBLJANA", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/LONDON - GMT/BST {"EUROPE/LONDON", "GMT", "BST", 0, 0, 1, 0, 3, 5, 0, 1, 0, 10, 5, 0, 2, 0, 1, 0}, // EUROPE/LUXEMBOURG - CET/CEST {"EUROPE/LUXEMBOURG", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/MADRID - CET/CEST {"EUROPE/MADRID", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/MALTA - CET/CEST {"EUROPE/MALTA", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/MARIEHAMN - EET/EEST {"EUROPE/MARIEHAMN", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // EUROPE/MINSK - +03 {"EUROPE/MINSK", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // EUROPE/MONACO - CET/CEST {"EUROPE/MONACO", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/MOSCOW - MSK {"EUROPE/MOSCOW", "MSK", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // EUROPE/OSLO - CET/CEST {"EUROPE/OSLO", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/PARIS - CET/CEST {"EUROPE/PARIS", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/PODGORICA - CET/CEST {"EUROPE/PODGORICA", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/PRAGUE - CET/CEST {"EUROPE/PRAGUE", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/RIGA - EET/EEST {"EUROPE/RIGA", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // EUROPE/ROME - CET/CEST {"EUROPE/ROME", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/SAMARA - +04 {"EUROPE/SAMARA", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // EUROPE/SAN_MARINO - CET/CEST {"EUROPE/SAN_MARINO", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/SARAJEVO - CET/CEST {"EUROPE/SARAJEVO", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/SARATOV - +04 {"EUROPE/SARATOV", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // EUROPE/SIMFEROPOL - MSK {"EUROPE/SIMFEROPOL", "MSK", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // EUROPE/SKOPJE - CET/CEST {"EUROPE/SKOPJE", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/SOFIA - EET/EEST {"EUROPE/SOFIA", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // EUROPE/STOCKHOLM - CET/CEST {"EUROPE/STOCKHOLM", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/TALLINN - EET/EEST {"EUROPE/TALLINN", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // EUROPE/TIRANE - CET/CEST {"EUROPE/TIRANE", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/ULYANOVSK - +04 {"EUROPE/ULYANOVSK", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // EUROPE/UZHGOROD - EET/EEST {"EUROPE/UZHGOROD", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // EUROPE/VADUZ - CET/CEST {"EUROPE/VADUZ", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/VATICAN - CET/CEST {"EUROPE/VATICAN", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/VIENNA - CET/CEST {"EUROPE/VIENNA", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/VILNIUS - EET/EEST {"EUROPE/VILNIUS", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // EUROPE/VOLGOGRAD - MSK {"EUROPE/VOLGOGRAD", "MSK", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // EUROPE/WARSAW - CET/CEST {"EUROPE/WARSAW", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/ZAGREB - CET/CEST {"EUROPE/ZAGREB", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // EUROPE/ZAPOROZHYE - EET/EEST {"EUROPE/ZAPOROZHYE", "EET", "EEST", 2, 0, 3, 0, 3, 5, 0, 3, 0, 10, 5, 0, 4, 0, 1, 0}, // EUROPE/ZURICH - CET/CEST {"EUROPE/ZURICH", "CET", "CEST", 1, 0, 2, 0, 3, 5, 0, 2, 0, 10, 5, 0, 3, 0, 1, 0}, // INDIAN/ANTANANARIVO - EAT {"INDIAN/ANTANANARIVO", "EAT", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // INDIAN/CHAGOS - +06 {"INDIAN/CHAGOS", "+06", "", 6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // INDIAN/CHRISTMAS - +07 {"INDIAN/CHRISTMAS", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // INDIAN/COCOS - +0630 {"INDIAN/COCOS", "+0630", "", 6, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // INDIAN/COMORO - EAT {"INDIAN/COMORO", "EAT", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // INDIAN/KERGUELEN - +05 {"INDIAN/KERGUELEN", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // INDIAN/MAHE - +04 {"INDIAN/MAHE", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // INDIAN/MALDIVES - +05 {"INDIAN/MALDIVES", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // INDIAN/MAURITIUS - +04 {"INDIAN/MAURITIUS", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // INDIAN/MAYOTTE - EAT {"INDIAN/MAYOTTE", "EAT", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // INDIAN/REUNION - +04 {"INDIAN/REUNION", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/APIA - +13 {"PACIFIC/APIA", "+13", "", 13, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/AUCKLAND - NZST/NZDT {"PACIFIC/AUCKLAND", "NZST", "NZDT", 12, 0, 13, 0, 9, 5, 0, 2, 0, 4, 1, 0, 3, 0, 1, 0}, // PACIFIC/BOUGAINVILLE - +11 {"PACIFIC/BOUGAINVILLE", "+11", "", 11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/CHATHAM - +1245/+1345 {"PACIFIC/CHATHAM", "+1245", "+1345", 12, 45, 13, 45, 9, 5, 0, 2, 45, 4, 1, 0, 3, 45, 1, 0}, // PACIFIC/CHUUK - +10 {"PACIFIC/CHUUK", "+10", "", 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/EASTER - -06/-05 {"PACIFIC/EASTER", "-06", "-05", -6, 0, -5, 0, 9, 1, 6, 22, 0, 4, 1, 6, 22, 0, 1, 0}, // PACIFIC/EFATE - +11 {"PACIFIC/EFATE", "+11", "", 11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/ENDERBURY - +13 {"PACIFIC/ENDERBURY", "+13", "", 13, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/FAKAOFO - +13 {"PACIFIC/FAKAOFO", "+13", "", 13, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/FIJI - +12 {"PACIFIC/FIJI", "+12", "", 12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/FUNAFUTI - +12 {"PACIFIC/FUNAFUTI", "+12", "", 12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/GALAPAGOS - -06 {"PACIFIC/GALAPAGOS", "-06", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/GAMBIER - -09 {"PACIFIC/GAMBIER", "-09", "", -9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/GUADALCANAL - +11 {"PACIFIC/GUADALCANAL", "+11", "", 11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/GUAM - CHST {"PACIFIC/GUAM", "CHST", "", 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/HONOLULU - HST {"PACIFIC/HONOLULU", "HST", "", -10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/KIRITIMATI - +14 {"PACIFIC/KIRITIMATI", "+14", "", 14, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/KOSRAE - +11 {"PACIFIC/KOSRAE", "+11", "", 11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/KWAJALEIN - +12 {"PACIFIC/KWAJALEIN", "+12", "", 12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/MAJURO - +12 {"PACIFIC/MAJURO", "+12", "", 12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/MARQUESAS - -0930 {"PACIFIC/MARQUESAS", "-0930", "", -9, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/MIDWAY - SST {"PACIFIC/MIDWAY", "SST", "", -11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/NAURU - +12 {"PACIFIC/NAURU", "+12", "", 12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/NIUE - -11 {"PACIFIC/NIUE", "-11", "", -11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/NORFOLK - +11/+12 {"PACIFIC/NORFOLK", "+11", "+12", 11, 0, 12, 0, 10, 1, 0, 2, 0, 4, 1, 0, 3, 0, 1, 0}, // PACIFIC/NOUMEA - +11 {"PACIFIC/NOUMEA", "+11", "", 11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/PAGO_PAGO - SST {"PACIFIC/PAGO_PAGO", "SST", "", -11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/PALAU - +09 {"PACIFIC/PALAU", "+09", "", 9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/PITCAIRN - -08 {"PACIFIC/PITCAIRN", "-08", "", -8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/POHNPEI - +11 {"PACIFIC/POHNPEI", "+11", "", 11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/PORT_MORESBY - +10 {"PACIFIC/PORT_MORESBY", "+10", "", 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/RAROTONGA - -10 {"PACIFIC/RAROTONGA", "-10", "", -10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/SAIPAN - CHST {"PACIFIC/SAIPAN", "CHST", "", 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/TAHITI - -10 {"PACIFIC/TAHITI", "-10", "", -10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/TARAWA - +12 {"PACIFIC/TARAWA", "+12", "", 12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/TONGATAPU - +13 {"PACIFIC/TONGATAPU", "+13", "", 13, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/WAKE - +12 {"PACIFIC/WAKE", "+12", "", 12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // PACIFIC/WALLIS - +12 {"PACIFIC/WALLIS", "+12", "", 12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT - GMT {"ETC/GMT", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-0 - GMT {"ETC/GMT-0", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-1 - +01 {"ETC/GMT-1", "+01", "", 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-2 - +02 {"ETC/GMT-2", "+02", "", 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-3 - +03 {"ETC/GMT-3", "+03", "", 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-4 - +04 {"ETC/GMT-4", "+04", "", 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-5 - +05 {"ETC/GMT-5", "+05", "", 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-6 - +06 {"ETC/GMT-6", "+06", "", 6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-7 - +07 {"ETC/GMT-7", "+07", "", 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-8 - +08 {"ETC/GMT-8", "+08", "", 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-9 - +09 {"ETC/GMT-9", "+09", "", 9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-10 - +10 {"ETC/GMT-10", "+10", "", 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-11 - +11 {"ETC/GMT-11", "+11", "", 11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-12 - +12 {"ETC/GMT-12", "+12", "", 12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-13 - +13 {"ETC/GMT-13", "+13", "", 13, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT-14 - +14 {"ETC/GMT-14", "+14", "", 14, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT0 - GMT {"ETC/GMT0", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+0 - GMT {"ETC/GMT+0", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+1 - -01 {"ETC/GMT+1", "-01", "", -1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+2 - -02 {"ETC/GMT+2", "-02", "", -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+3 - -03 {"ETC/GMT+3", "-03", "", -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+4 - -04 {"ETC/GMT+4", "-04", "", -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+5 - -05 {"ETC/GMT+5", "-05", "", -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+6 - -06 {"ETC/GMT+6", "-06", "", -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+7 - -07 {"ETC/GMT+7", "-07", "", -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+8 - -08 {"ETC/GMT+8", "-08", "", -8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+9 - -09 {"ETC/GMT+9", "-09", "", -9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+10 - -10 {"ETC/GMT+10", "-10", "", -10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+11 - -11 {"ETC/GMT+11", "-11", "", -11, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GMT+12 - -12 {"ETC/GMT+12", "-12", "", -12, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/UCT - UTC {"ETC/UCT", "UTC", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/UTC - UTC {"ETC/UTC", "UTC", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/GREENWICH - GMT {"ETC/GREENWICH", "GMT", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/UNIVERSAL - UTC {"ETC/UNIVERSAL", "UTC", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}, // ETC/ZULU - UTC {"ETC/ZULU", "UTC", "", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0}}; s8_t datetime_compare(const datetime_t *dt1, const datetime_t *dt2) { // Returns: -1 if dt1 < dt2, 0 if equal, 1 if dt1 > dt2 if (dt1->year != dt2->year) return (dt1->year < dt2->year) ? -1 : 1; if (dt1->month != dt2->month) return (dt1->month < dt2->month) ? -1 : 1; if (dt1->day != dt2->day) return (dt1->day < dt2->day) ? -1 : 1; if (dt1->hour != dt2->hour) return (dt1->hour < dt2->hour) ? -1 : 1; if (dt1->min != dt2->min) return (dt1->min < dt2->min) ? -1 : 1; if (dt1->sec != dt2->sec) return (dt1->sec < dt2->sec) ? -1 : 1; return 0; // Equal } void timezone_offset(u16_t timezone_index, datetime_t &dt) { const timezone_t *selected_timezone = &timezones[timezone_index]; if (selected_timezone->has_dst) { datetime_t dst_start = { dt.year, static_cast(selected_timezone->dst_start_month), static_cast(selected_timezone->dst_start_week), static_cast(selected_timezone->dst_start_day), static_cast(selected_timezone->dst_start_hour), static_cast(selected_timezone->dst_start_min)}; datetime_t dst_end = {dt.year, static_cast(selected_timezone->dst_end_month), static_cast(selected_timezone->dst_end_week), static_cast(selected_timezone->dst_end_day), static_cast(selected_timezone->dst_end_hour), static_cast(selected_timezone->dst_end_min)}; if (datetime_compare(&dt, &dst_start) == 1 && datetime_compare(&dt, &dst_end) == -1) { dt.hour += selected_timezone->dst_offset_hours; dt.min += selected_timezone->dst_offset_mins; } else { goto std_offset; } } else { std_offset: dt.hour += selected_timezone->std_offset_hours; dt.min += selected_timezone->std_offset_mins; } }