From c80f6037540026de9b8a0495310e2d37310942ee Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Sun, 12 Apr 2015 14:08:00 -0700 Subject: [PATCH] v0.28.1 --- CHANGELOG.md | 3 +++ bower.json | 2 +- component.json | 2 +- es6-shim.map | 2 +- es6-shim.min.js | 4 ++-- package.json | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f5d3f44..830b85dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # es6-shim x.x.x (not yet released) +# es6-shim 0.28.1 (12 Apr 2015) +* Ensure `Object.assign` only includes enumerable Symbols. + # es6-shim 0.28.0 (12 Apr 2015) * Ensure `Object.assign` also includes Symbols. * Make sure to clobber Firefox 37's very slow native Object.assign, that has "pending exception" logic. diff --git a/bower.json b/bower.json index add4064f..9721755a 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.28.0", + "version": "0.28.1", "repo": "paulmillr/es6-shim", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [ diff --git a/component.json b/component.json index 51e90fd1..b4e0ea75 100644 --- a/component.json +++ b/component.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.28.0", + "version": "0.28.1", "repo": "paulmillr/es6-shim", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [ diff --git a/es6-shim.map b/es6-shim.map index fcc1cdcd..5884e800 100644 --- a/es6-shim.map +++ b/es6-shim.map @@ -1 +1 @@ -{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","not","notThunker","func","notThunk","apply","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","supportsSubclassing","C","f","Object","setPrototypeOf","Sub","Subclass","arg","o","prototype","create","constructor","value","arePropertyDescriptorsSupported","defineProperty","startsWithRejectsRegex","String","startsWith","startsWithHandlesInfinity","Infinity","getGlobal","Function","globals","globalIsFinite","isFinite","supportsDescriptors","hasStrictMode","call","startsWithIsCompliant","_indexOf","bind","indexOf","_toString","toString","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","Symbol","symbolSpecies","species","Type","object","x","string","regex","symbol","numberIsNaN","Number","isNaN","numberIsFinite","name","force","configurable","enumerable","writable","Value","getter","TypeError","get","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","preserveToString","target","source","defineProperties","map","keys","forEach","method","properties","Prototype","$iterator$","iterator","Set","addIterator","impl","isArguments","str","result","length","callee","safeApply","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","ToInt32","ToNumber","ToUint32","ToInteger","number","Math","floor","abs","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","it","IteratorNext","next","Construct","obj","_es6construct","CreateHTML","tag","attribute","S","p1","escapedV","replace","p2","p3","emulateES6construct","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","push","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub",1,"origStringRaw","stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","searchStr","startArg","start","max","slice","endsWith","thisLen","posArg","pos","end","min","includes","searchString","position","codePointAt","first","charCodeAt","isEnd","second","origIncludes","hasStringTrimBug","trim","ws","trimRegexp","RegExp","StringIterator","_s","_i","done","substr","ArrayShims","from","iterable","mapFn","list","hasThisArg","thisArg","usingIterator","iterationValue","Array","of","iteratorResult","array","kind","retval","ObjectIterator","getAllKeys","shift","arrayOfSupportsSubclassing","Foo","fooArr","origArrayOf","ArrayPrototypeShims","copyWithin","to","fin","count","direction","fill","O","relativeStart","relativeEnd","find","predicate","findIndex","values","entries","unscopables","originalArrayPrototypeValues","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","origArrayFrom","maxSafeInteger","pow","MIN_SAFE_INTEGER","EPSILON","parseInt","parseFloat","isInteger","isSafeInteger","item","idx","is","assignReducer","symbols","getOwnPropertySymbols","concat","reduce","ObjectShims","assign","magic","checkArgs","proto","polyfill","assignHasPendingExceptions","preventExtensions","thrower","origAssign","FAKENULL","gpo","spo","p","objectKeysAcceptsPrimitives","originalObjectKeys","getOwnPropertyNames","objectGOPNAcceptsPrimitives","originalObjectGetOwnPropertyNames","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","flags","regExpFlagsGetter","global","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","OrigRegExp","RegExpShim","pattern","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","prop","square","n","add","inverseEpsilon","roundTiesToEven","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","MathShims","acosh","NaN","log","E","sqrt","asinh","atanh","cbrt","negate","clz32","LOG2E","cosh","exp","expm1","t","sum","hypot","y","anyNaN","allZero","anyInfinity","numbers","every","num","largest","divided","log2","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","MAX_VALUE","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","ceil","origImul","PromiseShim","Promise","Promise$prototype","IsPromise","promise","_promiseConstructor","_status","PromiseCapability","capability","resolver","resolve","reject","setTimeout","makeZeroTimeout","window","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","P","task","then","enqueue","setImmediate","process","nextTick","updatePromiseFromPotentialThenable","triggerPromiseReactions","reactions","reaction","handler","updateResult","promiseResolutionHandler","onFulfilled","onRejected","_resolveReactions","_rejectReactions","resolution","_result","reason","_promiseAllResolver","index","remaining","all","nextPromise","resolveElement","race","rejectPromise","resolvePromise","catch","resolutionHandler","resolveReaction","rejectReaction","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","testOrder","k","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","type","emptyObject","collectionShims","Map","empty","MapEntry","prev","isRemoved","MapIterator","head","_head","_es6map","_storage","_size","adder","nextItem","Map$prototype","fkey","entry","has","delete","clear","callback","context","SetShim","_es6set","[[SetData]]","Set$prototype","ensureMap","m","charAt","size","hasFKey","entireSet","mapAcceptsArguments","OrigMapNoArgs","isArray","mapUsesSameValueZero","mapSupportsChaining","origMapSet","origMapGet","origMapHas","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","OrigMap","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","mapIterationThrowsStopIterator","Reflect","throwUnlessTargetIsObject","construct","deleteProperty","desc","enumerate","ownKeys","callAndCatchException","internalGet","receiver","parent","undefined","internalSet","existingDesc","ConvertExceptionToBoolean","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","Date","dateToString","shimmedDateToString","valueOf","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","match","toLowerCase"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","not","notThunker","func","notThunk","apply","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","supportsSubclassing","C","f","Object","setPrototypeOf","Sub","Subclass","arg","o","prototype","create","constructor","value","arePropertyDescriptorsSupported","defineProperty","startsWithRejectsRegex","String","startsWith","startsWithHandlesInfinity","Infinity","getGlobal","Function","globals","globalIsFinite","isFinite","supportsDescriptors","hasStrictMode","call","startsWithIsCompliant","_indexOf","bind","indexOf","_toString","toString","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","Symbol","symbolSpecies","species","Type","object","x","string","regex","symbol","numberIsNaN","Number","isNaN","numberIsFinite","name","force","configurable","enumerable","writable","Value","getter","TypeError","get","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","preserveToString","target","source","defineProperties","map","keys","forEach","method","properties","Prototype","$iterator$","iterator","Set","addIterator","impl","isArguments","str","result","length","callee","safeApply","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","ToInt32","ToNumber","ToUint32","ToInteger","number","Math","floor","abs","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","it","IteratorNext","next","Construct","obj","_es6construct","CreateHTML","tag","attribute","S","p1","escapedV","replace","p2","p3","emulateES6construct","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","push","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub",1,"origStringRaw","stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","searchStr","startArg","start","max","slice","endsWith","thisLen","posArg","pos","end","min","includes","searchString","position","codePointAt","first","charCodeAt","isEnd","second","origIncludes","hasStringTrimBug","trim","ws","trimRegexp","RegExp","StringIterator","_s","_i","done","substr","ArrayShims","from","iterable","mapFn","list","hasThisArg","thisArg","usingIterator","iterationValue","Array","of","iteratorResult","array","kind","retval","ObjectIterator","getAllKeys","shift","arrayOfSupportsSubclassing","Foo","fooArr","origArrayOf","ArrayPrototypeShims","copyWithin","to","fin","count","direction","fill","O","relativeStart","relativeEnd","find","predicate","findIndex","values","entries","unscopables","originalArrayPrototypeValues","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","origArrayFrom","maxSafeInteger","pow","MIN_SAFE_INTEGER","EPSILON","parseInt","parseFloat","isInteger","isSafeInteger","item","idx","is","isEnumerableOn","propertyIsEnumerable","assignReducer","symbols","getOwnPropertySymbols","filter","concat","reduce","ObjectShims","assign","magic","checkArgs","proto","polyfill","assignHasPendingExceptions","preventExtensions","thrower","origAssign","FAKENULL","gpo","spo","p","objectKeysAcceptsPrimitives","originalObjectKeys","getOwnPropertyNames","objectGOPNAcceptsPrimitives","originalObjectGetOwnPropertyNames","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","flags","regExpFlagsGetter","global","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","OrigRegExp","RegExpShim","pattern","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","prop","square","n","add","inverseEpsilon","roundTiesToEven","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","MathShims","acosh","NaN","log","E","sqrt","asinh","atanh","cbrt","negate","clz32","LOG2E","cosh","exp","expm1","t","sum","hypot","y","anyNaN","allZero","anyInfinity","numbers","every","num","largest","divided","log2","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","MAX_VALUE","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","ceil","origImul","PromiseShim","Promise","Promise$prototype","IsPromise","promise","_promiseConstructor","_status","PromiseCapability","capability","resolver","resolve","reject","setTimeout","makeZeroTimeout","window","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","P","task","then","enqueue","setImmediate","process","nextTick","updatePromiseFromPotentialThenable","triggerPromiseReactions","reactions","reaction","handler","updateResult","promiseResolutionHandler","onFulfilled","onRejected","_resolveReactions","_rejectReactions","resolution","_result","reason","_promiseAllResolver","index","remaining","all","nextPromise","resolveElement","race","rejectPromise","resolvePromise","catch","resolutionHandler","resolveReaction","rejectReaction","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","testOrder","k","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","type","emptyObject","collectionShims","Map","empty","MapEntry","prev","isRemoved","MapIterator","head","_head","_es6map","_storage","_size","adder","nextItem","Map$prototype","fkey","entry","has","delete","clear","callback","context","SetShim","_es6set","[[SetData]]","Set$prototype","ensureMap","m","charAt","size","hasFKey","entireSet","mapAcceptsArguments","OrigMapNoArgs","isArray","mapUsesSameValueZero","mapSupportsChaining","origMapSet","origMapGet","origMapHas","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","OrigMap","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","mapIterationThrowsStopIterator","Reflect","throwUnlessTargetIsObject","construct","deleteProperty","desc","enumerate","ownKeys","callAndCatchException","internalGet","receiver","parent","undefined","internalSet","existingDesc","ConvertExceptionToBoolean","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","Date","dateToString","shimmedDateToString","valueOf","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","match","toLowerCase"],"mappings":"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"} \ No newline at end of file diff --git a/es6-shim.min.js b/es6-shim.min.js index b8619d5e..c4ec2ab2 100644 --- a/es6-shim.min.js +++ b/es6-shim.min.js @@ -7,7 +7,7 @@ * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ -(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=function Lt(e){return function t(){return!e.apply(this,arguments)}};var t=function(e){try{e();return false}catch(t){return true}};var r=function zt(e){try{return e()}catch(t){return false}};var n=e(t);var o=function(e,t){if(!Object.setPrototypeOf){return false}return r(function(){var r=function n(t){var r=new e(t);Object.setPrototypeOf(r,n.prototype);return r};r.prototype=E(e.prototype,{constructor:{value:e}});return t(r)})};var i=function(){return!t(function(){Object.defineProperty({},"x",{})})};var a=function(){return String.prototype.startsWith&&t(function(){"/a/".startsWith(/a/)})};var u=function(){return String.prototype.startsWith&&"abc".startsWith("a",Infinity)===false}();var s=new Function("return this;");var f=s();var c=f.isFinite;var l=!!Object.defineProperty&&i();var p=function(){return this===null}.call(null);var v=a()&&u;var h=Function.call.bind(String.prototype.indexOf);var y=Function.call.bind(Object.prototype.toString);var b=Function.call.bind(Object.prototype.hasOwnProperty);var g;var d=function(){};var m=f.Symbol||{};var O=m.species||"@@species";var w={object:function(e){return e!==null&&typeof e==="object"},string:function(e){return y(e)==="[object String]"},regex:function(e){return y(e)==="[object RegExp]"},symbol:function(e){return typeof f.Symbol==="function"&&typeof e==="symbol"}};var j=Number.isNaN||function Dt(e){return e!==e};var S=Number.isFinite||function Ft(e){return typeof e==="number"&&c(e)};var T=function(e,t,r,n){if(!n&&t in e){return}if(l){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var M={getter:function(e,t,r){if(!l){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!l){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function o(){return e[t]},set:function i(r){e[t]=r}})},redefine:function(e,t,r){if(l){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},preserveToString:function(e,t){T(e,"toString",t.toString.bind(t),true)}};var I=function(e,t){Object.keys(t).forEach(function(r){var n=t[r];T(e,r,n,false)})};var E=Object.create||function(e,t){function r(){}r.prototype=e;var n=new r;if(typeof t!=="undefined"){I(n,t)}return n};var x=w.symbol(m.iterator)?m.iterator:"_es6-shim iterator_";if(f.Set&&typeof(new f.Set)["@@iterator"]==="function"){x="@@iterator"}var P=function(e,t){if(!t){t=function n(){return this}}var r={};r[x]=t;I(e,r);if(!e[x]&&w.symbol(x)){e[x]=t}};var _=function qt(e){var t=y(e);var r=t==="[object Arguments]";if(!r){r=t!=="[object Array]"&&e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&y(e.callee)==="[object Function]"}return r};var N=Function.call.bind(Function.apply);var C={Call:function Gt(e,t){var r=arguments.length>2?arguments[2]:[];if(!C.IsCallable(e)){throw new TypeError(e+" is not a function")}return N(e,t,r)},RequireObjectCoercible:function(e,t){if(e==null){throw new TypeError(t||"Cannot call method on "+e)}},TypeIsObject:function(e){return e!=null&&Object(e)===e},ToObject:function(e,t){C.RequireObjectCoercible(e,t);return Object(e)},IsCallable:function(e){return typeof e==="function"&&y(e)==="[object Function]"},ToInt32:function(e){return C.ToNumber(e)>>0},ToUint32:function(e){return C.ToNumber(e)>>>0},ToNumber:function(e){if(y(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=C.ToNumber(e);if(j(t)){return 0}if(t===0||!S(t)){return t}return(t>0?1:-1)*Math.floor(Math.abs(t))},ToLength:function(e){var t=C.ToInteger(e);if(t<=0){return 0}if(t>Number.MAX_SAFE_INTEGER){return Number.MAX_SAFE_INTEGER}return t},SameValue:function(e,t){if(e===t){if(e===0){return 1/e===1/t}return true}return j(e)&&j(t)},SameValueZero:function(e,t){return e===t||j(e)&&j(t)},IsIterable:function(e){return C.TypeIsObject(e)&&(typeof e[x]!=="undefined"||_(e))},GetIterator:function(e){if(_(e)){return new g(e,"value")}var t=e[x];if(!C.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=t.call(e);if(!C.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!C.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},Construct:function(e,t){var r;if(C.IsCallable(e[O])){r=e[O]()}else{r=E(e.prototype||null)}I(r,{_es6construct:true});var n=C.Call(e,r,t);return C.TypeIsObject(n)?n:r},CreateHTML:function(e,t,r,n){var o=String(e);var i="<"+t;if(r!==""){var a=String(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var s=i+">";var f=s+o;return f+""}};var k=function(e){if(!C.TypeIsObject(e)){throw new TypeError("bad object")}if(!e._es6construct){if(e.constructor&&C.IsCallable(e.constructor[O])){e=e.constructor[O](e)}I(e,{_es6construct:true})}return e};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var A=Function.apply.bind(String.fromCodePoint);T(String,"fromCodePoint",function Ht(e){return A(this,arguments)},true)}var R={fromCodePoint:function Wt(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){t.push(String.fromCharCode(r))}else{r-=65536;t.push(String.fromCharCode((r>>10)+55296));t.push(String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function Vt(e){var t=C.ToObject(e,"bad callSite");var r=C.ToObject(t.raw,"bad raw value");var n=r.length;var o=C.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,s,f,c;while(a=o){break}s=a+1=D){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return z(t,e)},startsWith:function Xt(e){C.RequireObjectCoercible(this);var t=String(this);if(w.regex(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}e=String(e);var r=arguments.length>1?arguments[1]:void 0;var n=Math.max(C.ToInteger(r),0);return t.slice(n,n+e.length)===e},endsWith:function Zt(e){C.RequireObjectCoercible(this);var t=String(this);if(w.regex(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}e=String(e);var r=t.length;var n=arguments.length>1?arguments[1]:void 0;var o=typeof n==="undefined"?r:C.ToInteger(n);var i=Math.min(Math.max(o,0),r);return t.slice(i-e.length,i)===e},includes:function Kt(e){var t=arguments.length>1?arguments[1]:void 0;return h(this,e,t)!==-1},codePointAt:function Bt(e){C.RequireObjectCoercible(this);var t=String(this);var r=C.ToInteger(e);var n=t.length;if(r>=0&&r56319||i){return o}var a=t.charCodeAt(r+1);if(a<56320||a>57343){return o}return(o-55296)*1024+(a-56320)+65536}}};I(String.prototype,F);if("a".includes("a",Infinity)!==false){var q=String.prototype.includes;T(String.prototype,"includes",F.includes,true);M.preserveToString(String.prototype.includes,q)}var G="\x85".trim().length!==1;if(G){delete String.prototype.trim;var H=[" \n \f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var W=new RegExp("(^["+H+"]+)|(["+H+"]+$)","g");I(String.prototype,{trim:function Jt(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return String(this).replace(W,"")}})}var V=function(e){C.RequireObjectCoercible(e);this._s=String(e);this._i=0};V.prototype.next=function(){var e=this._s,t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return{value:void 0,done:true}}var r=e.charCodeAt(t),n,o;if(r<55296||r>56319||t+1===e.length){o=1}else{n=e.charCodeAt(t+1);o=n<56320||n>57343?1:2}this._i=t+o;return{value:e.substr(t,o),done:false}};P(V.prototype);P(String.prototype,function(){return new V(this)});if(!v){T(String.prototype,"startsWith",F.startsWith,true);T(String.prototype,"endsWith",F.endsWith,true)}var $={from:function Qt(e){var t=arguments.length>1?arguments[1]:void 0;var r=C.ToObject(e,"bad iterable");if(typeof t!=="undefined"&&!C.IsCallable(t)){throw new TypeError("Array.from: when provided, the second argument must be a function")}var n=arguments.length>2;var o=n?arguments[2]:void 0;var i=C.IsIterable(r);var a;var u,s,f;if(i){s=0;u=C.IsCallable(this)?Object(new this):[];var c=i?C.GetIterator(r):null;var l;do{l=C.IteratorNext(c);if(!l.done){f=l.value;if(t){u[s]=n?t.call(o,f,s):t(f,s)}else{u[s]=f}s+=1}}while(!l.done);a=s}else{a=C.ToLength(r.length);u=C.IsCallable(this)?Object(new this(a)):new Array(a);for(s=0;s0){e=t.shift();if(!(e in this.object)){continue}if(this.kind==="key"){return U(e)}else if(this.kind==="value"){return U(this.object[e])}else{return U([e,this.object[e]])}}return U()}});P(X.prototype);var K=function(){var e=function r(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&t.length===2}();if(!K){var B=Array.of;T(Array,"of",$.of,true);M.preserveToString(Array.of,B)}var J={copyWithin:function er(e,t){var r=arguments[2];var n=C.ToObject(this);var o=C.ToLength(n.length);e=C.ToInteger(e);t=C.ToInteger(t);var i=e<0?Math.max(o+e,0):Math.min(e,o);var a=t<0?Math.max(o+t,0):Math.min(t,o);r=typeof r==="undefined"?o:C.ToInteger(r);var u=r<0?Math.max(o+r,0):Math.min(r,o);var s=Math.min(u-a,o-i);var f=1;if(a0){if(b(n,a)){n[i]=n[a]}else{delete n[a]}a+=f;i+=f;s-=1}return n},fill:function tr(e){var t=arguments.length>1?arguments[1]:void 0;var r=arguments.length>2?arguments[2]:void 0;var n=C.ToObject(this);var o=C.ToLength(n.length);t=C.ToInteger(typeof t==="undefined"?0:t);r=C.ToInteger(typeof r==="undefined"?o:r);var i=t<0?Math.max(o+t,0):Math.min(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var o=0,i;o1?arguments[1]:null;for(var o=0;o1){return NaN}if(e===-1){return-Infinity}if(e===1){return Infinity}if(e===0){return e}return.5*Math.log((1+e)/(1-e))},cbrt:function Er(e){e=Number(e);if(e===0){return e}var t=e<0,r;if(t){e=-e}r=Math.pow(e,1/3);return t?-r:r},clz32:function xr(e){e=Number(e);var t=C.ToUint32(e);if(t===0){return 32}return 31-Math.floor(Math.log(t+.5)*Math.LOG2E)},cosh:function Pr(e){e=Number(e);if(e===0){return 1}if(Number.isNaN(e)){return NaN}if(!c(e)){return Infinity}if(e<0){e=-e}if(e>21){return Math.exp(e)/2}return(Math.exp(e)+Math.exp(-e))/2},expm1:function _r(e){var t=Number(e);if(t===-Infinity){return-1}if(!c(t)||e===0){return t}if(Math.abs(t)>.5){return Math.exp(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function Nr(e,t){var r=false;var n=true;var o=false;var i=[];Array.prototype.every.call(arguments,function(e){var t=Number(e);if(Number.isNaN(t)){r=true}else if(t===Infinity||t===-Infinity){o=true}else if(t!==0){n=false}if(o){return false}else if(!r){i.push(Math.abs(t))}return true});if(o){return Infinity}if(r){return NaN}if(n){return 0}var a=Math.max.apply(Math,i);var u=i.map(function(e){return e/a});var s=u.map(Ce).reduce(ke);return a*Math.sqrt(s)},log2:function Cr(e){return Math.log(e)*Math.LOG2E},log10:function kr(e){return Math.log(e)*Math.LOG10E},log1p:function Ar(e){var t=Number(e);if(t<-1||Number.isNaN(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(Math.log(1+t)/(1+t-1))},sign:function Rr(e){var t=+e;if(t===0){return t}if(Number.isNaN(t)){return t}return t<0?-1:1},sinh:function Lr(e){var t=Number(e);if(!c(e)||e===0){return e}if(Math.abs(t)<1){return(Math.expm1(t)-Math.expm1(-t))/2}return(Math.exp(t-1)-Math.exp(-t-1))*Math.E/2},tanh:function zr(e){var t=Number(e);if(Number.isNaN(e)||t===0){return t}if(t===Infinity){return 1}if(t===-Infinity){return-1}var r=Math.expm1(t);var n=Math.expm1(-t);if(r===Infinity){return 1}if(n===Infinity){return-1}return(r-n)/(Math.exp(t)+Math.exp(-t))},trunc:function Dr(e){var t=Number(e);return t<0?-Math.floor(-t):Math.floor(t)},imul:function Fr(e,t){e=C.ToUint32(e);t=C.ToUint32(t);var r=e>>>16&65535;var n=e&65535;var o=t>>>16&65535;var i=t&65535;return n*i+(r*i+n*o<<16>>>0)|0},fround:function qr(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||j(t)){return t}var r=Math.sign(t);var n=Math.abs(t);if(nze||j(i)){return r*Infinity}return r*i}};I(Math,Fe);T(Math,"log1p",Fe.log1p,Math.log1p(-1e-17)!==-1e-17);T(Math,"asinh",Fe.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));T(Math,"tanh",Fe.tanh,Math.tanh(-2e-17)!==-2e-17);T(Math,"acosh",Fe.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);T(Math,"sinh",Fe.sinh,Math.sinh(-2e-17)!==-2e-17);var qe=Math.expm1(10);T(Math,"expm1",Fe.expm1,qe>22025.465794806718||qe<22025.465794806718);var Ge=Math.round;var He=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var We=Ae+1;var Ve=2*Ae-1;var $e=[We,Ve].every(function(e){return Math.round(e)===e});T(Math,"round",function Gr(e){var t=Math.floor(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!He||!$e);M.preserveToString(Math.round,Ge);var Ue=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=Fe.imul;M.preserveToString(Math.imul,Ue)}if(Math.imul.length!==2){T(Math,"imul",function Hr(e,t){return Ue.apply(Math,arguments)},true);M.preserveToString(Math.imul,Ue)}var Xe=function(){var e,t;C.IsPromise=function(e){if(!C.TypeIsObject(e)){return false}if(!e._promiseConstructor){return false}if(typeof e._status==="undefined"){return false}return true};var r=function(e){if(!C.IsCallable(e)){throw new TypeError("bad promise constructor")}var t=this;var r=function(e,r){t.resolve=e;t.reject=r};t.promise=C.Construct(e,[r]);if(!t.promise._es6construct){throw new TypeError("bad promise constructor")}if(!(C.IsCallable(t.resolve)&&C.IsCallable(t.reject))){throw new TypeError("bad promise constructor")}};var n=f.setTimeout;var o;if(typeof window!=="undefined"&&C.IsCallable(window.postMessage)){o=function(){var e=[];var t="zero-timeout-message";var r=function(r){e.push(r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=e.shift();n()}};window.addEventListener("message",n,true);return r}}var i=function(){var e=f.Promise;return e&&e.resolve&&function(t){return e.resolve().then(t)}};var a=C.IsCallable(f.setImmediate)?f.setImmediate.bind(f):typeof process==="object"&&process.nextTick?process.nextTick:i()||(C.IsCallable(o)?o():function(e){n(e,0)});var u=function(e,t){if(!C.TypeIsObject(e)){return false}var r=t.resolve;var n=t.reject;try{var o=e.then;if(!C.IsCallable(o)){return false}o.call(e,r,n)}catch(i){n(i)}return true};var s=function(e,t){e.forEach(function(e){a(function(){var r=e.handler;var n=e.capability;var o=n.resolve;var i=n.reject;try{var a=r(t);if(a===n.promise){throw new TypeError("self resolution")}var s=u(a,n);if(!s){o(a)}}catch(f){i(f)}})})};var c=function(e,t,n){return function(o){if(o===e){return n(new TypeError("self resolution"))}var i=e._promiseConstructor;var a=new r(i);var s=u(o,a);if(s){return a.promise.then(t,n)}else{return t(o)}}};e=function(e){var t=this;t=k(t);if(!t._promiseConstructor){throw new TypeError("bad promise")}if(typeof t._status!=="undefined"){throw new TypeError("promise already initialized")}if(!C.IsCallable(e)){throw new TypeError("not a valid resolver")}t._status="unresolved";t._resolveReactions=[];t._rejectReactions=[];var r=function(e){if(t._status!=="unresolved"){return}var r=t._resolveReactions;t._result=e;t._resolveReactions=void 0;t._rejectReactions=void 0;t._status="has-resolution";s(r,e)};var n=function(e){if(t._status!=="unresolved"){return}var r=t._rejectReactions;t._result=e;t._resolveReactions=void 0;t._rejectReactions=void 0;t._status="has-rejection";s(r,e)};try{e(r,n)}catch(o){n(o)}return t};t=e.prototype;var l=function(e,t,r,n){var o=false;return function(i){if(o){return}o=true;t[e]=i;if(--n.count===0){var a=r.resolve;a(t)}}};T(e,O,function(e){var r=this;var n=r.prototype||t;e=e||E(n);I(e,{_status:void 0,_result:void 0,_resolveReactions:void 0,_rejectReactions:void 0,_promiseConstructor:void 0});e._promiseConstructor=r;return e});I(e,{all:function p(e){var t=this;var n=new r(t);var o=n.resolve;var i=n.reject;try{if(!C.IsIterable(e)){throw new TypeError("bad iterable")}var a=C.GetIterator(e);var u=[],s={count:1};for(var f=0;;f++){var c=C.IteratorNext(a);if(c.done){break}var p=t.resolve(c.value);var v=l(f,u,n,s);s.count++;p.then(v,n.reject)}if(--s.count===0){o(u)}}catch(h){i(h)}return n.promise},race:function v(e){var t=this;var n=new r(t);var o=n.resolve;var i=n.reject;try{if(!C.IsIterable(e)){throw new TypeError("bad iterable")}var a=C.GetIterator(e);while(true){var u=C.IteratorNext(a);if(u.done){break}var s=t.resolve(u.value);s.then(o,i)}}catch(f){i(f)}return n.promise},reject:function h(e){var t=this;var n=new r(t);var o=n.reject;o(e);return n.promise},resolve:function y(e){var t=this;if(C.IsPromise(e)){var n=e._promiseConstructor;if(n===t){return e}}var o=new r(t);var i=o.resolve;i(e);return o.promise}});I(t,{"catch":function(e){return this.then(void 0,e)},then:function b(e,t){var n=this;if(!C.IsPromise(n)){throw new TypeError("not a promise")}var o=this.constructor;var i=new r(o);if(!C.IsCallable(t)){t=function(e){throw e}}if(!C.IsCallable(e)){e=function(e){return e}}var a=c(n,e,t);var u={capability:i,handler:a};var f={capability:i,handler:t};switch(n._status){case"unresolved":n._resolveReactions.push(u);n._rejectReactions.push(f);break;case"has-resolution":s([u],n._result);break;case"has-rejection":s([f],n._result);break;default:throw new TypeError("unexpected")}return i.promise}});return e}();if(f.Promise){delete f.Promise.accept;delete f.Promise.defer;delete f.Promise.prototype.chain}I(f,{Promise:Xe});var Ze=o(f.Promise,function(e){return e.resolve(42)instanceof e});var Ke=!t(function(){f.Promise.reject(42).then(null,5).then(null,d)});var Be=t(function(){f.Promise.call(3,d)});if(!Ze||!Ke||!Be){Promise=Xe;T(f,"Promise",Xe,true)}var Je=function(e){var t=Object.keys(e.reduce(function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Qe=Je(["z","a","bb"]);var Ye=Je(["z",1,"a","3",2]);if(l){var et=function Wr(e){if(!Qe){return null}var t=typeof e;if(t==="string"){return"$"+e}else if(t==="number"){if(!Ye){return"n"+e}return e}return null};var tt=function Vr(){return Object.create?Object.create(null):{}};var rt={Map:function(){var e={};function t(e,t){this.key=e;this.value=t;this.next=null;this.prev=null}t.prototype.isRemoved=function(){return this.key===e};function r(e,t){this.head=e._head;this.i=this.head;this.kind=t}r.prototype={next:function(){var e=this.i,t=this.kind,r=this.head,n;if(typeof this.i==="undefined"){return{value:void 0,done:true}}while(e.isRemoved()&&e!==r){e=e.prev}while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return{value:n,done:false}}}this.i=void 0;return{value:void 0,done:true}}};P(r.prototype);function n(e){var r=this;if(!C.TypeIsObject(r)){throw new TypeError("Constructor Map requires 'new'")}r=k(r);if(!r._es6map){throw new TypeError("bad map")}var n=new t(null,null);n.next=n.prev=n;I(r,{_head:n,_storage:tt(),_size:0});if(typeof e!=="undefined"&&e!==null){var o=C.GetIterator(e);var i=r.set;if(!C.IsCallable(i)){throw new TypeError("bad map")}while(true){var a=C.IteratorNext(o);if(a.done){break}var u=a.value;if(!C.TypeIsObject(u)){throw new TypeError("expected iterable of pairs")}i.call(r,u[0],u[1])}}return r}var o=n.prototype;T(n,O,function(e){var t=this;var r=t.prototype||o;e=e||E(r);I(e,{_es6map:true});return e});M.getter(n.prototype,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});I(n.prototype,{get:function(e){var t=et(e);if(t!==null){var r=this._storage[t];if(r){return r.value}else{return}}var n=this._head,o=n;while((o=o.next)!==n){if(C.SameValueZero(o.key,e)){return o.value}}},has:function(e){var t=et(e);if(t!==null){return typeof this._storage[t]!=="undefined"}var r=this._head,n=r;while((n=n.next)!==r){if(C.SameValueZero(n.key,e)){return true}}return false},set:function(e,r){var n=this._head,o=n,i;var a=et(e);if(a!==null){if(typeof this._storage[a]!=="undefined"){this._storage[a].value=r;return this}else{i=this._storage[a]=new t(e,r);o=n.prev}}while((o=o.next)!==n){if(C.SameValueZero(o.key,e)){o.value=r;return this}}i=i||new t(e,r);if(C.SameValue(-0,e)){i.key=+0}i.next=this._head;i.prev=this._head.prev;i.prev.next=i;i.next.prev=i;this._size+=1;return this},"delete":function(t){var r=this._head,n=r;var o=et(t);if(o!==null){if(typeof this._storage[o]==="undefined"){return false}n=this._storage[o].prev;delete this._storage[o]}while((n=n.next)!==r){if(C.SameValueZero(n.key,t)){n.key=n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function i(){this._size=0;this._storage=tt();var t=this._head,r=t,n=r.next;while((r=n)!==t){r.key=r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function a(){return new r(this,"key")},values:function u(){return new r(this,"value")},entries:function s(){return new r(this,"key+value")},forEach:function f(e){var t=arguments.length>1?arguments[1]:null;var r=this.entries();for(var n=r.next();!n.done;n=r.next()){if(t){e.call(t,n.value[1],n.value[0],this)}else{e(n.value[1],n.value[0],this)}}}});P(n.prototype,function(){return this.entries()});return n}(),Set:function(){var e=function n(e){var t=this;if(!C.TypeIsObject(t)){throw new TypeError("Constructor Set requires 'new'")}t=k(t);if(!t._es6set){throw new TypeError("bad set")}I(t,{"[[SetData]]":null,_storage:tt()});if(typeof e!=="undefined"&&e!==null){var r=C.GetIterator(e);var n=t.add;if(!C.IsCallable(n)){throw new TypeError("bad set")}while(true){var o=C.IteratorNext(r);if(o.done){break}var i=o.value;n.call(t,i)}}return t};var t=e.prototype;T(e,O,function(e){var r=this;var n=r.prototype||t;e=e||E(n);I(e,{_es6set:true});return e});var r=function o(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new rt.Map;Object.keys(e._storage).forEach(function(e){if(e.charCodeAt(0)===36){e=e.slice(1)}else if(e.charAt(0)==="n"){e=+e.slice(1)}else{e=+e}t.set(e,e)});e._storage=null}};M.getter(e.prototype,"size",function(){if(typeof this._storage==="undefined"){throw new TypeError("size method called on incompatible Set")}r(this);return this["[[SetData]]"].size});I(e.prototype,{has:function(e){var t;if(this._storage&&(t=et(e))!==null){return!!this._storage[t]; +(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=function zt(e){return function t(){return!e.apply(this,arguments)}};var t=function(e){try{e();return false}catch(t){return true}};var r=function Dt(e){try{return e()}catch(t){return false}};var n=e(t);var o=function(e,t){if(!Object.setPrototypeOf){return false}return r(function(){var r=function n(t){var r=new e(t);Object.setPrototypeOf(r,n.prototype);return r};r.prototype=E(e.prototype,{constructor:{value:e}});return t(r)})};var i=function(){return!t(function(){Object.defineProperty({},"x",{})})};var a=function(){return String.prototype.startsWith&&t(function(){"/a/".startsWith(/a/)})};var u=function(){return String.prototype.startsWith&&"abc".startsWith("a",Infinity)===false}();var s=new Function("return this;");var f=s();var c=f.isFinite;var l=!!Object.defineProperty&&i();var p=function(){return this===null}.call(null);var v=a()&&u;var h=Function.call.bind(String.prototype.indexOf);var y=Function.call.bind(Object.prototype.toString);var b=Function.call.bind(Object.prototype.hasOwnProperty);var g;var d=function(){};var m=f.Symbol||{};var O=m.species||"@@species";var w={object:function(e){return e!==null&&typeof e==="object"},string:function(e){return y(e)==="[object String]"},regex:function(e){return y(e)==="[object RegExp]"},symbol:function(e){return typeof f.Symbol==="function"&&typeof e==="symbol"}};var j=Number.isNaN||function Ft(e){return e!==e};var S=Number.isFinite||function qt(e){return typeof e==="number"&&c(e)};var T=function(e,t,r,n){if(!n&&t in e){return}if(l){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var M={getter:function(e,t,r){if(!l){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!l){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function o(){return e[t]},set:function i(r){e[t]=r}})},redefine:function(e,t,r){if(l){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},preserveToString:function(e,t){T(e,"toString",t.toString.bind(t),true)}};var I=function(e,t){Object.keys(t).forEach(function(r){var n=t[r];T(e,r,n,false)})};var E=Object.create||function(e,t){function r(){}r.prototype=e;var n=new r;if(typeof t!=="undefined"){I(n,t)}return n};var x=w.symbol(m.iterator)?m.iterator:"_es6-shim iterator_";if(f.Set&&typeof(new f.Set)["@@iterator"]==="function"){x="@@iterator"}var P=function(e,t){if(!t){t=function n(){return this}}var r={};r[x]=t;I(e,r);if(!e[x]&&w.symbol(x)){e[x]=t}};var _=function Gt(e){var t=y(e);var r=t==="[object Arguments]";if(!r){r=t!=="[object Array]"&&e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&y(e.callee)==="[object Function]"}return r};var N=Function.call.bind(Function.apply);var C={Call:function Ht(e,t){var r=arguments.length>2?arguments[2]:[];if(!C.IsCallable(e)){throw new TypeError(e+" is not a function")}return N(e,t,r)},RequireObjectCoercible:function(e,t){if(e==null){throw new TypeError(t||"Cannot call method on "+e)}},TypeIsObject:function(e){return e!=null&&Object(e)===e},ToObject:function(e,t){C.RequireObjectCoercible(e,t);return Object(e)},IsCallable:function(e){return typeof e==="function"&&y(e)==="[object Function]"},ToInt32:function(e){return C.ToNumber(e)>>0},ToUint32:function(e){return C.ToNumber(e)>>>0},ToNumber:function(e){if(y(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=C.ToNumber(e);if(j(t)){return 0}if(t===0||!S(t)){return t}return(t>0?1:-1)*Math.floor(Math.abs(t))},ToLength:function(e){var t=C.ToInteger(e);if(t<=0){return 0}if(t>Number.MAX_SAFE_INTEGER){return Number.MAX_SAFE_INTEGER}return t},SameValue:function(e,t){if(e===t){if(e===0){return 1/e===1/t}return true}return j(e)&&j(t)},SameValueZero:function(e,t){return e===t||j(e)&&j(t)},IsIterable:function(e){return C.TypeIsObject(e)&&(typeof e[x]!=="undefined"||_(e))},GetIterator:function(e){if(_(e)){return new g(e,"value")}var t=e[x];if(!C.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=t.call(e);if(!C.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!C.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},Construct:function(e,t){var r;if(C.IsCallable(e[O])){r=e[O]()}else{r=E(e.prototype||null)}I(r,{_es6construct:true});var n=C.Call(e,r,t);return C.TypeIsObject(n)?n:r},CreateHTML:function(e,t,r,n){var o=String(e);var i="<"+t;if(r!==""){var a=String(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var s=i+">";var f=s+o;return f+""}};var k=function(e){if(!C.TypeIsObject(e)){throw new TypeError("bad object")}if(!e._es6construct){if(e.constructor&&C.IsCallable(e.constructor[O])){e=e.constructor[O](e)}I(e,{_es6construct:true})}return e};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var A=Function.apply.bind(String.fromCodePoint);T(String,"fromCodePoint",function Wt(e){return A(this,arguments)},true)}var R={fromCodePoint:function Vt(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){t.push(String.fromCharCode(r))}else{r-=65536;t.push(String.fromCharCode((r>>10)+55296));t.push(String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function $t(e){var t=C.ToObject(e,"bad callSite");var r=C.ToObject(t.raw,"bad raw value");var n=r.length;var o=C.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,s,f,c;while(a=o){break}s=a+1=D){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return z(t,e)},startsWith:function Zt(e){C.RequireObjectCoercible(this);var t=String(this);if(w.regex(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}e=String(e);var r=arguments.length>1?arguments[1]:void 0;var n=Math.max(C.ToInteger(r),0);return t.slice(n,n+e.length)===e},endsWith:function Kt(e){C.RequireObjectCoercible(this);var t=String(this);if(w.regex(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}e=String(e);var r=t.length;var n=arguments.length>1?arguments[1]:void 0;var o=typeof n==="undefined"?r:C.ToInteger(n);var i=Math.min(Math.max(o,0),r);return t.slice(i-e.length,i)===e},includes:function Bt(e){var t=arguments.length>1?arguments[1]:void 0;return h(this,e,t)!==-1},codePointAt:function Jt(e){C.RequireObjectCoercible(this);var t=String(this);var r=C.ToInteger(e);var n=t.length;if(r>=0&&r56319||i){return o}var a=t.charCodeAt(r+1);if(a<56320||a>57343){return o}return(o-55296)*1024+(a-56320)+65536}}};I(String.prototype,F);if("a".includes("a",Infinity)!==false){var q=String.prototype.includes;T(String.prototype,"includes",F.includes,true);M.preserveToString(String.prototype.includes,q)}var G="\x85".trim().length!==1;if(G){delete String.prototype.trim;var H=[" \n \f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var W=new RegExp("(^["+H+"]+)|(["+H+"]+$)","g");I(String.prototype,{trim:function Qt(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return String(this).replace(W,"")}})}var V=function(e){C.RequireObjectCoercible(e);this._s=String(e);this._i=0};V.prototype.next=function(){var e=this._s,t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return{value:void 0,done:true}}var r=e.charCodeAt(t),n,o;if(r<55296||r>56319||t+1===e.length){o=1}else{n=e.charCodeAt(t+1);o=n<56320||n>57343?1:2}this._i=t+o;return{value:e.substr(t,o),done:false}};P(V.prototype);P(String.prototype,function(){return new V(this)});if(!v){T(String.prototype,"startsWith",F.startsWith,true);T(String.prototype,"endsWith",F.endsWith,true)}var $={from:function Yt(e){var t=arguments.length>1?arguments[1]:void 0;var r=C.ToObject(e,"bad iterable");if(typeof t!=="undefined"&&!C.IsCallable(t)){throw new TypeError("Array.from: when provided, the second argument must be a function")}var n=arguments.length>2;var o=n?arguments[2]:void 0;var i=C.IsIterable(r);var a;var u,s,f;if(i){s=0;u=C.IsCallable(this)?Object(new this):[];var c=i?C.GetIterator(r):null;var l;do{l=C.IteratorNext(c);if(!l.done){f=l.value;if(t){u[s]=n?t.call(o,f,s):t(f,s)}else{u[s]=f}s+=1}}while(!l.done);a=s}else{a=C.ToLength(r.length);u=C.IsCallable(this)?Object(new this(a)):new Array(a);for(s=0;s0){e=t.shift();if(!(e in this.object)){continue}if(this.kind==="key"){return U(e)}else if(this.kind==="value"){return U(this.object[e])}else{return U([e,this.object[e]])}}return U()}});P(X.prototype);var K=function(){var e=function r(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&t.length===2}();if(!K){var B=Array.of;T(Array,"of",$.of,true);M.preserveToString(Array.of,B)}var J={copyWithin:function tr(e,t){var r=arguments[2];var n=C.ToObject(this);var o=C.ToLength(n.length);e=C.ToInteger(e);t=C.ToInteger(t);var i=e<0?Math.max(o+e,0):Math.min(e,o);var a=t<0?Math.max(o+t,0):Math.min(t,o);r=typeof r==="undefined"?o:C.ToInteger(r);var u=r<0?Math.max(o+r,0):Math.min(r,o);var s=Math.min(u-a,o-i);var f=1;if(a0){if(b(n,a)){n[i]=n[a]}else{delete n[a]}a+=f;i+=f;s-=1}return n},fill:function rr(e){var t=arguments.length>1?arguments[1]:void 0;var r=arguments.length>2?arguments[2]:void 0;var n=C.ToObject(this);var o=C.ToLength(n.length);t=C.ToInteger(typeof t==="undefined"?0:t);r=C.ToInteger(typeof r==="undefined"?o:r);var i=t<0?Math.max(o+t,0):Math.min(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var o=0,i;o1?arguments[1]:null;for(var o=0;o1){return NaN}if(e===-1){return-Infinity}if(e===1){return Infinity}if(e===0){return e}return.5*Math.log((1+e)/(1-e))},cbrt:function xr(e){e=Number(e);if(e===0){return e}var t=e<0,r;if(t){e=-e}r=Math.pow(e,1/3);return t?-r:r},clz32:function Pr(e){e=Number(e);var t=C.ToUint32(e);if(t===0){return 32}return 31-Math.floor(Math.log(t+.5)*Math.LOG2E)},cosh:function _r(e){e=Number(e);if(e===0){return 1}if(Number.isNaN(e)){return NaN}if(!c(e)){return Infinity}if(e<0){e=-e}if(e>21){return Math.exp(e)/2}return(Math.exp(e)+Math.exp(-e))/2},expm1:function Nr(e){var t=Number(e);if(t===-Infinity){return-1}if(!c(t)||e===0){return t}if(Math.abs(t)>.5){return Math.exp(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function Cr(e,t){var r=false;var n=true;var o=false;var i=[];Array.prototype.every.call(arguments,function(e){var t=Number(e);if(Number.isNaN(t)){r=true}else if(t===Infinity||t===-Infinity){o=true}else if(t!==0){n=false}if(o){return false}else if(!r){i.push(Math.abs(t))}return true});if(o){return Infinity}if(r){return NaN}if(n){return 0}var a=Math.max.apply(Math,i);var u=i.map(function(e){return e/a});var s=u.map(ke).reduce(Ae);return a*Math.sqrt(s)},log2:function kr(e){return Math.log(e)*Math.LOG2E},log10:function Ar(e){return Math.log(e)*Math.LOG10E},log1p:function Rr(e){var t=Number(e);if(t<-1||Number.isNaN(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(Math.log(1+t)/(1+t-1))},sign:function Lr(e){var t=+e;if(t===0){return t}if(Number.isNaN(t)){return t}return t<0?-1:1},sinh:function zr(e){var t=Number(e);if(!c(e)||e===0){return e}if(Math.abs(t)<1){return(Math.expm1(t)-Math.expm1(-t))/2}return(Math.exp(t-1)-Math.exp(-t-1))*Math.E/2},tanh:function Dr(e){var t=Number(e);if(Number.isNaN(e)||t===0){return t}if(t===Infinity){return 1}if(t===-Infinity){return-1}var r=Math.expm1(t);var n=Math.expm1(-t);if(r===Infinity){return 1}if(n===Infinity){return-1}return(r-n)/(Math.exp(t)+Math.exp(-t))},trunc:function Fr(e){var t=Number(e);return t<0?-Math.floor(-t):Math.floor(t)},imul:function qr(e,t){e=C.ToUint32(e);t=C.ToUint32(t);var r=e>>>16&65535;var n=e&65535;var o=t>>>16&65535;var i=t&65535;return n*i+(r*i+n*o<<16>>>0)|0},fround:function Gr(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||j(t)){return t}var r=Math.sign(t);var n=Math.abs(t);if(nDe||j(i)){return r*Infinity}return r*i}};I(Math,qe);T(Math,"log1p",qe.log1p,Math.log1p(-1e-17)!==-1e-17);T(Math,"asinh",qe.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));T(Math,"tanh",qe.tanh,Math.tanh(-2e-17)!==-2e-17);T(Math,"acosh",qe.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);T(Math,"sinh",qe.sinh,Math.sinh(-2e-17)!==-2e-17);var Ge=Math.expm1(10);T(Math,"expm1",qe.expm1,Ge>22025.465794806718||Ge<22025.465794806718);var He=Math.round;var We=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var Ve=Re+1;var $e=2*Re-1;var Ue=[Ve,$e].every(function(e){return Math.round(e)===e});T(Math,"round",function Hr(e){var t=Math.floor(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!We||!Ue);M.preserveToString(Math.round,He);var Xe=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=qe.imul;M.preserveToString(Math.imul,Xe)}if(Math.imul.length!==2){T(Math,"imul",function Wr(e,t){return Xe.apply(Math,arguments)},true);M.preserveToString(Math.imul,Xe)}var Ze=function(){var e,t;C.IsPromise=function(e){if(!C.TypeIsObject(e)){return false}if(!e._promiseConstructor){return false}if(typeof e._status==="undefined"){return false}return true};var r=function(e){if(!C.IsCallable(e)){throw new TypeError("bad promise constructor")}var t=this;var r=function(e,r){t.resolve=e;t.reject=r};t.promise=C.Construct(e,[r]);if(!t.promise._es6construct){throw new TypeError("bad promise constructor")}if(!(C.IsCallable(t.resolve)&&C.IsCallable(t.reject))){throw new TypeError("bad promise constructor")}};var n=f.setTimeout;var o;if(typeof window!=="undefined"&&C.IsCallable(window.postMessage)){o=function(){var e=[];var t="zero-timeout-message";var r=function(r){e.push(r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=e.shift();n()}};window.addEventListener("message",n,true);return r}}var i=function(){var e=f.Promise;return e&&e.resolve&&function(t){return e.resolve().then(t)}};var a=C.IsCallable(f.setImmediate)?f.setImmediate.bind(f):typeof process==="object"&&process.nextTick?process.nextTick:i()||(C.IsCallable(o)?o():function(e){n(e,0)});var u=function(e,t){if(!C.TypeIsObject(e)){return false}var r=t.resolve;var n=t.reject;try{var o=e.then;if(!C.IsCallable(o)){return false}o.call(e,r,n)}catch(i){n(i)}return true};var s=function(e,t){e.forEach(function(e){a(function(){var r=e.handler;var n=e.capability;var o=n.resolve;var i=n.reject;try{var a=r(t);if(a===n.promise){throw new TypeError("self resolution")}var s=u(a,n);if(!s){o(a)}}catch(f){i(f)}})})};var c=function(e,t,n){return function(o){if(o===e){return n(new TypeError("self resolution"))}var i=e._promiseConstructor;var a=new r(i);var s=u(o,a);if(s){return a.promise.then(t,n)}else{return t(o)}}};e=function(e){var t=this;t=k(t);if(!t._promiseConstructor){throw new TypeError("bad promise")}if(typeof t._status!=="undefined"){throw new TypeError("promise already initialized")}if(!C.IsCallable(e)){throw new TypeError("not a valid resolver")}t._status="unresolved";t._resolveReactions=[];t._rejectReactions=[];var r=function(e){if(t._status!=="unresolved"){return}var r=t._resolveReactions;t._result=e;t._resolveReactions=void 0;t._rejectReactions=void 0;t._status="has-resolution";s(r,e)};var n=function(e){if(t._status!=="unresolved"){return}var r=t._rejectReactions;t._result=e;t._resolveReactions=void 0;t._rejectReactions=void 0;t._status="has-rejection";s(r,e)};try{e(r,n)}catch(o){n(o)}return t};t=e.prototype;var l=function(e,t,r,n){var o=false;return function(i){if(o){return}o=true;t[e]=i;if(--n.count===0){var a=r.resolve;a(t)}}};T(e,O,function(e){var r=this;var n=r.prototype||t;e=e||E(n);I(e,{_status:void 0,_result:void 0,_resolveReactions:void 0,_rejectReactions:void 0,_promiseConstructor:void 0});e._promiseConstructor=r;return e});I(e,{all:function p(e){var t=this;var n=new r(t);var o=n.resolve;var i=n.reject;try{if(!C.IsIterable(e)){throw new TypeError("bad iterable")}var a=C.GetIterator(e);var u=[],s={count:1};for(var f=0;;f++){var c=C.IteratorNext(a);if(c.done){break}var p=t.resolve(c.value);var v=l(f,u,n,s);s.count++;p.then(v,n.reject)}if(--s.count===0){o(u)}}catch(h){i(h)}return n.promise},race:function v(e){var t=this;var n=new r(t);var o=n.resolve;var i=n.reject;try{if(!C.IsIterable(e)){throw new TypeError("bad iterable")}var a=C.GetIterator(e);while(true){var u=C.IteratorNext(a);if(u.done){break}var s=t.resolve(u.value);s.then(o,i)}}catch(f){i(f)}return n.promise},reject:function h(e){var t=this;var n=new r(t);var o=n.reject;o(e);return n.promise},resolve:function y(e){var t=this;if(C.IsPromise(e)){var n=e._promiseConstructor;if(n===t){return e}}var o=new r(t);var i=o.resolve;i(e);return o.promise}});I(t,{"catch":function(e){return this.then(void 0,e)},then:function b(e,t){var n=this;if(!C.IsPromise(n)){throw new TypeError("not a promise")}var o=this.constructor;var i=new r(o);if(!C.IsCallable(t)){t=function(e){throw e}}if(!C.IsCallable(e)){e=function(e){return e}}var a=c(n,e,t);var u={capability:i,handler:a};var f={capability:i,handler:t};switch(n._status){case"unresolved":n._resolveReactions.push(u);n._rejectReactions.push(f);break;case"has-resolution":s([u],n._result);break;case"has-rejection":s([f],n._result);break;default:throw new TypeError("unexpected")}return i.promise}});return e}();if(f.Promise){delete f.Promise.accept;delete f.Promise.defer;delete f.Promise.prototype.chain}I(f,{Promise:Ze});var Ke=o(f.Promise,function(e){return e.resolve(42)instanceof e});var Be=!t(function(){f.Promise.reject(42).then(null,5).then(null,d)});var Je=t(function(){f.Promise.call(3,d)});if(!Ke||!Be||!Je){Promise=Ze;T(f,"Promise",Ze,true)}var Qe=function(e){var t=Object.keys(e.reduce(function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Ye=Qe(["z","a","bb"]);var et=Qe(["z",1,"a","3",2]);if(l){var tt=function Vr(e){if(!Ye){return null}var t=typeof e;if(t==="string"){return"$"+e}else if(t==="number"){if(!et){return"n"+e}return e}return null};var rt=function $r(){return Object.create?Object.create(null):{}};var nt={Map:function(){var e={};function t(e,t){this.key=e;this.value=t;this.next=null;this.prev=null}t.prototype.isRemoved=function(){return this.key===e};function r(e,t){this.head=e._head;this.i=this.head;this.kind=t}r.prototype={next:function(){var e=this.i,t=this.kind,r=this.head,n;if(typeof this.i==="undefined"){return{value:void 0,done:true}}while(e.isRemoved()&&e!==r){e=e.prev}while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return{value:n,done:false}}}this.i=void 0;return{value:void 0,done:true}}};P(r.prototype);function n(e){var r=this;if(!C.TypeIsObject(r)){throw new TypeError("Constructor Map requires 'new'")}r=k(r);if(!r._es6map){throw new TypeError("bad map")}var n=new t(null,null);n.next=n.prev=n;I(r,{_head:n,_storage:rt(),_size:0});if(typeof e!=="undefined"&&e!==null){var o=C.GetIterator(e);var i=r.set;if(!C.IsCallable(i)){throw new TypeError("bad map")}while(true){var a=C.IteratorNext(o);if(a.done){break}var u=a.value;if(!C.TypeIsObject(u)){throw new TypeError("expected iterable of pairs")}i.call(r,u[0],u[1])}}return r}var o=n.prototype;T(n,O,function(e){var t=this;var r=t.prototype||o;e=e||E(r);I(e,{_es6map:true});return e});M.getter(n.prototype,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});I(n.prototype,{get:function(e){var t=tt(e);if(t!==null){var r=this._storage[t];if(r){return r.value}else{return}}var n=this._head,o=n;while((o=o.next)!==n){if(C.SameValueZero(o.key,e)){return o.value}}},has:function(e){var t=tt(e);if(t!==null){return typeof this._storage[t]!=="undefined"}var r=this._head,n=r;while((n=n.next)!==r){if(C.SameValueZero(n.key,e)){return true}}return false},set:function(e,r){var n=this._head,o=n,i;var a=tt(e);if(a!==null){if(typeof this._storage[a]!=="undefined"){this._storage[a].value=r;return this}else{i=this._storage[a]=new t(e,r);o=n.prev}}while((o=o.next)!==n){if(C.SameValueZero(o.key,e)){o.value=r;return this}}i=i||new t(e,r);if(C.SameValue(-0,e)){i.key=+0}i.next=this._head;i.prev=this._head.prev;i.prev.next=i;i.next.prev=i;this._size+=1;return this},"delete":function(t){var r=this._head,n=r;var o=tt(t);if(o!==null){if(typeof this._storage[o]==="undefined"){return false}n=this._storage[o].prev;delete this._storage[o]}while((n=n.next)!==r){if(C.SameValueZero(n.key,t)){n.key=n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function i(){this._size=0;this._storage=rt();var t=this._head,r=t,n=r.next;while((r=n)!==t){r.key=r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function a(){return new r(this,"key")},values:function u(){return new r(this,"value")},entries:function s(){return new r(this,"key+value")},forEach:function f(e){var t=arguments.length>1?arguments[1]:null;var r=this.entries();for(var n=r.next();!n.done;n=r.next()){if(t){e.call(t,n.value[1],n.value[0],this)}else{e(n.value[1],n.value[0],this)}}}});P(n.prototype,function(){return this.entries()});return n}(),Set:function(){var e=function n(e){var t=this;if(!C.TypeIsObject(t)){throw new TypeError("Constructor Set requires 'new'")}t=k(t);if(!t._es6set){throw new TypeError("bad set")}I(t,{"[[SetData]]":null,_storage:rt()});if(typeof e!=="undefined"&&e!==null){var r=C.GetIterator(e);var n=t.add;if(!C.IsCallable(n)){throw new TypeError("bad set")}while(true){var o=C.IteratorNext(r);if(o.done){break}var i=o.value;n.call(t,i)}}return t};var t=e.prototype;T(e,O,function(e){var r=this;var n=r.prototype||t;e=e||E(n);I(e,{_es6set:true});return e});var r=function o(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new nt.Map;Object.keys(e._storage).forEach(function(e){if(e.charCodeAt(0)===36){e=e.slice(1)}else if(e.charAt(0)==="n"){e=+e.slice(1)}else{e=+e}t.set(e,e)});e._storage=null}};M.getter(e.prototype,"size",function(){if(typeof this._storage==="undefined"){throw new TypeError("size method called on incompatible Set")}r(this);return this["[[SetData]]"].size; -}r(this);return this["[[SetData]]"].has(e)},add:function(e){var t;if(this._storage&&(t=et(e))!==null){this._storage[t]=true;return this}r(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){var t;if(this._storage&&(t=et(e))!==null){var n=b(this._storage,t);return delete this._storage[t]&&n}r(this);return this["[[SetData]]"]["delete"](e)},clear:function i(){if(this._storage){this._storage=tt()}else{this["[[SetData]]"].clear()}},values:function a(){r(this);return this["[[SetData]]"].values()},entries:function u(){r(this);return this["[[SetData]]"].entries()},forEach:function s(e){var t=arguments.length>1?arguments[1]:null;var n=this;r(n);this["[[SetData]]"].forEach(function(r,o){if(t){e.call(t,o,o,n)}else{e(o,o,n)}})}});T(e,"keys",e.values,true);P(e.prototype,function(){return this.values()});return e}()};I(f,rt);if(f.Map||f.Set){var nt=r(function(){return new Map([[1,2]]).get(1)===2});if(!nt){var ot=f.Map;f.Map=function $r(e){if(!(this instanceof $r)){throw new TypeError('Constructor Map requires "new"')}var t=new ot;if(Array.isArray(e)||w.string(e)){Array.prototype.forEach.call(e,function(e){t.set(e[0],e[1])})}else if(e instanceof $r){$r.prototype.forEach.call(e,function(e,r){t.set(r,e)})}Object.setPrototypeOf(t,f.Map.prototype);T(t,"constructor",$r,true);return t};f.Map.prototype=E(ot.prototype);M.preserveToString(f.Map,ot)}var it=new Map;var at=function(e){e["delete"](0);e["delete"](-0);e.set(0,3);e.get(-0,4);return e.get(0)===3&&e.get(-0)===4}(it);var ut=it.set(1,2)===it;if(!at||!ut){var st=Map.prototype.set;T(Map.prototype,"set",function Ur(e,t){st.call(this,e===0?0:e,t);return this},true);M.preserveToString(Map.prototype.set,st)}if(!at){var ft=Map.prototype.get;var ct=Map.prototype.has;I(Map.prototype,{get:function Xr(e){return ft.call(this,e===0?0:e)},has:function Zr(e){return ct.call(this,e===0?0:e)}},true);M.preserveToString(Map.prototype.get,ft);M.preserveToString(Map.prototype.has,ct)}var lt=new Set;var pt=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(lt);var vt=lt.add(1)===lt;if(!pt||!vt){var ht=Set.prototype.add;Set.prototype.add=function Kr(e){ht.call(this,e===0?0:e);return this};M.preserveToString(Set.prototype.add,ht)}if(!pt){var yt=Set.prototype.has;Set.prototype.has=function Br(e){return yt.call(this,e===0?0:e)};M.preserveToString(Set.prototype.has,yt);var bt=Set.prototype["delete"];Set.prototype["delete"]=function Jr(e){return bt.call(this,e===0?0:e)};M.preserveToString(Set.prototype["delete"],bt)}var gt=o(f.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var dt=Object.setPrototypeOf&&!gt;var mt=function(){try{return!(f.Map()instanceof f.Map)}catch(e){return e instanceof TypeError}}();if(f.Map.length!==1||dt||!mt){var Ot=f.Map;f.Map=function Qr(e){if(!(this instanceof Qr)){throw new TypeError('Constructor Map requires "new"')}var t=new Ot(e);Object.setPrototypeOf(t,Qr.prototype);T(t,"constructor",Qr,true);return t};f.Map.prototype=E(Ot.prototype);M.preserveToString(f.Map,Ot)}var wt=o(f.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var jt=Object.setPrototypeOf&&!wt;var St=function(){try{return!(f.Set()instanceof f.Set)}catch(e){return e instanceof TypeError}}();if(f.Set.length!==1||jt||!St){var Tt=f.Set;f.Set=function Yr(e){if(!(this instanceof Yr)){throw new TypeError('Constructor Set requires "new"')}var t=new Tt(e);Object.setPrototypeOf(t,Yr.prototype);T(t,"constructor",Yr,true);return t};f.Set.prototype=E(Tt.prototype);M.preserveToString(f.Set,Tt)}var Mt=!r(function(){return(new Map).keys().next().done});if(typeof f.Map.prototype.clear!=="function"||(new f.Set).size!==0||(new f.Map).size!==0||typeof f.Map.prototype.keys!=="function"||typeof f.Set.prototype.keys!=="function"||typeof f.Map.prototype.forEach!=="function"||typeof f.Set.prototype.forEach!=="function"||n(f.Map)||n(f.Set)||typeof(new f.Map).keys().next!=="function"||Mt||!gt){delete f.Map;delete f.Set;I(f,{Map:rt.Map,Set:rt.Set},true)}}if(f.Set.prototype.keys!==f.Set.prototype.values){T(f.Set.prototype,"keys",f.Set.prototype.values,true)}P(Object.getPrototypeOf((new f.Map).keys()));P(Object.getPrototypeOf((new f.Set).keys()))}if(!f.Reflect){T(f,"Reflect",{})}var It=f.Reflect;var Et=function en(e){if(!C.TypeIsObject(e)){throw new TypeError("target must be an object")}};I(f.Reflect,{apply:function tn(){return C.Call.apply(null,arguments)},construct:function rn(e,t){if(!C.IsCallable(e)){throw new TypeError("First argument must be callable.")}return C.Construct(e,t)},deleteProperty:function nn(e,t){Et(e);if(l){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},enumerate:function on(e){Et(e);return new X(e,"key")},has:function an(e,t){Et(e);return t in e}});if(Object.getOwnPropertyNames){I(f.Reflect,{ownKeys:function un(e){Et(e);var t=Object.getOwnPropertyNames(e);if(C.IsCallable(Object.getOwnPropertySymbols)){t.push.apply(t,Object.getOwnPropertySymbols(e))}return t}})}if(Object.preventExtensions){I(f.Reflect,{isExtensible:function sn(e){Et(e);return Object.isExtensible(e)},preventExtensions:function fn(e){Et(e);return _t(function(){Object.preventExtensions(e)})}})}if(l){var xt=function cn(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return undefined}return xt(o,t,r)}if("value"in n){return n.value}if(n.get){return n.get.call(r)}return undefined};var Pt=function ln(e,t,r,n){var o=Object.getOwnPropertyDescriptor(e,t);if(!o){var i=Object.getPrototypeOf(e);if(i!==null){return Pt(i,t,r,n)}o={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in o){if(!o.writable){return false}if(!C.TypeIsObject(n)){return false}var a=Object.getOwnPropertyDescriptor(n,t);if(a){return It.defineProperty(n,t,{value:r})}else{return It.defineProperty(n,t,{value:r,writable:true,enumerable:true,configurable:true})}}if(o.set){o.set.call(n,r);return true}return false};var _t=function pn(e){return!t(e)};I(f.Reflect,{defineProperty:function vn(e,t,r){Et(e);return _t(function(){Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function hn(e,t){Et(e);return Object.getOwnPropertyDescriptor(e,t)},get:function yn(e,t){Et(e);var r=arguments.length>2?arguments[2]:e;return xt(e,t,r)},set:function bn(e,t,r){Et(e);var n=arguments.length>3?arguments[3]:e;return Pt(e,t,r,n)}})}if(Object.getPrototypeOf){var Nt=Object.getPrototypeOf;I(f.Reflect,{getPrototypeOf:function gn(e){Et(e);return Nt(e)}})}if(Object.setPrototypeOf){var Ct=function(e,t){while(t){if(e===t){return true}t=It.getPrototypeOf(t)}return false};I(f.Reflect,{setPrototypeOf:function dn(e,t){Et(e);if(t!==null&&!C.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===It.getPrototypeOf(e)){return true}if(It.isExtensible&&!It.isExtensible(e)){return false}if(Ct(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}if(String(new Date(NaN))!=="Invalid Date"){var kt=Date.prototype.toString;var At=function mn(){var e=+this;if(e!==e){return"Invalid Date"}return kt.call(this)};T(At,"toString",kt.toString,true);T(Date.prototype,"toString",At,true)}var Rt={anchor:function On(e){return C.CreateHTML(this,"a","name",e)},big:function wn(){return C.CreateHTML(this,"big","","")},blink:function jn(){return C.CreateHTML(this,"blink","","")},bold:function Sn(){return C.CreateHTML(this,"b","","")},fixed:function Tn(){return C.CreateHTML(this,"tt","","")},fontcolor:function Mn(e){return C.CreateHTML(this,"font","color",e)},fontsize:function In(e){return C.CreateHTML(this,"font","size",e)},italics:function En(){return C.CreateHTML(this,"i","","")},link:function xn(e){return C.CreateHTML(this,"a","href",e)},small:function Pn(){return C.CreateHTML(this,"small","","")},strike:function _n(){return C.CreateHTML(this,"strike","","")},sub:function Nn(){return C.CreateHTML(this,"sub","","")},sup:function Cn(){return C.CreateHTML(this,"sup","","")}};I(String.prototype,Rt);Object.keys(Rt).forEach(function(e){var t=String.prototype[e];var r=false;if(C.IsCallable(t)){var n=t.call("",' " ');var o=[].concat(n.match(/"/g)).length;r=n!==n.toLowerCase()||o>2}else{r=true}if(r){T(String.prototype,e,Rt[e],true)}});return f}); +});I(e.prototype,{has:function(e){var t;if(this._storage&&(t=tt(e))!==null){return!!this._storage[t]}r(this);return this["[[SetData]]"].has(e)},add:function(e){var t;if(this._storage&&(t=tt(e))!==null){this._storage[t]=true;return this}r(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){var t;if(this._storage&&(t=tt(e))!==null){var n=b(this._storage,t);return delete this._storage[t]&&n}r(this);return this["[[SetData]]"]["delete"](e)},clear:function i(){if(this._storage){this._storage=rt()}else{this["[[SetData]]"].clear()}},values:function a(){r(this);return this["[[SetData]]"].values()},entries:function u(){r(this);return this["[[SetData]]"].entries()},forEach:function s(e){var t=arguments.length>1?arguments[1]:null;var n=this;r(n);this["[[SetData]]"].forEach(function(r,o){if(t){e.call(t,o,o,n)}else{e(o,o,n)}})}});T(e,"keys",e.values,true);P(e.prototype,function(){return this.values()});return e}()};I(f,nt);if(f.Map||f.Set){var ot=r(function(){return new Map([[1,2]]).get(1)===2});if(!ot){var it=f.Map;f.Map=function Ur(e){if(!(this instanceof Ur)){throw new TypeError('Constructor Map requires "new"')}var t=new it;if(Array.isArray(e)||w.string(e)){Array.prototype.forEach.call(e,function(e){t.set(e[0],e[1])})}else if(e instanceof Ur){Ur.prototype.forEach.call(e,function(e,r){t.set(r,e)})}Object.setPrototypeOf(t,f.Map.prototype);T(t,"constructor",Ur,true);return t};f.Map.prototype=E(it.prototype);M.preserveToString(f.Map,it)}var at=new Map;var ut=function(e){e["delete"](0);e["delete"](-0);e.set(0,3);e.get(-0,4);return e.get(0)===3&&e.get(-0)===4}(at);var st=at.set(1,2)===at;if(!ut||!st){var ft=Map.prototype.set;T(Map.prototype,"set",function Xr(e,t){ft.call(this,e===0?0:e,t);return this},true);M.preserveToString(Map.prototype.set,ft)}if(!ut){var ct=Map.prototype.get;var lt=Map.prototype.has;I(Map.prototype,{get:function Zr(e){return ct.call(this,e===0?0:e)},has:function Kr(e){return lt.call(this,e===0?0:e)}},true);M.preserveToString(Map.prototype.get,ct);M.preserveToString(Map.prototype.has,lt)}var pt=new Set;var vt=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(pt);var ht=pt.add(1)===pt;if(!vt||!ht){var yt=Set.prototype.add;Set.prototype.add=function Br(e){yt.call(this,e===0?0:e);return this};M.preserveToString(Set.prototype.add,yt)}if(!vt){var bt=Set.prototype.has;Set.prototype.has=function Jr(e){return bt.call(this,e===0?0:e)};M.preserveToString(Set.prototype.has,bt);var gt=Set.prototype["delete"];Set.prototype["delete"]=function Qr(e){return gt.call(this,e===0?0:e)};M.preserveToString(Set.prototype["delete"],gt)}var dt=o(f.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var mt=Object.setPrototypeOf&&!dt;var Ot=function(){try{return!(f.Map()instanceof f.Map)}catch(e){return e instanceof TypeError}}();if(f.Map.length!==1||mt||!Ot){var wt=f.Map;f.Map=function Yr(e){if(!(this instanceof Yr)){throw new TypeError('Constructor Map requires "new"')}var t=new wt(e);Object.setPrototypeOf(t,Yr.prototype);T(t,"constructor",Yr,true);return t};f.Map.prototype=E(wt.prototype);M.preserveToString(f.Map,wt)}var jt=o(f.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var St=Object.setPrototypeOf&&!jt;var Tt=function(){try{return!(f.Set()instanceof f.Set)}catch(e){return e instanceof TypeError}}();if(f.Set.length!==1||St||!Tt){var Mt=f.Set;f.Set=function en(e){if(!(this instanceof en)){throw new TypeError('Constructor Set requires "new"')}var t=new Mt(e);Object.setPrototypeOf(t,en.prototype);T(t,"constructor",en,true);return t};f.Set.prototype=E(Mt.prototype);M.preserveToString(f.Set,Mt)}var It=!r(function(){return(new Map).keys().next().done});if(typeof f.Map.prototype.clear!=="function"||(new f.Set).size!==0||(new f.Map).size!==0||typeof f.Map.prototype.keys!=="function"||typeof f.Set.prototype.keys!=="function"||typeof f.Map.prototype.forEach!=="function"||typeof f.Set.prototype.forEach!=="function"||n(f.Map)||n(f.Set)||typeof(new f.Map).keys().next!=="function"||It||!dt){delete f.Map;delete f.Set;I(f,{Map:nt.Map,Set:nt.Set},true)}}if(f.Set.prototype.keys!==f.Set.prototype.values){T(f.Set.prototype,"keys",f.Set.prototype.values,true)}P(Object.getPrototypeOf((new f.Map).keys()));P(Object.getPrototypeOf((new f.Set).keys()))}if(!f.Reflect){T(f,"Reflect",{})}var Et=f.Reflect;var xt=function tn(e){if(!C.TypeIsObject(e)){throw new TypeError("target must be an object")}};I(f.Reflect,{apply:function rn(){return C.Call.apply(null,arguments)},construct:function nn(e,t){if(!C.IsCallable(e)){throw new TypeError("First argument must be callable.")}return C.Construct(e,t)},deleteProperty:function on(e,t){xt(e);if(l){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},enumerate:function an(e){xt(e);return new X(e,"key")},has:function un(e,t){xt(e);return t in e}});if(Object.getOwnPropertyNames){I(f.Reflect,{ownKeys:function sn(e){xt(e);var t=Object.getOwnPropertyNames(e);if(C.IsCallable(Object.getOwnPropertySymbols)){t.push.apply(t,Object.getOwnPropertySymbols(e))}return t}})}if(Object.preventExtensions){I(f.Reflect,{isExtensible:function fn(e){xt(e);return Object.isExtensible(e)},preventExtensions:function cn(e){xt(e);return Nt(function(){Object.preventExtensions(e)})}})}if(l){var Pt=function ln(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return undefined}return Pt(o,t,r)}if("value"in n){return n.value}if(n.get){return n.get.call(r)}return undefined};var _t=function pn(e,t,r,n){var o=Object.getOwnPropertyDescriptor(e,t);if(!o){var i=Object.getPrototypeOf(e);if(i!==null){return _t(i,t,r,n)}o={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in o){if(!o.writable){return false}if(!C.TypeIsObject(n)){return false}var a=Object.getOwnPropertyDescriptor(n,t);if(a){return Et.defineProperty(n,t,{value:r})}else{return Et.defineProperty(n,t,{value:r,writable:true,enumerable:true,configurable:true})}}if(o.set){o.set.call(n,r);return true}return false};var Nt=function vn(e){return!t(e)};I(f.Reflect,{defineProperty:function hn(e,t,r){xt(e);return Nt(function(){Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function yn(e,t){xt(e);return Object.getOwnPropertyDescriptor(e,t)},get:function bn(e,t){xt(e);var r=arguments.length>2?arguments[2]:e;return Pt(e,t,r)},set:function gn(e,t,r){xt(e);var n=arguments.length>3?arguments[3]:e;return _t(e,t,r,n)}})}if(Object.getPrototypeOf){var Ct=Object.getPrototypeOf;I(f.Reflect,{getPrototypeOf:function dn(e){xt(e);return Ct(e)}})}if(Object.setPrototypeOf){var kt=function(e,t){while(t){if(e===t){return true}t=Et.getPrototypeOf(t)}return false};I(f.Reflect,{setPrototypeOf:function mn(e,t){xt(e);if(t!==null&&!C.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===Et.getPrototypeOf(e)){return true}if(Et.isExtensible&&!Et.isExtensible(e)){return false}if(kt(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}if(String(new Date(NaN))!=="Invalid Date"){var At=Date.prototype.toString;var Rt=function On(){var e=+this;if(e!==e){return"Invalid Date"}return At.call(this)};T(Rt,"toString",At.toString,true);T(Date.prototype,"toString",Rt,true)}var Lt={anchor:function wn(e){return C.CreateHTML(this,"a","name",e)},big:function jn(){return C.CreateHTML(this,"big","","")},blink:function Sn(){return C.CreateHTML(this,"blink","","")},bold:function Tn(){return C.CreateHTML(this,"b","","")},fixed:function Mn(){return C.CreateHTML(this,"tt","","")},fontcolor:function In(e){return C.CreateHTML(this,"font","color",e)},fontsize:function En(e){return C.CreateHTML(this,"font","size",e)},italics:function xn(){return C.CreateHTML(this,"i","","")},link:function Pn(e){return C.CreateHTML(this,"a","href",e)},small:function _n(){return C.CreateHTML(this,"small","","")},strike:function Nn(){return C.CreateHTML(this,"strike","","")},sub:function Cn(){return C.CreateHTML(this,"sub","","")},sup:function kn(){return C.CreateHTML(this,"sup","","")}};I(String.prototype,Lt);Object.keys(Lt).forEach(function(e){var t=String.prototype[e];var r=false;if(C.IsCallable(t)){var n=t.call("",' " ');var o=[].concat(n.match(/"/g)).length;r=n!==n.toLowerCase()||o>2}else{r=true}if(r){T(String.prototype,e,Lt[e],true)}});return f}); //# sourceMappingURL=es6-shim.map \ No newline at end of file diff --git a/package.json b/package.json index 7672efd5..2e5dc802 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.28.0", + "version": "0.28.1", "author": "Paul Miller (http://paulmillr.com)", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [