{"version":3,"sources":["webpack:///node_modules/core-js/modules/_html.js","webpack:///node_modules/core-js/modules/es7.object.entries.js","webpack:///node_modules/core-js/modules/es7.object.define-setter.js","webpack:///node_modules/core-js/modules/_is-object.js","webpack:///node_modules/core-js/modules/es6.reflect.get.js","webpack:///node_modules/core-js/modules/_iter-step.js","webpack:///node_modules/core-js/modules/_a-function.js","webpack:///node_modules/core-js/modules/_redefine-all.js","webpack:///node_modules/core-js/modules/es6.reflect.apply.js","webpack:///node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///node_modules/core-js/modules/_collection.js","webpack:///node_modules/core-js/modules/_enum-bug-keys.js","webpack:///node_modules/classlist.js/classList.js","webpack:///node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///node_modules/core-js/modules/_array-species-constructor.js","webpack:///node_modules/core-js/modules/es7.array.flat-map.js","webpack:///node_modules/web-animations-js/web-animations.min.js","webpack:///node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///node_modules/core-js/modules/_bind.js","webpack:///node_modules/core-js/modules/_create-property.js","webpack:///node_modules/core-js/modules/es6.map.js","webpack:///node_modules/core-js/modules/_an-instance.js","webpack:///node_modules/core-js/modules/es6.reflect.has.js","webpack:///node_modules/core-js/modules/_iter-define.js","webpack:///node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///node_modules/core-js/modules/_array-methods.js","webpack:///node_modules/core-js/modules/_object-keys.js","webpack:///node_modules/core-js/modules/es6.weak-map.js","webpack:///node_modules/core-js/modules/_is-array.js","webpack:///node_modules/core-js/modules/_object-gopd.js","webpack:///node_modules/core-js/modules/_object-dps.js","webpack:///node_modules/core-js/es7/reflect.js","webpack:///node_modules/core-js/modules/_iter-call.js","webpack:///node_modules/core-js/modules/es6.reflect.construct.js","webpack:///node_modules/core-js/modules/_classof.js","webpack:///node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///node_modules/core-js/modules/_dom-create.js","webpack:///node_modules/core-js/modules/core.get-iterator-method.js","webpack:///node_modules/core-js/modules/_object-gops.js","webpack:///node_modules/core-js/modules/_wks.js","webpack:///node_modules/core-js/modules/_redefine.js","webpack:///node_modules/core-js/modules/_object-create.js","webpack:///node_modules/core-js/modules/_library.js","webpack:///node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///node_modules/core-js/modules/_cof.js","webpack:///node_modules/core-js/modules/_is-array-iter.js","webpack:///node_modules/core-js/modules/_invoke.js","webpack:///node_modules/core-js/modules/_hide.js","webpack:///node_modules/@angular/localize/fesm2015/init.js","webpack:///node_modules/core-js/modules/_metadata.js","webpack:///node_modules/core-js/modules/_object-gpo.js","webpack:///node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///node_modules/core-js/modules/_array-from-iterable.js","webpack:///node_modules/core-js/modules/_iter-create.js","webpack:///node_modules/core-js/modules/es7.object.define-getter.js","webpack:///node_modules/core-js/modules/_to-integer.js","webpack:///node_modules/core-js/modules/_property-desc.js","webpack:///node_modules/core-js/modules/_to-object.js","webpack:///node_modules/core-js/modules/_for-of.js","webpack:///node_modules/core-js/modules/es6.set.js","webpack:///node_modules/core-js/modules/_object-to-array.js","webpack:///node_modules/core-js/modules/_object-pie.js","webpack:///node_modules/core-js/modules/_shared.js","webpack:///node_modules/core-js/es6/reflect.js","webpack:///node_modules/core-js/es7/array.js","webpack:///node_modules/core-js/modules/_export.js","webpack:///node_modules/core-js/modules/_iter-detect.js","webpack:///node_modules/core-js/modules/_inherit-if-required.js","webpack:///node_modules/core-js/modules/_shared-key.js","webpack:///node_modules/core-js/modules/_iobject.js","webpack:///node_modules/core-js/modules/es7.array.includes.js","webpack:///node_modules/core-js/modules/_meta.js","webpack:///node_modules/core-js/modules/_collection-weak.js","webpack:///node_modules/core-js/modules/es7.object.lookup-setter.js","webpack:///node_modules/core-js/es7/object.js","webpack:///node_modules/core-js/modules/_to-iobject.js","webpack:///node_modules/core-js/modules/_has.js","webpack:///node_modules/core-js/modules/_to-primitive.js","webpack:///node_modules/core-js/modules/es7.array.flatten.js","webpack:///node_modules/core-js/modules/_object-assign.js","webpack:///node_modules/core-js/modules/_to-absolute-index.js","webpack:///node_modules/core-js/modules/_global.js","webpack:///node_modules/core-js/modules/_fails.js","webpack:///node_modules/core-js/modules/_set-species.js","webpack:///node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///node_modules/core-js/modules/_set-to-string-tag.js","webpack:///node_modules/core-js/modules/_core.js","webpack:///src/polyfills.ts","webpack:///node_modules/core-js/modules/_iterators.js","webpack:///node_modules/core-js/modules/es7.object.values.js","webpack:///node_modules/core-js/modules/_object-dp.js","webpack:///node_modules/core-js/modules/_set-proto.js","webpack:///node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///node_modules/core-js/modules/_object-gopn.js","webpack:///node_modules/core-js/modules/es6.reflect.set.js","webpack:///node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///node_modules/core-js/modules/_ctx.js","webpack:///node_modules/core-js/modules/_own-keys.js","webpack:///node_modules/core-js/modules/_add-to-unscopables.js","webpack:///node_modules/core-js/modules/_to-length.js","webpack:///node_modules/core-js/modules/_descriptors.js","webpack:///node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///node_modules/zone.js/dist/zone-evergreen.js","webpack:///node_modules/core-js/modules/_validate-collection.js","webpack:///node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///node_modules/core-js/modules/es7.object.lookup-getter.js","webpack:///node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///node_modules/core-js/modules/_defined.js","webpack:///node_modules/core-js/modules/_array-includes.js","webpack:///node_modules/core-js/modules/_collection-strong.js","webpack:///node_modules/core-js/modules/_flatten-into-array.js","webpack:///node_modules/core-js/modules/_object-forced-pam.js","webpack:///node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///node_modules/core-js/modules/_ie8-dom-define.js","webpack:///node_modules/core-js/modules/_an-object.js","webpack:///node_modules/hammerjs/hammer.js","webpack:///node_modules/core-js/modules/_uid.js","webpack:///node_modules/core-js/modules/_array-species-create.js","webpack:///node_modules/core-js/modules/_object-keys-internal.js","webpack:///node_modules/core-js/modules/es7.reflect.delete-metadata.js"],"names":["document","module","exports","documentElement","$export","$entries","S","entries","it","toObject","aFunction","$defineProperty","P","__defineSetter__","setter","f","this","set","enumerable","configurable","gOPD","getPrototypeOf","has","isObject","anObject","get","target","propertyKey","desc","proto","receiver","arguments","length","value","undefined","call","done","TypeError","redefine","src","safe","key","rApply","Reflect","apply","fApply","Function","F","thisArgument","argumentsList","T","L","metadata","ordinaryHasOwnMetadata","ordinaryGetOwnMetadata","toMetaKey","ordinaryGetMetadata","MetadataKey","O","parent","exp","getMetadata","metadataKey","ordinaryDefineOwnMetadata","defineMetadata","metadataValue","targetKey","global","redefineAll","meta","forOf","anInstance","fails","$iterDetect","setToStringTag","inheritIfRequired","NAME","wrapper","methods","common","IS_MAP","IS_WEAK","Base","C","ADDER","prototype","fixMethod","KEY","fn","a","b","forEach","next","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","iter","BUGGY_ZERO","$instance","index","iterable","that","constructor","clear","getConstructor","NEED","G","W","setStrong","split","self","createElement","createElementNS","view","elemCtrProto","Element","objCtr","Object","strTrim","String","trim","replace","arrIndexOf","Array","indexOf","item","i","len","DOMEx","type","message","name","code","DOMException","checkTokenAndGetIndex","classList","token","test","ClassList","elem","trimmedClasses","getAttribute","classes","push","_updateClassName","setAttribute","toString","classListProto","classListGetter","Error","contains","add","tokens","l","updated","remove","splice","toggle","force","result","method","join","defineProperty","classListPropDesc","ex","number","__defineGetter__","testElement","createMethod","original","DOMTokenList","_toggle","getOwnPropertyDescriptor","isArray","SPECIES","flattenIntoArray","toLength","arraySpeciesCreate","flatMap","callbackfn","sourceLen","A","d","_delay","_endDelay","_fill","_iterationStart","_iterations","_duration","_playbackRate","_direction","_easing","_easingFunction","x","e","isDeprecated","c","fill","duration","isNaN","getOwnPropertyNames","v","w","g","h","j","k","Math","abs","style","animationTimingFunction","E","exec","slice","map","Number","start","y","middle","z","end","B","o","H","delay","endDelay","min","I","J","K","_setMember","_effect","_timingInput","_timing","normalizeTimingInput","activeDuration","calculateActiveDuration","_animation","_rebuildUnderlyingAnimation","ease","D","RegExp","cloneTimingInput","makeTiming","numericTimingToObject","iterations","playbackRate","calculateIterationProgress","iterationStart","floor","direction","calculatePhase","normalizeEasing","parseEasingFunction","lastIndexOf","offset","easing","composite","sort","background","border","borderBottom","borderColor","borderLeft","borderRadius","borderRight","borderTop","borderWidth","flex","font","margin","outline","padding","thin","medium","thick","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontSize","small","large","fontWeight","normal","bold","outlineWidth","textShadow","none","boxShadow","convertToArrayForm","normalizeKeyframes","window","Symbol","iterator","from","isFinite","NOT_SUPPORTED_ERR","filter","Date","setMonth","getMonth","console","warn","toDateString","deprecated","animate","convertEffectInput","m","applyFrom","applyTo","startOffset","endOffset","easingFunction","property","interpolation","propertyInterpolation","toUpperCase","addPropertiesHandler","backgroundColor","backgroundPosition","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderRightColor","borderSpacing","borderTopColor","borderTopLeftRadius","borderTopRightRadius","bottom","clip","color","height","left","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","minHeight","minWidth","opacity","outlineColor","outlineOffset","paddingBottom","paddingLeft","paddingRight","paddingTop","right","strokeDasharray","strokeDashoffset","textIndent","top","transform","verticalAlign","visibility","width","wordSpacing","zIndex","n","Interpolation","KeyframeEffect","_totalDuration","_update","_clear","_hasSameTarget","_target","_id","_element","_surrogateStyle","_style","_length","_isAnimatedProperty","_updateSvgTransformAttr","namespaceURI","navigator","userAgent","_savedTransformAttr","_updateIndices","_webAnimationsPatchedStyle","_set","cssText","parentRule","getPropertyCSSValue","getPropertyPriority","getPropertyValue","removeProperty","setProperty","unprefixedPropertyName","transformToSvgMatrix","removeAttribute","propertyName","id","timeline","_play","p","concat","composeMatrix","quat","dot","max","acos","sin","sqrt","cos","sequenceNumber","currentTime","timelineTime","bubbles","cancelable","currentTarget","defaultPrevented","eventPhase","Event","AT_TARGET","timeStamp","now","Animation","_sequenceNumber","_currentTime","_startTime","_paused","_inTimeline","_finishedFlag","onfinish","_finishHandlers","_inEffect","_idle","_currentTimePending","_ensureAlive","_animations","_tickCurrentTime","_isFinished","restart","_timeline","applyDirtiedAnimation","playState","_rewind","play","pause","finish","cancel","reverse","addEventListener","removeEventListener","_fireEvents","setTimeout","_tick","startTime","pending","running","_targetAnimations","_activeAnimations","_markTarget","_unmarkTarget","q","performance","_needsTick","requestAnimationFrame","cancelAnimationFrame","timing","deg","grad","turn","PI","rad","t","tan","px","reduce","r","s","u","makeMatrixDecomposition","transformListToMatrix","ignoreCase","toLowerCase","substr","consumeToken","consumeTrimmed","consumeRepeated","bind","consumeParenthesised","ignore","optional","consumeList","mergeNestedRepeated","mergeWrappedNestedRepeated","mergeList","inset","lengths","consumeLengthOrPercent","consumeColor","mergeDimensions","mergeColors","toFixed","clamp","round","parseNumber","parseNumberList","mergeNumbers","numberToString","fillStyle","fillRect","getImageData","data","clearRect","getContext","NaN","search","source","parseLength","parseLengthOrPercent","parseAngle","consumeSizePairList","mergeNonNegativeSizePair","parseBox","mergeBoxes","N","lastIndex","decompositionPair","matrix","matrix3d","rotate","rotatex","rotatey","rotatez","rotate3d","perspective","scale","scalex","scaley","scalez","scale3d","skew","skewx","skewy","translate","translatex","translatey","translatez","translate3d","center","consumePosition","mergeOffsetList","oncancel","_cancelHandlers","getComputedStyle","hasOwnMetadata","invoke","arraySlice","factories","construct","args","partArgs","bound","createDesc","object","strong","validate","entry","getEntry","def","Constructor","forbiddenField","LIBRARY","hide","Iterators","$iterCreate","ITERATOR","BUGGY","keys","returnThis","DEFAULT","IS_SET","FORCED","IteratorPrototype","getMethod","kind","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$anyNative","values","getOwnMetadata","ctx","IObject","asc","TYPE","$create","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","create","$this","val","res","$keys","enumBugKeys","InternalMap","each","assign","weak","getWeak","isExtensible","uncaughtFrozenStore","ufstore","tmp","_i","$WeakMap","freeze","_f","cof","arg","pIE","toIObject","toPrimitive","IE8_DOM_DEFINE","dP","getKeys","defineProperties","Properties","ret","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","ARG","callee","$isExtensible","is","classof","getIteratorMethod","getOwnPropertySymbols","store","uid","USE_SYMBOL","SRC","$toString","TPL","inspectSource","isFunction","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","appendChild","contentWindow","open","write","lt","close","getProto","ArrayProto","un","__globalThis","globalThis","__window","__self","WorkerGlobalScope","__global","$localize","messageParts","expressions","translation","stripBlock","raw","messagePart","rawMessagePart","charAt","substring","cooked","cookedIndex","rawIndex","Map","shared","getOrCreateMetadataMap","targetMetadata","keyMetadata","metadataMap","MetadataValue","_","ObjectProto","$metadata","descriptor","getter","ceil","bitmap","writable","defined","isArrayIter","getIterFn","BREAK","RETURN","step","iterFn","isEnum","isEntries","propertyIsEnumerable","core","own","out","IS_FORCED","IS_GLOBAL","IS_PROTO","IS_BIND","expProto","U","R","SAFE_CLOSING","riter","skipClosing","arr","setPrototypeOf","$includes","includes","el","META","setDesc","FREEZE","preventExtensions","setMeta","fastKey","onFreeze","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","_t","__lookupSetter__","hasOwnProperty","valueOf","toInteger","flatten","depthArg","gOPS","$assign","aLen","getSymbols","__g","DESCRIPTORS","Enumerate","iterated","_k","enumerate","ordinaryOwnMetadataKeys","getOwnMetadataKeys","tag","stat","version","__e","SVGElement","HTMLDivElement","$values","Attributes","check","buggy","__proto__","attributes","ordinaryHasMetadata","hasMetadata","ownKeys","createProperty","getOwnPropertyDescriptors","getDesc","hiddenKeys","V","existingDescriptor","ownDesc","setProto","gOPN","UNSCOPABLES","$preventExtensions","mark","performanceMeasure","label","symbolPrefix","__symbol__","checkDuplicate","Zone","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","ZoneDelegate","patches","zone","current","_currentZoneFrame","_currentTask","perfName","_api","getZoneWith","fork","callback","_callback","intercept","runGuarded","applyThis","applyArgs","error","handleError","task","NO_ZONE","state","notScheduled","eventTask","macroTask","reEntryGuard","_transitionTo","scheduled","runCount","previousTask","isPeriodic","cancelFn","invokeTask","unknown","_updateTaskCount","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","scheduleTask","err","customSchedule","ZoneTask","microTask","customCancel","canceling","cancelTask","count","DELEGATE_ZS","onHasTask","delegate","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","targetZone","returnTask","scheduleFn","scheduleMicroTask","isEmpty","counts","prev","change","options","_state","useG","_numberOfNestedTaskFrames","runTask","drainMicroTaskQueue","toState","fromState1","fromState2","handleId","symbolSetTimeout","symbolPromise","symbolThen","nativeMicroTaskQueuePromise","_microTaskQueue","_isDrainingMicrotaskQueue","resolve","nativeThen","queue","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","setNativePromise","NativePromise","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","__load_patch","api","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","rejection","stack","uncaughtPromiseError","shift","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","isThenable","then","forwardResolution","forwardRejection","ZoneAwarePromise","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","makeResolver","promise","resolvePromise","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","wasCalled","wrappedFunction","clearRejectedNoCatch","trace","currentTask","scheduleResolveOrReject","obj","JSON","stringify","REJECTION_HANDLED_HANDLER","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","run","rej","onResolve","onReject","allWithCallback","thenCallback","status","errorCallback","reason","unresolvedCount","valueIndex","resolvedValues","curValueIndex","thenErr","executor","toStringTag","species","onFinally","race","all","ZONE_AWARE_PROMISE","NewNativePromise","symbolThenPatched","Ctor","prop","originalThen","fetch","resultPromise","ctor","Promise","ObjectGetPrototypeOf","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","ZONE_SYMBOL_PREFIX","wrap","scheduleMacroTaskWithCurrentZone","scheduleMacroTask","zoneSymbol","isWindowExists","internalWindow","_global","NULL_ON_PROP_VALUE","isPropertyWritable","propertyDesc","isWebWorker","isNode","process","isBrowser","isMix","zoneSymbolEventNames","wrapFn","event","eventNameSymbol","listener","errorEvent","filename","lineno","colno","preventDefault","patchProperty","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","newValue","onProperties","originalInstanceKey","className","OriginalClass","patchFn","delegateName","patchDelegate","funcName","metaCreator","setNative","cbIdx","patched","isDetectedIEOrEdge","ieOrEdge","isIE","ua","originalFunctionToString","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","globalSources","EVENT_NAME_SYMBOL_REGX","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","once","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","rt","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","nativePrependEventListener","buildEventListenerOptions","passive","capture","prepend","isExisting","symbolEventNames","symbolEventName","existingTasks","allRemoved","compare","diff","typeOfDelegate","blackListedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","constructorName","targetSource","scheduleEventTask","unshift","existingTask","findEventTasks","captureTasks","removeTasks","match","evtName","results","foundTasks","captureFalseTasks","captureTrueTasks","targetName","callbacks","nativeDelegate","opts","windowEventNames","mediaElementEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","ignoreProperties","tip","ip","targetIgnoreProperties","op","patchFilteredProperties","propertyDescriptorPatch","supportsWebSocket","WebSocket","ignoreErrorProperties","Document","HTMLElement","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","TRUE_STR","FALSE_STR","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","clearTask","handle","ref","unref","eventTargetPatch","EVENT_TARGET","legacyPatch","blockingMethods","customElements","XMLHttpRequestPrototype","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","XHR_SCHEDULED","XHR_ERROR_BEFORE_SCHEDULED","XHR_LISTENER","newListener","readyState","DONE","aborted","loadTasks","oriInvoke","XHR_TASK","sendNative","placeholderCallback","abortNative","openNative","XHR_SYNC","XHR_URL","fetchTaskAborting","fetchTaskScheduling","url","geolocation","fnNames","findPromiseRejectionHandler","PromiseRejectionEvent","evt","Set","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","__lookupGetter__","deleteProperty","toAbsoluteIndex","IS_INCLUDES","fromIndex","$iterDefine","setSpecies","SIZE","IS_CONCAT_SPREADABLE","depth","mapper","thisArg","element","spreadable","targetIndex","sourceIndex","mapFn","random","exportName","VENDOR_PREFIXES","TEST_ELEMENT","setTimeoutContext","timeout","context","bindFn","invokeArrayArg","deprecate","deprecationMessage","log","output","nextKey","extend","dest","merge","inherit","child","base","childP","baseP","_super","boolOrFn","ifUndefined","val1","val2","addEventListeners","types","splitStr","removeEventListeners","hasParent","node","parentNode","inStr","str","find","inArray","findByKey","toArray","uniqueArray","prefixed","prefix","camelProp","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","PROPS_XY","PROPS_CLIENT_XY","Input","manager","inputTarget","domHandler","ev","enable","init","inputHandler","eventType","input","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","session","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","deltaTime","angle","getAngle","distance","getDistance","offsetDelta","prevDelta","prevInput","deltaX","deltaY","offsetDirection","getDirection","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","rotation","maxPointers","velocity","velocityX","velocityY","last","lastInterval","srcEvent","emit","recognize","clientX","clientY","p1","p2","props","atan2","evEl","evTarget","evWin","destroy","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","MouseInput","pressed","button","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","3","4","5","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","PointerEventInput","pointerEvents","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","SingleTouchInput","started","normalizeSingleTouches","touches","changed","changedTouches","TOUCH_INPUT_MAP","TouchInput","targetIds","getTouches","allTouches","identifier","targetTouches","changedTargetTouches","touch","TouchMouseInput","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","isSyntheticEvent","dx","dy","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","TouchAction","Recognizer","defaults","simultaneous","requireFail","stateStr","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","Hammer","recognizers","preset","Manager","handlers","oldCssProps","inputClass","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","compute","actions","update","getTouchAction","hasPanX","hasPanY","preventDefaults","prevented","hasNone","DIRECTION_LEFT","DIRECTION_UP","preventSrc","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","reset","attrTest","optionPointers","isRecognized","isValid","threshold","DIRECTION_HORIZONTAL","directionTest","hasMoved","time","validPointers","validMovement","validTime","clearTimeout","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","stop","stopped","curRecognizer","existing","on","events","off","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","STATE_FAILED","DIRECTION_NONE","DIRECTION_RIGHT","DIRECTION_DOWN","DIRECTION_VERTICAL","DIRECTION_ALL","Tap","Pan","Swipe","Pinch","Rotate","Press","speciesConstructor","arrayIndexOf","names","deleteMetadata","size"],"mappings":"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CA,wBACA,0BAOEC,EAAyB,CAAC,YAAa,gBAAiB,YAAa,oBAAqB,mBA6D1FC,EAAkB,CAAC,QACnBC,EAAqB,CAAC,OAAQ,QAAS,QAAS,OAAQ,SAAU,SAAU,gBAC5EC,EAAoB,CAAC,SAAU,SAAU,SACzCC,EAA2B,CAC7B,YAAa,WAAY,QAAS,QAAS,OAAQ,WAAY,UAAW,UAC1E,oBAEEC,EAAqB,CAAC,gBAAiB,WAAY,QAAS,UAAW,QAAS,UAAW,gBAAiB,SAC5GC,EAAsB,CAAC,QAAS,QAAS,OAAQ,WACjDC,EAAmB,CAAC,QAAS,WAC7BC,GApNgC,CAClC,QACA,kBACA,eACA,qBACA,WACA,cACA,OACA,SACA,UACA,iBACA,SACA,mBACA,oBACA,iBACA,YACA,QACA,QACA,cACA,aACA,WACA,OACA,UACA,YACA,WACA,YACA,WACA,OACA,iBACA,UACA,QACA,QACA,QACA,UACA,WACA,oBACA,QACA,UACA,UACA,WACA,QACA,OACA,YACA,aACA,iBACA,qBACA,YACA,aACA,aACA,YACA,WACA,YACA,UACA,aACA,oBACA,QACA,OACA,UACA,gBACA,cACA,eACA,eACA,oBACA,uBACA,4BACA,mBACA,sBACA,yBACA,cACA,WACA,cACA,YACA,WACA,aACA,QACA,SACA,SACA,SACA,UACA,SACA,kBACA,cACA,OACA,OACA,UACA,SACA,UACA,aACA,eACA,cACA,YACA,aACA,WACA,mBACA,gBACA,UACA,SAoH6ChwB,OAbzB,CAAC,uBAAwB,mBAAoB,6BAC9C,CAAC,eAAgB,qBACf,CAAC,UAvGC,CACvB,qBAAsB,sBAAuB,mBAAoB,SAAU,mBAC3E,sBAAuB,yBAA0B,qBAAsB,kBACvE,qBAAsB,wBAAyB,oBAAqB,mBACpE,mBAAoB,UA8GuGuvB,EA5EjG,CAC1B,aAAc,YAAa,cAAe,OAAQ,MAAO,QAAS,YAAa,UAC/E,iBAAkB,SAAU,gBAAiB,kBAAmB,qBAChE,2BAA4B,uBAAwB,uBAG5B,CACxB,WACA,cACA,cACA,iBACA,mBACA,kBACA,eACA,aACA,gBACA,gBACA,iBACA,kBACA,cACA,eACA,iBACA,cACA,OACA,UACA,YACA,iBACA,YACA,cACA,WACA,UACA,aACA,eACA,UACA,0BACA,aACA,OACA,gBACA,6BACA,kBACA,qBACA,eACA,gBACA,iBACA,eACA,sBACA,iBACA,uBACA,kBACA,gBACA,iBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,aACA,gCACA,mBACA,OACA,kBAgBJ,SAAS1N,GAAiBp5B,EAAQogC,EAAcoH,GAC5C,IAAKA,GAAgD,IAA5BA,EAAiBlnC,OACtC,OAAO8/B,EAEX,MAAMqH,EAAMD,EAAiBv2B,OAAOy2B,GAAMA,EAAG1nC,SAAWA,GACxD,IAAKynC,GAAsB,IAAfA,EAAInnC,OACZ,OAAO8/B,EAEX,MAAMuH,EAAyBF,EAAI,GAAGD,iBACtC,OAAOpH,EAAanvB,OAAO22B,IAA8C,IAAxCD,EAAuBxhC,QAAQyhC,IAEpE,SAASC,GAAwB7nC,EAAQogC,EAAcoH,EAAkB7jC,GAGhE3D,GAILo4B,EAAkBp4B,EADSo5B,GAAiBp5B,EAAQogC,EAAcoH,GACpB7jC,GAElD,SAASmkC,GAAwBrO,EAAKkF,GAClC,GAAIK,IAAWG,EACX,OAEJ,GAAIjP,KAAKuJ,EAAI1B,OAAO,gBAEhB,OAEJ,MAAMgQ,EAAyC,oBAAdC,UAC3BR,EAAmB7I,EAAqC,4BAE9D,GAAIO,EAAW,CACX,MAAMR,EAAiB/tB,OACjBs3B,EAAwB/G,EAAO,CAAC,CAAElhC,OAAQ0+B,EAAgB8I,iBAAkB,CAAC,WAAc,GAGjGK,GAAwBnJ,EAAgB6I,GAAWhwB,OAAO,CAAC,iBAAkBiwB,EAAmBA,EAAiBjwB,OAAO0wB,GAAyBT,EAAkBvJ,EAAqBS,IACxLmJ,GAAwBK,SAASvkC,UAAW4jC,GAAYC,QACZ,IAAjC9I,EAA2B,YAClCmJ,GAAwBnJ,EAA2B,WAAE/6B,UAAW4jC,GAAYC,GAEhFK,GAAwBniC,QAAQ/B,UAAW4jC,GAAYC,GACvDK,GAAwBM,YAAYxkC,UAAW4jC,GAAYC,GAC3DK,GAAwBO,iBAAiBzkC,UAAWojC,EAAwBS,GAC5EK,GAAwBQ,oBAAoB1kC,UAAWmjC,EAAiBvvB,OAAO0vB,GAAqBO,GACpGK,GAAwBS,gBAAgB3kC,UAAWmjC,EAAiBvvB,OAAO0vB,GAAqBO,GAChGK,GAAwBU,iBAAiB5kC,UAAWqjC,EAAiBQ,GACrEK,GAAwBW,kBAAkB7kC,UAAWqjC,EAAiBQ,GACtE,MAAMiB,EAAqB/J,EAAmC,mBAC1D+J,GACAZ,GAAwBY,EAAmB9kC,UAAWujC,EAAmBM,GAE7E,MAAMkB,EAAShK,EAAuB,OAClCgK,GACAb,GAAwBa,EAAO/kC,UAAW2jC,EAAkBE,GAGpE,MAAMmB,EAAiBhK,EAAwB,eAC3CgK,GAEAd,GAAwBc,EAAehlC,UAAWwjC,EAA0BK,GAEhF,MAAMoB,EAA4BjK,EAAmC,0BACjEiK,GACAf,GAAwBe,GAA6BA,EAA0BjlC,UAAWwjC,EAA0BK,GAEhG,oBAAbqB,WACPhB,GAAwBgB,SAASllC,UAAWyjC,EAAoBI,GAChEK,GAAwBiB,WAAWnlC,UAAWyjC,EAAoBI,GAClEK,GAAwBkB,iBAAiBplC,UAAWyjC,EAAoBI,GACxEK,GAAwBmB,YAAYrlC,UAAWyjC,EAAoBI,GACnEK,GAAwBoB,eAAetlC,UAAWyjC,EAAoBI,GACtEK,GAAwBqB,UAAUvlC,UAAWyjC,EAAoBI,IAEjEO,GACAF,GAAwBG,UAAUrkC,UAAW0jC,EAAqBG,GAW1EtX,KAAKsJ,aAAa,OAAQ,CAAC/2B,EAAQytB,EAAMuJ,KACrCA,EAAIrB,kBAAoBA,EACxBqB,EAAIpB,YAAcA,EAClBoB,EAAInB,cAAgBA,EACpBmB,EAAIjB,eAAiBA,EAOrB,MAAM2Q,EAA6BjZ,EAAKF,WAAW,uBAC7CoZ,EAA0BlZ,EAAKF,WAAW,oBAC5CvtB,EAAO2mC,KACP3mC,EAAO0mC,GAA8B1mC,EAAO2mC,IAE5C3mC,EAAO0mC,KACPjZ,EAAKiZ,GAA8BjZ,EAAKkZ,GACpC3mC,EAAO0mC,IAEf1P,EAAId,oBAAsBA,EAC1Bc,EAAItB,iBAAmBA,EACvBsB,EAAIb,WAAaA,EACjBa,EAAIX,qBAAuBA,EAC3BW,EAAIV,+BAAiCA,EACrCU,EAAIT,aAAeA,EACnBS,EAAIR,WAAaA,EACjBQ,EAAIP,WAAaA,EACjBO,EAAIN,oBAAsBA,EAC1BM,EAAIL,iBAAmBA,GACvBK,EAAIJ,sBAAwBA,EAC5BI,EAAIH,kBAAoB1zB,OAAO6C,eAC/BgxB,EAAIF,eAAiBA,EACrBE,EAAIZ,iBAAmB,MAASmJ,gBAAe5C,qBAAsB2C,EAAwBwF,cAAYrI,YAAWC,QAAOH,SAAQqK,SA73CtH,OA83CTC,UA53CU,QA43CClL,qBAAoBmL,uBAt4CR,mBAs4CgCC,0BAp4C7B,0BA84ClC,MAAMC,GAAajL,EAAW,YAC9B,SAASkL,GAAW/4B,EAAQg5B,EAASC,EAAYC,GAC7C,IAAIhJ,EAAY,KACZiJ,EAAc,KAElBF,GAAcC,EACd,MAAME,EAAkB,GACxB,SAAS/W,EAAarB,GAClB,MAAMvT,EAAOuT,EAAKvT,KAyBlB,OAFAA,EAAKgD,KAAK,GAtBV,WACI,IACIuQ,EAAK3Q,OAAO9f,MAAM5B,KAAMe,W,QAMlBsxB,EAAKvT,MAAQuT,EAAKvT,KAAKkU,aACI,iBAAlBlU,EAAK+Y,gBAGL4S,EAAgB3rB,EAAK+Y,UAEvB/Y,EAAK+Y,WAGV/Y,EAAK+Y,SAASsS,IAAc,SAM5CrrB,EAAK+Y,SAAW0J,EAAU3/B,MAAMyP,EAAQyN,EAAKgD,MACtCuQ,EAEX,SAASqY,EAAUrY,GAAQ,OAAOmY,EAAYnY,EAAKvT,KAAK+Y,UACxD0J,EACIxI,EAAY1nB,EAjChBg5B,GAAWE,EAiCuBlW,GAAa,SAAUtuB,EAAM+b,GACvD,GAAuB,mBAAZA,EAAK,GAAmB,CAC/B,MAMMuQ,EAAO2M,EAAiCqL,EAASvoB,EAAK,GAN5C,CACZkR,WAA2B,aAAfuX,EACZt9B,MAAuB,YAAfs9B,GAA2C,aAAfA,EAA6BzoB,EAAK,IAAM,OACxE5gB,EACJ4gB,KAAMA,GAE+D4R,EAAcgX,GACvF,IAAKrY,EACD,OAAOA,EAGX,MAAMsY,EAAStY,EAAKvT,KAAK+Y,SAkBzB,MAjBsB,iBAAX8S,EAGPF,EAAgBE,GAAUtY,EAErBsY,IAGLA,EAAOR,IAAc9X,GAIrBsY,GAAUA,EAAOC,KAAOD,EAAOE,OAA+B,mBAAfF,EAAOC,KAC9B,mBAAjBD,EAAOE,QACdxY,EAAKuY,IAAMD,EAAOC,IAAIttB,KAAKqtB,GAC3BtY,EAAKwY,MAAQF,EAAOE,MAAMvtB,KAAKqtB,IAEb,iBAAXA,GAAuBA,EACvBA,EAEJtY,EAIP,OAAOgC,EAASzyB,MAAMyP,EAAQyQ,KAG1C0oB,EACIzR,EAAY1nB,EAAQi5B,EAAajW,GAAa,SAAUtuB,EAAM+b,GAC1D,MAAMjK,EAAKiK,EAAK,GAChB,IAAIuQ,EACc,iBAAPxa,EAEPwa,EAAOoY,EAAgB5yB,IAIvBwa,EAAOxa,GAAMA,EAAGsyB,IAEX9X,IACDA,EAAOxa,IAGXwa,GAA6B,iBAAdA,EAAKnrB,KACD,iBAAfmrB,EAAKE,QACJF,EAAKY,UAAYZ,EAAKvT,KAAKkU,YAAgC,IAAlBX,EAAKS,YAC7B,iBAAPjb,SACA4yB,EAAgB5yB,GAElBA,IACLA,EAAGsyB,IAAc,MAGrB9X,EAAKhB,KAAK4C,WAAW5B,IAKzBgC,EAASzyB,MAAMyP,EAAQyQ,KA4BvC,SAASgpB,GAAiBzL,EAASlF,GAC/B,GAAIvJ,KAAKuJ,EAAI1B,OAAO,qBAEhB,OAEJ,MAAM,WAAEwP,EAAU,qBAAEnI,EAAoB,SAAEiK,EAAQ,UAAEC,EAAS,mBAAElL,GAAuB3E,EAAIZ,mBAE1F,IAAK,IAAIxyB,EAAI,EAAGA,EAAIkhC,EAAWjnC,OAAQ+F,IAAK,CACxC,MAAM65B,EAAYqH,EAAWlhC,GAGvB0xB,EAASqG,GAFQ8B,EAAYoJ,GAG7B/G,EAAgBnE,GAFA8B,EAAYmJ,GAGlCjK,EAAqBc,GAAa,GAClCd,EAAqBc,GAAWoJ,GAAavR,EAC7CqH,EAAqBc,GAAWmJ,GAAY9G,EAEhD,MAAM8H,EAAe1L,EAAqB,YAC1C,OAAK0L,GAAiBA,EAAa1mC,WAGnC81B,EAAItB,iBAAiBwG,EAAS,CAAC0L,GAAgBA,EAAa1mC,aACrD,QAJP,EAiBJusB,KAAKsJ,aAAa,SAAW/2B,IACzB,MAAM6nC,EAAc7nC,EAAOytB,KAAKF,WAAW,gBACvCsa,GACAA,MAGRpa,KAAKsJ,aAAa,SAAW/2B,IAGzBinC,GAAWjnC,EAFC,MACE,QACiB,WAC/BinC,GAAWjnC,EAHC,MACE,QAEiB,YAC/BinC,GAAWjnC,EAJC,MACE,QAGiB,eAEnCytB,KAAKsJ,aAAa,wBAA0B/2B,IACxCinC,GAAWjnC,EAAQ,UAAW,SAAU,kBACxCinC,GAAWjnC,EAAQ,aAAc,YAAa,kBAC9CinC,GAAWjnC,EAAQ,gBAAiB,eAAgB,oBAExDytB,KAAKsJ,aAAa,WAAY,CAAC/2B,EAAQytB,KACnC,MAAMqa,EAAkB,CAAC,QAAS,SAAU,WAC5C,IAAK,IAAIlkC,EAAI,EAAGA,EAAIkkC,EAAgBjqC,OAAQ+F,IAExCgyB,EAAY51B,EADC8nC,EAAgBlkC,GACH,CAACstB,EAAUoE,EAAQrxB,IAClC,SAAUwV,EAAGkF,GAChB,OAAO8O,EAAKU,QAAQuL,IAAIxI,EAAUlxB,EAAQ2e,EAAM1a,OAKhEwpB,KAAKsJ,aAAa,cAAe,CAAC/2B,EAAQytB,EAAMuJ,MAxChD,SAAoBh3B,EAAQg3B,GACxBA,EAAId,oBAAoBl2B,EAAQg3B,GADpC,CAyCeh3B,EAAQg3B,GACnB2Q,GAAiB3nC,EAAQg3B,GAEzB,MAAMmP,EAA4BnmC,EAAkC,0BAChEmmC,GAA6BA,EAA0BjlC,WACvD81B,EAAItB,iBAAiB11B,EAAQ,CAACmmC,EAA0BjlC,YAE5Du1B,EAAW,oBACXA,EAAW,0BACXA,EAAW,wBACXA,EAAW,gBAEfhJ,KAAKsJ,aAAa,cAAe,CAAC/2B,EAAQytB,EAAMuJ,KAC5CqO,GAAwBrO,EAAKh3B,KAEjCytB,KAAKsJ,aAAa,iBAAkB,CAAC/2B,EAAQytB,EAAMuJ,MAhGnD,SAA6BkF,EAASlF,GAClC,MAAM,UAAEyF,EAAS,MAAEC,GAAU1F,EAAIZ,oBAC3BqG,GAAcC,IAAWR,EAAwB,gBAAO,mBAAoBA,GAIlFlF,EAAIF,eAAeE,EAAKkF,EAAQ6L,eAAgB,iBAAkB,SADhD,CAAC,oBAAqB,uBAAwB,kBAAmB,6BALvF,CAiGwB/nC,EAAQg3B,KAEhCvJ,KAAKsJ,aAAa,MAAO,CAAC/2B,EAAQytB,MAS9B,SAAkBvf,GACd,MAAMg4B,EAAiBh4B,EAAuB,eAC9C,IAAKg4B,EAED,OAEJ,MAAM8B,EAA0B9B,EAAehlC,UAE/C,IAAI+mC,EAAiBD,EAAwBvM,GACzCyM,EAAoBF,EAAwBtM,GAChD,IAAKuM,EAAgB,CACjB,MAAM9B,EAA4Bj4B,EAAkC,0BACpE,GAAIi4B,EAA2B,CAC3B,MAAMgC,EAAqChC,EAA0BjlC,UACrE+mC,EAAiBE,EAAmC1M,GACpDyM,EAAoBC,EAAmCzM,IAK/D,SAASnL,EAAarB,GAClB,MAAMvT,EAAOuT,EAAKvT,KACZpe,EAASoe,EAAKpe,OACpBA,EAAO6qC,IAAiB,EACxB7qC,EAAO8qC,IAA8B,EAErC,MAAMtL,EAAWx/B,EAAO+qC,GACnBL,IACDA,EAAiB1qC,EAAOk+B,GACxByM,EAAoB3qC,EAAOm+B,IAE3BqB,GACAmL,EAAkBlqC,KAAKT,EAdJ,mBAcgCw/B,GAEvD,MAAMwL,EAAchrC,EAAO+qC,GAAgB,KACvC,GAAI/qC,EAAOirC,aAAejrC,EAAOkrC,KAG7B,IAAK9sB,EAAK+sB,SAAWnrC,EAAO6qC,IAnBtB,cAmBwClZ,EAAKE,MAAqB,CAIpE,MAAMuZ,EAAYprC,EAAOkwB,EAAKF,WAAW,cACzC,GAAIob,GAAaA,EAAU9qC,OAAS,EAAG,CACnC,MAAM+qC,EAAY1Z,EAAK3Q,OACvB2Q,EAAK3Q,OAAS,WAGV,MAAMoqB,EAAYprC,EAAOkwB,EAAKF,WAAW,cACzC,IAAK,IAAI3pB,EAAI,EAAGA,EAAI+kC,EAAU9qC,OAAQ+F,IAC9B+kC,EAAU/kC,KAAOsrB,GACjByZ,EAAUjjC,OAAO9B,EAAG,GAGvB+X,EAAK+sB,SAnChB,cAmC2BxZ,EAAKE,OACtBwZ,EAAU5qC,KAAKkxB,IAGvByZ,EAAU9jC,KAAKqqB,QAGfA,EAAK3Q,cAGH5C,EAAK+sB,UAAqC,IAA1BnrC,EAAO6qC,KAE7B7qC,EAAO8qC,IAA8B,IAWjD,OAPAJ,EAAejqC,KAAKT,EApDG,mBAoDyBgrC,GAC7BhrC,EAAOsrC,KAEtBtrC,EAAOsrC,GAAY3Z,GAEvB4Z,EAAWrqC,MAAMlB,EAAQoe,EAAKgD,MAC9BphB,EAAO6qC,IAAiB,EACjBlZ,EAEX,SAAS6Z,KACT,SAASxB,EAAUrY,GACf,MAAMvT,EAAOuT,EAAKvT,KAIlB,OADAA,EAAK+sB,SAAU,EACRM,EAAYvqC,MAAMkd,EAAKpe,OAAQoe,EAAKgD,MAE/C,MAAMsqB,EAAarT,EAAYoS,EAAyB,OAAQ,IAAM,SAAUplC,EAAM+b,GAGlF,OAFA/b,EAAKsmC,GAAuB,GAAXvqB,EAAK,GACtB/b,EAAKumC,GAAWxqB,EAAK,GACdsqB,EAAWxqC,MAAMmE,EAAM+b,KAG5ByqB,EAAoBrN,EAAW,qBAC/BsN,EAAsBtN,EAAW,uBACjC+M,EAAalT,EAAYoS,EAAyB,OAAQ,IAAM,SAAUplC,EAAM+b,GAClF,IAA0C,IAAtC8O,EAAKU,QAAQkb,GAIb,OAAOP,EAAWrqC,MAAMmE,EAAM+b,GAElC,GAAI/b,EAAKsmC,GAEL,OAAOJ,EAAWrqC,MAAMmE,EAAM+b,GAE7B,CACD,MAAMsV,EAAU,CAAE12B,OAAQqF,EAAM0mC,IAAK1mC,EAAKumC,GAAUtZ,YAAY,EAAOlR,KAAMA,EAAM+pB,SAAS,GACtFxZ,EAAO2M,EAhBS,sBAgB+CkN,EAAqB9U,EAAS1D,EAAcgX,GAC7G3kC,IAA6C,IAArCA,EAAKylC,KAAyCpU,EAAQyU,SA1FxD,cA2FNxZ,EAAKE,OAILF,EAAK3Q,YAIXyqB,EAAcpT,EAAYoS,EAAyB,QAAS,IAAM,SAAUplC,EAAM+b,GACpF,MAAMuQ,EAAuBtsB,EAhHgBimC,GAiH7C,GAAI3Z,GAA4B,iBAAbA,EAAKnrB,KAAkB,CAKtC,GAAqB,MAAjBmrB,EAAKY,UAAqBZ,EAAKvT,MAAQuT,EAAKvT,KAAK+sB,QACjD,OAEJxZ,EAAKhB,KAAK4C,WAAW5B,QAEpB,IAAwC,IAApCzB,EAAKU,QAAQib,GAElB,OAAOJ,EAAYvqC,MAAMmE,EAAM+b,KApI3C,CAPS3e,GACT,MAAM6oC,EAAW9M,EAAW,WACtBmN,EAAWnN,EAAW,WACtBuM,EAAevM,EAAW,eAC1BqM,EAAgBrM,EAAW,gBAC3BoN,EAAUpN,EAAW,UACrBsM,EAA6BtM,EAAW,6BA6IlDtO,KAAKsJ,aAAa,cAAgB/2B,IAE1BA,EAAkB,WAAKA,EAAkB,UAAEupC,aAluDnD,SAAwBroC,EAAWsoC,GAC/B,MAAMxtB,EAAS9a,EAAUkB,YAAkB,KAC3C,IAAK,IAAIwB,EAAI,EAAGA,EAAI4lC,EAAQ3rC,OAAQ+F,IAAK,CACrC,MAAMK,EAAOulC,EAAQ5lC,GACfstB,EAAWhwB,EAAU+C,GAC3B,GAAIitB,EAAU,CAEV,IAAKkL,EADiB9F,EAA+Bp1B,EAAW+C,IAE5D,SAEJ/C,EAAU+C,GAAQ,CAAEitB,IAChB,MAAMoN,EAAU,WACZ,OAAOpN,EAASzyB,MAAM5B,KAAMg5B,EAAcj4B,UAAWoe,EAAS,IAAM/X,KAGxE,OADA2yB,EAAsB0H,EAASpN,GACxBoN,GALO,CAMfpN,KAhBf,CAmuDuBlxB,EAAkB,UAAEupC,YAAa,CAAC,qBAAsB,oBAG/E9b,KAAKsJ,aAAa,wBAAyB,CAAC/2B,EAAQytB,KAEhD,SAASgc,EAA4B7F,GACjC,OAAO,SAAU57B,GACMw7B,EAAexjC,EAAQ4jC,GAC/BpiC,QAAQ8tB,IAGf,MAAMoa,EAAwB1pC,EAA8B,sBAC5D,GAAI0pC,EAAuB,CACvB,MAAMC,EAAM,IAAID,EAAsB9F,EAAS,CAAEtL,QAAStwB,EAAEswB,QAAS4B,OAAQlyB,EAAEmvB,YAC/E7H,EAAU/Q,OAAOorB,OAK7B3pC,EAA8B,wBAC9BytB,EAAKsO,EAAW,qCACZ0N,EAA4B,sBAChChc,EAAKsO,EAAW,4BACZ0N,EAA4B,yBAj3FmB,mC,qBCN/D,IAAIrsC,EAAW,EAAQ,QACvBtB,EAAOC,QAAU,SAAUM,EAAI2kB,GAC7B,IAAK5jB,EAASf,IAAOA,EAAGiuB,KAAOtJ,EAAM,MAAM9iB,UAAU,0BAA4B8iB,EAAO,cACxF,OAAO3kB,I,qBCHT,IAAIutC,EAAM,EAAQ,QACdv7B,EAAO,EAAQ,QACfpP,EAAW,EAAQ,QACnB5B,EAAW,EAAQ,QACnBH,EAAiB,EAAQ,QACzBquB,EAA0BtsB,EAAS4gB,KACnCzgB,EAAYH,EAASX,IAErBurC,EAAuB,SAAUtqC,EAAG9C,GACtC,IAAIqtC,EAAQve,EAAwBhsB,EAAG9C,GACnC+C,EAAStC,EAAeqC,GAC5B,GAAe,OAAXC,EAAiB,OAAOsqC,EAC5B,IAAIC,EAAQF,EAAqBrqC,EAAQ/C,GACzC,OAAOstC,EAAMlsC,OAASisC,EAAMjsC,OAASwQ,EAAK,IAAIu7B,EAAIE,EAAMh1B,OAAOi1B,KAAWA,EAAQD,GAGpF7qC,EAASQ,IAAI,CAAEuqC,gBAAiB,SAAyBzsC,GACvD,OAAOssC,EAAqBxsC,EAASE,GAASK,UAAUC,OAAS,OAAIE,EAAYqB,EAAUxB,UAAU,S,kCChBvG,IAAI3B,EAAU,EAAQ,QAClBK,EAAW,EAAQ,QACnBwmB,EAAc,EAAQ,QACtB5lB,EAAiB,EAAQ,QACzBwJ,EAA2B,EAAQ,QAAkB9J,EAGzD,EAAQ,SAAqBX,EAAQA,EAAQQ,EAAI,EAAQ,QAAyB,SAAU,CAC1FwtC,iBAAkB,SAA0BxtC,GAC1C,IAEIqO,EAFAvL,EAAIjD,EAASO,MACbsN,EAAI2Y,EAAYrmB,GAAG,GAEvB,EAAE,CACA,GAAIqO,EAAIpE,EAAyBnH,EAAG4K,GAAI,OAAOW,EAAExN,UAC1CiC,EAAIrC,EAAeqC,Q,qBCdhC,IAAItD,EAAU,EAAQ,QAClBgB,EAAO,EAAQ,QAAkBL,EACjCS,EAAW,EAAQ,QAEvBpB,EAAQA,EAAQE,EAAG,UAAW,CAC5B+tC,eAAgB,SAAwB3sC,EAAQC,GAC9C,IAAIC,EAAOR,EAAKI,EAASE,GAASC,GAClC,QAAOC,IAASA,EAAKT,sBAA8BO,EAAOC,O,mBCP9D1B,EAAOC,QAAU,SAAUM,GACzB,GAAU0B,MAAN1B,EAAiB,MAAM6B,UAAU,yBAA2B7B,GAChE,OAAOA,I,qBCDT,IAAIwmB,EAAY,EAAQ,QACpB/b,EAAW,EAAQ,QACnBqjC,EAAkB,EAAQ,QAC9BruC,EAAOC,QAAU,SAAUquC,GACzB,OAAO,SAAU5oB,EAAO+H,EAAI8gB,GAC1B,IAGIvsC,EAHAyB,EAAIsjB,EAAUrB,GACd3jB,EAASiJ,EAASvH,EAAE1B,QACpBoE,EAAQkoC,EAAgBE,EAAWxsC,GAIvC,GAAIusC,GAAe7gB,GAAMA,EAAGA,CAAC,KAAO1rB,EAASoE,GAG3C,IAFAnE,EAAQyB,EAAE0C,OAEGnE,EAAO,OAAO,OAEtB,KAAMD,EAASoE,EAAOA,IAAS,IAAImoC,GAAenoC,KAAS1C,IAC5DA,EAAE0C,KAAWsnB,EAAI,OAAO6gB,GAAenoC,GAAS,EACpD,OAAQmoC,IAAgB,K,kCCnB9B,IAAIpnB,EAAK,EAAQ,QAAgBpmB,EAC7B2kB,EAAS,EAAQ,QACjBthB,EAAc,EAAQ,QACtB4gB,EAAM,EAAQ,QACdzgB,EAAa,EAAQ,QACrBD,EAAQ,EAAQ,QAChBmqC,EAAc,EAAQ,QACtBriB,EAAO,EAAQ,QACfsiB,EAAa,EAAQ,QACrBrf,EAAc,EAAQ,QACtBrB,EAAU,EAAQ,QAAWA,QAC7B5K,EAAW,EAAQ,QACnBurB,EAAOtf,EAAc,KAAO,OAE5B/L,EAAW,SAAUhd,EAAM7D,GAE7B,IACI4gB,EADAjd,EAAQ4nB,EAAQvrB,GAEpB,GAAc,MAAV2D,EAAe,OAAOE,EAAKmgB,GAAGrgB,GAElC,IAAKid,EAAQ/c,EAAKsgB,GAAIvD,EAAOA,EAAQA,EAAMzM,EACzC,GAAIyM,EAAMtW,GAAKtK,EAAK,OAAO4gB,GAI/BpjB,EAAOC,QAAU,CACfuG,eAAgB,SAAU5B,EAASD,EAAMI,EAAQI,GAC/C,IAAID,EAAIN,GAAQA,SAAUyB,EAAMD,GAC9B9B,EAAW+B,EAAMnB,EAAGP,EAAM,MAC1B0B,EAAKmoB,GAAK7pB,EACV0B,EAAKmgB,GAAKf,EAAO,MACjBpf,EAAKsgB,QAAK1kB,EACVoE,EAAKgoB,QAAKpsB,EACVoE,EAAKqoC,GAAQ,EACGzsC,MAAZmE,GAAuB/B,EAAM+B,EAAUrB,EAAQsB,EAAKlB,GAAQkB,MAsDlE,OApDAlC,EAAYe,EAAEE,UAAW,CAGvBmB,MAAO,WACL,IAAK,IAAIF,EAAO8c,EAASpiB,KAAM4D,GAAOkb,EAAOxZ,EAAKmgB,GAAIpD,EAAQ/c,EAAKsgB,GAAIvD,EAAOA,EAAQA,EAAMzM,EAC1FyM,EAAM1F,GAAI,EACN0F,EAAMrK,IAAGqK,EAAMrK,EAAIqK,EAAMrK,EAAEpC,OAAI1U,UAC5B4d,EAAKuD,EAAMtb,GAEpBzB,EAAKsgB,GAAKtgB,EAAKgoB,QAAKpsB,EACpBoE,EAAKqoC,GAAQ,GAIf,OAAU,SAAUlsC,GAClB,IAAI6D,EAAO8c,EAASpiB,KAAM4D,GACtBye,EAAQC,EAAShd,EAAM7D,GAC3B,GAAI4gB,EAAO,CACT,IAAIzd,EAAOyd,EAAMzM,EACbshB,EAAO7U,EAAMrK,SACV1S,EAAKmgB,GAAGpD,EAAMtb,GACrBsb,EAAM1F,GAAI,EACNua,IAAMA,EAAKthB,EAAIhR,GACfA,IAAMA,EAAKoT,EAAIkf,GACf5xB,EAAKsgB,IAAMvD,IAAO/c,EAAKsgB,GAAKhhB,GAC5BU,EAAKgoB,IAAMjL,IAAO/c,EAAKgoB,GAAK4J,GAChC5xB,EAAKqoC,KACL,QAAStrB,GAIb1d,QAAS,SAAiByF,GACxBgY,EAASpiB,KAAM4D,GAGf,IAFA,IACIye,EADAtiB,EAAIikB,EAAI5Z,EAAYrJ,UAAUC,OAAS,EAAID,UAAU,QAAKG,EAAW,GAElEmhB,EAAQA,EAAQA,EAAMzM,EAAI5V,KAAK4lB,IAGpC,IAFA7lB,EAAEsiB,EAAM3W,EAAG2W,EAAMtW,EAAG/L,MAEbqiB,GAASA,EAAM1F,GAAG0F,EAAQA,EAAMrK,GAK3C1X,IAAK,SAAamB,GAChB,QAAS6gB,EAASF,EAASpiB,KAAM4D,GAAOnC,MAGxC4sB,GAAalI,EAAGhiB,EAAEE,UAAW,OAAQ,CACvC5D,IAAK,WACH,OAAO2hB,EAASpiB,KAAM4D,GAAM+pC,MAGzBxpC,GAEToe,IAAK,SAAUjd,EAAM7D,EAAKR,GACxB,IACIi2B,EAAM9xB,EADNid,EAAQC,EAAShd,EAAM7D,GAoBzB,OAjBE4gB,EACFA,EAAM3W,EAAIzK,GAGVqE,EAAKgoB,GAAKjL,EAAQ,CAChBtb,EAAG3B,EAAQ4nB,EAAQvrB,GAAK,GACxBsK,EAAGtK,EACHiK,EAAGzK,EACH+W,EAAGkf,EAAO5xB,EAAKgoB,GACf1X,OAAG1U,EACHyb,GAAG,GAEArX,EAAKsgB,KAAItgB,EAAKsgB,GAAKvD,GACpB6U,IAAMA,EAAKthB,EAAIyM,GACnB/c,EAAKqoC,KAES,MAAVvoC,IAAeE,EAAKmgB,GAAGrgB,GAASid,IAC7B/c,GAEXgd,SAAUA,EACVzc,UAAW,SAAU1B,EAAGP,EAAMI,GAG5BypC,EAAYtpC,EAAGP,GAAKA,SAAW2qB,EAAUhL,GACvCvjB,KAAKytB,GAAKrL,EAASmM,EAAU3qB,GAC7B5D,KAAKwuB,GAAKjL,EACVvjB,KAAKstB,QAAKpsB,gBAMV,IAJA,IACIqiB,EADOvjB,KACKwuB,GACZnM,EAFOriB,KAEMstB,GAEVjL,GAASA,EAAM1F,GAAG0F,EAAQA,EAAMrK,EAEvC,OANWhY,KAMDytB,KANCztB,KAMYstB,GAAKjL,EAAQA,EAAQA,EAAMzM,EANvC5V,KAMgDytB,GAAG7H,IAMnCwF,EAAK,EAApB,QAAR7H,EAA+BlB,EAAMtW,EAC7B,UAARwX,EAAiClB,EAAM3W,EAC5B,CAAC2W,EAAMtW,EAAGsW,EAAM3W,KAdpB1L,KAQJytB,QAAKvsB,EACHkqB,EAAK,MAMbpnB,EAAS,UAAY,UAAWA,GAAQ,GAG3C0pC,EAAW9pC,M,oCC3If,IAAIkG,EAAU,EAAQ,QAClBvJ,EAAW,EAAQ,QACnB0J,EAAW,EAAQ,QACnB+Z,EAAM,EAAQ,QACd4pB,EAAuB,EAAQ,OAAR,CAAkB,sBAgC7C3uC,EAAOC,QA9BP,SAAS8K,EAAiBtJ,EAAQgJ,EAAUyV,EAAQ9U,EAAWoC,EAAOohC,EAAOC,EAAQC,GAMnF,IALA,IAGIC,EAASC,EAHTC,EAAczhC,EACd0hC,EAAc,EACdC,IAAQN,GAAS9pB,EAAI8pB,EAAQC,EAAS,GAGnCI,EAAc9jC,GAAW,CAC9B,GAAI8jC,KAAehvB,EAAQ,CASzB,GARA6uB,EAAUI,EAAQA,EAAMjvB,EAAOgvB,GAAcA,EAAazkC,GAAYyV,EAAOgvB,GAE7EF,GAAa,EACT1tC,EAASytC,KAEXC,OAA4B/sC,KAD5B+sC,EAAaD,EAAQJ,MACqBK,EAAankC,EAAQkkC,IAG7DC,GAAcJ,EAAQ,EACxBK,EAAclkC,EAAiBtJ,EAAQgJ,EAAUskC,EAAS/jC,EAAS+jC,EAAQhtC,QAASktC,EAAaL,EAAQ,GAAK,MACzG,CACL,GAAIK,GAAe,iBAAkB,MAAM7sC,YAC3CX,EAAOwtC,GAAeF,EAGxBE,IAEFC,IAEF,OAAOD,I,kCCjCTjvC,EAAOC,QAAU,EAAQ,UAAkB,EAAQ,OAAR,aACzC,IAAIoO,EAAItB,KAAKqiC,SAGbxuC,iBAAiBsB,KAAK,KAAMmM,GAAEA,sBACvB,EAAQ,QAAaA,O,qBCN9B,IAAIlO,EAAU,EAAQ,QAEtBA,EAAQA,EAAQE,EAAG,UAAW,CAAEowB,QAAS,EAAQ,W,qBCHjDzwB,EAAOC,SAAW,EAAQ,UAAsB,EAAQ,OAAR,aAC9C,OAA4G,GAArGoH,OAAO6C,eAAe,EAAQ,OAAR,CAAyB,OAAQ,IAAK,CAAE1I,IAAK,WAAc,OAAO,KAAQgE,M,qBCDzG,IAAIlE,EAAW,EAAQ,QACvBtB,EAAOC,QAAU,SAAUM,GACzB,IAAKe,EAASf,GAAK,MAAM6B,UAAU7B,EAAK,sBACxC,OAAOA,I,qBCHT,OAKA,SAAU6R,EAAQrS,EAAUsvC,EAAYptC,GACtC,aAEF,IA+FIgkB,EA/FAqpB,EAAkB,CAAC,GAAI,SAAU,MAAO,KAAM,KAAM,KACpDC,EAAexvC,EAASgH,cAAc,OAItCsY,EAAQtS,KAAKsS,MACbrS,EAAMD,KAAKC,IACXoN,EAAMzH,KAAKyH,IASf,SAASo1B,EAAkBjqC,EAAIkqC,EAASC,GACpC,OAAOxzB,WAAWyzB,EAAOpqC,EAAImqC,GAAUD,GAY3C,SAASG,EAAe/oB,EAAKthB,EAAImqC,GAC7B,QAAI/nC,MAAMkD,QAAQgc,KACdb,EAAKa,EAAK6oB,EAAQnqC,GAAKmqC,IAChB,GAWf,SAAS1pB,EAAKkX,EAAK5qB,EAAUo9B,GACzB,IAAI5nC,EAEJ,GAAKo1B,EAIL,GAAIA,EAAIx3B,QACJw3B,EAAIx3B,QAAQ4M,EAAUo9B,QACnB,QAvDX,IAuDexS,EAAIn7B,OAEX,IADA+F,EAAI,EACGA,EAAIo1B,EAAIn7B,QACXuQ,EAASpQ,KAAKwtC,EAASxS,EAAIp1B,GAAIA,EAAGo1B,GAClCp1B,SAGJ,IAAKA,KAAKo1B,EACNA,EAAIxO,eAAe5mB,IAAMwK,EAASpQ,KAAKwtC,EAASxS,EAAIp1B,GAAIA,EAAGo1B,GAYvE,SAAS2S,EAAU7lC,EAAQ7B,EAAMD,GAC7B,IAAI4nC,EAAqB,sBAAwB3nC,EAAO,KAAOD,EAAU,SACzE,OAAO,WACH,IAAIgE,EAAI,IAAI7C,MAAM,mBACdiyB,EAAQpvB,GAAKA,EAAEovB,MAAQpvB,EAAEovB,MAAM7zB,QAAQ,kBAAmB,IACzDA,QAAQ,cAAe,IACvBA,QAAQ,6BAA8B,kBAAoB,sBAE3DsoC,EAAM39B,EAAOU,UAAYV,EAAOU,QAAQC,MAAQX,EAAOU,QAAQi9B,KAInE,OAHIA,GACAA,EAAI7tC,KAAKkQ,EAAOU,QAASg9B,EAAoBxU,GAE1CtxB,EAAOrH,MAAM5B,KAAMe,YAa9BmkB,EADyB,mBAAlB5e,OAAO4e,OACL,SAAgBxkB,GACrB,GAAIA,QACA,MAAM,IAAIW,UAAU,8CAIxB,IADA,IAAI4tC,EAAS3oC,OAAO5F,GACX0E,EAAQ,EAAGA,EAAQrE,UAAUC,OAAQoE,IAAS,CACnD,IAAI+Z,EAASpe,UAAUqE,GACvB,GAAI+Z,QACA,IAAK,IAAI+vB,KAAW/vB,EACZA,EAAOwO,eAAeuhB,KACtBD,EAAOC,GAAW/vB,EAAO+vB,IAKzC,OAAOD,GAGF3oC,OAAO4e,OAWpB,IAAIiqB,EAASL,GAAUA,SAAgBM,EAAM7tC,EAAK8tC,GAG9C,IAFA,IAAIrsB,EAAO1c,OAAO0c,KAAKzhB,GACnBwF,EAAI,EACDA,EAAIic,EAAKhiB,UACPquC,GAAUA,QAtIvB,IAsIgCD,EAAKpsB,EAAKjc,OAC9BqoC,EAAKpsB,EAAKjc,IAAMxF,EAAIyhB,EAAKjc,KAE7BA,IAEJ,OAAOqoC,IACR,SAAU,iBASTC,EAAQP,GAAUA,SAAeM,EAAM7tC,GACvC,OAAO4tC,EAAOC,EAAM7tC,GAAK,KAC1B,QAAS,iBAQZ,SAAS+tC,EAAQC,EAAOC,EAAMve,GAC1B,IACIwe,EADAC,EAAQF,EAAKnrC,WAGjBorC,EAASF,EAAMlrC,UAAYiC,OAAOoe,OAAOgrB,IAClCnqC,YAAcgqC,EACrBE,EAAOE,OAASD,EAEZze,GACA/L,EAAOuqB,EAAQxe,GAUvB,SAAS2d,EAAOpqC,EAAImqC,GAChB,OAAO,WACH,OAAOnqC,EAAG5C,MAAM+sC,EAAS5tC,YAWjC,SAAS6uC,EAAShrB,EAAK9C,GACnB,MA1LgB,mBA0LL8C,EACAA,EAAIhjB,MAAMkgB,GAAOA,EAAK,SAjMrC,EAiMkEA,GAEvD8C,EASX,SAASirB,EAAYC,EAAMC,GACvB,YA7MJ,IA6MYD,EAAsBC,EAAOD,EASzC,SAASE,EAAkBtvC,EAAQuvC,EAAOrV,GACtC3V,EAAKirB,EAASD,IAAOA,SAAU/oC,GAC3BxG,EAAOsa,iBAAiB9T,EAAM0zB,GAAS,MAU/C,SAASuV,EAAqBzvC,EAAQuvC,EAAOrV,GACzC3V,EAAKirB,EAASD,IAAOA,SAAU/oC,GAC3BxG,EAAOua,oBAAoB/T,EAAM0zB,GAAS,MAWlD,SAASwV,EAAUC,EAAM1tC,GACrB,KAAO0tC,GAAM,CACT,GAAIA,GAAQ1tC,EACR,OAAO,EAEX0tC,EAAOA,EAAKC,WAEhB,OAAO,EASX,SAASC,EAAMC,EAAKC,GAChB,OAAOD,EAAI3pC,QAAQ4pC,IAAS,EAQhC,SAASP,EAASM,GACd,OAAOA,EAAI/pC,OAAOX,MAAM,QAU5B,SAAS4qC,EAAQnvC,EAAKkvC,EAAME,GACxB,GAAIpvC,EAAIsF,UAAY8pC,EAChB,OAAOpvC,EAAIsF,QAAQ4pC,GAGnB,IADA,IAAI1pC,EAAI,EACDA,EAAIxF,EAAIP,QAAQ,CACnB,GAAK2vC,GAAapvC,EAAIwF,GAAG4pC,IAAcF,IAAWE,GAAapvC,EAAIwF,KAAO0pC,EACtE,OAAO1pC,EAEXA,IAEJ,OAAQ,EAShB,SAAS6pC,EAAQzU,GACb,OAAOv1B,MAAMvC,UAAUiI,MAAMnL,KAAKg7B,EAAK,GAU3C,SAAS0U,EAAYtvC,EAAKE,EAAK0N,GAK3B,IAJA,IAAI63B,EAAU,GACVljB,EAAS,GACT/c,EAAI,EAEDA,EAAIxF,EAAIP,QAAQ,CACnB,IAAI4jB,EAAMnjB,EAAMF,EAAIwF,GAAGtF,GAAOF,EAAIwF,GAC9B2pC,EAAQ5sB,EAAQc,GAAO,GACvBoiB,EAAQh/B,KAAKzG,EAAIwF,IAErB+c,EAAO/c,GAAK6d,EACZ7d,IAaJ,OAVIoI,IAII63B,EAHCvlC,EAGSulC,EAAQ73B,MAAKA,SAAyB1K,EAAGC,GAC/C,OAAOD,EAAEhD,GAAOiD,EAAEjD,MAHZulC,EAAQ73B,QAQnB63B,EASX,SAAS8J,EAAS3U,EAAKxpB,GAKnB,IAJA,IAAIo+B,EAAQ1S,EACR2S,EAAYr+B,EAAS,GAAGG,cAAgBH,EAASrG,MAAM,GAEvDvF,EAAI,EACDA,EAAIwnC,EAAgBvtC,QAAQ,CAI/B,IAFAq9B,GADA0S,EAASxC,EAAgBxnC,IACPgqC,EAASC,EAAYr+B,KAE3BwpB,EACR,OAAOkC,EAEXt3B,KASR,IAAIkqC,EAAY,EAUhB,SAASC,EAAoBlD,GACzB,IAAImD,EAAMnD,EAAQoD,eAAiBpD,EACnC,OAAQmD,EAAIE,aAAeF,EAAIG,cAAgBjgC,EAGnD,IAEIkgC,EAAiB,iBAAkBlgC,EACnCmgC,OA1XJ,IA0X6BV,EAASz/B,EAAQ,gBAC1CogC,EAAqBF,GAJN,wCAIoC7pC,KAAKkP,UAAUC,WAwBlE66B,EAAW,CAAC,IAAK,KACjBC,EAAkB,CAAC,UAAW,WASlC,SAASC,EAAMC,EAAShgB,GACpB,IAAI9rB,EAAO/F,KACXA,KAAK6xC,QAAUA,EACf7xC,KAAK6xB,SAAWA,EAChB7xB,KAAKguC,QAAU6D,EAAQ7D,QACvBhuC,KAAKU,OAASmxC,EAAQza,QAAQ0a,YAI9B9xC,KAAK+xC,WAAa,SAASC,GACnBpC,EAASiC,EAAQza,QAAQ6a,OAAQ,CAACJ,KAClC9rC,EAAK60B,QAAQoX,IAIrBhyC,KAAKkyC,OA4DT,SAASC,EAAaN,EAASO,EAAWC,GACtC,IAAIC,EAAcD,EAAME,SAASvxC,OAC7BwxC,EAAqBH,EAAMI,gBAAgBzxC,OAC3C0xC,EAvGU,EAuGCN,GAA4BE,EAAcE,GAAuB,EAC5EG,EAAuB,GAAZP,GAA2CE,EAAcE,GAAuB,EAE/FH,EAAMK,UAAYA,EAClBL,EAAMM,UAAYA,EAEdD,IACAb,EAAQe,QAAU,IAKtBP,EAAMD,UAAYA,EAiBtB,SAA0BP,EAASQ,GAC/B,IAAIO,EAAUf,EAAQe,QAClBL,EAAWF,EAAME,SACjBM,EAAiBN,EAASvxC,OAGzB4xC,EAAQE,aACTF,EAAQE,WAAaC,EAAqBV,IAI1CQ,EAAiB,IAAMD,EAAQI,cAC/BJ,EAAQI,cAAgBD,EAAqBV,GACnB,IAAnBQ,IACPD,EAAQI,eAAgB,GAG5B,IAAIF,EAAaF,EAAQE,WACrBE,EAAgBJ,EAAQI,cACxBC,EAAeD,EAAgBA,EAAc7xB,OAAS2xB,EAAW3xB,OAEjEA,EAASkxB,EAAMlxB,OAAS+xB,EAAUX,GACtCF,EAAMj5B,UAAYC,IAClBg5B,EAAMc,UAAYd,EAAMj5B,UAAY05B,EAAW15B,UAE/Ci5B,EAAMe,MAAQC,EAASJ,EAAc9xB,GACrCkxB,EAAMiB,SAAWC,EAAYN,EAAc9xB,GA0B/C,SAAwByxB,EAASP,GAC7B,IAAIlxB,EAASkxB,EAAMlxB,OACfnS,EAAS4jC,EAAQY,aAAe,GAChCC,EAAYb,EAAQa,WAAa,GACjCC,EAAYd,EAAQc,WAAa,GA5LvB,IA8LVrB,EAAMD,WA5LE,IA4L2BsB,EAAUtB,YAC7CqB,EAAYb,EAAQa,UAAY,CAC5BvoC,EAAGwoC,EAAUC,QAAU,EACvBjnC,EAAGgnC,EAAUE,QAAU,GAG3B5kC,EAAS4jC,EAAQY,YAAc,CAC3BtoC,EAAGiW,EAAOjW,EACVwB,EAAGyU,EAAOzU,IAIlB2lC,EAAMsB,OAASF,EAAUvoC,GAAKiW,EAAOjW,EAAI8D,EAAO9D,GAChDmnC,EAAMuB,OAASH,EAAU/mC,GAAKyU,EAAOzU,EAAIsC,EAAOtC,GAnBpD,CAxBmBkmC,EAASP,GACxBA,EAAMwB,gBAAkBC,EAAazB,EAAMsB,OAAQtB,EAAMuB,QAEzD,IAuNcnnC,EAAOI,EAvNjBknC,EAAkBC,EAAY3B,EAAMc,UAAWd,EAAMsB,OAAQtB,EAAMuB,QACvEvB,EAAM4B,iBAAmBF,EAAgB7oC,EACzCmnC,EAAM6B,iBAAmBH,EAAgBrnC,EACzC2lC,EAAM0B,gBAAmB9nC,EAAI8nC,EAAgB7oC,GAAKe,EAAI8nC,EAAgBrnC,GAAMqnC,EAAgB7oC,EAAI6oC,EAAgBrnC,EAEhH2lC,EAAM/xB,MAAQ0yB,GAkNAvmC,EAlNyBumC,EAAcT,SAmN9CgB,GADc1mC,EAlN0C0lC,GAmNxC,GAAI1lC,EAAI,GAAI8kC,GAAmB4B,EAAY9mC,EAAM,GAAIA,EAAM,GAAIklC,IAnNX,EAC3EU,EAAM8B,SAAWnB,EAsMrB,SAAqBvmC,EAAOI,GACxB,OAAOwmC,EAASxmC,EAAI,GAAIA,EAAI,GAAI8kC,GAAmB0B,EAAS5mC,EAAM,GAAIA,EAAM,GAAIklC,GADpF,CAtMiDqB,EAAcT,SAAUA,GAAY,EAEjFF,EAAM+B,YAAexB,EAAQc,UAAsCrB,EAAME,SAASvxC,OAC9E4xC,EAAQc,UAAUU,YAAe/B,EAAME,SAASvxC,OAAS4xC,EAAQc,UAAUU,YADtC/B,EAAME,SAASvxC,OAwC5D,SAAkC4xC,EAASP,GACvC,IAEIgC,EAAUC,EAAWC,EAAW5lC,EAFhC6lC,EAAO5B,EAAQ6B,cAAgBpC,EAC/Bc,EAAYd,EAAMj5B,UAAYo7B,EAAKp7B,UAGvC,GArNe,GAqNXi5B,EAAMD,YAA8Be,EA1NrB,SAlYvB,IA4lB4EqB,EAAKH,UAAyB,CAClG,IAAIV,EAAStB,EAAMsB,OAASa,EAAKb,OAC7BC,EAASvB,EAAMuB,OAASY,EAAKZ,OAE7BloC,EAAIsoC,EAAYb,EAAWQ,EAAQC,GACvCU,EAAY5oC,EAAER,EACdqpC,EAAY7oC,EAAEgB,EACd2nC,EAAYpoC,EAAIP,EAAER,GAAKe,EAAIP,EAAEgB,GAAMhB,EAAER,EAAIQ,EAAEgB,EAC3CiC,EAAYmlC,EAAaH,EAAQC,GAEjChB,EAAQ6B,aAAepC,OAGvBgC,EAAWG,EAAKH,SAChBC,EAAYE,EAAKF,UACjBC,EAAYC,EAAKD,UACjB5lC,EAAY6lC,EAAK7lC,UAGrB0jC,EAAMgC,SAAWA,EACjBhC,EAAMiC,UAAYA,EAClBjC,EAAMkC,UAAYA,EAClBlC,EAAM1jC,UAAYA,EA3BtB,CArC6BikC,EAASP,GAGlC,IAAI3xC,EAASmxC,EAAQ7D,QACjBoC,EAAUiC,EAAMqC,SAASh0C,OAAQA,KACjCA,EAAS2xC,EAAMqC,SAASh0C,QAE5B2xC,EAAM3xC,OAASA,EAjDnB,CAdqBmxC,EAASQ,GAG1BR,EAAQ8C,KAAK,eAAgBtC,GAE7BR,EAAQ+C,UAAUvC,GAClBR,EAAQe,QAAQc,UAAYrB,EA0HhC,SAASU,EAAqBV,GAK1B,IAFA,IAAIE,EAAW,GACXxrC,EAAI,EACDA,EAAIsrC,EAAME,SAASvxC,QACtBuxC,EAASxrC,GAAK,CACV8tC,QAASv2B,EAAM+zB,EAAME,SAASxrC,GAAG8tC,SACjCC,QAASx2B,EAAM+zB,EAAME,SAASxrC,GAAG+tC,UAErC/tC,IAGJ,MAAO,CACHqS,UAAWC,IACXk5B,SAAUA,EACVpxB,OAAQ+xB,EAAUX,GAClBoB,OAAQtB,EAAMsB,OACdC,OAAQvB,EAAMuB,QAStB,SAASV,EAAUX,GACf,IAAIM,EAAiBN,EAASvxC,OAG9B,GAAuB,IAAnB6xC,EACA,MAAO,CACH3nC,EAAGoT,EAAMi0B,EAAS,GAAGsC,SACrBnoC,EAAG4R,EAAMi0B,EAAS,GAAGuC,UAK7B,IADA,IAAI5pC,EAAI,EAAGwB,EAAI,EAAG3F,EAAI,EACfA,EAAI8rC,GACP3nC,GAAKqnC,EAASxrC,GAAG8tC,QACjBnoC,GAAK6lC,EAASxrC,GAAG+tC,QACjB/tC,IAGJ,MAAO,CACHmE,EAAGoT,EAAMpT,EAAI2nC,GACbnmC,EAAG4R,EAAM5R,EAAImmC,IAWrB,SAASmB,EAAYb,EAAWjoC,EAAGwB,GAC/B,MAAO,CACHxB,EAAGA,EAAIioC,GAAa,EACpBzmC,EAAGA,EAAIymC,GAAa,GAU5B,SAASW,EAAa5oC,EAAGwB,GACrB,OAAIxB,IAAMwB,EAzTO,EA6TbT,EAAIf,IAAMe,EAAIS,GACPxB,EAAI,EA7TE,EACC,EA8TXwB,EAAI,EA7TI,EACE,GAsUrB,SAAS6mC,EAAYwB,EAAIC,EAAIC,GACpBA,IACDA,EAAQvD,GAEZ,IAAIxmC,EAAI8pC,EAAGC,EAAM,IAAMF,EAAGE,EAAM,IAC5BvoC,EAAIsoC,EAAGC,EAAM,IAAMF,EAAGE,EAAM,IAEhC,OAAOjpC,KAAKwM,KAAMtN,EAAIA,EAAMwB,EAAIA,GAUpC,SAAS2mC,EAAS0B,EAAIC,EAAIC,GAMtB,OALKA,IACDA,EAAQvD,GAIc,IAAnB1lC,KAAKkpC,MADJF,EAAGC,EAAM,IAAMF,EAAGE,EAAM,IADxBD,EAAGC,EAAM,IAAMF,EAAGE,EAAM,KAEAjpC,KAAKqQ,GA1TzCu1B,EAAMvtC,UAAY,CAKdu2B,QAAS,aAKTsX,KAAM,WACFlyC,KAAKm1C,MAAQnF,EAAkBhwC,KAAKguC,QAAShuC,KAAKm1C,KAAMn1C,KAAK+xC,YAC7D/xC,KAAKo1C,UAAYpF,EAAkBhwC,KAAKU,OAAQV,KAAKo1C,SAAUp1C,KAAK+xC,YACpE/xC,KAAKq1C,OAASrF,EAAkBkB,EAAoBlxC,KAAKguC,SAAUhuC,KAAKq1C,MAAOr1C,KAAK+xC,aAMxFuD,QAAS,WACLt1C,KAAKm1C,MAAQhF,EAAqBnwC,KAAKguC,QAAShuC,KAAKm1C,KAAMn1C,KAAK+xC,YAChE/xC,KAAKo1C,UAAYjF,EAAqBnwC,KAAKU,OAAQV,KAAKo1C,SAAUp1C,KAAK+xC,YACvE/xC,KAAKq1C,OAASlF,EAAqBe,EAAoBlxC,KAAKguC,SAAUhuC,KAAKq1C,MAAOr1C,KAAK+xC,cA4T/F,IAAIwD,EAAkB,CAClBC,UA/Xc,EAgYdC,UA/Xa,EAgYbC,QA/XY,GA0YhB,SAASC,IACL31C,KAAKm1C,KATkB,YAUvBn1C,KAAKq1C,MATiB,oBAWtBr1C,KAAK41C,SAAU,EAEfhE,EAAMhwC,MAAM5B,KAAMe,WAGtBuuC,EAAQqG,EAAY/D,EAAO,CAKvBhX,QAAS,SAAmBoX,GACxB,IAAII,EAAYmD,EAAgBvD,EAAG9qC,MA3ZzB,EA8ZNkrC,GAAyC,IAAdJ,EAAG6D,SAC9B71C,KAAK41C,SAAU,GA9ZV,EAiaLxD,GAAuC,IAAbJ,EAAG8D,QAC7B1D,EAjaI,GAqaHpyC,KAAK41C,UAraF,EAyaJxD,IACApyC,KAAK41C,SAAU,GAGnB51C,KAAK6xB,SAAS7xB,KAAK6xC,QAASO,EAAW,CACnCG,SAAU,CAACP,GACXS,gBAAiB,CAACT,GAClB+D,YAvbW,QAwbXrB,SAAU1C,QAKtB,IAAIgE,EAAoB,CACpBC,YAzbc,EA0bdC,YAzba,EA0bbC,UAzbY,EA0bZC,cAzbe,EA0bfC,WA1be,GA8bfC,EAAyB,CACzBC,EAzcmB,QA0cnBC,EAzciB,MA0cjBC,EAzcmB,QA0cnBC,EAzcoB,UA4cpBC,EAAyB,cACzBC,EAAwB,sCAa5B,SAASC,KACL72C,KAAKm1C,KAAOwB,EACZ32C,KAAKq1C,MAAQuB,EAEbhF,EAAMhwC,MAAM5B,KAAMe,WAElBf,KAAKqnB,MAASrnB,KAAK6xC,QAAQe,QAAQkE,cAAgB,GAhBnDzlC,EAAO0lC,iBAAmB1lC,EAAO2lC,eACjCL,EAAyB,gBACzBC,EAAwB,6CAiB5BtH,EAAQuH,GAAmBjF,EAAO,CAK9BhX,QAAS,SAAmBoX,GACxB,IAAI3qB,EAAQrnB,KAAKqnB,MACb4vB,GAAgB,EAEhBC,EAAsBlF,EAAG9qC,KAAK+V,cAAcvW,QAAQ,KAAM,IAC1D0rC,EAAY4D,EAAkBkB,GAC9BnB,EAAcO,EAAuBtE,EAAG+D,cAAgB/D,EAAG+D,YAE3DoB,EAnfW,SAmfApB,EAGXqB,EAAa1G,EAAQrpB,EAAO2qB,EAAGqF,UAAW,aA/epC,EAkfNjF,IAA0C,IAAdJ,EAAG6D,QAAgBsB,GAC3CC,EAAa,IACb/vB,EAAMrf,KAAKgqC,GACXoF,EAAa/vB,EAAMrmB,OAAS,GAEb,GAAZoxC,IACP6E,GAAgB,GAIhBG,EAAa,IAKjB/vB,EAAM+vB,GAAcpF,EAEpBhyC,KAAK6xB,SAAS7xB,KAAK6xC,QAASO,EAAW,CACnCG,SAAUlrB,EACVorB,gBAAiB,CAACT,GAClB+D,YAAaA,EACbrB,SAAU1C,IAGViF,GAEA5vB,EAAMxe,OAAOuuC,EAAY,OAKrC,IAAIE,GAAyB,CACzBC,WAlhBc,EAmhBdC,UAlhBa,EAmhBbC,SAlhBY,EAmhBZC,YAlhBe,GA6hBnB,SAASC,KACL33C,KAAKo1C,SATwB,aAU7Bp1C,KAAKq1C,MATwB,4CAU7Br1C,KAAK43C,SAAU,EAEfhG,EAAMhwC,MAAM5B,KAAMe,WAsCtB,SAAS82C,GAAuB7F,EAAI9qC,GAChC,IAAI82B,EAAM4S,EAAQoB,EAAG8F,SACjBC,EAAUnH,EAAQoB,EAAGgG,gBAMzB,OAJW,GAAP9wC,IACA82B,EAAM6S,EAAY7S,EAAI/lB,OAAO8/B,GAAU,cAAc,IAGlD,CAAC/Z,EAAK+Z,GA3CjBzI,EAAQqI,GAAkB/F,EAAO,CAC7BhX,QAAS,SAAmBoX,GACxB,IAAI9qC,EAAOowC,GAAuBtF,EAAG9qC,MAOrC,GAjjBU,IA6iBNA,IACAlH,KAAK43C,SAAU,GAGd53C,KAAK43C,QAAV,CAIA,IAAIE,EAAUD,GAAuB12C,KAAKnB,KAAMgyC,EAAI9qC,GAGzC,GAAPA,GAAqC4wC,EAAQ,GAAG92C,OAAS82C,EAAQ,GAAG92C,QAAW,IAC/EhB,KAAK43C,SAAU,GAGnB53C,KAAK6xB,SAAS7xB,KAAK6xC,QAAS3qC,EAAM,CAC9BqrC,SAAUuF,EAAQ,GAClBrF,gBAAiBqF,EAAQ,GACzB/B,YAtkBW,QAukBXrB,SAAU1C,QAsBtB,IAAIiG,GAAkB,CAClBV,WAvlBc,EAwlBdC,UAvlBa,EAwlBbC,SAvlBY,EAwlBZC,YAvlBe,GAimBnB,SAASQ,KACLl4C,KAAKo1C,SARiB,4CAStBp1C,KAAKm4C,UAAY,GAEjBvG,EAAMhwC,MAAM5B,KAAMe,WA0BtB,SAASq3C,GAAWpG,EAAI9qC,GACpB,IAAImxC,EAAazH,EAAQoB,EAAG8F,SACxBK,EAAYn4C,KAAKm4C,UAGrB,GAAW,EAAPjxC,GAA2D,IAAtBmxC,EAAWr3C,OAEhD,OADAm3C,EAAUE,EAAW,GAAGC,aAAc,EAC/B,CAACD,EAAYA,GAGxB,IAAItxC,EACAwxC,EACAP,EAAiBpH,EAAQoB,EAAGgG,gBAC5BQ,EAAuB,GACvB93C,EAASV,KAAKU,OAQlB,GALA63C,EAAgBF,EAAW1mC,QAAOA,SAAS8mC,GACvC,OAAOrI,EAAUqI,EAAM/3C,OAAQA,MAppBrB,IAwpBVwG,EAEA,IADAH,EAAI,EACGA,EAAIwxC,EAAcv3C,QACrBm3C,EAAUI,EAAcxxC,GAAGuxC,aAAc,EACzCvxC,IAMR,IADAA,EAAI,EACGA,EAAIixC,EAAeh3C,QAClBm3C,EAAUH,EAAejxC,GAAGuxC,aAC5BE,EAAqBxwC,KAAKgwC,EAAejxC,IAIlC,GAAPG,UACOixC,EAAUH,EAAejxC,GAAGuxC,YAEvCvxC,IAGJ,OAAKyxC,EAAqBx3C,OAInB,CAEH6vC,EAAY0H,EAActgC,OAAOugC,GAAuB,cAAc,GACtEA,QAPJ,EAwBJ,SAASE,KACL9G,EAAMhwC,MAAM5B,KAAMe,WAElB,IAAI65B,EAAUgU,EAAO5uC,KAAK46B,QAAS56B,MACnCA,KAAKy4C,MAAQ,IAAIP,GAAWl4C,KAAK6xC,QAASjX,GAC1C56B,KAAK24C,MAAQ,IAAIhD,EAAW31C,KAAK6xC,QAASjX,GAE1C56B,KAAK44C,aAAe,KACpB54C,KAAK64C,YAAc,GAqCvB,SAASC,GAAc1G,EAAW2G,GAnvBhB,EAovBV3G,GACApyC,KAAK44C,aAAeG,EAAUtG,gBAAgB,GAAG6F,WACjDU,GAAa73C,KAAKnB,KAAM+4C,IACL,GAAZ3G,GACP4G,GAAa73C,KAAKnB,KAAM+4C,GAIhC,SAASC,GAAaD,GAClB,IAAIN,EAAQM,EAAUtG,gBAAgB,GAEtC,GAAIgG,EAAMH,aAAet4C,KAAK44C,aAAc,CACxC,IAAIK,EAAY,CAAC/tC,EAAGutC,EAAM5D,QAASnoC,EAAG+rC,EAAM3D,SAC5C90C,KAAK64C,YAAY7wC,KAAKixC,GACtB,IAAIC,EAAMl5C,KAAK64C,YAOf19B,YAAWA,WALP,IAAIpU,EAAImyC,EAAIryC,QAAQoyC,GAChBlyC,GAAK,GACLmyC,EAAIrwC,OAAO9B,EAAG,KAnEV,OA0EpB,SAASoyC,GAAiBJ,GAEtB,IADA,IAAI7tC,EAAI6tC,EAAUrE,SAASG,QAASnoC,EAAIqsC,EAAUrE,SAASI,QAClD/tC,EAAI,EAAGA,EAAI/G,KAAK64C,YAAY73C,OAAQ+F,IAAK,CAC9C,IAAIwV,EAAIvc,KAAK64C,YAAY9xC,GACrBqyC,EAAKptC,KAAKC,IAAIf,EAAIqR,EAAErR,GAAImuC,EAAKrtC,KAAKC,IAAIS,EAAI6P,EAAE7P,GAChD,GAAI0sC,GA9ES,IA8EeC,GA9Ef,GA+ET,OAAO,EAGf,OAAO,EA3KX/J,EAAQ4I,GAAYtG,EAAO,CACvBhX,QAAS,SAAoBoX,GACzB,IAAI9qC,EAAO+wC,GAAgBjG,EAAG9qC,MAC1B4wC,EAAUM,GAAWj3C,KAAKnB,KAAMgyC,EAAI9qC,GACnC4wC,GAIL93C,KAAK6xB,SAAS7xB,KAAK6xC,QAAS3qC,EAAM,CAC9BqrC,SAAUuF,EAAQ,GAClBrF,gBAAiBqF,EAAQ,GACzB/B,YA7nBW,QA8nBXrB,SAAU1C,OA0FtB1C,EAAQoJ,GAAiB9G,EAAO,CAO5BhX,QAAS,SAAoBiX,EAASyH,EAAYC,GAC9C,IACIC,EA/tBW,SA+tBAD,EAAUxD,YAEzB,KAAIyD,GAAWD,EAAUE,oBAAsBF,EAAUE,mBAAmBC,kBAA5E,CAKA,GAxuBe,SAguBAH,EAAUxD,YASrB+C,GAAc33C,KAAKnB,KAAMs5C,EAAYC,QAClC,GAAIC,GAAWL,GAAiBh4C,KAAKnB,KAAMu5C,GAC9C,OAGJv5C,KAAK6xB,SAASggB,EAASyH,EAAYC,KAMvCjE,QAAS,WACLt1C,KAAKy4C,MAAMnD,UACXt1C,KAAK24C,MAAMrD,aA0CnB,IAAIqE,GAAwB7I,EAAStC,EAAatiC,MAAO,eACrD0tC,QA9pCJ,IA8pC0BD,GAStBE,GA4IJ,WACI,IAAKD,GACD,OAAO,EAEX,IAAIE,EAAW,GACXC,EAAc1oC,EAAO2oC,KAAO3oC,EAAO2oC,IAAIC,SAO3C,MANA,CAAC,OAAQ,eAAgB,QAAS,QAAS,cAAe,QAAQt1C,SAAQA,SAASigB,GAI/Ek1B,EAASl1B,IAAOm1B,GAAc1oC,EAAO2oC,IAAIC,SAAS,eAAgBr1B,MAE/Dk1B,EAZX,GAnIA,SAASI,GAAYrI,EAAS5wC,GAC1BjB,KAAK6xC,QAAUA,EACf7xC,KAAKC,IAAIgB,GAyLb,SAASk5C,GAAW/iB,GAChBp3B,KAAKo3B,QAAUlS,EAAO,GAAIllB,KAAKo6C,SAAUhjB,GAAW,IAEpDp3B,KAAK6X,GApgCEo5B,IAsgCPjxC,KAAK6xC,QAAU,KAGf7xC,KAAKo3B,QAAQ6a,OAASpC,EAAY7vC,KAAKo3B,QAAQ6a,QAAQ,GAEvDjyC,KAAKuyB,MAxBY,EA0BjBvyB,KAAKq6C,aAAe,GACpBr6C,KAAKs6C,YAAc,GAqOvB,SAASC,GAAShoB,GACd,OA5PkB,GA4PdA,EACO,SA/PG,EAgQHA,EACA,MAlQK,EAmQLA,EACA,OArQG,EAsQHA,EACA,QAEJ,GAQX,SAASioB,GAAa7rC,GAClB,OAnuCiB,IAmuCbA,EACO,OAruCI,GAsuCJA,EACA,KAzuCM,GA0uCNA,EACA,OA1uCO,GA2uCPA,EACA,QAEJ,GASX,SAAS8rC,GAA6BC,EAAiBC,GACnD,IAAI9I,EAAU8I,EAAW9I,QACzB,OAAIA,EACOA,EAAQpxC,IAAIi6C,GAEhBA,EAQX,SAASE,KACLT,GAAWv4C,MAAM5B,KAAMe,WA6D3B,SAAS85C,KACLD,GAAeh5C,MAAM5B,KAAMe,WAE3Bf,KAAK86C,GAAK,KACV96C,KAAK+6C,GAAK,KA4Ed,SAASC,KACLJ,GAAeh5C,MAAM5B,KAAMe,WAsC/B,SAASk6C,KACLd,GAAWv4C,MAAM5B,KAAMe,WAEvBf,KAAKk7C,OAAS,KACdl7C,KAAKm7C,OAAS,KAmElB,SAASC,KACLR,GAAeh5C,MAAM5B,KAAMe,WA8B/B,SAASs6C,KACLT,GAAeh5C,MAAM5B,KAAMe,WA2D/B,SAASu6C,KACLnB,GAAWv4C,MAAM5B,KAAMe,WAIvBf,KAAKu7C,OAAQ,EACbv7C,KAAKw7C,SAAU,EAEfx7C,KAAKk7C,OAAS,KACdl7C,KAAKm7C,OAAS,KACdn7C,KAAKk0B,MAAQ,EAqGjB,SAASunB,GAAOzN,EAAS5W,GAGrB,OAFAA,EAAUA,GAAW,IACbskB,YAAc7L,EAAYzY,EAAQskB,YAAaD,GAAOrB,SAASuB,QAChE,IAAIC,GAAQ5N,EAAS5W,GAiIhC,SAASwkB,GAAQ5N,EAAS5W,GAzwD1B,IAA6Bya,EA0wDzB7xC,KAAKo3B,QAAUlS,EAAO,GAAIu2B,GAAOrB,SAAUhjB,GAAW,IAEtDp3B,KAAKo3B,QAAQ0a,YAAc9xC,KAAKo3B,QAAQ0a,aAAe9D,EAEvDhuC,KAAK67C,SAAW,GAChB77C,KAAK4yC,QAAU,GACf5yC,KAAK07C,YAAc,GACnB17C,KAAK87C,YAAc,GAEnB97C,KAAKguC,QAAUA,EACfhuC,KAAKqyC,MArwDE,KAfkBR,EAoxDQ7xC,MAlxDRo3B,QAAQ2kB,aAItBvK,EACAqF,GACApF,EACAyG,GACC3G,EAGDmH,GAFA/C,IAIO9D,EAASM,GAswD3BnyC,KAAKg8C,YAAc,IAAI9B,GAAYl6C,KAAMA,KAAKo3B,QAAQ4kB,aAEtDC,GAAej8C,MAAM,GAErBilB,EAAKjlB,KAAKo3B,QAAQskB,aAAYA,SAAU50C,GACpC,IAAI6zC,EAAa36C,KAAKwI,IAAI,IAAK1B,EAAK,GAAIA,EAAK,KAC7CA,EAAK,IAAM6zC,EAAWuB,cAAcp1C,EAAK,IACzCA,EAAK,IAAM6zC,EAAWwB,eAAer1C,EAAK,MAC3C9G,MA4PP,SAASi8C,GAAepK,EAASrpC,GAC7B,IAII61B,EAJA2P,EAAU6D,EAAQ7D,QACjBA,EAAQ9hC,QAIb+Y,EAAK4sB,EAAQza,QAAQglB,UAASA,SAAUn7C,EAAOmG,GAC3Ci3B,EAAOyS,EAAS9C,EAAQ9hC,MAAO9E,GAC3BoB,GACAqpC,EAAQiK,YAAYzd,GAAQ2P,EAAQ9hC,MAAMmyB,GAC1C2P,EAAQ9hC,MAAMmyB,GAAQp9B,GAEtB+sC,EAAQ9hC,MAAMmyB,GAAQwT,EAAQiK,YAAYzd,IAAS,MAGtD71B,IACDqpC,EAAQiK,YAAc,KAp0C9B5B,GAAY71C,UAAY,CAKpBpE,IAAK,SAASgB,GAzBS,WA2BfA,IACAA,EAAQjB,KAAKq8C,WAGbzC,IAAuB55C,KAAK6xC,QAAQ7D,QAAQ9hC,OAAS2tC,GAAiB54C,KACtEjB,KAAK6xC,QAAQ7D,QAAQ9hC,MAAMytC,IAAyB14C,GAExDjB,KAAKs8C,QAAUr7C,EAAMgc,cAAcxW,QAMvC81C,OAAQ,WACJv8C,KAAKC,IAAID,KAAK6xC,QAAQza,QAAQ4kB,cAOlCK,QAAS,WACL,IAAIC,EAAU,GAMd,OALAr3B,EAAKjlB,KAAK6xC,QAAQ6J,aAAYA,SAAUf,GAChC/K,EAAS+K,EAAWvjB,QAAQ6a,OAAQ,CAAC0I,MACrC2B,EAAUA,EAAQrkC,OAAO0iC,EAAW6B,sBAgEpD,SAA2BF,GAEvB,GAAI/L,EAAM+L,EAnHU,QAoHhB,MApHgB,OAuHpB,IAAIG,EAAUlM,EAAM+L,EAtHC,SAuHjBI,EAAUnM,EAAM+L,EAtHC,SA4HrB,OAAIG,GAAWC,EA9HK,OAmIhBD,GAAWC,EACJD,EAnIU,QACA,QAsIjBlM,EAAM+L,EAzIkB,+BADR,OAmHxB,CA7DiCA,EAAQpzC,KAAK,OAO1CyzC,gBAAiB,SAAStK,GACtB,IAAIqC,EAAWrC,EAAMqC,SACjB/lC,EAAY0jC,EAAMwB,gBAGtB,GAAI7zC,KAAK6xC,QAAQe,QAAQgK,UACrBlI,EAASnU,qBADb,CAKA,IAAI+b,EAAUt8C,KAAKs8C,QACfO,EAAUtM,EAAM+L,EAtEJ,UAsEoCzC,GAAkC,KAClF6C,EAAUnM,EAAM+L,EArEH,WAqEoCzC,GArEpC,SAsEb4C,EAAUlM,EAAM+L,EAvEH,WAuEoCzC,GAvEpC,SAyEjB,GAAIgD,GAG6C,IAA1BxK,EAAME,SAASvxC,QACdqxC,EAAMiB,SAAW,GAChBjB,EAAMc,UAAY,IAGnC,OAIR,IAAIsJ,IAAWC,EAKf,OAAIG,GACCH,GAj3BcI,EAi3BHnuC,GACX8tC,GAj3BYM,GAi3BDpuC,EACL3O,KAAKg9C,WAAWtI,QAH3B,IAWJsI,WAAY,SAAStI,GACjB10C,KAAK6xC,QAAQe,QAAQgK,WAAY,EACjClI,EAASnU,mBA+GjB4Z,GAAW91C,UAAY,CAKnB+1C,SAAU,GAOVn6C,IAAK,SAASm3B,GAKV,OAJAlS,EAAOllB,KAAKo3B,QAASA,GAGrBp3B,KAAK6xC,SAAW7xC,KAAK6xC,QAAQmK,YAAYO,SAClCv8C,MAQXk8C,cAAe,SAASxB,GACpB,GAAI7L,EAAe6L,EAAiB,gBAAiB16C,MACjD,OAAOA,KAGX,IAAIq6C,EAAer6C,KAAKq6C,aAMxB,OAJKA,GADLK,EAAkBD,GAA6BC,EAAiB16C,OAC9B6X,MAC9BwiC,EAAaK,EAAgB7iC,IAAM6iC,EACnCA,EAAgBwB,cAAcl8C,OAE3BA,MAQXi9C,kBAAmB,SAASvC,GACxB,OAAI7L,EAAe6L,EAAiB,oBAAqB16C,QAIzD06C,EAAkBD,GAA6BC,EAAiB16C,aACzDA,KAAKq6C,aAAaK,EAAgB7iC,KAJ9B7X,MAafm8C,eAAgB,SAASzB,GACrB,GAAI7L,EAAe6L,EAAiB,iBAAkB16C,MAClD,OAAOA,KAGX,IAAIs6C,EAAct6C,KAAKs6C,YAMvB,OAJ+C,IAA3C5J,EAAQ4J,EADZI,EAAkBD,GAA6BC,EAAiB16C,SAE5Ds6C,EAAYtyC,KAAK0yC,GACjBA,EAAgByB,eAAen8C,OAE5BA,MAQXk9C,mBAAoB,SAASxC,GACzB,GAAI7L,EAAe6L,EAAiB,qBAAsB16C,MACtD,OAAOA,KAGX06C,EAAkBD,GAA6BC,EAAiB16C,MAChE,IAAIoF,EAAQsrC,EAAQ1wC,KAAKs6C,YAAaI,GAItC,OAHIt1C,GAAS,GACTpF,KAAKs6C,YAAYzxC,OAAOzD,EAAO,GAE5BpF,MAOXm9C,mBAAoB,WAChB,OAAOn9C,KAAKs6C,YAAYt5C,OAAS,GAQrCo8C,iBAAkB,SAAS1C,GACvB,QAAS16C,KAAKq6C,aAAaK,EAAgB7iC,KAQ/C88B,KAAM,SAAStC,GACX,IAAItsC,EAAO/F,KACPuyB,EAAQvyB,KAAKuyB,MAEjB,SAASoiB,EAAK3U,GACVj6B,EAAK8rC,QAAQ8C,KAAK3U,EAAOqS,GAIzB9f,EArJM,GAsJNoiB,EAAK5uC,EAAKqxB,QAAQ4I,MAAQua,GAAShoB,IAGvCoiB,EAAK5uC,EAAKqxB,QAAQ4I,OAEdqS,EAAMgL,iBACN1I,EAAKtC,EAAMgL,iBAIX9qB,GAhKM,GAiKNoiB,EAAK5uC,EAAKqxB,QAAQ4I,MAAQua,GAAShoB,KAU3C+qB,QAAS,SAASjL,GACd,GAAIryC,KAAKu9C,UACL,OAAOv9C,KAAK20C,KAAKtC,GAGrBryC,KAAKuyB,MA7KM,IAoLfgrB,QAAS,WAEL,IADA,IAAIx2C,EAAI,EACDA,EAAI/G,KAAKs6C,YAAYt5C,QAAQ,CAChC,KAAkC,GAA5BhB,KAAKs6C,YAAYvzC,GAAGwrB,OACtB,OAAO,EAEXxrB,IAEJ,OAAO,GAOX6tC,UAAW,SAAS2E,GAGhB,IAAIiE,EAAiBt4B,EAAO,GAAIq0B,GAGhC,IAAK3J,EAAS5vC,KAAKo3B,QAAQ6a,OAAQ,CAACjyC,KAAMw9C,IAGtC,OAFAx9C,KAAKy9C,aACLz9C,KAAKuyB,MA3ME,IAgNM,GAAbvyB,KAAKuyB,QACLvyB,KAAKuyB,MAvNI,GA0NbvyB,KAAKuyB,MAAQvyB,KAAK2/B,QAAQ6d,GAIT,GAAbx9C,KAAKuyB,OACLvyB,KAAKs9C,QAAQE,IAWrB7d,QAAS,SAAS4Z,KAOlBiD,eAAgB,aAOhBiB,MAAO,cA8DXnO,EAAQsL,GAAgBT,GAAY,CAKhCC,SAAU,CAKN7H,SAAU,GASdmL,SAAU,SAASrL,GACf,IAAIsL,EAAiB39C,KAAKo3B,QAAQmb,SAClC,OAA0B,IAAnBoL,GAAwBtL,EAAME,SAASvxC,SAAW28C,GAS7Dhe,QAAS,SAAS0S,GACd,IAAI9f,EAAQvyB,KAAKuyB,MACb6f,EAAYC,EAAMD,UAElBwL,EAAuB,EAARrrB,EACfsrB,EAAU79C,KAAK09C,SAASrL,GAG5B,OAAIuL,IAlzCO,EAkzCUxL,IAA6ByL,GAvVpC,GAwVHtrB,EACAqrB,GAAgBC,EArzCnB,EAszCAzL,EA5VE,EA6VK7f,EA/VL,EAgWOA,EA/VL,EAkWDA,EAnWD,EAKC,MAiXnB+c,EAAQuL,GAAeD,GAAgB,CAKnCR,SAAU,CACNpa,MAAO,MACP8d,UAAW,GACXvL,SAAU,EACV5jC,UA50CYovC,IA+0ChBvB,eAAgB,WACZ,IAAI7tC,EAAY3O,KAAKo3B,QAAQzoB,UACzB2tC,EAAU,GAOd,OA11CmBQ,EAo1CfnuC,GACA2tC,EAAQt0C,KA9jBK,SAtxBA+0C,GAs1CbpuC,GACA2tC,EAAQt0C,KAlkBK,SAokBVs0C,GAGX0B,cAAe,SAAS3L,GACpB,IAAIjb,EAAUp3B,KAAKo3B,QACf6mB,GAAW,EACX3K,EAAWjB,EAAMiB,SACjB3kC,EAAY0jC,EAAM1jC,UAClBzD,EAAImnC,EAAMsB,OACVjnC,EAAI2lC,EAAMuB,OAed,OAZMjlC,EAAYyoB,EAAQzoB,YAt2CPmuC,EAu2CX1lB,EAAQzoB,WACRA,EAAmB,IAANzD,EA92CR,EA82CqCA,EAAI,EA72CzC,EACC,EA62CN+yC,EAAW/yC,GAAKlL,KAAK86C,GACrBxH,EAAWtnC,KAAKC,IAAIomC,EAAMsB,UAE1BhlC,EAAmB,IAANjC,EAl3CR,EAk3CqCA,EAAI,EA/2C3C,EACE,GA+2CLuxC,EAAWvxC,GAAK1M,KAAK+6C,GACrBzH,EAAWtnC,KAAKC,IAAIomC,EAAMuB,UAGlCvB,EAAM1jC,UAAYA,EACXsvC,GAAY3K,EAAWlc,EAAQ0mB,WAAanvC,EAAYyoB,EAAQzoB,WAG3E+uC,SAAU,SAASrL,GACf,OAAOuI,GAAev2C,UAAUq5C,SAASv8C,KAAKnB,KAAMqyC,KAva1C,EAwaLryC,KAAKuyB,SAxaA,EAwa0BvyB,KAAKuyB,QAAwBvyB,KAAKg+C,cAAc3L,KAGxFsC,KAAM,SAAStC,GAEXryC,KAAK86C,GAAKzI,EAAMsB,OAChB3zC,KAAK+6C,GAAK1I,EAAMuB,OAEhB,IAAIjlC,EAAY6rC,GAAanI,EAAM1jC,WAE/BA,IACA0jC,EAAMgL,gBAAkBr9C,KAAKo3B,QAAQ4I,MAAQrxB,GAEjD3O,KAAK2vC,OAAOgF,KAAKxzC,KAAKnB,KAAMqyC,MAcpC/C,EAAQ0L,GAAiBJ,GAAgB,CAKrCR,SAAU,CACNpa,MAAO,QACP8d,UAAW,EACXvL,SAAU,GAGdiK,eAAgB,WACZ,MAAO,CAzoBS,SA4oBpBkB,SAAU,SAASrL,GACf,OAAOryC,KAAK2vC,OAAO+N,SAASv8C,KAAKnB,KAAMqyC,KAClCrmC,KAAKC,IAAIomC,EAAM/xB,MAAQ,GAAKtgB,KAAKo3B,QAAQ0mB,WApdpC,EAodiD99C,KAAKuyB,QAGpEoiB,KAAM,SAAStC,GACS,IAAhBA,EAAM/xB,QAEN+xB,EAAMgL,gBAAkBr9C,KAAKo3B,QAAQ4I,OADzBqS,EAAM/xB,MAAQ,EAAI,KAAO,QAGzCtgB,KAAK2vC,OAAOgF,KAAKxzC,KAAKnB,KAAMqyC,MAiBpC/C,EAAQ2L,GAAiBd,GAAY,CAKjCC,SAAU,CACNpa,MAAO,QACPuS,SAAU,EACV2L,KAAM,IACNJ,UAAW,GAGftB,eAAgB,WACZ,MAAO,CAtrBS,SAyrBpB7c,QAAS,SAAS0S,GACd,IAAIjb,EAAUp3B,KAAKo3B,QACf+mB,EAAgB9L,EAAME,SAASvxC,SAAWo2B,EAAQmb,SAClD6L,EAAgB/L,EAAMiB,SAAWlc,EAAQ0mB,UACzCO,EAAYhM,EAAMc,UAAY/b,EAAQ8mB,KAM1C,GAJAl+C,KAAKm7C,OAAS9I,GAIT+L,IAAkBD,GAAoC,GAAlB9L,EAAMD,YAA2CiM,EACtFr+C,KAAKy9C,aACF,GAn+CG,EAm+CCpL,EAAMD,UACbpyC,KAAKy9C,QACLz9C,KAAKk7C,OAASzM,GAAkBA,WAC5BzuC,KAAKuyB,MA1gBH,EA2gBFvyB,KAAKs9C,YACNlmB,EAAQ8mB,KAAMl+C,WACd,GAv+CC,EAu+CGqyC,EAAMD,UACb,OA9gBM,EAghBV,OA7gBW,IAghBfqL,MAAO,WACHa,aAAat+C,KAAKk7C,SAGtBvG,KAAM,SAAStC,GAvhBD,IAwhBNryC,KAAKuyB,QAIL8f,GAt/CI,EAs/CMA,EAAMD,UAChBpyC,KAAK6xC,QAAQ8C,KAAK30C,KAAKo3B,QAAQ4I,MAAQ,KAAMqS,IAE7CryC,KAAKm7C,OAAO/hC,UAAYC,IACxBrZ,KAAK6xC,QAAQ8C,KAAK30C,KAAKo3B,QAAQ4I,MAAOhgC,KAAKm7C,aAevD7L,EAAQ8L,GAAkBR,GAAgB,CAKtCR,SAAU,CACNpa,MAAO,SACP8d,UAAW,EACXvL,SAAU,GAGdiK,eAAgB,WACZ,MAAO,CAvvBS,SA0vBpBkB,SAAU,SAASrL,GACf,OAAOryC,KAAK2vC,OAAO+N,SAASv8C,KAAKnB,KAAMqyC,KAClCrmC,KAAKC,IAAIomC,EAAM8B,UAAYn0C,KAAKo3B,QAAQ0mB,WAlkBnC,EAkkBgD99C,KAAKuyB,UAcvE+c,EAAQ+L,GAAiBT,GAAgB,CAKrCR,SAAU,CACNpa,MAAO,QACP8d,UAAW,GACXzJ,SAAU,GACV1lC,UAAWovC,GACXxL,SAAU,GAGdiK,eAAgB,WACZ,OAAO3B,GAAcx2C,UAAUm4C,eAAer7C,KAAKnB,OAGvD09C,SAAU,SAASrL,GACf,IACIgC,EADA1lC,EAAY3O,KAAKo3B,QAAQzoB,UAW7B,OARgB,GAAZA,EACA0lC,EAAWhC,EAAM0B,gBArjDF+I,EAsjDRnuC,EACP0lC,EAAWhC,EAAM4B,iBAtjDJ8I,GAujDNpuC,IACP0lC,EAAWhC,EAAM6B,kBAGdl0C,KAAK2vC,OAAO+N,SAASv8C,KAAKnB,KAAMqyC,IACnC1jC,EAAY0jC,EAAMwB,iBAClBxB,EAAMiB,SAAWtzC,KAAKo3B,QAAQ0mB,WAC9BzL,EAAM+B,aAAep0C,KAAKo3B,QAAQmb,UAClCtmC,EAAIooC,GAAYr0C,KAAKo3B,QAAQid,UAzkDzB,EAykDqChC,EAAMD,WAGvDuC,KAAM,SAAStC,GACX,IAAI1jC,EAAY6rC,GAAanI,EAAMwB,iBAC/BllC,GACA3O,KAAK6xC,QAAQ8C,KAAK30C,KAAKo3B,QAAQ4I,MAAQrxB,EAAW0jC,GAGtDryC,KAAK6xC,QAAQ8C,KAAK30C,KAAKo3B,QAAQ4I,MAAOqS,MA2B9C/C,EAAQgM,GAAenB,GAAY,CAK/BC,SAAU,CACNpa,MAAO,MACPuS,SAAU,EACVgM,KAAM,EACNC,SAAU,IACVN,KAAM,IACNJ,UAAW,EACXW,aAAc,IAGlBjC,eAAgB,WACZ,MAAO,CAh2BiB,iBAm2B5B7c,QAAS,SAAS0S,GACd,IAAIjb,EAAUp3B,KAAKo3B,QAEf+mB,EAAgB9L,EAAME,SAASvxC,SAAWo2B,EAAQmb,SAClD6L,EAAgB/L,EAAMiB,SAAWlc,EAAQ0mB,UACzCY,EAAiBrM,EAAMc,UAAY/b,EAAQ8mB,KAI/C,GAFAl+C,KAAKy9C,QAzoDK,EA2oDLpL,EAAMD,WAA4C,IAAfpyC,KAAKk0B,MACzC,OAAOl0B,KAAK2+C,cAKhB,GAAIP,GAAiBM,GAAkBP,EAAe,CAClD,GAhpDI,GAgpDA9L,EAAMD,UACN,OAAOpyC,KAAK2+C,cAGhB,IAAIC,GAAgB5+C,KAAKu7C,OAASlJ,EAAMj5B,UAAYpZ,KAAKu7C,MAAQnkB,EAAQonB,SACrEK,GAAiB7+C,KAAKw7C,SAAWjI,EAAYvzC,KAAKw7C,QAASnJ,EAAMlxB,QAAUiW,EAAQqnB,aAgBvF,GAdAz+C,KAAKu7C,MAAQlJ,EAAMj5B,UACnBpZ,KAAKw7C,QAAUnJ,EAAMlxB,OAEhB09B,GAAkBD,EAGnB5+C,KAAKk0B,OAAS,EAFdl0B,KAAKk0B,MAAQ,EAKjBl0B,KAAKm7C,OAAS9I,EAKG,GADFryC,KAAKk0B,MAAQkD,EAAQmnB,KAIhC,OAAKv+C,KAAKm9C,sBAGNn9C,KAAKk7C,OAASzM,GAAkBA,WAC5BzuC,KAAKuyB,MAltBX,EAmtBMvyB,KAAKs9C,YACNlmB,EAAQonB,SAAUx+C,MAttBvB,GAEA,EAytBV,OAttBW,IAytBf2+C,YAAa,WAIT,OAHA3+C,KAAKk7C,OAASzM,GAAkBA,WAC5BzuC,KAAKuyB,MA3tBE,KA4tBRvyB,KAAKo3B,QAAQonB,SAAUx+C,MA5tBf,IAguBfy9C,MAAO,WACHa,aAAat+C,KAAKk7C,SAGtBvG,KAAM,WAvuBQ,GAwuBN30C,KAAKuyB,QACLvyB,KAAKm7C,OAAO2D,SAAW9+C,KAAKk0B,MAC5Bl0B,KAAK6xC,QAAQ8C,KAAK30C,KAAKo3B,QAAQ4I,MAAOhgC,KAAKm7C,YAoBvDM,GAAOsD,QAAU,QAMjBtD,GAAOrB,SAAW,CAOd4E,WAAW,EAQXhD,YAl9BuB,UAw9BvB/J,QAAQ,EASRH,YAAa,KAObiK,WAAY,KAOZJ,OAAQ,CAEJ,CAACP,GAAkB,CAACnJ,QAAQ,IAC5B,CAAC+I,GAAiB,CAAC/I,QAAQ,GAAQ,CAAC,WACpC,CAACoJ,GAAiB,CAAC1sC,UArwDAmuC,IAswDnB,CAACjC,GAAe,CAAClsC,UAtwDEmuC,GAswDgC,CAAC,UACpD,CAACxB,IACD,CAACA,GAAe,CAACtb,MAAO,YAAaue,KAAM,GAAI,CAAC,QAChD,CAACtD,KAQLmB,SAAU,CAMN6C,WAAY,OAOZC,YAAa,OASbC,aAAc,OAOdC,eAAgB,OAOhBC,SAAU,OAQVC,kBAAmB,kBAoC3B1D,GAAQv3C,UAAY,CAMhBpE,IAAK,SAASm3B,GAaV,OAZAlS,EAAOllB,KAAKo3B,QAASA,GAGjBA,EAAQ4kB,aACRh8C,KAAKg8C,YAAYO,SAEjBnlB,EAAQ0a,cAER9xC,KAAKqyC,MAAMiD,UACXt1C,KAAKqyC,MAAM3xC,OAAS02B,EAAQ0a,YAC5B9xC,KAAKqyC,MAAMH,QAERlyC,MASXu/C,KAAM,SAASx2C,GACX/I,KAAK4yC,QAAQ4M,QAAUz2C,EA5Db,EADP,GAsEP6rC,UAAW,SAAS2E,GAChB,IAAI3G,EAAU5yC,KAAK4yC,QACnB,IAAIA,EAAQ4M,QAAZ,CAOA,IAAI7E,EAFJ36C,KAAKg8C,YAAYW,gBAAgBpD,GAGjC,IAAImC,EAAc17C,KAAK07C,YAKnB+D,EAAgB7M,EAAQ6M,gBAIvBA,GAAkBA,GAz8Bb,EAy8B8BA,EAAcltB,SAClDktB,EAAgB7M,EAAQ6M,cAAgB,MAI5C,IADA,IAAI14C,EAAI,EACDA,EAAI20C,EAAY16C,QACnB25C,EAAae,EAAY30C,GA9FnB,IAsGF6rC,EAAQ4M,SACHC,GAAiB9E,GAAc8E,IAChC9E,EAAWyC,iBAAiBqC,GAGhC9E,EAAW8C,QAFX9C,EAAW/F,UAAU2E,IAOpBkG,GAAoC,GAAnB9E,EAAWpoB,QAC7BktB,EAAgB7M,EAAQ6M,cAAgB9E,GAE5C5zC,MASRtG,IAAK,SAASk6C,GACV,GAAIA,aAAsBR,GACtB,OAAOQ,EAIX,IADA,IAAIe,EAAc17C,KAAK07C,YACd30C,EAAI,EAAGA,EAAI20C,EAAY16C,OAAQ+F,IACpC,GAAI20C,EAAY30C,GAAGqwB,QAAQ4I,OAAS2a,EAChC,OAAOe,EAAY30C,GAG3B,OAAO,MASXyB,IAAK,SAASmyC,GACV,GAAI9L,EAAe8L,EAAY,MAAO36C,MAClC,OAAOA,KAIX,IAAI0/C,EAAW1/C,KAAKS,IAAIk6C,EAAWvjB,QAAQ4I,OAS3C,OARI0f,GACA1/C,KAAK4I,OAAO82C,GAGhB1/C,KAAK07C,YAAY1zC,KAAK2yC,GACtBA,EAAW9I,QAAU7xC,KAErBA,KAAKg8C,YAAYO,SACV5B,GAQX/xC,OAAQ,SAAS+xC,GACb,GAAI9L,EAAe8L,EAAY,SAAU36C,MACrC,OAAOA,KAMX,GAHA26C,EAAa36C,KAAKS,IAAIk6C,GAGN,CACZ,IAAIe,EAAc17C,KAAK07C,YACnBt2C,EAAQsrC,EAAQgL,EAAaf,IAElB,IAAXv1C,IACAs2C,EAAY7yC,OAAOzD,EAAO,GAC1BpF,KAAKg8C,YAAYO,UAIzB,OAAOv8C,MASX2/C,GAAI,SAASC,EAAQhlB,GACjB,QAp5ER,IAo5EYglB,QAp5EZ,IAu5EYhlB,EAAJ,CAIA,IAAIihB,EAAW77C,KAAK67C,SAKpB,OAJA52B,EAAKirB,EAAS0P,IAAQA,SAAU5f,GAC5B6b,EAAS7b,GAAS6b,EAAS7b,IAAU,GACrC6b,EAAS7b,GAAOh4B,KAAK4yB,MAElB56B,OASX6/C,IAAK,SAASD,EAAQhlB,GAClB,QA16ER,IA06EYglB,EAAJ,CAIA,IAAI/D,EAAW77C,KAAK67C,SAQpB,OAPA52B,EAAKirB,EAAS0P,IAAQA,SAAU5f,GACvBpF,EAGDihB,EAAS7b,IAAU6b,EAAS7b,GAAOn3B,OAAO6nC,EAAQmL,EAAS7b,GAAQpF,GAAU,UAFtEihB,EAAS7b,MAKjBhgC,OAQX20C,KAAM,SAAS3U,EAAOlhB,GAEd9e,KAAKo3B,QAAQ4nB,WAkEzB,SAAyBhf,EAAOlhB,GAC5B,IAAIghC,EAAe9gD,EAAS+gD,YAAY,SACxCD,EAAaE,UAAUhgB,GAAO,GAAM,GACpC8f,EAAaG,QAAUnhC,EACvBA,EAAKpe,OAAOw/C,cAAcJ,GAJ9B,CAjE4B9f,EAAOlhB,GAI3B,IAAI+8B,EAAW77C,KAAK67C,SAAS7b,IAAUhgC,KAAK67C,SAAS7b,GAAO1zB,QAC5D,GAAKuvC,GAAaA,EAAS76C,OAA3B,CAIA8d,EAAK5X,KAAO84B,EACZlhB,EAAKyhB,eAAiB,WAClBzhB,EAAK41B,SAASnU,kBAIlB,IADA,IAAIx5B,EAAI,EACDA,EAAI80C,EAAS76C,QAChB66C,EAAS90C,GAAG+X,GACZ/X,MAQRuuC,QAAS,WACLt1C,KAAKguC,SAAWiO,GAAej8C,MAAM,GAErCA,KAAK67C,SAAW,GAChB77C,KAAK4yC,QAAU,GACf5yC,KAAKqyC,MAAMiD,UACXt1C,KAAKguC,QAAU,OAyCvB9oB,EAAOu2B,GAAQ,CACX0E,YAtoEc,EAuoEdC,WAtoEa,EAuoEbC,UAtoEY,EAuoEZC,aAtoEe,EAwoEfC,eAlrCiB,EAmrCjBC,YAlrCc,EAmrCdC,cAlrCgB,EAmrChBC,YAlrCc,EAmrCdC,iBAnrCc,EAorCdC,gBAlrCkB,GAmrClBC,aAlrCe,GAorCfC,eA9oEiB,EA+oEjBhE,eA9oEiB,EA+oEjBiE,gBA9oEkB,EA+oElBhE,aA9oEe,EA+oEfiE,eA9oEiB,GA+oEjBjD,qBA7oEuBjB,EA8oEvBmE,mBA7oEqBlE,GA8oErBmE,cA7oEgBnD,GA+oEhBnC,QAASA,GACThK,MAAOA,EACPsI,YAAaA,GAEbhC,WAAYA,GACZvC,WAAYA,EACZkB,kBAAmBA,GACnB6B,gBAAiBA,GACjBf,iBAAkBA,GAElBwC,WAAYA,GACZS,eAAgBA,GAChBuG,IAAK7F,GACL8F,IAAKvG,GACLwG,MAAOhG,GACPiG,MAAOtG,GACPuG,OAAQnG,GACRoG,MAAOvG,GAEP0E,GAAI3P,EACJ6P,IAAK1P,EACLlrB,KAAMA,EACNoqB,MAAOA,EACPF,OAAQA,EACRjqB,OAAQA,EACRoqB,QAASA,EACTV,OAAQA,EACRkC,SAAUA,UAKsB,IAAXz/B,EAAyBA,EAA0B,oBAATtL,KAAuBA,KAAO,IACtF01C,OAASA,QAjkFpB,KAokFI,cACI,OAAOA,KACV,8BAtkFL,CA6kFGpqC,OAAQrS,W,mBCllFX,IAAI6Y,EAAK,EACL4E,EAAKzQ,KAAKqiC,SACdpvC,EAAOC,QAAU,SAAUuC,GACzB,MAAO,UAAUwW,YAAe/W,IAARO,EAAoB,GAAKA,EAAK,QAASoW,EAAK4E,GAAItU,SAAS,O,qBCFnF,IAAIs5C,EAAqB,EAAQ,QAEjCxiD,EAAOC,QAAU,SAAUwK,EAAU1I,GACnC,OAAO,IAAKygD,EAAmB/3C,GAAxB,CAAmC1I,K,qBCJ5C,IAAIV,EAAM,EAAQ,QACd0lB,EAAY,EAAQ,QACpB07B,EAAe,EAAQ,OAAR,EAA6B,GAC5C55B,EAAW,EAAQ,OAAR,CAAyB,YAExC7oB,EAAOC,QAAU,SAAUgjB,EAAQy/B,GACjC,IAGIlgD,EAHAiB,EAAIsjB,EAAU9D,GACdnb,EAAI,EACJiC,EAAS,GAEb,IAAKvH,KAAOiB,EAAOjB,GAAOqmB,GAAUxnB,EAAIoC,EAAGjB,IAAQuH,EAAOhB,KAAKvG,GAE/D,KAAOkgD,EAAM3gD,OAAS+F,GAAOzG,EAAIoC,EAAGjB,EAAMkgD,EAAM56C,SAC7C26C,EAAa14C,EAAQvH,IAAQuH,EAAOhB,KAAKvG,IAE5C,OAAOuH,I,uBCfT,IAAI5G,EAAW,EAAQ,QACnB5B,EAAW,EAAQ,QACnB+B,EAAYH,EAASX,IACrByoB,EAAyB9nB,EAASmK,IAClC8a,EAAQjlB,EAASilB,MAErBjlB,EAASQ,IAAI,CAAEg/C,eAAgB,SAAwB9+C,EAAapC,GAClE,IAAIwC,EAAYnC,UAAUC,OAAS,OAAIE,EAAYqB,EAAUxB,UAAU,IACnEspB,EAAcH,EAAuB1pB,EAASE,GAASwC,GAAW,GACtE,QAAoBhC,IAAhBmpB,IAA8BA,EAAoB,OAAEvnB,GAAc,OAAO,EAC7E,GAAIunB,EAAYw3B,KAAM,OAAO,EAC7B,IAAI13B,EAAiB9C,EAAM5mB,IAAIC,GAE/B,OADAypB,EAAuB,OAAEjnB,KAChBinB,EAAe03B,MAAQx6B,EAAc,OAAE3mB,Q","file":"x","sourcesContent":["var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar aFunction = require('./_a-function');\nvar $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter) {\n $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","/*\n * classList.js: Cross-browser full element.classList implementation.\n * 1.1.20150312\n *\n * By Eli Grey, http://eligrey.com\n * License: Dedicated to the public domain.\n * See https://github.com/eligrey/classList.js/blob/master/LICENSE.md\n */\n\n/*global self, document, DOMException */\n\n/*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js */\n\nif (\"document\" in self) {\n\n// Full polyfill for browsers with no classList support\n// Including IE < Edge missing SVGElement.classList\nif (!(\"classList\" in document.createElement(\"_\")) \n\t|| document.createElementNS && !(\"classList\" in document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"))) {\n\n(function (view) {\n\n\"use strict\";\n\nif (!('Element' in view)) return;\n\nvar\n\t classListProp = \"classList\"\n\t, protoProp = \"prototype\"\n\t, elemCtrProto = view.Element[protoProp]\n\t, objCtr = Object\n\t, strTrim = String[protoProp].trim || function () {\n\t\treturn this.replace(/^\\s+|\\s+$/g, \"\");\n\t}\n\t, arrIndexOf = Array[protoProp].indexOf || function (item) {\n\t\tvar\n\t\t\t i = 0\n\t\t\t, len = this.length\n\t\t;\n\t\tfor (; i < len; i++) {\n\t\t\tif (i in this && this[i] === item) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n\t// Vendors: please allow content code to instantiate DOMExceptions\n\t, DOMEx = function (type, message) {\n\t\tthis.name = type;\n\t\tthis.code = DOMException[type];\n\t\tthis.message = message;\n\t}\n\t, checkTokenAndGetIndex = function (classList, token) {\n\t\tif (token === \"\") {\n\t\t\tthrow new DOMEx(\n\t\t\t\t \"SYNTAX_ERR\"\n\t\t\t\t, \"An invalid or illegal string was specified\"\n\t\t\t);\n\t\t}\n\t\tif (/\\s/.test(token)) {\n\t\t\tthrow new DOMEx(\n\t\t\t\t \"INVALID_CHARACTER_ERR\"\n\t\t\t\t, \"String contains an invalid character\"\n\t\t\t);\n\t\t}\n\t\treturn arrIndexOf.call(classList, token);\n\t}\n\t, ClassList = function (elem) {\n\t\tvar\n\t\t\t trimmedClasses = strTrim.call(elem.getAttribute(\"class\") || \"\")\n\t\t\t, classes = trimmedClasses ? trimmedClasses.split(/\\s+/) : []\n\t\t\t, i = 0\n\t\t\t, len = classes.length\n\t\t;\n\t\tfor (; i < len; i++) {\n\t\t\tthis.push(classes[i]);\n\t\t}\n\t\tthis._updateClassName = function () {\n\t\t\telem.setAttribute(\"class\", this.toString());\n\t\t};\n\t}\n\t, classListProto = ClassList[protoProp] = []\n\t, classListGetter = function () {\n\t\treturn new ClassList(this);\n\t}\n;\n// Most DOMException implementations don't allow calling DOMException's toString()\n// on non-DOMExceptions. Error's toString() is sufficient here.\nDOMEx[protoProp] = Error[protoProp];\nclassListProto.item = function (i) {\n\treturn this[i] || null;\n};\nclassListProto.contains = function (token) {\n\ttoken += \"\";\n\treturn checkTokenAndGetIndex(this, token) !== -1;\n};\nclassListProto.add = function () {\n\tvar\n\t\t tokens = arguments\n\t\t, i = 0\n\t\t, l = tokens.length\n\t\t, token\n\t\t, updated = false\n\t;\n\tdo {\n\t\ttoken = tokens[i] + \"\";\n\t\tif (checkTokenAndGetIndex(this, token) === -1) {\n\t\t\tthis.push(token);\n\t\t\tupdated = true;\n\t\t}\n\t}\n\twhile (++i < l);\n\n\tif (updated) {\n\t\tthis._updateClassName();\n\t}\n};\nclassListProto.remove = function () {\n\tvar\n\t\t tokens = arguments\n\t\t, i = 0\n\t\t, l = tokens.length\n\t\t, token\n\t\t, updated = false\n\t\t, index\n\t;\n\tdo {\n\t\ttoken = tokens[i] + \"\";\n\t\tindex = checkTokenAndGetIndex(this, token);\n\t\twhile (index !== -1) {\n\t\t\tthis.splice(index, 1);\n\t\t\tupdated = true;\n\t\t\tindex = checkTokenAndGetIndex(this, token);\n\t\t}\n\t}\n\twhile (++i < l);\n\n\tif (updated) {\n\t\tthis._updateClassName();\n\t}\n};\nclassListProto.toggle = function (token, force) {\n\ttoken += \"\";\n\n\tvar\n\t\t result = this.contains(token)\n\t\t, method = result ?\n\t\t\tforce !== true && \"remove\"\n\t\t:\n\t\t\tforce !== false && \"add\"\n\t;\n\n\tif (method) {\n\t\tthis[method](token);\n\t}\n\n\tif (force === true || force === false) {\n\t\treturn force;\n\t} else {\n\t\treturn !result;\n\t}\n};\nclassListProto.toString = function () {\n\treturn this.join(\" \");\n};\n\nif (objCtr.defineProperty) {\n\tvar classListPropDesc = {\n\t\t get: classListGetter\n\t\t, enumerable: true\n\t\t, configurable: true\n\t};\n\ttry {\n\t\tobjCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\n\t} catch (ex) { // IE 8 doesn't support enumerable:true\n\t\tif (ex.number === -0x7FF5EC54) {\n\t\t\tclassListPropDesc.enumerable = false;\n\t\t\tobjCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\n\t\t}\n\t}\n} else if (objCtr[protoProp].__defineGetter__) {\n\telemCtrProto.__defineGetter__(classListProp, classListGetter);\n}\n\n}(self));\n\n} else {\n// There is full or partial native classList support, so just check if we need\n// to normalize the add/remove and toggle APIs.\n\n(function () {\n\t\"use strict\";\n\n\tvar testElement = document.createElement(\"_\");\n\n\ttestElement.classList.add(\"c1\", \"c2\");\n\n\t// Polyfill for IE 10/11 and Firefox <26, where classList.add and\n\t// classList.remove exist but support only one argument at a time.\n\tif (!testElement.classList.contains(\"c2\")) {\n\t\tvar createMethod = function(method) {\n\t\t\tvar original = DOMTokenList.prototype[method];\n\n\t\t\tDOMTokenList.prototype[method] = function(token) {\n\t\t\t\tvar i, len = arguments.length;\n\n\t\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\t\ttoken = arguments[i];\n\t\t\t\t\toriginal.call(this, token);\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\tcreateMethod('add');\n\t\tcreateMethod('remove');\n\t}\n\n\ttestElement.classList.toggle(\"c3\", false);\n\n\t// Polyfill for IE 10 and Firefox <24, where classList.toggle does not\n\t// support the second argument.\n\tif (testElement.classList.contains(\"c3\")) {\n\t\tvar _toggle = DOMTokenList.prototype.toggle;\n\n\t\tDOMTokenList.prototype.toggle = function(token, force) {\n\t\t\tif (1 in arguments && !this.contains(token) === !force) {\n\t\t\t\treturn force;\n\t\t\t} else {\n\t\t\t\treturn _toggle.call(this, token);\n\t\t\t}\n\t\t};\n\n\t}\n\n\ttestElement = null;\n}());\n\n}\n\n}\n\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar aFunction = require('./_a-function');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen, A;\n aFunction(callbackfn);\n sourceLen = toLength(O.length);\n A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n return A;\n }\n});\n\nrequire('./_add-to-unscopables')('flatMap');\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n!function(){var a={},b={};!function(a,b){function c(a){if(\"number\"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function d(){this._delay=0,this._endDelay=0,this._fill=\"none\",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction=\"normal\",this._easing=\"linear\",this._easingFunction=x}function e(){return a.isDeprecated(\"Invalid timing inputs\",\"2016-03-02\",\"TypeError exceptions will be thrown instead.\",!0)}function f(b,c,e){var f=new d;return c&&(f.fill=\"both\",f.duration=\"auto\"),\"number\"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if(\"auto\"!=b[c]){if((\"number\"==typeof f[c]||\"duration\"==c)&&(\"number\"!=typeof b[c]||isNaN(b[c])))return;if(\"fill\"==c&&-1==v.indexOf(b[c]))return;if(\"direction\"==c&&-1==w.indexOf(b[c]))return;if(\"playbackRate\"==c&&1!==b[c]&&a.isDeprecated(\"AnimationEffectTiming.playbackRate\",\"2014-11-28\",\"Use Animation.playbackRate instead.\"))return;f[c]=b[c]}}):f.duration=b,f}function g(a){return\"number\"==typeof a&&(a=isNaN(a)?{duration:0}:{duration:a}),a}function h(b,c){return b=a.numericTimingToObject(b),f(b,c)}function i(a,b,c,d){return a<0||a>1||c<0||c>1?x:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(e<=0){var g=0;return a>0?g=b/a:!b&&c>0&&(g=d/c),g*e}if(e>=1){var h=0;return c<1?h=(d-1)/(c-1):1==c&&a<1&&(h=(b-1)/(a-1)),1+h*(e-1)}for(var i=0,j=1;i=1)return 1;var d=1/a;return(c+=b*d)-c%d}}function k(a){C||(C=document.createElement(\"div\").style),C.animationTimingFunction=\"\",C.animationTimingFunction=a;var b=C.animationTimingFunction;if(\"\"==b&&e())throw new TypeError(a+\" is not a valid value for easing\");return b}function l(a){if(\"linear\"==a)return x;var b=E.exec(a);if(b)return i.apply(this,b.slice(1).map(Number));var c=F.exec(a);if(c)return j(Number(c[1]),A);var d=G.exec(a);return d?j(Number(d[1]),{start:y,middle:z,end:A}[d[2]]):B[a]||x}function m(a){return Math.abs(n(a)/a.playbackRate)}function n(a){return 0===a.duration||0===a.iterations?0:a.duration*a.iterations}function o(a,b,c){if(null==b)return H;var d=c.delay+a+c.endDelay;return b=Math.min(c.delay+a,d)?J:K}function p(a,b,c,d,e){switch(d){case I:return\"backwards\"==b||\"both\"==b?0:null;case K:return c-e;case J:return\"forwards\"==b||\"both\"==b?a:null;case H:return null}}function q(a,b,c,d,e){var f=e;return 0===a?b!==I&&(f+=c):f+=d/a,f}function r(a,b,c,d,e,f){var g=a===1/0?b%1:a%1;return 0!==g||c!==J||0===d||0===e&&0!==f||(g=1),g}function s(a,b,c,d){return a===J&&b===1/0?1/0:1===c?Math.floor(d)-1:Math.floor(d)}function t(a,b,c){var d=a;if(\"normal\"!==a&&\"reverse\"!==a){var e=b;\"alternate-reverse\"===a&&(e+=1),d=\"normal\",e!==1/0&&e%2!=0&&(d=\"reverse\")}return\"normal\"===d?c:1-c}function u(a,b,c){var d=o(a,b,c),e=p(a,c.fill,b,d,c.delay);if(null===e)return null;var f=q(c.duration,d,c.iterations,e,c.iterationStart),g=r(f,c.iterationStart,d,c.iterations,e,c.duration),h=s(d,c.iterations,g,f),i=t(c.direction,h,g);return c._easingFunction(i)}var v=\"backwards|forwards|both|none\".split(\"|\"),w=\"reverse|alternate|alternate-reverse\".split(\"|\"),x=function(a){return a};d.prototype={_setMember:function(b,c){this[\"_\"+b]=c,this._effect&&(this._effect._timingInput[b]=c,this._effect._timing=a.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=a.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(a){this._setMember(\"delay\",a)},get delay(){return this._delay},set endDelay(a){this._setMember(\"endDelay\",a)},get endDelay(){return this._endDelay},set fill(a){this._setMember(\"fill\",a)},get fill(){return this._fill},set iterationStart(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterationStart must be a non-negative number, received: \"+a);this._setMember(\"iterationStart\",a)},get iterationStart(){return this._iterationStart},set duration(a){if(\"auto\"!=a&&(isNaN(a)||a<0)&&e())throw new TypeError(\"duration must be non-negative or auto, received: \"+a);this._setMember(\"duration\",a)},get duration(){return this._duration},set direction(a){this._setMember(\"direction\",a)},get direction(){return this._direction},set easing(a){this._easingFunction=l(k(a)),this._setMember(\"easing\",a)},get easing(){return this._easing},set iterations(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterations must be non-negative, received: \"+a);this._setMember(\"iterations\",a)},get iterations(){return this._iterations}};var y=1,z=.5,A=0,B={ease:i(.25,.1,.25,1),\"ease-in\":i(.42,0,1,1),\"ease-out\":i(0,0,.58,1),\"ease-in-out\":i(.42,0,.58,1),\"step-start\":j(1,y),\"step-middle\":j(1,z),\"step-end\":j(1,A)},C=null,D=\"\\\\s*(-?\\\\d+\\\\.?\\\\d*|-?\\\\.\\\\d+)\\\\s*\",E=new RegExp(\"cubic-bezier\\\\(\"+D+\",\"+D+\",\"+D+\",\"+D+\"\\\\)\"),F=/steps\\(\\s*(\\d+)\\s*\\)/,G=/steps\\(\\s*(\\d+)\\s*,\\s*(start|middle|end)\\s*\\)/,H=0,I=1,J=2,K=3;a.cloneTimingInput=c,a.makeTiming=f,a.numericTimingToObject=g,a.normalizeTimingInput=h,a.calculateActiveDuration=m,a.calculateIterationProgress=u,a.calculatePhase=o,a.normalizeEasing=k,a.parseEasingFunction=l}(a),function(a,b){function c(a,b){return a in k?k[a][b]||b:b}function d(a){return\"display\"===a||0===a.lastIndexOf(\"animation\",0)||0===a.lastIndexOf(\"transition\",0)}function e(a,b,e){if(!d(a)){var f=h[a];if(f){i.style[a]=b;for(var g in f){var j=f[g],k=i.style[j];e[j]=c(j,k)}}else e[a]=c(a,b)}}function f(a){var b=[];for(var c in a)if(!(c in[\"easing\",\"offset\",\"composite\"])){var d=a[c];Array.isArray(d)||(d=[d]);for(var e,f=d.length,g=0;g1&&null==d[0].offset&&(d[0].offset=0);for(var b=0,c=d[0].offset,e=1;e1)throw new TypeError(\"Keyframe offsets must be between 0 and 1.\")}}else if(\"composite\"==d){if(\"add\"==f||\"accumulate\"==f)throw{type:DOMException.NOT_SUPPORTED_ERR,name:\"NotSupportedError\",message:\"add compositing is not supported\"};if(\"replace\"!=f)throw new TypeError(\"Invalid composite mode \"+f+\".\")}else f=\"easing\"==d?a.normalizeEasing(f):\"\"+f;e(d,f,c)}return void 0==c.offset&&(c.offset=null),void 0==c.easing&&(c.easing=\"linear\"),c}),g=!0,h=-1/0,i=0;i=0&&a.offset<=1}),g||c(),d}var h={background:[\"backgroundImage\",\"backgroundPosition\",\"backgroundSize\",\"backgroundRepeat\",\"backgroundAttachment\",\"backgroundOrigin\",\"backgroundClip\",\"backgroundColor\"],border:[\"borderTopColor\",\"borderTopStyle\",\"borderTopWidth\",\"borderRightColor\",\"borderRightStyle\",\"borderRightWidth\",\"borderBottomColor\",\"borderBottomStyle\",\"borderBottomWidth\",\"borderLeftColor\",\"borderLeftStyle\",\"borderLeftWidth\"],borderBottom:[\"borderBottomWidth\",\"borderBottomStyle\",\"borderBottomColor\"],borderColor:[\"borderTopColor\",\"borderRightColor\",\"borderBottomColor\",\"borderLeftColor\"],borderLeft:[\"borderLeftWidth\",\"borderLeftStyle\",\"borderLeftColor\"],borderRadius:[\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderBottomRightRadius\",\"borderBottomLeftRadius\"],borderRight:[\"borderRightWidth\",\"borderRightStyle\",\"borderRightColor\"],borderTop:[\"borderTopWidth\",\"borderTopStyle\",\"borderTopColor\"],borderWidth:[\"borderTopWidth\",\"borderRightWidth\",\"borderBottomWidth\",\"borderLeftWidth\"],flex:[\"flexGrow\",\"flexShrink\",\"flexBasis\"],font:[\"fontFamily\",\"fontSize\",\"fontStyle\",\"fontVariant\",\"fontWeight\",\"lineHeight\"],margin:[\"marginTop\",\"marginRight\",\"marginBottom\",\"marginLeft\"],outline:[\"outlineColor\",\"outlineStyle\",\"outlineWidth\"],padding:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"]},i=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),j={thin:\"1px\",medium:\"3px\",thick:\"5px\"},k={borderBottomWidth:j,borderLeftWidth:j,borderRightWidth:j,borderTopWidth:j,fontSize:{\"xx-small\":\"60%\",\"x-small\":\"75%\",small:\"89%\",medium:\"100%\",large:\"120%\",\"x-large\":\"150%\",\"xx-large\":\"200%\"},fontWeight:{normal:\"400\",bold:\"700\"},outlineWidth:j,textShadow:{none:\"0px 0px 0px transparent\"},boxShadow:{none:\"0px 0px 0px 0px transparent\"}};a.convertToArrayForm=f,a.normalizeKeyframes=g}(a),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?\"are\":\"is\",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),!(g=a.applyFrom&&cthis._surrogateStyle.length;)this._length--,Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,value:void 0})},_set:function(b,c){this._style[b]=c,this._isAnimatedProperty[b]=!0,this._updateSvgTransformAttr&&\"transform\"==a.unprefixedPropertyName(b)&&(null==this._savedTransformAttr&&(this._savedTransformAttr=this._element.getAttribute(\"transform\")),this._element.setAttribute(\"transform\",a.transformToSvgMatrix(c)))},_clear:function(b){this._style[b]=this._surrogateStyle[b],this._updateSvgTransformAttr&&\"transform\"==a.unprefixedPropertyName(b)&&(this._savedTransformAttr?this._element.setAttribute(\"transform\",this._savedTransformAttr):this._element.removeAttribute(\"transform\"),this._savedTransformAttr=null),delete this._isAnimatedProperty[b]}};for(var k in i)e.prototype[k]=function(a,b){return function(){var c=this._surrogateStyle[a].apply(this._surrogateStyle,arguments);return b&&(this._isAnimatedProperty[arguments[0]]||this._style[a].apply(this._style,arguments),this._updateIndices()),c}}(k,k in j);for(var l in document.documentElement.style)l in h||l in i||function(a){d(e.prototype,a,{get:function(){return this._surrogateStyle[a]},set:function(b){this._surrogateStyle[a]=b,this._updateIndices(),this._isAnimatedProperty[a]||(this._style[a]=b)}})}(l);a.apply=function(b,c,d){f(b),b.style._set(a.propertyName(c),d)},a.clear=function(b,c){b._webAnimationsPatchedStyle&&b.style._clear(a.propertyName(c))}}(b),function(a){window.Element.prototype.animate=function(b,c){var d=\"\";return c&&c.id&&(d=c.id),a.timeline._play(a.KeyframeEffect(this,b,c,d))}}(b),function(a,b){function c(a,b,d){if(\"number\"==typeof a&&\"number\"==typeof b)return a*(1-d)+b*d;if(\"boolean\"==typeof a&&\"boolean\"==typeof b)return d<.5?a:b;if(a.length==b.length){for(var e=[],f=0;f0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(a,!0),b.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var c=this.currentTime;this._playbackRate=a,this._startTime=null,\"paused\"!=this.playState&&\"idle\"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)),null!=c&&(this.currentTime=c)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?\"idle\":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?\"pending\":this._paused?\"paused\":this._isFinished?\"finished\":\"running\"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException(\"Unable to rewind negative playback rate animation with infinite duration\",\"InvalidStateError\");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,b.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),b.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){\"function\"==typeof b&&\"finish\"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if(\"finish\"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){if(this._isFinished){if(!this._finishedFlag){var b=new d(this,this._currentTime,a),c=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){c.forEach(function(a){a.call(b.target,b)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(a,b){this._idle||this._paused||(null==this._startTime?b&&(this.startTime=a-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),b&&(this._currentTimePending=!1,this._fireEvents(a))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var a=this._effect._target;return a._activeAnimations||(a._activeAnimations=[]),a._activeAnimations},_markTarget:function(){var a=this._targetAnimations();-1===a.indexOf(this)&&a.push(this)},_unmarkTarget:function(){var a=this._targetAnimations(),b=a.indexOf(this);-1!==b&&a.splice(b,1)}}}(a,b),function(a,b,c){function d(a){var b=j;j=[],a1e-4?(u=.5/Math.sqrt(w),v=[(q[2][1]-q[1][2])*u,(q[0][2]-q[2][0])*u,(q[1][0]-q[0][1])*u,.25/u]):q[0][0]>q[1][1]&&q[0][0]>q[2][2]?(u=2*Math.sqrt(1+q[0][0]-q[1][1]-q[2][2]),v=[.25*u,(q[0][1]+q[1][0])/u,(q[0][2]+q[2][0])/u,(q[2][1]-q[1][2])/u]):q[1][1]>q[2][2]?(u=2*Math.sqrt(1+q[1][1]-q[0][0]-q[2][2]),v=[(q[0][1]+q[1][0])/u,.25*u,(q[1][2]+q[2][1])/u,(q[0][2]-q[2][0])/u]):(u=2*Math.sqrt(1+q[2][2]-q[0][0]-q[1][1]),v=[(q[0][2]+q[2][0])/u,(q[1][2]+q[2][1])/u,.25*u,(q[1][0]-q[0][1])/u]),[p,r,s,v,n]}return j}();a.dot=c,a.makeMatrixDecomposition=h,a.transformListToMatrix=g}(b),function(a){function b(a,b){var c=a.exec(b);if(c)return c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]}function c(a,b){b=b.replace(/^\\s*/,\"\");var c=a(b);if(c)return[c[0],c[1].replace(/^\\s*/,\"\")]}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],!(g=b(d,e))||\"\"==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;dd?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){return a(c)||[b,c]}}function i(b,c){for(var d=[],e=0;e=1?b:\"visible\"}]}a.addPropertiesHandler(String,c,[\"visibility\"])}(b),function(a,b){function c(a){a=a.trim(),f.fillStyle=\"#000\",f.fillStyle=a;var b=f.fillStyle;if(f.fillStyle=\"#fff\",f.fillStyle=a,b==f.fillStyle){f.fillRect(0,0,1,1);var c=f.getImageData(0,0,1,1).data;f.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function d(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;d<3;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),\"rgba(\"+b.join(\",\")+\")\"}]}var e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");e.width=e.height=1;var f=e.getContext(\"2d\");a.addPropertiesHandler(c,d,[\"background-color\",\"border-bottom-color\",\"border-left-color\",\"border-right-color\",\"border-top-color\",\"color\",\"fill\",\"flood-color\",\"lighting-color\",\"outline-color\",\"stop-color\",\"stroke\",\"text-decoration-color\"]),a.consumeColor=a.consumeParenthesised.bind(null,c),a.mergeColors=d}(b),function(a,b){function c(a){function b(){var b=h.exec(a);g=b?b[0]:void 0}function c(){var a=Number(g);return b(),a}function d(){if(\"(\"!==g)return c();b();var a=f();return\")\"!==g?NaN:(b(),a)}function e(){for(var a=d();\"*\"===g||\"/\"===g;){var c=g;b();var e=d();\"*\"===c?a*=e:a/=e}return a}function f(){for(var a=e();\"+\"===g||\"-\"===g;){var c=g;b();var d=e();\"+\"===c?a+=d:a-=d}return a}var g,h=/([\\+\\-\\w\\.]+|[\\(\\)\\*\\/])/g;return b(),f()}function d(a,b){if(\"0\"==(b=b.trim().toLowerCase())&&\"px\".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\\(/g,\"(\");var d={};b=b.replace(a,function(a){return d[a]=null,\"U\"+a});for(var e=\"U(\"+a.source+\")\",f=b.replace(/[-+]?(\\d*\\.)?\\d+([Ee][-+]?\\d+)?/g,\"N\").replace(new RegExp(\"N\"+e,\"g\"),\"D\").replace(/\\s[+-]\\s/g,\"O\").replace(/\\s/g,\"\"),g=[/N\\*(D)/g,/(N|D)[*\\/]N/g,/(N|D)O\\1/g,/\\((N|D)\\)/g],h=0;h1?\"calc(\"+c+\")\":c}]}var g=\"px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc\",h=d.bind(null,new RegExp(g,\"g\")),i=d.bind(null,new RegExp(g+\"|%\",\"g\")),j=d.bind(null,/deg|rad|grad|turn/g);a.parseLength=h,a.parseLengthOrPercent=i,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,i),a.parseAngle=j,a.mergeDimensions=f;var k=a.consumeParenthesised.bind(null,h),l=a.consumeRepeated.bind(void 0,k,/^/),m=a.consumeRepeated.bind(void 0,l,/^,/);a.consumeSizePairList=m;var n=function(a){var b=m(a);if(b&&\"\"==b[1])return b[0]},o=a.mergeNestedRepeated.bind(void 0,e,\" \"),p=a.mergeNestedRepeated.bind(void 0,o,\",\");a.mergeNonNegativeSizePair=o,a.addPropertiesHandler(n,p,[\"background-size\"]),a.addPropertiesHandler(i,e,[\"border-bottom-width\",\"border-image-width\",\"border-left-width\",\"border-right-width\",\"border-top-width\",\"flex-basis\",\"font-size\",\"height\",\"line-height\",\"max-height\",\"max-width\",\"outline-width\",\"width\"]),a.addPropertiesHandler(i,f,[\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-top-left-radius\",\"border-top-right-radius\",\"bottom\",\"left\",\"letter-spacing\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"min-height\",\"min-width\",\"outline-offset\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"perspective\",\"right\",\"shape-margin\",\"stroke-dashoffset\",\"text-indent\",\"top\",\"vertical-align\",\"word-spacing\"])}(b),function(a,b){function c(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function d(b){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\\(/)),a.consumeRepeated.bind(null,c,/^,/),a.ignore(a.consumeToken.bind(null,/^\\)/))],b);if(d&&4==d[0].length)return d[0]}function e(b,c){return\"auto\"==b||\"auto\"==c?[!0,!1,function(d){var e=d?b:c;if(\"auto\"==e)return\"auto\";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function f(a){return\"rect(\"+a+\")\"}var g=a.mergeWrappedNestedRepeated.bind(null,f,e,\", \");a.parseBox=d,a.mergeBoxes=g,a.addPropertiesHandler(d,g,[\"clip\"])}(b),function(a,b){function c(a){return function(b){var c=0;return a.map(function(a){return a===k?b[c++]:a})}}function d(a){return a}function e(b){if(\"none\"==(b=b.toLowerCase().trim()))return[];for(var c,d=/\\s*(\\w+)\\(([^)]*)\\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=n[g];if(!h)return;var i=c[2].split(\",\"),j=h[0];if(j.length900||b%100!=0))return b}function c(b){return b=100*Math.round(b/100),b=a.clamp(100,900,b),400===b?\"normal\":700===b?\"bold\":String(b)}function d(a,b){return[a,b,c]}a.addPropertiesHandler(b,d,[\"font-weight\"])}(b),function(a){function b(a){var b={};for(var c in a)b[c]=-a[c];return b}function c(b){return a.consumeToken(/^(left|center|right|top|bottom)\\b/i,b)||a.consumeLengthOrPercent(b)}function d(b,d){var e=a.consumeRepeated(c,/^/,d);if(e&&\"\"==e[1]){var f=e[0];if(f[0]=f[0]||\"center\",f[1]=f[1]||\"center\",3==b&&(f[2]=f[2]||{px:0}),f.length==b){if(/top|bottom/.test(f[0])||/left|right/.test(f[1])){var h=f[0];f[0]=f[1],f[1]=h}if(/left|right|center|Object/.test(f[0])&&/top|bottom|center|Object/.test(f[1]))return f.map(function(a){return\"object\"==typeof a?a:g[a]})}}}function e(d){var e=a.consumeRepeated(c,/^/,d);if(e){for(var f=e[0],h=[{\"%\":50},{\"%\":50}],i=0,j=!1,k=0;k=0&&this._cancelHandlers.splice(c,1)}else i.call(this,a,b)},f}}}(),function(a){var b=document.documentElement,c=null,d=!1;try{var e=getComputedStyle(b).getPropertyValue(\"opacity\"),f=\"0\"==e?\"1\":\"0\";c=b.animate({opacity:[f,f]},{duration:1}),c.currentTime=0,d=getComputedStyle(b).getPropertyValue(\"opacity\")==f}catch(a){}finally{c&&c.cancel()}if(!d){var g=window.Element.prototype.animate;window.Element.prototype.animate=function(b,c){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&b[Symbol.iterator]&&(b=Array.from(b)),Array.isArray(b)||null===b||(b=a.convertToArrayForm(b)),g.call(this,b,c)}}}(a)}();\n//# sourceMappingURL=web-animations.min.js.map","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\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 var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\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 (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\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 !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\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 rConstruct(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","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(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 (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","module.exports = false;\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","/**\n * @license Angular v9.1.13\n * (c) 2010-2020 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst __globalThis = typeof globalThis !== 'undefined' && globalThis;\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\n// Always use __globalThis if available; this is the spec-defined global variable across all\n// environments.\n// Then fallback to __global first; in Node tests both __global and __window may be defined.\nconst _global = __globalThis || __global || __window || __self;\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Tag a template literal string for localization.\n *\n * For example:\n *\n * ```ts\n * $localize `some string to localize`\n * ```\n *\n * **Providing meaning, description and id**\n *\n * You can optionally specify one or more of `meaning`, `description` and `id` for a localized\n * string by pre-pending it with a colon delimited block of the form:\n *\n * ```ts\n * $localize`:meaning|description@@id:source message text`;\n *\n * $localize`:meaning|:source message text`;\n * $localize`:description:source message text`;\n * $localize`:@@id:source message text`;\n * ```\n *\n * This format is the same as that used for `i18n` markers in Angular templates. See the\n * [Angular 18n guide](guide/i18n#template-translations).\n *\n * **Naming placeholders**\n *\n * If the template literal string contains expressions, then the expressions will be automatically\n * associated with placeholder names for you.\n *\n * For example:\n *\n * ```ts\n * $localize `Hi ${name}! There are ${items.length} items.`;\n * ```\n *\n * will generate a message-source of `Hi {$PH}! There are {$PH_1} items`.\n *\n * The recommended practice is to name the placeholder associated with each expression though.\n *\n * Do this by providing the placeholder name wrapped in `:` characters directly after the\n * expression. These placeholder names are stripped out of the rendered localized string.\n *\n * For example, to name the `items.length` expression placeholder `itemCount` you write:\n *\n * ```ts\n * $localize `There are ${items.length}:itemCount: items`;\n * ```\n *\n * **Escaping colon markers**\n *\n * If you need to use a `:` character directly at the start of a tagged string that has no\n * metadata block, or directly after a substitution expression that has no name you must escape\n * the `:` by preceding it with a backslash:\n *\n * For example:\n *\n * ```ts\n * // message has a metadata block so no need to escape colon\n * $localize `:some description::this message starts with a colon (:)`;\n * // no metadata block so the colon must be escaped\n * $localize `\\:this message starts with a colon (:)`;\n * ```\n *\n * ```ts\n * // named substitution so no need to escape colon\n * $localize `${label}:label:: ${}`\n * // anonymous substitution so colon must be escaped\n * $localize `${label}\\: ${}`\n * ```\n *\n * **Processing localized strings:**\n *\n * There are three scenarios:\n *\n * * **compile-time inlining**: the `$localize` tag is transformed at compile time by a\n * transpiler, removing the tag and replacing the template literal string with a translated\n * literal string from a collection of translations provided to the transpilation tool.\n *\n * * **run-time evaluation**: the `$localize` tag is a run-time function that replaces and\n * reorders the parts (static strings and expressions) of the template literal string with strings\n * from a collection of translations loaded at run-time.\n *\n * * **pass-through evaluation**: the `$localize` tag is a run-time function that simply evaluates\n * the original template literal string without applying any translations to the parts. This\n * version is used during development or where there is no need to translate the localized\n * template literals.\n * @param messageParts a collection of the static parts of the template string.\n * @param expressions a collection of the values of each placeholder in the template string.\n * @returns the translated string, with the `messageParts` and `expressions` interleaved together.\n */\nconst $localize = function (messageParts, ...expressions) {\n if ($localize.translate) {\n // Don't use array expansion here to avoid the compiler adding `__read()` helper unnecessarily.\n const translation = $localize.translate(messageParts, expressions);\n messageParts = translation[0];\n expressions = translation[1];\n }\n let message = stripBlock(messageParts[0], messageParts.raw[0]);\n for (let i = 1; i < messageParts.length; i++) {\n message += expressions[i - 1] + stripBlock(messageParts[i], messageParts.raw[i]);\n }\n return message;\n};\nconst BLOCK_MARKER = ':';\n/**\n * Strip a delimited \"block\" from the start of the `messagePart`, if it is found.\n *\n * If a marker character (:) actually appears in the content at the start of a tagged string or\n * after a substitution expression, where a block has not been provided the character must be\n * escaped with a backslash, `\\:`. This function checks for this by looking at the `raw`\n * messagePart, which should still contain the backslash.\n *\n * @param messagePart The cooked message part to process.\n * @param rawMessagePart The raw message part to check.\n * @returns the message part with the placeholder name stripped, if found.\n * @throws an error if the block is unterminated\n */\nfunction stripBlock(messagePart, rawMessagePart) {\n return rawMessagePart.charAt(0) === BLOCK_MARKER ?\n messagePart.substring(findEndOfBlock(messagePart, rawMessagePart) + 1) :\n messagePart;\n}\n/**\n * Find the end of a \"marked block\" indicated by the first non-escaped colon.\n *\n * @param cooked The cooked string (where escaped chars have been processed)\n * @param raw The raw string (where escape sequences are still in place)\n *\n * @returns the index of the end of block marker\n * @throws an error if the block is unterminated\n */\nfunction findEndOfBlock(cooked, raw) {\n /***********************************************************************************************\n * This function is repeated in `src/utils/messages.ts` and the two should be kept in sync.\n * The reason is that this file is marked as having side-effects, and if we import `messages.ts`\n * into it, the whole of `src/utils` will be included in this bundle and none of the functions\n * will be tree shaken.\n ***********************************************************************************************/\n for (let cookedIndex = 1, rawIndex = 1; cookedIndex < cooked.length; cookedIndex++, rawIndex++) {\n if (raw[rawIndex] === '\\\\') {\n rawIndex++;\n }\n else if (cooked[cookedIndex] === BLOCK_MARKER) {\n return cookedIndex;\n }\n }\n throw new Error(`Unterminated $localize metadata block in \"${raw}\".`);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Attach $localize to the global context, as a side-effect of this module.\n_global.$localize = $localize;\n//# sourceMappingURL=init.js.map\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = 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 ? ObjectProto : null;\n};\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar aFunction = require('./_a-function');\nvar $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter) {\n $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\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","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","var getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n","exports.f = {}.propertyIsEnumerable;\n","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n","require('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core').Reflect;\n","require('../modules/es7.array.includes');\nrequire('../modules/es7.array.flat-map');\nrequire('../modules/es7.array.flatten');\nmodule.exports = require('../modules/_core').Array;\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\nvar getPrototypeOf = require('./_object-gpo');\nvar getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n } while (O = getPrototypeOf(O));\n }\n});\n","require('../modules/es7.object.get-own-property-descriptors');\nrequire('../modules/es7.object.values');\nrequire('../modules/es7.object.entries');\nrequire('../modules/es7.object.define-getter');\nrequire('../modules/es7.object.define-setter');\nrequire('../modules/es7.object.lookup-getter');\nrequire('../modules/es7.object.lookup-setter');\nmodule.exports = require('../modules/_core').Object;\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\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 (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n flatten: function flatten(/* depthArg = 1 */) {\n var depthArg = arguments[0];\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n\nrequire('./_add-to-unscopables')('flatten');\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var core = module.exports = { version: '2.5.1' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\r\n/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\n\r\n/**\r\n * This file includes polyfills needed by Angular and is loaded before the app.\r\n * You can add your own extra polyfills to this file.\r\n *\r\n * This file is divided into 2 sections:\r\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\r\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\r\n * file.\r\n *\r\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\r\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\r\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\r\n *\r\n * Learn more in https://angular.io/guide/browser-support\r\n */\r\n\r\n/***************************************************************************************************\r\n * BROWSER POLYFILLS\r\n */\r\n\r\nimport '@angular/localize/init';\r\n\r\n/** IE10 and IE11 requires the following for NgClass support on SVG elements */\r\nimport 'classlist.js'; // Run `npm install --save classlist.js`.\r\n\r\n/** IE10 and IE11 requires the following to support `@angular/animation`. */\r\nimport 'web-animations-js'; // Run `npm install --save web-animations-js`.\r\n\r\n/** Evergreen browsers require these. **/\r\nimport 'core-js/es6/reflect';\r\nimport 'core-js/es7/reflect';\r\n\r\n/** ALL Firefox browsers require the following to support `@angular/animation`. **/\r\n// import 'web-animations-js'; // Run `npm install --save web-animations-js`.\r\n\r\n/***************************************************************************************************\r\n * Zone JS is required by Angular itself.\r\n */\r\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\r\n\r\n/***************************************************************************************************\r\n * APPLICATION IMPORTS\r\n */\r\n\r\n/**\r\n * Date, currency, decimal and percent pipes.\r\n * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10\r\n */\r\nimport 'core-js/es7/array';\r\nimport 'core-js/es7/object';\r\n\r\nimport 'hammerjs/hammer';\r\n\r\nif (typeof SVGElement.prototype.contains === 'undefined') {\r\n SVGElement.prototype.contains = HTMLDivElement.prototype.contains;\r\n}\r\n","module.exports = {};\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* 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","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\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","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","/**\n* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes\n* (c) 2010-2020 Google LLC. https://angular.io/\n* License: MIT\n*/\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () { 'use strict';\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n const Zone$1 = (function (global) {\n const performance = global['performance'];\n function mark(name) { performance && performance['mark'] && performance['mark'](name); }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n const symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n class Zone {\n constructor(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n static assertZonePatched() {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n }\n static get root() {\n let zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() { return _currentZoneFrame.zone; }\n static get currentTask() { return _currentTask; }\n // tslint:disable-next-line:require-internal-with-underscore\n static __load_patch(name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n const perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() { return this._parent; }\n get name() { return this._name; }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n }\n getZoneWith(key) {\n let current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n }\n fork(zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runGuarded(callback, applyThis = null, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runTask(task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n const reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n const previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n }\n scheduleTask(task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n }\n scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n }\n _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n const DELEGATE_ZS = {\n name: '',\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)\n };\n class ZoneDelegate {\n constructor(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS =\n zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt = zoneSpec &&\n (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone = zoneSpec &&\n (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n fork(targetZone, zoneSpec) {\n return this._forkZS ?\n this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n }\n invoke(targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ?\n this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n }\n handleError(targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n }\n scheduleTask(targetZone, task) {\n let returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n }\n invokeTask(targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ?\n this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n }\n cancelTask(targetZone, task) {\n let value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n }\n hasTask(targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n const isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n }\n }\n class ZoneTask {\n constructor(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n const self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n static invokeTask(task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n }\n get zone() { return this._zone; }\n get state() { return this._state; }\n cancelScheduleRequest() { this._transitionTo(notScheduled, scheduling); }\n // tslint:disable-next-line:require-internal-with-underscore\n _transitionTo(toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n }\n }\n toString() {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n }\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n toJSON() {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const symbolSetTimeout = __symbol__('setTimeout');\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n let nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (let i = 0; i < queue.length; i++) {\n const task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const NO_ZONE = { name: 'NO ZONE' };\n const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n const patches = {};\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: () => !Zone[__symbol__('ignoreConsoleErrorUncaughtError')],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n setNativePromise: (NativePromise) => {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n patchEventPrototype: () => noop,\n isIEOrEdge: () => false,\n getGlobalObjects: () => undefined,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => undefined,\n ObjectCreate: () => undefined,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop\n };\n let _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n let _currentTask = null;\n let _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n })(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n const __symbol__ = api.symbol;\n const _uncaughtPromiseErrors = [];\n const isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n const creationTrace = '__creationTrace__';\n api.onUnhandledError = (e) => {\n if (api.showUncaughtError()) {\n const rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = () => {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => { throw uncaughtPromiseError; });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) { return value && value.then; }\n function forwardResolution(value) { return value; }\n function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }\n const symbolState = __symbol__('state');\n const symbolValue = __symbol__('value');\n const symbolFinally = __symbol__('finally');\n const symbolParentPromiseValue = __symbol__('parentPromiseValue');\n const symbolParentPromiseState = __symbol__('parentPromiseState');\n const source = 'Promise.then';\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return (v) => {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n const once = function () {\n let wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n const TYPE_ERROR = 'Promise resolved with itself';\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n const onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n let then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(() => { resolvePromise(promise, false, err); })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(() => { resolvePromise(promise, false, err); })();\n }\n }\n else {\n promise[symbolState] = state;\n const queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n const trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (let i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n let uncaughtPromiseError = value;\n if (!isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // and the rejected value is an Error object,\n // use the value instead of wrapping it.\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n const handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n const promiseState = promise[symbolState];\n const delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n const noop = function () { };\n class ZoneAwarePromise {\n static toString() { return ZONE_AWARE_PROMISE_TO_STRING; }\n static resolve(value) {\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) { resolve(value); }\n function onReject(error) { reject(error); }\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) { return ZoneAwarePromise.allWithCallback(values); }\n static allSettled(values) {\n const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: (value) => ({ status: 'fulfilled', value }),\n errorCallback: (err) => ({ status: 'rejected', reason: err })\n });\n }\n static allWithCallback(values, callback) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n try {\n value.then((value) => {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, (err) => {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n constructor(executor) {\n const promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n get [Symbol.toStringTag]() { return 'Promise'; }\n get [Symbol.species]() { return ZoneAwarePromise; }\n then(onFulfilled, onRejected) {\n let C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n }\n catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n let C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n }\n }\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n const NativePromise = global[symbolPromise] = global['Promise'];\n const ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n let desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n const originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((resolve, reject) => { originalThen.call(this, resolve, reject); });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function () {\n let resultPromise = fn.apply(this, arguments);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n const fetch = global['fetch'];\n if (typeof fetch == 'function') {\n global[api.symbol('fetch')] = fetch;\n global['fetch'] = zoneify(fetch);\n }\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n });\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n /// \n // issue #989, to reduce bundle size, use short name\n /** Object.getOwnPropertyDescriptor */\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n /** Object.defineProperty */\n const ObjectDefineProperty = Object.defineProperty;\n /** Object.getPrototypeOf */\n const ObjectGetPrototypeOf = Object.getPrototypeOf;\n /** Object.create */\n const ObjectCreate = Object.create;\n /** Array.prototype.slice */\n const ArraySlice = Array.prototype.slice;\n /** addEventListener string const */\n const ADD_EVENT_LISTENER_STR = 'addEventListener';\n /** removeEventListener string const */\n const REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n /** zoneSymbol addEventListener */\n const ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n /** zoneSymbol removeEventListener */\n const ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n /** true string const */\n const TRUE_STR = 'true';\n /** false string const */\n const FALSE_STR = 'false';\n /** Zone symbol prefix string const. */\n const ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\n function wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n }\n function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n }\n const zoneSymbol = Zone.__symbol__;\n const isWindowExists = typeof window !== 'undefined';\n const internalWindow = isWindowExists ? window : undefined;\n const _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\n const REMOVE_ATTRIBUTE = 'removeAttribute';\n const NULL_ON_PROP_VALUE = [null];\n function bindArguments(args, source) {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n }\n function patchPrototype(prototype, fnNames) {\n const source = prototype.constructor['name'];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = ((delegate) => {\n const patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n }\n }\n function isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n }\n const isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n const isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\n const isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n // we are in electron of nw, so we are both browser and nodejs\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n const isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\n const zoneSymbolEventNames = {};\n const wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n let eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n const errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n };\n function patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n const eventName = prop.substr(2);\n let eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n let previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n let value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n }\n function patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n }\n const originalInstanceKey = zoneSymbol('originalInstance');\n // wrap some native API on `window`\n function patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n const a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n const instance = new OriginalClass(function () { });\n let prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () { return this[originalInstanceKey][prop]; }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n }\n function copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n const symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach((symbol) => {\n const desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () { return src[symbol]; },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n }\n let shouldCopySymbolProperties = false;\n function patchMethod(target, name, patchFn) {\n let proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n const delegateName = zoneSymbol(name);\n let delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function () { return patchDelegate(this, arguments); };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n }\n // TODO: @JiaLiPassion, support cancel task later if necessary\n function patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const data = task.data;\n data.args[data.cbIdx] = function () { task.invoke.apply(this, arguments); };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, (delegate) => function (self, args) {\n const meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n });\n }\n function attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n }\n let isDetectedIEOrEdge = false;\n let ieOrEdge = false;\n function isIE() {\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n }\n function isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // override Function.prototype.toString to make zone.js patched function\n // look like native function\n Zone.__load_patch('toString', (global) => {\n // patch Func.prototype.toString to let them look like native\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n const PROMISE_SYMBOL = zoneSymbol('Promise');\n const ERROR_SYMBOL = zoneSymbol('Error');\n const newFunctionToString = function toString() {\n if (typeof this === 'function') {\n const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n const nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n const originalObjectToString = Object.prototype.toString;\n const PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n });\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n let passiveSupported = false;\n if (typeof window !== 'undefined') {\n try {\n const options = Object.defineProperty({}, 'passive', { get: function () { passiveSupported = true; } });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n }\n // an identifier to tell ZoneTask do not create a new invoke closure\n const OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n };\n const zoneSymbolEventNames$1 = {};\n const globalSources = {};\n const EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\n const IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\n function prepareEventNames(eventName, eventNameToString) {\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n function patchEventTarget(_global, apis, patchOptions) {\n const ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n const PREPEND_EVENT_LISTENER = 'prependListener';\n const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n const invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n const delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = (event) => delegate.handleEvent(event);\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n const options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n const delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n const globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = this || event.target || _global;\n const tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n const globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = this || event.target || _global;\n const tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n const validateHandler = patchOptions && patchOptions.vh;\n let checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n let returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n let proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n const eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n const taskData = {};\n const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n let nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n const customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n const customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n const symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n const customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function (task, delegate) {\n const typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n const compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n const blackListedEvents = Zone[zoneSymbol('BLACK_LISTED_EVENTS')];\n const passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {\n return function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n let delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n let isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n const passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n const options = buildEventListenerOptions(arguments[2], passive);\n if (blackListedEvents) {\n // check black list\n for (let i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const once = options && typeof options === 'object' ? options.once : false;\n const zone = Zone.current;\n let symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames$1[eventName];\n }\n const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (let i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n let source;\n const constructorName = target.constructor['name'];\n const targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const options = arguments[2];\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n const symbolEventNames = zoneSymbolEventNames$1[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n const onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n }\n function findEventTasks(target, eventName) {\n if (!eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n let symbolEventName = zoneSymbolEventNames$1[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames$1[eventName];\n }\n const captureFalseTasks = target[symbolEventName[FALSE_STR]];\n const captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n }\n function patchEventPrototype(global, api) {\n const Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', (delegate) => function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n });\n }\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n const globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n ];\n const documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n ];\n const windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplayconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n ];\n const htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n ];\n const mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\n const ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n ];\n const webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\n const formEventNames = ['autocomplete', 'autocompleteerror'];\n const detailEventNames = ['toggle'];\n const frameEventNames = ['load'];\n const frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\n const marqueeEventNames = ['bounce', 'finish', 'start'];\n const XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n ];\n const IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\n const websocketEventNames = ['close', 'error', 'open', 'message'];\n const workerEventNames = ['error', 'message'];\n const eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\n function filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter(ip => ip.target === target);\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1);\n }\n function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n }\n function propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n const supportsWebSocket = typeof WebSocket !== 'undefined';\n const ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n const internalWindow = window;\n const ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n const HTMLMarqueeElement = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement) {\n patchFilteredProperties(HTMLMarqueeElement.prototype, marqueeEventNames, ignoreProperties);\n }\n const Worker = internalWindow['Worker'];\n if (Worker) {\n patchFilteredProperties(Worker.prototype, workerEventNames, ignoreProperties);\n }\n }\n const XMLHttpRequest = _global['XMLHttpRequest'];\n if (XMLHttpRequest) {\n // XMLHttpRequest is not available in ServiceWorker, so we need to check here\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n const XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('util', (global, Zone, api) => {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = () => ({ globalSources, zoneSymbolEventNames: zoneSymbolEventNames$1, eventNames, isBrowser, isMix, isNode, TRUE_STR,\n FALSE_STR, ZONE_SYMBOL_PREFIX, ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR });\n });\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n const taskSymbol = zoneSymbol('zoneTask');\n function patchTimer(window, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) { return clearNative(task.data.handleId); }\n setNative =\n patchMethod(window, setName, (delegate) => function (self, args) {\n if (typeof args[0] === 'function') {\n const options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n const handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n });\n clearNative =\n patchMethod(window, cancelName, (delegate) => function (self, args) {\n const id = args[0];\n let task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n });\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCustomElements(_global, api) {\n const { isBrowser, isMix } = api.getGlobalObjects();\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n const { eventNames, zoneSymbolEventNames, TRUE_STR, FALSE_STR, ZONE_SYMBOL_PREFIX } = api.getGlobalObjects();\n // predefine all __zone_symbol__ + eventName + true/false string\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR;\n const trueEventName = eventName + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n const EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n }\n function patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('legacy', (global) => {\n const legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('timers', (global) => {\n const set = 'set';\n const clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n });\n Zone.__load_patch('requestAnimationFrame', (global) => {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', (global, Zone) => {\n const blockingMethods = ['alert', 'prompt', 'confirm'];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global, name, (delegate, symbol, name) => {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', (global, Zone, api) => {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n });\n Zone.__load_patch('on_property', (global, Zone, api) => {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', (global, Zone, api) => {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', (global, Zone) => {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n const XHR_TASK = zoneSymbol('xhrTask');\n const XHR_SYNC = zoneSymbol('xhrSync');\n const XHR_LISTENER = zoneSymbol('xhrListener');\n const XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n const XHR_URL = zoneSymbol('xhrURL');\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n const XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) { return target[XHR_TASK]; }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = 'readystatechange';\n const SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n const listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n const newListener = target[XHR_LISTENER] = () => {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n if (loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n for (let i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n const storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n const data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n });\n const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n const fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n const options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n });\n const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {\n const task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n });\n }\n });\n Zone.__load_patch('geolocation', (global) => {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', (global, Zone) => {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n const eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(eventTask => {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n const PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n const evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n });\n\n})));\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\nvar getPrototypeOf = require('./_object-gpo');\nvar getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n } while (O = getPrototypeOf(O));\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($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++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = require('./_is-array');\nvar isObject = require('./_is-object');\nvar toLength = require('./_to-length');\nvar ctx = require('./_ctx');\nvar IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n var element, spreadable;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n spreadable = false;\n if (isObject(element)) {\n spreadable = element[IS_CONCAT_SPREADABLE];\n spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n }\n\n if (spreadable && depth > 0) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\n","'use strict';\n// Forced replacement prototype accessors methods\nmodule.exports = require('./_library') || !require('./_fails')(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete require('./_global')[K];\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) 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 ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n"]}