diff --git a/CHANGES b/CHANGES
index 1a4cf409..c24c2a44 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,8 @@
+4.5.6
+ - [Fix] `new Date(new Date())` should work in IE 8 (#389)
+ - [Tests] on `node` `v5.7`
+ - [Dev Deps] update `uglify-js`
+
4.5.5
- [Fix] Adobe Photoshop’s JS engine bizarrely can have `+date !== date.getTime()` (#365)
- [Dev Deps] update `eslint`
diff --git a/README.md b/README.md
index cae22709..540286d4 100644
--- a/README.md
+++ b/README.md
@@ -171,8 +171,8 @@ simply `npm install` and `npm test`.
### Example of applying ES compatability shims in a browser project
```html
-
-
+
+
diff --git a/es5-sham.min.js b/es5-sham.min.js
index 23cd950b..33415e22 100644
--- a/es5-sham.min.js
+++ b/es5-sham.min.js
@@ -1,7 +1,7 @@
/*!
* https://github.com/es-shims/es5-shim
* @license es5-shim Copyright 2009-2015 by contributors, MIT License
- * see https://github.com/es-shims/es5-shim/blob/v4.5.5/LICENSE
+ * see https://github.com/es-shims/es5-shim/blob/v4.5.6/LICENSE
*/
(function(e,t){"use strict";if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){var e=Function.call;var t=Object.prototype;var r=e.bind(t.hasOwnProperty);var n=e.bind(t.propertyIsEnumerable);var o=e.bind(t.toString);var i;var c;var f;var a;var l=r(t,"__defineGetter__");if(l){i=e.bind(t.__defineGetter__);c=e.bind(t.__defineSetter__);f=e.bind(t.__lookupGetter__);a=e.bind(t.__lookupSetter__)}if(!Object.getPrototypeOf){Object.getPrototypeOf=function getPrototypeOf(e){var r=e.__proto__;if(r||r===null){return r}else if(o(e.constructor)==="[object Function]"){return e.constructor.prototype}else if(e instanceof Object){return t}else{return null}}}var u=function doesGetOwnPropertyDescriptorWork(e){try{e.sentinel=0;return Object.getOwnPropertyDescriptor(e,"sentinel").value===0}catch(t){return false}};if(Object.defineProperty){var p=u({});var s=typeof document==="undefined"||u(document.createElement("div"));if(!s||!p){var b=Object.getOwnPropertyDescriptor}}if(!Object.getOwnPropertyDescriptor||b){var O="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function getOwnPropertyDescriptor(e,o){if(typeof e!=="object"&&typeof e!=="function"||e===null){throw new TypeError(O+e)}if(b){try{return b.call(Object,e,o)}catch(i){}}var c;if(!r(e,o)){return c}c={enumerable:n(e,o),configurable:true};if(l){var u=e.__proto__;var p=e!==t;if(p){e.__proto__=t}var s=f(e,o);var y=a(e,o);if(p){e.__proto__=u}if(s||y){if(s){c.get=s}if(y){c.set=y}return c}}c.value=e[o];c.writable=true;return c}}if(!Object.getOwnPropertyNames){Object.getOwnPropertyNames=function getOwnPropertyNames(e){return Object.keys(e)}}if(!Object.create){var y;var d=!({__proto__:null}instanceof Object);var j=function shouldUseActiveX(){if(!document.domain){return false}try{return!!new ActiveXObject("htmlfile")}catch(e){return false}};var v=function getEmptyViaActiveX(){var e;var t;t=new ActiveXObject("htmlfile");t.write("");t.close();e=t.parentWindow.Object.prototype;t=null;return e};var _=function getEmptyViaIFrame(){var e=document.createElement("iframe");var t=document.body||document.documentElement;var r;e.style.display="none";t.appendChild(e);e.src="javascript:";r=e.contentWindow.Object.prototype;t.removeChild(e);e=null;return r};if(d||typeof document==="undefined"){y=function(){return{__proto__:null}}}else{y=function(){var e=j()?v():_();delete e.constructor;delete e.hasOwnProperty;delete e.propertyIsEnumerable;delete e.isPrototypeOf;delete e.toLocaleString;delete e.toString;delete e.valueOf;var t=function Empty(){};t.prototype=e;y=function(){return new t};return new t}}Object.create=function create(e,t){var r;var n=function Type(){};if(e===null){r=y()}else{if(typeof e!=="object"&&typeof e!=="function"){throw new TypeError("Object prototype may only be an Object or null")}n.prototype=e;r=new n;r.__proto__=e}if(t!==void 0){Object.defineProperties(r,t)}return r}}var w=function doesDefinePropertyWork(e){try{Object.defineProperty(e,"sentinel",{});return"sentinel"in e}catch(t){return false}};if(Object.defineProperty){var m=w({});var P=typeof document==="undefined"||w(document.createElement("div"));if(!m||!P){var E=Object.defineProperty,h=Object.defineProperties}}if(!Object.defineProperty||E){var g="Property description must be an object: ";var z="Object.defineProperty called on non-object: ";var T="getters & setters can not be defined on this javascript engine";Object.defineProperty=function defineProperty(e,r,n){if(typeof e!=="object"&&typeof e!=="function"||e===null){throw new TypeError(z+e)}if(typeof n!=="object"&&typeof n!=="function"||n===null){throw new TypeError(g+n)}if(E){try{return E.call(Object,e,r,n)}catch(o){}}if("value"in n){if(l&&(f(e,r)||a(e,r))){var u=e.__proto__;e.__proto__=t;delete e[r];e[r]=n.value;e.__proto__=u}else{e[r]=n.value}}else{if(!l&&("get"in n||"set"in n)){throw new TypeError(T)}if("get"in n){i(e,r,n.get)}if("set"in n){c(e,r,n.set)}}return e}}if(!Object.defineProperties||h){Object.defineProperties=function defineProperties(e,t){if(h){try{return h.call(Object,e,t)}catch(r){}}Object.keys(t).forEach(function(r){if(r!=="__proto__"){Object.defineProperty(e,r,t[r])}});return e}}if(!Object.seal){Object.seal=function seal(e){if(Object(e)!==e){throw new TypeError("Object.seal can only be called on Objects.")}return e}}if(!Object.freeze){Object.freeze=function freeze(e){if(Object(e)!==e){throw new TypeError("Object.freeze can only be called on Objects.")}return e}}try{Object.freeze(function(){})}catch(x){Object.freeze=function(e){return function freeze(t){if(typeof t==="function"){return t}else{return e(t)}}}(Object.freeze)}if(!Object.preventExtensions){Object.preventExtensions=function preventExtensions(e){if(Object(e)!==e){throw new TypeError("Object.preventExtensions can only be called on Objects.")}return e}}if(!Object.isSealed){Object.isSealed=function isSealed(e){if(Object(e)!==e){throw new TypeError("Object.isSealed can only be called on Objects.")}return false}}if(!Object.isFrozen){Object.isFrozen=function isFrozen(e){if(Object(e)!==e){throw new TypeError("Object.isFrozen can only be called on Objects.")}return false}}if(!Object.isExtensible){Object.isExtensible=function isExtensible(e){if(Object(e)!==e){throw new TypeError("Object.isExtensible can only be called on Objects.")}var t="";while(r(e,t)){t+="?"}e[t]=true;var n=r(e,t);delete e[t];return n}}});
//# sourceMappingURL=es5-sham.map
diff --git a/es5-shim.map b/es5-shim.map
index c5222334..af6a1100 100644
--- a/es5-shim.map
+++ b/es5-shim.map
@@ -1 +1 @@
-{"version":3,"sources":["es5-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","$Array","Array","ArrayPrototype","prototype","$Object","Object","ObjectPrototype","$Function","Function","FunctionPrototype","$String","String","StringPrototype","$Number","Number","NumberPrototype","array_slice","slice","array_splice","splice","array_push","push","array_unshift","unshift","array_concat","concat","array_join","join","call","apply","max","Math","min","to_string","toString","hasToStringTag","Symbol","toStringTag","isCallable","fnToStr","constructorRegex","isES6ClassFn","value","fnStr","singleStripped","replace","multiStripped","spaceStripped","test","e","tryFunctionObject","fnClass","genClass","strClass","isRegex","regexExec","RegExp","exec","tryRegexExec","regexClass","isString","strValue","valueOf","tryStringObject","stringClass","supportsDescriptors","defineProperty","obj","enumerable","_","x","defineProperties","has","object","name","method","forceAssign","configurable","writable","map","hasOwnProperty","isPrimitive","input","type","isActualNaN","isNaN","ES","ToInteger","num","n","floor","abs","ToPrimitive","val","toStr","TypeError","ToObject","o","ToUint32","Empty","bind","that","target","args","arguments","bound","binder","result","boundLength","length","boundArgs","i","owns","arraySlice","arraySliceApply","strSlice","strSplit","split","strIndexOf","indexOf","pushCall","isEnum","propertyIsEnumerable","arraySort","sort","isArray","hasUnshiftReturnValueBug","boxedString","splitString","properlyBoxesContext","properlyBoxed","properlyBoxesNonStrict","properlyBoxesStrict","threwException","__","context","forEach","callbackfn","self","T","filter","every","some","reduceCoercesToObject","reduce","___","list","reduceRightCoercesToObject","reduceRight","hasFirefox2IndexOfBug","searchElement","hasFirefox2LastIndexOfBug","lastIndexOf","spliceNoopReturnsEmptyArray","a","start","deleteCount","spliceWorksWithEmptyObject","spliceWorksWithLargeSparseArrays","arr","spliceWorksWithSmallSparseArrays","O","A","len","relativeStart","actualStart","actualDeleteCount","k","from","items","itemCount","to","maxK","minK","originalJoin","hasStringJoinBug","separator","sep","hasJoinUndefinedBug","undefined","pushShim","item","pushIsNotGeneric","pushUndefinedIsWeird","end","sortIgnoresNonFunctions","sortThrowsOnRegex","sortIgnoresUndefined","compareFn","hasDontEnumBug","hasProtoEnumBug","hasStringEnumBug","equalsConstructorPrototype","ctor","constructor","blacklistedKeys","$window","$console","$parent","$self","$frame","$frames","$frameElement","$webkitIndexedDB","$webkitStorageInfo","$external","hasAutomationEqualityBug","window","equalsConstructorPrototypeIfNotBuggy","dontEnums","dontEnumsLength","isStandardArguments","isArguments","isLegacyArguments","callee","keys","isFn","isArgs","isObject","isStr","theKeys","skipProto","skipConstructor","j","dontEnum","keysWorksWithArguments","keysHasArgumentsLengthBug","argKeys","originalKeys","hasNegativeMonthYearBug","Date","getUTCMonth","aNegativeTestDate","aPositiveTestDate","hasToUTCStringFormatBug","toUTCString","hasToDateStringFormatBug","hasToStringFormatBug","timeZoneOffset","getTimezoneOffset","toDateString","originalGetFullYear","getFullYear","originalGetMonth","getMonth","originalGetDate","getDate","originalGetUTCFullYear","getUTCFullYear","originalGetUTCMonth","originalGetUTCDate","getUTCDate","originalGetUTCDay","getUTCDay","originalGetUTCHours","getUTCHours","originalGetUTCMinutes","getUTCMinutes","originalGetUTCSeconds","getUTCSeconds","originalGetUTCMilliseconds","getUTCMilliseconds","dayName","monthName","daysInMonth","month","year","date","days","day","hour","minute","second","getDay","getHours","getMinutes","getSeconds","timezoneOffset","hoursOffset","minutesOffset","negativeDate","negativeYearString","hasNegativeDateBug","toISOString","hasSafari51DateBug","getTime","isFinite","RangeError","dateToJSONIsSupported","toJSON","NaN","key","tv","toISO","supportsExtendedYears","parse","acceptsInvalidDates","doesNotParseY2KNewYear","maxSafeUnsigned32Bit","pow","hasSafariSignedIntBug","NativeDate","DateShim","Y","M","D","h","m","s","ms","seconds","millis","msToShift","sToShift","isoDateExpression","months","dayFromMonth","t","toUTC","now","UTC","parseShim","string","match","millisecond","isLocalTime","Boolean","signOffset","hourOffset","minuteOffset","hasMinutesOrSecondsOrMilliseconds","hasToFixedBugs","toFixed","toFixedHelpers","base","size","data","multiply","c","c2","divide","numToString","acc","log","x2","toFixedShim","fractionDigits","f","z","hasToPrecisionUndefinedBug","toPrecision","originalToPrecision","precision","compliantExecNpcg","maxSafe32BitInt","limit","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separator2","lastIndex","lastLength","separatorCopy","source","splitLimit","index","str_replace","replaceReportsGroupsCorrectly","groups","group","searchValue","replaceValue","hasCapturingGroups","wrappedReplaceValue","originalLastIndex","string_substr","substr","hasNegativeSubstrBug","normalizedStart","ws","zeroWidth","wsRegexChars","trimBeginRegexp","trimEndRegexp","hasTrimWhitespaceBug","trim","hasLastIndexBug","searchString","S","searchStr","numPos","pos","Infinity","searchLen","originalLastIndexOf","parseInt","origParseInt","hexRegex","str","radix","defaultedRadix","parseFloat","origParseFloat","inputString","errorToStringShim","msg","message","Error","ensureNonEnumerable","prop","desc","getOwnPropertyDescriptor","regexToString","global"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"sources":["es5-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","$Array","Array","ArrayPrototype","prototype","$Object","Object","ObjectPrototype","$Function","Function","FunctionPrototype","$String","String","StringPrototype","$Number","Number","NumberPrototype","array_slice","slice","array_splice","splice","array_push","push","array_unshift","unshift","array_concat","concat","array_join","join","call","apply","max","Math","min","to_string","toString","hasToStringTag","Symbol","toStringTag","isCallable","fnToStr","constructorRegex","isES6ClassFn","value","fnStr","singleStripped","replace","multiStripped","spaceStripped","test","e","tryFunctionObject","fnClass","genClass","strClass","isRegex","regexExec","RegExp","exec","tryRegexExec","regexClass","isString","strValue","valueOf","tryStringObject","stringClass","supportsDescriptors","defineProperty","obj","enumerable","_","x","defineProperties","has","object","name","method","forceAssign","configurable","writable","map","hasOwnProperty","isPrimitive","input","type","isActualNaN","isNaN","ES","ToInteger","num","n","floor","abs","ToPrimitive","val","toStr","TypeError","ToObject","o","ToUint32","Empty","bind","that","target","args","arguments","bound","binder","result","boundLength","length","boundArgs","i","owns","arraySlice","arraySliceApply","strSlice","strSplit","split","strIndexOf","indexOf","pushCall","isEnum","propertyIsEnumerable","arraySort","sort","isArray","hasUnshiftReturnValueBug","boxedString","splitString","properlyBoxesContext","properlyBoxed","properlyBoxesNonStrict","properlyBoxesStrict","threwException","__","context","forEach","callbackfn","self","T","filter","every","some","reduceCoercesToObject","reduce","___","list","reduceRightCoercesToObject","reduceRight","hasFirefox2IndexOfBug","searchElement","hasFirefox2LastIndexOfBug","lastIndexOf","spliceNoopReturnsEmptyArray","a","start","deleteCount","spliceWorksWithEmptyObject","spliceWorksWithLargeSparseArrays","arr","spliceWorksWithSmallSparseArrays","O","A","len","relativeStart","actualStart","actualDeleteCount","k","from","items","itemCount","to","maxK","minK","originalJoin","hasStringJoinBug","separator","sep","hasJoinUndefinedBug","undefined","pushShim","item","pushIsNotGeneric","pushUndefinedIsWeird","end","sortIgnoresNonFunctions","sortThrowsOnRegex","sortIgnoresUndefined","compareFn","hasDontEnumBug","hasProtoEnumBug","hasStringEnumBug","equalsConstructorPrototype","ctor","constructor","blacklistedKeys","$window","$console","$parent","$self","$frame","$frames","$frameElement","$webkitIndexedDB","$webkitStorageInfo","$external","hasAutomationEqualityBug","window","equalsConstructorPrototypeIfNotBuggy","dontEnums","dontEnumsLength","isStandardArguments","isArguments","isLegacyArguments","callee","keys","isFn","isArgs","isObject","isStr","theKeys","skipProto","skipConstructor","j","dontEnum","keysWorksWithArguments","keysHasArgumentsLengthBug","argKeys","originalKeys","hasNegativeMonthYearBug","Date","getUTCMonth","aNegativeTestDate","aPositiveTestDate","hasToUTCStringFormatBug","toUTCString","hasToDateStringFormatBug","hasToStringFormatBug","timeZoneOffset","getTimezoneOffset","toDateString","originalGetFullYear","getFullYear","originalGetMonth","getMonth","originalGetDate","getDate","originalGetUTCFullYear","getUTCFullYear","originalGetUTCMonth","originalGetUTCDate","getUTCDate","originalGetUTCDay","getUTCDay","originalGetUTCHours","getUTCHours","originalGetUTCMinutes","getUTCMinutes","originalGetUTCSeconds","getUTCSeconds","originalGetUTCMilliseconds","getUTCMilliseconds","dayName","monthName","daysInMonth","month","year","date","days","day","hour","minute","second","getDay","getHours","getMinutes","getSeconds","timezoneOffset","hoursOffset","minutesOffset","negativeDate","negativeYearString","hasNegativeDateBug","toISOString","hasSafari51DateBug","getTime","isFinite","RangeError","dateToJSONIsSupported","toJSON","NaN","key","tv","toISO","supportsExtendedYears","parse","acceptsInvalidDates","doesNotParseY2KNewYear","maxSafeUnsigned32Bit","pow","hasSafariSignedIntBug","NativeDate","DateShim","Y","M","D","h","m","s","ms","seconds","millis","msToShift","sToShift","isoDateExpression","months","dayFromMonth","t","toUTC","now","UTC","parseShim","string","match","millisecond","isLocalTime","Boolean","signOffset","hourOffset","minuteOffset","hasMinutesOrSecondsOrMilliseconds","hasToFixedBugs","toFixed","toFixedHelpers","base","size","data","multiply","c","c2","divide","numToString","acc","log","x2","toFixedShim","fractionDigits","f","z","hasToPrecisionUndefinedBug","toPrecision","originalToPrecision","precision","compliantExecNpcg","maxSafe32BitInt","limit","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separator2","lastIndex","lastLength","separatorCopy","source","splitLimit","index","str_replace","replaceReportsGroupsCorrectly","groups","group","searchValue","replaceValue","hasCapturingGroups","wrappedReplaceValue","originalLastIndex","string_substr","substr","hasNegativeSubstrBug","normalizedStart","ws","zeroWidth","wsRegexChars","trimBeginRegexp","trimEndRegexp","hasTrimWhitespaceBug","trim","hasLastIndexBug","searchString","S","searchStr","numPos","pos","Infinity","searchLen","originalLastIndexOf","parseInt","origParseInt","hexRegex","str","radix","defaultedRadix","parseFloat","origParseFloat","inputString","errorToStringShim","msg","message","Error","ensureNonEnumerable","prop","desc","getOwnPropertyDescriptor","regexToString","global"],"mappings":"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"}
\ No newline at end of file
diff --git a/es5-shim.min.js b/es5-shim.min.js
index a2475937..f1dbce2c 100644
--- a/es5-shim.min.js
+++ b/es5-shim.min.js
@@ -1,7 +1,7 @@
/*!
* https://github.com/es-shims/es5-shim
* @license es5-shim Copyright 2009-2015 by contributors, MIT License
- * see https://github.com/es-shims/es5-shim/blob/v4.5.5/LICENSE
+ * see https://github.com/es-shims/es5-shim/blob/v4.5.6/LICENSE
*/
-(function(t,r){"use strict";if(typeof define==="function"&&define.amd){define(r)}else if(typeof exports==="object"){module.exports=r()}else{t.returnExports=r()}})(this,function(){var t=Array;var r=t.prototype;var e=Object;var n=e.prototype;var i=Function;var a=i.prototype;var o=String;var u=o.prototype;var f=Number;var s=f.prototype;var l=r.slice;var c=r.splice;var v=r.push;var h=r.unshift;var p=r.concat;var g=r.join;var y=a.call;var d=a.apply;var w=Math.max;var b=Math.min;var m=n.toString;var T=typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol";var D;var x=Function.prototype.toString,S=/\s*class /,O=function isES6ClassFn(t){try{var r=x.call(t);var e=r.replace(/\/\/.*\n/g,"");var n=e.replace(/\/\*[.\s\S]*\*\//g,"");var i=n.replace(/\n/gm," ").replace(/ {2}/g," ");return S.test(i)}catch(a){return false}},E=function tryFunctionObject(t){try{if(O(t)){return false}x.call(t);return true}catch(r){return false}},j="[object Function]",I="[object GeneratorFunction]",D=function isCallable(t){if(!t){return false}if(typeof t!=="function"&&typeof t!=="object"){return false}if(T){return E(t)}if(O(t)){return false}var r=m.call(t);return r===j||r===I};var M;var U=RegExp.prototype.exec,F=function tryRegexExec(t){try{U.call(t);return true}catch(r){return false}},N="[object RegExp]";M=function isRegex(t){if(typeof t!=="object"){return false}return T?F(t):m.call(t)===N};var C;var k=String.prototype.valueOf,R=function tryStringObject(t){try{k.call(t);return true}catch(r){return false}},A="[object String]";C=function isString(t){if(typeof t==="string"){return true}if(typeof t!=="object"){return false}return T?R(t):m.call(t)===A};var P=e.defineProperty&&function(){try{var t={};e.defineProperty(t,"x",{enumerable:false,value:t});for(var r in t){return false}return t.x===t}catch(n){return false}}();var $=function(t){var r;if(P){r=function(t,r,n,i){if(!i&&r in t){return}e.defineProperty(t,r,{configurable:true,enumerable:false,writable:true,value:n})}}else{r=function(t,r,e,n){if(!n&&r in t){return}t[r]=e}}return function defineProperties(e,n,i){for(var a in n){if(t.call(n,a)){r(e,a,n[a],i)}}}}(n.hasOwnProperty);var J=function isPrimitive(t){var r=typeof t;return t===null||r!=="object"&&r!=="function"};var Y=f.isNaN||function(t){return t!==t};var Z={ToInteger:function ToInteger(t){var r=+t;if(Y(r)){r=0}else if(r!==0&&r!==1/0&&r!==-(1/0)){r=(r>0||-1)*Math.floor(Math.abs(r))}return r},ToPrimitive:function ToPrimitive(t){var r,e,n;if(J(t)){return t}e=t.valueOf;if(D(e)){r=e.call(t);if(J(r)){return r}}n=t.toString;if(D(n)){r=n.call(t);if(J(r)){return r}}throw new TypeError},ToObject:function(t){if(t==null){throw new TypeError("can't convert "+t+" to object")}return e(t)},ToUint32:function ToUint32(t){return t>>>0}};var z=function Empty(){};$(a,{bind:function bind(t){var r=this;if(!D(r)){throw new TypeError("Function.prototype.bind called on incompatible "+r)}var n=l.call(arguments,1);var a;var o=function(){if(this instanceof a){var i=d.call(r,this,p.call(n,l.call(arguments)));if(e(i)===i){return i}return this}else{return d.call(r,t,p.call(n,l.call(arguments)))}};var u=w(0,r.length-n.length);var f=[];for(var s=0;s1){a=arguments[1]}if(!D(t)){throw new TypeError("Array.prototype.forEach callback must be a function")}while(++n1){o=arguments[1]}if(!D(r)){throw new TypeError("Array.prototype.map callback must be a function")}for(var u=0;u1){o=arguments[1]}if(!D(t)){throw new TypeError("Array.prototype.filter callback must be a function")}for(var u=0;u1){i=arguments[1]}if(!D(t)){throw new TypeError("Array.prototype.every callback must be a function")}for(var a=0;a1){i=arguments[1]}if(!D(t)){throw new TypeError("Array.prototype.some callback must be a function")}for(var a=0;a=2){a=arguments[1]}else{do{if(i in e){a=e[i++];break}if(++i>=n){throw new TypeError("reduce of empty array with no initial value")}}while(true)}for(;i=2){i=arguments[1]}else{do{if(a in e){i=e[a--];break}if(--a<0){throw new TypeError("reduceRight of empty array with no initial value")}}while(true)}if(a<0){return i}do{if(a in e){i=t(i,e[a],a,r)}}while(a--);return i}},!at);var ot=r.indexOf&&[0,1].indexOf(1,2)!==-1;$(r,{indexOf:function indexOf(t){var r=et&&C(this)?X(this,""):Z.ToObject(this);var e=Z.ToUint32(r.length);if(e===0){return-1}var n=0;if(arguments.length>1){n=Z.ToInteger(arguments[1])}n=n>=0?n:w(0,e+n);for(;n1){n=b(n,Z.ToInteger(arguments[1]))}n=n>=0?n:e-Math.abs(n);for(;n>=0;n--){if(n in r&&t===r[n]){return n}}return-1}},ut);var ft=function(){var t=[1,2];var r=t.splice();return t.length===2&&_(r)&&r.length===0}();$(r,{splice:function splice(t,r){if(arguments.length===0){return[]}else{return c.apply(this,arguments)}}},!ft);var st=function(){var t={};r.splice.call(t,0,0,1);return t.length===1}();$(r,{splice:function splice(t,r){if(arguments.length===0){return[]}var e=arguments;this.length=w(Z.ToInteger(this.length),0);if(arguments.length>0&&typeof r!=="number"){e=H(arguments);if(e.length<2){K(e,this.length-t)}else{e[1]=Z.ToInteger(r)}}return c.apply(this,e)}},!st);var lt=function(){var r=new t(1e5);r[8]="x";r.splice(1,1);return r.indexOf("x")===7}();var ct=function(){var t=256;var r=[];r[t]="a";r.splice(t+1,0,"b");return r[t]==="a"}();$(r,{splice:function splice(t,r){var e=Z.ToObject(this);var n=[];var i=Z.ToUint32(e.length);var a=Z.ToInteger(t);var u=a<0?w(i+a,0):b(a,i);var f=b(w(Z.ToInteger(r),0),i-u);var s=0;var l;while(sg){delete e[s-1];s-=1}}else if(v>f){s=i-f;while(s>u){l=o(s+f-1);h=o(s+v-1);if(G(e,l)){e[h]=e[l]}else{delete e[h]}s-=1}}s=u;for(var y=0;y=0&&!_(t)&&D(t.callee)};var Ct=Ft(arguments)?Ft:Nt;$(e,{keys:function keys(t){var r=D(t);var e=Ct(t);var n=t!==null&&typeof t==="object";var i=n&&C(t);if(!n&&!r&&!e){throw new TypeError("Object.keys called on a non-object")}var a=[];var u=xt&&r;if(i&&St||e){for(var f=0;f11){return t+1}return t},getMonth:function getMonth(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Bt(this);var r=Ht(this);if(t<0&&r>11){return 0}return r},getDate:function getDate(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Bt(this);var r=Ht(this);var e=Wt(this);if(t<0&&r>11){if(r===12){return e}var n=nr(0,t+1);return n-e+1}return e},getUTCFullYear:function getUTCFullYear(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Lt(this);if(t<0&&Xt(this)>11){return t+1}return t},getUTCMonth:function getUTCMonth(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Lt(this);var r=Xt(this);if(t<0&&r>11){return 0}return r},getUTCDate:function getUTCDate(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Lt(this);var r=Xt(this);var e=qt(this);if(t<0&&r>11){if(r===12){return e}var n=nr(0,t+1);return n-e+1}return e}},Pt);$(Date.prototype,{toUTCString:function toUTCString(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Kt(this);var r=qt(this);var e=Xt(this);var n=Lt(this);var i=Qt(this);var a=Vt(this);var o=_t(this);return rr[t]+", "+(r<10?"0"+r:r)+" "+er[e]+" "+n+" "+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+":"+(o<10?"0"+o:o)+" GMT"}},Pt||Yt);$(Date.prototype,{toDateString:function toDateString(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=this.getDay();var r=this.getDate();var e=this.getMonth();var n=this.getFullYear();return rr[t]+" "+er[e]+" "+(r<10?"0"+r:r)+" "+n}},Pt||Zt);if(Pt||zt){Date.prototype.toString=function toString(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=this.getDay();var r=this.getDate();var e=this.getMonth();var n=this.getFullYear();var i=this.getHours();var a=this.getMinutes();var o=this.getSeconds();var u=this.getTimezoneOffset();var f=Math.floor(Math.abs(u)/60);var s=Math.floor(Math.abs(u)%60);return rr[t]+" "+er[e]+" "+(r<10?"0"+r:r)+" "+n+" "+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+":"+(o<10?"0"+o:o)+" GMT"+(u>0?"-":"+")+(f<10?"0"+f:f)+(s<10?"0"+s:s)};if(P){e.defineProperty(Date.prototype,"toString",{configurable:true,enumerable:false,writable:true})}}var ir=-621987552e5;var ar="-000001";var or=Date.prototype.toISOString&&new Date(ir).toISOString().indexOf(ar)===-1;var ur=Date.prototype.toISOString&&new Date(-1).toISOString()!=="1969-12-31T23:59:59.999Z";var fr=y.bind(Date.prototype.getTime);$(Date.prototype,{toISOString:function toISOString(){if(!isFinite(this)||!isFinite(fr(this))){throw new RangeError("Date.prototype.toISOString called on non-finite value.")}var t=Lt(this);var r=Xt(this);t+=Math.floor(r/12);r=(r%12+12)%12;var e=[r+1,qt(this),Qt(this),Vt(this),_t(this)];t=(t<0?"-":t>9999?"+":"")+L("00000"+Math.abs(t),0<=t&&t<=9999?-4:-6);for(var n=0;n=7&&s>hr){var p=Math.floor(s/hr)*hr;var g=Math.floor(p/1e3);v+=g;h-=g*1e3}c=l===1&&o(e)===e?new t(r.parse(e)):l>=7?new t(e,n,i,a,u,v,h):l>=6?new t(e,n,i,a,u,v):l>=5?new t(e,n,i,a,u):l>=4?new t(e,n,i,a):l>=3?new t(e,n,i):l>=2?new t(e,n):l>=1?new t(e):new t}else{c=t.apply(this,arguments)}if(!J(c)){$(c,{constructor:r},true)}return c};var e=new RegExp("^"+"(\\d{4}|[+-]\\d{6})"+"(?:-(\\d{2})"+"(?:-(\\d{2})"+"(?:"+"T(\\d{2})"+":(\\d{2})"+"(?:"+":(\\d{2})"+"(?:(\\.\\d{1,}))?"+")?"+"("+"Z|"+"(?:"+"([-+])"+"(\\d{2})"+":(\\d{2})"+")"+")?)?)?)?"+"$");var n=[0,31,59,90,120,151,181,212,243,273,304,334,365];var i=function dayFromMonth(t,r){var e=r>1?1:0;return n[r]+Math.floor((t-1969+e)/4)-Math.floor((t-1901+e)/100)+Math.floor((t-1601+e)/400)+365*(t-1970)};var a=function toUTC(r){var e=0;var n=r;if(pr&&n>hr){var i=Math.floor(n/hr)*hr;var a=Math.floor(i/1e3);e+=a;n-=a*1e3}return f(new t(1970,0,1,0,0,e,n))};for(var u in t){if(G(t,u)){r[u]=t[u]}}$(r,{now:t.now,UTC:t.UTC},true);r.prototype=t.prototype;$(r.prototype,{constructor:r},true);var s=function parse(r){var n=e.exec(r);if(n){var o=f(n[1]),u=f(n[2]||1)-1,s=f(n[3]||1)-1,l=f(n[4]||0),c=f(n[5]||0),v=f(n[6]||0),h=Math.floor(f(n[7]||0)*1e3),p=Boolean(n[4]&&!n[8]),g=n[9]==="-"?1:-1,y=f(n[10]||0),d=f(n[11]||0),w;var b=c>0||v>0||h>0;if(l<(b?24:25)&&c<60&&v<60&&h<1e3&&u>-1&&u<12&&y<24&&d<60&&s>-1&&s=0){e+=yr.data[r];yr.data[r]=Math.floor(e/t);e=e%t*yr.base}},numToString:function numToString(){var t=yr.size;var r="";while(--t>=0){if(r!==""||t===0||yr.data[t]!==0){var e=o(yr.data[t]);if(r===""){r=e}else{r+=L("0000000",0,7-e.length)+e}}}return r},pow:function pow(t,r,e){return r===0?e:r%2===1?pow(t,r-1,e*t):pow(t*t,r/2,e)},log:function log(t){var r=0;var e=t;while(e>=4096){r+=12;e/=4096}while(e>=2){r+=1;e/=2}return r}};var dr=function toFixed(t){var r,e,n,i,a,u,s,l;r=f(t);r=Y(r)?0:Math.floor(r);if(r<0||r>20){throw new RangeError("Number.toFixed called with invalid number of decimals")}e=f(this);if(Y(e)){return"NaN"}if(e<=-1e21||e>=1e21){return o(e)}n="";if(e<0){n="-";e=-e}i="0";if(e>1e-21){a=yr.log(e*yr.pow(2,69,1))-69;u=a<0?e*yr.pow(2,-a,1):e/yr.pow(2,a,1);u*=4503599627370496;a=52-a;if(a>0){yr.multiply(0,u);s=r;while(s>=7){yr.multiply(1e7,0);s-=7}yr.multiply(yr.pow(10,s,1),0);s=a-1;while(s>=23){yr.divide(1<<23);s-=23}yr.divide(1<0){l=i.length;if(l<=r){i=n+L("0.0000000000000000000",0,r-l+2)+i}else{i=n+L(i,0,l-r)+"."+L(i,l-r)}}else{i=n+i}return i};$(s,{toFixed:dr},gr);var wr=function(){try{return 1..toPrecision(undefined)==="1"}catch(t){return true}}();var br=s.toPrecision;$(s,{toPrecision:function toPrecision(t){return typeof t==="undefined"?br.call(this):br.call(this,t)}},wr);if("ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||"tesst".split(/(s)*/)[1]==="t"||"test".split(/(?:)/,-1).length!==4||"".split(/.?/).length||".".split(/()()/).length>1){(function(){var t=typeof/()??/.exec("")[1]==="undefined";var r=Math.pow(2,32)-1;u.split=function(e,n){var i=String(this);if(typeof e==="undefined"&&n===0){return[]}if(!M(e)){return X(this,e,n)}var a=[];var o=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),u=0,f,s,l,c;var h=new RegExp(e.source,o+"g");if(!t){f=new RegExp("^"+h.source+"$(?!\\s)",o)}var p=typeof n==="undefined"?r:Z.ToUint32(n);s=h.exec(i);while(s){l=s.index+s[0].length;if(l>u){K(a,L(i,u,s.index));if(!t&&s.length>1){s[0].replace(f,function(){for(var t=1;t1&&s.index=p){break}}if(h.lastIndex===s.index){h.lastIndex++}s=h.exec(i)}if(u===i.length){if(c||!h.test("")){K(a,"")}}else{K(a,L(i,u))}return a.length>p?H(a,0,p):a}})()}else if("0".split(void 0,0).length){u.split=function split(t,r){if(typeof t==="undefined"&&r===0){return[]}return X(this,t,r)}}var mr=u.replace;var Tr=function(){var t=[];"x".replace(/x(.)?/g,function(r,e){K(t,e)});return t.length===1&&typeof t[0]==="undefined"}();if(!Tr){u.replace=function replace(t,r){var e=D(r);var n=M(t)&&/\)[*?]/.test(t.source);if(!e||!n){return mr.call(this,t,r)}else{var i=function(e){var n=arguments.length;var i=t.lastIndex;t.lastIndex=0;var a=t.exec(e)||[];t.lastIndex=i;K(a,arguments[n-2],arguments[n-1]);return r.apply(this,a)};return mr.call(this,t,i)}}}var Dr=u.substr;var xr="".substr&&"0b".substr(-1)!=="b";$(u,{substr:function substr(t,r){var e=t;if(t<0){e=w(this.length+t,0)}return Dr.call(this,e,r)}},xr);var Sr=" \n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003"+"\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028"+"\u2029\ufeff";var Or="\u200b";var Er="["+Sr+"]";var jr=new RegExp("^"+Er+Er+"*");var Ir=new RegExp(Er+Er+"*$");var Mr=u.trim&&(Sr.trim()||!Or.trim());$(u,{trim:function trim(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return o(this).replace(jr,"").replace(Ir,"")}},Mr);var Ur=y.bind(String.prototype.trim);var Fr=u.lastIndexOf&&"abc\u3042\u3044".lastIndexOf("\u3042\u3044",2)!==-1;$(u,{lastIndexOf:function lastIndexOf(t){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}var r=o(this);var e=o(t);var n=arguments.length>1?f(arguments[1]):NaN;var i=Y(n)?Infinity:Z.ToInteger(n);var a=b(w(i,0),r.length);var u=e.length;var s=a+u;while(s>0){s=w(0,s-u);var l=q(L(r,s,a+u),e);if(l!==-1){return s+l}}return-1}},Fr);var Nr=u.lastIndexOf;$(u,{lastIndexOf:function lastIndexOf(t){return Nr.apply(this,arguments)}},u.lastIndexOf.length!==1);if(parseInt(Sr+"08")!==8||parseInt(Sr+"0x16")!==22){parseInt=function(t){var r=/^[\-+]?0[xX]/;return function parseInt(e,n){var i=Ur(e);var a=f(n)||(r.test(i)?16:10);return t(i,a)}}(parseInt)}if(1/parseFloat("-0")!==-Infinity){parseFloat=function(t){return function parseFloat(r){var e=Ur(r);var n=t(e);return n===0&&L(e,0,1)==="-"?-0:n}}(parseFloat)}if(String(new RangeError("test"))!=="RangeError: test"){var Cr=function toString(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}var t=this.name;if(typeof t==="undefined"){t="Error"}else if(typeof t!=="string"){t=o(t)}var r=this.message;if(typeof r==="undefined"){r=""}else if(typeof r!=="string"){r=o(r)}if(!t){return r}if(!r){return t}return t+": "+r};Error.prototype.toString=Cr}if(P){var kr=function(t,r){if(Q(t,r)){var e=Object.getOwnPropertyDescriptor(t,r);e.enumerable=false;Object.defineProperty(t,r,e)}};kr(Error.prototype,"message");if(Error.prototype.message!==""){Error.prototype.message=""}kr(Error.prototype,"name")}if(String(/a/gim)!=="/a/gim"){var Rr=function toString(){var t="/"+this.source+"/";if(this.global){t+="g"}if(this.ignoreCase){t+="i"}if(this.multiline){t+="m"}return t};RegExp.prototype.toString=Rr}});
+(function(t,r){"use strict";if(typeof define==="function"&&define.amd){define(r)}else if(typeof exports==="object"){module.exports=r()}else{t.returnExports=r()}})(this,function(){var t=Array;var r=t.prototype;var e=Object;var n=e.prototype;var i=Function;var a=i.prototype;var o=String;var f=o.prototype;var u=Number;var l=u.prototype;var s=r.slice;var c=r.splice;var v=r.push;var h=r.unshift;var p=r.concat;var y=r.join;var d=a.call;var g=a.apply;var w=Math.max;var b=Math.min;var T=n.toString;var m=typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol";var D;var x=Function.prototype.toString,S=/\s*class /,O=function isES6ClassFn(t){try{var r=x.call(t);var e=r.replace(/\/\/.*\n/g,"");var n=e.replace(/\/\*[.\s\S]*\*\//g,"");var i=n.replace(/\n/gm," ").replace(/ {2}/g," ");return S.test(i)}catch(a){return false}},E=function tryFunctionObject(t){try{if(O(t)){return false}x.call(t);return true}catch(r){return false}},j="[object Function]",I="[object GeneratorFunction]",D=function isCallable(t){if(!t){return false}if(typeof t!=="function"&&typeof t!=="object"){return false}if(m){return E(t)}if(O(t)){return false}var r=T.call(t);return r===j||r===I};var M;var U=RegExp.prototype.exec,F=function tryRegexExec(t){try{U.call(t);return true}catch(r){return false}},N="[object RegExp]";M=function isRegex(t){if(typeof t!=="object"){return false}return m?F(t):T.call(t)===N};var C;var k=String.prototype.valueOf,R=function tryStringObject(t){try{k.call(t);return true}catch(r){return false}},A="[object String]";C=function isString(t){if(typeof t==="string"){return true}if(typeof t!=="object"){return false}return m?R(t):T.call(t)===A};var P=e.defineProperty&&function(){try{var t={};e.defineProperty(t,"x",{enumerable:false,value:t});for(var r in t){return false}return t.x===t}catch(n){return false}}();var $=function(t){var r;if(P){r=function(t,r,n,i){if(!i&&r in t){return}e.defineProperty(t,r,{configurable:true,enumerable:false,writable:true,value:n})}}else{r=function(t,r,e,n){if(!n&&r in t){return}t[r]=e}}return function defineProperties(e,n,i){for(var a in n){if(t.call(n,a)){r(e,a,n[a],i)}}}}(n.hasOwnProperty);var J=function isPrimitive(t){var r=typeof t;return t===null||r!=="object"&&r!=="function"};var Y=u.isNaN||function(t){return t!==t};var Z={ToInteger:function ToInteger(t){var r=+t;if(Y(r)){r=0}else if(r!==0&&r!==1/0&&r!==-(1/0)){r=(r>0||-1)*Math.floor(Math.abs(r))}return r},ToPrimitive:function ToPrimitive(t){var r,e,n;if(J(t)){return t}e=t.valueOf;if(D(e)){r=e.call(t);if(J(r)){return r}}n=t.toString;if(D(n)){r=n.call(t);if(J(r)){return r}}throw new TypeError},ToObject:function(t){if(t==null){throw new TypeError("can't convert "+t+" to object")}return e(t)},ToUint32:function ToUint32(t){return t>>>0}};var z=function Empty(){};$(a,{bind:function bind(t){var r=this;if(!D(r)){throw new TypeError("Function.prototype.bind called on incompatible "+r)}var n=s.call(arguments,1);var a;var o=function(){if(this instanceof a){var i=g.call(r,this,p.call(n,s.call(arguments)));if(e(i)===i){return i}return this}else{return g.call(r,t,p.call(n,s.call(arguments)))}};var f=w(0,r.length-n.length);var u=[];for(var l=0;l1){a=arguments[1]}if(!D(t)){throw new TypeError("Array.prototype.forEach callback must be a function")}while(++n1){o=arguments[1]}if(!D(r)){throw new TypeError("Array.prototype.map callback must be a function")}for(var f=0;f1){o=arguments[1]}if(!D(t)){throw new TypeError("Array.prototype.filter callback must be a function")}for(var f=0;f1){i=arguments[1]}if(!D(t)){throw new TypeError("Array.prototype.every callback must be a function")}for(var a=0;a1){i=arguments[1]}if(!D(t)){throw new TypeError("Array.prototype.some callback must be a function")}for(var a=0;a=2){a=arguments[1]}else{do{if(i in e){a=e[i++];break}if(++i>=n){throw new TypeError("reduce of empty array with no initial value")}}while(true)}for(;i=2){i=arguments[1]}else{do{if(a in e){i=e[a--];break}if(--a<0){throw new TypeError("reduceRight of empty array with no initial value")}}while(true)}if(a<0){return i}do{if(a in e){i=t(i,e[a],a,r)}}while(a--);return i}},!at);var ot=r.indexOf&&[0,1].indexOf(1,2)!==-1;$(r,{indexOf:function indexOf(t){var r=et&&C(this)?X(this,""):Z.ToObject(this);var e=Z.ToUint32(r.length);if(e===0){return-1}var n=0;if(arguments.length>1){n=Z.ToInteger(arguments[1])}n=n>=0?n:w(0,e+n);for(;n1){n=b(n,Z.ToInteger(arguments[1]))}n=n>=0?n:e-Math.abs(n);for(;n>=0;n--){if(n in r&&t===r[n]){return n}}return-1}},ft);var ut=function(){var t=[1,2];var r=t.splice();return t.length===2&&_(r)&&r.length===0}();$(r,{splice:function splice(t,r){if(arguments.length===0){return[]}else{return c.apply(this,arguments)}}},!ut);var lt=function(){var t={};r.splice.call(t,0,0,1);return t.length===1}();$(r,{splice:function splice(t,r){if(arguments.length===0){return[]}var e=arguments;this.length=w(Z.ToInteger(this.length),0);if(arguments.length>0&&typeof r!=="number"){e=H(arguments);if(e.length<2){K(e,this.length-t)}else{e[1]=Z.ToInteger(r)}}return c.apply(this,e)}},!lt);var st=function(){var r=new t(1e5);r[8]="x";r.splice(1,1);return r.indexOf("x")===7}();var ct=function(){var t=256;var r=[];r[t]="a";r.splice(t+1,0,"b");return r[t]==="a"}();$(r,{splice:function splice(t,r){var e=Z.ToObject(this);var n=[];var i=Z.ToUint32(e.length);var a=Z.ToInteger(t);var f=a<0?w(i+a,0):b(a,i);var u=b(w(Z.ToInteger(r),0),i-f);var l=0;var s;while(ly){delete e[l-1];l-=1}}else if(v>u){l=i-u;while(l>f){s=o(l+u-1);h=o(l+v-1);if(G(e,s)){e[h]=e[s]}else{delete e[h]}l-=1}}l=f;for(var d=0;d=0&&!_(t)&&D(t.callee)};var Ct=Ft(arguments)?Ft:Nt;$(e,{keys:function keys(t){var r=D(t);var e=Ct(t);var n=t!==null&&typeof t==="object";var i=n&&C(t);if(!n&&!r&&!e){throw new TypeError("Object.keys called on a non-object")}var a=[];var f=xt&&r;if(i&&St||e){for(var u=0;u11){return t+1}return t},getMonth:function getMonth(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Bt(this);var r=Ht(this);if(t<0&&r>11){return 0}return r},getDate:function getDate(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Bt(this);var r=Ht(this);var e=Wt(this);if(t<0&&r>11){if(r===12){return e}var n=nr(0,t+1);return n-e+1}return e},getUTCFullYear:function getUTCFullYear(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Lt(this);if(t<0&&Xt(this)>11){return t+1}return t},getUTCMonth:function getUTCMonth(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Lt(this);var r=Xt(this);if(t<0&&r>11){return 0}return r},getUTCDate:function getUTCDate(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Lt(this);var r=Xt(this);var e=qt(this);if(t<0&&r>11){if(r===12){return e}var n=nr(0,t+1);return n-e+1}return e}},Pt);$(Date.prototype,{toUTCString:function toUTCString(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Kt(this);var r=qt(this);var e=Xt(this);var n=Lt(this);var i=Qt(this);var a=Vt(this);var o=_t(this);return rr[t]+", "+(r<10?"0"+r:r)+" "+er[e]+" "+n+" "+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+":"+(o<10?"0"+o:o)+" GMT"}},Pt||Yt);$(Date.prototype,{toDateString:function toDateString(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=this.getDay();var r=this.getDate();var e=this.getMonth();var n=this.getFullYear();return rr[t]+" "+er[e]+" "+(r<10?"0"+r:r)+" "+n}},Pt||Zt);if(Pt||zt){Date.prototype.toString=function toString(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=this.getDay();var r=this.getDate();var e=this.getMonth();var n=this.getFullYear();var i=this.getHours();var a=this.getMinutes();var o=this.getSeconds();var f=this.getTimezoneOffset();var u=Math.floor(Math.abs(f)/60);var l=Math.floor(Math.abs(f)%60);return rr[t]+" "+er[e]+" "+(r<10?"0"+r:r)+" "+n+" "+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+":"+(o<10?"0"+o:o)+" GMT"+(f>0?"-":"+")+(u<10?"0"+u:u)+(l<10?"0"+l:l)};if(P){e.defineProperty(Date.prototype,"toString",{configurable:true,enumerable:false,writable:true})}}var ir=-621987552e5;var ar="-000001";var or=Date.prototype.toISOString&&new Date(ir).toISOString().indexOf(ar)===-1;var fr=Date.prototype.toISOString&&new Date(-1).toISOString()!=="1969-12-31T23:59:59.999Z";var ur=d.bind(Date.prototype.getTime);$(Date.prototype,{toISOString:function toISOString(){if(!isFinite(this)||!isFinite(ur(this))){throw new RangeError("Date.prototype.toISOString called on non-finite value.")}var t=Lt(this);var r=Xt(this);t+=Math.floor(r/12);r=(r%12+12)%12;var e=[r+1,qt(this),Qt(this),Vt(this),_t(this)];t=(t<0?"-":t>9999?"+":"")+L("00000"+Math.abs(t),0<=t&&t<=9999?-4:-6);for(var n=0;n=7&&l>hr){var p=Math.floor(l/hr)*hr;var y=Math.floor(p/1e3);v+=y;h-=y*1e3}c=s===1&&o(e)===e?new t(r.parse(e)):s>=7?new t(e,n,i,a,f,v,h):s>=6?new t(e,n,i,a,f,v):s>=5?new t(e,n,i,a,f):s>=4?new t(e,n,i,a):s>=3?new t(e,n,i):s>=2?new t(e,n):s>=1?new t(e instanceof t?+e:e):new t}else{c=t.apply(this,arguments)}if(!J(c)){$(c,{constructor:r},true)}return c};var e=new RegExp("^"+"(\\d{4}|[+-]\\d{6})"+"(?:-(\\d{2})"+"(?:-(\\d{2})"+"(?:"+"T(\\d{2})"+":(\\d{2})"+"(?:"+":(\\d{2})"+"(?:(\\.\\d{1,}))?"+")?"+"("+"Z|"+"(?:"+"([-+])"+"(\\d{2})"+":(\\d{2})"+")"+")?)?)?)?"+"$");var n=[0,31,59,90,120,151,181,212,243,273,304,334,365];var i=function dayFromMonth(t,r){var e=r>1?1:0;return n[r]+Math.floor((t-1969+e)/4)-Math.floor((t-1901+e)/100)+Math.floor((t-1601+e)/400)+365*(t-1970)};var a=function toUTC(r){var e=0;var n=r;if(pr&&n>hr){var i=Math.floor(n/hr)*hr;var a=Math.floor(i/1e3);e+=a;n-=a*1e3}return u(new t(1970,0,1,0,0,e,n))};for(var f in t){if(G(t,f)){r[f]=t[f]}}$(r,{now:t.now,UTC:t.UTC},true);r.prototype=t.prototype;$(r.prototype,{constructor:r},true);var l=function parse(r){var n=e.exec(r);if(n){var o=u(n[1]),f=u(n[2]||1)-1,l=u(n[3]||1)-1,s=u(n[4]||0),c=u(n[5]||0),v=u(n[6]||0),h=Math.floor(u(n[7]||0)*1e3),p=Boolean(n[4]&&!n[8]),y=n[9]==="-"?1:-1,d=u(n[10]||0),g=u(n[11]||0),w;var b=c>0||v>0||h>0;if(s<(b?24:25)&&c<60&&v<60&&h<1e3&&f>-1&&f<12&&d<24&&g<60&&l>-1&&l=0){e+=dr.data[r];dr.data[r]=Math.floor(e/t);e=e%t*dr.base}},numToString:function numToString(){var t=dr.size;var r="";while(--t>=0){if(r!==""||t===0||dr.data[t]!==0){var e=o(dr.data[t]);if(r===""){r=e}else{r+=L("0000000",0,7-e.length)+e}}}return r},pow:function pow(t,r,e){return r===0?e:r%2===1?pow(t,r-1,e*t):pow(t*t,r/2,e)},log:function log(t){var r=0;var e=t;while(e>=4096){r+=12;e/=4096}while(e>=2){r+=1;e/=2}return r}};var gr=function toFixed(t){var r,e,n,i,a,f,l,s;r=u(t);r=Y(r)?0:Math.floor(r);if(r<0||r>20){throw new RangeError("Number.toFixed called with invalid number of decimals")}e=u(this);if(Y(e)){return"NaN"}if(e<=-1e21||e>=1e21){return o(e)}n="";if(e<0){n="-";e=-e}i="0";if(e>1e-21){a=dr.log(e*dr.pow(2,69,1))-69;f=a<0?e*dr.pow(2,-a,1):e/dr.pow(2,a,1);f*=4503599627370496;a=52-a;if(a>0){dr.multiply(0,f);l=r;while(l>=7){dr.multiply(1e7,0);l-=7}dr.multiply(dr.pow(10,l,1),0);l=a-1;while(l>=23){dr.divide(1<<23);l-=23}dr.divide(1<0){s=i.length;if(s<=r){i=n+L("0.0000000000000000000",0,r-s+2)+i}else{i=n+L(i,0,s-r)+"."+L(i,s-r)}}else{i=n+i}return i};$(l,{toFixed:gr},yr);var wr=function(){try{return 1..toPrecision(undefined)==="1"}catch(t){return true}}();var br=l.toPrecision;$(l,{toPrecision:function toPrecision(t){return typeof t==="undefined"?br.call(this):br.call(this,t)}},wr);if("ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||"tesst".split(/(s)*/)[1]==="t"||"test".split(/(?:)/,-1).length!==4||"".split(/.?/).length||".".split(/()()/).length>1){(function(){var t=typeof/()??/.exec("")[1]==="undefined";var r=Math.pow(2,32)-1;f.split=function(e,n){var i=String(this);if(typeof e==="undefined"&&n===0){return[]}if(!M(e)){return X(this,e,n)}var a=[];var o=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),f=0,u,l,s,c;var h=new RegExp(e.source,o+"g");if(!t){u=new RegExp("^"+h.source+"$(?!\\s)",o)}var p=typeof n==="undefined"?r:Z.ToUint32(n);l=h.exec(i);while(l){s=l.index+l[0].length;if(s>f){K(a,L(i,f,l.index));if(!t&&l.length>1){l[0].replace(u,function(){for(var t=1;t1&&l.index=p){break}}if(h.lastIndex===l.index){h.lastIndex++}l=h.exec(i)}if(f===i.length){if(c||!h.test("")){K(a,"")}}else{K(a,L(i,f))}return a.length>p?H(a,0,p):a}})()}else if("0".split(void 0,0).length){f.split=function split(t,r){if(typeof t==="undefined"&&r===0){return[]}return X(this,t,r)}}var Tr=f.replace;var mr=function(){var t=[];"x".replace(/x(.)?/g,function(r,e){K(t,e)});return t.length===1&&typeof t[0]==="undefined"}();if(!mr){f.replace=function replace(t,r){var e=D(r);var n=M(t)&&/\)[*?]/.test(t.source);if(!e||!n){return Tr.call(this,t,r)}else{var i=function(e){var n=arguments.length;var i=t.lastIndex;t.lastIndex=0;var a=t.exec(e)||[];t.lastIndex=i;K(a,arguments[n-2],arguments[n-1]);return r.apply(this,a)};return Tr.call(this,t,i)}}}var Dr=f.substr;var xr="".substr&&"0b".substr(-1)!=="b";$(f,{substr:function substr(t,r){var e=t;if(t<0){e=w(this.length+t,0)}return Dr.call(this,e,r)}},xr);var Sr=" \n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003"+"\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028"+"\u2029\ufeff";var Or="\u200b";var Er="["+Sr+"]";var jr=new RegExp("^"+Er+Er+"*");var Ir=new RegExp(Er+Er+"*$");var Mr=f.trim&&(Sr.trim()||!Or.trim());$(f,{trim:function trim(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return o(this).replace(jr,"").replace(Ir,"")}},Mr);var Ur=d.bind(String.prototype.trim);var Fr=f.lastIndexOf&&"abc\u3042\u3044".lastIndexOf("\u3042\u3044",2)!==-1;$(f,{lastIndexOf:function lastIndexOf(t){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}var r=o(this);var e=o(t);var n=arguments.length>1?u(arguments[1]):NaN;var i=Y(n)?Infinity:Z.ToInteger(n);var a=b(w(i,0),r.length);var f=e.length;var l=a+f;while(l>0){l=w(0,l-f);var s=q(L(r,l,a+f),e);if(s!==-1){return l+s}}return-1}},Fr);var Nr=f.lastIndexOf;$(f,{lastIndexOf:function lastIndexOf(t){return Nr.apply(this,arguments)}},f.lastIndexOf.length!==1);if(parseInt(Sr+"08")!==8||parseInt(Sr+"0x16")!==22){parseInt=function(t){var r=/^[\-+]?0[xX]/;return function parseInt(e,n){var i=Ur(e);var a=u(n)||(r.test(i)?16:10);return t(i,a)}}(parseInt)}if(1/parseFloat("-0")!==-Infinity){parseFloat=function(t){return function parseFloat(r){var e=Ur(r);var n=t(e);return n===0&&L(e,0,1)==="-"?-0:n}}(parseFloat)}if(String(new RangeError("test"))!=="RangeError: test"){var Cr=function toString(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}var t=this.name;if(typeof t==="undefined"){t="Error"}else if(typeof t!=="string"){t=o(t)}var r=this.message;if(typeof r==="undefined"){r=""}else if(typeof r!=="string"){r=o(r)}if(!t){return r}if(!r){return t}return t+": "+r};Error.prototype.toString=Cr}if(P){var kr=function(t,r){if(Q(t,r)){var e=Object.getOwnPropertyDescriptor(t,r);e.enumerable=false;Object.defineProperty(t,r,e)}};kr(Error.prototype,"message");if(Error.prototype.message!==""){Error.prototype.message=""}kr(Error.prototype,"name")}if(String(/a/gim)!=="/a/gim"){var Rr=function toString(){var t="/"+this.source+"/";if(this.global){t+="g"}if(this.ignoreCase){t+="i"}if(this.multiline){t+="m"}return t};RegExp.prototype.toString=Rr}});
//# sourceMappingURL=es5-shim.map
diff --git a/package.json b/package.json
index f7dee58d..ef0b0f9e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "es5-shim",
- "version": "4.5.5",
+ "version": "4.5.6",
"description": "ECMAScript 5 compatibility shims for legacy JavaScript engines",
"homepage": "http://github.com/es-shims/es5-shim/",
"contributors": [