From 7b8416e586be12edc20e16978978659cbcca0743 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Sun, 26 Apr 2015 12:40:54 -0700 Subject: [PATCH] v0.29.0 --- CHANGELOG.md | 13 +++++++++++++ bower.json | 2 +- component.json | 2 +- es6-sham.map | 2 +- es6-sham.min.js | 2 +- es6-shim.map | 2 +- es6-shim.min.js | 5 +++-- package.json | 2 +- 8 files changed, 22 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e71f673..28172d82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # es6-shim x.x.x (not yet released) +# es6-shim 0.29.0 (26 Apr 2015) +* Test on `io.js` `v1.7` and `v1.8` +* Ensure that shallowly wrapped Maps’ and Sets’ prototypes aren't one level too far away. +* Update `chai` and use new matchers +* Avoid reassigning argument variables to avoid deoptimizations +* Ensure that ES3 browsers get both `Object.is` and `Object.assign` +* Improve `Object.assign` to avoid leaking arguments in v8 +* Ensuring `Number.parseInt === parseInt` (failed in FF 37) +* a little more accurate Math.cbrt (#335) +* Test cleanups +* Adding `Symbol.unscopables` tests +* Adding tests to ensure that default iterators on builtins === the appropriate prototype function. + # es6-shim 0.28.2 (13 Apr 2015) * `Map` and `Set` should have an arity of 0. diff --git a/bower.json b/bower.json index 2f5415ca..e3b5fbcb 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.28.2", + "version": "0.29.0", "repo": "paulmillr/es6-shim", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [ diff --git a/component.json b/component.json index d74d3ace..0a053fac 100644 --- a/component.json +++ b/component.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.28.2", + "version": "0.29.0", "repo": "paulmillr/es6-shim", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [ diff --git a/es6-sham.map b/es6-sham.map index 6a2279c8..1e11c311 100644 --- a/es6-sham.map +++ b/es6-sham.map @@ -1 +1 @@ -{"version":3,"sources":["es6-sham.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","getGlobal","Function","globals","Object","setPrototypeOf","copyDescriptors","target","source","getOwnPropertyNames","forEach","key","defineProperty","getOwnPropertyDescriptor","createAndCopy","origin","proto","create","getPrototypeOf","prototype","set","call","e","__proto__"],"mappings":";;;;;;;;;CAYC,SAAUA,EAAMC,GAEf,SAAWC,UAAW,YAAcA,OAAOC,IAAK,CAE9CD,OAAOD,OACF,UAAWG,WAAY,SAAU,CAItCC,OAAOD,QAAUH,QACZ,CAELD,EAAKM,cAAgBL,OAEvBM,KAAM,WACN,YAGA,IAAIC,GAAY,GAAIC,UAAS,eAG7B,IAAIC,GAAUF,GACd,IAAIG,GAASD,EAAQC,QAWpB,WACC,GAAIA,EAAOC,eAAgB,CAAE,OAK7B,GAAIC,GAAkB,SAAUC,EAAQC,GACtCC,EAAoBD,GAAQE,QAAQ,SAAUC,GAC5CC,EACEL,EACAI,EACAE,EAAyBL,EAAQG,KAGrC,OAAOJ,GAGT,IAAIO,GAAgB,SAAUC,EAAQC,GACpC,MAAOV,GAAgBW,EAAOD,GAAQD,GAExC,IAAIE,GAASb,EAAOa,MACpB,IAAIL,GAAiBR,EAAOQ,cAC5B,IAAIM,GAAiBd,EAAOc,cAC5B,IAAIT,GAAsBL,EAAOK,mBACjC,IAAII,GAA2BT,EAAOS,wBACtC,IAAIG,GAAQZ,EAAOe,SACnB,IAAIC,GAAKf,CACT,KAGEe,EAAMP,EAAyBG,EAAO,aAAaI,GACnDA,GAAIC,QAAS,KAGbhB,GAAiB,SAAUU,EAAQC,GACjCI,EAAIC,KAAKN,EAAQC,EACjB,OAAOD,IAET,MAAOO,GAEPF,GAAOG,UAAW,KAGlB,IAAIH,YAAehB,GAAQ,CACzBC,EAAiBS,MACZ,CAELM,EAAIG,UAAYP,CAGhB,IAAII,YAAehB,GAAQ,CACzBC,EAAiB,SAAUU,EAAQC,GAEjCD,EAAOQ,UAAYP,CACnB,OAAOD,QAEJ,CAGLV,EAAiB,SAAUU,EAAQC,GAEjC,MAAOE,GAAeH,IAElBA,EAAOQ,UAAYP,EAAQD,GAE7BD,EAAcC,EAAQC,MAKhCZ,EAAOC,eAAiBA"} \ No newline at end of file +{"version":3,"sources":["es6-sham.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","getGlobal","Function","globals","Object","setPrototypeOf","getOwnPropertyNames","getOwnPropertyDescriptor","create","defineProperty","getPrototypeOf","objProto","prototype","copyDescriptors","target","source","forEach","key","createAndCopy","origin","proto","set","call","e","__proto__"],"mappings":";;;;;;;;;CAYC,SAAUA,EAAMC,GAEf,SAAWC,UAAW,YAAcA,OAAOC,IAAK,CAE9CD,OAAOD,OACF,UAAWG,WAAY,SAAU,CAItCC,OAAOD,QAAUH,QACZ,CAELD,EAAKM,cAAgBL,OAEvBM,KAAM,WACN,YAGA,IAAIC,GAAY,GAAIC,UAAS,eAG7B,IAAIC,GAAUF,GACd,IAAIG,GAASD,EAAQC,QAWpB,WACC,GAAIA,EAAOC,eAAgB,CAAE,OAK7B,GAAIC,GAAsBF,EAAOE,mBACjC,IAAIC,GAA2BH,EAAOG,wBACtC,IAAIC,GAASJ,EAAOI,MACpB,IAAIC,GAAiBL,EAAOK,cAC5B,IAAIC,GAAiBN,EAAOM,cAC5B,IAAIC,GAAWP,EAAOQ,SAEtB,IAAIC,GAAkB,SAAUC,EAAQC,GAEtCT,EAAoBS,GAAQC,QAAQ,SAAUC,GAC5CR,EACEK,EACAG,EACAV,EAAyBQ,EAAQE,KAGrC,OAAOH,GAGT,IAAII,GAAgB,SAAUC,EAAQC,GACpC,MAAOP,GAAgBL,EAAOY,GAAQD,GAExC,IAAIE,GAAKhB,CACT,KAGEgB,EAAMd,EAAyBI,EAAU,aAAaU,GACtDA,GAAIC,QAAS,KAGbjB,GAAiB,SAAUc,EAAQC,GACjCC,EAAIC,KAAKH,EAAQC,EACjB,OAAOD,IAET,MAAOI,GAEPF,GAAOG,UAAW,KAGlB,IAAIH,YAAejB,GAAQ,CACzBC,EAAiBa,MACZ,CAELG,EAAIG,UAAYb,CAGhB,IAAIU,YAAejB,GAAQ,CACzBC,EAAiB,SAAUc,EAAQC,GAEjCD,EAAOK,UAAYJ,CACnB,OAAOD,QAEJ,CAGLd,EAAiB,SAAUc,EAAQC,GAEjC,MAAOV,GAAeS,IAElBA,EAAOK,UAAYJ,EAAQD,GAE7BD,EAAcC,EAAQC,MAKhChB,EAAOC,eAAiBA"} \ No newline at end of file diff --git a/es6-sham.min.js b/es6-sham.min.js index dba4ecc9..dffa3387 100644 --- a/es6-sham.min.js +++ b/es6-sham.min.js @@ -7,5 +7,5 @@ * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ -(function(t,e){if(typeof define==="function"&&define.amd){define(e)}else if(typeof exports==="object"){module.exports=e()}else{t.returnExports=e()}})(this,function(){"use strict";var t=new Function("return this;");var e=t();var r=e.Object;(function(){if(r.setPrototypeOf){return}var t=function(t,e){i(e).forEach(function(r){o(t,r,c(e,r))});return t};var e=function(e,r){return t(n(r),e)};var n=r.create;var o=r.defineProperty;var f=r.getPrototypeOf;var i=r.getOwnPropertyNames;var c=r.getOwnPropertyDescriptor;var u=r.prototype;var a,_;try{a=c(u,"__proto__").set;a.call({},null);_=function(t,e){a.call(t,e);return t}}catch(p){a={__proto__:null};if(a instanceof r){_=e}else{a.__proto__=u;if(a instanceof r){_=function(t,e){t.__proto__=e;return t}}else{_=function(t,r){return f(t)?(t.__proto__=r,t):e(t,r)}}}}r.setPrototypeOf=_})()}); +(function(t,e){if(typeof define==="function"&&define.amd){define(e)}else if(typeof exports==="object"){module.exports=e()}else{t.returnExports=e()}})(this,function(){"use strict";var t=new Function("return this;");var e=t();var r=e.Object;(function(){if(r.setPrototypeOf){return}var t=r.getOwnPropertyNames;var e=r.getOwnPropertyDescriptor;var n=r.create;var o=r.defineProperty;var f=r.getPrototypeOf;var i=r.prototype;var c=function(r,n){t(n).forEach(function(t){o(r,t,e(n,t))});return r};var u=function(t,e){return c(n(e),t)};var a,_;try{a=e(i,"__proto__").set;a.call({},null);_=function(t,e){a.call(t,e);return t}}catch(p){a={__proto__:null};if(a instanceof r){_=u}else{a.__proto__=i;if(a instanceof r){_=function(t,e){t.__proto__=e;return t}}else{_=function(t,e){return f(t)?(t.__proto__=e,t):u(t,e)}}}}r.setPrototypeOf=_})()}); //# sourceMappingURL=es6-sham.map \ No newline at end of file diff --git a/es6-shim.map b/es6-shim.map index b3d13c6a..952f8298 100644 --- a/es6-shim.map +++ b/es6-shim.map @@ -1 +1 @@ -{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","not","notThunker","func","notThunk","apply","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","supportsSubclassing","C","f","Object","setPrototypeOf","Sub","Subclass","arg","o","prototype","create","constructor","value","arePropertyDescriptorsSupported","defineProperty","startsWithRejectsRegex","String","startsWith","startsWithHandlesInfinity","Infinity","getGlobal","Function","globals","globalIsFinite","isFinite","supportsDescriptors","hasStrictMode","call","startsWithIsCompliant","_indexOf","bind","indexOf","_toString","toString","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","Symbol","symbolSpecies","species","Type","object","x","string","regex","symbol","numberIsNaN","Number","isNaN","numberIsFinite","name","force","configurable","enumerable","writable","Value","getter","TypeError","get","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","preserveToString","target","source","defineProperties","map","keys","forEach","method","properties","Prototype","$iterator$","iterator","Set","addIterator","impl","isArguments","str","result","length","callee","safeApply","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","ToInt32","ToNumber","ToUint32","ToInteger","number","Math","floor","abs","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","it","IteratorNext","next","Construct","obj","_es6construct","CreateHTML","tag","attribute","S","p1","escapedV","replace","p2","p3","emulateES6construct","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","push","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub",1,"origStringRaw","stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","searchStr","startArg","start","max","slice","endsWith","thisLen","posArg","pos","end","min","includes","searchString","position","codePointAt","first","charCodeAt","isEnd","second","origIncludes","hasStringTrimBug","trim","ws","trimRegexp","RegExp","StringIterator","_s","_i","done","substr","ArrayShims","from","iterable","mapFn","list","hasThisArg","thisArg","usingIterator","iterationValue","Array","of","iteratorResult","array","kind","retval","ObjectIterator","getAllKeys","shift","arrayOfSupportsSubclassing","Foo","fooArr","origArrayOf","ArrayPrototypeShims","copyWithin","to","fin","count","direction","fill","O","relativeStart","relativeEnd","find","predicate","findIndex","values","entries","unscopables","originalArrayPrototypeValues","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","origArrayFrom","maxSafeInteger","pow","MIN_SAFE_INTEGER","EPSILON","parseInt","parseFloat","isInteger","isSafeInteger","item","idx","is","isEnumerableOn","propertyIsEnumerable","assignReducer","symbols","getOwnPropertySymbols","filter","concat","reduce","ObjectShims","assign","magic","checkArgs","proto","polyfill","assignHasPendingExceptions","preventExtensions","thrower","origAssign","FAKENULL","gpo","spo","p","objectKeysAcceptsPrimitives","originalObjectKeys","getOwnPropertyNames","objectGOPNAcceptsPrimitives","originalObjectGetOwnPropertyNames","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","flags","regExpFlagsGetter","global","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","OrigRegExp","RegExpShim","pattern","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","prop","square","n","add","inverseEpsilon","roundTiesToEven","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","MathShims","acosh","NaN","log","E","sqrt","asinh","atanh","cbrt","negate","clz32","LOG2E","cosh","exp","expm1","t","sum","hypot","y","anyNaN","allZero","anyInfinity","numbers","every","num","largest","divided","log2","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","MAX_VALUE","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","ceil","origImul","PromiseShim","Promise","Promise$prototype","IsPromise","promise","_promiseConstructor","_status","PromiseCapability","capability","resolver","resolve","reject","setTimeout","makeZeroTimeout","window","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","P","task","then","enqueue","setImmediate","process","nextTick","updatePromiseFromPotentialThenable","triggerPromiseReactions","reactions","reaction","handler","updateResult","promiseResolutionHandler","onFulfilled","onRejected","_resolveReactions","_rejectReactions","resolution","_result","reason","_promiseAllResolver","index","remaining","all","nextPromise","resolveElement","race","rejectPromise","resolvePromise","catch","resolutionHandler","resolveReaction","rejectReaction","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","testOrder","k","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","type","emptyObject","collectionShims","Map","empty","MapEntry","prev","isRemoved","MapIterator","head","_head","_es6map","_storage","_size","adder","nextItem","Map$prototype","fkey","entry","has","delete","clear","callback","context","SetShim","_es6set","[[SetData]]","Set$prototype","ensureMap","m","charAt","size","hasFKey","entireSet","mapAcceptsArguments","OrigMapNoArgs","isArray","mapUsesSameValueZero","mapSupportsChaining","origMapSet","origMapGet","origMapHas","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","OrigMap","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","mapIterationThrowsStopIterator","Reflect","throwUnlessTargetIsObject","construct","deleteProperty","desc","enumerate","ownKeys","callAndCatchException","internalGet","receiver","parent","undefined","internalSet","existingDesc","ConvertExceptionToBoolean","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","Date","dateToString","shimmedDateToString","valueOf","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","match","toLowerCase"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","not","notThunker","func","notThunk","apply","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","Object","defineProperty","supportsDescriptors","object","name","value","force","configurable","enumerable","writable","defineProperties","map","keys","forEach","method","create","prototype","properties","Prototype","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","startsWithRejectsRegex","String","startsWith","startsWithHandlesInfinity","Infinity","getGlobal","Function","globals","globalIsFinite","isFinite","hasStrictMode","call","startsWithIsCompliant","_indexOf","bind","indexOf","_toString","toString","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","Symbol","symbolSpecies","species","Type","x","string","regex","symbol","numberIsNaN","Number","isNaN","numberIsFinite","Value","getter","TypeError","get","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","preserveToString","target","source","overrideNative","replacement","original","$iterator$","iterator","Set","addIterator","impl","implementation","isArguments","str","result","length","callee","safeApply","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","ToInt32","ToNumber","ToUint32","ToInteger","number","Math","floor","abs","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","it","IteratorNext","next","Construct","obj","_es6construct","CreateHTML","tag","attribute","S","p1","escapedV","replace","p2","p3","emulateES6construct","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","push","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub",1,"stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","numTimes","searchString","searchStr","startArg","start","max","slice","endsWith","thisLen","posArg","pos","end","min","includes","position","codePointAt","first","charCodeAt","isEnd","second","hasStringTrimBug","trim","ws","trimRegexp","RegExp","StringIterator","_s","_i","done","substr","ArrayShims","from","iterable","mapFn","list","hasThisArg","thisArg","usingIterator","iterationValue","Array","of","iteratorResult","array","kind","retval","ObjectIterator","getAllKeys","shift","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","fin","count","direction","fill","O","relativeEnd","find","predicate","findIndex","values","entries","unscopables","originalArrayPrototypeValues","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","maxSafeInteger","pow","MIN_SAFE_INTEGER","EPSILON","parseInt","parseFloat","isInteger","isSafeInteger","item","idx","isEnumerableOn","propertyIsEnumerable","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","symbols","getOwnPropertySymbols","filter","concat","reduce","ObjectShims","assign","is","assignHasPendingExceptions","preventExtensions","thrower","ES5ObjectShims","magic","checkArgs","proto","polyfill","FAKENULL","gpo","spo","p","objectKeysAcceptsPrimitives","originalObjectKeys","getOwnPropertyNames","objectGOPNAcceptsPrimitives","originalObjectGetOwnPropertyNames","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","flags","regExpFlagsGetter","global","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","OrigRegExp","RegExpShim","pattern","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","prop","square","n","add","inverseEpsilon","roundTiesToEven","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","MathShims","acosh","NaN","log","E","sqrt","asinh","atanh","cbrt","negate","exp","clz32","LOG2E","cosh","expm1","t","sum","hypot","y","anyNaN","allZero","anyInfinity","numbers","every","num","largest","divided","log2","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","MAX_VALUE","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","ceil","origImul","PromiseShim","Promise","Promise$prototype","IsPromise","promise","_promiseConstructor","_status","PromiseCapability","capability","resolver","resolve","reject","setTimeout","makeZeroTimeout","window","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","P","task","then","enqueue","setImmediate","process","nextTick","updatePromiseFromPotentialThenable","triggerPromiseReactions","reactions","reaction","handler","updateResult","promiseResolutionHandler","onFulfilled","onRejected","_resolveReactions","_rejectReactions","resolution","_result","reason","_promiseAllResolver","index","remaining","all","nextPromise","resolveElement","race","rejectPromise","resolvePromise","Identity","Thrower","catch","resolutionHandler","resolveReaction","rejectReaction","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","testOrder","k","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","type","emptyObject","collectionShims","Map","empty","MapEntry","prev","isRemoved","MapIterator","head","_head","_es6map","_storage","_size","adder","nextItem","Map$prototype","fkey","entry","has","delete","clear","callback","context","SetShim","_es6set","[[SetData]]","Set$prototype","ensureMap","m","charAt","size","hasFKey","entireSet","mapAcceptsArguments","OrigMapNoArgs","isArray","mapUsesSameValueZero","mapSupportsChaining","origMapSet","origMapGet","origMapHas","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","OrigMap","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","mapIterationThrowsStopIterator","Reflect","throwUnlessTargetIsObject","construct","deleteProperty","desc","enumerate","ownKeys","callAndCatchException","ConvertExceptionToBoolean","internalGet","receiver","parent","undefined","internalSet","existingDesc","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","Date","dateToString","shimmedDateToString","valueOf","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","match","toLowerCase"],"mappings":"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"} \ No newline at end of file diff --git a/es6-shim.min.js b/es6-shim.min.js index a359ca28..a4ec6c86 100644 --- a/es6-shim.min.js +++ b/es6-shim.min.js @@ -7,6 +7,7 @@ * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ -(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=function zt(e){return function t(){return!e.apply(this,arguments)}};var t=function(e){try{e();return false}catch(t){return true}};var r=function Dt(e){try{return e()}catch(t){return false}};var n=e(t);var o=function(e,t){if(!Object.setPrototypeOf){return false}return r(function(){var r=function n(t){var r=new e(t);Object.setPrototypeOf(r,n.prototype);return r};r.prototype=E(e.prototype,{constructor:{value:e}});return t(r)})};var i=function(){return!t(function(){Object.defineProperty({},"x",{})})};var a=function(){return String.prototype.startsWith&&t(function(){"/a/".startsWith(/a/)})};var u=function(){return String.prototype.startsWith&&"abc".startsWith("a",Infinity)===false}();var s=new Function("return this;");var f=s();var c=f.isFinite;var l=!!Object.defineProperty&&i();var p=function(){return this===null}.call(null);var v=a()&&u;var h=Function.call.bind(String.prototype.indexOf);var y=Function.call.bind(Object.prototype.toString);var b=Function.call.bind(Object.prototype.hasOwnProperty);var g;var d=function(){};var m=f.Symbol||{};var O=m.species||"@@species";var w={object:function(e){return e!==null&&typeof e==="object"},string:function(e){return y(e)==="[object String]"},regex:function(e){return y(e)==="[object RegExp]"},symbol:function(e){return typeof f.Symbol==="function"&&typeof e==="symbol"}};var j=Number.isNaN||function Ft(e){return e!==e};var S=Number.isFinite||function qt(e){return typeof e==="number"&&c(e)};var T=function(e,t,r,n){if(!n&&t in e){return}if(l){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var M={getter:function(e,t,r){if(!l){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!l){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function o(){return e[t]},set:function i(r){e[t]=r}})},redefine:function(e,t,r){if(l){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},preserveToString:function(e,t){T(e,"toString",t.toString.bind(t),true)}};var I=function(e,t){Object.keys(t).forEach(function(r){var n=t[r];T(e,r,n,false)})};var E=Object.create||function(e,t){function r(){}r.prototype=e;var n=new r;if(typeof t!=="undefined"){I(n,t)}return n};var x=w.symbol(m.iterator)?m.iterator:"_es6-shim iterator_";if(f.Set&&typeof(new f.Set)["@@iterator"]==="function"){x="@@iterator"}var P=function(e,t){if(!t){t=function n(){return this}}var r={};r[x]=t;I(e,r);if(!e[x]&&w.symbol(x)){e[x]=t}};var _=function Gt(e){var t=y(e);var r=t==="[object Arguments]";if(!r){r=t!=="[object Array]"&&e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&y(e.callee)==="[object Function]"}return r};var N=Function.call.bind(Function.apply);var C={Call:function Ht(e,t){var r=arguments.length>2?arguments[2]:[];if(!C.IsCallable(e)){throw new TypeError(e+" is not a function")}return N(e,t,r)},RequireObjectCoercible:function(e,t){if(e==null){throw new TypeError(t||"Cannot call method on "+e)}},TypeIsObject:function(e){return e!=null&&Object(e)===e},ToObject:function(e,t){C.RequireObjectCoercible(e,t);return Object(e)},IsCallable:function(e){return typeof e==="function"&&y(e)==="[object Function]"},ToInt32:function(e){return C.ToNumber(e)>>0},ToUint32:function(e){return C.ToNumber(e)>>>0},ToNumber:function(e){if(y(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=C.ToNumber(e);if(j(t)){return 0}if(t===0||!S(t)){return t}return(t>0?1:-1)*Math.floor(Math.abs(t))},ToLength:function(e){var t=C.ToInteger(e);if(t<=0){return 0}if(t>Number.MAX_SAFE_INTEGER){return Number.MAX_SAFE_INTEGER}return t},SameValue:function(e,t){if(e===t){if(e===0){return 1/e===1/t}return true}return j(e)&&j(t)},SameValueZero:function(e,t){return e===t||j(e)&&j(t)},IsIterable:function(e){return C.TypeIsObject(e)&&(typeof e[x]!=="undefined"||_(e))},GetIterator:function(e){if(_(e)){return new g(e,"value")}var t=e[x];if(!C.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=t.call(e);if(!C.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!C.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},Construct:function(e,t){var r;if(C.IsCallable(e[O])){r=e[O]()}else{r=E(e.prototype||null)}I(r,{_es6construct:true});var n=C.Call(e,r,t);return C.TypeIsObject(n)?n:r},CreateHTML:function(e,t,r,n){var o=String(e);var i="<"+t;if(r!==""){var a=String(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var s=i+">";var f=s+o;return f+""}};var k=function(e){if(!C.TypeIsObject(e)){throw new TypeError("bad object")}if(!e._es6construct){if(e.constructor&&C.IsCallable(e.constructor[O])){e=e.constructor[O](e)}I(e,{_es6construct:true})}return e};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var A=Function.apply.bind(String.fromCodePoint);T(String,"fromCodePoint",function Wt(e){return A(this,arguments)},true)}var R={fromCodePoint:function Vt(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){t.push(String.fromCharCode(r))}else{r-=65536;t.push(String.fromCharCode((r>>10)+55296));t.push(String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function $t(e){var t=C.ToObject(e,"bad callSite");var r=C.ToObject(t.raw,"bad raw value");var n=r.length;var o=C.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,s,f,c;while(a=o){break}s=a+1=D){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return z(t,e)},startsWith:function Zt(e){C.RequireObjectCoercible(this);var t=String(this);if(w.regex(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}e=String(e);var r=arguments.length>1?arguments[1]:void 0;var n=Math.max(C.ToInteger(r),0);return t.slice(n,n+e.length)===e},endsWith:function Kt(e){C.RequireObjectCoercible(this);var t=String(this);if(w.regex(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}e=String(e);var r=t.length;var n=arguments.length>1?arguments[1]:void 0;var o=typeof n==="undefined"?r:C.ToInteger(n);var i=Math.min(Math.max(o,0),r);return t.slice(i-e.length,i)===e},includes:function Bt(e){var t=arguments.length>1?arguments[1]:void 0;return h(this,e,t)!==-1},codePointAt:function Jt(e){C.RequireObjectCoercible(this);var t=String(this);var r=C.ToInteger(e);var n=t.length;if(r>=0&&r56319||i){return o}var a=t.charCodeAt(r+1);if(a<56320||a>57343){return o}return(o-55296)*1024+(a-56320)+65536}}};I(String.prototype,F);if("a".includes("a",Infinity)!==false){var q=String.prototype.includes;T(String.prototype,"includes",F.includes,true);M.preserveToString(String.prototype.includes,q)}var G="\x85".trim().length!==1;if(G){delete String.prototype.trim;var H=[" \n \f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var W=new RegExp("(^["+H+"]+)|(["+H+"]+$)","g");I(String.prototype,{trim:function Qt(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return String(this).replace(W,"")}})}var V=function(e){C.RequireObjectCoercible(e);this._s=String(e);this._i=0};V.prototype.next=function(){var e=this._s,t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return{value:void 0,done:true}}var r=e.charCodeAt(t),n,o;if(r<55296||r>56319||t+1===e.length){o=1}else{n=e.charCodeAt(t+1);o=n<56320||n>57343?1:2}this._i=t+o;return{value:e.substr(t,o),done:false}};P(V.prototype);P(String.prototype,function(){return new V(this)});if(!v){T(String.prototype,"startsWith",F.startsWith,true);T(String.prototype,"endsWith",F.endsWith,true)}var $={from:function Yt(e){var t=arguments.length>1?arguments[1]:void 0;var r=C.ToObject(e,"bad iterable");if(typeof t!=="undefined"&&!C.IsCallable(t)){throw new TypeError("Array.from: when provided, the second argument must be a function")}var n=arguments.length>2;var o=n?arguments[2]:void 0;var i=C.IsIterable(r);var a;var u,s,f;if(i){s=0;u=C.IsCallable(this)?Object(new this):[];var c=i?C.GetIterator(r):null;var l;do{l=C.IteratorNext(c);if(!l.done){f=l.value;if(t){u[s]=n?t.call(o,f,s):t(f,s)}else{u[s]=f}s+=1}}while(!l.done);a=s}else{a=C.ToLength(r.length);u=C.IsCallable(this)?Object(new this(a)):new Array(a);for(s=0;s0){e=t.shift();if(!(e in this.object)){continue}if(this.kind==="key"){return U(e)}else if(this.kind==="value"){return U(this.object[e])}else{return U([e,this.object[e]])}}return U()}});P(X.prototype);var K=function(){var e=function r(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&t.length===2}();if(!K){var B=Array.of;T(Array,"of",$.of,true);M.preserveToString(Array.of,B)}var J={copyWithin:function tr(e,t){var r=arguments[2];var n=C.ToObject(this);var o=C.ToLength(n.length);e=C.ToInteger(e);t=C.ToInteger(t);var i=e<0?Math.max(o+e,0):Math.min(e,o);var a=t<0?Math.max(o+t,0):Math.min(t,o);r=typeof r==="undefined"?o:C.ToInteger(r);var u=r<0?Math.max(o+r,0):Math.min(r,o);var s=Math.min(u-a,o-i);var f=1;if(a0){if(b(n,a)){n[i]=n[a]}else{delete n[a]}a+=f;i+=f;s-=1}return n},fill:function rr(e){var t=arguments.length>1?arguments[1]:void 0;var r=arguments.length>2?arguments[2]:void 0;var n=C.ToObject(this);var o=C.ToLength(n.length);t=C.ToInteger(typeof t==="undefined"?0:t);r=C.ToInteger(typeof r==="undefined"?o:r);var i=t<0?Math.max(o+t,0):Math.min(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var o=0,i;o1?arguments[1]:null;for(var o=0;o1){return NaN}if(e===-1){return-Infinity}if(e===1){return Infinity}if(e===0){return e}return.5*Math.log((1+e)/(1-e))},cbrt:function xr(e){e=Number(e);if(e===0){return e}var t=e<0,r;if(t){e=-e}r=Math.pow(e,1/3);return t?-r:r},clz32:function Pr(e){e=Number(e);var t=C.ToUint32(e);if(t===0){return 32}return 31-Math.floor(Math.log(t+.5)*Math.LOG2E)},cosh:function _r(e){e=Number(e);if(e===0){return 1}if(Number.isNaN(e)){return NaN}if(!c(e)){return Infinity}if(e<0){e=-e}if(e>21){return Math.exp(e)/2}return(Math.exp(e)+Math.exp(-e))/2},expm1:function Nr(e){var t=Number(e);if(t===-Infinity){return-1}if(!c(t)||e===0){return t}if(Math.abs(t)>.5){return Math.exp(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function Cr(e,t){var r=false;var n=true;var o=false;var i=[];Array.prototype.every.call(arguments,function(e){var t=Number(e);if(Number.isNaN(t)){r=true}else if(t===Infinity||t===-Infinity){o=true}else if(t!==0){n=false}if(o){return false}else if(!r){i.push(Math.abs(t))}return true});if(o){return Infinity}if(r){return NaN}if(n){return 0}var a=Math.max.apply(Math,i);var u=i.map(function(e){return e/a});var s=u.map(ke).reduce(Ae);return a*Math.sqrt(s)},log2:function kr(e){return Math.log(e)*Math.LOG2E},log10:function Ar(e){return Math.log(e)*Math.LOG10E},log1p:function Rr(e){var t=Number(e);if(t<-1||Number.isNaN(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(Math.log(1+t)/(1+t-1))},sign:function Lr(e){var t=+e;if(t===0){return t}if(Number.isNaN(t)){return t}return t<0?-1:1},sinh:function zr(e){var t=Number(e);if(!c(e)||e===0){return e}if(Math.abs(t)<1){return(Math.expm1(t)-Math.expm1(-t))/2}return(Math.exp(t-1)-Math.exp(-t-1))*Math.E/2},tanh:function Dr(e){var t=Number(e);if(Number.isNaN(e)||t===0){return t}if(t===Infinity){return 1}if(t===-Infinity){return-1}var r=Math.expm1(t);var n=Math.expm1(-t);if(r===Infinity){return 1}if(n===Infinity){return-1}return(r-n)/(Math.exp(t)+Math.exp(-t))},trunc:function Fr(e){var t=Number(e);return t<0?-Math.floor(-t):Math.floor(t)},imul:function qr(e,t){e=C.ToUint32(e);t=C.ToUint32(t);var r=e>>>16&65535;var n=e&65535;var o=t>>>16&65535;var i=t&65535;return n*i+(r*i+n*o<<16>>>0)|0},fround:function Gr(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||j(t)){return t}var r=Math.sign(t);var n=Math.abs(t);if(nDe||j(i)){return r*Infinity}return r*i}};I(Math,qe);T(Math,"log1p",qe.log1p,Math.log1p(-1e-17)!==-1e-17);T(Math,"asinh",qe.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));T(Math,"tanh",qe.tanh,Math.tanh(-2e-17)!==-2e-17);T(Math,"acosh",qe.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);T(Math,"sinh",qe.sinh,Math.sinh(-2e-17)!==-2e-17);var Ge=Math.expm1(10);T(Math,"expm1",qe.expm1,Ge>22025.465794806718||Ge<22025.465794806718);var He=Math.round;var We=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var Ve=Re+1;var $e=2*Re-1;var Ue=[Ve,$e].every(function(e){return Math.round(e)===e});T(Math,"round",function Hr(e){var t=Math.floor(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!We||!Ue);M.preserveToString(Math.round,He);var Xe=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=qe.imul;M.preserveToString(Math.imul,Xe)}if(Math.imul.length!==2){T(Math,"imul",function Wr(e,t){return Xe.apply(Math,arguments)},true);M.preserveToString(Math.imul,Xe)}var Ze=function(){var e,t;C.IsPromise=function(e){if(!C.TypeIsObject(e)){return false}if(!e._promiseConstructor){return false}if(typeof e._status==="undefined"){return false}return true};var r=function(e){if(!C.IsCallable(e)){throw new TypeError("bad promise constructor")}var t=this;var r=function(e,r){t.resolve=e;t.reject=r};t.promise=C.Construct(e,[r]);if(!t.promise._es6construct){throw new TypeError("bad promise constructor")}if(!(C.IsCallable(t.resolve)&&C.IsCallable(t.reject))){throw new TypeError("bad promise constructor")}};var n=f.setTimeout;var o;if(typeof window!=="undefined"&&C.IsCallable(window.postMessage)){o=function(){var e=[];var t="zero-timeout-message";var r=function(r){e.push(r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=e.shift();n()}};window.addEventListener("message",n,true);return r}}var i=function(){var e=f.Promise;return e&&e.resolve&&function(t){return e.resolve().then(t)}};var a=C.IsCallable(f.setImmediate)?f.setImmediate.bind(f):typeof process==="object"&&process.nextTick?process.nextTick:i()||(C.IsCallable(o)?o():function(e){n(e,0)});var u=function(e,t){if(!C.TypeIsObject(e)){return false}var r=t.resolve;var n=t.reject;try{var o=e.then;if(!C.IsCallable(o)){return false}o.call(e,r,n)}catch(i){n(i)}return true};var s=function(e,t){e.forEach(function(e){a(function(){var r=e.handler;var n=e.capability;var o=n.resolve;var i=n.reject;try{var a=r(t);if(a===n.promise){throw new TypeError("self resolution")}var s=u(a,n);if(!s){o(a)}}catch(f){i(f)}})})};var c=function(e,t,n){return function(o){if(o===e){return n(new TypeError("self resolution"))}var i=e._promiseConstructor;var a=new r(i);var s=u(o,a);if(s){return a.promise.then(t,n)}else{return t(o)}}};e=function(e){var t=this;t=k(t);if(!t._promiseConstructor){throw new TypeError("bad promise")}if(typeof t._status!=="undefined"){throw new TypeError("promise already initialized")}if(!C.IsCallable(e)){throw new TypeError("not a valid resolver")}t._status="unresolved";t._resolveReactions=[];t._rejectReactions=[];var r=function(e){if(t._status!=="unresolved"){return}var r=t._resolveReactions;t._result=e;t._resolveReactions=void 0;t._rejectReactions=void 0;t._status="has-resolution";s(r,e)};var n=function(e){if(t._status!=="unresolved"){return}var r=t._rejectReactions;t._result=e;t._resolveReactions=void 0;t._rejectReactions=void 0;t._status="has-rejection";s(r,e)};try{e(r,n)}catch(o){n(o)}return t};t=e.prototype;var l=function(e,t,r,n){var o=false;return function(i){if(o){return}o=true;t[e]=i;if(--n.count===0){var a=r.resolve;a(t)}}};T(e,O,function(e){var r=this;var n=r.prototype||t;e=e||E(n);I(e,{_status:void 0,_result:void 0,_resolveReactions:void 0,_rejectReactions:void 0,_promiseConstructor:void 0});e._promiseConstructor=r;return e});I(e,{all:function p(e){var t=this;var n=new r(t);var o=n.resolve;var i=n.reject;try{if(!C.IsIterable(e)){throw new TypeError("bad iterable")}var a=C.GetIterator(e);var u=[],s={count:1};for(var f=0;;f++){var c=C.IteratorNext(a);if(c.done){break}var p=t.resolve(c.value);var v=l(f,u,n,s);s.count++;p.then(v,n.reject)}if(--s.count===0){o(u)}}catch(h){i(h)}return n.promise},race:function v(e){var t=this;var n=new r(t);var o=n.resolve;var i=n.reject;try{if(!C.IsIterable(e)){throw new TypeError("bad iterable")}var a=C.GetIterator(e);while(true){var u=C.IteratorNext(a);if(u.done){break}var s=t.resolve(u.value);s.then(o,i)}}catch(f){i(f)}return n.promise},reject:function h(e){var t=this;var n=new r(t);var o=n.reject;o(e);return n.promise},resolve:function y(e){var t=this;if(C.IsPromise(e)){var n=e._promiseConstructor;if(n===t){return e}}var o=new r(t);var i=o.resolve;i(e);return o.promise}});I(t,{"catch":function(e){return this.then(void 0,e)},then:function b(e,t){var n=this;if(!C.IsPromise(n)){throw new TypeError("not a promise")}var o=this.constructor;var i=new r(o);if(!C.IsCallable(t)){t=function(e){throw e}}if(!C.IsCallable(e)){e=function(e){return e}}var a=c(n,e,t);var u={capability:i,handler:a};var f={capability:i,handler:t};switch(n._status){case"unresolved":n._resolveReactions.push(u);n._rejectReactions.push(f);break;case"has-resolution":s([u],n._result);break;case"has-rejection":s([f],n._result);break;default:throw new TypeError("unexpected")}return i.promise}});return e}();if(f.Promise){delete f.Promise.accept;delete f.Promise.defer;delete f.Promise.prototype.chain}I(f,{Promise:Ze});var Ke=o(f.Promise,function(e){return e.resolve(42)instanceof e});var Be=!t(function(){f.Promise.reject(42).then(null,5).then(null,d)});var Je=t(function(){f.Promise.call(3,d)});if(!Ke||!Be||!Je){Promise=Ze;T(f,"Promise",Ze,true)}var Qe=function(e){var t=Object.keys(e.reduce(function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Ye=Qe(["z","a","bb"]);var et=Qe(["z",1,"a","3",2]);if(l){var tt=function Vr(e){if(!Ye){return null}var t=typeof e;if(t==="string"){return"$"+e}else if(t==="number"){if(!et){return"n"+e}return e}return null};var rt=function $r(){return Object.create?Object.create(null):{}};var nt={Map:function(){var e={};function t(e,t){this.key=e;this.value=t;this.next=null;this.prev=null}t.prototype.isRemoved=function(){return this.key===e};function r(e,t){this.head=e._head;this.i=this.head;this.kind=t}r.prototype={next:function(){var e=this.i,t=this.kind,r=this.head,n;if(typeof this.i==="undefined"){return{value:void 0,done:true}}while(e.isRemoved()&&e!==r){e=e.prev}while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return{value:n,done:false}}}this.i=void 0;return{value:void 0,done:true}}};P(r.prototype);function n(){var e=this;if(!C.TypeIsObject(e)){throw new TypeError("Constructor Map requires 'new'")}e=k(e);if(!e._es6map){throw new TypeError("bad map")}var r=new t(null,null);r.next=r.prev=r;I(e,{_head:r,_storage:rt(),_size:0});if(arguments.length>0&&typeof arguments[0]!=="undefined"&&arguments[0]!==null){var n=C.GetIterator(arguments[0]);var o=e.set;if(!C.IsCallable(o)){throw new TypeError("bad map")}while(true){var i=C.IteratorNext(n);if(i.done){break}var a=i.value;if(!C.TypeIsObject(a)){throw new TypeError("expected iterable of pairs")}o.call(e,a[0],a[1])}}return e}var o=n.prototype;T(n,O,function(e){var t=this;var r=t.prototype||o;e=e||E(r);I(e,{_es6map:true});return e});M.getter(n.prototype,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});I(n.prototype,{get:function(e){var t=tt(e);if(t!==null){var r=this._storage[t];if(r){return r.value}else{return}}var n=this._head,o=n;while((o=o.next)!==n){if(C.SameValueZero(o.key,e)){return o.value}}},has:function(e){var t=tt(e);if(t!==null){return typeof this._storage[t]!=="undefined"}var r=this._head,n=r;while((n=n.next)!==r){if(C.SameValueZero(n.key,e)){return true}}return false},set:function(e,r){var n=this._head,o=n,i;var a=tt(e);if(a!==null){if(typeof this._storage[a]!=="undefined"){this._storage[a].value=r;return this}else{i=this._storage[a]=new t(e,r);o=n.prev}}while((o=o.next)!==n){if(C.SameValueZero(o.key,e)){o.value=r;return this}}i=i||new t(e,r);if(C.SameValue(-0,e)){i.key=+0}i.next=this._head;i.prev=this._head.prev;i.prev.next=i;i.next.prev=i;this._size+=1;return this},"delete":function(t){var r=this._head,n=r;var o=tt(t);if(o!==null){if(typeof this._storage[o]==="undefined"){return false}n=this._storage[o].prev;delete this._storage[o]}while((n=n.next)!==r){if(C.SameValueZero(n.key,t)){n.key=n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function i(){this._size=0;this._storage=rt();var t=this._head,r=t,n=r.next;while((r=n)!==t){r.key=r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function a(){return new r(this,"key")},values:function u(){return new r(this,"value")},entries:function s(){return new r(this,"key+value")},forEach:function f(e){var t=arguments.length>1?arguments[1]:null;var r=this.entries();for(var n=r.next();!n.done;n=r.next()){if(t){e.call(t,n.value[1],n.value[0],this)}else{e(n.value[1],n.value[0],this)}}}});P(n.prototype,function(){return this.entries()});return n}(),Set:function(){var e=function n(){var e=this;if(!C.TypeIsObject(e)){throw new TypeError("Constructor Set requires 'new'")}e=k(e);if(!e._es6set){throw new TypeError("bad set")}I(e,{"[[SetData]]":null,_storage:rt()});if(arguments.length>0&&typeof arguments[0]!=="undefined"&&arguments[0]!==null){var t=C.GetIterator(arguments[0]);var r=e.add;if(!C.IsCallable(r)){throw new TypeError("bad set")}while(true){var n=C.IteratorNext(t);if(n.done){break}var o=n.value;r.call(e,o)}}return e};var t=e.prototype;T(e,O,function(e){var r=this;var n=r.prototype||t;e=e||E(n);I(e,{_es6set:true});return e});var r=function o(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new nt.Map;Object.keys(e._storage).forEach(function(e){if(e.charCodeAt(0)===36){e=e.slice(1)}else if(e.charAt(0)==="n"){e=+e.slice(1)}else{e=+e}t.set(e,e)});e._storage=null}};M.getter(e.prototype,"size",function(){if(typeof this._storage==="undefined"){ -throw new TypeError("size method called on incompatible Set")}r(this);return this["[[SetData]]"].size});I(e.prototype,{has:function(e){var t;if(this._storage&&(t=tt(e))!==null){return!!this._storage[t]}r(this);return this["[[SetData]]"].has(e)},add:function(e){var t;if(this._storage&&(t=tt(e))!==null){this._storage[t]=true;return this}r(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){var t;if(this._storage&&(t=tt(e))!==null){var n=b(this._storage,t);return delete this._storage[t]&&n}r(this);return this["[[SetData]]"]["delete"](e)},clear:function i(){if(this._storage){this._storage=rt()}else{this["[[SetData]]"].clear()}},values:function a(){r(this);return this["[[SetData]]"].values()},entries:function u(){r(this);return this["[[SetData]]"].entries()},forEach:function s(e){var t=arguments.length>1?arguments[1]:null;var n=this;r(n);this["[[SetData]]"].forEach(function(r,o){if(t){e.call(t,o,o,n)}else{e(o,o,n)}})}});T(e,"keys",e.values,true);P(e.prototype,function(){return this.values()});return e}()};I(f,nt);if(f.Map||f.Set){var ot=r(function(){return new Map([[1,2]]).get(1)===2});if(!ot){var it=f.Map;f.Map=function Ur(){if(!(this instanceof Ur)){throw new TypeError('Constructor Map requires "new"')}var e=new it;var t;if(arguments.length>0){t=arguments[0]}if(Array.isArray(t)||w.string(t)){Array.prototype.forEach.call(t,function(t){e.set(t[0],t[1])})}else if(t instanceof Ur){Ur.prototype.forEach.call(t,function(t,r){e.set(r,t)})}Object.setPrototypeOf(e,f.Map.prototype);T(e,"constructor",Ur,true);return e};f.Map.prototype=E(it.prototype);M.preserveToString(f.Map,it)}var at=new Map;var ut=function(e){e["delete"](0);e["delete"](-0);e.set(0,3);e.get(-0,4);return e.get(0)===3&&e.get(-0)===4}(at);var st=at.set(1,2)===at;if(!ut||!st){var ft=Map.prototype.set;T(Map.prototype,"set",function Xr(e,t){ft.call(this,e===0?0:e,t);return this},true);M.preserveToString(Map.prototype.set,ft)}if(!ut){var ct=Map.prototype.get;var lt=Map.prototype.has;I(Map.prototype,{get:function Zr(e){return ct.call(this,e===0?0:e)},has:function Kr(e){return lt.call(this,e===0?0:e)}},true);M.preserveToString(Map.prototype.get,ct);M.preserveToString(Map.prototype.has,lt)}var pt=new Set;var vt=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(pt);var ht=pt.add(1)===pt;if(!vt||!ht){var yt=Set.prototype.add;Set.prototype.add=function Br(e){yt.call(this,e===0?0:e);return this};M.preserveToString(Set.prototype.add,yt)}if(!vt){var bt=Set.prototype.has;Set.prototype.has=function Jr(e){return bt.call(this,e===0?0:e)};M.preserveToString(Set.prototype.has,bt);var gt=Set.prototype["delete"];Set.prototype["delete"]=function Qr(e){return gt.call(this,e===0?0:e)};M.preserveToString(Set.prototype["delete"],gt)}var dt=o(f.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var mt=Object.setPrototypeOf&&!dt;var Ot=function(){try{return!(f.Map()instanceof f.Map)}catch(e){return e instanceof TypeError}}();if(f.Map.length!==0||mt||!Ot){var wt=f.Map;f.Map=function Yr(){if(!(this instanceof Yr)){throw new TypeError('Constructor Map requires "new"')}var e=arguments.length>0?new wt(arguments[0]):new wt;Object.setPrototypeOf(e,Yr.prototype);T(e,"constructor",Yr,true);return e};f.Map.prototype=E(wt.prototype);M.preserveToString(f.Map,wt)}var jt=o(f.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var St=Object.setPrototypeOf&&!jt;var Tt=function(){try{return!(f.Set()instanceof f.Set)}catch(e){return e instanceof TypeError}}();if(f.Set.length!==0||St||!Tt){var Mt=f.Set;f.Set=function en(){if(!(this instanceof en)){throw new TypeError('Constructor Set requires "new"')}var e=arguments.length>0?new Mt(arguments[0]):new Mt;Object.setPrototypeOf(e,en.prototype);T(e,"constructor",en,true);return e};f.Set.prototype=E(Mt.prototype);M.preserveToString(f.Set,Mt)}var It=!r(function(){return(new Map).keys().next().done});if(typeof f.Map.prototype.clear!=="function"||(new f.Set).size!==0||(new f.Map).size!==0||typeof f.Map.prototype.keys!=="function"||typeof f.Set.prototype.keys!=="function"||typeof f.Map.prototype.forEach!=="function"||typeof f.Set.prototype.forEach!=="function"||n(f.Map)||n(f.Set)||typeof(new f.Map).keys().next!=="function"||It||!dt){delete f.Map;delete f.Set;I(f,{Map:nt.Map,Set:nt.Set},true)}}if(f.Set.prototype.keys!==f.Set.prototype.values){T(f.Set.prototype,"keys",f.Set.prototype.values,true)}P(Object.getPrototypeOf((new f.Map).keys()));P(Object.getPrototypeOf((new f.Set).keys()))}if(!f.Reflect){T(f,"Reflect",{})}var Et=f.Reflect;var xt=function tn(e){if(!C.TypeIsObject(e)){throw new TypeError("target must be an object")}};I(f.Reflect,{apply:function rn(){return C.Call.apply(null,arguments)},construct:function nn(e,t){if(!C.IsCallable(e)){throw new TypeError("First argument must be callable.")}return C.Construct(e,t)},deleteProperty:function on(e,t){xt(e);if(l){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},enumerate:function an(e){xt(e);return new X(e,"key")},has:function un(e,t){xt(e);return t in e}});if(Object.getOwnPropertyNames){I(f.Reflect,{ownKeys:function sn(e){xt(e);var t=Object.getOwnPropertyNames(e);if(C.IsCallable(Object.getOwnPropertySymbols)){t.push.apply(t,Object.getOwnPropertySymbols(e))}return t}})}if(Object.preventExtensions){I(f.Reflect,{isExtensible:function fn(e){xt(e);return Object.isExtensible(e)},preventExtensions:function cn(e){xt(e);return Nt(function(){Object.preventExtensions(e)})}})}if(l){var Pt=function ln(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return undefined}return Pt(o,t,r)}if("value"in n){return n.value}if(n.get){return n.get.call(r)}return undefined};var _t=function pn(e,t,r,n){var o=Object.getOwnPropertyDescriptor(e,t);if(!o){var i=Object.getPrototypeOf(e);if(i!==null){return _t(i,t,r,n)}o={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in o){if(!o.writable){return false}if(!C.TypeIsObject(n)){return false}var a=Object.getOwnPropertyDescriptor(n,t);if(a){return Et.defineProperty(n,t,{value:r})}else{return Et.defineProperty(n,t,{value:r,writable:true,enumerable:true,configurable:true})}}if(o.set){o.set.call(n,r);return true}return false};var Nt=function vn(e){return!t(e)};I(f.Reflect,{defineProperty:function hn(e,t,r){xt(e);return Nt(function(){Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function yn(e,t){xt(e);return Object.getOwnPropertyDescriptor(e,t)},get:function bn(e,t){xt(e);var r=arguments.length>2?arguments[2]:e;return Pt(e,t,r)},set:function gn(e,t,r){xt(e);var n=arguments.length>3?arguments[3]:e;return _t(e,t,r,n)}})}if(Object.getPrototypeOf){var Ct=Object.getPrototypeOf;I(f.Reflect,{getPrototypeOf:function dn(e){xt(e);return Ct(e)}})}if(Object.setPrototypeOf){var kt=function(e,t){while(t){if(e===t){return true}t=Et.getPrototypeOf(t)}return false};I(f.Reflect,{setPrototypeOf:function mn(e,t){xt(e);if(t!==null&&!C.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===Et.getPrototypeOf(e)){return true}if(Et.isExtensible&&!Et.isExtensible(e)){return false}if(kt(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}if(String(new Date(NaN))!=="Invalid Date"){var At=Date.prototype.toString;var Rt=function On(){var e=+this;if(e!==e){return"Invalid Date"}return At.call(this)};T(Rt,"toString",At.toString,true);T(Date.prototype,"toString",Rt,true)}var Lt={anchor:function wn(e){return C.CreateHTML(this,"a","name",e)},big:function jn(){return C.CreateHTML(this,"big","","")},blink:function Sn(){return C.CreateHTML(this,"blink","","")},bold:function Tn(){return C.CreateHTML(this,"b","","")},fixed:function Mn(){return C.CreateHTML(this,"tt","","")},fontcolor:function In(e){return C.CreateHTML(this,"font","color",e)},fontsize:function En(e){return C.CreateHTML(this,"font","size",e)},italics:function xn(){return C.CreateHTML(this,"i","","")},link:function Pn(e){return C.CreateHTML(this,"a","href",e)},small:function _n(){return C.CreateHTML(this,"small","","")},strike:function Nn(){return C.CreateHTML(this,"strike","","")},sub:function Cn(){return C.CreateHTML(this,"sub","","")},sup:function kn(){return C.CreateHTML(this,"sup","","")}};I(String.prototype,Lt);Object.keys(Lt).forEach(function(e){var t=String.prototype[e];var r=false;if(C.IsCallable(t)){var n=t.call("",' " ');var o=[].concat(n.match(/"/g)).length;r=n!==n.toLowerCase()||o>2}else{r=true}if(r){T(String.prototype,e,Lt[e],true)}});return f}); +(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=function Lt(e){return function t(){return!e.apply(this,arguments)}};var t=function(e){try{e();return false}catch(t){return true}};var r=function zt(e){try{return e()}catch(t){return false}};var n=e(t);var o=function(){return!t(function(){Object.defineProperty({},"x",{})})};var i=!!Object.defineProperty&&o();var a=function(e,t,r,n){if(!n&&t in e){return}if(i){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var u=function(e,t){Object.keys(t).forEach(function(r){var n=t[r];a(e,r,n,false)})};var s=Object.create||function(e,t){function r(){}r.prototype=e;var n=new r;if(typeof t!=="undefined"){u(n,t)}return n};var f=function(e,t){if(!Object.setPrototypeOf){return false}return r(function(){var r=function n(t){var r=new e(t);Object.setPrototypeOf(r,n.prototype);return r};r.prototype=s(e.prototype,{constructor:{value:e}});return t(r)})};var c=function(){return String.prototype.startsWith&&t(function(){"/a/".startsWith(/a/)})};var l=function(){return String.prototype.startsWith&&"abc".startsWith("a",Infinity)===false}();var p=new Function("return this;");var v=p();var h=v.isFinite;var y=function(){return this===null}.call(null);var b=c()&&l;var g=Function.call.bind(String.prototype.indexOf);var d=Function.call.bind(Object.prototype.toString);var m=Function.call.bind(Object.prototype.hasOwnProperty);var O;var w=function(){};var j=v.Symbol||{};var M=j.species||"@@species";var T={object:function(e){return e!==null&&typeof e==="object"},string:function(e){return d(e)==="[object String]"},regex:function(e){return d(e)==="[object RegExp]"},symbol:function(e){return typeof v.Symbol==="function"&&typeof e==="symbol"}};var S=Number.isNaN||function Dt(e){return e!==e};var I=Number.isFinite||function Ft(e){return typeof e==="number"&&h(e)};var E={getter:function(e,t,r){if(!i){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!i){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function o(){return e[t]},set:function a(r){e[t]=r}})},redefine:function(e,t,r){if(i){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},preserveToString:function(e,t){a(e,"toString",t.toString.bind(t),true)}};var x=function qt(e,t,r){var n=e[t];a(e,t,r,true);E.preserveToString(e[t],n)};var P=T.symbol(j.iterator)?j.iterator:"_es6-shim iterator_";if(v.Set&&typeof(new v.Set)["@@iterator"]==="function"){P="@@iterator"}var _=function(e,t){var r=t||function o(){return this};var n={};n[P]=r;u(e,n);if(!e[P]&&T.symbol(P)){e[P]=r}};var N=function Gt(e){var t=d(e);var r=t==="[object Arguments]";if(!r){r=t!=="[object Array]"&&e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&d(e.callee)==="[object Function]"}return r};var C=Function.call.bind(Function.apply);var k={Call:function Ht(e,t){var r=arguments.length>2?arguments[2]:[];if(!k.IsCallable(e)){throw new TypeError(e+" is not a function")}return C(e,t,r)},RequireObjectCoercible:function(e,t){if(e==null){throw new TypeError(t||"Cannot call method on "+e)}},TypeIsObject:function(e){return e!=null&&Object(e)===e},ToObject:function(e,t){k.RequireObjectCoercible(e,t);return Object(e)},IsCallable:function(e){return typeof e==="function"&&d(e)==="[object Function]"},ToInt32:function(e){return k.ToNumber(e)>>0},ToUint32:function(e){return k.ToNumber(e)>>>0},ToNumber:function(e){if(d(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=k.ToNumber(e);if(S(t)){return 0}if(t===0||!I(t)){return t}return(t>0?1:-1)*Math.floor(Math.abs(t))},ToLength:function(e){var t=k.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 S(e)&&S(t)},SameValueZero:function(e,t){return e===t||S(e)&&S(t)},IsIterable:function(e){return k.TypeIsObject(e)&&(typeof e[P]!=="undefined"||N(e))},GetIterator:function(e){if(N(e)){return new O(e,"value")}var t=e[P];if(!k.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=t.call(e);if(!k.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!k.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},Construct:function(e,t){var r;if(k.IsCallable(e[M])){r=e[M]()}else{r=s(e.prototype||null)}u(r,{_es6construct:true});var n=k.Call(e,r,t);return k.TypeIsObject(n)?n:r},CreateHTML:function(e,t,r,n){var o=String(e);var i="<"+t;if(r!==""){var a=String(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var s=i+">";var f=s+o;return f+""}};var A=function(e){if(!k.TypeIsObject(e)){throw new TypeError("bad object")}var t=e;if(!t._es6construct){if(t.constructor&&k.IsCallable(t.constructor[M])){t=t.constructor[M](t)}u(t,{_es6construct:true})}return t};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var R=Function.apply.bind(String.fromCodePoint);x(String,"fromCodePoint",function Wt(e){return R(this,arguments)})}var L={fromCodePoint:function Vt(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){t.push(String.fromCharCode(r))}else{r-=65536;t.push(String.fromCharCode((r>>10)+55296));t.push(String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function $t(e){var t=k.ToObject(e,"bad callSite");var r=k.ToObject(t.raw,"bad raw value");var n=r.length;var o=k.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,s,f,c;while(a=o){break}s=a+1=D){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return z(t,r)},startsWith:function Zt(e){k.RequireObjectCoercible(this);var t=String(this);if(T.regex(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=String(e);var n=arguments.length>1?arguments[1]:void 0;var o=Math.max(k.ToInteger(n),0);return t.slice(o,o+r.length)===r},endsWith:function Kt(e){k.RequireObjectCoercible(this);var t=String(this);if(T.regex(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=String(e);var n=t.length;var o=arguments.length>1?arguments[1]:void 0;var i=typeof o==="undefined"?n:k.ToInteger(o);var a=Math.min(Math.max(i,0),n);return t.slice(a-r.length,a)===r},includes:function Bt(e){var t=arguments.length>1?arguments[1]:void 0;return g(this,e,t)!==-1},codePointAt:function Jt(e){k.RequireObjectCoercible(this);var t=String(this);var r=k.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}}};u(String.prototype,F);if("a".includes("a",Infinity)!==false){x(String.prototype,"includes",F.includes)}var q="\x85".trim().length!==1;if(q){delete String.prototype.trim;var G=[" \n \f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var H=new RegExp("(^["+G+"]+)|(["+G+"]+$)","g");u(String.prototype,{trim:function Qt(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return String(this).replace(H,"")}})}var W=function(e){k.RequireObjectCoercible(e);this._s=String(e);this._i=0};W.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}};_(W.prototype);_(String.prototype,function(){return new W(this)});if(!b){x(String.prototype,"startsWith",F.startsWith);x(String.prototype,"endsWith",F.endsWith)}var V={from:function Yt(e){var t=arguments.length>1?arguments[1]:void 0;var r=k.ToObject(e,"bad iterable");if(typeof t!=="undefined"&&!k.IsCallable(t)){throw new TypeError("Array.from: when provided, the second argument must be a function")}var n=arguments.length>2;var o=n?arguments[2]:void 0;var i=k.IsIterable(r);var a;var u,s,f;if(i){s=0;u=k.IsCallable(this)?Object(new this):[];var c=i?k.GetIterator(r):null;var l;do{l=k.IteratorNext(c);if(!l.done){f=l.value;if(t){u[s]=n?t.call(o,f,s):t(f,s)}else{u[s]=f}s+=1}}while(!l.done);a=s}else{a=k.ToLength(r.length);u=k.IsCallable(this)?Object(new this(a)):new Array(a);for(s=0;s0){e=t.shift();if(!(e in this.object)){continue}if(this.kind==="key"){return $(e)}else if(this.kind==="value"){return $(this.object[e])}else{return $([e,this.object[e]])}}return $()}});_(U.prototype);var Z=function(){var e=function r(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&t.length===2}();if(!Z){x(Array,"of",V.of)}var K={copyWithin:function tr(e,t){var r=arguments[2];var n=k.ToObject(this);var o=k.ToLength(n.length);var i=k.ToInteger(e);var a=k.ToInteger(t);var u=i<0?Math.max(o+i,0):Math.min(i,o);var s=a<0?Math.max(o+a,0):Math.min(a,o);r=typeof r==="undefined"?o:k.ToInteger(r);var f=r<0?Math.max(o+r,0):Math.min(r,o);var c=Math.min(f-s,o-u);var l=1;if(s0){if(m(n,s)){n[u]=n[s]}else{delete n[s]}s+=l;u+=l;c-=1}return n},fill:function rr(e){var t=arguments.length>1?arguments[1]:void 0;var r=arguments.length>2?arguments[2]:void 0;var n=k.ToObject(this);var o=k.ToLength(n.length);t=k.ToInteger(typeof t==="undefined"?0:t);r=k.ToInteger(typeof r==="undefined"?o:r);var i=t<0?Math.max(o+t,0):Math.min(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var o=0,i;o1?arguments[1]:null;for(var o=0;o1){return NaN}if(t===-1){return-Infinity}if(t===1){return Infinity}if(t===0){return t}return.5*Math.log((1+t)/(1-t))},cbrt:function _r(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(Math.log(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function Nr(e){var t=Number(e);var r=k.ToUint32(t);if(r===0){return 32}return 31-Math.floor(Math.log(r+.5)*Math.LOG2E)},cosh:function Cr(e){var t=Number(e);if(t===0){return 1}if(Number.isNaN(t)){return NaN}if(!h(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 kr(e){var t=Number(e);if(t===-Infinity){return-1}if(!h(t)||t===0){return t}if(Math.abs(t)>.5){return Math.exp(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function Ar(e,t){var r=false;var n=true;var o=false;var i=[];Array.prototype.every.call(arguments,function(e){var t=Number(e);if(Number.isNaN(t)){r=true}else if(t===Infinity||t===-Infinity){o=true}else if(t!==0){n=false}if(o){return false}else if(!r){i.push(Math.abs(t))}return true});if(o){return Infinity}if(r){return NaN}if(n){return 0}var a=Math.max.apply(Math,i);var u=i.map(function(e){return e/a});var s=u.map(Ce).reduce(ke);return a*Math.sqrt(s)},log2:function Rr(e){return Math.log(e)*Math.LOG2E},log10:function Lr(e){return Math.log(e)*Math.LOG10E},log1p:function zr(e){var t=Number(e);if(t<-1||Number.isNaN(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(Math.log(1+t)/(1+t-1))},sign:function Dr(e){var t=Number(e);if(t===0){return t}if(Number.isNaN(t)){return t}return t<0?-1:1},sinh:function Fr(e){var t=Number(e);if(!h(t)||t===0){return t}if(Math.abs(t)<1){return(Math.expm1(t)-Math.expm1(-t))/2}return(Math.exp(t-1)-Math.exp(-t-1))*Math.E/2},tanh:function qr(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 Gr(e){var t=Number(e);return t<0?-Math.floor(-t):Math.floor(t)},imul:function Hr(e,t){var r=k.ToUint32(e);var n=k.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 Wr(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||S(t)){return t}var r=Math.sign(t);var n=Math.abs(t);if(nze||S(i)){return r*Infinity}return r*i}};u(Math,Fe);a(Math,"log1p",Fe.log1p,Math.log1p(-1e-17)!==-1e-17);a(Math,"asinh",Fe.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));a(Math,"tanh",Fe.tanh,Math.tanh(-2e-17)!==-2e-17);a(Math,"acosh",Fe.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);a(Math,"cbrt",Fe.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8);a(Math,"sinh",Fe.sinh,Math.sinh(-2e-17)!==-2e-17);var qe=Math.expm1(10);a(Math,"expm1",Fe.expm1,qe>22025.465794806718||qe<22025.465794806718);var Ge=Math.round;var He=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var We=Ae+1;var Ve=2*Ae-1;var $e=[We,Ve].every(function(e){return Math.round(e)===e});a(Math,"round",function Vr(e){var t=Math.floor(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!He||!$e);E.preserveToString(Math.round,Ge);var Ue=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=Fe.imul;E.preserveToString(Math.imul,Ue)}if(Math.imul.length!==2){x(Math,"imul",function $r(e,t){return Ue.apply(Math,arguments)})}var Xe=function(){var e,t;k.IsPromise=function(e){if(!k.TypeIsObject(e)){return false}if(!e._promiseConstructor){return false}if(typeof e._status==="undefined"){return false}return true};var r=function(e){if(!k.IsCallable(e)){throw new TypeError("bad promise constructor")}var t=this;var r=function(e,r){t.resolve=e;t.reject=r};t.promise=k.Construct(e,[r]);if(!t.promise._es6construct){throw new TypeError("bad promise constructor")}if(!(k.IsCallable(t.resolve)&&k.IsCallable(t.reject))){throw new TypeError("bad promise constructor")}};var n=v.setTimeout;var o;if(typeof window!=="undefined"&&k.IsCallable(window.postMessage)){o=function(){var e=[];var t="zero-timeout-message";var r=function(r){e.push(r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=e.shift();n()}};window.addEventListener("message",n,true);return r}}var i=function(){var e=v.Promise;return e&&e.resolve&&function(t){return e.resolve().then(t)}};var f=k.IsCallable(v.setImmediate)?v.setImmediate.bind(v):typeof process==="object"&&process.nextTick?process.nextTick:i()||(k.IsCallable(o)?o():function(e){n(e,0)});var c=function(e,t){if(!k.TypeIsObject(e)){return false}var r=t.resolve;var n=t.reject;try{var o=e.then;if(!k.IsCallable(o)){return false}o.call(e,r,n)}catch(i){n(i)}return true};var l=function(e,t){e.forEach(function(e){f(function(){var r=e.handler;var n=e.capability;var o=n.resolve;var i=n.reject;try{var a=r(t);if(a===n.promise){throw new TypeError("self resolution")}var u=c(a,n);if(!u){o(a)}}catch(s){i(s)}})})};var p=function(e,t,n){return function(o){if(o===e){return n(new TypeError("self resolution"))}var i=e._promiseConstructor;var a=new r(i);var u=c(o,a);if(u){return a.promise.then(t,n)}else{return t(o)}}};e=function(e){var t=this;t=A(t);if(!t._promiseConstructor){throw new TypeError("bad promise")}if(typeof t._status!=="undefined"){throw new TypeError("promise already initialized")}if(!k.IsCallable(e)){throw new TypeError("not a valid resolver")}t._status="unresolved";t._resolveReactions=[];t._rejectReactions=[];var r=function(e){if(t._status!=="unresolved"){return}var r=t._resolveReactions;t._result=e;t._resolveReactions=void 0;t._rejectReactions=void 0;t._status="has-resolution";l(r,e)};var n=function(e){if(t._status!=="unresolved"){return}var r=t._rejectReactions;t._result=e;t._resolveReactions=void 0;t._rejectReactions=void 0;t._status="has-rejection";l(r,e)};try{e(r,n)}catch(o){n(o)}return t};t=e.prototype;var h=function(e,t,r,n){var o=false;return function(i){if(o){return}o=true;t[e]=i;if(--n.count===0){var a=r.resolve;a(t)}}};a(e,M,function(e){var r=this;var n=r.prototype||t;var o=e||s(n);u(o,{_status:void 0,_result:void 0,_resolveReactions:void 0,_rejectReactions:void 0,_promiseConstructor:void 0});o._promiseConstructor=r;return o});u(e,{all:function g(e){var t=this;var n=new r(t);var o=n.resolve;var i=n.reject;try{if(!k.IsIterable(e)){throw new TypeError("bad iterable")}var a=k.GetIterator(e);var u=[],s={count:1};for(var f=0;;f++){var c=k.IteratorNext(a);if(c.done){break}var l=t.resolve(c.value);var p=h(f,u,n,s);s.count++;l.then(p,n.reject)}if(--s.count===0){o(u)}}catch(v){i(v)}return n.promise},race:function d(e){var t=this;var n=new r(t);var o=n.resolve;var i=n.reject;try{if(!k.IsIterable(e)){throw new TypeError("bad iterable")}var a=k.GetIterator(e);while(true){var u=k.IteratorNext(a);if(u.done){break}var s=t.resolve(u.value);s.then(o,i)}}catch(f){i(f)}return n.promise},reject:function m(e){var t=this;var n=new r(t);var o=n.reject;o(e);return n.promise},resolve:function O(e){var t=this;if(k.IsPromise(e)){var n=e._promiseConstructor;if(n===t){return e}}var o=new r(t);var i=o.resolve;i(e);return o.promise}});var y=function(e){return e};var b=function(e){throw e};u(t,{"catch":function(e){return this.then(void 0,e)},then:function w(e,t){var n=this;if(!k.IsPromise(n)){throw new TypeError("not a promise")}var o=this.constructor;var i=new r(o);if(!k.IsCallable(t)){t=b}if(!k.IsCallable(e)){e=y}var a=p(n,e,t);var u={capability:i,handler:a};var s={capability:i,handler:t};switch(n._status){case"unresolved":n._resolveReactions.push(u);n._rejectReactions.push(s);break;case"has-resolution":l([u],n._result);break;case"has-rejection":l([s],n._result);break;default:throw new TypeError("unexpected")}return i.promise}});return e}();if(v.Promise){delete v.Promise.accept;delete v.Promise.defer;delete v.Promise.prototype.chain}u(v,{Promise:Xe});var Ze=f(v.Promise,function(e){return e.resolve(42)instanceof e});var Ke=!t(function(){v.Promise.reject(42).then(null,5).then(null,w)});var Be=t(function(){v.Promise.call(3,w)});if(!Ze||!Ke||!Be){Promise=Xe;x(v,"Promise",Xe)}var Je=function(e){var t=Object.keys(e.reduce(function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Qe=Je(["z","a","bb"]);var Ye=Je(["z",1,"a","3",2]);if(i){var et=function Ur(e){if(!Qe){return null}var t=typeof e;if(t==="string"){return"$"+e}else if(t==="number"){if(!Ye){return"n"+e}return e}return null};var tt=function Xr(){return Object.create?Object.create(null):{}};var rt={Map:function(){var e={};function t(e,t){this.key=e;this.value=t;this.next=null;this.prev=null}t.prototype.isRemoved=function(){return this.key===e};function r(e,t){this.head=e._head;this.i=this.head;this.kind=t}r.prototype={next:function(){var e=this.i,t=this.kind,r=this.head,n;if(typeof this.i==="undefined"){return{value:void 0,done:true}}while(e.isRemoved()&&e!==r){e=e.prev}while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return{value:n,done:false}}}this.i=void 0;return{value:void 0,done:true}}};_(r.prototype);function n(){var e=this;if(!k.TypeIsObject(e)){throw new TypeError("Constructor Map requires 'new'")}e=A(e);if(!e._es6map){throw new TypeError("bad map")}var r=new t(null,null);r.next=r.prev=r;u(e,{_head:r,_storage:tt(),_size:0});if(arguments.length>0&&typeof arguments[0]!=="undefined"&&arguments[0]!==null){var n=k.GetIterator(arguments[0]);var o=e.set;if(!k.IsCallable(o)){throw new TypeError("bad map")}while(true){var i=k.IteratorNext(n);if(i.done){break}var a=i.value;if(!k.TypeIsObject(a)){throw new TypeError("expected iterable of pairs")}o.call(e,a[0],a[1])}}return e}var o=n.prototype;a(n,M,function(e){var t=this;var r=t.prototype||o;var n=e||s(r);u(n,{_es6map:true});return n});E.getter(n.prototype,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});u(n.prototype,{get:function(e){var t=et(e);if(t!==null){var r=this._storage[t];if(r){return r.value}else{return}}var n=this._head,o=n;while((o=o.next)!==n){if(k.SameValueZero(o.key,e)){return o.value}}},has:function(e){var t=et(e);if(t!==null){return typeof this._storage[t]!=="undefined"}var r=this._head,n=r;while((n=n.next)!==r){if(k.SameValueZero(n.key,e)){return true}}return false},set:function(e,r){var n=this._head,o=n,i;var a=et(e);if(a!==null){if(typeof this._storage[a]!=="undefined"){this._storage[a].value=r;return this}else{i=this._storage[a]=new t(e,r);o=n.prev}}while((o=o.next)!==n){if(k.SameValueZero(o.key,e)){o.value=r;return this}}i=i||new t(e,r);if(k.SameValue(-0,e)){i.key=+0}i.next=this._head;i.prev=this._head.prev;i.prev.next=i;i.next.prev=i;this._size+=1;return this},"delete":function(t){var r=this._head,n=r;var o=et(t);if(o!==null){if(typeof this._storage[o]==="undefined"){return false}n=this._storage[o].prev;delete this._storage[o]}while((n=n.next)!==r){if(k.SameValueZero(n.key,t)){n.key=n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function i(){this._size=0;this._storage=tt();var t=this._head,r=t,n=r.next;while((r=n)!==t){r.key=r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function f(){return new r(this,"key")},values:function c(){return new r(this,"value")},entries:function l(){return new r(this,"key+value")},forEach:function p(e){var t=arguments.length>1?arguments[1]:null;var r=this.entries();for(var n=r.next();!n.done;n=r.next()){if(t){e.call(t,n.value[1],n.value[0],this)}else{e(n.value[1],n.value[0],this)}}}});_(n.prototype,function(){return this.entries()});return n}(),Set:function(){var e=function n(){var e=this;if(!k.TypeIsObject(e)){throw new TypeError("Constructor Set requires 'new'")}e=A(e);if(!e._es6set){throw new TypeError("bad set")}u(e,{"[[SetData]]":null,_storage:tt()});if(arguments.length>0&&typeof arguments[0]!=="undefined"&&arguments[0]!==null){var t=arguments[0];var r=k.GetIterator(t);var n=e.add;if(!k.IsCallable(n)){throw new TypeError("bad set")}while(true){var o=k.IteratorNext(r);if(o.done){break}var i=o.value;n.call(e,i)}}return e};var t=e.prototype;a(e,M,function(e){var r=this;var n=r.prototype||t;var o=e||s(n);u(o,{_es6set:true});return o});var r=function o(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new rt.Map;Object.keys(e._storage).forEach(function(e){if(e.charCodeAt(0)===36){e=e.slice(1)}else if(e.charAt(0)==="n"){e=+e.slice(1)}else{e=+e}t.set(e,e)});e._storage=null}};E.getter(e.prototype,"size",function(){if(typeof this._storage==="undefined"){throw new TypeError("size method called on incompatible Set")}r(this);return this["[[SetData]]"].size});u(e.prototype,{has:function(e){var t;if(this._storage&&(t=et(e))!==null){return!!this._storage[t]}r(this);return this["[[SetData]]"].has(e)},add:function(e){var t;if(this._storage&&(t=et(e))!==null){this._storage[t]=true; + +return this}r(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){var t;if(this._storage&&(t=et(e))!==null){var n=m(this._storage,t);return delete this._storage[t]&&n}r(this);return this["[[SetData]]"]["delete"](e)},clear:function i(){if(this._storage){this._storage=tt()}else{this["[[SetData]]"].clear()}},values:function f(){r(this);return this["[[SetData]]"].values()},entries:function c(){r(this);return this["[[SetData]]"].entries()},forEach:function l(e){var t=arguments.length>1?arguments[1]:null;var n=this;r(n);this["[[SetData]]"].forEach(function(r,o){if(t){e.call(t,o,o,n)}else{e(o,o,n)}})}});a(e,"keys",e.values,true);_(e.prototype,function(){return this.values()});return e}()};u(v,rt);if(v.Map||v.Set){var nt=r(function(){return new Map([[1,2]]).get(1)===2});if(!nt){var ot=v.Map;v.Map=function Zr(){if(!(this instanceof Zr)){throw new TypeError('Constructor Map requires "new"')}var e=new ot;var t;if(arguments.length>0){t=arguments[0]}if(Array.isArray(t)||T.string(t)){Array.prototype.forEach.call(t,function(t){e.set(t[0],t[1])})}else if(t instanceof Zr){Zr.prototype.forEach.call(t,function(t,r){e.set(r,t)})}Object.setPrototypeOf(e,v.Map.prototype);a(e,"constructor",Zr,true);return e};v.Map.prototype=s(ot.prototype);E.preserveToString(v.Map,ot)}var it=new Map;var at=function(e){e["delete"](0);e["delete"](-0);e.set(0,3);e.get(-0,4);return e.get(0)===3&&e.get(-0)===4}(it);var ut=it.set(1,2)===it;if(!at||!ut){var st=Map.prototype.set;x(Map.prototype,"set",function Kr(e,t){st.call(this,e===0?0:e,t);return this})}if(!at){var ft=Map.prototype.get;var ct=Map.prototype.has;u(Map.prototype,{get:function Br(e){return ft.call(this,e===0?0:e)},has:function Jr(e){return ct.call(this,e===0?0:e)}},true);E.preserveToString(Map.prototype.get,ft);E.preserveToString(Map.prototype.has,ct)}var lt=new Set;var pt=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(lt);var vt=lt.add(1)===lt;if(!pt||!vt){var ht=Set.prototype.add;Set.prototype.add=function Qr(e){ht.call(this,e===0?0:e);return this};E.preserveToString(Set.prototype.add,ht)}if(!pt){var yt=Set.prototype.has;Set.prototype.has=function Yr(e){return yt.call(this,e===0?0:e)};E.preserveToString(Set.prototype.has,yt);var bt=Set.prototype["delete"];Set.prototype["delete"]=function en(e){return bt.call(this,e===0?0:e)};E.preserveToString(Set.prototype["delete"],bt)}var gt=f(v.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var dt=Object.setPrototypeOf&&!gt;var mt=function(){try{return!(v.Map()instanceof v.Map)}catch(e){return e instanceof TypeError}}();if(v.Map.length!==0||dt||!mt){var Ot=v.Map;v.Map=function tn(){if(!(this instanceof tn)){throw new TypeError('Constructor Map requires "new"')}var e=arguments.length>0?new Ot(arguments[0]):new Ot;Object.setPrototypeOf(e,tn.prototype);a(e,"constructor",tn,true);return e};v.Map.prototype=Ot.prototype;E.preserveToString(v.Map,Ot)}var wt=f(v.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var jt=Object.setPrototypeOf&&!wt;var Mt=function(){try{return!(v.Set()instanceof v.Set)}catch(e){return e instanceof TypeError}}();if(v.Set.length!==0||jt||!Mt){var Tt=v.Set;v.Set=function rn(){if(!(this instanceof rn)){throw new TypeError('Constructor Set requires "new"')}var e=arguments.length>0?new Tt(arguments[0]):new Tt;Object.setPrototypeOf(e,rn.prototype);a(e,"constructor",rn,true);return e};v.Set.prototype=Tt.prototype;E.preserveToString(v.Set,Tt)}var St=!r(function(){return(new Map).keys().next().done});if(typeof v.Map.prototype.clear!=="function"||(new v.Set).size!==0||(new v.Map).size!==0||typeof v.Map.prototype.keys!=="function"||typeof v.Set.prototype.keys!=="function"||typeof v.Map.prototype.forEach!=="function"||typeof v.Set.prototype.forEach!=="function"||n(v.Map)||n(v.Set)||typeof(new v.Map).keys().next!=="function"||St||!gt){delete v.Map;delete v.Set;u(v,{Map:rt.Map,Set:rt.Set},true)}}if(v.Set.prototype.keys!==v.Set.prototype.values){a(v.Set.prototype,"keys",v.Set.prototype.values,true)}_(Object.getPrototypeOf((new v.Map).keys()));_(Object.getPrototypeOf((new v.Set).keys()))}if(!v.Reflect){a(v,"Reflect",{})}var It=v.Reflect;var Et=function nn(e){if(!k.TypeIsObject(e)){throw new TypeError("target must be an object")}};u(v.Reflect,{apply:function on(){return k.Call.apply(null,arguments)},construct:function an(e,t){if(!k.IsCallable(e)){throw new TypeError("First argument must be callable.")}return k.Construct(e,t)},deleteProperty:function un(e,t){Et(e);if(i){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},enumerate:function sn(e){Et(e);return new U(e,"key")},has:function fn(e,t){Et(e);return t in e}});if(Object.getOwnPropertyNames){u(v.Reflect,{ownKeys:function cn(e){Et(e);var t=Object.getOwnPropertyNames(e);if(k.IsCallable(Object.getOwnPropertySymbols)){t.push.apply(t,Object.getOwnPropertySymbols(e))}return t}})}var xt=function ln(e){return!t(e)};if(Object.preventExtensions){u(v.Reflect,{isExtensible:function pn(e){Et(e);return Object.isExtensible(e)},preventExtensions:function vn(e){Et(e);return xt(function(){Object.preventExtensions(e)})}})}if(i){var Pt=function hn(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return undefined}return Pt(o,t,r)}if("value"in n){return n.value}if(n.get){return n.get.call(r)}return undefined};var _t=function yn(e,t,r,n){var o=Object.getOwnPropertyDescriptor(e,t);if(!o){var i=Object.getPrototypeOf(e);if(i!==null){return _t(i,t,r,n)}o={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in o){if(!o.writable){return false}if(!k.TypeIsObject(n)){return false}var a=Object.getOwnPropertyDescriptor(n,t);if(a){return It.defineProperty(n,t,{value:r})}else{return It.defineProperty(n,t,{value:r,writable:true,enumerable:true,configurable:true})}}if(o.set){o.set.call(n,r);return true}return false};u(v.Reflect,{defineProperty:function bn(e,t,r){Et(e);return xt(function(){Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function gn(e,t){Et(e);return Object.getOwnPropertyDescriptor(e,t)},get:function dn(e,t){Et(e);var r=arguments.length>2?arguments[2]:e;return Pt(e,t,r)},set:function mn(e,t,r){Et(e);var n=arguments.length>3?arguments[3]:e;return _t(e,t,r,n)}})}if(Object.getPrototypeOf){var Nt=Object.getPrototypeOf;u(v.Reflect,{getPrototypeOf:function On(e){Et(e);return Nt(e)}})}if(Object.setPrototypeOf){var Ct=function(e,t){while(t){if(e===t){return true}t=It.getPrototypeOf(t)}return false};u(v.Reflect,{setPrototypeOf:function wn(e,t){Et(e);if(t!==null&&!k.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===It.getPrototypeOf(e)){return true}if(It.isExtensible&&!It.isExtensible(e)){return false}if(Ct(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}if(String(new Date(NaN))!=="Invalid Date"){var kt=Date.prototype.toString;var At=function jn(){var e=+this;if(e!==e){return"Invalid Date"}return kt.call(this)};x(Date.prototype,"toString",At)}var Rt={anchor:function Mn(e){return k.CreateHTML(this,"a","name",e)},big:function Tn(){return k.CreateHTML(this,"big","","")},blink:function Sn(){return k.CreateHTML(this,"blink","","")},bold:function In(){return k.CreateHTML(this,"b","","")},fixed:function En(){return k.CreateHTML(this,"tt","","")},fontcolor:function xn(e){return k.CreateHTML(this,"font","color",e)},fontsize:function Pn(e){return k.CreateHTML(this,"font","size",e)},italics:function _n(){return k.CreateHTML(this,"i","","")},link:function Nn(e){return k.CreateHTML(this,"a","href",e)},small:function Cn(){return k.CreateHTML(this,"small","","")},strike:function kn(){return k.CreateHTML(this,"strike","","")},sub:function An(){return k.CreateHTML(this,"sub","","")},sup:function Rn(){return k.CreateHTML(this,"sup","","")}};u(String.prototype,Rt);Object.keys(Rt).forEach(function(e){var t=String.prototype[e];var r=false;if(k.IsCallable(t)){var n=t.call("",' " ');var o=[].concat(n.match(/"/g)).length;r=n!==n.toLowerCase()||o>2}else{r=true}if(r){a(String.prototype,e,Rt[e],true)}});return v}); //# sourceMappingURL=es6-shim.map \ No newline at end of file diff --git a/package.json b/package.json index f422d96e..6ff65a8e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.28.2", + "version": "0.29.0", "author": "Paul Miller (http://paulmillr.com)", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [