{"version":3,"sources":["webpack:///./node_modules/vue-unity-webgl/vue-unity-webgl.js","webpack:///./src/views/jogos/Jogos.vue?b43d","webpack:///src/views/jogos/Jogos.vue","webpack:///./src/views/jogos/Jogos.vue?0b1a","webpack:///./src/views/jogos/Jogos.vue"],"names":["module","exports","factory","this","_typeof","Symbol","iterator","obj","constructor","prototype","isUndef","v","undefined","isDef","isTrue","isFalse","isPrimitive","value","isObject","_toString","Object","toString","isPlainObject","call","isRegExp","isValidArrayIndex","val","n","parseFloat","String","Math","floor","isFinite","JSON","stringify","toNumber","isNaN","makeMap","str","expectsLowerCase","map","create","list","split","i","length","toLowerCase","isReservedAttribute","remove","arr","item","index","indexOf","splice","hasOwnProperty","hasOwn","key","cached","fn","cache","hit","camelizeRE","camelize","replace","_","c","toUpperCase","capitalize","charAt","slice","hyphenateRE","hyphenate","bind","ctx","boundFn","a","l","arguments","apply","_length","toArray","start","ret","Array","extend","to","_from","toObject","res","noop","b","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArray","isArrayB","every","e","keysA","keys","keysB","looseIndexOf","once","called","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","emptyObject","freeze","isReserved","charCodeAt","def","enumerable","defineProperty","writable","configurable","bailRE","parsePath","path","test","segments","_isServer","hasProto","inBrowser","window","UA","navigator","userAgent","isIE","isIE9","isEdge","isAndroid","isIOS","nativeWatch","watch","supportsPassive","opts","get","addEventListener","isServerRendering","global","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","set","has","add","clear","warn","uid$1","Dep","id","subs","addSub","sub","push","removeSub","depend","target","addDep","notify","update","targetStack","pushTarget","_target","popTarget","pop","VNode","tag","data","children","text","elm","context","componentOptions","asyncFactory","ns","functionalContext","functionalOptions","functionalScopeId","componentInstance","parent","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","deep","cloned","cloneVNodes","vnodes","len","arrayProto","arrayMethods","forEach","method","original","args","inserted","result","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","observerState","shouldConvert","Observer","vmCount","augment","protoAugment","copyAugment","walk","src","__proto__","observe","asRootData","isExtensible","_isVue","defineReactive","customSetter","shallow","property","getOwnPropertyDescriptor","getter","setter","childOb","dependArray","newVal","max","del","items","strats","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","concat","mergeAssets","hook","type","key$1","props","methods","inject","computed","provide","defaultStrat","normalizeProps","options","name","normalizeInject","normalized","normalizeDirectives","dirs","directives","mergeOptions","extendsFrom","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","prop","absent","isType","Boolean","getPropDefaultValue","prevShouldConvert","default","$options","_props","getType","match","handleError","err","info","cur","$parent","hooks","errorCaptured","capture","globalHandleError","logError","console","error","microTimerFunc","macroTimerFunc","callbacks","pending","flushCallbacks","copies","useMacroTask","setImmediate","MessageChannel","setTimeout","channel","port","port2","port1","onmessage","postMessage","Promise","p","resolve","then","withMacroTask","_withTask","nextTick","cb","_resolve","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","old","event","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","attrs","altKey","checkProp","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","last","shift","_isVList","ensureCtor","comp","base","__esModule","toStringTag","createAsyncPlaceholder","resolveAsyncComponent","baseCtor","errorComp","resolved","loading","loadingComp","contexts","sync","forceRender","$forceUpdate","reject","reason","component","delay","timeout","getFirstComponentChild","initEvents","_events","_hasHookEvent","listeners","_parentListeners","updateComponentListeners","$once","$on","remove$1","$off","oldListeners","eventsMixin","Vue","hookRE","this$1","cbs","i$1","$emit","resolveSlots","slots","defaultSlot","slot","isWhitespace","resolveScopedSlots","activeInstance","initLifecycle","abstract","$children","$root","$refs","_watcher","_inactive","_directInactive","_isMounted","_isDestroyed","_isBeingDestroyed","lifecycleMixin","_update","hydrating","callHook","prevEl","$el","prevVnode","_vnode","prevActiveInstance","__patch__","_parentElm","_refElm","__vue__","$vnode","$destroy","teardown","_watchers","_data","mountComponent","el","updateComponent","render","_render","Watcher","updateChildComponent","parentVnode","renderChildren","hasChildren","_renderChildren","scopedSlots","$scopedSlots","_parentVnode","$attrs","$listeners","propKeys","_propKeys","$slots","isInInactiveTree","activateChildComponent","direct","deactivateChildComponent","handlers","j","queue","activatedChildren","waiting","flushing","resetSchedulerState","flushSchedulerQueue","watcher","sort","run","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","emit","queueActivatedComponent","queueWatcher","uid$2","expOrFn","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","traverse","cleanupDeps","tmp","oldValue","evaluate","seenObjects","_traverse","seen","isA","depId","sharedPropertyDefinition","proxy","sourceKey","initState","initProps","initMethods","initData","initComputed","initWatch","propsOptions","isRoot","loop","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","handler","createWatcher","keyOrFn","$watch","stateMixin","dataDef","propsDef","$set","$delete","immediate","initProvide","_provided","initInjections","resolveInject","filter","provideKey","source","provideDefault","renderList","renderSlot","fallback","bindObject","scopedSlotFn","slotNodes","resolveFilter","checkKeyCodes","eventKeyCode","builtInAlias","eventKeyName","bindObjectProps","asProp","isSync","domProps","$event","renderStatic","isInFor","renderFns","staticRenderFns","tree","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","existing","ours","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","FunctionalRenderContext","injections","contextVm","isCompiled","_compiled","needNormalization","_scopeId","_c","d","createElement","createFunctionalComponent","mergeProps","renderContext","componentVNodeHooks","init","parentElm","refElm","createComponentInstanceForVnode","$mount","keepAlive","mountedNode","prepatch","oldVnode","insert","destroy","hooksToMerge","createComponent","_base","cid","resolveConstructorOptions","model","transformModel","functional","nativeOn","mergeHooks","vnodeComponentOptions","_isComponent","_componentTag","inlineTemplate","fromParent","mergeHook$1","one","two","callback","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","is","applyNS","force","initRender","$createElement","parentData","renderMixin","$nextTick","ref","_rendered","uid","initMixin","_init","_uid","initInternalComponent","_self","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","extended","sealed","sealedOptions","dedupe","Vue$3","initUse","use","plugin","installedPlugins","_installedPlugins","unshift","install","initMixin$1","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","matches","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","patternTypes","RegExp","KeepAlive","include","exclude","Number","created","destroyed","parseInt","builtInComponents","initGlobalAPI","configDef","util","delete","ssrContext","version","acceptValue","attr","isEnumeratedAttr","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","parentNode","childNode","mergeClassData","renderClass","staticClass","class","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","document","HTMLUnknownElement","HTMLElement","isTextInputType","query","selected","querySelector","createElement$1","tagName","multiple","setAttribute","createElementNS","namespace","createTextNode","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","nodeOps","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","modules","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","nested","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","end","hydrate","postpatch","invokeInsertHook","initial","isRenderedModule","hasChildNodes","innerHTML","childrenMatch","firstChild","isInitialPatch","isRealElement","nodeType","hasAttribute","removeAttribute","oldElm","parentElm$1","_leaveCb","patchable","i$2","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","join","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","setAttributeNS","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","change","createOnceHandler","onceHandler","remove$2","add$1","removeEventListener","updateDOMListeners","events","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isDirty","isInputChanged","notInFocus","activeElement","_vModifiers","number","trim","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleData","style","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","s","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","trigger","model$1","binding","setSelected","_vOptions","getValue","onCompositionEnd","onCompositionStart","prevOptions","curOptions","some","o","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","createEvent","initEvent","dispatchEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","platformDirectives","transitionProps","mode","getRealChild","compOptions","extractTransitionData","placeholder","h","rawChild","hasParentTransition","isSameChild","oldChild","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","prevChildren","rawChildren","transitionData","kept","removed","c$1","pos","getBoundingClientRect","beforeUpdate","updated","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","body","offsetHeight","moved","transform","WebkitTransform","transitionDuration","_moveCb","propertyName","_hasMove","clone","cloneNode","newPos","oldPos","dx","left","dy","top","platformComponents","unity$1","_vm","_h","width","height","loaded","progress","hideFooter","preventDefault","fullscreen","gameInstance","SetFullscreen","message","gameObject","param","SendMessage","beforeMount","_this","eventBus","ready","load","UnityLoader","unityLoader","script","onload","mounted","_this2","instantiate","_error","params","externalProgress","onProgress","UnityProgress","Module","swiperOptions","$store","state","appConfig","isRTL","Swiper","SwiperSlide","PacienteCard","AgendaCard","BCard","BRow","BCol","Unity","tipo","profissional","horario","paciente","firstName","lastName","days","percent","better"],"mappings":"sGAAA,2BACgEA,EAAOC,QAAUC,KADjF,CAIEC,GAAM,WAAe,aAEvB,IAAIC,EAA4B,oBAAXC,QAAoD,kBAApBA,OAAOC,SAAwB,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXF,QAAyBE,EAAIC,cAAgBH,QAAUE,IAAQF,OAAOI,UAAY,gBAAkBF;;;;;GAWtQ,SAASG,EAAQC,GACf,YAAaC,IAAND,GAAyB,OAANA,EAG5B,SAASE,EAAMF,GACb,YAAaC,IAAND,GAAyB,OAANA,EAG5B,SAASG,EAAOH,GACd,OAAa,IAANA,EAGT,SAASI,EAAQJ,GACf,OAAa,IAANA,EAMT,SAASK,EAAYC,GACnB,MAAwB,kBAAVA,GAAuC,kBAAVA,GAAuC,mBAAVA,EAQ1E,SAASC,EAASX,GAChB,OAAe,OAARA,GAA8E,YAA9C,qBAARA,EAAsB,YAAcH,EAAQG,IAM7E,IAAIY,EAAYC,OAAOX,UAAUY,SAUjC,SAASC,EAAcf,GACrB,MAA+B,oBAAxBY,EAAUI,KAAKhB,GAGxB,SAASiB,EAASb,GAChB,MAA6B,oBAAtBQ,EAAUI,KAAKZ,GAMxB,SAASc,EAAkBC,GACzB,IAAIC,EAAIC,WAAWC,OAAOH,IAC1B,OAAOC,GAAK,GAAKG,KAAKC,MAAMJ,KAAOA,GAAKK,SAASN,GAMnD,SAASL,EAASK,GAChB,OAAc,MAAPA,EAAc,GAAmE,YAA9C,qBAARA,EAAsB,YAActB,EAAQsB,IAAqBO,KAAKC,UAAUR,EAAK,KAAM,GAAKG,OAAOH,GAO3I,SAASS,EAAST,GAChB,IAAIC,EAAIC,WAAWF,GACnB,OAAOU,MAAMT,GAAKD,EAAMC,EAO1B,SAASU,EAAQC,EAAKC,GAGpB,IAFA,IAAIC,EAAMpB,OAAOqB,OAAO,MACpBC,EAAOJ,EAAIK,MAAM,KACZC,EAAI,EAAGA,EAAIF,EAAKG,OAAQD,IAC/BJ,EAAIE,EAAKE,KAAM,EAEjB,OAAOL,EAAmB,SAAUb,GAClC,OAAOc,EAAId,EAAIoB,gBACb,SAAUpB,GACZ,OAAOc,EAAId,IAOIW,EAAQ,kBAAkB,GAA7C,IAKIU,EAAsBV,EAAQ,8BAKlC,SAASW,EAAOC,EAAKC,GACnB,GAAID,EAAIJ,OAAQ,CACd,IAAIM,EAAQF,EAAIG,QAAQF,GACxB,GAAIC,GAAS,EACX,OAAOF,EAAII,OAAOF,EAAO,IAQ/B,IAAIG,EAAiBlC,OAAOX,UAAU6C,eACtC,SAASC,EAAOhD,EAAKiD,GACnB,OAAOF,EAAe/B,KAAKhB,EAAKiD,GAMlC,SAASC,EAAOC,GACd,IAAIC,EAAQvC,OAAOqB,OAAO,MAC1B,OAAO,SAAkBH,GACvB,IAAIsB,EAAMD,EAAMrB,GAChB,OAAOsB,IAAQD,EAAMrB,GAAOoB,EAAGpB,KAOnC,IAAIuB,EAAa,SACbC,EAAWL,GAAO,SAAUnB,GAC9B,OAAOA,EAAIyB,QAAQF,GAAY,SAAUG,EAAGC,GAC1C,OAAOA,EAAIA,EAAEC,cAAgB,SAO7BC,EAAaV,GAAO,SAAUnB,GAChC,OAAOA,EAAI8B,OAAO,GAAGF,cAAgB5B,EAAI+B,MAAM,MAM7CC,EAAc,aACdC,EAAYd,GAAO,SAAUnB,GAC/B,OAAOA,EAAIyB,QAAQO,EAAa,OAAOxB,iBAMzC,SAAS0B,EAAKd,EAAIe,GAChB,SAASC,EAAQC,GACf,IAAIC,EAAIC,UAAUhC,OAClB,OAAO+B,EAAIA,EAAI,EAAIlB,EAAGoB,MAAML,EAAKI,WAAanB,EAAGnC,KAAKkD,EAAKE,GAAKjB,EAAGnC,KAAKkD,GAI1E,OADAC,EAAQK,QAAUrB,EAAGb,OACd6B,EAMT,SAASM,EAAQtC,EAAMuC,GACrBA,EAAQA,GAAS,EACjB,IAAIrC,EAAIF,EAAKG,OAASoC,EAClBC,EAAM,IAAIC,MAAMvC,GACpB,MAAOA,IACLsC,EAAItC,GAAKF,EAAKE,EAAIqC,GAEpB,OAAOC,EAMT,SAASE,EAAOC,EAAIC,GAClB,IAAK,IAAI9B,KAAO8B,EACdD,EAAG7B,GAAO8B,EAAM9B,GAElB,OAAO6B,EAMT,SAASE,EAAStC,GAEhB,IADA,IAAIuC,EAAM,GACD5C,EAAI,EAAGA,EAAIK,EAAIJ,OAAQD,IAC1BK,EAAIL,IACNwC,EAAOI,EAAKvC,EAAIL,IAGpB,OAAO4C,EAQT,SAASC,EAAKd,EAAGe,EAAGzB,IAKpB,IAAI0B,EAAK,SAAYhB,EAAGe,EAAGzB,GACzB,OAAO,GAML2B,EAAW,SAAkB5B,GAC/B,OAAOA,GAWT,SAAS6B,EAAWlB,EAAGe,GACrB,GAAIf,IAAMe,EACR,OAAO,EAET,IAAII,EAAY5E,EAASyD,GACrBoB,EAAY7E,EAASwE,GACzB,IAAII,IAAaC,EAsBV,OAAKD,IAAcC,GACjBlE,OAAO8C,KAAO9C,OAAO6D,GAtB5B,IACE,IAAIM,EAAWb,MAAMc,QAAQtB,GACzBuB,EAAWf,MAAMc,QAAQP,GAC7B,GAAIM,GAAYE,EACd,OAAOvB,EAAE9B,SAAW6C,EAAE7C,QAAU8B,EAAEwB,OAAM,SAAUC,EAAGxD,GACnD,OAAOiD,EAAWO,EAAGV,EAAE9C,OAEpB,GAAKoD,GAAaE,EAQvB,OAAO,EAPP,IAAIG,EAAQjF,OAAOkF,KAAK3B,GACpB4B,EAAQnF,OAAOkF,KAAKZ,GACxB,OAAOW,EAAMxD,SAAW0D,EAAM1D,QAAUwD,EAAMF,OAAM,SAAU3C,GAC5D,OAAOqC,EAAWlB,EAAEnB,GAAMkC,EAAElC,OAMhC,MAAO4C,GAEP,OAAO,GASb,SAASI,EAAavD,EAAKvB,GACzB,IAAK,IAAIkB,EAAI,EAAGA,EAAIK,EAAIJ,OAAQD,IAC9B,GAAIiD,EAAW5C,EAAIL,GAAIlB,GACrB,OAAOkB,EAGX,OAAQ,EAMV,SAAS6D,EAAK/C,GACZ,IAAIgD,GAAS,EACb,OAAO,WACAA,IACHA,GAAS,EACThD,EAAGoB,MAAM3E,KAAM0E,aAKrB,IAAI8B,EAAW,uBAEXC,EAAc,CAAC,YAAa,YAAa,UAEzCC,EAAkB,CAAC,eAAgB,UAAW,cAAe,UAAW,eAAgB,UAAW,gBAAiB,YAAa,YAAa,cAAe,iBAI7JC,EAAS,CAIXC,sBAAuB3F,OAAOqB,OAAO,MAKrCuE,QAAQ,EAKRC,eAAe,EAKfC,UAAU,EAKVC,aAAa,EAKbC,aAAc,KAKdC,YAAa,KAKbC,gBAAiB,GAKjBC,SAAUnG,OAAOqB,OAAO,MAMxB+E,cAAe7B,EAMf8B,eAAgB9B,EAMhB+B,iBAAkB/B,EAKlBgC,gBAAiBlC,EAKjBmC,qBAAsBhC,EAMtBiC,YAAalC,EAKbmC,gBAAiBjB,GAKfkB,EAAc3G,OAAO4G,OAAO,IAKhC,SAASC,EAAW3F,GAClB,IAAI2B,GAAK3B,EAAM,IAAI4F,WAAW,GAC9B,OAAa,KAANjE,GAAoB,KAANA,EAMvB,SAASkE,EAAI5H,EAAKiD,EAAK9B,EAAK0G,GAC1BhH,OAAOiH,eAAe9H,EAAKiD,EAAK,CAC9BvC,MAAOS,EACP0G,aAAcA,EACdE,UAAU,EACVC,cAAc,IAOlB,IAAIC,EAAS,UACb,SAASC,EAAUC,GACjB,IAAIF,EAAOG,KAAKD,GAAhB,CAGA,IAAIE,EAAWF,EAAK/F,MAAM,KAC1B,OAAO,SAAUpC,GACf,IAAK,IAAIqC,EAAI,EAAGA,EAAIgG,EAAS/F,OAAQD,IAAK,CACxC,IAAKrC,EACH,OAEFA,EAAMA,EAAIqI,EAAShG,IAErB,OAAOrC,IAOX,IA+BIsI,EA/BAC,EAAW,aAAe,GAG1BC,EAA8B,qBAAXC,OACnBC,EAAKF,GAAaC,OAAOE,UAAUC,UAAUrG,cAC7CsG,EAAOH,GAAM,eAAeN,KAAKM,GACjCI,EAAQJ,GAAMA,EAAG7F,QAAQ,YAAc,EACvCkG,EAASL,GAAMA,EAAG7F,QAAQ,SAAW,EACrCmG,EAAYN,GAAMA,EAAG7F,QAAQ,WAAa,EAC1CoG,EAAQP,GAAM,uBAAuBN,KAAKM,GAI1CQ,GAHWR,GAAM,cAAcN,KAAKM,GAGtB,GAAGS,OAEjBC,IAAkB,EACtB,GAAIZ,EACF,IACE,IAAIa,GAAO,GACXxI,OAAOiH,eAAeuB,GAAM,UAAW,CACrCC,IAAK,WAEHF,IAAkB,KAGtBX,OAAOc,iBAAiB,eAAgB,KAAMF,IAC9C,MAAOxD,KAMX,IAAI2D,GAAoB,WAWtB,YAVkBnJ,IAAdiI,IAOAA,GALGE,GAA+B,qBAAXiB,GAGuB,WAAlCA,EAAO,WAAWC,IAAIC,SAK/BrB,GAIL3B,GAAW6B,GAAaC,OAAOmB,6BAGnC,SAASC,GAASC,GAChB,MAAuB,oBAATA,GAAuB,cAAc1B,KAAK0B,EAAKhJ,YAG/D,IAEIiJ,GAFAC,GAA8B,qBAAXlK,QAA0B+J,GAAS/J,SAA8B,qBAAZmK,SAA2BJ,GAASI,QAAQC,SAMtHH,GAFiB,qBAARI,KAAuBN,GAASM,KAElCA,IAGA,WACL,SAASA,IACPvK,KAAKwK,IAAMvJ,OAAOqB,OAAO,MAY3B,OAVAiI,EAAIjK,UAAUmK,IAAM,SAAapH,GAC/B,OAAyB,IAAlBrD,KAAKwK,IAAInH,IAElBkH,EAAIjK,UAAUoK,IAAM,SAAarH,GAC/BrD,KAAKwK,IAAInH,IAAO,GAElBkH,EAAIjK,UAAUqK,MAAQ,WACpB3K,KAAKwK,IAAMvJ,OAAOqB,OAAO,OAGpBiI,EAdF,GAoBT,IAAIK,GAAOtF,EAyFPuF,GAAQ,EAMRC,GAAM,WACR9K,KAAK+K,GAAKF,KACV7K,KAAKgL,KAAO,IAGdF,GAAIxK,UAAU2K,OAAS,SAAgBC,GACrClL,KAAKgL,KAAKG,KAAKD,IAGjBJ,GAAIxK,UAAU8K,UAAY,SAAmBF,GAC3CrI,EAAO7C,KAAKgL,KAAME,IAGpBJ,GAAIxK,UAAU+K,OAAS,WACjBP,GAAIQ,QACNR,GAAIQ,OAAOC,OAAOvL,OAItB8K,GAAIxK,UAAUkL,OAAS,WAGrB,IADA,IAAIR,EAAOhL,KAAKgL,KAAK9G,QACZzB,EAAI,EAAGgC,EAAIuG,EAAKtI,OAAQD,EAAIgC,EAAGhC,IACtCuI,EAAKvI,GAAGgJ,UAOZX,GAAIQ,OAAS,KACb,IAAII,GAAc,GAElB,SAASC,GAAWC,GACdd,GAAIQ,QACNI,GAAYP,KAAKL,GAAIQ,QAEvBR,GAAIQ,OAASM,EAGf,SAASC,KACPf,GAAIQ,OAASI,GAAYI,MAK3B,IAAIC,GAAQ,SAAeC,EAAKC,EAAMC,EAAUC,EAAMC,EAAKC,EAASC,EAAkBC,GACpFvM,KAAKgM,IAAMA,EACXhM,KAAKiM,KAAOA,EACZjM,KAAKkM,SAAWA,EAChBlM,KAAKmM,KAAOA,EACZnM,KAAKoM,IAAMA,EACXpM,KAAKwM,QAAK/L,EACVT,KAAKqM,QAAUA,EACfrM,KAAKyM,uBAAoBhM,EACzBT,KAAK0M,uBAAoBjM,EACzBT,KAAK2M,uBAAoBlM,EACzBT,KAAKqD,IAAM4I,GAAQA,EAAK5I,IACxBrD,KAAKsM,iBAAmBA,EACxBtM,KAAK4M,uBAAoBnM,EACzBT,KAAK6M,YAASpM,EACdT,KAAK8M,KAAM,EACX9M,KAAK+M,UAAW,EAChB/M,KAAKgN,cAAe,EACpBhN,KAAKiN,WAAY,EACjBjN,KAAKkN,UAAW,EAChBlN,KAAKmN,QAAS,EACdnN,KAAKuM,aAAeA,EACpBvM,KAAKoN,eAAY3M,EACjBT,KAAKqN,oBAAqB,GAGxBC,GAAqB,CAAEC,MAAO,CAAEnF,cAAc,IAIlDkF,GAAmBC,MAAM7D,IAAM,WAC7B,OAAO1J,KAAK4M,mBAGd3L,OAAOuM,iBAAiBzB,GAAMzL,UAAWgN,IAEzC,IAAIG,GAAmB,SAA0BtB,QAClC,IAATA,IAAiBA,EAAO,IAE5B,IAAIuB,EAAO,IAAI3B,GAGf,OAFA2B,EAAKvB,KAAOA,EACZuB,EAAKT,WAAY,EACVS,GAGT,SAASC,GAAgBpM,GACvB,OAAO,IAAIwK,QAAMtL,OAAWA,OAAWA,EAAWiB,OAAOH,IAO3D,SAASqM,GAAWC,EAAOC,GACzB,IAAIC,EAAS,IAAIhC,GAAM8B,EAAM7B,IAAK6B,EAAM5B,KAAM4B,EAAM3B,SAAU2B,EAAM1B,KAAM0B,EAAMzB,IAAKyB,EAAMxB,QAASwB,EAAMvB,iBAAkBuB,EAAMtB,cASlI,OARAwB,EAAOvB,GAAKqB,EAAMrB,GAClBuB,EAAOhB,SAAWc,EAAMd,SACxBgB,EAAO1K,IAAMwK,EAAMxK,IACnB0K,EAAOd,UAAYY,EAAMZ,UACzBc,EAAOb,UAAW,EACdY,GAAQD,EAAM3B,WAChB6B,EAAO7B,SAAW8B,GAAYH,EAAM3B,WAE/B6B,EAGT,SAASC,GAAYC,EAAQH,GAG3B,IAFA,IAAII,EAAMD,EAAOvL,OACb2C,EAAM,IAAIL,MAAMkJ,GACXzL,EAAI,EAAGA,EAAIyL,EAAKzL,IACvB4C,EAAI5C,GAAKmL,GAAWK,EAAOxL,GAAIqL,GAEjC,OAAOzI,EAQT,IAAI8I,GAAanJ,MAAM1E,UACnB8N,GAAenN,OAAOqB,OAAO6L,IAAY,CAAC,OAAQ,MAAO,QAAS,UAAW,SAAU,OAAQ,WAAWE,SAAQ,SAAUC,GAE9H,IAAIC,EAAWJ,GAAWG,GAC1BtG,EAAIoG,GAAcE,GAAQ,WACxB,IAAIE,EAAO,GACPN,EAAMxJ,UAAUhC,OACpB,MAAOwL,IACLM,EAAKN,GAAOxJ,UAAUwJ,GACvB,IAEGO,EAFCC,EAASH,EAAS5J,MAAM3E,KAAMwO,GAC/BG,EAAK3O,KAAK4O,OAEd,OAAQN,GACN,IAAK,OACL,IAAK,UACHG,EAAWD,EACX,MACF,IAAK,SACHC,EAAWD,EAAKtK,MAAM,GACtB,MAOJ,OALIuK,GACFE,EAAGE,aAAaJ,GAGlBE,EAAGG,IAAItD,SACAkD,QAMX,IAAIK,GAAY9N,OAAO+N,oBAAoBZ,IAQvCa,GAAgB,CAClBC,eAAe,GASbC,GAAW,SAAkBrO,GAK/B,GAJAd,KAAKc,MAAQA,EACbd,KAAK8O,IAAM,IAAIhE,GACf9K,KAAKoP,QAAU,EACfpH,EAAIlH,EAAO,SAAUd,MACjBgF,MAAMc,QAAQhF,GAAQ,CACxB,IAAIuO,EAAU1G,EAAW2G,GAAeC,GACxCF,EAAQvO,EAAOsN,GAAcW,IAC7B/O,KAAK6O,aAAa/N,QAElBd,KAAKwP,KAAK1O,IA+Bd,SAASwO,GAAahE,EAAQmE,EAAKtJ,GAEjCmF,EAAOoE,UAAYD,EASrB,SAASF,GAAYjE,EAAQmE,EAAKtJ,GAChC,IAAK,IAAI1D,EAAI,EAAGgC,EAAI0B,EAAKzD,OAAQD,EAAIgC,EAAGhC,IAAK,CAC3C,IAAIY,EAAM8C,EAAK1D,GACfuF,EAAIsD,EAAQjI,EAAKoM,EAAIpM,KASzB,SAASsM,GAAQ7O,EAAO8O,GAItB,IAAIjB,EAHJ,GAAK5N,EAASD,MAAUA,aAAiBiL,IAYzC,OARI3I,EAAOtC,EAAO,WAAaA,EAAM8N,kBAAkBO,GACrDR,EAAK7N,EAAM8N,OACFK,GAAcC,gBAAkBtF,OAAwB5E,MAAMc,QAAQhF,IAAUK,EAAcL,KAAWG,OAAO4O,aAAa/O,KAAWA,EAAMgP,SACvJnB,EAAK,IAAIQ,GAASrO,IAEhB8O,GAAcjB,GAChBA,EAAGS,UAEET,EAMT,SAASoB,GAAe3P,EAAKiD,EAAK9B,EAAKyO,EAAcC,GACnD,IAAInB,EAAM,IAAIhE,GAEVoF,EAAWjP,OAAOkP,yBAAyB/P,EAAKiD,GACpD,IAAI6M,IAAsC,IAA1BA,EAAS9H,aAAzB,CAKA,IAAIgI,EAASF,GAAYA,EAASxG,IAC9B2G,EAASH,GAAYA,EAAS1F,IAE9B8F,GAAWL,GAAWN,GAAQpO,GAClCN,OAAOiH,eAAe9H,EAAKiD,EAAK,CAC9B4E,YAAY,EACZG,cAAc,EACdsB,IAAK,WACH,IAAI5I,EAAQsP,EAASA,EAAOhP,KAAKhB,GAAOmB,EAUxC,OATIuJ,GAAIQ,SACNwD,EAAIzD,SACAiF,IACFA,EAAQxB,IAAIzD,SACRrG,MAAMc,QAAQhF,IAChByP,GAAYzP,KAIXA,GAET0J,IAAK,SAAwBgG,GAC3B,IAAI1P,EAAQsP,EAASA,EAAOhP,KAAKhB,GAAOmB,EAEpCiP,IAAW1P,GAAS0P,IAAWA,GAAU1P,IAAUA,IAOnDuP,EACFA,EAAOjP,KAAKhB,EAAKoQ,GAEjBjP,EAAMiP,EAERF,GAAWL,GAAWN,GAAQa,GAC9B1B,EAAItD,cAUV,SAAShB,GAAIc,EAAQjI,EAAK9B,GACxB,GAAIyD,MAAMc,QAAQwF,IAAWhK,EAAkB+B,GAG7C,OAFAiI,EAAO5I,OAASf,KAAK8O,IAAInF,EAAO5I,OAAQW,GACxCiI,EAAOpI,OAAOG,EAAK,EAAG9B,GACfA,EAET,GAAI6B,EAAOkI,EAAQjI,GAEjB,OADAiI,EAAOjI,GAAO9B,EACPA,EAET,IAAIoN,EAAKrD,EAAOsD,OAChB,OAAItD,EAAOwE,QAAUnB,GAAMA,EAAGS,QAErB7N,EAEJoN,GAILoB,GAAepB,EAAG7N,MAAOuC,EAAK9B,GAC9BoN,EAAGG,IAAItD,SACAjK,IALL+J,EAAOjI,GAAO9B,EACPA,GAUX,SAASmP,GAAIpF,EAAQjI,GACnB,GAAI2B,MAAMc,QAAQwF,IAAWhK,EAAkB+B,GAC7CiI,EAAOpI,OAAOG,EAAK,OADrB,CAIA,IAAIsL,EAAKrD,EAAOsD,OACZtD,EAAOwE,QAAUnB,GAAMA,EAAGS,SAIzBhM,EAAOkI,EAAQjI,YAGbiI,EAAOjI,GACTsL,GAGLA,EAAGG,IAAItD,WAOT,SAAS+E,GAAYzP,GACnB,IAAK,IAAImF,OAAI,EAAQxD,EAAI,EAAGgC,EAAI3D,EAAM4B,OAAQD,EAAIgC,EAAGhC,IACnDwD,EAAInF,EAAM2B,GACVwD,GAAKA,EAAE2I,QAAU3I,EAAE2I,OAAOE,IAAIzD,SAC1BrG,MAAMc,QAAQG,IAChBsK,GAAYtK,GA/KlBkJ,GAAS7O,UAAUkP,KAAO,SAAcpP,GAEtC,IADA,IAAI+F,EAAOlF,OAAOkF,KAAK/F,GACdqC,EAAI,EAAGA,EAAI0D,EAAKzD,OAAQD,IAC/BsN,GAAe3P,EAAK+F,EAAK1D,GAAIrC,EAAI+F,EAAK1D,MAO1C0M,GAAS7O,UAAUuO,aAAe,SAAsB8B,GACtD,IAAK,IAAIlO,EAAI,EAAGgC,EAAIkM,EAAMjO,OAAQD,EAAIgC,EAAGhC,IACvCkN,GAAQgB,EAAMlO,KA+KlB,IAAImO,GAASjK,EAAOC,sBAiBpB,SAASiK,GAAU3L,EAAI4L,GACrB,IAAKA,EACH,OAAO5L,EAIT,IAFA,IAAI7B,EAAK0N,EAAOC,EACZ7K,EAAOlF,OAAOkF,KAAK2K,GACdrO,EAAI,EAAGA,EAAI0D,EAAKzD,OAAQD,IAC/BY,EAAM8C,EAAK1D,GACXsO,EAAQ7L,EAAG7B,GACX2N,EAAUF,EAAKzN,GACVD,EAAO8B,EAAI7B,GAELlC,EAAc4P,IAAU5P,EAAc6P,IAC/CH,GAAUE,EAAOC,GAFjBxG,GAAItF,EAAI7B,EAAK2N,GAKjB,OAAO9L,EAMT,SAAS+L,GAAcC,EAAWC,EAAUC,GAC1C,OAAKA,EAgBMF,GAAaC,EACf,WAEL,IAAIE,EAAmC,oBAAbF,EAA0BA,EAAS/P,KAAKgQ,GAAMD,EACpEG,EAAmC,oBAAdJ,EAA2BA,EAAU9P,KAAKgQ,GAAMF,EACzE,OAAIG,EACKR,GAAUQ,EAAcC,GAExBA,QARN,EAdAH,EAGAD,EAQE,WACL,OAAOL,GAA8B,oBAAbM,EAA0BA,EAAS/P,KAAKpB,MAAQmR,EAA+B,oBAAdD,EAA2BA,EAAU9P,KAAKpB,MAAQkR,IARpIC,EAHAD,EA2Cb,SAASK,GAAUL,EAAWC,GAC5B,OAAOA,EAAWD,EAAYA,EAAUM,OAAOL,GAAYnM,MAAMc,QAAQqL,GAAYA,EAAW,CAACA,GAAYD,EAc/G,SAASO,GAAYP,EAAWC,EAAUC,EAAI/N,GAC5C,IAAIgC,EAAMpE,OAAOqB,OAAO4O,GAAa,MACrC,OAAIC,EAEKlM,EAAOI,EAAK8L,GAEZ9L,EArCXuL,GAAO3E,KAAO,SAAUiF,EAAWC,EAAUC,GAC3C,OAAKA,EASEH,GAAcC,EAAWC,EAAUC,GARpCD,GAAgC,oBAAbA,EAGdD,EAEFD,GAAc7P,KAAKpB,KAAMkR,EAAWC,IAa/CzK,EAAgB2H,SAAQ,SAAUqD,GAChCd,GAAOc,GAAQH,MAoBjB9K,EAAY4H,SAAQ,SAAUsD,GAC5Bf,GAAOe,EAAO,KAAOF,MASvBb,GAAOrH,MAAQ,SAAU2H,EAAWC,EAAUC,EAAI/N,GAShD,GAPI6N,IAAc5H,IAChB4H,OAAYzQ,GAEV0Q,IAAa7H,IACf6H,OAAW1Q,IAGR0Q,EACH,OAAOlQ,OAAOqB,OAAO4O,GAAa,MAKpC,IAAKA,EACH,OAAOC,EAET,IAAIpM,EAAM,GAEV,IAAK,IAAI6M,KADT3M,EAAOF,EAAKmM,GACMC,EAAU,CAC1B,IAAItE,EAAS9H,EAAI6M,GACbrE,EAAQ4D,EAASS,GACjB/E,IAAW7H,MAAMc,QAAQ+G,KAC3BA,EAAS,CAACA,IAEZ9H,EAAI6M,GAAS/E,EAASA,EAAO2E,OAAOjE,GAASvI,MAAMc,QAAQyH,GAASA,EAAQ,CAACA,GAE/E,OAAOxI,GAMT6L,GAAOiB,MAAQjB,GAAOkB,QAAUlB,GAAOmB,OAASnB,GAAOoB,SAAW,SAAUd,EAAWC,EAAUC,EAAI/N,GAInG,IAAK6N,EACH,OAAOC,EAET,IAAIpM,EAAM9D,OAAOqB,OAAO,MAKxB,OAJA2C,EAAOF,EAAKmM,GACRC,GACFlM,EAAOF,EAAKoM,GAEPpM,GAET6L,GAAOqB,QAAUhB,GAKjB,IAAIiB,GAAe,SAAsBhB,EAAWC,GAClD,YAAoB1Q,IAAb0Q,EAAyBD,EAAYC,GAmB9C,SAASgB,GAAeC,EAAShB,GAC/B,IAAIS,EAAQO,EAAQP,MACpB,GAAKA,EAAL,CAGA,IACIpP,EAAGlB,EAAK8Q,EADRhN,EAAM,GAEV,GAAIL,MAAMc,QAAQ+L,GAAQ,CACxBpP,EAAIoP,EAAMnP,OACV,MAAOD,IACLlB,EAAMsQ,EAAMpP,GACO,kBAARlB,IACT8Q,EAAO1O,EAASpC,GAChB8D,EAAIgN,GAAQ,CAAEV,KAAM,YAKnB,GAAIxQ,EAAc0Q,GACvB,IAAK,IAAIxO,KAAOwO,EACdtQ,EAAMsQ,EAAMxO,GACZgP,EAAO1O,EAASN,GAChBgC,EAAIgN,GAAQlR,EAAcI,GAAOA,EAAM,CAAEoQ,KAAMpQ,QAExC,EAGX6Q,EAAQP,MAAQxM,GAMlB,SAASiN,GAAgBF,EAAShB,GAChC,IAAIW,EAASK,EAAQL,OACjBQ,EAAaH,EAAQL,OAAS,GAClC,GAAI/M,MAAMc,QAAQiM,GAChB,IAAK,IAAItP,EAAI,EAAGA,EAAIsP,EAAOrP,OAAQD,IACjC8P,EAAWR,EAAOtP,IAAM,CAAEqO,KAAMiB,EAAOtP,SAEpC,GAAItB,EAAc4Q,GACvB,IAAK,IAAI1O,KAAO0O,EAAQ,CACtB,IAAIxQ,EAAMwQ,EAAO1O,GACjBkP,EAAWlP,GAAOlC,EAAcI,GAAO0D,EAAO,CAAE6L,KAAMzN,GAAO9B,GAAO,CAAEuP,KAAMvP,QAErE,EAQb,SAASiR,GAAoBJ,GAC3B,IAAIK,EAAOL,EAAQM,WACnB,GAAID,EACF,IAAK,IAAIpP,KAAOoP,EAAM,CACpB,IAAIzK,EAAMyK,EAAKpP,GACI,oBAAR2E,IACTyK,EAAKpP,GAAO,CAAEgB,KAAM2D,EAAKyD,OAAQzD,KAgBzC,SAAS2K,GAAa9F,EAAQU,EAAO6D,GAKd,oBAAV7D,IACTA,EAAQA,EAAM6E,SAGhBD,GAAe5E,EAAO6D,GACtBkB,GAAgB/E,EAAO6D,GACvBoB,GAAoBjF,GACpB,IAAIqF,EAAcrF,EAAMsF,QAIxB,GAHID,IACF/F,EAAS8F,GAAa9F,EAAQ+F,EAAaxB,IAEzC7D,EAAMuF,OACR,IAAK,IAAIrQ,EAAI,EAAGgC,EAAI8I,EAAMuF,OAAOpQ,OAAQD,EAAIgC,EAAGhC,IAC9CoK,EAAS8F,GAAa9F,EAAQU,EAAMuF,OAAOrQ,GAAI2O,GAGnD,IACI/N,EADA+O,EAAU,GAEd,IAAK/O,KAAOwJ,EACVkG,EAAW1P,GAEb,IAAKA,KAAOkK,EACLnK,EAAOyJ,EAAQxJ,IAClB0P,EAAW1P,GAGf,SAAS0P,EAAW1P,GAClB,IAAI2P,EAAQpC,GAAOvN,IAAQ6O,GAC3BE,EAAQ/O,GAAO2P,EAAMnG,EAAOxJ,GAAMkK,EAAMlK,GAAM+N,EAAI/N,GAEpD,OAAO+O,EAQT,SAASa,GAAab,EAAST,EAAM5G,EAAImI,GAEvC,GAAkB,kBAAPnI,EAAX,CAGA,IAAIoI,EAASf,EAAQT,GAErB,GAAIvO,EAAO+P,EAAQpI,GACjB,OAAOoI,EAAOpI,GAEhB,IAAIqI,EAAczP,EAASoH,GAC3B,GAAI3H,EAAO+P,EAAQC,GACjB,OAAOD,EAAOC,GAEhB,IAAIC,EAAerP,EAAWoP,GAC9B,GAAIhQ,EAAO+P,EAAQE,GACjB,OAAOF,EAAOE,GAGhB,IAAIhO,EAAM8N,EAAOpI,IAAOoI,EAAOC,IAAgBD,EAAOE,GAItD,OAAOhO,GAKT,SAASiO,GAAajQ,EAAKkQ,EAAaC,EAAWpC,GACjD,IAAIqC,EAAOF,EAAYlQ,GACnBqQ,GAAUtQ,EAAOoQ,EAAWnQ,GAC5BvC,EAAQ0S,EAAUnQ,GAUtB,GARIsQ,GAAOC,QAASH,EAAK9B,QACnB+B,IAAWtQ,EAAOqQ,EAAM,WAC1B3S,GAAQ,EACE6S,GAAOjS,OAAQ+R,EAAK9B,OAAoB,KAAV7Q,GAAgBA,IAAUsD,EAAUf,KAC5EvC,GAAQ,SAIEL,IAAVK,EAAqB,CACvBA,EAAQ+S,GAAoBzC,EAAIqC,EAAMpQ,GAGtC,IAAIyQ,EAAoB7E,GAAcC,cACtCD,GAAcC,eAAgB,EAC9BS,GAAQ7O,GACRmO,GAAcC,cAAgB4E,EAKhC,OAAOhT,EAMT,SAAS+S,GAAoBzC,EAAIqC,EAAMpQ,GAErC,GAAKD,EAAOqQ,EAAM,WAAlB,CAGA,IAAIzL,EAAMyL,EAAKM,QAOf,OAAI3C,GAAMA,EAAG4C,SAASR,gBAA4C/S,IAA/B2Q,EAAG4C,SAASR,UAAUnQ,SAAyC5C,IAAnB2Q,EAAG6C,OAAO5Q,GAChF+N,EAAG6C,OAAO5Q,GAIG,oBAAR2E,GAA6C,aAAvBkM,GAAQT,EAAK9B,MAAuB3J,EAAI5G,KAAKgQ,GAAMpJ,GAqEzF,SAASkM,GAAQ3Q,GACf,IAAI4Q,EAAQ5Q,GAAMA,EAAGrC,WAAWiT,MAAM,sBACtC,OAAOA,EAAQA,EAAM,GAAK,GAG5B,SAASR,GAAOhC,EAAMpO,GACpB,IAAKyB,MAAMc,QAAQvC,GACjB,OAAO2Q,GAAQ3Q,KAAQ2Q,GAAQvC,GAEjC,IAAK,IAAIlP,EAAI,EAAGyL,EAAM3K,EAAGb,OAAQD,EAAIyL,EAAKzL,IACxC,GAAIyR,GAAQ3Q,EAAGd,MAAQyR,GAAQvC,GAC7B,OAAO,EAIX,OAAO,EAKT,SAASyC,GAAYC,EAAKjD,EAAIkD,GAC5B,GAAIlD,EAAI,CACN,IAAImD,EAAMnD,EACV,MAAOmD,EAAMA,EAAIC,QAAS,CACxB,IAAIC,EAAQF,EAAIP,SAASU,cACzB,GAAID,EACF,IAAK,IAAIhS,EAAI,EAAGA,EAAIgS,EAAM/R,OAAQD,IAChC,IACE,IAAIkS,GAAgD,IAAtCF,EAAMhS,GAAGrB,KAAKmT,EAAKF,EAAKjD,EAAIkD,GAC1C,GAAIK,EACF,OAEF,MAAO1O,IACP2O,GAAkB3O,GAAGsO,EAAK,wBAMpCK,GAAkBP,EAAKjD,EAAIkD,GAG7B,SAASM,GAAkBP,EAAKjD,EAAIkD,GAClC,GAAI3N,EAAOM,aACT,IACE,OAAON,EAAOM,aAAa7F,KAAK,KAAMiT,EAAKjD,EAAIkD,GAC/C,MAAOrO,IACP4O,GAAS5O,GAAG,KAAM,uBAGtB4O,GAASR,EAAKjD,EAAIkD,GAGpB,SAASO,GAASR,EAAKjD,EAAIkD,GAKzB,IAAI1L,GAAgC,qBAAZkM,QAGtB,MAAMT,EAFNS,QAAQC,MAAMV,GASlB,IAoBIW,GACAC,GArBAC,GAAY,GACZC,IAAU,EAEd,SAASC,KACPD,IAAU,EACV,IAAIE,EAASH,GAAUhR,MAAM,GAC7BgR,GAAUxS,OAAS,EACnB,IAAK,IAAID,EAAI,EAAGA,EAAI4S,EAAO3S,OAAQD,IACjC4S,EAAO5S,KAcX,IAAI6S,IAAe,EAOnB,GAA4B,qBAAjBC,cAAgCtL,GAASsL,cAClDN,GAAiB,WACfM,aAAaH,UAEV,GAA8B,qBAAnBI,iBAAmCvL,GAASuL,iBAEhC,uCAA9BA,eAAetU,WASb+T,GAAiB,WACfQ,WAAWL,GAAgB,QAVsC,CACnE,IAAIM,GAAU,IAAIF,eACdG,GAAOD,GAAQE,MACnBF,GAAQG,MAAMC,UAAYV,GAC1BH,GAAiB,WACfU,GAAKI,YAAY,IAWrB,GAAuB,qBAAZC,SAA2B/L,GAAS+L,SAAU,CACvD,IAAIC,GAAID,QAAQE,UAChBlB,GAAiB,WACfiB,GAAEE,KAAKf,IAMH/L,GACFoM,WAAWnQ,SAKf0P,GAAiBC,GAOnB,SAASmB,GAAc7S,GACrB,OAAOA,EAAG8S,YAAc9S,EAAG8S,UAAY,WACrCf,IAAe,EACf,IAAIjQ,EAAM9B,EAAGoB,MAAM,KAAMD,WAEzB,OADA4Q,IAAe,EACRjQ,IAIX,SAASiR,GAASC,EAAIjS,GACpB,IAAIkS,EAqBJ,GApBAtB,GAAU/J,MAAK,WACb,GAAIoL,EACF,IACEA,EAAGnV,KAAKkD,GACR,MAAO2B,IACPmO,GAAYnO,GAAG3B,EAAK,iBAEbkS,GACTA,EAASlS,MAGR6Q,KACHA,IAAU,EACNG,GACFL,KAEAD,OAICuB,GAAyB,qBAAZP,QAChB,OAAO,IAAIA,SAAQ,SAAUE,GAC3BM,EAAWN,KAyFjB,IAuWI5K,GAvWAmL,GAAiBnT,GAAO,SAAU+O,GACpC,IAAIqE,EAA6B,MAAnBrE,EAAKpO,OAAO,GAC1BoO,EAAOqE,EAAUrE,EAAKnO,MAAM,GAAKmO,EACjC,IAAIsE,EAA6B,MAAnBtE,EAAKpO,OAAO,GAC1BoO,EAAOsE,EAAUtE,EAAKnO,MAAM,GAAKmO,EACjC,IAAIsC,EAA6B,MAAnBtC,EAAKpO,OAAO,GAE1B,OADAoO,EAAOsC,EAAUtC,EAAKnO,MAAM,GAAKmO,EAC1B,CACLA,KAAMA,EACN/L,KAAMqQ,EACNhC,QAASA,EACT+B,QAASA,MAIb,SAASE,GAAgBC,GACvB,SAASC,IACP,IAAIC,EAAcrS,UAEdmS,EAAMC,EAAQD,IAClB,IAAI7R,MAAMc,QAAQ+Q,GAOhB,OAAOA,EAAIlS,MAAM,KAAMD,WALvB,IADA,IAAIqJ,EAAS8I,EAAI3S,QACRzB,EAAI,EAAGA,EAAIsL,EAAOrL,OAAQD,IACjCsL,EAAOtL,GAAGkC,MAAM,KAAMoS,GAQ5B,OADAD,EAAQD,IAAMA,EACPC,EAGT,SAASE,GAAgBC,EAAIC,EAAOxM,EAAKyM,EAAW/F,GAClD,IAAIiB,EAAMkC,EAAK6C,EAAKC,EACpB,IAAKhF,KAAQ4E,EACX1C,EAAM0C,EAAG5E,GACT+E,EAAMF,EAAM7E,GACZgF,EAAQZ,GAAepE,GACnB9R,EAAQgU,KAEDhU,EAAQ6W,IACb7W,EAAQgU,EAAIsC,OACdtC,EAAM0C,EAAG5E,GAAQuE,GAAgBrC,IAEnC7J,EAAI2M,EAAMhF,KAAMkC,EAAK8C,EAAM/Q,KAAM+Q,EAAM1C,QAAS0C,EAAMX,UAC7CnC,IAAQ6C,IACjBA,EAAIP,IAAMtC,EACV0C,EAAG5E,GAAQ+E,IAGf,IAAK/E,KAAQ6E,EACP3W,EAAQ0W,EAAG5E,MACbgF,EAAQZ,GAAepE,GACvB8E,EAAUE,EAAMhF,KAAM6E,EAAM7E,GAAOgF,EAAM1C,UAO/C,SAAS2C,GAAetP,EAAKuP,EAAS7F,GACpC,IAAIoF,EACAU,EAAUxP,EAAIuP,GAElB,SAASE,IACP/F,EAAK/M,MAAM3E,KAAM0E,WAGjB7B,EAAOiU,EAAQD,IAAKY,GAGlBlX,EAAQiX,GAEVV,EAAUF,GAAgB,CAACa,IAGvB/W,EAAM8W,EAAQX,MAAQlW,EAAO6W,EAAQE,SAEvCZ,EAAUU,EACVV,EAAQD,IAAI1L,KAAKsM,IAGjBX,EAAUF,GAAgB,CAACY,EAASC,IAIxCX,EAAQY,QAAS,EACjB1P,EAAIuP,GAAWT,EAKjB,SAASa,GAA0B1L,EAAM/B,EAAM8B,GAI7C,IAAIuH,EAAcrJ,EAAKkI,QAAQP,MAC/B,IAAItR,EAAQgT,GAAZ,CAGA,IAAIlO,EAAM,GACNuS,EAAQ3L,EAAK2L,MACb/F,EAAQ5F,EAAK4F,MACjB,GAAInR,EAAMkX,IAAUlX,EAAMmR,GACxB,IAAK,IAAIxO,KAAOkQ,EAAa,CAC3B,IAAIsE,EAASzT,EAAUf,GAOvByU,GAAUzS,EAAKwM,EAAOxO,EAAKwU,GAAQ,IAASC,GAAUzS,EAAKuS,EAAOvU,EAAKwU,GAAQ,GAGnF,OAAOxS,GAGT,SAASyS,GAAUzS,EAAK0S,EAAM1U,EAAKwU,EAAQG,GACzC,GAAItX,EAAMqX,GAAO,CACf,GAAI3U,EAAO2U,EAAM1U,GAKf,OAJAgC,EAAIhC,GAAO0U,EAAK1U,GACX2U,UACID,EAAK1U,IAEP,EACF,GAAID,EAAO2U,EAAMF,GAKtB,OAJAxS,EAAIhC,GAAO0U,EAAKF,GACXG,UACID,EAAKF,IAEP,EAGX,OAAO,EAiBT,SAASI,GAAwB/L,GAC/B,IAAK,IAAIzJ,EAAI,EAAGA,EAAIyJ,EAASxJ,OAAQD,IACnC,GAAIuC,MAAMc,QAAQoG,EAASzJ,IACzB,OAAOuC,MAAM1E,UAAUkR,OAAO7M,MAAM,GAAIuH,GAG5C,OAAOA,EAOT,SAASgM,GAAkBhM,GACzB,OAAOrL,EAAYqL,GAAY,CAACyB,GAAgBzB,IAAalH,MAAMc,QAAQoG,GAAYiM,GAAuBjM,QAAYzL,EAG5H,SAAS2X,GAAW1K,GAClB,OAAOhN,EAAMgN,IAAShN,EAAMgN,EAAKvB,OAASvL,EAAQ8M,EAAKT,WAGzD,SAASkL,GAAuBjM,EAAUmM,GACxC,IACI5V,EAAGqB,EAAGwU,EAAWC,EADjBlT,EAAM,GAEV,IAAK5C,EAAI,EAAGA,EAAIyJ,EAASxJ,OAAQD,IAC/BqB,EAAIoI,EAASzJ,GACTlC,EAAQuD,IAAmB,mBAANA,IAGzBwU,EAAYjT,EAAI3C,OAAS,EACzB6V,EAAOlT,EAAIiT,GAEPtT,MAAMc,QAAQhC,GACZA,EAAEpB,OAAS,IACboB,EAAIqU,GAAuBrU,GAAIuU,GAAe,IAAM,IAAM5V,GAEtD2V,GAAWtU,EAAE,KAAOsU,GAAWG,KACjClT,EAAIiT,GAAa3K,GAAgB4K,EAAKpM,KAAOrI,EAAE,GAAGqI,MAClDrI,EAAE0U,SAEJnT,EAAI8F,KAAKxG,MAAMU,EAAKvB,IAEbjD,EAAYiD,GACjBsU,GAAWG,GAIblT,EAAIiT,GAAa3K,GAAgB4K,EAAKpM,KAAOrI,GAC9B,KAANA,GAETuB,EAAI8F,KAAKwC,GAAgB7J,IAGvBsU,GAAWtU,IAAMsU,GAAWG,GAE9BlT,EAAIiT,GAAa3K,GAAgB4K,EAAKpM,KAAOrI,EAAEqI,OAG3CxL,EAAOuL,EAASuM,WAAa/X,EAAMoD,EAAEkI,MAAQzL,EAAQuD,EAAET,MAAQ3C,EAAM2X,KACvEvU,EAAET,IAAM,UAAYgV,EAAc,IAAM5V,EAAI,MAE9C4C,EAAI8F,KAAKrH,KAIf,OAAOuB,EAKT,SAASqT,GAAWC,EAAMC,GAIxB,OAHID,EAAKE,YAAczO,IAA0C,WAA7BuO,EAAKzY,OAAO4Y,gBAC9CH,EAAOA,EAAK5E,SAEPhT,EAAS4X,GAAQC,EAAK3T,OAAO0T,GAAQA,EAG9C,SAASI,GAAuBhZ,EAASkM,EAAMI,EAASH,EAAUF,GAChE,IAAI0B,EAAOD,KAGX,OAFAC,EAAKnB,aAAexM,EACpB2N,EAAKN,UAAY,CAAEnB,KAAMA,EAAMI,QAASA,EAASH,SAAUA,EAAUF,IAAKA,GACnE0B,EAGT,SAASsL,GAAsBjZ,EAASkZ,EAAU5M,GAChD,GAAI1L,EAAOZ,EAAQgV,QAAUrU,EAAMX,EAAQmZ,WACzC,OAAOnZ,EAAQmZ,UAGjB,GAAIxY,EAAMX,EAAQoZ,UAChB,OAAOpZ,EAAQoZ,SAGjB,GAAIxY,EAAOZ,EAAQqZ,UAAY1Y,EAAMX,EAAQsZ,aAC3C,OAAOtZ,EAAQsZ,YAGjB,IAAI3Y,EAAMX,EAAQuZ,UAGX,CACL,IAAIA,EAAWvZ,EAAQuZ,SAAW,CAACjN,GAC/BkN,GAAO,EAEPC,EAAc,WAChB,IAAK,IAAI/W,EAAI,EAAGgC,EAAI6U,EAAS5W,OAAQD,EAAIgC,EAAGhC,IAC1C6W,EAAS7W,GAAGgX,gBAIZvD,EAAU5P,GAAK,SAAUjB,GAE3BtF,EAAQoZ,SAAWT,GAAWrT,EAAK4T,GAG9BM,GACHC,OAIAE,EAASpT,GAAK,SAAUqT,GAEtBjZ,EAAMX,EAAQmZ,aAChBnZ,EAAQgV,OAAQ,EAChByE,QAIAnU,EAAMtF,EAAQmW,EAASwD,GAyC3B,OAvCI3Y,EAASsE,KACa,oBAAbA,EAAI8Q,KAET5V,EAAQR,EAAQoZ,WAClB9T,EAAI8Q,KAAKD,EAASwD,GAEXhZ,EAAM2E,EAAIuU,YAA4C,oBAAvBvU,EAAIuU,UAAUzD,OACtD9Q,EAAIuU,UAAUzD,KAAKD,EAASwD,GAExBhZ,EAAM2E,EAAI0P,SACZhV,EAAQmZ,UAAYR,GAAWrT,EAAI0P,MAAOkE,IAGxCvY,EAAM2E,EAAI+T,WACZrZ,EAAQsZ,YAAcX,GAAWrT,EAAI+T,QAASH,GAC5B,IAAd5T,EAAIwU,MACN9Z,EAAQqZ,SAAU,EAElB3D,YAAW,WACLlV,EAAQR,EAAQoZ,WAAa5Y,EAAQR,EAAQgV,SAC/ChV,EAAQqZ,SAAU,EAClBI,OAEDnU,EAAIwU,OAAS,MAIhBnZ,EAAM2E,EAAIyU,UACZrE,YAAW,WACLlV,EAAQR,EAAQoZ,WAClBO,EAAmF,QAEpFrU,EAAIyU,WAKbP,GAAO,EAEAxZ,EAAQqZ,QAAUrZ,EAAQsZ,YAActZ,EAAQoZ,SAtEvDpZ,EAAQuZ,SAASnO,KAAKkB,GA4E1B,SAASgB,GAAmBK,GAC1B,OAAOA,EAAKT,WAAaS,EAAKnB,aAKhC,SAASwN,GAAuB7N,GAC9B,GAAIlH,MAAMc,QAAQoG,GAChB,IAAK,IAAIzJ,EAAI,EAAGA,EAAIyJ,EAASxJ,OAAQD,IAAK,CACxC,IAAIqB,EAAIoI,EAASzJ,GACjB,GAAI/B,EAAMoD,KAAOpD,EAAMoD,EAAEwI,mBAAqBe,GAAmBvJ,IAC/D,OAAOA,GAUf,SAASkW,GAAW5I,GAClBA,EAAG6I,QAAUhZ,OAAOqB,OAAO,MAC3B8O,EAAG8I,eAAgB,EAEnB,IAAIC,EAAY/I,EAAG4C,SAASoG,iBACxBD,GACFE,GAAyBjJ,EAAI+I,GAMjC,SAASzP,GAAI2M,EAAO9T,EAAI+C,GAClBA,EACFgF,GAAOgP,MAAMjD,EAAO9T,GAEpB+H,GAAOiP,IAAIlD,EAAO9T,GAItB,SAASiX,GAASnD,EAAO9T,GACvB+H,GAAOmP,KAAKpD,EAAO9T,GAGrB,SAAS8W,GAAyBjJ,EAAI+I,EAAWO,GAC/CpP,GAAS8F,EACT4F,GAAgBmD,EAAWO,GAAgB,GAAIhQ,GAAK8P,GAAUpJ,GAGhE,SAASuJ,GAAYC,GACnB,IAAIC,EAAS,SACbD,EAAIta,UAAUia,IAAM,SAAUlD,EAAO9T,GACnC,IAAIuX,EAAS9a,KAEToR,EAAKpR,KACT,GAAIgF,MAAMc,QAAQuR,GAChB,IAAK,IAAI5U,EAAI,EAAGgC,EAAI4S,EAAM3U,OAAQD,EAAIgC,EAAGhC,IACvCqY,EAAOP,IAAIlD,EAAM5U,GAAIc,QAGtB6N,EAAG6I,QAAQ5C,KAAWjG,EAAG6I,QAAQ5C,GAAS,KAAKlM,KAAK5H,GAGjDsX,EAAOrS,KAAK6O,KACdjG,EAAG8I,eAAgB,GAGvB,OAAO9I,GAGTwJ,EAAIta,UAAUga,MAAQ,SAAUjD,EAAO9T,GACrC,IAAI6N,EAAKpR,KACT,SAASiX,IACP7F,EAAGqJ,KAAKpD,EAAOJ,GACf1T,EAAGoB,MAAMyM,EAAI1M,WAIf,OAFAuS,EAAG1T,GAAKA,EACR6N,EAAGmJ,IAAIlD,EAAOJ,GACP7F,GAGTwJ,EAAIta,UAAUma,KAAO,SAAUpD,EAAO9T,GACpC,IAAIuX,EAAS9a,KAEToR,EAAKpR,KAET,IAAK0E,UAAUhC,OAEb,OADA0O,EAAG6I,QAAUhZ,OAAOqB,OAAO,MACpB8O,EAGT,GAAIpM,MAAMc,QAAQuR,GAAQ,CACxB,IAAK,IAAI5U,EAAI,EAAGgC,EAAI4S,EAAM3U,OAAQD,EAAIgC,EAAGhC,IACvCqY,EAAOL,KAAKpD,EAAM5U,GAAIc,GAExB,OAAO6N,EAGT,IAAI2J,EAAM3J,EAAG6I,QAAQ5C,GACrB,IAAK0D,EACH,OAAO3J,EAET,GAAyB,IAArB1M,UAAUhC,OAEZ,OADA0O,EAAG6I,QAAQ5C,GAAS,KACbjG,EAET,GAAI7N,EAAI,CAEN,IAAIgT,EACAyE,EAAMD,EAAIrY,OACd,MAAOsY,IAEL,GADAzE,EAAKwE,EAAIC,GACLzE,IAAOhT,GAAMgT,EAAGhT,KAAOA,EAAI,CAC7BwX,EAAI7X,OAAO8X,EAAK,GAChB,OAIN,OAAO5J,GAGTwJ,EAAIta,UAAU2a,MAAQ,SAAU5D,GAC9B,IAAIjG,EAAKpR,KAOL+a,EAAM3J,EAAG6I,QAAQ5C,GACrB,GAAI0D,EAAK,CACPA,EAAMA,EAAIrY,OAAS,EAAImC,EAAQkW,GAAOA,EAEtC,IADA,IAAIvM,EAAO3J,EAAQH,UAAW,GACrBjC,EAAI,EAAGgC,EAAIsW,EAAIrY,OAAQD,EAAIgC,EAAGhC,IACrC,IACEsY,EAAItY,GAAGkC,MAAMyM,EAAI5C,GACjB,MAAOvI,IACPmO,GAAYnO,GAAGmL,EAAI,sBAAyBiG,EAAQ,MAI1D,OAAOjG,GASX,SAAS8J,GAAahP,EAAUG,GAC9B,IAAI8O,EAAQ,GACZ,IAAKjP,EACH,OAAOiP,EAGT,IADA,IAAIC,EAAc,GACT3Y,EAAI,EAAGgC,EAAIyH,EAASxJ,OAAQD,EAAIgC,EAAGhC,IAAK,CAC/C,IAAI8K,EAAQrB,EAASzJ,GACjBwJ,EAAOsB,EAAMtB,KAOjB,GALIA,GAAQA,EAAK2L,OAAS3L,EAAK2L,MAAMyD,aAC5BpP,EAAK2L,MAAMyD,KAIf9N,EAAMlB,UAAYA,GAAWkB,EAAMd,oBAAsBJ,IAAYJ,GAAqB,MAAbA,EAAKoP,KASrFD,EAAYjQ,KAAKoC,OATkF,CACnG,IAAI8E,EAAO9E,EAAMtB,KAAKoP,KAClBA,EAAOF,EAAM9I,KAAU8I,EAAM9I,GAAQ,IACvB,aAAd9E,EAAMvB,IACRqP,EAAKlQ,KAAKxG,MAAM0W,EAAM9N,EAAMrB,UAE5BmP,EAAKlQ,KAAKoC,IAUhB,OAHK6N,EAAYpV,MAAMsV,MACrBH,EAAMpH,QAAUqH,GAEXD,EAGT,SAASG,GAAa5N,GACpB,OAAOA,EAAKT,WAA2B,MAAdS,EAAKvB,KAGhC,SAASoP,GAAmB1E,EAC5BxR,GACEA,EAAMA,GAAO,GACb,IAAK,IAAI5C,EAAI,EAAGA,EAAIoU,EAAInU,OAAQD,IAC1BuC,MAAMc,QAAQ+Q,EAAIpU,IACpB8Y,GAAmB1E,EAAIpU,GAAI4C,GAE3BA,EAAIwR,EAAIpU,GAAGY,KAAOwT,EAAIpU,GAAGc,GAG7B,OAAO8B,EAKT,IAAImW,GAAiB,KAGrB,SAASC,GAAcrK,GACrB,IAAIgB,EAAUhB,EAAG4C,SAGbnH,EAASuF,EAAQvF,OACrB,GAAIA,IAAWuF,EAAQsJ,SAAU,CAC/B,MAAO7O,EAAOmH,SAAS0H,UAAY7O,EAAO2H,QACxC3H,EAASA,EAAO2H,QAElB3H,EAAO8O,UAAUxQ,KAAKiG,GAGxBA,EAAGoD,QAAU3H,EACbuE,EAAGwK,MAAQ/O,EAASA,EAAO+O,MAAQxK,EAEnCA,EAAGuK,UAAY,GACfvK,EAAGyK,MAAQ,GAEXzK,EAAG0K,SAAW,KACd1K,EAAG2K,UAAY,KACf3K,EAAG4K,iBAAkB,EACrB5K,EAAG6K,YAAa,EAChB7K,EAAG8K,cAAe,EAClB9K,EAAG+K,mBAAoB,EAGzB,SAASC,GAAexB,GACtBA,EAAIta,UAAU+b,QAAU,SAAUxO,EAAOyO,GACvC,IAAIlL,EAAKpR,KACLoR,EAAG6K,YACLM,GAASnL,EAAI,gBAEf,IAAIoL,EAASpL,EAAGqL,IACZC,EAAYtL,EAAGuL,OACfC,EAAqBpB,GACzBA,GAAiBpK,EACjBA,EAAGuL,OAAS9O,EAGP6O,EASHtL,EAAGqL,IAAMrL,EAAGyL,UAAUH,EAAW7O,IAPjCuD,EAAGqL,IAAMrL,EAAGyL,UAAUzL,EAAGqL,IAAK5O,EAAOyO,GAAW,EAC9ClL,EAAG4C,SAAS8I,WAAY1L,EAAG4C,SAAS+I,SAGtC3L,EAAG4C,SAAS8I,WAAa1L,EAAG4C,SAAS+I,QAAU,MAKjDvB,GAAiBoB,EAEbJ,IACFA,EAAOQ,QAAU,MAEf5L,EAAGqL,MACLrL,EAAGqL,IAAIO,QAAU5L,GAGfA,EAAG6L,QAAU7L,EAAGoD,SAAWpD,EAAG6L,SAAW7L,EAAGoD,QAAQmI,SACtDvL,EAAGoD,QAAQiI,IAAMrL,EAAGqL,MAMxB7B,EAAIta,UAAUmZ,aAAe,WAC3B,IAAIrI,EAAKpR,KACLoR,EAAG0K,UACL1K,EAAG0K,SAASrQ,UAIhBmP,EAAIta,UAAU4c,SAAW,WACvB,IAAI9L,EAAKpR,KACT,IAAIoR,EAAG+K,kBAAP,CAGAI,GAASnL,EAAI,iBACbA,EAAG+K,mBAAoB,EAEvB,IAAItP,EAASuE,EAAGoD,SACZ3H,GAAWA,EAAOsP,mBAAsB/K,EAAG4C,SAAS0H,UACtD7Y,EAAOgK,EAAO8O,UAAWvK,GAGvBA,EAAG0K,UACL1K,EAAG0K,SAASqB,WAEd,IAAI1a,EAAI2O,EAAGgM,UAAU1a,OACrB,MAAOD,IACL2O,EAAGgM,UAAU3a,GAAG0a,WAId/L,EAAGiM,MAAMzO,QACXwC,EAAGiM,MAAMzO,OAAOQ,UAGlBgC,EAAG8K,cAAe,EAElB9K,EAAGyL,UAAUzL,EAAGuL,OAAQ,MAExBJ,GAASnL,EAAI,aAEbA,EAAGqJ,OAECrJ,EAAGqL,MACLrL,EAAGqL,IAAIO,QAAU,MAGf5L,EAAG6L,SACL7L,EAAG6L,OAAOpQ,OAAS,QAKzB,SAASyQ,GAAelM,EAAImM,EAAIjB,GAe9B,IAAIkB,EAkCJ,OAhDApM,EAAGqL,IAAMc,EACJnM,EAAG4C,SAASyJ,SACfrM,EAAG4C,SAASyJ,OAAShQ,IAUvB8O,GAASnL,EAAI,eAsBXoM,EAAkB,WAChBpM,EAAGiL,QAAQjL,EAAGsM,UAAWpB,IAI7BlL,EAAG0K,SAAW,IAAI6B,GAAQvM,EAAIoM,EAAiBlY,GAC/CgX,GAAY,EAIK,MAAblL,EAAG6L,SACL7L,EAAG6K,YAAa,EAChBM,GAASnL,EAAI,YAERA,EAGT,SAASwM,GAAqBxM,EAAIoC,EAAW2G,EAAW0D,EAAaC,GAOnE,IAAIC,KAAiBD,GACrB1M,EAAG4C,SAASgK,iBACZH,EAAY5R,KAAKgS,aACjB7M,EAAG8M,eAAiBtW,GAmBpB,GAhBAwJ,EAAG4C,SAASmK,aAAeN,EAC3BzM,EAAG6L,OAASY,EAERzM,EAAGuL,SAELvL,EAAGuL,OAAO9P,OAASgR,GAErBzM,EAAG4C,SAASgK,gBAAkBF,EAK9B1M,EAAGgN,OAASP,EAAY5R,MAAQ4R,EAAY5R,KAAK2L,OAAShQ,EAC1DwJ,EAAGiN,WAAalE,GAAavS,EAGzB4L,GAAapC,EAAG4C,SAASnC,MAAO,CAClC5C,GAAcC,eAAgB,EAG9B,IAFA,IAAI2C,EAAQT,EAAG6C,OACXqK,EAAWlN,EAAG4C,SAASuK,WAAa,GAC/B9b,EAAI,EAAGA,EAAI6b,EAAS5b,OAAQD,IAAK,CACxC,IAAIY,EAAMib,EAAS7b,GACnBoP,EAAMxO,GAAOiQ,GAAajQ,EAAK+N,EAAG4C,SAASnC,MAAO2B,EAAWpC,GAE/DnC,GAAcC,eAAgB,EAE9BkC,EAAG4C,SAASR,UAAYA,EAI1B,GAAI2G,EAAW,CACb,IAAIO,EAAetJ,EAAG4C,SAASoG,iBAC/BhJ,EAAG4C,SAASoG,iBAAmBD,EAC/BE,GAAyBjJ,EAAI+I,EAAWO,GAGtCqD,IACF3M,EAAGoN,OAAStD,GAAa4C,EAAgBD,EAAYxR,SACrD+E,EAAGqI,gBAQP,SAASgF,GAAiBrN,GACxB,MAAOA,IAAOA,EAAKA,EAAGoD,SACpB,GAAIpD,EAAG2K,UACL,OAAO,EAGX,OAAO,EAGT,SAAS2C,GAAuBtN,EAAIuN,GAClC,GAAIA,GAEF,GADAvN,EAAG4K,iBAAkB,EACjByC,GAAiBrN,GACnB,YAEG,GAAIA,EAAG4K,gBACZ,OAEF,GAAI5K,EAAG2K,WAA8B,OAAjB3K,EAAG2K,UAAoB,CACzC3K,EAAG2K,WAAY,EACf,IAAK,IAAItZ,EAAI,EAAGA,EAAI2O,EAAGuK,UAAUjZ,OAAQD,IACvCic,GAAuBtN,EAAGuK,UAAUlZ,IAEtC8Z,GAASnL,EAAI,cAIjB,SAASwN,GAAyBxN,EAAIuN,GACpC,KAAIA,IACFvN,EAAG4K,iBAAkB,GACjByC,GAAiBrN,OAIlBA,EAAG2K,UAAW,CACjB3K,EAAG2K,WAAY,EACf,IAAK,IAAItZ,EAAI,EAAGA,EAAI2O,EAAGuK,UAAUjZ,OAAQD,IACvCmc,GAAyBxN,EAAGuK,UAAUlZ,IAExC8Z,GAASnL,EAAI,gBAIjB,SAASmL,GAASnL,EAAIM,GACpB,IAAImN,EAAWzN,EAAG4C,SAAStC,GAC3B,GAAImN,EACF,IAAK,IAAIpc,EAAI,EAAGqc,EAAID,EAASnc,OAAQD,EAAIqc,EAAGrc,IAC1C,IACEoc,EAASpc,GAAGrB,KAAKgQ,GACjB,MAAOnL,IACPmO,GAAYnO,GAAGmL,EAAIM,EAAO,SAI5BN,EAAG8I,eACL9I,EAAG6J,MAAM,QAAUvJ,GAMvB,IAEIqN,GAAQ,GACRC,GAAoB,GACpBvU,GAAM,GAENwU,IAAU,EACVC,IAAW,EACXlc,GAAQ,EAKZ,SAASmc,KACPnc,GAAQ+b,GAAMrc,OAASsc,GAAkBtc,OAAS,EAClD+H,GAAM,GAINwU,GAAUC,IAAW,EAMvB,SAASE,KAEP,IAAIC,EAAStU,EAgBb,IAjBAmU,IAAW,EAWXH,GAAMO,MAAK,SAAU9a,EAAGe,GACtB,OAAOf,EAAEuG,GAAKxF,EAAEwF,MAKb/H,GAAQ,EAAGA,GAAQ+b,GAAMrc,OAAQM,KACpCqc,EAAUN,GAAM/b,IAChB+H,EAAKsU,EAAQtU,GACbN,GAAIM,GAAM,KACVsU,EAAQE,MAYV,IAAIC,EAAiBR,GAAkB9a,QACnCub,EAAeV,GAAM7a,QAEzBib,KAGAO,GAAmBF,GACnBG,GAAiBF,GAIb1Y,IAAYJ,EAAOI,UACrBA,GAAS6Y,KAAK,SAIlB,SAASD,GAAiBZ,GACxB,IAAItc,EAAIsc,EAAMrc,OACd,MAAOD,IAAK,CACV,IAAI4c,EAAUN,EAAMtc,GAChB2O,EAAKiO,EAAQjO,GACbA,EAAG0K,WAAauD,GAAWjO,EAAG6K,YAChCM,GAASnL,EAAI,YASnB,SAASyO,GAAwBzO,GAG/BA,EAAG2K,WAAY,EACfiD,GAAkB7T,KAAKiG,GAGzB,SAASsO,GAAmBX,GAC1B,IAAK,IAAItc,EAAI,EAAGA,EAAIsc,EAAMrc,OAAQD,IAChCsc,EAAMtc,GAAGsZ,WAAY,EACrB2C,GAAuBK,EAAMtc,IAAI,GASrC,SAASqd,GAAaT,GACpB,IAAItU,EAAKsU,EAAQtU,GACjB,GAAe,MAAXN,GAAIM,GAAa,CAEnB,GADAN,GAAIM,IAAM,EACLmU,GAEE,CAGL,IAAIzc,EAAIsc,GAAMrc,OAAS,EACvB,MAAOD,EAAIO,IAAS+b,GAAMtc,GAAGsI,GAAKsU,EAAQtU,GACxCtI,IAEFsc,GAAM7b,OAAOT,EAAI,EAAG,EAAG4c,QARvBN,GAAM5T,KAAKkU,GAWRJ,KACHA,IAAU,EACV3I,GAAS8I,MAOf,IAAIW,GAAQ,EAORpC,GAAU,SAAiBvM,EAAI4O,EAASzJ,EAAInE,GAC9CpS,KAAKoR,GAAKA,EACVA,EAAGgM,UAAUjS,KAAKnL,MAEdoS,GACFpS,KAAK8N,OAASsE,EAAQtE,KACtB9N,KAAKigB,OAAS7N,EAAQ6N,KACtBjgB,KAAKkgB,OAAS9N,EAAQ8N,KACtBlgB,KAAKuZ,OAASnH,EAAQmH,MAEtBvZ,KAAK8N,KAAO9N,KAAKigB,KAAOjgB,KAAKkgB,KAAOlgB,KAAKuZ,MAAO,EAElDvZ,KAAKuW,GAAKA,EACVvW,KAAK+K,KAAOgV,GACZ/f,KAAKmgB,QAAS,EACdngB,KAAKogB,MAAQpgB,KAAKkgB,KAClBlgB,KAAKqgB,KAAO,GACZrgB,KAAKsgB,QAAU,GACftgB,KAAKugB,OAAS,IAAIpW,GAClBnK,KAAKwgB,UAAY,IAAIrW,GACrBnK,KAAKygB,WAA0E,GAExD,oBAAZT,EACThgB,KAAKoQ,OAAS4P,GAEdhgB,KAAKoQ,OAAS9H,EAAU0X,GACnBhgB,KAAKoQ,SACRpQ,KAAKoQ,OAAS,eAIlBpQ,KAAKc,MAAQd,KAAKkgB,UAAOzf,EAAYT,KAAK0J,OAM5CiU,GAAQrd,UAAUoJ,IAAM,WAEtB,IAAI5I,EADJ6K,GAAW3L,MAEX,IAAIoR,EAAKpR,KAAKoR,GACd,IACEtQ,EAAQd,KAAKoQ,OAAOhP,KAAKgQ,EAAIA,GAC7B,MAAOnL,IACP,IAAIjG,KAAKigB,KAGP,MAAMha,GAFNmO,GAAYnO,GAAGmL,EAAI,uBAA0BpR,KAAKygB,WAAa,KAIjE,QAGIzgB,KAAK8N,MACP4S,GAAS5f,GAEX+K,KACA7L,KAAK2gB,cAEP,OAAO7f,GAMT6c,GAAQrd,UAAUiL,OAAS,SAAgBuD,GACzC,IAAI/D,EAAK+D,EAAI/D,GACR/K,KAAKwgB,UAAU/V,IAAIM,KACtB/K,KAAKwgB,UAAU9V,IAAIK,GACnB/K,KAAKsgB,QAAQnV,KAAK2D,GACb9O,KAAKugB,OAAO9V,IAAIM,IACnB+D,EAAI7D,OAAOjL,QAQjB2d,GAAQrd,UAAUqgB,YAAc,WAC9B,IAAI7F,EAAS9a,KAETyC,EAAIzC,KAAKqgB,KAAK3d,OAClB,MAAOD,IAAK,CACV,IAAIqM,EAAMgM,EAAOuF,KAAK5d,GACjBqY,EAAO0F,UAAU/V,IAAIqE,EAAI/D,KAC5B+D,EAAI1D,UAAU0P,GAGlB,IAAI8F,EAAM5gB,KAAKugB,OACfvgB,KAAKugB,OAASvgB,KAAKwgB,UACnBxgB,KAAKwgB,UAAYI,EACjB5gB,KAAKwgB,UAAU7V,QACfiW,EAAM5gB,KAAKqgB,KACXrgB,KAAKqgB,KAAOrgB,KAAKsgB,QACjBtgB,KAAKsgB,QAAUM,EACf5gB,KAAKsgB,QAAQ5d,OAAS,GAOxBib,GAAQrd,UAAUmL,OAAS,WAErBzL,KAAKkgB,KACPlgB,KAAKogB,OAAQ,EACJpgB,KAAKuZ,KACdvZ,KAAKuf,MAELO,GAAa9f,OAQjB2d,GAAQrd,UAAUif,IAAM,WACtB,GAAIvf,KAAKmgB,OAAQ,CACf,IAAIrf,EAAQd,KAAK0J,MACjB,GAAI5I,IAAUd,KAAKc,OAInBC,EAASD,IAAUd,KAAK8N,KAAM,CAE5B,IAAI+S,EAAW7gB,KAAKc,MAEpB,GADAd,KAAKc,MAAQA,EACTd,KAAKigB,KACP,IACEjgB,KAAKuW,GAAGnV,KAAKpB,KAAKoR,GAAItQ,EAAO+f,GAC7B,MAAO5a,IACPmO,GAAYnO,GAAGjG,KAAKoR,GAAI,yBAA4BpR,KAAKygB,WAAa,UAGxEzgB,KAAKuW,GAAGnV,KAAKpB,KAAKoR,GAAItQ,EAAO+f,MAUrClD,GAAQrd,UAAUwgB,SAAW,WAC3B9gB,KAAKc,MAAQd,KAAK0J,MAClB1J,KAAKogB,OAAQ,GAMfzC,GAAQrd,UAAU+K,OAAS,WACzB,IAAIyP,EAAS9a,KAETyC,EAAIzC,KAAKqgB,KAAK3d,OAClB,MAAOD,IACLqY,EAAOuF,KAAK5d,GAAG4I,UAOnBsS,GAAQrd,UAAU6c,SAAW,WAC3B,IAAIrC,EAAS9a,KAEb,GAAIA,KAAKmgB,OAAQ,CAIVngB,KAAKoR,GAAG+K,mBACXtZ,EAAO7C,KAAKoR,GAAGgM,UAAWpd,MAE5B,IAAIyC,EAAIzC,KAAKqgB,KAAK3d,OAClB,MAAOD,IACLqY,EAAOuF,KAAK5d,GAAG2I,UAAU0P,GAE3B9a,KAAKmgB,QAAS,IASlB,IAAIY,GAAc,IAAI5W,GACtB,SAASuW,GAASnf,GAChBwf,GAAYpW,QACZqW,GAAUzf,EAAKwf,IAGjB,SAASC,GAAUzf,EAAK0f,GACtB,IAAIxe,EAAG0D,EACH+a,EAAMlc,MAAMc,QAAQvE,GACxB,IAAK2f,GAAQngB,EAASQ,KAASN,OAAO4O,aAAatO,GAAnD,CAGA,GAAIA,EAAIqN,OAAQ,CACd,IAAIuS,EAAQ5f,EAAIqN,OAAOE,IAAI/D,GAC3B,GAAIkW,EAAKxW,IAAI0W,GACX,OAEFF,EAAKvW,IAAIyW,GAEX,GAAID,EAAK,CACPze,EAAIlB,EAAImB,OACR,MAAOD,IACLue,GAAUzf,EAAIkB,GAAIwe,OAEf,CACL9a,EAAOlF,OAAOkF,KAAK5E,GACnBkB,EAAI0D,EAAKzD,OACT,MAAOD,IACLue,GAAUzf,EAAI4E,EAAK1D,IAAKwe,KAO9B,IAAIG,GAA2B,CAC7BnZ,YAAY,EACZG,cAAc,EACdsB,IAAKpE,EACLkF,IAAKlF,GAGP,SAAS+b,GAAM/V,EAAQgW,EAAWje,GAChC+d,GAAyB1X,IAAM,WAC7B,OAAO1J,KAAKshB,GAAWje,IAEzB+d,GAAyB5W,IAAM,SAAqBjJ,GAClDvB,KAAKshB,GAAWje,GAAO9B,GAEzBN,OAAOiH,eAAeoD,EAAQjI,EAAK+d,IAGrC,SAASG,GAAUnQ,GACjBA,EAAGgM,UAAY,GACf,IAAI3T,EAAO2H,EAAG4C,SACVvK,EAAKoI,OACP2P,GAAUpQ,EAAI3H,EAAKoI,OAEjBpI,EAAKqI,SACP2P,GAAYrQ,EAAI3H,EAAKqI,SAEnBrI,EAAKwC,KACPyV,GAAStQ,GAETzB,GAAQyB,EAAGiM,MAAQ,IAAI,GAErB5T,EAAKuI,UACP2P,GAAavQ,EAAI3H,EAAKuI,UAEpBvI,EAAKF,OAASE,EAAKF,QAAUD,GAC/BsY,GAAUxQ,EAAI3H,EAAKF,OAIvB,SAASiY,GAAUpQ,EAAIyQ,GACrB,IAAIrO,EAAYpC,EAAG4C,SAASR,WAAa,GACrC3B,EAAQT,EAAG6C,OAAS,GAGpB9N,EAAOiL,EAAG4C,SAASuK,UAAY,GAC/BuD,GAAU1Q,EAAGoD,QAEjBvF,GAAcC,cAAgB4S,EAC9B,IAAIC,EAAO,SAAc1e,GACvB8C,EAAKgF,KAAK9H,GACV,IAAIvC,EAAQwS,GAAajQ,EAAKwe,EAAcrO,EAAWpC,GAarDrB,GAAe8B,EAAOxO,EAAKvC,GAKvBuC,KAAO+N,GACXiQ,GAAMjQ,EAAI,SAAU/N,IAIxB,IAAK,IAAIA,KAAOwe,EACdE,EAAK1e,GACN4L,GAAcC,eAAgB,EAGjC,SAASwS,GAAStQ,GAChB,IAAInF,EAAOmF,EAAG4C,SAAS/H,KACvBA,EAAOmF,EAAGiM,MAAwB,oBAATpR,EAAsB+V,GAAQ/V,EAAMmF,GAAMnF,GAAQ,GACtE9K,EAAc8K,KACjBA,EAAO,IAIT,IAAI9F,EAAOlF,OAAOkF,KAAK8F,GACnB4F,EAAQT,EAAG4C,SAASnC,MAEpBpP,GADU2O,EAAG4C,SAASlC,QAClB3L,EAAKzD,QACb,MAAOD,IAAK,CACV,IAAIY,EAAM8C,EAAK1D,GACX,EAKAoP,GAASzO,EAAOyO,EAAOxO,IAEfyE,EAAWzE,IACrBge,GAAMjQ,EAAI,QAAS/N,GAIvBsM,GAAQ1D,GAAM,GAGhB,SAAS+V,GAAQ/V,EAAMmF,GACrB,IACE,OAAOnF,EAAK7K,KAAKgQ,EAAIA,GACrB,MAAOnL,IAEP,OADAmO,GAAYnO,GAAGmL,EAAI,UACZ,IAIX,IAAI6Q,GAAyB,CAAE/B,MAAM,GAErC,SAASyB,GAAavQ,EAAIY,GACxB,IAAIkQ,EAAW9Q,EAAG+Q,kBAAoBlhB,OAAOqB,OAAO,MAEhD8f,EAAQxY,KAEZ,IAAK,IAAIvG,KAAO2O,EAAU,CACxB,IAAIqQ,EAAUrQ,EAAS3O,GACnB+M,EAA4B,oBAAZiS,EAAyBA,EAAUA,EAAQ3Y,IAC3D,EAIC0Y,IAEHF,EAAS7e,GAAO,IAAIsa,GAAQvM,EAAIhB,GAAU9K,EAAMA,EAAM2c,KAMlD5e,KAAO+N,GACXkR,GAAelR,EAAI/N,EAAKgf,IAW9B,SAASC,GAAehX,EAAQjI,EAAKgf,GACnC,IAAIE,GAAe3Y,KACI,oBAAZyY,GACTjB,GAAyB1X,IAAM6Y,EAAcC,GAAqBnf,GAAOgf,EACzEjB,GAAyB5W,IAAMlF,IAE/B8b,GAAyB1X,IAAM2Y,EAAQ3Y,IAAM6Y,IAAiC,IAAlBF,EAAQ7e,MAAkBgf,GAAqBnf,GAAOgf,EAAQ3Y,IAAMpE,EAChI8b,GAAyB5W,IAAM6X,EAAQ7X,IAAM6X,EAAQ7X,IAAMlF,GAO7DrE,OAAOiH,eAAeoD,EAAQjI,EAAK+d,IAGrC,SAASoB,GAAqBnf,GAC5B,OAAO,WACL,IAAIgc,EAAUrf,KAAKmiB,mBAAqBniB,KAAKmiB,kBAAkB9e,GAC/D,GAAIgc,EAOF,OANIA,EAAQe,OACVf,EAAQyB,WAENhW,GAAIQ,QACN+T,EAAQhU,SAEHgU,EAAQve,OAKrB,SAAS2gB,GAAYrQ,EAAIU,GACXV,EAAG4C,SAASnC,MACxB,IAAK,IAAIxO,KAAOyO,EAYdV,EAAG/N,GAAuB,MAAhByO,EAAQzO,GAAeiC,EAAOjB,EAAKyN,EAAQzO,GAAM+N,GAI/D,SAASwQ,GAAUxQ,EAAI7H,GACrB,IAAK,IAAIlG,KAAOkG,EAAO,CACrB,IAAIkZ,EAAUlZ,EAAMlG,GACpB,GAAI2B,MAAMc,QAAQ2c,GAChB,IAAK,IAAIhgB,EAAI,EAAGA,EAAIggB,EAAQ/f,OAAQD,IAClCigB,GAActR,EAAI/N,EAAKof,EAAQhgB,SAGjCigB,GAActR,EAAI/N,EAAKof,IAK7B,SAASC,GAActR,EAAIuR,EAASF,EAASrQ,GAQ3C,OAPIjR,EAAcshB,KAChBrQ,EAAUqQ,EACVA,EAAUA,EAAQA,SAEG,kBAAZA,IACTA,EAAUrR,EAAGqR,IAERrR,EAAGwR,OAAOD,EAASF,EAASrQ,GAGrC,SAASyQ,GAAWjI,GAIlB,IAAIkI,EAAU,CACd,IAAc,WACZ,OAAO9iB,KAAKqd,QAEV0F,EAAW,CACf,IAAe,WACb,OAAO/iB,KAAKiU,SAUdhT,OAAOiH,eAAe0S,EAAIta,UAAW,QAASwiB,GAC9C7hB,OAAOiH,eAAe0S,EAAIta,UAAW,SAAUyiB,GAE/CnI,EAAIta,UAAU0iB,KAAOxY,GACrBoQ,EAAIta,UAAU2iB,QAAUvS,GAExBkK,EAAIta,UAAUsiB,OAAS,SAAU5C,EAASzJ,EAAInE,GAC5C,IAAIhB,EAAKpR,KACT,GAAImB,EAAcoV,GAChB,OAAOmM,GAActR,EAAI4O,EAASzJ,EAAInE,GAExCA,EAAUA,GAAW,GACrBA,EAAQ6N,MAAO,EACf,IAAIZ,EAAU,IAAI1B,GAAQvM,EAAI4O,EAASzJ,EAAInE,GAI3C,OAHIA,EAAQ8Q,WACV3M,EAAGnV,KAAKgQ,EAAIiO,EAAQve,OAEf,WACLue,EAAQlC,aAOd,SAASgG,GAAY/R,GACnB,IAAIa,EAAUb,EAAG4C,SAAS/B,QACtBA,IACFb,EAAGgS,UAA+B,oBAAZnR,EAAyBA,EAAQ7Q,KAAKgQ,GAAMa,GAItE,SAASoR,GAAejS,GACtB,IAAI1C,EAAS4U,GAAclS,EAAG4C,SAASjC,OAAQX,GAC3C1C,IACFO,GAAcC,eAAgB,EAC9BjO,OAAOkF,KAAKuI,GAAQL,SAAQ,SAAUhL,GAOlC0M,GAAeqB,EAAI/N,EAAKqL,EAAOrL,OAGnC4L,GAAcC,eAAgB,GAIlC,SAASoU,GAAcvR,EAAQX,GAC7B,GAAIW,EAAQ,CAQV,IANA,IAAIrD,EAASzN,OAAOqB,OAAO,MACvB6D,EAAOiE,GAAYC,QAAQC,QAAQyH,GAAQwR,QAAO,SAAUlgB,GAE9D,OAAOpC,OAAOkP,yBAAyB4B,EAAQ1O,GAAK4E,cACjDhH,OAAOkF,KAAK4L,GAERtP,EAAI,EAAGA,EAAI0D,EAAKzD,OAAQD,IAAK,CACpC,IAAIY,EAAM8C,EAAK1D,GACX+gB,EAAazR,EAAO1O,GAAKyN,KACzB2S,EAASrS,EACb,MAAOqS,EAAQ,CACb,GAAIA,EAAOL,WAAaI,KAAcC,EAAOL,UAAW,CACtD1U,EAAOrL,GAAOogB,EAAOL,UAAUI,GAC/B,MAEFC,EAASA,EAAOjP,QAElB,IAAKiP,EACH,GAAI,YAAa1R,EAAO1O,GAAM,CAC5B,IAAIqgB,EAAiB3R,EAAO1O,GAAK0Q,QACjCrF,EAAOrL,GAAiC,oBAAnBqgB,EAAgCA,EAAetiB,KAAKgQ,GAAMsS,OACtE,EAKf,OAAOhV,GASX,SAASiV,GAAWpiB,EAAKkc,GACvB,IAAI1Y,EAAKtC,EAAGgC,EAAG0B,EAAM9C,EACrB,GAAI2B,MAAMc,QAAQvE,IAAuB,kBAARA,EAE/B,IADAwD,EAAM,IAAIC,MAAMzD,EAAImB,QACfD,EAAI,EAAGgC,EAAIlD,EAAImB,OAAQD,EAAIgC,EAAGhC,IACjCsC,EAAItC,GAAKgb,EAAOlc,EAAIkB,GAAIA,QAErB,GAAmB,kBAARlB,EAEhB,IADAwD,EAAM,IAAIC,MAAMzD,GACXkB,EAAI,EAAGA,EAAIlB,EAAKkB,IACnBsC,EAAItC,GAAKgb,EAAOhb,EAAI,EAAGA,QAEpB,GAAI1B,EAASQ,GAGlB,IAFA4E,EAAOlF,OAAOkF,KAAK5E,GACnBwD,EAAM,IAAIC,MAAMmB,EAAKzD,QAChBD,EAAI,EAAGgC,EAAI0B,EAAKzD,OAAQD,EAAIgC,EAAGhC,IAClCY,EAAM8C,EAAK1D,GACXsC,EAAItC,GAAKgb,EAAOlc,EAAI8B,GAAMA,EAAKZ,GAMnC,OAHI/B,EAAMqE,KACRA,EAAI0T,UAAW,GAEV1T,EAQT,SAAS6e,GAAWvR,EAAMwR,EAAUhS,EAAOiS,GACzC,IAAIC,EAAe/jB,KAAKke,aAAa7L,GACrC,GAAI0R,EASF,OAPAlS,EAAQA,GAAS,GACbiS,IAIFjS,EAAQ5M,EAAOA,EAAO,GAAI6e,GAAajS,IAElCkS,EAAalS,IAAUgS,EAE9B,IAAIG,EAAYhkB,KAAKwe,OAAOnM,GAM5B,OAAO2R,GAAaH,EASxB,SAASI,GAAclZ,GACrB,OAAOkI,GAAajT,KAAKgU,SAAU,UAAWjJ,GAAI,IAAStF,EAU7D,SAASye,GAAcC,EAAc9gB,EAAK+gB,EAAcC,GACtD,IAAIjd,EAAWT,EAAOS,SAAS/D,IAAQ+gB,EACvC,OAAIhd,EACEpC,MAAMc,QAAQsB,IAC2B,IAApCA,EAASnE,QAAQkhB,GAEjB/c,IAAa+c,EAEbE,EACFjgB,EAAUigB,KAAkBhhB,OAD9B,EAUT,SAASihB,GAAgBrY,EAAMD,EAAKlL,EAAOyjB,EAAQC,GACjD,GAAI1jB,EACF,GAAKC,EAASD,GAEP,CAIL,IAAIiX,EAHA/S,MAAMc,QAAQhF,KAChBA,EAAQsE,EAAStE,IAGnB,IAAIihB,EAAO,SAAc1e,GACvB,GAAY,UAARA,GAA2B,UAARA,GAAmBT,EAAoBS,GAC5D0U,EAAO9L,MACF,CACL,IAAI0F,EAAO1F,EAAK2L,OAAS3L,EAAK2L,MAAMjG,KACpCoG,EAAOwM,GAAU5d,EAAOe,YAAYsE,EAAK2F,EAAMtO,GAAO4I,EAAKwY,WAAaxY,EAAKwY,SAAW,IAAMxY,EAAK2L,QAAU3L,EAAK2L,MAAQ,IAE5H,KAAMvU,KAAO0U,KACXA,EAAK1U,GAAOvC,EAAMuC,GAEdmhB,GAAQ,CACV,IAAIvN,EAAKhL,EAAKgL,KAAOhL,EAAKgL,GAAK,IAC/BA,EAAG,UAAY5T,GAAO,SAAUqhB,GAC9B5jB,EAAMuC,GAAOqhB,KAMrB,IAAK,IAAIrhB,KAAOvC,EACdihB,EAAK1e,QAIX,OAAO4I,EAQT,SAAS0Y,GAAa3hB,EAAO4hB,GAG3B,IAAIC,EAAY7kB,KAAKgU,SAAS8Q,gBAC1BxhB,EAASuhB,EAAUvhB,SAAWuhB,EAAUvhB,OAAS,IACjDyhB,EAAOzhB,EAAON,GAGlB,OAAI+hB,IAASH,EACJ5f,MAAMc,QAAQif,GAAQ/W,GAAY+W,GAAQnX,GAAWmX,IAG9DA,EAAOzhB,EAAON,GAAS6hB,EAAU7hB,GAAO5B,KAAKpB,KAAKglB,aAAc,KAAMhlB,MACtEilB,GAAWF,EAAM,aAAe/hB,GAAO,GAChC+hB,GAOT,SAASG,GAASH,EAAM/hB,EAAOK,GAE7B,OADA4hB,GAAWF,EAAM,WAAa/hB,GAASK,EAAM,IAAMA,EAAM,KAAK,GACvD0hB,EAGT,SAASE,GAAWF,EAAM1hB,EAAK8J,GAC7B,GAAInI,MAAMc,QAAQif,GAChB,IAAK,IAAItiB,EAAI,EAAGA,EAAIsiB,EAAKriB,OAAQD,IAC3BsiB,EAAKtiB,IAAyB,kBAAZsiB,EAAKtiB,IACzB0iB,GAAeJ,EAAKtiB,GAAIY,EAAM,IAAMZ,EAAG0K,QAI3CgY,GAAeJ,EAAM1hB,EAAK8J,GAI9B,SAASgY,GAAezX,EAAMrK,EAAK8J,GACjCO,EAAKX,UAAW,EAChBW,EAAKrK,IAAMA,EACXqK,EAAKP,OAASA,EAKhB,SAASiY,GAAoBnZ,EAAMnL,GACjC,GAAIA,EACF,GAAKK,EAAcL,GAEZ,CACL,IAAImW,EAAKhL,EAAKgL,GAAKhL,EAAKgL,GAAKhS,EAAO,GAAIgH,EAAKgL,IAAM,GACnD,IAAK,IAAI5T,KAAOvC,EAAO,CACrB,IAAIukB,EAAWpO,EAAG5T,GACdiiB,EAAOxkB,EAAMuC,GACjB4T,EAAG5T,GAAOgiB,EAAW,GAAG7T,OAAO6T,EAAUC,GAAQA,QAIvD,OAAOrZ,EAKT,SAASsZ,GAAqBja,GAC5BA,EAAOka,GAAKN,GACZ5Z,EAAOma,GAAKzjB,EACZsJ,EAAOoa,GAAKxkB,EACZoK,EAAOqa,GAAKhC,GACZrY,EAAOsa,GAAKhC,GACZtY,EAAOua,GAAKngB,EACZ4F,EAAOwa,GAAKzf,EACZiF,EAAOya,GAAKpB,GACZrZ,EAAO0a,GAAK/B,GACZ3Y,EAAO2a,GAAK/B,GACZ5Y,EAAO4a,GAAK5B,GACZhZ,EAAO6a,GAAKxY,GACZrC,EAAO8a,GAAK3Y,GACZnC,EAAO+a,GAAK9K,GACZjQ,EAAOgb,GAAKlB,GAKd,SAASmB,GAAwBta,EAAM4F,EAAO3F,EAAUW,EAAQ3C,GAC9D,IAAIkI,EAAUlI,EAAKkI,QACnBpS,KAAKiM,KAAOA,EACZjM,KAAK6R,MAAQA,EACb7R,KAAKkM,SAAWA,EAChBlM,KAAK6M,OAASA,EACd7M,KAAKma,UAAYlO,EAAKgL,IAAMrP,EAC5B5H,KAAKwmB,WAAalD,GAAclR,EAAQL,OAAQlF,GAChD7M,KAAKmb,MAAQ,WACX,OAAOD,GAAahP,EAAUW,IAKhC,IAAI4Z,EAAYxlB,OAAOqB,OAAOuK,GAC1B6Z,EAAa/lB,EAAOyR,EAAQuU,WAC5BC,GAAqBF,EAGrBA,IAEF1mB,KAAKgU,SAAW5B,EAEhBpS,KAAKwe,OAASxe,KAAKmb,QACnBnb,KAAKke,aAAejS,EAAKgS,aAAerW,GAGtCwK,EAAQyU,SACV7mB,KAAK8mB,GAAK,SAAUtiB,EAAGe,EAAGzB,EAAGijB,GAC3B,IAAIlZ,EAAQmZ,GAAcP,EAAWjiB,EAAGe,EAAGzB,EAAGijB,EAAGH,GAKjD,OAJI/Y,IACFA,EAAMlB,kBAAoByF,EAAQyU,SAClChZ,EAAMpB,kBAAoBI,GAErBgB,GAGT7N,KAAK8mB,GAAK,SAAUtiB,EAAGe,EAAGzB,EAAGijB,GAC3B,OAAOC,GAAcP,EAAWjiB,EAAGe,EAAGzB,EAAGijB,EAAGH,IAOlD,SAASK,GAA0B/c,EAAMsJ,EAAWvH,EAAMwa,EAAWva,GACnE,IAAIkG,EAAUlI,EAAKkI,QACfP,EAAQ,GACR0B,EAAcnB,EAAQP,MAC1B,GAAInR,EAAM6S,GACR,IAAK,IAAIlQ,KAAOkQ,EACd1B,EAAMxO,GAAOiQ,GAAajQ,EAAKkQ,EAAaC,GAAa5L,QAGvDlH,EAAMuL,EAAK2L,QACbsP,GAAWrV,EAAO5F,EAAK2L,OAErBlX,EAAMuL,EAAK4F,QACbqV,GAAWrV,EAAO5F,EAAK4F,OAI3B,IAAIsV,EAAgB,IAAIZ,GAAwBta,EAAM4F,EAAO3F,EAAUua,EAAWvc,GAE9E2D,EAAQuE,EAAQqL,OAAOrc,KAAK,KAAM+lB,EAAcL,GAAIK,GAUxD,OARItZ,aAAiB9B,KACnB8B,EAAMpB,kBAAoBga,EAC1B5Y,EAAMnB,kBAAoB0F,EACtBnG,EAAKoP,QACNxN,EAAM5B,OAAS4B,EAAM5B,KAAO,KAAKoP,KAAOpP,EAAKoP,OAI3CxN,EAGT,SAASqZ,GAAWhiB,EAAI4L,GACtB,IAAK,IAAIzN,KAAOyN,EACd5L,EAAGvB,EAASN,IAAQyN,EAAKzN,GApC7BkiB,GAAqBgB,GAAwBjmB,WA2C7C,IAAI8mB,GAAsB,CACxBC,KAAM,SAAcxZ,EAAOyO,EAAWgL,EAAWC,GAC/C,IAAK1Z,EAAMjB,mBAAqBiB,EAAMjB,kBAAkBsP,aAAc,CACpE,IAAI3O,EAAQM,EAAMjB,kBAAoB4a,GAAgC3Z,EAAO2N,GAAgB8L,EAAWC,GACxGha,EAAMka,OAAOnL,EAAYzO,EAAMzB,SAAM3L,EAAW6b,QAC3C,GAAIzO,EAAM5B,KAAKyb,UAAW,CAE/B,IAAIC,EAAc9Z,EAClBuZ,GAAoBQ,SAASD,EAAaA,KAI9CC,SAAU,SAAkBC,EAAUha,GACpC,IAAIuE,EAAUvE,EAAMvB,iBAChBiB,EAAQM,EAAMjB,kBAAoBib,EAASjb,kBAC/CgR,GAAqBrQ,EAAO6E,EAAQoB,UACpCpB,EAAQ+H,UACRtM,EACAuE,EAAQlG,WAIV4b,OAAQ,SAAgBja,GACtB,IAAIxB,EAAUwB,EAAMxB,QAChBO,EAAoBiB,EAAMjB,kBACzBA,EAAkBqP,aACrBrP,EAAkBqP,YAAa,EAC/BM,GAAS3P,EAAmB,YAE1BiB,EAAM5B,KAAKyb,YACTrb,EAAQ4P,WAMV4D,GAAwBjT,GAExB8R,GAAuB9R,GAAmB,KAKhDmb,QAAS,SAAiBla,GACxB,IAAIjB,EAAoBiB,EAAMjB,kBACzBA,EAAkBsP,eAChBrO,EAAM5B,KAAKyb,UAGd9I,GAAyBhS,GAAmB,GAF5CA,EAAkBsQ,cAQtB8K,GAAe/mB,OAAOkF,KAAKihB,IAE/B,SAASa,GAAgB/d,EAAM+B,EAAMI,EAASH,EAAUF,GACtD,IAAIzL,EAAQ2J,GAAZ,CAIA,IAAI+O,EAAW5M,EAAQ2H,SAASkU,MAShC,GANInnB,EAASmJ,KACXA,EAAO+O,EAAShU,OAAOiF,IAKL,oBAATA,EAAX,CAQA,IAAIqC,EACJ,GAAIhM,EAAQ2J,EAAKie,OACf5b,EAAerC,EACfA,EAAO8O,GAAsBzM,EAAc0M,EAAU5M,QACxC5L,IAATyJ,GAIF,OAAO6O,GAAuBxM,EAAcN,EAAMI,EAASH,EAAUF,GAIzEC,EAAOA,GAAQ,GAIfmc,GAA0Ble,GAGtBxJ,EAAMuL,EAAKoc,QACbC,GAAepe,EAAKkI,QAASnG,GAI/B,IAAIuH,EAAYmE,GAA0B1L,EAAM/B,EAAM8B,GAGtD,GAAIrL,EAAOuJ,EAAKkI,QAAQmW,YACtB,OAAOtB,GAA0B/c,EAAMsJ,EAAWvH,EAAMI,EAASH,GAKnE,IAAIiO,EAAYlO,EAAKgL,GAKrB,GAFAhL,EAAKgL,GAAKhL,EAAKuc,SAEX7nB,EAAOuJ,EAAKkI,QAAQsJ,UAAW,CAKjC,IAAIL,EAAOpP,EAAKoP,KAChBpP,EAAO,GACHoP,IACFpP,EAAKoP,KAAOA,GAKhBoN,GAAWxc,GAGX,IAAIoG,EAAOnI,EAAKkI,QAAQC,MAAQrG,EAC5B6B,EAAQ,IAAI9B,GAAM,iBAAmB7B,EAAKie,KAAO9V,EAAO,IAAMA,EAAO,IAAKpG,OAAMxL,OAAWA,OAAWA,EAAW4L,EAAS,CAAEnC,KAAMA,EAAMsJ,UAAWA,EAAW2G,UAAWA,EAAWnO,IAAKA,EAAKE,SAAUA,GAAYK,GACxN,OAAOsB,IAGT,SAAS2Z,GAAgC3Z,EACzChB,EACAya,EAAWC,GACT,IAAImB,EAAwB7a,EAAMvB,iBAC9B8F,EAAU,CACZuW,cAAc,EACd9b,OAAQA,EACR2G,UAAWkV,EAAsBlV,UACjCoV,cAAeF,EAAsB1c,IACrCmS,aAActQ,EACduM,iBAAkBsO,EAAsBvO,UACxC6D,gBAAiB0K,EAAsBxc,SACvC4Q,WAAYwK,GAAa,KACzBvK,QAASwK,GAAU,MAGjBsB,EAAiBhb,EAAM5B,KAAK4c,eAKhC,OAJInoB,EAAMmoB,KACRzW,EAAQqL,OAASoL,EAAepL,OAChCrL,EAAQ0S,gBAAkB+D,EAAe/D,iBAEpC,IAAI4D,EAAsBxe,KAAKkI,GAGxC,SAASqW,GAAWxc,GACbA,EAAKyF,OACRzF,EAAKyF,KAAO,IAEd,IAAK,IAAIjP,EAAI,EAAGA,EAAIulB,GAAatlB,OAAQD,IAAK,CAC5C,IAAIY,EAAM2kB,GAAavlB,GACnBqmB,EAAa7c,EAAKyF,KAAKrO,GACvBiiB,EAAO8B,GAAoB/jB,GAC/B4I,EAAKyF,KAAKrO,GAAOylB,EAAaC,GAAYzD,EAAMwD,GAAcxD,GAIlE,SAASyD,GAAYC,EAAKC,GACxB,OAAO,SAAUzkB,EAAGe,EAAGzB,EAAGijB,GACxBiC,EAAIxkB,EAAGe,EAAGzB,EAAGijB,GACbkC,EAAIzkB,EAAGe,EAAGzB,EAAGijB,IAMjB,SAASuB,GAAelW,EAASnG,GAC/B,IAAIwH,EAAOrB,EAAQiW,OAASjW,EAAQiW,MAAM5U,MAAQ,QAC9C4D,EAAQjF,EAAQiW,OAASjW,EAAQiW,MAAMhR,OAAS,SAASpL,EAAK4F,QAAU5F,EAAK4F,MAAQ,KAAK4B,GAAQxH,EAAKoc,MAAMvnB,MACjH,IAAImW,EAAKhL,EAAKgL,KAAOhL,EAAKgL,GAAK,IAC3BvW,EAAMuW,EAAGI,IACXJ,EAAGI,GAAS,CAACpL,EAAKoc,MAAMa,UAAU1X,OAAOyF,EAAGI,IAE5CJ,EAAGI,GAASpL,EAAKoc,MAAMa,SAM3B,IAAIC,GAAmB,EACnBC,GAAmB,EAIvB,SAASpC,GAAc3a,EAASL,EAAKC,EAAMC,EAAUmd,EAAmBC,GAStE,OARItkB,MAAMc,QAAQmG,IAASpL,EAAYoL,MACrCod,EAAoBnd,EACpBA,EAAWD,EACXA,OAAOxL,GAELE,EAAO2oB,KACTD,EAAoBD,IAEfG,GAAeld,EAASL,EAAKC,EAAMC,EAAUmd,GAGtD,SAASE,GAAeld,EAASL,EAAKC,EAAMC,EAAUmd,GACpD,GAAI3oB,EAAMuL,IAASvL,EAAMuL,EAAK2C,QAE5B,OAAOnB,KAMT,GAHI/M,EAAMuL,IAASvL,EAAMuL,EAAKud,MAC5Bxd,EAAMC,EAAKud,KAERxd,EAEH,OAAOyB,KAiBT,IAAII,EAAOrB,EAELtC,GAZFlF,MAAMc,QAAQoG,IAAoC,oBAAhBA,EAAS,KAC7CD,EAAOA,GAAQ,GACfA,EAAKgS,YAAc,CAAElK,QAAS7H,EAAS,IACvCA,EAASxJ,OAAS,GAEhB2mB,IAAsBD,GACxBld,EAAWgM,GAAkBhM,GACpBmd,IAAsBF,KAC/Bjd,EAAW+L,GAAwB/L,IAGlB,kBAARF,IAETQ,EAAKH,EAAQ4Q,QAAU5Q,EAAQ4Q,OAAOzQ,IAAM7F,EAAOa,gBAAgBwE,GAGjE6B,EAFElH,EAAOU,cAAc2E,GAEf,IAAID,GAAMpF,EAAOc,qBAAqBuE,GAAMC,EAAMC,OAAUzL,OAAWA,EAAW4L,GACjF3L,EAAMwJ,EAAO+I,GAAa5G,EAAQ2H,SAAU,aAAchI,IAE3Dic,GAAgB/d,EAAM+B,EAAMI,EAASH,EAAUF,GAK/C,IAAID,GAAMC,EAAKC,EAAMC,OAAUzL,OAAWA,EAAW4L,IAI/DwB,EAAQoa,GAAgBjc,EAAKC,EAAMI,EAASH,GAE9C,OAAIxL,EAAMmN,IACJrB,GACFid,GAAQ5b,EAAOrB,GAEVqB,GAEAJ,KAIX,SAASgc,GAAQ5b,EAAOrB,EAAIkd,GAO1B,GANA7b,EAAMrB,GAAKA,EACO,kBAAdqB,EAAM7B,MAERQ,OAAK/L,EACLipB,GAAQ,GAENhpB,EAAMmN,EAAM3B,UACd,IAAK,IAAIzJ,EAAI,EAAGgC,EAAIoJ,EAAM3B,SAASxJ,OAAQD,EAAIgC,EAAGhC,IAAK,CACrD,IAAI8K,EAAQM,EAAM3B,SAASzJ,GACvB/B,EAAM6M,EAAMvB,OAASzL,EAAQgN,EAAMf,KAAO7L,EAAO+oB,KACnDD,GAAQlc,EAAOf,EAAIkd,IAQ3B,SAASC,GAAWvY,GAClBA,EAAGuL,OAAS,KACZ,IAAIvK,EAAUhB,EAAG4C,SACb6J,EAAczM,EAAG6L,OAAS7K,EAAQ+L,aAClCgJ,EAAgBtJ,GAAeA,EAAYxR,QAC/C+E,EAAGoN,OAAStD,GAAa9I,EAAQ4L,gBAAiBmJ,GAClD/V,EAAG8M,aAAetW,EAKlBwJ,EAAG0V,GAAK,SAAUtiB,EAAGe,EAAGzB,EAAGijB,GACzB,OAAOC,GAAc5V,EAAI5M,EAAGe,EAAGzB,EAAGijB,GAAG,IAIvC3V,EAAGwY,eAAiB,SAAUplB,EAAGe,EAAGzB,EAAGijB,GACrC,OAAOC,GAAc5V,EAAI5M,EAAGe,EAAGzB,EAAGijB,GAAG,IAKvC,IAAI8C,EAAahM,GAAeA,EAAY5R,KAW1C8D,GAAeqB,EAAI,SAAUyY,GAAcA,EAAWjS,OAAShQ,EAAa,MAAM,GAClFmI,GAAeqB,EAAI,aAAcgB,EAAQgI,kBAAoBxS,EAAa,MAAM,GAIpF,SAASkiB,GAAYlP,GAEnB2K,GAAqB3K,EAAIta,WAEzBsa,EAAIta,UAAUypB,UAAY,SAAUxmB,GAClC,OAAO+S,GAAS/S,EAAIvD,OAGtB4a,EAAIta,UAAUod,QAAU,WACtB,IAsBI7P,EAtBAuD,EAAKpR,KACLgqB,EAAM5Y,EAAG4C,SACTyJ,EAASuM,EAAIvM,OACbU,EAAe6L,EAAI7L,aAEvB,GAAI/M,EAAG6K,WAGL,IAAK,IAAI5Y,KAAO+N,EAAGoN,OAAQ,CACzB,IAAInD,EAAOjK,EAAGoN,OAAOnb,GACjBgY,EAAK4O,YACP7Y,EAAGoN,OAAOnb,GAAO2K,GAAYqN,GAAM,IAKzCjK,EAAG8M,aAAeC,GAAgBA,EAAalS,KAAKgS,aAAerW,EAInEwJ,EAAG6L,OAASkB,EAGZ,IACEtQ,EAAQ4P,EAAOrc,KAAKgQ,EAAG4T,aAAc5T,EAAGwY,gBACxC,MAAO3jB,IACPmO,GAAYnO,GAAGmL,EAAI,UAgBjBvD,EAAQuD,EAAGuL,OAYf,OARM9O,aAAiB9B,KAIrB8B,EAAQJ,MAGVI,EAAMhB,OAASsR,EACRtQ,GAMX,IAAIqc,GAAM,EAEV,SAASC,GAAUvP,GACjBA,EAAIta,UAAU8pB,MAAQ,SAAUhY,GAC9B,IAAIhB,EAAKpR,KAEToR,EAAGiZ,KAAOH,KAWV9Y,EAAGtB,QAAS,EAERsC,GAAWA,EAAQuW,aAIrB2B,GAAsBlZ,EAAIgB,GAE1BhB,EAAG4C,SAAWrB,GAAayV,GAA0BhX,EAAG/Q,aAAc+R,GAAW,GAAIhB,GAMrFA,EAAG4T,aAAe5T,EAGpBA,EAAGmZ,MAAQnZ,EACXqK,GAAcrK,GACd4I,GAAW5I,GACXuY,GAAWvY,GACXmL,GAASnL,EAAI,gBACbiS,GAAejS,GACfmQ,GAAUnQ,GACV+R,GAAY/R,GACZmL,GAASnL,EAAI,WASTA,EAAG4C,SAASuJ,IACdnM,EAAGqW,OAAOrW,EAAG4C,SAASuJ,KAK5B,SAAS+M,GAAsBlZ,EAAIgB,GACjC,IAAI3I,EAAO2H,EAAG4C,SAAW/S,OAAOqB,OAAO8O,EAAG/Q,YAAY+R,SAEtD3I,EAAKoD,OAASuF,EAAQvF,OACtBpD,EAAK+J,UAAYpB,EAAQoB,UACzB/J,EAAK0U,aAAe/L,EAAQ+L,aAC5B1U,EAAK2Q,iBAAmBhI,EAAQgI,iBAChC3Q,EAAKuU,gBAAkB5L,EAAQ4L,gBAC/BvU,EAAKmf,cAAgBxW,EAAQwW,cAC7Bnf,EAAKqT,WAAa1K,EAAQ0K,WAC1BrT,EAAKsT,QAAU3K,EAAQ2K,QACnB3K,EAAQqL,SACVhU,EAAKgU,OAASrL,EAAQqL,OACtBhU,EAAKqb,gBAAkB1S,EAAQ0S,iBAInC,SAASsD,GAA0Ble,GACjC,IAAIkI,EAAUlI,EAAKkI,QACnB,GAAIlI,EAAKsgB,MAAO,CACd,IAAIC,EAAerC,GAA0Ble,EAAKsgB,OAC9CE,EAAqBxgB,EAAKugB,aAC9B,GAAIA,IAAiBC,EAAoB,CAGvCxgB,EAAKugB,aAAeA,EAEpB,IAAIE,EAAkBC,GAAuB1gB,GAEzCygB,GACF1lB,EAAOiF,EAAK2gB,cAAeF,GAE7BvY,EAAUlI,EAAKkI,QAAUO,GAAa8X,EAAcvgB,EAAK2gB,eACrDzY,EAAQC,OACVD,EAAQ0Y,WAAW1Y,EAAQC,MAAQnI,IAIzC,OAAOkI,EAGT,SAASwY,GAAuB1gB,GAC9B,IAAI6gB,EACAC,EAAS9gB,EAAKkI,QACd6Y,EAAW/gB,EAAK2gB,cAChBK,EAAShhB,EAAKihB,cAClB,IAAK,IAAI9nB,KAAO2nB,EACVA,EAAO3nB,KAAS6nB,EAAO7nB,KACpB0nB,IACHA,EAAW,IAEbA,EAAS1nB,GAAO+nB,GAAOJ,EAAO3nB,GAAM4nB,EAAS5nB,GAAM6nB,EAAO7nB,KAG9D,OAAO0nB,EAGT,SAASK,GAAOJ,EAAQC,EAAUC,GAGhC,GAAIlmB,MAAMc,QAAQklB,GAAS,CACzB,IAAI3lB,EAAM,GACV6lB,EAASlmB,MAAMc,QAAQolB,GAAUA,EAAS,CAACA,GAC3CD,EAAWjmB,MAAMc,QAAQmlB,GAAYA,EAAW,CAACA,GACjD,IAAK,IAAIxoB,EAAI,EAAGA,EAAIuoB,EAAOtoB,OAAQD,KAE7BwoB,EAAShoB,QAAQ+nB,EAAOvoB,KAAO,GAAKyoB,EAAOjoB,QAAQ+nB,EAAOvoB,IAAM,IAClE4C,EAAI8F,KAAK6f,EAAOvoB,IAGpB,OAAO4C,EAEP,OAAO2lB,EAIX,SAASK,GAAMjZ,GAIbpS,KAAKoqB,MAAMhY,GAWb,SAASkZ,GAAQ1Q,GACfA,EAAI2Q,IAAM,SAAUC,GAClB,IAAIC,EAAmBzrB,KAAK0rB,oBAAsB1rB,KAAK0rB,kBAAoB,IAC3E,GAAID,EAAiBxoB,QAAQuoB,IAAW,EACtC,OAAOxrB,KAIT,IAAIwO,EAAO3J,EAAQH,UAAW,GAQ9B,OAPA8J,EAAKmd,QAAQ3rB,MACiB,oBAAnBwrB,EAAOI,QAChBJ,EAAOI,QAAQjnB,MAAM6mB,EAAQhd,GACF,oBAAXgd,GAChBA,EAAO7mB,MAAM,KAAM6J,GAErBid,EAAiBtgB,KAAKqgB,GACfxrB,MAMX,SAAS6rB,GAAYjR,GACnBA,EAAIkR,MAAQ,SAAUA,GAEpB,OADA9rB,KAAKoS,QAAUO,GAAa3S,KAAKoS,QAAS0Z,GACnC9rB,MAMX,SAAS+rB,GAAWnR,GAMlBA,EAAIuN,IAAM,EACV,IAAIA,EAAM,EAKVvN,EAAI3V,OAAS,SAAU4lB,GACrBA,EAAgBA,GAAiB,GACjC,IAAImB,EAAQhsB,KACRisB,EAAUD,EAAM7D,IAChB+D,EAAcrB,EAAcsB,QAAUtB,EAAcsB,MAAQ,IAChE,GAAID,EAAYD,GACd,OAAOC,EAAYD,GAGrB,IAAI5Z,EAAOwY,EAAcxY,MAAQ2Z,EAAM5Z,QAAQC,KAO/C,IAAI+Z,EAAM,SAAsBha,GAC9BpS,KAAKoqB,MAAMhY,IA0Cb,OAxCAga,EAAI9rB,UAAYW,OAAOqB,OAAO0pB,EAAM1rB,WACpC8rB,EAAI9rB,UAAUD,YAAc+rB,EAC5BA,EAAIjE,IAAMA,IACViE,EAAIha,QAAUO,GAAaqZ,EAAM5Z,QAASyY,GAC1CuB,EAAI,SAAWJ,EAKXI,EAAIha,QAAQP,OACdwa,GAAYD,GAEVA,EAAIha,QAAQJ,UACdsa,GAAeF,GAIjBA,EAAInnB,OAAS+mB,EAAM/mB,OACnBmnB,EAAIN,MAAQE,EAAMF,MAClBM,EAAIb,IAAMS,EAAMT,IAIhB9kB,EAAY4H,SAAQ,SAAUsD,GAC5Bya,EAAIza,GAAQqa,EAAMra,MAGhBU,IACF+Z,EAAIha,QAAQ0Y,WAAWzY,GAAQ+Z,GAMjCA,EAAI3B,aAAeuB,EAAM5Z,QACzBga,EAAIvB,cAAgBA,EACpBuB,EAAIjB,cAAgBlmB,EAAO,GAAImnB,EAAIha,SAGnC8Z,EAAYD,GAAWG,EAChBA,GAIX,SAASC,GAAYE,GACnB,IAAI1a,EAAQ0a,EAAKna,QAAQP,MACzB,IAAK,IAAIxO,KAAOwO,EACdwP,GAAMkL,EAAKjsB,UAAW,SAAU+C,GAIpC,SAASipB,GAAeC,GACtB,IAAIva,EAAWua,EAAKna,QAAQJ,SAC5B,IAAK,IAAI3O,KAAO2O,EACdsQ,GAAeiK,EAAKjsB,UAAW+C,EAAK2O,EAAS3O,IAMjD,SAASmpB,GAAmB5R,GAI1BnU,EAAY4H,SAAQ,SAAUsD,GAC5BiJ,EAAIjJ,GAAQ,SAAU5G,EAAI0hB,GACxB,OAAKA,GASU,cAAT9a,GAAwBxQ,EAAcsrB,KACxCA,EAAWpa,KAAOoa,EAAWpa,MAAQtH,EACrC0hB,EAAazsB,KAAKoS,QAAQ8V,MAAMjjB,OAAOwnB,IAE5B,cAAT9a,GAA8C,oBAAf8a,IACjCA,EAAa,CAAEpoB,KAAMooB,EAAYhhB,OAAQghB,IAE3CzsB,KAAKoS,QAAQT,EAAO,KAAK5G,GAAM0hB,EACxBA,GAhBAzsB,KAAKoS,QAAQT,EAAO,KAAK5G,OAwBxC,SAAS2hB,GAAiBjjB,GACxB,OAAOA,IAASA,EAAKS,KAAKkI,QAAQC,MAAQ5I,EAAKuC,KAGjD,SAAS2gB,GAAQC,EAASva,GACxB,OAAIrN,MAAMc,QAAQ8mB,GACTA,EAAQ3pB,QAAQoP,IAAS,EACJ,kBAAZua,EACTA,EAAQpqB,MAAM,KAAKS,QAAQoP,IAAS,IAClChR,EAASurB,IACXA,EAAQpkB,KAAK6J,GAMxB,SAASwa,GAAWC,EAAmBvJ,GACrC,IAAI/f,EAAQspB,EAAkBtpB,MAC1B2C,EAAO2mB,EAAkB3mB,KACzBwW,EAASmQ,EAAkBnQ,OAC/B,IAAK,IAAItZ,KAAOG,EAAO,CACrB,IAAIupB,EAAavpB,EAAMH,GACvB,GAAI0pB,EAAY,CACd,IAAI1a,EAAOqa,GAAiBK,EAAWzgB,kBACnC+F,IAASkR,EAAOlR,IAClB2a,GAAgBxpB,EAAOH,EAAK8C,EAAMwW,KAM1C,SAASqQ,GAAgBxpB,EAAOH,EAAK8C,EAAM8mB,GACzC,IAAIC,EAAY1pB,EAAMH,GAClB6pB,GAAaA,IAAcD,GAC7BC,EAAUtgB,kBAAkBsQ,WAE9B1Z,EAAMH,GAAO,KACbR,EAAOsD,EAAM9C,GAtMf8mB,GAAUkB,IACVxI,GAAWwI,IACX1Q,GAAY0Q,IACZjP,GAAeiP,IACfvB,GAAYuB,IAqMZ,IAAI8B,GAAe,CAACzrB,OAAQ0rB,OAAQpoB,OAEhCqoB,GAAY,CACdhb,KAAM,aACNqJ,UAAU,EAEV7J,MAAO,CACLyb,QAASH,GACTI,QAASJ,GACT1c,IAAK,CAAC/O,OAAQ8rB,SAGhBC,QAAS,WACPztB,KAAKwD,MAAQvC,OAAOqB,OAAO,MAC3BtC,KAAKmG,KAAO,IAGdunB,UAAW,WACT,IAAI5S,EAAS9a,KAEb,IAAK,IAAIqD,KAAOyX,EAAOtX,MACrBwpB,GAAgBlS,EAAOtX,MAAOH,EAAKyX,EAAO3U,OAI9CoD,MAAO,CACL+jB,QAAS,SAAiB/rB,GACxBsrB,GAAW7sB,MAAM,SAAUqS,GACzB,OAAOsa,GAAQprB,EAAK8Q,OAGxBkb,QAAS,SAAiBhsB,GACxBsrB,GAAW7sB,MAAM,SAAUqS,GACzB,OAAQsa,GAAQprB,EAAK8Q,QAK3BoL,OAAQ,WACN,IAAI5P,EAAQkM,GAAuB/Z,KAAKwe,OAAOzK,SAC3CzH,EAAmBuB,GAASA,EAAMvB,iBACtC,GAAIA,EAAkB,CAEpB,IAAI+F,EAAOqa,GAAiBpgB,GAC5B,GAAI+F,IAASrS,KAAKstB,UAAYX,GAAQ3sB,KAAKstB,QAASjb,IAASrS,KAAKutB,SAAWZ,GAAQ3sB,KAAKutB,QAASlb,IACjG,OAAOxE,EAGT,IAAImc,EAAMhqB,KACNwD,EAAQwmB,EAAIxmB,MACZ2C,EAAO6jB,EAAI7jB,KACX9C,EAAmB,MAAbwK,EAAMxK,IAGdiJ,EAAiBpC,KAAKie,KAAO7b,EAAiBN,IAAM,KAAOM,EAAiBN,IAAM,IAAM6B,EAAMxK,IAC5FG,EAAMH,IACRwK,EAAMjB,kBAAoBpJ,EAAMH,GAAKuJ,kBAErC/J,EAAOsD,EAAM9C,GACb8C,EAAKgF,KAAK9H,KAEVG,EAAMH,GAAOwK,EACb1H,EAAKgF,KAAK9H,GAENrD,KAAKyQ,KAAOtK,EAAKzD,OAASirB,SAAS3tB,KAAKyQ,MAC1Cuc,GAAgBxpB,EAAO2C,EAAK,GAAIA,EAAMnG,KAAK2c,SAI/C9O,EAAM5B,KAAKyb,WAAY,EAEzB,OAAO7Z,IAIP+f,GAAoB,CACtBP,UAAWA,IAKb,SAASQ,GAAcjT,GAErB,IAAIkT,EAAY,CAChB,IAAgB,WACd,OAAOnnB,IAOT1F,OAAOiH,eAAe0S,EAAK,SAAUkT,GAKrClT,EAAImT,KAAO,CACTnjB,KAAMA,GACN3F,OAAQA,EACR0N,aAAcA,GACd5C,eAAgBA,IAGlB6K,EAAIpQ,IAAMA,GACVoQ,EAAIoT,OAAStd,GACbkK,EAAItE,SAAWA,GAEfsE,EAAIxI,QAAUnR,OAAOqB,OAAO,MAC5BmE,EAAY4H,SAAQ,SAAUsD,GAC5BiJ,EAAIxI,QAAQT,EAAO,KAAO1Q,OAAOqB,OAAO,SAK1CsY,EAAIxI,QAAQ8V,MAAQtN,EAEpB3V,EAAO2V,EAAIxI,QAAQ0Y,WAAY8C,IAE/BtC,GAAQ1Q,GACRiR,GAAYjR,GACZmR,GAAWnR,GACX4R,GAAmB5R,GAGrBiT,GAAcxC,IAEdpqB,OAAOiH,eAAemjB,GAAM/qB,UAAW,YAAa,CAClDoJ,IAAKE,KAGP3I,OAAOiH,eAAemjB,GAAM/qB,UAAW,cAAe,CACpDoJ,IAAK,WAEH,OAAO1J,KAAKid,QAAUjd,KAAKid,OAAOgR,cAItC5C,GAAM6C,QAAU,QAMhB,IAAI5mB,GAAiBpF,EAAQ,eAGzBisB,GAAcjsB,EAAQ,yCACtBwF,GAAc,SAAqBsE,EAAK2F,EAAMyc,GAChD,MAAgB,UAATA,GAAoBD,GAAYniB,IAAiB,WAAT2F,GAA8B,aAATyc,GAA+B,WAARpiB,GAA6B,YAAToiB,GAA8B,UAARpiB,GAA4B,UAAToiB,GAA4B,UAARpiB,GAG1KqiB,GAAmBnsB,EAAQ,wCAE3BosB,GAAgBpsB,EAAQ,wYAExBqsB,GAAU,+BAEVC,GAAU,SAAiBnc,GAC7B,MAA0B,MAAnBA,EAAKpO,OAAO,IAAmC,UAArBoO,EAAKnO,MAAM,EAAG,IAG7CuqB,GAAe,SAAsBpc,GACvC,OAAOmc,GAAQnc,GAAQA,EAAKnO,MAAM,EAAGmO,EAAK3P,QAAU,IAGlDgsB,GAAmB,SAA0BntB,GAC/C,OAAc,MAAPA,IAAuB,IAARA,GAKxB,SAASotB,GAAiB9gB,GACxB,IAAI5B,EAAO4B,EAAM5B,KACb2iB,EAAa/gB,EACbghB,EAAYhhB,EAChB,MAAOnN,EAAMmuB,EAAUjiB,mBACrBiiB,EAAYA,EAAUjiB,kBAAkB+P,OACpCkS,EAAU5iB,OACZA,EAAO6iB,GAAeD,EAAU5iB,KAAMA,IAG1C,MAAOvL,EAAMkuB,EAAaA,EAAW/hB,QAC/B+hB,EAAW3iB,OACbA,EAAO6iB,GAAe7iB,EAAM2iB,EAAW3iB,OAG3C,OAAO8iB,GAAY9iB,EAAK+iB,YAAa/iB,EAAKgjB,OAG5C,SAASH,GAAevhB,EAAOV,GAC7B,MAAO,CACLmiB,YAAaxd,GAAOjE,EAAMyhB,YAAaniB,EAAOmiB,aAC9CC,MAAOvuB,EAAM6M,EAAM0hB,OAAS,CAAC1hB,EAAM0hB,MAAOpiB,EAAOoiB,OAASpiB,EAAOoiB,OAIrE,SAASF,GAAYC,EAAaE,GAChC,OAAIxuB,EAAMsuB,IAAgBtuB,EAAMwuB,GACvB1d,GAAOwd,EAAaG,GAAeD,IAGrC,GAGT,SAAS1d,GAAOhN,EAAGe,GACjB,OAAOf,EAAIe,EAAIf,EAAI,IAAMe,EAAIf,EAAIe,GAAK,GAGxC,SAAS4pB,GAAeruB,GACtB,OAAIkE,MAAMc,QAAQhF,GACTsuB,GAAetuB,GAEpBC,EAASD,GACJuuB,GAAgBvuB,GAEJ,kBAAVA,EACFA,EAGF,GAGT,SAASsuB,GAAetuB,GAGtB,IAFA,IACIwuB,EADAjqB,EAAM,GAED5C,EAAI,EAAGgC,EAAI3D,EAAM4B,OAAQD,EAAIgC,EAAGhC,IACnC/B,EAAM4uB,EAAcH,GAAeruB,EAAM2B,MAAwB,KAAhB6sB,IAC/CjqB,IACFA,GAAO,KAETA,GAAOiqB,GAGX,OAAOjqB,EAGT,SAASgqB,GAAgBvuB,GACvB,IAAIuE,EAAM,GACV,IAAK,IAAIhC,KAAOvC,EACVA,EAAMuC,KACJgC,IACFA,GAAO,KAETA,GAAOhC,GAGX,OAAOgC,EAKT,IAAIkqB,GAAe,CACjBC,IAAK,6BACLC,KAAM,sCAGJC,GAAYxtB,EAAQ,snBAIpBytB,GAAQztB,EAAQ,kNAA4N,GAE5OmF,GAAgB,SAAuB2E,GACzC,OAAO0jB,GAAU1jB,IAAQ2jB,GAAM3jB,IAGjC,SAASxE,GAAgBwE,GACvB,OAAI2jB,GAAM3jB,GACD,MAIG,SAARA,EACK,YADT,EAKF,IAAI4jB,GAAsB3uB,OAAOqB,OAAO,MACxC,SAASiF,GAAiByE,GAExB,IAAKpD,EACH,OAAO,EAET,GAAIvB,GAAc2E,GAChB,OAAO,EAIT,GAFAA,EAAMA,EAAIrJ,cAEsB,MAA5BitB,GAAoB5jB,GACtB,OAAO4jB,GAAoB5jB,GAE7B,IAAIuR,EAAKsS,SAAS7I,cAAchb,GAChC,OAAIA,EAAI/I,QAAQ,MAAQ,EAEf2sB,GAAoB5jB,GAAOuR,EAAGld,cAAgBwI,OAAOinB,oBAAsBvS,EAAGld,cAAgBwI,OAAOknB,YAErGH,GAAoB5jB,GAAO,qBAAqBxD,KAAK+U,EAAGrc,YAInE,IAAI8uB,GAAkB9tB,EAAQ,6CAO9B,SAAS+tB,GAAM1S,GACb,GAAkB,kBAAPA,EAAiB,CAC1B,IAAI2S,EAAWL,SAASM,cAAc5S,GACtC,OAAK2S,GAEIL,SAAS7I,cAAc,OAIhC,OAAOzJ,EAMX,SAAS6S,GAAgBC,EAASxiB,GAChC,IAAIzB,EAAMyjB,SAAS7I,cAAcqJ,GACjC,MAAgB,WAAZA,GAIAxiB,EAAM5B,MAAQ4B,EAAM5B,KAAK2L,YAAuCnX,IAA9BoN,EAAM5B,KAAK2L,MAAM0Y,UACrDlkB,EAAImkB,aAAa,WAAY,YAJtBnkB,EASX,SAASokB,GAAgBC,EAAWJ,GAClC,OAAOR,SAASW,gBAAgBjB,GAAakB,GAAYJ,GAG3D,SAASK,GAAevkB,GACtB,OAAO0jB,SAASa,eAAevkB,GAGjC,SAASwkB,GAAcxkB,GACrB,OAAO0jB,SAASc,cAAcxkB,GAGhC,SAASykB,GAAahC,EAAYiC,EAASC,GACzClC,EAAWgC,aAAaC,EAASC,GAGnC,SAASC,GAAYrjB,EAAMH,GACzBG,EAAKqjB,YAAYxjB,GAGnB,SAASyjB,GAAYtjB,EAAMH,GACzBG,EAAKsjB,YAAYzjB,GAGnB,SAASqhB,GAAWlhB,GAClB,OAAOA,EAAKkhB,WAGd,SAASqC,GAAYvjB,GACnB,OAAOA,EAAKujB,YAGd,SAASZ,GAAQ3iB,GACf,OAAOA,EAAK2iB,QAGd,SAASa,GAAexjB,EAAMvB,GAC5BuB,EAAKyjB,YAAchlB,EAGrB,SAASokB,GAAa7iB,EAAMrK,EAAK9B,GAC/BmM,EAAK6iB,aAAaltB,EAAK9B,GAGzB,IAAI6vB,GAAUnwB,OAAO4G,OAAO,CAC1Bmf,cAAeoJ,GACfI,gBAAiBA,GACjBE,eAAgBA,GAChBC,cAAeA,GACfC,aAAcA,GACdG,YAAaA,GACbC,YAAaA,GACbpC,WAAYA,GACZqC,YAAaA,GACbZ,QAASA,GACTa,eAAgBA,GAChBX,aAAcA,KAKZvG,GAAM,CACR1nB,OAAQ,SAAgBuB,EAAGgK,GACzBwjB,GAAYxjB,IAEdpC,OAAQ,SAAgBoc,EAAUha,GAC5Bga,EAAS5b,KAAK+d,MAAQnc,EAAM5B,KAAK+d,MACnCqH,GAAYxJ,GAAU,GACtBwJ,GAAYxjB,KAGhBka,QAAS,SAAiBla,GACxBwjB,GAAYxjB,GAAO,KAIvB,SAASwjB,GAAYxjB,EAAOyjB,GAC1B,IAAIjuB,EAAMwK,EAAM5B,KAAK+d,IACrB,GAAK3mB,EAAL,CAIA,IAAI+N,EAAKvD,EAAMxB,QACX2d,EAAMnc,EAAMjB,mBAAqBiB,EAAMzB,IACvCmlB,EAAOngB,EAAGyK,MACVyV,EACEtsB,MAAMc,QAAQyrB,EAAKluB,IACrBR,EAAO0uB,EAAKluB,GAAM2mB,GACTuH,EAAKluB,KAAS2mB,IACvBuH,EAAKluB,QAAO5C,GAGVoN,EAAM5B,KAAKulB,SACRxsB,MAAMc,QAAQyrB,EAAKluB,IAEbkuB,EAAKluB,GAAKJ,QAAQ+mB,GAAO,GAElCuH,EAAKluB,GAAK8H,KAAK6e,GAHfuH,EAAKluB,GAAO,CAAC2mB,GAMfuH,EAAKluB,GAAO2mB,GAiBlB,IAAIyH,GAAY,IAAI1lB,GAAM,GAAI,GAAI,IAE9B0I,GAAQ,CAAC,SAAU,WAAY,SAAU,SAAU,WAEvD,SAASid,GAAUltB,EAAGe,GACpB,OAAOf,EAAEnB,MAAQkC,EAAElC,MAAQmB,EAAEwH,MAAQzG,EAAEyG,KAAOxH,EAAEyI,YAAc1H,EAAE0H,WAAavM,EAAM8D,EAAEyH,QAAUvL,EAAM6E,EAAE0G,OAAS0lB,GAAcntB,EAAGe,IAAM5E,EAAO6D,EAAE6I,qBAAuB7I,EAAE+H,eAAiBhH,EAAEgH,cAAgBhM,EAAQgF,EAAEgH,aAAawI,QAGrO,SAAS4c,GAAcntB,EAAGe,GACxB,GAAc,UAAVf,EAAEwH,IACJ,OAAO,EAET,IAAIvJ,EACAmvB,EAAQlxB,EAAM+B,EAAI+B,EAAEyH,OAASvL,EAAM+B,EAAIA,EAAEmV,QAAUnV,EAAEkP,KACrDkgB,EAAQnxB,EAAM+B,EAAI8C,EAAE0G,OAASvL,EAAM+B,EAAIA,EAAEmV,QAAUnV,EAAEkP,KACzD,OAAOigB,IAAUC,GAAS7B,GAAgB4B,IAAU5B,GAAgB6B,GAGtE,SAASC,GAAkB5lB,EAAU6lB,EAAUC,GAC7C,IAAIvvB,EAAGY,EACHhB,EAAM,GACV,IAAKI,EAAIsvB,EAAUtvB,GAAKuvB,IAAUvvB,EAChCY,EAAM6I,EAASzJ,GAAGY,IACd3C,EAAM2C,KACRhB,EAAIgB,GAAOZ,GAGf,OAAOJ,EAGT,SAAS4vB,GAAoBC,GAC3B,IAAIzvB,EAAGqc,EACH/D,EAAM,GAENoX,EAAUD,EAAQC,QAClBf,EAAUc,EAAQd,QAEtB,IAAK3uB,EAAI,EAAGA,EAAIgS,GAAM/R,SAAUD,EAE9B,IADAsY,EAAItG,GAAMhS,IAAM,GACXqc,EAAI,EAAGA,EAAIqT,EAAQzvB,SAAUoc,EAC5Bpe,EAAMyxB,EAAQrT,GAAGrK,GAAMhS,MACzBsY,EAAItG,GAAMhS,IAAI0I,KAAKgnB,EAAQrT,GAAGrK,GAAMhS,KAK1C,SAAS2vB,EAAYhmB,GACnB,OAAO,IAAIL,GAAMqlB,EAAQf,QAAQjkB,GAAKzJ,cAAe,GAAI,QAAIlC,EAAW2L,GAG1E,SAASimB,EAAWC,EAAUnY,GAC5B,SAAStX,IACoB,MAArBA,EAAOsX,WACXoY,EAAWD,GAIf,OADAzvB,EAAOsX,UAAYA,EACZtX,EAGT,SAAS0vB,EAAWhV,GAClB,IAAI1Q,EAASukB,EAAQxC,WAAWrR,GAE5B7c,EAAMmM,IACRukB,EAAQL,YAAYlkB,EAAQ0Q,GAKhC,SAASiV,EAAU3kB,EAAO4kB,EAAoBnL,EAAWC,EAAQmL,GAE/D,GADA7kB,EAAMb,cAAgB0lB,GAClBzK,EAAgBpa,EAAO4kB,EAAoBnL,EAAWC,GAA1D,CAIA,IAAItb,EAAO4B,EAAM5B,KACbC,EAAW2B,EAAM3B,SACjBF,EAAM6B,EAAM7B,IACZtL,EAAMsL,IAWR6B,EAAMzB,IAAMyB,EAAMrB,GAAK4kB,EAAQZ,gBAAgB3iB,EAAMrB,GAAIR,GAAOolB,EAAQpK,cAAchb,EAAK6B,GAC3F8kB,EAAS9kB,GAIP+kB,EAAe/kB,EAAO3B,EAAUumB,GAC5B/xB,EAAMuL,IACR4mB,EAAkBhlB,EAAO4kB,GAE3B3K,EAAOR,EAAWzZ,EAAMzB,IAAKmb,IAMtB5mB,EAAOkN,EAAMZ,YACtBY,EAAMzB,IAAMglB,EAAQT,cAAc9iB,EAAM1B,MACxC2b,EAAOR,EAAWzZ,EAAMzB,IAAKmb,KAE7B1Z,EAAMzB,IAAMglB,EAAQV,eAAe7iB,EAAM1B,MACzC2b,EAAOR,EAAWzZ,EAAMzB,IAAKmb,KAIjC,SAASU,EAAgBpa,EAAO4kB,EAAoBnL,EAAWC,GAC7D,IAAI9kB,EAAIoL,EAAM5B,KACd,GAAIvL,EAAM+B,GAAI,CACZ,IAAIqwB,EAAgBpyB,EAAMmN,EAAMjB,oBAAsBnK,EAAEilB,UAQxD,GAPIhnB,EAAM+B,EAAIA,EAAEiP,OAAShR,EAAM+B,EAAIA,EAAE4kB,OACnC5kB,EAAEoL,GAAO,EAAuByZ,EAAWC,GAMzC7mB,EAAMmN,EAAMjB,mBAKd,OAJAmmB,EAAcllB,EAAO4kB,GACjB9xB,EAAOmyB,IACTE,EAAoBnlB,EAAO4kB,EAAoBnL,EAAWC,IAErD,GAKb,SAASwL,EAAcllB,EAAO4kB,GACxB/xB,EAAMmN,EAAM5B,KAAKgnB,iBACnBR,EAAmBtnB,KAAKxG,MAAM8tB,EAAoB5kB,EAAM5B,KAAKgnB,eAC7DplB,EAAM5B,KAAKgnB,cAAgB,MAE7BplB,EAAMzB,IAAMyB,EAAMjB,kBAAkB6P,IAChCyW,EAAYrlB,IACdglB,EAAkBhlB,EAAO4kB,GACzBE,EAAS9kB,KAITwjB,GAAYxjB,GAEZ4kB,EAAmBtnB,KAAK0C,IAI5B,SAASmlB,EAAoBnlB,EAAO4kB,EAAoBnL,EAAWC,GACjE,IAAI9kB,EAKA0wB,EAAYtlB,EAChB,MAAOslB,EAAUvmB,kBAEf,GADAumB,EAAYA,EAAUvmB,kBAAkB+P,OACpCjc,EAAM+B,EAAI0wB,EAAUlnB,OAASvL,EAAM+B,EAAIA,EAAE2wB,YAAa,CACxD,IAAK3wB,EAAI,EAAGA,EAAIsY,EAAIsY,SAAS3wB,SAAUD,EACrCsY,EAAIsY,SAAS5wB,GAAGgvB,GAAW0B,GAE7BV,EAAmBtnB,KAAKgoB,GACxB,MAKJrL,EAAOR,EAAWzZ,EAAMzB,IAAKmb,GAG/B,SAASO,EAAOjb,EAAQT,EAAKknB,GACvB5yB,EAAMmM,KACJnM,EAAM4yB,GACJA,EAAO1E,aAAe/hB,GACxBukB,EAAQR,aAAa/jB,EAAQT,EAAKknB,GAGpClC,EAAQJ,YAAYnkB,EAAQT,IAKlC,SAASwmB,EAAe/kB,EAAO3B,EAAUumB,GACvC,GAAIztB,MAAMc,QAAQoG,GAChB,IAAK,IAAIzJ,EAAI,EAAGA,EAAIyJ,EAASxJ,SAAUD,EACrC+vB,EAAUtmB,EAASzJ,GAAIgwB,EAAoB5kB,EAAMzB,IAAK,MAAM,QAErDvL,EAAYgN,EAAM1B,OAC3BilB,EAAQJ,YAAYnjB,EAAMzB,IAAKglB,EAAQV,eAAe7iB,EAAM1B,OAIhE,SAAS+mB,EAAYrlB,GACnB,MAAOA,EAAMjB,kBACXiB,EAAQA,EAAMjB,kBAAkB+P,OAElC,OAAOjc,EAAMmN,EAAM7B,KAGrB,SAAS6mB,EAAkBhlB,EAAO4kB,GAChC,IAAK,IAAIzX,EAAM,EAAGA,EAAMD,EAAIzY,OAAOI,SAAUsY,EAC3CD,EAAIzY,OAAO0Y,GAAKyW,GAAW5jB,GAE7BpL,EAAIoL,EAAM5B,KAAKyF,KACXhR,EAAM+B,KACJ/B,EAAM+B,EAAEH,SACVG,EAAEH,OAAOmvB,GAAW5jB,GAElBnN,EAAM+B,EAAEqlB,SACV2K,EAAmBtnB,KAAK0C,IAQ9B,SAAS8kB,EAAS9kB,GAChB,IAAIpL,EACJ,GAAI/B,EAAM+B,EAAIoL,EAAMlB,mBAClBykB,EAAQb,aAAa1iB,EAAMzB,IAAK3J,EAAG,QAC9B,CACL,IAAI8wB,EAAW1lB,EACf,MAAO0lB,EACD7yB,EAAM+B,EAAI8wB,EAASlnB,UAAY3L,EAAM+B,EAAIA,EAAEuR,SAAS6S,WACtDuK,EAAQb,aAAa1iB,EAAMzB,IAAK3J,EAAG,IAErC8wB,EAAWA,EAAS1mB,OAIpBnM,EAAM+B,EAAI+Y,KAAmB/Y,IAAMoL,EAAMxB,SAAW5J,IAAMoL,EAAMpB,mBAAqB/L,EAAM+B,EAAIA,EAAEuR,SAAS6S,WAC5GuK,EAAQb,aAAa1iB,EAAMzB,IAAK3J,EAAG,IAIvC,SAAS+wB,EAAUlM,EAAWC,EAAQtZ,EAAQwlB,EAAUzB,EAAQS,GAC9D,KAAOgB,GAAYzB,IAAUyB,EAC3BjB,EAAUvkB,EAAOwlB,GAAWhB,EAAoBnL,EAAWC,GAI/D,SAASmM,EAAkB7lB,GACzB,IAAIpL,EAAGqc,EACH7S,EAAO4B,EAAM5B,KACjB,GAAIvL,EAAMuL,GAIR,IAHIvL,EAAM+B,EAAIwJ,EAAKyF,OAAShR,EAAM+B,EAAIA,EAAEslB,UACtCtlB,EAAEoL,GAECpL,EAAI,EAAGA,EAAIsY,EAAIgN,QAAQrlB,SAAUD,EACpCsY,EAAIgN,QAAQtlB,GAAGoL,GAGnB,GAAInN,EAAM+B,EAAIoL,EAAM3B,UAClB,IAAK4S,EAAI,EAAGA,EAAIjR,EAAM3B,SAASxJ,SAAUoc,EACvC4U,EAAkB7lB,EAAM3B,SAAS4S,IAKvC,SAAS6U,EAAarM,EAAWrZ,EAAQwlB,EAAUzB,GACjD,KAAOyB,GAAYzB,IAAUyB,EAAU,CACrC,IAAIG,EAAK3lB,EAAOwlB,GACZ/yB,EAAMkzB,KACJlzB,EAAMkzB,EAAG5nB,MACX6nB,EAA0BD,GAC1BF,EAAkBE,IAGlBrB,EAAWqB,EAAGxnB,OAMtB,SAASynB,EAA0BhmB,EAAOimB,GACxC,GAAIpzB,EAAMozB,IAAOpzB,EAAMmN,EAAM5B,MAAO,CAClC,IAAIxJ,EACA0X,EAAYY,EAAIlY,OAAOH,OAAS,EAapC,IAZIhC,EAAMozB,GAGRA,EAAG3Z,WAAaA,EAGhB2Z,EAAKzB,EAAWxkB,EAAMzB,IAAK+N,GAGzBzZ,EAAM+B,EAAIoL,EAAMjB,oBAAsBlM,EAAM+B,EAAIA,EAAEka,SAAWjc,EAAM+B,EAAEwJ,OACvE4nB,EAA0BpxB,EAAGqxB,GAE1BrxB,EAAI,EAAGA,EAAIsY,EAAIlY,OAAOH,SAAUD,EACnCsY,EAAIlY,OAAOJ,GAAGoL,EAAOimB,GAEnBpzB,EAAM+B,EAAIoL,EAAM5B,KAAKyF,OAAShR,EAAM+B,EAAIA,EAAEI,QAC5CJ,EAAEoL,EAAOimB,GAETA,SAGFvB,EAAW1kB,EAAMzB,KAIrB,SAAS2nB,EAAezM,EAAW0M,EAAOC,EAAOxB,EAAoByB,GACnE,IAQIC,EAAaC,EAAUC,EAAa9M,EARpC+M,EAAc,EACdC,EAAc,EACdC,EAAYR,EAAMtxB,OAAS,EAC3B+xB,EAAgBT,EAAM,GACtBU,EAAcV,EAAMQ,GACpBG,EAAYV,EAAMvxB,OAAS,EAC3BkyB,EAAgBX,EAAM,GACtBY,EAAcZ,EAAMU,GAMpBG,GAAWZ,EAEf,MAAOI,GAAeE,GAAaD,GAAeI,EAC5Cp0B,EAAQk0B,GACVA,EAAgBT,IAAQM,GACf/zB,EAAQm0B,GACjBA,EAAcV,IAAQQ,GACb9C,GAAU+C,EAAeG,IAClCG,EAAWN,EAAeG,EAAenC,GACzCgC,EAAgBT,IAAQM,GACxBM,EAAgBX,IAAQM,IACf7C,GAAUgD,EAAaG,IAChCE,EAAWL,EAAaG,EAAapC,GACrCiC,EAAcV,IAAQQ,GACtBK,EAAcZ,IAAQU,IACbjD,GAAU+C,EAAeI,IAElCE,EAAWN,EAAeI,EAAapC,GACvCqC,GAAW1D,EAAQR,aAAatJ,EAAWmN,EAAcroB,IAAKglB,EAAQH,YAAYyD,EAAYtoB,MAC9FqoB,EAAgBT,IAAQM,GACxBO,EAAcZ,IAAQU,IACbjD,GAAUgD,EAAaE,IAEhCG,EAAWL,EAAaE,EAAenC,GACvCqC,GAAW1D,EAAQR,aAAatJ,EAAWoN,EAAYtoB,IAAKqoB,EAAcroB,KAC1EsoB,EAAcV,IAAQQ,GACtBI,EAAgBX,IAAQM,KAEpBh0B,EAAQ4zB,KACVA,EAAcrC,GAAkBkC,EAAOM,EAAaE,IAEtDJ,EAAW1zB,EAAMk0B,EAAcvxB,KAAO8wB,EAAYS,EAAcvxB,KAAO2xB,EAAaJ,EAAeZ,EAAOM,EAAaE,GACnHj0B,EAAQ6zB,GAEV5B,EAAUoC,EAAenC,EAAoBnL,EAAWmN,EAAcroB,MAEtEioB,EAAcL,EAAMI,GAKhB1C,GAAU2C,EAAaO,IACzBG,EAAWV,EAAaO,EAAenC,GACvCuB,EAAMI,QAAY3zB,EAClBq0B,GAAW1D,EAAQR,aAAatJ,EAAW+M,EAAYjoB,IAAKqoB,EAAcroB,MAG1EomB,EAAUoC,EAAenC,EAAoBnL,EAAWmN,EAAcroB,MAG1EwoB,EAAgBX,IAAQM,IAGxBD,EAAcE,GAChBjN,EAAShnB,EAAQ0zB,EAAMU,EAAY,IAAM,KAAOV,EAAMU,EAAY,GAAGvoB,IACrEonB,EAAUlM,EAAWC,EAAQ0M,EAAOM,EAAaI,EAAWlC,IACnD8B,EAAcI,GACvBhB,EAAarM,EAAW0M,EAAOM,EAAaE,GAIhD,SAASQ,EAAatnB,EAAMsmB,EAAOlvB,EAAOmwB,GACxC,IAAK,IAAIxyB,EAAIqC,EAAOrC,EAAIwyB,EAAKxyB,IAAK,CAChC,IAAIqB,EAAIkwB,EAAMvxB,GACd,GAAI/B,EAAMoD,IAAM4tB,GAAUhkB,EAAM5J,GAC9B,OAAOrB,GAKb,SAASsyB,EAAWlN,EAAUha,EAAO4kB,EAAoByB,GACvD,GAAIrM,IAAaha,EAAjB,CAIA,IAAIzB,EAAMyB,EAAMzB,IAAMyb,EAASzb,IAE/B,GAAIzL,EAAOknB,EAASxa,oBACd3M,EAAMmN,EAAMtB,aAAa4M,UAC3B+b,EAAQrN,EAASzb,IAAKyB,EAAO4kB,GAE7B5kB,EAAMR,oBAAqB,OAS/B,GAAI1M,EAAOkN,EAAMd,WAAapM,EAAOknB,EAAS9a,WAAac,EAAMxK,MAAQwkB,EAASxkB,MAAQ1C,EAAOkN,EAAMX,WAAavM,EAAOkN,EAAMV,SAC/HU,EAAMjB,kBAAoBib,EAASjb,sBADrC,CAKA,IAAInK,EACAwJ,EAAO4B,EAAM5B,KACbvL,EAAMuL,IAASvL,EAAM+B,EAAIwJ,EAAKyF,OAAShR,EAAM+B,EAAIA,EAAEmlB,WACrDnlB,EAAEolB,EAAUha,GAGd,IAAImmB,EAAQnM,EAAS3b,SACjB0nB,EAAK/lB,EAAM3B,SACf,GAAIxL,EAAMuL,IAASinB,EAAYrlB,GAAQ,CACrC,IAAKpL,EAAI,EAAGA,EAAIsY,EAAItP,OAAO/I,SAAUD,EACnCsY,EAAItP,OAAOhJ,GAAGolB,EAAUha,GAEtBnN,EAAM+B,EAAIwJ,EAAKyF,OAAShR,EAAM+B,EAAIA,EAAEgJ,SACtChJ,EAAEolB,EAAUha,GAGZtN,EAAQsN,EAAM1B,MACZzL,EAAMszB,IAAUtzB,EAAMkzB,GACpBI,IAAUJ,GACZG,EAAe3nB,EAAK4nB,EAAOJ,EAAInB,EAAoByB,GAE5CxzB,EAAMkzB,IACXlzB,EAAMmnB,EAAS1b,OACjBilB,EAAQF,eAAe9kB,EAAK,IAE9BonB,EAAUpnB,EAAK,KAAMwnB,EAAI,EAAGA,EAAGlxB,OAAS,EAAG+vB,IAClC/xB,EAAMszB,GACfL,EAAavnB,EAAK4nB,EAAO,EAAGA,EAAMtxB,OAAS,GAClChC,EAAMmnB,EAAS1b,OACxBilB,EAAQF,eAAe9kB,EAAK,IAErByb,EAAS1b,OAAS0B,EAAM1B,MACjCilB,EAAQF,eAAe9kB,EAAKyB,EAAM1B,MAEhCzL,EAAMuL,IACJvL,EAAM+B,EAAIwJ,EAAKyF,OAAShR,EAAM+B,EAAIA,EAAE0yB,YACtC1yB,EAAEolB,EAAUha,KAKlB,SAASunB,EAAiBvnB,EAAOkR,EAAOsW,GAGtC,GAAI10B,EAAO00B,IAAY30B,EAAMmN,EAAMhB,QACjCgB,EAAMhB,OAAOZ,KAAKgnB,cAAgBlU,OAElC,IAAK,IAAItc,EAAI,EAAGA,EAAIsc,EAAMrc,SAAUD,EAClCsc,EAAMtc,GAAGwJ,KAAKyF,KAAKoW,OAAO/I,EAAMtc,IAKtC,IAGI6yB,EAAmBpzB,EAAQ,iDAG/B,SAASgzB,EAAQ9oB,EAAKyB,EAAO4kB,GAC3B,GAAI9xB,EAAOkN,EAAMZ,YAAcvM,EAAMmN,EAAMtB,cAGzC,OAFAsB,EAAMzB,IAAMA,EACZyB,EAAMR,oBAAqB,GACpB,EAOTQ,EAAMzB,IAAMA,EACZ,IAAIJ,EAAM6B,EAAM7B,IACZC,EAAO4B,EAAM5B,KACbC,EAAW2B,EAAM3B,SACrB,GAAIxL,EAAMuL,KACJvL,EAAM+B,EAAIwJ,EAAKyF,OAAShR,EAAM+B,EAAIA,EAAE4kB,OACtC5kB,EAAEoL,GAAO,GAEPnN,EAAM+B,EAAIoL,EAAMjB,oBAGlB,OADAmmB,EAAcllB,EAAO4kB,IACd,EAGX,GAAI/xB,EAAMsL,GAAM,CACd,GAAItL,EAAMwL,GAER,GAAKE,EAAImpB,gBAIP,GAAI70B,EAAM+B,EAAIwJ,IAASvL,EAAM+B,EAAIA,EAAEgiB,WAAa/jB,EAAM+B,EAAIA,EAAE+yB,YAC1D,GAAI/yB,IAAM2J,EAAIopB,UAQZ,OAAO,MAEJ,CAIL,IAFA,IAAIC,GAAgB,EAChB5G,EAAYziB,EAAIspB,WACX1a,EAAM,EAAGA,EAAM9O,EAASxJ,OAAQsY,IAAO,CAC9C,IAAK6T,IAAcqG,EAAQrG,EAAW3iB,EAAS8O,GAAMyX,GAAqB,CACxEgD,GAAgB,EAChB,MAEF5G,EAAYA,EAAUoC,YAIxB,IAAKwE,GAAiB5G,EAOpB,OAAO,OAlCX+D,EAAe/kB,EAAO3B,EAAUumB,GAuCpC,GAAI/xB,EAAMuL,GACR,IAAK,IAAI5I,KAAO4I,EACd,IAAKqpB,EAAiBjyB,GAAM,CAC1BwvB,EAAkBhlB,EAAO4kB,GACzB,YAIGrmB,EAAIH,OAAS4B,EAAM1B,OAC5BC,EAAIH,KAAO4B,EAAM1B,MAEnB,OAAO,EAWT,OAAO,SAAe0b,EAAUha,EAAOyO,EAAW4X,EAAY5M,EAAWC,GACvE,IAAIhnB,EAAQsN,GAAZ,CAOA,IAAI8nB,GAAiB,EACjBlD,EAAqB,GAEzB,GAAIlyB,EAAQsnB,GAEV8N,GAAiB,EACjBnD,EAAU3kB,EAAO4kB,EAAoBnL,EAAWC,OAC3C,CACL,IAAIqO,EAAgBl1B,EAAMmnB,EAASgO,UACnC,IAAKD,GAAiBlE,GAAU7J,EAAUha,GAExCknB,EAAWlN,EAAUha,EAAO4kB,EAAoByB,OAC3C,CACL,GAAI0B,EAAe,CAQjB,GAJ0B,IAAtB/N,EAASgO,UAAkBhO,EAASiO,aAAatvB,KACnDqhB,EAASkO,gBAAgBvvB,GACzB8V,GAAY,GAEV3b,EAAO2b,IACL4Y,EAAQrN,EAAUha,EAAO4kB,GAE3B,OADA2C,EAAiBvnB,EAAO4kB,GAAoB,GACrC5K,EAOXA,EAAWuK,EAAYvK,GAGzB,IAAImO,EAASnO,EAASzb,IAClB6pB,EAAc7E,EAAQxC,WAAWoH,GAOrC,GANAxD,EAAU3kB,EAAO4kB,EAIjBuD,EAAOE,SAAW,KAAOD,EAAa7E,EAAQH,YAAY+E,IAEtDt1B,EAAMmN,EAAMhB,QAAS,CAGvB,IAAI0mB,EAAW1lB,EAAMhB,OACjBspB,EAAYjD,EAAYrlB,GAC5B,MAAO0lB,EAAU,CACf,IAAK,IAAI9wB,EAAI,EAAGA,EAAIsY,EAAIgN,QAAQrlB,SAAUD,EACxCsY,EAAIgN,QAAQtlB,GAAG8wB,GAGjB,GADAA,EAASnnB,IAAMyB,EAAMzB,IACjB+pB,EAAW,CACb,IAAK,IAAInb,EAAM,EAAGA,EAAMD,EAAIzY,OAAOI,SAAUsY,EAC3CD,EAAIzY,OAAO0Y,GAAKyW,GAAW8B,GAK7B,IAAIzL,EAASyL,EAAStnB,KAAKyF,KAAKoW,OAChC,GAAIA,EAAOpQ,OAET,IAAK,IAAI0e,EAAM,EAAGA,EAAMtO,EAAOjR,IAAInU,OAAQ0zB,IACzCtO,EAAOjR,IAAIuf,UAIf/E,GAAYkC,GAEdA,EAAWA,EAAS1mB,QAIpBnM,EAAMu1B,GACRtC,EAAasC,EAAa,CAACpO,GAAW,EAAG,GAChCnnB,EAAMmnB,EAAS7b,MACxB0nB,EAAkB7L,IAMxB,OADAuN,EAAiBvnB,EAAO4kB,EAAoBkD,GACrC9nB,EAAMzB,IAxFP1L,EAAMmnB,IACR6L,EAAkB7L,IA6F1B,IAAInV,GAAa,CACfpQ,OAAQ+zB,GACR5qB,OAAQ4qB,GACRtO,QAAS,SAA0Bla,GACjCwoB,GAAiBxoB,EAAO4jB,MAI5B,SAAS4E,GAAiBxO,EAAUha,IAC9Bga,EAAS5b,KAAKyG,YAAc7E,EAAM5B,KAAKyG,aACzC2J,GAAQwL,EAAUha,GAItB,SAASwO,GAAQwL,EAAUha,GACzB,IAQIxK,EAAKizB,EAAQC,EARbC,EAAW3O,IAAa4J,GACxBgF,EAAY5oB,IAAU4jB,GACtBiF,EAAUC,GAAsB9O,EAAS5b,KAAKyG,WAAYmV,EAASxb,SACnEuqB,EAAUD,GAAsB9oB,EAAM5B,KAAKyG,WAAY7E,EAAMxB,SAE7DwqB,EAAiB,GACjBC,EAAoB,GAGxB,IAAKzzB,KAAOuzB,EACVN,EAASI,EAAQrzB,GACjBkzB,EAAMK,EAAQvzB,GACTizB,GAQHC,EAAI1V,SAAWyV,EAAOx1B,MACtBi2B,GAAWR,EAAK,SAAU1oB,EAAOga,GAC7B0O,EAAIvuB,KAAOuuB,EAAIvuB,IAAIgvB,kBACrBF,EAAkB3rB,KAAKorB,KATzBQ,GAAWR,EAAK,OAAQ1oB,EAAOga,GAC3B0O,EAAIvuB,KAAOuuB,EAAIvuB,IAAIyG,UACrBooB,EAAe1rB,KAAKorB,IAY1B,GAAIM,EAAen0B,OAAQ,CACzB,IAAIu0B,EAAa,WACf,IAAK,IAAIx0B,EAAI,EAAGA,EAAIo0B,EAAen0B,OAAQD,IACzCs0B,GAAWF,EAAep0B,GAAI,WAAYoL,EAAOga,IAGjD2O,EACFlf,GAAezJ,EAAM5B,KAAKyF,OAAS7D,EAAM5B,KAAKyF,KAAO,IAAK,SAAUulB,GAEpEA,IAYJ,GARIH,EAAkBp0B,QACpB4U,GAAezJ,EAAM5B,KAAKyF,OAAS7D,EAAM5B,KAAKyF,KAAO,IAAK,aAAa,WACrE,IAAK,IAAIjP,EAAI,EAAGA,EAAIq0B,EAAkBp0B,OAAQD,IAC5Cs0B,GAAWD,EAAkBr0B,GAAI,mBAAoBoL,EAAOga,OAK7D2O,EACH,IAAKnzB,KAAOqzB,EACLE,EAAQvzB,IAEX0zB,GAAWL,EAAQrzB,GAAM,SAAUwkB,EAAUA,EAAU4O,GAM/D,IAAIS,GAAiBj2B,OAAOqB,OAAO,MAEnC,SAASq0B,GAAsBlkB,EAAMrB,GACnC,IAII3O,EAAG8zB,EAJHlxB,EAAMpE,OAAOqB,OAAO,MACxB,IAAKmQ,EACH,OAAOpN,EAGT,IAAK5C,EAAI,EAAGA,EAAIgQ,EAAK/P,OAAQD,IAC3B8zB,EAAM9jB,EAAKhQ,GACN8zB,EAAIY,YACPZ,EAAIY,UAAYD,IAElB7xB,EAAI+xB,GAAcb,IAAQA,EAC1BA,EAAIvuB,IAAMiL,GAAa7B,EAAG4C,SAAU,aAAcuiB,EAAIlkB,MAAM,GAE9D,OAAOhN,EAGT,SAAS+xB,GAAcb,GACrB,OAAOA,EAAIc,SAAWd,EAAIlkB,KAAO,IAAMpR,OAAOkF,KAAKowB,EAAIY,WAAa,IAAIG,KAAK,KAG/E,SAASP,GAAWR,EAAK7kB,EAAM7D,EAAOga,EAAU4O,GAC9C,IAAIlzB,EAAKgzB,EAAIvuB,KAAOuuB,EAAIvuB,IAAI0J,GAC5B,GAAInO,EACF,IACEA,EAAGsK,EAAMzB,IAAKmqB,EAAK1oB,EAAOga,EAAU4O,GACpC,MAAOxwB,IACPmO,GAAYnO,GAAG4H,EAAMxB,QAAS,aAAekqB,EAAIlkB,KAAO,IAAMX,EAAO,UAK3E,IAAI6lB,GAAc,CAACvN,GAAKtX,IAIxB,SAAS8kB,GAAY3P,EAAUha,GAC7B,IAAIpE,EAAOoE,EAAMvB,iBACjB,KAAI5L,EAAM+I,KAA4C,IAAnCA,EAAKS,KAAKkI,QAAQqlB,iBAGjCl3B,EAAQsnB,EAAS5b,KAAK2L,SAAUrX,EAAQsN,EAAM5B,KAAK2L,QAAvD,CAGA,IAAIvU,EAAKkR,EAAK6C,EACVhL,EAAMyB,EAAMzB,IACZsrB,EAAW7P,EAAS5b,KAAK2L,OAAS,GAClCA,EAAQ/J,EAAM5B,KAAK2L,OAAS,GAMhC,IAAKvU,KAJD3C,EAAMkX,EAAMhJ,UACdgJ,EAAQ/J,EAAM5B,KAAK2L,MAAQ3S,EAAO,GAAI2S,IAG5BA,EACVrD,EAAMqD,EAAMvU,GACZ+T,EAAMsgB,EAASr0B,GACX+T,IAAQ7C,GACVojB,GAAQvrB,EAAK/I,EAAKkR,GAStB,IAAKlR,KAHA6F,GAASC,IAAWyO,EAAM9W,QAAU42B,EAAS52B,OAChD62B,GAAQvrB,EAAK,QAASwL,EAAM9W,OAElB42B,EACNn3B,EAAQqX,EAAMvU,MACZmrB,GAAQnrB,GACV+I,EAAIwrB,kBAAkBrJ,GAASE,GAAaprB,IAClCgrB,GAAiBhrB,IAC3B+I,EAAI2pB,gBAAgB1yB,KAM5B,SAASs0B,GAAQpa,EAAIla,EAAKvC,GACpBwtB,GAAcjrB,GAGZqrB,GAAiB5tB,GACnByc,EAAGwY,gBAAgB1yB,IAInBvC,EAAgB,oBAARuC,GAA4C,UAAfka,EAAG8S,QAAsB,OAAShtB,EACvEka,EAAGgT,aAAaltB,EAAKvC,IAEdutB,GAAiBhrB,GAC1Bka,EAAGgT,aAAaltB,EAAKqrB,GAAiB5tB,IAAoB,UAAVA,EAAoB,QAAU,QACrE0tB,GAAQnrB,GACbqrB,GAAiB5tB,GACnByc,EAAGqa,kBAAkBrJ,GAASE,GAAaprB,IAE3Cka,EAAGsa,eAAetJ,GAASlrB,EAAKvC,GAG9B4tB,GAAiB5tB,GACnByc,EAAGwY,gBAAgB1yB,GAEnBka,EAAGgT,aAAaltB,EAAKvC,GAK3B,IAAI8W,GAAQ,CACVtV,OAAQk1B,GACR/rB,OAAQ+rB,IAKV,SAASM,GAAYjQ,EAAUha,GAC7B,IAAI0P,EAAK1P,EAAMzB,IACXH,EAAO4B,EAAM5B,KACb8rB,EAAUlQ,EAAS5b,KACvB,KAAI1L,EAAQ0L,EAAK+iB,cAAgBzuB,EAAQ0L,EAAKgjB,SAAW1uB,EAAQw3B,IAAYx3B,EAAQw3B,EAAQ/I,cAAgBzuB,EAAQw3B,EAAQ9I,SAA7H,CAIA,IAAI+I,EAAMrJ,GAAiB9gB,GAGvBoqB,EAAkB1a,EAAG2a,mBACrBx3B,EAAMu3B,KACRD,EAAMxmB,GAAOwmB,EAAK7I,GAAe8I,KAI/BD,IAAQza,EAAG4a,aACb5a,EAAGgT,aAAa,QAASyH,GACzBza,EAAG4a,WAAaH,IAIpB,IAsDII,GAtDAC,GAAQ,CACV/1B,OAAQw1B,GACRrsB,OAAQqsB,IA0BNQ,GAAc,MACdC,GAAuB,MAQ3B,SAASC,GAAgBvhB,GAEvB,GAAIvW,EAAMuW,EAAGqhB,KAAe,CAE1B,IAAIjhB,EAAQpO,EAAO,SAAW,QAC9BgO,EAAGI,GAAS,GAAG7F,OAAOyF,EAAGqhB,IAAcrhB,EAAGI,IAAU,WAC7CJ,EAAGqhB,IAKR53B,EAAMuW,EAAGshB,OACXthB,EAAGwhB,OAAS,GAAGjnB,OAAOyF,EAAGshB,IAAuBthB,EAAGwhB,QAAU,WACtDxhB,EAAGshB,KAMd,SAASG,GAAkBjW,EAASpL,EAAO1C,GACzC,IAAI/I,EAAUwsB,GACd,OAAO,SAASO,IACd,IAAItzB,EAAMod,EAAQ9d,MAAM,KAAMD,WAClB,OAARW,GACFuzB,GAASvhB,EAAOshB,EAAahkB,EAAS/I,IAK5C,SAASitB,GAAMxhB,EAAOoL,EAAS9L,EAAShC,EAAS+B,GAC/C+L,EAAUrM,GAAcqM,GACpB9L,IACF8L,EAAUiW,GAAkBjW,EAASpL,EAAO1C,IAE9CyjB,GAASzuB,iBAAiB0N,EAAOoL,EAASjZ,GAAkB,CAAEmL,QAASA,EAAS+B,QAASA,GAAY/B,GAGvG,SAASikB,GAASvhB,EAAOoL,EAAS9N,EAAS/I,IACxCA,GAAWwsB,IAAUU,oBAAoBzhB,EAAOoL,EAAQpM,WAAaoM,EAAS9N,GAGjF,SAASokB,GAAmBlR,EAAUha,GACpC,IAAItN,EAAQsnB,EAAS5b,KAAKgL,MAAO1W,EAAQsN,EAAM5B,KAAKgL,IAApD,CAGA,IAAIA,EAAKpJ,EAAM5B,KAAKgL,IAAM,GACtBC,EAAQ2Q,EAAS5b,KAAKgL,IAAM,GAChCmhB,GAAWvqB,EAAMzB,IACjBosB,GAAgBvhB,GAChBD,GAAgBC,EAAIC,EAAO2hB,GAAOD,GAAU/qB,EAAMxB,UAGpD,IAAI2sB,GAAS,CACX12B,OAAQy2B,GACRttB,OAAQstB,IAKV,SAASE,GAAepR,EAAUha,GAChC,IAAItN,EAAQsnB,EAAS5b,KAAKwY,YAAalkB,EAAQsN,EAAM5B,KAAKwY,UAA1D,CAGA,IAAIphB,EAAKkR,EACLnI,EAAMyB,EAAMzB,IACZ8sB,EAAWrR,EAAS5b,KAAKwY,UAAY,GACrC5S,EAAQhE,EAAM5B,KAAKwY,UAAY,GAMnC,IAAKphB,KAJD3C,EAAMmR,EAAMjD,UACdiD,EAAQhE,EAAM5B,KAAKwY,SAAWxf,EAAO,GAAI4M,IAG/BqnB,EACN34B,EAAQsR,EAAMxO,MAChB+I,EAAI/I,GAAO,IAGf,IAAKA,KAAOwO,EAAO,CAKjB,GAJA0C,EAAM1C,EAAMxO,GAIA,gBAARA,GAAiC,cAARA,EAAqB,CAIhD,GAHIwK,EAAM3B,WACR2B,EAAM3B,SAASxJ,OAAS,GAEtB6R,IAAQ2kB,EAAS71B,GACnB,SAI4B,IAA1B+I,EAAI+sB,WAAWz2B,QACjB0J,EAAI2kB,YAAY3kB,EAAI+sB,WAAW,IAInC,GAAY,UAAR91B,EAAiB,CAGnB+I,EAAIgtB,OAAS7kB,EAEb,IAAI8kB,EAAS94B,EAAQgU,GAAO,GAAK7S,OAAO6S,GACpC+kB,GAAkBltB,EAAKitB,KACzBjtB,EAAItL,MAAQu4B,QAGdjtB,EAAI/I,GAAOkR,IAQjB,SAAS+kB,GAAkBltB,EAAKmtB,GAC9B,OAAQntB,EAAIotB,YAA8B,WAAhBptB,EAAIikB,SAAwBoJ,GAAQrtB,EAAKmtB,IAAaG,GAAettB,EAAKmtB,IAGtG,SAASE,GAAQrtB,EAAKmtB,GAGpB,IAAII,GAAa,EAGjB,IACEA,EAAa9J,SAAS+J,gBAAkBxtB,EACxC,MAAOnG,KACT,OAAO0zB,GAAcvtB,EAAItL,QAAUy4B,EAGrC,SAASG,GAAettB,EAAKoE,GAC3B,IAAI1P,EAAQsL,EAAItL,MACZq2B,EAAY/qB,EAAIytB,YACpB,OAAIn5B,EAAMy2B,IAAcA,EAAU2C,OACzB93B,EAASlB,KAAWkB,EAASwO,GAElC9P,EAAMy2B,IAAcA,EAAU4C,KACzBj5B,EAAMi5B,SAAWvpB,EAAOupB,OAE1Bj5B,IAAU0P,EAGnB,IAAIiU,GAAW,CACbniB,OAAQ22B,GACRxtB,OAAQwtB,IAKNe,GAAiB12B,GAAO,SAAU22B,GACpC,IAAI50B,EAAM,GACN60B,EAAgB,gBAChBC,EAAoB,QAOxB,OANAF,EAAQz3B,MAAM03B,GAAe7rB,SAAQ,SAAUtL,GAC7C,GAAIA,EAAM,CACR,IAAI6d,EAAM7d,EAAKP,MAAM23B,GACrBvZ,EAAIle,OAAS,IAAM2C,EAAIub,EAAI,GAAGmZ,QAAUnZ,EAAI,GAAGmZ,YAG5C10B,KAIT,SAAS+0B,GAAmBnuB,GAC1B,IAAIouB,EAAQC,GAAsBruB,EAAKouB,OAGvC,OAAOpuB,EAAKsuB,YAAct1B,EAAOgH,EAAKsuB,YAAaF,GAASA,EAI9D,SAASC,GAAsBE,GAC7B,OAAIx1B,MAAMc,QAAQ00B,GACTp1B,EAASo1B,GAEU,kBAAjBA,EACFR,GAAeQ,GAEjBA,EAOT,SAASC,GAAS5sB,EAAO6sB,GACvB,IACIC,EADAt1B,EAAM,GAGV,GAAIq1B,EAAY,CACd,IAAI7L,EAAYhhB,EAChB,MAAOghB,EAAUjiB,kBACfiiB,EAAYA,EAAUjiB,kBAAkB+P,OACpCkS,EAAU5iB,OAAS0uB,EAAYP,GAAmBvL,EAAU5iB,QAC9DhH,EAAOI,EAAKs1B,IAKdA,EAAYP,GAAmBvsB,EAAM5B,QACvChH,EAAOI,EAAKs1B,GAGd,IAAI/L,EAAa/gB,EACjB,MAAO+gB,EAAaA,EAAW/hB,OACzB+hB,EAAW3iB,OAAS0uB,EAAYP,GAAmBxL,EAAW3iB,QAChEhH,EAAOI,EAAKs1B,GAGhB,OAAOt1B,EAKT,IAyBIu1B,GAzBAC,GAAW,MACXC,GAAc,iBACdC,GAAU,SAAiBxd,EAAIlL,EAAM9Q,GAEvC,GAAIs5B,GAASryB,KAAK6J,GAChBkL,EAAG8c,MAAMW,YAAY3oB,EAAM9Q,QACtB,GAAIu5B,GAAYtyB,KAAKjH,GAC1Bgc,EAAG8c,MAAMW,YAAY3oB,EAAM9Q,EAAIqC,QAAQk3B,GAAa,IAAK,iBACpD,CACL,IAAIG,EAAiBC,GAAU7oB,GAC/B,GAAIrN,MAAMc,QAAQvE,GAIhB,IAAK,IAAIkB,EAAI,EAAGyL,EAAM3M,EAAImB,OAAQD,EAAIyL,EAAKzL,IACzC8a,EAAG8c,MAAMY,GAAkB15B,EAAIkB,QAGjC8a,EAAG8c,MAAMY,GAAkB15B,IAK7B45B,GAAc,CAAC,SAAU,MAAO,MAGhCD,GAAY53B,GAAO,SAAUmQ,GAG/B,GAFAmnB,GAAaA,IAAc/K,SAAS7I,cAAc,OAAOqT,MACzD5mB,EAAO9P,EAAS8P,GACH,WAATA,GAAqBA,KAAQmnB,GAC/B,OAAOnnB,EAGT,IADA,IAAI2nB,EAAU3nB,EAAKxP,OAAO,GAAGF,cAAgB0P,EAAKvP,MAAM,GAC/CzB,EAAI,EAAGA,EAAI04B,GAAYz4B,OAAQD,IAAK,CAC3C,IAAI4P,EAAO8oB,GAAY14B,GAAK24B,EAC5B,GAAI/oB,KAAQuoB,GACV,OAAOvoB,MAKb,SAASgpB,GAAYxT,EAAUha,GAC7B,IAAI5B,EAAO4B,EAAM5B,KACb8rB,EAAUlQ,EAAS5b,KAEvB,KAAI1L,EAAQ0L,EAAKsuB,cAAgBh6B,EAAQ0L,EAAKouB,QAAU95B,EAAQw3B,EAAQwC,cAAgBh6B,EAAQw3B,EAAQsC,QAAxG,CAIA,IAAI9lB,EAAKlC,EACLkL,EAAK1P,EAAMzB,IACXkvB,EAAiBvD,EAAQwC,YACzBgB,EAAkBxD,EAAQyD,iBAAmBzD,EAAQsC,OAAS,GAG9DoB,EAAWH,GAAkBC,EAE7BlB,EAAQC,GAAsBzsB,EAAM5B,KAAKouB,QAAU,GAKvDxsB,EAAM5B,KAAKuvB,gBAAkB96B,EAAM25B,EAAMzrB,QAAU3J,EAAO,GAAIo1B,GAASA,EAEvE,IAAIqB,EAAWjB,GAAS5sB,GAAO,GAE/B,IAAKwE,KAAQopB,EACPl7B,EAAQm7B,EAASrpB,KACnB0oB,GAAQxd,EAAIlL,EAAM,IAGtB,IAAKA,KAAQqpB,EACXnnB,EAAMmnB,EAASrpB,GACXkC,IAAQknB,EAASppB,IAEnB0oB,GAAQxd,EAAIlL,EAAa,MAAPkC,EAAc,GAAKA,IAK3C,IAAI8lB,GAAQ,CACV/3B,OAAQ+4B,GACR5vB,OAAQ4vB,IASV,SAASM,GAASpe,EAAIya,GAEpB,GAAKA,IAASA,EAAMA,EAAI+B,QAKxB,GAAIxc,EAAGqe,UACD5D,EAAI/0B,QAAQ,MAAQ,EACtB+0B,EAAIx1B,MAAM,OAAO6L,SAAQ,SAAUvK,GACjC,OAAOyZ,EAAGqe,UAAUlxB,IAAI5G,MAG1ByZ,EAAGqe,UAAUlxB,IAAIstB,OAEd,CACL,IAAIzjB,EAAM,KAAOgJ,EAAGse,aAAa,UAAY,IAAM,IAC/CtnB,EAAItR,QAAQ,IAAM+0B,EAAM,KAAO,GACjCza,EAAGgT,aAAa,SAAUhc,EAAMyjB,GAAK+B,SAS3C,SAAS+B,GAAYve,EAAIya,GAEvB,GAAKA,IAASA,EAAMA,EAAI+B,QAKxB,GAAIxc,EAAGqe,UACD5D,EAAI/0B,QAAQ,MAAQ,EACtB+0B,EAAIx1B,MAAM,OAAO6L,SAAQ,SAAUvK,GACjC,OAAOyZ,EAAGqe,UAAU/4B,OAAOiB,MAG7ByZ,EAAGqe,UAAU/4B,OAAOm1B,GAEjBza,EAAGqe,UAAUl5B,QAChB6a,EAAGwY,gBAAgB,aAEhB,CACL,IAAIxhB,EAAM,KAAOgJ,EAAGse,aAAa,UAAY,IAAM,IAC/CE,EAAM,IAAM/D,EAAM,IACtB,MAAOzjB,EAAItR,QAAQ84B,IAAQ,EACzBxnB,EAAMA,EAAI3Q,QAAQm4B,EAAK,KAEzBxnB,EAAMA,EAAIwlB,OACNxlB,EACFgJ,EAAGgT,aAAa,QAAShc,GAEzBgJ,EAAGwY,gBAAgB,UAOzB,SAASiG,GAAkBh0B,GACzB,GAAKA,EAAL,CAIA,GAAkE,YAA9C,qBAARA,EAAsB,YAAc/H,EAAQ+H,IAAoB,CAC1E,IAAI3C,EAAM,GAKV,OAJgB,IAAZ2C,EAAIi0B,KACNh3B,EAAOI,EAAK62B,GAAkBl0B,EAAIqK,MAAQ,MAE5CpN,EAAOI,EAAK2C,GACL3C,EACF,MAAmB,kBAAR2C,EACTk0B,GAAkBl0B,QADpB,GAKT,IAAIk0B,GAAoB54B,GAAO,SAAU+O,GACvC,MAAO,CACL8pB,WAAY9pB,EAAO,SACnB+pB,aAAc/pB,EAAO,YACrBgqB,iBAAkBhqB,EAAO,gBACzBiqB,WAAYjqB,EAAO,SACnBkqB,aAAclqB,EAAO,YACrBmqB,iBAAkBnqB,EAAO,oBAIzBoqB,GAAgB7zB,IAAcM,EAC9BwzB,GAAa,aACbC,GAAY,YAGZC,GAAiB,aACjBC,GAAqB,gBACrBC,GAAgB,YAChBC,GAAoB,eACpBN,UAE6Bh8B,IAA3BoI,OAAOm0B,sBAAkEv8B,IAAjCoI,OAAOo0B,wBACjDL,GAAiB,mBACjBC,GAAqB,4BAEOp8B,IAA1BoI,OAAOq0B,qBAAgEz8B,IAAhCoI,OAAOs0B,uBAChDL,GAAgB,kBAChBC,GAAoB,uBAKxB,IAAIK,GAAMx0B,EAAYC,OAAOw0B,sBAAwBx0B,OAAOw0B,sBAAsBh5B,KAAKwE,QAAU4M,WAAuC,SAAUlS,GAChJ,OAAOA,KAGT,SAAS+5B,GAAU/5B,GACjB65B,IAAI,WACFA,GAAI75B,MAIR,SAASg6B,GAAmBhgB,EAAIya,GAC9B,IAAIwF,EAAoBjgB,EAAG2a,qBAAuB3a,EAAG2a,mBAAqB,IACtEsF,EAAkBv6B,QAAQ+0B,GAAO,IACnCwF,EAAkBryB,KAAK6sB,GACvB2D,GAASpe,EAAIya,IAIjB,SAASyF,GAAsBlgB,EAAIya,GAC7Bza,EAAG2a,oBACLr1B,EAAO0a,EAAG2a,mBAAoBF,GAEhC8D,GAAYve,EAAIya,GAGlB,SAAS0F,GAAmBngB,EAAIogB,EAAcpnB,GAC5C,IAAIyT,EAAM4T,GAAkBrgB,EAAIogB,GAC5BhsB,EAAOqY,EAAIrY,KACXmI,EAAUkQ,EAAIlQ,QACd+jB,EAAY7T,EAAI6T,UACpB,IAAKlsB,EACH,OAAO4E,IAET,IAAIc,EAAQ1F,IAAS+qB,GAAaG,GAAqBE,GACnDe,EAAQ,EACR7I,EAAM,WACR1X,EAAGub,oBAAoBzhB,EAAO0mB,GAC9BxnB,KAEEwnB,EAAQ,SAAe93B,GACrBA,EAAEqF,SAAWiS,KACTugB,GAASD,GACb5I,KAINxf,YAAW,WACLqoB,EAAQD,GACV5I,MAEDnb,EAAU,GACbyD,EAAG5T,iBAAiB0N,EAAO0mB,GAG7B,IAAIC,GAAc,yBAElB,SAASJ,GAAkBrgB,EAAIogB,GAC7B,IAQIhsB,EARAssB,EAASp1B,OAAOq1B,iBAAiB3gB,GACjC4gB,EAAmBF,EAAOrB,GAAiB,SAASp6B,MAAM,MAC1D47B,EAAsBH,EAAOrB,GAAiB,YAAYp6B,MAAM,MAChE67B,EAAoBC,GAAWH,EAAkBC,GACjDG,EAAkBN,EAAOnB,GAAgB,SAASt6B,MAAM,MACxDg8B,EAAqBP,EAAOnB,GAAgB,YAAYt6B,MAAM,MAC9Di8B,EAAmBH,GAAWC,EAAiBC,GAG/C1kB,EAAU,EACV+jB,EAAY,EAEZF,IAAiBjB,GACf2B,EAAoB,IACtB1sB,EAAO+qB,GACP5iB,EAAUukB,EACVR,EAAYO,EAAoB17B,QAEzBi7B,IAAiBhB,GACtB8B,EAAmB,IACrB9sB,EAAOgrB,GACP7iB,EAAU2kB,EACVZ,EAAYW,EAAmB97B,SAGjCoX,EAAUnY,KAAK8O,IAAI4tB,EAAmBI,GACtC9sB,EAAOmI,EAAU,EAAIukB,EAAoBI,EAAmB/B,GAAaC,GAAY,KACrFkB,EAAYlsB,EAAOA,IAAS+qB,GAAa0B,EAAoB17B,OAAS87B,EAAmB97B,OAAS,GAEpG,IAAIg8B,EAAe/sB,IAAS+qB,IAAcsB,GAAYx1B,KAAKy1B,EAAOrB,GAAiB,aACnF,MAAO,CACLjrB,KAAMA,EACNmI,QAASA,EACT+jB,UAAWA,EACXa,aAAcA,GAIlB,SAASJ,GAAWK,EAAQC,GAE1B,MAAOD,EAAOj8B,OAASk8B,EAAUl8B,OAC/Bi8B,EAASA,EAAOntB,OAAOmtB,GAGzB,OAAOh9B,KAAK8O,IAAI9L,MAAM,KAAMi6B,EAAUv8B,KAAI,SAAU0kB,EAAGtkB,GACrD,OAAOo8B,GAAK9X,GAAK8X,GAAKF,EAAOl8B,QAIjC,SAASo8B,GAAKC,GACZ,OAAgC,IAAzBtR,OAAOsR,EAAE56B,MAAM,GAAI,IAK5B,SAAS66B,GAAMlxB,EAAOmxB,GACpB,IAAIzhB,EAAK1P,EAAMzB,IAGX1L,EAAM6c,EAAG2Y,YACX3Y,EAAG2Y,SAAS+I,WAAY,EACxB1hB,EAAG2Y,YAGL,IAAIjqB,EAAO+vB,GAAkBnuB,EAAM5B,KAAKmnB,YACxC,IAAI7yB,EAAQ0L,KAKRvL,EAAM6c,EAAG2hB,WAA6B,IAAhB3hB,EAAGsY,SAA7B,CAIA,IAAIoG,EAAMhwB,EAAKgwB,IACXtqB,EAAO1F,EAAK0F,KACZwqB,EAAalwB,EAAKkwB,WAClBC,EAAenwB,EAAKmwB,aACpBC,EAAmBpwB,EAAKowB,iBACxB8C,EAAclzB,EAAKkzB,YACnBC,EAAgBnzB,EAAKmzB,cACrBC,EAAoBpzB,EAAKozB,kBACzBC,EAAcrzB,EAAKqzB,YACnBP,EAAQ9yB,EAAK8yB,MACbQ,EAAatzB,EAAKszB,WAClBC,EAAiBvzB,EAAKuzB,eACtBC,EAAexzB,EAAKwzB,aACpBC,EAASzzB,EAAKyzB,OACdC,EAAc1zB,EAAK0zB,YACnBC,EAAkB3zB,EAAK2zB,gBACvBC,EAAW5zB,EAAK4zB,SAMhBxzB,EAAUmP,GACVskB,EAAiBtkB,GAAeyB,OACpC,MAAO6iB,GAAkBA,EAAejzB,OACtCizB,EAAiBA,EAAejzB,OAChCR,EAAUyzB,EAAezzB,QAG3B,IAAI0zB,GAAY1zB,EAAQ4P,aAAepO,EAAMb,aAE7C,IAAI+yB,GAAaL,GAAqB,KAAXA,EAA3B,CAIA,IAAIM,EAAaD,GAAYZ,EAAcA,EAAchD,EACrD8D,EAAcF,GAAYV,EAAoBA,EAAoBhD,EAClE6D,EAAUH,GAAYX,EAAgBA,EAAgBhD,EAEtD+D,EAAkBJ,GAAWN,GAA8BH,EAC3Dc,EAAYL,GAA6B,oBAAXL,EAAwBA,EAAiBX,EACvEsB,EAAiBN,GAAWJ,GAA4BJ,EACxDe,EAAqBP,GAAWH,GAAoCJ,EAEpEe,EAAwBv+B,EAASjB,EAAS8+B,GAAYA,EAASd,MAAQc,GAEvE,EAIJ,IAAIW,GAAqB,IAARvE,IAAkB/yB,EAC/Bu3B,EAAmBC,GAAuBN,GAE1C7pB,EAAKgH,EAAG2hB,SAAW54B,GAAK,WACtBk6B,IACF/C,GAAsBlgB,EAAI2iB,GAC1BzC,GAAsBlgB,EAAI0iB,IAExB1pB,EAAG0oB,WACDuB,GACF/C,GAAsBlgB,EAAIyiB,GAE5BM,GAAsBA,EAAmB/iB,IAEzC8iB,GAAkBA,EAAe9iB,GAEnCA,EAAG2hB,SAAW,QAGXrxB,EAAM5B,KAAK00B,MAEdrpB,GAAezJ,EAAM5B,KAAKyF,OAAS7D,EAAM5B,KAAKyF,KAAO,IAAK,UAAU,WAClE,IAAI7E,EAAS0Q,EAAGqR,WACZgS,EAAc/zB,GAAUA,EAAOg0B,UAAYh0B,EAAOg0B,SAAShzB,EAAMxK,KACjEu9B,GAAeA,EAAY50B,MAAQ6B,EAAM7B,KAAO40B,EAAYx0B,IAAI8pB,UAClE0K,EAAYx0B,IAAI8pB,WAElBkK,GAAaA,EAAU7iB,EAAIhH,MAK/B4pB,GAAmBA,EAAgB5iB,GAC/BijB,IACFjD,GAAmBhgB,EAAIyiB,GACvBzC,GAAmBhgB,EAAI0iB,GACvB3C,IAAU,WACRC,GAAmBhgB,EAAI2iB,GACvBzC,GAAsBlgB,EAAIyiB,GACrBzpB,EAAG0oB,WAAcwB,IAChBK,GAAgBP,GAClB9qB,WAAWc,EAAIgqB,GAEf7C,GAAmBngB,EAAI5L,EAAM4E,QAMjC1I,EAAM5B,KAAK00B,OACb3B,GAAiBA,IACjBoB,GAAaA,EAAU7iB,EAAIhH,IAGxBiqB,GAAeC,GAClBlqB,MAIJ,SAASwqB,GAAMlzB,EAAOimB,GACpB,IAAIvW,EAAK1P,EAAMzB,IAGX1L,EAAM6c,EAAG2hB,YACX3hB,EAAG2hB,SAASD,WAAY,EACxB1hB,EAAG2hB,YAGL,IAAIjzB,EAAO+vB,GAAkBnuB,EAAM5B,KAAKmnB,YACxC,GAAI7yB,EAAQ0L,GACV,OAAO6nB,IAIT,IAAIpzB,EAAM6c,EAAG2Y,WAA6B,IAAhB3Y,EAAGsY,SAA7B,CAIA,IAAIoG,EAAMhwB,EAAKgwB,IACXtqB,EAAO1F,EAAK0F,KACZ2qB,EAAarwB,EAAKqwB,WAClBC,EAAetwB,EAAKswB,aACpBC,EAAmBvwB,EAAKuwB,iBACxBwE,EAAc/0B,EAAK+0B,YACnBD,EAAQ90B,EAAK80B,MACbE,EAAah1B,EAAKg1B,WAClBC,EAAiBj1B,EAAKi1B,eACtBC,EAAal1B,EAAKk1B,WAClBtB,EAAW5zB,EAAK4zB,SAEhBW,GAAqB,IAARvE,IAAkB/yB,EAC/Bu3B,EAAmBC,GAAuBK,GAE1CK,EAAwBp/B,EAASjB,EAAS8+B,GAAYA,EAASkB,MAAQlB,GAEvE,EAIJ,IAAItpB,EAAKgH,EAAG2Y,SAAW5vB,GAAK,WACtBiX,EAAGqR,YAAcrR,EAAGqR,WAAWiS,WACjCtjB,EAAGqR,WAAWiS,SAAShzB,EAAMxK,KAAO,MAElCm9B,IACF/C,GAAsBlgB,EAAIgf,GAC1BkB,GAAsBlgB,EAAIif,IAExBjmB,EAAG0oB,WACDuB,GACF/C,GAAsBlgB,EAAI+e,GAE5B4E,GAAkBA,EAAe3jB,KAEjCuW,IACAmN,GAAcA,EAAW1jB,IAE3BA,EAAG2Y,SAAW,QAGZiL,EACFA,EAAWE,GAEXA,IAGF,SAASA,IAEH9qB,EAAG0oB,YAIFpxB,EAAM5B,KAAK00B,QACbpjB,EAAGqR,WAAWiS,WAAatjB,EAAGqR,WAAWiS,SAAW,KAAKhzB,EAAMxK,KAAOwK,GAEzEmzB,GAAeA,EAAYzjB,GACvBijB,IACFjD,GAAmBhgB,EAAI+e,GACvBiB,GAAmBhgB,EAAIif,GACvBc,IAAU,WACRC,GAAmBhgB,EAAIgf,GACvBkB,GAAsBlgB,EAAI+e,GACrB/lB,EAAG0oB,WAAcwB,IAChBK,GAAgBM,GAClB3rB,WAAWc,EAAI6qB,GAEf1D,GAAmBngB,EAAI5L,EAAM4E,QAKrCwqB,GAASA,EAAMxjB,EAAIhH,GACdiqB,GAAeC,GAClBlqB,MAcN,SAASuqB,GAAgBv/B,GACvB,MAAsB,kBAARA,IAAqBU,MAAMV,GAS3C,SAASm/B,GAAuBn9B,GAC9B,GAAIhD,EAAQgD,GACV,OAAO,EAET,IAAI+9B,EAAa/9B,EAAGsT,IACpB,OAAInW,EAAM4gC,GAEDZ,GAAuB17B,MAAMc,QAAQw7B,GAAcA,EAAW,GAAKA,IAElE/9B,EAAGqB,SAAWrB,EAAGb,QAAU,EAIvC,SAAS6+B,GAAO19B,EAAGgK,IACO,IAApBA,EAAM5B,KAAK00B,MACb5B,GAAMlxB,GAIV,IAAIulB,GAAaxqB,EAAY,CAC3BtG,OAAQi/B,GACRlO,SAAUkO,GACV1+B,OAAQ,SAAmBgL,EAAOimB,IAER,IAApBjmB,EAAM5B,KAAK00B,KACbI,GAAMlzB,EAAOimB,GAEbA,MAGF,GAEA0N,GAAkB,CAAC5pB,GAAOygB,GAAOW,GAAQvU,GAAU4V,GAAOjH,IAM1DjB,GAAUqP,GAAgBhwB,OAAO+lB,IAEjCkK,GAAQxP,GAAoB,CAAEb,QAASA,GAASe,QAASA,KAQzDjpB,GAEF2mB,SAASlmB,iBAAiB,mBAAmB,WAC3C,IAAI4T,EAAKsS,SAAS+J,cACdrc,GAAMA,EAAGmkB,QACXC,GAAQpkB,EAAI,YAKlB,IAAIqkB,GAAU,CACZnzB,SAAU,SAAkB8O,EAAIskB,EAASh0B,GACrB,WAAdA,EAAM7B,KACR81B,GAAYvkB,EAAIskB,EAASh0B,EAAMxB,SAC/BkR,EAAGwkB,UAAY,GAAG1/B,IAAIjB,KAAKmc,EAAGnL,QAAS4vB,MAChB,aAAdn0B,EAAM7B,KAAsBgkB,GAAgBzS,EAAG5L,SACxD4L,EAAGsc,YAAcgI,EAAQ1K,UACpB0K,EAAQ1K,UAAUjX,OAKrB3C,EAAG5T,iBAAiB,SAAUs4B,IACzB74B,IACHmU,EAAG5T,iBAAiB,mBAAoBu4B,IACxC3kB,EAAG5T,iBAAiB,iBAAkBs4B,KAGpC/4B,IACFqU,EAAGmkB,QAAS,MAKpB1K,iBAAkB,SAA0BzZ,EAAIskB,EAASh0B,GACvD,GAAkB,WAAdA,EAAM7B,IAAkB,CAC1B81B,GAAYvkB,EAAIskB,EAASh0B,EAAMxB,SAK/B,IAAI81B,EAAc5kB,EAAGwkB,UACjBK,EAAa7kB,EAAGwkB,UAAY,GAAG1/B,IAAIjB,KAAKmc,EAAGnL,QAAS4vB,IACxD,GAAII,EAAWC,MAAK,SAAUC,EAAG7/B,GAC/B,OAAQiD,EAAW48B,EAAGH,EAAY1/B,OAChC,CAGF,IAAI8/B,EAAYhlB,EAAG+S,SAAWuR,EAAQ/gC,MAAMuhC,MAAK,SAAU7hC,GACzD,OAAOgiC,GAAoBhiC,EAAG4hC,MAC3BP,EAAQ/gC,QAAU+gC,EAAQhhB,UAAY2hB,GAAoBX,EAAQ/gC,MAAOshC,GAC1EG,GACFZ,GAAQpkB,EAAI,cAOtB,SAASukB,GAAYvkB,EAAIskB,EAASzwB,GAChCqxB,GAAoBllB,EAAIskB,EAASzwB,IAE7BnI,GAAQE,IACVsM,YAAW,WACTgtB,GAAoBllB,EAAIskB,EAASzwB,KAChC,GAIP,SAASqxB,GAAoBllB,EAAIskB,EAASzwB,GACxC,IAAItQ,EAAQ+gC,EAAQ/gC,MAChB4hC,EAAanlB,EAAG+S,SACpB,IAAIoS,GAAe19B,MAAMc,QAAQhF,GAAjC,CAKA,IADA,IAAIovB,EAAUyS,EACLlgC,EAAI,EAAGgC,EAAI8Y,EAAGnL,QAAQ1P,OAAQD,EAAIgC,EAAGhC,IAE5C,GADAkgC,EAASplB,EAAGnL,QAAQ3P,GAChBigC,EACFxS,EAAW7pB,EAAavF,EAAOkhC,GAASW,KAAY,EAChDA,EAAOzS,WAAaA,IACtByS,EAAOzS,SAAWA,QAGpB,GAAIxqB,EAAWs8B,GAASW,GAAS7hC,GAI/B,YAHIyc,EAAGqlB,gBAAkBngC,IACvB8a,EAAGqlB,cAAgBngC,IAMtBigC,IACHnlB,EAAGqlB,eAAiB,IAIxB,SAASJ,GAAoB1hC,EAAOsR,GAClC,OAAOA,EAAQpM,OAAM,SAAUs8B,GAC7B,OAAQ58B,EAAW48B,EAAGxhC,MAI1B,SAASkhC,GAASW,GAChB,MAAO,WAAYA,EAASA,EAAOvJ,OAASuJ,EAAO7hC,MAGrD,SAASohC,GAAmBj8B,GAC1BA,EAAEqF,OAAOkuB,WAAY,EAGvB,SAASyI,GAAiBh8B,GAEnBA,EAAEqF,OAAOkuB,YAGdvzB,EAAEqF,OAAOkuB,WAAY,EACrBmI,GAAQ17B,EAAEqF,OAAQ,UAGpB,SAASq2B,GAAQpkB,EAAI5L,GACnB,IAAI1L,EAAI4pB,SAASgT,YAAY,cAC7B58B,EAAE68B,UAAUnxB,GAAM,GAAM,GACxB4L,EAAGwlB,cAAc98B,GAMnB,SAAS+8B,GAAWn1B,GAClB,OAAOA,EAAMjB,mBAAuBiB,EAAM5B,MAAS4B,EAAM5B,KAAKmnB,WAA2DvlB,EAA7Cm1B,GAAWn1B,EAAMjB,kBAAkB+P,QAGjH,IAAIgkB,GAAO,CACTt8B,KAAM,SAAckZ,EAAIyM,EAAKnc,GAC3B,IAAI/M,EAAQkpB,EAAIlpB,MAEhB+M,EAAQm1B,GAAWn1B,GACnB,IAAIo1B,EAAgBp1B,EAAM5B,MAAQ4B,EAAM5B,KAAKmnB,WACzC8P,EAAkB3lB,EAAG4lB,mBAA0C,SAArB5lB,EAAG8c,MAAM+I,QAAqB,GAAK7lB,EAAG8c,MAAM+I,QACtFtiC,GAASmiC,GACXp1B,EAAM5B,KAAK00B,MAAO,EAClB5B,GAAMlxB,GAAO,WACX0P,EAAG8c,MAAM+I,QAAUF,MAGrB3lB,EAAG8c,MAAM+I,QAAUtiC,EAAQoiC,EAAkB,QAIjDz3B,OAAQ,SAAgB8R,EAAIyM,EAAKnc,GAC/B,IAAI/M,EAAQkpB,EAAIlpB,MACZ+f,EAAWmJ,EAAInJ,SAGnB,GAAI/f,IAAU+f,EAAd,CAGAhT,EAAQm1B,GAAWn1B,GACnB,IAAIo1B,EAAgBp1B,EAAM5B,MAAQ4B,EAAM5B,KAAKmnB,WACzC6P,GACFp1B,EAAM5B,KAAK00B,MAAO,EACd7/B,EACFi+B,GAAMlxB,GAAO,WACX0P,EAAG8c,MAAM+I,QAAU7lB,EAAG4lB,sBAGxBpC,GAAMlzB,GAAO,WACX0P,EAAG8c,MAAM+I,QAAU,WAIvB7lB,EAAG8c,MAAM+I,QAAUtiC,EAAQyc,EAAG4lB,mBAAqB,SAIvDE,OAAQ,SAAgB9lB,EAAIskB,EAASh0B,EAAOga,EAAU4O,GAC/CA,IACHlZ,EAAG8c,MAAM+I,QAAU7lB,EAAG4lB,sBAKxBG,GAAqB,CACvBjb,MAAOuZ,GACPjB,KAAMA,IAQJ4C,GAAkB,CACpBlxB,KAAM3Q,OACNg+B,OAAQ9rB,QACRqoB,IAAKroB,QACL4vB,KAAM9hC,OACNiQ,KAAMjQ,OACNy6B,WAAYz6B,OACZ46B,WAAY56B,OACZ06B,aAAc16B,OACd66B,aAAc76B,OACd26B,iBAAkB36B,OAClB86B,iBAAkB96B,OAClBy9B,YAAaz9B,OACb29B,kBAAmB39B,OACnB09B,cAAe19B,OACfm+B,SAAU,CAACrS,OAAQ9rB,OAAQT,SAK7B,SAASwiC,GAAa51B,GACpB,IAAI61B,EAAc71B,GAASA,EAAMvB,iBACjC,OAAIo3B,GAAeA,EAAYx5B,KAAKkI,QAAQsJ,SACnC+nB,GAAa1pB,GAAuB2pB,EAAYx3B,WAEhD2B,EAIX,SAAS81B,GAAsBhrB,GAC7B,IAAI1M,EAAO,GACPmG,EAAUuG,EAAK3E,SAEnB,IAAK,IAAI3Q,KAAO+O,EAAQoB,UACtBvH,EAAK5I,GAAOsV,EAAKtV,GAInB,IAAI8W,EAAY/H,EAAQgI,iBACxB,IAAK,IAAIxI,KAASuI,EAChBlO,EAAKtI,EAASiO,IAAUuI,EAAUvI,GAEpC,OAAO3F,EAGT,SAAS23B,GAAYC,EAAGC,GACtB,GAAI,iBAAiBt7B,KAAKs7B,EAAS93B,KACjC,OAAO63B,EAAE,aAAc,CACrBhyB,MAAOiyB,EAASx3B,iBAAiBkH,YAKvC,SAASuwB,GAAoBl2B,GAC3B,MAAOA,EAAQA,EAAMhB,OACnB,GAAIgB,EAAM5B,KAAKmnB,WACb,OAAO,EAKb,SAAS4Q,GAAYz2B,EAAO02B,GAC1B,OAAOA,EAAS5gC,MAAQkK,EAAMlK,KAAO4gC,EAASj4B,MAAQuB,EAAMvB,IAG9D,IAAIk4B,GAAa,CACf7xB,KAAM,aACNR,MAAO0xB,GACP7nB,UAAU,EAEV+B,OAAQ,SAAgBomB,GACtB,IAAI/oB,EAAS9a,KAETkM,EAAWlM,KAAKgU,SAASgK,gBAC7B,GAAK9R,IAKLA,EAAWA,EAASqX,QAAO,SAAUzf,GACnC,OAAOA,EAAEkI,KAAOqB,GAAmBvJ,MAGhCoI,EAASxJ,QAAd,CAKI,EAIJ,IAAI8gC,EAAOxjC,KAAKwjC,KAGZ,EAIJ,IAAIM,EAAW53B,EAAS,GAIxB,GAAI63B,GAAoB/jC,KAAKid,QAC3B,OAAO6mB,EAKT,IAAIv2B,EAAQk2B,GAAaK,GAEzB,IAAKv2B,EACH,OAAOu2B,EAGT,GAAI9jC,KAAKmkC,SACP,OAAOP,GAAYC,EAAGC,GAMxB,IAAI/4B,EAAK,gBAAkB/K,KAAKqqB,KAAO,IACvC9c,EAAMlK,IAAmB,MAAbkK,EAAMlK,IAAckK,EAAMN,UAAYlC,EAAK,UAAYA,EAAKwC,EAAMvB,IAAMnL,EAAY0M,EAAMlK,KAAyC,IAAlC3B,OAAO6L,EAAMlK,KAAKJ,QAAQ8H,GAAYwC,EAAMlK,IAAM0H,EAAKwC,EAAMlK,IAAMkK,EAAMlK,IAEtL,IAAI4I,GAAQsB,EAAMtB,OAASsB,EAAMtB,KAAO,KAAKmnB,WAAauQ,GAAsB3jC,MAC5EokC,EAAcpkC,KAAK2c,OACnBsnB,EAAWR,GAAaW,GAU5B,GANI72B,EAAMtB,KAAKyG,YAAcnF,EAAMtB,KAAKyG,WAAW2vB,MAAK,SAAUtb,GAChE,MAAkB,SAAXA,EAAE1U,UAET9E,EAAMtB,KAAK00B,MAAO,GAGhBsD,GAAYA,EAASh4B,OAAS+3B,GAAYz2B,EAAO02B,KAAc52B,GAAmB42B,GAAW,CAG/F,IAAIlM,EAAUkM,EAASh4B,KAAKmnB,WAAanuB,EAAO,GAAIgH,GAEpD,GAAa,WAATu3B,EAOF,OALAxjC,KAAKmkC,UAAW,EAChB7sB,GAAeygB,EAAS,cAAc,WACpCjd,EAAOqpB,UAAW,EAClBrpB,EAAOrB,kBAEFmqB,GAAYC,EAAGC,GACjB,GAAa,WAATN,EAAmB,CAC5B,GAAIn2B,GAAmBE,GACrB,OAAO62B,EAET,IAAIC,EACAhD,EAAe,WACjBgD,KAEF/sB,GAAerL,EAAM,aAAco1B,GACnC/pB,GAAerL,EAAM,iBAAkBo1B,GACvC/pB,GAAeygB,EAAS,cAAc,SAAUgJ,GAC9CsD,EAAetD,MAKrB,OAAO+C,KAiBPjyB,GAAQ5M,EAAO,CACjB+G,IAAKtK,OACL4iC,UAAW5iC,QACV6hC,WAEI1xB,GAAM2xB,KAEb,IAAIe,GAAkB,CACpB1yB,MAAOA,GAEP4L,OAAQ,SAAgBomB,GAQtB,IAPA,IAAI73B,EAAMhM,KAAKgM,KAAOhM,KAAKid,OAAOhR,KAAKD,KAAO,OAC1C3J,EAAMpB,OAAOqB,OAAO,MACpBkiC,EAAexkC,KAAKwkC,aAAexkC,KAAKkM,SACxCu4B,EAAczkC,KAAKwe,OAAOzK,SAAW,GACrC7H,EAAWlM,KAAKkM,SAAW,GAC3Bw4B,EAAiBf,GAAsB3jC,MAElCyC,EAAI,EAAGA,EAAIgiC,EAAY/hC,OAAQD,IAAK,CAC3C,IAAIqB,EAAI2gC,EAAYhiC,GACpB,GAAIqB,EAAEkI,IACJ,GAAa,MAATlI,EAAET,KAAoD,IAArC3B,OAAOoC,EAAET,KAAKJ,QAAQ,WACzCiJ,EAASf,KAAKrH,GACdzB,EAAIyB,EAAET,KAAOS,GAAGA,EAAEmI,OAASnI,EAAEmI,KAAO,KAAKmnB,WAAasR,QAS5D,GAAIF,EAAc,CAGhB,IAFA,IAAIG,EAAO,GACPC,EAAU,GACL5pB,EAAM,EAAGA,EAAMwpB,EAAa9hC,OAAQsY,IAAO,CAClD,IAAI6pB,EAAML,EAAaxpB,GACvB6pB,EAAI54B,KAAKmnB,WAAasR,EACtBG,EAAI54B,KAAK64B,IAAMD,EAAIz4B,IAAI24B,wBACnB1iC,EAAIwiC,EAAIxhC,KACVshC,EAAKx5B,KAAK05B,GAEVD,EAAQz5B,KAAK05B,GAGjB7kC,KAAK2kC,KAAOd,EAAE73B,EAAK,KAAM24B,GACzB3kC,KAAK4kC,QAAUA,EAGjB,OAAOf,EAAE73B,EAAK,KAAME,IAGtB84B,aAAc,WAEZhlC,KAAK6c,UAAU7c,KAAK2c,OAAQ3c,KAAK2kC,MAAM,GACvC,GAEA3kC,KAAK2c,OAAS3c,KAAK2kC,MAGrBM,QAAS,WACP,IAAI/4B,EAAWlM,KAAKwkC,aAChBF,EAAYtkC,KAAKskC,YAActkC,KAAKqS,MAAQ,KAAO,QAClDnG,EAASxJ,QAAW1C,KAAKklC,QAAQh5B,EAAS,GAAGE,IAAKk4B,KAMvDp4B,EAASmC,QAAQ82B,IACjBj5B,EAASmC,QAAQ+2B,IACjBl5B,EAASmC,QAAQg3B,IAKjBrlC,KAAKslC,QAAUzV,SAAS0V,KAAKC,aAE7Bt5B,EAASmC,SAAQ,SAAUvK,GACzB,GAAIA,EAAEmI,KAAKw5B,MAAO,CAChB,IAAIloB,EAAKzZ,EAAEsI,IACP0yB,EAAIvhB,EAAG8c,MACXkD,GAAmBhgB,EAAI+mB,GACvBxF,EAAE4G,UAAY5G,EAAE6G,gBAAkB7G,EAAE8G,mBAAqB,GACzDroB,EAAG5T,iBAAiBkzB,GAAoBtf,EAAGsoB,QAAU,SAAStvB,EAAGtQ,GAC1DA,IAAK,aAAauC,KAAKvC,EAAE6/B,gBAC5BvoB,EAAGub,oBAAoB+D,GAAoBtmB,GAC3CgH,EAAGsoB,QAAU,KACbpI,GAAsBlgB,EAAI+mB,YAOpCxyB,QAAS,CACPozB,QAAS,SAAiB3nB,EAAI+mB,GAE5B,IAAK7H,GACH,OAAO,EAGT,GAAIz8B,KAAK+lC,SACP,OAAO/lC,KAAK+lC,SAOd,IAAIC,EAAQzoB,EAAG0oB,YACX1oB,EAAG2a,oBACL3a,EAAG2a,mBAAmB7pB,SAAQ,SAAU2pB,GACtC8D,GAAYkK,EAAOhO,MAGvB2D,GAASqK,EAAO1B,GAChB0B,EAAM3L,MAAM+I,QAAU,OACtBpjC,KAAKyc,IAAIuU,YAAYgV,GACrB,IAAI1xB,EAAOspB,GAAkBoI,GAE7B,OADAhmC,KAAKyc,IAAIsU,YAAYiV,GACdhmC,KAAK+lC,SAAWzxB,EAAKoqB,gBAKlC,SAASyG,GAAerhC,GAElBA,EAAEsI,IAAIy5B,SACR/hC,EAAEsI,IAAIy5B,UAGJ/hC,EAAEsI,IAAI8yB,UACRp7B,EAAEsI,IAAI8yB,WAIV,SAASkG,GAAethC,GACtBA,EAAEmI,KAAKi6B,OAASpiC,EAAEsI,IAAI24B,wBAGxB,SAASM,GAAiBvhC,GACxB,IAAIqiC,EAASriC,EAAEmI,KAAK64B,IAChBoB,EAASpiC,EAAEmI,KAAKi6B,OAChBE,EAAKD,EAAOE,KAAOH,EAAOG,KAC1BC,EAAKH,EAAOI,IAAML,EAAOK,IAC7B,GAAIH,GAAME,EAAI,CACZxiC,EAAEmI,KAAKw5B,OAAQ,EACf,IAAI3G,EAAIh7B,EAAEsI,IAAIiuB,MACdyE,EAAE4G,UAAY5G,EAAE6G,gBAAkB,aAAeS,EAAK,MAAQE,EAAK,MACnExH,EAAE8G,mBAAqB,MAI3B,IAAIY,GAAqB,CACvBtC,WAAYA,GACZK,gBAAiBA,IAMnBlZ,GAAM1kB,OAAOe,YAAcA,GAC3B2jB,GAAM1kB,OAAOU,cAAgBA,GAC7BgkB,GAAM1kB,OAAOW,eAAiBA,GAC9B+jB,GAAM1kB,OAAOa,gBAAkBA,GAC/B6jB,GAAM1kB,OAAOY,iBAAmBA,GAGhCtC,EAAOomB,GAAMjZ,QAAQM,WAAY4wB,IACjCr+B,EAAOomB,GAAMjZ,QAAQ0Y,WAAY0b,IAGjCnb,GAAM/qB,UAAUuc,UAAYjU,EAAY64B,GAAQn8B,EAGhD+lB,GAAM/qB,UAAUmnB,OAAS,SAAUlK,EAAIjB,GAErC,OADAiB,EAAKA,GAAM3U,EAAYqnB,GAAM1S,QAAM9c,EAC5B6c,GAAetd,KAAMud,EAAIjB,IAKlC+O,GAAM/U,UAAS,WACT3P,EAAOI,UACLA,IACFA,GAAS6Y,KAAK,OAAQyL,MAQzB,GAEH,IAAIob,GAAU,CAAEhpB,OAAQ,WACpB,IAAIipB,EAAM1mC,KAAS2mC,EAAKD,EAAI9c,eAAmB9C,EAAK4f,EAAInc,MAAMzD,IAAM6f,EAAG,OAAO7f,EAAG,MAAO,CAAEkI,YAAa,iBAAmB,CAAClI,EAAG,MAAO,CAAEuT,MAAO,CAAEuM,MAAOF,EAAIE,MAAQ,KAAMC,OAAQH,EAAIG,OAAS,MAAQjvB,MAAO,CAAE,GAAM,qBAAwB8uB,EAAIvgB,GAAG,KAAoB,GAAdugB,EAAII,OAAkBhgB,EAAG,MAAO,CAACA,EAAG,MAAO,CAAEkI,YAAa,gBAAkB,CAAClI,EAAG,MAAO,CAAEkI,YAAa,OAAS,CAAClI,EAAG,MAAO,CAAEkI,YAAa,OAAQqL,MAAO,CAAEuM,MAAsB,IAAfF,EAAIK,SAAiB,aAAiBL,EAAItgB,KAAMsgB,EAAIvgB,GAAG,MAAyB,IAAnBugB,EAAIM,WAAsBlgB,EAAG,MAAO,CAAEkI,YAAa,UAAY,CAAClI,EAAG,IAAK,CAAEkI,YAAa,aAAc/X,GAAI,CAAE,MAAS,SAAeyN,GACrlBA,EAAOuiB,iBAAiBP,EAAIQ,WAAWxiB,MAClC,CAACgiB,EAAIvgB,GAAG,kBAAoBugB,EAAItgB,QAC1CtB,gBAAiB,GACpBjT,MAAO,CAAC,MAAO,SAAU,QAAS,SAAU,mBAAoB,cAAe,cAC/EQ,KAAM,aACNpG,KAAM,WACJ,MAAO,CACLk7B,aAAc,KACdL,QAAQ,EACRC,SAAU,EACVhyB,MAAO,OAIXjD,QAAS,CACPo1B,WAAY,WACVlnC,KAAKmnC,aAAaC,cAAc,IAElCC,QAAS,SAAiBC,EAAYh5B,EAAQi5B,GAC9B,OAAVA,IACFA,EAAQ,IAEgB,OAAtBvnC,KAAKmnC,aACPnnC,KAAKmnC,aAAaK,YAAYF,EAAYh5B,EAAQi5B,GAElDzyB,QAAQlK,KAAK,kGAInB68B,YAAa,WACX,IAAIC,EAAQ1nC,KAWZ,GATKA,KAAK2nC,WACR3nC,KAAK2nC,SAAW,IAAItc,GAAM,CACxBpf,KAAM,CACJ27B,OAAO,EACPC,MAAM,MAKe,qBAAhBC,aAA+B9nC,KAAK+nC,cAAgB/nC,KAAK2nC,SAASE,KAAM,CACjF,IAAIG,EAASnY,SAAS7I,cAAc,UACpCghB,EAAOzX,aAAa,MAAOvwB,KAAK+nC,aAChCC,EAAOzX,aAAa,QAAS,IAC7ByX,EAAOzX,aAAa,QAAS,IAC7BV,SAAS0V,KAAKvU,YAAYgX,GAC1BhoC,KAAK2nC,SAASE,MAAO,EACrBG,EAAOC,OAAS,WACdP,EAAMC,SAASC,OAAQ,EACvBF,EAAMC,SAAS1sB,MAAM,gBAGvBjb,KAAK2nC,SAASC,OAAQ,EACtB5nC,KAAK2nC,SAASE,MAAO,GAGzBK,QAAS,WACP,IAAIC,EAASnoC,KAETooC,EAAc,WAChB,GAA2B,qBAAhBN,YAA6B,CACtC,IAAI/yB,EAAQ,0LAGZ,OAFAD,QAAQC,MAAMA,QACdozB,EAAOpzB,MAAQA,GAGjB,GAAmB,OAAfozB,EAAO14B,IAAc,CACvB,IAAI44B,EAAS,gEAGb,OAFAvzB,QAAQC,MAAMszB,QACdF,EAAOpzB,MAAQszB,GAGjB,IAAIC,EAAS,GACTH,EAAOI,iBACTD,EAAOE,WAAaC,cAEpBH,EAAOE,WAAa,SAAUrB,EAAcJ,GAC1CoB,EAAOrB,OAAsB,IAAbC,EAChBoB,EAAOpB,SAAWA,GAGlBoB,EAAOtoC,SACTyoC,EAAOI,OAASP,EAAOtoC,QAEzBsoC,EAAOhB,aAAeW,YAAYM,YAAY,kBAAmBD,EAAO14B,IAAK64B,IAG3EtoC,KAAK2nC,SAASC,MAChBQ,IAEApoC,KAAK2nC,SAASptB,IAAI,UAAU,WAC1B6tB,SAMJxc,GAAU,SAAiBhR,GAC7BA,EAAIhB,UAAU,QAAS6sB,KAKzB,OAFAA,GAAQ7a,QAAUA,GAEX6a,Q,+DCl/NP,IAAIhpB,EAAS,WACX,IAAIipB,EAAI1mC,KACJ2mC,EAAGD,EAAI9c,eACP9C,EAAG4f,EAAInc,MAAMzD,IAAI6f,EAErB,OAAO7f,EAAG,MAAO,CAACA,EAAG,QAAS,CAACA,EAAG,SAAU,CAC1CkI,YAAa,uBACZ,CAAClI,EAAG,QAAS,CACdlP,MAAO,CACL,UAAW,WAEZ,CAACkP,EAAG,QAAS,CAACA,EAAG,KAAM,CAACA,EAAG,eAAgB,CAC5CkI,YAAa,QACbpX,MAAO,CACL,KAAQ,WACR,KAAQ,QAER8uB,EAAIvgB,GAAG,uBAAwB,MAAO,IAAK,IAAK,GAAIW,EAAG,QAAS,CAACA,EAAG,QAAS,CAC/ElP,MAAO,CACL,MAAS,OACT,OAAU,MACV,YAAe,iCACf,aAAgB,oCAChB,QAAW,gCAEV,GAAIkP,EAAG,MAAO,CAACA,EAAG,MAAO,CAACA,EAAG,SAAU,CAC1CkI,YAAa,6BACbpX,MAAO,CACL,QAAW8uB,EAAIiC,cACf,IAAOjC,EAAIkC,OAAOC,MAAMC,UAAUC,MAAQ,MAAQ,QAEnD,CAACjiB,EAAG,eAAgB,CAACA,EAAG,SAAU,CACnCkI,YAAa,gCACbpX,MAAO,CACL,QAAW,yCAEZ,CAACkP,EAAG,MAAO,CACZkI,YAAa,gBACZ,CAAClI,EAAG,MAAO,CACZlP,MAAO,CACL,IAAO,mDAELkP,EAAG,KAAM,CACbkI,YAAa,qBACZ,CAAC0X,EAAIvgB,GAAG,iBAAkB,GAAIW,EAAG,MAAO,CACzCkI,YAAa,qBACbpX,MAAO,CACL,KAAQ,eAEVyD,KAAM,gBACJyL,EAAG,MAAO,CACZkI,YAAa,qBACbpX,MAAO,CACL,KAAQ,eAEVyD,KAAM,iBACH,IAAK,MAAO,IAEfyJ,EAAkB,G,0GCOtB,GACEgG,WAAY,CACVke,OAAJ,YACIC,YAAJ,iBACIC,aAAJ,OACIC,WAAJ,OACIC,MAAJ,OACIC,KAAJ,OACIC,KAAJ,OACIC,MAAJ,KAEEt9B,KAAM,WAAR,OACA,QACA,CACQlB,GAAI,EACJy+B,KAAM,kBACNC,aAAc,eACdC,QAAS,cACTC,SAAU,2BAElB,CACQ5+B,GAAI,EACJy+B,KAAM,oBACNC,aAAc,eACdC,QAAS,cACTC,SAAU,2BAElB,CACQ5+B,GAAI,EACJy+B,KAAM,aACNC,aAAc,eACdC,QAAS,cACTC,SAAU,2BAElB,CACQ5+B,GAAI,EACJy+B,KAAM,aACNC,aAAc,eACdC,QAAS,cACTC,SAAU,4BAGlB,YACA,CACQ5+B,GAAI,EACJ6+B,UAAW,WACXC,SAAU,iBACVC,KAAM,GACNC,QAAS,GACTC,QAAQ,GAEhB,CACQj/B,GAAI,EACJ6+B,UAAW,WACXC,SAAU,iBACVC,KAAM,EACNC,QAAS,EACTC,QAAQ,GAEhB,CACQj/B,GAAI,EACJ6+B,UAAW,WACXC,SAAU,iBACVC,KAAM,GACNC,QAAS,GACTC,QAAQ,IAGhB,eACA,gBACA,gBACA,kBACA,aACA,KACA,gBACA,iBAEA,KACA,gBACA,kBAGA,YACA,6BACA,kCCrJ8V,I,YCO1VpwB,EAAY,eACd,EACA6D,EACAqH,GACA,EACA,KACA,KACA,MAIa,aAAAlL,E","file":"js/chunk-4e433001.817d061e.js","sourcesContent":["(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.vueUnityWebGL = factory());\n}(this, (function () { 'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/*!\n * Vue.js v2.5.2\n * (c) 2014-2017 Evan You\n * Released under the MIT License.\n */\n/* */\n\n// these helpers produces better vm code in JS engines due to their\n// explicitness and function inlining\nfunction isUndef(v) {\n return v === undefined || v === null;\n}\n\nfunction isDef(v) {\n return v !== undefined && v !== null;\n}\n\nfunction isTrue(v) {\n return v === true;\n}\n\nfunction isFalse(v) {\n return v === false;\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive(value) {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject(obj) {\n return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';\n}\n\n/**\n * Get the raw type string of a value e.g. [object Object]\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType(value) {\n return _toString.call(value).slice(8, -1);\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject(obj) {\n return _toString.call(obj) === '[object Object]';\n}\n\nfunction isRegExp(v) {\n return _toString.call(v) === '[object RegExp]';\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex(val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val);\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString(val) {\n return val == null ? '' : (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' ? JSON.stringify(val, null, 2) : String(val);\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber(val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n;\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap(str, expectsLowerCase) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? function (val) {\n return map[val.toLowerCase()];\n } : function (val) {\n return map[val];\n };\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove(arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1);\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) {\n return c ? c.toUpperCase() : '';\n });\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n});\n\n/**\n * Simple bind, faster than native\n */\nfunction bind(fn, ctx) {\n function boundFn(a) {\n var l = arguments.length;\n return l ? l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a) : fn.call(ctx);\n }\n // record original fn length\n boundFn._length = fn.length;\n return boundFn;\n}\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray(list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret;\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend(to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to;\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject(arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res;\n}\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)\n */\nfunction noop(a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function no(a, b, c) {\n return false;\n};\n\n/**\n * Return same value\n */\nvar identity = function identity(_) {\n return _;\n};\n\n/**\n * Generate a static keys string from compiler modules.\n */\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual(a, b) {\n if (a === b) {\n return true;\n }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i]);\n });\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key]);\n });\n } else {\n /* istanbul ignore next */\n return false;\n }\n } catch (e) {\n /* istanbul ignore next */\n return false;\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n } else {\n return false;\n }\n}\n\nfunction looseIndexOf(arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) {\n return i;\n }\n }\n return -1;\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once(fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n };\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = ['component', 'directive', 'filter'];\n\nvar LIFECYCLE_HOOKS = ['beforeCreate', 'created', 'beforeMount', 'mounted', 'beforeUpdate', 'updated', 'beforeDestroy', 'destroyed', 'activated', 'deactivated', 'errorCaptured'];\n\n/* */\n\nvar config = {\n /**\n * Option merge strategies (used in core/util/options)\n */\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n};\n\n/* */\n\nvar emptyObject = Object.freeze({});\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved(str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F;\n}\n\n/**\n * Define a property.\n */\nfunction def(obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath(path) {\n if (bailRE.test(path)) {\n return;\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) {\n return;\n }\n obj = obj[segments[i]];\n }\n return obj;\n };\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = UA && UA.indexOf('android') > 0;\nvar isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = {}.watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n get: function get() {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n }); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function isServerRendering() {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer;\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative(Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString());\n}\n\nvar hasSymbol = typeof Symbol !== 'undefined' && isNative(Symbol) && typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = function () {\n function Set() {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has(key) {\n return this.set[key] === true;\n };\n Set.prototype.add = function add(key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear() {\n this.set = Object.create(null);\n };\n\n return Set;\n }();\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = noop; // work around flow check\nvar formatComponentName = noop;\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function classify(str) {\n return str.replace(classifyRE, function (c) {\n return c.toUpperCase();\n }).replace(/[-_]/g, '');\n };\n\n warn = function warn(msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && !config.silent) {\n console.error(\"[Vue warn]: \" + msg + trace);\n }\n };\n\n tip = function tip(msg, vm) {\n if (hasConsole && !config.silent) {\n console.warn(\"[Vue tip]: \" + msg + (vm ? generateComponentTrace(vm) : ''));\n }\n };\n\n formatComponentName = function formatComponentName(vm, includeFile) {\n if (vm.$root === vm) {\n return '';\n }\n var options = typeof vm === 'function' && vm.cid != null ? vm.options : vm._isVue ? vm.$options || vm.constructor.options : vm || {};\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (name ? \"<\" + classify(name) + \">\" : \"\") + (file && includeFile !== false ? \" at \" + file : '');\n };\n\n var repeat = function repeat(str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) {\n res += str;\n }\n if (n > 1) {\n str += str;\n }\n n >>= 1;\n }\n return res;\n };\n\n generateComponentTrace = function generateComponentTrace(vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue;\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree.map(function (vm, i) {\n return \"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) ? formatComponentName(vm[0]) + \"... (\" + vm[1] + \" recursive calls)\" : formatComponentName(vm));\n }).join('\\n');\n } else {\n return \"\\n\\n(found in \" + formatComponentName(vm) + \")\";\n }\n };\n}\n\n/* */\n\nvar uid$1 = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep() {\n this.id = uid$1++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub(sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub(sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend() {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify() {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget(_target) {\n if (Dep.target) {\n targetStack.push(Dep.target);\n }\n Dep.target = _target;\n}\n\nfunction popTarget() {\n Dep.target = targetStack.pop();\n}\n\n/* */\n\nvar VNode = function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.functionalContext = undefined;\n this.functionalOptions = undefined;\n this.functionalScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance;\n};\n\nObject.defineProperties(VNode.prototype, prototypeAccessors);\n\nvar createEmptyVNode = function createEmptyVNode(text) {\n if (text === void 0) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node;\n};\n\nfunction createTextVNode(val) {\n return new VNode(undefined, undefined, undefined, String(val));\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode(vnode, deep) {\n var cloned = new VNode(vnode.tag, vnode.data, vnode.children, vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory);\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.isCloned = true;\n if (deep && vnode.children) {\n cloned.children = cloneVNodes(vnode.children);\n }\n return cloned;\n}\n\nfunction cloneVNodes(vnodes, deep) {\n var len = vnodes.length;\n var res = new Array(len);\n for (var i = 0; i < len; i++) {\n res[i] = cloneVNode(vnodes[i], deep);\n }\n return res;\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);['push', 'pop', 'shift', 'unshift', 'splice', 'sort', 'reverse'].forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator() {\n var args = [],\n len = arguments.length;\n while (len--) {\n args[len] = arguments[len];\n }var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break;\n case 'splice':\n inserted = args.slice(2);\n break;\n }\n if (inserted) {\n ob.observeArray(inserted);\n }\n // notify change\n ob.dep.notify();\n return result;\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * By default, when a reactive property is set, the new value is\n * also converted to become reactive. However when passing down props,\n * we don't want to force conversion because the value may be a nested value\n * under a frozen data structure. Converting it would defeat the optimization.\n */\nvar observerState = {\n shouldConvert: true\n};\n\n/**\n * Observer class that are attached to each observed\n * object. Once attached, the observer converts target\n * object's property keys into getter/setters that\n * collect dependencies and dispatches updates.\n */\nvar Observer = function Observer(value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto ? protoAugment : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk(obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive(obj, keys[i], obj[keys[i]]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray(items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment(target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment(target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe(value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return;\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (observerState.shouldConvert && !isServerRendering() && (Array.isArray(value) || isPlainObject(value)) && Object.isExtensible(value) && !value._isVue) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob;\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive(obj, key, val, customSetter, shallow) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return;\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter() {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value;\n },\n set: function reactiveSetter(newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || newVal !== newVal && value !== value) {\n return;\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set(target, key, val) {\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val;\n }\n if (hasOwn(target, key)) {\n target[key] = val;\n return val;\n }\n var ob = target.__ob__;\n if (target._isVue || ob && ob.vmCount) {\n process.env.NODE_ENV !== 'production' && warn('Avoid adding reactive properties to a Vue instance or its root $data ' + 'at runtime - declare it upfront in the data option.');\n return val;\n }\n if (!ob) {\n target[key] = val;\n return val;\n }\n defineReactive(ob.value, key, val);\n ob.dep.notify();\n return val;\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del(target, key) {\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return;\n }\n var ob = target.__ob__;\n if (target._isVue || ob && ob.vmCount) {\n process.env.NODE_ENV !== 'production' && warn('Avoid deleting properties on a Vue instance or its root $data ' + '- just set it to null.');\n return;\n }\n if (!hasOwn(target, key)) {\n return;\n }\n delete target[key];\n if (!ob) {\n return;\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray(value) {\n for (var e = void 0, i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\"option \\\"\" + key + \"\\\" can only be used during instance \" + 'creation with the `new` keyword.');\n }\n return defaultStrat(parent, child);\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData(to, from) {\n if (!from) {\n return to;\n }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to;\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn(parentVal, childVal, vm) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal;\n }\n if (!parentVal) {\n return childVal;\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn() {\n return mergeData(typeof childVal === 'function' ? childVal.call(this) : childVal, typeof parentVal === 'function' ? parentVal.call(this) : parentVal);\n };\n } else if (parentVal || childVal) {\n return function mergedInstanceDataFn() {\n // instance merge\n var instanceData = typeof childVal === 'function' ? childVal.call(vm) : childVal;\n var defaultData = typeof parentVal === 'function' ? parentVal.call(vm) : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData);\n } else {\n return defaultData;\n }\n };\n }\n}\n\nstrats.data = function (parentVal, childVal, vm) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn('The \"data\" option should be a function ' + 'that returns a per-instance value in component ' + 'definitions.', vm);\n\n return parentVal;\n }\n return mergeDataOrFn.call(this, parentVal, childVal);\n }\n\n return mergeDataOrFn(parentVal, childVal, vm);\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook(parentVal, childVal) {\n return childVal ? parentVal ? parentVal.concat(childVal) : Array.isArray(childVal) ? childVal : [childVal] : parentVal;\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets(parentVal, childVal, vm, key) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal);\n } else {\n return res;\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (parentVal, childVal, vm, key) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) {\n parentVal = undefined;\n }\n if (childVal === nativeWatch) {\n childVal = undefined;\n }\n /* istanbul ignore if */\n if (!childVal) {\n return Object.create(parentVal || null);\n }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) {\n return childVal;\n }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent ? parent.concat(child) : Array.isArray(child) ? child : [child];\n }\n return ret;\n};\n\n/**\n * Other object hashes.\n */\nstrats.props = strats.methods = strats.inject = strats.computed = function (parentVal, childVal, vm, key) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) {\n return childVal;\n }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) {\n extend(ret, childVal);\n }\n return ret;\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function defaultStrat(parentVal, childVal) {\n return childVal === undefined ? parentVal : childVal;\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents(options) {\n for (var key in options.components) {\n var lower = key.toLowerCase();\n if (isBuiltInTag(lower) || config.isReservedTag(lower)) {\n warn('Do not use built-in or reserved HTML elements as component ' + 'id: ' + key);\n }\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps(options, vm) {\n var props = options.props;\n if (!props) {\n return;\n }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val) ? val : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\"Invalid value for option \\\"props\\\": expected an Array or an Object, \" + \"but got \" + toRawType(props) + \".\", vm);\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject(options, vm) {\n var inject = options.inject;\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val) ? extend({ from: key }, val) : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production' && inject) {\n warn(\"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" + \"but got \" + toRawType(inject) + \".\", vm);\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives(options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\nfunction assertObjectType(name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" + \"but got \" + toRawType(value) + \".\", vm);\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions(parent, child, vm) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField(key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options;\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset(options, type, id, warnMissing) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return;\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) {\n return assets[id];\n }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) {\n return assets[camelizedId];\n }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) {\n return assets[PascalCaseId];\n }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn('Failed to resolve ' + type.slice(0, -1) + ': ' + id, options);\n }\n return res;\n}\n\n/* */\n\nfunction validateProp(key, propOptions, propsData, vm) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // handle boolean props\n if (isType(Boolean, prop.type)) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (!isType(String, prop.type) && (value === '' || value === hyphenate(key))) {\n value = true;\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldConvert = observerState.shouldConvert;\n observerState.shouldConvert = true;\n observe(value);\n observerState.shouldConvert = prevShouldConvert;\n }\n if (process.env.NODE_ENV !== 'production') {\n assertProp(prop, key, value, vm, absent);\n }\n return value;\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue(vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined;\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn('Invalid default value for prop \"' + key + '\": ' + 'Props with type Object/Array must use a factory function ' + 'to return the default value.', vm);\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData && vm.$options.propsData[key] === undefined && vm._props[key] !== undefined) {\n return vm._props[key];\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function' ? def.call(vm) : def;\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp(prop, name, value, vm, absent) {\n if (prop.required && absent) {\n warn('Missing required prop: \"' + name + '\"', vm);\n return;\n }\n if (value == null && !prop.required) {\n return;\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" + \" Expected \" + expectedTypes.map(capitalize).join(', ') + \", got \" + toRawType(value) + \".\", vm);\n return;\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".', vm);\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType(value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n };\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType(fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : '';\n}\n\nfunction isType(type, fn) {\n if (!Array.isArray(fn)) {\n return getType(fn) === getType(type);\n }\n for (var i = 0, len = fn.length; i < len; i++) {\n if (getType(fn[i]) === getType(type)) {\n return true;\n }\n }\n /* istanbul ignore next */\n return false;\n}\n\n/* */\n\nfunction handleError(err, vm, info) {\n if (vm) {\n var cur = vm;\n while (cur = cur.$parent) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) {\n return;\n }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n}\n\nfunction globalHandleError(err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info);\n } catch (e) {\n logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError(err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Error in \" + info + \": \\\"\" + err.toString() + \"\\\"\", vm);\n }\n /* istanbul ignore else */\n if (inBrowser && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err;\n }\n}\n\n/* */\n/* globals MessageChannel */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks() {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using both micro and macro tasks.\n// In < 2.4 we used micro tasks everywhere, but there are some scenarios where\n// micro tasks have too high a priority and fires in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using macro tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use micro task by default, but expose a way to force macro task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) Task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function macroTimerFunc() {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (isNative(MessageChannel) ||\n// PhantomJS\nMessageChannel.toString() === '[object MessageChannelConstructor]')) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function macroTimerFunc() {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function macroTimerFunc() {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine MicroTask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = function microTimerFunc() {\n p.then(flushCallbacks);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) {\n setTimeout(noop);\n }\n };\n} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a Task instead of a MicroTask.\n */\nfunction withMacroTask(fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res;\n });\n}\n\nfunction nextTick(cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n });\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap('Infinity,undefined,NaN,isFinite,isNaN,' + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function warnNonPresent(target, key) {\n warn(\"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" + 'referenced during render. Make sure that this property is reactive, ' + 'either in the data option, or for class-based components, by ' + 'initializing the property. ' + 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', target);\n };\n\n var hasProxy = typeof Proxy !== 'undefined' && Proxy.toString().match(/native code/);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set(target, key, value) {\n if (isBuiltInModifier(key)) {\n warn(\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key);\n return false;\n } else {\n target[key] = value;\n return true;\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has(target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed;\n }\n };\n\n var getHandler = {\n get: function get(target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key];\n }\n };\n\n initProxy = function initProxy(vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped ? getHandler : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (perf && perf.mark && perf.measure && perf.clearMarks && perf.clearMeasures) {\n mark = function mark(tag) {\n return perf.mark(tag);\n };\n measure = function measure(name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n };\n});\n\nfunction createFnInvoker(fns) {\n function invoker() {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments);\n }\n }\n invoker.fns = fns;\n return invoker;\n}\n\nfunction updateListeners(on, oldOn, add, remove$$1, vm) {\n var name, cur, old, event;\n for (name in on) {\n cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\"Invalid handler for event \\\"\" + event.name + \"\\\": got \" + String(cur), vm);\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture, event.passive);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook(def, hookKey, hook) {\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook() {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData(data, Ctor, tag) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return;\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) {\n tip(\"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" + formatComponentName(tag || Ctor) + \", but the declared prop name is\" + \" \\\"\" + key + \"\\\". \" + \"Note that HTML attributes are case-insensitive and camelCased \" + \"props need to use their kebab-case equivalents when using in-DOM \" + \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\");\n }\n }\n checkProp(res, props, key, altKey, true) || checkProp(res, attrs, key, altKey, false);\n }\n }\n return res;\n}\n\nfunction checkProp(res, hash, key, altKey, preserve) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true;\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true;\n }\n }\n return false;\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren(children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children);\n }\n }\n return children;\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.