Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dolibarr
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Analyze
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Software_Artifact_Infrastructure_Repository
dolibarr
Commits
cb29f914
Commit
cb29f914
authored
9 years ago
by
Laurent Destailleur
Browse files
Options
Downloads
Patches
Plain Diff
FIX An external libray must contains also non obfuscated code into
source
parent
a19f88b6
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
COPYRIGHT
+1
-1
1 addition, 1 deletion
COPYRIGHT
htdocs/includes/jstz/jstz.js
+1433
-0
1433 additions, 0 deletions
htdocs/includes/jstz/jstz.js
htdocs/includes/jstz/jstz.min.js
+2
-2
2 additions, 2 deletions
htdocs/includes/jstz/jstz.min.js
with
1436 additions
and
3 deletions
COPYRIGHT
+
1
−
1
View file @
cb29f914
...
...
@@ -54,7 +54,7 @@ jQuery TableDnD 0.6 GPL and MIT License Yes
jQuery Timepicker 1.1.0 GPL and MIT License Yes JS library Timepicker addon for Datepicker
jQuery Tiptip 1.3 GPL and MIT License Yes JS library for tooltips
jsGantt 1.2 BSD License Yes JS library (to build Gantt reports)
JsTimezoneDetect 1.0.
4
MIT License Yes JS library to detect user timezone
JsTimezoneDetect 1.0.
6
MIT License Yes JS library to detect user timezone
Raven.js 1.1.19 MIT License Yes Used for client-side error logging with Sentry logger
For licenses compatibility informations:
...
...
This diff is collapsed.
Click to expand it.
htdocs/includes/jstz/jstz.js
0 → 100644
+
1433
−
0
View file @
cb29f914
(
function
(
root
)
{
/*global exports, Intl*/
/**
* This script gives you the zone info key representing your device's time zone setting.
*
* @name jsTimezoneDetect
* @version 1.0.6
* @author Jon Nylander
* @license MIT License - https://bitbucket.org/pellepim/jstimezonedetect/src/default/LICENCE.txt
*
* For usage and examples, visit:
* http://pellepim.bitbucket.org/jstz/
*
* Copyright (c) Jon Nylander
*/
/**
* Namespace to hold all the code for timezone detection.
*/
var
jstz
=
(
function
()
{
'
use strict
'
;
var
HEMISPHERE_SOUTH
=
'
s
'
,
consts
=
{
DAY
:
86400000
,
HOUR
:
3600000
,
MINUTE
:
60000
,
SECOND
:
1000
,
BASELINE_YEAR
:
2014
,
MAX_SCORE
:
864000000
,
// 10 days
AMBIGUITIES
:
{
'
America/Denver
'
:
[
'
America/Mazatlan
'
],
'
Europe/London
'
:
[
'
Africa/Casablanca
'
],
'
America/Chicago
'
:
[
'
America/Mexico_City
'
],
'
America/Asuncion
'
:
[
'
America/Campo_Grande
'
,
'
America/Santiago
'
],
'
America/Montevideo
'
:
[
'
America/Sao_Paulo
'
,
'
America/Santiago
'
],
// Europe/Minsk should not be in this list... but Windows.
'
Asia/Beirut
'
:
[
'
Asia/Amman
'
,
'
Asia/Jerusalem
'
,
'
Europe/Helsinki
'
,
'
Asia/Damascus
'
,
'
Africa/Cairo
'
,
'
Asia/Gaza
'
,
'
Europe/Minsk
'
],
'
Pacific/Auckland
'
:
[
'
Pacific/Fiji
'
],
'
America/Los_Angeles
'
:
[
'
America/Santa_Isabel
'
],
'
America/New_York
'
:
[
'
America/Havana
'
],
'
America/Halifax
'
:
[
'
America/Goose_Bay
'
],
'
America/Godthab
'
:
[
'
America/Miquelon
'
],
'
Asia/Dubai
'
:
[
'
Asia/Yerevan
'
],
'
Asia/Jakarta
'
:
[
'
Asia/Krasnoyarsk
'
],
'
Asia/Shanghai
'
:
[
'
Asia/Irkutsk
'
,
'
Australia/Perth
'
],
'
Australia/Sydney
'
:
[
'
Australia/Lord_Howe
'
],
'
Asia/Tokyo
'
:
[
'
Asia/Yakutsk
'
],
'
Asia/Dhaka
'
:
[
'
Asia/Omsk
'
],
// In the real world Yerevan is not ambigous for Baku... but Windows.
'
Asia/Baku
'
:
[
'
Asia/Yerevan
'
],
'
Australia/Brisbane
'
:
[
'
Asia/Vladivostok
'
],
'
Pacific/Noumea
'
:
[
'
Asia/Vladivostok
'
],
'
Pacific/Majuro
'
:
[
'
Asia/Kamchatka
'
,
'
Pacific/Fiji
'
],
'
Pacific/Tongatapu
'
:
[
'
Pacific/Apia
'
],
'
Asia/Baghdad
'
:
[
'
Europe/Minsk
'
,
'
Europe/Moscow
'
],
'
Asia/Karachi
'
:
[
'
Asia/Yekaterinburg
'
],
'
Africa/Johannesburg
'
:
[
'
Asia/Gaza
'
,
'
Africa/Cairo
'
]
}
},
/**
* Gets the offset in minutes from UTC for a certain date.
* @param {Date} date
* @returns {Number}
*/
get_date_offset
=
function
get_date_offset
(
date
)
{
var
offset
=
-
date
.
getTimezoneOffset
();
return
(
offset
!==
null
?
offset
:
0
);
},
/**
* This function does some basic calculations to create information about
* the user's timezone. It uses REFERENCE_YEAR as a solid year for which
* the script has been tested rather than depend on the year set by the
* client device.
*
* Returns a key that can be used to do lookups in jstz.olson.timezones.
* eg: "720,1,2".
*
* @returns {String}
*/
lookup_key
=
function
lookup_key
()
{
var
january_offset
=
get_date_offset
(
new
Date
(
consts
.
BASELINE_YEAR
,
0
,
2
)),
june_offset
=
get_date_offset
(
new
Date
(
consts
.
BASELINE_YEAR
,
5
,
2
)),
diff
=
january_offset
-
june_offset
;
if
(
diff
<
0
)
{
return
january_offset
+
"
,1
"
;
}
else
if
(
diff
>
0
)
{
return
june_offset
+
"
,1,
"
+
HEMISPHERE_SOUTH
;
}
return
january_offset
+
"
,0
"
;
},
/**
* Tries to get the time zone key directly from the operating system for those
* environments that support the ECMAScript Internationalization API.
*/
get_from_internationalization_api
=
function
get_from_internationalization_api
()
{
var
format
,
timezone
;
if
(
typeof
Intl
===
"
undefined
"
||
typeof
Intl
.
DateTimeFormat
===
"
undefined
"
)
{
return
;
}
format
=
Intl
.
DateTimeFormat
();
if
(
typeof
format
===
"
undefined
"
||
typeof
format
.
resolvedOptions
===
"
undefined
"
)
{
return
;
}
timezone
=
format
.
resolvedOptions
().
timeZone
;
if
(
timezone
&&
(
timezone
.
indexOf
(
"
/
"
)
>
-
1
||
timezone
===
'
UTC
'
))
{
return
timezone
;
}
},
/**
* Starting point for getting all the DST rules for a specific year
* for the current timezone (as described by the client system).
*
* Returns an object with start and end attributes, or false if no
* DST rules were found for the year.
*
* @param year
* @returns {Object} || {Boolean}
*/
dst_dates
=
function
dst_dates
(
year
)
{
var
yearstart
=
new
Date
(
year
,
0
,
1
,
0
,
0
,
1
,
0
).
getTime
();
var
yearend
=
new
Date
(
year
,
12
,
31
,
23
,
59
,
59
).
getTime
();
var
current
=
yearstart
;
var
offset
=
(
new
Date
(
current
)).
getTimezoneOffset
();
var
dst_start
=
null
;
var
dst_end
=
null
;
while
(
current
<
yearend
-
86400000
)
{
var
dateToCheck
=
new
Date
(
current
);
var
dateToCheckOffset
=
dateToCheck
.
getTimezoneOffset
();
if
(
dateToCheckOffset
!==
offset
)
{
if
(
dateToCheckOffset
<
offset
)
{
dst_start
=
dateToCheck
;
}
if
(
dateToCheckOffset
>
offset
)
{
dst_end
=
dateToCheck
;
}
offset
=
dateToCheckOffset
;
}
current
+=
86400000
;
}
if
(
dst_start
&&
dst_end
)
{
return
{
s
:
find_dst_fold
(
dst_start
).
getTime
(),
e
:
find_dst_fold
(
dst_end
).
getTime
()
};
}
return
false
;
},
/**
* Probably completely unnecessary function that recursively finds the
* exact (to the second) time when a DST rule was changed.
*
* @param a_date - The candidate Date.
* @param padding - integer specifying the padding to allow around the candidate
* date for finding the fold.
* @param iterator - integer specifying how many milliseconds to iterate while
* searching for the fold.
*
* @returns {Date}
*/
find_dst_fold
=
function
find_dst_fold
(
a_date
,
padding
,
iterator
)
{
if
(
typeof
padding
===
'
undefined
'
)
{
padding
=
consts
.
DAY
;
iterator
=
consts
.
HOUR
;
}
var
date_start
=
new
Date
(
a_date
.
getTime
()
-
padding
).
getTime
();
var
date_end
=
a_date
.
getTime
()
+
padding
;
var
offset
=
new
Date
(
date_start
).
getTimezoneOffset
();
var
current
=
date_start
;
var
dst_change
=
null
;
while
(
current
<
date_end
-
iterator
)
{
var
dateToCheck
=
new
Date
(
current
);
var
dateToCheckOffset
=
dateToCheck
.
getTimezoneOffset
();
if
(
dateToCheckOffset
!==
offset
)
{
dst_change
=
dateToCheck
;
break
;
}
current
+=
iterator
;
}
if
(
padding
===
consts
.
DAY
)
{
return
find_dst_fold
(
dst_change
,
consts
.
HOUR
,
consts
.
MINUTE
);
}
if
(
padding
===
consts
.
HOUR
)
{
return
find_dst_fold
(
dst_change
,
consts
.
MINUTE
,
consts
.
SECOND
);
}
return
dst_change
;
},
windows7_adaptations
=
function
windows7_adaptions
(
rule_list
,
preliminary_timezone
,
score
,
sample
)
{
if
(
score
!==
'
N/A
'
)
{
return
score
;
}
if
(
preliminary_timezone
===
'
Asia/Beirut
'
)
{
if
(
sample
.
name
===
'
Africa/Cairo
'
)
{
if
(
rule_list
[
6
].
s
===
1398376800000
&&
rule_list
[
6
].
e
===
1411678800000
)
{
return
0
;
}
}
if
(
sample
.
name
===
'
Asia/Jerusalem
'
)
{
if
(
rule_list
[
6
].
s
===
1395964800000
&&
rule_list
[
6
].
e
===
1411858800000
)
{
return
0
;
}
}
}
else
if
(
preliminary_timezone
===
'
America/Santiago
'
)
{
if
(
sample
.
name
===
'
America/Asuncion
'
)
{
if
(
rule_list
[
6
].
s
===
1412481600000
&&
rule_list
[
6
].
e
===
1397358000000
)
{
return
0
;
}
}
if
(
sample
.
name
===
'
America/Campo_Grande
'
)
{
if
(
rule_list
[
6
].
s
===
1413691200000
&&
rule_list
[
6
].
e
===
1392519600000
)
{
return
0
;
}
}
}
else
if
(
preliminary_timezone
===
'
America/Montevideo
'
)
{
if
(
sample
.
name
===
'
America/Sao_Paulo
'
)
{
if
(
rule_list
[
6
].
s
===
1413687600000
&&
rule_list
[
6
].
e
===
1392516000000
)
{
return
0
;
}
}
}
else
if
(
preliminary_timezone
===
'
Pacific/Auckland
'
)
{
if
(
sample
.
name
===
'
Pacific/Fiji
'
)
{
if
(
rule_list
[
6
].
s
===
1414245600000
&&
rule_list
[
6
].
e
===
1396101600000
)
{
return
0
;
}
}
}
return
score
;
},
/**
* Takes the DST rules for the current timezone, and proceeds to find matches
* in the jstz.olson.dst_rules.zones array.
*
* Compares samples to the current timezone on a scoring basis.
*
* Candidates are ruled immediately if either the candidate or the current zone
* has a DST rule where the other does not.
*
* Candidates are ruled out immediately if the current zone has a rule that is
* outside the DST scope of the candidate.
*
* Candidates are included for scoring if the current zones rules fall within the
* span of the samples rules.
*
* Low score is best, the score is calculated by summing up the differences in DST
* rules and if the consts.MAX_SCORE is overreached the candidate is ruled out.
*
* Yah follow? :)
*
* @param rule_list
* @param preliminary_timezone
* @returns {*}
*/
best_dst_match
=
function
best_dst_match
(
rule_list
,
preliminary_timezone
)
{
var
score_sample
=
function
score_sample
(
sample
)
{
var
score
=
0
;
for
(
var
j
=
0
;
j
<
rule_list
.
length
;
j
++
)
{
// Both sample and current time zone report DST during the year.
if
(
!!
sample
.
rules
[
j
]
&&
!!
rule_list
[
j
])
{
// The current time zone's DST rules are inside the sample's. Include.
if
(
rule_list
[
j
].
s
>=
sample
.
rules
[
j
].
s
&&
rule_list
[
j
].
e
<=
sample
.
rules
[
j
].
e
)
{
score
=
0
;
score
+=
Math
.
abs
(
rule_list
[
j
].
s
-
sample
.
rules
[
j
].
s
);
score
+=
Math
.
abs
(
sample
.
rules
[
j
].
e
-
rule_list
[
j
].
e
);
// The current time zone's DST rules are outside the sample's. Discard.
}
else
{
score
=
'
N/A
'
;
break
;
}
// The max score has been reached. Discard.
if
(
score
>
consts
.
MAX_SCORE
)
{
score
=
'
N/A
'
;
break
;
}
}
}
score
=
windows7_adaptations
(
rule_list
,
preliminary_timezone
,
score
,
sample
);
return
score
;
};
var
scoreboard
=
{};
var
dst_zones
=
jstz
.
olson
.
dst_rules
.
zones
;
var
dst_zones_length
=
dst_zones
.
length
;
var
ambiguities
=
consts
.
AMBIGUITIES
[
preliminary_timezone
];
for
(
var
i
=
0
;
i
<
dst_zones_length
;
i
++
)
{
var
sample
=
dst_zones
[
i
];
var
score
=
score_sample
(
dst_zones
[
i
]);
if
(
score
!==
'
N/A
'
)
{
scoreboard
[
sample
.
name
]
=
score
;
}
}
for
(
var
tz
in
scoreboard
)
{
if
(
scoreboard
.
hasOwnProperty
(
tz
))
{
for
(
var
j
=
0
;
j
<
ambiguities
.
length
;
j
++
)
{
if
(
ambiguities
[
j
]
===
tz
)
{
return
tz
;
}
}
}
}
return
preliminary_timezone
;
},
/**
* Takes the preliminary_timezone as detected by lookup_key().
*
* Builds up the current timezones DST rules for the years defined
* in the jstz.olson.dst_rules.years array.
*
* If there are no DST occurences for those years, immediately returns
* the preliminary timezone. Otherwise proceeds and tries to solve
* ambiguities.
*
* @param preliminary_timezone
* @returns {String} timezone_name
*/
get_by_dst
=
function
get_by_dst
(
preliminary_timezone
)
{
var
get_rules
=
function
get_rules
()
{
var
rule_list
=
[];
for
(
var
i
=
0
;
i
<
jstz
.
olson
.
dst_rules
.
years
.
length
;
i
++
)
{
var
year_rules
=
dst_dates
(
jstz
.
olson
.
dst_rules
.
years
[
i
]);
rule_list
.
push
(
year_rules
);
}
return
rule_list
;
};
var
check_has_dst
=
function
check_has_dst
(
rules
)
{
for
(
var
i
=
0
;
i
<
rules
.
length
;
i
++
)
{
if
(
rules
[
i
]
!==
false
)
{
return
true
;
}
}
return
false
;
};
var
rules
=
get_rules
();
var
has_dst
=
check_has_dst
(
rules
);
if
(
has_dst
)
{
return
best_dst_match
(
rules
,
preliminary_timezone
);
}
return
preliminary_timezone
;
},
/**
* Uses get_timezone_info() to formulate a key to use in the olson.timezones dictionary.
*
* Returns an object with one function ".name()"
*
* @returns Object
*/
determine
=
function
determine
()
{
var
preliminary_tz
=
get_from_internationalization_api
();
if
(
!
preliminary_tz
)
{
preliminary_tz
=
jstz
.
olson
.
timezones
[
lookup_key
()];
if
(
typeof
consts
.
AMBIGUITIES
[
preliminary_tz
]
!==
'
undefined
'
)
{
preliminary_tz
=
get_by_dst
(
preliminary_tz
);
}
}
return
{
name
:
function
()
{
return
preliminary_tz
;
}
};
};
return
{
determine
:
determine
};
}());
jstz
.
olson
=
jstz
.
olson
||
{};
/**
* The keys in this dictionary are comma separated as such:
*
* First the offset compared to UTC time in minutes.
*
* Then a flag which is 0 if the timezone does not take daylight savings into account and 1 if it
* does.
*
* Thirdly an optional 's' signifies that the timezone is in the southern hemisphere,
* only interesting for timezones with DST.
*
* The mapped arrays is used for constructing the jstz.TimeZone object from within
* jstz.determine();
*/
jstz
.
olson
.
timezones
=
{
'
-720,0
'
:
'
Etc/GMT+12
'
,
'
-660,0
'
:
'
Pacific/Pago_Pago
'
,
'
-660,1,s
'
:
'
Pacific/Apia
'
,
// Why? Because windows... cry!
'
-600,1
'
:
'
America/Adak
'
,
'
-600,0
'
:
'
Pacific/Honolulu
'
,
'
-570,0
'
:
'
Pacific/Marquesas
'
,
'
-540,0
'
:
'
Pacific/Gambier
'
,
'
-540,1
'
:
'
America/Anchorage
'
,
'
-480,1
'
:
'
America/Los_Angeles
'
,
'
-480,0
'
:
'
Pacific/Pitcairn
'
,
'
-420,0
'
:
'
America/Phoenix
'
,
'
-420,1
'
:
'
America/Denver
'
,
'
-360,0
'
:
'
America/Guatemala
'
,
'
-360,1
'
:
'
America/Chicago
'
,
'
-360,1,s
'
:
'
Pacific/Easter
'
,
'
-300,0
'
:
'
America/Bogota
'
,
'
-300,1
'
:
'
America/New_York
'
,
'
-270,0
'
:
'
America/Caracas
'
,
'
-240,1
'
:
'
America/Halifax
'
,
'
-240,0
'
:
'
America/Santo_Domingo
'
,
'
-240,1,s
'
:
'
America/Asuncion
'
,
'
-210,1
'
:
'
America/St_Johns
'
,
'
-180,1
'
:
'
America/Godthab
'
,
'
-180,0
'
:
'
America/Argentina/Buenos_Aires
'
,
'
-180,1,s
'
:
'
America/Montevideo
'
,
'
-120,0
'
:
'
America/Noronha
'
,
'
-120,1
'
:
'
America/Noronha
'
,
'
-60,1
'
:
'
Atlantic/Azores
'
,
'
-60,0
'
:
'
Atlantic/Cape_Verde
'
,
'
0,0
'
:
'
UTC
'
,
'
0,1
'
:
'
Europe/London
'
,
'
60,1
'
:
'
Europe/Berlin
'
,
'
60,0
'
:
'
Africa/Lagos
'
,
'
60,1,s
'
:
'
Africa/Windhoek
'
,
'
120,1
'
:
'
Asia/Beirut
'
,
'
120,0
'
:
'
Africa/Johannesburg
'
,
'
180,0
'
:
'
Asia/Baghdad
'
,
'
180,1
'
:
'
Europe/Moscow
'
,
'
210,1
'
:
'
Asia/Tehran
'
,
'
240,0
'
:
'
Asia/Dubai
'
,
'
240,1
'
:
'
Asia/Baku
'
,
'
270,0
'
:
'
Asia/Kabul
'
,
'
300,1
'
:
'
Asia/Yekaterinburg
'
,
'
300,0
'
:
'
Asia/Karachi
'
,
'
330,0
'
:
'
Asia/Kolkata
'
,
'
345,0
'
:
'
Asia/Kathmandu
'
,
'
360,0
'
:
'
Asia/Dhaka
'
,
'
360,1
'
:
'
Asia/Omsk
'
,
'
390,0
'
:
'
Asia/Rangoon
'
,
'
420,1
'
:
'
Asia/Krasnoyarsk
'
,
'
420,0
'
:
'
Asia/Jakarta
'
,
'
480,0
'
:
'
Asia/Shanghai
'
,
'
480,1
'
:
'
Asia/Irkutsk
'
,
'
525,0
'
:
'
Australia/Eucla
'
,
'
525,1,s
'
:
'
Australia/Eucla
'
,
'
540,1
'
:
'
Asia/Yakutsk
'
,
'
540,0
'
:
'
Asia/Tokyo
'
,
'
570,0
'
:
'
Australia/Darwin
'
,
'
570,1,s
'
:
'
Australia/Adelaide
'
,
'
600,0
'
:
'
Australia/Brisbane
'
,
'
600,1
'
:
'
Asia/Vladivostok
'
,
'
600,1,s
'
:
'
Australia/Sydney
'
,
'
630,1,s
'
:
'
Australia/Lord_Howe
'
,
'
660,1
'
:
'
Asia/Kamchatka
'
,
'
660,0
'
:
'
Pacific/Noumea
'
,
'
690,0
'
:
'
Pacific/Norfolk
'
,
'
720,1,s
'
:
'
Pacific/Auckland
'
,
'
720,0
'
:
'
Pacific/Majuro
'
,
'
765,1,s
'
:
'
Pacific/Chatham
'
,
'
780,0
'
:
'
Pacific/Tongatapu
'
,
'
780,1,s
'
:
'
Pacific/Apia
'
,
'
840,0
'
:
'
Pacific/Kiritimati
'
};
/* Build time: 2015-11-02 13:01:00Z Build by invoking python utilities/dst.py generate */
jstz
.
olson
.
dst_rules
=
{
"
years
"
:
[
2008
,
2009
,
2010
,
2011
,
2012
,
2013
,
2014
],
"
zones
"
:
[
{
"
name
"
:
"
Africa/Cairo
"
,
"
rules
"
:
[
{
"
e
"
:
1219957200000
,
"
s
"
:
1209074400000
},
{
"
e
"
:
1250802000000
,
"
s
"
:
1240524000000
},
{
"
e
"
:
1285880400000
,
"
s
"
:
1284069600000
},
false
,
false
,
false
,
{
"
e
"
:
1411678800000
,
"
s
"
:
1406844000000
}
]
},
{
"
name
"
:
"
Africa/Casablanca
"
,
"
rules
"
:
[
{
"
e
"
:
1220223600000
,
"
s
"
:
1212278400000
},
{
"
e
"
:
1250809200000
,
"
s
"
:
1243814400000
},
{
"
e
"
:
1281222000000
,
"
s
"
:
1272758400000
},
{
"
e
"
:
1312066800000
,
"
s
"
:
1301788800000
},
{
"
e
"
:
1348970400000
,
"
s
"
:
1345428000000
},
{
"
e
"
:
1382839200000
,
"
s
"
:
1376100000000
},
{
"
e
"
:
1414288800000
,
"
s
"
:
1406944800000
}
]
},
{
"
name
"
:
"
America/Asuncion
"
,
"
rules
"
:
[
{
"
e
"
:
1205031600000
,
"
s
"
:
1224388800000
},
{
"
e
"
:
1236481200000
,
"
s
"
:
1255838400000
},
{
"
e
"
:
1270954800000
,
"
s
"
:
1286078400000
},
{
"
e
"
:
1302404400000
,
"
s
"
:
1317528000000
},
{
"
e
"
:
1333854000000
,
"
s
"
:
1349582400000
},
{
"
e
"
:
1364094000000
,
"
s
"
:
1381032000000
},
{
"
e
"
:
1395543600000
,
"
s
"
:
1412481600000
}
]
},
{
"
name
"
:
"
America/Campo_Grande
"
,
"
rules
"
:
[
{
"
e
"
:
1203217200000
,
"
s
"
:
1224388800000
},
{
"
e
"
:
1234666800000
,
"
s
"
:
1255838400000
},
{
"
e
"
:
1266721200000
,
"
s
"
:
1287288000000
},
{
"
e
"
:
1298170800000
,
"
s
"
:
1318737600000
},
{
"
e
"
:
1330225200000
,
"
s
"
:
1350792000000
},
{
"
e
"
:
1361070000000
,
"
s
"
:
1382241600000
},
{
"
e
"
:
1392519600000
,
"
s
"
:
1413691200000
}
]
},
{
"
name
"
:
"
America/Goose_Bay
"
,
"
rules
"
:
[
{
"
e
"
:
1225594860000
,
"
s
"
:
1205035260000
},
{
"
e
"
:
1257044460000
,
"
s
"
:
1236484860000
},
{
"
e
"
:
1289098860000
,
"
s
"
:
1268539260000
},
{
"
e
"
:
1320555600000
,
"
s
"
:
1299988860000
},
{
"
e
"
:
1352005200000
,
"
s
"
:
1331445600000
},
{
"
e
"
:
1383454800000
,
"
s
"
:
1362895200000
},
{
"
e
"
:
1414904400000
,
"
s
"
:
1394344800000
}
]
},
{
"
name
"
:
"
America/Havana
"
,
"
rules
"
:
[
{
"
e
"
:
1224997200000
,
"
s
"
:
1205643600000
},
{
"
e
"
:
1256446800000
,
"
s
"
:
1236488400000
},
{
"
e
"
:
1288501200000
,
"
s
"
:
1268542800000
},
{
"
e
"
:
1321160400000
,
"
s
"
:
1300597200000
},
{
"
e
"
:
1352005200000
,
"
s
"
:
1333256400000
},
{
"
e
"
:
1383454800000
,
"
s
"
:
1362891600000
},
{
"
e
"
:
1414904400000
,
"
s
"
:
1394341200000
}
]
},
{
"
name
"
:
"
America/Mazatlan
"
,
"
rules
"
:
[
{
"
e
"
:
1225008000000
,
"
s
"
:
1207472400000
},
{
"
e
"
:
1256457600000
,
"
s
"
:
1238922000000
},
{
"
e
"
:
1288512000000
,
"
s
"
:
1270371600000
},
{
"
e
"
:
1319961600000
,
"
s
"
:
1301821200000
},
{
"
e
"
:
1351411200000
,
"
s
"
:
1333270800000
},
{
"
e
"
:
1382860800000
,
"
s
"
:
1365325200000
},
{
"
e
"
:
1414310400000
,
"
s
"
:
1396774800000
}
]
},
{
"
name
"
:
"
America/Mexico_City
"
,
"
rules
"
:
[
{
"
e
"
:
1225004400000
,
"
s
"
:
1207468800000
},
{
"
e
"
:
1256454000000
,
"
s
"
:
1238918400000
},
{
"
e
"
:
1288508400000
,
"
s
"
:
1270368000000
},
{
"
e
"
:
1319958000000
,
"
s
"
:
1301817600000
},
{
"
e
"
:
1351407600000
,
"
s
"
:
1333267200000
},
{
"
e
"
:
1382857200000
,
"
s
"
:
1365321600000
},
{
"
e
"
:
1414306800000
,
"
s
"
:
1396771200000
}
]
},
{
"
name
"
:
"
America/Miquelon
"
,
"
rules
"
:
[
{
"
e
"
:
1225598400000
,
"
s
"
:
1205038800000
},
{
"
e
"
:
1257048000000
,
"
s
"
:
1236488400000
},
{
"
e
"
:
1289102400000
,
"
s
"
:
1268542800000
},
{
"
e
"
:
1320552000000
,
"
s
"
:
1299992400000
},
{
"
e
"
:
1352001600000
,
"
s
"
:
1331442000000
},
{
"
e
"
:
1383451200000
,
"
s
"
:
1362891600000
},
{
"
e
"
:
1414900800000
,
"
s
"
:
1394341200000
}
]
},
{
"
name
"
:
"
America/Santa_Isabel
"
,
"
rules
"
:
[
{
"
e
"
:
1225011600000
,
"
s
"
:
1207476000000
},
{
"
e
"
:
1256461200000
,
"
s
"
:
1238925600000
},
{
"
e
"
:
1288515600000
,
"
s
"
:
1270375200000
},
{
"
e
"
:
1319965200000
,
"
s
"
:
1301824800000
},
{
"
e
"
:
1351414800000
,
"
s
"
:
1333274400000
},
{
"
e
"
:
1382864400000
,
"
s
"
:
1365328800000
},
{
"
e
"
:
1414314000000
,
"
s
"
:
1396778400000
}
]
},
{
"
name
"
:
"
America/Santiago
"
,
"
rules
"
:
[
{
"
e
"
:
1206846000000
,
"
s
"
:
1223784000000
},
{
"
e
"
:
1237086000000
,
"
s
"
:
1255233600000
},
{
"
e
"
:
1270350000000
,
"
s
"
:
1286683200000
},
{
"
e
"
:
1304823600000
,
"
s
"
:
1313899200000
},
{
"
e
"
:
1335668400000
,
"
s
"
:
1346558400000
},
{
"
e
"
:
1367118000000
,
"
s
"
:
1378612800000
},
{
"
e
"
:
1398567600000
,
"
s
"
:
1410062400000
}
]
},
{
"
name
"
:
"
America/Sao_Paulo
"
,
"
rules
"
:
[
{
"
e
"
:
1203213600000
,
"
s
"
:
1224385200000
},
{
"
e
"
:
1234663200000
,
"
s
"
:
1255834800000
},
{
"
e
"
:
1266717600000
,
"
s
"
:
1287284400000
},
{
"
e
"
:
1298167200000
,
"
s
"
:
1318734000000
},
{
"
e
"
:
1330221600000
,
"
s
"
:
1350788400000
},
{
"
e
"
:
1361066400000
,
"
s
"
:
1382238000000
},
{
"
e
"
:
1392516000000
,
"
s
"
:
1413687600000
}
]
},
{
"
name
"
:
"
Asia/Amman
"
,
"
rules
"
:
[
{
"
e
"
:
1225404000000
,
"
s
"
:
1206655200000
},
{
"
e
"
:
1256853600000
,
"
s
"
:
1238104800000
},
{
"
e
"
:
1288303200000
,
"
s
"
:
1269554400000
},
{
"
e
"
:
1319752800000
,
"
s
"
:
1301608800000
},
false
,
false
,
{
"
e
"
:
1414706400000
,
"
s
"
:
1395957600000
}
]
},
{
"
name
"
:
"
Asia/Damascus
"
,
"
rules
"
:
[
{
"
e
"
:
1225486800000
,
"
s
"
:
1207260000000
},
{
"
e
"
:
1256850000000
,
"
s
"
:
1238104800000
},
{
"
e
"
:
1288299600000
,
"
s
"
:
1270159200000
},
{
"
e
"
:
1319749200000
,
"
s
"
:
1301608800000
},
{
"
e
"
:
1351198800000
,
"
s
"
:
1333058400000
},
{
"
e
"
:
1382648400000
,
"
s
"
:
1364508000000
},
{
"
e
"
:
1414702800000
,
"
s
"
:
1395957600000
}
]
},
{
"
name
"
:
"
Asia/Dubai
"
,
"
rules
"
:
[
false
,
false
,
false
,
false
,
false
,
false
,
false
]
},
{
"
name
"
:
"
Asia/Gaza
"
,
"
rules
"
:
[
{
"
e
"
:
1219957200000
,
"
s
"
:
1206655200000
},
{
"
e
"
:
1252015200000
,
"
s
"
:
1238104800000
},
{
"
e
"
:
1281474000000
,
"
s
"
:
1269640860000
},
{
"
e
"
:
1312146000000
,
"
s
"
:
1301608860000
},
{
"
e
"
:
1348178400000
,
"
s
"
:
1333058400000
},
{
"
e
"
:
1380229200000
,
"
s
"
:
1364508000000
},
{
"
e
"
:
1414098000000
,
"
s
"
:
1395957600000
}
]
},
{
"
name
"
:
"
Asia/Irkutsk
"
,
"
rules
"
:
[
{
"
e
"
:
1224957600000
,
"
s
"
:
1206813600000
},
{
"
e
"
:
1256407200000
,
"
s
"
:
1238263200000
},
{
"
e
"
:
1288461600000
,
"
s
"
:
1269712800000
},
false
,
false
,
false
,
false
]
},
{
"
name
"
:
"
Asia/Jerusalem
"
,
"
rules
"
:
[
{
"
e
"
:
1223161200000
,
"
s
"
:
1206662400000
},
{
"
e
"
:
1254006000000
,
"
s
"
:
1238112000000
},
{
"
e
"
:
1284246000000
,
"
s
"
:
1269561600000
},
{
"
e
"
:
1317510000000
,
"
s
"
:
1301616000000
},
{
"
e
"
:
1348354800000
,
"
s
"
:
1333065600000
},
{
"
e
"
:
1382828400000
,
"
s
"
:
1364515200000
},
{
"
e
"
:
1414278000000
,
"
s
"
:
1395964800000
}
]
},
{
"
name
"
:
"
Asia/Kamchatka
"
,
"
rules
"
:
[
{
"
e
"
:
1224943200000
,
"
s
"
:
1206799200000
},
{
"
e
"
:
1256392800000
,
"
s
"
:
1238248800000
},
{
"
e
"
:
1288450800000
,
"
s
"
:
1269698400000
},
false
,
false
,
false
,
false
]
},
{
"
name
"
:
"
Asia/Krasnoyarsk
"
,
"
rules
"
:
[
{
"
e
"
:
1224961200000
,
"
s
"
:
1206817200000
},
{
"
e
"
:
1256410800000
,
"
s
"
:
1238266800000
},
{
"
e
"
:
1288465200000
,
"
s
"
:
1269716400000
},
false
,
false
,
false
,
false
]
},
{
"
name
"
:
"
Asia/Omsk
"
,
"
rules
"
:
[
{
"
e
"
:
1224964800000
,
"
s
"
:
1206820800000
},
{
"
e
"
:
1256414400000
,
"
s
"
:
1238270400000
},
{
"
e
"
:
1288468800000
,
"
s
"
:
1269720000000
},
false
,
false
,
false
,
false
]
},
{
"
name
"
:
"
Asia/Vladivostok
"
,
"
rules
"
:
[
{
"
e
"
:
1224950400000
,
"
s
"
:
1206806400000
},
{
"
e
"
:
1256400000000
,
"
s
"
:
1238256000000
},
{
"
e
"
:
1288454400000
,
"
s
"
:
1269705600000
},
false
,
false
,
false
,
false
]
},
{
"
name
"
:
"
Asia/Yakutsk
"
,
"
rules
"
:
[
{
"
e
"
:
1224954000000
,
"
s
"
:
1206810000000
},
{
"
e
"
:
1256403600000
,
"
s
"
:
1238259600000
},
{
"
e
"
:
1288458000000
,
"
s
"
:
1269709200000
},
false
,
false
,
false
,
false
]
},
{
"
name
"
:
"
Asia/Yekaterinburg
"
,
"
rules
"
:
[
{
"
e
"
:
1224968400000
,
"
s
"
:
1206824400000
},
{
"
e
"
:
1256418000000
,
"
s
"
:
1238274000000
},
{
"
e
"
:
1288472400000
,
"
s
"
:
1269723600000
},
false
,
false
,
false
,
false
]
},
{
"
name
"
:
"
Asia/Yerevan
"
,
"
rules
"
:
[
{
"
e
"
:
1224972000000
,
"
s
"
:
1206828000000
},
{
"
e
"
:
1256421600000
,
"
s
"
:
1238277600000
},
{
"
e
"
:
1288476000000
,
"
s
"
:
1269727200000
},
{
"
e
"
:
1319925600000
,
"
s
"
:
1301176800000
},
false
,
false
,
false
]
},
{
"
name
"
:
"
Australia/Lord_Howe
"
,
"
rules
"
:
[
{
"
e
"
:
1207407600000
,
"
s
"
:
1223134200000
},
{
"
e
"
:
1238857200000
,
"
s
"
:
1254583800000
},
{
"
e
"
:
1270306800000
,
"
s
"
:
1286033400000
},
{
"
e
"
:
1301756400000
,
"
s
"
:
1317483000000
},
{
"
e
"
:
1333206000000
,
"
s
"
:
1349537400000
},
{
"
e
"
:
1365260400000
,
"
s
"
:
1380987000000
},
{
"
e
"
:
1396710000000
,
"
s
"
:
1412436600000
}
]
},
{
"
name
"
:
"
Australia/Perth
"
,
"
rules
"
:
[
{
"
e
"
:
1206813600000
,
"
s
"
:
1224957600000
},
false
,
false
,
false
,
false
,
false
,
false
]
},
{
"
name
"
:
"
Europe/Helsinki
"
,
"
rules
"
:
[
{
"
e
"
:
1224982800000
,
"
s
"
:
1206838800000
},
{
"
e
"
:
1256432400000
,
"
s
"
:
1238288400000
},
{
"
e
"
:
1288486800000
,
"
s
"
:
1269738000000
},
{
"
e
"
:
1319936400000
,
"
s
"
:
1301187600000
},
{
"
e
"
:
1351386000000
,
"
s
"
:
1332637200000
},
{
"
e
"
:
1382835600000
,
"
s
"
:
1364691600000
},
{
"
e
"
:
1414285200000
,
"
s
"
:
1396141200000
}
]
},
{
"
name
"
:
"
Europe/Minsk
"
,
"
rules
"
:
[
{
"
e
"
:
1224979200000
,
"
s
"
:
1206835200000
},
{
"
e
"
:
1256428800000
,
"
s
"
:
1238284800000
},
{
"
e
"
:
1288483200000
,
"
s
"
:
1269734400000
},
false
,
false
,
false
,
false
]
},
{
"
name
"
:
"
Europe/Moscow
"
,
"
rules
"
:
[
{
"
e
"
:
1224975600000
,
"
s
"
:
1206831600000
},
{
"
e
"
:
1256425200000
,
"
s
"
:
1238281200000
},
{
"
e
"
:
1288479600000
,
"
s
"
:
1269730800000
},
false
,
false
,
false
,
false
]
},
{
"
name
"
:
"
Pacific/Apia
"
,
"
rules
"
:
[
false
,
false
,
false
,
{
"
e
"
:
1301752800000
,
"
s
"
:
1316872800000
},
{
"
e
"
:
1333202400000
,
"
s
"
:
1348927200000
},
{
"
e
"
:
1365256800000
,
"
s
"
:
1380376800000
},
{
"
e
"
:
1396706400000
,
"
s
"
:
1411826400000
}
]
},
{
"
name
"
:
"
Pacific/Fiji
"
,
"
rules
"
:
[
false
,
false
,
{
"
e
"
:
1269698400000
,
"
s
"
:
1287842400000
},
{
"
e
"
:
1327154400000
,
"
s
"
:
1319292000000
},
{
"
e
"
:
1358604000000
,
"
s
"
:
1350741600000
},
{
"
e
"
:
1390050000000
,
"
s
"
:
1382796000000
},
{
"
e
"
:
1421503200000
,
"
s
"
:
1414850400000
}
]
},
{
"
name
"
:
"
Europe/London
"
,
"
rules
"
:
[
{
"
e
"
:
1224982800000
,
"
s
"
:
1206838800000
},
{
"
e
"
:
1256432400000
,
"
s
"
:
1238288400000
},
{
"
e
"
:
1288486800000
,
"
s
"
:
1269738000000
},
{
"
e
"
:
1319936400000
,
"
s
"
:
1301187600000
},
{
"
e
"
:
1351386000000
,
"
s
"
:
1332637200000
},
{
"
e
"
:
1382835600000
,
"
s
"
:
1364691600000
},
{
"
e
"
:
1414285200000
,
"
s
"
:
1396141200000
}
]
}
]
};
if
(
typeof
module
!==
'
undefined
'
&&
typeof
module
.
exports
!==
'
undefined
'
)
{
module
.
exports
=
jstz
;
}
else
if
((
typeof
define
!==
'
undefined
'
&&
define
!==
null
)
&&
(
define
.
amd
!=
null
))
{
define
([],
function
()
{
return
jstz
;
});
}
else
{
if
(
typeof
root
===
'
undefined
'
)
{
window
.
jstz
=
jstz
;
}
else
{
root
.
jstz
=
jstz
;
}
}
}());
\ No newline at end of file
This diff is collapsed.
Click to expand it.
htdocs/includes/jstz/jstz.min.js
+
2
−
2
View file @
cb29f914
/*! jstz - v1.0.4 - 2012-12-12 */
(
function
(
e
){
var
t
=
function
(){
"
use strict
"
;
var
e
=
"
s
"
,
n
=
function
(
e
){
var
t
=-
e
.
getTimezoneOffset
();
return
t
!==
null
?
t
:
0
},
r
=
function
(
e
,
t
,
n
){
var
r
=
new
Date
;
return
e
!==
undefined
&&
r
.
setFullYear
(
e
),
r
.
setDate
(
n
),
r
.
setMonth
(
t
),
r
},
i
=
function
(
e
){
return
n
(
r
(
e
,
0
,
2
))},
s
=
function
(
e
){
return
n
(
r
(
e
,
5
,
2
))},
o
=
function
(
e
){
var
t
=
e
.
getMonth
()
>
7
?
s
(
e
.
getFullYear
()):
i
(
e
.
getFullYear
()),
r
=
n
(
e
);
return
t
-
r
!==
0
},
u
=
function
(){
var
t
=
i
(),
n
=
s
(),
r
=
i
()
-
s
();
return
r
<
0
?
t
+
"
,1
"
:
r
>
0
?
n
+
"
,1,
"
+
e
:
t
+
"
,0
"
},
a
=
function
(){
var
e
=
u
();
return
new
t
.
TimeZone
(
t
.
olson
.
timezones
[
e
])};
return
{
determine
:
a
,
date_is_dst
:
o
}}();
t
.
TimeZone
=
function
(
e
){
"
use strict
"
;
var
n
=
null
,
r
=
function
(){
return
n
},
i
=
function
(){
var
e
=
t
.
olson
.
ambiguity_list
[
n
],
r
=
e
.
length
,
i
=
0
,
s
=
e
[
0
];
for
(;
i
<
r
;
i
+=
1
){
s
=
e
[
i
];
if
(
t
.
date_is_dst
(
t
.
olson
.
dst_start_dates
[
s
])){
n
=
s
;
return
}}},
s
=
function
(){
return
typeof
t
.
olson
.
ambiguity_list
[
n
]
!=
"
undefined
"
};
return
n
=
e
,
s
()
&&
i
(),{
name
:
r
}},
t
.
olson
=
{},
t
.
olson
.
timezones
=
{
"
-720,0
"
:
"
Etc/GMT+12
"
,
"
-660,0
"
:
"
Pacific/Pago_Pago
"
,
"
-600,1
"
:
"
America/Adak
"
,
"
-600,0
"
:
"
Pacific/Honolulu
"
,
"
-570,0
"
:
"
Pacific/Marquesas
"
,
"
-540,0
"
:
"
Pacific/Gambier
"
,
"
-540,1
"
:
"
America/Anchorage
"
,
"
-480,1
"
:
"
America/Los_Angeles
"
,
"
-480,0
"
:
"
Pacific/Pitcairn
"
,
"
-420,0
"
:
"
America/Phoenix
"
,
"
-420,1
"
:
"
America/Denver
"
,
"
-360,0
"
:
"
America/Guatemala
"
,
"
-360,1
"
:
"
America/Chicago
"
,
"
-360,1,s
"
:
"
Pacific/Easter
"
,
"
-300,0
"
:
"
America/Bogota
"
,
"
-300,1
"
:
"
America/New_York
"
,
"
-270,0
"
:
"
America/Caracas
"
,
"
-240,1
"
:
"
America/Halifax
"
,
"
-240,0
"
:
"
America/Santo_Domingo
"
,
"
-240,1,s
"
:
"
America/Santiago
"
,
"
-210,1
"
:
"
America/St_Johns
"
,
"
-180,1
"
:
"
America/Godthab
"
,
"
-180,0
"
:
"
America/Argentina/Buenos_Aires
"
,
"
-180,1,s
"
:
"
America/Montevideo
"
,
"
-120,0
"
:
"
Etc/GMT+2
"
,
"
-120,1
"
:
"
Etc/GMT+2
"
,
"
-60,1
"
:
"
Atlantic/Azores
"
,
"
-60,0
"
:
"
Atlantic/Cape_Verde
"
,
"
0,0
"
:
"
Etc/UTC
"
,
"
0,1
"
:
"
Europe/London
"
,
"
60,1
"
:
"
Europe/Berlin
"
,
"
60,0
"
:
"
Africa/Lagos
"
,
"
60,1,s
"
:
"
Africa/Windhoek
"
,
"
120,1
"
:
"
Asia/Beirut
"
,
"
120,0
"
:
"
Africa/Johannesburg
"
,
"
180,0
"
:
"
Asia/Baghdad
"
,
"
180,1
"
:
"
Europe/Moscow
"
,
"
210,1
"
:
"
Asia/Tehran
"
,
"
240,0
"
:
"
Asia/Dubai
"
,
"
240,1
"
:
"
Asia/Baku
"
,
"
270,0
"
:
"
Asia/Kabul
"
,
"
300,1
"
:
"
Asia/Yekaterinburg
"
,
"
300,0
"
:
"
Asia/Karachi
"
,
"
330,0
"
:
"
Asia/Kolkata
"
,
"
345,0
"
:
"
Asia/Kathmandu
"
,
"
360,0
"
:
"
Asia/Dhaka
"
,
"
360,1
"
:
"
Asia/Omsk
"
,
"
390,0
"
:
"
Asia/Rangoon
"
,
"
420,1
"
:
"
Asia/Krasnoyarsk
"
,
"
420,0
"
:
"
Asia/Jakarta
"
,
"
480,0
"
:
"
Asia/Shanghai
"
,
"
480,1
"
:
"
Asia/Irkutsk
"
,
"
525,0
"
:
"
Australia/Eucla
"
,
"
525,1,s
"
:
"
Australia/Eucla
"
,
"
540,1
"
:
"
Asia/Yakutsk
"
,
"
540,0
"
:
"
Asia/Tokyo
"
,
"
570,0
"
:
"
Australia/Darwin
"
,
"
570,1,s
"
:
"
Australia/Adelaide
"
,
"
600,0
"
:
"
Australia/Brisbane
"
,
"
600,1
"
:
"
Asia/Vladivostok
"
,
"
600,1,s
"
:
"
Australia/Sydney
"
,
"
630,1,s
"
:
"
Australia/Lord_Howe
"
,
"
660,1
"
:
"
Asia/Kamchatka
"
,
"
660,0
"
:
"
Pacific/Noumea
"
,
"
690,0
"
:
"
Pacific/Norfolk
"
,
"
720,1,s
"
:
"
Pacific/Auckland
"
,
"
720,0
"
:
"
Pacific/Tarawa
"
,
"
765,1,s
"
:
"
Pacific/Chatham
"
,
"
780,0
"
:
"
Pacific/Tongatapu
"
,
"
780,1,s
"
:
"
Pacific/Apia
"
,
"
840,0
"
:
"
Pacific/Kiritimati
"
},
t
.
olson
.
dst_start_dates
=
function
(){
"
use strict
"
;
var
e
=
new
Date
(
2010
,
6
,
15
,
1
,
0
,
0
,
0
);
return
{
"
America/Denver
"
:
new
Date
(
2011
,
2
,
13
,
3
,
0
,
0
,
0
),
"
America/Mazatlan
"
:
new
Date
(
2011
,
3
,
3
,
3
,
0
,
0
,
0
),
"
America/Chicago
"
:
new
Date
(
2011
,
2
,
13
,
3
,
0
,
0
,
0
),
"
America/Mexico_City
"
:
new
Date
(
2011
,
3
,
3
,
3
,
0
,
0
,
0
),
"
America/Asuncion
"
:
new
Date
(
2012
,
9
,
7
,
3
,
0
,
0
,
0
),
"
America/Santiago
"
:
new
Date
(
2012
,
9
,
3
,
3
,
0
,
0
,
0
),
"
America/Campo_Grande
"
:
new
Date
(
2012
,
9
,
21
,
5
,
0
,
0
,
0
),
"
America/Montevideo
"
:
new
Date
(
2011
,
9
,
2
,
3
,
0
,
0
,
0
),
"
America/Sao_Paulo
"
:
new
Date
(
2011
,
9
,
16
,
5
,
0
,
0
,
0
),
"
America/Los_Angeles
"
:
new
Date
(
2011
,
2
,
13
,
8
,
0
,
0
,
0
),
"
America/Santa_Isabel
"
:
new
Date
(
2011
,
3
,
5
,
8
,
0
,
0
,
0
),
"
America/Havana
"
:
new
Date
(
2012
,
2
,
10
,
2
,
0
,
0
,
0
),
"
America/New_York
"
:
new
Date
(
2012
,
2
,
10
,
7
,
0
,
0
,
0
),
"
Asia/Beirut
"
:
new
Date
(
2011
,
2
,
27
,
1
,
0
,
0
,
0
),
"
Europe/Helsinki
"
:
new
Date
(
2011
,
2
,
27
,
4
,
0
,
0
,
0
),
"
Europe/Istanbul
"
:
new
Date
(
2011
,
2
,
28
,
5
,
0
,
0
,
0
),
"
Asia/Damascus
"
:
new
Date
(
2011
,
3
,
1
,
2
,
0
,
0
,
0
),
"
Asia/Jerusalem
"
:
new
Date
(
2011
,
3
,
1
,
6
,
0
,
0
,
0
),
"
Asia/Gaza
"
:
new
Date
(
2009
,
2
,
28
,
0
,
30
,
0
,
0
),
"
Africa/Cairo
"
:
new
Date
(
2009
,
3
,
25
,
0
,
30
,
0
,
0
),
"
Pacific/Auckland
"
:
new
Date
(
2011
,
8
,
26
,
7
,
0
,
0
,
0
),
"
Pacific/Fiji
"
:
new
Date
(
2010
,
11
,
29
,
23
,
0
,
0
,
0
),
"
America/Halifax
"
:
new
Date
(
2011
,
2
,
13
,
6
,
0
,
0
,
0
),
"
America/Goose_Bay
"
:
new
Date
(
2011
,
2
,
13
,
2
,
1
,
0
,
0
),
"
America/Miquelon
"
:
new
Date
(
2011
,
2
,
13
,
5
,
0
,
0
,
0
),
"
America/Godthab
"
:
new
Date
(
2011
,
2
,
27
,
1
,
0
,
0
,
0
),
"
Europe/Moscow
"
:
e
,
"
Asia/Yekaterinburg
"
:
e
,
"
Asia/Omsk
"
:
e
,
"
Asia/Krasnoyarsk
"
:
e
,
"
Asia/Irkutsk
"
:
e
,
"
Asia/Yakutsk
"
:
e
,
"
Asia/Vladivostok
"
:
e
,
"
Asia/Kamchatka
"
:
e
,
"
Europe/Minsk
"
:
e
,
"
Australia/Perth
"
:
new
Date
(
2008
,
10
,
1
,
1
,
0
,
0
,
0
)}}(),
t
.
olson
.
ambiguity_list
=
{
"
America/Denver
"
:[
"
America/Denver
"
,
"
America/Mazatlan
"
],
"
America/Chicago
"
:[
"
America/Chicago
"
,
"
America/Mexico_City
"
],
"
America/Santiago
"
:[
"
America/Santiago
"
,
"
America/Asuncion
"
,
"
America/Campo_Grande
"
],
"
America/Montevideo
"
:[
"
America/Montevideo
"
,
"
America/Sao_Paulo
"
],
"
Asia/Beirut
"
:[
"
Asia/Beirut
"
,
"
Europe/Helsinki
"
,
"
Europe/Istanbul
"
,
"
Asia/Damascus
"
,
"
Asia/Jerusalem
"
,
"
Asia/Gaza
"
],
"
Pacific/Auckland
"
:[
"
Pacific/Auckland
"
,
"
Pacific/Fiji
"
],
"
America/Los_Angeles
"
:[
"
America/Los_Angeles
"
,
"
America/Santa_Isabel
"
],
"
America/New_York
"
:[
"
America/Havana
"
,
"
America/New_York
"
],
"
America/Halifax
"
:[
"
America/Goose_Bay
"
,
"
America/Halifax
"
],
"
America/Godthab
"
:[
"
America/Miquelon
"
,
"
America/Godthab
"
],
"
Asia/Dubai
"
:[
"
Europe/Moscow
"
],
"
Asia/Dhaka
"
:[
"
Asia/Yekaterinburg
"
],
"
Asia/Jakarta
"
:[
"
Asia/Omsk
"
],
"
Asia/Shanghai
"
:[
"
Asia/Krasnoyarsk
"
,
"
Australia/Perth
"
],
"
Asia/Tokyo
"
:[
"
Asia/Irkutsk
"
],
"
Australia/Brisbane
"
:[
"
Asia/Yakutsk
"
],
"
Pacific/Noumea
"
:[
"
Asia/Vladivostok
"
],
"
Pacific/Tarawa
"
:[
"
Asia/Kamchatka
"
],
"
Africa/Johannesburg
"
:[
"
Asia/Gaza
"
,
"
Africa/Cairo
"
],
"
Asia/Baghdad
"
:[
"
Europe/Minsk
"
]},
typeof
exports
!=
"
undefined
"
?
exports
.
jstz
=
t
:
e
.
jstz
=
t
})(
this
);
\ No newline at end of file
/* jstz.min.js Version: 1.0.6 Build date: 2015-11-04 */
!
function
(
e
){
var
a
=
function
(){
"
use strict
"
;
var
e
=
"
s
"
,
s
=
{
DAY
:
864
e5
,
HOUR
:
36
e5
,
MINUTE
:
6
e4
,
SECOND
:
1
e3
,
BASELINE_YEAR
:
2014
,
MAX_SCORE
:
864
e6
,
AMBIGUITIES
:{
"
America/Denver
"
:[
"
America/Mazatlan
"
],
"
Europe/London
"
:[
"
Africa/Casablanca
"
],
"
America/Chicago
"
:[
"
America/Mexico_City
"
],
"
America/Asuncion
"
:[
"
America/Campo_Grande
"
,
"
America/Santiago
"
],
"
America/Montevideo
"
:[
"
America/Sao_Paulo
"
,
"
America/Santiago
"
],
"
Asia/Beirut
"
:[
"
Asia/Amman
"
,
"
Asia/Jerusalem
"
,
"
Europe/Helsinki
"
,
"
Asia/Damascus
"
,
"
Africa/Cairo
"
,
"
Asia/Gaza
"
,
"
Europe/Minsk
"
],
"
Pacific/Auckland
"
:[
"
Pacific/Fiji
"
],
"
America/Los_Angeles
"
:[
"
America/Santa_Isabel
"
],
"
America/New_York
"
:[
"
America/Havana
"
],
"
America/Halifax
"
:[
"
America/Goose_Bay
"
],
"
America/Godthab
"
:[
"
America/Miquelon
"
],
"
Asia/Dubai
"
:[
"
Asia/Yerevan
"
],
"
Asia/Jakarta
"
:[
"
Asia/Krasnoyarsk
"
],
"
Asia/Shanghai
"
:[
"
Asia/Irkutsk
"
,
"
Australia/Perth
"
],
"
Australia/Sydney
"
:[
"
Australia/Lord_Howe
"
],
"
Asia/Tokyo
"
:[
"
Asia/Yakutsk
"
],
"
Asia/Dhaka
"
:[
"
Asia/Omsk
"
],
"
Asia/Baku
"
:[
"
Asia/Yerevan
"
],
"
Australia/Brisbane
"
:[
"
Asia/Vladivostok
"
],
"
Pacific/Noumea
"
:[
"
Asia/Vladivostok
"
],
"
Pacific/Majuro
"
:[
"
Asia/Kamchatka
"
,
"
Pacific/Fiji
"
],
"
Pacific/Tongatapu
"
:[
"
Pacific/Apia
"
],
"
Asia/Baghdad
"
:[
"
Europe/Minsk
"
,
"
Europe/Moscow
"
],
"
Asia/Karachi
"
:[
"
Asia/Yekaterinburg
"
],
"
Africa/Johannesburg
"
:[
"
Asia/Gaza
"
,
"
Africa/Cairo
"
]}},
i
=
function
(
e
){
var
a
=-
e
.
getTimezoneOffset
();
return
null
!==
a
?
a
:
0
},
r
=
function
(){
var
a
=
i
(
new
Date
(
s
.
BASELINE_YEAR
,
0
,
2
)),
r
=
i
(
new
Date
(
s
.
BASELINE_YEAR
,
5
,
2
)),
n
=
a
-
r
;
return
0
>
n
?
a
+
"
,1
"
:
n
>
0
?
r
+
"
,1,
"
+
e
:
a
+
"
,0
"
},
n
=
function
(){
var
e
,
a
;
if
(
"
undefined
"
!=
typeof
Intl
&&
"
undefined
"
!=
typeof
Intl
.
DateTimeFormat
&&
(
e
=
Intl
.
DateTimeFormat
(),
"
undefined
"
!=
typeof
e
&&
"
undefined
"
!=
typeof
e
.
resolvedOptions
))
return
a
=
e
.
resolvedOptions
().
timeZone
,
a
&&
(
a
.
indexOf
(
"
/
"
)
>-
1
||
"
UTC
"
===
a
)?
a
:
void
0
},
o
=
function
(
e
){
for
(
var
a
=
new
Date
(
e
,
0
,
1
,
0
,
0
,
1
,
0
).
getTime
(),
s
=
new
Date
(
e
,
12
,
31
,
23
,
59
,
59
).
getTime
(),
i
=
a
,
r
=
new
Date
(
i
).
getTimezoneOffset
(),
n
=
null
,
o
=
null
;
s
-
864
e5
>
i
;){
var
t
=
new
Date
(
i
),
A
=
t
.
getTimezoneOffset
();
A
!==
r
&&
(
r
>
A
&&
(
n
=
t
),
A
>
r
&&
(
o
=
t
),
r
=
A
),
i
+=
864
e5
}
return
n
&&
o
?{
s
:
u
(
n
).
getTime
(),
e
:
u
(
o
).
getTime
()}:
!
1
},
u
=
function
l
(
e
,
a
,
i
){
"
undefined
"
==
typeof
a
&&
(
a
=
s
.
DAY
,
i
=
s
.
HOUR
);
for
(
var
r
=
new
Date
(
e
.
getTime
()
-
a
).
getTime
(),
n
=
e
.
getTime
()
+
a
,
o
=
new
Date
(
r
).
getTimezoneOffset
(),
u
=
r
,
t
=
null
;
n
-
i
>
u
;){
var
A
=
new
Date
(
u
),
c
=
A
.
getTimezoneOffset
();
if
(
c
!==
o
){
t
=
A
;
break
}
u
+=
i
}
return
a
===
s
.
DAY
?
l
(
t
,
s
.
HOUR
,
s
.
MINUTE
):
a
===
s
.
HOUR
?
l
(
t
,
s
.
MINUTE
,
s
.
SECOND
):
t
},
t
=
function
(
e
,
a
,
s
,
i
){
if
(
"
N/A
"
!==
s
)
return
s
;
if
(
"
Asia/Beirut
"
===
a
){
if
(
"
Africa/Cairo
"
===
i
.
name
&&
13983768
e5
===
e
[
6
].
s
&&
14116788
e5
===
e
[
6
].
e
)
return
0
;
if
(
"
Asia/Jerusalem
"
===
i
.
name
&&
13959648
e5
===
e
[
6
].
s
&&
14118588
e5
===
e
[
6
].
e
)
return
0
}
else
if
(
"
America/Santiago
"
===
a
){
if
(
"
America/Asuncion
"
===
i
.
name
&&
14124816
e5
===
e
[
6
].
s
&&
1397358
e6
===
e
[
6
].
e
)
return
0
;
if
(
"
America/Campo_Grande
"
===
i
.
name
&&
14136912
e5
===
e
[
6
].
s
&&
13925196
e5
===
e
[
6
].
e
)
return
0
}
else
if
(
"
America/Montevideo
"
===
a
){
if
(
"
America/Sao_Paulo
"
===
i
.
name
&&
14136876
e5
===
e
[
6
].
s
&&
1392516
e6
===
e
[
6
].
e
)
return
0
}
else
if
(
"
Pacific/Auckland
"
===
a
&&
"
Pacific/Fiji
"
===
i
.
name
&&
14142456
e5
===
e
[
6
].
s
&&
13961016
e5
===
e
[
6
].
e
)
return
0
;
return
s
},
A
=
function
(
e
,
i
){
for
(
var
r
=
function
(
a
){
for
(
var
r
=
0
,
n
=
0
;
n
<
e
.
length
;
n
++
)
if
(
a
.
rules
[
n
]
&&
e
[
n
]){
if
(
!
(
e
[
n
].
s
>=
a
.
rules
[
n
].
s
&&
e
[
n
].
e
<=
a
.
rules
[
n
].
e
)){
r
=
"
N/A
"
;
break
}
if
(
r
=
0
,
r
+=
Math
.
abs
(
e
[
n
].
s
-
a
.
rules
[
n
].
s
),
r
+=
Math
.
abs
(
a
.
rules
[
n
].
e
-
e
[
n
].
e
),
r
>
s
.
MAX_SCORE
){
r
=
"
N/A
"
;
break
}}
return
r
=
t
(
e
,
i
,
r
,
a
)},
n
=
{},
o
=
a
.
olson
.
dst_rules
.
zones
,
u
=
o
.
length
,
A
=
s
.
AMBIGUITIES
[
i
],
c
=
0
;
u
>
c
;
c
++
){
var
m
=
o
[
c
],
l
=
r
(
o
[
c
]);
"
N/A
"
!==
l
&&
(
n
[
m
.
name
]
=
l
)}
for
(
var
f
in
n
)
if
(
n
.
hasOwnProperty
(
f
))
for
(
var
d
=
0
;
d
<
A
.
length
;
d
++
)
if
(
A
[
d
]
===
f
)
return
f
;
return
i
},
c
=
function
(
e
){
var
s
=
function
(){
for
(
var
e
=
[],
s
=
0
;
s
<
a
.
olson
.
dst_rules
.
years
.
length
;
s
++
){
var
i
=
o
(
a
.
olson
.
dst_rules
.
years
[
s
]);
e
.
push
(
i
)}
return
e
},
i
=
function
(
e
){
for
(
var
a
=
0
;
a
<
e
.
length
;
a
++
)
if
(
e
[
a
]
!==!
1
)
return
!
0
;
return
!
1
},
r
=
s
(),
n
=
i
(
r
);
return
n
?
A
(
r
,
e
):
e
},
m
=
function
(){
var
e
=
n
();
return
e
||
(
e
=
a
.
olson
.
timezones
[
r
()],
"
undefined
"
!=
typeof
s
.
AMBIGUITIES
[
e
]
&&
(
e
=
c
(
e
))),{
name
:
function
(){
return
e
}}};
return
{
determine
:
m
}}();
a
.
olson
=
a
.
olson
||
{},
a
.
olson
.
timezones
=
{
"
-720,0
"
:
"
Etc/GMT+12
"
,
"
-660,0
"
:
"
Pacific/Pago_Pago
"
,
"
-660,1,s
"
:
"
Pacific/Apia
"
,
"
-600,1
"
:
"
America/Adak
"
,
"
-600,0
"
:
"
Pacific/Honolulu
"
,
"
-570,0
"
:
"
Pacific/Marquesas
"
,
"
-540,0
"
:
"
Pacific/Gambier
"
,
"
-540,1
"
:
"
America/Anchorage
"
,
"
-480,1
"
:
"
America/Los_Angeles
"
,
"
-480,0
"
:
"
Pacific/Pitcairn
"
,
"
-420,0
"
:
"
America/Phoenix
"
,
"
-420,1
"
:
"
America/Denver
"
,
"
-360,0
"
:
"
America/Guatemala
"
,
"
-360,1
"
:
"
America/Chicago
"
,
"
-360,1,s
"
:
"
Pacific/Easter
"
,
"
-300,0
"
:
"
America/Bogota
"
,
"
-300,1
"
:
"
America/New_York
"
,
"
-270,0
"
:
"
America/Caracas
"
,
"
-240,1
"
:
"
America/Halifax
"
,
"
-240,0
"
:
"
America/Santo_Domingo
"
,
"
-240,1,s
"
:
"
America/Asuncion
"
,
"
-210,1
"
:
"
America/St_Johns
"
,
"
-180,1
"
:
"
America/Godthab
"
,
"
-180,0
"
:
"
America/Argentina/Buenos_Aires
"
,
"
-180,1,s
"
:
"
America/Montevideo
"
,
"
-120,0
"
:
"
America/Noronha
"
,
"
-120,1
"
:
"
America/Noronha
"
,
"
-60,1
"
:
"
Atlantic/Azores
"
,
"
-60,0
"
:
"
Atlantic/Cape_Verde
"
,
"
0,0
"
:
"
UTC
"
,
"
0,1
"
:
"
Europe/London
"
,
"
60,1
"
:
"
Europe/Berlin
"
,
"
60,0
"
:
"
Africa/Lagos
"
,
"
60,1,s
"
:
"
Africa/Windhoek
"
,
"
120,1
"
:
"
Asia/Beirut
"
,
"
120,0
"
:
"
Africa/Johannesburg
"
,
"
180,0
"
:
"
Asia/Baghdad
"
,
"
180,1
"
:
"
Europe/Moscow
"
,
"
210,1
"
:
"
Asia/Tehran
"
,
"
240,0
"
:
"
Asia/Dubai
"
,
"
240,1
"
:
"
Asia/Baku
"
,
"
270,0
"
:
"
Asia/Kabul
"
,
"
300,1
"
:
"
Asia/Yekaterinburg
"
,
"
300,0
"
:
"
Asia/Karachi
"
,
"
330,0
"
:
"
Asia/Kolkata
"
,
"
345,0
"
:
"
Asia/Kathmandu
"
,
"
360,0
"
:
"
Asia/Dhaka
"
,
"
360,1
"
:
"
Asia/Omsk
"
,
"
390,0
"
:
"
Asia/Rangoon
"
,
"
420,1
"
:
"
Asia/Krasnoyarsk
"
,
"
420,0
"
:
"
Asia/Jakarta
"
,
"
480,0
"
:
"
Asia/Shanghai
"
,
"
480,1
"
:
"
Asia/Irkutsk
"
,
"
525,0
"
:
"
Australia/Eucla
"
,
"
525,1,s
"
:
"
Australia/Eucla
"
,
"
540,1
"
:
"
Asia/Yakutsk
"
,
"
540,0
"
:
"
Asia/Tokyo
"
,
"
570,0
"
:
"
Australia/Darwin
"
,
"
570,1,s
"
:
"
Australia/Adelaide
"
,
"
600,0
"
:
"
Australia/Brisbane
"
,
"
600,1
"
:
"
Asia/Vladivostok
"
,
"
600,1,s
"
:
"
Australia/Sydney
"
,
"
630,1,s
"
:
"
Australia/Lord_Howe
"
,
"
660,1
"
:
"
Asia/Kamchatka
"
,
"
660,0
"
:
"
Pacific/Noumea
"
,
"
690,0
"
:
"
Pacific/Norfolk
"
,
"
720,1,s
"
:
"
Pacific/Auckland
"
,
"
720,0
"
:
"
Pacific/Majuro
"
,
"
765,1,s
"
:
"
Pacific/Chatham
"
,
"
780,0
"
:
"
Pacific/Tongatapu
"
,
"
780,1,s
"
:
"
Pacific/Apia
"
,
"
840,0
"
:
"
Pacific/Kiritimati
"
},
a
.
olson
.
dst_rules
=
{
years
:[
2008
,
2009
,
2010
,
2011
,
2012
,
2013
,
2014
],
zones
:[{
name
:
"
Africa/Cairo
"
,
rules
:[{
e
:
12199572
e5
,
s
:
12090744
e5
},{
e
:
1250802
e6
,
s
:
1240524
e6
},{
e
:
12858804
e5
,
s
:
12840696
e5
},
!
1
,
!
1
,
!
1
,{
e
:
14116788
e5
,
s
:
1406844
e6
}]},{
name
:
"
Africa/Casablanca
"
,
rules
:[{
e
:
12202236
e5
,
s
:
12122784
e5
},{
e
:
12508092
e5
,
s
:
12438144
e5
},{
e
:
1281222
e6
,
s
:
12727584
e5
},{
e
:
13120668
e5
,
s
:
13017888
e5
},{
e
:
13489704
e5
,
s
:
1345428
e6
},{
e
:
13828392
e5
,
s
:
13761
e8
},{
e
:
14142888
e5
,
s
:
14069448
e5
}]},{
name
:
"
America/Asuncion
"
,
rules
:[{
e
:
12050316
e5
,
s
:
12243888
e5
},{
e
:
12364812
e5
,
s
:
12558384
e5
},{
e
:
12709548
e5
,
s
:
12860784
e5
},{
e
:
13024044
e5
,
s
:
1317528
e6
},{
e
:
1333854
e6
,
s
:
13495824
e5
},{
e
:
1364094
e6
,
s
:
1381032
e6
},{
e
:
13955436
e5
,
s
:
14124816
e5
}]},{
name
:
"
America/Campo_Grande
"
,
rules
:[{
e
:
12032172
e5
,
s
:
12243888
e5
},{
e
:
12346668
e5
,
s
:
12558384
e5
},{
e
:
12667212
e5
,
s
:
1287288
e6
},{
e
:
12981708
e5
,
s
:
13187376
e5
},{
e
:
13302252
e5
,
s
:
1350792
e6
},{
e
:
136107
e7
,
s
:
13822416
e5
},{
e
:
13925196
e5
,
s
:
14136912
e5
}]},{
name
:
"
America/Goose_Bay
"
,
rules
:[{
e
:
122559486
e4
,
s
:
120503526
e4
},{
e
:
125704446
e4
,
s
:
123648486
e4
},{
e
:
128909886
e4
,
s
:
126853926
e4
},{
e
:
13205556
e5
,
s
:
129998886
e4
},{
e
:
13520052
e5
,
s
:
13314456
e5
},{
e
:
13834548
e5
,
s
:
13628952
e5
},{
e
:
14149044
e5
,
s
:
13943448
e5
}]},{
name
:
"
America/Havana
"
,
rules
:[{
e
:
12249972
e5
,
s
:
12056436
e5
},{
e
:
12564468
e5
,
s
:
12364884
e5
},{
e
:
12885012
e5
,
s
:
12685428
e5
},{
e
:
13211604
e5
,
s
:
13005972
e5
},{
e
:
13520052
e5
,
s
:
13332564
e5
},{
e
:
13834548
e5
,
s
:
13628916
e5
},{
e
:
14149044
e5
,
s
:
13943412
e5
}]},{
name
:
"
America/Mazatlan
"
,
rules
:[{
e
:
1225008
e6
,
s
:
12074724
e5
},{
e
:
12564576
e5
,
s
:
1238922
e6
},{
e
:
1288512
e6
,
s
:
12703716
e5
},{
e
:
13199616
e5
,
s
:
13018212
e5
},{
e
:
13514112
e5
,
s
:
13332708
e5
},{
e
:
13828608
e5
,
s
:
13653252
e5
},{
e
:
14143104
e5
,
s
:
13967748
e5
}]},{
name
:
"
America/Mexico_City
"
,
rules
:[{
e
:
12250044
e5
,
s
:
12074688
e5
},{
e
:
1256454
e6
,
s
:
12389184
e5
},{
e
:
12885084
e5
,
s
:
1270368
e6
},{
e
:
1319958
e6
,
s
:
13018176
e5
},{
e
:
13514076
e5
,
s
:
13332672
e5
},{
e
:
13828572
e5
,
s
:
13653216
e5
},{
e
:
14143068
e5
,
s
:
13967712
e5
}]},{
name
:
"
America/Miquelon
"
,
rules
:[{
e
:
12255984
e5
,
s
:
12050388
e5
},{
e
:
1257048
e6
,
s
:
12364884
e5
},{
e
:
12891024
e5
,
s
:
12685428
e5
},{
e
:
1320552
e6
,
s
:
12999924
e5
},{
e
:
13520016
e5
,
s
:
1331442
e6
},{
e
:
13834512
e5
,
s
:
13628916
e5
},{
e
:
14149008
e5
,
s
:
13943412
e5
}]},{
name
:
"
America/Santa_Isabel
"
,
rules
:[{
e
:
12250116
e5
,
s
:
1207476
e6
},{
e
:
12564612
e5
,
s
:
12389256
e5
},{
e
:
12885156
e5
,
s
:
12703752
e5
},{
e
:
13199652
e5
,
s
:
13018248
e5
},{
e
:
13514148
e5
,
s
:
13332744
e5
},{
e
:
13828644
e5
,
s
:
13653288
e5
},{
e
:
1414314
e6
,
s
:
13967784
e5
}]},{
name
:
"
America/Santiago
"
,
rules
:[{
e
:
1206846
e6
,
s
:
1223784
e6
},{
e
:
1237086
e6
,
s
:
12552336
e5
},{
e
:
127035
e7
,
s
:
12866832
e5
},{
e
:
13048236
e5
,
s
:
13138992
e5
},{
e
:
13356684
e5
,
s
:
13465584
e5
},{
e
:
1367118
e6
,
s
:
13786128
e5
},{
e
:
13985676
e5
,
s
:
14100624
e5
}]},{
name
:
"
America/Sao_Paulo
"
,
rules
:[{
e
:
12032136
e5
,
s
:
12243852
e5
},{
e
:
12346632
e5
,
s
:
12558348
e5
},{
e
:
12667176
e5
,
s
:
12872844
e5
},{
e
:
12981672
e5
,
s
:
1318734
e6
},{
e
:
13302216
e5
,
s
:
13507884
e5
},{
e
:
13610664
e5
,
s
:
1382238
e6
},{
e
:
1392516
e6
,
s
:
14136876
e5
}]},{
name
:
"
Asia/Amman
"
,
rules
:[{
e
:
1225404
e6
,
s
:
12066552
e5
},{
e
:
12568536
e5
,
s
:
12381048
e5
},{
e
:
12883032
e5
,
s
:
12695544
e5
},{
e
:
13197528
e5
,
s
:
13016088
e5
},
!
1
,
!
1
,{
e
:
14147064
e5
,
s
:
13959576
e5
}]},{
name
:
"
Asia/Damascus
"
,
rules
:[{
e
:
12254868
e5
,
s
:
120726
e7
},{
e
:
125685
e7
,
s
:
12381048
e5
},{
e
:
12882996
e5
,
s
:
12701592
e5
},{
e
:
13197492
e5
,
s
:
13016088
e5
},{
e
:
13511988
e5
,
s
:
13330584
e5
},{
e
:
13826484
e5
,
s
:
1364508
e6
},{
e
:
14147028
e5
,
s
:
13959576
e5
}]},{
name
:
"
Asia/Dubai
"
,
rules
:[
!
1
,
!
1
,
!
1
,
!
1
,
!
1
,
!
1
,
!
1
]},{
name
:
"
Asia/Gaza
"
,
rules
:[{
e
:
12199572
e5
,
s
:
12066552
e5
},{
e
:
12520152
e5
,
s
:
12381048
e5
},{
e
:
1281474
e6
,
s
:
126964086
e4
},{
e
:
1312146
e6
,
s
:
130160886
e4
},{
e
:
13481784
e5
,
s
:
13330584
e5
},{
e
:
13802292
e5
,
s
:
1364508
e6
},{
e
:
1414098
e6
,
s
:
13959576
e5
}]},{
name
:
"
Asia/Irkutsk
"
,
rules
:[{
e
:
12249576
e5
,
s
:
12068136
e5
},{
e
:
12564072
e5
,
s
:
12382632
e5
},{
e
:
12884616
e5
,
s
:
12697128
e5
},
!
1
,
!
1
,
!
1
,
!
1
]},{
name
:
"
Asia/Jerusalem
"
,
rules
:[{
e
:
12231612
e5
,
s
:
12066624
e5
},{
e
:
1254006
e6
,
s
:
1238112
e6
},{
e
:
1284246
e6
,
s
:
12695616
e5
},{
e
:
131751
e7
,
s
:
1301616
e6
},{
e
:
13483548
e5
,
s
:
13330656
e5
},{
e
:
13828284
e5
,
s
:
13645152
e5
},{
e
:
1414278
e6
,
s
:
13959648
e5
}]},{
name
:
"
Asia/Kamchatka
"
,
rules
:[{
e
:
12249432
e5
,
s
:
12067992
e5
},{
e
:
12563928
e5
,
s
:
12382488
e5
},{
e
:
12884508
e5
,
s
:
12696984
e5
},
!
1
,
!
1
,
!
1
,
!
1
]},{
name
:
"
Asia/Krasnoyarsk
"
,
rules
:[{
e
:
12249612
e5
,
s
:
12068172
e5
},{
e
:
12564108
e5
,
s
:
12382668
e5
},{
e
:
12884652
e5
,
s
:
12697164
e5
},
!
1
,
!
1
,
!
1
,
!
1
]},{
name
:
"
Asia/Omsk
"
,
rules
:[{
e
:
12249648
e5
,
s
:
12068208
e5
},{
e
:
12564144
e5
,
s
:
12382704
e5
},{
e
:
12884688
e5
,
s
:
126972
e7
},
!
1
,
!
1
,
!
1
,
!
1
]},{
name
:
"
Asia/Vladivostok
"
,
rules
:[{
e
:
12249504
e5
,
s
:
12068064
e5
},{
e
:
12564
e8
,
s
:
1238256
e6
},{
e
:
12884544
e5
,
s
:
12697056
e5
},
!
1
,
!
1
,
!
1
,
!
1
]},{
name
:
"
Asia/Yakutsk
"
,
rules
:[{
e
:
1224954
e6
,
s
:
120681
e7
},{
e
:
12564036
e5
,
s
:
12382596
e5
},{
e
:
1288458
e6
,
s
:
12697092
e5
},
!
1
,
!
1
,
!
1
,
!
1
]},{
name
:
"
Asia/Yekaterinburg
"
,
rules
:[{
e
:
12249684
e5
,
s
:
12068244
e5
},{
e
:
1256418
e6
,
s
:
1238274
e6
},{
e
:
12884724
e5
,
s
:
12697236
e5
},
!
1
,
!
1
,
!
1
,
!
1
]},{
name
:
"
Asia/Yerevan
"
,
rules
:[{
e
:
1224972
e6
,
s
:
1206828
e6
},{
e
:
12564216
e5
,
s
:
12382776
e5
},{
e
:
1288476
e6
,
s
:
12697272
e5
},{
e
:
13199256
e5
,
s
:
13011768
e5
},
!
1
,
!
1
,
!
1
]},{
name
:
"
Australia/Lord_Howe
"
,
rules
:[{
e
:
12074076
e5
,
s
:
12231342
e5
},{
e
:
12388572
e5
,
s
:
12545838
e5
},{
e
:
12703068
e5
,
s
:
12860334
e5
},{
e
:
13017564
e5
,
s
:
1317483
e6
},{
e
:
1333206
e6
,
s
:
13495374
e5
},{
e
:
13652604
e5
,
s
:
1380987
e6
},{
e
:
139671
e7
,
s
:
14124366
e5
}]},{
name
:
"
Australia/Perth
"
,
rules
:[{
e
:
12068136
e5
,
s
:
12249576
e5
},
!
1
,
!
1
,
!
1
,
!
1
,
!
1
,
!
1
]},{
name
:
"
Europe/Helsinki
"
,
rules
:[{
e
:
12249828
e5
,
s
:
12068388
e5
},{
e
:
12564324
e5
,
s
:
12382884
e5
},{
e
:
12884868
e5
,
s
:
1269738
e6
},{
e
:
13199364
e5
,
s
:
13011876
e5
},{
e
:
1351386
e6
,
s
:
13326372
e5
},{
e
:
13828356
e5
,
s
:
13646916
e5
},{
e
:
14142852
e5
,
s
:
13961412
e5
}]},{
name
:
"
Europe/Minsk
"
,
rules
:[{
e
:
12249792
e5
,
s
:
12068352
e5
},{
e
:
12564288
e5
,
s
:
12382848
e5
},{
e
:
12884832
e5
,
s
:
12697344
e5
},
!
1
,
!
1
,
!
1
,
!
1
]},{
name
:
"
Europe/Moscow
"
,
rules
:[{
e
:
12249756
e5
,
s
:
12068316
e5
},{
e
:
12564252
e5
,
s
:
12382812
e5
},{
e
:
12884796
e5
,
s
:
12697308
e5
},
!
1
,
!
1
,
!
1
,
!
1
]},{
name
:
"
Pacific/Apia
"
,
rules
:[
!
1
,
!
1
,
!
1
,{
e
:
13017528
e5
,
s
:
13168728
e5
},{
e
:
13332024
e5
,
s
:
13489272
e5
},{
e
:
13652568
e5
,
s
:
13803768
e5
},{
e
:
13967064
e5
,
s
:
14118264
e5
}]},{
name
:
"
Pacific/Fiji
"
,
rules
:[
!
1
,
!
1
,{
e
:
12696984
e5
,
s
:
12878424
e5
},{
e
:
13271544
e5
,
s
:
1319292
e6
},{
e
:
1358604
e6
,
s
:
13507416
e5
},{
e
:
139005
e7
,
s
:
1382796
e6
},{
e
:
14215032
e5
,
s
:
14148504
e5
}]},{
name
:
"
Europe/London
"
,
rules
:[{
e
:
12249828
e5
,
s
:
12068388
e5
},{
e
:
12564324
e5
,
s
:
12382884
e5
},{
e
:
12884868
e5
,
s
:
1269738
e6
},{
e
:
13199364
e5
,
s
:
13011876
e5
},{
e
:
1351386
e6
,
s
:
13326372
e5
},{
e
:
13828356
e5
,
s
:
13646916
e5
},{
e
:
14142852
e5
,
s
:
13961412
e5
}]}]},
"
undefined
"
!=
typeof
module
&&
"
undefined
"
!=
typeof
module
.
exports
?
module
.
exports
=
a
:
"
undefined
"
!=
typeof
define
&&
null
!==
define
&&
null
!=
define
.
amd
?
define
([],
function
(){
return
a
}):
"
undefined
"
==
typeof
e
?
window
.
jstz
=
a
:
e
.
jstz
=
a
}();
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment