From f97be69cf77ed561b4829f9921d5786abece1463 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 9 Nov 2015 16:50:35 -0800 Subject: [PATCH] v0.33.11 --- CHANGELOG.md | 6 ++++++ 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, 19 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae3aa8b8..f777c4fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # es6-shim x.x.x (not yet released) +# es6-shim 0.33.11 (9 Nov 2015) +* [Fix] handle future change of RegExp.prototype not being a regex (#370, #371) +* [Fix] disallow invalid hex strings in `Number` (#369) +* [Tests] Tweak "polluted prototype" approach +* [Dev Deps] update `chai`, `es5-shim`, `eslint`, `@ljharb/eslint-config`, `jscs` + # es6-shim 0.33.10 (2 Nov 2015) * [Fix] the `Number` constructor properly trims (or not) whitespace characters (#368) * [Fix] `Number('0b12')` and `Number('0o18')` should both be `NaN` (#366) diff --git a/component.json b/component.json index 0569a86e..1630c7e6 100644 --- a/component.json +++ b/component.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.33.10", + "version": "0.33.11", "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 f3f81739..809d7561 100644 --- a/es6-sham.js +++ b/es6-sham.js @@ -2,8 +2,8 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2015 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-sham: v0.33.10 - * see https://github.com/paulmillr/es6-shim/blob/0.33.10/LICENSE + * es6-sham: v0.33.11 + * see https://github.com/paulmillr/es6-shim/blob/0.33.11/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ diff --git a/es6-sham.min.js b/es6-sham.min.js index 54d08dd4..7492657a 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-2015 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-sham: v0.33.10 - * see https://github.com/paulmillr/es6-shim/blob/0.33.10/LICENSE + * es6-sham: v0.33.11 + * see https://github.com/paulmillr/es6-shim/blob/0.33.11/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ diff --git a/es6-shim.js b/es6-shim.js index e51e80cf..814b41d8 100644 --- a/es6-shim.js +++ b/es6-shim.js @@ -2,8 +2,8 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2015 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-shim: v0.33.10 - * see https://github.com/paulmillr/es6-shim/blob/0.33.10/LICENSE + * es6-shim: v0.33.11 + * see https://github.com/paulmillr/es6-shim/blob/0.33.11/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ diff --git a/es6-shim.map b/es6-shim.map index 8d45d508..97c51b89 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","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","Object","defineProperty","get","supportsDescriptors","functionsHaveNames","foo","name","_forEach","prototype","forEach","_reduce","reduce","_filter","filter","_some","some","object","value","force","configurable","enumerable","writable","defineProperties","map","keys","method","create","properties","Prototype","key","Value","defineByDescriptor","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","_indexOf","String","indexOf","_toString","toString","_concat","concat","_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","x","string","regex","symbol","$iterator$","iterator","Set","Reflect","ES","Call","F","V","args","IsCallable","TypeError","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","target","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","p1","escapedV","replace","p2","p3","getter","proxy","originalObject","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","preserveToString","source","wrapConstructor","original","replacement","keysToSkip","getOwnPropertyNames","defaultSpeciesGetter","addDefaultSpecies","overrideNative","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","startArg","start","endsWith","thisLen","posArg","pos","end","includes","position","codePointAt","first","charCodeAt","isEnd","second","startsWithRejectsRegex","startsWithHandlesInfinity","ws","trimRegexp","RegExp","trimShim","trim","nonWS","nonWSregex","hasStringTrimBug","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","undefined","arrayLike","of","A","k","iteratorResult","array","kind","retval","getAllKeys","ObjectIterator","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","fin","count","direction","fill","relativeEnd","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","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","NumberShim","primValue","parseInt","NaN","receiver","valueOfSucceeds","maxSafeInteger","pow","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","item","idx","isEnumerableOn","propertyIsEnumerable","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","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","flags","regExpFlagsGetter","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","OrigRegExp","RegExpShim","pattern","calledWithNew","$input","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","prop","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","numberCLZ","clz","MathShims","acosh","E","asinh","atanh","cbrt","negate","exp","clz32","LOG2E","cosh","expm1","t","sum","hypot","y","largest","log2","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","MAX_VALUE","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","setTimeout","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","P","Promise","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","promiseReactionJob","reaction","argument","promiseCapability","capabilities","handler","handlerResult","handlerException","triggerPromiseReactions","reactions","fulfillPromise","fulfillReactions","rejectReactions","state","rejectPromise","reason","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","thenable","resolvingFunctions","getPromiseSpecies","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","all","iterable","exception","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","fulfillReaction","rejectReaction","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","type","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","Map","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","head","_head","Map$prototype","MapShim","_storage","_size","fkey","has","delete","clear","callback","context","isSet","_es6set","requireSetSlot","Set$prototype","SetShim","[[SetData]]","ensureMap","m","charAt","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","desc","enumerate","ownKeys","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","match","toLowerCase","JSONstringifiesSymbols","stringify","JSON","JSONstringifyAcceptsObjectSymbol","origStringify","replacer","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","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","Object","defineProperty","get","supportsDescriptors","functionsHaveNames","foo","name","_forEach","prototype","forEach","_reduce","reduce","_filter","filter","_some","some","object","value","force","configurable","enumerable","writable","defineProperties","map","keys","method","create","properties","Prototype","key","Value","defineByDescriptor","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","_indexOf","String","indexOf","_toString","toString","_concat","concat","_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","x","string","regex","symbol","$iterator$","iterator","Set","Reflect","ES","Call","F","V","args","IsCallable","TypeError","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","target","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","p1","escapedV","replace","p2","p3","getter","proxy","originalObject","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","preserveToString","source","wrapConstructor","original","replacement","keysToSkip","getOwnPropertyNames","defaultSpeciesGetter","addDefaultSpecies","overrideNative","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","startArg","start","endsWith","thisLen","posArg","pos","end","includes","position","codePointAt","first","charCodeAt","isEnd","second","startsWithRejectsRegex","startsWithHandlesInfinity","ws","trimRegexp","RegExp","trimShim","trim","nonWS","nonWSregex","isBadHexRegex","hasStringTrimBug","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","undefined","arrayLike","of","A","k","iteratorResult","array","kind","retval","getAllKeys","ObjectIterator","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","fin","count","direction","fill","relativeEnd","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","toLengthsCorrectly","reversed","originalForEach","callbackFn","originalMap","originalFilter","originalSome","every","originalEvery","originalReduce","reduceRight","originalReduceRight","lacksOctalSupport","lacksBinarySupport","trimsNonWhitespace","c","OrigNumber","binaryRegex","octalRegex","isBinary","test","isOctal","toPrimitive","valueOf","hasNonWS","isBadHex","NumberShim","primValue","parseInt","NaN","receiver","valueOfSucceeds","maxSafeInteger","pow","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","item","idx","isEnumerableOn","propertyIsEnumerable","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","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","OrigRegExp","RegExpShim","pattern","calledWithNew","$input","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","prop","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","numberCLZ","clz","MathShims","acosh","E","asinh","atanh","cbrt","negate","exp","clz32","LOG2E","cosh","expm1","t","sum","hypot","y","largest","log2","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","MAX_VALUE","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","setTimeout","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","P","Promise","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","promiseReactionJob","reaction","argument","promiseCapability","capabilities","handler","handlerResult","handlerException","triggerPromiseReactions","reactions","fulfillPromise","fulfillReactions","rejectReactions","state","rejectPromise","reason","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","thenable","resolvingFunctions","getPromiseSpecies","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","all","iterable","exception","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","fulfillReaction","rejectReaction","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","type","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","Map","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","head","_head","Map$prototype","MapShim","_storage","_size","fkey","has","delete","clear","callback","context","isSet","_es6set","requireSetSlot","Set$prototype","SetShim","[[SetData]]","ensureMap","m","charAt","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","ownKeys","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","match","toLowerCase","JSONstringifiesSymbols","stringify","JSON","JSONstringifyAcceptsObjectSymbol","origStringify","replacer","replaceFn","wrappedReplacer","parsedValue"],"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,YAEA,IAAIC,GAASC,SAASC,KAAKC,KAAKF,SAASG,MACzC,IAAIC,GAAQJ,SAASC,KAAKC,KAAKF,SAASC,KACxC,IAAII,GAAUC,MAAMD,OAEpB,IAAIE,GAAM,QAASC,YAAWC,GAC5B,MAAO,SAASC,YAAa,OAAQX,EAAOU,EAAMX,KAAMa,YAE1D,IAAIC,GAAc,SAAUH,GAC1B,IACEA,GACA,OAAO,OACP,MAAOI,GACP,MAAO,OAGX,IAAIC,GAAuB,QAASA,sBAAqBL,GACvD,IACE,MAAOA,KACP,MAAOI,GACP,MAAO,QAIX,IAAIE,GAAuBR,EAAIK,EAC/B,IAAII,GAAkC,WAEpC,OAAQJ,EAAY,WAAcK,OAAOC,kBAAmB,KAAOC,IAAK,iBAE1E,IAAIC,KAAwBH,OAAOC,gBAAkBF,GACrD,IAAIK,GAAqB,QAAUC,SAAUC,OAAS,KAEtD,IAAIC,GAAWxB,SAASC,KAAKC,KAAKI,MAAMmB,UAAUC,QAClD,IAAIC,GAAU3B,SAASC,KAAKC,KAAKI,MAAMmB,UAAUG,OACjD,IAAIC,GAAU7B,SAASC,KAAKC,KAAKI,MAAMmB,UAAUK,OACjD,IAAIC,GAAQ/B,SAASC,KAAKC,KAAKI,MAAMmB,UAAUO,KAE/C,IAAId,GAAiB,SAAUe,EAAQV,EAAMW,EAAOC,GAClD,IAAKA,GAASZ,IAAQU,GAAQ,CAAE,OAChC,GAAIb,EAAqB,CACvBH,OAAOC,eAAee,EAAQV,GAC5Ba,aAAc,KACdC,WAAY,MACZC,SAAU,KACVJ,MAAOA,QAEJ,CACLD,EAAOV,GAAQW,GAMnB,IAAIK,GAAmB,SAAUN,EAAQO,GACvChB,EAASP,OAAOwB,KAAKD,GAAM,SAAUjB,GACnC,GAAImB,GAASF,EAAIjB,EACjBL,GAAee,EAAQV,EAAMmB,EAAQ,SAMzC,IAAIC,GAAS1B,OAAO0B,QAAU,SAAUlB,EAAWmB,GACjD,GAAIC,GAAY,QAASA,cACzBA,GAAUpB,UAAYA,CACtB,IAAIQ,GAAS,GAAIY,EACjB,UAAWD,KAAe,YAAa,CACrC3B,OAAOwB,KAAKG,GAAYlB,QAAQ,SAAUoB,GACxCC,EAAMC,mBAAmBf,EAAQa,EAAKF,EAAWE,MAGrD,MAAOb,GAGT,IAAIgB,GAAsB,SAAUC,EAAGC,GACrC,IAAKlC,OAAOmC,eAAgB,CAAE,MAAO,OACrC,MAAOtC,GAAqB,WAC1B,GAAIuC,GAAM,QAASC,UAASC,GAC1B,GAAIC,GAAI,GAAIN,GAAEK,EACdtC,QAAOmC,eAAeI,EAAGF,SAAS7B,UAClC,OAAO+B,GAETvC,QAAOmC,eAAeC,EAAKH,EAC3BG,GAAI5B,UAAYkB,EAAOO,EAAEzB,WACvBgC,aAAevB,MAAOmB,IAExB,OAAOF,GAAEE,KAIb,IAAIK,GAAY,WAKd,SAAWC,QAAS,YAAa,CAAE,MAAOA,MAC1C,SAAWC,UAAW,YAAa,CAAE,MAAOA,QAC5C,SAAWC,UAAW,YAAa,CAAE,MAAOA,QAC5C,KAAM,IAAIC,OAAM,kCAGlB,IAAIC,GAAUL,GACd,IAAIM,GAAiBD,EAAQE,QAC7B,IAAIC,GAAWlE,SAASC,KAAKC,KAAKiE,OAAO1C,UAAU2C,QACnD,IAAIC,GAAYrE,SAASC,KAAKC,KAAKe,OAAOQ,UAAU6C,SACpD,IAAIC,GAAUvE,SAASC,KAAKC,KAAKI,MAAMmB,UAAU+C,OACjD,IAAIC,GAAYzE,SAASC,KAAKC,KAAKiE,OAAO1C,UAAUiD,MACpD,IAAIC,GAAQ3E,SAASC,KAAKC,KAAKI,MAAMmB,UAAUmD,KAC/C,IAAIC,GAAa7E,SAASG,MAAMD,KAAKI,MAAMmB,UAAUmD,KACrD,IAAIE,GAAS9E,SAASC,KAAKC,KAAKI,MAAMmB,UAAUsD,MAChD,IAAIC,GAAOC,KAAKC,GAChB,IAAIC,GAAOF,KAAKG,GAChB,IAAIC,GAASJ,KAAKK,KAClB,IAAIC,GAAON,KAAKO,GAChB,IAAIC,GAAOR,KAAKS,GAChB,IAAIC,GAAQV,KAAKW,IACjB,IAAIC,GAAkB7F,SAASC,KAAKC,KAAKe,OAAOQ,UAAUqE,eAC1D,IAAIC,EACJ,IAAIC,GAAO,YAEX,IAAIC,GAASlC,EAAQkC,UACrB,IAAIC,GAAgBD,EAAOE,SAAW,WAEtC,IAAIC,GAAcC,OAAOC,OAAS,QAASA,OAAMpE,GAM/C,MAAOA,KAAUA,EAEnB,IAAIqE,GAAiBF,OAAOpC,UAAY,QAASA,UAAS/B,GACxD,aAAcA,KAAU,UAAY8B,EAAe9B,GAKrD,IAAIsE,GAAsB,QAASC,aAAYvE,GAC7C,MAAOmC,GAAUnC,KAAW,qBAE9B,IAAIwE,GAAoB,QAASD,aAAYvE,GAC3C,MAAOA,KAAU,YACRA,KAAU,gBACVA,GAAMyE,SAAW,UACxBzE,EAAMyE,QAAU,GAChBtC,EAAUnC,KAAW,kBACrBmC,EAAUnC,EAAM0E,UAAY,oBAEhC,IAAIH,GAAcD,EAAoB7F,WAAa6F,EAAsBE,CAEzE,IAAIG,IACFC,UAAW,SAAUC,GAAK,MAAOA,KAAM,YAAgBA,KAAM,kBAAqBA,KAAM,UACxF9E,OAAQ,SAAU8E,GAAK,MAAOA,KAAM,YAAeA,KAAM,UACzDC,OAAQ,SAAUD,GAAK,MAAO1C,GAAU0C,KAAO,mBAC/CE,MAAO,SAAUF,GAAK,MAAO1C,GAAU0C,KAAO,mBAC9CG,OAAQ,SAAUH,GAChB,aAAchD,GAAQkC,SAAW,kBAAqBc,KAAM,UAShE,IAAII,GAAaN,EAAKK,OAAOjB,EAAOmB,UAAYnB,EAAOmB,SAAW,qBAIlE,IAAIrD,EAAQsD,YAAc,GAAItD,GAAQsD,KAAM,gBAAkB,WAAY,CACxEF,EAAa,aAIf,IAAKpD,EAAQuD,QAAS,CACpBpG,EAAe6C,EAAS,cAE1B,GAAIuD,GAAUvD,EAAQuD,OAEtB,IAAIC,IAEFC,KAAM,QAASA,MAAKC,EAAGC,GACrB,GAAIC,GAAOhH,UAAUgG,OAAS,EAAIhG,UAAU,KAC5C,KAAK4G,EAAGK,WAAWH,GAAI,CACrB,KAAM,IAAII,WAAUJ,EAAI,sBAE1B,MAAO1H,GAAO0H,EAAGC,EAAGC,IAGtBG,uBAAwB,SAAUf,EAAGgB,GAEnC,GAAIhB,GAAK,KAAM,CACb,KAAM,IAAIc,WAAUE,GAAc,yBAA2BhB,KAIjEiB,aAAc,SAAUjB,GAItB,MAAOA,IAAK,MAAQ9F,OAAO8F,KAAOA,GAGpCkB,SAAU,SAAUzE,EAAGuE,GACrBR,EAAGO,uBAAuBtE,EAAGuE,EAC7B,OAAO9G,QAAOuC,IAGhBoE,WAAY,SAAUb,GAEpB,aAAcA,KAAM,YAAc1C,EAAU0C,KAAO,qBAGrDmB,cAAe,SAAUnB,GAEvB,MAAOQ,GAAGK,WAAWb,IAGvBoB,QAAS,SAAUpB,GACjB,MAAOQ,GAAGa,SAASrB,IAAM,GAG3BsB,SAAU,SAAUtB,GAClB,MAAOQ,GAAGa,SAASrB,KAAO,GAG5BqB,SAAU,SAAUlG,GAClB,GAAImC,EAAUnC,KAAW,kBAAmB,CAC1C,KAAM,IAAI2F,WAAU,6CAEtB,OAAQ3F,GAGVoG,UAAW,SAAUpG,GACnB,GAAIqG,GAAShB,EAAGa,SAASlG,EACzB,IAAIkE,EAAYmC,GAAS,CAAE,MAAO,GAClC,GAAIA,IAAW,IAAMhC,EAAegC,GAAS,CAAE,MAAOA,GACtD,OAAQA,EAAS,EAAI,GAAK,GAAKlD,EAAOE,EAAKgD,KAG7CC,SAAU,SAAUtG,GAClB,GAAIuG,GAAMlB,EAAGe,UAAUpG,EACvB,IAAIuG,GAAO,EAAG,CAAE,MAAO,GACvB,GAAIA,EAAMpC,OAAOqC,iBAAkB,CAAE,MAAOrC,QAAOqC,iBACnD,MAAOD,IAGTE,UAAW,SAAUC,EAAGC,GACtB,GAAID,IAAMC,EAAG,CAEX,GAAID,IAAM,EAAG,CAAE,MAAO,GAAIA,IAAM,EAAIC,EACpC,MAAO,MAET,MAAOzC,GAAYwC,IAAMxC,EAAYyC,IAGvCC,cAAe,SAAUF,EAAGC,GAE1B,MAAQD,KAAMC,GAAOzC,EAAYwC,IAAMxC,EAAYyC,IAGrDE,WAAY,SAAUvF,GACpB,MAAO+D,GAAGS,aAAaxE,WAAcA,GAAE2D,KAAgB,aAAeV,EAAYjD,KAGpFwF,YAAa,SAAUxF,GACrB,GAAIiD,EAAYjD,GAAI,CAElB,MAAO,IAAIuC,GAAcvC,EAAG,SAE9B,GAAIyF,GAAO1B,EAAG2B,UAAU1F,EAAG2D,EAC3B,KAAKI,EAAGK,WAAWqB,GAAO,CAExB,KAAM,IAAIpB,WAAU,4BAEtB,GAAIsB,GAAK/I,EAAM6I,EAAMzF,EACrB,KAAK+D,EAAGS,aAAamB,GAAK,CACxB,KAAM,IAAItB,WAAU,gBAEtB,MAAOsB,IAGTD,UAAW,SAAU1F,EAAG4F,GACtB,GAAI3I,GAAO8G,EAAGU,SAASzE,GAAG4F,EAC1B,IAAI3I,QAAc,IAAKA,IAAS,KAAM,CACpC,WAAY,GAEd,IAAK8G,EAAGK,WAAWnH,GAAO,CACxB,KAAM,IAAIoH,WAAU,wBAA0BuB,GAEhD,MAAO3I,IAGT4I,iBAAkB,SAAUC,GAC1B,QAAUA,EAAe,MAG3BC,cAAe,SAAUnC,EAAUoC,GACjC,GAAIC,GAAelC,EAAG2B,UAAU9B,EAAU,SAC1C,IAAIqC,QAAsB,GAAG,CAC3B,OAEF,GAAIC,GAAaC,CACjB,KACED,EAActJ,EAAMqJ,EAAcrC,GAClC,MAAOvG,GACP8I,EAAiB9I,EAEnB,GAAI2I,EAAmB,CACrB,OAEF,GAAIG,EAAgB,CAClB,KAAMA,GAER,IAAKpC,EAAGS,aAAa0B,GAAc,CACjC,KAAM,IAAI7B,WAAU,qDAIxB+B,aAAc,SAAUT,GACtB,GAAIU,GAASlJ,UAAUgG,OAAS,EAAIwC,EAAGW,KAAKnJ,UAAU,IAAMwI,EAAGW,MAC/D,KAAKvC,EAAGS,aAAa6B,GAAS,CAC5B,KAAM,IAAIhC,WAAU,gBAEtB,MAAOgC,IAGTE,aAAc,SAAUZ,GACtB,GAAIU,GAAStC,EAAGqC,aAAaT,EAC7B,IAAIa,GAAOzC,EAAG8B,iBAAiBQ,EAC/B,OAAOG,GAAO,MAAQH,GAGxBI,UAAW,SAAU/G,EAAGyE,EAAMuC,EAAWC,GACvC,GAAIC,SAAgBF,KAAc,YAAchH,EAAIgH,CAEpD,KAAKC,EAAe,CAElB,MAAO7C,GAAQ+C,UAAUnH,EAAGyE,EAAMyC,GAOpC,GAAIE,GAAQF,EAAO3I,SACnB,KAAK8F,EAAGS,aAAasC,GAAQ,CAC3BA,EAAQrJ,OAAOQ,UAEjB,GAAI8I,GAAM5H,EAAO2H,EAEjB,IAAIT,GAAStC,EAAGC,KAAKtE,EAAGqH,EAAK5C,EAC7B,OAAOJ,GAAGS,aAAa6B,GAAUA,EAASU,GAG5CC,mBAAoB,SAAUC,EAAGC,GAC/B,GAAIxH,GAAIuH,EAAEhH,WACV,IAAIP,QAAW,GAAG,CAChB,MAAOwH,GAET,IAAKnD,EAAGS,aAAa9E,GAAI,CACvB,KAAM,IAAI2E,WAAU,mBAEtB,GAAI8C,GAAIzH,EAAEgD,EACV,IAAIyE,QAAW,IAAKA,IAAM,KAAM,CAC9B,MAAOD,GAET,IAAKnD,EAAGW,cAAcyC,GAAI,CACxB,KAAM,IAAI9C,WAAU,iBAEtB,MAAO8C,IAGTC,WAAY,SAAU5D,EAAQ6D,EAAKC,EAAW5I,GAC5C,GAAIyI,GAAIxG,OAAO6C,EACf,IAAI+D,GAAK,IAAMF,CACf,IAAIC,IAAc,GAAI,CACpB,GAAIpD,GAAIvD,OAAOjC,EACf,IAAI8I,GAAWtD,EAAEuD,QAAQ,KAAM,SAC/BF,IAAM,IAAMD,EAAY,KAAOE,EAAW,IAE5C,GAAIE,GAAKH,EAAK,GACd,IAAII,GAAKD,EAAKP,CACd,OAAOQ,GAAK,KAAON,EAAM,KAI7B,IAAI9H,IACFqI,OAAQ,SAAUnJ,EAAQV,EAAM6J,GAC9B,IAAKhK,EAAqB,CACxB,KAAM,IAAIyG,WAAU,oCAEtB5G,OAAOC,eAAee,EAAQV,GAC5Ba,aAAc,KACdC,WAAY,MACZlB,IAAKiK,KAGTC,MAAO,SAAUC,EAAgBxI,EAAKyI,GACpC,IAAKnK,EAAqB,CACxB,KAAM,IAAIyG,WAAU,oCAEtB,GAAI2D,GAAqBvK,OAAOwK,yBAAyBH,EAAgBxI,EACzE7B,QAAOC,eAAeqK,EAAczI,GAClCV,aAAcoJ,EAAmBpJ,aACjCC,WAAYmJ,EAAmBnJ,WAC/BlB,IAAK,QAASuK,UAAW,MAAOJ,GAAexI,IAC/C6I,IAAK,QAASC,QAAO1J,GAASoJ,EAAexI,GAAOZ,MAGxD2J,SAAU,SAAU5J,EAAQ6J,EAAUC,GACpC,GAAI3K,EAAqB,CACvB,GAAI4K,GAAa/K,OAAOwK,yBAAyBxJ,EAAQ6J,EACzDE,GAAW9J,MAAQ6J,CACnB9K,QAAOC,eAAee,EAAQ6J,EAAUE,OACnC,CACL/J,EAAO6J,GAAYC,IAGvB/I,mBAAoB,SAAUf,EAAQ6J,EAAUE,GAC9C,GAAI5K,EAAqB,CACvBH,OAAOC,eAAee,EAAQ6J,EAAUE,OACnC,IAAI,SAAWA,GAAY,CAChC/J,EAAO6J,GAAYE,EAAW9J,QAGlC+J,iBAAkB,SAAU7B,EAAQ8B,GAClC,GAAIA,GAAU3E,EAAGK,WAAWsE,EAAO5H,UAAW,CAC5CpD,EAAekJ,EAAQ,WAAY8B,EAAO5H,SAASpE,KAAKgM,GAAS,QAKvE,IAAIC,GAAkB,QAASA,iBAAgBC,EAAUC,EAAaC,GACpEvJ,EAAMkJ,iBAAiBI,EAAaD,EACpC,IAAInL,OAAOmC,eAAgB,CAEzBnC,OAAOmC,eAAegJ,EAAUC,GAElC,GAAIjL,EAAqB,CACvBI,EAASP,OAAOsL,oBAAoBH,GAAW,SAAUtJ,GACvD,GAAIA,IAAOkD,IAAQsG,EAAWxJ,GAAM,CAAE,OACtCC,EAAMsI,MAAMe,EAAUtJ,EAAKuJ,SAExB,CACL7K,EAASP,OAAOwB,KAAK2J,GAAW,SAAUtJ,GACxC,GAAIA,IAAOkD,IAAQsG,EAAWxJ,GAAM,CAAE,OACtCuJ,EAAYvJ,GAAOsJ,EAAStJ,KAGhCuJ,EAAY5K,UAAY2K,EAAS3K,SACjCsB,GAAM8I,SAASO,EAAS3K,UAAW,cAAe4K,GAGpD,IAAIG,GAAuB,WAAc,MAAO1M,MAChD,IAAI2M,GAAoB,SAAUvJ,GAChC,GAAI9B,IAAwByE,EAAgB3C,EAAGgD,GAAgB,CAC7DnD,EAAMqI,OAAOlI,EAAGgD,EAAesG,IAInC,IAAIE,GAAiB,QAASA,gBAAezK,EAAQ6J,EAAUO,GAC7D,GAAID,GAAWnK,EAAO6J,EACtB5K,GAAee,EAAQ6J,EAAUO,EAAa,KAC9CtJ,GAAMkJ,iBAAiBhK,EAAO6J,GAAWM,GAG3C,IAAIO,GAAc,SAAUlL,EAAWmL,GACrC,GAAIC,GAAiBD,GAAQ,QAASxF,YAAa,MAAOtH,MAC1DoB,GAAeO,EAAW0F,EAAY0F,EACtC,KAAKpL,EAAU0F,IAAeN,EAAKK,OAAOC,GAAa,CAErD1F,EAAU0F,GAAc0F,GAI5B,IAAIC,IAAqB,QAASA,oBAAmB7K,EAAQV,EAAMW,GACjE,GAAId,EAAqB,CACvBH,OAAOC,eAAee,EAAQV,GAC5Ba,aAAc,KACdC,WAAY,KACZC,SAAU,KACVJ,MAAOA,QAEJ,CACLD,EAAOV,GAAQW,GAGnB,IAAI6K,IAA4B,QAASA,2BAA0B9K,EAAQV,EAAMW,GAC/E4K,GAAmB7K,EAAQV,EAAMW,EACjC,KAAKqF,EAAGoB,UAAU1G,EAAOV,GAAOW,GAAQ,CACtC,KAAM,IAAI2F,WAAU,gCAIxB,IAAImF,IAAsB,SAAUxJ,EAAGyJ,EAAkBC,EAAcC,GAWrE,IAAK5F,EAAGS,aAAaxE,GAAI,CACvB,KAAM,IAAIqE,WAAU,+BAAiCoF,EAAiB1L,MAExE,GAAI+I,GAAQ2C,EAAiBxL,SAC7B,KAAK8F,EAAGS,aAAasC,GAAQ,CAC3BA,EAAQ4C,EAEV,GAAI3C,GAAM5H,EAAO2H,EACjB,KAAK,GAAI/I,KAAQ4L,GAAO,CACtB,GAAItH,EAAgBsH,EAAO5L,GAAO,CAChC,GAAIW,GAAQiL,EAAM5L,EAClBL,GAAeqJ,EAAKhJ,EAAMW,EAAO,OAGrC,MAAOqI,GAKT,IAAIpG,OAAOiJ,eAAiBjJ,OAAOiJ,cAAczG,SAAW,EAAG,CAC7D,GAAI0G,IAAwBlJ,OAAOiJ,aACnCV,GAAevI,OAAQ,gBAAiB,QAASiJ,eAAcE,GAAc,MAAOvN,GAAOsN,GAAuBvN,KAAMa,aAG1H,GAAI4M,KACFH,cAAe,QAASA,eAAcE,GACpC,GAAIzD,KACJ,IAAIC,EACJ,KAAK,GAAI0D,GAAI,EAAG7G,EAAShG,UAAUgG,OAAQ6G,EAAI7G,EAAQ6G,IAAK,CAC1D1D,EAAOzD,OAAO1F,UAAU6M,GACxB,KAAKjG,EAAGoB,UAAUmB,EAAMvC,EAAGe,UAAUwB,KAAUA,EAAO,GAAKA,EAAO,QAAU,CAC1E,KAAM,IAAI2D,YAAW,sBAAwB3D,GAG/C,GAAIA,EAAO,MAAS,CAClBnF,EAAMkF,EAAQ1F,OAAOuJ,aAAa5D,QAC7B,CACLA,GAAQ,KACRnF,GAAMkF,EAAQ1F,OAAOuJ,cAAc5D,GAAQ,IAAM,OACjDnF,GAAMkF,EAAQ1F,OAAOuJ,aAAc5D,EAAO,KAAS,SAGvD,MAAOD,GAAO8D,KAAK,KAGrBC,IAAK,QAASA,KAAIC,GAChB,GAAIC,GAASvG,EAAGU,SAAS4F,EAAU,eACnC,IAAIE,GAAYxG,EAAGU,SAAS6F,EAAOF,IAAK,gBACxC,IAAInF,GAAMsF,EAAUpH,MACpB,IAAIqH,GAAkBzG,EAAGiB,SAASC,EAClC,IAAIuF,GAAmB,EAAG,CACxB,MAAO,GAGT,GAAIC,KACJ,IAAIC,GAAY,CAChB,IAAIC,GAASrE,EAAMsE,EAASC,CAC5B,OAAOH,EAAYF,EAAiB,CAClCG,EAAUhK,OAAO+J,EACjBE,GAAUjK,OAAO4J,EAAUI,GAC3BxJ,GAAMsJ,EAAgBG,EACtB,IAAIF,EAAY,GAAKF,EAAiB,CACpC,MAEFlE,EAAOoE,EAAY,EAAIvN,UAAUgG,OAAShG,UAAUuN,EAAY,GAAK,EACrEG,GAAUlK,OAAO2F,EACjBnF,GAAMsJ,EAAgBI,EACtBH,IAAa,EAEf,MAAOD,GAAeN,KAAK,KAG/B,IAAIxJ,OAAOyJ,KAAOzJ,OAAOyJ,KAAMA,KAAOU,EAAG,IAAKC,EAAG,IAAK5H,OAAQ,OAAW,KAAM,CAE7E+F,EAAevI,OAAQ,MAAOoJ,GAAYK,KAE5CrL,EAAiB4B,OAAQoJ,GAIzB,IAAIiB,IAAe,QAASC,QAAOC,EAAGC,GACpC,GAAIA,EAAQ,EAAG,CAAE,MAAO,GACxB,GAAIA,EAAQ,EAAG,CAAE,MAAOF,QAAOC,EAAGC,EAAQ,GAAKD,EAC/C,GAAIE,GAAOH,OAAOC,EAAGC,EAAQ,EAC7B,OAAOC,GAAOA,EAEhB,IAAIC,IAAkBC,QAEtB,IAAIC,KACFN,OAAQ,QAASA,QAAOE,GACtBpH,EAAGO,uBAAuBhI,KAC1B,IAAIkP,GAAU7K,OAAOrE,KACrB,IAAImP,GAAW1H,EAAGe,UAAUqG,EAC5B,IAAIM,EAAW,GAAKA,GAAYJ,GAAiB,CAC/C,KAAM,IAAIpB,YAAW,gFAEvB,MAAOe,IAAaQ,EAASC,IAG/BC,WAAY,QAASA,YAAWC,GAC9B5H,EAAGO,uBAAuBhI,KAC1B,IAAIkP,GAAU7K,OAAOrE,KACrB,IAAI+G,EAAKI,MAAMkI,GAAe,CAC5B,KAAM,IAAItH,WAAU,gDAEtB,GAAIuH,GAAYjL,OAAOgL,EACvB,IAAIE,GAAW1O,UAAUgG,OAAS,EAAIhG,UAAU,OAAU,EAC1D,IAAI2O,GAAQtK,EAAKuC,EAAGe,UAAU+G,GAAW,EACzC,OAAO5K,GAAUuK,EAASM,EAAOA,EAAQF,EAAUzI,UAAYyI,GAGjEG,SAAU,QAASA,UAASJ,GAC1B5H,EAAGO,uBAAuBhI,KAC1B,IAAIkP,GAAU7K,OAAOrE,KACrB,IAAI+G,EAAKI,MAAMkI,GAAe,CAC5B,KAAM,IAAItH,WAAU,8CAEtB,GAAIuH,GAAYjL,OAAOgL,EACvB,IAAIK,GAAUR,EAAQrI,MACtB,IAAI8I,GAAS9O,UAAUgG,OAAS,EAAIhG,UAAU,OAAU,EACxD,IAAI+O,SAAaD,KAAW,YAAcD,EAAUjI,EAAGe,UAAUmH,EACjE,IAAIE,GAAMxK,EAAKH,EAAK0K,EAAK,GAAIF,EAC7B,OAAO/K,GAAUuK,EAASW,EAAMP,EAAUzI,OAAQgJ,KAASP,GAG7DQ,SAAU,QAASA,UAAST,GAC1B,GAAItI,EAAKI,MAAMkI,GAAe,CAC5B,KAAM,IAAItH,WAAU,uCAEtB,GAAIgI,EACJ,IAAIlP,UAAUgG,OAAS,EAAG,CACxBkJ,EAAWlP,UAAU,GAGvB,MAAOuD,GAASpE,KAAMqP,EAAcU,MAAe,GAGrDC,YAAa,QAASA,aAAYJ,GAChCnI,EAAGO,uBAAuBhI,KAC1B,IAAIkP,GAAU7K,OAAOrE,KACrB,IAAI+P,GAAWtI,EAAGe,UAAUoH,EAC5B,IAAI/I,GAASqI,EAAQrI,MACrB,IAAIkJ,GAAY,GAAKA,EAAWlJ,EAAQ,CACtC,GAAIoJ,GAAQf,EAAQgB,WAAWH,EAC/B,IAAII,GAASJ,EAAW,IAAMlJ,CAC9B,IAAIoJ,EAAQ,OAAUA,EAAQ,OAAUE,EAAO,CAAE,MAAOF,GACxD,GAAIG,GAASlB,EAAQgB,WAAWH,EAAW,EAC3C,IAAIK,EAAS,OAAUA,EAAS,MAAQ,CAAE,MAAOH,GACjD,OAASA,EAAQ,OAAU,MAASG,EAAS,OAAU,QAI7D,IAAI/L,OAAO1C,UAAUmO,UAAY,IAAIA,SAAS,IAAKd,YAAc,MAAO,CACtEpC,EAAevI,OAAO1C,UAAW,WAAYsN,GAAqBa,UAGpE,GAAIzL,OAAO1C,UAAUyN,YAAc/K,OAAO1C,UAAU8N,SAAU,CAC5D,GAAIY,IAAyBvP,EAAY,WAEvC,MAAMsO,WAAW,MAEnB,IAAIkB,IAA4B,MAAMlB,WAAW,IAAKJ,YAAc,KACpE,KAAKqB,KAA2BC,GAA2B,CAEzD1D,EAAevI,OAAO1C,UAAW,aAAcsN,GAAqBG,WACpExC,GAAevI,OAAO1C,UAAW,WAAYsN,GAAqBQ,WAItEhN,EAAiB4B,OAAO1C,UAAWsN,GAInC,IAAIsB,KACF,oDACA,qEACA,gBACA1C,KAAK,GACP,IAAI2C,IAAa,GAAIC,QAAO,MAAQF,GAAK,SAAWA,GAAK,OAAQ,IACjE,IAAIG,IAAW,QAASC,QACtB,SAAW3Q,QAAS,aAAeA,OAAS,KAAM,CAChD,KAAM,IAAI+H,WAAU,iBAAmB/H,KAAO,cAEhD,MAAOqE,QAAOrE,MAAMmL,QAAQqF,GAAY,IAE1C,IAAII,KAAS,OAAU,SAAU,UAAU/C,KAAK,GAChD,IAAIgD,IAAa,GAAIJ,QAAO,IAAMG,GAAQ,IAAK,IAC/C,IAAIE,IAAgB,qBACpB,IAAIC,IAAmBH,GAAMD,OAAO9J,SAAW+J,GAAM/J,MACrDzF,GAAeiD,OAAO1C,UAAW,OAAQ+O,GAAUK,GAGnD,IAAIC,IAAiB,SAAUpC,GAC7BnH,EAAGO,uBAAuB4G,EAC1B5O,MAAKiR,GAAK5M,OAAOuK,EACjB5O,MAAKkR,GAAK,EAEZF,IAAerP,UAAUqI,KAAO,WAC9B,GAAI4E,GAAI5O,KAAKiR,GAAIvD,EAAI1N,KAAKkR,EAC1B,UAAWtC,KAAM,aAAelB,GAAKkB,EAAE/H,OAAQ,CAC7C7G,KAAKiR,OAAU,EACf,QAAS7O,UAAY,GAAG8H,KAAM,MAEhC,GAAI+F,GAAQrB,EAAEsB,WAAWxC,GAAI0C,EAAQzH,CACrC,IAAIsH,EAAQ,OAAUA,EAAQ,OAAWvC,EAAI,IAAOkB,EAAE/H,OAAQ,CAC5D8B,EAAM,MACD,CACLyH,EAASxB,EAAEsB,WAAWxC,EAAI,EAC1B/E,GAAOyH,EAAS,OAAUA,EAAS,MAAU,EAAI,EAEnDpQ,KAAKkR,GAAKxD,EAAI/E,CACd,QAASvG,MAAOwM,EAAEuC,OAAOzD,EAAG/E,GAAMuB,KAAM,OAE1C2C,GAAYmE,GAAerP,UAC3BkL,GAAYxI,OAAO1C,UAAW,WAC5B,MAAO,IAAIqP,IAAehR,OAG5B,IAAIoR,KACFC,KAAM,QAASA,MAAKC,GAClB,GAAIlO,GAAIpD,IACR,IAAIuR,GAAQ1Q,UAAUgG,OAAS,EAAIhG,UAAU,OAAU,EACvD,IAAI2Q,GAASC,CACb,IAAIF,QAAe,GAAG,CACpBC,EAAU,UACL,CACL,IAAK/J,EAAGK,WAAWyJ,GAAQ,CACzB,KAAM,IAAIxJ,WAAU,qEAEtB0J,EAAI5Q,UAAUgG,OAAS,EAAIhG,UAAU,OAAU,EAC/C2Q,GAAU,KAKZ,GAAIE,UAAwB/K,EAAY2K,IAAU7J,EAAG2B,UAAUkI,EAAOjK,MAAiB,WAEvF,IAAIR,GAAQkD,EAAQ2D,CACpB,IAAIgE,EAAe,CACjB3H,EAAStC,EAAGW,cAAchF,GAAKjC,OAAO,GAAIiC,MAC1C,IAAIkE,GAAWG,EAAGyB,YAAYoI,EAC9B,IAAItH,GAAM2H,CAEVjE,GAAI,CACJ,OAAO,KAAM,CACX1D,EAAOvC,EAAGwC,aAAa3C,EACvB,IAAI0C,IAAS,MAAO,CAClB,MAEF2H,EAAY3H,EAAK5H,KACjB,KACE,GAAIoP,EAAS,CACXG,EAAYF,IAAMG,UAAYL,EAAMI,EAAWjE,GAAKpN,EAAMiR,EAAOE,EAAGE,EAAWjE,GAEjF3D,EAAO2D,GAAKiE,EACZ,MAAO5Q,GACP0G,EAAGgC,cAAcnC,EAAU,KAC3B,MAAMvG,GAER2M,GAAK,EAEP7G,EAAS6G,MACJ,CACL,GAAImE,GAAYpK,EAAGU,SAASmJ,EAC5BzK,GAASY,EAAGiB,SAASmJ,EAAUhL,OAC/BkD,GAAStC,EAAGW,cAAchF,GAAKjC,OAAO,GAAIiC,GAAEyD,IAAW,GAAIrG,OAAMqG,EACjE,IAAIzE,EACJ,KAAKsL,EAAI,EAAGA,EAAI7G,IAAU6G,EAAG,CAC3BtL,EAAQyP,EAAUnE,EAClB,IAAI8D,EAAS,CACXpP,EAAQqP,IAAMG,UAAYtR,EAAMiR,EAAOE,EAAGrP,EAAOsL,GAAK6D,EAAMnP,EAAOsL,GAErE3D,EAAO2D,GAAKtL,GAIhB2H,EAAOlD,OAASA,CAChB,OAAOkD,IAGT+H,GAAI,QAASA,MACX,GAAInJ,GAAM9H,UAAUgG,MACpB,IAAIzD,GAAIpD,IACR,IAAI+R,GAAIxR,EAAQ6C,KAAOqE,EAAGK,WAAW1E,GAAK,GAAI5C,OAAMmI,GAAOlB,EAAG0C,UAAU/G,GAAIuF,GAC5E,KAAK,GAAIqJ,GAAI,EAAGA,EAAIrJ,IAAOqJ,EAAG,CAC5B/E,GAA0B8E,EAAGC,EAAGnR,UAAUmR,IAE5CD,EAAElL,OAAS8B,CACX,OAAOoJ,IAGXtP,GAAiBjC,MAAO4Q,GACxBzE,GAAkBnM,MAKlB,IAAIyR,IAAiB,SAAUhL,GAC7B,OAAS7E,MAAO6E,EAAGiD,KAAMrJ,UAAUgG,SAAW,GAKhDZ,GAAgB,SAAUiM,EAAOC,GAC7BnS,KAAK0N,EAAI,CACT1N,MAAKkS,MAAQA,CACblS,MAAKmS,KAAOA,EAGhB1P,GAAiBwD,EAActE,WAC7BqI,KAAM,WACJ,GAAI0D,GAAI1N,KAAK0N,EAAGwE,EAAQlS,KAAKkS,KAC7B,MAAMlS,eAAgBiG,IAAgB,CACpC,KAAM,IAAI8B,WAAU,wBAEtB,SAAWmK,KAAU,YAAa,CAChC,GAAIvJ,GAAMlB,EAAGiB,SAASwJ,EAAMrL,OAC5B,MAAO6G,EAAI/E,EAAK+E,IAAK,CACnB,GAAIyE,GAAOnS,KAAKmS,IAChB,IAAIC,EACJ,IAAID,IAAS,MAAO,CAClBC,EAAS1E,MACJ,IAAIyE,IAAS,QAAS,CAC3BC,EAASF,EAAMxE,OACV,IAAIyE,IAAS,QAAS,CAC3BC,GAAU1E,EAAGwE,EAAMxE,IAErB1N,KAAK0N,EAAIA,EAAI,CACb,QAAStL,MAAOgQ,EAAQlI,KAAM,QAGlClK,KAAKkS,UAAa,EAClB,QAAS9P,UAAY,GAAG8H,KAAM,QAGlC2C,GAAY5G,EAActE,UAE1B,IAAI0Q,IAAa,QAASA,YAAWlQ,GACnC,GAAIQ,KAEJ,KAAK,GAAIK,KAAOb,GAAQ,CACtB0C,EAAMlC,EAAMK,GAGd,MAAOL,GAGT,IAAI2P,IAAiB,SAAUnQ,EAAQgQ,GACrC1P,EAAiBzC,MACfmC,OAAQA,EACR+P,MAAOG,GAAWlQ,GAClBgQ,KAAMA,IAIV1P,GAAiB6P,GAAe3Q,WAC9BqI,KAAM,QAASA,QACb,GAAIhH,EACJ,IAAIkP,GAAQlS,KAAKkS,KAEjB,MAAMlS,eAAgBsS,KAAiB,CACrC,KAAM,IAAIvK,WAAU,yBAItB,MAAOmK,EAAMrL,OAAS,EAAG,CACvB7D,EAAMgC,EAAOkN,EAKb,MAAMlP,IAAOhD,MAAKmC,QAAS,CACzB,SAGF,GAAInC,KAAKmS,OAAS,MAAO,CACvB,MAAOF,IAAejP,OACjB,IAAIhD,KAAKmS,OAAS,QAAS,CAChC,MAAOF,IAAejS,KAAKmC,OAAOa,QAC7B,CACL,MAAOiP,KAAgBjP,EAAKhD,KAAKmC,OAAOa,MAI5C,MAAOiP,QAGXpF,GAAYyF,GAAe3Q,UAG3B,IAAI4Q,IAA6B/R,MAAMsR,KAAOV,GAAWU,IAAO,WAE9D,GAAIU,GAAM,QAASA,KAAI7J,GAAO3I,KAAK6G,OAAS8B,EAC5C6J,GAAI7Q,YACJ,IAAI8Q,GAASjS,MAAMsR,GAAGzR,MAAMmS,GAAM,EAAG,GACrC,OAAOC,aAAkBD,IAAOC,EAAO5L,SAAW,IAEpD,KAAK0L,GAA4B,CAC/B3F,EAAepM,MAAO,KAAM4Q,GAAWU,IAGzC,GAAIY,KACFC,WAAY,QAASA,YAAWrI,EAAQkF,GACtC,GAAIK,GAAMhP,UAAU,EACpB,IAAI6C,GAAI+D,EAAGU,SAASnI,KACpB,IAAI2I,GAAMlB,EAAGiB,SAAShF,EAAEmD,OACxB,IAAI+L,GAAiBnL,EAAGe,UAAU8B,EAClC,IAAIuI,GAAgBpL,EAAGe,UAAUgH,EACjC,IAAIsD,GAAKF,EAAiB,EAAI1N,EAAKyD,EAAMiK,EAAgB,GAAKvN,EAAKuN,EAAgBjK,EACnF,IAAI0I,GAAOwB,EAAgB,EAAI3N,EAAKyD,EAAMkK,EAAe,GAAKxN,EAAKwN,EAAelK,EAClFkH,SAAaA,KAAQ,YAAclH,EAAMlB,EAAGe,UAAUqH,EACtD,IAAIkD,GAAMlD,EAAM,EAAI3K,EAAKyD,EAAMkH,EAAK,GAAKxK,EAAKwK,EAAKlH,EACnD,IAAIqK,GAAQ3N,EAAK0N,EAAM1B,EAAM1I,EAAMmK,EACnC,IAAIG,GAAY,CAChB,IAAI5B,EAAOyB,GAAMA,EAAMzB,EAAO2B,EAAQ,CACpCC,GAAa,CACb5B,IAAQ2B,EAAQ,CAChBF,IAAME,EAAQ,EAEhB,MAAOA,EAAQ,EAAG,CAChB,GAAIjN,EAAgBrC,EAAG2N,GAAO,CAC5B3N,EAAEoP,GAAMpP,EAAE2N,OACL,OACE3N,GAAE2N,GAEXA,GAAQ4B,CACRH,IAAMG,CACND,IAAS,EAEX,MAAOtP,IAGTwP,KAAM,QAASA,MAAK9Q,GAClB,GAAIoN,GAAQ3O,UAAUgG,OAAS,EAAIhG,UAAU,OAAU,EACvD,IAAIgP,GAAMhP,UAAUgG,OAAS,EAAIhG,UAAU,OAAU,EACrD,IAAI8J,GAAIlD,EAAGU,SAASnI,KACpB,IAAI2I,GAAMlB,EAAGiB,SAASiC,EAAE9D,OACxB2I,GAAQ/H,EAAGe,gBAAiBgH,KAAU,YAAc,EAAIA,EACxDK,GAAMpI,EAAGe,gBAAiBqH,KAAQ,YAAclH,EAAMkH,EAEtD,IAAIgD,GAAgBrD,EAAQ,EAAItK,EAAKyD,EAAM6G,EAAO,GAAKnK,EAAKmK,EAAO7G,EACnE,IAAIwK,GAActD,EAAM,EAAIlH,EAAMkH,EAAMA,CAExC,KAAK,GAAInC,GAAImF,EAAenF,EAAI/E,GAAO+E,EAAIyF,IAAezF,EAAG,CAC3D/C,EAAE+C,GAAKtL,EAET,MAAOuI,IAGTyI,KAAM,QAASA,MAAKC,GAClB,GAAIC,GAAO7L,EAAGU,SAASnI,KACvB,IAAI6G,GAASY,EAAGiB,SAAS4K,EAAKzM,OAC9B,KAAKY,EAAGK,WAAWuL,GAAY,CAC7B,KAAM,IAAItL,WAAU,4CAEtB,GAAIwL,GAAU1S,UAAUgG,OAAS,EAAIhG,UAAU,GAAK,IACpD,KAAK,GAAI6M,GAAI,EAAGtL,EAAOsL,EAAI7G,EAAQ6G,IAAK,CACtCtL,EAAQkR,EAAK5F,EACb,IAAI6F,EAAS,CACX,GAAIjT,EAAM+S,EAAWE,EAASnR,EAAOsL,EAAG4F,GAAO,CAAE,MAAOlR,QACnD,IAAIiR,EAAUjR,EAAOsL,EAAG4F,GAAO,CACpC,MAAOlR,MAKboR,UAAW,QAASA,WAAUH,GAC5B,GAAIC,GAAO7L,EAAGU,SAASnI,KACvB,IAAI6G,GAASY,EAAGiB,SAAS4K,EAAKzM,OAC9B,KAAKY,EAAGK,WAAWuL,GAAY,CAC7B,KAAM,IAAItL,WAAU,iDAEtB,GAAIwL,GAAU1S,UAAUgG,OAAS,EAAIhG,UAAU,GAAK,IACpD,KAAK,GAAI6M,GAAI,EAAGA,EAAI7G,EAAQ6G,IAAK,CAC/B,GAAI6F,EAAS,CACX,GAAIjT,EAAM+S,EAAWE,EAASD,EAAK5F,GAAIA,EAAG4F,GAAO,CAAE,MAAO5F,QACrD,IAAI2F,EAAUC,EAAK5F,GAAIA,EAAG4F,GAAO,CACtC,MAAO5F,IAGX,OAAQ,GAGV/K,KAAM,QAASA,QACb,MAAO,IAAIsD,GAAcjG,KAAM,QAGjCyT,OAAQ,QAASA,UACf,MAAO,IAAIxN,GAAcjG,KAAM,UAGjC0T,QAAS,QAASA,WAChB,MAAO,IAAIzN,GAAcjG,KAAM,UAKnC,IAAIQ,MAAMmB,UAAUgB,OAAS8E,EAAGK,YAAY,GAAGnF,OAAOqH,MAAO,OACpDxJ,OAAMmB,UAAUgB,KAEzB,GAAInC,MAAMmB,UAAU+R,UAAYjM,EAAGK,YAAY,GAAG4L,UAAU1J,MAAO,OAC1DxJ,OAAMmB,UAAU+R,QAIzB,GAAIlT,MAAMmB,UAAUgB,MAAQnC,MAAMmB,UAAU+R,UAAYlT,MAAMmB,UAAU8R,QAAUjT,MAAMmB,UAAU0F,GAAa,CAC7G5E,EAAiBjC,MAAMmB,WACrB8R,OAAQjT,MAAMmB,UAAU0F,IAE1B,IAAIN,EAAKK,OAAOjB,EAAOwN,aAAc,CACnCnT,MAAMmB,UAAUwE,EAAOwN,aAAaF,OAAS,MAIjD,GAAIlS,GAAsBf,MAAMmB,UAAU8R,QAAUjT,MAAMmB,UAAU8R,OAAOhS,OAAS,SAAU,CAC5F,GAAImS,IAA+BpT,MAAMmB,UAAU8R,MACnD7G,GAAepM,MAAMmB,UAAW,SAAU,QAAS8R,UAAW,MAAOnT,GAAMsT,GAA8B5T,OACzGoB,GAAeZ,MAAMmB,UAAW0F,EAAY7G,MAAMmB,UAAU8R,OAAQ,MAEtEhR,EAAiBjC,MAAMmB,UAAW+Q,GAElC7F,GAAYrM,MAAMmB,UAAW,WAAc,MAAO3B,MAAKyT,UAGvD,IAAItS,OAAO0S,eAAgB,CACzBhH,EAAY1L,OAAO0S,kBAAkBJ,WAIvC,GAAIK,IAAoC,WAGtC,MAAO9S,GAAqB,WAAc,MAAOR,OAAM6Q,MAAOxK,QAAS,IAAKA,SAAW,MAEzF,IAAIkN,IAA6B,WAE/B,GAAIC,GAAMxT,MAAM6Q,MAAM,GAAGqC,UACzB,OAAOM,GAAInN,SAAW,GAAKtG,EAAQyT,EAAI,KAAOA,EAAI,GAAG,KAAO,GAAKA,EAAI,GAAG,KAAO,IAEjF,KAAKF,KAAqCC,GAA2B,CACnEnH,EAAepM,MAAO,OAAQ4Q,GAAWC,MAE3C,GAAI4C,IAAwC,WAG1C,MAAOjT,GAAqB,WAAc,MAAOR,OAAM6Q,MAAM,GAAIO,eAEnE,KAAKqC,GAAsC,CACzC,GAAIC,IAAgB1T,MAAM6Q,IAC1BzE,GAAepM,MAAO,OAAQ,QAAS6Q,MAAKC,GAC1C,GAAIzQ,UAAUgG,OAAS,SAAYhG,WAAU,KAAO,YAAa,CAC/D,MAAOZ,GAAOiU,GAAelU,KAAMa,eAC9B,CACL,MAAOP,GAAM4T,GAAelU,KAAMsR,MAKxC,GAAI6C,IAAqB,SAAUvR,EAAQwR,GACzC,GAAI3J,IAAQ5D,QAAS,EACrB4D,GAAI2J,IAAc,IAAM,GAAK,EAAK,GAAK,IACvC,OAAOpT,GAAqB,WAC1BV,EAAMsC,EAAQ6H,EAAK,WAGjB,KAAM,IAAIkD,YAAW,gCAI3B,KAAKwG,GAAmB3T,MAAMmB,UAAUC,SAAU,CAChD,GAAIyS,IAAkB7T,MAAMmB,UAAUC,OACtCgL,GAAepM,MAAMmB,UAAW,UAAW,QAASC,SAAQ0S,GAC1D,MAAOrU,GAAOoU,GAAiBrU,KAAK6G,QAAU,EAAI7G,QAAWa,YAC5D,MAEL,IAAKsT,GAAmB3T,MAAMmB,UAAUe,KAAM,CAC5C,GAAI6R,IAAc/T,MAAMmB,UAAUe,GAClCkK,GAAepM,MAAMmB,UAAW,MAAO,QAASe,KAAI4R,GAClD,MAAOrU,GAAOsU,GAAavU,KAAK6G,QAAU,EAAI7G,QAAWa,YACxD,MAEL,IAAKsT,GAAmB3T,MAAMmB,UAAUK,QAAS,CAC/C,GAAIwS,IAAiBhU,MAAMmB,UAAUK,MACrC4K,GAAepM,MAAMmB,UAAW,SAAU,QAASK,QAAOsS,GACxD,MAAOrU,GAAOuU,GAAgBxU,KAAK6G,QAAU,EAAI7G,QAAWa,YAC3D,MAEL,IAAKsT,GAAmB3T,MAAMmB,UAAUO,MAAO,CAC7C,GAAIuS,IAAejU,MAAMmB,UAAUO,IACnC0K,GAAepM,MAAMmB,UAAW,OAAQ,QAASO,MAAKoS,GACpD,MAAOrU,GAAOwU,GAAczU,KAAK6G,QAAU,EAAI7G,QAAWa,YACzD,MAEL,IAAKsT,GAAmB3T,MAAMmB,UAAU+S,OAAQ,CAC9C,GAAIC,IAAgBnU,MAAMmB,UAAU+S,KACpC9H,GAAepM,MAAMmB,UAAW,QAAS,QAAS+S,OAAMJ,GACtD,MAAOrU,GAAO0U,GAAe3U,KAAK6G,QAAU,EAAI7G,QAAWa,YAC1D,MAEL,IAAKsT,GAAmB3T,MAAMmB,UAAUG,QAAS,CAC/C,GAAI8S,IAAiBpU,MAAMmB,UAAUG,MACrC8K,GAAepM,MAAMmB,UAAW,SAAU,QAASG,QAAOwS,GACxD,MAAOrU,GAAO2U,GAAgB5U,KAAK6G,QAAU,EAAI7G,QAAWa,YAC3D,MAEL,IAAKsT,GAAmB3T,MAAMmB,UAAUkT,YAAa,MAAO,CAC1D,GAAIC,IAAsBtU,MAAMmB,UAAUkT,WAC1CjI,GAAepM,MAAMmB,UAAW,cAAe,QAASkT,aAAYP,GAClE,MAAOrU,GAAO6U,GAAqB9U,KAAK6G,QAAU,EAAI7G,QAAWa,YAChE,MAGL,GAAIkU,IAAoBxO,OAAO,UAAY,CAC3C,IAAIyO,IAAqBzO,OAAO,UAAY,CAC5C,IAAI0O,IAAqBhT,EAAM2O,GAAO,SAAUsE,GAC9C,MAAO3O,QAAO2O,EAAI,EAAIA,KAAO,GAE/B,IAAIH,IAAqBC,IAAsBC,GAAoB,CACjE,GAAIE,IAAa5O,MACjB,IAAI6O,IAAc,YAClB,IAAIC,IAAa,aAEjB,IAAIC,IAAWF,GAAYG,KAAKnV,KAAKgV,GACrC,IAAII,IAAUH,GAAWE,KAAKnV,KAAKiV,GACnC,IAAII,IAAc,SAAU9K,GAC1B,GAAIZ,EACJ,UAAWY,GAAE+K,UAAY,WAAY,CACnC3L,EAASY,EAAE+K,SACX,IAAI3O,EAAKC,UAAU+C,GAAS,CAC1B,MAAOA,IAGX,SAAWY,GAAEnG,WAAa,WAAY,CACpCuF,EAASY,EAAEnG,UACX,IAAIuC,EAAKC,UAAU+C,GAAS,CAC1B,MAAOA,IAGX,KAAM,IAAIhC,WAAU,oBAEtB,IAAI4N,IAAW9E,GAAW0E,KAAKnV,KAAKyQ,GACpC,IAAI+E,IAAW9E,GAAcyE,KAAKnV,KAAK0Q,GACvC,IAAI+E,IAAc,WAEhB,GAAIA,GAAa,QAAStP,QAAOnE,GAC/B,GAAI0T,GAAY/O,EAAKC,UAAU5E,GAASA,EAAQqT,GAAYrT,EAAO,SACnE,UAAW0T,KAAc,SAAU,CACjC,GAAIR,GAASQ,GAAY,CACvBA,EAAYC,SAASpR,EAAUmR,EAAW,GAAI,OACzC,IAAIN,GAAQM,GAAY,CAC7BA,EAAYC,SAASpR,EAAUmR,EAAW,GAAI,OACzC,IAAIH,GAASG,IAAcF,GAASE,GAAY,CACrDA,EAAYE,QACP,CACLF,EAAYxV,EAAMoQ,GAAUoF,IAGhC,GAAIG,GAAWjW,IACf,IAAIkW,GAAkBlV,EAAqB,WACzCmU,GAAWxT,UAAU+T,QAAQvV,KAAK8V,EAClC,OAAO,OAET,IAAIA,YAAoBJ,KAAeK,EAAiB,CACtD,MAAO,IAAIf,IAAWW,GAGxB,MAAOX,IAAWW,GAGpB,OAAOD,KAETxJ,GAAgB8I,GAAYU,MAG5BtP,QAASsP,EACT5S,GAAM8I,SAAS9H,EAAS,SAAU4R,IAKpC,GAAIM,IAAiBhR,KAAKiR,IAAI,EAAG,IAAM,CACvC3T,GAAiB8D,QACfqC,iBAAkBuN,GAClBE,kBAAmBF,GACnBG,QAAS,sBAETP,SAAU9R,EAAQ8R,SAClBQ,WAAYtS,EAAQsS,WAEpBpS,SAAUsC,EAEV+P,UAAW,QAASA,WAAUpU,GAC5B,MAAOqE,GAAerE,IAAUqF,EAAGe,UAAUpG,KAAWA,GAG1DqU,cAAe,QAASA,eAAcrU,GACpC,MAAOmE,QAAOiQ,UAAUpU,IAAUqD,EAAKrD,IAAUmE,OAAOqC,kBAG1DpC,MAAOF,GAGTlF,GAAemF,OAAQ,WAAYtC,EAAQ8R,SAAUxP,OAAOwP,WAAa9R,EAAQ8R,SAQjF,MAAM,CAAE,GAAG3C,KAAK,SAAUsD,EAAMC,GAAO,MAAOA,KAAQ,IAAO,CAC3D/J,EAAepM,MAAMmB,UAAW,OAAQ+Q,GAAoBU,MAE9D,IAAK,CAAE,GAAGI,UAAU,SAAUkD,EAAMC,GAAO,MAAOA,KAAQ,MAAU,EAAG,CACrE/J,EAAepM,MAAMmB,UAAW,YAAa+Q,GAAoBc,WAKnE,GAAIoD,IAAiB1W,SAASE,KAAKD,KAAKD,SAASE,KAAMe,OAAOQ,UAAUkV,qBACxE,IAAIC,IAAY,QAASA,aAGvB,GAAIC,GAAUxQ,OAAOvG,KACrB,IAAI2I,GAAM9H,UAAUgG,MACpB,IAAImQ,GAAkBrO,EAAMoO,CAC5B,IAAIlP,GAAO,GAAIrH,OAAMwW,EAAkB,EAAI,EAAIA,EAC/C,KAAK,GAAItJ,GAAIqJ,EAASrJ,EAAI/E,IAAO+E,EAAG,CAClC7F,EAAK6F,EAAIqJ,GAAWlW,UAAU6M,GAEhC,MAAO7F,GAET,IAAIoP,IAAW,QAASA,UAAS7K,GAC/B,MAAO,SAAS8K,gBAAe5M,EAAQtH,GACrCsH,EAAOtH,GAAOoJ,EAAOpJ,EACrB,OAAOsH,IAGX,IAAI6M,IAAgB,SAAU7M,EAAQ8B,GACpC,GAAIzJ,GAAOxB,OAAOwB,KAAKxB,OAAOiL,GAC9B,IAAIgL,EACJ,IAAI3P,EAAGK,WAAW3G,OAAOkW,uBAAwB,CAC/CD,EAAUrV,EAAQZ,OAAOkW,sBAAsBlW,OAAOiL,IAAUwK,GAAexK,IAEjF,MAAOvK,GAAQ4C,EAAQ9B,EAAMyU,OAAgBH,GAAS7K,GAAS9B,GAGjE,IAAIgN,KAEFC,OAAQ,SAAUjN,EAAQ8B,GACxB,GAAI0G,GAAKrL,EAAGU,SAASmC,EAAQ,6CAC7B,OAAOzI,GAAQ5B,EAAO6W,GAAW,EAAGjW,WAAYsW,GAAerE,IAIjE0E,GAAI,QAASA,IAAG1O,EAAGC,GACjB,MAAOtB,GAAGoB,UAAUC,EAAGC,IAG3B,IAAI0O,IAA6BtW,OAAOoW,QAAUpW,OAAOuW,mBAAsB,WAG7E,GAAIC,GAAUxW,OAAOuW,mBAAoBjJ,EAAG,GAC5C,KACEtN,OAAOoW,OAAOI,EAAS,MACvB,MAAO5W,GACP,MAAO4W,GAAQ,KAAO,OAG1B,IAAIF,GAA4B,CAC9B7K,EAAezL,OAAQ,SAAUmW,GAAYC,QAE/C9U,EAAiBtB,OAAQmW,GAEzB,IAAIhW,EAAqB,CACvB,GAAIsW,KAGFtU,eAAiB,SAAUnC,EAAQ0W,GACjC,GAAIhM,EAEJ,IAAIiM,GAAY,SAAUnN,EAAGH,GAC3B,IAAK/C,EAAGS,aAAayC,GAAI,CACvB,KAAM,IAAI5C,WAAU,wCAEtB,KAAMyC,IAAU,MAAQ/C,EAAGS,aAAasC,IAAS,CAC/C,KAAM,IAAIzC,WAAU,8CAAgDyC,IAIxE,IAAIlH,GAAiB,SAAUqH,EAAGH,GAChCsN,EAAUnN,EAAGH,EACblK,GAAMuL,EAAKlB,EAAGH,EACd,OAAOG,GAGT,KAEEkB,EAAM1K,EAAOwK,yBAAyBxK,EAAOQ,UAAWkW,GAAOhM,GAC/DvL,GAAMuL,KAAS,MACf,MAAO9K,GACP,GAAII,EAAOQ,eAAiBkW,GAAQ,CAElC,OAGFhM,EAAM,SAAUrB,GACdxK,KAAK6X,GAASrN,EAOhBlH,GAAeyU,SAAWzU,EACxBA,KAAmB,MACnBnC,EAAOQ,oBACIR,GASf,MAAOmC,IACPnC,OAAQ,aAGZsB,GAAiBtB,OAAQyW,IAK3B,GAAIzW,OAAOmC,gBAAkBnC,OAAO0S,gBAChC1S,OAAO0S,eAAe1S,OAAOmC,kBAAmB,SAAW,MAC3DnC,OAAO0S,eAAe1S,OAAO0B,OAAO,SAAW,KAAM,EACtD,WACC,GAAImV,GAAW7W,OAAO0B,OAAO,KAC7B,IAAIoV,GAAM9W,OAAO0S,eAAgBqE,EAAM/W,OAAOmC,cAC9CnC,QAAO0S,eAAiB,SAAUnQ,GAChC,GAAIqG,GAASkO,EAAIvU,EACjB,OAAOqG,KAAWiO,EAAW,KAAOjO,EAEtC5I,QAAOmC,eAAiB,SAAUI,EAAG4F,GACnC,GAAIkB,GAAQlB,IAAM,KAAO0O,EAAW1O,CACpC,OAAO4O,GAAIxU,EAAG8G,GAEhBrJ,QAAOmC,eAAeyU,SAAW,UAIrC,GAAII,KAA+BrX,EAAY,WAAcK,OAAOwB,KAAK,QACzE,KAAKwV,GAA6B,CAChC,GAAIC,IAAqBjX,OAAOwB,IAChCiK,GAAezL,OAAQ,OAAQ,QAASwB,MAAKP,GAC3C,MAAOgW,IAAmB3Q,EAAGU,SAAS/F,MAI1C,GAAIjB,OAAOsL,oBAAqB,CAC9B,GAAI4L,KAA+BvX,EAAY,WAAcK,OAAOsL,oBAAoB,QACxF,KAAK4L,GAA6B,CAChC,GAAIC,UAA2BxU,UAAW,SAAW3C,OAAOsL,oBAAoB3I,UAChF,IAAIyU,IAAoCpX,OAAOsL,mBAC/CG,GAAezL,OAAQ,sBAAuB,QAASsL,qBAAoBrK,GACzE,GAAIoW,GAAM/Q,EAAGU,SAAS/F,EACtB,IAAImC,EAAUiU,KAAS,kBAAmB,CACxC,IACE,MAAOD,IAAkCC,GACzC,MAAOzX,GAEP,MAAO0D,MAAY6T,KAGvB,MAAOC,IAAkCC,MAI/C,GAAIrX,OAAOwK,yBAA0B,CACnC,GAAI8M,KAA+B3X,EAAY,WAAcK,OAAOwK,yBAAyB,MAAO,QACpG,KAAK8M,GAA6B,CAChC,GAAIC,IAAyCvX,OAAOwK,wBACpDiB,GAAezL,OAAQ,2BAA4B,QAASwK,0BAAyBvJ,EAAO4J,GAC1F,MAAO0M,IAAuCjR,EAAGU,SAAS/F,GAAQ4J,MAIxE,GAAI7K,OAAOwX,KAAM,CACf,GAAIC,KAA+B9X,EAAY,WAAcK,OAAOwX,KAAK,QACzE,KAAKC,GAA6B,CAChC,GAAIC,IAAqB1X,OAAOwX,IAChC/L,GAAezL,OAAQ,OAAQ,QAASwX,MAAKvW,GAC3C,IAAK2E,EAAK5E,OAAOC,GAAQ,CAAE,MAAOA,GAClC,MAAOyW,IAAmBzW,MAIhC,GAAIjB,OAAO2X,SAAU,CACnB,GAAIC,KAAmCjY,EAAY,WAAcK,OAAO2X,SAAS,QACjF,KAAKC,GAAiC,CACpC,GAAIC,IAAyB7X,OAAO2X,QACpClM,GAAezL,OAAQ,WAAY,QAAS2X,UAAS1W,GACnD,IAAK2E,EAAK5E,OAAOC,GAAQ,CAAE,MAAO,MAClC,MAAO4W,IAAuB5W,MAIpC,GAAIjB,OAAO8X,OAAQ,CACjB,GAAIC,KAAiCpY,EAAY,WAAcK,OAAO8X,OAAO,QAC7E,KAAKC,GAA+B,CAClC,GAAIC,IAAuBhY,OAAO8X,MAClCrM,GAAezL,OAAQ,SAAU,QAAS8X,QAAO7W,GAC/C,IAAK2E,EAAK5E,OAAOC,GAAQ,CAAE,MAAOA,GAClC,MAAO+W,IAAqB/W,MAIlC,GAAIjB,OAAOiY,SAAU,CACnB,GAAIC,KAAmCvY,EAAY,WAAcK,OAAOiY,SAAS,QACjF,KAAKC,GAAiC,CACpC,GAAIC,IAAyBnY,OAAOiY,QACpCxM,GAAezL,OAAQ,WAAY,QAASiY,UAAShX,GACnD,IAAK2E,EAAK5E,OAAOC,GAAQ,CAAE,MAAO,MAClC,MAAOkX,IAAuBlX,MAIpC,GAAIjB,OAAOuW,kBAAmB,CAC5B,GAAI6B,KAA4CzY,EAAY,WAAcK,OAAOuW,kBAAkB,QACnG,KAAK6B,GAA0C,CAC7C,GAAIC,IAAkCrY,OAAOuW,iBAC7C9K,GAAezL,OAAQ,oBAAqB,QAASuW,mBAAkBtV,GACrE,IAAK2E,EAAK5E,OAAOC,GAAQ,CAAE,MAAOA,GAClC,MAAOoX,IAAgCpX,MAI7C,GAAIjB,OAAOsY,aAAc,CACvB,GAAIC,KAAuC5Y,EAAY,WAAcK,OAAOsY,aAAa,QACzF,KAAKC,GAAqC,CACxC,GAAIC,IAA6BxY,OAAOsY,YACxC7M,GAAezL,OAAQ,eAAgB,QAASsY,cAAarX,GAC3D,IAAK2E,EAAK5E,OAAOC,GAAQ,CAAE,MAAO,OAClC,MAAOuX,IAA2BvX,MAIxC,GAAIjB,OAAO0S,eAAgB,CACzB,GAAI+F,KAAmC9Y,EAAY,WAAcK,OAAO0S,eAAe,QACvF,KAAK+F,GAAiC,CACpC,GAAIC,IAAmB1Y,OAAO0S,cAC9BjH,GAAezL,OAAQ,iBAAkB,QAAS0S,gBAAezR,GAC/D,MAAOyX,IAAiBpS,EAAGU,SAAS/F,OAK1C,GAAI0X,IAAWxY,GAAwB,WACrC,GAAIyY,GAAO5Y,OAAOwK,yBAAyB8E,OAAO9O,UAAW,QAC7D,OAAOoY,IAAQtS,EAAGK,WAAWiS,EAAK1Y,OAEpC,KAAKyY,GAAU,CACb,GAAIE,IAAoB,QAASC,SAC/B,IAAKxS,EAAGS,aAAalI,MAAO,CAC1B,KAAM,IAAI+H,WAAU,0DAEtB,GAAIgC,GAAS,EACb,IAAI/J,KAAK+D,OAAQ,CACfgG,GAAU,IAEZ,GAAI/J,KAAKka,WAAY,CACnBnQ,GAAU,IAEZ,GAAI/J,KAAKma,UAAW,CAClBpQ,GAAU,IAEZ,GAAI/J,KAAKoa,QAAS,CAChBrQ,GAAU,IAEZ,GAAI/J,KAAKqa,OAAQ,CACftQ,GAAU,IAEZ,MAAOA,GAGT9G,GAAMqI,OAAOmF,OAAO9O,UAAW,QAASqY,IAG1C,GAAIM,IAA+BtZ,EAAqB,WACtD,MAAOqD,QAAO,GAAIoM,QAAO,KAAM,QAAU,QAG3C,KAAK6J,IAAgChZ,EAAqB,CACxD,GAAIiZ,IAAa9J,MACjB,IAAI+J,IAAa,QAAS/J,QAAOgK,EAASR,GACxC,GAAIS,GAAgB1a,eAAgByQ,OACpC,KAAKiK,IAAkB3T,EAAKI,MAAMsT,IAAaA,GAAWA,EAAQ9W,cAAgB8M,QAAU,CAC1F,MAAOgK,GAET,GAAI1T,EAAKI,MAAMsT,IAAY1T,EAAKG,OAAO+S,GAAQ,CAC7C,MAAO,IAAIxJ,QAAOgK,EAAQrO,OAAQ6N,GAEpC,MAAO,IAAIM,IAAWE,EAASR,GAEjC5N,GAAgBkO,GAAYC,IAC1BG,OAAQ,MAIVlK,QAAS+J,EACTvX,GAAM8I,SAAS9H,EAAS,SAAUuW,IAKpC,GAAIlZ,EAAqB,CACvB,GAAIsZ,KACFC,MAAO,KACPC,UAAW,KACXC,UAAW,KACXC,YAAa,KACbC,aAAc,KAEhBvZ,GAASP,OAAOwB,KAAKiY,IAAe,SAAUM,GAC5C,GAAIA,IAAQzK,WAAYmK,GAAaM,IAASzK,SAAS,CACrDxN,EAAMqI,OAAOmF,OAAQmK,GAAaM,GAAO,QAAS7Z,OAChD,MAAOoP,QAAOyK,QAKtBvO,EAAkB8D,OAElB,IAAI0K,IAAiB,EAAI5U,OAAO+P,OAChC,IAAI8E,IAAkB,QAASA,iBAAgBC,GAE7C,MAAQA,GAAIF,GAAkBA,GAEhC,IAAIG,IAAoBnW,KAAKiR,IAAI,GAAI,GACrC,IAAImF,IAAsBpW,KAAKiR,IAAI,EAAG,MAAQ,EAAIkF,GAClD,IAAIE,IAAsBrW,KAAKiR,IAAI,GAAI,IACvC,IAAIqF,IAAYlV,OAAO5E,UAAU+Z,UAC1BnV,QAAO5E,UAAU+Z,GAExB,IAAIC,KACFC,MAAO,QAASA,OAAMxZ,GACpB,GAAI6E,GAAIV,OAAOnE,EACf,IAAImE,OAAOC,MAAMS,IAAM7E,EAAQ,EAAG,CAAE,MAAO4T,KAC3C,GAAI/O,IAAM,EAAG,CAAE,MAAO,GACtB,GAAIA,IAAM+H,SAAU,CAAE,MAAO/H,GAC7B,MAAOtB,GAAKsB,EAAI9B,KAAK0W,EAAIhW,EAAMoB,EAAI,GAAKpB,EAAMoB,EAAI,GAAK9B,KAAK0W,GAAK,GAGnEC,MAAO,QAASA,OAAM1Z,GACpB,GAAI6E,GAAIV,OAAOnE,EACf,IAAI6E,IAAM,IAAM/C,EAAe+C,GAAI,CACjC,MAAOA,GAET,MAAOA,GAAI,GAAK9B,KAAK2W,OAAO7U,GAAKtB,EAAKsB,EAAIpB,EAAMoB,EAAIA,EAAI,KAG1D8U,MAAO,QAASA,OAAM3Z,GACpB,GAAI6E,GAAIV,OAAOnE,EACf,IAAImE,OAAOC,MAAMS,IAAMA,GAAK,GAAKA,EAAI,EAAG,CACtC,MAAO+O,KAET,GAAI/O,KAAO,EAAG,CAAE,OAAQ+H,SACxB,GAAI/H,IAAM,EAAG,CAAE,MAAO+H,UACtB,GAAI/H,IAAM,EAAG,CAAE,MAAOA,GACtB,MAAO,GAAMtB,GAAM,EAAIsB,IAAM,EAAIA,KAGnC+U,KAAM,QAASA,MAAK5Z,GAClB,GAAI6E,GAAIV,OAAOnE,EACf,IAAI6E,IAAM,EAAG,CAAE,MAAOA,GACtB,GAAIgV,GAAShV,EAAI,EAAG8C,CACpB,IAAIkS,EAAQ,CAAEhV,GAAKA,EACnB,GAAIA,IAAM+H,SAAU,CAClBjF,EAASiF,aACJ,CACLjF,EAAS5E,KAAK+W,IAAIvW,EAAKsB,GAAK,EAE5B8C,IAAU9C,GAAK8C,EAASA,GAAW,EAAIA,GAAW,EAEpD,MAAOkS,IAAUlS,EAASA,GAG5BoS,MAAO,QAASA,OAAM/Z,GAEpB,GAAI6E,GAAIV,OAAOnE,EACf,IAAIqG,GAAShB,EAAGc,SAAStB,EACzB,IAAIwB,IAAW,EAAG,CAChB,MAAO,IAET,MAAOgT,IAAYnb,EAAMmb,GAAWhT,GAAU,GAAKlD,EAAOI,EAAK8C,EAAS,IAAOtD,KAAKiX,QAGtFC,KAAM,QAASA,MAAKja,GAClB,GAAI6E,GAAIV,OAAOnE,EACf,IAAI6E,IAAM,EAAG,CAAE,MAAO,GACtB,GAAIV,OAAOC,MAAMS,GAAI,CAAE,MAAO+O,KAC9B,IAAK9R,EAAe+C,GAAI,CAAE,MAAO+H,UACjC,GAAI/H,EAAI,EAAG,CAAEA,GAAKA,EAClB,GAAIA,EAAI,GAAI,CAAE,MAAO9B,MAAK+W,IAAIjV,GAAK,EACnC,OAAQ9B,KAAK+W,IAAIjV,GAAK9B,KAAK+W,KAAKjV,IAAM,GAGxCqV,MAAO,QAASA,OAAMla,GACpB,GAAI6E,GAAIV,OAAOnE,EACf,IAAI6E,KAAO+H,SAAU,CAAE,OAAQ,EAC/B,IAAK9K,EAAe+C,IAAMA,IAAM,EAAG,CAAE,MAAOA,GAC5C,GAAIxB,EAAKwB,GAAK,GAAK,CACjB,MAAO9B,MAAK+W,IAAIjV,GAAK,EAIvB,GAAIsV,GAAItV,CACR,IAAIuV,GAAM,CACV,IAAInB,GAAI,CACR,OAAOmB,EAAMD,IAAMC,EAAK,CACtBA,GAAOD,CACPlB,IAAK,CACLkB,IAAKtV,EAAIoU,EAEX,MAAOmB,IAGTC,MAAO,QAASA,OAAMxV,EAAGyV,GACvB,GAAI3S,GAAS,CACb,IAAI4S,GAAU,CACd,KAAK,GAAIjP,GAAI,EAAGA,EAAI7M,UAAUgG,SAAU6G,EAAG,CACzC,GAAItL,GAAQqD,EAAKc,OAAO1F,UAAU6M,IAClC,IAAIiP,EAAUva,EAAO,CACnB2H,GAAW4S,EAAUva,GAAUua,EAAUva,EACzC2H,IAAU,CACV4S,GAAUva,MACL,CACL2H,GAAW3H,EAAQ,EAAKA,EAAQua,GAAYva,EAAQua,GAAWva,GAGnE,MAAOua,KAAY3N,SAAWA,SAAW2N,EAAU9W,EAAMkE,IAG3D6S,KAAM,QAASA,MAAKxa,GAClB,MAAOuD,GAAKvD,GAAS+C,KAAKiX,OAG5BS,MAAO,QAASA,OAAMza,GACpB,MAAOuD,GAAKvD,GAAS+C,KAAK2X,QAG5BC,MAAO,QAASA,OAAM3a,GACpB,GAAI6E,GAAIV,OAAOnE,EACf,IAAI6E,GAAK,GAAKV,OAAOC,MAAMS,GAAI,CAAE,MAAO+O,KACxC,GAAI/O,IAAM,GAAKA,IAAM+H,SAAU,CAAE,MAAO/H,GACxC,GAAIA,KAAO,EAAG,CAAE,OAAQ+H,SAExB,MAAQ,GAAI/H,EAAK,IAAM,EAAIA,EAAIA,GAAKtB,EAAK,EAAIsB,IAAO,EAAIA,EAAK,KAG/D+V,KAAM,QAASA,MAAK5a,GAClB,GAAIqG,GAASlC,OAAOnE,EACpB,IAAIqG,IAAW,EAAG,CAAE,MAAOA,GAC3B,GAAIlC,OAAOC,MAAMiC,GAAS,CAAE,MAAOA,GACnC,MAAOA,GAAS,GAAK,EAAI,GAG3BwU,KAAM,QAASA,MAAK7a,GAClB,GAAI6E,GAAIV,OAAOnE,EACf,KAAK8B,EAAe+C,IAAMA,IAAM,EAAG,CAAE,MAAOA,GAE5C,GAAIxB,EAAKwB,GAAK,EAAG,CACf,OAAQ9B,KAAKmX,MAAMrV,GAAK9B,KAAKmX,OAAOrV,IAAM,EAE5C,OAAQ9B,KAAK+W,IAAIjV,EAAI,GAAK9B,KAAK+W,KAAKjV,EAAI,IAAM9B,KAAK0W,EAAI,GAGzDqB,KAAM,QAASA,MAAK9a,GAClB,GAAI6E,GAAIV,OAAOnE,EACf,IAAImE,OAAOC,MAAMS,IAAMA,IAAM,EAAG,CAAE,MAAOA,GACzC,GAAIA,IAAM+H,SAAU,CAAE,MAAO,GAC7B,GAAI/H,KAAO+H,SAAU,CAAE,OAAQ,EAC/B,GAAIlG,GAAI3D,KAAKmX,MAAMrV,EACnB,IAAI8B,GAAI5D,KAAKmX,OAAOrV,EACpB,IAAI6B,IAAMkG,SAAU,CAAE,MAAO,GAC7B,GAAIjG,IAAMiG,SAAU,CAAE,OAAQ,EAC9B,OAAQlG,EAAIC,IAAM5D,KAAK+W,IAAIjV,GAAK9B,KAAK+W,KAAKjV,KAG5CkW,MAAO,QAASA,OAAM/a,GACpB,GAAI6E,GAAIV,OAAOnE,EACf,OAAO6E,GAAI,GAAK1B,GAAQ0B,GAAK1B,EAAO0B,IAGtCmW,KAAM,QAASA,MAAKnW,EAAGyV,GAErB,GAAI5T,GAAIrB,EAAGc,SAAStB,EACpB,IAAI8B,GAAItB,EAAGc,SAASmU,EACpB,IAAIW,GAAMvU,IAAM,GAAM,KACtB,IAAIwU,GAAKxU,EAAI,KACb,IAAIyU,GAAMxU,IAAM,GAAM,KACtB,IAAIyU,GAAKzU,EAAI,KAGb,OAASuU,GAAKE,GAASH,EAAKG,EAAKF,EAAKC,GAAO,KAAQ,GAAK,GAG5DE,OAAQ,QAASA,QAAOxW,GACtB,GAAIyW,GAAInX,OAAOU,EACf,IAAIyW,IAAM,GAAKA,IAAM1O,UAAY0O,KAAO1O,UAAY1I,EAAYoX,GAAI,CAClE,MAAOA,GAET,GAAIV,GAAO7X,KAAK6X,KAAKU,EACrB,IAAIhY,GAAMD,EAAKiY,EACf,IAAIhY,EAAM8V,GAAqB,CAC7B,MAAOwB,GAAO5B,GAAgB1V,EAAM8V,GAAsBF,IAAqBE,GAAsBF,GAGvG,GAAIxS,IAAK,EAAIwS,GAAoB/U,OAAO+P,SAAW5Q,CACnD,IAAIqE,GAASjB,GAAKA,EAAIpD,EACtB,IAAIqE,EAASwR,IAAuBjV,EAAYyD,GAAS,CACvD,MAAOiT,GAAOhO,SAEhB,MAAOgO,GAAOjT,GAGlBtH,GAAiB0C,KAAMwW,GAEvBva,GAAe+D,KAAM,QAASwW,GAAUoB,MAAO5X,KAAK4X,OAAO,UAAY,MAEvE3b,GAAe+D,KAAM,QAASwW,GAAUG,MAAO3W,KAAK2W,OAAO,QAAU3W,KAAK2W,MAAM,KAEhF1a,GAAe+D,KAAM,OAAQwW,GAAUuB,KAAM/X,KAAK+X,MAAM,UAAY,MAEpE9b,GAAe+D,KAAM,QAASwW,GAAUC,MAAOzW,KAAKyW,MAAMrV,OAAOoX,aAAe3O,SAEhF5N,GAAe+D,KAAM,OAAQwW,GAAUK,KAAM7W,KAAKO,IAAI,EAAIP,KAAK6W,KAAK,QAAU,QAAUzV,OAAO+P,QAAU,EAEzGlV,GAAe+D,KAAM,OAAQwW,GAAUsB,KAAM9X,KAAK8X,MAAM,UAAY,MAEpE,IAAIW,IAAazY,KAAKmX,MAAM,GAC5Blb,GAAe+D,KAAM,QAASwW,GAAUW,MAAOsB,GAAa,oBAAsBA,GAAa,mBAE/F,IAAIC,IAAgB1Y,KAAK2Y,KAEzB,IAAIC,IAAiC5Y,KAAK2Y,MAAM,GAAMvX,OAAO+P,QAAU,KAAO,GAAKnR,KAAK2Y,OAAO,GAAMvX,OAAO+P,QAAU,QAAU,CAMhI,IAAI0H,IAAyC7C,GAAiB,CAC9D,IAAI8C,IAAwC,EAAI9C,GAAiB,CACjE,IAAI+C,KAAgCF,GAAwCC,IAAuCvJ,MAAM,SAAUyJ,GACjI,MAAOhZ,MAAK2Y,MAAMK,KAASA,GAE7B/c,GAAe+D,KAAM,QAAS,QAAS2Y,OAAM7W,GAC3C,GAAIzB,GAAQD,EAAO0B,EACnB,IAAImX,GAAO5Y,KAAW,GAAK,EAAIA,EAAQ,CACvC,OAAOyB,GAAIzB,EAAQ,GAAMA,EAAQ4Y,IAC/BL,KAAmCG,GACvCjb,GAAMkJ,iBAAiBhH,KAAK2Y,MAAOD,GAEnC,IAAIQ,IAAWlZ,KAAKiY,IACpB,IAAIjY,KAAKiY,KAAK,WAAY,MAAQ,EAAG,CAEnCjY,KAAKiY,KAAOzB,GAAUyB,IACtBna,GAAMkJ,iBAAiBhH,KAAKiY,KAAMiB,IAEpC,GAAIlZ,KAAKiY,KAAKvW,SAAW,EAAG,CAG1B+F,EAAezH,KAAM,OAAQ,QAASiY,MAAKnW,EAAGyV,GAC5C,MAAOzc,GAAOoe,GAAUlZ,KAAMtE,aAOlC,GAAIyd,IAAe,WACjB,GAAIC,GAAata,EAAQsa,UAEzB,UAAWA,KAAe,kBAAqBA,KAAe,SAAU,CAAE,OAE1E9W,EAAG+W,UAAY,SAAUC,GACvB,IAAKhX,EAAGS,aAAauW,GAAU,CAC7B,MAAO,OAET,SAAWA,GAAQC,WAAa,YAAa,CAC3C,MAAO,OAET,MAAO,MAKT,IAAIC,GAAoB,SAAUvb,GAChC,IAAKqE,EAAGW,cAAchF,GAAI,CACxB,KAAM,IAAI2E,WAAU,2BAEtB,GAAI6W,GAAa5e,IACjB,IAAI6e,GAAW,SAAUC,EAASC,GAChC,GAAIH,EAAWE,cAAiB,IAAKF,EAAWG,aAAgB,GAAG,CACjE,KAAM,IAAIhX,WAAU,+BAEtB6W,EAAWE,QAAUA,CACrBF,GAAWG,OAASA,EAEtBH,GAAWH,QAAU,GAAIrb,GAAEyb,EAC3B,MAAMpX,EAAGK,WAAW8W,EAAWE,UAAYrX,EAAGK,WAAW8W,EAAWG,SAAU,CAC5E,KAAM,IAAIhX,WAAU,4BAKxB,IAAIiX,EAEJ,UAAWlb,UAAW,aAAe2D,EAAGK,WAAWhE,OAAOmb,aAAc,CACtED,EAAkB,WAEhB,GAAIE,KACJ,IAAIC,GAAc,sBAClB,IAAIC,GAAiB,SAAUC,GAC7Bxa,EAAMqa,EAAUG,EAChBvb,QAAOmb,YAAYE,EAAa,KAElC,IAAIG,GAAgB,SAAUC,GAC5B,GAAIA,EAAMnT,SAAWtI,QAAUyb,EAAMC,OAASL,EAAa,CACzDI,EAAME,iBACN,IAAIP,EAASrY,SAAW,EAAG,CAAE,OAC7B,GAAIwY,GAAKra,EAAOka,EAChBG,MAGJvb,QAAO4b,iBAAiB,UAAWJ,EAAe,KAClD,OAAOF,IAGX,GAAIO,GAAkB,WAKpB,GAAIC,GAAI3b,EAAQ4b,OAChB,OAAOD,IAAKA,EAAEd,SAAW,SAAUgB,GACjC,MAAOF,GAAEd,UAAUiB,KAAKD,IAK5B,IAAIE,GAAUvY,EAAGK,WAAW7D,EAAQgc,cAClChc,EAAQgc,aAAa7f,KAAK6D,SACnBic,WAAY,UAAYA,QAAQC,SAAWD,QAAQC,SAC1DR,MACClY,EAAGK,WAAWkX,GAAmBA,IAClC,SAAUc,GAAQvB,EAAWuB,EAAM,IAIrC,IAAIM,GAAmB,CACvB,IAAIC,GAAkB,CACtB,IAAIC,GAAkB,CACtB,IAAIC,GAAoB,CACxB,IAAIC,GAAmB,CAEvB,IAAIC,GAAqB,SAAUC,EAAUC,GAC3C,GAAIC,GAAoBF,EAASG,YACjC,IAAIC,GAAUJ,EAASI,OACvB,IAAIC,GAAeC,EAAmB,MAAO3d,CAC7C,IAAIyd,IAAYV,EAAkB,CAChCW,EAAgBJ,MACX,IAAIG,IAAYT,EAAiB,CACtCU,EAAgBJ,CAChBK,GAAmB,SACd,CACL,IACED,EAAgBD,EAAQH,GACxB,MAAO5f,GACPggB,EAAgBhgB,CAChBigB,GAAmB,MAGvB3d,EAAI2d,EAAmBJ,EAAkB7B,OAAS6B,EAAkB9B,OACpEzb,GAAE0d,GAGJ,IAAIE,GAA0B,SAAUC,EAAWP,GACjDjf,EAASwf,EAAW,SAAUR,GAC5BV,EAAQ,WACNS,EAAmBC,EAAUC,OAKnC,IAAIQ,GAAiB,SAAU1C,EAASrc,GACtC,GAAIsc,GAAWD,EAAQC,QACvB,IAAIwC,GAAYxC,EAAS0C,gBACzB1C,GAAS3U,OAAS3H,CAClBsc,GAAS0C,qBAAwB,EACjC1C,GAAS2C,oBAAuB,EAChC3C,GAAS4C,MAAQf,CACjBU,GAAwBC,EAAW9e,GAGrC,IAAImf,GAAgB,SAAU9C,EAAS+C,GACrC,GAAI9C,GAAWD,EAAQC,QACvB,IAAIwC,GAAYxC,EAAS2C,eACzB3C,GAAS3U,OAASyX,CAClB9C,GAAS0C,qBAAwB,EACjC1C,GAAS2C,oBAAuB,EAChC3C,GAAS4C,MAAQd,CACjBS,GAAwBC,EAAWM,GAGrC,IAAIC,GAA2B,SAAUhD,GACvC,GAAIiD,GAAkB,KACtB,IAAI5C,GAAU,SAAU6C,GACtB,GAAI5B,EACJ,IAAI2B,EAAiB,CAAE,OACvBA,EAAkB,IAClB,IAAIC,IAAelD,EAAS,CAC1B,MAAO8C,GAAc9C,EAAS,GAAI1W,WAAU,oBAE9C,IAAKN,EAAGS,aAAayZ,GAAa,CAChC,MAAOR,GAAe1C,EAASkD,GAEjC,IACE5B,EAAO4B,EAAW5B,KAClB,MAAOhf,GACP,MAAOwgB,GAAc9C,EAAS1d,GAEhC,IAAK0G,EAAGK,WAAWiY,GAAO,CACxB,MAAOoB,GAAe1C,EAASkD,GAEjC3B,EAAQ,WACN4B,EAA0BnD,EAASkD,EAAY5B,KAGnD,IAAIhB,GAAS,SAAUyC,GACrB,GAAIE,EAAiB,CAAE,OACvBA,EAAkB,IAClB,OAAOH,GAAc9C,EAAS+C,GAEhC,QAAS1C,QAASA,EAASC,OAAQA,GAGrC,IAAI6C,GAA4B,SAAUnD,EAASoD,EAAU9B,GAC3D,GAAI+B,GAAqBL,EAAyBhD,EAClD,IAAIK,GAAUgD,EAAmBhD,OACjC,IAAIC,GAAS+C,EAAmB/C,MAChC,KACEze,EAAMyf,EAAM8B,EAAU/C,EAASC,GAC/B,MAAOhe,GACPge,EAAOhe,IAKX,IAAIghB,GAAoB,SAAU3e,GAChC,IAAKqE,EAAGS,aAAa9E,GAAI,CACvB,KAAM,IAAI2E,WAAU,yBAEtB,GAAI8C,GAAIzH,EAAEgD,EACV,IAAIyE,QAAW,IAAKA,IAAM,KAAM,CAC9B,MAAOA,GAET,MAAOzH,GAGT,IAAI4e,EACJ,IAAInC,GAAW,WACb,GAAIvB,GAAc,QAASuB,SAAQhB,GACjC,KAAM7e,eAAgBse,IAAc,CAClC,KAAM,IAAIvW,WAAU,sCAEtB,GAAI/H,MAAQA,KAAK0e,SAAU,CACzB,KAAM,IAAI3W,WAAU,oBAGtB,IAAKN,EAAGK,WAAW+W,GAAW,CAC5B,KAAM,IAAI9W,WAAU,wBAEtB,GAAI0W,GAAUvR,GAAoBlN,KAAMse,EAAa0D,GACnDtD,UACE3U,WAAa,GACbuX,MAAOhB,EACPc,oBACAC,qBAGJ,IAAIS,GAAqBL,EAAyBhD,EAClD,IAAIM,GAAS+C,EAAmB/C,MAChC,KACEF,EAASiD,EAAmBhD,QAASC,GACrC,MAAOhe,GACPge,EAAOhe,GAET,MAAO0d,GAET,OAAOH,KAET0D,GAAoBnC,EAAQle,SAE5B,IAAIsgB,GAAsB,SAAUC,EAAOzO,EAAQmL,EAAYuD,GAC7D,GAAIC,GAAgB,KACpB,OAAO,UAAUnb,GACf,GAAImb,EAAe,CAAE,OACrBA,EAAgB,IAChB3O,GAAOyO,GAASjb,CAChB,MAAOkb,EAAUnP,QAAW,EAAG,CAC7B,GAAI8L,GAAUF,EAAWE,OACzBA,GAAQrL,KAKd,IAAI4O,GAAoB,SAAUC,EAAgBlf,EAAGmf,GACnD,GAAIlZ,GAAKiZ,EAAehb,QACxB,IAAImM,MAAa0O,GAAcnP,MAAO,GAAKhJ,EAAM2H,CACjD,IAAIuQ,GAAQ,CACZ,OAAO,KAAM,CACX,IACElY,EAAOvC,EAAGwC,aAAaZ,EACvB,IAAIW,IAAS,MAAO,CAClBsY,EAAepY,KAAO,IACtB,OAEFyH,EAAY3H,EAAK5H,MACjB,MAAOrB,GACPuhB,EAAepY,KAAO,IACtB,MAAMnJ,GAER0S,EAAOyO,OAAc,EACrB,IAAIM,GAAcpf,EAAE0b,QAAQnN,EAC5B,IAAI8Q,GAAiBR,EACnBC,EAAOzO,EAAQ8O,EAAkBJ,EAEnCA,GAAUnP,OAAS,CACnBwP,GAAYzC,KAAK0C,EAAgBF,EAAiBxD,OAClDmD,IAAS,EAEX,KAAOC,EAAUnP,QAAW,EAAG,CAC7B,GAAI8L,GAAUyD,EAAiBzD,OAC/BA,GAAQrL,GAEV,MAAO8O,GAAiB9D,QAG1B,IAAIiE,GAAqB,SAAUJ,EAAgBlf,EAAGmf,GACpD,GAAIlZ,GAAKiZ,EAAehb,SAAU0C,EAAM2H,EAAW6Q,CACnD,OAAO,KAAM,CACX,IACExY,EAAOvC,EAAGwC,aAAaZ,EACvB,IAAIW,IAAS,MAAO,CAKlBsY,EAAepY,KAAO,IACtB,OAEFyH,EAAY3H,EAAK5H,MACjB,MAAOrB,GACPuhB,EAAepY,KAAO,IACtB,MAAMnJ,GAERyhB,EAAcpf,EAAE0b,QAAQnN,EACxB6Q,GAAYzC,KAAKwC,EAAiBzD,QAASyD,EAAiBxD,QAE9D,MAAOwD,GAAiB9D,QAG1Bhc,GAAiBod,GACf8C,IAAK,QAASA,KAAIC,GAChB,GAAIxf,GAAI2e,EAAkB/hB,KAC1B,IAAI4e,GAAa,GAAID,GAAkBvb,EACvC,IAAIkE,GAAUgb,CACd,KACEhb,EAAWG,EAAGyB,YAAY0Z,EAC1BN,IAAmBhb,SAAUA,EAAU4C,KAAM,MAC7C,OAAOmY,GAAkBC,EAAgBlf,EAAGwb,GAC5C,MAAO7d,GACP,GAAI8hB,GAAY9hB,CAChB,IAAIuhB,IAAmBA,EAAepY,KAAM,CAC1C,IACEzC,EAAGgC,cAAcnC,EAAU,MAC3B,MAAOwb,GACPD,EAAYC,GAGhB,GAAI/D,GAASH,EAAWG,MACxBA,GAAO8D,EACP,OAAOjE,GAAWH,UAItBsE,KAAM,QAASA,MAAKH,GAClB,GAAIxf,GAAI2e,EAAkB/hB,KAC1B,IAAI4e,GAAa,GAAID,GAAkBvb,EACvC,IAAIkE,GAAUgb,CACd,KACEhb,EAAWG,EAAGyB,YAAY0Z,EAC1BN,IAAmBhb,SAAUA,EAAU4C,KAAM,MAC7C,OAAOwY,GAAmBJ,EAAgBlf,EAAGwb,GAC7C,MAAO7d,GACP,GAAI8hB,GAAY9hB,CAChB,IAAIuhB,IAAmBA,EAAepY,KAAM,CAC1C,IACEzC,EAAGgC,cAAcnC,EAAU,MAC3B,MAAOwb,GACPD,EAAYC,GAGhB,GAAI/D,GAASH,EAAWG,MACxBA,GAAO8D,EACP,OAAOjE,GAAWH,UAItBM,OAAQ,QAASA,QAAOyC,GACtB,GAAIpe,GAAIpD,IACR,IAAI4e,GAAa,GAAID,GAAkBvb,EACvC,IAAI4f,GAAapE,EAAWG;AAC5BiE,EAAWxB,EACX,OAAO5C,GAAWH,SAGpBK,QAAS,QAASA,SAAQpB,GAExB,GAAIta,GAAIpD,IACR,IAAIyH,EAAG+W,UAAUd,GAAI,CACnB,GAAI/Z,GAAc+Z,EAAE/Z,WACpB,IAAIA,IAAgBP,EAAG,CAAE,MAAOsa,IAElC,GAAIkB,GAAa,GAAID,GAAkBvb,EACvC,IAAI6f,GAAcrE,EAAWE,OAC7BmE,GAAYvF,EACZ,OAAOkB,GAAWH,UAItBhc,GAAiBuf,GACfkB,QAAS,SAAUC,GACjB,MAAOnjB,MAAK+f,SAAU,GAAGoD,IAG3BpD,KAAM,QAASA,MAAKqD,EAAaD,GAC/B,GAAI1E,GAAUze,IACd,KAAKyH,EAAG+W,UAAUC,GAAU,CAAE,KAAM,IAAI1W,WAAU,iBAClD,GAAI3E,GAAIqE,EAAGiD,mBAAmB+T,EAASoB,EACvC,IAAI0C,GAAmB,GAAI5D,GAAkBvb,EAE7C,IAAIigB,IACFxC,aAAc0B,EACdzB,QAASrZ,EAAGK,WAAWsb,GAAeA,EAAchD,EAEtD,IAAIkD,IACFzC,aAAc0B,EACdzB,QAASrZ,EAAGK,WAAWqb,GAAcA,EAAa9C,EAEpD,IAAI3B,GAAWD,EAAQC,QACvB,IAAItc,EACJ,IAAIsc,EAAS4C,QAAUhB,EAAiB,CACtCzb,EAAM6Z,EAAS0C,iBAAkBiC,EACjCxe,GAAM6Z,EAAS2C,gBAAiBiC,OAC3B,IAAI5E,EAAS4C,QAAUf,EAAmB,CAC/Cne,EAAQsc,EAAS3U,MACjBiW,GAAQ,WACNS,EAAmB4C,EAAiBjhB,SAEjC,IAAIsc,EAAS4C,QAAUd,EAAkB,CAC9Cpe,EAAQsc,EAAS3U,MACjBiW,GAAQ,WACNS,EAAmB6C,EAAgBlhB,SAEhC,CACL,KAAM,IAAI2F,WAAU,4BAEtB,MAAOwa,GAAiB9D,UAI5B,OAAOoB,KAIT,IAAI5b,EAAQ4b,QAAS,OACZ5b,GAAQ4b,QAAQ0D,aAChBtf,GAAQ4b,QAAQ2D,YAChBvf,GAAQ4b,QAAQle,UAAU8hB,MAGnC,SAAWnF,MAAgB,WAAY,CAErC7b,EAAiBwB,GAAW4b,QAASvB,IAIrC,IAAIoF,IAA6BvgB,EAAoBc,EAAQ4b,QAAS,SAAUhV,GAC9E,MAAOA,GAAEiU,QAAQ,IAAIiB,KAAK,uBAA2BlV,IAEvD,IAAI8Y,KAA0C7iB,EAAY,WAAcmD,EAAQ4b,QAAQd,OAAO,IAAIgB,KAAK,KAAM,GAAGA,KAAK,KAAM7Z,IAC5H,IAAI0d,IAA+B9iB,EAAY,WAAcmD,EAAQ4b,QAAQ1f,KAAK,EAAG+F,IAMrF,IAAI2d,IAAwB,SAAUhE,GACpC,GAAIvW,GAAIuW,EAAQf,QAAQ,EACxBxV,GAAE3F,cACF,IAAIyH,GAAKyU,EAAQf,QAAQxV,EACzB,OAAQA,KAAM8B,GACdnH,EAAQ4b,QACV,KAAK6D,KAA+BC,KAC/BC,IAAgCC,GAAsB,CAGzDhE,QAAUvB,EAGV1R,GAAe3I,EAAS,UAAWqa,IAErC3R,EAAkBkT,SAMpB,GAAIiE,IAAY,SAAUhb,GACxB,GAAIC,GAAI5H,OAAOwB,KAAKd,EAAQiH,EAAG,SAAUpF,EAAGsO,GAC1CtO,EAAEsO,GAAK,IACP,OAAOtO,QAET,OAAOoF,GAAE+E,KAAK,OAAS9E,EAAE8E,KAAK,KAEhC,IAAIkW,IAA0BD,IAAW,IAAK,IAAK,MAEnD,IAAIE,IAAiCF,IAAW,IAAK,EAAG,IAAK,IAAK,GAElE,IAAIxiB,EAAqB,CAEvB,GAAI2iB,IAAU,QAASA,SAAQjhB,GAC7B,IAAK+gB,GAAyB,CAC5B,MAAO,MAET,GAAIG,SAAclhB,EAClB,IAAIkhB,IAAS,aAAelhB,IAAQ,KAAM,CACxC,MAAO,IAAMqB,OAAOrB,OACf,IAAIkhB,IAAS,SAAU,CAC5B,MAAO,IAAMlhB,MACR,IAAIkhB,IAAS,SAAU,CAE5B,IAAKF,GAAgC,CACnC,MAAO,IAAMhhB,EAEf,MAAOA,OACF,IAAIkhB,IAAS,UAAW,CAC7B,MAAO,IAAMlhB,EAEf,MAAO,MAGT,IAAImhB,IAAc,QAASA,eAEzB,MAAOhjB,QAAO0B,OAAS1B,OAAO0B,OAAO,SAGvC,IAAIuhB,IAAmB,QAASA,kBAAiBC,EAAgB3hB,EAAKkgB,GACpE,GAAIriB,EAAQqiB,IAAa7b,EAAKG,OAAO0b,GAAW,CAC9ClhB,EAASkhB,EAAU,SAAU0B,GAC3B5hB,EAAImJ,IAAIyY,EAAM,GAAIA,EAAM,UAErB,IAAI1B,YAAoByB,GAAgB,CAC7C/jB,EAAM+jB,EAAe1iB,UAAUC,QAASghB,EAAU,SAAUxgB,EAAOY,GACjEN,EAAImJ,IAAI7I,EAAKZ,SAEV,CACL,GAAImiB,GAAMC,CACV,IAAI5B,IAAa,YAAeA,KAAa,YAAa,CACxD4B,EAAQ9hB,EAAImJ,GACZ,KAAKpE,EAAGK,WAAW0c,GAAQ,CAAE,KAAM,IAAIzc,WAAU,WACjDwc,EAAO9c,EAAGyB,YAAY0Z,GAExB,SAAW2B,KAAS,YAAa,CAC/B,MAAO,KAAM,CACX,GAAIva,GAAOvC,EAAGwC,aAAasa,EAC3B,IAAIva,IAAS,MAAO,CAAE,MACtB,GAAIya,GAAWza,EAAK5H,KACpB,KACE,IAAKqF,EAAGS,aAAauc,GAAW,CAC9B,KAAM,IAAI1c,WAAU,8BAEtBzH,EAAMkkB,EAAO9hB,EAAK+hB,EAAS,GAAIA,EAAS,IACxC,MAAO1jB,GACP0G,EAAGgC,cAAc8a,EAAM,KACvB,MAAMxjB,OAMhB,IAAI2jB,IAAmB,QAASA,kBAAiBC,EAAgB9Y,EAAK+W,GACpE,GAAIriB,EAAQqiB,IAAa7b,EAAKG,OAAO0b,GAAW,CAC9ClhB,EAASkhB,EAAU,SAAUxgB,GAC3ByJ,EAAI+Y,IAAIxiB,SAEL,IAAIwgB,YAAoB+B,GAAgB,CAC7CrkB,EAAMqkB,EAAehjB,UAAUC,QAASghB,EAAU,SAAUxgB,GAC1DyJ,EAAI+Y,IAAIxiB,SAEL,CACL,GAAImiB,GAAMC,CACV,IAAI5B,IAAa,YAAeA,KAAa,YAAa,CACxD4B,EAAQ3Y,EAAI+Y,GACZ,KAAKnd,EAAGK,WAAW0c,GAAQ,CAAE,KAAM,IAAIzc,WAAU,WACjDwc,EAAO9c,EAAGyB,YAAY0Z,GAExB,SAAW2B,KAAS,YAAa,CAC/B,MAAO,KAAM,CACX,GAAIva,GAAOvC,EAAGwC,aAAasa,EAC3B,IAAIva,IAAS,MAAO,CAAE,MACtB,GAAI2H,GAAY3H,EAAK5H,KACrB,KACE9B,EAAMkkB,EAAO3Y,EAAK8F,GAClB,MAAO5Q,GACP0G,EAAGgC,cAAc8a,EAAM,KACvB,MAAMxjB,OAOhB,IAAI8jB,KACFC,IAAM,WAEJ,GAAIC,KAEJ,IAAIC,GAAW,QAASA,UAAShiB,EAAKZ,GACpCpC,KAAKgD,IAAMA,CACXhD,MAAKoC,MAAQA,CACbpC,MAAKgK,KAAO,IACZhK,MAAKilB,KAAO,KAGdD,GAASrjB,UAAUujB,UAAY,QAASA,aACtC,MAAOllB,MAAKgD,MAAQ+hB,EAGtB,IAAII,GAAQ,QAASA,OAAMziB,GACzB,QAASA,EAAI0iB,QAGf,IAAIC,GAAiB,QAASA,gBAAe3iB,EAAKE,GAChD,IAAK6E,EAAGS,aAAaxF,KAASyiB,EAAMziB,GAAM,CACxC,KAAM,IAAIqF,WAAU,wBAA0BnF,EAAS,oCAAsCyB,OAAO3B,KAIxG,IAAI4iB,GAAc,QAASA,aAAY5iB,EAAKyP,GAC1CkT,EAAe3iB,EAAK,kBACpB1C,MAAKulB,KAAO7iB,EAAI8iB,KAChBxlB,MAAK0N,EAAI1N,KAAKulB,IACdvlB,MAAKmS,KAAOA,EAGdmT,GAAY3jB,WACVqI,KAAM,QAASA,QACb,GAAI0D,GAAI1N,KAAK0N,EAAGyE,EAAOnS,KAAKmS,KAAMoT,EAAOvlB,KAAKulB,KAAMxb,CACpD,UAAW/J,MAAK0N,IAAM,YAAa,CACjC,OAAStL,UAAY,GAAG8H,KAAM,MAEhC,MAAOwD,EAAEwX,aAAexX,IAAM6X,EAAM,CAElC7X,EAAIA,EAAEuX,KAGR,MAAOvX,EAAE1D,OAASub,EAAM,CACtB7X,EAAIA,EAAE1D,IACN,KAAK0D,EAAEwX,YAAa,CAClB,GAAI/S,IAAS,MAAO,CAClBpI,EAAS2D,EAAE1K,QACN,IAAImP,IAAS,QAAS,CAC3BpI,EAAS2D,EAAEtL,UACN,CACL2H,GAAU2D,EAAE1K,IAAK0K,EAAEtL,OAErBpC,KAAK0N,EAAIA,CACT,QAAStL,MAAO2H,EAAQG,KAAM,QAIlClK,KAAK0N,MAAS,EACd,QAAStL,UAAY,GAAG8H,KAAM,OAGlC2C,GAAYyY,EAAY3jB,UAExB,IAAI8jB,EACJ,IAAIC,GAAU,QAASZ,OACrB,KAAM9kB,eAAgB8kB,MAAM,CAC1B,KAAM,IAAI/c,WAAU,kCAEtB,GAAI/H,MAAQA,KAAKolB,QAAS,CACxB,KAAM,IAAIrd,WAAU,oBAEtB,GAAIrF,GAAMwK,GAAoBlN,KAAM8kB,IAAKW,GACvCL,QAAS,KACTI,MAAO,KACPG,SAAUxB,KACVyB,MAAO,GAGT,IAAIL,GAAO,GAAIP,GAAS,KAAM,KAE9BO,GAAKvb,KAAOub,EAAKN,KAAOM,CACxB7iB,GAAI8iB,MAAQD,CAGZ,IAAI1kB,UAAUgG,OAAS,EAAG,CACxBud,GAAiBU,IAAKpiB,EAAK7B,UAAU,IAEvC,MAAO6B,GAET+iB,GAAgBC,EAAQ/jB,SAExBsB,GAAMqI,OAAOma,EAAe,OAAQ,WAClC,SAAWzlB,MAAK4lB,QAAU,YAAa,CACrC,KAAM,IAAI7d,WAAU,0CAEtB,MAAO/H,MAAK4lB,OAGdnjB,GAAiBgjB,GACfpkB,IAAK,QAASA,KAAI2B,GAChBqiB,EAAerlB,KAAM,MACrB,IAAI6lB,GAAO5B,GAAQjhB,EACnB,IAAI6iB,IAAS,KAAM,CAEjB,GAAIvB,GAAQtkB,KAAK2lB,SAASE,EAC1B,IAAIvB,EAAO,CACT,MAAOA,GAAMliB,UACR,CACL,QAGJ,GAAImjB,GAAOvlB,KAAKwlB,MAAO9X,EAAI6X,CAC3B,QAAQ7X,EAAIA,EAAE1D,QAAUub,EAAM,CAC5B,GAAI9d,EAAGuB,cAAc0E,EAAE1K,IAAKA,GAAM,CAChC,MAAO0K,GAAEtL,SAKf0jB,IAAK,QAASA,KAAI9iB,GAChBqiB,EAAerlB,KAAM,MACrB,IAAI6lB,GAAO5B,GAAQjhB,EACnB,IAAI6iB,IAAS,KAAM,CAEjB,aAAc7lB,MAAK2lB,SAASE,KAAU,YAExC,GAAIN,GAAOvlB,KAAKwlB,MAAO9X,EAAI6X,CAC3B,QAAQ7X,EAAIA,EAAE1D,QAAUub,EAAM,CAC5B,GAAI9d,EAAGuB,cAAc0E,EAAE1K,IAAKA,GAAM,CAChC,MAAO,OAGX,MAAO,QAGT6I,IAAK,QAASA,KAAI7I,EAAKZ,GACrBijB,EAAerlB,KAAM,MACrB,IAAIulB,GAAOvlB,KAAKwlB,MAAO9X,EAAI6X,EAAMjB,CACjC,IAAIuB,GAAO5B,GAAQjhB,EACnB,IAAI6iB,IAAS,KAAM,CAEjB,SAAW7lB,MAAK2lB,SAASE,KAAU,YAAa,CAC9C7lB,KAAK2lB,SAASE,GAAMzjB,MAAQA,CAC5B,OAAOpC,UACF,CACLskB,EAAQtkB,KAAK2lB,SAASE,GAAQ,GAAIb,GAAShiB,EAAKZ,EAChDsL,GAAI6X,EAAKN,MAIb,OAAQvX,EAAIA,EAAE1D,QAAUub,EAAM,CAC5B,GAAI9d,EAAGuB,cAAc0E,EAAE1K,IAAKA,GAAM,CAChC0K,EAAEtL,MAAQA,CACV,OAAOpC,OAGXskB,EAAQA,GAAS,GAAIU,GAAShiB,EAAKZ,EACnC,IAAIqF,EAAGoB,WAAW,EAAG7F,GAAM,CACzBshB,EAAMthB,KAAO,EAEfshB,EAAMta,KAAOhK,KAAKwlB,KAClBlB,GAAMW,KAAOjlB,KAAKwlB,MAAMP,IACxBX,GAAMW,KAAKjb,KAAOsa,CAClBA,GAAMta,KAAKib,KAAOX,CAClBtkB,MAAK4lB,OAAS,CACd,OAAO5lB,OAGT+lB,SAAU,SAAU/iB,GAClBqiB,EAAerlB,KAAM,SACrB,IAAIulB,GAAOvlB,KAAKwlB,MAAO9X,EAAI6X,CAC3B,IAAIM,GAAO5B,GAAQjhB,EACnB,IAAI6iB,IAAS,KAAM,CAEjB,SAAW7lB,MAAK2lB,SAASE,KAAU,YAAa,CAC9C,MAAO,OAETnY,EAAI1N,KAAK2lB,SAASE,GAAMZ,WACjBjlB,MAAK2lB,SAASE,GAGvB,OAAQnY,EAAIA,EAAE1D,QAAUub,EAAM,CAC5B,GAAI9d,EAAGuB,cAAc0E,EAAE1K,IAAKA,GAAM,CAChC0K,EAAE1K,IAAM0K,EAAEtL,MAAQ2iB,CAClBrX,GAAEuX,KAAKjb,KAAO0D,EAAE1D,IAChB0D,GAAE1D,KAAKib,KAAOvX,EAAEuX,IAChBjlB,MAAK4lB,OAAS,CACd,OAAO,OAGX,MAAO,QAGTI,MAAO,QAASA,SACdX,EAAerlB,KAAM,QACrBA,MAAK4lB,MAAQ,CACb5lB,MAAK2lB,SAAWxB,IAChB,IAAIoB,GAAOvlB,KAAKwlB,MAAO9X,EAAI6X,EAAMjc,EAAIoE,EAAE1D,IACvC,QAAQ0D,EAAIpE,KAAOic,EAAM,CACvB7X,EAAE1K,IAAM0K,EAAEtL,MAAQ2iB,CAClBzb,GAAIoE,EAAE1D,IACN0D,GAAE1D,KAAO0D,EAAEuX,KAAOM,EAEpBA,EAAKvb,KAAOub,EAAKN,KAAOM,GAG1B5iB,KAAM,QAASA,QACb0iB,EAAerlB,KAAM,OACrB,OAAO,IAAIslB,GAAYtlB,KAAM,QAG/ByT,OAAQ,QAASA,UACf4R,EAAerlB,KAAM,SACrB,OAAO,IAAIslB,GAAYtlB,KAAM,UAG/B0T,QAAS,QAASA,WAChB2R,EAAerlB,KAAM,UACrB,OAAO,IAAIslB,GAAYtlB,KAAM,cAG/B4B,QAAS,QAASA,SAAQqkB,GACxBZ,EAAerlB,KAAM,UACrB,IAAIkmB,GAAUrlB,UAAUgG,OAAS,EAAIhG,UAAU,GAAK,IACpD,IAAIwI,GAAKrJ,KAAK0T,SACd,KAAK,GAAI4Q,GAAQjb,EAAGW,QAASsa,EAAMpa,KAAMoa,EAAQjb,EAAGW,OAAQ,CAC1D,GAAIkc,EAAS,CACX5lB,EAAM2lB,EAAUC,EAAS5B,EAAMliB,MAAM,GAAIkiB,EAAMliB,MAAM,GAAIpC,UACpD,CACLimB,EAAS3B,EAAMliB,MAAM,GAAIkiB,EAAMliB,MAAM,GAAIpC,UAKjD6M,GAAY4Y,EAAeA,EAAc/R,QAEzC,OAAOgS,MAGTne,IAAM,WACJ,GAAI4e,GAAQ,QAASA,OAAMta,GACzB,MAAOA,GAAIua,eAAkBva,GAAI8Z,WAAa,YAEhD,IAAIU,GAAiB,QAASA,gBAAexa,EAAKjJ,GAChD,IAAK6E,EAAGS,aAAa2D,KAASsa,EAAMta,GAAM,CAExC,KAAM,IAAI9D,WAAU,iBAAmBnF,EAAS,oCAAsCyB,OAAOwH,KAQjG,IAAIya,EACJ,IAAIC,GAAU,QAAShf,OACrB,KAAMvH,eAAgBuH,MAAM,CAC1B,KAAM,IAAIQ,WAAU,kCAEtB,GAAI/H,MAAQA,KAAKomB,QAAS,CACxB,KAAM,IAAIre,WAAU,oBAEtB,GAAI8D,GAAMqB,GAAoBlN,KAAMuH,IAAK+e,GACvCF,QAAS,KACTI,cAAe,KACfb,SAAUxB,MAEZ,KAAKtY,EAAIua,QAAS,CAChB,KAAM,IAAIre,WAAU,WAItB,GAAIlH,UAAUgG,OAAS,EAAG,CACxB6d,GAAiBnd,IAAKsE,EAAKhL,UAAU,IAEvC,MAAOgL,GAETya,GAAgBC,EAAQ5kB,SAGxB,IAAI8kB,GAAY,QAASA,WAAU5a,GACjC,IAAKA,EAAI,eAAgB,CACvB,GAAI6a,GAAI7a,EAAI,eAAiB,GAAIgZ,IAAgBC,GACjDpjB,GAASP,OAAOwB,KAAKkJ,EAAI8Z,UAAW,SAAU3iB,GAC5C,GAAIgP,GAAIhP,CACR,IAAIgP,IAAM,QAAS,CACjBA,EAAI,SACC,IAAIA,IAAM,aAAc,CAC7BA,MAAS,OACJ,CACL,GAAI/B,GAAQ+B,EAAE2U,OAAO,EACrB,IAAI1W,IAAU,IAAK,CACjB+B,EAAIrN,EAAUqN,EAAG,OACZ,IAAI/B,IAAU,IAAK,CACxB+B,GAAKrN,EAAUqN,EAAG,OACb,IAAI/B,IAAU,IAAK,CACxB+B,EAAIA,IAAM,YACL,CACLA,GAAKA,GAGT0U,EAAE7a,IAAImG,EAAGA,IAEXnG,GAAI8Z,SAAW,MAInB1iB,GAAMqI,OAAOib,EAAQ5kB,UAAW,OAAQ,WACtC0kB,EAAermB,KAAM,OACrBymB,GAAUzmB,KACV,OAAOA,MAAK,eAAe4mB,MAG7BnkB,GAAiB8jB,EAAQ5kB,WACvBmkB,IAAK,QAASA,KAAI9iB,GAChBqjB,EAAermB,KAAM,MACrB,IAAI6lB,EACJ,IAAI7lB,KAAK2lB,WAAaE,EAAO5B,GAAQjhB,MAAU,KAAM,CACnD,QAAShD,KAAK2lB,SAASE,GAEzBY,EAAUzmB,KACV,OAAOA,MAAK,eAAe8lB,IAAI9iB,IAGjC4hB,IAAK,QAASA,KAAI5hB,GAChBqjB,EAAermB,KAAM,MACrB,IAAI6lB,EACJ,IAAI7lB,KAAK2lB,WAAaE,EAAO5B,GAAQjhB,MAAU,KAAM,CACnDhD,KAAK2lB,SAASE,GAAQ,IACtB,OAAO7lB,MAETymB,EAAUzmB,KACVA,MAAK,eAAe6L,IAAI7I,EAAKA,EAC7B,OAAOhD,OAGT+lB,SAAU,SAAU/iB,GAClBqjB,EAAermB,KAAM,SACrB,IAAI6lB,EACJ,IAAI7lB,KAAK2lB,WAAaE,EAAO5B,GAAQjhB,MAAU,KAAM,CACnD,GAAI6jB,GAAU9gB,EAAgB/F,KAAK2lB,SAAUE,EAC7C,cAAe7lB,MAAK2lB,SAASE,IAAUgB,EAEzCJ,EAAUzmB,KACV,OAAOA,MAAK,eAAe,UAAUgD,IAGvCgjB,MAAO,QAASA,SACdK,EAAermB,KAAM,QACrB,IAAIA,KAAK2lB,SAAU,CACjB3lB,KAAK2lB,SAAWxB,SACX,CACLnkB,KAAK,eAAegmB,UAIxBvS,OAAQ,QAASA,UACf4S,EAAermB,KAAM,SACrBymB,GAAUzmB,KACV,OAAOA,MAAK,eAAeyT,UAG7BC,QAAS,QAASA,WAChB2S,EAAermB,KAAM,UACrBymB,GAAUzmB,KACV,OAAOA,MAAK,eAAe0T,WAG7B9R,QAAS,QAASA,SAAQqkB,GACxBI,EAAermB,KAAM,UACrB,IAAIkmB,GAAUrlB,UAAUgG,OAAS,EAAIhG,UAAU,GAAK,IACpD,IAAIimB,GAAY9mB,IAChBymB,GAAUK,EACV9mB,MAAK,eAAe4B,QAAQ,SAAUQ,EAAOY,GAC3C,GAAIkjB,EAAS,CACX5lB,EAAM2lB,EAAUC,EAASljB,EAAKA,EAAK8jB,OAC9B,CACLb,EAASjjB,EAAKA,EAAK8jB,QAK3B1lB,GAAemlB,EAAQ5kB,UAAW,OAAQ4kB,EAAQ5kB,UAAU8R,OAAQ,KACpE5G,GAAY0Z,EAAQ5kB,UAAW4kB,EAAQ5kB,UAAU8R,OAEjD,OAAO8S,MAIX,IAAItiB,EAAQ6gB,KAAO7gB,EAAQsD,IAAK,CAE9B,GAAIwf,IAAsB/lB,EAAqB,WAAc,MAAO,IAAI8jB,OAAM,EAAG,KAAKzjB,IAAI,KAAO,GACjG,KAAK0lB,GAAqB,CACxB,GAAIC,IAAgB/iB,EAAQ6gB,GAC5B7gB,GAAQ6gB,IAAM,QAASA,OACrB,KAAM9kB,eAAgB8kB,MAAM,CAC1B,KAAM,IAAI/c,WAAU,kCAEtB,GAAI2e,GAAI,GAAIM,GACZ,IAAInmB,UAAUgG,OAAS,EAAG,CACxBud,GAAiBU,IAAK4B,EAAG7lB,UAAU,IAErCM,OAAOmC,eAAeojB,EAAGziB,EAAQ6gB,IAAInjB,UACrCP,GAAeslB,EAAG,cAAe5B,IAAK,KACtC,OAAO4B,GAETziB,GAAQ6gB,IAAInjB,UAAYkB,EAAOmkB,GAAcrlB,UAC7CsB,GAAMkJ,iBAAiBlI,EAAQ6gB,IAAKkC,IAEtC,GAAIC,IAAU,GAAInC,IAClB,IAAIoC,IAAwB,SAAUR,GACpCA,EAAE,UAAU,EACZA,GAAE,WAAW,EACbA,GAAE7a,IAAI,EAAG,EACT6a,GAAErlB,KAAK,EAAG,EACV,OAAOqlB,GAAErlB,IAAI,KAAO,GAAKqlB,EAAErlB,KAAK,KAAO,GACvC4lB,GACF,IAAIE,IAAsBF,GAAQpb,IAAI,EAAG,KAAOob,EAChD,KAAKC,KAAyBC,GAAqB,CACjD,GAAIC,IAAatC,IAAInjB,UAAUkK,GAC/Be,GAAekY,IAAInjB,UAAW,MAAO,QAASkK,KAAImG,EAAG0L,GACnDpd,EAAM8mB,GAAYpnB,KAAMgS,IAAM,EAAI,EAAIA,EAAG0L,EACzC,OAAO1d,QAGX,IAAKknB,GAAsB,CACzB,GAAIG,IAAavC,IAAInjB,UAAUN,GAC/B,IAAIimB,IAAaxC,IAAInjB,UAAUmkB,GAC/BrjB,GAAiBqiB,IAAInjB,WACnBN,IAAK,QAASA,KAAI2Q,GAChB,MAAO1R,GAAM+mB,GAAYrnB,KAAMgS,IAAM,EAAI,EAAIA,IAE/C8T,IAAK,QAASA,KAAI9T,GAChB,MAAO1R,GAAMgnB,GAAYtnB,KAAMgS,IAAM,EAAI,EAAIA,KAE9C,KACH/O,GAAMkJ,iBAAiB2Y,IAAInjB,UAAUN,IAAKgmB,GAC1CpkB,GAAMkJ,iBAAiB2Y,IAAInjB,UAAUmkB,IAAKwB,IAE5C,GAAIC,IAAU,GAAIhgB,IAClB,IAAIigB,IAAwB,SAAU5Y,GACpCA,EAAE,UAAU,EACZA,GAAEgW,KAAK,EACP,QAAQhW,EAAEkX,IAAI,IACdyB,GACF,IAAIE,IAAsBF,GAAQ3C,IAAI,KAAO2C,EAC7C,KAAKC,KAAyBC,GAAqB,CACjD,GAAIC,IAAangB,IAAI5F,UAAUijB,GAC/Brd,KAAI5F,UAAUijB,IAAM,QAASA,KAAIlH,GAC/Bpd,EAAMonB,GAAY1nB,KAAM0d,IAAM,EAAI,EAAIA,EACtC,OAAO1d,MAETiD,GAAMkJ,iBAAiB5E,IAAI5F,UAAUijB,IAAK8C,IAE5C,IAAKF,GAAsB,CACzB,GAAIG,IAAapgB,IAAI5F,UAAUmkB,GAC/Bve,KAAI5F,UAAUmkB,IAAM,QAASA,KAAIpI,GAC/B,MAAOpd,GAAMqnB,GAAY3nB,KAAM0d,IAAM,EAAI,EAAIA,GAE/Cza,GAAMkJ,iBAAiB5E,IAAI5F,UAAUmkB,IAAK6B,GAC1C,IAAIC,IAAargB,IAAI5F,UAAU,SAC/B4F,KAAI5F,UAAU,UAAY,QAASkmB,WAAUnK,GAC3C,MAAOpd,GAAMsnB,GAAY5nB,KAAM0d,IAAM,EAAI,EAAIA,GAE/Cza,GAAMkJ,iBAAiB5E,IAAI5F,UAAU,UAAWimB,IAElD,GAAIE,IAAyB3kB,EAAoBc,EAAQ6gB,IAAK,SAAUiD,GACtE,GAAIrB,GAAI,GAAIqB,MAGZrB,GAAE7a,IAAI,GAAI,GACV,OAAO6a,aAAaqB,IAEtB,IAAIC,IAA+B7mB,OAAOmC,iBAAmBwkB,EAC7D,IAAIG,IAAkB,WACpB,IACE,QAAShkB,EAAQ6gB,eAAiB7gB,GAAQ6gB,KAC1C,MAAO/jB,GACP,MAAOA,aAAagH,cAGxB,IAAI9D,EAAQ6gB,IAAIje,SAAW,GAAKmhB,KAAiCC,GAAgB,CAC/E,GAAIC,IAAUjkB,EAAQ6gB,GACtB7gB,GAAQ6gB,IAAM,QAASA,OACrB,KAAM9kB,eAAgB8kB,MAAM,CAC1B,KAAM,IAAI/c,WAAU,kCAEtB,GAAI2e,GAAI,GAAIwB,GACZ,IAAIrnB,UAAUgG,OAAS,EAAG,CACxBud,GAAiBU,IAAK4B,EAAG7lB,UAAU,IAErCM,OAAOmC,eAAeojB,EAAG5B,IAAInjB,UAC7BP,GAAeslB,EAAG,cAAe5B,IAAK,KACtC,OAAO4B,GAETziB,GAAQ6gB,IAAInjB,UAAYumB,GAAQvmB,SAChCsB,GAAMkJ,iBAAiBlI,EAAQ6gB,IAAKoD,IAEtC,GAAIC,IAAyBhlB,EAAoBc,EAAQsD,IAAK,SAAUsD,GACtE,GAAI+D,GAAI,GAAI/D,MACZ+D,GAAEgW,IAAI,GAAI,GACV,OAAOhW,aAAa/D,IAEtB,IAAIud,IAA+BjnB,OAAOmC,iBAAmB6kB,EAC7D,IAAIE,IAAkB,WACpB,IACE,QAASpkB,EAAQsD,eAAiBtD,GAAQsD,KAC1C,MAAOxG,GACP,MAAOA,aAAagH,cAGxB,IAAI9D,EAAQsD,IAAIV,SAAW,GAAKuhB,KAAiCC,GAAgB,CAC/E,GAAIC,IAAUrkB,EAAQsD,GACtBtD,GAAQsD,IAAM,QAASA,OACrB,KAAMvH,eAAgBuH,MAAM,CAC1B,KAAM,IAAIQ,WAAU,kCAEtB,GAAI6G,GAAI,GAAI0Z,GACZ,IAAIznB,UAAUgG,OAAS,EAAG,CACxB6d,GAAiBnd,IAAKqH,EAAG/N,UAAU,IAErCM,OAAOmC,eAAesL,EAAGrH,IAAI5F,UAC7BP,GAAewN,EAAG,cAAerH,IAAK,KACtC,OAAOqH,GAET3K,GAAQsD,IAAI5F,UAAY2mB,GAAQ3mB,SAChCsB,GAAMkJ,iBAAiBlI,EAAQsD,IAAK+gB,IAEtC,GAAIC,KAAkCvnB,EAAqB,WACzD,OAAO,GAAK8jB,MAAOniB,OAAOqH,OAAOE,MASnC,UACSjG,GAAQ6gB,IAAInjB,UAAUqkB,QAAU,aACvC,GAAI/hB,GAAQsD,KAAMqf,OAAS,IAC3B,GAAI3iB,GAAQ6gB,KAAM8B,OAAS,SACpB3iB,GAAQ6gB,IAAInjB,UAAUgB,OAAS,kBAC/BsB,GAAQsD,IAAI5F,UAAUgB,OAAS,kBAC/BsB,GAAQ6gB,IAAInjB,UAAUC,UAAY,kBAClCqC,GAAQsD,IAAI5F,UAAUC,UAAY,YACzCX,EAAqBgD,EAAQ6gB,MAC7B7jB,EAAqBgD,EAAQsD,aACrB,GAAItD,GAAQ6gB,KAAMniB,OAAW,OAAM,YAC3C4lB,KACCT,GACD,OACO7jB,GAAQ6gB,UACR7gB,GAAQsD,GACf9E,GAAiBwB,GACf6gB,IAAKD,GAAgBC,IACrBvd,IAAKsd,GAAgBtd,KACpB,MAGL,GAAItD,EAAQsD,IAAI5F,UAAUgB,OAASsB,EAAQsD,IAAI5F,UAAU8R,OAAQ,CAE/DrS,EAAe6C,EAAQsD,IAAI5F,UAAW,OAAQsC,EAAQsD,IAAI5F,UAAU8R,OAAQ,MAI9E5G,EAAY1L,OAAO0S,gBAAe,GAAK5P,GAAQ6gB,KAAOniB,QACtDkK,GAAY1L,OAAO0S,gBAAe,GAAK5P,GAAQsD,KAAO5E,QAEtD,IAAIpB,GAAsB0C,EAAQsD,IAAI5F,UAAUmkB,IAAIrkB,OAAS,MAAO,CAElE,GAAI+mB,IAAkBvkB,EAAQsD,IAAI5F,UAAUmkB,GAC5ClZ,GAAe3I,EAAQsD,IAAI5F,UAAW,MAAO,QAASmkB,KAAI9iB,GACxD,MAAO1C,GAAMkoB,GAAiBxoB,KAAMgD,MAI1CP,EAAiBwB,EAAS4gB,GAC1BlY,GAAkB1I,EAAQ6gB,IAC1BnY,GAAkB1I,EAAQsD,KAG5B,GAAIkhB,IAA4B,QAASA,2BAA0Bne,GACjE,IAAK7C,EAAGS,aAAaoC,GAAS,CAC5B,KAAM,IAAIvC,WAAU,6BAQxB,IAAI2gB,KAEFroB,MAAO,QAASA,SACd,MAAOJ,GAAOwH,EAAGC,KAAM,KAAM7G,YAI/B0J,UAAW,QAASA,WAAU5G,EAAakE,GACzC,IAAKJ,EAAGW,cAAczE,GAAc,CAClC,KAAM,IAAIoE,WAAU,yCAEtB,GAAIqC,GAAYvJ,UAAUgG,OAAS,EAAIlD,EAAc9C,UAAU,EAC/D,KAAK4G,EAAGW,cAAcgC,GAAY,CAChC,KAAM,IAAIrC,WAAU,qCAEtB,MAAON,GAAG0C,UAAUxG,EAAakE,EAAMuC,EAAW,aAOpDue,eAAgB,QAASA,gBAAere,EAAQtH,GAC9CylB,GAA0Bne,EAC1B,IAAIhJ,EAAqB,CACvB,GAAIyY,GAAO5Y,OAAOwK,yBAAyBrB,EAAQtH,EAEnD,IAAI+W,IAASA,EAAKzX,aAAc,CAC9B,MAAO,QAKX,aAAcgI,GAAOtH,IAGvB4lB,UAAW,QAASA,WAAUte,GAC5Bme,GAA0Bne,EAC1B,OAAO,IAAIgI,IAAehI,EAAQ,QAGpCwb,IAAK,QAASA,KAAIxb,EAAQtH,GACxBylB,GAA0Bne,EAC1B,OAAOtH,KAAOsH,IAIlB,IAAInJ,OAAOsL,oBAAqB,CAC9BtL,OAAOoW,OAAOmR,IAMZG,QAAS,QAASA,SAAQve,GACxBme,GAA0Bne,EAC1B,IAAI3H,GAAOxB,OAAOsL,oBAAoBnC,EAEtC,IAAI7C,EAAGK,WAAW3G,OAAOkW,uBAAwB,CAC/CtS,EAAWpC,EAAMxB,OAAOkW,sBAAsB/M,IAGhD,MAAO3H,MAKb,GAAImmB,IAAwB,QAASC,2BAA0BpoB,GAC7D,OAAQG,EAAYH,GAGtB,IAAIQ,OAAOuW,kBAAmB,CAC5BvW,OAAOoW,OAAOmR,IACZjP,aAAc,QAASA,cAAanP,GAClCme,GAA0Bne,EAC1B,OAAOnJ,QAAOsY,aAAanP,IAE7BoN,kBAAmB,QAASA,mBAAkBpN,GAC5Cme,GAA0Bne,EAC1B,OAAOwe,IAAsB,WAC3B3nB,OAAOuW,kBAAkBpN,QAMjC,GAAIhJ,EAAqB,CACvB,GAAI0nB,IAAc,QAAS3nB,KAAIiJ,EAAQtH,EAAKiT,GAC1C,GAAI8D,GAAO5Y,OAAOwK,yBAAyBrB,EAAQtH,EAEnD,KAAK+W,EAAM,CACT,GAAIkP,GAAS9nB,OAAO0S,eAAevJ,EAEnC,IAAI2e,IAAW,KAAM,CACnB,MAAOrX,WAGT,MAAOoX,IAAYC,EAAQjmB,EAAKiT,GAGlC,GAAI,SAAW8D,GAAM,CACnB,MAAOA,GAAK3X,MAGd,GAAI2X,EAAK1Y,IAAK,CACZ,MAAOf,GAAMyZ,EAAK1Y,IAAK4U,GAGzB,MAAOrE,WAGT,IAAIsX,IAAc,QAASrd,KAAIvB,EAAQtH,EAAKZ,EAAO6T,GACjD,GAAI8D,GAAO5Y,OAAOwK,yBAAyBrB,EAAQtH,EAEnD,KAAK+W,EAAM,CACT,GAAIkP,GAAS9nB,OAAO0S,eAAevJ,EAEnC,IAAI2e,IAAW,KAAM,CACnB,MAAOC,IAAYD,EAAQjmB,EAAKZ,EAAO6T,GAGzC8D,GACE3X,UAAY,GACZI,SAAU,KACVD,WAAY,KACZD,aAAc,MAIlB,GAAI,SAAWyX,GAAM,CACnB,IAAKA,EAAKvX,SAAU,CAClB,MAAO,OAGT,IAAKiF,EAAGS,aAAa+N,GAAW,CAC9B,MAAO,OAGT,GAAIkT,GAAehoB,OAAOwK,yBAAyBsK,EAAUjT,EAE7D,IAAImmB,EAAc,CAChB,MAAO3hB,GAAQpG,eAAe6U,EAAUjT,GACtCZ,MAAOA,QAEJ,CACL,MAAOoF,GAAQpG,eAAe6U,EAAUjT,GACtCZ,MAAOA,EACPI,SAAU,KACVD,WAAY,KACZD,aAAc,QAKpB,GAAIyX,EAAKlO,IAAK,CACZvL,EAAMyZ,EAAKlO,IAAKoK,EAAU7T,EAC1B,OAAO,MAGT,MAAO,OAGTjB,QAAOoW,OAAOmR,IACZtnB,eAAgB,QAASA,gBAAekJ,EAAQ8e,EAAaC,GAC3DZ,GAA0Bne,EAC1B,OAAOwe,IAAsB,WAC3B3nB,OAAOC,eAAekJ,EAAQ8e,EAAaC,MAI/C1d,yBAA0B,QAASA,0BAAyBrB,EAAQ8e,GAClEX,GAA0Bne,EAC1B,OAAOnJ,QAAOwK,yBAAyBrB,EAAQ8e,IAIjD/nB,IAAK,QAASA,KAAIiJ,EAAQtH,GACxBylB,GAA0Bne,EAC1B,IAAI2L,GAAWpV,UAAUgG,OAAS,EAAIhG,UAAU,GAAKyJ,CAErD,OAAO0e,IAAY1e,EAAQtH,EAAKiT,IAGlCpK,IAAK,QAASA,KAAIvB,EAAQtH,EAAKZ,GAC7BqmB,GAA0Bne,EAC1B,IAAI2L,GAAWpV,UAAUgG,OAAS,EAAIhG,UAAU,GAAKyJ,CAErD,OAAO4e,IAAY5e,EAAQtH,EAAKZ,EAAO6T,MAK7C,GAAI9U,OAAO0S,eAAgB,CACzB,GAAIyV,IAA0BnoB,OAAO0S,cACrC6U,IAAa7U,eAAiB,QAASA,gBAAevJ,GACpDme,GAA0Bne,EAC1B,OAAOgf,IAAwBhf,IAInC,GAAInJ,OAAOmC,gBAAkBolB,GAAa7U,eAAgB,CACxD,GAAI0V,IAA8B,SAAUpnB,EAAQqnB,GAClD,GAAIhf,GAAQgf,CACZ,OAAOhf,EAAO,CACZ,GAAIrI,IAAWqI,EAAO,CACpB,MAAO,MAETA,EAAQke,GAAa7U,eAAerJ,GAEtC,MAAO,OAGTrJ,QAAOoW,OAAOmR,IAGZplB,eAAgB,QAASA,gBAAenB,EAAQqI,GAC9Cie,GAA0BtmB,EAC1B,IAAIqI,IAAU,OAAS/C,EAAGS,aAAasC,GAAQ,CAC7C,KAAM,IAAIzC,WAAU,mCAItB,GAAIyC,IAAUhD,EAAQqM,eAAe1R,GAAS,CAC5C,MAAO,MAIT,GAAIqF,EAAQiS,eAAiBjS,EAAQiS,aAAatX,GAAS,CACzD,MAAO,OAIT,GAAIonB,GAA4BpnB,EAAQqI,GAAQ,CAC9C,MAAO,OAGTrJ,OAAOmC,eAAenB,EAAQqI,EAE9B,OAAO,SAIb,GAAIif,IAAkC,SAAUzmB,EAAK0mB,GACnD,IAAKjiB,EAAGK,WAAW7D,EAAQuD,QAAQxE,IAAO,CACxC5B,EAAe6C,EAAQuD,QAASxE,EAAK0mB,OAChC,CACL,GAAIC,GAAoB3oB,EAAqB,WAC3CiD,EAAQuD,QAAQxE,GAAK,EACrBiB,GAAQuD,QAAQxE,GAAKgT,IACrB/R,GAAQuD,QAAQxE,GAAK,KACrB,OAAO,OAET,IAAI2mB,EAAmB,CACrB/c,EAAe3I,EAAQuD,QAASxE,EAAK0mB,KAI3CvoB,QAAOwB,KAAK+lB,IAAc9mB,QAAQ,SAAUoB,GAC1CymB,GAAgCzmB,EAAK0lB,GAAa1lB,KAEpD,IAAIzB,GAAsB0C,EAAQuD,QAAQqM,eAAepS,OAAS,iBAAkB,CAClF,GAAImoB,IAA0B3lB,EAAQuD,QAAQqM,cAC9CjH,GAAe3I,EAAQuD,QAAS,iBAAkB,QAASqM,gBAAevJ,GACxE,MAAOhK,GAAMspB,GAAyB3lB,EAAQuD,QAAS8C,KAG3D,GAAIrG,EAAQuD,QAAQlE,eAAgB,CAClC,GAAItC,EAAqB,WACvBiD,EAAQuD,QAAQlE,eAAe,KAC/B,OAAO,QACL,CACFsJ,EAAe3I,EAAQuD,QAAS,iBAAkBkhB,GAAaplB,iBAGnE,GAAIW,EAAQuD,QAAQpG,eAAgB,CAClC,IAAKJ,EAAqB,WACxB,GAAI6oB,IAAS5lB,EAAQuD,QAAQpG,eAAe,EAAG,QAAUgB,MAAO,GAEhE,IAAI0nB,SAAoB3oB,QAAOuW,oBAAsB,aAAezT,EAAQuD,QAAQpG,eAAeD,OAAOuW,sBAAuB,UACjI,OAAOmS,IAASC,IACd,CACFld,EAAe3I,EAAQuD,QAAS,iBAAkBkhB,GAAatnB,iBAGnE,GAAI6C,EAAQuD,QAAQ+C,UAAW,CAC7B,IAAKvJ,EAAqB,WACxB,GAAI2G,GAAI,QAASA,MACjB,OAAO1D,GAAQuD,QAAQ+C,UAAU,gBAAoB5C,YAAcA,KACjE,CACFiF,EAAe3I,EAAQuD,QAAS,YAAakhB,GAAane,YAI9D,GAAIlG,OAAO,GAAI0lB,MAAK/T,QAAU,eAAgB,CAC5C,GAAIgU,IAAeD,KAAKpoB,UAAU6C,QAClC,IAAIylB,IAAsB,QAASzlB,YACjC,GAAIkR,IAAW1V,IACf,IAAI0V,IAAYA,EAAS,CACvB,MAAO,eAET,MAAOpV,GAAM0pB,GAAchqB,MAE7B4M,GAAemd,KAAKpoB,UAAW,WAAYsoB,IAK7C,GAAIC,KACFC,OAAQ,QAASA,QAAO1oB,GAAQ,MAAOgG,GAAGqD,WAAW9K,KAAM,IAAK,OAAQyB,IACxE2oB,IAAK,QAASA,OAAQ,MAAO3iB,GAAGqD,WAAW9K,KAAM,MAAO,GAAI,KAC5DqqB,MAAO,QAASA,SAAU,MAAO5iB,GAAGqD,WAAW9K,KAAM,QAAS,GAAI,KAClEsqB,KAAM,QAASA,QAAS,MAAO7iB,GAAGqD,WAAW9K,KAAM,IAAK,GAAI,KAC5DuqB,MAAO,QAASA,SAAU,MAAO9iB,GAAGqD,WAAW9K,KAAM,KAAM,GAAI,KAC/DwqB,UAAW,QAASA,WAAUC,GAAS,MAAOhjB,GAAGqD,WAAW9K,KAAM,OAAQ,QAASyqB,IACnFC,SAAU,QAASA,UAAS9D,GAAQ,MAAOnf,GAAGqD,WAAW9K,KAAM,OAAQ,OAAQ4mB,IAC/E+D,QAAS,QAASA,WAAY,MAAOljB,GAAGqD,WAAW9K,KAAM,IAAK,GAAI,KAClE4qB,KAAM,QAASA,MAAKC,GAAO,MAAOpjB,GAAGqD,WAAW9K,KAAM,IAAK,OAAQ6qB,IACnEC,MAAO,QAASA,SAAU,MAAOrjB,GAAGqD,WAAW9K,KAAM,QAAS,GAAI,KAClE+qB,OAAQ,QAASA,UAAW,MAAOtjB,GAAGqD,WAAW9K,KAAM,SAAU,GAAI,KACrEgrB,IAAK,QAASA,OAAQ,MAAOvjB,GAAGqD,WAAW9K,KAAM,MAAO,GAAI,KAC5DirB,IAAK,QAASD,OAAQ,MAAOvjB,GAAGqD,WAAW9K,KAAM,MAAO,GAAI,KAE9D0B,GAASP,OAAOwB,KAAKunB,IAAkB,SAAUlnB,GAC/C,GAAIJ,GAASyB,OAAO1C,UAAUqB,EAC9B,IAAIkoB,GAAkB,KACtB,IAAIzjB,EAAGK,WAAWlF,GAAS,CACzB,GAAIuoB,GAAS7qB,EAAMsC,EAAQ,GAAI,MAC/B,IAAIwoB,GAAc3mB,KAAY0mB,EAAOE,MAAM,OAAOxkB,MAClDqkB,GAAkBC,IAAWA,EAAOG,eAAiBF,EAAc,MAC9D,CACLF,EAAkB,KAEpB,GAAIA,EAAiB,CACnBte,EAAevI,OAAO1C,UAAWqB,EAAKknB,GAAgBlnB,MAI1D,IAAIuoB,IAA0B,WAE5B,IAAKxkB,EAAKK,OAAOjB,EAAOmB,UAAW,CAAE,MAAO,OAC5C,GAAIkkB,SAAmBC,QAAS,gBAAmBA,MAAKD,YAAc,WAAaC,KAAKD,UAAY,IACpG,KAAKA,EAAW,CAAE,MAAO,OACzB,SAAWA,GAAUrlB,OAAc,YAAa,CAAE,MAAO,MACzD,GAAIqlB,GAAWrlB,QAAe,SAAU,CAAE,MAAO,MACjD,GAAIsE,IAAQ3B,EAAG3C,IACfsE,GAAItE,KAAY,IAChB,IAAIqlB,EAAU/gB,KAAS,KAAM,CAAE,MAAO,MACtC,MAAO,SAET,IAAIihB,IAAmC1qB,EAAqB,WAE1D,IAAK+F,EAAKK,OAAOjB,EAAOmB,UAAW,CAAE,MAAO,MAC5C,MAAOmkB,MAAKD,UAAUrqB,OAAOgF,QAAe,MAAQslB,KAAKD,WAAWrqB,OAAOgF,SAAgB,QAE7F,IAAIolB,KAA2BG,GAAkC,CAC/D,GAAIC,IAAgBF,KAAKD,SACzB5e,GAAe6e,KAAM,YAAa,QAASD,WAAUppB,GACnD,SAAWA,KAAU,SAAU,CAAE,OACjC,GAAIwpB,EACJ,IAAI/qB,UAAUgG,OAAS,EAAG,CACxB+kB,EAAW/qB,UAAU,GAEvB,GAAIgH,IAAQzF,EACZ,KAAK7B,EAAQqrB,GAAW,CACtB,GAAIC,GAAYpkB,EAAGK,WAAW8jB,GAAYA,EAAW,IACrD,IAAIE,GAAkB,SAAU9oB,EAAKwV,GACnC,GAAIuT,GAAcH,EAAWtrB,EAAMsrB,EAAU5rB,KAAMgD,EAAKwV,GAAOA,CAC/D,UAAWuT,KAAgB,SAAU,CACnC,GAAIhlB,EAAKK,OAAO2kB,GAAc,CAC5B,MAAO9U,QAAa8U,OACf,CACL,MAAOA,KAIblkB,GAAK/C,KAAKgnB,OACL,CAELjkB,EAAK/C,KAAK8mB,GAEZ,GAAI/qB,UAAUgG,OAAS,EAAG,CACxBgB,EAAK/C,KAAKjE,UAAU,IAEtB,MAAO8qB,IAActrB,MAAML,KAAM6H,KAIrC,MAAO5D"} \ No newline at end of file diff --git a/es6-shim.min.js b/es6-shim.min.js index cc5a76bc..a99a816e 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-2015 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-shim: v0.33.10 - * see https://github.com/paulmillr/es6-shim/blob/0.33.10/LICENSE + * es6-shim: v0.33.11 + * see https://github.com/paulmillr/es6-shim/blob/0.33.11/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=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var o=function(e){try{e();return false}catch(t){return true}};var i=function valueOrFalseIfThrows(e){try{return e()}catch(t){return false}};var a=n(o);var u=function(){return!o(function(){Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&u();var f=function foo(){}.name==="foo";var c=Function.call.bind(Array.prototype.forEach);var l=Function.call.bind(Array.prototype.reduce);var p=Function.call.bind(Array.prototype.filter);var v=Function.call.bind(Array.prototype.some);var y=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 h=function(e,t){c(Object.keys(t),function(r){var n=t[r];y(e,r,n,false)})};var g=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var n=new r;if(typeof t!=="undefined"){Object.keys(t).forEach(function(e){U.defineByDescriptor(n,e,t[e])})}return n};var b=function(e,t){if(!Object.setPrototypeOf){return false}return i(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=g(e.prototype,{constructor:{value:r}});return t(r)})};var d=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 m=d();var O=m.isFinite;var w=Function.call.bind(String.prototype.indexOf);var j=Function.call.bind(Object.prototype.toString);var S=Function.call.bind(Array.prototype.concat);var T=Function.call.bind(String.prototype.slice);var I=Function.call.bind(Array.prototype.push);var E=Function.apply.bind(Array.prototype.push);var M=Function.call.bind(Array.prototype.shift);var P=Math.max;var x=Math.min;var N=Math.floor;var C=Math.abs;var A=Math.log;var k=Math.sqrt;var _=Function.call.bind(Object.prototype.hasOwnProperty);var R;var F=function(){};var D=m.Symbol||{};var z=D.species||"@@species";var L=Number.isNaN||function isNaN(e){return e!==e};var q=Number.isFinite||function isFinite(e){return typeof e==="number"&&O(e)};var G=function isArguments(e){return j(e)==="[object Arguments]"};var W=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&j(e)!=="[object Array]"&&j(e.callee)==="[object Function]"};var H=G(arguments)?G:W;var B={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 j(e)==="[object String]"},regex:function(e){return j(e)==="[object RegExp]"},symbol:function(e){return typeof m.Symbol==="function"&&typeof e==="symbol"}};var V=B.symbol(D.iterator)?D.iterator:"_es6-shim iterator_";if(m.Set&&typeof(new m.Set)["@@iterator"]==="function"){V="@@iterator"}if(!m.Reflect){y(m,"Reflect",{})}var $=m.Reflect;var J={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!J.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)}},TypeIsObject:function(e){return e!=null&&Object(e)===e},ToObject:function(e,t){J.RequireObjectCoercible(e,t);return Object(e)},IsCallable:function(e){return typeof e==="function"&&j(e)==="[object Function]"},IsConstructor:function(e){return J.IsCallable(e)},ToInt32:function(e){return J.ToNumber(e)>>0},ToUint32:function(e){return J.ToNumber(e)>>>0},ToNumber:function(e){if(j(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=J.ToNumber(e);if(L(t)){return 0}if(t===0||!q(t)){return t}return(t>0?1:-1)*N(C(t))},ToLength:function(e){var t=J.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 L(e)&&L(t)},SameValueZero:function(e,t){return e===t||L(e)&&L(t)},IsIterable:function(e){return J.TypeIsObject(e)&&(typeof e[V]!=="undefined"||H(e))},GetIterator:function(e){if(H(e)){return new R(e,"value")}var r=J.GetMethod(e,V);if(!J.IsCallable(r)){throw new TypeError("value is not an iterable")}var n=t(r,e);if(!J.TypeIsObject(n)){throw new TypeError("bad iterator")}return n},GetMethod:function(e,t){var r=J.ToObject(e)[t];if(r===void 0||r===null){return void 0}if(!J.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,r){var n=J.GetMethod(e,"return");if(n===void 0){return}var o,i;try{o=t(n,e)}catch(a){i=a}if(r){return}if(i){throw i}if(!J.TypeIsObject(o)){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(!J.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=J.IteratorNext(e);var r=J.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n){return $.construct(e,t,o)}var i=o.prototype;if(!J.TypeIsObject(i)){i=Object.prototype}var a=g(i);var u=J.Call(e,a,t);return J.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!J.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[z];if(n===void 0||n===null){return t}if(!J.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},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 U={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&&J.IsCallable(t.toString)){y(e,"toString",t.toString.bind(t),true)}}};var K=function wrapConstructor(e,t,r){U.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){c(Object.getOwnPropertyNames(e),function(n){if(n in F||r[n]){return}U.proxy(e,n,t)})}else{c(Object.keys(e),function(n){if(n in F||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;U.redefine(e.prototype,"constructor",t)};var X=function(){return this};var Z=function(e){if(s&&!_(e,z)){U.getter(e,z,X)}};var Q=function overrideNative(e,t,r){var n=e[t];y(e,t,r,true);U.preserveToString(e[t],n)};var Y=function(e,t){var r=t||function iterator(){return this};y(e,V,r);if(!e[V]&&B.symbol(V)){e[V]=r}};var ee=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var te=function createDataPropertyOrThrow(e,t,r){ee(e,t,r);if(!J.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var re=function(e,t,r,n){if(!J.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!J.TypeIsObject(o)){o=r}var i=g(o);for(var a in n){if(_(n,a)){var u=n[a];y(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var ne=String.fromCodePoint;Q(String,"fromCodePoint",function fromCodePoint(t){return e(ne,this,arguments)})}var oe={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){I(t,String.fromCharCode(r))}else{r-=65536;I(t,String.fromCharCode((r>>10)+55296));I(t,String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function raw(e){var t=J.ToObject(e,"bad callSite");var r=J.ToObject(t.raw,"bad raw value");var n=r.length;var o=J.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,s,f,c;while(a=o){break}s=a+1=ae){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return ie(t,r)},startsWith:function startsWith(e){J.RequireObjectCoercible(this);var t=String(this);if(B.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=P(J.ToInteger(n),0);return T(t,o,o+r.length)===r},endsWith:function endsWith(e){J.RequireObjectCoercible(this);var t=String(this);if(B.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:J.ToInteger(o);var a=x(P(i,0),n);return T(t,a-r.length,a)===r},includes:function includes(e){if(B.regex(e)){throw new TypeError('"includes" does not accept a RegExp')}var t;if(arguments.length>1){t=arguments[1]}return w(this,e,t)!==-1},codePointAt:function codePointAt(e){J.RequireObjectCoercible(this);var t=String(this);var r=J.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){Q(String.prototype,"includes",ue.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var se=o(function(){"/a/".startsWith(/a/)});var fe="abc".startsWith("a",Infinity)===false;if(!se||!fe){Q(String.prototype,"startsWith",ue.startsWith);Q(String.prototype,"endsWith",ue.endsWith)}}h(String.prototype,ue);var ce=[" \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 le=new RegExp("(^["+ce+"]+)|(["+ce+"]+$)","g");var pe=function trim(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return String(this).replace(le,"")};var ve=["\x85","\u200b","\ufffe"].join("");var ye=new RegExp("["+ve+"]","g");var he=ve.trim().length!==ve.length;y(String.prototype,"trim",pe,he);var ge=function(e){J.RequireObjectCoercible(e);this._s=String(e);this._i=0};ge.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}};Y(ge.prototype);Y(String.prototype,function(){return new ge(this)});var be={from:function from(e){var r=this;var n=arguments.length>1?arguments[1]:void 0;var o,i;if(n===void 0){o=false}else{if(!J.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}i=arguments.length>2?arguments[2]:void 0;o=true}var a=typeof(H(e)||J.GetMethod(e,V))!=="undefined";var u,s,f;if(a){s=J.IsConstructor(r)?Object(new r):[];var c=J.GetIterator(e);var l,p;f=0;while(true){l=J.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=i===undefined?n(p,f):t(n,i,p,f)}s[f]=p}catch(v){J.IteratorClose(c,true);throw v}f+=1}u=f}else{var y=J.ToObject(e);u=J.ToLength(y.length);s=J.IsConstructor(r)?Object(new r(u)):new Array(u);var h;for(f=0;f0){e=M(t);if(!(e in this.object)){continue}if(this.kind==="key"){return de(e)}else if(this.kind==="value"){return de(this.object[e])}else{return de([e,this.object[e]])}}return de()}});Y(Oe.prototype);var we=Array.of===be.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(!we){Q(Array,"of",be.of)}var je={copyWithin:function copyWithin(e,t){var r=arguments[2];var n=J.ToObject(this);var o=J.ToLength(n.length);var i=J.ToInteger(e);var a=J.ToInteger(t);var u=i<0?P(o+i,0):x(i,o);var s=a<0?P(o+a,0):x(a,o);r=typeof r==="undefined"?o:J.ToInteger(r);var f=r<0?P(o+r,0):x(r,o);var c=x(f-s,o-u);var l=1;if(s0){if(_(n,s)){n[u]=n[s]}else{delete n[s]}s+=l;u+=l;c-=1}return n},fill:function fill(e){var t=arguments.length>1?arguments[1]:void 0;var r=arguments.length>2?arguments[2]:void 0;var n=J.ToObject(this);var o=J.ToLength(n.length);t=J.ToInteger(typeof t==="undefined"?0:t);r=J.ToInteger(typeof r==="undefined"?o:r);var i=t<0?P(o+t,0):x(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;i0&&typeof arguments[1]!=="undefined"){return e(Me,this,arguments)}else{return t(Me,this,r)}})}var Pe=function(e,r){var n={length:-1};n[r?(-1>>>0)-1:0]=true;return i(function(){t(e,n,function(){throw new RangeError("should not reach here")},[])})};if(!Pe(Array.prototype.forEach)){var xe=Array.prototype.forEach;Q(Array.prototype,"forEach",function forEach(t){return e(xe,this.length>=0?this:[],arguments)},true)}if(!Pe(Array.prototype.map)){var Ne=Array.prototype.map;Q(Array.prototype,"map",function map(t){return e(Ne,this.length>=0?this:[],arguments)},true)}if(!Pe(Array.prototype.filter)){var Ce=Array.prototype.filter;Q(Array.prototype,"filter",function filter(t){return e(Ce,this.length>=0?this:[],arguments)},true)}if(!Pe(Array.prototype.some)){var Ae=Array.prototype.some;Q(Array.prototype,"some",function some(t){return e(Ae,this.length>=0?this:[],arguments)},true)}if(!Pe(Array.prototype.every)){var ke=Array.prototype.every;Q(Array.prototype,"every",function every(t){return e(ke,this.length>=0?this:[],arguments)},true)}if(!Pe(Array.prototype.reduce)){var _e=Array.prototype.reduce;Q(Array.prototype,"reduce",function reduce(t){return e(_e,this.length>=0?this:[],arguments)},true)}if(!Pe(Array.prototype.reduceRight,true)){var Re=Array.prototype.reduceRight;Q(Array.prototype,"reduceRight",function reduceRight(t){return e(Re,this.length>=0?this:[],arguments)},true)}var Fe=Number("0o10")!==8;var De=Number("0b10")!==2;var ze=v(ve,function(e){return Number(e+0+e)===0});if(Fe||De||ze){var Le=Number;var qe=/^0b[01]+$/i;var Ge=/^0o[0-7]+$/i;var We=qe.test.bind(qe);var He=Ge.test.bind(Ge);var Be=function(e){var t;if(typeof e.valueOf==="function"){t=e.valueOf();if(B.primitive(t)){return t}}if(typeof e.toString==="function"){t=e.toString();if(B.primitive(t)){return t}}throw new TypeError("No default value")};var Ve=ye.test.bind(ye);var $e=function(){var e=function Number(r){var n=B.primitive(r)?r:Be(r,"number");if(typeof n==="string"){if(We(n)){n=parseInt(T(n,2),2)}else if(He(n)){n=parseInt(T(n,2),8)}else if(Ve(n)){n=NaN}else{n=t(pe,n)}}var o=this;var a=i(function(){Le.prototype.valueOf.call(o);return true});if(o instanceof e&&!a){return new Le(n)}return Le(n)};return e}();K(Le,$e,{});Number=$e;U.redefine(m,"Number",$e)}var Je=Math.pow(2,53)-1;h(Number,{MAX_SAFE_INTEGER:Je,MIN_SAFE_INTEGER:-Je,EPSILON:2.220446049250313e-16,parseInt:m.parseInt,parseFloat:m.parseFloat,isFinite:q,isInteger:function isInteger(e){return q(e)&&J.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&C(e)<=Number.MAX_SAFE_INTEGER},isNaN:L});y(Number,"parseInt",m.parseInt,Number.parseInt!==m.parseInt);if(![,1].find(function(e,t){return t===0})){Q(Array.prototype,"find",je.find)}if([,1].findIndex(function(e,t){return t===0})!==0){Q(Array.prototype,"findIndex",je.findIndex)}var Ue=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var Ke=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*A((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(A(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var r=Number(e);var n=J.ToUint32(r);if(n===0){return 32}return At?t(At,n):31-N(A(n+.5)*Math.LOG2E)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(Number.isNaN(t)){return NaN}if(!O(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(!O(t)||t===0){return t}if(C(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*k(r)},log2:function log2(e){return A(e)*Math.LOG2E},log10:function log10(e){return A(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*(A(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(!O(t)||t===0){return t}if(C(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?-N(-t):N(t)},imul:function imul(e,t){var r=J.ToUint32(e);var n=J.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||L(t)){return t}var r=Math.sign(t);var n=C(t);if(nNt||L(i)){return r*Infinity}return r*i}};h(Math,kt);y(Math,"log1p",kt.log1p,Math.log1p(-1e-17)!==-1e-17);y(Math,"asinh",kt.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));y(Math,"tanh",kt.tanh,Math.tanh(-2e-17)!==-2e-17);y(Math,"acosh",kt.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);y(Math,"cbrt",kt.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8);y(Math,"sinh",kt.sinh,Math.sinh(-2e-17)!==-2e-17);var _t=Math.expm1(10);y(Math,"expm1",kt.expm1,_t>22025.465794806718||_t<22025.465794806718);var Rt=Math.round;var Ft=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var Dt=Mt+1;var zt=2*Mt-1;var Lt=[Dt,zt].every(function(e){return Math.round(e)===e});y(Math,"round",function round(e){var t=N(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!Ft||!Lt);U.preserveToString(Math.round,Rt);var qt=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=kt.imul;U.preserveToString(Math.imul,qt)}if(Math.imul.length!==2){Q(Math,"imul",function imul(t,r){return e(qt,Math,arguments)})}var Gt=function(){var e=m.setTimeout;if(typeof e!=="function"&&typeof e!=="object"){return}J.IsPromise=function(e){if(!J.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!J.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.promise=new e(r);if(!(J.IsCallable(t.resolve)&&J.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&J.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){I(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=M(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=m.Promise;return e&&e.resolve&&function(t){return e.resolve().then(t)}};var i=J.IsCallable(m.setImmediate)?m.setImmediate.bind(m):typeof process==="object"&&process.nextTick?process.nextTick:o()||(J.IsCallable(n)?n():function(t){e(t,0)});var a=1;var u=2;var s=3;var f=4;var l=5;var p=function(e,t){var r=e.capabilities;var n=e.handler;var o,i=false,s;if(n===a){o=t}else if(n===u){o=t;i=true}else{try{o=n(t)}catch(f){o=f;i=true}}s=i?r.reject:r.resolve;s(o)};var v=function(e,t){c(e,function(e){i(function(){p(e,t)})})};var y=function(e,t){var r=e._promise;var n=r.fulfillReactions;r.result=t;r.fulfillReactions=void 0;r.rejectReactions=void 0;r.state=f;v(n,t)};var g=function(e,t){var r=e._promise;var n=r.rejectReactions;r.result=t;r.fulfillReactions=void 0;r.rejectReactions=void 0;r.state=l;v(n,t)};var b=function(e){var t=false;var r=function(r){var n;if(t){return}t=true;if(r===e){return g(e,new TypeError("Self resolution"))}if(!J.TypeIsObject(r)){return y(e,r)}try{n=r.then}catch(o){return g(e,o)}if(!J.IsCallable(n)){return y(e,r)}i(function(){d(e,r,n)})};var n=function(r){if(t){return}t=true;return g(e,r)};return{resolve:r,reject:n}};var d=function(e,r,n){var o=b(e);var i=o.resolve;var a=o.reject;try{t(n,r,i,a)}catch(u){a(u)}};var O=function(e){if(!J.TypeIsObject(e)){throw new TypeError("Promise is not object")}var t=e[z];if(t!==void 0&&t!==null){return t}return e};var w;var j=function(){var e=function Promise(t){if(!(this instanceof e)){throw new TypeError('Constructor Promise requires "new"')}if(this&&this._promise){throw new TypeError("Bad construction")}if(!J.IsCallable(t)){throw new TypeError("not a valid resolver")}var r=re(this,e,w,{_promise:{result:void 0,state:s,fulfillReactions:[],rejectReactions:[]}});var n=b(r);var o=n.reject;try{t(n.resolve,o)}catch(i){o(i)}return r};return e}();w=j.prototype;var S=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)}}};var T=function(e,t,r){var n=e.iterator;var o=[],i={count:1},a,u;var s=0;while(true){try{a=J.IteratorStep(n);if(a===false){e.done=true;break}u=a.value}catch(f){e.done=true;throw f}o[s]=void 0;var c=t.resolve(u);var l=S(s,o,r,i);i.count+=1;c.then(l,r.reject);s+=1}if(--i.count===0){var p=r.resolve;p(o)}return r.promise};var E=function(e,t,r){var n=e.iterator,o,i,a;while(true){try{o=J.IteratorStep(n);if(o===false){e.done=true;break}i=o.value}catch(u){e.done=true;throw u}a=t.resolve(i);a.then(r.resolve,r.reject)}return r.promise};h(j,{all:function all(e){var t=O(this);var n=new r(t);var o,i;try{o=J.GetIterator(e);i={iterator:o,done:false};return T(i,t,n)}catch(a){var u=a;if(i&&!i.done){try{J.IteratorClose(o,true)}catch(s){u=s}}var f=n.reject;f(u);return n.promise}},race:function race(e){var t=O(this);var n=new r(t);var o,i;try{o=J.GetIterator(e);i={iterator:o,done:false};return E(i,t,n)}catch(a){var u=a;if(i&&!i.done){try{J.IteratorClose(o,true)}catch(s){u=s}}var f=n.reject;f(u);return n.promise}},reject:function reject(e){var t=this;var n=new r(t);var o=n.reject;o(e);return n.promise},resolve:function resolve(e){var t=this;if(J.IsPromise(e)){var n=e.constructor;if(n===t){return e}}var o=new r(t);var i=o.resolve; -i(e);return o.promise}});h(w,{"catch":function(e){return this.then(void 0,e)},then:function then(e,t){var n=this;if(!J.IsPromise(n)){throw new TypeError("not a promise")}var o=J.SpeciesConstructor(n,j);var c=new r(o);var v={capabilities:c,handler:J.IsCallable(e)?e:a};var y={capabilities:c,handler:J.IsCallable(t)?t:u};var h=n._promise;var g;if(h.state===s){I(h.fulfillReactions,v);I(h.rejectReactions,y)}else if(h.state===f){g=h.result;i(function(){p(v,g)})}else if(h.state===l){g=h.result;i(function(){p(y,g)})}else{throw new TypeError("unexpected Promise state")}return c.promise}});return j}();if(m.Promise){delete m.Promise.accept;delete m.Promise.defer;delete m.Promise.prototype.chain}if(typeof Gt==="function"){h(m,{Promise:Gt});var Wt=b(m.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var Ht=!o(function(){m.Promise.reject(42).then(null,5).then(null,F)});var Bt=o(function(){m.Promise.call(3,F)});var Vt=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);return t===r}(m.Promise);if(!Wt||!Ht||!Bt||Vt){Promise=Gt;Q(m,"Promise",Gt)}Z(Promise)}var $t=function(e){var t=Object.keys(l(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Jt=$t(["z","a","bb"]);var Ut=$t(["z",1,"a","3",2]);if(s){var Kt=function fastkey(e){if(!Jt){return null}var t=typeof e;if(t==="undefined"||e===null){return"^"+String(e)}else if(t==="string"){return"$"+e}else if(t==="number"){if(!Ut){return"n"+e}return e}else if(t==="boolean"){return"b"+e}return null};var Xt=function emptyObject(){return Object.create?Object.create(null):{}};var Zt=function addIterableToMap(e,n,o){if(r(o)||B.string(o)){c(o,function(e){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(!J.IsCallable(a)){throw new TypeError("bad map")}i=J.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=J.IteratorStep(i);if(u===false){break}var s=u.value;try{if(!J.TypeIsObject(s)){throw new TypeError("expected iterable of pairs")}t(a,n,s[0],s[1])}catch(f){J.IteratorClose(i,true);throw f}}}}};var Qt=function addIterableToSet(e,n,o){if(r(o)||B.string(o)){c(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(!J.IsCallable(a)){throw new TypeError("bad set")}i=J.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=J.IteratorStep(i);if(u===false){break}var s=u.value;try{t(a,n,s)}catch(f){J.IteratorClose(i,true);throw f}}}}};var Yt={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(!J.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+String(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}}};Y(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=re(this,Map,a,{_es6map:true,_head:null,_storage:Xt(),_size:0});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){Zt(Map,e,arguments[0])}return e};a=u.prototype;U.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});h(a,{get:function get(e){o(this,"get");var t=Kt(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(J.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=Kt(e);if(t!==null){return typeof this._storage[t]!=="undefined"}var r=this._head,n=r;while((n=n.next)!==r){if(J.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=Kt(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(J.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(J.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=Kt(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(J.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=Xt();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)}}}});Y(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(!J.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+String(t))}};var n;var o=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=re(this,Set,n,{_es6set:true,"[[SetData]]":null,_storage:Xt()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){Qt(Set,e,arguments[0])}return e};n=o.prototype;var i=function ensureMap(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new Yt.Map;c(Object.keys(e._storage),function(e){var r=e;if(r==="^null"){r=null}else if(r==="^undefined"){r=void 0}else{var n=r.charAt(0);if(n==="$"){r=T(r,1)}else if(n==="n"){r=+T(r,1)}else if(n==="b"){r=r==="btrue"}else{r=+r}}t.set(r,r)});e._storage=null}};U.getter(o.prototype,"size",function(){r(this,"size");i(this);return this["[[SetData]]"].size});h(o.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=Kt(e))!==null){return!!this._storage[t]}i(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=Kt(e))!==null){this._storage[t]=true;return this}i(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=Kt(e))!==null){var n=_(this._storage,t);return delete this._storage[t]&&n}i(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=Xt()}else{this["[[SetData]]"].clear()}},values:function values(){r(this,"values");i(this);return this["[[SetData]]"].values()},entries:function entries(){r(this,"entries");i(this);return this["[[SetData]]"].entries()},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;i(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});y(o.prototype,"keys",o.prototype.values,true);Y(o.prototype,o.prototype.values);return o}()};if(m.Map||m.Set){var er=i(function(){return new Map([[1,2]]).get(1)===2});if(!er){var tr=m.Map;m.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new tr;if(arguments.length>0){Zt(Map,e,arguments[0])}Object.setPrototypeOf(e,m.Map.prototype);y(e,"constructor",Map,true);return e};m.Map.prototype=g(tr.prototype);U.preserveToString(m.Map,tr)}var rr=new Map;var nr=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}(rr);var or=rr.set(1,2)===rr;if(!nr||!or){var ir=Map.prototype.set;Q(Map.prototype,"set",function set(e,r){t(ir,this,e===0?0:e,r);return this})}if(!nr){var ar=Map.prototype.get;var ur=Map.prototype.has;h(Map.prototype,{get:function get(e){return t(ar,this,e===0?0:e)},has:function has(e){return t(ur,this,e===0?0:e)}},true);U.preserveToString(Map.prototype.get,ar);U.preserveToString(Map.prototype.has,ur)}var sr=new Set;var fr=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(sr);var cr=sr.add(1)===sr;if(!fr||!cr){var lr=Set.prototype.add;Set.prototype.add=function add(e){t(lr,this,e===0?0:e);return this};U.preserveToString(Set.prototype.add,lr)}if(!fr){var pr=Set.prototype.has;Set.prototype.has=function has(e){return t(pr,this,e===0?0:e)};U.preserveToString(Set.prototype.has,pr);var vr=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(vr,this,e===0?0:e)};U.preserveToString(Set.prototype["delete"],vr)}var yr=b(m.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var hr=Object.setPrototypeOf&&!yr;var gr=function(){try{return!(m.Map()instanceof m.Map)}catch(e){return e instanceof TypeError}}();if(m.Map.length!==0||hr||!gr){var br=m.Map;m.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new br;if(arguments.length>0){Zt(Map,e,arguments[0])}Object.setPrototypeOf(e,Map.prototype);y(e,"constructor",Map,true);return e};m.Map.prototype=br.prototype;U.preserveToString(m.Map,br)}var dr=b(m.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var mr=Object.setPrototypeOf&&!dr;var Or=function(){try{return!(m.Set()instanceof m.Set)}catch(e){return e instanceof TypeError}}();if(m.Set.length!==0||mr||!Or){var wr=m.Set;m.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new wr;if(arguments.length>0){Qt(Set,e,arguments[0])}Object.setPrototypeOf(e,Set.prototype);y(e,"constructor",Set,true);return e};m.Set.prototype=wr.prototype;U.preserveToString(m.Set,wr)}var jr=!i(function(){return(new Map).keys().next().done});if(typeof m.Map.prototype.clear!=="function"||(new m.Set).size!==0||(new m.Map).size!==0||typeof m.Map.prototype.keys!=="function"||typeof m.Set.prototype.keys!=="function"||typeof m.Map.prototype.forEach!=="function"||typeof m.Set.prototype.forEach!=="function"||a(m.Map)||a(m.Set)||typeof(new m.Map).keys().next!=="function"||jr||!yr){delete m.Map;delete m.Set;h(m,{Map:Yt.Map,Set:Yt.Set},true)}if(m.Set.prototype.keys!==m.Set.prototype.values){y(m.Set.prototype,"keys",m.Set.prototype.values,true)}Y(Object.getPrototypeOf((new m.Map).keys()));Y(Object.getPrototypeOf((new m.Set).keys()));if(f&&m.Set.prototype.has.name!=="has"){var Sr=m.Set.prototype.has;Q(m.Set.prototype,"has",function has(e){return t(Sr,this,e)})}}h(m,Yt);Z(m.Map);Z(m.Set)}var Tr=function throwUnlessTargetIsObject(e){if(!J.TypeIsObject(e)){throw new TypeError("target must be an object")}};var Ir={apply:function apply(){return e(J.Call,null,arguments)},construct:function construct(e,t){if(!J.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length<3?e:arguments[2];if(!J.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return J.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){Tr(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},enumerate:function enumerate(e){Tr(e);return new Oe(e,"key")},has:function has(e,t){Tr(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(Ir,{ownKeys:function ownKeys(e){Tr(e);var t=Object.getOwnPropertyNames(e);if(J.IsCallable(Object.getOwnPropertySymbols)){E(t,Object.getOwnPropertySymbols(e))}return t}})}var Er=function ConvertExceptionToBoolean(e){return!o(e)};if(Object.preventExtensions){Object.assign(Ir,{isExtensible:function isExtensible(e){Tr(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){Tr(e);return Er(function(){Object.preventExtensions(e)})}})}if(s){var Mr=function get(e,r,n){var o=Object.getOwnPropertyDescriptor(e,r);if(!o){var i=Object.getPrototypeOf(e);if(i===null){return undefined}return Mr(i,r,n)}if("value"in o){return o.value}if(o.get){return t(o.get,n)}return undefined};var Pr=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return Pr(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!J.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return $.defineProperty(o,r,{value:n})}else{return $.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(Ir,{defineProperty:function defineProperty(e,t,r){Tr(e);return Er(function(){Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){Tr(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){Tr(e);var r=arguments.length>2?arguments[2]:e;return Mr(e,t,r)},set:function set(e,t,r){Tr(e);var n=arguments.length>3?arguments[3]:e;return Pr(e,t,r,n)}})}if(Object.getPrototypeOf){var xr=Object.getPrototypeOf;Ir.getPrototypeOf=function getPrototypeOf(e){Tr(e);return xr(e)}}if(Object.setPrototypeOf&&Ir.getPrototypeOf){var Nr=function(e,t){var r=t;while(r){if(e===r){return true}r=Ir.getPrototypeOf(r)}return false};Object.assign(Ir,{setPrototypeOf:function setPrototypeOf(e,t){Tr(e);if(t!==null&&!J.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===$.getPrototypeOf(e)){return true}if($.isExtensible&&!$.isExtensible(e)){return false}if(Nr(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var Cr=function(e,t){if(!J.IsCallable(m.Reflect[e])){y(m.Reflect,e,t)}else{var r=i(function(){m.Reflect[e](1);m.Reflect[e](NaN);m.Reflect[e](true);return true});if(r){Q(m.Reflect,e,t)}}};Object.keys(Ir).forEach(function(e){Cr(e,Ir[e])});if(f&&m.Reflect.getPrototypeOf.name!=="getPrototypeOf"){var Ar=m.Reflect.getPrototypeOf;Q(m.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(Ar,m.Reflect,e)})}if(m.Reflect.setPrototypeOf){if(i(function(){m.Reflect.setPrototypeOf(1,{});return true})){Q(m.Reflect,"setPrototypeOf",Ir.setPrototypeOf)}}if(m.Reflect.defineProperty){if(!i(function(){var e=!m.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!m.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){Q(m.Reflect,"defineProperty",Ir.defineProperty)}}if(m.Reflect.construct){if(!i(function(){var e=function F(){};return m.Reflect.construct(function(){},[],e)instanceof e})){Q(m.Reflect,"construct",Ir.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var kr=Date.prototype.toString;var _r=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return t(kr,this)};Q(Date.prototype,"toString",_r)}var Rr={anchor:function anchor(e){return J.CreateHTML(this,"a","name",e)},big:function big(){return J.CreateHTML(this,"big","","")},blink:function blink(){return J.CreateHTML(this,"blink","","")},bold:function bold(){return J.CreateHTML(this,"b","","")},fixed:function fixed(){return J.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return J.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return J.CreateHTML(this,"font","size",e)},italics:function italics(){return J.CreateHTML(this,"i","","")},link:function link(e){return J.CreateHTML(this,"a","href",e)},small:function small(){return J.CreateHTML(this,"small","","")},strike:function strike(){return J.CreateHTML(this,"strike","","")},sub:function sub(){return J.CreateHTML(this,"sub","","")},sup:function sub(){return J.CreateHTML(this,"sup","","")}};c(Object.keys(Rr),function(e){var r=String.prototype[e];var n=false;if(J.IsCallable(r)){var o=t(r,"",' " ');var i=S([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){Q(String.prototype,e,Rr[e])}});var Fr=function(){if(!B.symbol(D.iterator)){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e(D())!=="undefined"){return true}if(e([D()])!=="[null]"){return true}var t={a:D()};t[D()]=true;if(e(t)!=="{}"){return true}return false}();var Dr=i(function(){if(!B.symbol(D.iterator)){return true}return JSON.stringify(Object(D()))==="{}"&&JSON.stringify([Object(D())])==="[{}]"});if(Fr||!Dr){var zr=JSON.stringify;Q(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=J.IsCallable(n)?n:null;var a=function(e,r){var o=n?t(n,this,e,r):r;if(typeof o!=="symbol"){if(B.symbol(o)){return Xe({})(o)}else{return o}}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return zr.apply(this,o)})}return m}); +(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=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var o=function(e){try{e();return false}catch(t){return true}};var i=function valueOrFalseIfThrows(e){try{return e()}catch(t){return false}};var a=n(o);var u=function(){return!o(function(){Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&u();var f=function foo(){}.name==="foo";var c=Function.call.bind(Array.prototype.forEach);var l=Function.call.bind(Array.prototype.reduce);var p=Function.call.bind(Array.prototype.filter);var v=Function.call.bind(Array.prototype.some);var y=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 h=function(e,t){c(Object.keys(t),function(r){var n=t[r];y(e,r,n,false)})};var g=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var n=new r;if(typeof t!=="undefined"){Object.keys(t).forEach(function(e){U.defineByDescriptor(n,e,t[e])})}return n};var b=function(e,t){if(!Object.setPrototypeOf){return false}return i(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=g(e.prototype,{constructor:{value:r}});return t(r)})};var d=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 m=d();var O=m.isFinite;var w=Function.call.bind(String.prototype.indexOf);var j=Function.call.bind(Object.prototype.toString);var S=Function.call.bind(Array.prototype.concat);var T=Function.call.bind(String.prototype.slice);var I=Function.call.bind(Array.prototype.push);var E=Function.apply.bind(Array.prototype.push);var M=Function.call.bind(Array.prototype.shift);var P=Math.max;var x=Math.min;var N=Math.floor;var C=Math.abs;var A=Math.log;var k=Math.sqrt;var _=Function.call.bind(Object.prototype.hasOwnProperty);var R;var F=function(){};var D=m.Symbol||{};var z=D.species||"@@species";var L=Number.isNaN||function isNaN(e){return e!==e};var q=Number.isFinite||function isFinite(e){return typeof e==="number"&&O(e)};var G=function isArguments(e){return j(e)==="[object Arguments]"};var W=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&j(e)!=="[object Array]"&&j(e.callee)==="[object Function]"};var H=G(arguments)?G:W;var $={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 j(e)==="[object String]"},regex:function(e){return j(e)==="[object RegExp]"},symbol:function(e){return typeof m.Symbol==="function"&&typeof e==="symbol"}};var B=$.symbol(D.iterator)?D.iterator:"_es6-shim iterator_";if(m.Set&&typeof(new m.Set)["@@iterator"]==="function"){B="@@iterator"}if(!m.Reflect){y(m,"Reflect",{})}var V=m.Reflect;var J={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!J.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)}},TypeIsObject:function(e){return e!=null&&Object(e)===e},ToObject:function(e,t){J.RequireObjectCoercible(e,t);return Object(e)},IsCallable:function(e){return typeof e==="function"&&j(e)==="[object Function]"},IsConstructor:function(e){return J.IsCallable(e)},ToInt32:function(e){return J.ToNumber(e)>>0},ToUint32:function(e){return J.ToNumber(e)>>>0},ToNumber:function(e){if(j(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=J.ToNumber(e);if(L(t)){return 0}if(t===0||!q(t)){return t}return(t>0?1:-1)*N(C(t))},ToLength:function(e){var t=J.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 L(e)&&L(t)},SameValueZero:function(e,t){return e===t||L(e)&&L(t)},IsIterable:function(e){return J.TypeIsObject(e)&&(typeof e[B]!=="undefined"||H(e))},GetIterator:function(e){if(H(e)){return new R(e,"value")}var r=J.GetMethod(e,B);if(!J.IsCallable(r)){throw new TypeError("value is not an iterable")}var n=t(r,e);if(!J.TypeIsObject(n)){throw new TypeError("bad iterator")}return n},GetMethod:function(e,t){var r=J.ToObject(e)[t];if(r===void 0||r===null){return void 0}if(!J.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,r){var n=J.GetMethod(e,"return");if(n===void 0){return}var o,i;try{o=t(n,e)}catch(a){i=a}if(r){return}if(i){throw i}if(!J.TypeIsObject(o)){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(!J.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=J.IteratorNext(e);var r=J.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n){return V.construct(e,t,o)}var i=o.prototype;if(!J.TypeIsObject(i)){i=Object.prototype}var a=g(i);var u=J.Call(e,a,t);return J.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!J.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[z];if(n===void 0||n===null){return t}if(!J.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},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 U={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&&J.IsCallable(t.toString)){y(e,"toString",t.toString.bind(t),true)}}};var K=function wrapConstructor(e,t,r){U.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){c(Object.getOwnPropertyNames(e),function(n){if(n in F||r[n]){return}U.proxy(e,n,t)})}else{c(Object.keys(e),function(n){if(n in F||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;U.redefine(e.prototype,"constructor",t)};var X=function(){return this};var Z=function(e){if(s&&!_(e,z)){U.getter(e,z,X)}};var Q=function overrideNative(e,t,r){var n=e[t];y(e,t,r,true);U.preserveToString(e[t],n)};var Y=function(e,t){var r=t||function iterator(){return this};y(e,B,r);if(!e[B]&&$.symbol(B)){e[B]=r}};var ee=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var te=function createDataPropertyOrThrow(e,t,r){ee(e,t,r);if(!J.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var re=function(e,t,r,n){if(!J.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!J.TypeIsObject(o)){o=r}var i=g(o);for(var a in n){if(_(n,a)){var u=n[a];y(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var ne=String.fromCodePoint;Q(String,"fromCodePoint",function fromCodePoint(t){return e(ne,this,arguments)})}var oe={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){I(t,String.fromCharCode(r))}else{r-=65536;I(t,String.fromCharCode((r>>10)+55296));I(t,String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function raw(e){var t=J.ToObject(e,"bad callSite");var r=J.ToObject(t.raw,"bad raw value");var n=r.length;var o=J.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,s,f,c;while(a=o){break}s=a+1=ae){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return ie(t,r)},startsWith:function startsWith(e){J.RequireObjectCoercible(this);var t=String(this);if($.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=P(J.ToInteger(n),0);return T(t,o,o+r.length)===r},endsWith:function endsWith(e){J.RequireObjectCoercible(this);var t=String(this);if($.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:J.ToInteger(o);var a=x(P(i,0),n);return T(t,a-r.length,a)===r},includes:function includes(e){if($.regex(e)){throw new TypeError('"includes" does not accept a RegExp')}var t;if(arguments.length>1){t=arguments[1]}return w(this,e,t)!==-1},codePointAt:function codePointAt(e){J.RequireObjectCoercible(this);var t=String(this);var r=J.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){Q(String.prototype,"includes",ue.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var se=o(function(){"/a/".startsWith(/a/)});var fe="abc".startsWith("a",Infinity)===false;if(!se||!fe){Q(String.prototype,"startsWith",ue.startsWith);Q(String.prototype,"endsWith",ue.endsWith)}}h(String.prototype,ue);var ce=[" \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 le=new RegExp("(^["+ce+"]+)|(["+ce+"]+$)","g");var pe=function trim(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return String(this).replace(le,"")};var ve=["\x85","\u200b","\ufffe"].join("");var ye=new RegExp("["+ve+"]","g");var he=/^[\-+]0x[0-9a-f]+$/i;var ge=ve.trim().length!==ve.length;y(String.prototype,"trim",pe,ge);var be=function(e){J.RequireObjectCoercible(e);this._s=String(e);this._i=0};be.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}};Y(be.prototype);Y(String.prototype,function(){return new be(this)});var de={from:function from(e){var r=this;var n=arguments.length>1?arguments[1]:void 0;var o,i;if(n===void 0){o=false}else{if(!J.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}i=arguments.length>2?arguments[2]:void 0;o=true}var a=typeof(H(e)||J.GetMethod(e,B))!=="undefined";var u,s,f;if(a){s=J.IsConstructor(r)?Object(new r):[];var c=J.GetIterator(e);var l,p;f=0;while(true){l=J.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=i===undefined?n(p,f):t(n,i,p,f)}s[f]=p}catch(v){J.IteratorClose(c,true);throw v}f+=1}u=f}else{var y=J.ToObject(e);u=J.ToLength(y.length);s=J.IsConstructor(r)?Object(new r(u)):new Array(u);var h;for(f=0;f0){e=M(t);if(!(e in this.object)){continue}if(this.kind==="key"){return me(e)}else if(this.kind==="value"){return me(this.object[e])}else{return me([e,this.object[e]])}}return me()}});Y(we.prototype);var je=Array.of===de.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(!je){Q(Array,"of",de.of)}var Se={copyWithin:function copyWithin(e,t){var r=arguments[2];var n=J.ToObject(this);var o=J.ToLength(n.length);var i=J.ToInteger(e);var a=J.ToInteger(t);var u=i<0?P(o+i,0):x(i,o);var s=a<0?P(o+a,0):x(a,o);r=typeof r==="undefined"?o:J.ToInteger(r);var f=r<0?P(o+r,0):x(r,o);var c=x(f-s,o-u);var l=1;if(s0){if(_(n,s)){n[u]=n[s]}else{delete n[s]}s+=l;u+=l;c-=1}return n},fill:function fill(e){var t=arguments.length>1?arguments[1]:void 0;var r=arguments.length>2?arguments[2]:void 0;var n=J.ToObject(this);var o=J.ToLength(n.length);t=J.ToInteger(typeof t==="undefined"?0:t);r=J.ToInteger(typeof r==="undefined"?o:r);var i=t<0?P(o+t,0):x(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;i0&&typeof arguments[1]!=="undefined"){return e(Pe,this,arguments)}else{return t(Pe,this,r)}})}var xe=function(e,r){var n={length:-1};n[r?(-1>>>0)-1:0]=true;return i(function(){t(e,n,function(){throw new RangeError("should not reach here")},[])})};if(!xe(Array.prototype.forEach)){var Ne=Array.prototype.forEach;Q(Array.prototype,"forEach",function forEach(t){return e(Ne,this.length>=0?this:[],arguments)},true)}if(!xe(Array.prototype.map)){var Ce=Array.prototype.map;Q(Array.prototype,"map",function map(t){return e(Ce,this.length>=0?this:[],arguments)},true)}if(!xe(Array.prototype.filter)){var Ae=Array.prototype.filter;Q(Array.prototype,"filter",function filter(t){return e(Ae,this.length>=0?this:[],arguments)},true)}if(!xe(Array.prototype.some)){var ke=Array.prototype.some;Q(Array.prototype,"some",function some(t){return e(ke,this.length>=0?this:[],arguments)},true)}if(!xe(Array.prototype.every)){var _e=Array.prototype.every;Q(Array.prototype,"every",function every(t){return e(_e,this.length>=0?this:[],arguments)},true)}if(!xe(Array.prototype.reduce)){var Re=Array.prototype.reduce;Q(Array.prototype,"reduce",function reduce(t){return e(Re,this.length>=0?this:[],arguments)},true)}if(!xe(Array.prototype.reduceRight,true)){var Fe=Array.prototype.reduceRight;Q(Array.prototype,"reduceRight",function reduceRight(t){return e(Fe,this.length>=0?this:[],arguments)},true)}var De=Number("0o10")!==8;var ze=Number("0b10")!==2;var Le=v(ve,function(e){return Number(e+0+e)===0});if(De||ze||Le){var qe=Number;var Ge=/^0b[01]+$/i;var We=/^0o[0-7]+$/i;var He=Ge.test.bind(Ge);var $e=We.test.bind(We);var Be=function(e){var t;if(typeof e.valueOf==="function"){t=e.valueOf();if($.primitive(t)){return t}}if(typeof e.toString==="function"){t=e.toString();if($.primitive(t)){return t}}throw new TypeError("No default value")};var Ve=ye.test.bind(ye);var Je=he.test.bind(he);var Ue=function(){var e=function Number(r){var n=$.primitive(r)?r:Be(r,"number");if(typeof n==="string"){if(He(n)){n=parseInt(T(n,2),2)}else if($e(n)){n=parseInt(T(n,2),8)}else if(Ve(n)||Je(n)){n=NaN}else{n=t(pe,n)}}var o=this;var a=i(function(){qe.prototype.valueOf.call(o);return true});if(o instanceof e&&!a){return new qe(n)}return qe(n)};return e}();K(qe,Ue,{});Number=Ue;U.redefine(m,"Number",Ue)}var Ke=Math.pow(2,53)-1;h(Number,{MAX_SAFE_INTEGER:Ke,MIN_SAFE_INTEGER:-Ke,EPSILON:2.220446049250313e-16,parseInt:m.parseInt,parseFloat:m.parseFloat,isFinite:q,isInteger:function isInteger(e){return q(e)&&J.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&C(e)<=Number.MAX_SAFE_INTEGER},isNaN:L});y(Number,"parseInt",m.parseInt,Number.parseInt!==m.parseInt);if(![,1].find(function(e,t){return t===0})){Q(Array.prototype,"find",Se.find)}if([,1].findIndex(function(e,t){return t===0})!==0){Q(Array.prototype,"findIndex",Se.findIndex)}var Xe=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var Ze=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*A((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(A(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var r=Number(e);var n=J.ToUint32(r);if(n===0){return 32}return Rt?t(Rt,n):31-N(A(n+.5)*Math.LOG2E)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(Number.isNaN(t)){return NaN}if(!O(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(!O(t)||t===0){return t}if(C(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*k(r)},log2:function log2(e){return A(e)*Math.LOG2E},log10:function log10(e){return A(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*(A(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(!O(t)||t===0){return t}if(C(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?-N(-t):N(t)},imul:function imul(e,t){var r=J.ToUint32(e);var n=J.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||L(t)){return t}var r=Math.sign(t);var n=C(t);if(n<_t){return r*Ct(n/_t/At)*_t*At}var o=(1+At/Number.EPSILON)*n;var i=o-(o-n);if(i>kt||L(i)){return r*Infinity}return r*i}};h(Math,Ft);y(Math,"log1p",Ft.log1p,Math.log1p(-1e-17)!==-1e-17);y(Math,"asinh",Ft.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));y(Math,"tanh",Ft.tanh,Math.tanh(-2e-17)!==-2e-17);y(Math,"acosh",Ft.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);y(Math,"cbrt",Ft.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8);y(Math,"sinh",Ft.sinh,Math.sinh(-2e-17)!==-2e-17);var Dt=Math.expm1(10);y(Math,"expm1",Ft.expm1,Dt>22025.465794806718||Dt<22025.465794806718);var zt=Math.round;var Lt=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var qt=Nt+1;var Gt=2*Nt-1;var Wt=[qt,Gt].every(function(e){return Math.round(e)===e});y(Math,"round",function round(e){var t=N(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!Lt||!Wt);U.preserveToString(Math.round,zt);var Ht=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=Ft.imul;U.preserveToString(Math.imul,Ht)}if(Math.imul.length!==2){Q(Math,"imul",function imul(t,r){return e(Ht,Math,arguments)})}var $t=function(){var e=m.setTimeout;if(typeof e!=="function"&&typeof e!=="object"){return}J.IsPromise=function(e){if(!J.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!J.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.promise=new e(r);if(!(J.IsCallable(t.resolve)&&J.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&J.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){I(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=M(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=m.Promise;return e&&e.resolve&&function(t){return e.resolve().then(t)}};var i=J.IsCallable(m.setImmediate)?m.setImmediate.bind(m):typeof process==="object"&&process.nextTick?process.nextTick:o()||(J.IsCallable(n)?n():function(t){e(t,0)});var a=1;var u=2;var s=3;var f=4;var l=5;var p=function(e,t){var r=e.capabilities;var n=e.handler;var o,i=false,s;if(n===a){o=t}else if(n===u){o=t;i=true}else{try{o=n(t)}catch(f){o=f;i=true}}s=i?r.reject:r.resolve;s(o)};var v=function(e,t){c(e,function(e){i(function(){p(e,t)})})};var y=function(e,t){var r=e._promise;var n=r.fulfillReactions;r.result=t;r.fulfillReactions=void 0;r.rejectReactions=void 0;r.state=f;v(n,t)};var g=function(e,t){var r=e._promise;var n=r.rejectReactions;r.result=t;r.fulfillReactions=void 0;r.rejectReactions=void 0;r.state=l;v(n,t)};var b=function(e){var t=false;var r=function(r){var n;if(t){return}t=true;if(r===e){return g(e,new TypeError("Self resolution"))}if(!J.TypeIsObject(r)){return y(e,r)}try{n=r.then}catch(o){return g(e,o)}if(!J.IsCallable(n)){return y(e,r)}i(function(){d(e,r,n)})};var n=function(r){if(t){return}t=true;return g(e,r)};return{resolve:r,reject:n}};var d=function(e,r,n){var o=b(e);var i=o.resolve;var a=o.reject;try{t(n,r,i,a)}catch(u){a(u)}};var O=function(e){if(!J.TypeIsObject(e)){throw new TypeError("Promise is not object")}var t=e[z];if(t!==void 0&&t!==null){return t}return e};var w;var j=function(){var e=function Promise(t){if(!(this instanceof e)){throw new TypeError('Constructor Promise requires "new"')}if(this&&this._promise){throw new TypeError("Bad construction")}if(!J.IsCallable(t)){throw new TypeError("not a valid resolver")}var r=re(this,e,w,{_promise:{result:void 0,state:s,fulfillReactions:[],rejectReactions:[]}});var n=b(r);var o=n.reject;try{t(n.resolve,o)}catch(i){o(i)}return r};return e}();w=j.prototype;var S=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)}}};var T=function(e,t,r){var n=e.iterator;var o=[],i={count:1},a,u;var s=0;while(true){try{a=J.IteratorStep(n);if(a===false){e.done=true;break}u=a.value}catch(f){e.done=true;throw f}o[s]=void 0;var c=t.resolve(u);var l=S(s,o,r,i);i.count+=1;c.then(l,r.reject);s+=1}if(--i.count===0){var p=r.resolve;p(o)}return r.promise};var E=function(e,t,r){var n=e.iterator,o,i,a;while(true){try{o=J.IteratorStep(n);if(o===false){e.done=true;break}i=o.value}catch(u){e.done=true;throw u}a=t.resolve(i);a.then(r.resolve,r.reject)}return r.promise};h(j,{all:function all(e){var t=O(this);var n=new r(t);var o,i;try{o=J.GetIterator(e);i={iterator:o,done:false};return T(i,t,n)}catch(a){var u=a;if(i&&!i.done){try{J.IteratorClose(o,true)}catch(s){u=s}}var f=n.reject;f(u);return n.promise}},race:function race(e){var t=O(this);var n=new r(t);var o,i;try{o=J.GetIterator(e);i={iterator:o,done:false};return E(i,t,n)}catch(a){var u=a;if(i&&!i.done){try{J.IteratorClose(o,true)}catch(s){u=s}}var f=n.reject;f(u);return n.promise}},reject:function reject(e){var t=this;var n=new r(t);var o=n.reject; +o(e);return n.promise},resolve:function resolve(e){var t=this;if(J.IsPromise(e)){var n=e.constructor;if(n===t){return e}}var o=new r(t);var i=o.resolve;i(e);return o.promise}});h(w,{"catch":function(e){return this.then(void 0,e)},then:function then(e,t){var n=this;if(!J.IsPromise(n)){throw new TypeError("not a promise")}var o=J.SpeciesConstructor(n,j);var c=new r(o);var v={capabilities:c,handler:J.IsCallable(e)?e:a};var y={capabilities:c,handler:J.IsCallable(t)?t:u};var h=n._promise;var g;if(h.state===s){I(h.fulfillReactions,v);I(h.rejectReactions,y)}else if(h.state===f){g=h.result;i(function(){p(v,g)})}else if(h.state===l){g=h.result;i(function(){p(y,g)})}else{throw new TypeError("unexpected Promise state")}return c.promise}});return j}();if(m.Promise){delete m.Promise.accept;delete m.Promise.defer;delete m.Promise.prototype.chain}if(typeof $t==="function"){h(m,{Promise:$t});var Bt=b(m.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var Vt=!o(function(){m.Promise.reject(42).then(null,5).then(null,F)});var Jt=o(function(){m.Promise.call(3,F)});var Ut=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);return t===r}(m.Promise);if(!Bt||!Vt||!Jt||Ut){Promise=$t;Q(m,"Promise",$t)}Z(Promise)}var Kt=function(e){var t=Object.keys(l(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Xt=Kt(["z","a","bb"]);var Zt=Kt(["z",1,"a","3",2]);if(s){var Qt=function fastkey(e){if(!Xt){return null}var t=typeof e;if(t==="undefined"||e===null){return"^"+String(e)}else if(t==="string"){return"$"+e}else if(t==="number"){if(!Zt){return"n"+e}return e}else if(t==="boolean"){return"b"+e}return null};var Yt=function emptyObject(){return Object.create?Object.create(null):{}};var er=function addIterableToMap(e,n,o){if(r(o)||$.string(o)){c(o,function(e){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(!J.IsCallable(a)){throw new TypeError("bad map")}i=J.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=J.IteratorStep(i);if(u===false){break}var s=u.value;try{if(!J.TypeIsObject(s)){throw new TypeError("expected iterable of pairs")}t(a,n,s[0],s[1])}catch(f){J.IteratorClose(i,true);throw f}}}}};var tr=function addIterableToSet(e,n,o){if(r(o)||$.string(o)){c(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(!J.IsCallable(a)){throw new TypeError("bad set")}i=J.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=J.IteratorStep(i);if(u===false){break}var s=u.value;try{t(a,n,s)}catch(f){J.IteratorClose(i,true);throw f}}}}};var rr={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(!J.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+String(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}}};Y(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=re(this,Map,a,{_es6map:true,_head:null,_storage:Yt(),_size:0});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){er(Map,e,arguments[0])}return e};a=u.prototype;U.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});h(a,{get:function get(e){o(this,"get");var t=Qt(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(J.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=Qt(e);if(t!==null){return typeof this._storage[t]!=="undefined"}var r=this._head,n=r;while((n=n.next)!==r){if(J.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=Qt(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(J.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(J.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=Qt(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(J.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=Yt();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)}}}});Y(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(!J.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+String(t))}};var n;var o=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=re(this,Set,n,{_es6set:true,"[[SetData]]":null,_storage:Yt()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){tr(Set,e,arguments[0])}return e};n=o.prototype;var i=function ensureMap(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new rr.Map;c(Object.keys(e._storage),function(e){var r=e;if(r==="^null"){r=null}else if(r==="^undefined"){r=void 0}else{var n=r.charAt(0);if(n==="$"){r=T(r,1)}else if(n==="n"){r=+T(r,1)}else if(n==="b"){r=r==="btrue"}else{r=+r}}t.set(r,r)});e._storage=null}};U.getter(o.prototype,"size",function(){r(this,"size");i(this);return this["[[SetData]]"].size});h(o.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=Qt(e))!==null){return!!this._storage[t]}i(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=Qt(e))!==null){this._storage[t]=true;return this}i(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=Qt(e))!==null){var n=_(this._storage,t);return delete this._storage[t]&&n}i(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=Yt()}else{this["[[SetData]]"].clear()}},values:function values(){r(this,"values");i(this);return this["[[SetData]]"].values()},entries:function entries(){r(this,"entries");i(this);return this["[[SetData]]"].entries()},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;i(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});y(o.prototype,"keys",o.prototype.values,true);Y(o.prototype,o.prototype.values);return o}()};if(m.Map||m.Set){var nr=i(function(){return new Map([[1,2]]).get(1)===2});if(!nr){var or=m.Map;m.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new or;if(arguments.length>0){er(Map,e,arguments[0])}Object.setPrototypeOf(e,m.Map.prototype);y(e,"constructor",Map,true);return e};m.Map.prototype=g(or.prototype);U.preserveToString(m.Map,or)}var ir=new Map;var ar=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}(ir);var ur=ir.set(1,2)===ir;if(!ar||!ur){var sr=Map.prototype.set;Q(Map.prototype,"set",function set(e,r){t(sr,this,e===0?0:e,r);return this})}if(!ar){var fr=Map.prototype.get;var cr=Map.prototype.has;h(Map.prototype,{get:function get(e){return t(fr,this,e===0?0:e)},has:function has(e){return t(cr,this,e===0?0:e)}},true);U.preserveToString(Map.prototype.get,fr);U.preserveToString(Map.prototype.has,cr)}var lr=new Set;var pr=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(lr);var vr=lr.add(1)===lr;if(!pr||!vr){var yr=Set.prototype.add;Set.prototype.add=function add(e){t(yr,this,e===0?0:e);return this};U.preserveToString(Set.prototype.add,yr)}if(!pr){var hr=Set.prototype.has;Set.prototype.has=function has(e){return t(hr,this,e===0?0:e)};U.preserveToString(Set.prototype.has,hr);var gr=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(gr,this,e===0?0:e)};U.preserveToString(Set.prototype["delete"],gr)}var br=b(m.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var dr=Object.setPrototypeOf&&!br;var mr=function(){try{return!(m.Map()instanceof m.Map)}catch(e){return e instanceof TypeError}}();if(m.Map.length!==0||dr||!mr){var Or=m.Map;m.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new Or;if(arguments.length>0){er(Map,e,arguments[0])}Object.setPrototypeOf(e,Map.prototype);y(e,"constructor",Map,true);return e};m.Map.prototype=Or.prototype;U.preserveToString(m.Map,Or)}var wr=b(m.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var jr=Object.setPrototypeOf&&!wr;var Sr=function(){try{return!(m.Set()instanceof m.Set)}catch(e){return e instanceof TypeError}}();if(m.Set.length!==0||jr||!Sr){var Tr=m.Set;m.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new Tr;if(arguments.length>0){tr(Set,e,arguments[0])}Object.setPrototypeOf(e,Set.prototype);y(e,"constructor",Set,true);return e};m.Set.prototype=Tr.prototype;U.preserveToString(m.Set,Tr)}var Ir=!i(function(){return(new Map).keys().next().done});if(typeof m.Map.prototype.clear!=="function"||(new m.Set).size!==0||(new m.Map).size!==0||typeof m.Map.prototype.keys!=="function"||typeof m.Set.prototype.keys!=="function"||typeof m.Map.prototype.forEach!=="function"||typeof m.Set.prototype.forEach!=="function"||a(m.Map)||a(m.Set)||typeof(new m.Map).keys().next!=="function"||Ir||!br){delete m.Map;delete m.Set;h(m,{Map:rr.Map,Set:rr.Set},true)}if(m.Set.prototype.keys!==m.Set.prototype.values){y(m.Set.prototype,"keys",m.Set.prototype.values,true)}Y(Object.getPrototypeOf((new m.Map).keys()));Y(Object.getPrototypeOf((new m.Set).keys()));if(f&&m.Set.prototype.has.name!=="has"){var Er=m.Set.prototype.has;Q(m.Set.prototype,"has",function has(e){return t(Er,this,e)})}}h(m,rr);Z(m.Map);Z(m.Set)}var Mr=function throwUnlessTargetIsObject(e){if(!J.TypeIsObject(e)){throw new TypeError("target must be an object")}};var Pr={apply:function apply(){return e(J.Call,null,arguments)},construct:function construct(e,t){if(!J.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length<3?e:arguments[2];if(!J.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return J.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){Mr(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},enumerate:function enumerate(e){Mr(e);return new we(e,"key")},has:function has(e,t){Mr(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(Pr,{ownKeys:function ownKeys(e){Mr(e);var t=Object.getOwnPropertyNames(e);if(J.IsCallable(Object.getOwnPropertySymbols)){E(t,Object.getOwnPropertySymbols(e))}return t}})}var xr=function ConvertExceptionToBoolean(e){return!o(e)};if(Object.preventExtensions){Object.assign(Pr,{isExtensible:function isExtensible(e){Mr(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){Mr(e);return xr(function(){Object.preventExtensions(e)})}})}if(s){var Nr=function get(e,r,n){var o=Object.getOwnPropertyDescriptor(e,r);if(!o){var i=Object.getPrototypeOf(e);if(i===null){return undefined}return Nr(i,r,n)}if("value"in o){return o.value}if(o.get){return t(o.get,n)}return undefined};var Cr=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return Cr(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!J.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return V.defineProperty(o,r,{value:n})}else{return V.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(Pr,{defineProperty:function defineProperty(e,t,r){Mr(e);return xr(function(){Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){Mr(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){Mr(e);var r=arguments.length>2?arguments[2]:e;return Nr(e,t,r)},set:function set(e,t,r){Mr(e);var n=arguments.length>3?arguments[3]:e;return Cr(e,t,r,n)}})}if(Object.getPrototypeOf){var Ar=Object.getPrototypeOf;Pr.getPrototypeOf=function getPrototypeOf(e){Mr(e);return Ar(e)}}if(Object.setPrototypeOf&&Pr.getPrototypeOf){var kr=function(e,t){var r=t;while(r){if(e===r){return true}r=Pr.getPrototypeOf(r)}return false};Object.assign(Pr,{setPrototypeOf:function setPrototypeOf(e,t){Mr(e);if(t!==null&&!J.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===V.getPrototypeOf(e)){return true}if(V.isExtensible&&!V.isExtensible(e)){return false}if(kr(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var _r=function(e,t){if(!J.IsCallable(m.Reflect[e])){y(m.Reflect,e,t)}else{var r=i(function(){m.Reflect[e](1);m.Reflect[e](NaN);m.Reflect[e](true);return true});if(r){Q(m.Reflect,e,t)}}};Object.keys(Pr).forEach(function(e){_r(e,Pr[e])});if(f&&m.Reflect.getPrototypeOf.name!=="getPrototypeOf"){var Rr=m.Reflect.getPrototypeOf;Q(m.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(Rr,m.Reflect,e)})}if(m.Reflect.setPrototypeOf){if(i(function(){m.Reflect.setPrototypeOf(1,{});return true})){Q(m.Reflect,"setPrototypeOf",Pr.setPrototypeOf)}}if(m.Reflect.defineProperty){if(!i(function(){var e=!m.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!m.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){Q(m.Reflect,"defineProperty",Pr.defineProperty)}}if(m.Reflect.construct){if(!i(function(){var e=function F(){};return m.Reflect.construct(function(){},[],e)instanceof e})){Q(m.Reflect,"construct",Pr.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var Fr=Date.prototype.toString;var Dr=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return t(Fr,this)};Q(Date.prototype,"toString",Dr)}var zr={anchor:function anchor(e){return J.CreateHTML(this,"a","name",e)},big:function big(){return J.CreateHTML(this,"big","","")},blink:function blink(){return J.CreateHTML(this,"blink","","")},bold:function bold(){return J.CreateHTML(this,"b","","")},fixed:function fixed(){return J.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return J.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return J.CreateHTML(this,"font","size",e)},italics:function italics(){return J.CreateHTML(this,"i","","")},link:function link(e){return J.CreateHTML(this,"a","href",e)},small:function small(){return J.CreateHTML(this,"small","","")},strike:function strike(){return J.CreateHTML(this,"strike","","")},sub:function sub(){return J.CreateHTML(this,"sub","","")},sup:function sub(){return J.CreateHTML(this,"sup","","")}};c(Object.keys(zr),function(e){var r=String.prototype[e];var n=false;if(J.IsCallable(r)){var o=t(r,"",' " ');var i=S([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){Q(String.prototype,e,zr[e])}});var Lr=function(){if(!$.symbol(D.iterator)){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e(D())!=="undefined"){return true}if(e([D()])!=="[null]"){return true}var t={a:D()};t[D()]=true;if(e(t)!=="{}"){return true}return false}();var qr=i(function(){if(!$.symbol(D.iterator)){return true}return JSON.stringify(Object(D()))==="{}"&&JSON.stringify([Object(D())])==="[{}]"});if(Lr||!qr){var Gr=JSON.stringify;Q(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=J.IsCallable(n)?n:null;var a=function(e,r){var o=n?t(n,this,e,r):r;if(typeof o!=="symbol"){if($.symbol(o)){return Qe({})(o)}else{return o}}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return Gr.apply(this,o)})}return m}); //# sourceMappingURL=es6-shim.map diff --git a/package.json b/package.json index da21701e..fa91959f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.33.10", + "version": "0.33.11", "author": "Paul Miller (http://paulmillr.com)", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [