From a48b26c9377b63eafb07b489bd4d82315f3c1c89 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Fri, 31 Aug 2018 21:56:11 -0700 Subject: [PATCH] v4.5.11 --- CHANGES | 5 +++++ es5-sham.min.js | 2 +- es5-shim.map | 2 +- es5-shim.min.js | 4 ++-- package.json | 3 ++- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index 85b69f9b..d82ec35f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,8 @@ +4.5.11 + - [Fix] sync Object.keys excluded list from object-keys (#456) + - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `jasmine-node`, `replace`, `semver` + - [Tests] pin jasmine-node to ~1.13 + 4.5.10 - [Fix] Safari 11 throws on `.sort({})`, but not on `.sort(null)` - [Fix] ensure the shimmed parseInt throws with Symbols (#450) diff --git a/es5-sham.min.js b/es5-sham.min.js index 072b8f67..9df5e083 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.10/LICENSE + * see https://github.com/es-shims/es5-shim/blob/master/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__)}var u=function isPrimitive(e){return e==null||typeof e!=="object"&&typeof e!=="function"};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 p=function doesGetOwnPropertyDescriptorWork(e){try{e.sentinel=0;return Object.getOwnPropertyDescriptor(e,"sentinel").value===0}catch(t){return false}};if(Object.defineProperty){var s=p({});var b=typeof document==="undefined"||p(document.createElement("div"));if(!b||!s){var O=Object.getOwnPropertyDescriptor}}if(!Object.getOwnPropertyDescriptor||O){var d="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function getOwnPropertyDescriptor(e,o){if(u(e)){throw new TypeError(d+e)}if(O){try{return O.call(Object,e,o)}catch(i){}}var c;if(!r(e,o)){return c}c={enumerable:n(e,o),configurable:true};if(l){var p=e.__proto__;var s=e!==t;if(s){e.__proto__=t}var b=f(e,o);var y=a(e,o);if(s){e.__proto__=p}if(b||y){if(b){c.get=b}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 j=!({__proto__:null}instanceof Object);var v=function shouldUseActiveX(){if(!document.domain){return false}try{return!!new ActiveXObject("htmlfile")}catch(e){return false}};var _=function getEmptyViaActiveX(){var e;var t;t=new ActiveXObject("htmlfile");var r="script";t.write("<"+r+">");t.close();e=t.parentWindow.Object.prototype;t=null;return e};var w=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(j||typeof document==="undefined"){y=function(){return{__proto__:null}}}else{y=function(){var e=v()?_():w();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(e!==null&&u(e)){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 m=function doesDefinePropertyWork(e){try{Object.defineProperty(e,"sentinel",{});return"sentinel"in e}catch(t){return false}};if(Object.defineProperty){var P=m({});var E=typeof document==="undefined"||m(document.createElement("div"));if(!P||!E){var h=Object.defineProperty,g=Object.defineProperties}}if(!Object.defineProperty||h){var z="Property description must be an object: ";var T="Object.defineProperty called on non-object: ";var x="getters & setters can not be defined on this javascript engine";Object.defineProperty=function defineProperty(e,r,n){if(u(e)){throw new TypeError(T+e)}if(u(n)){throw new TypeError(z+n)}if(h){try{return h.call(Object,e,r,n)}catch(o){}}if("value"in n){if(l&&(f(e,r)||a(e,r))){var p=e.__proto__;e.__proto__=t;delete e[r];e[r]=n.value;e.__proto__=p}else{e[r]=n.value}}else{var s="get"in n;var b="set"in n;if(!l&&(s||b)){throw new TypeError(x)}if(s){i(e,r,n.get)}if(b){c(e,r,n.set)}}return e}}if(!Object.defineProperties||g){Object.defineProperties=function defineProperties(e,t){if(g){try{return g.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(S){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 5d5d10b1..cfd57fd1 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","document","documentElement","childNodes","origArraySlice","origArraySliceApply","arraySliceIE","arr","r","arraySliceApplyIE","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","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","e2","sortThrowsOnRegex","sortIgnoresUndefined","compareFn","hasDontEnumBug","hasProtoEnumBug","hasStringEnumBug","equalsConstructorPrototype","ctor","constructor","excludedKeys","$window","$console","$parent","$self","$frame","$frames","$frameElement","$webkitIndexedDB","$webkitStorageInfo","$external","$width","$height","$top","$localStorage","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","document","documentElement","childNodes","origArraySlice","origArraySliceApply","arraySliceIE","arr","r","arraySliceApplyIE","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","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","e2","sortThrowsOnRegex","sortIgnoresUndefined","compareFn","hasDontEnumBug","hasProtoEnumBug","hasStringEnumBug","equalsConstructorPrototype","ctor","constructor","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","$width","$height","$top","$localStorage","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 9e96a3c6..11240d1d 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.10/LICENSE + * see https://github.com/es-shims/es5-shim/blob/master/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 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 S=Function.prototype.toString,x=/^\s*class /,O=function isES6ClassFn(t){try{var r=S.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 x.test(i)}catch(a){return false}},E=function tryFunctionObject(t){try{if(O(t)){return false}S.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,A=function tryStringObject(t){try{k.call(t);return true}catch(r){return false}},R="[object String]";C=function isString(t){if(typeof t==="string"){return true}if(typeof t!=="object"){return false}return m?A(t):T.call(t)===R};var $=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 P=function(t){var r;if($){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 isActualNaN(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(){};P(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;l0){r[e]=t[e]}return q(r,X(arguments,1))};W=function arraySliceApplyIE(t,r){return q(H(t),r)}}}var K=d.bind(f.slice);var Q=d.bind(f.split);var V=d.bind(f.indexOf);var _=d.bind(v);var tt=d.bind(n.propertyIsEnumerable);var rt=d.bind(r.sort);var et=t.isArray||function isArray(t){return B(t)==="[object Array]"};var nt=[].unshift(0)!==1;P(r,{unshift:function(){h.apply(this,arguments);return this.length}},nt);P(t,{isArray:et});var it=e("a");var at=it[0]!=="a"||!(0 in it);var ot=function properlyBoxed(t){var r=true;var e=true;var n=false;if(t){try{t.call("foo",function(t,e,n){if(typeof n!=="object"){r=false}});t.call([1],function(){"use strict";e=typeof this==="string"},"x")}catch(i){n=true}}return!!t&&!n&&r&&e};P(r,{forEach:function forEach(t){var r=Z.ToObject(this);var e=at&&C(this)?Q(this,""):r;var n=-1;var i=Z.ToUint32(e.length);var a;if(arguments.length>1){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}},!ut);var lt=r.indexOf&&[0,1].indexOf(1,2)!==-1;P(r,{indexOf:function indexOf(t){var r=at&&C(this)?Q(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}},st);var ct=function(){var t=[1,2];var r=t.splice();return t.length===2&&et(r)&&r.length===0}();P(r,{splice:function splice(t,r){if(arguments.length===0){return[]}else{return c.apply(this,arguments)}}},!ct);var vt=function(){var t={};r.splice.call(t,0,0,1);return t.length===1}();P(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){_(e,this.length-t)}else{e[1]=Z.ToInteger(r)}}return c.apply(this,e)}},!vt);var ht=function(){var r=new t(1e5);r[8]="x";r.splice(1,1);return r.indexOf("x")===7}();var pt=function(){var t=256;var r=[];r[t]="a";r.splice(t+1,0,"b");return r[t]==="a"}();P(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&&!et(t)&&D(t.callee)};var At=Ct(arguments)?Ct:kt;P(e,{keys:function keys(t){var r=D(t);var e=At(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=Ot&&r;if(i&&Et||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=Wt(this);var r=Lt(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=Wt(this);var r=Lt(this);var e=Xt(this);if(t<0&&r>11){if(r===12){return e}var n=ar(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=qt(this);if(t<0&&Kt(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=qt(this);var r=Kt(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=qt(this);var r=Kt(this);var e=Qt(this);if(t<0&&r>11){if(r===12){return e}var n=ar(0,t+1);return n-e+1}return e}},Jt);P(Date.prototype,{toUTCString:function toUTCString(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Vt(this);var r=Qt(this);var e=Kt(this);var n=qt(this);var i=_t(this);var a=tr(this);var o=rr(this);return nr[t]+", "+(r<10?"0"+r:r)+" "+ir[e]+" "+n+" "+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+":"+(o<10?"0"+o:o)+" GMT"}},Jt||zt);P(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 nr[t]+" "+ir[e]+" "+(r<10?"0"+r:r)+" "+n}},Jt||Gt);if(Jt||Bt){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 nr[t]+" "+ir[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($){e.defineProperty(Date.prototype,"toString",{configurable:true,enumerable:false,writable:true})}}var or=-621987552e5;var fr="-000001";var ur=Date.prototype.toISOString&&new Date(or).toISOString().indexOf(fr)===-1;var lr=Date.prototype.toISOString&&new Date(-1).toISOString()!=="1969-12-31T23:59:59.999Z";var sr=d.bind(Date.prototype.getTime);P(Date.prototype,{toISOString:function toISOString(){if(!isFinite(this)||!isFinite(sr(this))){throw new RangeError("Date.prototype.toISOString called on non-finite value.")}var t=qt(this);var r=Kt(this);t+=Math.floor(r/12);r=(r%12+12)%12;var e=[r+1,Qt(this),_t(this),tr(this),rr(this)];t=(t<0?"-":t>9999?"+":"")+K("00000"+Math.abs(t),0<=t&&t<=9999?-4:-6);for(var n=0;n=7&&l>yr){var p=Math.floor(l/yr)*yr;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)){P(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(dr&&n>yr){var i=Math.floor(n/yr)*yr;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]}}P(r,{now:t.now,UTC:t.UTC},true);r.prototype=t.prototype;P(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+=wr.data[r];wr.data[r]=Math.floor(e/t);e=e%t*wr.base}},numToString:function numToString(){var t=wr.size;var r="";while(--t>=0){if(r!==""||t===0||wr.data[t]!==0){var e=o(wr.data[t]);if(r===""){r=e}else{r+=K("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 br=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=wr.log(e*wr.pow(2,69,1))-69;f=a<0?e*wr.pow(2,-a,1):e/wr.pow(2,a,1);f*=4503599627370496;a=52-a;if(a>0){wr.multiply(0,f);l=r;while(l>=7){wr.multiply(1e7,0);l-=7}wr.multiply(wr.pow(10,l,1),0);l=a-1;while(l>=23){wr.divide(1<<23);l-=23}wr.divide(1<0){s=i.length;if(s<=r){i=n+K("0.0000000000000000000",0,r-s+2)+i}else{i=n+K(i,0,s-r)+"."+K(i,s-r)}}else{i=n+i}return i};P(l,{toFixed:br},gr);var Tr=function(){try{return 1..toPrecision(undefined)==="1"}catch(t){return true}}();var mr=l.toPrecision;P(l,{toPrecision:function toPrecision(t){return typeof t==="undefined"?mr.call(this):mr.call(this,t)}},Tr);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 Q(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){_(a,K(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("")){_(a,"")}}else{_(a,K(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 Q(this,t,r)}}var Dr=f.replace;var Sr=function(){var t=[];"x".replace(/x(.)?/g,function(r,e){_(t,e)});return t.length===1&&typeof t[0]==="undefined"}();if(!Sr){f.replace=function replace(t,r){var e=D(r);var n=M(t)&&/\)[*?]/.test(t.source);if(!e||!n){return Dr.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;_(a,arguments[n-2],arguments[n-1]);return r.apply(this,a)};return Dr.call(this,t,i)}}}var xr=f.substr;var Or="".substr&&"0b".substr(-1)!=="b";P(f,{substr:function substr(t,r){var e=t;if(t<0){e=w(this.length+t,0)}return xr.call(this,e,r)}},Or);var Er="\t\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 jr="\u200b";var Ir="["+Er+"]";var Mr=new RegExp("^"+Ir+Ir+"*");var Ur=new RegExp(Ir+Ir+"*$");var Fr=f.trim&&(Er.trim()||!jr.trim());P(f,{trim:function trim(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return o(this).replace(Mr,"").replace(Ur,"")}},Fr);var Nr=d.bind(String.prototype.trim);var Cr=f.lastIndexOf&&"abc\u3042\u3044".lastIndexOf("\u3042\u3044",2)!==-1;P(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=V(K(r,l,a+f),e);if(s!==-1){return l+s}}return-1}},Cr);var kr=f.lastIndexOf;P(f,{lastIndexOf:function lastIndexOf(t){return kr.apply(this,arguments)}},f.lastIndexOf.length!==1);if(parseInt(Er+"08")!==8||parseInt(Er+"0x16")!==22){parseInt=function(t){var r=/^[-+]?0[xX]/;return function parseInt(e,n){if(typeof e==="symbol"){""+e}var i=Nr(String(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=Nr(String(r));var n=t(e);return n===0&&K(e,0,1)==="-"?-0:n}}(parseFloat)}if(String(new RangeError("test"))!=="RangeError: test"){var Ar=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=Ar}if($){var Rr=function(t,r){if(tt(t,r)){var e=Object.getOwnPropertyDescriptor(t,r);if(e.configurable){e.enumerable=false;Object.defineProperty(t,r,e)}}};Rr(Error.prototype,"message");if(Error.prototype.message!==""){Error.prototype.message=""}Rr(Error.prototype,"name")}if(String(/a/gim)!=="/a/gim"){var $r=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=$r}}); +(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 S=Function.prototype.toString,x=/^\s*class /,O=function isES6ClassFn(t){try{var r=S.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 x.test(i)}catch(a){return false}},E=function tryFunctionObject(t){try{if(O(t)){return false}S.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}},$="[object RegExp]";M=function isRegex(t){if(typeof t!=="object"){return false}return m?F(t):T.call(t)===$};var N;var C=String.prototype.valueOf,k=function tryStringObject(t){try{C.call(t);return true}catch(r){return false}},A="[object String]";N=function isString(t){if(typeof t==="string"){return true}if(typeof t!=="object"){return false}return m?k(t):T.call(t)===A};var R=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 P=function(t){var r;if(R){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 isActualNaN(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(){};P(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;l0){r[e]=t[e]}return q(r,L(arguments,1))};B=function arraySliceApplyIE(t,r){return q(W(t),r)}}}var K=d.bind(f.slice);var Q=d.bind(f.split);var V=d.bind(f.indexOf);var _=d.bind(v);var tt=d.bind(n.propertyIsEnumerable);var rt=d.bind(r.sort);var et=t.isArray||function isArray(t){return H(t)==="[object Array]"};var nt=[].unshift(0)!==1;P(r,{unshift:function(){h.apply(this,arguments);return this.length}},nt);P(t,{isArray:et});var it=e("a");var at=it[0]!=="a"||!(0 in it);var ot=function properlyBoxed(t){var r=true;var e=true;var n=false;if(t){try{t.call("foo",function(t,e,n){if(typeof n!=="object"){r=false}});t.call([1],function(){"use strict";e=typeof this==="string"},"x")}catch(i){n=true}}return!!t&&!n&&r&&e};P(r,{forEach:function forEach(t){var r=Z.ToObject(this);var e=at&&N(this)?Q(this,""):r;var n=-1;var i=Z.ToUint32(e.length);var a;if(arguments.length>1){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}},!ut);var lt=r.indexOf&&[0,1].indexOf(1,2)!==-1;P(r,{indexOf:function indexOf(t){var r=at&&N(this)?Q(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}},st);var ct=function(){var t=[1,2];var r=t.splice();return t.length===2&&et(r)&&r.length===0}();P(r,{splice:function splice(t,r){if(arguments.length===0){return[]}else{return c.apply(this,arguments)}}},!ct);var vt=function(){var t={};r.splice.call(t,0,0,1);return t.length===1}();P(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=W(arguments);if(e.length<2){_(e,this.length-t)}else{e[1]=Z.ToInteger(r)}}return c.apply(this,e)}},!vt);var ht=function(){var r=new t(1e5);r[8]="x";r.splice(1,1);return r.indexOf("x")===7}();var pt=function(){var t=256;var r=[];r[t]="a";r.splice(t+1,0,"b");return r[t]==="a"}();P(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&&!et(t)&&D(t.callee)};var kt=Nt(arguments)?Nt:Ct;P(e,{keys:function keys(t){var r=D(t);var e=kt(t);var n=t!==null&&typeof t==="object";var i=n&&N(t);if(!n&&!r&&!e){throw new TypeError("Object.keys called on a non-object")}var a=[];var f=Ot&&r;if(i&&Et||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=Xt(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=Xt(this);var e=Lt(this);if(t<0&&r>11){if(r===12){return e}var n=ar(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=qt(this);if(t<0&&Kt(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=qt(this);var r=Kt(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=qt(this);var r=Kt(this);var e=Qt(this);if(t<0&&r>11){if(r===12){return e}var n=ar(0,t+1);return n-e+1}return e}},Jt);P(Date.prototype,{toUTCString:function toUTCString(){if(!this||!(this instanceof Date)){throw new TypeError("this is not a Date object.")}var t=Vt(this);var r=Qt(this);var e=Kt(this);var n=qt(this);var i=_t(this);var a=tr(this);var o=rr(this);return nr[t]+", "+(r<10?"0"+r:r)+" "+ir[e]+" "+n+" "+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+":"+(o<10?"0"+o:o)+" GMT"}},Jt||zt);P(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 nr[t]+" "+ir[e]+" "+(r<10?"0"+r:r)+" "+n}},Jt||Gt);if(Jt||Ht){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 nr[t]+" "+ir[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(R){e.defineProperty(Date.prototype,"toString",{configurable:true,enumerable:false,writable:true})}}var or=-621987552e5;var fr="-000001";var ur=Date.prototype.toISOString&&new Date(or).toISOString().indexOf(fr)===-1;var lr=Date.prototype.toISOString&&new Date(-1).toISOString()!=="1969-12-31T23:59:59.999Z";var sr=d.bind(Date.prototype.getTime);P(Date.prototype,{toISOString:function toISOString(){if(!isFinite(this)||!isFinite(sr(this))){throw new RangeError("Date.prototype.toISOString called on non-finite value.")}var t=qt(this);var r=Kt(this);t+=Math.floor(r/12);r=(r%12+12)%12;var e=[r+1,Qt(this),_t(this),tr(this),rr(this)];t=(t<0?"-":t>9999?"+":"")+K("00000"+Math.abs(t),0<=t&&t<=9999?-4:-6);for(var n=0;n=7&&l>yr){var p=Math.floor(l/yr)*yr;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)){P(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(dr&&n>yr){var i=Math.floor(n/yr)*yr;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]}}P(r,{now:t.now,UTC:t.UTC},true);r.prototype=t.prototype;P(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+=wr.data[r];wr.data[r]=Math.floor(e/t);e=e%t*wr.base}},numToString:function numToString(){var t=wr.size;var r="";while(--t>=0){if(r!==""||t===0||wr.data[t]!==0){var e=o(wr.data[t]);if(r===""){r=e}else{r+=K("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 br=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=wr.log(e*wr.pow(2,69,1))-69;f=a<0?e*wr.pow(2,-a,1):e/wr.pow(2,a,1);f*=4503599627370496;a=52-a;if(a>0){wr.multiply(0,f);l=r;while(l>=7){wr.multiply(1e7,0);l-=7}wr.multiply(wr.pow(10,l,1),0);l=a-1;while(l>=23){wr.divide(1<<23);l-=23}wr.divide(1<0){s=i.length;if(s<=r){i=n+K("0.0000000000000000000",0,r-s+2)+i}else{i=n+K(i,0,s-r)+"."+K(i,s-r)}}else{i=n+i}return i};P(l,{toFixed:br},gr);var Tr=function(){try{return 1..toPrecision(undefined)==="1"}catch(t){return true}}();var mr=l.toPrecision;P(l,{toPrecision:function toPrecision(t){return typeof t==="undefined"?mr.call(this):mr.call(this,t)}},Tr);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 Q(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){_(a,K(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("")){_(a,"")}}else{_(a,K(i,f))}return a.length>p?W(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 Q(this,t,r)}}var Dr=f.replace;var Sr=function(){var t=[];"x".replace(/x(.)?/g,function(r,e){_(t,e)});return t.length===1&&typeof t[0]==="undefined"}();if(!Sr){f.replace=function replace(t,r){var e=D(r);var n=M(t)&&/\)[*?]/.test(t.source);if(!e||!n){return Dr.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;_(a,arguments[n-2],arguments[n-1]);return r.apply(this,a)};return Dr.call(this,t,i)}}}var xr=f.substr;var Or="".substr&&"0b".substr(-1)!=="b";P(f,{substr:function substr(t,r){var e=t;if(t<0){e=w(this.length+t,0)}return xr.call(this,e,r)}},Or);var Er="\t\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 jr="\u200b";var Ir="["+Er+"]";var Mr=new RegExp("^"+Ir+Ir+"*");var Ur=new RegExp(Ir+Ir+"*$");var Fr=f.trim&&(Er.trim()||!jr.trim());P(f,{trim:function trim(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return o(this).replace(Mr,"").replace(Ur,"")}},Fr);var $r=d.bind(String.prototype.trim);var Nr=f.lastIndexOf&&"abc\u3042\u3044".lastIndexOf("\u3042\u3044",2)!==-1;P(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=V(K(r,l,a+f),e);if(s!==-1){return l+s}}return-1}},Nr);var Cr=f.lastIndexOf;P(f,{lastIndexOf:function lastIndexOf(t){return Cr.apply(this,arguments)}},f.lastIndexOf.length!==1);if(parseInt(Er+"08")!==8||parseInt(Er+"0x16")!==22){parseInt=function(t){var r=/^[-+]?0[xX]/;return function parseInt(e,n){if(typeof e==="symbol"){""+e}var i=$r(String(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=$r(String(r));var n=t(e);return n===0&&K(e,0,1)==="-"?-0:n}}(parseFloat)}if(String(new RangeError("test"))!=="RangeError: test"){var kr=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=kr}if(R){var Ar=function(t,r){if(tt(t,r)){var e=Object.getOwnPropertyDescriptor(t,r);if(e.configurable){e.enumerable=false;Object.defineProperty(t,r,e)}}};Ar(Error.prototype,"message");if(Error.prototype.message!==""){Error.prototype.message=""}Ar(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 e000b656..45358725 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "es5-shim", - "version": "4.5.10", + "version": "4.5.11", "description": "ECMAScript 5 compatibility shims for legacy JavaScript engines", "homepage": "http://github.com/es-shims/es5-shim/", "contributors": [ @@ -22,6 +22,7 @@ "url": "http://github.com/es-shims/es5-shim.git" }, "scripts": { + "prepublish": "npm run minify", "minify": "npm run --silent minify-shim && npm run --silent minify-sham", "minify-shim": "uglifyjs es5-shim.js --support-ie8 --keep-fnames --comments --source-map=es5-shim.map -m -b ascii_only=true,beautify=false | sed 's/0xde0b6b3a7640080/1000000000000000128/' > es5-shim.min.js", "minify-sham": "uglifyjs es5-sham.js --support-ie8 --keep-fnames --comments --source-map=es5-sham.map -m -b ascii_only=true,beautify=false > es5-sham.min.js",