From 78e307c38eb1e907b354858e33d344914c6644d2 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Fri, 22 Jan 2016 10:49:58 -0800 Subject: [PATCH] v0.34.2 --- CHANGELOG.md | 9 +++++++++ component.json | 2 +- es6-sham.js | 4 ++-- es6-sham.min.js | 4 ++-- es6-shim.js | 4 ++-- es6-shim.map | 2 +- es6-shim.min.js | 8 ++++---- package.json | 2 +- 8 files changed, 22 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a576825..8b4df30b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # es6-shim x.x.x (not yet released) +# es6-shim 0.34.2 (22 Jan 2016) +* [Fix] `JSON.stringify` should ignore a replacer arg unless it’s an array or function. +* [Fix] `Array#copyWithin`: check for inherited properties as well +* [Fix] `Array#copyWithin`: should delete the target key if the source key is not present +* [Performance] Optimize Map/Set fast key path (#397) +* [Tests] fix `Reflect.enumerate` tests to not call `next` too many times +* [Dev Deps] update `jscs`, `jshint` +* [Docs] update license year to 2016 (#400) + # es6-shim 0.34.1 (5 Jan 2016) * [Fix] `RegExp#[Symbol.search]` was broken with a regex argument (#394) * [Fix] ensure that Set#clear works with both primitive and object values diff --git a/component.json b/component.json index c971adf1..bc3d998b 100644 --- a/component.json +++ b/component.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.34.1", + "version": "0.34.2", "repo": "paulmillr/es6-shim", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [ diff --git a/es6-sham.js b/es6-sham.js index 426f8ee2..19e8c388 100644 --- a/es6-sham.js +++ b/es6-sham.js @@ -2,8 +2,8 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-sham: v0.34.1 - * see https://github.com/paulmillr/es6-shim/blob/0.34.1/LICENSE + * es6-sham: v0.34.2 + * see https://github.com/paulmillr/es6-shim/blob/0.34.2/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ diff --git a/es6-sham.min.js b/es6-sham.min.js index 552fe304..6fce0eb9 100644 --- a/es6-sham.min.js +++ b/es6-sham.min.js @@ -2,8 +2,8 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-sham: v0.34.1 - * see https://github.com/paulmillr/es6-shim/blob/0.34.1/LICENSE + * es6-sham: v0.34.2 + * see https://github.com/paulmillr/es6-shim/blob/0.34.2/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ diff --git a/es6-shim.js b/es6-shim.js index 94fcefcd..1259223d 100644 --- a/es6-shim.js +++ b/es6-shim.js @@ -2,8 +2,8 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-shim: v0.34.1 - * see https://github.com/paulmillr/es6-shim/blob/0.34.1/LICENSE + * es6-shim: v0.34.2 + * see https://github.com/paulmillr/es6-shim/blob/0.34.2/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ diff --git a/es6-shim.map b/es6-shim.map index 00277e7a..527739dc 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","_apply","Function","call","bind","apply","_call","isArray","Array","keys","Object","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","defineProperty","get","supportsDescriptors","functionsHaveNames","foo","name","_forEach","prototype","forEach","_reduce","reduce","_filter","filter","_some","some","object","value","force","configurable","enumerable","writable","defineProperties","map","forceOverride","method","_toString","toString","isCallable","IsCallableSlow","x","IsCallableFast","Value","getter","TypeError","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","defineByDescriptor","preserveToString","target","source","create","properties","Prototype","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","_indexOf","String","indexOf","_concat","concat","_sort","sort","_strSlice","slice","_push","push","_pushApply","_shift","shift","_max","Math","max","_min","min","_floor","floor","_abs","abs","_log","log","_sqrt","sqrt","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","Symbol","symbolSpecies","species","numberIsNaN","Number","isNaN","numberIsFinite","isStandardArguments","isArguments","isLegacyArguments","length","callee","Type","primitive","string","regex","symbol","overrideNative","replacement","original","hasSymbols","$iterator$","iterator","Set","Reflect","$String","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","IsConstructor","ToInt32","ToNumber","ToUint32","ToInteger","number","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","GetMethod","it","p","IteratorComplete","iterResult","IteratorClose","completionIsThrow","returnMethod","innerResult","innerException","IteratorNext","result","next","IteratorStep","done","Construct","newTarget","isES6internal","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","ToString","p1","escapedV","replace","p2","p3","IsRegExp","argument","isRegExp","match","defineWellKnownSymbol","sym","search","symbolSearch","originalSearch","RegExp","searchShim","regexp","searcher","symbolReplace","originalReplace","replaceValue","replaceShim","searchValue","replacer","split","symbolSplit","originalSplit","limit","splitShim","separator","splitter","symbolMatchExists","stringMatchIgnoresSymbolMatch","symbolMatch","originalMatch","matchShim","matcher","wrapConstructor","keysToSkip","getOwnPropertyNames","defaultSpeciesGetter","addDefaultSpecies","addIterator","impl","implementation","createDataProperty","createDataPropertyOrThrow","emulateES6construct","defaultNewTarget","defaultProto","slots","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub",0,1,"stringRepeat","repeat","s","times","half","stringMaxLength","Infinity","StringPrototypeShims","thisStr","numTimes","startsWith","searchString","searchStr","position","start","endsWith","endPosition","pos","end","includes","codePointAt","first","charCodeAt","isEnd","second","startsWithRejectsRegex","startsWithHandlesInfinity","startsWithSupportsSymbolMatch","re","endsWithSupportsSymbolMatch","includesSupportsSymbolMatch","ws","trimRegexp","trimShim","trim","nonWS","nonWSregex","isBadHexRegex","hasStringTrimBug","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","arrayLike","of","A","k","iteratorResult","array","kind","retval","orderKeys","aNumeric","bNumeric","localeCompare","getAllKeys","ownKeys","ObjectIterator","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","relativeEnd","finalItem","count","direction","fill","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","int32sAsOne","pow","toLengthsCorrectly","reversed","originalForEach","callbackFn","originalMap","originalFilter","originalSome","every","originalEvery","originalReduce","reduceRight","originalReduceRight","lacksOctalSupport","lacksBinarySupport","trimsNonWhitespace","c","OrigNumber","binaryRegex","octalRegex","isBinary","test","isOctal","toPrimitive","valueOf","hasNonWS","isBadHex","NumberShim","primValue","parseInt","NaN","receiver","valueOfSucceeds","maxSafeInteger","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","item","idx","isEnumerableOn","propertyIsEnumerable","ensureEnumerable","prop","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","sourceKeys","symbols","getOwnPropertySymbols","ObjectShims","assign","is","assignHasPendingExceptions","preventExtensions","thrower","ES5ObjectShims","magic","checkArgs","polyfill","FAKENULL","gpo","spo","objectKeysAcceptsPrimitives","originalObjectKeys","objectGOPNAcceptsPrimitives","cachedWindowNames","originalObjectGetOwnPropertyNames","val","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","hasFlags","desc","regExpFlagsGetter","flags","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","regExpNeedsToSupportSymbolMatch","flagsGetter","sourceDesc","legacySourceGetter","sourceGetter","OrigRegExp","RegExpShim","pattern","patternIsRegExp","calledWithNew","P","$input","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","numberCLZ","clz","MathShims","acosh","E","asinh","atanh","cbrt","negate","exp","clz32","LOG2E","cosh","expm1","t","sum","hypot","y","largest","log2","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","MAX_VALUE","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","setTimeout","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","Promise","pr","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","PROMISE_FULFILL_OFFSET","PROMISE_REJECT_OFFSET","PROMISE_CAPABILITY_OFFSET","PROMISE_FAKE_CAPABILITY","enqueuePromiseReactionJob","handler","promiseReactionJob","promiseCapability","handlerResult","fulfillPromise","reactionLength","fulfillReactionHandler0","reactionCapability0","rejectReactions0","state","rejectPromise","reason","rejectReactionHandler0","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","optimizedThen","thenable","Promise$prototype$then","resolvingFunctions","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","all","iterable","exception","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","returnValueIsIgnored","fulfillReactionHandler","rejectReactionHandler","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","getsThenSynchronously","BadResolverPromise","executor","hasBadResolverPromise","origAll","origRace","origResolve","origReject","r","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","type","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","Map","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","head","_head","Map$prototype","MapShim","_storage","_size","fkey","has","delete","clear","callback","context","isSet","_es6set","requireSetSlot","Set$prototype","SetShim","[[SetData]]","decodeKey","charAt","ensureMap","m","size","hasFKey","entireSet","mapAcceptsArguments","OrigMapNoArgs","testMap","mapUsesSameValueZero","mapSupportsChaining","origMapSet","origMapGet","origMapHas","testSet","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","OrigMap","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","mapIterationThrowsStopIterator","anonymousSetHas","throwUnlessTargetIsObject","ReflectShims","deleteProperty","enumerate","callAndCatchException","ConvertExceptionToBoolean","internalGet","parent","internalSet","existingDesc","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","lastProto","defineOrOverrideReflectProperty","shim","acceptsPrimitives","originalReflectGetProto","basic","extensible","Date","dateToString","shimmedDateToString","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","toLowerCase","JSONstringifiesSymbols","stringify","JSON","JSONstringifyAcceptsObjectSymbol","origStringify","replaceFn","wrappedReplacer","parsedValue"],"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","_apply","Function","call","bind","apply","_call","isArray","Array","keys","Object","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","defineProperty","get","supportsDescriptors","functionsHaveNames","foo","name","_forEach","prototype","forEach","_reduce","reduce","_filter","filter","_some","some","object","value","force","configurable","enumerable","writable","defineProperties","map","forceOverride","method","_toString","toString","isCallable","IsCallableSlow","x","IsCallableFast","Value","getter","TypeError","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","defineByDescriptor","preserveToString","target","source","create","properties","Prototype","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","_indexOf","String","indexOf","_concat","concat","_sort","sort","_strSlice","slice","_push","push","_pushApply","_shift","shift","_max","Math","max","_min","min","_floor","floor","_abs","abs","_log","log","_sqrt","sqrt","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","Symbol","symbolSpecies","species","numberIsNaN","Number","isNaN","numberIsFinite","isStandardArguments","isArguments","isLegacyArguments","length","callee","Type","primitive","string","regex","symbol","overrideNative","replacement","original","hasSymbols","$iterator$","iterator","Set","Reflect","$String","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","IsConstructor","ToInt32","ToNumber","ToUint32","ToInteger","number","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","GetMethod","it","p","IteratorComplete","iterResult","IteratorClose","completionIsThrow","returnMethod","innerResult","innerException","IteratorNext","result","next","IteratorStep","done","Construct","newTarget","isES6internal","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","ToString","p1","escapedV","replace","p2","p3","IsRegExp","argument","isRegExp","match","defineWellKnownSymbol","sym","search","symbolSearch","originalSearch","RegExp","searchShim","regexp","searcher","symbolReplace","originalReplace","replaceValue","replaceShim","searchValue","replacer","split","symbolSplit","originalSplit","limit","splitShim","separator","splitter","symbolMatchExists","stringMatchIgnoresSymbolMatch","symbolMatch","originalMatch","matchShim","matcher","wrapConstructor","keysToSkip","getOwnPropertyNames","defaultSpeciesGetter","addDefaultSpecies","addIterator","impl","implementation","createDataProperty","createDataPropertyOrThrow","emulateES6construct","defaultNewTarget","defaultProto","slots","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub",0,1,"stringRepeat","repeat","s","times","half","stringMaxLength","Infinity","StringPrototypeShims","thisStr","numTimes","startsWith","searchString","searchStr","position","start","endsWith","endPosition","pos","end","includes","codePointAt","first","charCodeAt","isEnd","second","startsWithRejectsRegex","startsWithHandlesInfinity","startsWithSupportsSymbolMatch","re","endsWithSupportsSymbolMatch","includesSupportsSymbolMatch","ws","trimRegexp","trimShim","trim","nonWS","nonWSregex","isBadHexRegex","hasStringTrimBug","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","arrayLike","of","A","k","iteratorResult","array","kind","retval","orderKeys","aNumeric","bNumeric","localeCompare","getAllKeys","ownKeys","ObjectIterator","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","relativeEnd","finalItem","count","direction","fill","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","int32sAsOne","pow","toLengthsCorrectly","reversed","originalForEach","callbackFn","originalMap","originalFilter","originalSome","every","originalEvery","originalReduce","reduceRight","originalReduceRight","lacksOctalSupport","lacksBinarySupport","trimsNonWhitespace","c","OrigNumber","binaryRegex","octalRegex","isBinary","test","isOctal","toPrimitive","valueOf","hasNonWS","isBadHex","NumberShim","primValue","parseInt","NaN","receiver","valueOfSucceeds","maxSafeInteger","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","item","idx","isEnumerableOn","propertyIsEnumerable","ensureEnumerable","prop","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","sourceKeys","symbols","getOwnPropertySymbols","ObjectShims","assign","is","assignHasPendingExceptions","preventExtensions","thrower","ES5ObjectShims","magic","checkArgs","polyfill","FAKENULL","gpo","spo","objectKeysAcceptsPrimitives","originalObjectKeys","objectGOPNAcceptsPrimitives","cachedWindowNames","originalObjectGetOwnPropertyNames","val","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","hasFlags","desc","regExpFlagsGetter","flags","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","regExpNeedsToSupportSymbolMatch","flagsGetter","sourceDesc","legacySourceGetter","sourceGetter","OrigRegExp","RegExpShim","pattern","patternIsRegExp","calledWithNew","P","$input","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","numberCLZ","clz","MathShims","acosh","E","asinh","atanh","cbrt","negate","exp","clz32","LOG2E","cosh","expm1","t","sum","hypot","y","largest","log2","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","MAX_VALUE","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","setTimeout","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","Promise","pr","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","PROMISE_FULFILL_OFFSET","PROMISE_REJECT_OFFSET","PROMISE_CAPABILITY_OFFSET","PROMISE_FAKE_CAPABILITY","enqueuePromiseReactionJob","handler","promiseReactionJob","promiseCapability","handlerResult","fulfillPromise","reactionLength","fulfillReactionHandler0","reactionCapability0","rejectReactions0","state","rejectPromise","reason","rejectReactionHandler0","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","optimizedThen","thenable","Promise$prototype$then","resolvingFunctions","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","all","iterable","exception","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","returnValueIsIgnored","fulfillReactionHandler","rejectReactionHandler","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","getsThenSynchronously","BadResolverPromise","executor","hasBadResolverPromise","origAll","origRace","origResolve","origReject","r","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","Map","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","head","_head","Map$prototype","MapShim","_storage","_size","fkey","has","delete","clear","callback","context","isSet","_es6set","requireSetSlot","Set$prototype","SetShim","[[SetData]]","decodeKey","charAt","ensureMap","m","size","hasFKey","entireSet","mapAcceptsArguments","OrigMapNoArgs","testMap","mapUsesSameValueZero","mapSupportsChaining","origMapSet","origMapGet","origMapHas","testSet","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","OrigMap","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","mapIterationThrowsStopIterator","anonymousSetHas","throwUnlessTargetIsObject","ReflectShims","deleteProperty","enumerate","callAndCatchException","ConvertExceptionToBoolean","internalGet","parent","internalSet","existingDesc","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","lastProto","defineOrOverrideReflectProperty","shim","acceptsPrimitives","originalReflectGetProto","basic","extensible","Date","dateToString","shimmedDateToString","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","toLowerCase","JSONstringifiesSymbols","stringify","JSON","JSONstringifyAcceptsObjectSymbol","origStringify","replaceFn","wrappedReplacer","parsedValue"],"mappings":"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"} \ No newline at end of file diff --git a/es6-shim.min.js b/es6-shim.min.js index 48e274a5..1838994d 100644 --- a/es6-shim.min.js +++ b/es6-shim.min.js @@ -2,11 +2,11 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-shim: v0.34.1 - * see https://github.com/paulmillr/es6-shim/blob/0.34.1/LICENSE + * es6-shim: v0.34.2 + * see https://github.com/paulmillr/es6-shim/blob/0.34.2/LICENSE * 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.call.bind(Function.apply);var t=Function.call.bind(Function.call);var r=Array.isArray;var n=Object.keys;var o=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var i=function(e){try{e();return false}catch(t){return true}};var a=function valueOrFalseIfThrows(e){try{return e()}catch(t){return false}};var u=o(i);var f=function(){return!i(function(){Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&f();var c=function foo(){}.name==="foo";var l=Function.call.bind(Array.prototype.forEach);var p=Function.call.bind(Array.prototype.reduce);var v=Function.call.bind(Array.prototype.filter);var y=Function.call.bind(Array.prototype.some);var h=function(e,t,r,n){if(!n&&t in e){return}if(s){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var g=function(e,t,r){l(n(t),function(n){var o=t[n];h(e,n,o,!!r)})};var b=Function.call.bind(Object.prototype.toString);var d=typeof/abc/==="function"?function IsCallableSlow(e){return typeof e==="function"&&b(e)==="[object Function]"}:function IsCallableFast(e){return typeof e==="function"};var m={getter:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!s){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 getKey(){return e[t]},set:function setKey(r){e[t]=r}})},redefine:function(e,t,r){if(s){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(s){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){if(t&&d(t.toString)){h(e,"toString",t.toString.bind(t),true)}}};var O=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var o=new r;if(typeof t!=="undefined"){n(t).forEach(function(e){m.defineByDescriptor(o,e,t[e])})}return o};var w=function(e,t){if(!Object.setPrototypeOf){return false}return a(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=O(e.prototype,{constructor:{value:r}});return t(r)})};var j=function(){if(typeof self!=="undefined"){return self}if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}throw new Error("unable to locate global object")};var S=j();var T=S.isFinite;var I=Function.call.bind(String.prototype.indexOf);var E=Function.call.bind(Array.prototype.concat);var P=Function.call.bind(Array.prototype.sort);var C=Function.call.bind(String.prototype.slice);var M=Function.call.bind(Array.prototype.push);var x=Function.apply.bind(Array.prototype.push);var N=Function.call.bind(Array.prototype.shift);var A=Math.max;var R=Math.min;var _=Math.floor;var k=Math.abs;var F=Math.log;var L=Math.sqrt;var D=Function.call.bind(Object.prototype.hasOwnProperty);var z;var q=function(){};var W=S.Symbol||{};var G=W.species||"@@species";var H=Number.isNaN||function isNaN(e){return e!==e};var B=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var $=function isArguments(e){return b(e)==="[object Arguments]"};var V=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&b(e)!=="[object Array]"&&b(e.callee)==="[object Function]"};var J=$(arguments)?$:V;var K={primitive:function(e){return e===null||typeof e!=="function"&&typeof e!=="object"},object:function(e){return e!==null&&typeof e==="object"},string:function(e){return b(e)==="[object String]"},regex:function(e){return b(e)==="[object RegExp]"},symbol:function(e){return typeof S.Symbol==="function"&&typeof e==="symbol"}};var U=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var X=typeof W==="function"&&typeof W["for"]==="function"&&K.symbol(W());var Z=K.symbol(W.iterator)?W.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){Z="@@iterator"}if(!S.Reflect){h(S,"Reflect",{})}var Q=S.Reflect;var Y=String;var ee={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!ee.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(e==null){throw new TypeError(t||"Cannot call method on "+e)}return e},TypeIsObject:function(e){if(e===void 0||e===null||e===true||e===false){return false}return typeof e==="function"||typeof e==="object"},ToObject:function(e,t){return Object(ee.RequireObjectCoercible(e,t))},IsCallable:d,IsConstructor:function(e){return ee.IsCallable(e)},ToInt32:function(e){return ee.ToNumber(e)>>0},ToUint32:function(e){return ee.ToNumber(e)>>>0},ToNumber:function(e){if(b(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=ee.ToNumber(e);if(H(t)){return 0}if(t===0||!B(t)){return t}return(t>0?1:-1)*_(k(t))},ToLength:function(e){var t=ee.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 H(e)&&H(t)},SameValueZero:function(e,t){return e===t||H(e)&&H(t)},IsIterable:function(e){return ee.TypeIsObject(e)&&(typeof e[Z]!=="undefined"||J(e))},GetIterator:function(e){if(J(e)){return new z(e,"value")}var t=ee.GetMethod(e,Z);if(!ee.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=ee.Call(t,e);if(!ee.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},GetMethod:function(e,t){var r=ee.ToObject(e)[t];if(r===void 0||r===null){return void 0}if(!ee.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var r=ee.GetMethod(e,"return");if(r===void 0){return}var n,o;try{n=ee.Call(r,e)}catch(i){o=i}if(t){return}if(o){throw o}if(!ee.TypeIsObject(n)){throw new TypeError("Iterator's return method returned a non-object.")}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!ee.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=ee.IteratorNext(e);var r=ee.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n&&Q.construct){return Q.construct(e,t,o)}var i=o.prototype;if(!ee.TypeIsObject(i)){i=Object.prototype}var a=O(i);var u=ee.Call(e,a,t);return ee.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!ee.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[G];if(n===void 0||n===null){return t}if(!ee.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=ee.ToString(e);var i="<"+t;if(r!==""){var a=ee.ToString(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""},IsRegExp:function IsRegExp(e){if(!ee.TypeIsObject(e)){return false}var t=e[W.match];if(typeof t!=="undefined"){return!!t}return K.regex(e)},ToString:function ToString(e){return Y(e)}};if(s&&X){var te=function defineWellKnownSymbol(e){if(K.symbol(W[e])){return W[e]}var t=W["for"]("Symbol."+e);Object.defineProperty(W,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!K.symbol(W.search)){var re=te("search");var ne=String.prototype.search;h(RegExp.prototype,re,function search(e){return ee.Call(ne,e,[this])});var oe=function search(e){var t=ee.RequireObjectCoercible(this);if(e!==null&&typeof e!=="undefined"){var r=ee.GetMethod(e,re);if(typeof r!=="undefined"){return ee.Call(r,e,[t])}}return ee.Call(ne,t,[ee.ToString(e)])};U(String.prototype,"search",oe)}if(!K.symbol(W.replace)){var ie=te("replace");var ae=String.prototype.replace;h(RegExp.prototype,ie,function replace(e,t){return ee.Call(ae,e,[this,t])});var ue=function replace(e,t){var r=ee.RequireObjectCoercible(this);if(e!==null&&typeof e!=="undefined"){var n=ee.GetMethod(e,ie);if(typeof n!=="undefined"){return ee.Call(n,e,[r,t])}}return ee.Call(ae,r,[ee.ToString(e),t])};U(String.prototype,"replace",ue)}if(!K.symbol(W.split)){var fe=te("split");var se=String.prototype.split;h(RegExp.prototype,fe,function split(e,t){return ee.Call(se,e,[this,t])});var ce=function split(e,t){var r=ee.RequireObjectCoercible(this);if(e!==null&&typeof e!=="undefined"){var n=ee.GetMethod(e,fe);if(typeof n!=="undefined"){return ee.Call(n,e,[r,t])}}return ee.Call(se,r,[ee.ToString(e),t])};U(String.prototype,"split",ce)}var le=K.symbol(W.match);var pe=le&&function(){var e={};e[W.match]=function(){return 42};return"a".match(e)!==42}();if(!le||pe){var ve=te("match");var ye=String.prototype.match;h(RegExp.prototype,ve,function match(e){return ee.Call(ye,e,[this])});var he=function match(e){var t=ee.RequireObjectCoercible(this);if(e!==null&&typeof e!=="undefined"){var r=ee.GetMethod(e,ve);if(typeof r!=="undefined"){return ee.Call(r,e,[t])}}return ee.Call(ye,t,[ee.ToString(e)])};U(String.prototype,"match",he)}}var ge=function wrapConstructor(e,t,r){m.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){l(Object.getOwnPropertyNames(e),function(n){if(n in q||r[n]){return}m.proxy(e,n,t)})}else{l(Object.keys(e),function(n){if(n in q||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;m.redefine(e.prototype,"constructor",t)};var be=function(){return this};var de=function(e){if(s&&!D(e,G)){m.getter(e,G,be)}};var me=function(e,t){var r=t||function iterator(){return this};h(e,Z,r);if(!e[Z]&&K.symbol(Z)){e[Z]=r}};var Oe=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var we=function createDataPropertyOrThrow(e,t,r){Oe(e,t,r);if(!ee.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var je=function(e,t,r,n){if(!ee.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!ee.TypeIsObject(o)){o=r}var i=O(o);for(var a in n){if(D(n,a)){var u=n[a];h(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var Se=String.fromCodePoint;U(String,"fromCodePoint",function fromCodePoint(e){return ee.Call(Se,this,arguments)})}var Te={fromCodePoint:function fromCodePoint(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){M(t,String.fromCharCode(r))}else{r-=65536;M(t,String.fromCharCode((r>>10)+55296));M(t,String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function raw(e){var t=ee.ToObject(e,"bad callSite");var r=ee.ToObject(t.raw,"bad raw value");var n=r.length;var o=ee.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=Ee){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return Ie(t,r)},startsWith:function startsWith(e){var t=ee.ToString(ee.RequireObjectCoercible(this));if(ee.IsRegExp(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=ee.ToString(e);var n;if(arguments.length>1){n=arguments[1]}var o=A(ee.ToInteger(n),0);return C(t,o,o+r.length)===r},endsWith:function endsWith(e){var t=ee.ToString(ee.RequireObjectCoercible(this));if(ee.IsRegExp(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=ee.ToString(e);var n=t.length;var o;if(arguments.length>1){o=arguments[1]}var i=typeof o==="undefined"?n:ee.ToInteger(o);var a=R(A(i,0),n);return C(t,a-r.length,a)===r},includes:function includes(e){if(ee.IsRegExp(e)){throw new TypeError('"includes" does not accept a RegExp')}var t=ee.ToString(e);var r;if(arguments.length>1){r=arguments[1]}return I(this,t,r)!==-1},codePointAt:function codePointAt(e){var t=ee.ToString(ee.RequireObjectCoercible(this));var r=ee.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}}};if(String.prototype.includes&&"a".includes("a",Infinity)!==false){U(String.prototype,"includes",Pe.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var Ce=i(function(){"/a/".startsWith(/a/)});var Me="abc".startsWith("a",Infinity)===false;if(!Ce||!Me){U(String.prototype,"startsWith",Pe.startsWith);U(String.prototype,"endsWith",Pe.endsWith)}}if(X){var xe=a(function(){var e=/a/;e[W.match]=false;return"/a/".startsWith(e)});if(!xe){U(String.prototype,"startsWith",Pe.startsWith)}var Ne=a(function(){var e=/a/;e[W.match]=false;return"/a/".endsWith(e)});if(!Ne){U(String.prototype,"endsWith",Pe.endsWith)}var Ae=a(function(){var e=/a/;e[W.match]=false;return"/a/".includes(e)});if(!Ae){U(String.prototype,"includes",Pe.includes)}}g(String.prototype,Pe);var Re=[" \n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var _e=new RegExp("(^["+Re+"]+)|(["+Re+"]+$)","g");var ke=function trim(){return ee.ToString(ee.RequireObjectCoercible(this)).replace(_e,"")};var Fe=["\x85","\u200b","\ufffe"].join("");var Le=new RegExp("["+Fe+"]","g");var De=/^[\-+]0x[0-9a-f]+$/i;var ze=Fe.trim().length!==Fe.length;h(String.prototype,"trim",ke,ze);var qe=function(e){ee.RequireObjectCoercible(e);this._s=ee.ToString(e);this._i=0};qe.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}};me(qe.prototype);me(String.prototype,function(){return new qe(this)});var We={from:function from(e){var r=this;var n;if(arguments.length>1){n=arguments[1]}var o,i;if(typeof n==="undefined"){o=false}else{if(!ee.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}if(arguments.length>2){i=arguments[2]}o=true}var a=typeof(J(e)||ee.GetMethod(e,Z))!=="undefined";var u,f,s;if(a){f=ee.IsConstructor(r)?Object(new r):[];var c=ee.GetIterator(e);var l,p;s=0;while(true){l=ee.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=typeof i==="undefined"?n(p,s):t(n,i,p,s)}f[s]=p}catch(v){ee.IteratorClose(c,true);throw v}s+=1}u=s}else{var y=ee.ToObject(e);u=ee.ToLength(y.length);f=ee.IsConstructor(r)?Object(new r(u)):new Array(u);var h;for(s=0;s0){e=N(t);if(!(e in this.object)){continue}if(this.kind==="key"){return Ge(e)}else if(this.kind==="value"){return Ge(this.object[e])}else{return Ge([e,this.object[e]])}}return Ge()}});me($e.prototype);var Ve=Array.of===We.of||function(){var e=function Foo(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&t.length===2}();if(!Ve){U(Array,"of",We.of)}var Je={copyWithin:function copyWithin(e,t){var r=ee.ToObject(this);var n=ee.ToLength(r.length);var o=ee.ToInteger(e);var i=ee.ToInteger(t);var a=o<0?A(n+o,0):R(o,n);var u=i<0?A(n+i,0):R(i,n);var f;if(arguments.length>2){f=arguments[2]}var s=typeof f==="undefined"?n:ee.ToInteger(f);var c=s<0?A(n+s,0):R(s,n);var l=R(c-u,n-a);var p=1;if(u0){if(D(r,u)){r[a]=r[u]}else{delete r[u]}u+=p;a+=p;l-=1}return r},fill:function fill(e){var t;if(arguments.length>1){t=arguments[1]}var r;if(arguments.length>2){r=arguments[2]}var n=ee.ToObject(this);var o=ee.ToLength(n.length);t=ee.ToInteger(typeof t==="undefined"?0:t);r=ee.ToInteger(typeof r==="undefined"?o:r);var i=t<0?A(o+t,0):R(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var i=0,a;i1?arguments[1]:null;for(var i=0;i1&&typeof arguments[1]!=="undefined"){return ee.Call(Qe,this,arguments)}else{return t(Qe,this,e)}})}var Ye=-(Math.pow(2,32)-1);var et=function(e,r){var n={length:Ye};n[r?(n.length>>>0)-1:0]=true;return a(function(){t(e,n,function(){throw new RangeError("should not reach here")},[]);return true})};if(!et(Array.prototype.forEach)){var tt=Array.prototype.forEach;U(Array.prototype,"forEach",function forEach(e){return ee.Call(tt,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.map)){var rt=Array.prototype.map;U(Array.prototype,"map",function map(e){return ee.Call(rt,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.filter)){var nt=Array.prototype.filter;U(Array.prototype,"filter",function filter(e){return ee.Call(nt,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.some)){var ot=Array.prototype.some;U(Array.prototype,"some",function some(e){return ee.Call(ot,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.every)){var it=Array.prototype.every;U(Array.prototype,"every",function every(e){return ee.Call(it,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.reduce)){var at=Array.prototype.reduce;U(Array.prototype,"reduce",function reduce(e){return ee.Call(at,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.reduceRight,true)){var ut=Array.prototype.reduceRight;U(Array.prototype,"reduceRight",function reduceRight(e){return ee.Call(ut,this.length>=0?this:[],arguments)},true)}var ft=Number("0o10")!==8;var st=Number("0b10")!==2;var ct=y(Fe,function(e){return Number(e+0+e)===0});if(ft||st||ct){var lt=Number;var pt=/^0b[01]+$/i;var vt=/^0o[0-7]+$/i;var yt=pt.test.bind(pt);var ht=vt.test.bind(vt);var gt=function(e){var t;if(typeof e.valueOf==="function"){t=e.valueOf();if(K.primitive(t)){return t}}if(typeof e.toString==="function"){t=e.toString();if(K.primitive(t)){return t}}throw new TypeError("No default value")};var bt=Le.test.bind(Le);var dt=De.test.bind(De);var mt=function(){var e=function Number(t){var r;if(arguments.length>0){r=K.primitive(t)?t:gt(t,"number")}else{r=0}if(typeof r==="string"){r=ee.Call(ke,r);if(yt(r)){r=parseInt(C(r,2),2)}else if(ht(r)){r=parseInt(C(r,2),8)}else if(bt(r)||dt(r)){r=NaN}}var n=this;var o=a(function(){lt.prototype.valueOf.call(n);return true});if(n instanceof e&&!o){return new lt(r)}return lt(r)};return e}();ge(lt,mt,{});Number=mt;m.redefine(S,"Number",mt)}var Ot=Math.pow(2,53)-1;g(Number,{MAX_SAFE_INTEGER:Ot,MIN_SAFE_INTEGER:-Ot,EPSILON:2.220446049250313e-16,parseInt:S.parseInt,parseFloat:S.parseFloat,isFinite:B,isInteger:function isInteger(e){return B(e)&&ee.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&k(e)<=Number.MAX_SAFE_INTEGER},isNaN:H});h(Number,"parseInt",S.parseInt,Number.parseInt!==S.parseInt);if(![,1].find(function(e,t){return t===0})){U(Array.prototype,"find",Je.find)}if([,1].findIndex(function(e,t){return t===0})!==0){U(Array.prototype,"findIndex",Je.findIndex)}var wt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var jt=function ensureEnumerable(e,t){if(s&&wt(e,t)){Object.defineProperty(e,t,{enumerable:false})}};var St=function sliceArgs(){var e=Number(this);var t=arguments.length;var r=t-e;var n=new Array(r<0?0:r);for(var o=e;o1){return NaN}if(t===-1){return-Infinity}if(t===1){return Infinity}if(t===0){return t}return.5*F((1+t)/(1-t))},cbrt:function cbrt(e){var t=Number(e);if(t===0){return t}var r=t<0,n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=Math.exp(F(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var t=Number(e);var r=ee.ToUint32(t);if(r===0){return 32}return pr?ee.Call(pr,r):31-_(F(r+.5)*Math.LOG2E)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(Number.isNaN(t)){return NaN}if(!T(t)){return Infinity}if(t<0){t=-t}if(t>21){return Math.exp(t)/2}return(Math.exp(t)+Math.exp(-t))/2},expm1:function expm1(e){var t=Number(e);if(t===-Infinity){return-1}if(!T(t)||t===0){return t}if(k(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 hypot(e,t){var r=0;var n=0;for(var o=0;o0?i/n*(i/n):i}}return n===Infinity?Infinity:n*L(r)},log2:function log2(e){return F(e)*Math.LOG2E},log10:function log10(e){return F(e)*Math.LOG10E},log1p:function log1p(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*(F(1+t)/(1+t-1))},sign:function sign(e){var t=Number(e);if(t===0){return t}if(Number.isNaN(t)){return t}return t<0?-1:1},sinh:function sinh(e){var t=Number(e);if(!T(t)||t===0){return t}if(k(t)<1){return(Math.expm1(t)-Math.expm1(-t))/2}return(Math.exp(t-1)-Math.exp(-t-1))*Math.E/2},tanh:function tanh(e){var t=Number(e);if(Number.isNaN(t)||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 trunc(e){var t=Number(e);return t<0?-_(-t):_(t)},imul:function imul(e,t){var r=ee.ToUint32(e);var n=ee.ToUint32(t);var o=r>>>16&65535;var i=r&65535;var a=n>>>16&65535;var u=n&65535;return i*u+(o*u+i*a<<16>>>0)|0},fround:function fround(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||H(t)){return t}var r=Math.sign(t);var n=k(t);if(ncr||H(i)){return r*Infinity}return r*i}};g(Math,vr);h(Math,"log1p",vr.log1p,Math.log1p(-1e-17)!==-1e-17);h(Math,"asinh",vr.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));h(Math,"tanh",vr.tanh,Math.tanh(-2e-17)!==-2e-17);h(Math,"acosh",vr.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);h(Math,"cbrt",vr.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8);h(Math,"sinh",vr.sinh,Math.sinh(-2e-17)!==-2e-17);var yr=Math.expm1(10);h(Math,"expm1",vr.expm1,yr>22025.465794806718||yr<22025.465794806718);var hr=Math.round;var gr=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var br=ur+1;var dr=2*ur-1;var mr=[br,dr].every(function(e){return Math.round(e)===e});h(Math,"round",function round(e){var t=_(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!gr||!mr);m.preserveToString(Math.round,hr);var Or=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=vr.imul;m.preserveToString(Math.imul,Or)}if(Math.imul.length!==2){U(Math,"imul",function imul(e,t){return ee.Call(Or,Math,arguments)})}var wr=function(){var e=S.setTimeout; -if(typeof e!=="function"&&typeof e!=="object"){return}ee.IsPromise=function(e){if(!ee.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!ee.IsConstructor(e)){throw new TypeError("Bad promise constructor")}var t=this;var r=function(e,r){if(t.resolve!==void 0||t.reject!==void 0){throw new TypeError("Bad Promise implementation!")}t.resolve=e;t.reject=r};t.resolve=void 0;t.reject=void 0;t.promise=new e(r);if(!(ee.IsCallable(t.resolve)&&ee.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&ee.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){M(e,r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=N(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=S.Promise;var t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}};var i=ee.IsCallable(S.setImmediate)?S.setImmediate:typeof process==="object"&&process.nextTick?process.nextTick:o()||(ee.IsCallable(n)?n():function(t){e(t,0)});var a=function(e){return e};var u=function(e){throw e};var f=0;var s=1;var c=2;var l=0;var p=1;var v=2;var y={};var h=function(e,t,r){i(function(){b(e,t,r)})};var b=function(e,t,r){var n,o;if(t===y){return e(r)}try{n=e(r);o=t.resolve}catch(i){n=i;o=t.reject}o(n)};var d=function(e,t){var r=e._promise;var n=r.reactionLength;if(n>0){h(r.fulfillReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o0){h(r.rejectReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o2&&arguments[2]===y;if(g&&o===E){i=y}else{i=new r(o)}var b=ee.IsCallable(e)?e:a;var d=ee.IsCallable(t)?t:u;var m=n._promise;var O;if(m.state===f){if(m.reactionLength===0){m.fulfillReactionHandler0=b;m.rejectReactionHandler0=d;m.reactionCapability0=i}else{var w=3*(m.reactionLength-1);m[w+l]=b;m[w+p]=d;m[w+v]=i}m.reactionLength+=1}else if(m.state===s){O=m.result;h(b,i,O)}else if(m.state===c){O=m.result;h(d,i,O)}else{throw new TypeError("unexpected Promise state")}return i.promise}});y=new r(E);I=T.then;return E}();if(S.Promise){delete S.Promise.accept;delete S.Promise.defer;delete S.Promise.prototype.chain}if(typeof wr==="function"){g(S,{Promise:wr});var jr=w(S.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var Sr=!i(function(){S.Promise.reject(42).then(null,5).then(null,q)});var Tr=i(function(){S.Promise.call(3,q)});var Ir=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);return t===r}(S.Promise);var Er=s&&function(){var e=0;var t=Object.defineProperty({},"then",{get:function(){e+=1}});Promise.resolve(t);return e===1}();var Pr=function BadResolverPromise(e){var t=new Promise(e);e(3,function(){});this.then=t.then;this.constructor=BadResolverPromise};Pr.prototype=Promise.prototype;Pr.all=Promise.all;var Cr=a(function(){return!!Pr.all([1,2])});if(!jr||!Sr||!Tr||Ir||!Er||Cr){Promise=wr;U(S,"Promise",wr)}if(Promise.all.length!==1){var Mr=Promise.all;U(Promise,"all",function all(e){return ee.Call(Mr,this,arguments)})}if(Promise.race.length!==1){var xr=Promise.race;U(Promise,"race",function race(e){return ee.Call(xr,this,arguments)})}if(Promise.resolve.length!==1){var Nr=Promise.resolve;U(Promise,"resolve",function resolve(e){return ee.Call(Nr,this,arguments)})}if(Promise.reject.length!==1){var Ar=Promise.reject;U(Promise,"reject",function reject(e){return ee.Call(Ar,this,arguments)})}jt(Promise,"all");jt(Promise,"race");jt(Promise,"resolve");jt(Promise,"reject");de(Promise)}var Rr=function(e){var t=n(p(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var _r=Rr(["z","a","bb"]);var kr=Rr(["z",1,"a","3",2]);if(s){var Fr=function fastkey(e){if(!_r){return null}var t=typeof e;if(t==="undefined"||e===null){return"^"+ee.ToString(e)}else if(t==="string"){return"$"+e}else if(t==="number"){if(!kr){return"n"+e}return e}else if(t==="boolean"){return"b"+e}return null};var Lr=function emptyObject(){return Object.create?Object.create(null):{}};var Dr=function addIterableToMap(e,n,o){if(r(o)||K.string(o)){l(o,function(e){if(!ee.TypeIsObject(e)){throw new TypeError("Iterator value "+e+" is not an entry object")}n.set(e[0],e[1])})}else if(o instanceof e){t(e.prototype.forEach,o,function(e,t){n.set(t,e)})}else{var i,a;if(o!==null&&typeof o!=="undefined"){a=n.set;if(!ee.IsCallable(a)){throw new TypeError("bad map")}i=ee.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=ee.IteratorStep(i);if(u===false){break}var f=u.value;try{if(!ee.TypeIsObject(f)){throw new TypeError("Iterator value "+f+" is not an entry object")}t(a,n,f[0],f[1])}catch(s){ee.IteratorClose(i,true);throw s}}}}};var zr=function addIterableToSet(e,n,o){if(r(o)||K.string(o)){l(o,function(e){n.add(e)})}else if(o instanceof e){t(e.prototype.forEach,o,function(e){n.add(e)})}else{var i,a;if(o!==null&&typeof o!=="undefined"){a=n.add;if(!ee.IsCallable(a)){throw new TypeError("bad set")}i=ee.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=ee.IteratorStep(i);if(u===false){break}var f=u.value;try{t(a,n,f)}catch(s){ee.IteratorClose(i,true);throw s}}}}};var qr={Map:function(){var e={};var r=function MapEntry(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function isRemoved(){return this.key===e};var n=function isMap(e){return!!e._es6map};var o=function requireMapSlot(e,t){if(!ee.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+ee.ToString(e))}};var i=function MapIterator(e,t){o(e,"[[MapIterator]]");this.head=e._head;this.i=this.head;this.kind=t};i.prototype={next:function next(){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}}};me(i.prototype);var a;var u=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=je(this,Map,a,{_es6map:true,_head:null,_storage:Lr(),_size:0});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){Dr(Map,e,arguments[0])}return e};a=u.prototype;m.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});g(a,{get:function get(e){o(this,"get");var t=Fr(e);if(t!==null){var r=this._storage[t];if(r){return r.value}else{return}}var n=this._head,i=n;while((i=i.next)!==n){if(ee.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=Fr(e);if(t!==null){return typeof this._storage[t]!=="undefined"}var r=this._head,n=r;while((n=n.next)!==r){if(ee.SameValueZero(n.key,e)){return true}}return false},set:function set(e,t){o(this,"set");var n=this._head,i=n,a;var u=Fr(e);if(u!==null){if(typeof this._storage[u]!=="undefined"){this._storage[u].value=t;return this}else{a=this._storage[u]=new r(e,t);i=n.prev}}while((i=i.next)!==n){if(ee.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(ee.SameValue(-0,e)){a.key=+0}a.next=this._head;a.prev=this._head.prev;a.prev.next=a;a.next.prev=a;this._size+=1;return this},"delete":function(t){o(this,"delete");var r=this._head,n=r;var i=Fr(t);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}while((n=n.next)!==r){if(ee.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 clear(){o(this,"clear");this._size=0;this._storage=Lr();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 keys(){o(this,"keys");return new i(this,"key")},values:function values(){o(this,"values");return new i(this,"value")},entries:function entries(){o(this,"entries");return new i(this,"key+value")},forEach:function forEach(e){o(this,"forEach");var r=arguments.length>1?arguments[1]:null;var n=this.entries();for(var i=n.next();!i.done;i=n.next()){if(r){t(e,r,i.value[1],i.value[0],this)}else{e(i.value[1],i.value[0],this)}}}});me(a,a.entries);return u}(),Set:function(){var e=function isSet(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function requireSetSlot(t,r){if(!ee.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+ee.ToString(t))}};var o;var i=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=je(this,Set,o,{_es6set:true,"[[SetData]]":null,_storage:Lr()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){zr(Set,e,arguments[0])}return e};o=i.prototype;var a=function(e){var t=e;if(t==="^null"){return null}else if(t==="^undefined"){return void 0}else{var r=t.charAt(0);if(r==="$"){return C(t,1)}else if(r==="n"){return+C(t,1)}else if(r==="b"){return t==="btrue"}}return+t};var u=function ensureMap(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new qr.Map;l(n(e._storage),function(e){var r=a(e);t.set(r,r)});e["[[SetData]]"]=t}e._storage=null};m.getter(i.prototype,"size",function(){r(this,"size");if(this._storage){return n(this._storage).length}u(this);return this["[[SetData]]"].size});g(i.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=Fr(e))!==null){return!!this._storage[t]}u(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=Fr(e))!==null){this._storage[t]=true;return this}u(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=Fr(e))!==null){var n=D(this._storage,t);return delete this._storage[t]&&n}u(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=Lr()}if(this["[[SetData]]"]){this["[[SetData]]"].clear()}},values:function values(){r(this,"values");u(this);return this["[[SetData]]"].values()},entries:function entries(){r(this,"entries");u(this);return this["[[SetData]]"].entries()},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;u(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});h(i.prototype,"keys",i.prototype.values,true);me(i.prototype,i.prototype.values);return i}()};if(S.Map||S.Set){var Wr=a(function(){return new Map([[1,2]]).get(1)===2});if(!Wr){var Gr=S.Map;S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new Gr;if(arguments.length>0){Dr(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(Gr.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,Gr)}var Hr=new Map;var Br=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);e.set(-0,e);return e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}();var $r=Hr.set(1,2)===Hr;if(!Br||!$r){var Vr=Map.prototype.set;U(Map.prototype,"set",function set(e,r){t(Vr,this,e===0?0:e,r);return this})}if(!Br){var Jr=Map.prototype.get;var Kr=Map.prototype.has;g(Map.prototype,{get:function get(e){return t(Jr,this,e===0?0:e)},has:function has(e){return t(Kr,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,Jr);m.preserveToString(Map.prototype.has,Kr)}var Ur=new Set;var Xr=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(Ur);var Zr=Ur.add(1)===Ur;if(!Xr||!Zr){var Qr=Set.prototype.add;Set.prototype.add=function add(e){t(Qr,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,Qr)}if(!Xr){var Yr=Set.prototype.has;Set.prototype.has=function has(e){return t(Yr,this,e===0?0:e)};m.preserveToString(Set.prototype.has,Yr);var en=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(en,this,e===0?0:e)};m.preserveToString(Set.prototype["delete"],en)}var tn=w(S.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var rn=Object.setPrototypeOf&&!tn;var nn=function(){try{return!(S.Map()instanceof S.Map)}catch(e){return e instanceof TypeError}}();if(S.Map.length!==0||rn||!nn){var on=S.Map;S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new on;if(arguments.length>0){Dr(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Map.prototype);return e};S.Map.prototype=on.prototype;h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,on)}var an=w(S.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var un=Object.setPrototypeOf&&!an;var fn=function(){try{return!(S.Set()instanceof S.Set)}catch(e){return e instanceof TypeError}}();if(S.Set.length!==0||un||!fn){var sn=S.Set;S.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new sn;if(arguments.length>0){zr(Set,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Set.prototype);return e};S.Set.prototype=sn.prototype;h(S.Set.prototype,"constructor",S.Set,true);m.preserveToString(S.Set,sn)}var cn=!a(function(){return(new Map).keys().next().done});if(typeof S.Map.prototype.clear!=="function"||(new S.Set).size!==0||(new S.Map).size!==0||typeof S.Map.prototype.keys!=="function"||typeof S.Set.prototype.keys!=="function"||typeof S.Map.prototype.forEach!=="function"||typeof S.Set.prototype.forEach!=="function"||u(S.Map)||u(S.Set)||typeof(new S.Map).keys().next!=="function"||cn||!tn){g(S,{Map:qr.Map,Set:qr.Set},true)}if(S.Set.prototype.keys!==S.Set.prototype.values){h(S.Set.prototype,"keys",S.Set.prototype.values,true)}me(Object.getPrototypeOf((new S.Map).keys()));me(Object.getPrototypeOf((new S.Set).keys()));if(c&&S.Set.prototype.has.name!=="has"){var ln=S.Set.prototype.has;U(S.Set.prototype,"has",function has(e){return t(ln,this,e)})}}g(S,qr);de(S.Map);de(S.Set)}var pn=function throwUnlessTargetIsObject(e){if(!ee.TypeIsObject(e)){throw new TypeError("target must be an object")}};var vn={apply:function apply(){return ee.Call(ee.Call,null,arguments)},construct:function construct(e,t){if(!ee.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length>2?arguments[2]:e;if(!ee.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return ee.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){pn(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},enumerate:function enumerate(e){pn(e);return new $e(e,"key")},has:function has(e,t){pn(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(vn,{ownKeys:function ownKeys(e){pn(e);var t=Object.getOwnPropertyNames(e);if(ee.IsCallable(Object.getOwnPropertySymbols)){x(t,Object.getOwnPropertySymbols(e))}return t}})}var yn=function ConvertExceptionToBoolean(e){return!i(e)};if(Object.preventExtensions){Object.assign(vn,{isExtensible:function isExtensible(e){pn(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){pn(e);return yn(function(){Object.preventExtensions(e)})}})}if(s){var hn=function get(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return void 0}return hn(o,t,r)}if("value"in n){return n.value}if(n.get){return ee.Call(n.get,r)}return void 0};var gn=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return gn(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!ee.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return Q.defineProperty(o,r,{value:n})}else{return Q.defineProperty(o,r,{value:n,writable:true,enumerable:true,configurable:true})}}if(i.set){t(i.set,o,n);return true}return false};Object.assign(vn,{defineProperty:function defineProperty(e,t,r){pn(e);return yn(function(){Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){pn(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){pn(e);var r=arguments.length>2?arguments[2]:e;return hn(e,t,r)},set:function set(e,t,r){pn(e);var n=arguments.length>3?arguments[3]:e;return gn(e,t,r,n)}})}if(Object.getPrototypeOf){var bn=Object.getPrototypeOf;vn.getPrototypeOf=function getPrototypeOf(e){pn(e);return bn(e)}}if(Object.setPrototypeOf&&vn.getPrototypeOf){var dn=function(e,t){var r=t;while(r){if(e===r){return true}r=vn.getPrototypeOf(r)}return false};Object.assign(vn,{setPrototypeOf:function setPrototypeOf(e,t){pn(e);if(t!==null&&!ee.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===Q.getPrototypeOf(e)){return true}if(Q.isExtensible&&!Q.isExtensible(e)){return false}if(dn(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var mn=function(e,t){if(!ee.IsCallable(S.Reflect[e])){h(S.Reflect,e,t)}else{var r=a(function(){S.Reflect[e](1);S.Reflect[e](NaN);S.Reflect[e](true);return true});if(r){U(S.Reflect,e,t)}}};Object.keys(vn).forEach(function(e){mn(e,vn[e])});if(c&&S.Reflect.getPrototypeOf.name!=="getPrototypeOf"){var On=S.Reflect.getPrototypeOf;U(S.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(On,S.Reflect,e)})}if(S.Reflect.setPrototypeOf){if(a(function(){S.Reflect.setPrototypeOf(1,{});return true})){U(S.Reflect,"setPrototypeOf",vn.setPrototypeOf)}}if(S.Reflect.defineProperty){if(!a(function(){var e=!S.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!S.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){U(S.Reflect,"defineProperty",vn.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){U(S.Reflect,"construct",vn.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var wn=Date.prototype.toString;var jn=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return ee.Call(wn,this)};U(Date.prototype,"toString",jn)}var Sn={anchor:function anchor(e){return ee.CreateHTML(this,"a","name",e)},big:function big(){return ee.CreateHTML(this,"big","","")},blink:function blink(){return ee.CreateHTML(this,"blink","","")},bold:function bold(){return ee.CreateHTML(this,"b","","")},fixed:function fixed(){return ee.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return ee.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return ee.CreateHTML(this,"font","size",e)},italics:function italics(){return ee.CreateHTML(this,"i","","")},link:function link(e){return ee.CreateHTML(this,"a","href",e)},small:function small(){return ee.CreateHTML(this,"small","","")},strike:function strike(){return ee.CreateHTML(this,"strike","","")},sub:function sub(){return ee.CreateHTML(this,"sub","","")},sup:function sub(){return ee.CreateHTML(this,"sup","","")}};l(Object.keys(Sn),function(e){var r=String.prototype[e];var n=false;if(ee.IsCallable(r)){var o=t(r,"",' " ');var i=E([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){U(String.prototype,e,Sn[e])}});var Tn=function(){if(!X){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e(W())!=="undefined"){return true}if(e([W()])!=="[null]"){return true}var t={a:W()};t[W()]=true;if(e(t)!=="{}"){return true}return false}();var In=a(function(){if(!X){return true}return JSON.stringify(Object(W()))==="{}"&&JSON.stringify([Object(W())])==="[{}]"});if(Tn||!In){var En=JSON.stringify;U(JSON,"stringify",function stringify(e){if(typeof e==="symbol"){return}var n;if(arguments.length>1){n=arguments[1]}var o=[e];if(!r(n)){var i=ee.IsCallable(n)?n:null;var a=function(e,r){var o=n?t(n,this,e,r):r;if(typeof o!=="symbol"){if(K.symbol(o)){return Tt({})(o)}else{return o}}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return En.apply(this,o)})}return S}); +(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.call.bind(Function.apply);var t=Function.call.bind(Function.call);var r=Array.isArray;var n=Object.keys;var o=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var i=function(e){try{e();return false}catch(t){return true}};var a=function valueOrFalseIfThrows(e){try{return e()}catch(t){return false}};var u=o(i);var f=function(){return!i(function(){Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&f();var c=function foo(){}.name==="foo";var l=Function.call.bind(Array.prototype.forEach);var p=Function.call.bind(Array.prototype.reduce);var v=Function.call.bind(Array.prototype.filter);var y=Function.call.bind(Array.prototype.some);var h=function(e,t,r,n){if(!n&&t in e){return}if(s){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var g=function(e,t,r){l(n(t),function(n){var o=t[n];h(e,n,o,!!r)})};var b=Function.call.bind(Object.prototype.toString);var d=typeof/abc/==="function"?function IsCallableSlow(e){return typeof e==="function"&&b(e)==="[object Function]"}:function IsCallableFast(e){return typeof e==="function"};var m={getter:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!s){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 getKey(){return e[t]},set:function setKey(r){e[t]=r}})},redefine:function(e,t,r){if(s){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(s){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){if(t&&d(t.toString)){h(e,"toString",t.toString.bind(t),true)}}};var O=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var o=new r;if(typeof t!=="undefined"){n(t).forEach(function(e){m.defineByDescriptor(o,e,t[e])})}return o};var w=function(e,t){if(!Object.setPrototypeOf){return false}return a(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=O(e.prototype,{constructor:{value:r}});return t(r)})};var j=function(){if(typeof self!=="undefined"){return self}if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}throw new Error("unable to locate global object")};var S=j();var T=S.isFinite;var I=Function.call.bind(String.prototype.indexOf);var E=Function.call.bind(Array.prototype.concat);var P=Function.call.bind(Array.prototype.sort);var C=Function.call.bind(String.prototype.slice);var M=Function.call.bind(Array.prototype.push);var x=Function.apply.bind(Array.prototype.push);var N=Function.call.bind(Array.prototype.shift);var A=Math.max;var R=Math.min;var _=Math.floor;var k=Math.abs;var F=Math.log;var L=Math.sqrt;var D=Function.call.bind(Object.prototype.hasOwnProperty);var z;var q=function(){};var W=S.Symbol||{};var G=W.species||"@@species";var H=Number.isNaN||function isNaN(e){return e!==e};var B=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var $=function isArguments(e){return b(e)==="[object Arguments]"};var V=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&b(e)!=="[object Array]"&&b(e.callee)==="[object Function]"};var J=$(arguments)?$:V;var K={primitive:function(e){return e===null||typeof e!=="function"&&typeof e!=="object"},object:function(e){return e!==null&&typeof e==="object"},string:function(e){return b(e)==="[object String]"},regex:function(e){return b(e)==="[object RegExp]"},symbol:function(e){return typeof S.Symbol==="function"&&typeof e==="symbol"}};var U=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var X=typeof W==="function"&&typeof W["for"]==="function"&&K.symbol(W());var Z=K.symbol(W.iterator)?W.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){Z="@@iterator"}if(!S.Reflect){h(S,"Reflect",{})}var Q=S.Reflect;var Y=String;var ee={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!ee.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(e==null){throw new TypeError(t||"Cannot call method on "+e)}return e},TypeIsObject:function(e){if(e===void 0||e===null||e===true||e===false){return false}return typeof e==="function"||typeof e==="object"},ToObject:function(e,t){return Object(ee.RequireObjectCoercible(e,t))},IsCallable:d,IsConstructor:function(e){return ee.IsCallable(e)},ToInt32:function(e){return ee.ToNumber(e)>>0},ToUint32:function(e){return ee.ToNumber(e)>>>0},ToNumber:function(e){if(b(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=ee.ToNumber(e);if(H(t)){return 0}if(t===0||!B(t)){return t}return(t>0?1:-1)*_(k(t))},ToLength:function(e){var t=ee.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 H(e)&&H(t)},SameValueZero:function(e,t){return e===t||H(e)&&H(t)},IsIterable:function(e){return ee.TypeIsObject(e)&&(typeof e[Z]!=="undefined"||J(e))},GetIterator:function(e){if(J(e)){return new z(e,"value")}var t=ee.GetMethod(e,Z);if(!ee.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=ee.Call(t,e);if(!ee.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},GetMethod:function(e,t){var r=ee.ToObject(e)[t];if(r===void 0||r===null){return void 0}if(!ee.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var r=ee.GetMethod(e,"return");if(r===void 0){return}var n,o;try{n=ee.Call(r,e)}catch(i){o=i}if(t){return}if(o){throw o}if(!ee.TypeIsObject(n)){throw new TypeError("Iterator's return method returned a non-object.")}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!ee.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=ee.IteratorNext(e);var r=ee.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n&&Q.construct){return Q.construct(e,t,o)}var i=o.prototype;if(!ee.TypeIsObject(i)){i=Object.prototype}var a=O(i);var u=ee.Call(e,a,t);return ee.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!ee.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[G];if(n===void 0||n===null){return t}if(!ee.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=ee.ToString(e);var i="<"+t;if(r!==""){var a=ee.ToString(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""},IsRegExp:function IsRegExp(e){if(!ee.TypeIsObject(e)){return false}var t=e[W.match];if(typeof t!=="undefined"){return!!t}return K.regex(e)},ToString:function ToString(e){return Y(e)}};if(s&&X){var te=function defineWellKnownSymbol(e){if(K.symbol(W[e])){return W[e]}var t=W["for"]("Symbol."+e);Object.defineProperty(W,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!K.symbol(W.search)){var re=te("search");var ne=String.prototype.search;h(RegExp.prototype,re,function search(e){return ee.Call(ne,e,[this])});var oe=function search(e){var t=ee.RequireObjectCoercible(this);if(e!==null&&typeof e!=="undefined"){var r=ee.GetMethod(e,re);if(typeof r!=="undefined"){return ee.Call(r,e,[t])}}return ee.Call(ne,t,[ee.ToString(e)])};U(String.prototype,"search",oe)}if(!K.symbol(W.replace)){var ie=te("replace");var ae=String.prototype.replace;h(RegExp.prototype,ie,function replace(e,t){return ee.Call(ae,e,[this,t])});var ue=function replace(e,t){var r=ee.RequireObjectCoercible(this);if(e!==null&&typeof e!=="undefined"){var n=ee.GetMethod(e,ie);if(typeof n!=="undefined"){return ee.Call(n,e,[r,t])}}return ee.Call(ae,r,[ee.ToString(e),t])};U(String.prototype,"replace",ue)}if(!K.symbol(W.split)){var fe=te("split");var se=String.prototype.split;h(RegExp.prototype,fe,function split(e,t){return ee.Call(se,e,[this,t])});var ce=function split(e,t){var r=ee.RequireObjectCoercible(this);if(e!==null&&typeof e!=="undefined"){var n=ee.GetMethod(e,fe);if(typeof n!=="undefined"){return ee.Call(n,e,[r,t])}}return ee.Call(se,r,[ee.ToString(e),t])};U(String.prototype,"split",ce)}var le=K.symbol(W.match);var pe=le&&function(){var e={};e[W.match]=function(){return 42};return"a".match(e)!==42}();if(!le||pe){var ve=te("match");var ye=String.prototype.match;h(RegExp.prototype,ve,function match(e){return ee.Call(ye,e,[this])});var he=function match(e){var t=ee.RequireObjectCoercible(this);if(e!==null&&typeof e!=="undefined"){var r=ee.GetMethod(e,ve);if(typeof r!=="undefined"){return ee.Call(r,e,[t])}}return ee.Call(ye,t,[ee.ToString(e)])};U(String.prototype,"match",he)}}var ge=function wrapConstructor(e,t,r){m.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){l(Object.getOwnPropertyNames(e),function(n){if(n in q||r[n]){return}m.proxy(e,n,t)})}else{l(Object.keys(e),function(n){if(n in q||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;m.redefine(e.prototype,"constructor",t)};var be=function(){return this};var de=function(e){if(s&&!D(e,G)){m.getter(e,G,be)}};var me=function(e,t){var r=t||function iterator(){return this};h(e,Z,r);if(!e[Z]&&K.symbol(Z)){e[Z]=r}};var Oe=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var we=function createDataPropertyOrThrow(e,t,r){Oe(e,t,r);if(!ee.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var je=function(e,t,r,n){if(!ee.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!ee.TypeIsObject(o)){o=r}var i=O(o);for(var a in n){if(D(n,a)){var u=n[a];h(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var Se=String.fromCodePoint;U(String,"fromCodePoint",function fromCodePoint(e){return ee.Call(Se,this,arguments)})}var Te={fromCodePoint:function fromCodePoint(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){M(t,String.fromCharCode(r))}else{r-=65536;M(t,String.fromCharCode((r>>10)+55296));M(t,String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function raw(e){var t=ee.ToObject(e,"bad callSite");var r=ee.ToObject(t.raw,"bad raw value");var n=r.length;var o=ee.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=Ee){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return Ie(t,r)},startsWith:function startsWith(e){var t=ee.ToString(ee.RequireObjectCoercible(this));if(ee.IsRegExp(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=ee.ToString(e);var n;if(arguments.length>1){n=arguments[1]}var o=A(ee.ToInteger(n),0);return C(t,o,o+r.length)===r},endsWith:function endsWith(e){var t=ee.ToString(ee.RequireObjectCoercible(this));if(ee.IsRegExp(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=ee.ToString(e);var n=t.length;var o;if(arguments.length>1){o=arguments[1]}var i=typeof o==="undefined"?n:ee.ToInteger(o);var a=R(A(i,0),n);return C(t,a-r.length,a)===r},includes:function includes(e){if(ee.IsRegExp(e)){throw new TypeError('"includes" does not accept a RegExp')}var t=ee.ToString(e);var r;if(arguments.length>1){r=arguments[1]}return I(this,t,r)!==-1},codePointAt:function codePointAt(e){var t=ee.ToString(ee.RequireObjectCoercible(this));var r=ee.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}}};if(String.prototype.includes&&"a".includes("a",Infinity)!==false){U(String.prototype,"includes",Pe.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var Ce=i(function(){"/a/".startsWith(/a/)});var Me="abc".startsWith("a",Infinity)===false;if(!Ce||!Me){U(String.prototype,"startsWith",Pe.startsWith);U(String.prototype,"endsWith",Pe.endsWith)}}if(X){var xe=a(function(){var e=/a/;e[W.match]=false;return"/a/".startsWith(e)});if(!xe){U(String.prototype,"startsWith",Pe.startsWith)}var Ne=a(function(){var e=/a/;e[W.match]=false;return"/a/".endsWith(e)});if(!Ne){U(String.prototype,"endsWith",Pe.endsWith)}var Ae=a(function(){var e=/a/;e[W.match]=false;return"/a/".includes(e)});if(!Ae){U(String.prototype,"includes",Pe.includes)}}g(String.prototype,Pe);var Re=[" \n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var _e=new RegExp("(^["+Re+"]+)|(["+Re+"]+$)","g");var ke=function trim(){return ee.ToString(ee.RequireObjectCoercible(this)).replace(_e,"")};var Fe=["\x85","\u200b","\ufffe"].join("");var Le=new RegExp("["+Fe+"]","g");var De=/^[\-+]0x[0-9a-f]+$/i;var ze=Fe.trim().length!==Fe.length;h(String.prototype,"trim",ke,ze);var qe=function(e){ee.RequireObjectCoercible(e);this._s=ee.ToString(e);this._i=0};qe.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}};me(qe.prototype);me(String.prototype,function(){return new qe(this)});var We={from:function from(e){var r=this;var n;if(arguments.length>1){n=arguments[1]}var o,i;if(typeof n==="undefined"){o=false}else{if(!ee.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}if(arguments.length>2){i=arguments[2]}o=true}var a=typeof(J(e)||ee.GetMethod(e,Z))!=="undefined";var u,f,s;if(a){f=ee.IsConstructor(r)?Object(new r):[];var c=ee.GetIterator(e);var l,p;s=0;while(true){l=ee.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=typeof i==="undefined"?n(p,s):t(n,i,p,s)}f[s]=p}catch(v){ee.IteratorClose(c,true);throw v}s+=1}u=s}else{var y=ee.ToObject(e);u=ee.ToLength(y.length);f=ee.IsConstructor(r)?Object(new r(u)):new Array(u);var h;for(s=0;s0){e=N(t);if(!(e in this.object)){continue}if(this.kind==="key"){return Ge(e)}else if(this.kind==="value"){return Ge(this.object[e])}else{return Ge([e,this.object[e]])}}return Ge()}});me($e.prototype);var Ve=Array.of===We.of||function(){var e=function Foo(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&t.length===2}();if(!Ve){U(Array,"of",We.of)}var Je={copyWithin:function copyWithin(e,t){var r=ee.ToObject(this);var n=ee.ToLength(r.length);var o=ee.ToInteger(e);var i=ee.ToInteger(t);var a=o<0?A(n+o,0):R(o,n);var u=i<0?A(n+i,0):R(i,n);var f;if(arguments.length>2){f=arguments[2]}var s=typeof f==="undefined"?n:ee.ToInteger(f);var c=s<0?A(n+s,0):R(s,n);var l=R(c-u,n-a);var p=1;if(u0){if(u in r){r[a]=r[u]}else{delete r[a]}u+=p;a+=p;l-=1}return r},fill:function fill(e){var t;if(arguments.length>1){t=arguments[1]}var r;if(arguments.length>2){r=arguments[2]}var n=ee.ToObject(this);var o=ee.ToLength(n.length);t=ee.ToInteger(typeof t==="undefined"?0:t);r=ee.ToInteger(typeof r==="undefined"?o:r);var i=t<0?A(o+t,0):R(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var i=0,a;i1?arguments[1]:null;for(var i=0;i1&&typeof arguments[1]!=="undefined"){return ee.Call(Qe,this,arguments)}else{return t(Qe,this,e)}})}var Ye=-(Math.pow(2,32)-1);var et=function(e,r){var n={length:Ye};n[r?(n.length>>>0)-1:0]=true;return a(function(){t(e,n,function(){throw new RangeError("should not reach here")},[]);return true})};if(!et(Array.prototype.forEach)){var tt=Array.prototype.forEach;U(Array.prototype,"forEach",function forEach(e){return ee.Call(tt,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.map)){var rt=Array.prototype.map;U(Array.prototype,"map",function map(e){return ee.Call(rt,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.filter)){var nt=Array.prototype.filter;U(Array.prototype,"filter",function filter(e){return ee.Call(nt,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.some)){var ot=Array.prototype.some;U(Array.prototype,"some",function some(e){return ee.Call(ot,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.every)){var it=Array.prototype.every;U(Array.prototype,"every",function every(e){return ee.Call(it,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.reduce)){var at=Array.prototype.reduce;U(Array.prototype,"reduce",function reduce(e){return ee.Call(at,this.length>=0?this:[],arguments)},true)}if(!et(Array.prototype.reduceRight,true)){var ut=Array.prototype.reduceRight;U(Array.prototype,"reduceRight",function reduceRight(e){return ee.Call(ut,this.length>=0?this:[],arguments)},true)}var ft=Number("0o10")!==8;var st=Number("0b10")!==2;var ct=y(Fe,function(e){return Number(e+0+e)===0});if(ft||st||ct){var lt=Number;var pt=/^0b[01]+$/i;var vt=/^0o[0-7]+$/i;var yt=pt.test.bind(pt);var ht=vt.test.bind(vt);var gt=function(e){var t;if(typeof e.valueOf==="function"){t=e.valueOf();if(K.primitive(t)){return t}}if(typeof e.toString==="function"){t=e.toString();if(K.primitive(t)){return t}}throw new TypeError("No default value")};var bt=Le.test.bind(Le);var dt=De.test.bind(De);var mt=function(){var e=function Number(t){var r;if(arguments.length>0){r=K.primitive(t)?t:gt(t,"number")}else{r=0}if(typeof r==="string"){r=ee.Call(ke,r);if(yt(r)){r=parseInt(C(r,2),2)}else if(ht(r)){r=parseInt(C(r,2),8)}else if(bt(r)||dt(r)){r=NaN}}var n=this;var o=a(function(){lt.prototype.valueOf.call(n);return true});if(n instanceof e&&!o){return new lt(r)}return lt(r)};return e}();ge(lt,mt,{});Number=mt;m.redefine(S,"Number",mt)}var Ot=Math.pow(2,53)-1;g(Number,{MAX_SAFE_INTEGER:Ot,MIN_SAFE_INTEGER:-Ot,EPSILON:2.220446049250313e-16,parseInt:S.parseInt,parseFloat:S.parseFloat,isFinite:B,isInteger:function isInteger(e){return B(e)&&ee.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&k(e)<=Number.MAX_SAFE_INTEGER},isNaN:H});h(Number,"parseInt",S.parseInt,Number.parseInt!==S.parseInt);if(![,1].find(function(e,t){return t===0})){U(Array.prototype,"find",Je.find)}if([,1].findIndex(function(e,t){return t===0})!==0){U(Array.prototype,"findIndex",Je.findIndex)}var wt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var jt=function ensureEnumerable(e,t){if(s&&wt(e,t)){Object.defineProperty(e,t,{enumerable:false})}};var St=function sliceArgs(){var e=Number(this);var t=arguments.length;var r=t-e;var n=new Array(r<0?0:r);for(var o=e;o1){return NaN}if(t===-1){return-Infinity}if(t===1){return Infinity}if(t===0){return t}return.5*F((1+t)/(1-t))},cbrt:function cbrt(e){var t=Number(e);if(t===0){return t}var r=t<0,n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=Math.exp(F(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var t=Number(e);var r=ee.ToUint32(t);if(r===0){return 32}return pr?ee.Call(pr,r):31-_(F(r+.5)*Math.LOG2E)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(Number.isNaN(t)){return NaN}if(!T(t)){return Infinity}if(t<0){t=-t}if(t>21){return Math.exp(t)/2}return(Math.exp(t)+Math.exp(-t))/2},expm1:function expm1(e){var t=Number(e);if(t===-Infinity){return-1}if(!T(t)||t===0){return t}if(k(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 hypot(e,t){var r=0;var n=0;for(var o=0;o0?i/n*(i/n):i}}return n===Infinity?Infinity:n*L(r)},log2:function log2(e){return F(e)*Math.LOG2E},log10:function log10(e){return F(e)*Math.LOG10E},log1p:function log1p(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*(F(1+t)/(1+t-1))},sign:function sign(e){var t=Number(e);if(t===0){return t}if(Number.isNaN(t)){return t}return t<0?-1:1},sinh:function sinh(e){var t=Number(e);if(!T(t)||t===0){return t}if(k(t)<1){return(Math.expm1(t)-Math.expm1(-t))/2}return(Math.exp(t-1)-Math.exp(-t-1))*Math.E/2},tanh:function tanh(e){var t=Number(e);if(Number.isNaN(t)||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 trunc(e){var t=Number(e);return t<0?-_(-t):_(t)},imul:function imul(e,t){var r=ee.ToUint32(e);var n=ee.ToUint32(t);var o=r>>>16&65535;var i=r&65535;var a=n>>>16&65535;var u=n&65535;return i*u+(o*u+i*a<<16>>>0)|0},fround:function fround(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||H(t)){return t}var r=Math.sign(t);var n=k(t);if(ncr||H(i)){return r*Infinity}return r*i}};g(Math,vr);h(Math,"log1p",vr.log1p,Math.log1p(-1e-17)!==-1e-17);h(Math,"asinh",vr.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));h(Math,"tanh",vr.tanh,Math.tanh(-2e-17)!==-2e-17);h(Math,"acosh",vr.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);h(Math,"cbrt",vr.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8);h(Math,"sinh",vr.sinh,Math.sinh(-2e-17)!==-2e-17);var yr=Math.expm1(10);h(Math,"expm1",vr.expm1,yr>22025.465794806718||yr<22025.465794806718);var hr=Math.round;var gr=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var br=ur+1;var dr=2*ur-1;var mr=[br,dr].every(function(e){return Math.round(e)===e});h(Math,"round",function round(e){var t=_(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!gr||!mr);m.preserveToString(Math.round,hr);var Or=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=vr.imul;m.preserveToString(Math.imul,Or)}if(Math.imul.length!==2){U(Math,"imul",function imul(e,t){return ee.Call(Or,Math,arguments)})}var wr=function(){var e=S.setTimeout; +if(typeof e!=="function"&&typeof e!=="object"){return}ee.IsPromise=function(e){if(!ee.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!ee.IsConstructor(e)){throw new TypeError("Bad promise constructor")}var t=this;var r=function(e,r){if(t.resolve!==void 0||t.reject!==void 0){throw new TypeError("Bad Promise implementation!")}t.resolve=e;t.reject=r};t.resolve=void 0;t.reject=void 0;t.promise=new e(r);if(!(ee.IsCallable(t.resolve)&&ee.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&ee.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){M(e,r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=N(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=S.Promise;var t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}};var i=ee.IsCallable(S.setImmediate)?S.setImmediate:typeof process==="object"&&process.nextTick?process.nextTick:o()||(ee.IsCallable(n)?n():function(t){e(t,0)});var a=function(e){return e};var u=function(e){throw e};var f=0;var s=1;var c=2;var l=0;var p=1;var v=2;var y={};var h=function(e,t,r){i(function(){b(e,t,r)})};var b=function(e,t,r){var n,o;if(t===y){return e(r)}try{n=e(r);o=t.resolve}catch(i){n=i;o=t.reject}o(n)};var d=function(e,t){var r=e._promise;var n=r.reactionLength;if(n>0){h(r.fulfillReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o0){h(r.rejectReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o2&&arguments[2]===y;if(g&&o===E){i=y}else{i=new r(o)}var b=ee.IsCallable(e)?e:a;var d=ee.IsCallable(t)?t:u;var m=n._promise;var O;if(m.state===f){if(m.reactionLength===0){m.fulfillReactionHandler0=b;m.rejectReactionHandler0=d;m.reactionCapability0=i}else{var w=3*(m.reactionLength-1);m[w+l]=b;m[w+p]=d;m[w+v]=i}m.reactionLength+=1}else if(m.state===s){O=m.result;h(b,i,O)}else if(m.state===c){O=m.result;h(d,i,O)}else{throw new TypeError("unexpected Promise state")}return i.promise}});y=new r(E);I=T.then;return E}();if(S.Promise){delete S.Promise.accept;delete S.Promise.defer;delete S.Promise.prototype.chain}if(typeof wr==="function"){g(S,{Promise:wr});var jr=w(S.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var Sr=!i(function(){S.Promise.reject(42).then(null,5).then(null,q)});var Tr=i(function(){S.Promise.call(3,q)});var Ir=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);return t===r}(S.Promise);var Er=s&&function(){var e=0;var t=Object.defineProperty({},"then",{get:function(){e+=1}});Promise.resolve(t);return e===1}();var Pr=function BadResolverPromise(e){var t=new Promise(e);e(3,function(){});this.then=t.then;this.constructor=BadResolverPromise};Pr.prototype=Promise.prototype;Pr.all=Promise.all;var Cr=a(function(){return!!Pr.all([1,2])});if(!jr||!Sr||!Tr||Ir||!Er||Cr){Promise=wr;U(S,"Promise",wr)}if(Promise.all.length!==1){var Mr=Promise.all;U(Promise,"all",function all(e){return ee.Call(Mr,this,arguments)})}if(Promise.race.length!==1){var xr=Promise.race;U(Promise,"race",function race(e){return ee.Call(xr,this,arguments)})}if(Promise.resolve.length!==1){var Nr=Promise.resolve;U(Promise,"resolve",function resolve(e){return ee.Call(Nr,this,arguments)})}if(Promise.reject.length!==1){var Ar=Promise.reject;U(Promise,"reject",function reject(e){return ee.Call(Ar,this,arguments)})}jt(Promise,"all");jt(Promise,"race");jt(Promise,"resolve");jt(Promise,"reject");de(Promise)}var Rr=function(e){var t=n(p(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var _r=Rr(["z","a","bb"]);var kr=Rr(["z",1,"a","3",2]);if(s){var Fr=function fastkey(e){if(!_r){return null}if(typeof e==="undefined"||e===null){return"^"+ee.ToString(e)}else if(typeof e==="string"){return"$"+e}else if(typeof e==="number"){if(!kr){return"n"+e}return e}else if(typeof e==="boolean"){return"b"+e}return null};var Lr=function emptyObject(){return Object.create?Object.create(null):{}};var Dr=function addIterableToMap(e,n,o){if(r(o)||K.string(o)){l(o,function(e){if(!ee.TypeIsObject(e)){throw new TypeError("Iterator value "+e+" is not an entry object")}n.set(e[0],e[1])})}else if(o instanceof e){t(e.prototype.forEach,o,function(e,t){n.set(t,e)})}else{var i,a;if(o!==null&&typeof o!=="undefined"){a=n.set;if(!ee.IsCallable(a)){throw new TypeError("bad map")}i=ee.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=ee.IteratorStep(i);if(u===false){break}var f=u.value;try{if(!ee.TypeIsObject(f)){throw new TypeError("Iterator value "+f+" is not an entry object")}t(a,n,f[0],f[1])}catch(s){ee.IteratorClose(i,true);throw s}}}}};var zr=function addIterableToSet(e,n,o){if(r(o)||K.string(o)){l(o,function(e){n.add(e)})}else if(o instanceof e){t(e.prototype.forEach,o,function(e){n.add(e)})}else{var i,a;if(o!==null&&typeof o!=="undefined"){a=n.add;if(!ee.IsCallable(a)){throw new TypeError("bad set")}i=ee.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=ee.IteratorStep(i);if(u===false){break}var f=u.value;try{t(a,n,f)}catch(s){ee.IteratorClose(i,true);throw s}}}}};var qr={Map:function(){var e={};var r=function MapEntry(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function isRemoved(){return this.key===e};var n=function isMap(e){return!!e._es6map};var o=function requireMapSlot(e,t){if(!ee.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+ee.ToString(e))}};var i=function MapIterator(e,t){o(e,"[[MapIterator]]");this.head=e._head;this.i=this.head;this.kind=t};i.prototype={next:function next(){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}}};me(i.prototype);var a;var u=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=je(this,Map,a,{_es6map:true,_head:null,_storage:Lr(),_size:0});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){Dr(Map,e,arguments[0])}return e};a=u.prototype;m.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});g(a,{get:function get(e){o(this,"get");var t=Fr(e);if(t!==null){var r=this._storage[t];if(r){return r.value}else{return}}var n=this._head,i=n;while((i=i.next)!==n){if(ee.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=Fr(e);if(t!==null){return typeof this._storage[t]!=="undefined"}var r=this._head,n=r;while((n=n.next)!==r){if(ee.SameValueZero(n.key,e)){return true}}return false},set:function set(e,t){o(this,"set");var n=this._head,i=n,a;var u=Fr(e);if(u!==null){if(typeof this._storage[u]!=="undefined"){this._storage[u].value=t;return this}else{a=this._storage[u]=new r(e,t);i=n.prev}}while((i=i.next)!==n){if(ee.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(ee.SameValue(-0,e)){a.key=+0}a.next=this._head;a.prev=this._head.prev;a.prev.next=a;a.next.prev=a;this._size+=1;return this},"delete":function(t){o(this,"delete");var r=this._head,n=r;var i=Fr(t);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}while((n=n.next)!==r){if(ee.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 clear(){o(this,"clear");this._size=0;this._storage=Lr();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 keys(){o(this,"keys");return new i(this,"key")},values:function values(){o(this,"values");return new i(this,"value")},entries:function entries(){o(this,"entries");return new i(this,"key+value")},forEach:function forEach(e){o(this,"forEach");var r=arguments.length>1?arguments[1]:null;var n=this.entries();for(var i=n.next();!i.done;i=n.next()){if(r){t(e,r,i.value[1],i.value[0],this)}else{e(i.value[1],i.value[0],this)}}}});me(a,a.entries);return u}(),Set:function(){var e=function isSet(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function requireSetSlot(t,r){if(!ee.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+ee.ToString(t))}};var o;var i=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=je(this,Set,o,{_es6set:true,"[[SetData]]":null,_storage:Lr()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){zr(Set,e,arguments[0])}return e};o=i.prototype;var a=function(e){var t=e;if(t==="^null"){return null}else if(t==="^undefined"){return void 0}else{var r=t.charAt(0);if(r==="$"){return C(t,1)}else if(r==="n"){return+C(t,1)}else if(r==="b"){return t==="btrue"}}return+t};var u=function ensureMap(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new qr.Map;l(n(e._storage),function(e){var r=a(e);t.set(r,r)});e["[[SetData]]"]=t}e._storage=null};m.getter(i.prototype,"size",function(){r(this,"size");if(this._storage){return n(this._storage).length}u(this);return this["[[SetData]]"].size});g(i.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=Fr(e))!==null){return!!this._storage[t]}u(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=Fr(e))!==null){this._storage[t]=true;return this}u(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=Fr(e))!==null){var n=D(this._storage,t);return delete this._storage[t]&&n}u(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=Lr()}if(this["[[SetData]]"]){this["[[SetData]]"].clear()}},values:function values(){r(this,"values");u(this);return this["[[SetData]]"].values()},entries:function entries(){r(this,"entries");u(this);return this["[[SetData]]"].entries()},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;u(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});h(i.prototype,"keys",i.prototype.values,true);me(i.prototype,i.prototype.values);return i}()};if(S.Map||S.Set){var Wr=a(function(){return new Map([[1,2]]).get(1)===2});if(!Wr){var Gr=S.Map;S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new Gr;if(arguments.length>0){Dr(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(Gr.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,Gr)}var Hr=new Map;var Br=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);e.set(-0,e);return e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}();var $r=Hr.set(1,2)===Hr;if(!Br||!$r){var Vr=Map.prototype.set;U(Map.prototype,"set",function set(e,r){t(Vr,this,e===0?0:e,r);return this})}if(!Br){var Jr=Map.prototype.get;var Kr=Map.prototype.has;g(Map.prototype,{get:function get(e){return t(Jr,this,e===0?0:e)},has:function has(e){return t(Kr,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,Jr);m.preserveToString(Map.prototype.has,Kr)}var Ur=new Set;var Xr=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(Ur);var Zr=Ur.add(1)===Ur;if(!Xr||!Zr){var Qr=Set.prototype.add;Set.prototype.add=function add(e){t(Qr,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,Qr)}if(!Xr){var Yr=Set.prototype.has;Set.prototype.has=function has(e){return t(Yr,this,e===0?0:e)};m.preserveToString(Set.prototype.has,Yr);var en=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(en,this,e===0?0:e)};m.preserveToString(Set.prototype["delete"],en)}var tn=w(S.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var rn=Object.setPrototypeOf&&!tn;var nn=function(){try{return!(S.Map()instanceof S.Map)}catch(e){return e instanceof TypeError}}();if(S.Map.length!==0||rn||!nn){var on=S.Map;S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new on;if(arguments.length>0){Dr(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Map.prototype);return e};S.Map.prototype=on.prototype;h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,on)}var an=w(S.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var un=Object.setPrototypeOf&&!an;var fn=function(){try{return!(S.Set()instanceof S.Set)}catch(e){return e instanceof TypeError}}();if(S.Set.length!==0||un||!fn){var sn=S.Set;S.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new sn;if(arguments.length>0){zr(Set,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Set.prototype);return e};S.Set.prototype=sn.prototype;h(S.Set.prototype,"constructor",S.Set,true);m.preserveToString(S.Set,sn)}var cn=!a(function(){return(new Map).keys().next().done});if(typeof S.Map.prototype.clear!=="function"||(new S.Set).size!==0||(new S.Map).size!==0||typeof S.Map.prototype.keys!=="function"||typeof S.Set.prototype.keys!=="function"||typeof S.Map.prototype.forEach!=="function"||typeof S.Set.prototype.forEach!=="function"||u(S.Map)||u(S.Set)||typeof(new S.Map).keys().next!=="function"||cn||!tn){g(S,{Map:qr.Map,Set:qr.Set},true)}if(S.Set.prototype.keys!==S.Set.prototype.values){h(S.Set.prototype,"keys",S.Set.prototype.values,true)}me(Object.getPrototypeOf((new S.Map).keys()));me(Object.getPrototypeOf((new S.Set).keys()));if(c&&S.Set.prototype.has.name!=="has"){var ln=S.Set.prototype.has;U(S.Set.prototype,"has",function has(e){return t(ln,this,e)})}}g(S,qr);de(S.Map);de(S.Set)}var pn=function throwUnlessTargetIsObject(e){if(!ee.TypeIsObject(e)){throw new TypeError("target must be an object")}};var vn={apply:function apply(){return ee.Call(ee.Call,null,arguments)},construct:function construct(e,t){if(!ee.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length>2?arguments[2]:e;if(!ee.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return ee.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){pn(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},enumerate:function enumerate(e){pn(e);return new $e(e,"key")},has:function has(e,t){pn(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(vn,{ownKeys:function ownKeys(e){pn(e);var t=Object.getOwnPropertyNames(e);if(ee.IsCallable(Object.getOwnPropertySymbols)){x(t,Object.getOwnPropertySymbols(e))}return t}})}var yn=function ConvertExceptionToBoolean(e){return!i(e)};if(Object.preventExtensions){Object.assign(vn,{isExtensible:function isExtensible(e){pn(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){pn(e);return yn(function(){Object.preventExtensions(e)})}})}if(s){var hn=function get(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return void 0}return hn(o,t,r)}if("value"in n){return n.value}if(n.get){return ee.Call(n.get,r)}return void 0};var gn=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return gn(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!ee.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return Q.defineProperty(o,r,{value:n})}else{return Q.defineProperty(o,r,{value:n,writable:true,enumerable:true,configurable:true})}}if(i.set){t(i.set,o,n);return true}return false};Object.assign(vn,{defineProperty:function defineProperty(e,t,r){pn(e);return yn(function(){Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){pn(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){pn(e);var r=arguments.length>2?arguments[2]:e;return hn(e,t,r)},set:function set(e,t,r){pn(e);var n=arguments.length>3?arguments[3]:e;return gn(e,t,r,n)}})}if(Object.getPrototypeOf){var bn=Object.getPrototypeOf;vn.getPrototypeOf=function getPrototypeOf(e){pn(e);return bn(e)}}if(Object.setPrototypeOf&&vn.getPrototypeOf){var dn=function(e,t){var r=t;while(r){if(e===r){return true}r=vn.getPrototypeOf(r)}return false};Object.assign(vn,{setPrototypeOf:function setPrototypeOf(e,t){pn(e);if(t!==null&&!ee.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===Q.getPrototypeOf(e)){return true}if(Q.isExtensible&&!Q.isExtensible(e)){return false}if(dn(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var mn=function(e,t){if(!ee.IsCallable(S.Reflect[e])){h(S.Reflect,e,t)}else{var r=a(function(){S.Reflect[e](1);S.Reflect[e](NaN);S.Reflect[e](true);return true});if(r){U(S.Reflect,e,t)}}};Object.keys(vn).forEach(function(e){mn(e,vn[e])});if(c&&S.Reflect.getPrototypeOf.name!=="getPrototypeOf"){var On=S.Reflect.getPrototypeOf;U(S.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(On,S.Reflect,e)})}if(S.Reflect.setPrototypeOf){if(a(function(){S.Reflect.setPrototypeOf(1,{});return true})){U(S.Reflect,"setPrototypeOf",vn.setPrototypeOf)}}if(S.Reflect.defineProperty){if(!a(function(){var e=!S.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!S.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){U(S.Reflect,"defineProperty",vn.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){U(S.Reflect,"construct",vn.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var wn=Date.prototype.toString;var jn=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return ee.Call(wn,this)};U(Date.prototype,"toString",jn)}var Sn={anchor:function anchor(e){return ee.CreateHTML(this,"a","name",e)},big:function big(){return ee.CreateHTML(this,"big","","")},blink:function blink(){return ee.CreateHTML(this,"blink","","")},bold:function bold(){return ee.CreateHTML(this,"b","","")},fixed:function fixed(){return ee.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return ee.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return ee.CreateHTML(this,"font","size",e)},italics:function italics(){return ee.CreateHTML(this,"i","","")},link:function link(e){return ee.CreateHTML(this,"a","href",e)},small:function small(){return ee.CreateHTML(this,"small","","")},strike:function strike(){return ee.CreateHTML(this,"strike","","")},sub:function sub(){return ee.CreateHTML(this,"sub","","")},sup:function sub(){return ee.CreateHTML(this,"sup","","")}};l(Object.keys(Sn),function(e){var r=String.prototype[e];var n=false;if(ee.IsCallable(r)){var o=t(r,"",' " ');var i=E([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){U(String.prototype,e,Sn[e])}});var Tn=function(){if(!X){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e(W())!=="undefined"){return true}if(e([W()])!=="[null]"){return true}var t={a:W()};t[W()]=true;if(e(t)!=="{}"){return true}return false}();var In=a(function(){if(!X){return true}return JSON.stringify(Object(W()))==="{}"&&JSON.stringify([Object(W())])==="[{}]"});if(Tn||!In){var En=JSON.stringify;U(JSON,"stringify",function stringify(e){if(typeof e==="symbol"){return}var n;if(arguments.length>1){n=arguments[1]}var o=[e];if(!r(n)){var i=ee.IsCallable(n)?n:null;var a=function(e,r){var n=i?t(i,this,e,r):r;if(typeof n!=="symbol"){if(K.symbol(n)){return Tt({})(n)}else{return n}}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return En.apply(this,o)})}return S}); //# sourceMappingURL=es6-shim.map diff --git a/package.json b/package.json index d86036cd..50f064ad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.34.1", + "version": "0.34.2", "author": "Paul Miller (http://paulmillr.com)", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [