1583 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			1583 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| //! moment-timezone.js
 | |
| //! version : 0.5.48
 | |
| //! Copyright (c) JS Foundation and other contributors
 | |
| //! license : MIT
 | |
| //! github.com/moment/moment-timezone
 | |
| 
 | |
| (function (root, factory) {
 | |
| 	"use strict";
 | |
| 
 | |
| 	/*global define*/
 | |
| 	if (typeof module === 'object' && module.exports) {
 | |
| 		module.exports = factory(require('moment')); // Node
 | |
| 	} else if (typeof define === 'function' && define.amd) {
 | |
| 		define(['moment'], factory);                 // AMD
 | |
| 	} else {
 | |
| 		factory(root.moment);                        // Browser
 | |
| 	}
 | |
| }(this, function (moment) {
 | |
| 	"use strict";
 | |
| 
 | |
| 	// Resolves es6 module loading issue
 | |
| 	if (moment.version === undefined && moment.default) {
 | |
| 		moment = moment.default;
 | |
| 	}
 | |
| 
 | |
| 	// Do not load moment-timezone a second time.
 | |
| 	// if (moment.tz !== undefined) {
 | |
| 	// 	logError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);
 | |
| 	// 	return moment;
 | |
| 	// }
 | |
| 
 | |
| 	var VERSION = "0.5.48",
 | |
| 		zones = {},
 | |
| 		links = {},
 | |
| 		countries = {},
 | |
| 		names = {},
 | |
| 		guesses = {},
 | |
| 		cachedGuess;
 | |
| 
 | |
| 	if (!moment || typeof moment.version !== 'string') {
 | |
| 		logError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');
 | |
| 	}
 | |
| 
 | |
| 	var momentVersion = moment.version.split('.'),
 | |
| 		major = +momentVersion[0],
 | |
| 		minor = +momentVersion[1];
 | |
| 
 | |
| 	// Moment.js version check
 | |
| 	if (major < 2 || (major === 2 && minor < 6)) {
 | |
| 		logError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');
 | |
| 	}
 | |
| 
 | |
| 	/************************************
 | |
| 		Unpacking
 | |
| 	************************************/
 | |
| 
 | |
| 	function charCodeToInt(charCode) {
 | |
| 		if (charCode > 96) {
 | |
| 			return charCode - 87;
 | |
| 		} else if (charCode > 64) {
 | |
| 			return charCode - 29;
 | |
| 		}
 | |
| 		return charCode - 48;
 | |
| 	}
 | |
| 
 | |
| 	function unpackBase60(string) {
 | |
| 		var i = 0,
 | |
| 			parts = string.split('.'),
 | |
| 			whole = parts[0],
 | |
| 			fractional = parts[1] || '',
 | |
| 			multiplier = 1,
 | |
| 			num,
 | |
| 			out = 0,
 | |
| 			sign = 1;
 | |
| 
 | |
| 		// handle negative numbers
 | |
| 		if (string.charCodeAt(0) === 45) {
 | |
| 			i = 1;
 | |
| 			sign = -1;
 | |
| 		}
 | |
| 
 | |
| 		// handle digits before the decimal
 | |
| 		for (i; i < whole.length; i++) {
 | |
| 			num = charCodeToInt(whole.charCodeAt(i));
 | |
| 			out = 60 * out + num;
 | |
| 		}
 | |
| 
 | |
| 		// handle digits after the decimal
 | |
| 		for (i = 0; i < fractional.length; i++) {
 | |
| 			multiplier = multiplier / 60;
 | |
| 			num = charCodeToInt(fractional.charCodeAt(i));
 | |
| 			out += num * multiplier;
 | |
| 		}
 | |
| 
 | |
| 		return out * sign;
 | |
| 	}
 | |
| 
 | |
| 	function arrayToInt (array) {
 | |
| 		for (var i = 0; i < array.length; i++) {
 | |
| 			array[i] = unpackBase60(array[i]);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	function intToUntil (array, length) {
 | |
| 		for (var i = 0; i < length; i++) {
 | |
| 			array[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds
 | |
| 		}
 | |
| 
 | |
| 		array[length - 1] = Infinity;
 | |
| 	}
 | |
| 
 | |
| 	function mapIndices (source, indices) {
 | |
| 		var out = [], i;
 | |
| 
 | |
| 		for (i = 0; i < indices.length; i++) {
 | |
| 			out[i] = source[indices[i]];
 | |
| 		}
 | |
| 
 | |
| 		return out;
 | |
| 	}
 | |
| 
 | |
| 	function unpack (string) {
 | |
| 		var data = string.split('|'),
 | |
| 			offsets = data[2].split(' '),
 | |
| 			indices = data[3].split(''),
 | |
| 			untils  = data[4].split(' ');
 | |
| 
 | |
| 		arrayToInt(offsets);
 | |
| 		arrayToInt(indices);
 | |
| 		arrayToInt(untils);
 | |
| 
 | |
| 		intToUntil(untils, indices.length);
 | |
| 
 | |
| 		return {
 | |
| 			name       : data[0],
 | |
| 			abbrs      : mapIndices(data[1].split(' '), indices),
 | |
| 			offsets    : mapIndices(offsets, indices),
 | |
| 			untils     : untils,
 | |
| 			population : data[5] | 0
 | |
| 		};
 | |
| 	}
 | |
| 
 | |
| 	/************************************
 | |
| 		Zone object
 | |
| 	************************************/
 | |
| 
 | |
| 	function Zone (packedString) {
 | |
| 		if (packedString) {
 | |
| 			this._set(unpack(packedString));
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	function closest (num, arr) {
 | |
| 		var len = arr.length;
 | |
| 		if (num < arr[0]) {
 | |
| 			return 0;
 | |
| 		} else if (len > 1 && arr[len - 1] === Infinity && num >= arr[len - 2]) {
 | |
| 			return len - 1;
 | |
| 		} else if (num >= arr[len - 1]) {
 | |
| 			return -1;
 | |
| 		}
 | |
| 
 | |
| 		var mid;
 | |
| 		var lo = 0;
 | |
| 		var hi = len - 1;
 | |
| 		while (hi - lo > 1) {
 | |
| 			mid = Math.floor((lo + hi) / 2);
 | |
| 			if (arr[mid] <= num) {
 | |
| 				lo = mid;
 | |
| 			} else {
 | |
| 				hi = mid;
 | |
| 			}
 | |
| 		}
 | |
| 		return hi;
 | |
| 	}
 | |
| 
 | |
| 	Zone.prototype = {
 | |
| 		_set : function (unpacked) {
 | |
| 			this.name       = unpacked.name;
 | |
| 			this.abbrs      = unpacked.abbrs;
 | |
| 			this.untils     = unpacked.untils;
 | |
| 			this.offsets    = unpacked.offsets;
 | |
| 			this.population = unpacked.population;
 | |
| 		},
 | |
| 
 | |
| 		_index : function (timestamp) {
 | |
| 			var target = +timestamp,
 | |
| 				untils = this.untils,
 | |
| 				i;
 | |
| 
 | |
| 			i = closest(target, untils);
 | |
| 			if (i >= 0) {
 | |
| 				return i;
 | |
| 			}
 | |
| 		},
 | |
| 
 | |
| 		countries : function () {
 | |
| 			var zone_name = this.name;
 | |
| 			return Object.keys(countries).filter(function (country_code) {
 | |
| 				return countries[country_code].zones.indexOf(zone_name) !== -1;
 | |
| 			});
 | |
| 		},
 | |
| 
 | |
| 		parse : function (timestamp) {
 | |
| 			var target  = +timestamp,
 | |
| 				offsets = this.offsets,
 | |
| 				untils  = this.untils,
 | |
| 				max     = untils.length - 1,
 | |
| 				offset, offsetNext, offsetPrev, i;
 | |
| 
 | |
| 			for (i = 0; i < max; i++) {
 | |
| 				offset     = offsets[i];
 | |
| 				offsetNext = offsets[i + 1];
 | |
| 				offsetPrev = offsets[i ? i - 1 : i];
 | |
| 
 | |
| 				if (offset < offsetNext && tz.moveAmbiguousForward) {
 | |
| 					offset = offsetNext;
 | |
| 				} else if (offset > offsetPrev && tz.moveInvalidForward) {
 | |
| 					offset = offsetPrev;
 | |
| 				}
 | |
| 
 | |
| 				if (target < untils[i] - (offset * 60000)) {
 | |
| 					return offsets[i];
 | |
| 				}
 | |
| 			}
 | |
| 
 | |
| 			return offsets[max];
 | |
| 		},
 | |
| 
 | |
| 		abbr : function (mom) {
 | |
| 			return this.abbrs[this._index(mom)];
 | |
| 		},
 | |
| 
 | |
| 		offset : function (mom) {
 | |
| 			logError("zone.offset has been deprecated in favor of zone.utcOffset");
 | |
| 			return this.offsets[this._index(mom)];
 | |
| 		},
 | |
| 
 | |
| 		utcOffset : function (mom) {
 | |
| 			return this.offsets[this._index(mom)];
 | |
| 		}
 | |
| 	};
 | |
| 
 | |
| 	/************************************
 | |
| 		Country object
 | |
| 	************************************/
 | |
| 
 | |
| 	function Country (country_name, zone_names) {
 | |
| 		this.name = country_name;
 | |
| 		this.zones = zone_names;
 | |
| 	}
 | |
| 
 | |
| 	/************************************
 | |
| 		Current Timezone
 | |
| 	************************************/
 | |
| 
 | |
| 	function OffsetAt(at) {
 | |
| 		var timeString = at.toTimeString();
 | |
| 		var abbr = timeString.match(/\([a-z ]+\)/i);
 | |
| 		if (abbr && abbr[0]) {
 | |
| 			// 17:56:31 GMT-0600 (CST)
 | |
| 			// 17:56:31 GMT-0600 (Central Standard Time)
 | |
| 			abbr = abbr[0].match(/[A-Z]/g);
 | |
| 			abbr = abbr ? abbr.join('') : undefined;
 | |
| 		} else {
 | |
| 			// 17:56:31 CST
 | |
| 			// 17:56:31 GMT+0800 (台北標準時間)
 | |
| 			abbr = timeString.match(/[A-Z]{3,5}/g);
 | |
| 			abbr = abbr ? abbr[0] : undefined;
 | |
| 		}
 | |
| 
 | |
| 		if (abbr === 'GMT') {
 | |
| 			abbr = undefined;
 | |
| 		}
 | |
| 
 | |
| 		this.at = +at;
 | |
| 		this.abbr = abbr;
 | |
| 		this.offset = at.getTimezoneOffset();
 | |
| 	}
 | |
| 
 | |
| 	function ZoneScore(zone) {
 | |
| 		this.zone = zone;
 | |
| 		this.offsetScore = 0;
 | |
| 		this.abbrScore = 0;
 | |
| 	}
 | |
| 
 | |
| 	ZoneScore.prototype.scoreOffsetAt = function (offsetAt) {
 | |
| 		this.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);
 | |
| 		if (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {
 | |
| 			this.abbrScore++;
 | |
| 		}
 | |
| 	};
 | |
| 
 | |
| 	function findChange(low, high) {
 | |
| 		var mid, diff;
 | |
| 
 | |
| 		while ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {
 | |
| 			mid = new OffsetAt(new Date(low.at + diff));
 | |
| 			if (mid.offset === low.offset) {
 | |
| 				low = mid;
 | |
| 			} else {
 | |
| 				high = mid;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		return low;
 | |
| 	}
 | |
| 
 | |
| 	function userOffsets() {
 | |
| 		var startYear = new Date().getFullYear() - 2,
 | |
| 			last = new OffsetAt(new Date(startYear, 0, 1)),
 | |
| 			lastOffset = last.offset,
 | |
| 			offsets = [last],
 | |
| 			change, next, nextOffset, i;
 | |
| 
 | |
| 		for (i = 1; i < 48; i++) {
 | |
| 			nextOffset = new Date(startYear, i, 1).getTimezoneOffset();
 | |
| 			if (nextOffset !== lastOffset) {
 | |
| 				// Create OffsetAt here to avoid unnecessary abbr parsing before checking offsets
 | |
| 				next = new OffsetAt(new Date(startYear, i, 1));
 | |
| 				change = findChange(last, next);
 | |
| 				offsets.push(change);
 | |
| 				offsets.push(new OffsetAt(new Date(change.at + 6e4)));
 | |
| 				last = next;
 | |
| 				lastOffset = nextOffset;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		for (i = 0; i < 4; i++) {
 | |
| 			offsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));
 | |
| 			offsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));
 | |
| 		}
 | |
| 
 | |
| 		return offsets;
 | |
| 	}
 | |
| 
 | |
| 	function sortZoneScores (a, b) {
 | |
| 		if (a.offsetScore !== b.offsetScore) {
 | |
| 			return a.offsetScore - b.offsetScore;
 | |
| 		}
 | |
| 		if (a.abbrScore !== b.abbrScore) {
 | |
| 			return a.abbrScore - b.abbrScore;
 | |
| 		}
 | |
| 		if (a.zone.population !== b.zone.population) {
 | |
| 			return b.zone.population - a.zone.population;
 | |
| 		}
 | |
| 		return b.zone.name.localeCompare(a.zone.name);
 | |
| 	}
 | |
| 
 | |
| 	function addToGuesses (name, offsets) {
 | |
| 		var i, offset;
 | |
| 		arrayToInt(offsets);
 | |
| 		for (i = 0; i < offsets.length; i++) {
 | |
| 			offset = offsets[i];
 | |
| 			guesses[offset] = guesses[offset] || {};
 | |
| 			guesses[offset][name] = true;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	function guessesForUserOffsets (offsets) {
 | |
| 		var offsetsLength = offsets.length,
 | |
| 			filteredGuesses = {},
 | |
| 			out = [],
 | |
| 			checkedOffsets = {},
 | |
| 			i, j, offset, guessesOffset;
 | |
| 
 | |
| 		for (i = 0; i < offsetsLength; i++) {
 | |
| 			offset = offsets[i].offset;
 | |
| 			if (checkedOffsets.hasOwnProperty(offset)) {
 | |
| 				continue;
 | |
| 			}
 | |
| 			guessesOffset = guesses[offset] || {};
 | |
| 			for (j in guessesOffset) {
 | |
| 				if (guessesOffset.hasOwnProperty(j)) {
 | |
| 					filteredGuesses[j] = true;
 | |
| 				}
 | |
| 			}
 | |
| 			checkedOffsets[offset] = true;
 | |
| 		}
 | |
| 
 | |
| 		for (i in filteredGuesses) {
 | |
| 			if (filteredGuesses.hasOwnProperty(i)) {
 | |
| 				out.push(names[i]);
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		return out;
 | |
| 	}
 | |
| 
 | |
| 	function rebuildGuess () {
 | |
| 
 | |
| 		// use Intl API when available and returning valid time zone
 | |
| 		try {
 | |
| 			var intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;
 | |
| 			if (intlName && intlName.length > 3) {
 | |
| 				var name = names[normalizeName(intlName)];
 | |
| 				if (name) {
 | |
| 					return name;
 | |
| 				}
 | |
| 				logError("Moment Timezone found " + intlName + " from the Intl api, but did not have that data loaded.");
 | |
| 			}
 | |
| 		} catch (e) {
 | |
| 			// Intl unavailable, fall back to manual guessing.
 | |
| 		}
 | |
| 
 | |
| 		var offsets = userOffsets(),
 | |
| 			offsetsLength = offsets.length,
 | |
| 			guesses = guessesForUserOffsets(offsets),
 | |
| 			zoneScores = [],
 | |
| 			zoneScore, i, j;
 | |
| 
 | |
| 		for (i = 0; i < guesses.length; i++) {
 | |
| 			zoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);
 | |
| 			for (j = 0; j < offsetsLength; j++) {
 | |
| 				zoneScore.scoreOffsetAt(offsets[j]);
 | |
| 			}
 | |
| 			zoneScores.push(zoneScore);
 | |
| 		}
 | |
| 
 | |
| 		zoneScores.sort(sortZoneScores);
 | |
| 
 | |
| 		return zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;
 | |
| 	}
 | |
| 
 | |
| 	function guess (ignoreCache) {
 | |
| 		if (!cachedGuess || ignoreCache) {
 | |
| 			cachedGuess = rebuildGuess();
 | |
| 		}
 | |
| 		return cachedGuess;
 | |
| 	}
 | |
| 
 | |
| 	/************************************
 | |
| 		Global Methods
 | |
| 	************************************/
 | |
| 
 | |
| 	function normalizeName (name) {
 | |
| 		return (name || '').toLowerCase().replace(/\//g, '_');
 | |
| 	}
 | |
| 
 | |
| 	function addZone (packed) {
 | |
| 		var i, name, split, normalized;
 | |
| 
 | |
| 		if (typeof packed === "string") {
 | |
| 			packed = [packed];
 | |
| 		}
 | |
| 
 | |
| 		for (i = 0; i < packed.length; i++) {
 | |
| 			split = packed[i].split('|');
 | |
| 			name = split[0];
 | |
| 			normalized = normalizeName(name);
 | |
| 			zones[normalized] = packed[i];
 | |
| 			names[normalized] = name;
 | |
| 			addToGuesses(normalized, split[2].split(' '));
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	function getZone (name, caller) {
 | |
| 
 | |
| 		name = normalizeName(name);
 | |
| 
 | |
| 		var zone = zones[name];
 | |
| 		var link;
 | |
| 
 | |
| 		if (zone instanceof Zone) {
 | |
| 			return zone;
 | |
| 		}
 | |
| 
 | |
| 		if (typeof zone === 'string') {
 | |
| 			zone = new Zone(zone);
 | |
| 			zones[name] = zone;
 | |
| 			return zone;
 | |
| 		}
 | |
| 
 | |
| 		// Pass getZone to prevent recursion more than 1 level deep
 | |
| 		if (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {
 | |
| 			zone = zones[name] = new Zone();
 | |
| 			zone._set(link);
 | |
| 			zone.name = names[name];
 | |
| 			return zone;
 | |
| 		}
 | |
| 
 | |
| 		return null;
 | |
| 	}
 | |
| 
 | |
| 	function getNames () {
 | |
| 		var i, out = [];
 | |
| 
 | |
| 		for (i in names) {
 | |
| 			if (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {
 | |
| 				out.push(names[i]);
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		return out.sort();
 | |
| 	}
 | |
| 
 | |
| 	function getCountryNames () {
 | |
| 		return Object.keys(countries);
 | |
| 	}
 | |
| 
 | |
| 	function addLink (aliases) {
 | |
| 		var i, alias, normal0, normal1;
 | |
| 
 | |
| 		if (typeof aliases === "string") {
 | |
| 			aliases = [aliases];
 | |
| 		}
 | |
| 
 | |
| 		for (i = 0; i < aliases.length; i++) {
 | |
| 			alias = aliases[i].split('|');
 | |
| 
 | |
| 			normal0 = normalizeName(alias[0]);
 | |
| 			normal1 = normalizeName(alias[1]);
 | |
| 
 | |
| 			links[normal0] = normal1;
 | |
| 			names[normal0] = alias[0];
 | |
| 
 | |
| 			links[normal1] = normal0;
 | |
| 			names[normal1] = alias[1];
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	function addCountries (data) {
 | |
| 		var i, country_code, country_zones, split;
 | |
| 		if (!data || !data.length) return;
 | |
| 		for (i = 0; i < data.length; i++) {
 | |
| 			split = data[i].split('|');
 | |
| 			country_code = split[0].toUpperCase();
 | |
| 			country_zones = split[1].split(' ');
 | |
| 			countries[country_code] = new Country(
 | |
| 				country_code,
 | |
| 				country_zones
 | |
| 			);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	function getCountry (name) {
 | |
| 		name = name.toUpperCase();
 | |
| 		return countries[name] || null;
 | |
| 	}
 | |
| 
 | |
| 	function zonesForCountry(country, with_offset) {
 | |
| 		country = getCountry(country);
 | |
| 
 | |
| 		if (!country) return null;
 | |
| 
 | |
| 		var zones = country.zones.sort();
 | |
| 
 | |
| 		if (with_offset) {
 | |
| 			return zones.map(function (zone_name) {
 | |
| 				var zone = getZone(zone_name);
 | |
| 				return {
 | |
| 					name: zone_name,
 | |
| 					offset: zone.utcOffset(new Date())
 | |
| 				};
 | |
| 			});
 | |
| 		}
 | |
| 
 | |
| 		return zones;
 | |
| 	}
 | |
| 
 | |
| 	function loadData (data) {
 | |
| 		addZone(data.zones);
 | |
| 		addLink(data.links);
 | |
| 		addCountries(data.countries);
 | |
| 		tz.dataVersion = data.version;
 | |
| 	}
 | |
| 
 | |
| 	function zoneExists (name) {
 | |
| 		if (!zoneExists.didShowError) {
 | |
| 			zoneExists.didShowError = true;
 | |
| 				logError("moment.tz.zoneExists('" + name + "') has been deprecated in favor of !moment.tz.zone('" + name + "')");
 | |
| 		}
 | |
| 		return !!getZone(name);
 | |
| 	}
 | |
| 
 | |
| 	function needsOffset (m) {
 | |
| 		var isUnixTimestamp = (m._f === 'X' || m._f === 'x');
 | |
| 		return !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);
 | |
| 	}
 | |
| 
 | |
| 	function logError (message) {
 | |
| 		if (typeof console !== 'undefined' && typeof console.error === 'function') {
 | |
| 			console.error(message);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	/************************************
 | |
| 		moment.tz namespace
 | |
| 	************************************/
 | |
| 
 | |
| 	function tz (input) {
 | |
| 		var args = Array.prototype.slice.call(arguments, 0, -1),
 | |
| 			name = arguments[arguments.length - 1],
 | |
| 			out  = moment.utc.apply(null, args),
 | |
| 			zone;
 | |
| 
 | |
| 		if (!moment.isMoment(input) && needsOffset(out) && (zone = getZone(name))) {
 | |
| 			out.add(zone.parse(out), 'minutes');
 | |
| 		}
 | |
| 
 | |
| 		out.tz(name);
 | |
| 
 | |
| 		return out;
 | |
| 	}
 | |
| 
 | |
| 	tz.version      = VERSION;
 | |
| 	tz.dataVersion  = '';
 | |
| 	tz._zones       = zones;
 | |
| 	tz._links       = links;
 | |
| 	tz._names       = names;
 | |
| 	tz._countries	= countries;
 | |
| 	tz.add          = addZone;
 | |
| 	tz.link         = addLink;
 | |
| 	tz.load         = loadData;
 | |
| 	tz.zone         = getZone;
 | |
| 	tz.zoneExists   = zoneExists; // deprecated in 0.1.0
 | |
| 	tz.guess        = guess;
 | |
| 	tz.names        = getNames;
 | |
| 	tz.Zone         = Zone;
 | |
| 	tz.unpack       = unpack;
 | |
| 	tz.unpackBase60 = unpackBase60;
 | |
| 	tz.needsOffset  = needsOffset;
 | |
| 	tz.moveInvalidForward   = true;
 | |
| 	tz.moveAmbiguousForward = false;
 | |
| 	tz.countries    = getCountryNames;
 | |
| 	tz.zonesForCountry = zonesForCountry;
 | |
| 
 | |
| 	/************************************
 | |
| 		Interface with Moment.js
 | |
| 	************************************/
 | |
| 
 | |
| 	var fn = moment.fn;
 | |
| 
 | |
| 	moment.tz = tz;
 | |
| 
 | |
| 	moment.defaultZone = null;
 | |
| 
 | |
| 	moment.updateOffset = function (mom, keepTime) {
 | |
| 		var zone = moment.defaultZone,
 | |
| 			offset;
 | |
| 
 | |
| 		if (mom._z === undefined) {
 | |
| 			if (zone && needsOffset(mom) && !mom._isUTC && mom.isValid()) {
 | |
| 				mom._d = moment.utc(mom._a)._d;
 | |
| 				mom.utc().add(zone.parse(mom), 'minutes');
 | |
| 			}
 | |
| 			mom._z = zone;
 | |
| 		}
 | |
| 		if (mom._z) {
 | |
| 			offset = mom._z.utcOffset(mom);
 | |
| 			if (Math.abs(offset) < 16) {
 | |
| 				offset = offset / 60;
 | |
| 			}
 | |
| 			if (mom.utcOffset !== undefined) {
 | |
| 				var z = mom._z;
 | |
| 				mom.utcOffset(-offset, keepTime);
 | |
| 				mom._z = z;
 | |
| 			} else {
 | |
| 				mom.zone(offset, keepTime);
 | |
| 			}
 | |
| 		}
 | |
| 	};
 | |
| 
 | |
| 	fn.tz = function (name, keepTime) {
 | |
| 		if (name) {
 | |
| 			if (typeof name !== 'string') {
 | |
| 				throw new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');
 | |
| 			}
 | |
| 			this._z = getZone(name);
 | |
| 			if (this._z) {
 | |
| 				moment.updateOffset(this, keepTime);
 | |
| 			} else {
 | |
| 				logError("Moment Timezone has no data for " + name + ". See http://momentjs.com/timezone/docs/#/data-loading/.");
 | |
| 			}
 | |
| 			return this;
 | |
| 		}
 | |
| 		if (this._z) { return this._z.name; }
 | |
| 	};
 | |
| 
 | |
| 	function abbrWrap (old) {
 | |
| 		return function () {
 | |
| 			if (this._z) { return this._z.abbr(this); }
 | |
| 			return old.call(this);
 | |
| 		};
 | |
| 	}
 | |
| 
 | |
| 	function resetZoneWrap (old) {
 | |
| 		return function () {
 | |
| 			this._z = null;
 | |
| 			return old.apply(this, arguments);
 | |
| 		};
 | |
| 	}
 | |
| 
 | |
| 	function resetZoneWrap2 (old) {
 | |
| 		return function () {
 | |
| 			if (arguments.length > 0) this._z = null;
 | |
| 			return old.apply(this, arguments);
 | |
| 		};
 | |
| 	}
 | |
| 
 | |
| 	fn.zoneName  = abbrWrap(fn.zoneName);
 | |
| 	fn.zoneAbbr  = abbrWrap(fn.zoneAbbr);
 | |
| 	fn.utc       = resetZoneWrap(fn.utc);
 | |
| 	fn.local     = resetZoneWrap(fn.local);
 | |
| 	fn.utcOffset = resetZoneWrap2(fn.utcOffset);
 | |
| 
 | |
| 	moment.tz.setDefault = function(name) {
 | |
| 		if (major < 2 || (major === 2 && minor < 9)) {
 | |
| 			logError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');
 | |
| 		}
 | |
| 		moment.defaultZone = name ? getZone(name) : null;
 | |
| 		return moment;
 | |
| 	};
 | |
| 
 | |
| 	// Cloning a moment should include the _z property.
 | |
| 	var momentProperties = moment.momentProperties;
 | |
| 	if (Object.prototype.toString.call(momentProperties) === '[object Array]') {
 | |
| 		// moment 2.8.1+
 | |
| 		momentProperties.push('_z');
 | |
| 		momentProperties.push('_a');
 | |
| 	} else if (momentProperties) {
 | |
| 		// moment 2.7.0
 | |
| 		momentProperties._z = null;
 | |
| 	}
 | |
| 
 | |
| 	loadData({
 | |
| 		"version": "2025b",
 | |
| 		"zones": [
 | |
| 			"Africa/Abidjan|GMT|0|0||48e5",
 | |
| 			"Africa/Nairobi|EAT|-30|0||47e5",
 | |
| 			"Africa/Algiers|CET|-10|0||26e5",
 | |
| 			"Africa/Lagos|WAT|-10|0||17e6",
 | |
| 			"Africa/Khartoum|CAT|-20|0||51e5",
 | |
| 			"Africa/Cairo|EET EEST|-20 -30|01010101010101010|29NW0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0|15e6",
 | |
| 			"Africa/Casablanca|+01 +00|-10 0|010101010101010101010101|22sq0 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600|32e5",
 | |
| 			"Europe/Paris|CET CEST|-10 -20|01010101010101010101010|22k10 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|11e6",
 | |
| 			"Africa/Johannesburg|SAST|-20|0||84e5",
 | |
| 			"Africa/Juba|EAT CAT|-30 -20|01|24nx0|",
 | |
| 			"Africa/Tripoli|EET|-20|0||11e5",
 | |
| 			"America/Adak|HST HDT|a0 90|01010101010101010101010|22bM0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326",
 | |
| 			"America/Anchorage|AKST AKDT|90 80|01010101010101010101010|22bL0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4",
 | |
| 			"America/Santo_Domingo|AST|40|0||29e5",
 | |
| 			"America/Sao_Paulo|-03|30|0||20e6",
 | |
| 			"America/Asuncion|-03 -04|30 40|01010101010|22hf0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0|28e5",
 | |
| 			"America/Panama|EST|50|0||15e5",
 | |
| 			"America/Mexico_City|CST CDT|60 50|0101010|22mU0 1lb0 14p0 1nX0 11B0 1nX0|20e6",
 | |
| 			"America/Managua|CST|60|0||22e5",
 | |
| 			"America/Caracas|-04|40|0||29e5",
 | |
| 			"America/Lima|-05|50|0||11e6",
 | |
| 			"America/Denver|MST MDT|70 60|01010101010101010101010|22bJ0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5",
 | |
| 			"America/Chicago|CST CDT|60 50|01010101010101010101010|22bI0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5",
 | |
| 			"America/Chihuahua|MST MDT CST|70 60 60|0101012|22mV0 1lb0 14p0 1nX0 11B0 1nX0|81e4",
 | |
| 			"America/Ciudad_Juarez|MST MDT CST|70 60 60|010101201010101010101010|22bJ0 1zb0 Rd0 1zb0 Op0 1wn0 cm0 EP0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
 | |
| 			"America/Coyhaique|-03 -04|30 40|01010101010|22mP0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0|",
 | |
| 			"America/Phoenix|MST|70|0||42e5",
 | |
| 			"America/Whitehorse|PST PDT MST|80 70 70|012|22bK0 1z90|23e3",
 | |
| 			"America/New_York|EST EDT|50 40|01010101010101010101010|22bH0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6",
 | |
| 			"America/Los_Angeles|PST PDT|80 70|01010101010101010101010|22bK0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6",
 | |
| 			"America/Halifax|AST ADT|40 30|01010101010101010101010|22bG0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4",
 | |
| 			"America/Godthab|-03 -02 -01|30 20 10|0101010121212121212121|22k10 1o00 11A0 1qM0 WM0 1qM0 WM0 2so0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|17e3",
 | |
| 			"America/Havana|CST CDT|50 40|01010101010101010101010|22bF0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5",
 | |
| 			"America/Mazatlan|MST MDT|70 60|0101010|22mV0 1lb0 14p0 1nX0 11B0 1nX0|44e4",
 | |
| 			"America/Miquelon|-03 -02|30 20|01010101010101010101010|22bF0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2",
 | |
| 			"America/Noronha|-02|20|0||30e2",
 | |
| 			"America/Ojinaga|MST MDT CST CDT|70 60 60 50|01010123232323232323232|22bJ0 1zb0 Rd0 1zb0 Op0 1wn0 Rc0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3",
 | |
| 			"America/Santiago|-03 -04|30 40|01010101010101010101010|22mP0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0|62e5",
 | |
| 			"America/Scoresbysund|-01 +00 -02|10 0 20|0101010102020202020202|22k10 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 2pA0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|452",
 | |
| 			"America/St_Johns|NST NDT|3u 2u|01010101010101010101010|22bFu 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4",
 | |
| 			"Antarctica/Casey|+11 +08|-b0 -80|01010101|22bs0 1o01 14kX 1lf1 14kX 1lf1 13bX|10",
 | |
| 			"Asia/Bangkok|+07|-70|0||15e6",
 | |
| 			"Asia/Vladivostok|+10|-a0|0||60e4",
 | |
| 			"Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|22mE0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|40e5",
 | |
| 			"Asia/Tashkent|+05|-50|0||23e5",
 | |
| 			"Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|22mC0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00|14e5",
 | |
| 			"Europe/Istanbul|+03|-30|0||13e6",
 | |
| 			"Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|22k10 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|40",
 | |
| 			"Antarctica/Vostok|+07 +05|-70 -50|01|2bnv0|25",
 | |
| 			"Asia/Almaty|+06 +05|-60 -50|01|2bR60|15e5",
 | |
| 			"Asia/Amman|EET EEST +03|-20 -30 -30|0101012|22ja0 1qM0 WM0 1qM0 LA0 1C00|25e5",
 | |
| 			"Asia/Kamchatka|+12|-c0|0||18e4",
 | |
| 			"Asia/Dubai|+04|-40|0||39e5",
 | |
| 			"Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|22jW0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0|22e5",
 | |
| 			"Asia/Dhaka|+06|-60|0||16e6",
 | |
| 			"Asia/Kuala_Lumpur|+08|-80|0||71e5",
 | |
| 			"Asia/Kolkata|IST|-5u|0||15e6",
 | |
| 			"Asia/Chita|+09|-90|0||33e4",
 | |
| 			"Asia/Shanghai|CST|-80|0||23e6",
 | |
| 			"Asia/Colombo|+0530|-5u|0||22e5",
 | |
| 			"Asia/Damascus|EET EEST +03|-20 -30 -30|0101012|22ja0 1qL0 WN0 1qL0 WN0 1qL0|26e5",
 | |
| 			"Europe/Athens|EET EEST|-20 -30|01010101010101010101010|22k10 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|35e5",
 | |
| 			"Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|22jy0 1o00 11A0 1qo0 XA0 1qp0 1cN0 1cL0 1a10 1fz0 17d0 1in0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0|18e5",
 | |
| 			"Asia/Hong_Kong|HKT|-80|0||73e5",
 | |
| 			"Asia/Jakarta|WIB|-70|0||31e6",
 | |
| 			"Asia/Jayapura|WIT|-90|0||26e4",
 | |
| 			"Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|22jc0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0|81e4",
 | |
| 			"Asia/Kabul|+0430|-4u|0||46e5",
 | |
| 			"Asia/Karachi|PKT|-50|0||24e6",
 | |
| 			"Asia/Kathmandu|+0545|-5J|0||12e5",
 | |
| 			"Asia/Sakhalin|+11|-b0|0||58e4",
 | |
| 			"Asia/Makassar|WITA|-80|0||15e5",
 | |
| 			"Asia/Manila|PST|-80|0||24e6",
 | |
| 			"Asia/Seoul|KST|-90|0||23e6",
 | |
| 			"Asia/Rangoon|+0630|-6u|0||48e5",
 | |
| 			"Asia/Tehran|+0330 +0430|-3u -4u|0101010|22gIu 1dz0 1cN0 1dz0 1cp0 1dz0|14e6",
 | |
| 			"Asia/Tokyo|JST|-90|0||38e6",
 | |
| 			"Atlantic/Azores|-01 +00|10 0|01010101010101010101010|22k10 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|25e4",
 | |
| 			"Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|22k10 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|27e5",
 | |
| 			"Atlantic/Cape_Verde|-01|10|0||50e4",
 | |
| 			"Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|22mEu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|11e5",
 | |
| 			"Australia/Brisbane|AEST|-a0|0||20e5",
 | |
| 			"Australia/Darwin|ACST|-9u|0||12e4",
 | |
| 			"Australia/Eucla|+0845|-8J|0||368",
 | |
| 			"Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|22mD0 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu|347",
 | |
| 			"Australia/Perth|AWST|-80|0||18e5",
 | |
| 			"Pacific/Easter|-05 -06|50 60|01010101010101010101010|22mP0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0|30e2",
 | |
| 			"Europe/Dublin|GMT IST|0 -10|01010101010101010101010|22k10 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5",
 | |
| 			"Etc/GMT-1|+01|-10|0||",
 | |
| 			"Pacific/Tongatapu|+13|-d0|0||75e3",
 | |
| 			"Pacific/Kiritimati|+14|-e0|0||51e2",
 | |
| 			"Etc/GMT-2|+02|-20|0||",
 | |
| 			"Pacific/Tahiti|-10|a0|0||18e4",
 | |
| 			"Pacific/Niue|-11|b0|0||12e2",
 | |
| 			"Etc/GMT+12|-12|c0|0||",
 | |
| 			"Pacific/Galapagos|-06|60|0||25e3",
 | |
| 			"Etc/GMT+7|-07|70|0||",
 | |
| 			"Pacific/Pitcairn|-08|80|0||56",
 | |
| 			"Pacific/Gambier|-09|90|0||125",
 | |
| 			"Etc/UTC|UTC|0|0||",
 | |
| 			"Europe/London|GMT BST|0 -10|01010101010101010101010|22k10 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|10e6",
 | |
| 			"Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|22k00 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|67e4",
 | |
| 			"Europe/Moscow|MSK|-30|0||16e6",
 | |
| 			"Europe/Volgograd|+04 MSK|-40 -30|01|249a0|10e5",
 | |
| 			"Pacific/Honolulu|HST|a0|0||37e4",
 | |
| 			"Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010101010101010|22mC0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00|600",
 | |
| 			"Pacific/Apia|+14 +13|-e0 -d0|0101|22mC0 1a00 1fA0|37e3",
 | |
| 			"Pacific/Fiji|+13 +12|-d0 -c0|0101|21N20 2hc0 bc0|88e4",
 | |
| 			"Pacific/Guam|ChST|-a0|0||17e4",
 | |
| 			"Pacific/Marquesas|-0930|9u|0||86e2",
 | |
| 			"Pacific/Pago_Pago|SST|b0|0||37e2",
 | |
| 			"Pacific/Norfolk|+12 +11|-c0 -b0|01010101010101010101010|22mD0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|25e4"
 | |
| 		],
 | |
| 		"links": [
 | |
| 			"Africa/Abidjan|Africa/Accra",
 | |
| 			"Africa/Abidjan|Africa/Bamako",
 | |
| 			"Africa/Abidjan|Africa/Banjul",
 | |
| 			"Africa/Abidjan|Africa/Bissau",
 | |
| 			"Africa/Abidjan|Africa/Conakry",
 | |
| 			"Africa/Abidjan|Africa/Dakar",
 | |
| 			"Africa/Abidjan|Africa/Freetown",
 | |
| 			"Africa/Abidjan|Africa/Lome",
 | |
| 			"Africa/Abidjan|Africa/Monrovia",
 | |
| 			"Africa/Abidjan|Africa/Nouakchott",
 | |
| 			"Africa/Abidjan|Africa/Ouagadougou",
 | |
| 			"Africa/Abidjan|Africa/Sao_Tome",
 | |
| 			"Africa/Abidjan|Africa/Timbuktu",
 | |
| 			"Africa/Abidjan|America/Danmarkshavn",
 | |
| 			"Africa/Abidjan|Atlantic/Reykjavik",
 | |
| 			"Africa/Abidjan|Atlantic/St_Helena",
 | |
| 			"Africa/Abidjan|Etc/GMT",
 | |
| 			"Africa/Abidjan|Etc/GMT+0",
 | |
| 			"Africa/Abidjan|Etc/GMT-0",
 | |
| 			"Africa/Abidjan|Etc/GMT0",
 | |
| 			"Africa/Abidjan|Etc/Greenwich",
 | |
| 			"Africa/Abidjan|GMT",
 | |
| 			"Africa/Abidjan|GMT+0",
 | |
| 			"Africa/Abidjan|GMT-0",
 | |
| 			"Africa/Abidjan|GMT0",
 | |
| 			"Africa/Abidjan|Greenwich",
 | |
| 			"Africa/Abidjan|Iceland",
 | |
| 			"Africa/Algiers|Africa/Tunis",
 | |
| 			"Africa/Cairo|Egypt",
 | |
| 			"Africa/Casablanca|Africa/El_Aaiun",
 | |
| 			"Africa/Johannesburg|Africa/Maseru",
 | |
| 			"Africa/Johannesburg|Africa/Mbabane",
 | |
| 			"Africa/Khartoum|Africa/Blantyre",
 | |
| 			"Africa/Khartoum|Africa/Bujumbura",
 | |
| 			"Africa/Khartoum|Africa/Gaborone",
 | |
| 			"Africa/Khartoum|Africa/Harare",
 | |
| 			"Africa/Khartoum|Africa/Kigali",
 | |
| 			"Africa/Khartoum|Africa/Lubumbashi",
 | |
| 			"Africa/Khartoum|Africa/Lusaka",
 | |
| 			"Africa/Khartoum|Africa/Maputo",
 | |
| 			"Africa/Khartoum|Africa/Windhoek",
 | |
| 			"Africa/Lagos|Africa/Bangui",
 | |
| 			"Africa/Lagos|Africa/Brazzaville",
 | |
| 			"Africa/Lagos|Africa/Douala",
 | |
| 			"Africa/Lagos|Africa/Kinshasa",
 | |
| 			"Africa/Lagos|Africa/Libreville",
 | |
| 			"Africa/Lagos|Africa/Luanda",
 | |
| 			"Africa/Lagos|Africa/Malabo",
 | |
| 			"Africa/Lagos|Africa/Ndjamena",
 | |
| 			"Africa/Lagos|Africa/Niamey",
 | |
| 			"Africa/Lagos|Africa/Porto-Novo",
 | |
| 			"Africa/Nairobi|Africa/Addis_Ababa",
 | |
| 			"Africa/Nairobi|Africa/Asmara",
 | |
| 			"Africa/Nairobi|Africa/Asmera",
 | |
| 			"Africa/Nairobi|Africa/Dar_es_Salaam",
 | |
| 			"Africa/Nairobi|Africa/Djibouti",
 | |
| 			"Africa/Nairobi|Africa/Kampala",
 | |
| 			"Africa/Nairobi|Africa/Mogadishu",
 | |
| 			"Africa/Nairobi|Indian/Antananarivo",
 | |
| 			"Africa/Nairobi|Indian/Comoro",
 | |
| 			"Africa/Nairobi|Indian/Mayotte",
 | |
| 			"Africa/Tripoli|Europe/Kaliningrad",
 | |
| 			"Africa/Tripoli|Libya",
 | |
| 			"America/Adak|America/Atka",
 | |
| 			"America/Adak|US/Aleutian",
 | |
| 			"America/Anchorage|America/Juneau",
 | |
| 			"America/Anchorage|America/Metlakatla",
 | |
| 			"America/Anchorage|America/Nome",
 | |
| 			"America/Anchorage|America/Sitka",
 | |
| 			"America/Anchorage|America/Yakutat",
 | |
| 			"America/Anchorage|US/Alaska",
 | |
| 			"America/Caracas|America/Boa_Vista",
 | |
| 			"America/Caracas|America/Campo_Grande",
 | |
| 			"America/Caracas|America/Cuiaba",
 | |
| 			"America/Caracas|America/Guyana",
 | |
| 			"America/Caracas|America/La_Paz",
 | |
| 			"America/Caracas|America/Manaus",
 | |
| 			"America/Caracas|America/Porto_Velho",
 | |
| 			"America/Caracas|Brazil/West",
 | |
| 			"America/Caracas|Etc/GMT+4",
 | |
| 			"America/Chicago|America/Indiana/Knox",
 | |
| 			"America/Chicago|America/Indiana/Tell_City",
 | |
| 			"America/Chicago|America/Knox_IN",
 | |
| 			"America/Chicago|America/Matamoros",
 | |
| 			"America/Chicago|America/Menominee",
 | |
| 			"America/Chicago|America/North_Dakota/Beulah",
 | |
| 			"America/Chicago|America/North_Dakota/Center",
 | |
| 			"America/Chicago|America/North_Dakota/New_Salem",
 | |
| 			"America/Chicago|America/Rainy_River",
 | |
| 			"America/Chicago|America/Rankin_Inlet",
 | |
| 			"America/Chicago|America/Resolute",
 | |
| 			"America/Chicago|America/Winnipeg",
 | |
| 			"America/Chicago|CST6CDT",
 | |
| 			"America/Chicago|Canada/Central",
 | |
| 			"America/Chicago|US/Central",
 | |
| 			"America/Chicago|US/Indiana-Starke",
 | |
| 			"America/Denver|America/Boise",
 | |
| 			"America/Denver|America/Cambridge_Bay",
 | |
| 			"America/Denver|America/Edmonton",
 | |
| 			"America/Denver|America/Inuvik",
 | |
| 			"America/Denver|America/Shiprock",
 | |
| 			"America/Denver|America/Yellowknife",
 | |
| 			"America/Denver|Canada/Mountain",
 | |
| 			"America/Denver|MST7MDT",
 | |
| 			"America/Denver|Navajo",
 | |
| 			"America/Denver|US/Mountain",
 | |
| 			"America/Godthab|America/Nuuk",
 | |
| 			"America/Halifax|America/Glace_Bay",
 | |
| 			"America/Halifax|America/Goose_Bay",
 | |
| 			"America/Halifax|America/Moncton",
 | |
| 			"America/Halifax|America/Thule",
 | |
| 			"America/Halifax|Atlantic/Bermuda",
 | |
| 			"America/Halifax|Canada/Atlantic",
 | |
| 			"America/Havana|Cuba",
 | |
| 			"America/Lima|America/Bogota",
 | |
| 			"America/Lima|America/Eirunepe",
 | |
| 			"America/Lima|America/Guayaquil",
 | |
| 			"America/Lima|America/Porto_Acre",
 | |
| 			"America/Lima|America/Rio_Branco",
 | |
| 			"America/Lima|Brazil/Acre",
 | |
| 			"America/Lima|Etc/GMT+5",
 | |
| 			"America/Los_Angeles|America/Ensenada",
 | |
| 			"America/Los_Angeles|America/Santa_Isabel",
 | |
| 			"America/Los_Angeles|America/Tijuana",
 | |
| 			"America/Los_Angeles|America/Vancouver",
 | |
| 			"America/Los_Angeles|Canada/Pacific",
 | |
| 			"America/Los_Angeles|Mexico/BajaNorte",
 | |
| 			"America/Los_Angeles|PST8PDT",
 | |
| 			"America/Los_Angeles|US/Pacific",
 | |
| 			"America/Managua|America/Belize",
 | |
| 			"America/Managua|America/Costa_Rica",
 | |
| 			"America/Managua|America/El_Salvador",
 | |
| 			"America/Managua|America/Guatemala",
 | |
| 			"America/Managua|America/Regina",
 | |
| 			"America/Managua|America/Swift_Current",
 | |
| 			"America/Managua|America/Tegucigalpa",
 | |
| 			"America/Managua|Canada/Saskatchewan",
 | |
| 			"America/Mazatlan|Mexico/BajaSur",
 | |
| 			"America/Mexico_City|America/Bahia_Banderas",
 | |
| 			"America/Mexico_City|America/Merida",
 | |
| 			"America/Mexico_City|America/Monterrey",
 | |
| 			"America/Mexico_City|Mexico/General",
 | |
| 			"America/New_York|America/Detroit",
 | |
| 			"America/New_York|America/Fort_Wayne",
 | |
| 			"America/New_York|America/Grand_Turk",
 | |
| 			"America/New_York|America/Indiana/Indianapolis",
 | |
| 			"America/New_York|America/Indiana/Marengo",
 | |
| 			"America/New_York|America/Indiana/Petersburg",
 | |
| 			"America/New_York|America/Indiana/Vevay",
 | |
| 			"America/New_York|America/Indiana/Vincennes",
 | |
| 			"America/New_York|America/Indiana/Winamac",
 | |
| 			"America/New_York|America/Indianapolis",
 | |
| 			"America/New_York|America/Iqaluit",
 | |
| 			"America/New_York|America/Kentucky/Louisville",
 | |
| 			"America/New_York|America/Kentucky/Monticello",
 | |
| 			"America/New_York|America/Louisville",
 | |
| 			"America/New_York|America/Montreal",
 | |
| 			"America/New_York|America/Nassau",
 | |
| 			"America/New_York|America/Nipigon",
 | |
| 			"America/New_York|America/Pangnirtung",
 | |
| 			"America/New_York|America/Port-au-Prince",
 | |
| 			"America/New_York|America/Thunder_Bay",
 | |
| 			"America/New_York|America/Toronto",
 | |
| 			"America/New_York|Canada/Eastern",
 | |
| 			"America/New_York|EST5EDT",
 | |
| 			"America/New_York|US/East-Indiana",
 | |
| 			"America/New_York|US/Eastern",
 | |
| 			"America/New_York|US/Michigan",
 | |
| 			"America/Noronha|Atlantic/South_Georgia",
 | |
| 			"America/Noronha|Brazil/DeNoronha",
 | |
| 			"America/Noronha|Etc/GMT+2",
 | |
| 			"America/Panama|America/Atikokan",
 | |
| 			"America/Panama|America/Cancun",
 | |
| 			"America/Panama|America/Cayman",
 | |
| 			"America/Panama|America/Coral_Harbour",
 | |
| 			"America/Panama|America/Jamaica",
 | |
| 			"America/Panama|EST",
 | |
| 			"America/Panama|Jamaica",
 | |
| 			"America/Phoenix|America/Creston",
 | |
| 			"America/Phoenix|America/Dawson_Creek",
 | |
| 			"America/Phoenix|America/Fort_Nelson",
 | |
| 			"America/Phoenix|America/Hermosillo",
 | |
| 			"America/Phoenix|MST",
 | |
| 			"America/Phoenix|US/Arizona",
 | |
| 			"America/Santiago|Chile/Continental",
 | |
| 			"America/Santo_Domingo|America/Anguilla",
 | |
| 			"America/Santo_Domingo|America/Antigua",
 | |
| 			"America/Santo_Domingo|America/Aruba",
 | |
| 			"America/Santo_Domingo|America/Barbados",
 | |
| 			"America/Santo_Domingo|America/Blanc-Sablon",
 | |
| 			"America/Santo_Domingo|America/Curacao",
 | |
| 			"America/Santo_Domingo|America/Dominica",
 | |
| 			"America/Santo_Domingo|America/Grenada",
 | |
| 			"America/Santo_Domingo|America/Guadeloupe",
 | |
| 			"America/Santo_Domingo|America/Kralendijk",
 | |
| 			"America/Santo_Domingo|America/Lower_Princes",
 | |
| 			"America/Santo_Domingo|America/Marigot",
 | |
| 			"America/Santo_Domingo|America/Martinique",
 | |
| 			"America/Santo_Domingo|America/Montserrat",
 | |
| 			"America/Santo_Domingo|America/Port_of_Spain",
 | |
| 			"America/Santo_Domingo|America/Puerto_Rico",
 | |
| 			"America/Santo_Domingo|America/St_Barthelemy",
 | |
| 			"America/Santo_Domingo|America/St_Kitts",
 | |
| 			"America/Santo_Domingo|America/St_Lucia",
 | |
| 			"America/Santo_Domingo|America/St_Thomas",
 | |
| 			"America/Santo_Domingo|America/St_Vincent",
 | |
| 			"America/Santo_Domingo|America/Tortola",
 | |
| 			"America/Santo_Domingo|America/Virgin",
 | |
| 			"America/Sao_Paulo|America/Araguaina",
 | |
| 			"America/Sao_Paulo|America/Argentina/Buenos_Aires",
 | |
| 			"America/Sao_Paulo|America/Argentina/Catamarca",
 | |
| 			"America/Sao_Paulo|America/Argentina/ComodRivadavia",
 | |
| 			"America/Sao_Paulo|America/Argentina/Cordoba",
 | |
| 			"America/Sao_Paulo|America/Argentina/Jujuy",
 | |
| 			"America/Sao_Paulo|America/Argentina/La_Rioja",
 | |
| 			"America/Sao_Paulo|America/Argentina/Mendoza",
 | |
| 			"America/Sao_Paulo|America/Argentina/Rio_Gallegos",
 | |
| 			"America/Sao_Paulo|America/Argentina/Salta",
 | |
| 			"America/Sao_Paulo|America/Argentina/San_Juan",
 | |
| 			"America/Sao_Paulo|America/Argentina/San_Luis",
 | |
| 			"America/Sao_Paulo|America/Argentina/Tucuman",
 | |
| 			"America/Sao_Paulo|America/Argentina/Ushuaia",
 | |
| 			"America/Sao_Paulo|America/Bahia",
 | |
| 			"America/Sao_Paulo|America/Belem",
 | |
| 			"America/Sao_Paulo|America/Buenos_Aires",
 | |
| 			"America/Sao_Paulo|America/Catamarca",
 | |
| 			"America/Sao_Paulo|America/Cayenne",
 | |
| 			"America/Sao_Paulo|America/Cordoba",
 | |
| 			"America/Sao_Paulo|America/Fortaleza",
 | |
| 			"America/Sao_Paulo|America/Jujuy",
 | |
| 			"America/Sao_Paulo|America/Maceio",
 | |
| 			"America/Sao_Paulo|America/Mendoza",
 | |
| 			"America/Sao_Paulo|America/Montevideo",
 | |
| 			"America/Sao_Paulo|America/Paramaribo",
 | |
| 			"America/Sao_Paulo|America/Punta_Arenas",
 | |
| 			"America/Sao_Paulo|America/Recife",
 | |
| 			"America/Sao_Paulo|America/Rosario",
 | |
| 			"America/Sao_Paulo|America/Santarem",
 | |
| 			"America/Sao_Paulo|Antarctica/Palmer",
 | |
| 			"America/Sao_Paulo|Antarctica/Rothera",
 | |
| 			"America/Sao_Paulo|Atlantic/Stanley",
 | |
| 			"America/Sao_Paulo|Brazil/East",
 | |
| 			"America/Sao_Paulo|Etc/GMT+3",
 | |
| 			"America/St_Johns|Canada/Newfoundland",
 | |
| 			"America/Whitehorse|America/Dawson",
 | |
| 			"America/Whitehorse|Canada/Yukon",
 | |
| 			"Asia/Almaty|Asia/Qostanay",
 | |
| 			"Asia/Bangkok|Antarctica/Davis",
 | |
| 			"Asia/Bangkok|Asia/Barnaul",
 | |
| 			"Asia/Bangkok|Asia/Ho_Chi_Minh",
 | |
| 			"Asia/Bangkok|Asia/Hovd",
 | |
| 			"Asia/Bangkok|Asia/Krasnoyarsk",
 | |
| 			"Asia/Bangkok|Asia/Novokuznetsk",
 | |
| 			"Asia/Bangkok|Asia/Novosibirsk",
 | |
| 			"Asia/Bangkok|Asia/Phnom_Penh",
 | |
| 			"Asia/Bangkok|Asia/Saigon",
 | |
| 			"Asia/Bangkok|Asia/Tomsk",
 | |
| 			"Asia/Bangkok|Asia/Vientiane",
 | |
| 			"Asia/Bangkok|Etc/GMT-7",
 | |
| 			"Asia/Bangkok|Indian/Christmas",
 | |
| 			"Asia/Chita|Asia/Dili",
 | |
| 			"Asia/Chita|Asia/Khandyga",
 | |
| 			"Asia/Chita|Asia/Yakutsk",
 | |
| 			"Asia/Chita|Etc/GMT-9",
 | |
| 			"Asia/Chita|Pacific/Palau",
 | |
| 			"Asia/Dhaka|Asia/Bishkek",
 | |
| 			"Asia/Dhaka|Asia/Dacca",
 | |
| 			"Asia/Dhaka|Asia/Kashgar",
 | |
| 			"Asia/Dhaka|Asia/Omsk",
 | |
| 			"Asia/Dhaka|Asia/Thimbu",
 | |
| 			"Asia/Dhaka|Asia/Thimphu",
 | |
| 			"Asia/Dhaka|Asia/Urumqi",
 | |
| 			"Asia/Dhaka|Etc/GMT-6",
 | |
| 			"Asia/Dhaka|Indian/Chagos",
 | |
| 			"Asia/Dubai|Asia/Baku",
 | |
| 			"Asia/Dubai|Asia/Muscat",
 | |
| 			"Asia/Dubai|Asia/Tbilisi",
 | |
| 			"Asia/Dubai|Asia/Yerevan",
 | |
| 			"Asia/Dubai|Etc/GMT-4",
 | |
| 			"Asia/Dubai|Europe/Astrakhan",
 | |
| 			"Asia/Dubai|Europe/Samara",
 | |
| 			"Asia/Dubai|Europe/Saratov",
 | |
| 			"Asia/Dubai|Europe/Ulyanovsk",
 | |
| 			"Asia/Dubai|Indian/Mahe",
 | |
| 			"Asia/Dubai|Indian/Mauritius",
 | |
| 			"Asia/Dubai|Indian/Reunion",
 | |
| 			"Asia/Gaza|Asia/Hebron",
 | |
| 			"Asia/Hong_Kong|Hongkong",
 | |
| 			"Asia/Jakarta|Asia/Pontianak",
 | |
| 			"Asia/Jerusalem|Asia/Tel_Aviv",
 | |
| 			"Asia/Jerusalem|Israel",
 | |
| 			"Asia/Kamchatka|Asia/Anadyr",
 | |
| 			"Asia/Kamchatka|Etc/GMT-12",
 | |
| 			"Asia/Kamchatka|Kwajalein",
 | |
| 			"Asia/Kamchatka|Pacific/Funafuti",
 | |
| 			"Asia/Kamchatka|Pacific/Kwajalein",
 | |
| 			"Asia/Kamchatka|Pacific/Majuro",
 | |
| 			"Asia/Kamchatka|Pacific/Nauru",
 | |
| 			"Asia/Kamchatka|Pacific/Tarawa",
 | |
| 			"Asia/Kamchatka|Pacific/Wake",
 | |
| 			"Asia/Kamchatka|Pacific/Wallis",
 | |
| 			"Asia/Kathmandu|Asia/Katmandu",
 | |
| 			"Asia/Kolkata|Asia/Calcutta",
 | |
| 			"Asia/Kuala_Lumpur|Asia/Brunei",
 | |
| 			"Asia/Kuala_Lumpur|Asia/Choibalsan",
 | |
| 			"Asia/Kuala_Lumpur|Asia/Irkutsk",
 | |
| 			"Asia/Kuala_Lumpur|Asia/Kuching",
 | |
| 			"Asia/Kuala_Lumpur|Asia/Singapore",
 | |
| 			"Asia/Kuala_Lumpur|Asia/Ulaanbaatar",
 | |
| 			"Asia/Kuala_Lumpur|Asia/Ulan_Bator",
 | |
| 			"Asia/Kuala_Lumpur|Etc/GMT-8",
 | |
| 			"Asia/Kuala_Lumpur|Singapore",
 | |
| 			"Asia/Makassar|Asia/Ujung_Pandang",
 | |
| 			"Asia/Rangoon|Asia/Yangon",
 | |
| 			"Asia/Rangoon|Indian/Cocos",
 | |
| 			"Asia/Sakhalin|Asia/Magadan",
 | |
| 			"Asia/Sakhalin|Asia/Srednekolymsk",
 | |
| 			"Asia/Sakhalin|Etc/GMT-11",
 | |
| 			"Asia/Sakhalin|Pacific/Bougainville",
 | |
| 			"Asia/Sakhalin|Pacific/Efate",
 | |
| 			"Asia/Sakhalin|Pacific/Guadalcanal",
 | |
| 			"Asia/Sakhalin|Pacific/Kosrae",
 | |
| 			"Asia/Sakhalin|Pacific/Noumea",
 | |
| 			"Asia/Sakhalin|Pacific/Pohnpei",
 | |
| 			"Asia/Sakhalin|Pacific/Ponape",
 | |
| 			"Asia/Seoul|Asia/Pyongyang",
 | |
| 			"Asia/Seoul|ROK",
 | |
| 			"Asia/Shanghai|Asia/Chongqing",
 | |
| 			"Asia/Shanghai|Asia/Chungking",
 | |
| 			"Asia/Shanghai|Asia/Harbin",
 | |
| 			"Asia/Shanghai|Asia/Macao",
 | |
| 			"Asia/Shanghai|Asia/Macau",
 | |
| 			"Asia/Shanghai|Asia/Taipei",
 | |
| 			"Asia/Shanghai|PRC",
 | |
| 			"Asia/Shanghai|ROC",
 | |
| 			"Asia/Tashkent|Antarctica/Mawson",
 | |
| 			"Asia/Tashkent|Asia/Aqtau",
 | |
| 			"Asia/Tashkent|Asia/Aqtobe",
 | |
| 			"Asia/Tashkent|Asia/Ashgabat",
 | |
| 			"Asia/Tashkent|Asia/Ashkhabad",
 | |
| 			"Asia/Tashkent|Asia/Atyrau",
 | |
| 			"Asia/Tashkent|Asia/Dushanbe",
 | |
| 			"Asia/Tashkent|Asia/Oral",
 | |
| 			"Asia/Tashkent|Asia/Qyzylorda",
 | |
| 			"Asia/Tashkent|Asia/Samarkand",
 | |
| 			"Asia/Tashkent|Asia/Yekaterinburg",
 | |
| 			"Asia/Tashkent|Etc/GMT-5",
 | |
| 			"Asia/Tashkent|Indian/Kerguelen",
 | |
| 			"Asia/Tashkent|Indian/Maldives",
 | |
| 			"Asia/Tehran|Iran",
 | |
| 			"Asia/Tokyo|Japan",
 | |
| 			"Asia/Vladivostok|Antarctica/DumontDUrville",
 | |
| 			"Asia/Vladivostok|Asia/Ust-Nera",
 | |
| 			"Asia/Vladivostok|Etc/GMT-10",
 | |
| 			"Asia/Vladivostok|Pacific/Chuuk",
 | |
| 			"Asia/Vladivostok|Pacific/Port_Moresby",
 | |
| 			"Asia/Vladivostok|Pacific/Truk",
 | |
| 			"Asia/Vladivostok|Pacific/Yap",
 | |
| 			"Atlantic/Cape_Verde|Etc/GMT+1",
 | |
| 			"Australia/Adelaide|Australia/Broken_Hill",
 | |
| 			"Australia/Adelaide|Australia/South",
 | |
| 			"Australia/Adelaide|Australia/Yancowinna",
 | |
| 			"Australia/Brisbane|Australia/Lindeman",
 | |
| 			"Australia/Brisbane|Australia/Queensland",
 | |
| 			"Australia/Darwin|Australia/North",
 | |
| 			"Australia/Lord_Howe|Australia/LHI",
 | |
| 			"Australia/Perth|Australia/West",
 | |
| 			"Australia/Sydney|Antarctica/Macquarie",
 | |
| 			"Australia/Sydney|Australia/ACT",
 | |
| 			"Australia/Sydney|Australia/Canberra",
 | |
| 			"Australia/Sydney|Australia/Currie",
 | |
| 			"Australia/Sydney|Australia/Hobart",
 | |
| 			"Australia/Sydney|Australia/Melbourne",
 | |
| 			"Australia/Sydney|Australia/NSW",
 | |
| 			"Australia/Sydney|Australia/Tasmania",
 | |
| 			"Australia/Sydney|Australia/Victoria",
 | |
| 			"Etc/UTC|Etc/UCT",
 | |
| 			"Etc/UTC|Etc/Universal",
 | |
| 			"Etc/UTC|Etc/Zulu",
 | |
| 			"Etc/UTC|UCT",
 | |
| 			"Etc/UTC|UTC",
 | |
| 			"Etc/UTC|Universal",
 | |
| 			"Etc/UTC|Zulu",
 | |
| 			"Europe/Athens|Asia/Famagusta",
 | |
| 			"Europe/Athens|Asia/Nicosia",
 | |
| 			"Europe/Athens|EET",
 | |
| 			"Europe/Athens|Europe/Bucharest",
 | |
| 			"Europe/Athens|Europe/Helsinki",
 | |
| 			"Europe/Athens|Europe/Kiev",
 | |
| 			"Europe/Athens|Europe/Kyiv",
 | |
| 			"Europe/Athens|Europe/Mariehamn",
 | |
| 			"Europe/Athens|Europe/Nicosia",
 | |
| 			"Europe/Athens|Europe/Riga",
 | |
| 			"Europe/Athens|Europe/Sofia",
 | |
| 			"Europe/Athens|Europe/Tallinn",
 | |
| 			"Europe/Athens|Europe/Uzhgorod",
 | |
| 			"Europe/Athens|Europe/Vilnius",
 | |
| 			"Europe/Athens|Europe/Zaporozhye",
 | |
| 			"Europe/Chisinau|Europe/Tiraspol",
 | |
| 			"Europe/Dublin|Eire",
 | |
| 			"Europe/Istanbul|Antarctica/Syowa",
 | |
| 			"Europe/Istanbul|Asia/Aden",
 | |
| 			"Europe/Istanbul|Asia/Baghdad",
 | |
| 			"Europe/Istanbul|Asia/Bahrain",
 | |
| 			"Europe/Istanbul|Asia/Istanbul",
 | |
| 			"Europe/Istanbul|Asia/Kuwait",
 | |
| 			"Europe/Istanbul|Asia/Qatar",
 | |
| 			"Europe/Istanbul|Asia/Riyadh",
 | |
| 			"Europe/Istanbul|Etc/GMT-3",
 | |
| 			"Europe/Istanbul|Europe/Minsk",
 | |
| 			"Europe/Istanbul|Turkey",
 | |
| 			"Europe/Lisbon|Atlantic/Canary",
 | |
| 			"Europe/Lisbon|Atlantic/Faeroe",
 | |
| 			"Europe/Lisbon|Atlantic/Faroe",
 | |
| 			"Europe/Lisbon|Atlantic/Madeira",
 | |
| 			"Europe/Lisbon|Portugal",
 | |
| 			"Europe/Lisbon|WET",
 | |
| 			"Europe/London|Europe/Belfast",
 | |
| 			"Europe/London|Europe/Guernsey",
 | |
| 			"Europe/London|Europe/Isle_of_Man",
 | |
| 			"Europe/London|Europe/Jersey",
 | |
| 			"Europe/London|GB",
 | |
| 			"Europe/London|GB-Eire",
 | |
| 			"Europe/Moscow|Europe/Kirov",
 | |
| 			"Europe/Moscow|Europe/Simferopol",
 | |
| 			"Europe/Moscow|W-SU",
 | |
| 			"Europe/Paris|Africa/Ceuta",
 | |
| 			"Europe/Paris|Arctic/Longyearbyen",
 | |
| 			"Europe/Paris|Atlantic/Jan_Mayen",
 | |
| 			"Europe/Paris|CET",
 | |
| 			"Europe/Paris|Europe/Amsterdam",
 | |
| 			"Europe/Paris|Europe/Andorra",
 | |
| 			"Europe/Paris|Europe/Belgrade",
 | |
| 			"Europe/Paris|Europe/Berlin",
 | |
| 			"Europe/Paris|Europe/Bratislava",
 | |
| 			"Europe/Paris|Europe/Brussels",
 | |
| 			"Europe/Paris|Europe/Budapest",
 | |
| 			"Europe/Paris|Europe/Busingen",
 | |
| 			"Europe/Paris|Europe/Copenhagen",
 | |
| 			"Europe/Paris|Europe/Gibraltar",
 | |
| 			"Europe/Paris|Europe/Ljubljana",
 | |
| 			"Europe/Paris|Europe/Luxembourg",
 | |
| 			"Europe/Paris|Europe/Madrid",
 | |
| 			"Europe/Paris|Europe/Malta",
 | |
| 			"Europe/Paris|Europe/Monaco",
 | |
| 			"Europe/Paris|Europe/Oslo",
 | |
| 			"Europe/Paris|Europe/Podgorica",
 | |
| 			"Europe/Paris|Europe/Prague",
 | |
| 			"Europe/Paris|Europe/Rome",
 | |
| 			"Europe/Paris|Europe/San_Marino",
 | |
| 			"Europe/Paris|Europe/Sarajevo",
 | |
| 			"Europe/Paris|Europe/Skopje",
 | |
| 			"Europe/Paris|Europe/Stockholm",
 | |
| 			"Europe/Paris|Europe/Tirane",
 | |
| 			"Europe/Paris|Europe/Vaduz",
 | |
| 			"Europe/Paris|Europe/Vatican",
 | |
| 			"Europe/Paris|Europe/Vienna",
 | |
| 			"Europe/Paris|Europe/Warsaw",
 | |
| 			"Europe/Paris|Europe/Zagreb",
 | |
| 			"Europe/Paris|Europe/Zurich",
 | |
| 			"Europe/Paris|MET",
 | |
| 			"Europe/Paris|Poland",
 | |
| 			"Pacific/Auckland|Antarctica/McMurdo",
 | |
| 			"Pacific/Auckland|Antarctica/South_Pole",
 | |
| 			"Pacific/Auckland|NZ",
 | |
| 			"Pacific/Chatham|NZ-CHAT",
 | |
| 			"Pacific/Easter|Chile/EasterIsland",
 | |
| 			"Pacific/Galapagos|Etc/GMT+6",
 | |
| 			"Pacific/Gambier|Etc/GMT+9",
 | |
| 			"Pacific/Guam|Pacific/Saipan",
 | |
| 			"Pacific/Honolulu|HST",
 | |
| 			"Pacific/Honolulu|Pacific/Johnston",
 | |
| 			"Pacific/Honolulu|US/Hawaii",
 | |
| 			"Pacific/Kiritimati|Etc/GMT-14",
 | |
| 			"Pacific/Niue|Etc/GMT+11",
 | |
| 			"Pacific/Pago_Pago|Pacific/Midway",
 | |
| 			"Pacific/Pago_Pago|Pacific/Samoa",
 | |
| 			"Pacific/Pago_Pago|US/Samoa",
 | |
| 			"Pacific/Pitcairn|Etc/GMT+8",
 | |
| 			"Pacific/Tahiti|Etc/GMT+10",
 | |
| 			"Pacific/Tahiti|Pacific/Rarotonga",
 | |
| 			"Pacific/Tongatapu|Etc/GMT-13",
 | |
| 			"Pacific/Tongatapu|Pacific/Enderbury",
 | |
| 			"Pacific/Tongatapu|Pacific/Fakaofo",
 | |
| 			"Pacific/Tongatapu|Pacific/Kanton"
 | |
| 		],
 | |
| 		"countries": [
 | |
| 			"AD|Europe/Andorra",
 | |
| 			"AE|Asia/Dubai",
 | |
| 			"AF|Asia/Kabul",
 | |
| 			"AG|America/Puerto_Rico America/Antigua",
 | |
| 			"AI|America/Puerto_Rico America/Anguilla",
 | |
| 			"AL|Europe/Tirane",
 | |
| 			"AM|Asia/Yerevan",
 | |
| 			"AO|Africa/Lagos Africa/Luanda",
 | |
| 			"AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Antarctica/Vostok Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Asia/Singapore Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa",
 | |
| 			"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia",
 | |
| 			"AS|Pacific/Pago_Pago",
 | |
| 			"AT|Europe/Vienna",
 | |
| 			"AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla Asia/Tokyo",
 | |
| 			"AW|America/Puerto_Rico America/Aruba",
 | |
| 			"AX|Europe/Helsinki Europe/Mariehamn",
 | |
| 			"AZ|Asia/Baku",
 | |
| 			"BA|Europe/Belgrade Europe/Sarajevo",
 | |
| 			"BB|America/Barbados",
 | |
| 			"BD|Asia/Dhaka",
 | |
| 			"BE|Europe/Brussels",
 | |
| 			"BF|Africa/Abidjan Africa/Ouagadougou",
 | |
| 			"BG|Europe/Sofia",
 | |
| 			"BH|Asia/Qatar Asia/Bahrain",
 | |
| 			"BI|Africa/Maputo Africa/Bujumbura",
 | |
| 			"BJ|Africa/Lagos Africa/Porto-Novo",
 | |
| 			"BL|America/Puerto_Rico America/St_Barthelemy",
 | |
| 			"BM|Atlantic/Bermuda",
 | |
| 			"BN|Asia/Kuching Asia/Brunei",
 | |
| 			"BO|America/La_Paz",
 | |
| 			"BQ|America/Puerto_Rico America/Kralendijk",
 | |
| 			"BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco",
 | |
| 			"BS|America/Toronto America/Nassau",
 | |
| 			"BT|Asia/Thimphu",
 | |
| 			"BW|Africa/Maputo Africa/Gaborone",
 | |
| 			"BY|Europe/Minsk",
 | |
| 			"BZ|America/Belize",
 | |
| 			"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Toronto America/Iqaluit America/Winnipeg America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Inuvik America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver America/Panama America/Puerto_Rico America/Phoenix America/Blanc-Sablon America/Atikokan America/Creston",
 | |
| 			"CC|Asia/Yangon Indian/Cocos",
 | |
| 			"CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi",
 | |
| 			"CF|Africa/Lagos Africa/Bangui",
 | |
| 			"CG|Africa/Lagos Africa/Brazzaville",
 | |
| 			"CH|Europe/Zurich",
 | |
| 			"CI|Africa/Abidjan",
 | |
| 			"CK|Pacific/Rarotonga",
 | |
| 			"CL|America/Santiago America/Coyhaique America/Punta_Arenas Pacific/Easter",
 | |
| 			"CM|Africa/Lagos Africa/Douala",
 | |
| 			"CN|Asia/Shanghai Asia/Urumqi",
 | |
| 			"CO|America/Bogota",
 | |
| 			"CR|America/Costa_Rica",
 | |
| 			"CU|America/Havana",
 | |
| 			"CV|Atlantic/Cape_Verde",
 | |
| 			"CW|America/Puerto_Rico America/Curacao",
 | |
| 			"CX|Asia/Bangkok Indian/Christmas",
 | |
| 			"CY|Asia/Nicosia Asia/Famagusta",
 | |
| 			"CZ|Europe/Prague",
 | |
| 			"DE|Europe/Zurich Europe/Berlin Europe/Busingen",
 | |
| 			"DJ|Africa/Nairobi Africa/Djibouti",
 | |
| 			"DK|Europe/Berlin Europe/Copenhagen",
 | |
| 			"DM|America/Puerto_Rico America/Dominica",
 | |
| 			"DO|America/Santo_Domingo",
 | |
| 			"DZ|Africa/Algiers",
 | |
| 			"EC|America/Guayaquil Pacific/Galapagos",
 | |
| 			"EE|Europe/Tallinn",
 | |
| 			"EG|Africa/Cairo",
 | |
| 			"EH|Africa/El_Aaiun",
 | |
| 			"ER|Africa/Nairobi Africa/Asmara",
 | |
| 			"ES|Europe/Madrid Africa/Ceuta Atlantic/Canary",
 | |
| 			"ET|Africa/Nairobi Africa/Addis_Ababa",
 | |
| 			"FI|Europe/Helsinki",
 | |
| 			"FJ|Pacific/Fiji",
 | |
| 			"FK|Atlantic/Stanley",
 | |
| 			"FM|Pacific/Kosrae Pacific/Port_Moresby Pacific/Guadalcanal Pacific/Chuuk Pacific/Pohnpei",
 | |
| 			"FO|Atlantic/Faroe",
 | |
| 			"FR|Europe/Paris",
 | |
| 			"GA|Africa/Lagos Africa/Libreville",
 | |
| 			"GB|Europe/London",
 | |
| 			"GD|America/Puerto_Rico America/Grenada",
 | |
| 			"GE|Asia/Tbilisi",
 | |
| 			"GF|America/Cayenne",
 | |
| 			"GG|Europe/London Europe/Guernsey",
 | |
| 			"GH|Africa/Abidjan Africa/Accra",
 | |
| 			"GI|Europe/Gibraltar",
 | |
| 			"GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule",
 | |
| 			"GM|Africa/Abidjan Africa/Banjul",
 | |
| 			"GN|Africa/Abidjan Africa/Conakry",
 | |
| 			"GP|America/Puerto_Rico America/Guadeloupe",
 | |
| 			"GQ|Africa/Lagos Africa/Malabo",
 | |
| 			"GR|Europe/Athens",
 | |
| 			"GS|Atlantic/South_Georgia",
 | |
| 			"GT|America/Guatemala",
 | |
| 			"GU|Pacific/Guam",
 | |
| 			"GW|Africa/Bissau",
 | |
| 			"GY|America/Guyana",
 | |
| 			"HK|Asia/Hong_Kong",
 | |
| 			"HN|America/Tegucigalpa",
 | |
| 			"HR|Europe/Belgrade Europe/Zagreb",
 | |
| 			"HT|America/Port-au-Prince",
 | |
| 			"HU|Europe/Budapest",
 | |
| 			"ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura",
 | |
| 			"IE|Europe/Dublin",
 | |
| 			"IL|Asia/Jerusalem",
 | |
| 			"IM|Europe/London Europe/Isle_of_Man",
 | |
| 			"IN|Asia/Kolkata",
 | |
| 			"IO|Indian/Chagos",
 | |
| 			"IQ|Asia/Baghdad",
 | |
| 			"IR|Asia/Tehran",
 | |
| 			"IS|Africa/Abidjan Atlantic/Reykjavik",
 | |
| 			"IT|Europe/Rome",
 | |
| 			"JE|Europe/London Europe/Jersey",
 | |
| 			"JM|America/Jamaica",
 | |
| 			"JO|Asia/Amman",
 | |
| 			"JP|Asia/Tokyo",
 | |
| 			"KE|Africa/Nairobi",
 | |
| 			"KG|Asia/Bishkek",
 | |
| 			"KH|Asia/Bangkok Asia/Phnom_Penh",
 | |
| 			"KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati",
 | |
| 			"KM|Africa/Nairobi Indian/Comoro",
 | |
| 			"KN|America/Puerto_Rico America/St_Kitts",
 | |
| 			"KP|Asia/Pyongyang",
 | |
| 			"KR|Asia/Seoul",
 | |
| 			"KW|Asia/Riyadh Asia/Kuwait",
 | |
| 			"KY|America/Panama America/Cayman",
 | |
| 			"KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral",
 | |
| 			"LA|Asia/Bangkok Asia/Vientiane",
 | |
| 			"LB|Asia/Beirut",
 | |
| 			"LC|America/Puerto_Rico America/St_Lucia",
 | |
| 			"LI|Europe/Zurich Europe/Vaduz",
 | |
| 			"LK|Asia/Colombo",
 | |
| 			"LR|Africa/Monrovia",
 | |
| 			"LS|Africa/Johannesburg Africa/Maseru",
 | |
| 			"LT|Europe/Vilnius",
 | |
| 			"LU|Europe/Brussels Europe/Luxembourg",
 | |
| 			"LV|Europe/Riga",
 | |
| 			"LY|Africa/Tripoli",
 | |
| 			"MA|Africa/Casablanca",
 | |
| 			"MC|Europe/Paris Europe/Monaco",
 | |
| 			"MD|Europe/Chisinau",
 | |
| 			"ME|Europe/Belgrade Europe/Podgorica",
 | |
| 			"MF|America/Puerto_Rico America/Marigot",
 | |
| 			"MG|Africa/Nairobi Indian/Antananarivo",
 | |
| 			"MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro",
 | |
| 			"MK|Europe/Belgrade Europe/Skopje",
 | |
| 			"ML|Africa/Abidjan Africa/Bamako",
 | |
| 			"MM|Asia/Yangon",
 | |
| 			"MN|Asia/Ulaanbaatar Asia/Hovd",
 | |
| 			"MO|Asia/Macau",
 | |
| 			"MP|Pacific/Guam Pacific/Saipan",
 | |
| 			"MQ|America/Martinique",
 | |
| 			"MR|Africa/Abidjan Africa/Nouakchott",
 | |
| 			"MS|America/Puerto_Rico America/Montserrat",
 | |
| 			"MT|Europe/Malta",
 | |
| 			"MU|Indian/Mauritius",
 | |
| 			"MV|Indian/Maldives",
 | |
| 			"MW|Africa/Maputo Africa/Blantyre",
 | |
| 			"MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Chihuahua America/Ciudad_Juarez America/Ojinaga America/Mazatlan America/Bahia_Banderas America/Hermosillo America/Tijuana",
 | |
| 			"MY|Asia/Kuching Asia/Singapore Asia/Kuala_Lumpur",
 | |
| 			"MZ|Africa/Maputo",
 | |
| 			"NA|Africa/Windhoek",
 | |
| 			"NC|Pacific/Noumea",
 | |
| 			"NE|Africa/Lagos Africa/Niamey",
 | |
| 			"NF|Pacific/Norfolk",
 | |
| 			"NG|Africa/Lagos",
 | |
| 			"NI|America/Managua",
 | |
| 			"NL|Europe/Brussels Europe/Amsterdam",
 | |
| 			"NO|Europe/Berlin Europe/Oslo",
 | |
| 			"NP|Asia/Kathmandu",
 | |
| 			"NR|Pacific/Nauru",
 | |
| 			"NU|Pacific/Niue",
 | |
| 			"NZ|Pacific/Auckland Pacific/Chatham",
 | |
| 			"OM|Asia/Dubai Asia/Muscat",
 | |
| 			"PA|America/Panama",
 | |
| 			"PE|America/Lima",
 | |
| 			"PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier",
 | |
| 			"PG|Pacific/Port_Moresby Pacific/Bougainville",
 | |
| 			"PH|Asia/Manila",
 | |
| 			"PK|Asia/Karachi",
 | |
| 			"PL|Europe/Warsaw",
 | |
| 			"PM|America/Miquelon",
 | |
| 			"PN|Pacific/Pitcairn",
 | |
| 			"PR|America/Puerto_Rico",
 | |
| 			"PS|Asia/Gaza Asia/Hebron",
 | |
| 			"PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores",
 | |
| 			"PW|Pacific/Palau",
 | |
| 			"PY|America/Asuncion",
 | |
| 			"QA|Asia/Qatar",
 | |
| 			"RE|Asia/Dubai Indian/Reunion",
 | |
| 			"RO|Europe/Bucharest",
 | |
| 			"RS|Europe/Belgrade",
 | |
| 			"RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr",
 | |
| 			"RW|Africa/Maputo Africa/Kigali",
 | |
| 			"SA|Asia/Riyadh",
 | |
| 			"SB|Pacific/Guadalcanal",
 | |
| 			"SC|Asia/Dubai Indian/Mahe",
 | |
| 			"SD|Africa/Khartoum",
 | |
| 			"SE|Europe/Berlin Europe/Stockholm",
 | |
| 			"SG|Asia/Singapore",
 | |
| 			"SH|Africa/Abidjan Atlantic/St_Helena",
 | |
| 			"SI|Europe/Belgrade Europe/Ljubljana",
 | |
| 			"SJ|Europe/Berlin Arctic/Longyearbyen",
 | |
| 			"SK|Europe/Prague Europe/Bratislava",
 | |
| 			"SL|Africa/Abidjan Africa/Freetown",
 | |
| 			"SM|Europe/Rome Europe/San_Marino",
 | |
| 			"SN|Africa/Abidjan Africa/Dakar",
 | |
| 			"SO|Africa/Nairobi Africa/Mogadishu",
 | |
| 			"SR|America/Paramaribo",
 | |
| 			"SS|Africa/Juba",
 | |
| 			"ST|Africa/Sao_Tome",
 | |
| 			"SV|America/El_Salvador",
 | |
| 			"SX|America/Puerto_Rico America/Lower_Princes",
 | |
| 			"SY|Asia/Damascus",
 | |
| 			"SZ|Africa/Johannesburg Africa/Mbabane",
 | |
| 			"TC|America/Grand_Turk",
 | |
| 			"TD|Africa/Ndjamena",
 | |
| 			"TF|Asia/Dubai Indian/Maldives Indian/Kerguelen",
 | |
| 			"TG|Africa/Abidjan Africa/Lome",
 | |
| 			"TH|Asia/Bangkok",
 | |
| 			"TJ|Asia/Dushanbe",
 | |
| 			"TK|Pacific/Fakaofo",
 | |
| 			"TL|Asia/Dili",
 | |
| 			"TM|Asia/Ashgabat",
 | |
| 			"TN|Africa/Tunis",
 | |
| 			"TO|Pacific/Tongatapu",
 | |
| 			"TR|Europe/Istanbul",
 | |
| 			"TT|America/Puerto_Rico America/Port_of_Spain",
 | |
| 			"TV|Pacific/Tarawa Pacific/Funafuti",
 | |
| 			"TW|Asia/Taipei",
 | |
| 			"TZ|Africa/Nairobi Africa/Dar_es_Salaam",
 | |
| 			"UA|Europe/Simferopol Europe/Kyiv",
 | |
| 			"UG|Africa/Nairobi Africa/Kampala",
 | |
| 			"UM|Pacific/Pago_Pago Pacific/Tarawa Pacific/Midway Pacific/Wake",
 | |
| 			"US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu",
 | |
| 			"UY|America/Montevideo",
 | |
| 			"UZ|Asia/Samarkand Asia/Tashkent",
 | |
| 			"VA|Europe/Rome Europe/Vatican",
 | |
| 			"VC|America/Puerto_Rico America/St_Vincent",
 | |
| 			"VE|America/Caracas",
 | |
| 			"VG|America/Puerto_Rico America/Tortola",
 | |
| 			"VI|America/Puerto_Rico America/St_Thomas",
 | |
| 			"VN|Asia/Bangkok Asia/Ho_Chi_Minh",
 | |
| 			"VU|Pacific/Efate",
 | |
| 			"WF|Pacific/Tarawa Pacific/Wallis",
 | |
| 			"WS|Pacific/Apia",
 | |
| 			"YE|Asia/Riyadh Asia/Aden",
 | |
| 			"YT|Africa/Nairobi Indian/Mayotte",
 | |
| 			"ZA|Africa/Johannesburg",
 | |
| 			"ZM|Africa/Maputo Africa/Lusaka",
 | |
| 			"ZW|Africa/Maputo Africa/Harare"
 | |
| 		]
 | |
| 	});
 | |
| 
 | |
| 
 | |
| 	return moment;
 | |
| }));
 |