From 9439339247a2d9dbaf602bc055d2a5b7c409559f Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 9 Feb 2016 13:54:58 -0800 Subject: [PATCH] v0.34.4 --- CHANGELOG.md | 5 +++++ 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, 18 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e1818d6..0566111a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # es6-shim x.x.x (not yet released) +# es6-shim 0.34.4 (9 Feb 2016) +* [Fix] 'Uncaught (in promise) TypeError' in Chrome 48 (#408, #407) +* [Fix] handle the obscure case where `startsWith` throws on the second parameter (#399) +* [Tests] silence a promise rejection error in Chrome + # es6-shim 0.34.3 (8 Feb 2016) * [Fix] Suppress “uncaught rejection” warnings in Chrome 50 console (#403) * [Fix] ensure ES3 `Number` constants don’t get lost in ES3 browsers (#402) diff --git a/component.json b/component.json index cd2e02ab..97328f36 100644 --- a/component.json +++ b/component.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.34.3", + "version": "0.34.4", "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 becc65f5..67bda87e 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.3 - * see https://github.com/paulmillr/es6-shim/blob/0.34.3/LICENSE + * es6-sham: v0.34.4 + * see https://github.com/paulmillr/es6-shim/blob/0.34.4/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ diff --git a/es6-sham.min.js b/es6-sham.min.js index a176b451..a54792ce 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.3 - * see https://github.com/paulmillr/es6-shim/blob/0.34.3/LICENSE + * es6-sham: v0.34.4 + * see https://github.com/paulmillr/es6-shim/blob/0.34.4/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ diff --git a/es6-shim.js b/es6-shim.js index c88d95f4..3d7de0c7 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.3 - * see https://github.com/paulmillr/es6-shim/blob/0.34.3/LICENSE + * es6-shim: v0.34.4 + * see https://github.com/paulmillr/es6-shim/blob/0.34.4/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ diff --git a/es6-shim.map b/es6-shim.map index c8633016..8fb54b4e 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","MAX_VALUE","MIN_VALUE","NEGATIVE_INFINITY","POSITIVE_INFINITY","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","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 +{"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","MAX_VALUE","MIN_VALUE","NEGATIVE_INFINITY","POSITIVE_INFINITY","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","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 71127ec3..5de91e91 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.3 - * see https://github.com/paulmillr/es6-shim/blob/0.34.3/LICENSE + * es6-shim: v0.34.4 + * see https://github.com/paulmillr/es6-shim/blob/0.34.4/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 M=Function.call.bind(String.prototype.slice);var C=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 G=S.Symbol||{};var W=G.species||"@@species";var H=Number.isNaN||function isNaN(e){return e!==e};var V=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var B=function isArguments(e){return b(e)==="[object Arguments]"};var $=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 U=B(arguments)?B:$;var J={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 K=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var X=typeof G==="function"&&typeof G["for"]==="function"&&J.symbol(G());var Z=J.symbol(G.iterator)?G.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){Z="@@iterator"}if(!S.Reflect){h(S,"Reflect",{})}var Y=S.Reflect;var Q=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||!V(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"||U(e))},GetIterator:function(e){if(U(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&&Y.construct){return Y.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[W];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[G.match];if(typeof t!=="undefined"){return!!t}return J.regex(e)},ToString:function ToString(e){return Q(e)}};if(s&&X){var te=function defineWellKnownSymbol(e){if(J.symbol(G[e])){return G[e]}var t=G["for"]("Symbol."+e);Object.defineProperty(G,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!J.symbol(G.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)])};K(String.prototype,"search",oe)}if(!J.symbol(G.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])};K(String.prototype,"replace",ue)}if(!J.symbol(G.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])};K(String.prototype,"split",ce)}var le=J.symbol(G.match);var pe=le&&function(){var e={};e[G.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)])};K(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,W)){m.getter(e,W,be)}};var me=function(e,t){var r=t||function iterator(){return this};h(e,Z,r);if(!e[Z]&&J.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;K(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){C(t,String.fromCharCode(r))}else{r-=65536;C(t,String.fromCharCode((r>>10)+55296));C(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 M(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 M(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){K(String.prototype,"includes",Pe.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var Me=i(function(){"/a/".startsWith(/a/)});var Ce="abc".startsWith("a",Infinity)===false;if(!Me||!Ce){K(String.prototype,"startsWith",Pe.startsWith);K(String.prototype,"endsWith",Pe.endsWith)}}if(X){var xe=a(function(){var e=/a/;e[G.match]=false;return"/a/".startsWith(e)});if(!xe){K(String.prototype,"startsWith",Pe.startsWith)}var Ne=a(function(){var e=/a/;e[G.match]=false;return"/a/".endsWith(e)});if(!Ne){K(String.prototype,"endsWith",Pe.endsWith)}var Ae=a(function(){var e=/a/;e[G.match]=false;return"/a/".includes(e)});if(!Ae){K(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 Ge={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(U(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 We(e)}else if(this.kind==="value"){return We(this.object[e])}else{return We([e,this.object[e]])}}return We()}});me(Be.prototype);var $e=Array.of===Ge.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(!$e){K(Array,"of",Ge.of)}var Ue={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(Ye,this,arguments)}else{return t(Ye,this,e)}})}var Qe=-(Math.pow(2,32)-1);var et=function(e,r){var n={length:Qe};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;K(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;K(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;K(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;K(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;K(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;K(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;K(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(J.primitive(t)){return t}}if(typeof e.toString==="function"){t=e.toString();if(J.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=J.primitive(t)?t:gt(t,"number")}else{r=0}if(typeof r==="string"){r=ee.Call(ke,r);if(yt(r)){r=parseInt(M(r,2),2)}else if(ht(r)){r=parseInt(M(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,{});g(mt,{NaN:lt.NaN,MAX_VALUE:lt.MAX_VALUE,MIN_VALUE:lt.MIN_VALUE,NEGATIVE_INFINITY:lt.NEGATIVE_INFINITY,POSITIVE_INFINITY:lt.POSITIVE_INFINITY});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:V,isInteger:function isInteger(e){return V(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})){K(Array.prototype,"find",Ue.find)}if([,1].findIndex(function(e,t){return t===0})!==0){K(Array.prototype,"findIndex",Ue.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){K(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){C(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);try{r.then(null,function(){})}catch(n){return true}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 Mr=a(function(){return!!Pr.all([1,2])});if(!jr||!Sr||!Tr||Ir||!Er||Mr){Promise=wr;K(S,"Promise",wr)}if(Promise.all.length!==1){var Cr=Promise.all;K(Promise,"all",function all(e){return ee.Call(Cr,this,arguments)})}if(Promise.race.length!==1){var xr=Promise.race;K(Promise,"race",function race(e){return ee.Call(xr,this,arguments)})}if(Promise.resolve.length!==1){var Nr=Promise.resolve;K(Promise,"resolve",function resolve(e){return ee.Call(Nr,this,arguments)})}if(Promise.reject.length!==1){var Ar=Promise.reject;K(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)||J.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)||J.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 M(t,1)}else if(r==="n"){return+M(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 Gr=a(function(){return new Map([[1,2]]).get(1)===2});if(!Gr){var Wr=S.Map;S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new Wr;if(arguments.length>0){Dr(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(Wr.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,Wr)}var Hr=new Map;var Vr=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 Br=Hr.set(1,2)===Hr;if(!Vr||!Br){var $r=Map.prototype.set;K(Map.prototype,"set",function set(e,r){t($r,this,e===0?0:e,r);return this})}if(!Vr){var Ur=Map.prototype.get;var Jr=Map.prototype.has;g(Map.prototype,{get:function get(e){return t(Ur,this,e===0?0:e)},has:function has(e){return t(Jr,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,Ur);m.preserveToString(Map.prototype.has,Jr)}var Kr=new Set;var Xr=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(Kr);var Zr=Kr.add(1)===Kr;if(!Xr||!Zr){var Yr=Set.prototype.add;Set.prototype.add=function add(e){t(Yr,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,Yr)}if(!Xr){var Qr=Set.prototype.has;Set.prototype.has=function has(e){return t(Qr,this,e===0?0:e)};m.preserveToString(Set.prototype.has,Qr);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;K(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 Be(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 Y.defineProperty(o,r,{value:n})}else{return Y.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===Y.getPrototypeOf(e)){return true}if(Y.isExtensible&&!Y.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){K(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;K(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})){K(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})){K(S.Reflect,"defineProperty",vn.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){K(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)};K(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){K(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(G())!=="undefined"){return true}if(e([G()])!=="[null]"){return true}var t={a:G()};t[G()]=true;if(e(t)!=="{}"){return true}return false}();var In=a(function(){if(!X){return true}return JSON.stringify(Object(G()))==="{}"&&JSON.stringify([Object(G())])==="[{}]"});if(Tn||!In){var En=JSON.stringify;K(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(J.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}); +(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 M=Function.call.bind(String.prototype.slice);var C=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 G=S.Symbol||{};var W=G.species||"@@species";var H=Number.isNaN||function isNaN(e){return e!==e};var V=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var B=function isArguments(e){return b(e)==="[object Arguments]"};var $=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 U=B(arguments)?B:$;var J={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 K=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var X=typeof G==="function"&&typeof G["for"]==="function"&&J.symbol(G());var Z=J.symbol(G.iterator)?G.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){Z="@@iterator"}if(!S.Reflect){h(S,"Reflect",{})}var Y=S.Reflect;var Q=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||!V(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"||U(e))},GetIterator:function(e){if(U(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&&Y.construct){return Y.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[W];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[G.match];if(typeof t!=="undefined"){return!!t}return J.regex(e)},ToString:function ToString(e){return Q(e)}};if(s&&X){var te=function defineWellKnownSymbol(e){if(J.symbol(G[e])){return G[e]}var t=G["for"]("Symbol."+e);Object.defineProperty(G,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!J.symbol(G.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)])};K(String.prototype,"search",oe)}if(!J.symbol(G.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])};K(String.prototype,"replace",ue)}if(!J.symbol(G.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])};K(String.prototype,"split",ce)}var le=J.symbol(G.match);var pe=le&&function(){var e={};e[G.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)])};K(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,W)){m.getter(e,W,be)}};var me=function(e,t){var r=t||function iterator(){return this};h(e,Z,r);if(!e[Z]&&J.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;K(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){C(t,String.fromCharCode(r))}else{r-=65536;C(t,String.fromCharCode((r>>10)+55296));C(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 M(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 M(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){K(String.prototype,"includes",Pe.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var Me=i(function(){"/a/".startsWith(/a/)});var Ce=a(function(){return"abc".startsWith("a",Infinity)===false});if(!Me||!Ce){K(String.prototype,"startsWith",Pe.startsWith);K(String.prototype,"endsWith",Pe.endsWith)}}if(X){var xe=a(function(){var e=/a/;e[G.match]=false;return"/a/".startsWith(e)});if(!xe){K(String.prototype,"startsWith",Pe.startsWith)}var Ne=a(function(){var e=/a/;e[G.match]=false;return"/a/".endsWith(e)});if(!Ne){K(String.prototype,"endsWith",Pe.endsWith)}var Ae=a(function(){var e=/a/;e[G.match]=false;return"/a/".includes(e)});if(!Ae){K(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 Ge={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(U(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 We(e)}else if(this.kind==="value"){return We(this.object[e])}else{return We([e,this.object[e]])}}return We()}});me(Be.prototype);var $e=Array.of===Ge.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(!$e){K(Array,"of",Ge.of)}var Ue={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(Ye,this,arguments)}else{return t(Ye,this,e)}})}var Qe=-(Math.pow(2,32)-1);var et=function(e,r){var n={length:Qe};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;K(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;K(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;K(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;K(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;K(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;K(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;K(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(J.primitive(t)){return t}}if(typeof e.toString==="function"){t=e.toString();if(J.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=J.primitive(t)?t:gt(t,"number")}else{r=0}if(typeof r==="string"){r=ee.Call(ke,r);if(yt(r)){r=parseInt(M(r,2),2)}else if(ht(r)){r=parseInt(M(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,{});g(mt,{NaN:lt.NaN,MAX_VALUE:lt.MAX_VALUE,MIN_VALUE:lt.MIN_VALUE,NEGATIVE_INFINITY:lt.NEGATIVE_INFINITY,POSITIVE_INFINITY:lt.POSITIVE_INFINITY});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:V,isInteger:function isInteger(e){return V(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})){K(Array.prototype,"find",Ue.find)}if([,1].findIndex(function(e,t){return t===0})!==0){K(Array.prototype,"findIndex",Ue.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){K(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){C(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);try{r.then(null,q).then(null,q)}catch(n){return true}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 Mr=a(function(){return!!Pr.all([1,2])});if(!jr||!Sr||!Tr||Ir||!Er||Mr){Promise=wr;K(S,"Promise",wr)}if(Promise.all.length!==1){var Cr=Promise.all;K(Promise,"all",function all(e){return ee.Call(Cr,this,arguments)})}if(Promise.race.length!==1){var xr=Promise.race;K(Promise,"race",function race(e){return ee.Call(xr,this,arguments)})}if(Promise.resolve.length!==1){var Nr=Promise.resolve;K(Promise,"resolve",function resolve(e){return ee.Call(Nr,this,arguments)})}if(Promise.reject.length!==1){var Ar=Promise.reject;K(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)||J.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)||J.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 M(t,1)}else if(r==="n"){return+M(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 Gr=a(function(){return new Map([[1,2]]).get(1)===2});if(!Gr){var Wr=S.Map;S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new Wr;if(arguments.length>0){Dr(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(Wr.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,Wr)}var Hr=new Map;var Vr=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 Br=Hr.set(1,2)===Hr;if(!Vr||!Br){var $r=Map.prototype.set;K(Map.prototype,"set",function set(e,r){t($r,this,e===0?0:e,r);return this})}if(!Vr){var Ur=Map.prototype.get;var Jr=Map.prototype.has;g(Map.prototype,{get:function get(e){return t(Ur,this,e===0?0:e)},has:function has(e){return t(Jr,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,Ur);m.preserveToString(Map.prototype.has,Jr)}var Kr=new Set;var Xr=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(Kr);var Zr=Kr.add(1)===Kr;if(!Xr||!Zr){var Yr=Set.prototype.add;Set.prototype.add=function add(e){t(Yr,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,Yr)}if(!Xr){var Qr=Set.prototype.has;Set.prototype.has=function has(e){return t(Qr,this,e===0?0:e)};m.preserveToString(Set.prototype.has,Qr);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;K(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 Be(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 Y.defineProperty(o,r,{value:n})}else{return Y.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===Y.getPrototypeOf(e)){return true}if(Y.isExtensible&&!Y.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){K(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;K(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})){K(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})){K(S.Reflect,"defineProperty",vn.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){K(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)};K(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){K(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(G())!=="undefined"){return true}if(e([G()])!=="[null]"){return true}var t={a:G()};t[G()]=true;if(e(t)!=="{}"){return true}return false}();var In=a(function(){if(!X){return true}return JSON.stringify(Object(G()))==="{}"&&JSON.stringify([Object(G())])==="[{}]"});if(Tn||!In){var En=JSON.stringify;K(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(J.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 8e2cbe3b..a934954b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.34.3", + "version": "0.34.4", "author": "Paul Miller (http://paulmillr.com)", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [