lumenize
Version:
Illuminating the forest AND the trees in your data.
1,186 lines (1,123 loc) • 664 kB
JavaScript
/*
lumenize version: 0.8.4
*/
var require = function (file, cwd) {
var resolved = require.resolve(file, cwd || '/');
var mod = require.modules[resolved];
if (!mod) throw new Error(
'Failed to resolve module ' + file + ', tried ' + resolved
);
var cached = require.cache[resolved];
var res = cached? cached.exports : mod();
return res;
};
require.paths = [];
require.modules = {};
require.cache = {};
require.extensions = [".js",".coffee",".json"];
require._core = {
'assert': true,
'events': true,
'fs': true,
'path': true,
'vm': true
};
require.resolve = (function () {
return function (x, cwd) {
if (!cwd) cwd = '/';
if (require._core[x]) return x;
var path = require.modules.path();
cwd = path.resolve('/', cwd);
var y = cwd || '/';
if (x.match(/^(?:\.\.?\/|\/)/)) {
var m = loadAsFileSync(path.resolve(y, x))
|| loadAsDirectorySync(path.resolve(y, x));
if (m) return m;
}
var n = loadNodeModulesSync(x, y);
if (n) return n;
throw new Error("Cannot find module '" + x + "'");
function loadAsFileSync (x) {
x = path.normalize(x);
if (require.modules[x]) {
return x;
}
for (var i = 0; i < require.extensions.length; i++) {
var ext = require.extensions[i];
if (require.modules[x + ext]) return x + ext;
}
}
function loadAsDirectorySync (x) {
x = x.replace(/\/+$/, '');
var pkgfile = path.normalize(x + '/package.json');
if (require.modules[pkgfile]) {
var pkg = require.modules[pkgfile]();
var b = pkg.browserify;
if (typeof b === 'object' && b.main) {
var m = loadAsFileSync(path.resolve(x, b.main));
if (m) return m;
}
else if (typeof b === 'string') {
var m = loadAsFileSync(path.resolve(x, b));
if (m) return m;
}
else if (pkg.main) {
var m = loadAsFileSync(path.resolve(x, pkg.main));
if (m) return m;
}
}
return loadAsFileSync(x + '/index');
}
function loadNodeModulesSync (x, start) {
var dirs = nodeModulesPathsSync(start);
for (var i = 0; i < dirs.length; i++) {
var dir = dirs[i];
var m = loadAsFileSync(dir + '/' + x);
if (m) return m;
var n = loadAsDirectorySync(dir + '/' + x);
if (n) return n;
}
var m = loadAsFileSync(x);
if (m) return m;
}
function nodeModulesPathsSync (start) {
var parts;
if (start === '/') parts = [ '' ];
else parts = path.normalize(start).split('/');
var dirs = [];
for (var i = parts.length - 1; i >= 0; i--) {
if (parts[i] === 'node_modules') continue;
var dir = parts.slice(0, i + 1).join('/') + '/node_modules';
dirs.push(dir);
}
return dirs;
}
};
})();
require.alias = function (from, to) {
var path = require.modules.path();
var res = null;
try {
res = require.resolve(from + '/package.json', '/');
}
catch (err) {
res = require.resolve(from, '/');
}
var basedir = path.dirname(res);
var keys = (Object.keys || function (obj) {
var res = [];
for (var key in obj) res.push(key);
return res;
})(require.modules);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (key.slice(0, basedir.length + 1) === basedir + '/') {
var f = key.slice(basedir.length);
require.modules[to + f] = require.modules[basedir + f];
}
else if (key === basedir) {
require.modules[to] = require.modules[basedir];
}
}
};
(function () {
var process = {};
var global = typeof window !== 'undefined' ? window : {};
var definedProcess = false;
require.define = function (filename, fn) {
if (!definedProcess && require.modules.__browserify_process) {
process = require.modules.__browserify_process();
definedProcess = true;
}
var dirname = require._core[filename]
? ''
: require.modules.path().dirname(filename)
;
var require_ = function (file) {
var requiredModule = require(file, dirname);
var cached = require.cache[require.resolve(file, dirname)];
if (cached && cached.parent === null) {
cached.parent = module_;
}
return requiredModule;
};
require_.resolve = function (name) {
return require.resolve(name, dirname);
};
require_.modules = require.modules;
require_.define = require.define;
require_.cache = require.cache;
var module_ = {
id : filename,
filename: filename,
exports : {},
loaded : false,
parent: null
};
require.modules[filename] = function () {
require.cache[filename] = module_;
fn.call(
module_.exports,
require_,
module_,
module_.exports,
dirname,
filename,
process,
global
);
module_.loaded = true;
return module_.exports;
};
};
})();
require.define("path",function(require,module,exports,__dirname,__filename,process,global){function filter (xs, fn) {
var res = [];
for (var i = 0; i < xs.length; i++) {
if (fn(xs[i], i, xs)) res.push(xs[i]);
}
return res;
}
// resolves . and .. elements in a path array with directory names there
// must be no slashes, empty elements, or device names (c:\) in the array
// (so also no leading and trailing slashes - it does not distinguish
// relative and absolute paths)
function normalizeArray(parts, allowAboveRoot) {
// if the path tries to go above the root, `up` ends up > 0
var up = 0;
for (var i = parts.length; i >= 0; i--) {
var last = parts[i];
if (last == '.') {
parts.splice(i, 1);
} else if (last === '..') {
parts.splice(i, 1);
up++;
} else if (up) {
parts.splice(i, 1);
up--;
}
}
// if the path is allowed to go above the root, restore leading ..s
if (allowAboveRoot) {
for (; up--; up) {
parts.unshift('..');
}
}
return parts;
}
// Regex to split a filename into [*, dir, basename, ext]
// posix version
var splitPathRe = /^(.+\/(?!$)|\/)?((?:.+?)?(\.[^.]*)?)$/;
// path.resolve([from ...], to)
// posix version
exports.resolve = function() {
var resolvedPath = '',
resolvedAbsolute = false;
for (var i = arguments.length; i >= -1 && !resolvedAbsolute; i--) {
var path = (i >= 0)
? arguments[i]
: process.cwd();
// Skip empty and invalid entries
if (typeof path !== 'string' || !path) {
continue;
}
resolvedPath = path + '/' + resolvedPath;
resolvedAbsolute = path.charAt(0) === '/';
}
// At this point the path should be resolved to a full absolute path, but
// handle relative paths to be safe (might happen when process.cwd() fails)
// Normalize the path
resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {
return !!p;
}), !resolvedAbsolute).join('/');
return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
};
// path.normalize(path)
// posix version
exports.normalize = function(path) {
var isAbsolute = path.charAt(0) === '/',
trailingSlash = path.slice(-1) === '/';
// Normalize the path
path = normalizeArray(filter(path.split('/'), function(p) {
return !!p;
}), !isAbsolute).join('/');
if (!path && !isAbsolute) {
path = '.';
}
if (path && trailingSlash) {
path += '/';
}
return (isAbsolute ? '/' : '') + path;
};
// posix version
exports.join = function() {
var paths = Array.prototype.slice.call(arguments, 0);
return exports.normalize(filter(paths, function(p, index) {
return p && typeof p === 'string';
}).join('/'));
};
exports.dirname = function(path) {
var dir = splitPathRe.exec(path)[1] || '';
var isWindows = false;
if (!dir) {
// No dirname
return '.';
} else if (dir.length === 1 ||
(isWindows && dir.length <= 3 && dir.charAt(1) === ':')) {
// It is just a slash or a drive letter with a slash
return dir;
} else {
// It is a full dirname, strip trailing slash
return dir.substring(0, dir.length - 1);
}
};
exports.basename = function(path, ext) {
var f = splitPathRe.exec(path)[2] || '';
// TODO: make this comparison case-insensitive on windows?
if (ext && f.substr(-1 * ext.length) === ext) {
f = f.substr(0, f.length - ext.length);
}
return f;
};
exports.extname = function(path) {
return splitPathRe.exec(path)[3] || '';
};
});
require.define("__browserify_process",function(require,module,exports,__dirname,__filename,process,global){var process = module.exports = {};
process.nextTick = (function () {
var canSetImmediate = typeof window !== 'undefined'
&& window.setImmediate;
var canPost = typeof window !== 'undefined'
&& window.postMessage && window.addEventListener
;
if (canSetImmediate) {
return function (f) { return window.setImmediate(f) };
}
if (canPost) {
var queue = [];
window.addEventListener('message', function (ev) {
if (ev.source === window && ev.data === 'browserify-tick') {
ev.stopPropagation();
if (queue.length > 0) {
var fn = queue.shift();
fn();
}
}
}, true);
return function nextTick(fn) {
queue.push(fn);
window.postMessage('browserify-tick', '*');
};
}
return function nextTick(fn) {
setTimeout(fn, 0);
};
})();
process.title = 'browser';
process.browser = true;
process.env = {};
process.argv = [];
process.binding = function (name) {
if (name === 'evals') return (require)('vm')
else throw new Error('No such module. (Possibly not yet loaded)')
};
(function () {
var cwd = '/';
var path;
process.cwd = function () { return cwd };
process.chdir = function (dir) {
if (!path) path = require('path');
cwd = path.resolve(dir, cwd);
};
})();
});
require.define("/node_modules/files",function(require,module,exports,__dirname,__filename,process,global){module.exports = {"tz/africa":"Rule\tAlgeria\t1916\tonly\t-\tJun\t14\t23:00s\t1:00\tS\n"+
"Rule\tAlgeria\t1916\t1919\t-\tOct\tSun>=1\t23:00s\t0\t-\n"+
"Rule\tAlgeria\t1917\tonly\t-\tMar\t24\t23:00s\t1:00\tS\n"+
"Rule\tAlgeria\t1918\tonly\t-\tMar\t 9\t23:00s\t1:00\tS\n"+
"Rule\tAlgeria\t1919\tonly\t-\tMar\t 1\t23:00s\t1:00\tS\n"+
"Rule\tAlgeria\t1920\tonly\t-\tFeb\t14\t23:00s\t1:00\tS\n"+
"Rule\tAlgeria\t1920\tonly\t-\tOct\t23\t23:00s\t0\t-\n"+
"Rule\tAlgeria\t1921\tonly\t-\tMar\t14\t23:00s\t1:00\tS\n"+
"Rule\tAlgeria\t1921\tonly\t-\tJun\t21\t23:00s\t0\t-\n"+
"Rule\tAlgeria\t1939\tonly\t-\tSep\t11\t23:00s\t1:00\tS\n"+
"Rule\tAlgeria\t1939\tonly\t-\tNov\t19\t 1:00\t0\t-\n"+
"Rule\tAlgeria\t1944\t1945\t-\tApr\tMon>=1\t 2:00\t1:00\tS\n"+
"Rule\tAlgeria\t1944\tonly\t-\tOct\t 8\t 2:00\t0\t-\n"+
"Rule\tAlgeria\t1945\tonly\t-\tSep\t16\t 1:00\t0\t-\n"+
"Rule\tAlgeria\t1971\tonly\t-\tApr\t25\t23:00s\t1:00\tS\n"+
"Rule\tAlgeria\t1971\tonly\t-\tSep\t26\t23:00s\t0\t-\n"+
"Rule\tAlgeria\t1977\tonly\t-\tMay\t 6\t 0:00\t1:00\tS\n"+
"Rule\tAlgeria\t1977\tonly\t-\tOct\t21\t 0:00\t0\t-\n"+
"Rule\tAlgeria\t1978\tonly\t-\tMar\t24\t 1:00\t1:00\tS\n"+
"Rule\tAlgeria\t1978\tonly\t-\tSep\t22\t 3:00\t0\t-\n"+
"Rule\tAlgeria\t1980\tonly\t-\tApr\t25\t 0:00\t1:00\tS\n"+
"Rule\tAlgeria\t1980\tonly\t-\tOct\t31\t 2:00\t0\t-\n"+
"Zone\tAfrica/Algiers\t0:12:12 -\tLMT\t1891 Mar 15 0:01\n"+
"\t\t\t0:09:21\t-\tPMT\t1911 Mar 11 # Paris Mean Time\n"+
"\t\t\t0:00\tAlgeria\tWE%sT\t1940 Feb 25 2:00\n"+
"\t\t\t1:00\tAlgeria\tCE%sT\t1946 Oct 7\n"+
"\t\t\t0:00\t-\tWET\t1956 Jan 29\n"+
"\t\t\t1:00\t-\tCET\t1963 Apr 14\n"+
"\t\t\t0:00\tAlgeria\tWE%sT\t1977 Oct 21\n"+
"\t\t\t1:00\tAlgeria\tCE%sT\t1979 Oct 26\n"+
"\t\t\t0:00\tAlgeria\tWE%sT\t1981 May\n"+
"\t\t\t1:00\t-\tCET\n"+
"Zone\tAfrica/Luanda\t0:52:56\t-\tLMT\t1892\n"+
"\t\t\t0:52:04\t-\tAOT\t1911 May 26 # Angola Time\n"+
"\t\t\t1:00\t-\tWAT\n"+
"Zone Africa/Porto-Novo\t0:10:28\t-\tLMT\t1912\n"+
"\t\t\t0:00\t-\tGMT\t1934 Feb 26\n"+
"\t\t\t1:00\t-\tWAT\n"+
"Zone\tAfrica/Gaborone\t1:43:40 -\tLMT\t1885\n"+
"\t\t\t2:00\t-\tCAT\t1943 Sep 19 2:00\n"+
"\t\t\t2:00\t1:00\tCAST\t1944 Mar 19 2:00\n"+
"\t\t\t2:00\t-\tCAT\n"+
"Zone Africa/Ouagadougou\t-0:06:04 -\tLMT\t1912\n"+
"\t\t\t 0:00\t-\tGMT\n"+
"Zone Africa/Bujumbura\t1:57:28\t-\tLMT\t1890\n"+
"\t\t\t2:00\t-\tCAT\n"+
"Zone\tAfrica/Douala\t0:38:48\t-\tLMT\t1912\n"+
"\t\t\t1:00\t-\tWAT\n"+
"Zone Atlantic/Cape_Verde -1:34:04 -\tLMT\t1907\t\t\t# Praia\n"+
"\t\t\t-2:00\t-\tCVT\t1942 Sep\n"+
"\t\t\t-2:00\t1:00\tCVST\t1945 Oct 15\n"+
"\t\t\t-2:00\t-\tCVT\t1975 Nov 25 2:00\n"+
"\t\t\t-1:00\t-\tCVT\n"+
"Zone\tAfrica/Bangui\t1:14:20\t-\tLMT\t1912\n"+
"\t\t\t1:00\t-\tWAT\n"+
"Zone\tAfrica/Ndjamena\t1:00:12 -\tLMT\t1912\n"+
"\t\t\t1:00\t-\tWAT\t1979 Oct 14\n"+
"\t\t\t1:00\t1:00\tWAST\t1980 Mar 8\n"+
"\t\t\t1:00\t-\tWAT\n"+
"Zone\tIndian/Comoro\t2:53:04 -\tLMT\t1911 Jul # Moroni, Gran Comoro\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Zone Africa/Kinshasa\t1:01:12 -\tLMT\t1897 Nov 9\n"+
"\t\t\t1:00\t-\tWAT\n"+
"Zone Africa/Lubumbashi\t1:49:52 -\tLMT\t1897 Nov 9\n"+
"\t\t\t2:00\t-\tCAT\n"+
"Zone Africa/Brazzaville\t1:01:08 -\tLMT\t1912\n"+
"\t\t\t1:00\t-\tWAT\n"+
"Zone\tAfrica/Abidjan\t-0:16:08 -\tLMT\t1912\n"+
"\t\t\t 0:00\t-\tGMT\n"+
"Zone\tAfrica/Djibouti\t2:52:36 -\tLMT\t1911 Jul\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Rule\tEgypt\t1940\tonly\t-\tJul\t15\t0:00\t1:00\tS\n"+
"Rule\tEgypt\t1940\tonly\t-\tOct\t 1\t0:00\t0\t-\n"+
"Rule\tEgypt\t1941\tonly\t-\tApr\t15\t0:00\t1:00\tS\n"+
"Rule\tEgypt\t1941\tonly\t-\tSep\t16\t0:00\t0\t-\n"+
"Rule\tEgypt\t1942\t1944\t-\tApr\t 1\t0:00\t1:00\tS\n"+
"Rule\tEgypt\t1942\tonly\t-\tOct\t27\t0:00\t0\t-\n"+
"Rule\tEgypt\t1943\t1945\t-\tNov\t 1\t0:00\t0\t-\n"+
"Rule\tEgypt\t1945\tonly\t-\tApr\t16\t0:00\t1:00\tS\n"+
"Rule\tEgypt\t1957\tonly\t-\tMay\t10\t0:00\t1:00\tS\n"+
"Rule\tEgypt\t1957\t1958\t-\tOct\t 1\t0:00\t0\t-\n"+
"Rule\tEgypt\t1958\tonly\t-\tMay\t 1\t0:00\t1:00\tS\n"+
"Rule\tEgypt\t1959\t1981\t-\tMay\t 1\t1:00\t1:00\tS\n"+
"Rule\tEgypt\t1959\t1965\t-\tSep\t30\t3:00\t0\t-\n"+
"Rule\tEgypt\t1966\t1994\t-\tOct\t 1\t3:00\t0\t-\n"+
"Rule\tEgypt\t1982\tonly\t-\tJul\t25\t1:00\t1:00\tS\n"+
"Rule\tEgypt\t1983\tonly\t-\tJul\t12\t1:00\t1:00\tS\n"+
"Rule\tEgypt\t1984\t1988\t-\tMay\t 1\t1:00\t1:00\tS\n"+
"Rule\tEgypt\t1989\tonly\t-\tMay\t 6\t1:00\t1:00\tS\n"+
"Rule\tEgypt\t1990\t1994\t-\tMay\t 1\t1:00\t1:00\tS\n"+
"Rule\tEgypt\t1995\t2010\t-\tApr\tlastFri\t 0:00s\t1:00\tS\n"+
"Rule\tEgypt\t1995\t2005\t-\tSep\tlastThu\t23:00s\t0\t-\n"+
"Rule\tEgypt\t2006\tonly\t-\tSep\t21\t23:00s\t0\t-\n"+
"Rule\tEgypt\t2007\tonly\t-\tSep\tThu>=1\t23:00s\t0\t-\n"+
"Rule\tEgypt\t2008\tonly\t-\tAug\tlastThu\t23:00s\t0\t-\n"+
"Rule\tEgypt\t2009\tonly\t-\tAug\t20\t23:00s\t0\t-\n"+
"Rule\tEgypt\t2010\tonly\t-\tAug\t11\t0:00\t0\t-\n"+
"Rule\tEgypt\t2010\tonly\t-\tSep\t10\t0:00\t1:00\tS\n"+
"Rule\tEgypt\t2010\tonly\t-\tSep\tlastThu\t23:00s\t0\t-\n"+
"Zone\tAfrica/Cairo\t2:05:00 -\tLMT\t1900 Oct\n"+
"\t\t\t2:00\tEgypt\tEE%sT\n"+
"Zone\tAfrica/Malabo\t0:35:08 -\tLMT\t1912\n"+
"\t\t\t0:00\t-\tGMT\t1963 Dec 15\n"+
"\t\t\t1:00\t-\tWAT\n"+
"Zone\tAfrica/Asmara\t2:35:32 -\tLMT\t1870\n"+
"\t\t\t2:35:32\t-\tAMT\t1890\t # Asmara Mean Time\n"+
"\t\t\t2:35:20\t-\tADMT\t1936 May 5 # Adis Dera MT\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Zone Africa/Addis_Ababa\t2:34:48 -\tLMT\t1870\n"+
"\t\t\t2:35:20\t-\tADMT\t1936 May 5 # Adis Dera MT\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Zone Africa/Libreville\t0:37:48 -\tLMT\t1912\n"+
"\t\t\t1:00\t-\tWAT\n"+
"Zone\tAfrica/Banjul\t-1:06:36 -\tLMT\t1912\n"+
"\t\t\t-1:06:36 -\tBMT\t1935\t# Banjul Mean Time\n"+
"\t\t\t-1:00\t-\tWAT\t1964\n"+
"\t\t\t 0:00\t-\tGMT\n"+
"Rule\tGhana\t1936\t1942\t-\tSep\t 1\t0:00\t0:20\tGHST\n"+
"Rule\tGhana\t1936\t1942\t-\tDec\t31\t0:00\t0\tGMT\n"+
"Zone\tAfrica/Accra\t-0:00:52 -\tLMT\t1918\n"+
"\t\t\t 0:00\tGhana\t%s\n"+
"Zone\tAfrica/Conakry\t-0:54:52 -\tLMT\t1912\n"+
"\t\t\t 0:00\t-\tGMT\t1934 Feb 26\n"+
"\t\t\t-1:00\t-\tWAT\t1960\n"+
"\t\t\t 0:00\t-\tGMT\n"+
"Zone\tAfrica/Bissau\t-1:02:20 -\tLMT\t1911 May 26\n"+
"\t\t\t-1:00\t-\tWAT\t1975\n"+
"\t\t\t 0:00\t-\tGMT\n"+
"Zone\tAfrica/Nairobi\t2:27:16\t-\tLMT\t1928 Jul\n"+
"\t\t\t3:00\t-\tEAT\t1930\n"+
"\t\t\t2:30\t-\tBEAT\t1940\n"+
"\t\t\t2:45\t-\tBEAUT\t1960\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Zone\tAfrica/Maseru\t1:50:00 -\tLMT\t1903 Mar\n"+
"\t\t\t2:00\t-\tSAST\t1943 Sep 19 2:00\n"+
"\t\t\t2:00\t1:00\tSAST\t1944 Mar 19 2:00\n"+
"\t\t\t2:00\t-\tSAST\n"+
"Zone\tAfrica/Monrovia\t-0:43:08 -\tLMT\t1882\n"+
"\t\t\t-0:43:08 -\tMMT\t1919 Mar # Monrovia Mean Time\n"+
"\t\t\t-0:44:30 -\tLRT\t1972 May # Liberia Time\n"+
"\t\t\t 0:00\t-\tGMT\n"+
"Rule\tLibya\t1951\tonly\t-\tOct\t14\t2:00\t1:00\tS\n"+
"Rule\tLibya\t1952\tonly\t-\tJan\t 1\t0:00\t0\t-\n"+
"Rule\tLibya\t1953\tonly\t-\tOct\t 9\t2:00\t1:00\tS\n"+
"Rule\tLibya\t1954\tonly\t-\tJan\t 1\t0:00\t0\t-\n"+
"Rule\tLibya\t1955\tonly\t-\tSep\t30\t0:00\t1:00\tS\n"+
"Rule\tLibya\t1956\tonly\t-\tJan\t 1\t0:00\t0\t-\n"+
"Rule\tLibya\t1982\t1984\t-\tApr\t 1\t0:00\t1:00\tS\n"+
"Rule\tLibya\t1982\t1985\t-\tOct\t 1\t0:00\t0\t-\n"+
"Rule\tLibya\t1985\tonly\t-\tApr\t 6\t0:00\t1:00\tS\n"+
"Rule\tLibya\t1986\tonly\t-\tApr\t 4\t0:00\t1:00\tS\n"+
"Rule\tLibya\t1986\tonly\t-\tOct\t 3\t0:00\t0\t-\n"+
"Rule\tLibya\t1987\t1989\t-\tApr\t 1\t0:00\t1:00\tS\n"+
"Rule\tLibya\t1987\t1989\t-\tOct\t 1\t0:00\t0\t-\n"+
"Zone\tAfrica/Tripoli\t0:52:44 -\tLMT\t1920\n"+
"\t\t\t1:00\tLibya\tCE%sT\t1959\n"+
"\t\t\t2:00\t-\tEET\t1982\n"+
"\t\t\t1:00\tLibya\tCE%sT\t1990 May 4\n"+
"\t\t\t2:00\t-\tEET\t1996 Sep 30\n"+
"\t\t\t1:00\t-\tCET\t1997 Apr 4\n"+
"\t\t\t1:00\t1:00\tCEST\t1997 Oct 4\n"+
"\t\t\t2:00\t-\tEET\n"+
"Zone Indian/Antananarivo 3:10:04 -\tLMT\t1911 Jul\n"+
"\t\t\t3:00\t-\tEAT\t1954 Feb 27 23:00s\n"+
"\t\t\t3:00\t1:00\tEAST\t1954 May 29 23:00s\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Zone\tAfrica/Blantyre\t2:20:00 -\tLMT\t1903 Mar\n"+
"\t\t\t2:00\t-\tCAT\n"+
"Zone\tAfrica/Bamako\t-0:32:00 -\tLMT\t1912\n"+
"\t\t\t 0:00\t-\tGMT\t1934 Feb 26\n"+
"\t\t\t-1:00\t-\tWAT\t1960 Jun 20\n"+
"\t\t\t 0:00\t-\tGMT\n"+
"Zone Africa/Nouakchott\t-1:03:48 -\tLMT\t1912\n"+
"\t\t\t 0:00\t-\tGMT\t1934 Feb 26\n"+
"\t\t\t-1:00\t-\tWAT\t1960 Nov 28\n"+
"\t\t\t 0:00\t-\tGMT\n"+
"Rule Mauritius\t1982\tonly\t-\tOct\t10\t0:00\t1:00\tS\n"+
"Rule Mauritius\t1983\tonly\t-\tMar\t21\t0:00\t0\t-\n"+
"Rule Mauritius\t2008\tonly\t-\tOct\tlastSun\t2:00\t1:00\tS\n"+
"Rule Mauritius\t2009\tonly\t-\tMar\tlastSun\t2:00\t0\t-\n"+
"Zone Indian/Mauritius\t3:50:00 -\tLMT\t1907\t\t# Port Louis\n"+
"\t\t\t4:00 Mauritius\tMU%sT\t# Mauritius Time\n"+
"Zone\tIndian/Mayotte\t3:00:56 -\tLMT\t1911 Jul\t# Mamoutzou\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Rule\tMorocco\t1939\tonly\t-\tSep\t12\t 0:00\t1:00\tS\n"+
"Rule\tMorocco\t1939\tonly\t-\tNov\t19\t 0:00\t0\t-\n"+
"Rule\tMorocco\t1940\tonly\t-\tFeb\t25\t 0:00\t1:00\tS\n"+
"Rule\tMorocco\t1945\tonly\t-\tNov\t18\t 0:00\t0\t-\n"+
"Rule\tMorocco\t1950\tonly\t-\tJun\t11\t 0:00\t1:00\tS\n"+
"Rule\tMorocco\t1950\tonly\t-\tOct\t29\t 0:00\t0\t-\n"+
"Rule\tMorocco\t1967\tonly\t-\tJun\t 3\t12:00\t1:00\tS\n"+
"Rule\tMorocco\t1967\tonly\t-\tOct\t 1\t 0:00\t0\t-\n"+
"Rule\tMorocco\t1974\tonly\t-\tJun\t24\t 0:00\t1:00\tS\n"+
"Rule\tMorocco\t1974\tonly\t-\tSep\t 1\t 0:00\t0\t-\n"+
"Rule\tMorocco\t1976\t1977\t-\tMay\t 1\t 0:00\t1:00\tS\n"+
"Rule\tMorocco\t1976\tonly\t-\tAug\t 1\t 0:00\t0\t-\n"+
"Rule\tMorocco\t1977\tonly\t-\tSep\t28\t 0:00\t0\t-\n"+
"Rule\tMorocco\t1978\tonly\t-\tJun\t 1\t 0:00\t1:00\tS\n"+
"Rule\tMorocco\t1978\tonly\t-\tAug\t 4\t 0:00\t0\t-\n"+
"Rule\tMorocco\t2008\tonly\t-\tJun\t 1\t 0:00\t1:00\tS\n"+
"Rule\tMorocco\t2008\tonly\t-\tSep\t 1\t 0:00\t0\t-\n"+
"Rule\tMorocco\t2009\tonly\t-\tJun\t 1\t 0:00\t1:00\tS\n"+
"Rule\tMorocco\t2009\tonly\t-\tAug\t 21\t 0:00\t0\t-\n"+
"Rule\tMorocco\t2010\tonly\t-\tMay\t 2\t 0:00\t1:00\tS\n"+
"Rule\tMorocco\t2010\tonly\t-\tAug\t 8\t 0:00\t0\t-\n"+
"Rule\tMorocco\t2011\tonly\t-\tApr\t 3\t 0:00\t1:00\tS\n"+
"Rule\tMorocco\t2011\tonly\t-\tJul\t 31\t 0\t0\t-\n"+
"Zone Africa/Casablanca\t-0:30:20 -\tLMT\t1913 Oct 26\n"+
"\t\t\t 0:00\tMorocco\tWE%sT\t1984 Mar 16\n"+
"\t\t\t 1:00\t-\tCET\t1986\n"+
"\t\t\t 0:00\tMorocco\tWE%sT\n"+
"Zone Africa/El_Aaiun\t-0:52:48 -\tLMT\t1934 Jan\n"+
"\t\t\t-1:00\t-\tWAT\t1976 Apr 14\n"+
"\t\t\t 0:00\t-\tWET\n"+
"Zone\tAfrica/Maputo\t2:10:20 -\tLMT\t1903 Mar\n"+
"\t\t\t2:00\t-\tCAT\n"+
"Rule\tNamibia\t1994\tmax\t-\tSep\tSun>=1\t2:00\t1:00\tS\n"+
"Rule\tNamibia\t1995\tmax\t-\tApr\tSun>=1\t2:00\t0\t-\n"+
"Zone\tAfrica/Windhoek\t1:08:24 -\tLMT\t1892 Feb 8\n"+
"\t\t\t1:30\t-\tSWAT\t1903 Mar\t# SW Africa Time\n"+
"\t\t\t2:00\t-\tSAST\t1942 Sep 20 2:00\n"+
"\t\t\t2:00\t1:00\tSAST\t1943 Mar 21 2:00\n"+
"\t\t\t2:00\t-\tSAST\t1990 Mar 21 # independence\n"+
"\t\t\t2:00\t-\tCAT\t1994 Apr 3\n"+
"\t\t\t1:00\tNamibia\tWA%sT\n"+
"Zone\tAfrica/Niamey\t 0:08:28 -\tLMT\t1912\n"+
"\t\t\t-1:00\t-\tWAT\t1934 Feb 26\n"+
"\t\t\t 0:00\t-\tGMT\t1960\n"+
"\t\t\t 1:00\t-\tWAT\n"+
"Zone\tAfrica/Lagos\t0:13:36 -\tLMT\t1919 Sep\n"+
"\t\t\t1:00\t-\tWAT\n"+
"Zone\tIndian/Reunion\t3:41:52 -\tLMT\t1911 Jun\t# Saint-Denis\n"+
"\t\t\t4:00\t-\tRET\t# Reunion Time\n"+
"Zone\tAfrica/Kigali\t2:00:16 -\tLMT\t1935 Jun\n"+
"\t\t\t2:00\t-\tCAT\n"+
"Zone Atlantic/St_Helena\t-0:22:48 -\tLMT\t1890\t\t# Jamestown\n"+
"\t\t\t-0:22:48 -\tJMT\t1951\t# Jamestown Mean Time\n"+
"\t\t\t 0:00\t-\tGMT\n"+
"Zone\tAfrica/Sao_Tome\t 0:26:56 -\tLMT\t1884\n"+
"\t\t\t-0:36:32 -\tLMT\t1912\t# Lisbon Mean Time\n"+
"\t\t\t 0:00\t-\tGMT\n"+
"Zone\tAfrica/Dakar\t-1:09:44 -\tLMT\t1912\n"+
"\t\t\t-1:00\t-\tWAT\t1941 Jun\n"+
"\t\t\t 0:00\t-\tGMT\n"+
"Zone\tIndian/Mahe\t3:41:48 -\tLMT\t1906 Jun\t# Victoria\n"+
"\t\t\t4:00\t-\tSCT\t# Seychelles Time\n"+
"Rule\tSL\t1935\t1942\t-\tJun\t 1\t0:00\t0:40\tSLST\n"+
"Rule\tSL\t1935\t1942\t-\tOct\t 1\t0:00\t0\tWAT\n"+
"Rule\tSL\t1957\t1962\t-\tJun\t 1\t0:00\t1:00\tSLST\n"+
"Rule\tSL\t1957\t1962\t-\tSep\t 1\t0:00\t0\tGMT\n"+
"Zone\tAfrica/Freetown\t-0:53:00 -\tLMT\t1882\n"+
"\t\t\t-0:53:00 -\tFMT\t1913 Jun # Freetown Mean Time\n"+
"\t\t\t-1:00\tSL\t%s\t1957\n"+
"\t\t\t 0:00\tSL\t%s\n"+
"Zone Africa/Mogadishu\t3:01:28 -\tLMT\t1893 Nov\n"+
"\t\t\t3:00\t-\tEAT\t1931\n"+
"\t\t\t2:30\t-\tBEAT\t1957\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Rule\tSA\t1942\t1943\t-\tSep\tSun>=15\t2:00\t1:00\t-\n"+
"Rule\tSA\t1943\t1944\t-\tMar\tSun>=15\t2:00\t0\t-\n"+
"Zone Africa/Johannesburg 1:52:00 -\tLMT\t1892 Feb 8\n"+
"\t\t\t1:30\t-\tSAST\t1903 Mar\n"+
"\t\t\t2:00\tSA\tSAST\n"+
"Rule\tSudan\t1970\tonly\t-\tMay\t 1\t0:00\t1:00\tS\n"+
"Rule\tSudan\t1970\t1985\t-\tOct\t15\t0:00\t0\t-\n"+
"Rule\tSudan\t1971\tonly\t-\tApr\t30\t0:00\t1:00\tS\n"+
"Rule\tSudan\t1972\t1985\t-\tApr\tlastSun\t0:00\t1:00\tS\n"+
"Zone\tAfrica/Khartoum\t2:10:08 -\tLMT\t1931\n"+
"\t\t\t2:00\tSudan\tCA%sT\t2000 Jan 15 12:00\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Zone\tAfrica/Juba\t2:06:24 -\tLMT\t1931\n"+
"\t\t\t2:00\tSudan\tCA%sT\t2000 Jan 15 12:00\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Zone\tAfrica/Mbabane\t2:04:24 -\tLMT\t1903 Mar\n"+
"\t\t\t2:00\t-\tSAST\n"+
"Zone Africa/Dar_es_Salaam 2:37:08 -\tLMT\t1931\n"+
"\t\t\t3:00\t-\tEAT\t1948\n"+
"\t\t\t2:45\t-\tBEAUT\t1961\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Zone\tAfrica/Lome\t0:04:52 -\tLMT\t1893\n"+
"\t\t\t0:00\t-\tGMT\n"+
"Rule\tTunisia\t1939\tonly\t-\tApr\t15\t23:00s\t1:00\tS\n"+
"Rule\tTunisia\t1939\tonly\t-\tNov\t18\t23:00s\t0\t-\n"+
"Rule\tTunisia\t1940\tonly\t-\tFeb\t25\t23:00s\t1:00\tS\n"+
"Rule\tTunisia\t1941\tonly\t-\tOct\t 6\t 0:00\t0\t-\n"+
"Rule\tTunisia\t1942\tonly\t-\tMar\t 9\t 0:00\t1:00\tS\n"+
"Rule\tTunisia\t1942\tonly\t-\tNov\t 2\t 3:00\t0\t-\n"+
"Rule\tTunisia\t1943\tonly\t-\tMar\t29\t 2:00\t1:00\tS\n"+
"Rule\tTunisia\t1943\tonly\t-\tApr\t17\t 2:00\t0\t-\n"+
"Rule\tTunisia\t1943\tonly\t-\tApr\t25\t 2:00\t1:00\tS\n"+
"Rule\tTunisia\t1943\tonly\t-\tOct\t 4\t 2:00\t0\t-\n"+
"Rule\tTunisia\t1944\t1945\t-\tApr\tMon>=1\t 2:00\t1:00\tS\n"+
"Rule\tTunisia\t1944\tonly\t-\tOct\t 8\t 0:00\t0\t-\n"+
"Rule\tTunisia\t1945\tonly\t-\tSep\t16\t 0:00\t0\t-\n"+
"Rule\tTunisia\t1977\tonly\t-\tApr\t30\t 0:00s\t1:00\tS\n"+
"Rule\tTunisia\t1977\tonly\t-\tSep\t24\t 0:00s\t0\t-\n"+
"Rule\tTunisia\t1978\tonly\t-\tMay\t 1\t 0:00s\t1:00\tS\n"+
"Rule\tTunisia\t1978\tonly\t-\tOct\t 1\t 0:00s\t0\t-\n"+
"Rule\tTunisia\t1988\tonly\t-\tJun\t 1\t 0:00s\t1:00\tS\n"+
"Rule\tTunisia\t1988\t1990\t-\tSep\tlastSun\t 0:00s\t0\t-\n"+
"Rule\tTunisia\t1989\tonly\t-\tMar\t26\t 0:00s\t1:00\tS\n"+
"Rule\tTunisia\t1990\tonly\t-\tMay\t 1\t 0:00s\t1:00\tS\n"+
"Rule\tTunisia\t2005\tonly\t-\tMay\t 1\t 0:00s\t1:00\tS\n"+
"Rule\tTunisia\t2005\tonly\t-\tSep\t30\t 1:00s\t0\t-\n"+
"Rule\tTunisia\t2006\t2008\t-\tMar\tlastSun\t 2:00s\t1:00\tS\n"+
"Rule\tTunisia\t2006\t2008\t-\tOct\tlastSun\t 2:00s\t0\t-\n"+
"Zone\tAfrica/Tunis\t0:40:44 -\tLMT\t1881 May 12\n"+
"\t\t\t0:09:21\t-\tPMT\t1911 Mar 11 # Paris Mean Time\n"+
"\t\t\t1:00\tTunisia\tCE%sT\n"+
"Zone\tAfrica/Kampala\t2:09:40 -\tLMT\t1928 Jul\n"+
"\t\t\t3:00\t-\tEAT\t1930\n"+
"\t\t\t2:30\t-\tBEAT\t1948\n"+
"\t\t\t2:45\t-\tBEAUT\t1957\n"+
"\t\t\t3:00\t-\tEAT\n"+
"Zone\tAfrica/Lusaka\t1:53:08 -\tLMT\t1903 Mar\n"+
"\t\t\t2:00\t-\tCAT\n"+
"Zone\tAfrica/Harare\t2:04:12 -\tLMT\t1903 Mar\n"+
"\t\t\t2:00\t-\tCAT\n"+
"","tz/antarctica":"Rule\tArgAQ\t1964\t1966\t-\tMar\t 1\t0:00\t0\t-\n"+
"Rule\tArgAQ\t1964\t1966\t-\tOct\t15\t0:00\t1:00\tS\n"+
"Rule\tArgAQ\t1967\tonly\t-\tApr\t 2\t0:00\t0\t-\n"+
"Rule\tArgAQ\t1967\t1968\t-\tOct\tSun>=1\t0:00\t1:00\tS\n"+
"Rule\tArgAQ\t1968\t1969\t-\tApr\tSun>=1\t0:00\t0\t-\n"+
"Rule\tArgAQ\t1974\tonly\t-\tJan\t23\t0:00\t1:00\tS\n"+
"Rule\tArgAQ\t1974\tonly\t-\tMay\t 1\t0:00\t0\t-\n"+
"Rule\tChileAQ\t1972\t1986\t-\tMar\tSun>=9\t3:00u\t0\t-\n"+
"Rule\tChileAQ\t1974\t1987\t-\tOct\tSun>=9\t4:00u\t1:00\tS\n"+
"Rule\tChileAQ\t1987\tonly\t-\tApr\t12\t3:00u\t0\t-\n"+
"Rule\tChileAQ\t1988\t1989\t-\tMar\tSun>=9\t3:00u\t0\t-\n"+
"Rule\tChileAQ\t1988\tonly\t-\tOct\tSun>=1\t4:00u\t1:00\tS\n"+
"Rule\tChileAQ\t1989\tonly\t-\tOct\tSun>=9\t4:00u\t1:00\tS\n"+
"Rule\tChileAQ\t1990\tonly\t-\tMar\t18\t3:00u\t0\t-\n"+
"Rule\tChileAQ\t1990\tonly\t-\tSep\t16\t4:00u\t1:00\tS\n"+
"Rule\tChileAQ\t1991\t1996\t-\tMar\tSun>=9\t3:00u\t0\t-\n"+
"Rule\tChileAQ\t1991\t1997\t-\tOct\tSun>=9\t4:00u\t1:00\tS\n"+
"Rule\tChileAQ\t1997\tonly\t-\tMar\t30\t3:00u\t0\t-\n"+
"Rule\tChileAQ\t1998\tonly\t-\tMar\tSun>=9\t3:00u\t0\t-\n"+
"Rule\tChileAQ\t1998\tonly\t-\tSep\t27\t4:00u\t1:00\tS\n"+
"Rule\tChileAQ\t1999\tonly\t-\tApr\t 4\t3:00u\t0\t-\n"+
"Rule\tChileAQ\t1999\tmax\t-\tOct\tSun>=9\t4:00u\t1:00\tS\n"+
"Rule\tChileAQ\t2000\tmax\t-\tMar\tSun>=9\t3:00u\t0\t-\n"+
"Rule\tAusAQ\t1917\tonly\t-\tJan\t 1\t0:01\t1:00\t-\n"+
"Rule\tAusAQ\t1917\tonly\t-\tMar\t25\t2:00\t0\t-\n"+
"Rule\tAusAQ\t1942\tonly\t-\tJan\t 1\t2:00\t1:00\t-\n"+
"Rule\tAusAQ\t1942\tonly\t-\tMar\t29\t2:00\t0\t-\n"+
"Rule\tAusAQ\t1942\tonly\t-\tSep\t27\t2:00\t1:00\t-\n"+
"Rule\tAusAQ\t1943\t1944\t-\tMar\tlastSun\t2:00\t0\t-\n"+
"Rule\tAusAQ\t1943\tonly\t-\tOct\t 3\t2:00\t1:00\t-\n"+
"Rule\tATAQ\t1967\tonly\t-\tOct\tSun>=1\t2:00s\t1:00\t-\n"+
"Rule\tATAQ\t1968\tonly\t-\tMar\tlastSun\t2:00s\t0\t-\n"+
"Rule\tATAQ\t1968\t1985\t-\tOct\tlastSun\t2:00s\t1:00\t-\n"+
"Rule\tATAQ\t1969\t1971\t-\tMar\tSun>=8\t2:00s\t0\t-\n"+
"Rule\tATAQ\t1972\tonly\t-\tFeb\tlastSun\t2:00s\t0\t-\n"+
"Rule\tATAQ\t1973\t1981\t-\tMar\tSun>=1\t2:00s\t0\t-\n"+
"Rule\tATAQ\t1982\t1983\t-\tMar\tlastSun\t2:00s\t0\t-\n"+
"Rule\tATAQ\t1984\t1986\t-\tMar\tSun>=1\t2:00s\t0\t-\n"+
"Rule\tATAQ\t1986\tonly\t-\tOct\tSun>=15\t2:00s\t1:00\t-\n"+
"Rule\tATAQ\t1987\t1990\t-\tMar\tSun>=15\t2:00s\t0\t-\n"+
"Rule\tATAQ\t1987\tonly\t-\tOct\tSun>=22\t2:00s\t1:00\t-\n"+
"Rule\tATAQ\t1988\t1990\t-\tOct\tlastSun\t2:00s\t1:00\t-\n"+
"Rule\tATAQ\t1991\t1999\t-\tOct\tSun>=1\t2:00s\t1:00\t-\n"+
"Rule\tATAQ\t1991\t2005\t-\tMar\tlastSun\t2:00s\t0\t-\n"+
"Rule\tATAQ\t2000\tonly\t-\tAug\tlastSun\t2:00s\t1:00\t-\n"+
"Rule\tATAQ\t2001\tmax\t-\tOct\tSun>=1\t2:00s\t1:00\t-\n"+
"Rule\tATAQ\t2006\tonly\t-\tApr\tSun>=1\t2:00s\t0\t-\n"+
"Rule\tATAQ\t2007\tonly\t-\tMar\tlastSun\t2:00s\t0\t-\n"+
"Rule\tATAQ\t2008\tmax\t-\tApr\tSun>=1\t2:00s\t0\t-\n"+
"Zone Antarctica/Casey\t0\t-\tzzz\t1969\n"+
"\t\t\t8:00\t-\tWST\t2009 Oct 18 2:00\n"+
"\t\t\t\t\t\t# Western (Aus) Standard Time\n"+
"\t\t\t11:00\t-\tCAST\t2010 Mar 5 2:00\n"+
"\t\t\t\t\t\t# Casey Time\n"+
"\t\t\t8:00\t-\tWST\n"+
"Zone Antarctica/Davis\t0\t-\tzzz\t1957 Jan 13\n"+
"\t\t\t7:00\t-\tDAVT\t1964 Nov # Davis Time\n"+
"\t\t\t0\t-\tzzz\t1969 Feb\n"+
"\t\t\t7:00\t-\tDAVT\t2009 Oct 18 2:00\n"+
"\t\t\t5:00\t-\tDAVT\t2010 Mar 10 20:00u\n"+
"\t\t\t7:00\t-\tDAVT\n"+
"Zone Antarctica/Mawson\t0\t-\tzzz\t1954 Feb 13\n"+
"\t\t\t6:00\t-\tMAWT\t2009 Oct 18 2:00\n"+
"\t\t\t\t\t\t# Mawson Time\n"+
"\t\t\t5:00\t-\tMAWT\n"+
"Zone Antarctica/Macquarie 0\t-\tzzz\t1911\n"+
"\t\t\t10:00\t-\tEST\t1916 Oct 1 2:00\n"+
"\t\t\t10:00\t1:00\tEST\t1917 Feb\n"+
"\t\t\t10:00\tAusAQ\tEST\t1967\n"+
"\t\t\t10:00\tATAQ\tEST\t2010 Apr 4 3:00\n"+
"\t\t\t11:00\t-\tMIST\t# Macquarie Island Time\n"+
"Zone Indian/Kerguelen\t0\t-\tzzz\t1950\t# Port-aux-Francais\n"+
"\t\t\t5:00\t-\tTFT\t# ISO code TF Time\n"+
"Zone Antarctica/DumontDUrville 0 -\tzzz\t1947\n"+
"\t\t\t10:00\t-\tPMT\t1952 Jan 14 # Port-Martin Time\n"+
"\t\t\t0\t-\tzzz\t1956 Nov\n"+
"\t\t\t10:00\t-\tDDUT\t# Dumont-d'Urville Time\n"+
"Zone Antarctica/Syowa\t0\t-\tzzz\t1957 Jan 29\n"+
"\t\t\t3:00\t-\tSYOT\t# Syowa Time\n"+
"Rule\tNZAQ\t1974\tonly\t-\tNov\t 3\t2:00s\t1:00\tD\n"+
"Rule\tNZAQ\t1975\t1988\t-\tOct\tlastSun\t2:00s\t1:00\tD\n"+
"Rule\tNZAQ\t1989\tonly\t-\tOct\t 8\t2:00s\t1:00\tD\n"+
"Rule\tNZAQ\t1990\t2006\t-\tOct\tSun>=1\t2:00s\t1:00\tD\n"+
"Rule\tNZAQ\t1975\tonly\t-\tFeb\t23\t2:00s\t0\tS\n"+
"Rule\tNZAQ\t1976\t1989\t-\tMar\tSun>=1\t2:00s\t0\tS\n"+
"Rule\tNZAQ\t1990\t2007\t-\tMar\tSun>=15\t2:00s\t0\tS\n"+
"Rule\tNZAQ\t2007\tmax\t-\tSep\tlastSun\t2:00s\t1:00\tD\n"+
"Rule\tNZAQ\t2008\tmax\t-\tApr\tSun>=1\t2:00s\t0\tS\n"+
"Zone Antarctica/Vostok\t0\t-\tzzz\t1957 Dec 16\n"+
"\t\t\t6:00\t-\tVOST\t# Vostok time\n"+
"Zone Antarctica/Rothera\t0\t-\tzzz\t1976 Dec 1\n"+
"\t\t\t-3:00\t-\tROTT\t# Rothera time\n"+
"Zone Antarctica/Palmer\t0\t-\tzzz\t1965\n"+
"\t\t\t-4:00\tArgAQ\tAR%sT\t1969 Oct 5\n"+
"\t\t\t-3:00\tArgAQ\tAR%sT\t1982 May\n"+
"\t\t\t-4:00\tChileAQ\tCL%sT\n"+
"Zone Antarctica/McMurdo\t0\t-\tzzz\t1956\n"+
"\t\t\t12:00\tNZAQ\tNZ%sT\n"+
"Link\tAntarctica/McMurdo\tAntarctica/South_Pole\n"+
"","tz/asia":"Rule\tEUAsia\t1981\tmax\t-\tMar\tlastSun\t 1:00u\t1:00\tS\n"+
"Rule\tEUAsia\t1979\t1995\t-\tSep\tlastSun\t 1:00u\t0\t-\n"+
"Rule\tEUAsia\t1996\tmax\t-\tOct\tlastSun\t 1:00u\t0\t-\n"+
"Rule E-EurAsia\t1981\tmax\t-\tMar\tlastSun\t 0:00\t1:00\tS\n"+
"Rule E-EurAsia\t1979\t1995\t-\tSep\tlastSun\t 0:00\t0\t-\n"+
"Rule E-EurAsia\t1996\tmax\t-\tOct\tlastSun\t 0:00\t0\t-\n"+
"Rule RussiaAsia\t1981\t1984\t-\tApr\t1\t 0:00\t1:00\tS\n"+
"Rule RussiaAsia\t1981\t1983\t-\tOct\t1\t 0:00\t0\t-\n"+
"Rule RussiaAsia\t1984\t1991\t-\tSep\tlastSun\t 2:00s\t0\t-\n"+
"Rule RussiaAsia\t1985\t1991\t-\tMar\tlastSun\t 2:00s\t1:00\tS\n"+
"Rule RussiaAsia\t1992\tonly\t-\tMar\tlastSat\t23:00\t1:00\tS\n"+
"Rule RussiaAsia\t1992\tonly\t-\tSep\tlastSat\t23:00\t0\t-\n"+
"Rule RussiaAsia\t1993\tmax\t-\tMar\tlastSun\t 2:00s\t1:00\tS\n"+
"Rule RussiaAsia\t1993\t1995\t-\tSep\tlastSun\t 2:00s\t0\t-\n"+
"Rule RussiaAsia\t1996\tmax\t-\tOct\tlastSun\t 2:00s\t0\t-\n"+
"Zone\tAsia/Kabul\t4:36:48 -\tLMT\t1890\n"+
"\t\t\t4:00\t-\tAFT\t1945\n"+
"\t\t\t4:30\t-\tAFT\n"+
"Zone\tAsia/Yerevan\t2:58:00 -\tLMT\t1924 May 2\n"+
"\t\t\t3:00\t-\tYERT\t1957 Mar # Yerevan Time\n"+
"\t\t\t4:00 RussiaAsia YER%sT\t1991 Mar 31 2:00s\n"+
"\t\t\t3:00\t1:00\tYERST\t1991 Sep 23 # independence\n"+
"\t\t\t3:00 RussiaAsia\tAM%sT\t1995 Sep 24 2:00s\n"+
"\t\t\t4:00\t-\tAMT\t1997\n"+
"\t\t\t4:00 RussiaAsia\tAM%sT\n"+
"Rule\tAzer\t1997\tmax\t-\tMar\tlastSun\t 4:00\t1:00\tS\n"+
"Rule\tAzer\t1997\tmax\t-\tOct\tlastSun\t 5:00\t0\t-\n"+
"Zone\tAsia/Baku\t3:19:24 -\tLMT\t1924 May 2\n"+
"\t\t\t3:00\t-\tBAKT\t1957 Mar # Baku Time\n"+
"\t\t\t4:00 RussiaAsia BAK%sT\t1991 Mar 31 2:00s\n"+
"\t\t\t3:00\t1:00\tBAKST\t1991 Aug 30 # independence\n"+
"\t\t\t3:00 RussiaAsia\tAZ%sT\t1992 Sep lastSat 23:00\n"+
"\t\t\t4:00\t-\tAZT\t1996 # Azerbaijan time\n"+
"\t\t\t4:00\tEUAsia\tAZ%sT\t1997\n"+
"\t\t\t4:00\tAzer\tAZ%sT\n"+
"Zone\tAsia/Bahrain\t3:22:20 -\tLMT\t1920\t\t# Al Manamah\n"+
"\t\t\t4:00\t-\tGST\t1972 Jun\n"+
"\t\t\t3:00\t-\tAST\n"+
"Rule\tDhaka\t2009\tonly\t-\tJun\t19\t23:00\t1:00\tS\n"+
"Rule\tDhaka\t2009\tonly\t-\tDec\t31\t23:59\t0\t-\n"+
"Zone\tAsia/Dhaka\t6:01:40 -\tLMT\t1890\n"+
"\t\t\t5:53:20\t-\tHMT\t1941 Oct # Howrah Mean Time?\n"+
"\t\t\t6:30\t-\tBURT\t1942 May 15 # Burma Time\n"+
"\t\t\t5:30\t-\tIST\t1942 Sep\n"+
"\t\t\t6:30\t-\tBURT\t1951 Sep 30\n"+
"\t\t\t6:00\t-\tDACT\t1971 Mar 26 # Dacca Time\n"+
"\t\t\t6:00\t-\tBDT\t2009\n"+
"\t\t\t6:00\tDhaka\tBD%sT\n"+
"Zone\tAsia/Thimphu\t5:58:36 -\tLMT\t1947 Aug 15 # or Thimbu\n"+
"\t\t\t5:30\t-\tIST\t1987 Oct\n"+
"\t\t\t6:00\t-\tBTT\t# Bhutan Time\n"+
"Zone\tIndian/Chagos\t4:49:40\t-\tLMT\t1907\n"+
"\t\t\t5:00\t-\tIOT\t1996 # BIOT Time\n"+
"\t\t\t6:00\t-\tIOT\n"+
"Zone\tAsia/Brunei\t7:39:40 -\tLMT\t1926 Mar # Bandar Seri Begawan\n"+
"\t\t\t7:30\t-\tBNT\t1933\n"+
"\t\t\t8:00\t-\tBNT\n"+
"Zone\tAsia/Rangoon\t6:24:40 -\tLMT\t1880\t\t# or Yangon\n"+
"\t\t\t6:24:36\t-\tRMT\t1920\t # Rangoon Mean Time?\n"+
"\t\t\t6:30\t-\tBURT\t1942 May # Burma Time\n"+
"\t\t\t9:00\t-\tJST\t1945 May 3\n"+
"\t\t\t6:30\t-\tMMT\t\t # Myanmar Time\n"+
"Zone\tAsia/Phnom_Penh\t6:59:40 -\tLMT\t1906 Jun 9\n"+
"\t\t\t7:06:20\t-\tSMT\t1911 Mar 11 0:01 # Saigon MT?\n"+
"\t\t\t7:00\t-\tICT\t1912 May\n"+
"\t\t\t8:00\t-\tICT\t1931 May\n"+
"\t\t\t7:00\t-\tICT\n"+
"Rule\tShang\t1940\tonly\t-\tJun\t 3\t0:00\t1:00\tD\n"+
"Rule\tShang\t1940\t1941\t-\tOct\t 1\t0:00\t0\tS\n"+
"Rule\tShang\t1941\tonly\t-\tMar\t16\t0:00\t1:00\tD\n"+
"Rule\tPRC\t1986\tonly\t-\tMay\t 4\t0:00\t1:00\tD\n"+
"Rule\tPRC\t1986\t1991\t-\tSep\tSun>=11\t0:00\t0\tS\n"+
"Rule\tPRC\t1987\t1991\t-\tApr\tSun>=10\t0:00\t1:00\tD\n"+
"Zone\tAsia/Harbin\t8:26:44\t-\tLMT\t1928 # or Haerbin\n"+
"\t\t\t8:30\t-\tCHAT\t1932 Mar # Changbai Time\n"+
"\t\t\t8:00\t-\tCST\t1940\n"+
"\t\t\t9:00\t-\tCHAT\t1966 May\n"+
"\t\t\t8:30\t-\tCHAT\t1980 May\n"+
"\t\t\t8:00\tPRC\tC%sT\n"+
"Zone\tAsia/Shanghai\t8:05:52\t-\tLMT\t1928\n"+
"\t\t\t8:00\tShang\tC%sT\t1949\n"+
"\t\t\t8:00\tPRC\tC%sT\n"+
"Zone\tAsia/Chongqing\t7:06:20\t-\tLMT\t1928 # or Chungking\n"+
"\t\t\t7:00\t-\tLONT\t1980 May # Long-shu Time\n"+
"\t\t\t8:00\tPRC\tC%sT\n"+
"Zone\tAsia/Urumqi\t5:50:20\t-\tLMT\t1928 # or Urumchi\n"+
"\t\t\t6:00\t-\tURUT\t1980 May # Urumqi Time\n"+
"\t\t\t8:00\tPRC\tC%sT\n"+
"Zone\tAsia/Kashgar\t5:03:56\t-\tLMT\t1928 # or Kashi or Kaxgar\n"+
"\t\t\t5:30\t-\tKAST\t1940\t # Kashgar Time\n"+
"\t\t\t5:00\t-\tKAST\t1980 May\n"+
"\t\t\t8:00\tPRC\tC%sT\n"+
"Rule\tHK\t1941\tonly\t-\tApr\t1\t3:30\t1:00\tS\n"+
"Rule\tHK\t1941\tonly\t-\tSep\t30\t3:30\t0\t-\n"+
"Rule\tHK\t1946\tonly\t-\tApr\t20\t3:30\t1:00\tS\n"+
"Rule\tHK\t1946\tonly\t-\tDec\t1\t3:30\t0\t-\n"+
"Rule\tHK\t1947\tonly\t-\tApr\t13\t3:30\t1:00\tS\n"+
"Rule\tHK\t1947\tonly\t-\tDec\t30\t3:30\t0\t-\n"+
"Rule\tHK\t1948\tonly\t-\tMay\t2\t3:30\t1:00\tS\n"+
"Rule\tHK\t1948\t1951\t-\tOct\tlastSun\t3:30\t0\t-\n"+
"Rule\tHK\t1952\tonly\t-\tOct\t25\t3:30\t0\t-\n"+
"Rule\tHK\t1949\t1953\t-\tApr\tSun>=1\t3:30\t1:00\tS\n"+
"Rule\tHK\t1953\tonly\t-\tNov\t1\t3:30\t0\t-\n"+
"Rule\tHK\t1954\t1964\t-\tMar\tSun>=18\t3:30\t1:00\tS\n"+
"Rule\tHK\t1954\tonly\t-\tOct\t31\t3:30\t0\t-\n"+
"Rule\tHK\t1955\t1964\t-\tNov\tSun>=1\t3:30\t0\t-\n"+
"Rule\tHK\t1965\t1976\t-\tApr\tSun>=16\t3:30\t1:00\tS\n"+
"Rule\tHK\t1965\t1976\t-\tOct\tSun>=16\t3:30\t0\t-\n"+
"Rule\tHK\t1973\tonly\t-\tDec\t30\t3:30\t1:00\tS\n"+
"Rule\tHK\t1979\tonly\t-\tMay\tSun>=8\t3:30\t1:00\tS\n"+
"Rule\tHK\t1979\tonly\t-\tOct\tSun>=16\t3:30\t0\t-\n"+
"Zone\tAsia/Hong_Kong\t7:36:36 -\tLMT\t1904 Oct 30\n"+
"\t\t\t8:00\tHK\tHK%sT\t1941 Dec 25\n"+
"\t\t\t9:00\t-\tJST\t1945 Sep 15\n"+
"\t\t\t8:00\tHK\tHK%sT\n"+
"Rule\tTaiwan\t1945\t1951\t-\tMay\t1\t0:00\t1:00\tD\n"+
"Rule\tTaiwan\t1945\t1951\t-\tOct\t1\t0:00\t0\tS\n"+
"Rule\tTaiwan\t1952\tonly\t-\tMar\t1\t0:00\t1:00\tD\n"+
"Rule\tTaiwan\t1952\t1954\t-\tNov\t1\t0:00\t0\tS\n"+
"Rule\tTaiwan\t1953\t1959\t-\tApr\t1\t0:00\t1:00\tD\n"+
"Rule\tTaiwan\t1955\t1961\t-\tOct\t1\t0:00\t0\tS\n"+
"Rule\tTaiwan\t1960\t1961\t-\tJun\t1\t0:00\t1:00\tD\n"+
"Rule\tTaiwan\t1974\t1975\t-\tApr\t1\t0:00\t1:00\tD\n"+
"Rule\tTaiwan\t1974\t1975\t-\tOct\t1\t0:00\t0\tS\n"+
"Rule\tTaiwan\t1979\tonly\t-\tJun\t30\t0:00\t1:00\tD\n"+
"Rule\tTaiwan\t1979\tonly\t-\tSep\t30\t0:00\t0\tS\n"+
"Zone\tAsia/Taipei\t8:06:00 -\tLMT\t1896 # or Taibei or T'ai-pei\n"+
"\t\t\t8:00\tTaiwan\tC%sT\n"+
"Rule\tMacau\t1961\t1962\t-\tMar\tSun>=16\t3:30\t1:00\tS\n"+
"Rule\tMacau\t1961\t1964\t-\tNov\tSun>=1\t3:30\t0\t-\n"+
"Rule\tMacau\t1963\tonly\t-\tMar\tSun>=16\t0:00\t1:00\tS\n"+
"Rule\tMacau\t1964\tonly\t-\tMar\tSun>=16\t3:30\t1:00\tS\n"+
"Rule\tMacau\t1965\tonly\t-\tMar\tSun>=16\t0:00\t1:00\tS\n"+
"Rule\tMacau\t1965\tonly\t-\tOct\t31\t0:00\t0\t-\n"+
"Rule\tMacau\t1966\t1971\t-\tApr\tSun>=16\t3:30\t1:00\tS\n"+
"Rule\tMacau\t1966\t1971\t-\tOct\tSun>=16\t3:30\t0\t-\n"+
"Rule\tMacau\t1972\t1974\t-\tApr\tSun>=15\t0:00\t1:00\tS\n"+
"Rule\tMacau\t1972\t1973\t-\tOct\tSun>=15\t0:00\t0\t-\n"+
"Rule\tMacau\t1974\t1977\t-\tOct\tSun>=15\t3:30\t0\t-\n"+
"Rule\tMacau\t1975\t1977\t-\tApr\tSun>=15\t3:30\t1:00\tS\n"+
"Rule\tMacau\t1978\t1980\t-\tApr\tSun>=15\t0:00\t1:00\tS\n"+
"Rule\tMacau\t1978\t1980\t-\tOct\tSun>=15\t0:00\t0\t-\n"+
"Zone\tAsia/Macau\t7:34:20 -\tLMT\t1912\n"+
"\t\t\t8:00\tMacau\tMO%sT\t1999 Dec 20 # return to China\n"+
"\t\t\t8:00\tPRC\tC%sT\n"+
"Rule\tCyprus\t1975\tonly\t-\tApr\t13\t0:00\t1:00\tS\n"+
"Rule\tCyprus\t1975\tonly\t-\tOct\t12\t0:00\t0\t-\n"+
"Rule\tCyprus\t1976\tonly\t-\tMay\t15\t0:00\t1:00\tS\n"+
"Rule\tCyprus\t1976\tonly\t-\tOct\t11\t0:00\t0\t-\n"+
"Rule\tCyprus\t1977\t1980\t-\tApr\tSun>=1\t0:00\t1:00\tS\n"+
"Rule\tCyprus\t1977\tonly\t-\tSep\t25\t0:00\t0\t-\n"+
"Rule\tCyprus\t1978\tonly\t-\tOct\t2\t0:00\t0\t-\n"+
"Rule\tCyprus\t1979\t1997\t-\tSep\tlastSun\t0:00\t0\t-\n"+
"Rule\tCyprus\t1981\t1998\t-\tMar\tlastSun\t0:00\t1:00\tS\n"+
"Zone\tAsia/Nicosia\t2:13:28 -\tLMT\t1921 Nov 14\n"+
"\t\t\t2:00\tCyprus\tEE%sT\t1998 Sep\n"+
"\t\t\t2:00\tEUAsia\tEE%sT\n"+
"Link\tAsia/Nicosia\tEurope/Nicosia\n"+
"Zone\tAsia/Tbilisi\t2:59:16 -\tLMT\t1880\n"+
"\t\t\t2:59:16\t-\tTBMT\t1924 May 2 # Tbilisi Mean Time\n"+
"\t\t\t3:00\t-\tTBIT\t1957 Mar # Tbilisi Time\n"+
"\t\t\t4:00 RussiaAsia TBI%sT\t1991 Mar 31 2:00s\n"+
"\t\t\t3:00\t1:00\tTBIST\t1991 Apr 9 # independence\n"+
"\t\t\t3:00 RussiaAsia GE%sT\t1992 # Georgia Time\n"+
"\t\t\t3:00 E-EurAsia\tGE%sT\t1994 Sep lastSun\n"+
"\t\t\t4:00 E-EurAsia\tGE%sT\t1996 Oct lastSun\n"+
"\t\t\t4:00\t1:00\tGEST\t1997 Mar lastSun\n"+
"\t\t\t4:00 E-EurAsia\tGE%sT\t2004 Jun 27\n"+
"\t\t\t3:00 RussiaAsia\tGE%sT\t2005 Mar lastSun 2:00\n"+
"\t\t\t4:00\t-\tGET\n"+
"Zone\tAsia/Dili\t8:22:20 -\tLMT\t1912\n"+
"\t\t\t8:00\t-\tTLT\t1942 Feb 21 23:00 # E Timor Time\n"+
"\t\t\t9:00\t-\tJST\t1945 Sep 23\n"+
"\t\t\t9:00\t-\tTLT\t1976 May 3\n"+
"\t\t\t8:00\t-\tCIT\t2000 Sep 17 00:00\n"+
"\t\t\t9:00\t-\tTLT\n"+
"Zone\tAsia/Kolkata\t5:53:28 -\tLMT\t1880\t# Kolkata\n"+
"\t\t\t5:53:20\t-\tHMT\t1941 Oct # Howrah Mean Time?\n"+
"\t\t\t6:30\t-\tBURT\t1942 May 15 # Burma Time\n"+
"\t\t\t5:30\t-\tIST\t1942 Sep\n"+
"\t\t\t5:30\t1:00\tIST\t1945 Oct 15\n"+
"\t\t\t5:30\t-\tIST\n"+
"Zone Asia/Jakarta\t7:07:12 -\tLMT\t1867 Aug 10\n"+
"\t\t\t7:07:12\t-\tJMT\t1923 Dec 31 23:47:12 # Jakarta\n"+
"\t\t\t7:20\t-\tJAVT\t1932 Nov\t # Java Time\n"+
"\t\t\t7:30\t-\tWIT\t1942 Mar 23\n"+
"\t\t\t9:00\t-\tJST\t1945 Sep 23\n"+
"\t\t\t7:30\t-\tWIT\t1948 May\n"+
"\t\t\t8:00\t-\tWIT\t1950 May\n"+
"\t\t\t7:30\t-\tWIT\t1964\n"+
"\t\t\t7:00\t-\tWIT\n"+
"Zone Asia/Pontianak\t7:17:20\t-\tLMT\t1908 May\n"+
"\t\t\t7:17:20\t-\tPMT\t1932 Nov # Pontianak MT\n"+
"\t\t\t7:30\t-\tWIT\t1942 Jan 29\n"+
"\t\t\t9:00\t-\tJST\t1945 Sep 23\n"+
"\t\t\t7:30\t-\tWIT\t1948 May\n"+
"\t\t\t8:00\t-\tWIT\t1950 May\n"+
"\t\t\t7:30\t-\tWIT\t1964\n"+
"\t\t\t8:00\t-\tCIT\t1988 Jan 1\n"+
"\t\t\t7:00\t-\tWIT\n"+
"Zone Asia/Makassar\t7:57:36 -\tLMT\t1920\n"+
"\t\t\t7:57:36\t-\tMMT\t1932 Nov # Macassar MT\n"+
"\t\t\t8:00\t-\tCIT\t1942 Feb 9\n"+
"\t\t\t9:00\t-\tJST\t1945 Sep 23\n"+
"\t\t\t8:00\t-\tCIT\n"+
"Zone Asia/Jayapura\t9:22:48 -\tLMT\t1932 Nov\n"+
"\t\t\t9:00\t-\tEIT\t1944 Sep 1\n"+
"\t\t\t9:30\t-\tCST\t1964\n"+
"\t\t\t9:00\t-\tEIT\n"+
"Rule\tIran\t1978\t1980\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t1978\tonly\t-\tOct\t21\t0:00\t0\tS\n"+
"Rule\tIran\t1979\tonly\t-\tSep\t19\t0:00\t0\tS\n"+
"Rule\tIran\t1980\tonly\t-\tSep\t23\t0:00\t0\tS\n"+
"Rule\tIran\t1991\tonly\t-\tMay\t 3\t0:00\t1:00\tD\n"+
"Rule\tIran\t1992\t1995\t-\tMar\t22\t0:00\t1:00\tD\n"+
"Rule\tIran\t1991\t1995\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tIran\t1996\tonly\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t1996\tonly\t-\tSep\t21\t0:00\t0\tS\n"+
"Rule\tIran\t1997\t1999\t-\tMar\t22\t0:00\t1:00\tD\n"+
"Rule\tIran\t1997\t1999\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tIran\t2000\tonly\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t2000\tonly\t-\tSep\t21\t0:00\t0\tS\n"+
"Rule\tIran\t2001\t2003\t-\tMar\t22\t0:00\t1:00\tD\n"+
"Rule\tIran\t2001\t2003\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tIran\t2004\tonly\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t2004\tonly\t-\tSep\t21\t0:00\t0\tS\n"+
"Rule\tIran\t2005\tonly\t-\tMar\t22\t0:00\t1:00\tD\n"+
"Rule\tIran\t2005\tonly\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tIran\t2008\tonly\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t2008\tonly\t-\tSep\t21\t0:00\t0\tS\n"+
"Rule\tIran\t2009\t2011\t-\tMar\t22\t0:00\t1:00\tD\n"+
"Rule\tIran\t2009\t2011\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tIran\t2012\tonly\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t2012\tonly\t-\tSep\t21\t0:00\t0\tS\n"+
"Rule\tIran\t2013\t2015\t-\tMar\t22\t0:00\t1:00\tD\n"+
"Rule\tIran\t2013\t2015\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tIran\t2016\tonly\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t2016\tonly\t-\tSep\t21\t0:00\t0\tS\n"+
"Rule\tIran\t2017\t2019\t-\tMar\t22\t0:00\t1:00\tD\n"+
"Rule\tIran\t2017\t2019\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tIran\t2020\tonly\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t2020\tonly\t-\tSep\t21\t0:00\t0\tS\n"+
"Rule\tIran\t2021\t2023\t-\tMar\t22\t0:00\t1:00\tD\n"+
"Rule\tIran\t2021\t2023\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tIran\t2024\tonly\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t2024\tonly\t-\tSep\t21\t0:00\t0\tS\n"+
"Rule\tIran\t2025\t2027\t-\tMar\t22\t0:00\t1:00\tD\n"+
"Rule\tIran\t2025\t2027\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tIran\t2028\t2029\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t2028\t2029\t-\tSep\t21\t0:00\t0\tS\n"+
"Rule\tIran\t2030\t2031\t-\tMar\t22\t0:00\t1:00\tD\n"+
"Rule\tIran\t2030\t2031\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tIran\t2032\t2033\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t2032\t2033\t-\tSep\t21\t0:00\t0\tS\n"+
"Rule\tIran\t2034\t2035\t-\tMar\t22\t0:00\t1:00\tD\n"+
"Rule\tIran\t2034\t2035\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tIran\t2036\t2037\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tIran\t2036\t2037\t-\tSep\t21\t0:00\t0\tS\n"+
"Zone\tAsia/Tehran\t3:25:44\t-\tLMT\t1916\n"+
"\t\t\t3:25:44\t-\tTMT\t1946\t# Tehran Mean Time\n"+
"\t\t\t3:30\t-\tIRST\t1977 Nov\n"+
"\t\t\t4:00\tIran\tIR%sT\t1979\n"+
"\t\t\t3:30\tIran\tIR%sT\n"+
"Rule\tIraq\t1982\tonly\t-\tMay\t1\t0:00\t1:00\tD\n"+
"Rule\tIraq\t1982\t1984\t-\tOct\t1\t0:00\t0\tS\n"+
"Rule\tIraq\t1983\tonly\t-\tMar\t31\t0:00\t1:00\tD\n"+
"Rule\tIraq\t1984\t1985\t-\tApr\t1\t0:00\t1:00\tD\n"+
"Rule\tIraq\t1985\t1990\t-\tSep\tlastSun\t1:00s\t0\tS\n"+
"Rule\tIraq\t1986\t1990\t-\tMar\tlastSun\t1:00s\t1:00\tD\n"+
"Rule\tIraq\t1991\t2007\t-\tApr\t 1\t3:00s\t1:00\tD\n"+
"Rule\tIraq\t1991\t2007\t-\tOct\t 1\t3:00s\t0\tS\n"+
"Zone\tAsia/Baghdad\t2:57:40\t-\tLMT\t1890\n"+
"\t\t\t2:57:36\t-\tBMT\t1918\t # Baghdad Mean Time?\n"+
"\t\t\t3:00\t-\tAST\t1982 May\n"+
"\t\t\t3:00\tIraq\tA%sT\n"+
"Rule\tZion\t1940\tonly\t-\tJun\t 1\t0:00\t1:00\tD\n"+
"Rule\tZion\t1942\t1944\t-\tNov\t 1\t0:00\t0\tS\n"+
"Rule\tZion\t1943\tonly\t-\tApr\t 1\t2:00\t1:00\tD\n"+
"Rule\tZion\t1944\tonly\t-\tApr\t 1\t0:00\t1:00\tD\n"+
"Rule\tZion\t1945\tonly\t-\tApr\t16\t0:00\t1:00\tD\n"+
"Rule\tZion\t1945\tonly\t-\tNov\t 1\t2:00\t0\tS\n"+
"Rule\tZion\t1946\tonly\t-\tApr\t16\t2:00\t1:00\tD\n"+
"Rule\tZion\t1946\tonly\t-\tNov\t 1\t0:00\t0\tS\n"+
"Rule\tZion\t1948\tonly\t-\tMay\t23\t0:00\t2:00\tDD\n"+
"Rule\tZion\t1948\tonly\t-\tSep\t 1\t0:00\t1:00\tD\n"+
"Rule\tZion\t1948\t1949\t-\tNov\t 1\t2:00\t0\tS\n"+
"Rule\tZion\t1949\tonly\t-\tMay\t 1\t0:00\t1:00\tD\n"+
"Rule\tZion\t1950\tonly\t-\tApr\t16\t0:00\t1:00\tD\n"+
"Rule\tZion\t1950\tonly\t-\tSep\t15\t3:00\t0\tS\n"+
"Rule\tZion\t1951\tonly\t-\tApr\t 1\t0:00\t1:00\tD\n"+
"Rule\tZion\t1951\tonly\t-\tNov\t11\t3:00\t0\tS\n"+
"Rule\tZion\t1952\tonly\t-\tApr\t20\t2:00\t1:00\tD\n"+
"Rule\tZion\t1952\tonly\t-\tOct\t19\t3:00\t0\tS\n"+
"Rule\tZion\t1953\tonly\t-\tApr\t12\t2:00\t1:00\tD\n"+
"Rule\tZion\t1953\tonly\t-\tSep\t13\t3:00\t0\tS\n"+
"Rule\tZion\t1954\tonly\t-\tJun\t13\t0:00\t1:00\tD\n"+
"Rule\tZion\t1954\tonly\t-\tSep\t12\t0:00\t0\tS\n"+
"Rule\tZion\t1955\tonly\t-\tJun\t11\t2:00\t1:00\tD\n"+
"Rule\tZion\t1955\tonly\t-\tSep\t11\t0:00\t0\tS\n"+
"Rule\tZion\t1956\tonly\t-\tJun\t 3\t0:00\t1:00\tD\n"+
"Rule\tZion\t1956\tonly\t-\tSep\t30\t3:00\t0\tS\n"+
"Rule\tZion\t1957\tonly\t-\tApr\t29\t2:00\t1:00\tD\n"+
"Rule\tZion\t1957\tonly\t-\tSep\t22\t0:00\t0\tS\n"+
"Rule\tZion\t1974\tonly\t-\tJul\t 7\t0:00\t1:00\tD\n"+
"Rule\tZion\t1974\tonly\t-\tOct\t13\t0:00\t0\tS\n"+
"Rule\tZion\t1975\tonly\t-\tApr\t20\t0:00\t1:00\tD\n"+
"Rule\tZion\t1975\tonly\t-\tAug\t31\t0:00\t0\tS\n"+
"Rule\tZion\t1985\tonly\t-\tApr\t14\t0:00\t1:00\tD\n"+
"Rule\tZion\t1985\tonly\t-\tSep\t15\t0:00\t0\tS\n"+
"Rule\tZion\t1986\tonly\t-\tMay\t18\t0:00\t1:00\tD\n"+
"Rule\tZion\t1986\tonly\t-\tSep\t 7\t0:00\t0\tS\n"+
"Rule\tZion\t1987\tonly\t-\tApr\t15\t0:00\t1:00\tD\n"+
"Rule\tZion\t1987\tonly\t-\tSep\t13\t0:00\t0\tS\n"+
"Rule\tZion\t1988\tonly\t-\tApr\t 9\t0:00\t1:00\tD\n"+
"Rule\tZion\t1988\tonly\t-\tSep\t 3\t0:00\t0\tS\n"+
"Rule\tZion\t1989\tonly\t-\tApr\t30\t0:00\t1:00\tD\n"+
"Rule\tZion\t1989\tonly\t-\tSep\t 3\t0:00\t0\tS\n"+
"Rule\tZion\t1990\tonly\t-\tMar\t25\t0:00\t1:00\tD\n"+
"Rule\tZion\t1990\tonly\t-\tAug\t26\t0:00\t0\tS\n"+
"Rule\tZion\t1991\tonly\t-\tMar\t24\t0:00\t1:00\tD\n"+
"Rule\tZion\t1991\tonly\t-\tSep\t 1\t0:00\t0\tS\n"+
"Rule\tZion\t1992\tonly\t-\tMar\t29\t0:00\t1:00\tD\n"+
"Rule\tZion\t1992\tonly\t-\tSep\t 6\t0:00\t0\tS\n"+
"Rule\tZion\t1993\tonly\t-\tApr\t 2\t0:00\t1:00\tD\n"+
"Rule\tZion\t1993\tonly\t-\tSep\t 5\t0:00\t0\tS\n"+
"Rule\tZion\t1994\tonly\t-\tApr\t 1\t0:00\t1:00\tD\n"+
"Rule\tZion\t1994\tonly\t-\tAug\t28\t0:00\t0\tS\n"+
"Rule\tZion\t1995\tonly\t-\tMar\t31\t0:00\t1:00\tD\n"+
"Rule\tZion\t1995\tonly\t-\tSep\t 3\t0:00\t0\tS\n"+
"Rule\tZion\t1996\tonly\t-\tMar\t15\t0:00\t1:00\tD\n"+
"Rule\tZion\t1996\tonly\t-\tSep\t16\t0:00\t0\tS\n"+
"Rule\tZion\t1997\tonly\t-\tMar\t21\t0:00\t1:00\tD\n"+
"Rule\tZion\t1997\tonly\t-\tSep\t14\t0:00\t0\tS\n"+
"Rule\tZion\t1998\tonly\t-\tMar\t20\t0:00\t1:00\tD\n"+
"Rule\tZion\t1998\tonly\t-\tSep\t 6\t0:00\t0\tS\n"+
"Rule\tZion\t1999\tonly\t-\tApr\t 2\t2:00\t1:00\tD\n"+
"Rule\tZion\t1999\tonly\t-\tSep\t 3\t2:00\t0\tS\n"+
"Rule\tZion\t2000\tonly\t-\tApr\t14\t2:00\t1:00\tD\n"+
"Rule\tZion\t2000\tonly\t-\tOct\t 6\t1:00\t0\tS\n"+
"Rule\tZion\t2001\tonly\t-\tApr\t 9\t1:00\t1:00\tD\n"+
"Rule\tZion\t2001\tonly\t-\tSep\t24\t1:00\t0\tS\n"+
"Rule\tZion\t2002\tonly\t-\tMar\t29\t1:00\t1:00\tD\n"+
"Rule\tZion\t2002\tonly\t-\tOct\t 7\t1:00\t0\tS\n"+
"Rule\tZion\t2003\tonly\t-\tMar\t28\t1:00\t1:00\tD\n"+
"Rule\tZion\t2003\tonly\t-\tOct\t 3\t1:00\t0\tS\n"+
"Rule\tZion\t2004\tonly\t-\tApr\t 7\t1:00\t1:00\tD\n"+
"Rule\tZion\t2004\tonly\t-\tSep\t22\t1:00\t0\tS\n"+
"Rule\tZion\t2005\tonly\t-\tApr\t 1\t2:00\t1:00\tD\n"+
"Rule\tZion\t2005\tonly\t-\tOct\t 9\t2:00\t0\tS\n"+
"Rule\tZion\t2006\t2010\t-\tMar\tFri>=26\t2:00\t1:00\tD\n"+
"Rule\tZion\t2006\tonly\t-\tOct\t 1\t2:00\t0\tS\n"+
"Rule\tZion\t2007\tonly\t-\tSep\t16\t2:00\t0\tS\n"+
"Rule\tZion\t2008\tonly\t-\tOct\t 5\t2:00\t0\tS\n"+
"Rule\tZion\t2009\tonly\t-\tSep\t27\t2:00\t0\tS\n"+
"Rule\tZion\t2010\tonly\t-\tSep\t12\t2:00\t0\tS\n"+
"Rule\tZion\t2011\tonly\t-\tApr\t 1\t2:00\t1:00\tD\n"+
"Rule\tZion\t2011\tonly\t-\tOct\t 2\t2:00\t0\tS\n"+
"Rule\tZion\t2012\t2015\t-\tMar\tFri>=26\t2:00\t1:00\tD\n"+
"Rule\tZion\t2012\tonly\t-\tSep\t23\t2:00\t0\tS\n"+
"Rule\tZion\t2013\tonly\t-\tSep\t 8\t2:00\t0\tS\n"+
"Rule\tZion\t2014\tonly\t-\tSep\t28\t2:00\t0\tS\n"+
"Rule\tZion\t2015\tonly\t-\tSep\t20\t2:00\t0\tS\n"+
"Rule\tZion\t2016\tonly\t-\tApr\t 1\t2:00\t1:00\tD\n"+
"Rule\tZion\t2016\tonly\t-\tOct\t 9\t2:00\t0\tS\n"+
"Rule\tZion\t2017\t2021\t-\tMar\tFri>=26\t2:00\t1:00\tD\n"+
"Rule\tZion\t2017\tonly\t-\tSep\t24\t2:00\t0\tS\n"+
"Rule\tZion\t2018\tonly\t-\tSep\t16\t2:00\t0\tS\n"+
"Rule\tZion\t2019\tonly\t-\tOct\t 6\t2:00\t0\tS\n"+
"Rule\tZion\t2020\tonly\t-\tSep\t27\t2:00\t0\tS\n"+
"Rule\tZion\t2021\tonly\t-\tSep\t12\t2:00\t0\tS\n"+
"Rule\tZion\t2022\tonly\t-\tApr\t 1\t2:00\t1:00\tD\n"+
"Rule\tZion\t2022\tonly\t-\tOct\t 2\t2:00\t0\tS\n"+
"Rule\tZion\t2023\t2032\t-\tMar\tFri>=26\t2:00\t1: