mirror of
https://github.com/mdbootstrap/mdb-ui-kit.git
synced 2024-11-28 20:44:18 +03:00
1 line
624 KiB
Plaintext
1 line
624 KiB
Plaintext
{"version":3,"sources":["webpack://mdb/webpack/universalModuleDefinition","webpack://mdb/webpack/bootstrap","webpack://mdb/./node_modules/core-js/internals/fails.js","webpack://mdb/./node_modules/core-js/internals/export.js","webpack://mdb/./node_modules/core-js/internals/well-known-symbol.js","webpack://mdb/./node_modules/core-js/modules/es.array.for-each.js","webpack://mdb/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://mdb/./node_modules/core-js/modules/es.object.to-string.js","webpack://mdb/./node_modules/core-js/internals/global.js","webpack://mdb/./node_modules/core-js/modules/es.symbol.js","webpack://mdb/./node_modules/core-js/modules/es.object.keys.js","webpack://mdb/./node_modules/core-js/internals/descriptors.js","webpack://mdb/./node_modules/core-js/internals/is-object.js","webpack://mdb/./node_modules/core-js/internals/has.js","webpack://mdb/./node_modules/core-js/internals/an-object.js","webpack://mdb/./node_modules/core-js/modules/es.regexp.exec.js","webpack://mdb/./node_modules/core-js/modules/es.array.iterator.js","webpack://mdb/./node_modules/core-js/modules/es.string.iterator.js","webpack://mdb/./node_modules/core-js/modules/es.array.filter.js","webpack://mdb/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://mdb/./node_modules/core-js/modules/es.symbol.description.js","webpack://mdb/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://mdb/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://mdb/./node_modules/core-js/internals/object-define-property.js","webpack://mdb/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://mdb/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://mdb/./node_modules/core-js/modules/es.array.concat.js","webpack://mdb/./node_modules/core-js/internals/to-indexed-object.js","webpack://mdb/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://mdb/./node_modules/core-js/modules/es.array.find.js","webpack://mdb/./node_modules/core-js/internals/to-object.js","webpack://mdb/./node_modules/core-js/internals/redefine.js","webpack://mdb/./node_modules/core-js/internals/to-length.js","webpack://mdb/./node_modules/core-js/modules/es.array.from.js","webpack://mdb/./node_modules/core-js/modules/es.array.slice.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://mdb/./node_modules/core-js/internals/require-object-coercible.js","webpack://mdb/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://mdb/./node_modules/core-js/modules/es.function.name.js","webpack://mdb/./node_modules/core-js/internals/classof-raw.js","webpack://mdb/./node_modules/core-js/internals/get-built-in.js","webpack://mdb/./node_modules/core-js/internals/array-method-uses-to-length.js","webpack://mdb/./node_modules/core-js/modules/es.string.match.js","webpack://mdb/./node_modules/core-js/modules/es.string.split.js","webpack://mdb/./node_modules/core-js/modules/es.array.index-of.js","webpack://mdb/./node_modules/core-js/modules/es.string.replace.js","webpack://mdb/./node_modules/popper.js/dist/esm/popper.js","webpack://mdb/./node_modules/core-js/internals/create-property-descriptor.js","webpack://mdb/./node_modules/core-js/internals/to-primitive.js","webpack://mdb/./node_modules/core-js/internals/internal-state.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://mdb/./node_modules/core-js/internals/array-iteration.js","webpack://mdb/./node_modules/core-js/internals/object-create.js","webpack://mdb/./node_modules/core-js/internals/iterators.js","webpack://mdb/./node_modules/core-js/modules/es.array.map.js","webpack://mdb/./node_modules/core-js/internals/indexed-object.js","webpack://mdb/./node_modules/core-js/internals/shared-key.js","webpack://mdb/./node_modules/core-js/internals/is-pure.js","webpack://mdb/./node_modules/core-js/internals/hidden-keys.js","webpack://mdb/./node_modules/core-js/internals/to-integer.js","webpack://mdb/./node_modules/core-js/internals/is-array.js","webpack://mdb/./node_modules/core-js/internals/create-property.js","webpack://mdb/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://mdb/./node_modules/core-js/internals/a-function.js","webpack://mdb/./node_modules/core-js/internals/object-keys.js","webpack://mdb/./node_modules/core-js/internals/regexp-exec.js","webpack://mdb/./node_modules/core-js/modules/es.string.trim.js","webpack://mdb/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://mdb/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://mdb/./node_modules/core-js/internals/set-global.js","webpack://mdb/./node_modules/core-js/internals/shared.js","webpack://mdb/./node_modules/core-js/internals/uid.js","webpack://mdb/./node_modules/core-js/internals/enum-bug-keys.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://mdb/./node_modules/core-js/internals/is-forced.js","webpack://mdb/./node_modules/core-js/internals/native-symbol.js","webpack://mdb/./node_modules/core-js/internals/array-method-is-strict.js","webpack://mdb/./node_modules/core-js/internals/to-string-tag-support.js","webpack://mdb/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://mdb/./node_modules/core-js/internals/regexp-flags.js","webpack://mdb/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://mdb/./node_modules/core-js/internals/advance-string-index.js","webpack://mdb/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://mdb/./node_modules/core-js/internals/set-to-string-tag.js","webpack://mdb/./node_modules/core-js/modules/es.number.constructor.js","webpack://mdb/(webpack)/buildin/global.js","webpack://mdb/./node_modules/core-js/internals/ie8-dom-define.js","webpack://mdb/./node_modules/core-js/internals/document-create-element.js","webpack://mdb/./node_modules/core-js/internals/inspect-source.js","webpack://mdb/./node_modules/core-js/internals/shared-store.js","webpack://mdb/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://mdb/./node_modules/core-js/internals/own-keys.js","webpack://mdb/./node_modules/core-js/internals/path.js","webpack://mdb/./node_modules/core-js/internals/object-keys-internal.js","webpack://mdb/./node_modules/core-js/internals/array-includes.js","webpack://mdb/./node_modules/core-js/internals/to-absolute-index.js","webpack://mdb/./node_modules/core-js/internals/array-species-create.js","webpack://mdb/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://mdb/./node_modules/core-js/internals/engine-v8-version.js","webpack://mdb/./node_modules/core-js/internals/array-for-each.js","webpack://mdb/./node_modules/core-js/internals/function-bind-context.js","webpack://mdb/./node_modules/core-js/internals/classof.js","webpack://mdb/./node_modules/core-js/internals/inherit-if-required.js","webpack://mdb/./node_modules/core-js/internals/is-regexp.js","webpack://mdb/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://mdb/./node_modules/core-js/internals/string-multibyte.js","webpack://mdb/./node_modules/core-js/internals/string-trim.js","webpack://mdb/./node_modules/core-js/internals/whitespaces.js","webpack://mdb/./node_modules/core-js/internals/dom-iterables.js","webpack://mdb/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://mdb/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://mdb/./node_modules/core-js/internals/add-to-unscopables.js","webpack://mdb/./node_modules/core-js/internals/define-iterator.js","webpack://mdb/./node_modules/core-js/internals/iterators-core.js","webpack://mdb/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://mdb/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://mdb/./node_modules/core-js/modules/es.object.set-prototype-of.js","webpack://mdb/./node_modules/core-js/modules/es.reflect.construct.js","webpack://mdb/./node_modules/core-js/modules/es.array.join.js","webpack://mdb/./node_modules/core-js/internals/native-weak-map.js","webpack://mdb/./node_modules/core-js/internals/engine-user-agent.js","webpack://mdb/./node_modules/core-js/internals/object-to-string.js","webpack://mdb/./node_modules/core-js/internals/a-possible-prototype.js","webpack://mdb/./node_modules/core-js/internals/set-species.js","webpack://mdb/./node_modules/core-js/internals/species-constructor.js","webpack://mdb/./node_modules/core-js/internals/string-trim-forced.js","webpack://mdb/./node_modules/core-js/internals/object-define-properties.js","webpack://mdb/./node_modules/core-js/internals/html.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://mdb/./node_modules/core-js/internals/array-from.js","webpack://mdb/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://mdb/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://mdb/./node_modules/core-js/internals/get-iterator-method.js","webpack://mdb/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://mdb/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://mdb/./node_modules/core-js/internals/function-bind.js","webpack://mdb/./node_modules/core-js/modules/es.object.assign.js","webpack://mdb/./node_modules/core-js/internals/object-assign.js","webpack://mdb/./node_modules/detect-autofill/dist/detect-autofill.js","webpack://mdb/./node_modules/core-js/modules/es.reflect.get.js","webpack://mdb/./src/js/bootstrap/src/util/index.js","webpack://mdb/./src/js/bootstrap/src/dom/data.js","webpack://mdb/./src/js/bootstrap/src/dom/polyfill.js","webpack://mdb/./src/js/bootstrap/src/dom/event-handler.js","webpack://mdb/./src/js/bootstrap/src/alert.js","webpack://mdb/./src/js/bootstrap/src/button.js","webpack://mdb/./src/js/bootstrap/src/dom/manipulator.js","webpack://mdb/./src/js/bootstrap/src/dom/selector-engine.js","webpack://mdb/./src/js/bootstrap/src/carousel.js","webpack://mdb/./src/js/bootstrap/src/collapse.js","webpack://mdb/./src/js/bootstrap/src/modal.js","webpack://mdb/./src/js/bootstrap/src/util/sanitizer.js","webpack://mdb/./src/js/bootstrap/src/tooltip.js","webpack://mdb/./src/js/bootstrap/src/popover.js","webpack://mdb/./src/js/bootstrap/src/scrollspy.js","webpack://mdb/./src/js/bootstrap/src/tab.js","webpack://mdb/./src/js/bootstrap/src/toast.js","webpack://mdb/./src/js/mdb/util/index.js","webpack://mdb/./src/js/mdb/dom/data.js","webpack://mdb/./src/js/mdb/dom/manipulator.js","webpack://mdb/./src/js/mdb/dom/polyfill.js","webpack://mdb/./src/js/mdb/dom/selector-engine.js","webpack://mdb/./src/js/free/input.js","webpack://mdb/./src/js/bootstrap/src/dropdown.js","webpack://mdb/./src/js/free/dropdown.js","webpack://mdb/./src/js/free/treeview.js","webpack://mdb/./src/js/free/ripple.js"],"names":["root","factory","exports","module","define","amd","this","installedModules","__webpack_require__","m","exec","error","global","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","key","targetProperty","sourceProperty","descriptor","TARGET","target","GLOBAL","STATIC","stat","prototype","noTargetGet","value","forced","undefined","sham","shared","has","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","Symbol","createWellKnownSymbol","withoutSetter","name","$","forEach","proto","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","TO_STRING_TAG_SUPPORT","toString","Object","unsafe","it","Math","check","globalThis","window","self","Function","wrap","tag","description","symbol","AllSymbols","nativeObjectCreate","$Symbol","PROTOTYPE","setInternalState","type","SYMBOL","DESCRIPTORS","$defineProperties","O","Properties","anObject","properties","toIndexedObject","keys","objectKeys","concat","$getOwnPropertySymbols","$forEach","$propertyIsEnumerable","call","$defineProperty","$getOwnPropertyDescriptor","P","toPrimitive","ObjectPrototype","ObjectPrototypeSymbols","nativeGetOwnPropertyDescriptor","HIDDEN","enumerable","$getOwnPropertyNames","names","nativeGetOwnPropertyNames","result","hiddenKeys","push","getBuiltIn","IS_PURE","fails","isArray","isObject","toObject","createPropertyDescriptor","getOwnPropertyNamesModule","getOwnPropertyNamesExternal","getOwnPropertySymbolsModule","getOwnPropertyDescriptorModule","definePropertyModule","propertyIsEnumerableModule","sharedKey","wellKnownSymbol","wrappedWellKnownSymbolModule","defineWellKnownSymbol","setToStringTag","InternalStateModule","TO_PRIMITIVE","set","getInternalState","getterFor","$stringify","nativeDefineProperty","nativePropertyIsEnumerable","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","get","a","Attributes","ObjectPrototypeDescriptor","isSymbol","V","IS_OBJECT_PROTOTYPE","TypeError","arguments","length","String","setter","configurable","string","keyFor","sym","useSetter","useSimple","create","defineProperty","defineProperties","getOwnPropertyNames","getOwnPropertySymbols","stringify","replacer","space","$replacer","args","index","apply","valueOf","nativeKeys","hasOwnProperty","addToUnscopables","Iterators","defineIterator","ARRAY_ITERATOR","Array","iterated","kind","state","done","Arguments","charAt","STRING_ITERATOR","point","$filter","filter","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","callbackfn","flags","TO_STRING","RegExpPrototype","RegExp","nativeToString","NOT_GENERIC","INCORRECT_NAME","R","p","rf","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","regexp","NativeSymbol","constructor","desc","slice","replace","ArrayIteratorMethods","ITERATOR","TO_STRING_TAG","ArrayValues","values","METHOD_NAME","IE8_DOM_DEFINE","FAILS_ON_PRIMITIVES","ownKeys","createProperty","getOwnPropertyDescriptors","object","toLength","arraySpeciesCreate","V8_VERSION","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","arg","k","len","E","A","n","i","spreadable","isConcatSpreadable","IndexedObject","requireObjectCoercible","$find","find","FIND","SKIPS_HOLES","argument","inspectSource","enforceInternalState","enforce","TEMPLATE","split","simple","join","toInteger","min","from","checkCorrectnessOfIteration","iterable","toAbsoluteIndex","ACCESSORS","0","1","SPECIES","nativeSlice","max","start","end","Constructor","fin","inheritIfRequired","isRegExp","getFlags","stickyHelpers","setSpecies","MATCH","NativeRegExp","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","RegExpWrapper","pattern","sticky","thisIsRegExp","patternIsRegExp","flagsAreUndefined","indexOf","proxy","FunctionPrototype","FunctionPrototypeToString","nameRE","match","aFunction","variable","path","namespace","method","thrower","cache","argument0","argument1","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","nativeMatch","maybeCallNative","matcher","res","rx","S","fullUnicode","unicode","lastIndex","matchStr","speciesConstructor","callRegExpExec","regexpExec","arrayPush","MAX_UINT32","SUPPORTS_Y","SPLIT","nativeSplit","internalSplit","separator","limit","lim","lastLength","output","ignoreCase","multiline","lastLastIndex","separatorCopy","test","splitter","C","unicodeMatching","q","e","z","$indexOf","arrayMethodIsStrict","nativeIndexOf","NEGATIVE_ZERO","STRICT_METHOD","searchElement","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","nativeReplace","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","j","replacerArgs","namedCaptures","groups","replacement","str","tailPos","symbols","ch","capture","getSubstitution","isBrowser","document","navigator","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","fn","called","resolve","then","scheduled","setTimeout","isFunction","functionToCheck","getStyleComputedProperty","element","property","nodeType","css","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","upperSide","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","parseInt","getWindowSizes","height","width","classCallCheck","instance","createClass","protoProps","staticProps","props","writable","obj","_extends","assign","getClientRect","offsets","right","left","bottom","top","getBoundingClientRect","scrollTop","scrollLeft","rect","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundariesNode","_getWindowSizes","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","isFixed","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","map","area","_ref","sort","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","runModifiers","modifiers","data","ends","prop","findIndex","cur","console","warn","enabled","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","toUpperCase","prefix","toCheck","style","getWindow","setupEventListeners","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","event","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","removeEventListener","isNumeric","isNaN","isFinite","setStyles","unit","getRoundedOffsets","shouldRound","noRound","v","_data$offsets","round","referenceWidth","popperWidth","isVertical","isVariation","horizontalToInteger","verticalToInteger","isFirefox","isModifierRequired","requestingName","requestedName","_requesting","requested","requesting","isRequired","placements","validPlacements","clockwise","counter","reverse","BEHAVIORS","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","op","mergeWithPrevious","reduce","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","side","shiftOffsets","shiftvariation","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","inner","subtractLength","hide","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","invertTop","invertLeft","offsetParentRect","devicePixelRatio","prefixedProperty","willChange","arrowStyles","applyStyle","setAttribute","removeAttribute","onLoad","modifierOptions","Popper","isDestroyed","isCreated","removeChild","_this","requestAnimationFrame","update","bind","jquery","enableEventListeners","Utils","PopperUtils","bitmap","input","PREFERRED_STRING","val","store","wmget","wmhas","wmset","STATE","NATIVE_WEAK_MAP","objectHas","WeakMap","metadata","TYPE","internalObjectKeys","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","that","specificCreate","boundFunction","every","EmptyConstructor","scriptTag","content","LT","SCRIPT","activeXDocument","enumBugKeys","documentCreateElement","IE_PROTO","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","display","appendChild","src","contentWindow","open","F","$map","classof","propertyIsEnumerable","ceil","propertyKey","foo","Boolean","regexpFlags","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","BROKEN_CARET","NPCG_INCLUDED","reCopy","re","charsAdded","strCopy","$trim","forcedStringTrimMethod","CORRECT_PROTOTYPE_GETTER","getPrototypeOf","NASHORN_BUG","mode","copyright","id","postfix","random","feature","detection","normalize","POLYFILL","NATIVE","aPossiblePrototype","setPrototypeOf","CORRECT_SETTER","__proto__","dotAll","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","nativeRegExpMethod","methods","stringMethod","regexMethod","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeMethod","arg2","forceStringMethod","TAG","toNumber","first","third","radix","maxCode","digits","code","charCodeAt","NaN","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","NumberWrapper","dummy","g","createElement","EXISTS","functionToString","SHARED","IS_INCLUDES","fromIndex","includes","integer","originalArray","iterator","process","versions","v8","c","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","Wrapper","NewTarget","NewTargetPrototype","RE","s","CONVERT_TO_STRING","pos","second","size","codeAt","ltrim","rtrim","whitespace","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","NAME","UNSCOPABLES","ArrayPrototype","returnThis","createIteratorConstructor","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","VALUES","ENTRIES","Iterable","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","getIterationMethod","KIND","defaultIterator","IterablePrototype","CurrentIteratorPrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","PrototypeOfArrayIteratorPrototype","arrayIterator","nativeGetPrototypeOf","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","construct","Target","newTarget","$args","nativeJoin","ES3_STRINGS","CONSTRUCTOR_NAME","defaultConstructor","whitespaces","windowNames","getWindowNames","callWithSafeIterationClosing","isArrayIteratorMethod","getIteratorMethod","arrayLike","argumentsLength","mapfn","mapping","iteratorMethod","returnMethod","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","factories","partArgs","argsLength","list","nativeAssign","B","alphabet","chr","T","o","t","r","l","hasAttribute","CustomEvent","bubbles","cancelable","detail","dispatchEvent","animationName","inputType","__esModule","default","insert","singleton","locals","HTMLIFrameElement","contentDocument","head","u","identifier","base","d","media","sourceMap","references","updater","btoa","unescape","encodeURIComponent","JSON","styleSheet","cssText","firstChild","createTextNode","nonce","nc","Error","childNodes","insertBefore","all","atob","splice","sources","sourceRoot","preventDefault","defaultPrevented","createEvent","initCustomEvent","Event","toStringTag","receiver","getUID","getElementById","getSelector","hrefAttr","selector","getAttribute","getElementFromSelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","floatTransitionDuration","floatTransitionDelay","triggerTransitionEnd","TRANSITION_END","isElement","emulateTransitionEnd","duration","emulatedDuration","listener","typeCheckConfig","componentName","config","configTypes","expectedTypes","valueType","isVisible","elementStyle","parentNodeStyle","visibility","noop","reflow","getjQuery","jQuery","storeData","getSelectorFromElement","mapData","keyProperties","delete","Data","setData","getData","removeData","Element","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","scopeSelectorRegex","_","hasId","nodeList","matches","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","getEvent","findHandler","events","handler","delegationSelector","uidEventList","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","addHandler","oneOff","handlers","previousFn","domElements","EventHandler","off","removeHandler","on","one","inNamespace","isNamespace","elementEvent","storeElementEvent","handlerKey","keyHandlers","trigger","jQueryEvent","isNative","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","initEvent","DATA_KEY","EVENT_KEY","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","Alert","_element","each","alertInstance","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","closest","classList","remove","_destroyElement","handleDismiss","JQUERY_NO_CONFLICT","jQueryInterface","noConflict","SELECTOR_DATA_TOGGLE","Button","toggle","button","normalizeData","Number","normalizeDataKey","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","dataset","getDataAttribute","offsetTop","offsetLeft","toggleClass","className","add","SelectorEngine","findFn","child","parents","ancestor","ELEMENT_NODE","prev","previous","previousElementSibling","DATA_API_KEY","Default","interval","keyboard","slide","pause","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_INDICATORS","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","action","to","ride","cycle","carouselInterface","slideIndex","_slide","hidden","clearInterval","setInterval","visibilityState","nextWhenVisible","activeIndex","_getItemIndex","direction","absDeltax","abs","_keydown","_addTouchEventListeners","pointerType","clientX","touches","_handleSwipe","clearTimeout","itemImg","tagName","activeElement","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","relatedTarget","eventDirectionName","targetIndex","indicators","nextIndicator","directionalClassName","orderClassName","nextElementInterval","activeElementIndex","nextElement","_getItemByDirection","nextElementIndex","isCycling","_triggerSlideEvent","_setActiveIndicatorElement","defaultInterval","dataApiClickHandler","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","collapseInterface","show","actives","dimension","capitalizedDimension","scrollSize","container","activesData","tempActiveData","elemActive","_getDimension","setTransitioning","triggerArrayLength","isTransitioning","selected","triggerArray","isOpen","triggerData","backdrop","focus","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","modalBody","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","callbackRemove","backdropTransitionDuration","animate","currentTarget","_removeBackdrop","modalTransitionDuration","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultWhitelist","br","col","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","pre","small","span","sub","sup","strong","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","elName","attributeList","whitelistedAttributes","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","fallbackPlacement","boundary","sanitize","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","HOVER_STATE_SHOW","TRIGGER_HOVER","TRIGGER_FOCUS","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","tip","_setListeners","dataKey","context","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","destroy","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","ShadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_getPopperConfig","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","textContent","_getOffset","_handlePopperPlacementChange","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","token","tClass","popperData","popperInstance","initConfigAnimation","Popover","_getContent","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_NAV_LINKS","SELECTOR_LIST_ITEMS","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","maxScroll","_getOffsetHeight","_activate","_clear","queries","link","listGroup","navItem","spy","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","Tab","listElement","itemSelector","hideEvent","_transitionComplete","active","dropdownChild","dropdown","CLASS_NAME_SHOWING","autohide","Toast","addClass","addStyle","findElements","findElement","CLASSNAME_WRAPPER","OUTLINE_INPUT","OUTLINE_TEXTAREA","Input","_label","_labelWidth","_labelMarginLeft","_notchLeading","_notchMiddle","_notchTrailing","_deactivate","_getLabelData","_applyDivs","_applyNotch","_getNotchData","_removeBorder","_getLabelWidth","_getLabelPositionInInputGroup","notchWrapper","append","border","prevLabelWidth","activate","deactivate","init","getInstance","forceActive","ESCAPE_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_MENURIGHT","SELECTOR_MENU","Dropdown","_menu","_getMenuElement","_inNavbar","_detectNavbar","dropdownInterface","toggles","dropdownMenu","getParentFromElement","clickEvent","stopPropagation","disabled","items","isActive","clearMenus","referenceElement","parentDropdown","_getPlacement","dataApiKeydownHandler","ANIMATION_CLASS","ANIMATION_SHOW_CLASS","ANIMATION_HIDE_CLASS","BSDropdown","_options","_menuStyle","_xPlacement","_init","_bindShowEvent","_bindHideEvent","_bindHiddenEvent","_dropdownAnimationStart","_bindAnimationEnd","CLASSNAME_TREEVIEW","Treeview","_data","_createHTMLNodes","_setData","_constructTreeview","_toggleSubmenu","_toggleIcon","faClasses","current","icon1","icon2","innerText","toggleSubmenu","CLASSNAME_RIPPLE","SELECTOR_COMPONENT","CLASSNAME_UNBOUND","DEFAULT_RIPPLE_COLOR","BOOTSTRAP_COLORS","rippleCentered","rippleColor","rippleDuration","rippleRadius","rippleUnbound","Ripple","_autoInit","_method","_addClickEvent","_createRipple","offsetX","layerX","offsetY","layerY","_durationToMsNumber","diameterOptions","diameter","_getDiameter","radiusValue","opacity","rippleHTML","_createHTMLRipple","wrapper","ripple","_removeHTMLRipple","_removeOldColorClasses","_addColor","_toggleUnbound","_appendRipple","time","pythagorean","sqrt","positionCenter","quadrant","getCorner","topLeft","topRight","bottomLeft","bottomRight","rgbValue","gradientImage","color","_colorToRGB","backgroundImage","REGEXP_CLASS_COLOR","substr","tempElem","flag","slector","autoInitial","getter","ns","moduleId","modules"],"mappings":";;;;;;;;;;;;;;;;;;CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,MAAO,GAAIH,GACQ,iBAAZC,QACdA,QAAa,IAAID,IAEjBD,EAAU,IAAIC,IARhB,CASGK,KAAM,WACT,OCTMC,EAAmB,GA4BvBC,EAAoBC,E,iBC7BtBN,EAAOD,QAAU,SAAUQ,GACzB,IACE,QAASA,IACT,MAAOC,GACP,OAAO,K,gBCJX,IAAIC,EAAS,EAAQ,GACjBC,EAA2B,EAAQ,IAAmDC,EACtFC,EAA8B,EAAQ,IACtCC,EAAW,EAAQ,IACnBC,EAAY,EAAQ,IACpBC,EAA4B,EAAQ,IACpCC,EAAW,EAAQ,IAgBvBhB,EAAOD,QAAU,SAAUkB,EAASC,GAClC,IAGoBC,EAAKC,EAAgBC,EAAgBC,EAHrDC,EAASN,EAAQO,OACjBC,EAASR,EAAQR,OACjBiB,EAAST,EAAQU,KAGnBH,EADEC,EACOhB,EACAiB,EACAjB,EAAOc,IAAWT,EAAUS,EAAQ,KAEnCd,EAAOc,IAAW,IAAIK,UAElC,GAAIJ,EAAQ,IAAKL,KAAOD,EAAQ,CAQ9B,GAPAG,EAAiBH,EAAOC,GAGtBC,EAFEH,EAAQY,aACVP,EAAaZ,EAAyBc,EAAQL,KACfG,EAAWQ,MACpBN,EAAOL,IACtBH,EAASS,EAASN,EAAMI,GAAUG,EAAS,IAAM,KAAOP,EAAKF,EAAQc,cAE5CC,IAAnBZ,EAA8B,CAC3C,UAAWC,UAA0BD,EAAgB,SACrDL,EAA0BM,EAAgBD,IAGxCH,EAAQgB,MAASb,GAAkBA,EAAea,OACpDrB,EAA4BS,EAAgB,QAAQ,GAGtDR,EAASW,EAAQL,EAAKE,EAAgBJ,M,gBCnD1C,IAAIR,EAAS,EAAQ,GACjByB,EAAS,EAAQ,IACjBC,EAAM,EAAQ,IACdC,EAAM,EAAQ,IACdC,EAAgB,EAAQ,IACxBC,EAAoB,EAAQ,IAE5BC,EAAwBL,EAAO,OAC/BM,EAAS/B,EAAO+B,OAChBC,EAAwBH,EAAoBE,EAASA,GAAUA,EAAOE,eAAiBN,EAE3FpC,EAAOD,QAAU,SAAU4C,GAIvB,OAHGR,EAAII,EAAuBI,KAC1BN,GAAiBF,EAAIK,EAAQG,GAAOJ,EAAsBI,GAAQH,EAAOG,GACxEJ,EAAsBI,GAAQF,EAAsB,UAAYE,IAC9DJ,EAAsBI,K,6BCdjC,IAAIC,EAAI,EAAQ,GACZC,EAAU,EAAQ,IAItBD,EAAE,CAAEpB,OAAQ,QAASsB,OAAO,EAAMf,OAAQ,GAAGc,SAAWA,GAAW,CACjEA,QAASA,K,gBCPX,IAAIpC,EAAS,EAAQ,GACjBsC,EAAe,EAAQ,KACvBF,EAAU,EAAQ,IAClBjC,EAA8B,EAAQ,IAE1C,IAAK,IAAIoC,KAAmBD,EAAc,CACxC,IAAIE,EAAaxC,EAAOuC,GACpBE,EAAsBD,GAAcA,EAAWrB,UAEnD,GAAIsB,GAAuBA,EAAoBL,UAAYA,EAAS,IAClEjC,EAA4BsC,EAAqB,UAAWL,GAC5D,MAAOrC,GACP0C,EAAoBL,QAAUA,K,gBCZlC,IAAIM,EAAwB,EAAQ,IAChCtC,EAAW,EAAQ,IACnBuC,EAAW,EAAQ,KAIlBD,GACHtC,EAASwC,OAAOzB,UAAW,WAAYwB,EAAU,CAAEE,QAAQ,K,iBCP7D,0BACE,OAAOC,GAAMA,EAAGC,MAAQA,MAAQD,EAIlCvD,EAAOD,QAEL0D,EAA2B,iBAAdC,YAA0BA,aACvCD,EAAuB,iBAAVE,QAAsBA,SACnCF,EAAqB,iBAARG,MAAoBA,OACjCH,EAAuB,iBAAVhD,GAAsBA,IAEnCoD,SAAS,cAATA,K,+CC8DS,SAAPC,EAAiBC,EAAKC,GACxB,IAAIC,EAASC,GAAWH,GAAOI,EAAmBC,EAAQC,IAO1D,OANAC,EAAiBL,EAAQ,CACvBM,KAAMC,EACNT,IAAKA,EACLC,YAAaA,IAEVS,IAAaR,EAAOD,YAAcA,GAChCC,EAyBe,SAApBS,EAA8CC,EAAGC,GACnDC,EAASF,GACT,IAAIG,EAAaC,EAAgBH,GAC7BI,EAAOC,EAAWH,GAAYI,OAAOC,GAAuBL,IAIhE,OAHAM,EAASJ,EAAM,SAAU7D,GAClBsD,IAAeY,GAAsBC,KAAKR,EAAY3D,IAAMoE,GAAgBZ,EAAGxD,EAAK2D,EAAW3D,MAE/FwD,EAcuB,SAA5Ba,EAA8Db,EAAGc,GACnE,IAAIlC,EAAKwB,EAAgBJ,GACrBxD,EAAMuE,EAAYD,GAAG,GACzB,GAAIlC,IAAOoC,IAAmBxD,EAAI+B,GAAY/C,IAASgB,EAAIyD,GAAwBzE,GAAnF,CACA,IAAIG,EAAauE,EAA+BtC,EAAIpC,GAIpD,OAHIG,IAAca,EAAI+B,GAAY/C,IAAUgB,EAAIoB,EAAIuC,IAAWvC,EAAGuC,GAAQ3E,KACxEG,EAAWyE,YAAa,GAEnBzE,GAGkB,SAAvB0E,EAAoDrB,GACtD,IAAIsB,EAAQC,GAA0BnB,EAAgBJ,IAClDwB,EAAS,GAIb,OAHAf,EAASa,EAAO,SAAU9E,GACnBgB,EAAI+B,GAAY/C,IAASgB,EAAIiE,EAAYjF,IAAMgF,EAAOE,KAAKlF,KAE3DgF,EAhJT,IAAIvD,EAAI,EAAQ,GACZnC,EAAS,EAAQ,GACjB6F,EAAa,EAAQ,IACrBC,EAAU,EAAQ,IAClB9B,EAAc,EAAQ,GACtBpC,EAAgB,EAAQ,IACxBC,EAAoB,EAAQ,IAC5BkE,EAAQ,EAAQ,GAChBrE,EAAM,EAAQ,IACdsE,EAAU,EAAQ,IAClBC,EAAW,EAAQ,IACnB7B,EAAW,EAAQ,IACnB8B,EAAW,EAAQ,IACnB5B,EAAkB,EAAQ,IAC1BW,EAAc,EAAQ,IACtBkB,EAA2B,EAAQ,IACnCzC,EAAqB,EAAQ,IAC7Bc,EAAa,EAAQ,IACrB4B,EAA4B,EAAQ,IACpCC,EAA8B,EAAQ,KACtCC,EAA8B,EAAQ,IACtCC,EAAiC,EAAQ,IACzCC,EAAuB,EAAQ,IAC/BC,EAA6B,EAAQ,IACrCtG,EAA8B,EAAQ,IACtCC,EAAW,EAAQ,IACnBqB,EAAS,EAAQ,IACjBiF,EAAY,EAAQ,IACpBf,EAAa,EAAQ,IACrBhE,EAAM,EAAQ,IACdgF,EAAkB,EAAQ,GAC1BC,EAA+B,EAAQ,KACvCC,EAAwB,EAAQ,KAChCC,EAAiB,EAAQ,IACzBC,EAAsB,EAAQ,IAC9BpC,EAAW,EAAQ,IAAgCvC,QAEnDiD,EAASqB,EAAU,UACnB3C,EAAS,SACTH,EAAY,YACZoD,EAAeL,EAAgB,eAC/B9C,EAAmBkD,EAAoBE,IACvCC,EAAmBH,EAAoBI,UAAUpD,GACjDmB,EAAkBtC,OAAOgB,GACzBD,EAAU3D,EAAO+B,OACjBqF,EAAavB,EAAW,OAAQ,aAChCT,EAAiCmB,EAA+BrG,EAChEmH,EAAuBb,EAAqBtG,EAC5CuF,GAA4BY,EAA4BnG,EACxDoH,GAA6Bb,EAA2BvG,EACxDuD,GAAahC,EAAO,WACpB0D,GAAyB1D,EAAO,cAChC8F,GAAyB9F,EAAO,6BAChC+F,GAAyB/F,EAAO,6BAChCK,GAAwBL,EAAO,OAC/BgG,GAAUzH,EAAOyH,QAEjBC,IAAcD,KAAYA,GAAQ7D,KAAe6D,GAAQ7D,GAAW+D,UAGpEC,GAAsB5D,GAAe+B,EAAM,WAC7C,OAES,GAFFrC,EAAmB2D,EAAqB,GAAI,IAAK,CACtDQ,IAAK,WAAc,OAAOR,EAAqB3H,KAAM,IAAK,CAAE2B,MAAO,IAAKyG,MACtEA,IACD,SAAU5D,EAAGc,EAAG+C,GACnB,IAAIC,EAA4B5C,EAA+BF,EAAiBF,GAC5EgD,UAAkC9C,EAAgBF,GACtDqC,EAAqBnD,EAAGc,EAAG+C,GACvBC,GAA6B9D,IAAMgB,GACrCmC,EAAqBnC,EAAiBF,EAAGgD,IAEzCX,EAaAY,GAAWpG,EAAoB,SAAUiB,GAC3C,MAAoB,iBAANA,GACZ,SAAUA,GACZ,OAAOF,OAAOE,aAAea,GAG3BmB,GAAkB,SAAwBZ,EAAGc,EAAG+C,GAC9C7D,IAAMgB,GAAiBJ,GAAgBK,GAAwBH,EAAG+C,GACtE3D,EAASF,GACT,IAAIxD,EAAMuE,EAAYD,GAAG,GAEzB,OADAZ,EAAS2D,GACLrG,EAAI+B,GAAY/C,IACbqH,EAAWzC,YAIV5D,EAAIwC,EAAGmB,IAAWnB,EAAEmB,GAAQ3E,KAAMwD,EAAEmB,GAAQ3E,IAAO,GACvDqH,EAAarE,EAAmBqE,EAAY,CAAEzC,WAAYa,EAAyB,GAAG,OAJjFzE,EAAIwC,EAAGmB,IAASgC,EAAqBnD,EAAGmB,EAAQc,EAAyB,EAAG,KACjFjC,EAAEmB,GAAQ3E,IAAO,GAIVkH,GAAoB1D,EAAGxD,EAAKqH,IAC9BV,EAAqBnD,EAAGxD,EAAKqH,IAiBpCnD,GAAwB,SAA8BsD,GACxD,IAAIlD,EAAIC,EAAYiD,GAAG,GACnB5C,EAAagC,GAA2BzC,KAAKnF,KAAMsF,GACvD,QAAItF,OAASwF,GAAmBxD,EAAI+B,GAAYuB,KAAOtD,EAAIyD,GAAwBH,QAC5EM,IAAe5D,EAAIhC,KAAMsF,KAAOtD,EAAI+B,GAAYuB,IAAMtD,EAAIhC,KAAM2F,IAAW3F,KAAK2F,GAAQL,KAAKM,IAuBlGZ,GAAyB,SAA+BR,GAC1D,IAAIiE,EAAsBjE,IAAMgB,EAC5BM,EAAQC,GAA0B0C,EAAsBhD,GAAyBb,EAAgBJ,IACjGwB,EAAS,GAMb,OALAf,EAASa,EAAO,SAAU9E,IACpBgB,EAAI+B,GAAY/C,IAAUyH,IAAuBzG,EAAIwD,EAAiBxE,IACxEgF,EAAOE,KAAKnC,GAAW/C,MAGpBgF,GAKJ9D,IAcHxB,GAbAuD,EAAU,YACR,GAAIjE,gBAAgBiE,EAAS,MAAMyE,UAAU,+BAC7C,IAAI7E,EAAe8E,UAAUC,aAA2B/G,IAFhD,EAEwEgH,OAFxE,QAE4DhH,EAChE+B,EAAM3B,EAAI4B,GACViF,EAAS,SAAUnH,GACjB3B,OAASwF,GAAiBsD,EAAO3D,KAAKM,GAAwB9D,GAC9DK,EAAIhC,KAAM2F,IAAW3D,EAAIhC,KAAK2F,GAAS/B,KAAM5D,KAAK2F,GAAQ/B,IAAO,GACrEsE,GAAoBlI,KAAM4D,EAAK6C,EAAyB,EAAG9E,KAG7D,OADI2C,GAAe0D,IAAYE,GAAoB1C,EAAiB5B,EAAK,CAAEmF,cAAc,EAAMxB,IAAKuB,IAC7FnF,EAAKC,EAAKC,KAGFK,GAAY,WAAY,WACvC,OAAOsD,EAAiBxH,MAAM4D,MAGhClD,EAASuD,EAAS,gBAAiB,SAAUJ,GAC3C,OAAOF,EAAK1B,EAAI4B,GAAcA,KAGhCkD,EAA2BvG,EAAI0E,GAC/B4B,EAAqBtG,EAAI4E,GACzByB,EAA+BrG,EAAI6E,EACnCqB,EAA0BlG,EAAImG,EAA4BnG,EAAIqF,EAC9De,EAA4BpG,EAAIwE,GAEhCkC,EAA6B1G,EAAI,SAAUgC,GACzC,OAAOmB,EAAKsD,EAAgBzE,GAAOA,IAGjC8B,IAEFqD,EAAqB1D,EAAQC,GAAY,cAAe,CACtD6E,cAAc,EACdZ,IAAK,WACH,OAAOX,EAAiBxH,MAAM6D,eAG7BuC,GACH1F,EAAS8E,EAAiB,uBAAwBN,GAAuB,CAAE/B,QAAQ,MAKzFV,EAAE,CAAEnC,QAAQ,EAAMqD,MAAM,EAAM/B,QAASM,EAAeJ,MAAOI,GAAiB,CAC5EG,OAAQ4B,IAGVgB,EAASH,EAAW1C,IAAwB,SAAUI,GACpD2E,EAAsB3E,KAGxBC,EAAE,CAAEpB,OAAQgD,EAAQ7C,MAAM,EAAMI,QAASM,GAAiB,CAGxD,IAAO,SAAUlB,GACf,IAAIgI,EAASH,OAAO7H,GACpB,GAAIgB,EAAI6F,GAAwBmB,GAAS,OAAOnB,GAAuBmB,GACvE,IAAIlF,EAASG,EAAQ+E,GAGrB,OAFAnB,GAAuBmB,GAAUlF,EACjCgE,GAAuBhE,GAAUkF,EAC1BlF,GAITmF,OAAQ,SAAgBC,GACtB,IAAKX,GAASW,GAAM,MAAMR,UAAUQ,EAAM,oBAC1C,GAAIlH,EAAI8F,GAAwBoB,GAAM,OAAOpB,GAAuBoB,IAEtEC,UAAW,WAAcnB,IAAa,GACtCoB,UAAW,WAAcpB,IAAa,KAGxCvF,EAAE,CAAEpB,OAAQ,SAAUG,MAAM,EAAMI,QAASM,EAAeJ,MAAOwC,GAAe,CAG9E+E,OA3HY,SAAgB7E,EAAGC,GAC/B,YAAsB5C,IAAf4C,EAA2BT,EAAmBQ,GAAKD,EAAkBP,EAAmBQ,GAAIC,IA6HnG6E,eAAgBlE,GAGhBmE,iBAAkBhF,EAGlBhE,yBAA0B8E,IAG5B5C,EAAE,CAAEpB,OAAQ,SAAUG,MAAM,EAAMI,QAASM,GAAiB,CAG1DsH,oBAAqB3D,EAGrB4D,sBAAuBzE,KAKzBvC,EAAE,CAAEpB,OAAQ,SAAUG,MAAM,EAAMI,OAAQyE,EAAM,WAAcO,EAA4BpG,EAAE,MAAU,CACpGiJ,sBAAuB,SAA+BrG,GACpD,OAAOwD,EAA4BpG,EAAEgG,EAASpD,OAM9CsE,GAWFjF,EAAE,CAAEpB,OAAQ,OAAQG,MAAM,EAAMI,QAVHM,GAAiBmE,EAAM,WAClD,IAAIvC,EAASG,IAEb,MAA+B,UAAxByD,EAAW,CAAC5D,KAEe,MAA7B4D,EAAW,CAAEU,EAAGtE,KAEc,MAA9B4D,EAAWxE,OAAOY,OAGwC,CAE/D4F,UAAW,SAAmBtG,EAAIuG,EAAUC,GAI1C,IAHA,IAEIC,EAFAC,EAAO,CAAC1G,GACR2G,EAAQ,EAEcA,EAAnBpB,UAAUC,QAAgBkB,EAAK5D,KAAKyC,UAAUoB,MAErD,IAAKxD,EADLsD,EAAYF,SACsB9H,IAAPuB,KAAoBmF,GAASnF,GAMxD,OALKkD,EAAQqD,KAAWA,EAAW,SAAU3I,EAAKW,GAEhD,GADwB,mBAAbkI,IAAyBlI,EAAQkI,EAAU1E,KAAKnF,KAAMgB,EAAKW,KACjE4G,GAAS5G,GAAQ,OAAOA,IAE/BmI,EAAK,GAAKH,EACHjC,EAAWsC,MAAM,KAAMF,MAO/B7F,EAAQC,GAAWoD,IACtB7G,EAA4BwD,EAAQC,GAAYoD,EAAcrD,EAAQC,GAAW+F,SAInF7C,EAAenD,EAASI,GAExB4B,EAAWN,IAAU,G,gBCtTrB,IAAIlD,EAAI,EAAQ,GACZ+D,EAAW,EAAQ,IACnB0D,EAAa,EAAQ,IAOzBzH,EAAE,CAAEpB,OAAQ,SAAUG,MAAM,EAAMI,OANtB,EAAQ,EAEMyE,CAAM,WAAc6D,EAAW,MAIQ,CAC/DrF,KAAM,SAAczB,GAClB,OAAO8G,EAAW1D,EAASpD,Q,gBCX/B,IAAIiD,EAAQ,EAAQ,GAGpBxG,EAAOD,SAAWyG,EAAM,WACtB,OAA8E,GAAvEnD,OAAOoG,eAAe,GAAI,EAAG,CAAEnB,IAAK,WAAc,OAAO,KAAQ,M,cCJ1EtI,EAAOD,QAAU,SAAUwD,GACzB,MAAqB,iBAAPA,EAAyB,OAAPA,EAA4B,mBAAPA,I,cCDvD,IAAI+G,EAAiB,GAAGA,eAExBtK,EAAOD,QAAU,SAAUwD,EAAIpC,GAC7B,OAAOmJ,EAAehF,KAAK/B,EAAIpC,K,gBCHjC,IAAIuF,EAAW,EAAQ,IAEvB1G,EAAOD,QAAU,SAAUwD,GACzB,IAAKmD,EAASnD,GACZ,MAAMsF,UAAUG,OAAOzF,GAAM,qBAC7B,OAAOA,I,6BCJX,IAAIX,EAAI,EAAQ,GACZrC,EAAO,EAAQ,IAEnBqC,EAAE,CAAEpB,OAAQ,SAAUsB,OAAO,EAAMf,OAAQ,IAAIxB,OAASA,GAAQ,CAC9DA,KAAMA,K,6BCJR,IAAIwE,EAAkB,EAAQ,IAC1BwF,EAAmB,EAAQ,KAC3BC,EAAY,EAAQ,IACpBhD,EAAsB,EAAQ,IAC9BiD,EAAiB,EAAQ,KAEzBC,EAAiB,iBACjBpG,EAAmBkD,EAAoBE,IACvCC,EAAmBH,EAAoBI,UAAU8C,GAYrD1K,EAAOD,QAAU0K,EAAeE,MAAO,QAAS,SAAUC,EAAUC,GAClEvG,EAAiBnE,KAAM,CACrBoE,KAAMmG,EACNlJ,OAAQuD,EAAgB6F,GACxBV,MAAO,EACPW,KAAMA,KAIP,WACD,IAAIC,EAAQnD,EAAiBxH,MACzBqB,EAASsJ,EAAMtJ,OACfqJ,EAAOC,EAAMD,KACbX,EAAQY,EAAMZ,QAClB,OAAK1I,GAAU0I,GAAS1I,EAAOuH,OAEtB,CAAEjH,MADTgJ,EAAMtJ,YAASQ,EACY+I,MAAM,GAEvB,QAARF,EAAuB,CAAE/I,MAAOoI,EAAOa,MAAM,GACrC,UAARF,EAAyB,CAAE/I,MAAON,EAAO0I,GAAQa,MAAM,GACpD,CAAEjJ,MAAO,CAACoI,EAAO1I,EAAO0I,IAASa,MAAM,IAC7C,UAKHP,EAAUQ,UAAYR,EAAUG,MAGhCJ,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,Y,6BCnDjB,IAAIU,EAAS,EAAQ,KAAiCA,OAClDzD,EAAsB,EAAQ,IAC9BiD,EAAiB,EAAQ,KAEzBS,EAAkB,kBAClB5G,EAAmBkD,EAAoBE,IACvCC,EAAmBH,EAAoBI,UAAUsD,GAIrDT,EAAezB,OAAQ,SAAU,SAAU4B,GACzCtG,EAAiBnE,KAAM,CACrBoE,KAAM2G,EACN/B,OAAQH,OAAO4B,GACfV,MAAO,KAIR,WACD,IAGIiB,EAHAL,EAAQnD,EAAiBxH,MACzBgJ,EAAS2B,EAAM3B,OACfe,EAAQY,EAAMZ,MAElB,OAAIA,GAASf,EAAOJ,OAAe,CAAEjH,WAAOE,EAAW+I,MAAM,IAC7DI,EAAQF,EAAO9B,EAAQe,GACvBY,EAAMZ,OAASiB,EAAMpC,OACd,CAAEjH,MAAOqJ,EAAOJ,MAAM,O,6BC1B/B,IAAInI,EAAI,EAAQ,GACZwI,EAAU,EAAQ,IAAgCC,OAClDC,EAA+B,EAAQ,IACvCC,EAA0B,EAAQ,IAElCC,EAAsBF,EAA6B,UAEnDG,EAAiBF,EAAwB,UAK7C3I,EAAE,CAAEpB,OAAQ,QAASsB,OAAO,EAAMf,QAASyJ,IAAwBC,GAAkB,CACnFJ,OAAQ,SAAgBK,EAAhB,GACN,OAAON,EAAQjL,KAAMuL,EAA+B,EAAnB5C,UAAUC,OADrC,OACiE/G,O,6BCd3E,IAAInB,EAAW,EAAQ,IACnBgE,EAAW,EAAQ,IACnB2B,EAAQ,EAAQ,GAChBmF,EAAQ,EAAQ,IAEhBC,EAAY,WACZC,EAAkBC,OAAOlK,UACzBmK,EAAiBF,EAAgBD,GAEjCI,EAAcxF,EAAM,WAAc,MAA2D,QAApDuF,EAAezG,KAAK,CAAEpE,OAAQ,IAAKyK,MAAO,QAEnFM,EAAiBF,EAAepJ,MAAQiJ,GAIxCI,GAAeC,IACjBpL,EAASiL,OAAOlK,UAAWgK,EAAW,WACpC,IAAIM,EAAIrH,EAAS1E,MACbgM,EAAInD,OAAOkD,EAAEhL,QACbkL,EAAKF,EAAEP,MAEX,MAAO,IAAMQ,EAAI,IADTnD,YAAchH,IAAPoK,GAAoBF,aAAaJ,UAAY,UAAWD,GAAmBF,EAAMrG,KAAK4G,GAAKE,IAEzG,CAAE9I,QAAQ,K,6BCpBf,IAcM+I,EAEAC,EAUAC,EAGAC,EACAC,EACAC,EA/BF9J,EAAI,EAAQ,GACZ6B,EAAc,EAAQ,GACtBhE,EAAS,EAAQ,GACjB0B,EAAM,EAAQ,IACduE,EAAW,EAAQ,IACnB+C,EAAiB,EAAQ,IAAuC9I,EAChEI,EAA4B,EAAQ,IAEpC4L,EAAelM,EAAO+B,QAEtBiC,GAAsC,mBAAhBkI,GAAiC,gBAAiBA,EAAa/K,gBAExDI,IAA/B2K,IAAe3I,cAEXqI,EAA8B,GAWlCtL,EATIuL,EAAgB,YAClB,IAAItI,EAAc8E,UAAUC,OAAS,QAAsB/G,IADzC,OACqDA,EAAYgH,OADjE,GAEd7C,EAAShG,gBAAgBmM,EACzB,IAAIK,EAAa3I,QAEDhC,IAAhBgC,EAA4B2I,IAAiBA,EAAa3I,GAE9D,MADoB,KAAhBA,IAAoBqI,EAA4BlG,IAAU,GACvDA,GAEgCwG,IACrCJ,EAAkBD,EAAc1K,UAAY+K,EAAa/K,WAC7CgL,YAAcN,EAE1BE,EAAiBD,EAAgBnJ,SACjCqJ,EAAyC,gBAAhCzD,OAAO2D,EAAa,SAC7BD,EAAS,wBACbjD,EAAe8C,EAAiB,cAAe,CAC7CrD,cAAc,EACdZ,IAAK,WACH,IAAIrE,EAASyC,EAASvG,MAAQA,KAAKiK,UAAYjK,KAC3CgJ,EAASqD,EAAelH,KAAKrB,GACjC,GAAI9B,EAAIkK,EAA6BpI,GAAS,MAAO,GACrD,IAAI4I,EAAOJ,EAAStD,EAAO2D,MAAM,GAAI,GAAK3D,EAAO4D,QAAQL,EAAQ,MACjE,MAAgB,KAATG,OAAc7K,EAAY6K,KAIrCjK,EAAE,CAAEnC,QAAQ,EAAMsB,QAAQ,GAAQ,CAChCS,OAAQ8J,M,gBC/CgB,EAAQ,IAIpChF,CAAsB,a,gBCJtB,IAAI7G,EAAS,EAAQ,GACjBsC,EAAe,EAAQ,KACvBiK,EAAuB,EAAQ,IAC/BpM,EAA8B,EAAQ,IACtCwG,EAAkB,EAAQ,GAE1B6F,EAAW7F,EAAgB,YAC3B8F,EAAgB9F,EAAgB,eAChC+F,EAAcH,EAAqBI,OAEvC,IAAK,IAAIpK,KAAmBD,EAAc,CACxC,IAAIE,EAAaxC,EAAOuC,GACpBE,EAAsBD,GAAcA,EAAWrB,UACnD,GAAIsB,EAAqB,CAEvB,GAAIA,EAAoB+J,KAAcE,EAAa,IACjDvM,EAA4BsC,EAAqB+J,EAAUE,GAC3D,MAAO3M,GACP0C,EAAoB+J,GAAYE,EAKlC,GAHKjK,EAAoBgK,IACvBtM,EAA4BsC,EAAqBgK,EAAelK,GAE9DD,EAAaC,GAAkB,IAAK,IAAIqK,KAAeL,EAEzD,GAAI9J,EAAoBmK,KAAiBL,EAAqBK,GAAc,IAC1EzM,EAA4BsC,EAAqBmK,EAAaL,EAAqBK,IACnF,MAAO7M,GACP0C,EAAoBmK,GAAeL,EAAqBK,O,gBC5BhE,IAAI5I,EAAc,EAAQ,GACtB6I,EAAiB,EAAQ,IACzBzI,EAAW,EAAQ,IACnBa,EAAc,EAAQ,IAEtBoC,EAAuBzE,OAAOoG,eAIlC1J,EAAQY,EAAI8D,EAAcqD,EAAuB,SAAwBnD,EAAGc,EAAG+C,GAI7E,GAHA3D,EAASF,GACTc,EAAIC,EAAYD,GAAG,GACnBZ,EAAS2D,GACL8E,EAAgB,IAClB,OAAOxF,EAAqBnD,EAAGc,EAAG+C,GAClC,MAAOhI,IACT,GAAI,QAASgI,GAAc,QAASA,EAAY,MAAMK,UAAU,2BAEhE,MADI,UAAWL,IAAY7D,EAAEc,GAAK+C,EAAW1G,OACtC6C,I,gBClBT,IAAI/B,EAAI,EAAQ,GACZ4D,EAAQ,EAAQ,GAChBzB,EAAkB,EAAQ,IAC1Bc,EAAiC,EAAQ,IAAmDlF,EAC5F8D,EAAc,EAAQ,GAEtB8I,EAAsB/G,EAAM,WAAcX,EAA+B,KAK7EjD,EAAE,CAAEpB,OAAQ,SAAUG,MAAM,EAAMI,QAJpB0C,GAAe8I,EAIqBtL,MAAOwC,GAAe,CACtE/D,yBAA0B,SAAkC6C,EAAIpC,GAC9D,OAAO0E,EAA+Bd,EAAgBxB,GAAKpC,O,gBCb/D,IAAIyB,EAAI,EAAQ,GACZ6B,EAAc,EAAQ,GACtB+I,EAAU,EAAQ,IAClBzI,EAAkB,EAAQ,IAC1BiC,EAAiC,EAAQ,IACzCyG,EAAiB,EAAQ,IAI7B7K,EAAE,CAAEpB,OAAQ,SAAUG,MAAM,EAAMM,MAAOwC,GAAe,CACtDiJ,0BAA2B,SAAmCC,GAO5D,IANA,IAKIxM,EAAKG,EALLqD,EAAII,EAAgB4I,GACpBjN,EAA2BsG,EAA+BrG,EAC1DqE,EAAOwI,EAAQ7I,GACfwB,EAAS,GACT+D,EAAQ,EAELlF,EAAK+D,OAASmB,QAEAlI,KADnBV,EAAaZ,EAAyBiE,EAAGxD,EAAM6D,EAAKkF,QACtBuD,EAAetH,EAAQhF,EAAKG,GAE5D,OAAO6E,M,6BCpBX,IAAIvD,EAAI,EAAQ,GACZ4D,EAAQ,EAAQ,GAChBC,EAAU,EAAQ,IAClBC,EAAW,EAAQ,IACnBC,EAAW,EAAQ,IACnBiH,EAAW,EAAQ,IACnBH,EAAiB,EAAQ,IACzBI,EAAqB,EAAQ,IAC7BvC,EAA+B,EAAQ,IACvClE,EAAkB,EAAQ,GAC1B0G,EAAa,EAAQ,IAErBC,EAAuB3G,EAAgB,sBACvC4G,EAAmB,iBACnBC,EAAiC,iCAKjCC,EAA6C,IAAdJ,IAAqBtH,EAAM,WAC5D,IAAI2H,EAAQ,GAEZ,OADAA,EAAMJ,IAAwB,EACvBI,EAAMjJ,SAAS,KAAOiJ,IAG3BC,EAAkB9C,EAA6B,UAanD1I,EAAE,CAAEpB,OAAQ,QAASsB,OAAO,EAAMf,QALpBmM,IAAiCE,GAKK,CAClDlJ,OAAQ,SAAgBmJ,GAKtB,IAJA,IAGOC,EAAWC,EAAKC,EAHnB7J,EAAIgC,EAASxG,MACbsO,EAAIZ,EAAmBlJ,EAAG,GAC1B+J,EAAI,EAEHC,GAAK,EAAG5F,EAASD,UAAUC,OAAQ4F,EAAI5F,EAAQ4F,IAElD,GAnBmB,SAAUhK,GACjC,IAAK+B,EAAS/B,GAAI,OAAO,EACzB,IAAIiK,EAAajK,EAAEoJ,GACnB,YAAsB/L,IAAf4M,IAA6BA,EAAanI,EAAQ9B,GAgBjDkK,CADJL,GAAW,IAAPG,EAAWhK,EAAImE,UAAU6F,IACF,CAEzB,GADAJ,EAAMX,EAASY,EAAEzF,QACHiF,EAAVU,EAAIH,EAAwB,MAAM1F,UAAUoF,GAChD,IAAKK,EAAI,EAAGA,EAAIC,EAAKD,IAAKI,IAASJ,KAAKE,GAAGf,EAAegB,EAAGC,EAAGF,EAAEF,QAC7D,CACL,GAASN,GAALU,EAAuB,MAAM7F,UAAUoF,GAC3CR,EAAegB,EAAGC,IAAKF,GAI3B,OADAC,EAAE1F,OAAS2F,EACJD,M,gBCxDX,IAAIK,EAAgB,EAAQ,IACxBC,EAAyB,EAAQ,IAErC/O,EAAOD,QAAU,SAAUwD,GACzB,OAAOuL,EAAcC,EAAuBxL,M,gBCL9C,IAAIkB,EAAc,EAAQ,GACtBwC,EAAuB,EAAQ,IAC/BL,EAA2B,EAAQ,IAEvC5G,EAAOD,QAAU0E,EAAc,SAAUkJ,EAAQxM,EAAKW,GACpD,OAAOmF,EAAqBtG,EAAEgN,EAAQxM,EAAKyF,EAAyB,EAAG9E,KACrE,SAAU6L,EAAQxM,EAAKW,GAEzB,OADA6L,EAAOxM,GAAOW,EACP6L,I,6BCPT,IAAI/K,EAAI,EAAQ,GACZoM,EAAQ,EAAQ,IAAgCC,KAChD1E,EAAmB,EAAQ,KAC3BgB,EAA0B,EAAQ,IAElC2D,EAAO,OACPC,GAAc,EAEd1D,EAAiBF,EAAwB2D,GAGzCA,IAAQ,IAAIvE,MAAM,GAAGuE,GAAM,WAAcC,GAAc,IAI3DvM,EAAE,CAAEpB,OAAQ,QAASsB,OAAO,EAAMf,OAAQoN,IAAgB1D,GAAkB,CAC1EwD,KAAM,SAAcvD,EAAd,GACJ,OAAOsD,EAAM7O,KAAMuL,EAA+B,EAAnB5C,UAAUC,OADrC,OACiE/G,MAKzEuI,EAAiB2E,I,gBCvBjB,IAAIH,EAAyB,EAAQ,IAIrC/O,EAAOD,QAAU,SAAUqP,GACzB,OAAO/L,OAAO0L,EAAuBK,M,gBCLvC,IAAI3O,EAAS,EAAQ,GACjBG,EAA8B,EAAQ,IACtCuB,EAAM,EAAQ,IACdrB,EAAY,EAAQ,IACpBuO,EAAgB,EAAQ,IACxB7H,EAAsB,EAAQ,IAE9BG,EAAmBH,EAAoBc,IACvCgH,EAAuB9H,EAAoB+H,QAC3CC,EAAWxG,OAAOA,QAAQyG,MAAM,WAEnCzP,EAAOD,QAAU,SAAU4E,EAAGxD,EAAKW,EAAOb,GACzC,IAAIqC,IAASrC,KAAYA,EAAQqC,OAC7BoM,IAASzO,KAAYA,EAAQ8E,WAC7BlE,IAAcZ,KAAYA,EAAQY,YAClB,mBAATC,IACS,iBAAPX,GAAoBgB,EAAIL,EAAO,SAASlB,EAA4BkB,EAAO,OAAQX,GAC9FmO,EAAqBxN,GAAOZ,OAASsO,EAASG,KAAmB,iBAAPxO,EAAkBA,EAAM,KAEhFwD,IAAMlE,GAIE6C,GAEAzB,GAAe8C,EAAExD,KAC3BuO,GAAS,UAFF/K,EAAExD,GAIPuO,EAAQ/K,EAAExD,GAAOW,EAChBlB,EAA4B+D,EAAGxD,EAAKW,IATnC4N,EAAQ/K,EAAExD,GAAOW,EAChBhB,EAAUK,EAAKW,KAUrB+B,SAASjC,UAAW,WAAY,WACjC,MAAsB,mBAARzB,MAAsBwH,EAAiBxH,MAAMe,QAAUmO,EAAclP,S,gBChCrF,IAAIyP,EAAY,EAAQ,IAEpBC,EAAMrM,KAAKqM,IAIf7P,EAAOD,QAAU,SAAUqP,GACzB,OAAkB,EAAXA,EAAeS,EAAID,EAAUR,GAAW,kBAAoB,I,gBCPrE,IAAIxM,EAAI,EAAQ,GACZkN,EAAO,EAAQ,KASnBlN,EAAE,CAAEpB,OAAQ,QAASG,MAAM,EAAMI,QARC,EAAQ,IAEfgO,CAA4B,SAAUC,GAC/DrF,MAAMmF,KAAKE,MAKmD,CAC9DF,KAAMA,K,6BCVR,IAAIlN,EAAI,EAAQ,GACZ8D,EAAW,EAAQ,IACnBD,EAAU,EAAQ,IAClBwJ,EAAkB,EAAQ,IAC1BrC,EAAW,EAAQ,IACnB7I,EAAkB,EAAQ,IAC1B0I,EAAiB,EAAQ,IACzBrG,EAAkB,EAAQ,GAC1BkE,EAA+B,EAAQ,IACvCC,EAA0B,EAAQ,IAElCC,EAAsBF,EAA6B,SACnDG,EAAiBF,EAAwB,QAAS,CAAE2E,WAAW,EAAMC,EAAG,EAAGC,EAAG,IAE9EC,EAAUjJ,EAAgB,WAC1BkJ,EAAc,GAAGxD,MACjByD,EAAM/M,KAAK+M,IAKf3N,EAAE,CAAEpB,OAAQ,QAASsB,OAAO,EAAMf,QAASyJ,IAAwBC,GAAkB,CACnFqB,MAAO,SAAe0D,EAAOC,GAC3B,IAKIC,EAAavK,EAAQuI,EALrB/J,EAAII,EAAgB5E,MACpB4I,EAAS6E,EAASjJ,EAAEoE,QACpBuF,EAAI2B,EAAgBO,EAAOzH,GAC3B4H,EAAMV,OAAwBjO,IAARyO,EAAoB1H,EAAS0H,EAAK1H,GAG5D,GAAItC,EAAQ9B,MAGgB,mBAF1B+L,EAAc/L,EAAEiI,eAEyB8D,IAAgB/F,OAASlE,EAAQiK,EAAY9O,aAE3E8E,EAASgK,IAEE,QADpBA,EAAcA,EAAYL,OAF1BK,OAAc1O,GAKZ0O,IAAgB/F,YAAyB3I,IAAhB0O,GAC3B,OAAOJ,EAAYhL,KAAKX,EAAG2J,EAAGqC,GAIlC,IADAxK,EAAS,SAAqBnE,IAAhB0O,EAA4B/F,MAAQ+F,GAAaH,EAAII,EAAMrC,EAAG,IACvEI,EAAI,EAAGJ,EAAIqC,EAAKrC,IAAKI,IAASJ,KAAK3J,GAAG8I,EAAetH,EAAQuI,EAAG/J,EAAE2J,IAEvE,OADAnI,EAAO4C,OAAS2F,EACTvI,M,gBC9CX,IAAI1B,EAAc,EAAQ,GACtByC,EAA6B,EAAQ,IACrCN,EAA2B,EAAQ,IACnC7B,EAAkB,EAAQ,IAC1BW,EAAc,EAAQ,IACtBvD,EAAM,EAAQ,IACdmL,EAAiB,EAAQ,IAEzBzH,EAAiCxC,OAAO3C,yBAI5CX,EAAQY,EAAI8D,EAAcoB,EAAiC,SAAkClB,EAAGc,GAG9F,GAFAd,EAAII,EAAgBJ,GACpBc,EAAIC,EAAYD,GAAG,GACf6H,EAAgB,IAClB,OAAOzH,EAA+BlB,EAAGc,GACzC,MAAOjF,IACT,GAAI2B,EAAIwC,EAAGc,GAAI,OAAOmB,GAA0BM,EAA2BvG,EAAE2E,KAAKX,EAAGc,GAAId,EAAEc,M,cChB7FzF,EAAOD,QAAU,SAAUwD,GACzB,GAAUvB,MAANuB,EAAiB,MAAMsF,UAAU,wBAA0BtF,GAC/D,OAAOA,I,gBCJT,IAAIkB,EAAc,EAAQ,GACtBhE,EAAS,EAAQ,GACjBO,EAAW,EAAQ,IACnB4P,EAAoB,EAAQ,KAC5BnH,EAAiB,EAAQ,IAAuC9I,EAChEgJ,EAAsB,EAAQ,IAA8ChJ,EAC5EkQ,EAAW,EAAQ,KACnBC,EAAW,EAAQ,IACnBC,EAAgB,EAAQ,KACxBlQ,EAAW,EAAQ,IACnB2F,EAAQ,EAAQ,GAChBlC,EAAmB,EAAQ,IAA+BoD,IAC1DsJ,EAAa,EAAQ,KAGrBC,EAFkB,EAAQ,EAElB7J,CAAgB,SACxB8J,EAAezQ,EAAOqL,OACtBD,EAAkBqF,EAAatP,UAC/BuP,EAAM,KACNC,EAAM,KAGNC,EAAc,IAAIH,EAAaC,KAASA,EAExCG,EAAgBP,EAAcO,cAUlC,GARa7M,GAAezD,EAAS,UAAYqQ,GAAeC,GAAiB9K,EAAM,WAGrF,OAFA4K,EAAIH,IAAS,EAENC,EAAaC,IAAQA,GAAOD,EAAaE,IAAQA,GAAiC,QAA1BF,EAAaC,EAAK,QAKvE,CA0CV,IAzCA,IAAII,EAAgB,SAAgBC,EAAS7F,GAC3C,IAGI8F,EAHAC,EAAevR,gBAAgBoR,EAC/BI,EAAkBd,EAASW,GAC3BI,OAA8B5P,IAAV2J,EAGxB,IAAK+F,GAAgBC,GAAmBH,EAAQ5E,cAAgB2E,GAAiBK,EAC/E,OAAOJ,EAGLH,EACEM,IAAoBC,IAAmBJ,EAAUA,EAAQtQ,QACpDsQ,aAAmBD,IACxBK,IAAmBjG,EAAQmF,EAASxL,KAAKkM,IAC7CA,EAAUA,EAAQtQ,QAGhBoQ,IACFG,IAAW9F,IAA+B,EAAtBA,EAAMkG,QAAQ,QACtBlG,EAAQA,EAAMoB,QAAQ,KAAM,KAG1C,IAAI5G,EAASyK,EACXS,EAAc,IAAIH,EAAaM,EAAS7F,GAASuF,EAAaM,EAAS7F,GACvE+F,EAAevR,KAAO0L,EACtB0F,GAKF,OAFID,GAAiBG,GAAQnN,EAAiB6B,EAAQ,CAAEsL,OAAQA,IAEzDtL,GASLnB,EAAO2E,EAAoBuH,GAC3BhH,EAAQ,EACLlF,EAAK+D,OAASmB,IATT,SAAU/I,GACpBA,KAAOoQ,GAAiB9H,EAAe8H,EAAepQ,EAAK,CACzD+H,cAAc,EACdZ,IAAK,WAAc,OAAO4I,EAAa/P,IACvCuG,IAAK,SAAUnE,GAAM2N,EAAa/P,GAAOoC,KAKjBuO,CAAM9M,EAAKkF,OACvC2B,EAAgBe,YAAc2E,GAChB3P,UAAYiK,EAC1BhL,EAASJ,EAAQ,SAAU8Q,GAI7BP,EAAW,W,gBCnFX,IAAIvM,EAAc,EAAQ,GACtBgF,EAAiB,EAAQ,IAAuC9I,EAEhEoR,EAAoBlO,SAASjC,UAC7BoQ,EAA4BD,EAAkB3O,SAC9C6O,EAAS,yBAKTxN,GAJO,SAIkBsN,GAC3BtI,EAAesI,EALN,OAK+B,CACtC7I,cAAc,EACdZ,IAAK,WACH,IACE,OAAO0J,EAA0B1M,KAAKnF,MAAM+R,MAAMD,GAAQ,GAC1D,MAAOzR,GACP,MAAO,Q,cCjBf,IAAI4C,EAAW,GAAGA,SAElBpD,EAAOD,QAAU,SAAUwD,GACzB,OAAOH,EAASkC,KAAK/B,GAAIuJ,MAAM,GAAI,K,gBCArB,SAAZqF,EAAsBC,GACxB,MAA0B,mBAAZA,EAAyBA,OAAWpQ,EAJpD,IAAIqQ,EAAO,EAAQ,IACf5R,EAAS,EAAQ,GAMrBT,EAAOD,QAAU,SAAUuS,EAAWC,GACpC,OAAOzJ,UAAUC,OAAS,EAAIoJ,EAAUE,EAAKC,KAAeH,EAAU1R,EAAO6R,IACzED,EAAKC,IAAcD,EAAKC,GAAWC,IAAW9R,EAAO6R,IAAc7R,EAAO6R,GAAWC,K,gBCF7E,SAAVC,EAAoBjP,GAAM,MAAMA,EAPpC,IAAIkB,EAAc,EAAQ,GACtB+B,EAAQ,EAAQ,GAChBrE,EAAM,EAAQ,IAEdsH,EAAiBpG,OAAOoG,eACxBgJ,EAAQ,GAIZzS,EAAOD,QAAU,SAAUsN,EAAapM,GACtC,GAAIkB,EAAIsQ,EAAOpF,GAAc,OAAOoF,EAAMpF,GAE1C,IAAIkF,EAAS,GAAGlF,GACZ6C,IAAY/N,EAFFlB,EAATA,GAAmB,GAEK,cAAeA,EAAQiP,UAChDwC,EAAYvQ,EAAIlB,EAAS,GAAKA,EAAQ,GAAKuR,EAC3CG,EAAYxQ,EAAIlB,EAAS,GAAKA,EAAQ,QAAKe,EAE/C,OAAOyQ,EAAMpF,KAAiBkF,IAAW/L,EAAM,WAC7C,GAAI0J,IAAczL,EAAa,OAAO,EACtC,IAAIE,EAAI,CAAEoE,QAAS,GAEfmH,EAAWzG,EAAe9E,EAAG,EAAG,CAAEoB,YAAY,EAAMuC,IAAKkK,IACxD7N,EAAE,GAAK,EAEZ4N,EAAOjN,KAAKX,EAAG+N,EAAWC,O,6BCvB9B,IAAIC,EAAgC,EAAQ,IACxC/N,EAAW,EAAQ,IACnB+I,EAAW,EAAQ,IACnBmB,EAAyB,EAAQ,IACjC8D,EAAqB,EAAQ,IAC7BC,EAAa,EAAQ,IAGzBF,EAA8B,QAAS,EAAG,SAAU3B,EAAO8B,EAAaC,GACtE,MAAO,CAGL,SAAetG,GACb,IAAI/H,EAAIoK,EAAuB5O,MAC3B8S,EAAoBjR,MAAV0K,OAAsB1K,EAAY0K,EAAOuE,GACvD,YAAmBjP,IAAZiR,EAAwBA,EAAQ3N,KAAKoH,EAAQ/H,GAAK,IAAImH,OAAOY,GAAQuE,GAAOjI,OAAOrE,KAI5F,SAAU+H,GACR,IAAIwG,EAAMF,EAAgBD,EAAarG,EAAQvM,MAC/C,GAAI+S,EAAInI,KAAM,OAAOmI,EAAIpR,MAEzB,IAAIqR,EAAKtO,EAAS6H,GACd0G,EAAIpK,OAAO7I,MAEf,IAAKgT,EAAG1S,OAAQ,OAAOqS,EAAWK,EAAIC,GAOtC,IALA,IAIIjN,EAJAkN,EAAcF,EAAGG,QAEjB7E,EAAI,GACJC,EAFJyE,EAAGI,UAAY,EAIyB,QAAhCpN,EAAS2M,EAAWK,EAAIC,KAAc,CAC5C,IAAII,EAAWxK,OAAO7C,EAAO,IAEZ,MADjBsI,EAAEC,GAAK8E,KACcL,EAAGI,UAAYV,EAAmBO,EAAGxF,EAASuF,EAAGI,WAAYF,IAClF3E,IAEF,OAAa,IAANA,EAAU,KAAOD,O,6BCvC9B,IAAImE,EAAgC,EAAQ,IACxC/B,EAAW,EAAQ,KACnBhM,EAAW,EAAQ,IACnBkK,EAAyB,EAAQ,IACjC0E,EAAqB,EAAQ,KAC7BZ,EAAqB,EAAQ,IAC7BjF,EAAW,EAAQ,IACnB8F,EAAiB,EAAQ,IACzBC,EAAa,EAAQ,IACrBnN,EAAQ,EAAQ,GAEhBoN,EAAY,GAAGvN,KACfwJ,EAAMrM,KAAKqM,IACXgE,EAAa,WAGbC,GAActN,EAAM,WAAc,OAAQsF,OAAO+H,EAAY,OAGjEjB,EAA8B,QAAS,EAAG,SAAUmB,EAAOC,EAAahB,GACtE,IAUEiB,EAR2B,KAA3B,OAAOxE,MAAM,QAAQ,IACc,GAAnC,OAAOA,MAAM,QAAS,GAAG1G,QACO,GAAhC,KAAK0G,MAAM,WAAW1G,QACU,GAAhC,IAAI0G,MAAM,YAAY1G,QACK,EAA3B,IAAI0G,MAAM,QAAQ1G,QAClB,GAAG0G,MAAM,MAAM1G,OAGC,SAAUmL,EAAWC,GACnC,IAAIhL,EAASH,OAAO+F,EAAuB5O,OACvCiU,OAAgBpS,IAAVmS,EAAsBN,EAAaM,IAAU,EACvD,GAAY,GAARC,EAAW,MAAO,GACtB,QAAkBpS,IAAdkS,EAAyB,MAAO,CAAC/K,GAErC,IAAK0H,EAASqD,GACZ,OAAOF,EAAY1O,KAAK6D,EAAQ+K,EAAWE,GAW7C,IATA,IAQIlC,EAAOqB,EAAWc,EARlBC,EAAS,GACT3I,GAASuI,EAAUK,WAAa,IAAM,KAC7BL,EAAUM,UAAY,IAAM,KAC5BN,EAAUZ,QAAU,IAAM,KAC1BY,EAAUzC,OAAS,IAAM,IAClCgD,EAAgB,EAEhBC,EAAgB,IAAI5I,OAAOoI,EAAUhT,OAAQyK,EAAQ,MAElDuG,EAAQyB,EAAWrO,KAAKoP,EAAevL,OAE5BsL,GADhBlB,EAAYmB,EAAcnB,aAExBe,EAAOjO,KAAK8C,EAAO2D,MAAM2H,EAAevC,EAAMhI,QAC3B,EAAfgI,EAAMnJ,QAAcmJ,EAAMhI,MAAQf,EAAOJ,QAAQ6K,EAAUzJ,MAAMmK,EAAQpC,EAAMpF,MAAM,IACzFuH,EAAanC,EAAM,GAAGnJ,OACtB0L,EAAgBlB,EACZe,EAAOvL,QAAUqL,KAEnBM,EAAcnB,YAAcrB,EAAMhI,OAAOwK,EAAcnB,YAK7D,OAHIkB,IAAkBtL,EAAOJ,QACvBsL,GAAeK,EAAcC,KAAK,KAAKL,EAAOjO,KAAK,IAClDiO,EAAOjO,KAAK8C,EAAO2D,MAAM2H,IACzBH,EAAOvL,OAASqL,EAAME,EAAOxH,MAAM,EAAGsH,GAAOE,GAG7C,IAAI7E,WAAMzN,EAAW,GAAG+G,OACjB,SAAUmL,EAAWC,GACnC,YAAqBnS,IAAdkS,GAAqC,IAAVC,EAAc,GAAKH,EAAY1O,KAAKnF,KAAM+T,EAAWC,IAEpEH,EAEvB,MAAO,CAGL,SAAeE,EAAWC,GACxB,IAAIxP,EAAIoK,EAAuB5O,MAC3ByU,EAAwB5S,MAAbkS,OAAyBlS,EAAYkS,EAAUH,GAC9D,YAAoB/R,IAAb4S,EACHA,EAAStP,KAAK4O,EAAWvP,EAAGwP,GAC5BF,EAAc3O,KAAK0D,OAAOrE,GAAIuP,EAAWC,IAO/C,SAAUzH,EAAQyH,GAChB,IAAIjB,EAAMF,EAAgBiB,EAAevH,EAAQvM,KAAMgU,EAAOF,IAAkBD,GAChF,GAAId,EAAInI,KAAM,OAAOmI,EAAIpR,MAEzB,IAAIqR,EAAKtO,EAAS6H,GACd0G,EAAIpK,OAAO7I,MACX0U,EAAIpB,EAAmBN,EAAIrH,QAE3BgJ,EAAkB3B,EAAGG,QACrB3H,GAASwH,EAAGoB,WAAa,IAAM,KACtBpB,EAAGqB,UAAY,IAAM,KACrBrB,EAAGG,QAAU,IAAM,KACnBQ,EAAa,IAAM,KAI5Bc,EAAW,IAAIC,EAAEf,EAAaX,EAAK,OAASA,EAAGjS,OAAS,IAAKyK,GAC7DyI,OAAgBpS,IAAVmS,EAAsBN,EAAaM,IAAU,EACvD,GAAY,GAARC,EAAW,MAAO,GACtB,GAAiB,IAAbhB,EAAErK,OAAc,OAAuC,OAAhC2K,EAAekB,EAAUxB,GAAc,CAACA,GAAK,GAIxE,IAHA,IAAIjH,EAAI,EACJ4I,EAAI,EACJtG,EAAI,GACDsG,EAAI3B,EAAErK,QAAQ,CACnB6L,EAASrB,UAAYO,EAAaiB,EAAI,EACtC,IACIC,EADAC,EAAIvB,EAAekB,EAAUd,EAAaV,EAAIA,EAAEtG,MAAMiI,IAE1D,GACQ,OAANE,IACCD,EAAInF,EAAIjC,EAASgH,EAASrB,WAAaO,EAAa,EAAIiB,IAAK3B,EAAErK,WAAaoD,EAE7E4I,EAAIlC,EAAmBO,EAAG2B,EAAGD,OACxB,CAEL,GADArG,EAAEpI,KAAK+M,EAAEtG,MAAMX,EAAG4I,IACdtG,EAAE1F,SAAWqL,EAAK,OAAO3F,EAC7B,IAAK,IAAIE,EAAI,EAAGA,GAAKsG,EAAElM,OAAS,EAAG4F,IAEjC,GADAF,EAAEpI,KAAK4O,EAAEtG,IACLF,EAAE1F,SAAWqL,EAAK,OAAO3F,EAE/BsG,EAAI5I,EAAI6I,GAIZ,OADAvG,EAAEpI,KAAK+M,EAAEtG,MAAMX,IACRsC,MAGTqF,I,6BCpIJ,IAAIlR,EAAI,EAAQ,GACZsS,EAAW,EAAQ,IAA+BrD,QAClDsD,EAAsB,EAAQ,IAC9B5J,EAA0B,EAAQ,IAElC6J,EAAgB,GAAGvD,QAEnBwD,IAAkBD,GAAiB,EAAI,CAAC,GAAGvD,QAAQ,GAAI,GAAK,EAC5DyD,EAAgBH,EAAoB,WACpC1J,EAAiBF,EAAwB,UAAW,CAAE2E,WAAW,EAAME,EAAG,IAI9ExN,EAAE,CAAEpB,OAAQ,QAASsB,OAAO,EAAMf,OAAQsT,IAAkBC,IAAkB7J,GAAkB,CAC9FoG,QAAS,SAAiB0D,EAAjB,GACP,OAAOF,EAEHD,EAAcjL,MAAMhK,KAAM2I,YAAc,EACxCoM,EAAS/U,KAAMoV,EAAkC,EAAnBzM,UAAUC,OAJrC,OAIiE/G,O,6BClB5E,IAAI4Q,EAAgC,EAAQ,IACxC/N,EAAW,EAAQ,IACnB8B,EAAW,EAAQ,IACnBiH,EAAW,EAAQ,IACnBgC,EAAY,EAAQ,IACpBb,EAAyB,EAAQ,IACjC8D,EAAqB,EAAQ,IAC7BC,EAAa,EAAQ,IAErBvC,EAAM/M,KAAK+M,IACXV,EAAMrM,KAAKqM,IACX2F,EAAQhS,KAAKgS,MACbC,EAAuB,4BACvBC,EAAgC,oBAOpC9C,EAA8B,UAAW,EAAG,SAAU+C,EAASC,EAAe5C,EAAiB6C,GAC7F,IAAIC,EAA+CD,EAAOC,6CACtDC,EAAmBF,EAAOE,iBAC1BC,EAAoBF,EAA+C,IAAM,KAE7E,MAAO,CAGL,SAAiBG,EAAaC,GAC5B,IAAIvR,EAAIoK,EAAuB5O,MAC3B2J,EAA0B9H,MAAfiU,OAA2BjU,EAAYiU,EAAYN,GAClE,YAAoB3T,IAAb8H,EACHA,EAASxE,KAAK2Q,EAAatR,EAAGuR,GAC9BN,EAActQ,KAAK0D,OAAOrE,GAAIsR,EAAaC,IAIjD,SAAUxJ,EAAQwJ,GAChB,IACIJ,GAAgDC,GACzB,iBAAjBG,IAA0E,IAA7CA,EAAarE,QAAQmE,GAC1D,CACA,IAAI9C,EAAMF,EAAgB4C,EAAelJ,EAAQvM,KAAM+V,GACvD,GAAIhD,EAAInI,KAAM,OAAOmI,EAAIpR,MAG3B,IAAIqR,EAAKtO,EAAS6H,GACd0G,EAAIpK,OAAO7I,MAEXgW,EAA4C,mBAAjBD,EAC1BC,IAAmBD,EAAelN,OAAOkN,IAE9C,IAEM7C,EAFF5S,EAAS0S,EAAG1S,OACZA,IACE4S,EAAcF,EAAGG,QACrBH,EAAGI,UAAY,GAGjB,IADA,IAAI6C,EAAU,KACD,CACX,IAAIjQ,EAAS2M,EAAWK,EAAIC,GAC5B,GAAe,OAAXjN,EAAiB,MAGrB,GADAiQ,EAAQ/P,KAAKF,IACR1F,EAAQ,MAGI,KADFuI,OAAO7C,EAAO,MACRgN,EAAGI,UAAYV,EAAmBO,EAAGxF,EAASuF,EAAGI,WAAYF,IAKpF,IAFA,IAtDwB9P,EAsDpB8S,EAAoB,GACpBC,EAAqB,EAChB3H,EAAI,EAAGA,EAAIyH,EAAQrN,OAAQ4F,IAAK,CACvCxI,EAASiQ,EAAQzH,GAUjB,IARA,IAAI4H,EAAUvN,OAAO7C,EAAO,IACxBqQ,EAAWjG,EAAIV,EAAID,EAAUzJ,EAAO+D,OAAQkJ,EAAErK,QAAS,GACvD0N,EAAW,GAMNC,EAAI,EAAGA,EAAIvQ,EAAO4C,OAAQ2N,IAAKD,EAASpQ,UAlEzCrE,KADcuB,EAmE8C4C,EAAOuQ,IAlEvDnT,EAAKyF,OAAOzF,IAmEhC,IAEMoT,EAFFC,EAAgBzQ,EAAO0Q,OAIrBC,EAHFX,GACEQ,EAAe,CAACJ,GAASrR,OAAOuR,EAAUD,EAAUpD,QAClCpR,IAAlB4U,GAA6BD,EAAatQ,KAAKuQ,GACjC5N,OAAOkN,EAAa/L,WAAMnI,EAAW2U,KAc/D,SAAyBJ,EAASQ,EAAKP,EAAUC,EAAUG,EAAeE,GACxE,IAAIE,EAAUR,EAAWD,EAAQxN,OAC7BzI,EAAImW,EAAS1N,OACbkO,EAAUvB,OACQ1T,IAAlB4U,IACFA,EAAgBjQ,EAASiQ,GACzBK,EAAUxB,GAEZ,OAAOG,EAActQ,KAAKwR,EAAaG,EAAS,SAAU/E,EAAOgF,GAC/D,IAAIC,EACJ,OAAQD,EAAGjM,OAAO,IAChB,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,OAAOsL,EACjB,IAAK,IAAK,OAAOQ,EAAIjK,MAAM,EAAG0J,GAC9B,IAAK,IAAK,OAAOO,EAAIjK,MAAMkK,GAC3B,IAAK,IACHG,EAAUP,EAAcM,EAAGpK,MAAM,GAAI,IACrC,MACF,QACE,IAAI4B,GAAKwI,EACT,GAAU,GAANxI,EAAS,OAAOwD,EACpB,GAAQ5R,EAAJoO,EAAO,CACT,IAAI/N,EAAI6U,EAAM9G,EAAI,IAClB,OAAU,IAAN/N,EAAgBuR,EAChBvR,GAAKL,OAA8B0B,IAApByU,EAAS9V,EAAI,GAAmBuW,EAAGjM,OAAO,GAAKwL,EAAS9V,EAAI,GAAKuW,EAAGjM,OAAO,GACvFiH,EAETiF,EAAUV,EAAS/H,EAAI,GAE3B,YAAmB1M,IAAZmV,EAAwB,GAAKA,IAzClBC,CAAgBb,EAASnD,EAAGoD,EAAUC,EAAUG,EAAeV,GAE/DI,GAAZE,IACFH,GAAqBjD,EAAEtG,MAAMwJ,EAAoBE,GAAYM,EAC7DR,EAAqBE,EAAWD,EAAQxN,QAG5C,OAAOsN,EAAoBjD,EAAEtG,MAAMwJ,Q,+BCjGzC;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAIe,EAA8B,oBAAX1T,QAA8C,oBAAb2T,UAAiD,oBAAdC,UAEvFC,EAAkB,WAEpB,IADA,IAAIC,EAAwB,CAAC,OAAQ,UAAW,WACvC9I,EAAI,EAAGA,EAAI8I,EAAsB1O,OAAQ4F,GAAK,EACrD,GAAI0I,GAAsE,GAAzDE,UAAUG,UAAU7F,QAAQ4F,EAAsB9I,IACjE,OAAO,EAGX,OAAO,EAPa,GAqCtB,IAWIgJ,EAXqBN,GAAa1T,OAAOiU,QA3B7C,SAA2BC,GACzB,IAAIC,GAAS,EACb,OAAO,WACDA,IAGJA,GAAS,EACTnU,OAAOiU,QAAQG,UAAUC,KAAK,WAC5BF,GAAS,EACTD,SAKN,SAAsBA,GACpB,IAAII,GAAY,EAChB,OAAO,WACAA,IACHA,GAAY,EACZC,WAAW,WACTD,GAAY,EACZJ,KACCL,MAyBT,SAASW,EAAWC,GAElB,OAAOA,GAA8D,sBADvD,GACoBhV,SAASkC,KAAK8S,GAUlD,SAASC,EAAyBC,EAASC,GACzC,GAAyB,IAArBD,EAAQE,SACV,MAAO,GAGT,IACIC,EADSH,EAAQI,cAAcC,YAClBC,iBAAiBN,EAAS,MAC3C,OAAOC,EAAWE,EAAIF,GAAYE,EAUpC,SAASI,EAAcP,GACrB,MAAyB,SAArBA,EAAQQ,SACHR,EAEFA,EAAQS,YAAcT,EAAQU,KAUvC,SAASC,EAAgBX,GAEvB,IAAKA,EACH,OAAOhB,SAAS4B,KAGlB,OAAQZ,EAAQQ,UACd,IAAK,OACL,IAAK,OACH,OAAOR,EAAQI,cAAcQ,KAC/B,IAAK,YACH,OAAOZ,EAAQY,KAKnB,IAAIC,EAAwBd,EAAyBC,GACjDc,EAAWD,EAAsBC,SACjCC,EAAYF,EAAsBE,UAClCC,EAAYH,EAAsBG,UAEtC,MAAI,wBAAwB3E,KAAKyE,EAAWE,EAAYD,GAC/Cf,EAGFW,EAAgBJ,EAAcP,IAUvC,SAASiB,EAAiBC,GACxB,OAAOA,GAAaA,EAAUC,cAAgBD,EAAUC,cAAgBD,EAG1E,IAAIE,EAASrC,MAAgB1T,OAAOgW,uBAAwBrC,SAASsC,cACjEC,EAASxC,GAAa,UAAU1C,KAAK4C,UAAUG,WASnD,SAASoC,EAAKC,GACZ,OAAgB,KAAZA,EACKL,EAEO,KAAZK,GAGGL,GAFEG,EAYX,SAASG,EAAgB1B,GACvB,IAAKA,EACH,OAAOhB,SAAS2C,gBAQlB,IALA,IAAIC,EAAiBJ,EAAK,IAAMxC,SAAS4B,KAAO,KAG5CiB,EAAe7B,EAAQ6B,cAAgB,KAEpCA,IAAiBD,GAAkB5B,EAAQ8B,oBAChDD,GAAgB7B,EAAUA,EAAQ8B,oBAAoBD,aAGxD,IAAIrB,EAAWqB,GAAgBA,EAAarB,SAE5C,OAAKA,GAAyB,SAAbA,GAAoC,SAAbA,GAMsB,IAA1D,CAAC,KAAM,KAAM,SAASjH,QAAQsI,EAAarB,WAA2E,WAAvDT,EAAyB8B,EAAc,YACjGH,EAAgBG,GAGlBA,EATE7B,EAAUA,EAAQI,cAAcuB,gBAAkB3C,SAAS2C,gBA4BtE,SAASI,EAAQC,GACf,OAAwB,OAApBA,EAAKvB,WACAsB,EAAQC,EAAKvB,YAGfuB,EAWT,SAASC,EAAuBC,EAAUC,GAExC,KAAKD,GAAaA,EAAShC,UAAaiC,GAAaA,EAASjC,UAC5D,OAAOlB,SAAS2C,gBAIlB,IAAIS,EAAQF,EAASG,wBAAwBF,GAAYG,KAAKC,4BAC1DrK,EAAQkK,EAAQF,EAAWC,EAC3BhK,EAAMiK,EAAQD,EAAWD,EAGzBM,EAAQxD,SAASyD,cACrBD,EAAME,SAASxK,EAAO,GACtBsK,EAAMG,OAAOxK,EAAK,GAClB,IA/CyB6H,EACrBQ,EA8CAoC,EAA0BJ,EAAMI,wBAIpC,GAAIV,IAAaU,GAA2BT,IAAaS,GAA2B1K,EAAM2K,SAAS1K,GACjG,MAjDe,UAFbqI,GADqBR,EAoDD4C,GAnDDpC,WAKH,SAAbA,GAAuBkB,EAAgB1B,EAAQ8C,qBAAuB9C,EAkDpE0B,EAAgBkB,GAHdA,EAOX,IAAIG,EAAehB,EAAQG,GAC3B,OAAIa,EAAarC,KACRuB,EAAuBc,EAAarC,KAAMyB,GAE1CF,EAAuBC,EAAUH,EAAQI,GAAUzB,MAY9D,SAASsC,EAAUhD,EAAnB,GACE,IAEIiD,EAAqB,SAFK,EAAnBzS,UAAUC,aAA+B/G,IADtD,IACiF,OAE9C,YAAc,aAC3C8W,EAAWR,EAAQQ,SAEvB,GAAiB,SAAbA,GAAoC,SAAbA,EAM3B,OAAOR,EAAQiD,GALb,IAAIC,EAAOlD,EAAQI,cAAcuB,gBAEjC,OADuB3B,EAAQI,cAAc+C,kBAAoBD,GACzCD,GAsC5B,SAASG,EAAeC,EAAQC,GAC9B,IAAIC,EAAiB,MAATD,EAAe,OAAS,MAChCE,EAAkB,QAAVD,EAAmB,QAAU,SAEzC,OAAOE,WAAWJ,EAAO,SAAWE,EAAQ,UAAYE,WAAWJ,EAAO,SAAWG,EAAQ,UAG/F,SAASE,EAAQJ,EAAM1C,EAAMsC,EAAMS,GACjC,OAAOzY,KAAK+M,IAAI2I,EAAK,SAAW0C,GAAO1C,EAAK,SAAW0C,GAAOJ,EAAK,SAAWI,GAAOJ,EAAK,SAAWI,GAAOJ,EAAK,SAAWI,GAAO9B,EAAK,IAAMoC,SAASV,EAAK,SAAWI,IAASM,SAASD,EAAc,UAAqB,WAATL,EAAoB,MAAQ,UAAYM,SAASD,EAAc,UAAqB,WAATL,EAAoB,SAAW,WAAa,GAG5U,SAASO,EAAe7E,GACtB,IAAI4B,EAAO5B,EAAS4B,KAChBsC,EAAOlE,EAAS2C,gBAChBgC,EAAgBnC,EAAK,KAAOlB,iBAAiB4C,GAEjD,MAAO,CACLY,OAAQJ,EAAQ,SAAU9C,EAAMsC,EAAMS,GACtCI,MAAOL,EAAQ,QAAS9C,EAAMsC,EAAMS,IAIxC,IAAIK,EAAiB,SAAUC,EAAU7L,GACvC,KAAM6L,aAAoB7L,GACxB,MAAM,IAAI7H,UAAU,sCAIpB2T,EAWK,SAAU9L,EAAa+L,EAAYC,GAGxC,OAFID,GAAY/S,EAAiBgH,EAAY9O,UAAW6a,GACpDC,GAAahT,EAAiBgH,EAAagM,GACxChM,GAbT,SAAShH,EAAiBlI,EAAQmb,GAChC,IAAK,IAAIhO,EAAI,EAAGA,EAAIgO,EAAM5T,OAAQ4F,IAAK,CACrC,IAAIrN,EAAaqb,EAAMhO,GACvBrN,EAAWyE,WAAazE,EAAWyE,aAAc,EACjDzE,EAAW4H,cAAe,EACtB,UAAW5H,IAAYA,EAAWsb,UAAW,GACjDvZ,OAAOoG,eAAejI,EAAQF,EAAWH,IAAKG,IAe/B,SAAjBmI,EAA2BoT,EAAK1b,EAAKW,GAYvC,OAXIX,KAAO0b,EACTxZ,OAAOoG,eAAeoT,EAAK1b,EAAK,CAC9BW,MAAOA,EACPiE,YAAY,EACZmD,cAAc,EACd0T,UAAU,IAGZC,EAAI1b,GAAOW,EAGN+a,EAZT,IAeIC,EAAWzZ,OAAO0Z,QAAU,SAAUvb,GACxC,IAAK,IAAImN,EAAI,EAAGA,EAAI7F,UAAUC,OAAQ4F,IAAK,CACzC,IAAIzN,EAAS4H,UAAU6F,GAEvB,IAAK,IAAIxN,KAAOD,EACVmC,OAAOzB,UAAU0I,eAAehF,KAAKpE,EAAQC,KAC/CK,EAAOL,GAAOD,EAAOC,IAK3B,OAAOK,GAUT,SAASwb,EAAcC,GACrB,OAAOH,EAAS,GAAIG,EAAS,CAC3BC,MAAOD,EAAQE,KAAOF,EAAQZ,MAC9Be,OAAQH,EAAQI,IAAMJ,EAAQb,SAWlC,SAASkB,EAAsBhF,GAC7B,IAQQiF,EACAC,EATJC,EAAO,GAKX,IACM3D,EAAK,KACP2D,EAAOnF,EAAQgF,wBACXC,EAAYjC,EAAUhD,EAAS,OAC/BkF,EAAalC,EAAUhD,EAAS,QACpCmF,EAAKJ,KAAOE,EACZE,EAAKN,MAAQK,EACbC,EAAKL,QAAUG,EACfE,EAAKP,OAASM,GAEdC,EAAOnF,EAAQgF,wBAEjB,MAAOtI,IAET,IAkBM2G,EAlBFxV,EAAS,CACXgX,KAAMM,EAAKN,KACXE,IAAKI,EAAKJ,IACVhB,MAAOoB,EAAKP,MAAQO,EAAKN,KACzBf,OAAQqB,EAAKL,OAASK,EAAKJ,KAIzBK,EAA6B,SAArBpF,EAAQQ,SAAsBqD,EAAe7D,EAAQI,eAAiB,GAC9E2D,EAAQqB,EAAMrB,OAAS/D,EAAQqF,aAAexX,EAAOkW,MACrDD,EAASsB,EAAMtB,QAAU9D,EAAQsF,cAAgBzX,EAAOiW,OAExDyB,EAAiBvF,EAAQwF,YAAczB,EACvC0B,EAAgBzF,EAAQ0F,aAAe5B,EAa3C,OATIyB,GAAkBE,KAEpBF,GAAkBnC,EADdC,EAAStD,EAAyBC,GACG,KACzCyF,GAAiBrC,EAAeC,EAAQ,KAExCxV,EAAOkW,OAASwB,EAChB1X,EAAOiW,QAAU2B,GAGZf,EAAc7W,GAGvB,SAAS8X,EAAqCC,EAAUC,EAAxD,GACE,IAAIC,EAAmC,EAAnBtV,UAAUC,aAA+B/G,IAD/D,KAGM6X,EAASC,EAAK,IACduE,EAA6B,SAApBF,EAAOrF,SAChBwF,EAAehB,EAAsBY,GACrCK,EAAajB,EAAsBa,GACnCK,EAAevF,EAAgBiF,GAE/BvC,EAAStD,EAAyB8F,GAClCM,EAAiB1C,WAAWJ,EAAO8C,gBACnCC,EAAkB3C,WAAWJ,EAAO+C,iBAGpCN,GAAiBC,IACnBE,EAAWlB,IAAM7Z,KAAK+M,IAAIgO,EAAWlB,IAAK,GAC1CkB,EAAWpB,KAAO3Z,KAAK+M,IAAIgO,EAAWpB,KAAM,IAE9C,IAcMwB,EACAC,EAfF3B,EAAUD,EAAc,CAC1BK,IAAKiB,EAAajB,IAAMkB,EAAWlB,IAAMoB,EACzCtB,KAAMmB,EAAanB,KAAOoB,EAAWpB,KAAOuB,EAC5CrC,MAAOiC,EAAajC,MACpBD,OAAQkC,EAAalC,SA2BvB,OAzBAa,EAAQ0B,UAAY,EACpB1B,EAAQ2B,WAAa,GAMhB/E,GAAUwE,IACTM,EAAY5C,WAAWJ,EAAOgD,WAC9BC,EAAa7C,WAAWJ,EAAOiD,YAEnC3B,EAAQI,KAAOoB,EAAiBE,EAChC1B,EAAQG,QAAUqB,EAAiBE,EACnC1B,EAAQE,MAAQuB,EAAkBE,EAClC3B,EAAQC,OAASwB,EAAkBE,EAGnC3B,EAAQ0B,UAAYA,EACpB1B,EAAQ2B,WAAaA,IAGnB/E,IAAWuE,EAAgBD,EAAOhD,SAASqD,GAAgBL,IAAWK,GAA0C,SAA1BA,EAAa1F,YACrGmE,EA1NJ,SAAuBQ,EAAMnF,EAA7B,GACE,IAAIuG,EAA8B,EAAnB/V,UAAUC,aAA+B/G,IAD1D,KAGMub,EAAYjC,EAAUhD,EAAS,OAC/BkF,EAAalC,EAAUhD,EAAS,QAChCwG,EAAWD,GAAY,EAAI,EAK/B,OAJApB,EAAKJ,KAAOE,EAAYuB,EACxBrB,EAAKL,QAAUG,EAAYuB,EAC3BrB,EAAKN,MAAQK,EAAasB,EAC1BrB,EAAKP,OAASM,EAAasB,EACpBrB,EAgNKsB,CAAc9B,EAASkB,IAG5BlB,EAuDT,SAAS+B,EAA6B1G,GAEpC,IAAKA,IAAYA,EAAQ2G,eAAiBnF,IACxC,OAAOxC,SAAS2C,gBAGlB,IADA,IAAIiF,EAAK5G,EAAQ2G,cACVC,GAAoD,SAA9C7G,EAAyB6G,EAAI,cACxCA,EAAKA,EAAGD,cAEV,OAAOC,GAAM5H,SAAS2C,gBAcxB,SAASkF,EAAcC,EAAQ5F,EAAW6F,EAASC,EAAnD,GACE,IAYMC,EAYAtC,EAIEuC,EACApD,EACAC,EA9BJ+B,EAAmC,EAAnBtV,UAAUC,aAA+B/G,IAD/D,KAKMyd,EAAa,CAAEpC,IAAK,EAAGF,KAAM,GAC7BhD,EAAeiE,EAAgBY,EAA6BI,GAAU7E,EAAuB6E,EAAQ7F,EAAiBC,IAGhG,aAAtB8F,EACFG,EArFJ,SAAuDnH,EAAvD,GACE,IAAIoH,EAAmC,EAAnB5W,UAAUC,aAA+B/G,IAD/D,KAGMwZ,EAAOlD,EAAQI,cAAcuB,gBAC7B0F,EAAiB1B,EAAqC3F,EAASkD,GAC/Da,EAAQ7Y,KAAK+M,IAAIiL,EAAKmC,YAAaha,OAAOic,YAAc,GACxDxD,EAAS5Y,KAAK+M,IAAIiL,EAAKoC,aAAcja,OAAOkc,aAAe,GAE3DtC,EAAamC,EAAkC,EAAlBpE,EAAUE,GACvCgC,EAAckC,EAA0C,EAA1BpE,EAAUE,EAAM,QASlD,OAAOwB,EAPM,CACXK,IAAKE,EAAYoC,EAAetC,IAAMsC,EAAehB,UACrDxB,KAAMK,EAAamC,EAAexC,KAAOwC,EAAef,WACxDvC,MAAOA,EACPD,OAAQA,IAsEK0D,CAA8C3F,EAAciE,IAGrEmB,OAAiB,EACK,iBAAtBD,EAE8B,UADhCC,EAAiBtG,EAAgBJ,EAAcW,KAC5BV,WACjByG,EAAiBH,EAAO1G,cAAcuB,iBAGxCsF,EAD+B,WAAtBD,EACQF,EAAO1G,cAAcuB,gBAErBqF,EAGfrC,EAAUgB,EAAqCsB,EAAgBpF,EAAciE,GAGjD,SAA5BmB,EAAezG,UA1EvB,SAASiH,EAAQzH,GACf,IAAIQ,EAAWR,EAAQQ,SACvB,GAAiB,SAAbA,GAAoC,SAAbA,EACzB,OAAO,EAET,GAAsD,UAAlDT,EAAyBC,EAAS,YACpC,OAAO,EAET,IAAIS,EAAaF,EAAcP,GAC/B,QAAKS,GAGEgH,EAAQhH,GA8D8BgH,CAAQ5F,GAWjDsF,EAAaxC,GATTb,GADAoD,EAAkBrD,EAAeiD,EAAO1G,gBACf0D,OACzBC,EAAQmD,EAAgBnD,MAE5BoD,EAAWpC,KAAOJ,EAAQI,IAAMJ,EAAQ0B,UACxCc,EAAWrC,OAAShB,EAASa,EAAQI,IACrCoC,EAAWtC,MAAQF,EAAQE,KAAOF,EAAQ2B,WAC1Ca,EAAWvC,MAAQb,EAAQY,EAAQE,OASvC,IAAI6C,EAAqC,iBADzCX,EAAUA,GAAW,GAOrB,OALAI,EAAWtC,MAAQ6C,EAAkBX,EAAUA,EAAQlC,MAAQ,EAC/DsC,EAAWpC,KAAO2C,EAAkBX,EAAUA,EAAQhC,KAAO,EAC7DoC,EAAWvC,OAAS8C,EAAkBX,EAAUA,EAAQnC,OAAS,EACjEuC,EAAWrC,QAAU4C,EAAkBX,EAAUA,EAAQjC,QAAU,EAE5DqC,EAmBT,SAASQ,EAAqBC,EAAWC,EAASf,EAAQ5F,EAAW8F,EAArE,GACE,IAAID,EAA6B,EAAnBvW,UAAUC,aAA+B/G,IADzD,IACoF,EAElF,IAAmC,IAA/Bke,EAAUrO,QAAQ,QACpB,OAAOqO,EAGT,IAAIT,EAAaN,EAAcC,EAAQ5F,EAAW6F,EAASC,GAEvDc,EAAQ,CACV/C,IAAK,CACHhB,MAAOoD,EAAWpD,MAClBD,OAAQ+D,EAAQ9C,IAAMoC,EAAWpC,KAEnCH,MAAO,CACLb,MAAOoD,EAAWvC,MAAQiD,EAAQjD,MAClCd,OAAQqD,EAAWrD,QAErBgB,OAAQ,CACNf,MAAOoD,EAAWpD,MAClBD,OAAQqD,EAAWrC,OAAS+C,EAAQ/C,QAEtCD,KAAM,CACJd,MAAO8D,EAAQhD,KAAOsC,EAAWtC,KACjCf,OAAQqD,EAAWrD,SAInBiE,EAAchd,OAAO2B,KAAKob,GAAOE,IAAI,SAAUnf,GACjD,OAAO2b,EAAS,CACd3b,IAAKA,GACJif,EAAMjf,GAAM,CACbof,MAhDWC,EAgDGJ,EAAMjf,IA/CPkb,MACJmE,EAAKpE,SAFpB,IAAiBoE,IAkDZC,KAAK,SAAUlY,EAAGmY,GACnB,OAAOA,EAAEH,KAAOhY,EAAEgY,OAGhBI,EAAgBN,EAAYhV,OAAO,SAAUuV,GAC/C,IAAIvE,EAAQuE,EAAMvE,MACdD,EAASwE,EAAMxE,OACnB,OAAOC,GAAS+C,EAAOzB,aAAevB,GAAUgD,EAAOxB,eAGrDiD,EAA2C,EAAvBF,EAAc5X,OAAa4X,EAAc,GAAGxf,IAAMkf,EAAY,GAAGlf,IAErF2f,EAAYZ,EAAUzQ,MAAM,KAAK,GAErC,OAAOoR,GAAqBC,EAAY,IAAMA,EAAY,IAa5D,SAASC,EAAoBjW,EAAOsU,EAAQ5F,EAA5C,GACE,IAAI4E,EAAmC,EAAnBtV,UAAUC,aAA+B/G,IAD/D,IAC0F,KAGxF,OAAOic,EAAqCzE,EADnB4E,EAAgBY,EAA6BI,GAAU7E,EAAuB6E,EAAQ7F,EAAiBC,IACrD4E,GAU7E,SAAS4C,EAAc1I,GACrB,IACIqD,EADSrD,EAAQI,cAAcC,YACfC,iBAAiBN,GACjC2I,EAAIlF,WAAWJ,EAAOgD,WAAa,GAAK5C,WAAWJ,EAAOuF,cAAgB,GAC1EC,EAAIpF,WAAWJ,EAAOiD,YAAc,GAAK7C,WAAWJ,EAAOyF,aAAe,GAK9E,MAJa,CACX/E,MAAO/D,EAAQwF,YAAcqD,EAC7B/E,OAAQ9D,EAAQ0F,aAAeiD,GAYnC,SAASI,EAAqBnB,GAC5B,IAAIoB,EAAO,CAAEnE,KAAM,QAASD,MAAO,OAAQE,OAAQ,MAAOC,IAAK,UAC/D,OAAO6C,EAAUnT,QAAQ,yBAA0B,SAAUwJ,GAC3D,OAAO+K,EAAK/K,KAchB,SAASgL,EAAiBnC,EAAQoC,EAAkBtB,GAClDA,EAAYA,EAAUzQ,MAAM,KAAK,GAGjC,IAAIgS,EAAaT,EAAc5B,GAG3BsC,EAAgB,CAClBrF,MAAOoF,EAAWpF,MAClBD,OAAQqF,EAAWrF,QAIjBuF,GAAoD,IAA1C,CAAC,QAAS,QAAQ9P,QAAQqO,GACpC0B,EAAWD,EAAU,MAAQ,OAC7BE,EAAgBF,EAAU,OAAS,MACnCG,EAAcH,EAAU,SAAW,QACnCI,EAAwBJ,EAAqB,QAAX,SAStC,OAPAD,EAAcE,GAAYJ,EAAiBI,GAAYJ,EAAiBM,GAAe,EAAIL,EAAWK,GAAe,EAEnHJ,EAAcG,GADZ3B,IAAc2B,EACeL,EAAiBK,GAAiBJ,EAAWM,GAE7CP,EAAiBH,EAAqBQ,IAGhEH,EAYT,SAASzS,EAAK+S,EAAKve,GAEjB,OAAIkH,MAAM/I,UAAUqN,KACX+S,EAAI/S,KAAKxL,GAIXue,EAAI3W,OAAO5H,GAAO,GAqC3B,SAASwe,EAAaC,EAAWC,EAAMC,GAoBrC,YAnB8BpgB,IAATogB,EAAqBF,EAAYA,EAAUpV,MAAM,EA1BxE,SAAmBkV,EAAKK,EAAMvgB,GAE5B,GAAI6I,MAAM/I,UAAU0gB,UAClB,OAAON,EAAIM,UAAU,SAAUC,GAC7B,OAAOA,EAAIF,KAAUvgB,IAKzB,IAAIoQ,EAAQjD,EAAK+S,EAAK,SAAUnF,GAC9B,OAAOA,EAAIwF,KAAUvgB,IAEvB,OAAOkgB,EAAInQ,QAAQK,GAcsDoQ,CAAUJ,EAAW,OAAQE,KAEvFvf,QAAQ,SAAUic,GAC3BA,EAAmB,UAErB0D,QAAQC,KAAK,yDAEf,IAAI5K,EAAKiH,EAAmB,UAAKA,EAASjH,GACtCiH,EAAS4D,SAAWvK,EAAWN,KAIjCsK,EAAKlF,QAAQmC,OAASpC,EAAcmF,EAAKlF,QAAQmC,QACjD+C,EAAKlF,QAAQzD,UAAYwD,EAAcmF,EAAKlF,QAAQzD,WAEpD2I,EAAOtK,EAAGsK,EAAMrD,MAIbqD,EA8DT,SAASQ,EAAkBT,EAAWU,GACpC,OAAOV,EAAUW,KAAK,SAAUrC,GAC9B,IAAI7d,EAAO6d,EAAK7d,KAEhB,OADc6d,EAAKkC,SACD/f,IAASigB,IAW/B,SAASE,EAAyBvK,GAIhC,IAHA,IAAIwK,EAAW,EAAC,EAAO,KAAM,SAAU,MAAO,KAC1CC,EAAYzK,EAAStN,OAAO,GAAGgY,cAAgB1K,EAASzL,MAAM,GAEzD6B,EAAI,EAAGA,EAAIoU,EAASha,OAAQ4F,IAAK,CACxC,IAAIuU,EAASH,EAASpU,GAClBwU,EAAUD,EAAS,GAAKA,EAASF,EAAYzK,EACjD,QAA4C,IAAjCjB,SAAS4B,KAAKkK,MAAMD,GAC7B,OAAOA,EAGX,OAAO,KAsCT,SAASE,EAAU/K,GACjB,IAAII,EAAgBJ,EAAQI,cAC5B,OAAOA,EAAgBA,EAAcC,YAAchV,OAoBrD,SAAS2f,EAAoB9J,EAAWvY,EAAS6J,EAAOyY,GAEtDzY,EAAMyY,YAAcA,EACpBF,EAAU7J,GAAWgK,iBAAiB,SAAU1Y,EAAMyY,YAAa,CAAEE,SAAS,IAG9E,IAAIC,EAAgBzK,EAAgBO,GAKpC,OA5BF,SAASmK,EAAsBnF,EAAcoF,EAAOC,EAAUC,GAC5D,IAAIC,EAAmC,SAA1BvF,EAAa1F,SACtBtX,EAASuiB,EAASvF,EAAa9F,cAAcC,YAAc6F,EAC/Dhd,EAAOgiB,iBAAiBI,EAAOC,EAAU,CAAEJ,SAAS,IAE/CM,GACHJ,EAAsB1K,EAAgBzX,EAAOuX,YAAa6K,EAAOC,EAAUC,GAE7EA,EAAczd,KAAK7E,GAgBnBmiB,CAAsBD,EAAe,SAAU5Y,EAAMyY,YAAazY,EAAMgZ,eACxEhZ,EAAM4Y,cAAgBA,EACtB5Y,EAAMkZ,eAAgB,EAEflZ,EA6CT,SAASmZ,IAxBT,IAA8BzK,EAAW1O,EAyBnC3K,KAAK2K,MAAMkZ,gBACbE,qBAAqB/jB,KAAKgkB,gBAC1BhkB,KAAK2K,OA3BqB0O,EA2BQrZ,KAAKqZ,UA3BF1O,EA2Ba3K,KAAK2K,MAzBzDuY,EAAU7J,GAAW4K,oBAAoB,SAAUtZ,EAAMyY,aAGzDzY,EAAMgZ,cAAcjhB,QAAQ,SAAUrB,GACpCA,EAAO4iB,oBAAoB,SAAUtZ,EAAMyY,eAI7CzY,EAAMyY,YAAc,KACpBzY,EAAMgZ,cAAgB,GACtBhZ,EAAM4Y,cAAgB,KACtB5Y,EAAMkZ,eAAgB,EACflZ,IAwBT,SAASuZ,EAAU3V,GACjB,MAAa,KAANA,IAAa4V,MAAMvI,WAAWrN,KAAO6V,SAAS7V,GAWvD,SAAS8V,EAAUlM,EAASqD,GAC1BtY,OAAO2B,KAAK2W,GAAQ9Y,QAAQ,SAAUwf,GACpC,IAAIoC,EAAO,IAEkE,IAAzE,CAAC,QAAS,SAAU,MAAO,QAAS,SAAU,QAAQ5S,QAAQwQ,IAAgBgC,EAAU1I,EAAO0G,MACjGoC,EAAO,MAETnM,EAAQ8K,MAAMf,GAAQ1G,EAAO0G,GAAQoC,IAkGzC,SAASC,EAAkBvC,EAAMwC,GAOjB,SAAVC,EAA2BC,GAC7B,OAAOA,EAPT,IAAIC,EAAgB3C,EAAKlF,QACrBmC,EAAS0F,EAAc1F,OACvB5F,EAAYsL,EAActL,UAC1BuL,EAAQvhB,KAAKuhB,MACbvP,EAAQhS,KAAKgS,MAMbwP,EAAiBD,EAAMvL,EAAU6C,OACjC4I,EAAcF,EAAM3F,EAAO/C,OAE3B6I,GAA4D,IAA/C,CAAC,OAAQ,SAASrT,QAAQsQ,EAAKjC,WAC5CiF,GAA+C,IAAjChD,EAAKjC,UAAUrO,QAAQ,KAIrCuT,EAAuBT,EAAwBO,GAAcC,GAH3CH,EAAiB,GAAMC,EAAc,EAGuCF,EAAQvP,EAAjEoP,EACrCS,EAAqBV,EAAwBI,EAAVH,EAEvC,MAAO,CACLzH,KAAMiI,EANWJ,EAAiB,GAAM,GAAKC,EAAc,GAAM,IAMtBE,GAAeR,EAAcvF,EAAOjC,KAAO,EAAIiC,EAAOjC,MACjGE,IAAKgI,EAAkBjG,EAAO/B,KAC9BD,OAAQiI,EAAkBjG,EAAOhC,QACjCF,MAAOkI,EAAoBhG,EAAOlC,QAItC,IAAIoI,EAAYjO,GAAa,WAAW1C,KAAK4C,UAAUG,WA8GvD,SAAS6N,EAAmBrD,EAAWsD,EAAgBC,GACrD,IAUMC,EACAC,EAXFC,EAAa3W,EAAKiT,EAAW,SAAU1B,GAEzC,OADWA,EAAK7d,OACA6iB,IAGdK,IAAeD,GAAc1D,EAAUW,KAAK,SAAU/D,GACxD,OAAOA,EAASnc,OAAS8iB,GAAiB3G,EAAS4D,SAAW5D,EAASpE,MAAQkL,EAAWlL,QAQ5F,OALKmL,IACCH,EAAc,IAAMF,EAAiB,IACrCG,EAAY,IAAMF,EAAgB,IACtCjD,QAAQC,KAAKkD,EAAY,4BAA8BD,EAAc,4DAA8DA,EAAc,MAE5IG,EAoIT,IAAIC,EAAa,CAAC,aAAc,OAAQ,WAAY,YAAa,MAAO,UAAW,cAAe,QAAS,YAAa,aAAc,SAAU,eAAgB,WAAY,OAAQ,cAGhLC,EAAkBD,EAAWhZ,MAAM,GAYvC,SAASkZ,EAAU9F,EAAnB,GACE,IAAI+F,EAA6B,EAAnBnd,UAAUC,aAA+B/G,IADzD,KAGMkI,EAAQ6b,EAAgBlU,QAAQqO,GAChC8B,EAAM+D,EAAgBjZ,MAAM5C,EAAQ,GAAGhF,OAAO6gB,EAAgBjZ,MAAM,EAAG5C,IAC3E,OAAO+b,EAAUjE,EAAIkE,UAAYlE,EAGnC,IAAImE,EACI,OADJA,EAES,YAFTA,EAGgB,mBAiMpB,SAASC,EAAYC,EAAQ3E,EAAeF,EAAkB8E,GAC5D,IAAIrJ,EAAU,CAAC,EAAG,GAKdsJ,GAA0D,IAA9C,CAAC,QAAS,QAAQ1U,QAAQyU,GAItCE,EAAYH,EAAO5W,MAAM,WAAW6Q,IAAI,SAAUmG,GACpD,OAAOA,EAAKC,SAKVC,EAAUH,EAAU3U,QAAQ5C,EAAKuX,EAAW,SAAUC,GACxD,OAAgC,IAAzBA,EAAKG,OAAO,WAGjBJ,EAAUG,KAAiD,IAArCH,EAAUG,GAAS9U,QAAQ,MACnD2Q,QAAQC,KAAK,gFAKf,IAAIoE,EAAa,cAsCjB,QArCuB,IAAbF,EAAiB,CAACH,EAAU1Z,MAAM,EAAG6Z,GAASzhB,OAAO,CAACshB,EAAUG,GAASlX,MAAMoX,GAAY,KAAM,CAACL,EAAUG,GAASlX,MAAMoX,GAAY,IAAI3hB,OAAOshB,EAAU1Z,MAAM6Z,EAAU,KAAO,CAACH,IAGpLlG,IAAI,SAAUwG,EAAI5c,GAE1B,IAAI4X,GAAyB,IAAV5X,GAAeqc,EAAYA,GAAa,SAAW,QAClEQ,GAAoB,EACxB,OAAOD,EAGNE,OAAO,SAAUze,EAAGmY,GACnB,MAAwB,KAApBnY,EAAEA,EAAEQ,OAAS,KAAwC,IAA3B,CAAC,IAAK,KAAK8I,QAAQ6O,IAC/CnY,EAAEA,EAAEQ,OAAS,GAAK2X,EAClBqG,GAAoB,EACbxe,GACEwe,GACTxe,EAAEA,EAAEQ,OAAS,IAAM2X,EACnBqG,GAAoB,EACbxe,GAEAA,EAAErD,OAAOwb,IAEjB,IAEFJ,IAAI,SAAUvJ,GACb,OAxGN,SAAiBA,EAAK+K,EAAaJ,EAAeF,GAEhD,IAAI/R,EAAQsH,EAAI7E,MAAM,6BAClBpQ,GAAS2N,EAAM,GACfgV,EAAOhV,EAAM,GAGjB,IAAK3N,EACH,OAAOiV,EAGT,GAA0B,IAAtB0N,EAAK5S,QAAQ,KAcV,MAAa,OAAT4S,GAA0B,OAATA,EAYnB3iB,GATM,OAAT2iB,EACKjhB,KAAK+M,IAAI+G,SAAS2C,gBAAgB2D,aAAcja,OAAOkc,aAAe,GAEtErc,KAAK+M,IAAI+G,SAAS2C,gBAAgB0D,YAAaha,OAAOic,YAAc,IAE/D,IAAM9d,EArBpB,IAAIwW,OAAU,EACd,OAAQmM,GACN,IAAK,KACHnM,EAAUoJ,EACV,MACF,IAAK,IACL,IAAK,KACL,QACEpJ,EAAUkJ,EAId,OADWxE,EAAc1E,GACbwJ,GAAe,IAAMhgB,EAgFxBmlB,CAAQlQ,EAAK+K,EAAaJ,EAAeF,OAKhD3e,QAAQ,SAAUikB,EAAI5c,GACxB4c,EAAGjkB,QAAQ,SAAU4jB,EAAMS,GACrB7C,EAAUoC,KACZxJ,EAAQ/S,IAAUuc,GAA2B,MAAnBK,EAAGI,EAAS,IAAc,EAAI,QAIvDjK,EA2OT,IAkWIkK,EAAW,CAKbjH,UAAW,SAMXkH,eAAe,EAMfpD,eAAe,EAOfqD,iBAAiB,EAQjBC,SAAU,aAUVC,SAAU,aAOVrF,UAnZc,CASdsF,MAAO,CAEL9M,MAAO,IAEPgI,SAAS,EAET7K,GA9HJ,SAAesK,GACb,IAMM2C,EACAtL,EACA4F,EAEA8F,EACAuC,EACA3F,EAEA4F,EAdFxH,EAAYiC,EAAKjC,UACjBoG,EAAgBpG,EAAUzQ,MAAM,KAAK,GACrCkY,EAAiBzH,EAAUzQ,MAAM,KAAK,GAoB1C,OAjBIkY,IAEEnO,GADAsL,EAAgB3C,EAAKlF,SACKzD,UAC1B4F,EAAS0F,EAAc1F,OAIvB0C,GAFAoD,GAA2D,IAA9C,CAAC,SAAU,OAAOrT,QAAQyU,IAEZ,QAAU,SAErCoB,EAAe,CACjBlX,MAAO/G,EAAe,GAJpBge,EAAOvC,EAAa,OAAS,MAIC1L,EAAUiO,IAC1ChX,IAAKhH,EAAe,GAAIge,EAAMjO,EAAUiO,GAAQjO,EAAUsI,GAAe1C,EAAO0C,KAGlFK,EAAKlF,QAAQmC,OAAStC,EAAS,GAAIsC,EAAQsI,EAAaC,KAGnDxF,IAgJPkE,OAAQ,CAEN3L,MAAO,IAEPgI,SAAS,EAET7K,GA7RJ,SAAgBsK,EAAM3B,GACpB,IAAI6F,EAAS7F,EAAK6F,OACdnG,EAAYiC,EAAKjC,UACjB4E,EAAgB3C,EAAKlF,QACrBmC,EAAS0F,EAAc1F,OACvB5F,EAAYsL,EAActL,UAE1B8M,EAAgBpG,EAAUzQ,MAAM,KAAK,GAErCwN,OAAU,EAEZA,EADEoH,GAAWgC,GACH,EAAEA,EAAQ,GAEVD,EAAYC,EAAQjH,EAAQ5F,EAAW8M,GAkBnD,MAfsB,SAAlBA,GACFlH,EAAO/B,KAAOJ,EAAQ,GACtBmC,EAAOjC,MAAQF,EAAQ,IACI,UAAlBqJ,GACTlH,EAAO/B,KAAOJ,EAAQ,GACtBmC,EAAOjC,MAAQF,EAAQ,IACI,QAAlBqJ,GACTlH,EAAOjC,MAAQF,EAAQ,GACvBmC,EAAO/B,KAAOJ,EAAQ,IACK,WAAlBqJ,IACTlH,EAAOjC,MAAQF,EAAQ,GACvBmC,EAAO/B,KAAOJ,EAAQ,IAGxBkF,EAAK/C,OAASA,EACP+C,GAkQLkE,OAAQ,GAoBVuB,gBAAiB,CAEflN,MAAO,IAEPgI,SAAS,EAET7K,GAlRJ,SAAyBsK,EAAMlhB,GAC7B,IAAIqe,EAAoBre,EAAQqe,mBAAqBtF,EAAgBmI,EAAK5F,SAAS6C,QAK/E+C,EAAK5F,SAAS/C,YAAc8F,IAC9BA,EAAoBtF,EAAgBsF,IAMtC,IAAIuI,EAAgB/E,EAAyB,aACzCgF,EAAe3F,EAAK5F,SAAS6C,OAAOgE,MACpC/F,EAAMyK,EAAazK,IACnBF,EAAO2K,EAAa3K,KACpB4K,EAAYD,EAAaD,GAE7BC,EAAazK,IAAM,GACnByK,EAAa3K,KAAO,GACpB2K,EAAaD,GAAiB,GAE9B,IAAIpI,EAAaN,EAAcgD,EAAK5F,SAAS6C,OAAQ+C,EAAK5F,SAAS/C,UAAWvY,EAAQoe,QAASC,EAAmB6C,EAAKiF,eAIvHU,EAAazK,IAAMA,EACnByK,EAAa3K,KAAOA,EACpB2K,EAAaD,GAAiBE,EAE9B9mB,EAAQwe,WAAaA,EAErB,IAAI/E,EAAQzZ,EAAQ+mB,SAChB5I,EAAS+C,EAAKlF,QAAQmC,OAEtB3b,EAAQ,CACVwkB,QAAS,SAAiB/H,GACxB,IAAIpe,EAAQsd,EAAOc,GAInB,OAHId,EAAOc,GAAaT,EAAWS,KAAejf,EAAQinB,sBACxDpmB,EAAQ0B,KAAK+M,IAAI6O,EAAOc,GAAYT,EAAWS,KAE1CzW,EAAe,GAAIyW,EAAWpe,IAEvCqmB,UAAW,SAAmBjI,GAC5B,IAAI0B,EAAyB,UAAd1B,EAAwB,OAAS,MAC5Cpe,EAAQsd,EAAOwC,GAInB,OAHIxC,EAAOc,GAAaT,EAAWS,KAAejf,EAAQinB,sBACxDpmB,EAAQ0B,KAAKqM,IAAIuP,EAAOwC,GAAWnC,EAAWS,IAA4B,UAAdA,EAAwBd,EAAO/C,MAAQ+C,EAAOhD,UAErG3S,EAAe,GAAImY,EAAU9f,KAWxC,OAPA4Y,EAAM7X,QAAQ,SAAUqd,GACtB,IAAIuH,GAA+C,IAAxC,CAAC,OAAQ,OAAO5V,QAAQqO,GAAoB,UAAY,YACnEd,EAAStC,EAAS,GAAIsC,EAAQ3b,EAAMgkB,GAAMvH,MAG5CiC,EAAKlF,QAAQmC,OAASA,EAEf+C,GA2NL6F,SAAU,CAAC,OAAQ,QAAS,MAAO,UAOnC3I,QAAS,EAMTC,kBAAmB,gBAYrB8I,aAAc,CAEZ1N,MAAO,IAEPgI,SAAS,EAET7K,GAlgBJ,SAAsBsK,GACpB,IAAI2C,EAAgB3C,EAAKlF,QACrBmC,EAAS0F,EAAc1F,OACvB5F,EAAYsL,EAActL,UAE1B0G,EAAYiC,EAAKjC,UAAUzQ,MAAM,KAAK,GACtC+F,EAAQhS,KAAKgS,MACb0P,GAAuD,IAA1C,CAAC,MAAO,UAAUrT,QAAQqO,GACvCuH,EAAOvC,EAAa,QAAU,SAC9BmD,EAASnD,EAAa,OAAS,MAC/BpD,EAAcoD,EAAa,QAAU,SASzC,OAPI9F,EAAOqI,GAAQjS,EAAMgE,EAAU6O,MACjClG,EAAKlF,QAAQmC,OAAOiJ,GAAU7S,EAAMgE,EAAU6O,IAAWjJ,EAAO0C,IAE9D1C,EAAOiJ,GAAU7S,EAAMgE,EAAUiO,MACnCtF,EAAKlF,QAAQmC,OAAOiJ,GAAU7S,EAAMgE,EAAUiO,KAGzCtF,IA4fPmG,MAAO,CAEL5N,MAAO,IAEPgI,SAAS,EAET7K,GApxBJ,SAAesK,EAAMlhB,GACnB,IAAIsnB,EAGJ,IAAKhD,EAAmBpD,EAAK5F,SAAS2F,UAAW,QAAS,gBACxD,OAAOC,EAGT,IAAIqG,EAAevnB,EAAQqX,QAG3B,GAA4B,iBAAjBkQ,GAIT,KAHAA,EAAerG,EAAK5F,SAAS6C,OAAOqJ,cAAcD,IAIhD,OAAOrG,OAKT,IAAKA,EAAK5F,SAAS6C,OAAOjE,SAASqN,GAEjC,OADAhG,QAAQC,KAAK,iEACNN,EAIX,IAAIjC,EAAYiC,EAAKjC,UAAUzQ,MAAM,KAAK,GACtCqV,EAAgB3C,EAAKlF,QACrBmC,EAAS0F,EAAc1F,OACvB5F,EAAYsL,EAActL,UAE1B0L,GAAuD,IAA1C,CAAC,OAAQ,SAASrT,QAAQqO,GAEvC3R,EAAM2W,EAAa,SAAW,QAC9BwD,EAAkBxD,EAAa,MAAQ,OACvCuC,EAAOiB,EAAgBC,cACvBC,EAAU1D,EAAa,OAAS,MAChCmD,EAASnD,EAAa,SAAW,QACjC2D,EAAmB7H,EAAcwH,GAAcja,GAQ/CiL,EAAU6O,GAAUQ,EAAmBzJ,EAAOqI,KAChDtF,EAAKlF,QAAQmC,OAAOqI,IAASrI,EAAOqI,IAASjO,EAAU6O,GAAUQ,IAG/DrP,EAAUiO,GAAQoB,EAAmBzJ,EAAOiJ,KAC9ClG,EAAKlF,QAAQmC,OAAOqI,IAASjO,EAAUiO,GAAQoB,EAAmBzJ,EAAOiJ,IAE3ElG,EAAKlF,QAAQmC,OAASpC,EAAcmF,EAAKlF,QAAQmC,QAGjD,IAAI0J,EAAStP,EAAUiO,GAAQjO,EAAUjL,GAAO,EAAIsa,EAAmB,EAInEpQ,EAAMJ,EAAyB8J,EAAK5F,SAAS6C,QAC7C2J,EAAmBhN,WAAWtD,EAAI,SAAWiQ,IAC7CM,EAAmBjN,WAAWtD,EAAI,SAAWiQ,EAAkB,UAC/DO,EAAYH,EAAS3G,EAAKlF,QAAQmC,OAAOqI,GAAQsB,EAAmBC,EAGxEC,EAAYzlB,KAAK+M,IAAI/M,KAAKqM,IAAIuP,EAAO7Q,GAAOsa,EAAkBI,GAAY,GAK1E,OAHA9G,EAAKqG,aAAeA,EACpBrG,EAAKlF,QAAQqL,OAAmC7e,EAA1B8e,EAAsB,GAAwCd,EAAMjkB,KAAKuhB,MAAMkE,IAAaxf,EAAe8e,EAAqBK,EAAS,IAAKL,GAE7JpG,GA8sBL7J,QAAS,aAcX4Q,KAAM,CAEJxO,MAAO,IAEPgI,SAAS,EAET7K,GA5oBJ,SAAcsK,EAAMlhB,GAElB,GAAI0hB,EAAkBR,EAAK5F,SAAS2F,UAAW,SAC7C,OAAOC,EAGT,GAAIA,EAAKgH,SAAWhH,EAAKjC,YAAciC,EAAKiH,kBAE1C,OAAOjH,EAGT,IAAI1C,EAAaN,EAAcgD,EAAK5F,SAAS6C,OAAQ+C,EAAK5F,SAAS/C,UAAWvY,EAAQoe,QAASpe,EAAQqe,kBAAmB6C,EAAKiF,eAE3HlH,EAAYiC,EAAKjC,UAAUzQ,MAAM,KAAK,GACtC4Z,EAAoBhI,EAAqBnB,GACzCY,EAAYqB,EAAKjC,UAAUzQ,MAAM,KAAK,IAAM,GAE5C6Z,EAAY,GAEhB,OAAQroB,EAAQsoB,UACd,KAAKpD,EACHmD,EAAY,CAACpJ,EAAWmJ,GACxB,MACF,KAAKlD,EACHmD,EAAYtD,EAAU9F,GACtB,MACF,KAAKiG,EACHmD,EAAYtD,EAAU9F,GAAW,GACjC,MACF,QACEoJ,EAAYroB,EAAQsoB,SAyDxB,OAtDAD,EAAUzmB,QAAQ,SAAU2mB,EAAMtf,GAChC,GAAIgW,IAAcsJ,GAAQF,EAAUvgB,SAAWmB,EAAQ,EACrD,OAAOiY,EAGTjC,EAAYiC,EAAKjC,UAAUzQ,MAAM,KAAK,GACtC4Z,EAAoBhI,EAAqBnB,GAEzC,IArH0BY,EAqHtBY,EAAgBS,EAAKlF,QAAQmC,OAC7BqK,EAAatH,EAAKlF,QAAQzD,UAG1BhE,EAAQhS,KAAKgS,MACbkU,EAA4B,SAAdxJ,GAAwB1K,EAAMkM,EAAcxE,OAAS1H,EAAMiU,EAAWtM,OAAuB,UAAd+C,GAAyB1K,EAAMkM,EAAcvE,MAAQ3H,EAAMiU,EAAWvM,QAAwB,QAAdgD,GAAuB1K,EAAMkM,EAActE,QAAU5H,EAAMiU,EAAWpM,MAAsB,WAAd6C,GAA0B1K,EAAMkM,EAAcrE,KAAO7H,EAAMiU,EAAWrM,QAEjUuM,EAAgBnU,EAAMkM,EAAcvE,MAAQ3H,EAAMiK,EAAWtC,MAC7DyM,EAAiBpU,EAAMkM,EAAcxE,OAAS1H,EAAMiK,EAAWvC,OAC/D2M,EAAerU,EAAMkM,EAAcrE,KAAO7H,EAAMiK,EAAWpC,KAC3DyM,EAAkBtU,EAAMkM,EAActE,QAAU5H,EAAMiK,EAAWrC,QAEjE2M,EAAoC,SAAd7J,GAAwByJ,GAA+B,UAAdzJ,GAAyB0J,GAAgC,QAAd1J,GAAuB2J,GAA8B,WAAd3J,GAA0B4J,EAG3K5E,GAAuD,IAA1C,CAAC,MAAO,UAAUrT,QAAQqO,GAGvC8J,IAA0B/oB,EAAQgpB,iBAAmB/E,GAA4B,UAAdpE,GAAyB6I,GAAiBzE,GAA4B,QAAdpE,GAAuB8I,IAAmB1E,GAA4B,UAAdpE,GAAyB+I,IAAiB3E,GAA4B,QAAdpE,GAAuBgJ,GAGlQI,IAA8BjpB,EAAQkpB,0BAA4BjF,GAA4B,UAAdpE,GAAyB8I,GAAkB1E,GAA4B,QAAdpE,GAAuB6I,IAAkBzE,GAA4B,UAAdpE,GAAyBgJ,IAAoB5E,GAA4B,QAAdpE,GAAuB+I,GAElRO,EAAmBJ,GAAyBE,GAE5CR,GAAeK,GAAuBK,KAExCjI,EAAKgH,SAAU,GAEXO,GAAeK,KACjB7J,EAAYoJ,EAAUpf,EAAQ,IAG5BkgB,IACFtJ,EAtJY,SADUA,EAuJWA,GArJ9B,QACgB,UAAdA,EACF,MAEFA,GAoJHqB,EAAKjC,UAAYA,GAAaY,EAAY,IAAMA,EAAY,IAI5DqB,EAAKlF,QAAQmC,OAAStC,EAAS,GAAIqF,EAAKlF,QAAQmC,OAAQmC,EAAiBY,EAAK5F,SAAS6C,OAAQ+C,EAAKlF,QAAQzD,UAAW2I,EAAKjC,YAE5HiC,EAAOF,EAAaE,EAAK5F,SAAS2F,UAAWC,EAAM,WAGhDA,GA4jBLoH,SAAU,OAKVlK,QAAS,EAOTC,kBAAmB,WAQnB2K,gBAAgB,EAQhBE,yBAAyB,GAU3BE,MAAO,CAEL3P,MAAO,IAEPgI,SAAS,EAET7K,GArQJ,SAAesK,GACb,IAAIjC,EAAYiC,EAAKjC,UACjBoG,EAAgBpG,EAAUzQ,MAAM,KAAK,GACrCqV,EAAgB3C,EAAKlF,QACrBmC,EAAS0F,EAAc1F,OACvB5F,EAAYsL,EAActL,UAE1BmI,GAAwD,IAA9C,CAAC,OAAQ,SAAS9P,QAAQyU,GAEpCgE,GAA6D,IAA5C,CAAC,MAAO,QAAQzY,QAAQyU,GAO7C,OALAlH,EAAOuC,EAAU,OAAS,OAASnI,EAAU8M,IAAkBgE,EAAiBlL,EAAOuC,EAAU,QAAU,UAAY,GAEvHQ,EAAKjC,UAAYmB,EAAqBnB,GACtCiC,EAAKlF,QAAQmC,OAASpC,EAAcoC,GAE7B+C,IAkQPoI,KAAM,CAEJ7P,MAAO,IAEPgI,SAAS,EAET7K,GA9TJ,SAAcsK,GACZ,IAAKoD,EAAmBpD,EAAK5F,SAAS2F,UAAW,OAAQ,mBACvD,OAAOC,EAGT,IAAIhC,EAAUgC,EAAKlF,QAAQzD,UACvBgR,EAAQvb,EAAKkT,EAAK5F,SAAS2F,UAAW,SAAUpD,GAClD,MAAyB,oBAAlBA,EAASnc,OACf8c,WAEH,GAAIU,EAAQ/C,OAASoN,EAAMnN,KAAO8C,EAAQhD,KAAOqN,EAAMtN,OAASiD,EAAQ9C,IAAMmN,EAAMpN,QAAU+C,EAAQjD,MAAQsN,EAAMrN,KAAM,CAExH,IAAkB,IAAdgF,EAAKoI,KACP,OAAOpI,EAGTA,EAAKoI,MAAO,EACZpI,EAAKsI,WAAW,uBAAyB,OACpC,CAEL,IAAkB,IAAdtI,EAAKoI,KACP,OAAOpI,EAGTA,EAAKoI,MAAO,EACZpI,EAAKsI,WAAW,wBAAyB,EAG3C,OAAOtI,IAoTPuI,aAAc,CAEZhQ,MAAO,IAEPgI,SAAS,EAET7K,GAtgCJ,SAAsBsK,EAAMlhB,GAC1B,IAAIggB,EAAIhgB,EAAQggB,EACZE,EAAIlgB,EAAQkgB,EACZ/B,EAAS+C,EAAKlF,QAAQmC,OAItBuL,EAA8B1b,EAAKkT,EAAK5F,SAAS2F,UAAW,SAAUpD,GACxE,MAAyB,eAAlBA,EAASnc,OACfioB,qBACiC5oB,IAAhC2oB,GACFnI,QAAQC,KAAK,iIAEf,IA0DMoI,EACAC,EA3DFF,OAAkD5oB,IAAhC2oB,EAA4CA,EAA8B1pB,EAAQ2pB,gBAEpGzQ,EAAeH,EAAgBmI,EAAK5F,SAAS6C,QAC7C2L,EAAmBzN,EAAsBnD,GAGzCwB,EAAS,CACXnF,SAAU4I,EAAO5I,UAGfyG,EAAUyH,EAAkBvC,EAAMxe,OAAOqnB,iBAAmB,IAAM1F,GAElEzJ,EAAc,WAANoF,EAAiB,MAAQ,SACjCnF,EAAc,UAANqF,EAAgB,OAAS,QAKjC8J,EAAmBnI,EAAyB,aAW5C3F,OAAO,EACPE,OAAM,EAKNA,EAJU,UAAVxB,EAG4B,SAA1B1B,EAAarB,UACRqB,EAAayD,aAAeX,EAAQG,QAEpC2N,EAAiB3O,OAASa,EAAQG,OAGrCH,EAAQI,IAIZF,EAFU,SAAVrB,EAC4B,SAA1B3B,EAAarB,UACPqB,EAAawD,YAAcV,EAAQC,OAEnC6N,EAAiB1O,MAAQY,EAAQC,MAGpCD,EAAQE,KAEbyN,GAAmBK,GACrBtP,EAAOsP,GAAoB,eAAiB9N,EAAO,OAASE,EAAM,SAClE1B,EAAOE,GAAS,EAChBF,EAAOG,GAAS,EAChBH,EAAOuP,WAAa,cAGhBL,EAAsB,UAAVhP,GAAsB,EAAI,EACtCiP,EAAuB,SAAVhP,GAAqB,EAAI,EAC1CH,EAAOE,GAASwB,EAAMwN,EACtBlP,EAAOG,GAASqB,EAAO2N,EACvBnP,EAAOuP,WAAarP,EAAQ,KAAOC,GAIrC,IAAI2O,EAAa,CACf,cAAetI,EAAKjC,WAQtB,OAJAiC,EAAKsI,WAAa3N,EAAS,GAAI2N,EAAYtI,EAAKsI,YAChDtI,EAAKxG,OAASmB,EAAS,GAAInB,EAAQwG,EAAKxG,QACxCwG,EAAKgJ,YAAcrO,EAAS,GAAIqF,EAAKlF,QAAQqL,MAAOnG,EAAKgJ,aAElDhJ,GAo7BLyI,iBAAiB,EAMjB3J,EAAG,SAMHE,EAAG,SAkBLiK,WAAY,CAEV1Q,MAAO,IAEPgI,SAAS,EAET7K,GAzpCJ,SAAoBsK,GApBpB,IAAuB7J,EAASmS,EAoC9B,OAXAjG,EAAUrC,EAAK5F,SAAS6C,OAAQ+C,EAAKxG,QAzBhBrD,EA6BP6J,EAAK5F,SAAS6C,OA7BEqL,EA6BMtI,EAAKsI,WA5BzCpnB,OAAO2B,KAAKylB,GAAY5nB,QAAQ,SAAUwf,IAE1B,IADFoI,EAAWpI,GAErB/J,EAAQ+S,aAAahJ,EAAMoI,EAAWpI,IAEtC/J,EAAQgT,gBAAgBjJ,KA0BxBF,EAAKqG,cAAgBnlB,OAAO2B,KAAKmd,EAAKgJ,aAAapiB,QACrDyb,EAAUrC,EAAKqG,aAAcrG,EAAKgJ,aAG7BhJ,GA2oCLoJ,OA9nCJ,SAA0B/R,EAAW4F,EAAQne,EAASuqB,EAAiB1gB,GAErE,IAAI0W,EAAmBT,EAAoBjW,EAAOsU,EAAQ5F,EAAWvY,EAAQmmB,eAKzElH,EAAYD,EAAqBhf,EAAQif,UAAWsB,EAAkBpC,EAAQ5F,EAAWvY,EAAQihB,UAAUgH,KAAK5J,kBAAmBre,EAAQihB,UAAUgH,KAAK7J,SAQ9J,OANAD,EAAOiM,aAAa,cAAenL,GAInCsE,EAAUpF,EAAQ,CAAE5I,SAAUvV,EAAQmmB,cAAgB,QAAU,aAEzDnmB,GAsnCL2pB,qBAAiB5oB,KAuGjBypB,IA+EFjP,EAAYiP,GAAQ,CAAC,CACnBtqB,IAAK,SACLW,MAAO,WACL,OA9lDN,WAEE,IAIIqgB,EAJAhiB,KAAK2K,MAAM4gB,eAIXvJ,EAAO,CACT5F,SAAUpc,KACVwb,OAAQ,GACRwP,YAAa,GACbV,WAAY,GACZtB,SAAS,EACTlM,QAAS,KAINA,QAAQzD,UAAYuH,EAAoB5gB,KAAK2K,MAAO3K,KAAKif,OAAQjf,KAAKqZ,UAAWrZ,KAAKc,QAAQmmB,eAKnGjF,EAAKjC,UAAYD,EAAqB9f,KAAKc,QAAQif,UAAWiC,EAAKlF,QAAQzD,UAAWrZ,KAAKif,OAAQjf,KAAKqZ,UAAWrZ,KAAKc,QAAQihB,UAAUgH,KAAK5J,kBAAmBnf,KAAKc,QAAQihB,UAAUgH,KAAK7J,SAG9L8C,EAAKiH,kBAAoBjH,EAAKjC,UAE9BiC,EAAKiF,cAAgBjnB,KAAKc,QAAQmmB,cAGlCjF,EAAKlF,QAAQmC,OAASmC,EAAiBphB,KAAKif,OAAQ+C,EAAKlF,QAAQzD,UAAW2I,EAAKjC,WAEjFiC,EAAKlF,QAAQmC,OAAO5I,SAAWrW,KAAKc,QAAQmmB,cAAgB,QAAU,WAGtEjF,EAAOF,EAAa9hB,KAAK+hB,UAAWC,GAI/BhiB,KAAK2K,MAAM6gB,UAIdxrB,KAAKc,QAAQsmB,SAASpF,IAHtBhiB,KAAK2K,MAAM6gB,WAAY,EACvBxrB,KAAKc,QAAQqmB,SAASnF,MAsjDN7c,KAAKnF,QAEpB,CACDgB,IAAK,UACLW,MAAO,WACL,OA7gDN,WAsBE,OArBA3B,KAAK2K,MAAM4gB,aAAc,EAGrB/I,EAAkBxiB,KAAK+hB,UAAW,gBACpC/hB,KAAKif,OAAOkM,gBAAgB,eAC5BnrB,KAAKif,OAAOgE,MAAM5M,SAAW,GAC7BrW,KAAKif,OAAOgE,MAAM/F,IAAM,GACxBld,KAAKif,OAAOgE,MAAMjG,KAAO,GACzBhd,KAAKif,OAAOgE,MAAMlG,MAAQ,GAC1B/c,KAAKif,OAAOgE,MAAMhG,OAAS,GAC3Bjd,KAAKif,OAAOgE,MAAM8H,WAAa,GAC/B/qB,KAAKif,OAAOgE,MAAMN,EAAyB,cAAgB,IAG7D3iB,KAAK8jB,wBAID9jB,KAAKc,QAAQomB,iBACflnB,KAAKif,OAAOrG,WAAW6S,YAAYzrB,KAAKif,QAEnCjf,MAu/CYmF,KAAKnF,QAErB,CACDgB,IAAK,uBACLW,MAAO,WACL,OA18CN,WACO3B,KAAK2K,MAAMkZ,gBACd7jB,KAAK2K,MAAQwY,EAAoBnjB,KAAKqZ,UAAWrZ,KAAKc,QAASd,KAAK2K,MAAO3K,KAAKgkB,kBAw8ClD7e,KAAKnF,QAElC,CACDgB,IAAK,wBACLW,MAAO,WACL,OAAOmiB,EAAsB3e,KAAKnF,UA4B/BsrB,IApHP,SAASA,GAAOjS,EAAW4F,GACzB,IAAIyM,EAAQ1rB,KAERc,EAA6B,EAAnB6H,UAAUC,aAA+B/G,IAAjB8G,UAAU,GAAmBA,UAAU,GAAK,GAClFwT,EAAenc,KAAMsrB,IAErBtrB,KAAKgkB,eAAiB,WACpB,OAAO2H,sBAAsBD,EAAME,SAIrC5rB,KAAK4rB,OAASpU,EAASxX,KAAK4rB,OAAOC,KAAK7rB,OAGxCA,KAAKc,QAAU6b,EAAS,GAAI2O,GAAOtE,SAAUlmB,GAG7Cd,KAAK2K,MAAQ,CACX4gB,aAAa,EACbC,WAAW,EACX7H,cAAe,IAIjB3jB,KAAKqZ,UAAYA,GAAaA,EAAUyS,OAASzS,EAAU,GAAKA,EAChErZ,KAAKif,OAASA,GAAUA,EAAO6M,OAAS7M,EAAO,GAAKA,EAGpDjf,KAAKc,QAAQihB,UAAY,GACzB7e,OAAO2B,KAAK8X,EAAS,GAAI2O,GAAOtE,SAASjF,UAAWjhB,EAAQihB,YAAYrf,QAAQ,SAAUF,GACxFkpB,EAAM5qB,QAAQihB,UAAUvf,GAAQma,EAAS,GAAI2O,GAAOtE,SAASjF,UAAUvf,IAAS,GAAI1B,EAAQihB,UAAYjhB,EAAQihB,UAAUvf,GAAQ,MAIpIxC,KAAK+hB,UAAY7e,OAAO2B,KAAK7E,KAAKc,QAAQihB,WAAW5B,IAAI,SAAU3d,GACjE,OAAOma,EAAS,CACdna,KAAMA,GACLkpB,EAAM5qB,QAAQihB,UAAUvf,MAG5B8d,KAAK,SAAUlY,EAAGmY,GACjB,OAAOnY,EAAEmS,MAAQgG,EAAEhG,QAOrBva,KAAK+hB,UAAUrf,QAAQ,SAAU2oB,GAC3BA,EAAgB9I,SAAWvK,EAAWqT,EAAgBD,SACxDC,EAAgBD,OAAOM,EAAMrS,UAAWqS,EAAMzM,OAAQyM,EAAM5qB,QAASuqB,EAAiBK,EAAM/gB,SAKhG3K,KAAK4rB,SAEL,IAAI/H,EAAgB7jB,KAAKc,QAAQ+iB,cAC7BA,GAEF7jB,KAAK+rB,uBAGP/rB,KAAK2K,MAAMkZ,cAAgBA,EA6E/ByH,GAAOU,OAA2B,oBAAXxoB,OAAyBA,OAASlD,GAAQ2rB,YACjEX,GAAO3F,WAAaA,EACpB2F,GAAOtE,SAAWA,EAEH,U,gCCtjFfnnB,EAAOD,QAAU,SAAUssB,EAAQvqB,GACjC,MAAO,CACLiE,aAAuB,EAATsmB,GACdnjB,eAAyB,EAATmjB,GAChBzP,WAAqB,EAATyP,GACZvqB,MAAOA,K,gBCLX,IAAI4E,EAAW,EAAQ,IAMvB1G,EAAOD,QAAU,SAAUusB,EAAOC,GAChC,IAAK7lB,EAAS4lB,GAAQ,OAAOA,EAC7B,IAAIzU,EAAI2U,EACR,GAAID,GAAoD,mBAAxB1U,EAAKyU,EAAMlpB,YAA4BsD,EAAS8lB,EAAM3U,EAAGvS,KAAKgnB,IAAS,OAAOE,EAC9G,GAAmC,mBAAvB3U,EAAKyU,EAAMliB,WAA2B1D,EAAS8lB,EAAM3U,EAAGvS,KAAKgnB,IAAS,OAAOE,EACzF,IAAKD,GAAoD,mBAAxB1U,EAAKyU,EAAMlpB,YAA4BsD,EAAS8lB,EAAM3U,EAAGvS,KAAKgnB,IAAS,OAAOE,EAC/G,MAAM3jB,UAAU,6C,gBCZlB,IAyBM4jB,EACAC,EACAC,EACAC,EACJllB,EAIAY,EAGAnG,EAII0qB,EAxCFC,EAAkB,EAAQ,KAC1BrsB,EAAS,EAAQ,GACjBiG,EAAW,EAAQ,IACnB9F,EAA8B,EAAQ,IACtCmsB,EAAY,EAAQ,IACpB5lB,EAAY,EAAQ,IACpBf,EAAa,EAAQ,IAErB4mB,EAAUvsB,EAAOusB,QA4BnB7qB,EAZE2qB,GACEL,EAAQ,IAAIO,EACZN,EAAQD,EAAMnkB,IACdqkB,EAAQF,EAAMtqB,IACdyqB,EAAQH,EAAM/kB,IAClBA,EAAM,SAAUnE,EAAI0pB,GAElB,OADAL,EAAMtnB,KAAKmnB,EAAOlpB,EAAI0pB,GACfA,GAET3kB,EAAM,SAAU/E,GACd,OAAOmpB,EAAMpnB,KAAKmnB,EAAOlpB,IAAO,IAE5B,SAAUA,GACd,OAAOopB,EAAMrnB,KAAKmnB,EAAOlpB,MAI3B6C,EADIymB,EAAQ1lB,EAAU,WACF,EACpBO,EAAM,SAAUnE,EAAI0pB,GAElB,OADArsB,EAA4B2C,EAAIspB,EAAOI,GAChCA,GAET3kB,EAAM,SAAU/E,GACd,OAAOwpB,EAAUxpB,EAAIspB,GAAStpB,EAAGspB,GAAS,IAEtC,SAAUtpB,GACd,OAAOwpB,EAAUxpB,EAAIspB,KAIzB7sB,EAAOD,QAAU,CACf2H,IAAKA,EACLY,IAAKA,EACLnG,IAAKA,EACLoN,QA/CY,SAAUhM,GACtB,OAAOpB,EAAIoB,GAAM+E,EAAI/E,GAAMmE,EAAInE,EAAI,KA+CnCqE,UA5Cc,SAAUslB,GACxB,OAAO,SAAU3pB,GACf,IAAIuH,EACJ,IAAKpE,EAASnD,KAAQuH,EAAQxC,EAAI/E,IAAKgB,OAAS2oB,EAC9C,MAAMrkB,UAAU,0BAA4BqkB,EAAO,aACnD,OAAOpiB,M,gBCpBb,IAAIqiB,EAAqB,EAAQ,IAG7B/mB,EAFc,EAAQ,IAEGlB,OAAO,SAAU,aAI9CnF,EAAQY,EAAI0C,OAAOsG,qBAAuB,SAA6BhF,GACrE,OAAOwoB,EAAmBxoB,EAAGyB,K,gBCCZ,SAAfgnB,EAAyBF,GAC3B,IAAIG,EAAiB,GAARH,EACTI,EAAoB,GAARJ,EACZK,EAAkB,GAARL,EACVM,EAAmB,GAARN,EACXO,EAAwB,GAARP,EAChBQ,EAAmB,GAARR,GAAaO,EAC5B,OAAO,SAAUE,EAAOjiB,EAAYkiB,EAAMC,GASxC,IARA,IAOI/rB,EAAOqE,EAPPxB,EAAIgC,EAASgnB,GACb/pB,EAAOkL,EAAcnK,GACrBmpB,EAAgB9B,EAAKtgB,EAAYkiB,EAAM,GACvC7kB,EAAS6E,EAAShK,EAAKmF,QACvBmB,EAAQ,EACRV,EAASqkB,GAAkBhgB,EAC3BrM,EAAS6rB,EAAS7jB,EAAOmkB,EAAO5kB,GAAUukB,EAAY9jB,EAAOmkB,EAAO,QAAK3rB,EAE9DkI,EAATnB,EAAgBmB,IAAS,IAAIwjB,GAAYxjB,KAAStG,KAEtDuC,EAAS2nB,EADThsB,EAAQ8B,EAAKsG,GACiBA,EAAOvF,GACjCuoB,GACF,GAAIG,EAAQ7rB,EAAO0I,GAAS/D,OACvB,GAAIA,EAAQ,OAAQ+mB,GACvB,KAAK,EAAG,OAAO,EACf,KAAK,EAAG,OAAOprB,EACf,KAAK,EAAG,OAAOoI,EACf,KAAK,EAAG7D,EAAKf,KAAK9D,EAAQM,QACrB,GAAI0rB,EAAU,OAAO,EAGhC,OAAOC,GAAiB,EAAIF,GAAWC,EAAWA,EAAWhsB,GAtCjE,IAAIwqB,EAAO,EAAQ,IACfld,EAAgB,EAAQ,IACxBnI,EAAW,EAAQ,IACnBiH,EAAW,EAAQ,IACnBC,EAAqB,EAAQ,IAE7BxH,EAAO,GAAGA,KAoCdrG,EAAOD,QAAU,CAGf8C,QAASuqB,EAAa,GAGtB9M,IAAK8M,EAAa,GAGlB/hB,OAAQ+hB,EAAa,GAGrBvK,KAAMuK,EAAa,GAGnBW,MAAOX,EAAa,GAGpBne,KAAMme,EAAa,GAGnB9K,UAAW8K,EAAa,K,gBCjDH,SAAnBY,KAEY,SAAZC,EAAsBC,GACxB,MAAOC,WAAmBD,EARnB,KAQwCE,EATxC,IART,IAmDIC,EAnDAxpB,EAAW,EAAQ,IACnB6E,EAAmB,EAAQ,KAC3B4kB,EAAc,EAAQ,IACtBloB,EAAa,EAAQ,IACrBoV,EAAO,EAAQ,KACf+S,EAAwB,EAAQ,IAChCpnB,EAAY,EAAQ,IAIpB9C,EAAY,YACZ+pB,EAAS,SACTI,EAAWrnB,EAAU,YAwCrBsnB,EAAkB,WACpB,IAEEJ,EAAkB/W,SAASoX,QAAU,IAAIC,cAAc,YACvD,MAAOnuB,IA1BoB,IAIzBouB,EAFAC,EAyBJJ,EAAkBJ,EApCY,SAAUA,GACxCA,EAAgBS,MAAMb,EAAU,KAChCI,EAAgBU,QAChB,IAAIC,EAAOX,EAAgBY,aAAa5rB,OAExC,OADAgrB,EAAkB,KACXW,EA+B6BE,CAA0Bb,KAzB1DQ,EAASN,EAAsB,WAG5BnL,MAAM+L,QAAU,OACvB3T,EAAK4T,YAAYP,GAEjBA,EAAOQ,IAAMrmB,OALJ,gBAMT4lB,EAAiBC,EAAOS,cAAchY,UACvBiY,OACfX,EAAeE,MAAMb,EAAU,sBAC/BW,EAAeG,QACRH,EAAeY,GAgBtB,IADA,IAAIzmB,EAASulB,EAAYvlB,OAClBA,YAAiB0lB,EAAgBpqB,GAAWiqB,EAAYvlB,IAC/D,OAAO0lB,KAGTroB,EAAWooB,IAAY,EAIvBxuB,EAAOD,QAAUsD,OAAOmG,QAAU,SAAgB7E,EAAGC,GACnD,IAAIuB,EAQJ,OAPU,OAANxB,GACFqpB,EAAiB3pB,GAAaQ,EAASF,GACvCwB,EAAS,IAAI6nB,EACbA,EAAiB3pB,GAAa,KAE9B8B,EAAOqoB,GAAY7pB,GACdwB,EAASsoB,SACMzsB,IAAf4C,EAA2BuB,EAASuD,EAAiBvD,EAAQvB,K,cC5EtE5E,EAAOD,QAAU,I,6BCCjB,IAAI6C,EAAI,EAAQ,GACZ6sB,EAAO,EAAQ,IAAgCnP,IAC/ChV,EAA+B,EAAQ,IACvCC,EAA0B,EAAQ,IAElCC,EAAsBF,EAA6B,OAEnDG,EAAiBF,EAAwB,OAK7C3I,EAAE,CAAEpB,OAAQ,QAASsB,OAAO,EAAMf,QAASyJ,IAAwBC,GAAkB,CACnF6U,IAAK,SAAa5U,EAAb,GACH,OAAO+jB,EAAKtvB,KAAMuL,EAA+B,EAAnB5C,UAAUC,OADrC,OACiE/G,O,gBCfxE,IAAIwE,EAAQ,EAAQ,GAChBkpB,EAAU,EAAQ,IAElBjgB,EAAQ,GAAGA,MAGfzP,EAAOD,QAAUyG,EAAM,WAGrB,OAAQnD,OAAO,KAAKssB,qBAAqB,KACtC,SAAUpsB,GACb,MAAsB,UAAfmsB,EAAQnsB,GAAkBkM,EAAMnK,KAAK/B,EAAI,IAAMF,OAAOE,IAC3DF,Q,gBCZJ,IAAInB,EAAS,EAAQ,IACjBE,EAAM,EAAQ,IAEd4C,EAAO9C,EAAO,QAElBlC,EAAOD,QAAU,SAAUoB,GACzB,OAAO6D,EAAK7D,KAAS6D,EAAK7D,GAAOiB,EAAIjB,M,cCNvCnB,EAAOD,SAAU,G,cCAjBC,EAAOD,QAAU,I,cCAjB,IAAI6vB,EAAOpsB,KAAKosB,KACZpa,EAAQhS,KAAKgS,MAIjBxV,EAAOD,QAAU,SAAUqP,GACzB,OAAOkV,MAAMlV,GAAYA,GAAY,GAAgB,EAAXA,EAAeoG,EAAQoa,GAAMxgB,K,gBCNzE,IAAIsgB,EAAU,EAAQ,IAItB1vB,EAAOD,QAAU4K,MAAMlE,SAAW,SAAiB4H,GACjD,MAAuB,SAAhBqhB,EAAQrhB,K,6BCJjB,IAAI3I,EAAc,EAAQ,IACtBuB,EAAuB,EAAQ,IAC/BL,EAA2B,EAAQ,IAEvC5G,EAAOD,QAAU,SAAU4N,EAAQxM,EAAKW,GACtC,IAAI+tB,EAAcnqB,EAAYvE,GAC1B0uB,KAAeliB,EAAQ1G,EAAqBtG,EAAEgN,EAAQkiB,EAAajpB,EAAyB,EAAG9E,IAC9F6L,EAAOkiB,GAAe/tB,I,gBCR7B,IAAI0E,EAAQ,EAAQ,GAChBY,EAAkB,EAAQ,GAC1B0G,EAAa,EAAQ,IAErBuC,EAAUjJ,EAAgB,WAE9BpH,EAAOD,QAAU,SAAUsN,GAIzB,OAAqB,IAAdS,IAAqBtH,EAAM,WAChC,IAAI2H,EAAQ,GAKZ,OAJkBA,EAAMvB,YAAc,IAC1ByD,GAAW,WACrB,MAAO,CAAEyf,IAAK,IAE2B,IAApC3hB,EAAMd,GAAa0iB,SAASD,Q,cChBvC9vB,EAAOD,QAAU,SAAUwD,GACzB,GAAiB,mBAANA,EACT,MAAMsF,UAAUG,OAAOzF,GAAM,sBAC7B,OAAOA,I,gBCHX,IAAI4pB,EAAqB,EAAQ,IAC7BmB,EAAc,EAAQ,IAI1BtuB,EAAOD,QAAUsD,OAAO2B,MAAQ,SAAcL,GAC5C,OAAOwoB,EAAmBxoB,EAAG2pB,K,6BCL/B,IAYMnd,EACAC,EAbF4e,EAAc,EAAQ,IACtBjf,EAAgB,EAAQ,KAExBkf,EAAankB,OAAOlK,UAAUrB,KAI9BqV,EAAgB5M,OAAOpH,UAAUmL,QAEjCmjB,EAAcD,EAEdE,GACEhf,EAAM,IACNC,EAAM,MACV6e,EAAW3qB,KAAK6L,EAAK,KACrB8e,EAAW3qB,KAAK8L,EAAK,KACI,IAAlBD,EAAIoC,WAAqC,IAAlBnC,EAAImC,WAGhCjC,EAAgBP,EAAcO,eAAiBP,EAAcqf,aAG7DC,OAAuCruB,IAAvB,OAAOzB,KAAK,IAAI,IAExB4vB,GAA4BE,GAAiB/e,KAGvD4e,EAAc,SAAcnZ,GAC1B,IACIxD,EAAW+c,EAAQpe,EAAOvD,EAD1B4hB,EAAKpwB,KAELsR,EAASH,GAAiBif,EAAG9e,OAC7B9F,EAAQqkB,EAAY1qB,KAAKirB,GACzBrvB,EAASqvB,EAAGrvB,OACZsvB,EAAa,EACbC,EAAU1Z,EA+Cd,OA7CItF,KAE0B,KAD5B9F,EAAQA,EAAMoB,QAAQ,IAAK,KACjB8E,QAAQ,OAChBlG,GAAS,KAGX8kB,EAAUznB,OAAO+N,GAAKjK,MAAMyjB,EAAGhd,WAEZ,EAAfgd,EAAGhd,aAAmBgd,EAAG/b,WAAa+b,EAAG/b,WAAuC,OAA1BuC,EAAIwZ,EAAGhd,UAAY,MAC3ErS,EAAS,OAASA,EAAS,IAC3BuvB,EAAU,IAAMA,EAChBD,KAIFF,EAAS,IAAIxkB,OAAO,OAAS5K,EAAS,IAAKyK,IAGzC0kB,IACFC,EAAS,IAAIxkB,OAAO,IAAM5K,EAAS,WAAYyK,IAE7CwkB,IAA0B5c,EAAYgd,EAAGhd,WAE7CrB,EAAQ+d,EAAW3qB,KAAKmM,EAAS6e,EAASC,EAAIE,GAE1Chf,EACES,GACFA,EAAMoa,MAAQpa,EAAMoa,MAAMxf,MAAM0jB,GAChCte,EAAM,GAAKA,EAAM,GAAGpF,MAAM0jB,GAC1Bte,EAAMhI,MAAQqmB,EAAGhd,UACjBgd,EAAGhd,WAAarB,EAAM,GAAGnJ,QACpBwnB,EAAGhd,UAAY,EACb4c,GAA4Bje,IACrCqe,EAAGhd,UAAYgd,EAAG9vB,OAASyR,EAAMhI,MAAQgI,EAAM,GAAGnJ,OAASwK,GAEzD8c,GAAiBne,GAAwB,EAAfA,EAAMnJ,QAGlC6M,EAActQ,KAAK4M,EAAM,GAAIoe,EAAQ,WACnC,IAAK3hB,EAAI,EAAGA,EAAI7F,UAAUC,OAAS,EAAG4F,SACf3M,IAAjB8G,UAAU6F,KAAkBuD,EAAMvD,QAAK3M,KAK1CkQ,IAIXlS,EAAOD,QAAUmwB,G,6BCrFjB,IAAIttB,EAAI,EAAQ,GACZ8tB,EAAQ,EAAQ,KAA4BhK,KAKhD9jB,EAAE,CAAEpB,OAAQ,SAAUsB,OAAO,EAAMf,OAJN,EAAQ,IAIM4uB,CAAuB,SAAW,CAC3EjK,KAAM,WACJ,OAAOgK,EAAMvwB,U,gBCTjB,IAAIgC,EAAM,EAAQ,IACdwE,EAAW,EAAQ,IACnBQ,EAAY,EAAQ,IACpBypB,EAA2B,EAAQ,KAEnCpC,EAAWrnB,EAAU,YACrBxB,EAAkBtC,OAAOzB,UAI7B5B,EAAOD,QAAU6wB,EAA2BvtB,OAAOwtB,eAAiB,SAAUlsB,GAE5E,OADAA,EAAIgC,EAAShC,GACTxC,EAAIwC,EAAG6pB,GAAkB7pB,EAAE6pB,GACH,mBAAjB7pB,EAAEiI,aAA6BjI,aAAaA,EAAEiI,YAChDjI,EAAEiI,YAAYhL,UACd+C,aAAatB,OAASsC,EAAkB,O,6BCdnD,IAAIoC,EAA6B,GAAG4nB,qBAChCjvB,EAA2B2C,OAAO3C,yBAGlCowB,EAAcpwB,IAA6BqH,EAA2BzC,KAAK,CAAE8K,EAAG,GAAK,GAIzFrQ,EAAQY,EAAImwB,EAAc,SAA8BnoB,GACtD,IAAIrH,EAAaZ,EAAyBP,KAAMwI,GAChD,QAASrH,GAAcA,EAAWyE,YAChCgC,G,gBCZJ,IAAItH,EAAS,EAAQ,GACjBG,EAA8B,EAAQ,IAE1CZ,EAAOD,QAAU,SAAUoB,EAAKW,GAC9B,IACElB,EAA4BH,EAAQU,EAAKW,GACzC,MAAOtB,GACPC,EAAOU,GAAOW,EACd,OAAOA,I,gBCRX,IAAIyE,EAAU,EAAQ,IAClBkmB,EAAQ,EAAQ,KAEnBzsB,EAAOD,QAAU,SAAUoB,EAAKW,GAC/B,OAAO2qB,EAAMtrB,KAASsrB,EAAMtrB,QAAiBa,IAAVF,EAAsBA,EAAQ,MAChE,WAAY,IAAIuE,KAAK,CACtB0T,QAAS,QACTgX,KAAMxqB,EAAU,OAAS,SACzByqB,UAAW,0C,cCRb,IAAIC,EAAK,EACLC,EAAU1tB,KAAK2tB,SAEnBnxB,EAAOD,QAAU,SAAUoB,GACzB,MAAO,UAAY6H,YAAehH,IAARb,EAAoB,GAAKA,GAAO,QAAU8vB,EAAKC,GAAS9tB,SAAS,M,cCH7FpD,EAAOD,QAAU,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,Y,cCRFA,EAAQY,EAAI0C,OAAOuG,uB,gBCIJ,SAAX5I,EAAqBowB,EAASC,GAChC,IAAIvvB,EAAQqgB,EAAKmP,EAAUF,IAC3B,OAAOtvB,GAASyvB,GACZzvB,GAAS0vB,IACW,mBAAbH,EAA0B7qB,EAAM6qB,KACrCA,GATR,IAAI7qB,EAAQ,EAAQ,GAEhBsQ,EAAc,kBAUdwa,EAAYtwB,EAASswB,UAAY,SAAUnoB,GAC7C,OAAOH,OAAOG,GAAQ4D,QAAQ+J,EAAa,KAAK6R,eAG9CxG,EAAOnhB,EAASmhB,KAAO,GACvBqP,EAASxwB,EAASwwB,OAAS,IAC3BD,EAAWvwB,EAASuwB,SAAW,IAEnCvxB,EAAOD,QAAUiB,G,gBCpBjB,IAAIwF,EAAQ,EAAQ,GAEpBxG,EAAOD,UAAYsD,OAAOuG,wBAA0BpD,EAAM,WAGxD,OAAQwC,OAAOxG,a,6BCJjB,IAAIgE,EAAQ,EAAQ,GAEpBxG,EAAOD,QAAU,SAAUsN,EAAa+B,GACtC,IAAImD,EAAS,GAAGlF,GAChB,QAASkF,GAAU/L,EAAM,WAEvB+L,EAAOjN,KAAK,KAAM8J,GAAY,WAAc,MAAM,GAAM,O,gBCP5D,IAGIuF,EAAO,GAEXA,EALsB,EAAQ,EAEVvN,CAAgB,gBAGd,IAEtBpH,EAAOD,QAA2B,eAAjBiJ,OAAO2L,I,gBCPxB,IAAI9P,EAAW,EAAQ,IACnB4sB,EAAqB,EAAQ,KAMjCzxB,EAAOD,QAAUsD,OAAOquB,iBAAmB,aAAe,GAAK,WAC7D,IAEIzoB,EAFA0oB,GAAiB,EACjBhd,EAAO,GAEX,KACE1L,EAAS5F,OAAO3C,yBAAyB2C,OAAOzB,UAAW,aAAa8F,KACjEpC,KAAKqP,EAAM,IAClBgd,EAAiBhd,aAAgBhK,MACjC,MAAOnK,IACT,OAAO,SAAwBmE,EAAG7B,GAKhC,OAJA+B,EAASF,GACT8sB,EAAmB3uB,GACf6uB,EAAgB1oB,EAAO3D,KAAKX,EAAG7B,GAC9B6B,EAAEitB,UAAY9uB,EACZ6B,GAdoD,QAgBzD3C,I,6BCtBN,IAAI6C,EAAW,EAAQ,IAIvB7E,EAAOD,QAAU,WACf,IAAI6tB,EAAO/oB,EAAS1E,MAChBgG,EAAS,GAOb,OANIynB,EAAKntB,SAAQ0F,GAAU,KACvBynB,EAAKrZ,aAAYpO,GAAU,KAC3BynB,EAAKpZ,YAAWrO,GAAU,KAC1BynB,EAAKiE,SAAQ1rB,GAAU,KACvBynB,EAAKta,UAASnN,GAAU,KACxBynB,EAAKnc,SAAQtL,GAAU,KACpBA,I,6BCZT,EAAQ,IACR,IAAItF,EAAW,EAAQ,IACnB2F,EAAQ,EAAQ,GAChBY,EAAkB,EAAQ,GAC1BuM,EAAa,EAAQ,IACrB/S,EAA8B,EAAQ,IAEtCyP,EAAUjJ,EAAgB,WAE1B0qB,GAAiCtrB,EAAM,WAIzC,IAAI+pB,EAAK,IAMT,OALAA,EAAGhwB,KAAO,WACR,IAAI4F,EAAS,GAEb,OADAA,EAAO0Q,OAAS,CAAEtO,EAAG,KACdpC,GAEyB,MAA3B,GAAG4G,QAAQwjB,EAAI,UAKpBxa,EACgC,OAA3B,IAAIhJ,QAAQ,IAAK,MAGtB4I,EAAUvO,EAAgB,WAE1B0O,IACE,IAAIH,IAC6B,KAA5B,IAAIA,GAAS,IAAK,MAOzBoc,GAAqCvrB,EAAM,WAC7C,IAAI+pB,EAAK,OACLyB,EAAezB,EAAGhwB,KACtBgwB,EAAGhwB,KAAO,WAAc,OAAOyxB,EAAa7nB,MAAMhK,KAAM2I,YACxD,IAAI3C,EAAS,KAAKsJ,MAAM8gB,GACxB,OAAyB,IAAlBpqB,EAAO4C,QAA8B,MAAd5C,EAAO,IAA4B,MAAdA,EAAO,KAG5DnG,EAAOD,QAAU,SAAUkyB,EAAKlpB,EAAQxI,EAAM0B,GAC5C,IA2CMiwB,EACAC,EAeAC,EACAC,EA5DF7tB,EAAS4C,EAAgB6qB,GAEzBK,GAAuB9rB,EAAM,WAE/B,IAAI7B,EAAI,GAER,OADAA,EAAEH,GAAU,WAAc,OAAO,GACZ,GAAd,GAAGytB,GAAKttB,KAGb4tB,EAAoBD,IAAwB9rB,EAAM,WAEpD,IAAIgsB,GAAa,EACbjC,EAAK,IAkBT,MAhBY,UAAR0B,KAIF1B,EAAK,CAGL,YAAiB,KACd3jB,YAAYyD,GAAW,WAAc,OAAOkgB,GAC/CA,EAAG5kB,MAAQ,GACX4kB,EAAG/rB,GAAU,IAAIA,IAGnB+rB,EAAGhwB,KAAO,WAAiC,OAAnBiyB,GAAa,EAAa,MAElDjC,EAAG/rB,GAAQ,KACHguB,IAIPF,GACAC,IACQ,YAARN,GACCH,GACA/b,IACCD,KAEM,UAARmc,GAAoBF,KAEjBG,EAAqB,IAAI1tB,GAgBzB4tB,GAfAD,EAAU5xB,EAAKiE,EAAQ,GAAGytB,GAAM,SAAUQ,EAAc/lB,EAAQqK,EAAK2b,EAAMC,GAC7E,OAAIjmB,EAAOnM,OAASoT,EACd2e,IAAwBK,EAInB,CAAE5nB,MAAM,EAAMjJ,MAAOowB,EAAmB5sB,KAAKoH,EAAQqK,EAAK2b,IAE5D,CAAE3nB,MAAM,EAAMjJ,MAAO2wB,EAAantB,KAAKyR,EAAKrK,EAAQgmB,IAEtD,CAAE3nB,MAAM,IACd,CACDgL,iBAAkBA,EAClBD,6CAA8CA,KAErB,GACvBuc,EAAcF,EAAQ,GAE1BtxB,EAASmI,OAAOpH,UAAWqwB,EAAKG,GAChCvxB,EAASiL,OAAOlK,UAAW4C,EAAkB,GAAVuE,EAG/B,SAAUI,EAAQkF,GAAO,OAAOgkB,EAAY/sB,KAAK6D,EAAQhJ,KAAMkO,IAG/D,SAAUlF,GAAU,OAAOkpB,EAAY/sB,KAAK6D,EAAQhJ,SAItD8B,GAAMrB,EAA4BkL,OAAOlK,UAAU4C,GAAS,QAAQ,K,6BC1H1E,IAAIyG,EAAS,EAAQ,KAAiCA,OAItDjL,EAAOD,QAAU,SAAUqT,EAAGlJ,EAAOoJ,GACnC,OAAOpJ,GAASoJ,EAAUrI,EAAOmI,EAAGlJ,GAAOnB,OAAS,K,gBCNtD,IAAI2mB,EAAU,EAAQ,IAClB/b,EAAa,EAAQ,IAIzB3T,EAAOD,QAAU,SAAUmM,EAAGkH,GAC5B,IAAI7S,EAAO2L,EAAE3L,KACb,GAAoB,mBAATA,EAAqB,CAC9B,IAAI4F,EAAS5F,EAAK+E,KAAK4G,EAAGkH,GAC1B,GAAsB,iBAAXjN,EACT,MAAM0C,UAAU,sEAElB,OAAO1C,EAGT,GAAmB,WAAfupB,EAAQxjB,GACV,MAAMrD,UAAU,+CAGlB,OAAO8K,EAAWrO,KAAK4G,EAAGkH,K,gBCnB5B,IAAI3J,EAAiB,EAAQ,IAAuC9I,EAChEwB,EAAM,EAAQ,IAGd+K,EAFkB,EAAQ,EAEV9F,CAAgB,eAEpCpH,EAAOD,QAAU,SAAUwD,EAAIqvB,EAAKlxB,GAC9B6B,IAAOpB,EAAIoB,EAAK7B,EAAS6B,EAAKA,EAAG3B,UAAWsL,IAC9CzD,EAAelG,EAAI2J,EAAe,CAAEhE,cAAc,EAAMpH,MAAO8wB,M,6BCiBpD,SAAXC,EAAqBzjB,GACvB,IACI0jB,EAAOC,EAAOC,EAAOC,EAASC,EAAQnqB,EAAQmB,EAAOipB,EADrD5vB,EAAKmC,EAAY0J,GAAU,GAE/B,GAAiB,iBAAN7L,GAA8B,EAAZA,EAAGwF,OAG9B,GAAc,MADd+pB,GADAvvB,EAAKmjB,EAAKnjB,IACC6vB,WAAW,KACQ,KAAVN,GAElB,GAAc,MADdC,EAAQxvB,EAAG6vB,WAAW,KACQ,MAAVL,EAAe,OAAOM,SACrC,GAAc,KAAVP,EAAc,CACvB,OAAQvvB,EAAG6vB,WAAW,IACpB,KAAK,GAAI,KAAK,GAAIJ,EAAQ,EAAGC,EAAU,GAAI,MAC3C,KAAK,GAAI,KAAK,IAAKD,EAAQ,EAAGC,EAAU,GAAI,MAC5C,QAAS,OAAQ1vB,EAInB,IADAwF,GADAmqB,EAAS3vB,EAAGuJ,MAAM,IACF/D,OACXmB,EAAQ,EAAGA,EAAQnB,EAAQmB,IAI9B,IAHAipB,EAAOD,EAAOE,WAAWlpB,IAGd,IAAa+oB,EAAPE,EAAgB,OAAOE,IACxC,OAAOnX,SAASgX,EAAQF,GAE5B,OAAQzvB,EAhDZ,IAAIkB,EAAc,EAAQ,GACtBhE,EAAS,EAAQ,GACjBO,EAAW,EAAQ,IACnBH,EAAW,EAAQ,IACnBsB,EAAM,EAAQ,IACdutB,EAAU,EAAQ,IAClB9e,EAAoB,EAAQ,KAC5BlL,EAAc,EAAQ,IACtBc,EAAQ,EAAQ,GAChBgD,EAAS,EAAQ,IACjBG,EAAsB,EAAQ,IAA8ChJ,EAC5ED,EAA2B,EAAQ,IAAmDC,EACtF8I,EAAiB,EAAQ,IAAuC9I,EAChE+lB,EAAO,EAAQ,KAA4BA,KAE3C4M,EAAS,SACTC,EAAe9yB,EAAO6yB,GACtBE,EAAkBD,EAAa3xB,UAG/B6xB,EAAiB/D,EAAQlmB,EAAOgqB,KAAqBF,EAiCzD,GAAItyB,EAASsyB,GAASC,EAAa,UAAYA,EAAa,QAAUA,EAAa,SAAU,CAS3F,IARA,IAcqBpyB,EAdjBuyB,EAAgB,SAAgB5xB,GAClC,IAAIyB,EAAKuF,UAAUC,OAAS,EAAI,EAAIjH,EAChC6xB,EAAQxzB,KACZ,OAAOwzB,aAAiBD,IAElBD,EAAiBjtB,EAAM,WAAcgtB,EAAgBppB,QAAQ9E,KAAKquB,KAAajE,EAAQiE,IAAUL,GACjG1iB,EAAkB,IAAI2iB,EAAaV,EAAStvB,IAAMowB,EAAOD,GAAiBb,EAAStvB,IAElFyB,EAAOP,EAAckF,EAAoB4pB,GAAgB,6KAMhE9jB,MAAM,KAAMiH,EAAI,EAAQ1R,EAAK+D,OAAS2N,EAAGA,IACrCvU,EAAIoxB,EAAcpyB,EAAM6D,EAAK0R,MAAQvU,EAAIuxB,EAAevyB,IAC1DsI,EAAeiqB,EAAevyB,EAAKT,EAAyB6yB,EAAcpyB,KAG9EuyB,EAAc9xB,UAAY4xB,GACV5mB,YAAc8mB,EAC9B7yB,EAASJ,EAAQ6yB,EAAQI,K,cC5E3B,IAGAE,EAAI,WACH,OAAOzzB,KADJ,GAIJ,IAECyzB,EAAIA,GAAK,IAAI/vB,SAAS,cAAb,GACR,MAAOmR,GAEc,iBAAXrR,SAAqBiwB,EAAIjwB,QAOrC3D,EAAOD,QAAU6zB,G,gBCnBjB,IAAInvB,EAAc,EAAQ,GACtB+B,EAAQ,EAAQ,GAChBqtB,EAAgB,EAAQ,IAG5B7zB,EAAOD,SAAW0E,IAAgB+B,EAAM,WACtC,OAEQ,GAFDnD,OAAOoG,eAAeoqB,EAAc,OAAQ,IAAK,CACtDvrB,IAAK,WAAc,OAAO,KACzBC,K,gBCRL,IAAI9H,EAAS,EAAQ,GACjBiG,EAAW,EAAQ,IAEnB4Q,EAAW7W,EAAO6W,SAElBwc,EAASptB,EAAS4Q,IAAa5Q,EAAS4Q,EAASuc,eAErD7zB,EAAOD,QAAU,SAAUwD,GACzB,OAAOuwB,EAASxc,EAASuc,cAActwB,GAAM,K,gBCR/C,IAAIkpB,EAAQ,EAAQ,IAEhBsH,EAAmBlwB,SAAST,SAGE,mBAAvBqpB,EAAMpd,gBACfod,EAAMpd,cAAgB,SAAU9L,GAC9B,OAAOwwB,EAAiBzuB,KAAK/B,KAIjCvD,EAAOD,QAAU0sB,EAAMpd,e,gBCXvB,IAAI5O,EAAS,EAAQ,GACjBK,EAAY,EAAQ,IAEpBkzB,EAAS,qBACTvH,EAAQhsB,EAAOuzB,IAAWlzB,EAAUkzB,EAAQ,IAEhDh0B,EAAOD,QAAU0sB,G,gBCNjB,IAAItqB,EAAM,EAAQ,IACdqL,EAAU,EAAQ,IAClBxG,EAAiC,EAAQ,IACzCC,EAAuB,EAAQ,IAEnCjH,EAAOD,QAAU,SAAUyB,EAAQN,GAIjC,IAHA,IAAI8D,EAAOwI,EAAQtM,GACfuI,EAAiBxC,EAAqBtG,EACtCD,EAA2BsG,EAA+BrG,EACrDgO,EAAI,EAAGA,EAAI3J,EAAK+D,OAAQ4F,IAAK,CACpC,IAAIxN,EAAM6D,EAAK2J,GACVxM,EAAIX,EAAQL,IAAMsI,EAAejI,EAAQL,EAAKT,EAAyBQ,EAAQC,O,gBCXxF,IAAImF,EAAa,EAAQ,IACrBO,EAA4B,EAAQ,IACpCE,EAA8B,EAAQ,IACtClC,EAAW,EAAQ,IAGvB7E,EAAOD,QAAUuG,EAAW,UAAW,YAAc,SAAiB/C,GACpE,IAAIyB,EAAO6B,EAA0BlG,EAAEkE,EAAStB,IAC5CqG,EAAwB7C,EAA4BpG,EACxD,OAAOiJ,EAAwB5E,EAAKE,OAAO0E,EAAsBrG,IAAOyB,I,gBCT1E,IAAIvE,EAAS,EAAQ,GAErBT,EAAOD,QAAUU,G,gBCFjB,IAAI0B,EAAM,EAAQ,IACd4C,EAAkB,EAAQ,IAC1B8M,EAAU,EAAQ,IAA+BA,QACjDzL,EAAa,EAAQ,IAEzBpG,EAAOD,QAAU,SAAU4N,EAAQ1H,GACjC,IAGI9E,EAHAwD,EAAII,EAAgB4I,GACpBgB,EAAI,EACJxI,EAAS,GAEb,IAAKhF,KAAOwD,GAAIxC,EAAIiE,EAAYjF,IAAQgB,EAAIwC,EAAGxD,IAAQgF,EAAOE,KAAKlF,GAEnE,KAAO8E,EAAM8C,OAAS4F,GAAOxM,EAAIwC,EAAGxD,EAAM8E,EAAM0I,SAC7CkD,EAAQ1L,EAAQhF,IAAQgF,EAAOE,KAAKlF,IAEvC,OAAOgF,I,gBCVU,SAAfinB,EAAyB6G,GAC3B,OAAO,SAAUtG,EAAOzO,EAAIgV,GAC1B,IAGIpyB,EAHA6C,EAAII,EAAgB4oB,GACpB5kB,EAAS6E,EAASjJ,EAAEoE,QACpBmB,EAAQ+F,EAAgBikB,EAAWnrB,GAIvC,GAAIkrB,GAAe/U,GAAMA,GAAI,KAAgBhV,EAATnB,GAGlC,IAFAjH,EAAQ6C,EAAEuF,OAEGpI,EAAO,OAAO,OAEtB,KAAeoI,EAATnB,EAAgBmB,IAC3B,IAAK+pB,GAAe/pB,KAASvF,IAAMA,EAAEuF,KAAWgV,EAAI,OAAO+U,GAAe/pB,GAAS,EACnF,OAAQ+pB,IAAgB,GApB9B,IAAIlvB,EAAkB,EAAQ,IAC1B6I,EAAW,EAAQ,IACnBqC,EAAkB,EAAQ,IAsB9BjQ,EAAOD,QAAU,CAGfo0B,SAAU/G,GAAa,GAGvBvb,QAASub,GAAa,K,gBC9BxB,IAAIxd,EAAY,EAAQ,IAEpBW,EAAM/M,KAAK+M,IACXV,EAAMrM,KAAKqM,IAKf7P,EAAOD,QAAU,SAAUmK,EAAOnB,GAChC,IAAIqrB,EAAUxkB,EAAU1F,GACxB,OAAOkqB,EAAU,EAAI7jB,EAAI6jB,EAAUrrB,EAAQ,GAAK8G,EAAIukB,EAASrrB,K,gBCV/D,IAAIrC,EAAW,EAAQ,IACnBD,EAAU,EAAQ,IAGlB4J,EAFkB,EAAQ,EAEhBjJ,CAAgB,WAI9BpH,EAAOD,QAAU,SAAUs0B,EAAetrB,GACxC,IAAI8L,EASF,OAREpO,EAAQ4tB,KAGM,mBAFhBxf,EAAIwf,EAAcznB,eAEaiI,IAAMlK,OAASlE,EAAQoO,EAAEjT,aAC/C8E,EAASmO,IAEN,QADVA,EAAIA,EAAExE,OAF6DwE,OAAI7S,GAKlE,SAAWA,IAAN6S,EAAkBlK,MAAQkK,GAAc,IAAX9L,EAAe,EAAIA,K,gBClBhE,IAAI1G,EAAgB,EAAQ,IAE5BrC,EAAOD,QAAUsC,IAEXG,OAAOP,MAEkB,iBAAnBO,OAAO8xB,U,gBCNnB,IAMIpiB,EAAO6H,EANPtZ,EAAS,EAAQ,GACjBiX,EAAY,EAAQ,KAEpB6c,EAAU9zB,EAAO8zB,QACjBC,EAAWD,GAAWA,EAAQC,SAC9BC,EAAKD,GAAYA,EAASC,GAG1BA,EAEF1a,GADA7H,EAAQuiB,EAAGhlB,MAAM,MACD,GAAKyC,EAAM,GAClBwF,MACTxF,EAAQwF,EAAUxF,MAAM,iBACE,IAAZA,EAAM,MAClBA,EAAQwF,EAAUxF,MAAM,oBACb6H,EAAU7H,EAAM,IAI/BlS,EAAOD,QAAUga,IAAYA,G,6BClB7B,IAAI3U,EAAW,EAAQ,IAAgCvC,QACnDsS,EAAsB,EAAQ,IAC9B5J,EAA0B,EAAQ,IAElC+J,EAAgBH,EAAoB,WACpC1J,EAAiBF,EAAwB,WAI7CvL,EAAOD,QAAYuV,GAAkB7J,EAEjC,GAAG5I,QAFgD,SAAiB6I,EAAjB,GACrD,OAAOtG,EAASjF,KAAMuL,EAA+B,EAAnB5C,UAAUC,OADS,OACmB/G,K,gBCX1E,IAAImQ,EAAY,EAAQ,IAGxBnS,EAAOD,QAAU,SAAU8X,EAAI+V,EAAM7kB,GAEnC,GADAoJ,EAAU0F,QACG7V,IAAT4rB,EAAoB,OAAO/V,EAC/B,OAAQ9O,GACN,KAAK,EAAG,OAAO,WACb,OAAO8O,EAAGvS,KAAKsoB,IAEjB,KAAK,EAAG,OAAO,SAAUrlB,GACvB,OAAOsP,EAAGvS,KAAKsoB,EAAMrlB,IAEvB,KAAK,EAAG,OAAO,SAAUA,EAAGmY,GAC1B,OAAO7I,EAAGvS,KAAKsoB,EAAMrlB,EAAGmY,IAE1B,KAAK,EAAG,OAAO,SAAUnY,EAAGmY,EAAGgU,GAC7B,OAAO7c,EAAGvS,KAAKsoB,EAAMrlB,EAAGmY,EAAGgU,IAG/B,OAAO,WACL,OAAO7c,EAAG1N,MAAMyjB,EAAM9kB,c,gBCrB1B,IAAI3F,EAAwB,EAAQ,IAChCwxB,EAAa,EAAQ,IAGrBznB,EAFkB,EAAQ,EAEV9F,CAAgB,eAEhCwtB,EAAuE,aAAnDD,EAAW,WAAc,OAAO7rB,UAArB,IAUnC9I,EAAOD,QAAUoD,EAAwBwxB,EAAa,SAAUpxB,GAC9D,IAAIoB,EAAGZ,EAAKoC,EACZ,YAAcnE,IAAPuB,EAAmB,YAAqB,OAAPA,EAAc,OAEM,iBAAhDQ,EAXD,SAAUR,EAAIpC,GACzB,IACE,OAAOoC,EAAGpC,GACV,MAAOX,KAQSq0B,CAAOlwB,EAAItB,OAAOE,GAAK2J,IAA8BnJ,EAEnE6wB,EAAoBD,EAAWhwB,GAEH,WAA3BwB,EAASwuB,EAAWhwB,KAAsC,mBAAZA,EAAEmwB,OAAuB,YAAc3uB,I,gBCxB5F,IAAIO,EAAW,EAAQ,IACnBgrB,EAAiB,EAAQ,IAG7B1xB,EAAOD,QAAU,SAAU4tB,EAAOgG,EAAOoB,GACvC,IAAIC,EAAWC,EAUf,OAPEvD,GAE0C,mBAAlCsD,EAAYrB,EAAM/mB,cAC1BooB,IAAcD,GACdruB,EAASuuB,EAAqBD,EAAUpzB,YACxCqzB,IAAuBF,EAAQnzB,WAC/B8vB,EAAe/D,EAAOsH,GACjBtH,I,gBCfT,IAAIjnB,EAAW,EAAQ,IACnBgpB,EAAU,EAAQ,IAGlBze,EAFkB,EAAQ,EAElB7J,CAAgB,SAI5BpH,EAAOD,QAAU,SAAUwD,GACzB,IAAIsN,EACJ,OAAOnK,EAASnD,UAAmCvB,KAA1B6O,EAAWtN,EAAG0N,MAA0BJ,EAA0B,UAAf6e,EAAQnsB,M,6BCRtF,IAAIiD,EAAQ,EAAQ,GAIpB,SAAS0uB,EAAGC,EAAGx0B,GACb,OAAOmL,OAAOqpB,EAAGx0B,GAGnBZ,EAAQuR,cAAgB9K,EAAM,WAE5B,IAAI+pB,EAAK2E,EAAG,IAAK,KAEjB,OADA3E,EAAGhd,UAAY,EACW,MAAnBgd,EAAGhwB,KAAK,UAGjBR,EAAQqwB,aAAe5pB,EAAM,WAE3B,IAAI+pB,EAAK2E,EAAG,KAAM,MAElB,OADA3E,EAAGhd,UAAY,EACU,MAAlBgd,EAAGhwB,KAAK,U,gBCjBE,SAAf6sB,EAAyBgI,GAC3B,OAAO,SAAUzH,EAAO0H,GACtB,IAGIvC,EAAOwC,EAHPliB,EAAIpK,OAAO+F,EAAuB4e,IAClCnX,EAAW5G,EAAUylB,GACrBE,EAAOniB,EAAErK,OAEb,OAAIyN,EAAW,GAAiB+e,GAAZ/e,EAAyB4e,EAAoB,QAAKpzB,GACtE8wB,EAAQ1f,EAAEggB,WAAW5c,IACN,OAAkB,MAARsc,GAAkBtc,EAAW,IAAM+e,IACtDD,EAASliB,EAAEggB,WAAW5c,EAAW,IAAM,OAAmB,MAAT8e,EACjDF,EAAoBhiB,EAAEnI,OAAOuL,GAAYsc,EACzCsC,EAAoBhiB,EAAEtG,MAAM0J,EAAUA,EAAW,GAA+B8e,EAAS,OAAlCxC,EAAQ,OAAU,IAA0B,OAf7G,IAAIljB,EAAY,EAAQ,IACpBb,EAAyB,EAAQ,IAkBrC/O,EAAOD,QAAU,CAGfy1B,OAAQpI,GAAa,GAGrBniB,OAAQmiB,GAAa,K,gBCjBJ,SAAfA,EAAyBF,GAC3B,OAAO,SAAUS,GACf,IAAIxkB,EAASH,OAAO+F,EAAuB4e,IAG3C,OAFW,EAAPT,IAAU/jB,EAASA,EAAO4D,QAAQ0oB,EAAO,KAClC,EAAPvI,IAAU/jB,EAASA,EAAO4D,QAAQ2oB,EAAO,KACtCvsB,GAbX,IAAI4F,EAAyB,EAAQ,IAGjC4mB,EAAa,IAFC,EAAQ,KAEW,IACjCF,EAAQ3pB,OAAO,IAAM6pB,EAAaA,EAAa,KAC/CD,EAAQ5pB,OAAO6pB,EAAaA,EAAa,MAY7C31B,EAAOD,QAAU,CAGfyQ,MAAO4c,EAAa,GAGpB3c,IAAK2c,EAAa,GAGlB1G,KAAM0G,EAAa,K,cCxBrBptB,EAAOD,QAAU,iD,cCAjBC,EAAOD,QAAU,CACf61B,YAAa,EACbC,oBAAqB,EACrBC,aAAc,EACdC,eAAgB,EAChBC,YAAa,EACbC,cAAe,EACfC,aAAc,EACdC,qBAAsB,EACtBC,SAAU,EACVC,kBAAmB,EACnBC,eAAgB,EAChBC,gBAAiB,EACjBC,kBAAmB,EACnBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,SAAU,EACVC,iBAAkB,EAClBC,OAAQ,EACRC,YAAa,EACbC,cAAe,EACfC,cAAe,EACfC,eAAgB,EAChBC,aAAc,EACdC,cAAe,EACfC,iBAAkB,EAClBC,iBAAkB,EAClBC,eAAgB,EAChBC,iBAAkB,EAClBC,cAAe,EACfC,UAAW,I,gBCjCb,IAAItwB,EAAkB,EAAQ,GAE9BrH,EAAQY,EAAIyG,G,gBCFZ,IAAIiL,EAAO,EAAQ,IACflQ,EAAM,EAAQ,IACdkF,EAA+B,EAAQ,KACvCoC,EAAiB,EAAQ,IAAuC9I,EAEpEX,EAAOD,QAAU,SAAU43B,GACzB,IAAIn1B,EAAS6P,EAAK7P,SAAW6P,EAAK7P,OAAS,IACtCL,EAAIK,EAAQm1B,IAAOluB,EAAejH,EAAQm1B,EAAM,CACnD71B,MAAOuF,EAA6B1G,EAAEg3B,O,gBCR1C,IAAIvwB,EAAkB,EAAQ,GAC1BoC,EAAS,EAAQ,IACjBvC,EAAuB,EAAQ,IAE/B2wB,EAAcxwB,EAAgB,eAC9BywB,EAAiBltB,MAAM/I,UAIQI,MAA/B61B,EAAeD,IACjB3wB,EAAqBtG,EAAEk3B,EAAgBD,EAAa,CAClD1uB,cAAc,EACdpH,MAAO0H,EAAO,QAKlBxJ,EAAOD,QAAU,SAAUoB,GACzB02B,EAAeD,GAAaz2B,IAAO,I,6BCEpB,SAAb22B,IAA2B,OAAO33B,KAnBtC,IAAIyC,EAAI,EAAQ,GACZm1B,EAA4B,EAAQ,KACpClH,EAAiB,EAAQ,IACzBa,EAAiB,EAAQ,IACzBnqB,EAAiB,EAAQ,IACzB3G,EAA8B,EAAQ,IACtCC,EAAW,EAAQ,IACnBuG,EAAkB,EAAQ,GAC1Bb,EAAU,EAAQ,IAClBiE,EAAY,EAAQ,IACpBwtB,EAAgB,EAAQ,KAExBC,EAAoBD,EAAcC,kBAClCC,EAAyBF,EAAcE,uBACvCjrB,EAAW7F,EAAgB,YAE3B+wB,EAAS,SACTC,EAAU,UAIdp4B,EAAOD,QAAU,SAAUs4B,EAAUV,EAAMW,EAAqBC,EAAMC,EAASC,EAAQC,GACrFX,EAA0BO,EAAqBX,EAAMY,GAE5B,SAArBI,EAA+BC,GACjC,GAAIA,IAASJ,GAAWK,EAAiB,OAAOA,EAChD,IAAKX,GAA0BU,KAAQE,EAAmB,OAAOA,EAAkBF,GACnF,OAAQA,GACN,IAbK,OAcL,KAAKT,EACL,KAAKC,EAAS,OAAO,WAAqB,OAAO,IAAIE,EAAoBn4B,KAAMy4B,IAC/E,OAAO,WAAc,OAAO,IAAIN,EAAoBn4B,OAPxD,IAkBI44B,EAA0B5G,EAASF,EARnC/kB,EAAgByqB,EAAO,YACvBqB,GAAwB,EACxBF,EAAoBT,EAASz2B,UAC7Bq3B,EAAiBH,EAAkB7rB,IAClC6rB,EAAkB,eAClBN,GAAWM,EAAkBN,GAC9BK,GAAmBX,GAA0Be,GAAkBN,EAAmBH,GAClFU,EAA4B,SAARvB,GAAkBmB,EAAkBK,SAA4BF,EAiCxF,GA7BIC,IACFH,EAA2BlI,EAAeqI,EAAkB5zB,KAAK,IAAI+yB,IACjEJ,IAAsB50B,OAAOzB,WAAam3B,EAAyBR,OAChEhyB,GAAWsqB,EAAekI,KAA8Bd,IACvDvG,EACFA,EAAeqH,EAA0Bd,GACa,mBAAtCc,EAAyB9rB,IACzCrM,EAA4Bm4B,EAA0B9rB,EAAU6qB,IAIpEvwB,EAAewxB,EAA0B7rB,GAAe,GAAM,GAC1D3G,IAASiE,EAAU0C,GAAiB4qB,KAKxCU,GAAWL,GAAUc,GAAkBA,EAAet2B,OAASw1B,IACjEa,GAAwB,EACxBH,EAAkB,WAAoB,OAAOI,EAAe3zB,KAAKnF,QAI7DoG,IAAWmyB,GAAWI,EAAkB7rB,KAAc4rB,GAC1Dj4B,EAA4Bk4B,EAAmB7rB,EAAU4rB,GAE3DruB,EAAUmtB,GAAQkB,EAGdL,EAMF,GALArG,EAAU,CACR/kB,OAAQurB,EAAmBR,GAC3BnzB,KAAMyzB,EAASI,EAAkBF,EA9D5B,QA+DLQ,QAASR,EAAmBP,IAE1BM,EAAQ,IAAKzG,KAAOE,GAClB+F,IAA0Bc,GAA2B/G,KAAO6G,GAC9Dj4B,EAASi4B,EAAmB7G,EAAKE,EAAQF,SAEtCrvB,EAAE,CAAEpB,OAAQm2B,EAAM70B,OAAO,EAAMf,OAAQm2B,GAA0Bc,GAAyB7G,GAGnG,OAAOA,I,6BCvFT,IAaI8F,EAAmBmB,EAAmCC,EAbtDxI,EAAiB,EAAQ,IACzBjwB,EAA8B,EAAQ,IACtCuB,EAAM,EAAQ,IACdiF,EAAkB,EAAQ,GAC1Bb,EAAU,EAAQ,IAElB0G,EAAW7F,EAAgB,YAC3B8wB,GAAyB,EAQzB,GAAGlzB,OAGC,SAFNq0B,EAAgB,GAAGr0B,SAIjBo0B,EAAoCvI,EAAeA,EAAewI,OACxBh2B,OAAOzB,YAAWq2B,EAAoBmB,GAHlDlB,GAAyB,GAOlCl2B,MAArBi2B,IAAgCA,EAAoB,IAGnD1xB,GAAYpE,EAAI81B,EAAmBhrB,IACtCrM,EAA4Bq3B,EAAmBhrB,EApBhC,WAAc,OAAO9M,OAuBtCH,EAAOD,QAAU,CACfk4B,kBAAmBA,EACnBC,uBAAwBA,I,gBCnC1B,IAAI1xB,EAAQ,EAAQ,GAEpBxG,EAAOD,SAAWyG,EAAM,WACtB,SAASgpB,KAET,OADAA,EAAE5tB,UAAUgL,YAAc,KACnBvJ,OAAOwtB,eAAe,IAAIrB,KAASA,EAAE5tB,a,gBCL9C,IAAIgB,EAAI,EAAQ,GACZ4D,EAAQ,EAAQ,GAChBG,EAAW,EAAQ,IACnB2yB,EAAuB,EAAQ,IAC/B1I,EAA2B,EAAQ,KAMvChuB,EAAE,CAAEpB,OAAQ,SAAUG,MAAM,EAAMI,OAJRyE,EAAM,WAAc8yB,EAAqB,KAIJr3B,MAAO2uB,GAA4B,CAChGC,eAAgB,SAAwBttB,GACtC,OAAO+1B,EAAqB3yB,EAASpD,Q,gBCZjC,EAAQ,EAKhBX,CAAE,CAAEpB,OAAQ,SAAUG,MAAM,GAAQ,CAClC+vB,eALmB,EAAQ,O,gBCD7B,IAAI9uB,EAAI,EAAQ,GACZ0D,EAAa,EAAQ,IACrB6L,EAAY,EAAQ,IACpBtN,EAAW,EAAQ,IACnB6B,EAAW,EAAQ,IACnB8C,EAAS,EAAQ,IACjBwiB,EAAO,EAAQ,KACfxlB,EAAQ,EAAQ,GAEhB+yB,EAAkBjzB,EAAW,UAAW,aAMxCkzB,EAAiBhzB,EAAM,WACzB,SAASgpB,KACT,QAAS+J,EAAgB,aAA6B,GAAI/J,aAAcA,KAEtEiK,GAAYjzB,EAAM,WACpB+yB,EAAgB,gBAEdb,EAASc,GAAkBC,EAE/B72B,EAAE,CAAEpB,OAAQ,UAAWG,MAAM,EAAMI,OAAQ22B,EAAQz2B,KAAMy2B,GAAU,CACjEgB,UAAW,SAAmBC,EAAQ1vB,EAA3B,GACTkI,EAAUwnB,GACV90B,EAASoF,GACT,IAAI2vB,EAAY9wB,UAAUC,OAAS,EAAI4wB,EAASxnB,EAHvC,GAIT,GAAIsnB,IAAaD,EAAgB,OAAOD,EAAgBI,EAAQ1vB,EAAM2vB,GACtE,GAAID,GAAUC,EAAW,CAEvB,OAAQ3vB,EAAKlB,QACX,KAAK,EAAG,OAAO,IAAI4wB,EACnB,KAAK,EAAG,OAAO,IAAIA,EAAO1vB,EAAK,IAC/B,KAAK,EAAG,OAAO,IAAI0vB,EAAO1vB,EAAK,GAAIA,EAAK,IACxC,KAAK,EAAG,OAAO,IAAI0vB,EAAO1vB,EAAK,GAAIA,EAAK,GAAIA,EAAK,IACjD,KAAK,EAAG,OAAO,IAAI0vB,EAAO1vB,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAG5D,IAAI4vB,EAAQ,CAAC,MAEb,OADAA,EAAMxzB,KAAK8D,MAAM0vB,EAAO5vB,GACjB,IAAK+hB,EAAK7hB,MAAMwvB,EAAQE,IAGjC,IAAI/2B,EAAQ82B,EAAUh4B,UAClB2a,EAAW/S,EAAO9C,EAAS5D,GAASA,EAAQO,OAAOzB,WACnDuE,EAAStC,SAASsG,MAAM7E,KAAKq0B,EAAQpd,EAAUtS,GACnD,OAAOvD,EAASP,GAAUA,EAASoW,M,6BC/CvC,IAAI3Z,EAAI,EAAQ,GACZkM,EAAgB,EAAQ,IACxB/J,EAAkB,EAAQ,IAC1BoQ,EAAsB,EAAQ,IAE9B2kB,EAAa,GAAGnqB,KAEhBoqB,EAAcjrB,GAAiBzL,OAC/BiS,EAAgBH,EAAoB,OAAQ,KAIhDvS,EAAE,CAAEpB,OAAQ,QAASsB,OAAO,EAAMf,OAAQg4B,IAAgBzkB,GAAiB,CACzE3F,KAAM,SAAcuE,GAClB,OAAO4lB,EAAWx0B,KAAKP,EAAgB5E,WAAqB6B,IAAdkS,EAA0B,IAAMA,O,gBCflF,IAAIzT,EAAS,EAAQ,GACjB4O,EAAgB,EAAQ,IAExB2d,EAAUvsB,EAAOusB,QAErBhtB,EAAOD,QAA6B,mBAAZitB,GAA0B,cAAcrY,KAAKtF,EAAc2d,K,gBCLnF,IAAI1mB,EAAa,EAAQ,IAEzBtG,EAAOD,QAAUuG,EAAW,YAAa,cAAgB,I,6BCDzD,IAAInD,EAAwB,EAAQ,IAChCusB,EAAU,EAAQ,IAItB1vB,EAAOD,QAAUoD,EAAwB,GAAGC,SAAW,WACrD,MAAO,WAAassB,EAAQvvB,MAAQ,M,gBCPtC,IAAIuG,EAAW,EAAQ,IAEvB1G,EAAOD,QAAU,SAAUwD,GACzB,IAAKmD,EAASnD,IAAc,OAAPA,EACnB,MAAMsF,UAAU,aAAeG,OAAOzF,GAAM,mBAC5C,OAAOA,I,6BCJX,IAAI+C,EAAa,EAAQ,IACrBW,EAAuB,EAAQ,IAC/BG,EAAkB,EAAQ,GAC1B3C,EAAc,EAAQ,GAEtB4L,EAAUjJ,EAAgB,WAE9BpH,EAAOD,QAAU,SAAUi6B,GACzB,IAAItpB,EAAcpK,EAAW0zB,GACzBvwB,EAAiBxC,EAAqBtG,EAEtC8D,GAAeiM,IAAgBA,EAAYL,IAC7C5G,EAAeiH,EAAaL,EAAS,CACnCnH,cAAc,EACdZ,IAAK,WAAc,OAAOnI,U,gBCfhC,IAAI0E,EAAW,EAAQ,IACnBsN,EAAY,EAAQ,IAGpB9B,EAFkB,EAAQ,EAEhBjJ,CAAgB,WAI9BpH,EAAOD,QAAU,SAAU4E,EAAGs1B,GAC5B,IACI7mB,EADAyB,EAAIhQ,EAASF,GAAGiI,YAEpB,YAAa5K,IAAN6S,GAAiD7S,OAA7BoR,EAAIvO,EAASgQ,GAAGxE,IAAyB4pB,EAAqB9nB,EAAUiB,K,gBCXrG,IAAI5M,EAAQ,EAAQ,GAChB0zB,EAAc,EAAQ,KAM1Bl6B,EAAOD,QAAU,SAAUsN,GACzB,OAAO7G,EAAM,WACX,QAAS0zB,EAAY7sB,MANf,aAMqCA,MAAyB6sB,EAAY7sB,GAAa1K,OAAS0K,M,gBCT1G,IAAI5I,EAAc,EAAQ,GACtBwC,EAAuB,EAAQ,IAC/BpC,EAAW,EAAQ,IACnBI,EAAa,EAAQ,IAIzBjF,EAAOD,QAAU0E,EAAcpB,OAAOqG,iBAAmB,SAA0B/E,EAAGC,GACpFC,EAASF,GAKT,IAJA,IAGIxD,EAHA6D,EAAOC,EAAWL,GAClBmE,EAAS/D,EAAK+D,OACdmB,EAAQ,EAEIA,EAATnB,GAAgB9B,EAAqBtG,EAAEgE,EAAGxD,EAAM6D,EAAKkF,KAAUtF,EAAWzD,IACjF,OAAOwD,I,gBCdT,IAAI2B,EAAa,EAAQ,IAEzBtG,EAAOD,QAAUuG,EAAW,WAAY,oB,gBCFxC,IAAIvB,EAAkB,EAAQ,IAC1BmB,EAA4B,EAAQ,IAA8CvF,EAElFyC,EAAW,GAAGA,SAEd+2B,EAA+B,iBAAVx2B,QAAsBA,QAAUN,OAAOsG,oBAC5DtG,OAAOsG,oBAAoBhG,QAAU,GAWzC3D,EAAOD,QAAQY,EAAI,SAA6B4C,GAC9C,OAAO42B,GAAoC,mBAArB/2B,EAASkC,KAAK/B,GAVjB,SAAUA,GAC7B,IACE,OAAO2C,EAA0B3C,GACjC,MAAO/C,GACP,OAAO25B,EAAYrtB,SAOjBstB,CAAe72B,GACf2C,EAA0BnB,EAAgBxB,M,6BCnBhD,IAAIyoB,EAAO,EAAQ,IACfrlB,EAAW,EAAQ,IACnB0zB,EAA+B,EAAQ,KACvCC,EAAwB,EAAQ,KAChC1sB,EAAW,EAAQ,IACnBH,EAAiB,EAAQ,IACzB8sB,EAAoB,EAAQ,KAIhCv6B,EAAOD,QAAU,SAAcy6B,EAAd,KACf,IAOIzxB,EAAQ5C,EAAQqjB,EAAM8K,EAAUiE,EAAMz2B,EAPtC6C,EAAIgC,EAAS6zB,GACb3lB,EAAmB,mBAAR1U,KAAqBA,KAAOwK,MACvC8vB,EAAkB3xB,UAAUC,OAC5B2xB,EAA0B,EAAlBD,EAJG,OAIkCz4B,EAC7C24B,OAAoB34B,IAAV04B,EACVE,EAAiBL,EAAkB51B,GACnCuF,EAAQ,EAIZ,GAFIywB,IAASD,EAAQ1O,EAAK0O,EAAyB,EAAlBD,EATlB,OASuDz4B,EAAW,IAE3DA,MAAlB44B,GAAiC/lB,GAAKlK,OAAS2vB,EAAsBM,GAWvE,IADAz0B,EAAS,IAAI0O,EADb9L,EAAS6E,EAASjJ,EAAEoE,SAELmB,EAATnB,EAAgBmB,IACpBpI,EAAQ64B,EAAUD,EAAM/1B,EAAEuF,GAAQA,GAASvF,EAAEuF,GAC7CuD,EAAetH,EAAQ+D,EAAOpI,QAThC,IAFAy2B,GADAjE,EAAWsG,EAAet1B,KAAKX,IACf4zB,KAChBpyB,EAAS,IAAI0O,IACL2U,EAAO+O,EAAKjzB,KAAKgvB,IAAWvpB,KAAMb,IACxCpI,EAAQ64B,EAAUN,EAA6B/F,EAAUoG,EAAO,CAAClR,EAAK1nB,MAAOoI,IAAQ,GAAQsf,EAAK1nB,MAClG2L,EAAetH,EAAQ+D,EAAOpI,GAWlC,OADAqE,EAAO4C,OAASmB,EACT/D,I,gBCvCT,IAAItB,EAAW,EAAQ,IAGvB7E,EAAOD,QAAU,SAAUu0B,EAAUzc,EAAI/V,EAAOs2B,GAC9C,IACE,OAAOA,EAAUvgB,EAAGhT,EAAS/C,GAAO,GAAIA,EAAM,IAAM+V,EAAG/V,GAEvD,MAAOtB,GACP,IAAIq6B,EAAevG,EAAiB,OAEpC,WADqBtyB,IAAjB64B,GAA4Bh2B,EAASg2B,EAAav1B,KAAKgvB,IACrD9zB,K,gBCVV,IAAI4G,EAAkB,EAAQ,GAC1BoD,EAAY,EAAQ,IAEpByC,EAAW7F,EAAgB,YAC3BywB,EAAiBltB,MAAM/I,UAG3B5B,EAAOD,QAAU,SAAUwD,GACzB,YAAcvB,IAAPuB,IAAqBiH,EAAUG,QAAUpH,GAAMs0B,EAAe5qB,KAAc1J,K,gBCRrF,IAAImsB,EAAU,EAAQ,IAClBllB,EAAY,EAAQ,IAGpByC,EAFkB,EAAQ,EAEf7F,CAAgB,YAE/BpH,EAAOD,QAAU,SAAUwD,GACzB,GAAUvB,MAANuB,EAAiB,OAAOA,EAAG0J,IAC1B1J,EAAG,eACHiH,EAAUklB,EAAQnsB,M,gBCTzB,IAEI0J,EAFkB,EAAQ,EAEf7F,CAAgB,YAC3B0zB,GAAe,EAEnB,IACE,IAAIhjB,EAAS,EACTijB,EAAqB,CACvBxC,KAAM,WACJ,MAAO,CAAExtB,OAAQ+M,MAEnB,OAAU,WACRgjB,GAAe,IAGnBC,EAAmB9tB,GAAY,WAC7B,OAAO9M,MAGTwK,MAAMmF,KAAKirB,EAAoB,WAAc,MAAM,IACnD,MAAOv6B,IAETR,EAAOD,QAAU,SAAUQ,EAAMy6B,GAC/B,IAAKA,IAAiBF,EAAc,OAAO,EAC3C,IAAIG,GAAoB,EACxB,IACE,IAAIttB,EAAS,GACbA,EAAOV,GAAY,WACjB,MAAO,CACLsrB,KAAM,WACJ,MAAO,CAAExtB,KAAMkwB,GAAoB,MAIzC16B,EAAKoN,GACL,MAAOnN,IACT,OAAOy6B,I,6BC7BQ,SAAbnD,IAA2B,OAAO33B,KANtC,IAAI83B,EAAoB,EAAQ,KAA+BA,kBAC3DzuB,EAAS,EAAQ,IACjB5C,EAA2B,EAAQ,IACnCW,EAAiB,EAAQ,IACzBiD,EAAY,EAAQ,IAIxBxK,EAAOD,QAAU,SAAUu4B,EAAqBX,EAAMY,GACpD,IAAIrrB,EAAgByqB,EAAO,YAI3B,OAHAW,EAAoB12B,UAAY4H,EAAOyuB,EAAmB,CAAEM,KAAM3xB,EAAyB,EAAG2xB,KAC9FhxB,EAAe+wB,EAAqBprB,GAAe,GAAO,GAC1D1C,EAAU0C,GAAiB4qB,EACpBQ,I,6BCbT,IAAInmB,EAAY,EAAQ,IACpBzL,EAAW,EAAQ,IAEnBoG,EAAQ,GAAGA,MACXouB,EAAY,GAYhBl7B,EAAOD,QAAU8D,SAASmoB,MAAQ,SAAc4B,GAC9C,IAAI/V,EAAK1F,EAAUhS,MACfg7B,EAAWruB,EAAMxH,KAAKwD,UAAW,GACjCglB,EAAgB,WAClB,IAAI7jB,EAAOkxB,EAASj2B,OAAO4H,EAAMxH,KAAKwD,YACtC,OAAO3I,gBAAgB2tB,EAfX,SAAUjZ,EAAGumB,EAAYnxB,GACvC,KAAMmxB,KAAcF,GAAY,CAC9B,IAAK,IAAIG,EAAO,GAAI1sB,EAAI,EAAGA,EAAIysB,EAAYzsB,IAAK0sB,EAAK1sB,GAAK,KAAOA,EAAI,IAErEusB,EAAUE,GAAcv3B,SAAS,MAAO,gBAAkBw3B,EAAK1rB,KAAK,KAAO,KAC3E,OAAOurB,EAAUE,GAAYvmB,EAAG5K,GAUOyvB,CAAU7hB,EAAI5N,EAAKlB,OAAQkB,GAAQ4N,EAAG1N,MAAMyjB,EAAM3jB,IAG3F,OADIvD,EAASmR,EAAGjW,aAAYksB,EAAclsB,UAAYiW,EAAGjW,WAClDksB,I,gBCzBT,IAAIlrB,EAAI,EAAQ,GACZma,EAAS,EAAQ,KAIrBna,EAAE,CAAEpB,OAAQ,SAAUG,MAAM,EAAMI,OAAQsB,OAAO0Z,SAAWA,GAAU,CACpEA,OAAQA,K,6BCLV,IAAItY,EAAc,EAAQ,GACtB+B,EAAQ,EAAQ,GAChBvB,EAAa,EAAQ,IACrB8B,EAA8B,EAAQ,IACtCG,EAA6B,EAAQ,IACrCP,EAAW,EAAQ,IACnBmI,EAAgB,EAAQ,IAExBwsB,EAAej4B,OAAO0Z,OACtBtT,EAAiBpG,OAAOoG,eAI5BzJ,EAAOD,SAAWu7B,GAAgB90B,EAAM,WAEtC,GAAI/B,GAQiB,IARF62B,EAAa,CAAE5a,EAAG,GAAK4a,EAAa7xB,EAAe,GAAI,IAAK,CAC7E1D,YAAY,EACZuC,IAAK,WACHmB,EAAetJ,KAAM,IAAK,CACxB2B,MAAO,EACPiE,YAAY,OAGd,CAAE2a,EAAG,KAAMA,EAAS,OAAO,EAE/B,IAAIjS,EAAI,GACJ8sB,EAAI,GAEJt3B,EAASzB,SACTg5B,EAAW,uBAGf,OAFA/sB,EAAExK,GAAU,EACZu3B,EAAS/rB,MAAM,IAAI5M,QAAQ,SAAU44B,GAAOF,EAAEE,GAAOA,IACf,GAA/BH,EAAa,GAAI7sB,GAAGxK,IAAgBgB,EAAWq2B,EAAa,GAAIC,IAAI5rB,KAAK,KAAO6rB,IACpF,SAAgBh6B,EAAQN,GAM3B,IALA,IAAIw6B,EAAI/0B,EAASnF,GACbi5B,EAAkB3xB,UAAUC,OAC5BmB,EAAQ,EACRN,EAAwB7C,EAA4BpG,EACpDgvB,EAAuBzoB,EAA2BvG,EAC7BuJ,EAAlBuwB,GAML,IALA,IAIIt5B,EAJAiS,EAAItE,EAAchG,UAAUoB,MAC5BlF,EAAO4E,EAAwB3E,EAAWmO,GAAGlO,OAAO0E,EAAsBwJ,IAAMnO,EAAWmO,GAC3FrK,EAAS/D,EAAK+D,OACd2N,EAAI,EAEQA,EAAT3N,GACL5H,EAAM6D,EAAK0R,KACNjS,IAAekrB,EAAqBrqB,KAAK8N,EAAGjS,KAAMu6B,EAAEv6B,GAAOiS,EAAEjS,IAEpE,OAAOu6B,GACPJ,G,cCnDkB,SAAS5sB,EAAEitB,GAAG,GAAGC,EAAED,GAAG,OAAOC,EAAED,GAAG57B,QAAQ,IAAI87B,EAAED,EAAED,GAAG,CAAChtB,EAAEgtB,EAAEG,GAAE,EAAG/7B,QAAQ,IAAI,OAAOiV,EAAE2mB,GAAGr2B,KAAKu2B,EAAE97B,QAAQ87B,EAAEA,EAAE97B,QAAQ2O,GAAGmtB,EAAEC,GAAE,EAAGD,EAAE97B,QAAnJ,IAASiV,EAAO4mB,IAAE,GAAyIltB,EAAEpO,EAApJ0U,EAAq4B,CAAC,SAASA,EAAE4mB,EAAEltB,gBAAiC,SAASitB,EAAE3mB,GAAG,IAA4E4mB,EAAxE5mB,EAAE+mB,aAAa,mBAAkB/mB,EAAEqW,aAAa,gBAAgB,IAAQuQ,EAAE,IAAIj4B,OAAOq4B,YAAY,iBAAiB,CAACC,SAAQ,EAAGC,YAAW,EAAGC,OAAO,OAAOnnB,EAAEonB,cAAcR,KAAK5mB,EAAElT,MAAM,KAAK,SAAS+5B,EAAE7mB,GAAGA,EAAE+mB,aAAa,mBAAmB/mB,EAAEsW,gBAAgB,iBAAiBtW,EAAEonB,cAAc,IAAIz4B,OAAOq4B,YAAY,iBAAiB,CAACC,SAAQ,EAAGC,YAAW,EAAGC,OAAO,SAA3YztB,EAAEmtB,EAAED,GAAGltB,EAAE,GAAGA,EAAE,GAAsY4I,SAASkM,iBAAiB,iBAAiB,SAAUxO,IAAG,oBAAoBA,EAAEqnB,cAAcV,EAAYE,GAAV7mB,EAAExT,UAAsB,GAAI8V,SAASkM,iBAAiB,QAAQ,SAAUxO,IAAG,0BAA0BA,EAAEsnB,WAAW,SAAStnB,EAAE6mB,EAAYF,GAAV3mB,EAAExT,UAAsB,IAAK,SAASwT,EAAE4mB,EAAEltB,GAAG,IAAIitB,EAAEjtB,EAAE,GAAGmtB,EAAEntB,EAAE,GAAG,iBAAiBmtB,EAAEA,EAAEU,WAAWV,EAAEW,QAAQX,KAAKA,EAAE,CAAC,CAAC7mB,EAAErG,EAAEktB,EAAE,MAAM,IAAmCltB,GAAGgtB,EAAEE,EAAlC,CAACY,OAAO,OAAOC,WAAU,IAAcb,EAAEc,OAAOd,EAAEc,OAAO,IAAI3nB,EAAEjV,QAAQ4O,GAAG,SAASqG,EAAE4mB,EAAEltB,gBAAgB,IAAIitB,EAAgH3mB,EAAjBzM,GAAiByM,EAAE,GAAU,SAAS4mB,GAAG,QAAG,IAAS5mB,EAAE4mB,GAAG,CAAC,IAAIltB,EAAE4I,SAASmR,cAAcmT,GAAG,GAAGj4B,OAAOi5B,mBAAmBluB,aAAa/K,OAAOi5B,kBAAkB,IAAIluB,EAAEA,EAAEmuB,gBAAgBC,KAAK,MAAM9nB,GAAGtG,EAAE,KAAKsG,EAAE4mB,GAAGltB,EAAE,OAAOsG,EAAE4mB,KAAOjtB,EAAE,GAAG,SAASouB,EAAE/nB,GAAG,IAAI,IAAI4mB,GAAG,EAAEltB,EAAE,EAAEA,EAAEC,EAAE5F,OAAO2F,IAAI,GAAGC,EAAED,GAAGsuB,aAAahoB,EAAE,CAAC4mB,EAAEltB,EAAE,MAAM,OAAOktB,EAAE,SAASlH,EAAE1f,EAAE4mB,GAAG,IAAI,IAAIltB,EAAE,GAAGitB,EAAE,GAAGE,EAAE,EAAEA,EAAE7mB,EAAEjM,OAAO8yB,IAAI,CAAC,IAAItzB,EAAEyM,EAAE6mB,GAAGnH,EAAEkH,EAAEqB,KAAK10B,EAAE,GAAGqzB,EAAEqB,KAAK10B,EAAE,GAAGuzB,EAAEptB,EAAEgmB,IAAI,EAAE/zB,EAAE,GAAGuE,OAAOwvB,EAAE,KAAKxvB,OAAO42B,GAAGptB,EAAEgmB,GAAGoH,EAAE,EAAE,IAAI3G,EAAE4H,EAAEp8B,GAAGu8B,EAAE,CAACzkB,IAAIlQ,EAAE,GAAG40B,MAAM50B,EAAE,GAAG60B,UAAU70B,EAAE,KAAK,IAAI4sB,GAAGxmB,EAAEwmB,GAAGkI,aAAa1uB,EAAEwmB,GAAGmI,QAAQJ,IAAIvuB,EAAEtI,KAAK,CAAC22B,WAAWr8B,EAAE28B,QAAyqC,SAAWtoB,EAAE4mB,GAAG,IAAIltB,EAAEitB,EAAEE,EAAE,KAAoBtzB,EAA0CszB,EAA3DD,EAAEc,WAAen0B,EAAEmY,IAAIhS,EAAMmW,EAAJA,GAAMiX,EAAEF,GAAID,EAAEuB,EAAElR,KAAK,KAAKtd,EAAEnG,GAAE,GAAM20B,EAAElR,KAAK,KAAKtd,EAAEnG,GAAE,KAASmG,EAAEotB,EAAEF,GAAGD,EAArgB,SAAW3mB,EAAE4mB,EAAEltB,GAAG,IAAIitB,EAAEjtB,EAAE+J,IAAIojB,EAAEntB,EAAEyuB,MAAM50B,EAAEmG,EAAE0uB,UAAU,GAAGvB,EAAE7mB,EAAEqW,aAAa,QAAQwQ,GAAG7mB,EAAEsW,gBAAgB,SAAS/iB,GAAGg1B,OAAO5B,GAAG,uDAAuDz2B,OAAOq4B,KAAKC,SAASC,mBAAmBC,KAAK7zB,UAAUtB,MAAM,QAAQyM,EAAE2oB,WAAW3oB,EAAE2oB,WAAWC,QAAQjC,MAAM,CAAC,KAAK3mB,EAAE6oB,YAAY7oB,EAAE4W,YAAY5W,EAAE6oB,YAAY7oB,EAAEoa,YAAY9X,SAASwmB,eAAenC,MAAkJ3P,KAAK,KAAKtd,EAAEktB,GAAK,WAA2B,OAA0DltB,EAAjDqK,YAAiDrK,EAA3BqK,WAAW6S,YAAgBld,KAAI,OAAOitB,EAAE3mB,GAAG,SAAS4mB,GAAG,GAAGA,EAAE,CAAC,GAAGA,EAAEnjB,MAAMzD,EAAEyD,KAAKmjB,EAAEuB,QAAQnoB,EAAEmoB,OAAOvB,EAAEwB,YAAYpoB,EAAEooB,UAAU,OAAOzB,EAAE3mB,EAAE4mB,QAAQC,KAAz/Cv7B,CAAE48B,EAAEtB,GAAGyB,WAAW,IAAI1B,EAAEt1B,KAAK1F,GAAG,OAAOg7B,EAAE,SAASG,EAAE9mB,GAAG,IAAkF6mB,EAA9ED,EAAEtkB,SAASuc,cAAc,SAAS8H,EAAE3mB,EAAEyV,YAAY,GAAkD,QAA5C,IAASkR,EAAEoC,QAAWlC,EAAEntB,EAAEsvB,MAAOrC,EAAEoC,MAAMlC,GAAMx4B,OAAO2B,KAAK22B,GAAG94B,QAAQ,SAAUmS,GAAG4mB,EAAEvQ,aAAarW,EAAE2mB,EAAE3mB,MAAO,mBAAmBA,EAAEynB,OAAOznB,EAAEynB,OAAOb,OAAO,CAAC,IAAIjtB,EAAEpG,EAAEyM,EAAEynB,QAAQ,QAAQ,IAAI9tB,EAAE,MAAM,IAAIsvB,MAAM,2GAA2GtvB,EAAEygB,YAAYwM,GAAG,OAAOA,EAAE,IAAIj7B,EAAEw0B,GAAGx0B,EAAE,GAAG,SAASqU,EAAE4mB,GAAG,OAAOj7B,EAAEqU,GAAG4mB,EAAEj7B,EAAE0K,OAAO0kB,SAASpgB,KAAK,QAAQ,SAASutB,EAAEloB,EAAE4mB,EAAEltB,EAAEitB,GAAG,IAA+HpzB,EAA6BoG,EAAxJktB,EAAEntB,EAAE,GAAGitB,EAAEwB,MAAM,UAAUj4B,OAAOy2B,EAAEwB,MAAM,MAAMj4B,OAAOy2B,EAAEljB,IAAI,KAAKkjB,EAAEljB,IAAOzD,EAAE2oB,WAAW3oB,EAAE2oB,WAAWC,QAAQzI,EAAEyG,EAAEC,IAAYtzB,EAAE+O,SAASwmB,eAAejC,IAAGltB,EAAEqG,EAAEkpB,YAAatC,IAAI5mB,EAAE4W,YAAYjd,EAAEitB,IAAIjtB,EAAE5F,OAAOiM,EAAEmpB,aAAa51B,EAAEoG,EAAEitB,IAAI5mB,EAAEoa,YAAY7mB,IAAgY,IAAIsc,EAAE,KAAKnE,EAAE,EAA+V1L,EAAEjV,QAAQ,SAASiV,EAAE4mB,IAAIA,EAAEA,GAAG,IAAIc,WAAW,kBAAkBd,EAAEc,YAAYd,EAAEc,gBAA3tE,IAASf,IAAIA,EAAE5L,QAAQpsB,QAAQ2T,UAAUA,SAAS8mB,MAAMz6B,OAAO06B,OAAO1C,IAAoqE,IAAIjtB,EAAEgmB,EAAE1f,EAAEA,GAAG,GAAG4mB,GAAG,OAAO,SAAS5mB,GAAG,GAAGA,EAAEA,GAAG,GAAG,mBAAmB3R,OAAOzB,UAAUwB,SAASkC,KAAK0P,GAAG,CAAC,IAAI,IAAI2mB,EAAE,EAAEA,EAAEjtB,EAAE3F,OAAO4yB,IAAI,CAAC,IAAIE,EAAEkB,EAAEruB,EAAEitB,IAAIhtB,EAAEktB,GAAGwB,aAAa,IAAI,IAAI90B,EAAEmsB,EAAE1f,EAAE4mB,GAAGE,EAAE,EAAEA,EAAEptB,EAAE3F,OAAO+yB,IAAI,CAAC,IAAIn7B,EAAEo8B,EAAEruB,EAAEotB,IAAI,IAAIntB,EAAEhO,GAAG08B,aAAa1uB,EAAEhO,GAAG28B,UAAU3uB,EAAE2vB,OAAO39B,EAAE,IAAI+N,EAAEnG,MAAM,SAASyM,EAAE4mB,EAAEltB,IAAIktB,EAAEltB,EAAE,EAAFA,EAAK,IAAKrI,KAAK,CAAC2O,EAAErG,EAAE,6SAA6S,KAAKqG,EAAEjV,QAAQ67B,GAAG,SAAS5mB,EAAE4mB,EAAEltB,gBAAgBsG,EAAEjV,QAAQ,SAASiV,GAAG,IAAI4mB,EAAE,GAAG,OAAOA,EAAEx4B,SAAS,WAAW,OAAOjD,KAAKmgB,IAAI,SAAUsb,GAAG,IAAIltB,EAAE,WAAc,IAA2XquB,EAAErI,EAAzXhmB,EAAiZktB,EAA7Y,IAAI,GAAGD,EAAsYC,EAAlY,GAAG,IAAID,EAAE,OAAOjtB,EAAE,GAAkXsG,GAA5W,mBAAmBuoB,KAAK,CAAC,IAAI1B,GAAOkB,EAAEQ,KAAKC,SAASC,mBAAmBC,KAAK7zB,UAA1C8xB,MAA0DjH,EAAE,+DAA+DxvB,OAAO63B,GAAG,OAAO73B,OAAOwvB,EAAE,QAAQnsB,EAAEozB,EAAE4C,QAAQje,IAAI,SAAUtL,GAAG,MAAM,iBAAiB9P,OAAOy2B,EAAE6C,YAAY,IAAIt5B,OAAO8P,EAAE,SAAU,MAAM,CAACtG,GAAGxJ,OAAOqD,GAAGrD,OAAO,CAAC22B,IAAIlsB,KAAK,MAAgB,MAAM,CAACjB,GAAGiB,KAAK,MAA5Z,GAAwa,OAAOisB,EAAE,GAAG,UAAU12B,OAAO02B,EAAE,GAAG,MAAM12B,OAAOwJ,EAAE,KAAKA,IAAKiB,KAAK,KAAKisB,EAAEjtB,EAAE,SAASqG,EAAEtG,EAAEitB,GAAG,iBAAiB3mB,IAAIA,EAAE,CAAC,CAAC,KAAKA,EAAE,MAAM,IAAI6mB,EAAE,GAAG,GAAGF,EAAE,IAAI,IAAIpzB,EAAE,EAAEA,EAAEpI,KAAK4I,OAAOR,IAAI,CAAC,IAAIoG,EAAExO,KAAKoI,GAAG,GAAG,MAAMoG,IAAIktB,EAAEltB,IAAG,GAAI,IAAI,IAAIouB,EAAE,EAAEA,EAAE/nB,EAAEjM,OAAOg0B,IAAI,CAAC,IAAIrI,EAAE,GAAGxvB,OAAO8P,EAAE+nB,IAAIpB,GAAGE,EAAEnH,EAAE,MAAMhmB,IAAIgmB,EAAE,GAAGA,EAAE,GAAG,GAAGxvB,OAAOwJ,EAAE,SAASxJ,OAAOwvB,EAAE,IAAIA,EAAE,GAAGhmB,GAAGktB,EAAEv1B,KAAKquB,MAAMkH,IAAI,SAAS5mB,EAAE4mB,IAAI,WAAW,GAAG,oBAAoBj4B,OAAO,IAAI,IAAIqR,EAAE,IAAIrR,OAAOq4B,YAAY,OAAO,CAACE,YAAW,IAAK,GAAGlnB,EAAEypB,kBAAiB,IAAKzpB,EAAE0pB,iBAAiB,MAAM,IAAIT,MAAM,6BAA6B,MAAMjpB,GAAS,SAAF4mB,EAAW5mB,EAAE4mB,GAAG,IAAIltB,EAAEitB,EAAE,OAAOC,EAAEA,GAAG,IAAIK,UAAUL,EAAEK,QAAQL,EAAEM,aAAaN,EAAEM,YAAYxtB,EAAE4I,SAASqnB,YAAY,gBAAgBC,gBAAgB5pB,EAAE4mB,EAAEK,QAAQL,EAAEM,WAAWN,EAAEO,QAAQR,EAAEjtB,EAAE+vB,eAAe/vB,EAAE+vB,eAAe,WAAW9C,EAAEr2B,KAAKnF,MAAM,IAAIkD,OAAOoG,eAAetJ,KAAK,mBAAmB,CAACmI,IAAI,WAAW,OAAM,KAAM,MAAM0M,GAAG7U,KAAKu+B,kBAAiB,IAAKhwB,EAAGktB,EAAEh6B,UAAU+B,OAAOk7B,MAAMj9B,UAAU+B,OAAOq4B,YAAYJ,GAApmB,KAA92KltB,EAAEgmB,EAAEkH,EAAEltB,EAAEwuB,EAAE,SAASloB,EAAE4mB,EAAED,GAAGjtB,EAAEitB,EAAE3mB,EAAE4mB,IAAIv4B,OAAOoG,eAAeuL,EAAE4mB,EAAE,CAAC71B,YAAW,EAAGuC,IAAIqzB,KAAKjtB,EAAEmtB,EAAE,SAAS7mB,GAAG,oBAAoBxS,QAAQA,OAAOs8B,aAAaz7B,OAAOoG,eAAeuL,EAAExS,OAAOs8B,YAAY,CAACh9B,MAAM,WAAWuB,OAAOoG,eAAeuL,EAAE,aAAa,CAAClT,OAAM,KAAM4M,EAAEktB,EAAE,SAAS5mB,EAAE4mB,GAAG,GAAG,EAAEA,IAAI5mB,EAAEtG,EAAEsG,IAAI,EAAE4mB,EAAE,OAAO5mB,EAAE,GAAG,EAAE4mB,GAAG,iBAAiB5mB,GAAGA,GAAGA,EAAEunB,WAAW,OAAOvnB,EAAE,IAAI2mB,EAAEt4B,OAAOmG,OAAO,MAAM,GAAGkF,EAAEmtB,EAAEF,GAAGt4B,OAAOoG,eAAekyB,EAAE,UAAU,CAAC51B,YAAW,EAAGjE,MAAMkT,IAAI,EAAE4mB,GAAG,iBAAiB5mB,EAAE,IAAI,IAAI6mB,KAAK7mB,EAAEtG,EAAEwuB,EAAEvB,EAAEE,EAAE,SAASD,GAAG,OAAO5mB,EAAE4mB,IAAI5P,KAAK,KAAK6P,IAAI,OAAOF,GAAGjtB,EAAEA,EAAE,SAASsG,GAAG,IAAI4mB,EAAE5mB,GAAGA,EAAEunB,WAAW,WAAW,OAAOvnB,EAAEwnB,SAAS,WAAW,OAAOxnB,GAAG,OAAOtG,EAAEwuB,EAAEtB,EAAE,IAAIA,GAAGA,GAAGltB,EAAEitB,EAAE,SAAS3mB,EAAE4mB,GAAG,OAAOv4B,OAAOzB,UAAU0I,eAAehF,KAAK0P,EAAE4mB,IAAIltB,EAAEvC,EAAE,GAAGuC,EAAEA,EAAEymB,EAAE,I,gBCA34B,IAAIvyB,EAAI,EAAQ,GACZ8D,EAAW,EAAQ,IACnB7B,EAAW,EAAQ,IACnB1C,EAAM,EAAQ,IACd6E,EAAiC,EAAQ,IACzC6pB,EAAiB,EAAQ,IAgB7BjuB,EAAE,CAAEpB,OAAQ,UAAWG,MAAM,GAAQ,CACnC2G,IAbF,SAASA,EAAI9G,EAAQquB,GACnB,IACIvuB,EAAYM,EADZm9B,EAAWj2B,UAAUC,OAAS,EAAIvH,EAASsH,UAAU,GAEzD,OAAIjE,EAASrD,KAAYu9B,EAAiBv9B,EAAOquB,IAC7CvuB,EAAa0F,EAA+BrG,EAAEa,EAAQquB,IAAqB1tB,EAAIb,EAAY,SAC3FA,EAAWQ,WACQE,IAAnBV,EAAWgH,SACTtG,EACAV,EAAWgH,IAAIhD,KAAKy5B,GACtBr4B,EAAS9E,EAAYivB,EAAervB,IAAiB8G,EAAI1G,EAAWiuB,EAAakP,QAArF,M,6nBCWa,SAATC,EAAU9b,GACd,KACEA,GAAU1f,KAAKgS,MAxBH,IAwBShS,KAAK2tB,UACnB7Z,SAAS2nB,eAAe/b,KAEjC,OAAOA,EAGW,SAAdgc,EAAe5mB,GACnB,IAGQ6mB,EAHJC,EAAW9mB,EAAQ+mB,aAAa,eAQpC,OANKD,GAAyB,MAAbA,IAGfA,GAFMD,EAAW7mB,EAAQ+mB,aAAa,UAEF,MAAbF,EAAmBA,EAASzY,OAAS,MAGvD0Y,EAasB,SAAzBE,EAA0BhnB,GAC9B,IAAM8mB,EAAWF,EAAY5mB,GAE7B,OAAO8mB,EAAW9nB,SAASmR,cAAc2W,GAAY,KAGd,SAAnCG,EAAoCjnB,GACxC,IAAKA,EACH,OAAO,EAF2C,MAMN3U,OAAOiV,iBAAiBN,GAAhEknB,EAN8C,EAM9CA,mBAAoBC,EAN0B,EAM1BA,gBAEpBC,EAA0B3jB,WAAWyjB,GACrCG,EAAuB5jB,WAAW0jB,GAGxC,OAAKC,GAA4BC,GAKjCH,EAAqBA,EAAmB/vB,MAAM,KAAK,GACnDgwB,EAAkBA,EAAgBhwB,MAAM,KAAK,GA3Ef,KA6EtBsM,WAAWyjB,GAAsBzjB,WAAW0jB,KAP3C,EAUkB,SAAvBG,EAAwBtnB,GAC5BA,EAAQ8jB,cAAc,IAAIyC,MAAMgB,IAGhB,SAAZC,EAAajjB,GAAD,OAAUA,EAAI,IAAMA,GAAKrE,SAEd,SAAvBunB,EAAwBznB,EAAS0nB,GACrC,IAAIloB,GAAS,EAEPmoB,EAAmBD,EADD,EAOxB1nB,EAAQkL,iBAAiBqc,EALzB,SAASK,IACPpoB,GAAS,EACTQ,EAAQ8L,oBAAoByb,EAAgBK,KAI9ChoB,WAAW,WACJJ,GACH8nB,EAAqBtnB,IAEtB2nB,GAGmB,SAAlBE,EAAmBC,EAAeC,EAAQC,GAC9Cj9B,OAAO2B,KAAKs7B,GAAaz9B,QAAQ,SAAC0V,GAChC,IArGYsE,EAqGN0jB,EAAgBD,EAAY/nB,GAC5BzW,EAAQu+B,EAAO9nB,GACfioB,EAAY1+B,GAASg+B,EAAUh+B,GAAS,UAtG5C+a,OADUA,EAuGqD/a,GArGjE,UAAU+a,GAGL,GAAGzZ,SACPkC,KAAKuX,GACL3K,MAAM,eAAe,GACrByW,cAiGD,IAAK,IAAI7c,OAAOy0B,GAAe5rB,KAAK6rB,GAClC,MAAM,IAAIvC,MACR,UAAGmC,EAAcnd,cAAjB,wBACa1K,EADb,4BACyCioB,EADzC,mCAEwBD,EAFxB,SAQU,SAAZE,EAAanoB,GACjB,IAAKA,EACH,OAAO,EAGT,GAAIA,EAAQ8K,OAAS9K,EAAQS,YAAcT,EAAQS,WAAWqK,MAAO,CACnE,IAAMsd,EAAe9nB,iBAAiBN,GAChCqoB,EAAkB/nB,iBAAiBN,EAAQS,YAEjD,MAC2B,SAAzB2nB,EAAavR,SACe,SAA5BwR,EAAgBxR,SACY,WAA5BuR,EAAaE,WAIjB,OAAO,EA0BI,SAAPC,IAAO,OAAM,aAEJ,SAATC,EAAUxoB,GAAD,OAAaA,EAAQ0F,aAElB,SAAZ+iB,IAAkB,IACdC,EAAWr9B,OAAXq9B,OAER,OAAIA,IAAW1pB,SAAS4B,KAAK6iB,aAAa,kBACjCiF,EAGF,K,ICtKDC,EACFhQ,ECCEjc,EAIAsD,EFXFunB,EAAiB,gBAwCjBqB,EAAyB,SAAC5oB,GAC9B,IAAM8mB,EAAWF,EAAY5mB,GAE7B,OAAI8mB,GACK9nB,SAASmR,cAAc2W,GAAYA,EAGrC,MC3CH+B,GACEF,EAAY,GACdhQ,EAAK,EACF,CACLvpB,IADK,SACD4Q,EAASnX,EAAKghB,QACW,IAAhB7J,EAAQnX,MACjBmX,EAAQnX,IAAM,CACZA,MACA8vB,MAEFA,KAGFgQ,EAAU3oB,EAAQnX,IAAI8vB,IAAM9O,GAE9B7Z,IAZK,SAYDgQ,EAASnX,GACX,IAAKmX,QAAkC,IAAhBA,EAAQnX,IAC7B,OAAO,KAGT,IAAMigC,EAAgB9oB,EAAQnX,IAC9B,OAAIigC,EAAcjgC,MAAQA,EACjB8/B,EAAUG,EAAcnQ,IAG1B,MAEToQ,OAxBK,SAwBE/oB,EAASnX,GACd,IAIMigC,OAJqB,IAAhB9oB,EAAQnX,MAIbigC,EAAgB9oB,EAAQnX,KACZA,MAAQA,WACjB8/B,EAAUG,EAAcnQ,WACxB3Y,EAAQnX,QAkBRmgC,EAZF,CACXC,QADW,SACHhlB,EAAUpb,EAAKghB,GACrBgf,EAAQz5B,IAAI6U,EAAUpb,EAAKghB,IAE7Bqf,QAJW,SAIHjlB,EAAUpb,GAChB,OAAOggC,EAAQ74B,IAAIiU,EAAUpb,IAE/BsgC,WAPW,SAOAllB,EAAUpb,GACnBggC,EAAQE,OAAO9kB,EAAUpb,KCnDzB8N,G,iEAAOyyB,QAAQ9/B,UAAU+/B,kBACzBC,EAAUF,QAAQ9/B,UAAU6mB,cAG1BoZ,GACE7sB,EAAI,IAAIgnB,YAAY,YAAa,CACrCE,YAAY,KAGR5jB,EAAUhB,SAASuc,cAAc,QAC/BrQ,iBAAiB,YAAa,kBAAM,OAE5CxO,EAAEypB,iBACFnmB,EAAQ8jB,cAAcpnB,GACfA,EAAE0pB,kBAGLoD,EAAqB,W,w8BACA,WACzB,IAAMxpB,EAAUhB,SAASuc,cAAc,OAEvC,IACEvb,EAAQqpB,iBAAiB,YACzB,MAAOI,GACP,OAAO,EAGT,OAAO,EATkB,KAazB9yB,EAAO,SAAUmwB,GACf,IAAK0C,EAAmBntB,KAAKyqB,GAC3B,OAAOj/B,KAAKwhC,iBAAiBvC,GAG/B,IAAM4C,EAAQjS,QAAQ5vB,KAAK8wB,IAEtB+Q,IACH7hC,KAAK8wB,GAAK+N,EAAO,UAGnB,IAAIiD,EAAW,KACf,IACE7C,EAAWA,EAASryB,QAAQ+0B,EAAjB,WAAyC3hC,KAAK8wB,KACzDgR,EAAW9hC,KAAKwhC,iBAAiBvC,GAFnC,QAIO4C,GACH7hC,KAAKmrB,gBAAgB,MAIzB,OAAO2W,GAGTL,EAAU,SAAUxC,GAClB,IAAK0C,EAAmBntB,KAAKyqB,GAC3B,OAAOj/B,KAAKsoB,cAAc2W,GAG5B,IAAM8C,EAAUjzB,EAAK3J,KAAKnF,KAAMi/B,GAEhC,YAA0B,IAAf8C,EAAQ,GACVA,EAAQ,GAGV,OC7DX,IAAMt/B,EAAIm+B,IACJoB,EAAiB,qBACjBC,EAAiB,OACjBC,EAAgB,SAChBC,EAAgB,GAClBC,EAAW,EACTC,EAAe,CACnBC,WAAY,YACZC,WAAY,YAERC,EAAe,CACnB,QACA,WACA,UACA,YACA,cACA,aACA,iBACA,YACA,WACA,YACA,cACA,YACA,UACA,WACA,QACA,oBACA,aACA,YACA,WACA,cACA,cACA,cACA,YACA,eACA,gBACA,eACA,gBACA,aACA,QACA,OACA,SACA,QACA,SACA,SACA,UACA,WACA,OACA,SACA,eACA,SACA,OACA,mBACA,mBACA,QACA,QACA,UASF,SAASC,EAAYtqB,EAASlW,GAC5B,OAAQA,GAAO,GAAJ,OAAOA,EAAP,aAAemgC,MAAiBjqB,EAAQiqB,UAAYA,IAGjE,SAASM,EAASvqB,GAChB,IAAMlW,EAAMwgC,EAAYtqB,GAKxB,OAHAA,EAAQiqB,SAAWngC,EACnBkgC,EAAclgC,GAAOkgC,EAAclgC,IAAQ,GAEpCkgC,EAAclgC,GAkCvB,SAAS0gC,EAAYC,EAAQC,EAA7B,GAGE,IAH+D,IAA3BC,EAA2B,6BAAjE,IAA2D,KACnDC,EAAe7/B,OAAO2B,KAAK+9B,GAExBp0B,EAAI,EAAGJ,EAAM20B,EAAan6B,OAAQ4F,EAAIJ,EAAKI,IAAK,CACvD,IAAMiV,EAAQmf,EAAOG,EAAav0B,IAElC,GAAIiV,EAAMuf,kBAAoBH,GAAWpf,EAAMqf,qBAAuBA,EACpE,OAAOrf,EAIX,OAAO,KAGT,SAASwf,EAAgBC,EAAmBL,EAASM,GACnD,IAAMC,EAAgC,iBAAZP,EACpBG,EAAkBI,EAAaD,EAAeN,EAGhDQ,EAAYH,EAAkBt2B,QAAQq1B,EAAgB,IACpDqB,EAASjB,EAAagB,GAY5B,OAVIC,IACFD,EAAYC,IAGsC,EAAnCd,EAAa9wB,QAAQ2xB,KAGpCA,EAAYH,GAGP,CAACE,EAAYJ,EAAiBK,GAGvC,SAASE,EAAWprB,EAAS+qB,EAAmBL,EAASM,EAAcK,GACrE,IAD6E,EAUtEJ,EAAYJ,EAAiBK,EAK9BT,EACAa,EACAC,EAQAzhC,EACAyV,EA5FkBS,EAAST,EAUCS,EAAS8mB,EAAUvnB,EAyDpB,iBAAtBwrB,GAAmC/qB,IAIzC0qB,IACHA,EAAUM,EACVA,EAAe,MAGVC,GAVsE,IAU5BH,EAC/CC,EACAL,EACAM,GAb2E,OAU1DH,EAV0D,KAUzCK,EAVyC,MAiBvEK,EAAaf,EADbc,GADAb,EAASF,EAASvqB,IACAkrB,KAAeT,EAAOS,GAAa,IAClBL,EAAiBI,EAAaP,EAAU,OAG/Ea,EAAWF,OAASE,EAAWF,QAAUA,GAKrCvhC,EAAMwgC,EAAYO,EAAiBE,EAAkBt2B,QAAQo1B,EAAgB,MAC7EtqB,EAAK0rB,GAlFuBjrB,EAmFHA,EAnFY8mB,EAmFH4D,EAnFanrB,EAmFJyrB,EAlF1C,SAASN,EAAQpf,GAGtB,IAFA,IAAMkgB,EAAcxrB,EAAQqpB,iBAAiBvC,GAElC59B,EAAWoiB,EAAXpiB,OAAkBA,GAAUA,IAAWrB,KAAMqB,EAASA,EAAOuX,WACtE,IAAK,IAAIpK,EAAIm1B,EAAY/6B,OAAQ4F,KAC/B,GAAIm1B,EAAYn1B,KAAOnN,EAKrB,OAJIwhC,EAAQW,QACVI,EAAaC,IAAI1rB,EAASsL,EAAMrf,KAAMsT,GAGjCA,EAAG1N,MAAM3I,EAAQ,CAACoiB,IAM/B,OAAO,QA3BetL,EA8FHA,EA9FYT,EA8FHmrB,EA7FvB,SAASA,EAAQpf,GAKtB,OAJIof,EAAQW,QACVI,EAAaC,IAAI1rB,EAASsL,EAAMrf,KAAMsT,GAGjCA,EAAG1N,MAAMmO,EAAS,CAACsL,OA0FzBqf,mBAAqBM,EAAaP,EAAU,KAC/CnrB,EAAGsrB,gBAAkBA,EACrBtrB,EAAG8rB,OAASA,EAEZC,EADA/rB,EAAG0qB,SAAWngC,GACEyV,EAEhBS,EAAQkL,iBAAiBggB,EAAW3rB,EAAI0rB,KAG1C,SAASU,EAAc3rB,EAASyqB,EAAQS,EAAWR,EAASC,GAC1D,IAAMprB,EAAKirB,EAAYC,EAAOS,GAAYR,EAASC,GAE9CprB,IAILS,EAAQ8L,oBAAoBof,EAAW3rB,EAAIkY,QAAQkT,WAC5CF,EAAOS,GAAW3rB,EAAG0qB,WAe9B,IAAMwB,EAAe,CACnBG,GADmB,SAChB5rB,EAASsL,EAAOof,EAASM,GAC1BI,EAAWprB,EAASsL,EAAOof,EAASM,GAAc,IAGpDa,IALmB,SAKf7rB,EAASsL,EAAOof,EAASM,GAC3BI,EAAWprB,EAASsL,EAAOof,EAASM,GAAc,IAGpDU,IATmB,SASf1rB,EAAS+qB,EAAmBL,EAASM,GACvC,GAAiC,iBAAtBD,GAAmC/qB,EAA9C,CADqD,QAKJ8qB,EAC/CC,EACAL,EACAM,GARmD,GAK9CC,EAL8C,KAKlCJ,EALkC,KAKjBK,EALiB,KAU/CY,EAAcZ,IAAcH,EAC5BN,EAASF,EAASvqB,GAClB+rB,EAA8C,MAAhChB,EAAkBp4B,OAAO,GAE7C,QAA+B,IAApBk4B,EAAX,CAUIkB,GACFhhC,OAAO2B,KAAK+9B,GAAQlgC,QAAQ,SAACyhC,GA9CnC,IAAkChsB,EAASyqB,EAAQS,EAAWlxB,EACtDiyB,EAD0BjsB,EA+CDA,EA/CUyqB,EA+CDA,EA/CSS,EA+CDc,EA/CYhyB,EA+CE+wB,EAAkBv2B,MAAM,GA9ChFy3B,EAAoBxB,EAAOS,IAAc,GAE/CngC,OAAO2B,KAAKu/B,GAAmB1hC,QAAQ,SAAC2hC,GACtC,IACQ5gB,GAD6B,EAAjC4gB,EAAW3yB,QAAQS,IAGrB2xB,EAAc3rB,EAASyqB,EAAQS,GAFzB5f,EAAQ2gB,EAAkBC,IAEgBrB,gBAAiBvf,EAAMqf,wBA4CzE,IAAMsB,EAAoBxB,EAAOS,IAAc,GAC/CngC,OAAO2B,KAAKu/B,GAAmB1hC,QAAQ,SAAC4hC,GACtC,IAGQ7gB,EAHF4gB,EAAaC,EAAY13B,QAAQs1B,EAAe,MAEjD+B,IAAwD,EAAzCf,EAAkBxxB,QAAQ2yB,KAG5CP,EAAc3rB,EAASyqB,EAAQS,GAFzB5f,EAAQ2gB,EAAkBE,IAEgBtB,gBAAiBvf,EAAMqf,0BAvB3E,CAEE,IAAKF,IAAWA,EAAOS,GACrB,OAGFS,EAAc3rB,EAASyqB,EAAQS,EAAWL,EAAiBI,EAAaP,EAAU,SAsBtF0B,QAnDmB,SAmDXpsB,EAASsL,EAAO3Z,GACtB,GAAqB,iBAAV2Z,IAAuBtL,EAChC,OAAO,KAGT,IAIIqsB,EAJEnB,EAAY5f,EAAM7W,QAAQq1B,EAAgB,IAC1CgC,EAAcxgB,IAAU4f,EACxBoB,GAA8C,EAAnCjC,EAAa9wB,QAAQ2xB,GAGlCvH,GAAU,EACV4I,GAAiB,EACjBnG,GAAmB,EACnBoG,EAAM,KAkDV,OAhDIV,GAAexhC,IACjB+hC,EAAc/hC,EAAEi8B,MAAMjb,EAAO3Z,GAE7BrH,EAAE0V,GAASosB,QAAQC,GACnB1I,GAAW0I,EAAYI,uBACvBF,GAAkBF,EAAYK,gCAC9BtG,EAAmBiG,EAAYM,sBAG7BL,GACFE,EAAMxtB,SAASqnB,YAAY,eACvBuG,UAAU1B,EAAWvH,GAAS,GAElC6I,EAAM,IAAI9I,YAAYpY,EAAO,CAC3BqY,UACAC,YAAY,SAKI,IAATjyB,GACT5G,OAAO2B,KAAKiF,GAAMpH,QAAQ,SAAC1B,GACzBkC,OAAOoG,eAAeq7B,EAAK3jC,EAAK,CAC9BmH,IAD8B,WAE5B,OAAO2B,EAAK9I,QAMhBu9B,IACFoG,EAAIrG,iBAECoD,GACHx+B,OAAOoG,eAAeq7B,EAAK,mBAAoB,CAC7Cx8B,IAAK,kBAAM,MAKbu8B,GACFvsB,EAAQ8jB,cAAc0I,GAGpBA,EAAIpG,uBAA2C,IAAhBiG,GACjCA,EAAYlG,iBAGPqG,IAIIf,I,sKC7Tf,IAAMpM,EAAO,QAEPwN,EAAW,WACXC,EAAY,IAAH,OAAOD,GAKhBE,EAAc,QAAH,OAAWD,GACtBE,EAAe,SAAH,OAAYF,GACxBG,EAAuB,QAAH,OAAWH,GAAX,OANL,aAkBfI,E,WACJ,WAAYltB,I,4FAAS,SACnBnY,KAAKslC,SAAWntB,EAEZnY,KAAKslC,UACPnE,EAAKC,QAAQjpB,EAAS6sB,EAAUhlC,M,8DAkEbkgC,GACrB,OAAOlgC,KAAKulC,KAAK,WACf,IAGEvjB,GAHEA,EAAOmf,EAAKE,QAAQrhC,KAAMglC,KAGrB,IAAIK,EAAMrlC,MAGJ,UAAXkgC,GACFle,EAAKke,GAAQlgC,U,oCAKEwlC,GACnB,OAAO,SAAU/hB,GACXA,GACFA,EAAM6a,iBAGRkH,EAAc5W,MAAM5uB,S,kCAILmY,GACjB,OAAOgpB,EAAKE,QAAQlpB,EAAS6sB,K,8BApF7B,MAjCY,mB,+BAsCR7sB,GACJ,IAAIstB,EAAczlC,KAAKslC,SACnBntB,IACFstB,EAAczlC,KAAK0lC,gBAAgBvtB,IAGrC,IAAMwtB,EAAc3lC,KAAK4lC,mBAAmBH,GAExB,OAAhBE,GAAwBA,EAAYpH,kBAIxCv+B,KAAK6lC,eAAeJ,K,gCAIpBtE,EAAKG,WAAWthC,KAAKslC,SAAUN,GAC/BhlC,KAAKslC,SAAW,O,sCAKFntB,GACd,OAAOgnB,EAAuBhnB,IAAYA,EAAQ2tB,QAAR,WAlDtB,Y,yCAqDH3tB,GACjB,OAAOyrB,EAAaW,QAAQpsB,EAAS+sB,K,qCAGxB/sB,GAAS,IAQhBknB,EARgB,OACtBlnB,EAAQ4tB,UAAUC,OAxDC,QA0Dd7tB,EAAQ4tB,UAAU/qB,SA3DJ,SAgEbqkB,EAAqBD,EAAiCjnB,GAE5DyrB,EAAaI,IAAI7rB,EAASunB,EAAgB,kBAAM,EAAKuG,gBAAgB9tB,KACrEynB,EAAqBznB,EAASknB,IAP5Br/B,KAAKimC,gBAAgB9tB,K,sCAUTA,GACVA,EAAQS,YACVT,EAAQS,WAAW6S,YAAYtT,GAGjCyrB,EAAaW,QAAQpsB,EAASgtB,Q,gCAuClCvB,EAAaG,GAAG5sB,SAAUiuB,EAzHD,yBAyHyCC,EAAMa,cAAc,IAAIb,IAE1F,IAWQc,EAXF1jC,GAAIm+B,IAUNn+B,KACI0jC,EAAqB1jC,GAAEiV,GAAG8f,GAChC/0B,GAAEiV,GAAG8f,GAAQ6N,EAAMe,gBACnB3jC,GAAEiV,GAAG8f,GAAMjnB,YAAc80B,EACzB5iC,GAAEiV,GAAG8f,GAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,GAAQ2O,EACNd,EAAMe,kBAIFf,S,uKC3Jf,IAAM7N,GAAO,SAEPwN,GAAW,YACXC,GAAY,IAAH,OAAOD,IAKhBsB,GAAuB,yBAEvBlB,GAAuB,QAAH,OAAWH,IAAX,OANL,aAcfsB,G,WACJ,WAAYpuB,I,4FAAS,SACnBnY,KAAKslC,SAAWntB,EAChBgpB,EAAKC,QAAQjpB,EAAS6sB,GAAUhlC,M,8DAuBXkgC,GACrB,OAAOlgC,KAAKulC,KAAK,WACf,IAGEvjB,GAHEA,EAAOmf,EAAKE,QAAQrhC,KAAMglC,MAGrB,IAAIuB,EAAOvmC,MAGL,WAAXkgC,GACFle,EAAKke,S,kCAKQ/nB,GACjB,OAAOgpB,EAAKE,QAAQlpB,EAAS6sB,M,8BAhC7B,MA1BY,mB,kCAiCZhlC,KAAKslC,SAASpa,aAAa,eAAgBlrB,KAAKslC,SAASS,UAAUS,OA5B7C,a,gCAgCtBrF,EAAKG,WAAWthC,KAAKslC,SAAUN,IAC/BhlC,KAAKslC,SAAW,U,kCA8BpB1B,EAAaG,GAAG5sB,SAAUiuB,GAAsBkB,GAAsB,SAAC7iB,GACrEA,EAAM6a,iBAEN,IAAMmI,EAAShjB,EAAMpiB,OAAOykC,QAAQQ,KAEzBnF,EAAKE,QAAQoF,EAAQzB,KAEvB,IAAIuB,GAAOE,IAGfD,WAGP,IAUQL,GAVF1jC,GAAIm+B,IASNn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQ+O,GAAOH,gBACpB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAcg2B,GAEzB9jC,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACNI,GAAOH,kBAIHG,U,gsBChHf,SAASG,GAAcra,GACrB,MAAY,SAARA,GAIQ,UAARA,IAIAA,IAAQsa,OAAOta,GAAKppB,WACf0jC,OAAOta,GAGJ,KAARA,GAAsB,SAARA,EACT,KAGFA,GAGT,SAASua,GAAiB5lC,GACxB,OAAOA,EAAI4L,QAAQ,SAAU,SAAC0uB,GAAD,iBAAaA,EAAI9S,iBAGhD,IA0Deqe,GA1DK,CAClBC,iBADkB,SACD3uB,EAASnX,EAAKW,GAC7BwW,EAAQ+S,aAAR,eAA6B0b,GAAiB5lC,IAAQW,IAGxDolC,oBALkB,SAKE5uB,EAASnX,GAC3BmX,EAAQgT,gBAAR,eAAgCyb,GAAiB5lC,MAGnDgmC,kBATkB,SASA7uB,GAChB,IAAKA,EACH,MAAO,GAGT,IAAMmS,EAAa,GAAH,GACXnS,EAAQ8uB,SAOb,OAJA/jC,OAAO2B,KAAKylB,GAAY5nB,QAAQ,SAAC1B,GAC/BspB,EAAWtpB,GAAO0lC,GAAcpc,EAAWtpB,MAGtCspB,GAGT4c,iBAzBkB,SAyBD/uB,EAASnX,GACxB,OAAO0lC,GAAcvuB,EAAQ+mB,aAAR,eAA6B0H,GAAiB5lC,OAGrEklB,OA7BkB,SA6BX/N,GACL,IAAMmF,EAAOnF,EAAQgF,wBAErB,MAAO,CACLD,IAAKI,EAAKJ,IAAM/F,SAAS4B,KAAKqE,UAC9BJ,KAAMM,EAAKN,KAAO7F,SAAS4B,KAAKsE,aAIpChH,SAtCkB,SAsCT8B,GACP,MAAO,CACL+E,IAAK/E,EAAQgvB,UACbnqB,KAAM7E,EAAQivB,aAIlBC,YA7CkB,SA6CNlvB,EAASmvB,GACdnvB,IAIDA,EAAQ4tB,UAAU/qB,SAASssB,GAC7BnvB,EAAQ4tB,UAAUC,OAAOsB,GAEzBnvB,EAAQ4tB,UAAUwB,IAAID,M,+uBCrE5B,IAkEeE,GAhEQ,CACrBzF,QADqB,SACb5pB,EAAS8mB,GACf,OAAO9mB,EAAQ4pB,QAAQ9C,IAGzBnwB,KALqB,SAKhBmwB,EALgB,GAK8B,MAApC9mB,EAAoC,6BAL9B,IAKIhB,SAAS2C,gBAChC,OAAO,MAAG/U,OAAH,WAAa0iC,EAAOtiC,KAAKgT,EAAS8mB,MAG3CwC,QATqB,SASbxC,EATa,GASiC,IAApC9mB,EAAoC,6BATjC,IASOhB,SAAS2C,gBACnC,OAAO2nB,EAAQt8B,KAAKgT,EAAS8mB,IAG/BlhB,SAbqB,SAaZ5F,EAAS8mB,GAAU,MACpBlhB,GAAW,MAAGhZ,OAAH,WAAaoT,EAAQ4F,WAEtC,OAAOA,EAAS7S,OAAO,SAACw8B,GAAD,OAAWA,EAAM3F,QAAQ9C,MAGlD0I,QAnBqB,SAmBbxvB,EAAS8mB,GAKf,IAJA,IAAM0I,EAAU,GAEZC,EAAWzvB,EAAQS,WAEhBgvB,GAAYA,EAASvvB,WAAaoC,KAAKotB,cA1BhC,IA0BgDD,EAASvvB,UACjErY,KAAK+hC,QAAQ6F,EAAU3I,IACzB0I,EAAQzhC,KAAK0hC,GAGfA,EAAWA,EAAShvB,WAGtB,OAAO+uB,GAGTG,KAnCqB,SAmChB3vB,EAAS8mB,GAGZ,IAFA,IAAI8I,EAAW5vB,EAAQ6vB,uBAEhBD,GAAU,CACf,GAAIA,EAAShG,QAAQ9C,GACnB,MAAO,CAAC8I,GAGVA,EAAWA,EAASC,uBAGtB,MAAO,IAGT5P,KAjDqB,SAiDhBjgB,EAAS8mB,GAGZ,IAFA,IAAI7G,EAAOjgB,EAAQ8B,mBAEZme,GAAM,CACX,GAAIp4B,KAAK+hC,QAAQ3J,EAAM6G,GACrB,MAAO,CAAC7G,GAGVA,EAAOA,EAAKne,mBAGd,MAAO,K,gjCChDX,IAAMud,GAAO,WAEPwN,GAAW,cACXC,GAAY,IAAH,OAAOD,IAChBiD,GAAe,YAOfC,GAAU,CACdC,SAAU,IACVC,UAAU,EACVC,OAAO,EACPC,MAAO,QACP3kC,MAAM,EACN4kC,OAAO,GAGHC,GAAc,CAClBL,SAAU,mBACVC,SAAU,UACVC,MAAO,mBACPC,MAAO,mBACP3kC,KAAM,UACN4kC,MAAO,WAGHE,GAAiB,OACjBC,GAAiB,OAIjBC,GAAc,QAAH,OAAW1D,IACtB2D,GAAa,OAAH,OAAU3D,IACpB4D,GAAgB,UAAH,OAAa5D,IAC1B6D,GAAmB,aAAH,OAAgB7D,IAChC8D,GAAmB,aAAH,OAAgB9D,IAChC+D,GAAmB,aAAH,OAAgB/D,IAChCgE,GAAkB,YAAH,OAAehE,IAC9BiE,GAAiB,WAAH,OAAcjE,IAC5BkE,GAAoB,cAAH,OAAiBlE,IAClCmE,GAAkB,YAAH,OAAenE,IAC9BoE,GAAmB,YAAH,OAAepE,IAC/BqE,GAAsB,OAAH,OAAUrE,IAAV,OAAsBgD,IACzC7C,GAAuB,QAAH,OAAWH,IAAX,OAAuBgD,IAG3CsB,GAAoB,SASpBC,GAAuB,wBAIvBC,GAAsB,uBAItBC,GAAc,CAClBC,MAAO,QACPC,IAAK,OAQDC,G,WACJ,WAAY1xB,EAAS+nB,I,4FAAQ,SAC3BlgC,KAAK8pC,OAAS,KACd9pC,KAAK+pC,UAAY,KACjB/pC,KAAKgqC,eAAiB,KACtBhqC,KAAKiqC,WAAY,EACjBjqC,KAAKkqC,YAAa,EAClBlqC,KAAKmqC,aAAe,KACpBnqC,KAAKoqC,YAAc,EACnBpqC,KAAKqqC,YAAc,EAEnBrqC,KAAKsqC,QAAUtqC,KAAKuqC,WAAWrK,GAC/BlgC,KAAKslC,SAAWntB,EAChBnY,KAAKwqC,mBAAqBhD,GAAe/F,QAAQgI,GAAqBzpC,KAAKslC,UAC3EtlC,KAAKyqC,gBACH,iBAAkBtzB,SAAS2C,iBAA8C,EAA3B1C,UAAUszB,eAC1D1qC,KAAK2qC,cAAgB/a,QAAQpsB,OAAOonC,cAEpC5qC,KAAK6qC,qBACL1J,EAAKC,QAAQjpB,EAAS6sB,GAAUhlC,M,gEAqYTmY,EAAS+nB,GAChC,IAAIle,EAAOmf,EAAKE,QAAQlpB,EAAS6sB,IAC7BsF,EAAU,SACTpC,IACArB,GAAYG,kBAAkB7uB,IAGb,WAAlB,GAAO+nB,KACToK,EAAU,SACLA,GACApK,IAIP,IAAM4K,EAA2B,iBAAX5K,EAAsBA,EAASoK,EAAQjC,MAG3DrmB,EADGA,GACI,IAAI6nB,EAAS1xB,EAASmyB,GAG/B,GAAsB,iBAAXpK,EACTle,EAAK+oB,GAAG7K,QACH,GAAsB,iBAAX4K,EAAqB,CACrC,QAA4B,IAAjB9oB,EAAK8oB,GACd,MAAM,IAAIpiC,UAAJ,2BAAkCoiC,EAAlC,MAGR9oB,EAAK8oB,UACIR,EAAQnC,UAAYmC,EAAQU,OACrChpB,EAAKsmB,QACLtmB,EAAKipB,W,sCAIc/K,GACrB,OAAOlgC,KAAKulC,KAAK,WACfsE,EAASqB,kBAAkBlrC,KAAMkgC,O,0CAIVzc,GACzB,IAMMyc,EAIAiL,EAVA9pC,EAAS89B,EAAuBn/B,MAEjCqB,GAAWA,EAAO0kC,UAAU/qB,SA/dT,cAmelBklB,EAAS,SACV2G,GAAYG,kBAAkB3lC,IAC9BwlC,GAAYG,kBAAkBhnC,QAE7BmrC,EAAanrC,KAAKk/B,aAAa,oBAGnCgB,EAAOiI,UAAW,GAGpB0B,EAASqB,kBAAkB7pC,EAAQ6+B,GAE/BiL,GACFhK,EAAKE,QAAQhgC,EAAQ2jC,IAAU+F,GAAGI,GAGpC1nB,EAAM6a,oB,kCAGWnmB,GACjB,OAAOgpB,EAAKE,QAAQlpB,EAAS6sB,M,8BAlc7B,MApGY,iB,8BAwGZ,OAAOkD,O,gCAMFloC,KAAKkqC,YACRlqC,KAAKorC,OAAO3C,M,yCAOTtxB,SAASk0B,QAAU/K,EAAUtgC,KAAKslC,WACrCtlC,KAAKo4B,S,6BAKFp4B,KAAKkqC,YACRlqC,KAAKorC,OAAO1C,M,4BAIVjlB,GACCA,IACHzjB,KAAKiqC,WAAY,GAGfzC,GAAe/F,QA1EI,2CA0EwBzhC,KAAKslC,YAClD7F,EAAqBz/B,KAAKslC,UAC1BtlC,KAAKirC,OAAM,IAGbK,cAActrC,KAAK+pC,WACnB/pC,KAAK+pC,UAAY,O,4BAGbtmB,GACCA,IACHzjB,KAAKiqC,WAAY,GAGfjqC,KAAK+pC,YACPuB,cAActrC,KAAK+pC,WACnB/pC,KAAK+pC,UAAY,MAGf/pC,KAAKsqC,SAAWtqC,KAAKsqC,QAAQnC,WAAanoC,KAAKiqC,YACjDjqC,KAAK+pC,UAAYwB,aACdp0B,SAASq0B,gBAAkBxrC,KAAKyrC,gBAAkBzrC,KAAKo4B,MAAMvM,KAAK7rB,MACnEA,KAAKsqC,QAAQnC,a,yBAKhBp+B,GAAO,WACR/J,KAAKgqC,eAAiBxC,GAAe/F,QAAQ+H,GAAsBxpC,KAAKslC,UACxE,IAAMoG,EAAc1rC,KAAK2rC,cAAc3rC,KAAKgqC,gBAE5C,KAAIjgC,EAAQ/J,KAAK8pC,OAAOlhC,OAAS,GAAKmB,EAAQ,GAI9C,GAAI/J,KAAKkqC,WACPtG,EAAaI,IAAIhkC,KAAKslC,SAAUsD,GAAY,kBAAM,EAAKmC,GAAGhhC,SAD5D,CAKA,GAAI2hC,IAAgB3hC,EAGlB,OAFA/J,KAAKsoC,aACLtoC,KAAKirC,QAIP,IAAMW,EAAoBF,EAAR3hC,EAAsB0+B,GAAiBC,GAEzD1oC,KAAKorC,OAAOQ,EAAW5rC,KAAK8pC,OAAO//B,O,gCAInC65B,EAAaC,IAAI7jC,KAAKslC,SAAUL,IAChC9D,EAAKG,WAAWthC,KAAKslC,SAAUN,IAE/BhlC,KAAK8pC,OAAS,KACd9pC,KAAKsqC,QAAU,KACftqC,KAAKslC,SAAW,KAChBtlC,KAAK+pC,UAAY,KACjB/pC,KAAKiqC,UAAY,KACjBjqC,KAAKkqC,WAAa,KAClBlqC,KAAKgqC,eAAiB,KACtBhqC,KAAKwqC,mBAAqB,O,iCAKjBtK,GAMT,OALAA,EAAS,SACJgI,IACAhI,GAELF,EAAgBxI,GAAM0I,EAAQsI,IACvBtI,I,qCAIP,IAMM0L,EANAC,EAAYxoC,KAAKyoC,IAAI9rC,KAAKqqC,aAE5BwB,GA7MgB,KAiNdD,EAAYC,EAAY7rC,KAAKqqC,aAEnCrqC,KAAKqqC,YAAc,GAGfuB,GACF5rC,KAAK8nC,OAIH8D,EAAY,GACd5rC,KAAKo4B,U,2CAIY,WACfp4B,KAAKsqC,QAAQlC,UACfxE,EAAaG,GAAG/jC,KAAKslC,SAAUuD,GAAe,SAACplB,GAAD,OAAW,EAAKsoB,SAAStoB,KAG9C,UAAvBzjB,KAAKsqC,QAAQhC,QACf1E,EAAaG,GAAG/jC,KAAKslC,SAAUwD,GAAkB,SAACrlB,GAAD,OAAW,EAAK6kB,MAAM7kB,KACvEmgB,EAAaG,GAAG/jC,KAAKslC,SAAUyD,GAAkB,SAACtlB,GAAD,OAAW,EAAKwnB,MAAMxnB,MAGrEzjB,KAAKsqC,QAAQ/B,OAASvoC,KAAKyqC,iBAC7BzqC,KAAKgsC,4B,gDAKO,SAAR37B,EAASoT,GACT,EAAKknB,eAAiBjB,GAAYjmB,EAAMwoB,YAAYnpB,eACtD,EAAKsnB,YAAc3mB,EAAMyoB,QACf,EAAKvB,gBACf,EAAKP,YAAc3mB,EAAM0oB,QAAQ,GAAGD,SAa5B,SAAN57B,EAAOmT,GACP,EAAKknB,eAAiBjB,GAAYjmB,EAAMwoB,YAAYnpB,iBACtD,EAAKunB,YAAc5mB,EAAMyoB,QAAU,EAAK9B,aAG1C,EAAKgC,eACsB,UAAvB,EAAK9B,QAAQhC,QASf,EAAKA,QACD,EAAK6B,cACPkC,aAAa,EAAKlC,cAGpB,EAAKA,aAAepyB,WAClB,SAAC0L,GAAD,OAAW,EAAKwnB,MAAMxnB,IAvRD,IAwRI,EAAK6mB,QAAQnC,WAxCpB,WA6CxBX,GAAe14B,KAzOO,qBAyOiB9O,KAAKslC,UAAU5iC,QAAQ,SAAC4pC,GAC7D1I,EAAaG,GAAGuI,EAASjD,GAAkB,SAACx0B,GAAD,OAAOA,EAAEypB,qBAGlDt+B,KAAK2qC,eACP/G,EAAaG,GAAG/jC,KAAKslC,SAAU6D,GAA8B94B,GAC7DuzB,EAAaG,GAAG/jC,KAAKslC,SAAU8D,GAA4B94B,GAE3DtQ,KAAKslC,SAASS,UAAUwB,IAtPG,mBAwP3B3D,EAAaG,GAAG/jC,KAAKslC,SAAU0D,GAA6B34B,GAC5DuzB,EAAaG,GAAG/jC,KAAKslC,SAAU2D,GAAiB,SAACxlB,GA/CtC,IAACA,KA+CoDA,GA7CtD0oB,SAAkC,EAAvB1oB,EAAM0oB,QAAQvjC,OACjC,EAAKyhC,YAAc,EAEnB,EAAKA,YAAc5mB,EAAM0oB,QAAQ,GAAGD,QAAU,EAAK9B,cA2CrDxG,EAAaG,GAAG/jC,KAAKslC,SAAU4D,GAA2B54B,M,+BAIrDmT,GACP,IAAI,kBAAkBjP,KAAKiP,EAAMpiB,OAAOkrC,SAIxC,OAAQ9oB,EAAMziB,KACZ,IArTiB,YAsTfyiB,EAAM6a,iBACNt+B,KAAK8nC,OACL,MACF,IAxTkB,aAyThBrkB,EAAM6a,iBACNt+B,KAAKo4B,U,oCAMGjgB,GAIZ,OAHAnY,KAAK8pC,OACH3xB,GAAWA,EAAQS,WAAa4uB,GAAe14B,KA9Q/B,iBA8QmDqJ,EAAQS,YAAc,GAEpF5Y,KAAK8pC,OAAOp4B,QAAQyG,K,0CAGTyzB,EAAWY,GAC7B,IAAMC,EAAkBb,IAAcnD,GAChCiE,EAAkBd,IAAclD,GAChCgD,EAAc1rC,KAAK2rC,cAAca,GACjCG,EAAgB3sC,KAAK8pC,OAAOlhC,OAAS,EAI3C,IAFG8jC,GAAmC,IAAhBhB,GAAuBe,GAAmBf,IAAgBiB,KAE1D3sC,KAAKsqC,QAAQ3mC,KACjC,OAAO6oC,EAGT,IACMI,GAAalB,GADLE,IAAclD,IAAkB,EAAI,IACR1oC,KAAK8pC,OAAOlhC,OAEtD,OAAsB,GAAfgkC,EAAmB5sC,KAAK8pC,OAAO9pC,KAAK8pC,OAAOlhC,OAAS,GAAK5I,KAAK8pC,OAAO8C,K,yCAG3DC,EAAeC,GAChC,IAAMC,EAAc/sC,KAAK2rC,cAAckB,GACjC9Y,EAAY/zB,KAAK2rC,cACrBnE,GAAe/F,QAAQ+H,GAAsBxpC,KAAKslC,WAGpD,OAAO1B,EAAaW,QAAQvkC,KAAKslC,SAAUqD,GAAa,CACtDkE,gBACAjB,UAAWkB,EACXn9B,KAAMokB,EACNgX,GAAIgC,M,iDAImB50B,GACzB,GAAInY,KAAKwqC,mBAAoB,CAE3B,IADA,IAAMwC,EAAaxF,GAAe14B,KAvThB,UAuTsC9O,KAAKwqC,oBACpDh8B,EAAI,EAAGA,EAAIw+B,EAAWpkC,OAAQ4F,IACrCw+B,EAAWx+B,GAAGu3B,UAAUC,OAAOuD,IAGjC,IAAM0D,EAAgBjtC,KAAKwqC,mBAAmBzsB,SAAS/d,KAAK2rC,cAAcxzB,IAEtE80B,GACFA,EAAclH,UAAUwB,IAAIgC,O,6BAK3BqC,EAAWzzB,GAAS,IASrB+0B,EACAC,EA4CIC,EAQA/N,EA9DiB,OACnBmN,EAAgBhF,GAAe/F,QAAQ+H,GAAsBxpC,KAAKslC,UAClE+H,EAAqBrtC,KAAK2rC,cAAca,GACxCc,EACJn1B,GAAYq0B,GAAiBxsC,KAAKutC,oBAAoB3B,EAAWY,GAE7DgB,EAAmBxtC,KAAK2rC,cAAc2B,GACtCG,EAAY7d,QAAQ5vB,KAAK+pC,WAS7B+C,EAHElB,IAAcnD,IAChByE,EAvVkB,qBAwVlBC,EAvVkB,qBAtBD,SAgXjBD,EA5VmB,sBA6VnBC,EA1VkB,qBAtBA,SAoXhBG,GAAeA,EAAYvH,UAAU/qB,SAASuuB,IAChDvpC,KAAKkqC,YAAa,EAIDlqC,KAAK0tC,mBAAmBJ,EAAaR,GACzCvO,kBAIViO,GAAkBc,IAKvBttC,KAAKkqC,YAAa,EAEduD,GACFztC,KAAKsoC,QAGPtoC,KAAK2tC,2BAA2BL,GAE5BttC,KAAKslC,SAASS,UAAU/qB,SAzXP,UA0XnBsyB,EAAYvH,UAAUwB,IAAI4F,GAE1BxM,EAAO2M,GAEPd,EAAczG,UAAUwB,IAAI2F,GAC5BI,EAAYvH,UAAUwB,IAAI2F,IAEpBE,EAAsBrxB,SAASuxB,EAAYpO,aAAa,iBAAkB,MAE9El/B,KAAKsqC,QAAQsD,gBAAkB5tC,KAAKsqC,QAAQsD,iBAAmB5tC,KAAKsqC,QAAQnC,SAC5EnoC,KAAKsqC,QAAQnC,SAAWiF,GAExBptC,KAAKsqC,QAAQnC,SAAWnoC,KAAKsqC,QAAQsD,iBAAmB5tC,KAAKsqC,QAAQnC,SAGjE9I,EAAqBD,EAAiCoN,GAE5D5I,EAAaI,IAAIwI,EAAe9M,EAAgB,WAC9C4N,EAAYvH,UAAUC,OAAOkH,EAAsBC,GACnDG,EAAYvH,UAAUwB,IAAIgC,IAE1BiD,EAAczG,UAAUC,OAAOuD,GAAmB4D,EAAgBD,GAElE,EAAKhD,YAAa,EAElBnyB,WAAW,WACT6rB,EAAaW,QAAQ,EAAKe,SAAUsD,GAAY,CAC9CiE,cAAeS,EACf1B,UAAWkB,EACXn9B,KAAM09B,EACNtC,GAAIyC,KAEL,KAGL5N,EAAqB4M,EAAenN,KAEpCmN,EAAczG,UAAUC,OAAOuD,IAC/B+D,EAAYvH,UAAUwB,IAAIgC,IAE1BvpC,KAAKkqC,YAAa,EAClBtG,EAAaW,QAAQvkC,KAAKslC,SAAUsD,GAAY,CAC9CiE,cAAeS,EACf1B,UAAWkB,EACXn9B,KAAM09B,EACNtC,GAAIyC,KAIJC,GACFztC,KAAKirC,c,kCAmFXrH,EAAaG,GAAG5sB,SAAUiuB,GAlfE,gCAkfyCyE,GAASgE,qBAE9EjK,EAAaG,GAAGvgC,OAAQ8lC,GAAqB,WAG3C,IAFA,IAAMwE,EAAYtG,GAAe14B,KApfR,0BAsfhBN,EAAI,EAAGJ,EAAM0/B,EAAUllC,OAAQ4F,EAAIJ,EAAKI,IAC/Cq7B,GAASqB,kBAAkB4C,EAAUt/B,GAAI2yB,EAAKE,QAAQyM,EAAUt/B,GAAIw2B,OAIxE,IAUQmB,GAVF1jC,GAAIm+B,IASNn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQqS,GAASzD,gBACtB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAcs5B,GACzBpnC,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACN0D,GAASzD,kBAILyD,U,gjCC9kBf,IAAMrS,GAAO,WAEPwN,GAAW,cACXC,GAAY,IAAH,OAAOD,IAGhBkD,GAAU,CACd1B,QAAQ,EACRxoB,OAAQ,IAGJwqB,GAAc,CAClBhC,OAAQ,UACRxoB,OAAQ,oBAGJ+vB,GAAa,OAAH,OAAU9I,IACpB+I,GAAc,QAAH,OAAW/I,IACtBgJ,GAAa,OAAH,OAAUhJ,IACpBiJ,GAAe,SAAH,OAAYjJ,IACxBG,GAAuB,QAAH,OAAWH,IAAX,OAhBL,aAkBfkJ,GAAkB,OAClBC,GAAsB,WACtBC,GAAwB,aACxBC,GAAuB,YAMvBhI,GAAuB,2BAQvBiI,G,WACJ,WAAYp2B,EAAS+nB,I,4FAAQ,SAC3BlgC,KAAKwuC,kBAAmB,EACxBxuC,KAAKslC,SAAWntB,EAChBnY,KAAKsqC,QAAUtqC,KAAKuqC,WAAWrK,GAC/BlgC,KAAKyuC,cAAgBjH,GAAe14B,KAClC,UAAGw3B,GAAH,mBAAkCnuB,EAAQ2Y,GAA1C,iBACKwV,GADL,0BAC2CnuB,EAAQ2Y,GADnD,OAMF,IAFA,IAAM4d,EAAalH,GAAe14B,KAAKw3B,IAE9B93B,EAAI,EAAGJ,EAAMsgC,EAAW9lC,OAAQ4F,EAAIJ,EAAKI,IAAK,CACrD,IAAMmgC,EAAOD,EAAWlgC,GAClBywB,EAAW8B,EAAuB4N,GAClCC,EAAgBpH,GAAe14B,KAAKmwB,GAAU/zB,OAClD,SAAC2jC,GAAD,OAAeA,IAAc12B,IAGd,OAAb8mB,GAAqB2P,EAAchmC,SACrC5I,KAAK8uC,UAAY7P,EACjBj/B,KAAKyuC,cAAcvoC,KAAKyoC,IAI5B3uC,KAAK+uC,QAAU/uC,KAAKsqC,QAAQtsB,OAAShe,KAAKgvC,aAAe,KAEpDhvC,KAAKsqC,QAAQtsB,QAChBhe,KAAKivC,0BAA0BjvC,KAAKslC,SAAUtlC,KAAKyuC,eAGjDzuC,KAAKsqC,QAAQ9D,QACfxmC,KAAKwmC,SAGPrF,EAAKC,QAAQjpB,EAAS6sB,GAAUhlC,M,gEAuOTmY,EAAS+nB,GAChC,IAAIle,EAAOmf,EAAKE,QAAQlpB,EAAS6sB,IAC3BsF,EAAU,YACXpC,IACArB,GAAYG,kBAAkB7uB,IACX,WAAlB,GAAO+nB,IAAuBA,EAASA,EAAS,IAWtD,IARKle,GAAQsoB,EAAQ9D,QAA4B,iBAAXtG,GAAuB,YAAY1rB,KAAK0rB,KAC5EoK,EAAQ9D,QAAS,GAIjBxkB,EADGA,GACI,IAAIusB,EAASp2B,EAASmyB,GAGT,iBAAXpK,EAAqB,CAC9B,QAA4B,IAAjBle,EAAKke,GACd,MAAM,IAAIx3B,UAAJ,2BAAkCw3B,EAAlC,MAGRle,EAAKke,Q,sCAIcA,GACrB,OAAOlgC,KAAKulC,KAAK,WACfgJ,EAASW,kBAAkBlvC,KAAMkgC,O,kCAIlB/nB,GACjB,OAAOgpB,EAAKE,QAAQlpB,EAAS6sB,M,8BAjQ7B,MA/EY,iB,8BAmFZ,OAAOkD,O,kCAMHloC,KAAKslC,SAASS,UAAU/qB,SAASmzB,IACnCnuC,KAAKoqB,OAELpqB,KAAKmvC,S,6BAIF,IAKDC,EALC,OACL,IAAIpvC,KAAKwuC,mBAAoBxuC,KAAKslC,SAASS,UAAU/qB,SAASmzB,IAA9D,CAOInuC,KAAK+uC,SASgB,KARvBK,EAAU5H,GAAe14B,KA5EN,qBA4E6B9O,KAAK+uC,SAAS7jC,OAAO,SAACyjC,GACpE,MAAmC,iBAAxB,EAAKrE,QAAQtsB,OACf2wB,EAAKzP,aAAa,iBAAmB,EAAKoL,QAAQtsB,OAGpD2wB,EAAK5I,UAAU/qB,SAASozB,OAGrBxlC,SACVwmC,EAAU,MAId,IA2BMC,EA2BAC,EACAC,EACAlQ,EAxDAmQ,EAAYhI,GAAe/F,QAAQzhC,KAAK8uC,WAC9C,GAAIM,EAAS,CACX,IACAK,EADMC,EAAiBN,EAAQlkC,OAAO,SAACyjC,GAAD,OAAUa,IAAcb,IAG9D,IAFAc,EAAcC,EAAe,GAAKvO,EAAKE,QAAQqO,EAAe,GAAI1K,IAAY,OAE3DyK,EAAYjB,iBAC7B,OAIe5K,EAAaW,QAAQvkC,KAAKslC,SAAUyI,IACxCxP,mBAIX6Q,GACFA,EAAQ1sC,QAAQ,SAACitC,GACXH,IAAcG,GAChBpB,EAASW,kBAAkBS,EAAY,QAGpCF,GACHtO,EAAKC,QAAQuO,EAAY3K,GAAU,QAKnCqK,EAAYrvC,KAAK4vC,gBAEvB5vC,KAAKslC,SAASS,UAAUC,OAAOoI,IAC/BpuC,KAAKslC,SAASS,UAAUwB,IAAI8G,IAE5BruC,KAAKslC,SAASriB,MAAMosB,GAAa,EAE7BrvC,KAAKyuC,cAAc7lC,QACrB5I,KAAKyuC,cAAc/rC,QAAQ,SAACyV,GAC1BA,EAAQ4tB,UAAUC,OAAOsI,IACzBn2B,EAAQ+S,aAAa,iBAAiB,KAI1ClrB,KAAK6vC,kBAAiB,GAahBP,EAAuBD,EAAU,GAAGvsB,cAAgBusB,EAAU1iC,MAAM,GACpE4iC,EAAa,SAAH,OAAYD,GACtBjQ,EAAqBD,EAAiCp/B,KAAKslC,UAEjE1B,EAAaI,IAAIhkC,KAAKslC,SAAU5F,EAff,WACf,EAAK4F,SAASS,UAAUC,OAAOqI,IAC/B,EAAK/I,SAASS,UAAUwB,IAAI6G,GAAqBD,IAEjD,EAAK7I,SAASriB,MAAMosB,GAAa,GAEjC,EAAKQ,kBAAiB,GAEtBjM,EAAaW,QAAQ,EAAKe,SAAU0I,MAStCpO,EAAqB5/B,KAAKslC,SAAUjG,GACpCr/B,KAAKslC,SAASriB,MAAMosB,GAApB,UAAoCrvC,KAAKslC,SAASiK,GAAlD,U,6BAGK,WACL,IAAIvvC,KAAKwuC,kBAAqBxuC,KAAKslC,SAASS,UAAU/qB,SAASmzB,MAI5CvK,EAAaW,QAAQvkC,KAAKslC,SAAU2I,IACxC1P,iBAAf,CAIA,IAAM8Q,EAAYrvC,KAAK4vC,gBAEvB5vC,KAAKslC,SAASriB,MAAMosB,GAApB,UAAoCrvC,KAAKslC,SAASnoB,wBAAwBkyB,GAA1E,MAEA1O,EAAO3gC,KAAKslC,UAEZtlC,KAAKslC,SAASS,UAAUwB,IAAI8G,IAC5BruC,KAAKslC,SAASS,UAAUC,OAAOoI,GAAqBD,IAEpD,IAAM2B,EAAqB9vC,KAAKyuC,cAAc7lC,OAC9C,GAAyB,EAArBknC,EACF,IAAK,IAAIthC,EAAI,EAAGA,EAAIshC,EAAoBthC,IAAK,CAC3C,IAAM+1B,EAAUvkC,KAAKyuC,cAAcjgC,GAC7BmgC,EAAOxP,EAAuBoF,GAEhCoK,IAASA,EAAK5I,UAAU/qB,SAASmzB,MACnC5J,EAAQwB,UAAUwB,IAAI+G,IACtB/J,EAAQrZ,aAAa,iBAAiB,IAK5ClrB,KAAK6vC,kBAAiB,GAStB7vC,KAAKslC,SAASriB,MAAMosB,GAAa,GACjC,IAAMhQ,EAAqBD,EAAiCp/B,KAAKslC,UAEjE1B,EAAaI,IAAIhkC,KAAKslC,SAAU5F,EAVf,WACf,EAAKmQ,kBAAiB,GACtB,EAAKvK,SAASS,UAAUC,OAAOqI,IAC/B,EAAK/I,SAASS,UAAUwB,IAAI6G,IAC5BxK,EAAaW,QAAQ,EAAKe,SAAU4I,MAOtCtO,EAAqB5/B,KAAKslC,SAAUjG,M,uCAGrB0Q,GACf/vC,KAAKwuC,iBAAmBuB,I,gCAIxB5O,EAAKG,WAAWthC,KAAKslC,SAAUN,IAE/BhlC,KAAKsqC,QAAU,KACftqC,KAAK+uC,QAAU,KACf/uC,KAAKslC,SAAW,KAChBtlC,KAAKyuC,cAAgB,KACrBzuC,KAAKwuC,iBAAmB,O,iCAKftO,GAOT,OANAA,EAAS,SACJgI,IACAhI,IAEEsG,OAAS5W,QAAQsQ,EAAOsG,QAC/BxG,EAAgBxI,GAAM0I,EAAQsI,IACvBtI,I,sCAKP,OADiBlgC,KAAKslC,SAASS,UAAU/qB,SAvO/B,iBACC,W,mCA0OA,WACLgD,EAAWhe,KAAKsqC,QAAhBtsB,OAEF2hB,EAAU3hB,QAEiB,IAAlBA,EAAO8N,aAA+C,IAAd9N,EAAO,KACxDA,EAASA,EAAO,IAGlBA,EAASwpB,GAAe/F,QAAQzjB,GAGlC,IAAMihB,EAAW,GAAH,OAAMqH,GAAN,yBAA2CtoB,EAA3C,MAQd,OANAwpB,GAAe14B,KAAKmwB,EAAUjhB,GAAQtb,QAAQ,SAACyV,GAC7C,IAAM63B,EAAW7Q,EAAuBhnB,GAExC,EAAK82B,0BAA0Be,EAAU,CAAC73B,MAGrC6F,I,gDAGiB7F,EAAS83B,GACjC,IACQC,EADJ/3B,IACI+3B,EAAS/3B,EAAQ4tB,UAAU/qB,SAASmzB,IAEtC8B,EAAarnC,QACfqnC,EAAavtC,QAAQ,SAACisC,GAChBuB,EACFvB,EAAK5I,UAAUC,OAAOsI,IAEtBK,EAAK5I,UAAUwB,IAAI+G,IAGrBK,EAAKzjB,aAAa,gBAAiBglB,W,kCAkD7CtM,EAAaG,GAAG5sB,SAAUiuB,GAAsBkB,GAAsB,SAAU7iB,GAEjD,MAAzBA,EAAMpiB,OAAOkrC,SACf9oB,EAAM6a,iBAGR,IAAM6R,EAActJ,GAAYG,kBAAkBhnC,MAC5Ci/B,EAAW8B,EAAuB/gC,MACfwnC,GAAe14B,KAAKmwB,GAE5Bv8B,QAAQ,SAACyV,GACxB,IAAM6J,EAAOmf,EAAKE,QAAQlpB,EAAS6sB,IASjC9E,EAPEle,GAEmB,OAAjBA,EAAK+sB,SAAkD,iBAAvBoB,EAAYnyB,SAC9CgE,EAAKsoB,QAAQtsB,OAASmyB,EAAYnyB,OAClCgE,EAAK+sB,QAAU/sB,EAAKgtB,cAGb,UAEAmB,EAGX5B,GAASW,kBAAkB/2B,EAAS+nB,OAIxC,IAUQiG,GAVF1jC,GAAIm+B,IASNn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQ+W,GAASnI,gBACtB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAcg+B,GACzB9rC,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACNoI,GAASnI,kBAILmI,U,gjCC5Yf,IAAM/W,GAAO,QAEPwN,GAAW,WACXC,GAAY,IAAH,OAAOD,IAIhBkD,GAAU,CACdkI,UAAU,EACVhI,UAAU,EACViI,OAAO,EACPlB,MAAM,GAGF3G,GAAc,CAClB4H,SAAU,mBACVhI,SAAU,UACViI,MAAO,UACPlB,KAAM,WAGFlB,GAAa,OAAH,OAAUhJ,IACpBqL,GAAuB,gBAAH,OAAmBrL,IACvCiJ,GAAe,SAAH,OAAYjJ,IACxB8I,GAAa,OAAH,OAAU9I,IACpB+I,GAAc,QAAH,OAAW/I,IACtBsL,GAAgB,UAAH,OAAatL,IAC1BuL,GAAe,SAAH,OAAYvL,IACxBwL,GAAsB,gBAAH,OAAmBxL,IACtCyL,GAAwB,kBAAH,OAAqBzL,IAC1C0L,GAAwB,kBAAH,OAAqB1L,IAC1C2L,GAA0B,oBAAH,OAAuB3L,IAC9CG,GAAuB,QAAH,OAAWH,IAAX,OA5BL,aAgCf4L,GAAkB,aAClBC,GAAkB,OAClB3C,GAAkB,OAClB4C,GAAoB,eAEpBC,GAAkB,gBAIlBC,GAAyB,oDACzBC,GAA0B,cAQ1BC,G,WACJ,WAAYh5B,EAAS+nB,I,4FAAQ,SAC3BlgC,KAAKsqC,QAAUtqC,KAAKuqC,WAAWrK,GAC/BlgC,KAAKslC,SAAWntB,EAChBnY,KAAKoxC,QAAU5J,GAAe/F,QAAQuP,GAAiB74B,GACvDnY,KAAKqxC,UAAY,KACjBrxC,KAAKsxC,UAAW,EAChBtxC,KAAKuxC,oBAAqB,EAC1BvxC,KAAKwxC,sBAAuB,EAC5BxxC,KAAKwuC,kBAAmB,EACxBxuC,KAAKyxC,gBAAkB,EACvBtQ,EAAKC,QAAQjpB,EAAS6sB,GAAUhlC,M,8DA8aXkgC,EAAQ2M,GAC7B,OAAO7sC,KAAKulC,KAAK,WACf,IAAIvjB,EAAOmf,EAAKE,QAAQrhC,KAAMglC,IACxBsF,EAAU,YACXpC,IACArB,GAAYG,kBAAkBhnC,OACX,WAAlB,GAAOkgC,IAAuBA,EAASA,EAAS,IAIpDle,EADGA,GACI,IAAImvB,EAAMnxC,KAAMsqC,GAGzB,GAAsB,iBAAXpK,EAAqB,CAC9B,QAA4B,IAAjBle,EAAKke,GACd,MAAM,IAAIx3B,UAAJ,2BAAkCw3B,EAAlC,MAGRle,EAAKke,GAAQ2M,QACJvC,EAAQ6E,MACjBntB,EAAKmtB,KAAKtC,O,kCAKG10B,GACjB,OAAOgpB,EAAKE,QAAQlpB,EAAS6sB,M,8BAlc7B,MAtEY,iB,8BA0EZ,OAAOkD,O,gCAKF2E,GACL,OAAO7sC,KAAKsxC,SAAWtxC,KAAKoqB,OAASpqB,KAAKmvC,KAAKtC,K,2BAG5CA,GAAe,IASZ6E,EATY,OACd1xC,KAAKsxC,UAAYtxC,KAAKwuC,mBAItBxuC,KAAKslC,SAASS,UAAU/qB,SAAS81B,MACnC9wC,KAAKwuC,kBAAmB,GAGpBkD,EAAY9N,EAAaW,QAAQvkC,KAAKslC,SAAUyI,GAAY,CAChElB,kBAGE7sC,KAAKsxC,UAAYI,EAAUnT,mBAI/Bv+B,KAAKsxC,UAAW,EAEhBtxC,KAAK2xC,kBACL3xC,KAAK4xC,gBAEL5xC,KAAK6xC,gBAEL7xC,KAAK8xC,kBACL9xC,KAAK+xC,kBAELnO,EAAaG,GAAG/jC,KAAKslC,SAAUmL,GAnEL,yBAmEiD,SAAChtB,GAAD,OACzE,EAAK2G,KAAK3G,KAGZmgB,EAAaG,GAAG/jC,KAAKoxC,QAASR,GAAyB,WACrDhN,EAAaI,IAAI,EAAKsB,SAAUqL,GAAuB,SAACltB,GAClDA,EAAMpiB,SAAW,EAAKikC,WACxB,EAAKkM,sBAAuB,OAKlCxxC,KAAKgyC,cAAc,kBAAM,EAAKC,aAAapF,S,2BAGxCppB,GAAO,IAgBJyuB,EAiBE7S,EAjCE,OACN5b,GACFA,EAAM6a,iBAGHt+B,KAAKsxC,WAAYtxC,KAAKwuC,mBAIT5K,EAAaW,QAAQvkC,KAAKslC,SAAU2I,IAExC1P,mBAIdv+B,KAAKsxC,UAAW,GACVY,EAAalyC,KAAKslC,SAASS,UAAU/qB,SAAS81B,OAGlD9wC,KAAKwuC,kBAAmB,GAG1BxuC,KAAK8xC,kBACL9xC,KAAK+xC,kBAELnO,EAAaC,IAAI1sB,SAAUo5B,IAE3BvwC,KAAKslC,SAASS,UAAUC,OAAOmI,IAE/BvK,EAAaC,IAAI7jC,KAAKslC,SAAUmL,IAChC7M,EAAaC,IAAI7jC,KAAKoxC,QAASR,IAE3BsB,GACI7S,EAAqBD,EAAiCp/B,KAAKslC,UAEjE1B,EAAaI,IAAIhkC,KAAKslC,SAAU5F,EAAgB,SAACjc,GAAD,OAAW,EAAK0uB,WAAW1uB,KAC3Emc,EAAqB5/B,KAAKslC,SAAUjG,IAEpCr/B,KAAKmyC,iB,gCAKP,CAAC3uC,OAAQxD,KAAKslC,SAAUtlC,KAAKoxC,SAAS1uC,QAAQ,SAAC0vC,GAAD,OAC5CxO,EAAaC,IAAIuO,EAAanN,MAQhCrB,EAAaC,IAAI1sB,SAAUo5B,IAE3BpP,EAAKG,WAAWthC,KAAKslC,SAAUN,IAE/BhlC,KAAKsqC,QAAU,KACftqC,KAAKslC,SAAW,KAChBtlC,KAAKoxC,QAAU,KACfpxC,KAAKqxC,UAAY,KACjBrxC,KAAKsxC,SAAW,KAChBtxC,KAAKuxC,mBAAqB,KAC1BvxC,KAAKwxC,qBAAuB,KAC5BxxC,KAAKwuC,iBAAmB,KACxBxuC,KAAKyxC,gBAAkB,O,qCAIvBzxC,KAAK6xC,kB,iCAKI3R,GAMT,OALAA,EAAS,SACJgI,IACAhI,GAELF,EAAgBxI,GAAM0I,EAAQsI,IACvBtI,I,mCAGI2M,GAAe,WACpBqF,EAAalyC,KAAKslC,SAASS,UAAU/qB,SAAS81B,IAC9CuB,EAAY7K,GAAe/F,QAxKT,cAwKsCzhC,KAAKoxC,SAE9DpxC,KAAKslC,SAAS1sB,YAAc5Y,KAAKslC,SAAS1sB,WAAWP,WAAaoC,KAAKotB,cAE1E1wB,SAAS4B,KAAKkW,YAAYjvB,KAAKslC,UAGjCtlC,KAAKslC,SAASriB,MAAM+L,QAAU,QAC9BhvB,KAAKslC,SAASna,gBAAgB,eAC9BnrB,KAAKslC,SAASpa,aAAa,cAAc,GACzClrB,KAAKslC,SAASpa,aAAa,OAAQ,UACnClrB,KAAKslC,SAASloB,UAAY,EAEtBi1B,IACFA,EAAUj1B,UAAY,GAGpB80B,GACFvR,EAAO3gC,KAAKslC,UAGdtlC,KAAKslC,SAASS,UAAUwB,IAAI4G,IAExBnuC,KAAKsqC,QAAQ+F,OACfrwC,KAAKsyC,gBAGoB,SAArBC,IACA,EAAKjI,QAAQ+F,OACf,EAAK/K,SAAS+K,QAGhB,EAAK7B,kBAAmB,EACxB5K,EAAaW,QAAQ,EAAKe,SAAU0I,GAAa,CAC/CnB,kBAPJ,IAYQxN,EADJ6S,GACI7S,EAAqBD,EAAiCp/B,KAAKoxC,SAEjExN,EAAaI,IAAIhkC,KAAKoxC,QAAS1R,EAAgB6S,GAC/C3S,EAAqB5/B,KAAKoxC,QAAS/R,IAEnCkT,M,sCAIY,WACd3O,EAAaC,IAAI1sB,SAAUo5B,IAC3B3M,EAAaG,GAAG5sB,SAAUo5B,GAAe,SAAC9sB,GAEtCtM,WAAasM,EAAMpiB,QACnB,EAAKikC,WAAa7hB,EAAMpiB,QACvB,EAAKikC,SAAStqB,SAASyI,EAAMpiB,SAE9B,EAAKikC,SAAS+K,Y,wCAKF,WACZrwC,KAAKsxC,SACP1N,EAAaG,GAAG/jC,KAAKslC,SAAUoL,GAAuB,SAACjtB,GACjD,EAAK6mB,QAAQlC,UA7QN,WA6QkB3kB,EAAMziB,KACjCyiB,EAAM6a,iBACN,EAAKlU,QACK,EAAKkgB,QAAQlC,UAhRd,WAgR0B3kB,EAAMziB,KACzC,EAAKwxC,+BAIT5O,EAAaC,IAAI7jC,KAAKslC,SAAUoL,M,wCAIlB,WACZ1wC,KAAKsxC,SACP1N,EAAaG,GAAGvgC,OAAQgtC,GAAc,kBAAM,EAAKqB,kBAEjDjO,EAAaC,IAAIrgC,OAAQgtC,M,mCAIhB,WACXxwC,KAAKslC,SAASriB,MAAM+L,QAAU,OAC9BhvB,KAAKslC,SAASpa,aAAa,eAAe,GAC1ClrB,KAAKslC,SAASna,gBAAgB,cAC9BnrB,KAAKslC,SAASna,gBAAgB,QAC9BnrB,KAAKwuC,kBAAmB,EACxBxuC,KAAKgyC,cAAc,WACjB76B,SAAS4B,KAAKgtB,UAAUC,OAAO6K,IAC/B,EAAK4B,oBACL,EAAKC,kBACL9O,EAAaW,QAAQ,EAAKe,SAAU4I,Q,wCAKtCluC,KAAKqxC,UAAUz4B,WAAW6S,YAAYzrB,KAAKqxC,WAC3CrxC,KAAKqxC,UAAY,O,oCAGL3tB,GAAU,IA4CdivB,EAMEC,EAlDY,OAChBC,EAAU7yC,KAAKslC,SAASS,UAAU/qB,SAAS81B,IAAmBA,GAAkB,GAEtF,GAAI9wC,KAAKsxC,UAAYtxC,KAAKsqC,QAAQ8F,SAAU,CA6B1C,GA5BApwC,KAAKqxC,UAAYl6B,SAASuc,cAAc,OACxC1zB,KAAKqxC,UAAU/J,UA3RO,iBA6RlBuL,GACF7yC,KAAKqxC,UAAUtL,UAAUwB,IAAIsL,GAG/B17B,SAAS4B,KAAKkW,YAAYjvB,KAAKqxC,WAE/BzN,EAAaG,GAAG/jC,KAAKslC,SAAUmL,GAAqB,SAAChtB,GAC/C,EAAK+tB,qBACP,EAAKA,sBAAuB,EAI1B/tB,EAAMpiB,SAAWoiB,EAAMqvB,eAI3B,EAAKN,+BAGHK,GACFlS,EAAO3gC,KAAKqxC,WAGdrxC,KAAKqxC,UAAUtL,UAAUwB,IAAI4G,KAExB0E,EAEH,YADAnvB,IAIF,IAAMkvB,EAA6BxT,EAAiCp/B,KAAKqxC,WAEzEzN,EAAaI,IAAIhkC,KAAKqxC,UAAW3R,EAAgBhc,GACjDkc,EAAqB5/B,KAAKqxC,UAAWuB,OAChC,EAAK5yC,KAAKsxC,UAAYtxC,KAAKqxC,WAChCrxC,KAAKqxC,UAAUtL,UAAUC,OAAOmI,IAE1BwE,EAAiB,WACrB,EAAKI,kBACLrvB,KAGE1jB,KAAKslC,SAASS,UAAU/qB,SAAS81B,KAC7B8B,EAA6BxT,EAAiCp/B,KAAKqxC,WACzEzN,EAAaI,IAAIhkC,KAAKqxC,UAAW3R,EAAgBiT,GACjD/S,EAAqB5/B,KAAKqxC,UAAWuB,IAErCD,KAGFjvB,O,mDAIyB,WAC3B,GAA8B,WAA1B1jB,KAAKsqC,QAAQ8F,SAAuB,CAEtC,GADkBxM,EAAaW,QAAQvkC,KAAKslC,SAAUgL,IACxC/R,iBACZ,OAGFv+B,KAAKslC,SAASS,UAAUwB,IAAIwJ,IAC5B,IAAMiC,EAA0B5T,EAAiCp/B,KAAKslC,UACtE1B,EAAaI,IAAIhkC,KAAKslC,SAAU5F,EAAgB,WAC9C,EAAK4F,SAASS,UAAUC,OAAO+K,MAEjCnR,EAAqB5/B,KAAKslC,SAAU0N,GACpChzC,KAAKslC,SAAS+K,aAEdrwC,KAAKoqB,S,sCASP,IAAM6oB,EAAqBjzC,KAAKslC,SAAS4N,aAAe/7B,SAAS2C,gBAAgB2D,cAE5Ezd,KAAKuxC,oBAAsB0B,IAC9BjzC,KAAKslC,SAASriB,MAAMkwB,YAApB,UAAqCnzC,KAAKyxC,gBAA1C,OAGEzxC,KAAKuxC,qBAAuB0B,IAC9BjzC,KAAKslC,SAASriB,MAAMmwB,aAApB,UAAsCpzC,KAAKyxC,gBAA3C,S,0CAKFzxC,KAAKslC,SAASriB,MAAMkwB,YAAc,GAClCnzC,KAAKslC,SAASriB,MAAMmwB,aAAe,K,wCAInC,IAAM91B,EAAOnG,SAAS4B,KAAKoE,wBAC3Bnd,KAAKuxC,mBAAqBluC,KAAKuhB,MAAMtH,EAAKN,KAAOM,EAAKP,OAASvZ,OAAOic,WACtEzf,KAAKyxC,gBAAkBzxC,KAAKqzC,uB,sCAGd,IAsBNC,EACAC,EAvBM,OACVvzC,KAAKuxC,qBAKP/J,GAAe14B,KAAKmiC,IAAwBvuC,QAAQ,SAACyV,GACnD,IAAMm7B,EAAgBn7B,EAAQ8K,MAAMmwB,aAC9BG,EAAoB/vC,OAAOiV,iBAAiBN,GAAS,iBAC3D0uB,GAAYC,iBAAiB3uB,EAAS,gBAAiBm7B,GACvDn7B,EAAQ8K,MAAMmwB,aAAd,UAAgCx3B,WAAW23B,GAAqB,EAAK9B,gBAArE,QAIFjK,GAAe14B,KAAKoiC,IAAyBxuC,QAAQ,SAACyV,GACpD,IAAMq7B,EAAer7B,EAAQ8K,MAAMhC,YAC7BwyB,EAAmBjwC,OAAOiV,iBAAiBN,GAAS,gBAC1D0uB,GAAYC,iBAAiB3uB,EAAS,eAAgBq7B,GACtDr7B,EAAQ8K,MAAMhC,YAAd,UAA+BrF,WAAW63B,GAAoB,EAAKhC,gBAAnE,QAII6B,EAAgBn8B,SAAS4B,KAAKkK,MAAMmwB,aACpCG,EAAoB/vC,OAAOiV,iBAAiBtB,SAAS4B,MAAM,iBAEjE8tB,GAAYC,iBAAiB3vB,SAAS4B,KAAM,gBAAiBu6B,GAC7Dn8B,SAAS4B,KAAKkK,MAAMmwB,aAApB,UACEx3B,WAAW23B,GAAqBvzC,KAAKyxC,gBADvC,OAKFt6B,SAAS4B,KAAKgtB,UAAUwB,IAAIsJ,M,wCAK5BrJ,GAAe14B,KAAKmiC,IAAwBvuC,QAAQ,SAACyV,GACnD,IAAM+G,EAAU2nB,GAAYK,iBAAiB/uB,EAAS,sBAC/B,IAAZ+G,IACT2nB,GAAYE,oBAAoB5uB,EAAS,iBACzCA,EAAQ8K,MAAMmwB,aAAel0B,KAKjCsoB,GAAe14B,KAAf,UAAuBoiC,KAA2BxuC,QAAQ,SAACyV,GACzD,IAAMu7B,EAAS7M,GAAYK,iBAAiB/uB,EAAS,qBAC/B,IAAXu7B,IACT7M,GAAYE,oBAAoB5uB,EAAS,gBACzCA,EAAQ8K,MAAMhC,YAAcyyB,KAKhC,IAAMx0B,EAAU2nB,GAAYK,iBAAiB/vB,SAAS4B,KAAM,sBACrC,IAAZmG,EACT/H,SAAS4B,KAAKkK,MAAMmwB,aAAe,IAEnCvM,GAAYE,oBAAoB5vB,SAAS4B,KAAM,iBAC/C5B,SAAS4B,KAAKkK,MAAMmwB,aAAel0B,K,2CAMrC,IAAMy0B,EAAYx8B,SAASuc,cAAc,OACzCigB,EAAUrM,UApcwB,0BAqclCnwB,SAAS4B,KAAKkW,YAAY0kB,GAC1B,IAAMC,EAAiBD,EAAUx2B,wBAAwBjB,MAAQy3B,EAAUn2B,YAE3E,OADArG,SAAS4B,KAAK0S,YAAYkoB,GACnBC,O,kCAyCXhQ,EAAaG,GAAG5sB,SAAUiuB,GAxeG,wBAweyC,SAAU3hB,GAAO,WAC/EpiB,EAAS89B,EAAuBn/B,MAEjB,MAAjBA,KAAKusC,SAAoC,SAAjBvsC,KAAKusC,SAC/B9oB,EAAM6a,iBAGRsF,EAAaI,IAAI3iC,EAAQ0sC,GAAY,SAAC2D,GAChCA,EAAUnT,kBAKdqF,EAAaI,IAAI3iC,EAAQ6sC,GAAc,WACjC5N,EAAU,IACZ,EAAK+P,YAKX,IAEQnQ,EAFJle,EAAOmf,EAAKE,QAAQhgC,EAAQ2jC,IAC3BhjB,IACGke,EAAS,SACV2G,GAAYG,kBAAkB3lC,IAC9BwlC,GAAYG,kBAAkBhnC,OAGnCgiB,EAAO,IAAImvB,GAAM9vC,EAAQ6+B,IAG3Ble,EAAKmtB,KAAKnvC,QAGZ,IAUQmmC,GAVF1jC,GAAIm+B,IASNn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQ2Z,GAAM/K,gBACnB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAc4gC,GACzB1uC,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACNgL,GAAM/K,kBAIF+K,U,0wBC5lBf,IAAM0C,GAAW,CACf,aACA,OACA,OACA,WACA,WACA,SACA,MACA,cAUIC,GAAmB,8DAOnBC,GAAmB,qIA2BZC,GAAmB,CAE9B,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OA3CP,kBA4C7B5rC,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/BgY,KAAM,GACNG,EAAG,GACH0zB,GAAI,GACJC,IAAK,GACLlhB,KAAM,GACNmhB,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJnmC,EAAG,GACHomC,IAAK,CAAC,MAAO,SAAU,MAAO,QAAS,QAAS,UAChDC,GAAI,GACJC,GAAI,GACJ9oC,EAAG,GACH+oC,IAAK,GACL/f,EAAG,GACHggB,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,IAAK,GACLC,OAAQ,GACRxY,EAAG,GACHyY,GAAI,IAGC,SAASC,GAAaC,EAAYC,EAAWC,GAAY,MAC9D,IAAKF,EAAW3sC,OACd,OAAO2sC,EAGT,GAAIE,GAAoC,mBAAfA,EACvB,OAAOA,EAAWF,GAQpB,IALA,IACMG,GADY,IAAIlyC,OAAOmyC,WACKC,gBAAgBL,EAAY,aACxDM,EAAgB3yC,OAAO2B,KAAK2wC,GAC5BM,GAAW,MAAG/wC,OAAH,WAAa2wC,EAAgB38B,KAAKyoB,iBAAiB,OAZN,WAcrDhzB,GAdqD,MAetDuQ,EAAK+2B,EAAStnC,GACdunC,EAASh3B,EAAGpG,SAAS6P,cAE3B,IAAuC,IAAnCqtB,EAAcnkC,QAAQqkC,GAGxB,OAFAh3B,EAAGnG,WAAW6S,YAAY1M,GAE1B,WAGF,IAAMi3B,GAAgB,MAAGjxC,OAAH,WAAaga,EAAGuL,aAChC2rB,EAAwB,GAAGlxC,OAAOywC,EAAU,MAAQ,GAAIA,EAAUO,IAAW,IAEnFC,EAActzC,QAAQ,SAACwzC,IAtFF,SAACA,EAAMC,GAC9B,IAAMC,EAAWF,EAAKv9B,SAAS6P,cAE/B,IAAgD,IAA5C2tB,EAAqBzkC,QAAQ0kC,GAC/B,OAAoC,IAAhCvC,GAASniC,QAAQ0kC,IACZxmB,QACLsmB,EAAKG,UAAUtkC,MAAM+hC,KAAqBoC,EAAKG,UAAUtkC,MAAMgiC,KAUrE,IAHA,IAAMuC,EAASH,EAAqBjrC,OAAO,SAACqrC,GAAD,OAAeA,aAAqB5qC,SAGtE6C,EAAI,EAAGJ,EAAMkoC,EAAO1tC,OAAQ4F,EAAIJ,EAAKI,IAC5C,GAAI4nC,EAASrkC,MAAMukC,EAAO9nC,IACxB,OAAO,EAIX,OAAO,EAiEEgoC,CAAiBN,EAAMD,IAC1Bl3B,EAAGoM,gBAAgB+qB,EAAKv9B,aAfrBnK,EAAI,EAAGJ,EAAM0nC,EAASltC,OAAQ4F,EAAIJ,EAAKI,IAAK,EAA5CA,GAoBT,OAAOknC,EAAgB38B,KAAK09B,U,4yDChG9B,IAqvBQtQ,GArvBF3O,GAAO,UAEPwN,GAAW,aACXC,GAAY,IAAH,OAAOD,IAChB0R,GAAe,aACfC,GAAqB,IAAIhrC,OAAJ,iBAAqB+qC,GAArB,QAAyC,KAC9DE,GAAwB,CAAC,WAAY,YAAa,cAElDpO,GAAc,CAClBqO,UAAW,UACXC,SAAU,SACVC,MAAO,4BACPxS,QAAS,SACTyS,MAAO,kBACP37B,KAAM,UACN4jB,SAAU,mBACVlf,UAAW,oBACXmG,OAAQ,2BACRspB,UAAW,2BACXyH,kBAAmB,iBACnBC,SAAU,mBACVC,SAAU,UACV1B,WAAY,kBACZD,UAAW,SACX4B,aAAc,iBAGVC,GAAgB,CACpBC,KAAM,OACNC,IAAK,MACLC,MAAO,QACPC,OAAQ,SACRC,KAAM,QAGFxP,GAAU,CACd2O,WAAW,EACXC,SACE,+GAGFvS,QAAS,cACTwS,MAAO,GACPC,MAAO,EACP37B,MAAM,EACN4jB,UAAU,EACVlf,UAAW,MACXmG,OAAQ,EACRspB,WAAW,EACXyH,kBAAmB,OACnBC,SAAU,eACVC,UAAU,EACV1B,WAAY,KACZD,UAAWxB,GACXoD,aAAc,MAGV1Y,GAAQ,CACZiZ,KAAM,OAAF,OAAS1S,IACbt/B,OAAQ,SAAF,OAAWs/B,IACjB2S,KAAM,OAAF,OAAS3S,IACb4S,MAAO,QAAF,OAAU5S,IACf6S,SAAU,WAAF,OAAa7S,IACrB8S,MAAO,QAAF,OAAU9S,IACf+S,QAAS,UAAF,OAAY/S,IACnBgT,SAAU,WAAF,OAAahT,IACrBiT,WAAY,aAAF,OAAejT,IACzBkT,WAAY,aAAF,OAAelT,KAGrB6L,GAAkB,OAElB3C,GAAkB,OAElBiK,GAAmB,OAKnBC,GAAgB,QAChBC,GAAgB,QAUhBC,G,WACJ,WAAYpgC,EAAS+nB,GACnB,I,4FAD2B,cACL,IAAX5U,KACT,MAAM,IAAI5iB,UAAU,kEAItB1I,KAAKw4C,YAAa,EAClBx4C,KAAKy4C,SAAW,EAChBz4C,KAAK04C,YAAc,GACnB14C,KAAK24C,eAAiB,GACtB34C,KAAK44C,QAAU,KAGf54C,KAAKmY,QAAUA,EACfnY,KAAKkgC,OAASlgC,KAAKuqC,WAAWrK,GAC9BlgC,KAAK64C,IAAM,KAEX74C,KAAK84C,gBACL3X,EAAKC,QAAQjpB,EAASnY,KAAKyM,YAAYu4B,SAAUhlC,M,8DAkmB5BkgC,GACrB,OAAOlgC,KAAKulC,KAAK,WACf,IAAIvjB,EAAOmf,EAAKE,QAAQrhC,KAAMglC,IACxBsF,EAA4B,WAAlB,GAAOpK,IAAuBA,EAE9C,IAAKle,IAAQ,eAAexN,KAAK0rB,MAK/Ble,EADGA,GACI,IAAIu2B,EAAQv4C,KAAMsqC,GAGL,iBAAXpK,GAAqB,CAC9B,QAA4B,IAAjBle,EAAKke,GACd,MAAM,IAAIx3B,UAAJ,2BAAkCw3B,EAAlC,MAGRle,EAAKke,U,kCAKQ/nB,GACjB,OAAOgpB,EAAKE,QAAQlpB,EAAS6sB,M,8BApnB7B,MAlHY,iB,8BAsHZ,OAAOkD,K,2BAIP,OAAO1Q,K,+BAIP,OAAOwN,K,4BAIP,OAAOtG,K,gCAIP,OAAOuG,K,kCAIP,OAAOuD,O,kCAMPxoC,KAAKw4C,YAAa,I,gCAIlBx4C,KAAKw4C,YAAa,I,sCAIlBx4C,KAAKw4C,YAAcx4C,KAAKw4C,a,6BAGnB/0B,GACL,GAAKzjB,KAAKw4C,WAIV,GAAI/0B,EAAO,CACT,IAAMs1B,EAAU/4C,KAAKyM,YAAYu4B,SAC7BgU,EAAU7X,EAAKE,QAAQ5d,EAAMpiB,OAAQ03C,GAEpCC,IACHA,EAAU,IAAIh5C,KAAKyM,YAAYgX,EAAMpiB,OAAQrB,KAAKi5C,sBAClD9X,EAAKC,QAAQ3d,EAAMpiB,OAAQ03C,EAASC,IAGtCA,EAAQL,eAAeO,OAASF,EAAQL,eAAeO,MAEnDF,EAAQG,uBACVH,EAAQI,OAAO,KAAMJ,GAErBA,EAAQK,OAAO,KAAML,OAElB,CACL,GAAIh5C,KAAKs5C,gBAAgBvT,UAAU/qB,SAASmzB,IAE1C,YADAnuC,KAAKq5C,OAAO,KAAMr5C,MAIpBA,KAAKo5C,OAAO,KAAMp5C,S,gCAKpBqsC,aAAarsC,KAAKy4C,UAElBtX,EAAKG,WAAWthC,KAAKmY,QAASnY,KAAKyM,YAAYu4B,UAE/CpB,EAAaC,IAAI7jC,KAAKmY,QAASnY,KAAKyM,YAAYw4B,WAChDrB,EAAaC,IACX7jC,KAAKmY,QAAQ2tB,QAAb,WA3HmB,UA4HnB,gBACA9lC,KAAKu5C,mBAGHv5C,KAAK64C,KACP74C,KAAK64C,IAAIjgC,WAAW6S,YAAYzrB,KAAK64C,KAGvC74C,KAAKw4C,WAAa,KAClBx4C,KAAKy4C,SAAW,KAChBz4C,KAAK04C,YAAc,KACnB14C,KAAK24C,eAAiB,KAClB34C,KAAK44C,SACP54C,KAAK44C,QAAQY,UAGfx5C,KAAK44C,QAAU,KACf54C,KAAKmY,QAAU,KACfnY,KAAKkgC,OAAS,KACdlgC,KAAK64C,IAAM,O,6BAGN,WACL,GAAmC,SAA/B74C,KAAKmY,QAAQ8K,MAAM+L,QACrB,MAAM,IAAI8O,MAAM,uCAGlB,GAAI99B,KAAKy5C,iBAAmBz5C,KAAKw4C,WAAY,CAC3C,IAAM9G,EAAY9N,EAAaW,QAAQvkC,KAAKmY,QAASnY,KAAKyM,YAAYiyB,MAAMkZ,MACtE8B,EZ7GW,SAAjBC,EAAkBxhC,GACtB,IAAKhB,SAAS2C,gBAAgB8/B,aAC5B,OAAO,KAIT,GAAmC,mBAAxBzhC,EAAQ0hC,YAKnB,OAAI1hC,aAAmB2hC,WACd3hC,EAIJA,EAAQS,WAIN+gC,EAAexhC,EAAQS,YAHrB,KAVP,IAAMlZ,EAAOyY,EAAQ0hC,cACrB,OAAOn6C,aAAgBo6C,WAAap6C,EAAO,KYqGtBi6C,CAAe35C,KAAKmY,SACjC4hC,EACW,OAAfL,EACI15C,KAAKmY,QAAQI,cAAcuB,gBAAgBkB,SAAShb,KAAKmY,SACzDuhC,EAAW1+B,SAAShb,KAAKmY,SAE/B,GAAIu5B,EAAUnT,mBAAqBwb,EACjC,OAGF,IAAMlB,EAAM74C,KAAKs5C,gBACXU,EAAQnb,EAAO7+B,KAAKyM,YAAY+qB,MAEtCqhB,EAAI3tB,aAAa,KAAM8uB,GACvBh6C,KAAKmY,QAAQ+S,aAAa,mBAAoB8uB,GAE9Ch6C,KAAKi6C,aAEDj6C,KAAKkgC,OAAO2W,WACdgC,EAAI9S,UAAUwB,IAAIuJ,IAGpB,IAAM/wB,EAC6B,mBAA1B/f,KAAKkgC,OAAOngB,UACf/f,KAAKkgC,OAAOngB,UAAU5a,KAAKnF,KAAM64C,EAAK74C,KAAKmY,SAC3CnY,KAAKkgC,OAAOngB,UAEZm6B,EAAal6C,KAAKm6C,eAAep6B,GACvC/f,KAAKo6C,oBAAoBF,GAEzB,IAiBgD,EAjB1C1K,EAAYxvC,KAAKq6C,gBACvBlZ,EAAKC,QAAQyX,EAAK74C,KAAKyM,YAAYu4B,SAAUhlC,MAExCA,KAAKmY,QAAQI,cAAcuB,gBAAgBkB,SAAShb,KAAK64C,MAC5DrJ,EAAUvgB,YAAY4pB,GAGxBjV,EAAaW,QAAQvkC,KAAKmY,QAASnY,KAAKyM,YAAYiyB,MAAMoZ,UAE1D93C,KAAK44C,QAAU,IAAIttB,KAAOtrB,KAAKmY,QAAS0gC,EAAK74C,KAAKs6C,iBAAiBJ,IAEnErB,EAAI9S,UAAUwB,IAAI4G,IAMd,iBAAkBh3B,SAAS2C,kBAC7B,MAAG/U,OAAH,WAAaoS,SAAS4B,KAAKgF,WAAUrb,QAAQ,SAACyV,GAC5CyrB,EAAaG,GAAG5rB,EAAS,YAAauoB,OAI1C,IAgBQrB,EAhBFkb,EAAW,WACX,EAAKra,OAAO2W,WACd,EAAK2D,iBAGP,IAAMC,EAAiB,EAAK/B,YAC5B,EAAKA,YAAc,KAEnB9U,EAAaW,QAAQ,EAAKpsB,QAAS,EAAK1L,YAAYiyB,MAAMmZ,OAlN1C,QAoNZ4C,GACF,EAAKpB,OAAO,KAAM,IAIlBr5C,KAAK64C,IAAI9S,UAAU/qB,SAAS81B,KACxBzR,EAAqBD,EAAiCp/B,KAAK64C,KACjEjV,EAAaI,IAAIhkC,KAAK64C,IAAKnZ,EAAgB6a,GAC3C3a,EAAqB5/B,KAAK64C,IAAKxZ,IAE/Bkb,O,6BAOa,SAAXA,IACA,EAAK7B,cAAgBN,IAAoBS,EAAIjgC,YAC/CigC,EAAIjgC,WAAW6S,YAAYotB,GAG7B,EAAK6B,iBACL,EAAKviC,QAAQgT,gBAAgB,oBAC7ByY,EAAaW,QAAQ,EAAKpsB,QAAS,EAAK1L,YAAYiyB,MAAM/4B,QAC1D,EAAKizC,QAAQY,UAVV,IAsB2C,EAWxCna,EAjCH,OACCwZ,EAAM74C,KAAKs5C,gBAYC1V,EAAaW,QAAQvkC,KAAKmY,QAASnY,KAAKyM,YAAYiyB,MAAMiZ,MAC9DpZ,mBAIdsa,EAAI9S,UAAUC,OAAOmI,IAIjB,iBAAkBh3B,SAAS2C,kBAC7B,MACG/U,OADH,WACaoS,SAAS4B,KAAKgF,WACxBrb,QAAQ,SAACyV,GAAD,OAAayrB,EAAaC,IAAI1rB,EAAS,YAAauoB,KAGjE1gC,KAAK24C,eAAL,OAAqC,EACrC34C,KAAK24C,eAAeL,KAAiB,EACrCt4C,KAAK24C,eAAeN,KAAiB,EAEjCr4C,KAAK64C,IAAI9S,UAAU/qB,SAAS81B,KACxBzR,EAAqBD,EAAiCyZ,GAE5DjV,EAAaI,IAAI6U,EAAKnZ,EAAgB6a,GACtC3a,EAAqBiZ,EAAKxZ,IAE1Bkb,IAGFv6C,KAAK04C,YAAc,M,+BAIE,OAAjB14C,KAAK44C,SACP54C,KAAK44C,QAAQ50B,mB,sCAOf,OAAO4L,QAAQ5vB,KAAK26C,c,sCAIpB,GAAI36C,KAAK64C,IACP,OAAO74C,KAAK64C,IAGd,IAAM1gC,EAAUhB,SAASuc,cAAc,OAIvC,OAHAvb,EAAQs+B,UAAYz2C,KAAKkgC,OAAO4W,SAEhC92C,KAAK64C,IAAM1gC,EAAQ4F,SAAS,GACrB/d,KAAK64C,M,mCAIZ,IAAMA,EAAM74C,KAAKs5C,gBACjBt5C,KAAK46C,kBAAkBpT,GAAe/F,QAvSX,iBAuS2CoX,GAAM74C,KAAK26C,YACjF9B,EAAI9S,UAAUC,OAAO8K,GAAiB3C,M,wCAGtBh2B,EAAS4V,GACzB,GAAgB,OAAZ5V,EAIJ,MAAuB,WAAnB,GAAO4V,IAAwB4R,EAAU5R,IACvCA,EAAQjC,SACViC,EAAUA,EAAQ,SAIhB/tB,KAAKkgC,OAAO7kB,KACV0S,EAAQnV,aAAeT,IACzBA,EAAQs+B,UAAY,GACpBt+B,EAAQ8W,YAAYlB,IAGtB5V,EAAQ0iC,YAAc9sB,EAAQ8sB,mBAM9B76C,KAAKkgC,OAAO7kB,MACVrb,KAAKkgC,OAAOiX,WACdppB,EAAUunB,GAAavnB,EAAS/tB,KAAKkgC,OAAOsV,UAAWx1C,KAAKkgC,OAAOuV,aAGrEt9B,EAAQs+B,UAAY1oB,GAEpB5V,EAAQ0iC,YAAc9sB,K,iCAcxB,OATY/tB,KAAKmY,QAAQ+mB,aAAa,yBAIL,mBAAtBl/B,KAAKkgC,OAAO6W,MACf/2C,KAAKkgC,OAAO6W,MAAM5xC,KAAKnF,KAAKmY,SAC5BnY,KAAKkgC,OAAO6W,S,uCAQLmD,GAAY,WAuB3B,gBAtBwB,CACtBn6B,UAAWm6B,EACXn4B,UAAW,CACTmE,OAAQlmB,KAAK86C,aACb/xB,KAAM,CACJK,SAAUppB,KAAKkgC,OAAO+W,mBAExB9uB,MAAO,CACLhQ,QAAS,IAAF,OAAMnY,KAAKyM,YAAY+qB,KAAvB,WAET/P,gBAAiB,CACftI,kBAAmBnf,KAAKkgC,OAAOgX,WAGnC/vB,SAAU,SAACnF,GACLA,EAAKiH,oBAAsBjH,EAAKjC,WAClC,EAAKg7B,6BAA6B/4B,IAGtCoF,SAAU,SAACpF,GAAD,OAAU,EAAK+4B,6BAA6B/4B,MAKnDhiB,KAAKkgC,OAAOkX,gB,0CAIC8C,GAClBl6C,KAAKs5C,gBAAgBvT,UAAUwB,IAA/B,UAAsCmP,GAAtC,YAAsDwD,M,mCAG3C,WACLh0B,EAAS,GAef,MAbkC,mBAAvBlmB,KAAKkgC,OAAOha,OACrBA,EAAOxO,GAAK,SAACsK,GAMX,OALAA,EAAKlF,QAAL,SACKkF,EAAKlF,SACJ,EAAKojB,OAAOha,OAAOlE,EAAKlF,QAAS,EAAK3E,UAAY,IAGjD6J,GAGTkE,EAAOA,OAASlmB,KAAKkgC,OAAOha,OAGvBA,I,sCAIP,OAA8B,IAA1BlmB,KAAKkgC,OAAOsP,UACPr4B,SAAS4B,KAGd4mB,EAAU3/B,KAAKkgC,OAAOsP,WACjBxvC,KAAKkgC,OAAOsP,UAGdhI,GAAe/F,QAAQzhC,KAAKkgC,OAAOsP,a,qCAG7BzvB,GACb,OAAOs3B,GAAct3B,EAAU+C,iB,sCAGjB,WACG9iB,KAAKkgC,OAAOqE,QAAQj1B,MAAM,KAElC5M,QAAQ,SAAC6hC,GAChB,IAKQyW,EAIAC,EATQ,UAAZ1W,EACFX,EAAaG,GAAG,EAAK5rB,QAAS,EAAK1L,YAAYiyB,MAAMqZ,MAAO,EAAK7X,OAAOjB,SAAU,SAACxb,GAAD,OAChF,EAAK+iB,OAAO/iB,KAjaC,WAmaN8gB,IACHyW,EACJzW,IAAY8T,GACR,EAAK5rC,YAAYiyB,MAAMwZ,WACvB,EAAKzrC,YAAYiyB,MAAMsZ,QACvBiD,EACJ1W,IAAY8T,GACR,EAAK5rC,YAAYiyB,MAAMyZ,WACvB,EAAK1rC,YAAYiyB,MAAMuZ,SAE7BrU,EAAaG,GAAG,EAAK5rB,QAAS6iC,EAAS,EAAK9a,OAAOjB,SAAU,SAACxb,GAAD,OAAW,EAAK21B,OAAO31B,KACpFmgB,EAAaG,GAAG,EAAK5rB,QAAS8iC,EAAU,EAAK/a,OAAOjB,SAAU,SAACxb,GAAD,OAC5D,EAAK41B,OAAO51B,QAKlBzjB,KAAKu5C,kBAAoB,WACnB,EAAKphC,SACP,EAAKiS,QAITwZ,EAAaG,GACX/jC,KAAKmY,QAAQ2tB,QAAb,WAtcmB,UAucnB,gBACA9lC,KAAKu5C,mBAGHv5C,KAAKkgC,OAAOjB,SACdj/B,KAAKkgC,OAAL,SACKlgC,KAAKkgC,QADV,IAEEqE,QAAS,SACTtF,SAAU,KAGZj/B,KAAKk7C,c,kCAKP,IAAMC,EAAY,GAAOn7C,KAAKmY,QAAQ+mB,aAAa,yBAE/Cl/B,KAAKmY,QAAQ+mB,aAAa,UAA0B,WAAdic,IACxCn7C,KAAKmY,QAAQ+S,aAAa,sBAAuBlrB,KAAKmY,QAAQ+mB,aAAa,UAAY,IAEvFl/B,KAAKmY,QAAQ+S,aAAa,QAAS,O,6BAIhCzH,EAAOu1B,GACZ,IAAMD,EAAU/4C,KAAKyM,YAAYu4B,UACjCgU,EAAUA,GAAW7X,EAAKE,QAAQ5d,EAAMpiB,OAAQ03C,MAG9CC,EAAU,IAAIh5C,KAAKyM,YAAYgX,EAAMpiB,OAAQrB,KAAKi5C,sBAClD9X,EAAKC,QAAQ3d,EAAMpiB,OAAQ03C,EAASC,IAGlCv1B,IACFu1B,EAAQL,eAA8B,YAAfl1B,EAAMrf,KAAqBk0C,GAAgBD,KAAiB,GAInFW,EAAQM,gBAAgBvT,UAAU/qB,SAASmzB,KAC3C6K,EAAQN,cAAgBN,GAExBY,EAAQN,YAAcN,IAIxB/L,aAAa2M,EAAQP,UAErBO,EAAQN,YAAcN,GAEjBY,EAAQ9Y,OAAO8W,OAAUgC,EAAQ9Y,OAAO8W,MAAM7H,KAKnD6J,EAAQP,SAAW1gC,WAAW,WACxBihC,EAAQN,cAAgBN,IAC1BY,EAAQ7J,QAET6J,EAAQ9Y,OAAO8W,MAAM7H,MARtB6J,EAAQ7J,U,6BAWL1rB,EAAOu1B,GACZ,IAAMD,EAAU/4C,KAAKyM,YAAYu4B,UACjCgU,EAAUA,GAAW7X,EAAKE,QAAQ5d,EAAMpiB,OAAQ03C,MAG9CC,EAAU,IAAIh5C,KAAKyM,YAAYgX,EAAMpiB,OAAQrB,KAAKi5C,sBAClD9X,EAAKC,QAAQ3d,EAAMpiB,OAAQ03C,EAASC,IAGlCv1B,IACFu1B,EAAQL,eAA8B,aAAfl1B,EAAMrf,KAAsBk0C,GAAgBD,KAAiB,GAGlFW,EAAQG,yBAIZ9M,aAAa2M,EAAQP,UAErBO,EAAQN,YAphBY,MAshBfM,EAAQ9Y,OAAO8W,OAAUgC,EAAQ9Y,OAAO8W,MAAM5sB,KAKnD4uB,EAAQP,SAAW1gC,WAAW,WA3hBV,QA4hBdihC,EAAQN,aACVM,EAAQ5uB,QAET4uB,EAAQ9Y,OAAO8W,MAAM5sB,MARtB4uB,EAAQ5uB,U,6CAYV,IAAK,IAAMma,KAAWvkC,KAAK24C,eACzB,GAAI34C,KAAK24C,eAAepU,GACtB,OAAO,EAIX,OAAO,I,iCAGErE,GACT,IAAMkb,EAAiBvU,GAAYG,kBAAkBhnC,KAAKmY,SAuC1D,OArCAjV,OAAO2B,KAAKu2C,GAAgB14C,QAAQ,SAAC24C,IACc,IAA7CzE,GAAsBllC,QAAQ2pC,WACzBD,EAAeC,KAItBnb,GAAsC,WAA5B,GAAOA,EAAOsP,YAA0BtP,EAAOsP,UAAU1jB,SACrEoU,EAAOsP,UAAYtP,EAAOsP,UAAU,IASV,iBAN5BtP,EAAS,YACJlgC,KAAKyM,YAAYy7B,SACjBkT,GACmB,WAAlB,GAAOlb,IAAuBA,EAASA,EAAS,KAGpC8W,QAChB9W,EAAO8W,MAAQ,CACb7H,KAAMjP,EAAO8W,MACb5sB,KAAM8V,EAAO8W,QAIW,iBAAjB9W,EAAO6W,QAChB7W,EAAO6W,MAAQ7W,EAAO6W,MAAM9zC,YAGA,iBAAnBi9B,EAAOnS,UAChBmS,EAAOnS,QAAUmS,EAAOnS,QAAQ9qB,YAGlC+8B,EAAgBxI,GAAM0I,EAAQlgC,KAAKyM,YAAY+7B,aAE3CtI,EAAOiX,WACTjX,EAAO4W,SAAWxB,GAAapV,EAAO4W,SAAU5W,EAAOsV,UAAWtV,EAAOuV,aAGpEvV,I,2CAIP,IAAMA,EAAS,GAEf,GAAIlgC,KAAKkgC,OACP,IAAK,IAAMl/B,KAAOhB,KAAKkgC,OACjBlgC,KAAKyM,YAAYy7B,QAAQlnC,KAAShB,KAAKkgC,OAAOl/B,KAChDk/B,EAAOl/B,GAAOhB,KAAKkgC,OAAOl/B,IAKhC,OAAOk/B,I,uCAIP,IAAM2Y,EAAM74C,KAAKs5C,gBACXgC,EAAWzC,EAAI3Z,aAAa,SAASntB,MAAM4kC,IAChC,OAAb2E,GAAuC,EAAlBA,EAAS1yC,QAChC0yC,EAASn7B,IAAI,SAACo7B,GAAD,OAAWA,EAAMh1B,SAAQ7jB,QAAQ,SAAC84C,GAAD,OAAY3C,EAAI9S,UAAUC,OAAOwV,O,mDAItDC,GAC3B,IAAMC,EAAiBD,EAAWr/B,SAClCpc,KAAK64C,IAAM6C,EAAez8B,OAC1Bjf,KAAK06C,iBACL16C,KAAKo6C,oBAAoBp6C,KAAKm6C,eAAesB,EAAW17B,c,uCAIxD,IAAM84B,EAAM74C,KAAKs5C,gBACXqC,EAAsB37C,KAAKkgC,OAAO2W,UACA,OAApCgC,EAAI3Z,aAAa,iBAIrB2Z,EAAI9S,UAAUC,OAAO8K,IACrB9wC,KAAKkgC,OAAO2W,WAAY,EACxB72C,KAAKoqB,OACLpqB,KAAKmvC,OACLnvC,KAAKkgC,OAAO2W,UAAY8E,Q,kCAiCtBl5C,GAAIm+B,IASNn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQ+gB,GAAQnS,gBACrB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAcgoC,GACzB91C,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACNoS,GAAQnS,kBAIJmS,U,w1DC3wBf,IA+JQpS,GA/JF3O,GAAO,UAEPwN,GAAW,aACXC,GAAY,IAAH,OAAOD,IAChB0R,GAAe,aACfC,GAAqB,IAAIhrC,OAAJ,iBAAqB+qC,GAArB,QAAyC,KAE9DxO,GAAU,SACXqQ,GAAQrQ,SADA,IAEXnoB,UAAW,QACXwkB,QAAS,QACTxW,QAAS,GACT+oB,SACE,gJAMEtO,GAAc,SACf+P,GAAQ/P,aADI,IAEfza,QAAS,8BAGL2Q,GAAQ,CACZiZ,KAAM,OAAF,OAAS1S,IACbt/B,OAAQ,SAAF,OAAWs/B,IACjB2S,KAAM,OAAF,OAAS3S,IACb4S,MAAO,QAAF,OAAU5S,IACf6S,SAAU,WAAF,OAAa7S,IACrB8S,MAAO,QAAF,OAAU9S,IACf+S,QAAS,UAAF,OAAY/S,IACnBgT,SAAU,WAAF,OAAahT,IACrBiT,WAAY,aAAF,OAAejT,IACzBkT,WAAY,aAAF,OAAelT,KAerB2W,G,kPAAgBrD,I,uNAwEGrY,GACrB,OAAOlgC,KAAKulC,KAAK,WACf,IAAIvjB,EAAOmf,EAAKE,QAAQrhC,KAAMglC,IACxBsF,EAA4B,WAAlB,GAAOpK,GAAsBA,EAAS,KAEtD,IAAKle,IAAQ,eAAexN,KAAK0rB,MAI5Ble,IACHA,EAAO,IAAI45B,EAAQ57C,KAAMsqC,GACzBnJ,EAAKC,QAAQphC,KAAMglC,GAAUhjB,IAGT,iBAAXke,GAAqB,CAC9B,QAA4B,IAAjBle,EAAKke,GACd,MAAM,IAAIx3B,UAAJ,2BAAkCw3B,EAAlC,MAGRle,EAAKke,U,kCAKQ/nB,GACjB,OAAOgpB,EAAKE,QAAQlpB,EAAS6sB,M,8BA7F7B,MApDY,iB,8BAwDZ,OAAOkD,K,2BAIP,OAAO1Q,K,+BAIP,OAAOwN,K,4BAIP,OAAOtG,K,gCAIP,OAAOuG,K,kCAIP,OAAOuD,O,yCAMP,OAAOxoC,KAAK26C,YAAc36C,KAAK67C,gB,mCAI/B,IAAMhD,EAAM74C,KAAKs5C,gBAGjBt5C,KAAK46C,kBAAkBpT,GAAe/F,QAlDnB,kBAkD2CoX,GAAM74C,KAAK26C,YACzE,IAAI5sB,EAAU/tB,KAAK67C,cACI,mBAAZ9tB,IACTA,EAAUA,EAAQ5oB,KAAKnF,KAAKmY,UAG9BnY,KAAK46C,kBAAkBpT,GAAe/F,QAvDjB,gBAuD2CoX,GAAM9qB,GAEtE8qB,EAAI9S,UAAUC,OA7DM,OACA,U,0CA+DFkU,GAClBl6C,KAAKs5C,gBAAgBvT,UAAUwB,IAA/B,UAAsCmP,GAAtC,YAAsDwD,M,oCAMtD,OAAOl6C,KAAKmY,QAAQ+mB,aAAa,iBAAmBl/B,KAAKkgC,OAAOnS,U,uCAIhE,IAAM8qB,EAAM74C,KAAKs5C,gBACXgC,EAAWzC,EAAI3Z,aAAa,SAASntB,MAAM4kC,IAChC,OAAb2E,GAAuC,EAAlBA,EAAS1yC,QAChC0yC,EAASn7B,IAAI,SAACo7B,GAAD,OAAWA,EAAMh1B,SAAQ7jB,QAAQ,SAAC84C,GAAD,OAAY3C,EAAI9S,UAAUC,OAAOwV,U,kCAmC/E/4C,GAAIm+B,IAQNn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQokB,GAAQxV,gBACrB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAcqrC,GACzBn5C,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACNyV,GAAQxV,kBAIJwV,U,ujCCjKf,IAAMpkB,GAAO,YAEPwN,GAAW,eACXC,GAAY,IAAH,OAAOD,IAGhBkD,GAAU,CACdhiB,OAAQ,GACR9T,OAAQ,OACR/Q,OAAQ,IAGJmnC,GAAc,CAClBtiB,OAAQ,SACR9T,OAAQ,SACR/Q,OAAQ,oBAGJy6C,GAAiB,WAAH,OAAc7W,IAC5B8W,GAAe,SAAH,OAAY9W,IACxBqE,GAAsB,OAAH,OAAUrE,IAAV,OAhBJ,aAkBf+W,GAA2B,gBAC3BzS,GAAoB,SAIpB0S,GAAqB,YAErBC,GAAsB,mBAKtBC,GAAkB,WAQlBC,G,WACJ,WAAYjkC,EAAS+nB,GAAQ,Y,4FAAA,SAC3BlgC,KAAKslC,SAAWntB,EAChBnY,KAAKq8C,eAAqC,SAApBlkC,EAAQo0B,QAAqB/oC,OAAS2U,EAC5DnY,KAAKsqC,QAAUtqC,KAAKuqC,WAAWrK,GAC/BlgC,KAAK8uC,UACH,UAAG9uC,KAAKsqC,QAAQjpC,OAAhB,YAA0B46C,GAA1B,eACGj8C,KAAKsqC,QAAQjpC,OADhB,YAC0B66C,GAD1B,eAEGl8C,KAAKsqC,QAAQjpC,OAFhB,aAE2B26C,IAC7Bh8C,KAAKs8C,SAAW,GAChBt8C,KAAKu8C,SAAW,GAChBv8C,KAAKw8C,cAAgB,KACrBx8C,KAAKy8C,cAAgB,EAErB7Y,EAAaG,GAAG/jC,KAAKq8C,eAAgBN,GAAc,SAACt4B,GAAD,OAAW,EAAKi5B,SAASj5B,KAE5EzjB,KAAK28C,UACL38C,KAAK08C,WAELvb,EAAKC,QAAQjpB,EAAS6sB,GAAUhlC,M,8DAyMXkgC,GACrB,OAAOlgC,KAAKulC,KAAK,WACf,IAAIvjB,EAAOmf,EAAKE,QAAQrhC,KAAMglC,IACxBsF,EAA4B,WAAlB,GAAOpK,IAAuBA,EAG5Cle,EADGA,GACI,IAAIo6B,EAAUp8C,KAAMsqC,GAG7B,GAAsB,iBAAXpK,EAAqB,CAC9B,QAA4B,IAAjBle,EAAKke,GACd,MAAM,IAAIx3B,UAAJ,2BAAkCw3B,EAAlC,MAGRle,EAAKke,U,kCAKQ/nB,GACjB,OAAOgpB,EAAKE,QAAQlpB,EAAS6sB,M,8BAvN7B,MAlEY,iB,8BAsEZ,OAAOkD,O,mCAKC,WACF0U,EACJ58C,KAAKq8C,iBAAmBr8C,KAAKq8C,eAAe74C,OA7C5B,SA6CqD24C,GAEjEU,EAAuC,SAAxB78C,KAAKsqC,QAAQl4B,OAAoBwqC,EAAa58C,KAAKsqC,QAAQl4B,OAE1E0qC,EAAaD,IAAiBV,GAAkBn8C,KAAK+8C,gBAAkB,EAE7E/8C,KAAKs8C,SAAW,GAChBt8C,KAAKu8C,SAAW,GAEhBv8C,KAAKy8C,cAAgBz8C,KAAKg9C,mBAEVxV,GAAe14B,KAAK9O,KAAK8uC,WAGtC3uB,IAAI,SAAChI,GACJ,IAAI9W,EACE47C,EAAiBlc,EAAuB5oB,GAM9C,GAJI8kC,IACF57C,EAASmmC,GAAe/F,QAAQwb,IAG9B57C,EAAQ,CACV,IAAM67C,EAAY77C,EAAO8b,wBACzB,GAAI+/B,EAAUhhC,OAASghC,EAAUjhC,OAC/B,MAAO,CAAC4qB,GAAYgW,GAAcx7C,GAAQ6b,IAAM4/B,EAAYG,GAIhE,OAAO,OAER/xC,OAAO,SAACiyC,GAAD,OAAUA,IACjB78B,KAAK,SAAClY,EAAGmY,GAAJ,OAAUnY,EAAE,GAAKmY,EAAE,KACxB7d,QAAQ,SAACy6C,GACR,EAAKb,SAASp2C,KAAKi3C,EAAK,IACxB,EAAKZ,SAASr2C,KAAKi3C,EAAK,Q,gCAK5Bhc,EAAKG,WAAWthC,KAAKslC,SAAUN,IAC/BpB,EAAaC,IAAI7jC,KAAKq8C,eAAgBpX,IAEtCjlC,KAAKslC,SAAW,KAChBtlC,KAAKq8C,eAAiB,KACtBr8C,KAAKsqC,QAAU,KACftqC,KAAK8uC,UAAY,KACjB9uC,KAAKs8C,SAAW,KAChBt8C,KAAKu8C,SAAW,KAChBv8C,KAAKw8C,cAAgB,KACrBx8C,KAAKy8C,cAAgB,O,iCAKZvc,GAMT,IACQpP,EAWR,MAZ6B,iBAL7BoP,EAAS,SACJgI,IACmB,WAAlB,GAAOhI,IAAuBA,EAASA,EAAS,KAGpC7+B,QAAuBs+B,EAAUO,EAAO7+B,WAClDyvB,EAAOoP,EAAO7+B,OAAdyvB,MAEJA,EAAK+N,EAAOrH,IACZ0I,EAAO7+B,OAAOyvB,GAAKA,GAGrBoP,EAAO7+B,OAAP,WAAoByvB,IAGtBkP,EAAgBxI,GAAM0I,EAAQsI,IAEvBtI,I,sCAIP,OAAOlgC,KAAKq8C,iBAAmB74C,OAC3BxD,KAAKq8C,eAAee,YACpBp9C,KAAKq8C,eAAej/B,Y,yCAIxB,OACEpd,KAAKq8C,eAAenJ,cACpB7vC,KAAK+M,IAAI+G,SAAS4B,KAAKm6B,aAAc/7B,SAAS2C,gBAAgBo5B,gB,yCAKhE,OAAOlzC,KAAKq8C,iBAAmB74C,OAC3BA,OAAOkc,YACP1f,KAAKq8C,eAAel/B,wBAAwBlB,S,iCAIhD,IAAMmB,EAAYpd,KAAK+8C,gBAAkB/8C,KAAKsqC,QAAQpkB,OAChDgtB,EAAelzC,KAAKg9C,mBACpBK,EAAYr9C,KAAKsqC,QAAQpkB,OAASgtB,EAAelzC,KAAKs9C,mBAM5D,GAJIt9C,KAAKy8C,gBAAkBvJ,GACzBlzC,KAAK28C,UAGUU,GAAbjgC,EAAJ,CACE,IAAM/b,EAASrB,KAAKu8C,SAASv8C,KAAKu8C,SAAS3zC,OAAS,GAEhD5I,KAAKw8C,gBAAkBn7C,GACzBrB,KAAKu9C,UAAUl8C,OAJnB,CAUA,GAAIrB,KAAKw8C,eAAiBp/B,EAAYpd,KAAKs8C,SAAS,IAAyB,EAAnBt8C,KAAKs8C,SAAS,GAGtE,OAFAt8C,KAAKw8C,cAAgB,UACrBx8C,KAAKw9C,SAIP,IAAK,IAAIhvC,EAAIxO,KAAKs8C,SAAS1zC,OAAQ4F,KAAO,CAEtCxO,KAAKw8C,gBAAkBx8C,KAAKu8C,SAAS/tC,IACrC4O,GAAapd,KAAKs8C,SAAS9tC,UACM,IAAzBxO,KAAKs8C,SAAS9tC,EAAI,IAAsB4O,EAAYpd,KAAKs8C,SAAS9tC,EAAI,KAG9ExO,KAAKu9C,UAAUv9C,KAAKu8C,SAAS/tC,Q,gCAKzBnN,GACRrB,KAAKw8C,cAAgBn7C,EAErBrB,KAAKw9C,SAEL,IAAMC,EAAUz9C,KAAK8uC,UAClBx/B,MAAM,KACN6Q,IAAI,SAAC8e,GAAD,gBAAiBA,EAAjB,yBAA0C59B,EAA1C,cAAsD49B,EAAtD,kBAAwE59B,EAAxE,QAEDq8C,EAAOlW,GAAe/F,QAAQgc,EAAQjuC,KAAK,MAE7CkuC,EAAK3X,UAAU/qB,SAASghC,KAC1BxU,GAAe/F,QA/LY,mBAiMzBic,EAAK5X,QAlMa,cAmMlBC,UAAUwB,IAAIgC,IAEhBmU,EAAK3X,UAAUwB,IAAIgC,MAGnBmU,EAAK3X,UAAUwB,IAAIgC,IAEnB/B,GAAeG,QAAQ+V,EA9MG,qBA8M4Bh7C,QAAQ,SAACi7C,GAG7DnW,GAAeM,KACb6V,EADF,UAEK1B,GAFL,aAE4BC,KAC1Bx5C,QAAQ,SAACy6C,GAAD,OAAUA,EAAKpX,UAAUwB,IAAIgC,MAGvC/B,GAAeM,KAAK6V,EArND,aAqNgCj7C,QAAQ,SAACk7C,GAC1DpW,GAAezpB,SAAS6/B,EAAS3B,IAAoBv5C,QAAQ,SAACy6C,GAAD,OAC3DA,EAAKpX,UAAUwB,IAAIgC,WAM3B3F,EAAaW,QAAQvkC,KAAKq8C,eAAgBP,GAAgB,CACxDjP,cAAexrC,M,+BAKjBmmC,GAAe14B,KAAK9O,KAAK8uC,WACtB5jC,OAAO,SAACiP,GAAD,OAAUA,EAAK4rB,UAAU/qB,SAASuuB,MACzC7mC,QAAQ,SAACyX,GAAD,OAAUA,EAAK4rB,UAAUC,OAAOuD,W,kCAmC/C3F,EAAaG,GAAGvgC,OAAQ8lC,GAAqB,WAC3C9B,GAAe14B,KA5QS,uBA4QepM,QACrC,SAACm7C,GAAD,OAAS,IAAIzB,GAAUyB,EAAKhX,GAAYG,kBAAkB6W,QAI9D,IASQ1X,GATF1jC,GAAIm+B,IAQNn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQ4kB,GAAUhW,gBACvB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAc6rC,GACzB35C,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACNiW,GAAUhW,kBAINgW,U,uKC5Tf,IAEMpX,GAAW,SACXC,GAAY,IAAH,OAAOD,IAGhBiJ,GAAa,OAAH,OAAUhJ,IACpBiJ,GAAe,SAAH,OAAYjJ,IACxB8I,GAAa,OAAH,OAAU9I,IACpB+I,GAAc,QAAH,OAAW/I,IACtBG,GAAuB,QAAH,OAAWH,IAAX,OANL,aASfsE,GAAoB,SAOpBuU,GAAkB,UAClBC,GAAqB,wBAWrBC,G,WACJ,WAAY7lC,I,4FAAS,SACnBnY,KAAKslC,SAAWntB,EAEhBgpB,EAAKC,QAAQphC,KAAKslC,SAAUN,GAAUhlC,M,8DAiJjBkgC,GACrB,OAAOlgC,KAAKulC,KAAK,WACf,IAAMvjB,EAAOmf,EAAKE,QAAQrhC,KAAMglC,KAAa,IAAIgZ,EAAIh+C,MAErD,GAAsB,iBAAXkgC,EAAqB,CAC9B,QAA4B,IAAjBle,EAAKke,GACd,MAAM,IAAIx3B,UAAJ,2BAAkCw3B,EAAlC,MAGRle,EAAKke,U,kCAKQ/nB,GACjB,OAAOgpB,EAAKE,QAAQlpB,EAAS6sB,M,8BA1J7B,MAzCY,mB,gCA8CP,IAWC3jC,EACA48C,EAGEC,EAINnW,EAIEoW,EAkBE5D,EAzCD,OAEFv6C,KAAKslC,SAAS1sB,YACb5Y,KAAKslC,SAAS1sB,WAAWP,WAAaoC,KAAKotB,cAC3C7nC,KAAKslC,SAASS,UAAU/qB,SAASuuB,KACnCvpC,KAAKslC,SAASS,UAAU/qB,SAtCF,cA4ClB3Z,EAAS89B,EAAuBn/B,KAAKslC,WACrC2Y,EAAcj+C,KAAKslC,SAASQ,QAxCN,wBA2CpBoY,EACqB,OAAzBD,EAAYtlC,UAA8C,OAAzBslC,EAAYtlC,SACzColC,GACAD,GAEN/V,GADAA,EAAWP,GAAe14B,KAAKovC,EAAcD,IACzBlW,EAASn/B,OAAS,IAGpCu1C,EAAY,KAEZpW,IACFoW,EAAYva,EAAaW,QAAQwD,EAAUkG,GAAY,CACrDpB,cAAe7sC,KAAKslC,YAIN1B,EAAaW,QAAQvkC,KAAKslC,SAAUyI,GAAY,CAChElB,cAAe9E,IAGHxJ,kBAAmC,OAAd4f,GAAsBA,EAAU5f,mBAInEv+B,KAAKu9C,UAAUv9C,KAAKslC,SAAU2Y,GAExB1D,EAAW,WACf3W,EAAaW,QAAQwD,EAAUmG,GAAc,CAC3CrB,cAAe,EAAKvH,WAEtB1B,EAAaW,QAAQ,EAAKe,SAAU0I,GAAa,CAC/CnB,cAAe9E,KAIf1mC,EACFrB,KAAKu9C,UAAUl8C,EAAQA,EAAOuX,WAAY2hC,GAE1CA,Q,gCAKFpZ,EAAKG,WAAWthC,KAAKslC,SAAUN,IAC/BhlC,KAAKslC,SAAW,O,gCAKRntB,EAASq3B,EAAW9rB,GASX,SAAX62B,IAAW,OAAM,EAAK6D,oBAAoBjmC,EAASkmC,EAAQ36B,GAT3B,IAY9B2b,EAZ8B,OAMhCgf,IAJJ7O,GAAqC,OAAvBA,EAAU72B,UAA4C,OAAvB62B,EAAU72B,SAEnD6uB,GAAezpB,SAASyxB,EAAWsO,IADnCtW,GAAe14B,KAAKivC,GAAoBvO,IAGhB,GACxBO,EAAkBrsB,GAAY26B,GAAUA,EAAOtY,UAAU/qB,SAvG3C,QA2GhBqjC,GAAUtO,GACN1Q,EAAqBD,EAAiCif,GAC5DA,EAAOtY,UAAUC,OA5GC,QA8GlBpC,EAAaI,IAAIqa,EAAQ3e,EAAgB6a,GACzC3a,EAAqBye,EAAQhf,IAE7Bkb,M,0CAIgBpiC,EAASkmC,EAAQ36B,GACnC,IAGQ46B,EAHJD,IACFA,EAAOtY,UAAUC,OAAOuD,KAElB+U,EAAgB9W,GAAe/F,QAjHJ,kCAmH/B4c,EAAOzlC,cAIP0lC,EAAcvY,UAAUC,OAAOuD,IAGG,QAAhC8U,EAAOnf,aAAa,SACtBmf,EAAOnzB,aAAa,iBAAiB,IAIzC/S,EAAQ4tB,UAAUwB,IAAIgC,IACe,QAAjCpxB,EAAQ+mB,aAAa,SACvB/mB,EAAQ+S,aAAa,iBAAiB,GAGxCyV,EAAOxoB,GAEHA,EAAQ4tB,UAAU/qB,SA/IF,SAgJlB7C,EAAQ4tB,UAAUwB,IA/IA,QAkJhBpvB,EAAQS,YAAcT,EAAQS,WAAWmtB,UAAU/qB,SAtJ1B,mBAuJH7C,EAAQ2tB,QAjJZ,cAoJlB0B,GAAe14B,KA/IU,oBA+IqBpM,QAAQ,SAAC67C,GAAD,OACpDA,EAASxY,UAAUwB,IAAIgC,MAI3BpxB,EAAQ+S,aAAa,iBAAiB,IAGpCxH,GACFA,S,kCA+BNkgB,EAAaG,GAAG5sB,SAAUiuB,GAxLG,kEAwLyC,SAAU3hB,GAC9EA,EAAM6a,kBAEO6C,EAAKE,QAAQrhC,KAAMglC,KAAa,IAAIgZ,GAAIh+C,OAChDmvC,SAGP,IAUQhJ,GAVF1jC,GAAIm+B,IASNn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAF,IAC3BjV,GAAEiV,GAAF,IAAasmC,GAAI5X,gBACjB3jC,GAAEiV,GAAF,IAAWnH,YAAcytC,GACzBv7C,GAAEiV,GAAF,IAAW2uB,WAAa,WAEtB,OADA5jC,GAAEiV,GAAF,IAAayuB,GACN6X,GAAI5X,kBAIA4X,U,gjCCxOf,IAkMQ7X,GAlMF3O,GAAO,QAEPwN,GAAW,WACXC,GAAY,IAAH,OAAOD,IAEhByL,GAAsB,gBAAH,OAAmBxL,IACtCgJ,GAAa,OAAH,OAAUhJ,IACpBiJ,GAAe,SAAH,OAAYjJ,IACxB8I,GAAa,OAAH,OAAU9I,IACpB+I,GAAc,QAAH,OAAW/I,IAItBkJ,GAAkB,OAClBqQ,GAAqB,UAErBhW,GAAc,CAClBqO,UAAW,UACX4H,SAAU,UACVzH,MAAO,UAGH9O,GAAU,CACd2O,WAAW,EACX4H,UAAU,EACVzH,MAAO,KAWH0H,G,WACJ,WAAYvmC,EAAS+nB,I,4FAAQ,SAC3BlgC,KAAKslC,SAAWntB,EAChBnY,KAAKsqC,QAAUtqC,KAAKuqC,WAAWrK,GAC/BlgC,KAAKy4C,SAAW,KAChBz4C,KAAK84C,gBACL3X,EAAKC,QAAQjpB,EAAS6sB,GAAUhlC,M,8DAsHXkgC,GACrB,OAAOlgC,KAAKulC,KAAK,WACf,IAAIvjB,EAAOmf,EAAKE,QAAQrhC,KAAMglC,IACxBsF,EAA4B,WAAlB,GAAOpK,IAAuBA,EAG5Cle,EADGA,GACI,IAAI08B,EAAM1+C,KAAMsqC,GAGzB,GAAsB,iBAAXpK,EAAqB,CAC9B,QAA4B,IAAjBle,EAAKke,GACd,MAAM,IAAIx3B,UAAJ,2BAAkCw3B,EAAlC,MAGRle,EAAKke,GAAQlgC,W,kCAKAmY,GACjB,OAAOgpB,EAAKE,QAAQlpB,EAAS6sB,M,8BApI7B,MA/CY,iB,kCAmDZ,OAAOwD,K,8BAIP,OAAON,O,gCAKF,IAWCqS,EAiBElb,EA5BH,OACauE,EAAaW,QAAQvkC,KAAKslC,SAAUyI,IAExCxP,mBAIVv+B,KAAKsqC,QAAQuM,WACf72C,KAAKslC,SAASS,UAAUwB,IA1DN,QA6DdgT,EAAW,WACf,EAAKjV,SAASS,UAAUC,OAAOwY,IAC/B,EAAKlZ,SAASS,UAAUwB,IAAI4G,IAE5BvK,EAAaW,QAAQ,EAAKe,SAAU0I,IAEhC,EAAK1D,QAAQmU,WACf,EAAKhG,SAAW1gC,WAAW,WACzB,EAAKqS,QACJ,EAAKkgB,QAAQ0M,SAIpBh3C,KAAKslC,SAASS,UAAUC,OAzEJ,QA0EpBrF,EAAO3gC,KAAKslC,UACZtlC,KAAKslC,SAASS,UAAUwB,IAAIiX,IACxBx+C,KAAKsqC,QAAQuM,WACTxX,EAAqBD,EAAiCp/B,KAAKslC,UAEjE1B,EAAaI,IAAIhkC,KAAKslC,SAAU5F,EAAgB6a,GAChD3a,EAAqB5/B,KAAKslC,SAAUjG,IAEpCkb,O,6BAIG,IAWCA,EAOElb,EAlBH,OACAr/B,KAAKslC,SAASS,UAAU/qB,SAASmzB,MAIpBvK,EAAaW,QAAQvkC,KAAKslC,SAAU2I,IAExC1P,mBAIRgc,EAAW,WACf,EAAKjV,SAASS,UAAUwB,IAlGN,QAmGlB3D,EAAaW,QAAQ,EAAKe,SAAU4I,KAGtCluC,KAAKslC,SAASS,UAAUC,OAAOmI,IAC3BnuC,KAAKsqC,QAAQuM,WACTxX,EAAqBD,EAAiCp/B,KAAKslC,UAEjE1B,EAAaI,IAAIhkC,KAAKslC,SAAU5F,EAAgB6a,GAChD3a,EAAqB5/B,KAAKslC,SAAUjG,IAEpCkb,Q,gCAKFlO,aAAarsC,KAAKy4C,UAClBz4C,KAAKy4C,SAAW,KAEZz4C,KAAKslC,SAASS,UAAU/qB,SAASmzB,KACnCnuC,KAAKslC,SAASS,UAAUC,OAAOmI,IAGjCvK,EAAaC,IAAI7jC,KAAKslC,SAAUmL,IAChCtP,EAAKG,WAAWthC,KAAKslC,SAAUN,IAE/BhlC,KAAKslC,SAAW,KAChBtlC,KAAKsqC,QAAU,O,iCAKNpK,GAST,OARAA,EAAS,YACJgI,IACArB,GAAYG,kBAAkBhnC,KAAKslC,WAChB,WAAlB,GAAOpF,IAAuBA,EAASA,EAAS,IAGtDF,EAAgBxI,GAAM0I,EAAQlgC,KAAKyM,YAAY+7B,aAExCtI,I,sCAGO,WACd0D,EAAaG,GAAG/jC,KAAKslC,SAAUmL,GA/HL,yBA+HiD,kBAAM,EAAKrmB,c,kCA6BpF3nB,GAAIm+B,IASNn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQknB,GAAMtY,gBACnB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAcmuC,GACzBj8C,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACNuY,GAAMtY,kBCjHO,SAAlBpG,GAAmBC,EAAeC,EAAQC,GAC9Cj9B,OAAO2B,KAAKs7B,GAAaz9B,QAAQ,SAAC0V,GAChC,IArGYsE,EAgFGA,EAqBT0jB,EAAgBD,EAAY/nB,GAC5BzW,EAAQu+B,EAAO9nB,GACfioB,EAAY1+B,KAvBH+a,EAuBsB/a,GAvBT,IAAM+a,GAAKrE,SAuBO,UAtG5CqE,OADUA,EAuGqD/a,GArGjE,UAAU+a,GAGL,GAAGzZ,SACPkC,KAAKuX,GACL3K,MAAM,eAAe,GACrByW,cAiGD,IAAK,IAAI7c,OAAOy0B,GAAe5rB,KAAK6rB,GAClC,MAAM,IAAIvC,MACR,UAAGmC,EAAcnd,cAAjB,wBACa1K,EADb,4BACyCioB,EADzC,mCAEwBD,EAFxB,SAsDU,SAAZQ,KAAkB,IACdC,EAAWr9B,OAAXq9B,OAER,OAAIA,IAAW1pB,SAAS4B,KAAK6iB,aAAa,kBACjCiF,EAGF,KAOO,SAAV1oB,GAAWvU,GACf,OAAOuT,SAASuc,cAAc9vB,GDwCjB86C,IEtNP5d,GACFhQ,GFqNS4tB,MEvNT1d,IACEF,GAAY,GACdhQ,GAAK,EACF,CACLvpB,IADK,SACD4Q,EAASnX,EAAKghB,QACY,IAAjB7J,EAAQnX,KACjBmX,EAAQnX,GAAO,CACbA,MACA8vB,OAEFA,MAGFgQ,GAAU3oB,EAAQnX,GAAK8vB,IAAM9O,GAE/B7Z,IAZK,SAYDgQ,EAASnX,GACX,IAAKmX,QAAmC,IAAjBA,EAAQnX,GAC7B,OAAO,KAGT,IAAMigC,EAAgB9oB,EAAQnX,GAC9B,OAAIigC,EAAcjgC,MAAQA,EACjB8/B,GAAUG,EAAcnQ,IAG1B,MAEToQ,OAxBK,SAwBE/oB,EAASnX,GACd,IAIMigC,OAJsB,IAAjB9oB,EAAQnX,KAIbigC,EAAgB9oB,EAAQnX,IACZA,MAAQA,WACjB8/B,GAAUG,EAAcnQ,WACxB3Y,EAAQnX,OAkBRmgC,GAZF,CACXC,QADW,SACHhlB,EAAUpb,EAAKghB,GACrBgf,GAAQz5B,IAAI6U,EAAUpb,EAAKghB,IAE7Bqf,QAJW,SAIHjlB,EAAUpb,GAChB,OAAOggC,GAAQ74B,IAAIiU,EAAUpb,IAE/BsgC,WAPW,SAOAllB,EAAUpb,GACnBggC,GAAQE,OAAO9kB,EAAUpb,K,yqBCvD7B,SAAS0lC,GAAcra,GACrB,MAAY,SAARA,GAIQ,UAARA,IAIAA,IAAQsa,OAAOta,GAAKppB,WACf0jC,OAAOta,GAGJ,KAARA,GAAsB,SAARA,EACT,KAGFA,GAGT,SAASua,GAAiB5lC,GACxB,OAAOA,EAAI4L,QAAQ,SAAU,SAAC0uB,GAAD,iBAAaA,EAAI9S,iBAGhD,ICfQ3T,GAIAsD,GDoFO0uB,GAzEK,CAClBC,iBADkB,SACD3uB,EAASnX,EAAKW,GAC7BwW,EAAQ+S,aAAR,eAA6B0b,GAAiB5lC,IAAQW,IAGxDolC,oBALkB,SAKE5uB,EAASnX,GAC3BmX,EAAQgT,gBAAR,eAAgCyb,GAAiB5lC,MAGnDgmC,kBATkB,SASA7uB,GAChB,IAAKA,EACH,MAAO,GAGT,IAAMmS,EAAa,MACdnS,EAAQ8uB,SAOb,OAJA/jC,OAAO2B,KAAKylB,GAAY5nB,QAAQ,SAAC1B,GAC/BspB,EAAWtpB,GAAO0lC,GAAcpc,EAAWtpB,MAGtCspB,GAGT4c,iBAzBkB,SAyBD/uB,EAASnX,GACxB,OAAO0lC,GAAcvuB,EAAQ+mB,aAAR,eAA6B0H,GAAiB5lC,OAGrEklB,OA7BkB,SA6BX/N,GACL,IAAMmF,EAAOnF,EAAQgF,wBAErB,MAAO,CACLD,IAAKI,EAAKJ,IAAM/F,SAAS4B,KAAKqE,UAC9BJ,KAAMM,EAAKN,KAAO7F,SAAS4B,KAAKsE,aAIpChH,SAtCkB,SAsCT8B,GACP,MAAO,CACL+E,IAAK/E,EAAQgvB,UACbnqB,KAAM7E,EAAQivB,aAIlBnkB,MA7CkB,SA6CZ9K,EAAS8K,GACb/f,OAAO0Z,OAAOzE,EAAQ8K,MAAOA,IAG/BokB,YAjDkB,SAiDNlvB,EAASmvB,GACdnvB,IAIDA,EAAQ4tB,UAAU/qB,SAASssB,GAC7BnvB,EAAQ4tB,UAAUC,OAAOsB,GAEzBnvB,EAAQ4tB,UAAUwB,IAAID,KAI1BqX,SA7DkB,SA6DTxmC,EAASmvB,GACZnvB,EAAQ4tB,UAAU/qB,SAASssB,IAC/BnvB,EAAQ4tB,UAAUwB,IAAID,IAGxBsX,SAlEkB,SAkETzmC,EAAS8K,GAChB/f,OAAO2B,KAAKoe,GAAOvgB,QAAQ,SAAC0V,GAC1BD,EAAQ8K,MAAM7K,GAAY6K,EAAM7K,OCxFlCymC,GAAetd,QAAQ9/B,UAAU+/B,iBACjCsd,GAAcvd,QAAQ9/B,UAAU6mB,cAgB9BqZ,IAZE9sB,GAAI,IAAIgnB,YAAY,YAAa,CACrCE,YAAY,KAGR5jB,GAAUhB,SAASuc,cAAc,QAC/BrQ,iBAAiB,YAAa,kBAAM,OAE5CxO,GAAEypB,iBACFnmB,GAAQ8jB,cAAcpnB,IACfA,GAAE0pB,iBAGgB,aACA,WACzB,IAAMpmB,EAAUhB,SAASuc,cAAc,OAEvC,IACEvb,EAAQqpB,iBAAiB,YACzB,MAAOI,GACP,OAAO,EAGT,OAAO,EATkB,KAazBid,GAAe,SAAU5f,GACvB,IAAK0C,GAAmBntB,KAAKyqB,GAC3B,OAAOj/B,KAAKwhC,iBAAiBvC,GAG/B,IAAM4C,EAAQjS,QAAQ5vB,KAAK8wB,IAEtB+Q,IACH7hC,KAAK8wB,GHrBI,SAAC/N,GACd,KACEA,GAAU1f,KAAKgS,MAxBH,IAwBShS,KAAK2tB,UACnB7Z,SAAS2nB,eAAe/b,KAEjC,OAAOA,EGgBO8b,CAAO,UAGnB,IAAIiD,EAAW,KACf,IACE7C,EAAWA,EAASryB,QAAQ+0B,GAAjB,WAAyC3hC,KAAK8wB,KACzDgR,EAAW9hC,KAAKwhC,iBAAiBvC,GAFnC,QAIO4C,GACH7hC,KAAKmrB,gBAAgB,MAIzB,OAAO2W,GAGTgd,GAAc,SAAU7f,GACtB,IAAK0C,GAAmBntB,KAAKyqB,GAC3B,OAAOj/B,KAAKsoB,cAAc2W,GAG5B,IAAM8C,EAAUjzB,GAAK3J,KAAKnF,KAAMi/B,GAEhC,YAA0B,IAAf8C,EAAQ,GACVA,EAAQ,GAGV,OAIX,IAAMjzB,GAAO+vC,GACPpd,GAAUqd,G,+uBCnEhB,IAsEetX,GApEQ,CACrB1B,QADqB,SACb3tB,EAAS8mB,GACf,OAAO9mB,EAAQ2tB,QAAQ7G,IAGzB8C,QALqB,SAKb5pB,EAAS8mB,GACf,OAAO9mB,EAAQ4pB,QAAQ9C,IAGzBnwB,KATqB,SAShBmwB,EATgB,GAS8B,MAApC9mB,EAAoC,6BAT9B,IASIhB,SAAS2C,gBAChC,OAAO,MAAG/U,OAAH,WAAa0iC,GAAOtiC,KAAKgT,EAAS8mB,MAG3CwC,QAbqB,SAabxC,EAba,GAaiC,IAApC9mB,EAAoC,6BAbjC,IAaOhB,SAAS2C,gBACnC,OAAO2nB,GAAQt8B,KAAKgT,EAAS8mB,IAG/BlhB,SAjBqB,SAiBZ5F,EAAS8mB,GAAU,MACpBlhB,GAAW,MAAGhZ,OAAH,WAAaoT,EAAQ4F,WAEtC,OAAOA,EAAS7S,OAAO,SAACw8B,GAAD,OAAWA,EAAM3F,QAAQ9C,MAGlD0I,QAvBqB,SAuBbxvB,EAAS8mB,GAKf,IAJA,IAAM0I,EAAU,GAEZC,EAAWzvB,EAAQS,WAEhBgvB,GAAYA,EAASvvB,WAAaoC,KAAKotB,cA9BhC,IA8BgDD,EAASvvB,UACjErY,KAAK+hC,QAAQ6F,EAAU3I,IACzB0I,EAAQzhC,KAAK0hC,GAGfA,EAAWA,EAAShvB,WAGtB,OAAO+uB,GAGTG,KAvCqB,SAuChB3vB,EAAS8mB,GAGZ,IAFA,IAAI8I,EAAW5vB,EAAQ6vB,uBAEhBD,GAAU,CACf,GAAIA,EAAShG,QAAQ9C,GACnB,MAAO,CAAC8I,GAGVA,EAAWA,EAASC,uBAGtB,MAAO,IAGT5P,KArDqB,SAqDhBjgB,EAAS8mB,GAGZ,IAFA,IAAI7G,EAAOjgB,EAAQ8B,mBAEZme,GAAM,CACX,GAAIp4B,KAAK+hC,QAAQ3J,EAAM6G,GACrB,MAAO,CAAC7G,GAGVA,EAAOA,EAAKne,mBAGd,MAAO,K,8KCpEX,IACM+qB,GAAW,YACX+Z,GAAoB,eACpBC,GAAgB,IAAH,OAAOD,GAAP,UACbE,GAAmB,IAAH,OAAOF,GAAP,aAQhBG,G,WACJ,WAAY/mC,I,4FAAS,SACnBnY,KAAKslC,SAAWntB,EAChBnY,KAAKm/C,OAAS,KACdn/C,KAAKo/C,YAAc,EACnBp/C,KAAKq/C,iBAAmB,EACxBr/C,KAAKs/C,cAAgB,KACrBt/C,KAAKu/C,aAAe,KACpBv/C,KAAKw/C,eAAiB,KAElBx/C,KAAKslC,UACPnE,GAAKC,QAAQjpB,EAAS6sB,GAAUhlC,M,uDA+HpBoc,GACd,OAAO,SAAUqH,GACfrH,EAASmhC,UAAU95B,M,iCAILrH,GAChB,OAAO,SAAUqH,GACfrH,EAASqjC,YAAYh8B,M,kCAINtL,GACjB,OAAOgpB,GAAKE,QAAQlpB,EAAS6sB,M,2BAtI7B,MA7BS,Y,gCAkCThlC,KAAK0/C,gBACL1/C,KAAK2/C,aACL3/C,KAAK4/C,cACL5/C,KAAKu9C,c,+BAILv9C,KAAK0/C,gBACL1/C,KAAK6/C,gBACL7/C,KAAK4/C,cACL5/C,KAAKu9C,c,oCAIL,IAAMpxB,EACJqb,GAAe/F,QAAQ,QAASzhC,KAAKslC,WACrCkC,GAAe/F,QAAQ,WAAYzhC,KAAKslC,UAC1CuB,GAAY8X,SAASxyB,EAAO,Y,gCAI5BnsB,KAAK8/C,gBAEL3e,GAAKG,WAAWthC,KAAKslC,SAAUN,IAC/BhlC,KAAKslC,SAAW,O,sCAKhBtlC,KAAKm/C,OAAS3X,GAAe/F,QAAQ,QAASzhC,KAAKslC,UAC/B,OAAhBtlC,KAAKm/C,SACTn/C,KAAK+/C,iBAEA//C,KAAKslC,SAASS,UAAU/qB,SAAS,gBACtChb,KAAKggD,mC,sCAILhgD,KAAKu/C,aAAe/X,GAAe/F,QAAQ,qBAAsBzhC,KAAKslC,UACtEtlC,KAAKs/C,cAAgB9X,GAAe/F,QAAQ,sBAAuBzhC,KAAKslC,Y,uCAIxEtlC,KAAKo/C,YAAwC,GAA1Bp/C,KAAKm/C,OAAO3hC,YAAoB,I,sDAInD,IAAM2O,EACJqb,GAAe/F,QAAQ,QAASzhC,KAAKslC,WACrCkC,GAAe/F,QAAQ,WAAYzhC,KAAKslC,UACpCviB,EAASykB,GAAeM,KAAK3b,EAAO,qBAAqB,QAChDtqB,IAAXkhB,IACJ/iB,KAAKq/C,iBAAmBt8B,EAAOpF,YAAc,K,mCAI7C,IAAMsiC,EAAe9nC,GAAQ,OAC7B0uB,GAAY8X,SAASsB,EAAc,cACnCjgD,KAAKs/C,cAAgBnnC,GAAQ,OAC7B0uB,GAAY8X,SAAS3+C,KAAKs/C,cAAe,sBACzCt/C,KAAKu/C,aAAepnC,GAAQ,OAC5B0uB,GAAY8X,SAAS3+C,KAAKu/C,aAAc,qBACxCv/C,KAAKw/C,eAAiBrnC,GAAQ,OAC9B0uB,GAAY8X,SAAS3+C,KAAKw/C,eAAgB,uBAE1CS,EAAaC,OAAOlgD,KAAKs/C,eACzBW,EAAaC,OAAOlgD,KAAKu/C,cACzBU,EAAaC,OAAOlgD,KAAKw/C,gBACzBx/C,KAAKslC,SAAS4a,OAAOD,K,oCAIrBjgD,KAAKu/C,aAAat8B,MAAM/G,MAAxB,UAAmClc,KAAKo/C,YAAxC,MACAp/C,KAAKs/C,cAAcr8B,MAAM/G,MAAzB,UAAoClc,KAAKq/C,iBAAmB,EAA5D,MAEoB,OAAhBr/C,KAAKm/C,SACTn/C,KAAKm/C,OAAOl8B,MAAMxE,WAAlB,UAAkCze,KAAKq/C,iBAAvC,S,sCAIA,IAAMc,EAAS3Y,GAAe/F,QAAQ,cAAezhC,KAAKslC,UACtD6a,GAAQA,EAAOna,W,gCAGXviB,GAER,IACQ28B,EAFJ38B,IAAOzjB,KAAKm/C,OAAS3X,GAAe/F,QAAQ,QAAShe,EAAMpiB,OAAOuX,aAClE6K,GAASzjB,KAAKm/C,SACViB,EAAiBpgD,KAAKo/C,YAC5Bp/C,KAAK+/C,iBAEDK,IAAmBpgD,KAAKo/C,cAC1Bp/C,KAAKu/C,aAAe/X,GAAe/F,QAAQ,qBAAsBhe,EAAMpiB,OAAOuX,YAC9E5Y,KAAKs/C,cAAgB9X,GAAe/F,QAAQ,sBAAuBhe,EAAMpiB,OAAOuX,YAChF5Y,KAAK4/C,gBAIT,IAAMzzB,EAAQ1I,EACVA,EAAMpiB,OACNmmC,GAAe/F,QAAQ,QAASzhC,KAAKslC,WACrCkC,GAAe/F,QAAQ,WAAYzhC,KAAKslC,UACxB,KAAhBnZ,EAAMxqB,OACRklC,GAAY8X,SAASxyB,EAAO,Y,kCAIpB1I,GACV,IAAM0I,EAAQ1I,EACVA,EAAMpiB,OACNmmC,GAAe/F,QAAQ,QAASzhC,KAAKslC,WACrCkC,GAAe/F,QAAQ,WAAYzhC,KAAKslC,UACxB,KAAhBnZ,EAAMxqB,OACRwqB,EAAM4Z,UAAUC,OAAO,e,kCAqB7BpC,EAAaG,GAAG5sB,SAAU,QAAS6nC,GAAeE,GAAMmB,SAAS,IAAInB,KACrEtb,EAAaG,GAAG5sB,SAAU,QAAS6nC,GAAeE,GAAMmB,SAAS,IAAInB,KACrEtb,EAAaG,GAAG5sB,SAAU,OAAQ6nC,GAAeE,GAAMoB,WAAW,IAAIpB,KAEtEtb,EAAaG,GAAG5sB,SAAU,QAAS8nC,GAAkBC,GAAMmB,SAAS,IAAInB,KACxEtb,EAAaG,GAAG5sB,SAAU,QAAS8nC,GAAkBC,GAAMmB,SAAS,IAAInB,KACxEtb,EAAaG,GAAG5sB,SAAU,OAAQ8nC,GAAkBC,GAAMoB,WAAW,IAAIpB,KAEzEtb,EAAaG,GAAGvgC,OAAQ,iBAAkB07C,GAAMmB,SAAS,IAAInB,KAC7Dtb,EAAaG,GAAGvgC,OAAQ,oBAAqB07C,GAAMmB,SAAS,IAAInB,KAGhE1X,GAAe14B,KAAf,WAAwBiwC,KAAqBr8C,QAAQ,SAACyV,GACpD,IAAI+mC,GAAM/mC,GAASooC,SAIrB3c,EAAaG,GAAGvgC,OAAQ,iBAAkB,SAACqR,GACzC,IAAMuH,EAAW8iC,GAAMsB,YAAY3rC,EAAExT,OAAOuX,YACvCwD,GACLA,EAASqkC,gBAGIvB,U,syDChLf,IAAM1nB,GAAO,WAEPwN,GAAW,cACXC,GAAY,IAAH,OAAOD,IAChBiD,GAAe,YAEfyY,GAAa,SAGbC,GAAe,UACfC,GAAiB,YAGjBC,GAAiB,IAAIl1C,OAAJ,UAAcg1C,GAAd,YAA8BC,GAA9B,YAAgDF,KAEjEzS,GAAa,OAAH,OAAUhJ,IACpBiJ,GAAe,SAAH,OAAYjJ,IACxB8I,GAAa,OAAH,OAAU9I,IACpB+I,GAAc,QAAH,OAAW/I,IACtB6b,GAAc,QAAH,OAAW7b,IACtBG,GAAuB,QAAH,OAAWH,IAAX,OAAuBgD,IAC3C8Y,GAAyB,UAAH,OAAa9b,IAAb,OAAyBgD,IAC/C+Y,GAAuB,QAAH,OAAW/b,IAAX,OAAuBgD,IAE3CgZ,GAAsB,WACtB9S,GAAkB,OAIlB+S,GAAuB,sBAIvB5a,GAAuB,2BAEvB6a,GAAgB,iBAWhBjZ,GAAU,CACdhiB,OAAQ,EACR6C,MAAM,EACNmuB,SAAU,eACV79B,UAAW,SACX2V,QAAS,UACTooB,aAAc,MAGV5O,GAAc,CAClBtiB,OAAQ,2BACR6C,KAAM,UACNmuB,SAAU,mBACV79B,UAAW,mBACX2V,QAAS,SACTooB,aAAc,iBASVgK,G,WACJ,WAAYjpC,EAAS+nB,I,4FAAQ,SAC3BlgC,KAAKslC,SAAWntB,EAChBnY,KAAK44C,QAAU,KACf54C,KAAKsqC,QAAUtqC,KAAKuqC,WAAWrK,GAC/BlgC,KAAKqhD,MAAQrhD,KAAKshD,kBAClBthD,KAAKuhD,UAAYvhD,KAAKwhD,gBAEtBxhD,KAAK6qC,qBACL1J,EAAKC,QAAQjpB,EAAS6sB,GAAUhlC,M,gEAwPTmY,EAAS+nB,GAChC,IAAIle,EAAOmf,EAAKE,QAAQlpB,EAAS6sB,IAC3BsF,EAA4B,WAAlB,GAAOpK,GAAsBA,EAAS,KAGpDle,EADGA,GACI,IAAIo/B,EAASjpC,EAASmyB,GAG/B,GAAsB,iBAAXpK,EAAqB,CAC9B,QAA4B,IAAjBle,EAAKke,GACd,MAAM,IAAIx3B,UAAJ,2BAAkCw3B,EAAlC,MAGRle,EAAKke,Q,sCAIcA,GACrB,OAAOlgC,KAAKulC,KAAK,WACf6b,EAASK,kBAAkBzhD,KAAMkgC,O,iCAInBzc,GAChB,IACEA,GArVqB,IAsVpBA,EAAMgjB,SAAiD,UAAfhjB,EAAMrf,MAzVrC,QAyVyDqf,EAAMziB,KAO3E,IAFA,IAAM0gD,EAAUla,GAAe14B,KAAKw3B,IAE3B93B,EAAI,EAAGJ,EAAMszC,EAAQ94C,OAAQ4F,EAAIJ,EAAKI,IAAK,CAClD,IAcMmzC,EAqB0C,EAnC1C3jC,EAASojC,EAASQ,qBAAqBF,EAAQlzC,IAC/CwqC,EAAU7X,EAAKE,QAAQqgB,EAAQlzC,GAAIw2B,IACnC6H,EAAgB,CACpBA,cAAe6U,EAAQlzC,IAGrBiV,GAAwB,UAAfA,EAAMrf,OACjByoC,EAAcgV,WAAap+B,GAGxBu1B,IAIC2I,EAAe3I,EAAQqI,MACxBK,EAAQlzC,GAAGu3B,UAAU/qB,SAASmzB,MAKjC1qB,IACiB,UAAfA,EAAMrf,MAAoB,kBAAkBoQ,KAAKiP,EAAMpiB,OAAOkrC,UAC9C,UAAf9oB,EAAMrf,MAvXD,QAuXqBqf,EAAMziB,MACnC2gD,EAAa3mC,SAASyI,EAAMpiB,SAKZuiC,EAAaW,QAAQvmB,EAAQiwB,GAAYpB,GAC7CtO,mBAMV,iBAAkBpnB,SAAS2C,kBAC7B,MACG/U,OADH,WACaoS,SAAS4B,KAAKgF,WACxBrb,QAAQ,SAACisC,GAAD,OAAU/K,EAAaC,IAAI8K,EAAM,YAAa,KAAMjO,OAGjEghB,EAAQlzC,GAAG0c,aAAa,gBAAiB,SAErC8tB,EAAQJ,SACVI,EAAQJ,QAAQY,UAGlBmI,EAAa5b,UAAUC,OAAOmI,IAC9BuT,EAAQlzC,GAAGu3B,UAAUC,OAAOmI,IAC5BvK,EAAaW,QAAQvmB,EAAQkwB,GAAcrB,S,2CAInB10B,GAC1B,OAAOgnB,EAAuBhnB,IAAYA,EAAQS,a,4CAGvB6K,GAQ3B,IACE,kBAAkBjP,KAAKiP,EAAMpiB,OAAOkrC,WApaxB,UAqaR9oB,EAAMziB,KACLyiB,EAAMziB,MAAQ0/C,KACXj9B,EAAMziB,MAAQ4/C,IAAkBn9B,EAAMziB,MAAQ2/C,IAC9Cl9B,EAAMpiB,OAAOykC,QAAQqb,MACxBN,GAAersC,KAAKiP,EAAMziB,QAKjCyiB,EAAM6a,iBACN7a,EAAMq+B,mBAEF9hD,KAAK+hD,WAAY/hD,KAAK+lC,UAAU/qB,SAASimC,KAA7C,CAIA,IAiBMe,EAMFj4C,EAvBEiU,EAASojC,EAASQ,qBAAqB5hD,MACvCiiD,EAAWjiD,KAAK+lC,UAAU/qB,SAASmzB,IAEzC,GAAI1qB,EAAMziB,MAAQ0/C,GAMhB,OALe1gD,KAAK+hC,QAAQuE,IACxBtmC,KACAwnC,GAAeM,KAAK9nC,KAAMsmC,IAAsB,IAC7C+J,aACP+Q,EAASc,aAIND,GAjcS,UAicGx+B,EAAMziB,KAKjBghD,EAAQxa,GAAe14B,KAxaF,8DAwa+BkP,GAAQ9S,OAAOo1B,IAE9D13B,SAIPmB,EAAQi4C,EAAMtwC,QAAQ+R,EAAMpiB,QAE5BoiB,EAAMziB,MAAQ2/C,IAAwB,EAAR52C,GAEhCA,IAGE0Z,EAAMziB,MAAQ4/C,IAAkB72C,EAAQi4C,EAAMp5C,OAAS,GAEzDmB,IAMFi4C,EAFAj4C,GAAmB,IAAXA,EAAe,EAAIA,GAEdsmC,SAzBX+Q,EAASc,gB,kCA4BM/pC,GACjB,OAAOgpB,EAAKE,QAAQlpB,EAAS6sB,M,8BAjZ7B,MApFY,iB,8BAwFZ,OAAOkD,K,kCAIP,OAAOM,O,kCAMP,IAIMyZ,EAJFjiD,KAAKslC,SAASyc,UAAY/hD,KAAKslC,SAASS,UAAU/qB,SAASimC,MAIzDgB,EAAWjiD,KAAKslC,SAASS,UAAU/qB,SAASmzB,IAElDiT,EAASc,aAELD,GAIJjiD,KAAKmvC,U,6BAIL,KACEnvC,KAAKslC,SAASyc,UACd/hD,KAAKslC,SAASS,UAAU/qB,SAASimC,KACjCjhD,KAAKqhD,MAAMtb,UAAU/qB,SAASmzB,KAHhC,CAQA,IA4CwF,EA5ClFnwB,EAASojC,EAASQ,qBAAqB5hD,KAAKslC,UAC5CuH,EAAgB,CACpBA,cAAe7sC,KAAKslC,UAKtB,IAFkB1B,EAAaW,QAAQvkC,KAAKslC,SAAUyI,GAAYlB,GAEpDtO,iBAAd,CAKA,IAAKv+B,KAAKuhD,UAAW,CACnB,QAAsB,IAAXj2B,KACT,MAAM,IAAI5iB,UAAU,mEAGtB,IAAIy5C,EAAmBniD,KAAKslC,SAEG,WAA3BtlC,KAAKsqC,QAAQjxB,UACf8oC,EAAmBnkC,EACV2hB,EAAU3/B,KAAKsqC,QAAQjxB,aAChC8oC,EAAmBniD,KAAKsqC,QAAQjxB,eAGa,IAAlCrZ,KAAKsqC,QAAQjxB,UAAUyS,SAChCq2B,EAAmBniD,KAAKsqC,QAAQjxB,UAAU,KAOhB,iBAA1BrZ,KAAKsqC,QAAQ4M,UACfl5B,EAAO+nB,UAAUwB,IA9HU,mBAiI7BvnC,KAAK44C,QAAU,IAAIttB,KAAO62B,EAAkBniD,KAAKqhD,MAAOrhD,KAAKs6C,oBAO3D,iBAAkBnjC,SAAS2C,kBAAoBkE,EAAO8nB,QAnIlC,iBAoItB,MACG/gC,OADH,WACaoS,SAAS4B,KAAKgF,WACxBrb,QAAQ,SAACisC,GAAD,OAAU/K,EAAaG,GAAG4K,EAAM,YAAa,KAAMjO,OAGhE1gC,KAAKslC,SAAS+K,QACdrwC,KAAKslC,SAASpa,aAAa,iBAAiB,GAE5C2b,GAAYQ,YAAYrnC,KAAKqhD,MAAOlT,IACpCtH,GAAYQ,YAAYrnC,KAAKslC,SAAU6I,IACvCvK,EAAaW,QAAQvmB,EAAQgwB,GAAanB,O,6BAI1C,IAQM7uB,EACA6uB,EARJ7sC,KAAKslC,SAASyc,UACd/hD,KAAKslC,SAASS,UAAU/qB,SAASimC,MAChCjhD,KAAKqhD,MAAMtb,UAAU/qB,SAASmzB,MAK3BnwB,EAASojC,EAASQ,qBAAqB5hD,KAAKslC,UAC5CuH,EAAgB,CACpBA,cAAe7sC,KAAKslC,UAGJ1B,EAAaW,QAAQvmB,EAAQiwB,GAAYpB,GAE7CtO,mBAIVv+B,KAAK44C,SACP54C,KAAK44C,QAAQY,UAGf3S,GAAYQ,YAAYrnC,KAAKqhD,MAAOlT,IACpCtH,GAAYQ,YAAYrnC,KAAKslC,SAAU6I,IACvCvK,EAAaW,QAAQvmB,EAAQkwB,GAAcrB,O,gCAI3C1L,EAAKG,WAAWthC,KAAKslC,SAAUN,IAC/BpB,EAAaC,IAAI7jC,KAAKslC,SAAUL,IAChCjlC,KAAKslC,SAAW,KAChBtlC,KAAKqhD,MAAQ,KACTrhD,KAAK44C,UACP54C,KAAK44C,QAAQY,UACbx5C,KAAK44C,QAAU,Q,+BAKjB54C,KAAKuhD,UAAYvhD,KAAKwhD,gBAClBxhD,KAAK44C,SACP54C,KAAK44C,QAAQ50B,mB,2CAMI,WACnB4f,EAAaG,GAAG/jC,KAAKslC,SAAUwb,GAAa,SAACr9B,GAC3CA,EAAM6a,iBACN7a,EAAMq+B,kBACN,EAAKtb,a,iCAIEtG,GAST,OARAA,EAAS,YACJlgC,KAAKyM,YAAYy7B,SACjBrB,GAAYG,kBAAkBhnC,KAAKslC,WACnCpF,GAGLF,EAAgBxI,GAAM0I,EAAQlgC,KAAKyM,YAAY+7B,aAExCtI,I,wCAIP,OAAOsH,GAAepP,KAAKp4B,KAAKslC,SAAU6b,IAAe,K,sCAIzD,IAAMiB,EAAiBpiD,KAAKslC,SAAS1sB,WACjCmH,EAvNiB,eAuOrB,OAbIqiC,EAAerc,UAAU/qB,SAzOP,WA0OpB+E,EA7NgB,YA8NZ/f,KAAKqhD,MAAMtb,UAAU/qB,SAASkmC,MAChCnhC,EA9NiB,YAgOVqiC,EAAerc,UAAU/qB,SA7OX,aA8OvB+E,EA9NkB,cA+NTqiC,EAAerc,UAAU/qB,SA9OZ,YA+OtB+E,EA/NiB,aAgOR/f,KAAKqhD,MAAMtb,UAAU/qB,SAASkmC,MACvCnhC,EAnOsB,cAsOjBA,I,sCAIP,OAAO6P,QAAQ5vB,KAAKslC,SAASQ,QAAd,WAtPO,c,mCAyPX,WACL5f,EAAS,GAef,MAbmC,mBAAxBlmB,KAAKsqC,QAAQpkB,OACtBA,EAAOxO,GAAK,SAACsK,GAMX,OALAA,EAAKlF,QAAL,SACKkF,EAAKlF,SACJ,EAAKwtB,QAAQpkB,OAAOlE,EAAKlF,QAAS,EAAKwoB,WAAa,IAGnDtjB,GAGTkE,EAAOA,OAASlmB,KAAKsqC,QAAQpkB,OAGxBA,I,yCAIP,IAAMkxB,EAAe,CACnBr3B,UAAW/f,KAAKqiD,gBAChBtgC,UAAW,CACTmE,OAAQlmB,KAAK86C,aACb/xB,KAAM,CACJxG,QAASviB,KAAKsqC,QAAQvhB,MAExBtB,gBAAiB,CACftI,kBAAmBnf,KAAKsqC,QAAQ4M,YAYtC,MAN6B,WAAzBl3C,KAAKsqC,QAAQtb,UACfooB,EAAar1B,UAAUkJ,WAAa,CAClC1I,SAAS,IAIb,SACK60B,GACAp3C,KAAKsqC,QAAQ8M,mB,kCA+KtBxT,EAAaG,GACX5sB,SACA4pC,GACAza,GACA8a,GAASkB,uBAEX1e,EAAaG,GAAG5sB,SAAU4pC,GAAwBI,GAAeC,GAASkB,uBAC1E1e,EAAaG,GAAG5sB,SAAUiuB,GAAsBgc,GAASc,YACzDte,EAAaG,GAAG5sB,SAAU6pC,GAAsBI,GAASc,YACzDte,EAAaG,GAAG5sB,SAAUiuB,GAAsBkB,GAAsB,SAAU7iB,GAC9EA,EAAM6a,iBACN7a,EAAMq+B,kBACNV,GAASK,kBAAkBzhD,KAAM,YAEnC4jC,EAAaG,GAAG5sB,SAAUiuB,GA5dE,iBA4dyC,SAACvwB,GAAD,OAAOA,EAAEitC,oBAE9E,IAUQ3b,GAVF1jC,GAAIm+B,IASNn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQ4pB,GAAShb,gBACtB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAc6wC,GACzB3+C,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACNib,GAAShb,kBAILgb,U,g+CCpiBf,IAAM5pB,GAAO,WAGPyW,GAAa,mBACbC,GAAe,qBACfH,GAAa,mBAEbwU,GAAkB,YAClBC,GAAuB,UACvBC,GAAuB,WAEvBrB,G,kPAAiBsB,I,kBACrB,WAAYvqC,EAAS6J,GAAM,a,4FAAA,UACzB,cAAM7J,EAAS6J,IACV2gC,SAAW,EAAKpY,WAAWvoB,GAChC,EAAK+sB,QAAUqS,EAASQ,qBAAqB,EAAKtc,UAClD,EAAKsd,WAAa,GAClB,EAAKC,YAAc,GACnB,EAAKC,QANoB,E,yCAkBzB,OAAOtrB,O,mCARPoM,EAAaC,IAAI7jC,KAAKslC,SAAUyI,IAChCnK,EAAaC,IAAI7jC,KAAK+uC,QAASd,IAC/BrK,EAAaC,IAAI7jC,KAAK+uC,QAASb,IAC/B,gD,8BAUAluC,KAAK+iD,iBACL/iD,KAAKgjD,iBACLhjD,KAAKijD,qB,uCAGU,WACfrf,EAAaG,GAAG/jC,KAAKslC,SAAUyI,GAAY,WACzC,EAAKmV,wBAAwB,Y,uCAIhB,WACftf,EAAaG,GAAG/jC,KAAK+uC,QAASd,GAAY,WACxC,EAAK2U,WAAa,EAAKvB,MAAMp+B,MAAMwa,QACnC,EAAKolB,YAAc,EAAKxB,MAAMniB,aAAa,mB,yCAI5B,WACjB0E,EAAaG,GAAG/jC,KAAK+uC,QAASb,GAAc,WAC1C,EAAKmT,MAAMp+B,MAAMwa,QAAU,EAAKmlB,WAChC,EAAKvB,MAAMn2B,aAAa,cAAe,EAAK23B,aAE5C,EAAKK,wBAAwB,Y,8CAITpY,GACtB,OAAQA,GACN,IAAK,OACH9qC,KAAKqhD,MAAMtb,UAAUwB,IAAIgb,GAAiBC,IAC1CxiD,KAAKqhD,MAAMtb,UAAUC,OAAOyc,IAC5B,MACF,QAEEziD,KAAKqhD,MAAMtb,UAAUwB,IAAIgb,GAAiBE,IAC1CziD,KAAKqhD,MAAMtb,UAAUC,OAAOwc,IAIhCxiD,KAAKmjD,sB,0CAGa,WAClBvf,EAAaI,IAAIhkC,KAAKqhD,MAAO,eAAgB,WAC3C,EAAKA,MAAMtb,UAAUC,OAAOuc,GAAiBE,GAAsBD,W,kCAWzEhb,GAAe14B,KA1FS,4BA0FapM,QAAQ,SAACqc,GAC7BqiC,GAASZ,YAAYzhC,IAEvB,IAAIqiC,GAASriC,KAW5B,IAGQonB,GAHF1jC,GAAIm+B,KAENn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQ4pB,GAAShb,gBACtB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAc6wC,GACzB3+C,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACNib,GAAShb,kBAILgb,U,i6DCnHf,IAAM5pB,GAAO,WACPwN,GAAW,eACXoe,GAAqB,WASrBC,G,WACJ,WAAYlrC,EAAS6J,I,4FAAM,SACzBhiB,KAAKslC,SAAWntB,EAEZnY,KAAKslC,WACPtlC,KAAKsjD,MAAQthC,EAAOhiB,KAAKujD,iBAAiBvhC,EAAM7J,GAAWnY,KAAKwjD,SAASrrC,GACzEgpB,GAAKC,QAAQjpB,EAAS6sB,GAAUhlC,MAChC6mC,GAAY8X,SAAS3+C,KAAKslC,SAAU8d,IAEpCpjD,KAAKyjD,mBAAmBzjD,KAAKsjD,Q,4DAyGZlnC,GACnB,OAAO,SAAUqH,GACfrH,EAASsnC,eAAejgC,M,sCAIL3iB,GACrB,OAAOd,KAAKulC,KAAK,WAEf,OADapE,GAAKE,QAAQrhC,KAAMglC,IAKzB,KAHE,IAAIqe,EAASrjD,KAAMc,O,kCAObqX,GACjB,OAAOgpB,GAAKE,QAAQlpB,EAAS6sB,M,2BApH7B,OAAOxN,O,oCAKE,GACiBgQ,GAAe14B,KAAK,KAAM9O,KAAKslC,WADhD,SAEE5iC,QAAQ,SAACyX,GAAD,OAAWA,EAAK8I,MAAM+L,QAAU,W,gCAInDmS,GAAKG,WAAWthC,KAAKslC,SAAUN,IAC/BhlC,KAAKslC,SAAW,O,qCAKHzwB,GACbA,EAAEitC,kBAEF,IAAMjN,EAA2B,MAAtBhgC,EAAExT,OAAOsX,SAAmB9D,EAAExT,OAAOuX,WAAa/D,EAAExT,OAExDg0C,EALS,GAME,MAAhBR,EAAGl8B,SACC6uB,GAAezpB,SAAS82B,EAAGj8B,WAAY,MACvC4uB,GAAezpB,SAAS82B,EAAI,MARlB,MAUZQ,IACFA,EAAGpyB,MAAM+L,QAAkD,SAAxCxrB,OAAOiV,iBAAiB48B,GAAIrmB,QAAqB,QAAU,OAC9EhvB,KAAK2jD,YAAY9O,M,kCAIT91B,E,KAAoD,IAKxD6kC,EALwD,EAOvDC,EAASzrB,EAPF0rB,EAAgD,6B,IAAxC,gBAAiBC,EAAuB,6B,IAAf,cACxCv1C,EADuD,GAClDg5B,GAAezpB,SAASgB,EAAI,KADsB,MAGzDvQ,IAECo1C,EAAY,CAACE,EAAOC,GAEnBF,GAPuD,KAOtCr1C,EAAEu3B,UAAU/qB,SAAS8oC,GAASF,EAAYA,EAAU79B,UAPd,OAO9CqS,EAP8C,KAS9D5pB,EAAEu3B,UAAUC,OAAO6d,GACnBr1C,EAAEu3B,UAAUwB,IAAInP,M,yCAGCpW,GAAM,WACvBA,EAAKtf,QAAQ,SAACqc,GAGZ,IACQoJ,EAHRpJ,EAAG5E,KAAKkJ,iBAAiB,QAAS,EAAKqgC,eAAe73B,KAAK,IAEvD9M,EAAGhB,UAAiC,EAArBgB,EAAGhB,SAASnV,UACvBuf,EAAQhQ,GAAQ,MAChB4tB,UAAY,CAAC,qBACnBhnB,EAAG5E,KAAK8U,YAAY9G,GAEpB,EAAKs7B,mBAAmB1kC,EAAGhB,e,+BAKxBgB,GAAI,WACJmc,EADI,GACIsM,GAAezpB,SAASgB,EAAI,MADhC,MAGX,OAAKmc,EAEEsM,GAAezpB,SAASmd,EAAM,MAAM/a,IAAI,SAAChG,GAC9C,IAAM4D,EAAW,EAAKylC,SAASrpC,GAC/B,MAAO,CACL3X,KAAM2X,EAAK6pC,UAAY7pC,EAAK6pC,UAAU10C,MAAM,MAAM,GAAK,GACvD6K,OACA4D,cAPc,K,uCAYHiE,EAAMhE,GAAQ,WACvBq3B,EAAKl9B,GAAQ,MAEnB,OAAO6J,EAAK7B,IAAI,SAACg9B,GACf,IAAMtI,EAAK18B,GAAQ,MACnB08B,EAAGmP,UAAY7G,EAAK36C,KACpB,IAAIub,EAAWo/B,EAAKp/B,SASpB,OAPIA,GAA8B,EAAlBA,EAASnV,SACvBmV,EAAW,EAAKwlC,iBAAiBpG,EAAKp/B,SAAU82B,IAGlDQ,EAAGpmB,YAAY4lB,GACf72B,EAAOiR,YAAYomB,GAEnB,SACK8H,GADL,IAEEp/B,WACA5D,KAAM06B,W,kCAiCdjR,EAAaG,GAAG5sB,SAAU,QAtJF,2BAsJ4BksC,GAASY,cAAc,IAAIZ,KAS/E,IAGQld,GAHF1jC,GAAIm+B,KAENn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQ6rB,GAASjd,gBACtB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAc8yC,GACzB5gD,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACNkd,GAASjd,kBAILid,U,y0BC9Kf,IAAM7rB,GAAO,SACPwN,GAAW,aACXkf,GAAmB,iBAEnBC,GAAqB,CAAC,OAAQ,WAE9BC,GAAoB,yBAGpBC,GAAuB,CAAC,EAAG,EAAG,GAC9BC,GAAmB,CACvB,UACA,YACA,UACA,SACA,UACA,OACA,QACA,QAOIpc,GAAU,CACdqc,gBAAgB,EAChBC,YAAa,GACbC,eAAgB,QAChBC,aAAc,EACdC,eAAe,GAGXnc,GAAc,CAClB+b,eAAgB,UAChBC,YAAa,SACbC,eAAgB,SAChBC,aAAc,SACdC,cAAe,WASXC,G,WACJ,WAAYzsC,EAASrX,I,4FAAS,SAC5Bd,KAAKslC,SAAWntB,EAChBnY,KAAK2iD,SAAW3iD,KAAKuqC,WAAWzpC,GAC5Bd,KAAKslC,WACPnE,GAAKC,QAAQjpB,EAAS6sB,GAAUhlC,MAChC6mC,GAAY8X,SAAS3+C,KAAKslC,SAAU4e,KAGtClkD,KAAKugD,O,0DAyPYnkC,GACjB,OAAO,SAAUqH,GACfrH,EAASyoC,UAAUphC,M,mCAIHrH,GAClB,OAAO,SAAUqH,GACfrH,EAAS0oC,QAAQrhC,M,sCAIE3iB,GACrB,OAAOd,KAAKulC,KAAK,WAEf,OADapE,GAAKE,QAAQrhC,KAAMglC,IAKzB,KAHE,IAAI4f,EAAO5kD,KAAMc,O,kCAOXqX,GACjB,OAAOgpB,GAAKE,QAAQlpB,EAAS6sB,M,2BA3Q7B,OAAOxN,O,gCAMPx3B,KAAK+kD,eAAe/kD,KAAKslC,Y,gCAIzBnE,GAAKG,WAAWthC,KAAKslC,SAAUN,IAC/BpB,EAAaC,IAAI7jC,KAAKslC,SAAU,QAAS,IACzCtlC,KAAKslC,SAAW,KAChBtlC,KAAK2iD,SAAW,O,gCAKRl/B,GAAO,WACf0gC,GAAmBzhD,QAAQ,SAACu8B,GACXuI,GAAe1B,QAAQriB,EAAMpiB,OAAQ49B,KAElD,EAAKqG,SAAWkC,GAAe1B,QAAQriB,EAAMpiB,OAAQ49B,MAGzD4H,GAAY8X,SAAS3+C,KAAKslC,SAAU4e,IACpClkD,KAAK2iD,SAAW3iD,KAAKuqC,aACrBvqC,KAAKglD,cAAcvhC,K,qCAGNpiB,GAAQ,WACrBuiC,EAAaG,GAAG1iC,EAAQ,QAAS,GAAI,SAACoiB,GACpC,EAAKuhC,cAAcvhC,O,oCAITA,GAAO,IAEbwhC,EADqBxhC,EAAnByhC,OAEFC,EAFqB1hC,EAAX2hC,OAGVnpC,EAASjc,KAAKslC,SAASznB,aACvB3B,EAAQlc,KAAKslC,SAAS3nB,YACtBkiB,EAAW7/B,KAAKqlD,oBAAoBrlD,KAAK2iD,SAAS8B,gBAClDa,EAAkB,CACtBL,QAASjlD,KAAK2iD,SAAS4B,eAAiBtoC,EAAS,EAAIgpC,EACrDE,QAASnlD,KAAK2iD,SAAS4B,eAAiBroC,EAAQ,EAAIipC,EACpDlpC,SACAC,SAEIqpC,EAAWvlD,KAAKwlD,aAAaF,GAC7BG,EAAczlD,KAAK2iD,SAAS+B,cAAgBa,EAAW,EAEvDG,EAAU,CACd1O,MA5F2B,GA4FpBnX,EACPA,SAAUA,EA7FiB,GA6FNA,GAGjBrkB,EAAS,CACbwB,KAAMhd,KAAK2iD,SAAS4B,eAAd,UACCroC,EAAQ,EAAIupC,EADb,gBAECR,EAAUQ,EAFX,MAGNvoC,IAAKld,KAAK2iD,SAAS4B,eAAd,UACEtoC,EAAS,EAAIwpC,EADf,gBAEEN,EAAUM,EAFZ,MAGLxpC,OAAQ,GAAF,OAAkC,EAA7Bjc,KAAK2iD,SAAS+B,cAAoBa,EAAvC,MACNrpC,MAAO,GAAF,OAAkC,EAA7Blc,KAAK2iD,SAAS+B,cAAoBa,EAAvC,MACLjmB,gBAAiB,OAAF,OAASomB,EAAQ1O,MAAjB,MACf3X,mBAAoB,GAAF,OAAKQ,EAAL,eAAoB6lB,EAAQ7lB,SAA5B,OAGd8lB,EAAaxtC,GAAQ,OAE3BnY,KAAK4lD,kBAAkB,CAAEC,QAAS7lD,KAAKslC,SAAUwgB,OAAQH,EAAYnqC,WACrExb,KAAK+lD,kBAAkB,CAAED,OAAQH,EAAY9lB,e,2CAGA,IAA3BgmB,EAA2B,EAA3BA,QAASC,EAAkB,EAAlBA,OAAQtqC,EAAU,EAAVA,OACnCtY,OAAO2B,KAAK2W,GAAQ9Y,QAAQ,SAAC0V,GAAD,OAAe0tC,EAAO7iC,MAAM7K,GAAYoD,EAAOpD,KAC3E0tC,EAAO/f,UAAUwB,IAzIS,eA0IQ,KAA9BvnC,KAAK2iD,SAAS6B,cAChBxkD,KAAKgmD,uBAAuBH,GAC5B7lD,KAAKimD,UAAUH,EAAQD,IAGzB7lD,KAAKkmD,eAAeL,GACpB7lD,KAAKmmD,cAAcL,EAAQD,K,2CAGW,IAApBC,EAAoB,EAApBA,OAAQjmB,EAAY,EAAZA,SAC1B9nB,WAAW,WACL+tC,GACFA,EAAO9f,UAERnG,K,0CAGeumB,GAClB,OAAOzf,OAAOyf,EAAKx5C,QAAQ,KAAM,IAAIA,QAAQ,IAAK,U,oCAG5B,IAAbszB,EAAa,6B,IAAJ,GACZkb,EAAiBvU,GAAYG,kBAAkBhnC,KAAKslC,UAE1DpF,EAAS,YACJgI,IACAkT,GACAlb,GAIL,OADAF,GAAgBxI,GAAM0I,EAAQsI,IACvBtI,I,sCAMa,SAAdmmB,EAAe3qC,EAAOC,GAAR,OAAkBtY,KAAKijD,KAAK,SAAA5qC,EAAS,GAAT,SAAaC,EAAS,IAHtB,IAAnCspC,EAAmC,EAAnCA,QAASE,EAA0B,EAA1BA,QAASlpC,EAAiB,EAAjBA,OAAQC,EAAS,EAATA,MACjCgB,EAAMioC,GAAWlpC,EAAS,EAC1Be,EAAOioC,GAAW/oC,EAAQ,EAG1BqqC,EAAiBpB,IAAYlpC,EAAS,GAAKgpC,IAAY/oC,EAAQ,EAE/DsqC,GACW,GAARtpC,IAAyB,GAATF,EADnBwpC,GAEY,GAARtpC,IAAyB,GAATF,EAFpBwpC,GAGW,GAARtpC,IAA0B,GAATF,EAHpBwpC,GAIY,GAARtpC,IAA0B,GAATF,EAGrBypC,EAAY,CAChBC,QAASL,EAAYpB,EAASE,GAC9BwB,SAAUN,EAAYnqC,EAAQ+oC,EAASE,GACvCyB,WAAYP,EAAYpB,EAAShpC,EAASkpC,GAC1C0B,YAAaR,EAAYnqC,EAAQ+oC,EAAShpC,EAASkpC,IAGjDI,EAAW,EAWf,OATIgB,GAAkBC,EACpBjB,EAAWkB,EAAUC,QACZF,EACTjB,EAAWkB,EAAUE,SACZH,EACTjB,EAAWkB,EAAUI,YACZL,IACTjB,EAAWkB,EAAUG,YAEL,EAAXrB,I,oCAGKlkD,EAAQ2c,GAEpBA,EAAOiR,YAAY5tB,GACnB0W,WAAW,WACT8uB,GAAY8X,SAASt9C,EAAQ,WAHD,M,qCAOjBA,IACuB,IAAhCrB,KAAK2iD,SAASgC,cAChB9d,GAAY8X,SAASt9C,EAAQ+iD,IAE7B/iD,EAAO0kC,UAAUC,OAAOoe,M,gCAIlB/iD,EAAQ2c,GAAQ,IAWhB8oC,EACAC,EAZgB,OACGzC,GAAiBx1C,KAC1C,SAACk4C,GAAD,OAAWA,IAAU,EAAKrE,SAAS6B,YAAYh8B,gBAI/Cqe,GAAY8X,SACV3gC,EADF,UAEKkmC,GAFL,YAEyBlkD,KAAK2iD,SAAS6B,YAAYh8B,iBAG7Cs+B,EAAW9mD,KAAKinD,YAAYjnD,KAAK2iD,SAAS6B,aAAah1C,KAAK,KAC5Du3C,EAtOV,+HAsOmCz3C,MAAM,aAAaE,KAA5B,UAAoCs3C,IAC1DzlD,EAAO4hB,MAAMikC,gBAAb,kCAA0DH,EAA1D,Q,6CAImB1lD,GACrB,IAAM8lD,EAAqB,IAAIx7C,OAAJ,UAAcu4C,GAAd,WAAyC,OACxC7iD,EAAO0kC,UAAUpkC,MAAMoQ,MAAMo1C,IAAuB,IAC5DzkD,QAAQ,SAAC4kC,GAC3BjmC,EAAO0kC,UAAUC,OAAOsB,O,kCAIhB0f,GAoCV,MAA4B,gBAAxBA,EAAMx+B,cACD67B,GAEQ,MAAb2C,EAAM,KAtCQA,EAuCAA,GArCWp+C,OADF,IAGvBo+C,EAAQ,IAAH,OAAOA,EAAM,IAAb,OAAkBA,EAAM,IAAxB,OAA6BA,EAAM,IAAnC,OAAwCA,EAAM,IAA9C,OAAmDA,EAAM,IAAzD,OAA8DA,EAAM,KAEpE,CACLjrC,SAASirC,EAAMI,OAAO,EAAG,GAAI,IAC7BrrC,SAASirC,EAAMI,OAAO,EAAG,GAAI,IAC7BrrC,SAASirC,EAAMI,OAAO,EAAG,GAAI,QAgCH,IAA1BJ,EAAMt1C,QAAQ,SA5BSs1C,EA6BCA,EA5BpBK,EAAWlwC,SAAS4B,KAAKkW,YAAY9X,SAASuc,cAAc,WAC5D4zB,EAAO,eACbD,EAASpkC,MAAM+jC,MAAQM,EA0BvBN,EAzBIK,EAASpkC,MAAM+jC,QAAUM,EACpBjD,IAETgD,EAASpkC,MAAM+jC,MAAQA,EACnBK,EAASpkC,MAAM+jC,QAAUM,GAAiC,KAAzBD,EAASpkC,MAAM+jC,MAC3C3C,IAET2C,EAAQvuC,iBAAiB4uC,GAAUL,MACnC7vC,SAAS4B,KAAK0S,YAAY47B,GACnBL,KAkBoB,IAAzBA,EAAMt1C,QAAQ,SAdhBs1C,GADiBA,EAgBAA,GAfHj1C,MAAM,WAAWoO,IAAI,SAAC/X,GAAD,OAAQu+B,OAAOv+B,MAC5CQ,OAAS,EACRo+C,GAgBF3C,IAhDP,IAAkB2C,EAaSA,EACnBK,EACAC,EAcWN,O,kCA0DvB7C,GAAmBzhD,QAAQ,SAAC6kD,GAC1B3jB,EAAaI,IAAI7sB,SAAU,QAASowC,EAAS3C,GAAO4C,YAAY,IAAI5C,OAUtE,IAGQze,GAHF1jC,GAAIm+B,KAENn+B,KACI0jC,GAAqB1jC,GAAEiV,GAAG8f,IAChC/0B,GAAEiV,GAAG8f,IAAQotB,GAAOxe,gBACpB3jC,GAAEiV,GAAG8f,IAAMjnB,YAAcq0C,GACzBniD,GAAEiV,GAAG8f,IAAM6O,WAAa,WAEtB,OADA5jC,GAAEiV,GAAG8f,IAAQ2O,GACNye,GAAOxe,kBAIHwe,YrKtVb1kD,EAAoBq0B,EAAIt0B,EAGxBC,EAAoB68B,EAAI,SAASn9B,EAAS4C,EAAMilD,GAC3CvnD,EAAoBs7B,EAAE57B,EAAS4C,IAClCU,OAAOoG,eAAe1J,EAAS4C,EAAM,CAAEoD,YAAY,EAAMuC,IAAKs/C,KAKhEvnD,EAAoBw7B,EAAI,SAAS97B,GACX,oBAAXyC,QAA0BA,OAAOs8B,aAC1Cz7B,OAAOoG,eAAe1J,EAASyC,OAAOs8B,YAAa,CAAEh9B,MAAO,WAE7DuB,OAAOoG,eAAe1J,EAAS,aAAc,CAAE+B,OAAO,KAQvDzB,EAAoBu7B,EAAI,SAAS95B,EAAOivB,GAEvC,GADU,EAAPA,IAAUjvB,EAAQzB,EAAoByB,IAC/B,EAAPivB,EAAU,OAAOjvB,EACpB,GAAW,EAAPivB,GAA8B,iBAAVjvB,GAAsBA,GAASA,EAAMy6B,WAAY,OAAOz6B,EAChF,IAAI+lD,EAAKxkD,OAAOmG,OAAO,MAGvB,GAFAnJ,EAAoBw7B,EAAEgsB,GACtBxkD,OAAOoG,eAAeo+C,EAAI,UAAW,CAAE9hD,YAAY,EAAMjE,MAAOA,IACtD,EAAPivB,GAA4B,iBAATjvB,EAAmB,IAAI,IAAIX,KAAOW,EAAOzB,EAAoB68B,EAAE2qB,EAAI1mD,EAAK,SAASA,GAAO,OAAOW,EAAMX,IAAQ6qB,KAAK,KAAM7qB,IAC9I,OAAO0mD,GAIRxnD,EAAoBqO,EAAI,SAAS1O,GAChC,IAAI4nD,EAAS5nD,GAAUA,EAAOu8B,WAC7B,WAAwB,OAAOv8B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAK,EAAoB68B,EAAE0qB,EAAQ,IAAKA,GAC5BA,GAIRvnD,EAAoBs7B,EAAI,SAAShuB,EAAQ4K,GAAY,OAAOlV,OAAOzB,UAAU0I,eAAehF,KAAKqI,EAAQ4K,IAGzGlY,EAAoB8L,EAAI,GAIjB9L,EAAoBA,EAAoB80B,EAAI,KA9EnD,SAAS90B,EAAoBynD,GAG5B,GAAG1nD,EAAiB0nD,GACnB,OAAO1nD,EAAiB0nD,GAAU/nD,QAGnC,IAAIC,EAASI,EAAiB0nD,GAAY,CACzCn5C,EAAGm5C,EACHhsB,GAAG,EACH/7B,QAAS,IAUV,OANAgoD,EAAQD,GAAUxiD,KAAKtF,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAO87B,GAAI,EAGJ97B,EAAOD,Q,MAvBXK","file":"js/mdb.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mdb\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mdb\"] = factory();\n\telse\n\t\troot[\"mdb\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 139);\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","module.exports = {};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = false;\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=0)}([function(e,t,n){\"use strict\";n.r(t);n(1),n(5);function o(e){if(!e.hasAttribute(\"autocompleted\")){e.setAttribute(\"autocompleted\",\"\");var t=new window.CustomEvent(\"onautocomplete\",{bubbles:!0,cancelable:!0,detail:null});e.dispatchEvent(t)||(e.value=\"\")}}function r(e){e.hasAttribute(\"autocompleted\")&&(e.removeAttribute(\"autocompleted\"),e.dispatchEvent(new window.CustomEvent(\"onautocomplete\",{bubbles:!0,cancelable:!1,detail:null})))}document.addEventListener(\"animationstart\",(function(e){\"onautofillstart\"===e.animationName?o(e.target):r(e.target)}),!0),document.addEventListener(\"input\",(function(e){\"insertReplacementText\"!==e.inputType&&\"data\"in e?r(e.target):o(e.target)}),!0)},function(e,t,n){var o=n(2),r=n(3);\"string\"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,\"\"]]);var a={insert:\"head\",singleton:!1},i=(o(r,a),r.locals?r.locals:{});e.exports=i},function(e,t,n){\"use strict\";var o,r=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),i=[];function u(e){for(var t=-1,n=0;n<i.length;n++)if(i[n].identifier===e){t=n;break}return t}function c(e,t){for(var n={},o=[],r=0;r<e.length;r++){var a=e[r],c=t.base?a[0]+t.base:a[0],l=n[c]||0,f=\"\".concat(c,\" \").concat(l);n[c]=l+1;var s=u(f),d={css:a[1],media:a[2],sourceMap:a[3]};-1!==s?(i[s].references++,i[s].updater(d)):i.push({identifier:f,updater:m(d,t),references:1}),o.push(f)}return o}function l(e){var t=document.createElement(\"style\"),o=e.attributes||{};if(void 0===o.nonce){var r=n.nc;r&&(o.nonce=r)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),\"function\"==typeof e.insert)e.insert(t);else{var i=a(e.insert||\"head\");if(!i)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");i.appendChild(t)}return t}var f,s=(f=[],function(e,t){return f[e]=t,f.filter(Boolean).join(\"\\n\")});function d(e,t,n,o){var r=n?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(e.styleSheet)e.styleSheet.cssText=s(t,r);else{var a=document.createTextNode(r),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(a,i[t]):e.appendChild(a)}}function p(e,t,n){var o=n.css,r=n.media,a=n.sourceMap;if(r?e.setAttribute(\"media\",r):e.removeAttribute(\"media\"),a&&btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var v=null,b=0;function m(e,t){var n,o,r;if(t.singleton){var a=b++;n=v||(v=l(t)),o=d.bind(null,n,a,!1),r=d.bind(null,n,a,!0)}else n=l(t),o=p.bind(null,n,t),r=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else r()}}e.exports=function(e,t){(t=t||{}).singleton||\"boolean\"==typeof t.singleton||(t.singleton=r());var n=c(e=e||[],t);return function(e){if(e=e||[],\"[object Array]\"===Object.prototype.toString.call(e)){for(var o=0;o<n.length;o++){var r=u(n[o]);i[r].references--}for(var a=c(e,t),l=0;l<n.length;l++){var f=u(n[l]);0===i[f].references&&(i[f].updater(),i.splice(f,1))}n=a}}}},function(e,t,n){(t=n(4)(!1)).push([e.i,\"INPUT:-webkit-autofill,SELECT:-webkit-autofill,TEXTAREA:-webkit-autofill{animation-name:onautofillstart}INPUT:not(:-webkit-autofill),SELECT:not(:-webkit-autofill),TEXTAREA:not(:-webkit-autofill){animation-name:onautofillcancel}@keyframes onautofillstart{from{}}@keyframes onautofillcancel{from{}}\\n\",\"\"]),e.exports=t},function(e,t,n){\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||\"\",o=e[3];if(!o)return n;if(t&&\"function\"==typeof btoa){var r=(i=o,u=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),c=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(u),\"/*# \".concat(c,\" */\")),a=o.sources.map((function(e){return\"/*# sourceURL=\".concat(o.sourceRoot||\"\").concat(e,\" */\")}));return[n].concat(a).concat([r]).join(\"\\n\")}var i,u,c;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n})).join(\"\")},t.i=function(e,n,o){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var r={};if(o)for(var a=0;a<this.length;a++){var i=this[a][0];null!=i&&(r[i]=!0)}for(var u=0;u<e.length;u++){var c=[].concat(e[u]);o&&r[c[0]]||(n&&(c[2]?c[2]=\"\".concat(n,\" and \").concat(c[2]):c[2]=n),t.push(c))}},t}},function(e,t){!function(){if(\"undefined\"!=typeof window)try{var e=new window.CustomEvent(\"test\",{cancelable:!0});if(e.preventDefault(),!0!==e.defaultPrevented)throw new Error(\"Could not prevent default\")}catch(e){var t=function(e,t){var n,o;return(t=t||{}).bubbles=!!t.bubbles,t.cancelable=!!t.cancelable,(n=document.createEvent(\"CustomEvent\")).initCustomEvent(e,t.bubbles,t.cancelable,t.detail),o=n.preventDefault,n.preventDefault=function(){o.call(this);try{Object.defineProperty(this,\"defaultPrevented\",{get:function(){return!0}})}catch(e){this.defaultPrevented=!0}},n};t.prototype=window.Event.prototype,window.CustomEvent=t}}()}]);","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\n// `Reflect.get` method\n// https://tc39.github.io/ecma262/#sec-reflect.get\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var descriptor, prototype;\n if (anObject(target) === receiver) return target[propertyKey];\n if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(receiver);\n if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);\n}\n\n$({ target: 'Reflect', stat: true }, {\n get: get\n});\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): util/index.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst MAX_UID = 1000000;\r\nconst MILLISECONDS_MULTIPLIER = 1000;\r\nconst TRANSITION_END = 'transitionend';\r\n\r\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\r\nconst toType = (obj) => {\r\n if (obj === null || obj === undefined) {\r\n return `${obj}`;\r\n }\r\n\r\n return {}.toString\r\n .call(obj)\r\n .match(/\\s([a-z]+)/i)[1]\r\n .toLowerCase();\r\n};\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Public Util Api\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst getUID = (prefix) => {\r\n do {\r\n prefix += Math.floor(Math.random() * MAX_UID);\r\n } while (document.getElementById(prefix));\r\n\r\n return prefix;\r\n};\r\n\r\nconst getSelector = (element) => {\r\n let selector = element.getAttribute('data-target');\r\n\r\n if (!selector || selector === '#') {\r\n const hrefAttr = element.getAttribute('href');\r\n\r\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\r\n }\r\n\r\n return selector;\r\n};\r\n\r\nconst getSelectorFromElement = (element) => {\r\n const selector = getSelector(element);\r\n\r\n if (selector) {\r\n return document.querySelector(selector) ? selector : null;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getElementFromSelector = (element) => {\r\n const selector = getSelector(element);\r\n\r\n return selector ? document.querySelector(selector) : null;\r\n};\r\n\r\nconst getTransitionDurationFromElement = (element) => {\r\n if (!element) {\r\n return 0;\r\n }\r\n\r\n // Get transition-duration of the element\r\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element);\r\n\r\n const floatTransitionDuration = parseFloat(transitionDuration);\r\n const floatTransitionDelay = parseFloat(transitionDelay);\r\n\r\n // Return 0 if element or transition duration is not found\r\n if (!floatTransitionDuration && !floatTransitionDelay) {\r\n return 0;\r\n }\r\n\r\n // If multiple durations are defined, take the first\r\n transitionDuration = transitionDuration.split(',')[0];\r\n transitionDelay = transitionDelay.split(',')[0];\r\n\r\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\r\n};\r\n\r\nconst triggerTransitionEnd = (element) => {\r\n element.dispatchEvent(new Event(TRANSITION_END));\r\n};\r\n\r\nconst isElement = (obj) => (obj[0] || obj).nodeType;\r\n\r\nconst emulateTransitionEnd = (element, duration) => {\r\n let called = false;\r\n const durationPadding = 5;\r\n const emulatedDuration = duration + durationPadding;\r\n function listener() {\r\n called = true;\r\n element.removeEventListener(TRANSITION_END, listener);\r\n }\r\n\r\n element.addEventListener(TRANSITION_END, listener);\r\n setTimeout(() => {\r\n if (!called) {\r\n triggerTransitionEnd(element);\r\n }\r\n }, emulatedDuration);\r\n};\r\n\r\nconst typeCheckConfig = (componentName, config, configTypes) => {\r\n Object.keys(configTypes).forEach((property) => {\r\n const expectedTypes = configTypes[property];\r\n const value = config[property];\r\n const valueType = value && isElement(value) ? 'element' : toType(value);\r\n\r\n if (!new RegExp(expectedTypes).test(valueType)) {\r\n throw new Error(\r\n `${componentName.toUpperCase()}: ` +\r\n `Option \"${property}\" provided type \"${valueType}\" ` +\r\n `but expected type \"${expectedTypes}\".`\r\n );\r\n }\r\n });\r\n};\r\n\r\nconst isVisible = (element) => {\r\n if (!element) {\r\n return false;\r\n }\r\n\r\n if (element.style && element.parentNode && element.parentNode.style) {\r\n const elementStyle = getComputedStyle(element);\r\n const parentNodeStyle = getComputedStyle(element.parentNode);\r\n\r\n return (\r\n elementStyle.display !== 'none' &&\r\n parentNodeStyle.display !== 'none' &&\r\n elementStyle.visibility !== 'hidden'\r\n );\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst findShadowRoot = (element) => {\r\n if (!document.documentElement.attachShadow) {\r\n return null;\r\n }\r\n\r\n // Can find the shadow root otherwise it'll return the document\r\n if (typeof element.getRootNode === 'function') {\r\n const root = element.getRootNode();\r\n return root instanceof ShadowRoot ? root : null;\r\n }\r\n\r\n if (element instanceof ShadowRoot) {\r\n return element;\r\n }\r\n\r\n // when we don't find a shadow root\r\n if (!element.parentNode) {\r\n return null;\r\n }\r\n\r\n return findShadowRoot(element.parentNode);\r\n};\r\n\r\nconst noop = () => function () {};\r\n\r\nconst reflow = (element) => element.offsetHeight;\r\n\r\nconst getjQuery = () => {\r\n const { jQuery } = window;\r\n\r\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\r\n return jQuery;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport {\r\n getjQuery,\r\n TRANSITION_END,\r\n getUID,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n triggerTransitionEnd,\r\n isElement,\r\n emulateTransitionEnd,\r\n typeCheckConfig,\r\n isVisible,\r\n findShadowRoot,\r\n noop,\r\n reflow,\r\n};\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/data.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst mapData = (() => {\r\n const storeData = {};\r\n let id = 1;\r\n return {\r\n set(element, key, data) {\r\n if (typeof element.key === 'undefined') {\r\n element.key = {\r\n key,\r\n id,\r\n };\r\n id++;\r\n }\r\n\r\n storeData[element.key.id] = data;\r\n },\r\n get(element, key) {\r\n if (!element || typeof element.key === 'undefined') {\r\n return null;\r\n }\r\n\r\n const keyProperties = element.key;\r\n if (keyProperties.key === key) {\r\n return storeData[keyProperties.id];\r\n }\r\n\r\n return null;\r\n },\r\n delete(element, key) {\r\n if (typeof element.key === 'undefined') {\r\n return;\r\n }\r\n\r\n const keyProperties = element.key;\r\n if (keyProperties.key === key) {\r\n delete storeData[keyProperties.id];\r\n delete element.key;\r\n }\r\n },\r\n };\r\n})();\r\n\r\nconst Data = {\r\n setData(instance, key, data) {\r\n mapData.set(instance, key, data);\r\n },\r\n getData(instance, key) {\r\n return mapData.get(instance, key);\r\n },\r\n removeData(instance, key) {\r\n mapData.delete(instance, key);\r\n },\r\n};\r\n\r\nexport default Data;\r\n","/* istanbul ignore file */\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/polyfill.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getUID } from '../util/index';\r\n\r\nlet find = Element.prototype.querySelectorAll;\r\nlet findOne = Element.prototype.querySelector;\r\n\r\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\r\nconst defaultPreventedPreservedOnDispatch = (() => {\r\n const e = new CustomEvent('Bootstrap', {\r\n cancelable: true,\r\n });\r\n\r\n const element = document.createElement('div');\r\n element.addEventListener('Bootstrap', () => null);\r\n\r\n e.preventDefault();\r\n element.dispatchEvent(e);\r\n return e.defaultPrevented;\r\n})();\r\n\r\nconst scopeSelectorRegex = /:scope\\b/;\r\nconst supportScopeQuery = (() => {\r\n const element = document.createElement('div');\r\n\r\n try {\r\n element.querySelectorAll(':scope *');\r\n } catch (_) {\r\n return false;\r\n }\r\n\r\n return true;\r\n})();\r\n\r\nif (!supportScopeQuery) {\r\n find = function (selector) {\r\n if (!scopeSelectorRegex.test(selector)) {\r\n return this.querySelectorAll(selector);\r\n }\r\n\r\n const hasId = Boolean(this.id);\r\n\r\n if (!hasId) {\r\n this.id = getUID('scope');\r\n }\r\n\r\n let nodeList = null;\r\n try {\r\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`);\r\n nodeList = this.querySelectorAll(selector);\r\n } finally {\r\n if (!hasId) {\r\n this.removeAttribute('id');\r\n }\r\n }\r\n\r\n return nodeList;\r\n };\r\n\r\n findOne = function (selector) {\r\n if (!scopeSelectorRegex.test(selector)) {\r\n return this.querySelector(selector);\r\n }\r\n\r\n const matches = find.call(this, selector);\r\n\r\n if (typeof matches[0] !== 'undefined') {\r\n return matches[0];\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n\r\nexport { find, findOne, defaultPreventedPreservedOnDispatch };\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/event-handler.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getjQuery } from '../util/index';\r\nimport { defaultPreventedPreservedOnDispatch } from './polyfill';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst $ = getjQuery();\r\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\r\nconst stripNameRegex = /\\..*/;\r\nconst stripUidRegex = /::\\d+$/;\r\nconst eventRegistry = {}; // Events storage\r\nlet uidEvent = 1;\r\nconst customEvents = {\r\n mouseenter: 'mouseover',\r\n mouseleave: 'mouseout',\r\n};\r\nconst nativeEvents = [\r\n 'click',\r\n 'dblclick',\r\n 'mouseup',\r\n 'mousedown',\r\n 'contextmenu',\r\n 'mousewheel',\r\n 'DOMMouseScroll',\r\n 'mouseover',\r\n 'mouseout',\r\n 'mousemove',\r\n 'selectstart',\r\n 'selectend',\r\n 'keydown',\r\n 'keypress',\r\n 'keyup',\r\n 'orientationchange',\r\n 'touchstart',\r\n 'touchmove',\r\n 'touchend',\r\n 'touchcancel',\r\n 'pointerdown',\r\n 'pointermove',\r\n 'pointerup',\r\n 'pointerleave',\r\n 'pointercancel',\r\n 'gesturestart',\r\n 'gesturechange',\r\n 'gestureend',\r\n 'focus',\r\n 'blur',\r\n 'change',\r\n 'reset',\r\n 'select',\r\n 'submit',\r\n 'focusin',\r\n 'focusout',\r\n 'load',\r\n 'unload',\r\n 'beforeunload',\r\n 'resize',\r\n 'move',\r\n 'DOMContentLoaded',\r\n 'readystatechange',\r\n 'error',\r\n 'abort',\r\n 'scroll',\r\n];\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Private methods\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nfunction getUidEvent(element, uid) {\r\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++;\r\n}\r\n\r\nfunction getEvent(element) {\r\n const uid = getUidEvent(element);\r\n\r\n element.uidEvent = uid;\r\n eventRegistry[uid] = eventRegistry[uid] || {};\r\n\r\n return eventRegistry[uid];\r\n}\r\n\r\nfunction bootstrapHandler(element, fn) {\r\n return function handler(event) {\r\n if (handler.oneOff) {\r\n EventHandler.off(element, event.type, fn);\r\n }\r\n\r\n return fn.apply(element, [event]);\r\n };\r\n}\r\n\r\nfunction bootstrapDelegationHandler(element, selector, fn) {\r\n return function handler(event) {\r\n const domElements = element.querySelectorAll(selector);\r\n\r\n for (let { target } = event; target && target !== this; target = target.parentNode) {\r\n for (let i = domElements.length; i--; ) {\r\n if (domElements[i] === target) {\r\n if (handler.oneOff) {\r\n EventHandler.off(element, event.type, fn);\r\n }\r\n\r\n return fn.apply(target, [event]);\r\n }\r\n }\r\n }\r\n\r\n // To please ESLint\r\n return null;\r\n };\r\n}\r\n\r\nfunction findHandler(events, handler, delegationSelector = null) {\r\n const uidEventList = Object.keys(events);\r\n\r\n for (let i = 0, len = uidEventList.length; i < len; i++) {\r\n const event = events[uidEventList[i]];\r\n\r\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\r\n return event;\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\r\n const delegation = typeof handler === 'string';\r\n const originalHandler = delegation ? delegationFn : handler;\r\n\r\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\r\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '');\r\n const custom = customEvents[typeEvent];\r\n\r\n if (custom) {\r\n typeEvent = custom;\r\n }\r\n\r\n const isNative = nativeEvents.indexOf(typeEvent) > -1;\r\n\r\n if (!isNative) {\r\n typeEvent = originalTypeEvent;\r\n }\r\n\r\n return [delegation, originalHandler, typeEvent];\r\n}\r\n\r\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\r\n if (typeof originalTypeEvent !== 'string' || !element) {\r\n return;\r\n }\r\n\r\n if (!handler) {\r\n handler = delegationFn;\r\n delegationFn = null;\r\n }\r\n\r\n const [delegation, originalHandler, typeEvent] = normalizeParams(\r\n originalTypeEvent,\r\n handler,\r\n delegationFn\r\n );\r\n const events = getEvent(element);\r\n const handlers = events[typeEvent] || (events[typeEvent] = {});\r\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);\r\n\r\n if (previousFn) {\r\n previousFn.oneOff = previousFn.oneOff && oneOff;\r\n\r\n return;\r\n }\r\n\r\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));\r\n const fn = delegation\r\n ? bootstrapDelegationHandler(element, handler, delegationFn)\r\n : bootstrapHandler(element, handler);\r\n\r\n fn.delegationSelector = delegation ? handler : null;\r\n fn.originalHandler = originalHandler;\r\n fn.oneOff = oneOff;\r\n fn.uidEvent = uid;\r\n handlers[uid] = fn;\r\n\r\n element.addEventListener(typeEvent, fn, delegation);\r\n}\r\n\r\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\r\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\r\n\r\n if (!fn) {\r\n return;\r\n }\r\n\r\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\r\n delete events[typeEvent][fn.uidEvent];\r\n}\r\n\r\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\r\n const storeElementEvent = events[typeEvent] || {};\r\n\r\n Object.keys(storeElementEvent).forEach((handlerKey) => {\r\n if (handlerKey.indexOf(namespace) > -1) {\r\n const event = storeElementEvent[handlerKey];\r\n\r\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\r\n }\r\n });\r\n}\r\n\r\nconst EventHandler = {\r\n on(element, event, handler, delegationFn) {\r\n addHandler(element, event, handler, delegationFn, false);\r\n },\r\n\r\n one(element, event, handler, delegationFn) {\r\n addHandler(element, event, handler, delegationFn, true);\r\n },\r\n\r\n off(element, originalTypeEvent, handler, delegationFn) {\r\n if (typeof originalTypeEvent !== 'string' || !element) {\r\n return;\r\n }\r\n\r\n const [delegation, originalHandler, typeEvent] = normalizeParams(\r\n originalTypeEvent,\r\n handler,\r\n delegationFn\r\n );\r\n const inNamespace = typeEvent !== originalTypeEvent;\r\n const events = getEvent(element);\r\n const isNamespace = originalTypeEvent.charAt(0) === '.';\r\n\r\n if (typeof originalHandler !== 'undefined') {\r\n // Simplest case: handler is passed, remove that listener ONLY.\r\n if (!events || !events[typeEvent]) {\r\n return;\r\n }\r\n\r\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);\r\n return;\r\n }\r\n\r\n if (isNamespace) {\r\n Object.keys(events).forEach((elementEvent) => {\r\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\r\n });\r\n }\r\n\r\n const storeElementEvent = events[typeEvent] || {};\r\n Object.keys(storeElementEvent).forEach((keyHandlers) => {\r\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\r\n\r\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\r\n const event = storeElementEvent[keyHandlers];\r\n\r\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\r\n }\r\n });\r\n },\r\n\r\n trigger(element, event, args) {\r\n if (typeof event !== 'string' || !element) {\r\n return null;\r\n }\r\n\r\n const typeEvent = event.replace(stripNameRegex, '');\r\n const inNamespace = event !== typeEvent;\r\n const isNative = nativeEvents.indexOf(typeEvent) > -1;\r\n\r\n let jQueryEvent;\r\n let bubbles = true;\r\n let nativeDispatch = true;\r\n let defaultPrevented = false;\r\n let evt = null;\r\n\r\n if (inNamespace && $) {\r\n jQueryEvent = $.Event(event, args);\r\n\r\n $(element).trigger(jQueryEvent);\r\n bubbles = !jQueryEvent.isPropagationStopped();\r\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\r\n defaultPrevented = jQueryEvent.isDefaultPrevented();\r\n }\r\n\r\n if (isNative) {\r\n evt = document.createEvent('HTMLEvents');\r\n evt.initEvent(typeEvent, bubbles, true);\r\n } else {\r\n evt = new CustomEvent(event, {\r\n bubbles,\r\n cancelable: true,\r\n });\r\n }\r\n\r\n // merge custom informations in our event\r\n if (typeof args !== 'undefined') {\r\n Object.keys(args).forEach((key) => {\r\n Object.defineProperty(evt, key, {\r\n get() {\r\n return args[key];\r\n },\r\n });\r\n });\r\n }\r\n\r\n if (defaultPrevented) {\r\n evt.preventDefault();\r\n\r\n if (!defaultPreventedPreservedOnDispatch) {\r\n Object.defineProperty(evt, 'defaultPrevented', {\r\n get: () => true,\r\n });\r\n }\r\n }\r\n\r\n if (nativeDispatch) {\r\n element.dispatchEvent(evt);\r\n }\r\n\r\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\r\n jQueryEvent.preventDefault();\r\n }\r\n\r\n return evt;\r\n },\r\n};\r\n\r\nexport default EventHandler;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): alert.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'alert';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.alert';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]';\r\n\r\nconst EVENT_CLOSE = `close${EVENT_KEY}`;\r\nconst EVENT_CLOSED = `closed${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASSNAME_ALERT = 'alert';\r\nconst CLASSNAME_FADE = 'fade';\r\nconst CLASSNAME_SHOW = 'show';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Alert {\r\n constructor(element) {\r\n this._element = element;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n // Public\r\n\r\n close(element) {\r\n let rootElement = this._element;\r\n if (element) {\r\n rootElement = this._getRootElement(element);\r\n }\r\n\r\n const customEvent = this._triggerCloseEvent(rootElement);\r\n\r\n if (customEvent === null || customEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._removeElement(rootElement);\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n\r\n _getRootElement(element) {\r\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`);\r\n }\r\n\r\n _triggerCloseEvent(element) {\r\n return EventHandler.trigger(element, EVENT_CLOSE);\r\n }\r\n\r\n _removeElement(element) {\r\n element.classList.remove(CLASSNAME_SHOW);\r\n\r\n if (!element.classList.contains(CLASSNAME_FADE)) {\r\n this._destroyElement(element);\r\n return;\r\n }\r\n\r\n const transitionDuration = getTransitionDurationFromElement(element);\r\n\r\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element));\r\n emulateTransitionEnd(element, transitionDuration);\r\n }\r\n\r\n _destroyElement(element) {\r\n if (element.parentNode) {\r\n element.parentNode.removeChild(element);\r\n }\r\n\r\n EventHandler.trigger(element, EVENT_CLOSED);\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n\r\n if (!data) {\r\n data = new Alert(this);\r\n }\r\n\r\n if (config === 'close') {\r\n data[config](this);\r\n }\r\n });\r\n }\r\n\r\n static handleDismiss(alertInstance) {\r\n return function (event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n alertInstance.close(this);\r\n };\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .alert to jQuery only if jQuery is present\r\n */\r\n\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Alert.jQueryInterface;\r\n $.fn[NAME].Constructor = Alert;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Alert.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Alert;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): button.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getjQuery } from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'button';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.button';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst CLASS_NAME_ACTIVE = 'active';\r\n\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]';\r\n\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Button {\r\n constructor(element) {\r\n this._element = element;\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\r\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n\r\n if (!data) {\r\n data = new Button(this);\r\n }\r\n\r\n if (config === 'toggle') {\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, (event) => {\r\n event.preventDefault();\r\n\r\n const button = event.target.closest(SELECTOR_DATA_TOGGLE);\r\n\r\n let data = Data.getData(button, DATA_KEY);\r\n if (!data) {\r\n data = new Button(button);\r\n }\r\n\r\n data.toggle();\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .button to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Button.jQueryInterface;\r\n $.fn[NAME].Constructor = Button;\r\n\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Button.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Button;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/manipulator.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nfunction normalizeData(val) {\r\n if (val === 'true') {\r\n return true;\r\n }\r\n\r\n if (val === 'false') {\r\n return false;\r\n }\r\n\r\n if (val === Number(val).toString()) {\r\n return Number(val);\r\n }\r\n\r\n if (val === '' || val === 'null') {\r\n return null;\r\n }\r\n\r\n return val;\r\n}\r\n\r\nfunction normalizeDataKey(key) {\r\n return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`);\r\n}\r\n\r\nconst Manipulator = {\r\n setDataAttribute(element, key, value) {\r\n element.setAttribute(`data-${normalizeDataKey(key)}`, value);\r\n },\r\n\r\n removeDataAttribute(element, key) {\r\n element.removeAttribute(`data-${normalizeDataKey(key)}`);\r\n },\r\n\r\n getDataAttributes(element) {\r\n if (!element) {\r\n return {};\r\n }\r\n\r\n const attributes = {\r\n ...element.dataset,\r\n };\r\n\r\n Object.keys(attributes).forEach((key) => {\r\n attributes[key] = normalizeData(attributes[key]);\r\n });\r\n\r\n return attributes;\r\n },\r\n\r\n getDataAttribute(element, key) {\r\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`));\r\n },\r\n\r\n offset(element) {\r\n const rect = element.getBoundingClientRect();\r\n\r\n return {\r\n top: rect.top + document.body.scrollTop,\r\n left: rect.left + document.body.scrollLeft,\r\n };\r\n },\r\n\r\n position(element) {\r\n return {\r\n top: element.offsetTop,\r\n left: element.offsetLeft,\r\n };\r\n },\r\n\r\n toggleClass(element, className) {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n if (element.classList.contains(className)) {\r\n element.classList.remove(className);\r\n } else {\r\n element.classList.add(className);\r\n }\r\n },\r\n};\r\n\r\nexport default Manipulator;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/selector-engine.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { find as findFn, findOne } from './polyfill';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NODE_TEXT = 3;\r\n\r\nconst SelectorEngine = {\r\n matches(element, selector) {\r\n return element.matches(selector);\r\n },\r\n\r\n find(selector, element = document.documentElement) {\r\n return [].concat(...findFn.call(element, selector));\r\n },\r\n\r\n findOne(selector, element = document.documentElement) {\r\n return findOne.call(element, selector);\r\n },\r\n\r\n children(element, selector) {\r\n const children = [].concat(...element.children);\r\n\r\n return children.filter((child) => child.matches(selector));\r\n },\r\n\r\n parents(element, selector) {\r\n const parents = [];\r\n\r\n let ancestor = element.parentNode;\r\n\r\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\r\n if (this.matches(ancestor, selector)) {\r\n parents.push(ancestor);\r\n }\r\n\r\n ancestor = ancestor.parentNode;\r\n }\r\n\r\n return parents;\r\n },\r\n\r\n prev(element, selector) {\r\n let previous = element.previousElementSibling;\r\n\r\n while (previous) {\r\n if (previous.matches(selector)) {\r\n return [previous];\r\n }\r\n\r\n previous = previous.previousElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n\r\n next(element, selector) {\r\n let next = element.nextElementSibling;\r\n\r\n while (next) {\r\n if (this.matches(next, selector)) {\r\n return [next];\r\n }\r\n\r\n next = next.nextElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n};\r\n\r\nexport default SelectorEngine;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): carousel.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n isVisible,\r\n reflow,\r\n triggerTransitionEnd,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'carousel';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.carousel';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst ARROW_LEFT_KEY = 'ArrowLeft';\r\nconst ARROW_RIGHT_KEY = 'ArrowRight';\r\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\r\nconst SWIPE_THRESHOLD = 40;\r\n\r\nconst Default = {\r\n interval: 5000,\r\n keyboard: true,\r\n slide: false,\r\n pause: 'hover',\r\n wrap: true,\r\n touch: true,\r\n};\r\n\r\nconst DefaultType = {\r\n interval: '(number|boolean)',\r\n keyboard: 'boolean',\r\n slide: '(boolean|string)',\r\n pause: '(string|boolean)',\r\n wrap: 'boolean',\r\n touch: 'boolean',\r\n};\r\n\r\nconst DIRECTION_NEXT = 'next';\r\nconst DIRECTION_PREV = 'prev';\r\nconst DIRECTION_LEFT = 'left';\r\nconst DIRECTION_RIGHT = 'right';\r\n\r\nconst EVENT_SLIDE = `slide${EVENT_KEY}`;\r\nconst EVENT_SLID = `slid${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`;\r\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`;\r\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`;\r\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`;\r\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`;\r\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`;\r\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`;\r\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`;\r\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`;\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_CAROUSEL = 'carousel';\r\nconst CLASS_NAME_ACTIVE = 'active';\r\nconst CLASS_NAME_SLIDE = 'slide';\r\nconst CLASS_NAME_RIGHT = 'carousel-item-right';\r\nconst CLASS_NAME_LEFT = 'carousel-item-left';\r\nconst CLASS_NAME_NEXT = 'carousel-item-next';\r\nconst CLASS_NAME_PREV = 'carousel-item-prev';\r\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\r\n\r\nconst SELECTOR_ACTIVE = '.active';\r\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\r\nconst SELECTOR_ITEM = '.carousel-item';\r\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\r\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\r\nconst SELECTOR_INDICATORS = '.carousel-indicators';\r\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';\r\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]';\r\n\r\nconst PointerType = {\r\n TOUCH: 'touch',\r\n PEN: 'pen',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\nclass Carousel {\r\n constructor(element, config) {\r\n this._items = null;\r\n this._interval = null;\r\n this._activeElement = null;\r\n this._isPaused = false;\r\n this._isSliding = false;\r\n this.touchTimeout = null;\r\n this.touchStartX = 0;\r\n this.touchDeltaX = 0;\r\n\r\n this._config = this._getConfig(config);\r\n this._element = element;\r\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\r\n this._touchSupported =\r\n 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\r\n this._pointerEvent = Boolean(window.PointerEvent);\r\n\r\n this._addEventListeners();\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n next() {\r\n if (!this._isSliding) {\r\n this._slide(DIRECTION_NEXT);\r\n }\r\n }\r\n\r\n nextWhenVisible() {\r\n // Don't call next when the page isn't visible\r\n // or the carousel or its parent isn't visible\r\n if (!document.hidden && isVisible(this._element)) {\r\n this.next();\r\n }\r\n }\r\n\r\n prev() {\r\n if (!this._isSliding) {\r\n this._slide(DIRECTION_PREV);\r\n }\r\n }\r\n\r\n pause(event) {\r\n if (!event) {\r\n this._isPaused = true;\r\n }\r\n\r\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\r\n triggerTransitionEnd(this._element);\r\n this.cycle(true);\r\n }\r\n\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n\r\n cycle(event) {\r\n if (!event) {\r\n this._isPaused = false;\r\n }\r\n\r\n if (this._interval) {\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n\r\n if (this._config && this._config.interval && !this._isPaused) {\r\n this._interval = setInterval(\r\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\r\n this._config.interval\r\n );\r\n }\r\n }\r\n\r\n to(index) {\r\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\r\n const activeIndex = this._getItemIndex(this._activeElement);\r\n\r\n if (index > this._items.length - 1 || index < 0) {\r\n return;\r\n }\r\n\r\n if (this._isSliding) {\r\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\r\n return;\r\n }\r\n\r\n if (activeIndex === index) {\r\n this.pause();\r\n this.cycle();\r\n return;\r\n }\r\n\r\n const direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;\r\n\r\n this._slide(direction, this._items[index]);\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(this._element, EVENT_KEY);\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._items = null;\r\n this._config = null;\r\n this._element = null;\r\n this._interval = null;\r\n this._isPaused = null;\r\n this._isSliding = null;\r\n this._activeElement = null;\r\n this._indicatorsElement = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...config,\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _handleSwipe() {\r\n const absDeltax = Math.abs(this.touchDeltaX);\r\n\r\n if (absDeltax <= SWIPE_THRESHOLD) {\r\n return;\r\n }\r\n\r\n const direction = absDeltax / this.touchDeltaX;\r\n\r\n this.touchDeltaX = 0;\r\n\r\n // swipe left\r\n if (direction > 0) {\r\n this.prev();\r\n }\r\n\r\n // swipe right\r\n if (direction < 0) {\r\n this.next();\r\n }\r\n }\r\n\r\n _addEventListeners() {\r\n if (this._config.keyboard) {\r\n EventHandler.on(this._element, EVENT_KEYDOWN, (event) => this._keydown(event));\r\n }\r\n\r\n if (this._config.pause === 'hover') {\r\n EventHandler.on(this._element, EVENT_MOUSEENTER, (event) => this.pause(event));\r\n EventHandler.on(this._element, EVENT_MOUSELEAVE, (event) => this.cycle(event));\r\n }\r\n\r\n if (this._config.touch && this._touchSupported) {\r\n this._addTouchEventListeners();\r\n }\r\n }\r\n\r\n _addTouchEventListeners() {\r\n const start = (event) => {\r\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\r\n this.touchStartX = event.clientX;\r\n } else if (!this._pointerEvent) {\r\n this.touchStartX = event.touches[0].clientX;\r\n }\r\n };\r\n\r\n const move = (event) => {\r\n // ensure swiping with one touch and not pinching\r\n if (event.touches && event.touches.length > 1) {\r\n this.touchDeltaX = 0;\r\n } else {\r\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX;\r\n }\r\n };\r\n\r\n const end = (event) => {\r\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\r\n this.touchDeltaX = event.clientX - this.touchStartX;\r\n }\r\n\r\n this._handleSwipe();\r\n if (this._config.pause === 'hover') {\r\n // If it's a touch-enabled device, mouseenter/leave are fired as\r\n // part of the mouse compatibility events on first tap - the carousel\r\n // would stop cycling until user tapped out of it;\r\n // here, we listen for touchend, explicitly pause the carousel\r\n // (as if it's the second time we tap on it, mouseenter compat event\r\n // is NOT fired) and after a timeout (to allow for mouse compatibility\r\n // events to fire) we explicitly restart cycling\r\n\r\n this.pause();\r\n if (this.touchTimeout) {\r\n clearTimeout(this.touchTimeout);\r\n }\r\n\r\n this.touchTimeout = setTimeout(\r\n (event) => this.cycle(event),\r\n TOUCHEVENT_COMPAT_WAIT + this._config.interval\r\n );\r\n }\r\n };\r\n\r\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach((itemImg) => {\r\n EventHandler.on(itemImg, EVENT_DRAG_START, (e) => e.preventDefault());\r\n });\r\n\r\n if (this._pointerEvent) {\r\n EventHandler.on(this._element, EVENT_POINTERDOWN, (event) => start(event));\r\n EventHandler.on(this._element, EVENT_POINTERUP, (event) => end(event));\r\n\r\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\r\n } else {\r\n EventHandler.on(this._element, EVENT_TOUCHSTART, (event) => start(event));\r\n EventHandler.on(this._element, EVENT_TOUCHMOVE, (event) => move(event));\r\n EventHandler.on(this._element, EVENT_TOUCHEND, (event) => end(event));\r\n }\r\n }\r\n\r\n _keydown(event) {\r\n if (/input|textarea/i.test(event.target.tagName)) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case ARROW_LEFT_KEY:\r\n event.preventDefault();\r\n this.prev();\r\n break;\r\n case ARROW_RIGHT_KEY:\r\n event.preventDefault();\r\n this.next();\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n _getItemIndex(element) {\r\n this._items =\r\n element && element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : [];\r\n\r\n return this._items.indexOf(element);\r\n }\r\n\r\n _getItemByDirection(direction, activeElement) {\r\n const isNextDirection = direction === DIRECTION_NEXT;\r\n const isPrevDirection = direction === DIRECTION_PREV;\r\n const activeIndex = this._getItemIndex(activeElement);\r\n const lastItemIndex = this._items.length - 1;\r\n const isGoingToWrap =\r\n (isPrevDirection && activeIndex === 0) || (isNextDirection && activeIndex === lastItemIndex);\r\n\r\n if (isGoingToWrap && !this._config.wrap) {\r\n return activeElement;\r\n }\r\n\r\n const delta = direction === DIRECTION_PREV ? -1 : 1;\r\n const itemIndex = (activeIndex + delta) % this._items.length;\r\n\r\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\r\n }\r\n\r\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\r\n const targetIndex = this._getItemIndex(relatedTarget);\r\n const fromIndex = this._getItemIndex(\r\n SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\r\n );\r\n\r\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\r\n relatedTarget,\r\n direction: eventDirectionName,\r\n from: fromIndex,\r\n to: targetIndex,\r\n });\r\n }\r\n\r\n _setActiveIndicatorElement(element) {\r\n if (this._indicatorsElement) {\r\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement);\r\n for (let i = 0; i < indicators.length; i++) {\r\n indicators[i].classList.remove(CLASS_NAME_ACTIVE);\r\n }\r\n\r\n const nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\r\n\r\n if (nextIndicator) {\r\n nextIndicator.classList.add(CLASS_NAME_ACTIVE);\r\n }\r\n }\r\n }\r\n\r\n _slide(direction, element) {\r\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\r\n const activeElementIndex = this._getItemIndex(activeElement);\r\n const nextElement =\r\n element || (activeElement && this._getItemByDirection(direction, activeElement));\r\n\r\n const nextElementIndex = this._getItemIndex(nextElement);\r\n const isCycling = Boolean(this._interval);\r\n\r\n let directionalClassName;\r\n let orderClassName;\r\n let eventDirectionName;\r\n\r\n if (direction === DIRECTION_NEXT) {\r\n directionalClassName = CLASS_NAME_LEFT;\r\n orderClassName = CLASS_NAME_NEXT;\r\n eventDirectionName = DIRECTION_LEFT;\r\n } else {\r\n directionalClassName = CLASS_NAME_RIGHT;\r\n orderClassName = CLASS_NAME_PREV;\r\n eventDirectionName = DIRECTION_RIGHT;\r\n }\r\n\r\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\r\n this._isSliding = false;\r\n return;\r\n }\r\n\r\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\r\n if (slideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (!activeElement || !nextElement) {\r\n // Some weirdness is happening, so we bail\r\n return;\r\n }\r\n\r\n this._isSliding = true;\r\n\r\n if (isCycling) {\r\n this.pause();\r\n }\r\n\r\n this._setActiveIndicatorElement(nextElement);\r\n\r\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\r\n nextElement.classList.add(orderClassName);\r\n\r\n reflow(nextElement);\r\n\r\n activeElement.classList.add(directionalClassName);\r\n nextElement.classList.add(directionalClassName);\r\n\r\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);\r\n if (nextElementInterval) {\r\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\r\n this._config.interval = nextElementInterval;\r\n } else {\r\n this._config.interval = this._config.defaultInterval || this._config.interval;\r\n }\r\n\r\n const transitionDuration = getTransitionDurationFromElement(activeElement);\r\n\r\n EventHandler.one(activeElement, TRANSITION_END, () => {\r\n nextElement.classList.remove(directionalClassName, orderClassName);\r\n nextElement.classList.add(CLASS_NAME_ACTIVE);\r\n\r\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName);\r\n\r\n this._isSliding = false;\r\n\r\n setTimeout(() => {\r\n EventHandler.trigger(this._element, EVENT_SLID, {\r\n relatedTarget: nextElement,\r\n direction: eventDirectionName,\r\n from: activeElementIndex,\r\n to: nextElementIndex,\r\n });\r\n }, 0);\r\n });\r\n\r\n emulateTransitionEnd(activeElement, transitionDuration);\r\n } else {\r\n activeElement.classList.remove(CLASS_NAME_ACTIVE);\r\n nextElement.classList.add(CLASS_NAME_ACTIVE);\r\n\r\n this._isSliding = false;\r\n EventHandler.trigger(this._element, EVENT_SLID, {\r\n relatedTarget: nextElement,\r\n direction: eventDirectionName,\r\n from: activeElementIndex,\r\n to: nextElementIndex,\r\n });\r\n }\r\n\r\n if (isCycling) {\r\n this.cycle();\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static carouselInterface(element, config) {\r\n let data = Data.getData(element, DATA_KEY);\r\n let _config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(element),\r\n };\r\n\r\n if (typeof config === 'object') {\r\n _config = {\r\n ..._config,\r\n ...config,\r\n };\r\n }\r\n\r\n const action = typeof config === 'string' ? config : _config.slide;\r\n\r\n if (!data) {\r\n data = new Carousel(element, _config);\r\n }\r\n\r\n if (typeof config === 'number') {\r\n data.to(config);\r\n } else if (typeof action === 'string') {\r\n if (typeof data[action] === 'undefined') {\r\n throw new TypeError(`No method named \"${action}\"`);\r\n }\r\n\r\n data[action]();\r\n } else if (_config.interval && _config.ride) {\r\n data.pause();\r\n data.cycle();\r\n }\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n Carousel.carouselInterface(this, config);\r\n });\r\n }\r\n\r\n static dataApiClickHandler(event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\r\n return;\r\n }\r\n\r\n const config = {\r\n ...Manipulator.getDataAttributes(target),\r\n ...Manipulator.getDataAttributes(this),\r\n };\r\n const slideIndex = this.getAttribute('data-slide-to');\r\n\r\n if (slideIndex) {\r\n config.interval = false;\r\n }\r\n\r\n Carousel.carouselInterface(target, config);\r\n\r\n if (slideIndex) {\r\n Data.getData(target, DATA_KEY).to(slideIndex);\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);\r\n\r\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\r\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\r\n\r\n for (let i = 0, len = carousels.length; i < len; i++) {\r\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY));\r\n }\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .carousel to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Carousel.jQueryInterface;\r\n $.fn[NAME].Constructor = Carousel;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Carousel.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Carousel;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): collapse.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n isElement,\r\n reflow,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'collapse';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.collapse';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst Default = {\r\n toggle: true,\r\n parent: '',\r\n};\r\n\r\nconst DefaultType = {\r\n toggle: 'boolean',\r\n parent: '(string|element)',\r\n};\r\n\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_COLLAPSE = 'collapse';\r\nconst CLASS_NAME_COLLAPSING = 'collapsing';\r\nconst CLASS_NAME_COLLAPSED = 'collapsed';\r\n\r\nconst WIDTH = 'width';\r\nconst HEIGHT = 'height';\r\n\r\nconst SELECTOR_ACTIVES = '.show, .collapsing';\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Collapse {\r\n constructor(element, config) {\r\n this._isTransitioning = false;\r\n this._element = element;\r\n this._config = this._getConfig(config);\r\n this._triggerArray = SelectorEngine.find(\r\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\r\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\r\n );\r\n\r\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE);\r\n\r\n for (let i = 0, len = toggleList.length; i < len; i++) {\r\n const elem = toggleList[i];\r\n const selector = getSelectorFromElement(elem);\r\n const filterElement = SelectorEngine.find(selector).filter(\r\n (foundElem) => foundElem === element\r\n );\r\n\r\n if (selector !== null && filterElement.length) {\r\n this._selector = selector;\r\n this._triggerArray.push(elem);\r\n }\r\n }\r\n\r\n this._parent = this._config.parent ? this._getParent() : null;\r\n\r\n if (!this._config.parent) {\r\n this._addAriaAndCollapsedClass(this._element, this._triggerArray);\r\n }\r\n\r\n if (this._config.toggle) {\r\n this.toggle();\r\n }\r\n\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n this.hide();\r\n } else {\r\n this.show();\r\n }\r\n }\r\n\r\n show() {\r\n if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n return;\r\n }\r\n\r\n let actives;\r\n let activesData;\r\n\r\n if (this._parent) {\r\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent).filter((elem) => {\r\n if (typeof this._config.parent === 'string') {\r\n return elem.getAttribute('data-parent') === this._config.parent;\r\n }\r\n\r\n return elem.classList.contains(CLASS_NAME_COLLAPSE);\r\n });\r\n\r\n if (actives.length === 0) {\r\n actives = null;\r\n }\r\n }\r\n\r\n const container = SelectorEngine.findOne(this._selector);\r\n if (actives) {\r\n const tempActiveData = actives.filter((elem) => container !== elem);\r\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null;\r\n\r\n if (activesData && activesData._isTransitioning) {\r\n return;\r\n }\r\n }\r\n\r\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW);\r\n if (startEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (actives) {\r\n actives.forEach((elemActive) => {\r\n if (container !== elemActive) {\r\n Collapse.collapseInterface(elemActive, 'hide');\r\n }\r\n\r\n if (!activesData) {\r\n Data.setData(elemActive, DATA_KEY, null);\r\n }\r\n });\r\n }\r\n\r\n const dimension = this._getDimension();\r\n\r\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\r\n this._element.classList.add(CLASS_NAME_COLLAPSING);\r\n\r\n this._element.style[dimension] = 0;\r\n\r\n if (this._triggerArray.length) {\r\n this._triggerArray.forEach((element) => {\r\n element.classList.remove(CLASS_NAME_COLLAPSED);\r\n element.setAttribute('aria-expanded', true);\r\n });\r\n }\r\n\r\n this.setTransitioning(true);\r\n\r\n const complete = () => {\r\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\r\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);\r\n\r\n this._element.style[dimension] = '';\r\n\r\n this.setTransitioning(false);\r\n\r\n EventHandler.trigger(this._element, EVENT_SHOWN);\r\n };\r\n\r\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\r\n const scrollSize = `scroll${capitalizedDimension}`;\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, complete);\r\n\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\r\n }\r\n\r\n hide() {\r\n if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n return;\r\n }\r\n\r\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n if (startEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const dimension = this._getDimension();\r\n\r\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\r\n\r\n reflow(this._element);\r\n\r\n this._element.classList.add(CLASS_NAME_COLLAPSING);\r\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);\r\n\r\n const triggerArrayLength = this._triggerArray.length;\r\n if (triggerArrayLength > 0) {\r\n for (let i = 0; i < triggerArrayLength; i++) {\r\n const trigger = this._triggerArray[i];\r\n const elem = getElementFromSelector(trigger);\r\n\r\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\r\n trigger.classList.add(CLASS_NAME_COLLAPSED);\r\n trigger.setAttribute('aria-expanded', false);\r\n }\r\n }\r\n }\r\n\r\n this.setTransitioning(true);\r\n\r\n const complete = () => {\r\n this.setTransitioning(false);\r\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\r\n this._element.classList.add(CLASS_NAME_COLLAPSE);\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n };\r\n\r\n this._element.style[dimension] = '';\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, complete);\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n }\r\n\r\n setTransitioning(isTransitioning) {\r\n this._isTransitioning = isTransitioning;\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._config = null;\r\n this._parent = null;\r\n this._element = null;\r\n this._triggerArray = null;\r\n this._isTransitioning = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...config,\r\n };\r\n config.toggle = Boolean(config.toggle); // Coerce string values\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getDimension() {\r\n const hasWidth = this._element.classList.contains(WIDTH);\r\n return hasWidth ? WIDTH : HEIGHT;\r\n }\r\n\r\n _getParent() {\r\n let { parent } = this._config;\r\n\r\n if (isElement(parent)) {\r\n // it's a jQuery object\r\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\r\n parent = parent[0];\r\n }\r\n } else {\r\n parent = SelectorEngine.findOne(parent);\r\n }\r\n\r\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`;\r\n\r\n SelectorEngine.find(selector, parent).forEach((element) => {\r\n const selected = getElementFromSelector(element);\r\n\r\n this._addAriaAndCollapsedClass(selected, [element]);\r\n });\r\n\r\n return parent;\r\n }\r\n\r\n _addAriaAndCollapsedClass(element, triggerArray) {\r\n if (element) {\r\n const isOpen = element.classList.contains(CLASS_NAME_SHOW);\r\n\r\n if (triggerArray.length) {\r\n triggerArray.forEach((elem) => {\r\n if (isOpen) {\r\n elem.classList.remove(CLASS_NAME_COLLAPSED);\r\n } else {\r\n elem.classList.add(CLASS_NAME_COLLAPSED);\r\n }\r\n\r\n elem.setAttribute('aria-expanded', isOpen);\r\n });\r\n }\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static collapseInterface(element, config) {\r\n let data = Data.getData(element, DATA_KEY);\r\n const _config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(element),\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\r\n _config.toggle = false;\r\n }\r\n\r\n if (!data) {\r\n data = new Collapse(element, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n Collapse.collapseInterface(this, config);\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\r\n if (event.target.tagName === 'A') {\r\n event.preventDefault();\r\n }\r\n\r\n const triggerData = Manipulator.getDataAttributes(this);\r\n const selector = getSelectorFromElement(this);\r\n const selectorElements = SelectorEngine.find(selector);\r\n\r\n selectorElements.forEach((element) => {\r\n const data = Data.getData(element, DATA_KEY);\r\n let config;\r\n if (data) {\r\n // update parent attribute\r\n if (data._parent === null && typeof triggerData.parent === 'string') {\r\n data._config.parent = triggerData.parent;\r\n data._parent = data._getParent();\r\n }\r\n\r\n config = 'toggle';\r\n } else {\r\n config = triggerData;\r\n }\r\n\r\n Collapse.collapseInterface(element, config);\r\n });\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .collapse to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Collapse.jQueryInterface;\r\n $.fn[NAME].Constructor = Collapse;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Collapse.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Collapse;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): modal.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n isVisible,\r\n reflow,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'modal';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.modal';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\nconst ESCAPE_KEY = 'Escape';\r\n\r\nconst Default = {\r\n backdrop: true,\r\n keyboard: true,\r\n focus: true,\r\n show: true,\r\n};\r\n\r\nconst DefaultType = {\r\n backdrop: '(boolean|string)',\r\n keyboard: 'boolean',\r\n focus: 'boolean',\r\n show: 'boolean',\r\n};\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`;\r\nconst EVENT_RESIZE = `resize${EVENT_KEY}`;\r\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;\r\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`;\r\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';\r\nconst CLASS_NAME_BACKDROP = 'modal-backdrop';\r\nconst CLASS_NAME_OPEN = 'modal-open';\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_STATIC = 'modal-static';\r\n\r\nconst SELECTOR_DIALOG = '.modal-dialog';\r\nconst SELECTOR_MODAL_BODY = '.modal-body';\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]';\r\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]';\r\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\r\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Modal {\r\n constructor(element, config) {\r\n this._config = this._getConfig(config);\r\n this._element = element;\r\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element);\r\n this._backdrop = null;\r\n this._isShown = false;\r\n this._isBodyOverflowing = false;\r\n this._ignoreBackdropClick = false;\r\n this._isTransitioning = false;\r\n this._scrollbarWidth = 0;\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n toggle(relatedTarget) {\r\n return this._isShown ? this.hide() : this.show(relatedTarget);\r\n }\r\n\r\n show(relatedTarget) {\r\n if (this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n\r\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\r\n relatedTarget,\r\n });\r\n\r\n if (this._isShown || showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = true;\r\n\r\n this._checkScrollbar();\r\n this._setScrollbar();\r\n\r\n this._adjustDialog();\r\n\r\n this._setEscapeEvent();\r\n this._setResizeEvent();\r\n\r\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, (event) =>\r\n this.hide(event)\r\n );\r\n\r\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\r\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, (event) => {\r\n if (event.target === this._element) {\r\n this._ignoreBackdropClick = true;\r\n }\r\n });\r\n });\r\n\r\n this._showBackdrop(() => this._showElement(relatedTarget));\r\n }\r\n\r\n hide(event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n if (!this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = false;\r\n const transition = this._element.classList.contains(CLASS_NAME_FADE);\r\n\r\n if (transition) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n this._setEscapeEvent();\r\n this._setResizeEvent();\r\n\r\n EventHandler.off(document, EVENT_FOCUSIN);\r\n\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n\r\n EventHandler.off(this._element, EVENT_CLICK_DISMISS);\r\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);\r\n\r\n if (transition) {\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, (event) => this._hideModal(event));\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n } else {\r\n this._hideModal();\r\n }\r\n }\r\n\r\n dispose() {\r\n [window, this._element, this._dialog].forEach((htmlElement) =>\r\n EventHandler.off(htmlElement, EVENT_KEY)\r\n );\r\n\r\n /**\r\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\r\n * Do not move `document` in `htmlElements` array\r\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\r\n */\r\n EventHandler.off(document, EVENT_FOCUSIN);\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._config = null;\r\n this._element = null;\r\n this._dialog = null;\r\n this._backdrop = null;\r\n this._isShown = null;\r\n this._isBodyOverflowing = null;\r\n this._ignoreBackdropClick = null;\r\n this._isTransitioning = null;\r\n this._scrollbarWidth = null;\r\n }\r\n\r\n handleUpdate() {\r\n this._adjustDialog();\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...config,\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _showElement(relatedTarget) {\r\n const transition = this._element.classList.contains(CLASS_NAME_FADE);\r\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\r\n\r\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\r\n // Don't move modal's DOM position\r\n document.body.appendChild(this._element);\r\n }\r\n\r\n this._element.style.display = 'block';\r\n this._element.removeAttribute('aria-hidden');\r\n this._element.setAttribute('aria-modal', true);\r\n this._element.setAttribute('role', 'dialog');\r\n this._element.scrollTop = 0;\r\n\r\n if (modalBody) {\r\n modalBody.scrollTop = 0;\r\n }\r\n\r\n if (transition) {\r\n reflow(this._element);\r\n }\r\n\r\n this._element.classList.add(CLASS_NAME_SHOW);\r\n\r\n if (this._config.focus) {\r\n this._enforceFocus();\r\n }\r\n\r\n const transitionComplete = () => {\r\n if (this._config.focus) {\r\n this._element.focus();\r\n }\r\n\r\n this._isTransitioning = false;\r\n EventHandler.trigger(this._element, EVENT_SHOWN, {\r\n relatedTarget,\r\n });\r\n };\r\n\r\n if (transition) {\r\n const transitionDuration = getTransitionDurationFromElement(this._dialog);\r\n\r\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete);\r\n emulateTransitionEnd(this._dialog, transitionDuration);\r\n } else {\r\n transitionComplete();\r\n }\r\n }\r\n\r\n _enforceFocus() {\r\n EventHandler.off(document, EVENT_FOCUSIN); // guard against infinite focus loop\r\n EventHandler.on(document, EVENT_FOCUSIN, (event) => {\r\n if (\r\n document !== event.target &&\r\n this._element !== event.target &&\r\n !this._element.contains(event.target)\r\n ) {\r\n this._element.focus();\r\n }\r\n });\r\n }\r\n\r\n _setEscapeEvent() {\r\n if (this._isShown) {\r\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event) => {\r\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\r\n event.preventDefault();\r\n this.hide();\r\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\r\n this._triggerBackdropTransition();\r\n }\r\n });\r\n } else {\r\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS);\r\n }\r\n }\r\n\r\n _setResizeEvent() {\r\n if (this._isShown) {\r\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog());\r\n } else {\r\n EventHandler.off(window, EVENT_RESIZE);\r\n }\r\n }\r\n\r\n _hideModal() {\r\n this._element.style.display = 'none';\r\n this._element.setAttribute('aria-hidden', true);\r\n this._element.removeAttribute('aria-modal');\r\n this._element.removeAttribute('role');\r\n this._isTransitioning = false;\r\n this._showBackdrop(() => {\r\n document.body.classList.remove(CLASS_NAME_OPEN);\r\n this._resetAdjustments();\r\n this._resetScrollbar();\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n });\r\n }\r\n\r\n _removeBackdrop() {\r\n this._backdrop.parentNode.removeChild(this._backdrop);\r\n this._backdrop = null;\r\n }\r\n\r\n _showBackdrop(callback) {\r\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';\r\n\r\n if (this._isShown && this._config.backdrop) {\r\n this._backdrop = document.createElement('div');\r\n this._backdrop.className = CLASS_NAME_BACKDROP;\r\n\r\n if (animate) {\r\n this._backdrop.classList.add(animate);\r\n }\r\n\r\n document.body.appendChild(this._backdrop);\r\n\r\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, (event) => {\r\n if (this._ignoreBackdropClick) {\r\n this._ignoreBackdropClick = false;\r\n return;\r\n }\r\n\r\n if (event.target !== event.currentTarget) {\r\n return;\r\n }\r\n\r\n this._triggerBackdropTransition();\r\n });\r\n\r\n if (animate) {\r\n reflow(this._backdrop);\r\n }\r\n\r\n this._backdrop.classList.add(CLASS_NAME_SHOW);\r\n\r\n if (!animate) {\r\n callback();\r\n return;\r\n }\r\n\r\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);\r\n\r\n EventHandler.one(this._backdrop, TRANSITION_END, callback);\r\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration);\r\n } else if (!this._isShown && this._backdrop) {\r\n this._backdrop.classList.remove(CLASS_NAME_SHOW);\r\n\r\n const callbackRemove = () => {\r\n this._removeBackdrop();\r\n callback();\r\n };\r\n\r\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\r\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);\r\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove);\r\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration);\r\n } else {\r\n callbackRemove();\r\n }\r\n } else {\r\n callback();\r\n }\r\n }\r\n\r\n _triggerBackdropTransition() {\r\n if (this._config.backdrop === 'static') {\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._element.classList.add(CLASS_NAME_STATIC);\r\n const modalTransitionDuration = getTransitionDurationFromElement(this._element);\r\n EventHandler.one(this._element, TRANSITION_END, () => {\r\n this._element.classList.remove(CLASS_NAME_STATIC);\r\n });\r\n emulateTransitionEnd(this._element, modalTransitionDuration);\r\n this._element.focus();\r\n } else {\r\n this.hide();\r\n }\r\n }\r\n\r\n // ----------------------------------------------------------------------\r\n // the following methods are used to handle overflowing modals\r\n // ----------------------------------------------------------------------\r\n\r\n _adjustDialog() {\r\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\r\n\r\n if (!this._isBodyOverflowing && isModalOverflowing) {\r\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`;\r\n }\r\n\r\n if (this._isBodyOverflowing && !isModalOverflowing) {\r\n this._element.style.paddingRight = `${this._scrollbarWidth}px`;\r\n }\r\n }\r\n\r\n _resetAdjustments() {\r\n this._element.style.paddingLeft = '';\r\n this._element.style.paddingRight = '';\r\n }\r\n\r\n _checkScrollbar() {\r\n const rect = document.body.getBoundingClientRect();\r\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;\r\n this._scrollbarWidth = this._getScrollbarWidth();\r\n }\r\n\r\n _setScrollbar() {\r\n if (this._isBodyOverflowing) {\r\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\r\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\r\n\r\n // Adjust fixed content padding\r\n SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((element) => {\r\n const actualPadding = element.style.paddingRight;\r\n const calculatedPadding = window.getComputedStyle(element)['padding-right'];\r\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding);\r\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`;\r\n });\r\n\r\n // Adjust sticky content margin\r\n SelectorEngine.find(SELECTOR_STICKY_CONTENT).forEach((element) => {\r\n const actualMargin = element.style.marginRight;\r\n const calculatedMargin = window.getComputedStyle(element)['margin-right'];\r\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin);\r\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`;\r\n });\r\n\r\n // Adjust body padding\r\n const actualPadding = document.body.style.paddingRight;\r\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right'];\r\n\r\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding);\r\n document.body.style.paddingRight = `${\r\n parseFloat(calculatedPadding) + this._scrollbarWidth\r\n }px`;\r\n }\r\n\r\n document.body.classList.add(CLASS_NAME_OPEN);\r\n }\r\n\r\n _resetScrollbar() {\r\n // Restore fixed content padding\r\n SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((element) => {\r\n const padding = Manipulator.getDataAttribute(element, 'padding-right');\r\n if (typeof padding !== 'undefined') {\r\n Manipulator.removeDataAttribute(element, 'padding-right');\r\n element.style.paddingRight = padding;\r\n }\r\n });\r\n\r\n // Restore sticky content and navbar-toggler margin\r\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`).forEach((element) => {\r\n const margin = Manipulator.getDataAttribute(element, 'margin-right');\r\n if (typeof margin !== 'undefined') {\r\n Manipulator.removeDataAttribute(element, 'margin-right');\r\n element.style.marginRight = margin;\r\n }\r\n });\r\n\r\n // Restore body padding\r\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right');\r\n if (typeof padding === 'undefined') {\r\n document.body.style.paddingRight = '';\r\n } else {\r\n Manipulator.removeDataAttribute(document.body, 'padding-right');\r\n document.body.style.paddingRight = padding;\r\n }\r\n }\r\n\r\n _getScrollbarWidth() {\r\n // thx d.walsh\r\n const scrollDiv = document.createElement('div');\r\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;\r\n document.body.appendChild(scrollDiv);\r\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\r\n document.body.removeChild(scrollDiv);\r\n return scrollbarWidth;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config, relatedTarget) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this),\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (!data) {\r\n data = new Modal(this, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](relatedTarget);\r\n } else if (_config.show) {\r\n data.show(relatedTarget);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if (this.tagName === 'A' || this.tagName === 'AREA') {\r\n event.preventDefault();\r\n }\r\n\r\n EventHandler.one(target, EVENT_SHOW, (showEvent) => {\r\n if (showEvent.defaultPrevented) {\r\n // only register focus restorer if modal will actually get shown\r\n return;\r\n }\r\n\r\n EventHandler.one(target, EVENT_HIDDEN, () => {\r\n if (isVisible(this)) {\r\n this.focus();\r\n }\r\n });\r\n });\r\n\r\n let data = Data.getData(target, DATA_KEY);\r\n if (!data) {\r\n const config = {\r\n ...Manipulator.getDataAttributes(target),\r\n ...Manipulator.getDataAttributes(this),\r\n };\r\n\r\n data = new Modal(target, config);\r\n }\r\n\r\n data.show(this);\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .modal to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Modal.jQueryInterface;\r\n $.fn[NAME].Constructor = Modal;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Modal.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Modal;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): util/sanitizer.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst uriAttrs = [\r\n 'background',\r\n 'cite',\r\n 'href',\r\n 'itemtype',\r\n 'longdesc',\r\n 'poster',\r\n 'src',\r\n 'xlink:href',\r\n];\r\n\r\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\r\n\r\n/**\r\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;\r\n\r\n/**\r\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\r\n\r\nconst allowedAttribute = (attr, allowedAttributeList) => {\r\n const attrName = attr.nodeName.toLowerCase();\r\n\r\n if (allowedAttributeList.indexOf(attrName) !== -1) {\r\n if (uriAttrs.indexOf(attrName) !== -1) {\r\n return Boolean(\r\n attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)\r\n );\r\n }\r\n\r\n return true;\r\n }\r\n\r\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp);\r\n\r\n // Check if a regular expression validates the attribute.\r\n for (let i = 0, len = regExp.length; i < len; i++) {\r\n if (attrName.match(regExp[i])) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport const DefaultWhitelist = {\r\n // Global attributes allowed on any supplied element below.\r\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\r\n a: ['target', 'href', 'title', 'rel'],\r\n area: [],\r\n b: [],\r\n br: [],\r\n col: [],\r\n code: [],\r\n div: [],\r\n em: [],\r\n hr: [],\r\n h1: [],\r\n h2: [],\r\n h3: [],\r\n h4: [],\r\n h5: [],\r\n h6: [],\r\n i: [],\r\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\r\n li: [],\r\n ol: [],\r\n p: [],\r\n pre: [],\r\n s: [],\r\n small: [],\r\n span: [],\r\n sub: [],\r\n sup: [],\r\n strong: [],\r\n u: [],\r\n ul: [],\r\n};\r\n\r\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\r\n if (!unsafeHtml.length) {\r\n return unsafeHtml;\r\n }\r\n\r\n if (sanitizeFn && typeof sanitizeFn === 'function') {\r\n return sanitizeFn(unsafeHtml);\r\n }\r\n\r\n const domParser = new window.DOMParser();\r\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\r\n const whitelistKeys = Object.keys(whiteList);\r\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\r\n\r\n for (let i = 0, len = elements.length; i < len; i++) {\r\n const el = elements[i];\r\n const elName = el.nodeName.toLowerCase();\r\n\r\n if (whitelistKeys.indexOf(elName) === -1) {\r\n el.parentNode.removeChild(el);\r\n\r\n continue;\r\n }\r\n\r\n const attributeList = [].concat(...el.attributes);\r\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\r\n\r\n attributeList.forEach((attr) => {\r\n if (!allowedAttribute(attr, whitelistedAttributes)) {\r\n el.removeAttribute(attr.nodeName);\r\n }\r\n });\r\n }\r\n\r\n return createdDocument.body.innerHTML;\r\n}\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): tooltip.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n findShadowRoot,\r\n getTransitionDurationFromElement,\r\n getUID,\r\n isElement,\r\n noop,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport { DefaultWhitelist, sanitizeHtml } from './util/sanitizer';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport Popper from 'popper.js';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'tooltip';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.tooltip';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst CLASS_PREFIX = 'bs-tooltip';\r\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g');\r\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\r\n\r\nconst DefaultType = {\r\n animation: 'boolean',\r\n template: 'string',\r\n title: '(string|element|function)',\r\n trigger: 'string',\r\n delay: '(number|object)',\r\n html: 'boolean',\r\n selector: '(string|boolean)',\r\n placement: '(string|function)',\r\n offset: '(number|string|function)',\r\n container: '(string|element|boolean)',\r\n fallbackPlacement: '(string|array)',\r\n boundary: '(string|element)',\r\n sanitize: 'boolean',\r\n sanitizeFn: '(null|function)',\r\n whiteList: 'object',\r\n popperConfig: '(null|object)',\r\n};\r\n\r\nconst AttachmentMap = {\r\n AUTO: 'auto',\r\n TOP: 'top',\r\n RIGHT: 'right',\r\n BOTTOM: 'bottom',\r\n LEFT: 'left',\r\n};\r\n\r\nconst Default = {\r\n animation: true,\r\n template:\r\n '<div class=\"tooltip\" role=\"tooltip\">' +\r\n '<div class=\"tooltip-arrow\"></div>' +\r\n '<div class=\"tooltip-inner\"></div></div>',\r\n trigger: 'hover focus',\r\n title: '',\r\n delay: 0,\r\n html: false,\r\n selector: false,\r\n placement: 'top',\r\n offset: 0,\r\n container: false,\r\n fallbackPlacement: 'flip',\r\n boundary: 'scrollParent',\r\n sanitize: true,\r\n sanitizeFn: null,\r\n whiteList: DefaultWhitelist,\r\n popperConfig: null,\r\n};\r\n\r\nconst Event = {\r\n HIDE: `hide${EVENT_KEY}`,\r\n HIDDEN: `hidden${EVENT_KEY}`,\r\n SHOW: `show${EVENT_KEY}`,\r\n SHOWN: `shown${EVENT_KEY}`,\r\n INSERTED: `inserted${EVENT_KEY}`,\r\n CLICK: `click${EVENT_KEY}`,\r\n FOCUSIN: `focusin${EVENT_KEY}`,\r\n FOCUSOUT: `focusout${EVENT_KEY}`,\r\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\r\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\r\n};\r\n\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_MODAL = 'modal';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\nconst HOVER_STATE_SHOW = 'show';\r\nconst HOVER_STATE_OUT = 'out';\r\n\r\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\r\n\r\nconst TRIGGER_HOVER = 'hover';\r\nconst TRIGGER_FOCUS = 'focus';\r\nconst TRIGGER_CLICK = 'click';\r\nconst TRIGGER_MANUAL = 'manual';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Tooltip {\r\n constructor(element, config) {\r\n if (typeof Popper === 'undefined') {\r\n throw new TypeError(\"Bootstrap's tooltips require Popper.js (https://popper.js.org)\");\r\n }\r\n\r\n // private\r\n this._isEnabled = true;\r\n this._timeout = 0;\r\n this._hoverState = '';\r\n this._activeTrigger = {};\r\n this._popper = null;\r\n\r\n // Protected\r\n this.element = element;\r\n this.config = this._getConfig(config);\r\n this.tip = null;\r\n\r\n this._setListeners();\r\n Data.setData(element, this.constructor.DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get DATA_KEY() {\r\n return DATA_KEY;\r\n }\r\n\r\n static get Event() {\r\n return Event;\r\n }\r\n\r\n static get EVENT_KEY() {\r\n return EVENT_KEY;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Public\r\n\r\n enable() {\r\n this._isEnabled = true;\r\n }\r\n\r\n disable() {\r\n this._isEnabled = false;\r\n }\r\n\r\n toggleEnabled() {\r\n this._isEnabled = !this._isEnabled;\r\n }\r\n\r\n toggle(event) {\r\n if (!this._isEnabled) {\r\n return;\r\n }\r\n\r\n if (event) {\r\n const dataKey = this.constructor.DATA_KEY;\r\n let context = Data.getData(event.target, dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.target, this._getDelegateConfig());\r\n Data.setData(event.target, dataKey, context);\r\n }\r\n\r\n context._activeTrigger.click = !context._activeTrigger.click;\r\n\r\n if (context._isWithActiveTrigger()) {\r\n context._enter(null, context);\r\n } else {\r\n context._leave(null, context);\r\n }\r\n } else {\r\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\r\n this._leave(null, this);\r\n return;\r\n }\r\n\r\n this._enter(null, this);\r\n }\r\n }\r\n\r\n dispose() {\r\n clearTimeout(this._timeout);\r\n\r\n Data.removeData(this.element, this.constructor.DATA_KEY);\r\n\r\n EventHandler.off(this.element, this.constructor.EVENT_KEY);\r\n EventHandler.off(\r\n this.element.closest(`.${CLASS_NAME_MODAL}`),\r\n 'hide.bs.modal',\r\n this._hideModalHandler\r\n );\r\n\r\n if (this.tip) {\r\n this.tip.parentNode.removeChild(this.tip);\r\n }\r\n\r\n this._isEnabled = null;\r\n this._timeout = null;\r\n this._hoverState = null;\r\n this._activeTrigger = null;\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n\r\n this._popper = null;\r\n this.element = null;\r\n this.config = null;\r\n this.tip = null;\r\n }\r\n\r\n show() {\r\n if (this.element.style.display === 'none') {\r\n throw new Error('Please use show on visible elements');\r\n }\r\n\r\n if (this.isWithContent() && this._isEnabled) {\r\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW);\r\n const shadowRoot = findShadowRoot(this.element);\r\n const isInTheDom =\r\n shadowRoot === null\r\n ? this.element.ownerDocument.documentElement.contains(this.element)\r\n : shadowRoot.contains(this.element);\r\n\r\n if (showEvent.defaultPrevented || !isInTheDom) {\r\n return;\r\n }\r\n\r\n const tip = this.getTipElement();\r\n const tipId = getUID(this.constructor.NAME);\r\n\r\n tip.setAttribute('id', tipId);\r\n this.element.setAttribute('aria-describedby', tipId);\r\n\r\n this.setContent();\r\n\r\n if (this.config.animation) {\r\n tip.classList.add(CLASS_NAME_FADE);\r\n }\r\n\r\n const placement =\r\n typeof this.config.placement === 'function'\r\n ? this.config.placement.call(this, tip, this.element)\r\n : this.config.placement;\r\n\r\n const attachment = this._getAttachment(placement);\r\n this._addAttachmentClass(attachment);\r\n\r\n const container = this._getContainer();\r\n Data.setData(tip, this.constructor.DATA_KEY, this);\r\n\r\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\r\n container.appendChild(tip);\r\n }\r\n\r\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED);\r\n\r\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));\r\n\r\n tip.classList.add(CLASS_NAME_SHOW);\r\n\r\n // If this is a touch-enabled device we add extra\r\n // empty mouseover listeners to the body's immediate children;\r\n // only needed because of broken event delegation on iOS\r\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\r\n if ('ontouchstart' in document.documentElement) {\r\n [].concat(...document.body.children).forEach((element) => {\r\n EventHandler.on(element, 'mouseover', noop());\r\n });\r\n }\r\n\r\n const complete = () => {\r\n if (this.config.animation) {\r\n this._fixTransition();\r\n }\r\n\r\n const prevHoverState = this._hoverState;\r\n this._hoverState = null;\r\n\r\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN);\r\n\r\n if (prevHoverState === HOVER_STATE_OUT) {\r\n this._leave(null, this);\r\n }\r\n };\r\n\r\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\r\n const transitionDuration = getTransitionDurationFromElement(this.tip);\r\n EventHandler.one(this.tip, TRANSITION_END, complete);\r\n emulateTransitionEnd(this.tip, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n const tip = this.getTipElement();\r\n const complete = () => {\r\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\r\n tip.parentNode.removeChild(tip);\r\n }\r\n\r\n this._cleanTipClass();\r\n this.element.removeAttribute('aria-describedby');\r\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN);\r\n this._popper.destroy();\r\n };\r\n\r\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE);\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n tip.classList.remove(CLASS_NAME_SHOW);\r\n\r\n // If this is a touch-enabled device we remove the extra\r\n // empty mouseover listeners we added for iOS support\r\n if ('ontouchstart' in document.documentElement) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((element) => EventHandler.off(element, 'mouseover', noop));\r\n }\r\n\r\n this._activeTrigger[TRIGGER_CLICK] = false;\r\n this._activeTrigger[TRIGGER_FOCUS] = false;\r\n this._activeTrigger[TRIGGER_HOVER] = false;\r\n\r\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\r\n const transitionDuration = getTransitionDurationFromElement(tip);\r\n\r\n EventHandler.one(tip, TRANSITION_END, complete);\r\n emulateTransitionEnd(tip, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n\r\n this._hoverState = '';\r\n }\r\n\r\n update() {\r\n if (this._popper !== null) {\r\n this._popper.scheduleUpdate();\r\n }\r\n }\r\n\r\n // Protected\r\n\r\n isWithContent() {\r\n return Boolean(this.getTitle());\r\n }\r\n\r\n getTipElement() {\r\n if (this.tip) {\r\n return this.tip;\r\n }\r\n\r\n const element = document.createElement('div');\r\n element.innerHTML = this.config.template;\r\n\r\n this.tip = element.children[0];\r\n return this.tip;\r\n }\r\n\r\n setContent() {\r\n const tip = this.getTipElement();\r\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle());\r\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);\r\n }\r\n\r\n setElementContent(element, content) {\r\n if (element === null) {\r\n return;\r\n }\r\n\r\n if (typeof content === 'object' && isElement(content)) {\r\n if (content.jquery) {\r\n content = content[0];\r\n }\r\n\r\n // content is a DOM node or a jQuery\r\n if (this.config.html) {\r\n if (content.parentNode !== element) {\r\n element.innerHTML = '';\r\n element.appendChild(content);\r\n }\r\n } else {\r\n element.textContent = content.textContent;\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (this.config.html) {\r\n if (this.config.sanitize) {\r\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);\r\n }\r\n\r\n element.innerHTML = content;\r\n } else {\r\n element.textContent = content;\r\n }\r\n }\r\n\r\n getTitle() {\r\n let title = this.element.getAttribute('data-original-title');\r\n\r\n if (!title) {\r\n title =\r\n typeof this.config.title === 'function'\r\n ? this.config.title.call(this.element)\r\n : this.config.title;\r\n }\r\n\r\n return title;\r\n }\r\n\r\n // Private\r\n\r\n _getPopperConfig(attachment) {\r\n const defaultBsConfig = {\r\n placement: attachment,\r\n modifiers: {\r\n offset: this._getOffset(),\r\n flip: {\r\n behavior: this.config.fallbackPlacement,\r\n },\r\n arrow: {\r\n element: `.${this.constructor.NAME}-arrow`,\r\n },\r\n preventOverflow: {\r\n boundariesElement: this.config.boundary,\r\n },\r\n },\r\n onCreate: (data) => {\r\n if (data.originalPlacement !== data.placement) {\r\n this._handlePopperPlacementChange(data);\r\n }\r\n },\r\n onUpdate: (data) => this._handlePopperPlacementChange(data),\r\n };\r\n\r\n return {\r\n ...defaultBsConfig,\r\n ...this.config.popperConfig,\r\n };\r\n }\r\n\r\n _addAttachmentClass(attachment) {\r\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`);\r\n }\r\n\r\n _getOffset() {\r\n const offset = {};\r\n\r\n if (typeof this.config.offset === 'function') {\r\n offset.fn = (data) => {\r\n data.offsets = {\r\n ...data.offsets,\r\n ...(this.config.offset(data.offsets, this.element) || {}),\r\n };\r\n\r\n return data;\r\n };\r\n } else {\r\n offset.offset = this.config.offset;\r\n }\r\n\r\n return offset;\r\n }\r\n\r\n _getContainer() {\r\n if (this.config.container === false) {\r\n return document.body;\r\n }\r\n\r\n if (isElement(this.config.container)) {\r\n return this.config.container;\r\n }\r\n\r\n return SelectorEngine.findOne(this.config.container);\r\n }\r\n\r\n _getAttachment(placement) {\r\n return AttachmentMap[placement.toUpperCase()];\r\n }\r\n\r\n _setListeners() {\r\n const triggers = this.config.trigger.split(' ');\r\n\r\n triggers.forEach((trigger) => {\r\n if (trigger === 'click') {\r\n EventHandler.on(this.element, this.constructor.Event.CLICK, this.config.selector, (event) =>\r\n this.toggle(event)\r\n );\r\n } else if (trigger !== TRIGGER_MANUAL) {\r\n const eventIn =\r\n trigger === TRIGGER_HOVER\r\n ? this.constructor.Event.MOUSEENTER\r\n : this.constructor.Event.FOCUSIN;\r\n const eventOut =\r\n trigger === TRIGGER_HOVER\r\n ? this.constructor.Event.MOUSELEAVE\r\n : this.constructor.Event.FOCUSOUT;\r\n\r\n EventHandler.on(this.element, eventIn, this.config.selector, (event) => this._enter(event));\r\n EventHandler.on(this.element, eventOut, this.config.selector, (event) =>\r\n this._leave(event)\r\n );\r\n }\r\n });\r\n\r\n this._hideModalHandler = () => {\r\n if (this.element) {\r\n this.hide();\r\n }\r\n };\r\n\r\n EventHandler.on(\r\n this.element.closest(`.${CLASS_NAME_MODAL}`),\r\n 'hide.bs.modal',\r\n this._hideModalHandler\r\n );\r\n\r\n if (this.config.selector) {\r\n this.config = {\r\n ...this.config,\r\n trigger: 'manual',\r\n selector: '',\r\n };\r\n } else {\r\n this._fixTitle();\r\n }\r\n }\r\n\r\n _fixTitle() {\r\n const titleType = typeof this.element.getAttribute('data-original-title');\r\n\r\n if (this.element.getAttribute('title') || titleType !== 'string') {\r\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\r\n\r\n this.element.setAttribute('title', '');\r\n }\r\n }\r\n\r\n _enter(event, context) {\r\n const dataKey = this.constructor.DATA_KEY;\r\n context = context || Data.getData(event.target, dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.target, this._getDelegateConfig());\r\n Data.setData(event.target, dataKey, context);\r\n }\r\n\r\n if (event) {\r\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\r\n }\r\n\r\n if (\r\n context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\r\n context._hoverState === HOVER_STATE_SHOW\r\n ) {\r\n context._hoverState = HOVER_STATE_SHOW;\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n\r\n context._hoverState = HOVER_STATE_SHOW;\r\n\r\n if (!context.config.delay || !context.config.delay.show) {\r\n context.show();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(() => {\r\n if (context._hoverState === HOVER_STATE_SHOW) {\r\n context.show();\r\n }\r\n }, context.config.delay.show);\r\n }\r\n\r\n _leave(event, context) {\r\n const dataKey = this.constructor.DATA_KEY;\r\n context = context || Data.getData(event.target, dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.target, this._getDelegateConfig());\r\n Data.setData(event.target, dataKey, context);\r\n }\r\n\r\n if (event) {\r\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;\r\n }\r\n\r\n if (context._isWithActiveTrigger()) {\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n\r\n context._hoverState = HOVER_STATE_OUT;\r\n\r\n if (!context.config.delay || !context.config.delay.hide) {\r\n context.hide();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(() => {\r\n if (context._hoverState === HOVER_STATE_OUT) {\r\n context.hide();\r\n }\r\n }, context.config.delay.hide);\r\n }\r\n\r\n _isWithActiveTrigger() {\r\n for (const trigger in this._activeTrigger) {\r\n if (this._activeTrigger[trigger]) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this.element);\r\n\r\n Object.keys(dataAttributes).forEach((dataAttr) => {\r\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\r\n delete dataAttributes[dataAttr];\r\n }\r\n });\r\n\r\n if (config && typeof config.container === 'object' && config.container.jquery) {\r\n config.container = config.container[0];\r\n }\r\n\r\n config = {\r\n ...this.constructor.Default,\r\n ...dataAttributes,\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (typeof config.delay === 'number') {\r\n config.delay = {\r\n show: config.delay,\r\n hide: config.delay,\r\n };\r\n }\r\n\r\n if (typeof config.title === 'number') {\r\n config.title = config.title.toString();\r\n }\r\n\r\n if (typeof config.content === 'number') {\r\n config.content = config.content.toString();\r\n }\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n if (config.sanitize) {\r\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _getDelegateConfig() {\r\n const config = {};\r\n\r\n if (this.config) {\r\n for (const key in this.config) {\r\n if (this.constructor.Default[key] !== this.config[key]) {\r\n config[key] = this.config[key];\r\n }\r\n }\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _cleanTipClass() {\r\n const tip = this.getTipElement();\r\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);\r\n if (tabClass !== null && tabClass.length > 0) {\r\n tabClass.map((token) => token.trim()).forEach((tClass) => tip.classList.remove(tClass));\r\n }\r\n }\r\n\r\n _handlePopperPlacementChange(popperData) {\r\n const popperInstance = popperData.instance;\r\n this.tip = popperInstance.popper;\r\n this._cleanTipClass();\r\n this._addAttachmentClass(this._getAttachment(popperData.placement));\r\n }\r\n\r\n _fixTransition() {\r\n const tip = this.getTipElement();\r\n const initConfigAnimation = this.config.animation;\r\n if (tip.getAttribute('x-placement') !== null) {\r\n return;\r\n }\r\n\r\n tip.classList.remove(CLASS_NAME_FADE);\r\n this.config.animation = false;\r\n this.hide();\r\n this.show();\r\n this.config.animation = initConfigAnimation;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === 'object' && config;\r\n\r\n if (!data && /dispose|hide/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Tooltip(this, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .tooltip to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Tooltip.jQueryInterface;\r\n $.fn[NAME].Constructor = Tooltip;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Tooltip.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Tooltip;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): popover.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getjQuery } from './util/index';\r\nimport Data from './dom/data';\r\nimport SelectorEngine from './dom/selector-engine';\r\nimport Tooltip from './tooltip';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'popover';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.popover';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst CLASS_PREFIX = 'bs-popover';\r\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g');\r\n\r\nconst Default = {\r\n ...Tooltip.Default,\r\n placement: 'right',\r\n trigger: 'click',\r\n content: '',\r\n template:\r\n '<div class=\"popover\" role=\"tooltip\">' +\r\n '<div class=\"popover-arrow\"></div>' +\r\n '<h3 class=\"popover-header\"></h3>' +\r\n '<div class=\"popover-body\"></div></div>',\r\n};\r\n\r\nconst DefaultType = {\r\n ...Tooltip.DefaultType,\r\n content: '(string|element|function)',\r\n};\r\n\r\nconst Event = {\r\n HIDE: `hide${EVENT_KEY}`,\r\n HIDDEN: `hidden${EVENT_KEY}`,\r\n SHOW: `show${EVENT_KEY}`,\r\n SHOWN: `shown${EVENT_KEY}`,\r\n INSERTED: `inserted${EVENT_KEY}`,\r\n CLICK: `click${EVENT_KEY}`,\r\n FOCUSIN: `focusin${EVENT_KEY}`,\r\n FOCUSOUT: `focusout${EVENT_KEY}`,\r\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\r\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\r\n};\r\n\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\nconst SELECTOR_TITLE = '.popover-header';\r\nconst SELECTOR_CONTENT = '.popover-body';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Popover extends Tooltip {\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get DATA_KEY() {\r\n return DATA_KEY;\r\n }\r\n\r\n static get Event() {\r\n return Event;\r\n }\r\n\r\n static get EVENT_KEY() {\r\n return EVENT_KEY;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Overrides\r\n\r\n isWithContent() {\r\n return this.getTitle() || this._getContent();\r\n }\r\n\r\n setContent() {\r\n const tip = this.getTipElement();\r\n\r\n // we use append for html objects to maintain js events\r\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle());\r\n let content = this._getContent();\r\n if (typeof content === 'function') {\r\n content = content.call(this.element);\r\n }\r\n\r\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content);\r\n\r\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);\r\n }\r\n\r\n _addAttachmentClass(attachment) {\r\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`);\r\n }\r\n\r\n // Private\r\n\r\n _getContent() {\r\n return this.element.getAttribute('data-content') || this.config.content;\r\n }\r\n\r\n _cleanTipClass() {\r\n const tip = this.getTipElement();\r\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);\r\n if (tabClass !== null && tabClass.length > 0) {\r\n tabClass.map((token) => token.trim()).forEach((tClass) => tip.classList.remove(tClass));\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === 'object' ? config : null;\r\n\r\n if (!data && /dispose|hide/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Popover(this, _config);\r\n Data.setData(this, DATA_KEY, data);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Popover.jQueryInterface;\r\n $.fn[NAME].Constructor = Popover;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Popover.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Popover;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): scrollspy.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n getSelectorFromElement,\r\n getUID,\r\n isElement,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'scrollspy';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.scrollspy';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst Default = {\r\n offset: 10,\r\n method: 'auto',\r\n target: '',\r\n};\r\n\r\nconst DefaultType = {\r\n offset: 'number',\r\n method: 'string',\r\n target: '(string|element)',\r\n};\r\n\r\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`;\r\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`;\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\r\nconst CLASS_NAME_ACTIVE = 'active';\r\n\r\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]';\r\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\r\nconst SELECTOR_NAV_LINKS = '.nav-link';\r\nconst SELECTOR_NAV_ITEMS = '.nav-item';\r\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\r\nconst SELECTOR_DROPDOWN = '.dropdown';\r\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\r\n\r\nconst METHOD_OFFSET = 'offset';\r\nconst METHOD_POSITION = 'position';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass ScrollSpy {\r\n constructor(element, config) {\r\n this._element = element;\r\n this._scrollElement = element.tagName === 'BODY' ? window : element;\r\n this._config = this._getConfig(config);\r\n this._selector =\r\n `${this._config.target} ${SELECTOR_NAV_LINKS},` +\r\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\r\n `${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`;\r\n this._offsets = [];\r\n this._targets = [];\r\n this._activeTarget = null;\r\n this._scrollHeight = 0;\r\n\r\n EventHandler.on(this._scrollElement, EVENT_SCROLL, (event) => this._process(event));\r\n\r\n this.refresh();\r\n this._process();\r\n\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n refresh() {\r\n const autoMethod =\r\n this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;\r\n\r\n const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\r\n\r\n const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;\r\n\r\n this._offsets = [];\r\n this._targets = [];\r\n\r\n this._scrollHeight = this._getScrollHeight();\r\n\r\n const targets = SelectorEngine.find(this._selector);\r\n\r\n targets\r\n .map((element) => {\r\n let target;\r\n const targetSelector = getSelectorFromElement(element);\r\n\r\n if (targetSelector) {\r\n target = SelectorEngine.findOne(targetSelector);\r\n }\r\n\r\n if (target) {\r\n const targetBCR = target.getBoundingClientRect();\r\n if (targetBCR.width || targetBCR.height) {\r\n return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];\r\n }\r\n }\r\n\r\n return null;\r\n })\r\n .filter((item) => item)\r\n .sort((a, b) => a[0] - b[0])\r\n .forEach((item) => {\r\n this._offsets.push(item[0]);\r\n this._targets.push(item[1]);\r\n });\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n EventHandler.off(this._scrollElement, EVENT_KEY);\r\n\r\n this._element = null;\r\n this._scrollElement = null;\r\n this._config = null;\r\n this._selector = null;\r\n this._offsets = null;\r\n this._targets = null;\r\n this._activeTarget = null;\r\n this._scrollHeight = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (typeof config.target !== 'string' && isElement(config.target)) {\r\n let { id } = config.target;\r\n if (!id) {\r\n id = getUID(NAME);\r\n config.target.id = id;\r\n }\r\n\r\n config.target = `#${id}`;\r\n }\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getScrollTop() {\r\n return this._scrollElement === window\r\n ? this._scrollElement.pageYOffset\r\n : this._scrollElement.scrollTop;\r\n }\r\n\r\n _getScrollHeight() {\r\n return (\r\n this._scrollElement.scrollHeight ||\r\n Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)\r\n );\r\n }\r\n\r\n _getOffsetHeight() {\r\n return this._scrollElement === window\r\n ? window.innerHeight\r\n : this._scrollElement.getBoundingClientRect().height;\r\n }\r\n\r\n _process() {\r\n const scrollTop = this._getScrollTop() + this._config.offset;\r\n const scrollHeight = this._getScrollHeight();\r\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\r\n\r\n if (this._scrollHeight !== scrollHeight) {\r\n this.refresh();\r\n }\r\n\r\n if (scrollTop >= maxScroll) {\r\n const target = this._targets[this._targets.length - 1];\r\n\r\n if (this._activeTarget !== target) {\r\n this._activate(target);\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\r\n this._activeTarget = null;\r\n this._clear();\r\n return;\r\n }\r\n\r\n for (let i = this._offsets.length; i--; ) {\r\n const isActiveTarget =\r\n this._activeTarget !== this._targets[i] &&\r\n scrollTop >= this._offsets[i] &&\r\n (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);\r\n\r\n if (isActiveTarget) {\r\n this._activate(this._targets[i]);\r\n }\r\n }\r\n }\r\n\r\n _activate(target) {\r\n this._activeTarget = target;\r\n\r\n this._clear();\r\n\r\n const queries = this._selector\r\n .split(',')\r\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`);\r\n\r\n const link = SelectorEngine.findOne(queries.join(','));\r\n\r\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\r\n SelectorEngine.findOne(\r\n SELECTOR_DROPDOWN_TOGGLE,\r\n link.closest(SELECTOR_DROPDOWN)\r\n ).classList.add(CLASS_NAME_ACTIVE);\r\n\r\n link.classList.add(CLASS_NAME_ACTIVE);\r\n } else {\r\n // Set triggered link as active\r\n link.classList.add(CLASS_NAME_ACTIVE);\r\n\r\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach((listGroup) => {\r\n // Set triggered links parents as active\r\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\r\n SelectorEngine.prev(\r\n listGroup,\r\n `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\r\n ).forEach((item) => item.classList.add(CLASS_NAME_ACTIVE));\r\n\r\n // Handle special case when .nav-link is inside .nav-item\r\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach((navItem) => {\r\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach((item) =>\r\n item.classList.add(CLASS_NAME_ACTIVE)\r\n );\r\n });\r\n });\r\n }\r\n\r\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\r\n relatedTarget: target,\r\n });\r\n }\r\n\r\n _clear() {\r\n SelectorEngine.find(this._selector)\r\n .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE))\r\n .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE));\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === 'object' && config;\r\n\r\n if (!data) {\r\n data = new ScrollSpy(this, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\r\n SelectorEngine.find(SELECTOR_DATA_SPY).forEach(\r\n (spy) => new ScrollSpy(spy, Manipulator.getDataAttributes(spy))\r\n );\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = ScrollSpy.jQueryInterface;\r\n $.fn[NAME].Constructor = ScrollSpy;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return ScrollSpy.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default ScrollSpy;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): tab.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n reflow,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'tab';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.tab';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';\r\nconst CLASS_NAME_ACTIVE = 'active';\r\nconst CLASS_NAME_DISABLED = 'disabled';\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\nconst SELECTOR_DROPDOWN = '.dropdown';\r\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\r\nconst SELECTOR_ACTIVE = '.active';\r\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active';\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]';\r\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\r\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Tab {\r\n constructor(element) {\r\n this._element = element;\r\n\r\n Data.setData(this._element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n // Public\r\n\r\n show() {\r\n if (\r\n (this._element.parentNode &&\r\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\r\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\r\n this._element.classList.contains(CLASS_NAME_DISABLED)\r\n ) {\r\n return;\r\n }\r\n\r\n let previous;\r\n const target = getElementFromSelector(this._element);\r\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP);\r\n\r\n if (listElement) {\r\n const itemSelector =\r\n listElement.nodeName === 'UL' || listElement.nodeName === 'OL'\r\n ? SELECTOR_ACTIVE_UL\r\n : SELECTOR_ACTIVE;\r\n previous = SelectorEngine.find(itemSelector, listElement);\r\n previous = previous[previous.length - 1];\r\n }\r\n\r\n let hideEvent = null;\r\n\r\n if (previous) {\r\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\r\n relatedTarget: this._element,\r\n });\r\n }\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\r\n relatedTarget: previous,\r\n });\r\n\r\n if (showEvent.defaultPrevented || (hideEvent !== null && hideEvent.defaultPrevented)) {\r\n return;\r\n }\r\n\r\n this._activate(this._element, listElement);\r\n\r\n const complete = () => {\r\n EventHandler.trigger(previous, EVENT_HIDDEN, {\r\n relatedTarget: this._element,\r\n });\r\n EventHandler.trigger(this._element, EVENT_SHOWN, {\r\n relatedTarget: previous,\r\n });\r\n };\r\n\r\n if (target) {\r\n this._activate(target, target.parentNode, complete);\r\n } else {\r\n complete();\r\n }\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n\r\n _activate(element, container, callback) {\r\n const activeElements =\r\n container && (container.nodeName === 'UL' || container.nodeName === 'OL')\r\n ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container)\r\n : SelectorEngine.children(container, SELECTOR_ACTIVE);\r\n\r\n const active = activeElements[0];\r\n const isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE);\r\n\r\n const complete = () => this._transitionComplete(element, active, callback);\r\n\r\n if (active && isTransitioning) {\r\n const transitionDuration = getTransitionDurationFromElement(active);\r\n active.classList.remove(CLASS_NAME_SHOW);\r\n\r\n EventHandler.one(active, TRANSITION_END, complete);\r\n emulateTransitionEnd(active, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n }\r\n\r\n _transitionComplete(element, active, callback) {\r\n if (active) {\r\n active.classList.remove(CLASS_NAME_ACTIVE);\r\n\r\n const dropdownChild = SelectorEngine.findOne(\r\n SELECTOR_DROPDOWN_ACTIVE_CHILD,\r\n active.parentNode\r\n );\r\n\r\n if (dropdownChild) {\r\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE);\r\n }\r\n\r\n if (active.getAttribute('role') === 'tab') {\r\n active.setAttribute('aria-selected', false);\r\n }\r\n }\r\n\r\n element.classList.add(CLASS_NAME_ACTIVE);\r\n if (element.getAttribute('role') === 'tab') {\r\n element.setAttribute('aria-selected', true);\r\n }\r\n\r\n reflow(element);\r\n\r\n if (element.classList.contains(CLASS_NAME_FADE)) {\r\n element.classList.add(CLASS_NAME_SHOW);\r\n }\r\n\r\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\r\n const dropdownElement = element.closest(SELECTOR_DROPDOWN);\r\n\r\n if (dropdownElement) {\r\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE).forEach((dropdown) =>\r\n dropdown.classList.add(CLASS_NAME_ACTIVE)\r\n );\r\n }\r\n\r\n element.setAttribute('aria-expanded', true);\r\n }\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Data.getData(this, DATA_KEY) || new Tab(this);\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n event.preventDefault();\r\n\r\n const data = Data.getData(this, DATA_KEY) || new Tab(this);\r\n data.show();\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .tab to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Tab.jQueryInterface;\r\n $.fn[NAME].Constructor = Tab;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Tab.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Tab;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): toast.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getTransitionDurationFromElement,\r\n reflow,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'toast';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.toast';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\n\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_HIDE = 'hide';\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_SHOWING = 'showing';\r\n\r\nconst DefaultType = {\r\n animation: 'boolean',\r\n autohide: 'boolean',\r\n delay: 'number',\r\n};\r\n\r\nconst Default = {\r\n animation: true,\r\n autohide: true,\r\n delay: 500,\r\n};\r\n\r\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Toast {\r\n constructor(element, config) {\r\n this._element = element;\r\n this._config = this._getConfig(config);\r\n this._timeout = null;\r\n this._setListeners();\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n show() {\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW);\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (this._config.animation) {\r\n this._element.classList.add(CLASS_NAME_FADE);\r\n }\r\n\r\n const complete = () => {\r\n this._element.classList.remove(CLASS_NAME_SHOWING);\r\n this._element.classList.add(CLASS_NAME_SHOW);\r\n\r\n EventHandler.trigger(this._element, EVENT_SHOWN);\r\n\r\n if (this._config.autohide) {\r\n this._timeout = setTimeout(() => {\r\n this.hide();\r\n }, this._config.delay);\r\n }\r\n };\r\n\r\n this._element.classList.remove(CLASS_NAME_HIDE);\r\n reflow(this._element);\r\n this._element.classList.add(CLASS_NAME_SHOWING);\r\n if (this._config.animation) {\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, complete);\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n }\r\n\r\n hide() {\r\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n return;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const complete = () => {\r\n this._element.classList.add(CLASS_NAME_HIDE);\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n };\r\n\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n if (this._config.animation) {\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, complete);\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n }\r\n\r\n dispose() {\r\n clearTimeout(this._timeout);\r\n this._timeout = null;\r\n\r\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n }\r\n\r\n EventHandler.off(this._element, EVENT_CLICK_DISMISS);\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._element = null;\r\n this._config = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _setListeners() {\r\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide());\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === 'object' && config;\r\n\r\n if (!data) {\r\n data = new Toast(this, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](this);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .toast to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Toast.jQueryInterface;\r\n $.fn[NAME].Constructor = Toast;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Toast.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Toast;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): util/index.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst MAX_UID = 1000000;\r\nconst MILLISECONDS_MULTIPLIER = 1000;\r\nconst TRANSITION_END = 'transitionend';\r\n\r\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\r\nconst toType = (obj) => {\r\n if (obj === null || obj === undefined) {\r\n return `${obj}`;\r\n }\r\n\r\n return {}.toString\r\n .call(obj)\r\n .match(/\\s([a-z]+)/i)[1]\r\n .toLowerCase();\r\n};\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Public Util Api\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst getUID = (prefix) => {\r\n do {\r\n prefix += Math.floor(Math.random() * MAX_UID);\r\n } while (document.getElementById(prefix));\r\n\r\n return prefix;\r\n};\r\n\r\nconst getSelector = (element) => {\r\n let selector = element.getAttribute('data-target');\r\n\r\n if (!selector || selector === '#') {\r\n const hrefAttr = element.getAttribute('href');\r\n\r\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\r\n }\r\n\r\n return selector;\r\n};\r\n\r\nconst getSelectorFromElement = (element) => {\r\n const selector = getSelector(element);\r\n\r\n if (selector) {\r\n return document.querySelector(selector) ? selector : null;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getElementFromSelector = (element) => {\r\n const selector = getSelector(element);\r\n\r\n return selector ? document.querySelector(selector) : null;\r\n};\r\n\r\nconst getTransitionDurationFromElement = (element) => {\r\n if (!element) {\r\n return 0;\r\n }\r\n\r\n // Get transition-duration of the element\r\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element);\r\n\r\n const floatTransitionDuration = parseFloat(transitionDuration);\r\n const floatTransitionDelay = parseFloat(transitionDelay);\r\n\r\n // Return 0 if element or transition duration is not found\r\n if (!floatTransitionDuration && !floatTransitionDelay) {\r\n return 0;\r\n }\r\n\r\n // If multiple durations are defined, take the first\r\n transitionDuration = transitionDuration.split(',')[0];\r\n transitionDelay = transitionDelay.split(',')[0];\r\n\r\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\r\n};\r\n\r\nconst triggerTransitionEnd = (element) => {\r\n element.dispatchEvent(new Event(TRANSITION_END));\r\n};\r\n\r\nconst isElement = (obj) => (obj[0] || obj).nodeType;\r\n\r\nconst emulateTransitionEnd = (element, duration) => {\r\n let called = false;\r\n const durationPadding = 5;\r\n const emulatedDuration = duration + durationPadding;\r\n function listener() {\r\n called = true;\r\n element.removeEventListener(TRANSITION_END, listener);\r\n }\r\n\r\n element.addEventListener(TRANSITION_END, listener);\r\n setTimeout(() => {\r\n if (!called) {\r\n triggerTransitionEnd(element);\r\n }\r\n }, emulatedDuration);\r\n};\r\n\r\nconst typeCheckConfig = (componentName, config, configTypes) => {\r\n Object.keys(configTypes).forEach((property) => {\r\n const expectedTypes = configTypes[property];\r\n const value = config[property];\r\n const valueType = value && isElement(value) ? 'element' : toType(value);\r\n\r\n if (!new RegExp(expectedTypes).test(valueType)) {\r\n throw new Error(\r\n `${componentName.toUpperCase()}: ` +\r\n `Option \"${property}\" provided type \"${valueType}\" ` +\r\n `but expected type \"${expectedTypes}\".`\r\n );\r\n }\r\n });\r\n};\r\n\r\nconst isVisible = (element) => {\r\n if (!element) {\r\n return false;\r\n }\r\n\r\n if (element.style && element.parentNode && element.parentNode.style) {\r\n const elementStyle = getComputedStyle(element);\r\n const parentNodeStyle = getComputedStyle(element.parentNode);\r\n\r\n return (\r\n elementStyle.display !== 'none' &&\r\n parentNodeStyle.display !== 'none' &&\r\n elementStyle.visibility !== 'hidden'\r\n );\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst findShadowRoot = (element) => {\r\n if (!document.documentElement.attachShadow) {\r\n return null;\r\n }\r\n\r\n // Can find the shadow root otherwise it'll return the document\r\n if (typeof element.getRootNode === 'function') {\r\n const root = element.getRootNode();\r\n return root instanceof ShadowRoot ? root : null;\r\n }\r\n\r\n if (element instanceof ShadowRoot) {\r\n return element;\r\n }\r\n\r\n // when we don't find a shadow root\r\n if (!element.parentNode) {\r\n return null;\r\n }\r\n\r\n return findShadowRoot(element.parentNode);\r\n};\r\n\r\nconst noop = () => function () {};\r\n\r\nconst reflow = (element) => element.offsetHeight;\r\n\r\nconst getjQuery = () => {\r\n const { jQuery } = window;\r\n\r\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\r\n return jQuery;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst array = (collection) => {\r\n return Array.from(collection);\r\n};\r\n\r\nconst element = (tag) => {\r\n return document.createElement(tag);\r\n};\r\n\r\nexport {\r\n getjQuery,\r\n TRANSITION_END,\r\n getUID,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n triggerTransitionEnd,\r\n isElement,\r\n emulateTransitionEnd,\r\n typeCheckConfig,\r\n isVisible,\r\n findShadowRoot,\r\n noop,\r\n reflow,\r\n array,\r\n element,\r\n};\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/data.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst mapData = (() => {\r\n const storeData = {};\r\n let id = 1;\r\n return {\r\n set(element, key, data) {\r\n if (typeof element[key] === 'undefined') {\r\n element[key] = {\r\n key,\r\n id,\r\n };\r\n id++;\r\n }\r\n\r\n storeData[element[key].id] = data;\r\n },\r\n get(element, key) {\r\n if (!element || typeof element[key] === 'undefined') {\r\n return null;\r\n }\r\n\r\n const keyProperties = element[key];\r\n if (keyProperties.key === key) {\r\n return storeData[keyProperties.id];\r\n }\r\n\r\n return null;\r\n },\r\n delete(element, key) {\r\n if (typeof element[key] === 'undefined') {\r\n return;\r\n }\r\n\r\n const keyProperties = element[key];\r\n if (keyProperties.key === key) {\r\n delete storeData[keyProperties.id];\r\n delete element[key];\r\n }\r\n },\r\n };\r\n})();\r\n\r\nconst Data = {\r\n setData(instance, key, data) {\r\n mapData.set(instance, key, data);\r\n },\r\n getData(instance, key) {\r\n return mapData.get(instance, key);\r\n },\r\n removeData(instance, key) {\r\n mapData.delete(instance, key);\r\n },\r\n};\r\n\r\nexport default Data;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/manipulator.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nfunction normalizeData(val) {\r\n if (val === 'true') {\r\n return true;\r\n }\r\n\r\n if (val === 'false') {\r\n return false;\r\n }\r\n\r\n if (val === Number(val).toString()) {\r\n return Number(val);\r\n }\r\n\r\n if (val === '' || val === 'null') {\r\n return null;\r\n }\r\n\r\n return val;\r\n}\r\n\r\nfunction normalizeDataKey(key) {\r\n return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`);\r\n}\r\n\r\nconst Manipulator = {\r\n setDataAttribute(element, key, value) {\r\n element.setAttribute(`data-${normalizeDataKey(key)}`, value);\r\n },\r\n\r\n removeDataAttribute(element, key) {\r\n element.removeAttribute(`data-${normalizeDataKey(key)}`);\r\n },\r\n\r\n getDataAttributes(element) {\r\n if (!element) {\r\n return {};\r\n }\r\n\r\n const attributes = {\r\n ...element.dataset,\r\n };\r\n\r\n Object.keys(attributes).forEach((key) => {\r\n attributes[key] = normalizeData(attributes[key]);\r\n });\r\n\r\n return attributes;\r\n },\r\n\r\n getDataAttribute(element, key) {\r\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`));\r\n },\r\n\r\n offset(element) {\r\n const rect = element.getBoundingClientRect();\r\n\r\n return {\r\n top: rect.top + document.body.scrollTop,\r\n left: rect.left + document.body.scrollLeft,\r\n };\r\n },\r\n\r\n position(element) {\r\n return {\r\n top: element.offsetTop,\r\n left: element.offsetLeft,\r\n };\r\n },\r\n\r\n style(element, style) {\r\n Object.assign(element.style, style);\r\n },\r\n\r\n toggleClass(element, className) {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n if (element.classList.contains(className)) {\r\n element.classList.remove(className);\r\n } else {\r\n element.classList.add(className);\r\n }\r\n },\r\n\r\n addClass(element, className) {\r\n if (element.classList.contains(className)) return;\r\n element.classList.add(className);\r\n },\r\n\r\n addStyle(element, style) {\r\n Object.keys(style).forEach((property) => {\r\n element.style[property] = style[property];\r\n });\r\n },\r\n};\r\n\r\nexport default Manipulator;\r\n","/* istanbul ignore file */\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/polyfill.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getUID } from '../util/index';\r\n\r\nlet findElements = Element.prototype.querySelectorAll;\r\nlet findElement = Element.prototype.querySelector;\r\n\r\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\r\nconst defaultPreventedPreservedOnDispatch = (() => {\r\n const e = new CustomEvent('Bootstrap', {\r\n cancelable: true,\r\n });\r\n\r\n const element = document.createElement('div');\r\n element.addEventListener('Bootstrap', () => null);\r\n\r\n e.preventDefault();\r\n element.dispatchEvent(e);\r\n return e.defaultPrevented;\r\n})();\r\n\r\nconst scopeSelectorRegex = /:scope\\b/;\r\nconst supportScopeQuery = (() => {\r\n const element = document.createElement('div');\r\n\r\n try {\r\n element.querySelectorAll(':scope *');\r\n } catch (_) {\r\n return false;\r\n }\r\n\r\n return true;\r\n})();\r\n\r\nif (!supportScopeQuery) {\r\n findElements = function (selector) {\r\n if (!scopeSelectorRegex.test(selector)) {\r\n return this.querySelectorAll(selector);\r\n }\r\n\r\n const hasId = Boolean(this.id);\r\n\r\n if (!hasId) {\r\n this.id = getUID('scope');\r\n }\r\n\r\n let nodeList = null;\r\n try {\r\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`);\r\n nodeList = this.querySelectorAll(selector);\r\n } finally {\r\n if (!hasId) {\r\n this.removeAttribute('id');\r\n }\r\n }\r\n\r\n return nodeList;\r\n };\r\n\r\n findElement = function (selector) {\r\n if (!scopeSelectorRegex.test(selector)) {\r\n return this.querySelector(selector);\r\n }\r\n\r\n const matches = find.call(this, selector);\r\n\r\n if (typeof matches[0] !== 'undefined') {\r\n return matches[0];\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n\r\nconst find = findElements;\r\nconst findOne = findElement;\r\n\r\nexport { find, findOne, defaultPreventedPreservedOnDispatch };\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/selector-engine.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { find as findFn, findOne } from './polyfill';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NODE_TEXT = 3;\r\n\r\nconst SelectorEngine = {\r\n closest(element, selector) {\r\n return element.closest(selector);\r\n },\r\n\r\n matches(element, selector) {\r\n return element.matches(selector);\r\n },\r\n\r\n find(selector, element = document.documentElement) {\r\n return [].concat(...findFn.call(element, selector));\r\n },\r\n\r\n findOne(selector, element = document.documentElement) {\r\n return findOne.call(element, selector);\r\n },\r\n\r\n children(element, selector) {\r\n const children = [].concat(...element.children);\r\n\r\n return children.filter((child) => child.matches(selector));\r\n },\r\n\r\n parents(element, selector) {\r\n const parents = [];\r\n\r\n let ancestor = element.parentNode;\r\n\r\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\r\n if (this.matches(ancestor, selector)) {\r\n parents.push(ancestor);\r\n }\r\n\r\n ancestor = ancestor.parentNode;\r\n }\r\n\r\n return parents;\r\n },\r\n\r\n prev(element, selector) {\r\n let previous = element.previousElementSibling;\r\n\r\n while (previous) {\r\n if (previous.matches(selector)) {\r\n return [previous];\r\n }\r\n\r\n previous = previous.previousElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n\r\n next(element, selector) {\r\n let next = element.nextElementSibling;\r\n\r\n while (next) {\r\n if (this.matches(next, selector)) {\r\n return [next];\r\n }\r\n\r\n next = next.nextElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n};\r\n\r\nexport default SelectorEngine;\r\n","import { element } from '../mdb/util/index';\r\nimport Data from '../mdb/dom/data';\r\nimport EventHandler from '../bootstrap/src/dom/event-handler';\r\nimport Manipulator from '../mdb/dom/manipulator';\r\nimport SelectorEngine from '../mdb/dom/selector-engine';\r\nimport 'detect-autofill';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'input';\r\nconst DATA_KEY = 'mdb.input';\r\nconst CLASSNAME_WRAPPER = 'form-outline';\r\nconst OUTLINE_INPUT = `.${CLASSNAME_WRAPPER} input`;\r\nconst OUTLINE_TEXTAREA = `.${CLASSNAME_WRAPPER} textarea`;\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Input {\r\n constructor(element) {\r\n this._element = element;\r\n this._label = null;\r\n this._labelWidth = 0;\r\n this._labelMarginLeft = 0;\r\n this._notchLeading = null;\r\n this._notchMiddle = null;\r\n this._notchTrailing = null;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n }\r\n\r\n // Getters\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n init() {\r\n this._getLabelData();\r\n this._applyDivs();\r\n this._applyNotch();\r\n this._activate();\r\n }\r\n\r\n update() {\r\n this._getLabelData();\r\n this._getNotchData();\r\n this._applyNotch();\r\n this._activate();\r\n }\r\n\r\n forceActive() {\r\n const input =\r\n SelectorEngine.findOne('input', this._element) ||\r\n SelectorEngine.findOne('textarea', this._element);\r\n Manipulator.addClass(input, 'active');\r\n }\r\n\r\n dispose() {\r\n this._removeBorder();\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n _getLabelData() {\r\n this._label = SelectorEngine.findOne('label', this._element);\r\n if (this._label === null) return;\r\n this._getLabelWidth();\r\n\r\n if (!this._element.classList.contains('input-group')) return;\r\n this._getLabelPositionInInputGroup();\r\n }\r\n\r\n _getNotchData() {\r\n this._notchMiddle = SelectorEngine.findOne('.form-notch-middle', this._element);\r\n this._notchLeading = SelectorEngine.findOne('.form-notch-leading', this._element);\r\n }\r\n\r\n _getLabelWidth() {\r\n this._labelWidth = this._label.clientWidth * 0.8 + 8;\r\n }\r\n\r\n _getLabelPositionInInputGroup() {\r\n const input =\r\n SelectorEngine.findOne('input', this._element) ||\r\n SelectorEngine.findOne('textarea', this._element);\r\n const prefix = SelectorEngine.prev(input, '.input-group-text')[0];\r\n if (prefix === undefined) return;\r\n this._labelMarginLeft = prefix.offsetWidth - 1;\r\n }\r\n\r\n _applyDivs() {\r\n const notchWrapper = element('div');\r\n Manipulator.addClass(notchWrapper, 'form-notch');\r\n this._notchLeading = element('div');\r\n Manipulator.addClass(this._notchLeading, 'form-notch-leading');\r\n this._notchMiddle = element('div');\r\n Manipulator.addClass(this._notchMiddle, 'form-notch-middle');\r\n this._notchTrailing = element('div');\r\n Manipulator.addClass(this._notchTrailing, 'form-notch-trailing');\r\n\r\n notchWrapper.append(this._notchLeading);\r\n notchWrapper.append(this._notchMiddle);\r\n notchWrapper.append(this._notchTrailing);\r\n this._element.append(notchWrapper);\r\n }\r\n\r\n _applyNotch() {\r\n this._notchMiddle.style.width = `${this._labelWidth}px`;\r\n this._notchLeading.style.width = `${this._labelMarginLeft + 9}px`;\r\n\r\n if (this._label === null) return;\r\n this._label.style.marginLeft = `${this._labelMarginLeft}px`;\r\n }\r\n\r\n _removeBorder() {\r\n const border = SelectorEngine.findOne('.form-notch', this._element);\r\n if (border) border.remove();\r\n }\r\n\r\n _activate(event) {\r\n if (event) this._label = SelectorEngine.findOne('label', event.target.parentNode);\r\n if (event && this._label) {\r\n const prevLabelWidth = this._labelWidth;\r\n this._getLabelWidth();\r\n\r\n if (prevLabelWidth !== this._labelWidth) {\r\n this._notchMiddle = SelectorEngine.findOne('.form-notch-middle', event.target.parentNode);\r\n this._notchLeading = SelectorEngine.findOne('.form-notch-leading', event.target.parentNode);\r\n this._applyNotch();\r\n }\r\n }\r\n\r\n const input = event\r\n ? event.target\r\n : SelectorEngine.findOne('input', this._element) ||\r\n SelectorEngine.findOne('textarea', this._element);\r\n if (input.value !== '') {\r\n Manipulator.addClass(input, 'active');\r\n }\r\n }\r\n\r\n _deactivate(event) {\r\n const input = event\r\n ? event.target\r\n : SelectorEngine.findOne('input', this._element) ||\r\n SelectorEngine.findOne('textarea', this._element);\r\n if (input.value === '') {\r\n input.classList.remove('active');\r\n }\r\n }\r\n\r\n static activate(instance) {\r\n return function (event) {\r\n instance._activate(event);\r\n };\r\n }\r\n\r\n static deactivate(instance) {\r\n return function (event) {\r\n instance._deactivate(event);\r\n };\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\nEventHandler.on(document, 'focus', OUTLINE_INPUT, Input.activate(new Input()));\r\nEventHandler.on(document, 'input', OUTLINE_INPUT, Input.activate(new Input()));\r\nEventHandler.on(document, 'blur', OUTLINE_INPUT, Input.deactivate(new Input()));\r\n\r\nEventHandler.on(document, 'focus', OUTLINE_TEXTAREA, Input.activate(new Input()));\r\nEventHandler.on(document, 'input', OUTLINE_TEXTAREA, Input.activate(new Input()));\r\nEventHandler.on(document, 'blur', OUTLINE_TEXTAREA, Input.deactivate(new Input()));\r\n\r\nEventHandler.on(window, 'shown.bs.modal', Input.activate(new Input()));\r\nEventHandler.on(window, 'shown.bs.dropdown', Input.activate(new Input()));\r\n\r\n// auto-init\r\nSelectorEngine.find(`.${CLASSNAME_WRAPPER}`).forEach((element) => {\r\n new Input(element).init();\r\n});\r\n\r\n// auto-fill\r\nEventHandler.on(window, 'onautocomplete', (e) => {\r\n const instance = Input.getInstance(e.target.parentNode);\r\n if (!instance) return;\r\n instance.forceActive();\r\n});\r\n\r\nexport default Input;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dropdown.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n getElementFromSelector,\r\n isElement,\r\n isVisible,\r\n noop,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport Popper from 'popper.js';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'dropdown';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.dropdown';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst ESCAPE_KEY = 'Escape';\r\nconst SPACE_KEY = 'Space';\r\nconst TAB_KEY = 'Tab';\r\nconst ARROW_UP_KEY = 'ArrowUp';\r\nconst ARROW_DOWN_KEY = 'ArrowDown';\r\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\r\n\r\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`);\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_CLICK = `click${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_DISABLED = 'disabled';\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_DROPUP = 'dropup';\r\nconst CLASS_NAME_DROPRIGHT = 'dropright';\r\nconst CLASS_NAME_DROPLEFT = 'dropleft';\r\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right';\r\nconst CLASS_NAME_NAVBAR = 'navbar';\r\nconst CLASS_NAME_POSITION_STATIC = 'position-static';\r\n\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]';\r\nconst SELECTOR_FORM_CHILD = '.dropdown form';\r\nconst SELECTOR_MENU = '.dropdown-menu';\r\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\r\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\r\n\r\nconst PLACEMENT_TOP = 'top-start';\r\nconst PLACEMENT_TOPEND = 'top-end';\r\nconst PLACEMENT_BOTTOM = 'bottom-start';\r\nconst PLACEMENT_BOTTOMEND = 'bottom-end';\r\nconst PLACEMENT_RIGHT = 'right-start';\r\nconst PLACEMENT_LEFT = 'left-start';\r\n\r\nconst Default = {\r\n offset: 0,\r\n flip: true,\r\n boundary: 'scrollParent',\r\n reference: 'toggle',\r\n display: 'dynamic',\r\n popperConfig: null,\r\n};\r\n\r\nconst DefaultType = {\r\n offset: '(number|string|function)',\r\n flip: 'boolean',\r\n boundary: '(string|element)',\r\n reference: '(string|element)',\r\n display: 'string',\r\n popperConfig: '(null|object)',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Dropdown {\r\n constructor(element, config) {\r\n this._element = element;\r\n this._popper = null;\r\n this._config = this._getConfig(config);\r\n this._menu = this._getMenuElement();\r\n this._inNavbar = this._detectNavbar();\r\n\r\n this._addEventListeners();\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\r\n return;\r\n }\r\n\r\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW);\r\n\r\n Dropdown.clearMenus();\r\n\r\n if (isActive) {\r\n return;\r\n }\r\n\r\n this.show();\r\n }\r\n\r\n show() {\r\n if (\r\n this._element.disabled ||\r\n this._element.classList.contains(CLASS_NAME_DISABLED) ||\r\n this._menu.classList.contains(CLASS_NAME_SHOW)\r\n ) {\r\n return;\r\n }\r\n\r\n const parent = Dropdown.getParentFromElement(this._element);\r\n const relatedTarget = {\r\n relatedTarget: this._element,\r\n };\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget);\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n // Disable totally Popper.js for Dropdown in Navbar\r\n if (!this._inNavbar) {\r\n if (typeof Popper === 'undefined') {\r\n throw new TypeError(\"Bootstrap's dropdowns require Popper.js (https://popper.js.org)\");\r\n }\r\n\r\n let referenceElement = this._element;\r\n\r\n if (this._config.reference === 'parent') {\r\n referenceElement = parent;\r\n } else if (isElement(this._config.reference)) {\r\n referenceElement = this._config.reference;\r\n\r\n // Check if it's jQuery element\r\n if (typeof this._config.reference.jquery !== 'undefined') {\r\n referenceElement = this._config.reference[0];\r\n }\r\n }\r\n\r\n // If boundary is not `scrollParent`, then set position to `static`\r\n // to allow the menu to \"escape\" the scroll parent's boundaries\r\n // https://github.com/twbs/bootstrap/issues/24251\r\n if (this._config.boundary !== 'scrollParent') {\r\n parent.classList.add(CLASS_NAME_POSITION_STATIC);\r\n }\r\n\r\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());\r\n }\r\n\r\n // If this is a touch-enabled device we add extra\r\n // empty mouseover listeners to the body's immediate children;\r\n // only needed because of broken event delegation on iOS\r\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\r\n if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((elem) => EventHandler.on(elem, 'mouseover', null, noop()));\r\n }\r\n\r\n this._element.focus();\r\n this._element.setAttribute('aria-expanded', true);\r\n\r\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW);\r\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW);\r\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget);\r\n }\r\n\r\n hide() {\r\n if (\r\n this._element.disabled ||\r\n this._element.classList.contains(CLASS_NAME_DISABLED) ||\r\n !this._menu.classList.contains(CLASS_NAME_SHOW)\r\n ) {\r\n return;\r\n }\r\n\r\n const parent = Dropdown.getParentFromElement(this._element);\r\n const relatedTarget = {\r\n relatedTarget: this._element,\r\n };\r\n\r\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n\r\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW);\r\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW);\r\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget);\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n EventHandler.off(this._element, EVENT_KEY);\r\n this._element = null;\r\n this._menu = null;\r\n if (this._popper) {\r\n this._popper.destroy();\r\n this._popper = null;\r\n }\r\n }\r\n\r\n update() {\r\n this._inNavbar = this._detectNavbar();\r\n if (this._popper) {\r\n this._popper.scheduleUpdate();\r\n }\r\n }\r\n\r\n // Private\r\n\r\n _addEventListeners() {\r\n EventHandler.on(this._element, EVENT_CLICK, (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.toggle();\r\n });\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...this.constructor.Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getMenuElement() {\r\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0];\r\n }\r\n\r\n _getPlacement() {\r\n const parentDropdown = this._element.parentNode;\r\n let placement = PLACEMENT_BOTTOM;\r\n\r\n // Handle dropup\r\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\r\n placement = PLACEMENT_TOP;\r\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\r\n placement = PLACEMENT_TOPEND;\r\n }\r\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\r\n placement = PLACEMENT_RIGHT;\r\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\r\n placement = PLACEMENT_LEFT;\r\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\r\n placement = PLACEMENT_BOTTOMEND;\r\n }\r\n\r\n return placement;\r\n }\r\n\r\n _detectNavbar() {\r\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`));\r\n }\r\n\r\n _getOffset() {\r\n const offset = {};\r\n\r\n if (typeof this._config.offset === 'function') {\r\n offset.fn = (data) => {\r\n data.offsets = {\r\n ...data.offsets,\r\n ...(this._config.offset(data.offsets, this._element) || {}),\r\n };\r\n\r\n return data;\r\n };\r\n } else {\r\n offset.offset = this._config.offset;\r\n }\r\n\r\n return offset;\r\n }\r\n\r\n _getPopperConfig() {\r\n const popperConfig = {\r\n placement: this._getPlacement(),\r\n modifiers: {\r\n offset: this._getOffset(),\r\n flip: {\r\n enabled: this._config.flip,\r\n },\r\n preventOverflow: {\r\n boundariesElement: this._config.boundary,\r\n },\r\n },\r\n };\r\n\r\n // Disable Popper.js if we have a static display\r\n if (this._config.display === 'static') {\r\n popperConfig.modifiers.applyStyle = {\r\n enabled: false,\r\n };\r\n }\r\n\r\n return {\r\n ...popperConfig,\r\n ...this._config.popperConfig,\r\n };\r\n }\r\n\r\n // Static\r\n\r\n static dropdownInterface(element, config) {\r\n let data = Data.getData(element, DATA_KEY);\r\n const _config = typeof config === 'object' ? config : null;\r\n\r\n if (!data) {\r\n data = new Dropdown(element, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n Dropdown.dropdownInterface(this, config);\r\n });\r\n }\r\n\r\n static clearMenus(event) {\r\n if (\r\n event &&\r\n (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))\r\n ) {\r\n return;\r\n }\r\n\r\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE);\r\n\r\n for (let i = 0, len = toggles.length; i < len; i++) {\r\n const parent = Dropdown.getParentFromElement(toggles[i]);\r\n const context = Data.getData(toggles[i], DATA_KEY);\r\n const relatedTarget = {\r\n relatedTarget: toggles[i],\r\n };\r\n\r\n if (event && event.type === 'click') {\r\n relatedTarget.clickEvent = event;\r\n }\r\n\r\n if (!context) {\r\n continue;\r\n }\r\n\r\n const dropdownMenu = context._menu;\r\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\r\n continue;\r\n }\r\n\r\n if (\r\n event &&\r\n ((event.type === 'click' && /input|textarea/i.test(event.target.tagName)) ||\r\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\r\n dropdownMenu.contains(event.target)\r\n ) {\r\n continue;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget);\r\n if (hideEvent.defaultPrevented) {\r\n continue;\r\n }\r\n\r\n // If this is a touch-enabled device we remove the extra\r\n // empty mouseover listeners we added for iOS support\r\n if ('ontouchstart' in document.documentElement) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((elem) => EventHandler.off(elem, 'mouseover', null, noop()));\r\n }\r\n\r\n toggles[i].setAttribute('aria-expanded', 'false');\r\n\r\n if (context._popper) {\r\n context._popper.destroy();\r\n }\r\n\r\n dropdownMenu.classList.remove(CLASS_NAME_SHOW);\r\n toggles[i].classList.remove(CLASS_NAME_SHOW);\r\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget);\r\n }\r\n }\r\n\r\n static getParentFromElement(element) {\r\n return getElementFromSelector(element) || element.parentNode;\r\n }\r\n\r\n static dataApiKeydownHandler(event) {\r\n // If not input/textarea:\r\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\r\n // If input/textarea:\r\n // - If space key => not a dropdown command\r\n // - If key is other than escape\r\n // - If key is not up or down => not a dropdown command\r\n // - If trigger inside the menu => not a dropdown command\r\n if (\r\n /input|textarea/i.test(event.target.tagName)\r\n ? event.key === SPACE_KEY ||\r\n (event.key !== ESCAPE_KEY &&\r\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\r\n event.target.closest(SELECTOR_MENU)))\r\n : !REGEXP_KEYDOWN.test(event.key)\r\n ) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\r\n return;\r\n }\r\n\r\n const parent = Dropdown.getParentFromElement(this);\r\n const isActive = this.classList.contains(CLASS_NAME_SHOW);\r\n\r\n if (event.key === ESCAPE_KEY) {\r\n const button = this.matches(SELECTOR_DATA_TOGGLE)\r\n ? this\r\n : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0];\r\n button.focus();\r\n Dropdown.clearMenus();\r\n return;\r\n }\r\n\r\n if (!isActive || event.key === SPACE_KEY) {\r\n Dropdown.clearMenus();\r\n return;\r\n }\r\n\r\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible);\r\n\r\n if (!items.length) {\r\n return;\r\n }\r\n\r\n let index = items.indexOf(event.target);\r\n\r\n if (event.key === ARROW_UP_KEY && index > 0) {\r\n // Up\r\n index--;\r\n }\r\n\r\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {\r\n // Down\r\n index++;\r\n }\r\n\r\n // index is -1 if the first keydown is an ArrowUp\r\n index = index === -1 ? 0 : index;\r\n\r\n items[index].focus();\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(\r\n document,\r\n EVENT_KEYDOWN_DATA_API,\r\n SELECTOR_DATA_TOGGLE,\r\n Dropdown.dataApiKeydownHandler\r\n);\r\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus);\r\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n Dropdown.dropdownInterface(this, 'toggle');\r\n});\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, (e) => e.stopPropagation());\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .dropdown to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Dropdown.jQueryInterface;\r\n $.fn[NAME].Constructor = Dropdown;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Dropdown.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Dropdown;\r\n","import { getjQuery } from '../mdb/util/index';\r\nimport EventHandler from '../bootstrap/src/dom/event-handler';\r\nimport SelectorEngine from '../mdb/dom/selector-engine';\r\nimport BSDropdown from '../bootstrap/src/dropdown';\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'dropdown';\r\nconst SELECTOR_EXPAND = '[data-toggle=\"dropdown\"]';\r\n\r\nconst EVENT_HIDE = 'hide.bs.dropdown';\r\nconst EVENT_HIDDEN = 'hidden.bs.dropdown';\r\nconst EVENT_SHOW = 'show.bs.dropdown';\r\n\r\nconst ANIMATION_CLASS = 'animation';\r\nconst ANIMATION_SHOW_CLASS = 'fade-in';\r\nconst ANIMATION_HIDE_CLASS = 'fade-out';\r\n\r\nclass Dropdown extends BSDropdown {\r\n constructor(element, data) {\r\n super(element, data);\r\n this._options = this._getConfig(data);\r\n this._parent = Dropdown.getParentFromElement(this._element);\r\n this._menuStyle = '';\r\n this._xPlacement = '';\r\n this._init();\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(this._element, EVENT_SHOW);\r\n EventHandler.off(this._parent, EVENT_HIDE);\r\n EventHandler.off(this._parent, EVENT_HIDDEN);\r\n super.dispose();\r\n }\r\n\r\n // Getters\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Private\r\n _init() {\r\n this._bindShowEvent();\r\n this._bindHideEvent();\r\n this._bindHiddenEvent();\r\n }\r\n\r\n _bindShowEvent() {\r\n EventHandler.on(this._element, EVENT_SHOW, () => {\r\n this._dropdownAnimationStart('show');\r\n });\r\n }\r\n\r\n _bindHideEvent() {\r\n EventHandler.on(this._parent, EVENT_HIDE, () => {\r\n this._menuStyle = this._menu.style.cssText;\r\n this._xPlacement = this._menu.getAttribute('x-placement');\r\n });\r\n }\r\n\r\n _bindHiddenEvent() {\r\n EventHandler.on(this._parent, EVENT_HIDDEN, () => {\r\n this._menu.style.cssText = this._menuStyle;\r\n this._menu.setAttribute('x-placement', this._xPlacement);\r\n\r\n this._dropdownAnimationStart('hide');\r\n });\r\n }\r\n\r\n _dropdownAnimationStart(action) {\r\n switch (action) {\r\n case 'show':\r\n this._menu.classList.add(ANIMATION_CLASS, ANIMATION_SHOW_CLASS);\r\n this._menu.classList.remove(ANIMATION_HIDE_CLASS);\r\n break;\r\n default:\r\n // hide\r\n this._menu.classList.add(ANIMATION_CLASS, ANIMATION_HIDE_CLASS);\r\n this._menu.classList.remove(ANIMATION_SHOW_CLASS);\r\n break;\r\n }\r\n\r\n this._bindAnimationEnd();\r\n }\r\n\r\n _bindAnimationEnd() {\r\n EventHandler.one(this._menu, 'animationend', () => {\r\n this._menu.classList.remove(ANIMATION_CLASS, ANIMATION_HIDE_CLASS, ANIMATION_SHOW_CLASS);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation - auto initialization\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nSelectorEngine.find(SELECTOR_EXPAND).forEach((el) => {\r\n let instance = Dropdown.getInstance(el);\r\n if (!instance) {\r\n instance = new Dropdown(el);\r\n }\r\n});\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .rating to jQuery only if jQuery is present\r\n */\r\n\r\nconst $ = getjQuery();\r\n\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Dropdown.jQueryInterface;\r\n $.fn[NAME].Constructor = Dropdown;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Dropdown.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Dropdown;\r\n","import { element, getjQuery } from '../mdb/util/index';\r\nimport Data from '../mdb/dom/data';\r\nimport EventHandler from '../bootstrap/src/dom/event-handler';\r\nimport Manipulator from '../mdb/dom/manipulator';\r\nimport SelectorEngine from '../mdb/dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'treeview';\r\nconst DATA_KEY = 'mdb.treeview';\r\nconst CLASSNAME_TREEVIEW = 'treeview';\r\nconst SELECTOR_EXPAND = '[data-toggle=\"treeview\"]';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Treeview {\r\n constructor(element, data) {\r\n this._element = element;\r\n\r\n if (this._element) {\r\n this._data = data ? this._createHTMLNodes(data, element) : this._setData(element);\r\n Data.setData(element, DATA_KEY, this);\r\n Manipulator.addClass(this._element, CLASSNAME_TREEVIEW);\r\n\r\n this._constructTreeview(this._data);\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n collapse() {\r\n const [, ...innerLists] = SelectorEngine.find('ul', this._element);\r\n innerLists.forEach((node) => (node.style.display = 'none'));\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n\r\n _toggleSubmenu(e) {\r\n e.stopPropagation();\r\n\r\n const li = e.target.nodeName === 'I' ? e.target.parentNode : e.target;\r\n\r\n const [ul] =\r\n li.nodeName === 'I'\r\n ? SelectorEngine.children(li.parentNode, 'ul')\r\n : SelectorEngine.children(li, 'ul');\r\n\r\n if (ul) {\r\n ul.style.display = window.getComputedStyle(ul).display === 'none' ? 'block' : 'none';\r\n this._toggleIcon(li);\r\n }\r\n }\r\n\r\n _toggleIcon(el, icon1 = 'fa-caret-down', icon2 = 'fa-caret-up') {\r\n const [i] = SelectorEngine.children(el, 'i');\r\n\r\n if (!i) return;\r\n\r\n const faClasses = [icon1, icon2];\r\n\r\n const [current, next] = i.classList.contains(icon1) ? faClasses : faClasses.reverse();\r\n\r\n i.classList.remove(current);\r\n i.classList.add(next);\r\n }\r\n\r\n _constructTreeview(data) {\r\n data.forEach((el) => {\r\n el.node.addEventListener('click', this._toggleSubmenu.bind(this));\r\n\r\n if (el.children && el.children.length > 0) {\r\n const arrow = element('i');\r\n arrow.classList = ['fas fa-caret-down'];\r\n el.node.appendChild(arrow);\r\n\r\n this._constructTreeview(el.children);\r\n }\r\n });\r\n }\r\n\r\n _setData(el) {\r\n const [list] = SelectorEngine.children(el, 'ul');\r\n\r\n if (!list) return [];\r\n\r\n return SelectorEngine.children(list, 'li').map((node) => {\r\n const children = this._setData(node);\r\n return {\r\n name: node.innerText ? node.innerText.split('\\n')[0] : '',\r\n node,\r\n children,\r\n };\r\n });\r\n }\r\n\r\n _createHTMLNodes(data, parent) {\r\n const ul = element('ul');\r\n\r\n return data.map((item) => {\r\n const li = element('li');\r\n li.innerText = item.name;\r\n let children = item.children;\r\n\r\n if (children && children.length > 0) {\r\n children = this._createHTMLNodes(item.children, li);\r\n }\r\n\r\n ul.appendChild(li);\r\n parent.appendChild(ul);\r\n\r\n return {\r\n ...item,\r\n children,\r\n node: li,\r\n };\r\n });\r\n }\r\n\r\n static toggleSubmenu(instance) {\r\n return function (event) {\r\n instance._toggleSubmenu(event);\r\n };\r\n }\r\n\r\n static jQueryInterface(options) {\r\n return this.each(function () {\r\n const data = Data.getData(this, DATA_KEY);\r\n if (!data) {\r\n return new Treeview(this, options);\r\n }\r\n\r\n return null;\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation - auto initialization\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, 'click', SELECTOR_EXPAND, Treeview.toggleSubmenu(new Treeview()));\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .treeview to jQuery only if jQuery is present\r\n */\r\n\r\nconst $ = getjQuery();\r\n\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Treeview.jQueryInterface;\r\n $.fn[NAME].Constructor = Treeview;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Treeview.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Treeview;\r\n","import { element, getjQuery, typeCheckConfig } from '../mdb/util/index';\r\nimport Data from '../mdb/dom/data';\r\nimport EventHandler from '../bootstrap/src/dom/event-handler';\r\nimport Manipulator from '../mdb/dom/manipulator';\r\nimport SelectorEngine from '../mdb/dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'ripple';\r\nconst DATA_KEY = 'mdb.ripple';\r\nconst CLASSNAME_RIPPLE = 'ripple-surface';\r\nconst CLASSNAME_RIPPLE_WAVE = 'ripple-wave';\r\nconst SELECTOR_COMPONENT = ['.btn', '.ripple'];\r\n\r\nconst CLASSNAME_UNBOUND = 'ripple-surface-unbound';\r\nconst GRADIENT =\r\n 'rgba({{color}}, 0.2) 0, rgba({{color}}, 0.3) 40%, rgba({{color}}, 0.4) 50%, rgba({{color}}, 0.5) 60%, rgba({{color}}, 0) 70%';\r\nconst DEFAULT_RIPPLE_COLOR = [0, 0, 0];\r\nconst BOOTSTRAP_COLORS = [\r\n 'primary',\r\n 'secondary',\r\n 'success',\r\n 'danger',\r\n 'warning',\r\n 'info',\r\n 'light',\r\n 'dark',\r\n];\r\n\r\n// Sets walue when run opacity transition\r\n// Hide element after 50% (0.5) time of animation and finish on 100%\r\nconst TRANSITION_BREAK_OPACITY = 0.5;\r\n\r\nconst Default = {\r\n rippleCentered: false,\r\n rippleColor: '',\r\n rippleDuration: '500ms',\r\n rippleRadius: 0,\r\n rippleUnbound: false,\r\n};\r\n\r\nconst DefaultType = {\r\n rippleCentered: 'boolean',\r\n rippleColor: 'string',\r\n rippleDuration: 'string',\r\n rippleRadius: 'number',\r\n rippleUnbound: 'boolean',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Ripple {\r\n constructor(element, options) {\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n Manipulator.addClass(this._element, CLASSNAME_RIPPLE);\r\n }\r\n\r\n this.init();\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n init() {\r\n this._addClickEvent(this._element);\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n EventHandler.off(this._element, 'click', '');\r\n this._element = null;\r\n this._options = null;\r\n }\r\n\r\n // Private\r\n\r\n _autoInit(event) {\r\n SELECTOR_COMPONENT.forEach((selector) => {\r\n const target = SelectorEngine.closest(event.target, selector);\r\n if (target) {\r\n this._element = SelectorEngine.closest(event.target, selector);\r\n }\r\n });\r\n Manipulator.addClass(this._element, CLASSNAME_RIPPLE);\r\n this._options = this._getConfig();\r\n this._createRipple(event);\r\n }\r\n\r\n _addClickEvent(target) {\r\n EventHandler.on(target, 'click', '', (event) => {\r\n this._createRipple(event);\r\n });\r\n }\r\n\r\n _createRipple(event) {\r\n const { layerX, layerY } = event;\r\n const offsetX = layerX;\r\n const offsetY = layerY;\r\n const height = this._element.offsetHeight;\r\n const width = this._element.offsetWidth;\r\n const duration = this._durationToMsNumber(this._options.rippleDuration);\r\n const diameterOptions = {\r\n offsetX: this._options.rippleCentered ? height / 2 : offsetX,\r\n offsetY: this._options.rippleCentered ? width / 2 : offsetY,\r\n height,\r\n width,\r\n };\r\n const diameter = this._getDiameter(diameterOptions);\r\n const radiusValue = this._options.rippleRadius || diameter / 2;\r\n\r\n const opacity = {\r\n delay: duration * TRANSITION_BREAK_OPACITY,\r\n duration: duration - duration * TRANSITION_BREAK_OPACITY,\r\n };\r\n\r\n const styles = {\r\n left: this._options.rippleCentered\r\n ? `${width / 2 - radiusValue}px`\r\n : `${offsetX - radiusValue}px`,\r\n top: this._options.rippleCentered\r\n ? `${height / 2 - radiusValue}px`\r\n : `${offsetY - radiusValue}px`,\r\n height: `${this._options.rippleRadius * 2 || diameter}px`,\r\n width: `${this._options.rippleRadius * 2 || diameter}px`,\r\n transitionDelay: `0s, ${opacity.delay}ms`,\r\n transitionDuration: `${duration}ms, ${opacity.duration}ms`,\r\n };\r\n\r\n const rippleHTML = element('div');\r\n\r\n this._createHTMLRipple({ wrapper: this._element, ripple: rippleHTML, styles });\r\n this._removeHTMLRipple({ ripple: rippleHTML, duration });\r\n }\r\n\r\n _createHTMLRipple({ wrapper, ripple, styles }) {\r\n Object.keys(styles).forEach((property) => (ripple.style[property] = styles[property]));\r\n ripple.classList.add(CLASSNAME_RIPPLE_WAVE);\r\n if (this._options.rippleColor !== '') {\r\n this._removeOldColorClasses(wrapper);\r\n this._addColor(ripple, wrapper);\r\n }\r\n\r\n this._toggleUnbound(wrapper);\r\n this._appendRipple(ripple, wrapper);\r\n }\r\n\r\n _removeHTMLRipple({ ripple, duration }) {\r\n setTimeout(() => {\r\n if (ripple) {\r\n ripple.remove();\r\n }\r\n }, duration);\r\n }\r\n\r\n _durationToMsNumber(time) {\r\n return Number(time.replace('ms', '').replace('s', '000'));\r\n }\r\n\r\n _getConfig(config = {}) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getDiameter({ offsetX, offsetY, height, width }) {\r\n const top = offsetY <= height / 2;\r\n const left = offsetX <= width / 2;\r\n const pythagorean = (sideA, sideB) => Math.sqrt(sideA ** 2 + sideB ** 2);\r\n\r\n const positionCenter = offsetY === height / 2 && offsetX === width / 2;\r\n // mouse position on the quadrants of the coordinate system\r\n const quadrant = {\r\n first: top === true && left === false,\r\n second: top === true && left === true,\r\n third: top === false && left === true,\r\n fourth: top === false && left === false,\r\n };\r\n\r\n const getCorner = {\r\n topLeft: pythagorean(offsetX, offsetY),\r\n topRight: pythagorean(width - offsetX, offsetY),\r\n bottomLeft: pythagorean(offsetX, height - offsetY),\r\n bottomRight: pythagorean(width - offsetX, height - offsetY),\r\n };\r\n\r\n let diameter = 0;\r\n\r\n if (positionCenter || quadrant.fourth) {\r\n diameter = getCorner.topLeft;\r\n } else if (quadrant.third) {\r\n diameter = getCorner.topRight;\r\n } else if (quadrant.second) {\r\n diameter = getCorner.bottomRight;\r\n } else if (quadrant.first) {\r\n diameter = getCorner.bottomLeft;\r\n }\r\n return diameter * 2;\r\n }\r\n\r\n _appendRipple(target, parent) {\r\n const FIX_ADD_RIPPLE_EFFECT = 50; // delay for active animations\r\n parent.appendChild(target);\r\n setTimeout(() => {\r\n Manipulator.addClass(target, 'active');\r\n }, FIX_ADD_RIPPLE_EFFECT);\r\n }\r\n\r\n _toggleUnbound(target) {\r\n if (this._options.rippleUnbound === true) {\r\n Manipulator.addClass(target, CLASSNAME_UNBOUND);\r\n } else {\r\n target.classList.remove(CLASSNAME_UNBOUND);\r\n }\r\n }\r\n\r\n _addColor(target, parent) {\r\n const IS_BOOTSTRAP_COLOR = BOOTSTRAP_COLORS.find(\r\n (color) => color === this._options.rippleColor.toLowerCase()\r\n );\r\n\r\n if (IS_BOOTSTRAP_COLOR) {\r\n Manipulator.addClass(\r\n parent,\r\n `${CLASSNAME_RIPPLE}-${this._options.rippleColor.toLowerCase()}`\r\n );\r\n } else {\r\n const rgbValue = this._colorToRGB(this._options.rippleColor).join(',');\r\n const gradientImage = GRADIENT.split('{{color}}').join(`${rgbValue}`);\r\n target.style.backgroundImage = `radial-gradient(circle, ${gradientImage})`;\r\n }\r\n }\r\n\r\n _removeOldColorClasses(target) {\r\n const REGEXP_CLASS_COLOR = new RegExp(`${CLASSNAME_RIPPLE}-[a-z]+`, 'gi');\r\n const PARENT_CLASSS_COLOR = target.classList.value.match(REGEXP_CLASS_COLOR) || [];\r\n PARENT_CLASSS_COLOR.forEach((className) => {\r\n target.classList.remove(className);\r\n });\r\n }\r\n\r\n _colorToRGB(color) {\r\n function hexToRgb(color) {\r\n const HEX_COLOR_LENGTH = 7;\r\n const IS_SHORT_HEX = color.length < HEX_COLOR_LENGTH;\r\n if (IS_SHORT_HEX) {\r\n color = `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\r\n }\r\n return [\r\n parseInt(color.substr(1, 2), 16),\r\n parseInt(color.substr(3, 2), 16),\r\n parseInt(color.substr(5, 2), 16),\r\n ];\r\n }\r\n\r\n function namedColorsToRgba(color) {\r\n const tempElem = document.body.appendChild(document.createElement('fictum'));\r\n const flag = 'rgb(1, 2, 3)';\r\n tempElem.style.color = flag;\r\n if (tempElem.style.color !== flag) {\r\n return DEFAULT_RIPPLE_COLOR;\r\n }\r\n tempElem.style.color = color;\r\n if (tempElem.style.color === flag || tempElem.style.color === '') {\r\n return DEFAULT_RIPPLE_COLOR;\r\n } // color parse failed\r\n color = getComputedStyle(tempElem).color;\r\n document.body.removeChild(tempElem);\r\n return color;\r\n }\r\n\r\n function rgbaToRgb(color) {\r\n color = color.match(/[.\\d]+/g).map((a) => +Number(a));\r\n color.length = 3;\r\n return color;\r\n }\r\n\r\n if (color.toLowerCase() === 'transparent') {\r\n return DEFAULT_RIPPLE_COLOR;\r\n }\r\n if (color[0] === '#') {\r\n return hexToRgb(color);\r\n }\r\n if (color.indexOf('rgb') === -1) {\r\n color = namedColorsToRgba(color);\r\n }\r\n if (color.indexOf('rgb') === 0) {\r\n return rgbaToRgb(color);\r\n }\r\n\r\n return DEFAULT_RIPPLE_COLOR;\r\n }\r\n\r\n // Static\r\n\r\n static autoInitial(instance) {\r\n return function (event) {\r\n instance._autoInit(event);\r\n };\r\n }\r\n\r\n static staticMethod(instance) {\r\n return function (event) {\r\n instance._method(event);\r\n };\r\n }\r\n\r\n static jQueryInterface(options) {\r\n return this.each(function () {\r\n const data = Data.getData(this, DATA_KEY);\r\n if (!data) {\r\n return new Ripple(this, options);\r\n }\r\n\r\n return null;\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation - auto initialization\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nSELECTOR_COMPONENT.forEach((slector) => {\r\n EventHandler.one(document, 'click', slector, Ripple.autoInitial(new Ripple()));\r\n});\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .ripple to jQuery only if jQuery is present\r\n */\r\n\r\nconst $ = getjQuery();\r\n\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Ripple.jQueryInterface;\r\n $.fn[NAME].Constructor = Ripple;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Ripple.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Ripple;\r\n"],"sourceRoot":""} |