{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/einsteinRecs.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/einsteinUtils.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/productTile.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/slider.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/hosted.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/index.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/videoHelper.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/videoModal.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/vimeo.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/youtube.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/pageDesigner/button.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/pageDesigner/hero.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/pageDesigner/index.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/scripts/constants/SiteConstants.js","webpack:///../rvw_autobahn_core/node_modules/ev-emitter/ev-emitter.js","webpack:///../rvw_autobahn_core/node_modules/global/document.js","webpack:///../rvw_autobahn_core/node_modules/global/window.js","webpack:///../rvw_autobahn_core/node_modules/imagesloaded/imagesloaded.js","webpack:///../rvw_autobahn_core/node_modules/jquery-zoom/jquery.zoom.js","webpack:///../rvw_autobahn_core/node_modules/jquery.scrollintoview/jquery.scrollintoview.js","webpack:///../rvw_autobahn_core/node_modules/jquery/dist/jquery.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/addCSSRule.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/addClass.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/addEvents.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/arrayFromNodeList.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/caf.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/calc.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/checkStorageValue.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/classListSupport.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/createStyleSheet.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/docElement.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/events.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/extend.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/forEach.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getAttr.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getBody.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getCssRulesLength.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getEndProperty.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getSlideId.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getTouchDirection.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/has3DTransforms.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/hasAttr.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/hasClass.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/hideElement.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/isNodeList.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/isVisible.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/jsTransform.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/mediaquerySupport.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/passiveOption.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/percentageLayout.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/raf.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/removeAttrs.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/removeCSSRule.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/removeClass.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/removeEvents.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/resetFakeBody.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/setAttrs.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/setFakeBody.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/setLocalStorage.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/showElement.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/toDegree.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/whichProperty.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/tiny-slider.js","webpack:///../rvw_autobahn_core/node_modules/video.js/dist/video.min.js","webpack:///../rvw_pagedesigner_core/cartridges/rvw_pagedesigner_core/cartridge/client/default/js/pageDesigner.js","webpack:///../storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/util.js","webpack:///../storefront-reference-architecture/node_modules/base64-js/index.js","webpack:///../storefront-reference-architecture/node_modules/ieee754/index.js","webpack:///../storefront-reference-architecture/node_modules/isarray/index.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_Symbol.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_baseGetTag.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_baseTrim.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_freeGlobal.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_getRawTag.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_objectToString.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_root.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_trimmedEndIndex.js","webpack:///../storefront-reference-architecture/node_modules/lodash/debounce.js","webpack:///../storefront-reference-architecture/node_modules/lodash/isObject.js","webpack:///../storefront-reference-architecture/node_modules/lodash/isObjectLike.js","webpack:///../storefront-reference-architecture/node_modules/lodash/isSymbol.js","webpack:///../storefront-reference-architecture/node_modules/lodash/now.js","webpack:///../storefront-reference-architecture/node_modules/lodash/toNumber.js","webpack:///./node_modules/node-libs-browser/node_modules/buffer/index.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/module.js","webpack:///min-document (ignored)"],"names":["einsteinUtils","require","productTile","abSlider","module","exports","loadRecommendations","e","$context","$","$recommendationTargets","hasClass","find","each","$recTrigger","data","asyncUrl","url","getRecommendations","einsteinResponse","response","interpretResponse","i","rec","id","pidURL","indexOf","first","attr","remove","$sliderContainer","closest","removeClass","init","status","tns","errors","destroy","rebuild","initializeSliders","parent","context","document","off","on","triggerHandler","getEinsteinUtils","window","CQuotient","getCQUserId","getCQCookieId","callback","params","userId","cookieId","ccver","anchors","length","getRecs","clientId","recommender","widgets","push","recommenderName","parameters","request","recs","promiseChains","promiseIndex","selectors","processing","sending","callbackfn","scope","initErrors","filter","replace","$target","deferment","Deferred","undefined","when","then","ajax","dataType","timeout","beforeSend","addClass","error","$slide","add","eq","success","replaceWith","trigger","complete","resolve","apply","call","tinySlider","zoom","imagesLoaded","SiteConstants","mediumBreakpoint","BreakpointSizes","md","largeBreakpoint","lg","getSliderAttributes","$slider","attributes","Object","autoplayDelay","parseInt","autoplay","isNaN","autoplayTimeout","loop","itemsNumber","items","itemsNumberMedium","itemsMedium","itemsNumberLarge","itemsLarge","gutter","gutterMedium","gutterLarge","speed","mode","animateIn","animateOut","$thumbnailSlider","thumbnailContainer","navContainer","navAsThumbnails","controlsContainer","getSliderParams","slideItems","container","autoplayHoverPause","preventScrollOnTouch","responsive","slideIntoView","slider","$activeThumbnail","scrollintoview","getUpdatedSlideItems","images","assets","isThumbnail","forEach","image","$slideElement","$imageElement","index","alt","toFixed","append","getPDPGalleryAssetSlides","slideCount","hasVideo","asset","$videoButton","isVideo","assetRenderUrl","method","html","err","console","thumbnail","bindSliderUpdateEvent","event","$updatedSliderContainer","target","updatedSlideItems","updatedParams","$thumbnailContainer","$mainImageContainer","prev","small","$newSliderElement","$newSliderControls","events","enableImageZoom","handleThumbnailArrows","handleSliderVideos","bindSliderDestroyEvent","isMobile","$slides","slide","zoomImageUrl","magnify","touch","$arrows","buffer","containerSize","sliderSize","done","outerWidth","scrollWidth","outerHeight","scrollHeight","$videos","_i","element","$videoContainer","videoID","player","Players","pause","config","play","bindPauseButton","sliderButtonPlacement","hasAttribute","prepend","preventDefault","toggleClass","$sliderContainers","promisegroup","$replace","isResolved","state","applyTinySlider","$container","tslider","initializeQuickviewModalSliders","modal","initializeWishlistModalSliders","initializeTargetSliders","debounce","VideoHelper","PlayerDefaults","controls","muted","hasThumb","initDomElements","$elem","domElements","$player","$thumb","siblings","$cntr","initConfig","playerAttrData","JSON","parse","ex","mute","videoId","createApiPlayer","overrides","onReadyCallback","onReady","extend","apiObj","videojs","playsinline","cache","time","currentTime","initPageEvents","$playerContainer","launchModal","paused","playPromise","removeSize","shouldPlay","autoplayPromise","playerId","type","getVolume","volume","setVolume","unmute","cachedVolume","setSize","css","height","width","setModal","VideoModal","launch","getShowEventHandler","$modal","getModalObj","$body","empty","dispose","$newPlayer","stringify","$newPlayerSource","getHideEventHandler","getPlayers","YouTube","Vimeo","Hosted","initPlayers","isAjaxEvent","$ytElements","$vimeoElements","$hostedElements","loadVimeoAPI","is","getUniquePlayerId","hasOwnProperty","loadYouTubeAPI","ytPromise","Promise","tag","createElement","src","onerror","Error","firstScriptTag","getElementsByTagName","parentNode","insertBefore","onYouTubeIframeAPIReady","onload","isPlayerVisible","onlyPlayWhenFullyInView","fitsInViewport","pageTop","scrollTop","pageBottom","elementTop","offset","top","elementBottom","isPlayerInInactiveSlide","isPlayerInInactiveTab","ModalTemplate","ModalStates","NOT_READY","READY","OPEN","CLOSED","myState","currentVideo","appendTo","States","detach","getShownEventHandler","getHiddenEventHandler","setState","getState","background","autopause","Player","getCurrentTime","seconds","ready","getPaused","test","navigator","userAgent","setTimeout","setCurrentTime","prependTo","playlist","origin","location","protocol","host","modestbranding","commonOnReady","YT","playerVars","enablejsapi","widget_referrer","onStateChange","PlayerState","PAUSED","PLAYING","onError","playerState","getPlayerState","playing","unMute","playVideo","pauseVideo","seekTo","button","heroAnimationSliders","classList","$replayButton","next","click","Button","Hero","checkIfVisible","$element","elementHeight","animateIfVisible","$elements","animationClass","isVisible","resetAnimationElement","shouldReset","offsetWidth","initScrollEvents","$animationElements","addEventListener","direction","detail","hero","TransitionSpeed","ComponentAnimationDelay","Spacer","placeholderImagePaths","defaultMapMarker","defaultStoreType","UP_KEY","DOWN_KEY","DIRECTION_DOWN","DIRECTION_UP","global","factory","define","EvEmitter","proto","prototype","eventName","listener","_events","listeners","once","onceEvents","_onceEvents","onceListeners","splice","emitEvent","args","slice","isOnce","allOff","topLevel","minDoc","doccy","win","self","jQuery","a","b","prop","arraySlice","Array","makeArray","obj","isArray","isArrayLike","ImagesLoaded","elem","options","onAlways","queryElem","querySelectorAll","elements","getImages","jqDeferred","check","bind","create","addElementImages","nodeName","addImage","addElementBackgroundImages","nodeType","elementNodeTypes","childImgs","img","children","child","style","getComputedStyle","reURL","matches","exec","backgroundImage","addBackground","loadingImage","LoadingImage","Background","_this","progressedCount","hasAnyBroken","onProgress","message","progress","isLoaded","notify","debug","log","isComplete","jqMethod","getIsImageComplete","confirm","naturalWidth","proxyImage","Image","handleEvent","unbindEvents","removeEventListener","makeJQueryPlugin","fn","instance","promise","defaults","duration","onZoomIn","onZoomOut","source","targetHeight","targetWidth","sourceHeight","sourceWidth","xRatio","yRatio","position","$source","overflow","left","opacity","border","maxWidth","maxHeight","move","pageX","pageY","Math","max","min","settings","$img","mousemove","clicked","touched","srcElement","querySelector","getAttribute","currentSrc","one","start","stop","fadeTo","support","isFunction","which","originalEvent","touches","changedTouches","setAttribute","root","converter","vertical","x","y","horizontal","both","viewPadding","rootrx","borders","domElement","styles","defaultView","currentStyle","px","parseFloat","borderTopWidth","borderLeftWidth","bottom","borderBottomWidth","right","borderRightWidth","dimensions","isRoot","scroll","scrollLeft","maxtop","clientHeight","maxleft","clientWidth","scrollbar","innerWidth","innerHeight","rect","getBoundingClientRect","toLowerCase","dirStr","el","scroller","dim","s","rel","animProperties","isEmptyObject","animateStep","now","tween","scrollExpect","floor","onscroll","key","value","scrollListener","animate","step","queue","dequeue","scrollValue","auto","visible","hidden","overflowX","overflowY","size","client","scrollableX","scrollableY","expr","scrollable","createPseudo","w","noGlobal","arr","getProto","getPrototypeOf","flat","array","concat","class2type","toString","hasOwn","fnToString","ObjectFunctionString","item","isWindow","preservedScriptAttributes","nonce","noModule","DOMEval","code","node","doc","val","script","text","head","appendChild","removeChild","toType","version","selector","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","map","arguments","last","even","grep","_elem","odd","len","j","end","sort","name","copy","copyIsArray","clone","deep","isPlainObject","expando","random","isReady","msg","noop","Ctor","globalEval","results","inArray","second","invert","callbackInverse","callbackExpect","arg","guid","Symbol","iterator","split","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","pop","pushNative","list","booleans","whitespace","identifier","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","dir","childNodes","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","getElementById","getElementsByClassName","qsa","testContext","toSelector","join","qsaError","removeAttribute","keys","cacheLength","shift","markFunction","assert","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","tmp","input","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","relative","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","matcher","unmatched","lang","elemLang","hash","activeElement","hasFocus","href","tabIndex","checked","selected","selectedIndex","_matchIndexes","radio","checkbox","file","password","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","n","rneedsContext","needsContext","rsingleTag","winnow","qualifier","not","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","contents","has","targets","l","prevAll","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","_","flag","Callbacks","firing","memory","fired","locked","firingIndex","fire","stopOnFalse","disable","lock","fireWith","Identity","v","Thrower","adoptValue","reject","noValue","fail","func","tuples","always","deferred","pipe","fns","newDefer","tuple","returned","onFulfilled","onRejected","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","stateString","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","stack","warn","readyException","readyList","readyWait","wait","completed","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","dataAttr","removeData","_data","_removeData","startLength","hooks","_queueHooks","setter","clearQueue","count","defer","pnum","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","display","adjustCSS","valueParts","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","fragment","createDocumentFragment","div","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","tbody","tfoot","colgroup","caption","th","optgroup","getAll","setGlobalEval","refElements","buildFragment","scripts","selection","ignored","wrap","attached","nodes","createTextNode","htmlPrefilter","rtypenamespace","returnTrue","returnFalse","expectSync","safeActiveElement","types","origFn","handleObjIn","eventHandle","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","writable","load","noBubble","leverageNative","beforeunload","returnValue","notAsync","saved","isTrigger","stopImmediatePropagation","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","altKey","bubbles","cancelable","ctrlKey","eventPhase","metaKey","shiftKey","view","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","focus","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","before","after","replaceChild","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","swap","old","rboxStyle","computeStyleTests","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","measure","round","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelBoxStyles","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","offsetHeight","curCSS","computed","minWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","cssPrefixes","emptyStyle","vendorProps","vendorPropName","capName","finalPropName","final","cssProps","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","boxModelAdjustment","dimension","box","isBorderBox","computedVal","extra","delta","ceil","getWidthOrHeight","boxSizingNeeded","valueIsBorderBox","offsetProp","getClientRects","cssHooks","origName","isCustomProp","setProperty","isFinite","scrollboxSizeBuggy","margin","padding","prefix","suffix","expand","expanded","parts","Tween","easing","propHooks","run","percent","eased","pos","fx","linear","p","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","defaultPrefilter","opts","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","propFilter","specialEasing","properties","stopped","prefilters","startTime","tweens","originalProperties","originalOptions","gotoEnd","timer","tweener","prefilter","opt","speeds","to","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","bool","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","tabindex","stripAndCollapse","getClass","classesToArray","classes","curValue","clazz","finalValue","stateVal","isValidValue","classNames","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","attaches","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","isSuccess","conv2","current","conv","responseFields","dataFilter","active","lastModified","etag","isLocal","processData","async","contentType","accepts","json","ajaxSetup","ajaxPrefilter","ajaxTransport","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","abort","statusText","finalText","crossDomain","hasContent","ifModified","headers","send","nativeStatusText","modified","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","xhr","XMLHttpRequest","xhrSuccessStatus","xhrSupported","cors","errorCallback","open","username","xhrFields","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","trim","_jQuery","_$","noConflict","addCSSRule","sheet","rules","insertRule","addRule","classListSupport","str","addEvents","preventScrolling","passiveOption","arrayFromNodeList","nl","caf","cancelAnimationFrame","mozCancelAnimationFrame","calc","getBody","docOverflow","setFakeBody","vals","fake","resetFakeBody","checkStorageValue","createStyleSheet","media","styleSheet","docElement","Events","topics","emit","getAttr","getCssRulesLength","rule","cssRules","getEndProperty","propIn","propOut","endProp","getSlideId","tnsId","getTouchDirection","angle","range","gap","abs","has3DTransforms","tf","has3d","cssTF","hasAttr","hideElement","forceHide","isNodeList","jsTransform","postfix","from","Number","positionTick","running","moveElement","mediaquerySupport","matchMedia","msMatchMedia","supportsPassive","passive","percentageLayout","wrapper","outer","perPage","supported","raf","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","cb","removeAttrs","attrLength","removeCSSRule","deleteRule","removeRule","removeEvents","setAttrs","setLocalStorage","storage","setItem","showElement","toDegree","atan2","whichProperty","Props","charAt","substr","prefixes","Element","axis","edgePadding","fixedWidth","autoWidth","viewportMax","slideBy","center","controlsPosition","controlsText","prevButton","nextButton","nav","navPosition","arrowKeys","autoplayPosition","autoplayDirection","autoplayText","autoplayButton","autoplayButtonOutput","autoplayResetOnVisibility","animateNormal","animateDelay","rewind","autoHeight","lazyload","lazyloadSelector","mouseDrag","swipeAngle","nested","preventActionWhenRunning","freezable","onInit","useLocalStorage","KEYS","ENTER","SPACE","LEFT","RIGHT","tnsStorage","localStorageAccess","browserInfo","localStorage","getItem","removeItem","CALC","PERCENTAGELAYOUT","CSSMQ","TRANSFORM","HAS3DTRANSFORMS","TRANSITIONDURATION","TRANSITIONDELAY","ANIMATIONDURATION","ANIMATIONDELAY","TRANSITIONEND","ANIMATIONEND","supportConsoleWarn","tnsList","optionsElements","carousel","responsiveTem","updateOptions","outerWrapper","innerWrapper","middleWrapper","containerParent","containerHTML","outerHTML","breakpointZone","windowWidth","getWindowWidth","isOn","setBreakpointZone","getOption","viewport","getViewportWidth","fixedWidthViewportWidth","slidePositions","slideItemsOut","cloneCount","getCloneCountForLoop","slideCountNew","hasRightDeadZone","rightBoundary","getRightBoundary","updateIndexBeforeTransform","transformAttr","transformPrefix","transformPostfix","getIndexMax","getStartIndex","indexCached","displayIndex","getCurrentSlide","indexMin","indexMax","resizeTimer","moveDirectionExpected","newContainerClasses","slideId","freeze","getFreeze","frozen","controlsEvents","onControlsClick","onControlsKeydown","navEvents","onNavClick","onNavKeydown","hoverEvents","mouseoverPause","mouseoutRestart","visibilityEvent","onVisibilityChange","docmentKeydownEvent","onDocumentKeydown","touchEvents","onPanStart","onPanMove","onPanEnd","dragEvents","hasControls","hasOption","hasNav","hasAutoplay","hasTouch","hasMouseDrag","slideActiveClass","slideClonedClass","imgCompleteClass","imgEvents","onImgLoaded","onImgFailed","imgsComplete","liveregionCurrent","preventScroll","controlsContainerHTML","prevButtonHTML","nextButtonHTML","prevIsButton","nextIsButton","navContainerHTML","navItems","pages","getPages","pagesCached","navClicked","navCurrentIndex","getCurrentNavIndex","navCurrentIndexCached","navActiveClass","navStr","navStrCurrent","autoplayButtonHTML","autoplayHtmlStrings","autoplayTimer","animating","autoplayHoverPaused","autoplayUserPaused","autoplayVisibilityPaused","initPosition","lastPosition","translateInit","disX","disY","panStart","rafIndex","getDist","resetVariblesWhenDisable","initStructure","initSheet","initSliderTransform","condition","tem","ind","getAbsIndex","absIndex","getItemsMax","itemsMax","getInsertPosition","getClientWidth","ww","getSlideMarginLeft","getInnerWrapperStyles","edgePaddingTem","gutterTem","fixedWidthTem","speedTem","autoHeightBP","gutterTemUnit","getTransitionDurationStyle","getContainerWidth","itemsTem","getSlideWidthStyle","dividend","getSlideGutterStyle","getCSSPrefix","substring","getAnimationDurationStyle","classOuter","classInner","hasGutter","wp","fragmentBefore","fragmentAfter","cloneFirst","cloneLast","imgs","imgLoaded","imgsLoadedCheck","getImageArray","initSliderTransformStyleCheck","doContainerTransformSilent","initTools","initEvents","stylesApplicationCheck","initSliderTransformCore","setSlidePositions","updateContentWrapperHeight","fontSize","update_carousel_transition_duration","middleWrapperStr","innerWrapperStr","containerStr","slideStr","itemsBP","fixedWidthBP","speedBP","edgePaddingBP","gutterBP","updateSlideStatus","insertAdjacentHTML","getLiveRegionStr","txt","toggleAutoplay","startAutoplay","initIndex","navHtml","hiddenStr","updateNavVisibility","isButton","updateControlsStatus","disableUI","eve","onTransitionEnd","resizeTasks","info","onResize","doAutoHeight","doLazyLoad","disableSlider","freezeSlider","additionalUpdates","ownerNode","clearInterval","htmlList","prevEl","previousElementSibling","parentEl","nextElementSibling","getEvent","bpChanged","breakpointZoneTem","needContainerTransform","indChanged","itemsChanged","disableTem","freezeTem","arrowKeysTem","controlsTem","navTem","touchTem","mouseDragTem","autoplayTem","autoplayHoverPauseTem","autoplayResetOnVisibilityTem","indexTem","autoHeightTem","controlsTextTem","centerTem","autoplayTextTem","updateIndex","enableSlider","doContainerTransform","getContainerTransformValue","unfreezeSlider","stopAutoplay","updateLiveRegion","updateGallerySlidePositions","vp","leftEdge","rightEdge","enableUI","classN","getVisibleSlideRange","rangestart","rangeend","point","cell","srcset","getTarget","imgFailed","imgCompleted","imgSelector","updateInnerWrapperHeight","updateNavStatus","getMaxSlideHeight","slideStart","slideRange","heights","attr2","navPrev","navCurrent","getLowerCaseNodeName","isAriaDisabled","disEnableElement","prevDisabled","nextDisabled","disablePrev","disableNext","resetDuration","getSliderWidth","getCenterGap","denominator","animateSlide","number","classOut","classIn","isOut","transformCore","render","sliderMoved","strTrans","propertyName","goTo","targetIndex","indexGap","factor","passEventObject","targetIn","navIndex","targetIndexBase","setAutoplayTimer","setInterval","stopAutoplayTimer","updateAutoplayButton","action","keyIndex","setFocus","curElement","isTouchEvent","preventDefaultBehavior","getMoveDirectionExpected","panUpdate","dist","percentageX","preventClick","indexMoved","moved","rough","getInfo","updateSliderHeight","refresh","h","d","o","u","levels","r","createLogger","all","DEFAULT","level","history","clear","enable","f","assign","c","Boolean","g","T","S","getOwnPropertyNames","k","V","innerText","C","E","A","I","P","L","O","D","N","onselectstart","R","U","M","clientLeft","clientTop","B","F","H","q","W","z","G","X","K","__proto__","isReal","isEl","isInFrame","createEl","setAttributes","getAttributes","blockTextSelection","unblockTextSelection","findPosition","getPointerPosition","isTextNode","emptyEl","normalizeContent","appendContent","insertContent","isSingleLeftClick","$$","Y","autoSetup","Q","J","Z","ee","te","ie","ne","WeakMap","vdata","performance","re","se","ae","dispatcher","detachEvent","oe","ue","fixed_","fromElement","cancelBubble","le","ce","he","de","pe","fe","me","ge","ve","ye","_e","be","fixEvent","any","allowedEvents_","dispatchEvent","queueTrigger","Map","Te","Se","xe","ke","Ce","we","eventBusEl_","isTargetingSelf","Ee","every","Ae","Ie","eventBusKey","eventedCallbacks","Pe","changes","Le","handleStateChanged","Oe","De","Ne","Re","player_","isDisposed_","parentComponent_","options_","id_","name_","el_","evented","defaultState","children_","childIndex_","childNameIndex_","Set","set_","setTimeoutIds_","setIntervalIds_","rafIds_","clearingTimersOnDispose_","initChildren","reportTouchActivity","enableTouchActivity","isDisposed","localize","language","languages","contentEl","contentEl_","getChildById","getChild","getDescendant","reduce","addChild","componentClass","getComponent","some","isTech","playerOptions","buildCSSClass","isReady_","readyQueue_","triggerReady","lockShowing","unlockShowing","currentDimension","currentDimensions","currentWidth","currentHeight","handleKeyDown","handleKeyPress","emitTapEvents","sqrt","reportUserActivity","clearTimersOnDispose_","supportsRaf_","registerComponent","isPrototypeOf","components_","players","Ue","ReferenceError","setPrototypeOf","Me","Be","je","Fe","He","Ve","qe","We","ze","Ge","Xe","Ke","Ye","$e","Qe","Je","Ze","et","tt","it","nt","maxTouchPoints","DocumentTouch","rt","st","at","ot","ut","IS_IPOD","IOS_VERSION","IS_ANDROID","ANDROID_VERSION","IS_NATIVE_ANDROID","IS_FIREFOX","IS_EDGE","IS_CHROME","CHROME_VERSION","IE_VERSION","IS_SAFARI","IS_WINDOWS","TOUCH_ENABLED","IS_IPAD","IS_IPHONE","IS_IOS","IS_ANY_SAFARI","lt","ht","dt","pt","ft","prefixed","mt","gt","vt","yt","_t","defaultMessages","errorTypes","bt","Tt","St","kt","Ct","cues","endTime","wt","track","textTracks","Et","addRemoteTextTrack","addCue","xt","isEventKey","codes","backspace","tab","enter","ctrl","esc","space","home","up","down","command","aliases","windows","ctl","control","caps","spc","spacebar","pgup","pgdn","ins","del","cmd","names","title","At","It","opened_","hasBeenOpened_","hasBeenFilled_","closeable","uncloseable","role","descEl_","description","label","previouslyActiveEl_","fillAlways","fill","wasPlaying_","pauseOnOpen","hadControls_","conditionalFocus_","opened","close","conditionalBlur_","temporary","closeable_","controlText","fillWith","content_","focusableEls_","HTMLAnchorElement","HTMLAreaElement","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","HTMLButtonElement","HTMLIFrameElement","HTMLObjectElement","HTMLEmbedElement","Pt","tracks_","addTrack","removeTrack","getTrackById","Lt","change","addtrack","removetrack","Ot","enabled","Dt","Nt","Rt","Ut","Mt","Bt","changing_","enabledChange_","jt","selectedChange_","Ft","queueChange_","triggerSelectedlanguagechange","triggerSelectedlanguagechange_","kind","selectedlanguagechange_","Ht","trackElements_","addTrackElement_","getTrackElementByTrack_","removeTrackElement_","Vt","setCues_","length_","cues_","getCueById","qt","alternative","captions","main","sign","subtitles","commentary","Wt","descriptions","translation","zt","chapters","metadata","Gt","showing","Xt","Kt","parseUrl","getAbsoluteURL","getFileExtension","isCrossOrigin","Yt","$t","alert","prompt","Qt","Jt","ti","Zt","ei","uri","ii","useXDR","responseXML","rawRequest","XDomainRequest","sync","accept","Accept","onprogress","withCredentials","ni","WebVTT","Parser","vttjs","StringDecoder","oncue","onparsingerror","onflush","groupCollapsed","groupEnd","flush","ri","loaded_","tech_","si","tech","srclang","activeCues_","preload_","preloadTextTracks","activeCues","defineProperties","VTTCue","originalCue_","removeCue","cuechange","ai","oi","ui","NONE","LOADING","LOADED","ERROR","li","audio","ListClass","TrackClass","capitalName","video","getterName","privateName","ci","remoteText","remoteTextEl","hi","di","pi","fi","mi","gi","vi","yi","Errors","BadTimeStamp","region","integer","line","lineAlign","snapToLines","align","middle","positionAlign","BadSignature","bi","ruby","Ti","white","lime","cyan","red","yellow","magenta","blue","black","Si","ki","Ci","createProcessingInstruction","localName","wi","Ei","xi","Ai","cue","cueDiv","color","backgroundColor","writingMode","unicodeBidi","applyStyles","tagName","textAlign","font","whiteSpace","formatStyle","Ii","offsetTop","lineHeight","Pi","textTrackList","mediaElement","overlapsOppositeAxis","within","overlapsAny","intersectPercentage","toCSSCompatValues","Li","overlaps","getSimpleBoxPosition","decode","decodeURIComponent","convertCueToDOMTree","processCues","hasBeenReset","displayState","decoder","TextDecoder","regionList","reportOrThrowError","ontimestampmap","MPEGTS","LOCAL","VTTRegion","lines","regionAnchorX","regionAnchorY","viewportAnchorX","viewportAnchorY","onregion","stream","Oi","Di","lr","rl","Ni","Ri","Ui","pauseOnExit","SyntaxError","getCueAsHTML","Mi","Bi","ji","Fi","Hi","shim","restore","Vi","hasStarted_","featuresProgressEvents","manualProgressOn","featuresTimeupdateEvents","manualTimeUpdatesOn","nativeCaptions","nativeTextTracks","featuresNativeTextTracks","emulateTextTracks","autoRemoteTextTracks_","initTrackListeners","nativeControlsForTouch","triggerSourceset","onDurationChange","manualProgress","trackProgress","manualProgressOff","stopTrackingProgress","progressInterval","bufferedPercent","bufferedPercent_","duration_","buffered","manualTimeUpdates","trackCurrentTime","stopTrackingCurrentTime","manualTimeUpdatesOff","currentTimeInterval","manuallyTriggered","clearTracks","removeRemoteTextTrack","cleanupAutoTextTracks","error_","played","addWebVttScript_","remoteTextTracks","addTextTrack","createRemoteTextTrack","remoteTextTrackEls","getVideoPlaybackQuality","requestPictureInPicture","setPoster","setPlaysinline","overrideNativeAudioTracks","overrideNativeVideoTracks","canPlayType","canPlaySource","registerTech","techs_","defaultTechOrder_","getTech","featuresVolumeControl","featuresMuteControl","featuresFullscreenResize","featuresPlaybackRate","featuresSourceset","withSourceHandlers","registerSourceHandler","sourceHandlers","selectSourceHandler","canHandleSource","sourceHandler_","setSource","nativeSourceHandler","disposeSourceHandler","currentSource_","handleSource","qi","Wi","zi","Gi","Ji","Xi","Qi","Ki","seekable","Yi","setMuted","$i","Zi","en","opus","ogv","mp4","mov","m4v","mkv","m4a","mp3","aac","oga","m3u8","jpg","jpeg","gif","png","svg","webp","tn","nn","sources","techOrder","isSupported","loadTech_","rn","tabIndex_","createControlTextEl","controlTextEl_","controlText_","nonIconControl","enabled_","handleClick","handleMouseOver","handleMouseOut","clickHandler","sn","update","poster","setSrc","usingPlugin","eme","sessions","an","monospace","sansSerif","serif","monospaceSansSerif","monospaceSerif","proportionalSansSerif","proportionalSerif","casual","smallcaps","un","ln","cn","updateDisplay","toggleDisplay","preselectTrack","tracks","cache_","selectedLanguage","clearDisplay","allowMultipleShowingTracks","updateForTrack","updateDisplayState","textTrackSettings","getValues","textOpacity","backgroundOpacity","windowColor","windowOpacity","edgeStyle","textShadow","fontPercent","fontFamily","fontVariant","hn","isAudio","dn","pn","mouseused_","handleMouseDown","mn","replay","handlePlay","handlePause","handleEnded","handleSeeked","gn","vn","yn","_n","updateContent","updateTextNode_","labelText_","textNode_","formattedTime_","bn","ended","scrubbing","getCache","Tn","Sn","kn","remainingTimeDisplay","remainingTime","Cn","updateShowing","wn","updateLiveEdgeStatus","liveTracker","textEl_","atLiveEdge","seekToLiveEdge","En","xn","bar","barName","playerEvent","handleMouseMove","handleMouseUp","getProgress","progress_","getPercent","calculateDistance","stepBack","stepForward","vertical_","An","In","partEls_","percentageEl_","isLive","seekableEnd","bufferedEnd","percent_","dataset","Pn","write","updateTime","rafId_","liveWindow","Ln","On","Dn","setEventHandlers_","update_","updateInterval","enableInterval_","disableInterval_","toggleVisibility_","getCurrentTime_","liveCurrentTime","currentTime_","seekableStart","videoWasPlaying","handleAction","Nn","throttledHandleMouseSeek","handleMouseSeek","Rn","handlePictureInPictureChange","pictureInPictureEnabled","isInPictureInPicture","exitPictureInPicture","Un","handleFullscreenChange","fsApi_","fullscreenEnabled","isFullscreen","exitFullscreen","requestFullscreen","Mn","Bn","updateLastVolume_","updateARIAAttributes","checkMuted","volumeAsPercentage_","lastVolume_","jn","volumeBar","throttledHandleMouseMove","Fn","updateIcon_","updateControlText_","Hn","inline","volumeControl","volumePanelState_","muteToggle","handleVolumeControlKeyUp","sliderActive_","sliderInactive_","Vn","menuButton_","menuButton","focusedChild_","boundHandleBlur_","handleBlur","boundHandleTapClick_","handleTapClick","addEventListenerForItem","removeEventListenerForItem","addItem","contentElType","buttonPressed_","unpressButton","qn","menu","handleMenuKeyUp","handleMouseLeave","handleSubmenuKeyDown","createMenu","hideThreshold_","createItems","buildWrapperCSSClass","pressButton","handleSubmenuKeyPress","Wn","zn","Gn","selectable","isSelected_","multiSelectable","Xn","kinds","handleTracksChange","handleSelectedLanguageChange","onchange","createEvent","initEvent","Kn","Yn","label_","kinds_","kind_","$n","Qn","track_","setTrack","findChaptersTrack","updateHandler_","getMenuCaption","Jn","Zn","er","ir","nr","language_","rr","audioTracks","sr","ar","rate","playbackRate","or","updateVisibility","updateLabel","labelEl_","playbackRates","playbackRateSupported","ur","cr","hr","dr","pr","fr","mr","gr","vr","yr","_r","br","Tr","Sr","kr","Cr","parser","wr","Er","endDialog","setDefaults","persistTextTrackSettings","saveSettings","restoreSettings","createElSelect_","createElFgColor_","createElBgColor_","createElWinColor_","createElColors_","createElFont_","createElControls_","setValues","controlBar","subsCapsButton","captionsButton","xr","ResizeObserver","loadListener_","resizeObserver_","debouncedHandler_","cancel","resizeHandler","observe","contentWindow","unloadListener_","unobserve","disconnect","resizeObserver","Ar","trackingThreshold","liveTolerance","Ir","reset_","handleDurationchange","handleVisibilityChange","stopTracking","startTracking","trackLive_","lastTime_","pastSeekEnd_","pastSeekEnd","seekedBehindLive_","timeupdateSeen_","behindLiveEdge_","liveui","isTracking","hasStarted","trackingInterval_","handleFirstTimeupdate","skipNextSeeked_","lastSeekEnd_","behindLiveEdge","Pr","Lr","getOwnPropertyDescriptor","Or","resetSourceWatch_","HTMLMediaElement","Ur","Dr","resetSourceset_","Mr","Nr","Rr","Br","initNetworkState_","handleLateInit_","enableSourceset","setupSourcesetHandling_","hasChildNodes","proxyNativeTracks_","restoreMetadataTracksInIOSNativePlayer_","setControls","proxyWebkitFullscreen_","disposeMediaElement","storedMode","overrideNative_","proxyNativeTracksForType_","playerElIngest","movingMediaElementInDOM","techId","preload","networkState","NaN","webkitPresentationMode","nativeIOSFullscreen","supportsFullScreen","webkitEnterFullScreen","enterFullScreen","HAVE_METADATA","exitFullScreen","webkitDisplayingFullscreen","webkitExitFullScreen","resetMediaElement","webkitDroppedFrameCount","webkitDecodedFrameCount","droppedVideoFrames","totalVideoFrames","creationTime","timing","navigationStart","TEST_VID","canControlVolume","canMuteVolume","canControlPlaybackRate","canOverrideAttributes","supportsNativeTextTracks","supportsNativeVideoTracks","videoTracks","supportsNativeAudioTracks","patchCanPlayType","unpatchCanPlayType","jr","Fr","canplay","canplaythrough","seeked","Hr","Vr","qr","tiny","xsmall","medium","large","xlarge","huge","Wr","getTagSettings","boundDocumentFullscreenChange_","documentFullscreenChange_","boundFullWindowOnEscKey_","fullWindowOnEscKey","isFullscreen_","isPosterFromTech_","queuedCallbacks_","userActive_","tagAttributes","languages_","resetCache_","poster_","controls_","changingSrc_","playCallbacks_","playTerminatedQueue_","plugins","scrubbing_","fullscreenchange","fluid_","updateStyleEl_","middleware_","flexNotSupported_","userActive","listenForUserActivity_","handleStageClick_","breakpoints","styleEl_","playerElIngest_","VIDEOJS_NO_DYNAMIC_STYLE","fill_","fluid","aspectRatio","crossOrigin","crossorigin","techGet_","techCall_","aspectRatio_","videoWidth","videoHeight","width_","height_","unloadTech_","techName_","canOverridePoster","techCanOverridePoster","handleTechReady_","textTracksJson_","seeking","handleTechLoadStart_","handleTechSourceset_","handleTechWaiting_","handleTechEnded_","handleTechSeeking_","handleTechPlay_","handleTechFirstPlay_","handleTechPause_","handleTechDurationChange_","handleTechFullscreenChange_","handleTechFullscreenError_","handleTechEnterPictureInPicture_","handleTechLeavePictureInPicture_","handleTechError_","handleTechPosterChange_","handleTechTextData_","handleTechRateChange_","usingNativeControls","addTechControlsListeners_","removeTechControlsListeners_","handleTechClick_","handleTechDoubleClick_","handleTechTouchStart_","handleTechTouchMove_","handleTechTouchEnd_","handleTechTap_","manualAutoplay_","updateSourceCaches_","currentSource","lastSource_","techGet","lastPlaybackRate","handleTechCanPlay_","handleTechCanPlayThrough_","handleTechPlaying_","handleTechSeeked_","starttime","userActions","doubleClick","userWasActive","toggleFullscreenClass_","fullscreenElement","fullscreen","togglePictureInPictureClass_","initTime","inactivityTimeout","lastVolume","defaultPlaybackRate","reduceRight","play_","waitToPlay_","runPlayTerminatedQueue_","runPlayCallbacks_","applyInitTime_","defaultMuted","requestFullscreenHelper_","enterFullWindow","exitFullscreenHelper_","exitFullWindow","isFullWindow","docOrigOverflow","isInPictureInPicture_","hotkeys","isContentEditable","handleHotkeys","fullscreenKey","muteKey","playPauseKey","selectSource","sourceOrder","src_","notSupportedMessage","setTech","doReset_","resetControlBarUI_","resetProgressBar_","resetPlaybackRate_","resetVolumeBar_","durationDisplay","currentSources","currentType","usingNativeControls_","suppressNotSupportedError","errorDisplay","userActivity_","isAudio_","toJSON","createModal","updateCurrentBreakpoint_","currentBreakpoint","breakpoints_","breakpoint_","removeCurrentBreakpoint_","currentBreakpointClass","responsive_","loadMedia","artwork","getMedia","zr","html5","flash","userLanguage","navigationUI","Gr","Xr","Kr","Yr","ts","$r","Qr","plugin","Zr","getEventHash","Jr","Reflect","construct","sham","Proxy","Function","es","ns","VERSION","isBasic","registerPlugin","deregisterPlugin","getPlugins","getPluginVersion","getPlugin","BASE_PLUGIN_NAME","hasPlugin","rs","ss","as","getPlayer","hooks_","hookOnce","removeHook","os","us","getAllPlayers","use","writeable","middleware","browser","super_","mergeOptions","addLanguage","createTimeRange","createTimeRanges","formatTime","setFormatTime","resetFormatTime","EventTarget","TextTrack","AudioTrack","VideoTrack","computedStyle","dom","defineLazyProperty","ls","buildAbsoluteURL","alwaysNormalize","parseURL","path","normalizePath","buildURLFromParts","scheme","netLoc","query","lastIndexOf","cs","hs","ds","ps","fs","ms","customParsers","tagMappers","tagType","playlistType","allowed","URI","BYTERANGE","byterange","RESOLUTION","BANDWIDTH","dateTimeString","dateTimeObject","IV","Uint32Array","PRECISE","addParser","expression","customType","dataParser","segment","addTagMapper","gs","lineStream","parseStream","AUDIO","VIDEO","SUBTITLES","manifest","allowCache","discontinuityStarts","segments","endlist","endList","inf","mediaSequence","discontinuitySequence","METHOD","KEYFORMAT","KEYID","contentProtection","schemeIdUri","keyId","pssh","atob","Uint8Array","iv","playlists","mediaGroups","TYPE","NAME","autoselect","AUTOSELECT","LANGUAGE","instreamId","CHARACTERISTICS","characteristics","FORCED","forced","discontinuity","targetduration","targetDuration","totalduration","totalDuration","timeOffset","precise","cueOut","cueOutCont","cueIn","timeline","comment","custom","vs","ys","_s","bs","Ts","Ss","ks","Buffer","Cs","ws","Es","xs","As","Is","Ps","Ls","Os","Ds","Ns","Rs","Us","lineNumber","columnNumber","Ms","warning","setTagName","closed","Bs","qName","Hs","startPrefixMapping","startElement","currentNSMap","localNSMap","endElement","endPrefixMapping","js","characters","Fs","Vs","startCDATA","endCDATA","lastIndex","startDTD","endDTD","qs","processingInstruction","Ws","zs","domBuilder","startDocument","locator","currentElement","fatalError","nbsp","errorHandler","endDocument","getLocalName","getLocator","getQName","getURI","getValue","Gs","XMLReader","Xs","Ks","Ys","$s","Qs","ELEMENT_NODE","Js","ATTRIBUTE_NODE","Zs","TEXT_NODE","ea","CDATA_SECTION_NODE","ta","ENTITY_REFERENCE_NODE","ia","ENTITY_NODE","na","PROCESSING_INSTRUCTION_NODE","ra","COMMENT_NODE","sa","DOCUMENT_NODE","aa","DOCUMENT_TYPE_NODE","oa","DOCUMENT_FRAGMENT_NODE","ua","NOTATION_NODE","la","ca","ha","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","HIERARCHY_REQUEST_ERR","da","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","pa","NOT_SUPPORTED_ERR","INUSE_ATTRIBUTE_ERR","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","fa","captureStackTrace","ma","ga","_node","_refresh","va","_inc","Xa","ya","_a","ba","ownerElement","xa","_nsMap","Ta","Sa","_features","ka","Ca","wa","Ea","Aa","Ia","previousSibling","Pa","La","Oa","Da","Na","Ra","Ua","Ma","Ba","ja","Fa","Ha","Va","qa","Wa","lookupPrefix","Ga","za","publicId","systemId","internalSubset","getNamedItem","setNamedItem","_ownerElement","setNamedItemNS","getNamedItemNS","removeNamedItem","removeNamedItemNS","hasFeature","createDocument","doctype","createElementNS","createDocumentType","setAttributeNode","normalize","appendData","hasAttributes","lookupNamespaceURI","isDefaultNamespace","importNode","createCDATASection","createAttribute","createEntityReference","createAttributeNS","removeAttributeNode","setAttributeNodeNS","removeAttributeNS","getAttributeNodeNS","hasAttributeNS","getAttributeNS","setAttributeNS","getElementsByTagNameNS","substringData","insertData","replaceData","deleteData","splitText","serializeToString","$$length","Ka","Ya","$a","Qa","Ja","baseUrl","indexRange","resolvedUri","Za","timescale","sourceDuration","Vo","periodIndex","startNumber","eo","initialization","jo","sourceURL","sidx","references","referenceType","firstOffset","referencedSize","subsegmentDuration","io","no","ro","CODECS","codecs","bandwidth","so","suggestedPresentationDelay","minimumUpdatePeriod","subs","ao","NOW","clientOffset","availabilityStartTime","oo","qo","uo","RepresentationID","Bandwidth","Time","lo","segmentUrls","Fo","mediaRange","co","segmentInfo","template","ho","po","fo","mo","Wo","go","vo","yo","zo","_o","manifestUri","Uo","mediaPresentationDuration","bo","Mo","Ro","Bo","To","sidxMapping","So","Ho","ko","Co","isLeading","dependsOn","isDependedOn","hasRedundancy","paddingValue","isNonSyncSample","degradationPriority","wo","Eo","xo","Ao","Io","Po","Lo","Oo","Do","DOMImplementation","XMLSerializer","No","cdata","java","xmlns","amp","quot","apos","setDocumentLocator","documentURI","ignorableWhitespace","skippedEntity","dynamic","timeShiftBufferDepth","Go","Xo","Ko","Yo","avc1","DataView","byteOffset","byteLength","dataReferenceIndex","getUint16","horizresolution","vertresolution","frameCount","subarray","avcC","configurationVersion","avcProfileIndication","profileCompatibility","avcLevelIndication","lengthSizeMinusOne","sps","pps","btrt","bufferSizeDB","getUint32","maxBitrate","avgBitrate","esds","flags","esId","streamPriority","decoderConfig","objectProfileIndication","streamType","bufferSize","decoderConfigDescriptor","audioObjectType","samplingFrequencyIndex","channelConfiguration","ftyp","majorBrand","minorVersion","compatibleBrands","dinf","boxes","dref","dataReferences","hdlr","getUint8","handlerType","mdat","nals","mdhd","modificationTime","mdia","mfhd","sequenceNumber","minf","mp4a","channelcount","samplesize","samplerate","streamDescriptor","moof","moov","mvex","mvhd","matrix","nextTrackId","pdin","initialDelay","sdtp","samples","referenceId","earliestPresentationTime","startsWithSap","sapType","sapDeltaTime","smhd","balance","stbl","stco","chunkOffsets","stsc","sampleToChunks","firstChunk","samplesPerChunk","sampleDescriptionIndex","stsd","sampleDescriptions","stsz","sampleSize","entries","stts","timeToSamples","sampleCount","sampleDelta","styp","tfdt","baseMediaDecodeTime","pow","tfhd","trackId","baseDataOffset","defaultSampleDuration","defaultSampleSize","defaultSampleFlags","durationIsEmpty","baseDataOffsetIsMoof","tkhd","layer","alternateGroup","traf","trak","trex","defaultSampleDescriptionIndex","sampleDependsOn","sampleIsDependedOn","sampleHasRedundancy","samplePaddingValue","sampleIsDifferenceSample","sampleDegradationPriority","trun","dataOffset","getInt32","compositionTimeOffset","vmhd","graphicsmode","opcolor","Uint16Array","$o","ArrayBuffer","textify","parseType","findBox","parseTraf","parseTfdt","parseHdlr","parseTfhd","parseTrun","parseSidx","Qo","Jo","codec","Zo","eu","compositionStartTime","videoTrackIds","tu","payloadType","payloadSize","payload","iu","nu","pts","ccData","ru","su","partialFlush","endTimeline","au","captionPackets_","ccStreams_","du","ou","nalUnitType","escapedRBSP","dts","latestDts_","ignoreNextEqualDts_","numSameDts_","flushCCStreams","flushStream","presortIndex","dispatchCea608Packet","activeCea608Channel_","setsTextOrXDSActive","setsChannel1Active","setsChannel2Active","uu","cu","lu","hu","field_","dataChannel_","setConstants","lastControlCode_","PADDING_","RESUME_CAPTION_LOADING_","mode_","END_OF_CAPTION_","clearFormatting","flushDisplayed","displayed_","nonDisplayed_","startPts_","ROLL_UP_2_ROWS_","rollUpRows_","setRollUp","ROLL_UP_3_ROWS_","ROLL_UP_4_ROWS_","CARRIAGE_RETURN_","shiftRowsUp_","BACKSPACE_","row_","ERASE_DISPLAYED_MEMORY_","ERASE_NON_DISPLAYED_MEMORY_","RESUME_DIRECT_CAPTIONING_","isSpecialCharacter","column_","isExtCharacter","isMidRowCode","addFormatting","isOffsetControlCode","isPAC","formatting_","isColorPAC","isNormalChar","startPts","endPts","topRow_","BASE_","EXT_","CONTROL_","OFFSET_","popOn","rollUp","paintOn","pu","fu","gu","mu","vu","yu","isInitialized","isPartial","captionStreams","isNewInit","seiNals","pushNals","clearParsedCaptions","resetCaptionStream","clearAllCaptions","_u","bu","Tu","Su","ku","Cu","wu","Eu","xu","Au","Iu","Pu","Lu","parsePat","parsePmt","parsePayloadUnitStartIndicator","parsePesType","parsePesTime","videoPacketContainsKeyFrame","Ou","Du","isLikelyAacData","parseId3TagSize","parseAdtsSize","parseSampleRate","parseAacTimestamp","unescape","Nu","Ru","Uu","Mu","Hu","pid","Bu","firstKeyFrame","ju","Fu","Vu","dtsTime","ptsTime","qu","Wu","zu","Gu","Xu","Ku","decrypt","_tables","Yu","$u","Qu","Ju","Zu","processJob_","jobs","timeout_","tl","Int32Array","il","decryptChunk_","STEP","asyncStream_","sl","responseURL","al","ol","ul","ll","cl","hl","dl","yl","pl","fl","_l","ml","gl","vl","bl","Tl","master","customTagParsers","customTagMappers","media_","mediaUpdateTimeout","stopRequest","finalRenditionTimeout","hls_","handleManifestRedirects","playlistRequestError","haveMetadata","started","srcUrl","Sl","kl","Infinity","Cl","wl","El","xl","Al","Il","excludeUntil","Pl","Ll","Ol","Dl","MAX_VALUE","Nl","nc","beforeRequest","Hls","ic","responseTime","roundTripTime","requestTime","bytesReceived","timedout","aborted","Rl","Range","Ul","Ml","Bl","isView","bytes","jl","Fl","Hl","Vl","videoTimingInfo","transmuxedPresentationEnd","estimatedStart","transmuxedPresentationStart","seekTime","mediaSeconds","transmuxerPrependedSeconds","getTime","programDateTime","toISOString","ql","programTime","retryCount","pauseAfterSeek","tc","Wl","zl","Gl","Xl","Kl","Yl","$l","Ql","WebKitDataCue","inbandTextTracks_","timestampOffset","mediaSource_","cueTime","frames","frame","privateData","metadataTrack_","Jl","Zl","ec","safeLiveIndex","getMediaInfoForTime","mediaIndex","isEnabled","isBlacklisted","isIncompatible","playlistEnd","isAes","isFmp4","estimateSegmentRequestTime","isLowestEnabledRendition","rc","createTransferableMessage","initSegmentId","segmentKeyId","hexDump","tagDump","textRanges","sc","ac","oc","uc","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","lc","URL","webkitURL","msURL","cc","Worker","hc","mc","terminate","objURL","revokeObjectURL","postMessage","onmessage","isThisThread","dc","pc","fc","createObjectURL","Blob","getBlob","gc","vc","codecCount","videoCodec","videoObjectTypeIndicator","audioProfile","yc","_c","Cc","bc","Tc","Sc","kc","pasp","setUint32","audioobjecttype","samplingfrequencyindex","profileIdc","levelIdc","sarRatio","keyFrame","nalCount","minSegmentDts","minSegmentPts","maxSegmentDts","maxSegmentPts","timelineStartInfo","type_","CaptionStream","Cea608Stream","H264_STREAM_TYPE","ADTS_STREAM_TYPE","METADATA_STREAM_TYPE","TXXX","WXXX","PRIV","descriptor","dispatchType","dataAlignmentIndicator","packetsWaitingForPmt","programMapTable","payloadUnitStartIndicator","section_number","last_section_number","pmtPid","processPes_","STREAM_TYPES","h264","adts","packetLength","pat","pes","pmt","flushStreams_","PAT_PID","MP2T_PACKET_LENGTH","TransportPacketStream","TransportParseStream","ElementaryStream","TimestampRolloverStream","MetadataStream","bitsAvailable","loadWord","skipBits","readBits","skipLeadingZeros","skipUnsignedExpGolomb","skipExpGolomb","readUnsignedExpGolomb","readExpGolomb","readBoolean","readUnsignedByte","H264Stream","NalByteStream","setTimestamp","prependedContentDuration","setEarliestDts","setVideoBaseMediaDecodeTime","setAudioAppendStart","keepOriginalTimestamps","minPTS","gopCache_","resetStream_","getGopForFusion_","alignGopsAtEnd","alignGopsAtEnd_","alignGopsAtStart_","gop","alignGopsWith","numberOfTracks","metadataStream","remux","remuxTracks","pendingTracks","videoTrack","pendingBoxes","pendingCaptions","pendingMetadata","pendingBytes","emittedTracks","audioTrack","initSegment","setRemux","transmuxPipeline_","setupAacPipeline","aacStream","audioTimestampRolloverStream","timedMetadataTimestampRolloverStream","adtsStream","coalesceStream","headOfPipeline","audioSegmentStream","hasAudio","setupTsPipeline","packetStream","elementaryStream","timestampRolloverStream","h264Stream","captionStream","videoSegmentStream","setBaseMediaDecodeTime","resetCaptions","Transmuxer","VideoSegmentStream","AudioSegmentStream","AUDIO_PROPERTIES","VIDEO_PROPERTIES","generateVideoSegmentTimingInfo","transmuxer","gopInfo","videoSegmentTimingInfo","appendStart","gopsToAlignWith","messageHandlers","wc","Ec","inBandMetadataTrackDispatchType","pendingBuffers_","processPendingSegments_","presentation","updating","addSourceBuffer","realBuffer_","nativeMediaSource_","audioDisabled_","bufferUpdating_","audioBuffer_","transmuxer_","videoBuffer_","gopBuffer_","timeMapping_","safeAppend_","videoCodec_","audioCodec_","createRealSourceBuffers_","appendAudioInitSegment_","concatAndAppendSegments_","appendBuffer","originalError","timestampOffset_","codecs_","data_","done_","appendGopInfo_","videoSegmentTimingInfo_","appendWindowStart","xc","Ac","sourceBuffers","MediaSource","activeSourceBuffers_","updateActiveSourceBuffers_","onPlayerMediachange_","onHlsReset_","onHlsSegmentTimeMapping_","mapping","url_","Ic","mediaSources","Pc","swfId","Lc","isTypeSupported","Oc","supportsNativeMediaSources","Dc","Nc","Bc","Rc","Uc","sidxInfo","Mc","jc","Fc","masterPlaylistLoader_","childPlaylist_","loadedPlaylists_","minimumUpdatePeriodTimeout_","mediaRequest_","sidxMapping_","sidxRequestFinished_","startingState","refreshMedia_","masterXml_","clientOffset_","haveMaster_","date","masterLoaded_","syncClientServerClock_","onClientServerClockSync_","parseMasterXml","hasPendingRequest","refreshXml_","setupChildLoader","Hc","Vc","qc","Wc","sourceBuffer_","mediaSource","logger_","start_","started_","onUpdateendCallback_","pendingCallback_","removing","runCallback_","processedAppend_","queueCallback_","videoSegmentTimingInfoCallback","callbacks_","mimeType_","createSourceBuffer_","zc","Gc","ih","nh","Xc","endOfAllRequests","encryptedBytes","requestId","decrypted","encrypted","Kc","stats","loaded","firstBytesReceivedAt","Yc","timescales","fmp4Captions","$c","Qc","Jc","Zc","eh","GOAL_BUFFER_LENGTH","MAX_GOAL_BUFFER_LENGTH","GOAL_BUFFER_LENGTH_RATE","INITIAL_BANDWIDTH","BANDWIDTH_VARIANCE","BUFFER_LOW_WATER_LINE","MAX_BUFFER_LOW_WATER_LINE","BUFFER_LOW_WATER_LINE_RATE","rh","sh","mediaBytesTransferred","mediaRequests","mediaRequestsAborted","mediaRequestsTimedout","mediaRequestsErrored","mediaTransferDuration","mediaSecondsLoaded","abort_","sourceUpdater_","resetStats_","captionParser_","checkBufferTimeout_","syncController_","triggerSyncInfoUpdate_","monitorBuffer_","pendingSegment_","abortRequests","ended_","initSegments_","keyCache_","cacheEncryptionKeys_","playlist_","setDateTimeMapping","couldBeginLoading_","init_","loaderType_","sourceBufferEmitter_","resetEverything","xhrOptions_","syncInfo","saveExpiredSegmentInfo","resyncLoader","resetLoader","fetchAtBuffer_","syncPoint_","segmentMetadataTrack_","monitorBufferTick_","fillBuffer_","getSyncPoint","currentTimeline_","checkBuffer_","buffered_","hasPlayed_","isEndOfStream_","endOfStream","seeking_","startOfSegment","loadSegment_","goalBufferLength_","getSyncSegmentCandidate_","generateSegmentInfo_","segmentIndex","isSyncRequest","segmentDuration","timeUntilRebuffer","currentTimeline","syncController","rebufferingImpact","abortRequestEarly_","trimBackBuffer_","decrypter_","createSimplifiedSegmentObj_","handleProgress_","segmentRequestFinished_","seekable_","segmentKey","roundTrip","processSegmentResponse_","inbandTextTracks","captionArray","handleSegment_","probeSegmentInfo","startingMedia_","containsAudio","containsVideo","blacklistDuration","segmentTimestampInfo","mappingForTimeline","activeInitSegmentId_","handleVideoSegmentTimingInfo_","handleUpdateEnd_","recordThroughput_","addSegmentMetadataCue_","throughput","resolution","hasPlayed","hls","loaderType","segmentMetadataTrack","goalBufferLength","sourceType_","sourceType","state_","cacheEncryptionKeys","decrypter","ah","oh","uh","lh","subtitlesTrack_","skipEmptySegments_","timestampOffsetForTimeline","requested","parseVTTCues_","updateTimeMapping_","timelines","featuresNativeTextTracks_","timestampmap","adStartTime","adEndTime","hh","dh","datetimeToDisplayTime","discontinuities","ph","fh","runStrategies_","selectSyncPoint_","strategy","syncPoint","inspectCache_","probeMp4Segment_","probeTsSegment_","calculateSegmentTimeMapping_","saveDiscontinuitySyncInfo_","accuracy","mh","activePlaylistLoader","gh","vh","Th","mediaTypes","masterPlaylistLoader","activeGroup","activeTrack","Sh","onGroupChanged","segmentLoaders","playlistLoader","onTrackChanged","yh","_h","blacklistCurrentPlaylist","bh","requestOptions","kh","Ch","wh","Eh","requestOptions_","mainSegmentLoader_","audioSegmentLoader_","subtitleSegmentLoader_","mediaTypes_","triggerPresenceUsage_","setupSourceBuffers_","setupFirstPlay","excludeUnsupportedVariants_","enableLowInitialPlaylist","selectInitialPlaylist","selectPlaylist","initialMedia_","useCueTags_","updateAdCues_","updateDuration","addSeekableRange_","stuckAtPlaylistEnd_","Playlist","currentPlaylist","nextPlaylist","forwardBuffer","bufferLowWaterLine","onSyncInfoUpdate_","onEndOfStream","getExpiredTime","configureLoaderMimeTypes_","excludeIncompatibleVariants_","cueTagsTrack_","externHls","useCueTags","handleSourceOpen_","setupMasterPlaylistLoaderListeners_","setupSegmentLoaderListeners_","xh","masterPlaylistController_","smoothQualityChange","Ah","Ih","Ph","checkCurrentTime_","checkCurrentTimeTimeout_","monitorCurrentTime_","fixesBadSeeks_","consecutiveUpdates","lastRecordedTime","techWaiting_","waiting_","timer_","afterSeekableWindow_","allowSeeksWithinUnsafeLiveWindow","beforeSeekableWindow_","cancelTimer_","videoUnderflow_","skipTheGap_","gapFromVideoUnderflow_","Lh","Oh","errorInterval","getSource","reloadSourceOnError","IWillNotUseThisInPlugins","Dh","PlaylistLoader","Decrypter","AsyncStream","utils","STANDARD_PLAYLIST_SELECTOR","useDevicePixelRatio","devicePixelRatio","systemBandwidth","limitRenditionByPlayerDimensions","INITIAL_PLAYLIST_SELECTOR","comparePlaylistBandwidth","comparePlaylistResolution","Nh","Rh","selectedIndex_","Uh","Mh","audioContentType","videoContentType","source_","keySystems","initializeMediaKeys","Bh","supportsNativeHls","supportsNativeDash","supportsTypeNatively","jh","Fh","Hh","useBandwidthFromLocalStorage","setOptions_","playbackWatcher_","mediaRequests_","mediaRequestsAborted_","mediaRequestsTimedout_","mediaRequestsErrored_","mediaTransferDuration_","mediaBytesTransferred_","mediaSecondsLoaded_","currentTech","playerDimensions","timestamp","videoPlaybackQuality","representations","ignoreNextSeekingEvent_","setupQualityLevels_","qualityLevels","qualityLevels_","addQualityLevel","vhs","dash","overrideNative","featuresNativeVideoTracks","featuresNativeAudioTracks","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","smoothQualityChange_","pauseLoading","Vh","HlsHandler","HlsSourceHandler","processInclude","coreFiles","einstein","pageDesigner","$belowFoldRegion","populateRegion","showMoreUrl","spinner","selectedUrl","include","toByteArray","fromByteArray","lookup","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","output","extraBytes","maxChunkLength","len2","read","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","LN2","getRawTag","objectToString","nullTag","undefinedTag","symToStringTag","toStringTag","baseGetTag","trimmedEndIndex","reTrimStart","baseTrim","freeGlobal","objectProto","nativeObjectToString","isOwn","unmasked","freeSelf","reWhitespace","isObject","toNumber","FUNC_ERROR_TEXT","nativeMax","nativeMin","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","debounced","isInvoking","isObjectLike","symbolTag","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","valueOf","isBinary","base64","ieee754","SlowBuffer","INSPECT_MAX_BYTES","TYPED_ARRAY_SUPPORT","typedArraySupport","kMaxLength","foo","createBuffer","RangeError","encodingOrOffset","allocUnsafe","poolSize","_augment","fromArrayBuffer","fromString","fromObject","species","assertSize","alloc","encoding","allocUnsafeSlow","isEncoding","actual","fromArrayLike","isBuffer","isnan","_isBuffer","buf","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap16","swap32","swap64","equals","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","includes","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","_arr","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","out","toHex","newBuf","sliceLen","checkOffset","ext","readUIntLE","noAssert","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","checkInt","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","objectWriteUInt16","littleEndian","writeUInt16LE","writeUInt16BE","objectWriteUInt32","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","checkIEEE754","writeFloat","writeFloatLE","writeFloatBE","writeDouble","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","dst","webpackPolyfill","deprecate","paths"],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;AClFa;;AAEb,IAAIA,aAAa,GAAGC,mBAAO,CAAC,kIAAD,CAA3B;;AACA,IAAIC,WAAW,GAAGD,mBAAO,CAAC,8HAAD,CAAzB;;AACA,IAAIE,QAAQ,GAAGF,mBAAO,CAAC,oHAAD,CAAtB;;AAEAG,MAAM,CAACC,OAAP,GAAiB,EAAjB;AAEA;AACA;AACA;AACA;AACA;AACA;;AACAD,MAAM,CAACC,OAAP,CAAeC,mBAAf,GAAqC,UAAUC,CAAV,EAAa;AAC9C,MAAIC,QAAQ,GAAGC,CAAC,CAAC,IAAD,CAAhB;AACA,MAAIC,sBAAsB,GAAGF,QAAQ,CAACG,QAAT,CAAkB,gBAAlB,IAAsCH,QAAtC,GAAiDA,QAAQ,CAACI,IAAT,CAAc,gBAAd,CAA9E;AAEA,SAAOF,sBAAsB,CAACG,IAAvB,CAA4B,YAAY;AAC3C,QAAIC,WAAW,GAAGL,CAAC,CAAC,IAAD,CAAnB;AACA,QAAIM,IAAI,GAAGD,WAAW,CAACC,IAAZ,MAAsB,EAAjC;AACA,QAAIC,QAAQ,GAAGD,IAAI,CAACE,GAApB;AAEAjB,iBAAa,CAACkB,kBAAd,CAAiCH,IAAjC,EAAuC,UAAUI,gBAAV,EAA4B;AAC/D,UAAIC,QAAQ,GAAGpB,aAAa,CAACqB,iBAAd,CAAgCN,IAAhC,EAAsCI,gBAAtC,CAAf,CAD+D,CAG/D;;AACAV,OAAC,CAACI,IAAF,CAAOO,QAAP,EAAiB,UAAUE,CAAV,EAAaC,GAAb,EAAkB;AAC/B,YAAI,CAACA,GAAD,IAAQ,CAACA,GAAG,CAACC,EAAjB,EAAqB,OAAO,IAAP;AAErB,YAAIC,MAAM,GAAGT,QAAb;AACAS,cAAM,IAAI,CAACA,MAAM,CAACC,OAAP,CAAe,GAAf,MAAwB,CAAC,CAAzB,GAA6B,GAA7B,GAAmC,GAApC,IAA2C,MAA3C,GAAoDH,GAAG,CAACC,EAAlE;AACAV,mBAAW,CAACF,IAAZ,CAAiB,8DAAjB,EACKe,KADL,GAEKC,IAFL,CAEU,sBAFV,EAEkCH,MAFlC,EAL+B,CAOY;AAC9C,OARD,EAJ+D,CAc/D;;AACAX,iBAAW,CAACF,IAAZ,CAAiB,0EAAjB,EAA6FiB,MAA7F,GAf+D,CAiB/D;;AACA,UAAIC,gBAAgB,GAAGhB,WAAW,CAACiB,OAAZ,CAAoB,mBAApB,EAAyCC,WAAzC,CAAqD,YAArD,CAAvB;AAEA9B,iBAAW,CAAC+B,IAAZ,CAAiBnB,WAAW,CAACF,IAAZ,CAAiB,UAAjB,CAAjB,EAA+C,UAAUsB,MAAV,EAAkB;AAC7D;AACA,YAAIC,GAAG,GAAGD,MAAM,CAACE,MAAP,GAAgB,CAAhB,GAAoBN,gBAAgB,CAACf,IAAjB,CAAsB,KAAtB,CAApB,GAAmD,IAA7D;;AAEA,YAAIoB,GAAJ,EAAS;AACLA,aAAG,CAACE,OAAJ;AACAF,aAAG,CAACG,OAAJ;AACH;AACJ,OARD,EApB+D,CA8B/D;;AACAnC,cAAQ,CAACoC,iBAAT,CAA2BT,gBAAgB,CAACU,MAAjB,EAA3B;AACH,KAhCD;AAiCH,GAtCM,CAAP;AAuCH,CA3CD;;AA6CApC,MAAM,CAACC,OAAP,CAAe4B,IAAf,GAAsB,UAAUQ,OAAV,EAAmB;AACrC;AACAhC,GAAC,CAACiC,QAAD,CAAD,CAAYC,GAAZ,CAAgB,eAAhB,EACKC,EADL,CACQ,eADR,EACyBxC,MAAM,CAACC,OAAP,CAAeC,mBADxC;AAGAmC,SAAO,GAAGA,OAAO,IAAI,aAAaA,OAAxB,GAAkCA,OAAlC,GAA4ChC,CAAC,CAACiC,QAAD,CAAvD;AAEA,SAAOD,OAAO,CAACI,cAAR,CAAuB,eAAvB,CAAP;AACH,CARD,C;;;;;;;;;;;;AC3Da;;AAEbzC,MAAM,CAACC,OAAP,GAAiB,EAAjB;AAEA;AACA;AACA;AACA;;AACAD,MAAM,CAACC,OAAP,CAAeyC,gBAAf,GAAkC,YAAY;AAC1C,MAAI9C,aAAa,GAAG+C,MAAM,CAACC,SAA3B;;AACA,MAAIhD,aAAa,IAAK,OAAOA,aAAa,CAACiD,WAArB,KAAqC,UAAvD,IAAuE,OAAOjD,aAAa,CAACkD,aAArB,KAAuC,UAAlH,EAA+H;AAC3H,WAAOlD,aAAP;AACH;;AACD,SAAO,IAAP;AACH,CAND;AAQC;AACD;AACA;AACA;AACA;;;AACAI,MAAM,CAACC,OAAP,CAAea,kBAAf,GAAoC,UAASH,IAAT,EAAeoC,QAAf,EAAyB;AACzD,MAAInD,aAAa,GAAGI,MAAM,CAACC,OAAP,CAAeyC,gBAAf,EAApB;AAEA,MAAIM,MAAM,GAAG;AACTC,UAAM,EAAErD,aAAa,CAACiD,WAAd,EADC;AAETK,YAAQ,EAAEtD,aAAa,CAACkD,aAAd,EAFD;AAGTK,SAAK,EAAE;AAHE,GAAb;;AAMA,MAAIxC,IAAI,CAACyC,OAAL,IAAgBzC,IAAI,CAACyC,OAAL,CAAaC,MAAb,GAAsB,CAA1C,EAA6C;AACzCL,UAAM,CAACI,OAAP,GAAiBzC,IAAI,CAACyC,OAAtB;AACH;;AAED,MAAIxD,aAAa,CAAC0D,OAAlB,EAA2B;AACvB1D,iBAAa,CAAC0D,OAAd,CAAsB1D,aAAa,CAAC2D,QAApC,EAA8C5C,IAAI,CAAC6C,WAAnD,EAAgER,MAAhE,EAAwED,QAAxE;AACH,GAFD,MAEO;AACHnD,iBAAa,CAAC6D,OAAd,GAAwB7D,aAAa,CAAC6D,OAAd,IAAyB,EAAjD,CADG,CACkD;;AACrD7D,iBAAa,CAAC6D,OAAd,CAAsBC,IAAtB,CAA2B;AACvBC,qBAAe,EAAEhD,IAAI,CAAC6C,WADC;AAEvBI,gBAAU,EAAEZ,MAFW;AAGvBD,cAAQ,EAAEA;AAHa,KAA3B;AAKH;AACJ,CAvBD;AAyBA;AACA;AACA;AACA;AACA;AACA;;;AACA/C,MAAM,CAACC,OAAP,CAAegB,iBAAf,GAAmC,UAAU4C,OAAV,EAAmB7C,QAAnB,EAA6B;AAC5D,SAAOA,QAAQ,CAAC6C,OAAO,CAACL,WAAT,CAAR,CAA8BM,IAArC;AACH,CAFD,C;;;;;;;;;;;;ACpDa;;AAEb,IAAIC,aAAa,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,EAA+B,IAA/B,EAAqC,IAArC,CAApB;AAAA,IACIC,YAAY,GAAG,CADnB;AAGAhE,MAAM,CAACC,OAAP,GAAiB;AACbgE,WAAS,EAAE;AACPC,cAAU,EAAE,aADL;AAEPC,WAAO,EAAE;AAFF,GADE;AAKbtC,MAAI,EAAE,gBAAuG;AAAA,QAA7FzB,QAA6F,uEAAlFC,CAAC,CAAC,iEAAD,CAAiF;AAAA,QAAZ+D,UAAY;AACzG,QAAIC,KAAK,GAAG,IAAZ;AAAA,QACIC,UAAU,GAAG,CADjB;AAGAlE,YAAQ,CACPmE,MADD,CACQ,UAAUF,KAAK,CAACJ,SAAN,CAAgBC,UAA1B,GAAuC,GAD/C,EAECzD,IAFD,CAEM,UAAUS,CAAV,EAAasD,OAAb,EAAsB;AACxB,UAAIC,OAAO,GAAGpE,CAAC,CAACmE,OAAD,CAAf;AACA,UAAI5D,QAAQ,GAAG6D,OAAO,CAAC9D,IAAR,CAAa,iBAAb,KAAmC8D,OAAO,CAACjD,IAAR,CAAa,sBAAb,CAAlD;AACA,UAAIkD,SAAS,GAAGrE,CAAC,CAACsE,QAAF,EAAhB;;AAEA,UAAI,CAAC,EAAD,EAAK,IAAL,EAAWC,SAAX,EAAsBtD,OAAtB,CAA8BV,QAA9B,MAA4C,CAAC,CAAjD,EAAoD;AAChD;AACA6D,eAAO,CAAC9D,IAAR,CAAa,WAAb,EAA0B+D,SAA1B;AAEAX,qBAAa,CAACC,YAAD,CAAb,GAA8B,CAACD,aAAa,CAACC,YAAD,CAAb,IAA+B3D,CAAC,CAACwE,IAAF,EAAhC,EAA0CC,IAA1C,CAA+C,YAAY;AACrF;AACAL,iBAAO,CAAC9D,IAAR,CAAa,MAAb,EAAqBN,CAAC,CAAC0E,IAAF,CAAO;AACxBlE,eAAG,EAAED,QADmB;AAExBoE,oBAAQ,EAAE,MAFc;AAGxBC,mBAAO,EAAE,KAHe;AAIxB5C,mBAAO,EAAEoC,OAJe;AAKxBS,sBAAU,EAAE,sBAAY;AACpB,mBAAKC,QAAL,CAAcd,KAAK,CAACJ,SAAN,CAAgBE,OAAhB,CAAwBK,OAAxB,CAAgC,MAAhC,EAAuC,GAAvC,CAAd;AACH,aAPuB;AAQxBY,iBAAK,EAAE,iBAAY;AACf,kBAAIC,MAAM,GAAG,KAAKjD,MAAL,CAAY,QAAZ,EAAsBkD,GAAtB,CAA0B,IAA1B,CAAb;AAEAD,oBAAM,CAACE,EAAP,CAAU,CAAV,EAAa9D,MAAb;AAEA6C,wBAAU;AACb,aAduB;AAexBkB,mBAAO,EAAE,iBAAU7E,IAAV,EAAgB;AACrB;AACA,mBAAK8E,WAAL,CAAiB9E,IAAjB,EAFqB,CAGrB;;AACAN,eAAC,CAAC,MAAD,CAAD,CAAUqF,OAAV,CAAkB,cAAlB;AACH,aApBuB;AAqBxBC,oBAAQ,EAAE,oBAAY;AAClBjB,uBAAS,CAACkB,OAAV;AACH;AAvBuB,WAAP,CAArB;AA0BA,iBAAOlB,SAAP;AACH,SA7B6B,CAA9B;AA+BAV,oBAAY,GAAG,CAACA,YAAY,GAAG,CAAhB,IAAqBD,aAAa,CAACV,MAAlD;AACH;AACJ,KA5CD;;AA8CA,QAAIe,UAAJ,EAAgB;AACZ/D,OAAC,CAACwE,IAAF,CAAOgB,KAAP,CAAaxF,CAAb,EAAgB0D,aAAhB,EAA+Be,IAA/B,CAAoC,YAAY;AAC5C,eAAOV,UAAU,CAAC0B,IAAX,CAAgB,IAAhB,EAAsB;AAAC9D,gBAAM,EAAEsC;AAAT,SAAtB,CAAP;AACH,OAFD;AAGH;AACJ;AA5DY,CAAjB,C;;;;;;;;;;;;ACLa;;;;AAEb,IAAIyB,UAAU,GAAGlG,mBAAO,CAAC,qGAAD,CAAxB;;AACA,IAAImG,IAAI,GAAGnG,mBAAO,CAAC,iFAAD,CAAlB;;AACA,IAAIoG,YAAY,GAAGpG,mBAAO,CAAC,oFAAD,CAA1B;;AACAA,mBAAO,CAAC,+GAAD,CAAP;;AAEA,IAAIqG,aAAa,GAAGrG,mBAAO,CAAC,+HAAD,CAA3B;;AACA,IAAIsG,gBAAgB,GAAGD,aAAa,CAACE,eAAd,CAA8BC,EAArD;AACA,IAAIC,eAAe,GAAGJ,aAAa,CAACE,eAAd,CAA8BG,EAApD;AAEA,IAAIxG,QAAQ,GAAG,EAAf,C,CAEA;;AACAA,QAAQ,CAACyG,mBAAT,GAA+B,UAASC,OAAT,EAAkB;AAC7C,MAAIC,UAAU,GAAG,IAAIC,MAAJ,EAAjB,CAD6C,CAG7C;;AACAD,YAAU,CAACE,aAAX,GAA2BC,QAAQ,CAACJ,OAAO,CAACjF,IAAR,CAAa,sBAAb,CAAD,CAAnC;AACAkF,YAAU,CAACI,QAAX,GAAsBC,KAAK,CAACL,UAAU,CAACE,aAAZ,CAAL,GAAkC,KAAlC,GAA0C,IAAhE;AACAF,YAAU,CAACM,eAAX,GAA6BN,UAAU,CAACI,QAAX,GAAsBJ,UAAU,CAACE,aAAjC,GAAiD,IAA9E,CAN6C,CAQ7C;;AACAF,YAAU,CAACO,IAAX,GAAkBR,OAAO,CAACjF,IAAR,CAAa,kBAAb,MAAqC,OAArC,GAA+C,KAA/C,GAAuD,IAAzE,CAT6C,CAW7C;;AACAkF,YAAU,CAACQ,WAAX,GAAyBL,QAAQ,CAACJ,OAAO,CAACjF,IAAR,CAAa,mBAAb,CAAD,CAAjC;AACAkF,YAAU,CAACS,KAAX,GAAmBJ,KAAK,CAACL,UAAU,CAACQ,WAAZ,CAAL,GAAgC,CAAhC,GAAoCR,UAAU,CAACQ,WAAlE;AACAR,YAAU,CAACU,iBAAX,GAA+BP,QAAQ,CAACJ,OAAO,CAACjF,IAAR,CAAa,sBAAb,CAAD,CAAvC;AACAkF,YAAU,CAACW,WAAX,GAAyBN,KAAK,CAACL,UAAU,CAACU,iBAAZ,CAAL,GAAsC,CAAtC,GAA0CV,UAAU,CAACU,iBAA9E;AACAV,YAAU,CAACY,gBAAX,GAA8BT,QAAQ,CAACJ,OAAO,CAACjF,IAAR,CAAa,sBAAb,CAAD,CAAtC;AACAkF,YAAU,CAACa,UAAX,GAAwBR,KAAK,CAACL,UAAU,CAACY,gBAAZ,CAAL,GAAqC,CAArC,GAAyCZ,UAAU,CAACY,gBAA5E,CAjB6C,CAmB7C;;AACAZ,YAAU,CAACc,MAAX,GAAoBX,QAAQ,CAACJ,OAAO,CAACjF,IAAR,CAAa,oBAAb,CAAD,CAAR,IAAgD,CAApE;AACAkF,YAAU,CAACe,YAAX,GAA0BZ,QAAQ,CAACJ,OAAO,CAACjF,IAAR,CAAa,uBAAb,CAAD,CAAR,IAAmD,CAA7E;AACAkF,YAAU,CAACgB,WAAX,GAAyBb,QAAQ,CAACJ,OAAO,CAACjF,IAAR,CAAa,uBAAb,CAAD,CAAR,IAAmD,CAA5E,CAtB6C,CAwB7C;;AACAkF,YAAU,CAACiB,KAAX,GAAmBd,QAAQ,CAACJ,OAAO,CAACjF,IAAR,CAAa,mBAAb,CAAD,CAAR,IAA+C,GAAlE,CAzB6C,CA2B7C;;AACAkF,YAAU,CAACkB,IAAX,GAAkBnB,OAAO,CAACjF,IAAR,CAAa,kBAAb,KAAoC,UAAtD;AACAkF,YAAU,CAACmB,SAAX,GAAuBpB,OAAO,CAACjF,IAAR,CAAa,uBAAb,KAAyC,cAAhE;AACAkF,YAAU,CAACoB,UAAX,GAAwBrB,OAAO,CAACjF,IAAR,CAAa,wBAAb,KAA0C,cAAlE,CA9B6C,CAgC7C;AACA;;AACA,MAAIuG,gBAAgB,GAAG1H,CAAC,CAACoG,OAAO,CAACjF,IAAR,CAAa,iCAAb,CAAD,CAAxB;AACAkF,YAAU,CAACsB,kBAAX,GAAgCvB,OAAO,CAACjF,IAAR,CAAa,iCAAb,KAAmD,KAAnF;AACAkF,YAAU,CAACuB,YAAX,GAA0BF,gBAAgB,CAAC1E,MAAjB,GAA0B0E,gBAAgB,CAACvH,IAAjB,CAAsB,SAAtB,EAAiC,CAAjC,CAA1B,GAAgE,KAA1F;AACAkG,YAAU,CAACwB,eAAX,GAA6BxB,UAAU,CAACuB,YAAX,KAA4B,KAA5B,GAAoC,KAApC,GAA4C,IAAzE;AACAvB,YAAU,CAACyB,iBAAX,GAA+BJ,gBAAgB,CAAC1E,MAAjB,GAA0B0E,gBAAgB,CAACvH,IAAjB,CAAsB,4BAAtB,EAAoD,CAApD,CAA1B,GAAmF,KAAlH;AAEA,SAAOkG,UAAP;AACH,CAzCD,C,CA2CA;;;AACA3G,QAAQ,CAACqI,eAAT,GAA2B,UAAS3B,OAAT,EAAkB4B,UAAlB,EAA8B;AAAA;;AACrD,MAAI3B,UAAU,GAAG3G,QAAQ,CAACyG,mBAAT,CAA6BC,OAA7B,CAAjB;AACA,MAAIzD,MAAM,GAAG;AACTsF,aAAS,EAAE7B,OAAO,CAACjG,IAAR,CAAa,SAAb,EAAwB,CAAxB,CADF;AAETyG,QAAI,EAAEP,UAAU,CAACO,IAFR;AAGTE,SAAK,EAAET,UAAU,CAACS,KAHT;AAITL,YAAQ,EAAEJ,UAAU,CAACI,QAJZ;AAKTE,mBAAe,EAAEN,UAAU,CAACM,eALnB;AAMTuB,sBAAkB,EAAE,IANX;AAOTX,QAAI,EAAElB,UAAU,CAACkB,IAPR;AAQTJ,UAAM,EAAEd,UAAU,CAACc,MARV;AASTG,SAAK,EAAEjB,UAAU,CAACiB,KATT;AAUTM,gBAAY,EAAEvB,UAAU,CAACuB,YAVhB;AAWTC,mBAAe,EAAExB,UAAU,CAACwB,eAXnB;AAYTC,qBAAiB,EAAEzB,UAAU,CAACyB,iBAZrB;AAaTK,wBAAoB,EAAE,MAbb;AAaqB;AAC9BC,cAAU,kDACLtC,gBADK,EACc;AAChBgB,WAAK,EAAET,UAAU,CAACW,WADF;AAEhBG,YAAM,EAAEd,UAAU,CAACe;AAFH,KADd,gCAKLnB,eALK,EAKa;AACfa,WAAK,EAAET,UAAU,CAACa,UADH;AAEfC,YAAM,EAAEd,UAAU,CAACgB;AAFJ,KALb;AAdD,GAAb;;AA0BA,MAAIW,UAAJ,EAAgB;AACZrF,UAAM,CAACqF,UAAP,GAAoBA,UAApB;AACH;;AAED,MAAIrF,MAAM,CAAC4E,IAAP,KAAgB,SAApB,EAA+B;AAC3B5E,UAAM,CAAC6E,SAAP,GAAmBnB,UAAU,CAACmB,SAA9B;AACA7E,UAAM,CAAC8E,UAAP,GAAoBpB,UAAU,CAACoB,UAA/B;AACH;;AAED,SAAO9E,MAAP;AACH,CAtCD,C,CAwCA;AACA;;;AACAjD,QAAQ,CAAC2I,aAAT,GAAyB,UAASC,MAAT,EAAiB;AACtC,MAAIA,MAAM,CAACV,YAAP,KAAwB,KAAxB,IAAiC5H,CAAC,CAACsI,MAAM,CAACV,YAAR,CAAD,CAAuB1H,QAAvB,CAAgC,QAAhC,CAArC,EAAgF;AAC5E,QAAIqI,gBAAgB,GAAGvI,CAAC,CAACsI,MAAM,CAACV,YAAR,CAAD,CAAuBzH,IAAvB,CAA4B,iBAA5B,CAAvB;AACAoI,oBAAgB,CAACC,cAAjB;AACH;AACJ,CALD,C,CAOA;;;AACA9I,QAAQ,CAAC+I,oBAAT,GAAgC,UAASC,MAAT,EAAiBC,MAAjB,EAAyBC,WAAzB,EAAsC;AAClE,MAAIZ,UAAU,GAAG,EAAjB;AAEAU,QAAM,CAAC,OAAD,CAAN,CAAgBG,OAAhB,CAAwB,UAAAC,KAAK,EAAI;AAC7B,QAAIC,aAAa,GAAG/I,CAAC,CAAC,aAAD,CAAD,CAAiBmB,IAAjB,CAAsB,OAAtB,EAA+B,OAA/B,CAApB;AACA,QAAI6H,aAAa,GAAGhJ,CAAC,CAAC,QAAD,CAArB;;AAEA,QAAI,CAAC4I,WAAL,EAAkB;AACdG,mBAAa,CAAC5H,IAAd,CAAmB,iBAAnB,EAAsCuH,MAAM,CAAC,QAAD,CAAN,CAAiB1F,MAAjB,GAA0B0F,MAAM,CAAC,QAAD,CAAN,CAAiBI,KAAK,CAACG,KAAvB,EAA8BzI,GAAxD,GAA8DkI,MAAM,CAAC,OAAD,CAAN,CAAgBI,KAAK,CAACG,KAAtB,EAA6BzI,GAAjI;AACH;;AAEDwI,iBAAa,CAAC7H,IAAd,CAAmB;AACf,aAAO2H,KAAK,CAACtI,GADE;AAEf,aAAOsI,KAAK,CAACI,GAAN,GAAY,gBAAZ,GAA+B,CAAC1C,QAAQ,CAACsC,KAAK,CAACG,KAAP,CAAR,GAAwB,CAAzB,EAA4BE,OAA5B,CAAoC,CAApC,CAFvB;AAGf,eAAS,mBAHM;AAIf,kBAAY;AAJG,KAAnB;AAOAJ,iBAAa,CAACK,MAAd,CAAqBJ,aAArB;AACAhB,cAAU,CAAC3E,IAAX,CAAgB0F,aAAa,CAAC,CAAD,CAA7B;AACH,GAjBD;AAmBArJ,UAAQ,CAAC2J,wBAAT,CAAkCrB,UAAlC,EAA8CW,MAA9C,EAAsDC,WAAtD;AAEA,SAAOZ,UAAP;AACH,CAzBD,C,CA2BA;;;AACAtI,QAAQ,CAAC2J,wBAAT,GAAoC,UAASrB,UAAT,EAAqBW,MAArB,EAA6BC,WAA7B,EAA0C;AAC1E,MAAIU,UAAU,GAAGtB,UAAU,CAAChF,MAA5B;AACA,MAAIuG,QAAQ,GAAG,KAAf;AAEAZ,QAAM,CAACE,OAAP,CAAe,UAACW,KAAD,EAAQP,KAAR,EAAkB;AAC7B,QAAIF,aAAa,GAAG/I,CAAC,CAAC,uCAAD,CAArB;AACA,QAAIgJ,aAAa,GAAGhJ,CAAC,CAAC,QAAD,CAArB;AACA,QAAIyJ,YAAY,GAAGzJ,CAAC,CAAC,8CAAD,CAApB;;AAEA,QAAIwJ,KAAK,CAACE,OAAV,EAAmB;AACfH,cAAQ,GAAG,IAAX;AACH;;AAED,QAAI,CAACX,WAAL,EAAkB;AACdG,mBAAa,CAAC5H,IAAd,CAAmB,OAAnB,EAA4B,eAA5B,EADc,CAEd;;AACAnB,OAAC,CAAC0E,IAAF,CAAO;AACHlE,WAAG,EAAEgJ,KAAK,CAACG,cADR;AAEHC,cAAM,EAAE,KAFL;AAGHzE,eAAO,EAAE,iBAAA7E,IAAI,EAAI;AACb,cAAIe,gBAAgB,GAAG0H,aAAa,CAACzH,OAAd,CAAsB,mBAAtB,CAAvB;AACAyH,uBAAa,CAACc,IAAd,CAAmBvJ,IAAnB,EAFa,CAIb;;AACA,cAAI2I,KAAK,GAAG,CAAR,IAAaN,MAAM,CAAC3F,MAAxB,EAAgC;AAC5B+F,yBAAa,CAAC1D,OAAd,CAAsB,cAAtB,EAD4B,CACW;;AAEvC,gBAAIkE,QAAJ,EAAc;AACVvJ,eAAC,CAAC,MAAD,CAAD,CAAUqF,OAAV,CAAkB,sBAAlB,EAA0C,CAAChE,gBAAD,CAA1C,EADU,CACqD;;AAC/DrB,eAAC,CAAC,MAAD,CAAD,CAAUqF,OAAV,CAAkB,qBAAlB,EAFU,CAEgC;AAC7C;AACJ;AACJ,SAhBE;AAiBHN,aAAK,EAAE,eAAA+E,GAAG,EAAI;AACVC,iBAAO,CAAChF,KAAR,CAAc,4CAAd,EAA4D+E,GAA5D;AACH;AAnBE,OAAP;AAqBH,KAxBD,MAwBO;AACHf,mBAAa,CAAC5H,IAAd,CAAmB,OAAnB,EAA4B,uBAA5B;AACA6H,mBAAa,CAAC7H,IAAd,CAAmB;AACf,eAAOqI,KAAK,CAACQ,SADE;AAEf,eAAO,kBAAkB,CAACV,UAAU,GAAG,CAAd,EAAiBH,OAAjB,CAAyB,CAAzB,CAFV;AAGf,iBAAS,mBAHM;AAIf,oBAAY;AAJG,OAAnB;AAMH;;AAEDG,cAAU;AACVP,iBAAa,CAACK,MAAd,CAAqBJ,aAArB;;AAEA,QAAIQ,KAAK,CAACE,OAAV,EAAmB;AACfX,mBAAa,CAACK,MAAd,CAAqBK,YAArB;AACH;;AAEDzB,cAAU,CAAC3E,IAAX,CAAgB0F,aAAa,CAAC,CAAD,CAA7B;AACH,GAnDD;AAoDH,CAxDD,C,CA0DA;;;AACArJ,QAAQ,CAACuK,qBAAT,GAAiC,UAAS5I,gBAAT,EAA2BiH,MAA3B,EAAmC;AAChEjH,kBAAgB,CAACa,GAAjB,CAAqB,eAArB,EAAsCC,EAAtC,CAAyC,eAAzC,EAA0D,SAA1D,EAAqE,UAAC+H,KAAD,EAAQ5J,IAAR,EAAiB;AAClF,QAAI6J,uBAAuB,GAAGnK,CAAC,CAACkK,KAAK,CAACE,MAAP,CAAD,CAAgB9I,OAAhB,CAAwB,mBAAxB,CAA9B;AACA,QAAIsH,WAAW,GAAGuB,uBAAuB,CAACjK,QAAxB,CAAiC,mBAAjC,CAAlB;AACA,QAAImK,iBAAiB,GAAG/J,IAAI,KAAKiE,SAAT,GAAqB7E,QAAQ,CAAC+I,oBAAT,CAA8BnI,IAAI,CAACoI,MAAnC,EAA2CpI,IAAI,CAACqI,MAAhD,EAAwDC,WAAxD,CAArB,GAA4F,IAApH;AACA,QAAI0B,aAAa,GAAG5K,QAAQ,CAACqI,eAAT,CAAyBoC,uBAAzB,EAAkDE,iBAAlD,CAApB,CAJkF,CAMlF;;AACA,QAAIzB,WAAJ,EAAiB;AACb,UAAI2B,mBAAmB,GAAGJ,uBAAuB,CAAC7I,OAAxB,CAAgC,4BAAhC,CAA1B;AACA,UAAIkJ,mBAAmB,GAAGD,mBAAmB,CAACE,IAApB,CAAyB,sBAAzB,CAA1B;;AAEA,UAAInK,IAAI,CAACoI,MAAL,CAAYgC,KAAZ,IAAqBpK,IAAI,CAACoI,MAAL,CAAYgC,KAAZ,CAAkB1H,MAAlB,GAA2B,CAApD,EAAuD;AACnDuH,2BAAmB,CAAChJ,WAApB,CAAgC,QAAhC;AACAiJ,2BAAmB,CAAC1F,QAApB,CAA6B,iCAA7B;AACH,OAHD,MAGO;AACHyF,2BAAmB,CAACzF,QAApB,CAA6B,QAA7B;AACA0F,2BAAmB,CAACjJ,WAApB,CAAgC,iCAAhC;AACH;AACJ,KAlBiF,CAoBlF;;;AACA,QAAI+I,aAAa,CAACtC,UAAlB,EAA8B;AAC1B,UAAI2C,iBAAiB,GAAG3K,CAAC,CAAC,aAAD,CAAD,CAAiBmB,IAAjB,CAAsB;AAC1C,iBAAS,QADiC;AAE1C,cAAMmJ,aAAa,CAACrC,SAAd,CAAwBlH;AAFY,OAAtB,CAAxB;AAIA,UAAI6J,kBAAkB,GAAGT,uBAAuB,CAAChK,IAAxB,CAA6B,4BAA7B,EAA2D2E,QAA3D,CAAoE,QAApE,CAAzB;AACA6F,uBAAiB,CAACd,IAAlB,CAAuBS,aAAa,CAACtC,UAArC;AACAmC,6BAAuB,CAACN,IAAxB,CAA6Bc,iBAA7B;AACAL,mBAAa,CAACrC,SAAd,GAA0B0C,iBAAiB,CAAC,CAAD,CAA3C,CAR0B,CAU1B;;AACA,UAAI/B,WAAJ,EAAiB;AACbuB,+BAAuB,CAACf,MAAxB,CAA+BwB,kBAA/B;AACAN,qBAAa,CAACxD,KAAd,GAAsBwD,aAAa,CAACtC,UAAd,CAAyBhF,MAA/C;AACAsH,qBAAa,CAAClC,UAAd,CAAyBtC,gBAAzB,EAA2CgB,KAA3C,GAAmDwD,aAAa,CAACtC,UAAd,CAAyBhF,MAA5E;AACAsH,qBAAa,CAAClC,UAAd,CAAyBnC,eAAzB,EAA0Ca,KAA1C,GAAkDwD,aAAa,CAACtC,UAAd,CAAyBhF,MAA3E;AACH;AACJ,KAtCiF,CAwClF;;;AACAsF,UAAM,GAAG5C,UAAU,CAAChE,GAAX,CAAe4I,aAAf,CAAT;AACAhC,UAAM,CAACuC,MAAP,CAAc1I,EAAd,CAAiB,eAAjB,EAAkCzC,QAAQ,CAAC2I,aAA3C;AACA3I,YAAQ,CAACoL,eAAT,CAAyBX,uBAAzB;;AAEA,QAAIvB,WAAJ,EAAiB;AACblJ,cAAQ,CAACqL,qBAAT,CAA+BZ,uBAA/B,EAAwD7B,MAAxD;AACH,KAFD,MAEO;AACH;AACAtI,OAAC,CAAC,MAAD,CAAD,CAAUmC,EAAV,CAAa,qBAAb,EAAoC,YAAM;AACtCzC,gBAAQ,CAACsL,kBAAT,CAA4Bb,uBAA5B,EAAqD7B,MAArD;AACH,OAFD;AAGH;AACJ,GArDD;AAsDH,CAvDD,C,CAyDA;;;AACA5I,QAAQ,CAACuL,sBAAT,GAAkC,UAAS5J,gBAAT,EAA2BiH,MAA3B,EAAmC;AACjEjH,kBAAgB,CAACa,GAAjB,CAAqB,gBAArB,EAAuCC,EAAvC,CAA0C,gBAA1C,EAA4D,SAA5D,EAAuE,YAAM;AACzEmG,UAAM,CAAC1G,OAAP;AACH,GAFD;AAGH,CAJD,C,CAMA;;;AACAlC,QAAQ,CAACoL,eAAT,GAA2B,UAASzJ,gBAAT,EAA2B;AAClD,MAAIA,gBAAgB,CAACC,OAAjB,CAAyB,iBAAzB,EAA4C0B,MAA5C,IACG,CAAC3B,gBAAgB,CAACnB,QAAjB,CAA0B,mBAA1B,CADJ,IAEG,CAACoC,MAAM,CAAC4I,QAAP,EAFR,EAE2B;AACvB,QAAIC,OAAO,GAAG9J,gBAAgB,CAAClB,IAAjB,CAAsB,QAAtB,CAAd;AACAgL,WAAO,CAAC/K,IAAR,CAAa,UAAC6I,KAAD,EAAQmC,KAAR,EAAkB;AAC3B,UAAIpG,MAAM,GAAGhF,CAAC,CAACoL,KAAD,CAAd;;AAEA,UAAI,CAACpG,MAAM,CAAC9E,QAAP,CAAgB,SAAhB,CAAL,EAAiC;AAC7B,YAAImL,YAAY,GAAGrG,MAAM,CAAC1E,IAAP,CAAY,YAAZ,KAA6B0E,MAAM,CAAC7E,IAAP,CAAY,KAAZ,EAAmBgB,IAAnB,CAAwB,KAAxB,CAAhD;AACA6D,cAAM,CAACW,IAAP,CAAY;AACRnF,aAAG,EAAE6K,YADG;AAERC,iBAAO,EAAE,CAFD;AAGRC,eAAK,EAAE;AAHC,SAAZ;AAKH;AACJ,KAXD;AAYH;AACJ,CAlBD,C,CAoBA;;;AACA7L,QAAQ,CAACqL,qBAAT,GAAiC,UAAS1J,gBAAT,EAA2BiH,MAA3B,EAAmC;AAChE,MAAIjH,gBAAgB,CAACnB,QAAjB,CAA0B,mBAA1B,CAAJ,EAAoD;AAChD,QAAIkG,OAAO,GAAG/E,gBAAgB,CAAClB,IAAjB,CAAsB,SAAtB,CAAd;AACA,QAAIqL,OAAO,GAAGnK,gBAAgB,CAAClB,IAAjB,CAAsB,4BAAtB,CAAd;AACA,QAAIsL,MAAM,GAAG,CAAb,CAHgD,CAGhC;;AAChB,QAAIC,aAAJ;AACA,QAAIC,UAAJ;AAEAvF,WAAO,CAACR,YAAR,GAAuBgG,IAAvB,CAA4B,YAAM;AAC9B,UAAItJ,MAAM,CAAC4I,QAAP,EAAJ,EAAuB;AACnBQ,qBAAa,GAAGrK,gBAAgB,CAACwK,UAAjB,EAAhB;AACAF,kBAAU,GAAGvF,OAAO,CAAC,CAAD,CAAP,CAAW0F,WAAxB;AACH,OAHD,MAGO;AACHJ,qBAAa,GAAGrK,gBAAgB,CAAC0K,WAAjB,EAAhB;AACAJ,kBAAU,GAAGvF,OAAO,CAAC,CAAD,CAAP,CAAW4F,YAAxB;AACH;;AAED,UAAIL,UAAU,GAAGF,MAAb,IAAuBC,aAA3B,EAA0C;AACtCF,eAAO,CAACjK,WAAR,CAAoB,QAApB;AACH;AACJ,KAZD;AAaH;AACJ,CAtBD,C,CAwBA;;;AACA7B,QAAQ,CAACsL,kBAAT,GAA8B,UAAS3J,gBAAT,EAA2BiH,MAA3B,EAAmC;AAC7D,MAAI2D,OAAO,GAAG5K,gBAAgB,CAAClB,IAAjB,CAAsB,iFAAtB,CAAd;;AAEA,MAAI8L,OAAO,CAACjJ,MAAZ,EAAoB;AAChBsF,UAAM,CAACuC,MAAP,CAAc1I,EAAd,CAAiB,cAAjB,EAAiC,YAAM;AACnC8J,aAAO,CAAC7L,IAAR,CAAa,UAAC8L,EAAD,EAAKC,OAAL,EAAiB;AAC1B,YAAIC,eAAe,GAAGpM,CAAC,CAACmM,OAAD,CAAvB;AACA,YAAIE,OAAO,GAAGD,eAAe,CAACjM,IAAhB,CAAqB,eAArB,EAAsCgB,IAAtC,CAA2C,IAA3C,CAAd;AACA,YAAImL,MAAM,GAAGhK,MAAM,CAACiK,OAAP,CAAeF,OAAf,CAAb;;AAEA,YAAIC,MAAJ,EAAY;AACR,cAAI,CAACF,eAAe,CAAC9K,OAAhB,CAAwB,mBAAxB,EAA6C0B,MAAlD,EAA0D;AACtDsJ,kBAAM,CAACE,KAAP;AACH,WAFD,MAEO,IAAIF,MAAM,CAACG,MAAP,CAAchG,QAAlB,EAA4B;AAC/B6F,kBAAM,CAACI,IAAP;AACH;AACJ;AACJ,OAZD;AAaH,KAdD;AAeH;AACJ,CApBD,C,CAsBA;;;AACAhN,QAAQ,CAACiN,eAAT,GAA2B,UAAStL,gBAAT,EAA2BiH,MAA3B,EAAmC;AAC1D,MAAIsE,qBAAqB,GAAGvL,gBAAgB,CAACF,IAAjB,CAAsB,oCAAtB,CAA5B;;AAEA,MAAIE,gBAAgB,CAAC,CAAD,CAAhB,CAAoBwL,YAApB,CAAiC,sBAAjC,KAA4DxL,gBAAgB,CAACF,IAAjB,CAAsB,sBAAtB,KAAiD,OAA7G,IAAwHE,gBAAgB,CAAC,CAAD,CAAhB,CAAoBwL,YAApB,CAAiC,oCAAjC,CAAxH,IAAkMxL,gBAAgB,CAACF,IAAjB,CAAsB,oCAAtB,KAA+D,MAArQ,EAA8Q;AAC1Q,QAAIyL,qBAAqB,IAAI,iBAA7B,EAAgD;AAC5CvL,sBAAgB,CAAClB,IAAjB,CAAsB,UAAtB,EAAkC2E,QAAlC,CAA2C,qBAA3C,EAAkEsE,MAAlE,CAAyE,+FAAzE;AACH,KAFD,MAEO;AACH/H,sBAAgB,CAACyL,OAAjB,CAAyB,+FAAzB;AACH;;AAAA;AAED9M,KAAC,CAAC,qBAAD,CAAD,CAAyB8E,QAAzB,CAAkC8H,qBAAlC;AAEAvL,oBAAgB,CAACc,EAAjB,CAAoB,OAApB,EAA6B,qBAA7B,EAAoD,YAAW;AAC3D+H,WAAK,CAAC6C,cAAN;AACA/M,OAAC,CAAC,IAAD,CAAD,CAAQgN,WAAR,CAAoB,OAApB;AACA3L,sBAAgB,CAAC2L,WAAjB,CAA6B,cAA7B;;AAEA,UAAI3L,gBAAgB,CAACnB,QAAjB,CAA0B,cAA1B,CAAJ,EAA+C;AAC3CoI,cAAM,CAACkE,KAAP;AACH,OAFD,MAEO;AACHlE,cAAM,CAACoE,IAAP;AACH;AACJ,KAVD;AAWH;AACJ,CAxBD;;AA0BAhN,QAAQ,CAACoC,iBAAT,GAA6B,YAA+B;AAAA,MAAtB/B,QAAsB,uEAAXC,CAAC,CAAC,MAAD,CAAU;AACxD,MAAIgE,KAAK,GAAG,IAAZ,CADwD,CAExD;;AACA,MAAIiJ,iBAAiB,GAAGlN,QAAQ,CAACI,IAAT,CAAc,oCAAd,CAAxB;AAEA8M,mBAAiB,CAAC7M,IAAlB,CAAuB,UAACS,CAAD,EAAIyH,MAAJ,EAAe;AAClC,QAAIjH,gBAAgB,GAAGrB,CAAC,CAACsI,MAAD,CAAxB;AACA,QAAI3F,MAAM,GAAGqB,KAAK,CAAC+D,eAAN,CAAsB1G,gBAAtB,CAAb;AACA,QAAI6L,YAAY,GAAG,EAAnB;AACA,QAAIC,QAAQ,GAAG9L,gBAAgB,CAAClB,IAAjB,CAAsB,wBAAtB,CAAf;AAEAgN,YAAQ,CAAC/M,IAAT,CAAc,UAAUS,CAAV,EAAasD,OAAb,EAAsB;AAChC,UAAIC,OAAO,GAAGpE,CAAC,CAACmE,OAAD,CAAf;AACA,UAAIE,SAAS,GAAGD,OAAO,CAAC9D,IAAR,CAAa,WAAb,CAAhB;;AAEA,UAAI+D,SAAS,IAAI,CAACA,SAAS,CAAC+I,UAAxB,IAAsC/I,SAAS,CAACgJ,KAAV,OAAsB,SAAhE,EAA2E;AACvEH,oBAAY,CAAC7J,IAAb,CAAkBgB,SAAlB;AACH;AACJ,KAPD,EANkC,CAelC;;AACArE,KAAC,CAACwE,IAAF,CAAOgB,KAAP,CAAaxF,CAAb,EAAgBkN,YAAhB,EAA8BtB,IAA9B,CAAmC,YAAY;AAC3C5H,WAAK,CAACsJ,eAAN,CAAsBjM,gBAAtB,EAAwCsB,MAAxC;AACH,KAFD;AAGH,GAnBD;AAoBH,CAzBD;;AA2BAjD,QAAQ,CAAC4N,eAAT,GAA2B,UAAUC,UAAV,EAAsB5K,MAAtB,EAA8B;AACrD,MAAI,CAAC4K,UAAL,EAAiB;AAEjB,MAAIC,OAAO,GAAG9H,UAAU,CAAChE,GAAX,CAAeiB,MAAf,CAAd;;AAEA,MAAI,CAAC,CAAC6K,OAAN,EAAe;AACXA,WAAO,CAAC3C,MAAR,CAAe1I,EAAf,CAAkB,iBAAlB,EAAqC,KAAKkG,aAA1C;AAEA,SAAKsE,eAAL,CAAqBY,UAArB,EAAiCC,OAAjC;AACA,SAAKvD,qBAAL,CAA2BsD,UAA3B,EAAuCC,OAAvC;AACA,SAAKvC,sBAAL,CAA4BsC,UAA5B,EAAwCC,OAAxC;AACA,SAAK1C,eAAL,CAAqByC,UAArB;AACA,SAAKxC,qBAAL,CAA2BwC,UAA3B,EAAuCC,OAAvC;AACA,SAAKxC,kBAAL,CAAwBuC,UAAxB,EAAoCC,OAApC;AAEAxN,KAAC,CAAC,MAAD,CAAD,CAAUqF,OAAV,CAAkB,0BAAlB,EAA8C,CAACkI,UAAD,CAA9C;AACH;;AAEDA,YAAU,CAACjN,IAAX,CAAgB,KAAhB,EAAuBkN,OAAvB;AACAD,YAAU,CAAClI,OAAX,CAAmB,cAAnB;AACH,CApBD;;AAsBA3F,QAAQ,CAAC+N,+BAAT,GAA2C,YAAW;AAClDzN,GAAC,CAAC,MAAD,CAAD,CAAUkC,GAAV,CAAc,iBAAd,EAAiCC,EAAjC,CAAoC,iBAApC,EAAuD,UAAC+H,KAAD,EAAQwD,KAAR,EAAkB;AACrEhO,YAAQ,CAACoC,iBAAT,CAA2B9B,CAAC,CAAC0N,KAAD,CAA5B;AACH,GAFD;AAGH,CAJD;;AAMAhO,QAAQ,CAACiO,8BAAT,GAA0C,YAAW;AACjD3N,GAAC,CAAC,MAAD,CAAD,CAAUkC,GAAV,CAAc,2BAAd,EAA2CC,EAA3C,CAA8C,2BAA9C,EAA2E,UAAC+H,KAAD,EAAQwD,KAAR,EAAkB;AACzFhO,YAAQ,CAACoC,iBAAT,CAA2B9B,CAAC,CAAC0N,KAAD,CAA5B;AACH,GAFD;AAGH,CAJD;;AAMAhO,QAAQ,CAACkO,uBAAT,GAAmC,YAAW;AAC1C5N,GAAC,CAAC,MAAD,CAAD,CAAUkC,GAAV,CAAc,oBAAd,EAAoCC,EAApC,CAAuC,oBAAvC,EAA6D,UAAC+H,KAAD,EAAQE,MAAR,EAAmB;AAC5E1K,YAAQ,CAACoC,iBAAT,CAA2B9B,CAAC,CAACoK,MAAD,CAA5B;AACH,GAFD;AAGH,CAJD;;AAMA1K,QAAQ,CAAC8B,IAAT,GAAiB,YAAW;AACxB9B,UAAQ,CAACoC,iBAAT;AACApC,UAAQ,CAAC+N,+BAAT;AACA/N,UAAQ,CAACiO,8BAAT;AACAjO,UAAQ,CAACkO,uBAAT;AACH,CALD;;AAOAjO,MAAM,CAACC,OAAP,GAAiBF,QAAjB,C;;;;;;;;;;;;AC7aa;;AAEb,IAAMmO,QAAQ,GAAGrO,mBAAO,CAAC,6FAAD,CAAxB;;AACA,IAAMsO,WAAW,GAAGtO,mBAAO,CAAC,oIAAD,CAA3B;;AAEA,IAAMuO,cAAc,GAAG;AACnBtH,UAAQ,EAAE,KADS;AAEnBuH,UAAQ,EAAE,IAFS;AAGnBC,OAAK,EAAE,KAHY;AAInBrH,MAAI,EAAE,KAJa;AAKnB8G,OAAK,EAAE,KALY;AAMnBQ,UAAQ,EAAE;AANS,CAAvB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,eAAT,GAA2B;AACvB,MAAI7B,MAAM,GAAG,IAAb;AACA,MAAI8B,KAAK,GAAGpO,CAAC,CAAC,MAAMsM,MAAM,CAACvL,EAAd,CAAb;AAEAuL,QAAM,CAAC+B,WAAP,GAAqB;AACjBC,WAAO,EAAEF,KADQ;AAEjBG,UAAM,EAAEH,KAAK,CAACI,QAAN,CAAe,kBAAf,CAFS;AAGjBC,SAAK,EAAEL,KAAK,CAAC9M,OAAN,CAAc,kBAAd;AAHU,GAArB;AAKH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoN,UAAT,GAAsB;AAClB,MAAIpC,MAAM,GAAG,IAAb;AAEA,MAAIqC,cAAc,GAAG,EAArB;;AACA,MAAI;AACAA,kBAAc,GAAGC,IAAI,CAACC,KAAL,CAAWvC,MAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BnN,IAA3B,CAAgC,kBAAhC,CAAX,CAAjB;AACH,GAFD,CAEE,OAAO2N,EAAP,EAAW;AACTH,kBAAc,GAAGZ,cAAjB;AACH;;AAEDzB,QAAM,CAACG,MAAP,GAAgB;AACZhG,YAAQ,EAAE,CAAC,CAACkI,cAAc,CAAClI,QADf;AAEZuH,YAAQ,EAAE,CAAC,CAACW,cAAc,CAACX,QAFf;AAGZC,SAAK,EAAE,CAAC,CAACU,cAAc,CAACI,IAHZ;AAIZnI,QAAI,EAAE,CAAC,CAAC+H,cAAc,CAAC/H,IAJX;AAKZsH,YAAQ,EAAES,cAAc,CAACT,QALb;AAMZR,SAAK,EAAE,CAAC,CAACiB,cAAc,CAACjB,KANZ;AAOZsB,WAAO,EAAE1C,MAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BnN,IAA3B,CAAgC,eAAhC;AAPG,GAAhB;AASH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8N,eAAT,CAAyBC,SAAzB,EAAoC;AAChC,MAAI5C,MAAM,GAAG,IAAb;AACA,MAAIG,MAAM,GAAGH,MAAM,CAACG,MAApB;;AAEA,MAAI0C,eAAe,GAAG,SAAlBA,eAAkB,CAACrP,CAAD,EAAO;AACzB,QAAIoP,SAAS,CAACE,OAAd,EAAuB;AACnBF,eAAS,CAACE,OAAV,CAAkBtP,CAAlB;AACA,aAAOoP,SAAS,CAAC,SAAD,CAAhB;AACH;AACJ,GALD,CAJgC,CAWhC;;;AACA,MAAIA,SAAJ,EAAe;AACXzC,UAAM,GAAGzM,CAAC,CAACqP,MAAF,CAAS,EAAT,EAAa/C,MAAM,CAACG,MAApB,EAA4ByC,SAA5B,CAAT;AACH;;AAED5C,QAAM,CAACgD,MAAP,GAAgB,IAAIC,OAAJ,CAAYjD,MAAM,CAACvL,EAAnB,EAAuB;AACnC0F,YAAQ,EAAEgG,MAAM,CAAChG,QADkB;AAEnC+I,eAAW,EAAE/C,MAAM,CAAChG,QAFe;AAGnCuH,YAAQ,EAAEvB,MAAM,CAACuB,QAHkB;AAInCpH,QAAI,EAAE6F,MAAM,CAAC7F,IAJsB;AAKnCqH,SAAK,EAAExB,MAAM,CAACwB;AALqB,GAAvB,EAMbkB,eANa,CAAhB;AAQA7C,QAAM,CAACgD,MAAP,CAAcnN,EAAd,CAAiB,OAAjB,EAA0B,YAAM;AAC5B;AACAmK,UAAM,CAACmD,KAAP,CAAaC,IAAb,GAAoBpD,MAAM,CAACgD,MAAP,CAAcK,WAAd,EAApB;AACH,GAHD;AAKArD,QAAM,CAACgD,MAAP,CAAcnN,EAAd,CAAiB,OAAjB,EAA0B,YAAM;AAC5BnC,KAAC,CAAC,MAAD,CAAD,CAAUqF,OAAV,CAAkB,aAAlB,EAAiCiH,MAAjC;AACH,GAFD;AAGH;AAED;AACA;AACA;AACA;AACA;;;AACA,SAASsD,cAAT,GAA0B;AACtB,MAAItD,MAAM,GAAG,IAAb;AACA,MAAIuD,gBAAgB,GAAGvD,MAAM,CAAC+B,WAAP,CAAmBI,KAA1C,CAFsB,CAItB;;AACAnC,QAAM,CAACE,KAAP;;AAEA,MAAIF,MAAM,CAACG,MAAP,CAAcyB,QAAlB,EAA4B;AACxB;AACA5B,UAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BpM,EAA1B,CAA6B,OAA7B,EAAsC,UAAA+H,KAAK,EAAI;AAC3CA,WAAK,CAAC6C,cAAN;;AAEA,UAAIT,MAAM,CAACG,MAAP,CAAciB,KAAlB,EAAyB;AACrBpB,cAAM,CAACwD,WAAP;AACH,OAFD,MAEO;AACH,YAAIC,MAAM,GAAGzD,MAAM,CAACgD,MAAP,CAAcS,MAAd,EAAb;;AAEA,YAAI,CAACA,MAAL,EAAa;AACTzD,gBAAM,CAACE,KAAP;AACH,SAFD,MAEO;AACH,cAAIwD,WAAW,GAAG1D,MAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2B,CAA3B,EAA8B5B,IAA9B,EAAlB;;AAEA,cAAIsD,WAAW,KAAKzL,SAApB,EAA+B;AAC3ByL,uBAAW,CAACvL,IAAZ,CAAiB,YAAM;AACnB6H,oBAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BzJ,QAA1B,CAAmC,OAAnC;AACH,aAFD,WAES,UAAAC,KAAK,EAAI;AACdgF,qBAAO,CAAChF,KAAR,CAAc,aAAd,EAA6BA,KAA7B;AACH,aAJD;AAKH;AACJ;AACJ;AACJ,KAtBD;AAuBH;;AAED,MAAIuH,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBnN,OAAzB,CAAiC,QAAjC,EAA2C0B,MAA/C,EAAuD;AACnDhD,KAAC,CAACsC,MAAD,CAAD,CAAUH,EAAV,CAAa,QAAb,EAAuB0L,QAAQ,CAAC;AAAA,aAAMvB,MAAM,CAAC2D,UAAP,EAAN;AAAA,KAAD,EAA4B,GAA5B,CAA/B;AACH;;AAED,MAAInC,WAAW,CAACoC,UAAZ,CAAuBL,gBAAvB,KAA4CvD,MAAM,CAACG,MAAP,CAAchG,QAA1D,IAAsE,CAAC6F,MAAM,CAACG,MAAP,CAAciB,KAAzF,EAAgG;AAC5F,QAAIyC,eAAe,GAAG7D,MAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2B,CAA3B,EAA8B5B,IAA9B,EAAtB;;AAEA,QAAIyD,eAAe,KAAK5L,SAAxB,EAAmC;AAC/B+H,YAAM,CAACI,IAAP;AACH;AACJ;;AAED1M,GAAC,CAACsC,MAAD,CAAD,CAAUH,EAAV,CAAa,cAAb,EAA6B,YAAM;AAC/B,QAAI2L,WAAW,CAACoC,UAAZ,CAAuBL,gBAAvB,CAAJ,EAA8C;AAC1C,UAAIvD,MAAM,CAACG,MAAP,CAAchG,QAAd,IAA0B,CAAC6F,MAAM,CAACG,MAAP,CAAciB,KAA7C,EAAoD;AAChD,YAAIyC,gBAAe,GAAG7D,MAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2B,CAA3B,EAA8B5B,IAA9B,EAAtB;;AAEA,YAAIyD,gBAAe,KAAK5L,SAAxB,EAAmC;AAC/B+H,gBAAM,CAACI,IAAP;AACH;AACJ;AACJ,KARD,MAQO;AACH,UAAI,CAACJ,MAAM,CAACgD,MAAP,CAAcS,MAAd,EAAL,EAA6B;AACzBzD,cAAM,CAACE,KAAP;AACH;AACJ;AACJ,GAdD;AAeH;;AAED7M,MAAM,CAACC,OAAP,GAAiB,UAASwQ,QAAT,EAAmB;AAChC,MAAI9D,MAAM,GAAG,IAAb;AACA,OAAKvL,EAAL,GAAUqP,QAAV;AACA,OAAKC,IAAL,GAAY,QAAZ;AACA,OAAKZ,KAAL,GAAa,EAAb;AAEA;AACJ;AACA;;AAEItB,iBAAe,CAAC1I,IAAhB,CAAqB6G,MAArB;AAEAoC,YAAU,CAACjJ,IAAX,CAAgB6G,MAAhB;AAEA2C,iBAAe,CAACxJ,IAAhB,CAAqB6G,MAArB,EAA6B;AAAC8C,WAAO,EAAE;AAAA,aAAMQ,cAAc,CAACnK,IAAf,CAAoB6G,MAApB,CAAN;AAAA;AAAV,GAA7B;AAGA;AACJ;AACA;;AAEI,OAAKI,IAAL,GAAY,YAAM;AACdJ,UAAM,CAACgD,MAAP,CAAc5C,IAAd;;AACA,QAAIJ,MAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BvL,MAA1B,IAAoC,CAACsJ,MAAM,CAACG,MAAP,CAAciB,KAAvD,EAA8D;AAC1DpB,YAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BzJ,QAA1B,CAAmC,OAAnC;AACH;AACJ,GALD;;AAOA,OAAK0H,KAAL,GAAa,YAAM;AACfF,UAAM,CAACgD,MAAP,CAAc9C,KAAd;;AACA,QAAIF,MAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BvL,MAA9B,EAAsC;AAClCsJ,YAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BhN,WAA1B,CAAsC,OAAtC;AACH;AACJ,GALD;;AAOA,OAAKwN,IAAL,GAAY,YAAM;AACdzC,UAAM,CAACgD,MAAP,CAAcgB,SAAd,GAA0B7L,IAA1B,CAA+B,UAAC8L,MAAD,EAAY;AACvCjE,YAAM,CAACmD,KAAP,CAAac,MAAb,GAAsBA,MAAtB;AACH,KAFD;AAIAjE,UAAM,CAACgD,MAAP,CAAckB,SAAd,CAAwB,CAAxB;AACH,GAND;;AAQA,OAAKC,MAAL,GAAc,YAAM;AAChB,QAAIF,MAAM,GAAG,CAAb;;AACA,QAAIjE,MAAM,CAACoE,YAAX,EAAyB;AACrBH,YAAM,GAAGjE,MAAM,CAACmD,KAAP,CAAac,MAAtB;AACH;;AAEDjE,UAAM,CAACgD,MAAP,CAAckB,SAAd,CAAwBD,MAAxB;AACH,GAPD;AAUA;AACJ;AACA;;;AAEI,OAAKI,OAAL,GAAe,YAAM;AACjBrE,UAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBmC,GAAzB,CAA6B;AACzBC,YAAM,EAAEvE,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyB1C,WAAzB,EADiB;AAEzB+E,WAAK,EAAExE,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyB5C,UAAzB;AAFkB,KAA7B;AAIH,GALD;;AAOA,OAAKoE,UAAL,GAAkB,YAAM;AACpB3D,UAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBmC,GAAzB,CAA6B;AACzBC,YAAM,EAAE,MADiB;AAEzBC,WAAK,EAAE;AAFkB,KAA7B;AAIH,GALD;;AAOA,OAAKC,QAAL,GAAgB,UAACC,UAAD,EAAgB;AAC5B1E,UAAM,CAACoB,KAAP,GAAesD,UAAf;AACH,GAFD;;AAIA,OAAKlB,WAAL,GAAmB,YAAM;AACrBxD,UAAM,CAACqE,OAAP;AACArE,UAAM,CAACoB,KAAP,CAAauD,MAAb,CAAoB3E,MAApB;AACH,GAHD;AAMA;AACJ;AACA;;;AAEI,OAAK4E,mBAAL,GAA2B,YAAM;AAC7B,QAAIC,MAAM,GAAG7E,MAAM,CAACoB,KAAP,CAAa0D,WAAb,EAAb;AACA,QAAIC,KAAK,GAAGrR,CAAC,CAAC,aAAD,EAAgBmR,MAAhB,CAAD,CAAyBG,KAAzB,GAAiC/P,WAAjC,EAAZ;AACA8P,SAAK,CAACvM,QAAN,CAAe,gBAAgBwH,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBtN,IAAzB,CAA8B,OAA9B,CAA/B;;AAEA,QAAImL,MAAM,CAACgD,MAAP,IAAiBhD,MAAM,CAACgD,MAAP,CAAciC,OAAnC,EAA4C;AACxC,UAAIjD,OAAO,GAAGhC,MAAM,CAAC+B,WAAP,CAAmBC,OAAjC,CADwC,CAGxC;;AACA,UAAIkD,UAAU,GAAGxR,CAAC,CAAC,UAAD,EAAa;AAC3B,yBAAiBsO,OAAO,CAAChO,IAAR,CAAa,UAAb,CADU;AAE3B,sBAAcgO,OAAO,CAAChO,IAAR,CAAa,OAAb,CAFa;AAG3B,4BAAoBsO,IAAI,CAAC6C,SAAL,CAAenD,OAAO,CAAChO,IAAR,CAAa,aAAb,CAAf,CAHO;AAI3B,yBAAiBgO,OAAO,CAAChO,IAAR,CAAa,UAAb,CAJU;AAK3B,iBAAS,uBALkB;AAM3B,cAAMgO,OAAO,CAACnN,IAAR,CAAa,IAAb;AANqB,OAAb,CAAlB;AASA,UAAIuQ,gBAAgB,GAAG1R,CAAC,CAAC,WAAD,EAAc;AAClC,eAAOsO,OAAO,CAACnN,IAAR,CAAa,eAAb,CAD2B;AAElC,gBAAQmN,OAAO,CAACnN,IAAR,CAAa,eAAb;AAF0B,OAAd,CAAxB,CAbwC,CAkBxC;;AACA,aAAOmL,MAAM,CAACgD,MAAd;AACAC,aAAO,CAACjB,OAAO,CAAC,CAAD,CAAR,CAAP,CAAoBiD,OAApB,GApBwC,CAsBxC;;AACAC,gBAAU,CAACpI,MAAX,CAAkBsI,gBAAlB;AACAL,WAAK,CAACjI,MAAN,CAAaoI,UAAb;AACAlF,YAAM,CAAC+B,WAAP,CAAmBC,OAAnB,GAA6BkD,UAA7B;AACAlF,YAAM,CAACvL,EAAP,GAAYyQ,UAAU,CAACrQ,IAAX,CAAgB,IAAhB,CAAZ;AACH;;AAED8N,mBAAe,CAACxJ,IAAhB,CAAqB6G,MAArB,EAA6B;AACzB8C,aAAO,EAAE,iBAACtP,CAAD,EAAO;AACZ;AACA,YAAIwM,MAAM,CAACmD,KAAP,CAAaC,IAAjB,EAAuB;AACnBpD,gBAAM,CAACgD,MAAP,CAAcK,WAAd,CAA0BrD,MAAM,CAACmD,KAAP,CAAaC,IAAvC;AACH;;AACDpD,cAAM,CAACI,IAAP;AACH;AAPwB,KAA7B;AASH,GA3CD;;AA6CA,OAAKiF,mBAAL,GAA2B,YAAM;AAC7B;AACArF,UAAM,CAACmD,KAAP,CAAaC,IAAb,GAAoBpD,MAAM,CAACgD,MAAP,CAAcK,WAAd,EAApB;;AAEA,QAAIJ,OAAO,CAACqC,UAAR,GAAqBtF,MAAM,CAACvL,EAA5B,CAAJ,EAAqC;AACjC,aAAOwO,OAAO,CAACqC,UAAR,GAAqBtF,MAAM,CAACvL,EAA5B,CAAP;AACH;;AAEDkO,mBAAe,CAACxJ,IAAhB,CAAqB6G,MAArB,EAA6B;AAAC7F,cAAQ,EAAE;AAAX,KAA7B;AACH,GATD;;AAWA,SAAO,IAAP;AACH,CA9ID,C;;;;;;;;;;;;AC9Ka;;AAEb,IAAMoL,OAAO,GAAGrS,mBAAO,CAAC,4HAAD,CAAvB;;AACA,IAAMsS,KAAK,GAAGtS,mBAAO,CAAC,wHAAD,CAArB;;AACA,IAAMuS,MAAM,GAAGvS,mBAAO,CAAC,0HAAD,CAAtB;;AACA,IAAMwR,UAAU,GAAGxR,mBAAO,CAAC,kIAAD,CAA1B;;AACA,IAAM+P,OAAO,GAAG/P,mBAAO,CAAC,gGAAD,CAAvB;;AAEA8C,MAAM,CAACiK,OAAP,GAAiB,EAAjB;;AAEA,IAAIyF,WAAW,GAAG,SAAdA,WAAc,GAA+C;AAAA,MAA9CjS,QAA8C,uEAAnCC,CAAC,CAAC,MAAD,CAAkC;AAAA,MAAxBiS,WAAwB,uEAAV,KAAU;AAC7D,MAAIC,WAAW,GAAGnS,QAAQ,CAACI,IAAT,CAAc,mCAAd,CAAlB;AACA,MAAIgS,cAAc,GAAGpS,QAAQ,CAACI,IAAT,CAAc,iCAAd,CAArB;AACA,MAAIiS,eAAe,GAAGrS,QAAQ,CAACI,IAAT,CAAc,0BAAd,CAAtB;;AAEA,MAAIgS,cAAc,CAACnP,MAAnB,EAA2B;AACvBqP,gBAAY,GAAG5N,IAAf,CAAoB,YAAM;AACtB0N,oBAAc,CAAC/R,IAAf,CAAoB,UAAC6I,KAAD,EAAQkD,OAAR,EAAoB;AACpC;AACA,YAAI,CAACnM,CAAC,CAACmM,OAAD,CAAD,CAAW7K,OAAX,CAAmB,mBAAnB,EAAwC0B,MAAzC,IACGjD,QAAQ,CAACuS,EAAT,CAAY,mBAAZ,KAAoCtS,CAAC,CAACmM,OAAD,CAAD,CAAW7K,OAAX,CAAmBvB,QAAnB,EAA6BiD,MADxE,EACgF;AAC5E,cAAIoN,QAAQ,GAAGmC,iBAAiB,CAACtJ,KAAD,EAAQkD,OAAR,EAAiB8F,WAAjB,CAAhC;;AAEA,cAAI,CAAC3P,MAAM,CAACiK,OAAP,CAAeiG,cAAf,CAA8BpC,QAA9B,CAAD,IAA4C6B,WAAhD,EAA6D;AACzD3P,kBAAM,CAACiK,OAAP,CAAe6D,QAAf,IAA2B,IAAI0B,KAAJ,CAAU1B,QAAV,CAA3B;AACA9N,kBAAM,CAACiK,OAAP,CAAe6D,QAAf,EAAyBW,QAAzB,CAAkCC,UAAlC;AACH;AACJ;AACJ,OAXD;AAYH,KAbD,WAaS,UAAClH,GAAD,EAAS;AACd,UAAIC,OAAO,IAAIA,OAAO,CAAChF,KAAvB,EAA8B;AAC1BgF,eAAO,CAAChF,KAAR,CAAc+E,GAAd;AACH;AACJ,KAjBD;AAkBH;;AAED,MAAIoI,WAAW,CAAClP,MAAhB,EAAwB;AACpByP,kBAAc,GAAGhO,IAAjB,CAAsB,YAAM;AACxByN,iBAAW,CAAC9R,IAAZ,CAAiB,UAAC6I,KAAD,EAAQkD,OAAR,EAAoB;AACjC;AACA,YAAI,CAACnM,CAAC,CAACmM,OAAD,CAAD,CAAW7K,OAAX,CAAmB,mBAAnB,EAAwC0B,MAAzC,IACGjD,QAAQ,CAACuS,EAAT,CAAY,mBAAZ,KAAoCtS,CAAC,CAACmM,OAAD,CAAD,CAAW7K,OAAX,CAAmBvB,QAAnB,EAA6BiD,MADxE,EACgF;AAC5E,cAAIoN,QAAQ,GAAGmC,iBAAiB,CAACtJ,KAAD,EAAQkD,OAAR,EAAiB8F,WAAjB,CAAhC;;AAEA,cAAI,CAAC3P,MAAM,CAACiK,OAAP,CAAeiG,cAAf,CAA8BpC,QAA9B,CAAD,IAA4C6B,WAAhD,EAA6D;AACzD3P,kBAAM,CAACiK,OAAP,CAAe6D,QAAf,IAA2B,IAAIyB,OAAJ,CAAYzB,QAAZ,CAA3B;AACA9N,kBAAM,CAACiK,OAAP,CAAe6D,QAAf,EAAyBW,QAAzB,CAAkCC,UAAlC;AACH;AACJ;AACJ,OAXD;AAYH,KAbD,WAaS,UAAClH,GAAD,EAAS;AACd,UAAIC,OAAO,IAAIA,OAAO,CAAChF,KAAvB,EAA8B;AAC1BgF,eAAO,CAAChF,KAAR,CAAc+E,GAAd;AACH;AACJ,KAjBD;AAkBH;;AAED,MAAIsI,eAAe,CAACpP,MAApB,EAA4B;AACxBV,UAAM,CAACiN,OAAP,GAAiBA,OAAjB;AAEA6C,mBAAe,CAAChS,IAAhB,CAAqB,UAAC6I,KAAD,EAAQkD,OAAR,EAAoB;AACrC;AACA,UAAI,CAACnM,CAAC,CAACmM,OAAD,CAAD,CAAW7K,OAAX,CAAmB,mBAAnB,EAAwC0B,MAAzC,IACGjD,QAAQ,CAACuS,EAAT,CAAY,mBAAZ,KAAoCtS,CAAC,CAACmM,OAAD,CAAD,CAAW7K,OAAX,CAAmBvB,QAAnB,EAA6BiD,MADxE,EACgF;AAC5E,YAAIoN,QAAQ,GAAGmC,iBAAiB,CAACtJ,KAAD,EAAQkD,OAAR,EAAiB8F,WAAjB,CAAhC;;AAEA,YAAI,CAAC3P,MAAM,CAACiK,OAAP,CAAeiG,cAAf,CAA8BpC,QAA9B,CAAD,IAA4C6B,WAAhD,EAA6D;AACzD3P,gBAAM,CAACiK,OAAP,CAAe6D,QAAf,IAA2B,IAAI2B,MAAJ,CAAW3B,QAAX,CAA3B;AACA9N,gBAAM,CAACiK,OAAP,CAAe6D,QAAf,EAAyBW,QAAzB,CAAkCC,UAAlC;AACH;AACJ;AACJ,KAXD;AAYH;;AAED,MAAImB,cAAc,CAACnP,MAAf,IAAyBkP,WAAW,CAAClP,MAArC,IAA+CoP,eAAe,CAACpP,MAAnE,EAA2E;AACvEhD,KAAC,CAAC,MAAD,CAAD,CAAUmC,EAAV,CAAa,aAAb,EAA4B,UAAC+H,KAAD,EAAQoC,MAAR,EAAmB;AAC3C,UAAIA,MAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BvL,MAA9B,EAAsC;AAClCsJ,cAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BhN,WAA1B,CAAsC,OAAtC;AACH,OAH0C,CAK3C;;;AACA+K,YAAM,CAACG,MAAP,CAAchG,QAAd,GAAyB,KAAzB;AACH,KAPD,EADuE,CAUvE;;AACAzG,KAAC,CAAC,MAAD,CAAD,CAAUkC,GAAV,CAAc,eAAd,EAA+BC,EAA/B,CAAkC,0BAAlC,EAA8D,UAAC+H,KAAD,EAAQ7I,gBAAR,EAA6B;AACvF2Q,iBAAW,CAAC3Q,gBAAD,CAAX;AACH,KAFD;AAGH,GA9E4D,CAgF7D;;;AACArB,GAAC,CAAC,MAAD,CAAD,CAAUkC,GAAV,CAAc,aAAd,EAA6BC,EAA7B,CAAgC,sBAAhC,EAAwD,UAAC+H,KAAD,EAAQqD,UAAR,EAAuB;AAC3EyE,eAAW,CAACzE,UAAD,EAAa,IAAb,CAAX;AACH,GAFD;AAGH,CApFD;;AAsFA,IAAImF,SAAS,GAAG,IAAhB;;AAEA,IAAID,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AACvB,MAAIC,SAAJ,EAAe;AACX,WAAOA,SAAP;AACH;;AAED,SAAOA,SAAS,GAAG,IAAIC,OAAJ,CAAY,UAACpN,OAAD,EAAa;AACxC,QAAIqN,GAAG,GAAG3Q,QAAQ,CAAC4Q,aAAT,CAAuB,QAAvB,CAAV;AACAD,OAAG,CAACE,GAAJ,GAAU,oCAAV;;AACAF,OAAG,CAACG,OAAJ,GAAc,YAAM;AAChB,YAAM,IAAIC,KAAJ,CAAU,+BAAV,CAAN;AACH,KAFD;;AAIA,QAAIC,cAAc,GAAGhR,QAAQ,CAACiR,oBAAT,CAA8B,QAA9B,EAAwC,CAAxC,CAArB;AACAD,kBAAc,CAACE,UAAf,CAA0BC,YAA1B,CAAuCR,GAAvC,EAA4CK,cAA5C;;AAEA3Q,UAAM,CAAC+Q,uBAAP,GAAiC;AAAA,aAAM9N,OAAO,EAAb;AAAA,KAAjC;AACH,GAXkB,CAAnB;AAYH,CAjBD;;AAmBA,IAAI8M,YAAY,GAAG,SAAfA,YAAe,GAAM;AACrB,SAAO,IAAIM,OAAJ,CAAY,UAASpN,OAAT,EAAkB;AACjC,QAAIqN,GAAG,GAAG3Q,QAAQ,CAAC4Q,aAAT,CAAuB,QAAvB,CAAV;AACAD,OAAG,CAACE,GAAJ,GAAU,wCAAV;AACAF,OAAG,CAACU,MAAJ,GAAa/N,OAAb;;AACAqN,OAAG,CAACG,OAAJ,GAAc,YAAM;AAChB,YAAM,IAAIC,KAAJ,CAAU,6BAAV,CAAN;AACH,KAFD;;AAIA,QAAIC,cAAc,GAAGhR,QAAQ,CAACiR,oBAAT,CAA8B,QAA9B,EAAwC,CAAxC,CAArB;AACAD,kBAAc,CAACE,UAAf,CAA0BC,YAA1B,CAAuCR,GAAvC,EAA4CK,cAA5C;AACH,GAVM,CAAP;AAWH,CAZD,C,CAcA;;;AACA,IAAIV,iBAAiB,GAAG,SAApBA,iBAAoB,CAACtJ,KAAD,EAAQkD,OAAR,EAAiB8F,WAAjB,EAAiC;AACrD,MAAI7B,QAAQ,GAAGpQ,CAAC,CAACmM,OAAD,CAAD,CAAWhL,IAAX,CAAgB,IAAhB,CAAf;;AAEA,MAAImB,MAAM,CAACiK,OAAP,CAAeiG,cAAf,CAA8BpC,QAA9B,KAA2C,CAAC6B,WAAhD,EAA6D;AACzD7B,YAAQ,GAAGA,QAAQ,GAAG,GAAX,GAAiBnH,KAA5B;AACAjJ,KAAC,CAACmM,OAAD,CAAD,CAAWhL,IAAX,CAAgB,IAAhB,EAAsBiP,QAAtB;AACH;;AAED,SAAOA,QAAP;AACH,CATD;AAWA;AACA;AACA;AACA;AACA;;;AACAzQ,MAAM,CAACC,OAAP,GAAiB;AAAA,SAAMoS,WAAW,EAAjB;AAAA,CAAjB,C;;;;;;;;;;;;CClJA;;AACA,SAASuB,eAAT,CAAyB1D,gBAAzB,EAA2C2D,uBAA3C,EAAoE;AAChE,MAAIC,cAAc,GAAI5D,gBAAgB,CAACgB,MAAjB,KAA4B,EAA7B,IAAoC7Q,CAAC,CAACsC,MAAD,CAAD,CAAUuO,MAAV,EAAzD;AACA,MAAI6C,OAAO,GAAG1T,CAAC,CAACsC,MAAD,CAAD,CAAUqR,SAAV,EAAd;AACA,MAAIC,UAAU,GAAGF,OAAO,GAAG1T,CAAC,CAACsC,MAAD,CAAD,CAAUuO,MAAV,EAA3B;AACA,MAAIgD,UAAU,GAAGhE,gBAAgB,CAACiE,MAAjB,GAA0BC,GAA3C;AACA,MAAIC,aAAa,GAAGH,UAAU,GAAGhE,gBAAgB,CAACgB,MAAjB,EAAjC;;AAEA,MAAI2C,uBAAuB,IAAIC,cAA/B,EAA+C;AAC3C,WAASC,OAAO,IAAIG,UAAZ,IAA4BD,UAAU,IAAII,aAAlD;AACH,GAFD,MAEO;AACH,WAASH,UAAU,IAAID,UAAf,IAA+BI,aAAa,IAAIN,OAAxD;AACH;AACJ,C,CAED;;;AACA,SAASO,uBAAT,CAAiCpE,gBAAjC,EAAmD;AAC/C,SAAO,CAAC,CAACA,gBAAgB,CAACvO,OAAjB,CAAyB,SAAzB,EAAoC0B,MAAtC,IACG,CAAC6M,gBAAgB,CAACvO,OAAjB,CAAyB,mBAAzB,EAA8C0B,MADlD,IAEG,CAAC6M,gBAAgB,CAACvO,OAAjB,CAAyB,cAAzB,EAAyC0B,MAFpD;AAGH,C,CAED;;;AACA,SAASkR,qBAAT,CAA+BrE,gBAA/B,EAAiD;AAC7C,SAAO,CAAC,CAACA,gBAAgB,CAACvO,OAAjB,CAAyB,WAAzB,EAAsC0B,MAAxC,IACG,CAAC6M,gBAAgB,CAACvO,OAAjB,CAAyB,kBAAzB,EAA6C0B,MADxD;AAEH,C,CAED;;;AACA,SAASkN,UAAT,CAAoBL,gBAApB,EAAsC;AAClC,MAAI2D,uBAAuB,GAAG3D,gBAAgB,CAACvP,IAAjB,CAAsB,yBAAtB,CAA9B;AAEA,SAAOiT,eAAe,CAAC1D,gBAAD,EAAmB2D,uBAAnB,CAAf,IACG,CAACS,uBAAuB,CAACpE,gBAAD,CAD3B,IAEG,CAACqE,qBAAqB,CAACrE,gBAAD,CAFhC;AAGH;;AAGDlQ,MAAM,CAACC,OAAP,GAAiB;AACbsQ,YAAU,EAAEA;AADC,CAAjB,C;;;;;;;;;;;;ACxCa;;AAEb,IAAMiE,aAAa,i4BAAnB;AAcA,IAAMC,WAAW,GAAG;AAChBC,WAAS,EAAE,CADK;AAEhBC,OAAK,EAAE,CAFS;AAGhBC,MAAI,EAAE,CAHU;AAIhBC,QAAM,EAAE;AAJQ,CAApB;;AAOA7U,MAAM,CAACC,OAAP,GAAkB,YAAM;AACpB,MAAI6U,OAAO,GAAGL,WAAW,CAACC,SAA1B;AACA,MAAIK,YAAY,GAAG,EAAnB;;AAEA,MAAI,CAAC1U,CAAC,CAAC,aAAD,CAAD,CAAiBgD,MAAtB,EAA8B;AAC1BhD,KAAC,CAACmU,aAAD,CAAD,CAAiBQ,QAAjB,CAA0B,MAA1B;AACAF,WAAO,GAAGL,WAAW,CAACE,KAAtB;AACH;;AAED,MAAMnD,MAAM,GAAGnR,CAAC,CAAC,aAAD,CAAhB;AAEA,SAAO;AACH4U,UAAM,EAAER,WADL;AAGHnD,UAAM,EAAE,gBAAC3E,MAAD,EAAY;AAChB6E,YAAM,CAAC0D,MAAP,GAAgBF,QAAhB,CAAyB,MAAzB,EADgB,CACkB;AAElC;;AACA,UAAIF,OAAO,KAAKL,WAAW,CAACG,IAA5B,EAAkC;AAC9BxK,eAAO,CAAChF,KAAR,CAAc,kBAAkBuH,MAAM,CAACvL,EAAzB,GAA8B,iCAA9B,GAAkE2T,YAAhF;AACH,OAFD,MAEO;AACHvD,cAAM,CAAChP,EAAP,CAAU,eAAV,EAA2B,YAAM;AAC7B,cAAG,OAAOmK,MAAM,CAAC4E,mBAAd,KAAsC,UAAzC,EAAqD;AACjD5E,kBAAM,CAAC4E,mBAAP;AACH;;AACDuD,iBAAO,GAAGL,WAAW,CAACG,IAAtB;AACAG,sBAAY,GAAGpI,MAAM,CAACvL,EAAtB;AAEH,SAPD,EAOGoB,EAPH,CAOM,gBAPN,EAOwB,YAAM;AAC1B,cAAG,OAAOmK,MAAM,CAACwI,oBAAd,KAAuC,UAA1C,EAAsD;AAClDxI,kBAAM,CAACwI,oBAAP;AACH;AAEJ,SAZD,EAYG3S,EAZH,CAYM,eAZN,EAYuB,YAAM;AACzB,cAAG,OAAOmK,MAAM,CAACqF,mBAAd,KAAsC,UAAzC,EAAqD;AACjDrF,kBAAM,CAACqF,mBAAP;AACH;;AACD8C,iBAAO,GAAGL,WAAW,CAACI,MAAtB;AAEH,SAlBD,EAkBGrS,EAlBH,CAkBM,iBAlBN,EAkByB,YAAM;AAC3B,cAAG,OAAOmK,MAAM,CAACyI,qBAAd,KAAwC,UAA3C,EAAuD;AACnDzI,kBAAM,CAACyI,qBAAP;AACH;;AAED5D,gBAAM,CAACzD,KAAP,CAAa,SAAb;AACH,SAxBD,EAwBGA,KAxBH;AAyBH;AACJ,KApCE;AAsCHsH,YAAQ,EAAE,kBAAC3H,KAAD,EAAW;AACjB,UAAI+G,WAAW,CAAC/G,KAAD,CAAf,EAAwB;AACpBoH,eAAO,GAAGpH,KAAV;AACH;AACJ,KA1CE;AA4CH4H,YAAQ,EAAE;AAAA,aAAMR,OAAN;AAAA,KA5CP;AA8CHnC,MAAE,EAAE,YAACjF,KAAD;AAAA,aAAYoH,OAAO,KAAKpH,KAAxB;AAAA,KA9CD;AAgDH+D,eAAW,EAAE;AAAA,aAAMD,MAAN;AAAA;AAhDV,GAAP;AAkDH,CA7DgB,EAAjB,C;;;;;;;;;;;;ACvBa;;AAEb,IAAMtD,QAAQ,GAAGrO,mBAAO,CAAC,6FAAD,CAAxB;;AACA,IAAMsO,WAAW,GAAGtO,mBAAO,CAAC,oIAAD,CAA3B;;AAEA,IAAMuO,cAAc,GAAG;AACnBtH,UAAQ,EAAE,KADS;AAEnBuH,UAAQ,EAAE,IAFS;AAGnBC,OAAK,EAAE,KAHY;AAInBrH,MAAI,EAAE,KAJa;AAKnB8G,OAAK,EAAE,KALY;AAMnBQ,UAAQ,EAAE;AANS,CAAvB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,eAAT,GAA2B;AACvB,MAAI7B,MAAM,GAAG,IAAb;AACA,MAAI8B,KAAK,GAAGpO,CAAC,CAAC,MAAMsM,MAAM,CAACvL,EAAd,CAAb;AAEAuL,QAAM,CAAC+B,WAAP,GAAqB;AACjBC,WAAO,EAAEF,KADQ;AAEjBG,UAAM,EAAEH,KAAK,CAACI,QAAN,CAAe,kBAAf,CAFS;AAGjBC,SAAK,EAAEL,KAAK,CAAC9M,OAAN,CAAc,kBAAd;AAHU,GAArB;AAKH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoN,UAAT,GAAsB;AAClB,MAAIpC,MAAM,GAAG,IAAb;AAEA,MAAIqC,cAAc,GAAG,EAArB;;AACA,MAAI;AACAA,kBAAc,GAAGC,IAAI,CAACC,KAAL,CAAWvC,MAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BnN,IAA3B,CAAgC,kBAAhC,CAAX,CAAjB;AACH,GAFD,CAEE,OAAO2N,EAAP,EAAW;AACTH,kBAAc,GAAGZ,cAAjB;AACH;;AAEDzB,QAAM,CAACG,MAAP,GAAgB;AACZhG,YAAQ,EAAE,CAAC,CAACkI,cAAc,CAAClI,QADf;AAEZuH,YAAQ,EAAE,CAAC,CAACW,cAAc,CAACX,QAFf;AAGZC,SAAK,EAAE,CAAC,CAACU,cAAc,CAACI,IAHZ;AAIZnI,QAAI,EAAE,CAAC,CAAC+H,cAAc,CAAC/H,IAJX;AAKZsO,cAAU,EAAE,CAAC,CAACvG,cAAc,CAAClI,QAAjB,IAA6B,CAACkI,cAAc,CAACX,QAA7C,IAAyD,CAAC,CAACW,cAAc,CAACI,IAA1E,IAAkF,CAAC,CAACJ,cAAc,CAAC/H,IALnG;AAMZuO,aAAS,EAAE,EAAE,CAAC,CAACxG,cAAc,CAAClI,QAAjB,IAA6B,CAACkI,cAAc,CAACX,QAA7C,IAAyD,CAAC,CAACW,cAAc,CAACI,IAA5E,CANC;AAOZb,YAAQ,EAAES,cAAc,CAACT,QAPb;AAQZR,SAAK,EAAE,CAAC,CAACiB,cAAc,CAACjB,KARZ;AASZsB,WAAO,EAAE1C,MAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BnN,IAA3B,CAAgC,eAAhC;AATG,GAAhB;AAWH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8N,eAAT,CAAyBC,SAAzB,EAAoC;AAChC,MAAI5C,MAAM,GAAG,IAAb;AACA,MAAIG,MAAM,GAAGH,MAAM,CAACG,MAApB,CAFgC,CAIhC;;AACA,MAAIyC,SAAJ,EAAe;AACXzC,UAAM,GAAGzM,CAAC,CAACqP,MAAF,CAAS,EAAT,EAAa/C,MAAM,CAACG,MAApB,EAA4ByC,SAA5B,CAAT;AACH;;AAED5C,QAAM,CAACgD,MAAP,GAAgB,IAAIwC,KAAK,CAACsD,MAAV,CAAiB9I,MAAM,CAACvL,EAAxB,EAA4B;AACxCA,MAAE,EAAE0L,MAAM,CAACuC,OAD6B;AAExCvI,YAAQ,EAAEgG,MAAM,CAAChG,QAFuB;AAGxCuH,YAAQ,EAAEvB,MAAM,CAACuB,QAHuB;AAIxCpH,QAAI,EAAE6F,MAAM,CAAC7F,IAJ2B;AAKxCqH,SAAK,EAAExB,MAAM,CAACwB,KAL0B;AAMxCiH,cAAU,EAAEzI,MAAM,CAACyI,UANqB;AAOxCC,aAAS,EAAE1I,MAAM,CAAC0I;AAPsB,GAA5B,CAAhB;AAUA7I,QAAM,CAACgD,MAAP,CAAcnN,EAAd,CAAiB,OAAjB,EAA0B,YAAM;AAC5B;AACAmK,UAAM,CAACgD,MAAP,CAAc+F,cAAd,GAA+B5Q,IAA/B,CAAoC,UAAC6Q,OAAD,EAAa;AAC7ChJ,YAAM,CAACmD,KAAP,CAAaC,IAAb,GAAoB4F,OAApB;AACH,KAFD;AAGH,GALD;AAOAhJ,QAAM,CAACgD,MAAP,CAAcnN,EAAd,CAAiB,OAAjB,EAA0B,YAAM;AAC5BnC,KAAC,CAAC,MAAD,CAAD,CAAUqF,OAAV,CAAkB,aAAlB,EAAiCiH,MAAjC;AACH,GAFD;AAIA,SAAOA,MAAM,CAACgD,MAAP,CAAciG,KAAd,EAAP;AACH;AAED;AACA;AACA;AACA;AACA;;;AACA,SAAS3F,cAAT,GAA0B;AACtB,MAAItD,MAAM,GAAG,IAAb;AACA,MAAIuD,gBAAgB,GAAGvD,MAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BhN,OAA3B,CAAmC,kBAAnC,CAAvB,CAFsB,CAItB;;AACAgL,QAAM,CAACE,KAAP;;AAEA,MAAIF,MAAM,CAACG,MAAP,CAAcyB,QAAlB,EAA4B;AACxB;AACA5B,UAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BpM,EAA1B,CAA6B,OAA7B,EAAsC,UAAA+H,KAAK,EAAI;AAC3CA,WAAK,CAAC6C,cAAN;;AAEA,UAAIT,MAAM,CAACG,MAAP,CAAciB,KAAlB,EAAyB;AACrBpB,cAAM,CAACwD,WAAP;AACH,OAFD,MAEO;AACHxD,cAAM,CAACgD,MAAP,CAAckG,SAAd,GAA0B/Q,IAA1B,CAA+B,UAAAsL,MAAM,EAAI;AACrC,cAAI,CAACA,MAAL,EAAa;AACTzD,kBAAM,CAACE,KAAP;AACH,WAFD,MAEO;AACHF,kBAAM,CAACI,IAAP;AACH;AACJ,SAND,WAMS,UAAA3H,KAAK;AAAA,iBAAIgF,OAAO,CAAChF,KAAR,CAAc,8BAAd,EAA8CA,KAA9C,CAAJ;AAAA,SANd;AAOH;AACJ,KAdD;AAeH;;AAED,MAAIuH,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBnN,OAAzB,CAAiC,QAAjC,EAA2C0B,MAA/C,EAAuD;AACnDhD,KAAC,CAACsC,MAAD,CAAD,CAAUH,EAAV,CAAa,QAAb,EAAuB0L,QAAQ,CAAC;AAAA,aAAMvB,MAAM,CAAC2D,UAAP,EAAN;AAAA,KAAD,EAA4B,GAA5B,CAA/B;AACH;;AAED,MAAInC,WAAW,CAACoC,UAAZ,CAAuBL,gBAAvB,KAA4CvD,MAAM,CAACG,MAAP,CAAchG,QAA1D,IAAsE,CAAC6F,MAAM,CAACG,MAAP,CAAciB,KAAzF,EAAgG;AAC5FpB,UAAM,CAACI,IAAP,GAD4F,CAG5F;;AACA,QAAI,mBAAmB+I,IAAnB,CAAwBC,SAAS,CAACC,SAAlC,CAAJ,EAAkD;AAC9CC,gBAAU,CAAC,YAAM;AACbtJ,cAAM,CAACI,IAAP;AACH,OAFS,EAEP,GAFO,CAAV;AAGH;AACJ;;AAED1M,GAAC,CAACsC,MAAD,CAAD,CAAUH,EAAV,CAAa,cAAb,EAA6B,YAAM;AAC/B,QAAI2L,WAAW,CAACoC,UAAZ,CAAuBL,gBAAvB,CAAJ,EAA8C;AAC1C,UAAIvD,MAAM,CAACG,MAAP,CAAchG,QAAd,IAA0B,CAAC6F,MAAM,CAACG,MAAP,CAAciB,KAA7C,EAAoD;AAChDpB,cAAM,CAACgD,MAAP,CAAckG,SAAd,GAA0B/Q,IAA1B,CAA+B,UAAAsL,MAAM,EAAI;AACrC,cAAIA,MAAJ,EAAY;AACRzD,kBAAM,CAACI,IAAP;AACH;AACJ,SAJD,WAIS,UAAA3H,KAAK;AAAA,iBAAIgF,OAAO,CAAChF,KAAR,CAAc,8BAAd,EAA8CA,KAA9C,CAAJ;AAAA,SAJd;AAKH;AACJ,KARD,MAQO;AACHuH,YAAM,CAACgD,MAAP,CAAckG,SAAd,GAA0B/Q,IAA1B,CAA+B,UAAAsL,MAAM,EAAI;AACrC,YAAI,CAACA,MAAL,EAAa;AACTzD,gBAAM,CAACE,KAAP;AACH;AACJ,OAJD,WAIS,UAAAzH,KAAK;AAAA,eAAIgF,OAAO,CAAChF,KAAR,CAAc,8BAAd,EAA8CA,KAA9C,CAAJ;AAAA,OAJd;AAKH;AACJ,GAhBD;AAiBH;;AAEDpF,MAAM,CAACC,OAAP,GAAiB,UAASwQ,QAAT,EAAmB;AAChC,MAAI9D,MAAM,GAAG,IAAb;AACA,OAAKvL,EAAL,GAAUqP,QAAV;AACA,OAAKC,IAAL,GAAY,OAAZ;AACA,OAAKZ,KAAL,GAAa,EAAb;AAEA;AACJ;AACA;;AAEItB,iBAAe,CAAC1I,IAAhB,CAAqB6G,MAArB;AAEAoC,YAAU,CAACjJ,IAAX,CAAgB6G,MAAhB;AAEA2C,iBAAe,CAACxJ,IAAhB,CAAqB6G,MAArB,EAA6B7H,IAA7B,CAAkC;AAAA,WAAMmL,cAAc,CAACnK,IAAf,CAAoB6G,MAApB,CAAN;AAAA,GAAlC;AAGA;AACJ;AACA;;AAEI,OAAKI,IAAL,GAAY,YAAM;AACdJ,UAAM,CAACgD,MAAP,CAAc5C,IAAd;;AACA,QAAIJ,MAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BvL,MAA1B,IAAoC,CAACsJ,MAAM,CAACG,MAAP,CAAciB,KAAvD,EAA8D;AAC1DpB,YAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BzJ,QAA1B,CAAmC,OAAnC;AACH;AACJ,GALD;;AAOA,OAAK0H,KAAL,GAAa,YAAM;AACfF,UAAM,CAACgD,MAAP,CAAc9C,KAAd;;AACA,QAAIF,MAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BvL,MAA9B,EAAsC;AAClCsJ,YAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BhN,WAA1B,CAAsC,OAAtC;AACH;AACJ,GALD;;AAOA,OAAKwN,IAAL,GAAY,YAAM;AACdzC,UAAM,CAACgD,MAAP,CAAcgB,SAAd,GAA0B7L,IAA1B,CAA+B,UAAC8L,MAAD,EAAY;AACvCjE,YAAM,CAACmD,KAAP,CAAac,MAAb,GAAsBA,MAAtB;AACH,KAFD;AAIAjE,UAAM,CAACgD,MAAP,CAAckB,SAAd,CAAwB,CAAxB;AACH,GAND;;AAQA,OAAKC,MAAL,GAAc,YAAM;AAChB,QAAIF,MAAM,GAAG,CAAb;;AACA,QAAIjE,MAAM,CAACoE,YAAX,EAAyB;AACrBH,YAAM,GAAGjE,MAAM,CAACmD,KAAP,CAAac,MAAtB;AACH;;AAEDjE,UAAM,CAACgD,MAAP,CAAckB,SAAd,CAAwBD,MAAxB;AACH,GAPD;AAUA;AACJ;AACA;;;AAEI,OAAKI,OAAL,GAAe,YAAM;AACjBrE,UAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBmC,GAAzB,CAA6B;AACzBC,YAAM,EAAEvE,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyB1C,WAAzB,EADiB;AAEzB+E,WAAK,EAAExE,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyB5C,UAAzB;AAFkB,KAA7B;AAIH,GALD;;AAOA,OAAKoE,UAAL,GAAkB,YAAM;AACpB3D,UAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBmC,GAAzB,CAA6B;AACzBC,YAAM,EAAE,MADiB;AAEzBC,WAAK,EAAE;AAFkB,KAA7B;AAIH,GALD;;AAOA,OAAKC,QAAL,GAAgB,UAACC,UAAD,EAAgB;AAC5B1E,UAAM,CAACoB,KAAP,GAAesD,UAAf;AACH,GAFD;;AAIA,OAAKlB,WAAL,GAAmB,YAAM;AACrBxD,UAAM,CAACqE,OAAP;AACArE,UAAM,CAACoB,KAAP,CAAauD,MAAb,CAAoB3E,MAApB;AACH,GAHD;AAMA;AACJ;AACA;;;AAEI,OAAK4E,mBAAL,GAA2B,YAAM;AAC7B,QAAIC,MAAM,GAAG7E,MAAM,CAACoB,KAAP,CAAa0D,WAAb,EAAb;AACA,QAAIC,KAAK,GAAGrR,CAAC,CAAC,aAAD,EAAgBmR,MAAhB,CAAD,CAAyBG,KAAzB,GAAiC/P,WAAjC,EAAZ;AACA8P,SAAK,CAACvM,QAAN,CAAe,gBAAgBwH,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBtN,IAAzB,CAA8B,OAA9B,CAA/B;AACAmL,UAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BqG,QAA3B,CAAoCtD,KAApC;AAEA/E,UAAM,CAACgD,MAAP,CAAc1N,OAAd,GAAwB6C,IAAxB,CAA6B;AAAA,aAAMwK,eAAe,CAACxJ,IAAhB,CAAqB6G,MAArB,CAAN;AAAA,KAA7B,EAAiE7H,IAAjE,CAAsE,YAAM;AACxE;AACA,UAAI6H,MAAM,CAACmD,KAAP,CAAaC,IAAjB,EAAuB;AACnBpD,cAAM,CAACgD,MAAP,CAAcuG,cAAd,CAA6BvJ,MAAM,CAACmD,KAAP,CAAaC,IAA1C;AACH;;AACDpD,YAAM,CAACI,IAAP;AACH,KAND;AAOH,GAbD;;AAeA,OAAKiF,mBAAL,GAA2B,YAAM;AAC7B;AACArF,UAAM,CAACgD,MAAP,CAAc+F,cAAd,GAA+B5Q,IAA/B,CAAoC,UAAC6Q,OAAD,EAAa;AAC7ChJ,YAAM,CAACmD,KAAP,CAAaC,IAAb,GAAoB4F,OAApB;AACH,KAFD,EAEG7Q,IAFH,CAEQ,YAAM;AACV;AACA;AACA6H,YAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BwH,SAA3B,CAAqCxJ,MAAM,CAAC+B,WAAP,CAAmBI,KAAxD;AAEAnC,YAAM,CAACgD,MAAP,CAAc1N,OAAd,GAAwB6C,IAAxB,CAA6B,YAAM;AAC/B;AACAwK,uBAAe,CAACxJ,IAAhB,CAAqB6G,MAArB,EAA6B;AAAC7F,kBAAQ,EAAE;AAAX,SAA7B;AACH,OAHD;AAIH,KAXD;AAYH,GAdD;;AAgBA,SAAO,IAAP;AACH,CArHD,C;;;;;;;;;;;;AC5Ka;;AAEb,IAAMoH,QAAQ,GAAGrO,mBAAO,CAAC,6FAAD,CAAxB;;AACA,IAAMsO,WAAW,GAAGtO,mBAAO,CAAC,oIAAD,CAA3B;;AAEA,IAAMuO,cAAc,GAAG;AACnBtH,UAAQ,EAAE,CADS;AAEnB+I,aAAW,EAAE,CAFM;AAGnBxB,UAAQ,EAAE,CAHS;AAInBe,MAAI,EAAE,CAJa;AAKnBnI,MAAI,EAAE,CALa;AAMnB8G,OAAK,EAAE,KANY;AAOnBQ,UAAQ,EAAE,KAPS;AAQnB6H,UAAQ,EAAE;AARS,CAAvB;AAWA,IAAMC,MAAM,GAAG1T,MAAM,CAAC2T,QAAP,CAAgBC,QAAhB,GAA2B,IAA3B,GAAkC5T,MAAM,CAAC2T,QAAP,CAAgBE,IAAjE;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAShI,eAAT,GAA2B;AACvB,MAAI7B,MAAM,GAAG,IAAb;AACA,MAAI8B,KAAK,GAAGpO,CAAC,CAAC,MAAMsM,MAAM,CAACvL,EAAd,CAAb;AAEAuL,QAAM,CAAC+B,WAAP,GAAqB;AACjBC,WAAO,EAAEF,KADQ;AAEjBG,UAAM,EAAEH,KAAK,CAACI,QAAN,CAAe,kBAAf,CAFS;AAGjBC,SAAK,EAAEL,KAAK,CAAC9M,OAAN,CAAc,kBAAd;AAHU,GAArB;AAKH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoN,UAAT,GAAsB;AAClB,MAAIpC,MAAM,GAAG,IAAb;AAEA,MAAIqC,cAAc,GAAG,EAArB;;AACA,MAAI;AACAA,kBAAc,GAAGC,IAAI,CAACC,KAAL,CAAWvC,MAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BnN,IAA3B,CAAgC,kBAAhC,CAAX,CAAjB;AACH,GAFD,CAEE,OAAO2N,EAAP,EAAW;AACTH,kBAAc,GAAGZ,cAAjB;AACH;;AAED,MAAIiB,OAAO,GAAG1C,MAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BnN,IAA3B,CAAgC,eAAhC,CAAd;AACA,MAAI4U,QAAQ,GAAGpH,cAAc,CAAC/H,IAAf,KAAwB,CAAxB,GAA4BoI,OAA5B,GAAsC,EAArD;AAEA1C,QAAM,CAACG,MAAP,GAAgB;AACZhG,YAAQ,EAAEkI,cAAc,CAAClI,QADb;AAEZ+I,eAAW,EAAEb,cAAc,CAAClI,QAAf,KAA4B,CAA5B,GAAgC,CAAhC,GAAoC,CAFrC;AAGZuH,YAAQ,EAAEW,cAAc,CAACX,QAHb;AAIZe,QAAI,EAAEJ,cAAc,CAACI,IAJT;AAKZnI,QAAI,EAAE+H,cAAc,CAAC/H,IALT;AAMZsH,YAAQ,EAAES,cAAc,CAACT,QANb;AAOZR,SAAK,EAAEiB,cAAc,CAACjB,KAPV;AAQZsB,WAAO,EAAEA,OARG;AASZoH,kBAAc,EAAE;AATJ,GAAhB;;AAWA,MAAIL,QAAQ,IAAI,EAAhB,EAAoB;AAChBzJ,UAAM,CAACG,MAAP,CAAcsJ,QAAd,GAAyBA,QAAzB;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS9G,eAAT,CAAyBC,SAAzB,EAAoC;AAChC,MAAI5C,MAAM,GAAG,IAAb;AACA,MAAIG,MAAM,GAAGH,MAAM,CAACG,MAApB;;AAEA,MAAI0C,eAAe,GAAG,SAAlBA,eAAkB,CAACrP,CAAD,EAAO;AACzBuW,iBAAa,CAAC5Q,IAAd,CAAmB6G,MAAnB,EAA2BxM,CAA3B;;AAEA,QAAIoP,SAAS,CAACE,OAAd,EAAuB;AACnBF,eAAS,CAACE,OAAV,CAAkBtP,CAAlB;AACA,aAAOoP,SAAS,CAAC,SAAD,CAAhB;AACH;AACJ,GAPD,CAJgC,CAahC;;;AACA,MAAIA,SAAJ,EAAe;AACXzC,UAAM,GAAGzM,CAAC,CAACqP,MAAF,CAAS,EAAT,EAAa/C,MAAM,CAACG,MAApB,EAA4ByC,SAA5B,CAAT;AACH;;AAED5C,QAAM,CAACgD,MAAP,GAAgB,IAAIgH,EAAE,CAAClB,MAAP,CAAc9I,MAAM,CAACvL,EAArB,EAAyB;AACrCiO,WAAO,EAAEvC,MAAM,CAACuC,OADqB;AAErCuH,cAAU,EAAE;AACR9P,cAAQ,EAAEgG,MAAM,CAAChG,QADT;AAER+I,iBAAW,EAAE/C,MAAM,CAAC+C,WAFZ;AAGRxB,cAAQ,EAAEvB,MAAM,CAACuB,QAHT;AAIRe,UAAI,EAAEtC,MAAM,CAACsC,IAJL;AAKRnI,UAAI,EAAE6F,MAAM,CAAC7F,IALL;AAMRmP,cAAQ,EAAEtJ,MAAM,CAACsJ,QANT;AAORS,iBAAW,EAAE,CAPL;AAQRR,YAAM,EAAEA,MARA;AASRS,qBAAe,EAAET;AATT,KAFyB;AAarCG,QAAI,EAAE,yBAb+B;AAaJ;AACjCtL,UAAM,EAAE;AACJuE,aAAO,EAAED,eADL;AAEJuH,mBAAa,EAAE,uBAAC5W,CAAD,EAAO;AAClB,YAAIA,CAAC,CAACQ,IAAF,KAAWgW,EAAE,CAACK,WAAH,CAAeC,MAA9B,EAAsC;AAClC;AACAtK,gBAAM,CAACmD,KAAP,CAAaC,IAAb,GAAoB5P,CAAC,CAACsK,MAAF,CAASiL,cAAT,EAApB;AACH,SAHD,MAGO,IAAIvV,CAAC,CAACQ,IAAF,KAAWgW,EAAE,CAACK,WAAH,CAAeE,OAA9B,EAAuC,CAC1C;AACH;;AAED,YAAI/W,CAAC,CAACQ,IAAF,KAAW,CAAf,EAAkB;AACdN,WAAC,CAAC,MAAD,CAAD,CAAUqF,OAAV,CAAkB,aAAlB,EAAiCiH,MAAjC;AACH;AACJ,OAbG;AAcJwK,aAAO,EAAE,iBAAChX,CAAD,EAAO;AACZ,YAAIiK,OAAO,IAAIA,OAAO,CAAChF,KAAvB,EAA8B;AAC1BgF,iBAAO,CAAChF,KAAR,CAAc,cAAcjF,CAAC,CAACQ,IAA9B;AACH;AACJ;AAlBG;AAd6B,GAAzB,CAAhB;AAmCH;AAED;AACA;AACA;AACA;AACA;;;AACA,SAASsP,cAAT,GAA0B;AACtB,MAAItD,MAAM,GAAG,IAAb;AACA,MAAIuD,gBAAgB,GAAGvD,MAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BhN,OAA3B,CAAmC,kBAAnC,CAAvB,CAFsB,CAItB;;AACAgL,QAAM,CAACE,KAAP,GALsB,CAOtB;;AACA,MAAIF,MAAM,CAACG,MAAP,CAAcsC,IAAd,KAAuB,CAA3B,EAA8B;AAC1BzC,UAAM,CAACyC,IAAP;AACH,GAFD,MAEO;AACHzC,UAAM,CAACmE,MAAP;AACH;;AAED,MAAInE,MAAM,CAACG,MAAP,CAAcyB,QAAlB,EAA4B;AACxB;AACA5B,UAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BpM,EAA1B,CAA6B,OAA7B,EAAsC,UAAA+H,KAAK,EAAI;AAC3CA,WAAK,CAAC6C,cAAN;;AAEA,UAAIT,MAAM,CAACG,MAAP,CAAciB,KAAlB,EAAyB;AACrBpB,cAAM,CAACwD,WAAP;AACH,OAFD,MAEO;AACH,YAAIiH,WAAW,GAAGzK,MAAM,CAACgD,MAAP,CAAc0H,cAAd,EAAlB;AACA,YAAIC,OAAO,GAAGF,WAAW,KAAK,CAA9B;;AAEA,YAAIE,OAAJ,EAAa;AACT3K,gBAAM,CAACE,KAAP;AACH,SAFD,MAEO;AACHF,gBAAM,CAACI,IAAP;AACH;AACJ;AACJ,KAfD;AAgBH;;AAED,MAAIJ,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBnN,OAAzB,CAAiC,QAAjC,EAA2C0B,MAA/C,EAAuD;AACnDhD,KAAC,CAACsC,MAAD,CAAD,CAAUH,EAAV,CAAa,QAAb,EAAuB0L,QAAQ,CAAC;AAAA,aAAMvB,MAAM,CAAC2D,UAAP,EAAN;AAAA,KAAD,EAA4B,GAA5B,CAA/B;AACH;;AAED,MAAInC,WAAW,CAACoC,UAAZ,CAAuBL,gBAAvB,KAA4CvD,MAAM,CAACG,MAAP,CAAchG,QAA1D,IAAsE,CAAC6F,MAAM,CAACG,MAAP,CAAciB,KAAzF,EAAgG;AAC5FpB,UAAM,CAACI,IAAP;AACH;;AAED1M,GAAC,CAACsC,MAAD,CAAD,CAAUH,EAAV,CAAa,cAAb,EAA6B,YAAM;AAC/B,QAAI4U,WAAW,GAAGzK,MAAM,CAACgD,MAAP,CAAc0H,cAAd,EAAlB;AACA,QAAIC,OAAO,GAAGF,WAAW,KAAK,CAA9B;;AAEA,QAAIjJ,WAAW,CAACoC,UAAZ,CAAuBL,gBAAvB,CAAJ,EAA8C;AAC1C,UAAIvD,MAAM,CAACG,MAAP,CAAchG,QAAd,IAA0B,CAACwQ,OAA3B,IAAsC,CAAC3K,MAAM,CAACG,MAAP,CAAciB,KAAzD,EAAgE;AAC5DpB,cAAM,CAACI,IAAP;AACH;AACJ,KAJD,MAIO,IAAIuK,OAAJ,EAAa;AAChB3K,YAAM,CAACE,KAAP;AACH;AACJ,GAXD;AAYH;;AAED,SAAS6J,aAAT,CAAuBvW,CAAvB,EAA0B;AACtB,MAAIwM,MAAM,GAAG,IAAb,CADsB,CAGtB;;AACAA,QAAM,CAAC+B,WAAP,CAAmBC,OAAnB,GAA6BtO,CAAC,CAAC,MAAMsM,MAAM,CAACvL,EAAd,CAA9B,CAJsB,CAMtB;AACA;;AACA,MAAI,OAAOuL,MAAM,CAACmD,KAAP,CAAaV,IAApB,KAA6B,WAAjC,EAA8C;AAC1C,QAAIzC,MAAM,CAACmD,KAAP,CAAaV,IAAb,KAAsB,CAA1B,EAA6B;AACzBjP,OAAC,CAACsK,MAAF,CAAS2E,IAAT;AACH,KAFD,MAEO;AACHjP,OAAC,CAACsK,MAAF,CAAS8M,MAAT;AACH;;AAED,WAAO5K,MAAM,CAACmD,KAAP,CAAaV,IAApB;AACH;AACJ;;AAGDpP,MAAM,CAACC,OAAP,GAAiB,UAASwQ,QAAT,EAAmB;AAChC,MAAI9D,MAAM,GAAG,IAAb;AACA,OAAKvL,EAAL,GAAUqP,QAAV;AACA,OAAKC,IAAL,GAAY,SAAZ;AACA,OAAKZ,KAAL,GAAa,EAAb;AAEA;AACJ;AACA;;AAEItB,iBAAe,CAAC1I,IAAhB,CAAqB6G,MAArB;AAEAoC,YAAU,CAACjJ,IAAX,CAAgB6G,MAAhB;AAEA2C,iBAAe,CAACxJ,IAAhB,CAAqB6G,MAArB,EAA6B;AAAC8C,WAAO,EAAE;AAAA,aAAMQ,cAAc,CAACnK,IAAf,CAAoB6G,MAApB,CAAN;AAAA;AAAV,GAA7B;AAGA;AACJ;AACA;;AAEI,OAAKI,IAAL,GAAY,YAAM;AACdJ,UAAM,CAACgD,MAAP,CAAc6H,SAAd;;AACA,QAAI7K,MAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BvL,MAA1B,IAAoC,CAACsJ,MAAM,CAACG,MAAP,CAAciB,KAAvD,EAA8D;AAC1DpB,YAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BzJ,QAA1B,CAAmC,OAAnC;AACH;AACJ,GALD;;AAOA,OAAK0H,KAAL,GAAa,YAAM;AACfF,UAAM,CAACgD,MAAP,CAAc8H,UAAd;;AACA,QAAI9K,MAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BvL,MAA9B,EAAsC;AAClCsJ,YAAM,CAAC+B,WAAP,CAAmBE,MAAnB,CAA0BhN,WAA1B,CAAsC,OAAtC;AACH;AACJ,GALD;;AAOA,OAAKwN,IAAL,GAAY,YAAM;AACdzC,UAAM,CAACgD,MAAP,CAAcP,IAAd;AACAzC,UAAM,CAACmD,KAAP,CAAaV,IAAb,GAAoB,CAApB;AACH,GAHD;;AAKA,OAAK0B,MAAL,GAAc,YAAM;AAChBnE,UAAM,CAACgD,MAAP,CAAc4H,MAAd;AACA5K,UAAM,CAACmD,KAAP,CAAaV,IAAb,GAAoB,CAApB;AACH,GAHD;AAMA;AACJ;AACA;;;AAEI,OAAK4B,OAAL,GAAe;AAAA,WAAMrE,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBmC,GAAzB,CAA6B;AAC9CC,YAAM,EAAEvE,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyB1C,WAAzB,EADsC;AAE9C+E,WAAK,EAAExE,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyB5C,UAAzB;AAFuC,KAA7B,CAAN;AAAA,GAAf;;AAKA,OAAKoE,UAAL,GAAkB;AAAA,WAAM3D,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBmC,GAAzB,CAA6B;AACjDC,YAAM,EAAE,MADyC;AAEjDC,WAAK,EAAE;AAF0C,KAA7B,CAAN;AAAA,GAAlB;;AAKA,OAAKC,QAAL,GAAgB,UAACC,UAAD,EAAgB;AAC5B1E,UAAM,CAACoB,KAAP,GAAesD,UAAf;AACH,GAFD;;AAIA,OAAKlB,WAAL,GAAmB,YAAM;AACrBxD,UAAM,CAACqE,OAAP;AACArE,UAAM,CAACoB,KAAP,CAAauD,MAAb,CAAoB3E,MAApB;AACH,GAHD;AAMA;AACJ;AACA;;;AAEI,OAAK4E,mBAAL,GAA2B,YAAM;AAC7B;AACA,QAAIC,MAAM,GAAG7E,MAAM,CAACoB,KAAP,CAAa0D,WAAb,EAAb;AACA,QAAIC,KAAK,GAAGrR,CAAC,CAAC,aAAD,EAAgBmR,MAAhB,CAAD,CAAyBG,KAAzB,GAAiC/P,WAAjC,EAAZ;AACA8P,SAAK,CAACvM,QAAN,CAAe,gBAAgBwH,MAAM,CAAC+B,WAAP,CAAmBI,KAAnB,CAAyBtN,IAAzB,CAA8B,OAA9B,CAA/B;AACAmL,UAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BqG,QAA3B,CAAoCtD,KAApC,EAL6B,CAO7B;;AACA,QAAI/E,MAAM,CAACgD,MAAP,IAAiBhD,MAAM,CAACgD,MAAP,CAAc1N,OAAnC,EAA4C;AACxC0K,YAAM,CAACgD,MAAP,CAAc1N,OAAd;AACH;;AACDqN,mBAAe,CAACxJ,IAAhB,CAAqB6G,MAArB,EAA6B;AACzB8C,aAAO,EAAE,iBAACtP,CAAD,EAAO;AACZ;AACA,YAAIwM,MAAM,CAACmD,KAAP,CAAaC,IAAjB,EAAuB;AACnBpD,gBAAM,CAACgD,MAAP,CAAc+H,MAAd,CAAqB/K,MAAM,CAACmD,KAAP,CAAaC,IAAlC,EAAwC,IAAxC;AACH;;AACDpD,cAAM,CAACI,IAAP;AACH;AAPwB,KAA7B;AASH,GApBD;;AAsBA,OAAKiF,mBAAL,GAA2B,YAAM;AAC7B;AACArF,UAAM,CAACmD,KAAP,CAAaC,IAAb,GAAoBpD,MAAM,CAACgD,MAAP,CAAc+F,cAAd,EAApB,CAF6B,CAI7B;;AACA/I,UAAM,CAAC+B,WAAP,CAAmBC,OAAnB,CAA2BwH,SAA3B,CAAqCxJ,MAAM,CAAC+B,WAAP,CAAmBI,KAAxD,EAL6B,CAO7B;;AACA,QAAInC,MAAM,CAACgD,MAAP,IAAiBhD,MAAM,CAACgD,MAAP,CAAc1N,OAAnC,EAA4C;AACxC0K,YAAM,CAACgD,MAAP,CAAc1N,OAAd;AACH;;AACDqN,mBAAe,CAACxJ,IAAhB,CAAqB6G,MAArB,EAA6B;AAAC7F,cAAQ,EAAE;AAAX,KAA7B;AACH,GAZD;;AAcA,SAAO,IAAP;AACH,CA/GD,C;;;;;;;;;;;;AC3Na;;AAEb9G,MAAM,CAACC,OAAP,GAAiB,YAAW;AAExB;AACA,MAAII,CAAC,CAAC,mBAAD,CAAD,CAAuBgD,MAAvB,GAAgC,CAApC,EAAuC;AACnChD,KAAC,CAAC,mBAAD,CAAD,CAAuBI,IAAvB,CAA4B,UAAC6I,KAAD,EAAQqO,MAAR,EAAmB;AAC3C,UAAInG,MAAM,GAAGnR,CAAC,CAACsX,MAAD,CAAD,CAAUnX,IAAV,CAAe,QAAf,CAAb;;AAEA,UAAI,CAACH,CAAC,CAAC,aAAamR,MAAM,CAAChQ,IAAP,CAAY,IAAZ,CAAd,CAAD,CAAkC6B,MAAnC,GAA4C,CAAhD,EAAmD;AAC/ChD,SAAC,CAACsX,MAAD,CAAD,CAAUnX,IAAV,CAAe,QAAf,EAAyBwU,QAAzB,CAAkC,MAAlC;AACH,OAFD,MAEO;AACHxD,cAAM,CAAC/P,MAAP;AACH;AACJ,KARD;AASH;AAEJ,CAfD,C;;;;;;;;;;;;ACFa;;AAEbzB,MAAM,CAACC,OAAP,GAAiB,YAAW;AAExB;AACA,MAAII,CAAC,CAAC,SAAD,CAAD,CAAaG,IAAb,CAAkB,4BAAlB,CAAJ,EAAqD;AACjD,QAAIoX,oBAAoB,GAAGvX,CAAC,CAAC,SAAD,CAAD,CAAaG,IAAb,CAAkB,4BAAlB,EAAgDmB,OAAhD,CAAwD,mBAAxD,CAA3B;;AAEA,SAAK,IAAIT,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0W,oBAAoB,CAACvU,MAAzC,EAAiDnC,CAAC,EAAlD,EAAsD;AAClD0W,0BAAoB,CAAC1W,CAAD,CAApB,CAAwB2W,SAAxB,CAAkCvS,GAAlC,CAAsC,oBAAtC;AACH;AACJ,GATuB,CAWxB;;;AACAjF,GAAC,CAAC,MAAD,CAAD,CAAUmC,EAAV,CAAa,aAAb,EAA4B,UAAC+H,KAAD,EAAQoC,MAAR,EAAmB;AAC3C,QAAIuD,gBAAgB,GAAGvD,MAAM,CAAC+B,WAAP,CAAmBI,KAA1C;;AAEA,QAAIoB,gBAAgB,CAAC3P,QAAjB,CAA0B,YAA1B,KAA2C2P,gBAAgB,CAACvP,IAAjB,CAAsB,WAAtB,MAAuC,IAAtF,EAA4F;AACxF,UAAImX,aAAa,GAAG5H,gBAAgB,CAAC6H,IAAjB,CAAsB,eAAtB,CAApB;AACA7H,sBAAgB,CAAC/K,QAAjB,CAA0B,eAA1B;AAEA2S,mBAAa,CAACE,KAAd,CAAoB,UAAAzN,KAAK,EAAI;AACzB2F,wBAAgB,CAACtO,WAAjB,CAA6B,eAA7B;AACA+K,cAAM,CAACG,MAAP,CAAchG,QAAd,GAAyB,IAAzB;;AACA,YAAI6F,MAAM,CAAC+D,IAAP,KAAgB,SAApB,EAA+B;AAC3B/D,gBAAM,CAACgD,MAAP,CAAc+H,MAAd,CAAqB,CAArB;AACH;;AACD,YAAI/K,MAAM,CAAC+D,IAAP,KAAgB,QAApB,EAA8B;AAC1B/D,gBAAM,CAACgD,MAAP,CAAcK,WAAd,CAA0B,CAA1B;AACH;;AACD,YAAIrD,MAAM,CAAC+D,IAAP,KAAgB,OAApB,EAA6B;AACzB/D,gBAAM,CAACgD,MAAP,CAAcuG,cAAd,CAA6B,CAA7B;AACH;;AACDvJ,cAAM,CAACI,IAAP;AACH,OAbD;AAcH;AACJ,GAtBD;AAwBH,CApCD,C;;;;;;;;;;;;ACFa;;AAEb,IAAMkL,MAAM,GAAGpY,mBAAO,CAAC,sHAAD,CAAtB;;AACA,IAAMqY,IAAI,GAAGrY,mBAAO,CAAC,kHAAD,CAApB;;AAEA,SAASsY,cAAT,CAAwBC,QAAxB,EAAkC/V,OAAlC,EAA2C;AACvC,MAAI0R,OAAO,GAAG1T,CAAC,CAACsC,MAAD,CAAD,CAAUqR,SAAV,EAAd;AACA,MAAIC,UAAU,GAAGF,OAAO,GAAG1T,CAAC,CAACsC,MAAD,CAAD,CAAUuO,MAAV,EAA3B;AACA,MAAImH,aAAa,GAAGD,QAAQ,CAAClH,MAAT,EAApB;AACA,MAAIgD,UAAU,GAAGkE,QAAQ,CAACjE,MAAT,GAAkBC,GAAnC;AACA,MAAIC,aAAa,GAAGH,UAAU,GAAGmE,aAAjC,CALuC,CAOvC;;AACA,MAAIhW,OAAO,KAAK,iBAAZ,IAAiC6R,UAAU,IAAID,UAAnD,EAA+D;AAC3D,WAAO,IAAP;AACH;;AAED,MAAI5R,OAAO,KAAK,OAAhB,EAAyB;AACrB;AACA,WAAQ6R,UAAU,IAAID,UAAtB;AACH,GAHD,MAGO;AACH;AACA,WAASC,UAAU,IAAID,UAAf,IAA+BI,aAAa,IAAIN,OAAxD;AACH;AACJ;;AAED,SAASuE,gBAAT,CAA0BC,SAA1B,EAAqClW,OAArC,EAA8C;AAC1CkW,WAAS,CAAC9X,IAAV,CAAe,UAAC6I,KAAD,EAAQkD,OAAR,EAAoB;AAC/B,QAAI4L,QAAQ,GAAG/X,CAAC,CAACmM,OAAD,CAAhB;AACA,QAAIgM,cAAc,GAAGJ,QAAQ,CAACzX,IAAT,CAAc,WAAd,CAArB;AACA,QAAI8X,SAAS,GAAGN,cAAc,CAACC,QAAD,EAAW/V,OAAX,CAA9B;;AAEA,QAAIoW,SAAJ,EAAe;AACXL,cAAQ,CAACxW,WAAT,CAAqB,yBAArB,EAAgDuD,QAAhD,CAAyDqT,cAAzD;AACH;AACJ,GARD;AASH;;AAED,SAASE,qBAAT,CAA+BH,SAA/B,EAA0C;AACtCA,WAAS,CAAC9X,IAAV,CAAe,UAAC6I,KAAD,EAAQkD,OAAR,EAAoB;AAC/B,QAAI4L,QAAQ,GAAG/X,CAAC,CAACmM,OAAD,CAAhB;AACA,QAAImM,WAAW,GAAG,CAACP,QAAQ,CAACzX,IAAT,CAAc,qBAAd,CAAnB;;AAEA,QAAIgY,WAAJ,EAAiB;AACb,UAAIH,cAAc,GAAGJ,QAAQ,CAACzX,IAAT,CAAc,WAAd,CAArB;AACA,UAAI8X,SAAS,GAAGN,cAAc,CAACC,QAAD,EAAW,OAAX,CAA9B;;AAEA,UAAI,CAACK,SAAL,EAAgB;AACZL,gBAAQ,CAACxW,WAAT,CAAqB4W,cAArB,EAAqCrT,QAArC,CAA8C,yBAA9C;AACA,aAAKqH,OAAO,CAACoM,WAAb,CAFY,CAEc;AAC7B;AACJ;AACJ,GAbD;AAcH;;AAED,SAASC,gBAAT,GAA4B;AAExB;AACA,MAAIC,kBAAkB,GAAGzY,CAAC,CAAC,kBAAD,CAA1B;;AAEA,MAAIyY,kBAAkB,CAACzV,MAAvB,EAA+B;AAC3BiV,oBAAgB,CAACQ,kBAAD,EAAqB,iBAArB,CAAhB;AAEAnW,UAAM,CAACoW,gBAAP,CAAwB,cAAxB,EAAwC,UAAAxO,KAAK,EAAI;AAC7C,UAAIyO,SAAS,GAAGzO,KAAK,CAAC0O,MAAN,CAAaD,SAA7B;;AAEA,UAAIA,SAAS,KAAK,MAAlB,EAA0B;AACtBV,wBAAgB,CAACQ,kBAAD,EAAqB,IAArB,CAAhB;AACH;;AAED,UAAIE,SAAS,KAAK,IAAlB,EAAwB;AACpBN,6BAAqB,CAACI,kBAAD,CAArB;AACH;AACJ,KAVD;AAWH;AAEJ;;AAAA;AAGD9Y,MAAM,CAACC,OAAP,GAAiB;AACb4Y,kBAAgB,EAAEA,gBADL;AAEblB,QAAM,EAAEM,MAFK;AAGbiB,MAAI,EAAEhB;AAHO,CAAjB,C;;;;;;;;;;;;CC7EA;;AACAlY,MAAM,CAACC,OAAP,CAAemG,eAAf,GAAiC;AAC7B,QAAM,GADuB;AAE7B,QAAM,GAFuB;AAG7B,QAAM,IAHuB;AAI7B,QAAM;AAJuB,CAAjC;AAOApG,MAAM,CAACC,OAAP,CAAekZ,eAAf,GAAiC,GAAjC;AAEAnZ,MAAM,CAACC,OAAP,CAAemZ,uBAAf,GAAyC,CAAzC;AAEApZ,MAAM,CAACC,OAAP,CAAeoZ,MAAf,GAAwB,EAAxB;AAEArZ,MAAM,CAACC,OAAP,CAAeqZ,qBAAf,GAAuC;AACnC,eAAa,kBADsB;AAEnC,kBAAgB;AAFmB,CAAvC;AAKAtZ,MAAM,CAACC,OAAP,CAAesZ,gBAAf,GAAkC;AAC9B,WAAS,OADqB;AAE9B,qBAAmB;AAFW,CAAlC;AAKAvZ,MAAM,CAACC,OAAP,CAAeuZ,gBAAf,GAAkC;AAC9B,QAAM,CADwB;AAE9B,kBAAgB,QAFc;AAG9B,WAAS;AAHqB,CAAlC,C,CAMA;;AACAxZ,MAAM,CAACC,OAAP,CAAewZ,MAAf,GAAwB,EAAxB;AACAzZ,MAAM,CAACC,OAAP,CAAeyZ,QAAf,GAA0B,EAA1B;AACA1Z,MAAM,CAACC,OAAP,CAAe0Z,cAAf,GAAgC,CAAhC;AACA3Z,MAAM,CAACC,OAAP,CAAe2Z,YAAf,GAA8B,CAAC,CAA/B,C;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;;AAEA;AAEE,WAAUC,MAAV,EAAkBC,OAAlB,EAA4B;AAC5B;;AACA;;AAA2B;AAC3B,MAAK,IAAL,EAAiD;AAC/C;AACAC,wCAAQD,OAAF;AAAA;AAAA;AAAA;AAAA,oGAAN;AACD,GAHD,MAGO,EAMN;AAEF,CAdC,EAcC,OAAOnX,MAAP,IAAiB,WAAjB,GAA+BA,MAA/B,GAAwC,IAdzC,EAc+C,YAAW;AAE5D;;AAEA,WAASqX,SAAT,GAAqB,CAAE;;AAEvB,MAAIC,KAAK,GAAGD,SAAS,CAACE,SAAtB;;AAEAD,OAAK,CAACzX,EAAN,GAAW,UAAU2X,SAAV,EAAqBC,QAArB,EAAgC;AACzC,QAAK,CAACD,SAAD,IAAc,CAACC,QAApB,EAA+B;AAC7B;AACD,KAHwC,CAIzC;;;AACA,QAAIlP,MAAM,GAAG,KAAKmP,OAAL,GAAe,KAAKA,OAAL,IAAgB,EAA5C,CALyC,CAMzC;;AACA,QAAIC,SAAS,GAAGpP,MAAM,CAAEiP,SAAF,CAAN,GAAsBjP,MAAM,CAAEiP,SAAF,CAAN,IAAuB,EAA7D,CAPyC,CAQzC;;AACA,QAAKG,SAAS,CAAChZ,OAAV,CAAmB8Y,QAAnB,KAAiC,CAAC,CAAvC,EAA2C;AACzCE,eAAS,CAAC5W,IAAV,CAAgB0W,QAAhB;AACD;;AAED,WAAO,IAAP;AACD,GAdD;;AAgBAH,OAAK,CAACM,IAAN,GAAa,UAAUJ,SAAV,EAAqBC,QAArB,EAAgC;AAC3C,QAAK,CAACD,SAAD,IAAc,CAACC,QAApB,EAA+B;AAC7B;AACD,KAH0C,CAI3C;;;AACA,SAAK5X,EAAL,CAAS2X,SAAT,EAAoBC,QAApB,EAL2C,CAM3C;AACA;;AACA,QAAII,UAAU,GAAG,KAAKC,WAAL,GAAmB,KAAKA,WAAL,IAAoB,EAAxD,CAR2C,CAS3C;;AACA,QAAIC,aAAa,GAAGF,UAAU,CAAEL,SAAF,CAAV,GAA0BK,UAAU,CAAEL,SAAF,CAAV,IAA2B,EAAzE,CAV2C,CAW3C;;AACAO,iBAAa,CAAEN,QAAF,CAAb,GAA4B,IAA5B;AAEA,WAAO,IAAP;AACD,GAfD;;AAiBAH,OAAK,CAAC1X,GAAN,GAAY,UAAU4X,SAAV,EAAqBC,QAArB,EAAgC;AAC1C,QAAIE,SAAS,GAAG,KAAKD,OAAL,IAAgB,KAAKA,OAAL,CAAcF,SAAd,CAAhC;;AACA,QAAK,CAACG,SAAD,IAAc,CAACA,SAAS,CAACjX,MAA9B,EAAuC;AACrC;AACD;;AACD,QAAIiG,KAAK,GAAGgR,SAAS,CAAChZ,OAAV,CAAmB8Y,QAAnB,CAAZ;;AACA,QAAK9Q,KAAK,IAAI,CAAC,CAAf,EAAmB;AACjBgR,eAAS,CAACK,MAAV,CAAkBrR,KAAlB,EAAyB,CAAzB;AACD;;AAED,WAAO,IAAP;AACD,GAXD;;AAaA2Q,OAAK,CAACW,SAAN,GAAkB,UAAUT,SAAV,EAAqBU,IAArB,EAA4B;AAC5C,QAAIP,SAAS,GAAG,KAAKD,OAAL,IAAgB,KAAKA,OAAL,CAAcF,SAAd,CAAhC;;AACA,QAAK,CAACG,SAAD,IAAc,CAACA,SAAS,CAACjX,MAA9B,EAAuC;AACrC;AACD,KAJ2C,CAK5C;;;AACAiX,aAAS,GAAGA,SAAS,CAACQ,KAAV,CAAgB,CAAhB,CAAZ;AACAD,QAAI,GAAGA,IAAI,IAAI,EAAf,CAP4C,CAQ5C;;AACA,QAAIH,aAAa,GAAG,KAAKD,WAAL,IAAoB,KAAKA,WAAL,CAAkBN,SAAlB,CAAxC;;AAEA,SAAM,IAAIjZ,CAAC,GAAC,CAAZ,EAAeA,CAAC,GAAGoZ,SAAS,CAACjX,MAA7B,EAAqCnC,CAAC,EAAtC,EAA2C;AACzC,UAAIkZ,QAAQ,GAAGE,SAAS,CAACpZ,CAAD,CAAxB;AACA,UAAI6Z,MAAM,GAAGL,aAAa,IAAIA,aAAa,CAAEN,QAAF,CAA3C;;AACA,UAAKW,MAAL,EAAc;AACZ;AACA;AACA,aAAKxY,GAAL,CAAU4X,SAAV,EAAqBC,QAArB,EAHY,CAIZ;;AACA,eAAOM,aAAa,CAAEN,QAAF,CAApB;AACD,OATwC,CAUzC;;;AACAA,cAAQ,CAACvU,KAAT,CAAgB,IAAhB,EAAsBgV,IAAtB;AACD;;AAED,WAAO,IAAP;AACD,GA1BD;;AA4BAZ,OAAK,CAACe,MAAN,GAAe,YAAW;AACxB,WAAO,KAAKX,OAAZ;AACA,WAAO,KAAKI,WAAZ;AACD,GAHD;;AAKA,SAAOT,SAAP;AAEC,CAvGC,CAAF,C;;;;;;;;;;;ACRA,kDAAIiB,QAAQ,GAAG,OAAOpB,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GACX,OAAOlX,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyC,EAD7C;;AAEA,IAAIuY,MAAM,GAAGrb,mBAAO,CAAC,qBAAD,CAApB;;AAEA,IAAIsb,KAAJ;;AAEA,IAAI,OAAO7Y,QAAP,KAAoB,WAAxB,EAAqC;AACjC6Y,OAAK,GAAG7Y,QAAR;AACH,CAFD,MAEO;AACH6Y,OAAK,GAAGF,QAAQ,CAAC,2BAAD,CAAhB;;AAEA,MAAI,CAACE,KAAL,EAAY;AACRA,SAAK,GAAGF,QAAQ,CAAC,2BAAD,CAAR,GAAwCC,MAAhD;AACH;AACJ;;AAEDlb,MAAM,CAACC,OAAP,GAAiBkb,KAAjB,C;;;;;;;;;;;;AChBA,kDAAIC,GAAJ;;AAEA,IAAI,OAAOzY,MAAP,KAAkB,WAAtB,EAAmC;AAC/ByY,KAAG,GAAGzY,MAAN;AACH,CAFD,MAEO,IAAI,OAAOkX,MAAP,KAAkB,WAAtB,EAAmC;AACtCuB,KAAG,GAAGvB,MAAN;AACH,CAFM,MAEA,IAAI,OAAOwB,IAAP,KAAgB,WAApB,EAAgC;AACnCD,KAAG,GAAGC,IAAN;AACH,CAFM,MAEA;AACHD,KAAG,GAAG,EAAN;AACH;;AAEDpb,MAAM,CAACC,OAAP,GAAiBmb,GAAjB,C;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AAEA,CAAE,UAAUzY,MAAV,EAAkBmX,OAAlB,EAA4B;AAAE,eAAF,CAC5B;;AAEA;;AAEA,MAAK,IAAL,EAAiD;AAC/C;AACAC,qCAAQ,CACN,8GADM,CAAF,mCAEH,UAAUC,SAAV,EAAsB;AACvB,aAAOF,OAAO,CAAEnX,MAAF,EAAUqX,SAAV,CAAd;AACD,KAJK;AAAA,oGAAN;AAKD,GAPD,MAOO,EAYN;AAEF,CA1BD,EA0BI,OAAOrX,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyC,IA1B7C,EA4BA;AAEA,SAASmX,OAAT,CAAkBnX,MAAlB,EAA0BqX,SAA1B,EAAsC;AAEtC;;AAEA,MAAI3Z,CAAC,GAAGsC,MAAM,CAAC2Y,MAAf;AACA,MAAIlR,OAAO,GAAGzH,MAAM,CAACyH,OAArB,CALsC,CAOtC;AAEA;;AACA,WAASsF,MAAT,CAAiB6L,CAAjB,EAAoBC,CAApB,EAAwB;AACtB,SAAM,IAAIC,IAAV,IAAkBD,CAAlB,EAAsB;AACpBD,OAAC,CAAEE,IAAF,CAAD,GAAYD,CAAC,CAAEC,IAAF,CAAb;AACD;;AACD,WAAOF,CAAP;AACD;;AAED,MAAIG,UAAU,GAAGC,KAAK,CAACzB,SAAN,CAAgBY,KAAjC,CAjBsC,CAmBtC;;AACA,WAASc,SAAT,CAAoBC,GAApB,EAA0B;AACxB,QAAKF,KAAK,CAACG,OAAN,CAAeD,GAAf,CAAL,EAA4B;AAC1B;AACA,aAAOA,GAAP;AACD;;AAED,QAAIE,WAAW,GAAG,QAAOF,GAAP,KAAc,QAAd,IAA0B,OAAOA,GAAG,CAACxY,MAAX,IAAqB,QAAjE;;AACA,QAAK0Y,WAAL,EAAmB;AACjB;AACA,aAAOL,UAAU,CAAC5V,IAAX,CAAiB+V,GAAjB,CAAP;AACD,KAVuB,CAYxB;;;AACA,WAAO,CAAEA,GAAF,CAAP;AACD,GAlCqC,CAoCtC;;AAEA;AACA;AACA;AACA;AACA;;;AACA,WAASG,YAAT,CAAuBC,IAAvB,EAA6BC,OAA7B,EAAsCC,QAAtC,EAAiD;AAC/C;AACA,QAAK,EAAG,gBAAgBH,YAAnB,CAAL,EAAyC;AACvC,aAAO,IAAIA,YAAJ,CAAkBC,IAAlB,EAAwBC,OAAxB,EAAiCC,QAAjC,CAAP;AACD,KAJ8C,CAK/C;;;AACA,QAAIC,SAAS,GAAGH,IAAhB;;AACA,QAAK,OAAOA,IAAP,IAAe,QAApB,EAA+B;AAC7BG,eAAS,GAAG9Z,QAAQ,CAAC+Z,gBAAT,CAA2BJ,IAA3B,CAAZ;AACD,KAT8C,CAU/C;;;AACA,QAAK,CAACG,SAAN,EAAkB;AAChBhS,aAAO,CAAChF,KAAR,CAAe,mCAAoCgX,SAAS,IAAIH,IAAjD,CAAf;AACA;AACD;;AAED,SAAKK,QAAL,GAAgBV,SAAS,CAAEQ,SAAF,CAAzB;AACA,SAAKF,OAAL,GAAexM,MAAM,CAAE,EAAF,EAAM,KAAKwM,OAAX,CAArB,CAjB+C,CAkB/C;;AACA,QAAK,OAAOA,OAAP,IAAkB,UAAvB,EAAoC;AAClCC,cAAQ,GAAGD,OAAX;AACD,KAFD,MAEO;AACLxM,YAAM,CAAE,KAAKwM,OAAP,EAAgBA,OAAhB,CAAN;AACD;;AAED,QAAKC,QAAL,EAAgB;AACd,WAAK3Z,EAAL,CAAS,QAAT,EAAmB2Z,QAAnB;AACD;;AAED,SAAKI,SAAL;;AAEA,QAAKlc,CAAL,EAAS;AACP;AACA,WAAKmc,UAAL,GAAkB,IAAInc,CAAC,CAACsE,QAAN,EAAlB;AACD,KAlC8C,CAoC/C;;;AACAsR,cAAU,CAAE,KAAKwG,KAAL,CAAWC,IAAX,CAAiB,IAAjB,CAAF,CAAV;AACD;;AAEDV,cAAY,CAAC9B,SAAb,GAAyBvT,MAAM,CAACgW,MAAP,CAAe3C,SAAS,CAACE,SAAzB,CAAzB;AAEA8B,cAAY,CAAC9B,SAAb,CAAuBgC,OAAvB,GAAiC,EAAjC;;AAEAF,cAAY,CAAC9B,SAAb,CAAuBqC,SAAvB,GAAmC,YAAW;AAC5C,SAAKxT,MAAL,GAAc,EAAd,CAD4C,CAG5C;;AACA,SAAKuT,QAAL,CAAcpT,OAAd,CAAuB,KAAK0T,gBAA5B,EAA8C,IAA9C;AACD,GALD;AAOA;AACA;AACA;;;AACAZ,cAAY,CAAC9B,SAAb,CAAuB0C,gBAAvB,GAA0C,UAAUX,IAAV,EAAiB;AACzD;AACA,QAAKA,IAAI,CAACY,QAAL,IAAiB,KAAtB,EAA8B;AAC5B,WAAKC,QAAL,CAAeb,IAAf;AACD,KAJwD,CAKzD;;;AACA,QAAK,KAAKC,OAAL,CAAa3G,UAAb,KAA4B,IAAjC,EAAwC;AACtC,WAAKwH,0BAAL,CAAiCd,IAAjC;AACD,KARwD,CAUzD;AACA;;;AACA,QAAIe,QAAQ,GAAGf,IAAI,CAACe,QAApB;;AACA,QAAK,CAACA,QAAD,IAAa,CAACC,gBAAgB,CAAED,QAAF,CAAnC,EAAkD;AAChD;AACD;;AACD,QAAIE,SAAS,GAAGjB,IAAI,CAACI,gBAAL,CAAsB,KAAtB,CAAhB,CAhByD,CAiBzD;;AACA,SAAM,IAAInb,CAAC,GAAC,CAAZ,EAAeA,CAAC,GAAGgc,SAAS,CAAC7Z,MAA7B,EAAqCnC,CAAC,EAAtC,EAA2C;AACzC,UAAIic,GAAG,GAAGD,SAAS,CAAChc,CAAD,CAAnB;AACA,WAAK4b,QAAL,CAAeK,GAAf;AACD,KArBwD,CAuBzD;;;AACA,QAAK,OAAO,KAAKjB,OAAL,CAAa3G,UAApB,IAAkC,QAAvC,EAAkD;AAChD,UAAI6H,QAAQ,GAAGnB,IAAI,CAACI,gBAAL,CAAuB,KAAKH,OAAL,CAAa3G,UAApC,CAAf;;AACA,WAAMrU,CAAC,GAAC,CAAR,EAAWA,CAAC,GAAGkc,QAAQ,CAAC/Z,MAAxB,EAAgCnC,CAAC,EAAjC,EAAsC;AACpC,YAAImc,KAAK,GAAGD,QAAQ,CAAClc,CAAD,CAApB;AACA,aAAK6b,0BAAL,CAAiCM,KAAjC;AACD;AACF;AACF,GA/BD;;AAiCA,MAAIJ,gBAAgB,GAAG;AACrB,OAAG,IADkB;AAErB,OAAG,IAFkB;AAGrB,QAAI;AAHiB,GAAvB;;AAMAjB,cAAY,CAAC9B,SAAb,CAAuB6C,0BAAvB,GAAoD,UAAUd,IAAV,EAAiB;AACnE,QAAIqB,KAAK,GAAGC,gBAAgB,CAAEtB,IAAF,CAA5B;;AACA,QAAK,CAACqB,KAAN,EAAc;AACZ;AACA;AACD,KALkE,CAMnE;;;AACA,QAAIE,KAAK,GAAG,yBAAZ;AACA,QAAIC,OAAO,GAAGD,KAAK,CAACE,IAAN,CAAYJ,KAAK,CAACK,eAAlB,CAAd;;AACA,WAAQF,OAAO,KAAK,IAApB,EAA2B;AACzB,UAAI5c,GAAG,GAAG4c,OAAO,IAAIA,OAAO,CAAC,CAAD,CAA5B;;AACA,UAAK5c,GAAL,EAAW;AACT,aAAK+c,aAAL,CAAoB/c,GAApB,EAAyBob,IAAzB;AACD;;AACDwB,aAAO,GAAGD,KAAK,CAACE,IAAN,CAAYJ,KAAK,CAACK,eAAlB,CAAV;AACD;AACF,GAhBD;AAkBA;AACA;AACA;;;AACA3B,cAAY,CAAC9B,SAAb,CAAuB4C,QAAvB,GAAkC,UAAUK,GAAV,EAAgB;AAChD,QAAIU,YAAY,GAAG,IAAIC,YAAJ,CAAkBX,GAAlB,CAAnB;AACA,SAAKpU,MAAL,CAAYrF,IAAZ,CAAkBma,YAAlB;AACD,GAHD;;AAKA7B,cAAY,CAAC9B,SAAb,CAAuB0D,aAAvB,GAAuC,UAAU/c,GAAV,EAAeob,IAAf,EAAsB;AAC3D,QAAI1G,UAAU,GAAG,IAAIwI,UAAJ,CAAgBld,GAAhB,EAAqBob,IAArB,CAAjB;AACA,SAAKlT,MAAL,CAAYrF,IAAZ,CAAkB6R,UAAlB;AACD,GAHD;;AAKAyG,cAAY,CAAC9B,SAAb,CAAuBuC,KAAvB,GAA+B,YAAW;AACxC,QAAIuB,KAAK,GAAG,IAAZ;;AACA,SAAKC,eAAL,GAAuB,CAAvB;AACA,SAAKC,YAAL,GAAoB,KAApB,CAHwC,CAIxC;;AACA,QAAK,CAAC,KAAKnV,MAAL,CAAY1F,MAAlB,EAA2B;AACzB,WAAKsC,QAAL;AACA;AACD;;AAED,aAASwY,UAAT,CAAqBhV,KAArB,EAA4B8S,IAA5B,EAAkCmC,OAAlC,EAA4C;AAC1C;AACAnI,gBAAU,CAAE,YAAW;AACrB+H,aAAK,CAACK,QAAN,CAAgBlV,KAAhB,EAAuB8S,IAAvB,EAA6BmC,OAA7B;AACD,OAFS,CAAV;AAGD;;AAED,SAAKrV,MAAL,CAAYG,OAAZ,CAAqB,UAAU2U,YAAV,EAAyB;AAC5CA,kBAAY,CAACtD,IAAb,CAAmB,UAAnB,EAA+B4D,UAA/B;AACAN,kBAAY,CAACpB,KAAb;AACD,KAHD;AAID,GArBD;;AAuBAT,cAAY,CAAC9B,SAAb,CAAuBmE,QAAvB,GAAkC,UAAUlV,KAAV,EAAiB8S,IAAjB,EAAuBmC,OAAvB,EAAiC;AACjE,SAAKH,eAAL;AACA,SAAKC,YAAL,GAAoB,KAAKA,YAAL,IAAqB,CAAC/U,KAAK,CAACmV,QAAhD,CAFiE,CAGjE;;AACA,SAAK1D,SAAL,CAAgB,UAAhB,EAA4B,CAAE,IAAF,EAAQzR,KAAR,EAAe8S,IAAf,CAA5B;;AACA,QAAK,KAAKO,UAAL,IAAmB,KAAKA,UAAL,CAAgB+B,MAAxC,EAAiD;AAC/C,WAAK/B,UAAL,CAAgB+B,MAAhB,CAAwB,IAAxB,EAA8BpV,KAA9B;AACD,KAPgE,CAQjE;;;AACA,QAAK,KAAK8U,eAAL,IAAwB,KAAKlV,MAAL,CAAY1F,MAAzC,EAAkD;AAChD,WAAKsC,QAAL;AACD;;AAED,QAAK,KAAKuW,OAAL,CAAasC,KAAb,IAAsBpU,OAA3B,EAAqC;AACnCA,aAAO,CAACqU,GAAR,CAAa,eAAeL,OAA5B,EAAqCjV,KAArC,EAA4C8S,IAA5C;AACD;AACF,GAhBD;;AAkBAD,cAAY,CAAC9B,SAAb,CAAuBvU,QAAvB,GAAkC,YAAW;AAC3C,QAAIwU,SAAS,GAAG,KAAK+D,YAAL,GAAoB,MAApB,GAA6B,MAA7C;AACA,SAAKQ,UAAL,GAAkB,IAAlB;AACA,SAAK9D,SAAL,CAAgBT,SAAhB,EAA2B,CAAE,IAAF,CAA3B;AACA,SAAKS,SAAL,CAAgB,QAAhB,EAA0B,CAAE,IAAF,CAA1B;;AACA,QAAK,KAAK4B,UAAV,EAAuB;AACrB,UAAImC,QAAQ,GAAG,KAAKT,YAAL,GAAoB,QAApB,GAA+B,SAA9C;AACA,WAAK1B,UAAL,CAAiBmC,QAAjB,EAA6B,IAA7B;AACD;AACF,GATD,CAhNsC,CA2NtC;;;AAEA,WAASb,YAAT,CAAuBX,GAAvB,EAA6B;AAC3B,SAAKA,GAAL,GAAWA,GAAX;AACD;;AAEDW,cAAY,CAAC5D,SAAb,GAAyBvT,MAAM,CAACgW,MAAP,CAAe3C,SAAS,CAACE,SAAzB,CAAzB;;AAEA4D,cAAY,CAAC5D,SAAb,CAAuBuC,KAAvB,GAA+B,YAAW;AACxC;AACA;AACA,QAAIiC,UAAU,GAAG,KAAKE,kBAAL,EAAjB;;AACA,QAAKF,UAAL,EAAkB;AAChB;AACA,WAAKG,OAAL,CAAc,KAAK1B,GAAL,CAAS2B,YAAT,KAA0B,CAAxC,EAA2C,cAA3C;AACA;AACD,KARuC,CAUxC;;;AACA,SAAKC,UAAL,GAAkB,IAAIC,KAAJ,EAAlB;AACA,SAAKD,UAAL,CAAgBhG,gBAAhB,CAAkC,MAAlC,EAA0C,IAA1C;AACA,SAAKgG,UAAL,CAAgBhG,gBAAhB,CAAkC,OAAlC,EAA2C,IAA3C,EAbwC,CAcxC;;AACA,SAAKoE,GAAL,CAASpE,gBAAT,CAA2B,MAA3B,EAAmC,IAAnC;AACA,SAAKoE,GAAL,CAASpE,gBAAT,CAA2B,OAA3B,EAAoC,IAApC;AACA,SAAKgG,UAAL,CAAgB5L,GAAhB,GAAsB,KAAKgK,GAAL,CAAShK,GAA/B;AACD,GAlBD;;AAoBA2K,cAAY,CAAC5D,SAAb,CAAuB0E,kBAAvB,GAA4C,YAAW;AACrD;AACA;AACA,WAAO,KAAKzB,GAAL,CAASxX,QAAT,IAAqB,KAAKwX,GAAL,CAAS2B,YAArC;AACD,GAJD;;AAMAhB,cAAY,CAAC5D,SAAb,CAAuB2E,OAAvB,GAAiC,UAAUP,QAAV,EAAoBF,OAApB,EAA8B;AAC7D,SAAKE,QAAL,GAAgBA,QAAhB;AACA,SAAK1D,SAAL,CAAgB,UAAhB,EAA4B,CAAE,IAAF,EAAQ,KAAKuC,GAAb,EAAkBiB,OAAlB,CAA5B;AACD,GAHD,CA7PsC,CAkQtC;AAEA;;;AACAN,cAAY,CAAC5D,SAAb,CAAuB+E,WAAvB,GAAqC,UAAU1U,KAAV,EAAkB;AACrD,QAAIN,MAAM,GAAG,OAAOM,KAAK,CAACmG,IAA1B;;AACA,QAAK,KAAMzG,MAAN,CAAL,EAAsB;AACpB,WAAMA,MAAN,EAAgBM,KAAhB;AACD;AACF,GALD;;AAOAuT,cAAY,CAAC5D,SAAb,CAAuBvG,MAAvB,GAAgC,YAAW;AACzC,SAAKkL,OAAL,CAAc,IAAd,EAAoB,QAApB;AACA,SAAKK,YAAL;AACD,GAHD;;AAKApB,cAAY,CAAC5D,SAAb,CAAuB9G,OAAvB,GAAiC,YAAW;AAC1C,SAAKyL,OAAL,CAAc,KAAd,EAAqB,SAArB;AACA,SAAKK,YAAL;AACD,GAHD;;AAKApB,cAAY,CAAC5D,SAAb,CAAuBgF,YAAvB,GAAsC,YAAW;AAC/C,SAAKH,UAAL,CAAgBI,mBAAhB,CAAqC,MAArC,EAA6C,IAA7C;AACA,SAAKJ,UAAL,CAAgBI,mBAAhB,CAAqC,OAArC,EAA8C,IAA9C;AACA,SAAKhC,GAAL,CAASgC,mBAAT,CAA8B,MAA9B,EAAsC,IAAtC;AACA,SAAKhC,GAAL,CAASgC,mBAAT,CAA8B,OAA9B,EAAuC,IAAvC;AACD,GALD,CAtRsC,CA6RtC;;;AAEA,WAASpB,UAAT,CAAqBld,GAArB,EAA0B2L,OAA1B,EAAoC;AAClC,SAAK3L,GAAL,GAAWA,GAAX;AACA,SAAK2L,OAAL,GAAeA,OAAf;AACA,SAAK2Q,GAAL,GAAW,IAAI6B,KAAJ,EAAX;AACD,GAnSqC,CAqStC;;;AACAjB,YAAU,CAAC7D,SAAX,GAAuBvT,MAAM,CAACgW,MAAP,CAAemB,YAAY,CAAC5D,SAA5B,CAAvB;;AAEA6D,YAAU,CAAC7D,SAAX,CAAqBuC,KAArB,GAA6B,YAAW;AACtC,SAAKU,GAAL,CAASpE,gBAAT,CAA2B,MAA3B,EAAmC,IAAnC;AACA,SAAKoE,GAAL,CAASpE,gBAAT,CAA2B,OAA3B,EAAoC,IAApC;AACA,SAAKoE,GAAL,CAAShK,GAAT,GAAe,KAAKtS,GAApB,CAHsC,CAItC;;AACA,QAAI6d,UAAU,GAAG,KAAKE,kBAAL,EAAjB;;AACA,QAAKF,UAAL,EAAkB;AAChB,WAAKG,OAAL,CAAc,KAAK1B,GAAL,CAAS2B,YAAT,KAA0B,CAAxC,EAA2C,cAA3C;AACA,WAAKI,YAAL;AACD;AACF,GAVD;;AAYAnB,YAAU,CAAC7D,SAAX,CAAqBgF,YAArB,GAAoC,YAAW;AAC7C,SAAK/B,GAAL,CAASgC,mBAAT,CAA8B,MAA9B,EAAsC,IAAtC;AACA,SAAKhC,GAAL,CAASgC,mBAAT,CAA8B,OAA9B,EAAuC,IAAvC;AACD,GAHD;;AAKApB,YAAU,CAAC7D,SAAX,CAAqB2E,OAArB,GAA+B,UAAUP,QAAV,EAAoBF,OAApB,EAA8B;AAC3D,SAAKE,QAAL,GAAgBA,QAAhB;AACA,SAAK1D,SAAL,CAAgB,UAAhB,EAA4B,CAAE,IAAF,EAAQ,KAAKpO,OAAb,EAAsB4R,OAAtB,CAA5B;AACD,GAHD,CAzTsC,CA8TtC;;;AAEApC,cAAY,CAACoD,gBAAb,GAAgC,UAAU9D,MAAV,EAAmB;AACjDA,UAAM,GAAGA,MAAM,IAAI3Y,MAAM,CAAC2Y,MAA1B;;AACA,QAAK,CAACA,MAAN,EAAe;AACb;AACD,KAJgD,CAKjD;;;AACAjb,KAAC,GAAGib,MAAJ,CANiD,CAOjD;;AACAjb,KAAC,CAACgf,EAAF,CAAKpZ,YAAL,GAAoB,UAAUiW,OAAV,EAAmBnZ,QAAnB,EAA8B;AAChD,UAAIuc,QAAQ,GAAG,IAAItD,YAAJ,CAAkB,IAAlB,EAAwBE,OAAxB,EAAiCnZ,QAAjC,CAAf;AACA,aAAOuc,QAAQ,CAAC9C,UAAT,CAAoB+C,OAApB,CAA6Blf,CAAC,CAAC,IAAD,CAA9B,CAAP;AACD,KAHD;AAID,GAZD,CAhUsC,CA6UtC;;;AACA2b,cAAY,CAACoD,gBAAb,GA9UsC,CAgVtC;;AAEA,SAAOpD,YAAP;AAEC,CAlXD,E;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACC,WAAU3b,CAAV,EAAa;AACb,MAAImf,QAAQ,GAAG;AACd3e,OAAG,EAAE,KADS;AAEdkC,YAAQ,EAAE,KAFI;AAGd0H,UAAM,EAAE,KAHM;AAIdgV,YAAQ,EAAE,GAJI;AAKdjd,MAAE,EAAE,WALU;AAKG;AACjBoJ,SAAK,EAAE,IANO;AAMD;AACb8T,YAAQ,EAAE,KAPI;AAQdC,aAAS,EAAE,KARG;AASdhU,WAAO,EAAE;AATK,GAAf,CADa,CAab;;AACAtL,GAAC,CAAC2F,IAAF,GAAS,UAASyE,MAAT,EAAiBmV,MAAjB,EAAyBzC,GAAzB,EAA8BxR,OAA9B,EAAuC;AAC/C,QAAIkU,YAAJ;AAAA,QACCC,WADD;AAAA,QAECC,YAFD;AAAA,QAGCC,WAHD;AAAA,QAICC,MAJD;AAAA,QAKCC,MALD;AAAA,QAMC/L,MAND;AAAA,QAOC1P,OAAO,GAAGpE,CAAC,CAACoK,MAAD,CAPZ;AAAA,QAQC0V,QAAQ,GAAG1b,OAAO,CAACwM,GAAR,CAAY,UAAZ,CARZ;AAAA,QASCmP,OAAO,GAAG/f,CAAC,CAACuf,MAAD,CATZ,CAD+C,CAY/C;;AACAnV,UAAM,CAAC6S,KAAP,CAAa6C,QAAb,GAAwB,mBAAmBrK,IAAnB,CAAwBqK,QAAxB,IAAoCA,QAApC,GAA+C,UAAvE;AACA1V,UAAM,CAAC6S,KAAP,CAAa+C,QAAb,GAAwB,QAAxB;AACAlD,OAAG,CAACG,KAAJ,CAAUnM,KAAV,GAAkBgM,GAAG,CAACG,KAAJ,CAAUpM,MAAV,GAAmB,EAArC;AAEA7Q,KAAC,CAAC8c,GAAD,CAAD,CACEhY,QADF,CACW,SADX,EAEE8L,GAFF,CAEM;AACJkP,cAAQ,EAAE,UADN;AAEJ/L,SAAG,EAAE,CAFD;AAGJkM,UAAI,EAAE,CAHF;AAIJC,aAAO,EAAE,CAJL;AAKJpP,WAAK,EAAEgM,GAAG,CAAChM,KAAJ,GAAYxF,OALf;AAMJuF,YAAM,EAAEiM,GAAG,CAACjM,MAAJ,GAAavF,OANjB;AAOJ6U,YAAM,EAAE,MAPJ;AAQJC,cAAQ,EAAE,MARN;AASJC,eAAS,EAAE;AATP,KAFN,EAaE1L,QAbF,CAaWvK,MAbX;AAeA,WAAO;AACN5I,UAAI,EAAE,gBAAW;AAChBie,mBAAW,GAAGrb,OAAO,CAACyH,UAAR,EAAd;AACA2T,oBAAY,GAAGpb,OAAO,CAAC2H,WAAR,EAAf;;AAEA,YAAIwT,MAAM,KAAKnV,MAAf,EAAuB;AACtBuV,qBAAW,GAAGF,WAAd;AACAC,sBAAY,GAAGF,YAAf;AACA,SAHD,MAGO;AACNG,qBAAW,GAAGI,OAAO,CAAClU,UAAR,EAAd;AACA6T,sBAAY,GAAGK,OAAO,CAAChU,WAAR,EAAf;AACA;;AAED6T,cAAM,GAAG,CAAC9C,GAAG,CAAChM,KAAJ,GAAY2O,WAAb,IAA4BE,WAArC;AACAE,cAAM,GAAG,CAAC/C,GAAG,CAACjM,MAAJ,GAAa2O,YAAd,IAA8BE,YAAvC;AAEA5L,cAAM,GAAGiM,OAAO,CAACjM,MAAR,EAAT;AACA,OAjBK;AAkBNwM,UAAI,EAAE,cAAUxgB,CAAV,EAAa;AAClB,YAAImgB,IAAI,GAAIngB,CAAC,CAACygB,KAAF,GAAUzM,MAAM,CAACmM,IAA7B;AAAA,YACClM,GAAG,GAAIjU,CAAC,CAAC0gB,KAAF,GAAU1M,MAAM,CAACC,GADzB;AAGAA,WAAG,GAAG0M,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAAS5M,GAAT,EAAc2L,YAAd,CAAT,EAAsC,CAAtC,CAAN;AACAO,YAAI,GAAGQ,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAASV,IAAT,EAAeN,WAAf,CAAT,EAAsC,CAAtC,CAAP;AAEA7C,WAAG,CAACG,KAAJ,CAAUgD,IAAV,GAAkBA,IAAI,GAAG,CAACL,MAAT,GAAmB,IAApC;AACA9C,WAAG,CAACG,KAAJ,CAAUlJ,GAAV,GAAiBA,GAAG,GAAG,CAAC8L,MAAR,GAAkB,IAAlC;AACA;AA3BK,KAAP;AA6BA,GA7DD;;AA+DA7f,GAAC,CAACgf,EAAF,CAAKrZ,IAAL,GAAY,UAAUkW,OAAV,EAAmB;AAC9B,WAAO,KAAKzb,IAAL,CAAU,YAAY;AAC5B,UACAwgB,QAAQ,GAAG5gB,CAAC,CAACqP,MAAF,CAAS,EAAT,EAAa8P,QAAb,EAAuBtD,OAAO,IAAI,EAAlC,CADX;AAAA,UAEA;AACAzR,YAAM,GAAGwW,QAAQ,CAACxW,MAAT,IAAmBpK,CAAC,CAAC4gB,QAAQ,CAACxW,MAAV,CAAD,CAAmB,CAAnB,CAAnB,IAA4C,IAHrD;AAAA,UAIA;AACAmV,YAAM,GAAG,IALT;AAAA,UAMAQ,OAAO,GAAG/f,CAAC,CAACuf,MAAD,CANX;AAAA,UAOAzC,GAAG,GAAG7a,QAAQ,CAAC4Q,aAAT,CAAuB,KAAvB,CAPN;AAAA,UAQAgO,IAAI,GAAG7gB,CAAC,CAAC8c,GAAD,CARR;AAAA,UASAgE,SAAS,GAAG,gBATZ;AAAA,UAUAC,OAAO,GAAG,KAVV;AAAA,UAWAC,OAAO,GAAG,KAXV,CAD4B,CAc5B;;AACA,UAAI,CAACJ,QAAQ,CAACpgB,GAAd,EAAmB;AAClB,YAAIygB,UAAU,GAAG1B,MAAM,CAAC2B,aAAP,CAAqB,KAArB,CAAjB;;AACA,YAAID,UAAJ,EAAgB;AACfL,kBAAQ,CAACpgB,GAAT,GAAeygB,UAAU,CAACE,YAAX,CAAwB,UAAxB,KAAuCF,UAAU,CAACG,UAAlD,IAAgEH,UAAU,CAACnO,GAA1F;AACA;;AACD,YAAI,CAAC8N,QAAQ,CAACpgB,GAAd,EAAmB;AAClB;AACA;AACD;;AAEDuf,aAAO,CAACsB,GAAR,CAAY,cAAZ,EAA4B,UAASvB,QAAT,EAAmBE,QAAnB,EAA4B;AACvDD,eAAO,CAAC7d,GAAR,CAAY,OAAZ;AACAkI,cAAM,CAAC6S,KAAP,CAAa6C,QAAb,GAAwBA,QAAxB;AACA1V,cAAM,CAAC6S,KAAP,CAAa+C,QAAb,GAAwBA,QAAxB;AACAlD,WAAG,CAACxJ,MAAJ,GAAa,IAAb;AACAuN,YAAI,CAACzf,MAAL;AACA,OAN2B,CAM1Bib,IAN0B,CAMrB,IANqB,EAMfjS,MAAM,CAAC6S,KAAP,CAAa6C,QANE,EAMQ1V,MAAM,CAAC6S,KAAP,CAAa+C,QANrB,CAA5B;;AAQAlD,SAAG,CAACxJ,MAAJ,GAAa,YAAY;AACxB,YAAI3N,IAAI,GAAG3F,CAAC,CAAC2F,IAAF,CAAOyE,MAAP,EAAemV,MAAf,EAAuBzC,GAAvB,EAA4B8D,QAAQ,CAACtV,OAArC,CAAX;;AAEA,iBAASgW,KAAT,CAAexhB,CAAf,EAAkB;AACjB6F,cAAI,CAACnE,IAAL;AACAmE,cAAI,CAAC2a,IAAL,CAAUxgB,CAAV,EAFiB,CAIjB;AACA;;AACA+gB,cAAI,CAACU,IAAL,GACCC,MADD,CACQxhB,CAAC,CAACyhB,OAAF,CAAUvB,OAAV,GAAoBU,QAAQ,CAACxB,QAA7B,GAAwC,CADhD,EACmD,CADnD,EACsDpf,CAAC,CAAC0hB,UAAF,CAAad,QAAQ,CAACvB,QAAtB,IAAkCuB,QAAQ,CAACvB,QAAT,CAAkB5Z,IAAlB,CAAuBqX,GAAvB,CAAlC,GAAgE,KADtH;AAEA;;AAED,iBAASyE,IAAT,GAAgB;AACfV,cAAI,CAACU,IAAL,GACCC,MADD,CACQZ,QAAQ,CAACxB,QADjB,EAC2B,CAD3B,EAC8Bpf,CAAC,CAAC0hB,UAAF,CAAad,QAAQ,CAACtB,SAAtB,IAAmCsB,QAAQ,CAACtB,SAAT,CAAmB7Z,IAAnB,CAAwBqX,GAAxB,CAAnC,GAAkE,KADhG;AAEA,SAhBuB,CAkBxB;;;AACA,YAAI8D,QAAQ,CAACze,EAAT,KAAgB,MAApB,EAA4B;AAC3B4d,iBAAO,CACL5d,EADF,CACK,gBADL,EAEE,UAAUrC,CAAV,EAAa;AACZ,gBAAIA,CAAC,CAAC6hB,KAAF,KAAY,CAAhB,EAAmB;AAClB3hB,eAAC,CAACiC,QAAD,CAAD,CAAYof,GAAZ,CAAgB,cAAhB,EACC,YAAY;AACXE,oBAAI;AAEJvhB,iBAAC,CAACiC,QAAD,CAAD,CAAYC,GAAZ,CAAgB4e,SAAhB,EAA2Bnb,IAAI,CAAC2a,IAAhC;AACA,eALF;AAQAgB,mBAAK,CAACxhB,CAAD,CAAL;AAEAE,eAAC,CAACiC,QAAD,CAAD,CAAYE,EAAZ,CAAe2e,SAAf,EAA0Bnb,IAAI,CAAC2a,IAA/B;AAEAxgB,eAAC,CAACiN,cAAF;AACA;AACD,WAlBH;AAoBA,SArBD,MAqBO,IAAI6T,QAAQ,CAACze,EAAT,KAAgB,OAApB,EAA6B;AACnC4d,iBAAO,CAAC5d,EAAR,CAAW,YAAX,EACC,UAAUrC,CAAV,EAAa;AACZ,gBAAIihB,OAAJ,EAAa;AACZ;AACA;AACA,aAHD,MAGO;AACNA,qBAAO,GAAG,IAAV;AACAO,mBAAK,CAACxhB,CAAD,CAAL;AACAE,eAAC,CAACiC,QAAD,CAAD,CAAYE,EAAZ,CAAe2e,SAAf,EAA0Bnb,IAAI,CAAC2a,IAA/B;AACAtgB,eAAC,CAACiC,QAAD,CAAD,CAAYof,GAAZ,CAAgB,YAAhB,EACC,YAAY;AACXE,oBAAI;AACJR,uBAAO,GAAG,KAAV;AACA/gB,iBAAC,CAACiC,QAAD,CAAD,CAAYC,GAAZ,CAAgB4e,SAAhB,EAA2Bnb,IAAI,CAAC2a,IAAhC;AACA,eALF;AAOA,qBAAO,KAAP;AACA;AACD,WAlBF;AAoBA,SArBM,MAqBA,IAAIM,QAAQ,CAACze,EAAT,KAAgB,QAApB,EAA8B;AACpC4d,iBAAO,CAAC5d,EAAR,CAAW,YAAX,EACC,UAAUrC,CAAV,EAAa;AACZ,gBAAIihB,OAAJ,EAAa;AACZQ,kBAAI;AACJ,aAFD,MAEO;AACND,mBAAK,CAACxhB,CAAD,CAAL;AACA;;AACDihB,mBAAO,GAAG,CAACA,OAAX;AACA,WARF;AAUA,SAXM,MAWA,IAAIH,QAAQ,CAACze,EAAT,KAAgB,WAApB,EAAiC;AACvCwD,cAAI,CAACnE,IAAL,GADuC,CAC1B;;AAEbue,iBAAO,CACL5d,EADF,CACK,iBADL,EACwBmf,KADxB,EAEEnf,EAFF,CAEK,iBAFL,EAEwBof,IAFxB,EAGEpf,EAHF,CAGK2e,SAHL,EAGgBnb,IAAI,CAAC2a,IAHrB;AAIA,SA/EuB,CAiFxB;;;AACA,YAAIM,QAAQ,CAACrV,KAAb,EAAoB;AACnBwU,iBAAO,CACL5d,EADF,CACK,iBADL,EACwB,UAAUrC,CAAV,EAAa;AACnCA,aAAC,CAACiN,cAAF;;AACA,gBAAIiU,OAAJ,EAAa;AACZA,qBAAO,GAAG,KAAV;AACAO,kBAAI;AACJ,aAHD,MAGO;AACNP,qBAAO,GAAG,IAAV;AACAM,mBAAK,CAAExhB,CAAC,CAAC8hB,aAAF,CAAgBC,OAAhB,CAAwB,CAAxB,KAA8B/hB,CAAC,CAAC8hB,aAAF,CAAgBE,cAAhB,CAA+B,CAA/B,CAAhC,CAAL;AACA;AACD,WAVF,EAWE3f,EAXF,CAWK,gBAXL,EAWuB,UAAUrC,CAAV,EAAa;AAClCA,aAAC,CAACiN,cAAF;AACApH,gBAAI,CAAC2a,IAAL,CAAWxgB,CAAC,CAAC8hB,aAAF,CAAgBC,OAAhB,CAAwB,CAAxB,KAA8B/hB,CAAC,CAAC8hB,aAAF,CAAgBE,cAAhB,CAA+B,CAA/B,CAAzC;AACA,WAdF,EAeE3f,EAfF,CAeK,eAfL,EAesB,UAAUrC,CAAV,EAAa;AACjCA,aAAC,CAACiN,cAAF;;AACA,gBAAIiU,OAAJ,EAAa;AACZA,qBAAO,GAAG,KAAV;AACAO,kBAAI;AACJ;AACD,WArBF;AAsBA;;AAED,YAAIvhB,CAAC,CAAC0hB,UAAF,CAAad,QAAQ,CAACle,QAAtB,CAAJ,EAAqC;AACpCke,kBAAQ,CAACle,QAAT,CAAkB+C,IAAlB,CAAuBqX,GAAvB;AACA;AACD,OA9GD;;AAgHAA,SAAG,CAACiF,YAAJ,CAAiB,MAAjB,EAAyB,cAAzB;AACAjF,SAAG,CAAC5T,GAAJ,GAAU,EAAV;AACA4T,SAAG,CAAChK,GAAJ,GAAU8N,QAAQ,CAACpgB,GAAnB;AACA,KApJM,CAAP;AAqJA,GAtJD;;AAwJAR,GAAC,CAACgf,EAAF,CAAKrZ,IAAL,CAAUwZ,QAAV,GAAqBA,QAArB;AACA,CAtOA,EAsOC7c,MAAM,CAAC2Y,MAtOR,CAAD,C;;;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,CAAC,UAAS+G,IAAT,EAAevI,OAAf,EAAwB;AACrB,MAAI,IAAJ,EAAgD;AAC5CC,qCAAO,CAAC,4FAAD,CAAD,oCAAaD,OAAb;AAAA;AAAA;AAAA,oGAAN;AACH,GAFD,MAEO,EAIN;AACJ,CARA,CASA,IATA,EASM,UAASzZ,CAAT,EAAY;AACf,MAAIiiB,SAAS,GAAG;AACZC,YAAQ,EAAE;AAAEC,OAAC,EAAE,KAAL;AAAYC,OAAC,EAAE;AAAf,KADE;AAEZC,cAAU,EAAE;AAAEF,OAAC,EAAE,IAAL;AAAWC,OAAC,EAAE;AAAd,KAFA;AAGZE,QAAI,EAAE;AAAEH,OAAC,EAAE,IAAL;AAAWC,OAAC,EAAE;AAAd,KAHM;AAIZD,KAAC,EAAE;AAAEA,OAAC,EAAE,IAAL;AAAWC,OAAC,EAAE;AAAd,KAJS;AAKZA,KAAC,EAAE;AAAED,OAAC,EAAE,KAAL;AAAYC,OAAC,EAAE;AAAf;AALS,GAAhB;AAQA,MAAIxB,QAAQ,GAAG;AACXxB,YAAQ,EAAE,MADC;AAEXzG,aAAS,EAAE,MAFA;AAGX4J,eAAW,EAAE;AAHF,GAAf;AAMA,MAAIC,MAAM,GAAG,aAAb,CAfe,CAiBf;;AACA,MAAIC,OAAO,GAAG,SAAVA,OAAU,CAASC,UAAT,EAAqBC,MAArB,EAA6B;AACvCA,UAAM,GAAGA,MAAM,KAAK1gB,QAAQ,CAAC2gB,WAAT,IAAwB3gB,QAAQ,CAAC2gB,WAAT,CAAqB1F,gBAA7C,GAAgEjb,QAAQ,CAAC2gB,WAAT,CAAqB1F,gBAArB,CAAsCwF,UAAtC,EAAkD,IAAlD,CAAhE,GAA0HA,UAAU,CAACG,YAA1I,CAAf;AACA,QAAIC,EAAE,GAAG7gB,QAAQ,CAAC2gB,WAAT,IAAwB3gB,QAAQ,CAAC2gB,WAAT,CAAqB1F,gBAA7C,GAAgE,IAAhE,GAAuE,KAAhF;AACA,QAAI/B,CAAC,GAAG;AACJpH,SAAG,EAAGgP,UAAU,CAACD,EAAE,GAAGH,MAAM,CAACK,cAAV,GAA2BhjB,CAAC,CAAC4Q,GAAF,CAAM8R,UAAN,EAAkB,gBAAlB,CAA9B,CAAV,IAAgF,CADlF;AAEJzC,UAAI,EAAG8C,UAAU,CAACD,EAAE,GAAGH,MAAM,CAACM,eAAV,GAA4BjjB,CAAC,CAAC4Q,GAAF,CAAM8R,UAAN,EAAkB,iBAAlB,CAA/B,CAAV,IAAkF,CAFrF;AAGJQ,YAAM,EAAGH,UAAU,CAACD,EAAE,GAAGH,MAAM,CAACQ,iBAAV,GAA8BnjB,CAAC,CAAC4Q,GAAF,CAAM8R,UAAN,EAAkB,mBAAlB,CAAjC,CAAV,IAAsF,CAH3F;AAIJU,WAAK,EAAGL,UAAU,CAACD,EAAE,GAAGH,MAAM,CAACU,gBAAV,GAA6BrjB,CAAC,CAAC4Q,GAAF,CAAM8R,UAAN,EAAkB,kBAAlB,CAAhC,CAAV,IAAoF;AAJxF,KAAR;AAMA,WAAO;AACH3O,SAAG,EAAEoH,CAAC,CAACpH,GADJ;AAEHkM,UAAI,EAAE9E,CAAC,CAAC8E,IAFL;AAGHiD,YAAM,EAAE/H,CAAC,CAAC+H,MAHP;AAIHE,WAAK,EAAEjI,CAAC,CAACiI,KAJN;AAKHlB,cAAQ,EAAE/G,CAAC,CAACpH,GAAF,GAAQoH,CAAC,CAAC+H,MALjB;AAMHb,gBAAU,EAAElH,CAAC,CAAC8E,IAAF,GAAS9E,CAAC,CAACiI;AANpB,KAAP;AAQH,GAjBD;;AAmBA,MAAIE,UAAU,GAAG,SAAbA,UAAa,CAASvL,QAAT,EAAmB;AAChC,QAAI6D,IAAI,GAAG7D,QAAQ,CAAC,CAAD,CAAnB;AAAA,QACIwL,MAAM,GAAGf,MAAM,CAAC/M,IAAP,CAAYmG,IAAI,CAACY,QAAjB,CADb;AAAA,QAEIpO,KAAK,GAAGmV,MAAM,GAAGvjB,CAAC,CAACsC,MAAD,CAAJ,GAAeyV,QAFjC;AAGA,WAAO;AACHoI,YAAM,EAAEoD,MAAM,GAAG;AAAExP,WAAG,EAAE,CAAP;AAAUkM,YAAI,EAAE,CAAhB;AAAmBiD,cAAM,EAAE,CAA3B;AAA8BE,aAAK,EAAE;AAArC,OAAH,GAA8CX,OAAO,CAAC7G,IAAD,CADhE;AAEH4H,YAAM,EAAE;AACJzP,WAAG,EAAE3F,KAAK,CAACuF,SAAN,EADD;AAEJsM,YAAI,EAAE7R,KAAK,CAACqV,UAAN,EAFF;AAGJC,cAAM,EAAE9H,IAAI,CAAC5P,YAAL,GAAoB4P,IAAI,CAAC+H,YAH7B;AAIJC,eAAO,EAAEhI,IAAI,CAAC9P,WAAL,GAAmB8P,IAAI,CAACiI;AAJ7B,OAFL;AAQHC,eAAS,EAAEP,MAAM,GACX;AAAEH,aAAK,EAAE,CAAT;AAAYF,cAAM,EAAE;AAApB,OADW,GAEX;AACEE,aAAK,EAAEhV,KAAK,CAAC2V,UAAN,KAAqBnI,IAAI,CAACiI,WADnC;AAEEX,cAAM,EAAE9U,KAAK,CAAC4V,WAAN,KAAsBpI,IAAI,CAAC+H;AAFrC,OAVH;AAcHM,UAAI,EAAEV,MAAM,GAAG;AAAExP,WAAG,EAAE,CAAP;AAAUkM,YAAI,EAAE,CAAhB;AAAmBiD,cAAM,EAAEtH,IAAI,CAAC+H,YAAhC;AAA8CP,aAAK,EAAExH,IAAI,CAACiI;AAA1D,OAAH,GAA6EjI,IAAI,CAACsI,qBAAL;AAdtF,KAAP;AAgBH,GApBD;;AAsBAlkB,GAAC,CAACgf,EAAF,CAAK3P,MAAL,CAAY;AACR7G,kBAAc,EAAE,wBAASqT,OAAT,EAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AAEAA,aAAO,GAAG7b,CAAC,CAACqP,MAAF,CAAS,EAAT,EAAauR,QAAb,EAAuB/E,OAAvB,CAAV;AACAA,aAAO,CAAClD,SAAR,GAAoBsJ,SAAS,CAAC,OAAQpG,OAAO,CAAClD,SAAhB,KAA+B,QAA/B,IAA2CkD,OAAO,CAAClD,SAAR,CAAkBwL,WAAlB,EAA5C,CAAT,IAAyFlC,SAAS,CAACK,IAAvH;;AAEA,UAAI,OAAOzG,OAAO,CAAC0G,WAAf,IAA8B,QAAlC,EAA4C;AACxC1G,eAAO,CAAC0G,WAAR,GAAsB;AAAEJ,WAAC,EAAEtG,OAAO,CAAC0G,WAAb;AAA0BH,WAAC,EAAEvG,OAAO,CAAC0G;AAArC,SAAtB;AACH,OAFD,MAEO,IAAI,QAAO1G,OAAO,CAAC0G,WAAf,KAA8B,QAAlC,EAA4C;AAC/C,YAAI1G,OAAO,CAAC0G,WAAR,CAAoBJ,CAApB,IAAyB5d,SAA7B,EAAwC;AACpCsX,iBAAO,CAAC0G,WAAR,CAAoBJ,CAApB,GAAwB,CAAxB;AACH;;AACD,YAAItG,OAAO,CAAC0G,WAAR,CAAoBH,CAApB,IAAyB7d,SAA7B,EAAwC;AACpCsX,iBAAO,CAAC0G,WAAR,CAAoBH,CAApB,GAAwB,CAAxB;AACH;AACJ;;AAED,UAAIgC,MAAM,GAAG,EAAb;AACA,UAAIvI,OAAO,CAAClD,SAAR,CAAkBwJ,CAAlB,KAAwB,IAA5B,EAAkCiC,MAAM,GAAG,YAAT;AAClC,UAAIvI,OAAO,CAAClD,SAAR,CAAkByJ,CAAlB,KAAwB,IAA5B,EAAkCgC,MAAM,GAAGA,MAAM,GAAG,MAAH,GAAY,UAA3B;AAElC,UAAIC,EAAE,GAAG,KAAKnf,EAAL,CAAQ,CAAR,CAAT;AACA,UAAIof,QAAQ,GAAGD,EAAE,CAACtiB,MAAH,GAAYT,OAAZ,CAAoB,iBAAiB8iB,MAAjB,GAA0B,GAA9C,CAAf,CA5B8B,CA8B9B;;AACA,UAAIE,QAAQ,CAACthB,MAAT,GAAkB,CAAtB,EAAyB;AACrBshB,gBAAQ,GAAGA,QAAQ,CAACpf,EAAT,CAAY,CAAZ,CAAX;AAEA,YAAIqf,GAAG,GAAG;AACNzkB,WAAC,EAAEwjB,UAAU,CAACe,EAAD,CADP;AAENG,WAAC,EAAElB,UAAU,CAACgB,QAAD;AAFP,SAAV;AAKA,YAAIG,GAAG,GAAG;AACN1Q,aAAG,EAAEwQ,GAAG,CAACzkB,CAAJ,CAAMmkB,IAAN,CAAWlQ,GAAX,IAAkBwQ,GAAG,CAACC,CAAJ,CAAMP,IAAN,CAAWlQ,GAAX,GAAiBwQ,GAAG,CAACC,CAAJ,CAAMrE,MAAN,CAAapM,GAAhD,CADC;AAENmP,gBAAM,EAAEqB,GAAG,CAACC,CAAJ,CAAMP,IAAN,CAAWf,MAAX,GAAoBqB,GAAG,CAACC,CAAJ,CAAMrE,MAAN,CAAa+C,MAAjC,GAA0CqB,GAAG,CAACC,CAAJ,CAAMV,SAAN,CAAgBZ,MAA1D,GAAmEqB,GAAG,CAACzkB,CAAJ,CAAMmkB,IAAN,CAAWf,MAFhF;AAGNjD,cAAI,EAAEsE,GAAG,CAACzkB,CAAJ,CAAMmkB,IAAN,CAAWhE,IAAX,IAAmBsE,GAAG,CAACC,CAAJ,CAAMP,IAAN,CAAWhE,IAAX,GAAkBsE,GAAG,CAACC,CAAJ,CAAMrE,MAAN,CAAaF,IAAlD,CAHA;AAINmD,eAAK,EAAEmB,GAAG,CAACC,CAAJ,CAAMP,IAAN,CAAWb,KAAX,GAAmBmB,GAAG,CAACC,CAAJ,CAAMrE,MAAN,CAAaiD,KAAhC,GAAwCmB,GAAG,CAACC,CAAJ,CAAMV,SAAN,CAAgBV,KAAxD,GAAgEmB,GAAG,CAACzkB,CAAJ,CAAMmkB,IAAN,CAAWb;AAJ5E,SAAV;AAOA,YAAIsB,cAAc,GAAG,EAArB,CAfqB,CAiBrB;;AACA,YAAI7I,OAAO,CAAClD,SAAR,CAAkByJ,CAAlB,KAAwB,IAA5B,EAAkC;AAC9B,cAAIqC,GAAG,CAAC1Q,GAAJ,GAAU,CAAd,EAAiB;AACb2Q,0BAAc,CAAC/Q,SAAf,GAA2B8M,IAAI,CAACC,GAAL,CAAS,CAAT,EAAY6D,GAAG,CAACC,CAAJ,CAAMhB,MAAN,CAAazP,GAAb,GAAmB0Q,GAAG,CAAC1Q,GAAvB,GAA6B8H,OAAO,CAAC0G,WAAR,CAAoBH,CAA7D,CAA3B;AACH,WAFD,MAEO,IAAIqC,GAAG,CAAC1Q,GAAJ,GAAU,CAAV,IAAe0Q,GAAG,CAACvB,MAAJ,GAAa,CAAhC,EAAmC;AACtCwB,0BAAc,CAAC/Q,SAAf,GAA2B8M,IAAI,CAACE,GAAL,CAAS4D,GAAG,CAACC,CAAJ,CAAMhB,MAAN,CAAazP,GAAb,GAAmB0M,IAAI,CAACE,GAAL,CAAS8D,GAAG,CAAC1Q,GAAb,EAAkB,CAAC0Q,GAAG,CAACvB,MAAvB,CAAnB,GAAoDrH,OAAO,CAAC0G,WAAR,CAAoBH,CAAjF,EAAoFmC,GAAG,CAACC,CAAJ,CAAMhB,MAAN,CAAaE,MAAjG,CAA3B;AACH;AACJ,SAxBoB,CA0BrB;;;AACA,YAAI7H,OAAO,CAAClD,SAAR,CAAkBwJ,CAAlB,KAAwB,IAA5B,EAAkC;AAC9B,cAAIsC,GAAG,CAACxE,IAAJ,GAAW,CAAf,EAAkB;AACdyE,0BAAc,CAACjB,UAAf,GAA4BhD,IAAI,CAACC,GAAL,CAAS,CAAT,EAAY6D,GAAG,CAACC,CAAJ,CAAMhB,MAAN,CAAavD,IAAb,GAAoBwE,GAAG,CAACxE,IAAxB,GAA+BpE,OAAO,CAAC0G,WAAR,CAAoBJ,CAA/D,CAA5B;AACH,WAFD,MAEO,IAAIsC,GAAG,CAACxE,IAAJ,GAAW,CAAX,IAAgBwE,GAAG,CAACrB,KAAJ,GAAY,CAAhC,EAAmC;AACtCsB,0BAAc,CAACjB,UAAf,GAA4BhD,IAAI,CAACE,GAAL,CAAS4D,GAAG,CAACC,CAAJ,CAAMhB,MAAN,CAAavD,IAAb,GAAoBQ,IAAI,CAACE,GAAL,CAAS8D,GAAG,CAACxE,IAAb,EAAmB,CAACwE,GAAG,CAACrB,KAAxB,CAApB,GAAqDvH,OAAO,CAAC0G,WAAR,CAAoBJ,CAAlF,EAAqFoC,GAAG,CAACC,CAAJ,CAAMhB,MAAN,CAAaI,OAAlG,CAA5B;AACH;AACJ,SAjCoB,CAmCrB;;;AACA,YAAI,CAAC5jB,CAAC,CAAC2kB,aAAF,CAAgBD,cAAhB,CAAL,EAAsC;AAAA,cASzBE,WATyB,GASlC,SAASA,WAAT,CAAqBC,GAArB,EAA0BC,KAA1B,EAAiC;AAC7BC,wBAAY,CAACD,KAAK,CAAC1J,IAAP,CAAZ,GAA2BqF,IAAI,CAACuE,KAAL,CAAWH,GAAX,CAA3B;AACH,WAXiC;;AAAA,cAazBI,QAbyB,GAalC,SAASA,QAAT,CAAkB/a,KAAlB,EAAyB;AACrBlK,aAAC,CAACI,IAAF,CAAO2kB,YAAP,EAAqB,UAASG,GAAT,EAAcC,KAAd,EAAqB;AACtC,kBAAI1E,IAAI,CAACuE,KAAL,CAAWI,cAAc,CAACF,GAAD,CAAd,EAAX,KAAqCzE,IAAI,CAACuE,KAAL,CAAWG,KAAX,CAAzC,EAA4D;AACxDtJ,uBAAO,CAACvW,QAAR,GAAmB,IAAnB,CADwD,CAC/B;;AACzBgf,wBAAQ,CAAC/C,IAAT,CAAc,gBAAd;AACH;AACJ,aALD;AAMH,WApBiC;;AAClC,cAAIwD,YAAY,GAAG,EAAnB;AAAA,cACIK,cAAc,GAAGd,QADrB;;AAGA,cAAI9B,MAAM,CAAC/M,IAAP,CAAY6O,QAAQ,CAAC,CAAD,CAAR,CAAY9H,QAAxB,CAAJ,EAAuC;AACnC8H,oBAAQ,GAAGtkB,CAAC,CAAC,WAAD,CAAZ;AACAolB,0BAAc,GAAGplB,CAAC,CAACsC,MAAD,CAAlB;AACH;;AAIA;AAWD8iB,wBAAc,CAACjjB,EAAf,CAAkB,QAAlB,EAA4B8iB,QAA5B;AAEAX,kBAAQ,CACH/C,IADL,CACU,gBADV,EAEK8D,OAFL,CAEaX,cAFb,EAE6B;AAAEtF,oBAAQ,EAAEvD,OAAO,CAACuD,QAApB;AAA8BkG,gBAAI,EAAEV,WAApC;AAAiDW,iBAAK,EAAE;AAAxD,WAF7B,EAGKrgB,EAHL,CAGQ,CAHR,EAGW;AAHX,WAIKqgB,KAJL,CAIW,gBAJX,EAI6B,UAAS7N,IAAT,EAAe;AACpC0N,0BAAc,CAACljB,GAAf,CAAmB,QAAnB,EAA6B+iB,QAA7B;AACAjlB,aAAC,CAAC0hB,UAAF,CAAa7F,OAAO,CAACvW,QAArB,KAAkCuW,OAAO,CAACvW,QAAR,CAAiBG,IAAjB,CAAsB6e,QAAQ,CAAC,CAAD,CAA9B,CAAlC;AACA5M,gBAAI;AACP,WARL;AAUA4M,kBAAQ,CAACkB,OAAT,CAAiB,gBAAjB;AACH,SAnCD,MAmCO;AACH;AACAxlB,WAAC,CAAC0hB,UAAF,CAAa7F,OAAO,CAACvW,QAArB,KAAkCuW,OAAO,CAACvW,QAAR,CAAiBG,IAAjB,CAAsB6e,QAAQ,CAAC,CAAD,CAA9B,CAAlC;AACH;AACJ,OA1G6B,CA4G9B;;;AACA,aAAO,IAAP;AACH;AA/GO,GAAZ;AAkHA,MAAImB,WAAW,GAAG;AACdC,QAAI,EAAE,IADQ;AAEdlC,UAAM,EAAE,IAFM;AAGdmC,WAAO,EAAE,KAHK;AAIdC,UAAM,EAAE;AAJM,GAAlB;;AAOA,MAAIpC,MAAM,GAAG,SAATA,MAAS,CAASrX,OAAT,EAAkBwM,SAAlB,EAA6B;AACtCA,aAAS,GAAGsJ,SAAS,CAAC,OAAQtJ,SAAR,KAAuB,QAAvB,IAAmCA,SAAS,CAACwL,WAAV,EAApC,CAAT,IAAyElC,SAAS,CAACK,IAA/F;AACA,QAAIK,MAAM,GAAI1gB,QAAQ,CAAC2gB,WAAT,IAAwB3gB,QAAQ,CAAC2gB,WAAT,CAAqB1F,gBAA7C,GAAgEjb,QAAQ,CAAC2gB,WAAT,CAAqB1F,gBAArB,CAAsC/Q,OAAtC,EAA+C,IAA/C,CAAhE,GAAuHA,OAAO,CAAC0W,YAA7I;AACA,QAAI7C,QAAQ,GAAG;AACXmC,OAAC,EAAEsD,WAAW,CAAC9C,MAAM,CAACkD,SAAP,CAAiB1B,WAAjB,EAAD,CAAX,IAA+C,KADvC;AAEX/B,OAAC,EAAEqD,WAAW,CAAC9C,MAAM,CAACmD,SAAP,CAAiB3B,WAAjB,EAAD,CAAX,IAA+C,KAFvC;AAGXZ,YAAM,EAAEf,MAAM,CAAC/M,IAAP,CAAYtJ,OAAO,CAACqQ,QAApB;AAHG,KAAf,CAHsC,CAStC;;AACA,QAAI,CAACwD,QAAQ,CAACmC,CAAV,IAAe,CAACnC,QAAQ,CAACoC,CAAzB,IAA8B,CAACpC,QAAQ,CAACuD,MAA5C,EAAoD;AAChD,aAAO,KAAP;AACH;;AAED,QAAIwC,IAAI,GAAG;AACPlV,YAAM,EAAE;AACJ2S,cAAM,EAAErX,OAAO,CAACH,YADZ;AAEJga,cAAM,EAAE7Z,OAAO,CAACwX;AAFZ,OADD;AAKP7S,WAAK,EAAE;AACH0S,cAAM,EAAErX,OAAO,CAACL,WADb;AAEHka,cAAM,EAAE7Z,OAAO,CAAC0X;AAFb,OALA;AASP;AACAoC,iBAAW,EAAE,uBAAW;AACpB,eAAO,CAACjG,QAAQ,CAACmC,CAAT,IAAcnC,QAAQ,CAACuD,MAAxB,KAAmC,KAAKzS,KAAL,CAAW0S,MAAX,GAAoB,KAAK1S,KAAL,CAAWkV,MAAzE;AACH,OAZM;AAaPE,iBAAW,EAAE,uBAAW;AACpB,eAAO,CAAClG,QAAQ,CAACoC,CAAT,IAAcpC,QAAQ,CAACuD,MAAxB,KAAmC,KAAK1S,MAAL,CAAY2S,MAAZ,GAAqB,KAAK3S,MAAL,CAAYmV,MAA3E;AACH;AAfM,KAAX;AAiBA,WAAOrN,SAAS,CAACyJ,CAAV,IAAe2D,IAAI,CAACG,WAAL,EAAf,IAAqCvN,SAAS,CAACwJ,CAAV,IAAe4D,IAAI,CAACE,WAAL,EAA3D;AACH,GAhCD;;AAkCAjmB,GAAC,CAACmmB,IAAF,CAAO,GAAP,EAAYC,UAAZ,GAAyBpmB,CAAC,CAACmmB,IAAF,CAAOE,YAAP,CAAoB,UAAS1N,SAAT,EAAoB;AAC7D,WAAO,UAASxM,OAAT,EAAkB;AACrB,aAAOqX,MAAM,CAACrX,OAAD,EAAUwM,SAAV,CAAb;AACH,KAFD;AAGH,GAJwB,CAAzB;AAKH,CApOA,CAAD,C;;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAE,UAAUa,MAAV,EAAkBC,OAAlB,EAA4B;AAE7B;;AAEA,MAAK,8BAAO9Z,MAAP,OAAkB,QAAlB,IAA8B,QAAOA,MAAM,CAACC,OAAd,MAA0B,QAA7D,EAAwE;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACAD,UAAM,CAACC,OAAP,GAAiB4Z,MAAM,CAACvX,QAAP,GAChBwX,OAAO,CAAED,MAAF,EAAU,IAAV,CADS,GAEhB,UAAU8M,CAAV,EAAc;AACb,UAAK,CAACA,CAAC,CAACrkB,QAAR,EAAmB;AAClB,cAAM,IAAI+Q,KAAJ,CAAW,0CAAX,CAAN;AACA;;AACD,aAAOyG,OAAO,CAAE6M,CAAF,CAAd;AACA,KAPF;AAQA,GAjBD,MAiBO;AACN7M,WAAO,CAAED,MAAF,CAAP;AACA,GAvB4B,CAyB9B;;AACC,CA1BD,EA0BK,OAAOlX,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyC,IA1B9C,EA0BoD,UAAUA,MAAV,EAAkBikB,QAAlB,EAA6B;AAEjF;AACA;AACA;AACA;AACA;;AAEA,MAAIC,GAAG,GAAG,EAAV;AAEA,MAAIC,QAAQ,GAAGngB,MAAM,CAACogB,cAAtB;AAEA,MAAIjM,MAAK,GAAG+L,GAAG,CAAC/L,KAAhB;AAEA,MAAIkM,IAAI,GAAGH,GAAG,CAACG,IAAJ,GAAW,UAAUC,KAAV,EAAkB;AACvC,WAAOJ,GAAG,CAACG,IAAJ,CAASlhB,IAAT,CAAemhB,KAAf,CAAP;AACA,GAFU,GAEP,UAAUA,KAAV,EAAkB;AACrB,WAAOJ,GAAG,CAACK,MAAJ,CAAWrhB,KAAX,CAAkB,EAAlB,EAAsBohB,KAAtB,CAAP;AACA,GAJD;AAOA,MAAIvjB,IAAI,GAAGmjB,GAAG,CAACnjB,IAAf;AAEA,MAAIpC,OAAO,GAAGulB,GAAG,CAACvlB,OAAlB;AAEA,MAAI6lB,UAAU,GAAG,EAAjB;AAEA,MAAIC,QAAQ,GAAGD,UAAU,CAACC,QAA1B;AAEA,MAAIC,MAAM,GAAGF,UAAU,CAACtU,cAAxB;AAEA,MAAIyU,UAAU,GAAGD,MAAM,CAACD,QAAxB;AAEA,MAAIG,oBAAoB,GAAGD,UAAU,CAACxhB,IAAX,CAAiBa,MAAjB,CAA3B;AAEA,MAAImb,OAAO,GAAG,EAAd;;AAEA,MAAIC,UAAU,GAAG,SAASA,UAAT,CAAqBlG,GAArB,EAA2B;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAO,OAAOA,GAAP,KAAe,UAAf,IAA6B,OAAOA,GAAG,CAACmB,QAAX,KAAwB,QAArD,IACN,OAAOnB,GAAG,CAAC2L,IAAX,KAAoB,UADrB;AAEA,GAXF;;AAcA,MAAIC,QAAQ,GAAG,SAASA,QAAT,CAAmB5L,GAAnB,EAAyB;AACtC,WAAOA,GAAG,IAAI,IAAP,IAAeA,GAAG,KAAKA,GAAG,CAAClZ,MAAlC;AACA,GAFF;;AAKA,MAAIL,QAAQ,GAAGK,MAAM,CAACL,QAAtB;AAIC,MAAIolB,yBAAyB,GAAG;AAC/BhX,QAAI,EAAE,IADyB;AAE/ByC,OAAG,EAAE,IAF0B;AAG/BwU,SAAK,EAAE,IAHwB;AAI/BC,YAAQ,EAAE;AAJqB,GAAhC;;AAOA,WAASC,OAAT,CAAkBC,IAAlB,EAAwBC,IAAxB,EAA8BC,GAA9B,EAAoC;AACnCA,OAAG,GAAGA,GAAG,IAAI1lB,QAAb;AAEA,QAAIpB,CAAJ;AAAA,QAAO+mB,GAAP;AAAA,QACCC,MAAM,GAAGF,GAAG,CAAC9U,aAAJ,CAAmB,QAAnB,CADV;AAGAgV,UAAM,CAACC,IAAP,GAAcL,IAAd;;AACA,QAAKC,IAAL,EAAY;AACX,WAAM7mB,CAAN,IAAWwmB,yBAAX,EAAuC;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAO,WAAG,GAAGF,IAAI,CAAE7mB,CAAF,CAAJ,IAAa6mB,IAAI,CAACvG,YAAL,IAAqBuG,IAAI,CAACvG,YAAL,CAAmBtgB,CAAnB,CAAxC;;AACA,YAAK+mB,GAAL,EAAW;AACVC,gBAAM,CAAC9F,YAAP,CAAqBlhB,CAArB,EAAwB+mB,GAAxB;AACA;AACD;AACD;;AACDD,OAAG,CAACI,IAAJ,CAASC,WAAT,CAAsBH,MAAtB,EAA+B1U,UAA/B,CAA0C8U,WAA1C,CAAuDJ,MAAvD;AACA;;AAGF,WAASK,MAAT,CAAiB1M,GAAjB,EAAuB;AACtB,QAAKA,GAAG,IAAI,IAAZ,EAAmB;AAClB,aAAOA,GAAG,GAAG,EAAb;AACA,KAHqB,CAKtB;;;AACA,WAAO,QAAOA,GAAP,MAAe,QAAf,IAA2B,OAAOA,GAAP,KAAe,UAA1C,GACNsL,UAAU,CAAEC,QAAQ,CAACthB,IAAT,CAAe+V,GAAf,CAAF,CAAV,IAAsC,QADhC,WAECA,GAFD,CAAP;AAGA;AACD;AACA;AACA;;;AAIA,MACC2M,OAAO,GAAG,OADX;AAAA,MAGC;AACAlN,QAAM,GAAG,SAATA,MAAS,CAAUmN,QAAV,EAAoBpmB,OAApB,EAA8B;AAEtC;AACA;AACA,WAAO,IAAIiZ,MAAM,CAAC+D,EAAP,CAAUxd,IAAd,CAAoB4mB,QAApB,EAA8BpmB,OAA9B,CAAP;AACA,GATF;;AAWAiZ,QAAM,CAAC+D,EAAP,GAAY/D,MAAM,CAACpB,SAAP,GAAmB;AAE9B;AACAwO,UAAM,EAAEF,OAHsB;AAK9BG,eAAW,EAAErN,MALiB;AAO9B;AACAjY,UAAM,EAAE,CARsB;AAU9BulB,WAAO,EAAE,mBAAW;AACnB,aAAO9N,MAAK,CAAChV,IAAN,CAAY,IAAZ,CAAP;AACA,KAZ6B;AAc9B;AACA;AACA+iB,OAAG,EAAE,aAAUC,GAAV,EAAgB;AAEpB;AACA,UAAKA,GAAG,IAAI,IAAZ,EAAmB;AAClB,eAAOhO,MAAK,CAAChV,IAAN,CAAY,IAAZ,CAAP;AACA,OALmB,CAOpB;;;AACA,aAAOgjB,GAAG,GAAG,CAAN,GAAU,KAAMA,GAAG,GAAG,KAAKzlB,MAAjB,CAAV,GAAsC,KAAMylB,GAAN,CAA7C;AACA,KAzB6B;AA2B9B;AACA;AACAC,aAAS,EAAE,mBAAUC,KAAV,EAAkB;AAE5B;AACA,UAAIC,GAAG,GAAG3N,MAAM,CAAC4N,KAAP,CAAc,KAAKP,WAAL,EAAd,EAAkCK,KAAlC,CAAV,CAH4B,CAK5B;;AACAC,SAAG,CAACE,UAAJ,GAAiB,IAAjB,CAN4B,CAQ5B;;AACA,aAAOF,GAAP;AACA,KAvC6B;AAyC9B;AACAxoB,QAAI,EAAE,cAAUsC,QAAV,EAAqB;AAC1B,aAAOuY,MAAM,CAAC7a,IAAP,CAAa,IAAb,EAAmBsC,QAAnB,CAAP;AACA,KA5C6B;AA8C9BqmB,OAAG,EAAE,aAAUrmB,QAAV,EAAqB;AACzB,aAAO,KAAKgmB,SAAL,CAAgBzN,MAAM,CAAC8N,GAAP,CAAY,IAAZ,EAAkB,UAAUnN,IAAV,EAAgB/a,CAAhB,EAAoB;AAC5D,eAAO6B,QAAQ,CAAC+C,IAAT,CAAemW,IAAf,EAAqB/a,CAArB,EAAwB+a,IAAxB,CAAP;AACA,OAFsB,CAAhB,CAAP;AAGA,KAlD6B;AAoD9BnB,SAAK,EAAE,iBAAW;AACjB,aAAO,KAAKiO,SAAL,CAAgBjO,MAAK,CAACjV,KAAN,CAAa,IAAb,EAAmBwjB,SAAnB,CAAhB,CAAP;AACA,KAtD6B;AAwD9B9nB,SAAK,EAAE,iBAAW;AACjB,aAAO,KAAKgE,EAAL,CAAS,CAAT,CAAP;AACA,KA1D6B;AA4D9B+jB,QAAI,EAAE,gBAAW;AAChB,aAAO,KAAK/jB,EAAL,CAAS,CAAC,CAAV,CAAP;AACA,KA9D6B;AAgE9BgkB,QAAI,EAAE,gBAAW;AAChB,aAAO,KAAKR,SAAL,CAAgBzN,MAAM,CAACkO,IAAP,CAAa,IAAb,EAAmB,UAAUC,KAAV,EAAiBvoB,CAAjB,EAAqB;AAC9D,eAAO,CAAEA,CAAC,GAAG,CAAN,IAAY,CAAnB;AACA,OAFsB,CAAhB,CAAP;AAGA,KApE6B;AAsE9BwoB,OAAG,EAAE,eAAW;AACf,aAAO,KAAKX,SAAL,CAAgBzN,MAAM,CAACkO,IAAP,CAAa,IAAb,EAAmB,UAAUC,KAAV,EAAiBvoB,CAAjB,EAAqB;AAC9D,eAAOA,CAAC,GAAG,CAAX;AACA,OAFsB,CAAhB,CAAP;AAGA,KA1E6B;AA4E9BqE,MAAE,EAAE,YAAUrE,CAAV,EAAc;AACjB,UAAIyoB,GAAG,GAAG,KAAKtmB,MAAf;AAAA,UACCumB,CAAC,GAAG,CAAC1oB,CAAD,IAAOA,CAAC,GAAG,CAAJ,GAAQyoB,GAAR,GAAc,CAArB,CADL;AAEA,aAAO,KAAKZ,SAAL,CAAgBa,CAAC,IAAI,CAAL,IAAUA,CAAC,GAAGD,GAAd,GAAoB,CAAE,KAAMC,CAAN,CAAF,CAApB,GAAoC,EAApD,CAAP;AACA,KAhF6B;AAkF9BC,OAAG,EAAE,eAAW;AACf,aAAO,KAAKV,UAAL,IAAmB,KAAKR,WAAL,EAA1B;AACA,KApF6B;AAsF9B;AACA;AACAjlB,QAAI,EAAEA,IAxFwB;AAyF9BomB,QAAI,EAAEjD,GAAG,CAACiD,IAzFoB;AA0F9BnP,UAAM,EAAEkM,GAAG,CAAClM;AA1FkB,GAA/B;;AA6FAW,QAAM,CAAC5L,MAAP,GAAgB4L,MAAM,CAAC+D,EAAP,CAAU3P,MAAV,GAAmB,YAAW;AAC7C,QAAIwM,OAAJ;AAAA,QAAa6N,IAAb;AAAA,QAAmB5W,GAAnB;AAAA,QAAwB6W,IAAxB;AAAA,QAA8BC,WAA9B;AAAA,QAA2CC,KAA3C;AAAA,QACCzf,MAAM,GAAG4e,SAAS,CAAE,CAAF,CAAT,IAAkB,EAD5B;AAAA,QAECnoB,CAAC,GAAG,CAFL;AAAA,QAGCmC,MAAM,GAAGgmB,SAAS,CAAChmB,MAHpB;AAAA,QAIC8mB,IAAI,GAAG,KAJR,CAD6C,CAO7C;;AACA,QAAK,OAAO1f,MAAP,KAAkB,SAAvB,EAAmC;AAClC0f,UAAI,GAAG1f,MAAP,CADkC,CAGlC;;AACAA,YAAM,GAAG4e,SAAS,CAAEnoB,CAAF,CAAT,IAAkB,EAA3B;AACAA,OAAC;AACD,KAd4C,CAgB7C;;;AACA,QAAK,QAAOuJ,MAAP,MAAkB,QAAlB,IAA8B,CAACsX,UAAU,CAAEtX,MAAF,CAA9C,EAA2D;AAC1DA,YAAM,GAAG,EAAT;AACA,KAnB4C,CAqB7C;;;AACA,QAAKvJ,CAAC,KAAKmC,MAAX,EAAoB;AACnBoH,YAAM,GAAG,IAAT;AACAvJ,OAAC;AACD;;AAED,WAAQA,CAAC,GAAGmC,MAAZ,EAAoBnC,CAAC,EAArB,EAA0B;AAEzB;AACA,UAAK,CAAEgb,OAAO,GAAGmN,SAAS,CAAEnoB,CAAF,CAArB,KAAgC,IAArC,EAA4C;AAE3C;AACA,aAAM6oB,IAAN,IAAc7N,OAAd,EAAwB;AACvB8N,cAAI,GAAG9N,OAAO,CAAE6N,IAAF,CAAd,CADuB,CAGvB;AACA;;AACA,cAAKA,IAAI,KAAK,WAAT,IAAwBtf,MAAM,KAAKuf,IAAxC,EAA+C;AAC9C;AACA,WAPsB,CASvB;;;AACA,cAAKG,IAAI,IAAIH,IAAR,KAAkB1O,MAAM,CAAC8O,aAAP,CAAsBJ,IAAtB,MACpBC,WAAW,GAAGtO,KAAK,CAACG,OAAN,CAAekO,IAAf,CADM,CAAlB,CAAL,EAC6C;AAC5C7W,eAAG,GAAG1I,MAAM,CAAEsf,IAAF,CAAZ,CAD4C,CAG5C;;AACA,gBAAKE,WAAW,IAAI,CAACtO,KAAK,CAACG,OAAN,CAAe3I,GAAf,CAArB,EAA4C;AAC3C+W,mBAAK,GAAG,EAAR;AACA,aAFD,MAEO,IAAK,CAACD,WAAD,IAAgB,CAAC3O,MAAM,CAAC8O,aAAP,CAAsBjX,GAAtB,CAAtB,EAAoD;AAC1D+W,mBAAK,GAAG,EAAR;AACA,aAFM,MAEA;AACNA,mBAAK,GAAG/W,GAAR;AACA;;AACD8W,uBAAW,GAAG,KAAd,CAX4C,CAa5C;;AACAxf,kBAAM,CAAEsf,IAAF,CAAN,GAAiBzO,MAAM,CAAC5L,MAAP,CAAeya,IAAf,EAAqBD,KAArB,EAA4BF,IAA5B,CAAjB,CAd4C,CAgB7C;AACC,WAlBD,MAkBO,IAAKA,IAAI,KAAKplB,SAAd,EAA0B;AAChC6F,kBAAM,CAAEsf,IAAF,CAAN,GAAiBC,IAAjB;AACA;AACD;AACD;AACD,KAlE4C,CAoE7C;;;AACA,WAAOvf,MAAP;AACA,GAtED;;AAwEA6Q,QAAM,CAAC5L,MAAP,CAAe;AAEd;AACA2a,WAAO,EAAE,WAAW,CAAE7B,OAAO,GAAG1H,IAAI,CAACwJ,MAAL,EAAZ,EAA4B9lB,OAA5B,CAAqC,KAArC,EAA4C,EAA5C,CAHN;AAKd;AACA+lB,WAAO,EAAE,IANK;AAQdnlB,SAAK,EAAE,eAAUolB,GAAV,EAAgB;AACtB,YAAM,IAAInX,KAAJ,CAAWmX,GAAX,CAAN;AACA,KAVa;AAYdC,QAAI,EAAE,gBAAW,CAAE,CAZL;AAcdL,iBAAa,EAAE,uBAAUvO,GAAV,EAAgB;AAC9B,UAAI5B,KAAJ,EAAWyQ,IAAX,CAD8B,CAG9B;AACA;;AACA,UAAK,CAAC7O,GAAD,IAAQuL,QAAQ,CAACthB,IAAT,CAAe+V,GAAf,MAAyB,iBAAtC,EAA0D;AACzD,eAAO,KAAP;AACA;;AAED5B,WAAK,GAAG6M,QAAQ,CAAEjL,GAAF,CAAhB,CAT8B,CAW9B;;AACA,UAAK,CAAC5B,KAAN,EAAc;AACb,eAAO,IAAP;AACA,OAd6B,CAgB9B;;;AACAyQ,UAAI,GAAGrD,MAAM,CAACvhB,IAAP,CAAamU,KAAb,EAAoB,aAApB,KAAuCA,KAAK,CAAC0O,WAApD;AACA,aAAO,OAAO+B,IAAP,KAAgB,UAAhB,IAA8BpD,UAAU,CAACxhB,IAAX,CAAiB4kB,IAAjB,MAA4BnD,oBAAjE;AACA,KAjCa;AAmCdvC,iBAAa,EAAE,uBAAUnJ,GAAV,EAAgB;AAC9B,UAAIkO,IAAJ;;AAEA,WAAMA,IAAN,IAAclO,GAAd,EAAoB;AACnB,eAAO,KAAP;AACA;;AACD,aAAO,IAAP;AACA,KA1Ca;AA4Cd;AACA;AACA8O,cAAU,EAAE,oBAAU7C,IAAV,EAAgB5L,OAAhB,EAAyB8L,GAAzB,EAA+B;AAC1CH,aAAO,CAAEC,IAAF,EAAQ;AAAEH,aAAK,EAAEzL,OAAO,IAAIA,OAAO,CAACyL;AAA5B,OAAR,EAA6CK,GAA7C,CAAP;AACA,KAhDa;AAkDdvnB,QAAI,EAAE,cAAUob,GAAV,EAAe9Y,QAAf,EAA0B;AAC/B,UAAIM,MAAJ;AAAA,UAAYnC,CAAC,GAAG,CAAhB;;AAEA,UAAK6a,WAAW,CAAEF,GAAF,CAAhB,EAA0B;AACzBxY,cAAM,GAAGwY,GAAG,CAACxY,MAAb;;AACA,eAAQnC,CAAC,GAAGmC,MAAZ,EAAoBnC,CAAC,EAArB,EAA0B;AACzB,cAAK6B,QAAQ,CAAC+C,IAAT,CAAe+V,GAAG,CAAE3a,CAAF,CAAlB,EAAyBA,CAAzB,EAA4B2a,GAAG,CAAE3a,CAAF,CAA/B,MAA2C,KAAhD,EAAwD;AACvD;AACA;AACD;AACD,OAPD,MAOO;AACN,aAAMA,CAAN,IAAW2a,GAAX,EAAiB;AAChB,cAAK9Y,QAAQ,CAAC+C,IAAT,CAAe+V,GAAG,CAAE3a,CAAF,CAAlB,EAAyBA,CAAzB,EAA4B2a,GAAG,CAAE3a,CAAF,CAA/B,MAA2C,KAAhD,EAAwD;AACvD;AACA;AACD;AACD;;AAED,aAAO2a,GAAP;AACA,KArEa;AAuEd;AACAD,aAAS,EAAE,mBAAUiL,GAAV,EAAe+D,OAAf,EAAyB;AACnC,UAAI3B,GAAG,GAAG2B,OAAO,IAAI,EAArB;;AAEA,UAAK/D,GAAG,IAAI,IAAZ,EAAmB;AAClB,YAAK9K,WAAW,CAAEpV,MAAM,CAAEkgB,GAAF,CAAR,CAAhB,EAAoC;AACnCvL,gBAAM,CAAC4N,KAAP,CAAcD,GAAd,EACC,OAAOpC,GAAP,KAAe,QAAf,GACC,CAAEA,GAAF,CADD,GACWA,GAFZ;AAIA,SALD,MAKO;AACNnjB,cAAI,CAACoC,IAAL,CAAWmjB,GAAX,EAAgBpC,GAAhB;AACA;AACD;;AAED,aAAOoC,GAAP;AACA,KAvFa;AAyFd4B,WAAO,EAAE,iBAAU5O,IAAV,EAAgB4K,GAAhB,EAAqB3lB,CAArB,EAAyB;AACjC,aAAO2lB,GAAG,IAAI,IAAP,GAAc,CAAC,CAAf,GAAmBvlB,OAAO,CAACwE,IAAR,CAAc+gB,GAAd,EAAmB5K,IAAnB,EAAyB/a,CAAzB,CAA1B;AACA,KA3Fa;AA6Fd;AACA;AACAgoB,SAAK,EAAE,eAAU3nB,KAAV,EAAiBupB,MAAjB,EAA0B;AAChC,UAAInB,GAAG,GAAG,CAACmB,MAAM,CAACznB,MAAlB;AAAA,UACCumB,CAAC,GAAG,CADL;AAAA,UAEC1oB,CAAC,GAAGK,KAAK,CAAC8B,MAFX;;AAIA,aAAQumB,CAAC,GAAGD,GAAZ,EAAiBC,CAAC,EAAlB,EAAuB;AACtBroB,aAAK,CAAEL,CAAC,EAAH,CAAL,GAAe4pB,MAAM,CAAElB,CAAF,CAArB;AACA;;AAEDroB,WAAK,CAAC8B,MAAN,GAAenC,CAAf;AAEA,aAAOK,KAAP;AACA,KA3Ga;AA6GdioB,QAAI,EAAE,cAAUR,KAAV,EAAiBjmB,QAAjB,EAA2BgoB,MAA3B,EAAoC;AACzC,UAAIC,eAAJ;AAAA,UACCvN,OAAO,GAAG,EADX;AAAA,UAECvc,CAAC,GAAG,CAFL;AAAA,UAGCmC,MAAM,GAAG2lB,KAAK,CAAC3lB,MAHhB;AAAA,UAIC4nB,cAAc,GAAG,CAACF,MAJnB,CADyC,CAOzC;AACA;;AACA,aAAQ7pB,CAAC,GAAGmC,MAAZ,EAAoBnC,CAAC,EAArB,EAA0B;AACzB8pB,uBAAe,GAAG,CAACjoB,QAAQ,CAAEimB,KAAK,CAAE9nB,CAAF,CAAP,EAAcA,CAAd,CAA3B;;AACA,YAAK8pB,eAAe,KAAKC,cAAzB,EAA0C;AACzCxN,iBAAO,CAAC/Z,IAAR,CAAcslB,KAAK,CAAE9nB,CAAF,CAAnB;AACA;AACD;;AAED,aAAOuc,OAAP;AACA,KA9Ha;AAgId;AACA2L,OAAG,EAAE,aAAUJ,KAAV,EAAiBjmB,QAAjB,EAA2BmoB,GAA3B,EAAiC;AACrC,UAAI7nB,MAAJ;AAAA,UAAYmiB,KAAZ;AAAA,UACCtkB,CAAC,GAAG,CADL;AAAA,UAEC+nB,GAAG,GAAG,EAFP,CADqC,CAKrC;;AACA,UAAKlN,WAAW,CAAEiN,KAAF,CAAhB,EAA4B;AAC3B3lB,cAAM,GAAG2lB,KAAK,CAAC3lB,MAAf;;AACA,eAAQnC,CAAC,GAAGmC,MAAZ,EAAoBnC,CAAC,EAArB,EAA0B;AACzBskB,eAAK,GAAGziB,QAAQ,CAAEimB,KAAK,CAAE9nB,CAAF,CAAP,EAAcA,CAAd,EAAiBgqB,GAAjB,CAAhB;;AAEA,cAAK1F,KAAK,IAAI,IAAd,EAAqB;AACpByD,eAAG,CAACvlB,IAAJ,CAAU8hB,KAAV;AACA;AACD,SAR0B,CAU5B;;AACC,OAXD,MAWO;AACN,aAAMtkB,CAAN,IAAW8nB,KAAX,EAAmB;AAClBxD,eAAK,GAAGziB,QAAQ,CAAEimB,KAAK,CAAE9nB,CAAF,CAAP,EAAcA,CAAd,EAAiBgqB,GAAjB,CAAhB;;AAEA,cAAK1F,KAAK,IAAI,IAAd,EAAqB;AACpByD,eAAG,CAACvlB,IAAJ,CAAU8hB,KAAV;AACA;AACD;AACD,OAzBoC,CA2BrC;;;AACA,aAAOwB,IAAI,CAAEiC,GAAF,CAAX;AACA,KA9Ja;AAgKd;AACAkC,QAAI,EAAE,CAjKQ;AAmKd;AACA;AACArJ,WAAO,EAAEA;AArKK,GAAf;;AAwKA,MAAK,OAAOsJ,MAAP,KAAkB,UAAvB,EAAoC;AACnC9P,UAAM,CAAC+D,EAAP,CAAW+L,MAAM,CAACC,QAAlB,IAA+BxE,GAAG,CAAEuE,MAAM,CAACC,QAAT,CAAlC;AACA,GA3cgF,CA6cjF;;;AACA/P,QAAM,CAAC7a,IAAP,CAAa,uEAAuE6qB,KAAvE,CAA8E,GAA9E,CAAb,EACC,UAAU/e,EAAV,EAAcwd,IAAd,EAAqB;AACpB5C,cAAU,CAAE,aAAa4C,IAAb,GAAoB,GAAtB,CAAV,GAAwCA,IAAI,CAACvF,WAAL,EAAxC;AACA,GAHF;;AAKA,WAASzI,WAAT,CAAsBF,GAAtB,EAA4B;AAE3B;AACA;AACA;AACA;AACA,QAAIxY,MAAM,GAAG,CAAC,CAACwY,GAAF,IAAS,YAAYA,GAArB,IAA4BA,GAAG,CAACxY,MAA7C;AAAA,QACCqN,IAAI,GAAG6X,MAAM,CAAE1M,GAAF,CADd;;AAGA,QAAKkG,UAAU,CAAElG,GAAF,CAAV,IAAqB4L,QAAQ,CAAE5L,GAAF,CAAlC,EAA4C;AAC3C,aAAO,KAAP;AACA;;AAED,WAAOnL,IAAI,KAAK,OAAT,IAAoBrN,MAAM,KAAK,CAA/B,IACN,OAAOA,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,GAAG,CAAvC,IAA8CA,MAAM,GAAG,CAAX,IAAkBwY,GAD/D;AAEA;;AACD,MAAI0P,MAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE,YAAU5oB,MAAV,EAAmB;AACrB,QAAIzB,CAAJ;AAAA,QACC4gB,OADD;AAAA,QAEC0J,IAFD;AAAA,QAGCC,OAHD;AAAA,QAICC,KAJD;AAAA,QAKCC,QALD;AAAA,QAMCC,OAND;AAAA,QAOCC,MAPD;AAAA,QAQCC,gBARD;AAAA,QASCC,SATD;AAAA,QAUCC,YAVD;AAAA,QAYC;AACAC,eAbD;AAAA,QAcC3pB,QAdD;AAAA,QAeC4pB,OAfD;AAAA,QAgBCC,cAhBD;AAAA,QAiBCC,SAjBD;AAAA,QAkBCC,aAlBD;AAAA,QAmBC5O,OAnBD;AAAA,QAoBC6O,QApBD;AAAA,QAsBC;AACAjC,WAAO,GAAG,WAAW,IAAI,IAAIkC,IAAJ,EAvB1B;AAAA,QAwBCC,YAAY,GAAG7pB,MAAM,CAACL,QAxBvB;AAAA,QAyBCmqB,OAAO,GAAG,CAzBX;AAAA,QA0BCxgB,IAAI,GAAG,CA1BR;AAAA,QA2BCygB,UAAU,GAAGC,WAAW,EA3BzB;AAAA,QA4BCC,UAAU,GAAGD,WAAW,EA5BzB;AAAA,QA6BCE,aAAa,GAAGF,WAAW,EA7B5B;AAAA,QA8BCG,sBAAsB,GAAGH,WAAW,EA9BrC;AAAA,QA+BCI,SAAS,GAAG,mBAAUxR,CAAV,EAAaC,CAAb,EAAiB;AAC5B,UAAKD,CAAC,KAAKC,CAAX,EAAe;AACdwQ,oBAAY,GAAG,IAAf;AACA;;AACD,aAAO,CAAP;AACA,KApCF;AAAA,QAsCC;AACA3E,UAAM,GAAK,EAAF,CAAOxU,cAvCjB;AAAA,QAwCCgU,GAAG,GAAG,EAxCP;AAAA,QAyCCmG,GAAG,GAAGnG,GAAG,CAACmG,GAzCX;AAAA,QA0CCC,UAAU,GAAGpG,GAAG,CAACnjB,IA1ClB;AAAA,QA2CCA,IAAI,GAAGmjB,GAAG,CAACnjB,IA3CZ;AAAA,QA4CCoX,KAAK,GAAG+L,GAAG,CAAC/L,KA5Cb;AAAA,QA8CC;AACA;AACAxZ,WAAO,GAAG,SAAVA,OAAU,CAAU4rB,IAAV,EAAgBjR,IAAhB,EAAuB;AAChC,UAAI/a,CAAC,GAAG,CAAR;AAAA,UACCyoB,GAAG,GAAGuD,IAAI,CAAC7pB,MADZ;;AAEA,aAAQnC,CAAC,GAAGyoB,GAAZ,EAAiBzoB,CAAC,EAAlB,EAAuB;AACtB,YAAKgsB,IAAI,CAAEhsB,CAAF,CAAJ,KAAc+a,IAAnB,EAA0B;AACzB,iBAAO/a,CAAP;AACA;AACD;;AACD,aAAO,CAAC,CAAR;AACA,KAzDF;AAAA,QA2DCisB,QAAQ,GAAG,8EACV,mDA5DF;AAAA,QA8DC;AAEA;AACAC,cAAU,GAAG,qBAjEd;AAAA,QAmEC;AACAC,cAAU,GAAG,4BAA4BD,UAA5B,GACZ,yCArEF;AAAA,QAuEC;AACA1mB,cAAU,GAAG,QAAQ0mB,UAAR,GAAqB,IAArB,GAA4BC,UAA5B,GAAyC,MAAzC,GAAkDD,UAAlD,GAEZ;AACA,mBAHY,GAGMA,UAHN,GAKZ;AACA;AACA,8DAPY,GAOiDC,UAPjD,GAO8D,MAP9D,GAQZD,UARY,GAQC,MAhFf;AAAA,QAkFCE,OAAO,GAAG,OAAOD,UAAP,GAAoB,UAApB,GAET;AACA;AACA,2DAJS,GAMT;AACA,8BAPS,GAOoB3mB,UAPpB,GAOiC,MAPjC,GAST;AACA,QAVS,GAWT,QA7FF;AAAA,QA+FC;AACA6mB,eAAW,GAAG,IAAIC,MAAJ,CAAYJ,UAAU,GAAG,GAAzB,EAA8B,GAA9B,CAhGf;AAAA,QAiGCK,KAAK,GAAG,IAAID,MAAJ,CAAY,MAAMJ,UAAN,GAAmB,6BAAnB,GACnBA,UADmB,GACN,IADN,EACY,GADZ,CAjGT;AAAA,QAoGCM,MAAM,GAAG,IAAIF,MAAJ,CAAY,MAAMJ,UAAN,GAAmB,IAAnB,GAA0BA,UAA1B,GAAuC,GAAnD,CApGV;AAAA,QAqGCO,YAAY,GAAG,IAAIH,MAAJ,CAAY,MAAMJ,UAAN,GAAmB,UAAnB,GAAgCA,UAAhC,GAA6C,GAA7C,GAAmDA,UAAnD,GAC1B,GADc,CArGhB;AAAA,QAuGCQ,QAAQ,GAAG,IAAIJ,MAAJ,CAAYJ,UAAU,GAAG,IAAzB,CAvGZ;AAAA,QAyGCS,OAAO,GAAG,IAAIL,MAAJ,CAAYF,OAAZ,CAzGX;AAAA,QA0GCQ,WAAW,GAAG,IAAIN,MAAJ,CAAY,MAAMH,UAAN,GAAmB,GAA/B,CA1Gf;AAAA,QA4GCU,SAAS,GAAG;AACX,YAAM,IAAIP,MAAJ,CAAY,QAAQH,UAAR,GAAqB,GAAjC,CADK;AAEX,eAAS,IAAIG,MAAJ,CAAY,UAAUH,UAAV,GAAuB,GAAnC,CAFE;AAGX,aAAO,IAAIG,MAAJ,CAAY,OAAOH,UAAP,GAAoB,OAAhC,CAHI;AAIX,cAAQ,IAAIG,MAAJ,CAAY,MAAM9mB,UAAlB,CAJG;AAKX,gBAAU,IAAI8mB,MAAJ,CAAY,MAAMF,OAAlB,CALC;AAMX,eAAS,IAAIE,MAAJ,CAAY,2DACpBJ,UADoB,GACP,8BADO,GAC0BA,UAD1B,GACuC,aADvC,GAEpBA,UAFoB,GAEP,YAFO,GAEQA,UAFR,GAEqB,QAFjC,EAE2C,GAF3C,CANE;AASX,cAAQ,IAAII,MAAJ,CAAY,SAASL,QAAT,GAAoB,IAAhC,EAAsC,GAAtC,CATG;AAWX;AACA;AACA,sBAAgB,IAAIK,MAAJ,CAAY,MAAMJ,UAAN,GAC3B,kDAD2B,GAC0BA,UAD1B,GAE3B,kBAF2B,GAENA,UAFM,GAEO,kBAFnB,EAEuC,GAFvC;AAbL,KA5Gb;AAAA,QA8HCY,KAAK,GAAG,QA9HT;AAAA,QA+HCC,OAAO,GAAG,qCA/HX;AAAA,QAgICC,OAAO,GAAG,QAhIX;AAAA,QAkICC,OAAO,GAAG,wBAlIX;AAAA,QAoIC;AACAC,cAAU,GAAG,kCArId;AAAA,QAuICC,QAAQ,GAAG,MAvIZ;AAAA,QAyIC;AACA;AACAC,aAAS,GAAG,IAAId,MAAJ,CAAY,yBAAyBJ,UAAzB,GAAsC,sBAAlD,EAA0E,GAA1E,CA3Ib;AAAA,QA4ICmB,SAAS,GAAG,SAAZA,SAAY,CAAUC,MAAV,EAAkBC,MAAlB,EAA2B;AACtC,UAAIC,IAAI,GAAG,OAAOF,MAAM,CAAC1T,KAAP,CAAc,CAAd,CAAP,GAA2B,OAAtC;AAEA,aAAO2T,MAAM,GAEZ;AACAA,YAHY,GAKZ;AACA;AACA;AACA;AACAC,UAAI,GAAG,CAAP,GACCC,MAAM,CAACC,YAAP,CAAqBF,IAAI,GAAG,OAA5B,CADD,GAECC,MAAM,CAACC,YAAP,CAAqBF,IAAI,IAAI,EAAR,GAAa,MAAlC,EAA0CA,IAAI,GAAG,KAAP,GAAe,MAAzD,CAXF;AAYA,KA3JF;AAAA,QA6JC;AACA;AACAG,cAAU,GAAG,qDA/Jd;AAAA,QAgKCC,UAAU,GAAG,SAAbA,UAAa,CAAUC,EAAV,EAAcC,WAAd,EAA4B;AACxC,UAAKA,WAAL,EAAmB;AAElB;AACA,YAAKD,EAAE,KAAK,IAAZ,EAAmB;AAClB,iBAAO,QAAP;AACA,SALiB,CAOlB;;;AACA,eAAOA,EAAE,CAACjU,KAAH,CAAU,CAAV,EAAa,CAAC,CAAd,IAAoB,IAApB,GACNiU,EAAE,CAACE,UAAH,CAAeF,EAAE,CAAC1rB,MAAH,GAAY,CAA3B,EAA+B+jB,QAA/B,CAAyC,EAAzC,CADM,GAC0C,GADjD;AAEA,OAXuC,CAaxC;;;AACA,aAAO,OAAO2H,EAAd;AACA,KA/KF;AAAA,QAiLC;AACA;AACA;AACA;AACAG,iBAAa,GAAG,SAAhBA,aAAgB,GAAW;AAC1BjD,iBAAW;AACX,KAvLF;AAAA,QAyLCkD,kBAAkB,GAAGC,aAAa,CACjC,UAAUnT,IAAV,EAAiB;AAChB,aAAOA,IAAI,CAACoT,QAAL,KAAkB,IAAlB,IAA0BpT,IAAI,CAACY,QAAL,CAAc2H,WAAd,OAAgC,UAAjE;AACA,KAHgC,EAIjC;AAAE8K,SAAG,EAAE,YAAP;AAAqBvX,UAAI,EAAE;AAA3B,KAJiC,CAzLnC,CADqB,CAiMrB;;;AACA,QAAI;AACHrU,UAAI,CAACmC,KAAL,CACGghB,GAAG,GAAG/L,KAAK,CAAChV,IAAN,CAAY0mB,YAAY,CAAC+C,UAAzB,CADT,EAEC/C,YAAY,CAAC+C,UAFd,EADG,CAMH;AACA;AACA;;AACA1I,SAAG,CAAE2F,YAAY,CAAC+C,UAAb,CAAwBlsB,MAA1B,CAAH,CAAsC2Z,QAAtC;AACA,KAVD,CAUE,OAAQ7c,CAAR,EAAY;AACbuD,UAAI,GAAG;AAAEmC,aAAK,EAAEghB,GAAG,CAACxjB,MAAJ,GAEf;AACA,kBAAUoH,MAAV,EAAkB+kB,GAAlB,EAAwB;AACvBvC,oBAAU,CAACpnB,KAAX,CAAkB4E,MAAlB,EAA0BqQ,KAAK,CAAChV,IAAN,CAAY0pB,GAAZ,CAA1B;AACA,SALc,GAOf;AACA;AACA,kBAAU/kB,MAAV,EAAkB+kB,GAAlB,EAAwB;AACvB,cAAI5F,CAAC,GAAGnf,MAAM,CAACpH,MAAf;AAAA,cACCnC,CAAC,GAAG,CADL,CADuB,CAIvB;;AACA,iBAAUuJ,MAAM,CAAEmf,CAAC,EAAH,CAAN,GAAgB4F,GAAG,CAAEtuB,CAAC,EAAH,CAA7B,EAAyC,CAAE;;AAC3CuJ,gBAAM,CAACpH,MAAP,GAAgBumB,CAAC,GAAG,CAApB;AACA;AAhBK,OAAP;AAkBA;;AAED,aAAS2B,MAAT,CAAiB9C,QAAjB,EAA2BpmB,OAA3B,EAAoCuoB,OAApC,EAA6C6E,IAA7C,EAAoD;AACnD,UAAIC,CAAJ;AAAA,UAAOxuB,CAAP;AAAA,UAAU+a,IAAV;AAAA,UAAgB0T,GAAhB;AAAA,UAAqBC,KAArB;AAAA,UAA4BC,MAA5B;AAAA,UAAoCC,WAApC;AAAA,UACCC,UAAU,GAAG1tB,OAAO,IAAIA,OAAO,CAAC2tB,aADjC;AAAA,UAGC;AACAhT,cAAQ,GAAG3a,OAAO,GAAGA,OAAO,CAAC2a,QAAX,GAAsB,CAJzC;AAMA4N,aAAO,GAAGA,OAAO,IAAI,EAArB,CAPmD,CASnD;;AACA,UAAK,OAAOnC,QAAP,KAAoB,QAApB,IAAgC,CAACA,QAAjC,IACJzL,QAAQ,KAAK,CAAb,IAAkBA,QAAQ,KAAK,CAA/B,IAAoCA,QAAQ,KAAK,EADlD,EACuD;AAEtD,eAAO4N,OAAP;AACA,OAdkD,CAgBnD;;;AACA,UAAK,CAAC6E,IAAN,EAAa;AACZxD,mBAAW,CAAE5pB,OAAF,CAAX;AACAA,eAAO,GAAGA,OAAO,IAAIC,QAArB;;AAEA,YAAK6pB,cAAL,EAAsB;AAErB;AACA;AACA,cAAKnP,QAAQ,KAAK,EAAb,KAAqB4S,KAAK,GAAGxB,UAAU,CAAC1Q,IAAX,CAAiB+K,QAAjB,CAA7B,CAAL,EAAkE;AAEjE;AACA,gBAAOiH,CAAC,GAAGE,KAAK,CAAE,CAAF,CAAhB,EAA0B;AAEzB;AACA,kBAAK5S,QAAQ,KAAK,CAAlB,EAAsB;AACrB,oBAAOf,IAAI,GAAG5Z,OAAO,CAAC4tB,cAAR,CAAwBP,CAAxB,CAAd,EAA8C;AAE7C;AACA;AACA;AACA,sBAAKzT,IAAI,CAAC7a,EAAL,KAAYsuB,CAAjB,EAAqB;AACpB9E,2BAAO,CAAClnB,IAAR,CAAcuY,IAAd;AACA,2BAAO2O,OAAP;AACA;AACD,iBATD,MASO;AACN,yBAAOA,OAAP;AACA,iBAZoB,CActB;;AACC,eAfD,MAeO;AAEN;AACA;AACA;AACA,oBAAKmF,UAAU,KAAM9T,IAAI,GAAG8T,UAAU,CAACE,cAAX,CAA2BP,CAA3B,CAAb,CAAV,IACJpD,QAAQ,CAAEjqB,OAAF,EAAW4Z,IAAX,CADJ,IAEJA,IAAI,CAAC7a,EAAL,KAAYsuB,CAFb,EAEiB;AAEhB9E,yBAAO,CAAClnB,IAAR,CAAcuY,IAAd;AACA,yBAAO2O,OAAP;AACA;AACD,eA9BwB,CAgC1B;;AACC,aAjCD,MAiCO,IAAKgF,KAAK,CAAE,CAAF,CAAV,EAAkB;AACxBlsB,kBAAI,CAACmC,KAAL,CAAY+kB,OAAZ,EAAqBvoB,OAAO,CAACkR,oBAAR,CAA8BkV,QAA9B,CAArB;AACA,qBAAOmC,OAAP,CAFwB,CAIzB;AACC,aALM,MAKA,IAAK,CAAE8E,CAAC,GAAGE,KAAK,CAAE,CAAF,CAAX,KAAsB9N,OAAO,CAACoO,sBAA9B,IACX7tB,OAAO,CAAC6tB,sBADF,EAC2B;AAEjCxsB,kBAAI,CAACmC,KAAL,CAAY+kB,OAAZ,EAAqBvoB,OAAO,CAAC6tB,sBAAR,CAAgCR,CAAhC,CAArB;AACA,qBAAO9E,OAAP;AACA;AACD,WAnDoB,CAqDrB;;;AACA,cAAK9I,OAAO,CAACqO,GAAR,IACJ,CAACrD,sBAAsB,CAAErE,QAAQ,GAAG,GAAb,CADnB,KAEF,CAAC2D,SAAD,IAAc,CAACA,SAAS,CAACtW,IAAV,CAAgB2S,QAAhB,CAFb,OAIJ;AACA;AACEzL,kBAAQ,KAAK,CAAb,IAAkB3a,OAAO,CAACwa,QAAR,CAAiB2H,WAAjB,OAAmC,QANnD,CAAL,EAMqE;AAEpEsL,uBAAW,GAAGrH,QAAd;AACAsH,sBAAU,GAAG1tB,OAAb,CAHoE,CAKpE;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,gBAAK2a,QAAQ,KAAK,CAAb,KACF4Q,QAAQ,CAAC9X,IAAT,CAAe2S,QAAf,KAA6BkF,YAAY,CAAC7X,IAAb,CAAmB2S,QAAnB,CAD3B,CAAL,EACkE;AAEjE;AACAsH,wBAAU,GAAG1B,QAAQ,CAACvY,IAAT,CAAe2S,QAAf,KAA6B2H,WAAW,CAAE/tB,OAAO,CAACmR,UAAV,CAAxC,IACZnR,OADD,CAHiE,CAMjE;AACA;;AACA,kBAAK0tB,UAAU,KAAK1tB,OAAf,IAA0B,CAACyf,OAAO,CAACzd,KAAxC,EAAgD;AAE/C;AACA,oBAAOsrB,GAAG,GAAGttB,OAAO,CAACmf,YAAR,CAAsB,IAAtB,CAAb,EAA8C;AAC7CmO,qBAAG,GAAGA,GAAG,CAACnrB,OAAJ,CAAaqqB,UAAb,EAAyBC,UAAzB,CAAN;AACA,iBAFD,MAEO;AACNzsB,yBAAO,CAAC+f,YAAR,CAAsB,IAAtB,EAA8BuN,GAAG,GAAGtF,OAApC;AACA;AACD,eAhBgE,CAkBjE;;;AACAwF,oBAAM,GAAGlE,QAAQ,CAAElD,QAAF,CAAjB;AACAvnB,eAAC,GAAG2uB,MAAM,CAACxsB,MAAX;;AACA,qBAAQnC,CAAC,EAAT,EAAc;AACb2uB,sBAAM,CAAE3uB,CAAF,CAAN,GAAc,CAAEyuB,GAAG,GAAG,MAAMA,GAAT,GAAe,QAApB,IAAiC,GAAjC,GACbU,UAAU,CAAER,MAAM,CAAE3uB,CAAF,CAAR,CADX;AAEA;;AACD4uB,yBAAW,GAAGD,MAAM,CAACS,IAAP,CAAa,GAAb,CAAd;AACA;;AAED,gBAAI;AACH5sB,kBAAI,CAACmC,KAAL,CAAY+kB,OAAZ,EACCmF,UAAU,CAAC1T,gBAAX,CAA6ByT,WAA7B,CADD;AAGA,qBAAOlF,OAAP;AACA,aALD,CAKE,OAAQ2F,QAAR,EAAmB;AACpBzD,oCAAsB,CAAErE,QAAF,EAAY,IAAZ,CAAtB;AACA,aAPD,SAOU;AACT,kBAAKkH,GAAG,KAAKtF,OAAb,EAAuB;AACtBhoB,uBAAO,CAACmuB,eAAR,CAAyB,IAAzB;AACA;AACD;AACD;AACD;AACD,OAxIkD,CA0InD;;;AACA,aAAO3E,MAAM,CAAEpD,QAAQ,CAACjkB,OAAT,CAAkBipB,KAAlB,EAAyB,IAAzB,CAAF,EAAmCprB,OAAnC,EAA4CuoB,OAA5C,EAAqD6E,IAArD,CAAb;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,aAAS9C,WAAT,GAAuB;AACtB,UAAI8D,IAAI,GAAG,EAAX;;AAEA,eAAS3gB,KAAT,CAAgByV,GAAhB,EAAqBC,KAArB,EAA6B;AAE5B;AACA,YAAKiL,IAAI,CAAC/sB,IAAL,CAAW6hB,GAAG,GAAG,GAAjB,IAAyBiG,IAAI,CAACkF,WAAnC,EAAiD;AAEhD;AACA,iBAAO5gB,KAAK,CAAE2gB,IAAI,CAACE,KAAL,EAAF,CAAZ;AACA;;AACD,eAAS7gB,KAAK,CAAEyV,GAAG,GAAG,GAAR,CAAL,GAAqBC,KAA9B;AACA;;AACD,aAAO1V,KAAP;AACA;AAED;AACA;AACA;AACA;;;AACA,aAAS8gB,YAAT,CAAuBvR,EAAvB,EAA4B;AAC3BA,QAAE,CAAEgL,OAAF,CAAF,GAAgB,IAAhB;AACA,aAAOhL,EAAP;AACA;AAED;AACA;AACA;AACA;;;AACA,aAASwR,MAAT,CAAiBxR,EAAjB,EAAsB;AACrB,UAAIqF,EAAE,GAAGpiB,QAAQ,CAAC4Q,aAAT,CAAwB,UAAxB,CAAT;;AAEA,UAAI;AACH,eAAO,CAAC,CAACmM,EAAE,CAAEqF,EAAF,CAAX;AACA,OAFD,CAEE,OAAQvkB,CAAR,EAAY;AACb,eAAO,KAAP;AACA,OAJD,SAIU;AAET;AACA,YAAKukB,EAAE,CAAClR,UAAR,EAAqB;AACpBkR,YAAE,CAAClR,UAAH,CAAc8U,WAAd,CAA2B5D,EAA3B;AACA,SALQ,CAOT;;;AACAA,UAAE,GAAG,IAAL;AACA;AACD;AAED;AACA;AACA;AACA;AACA;;;AACA,aAASoM,SAAT,CAAoBC,KAApB,EAA2BC,OAA3B,EAAqC;AACpC,UAAInK,GAAG,GAAGkK,KAAK,CAACzF,KAAN,CAAa,GAAb,CAAV;AAAA,UACCpqB,CAAC,GAAG2lB,GAAG,CAACxjB,MADT;;AAGA,aAAQnC,CAAC,EAAT,EAAc;AACbsqB,YAAI,CAACyF,UAAL,CAAiBpK,GAAG,CAAE3lB,CAAF,CAApB,IAA8B8vB,OAA9B;AACA;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,aAASE,YAAT,CAAuB3V,CAAvB,EAA0BC,CAA1B,EAA8B;AAC7B,UAAI2V,GAAG,GAAG3V,CAAC,IAAID,CAAf;AAAA,UACC6V,IAAI,GAAGD,GAAG,IAAI5V,CAAC,CAACyB,QAAF,KAAe,CAAtB,IAA2BxB,CAAC,CAACwB,QAAF,KAAe,CAA1C,IACNzB,CAAC,CAAC8V,WAAF,GAAgB7V,CAAC,CAAC6V,WAFpB,CAD6B,CAK7B;;AACA,UAAKD,IAAL,EAAY;AACX,eAAOA,IAAP;AACA,OAR4B,CAU7B;;;AACA,UAAKD,GAAL,EAAW;AACV,eAAUA,GAAG,GAAGA,GAAG,CAACG,WAApB,EAAoC;AACnC,cAAKH,GAAG,KAAK3V,CAAb,EAAiB;AAChB,mBAAO,CAAC,CAAR;AACA;AACD;AACD;;AAED,aAAOD,CAAC,GAAG,CAAH,GAAO,CAAC,CAAhB;AACA;AAED;AACA;AACA;AACA;;;AACA,aAASgW,iBAAT,CAA4B7gB,IAA5B,EAAmC;AAClC,aAAO,UAAUuL,IAAV,EAAiB;AACvB,YAAI8N,IAAI,GAAG9N,IAAI,CAACY,QAAL,CAAc2H,WAAd,EAAX;AACA,eAAOuF,IAAI,KAAK,OAAT,IAAoB9N,IAAI,CAACvL,IAAL,KAAcA,IAAzC;AACA,OAHD;AAIA;AAED;AACA;AACA;AACA;;;AACA,aAAS8gB,kBAAT,CAA6B9gB,IAA7B,EAAoC;AACnC,aAAO,UAAUuL,IAAV,EAAiB;AACvB,YAAI8N,IAAI,GAAG9N,IAAI,CAACY,QAAL,CAAc2H,WAAd,EAAX;AACA,eAAO,CAAEuF,IAAI,KAAK,OAAT,IAAoBA,IAAI,KAAK,QAA/B,KAA6C9N,IAAI,CAACvL,IAAL,KAAcA,IAAlE;AACA,OAHD;AAIA;AAED;AACA;AACA;AACA;;;AACA,aAAS+gB,oBAAT,CAA+BpC,QAA/B,EAA0C;AAEzC;AACA,aAAO,UAAUpT,IAAV,EAAiB;AAEvB;AACA;AACA;AACA,YAAK,UAAUA,IAAf,EAAsB;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAKA,IAAI,CAACzI,UAAL,IAAmByI,IAAI,CAACoT,QAAL,KAAkB,KAA1C,EAAkD;AAEjD;AACA,gBAAK,WAAWpT,IAAhB,EAAuB;AACtB,kBAAK,WAAWA,IAAI,CAACzI,UAArB,EAAkC;AACjC,uBAAOyI,IAAI,CAACzI,UAAL,CAAgB6b,QAAhB,KAA6BA,QAApC;AACA,eAFD,MAEO;AACN,uBAAOpT,IAAI,CAACoT,QAAL,KAAkBA,QAAzB;AACA;AACD,aATgD,CAWjD;AACA;;;AACA,mBAAOpT,IAAI,CAACyV,UAAL,KAAoBrC,QAApB,IAEN;;AACA;AACApT,gBAAI,CAACyV,UAAL,KAAoB,CAACrC,QAArB,IACAF,kBAAkB,CAAElT,IAAF,CAAlB,KAA+BoT,QALhC;AAMA;;AAED,iBAAOpT,IAAI,CAACoT,QAAL,KAAkBA,QAAzB,CA9BqB,CAgCtB;AACA;AACA;AACC,SAnCD,MAmCO,IAAK,WAAWpT,IAAhB,EAAuB;AAC7B,iBAAOA,IAAI,CAACoT,QAAL,KAAkBA,QAAzB;AACA,SA1CsB,CA4CvB;;;AACA,eAAO,KAAP;AACA,OA9CD;AA+CA;AAED;AACA;AACA;AACA;;;AACA,aAASsC,sBAAT,CAAiCtS,EAAjC,EAAsC;AACrC,aAAOuR,YAAY,CAAE,UAAUgB,QAAV,EAAqB;AACzCA,gBAAQ,GAAG,CAACA,QAAZ;AACA,eAAOhB,YAAY,CAAE,UAAUnB,IAAV,EAAgBhS,OAAhB,EAA0B;AAC9C,cAAImM,CAAJ;AAAA,cACCiI,YAAY,GAAGxS,EAAE,CAAE,EAAF,EAAMoQ,IAAI,CAACpsB,MAAX,EAAmBuuB,QAAnB,CADlB;AAAA,cAEC1wB,CAAC,GAAG2wB,YAAY,CAACxuB,MAFlB,CAD8C,CAK9C;;AACA,iBAAQnC,CAAC,EAAT,EAAc;AACb,gBAAKuuB,IAAI,CAAI7F,CAAC,GAAGiI,YAAY,CAAE3wB,CAAF,CAApB,CAAT,EAAyC;AACxCuuB,kBAAI,CAAE7F,CAAF,CAAJ,GAAY,EAAGnM,OAAO,CAAEmM,CAAF,CAAP,GAAe6F,IAAI,CAAE7F,CAAF,CAAtB,CAAZ;AACA;AACD;AACD,SAXkB,CAAnB;AAYA,OAdkB,CAAnB;AAeA;AAED;AACA;AACA;AACA;AACA;;;AACA,aAASwG,WAAT,CAAsB/tB,OAAtB,EAAgC;AAC/B,aAAOA,OAAO,IAAI,OAAOA,OAAO,CAACkR,oBAAf,KAAwC,WAAnD,IAAkElR,OAAzE;AACA,KA1jBoB,CA4jBrB;;;AACAyf,WAAO,GAAGyJ,MAAM,CAACzJ,OAAP,GAAiB,EAA3B;AAEA;AACA;AACA;AACA;AACA;;AACA4J,SAAK,GAAGH,MAAM,CAACG,KAAP,GAAe,UAAUzP,IAAV,EAAiB;AACvC,UAAI6V,SAAS,GAAG7V,IAAI,IAAIA,IAAI,CAAC8V,YAA7B;AAAA,UACC7F,OAAO,GAAGjQ,IAAI,IAAI,CAAEA,IAAI,CAAC+T,aAAL,IAAsB/T,IAAxB,EAA+B+V,eADlD,CADuC,CAIvC;AACA;AACA;;AACA,aAAO,CAAChE,KAAK,CAAClY,IAAN,CAAYgc,SAAS,IAAI5F,OAAO,IAAIA,OAAO,CAACrP,QAAhC,IAA4C,MAAxD,CAAR;AACA,KARD;AAUA;AACA;AACA;AACA;AACA;;;AACAoP,eAAW,GAAGV,MAAM,CAACU,WAAP,GAAqB,UAAUlE,IAAV,EAAiB;AACnD,UAAIkK,UAAJ;AAAA,UAAgBC,SAAhB;AAAA,UACClK,GAAG,GAAGD,IAAI,GAAGA,IAAI,CAACiI,aAAL,IAAsBjI,IAAzB,GAAgCyE,YAD3C,CADmD,CAInD;AACA;AACA;AACA;AACA;;AACA,UAAKxE,GAAG,IAAI1lB,QAAP,IAAmB0lB,GAAG,CAAChL,QAAJ,KAAiB,CAApC,IAAyC,CAACgL,GAAG,CAACgK,eAAnD,EAAqE;AACpE,eAAO1vB,QAAP;AACA,OAXkD,CAanD;;;AACAA,cAAQ,GAAG0lB,GAAX;AACAkE,aAAO,GAAG5pB,QAAQ,CAAC0vB,eAAnB;AACA7F,oBAAc,GAAG,CAACT,KAAK,CAAEppB,QAAF,CAAvB,CAhBmD,CAkBnD;AACA;AACA;AACA;AACA;AACA;;AACA,UAAKkqB,YAAY,IAAIlqB,QAAhB,KACF4vB,SAAS,GAAG5vB,QAAQ,CAAC2gB,WADnB,KACoCiP,SAAS,CAAC9d,GAAV,KAAkB8d,SAD3D,EACuE;AAEtE;AACA,YAAKA,SAAS,CAACnZ,gBAAf,EAAkC;AACjCmZ,mBAAS,CAACnZ,gBAAV,CAA4B,QAA5B,EAAsCmW,aAAtC,EAAqD,KAArD,EADiC,CAGlC;AACC,SAJD,MAIO,IAAKgD,SAAS,CAACC,WAAf,EAA6B;AACnCD,mBAAS,CAACC,WAAV,CAAuB,UAAvB,EAAmCjD,aAAnC;AACA;AACD,OAnCkD,CAqCnD;AACA;AACA;AACA;AACA;;;AACApN,aAAO,CAACzd,KAAR,GAAgBwsB,MAAM,CAAE,UAAUnM,EAAV,EAAe;AACtCwH,eAAO,CAAC7D,WAAR,CAAqB3D,EAArB,EAA0B2D,WAA1B,CAAuC/lB,QAAQ,CAAC4Q,aAAT,CAAwB,KAAxB,CAAvC;AACA,eAAO,OAAOwR,EAAE,CAACrI,gBAAV,KAA+B,WAA/B,IACN,CAACqI,EAAE,CAACrI,gBAAH,CAAqB,qBAArB,EAA6ChZ,MAD/C;AAEA,OAJqB,CAAtB;AAMA;AACD;AAEC;AACA;AACA;;AACAye,aAAO,CAACpb,UAAR,GAAqBmqB,MAAM,CAAE,UAAUnM,EAAV,EAAe;AAC3CA,UAAE,CAAC0N,SAAH,GAAe,GAAf;AACA,eAAO,CAAC1N,EAAE,CAAClD,YAAH,CAAiB,WAAjB,CAAR;AACA,OAH0B,CAA3B;AAKA;AACD;AAEC;;AACAM,aAAO,CAACvO,oBAAR,GAA+Bsd,MAAM,CAAE,UAAUnM,EAAV,EAAe;AACrDA,UAAE,CAAC2D,WAAH,CAAgB/lB,QAAQ,CAAC+vB,aAAT,CAAwB,EAAxB,CAAhB;AACA,eAAO,CAAC3N,EAAE,CAACnR,oBAAH,CAAyB,GAAzB,EAA+BlQ,MAAvC;AACA,OAHoC,CAArC,CA/DmD,CAoEnD;;AACAye,aAAO,CAACoO,sBAAR,GAAiC/B,OAAO,CAACrY,IAAR,CAAcxT,QAAQ,CAAC4tB,sBAAvB,CAAjC,CArEmD,CAuEnD;AACA;AACA;AACA;;AACApO,aAAO,CAACwQ,OAAR,GAAkBzB,MAAM,CAAE,UAAUnM,EAAV,EAAe;AACxCwH,eAAO,CAAC7D,WAAR,CAAqB3D,EAArB,EAA0BtjB,EAA1B,GAA+BipB,OAA/B;AACA,eAAO,CAAC/nB,QAAQ,CAACiwB,iBAAV,IAA+B,CAACjwB,QAAQ,CAACiwB,iBAAT,CAA4BlI,OAA5B,EAAsChnB,MAA7E;AACA,OAHuB,CAAxB,CA3EmD,CAgFnD;;AACA,UAAKye,OAAO,CAACwQ,OAAb,EAAuB;AACtB9G,YAAI,CAACjnB,MAAL,CAAa,IAAb,IAAsB,UAAUnD,EAAV,EAAe;AACpC,cAAIoxB,MAAM,GAAGpxB,EAAE,CAACoD,OAAH,CAAY8pB,SAAZ,EAAuBC,SAAvB,CAAb;AACA,iBAAO,UAAUtS,IAAV,EAAiB;AACvB,mBAAOA,IAAI,CAACuF,YAAL,CAAmB,IAAnB,MAA8BgR,MAArC;AACA,WAFD;AAGA,SALD;;AAMAhH,YAAI,CAAChrB,IAAL,CAAW,IAAX,IAAoB,UAAUY,EAAV,EAAciB,OAAd,EAAwB;AAC3C,cAAK,OAAOA,OAAO,CAAC4tB,cAAf,KAAkC,WAAlC,IAAiD9D,cAAtD,EAAuE;AACtE,gBAAIlQ,IAAI,GAAG5Z,OAAO,CAAC4tB,cAAR,CAAwB7uB,EAAxB,CAAX;AACA,mBAAO6a,IAAI,GAAG,CAAEA,IAAF,CAAH,GAAc,EAAzB;AACA;AACD,SALD;AAMA,OAbD,MAaO;AACNuP,YAAI,CAACjnB,MAAL,CAAa,IAAb,IAAuB,UAAUnD,EAAV,EAAe;AACrC,cAAIoxB,MAAM,GAAGpxB,EAAE,CAACoD,OAAH,CAAY8pB,SAAZ,EAAuBC,SAAvB,CAAb;AACA,iBAAO,UAAUtS,IAAV,EAAiB;AACvB,gBAAI8L,IAAI,GAAG,OAAO9L,IAAI,CAACwW,gBAAZ,KAAiC,WAAjC,IACVxW,IAAI,CAACwW,gBAAL,CAAuB,IAAvB,CADD;AAEA,mBAAO1K,IAAI,IAAIA,IAAI,CAACvC,KAAL,KAAegN,MAA9B;AACA,WAJD;AAKA,SAPD,CADM,CAUN;AACA;;;AACAhH,YAAI,CAAChrB,IAAL,CAAW,IAAX,IAAoB,UAAUY,EAAV,EAAciB,OAAd,EAAwB;AAC3C,cAAK,OAAOA,OAAO,CAAC4tB,cAAf,KAAkC,WAAlC,IAAiD9D,cAAtD,EAAuE;AACtE,gBAAIpE,IAAJ;AAAA,gBAAU7mB,CAAV;AAAA,gBAAa8nB,KAAb;AAAA,gBACC/M,IAAI,GAAG5Z,OAAO,CAAC4tB,cAAR,CAAwB7uB,EAAxB,CADR;;AAGA,gBAAK6a,IAAL,EAAY;AAEX;AACA8L,kBAAI,GAAG9L,IAAI,CAACwW,gBAAL,CAAuB,IAAvB,CAAP;;AACA,kBAAK1K,IAAI,IAAIA,IAAI,CAACvC,KAAL,KAAepkB,EAA5B,EAAiC;AAChC,uBAAO,CAAE6a,IAAF,CAAP;AACA,eANU,CAQX;;;AACA+M,mBAAK,GAAG3mB,OAAO,CAACkwB,iBAAR,CAA2BnxB,EAA3B,CAAR;AACAF,eAAC,GAAG,CAAJ;;AACA,qBAAU+a,IAAI,GAAG+M,KAAK,CAAE9nB,CAAC,EAAH,CAAtB,EAAkC;AACjC6mB,oBAAI,GAAG9L,IAAI,CAACwW,gBAAL,CAAuB,IAAvB,CAAP;;AACA,oBAAK1K,IAAI,IAAIA,IAAI,CAACvC,KAAL,KAAepkB,EAA5B,EAAiC;AAChC,yBAAO,CAAE6a,IAAF,CAAP;AACA;AACD;AACD;;AAED,mBAAO,EAAP;AACA;AACD,SA1BD;AA2BA,OArIkD,CAuInD;;;AACAuP,UAAI,CAAChrB,IAAL,CAAW,KAAX,IAAqBshB,OAAO,CAACvO,oBAAR,GACpB,UAAUN,GAAV,EAAe5Q,OAAf,EAAyB;AACxB,YAAK,OAAOA,OAAO,CAACkR,oBAAf,KAAwC,WAA7C,EAA2D;AAC1D,iBAAOlR,OAAO,CAACkR,oBAAR,CAA8BN,GAA9B,CAAP,CAD0D,CAG3D;AACC,SAJD,MAIO,IAAK6O,OAAO,CAACqO,GAAb,EAAmB;AACzB,iBAAO9tB,OAAO,CAACga,gBAAR,CAA0BpJ,GAA1B,CAAP;AACA;AACD,OATmB,GAWpB,UAAUA,GAAV,EAAe5Q,OAAf,EAAyB;AACxB,YAAI4Z,IAAJ;AAAA,YACCyW,GAAG,GAAG,EADP;AAAA,YAECxxB,CAAC,GAAG,CAFL;AAAA,YAIC;AACA0pB,eAAO,GAAGvoB,OAAO,CAACkR,oBAAR,CAA8BN,GAA9B,CALX,CADwB,CAQxB;;AACA,YAAKA,GAAG,KAAK,GAAb,EAAmB;AAClB,iBAAUgJ,IAAI,GAAG2O,OAAO,CAAE1pB,CAAC,EAAH,CAAxB,EAAoC;AACnC,gBAAK+a,IAAI,CAACe,QAAL,KAAkB,CAAvB,EAA2B;AAC1B0V,iBAAG,CAAChvB,IAAJ,CAAUuY,IAAV;AACA;AACD;;AAED,iBAAOyW,GAAP;AACA;;AACD,eAAO9H,OAAP;AACA,OA9BF,CAxImD,CAwKnD;;AACAY,UAAI,CAAChrB,IAAL,CAAW,OAAX,IAAuBshB,OAAO,CAACoO,sBAAR,IAAkC,UAAUkC,SAAV,EAAqB/vB,OAArB,EAA+B;AACvF,YAAK,OAAOA,OAAO,CAAC6tB,sBAAf,KAA0C,WAA1C,IAAyD/D,cAA9D,EAA+E;AAC9E,iBAAO9pB,OAAO,CAAC6tB,sBAAR,CAAgCkC,SAAhC,CAAP;AACA;AACD,OAJD;AAMA;AACD;AAEC;AAEA;;;AACA/F,mBAAa,GAAG,EAAhB,CArLmD,CAuLnD;AACA;AACA;AACA;AACA;;AACAD,eAAS,GAAG,EAAZ;;AAEA,UAAOtK,OAAO,CAACqO,GAAR,GAAchC,OAAO,CAACrY,IAAR,CAAcxT,QAAQ,CAAC+Z,gBAAvB,CAArB,EAAmE;AAElE;AACA;AACAwU,cAAM,CAAE,UAAUnM,EAAV,EAAe;AAEtB,cAAIiO,KAAJ,CAFsB,CAItB;AACA;AACA;AACA;AACA;;AACAzG,iBAAO,CAAC7D,WAAR,CAAqB3D,EAArB,EAA0BkO,SAA1B,GAAsC,YAAYvI,OAAZ,GAAsB,QAAtB,GACrC,cADqC,GACpBA,OADoB,GACV,2BADU,GAErC,wCAFD,CATsB,CAatB;AACA;AACA;AACA;;AACA,cAAK3F,EAAE,CAACrI,gBAAH,CAAqB,sBAArB,EAA8ChZ,MAAnD,EAA4D;AAC3D+oB,qBAAS,CAAC1oB,IAAV,CAAgB,WAAW0pB,UAAX,GAAwB,cAAxC;AACA,WAnBqB,CAqBtB;AACA;;;AACA,cAAK,CAAC1I,EAAE,CAACrI,gBAAH,CAAqB,YAArB,EAAoChZ,MAA1C,EAAmD;AAClD+oB,qBAAS,CAAC1oB,IAAV,CAAgB,QAAQ0pB,UAAR,GAAqB,YAArB,GAAoCD,QAApC,GAA+C,GAA/D;AACA,WAzBqB,CA2BtB;;;AACA,cAAK,CAACzI,EAAE,CAACrI,gBAAH,CAAqB,UAAUgO,OAAV,GAAoB,IAAzC,EAAgDhnB,MAAtD,EAA+D;AAC9D+oB,qBAAS,CAAC1oB,IAAV,CAAgB,IAAhB;AACA,WA9BqB,CAgCtB;AACA;AACA;AACA;AACA;;;AACAivB,eAAK,GAAGrwB,QAAQ,CAAC4Q,aAAT,CAAwB,OAAxB,CAAR;AACAyf,eAAK,CAACvQ,YAAN,CAAoB,MAApB,EAA4B,EAA5B;AACAsC,YAAE,CAAC2D,WAAH,CAAgBsK,KAAhB;;AACA,cAAK,CAACjO,EAAE,CAACrI,gBAAH,CAAqB,WAArB,EAAmChZ,MAAzC,EAAkD;AACjD+oB,qBAAS,CAAC1oB,IAAV,CAAgB,QAAQ0pB,UAAR,GAAqB,OAArB,GAA+BA,UAA/B,GAA4C,IAA5C,GACfA,UADe,GACF,cADd;AAEA,WA3CqB,CA6CtB;AACA;AACA;;;AACA,cAAK,CAAC1I,EAAE,CAACrI,gBAAH,CAAqB,UAArB,EAAkChZ,MAAxC,EAAiD;AAChD+oB,qBAAS,CAAC1oB,IAAV,CAAgB,UAAhB;AACA,WAlDqB,CAoDtB;AACA;AACA;;;AACA,cAAK,CAACghB,EAAE,CAACrI,gBAAH,CAAqB,OAAOgO,OAAP,GAAiB,IAAtC,EAA6ChnB,MAAnD,EAA4D;AAC3D+oB,qBAAS,CAAC1oB,IAAV,CAAgB,UAAhB;AACA,WAzDqB,CA2DtB;AACA;;;AACAghB,YAAE,CAACrI,gBAAH,CAAqB,MAArB;AACA+P,mBAAS,CAAC1oB,IAAV,CAAgB,aAAhB;AACA,SA/DK,CAAN;AAiEAmtB,cAAM,CAAE,UAAUnM,EAAV,EAAe;AACtBA,YAAE,CAACkO,SAAH,GAAe,wCACd,gDADD,CADsB,CAItB;AACA;;AACA,cAAID,KAAK,GAAGrwB,QAAQ,CAAC4Q,aAAT,CAAwB,OAAxB,CAAZ;AACAyf,eAAK,CAACvQ,YAAN,CAAoB,MAApB,EAA4B,QAA5B;AACAsC,YAAE,CAAC2D,WAAH,CAAgBsK,KAAhB,EAAwBvQ,YAAxB,CAAsC,MAAtC,EAA8C,GAA9C,EARsB,CAUtB;AACA;;AACA,cAAKsC,EAAE,CAACrI,gBAAH,CAAqB,UAArB,EAAkChZ,MAAvC,EAAgD;AAC/C+oB,qBAAS,CAAC1oB,IAAV,CAAgB,SAAS0pB,UAAT,GAAsB,aAAtC;AACA,WAdqB,CAgBtB;AACA;;;AACA,cAAK1I,EAAE,CAACrI,gBAAH,CAAqB,UAArB,EAAkChZ,MAAlC,KAA6C,CAAlD,EAAsD;AACrD+oB,qBAAS,CAAC1oB,IAAV,CAAgB,UAAhB,EAA4B,WAA5B;AACA,WApBqB,CAsBtB;AACA;;;AACAwoB,iBAAO,CAAC7D,WAAR,CAAqB3D,EAArB,EAA0B2K,QAA1B,GAAqC,IAArC;;AACA,cAAK3K,EAAE,CAACrI,gBAAH,CAAqB,WAArB,EAAmChZ,MAAnC,KAA8C,CAAnD,EAAuD;AACtD+oB,qBAAS,CAAC1oB,IAAV,CAAgB,UAAhB,EAA4B,WAA5B;AACA,WA3BqB,CA6BtB;AACA;;;AACAghB,YAAE,CAACrI,gBAAH,CAAqB,MAArB;AACA+P,mBAAS,CAAC1oB,IAAV,CAAgB,MAAhB;AACA,SAjCK,CAAN;AAkCA;;AAED,UAAOoe,OAAO,CAAC+Q,eAAR,GAA0B1E,OAAO,CAACrY,IAAR,CAAgB2H,OAAO,GAAGyO,OAAO,CAACzO,OAAR,IAC1DyO,OAAO,CAAC4G,qBADkD,IAE1D5G,OAAO,CAAC6G,kBAFkD,IAG1D7G,OAAO,CAAC8G,gBAHkD,IAI1D9G,OAAO,CAAC+G,iBAJwB,CAAjC,EAImC;AAElCpC,cAAM,CAAE,UAAUnM,EAAV,EAAe;AAEtB;AACA;AACA5C,iBAAO,CAACoR,iBAAR,GAA4BzV,OAAO,CAAC3X,IAAR,CAAc4e,EAAd,EAAkB,GAAlB,CAA5B,CAJsB,CAMtB;AACA;;AACAjH,iBAAO,CAAC3X,IAAR,CAAc4e,EAAd,EAAkB,WAAlB;AACA2H,uBAAa,CAAC3oB,IAAd,CAAoB,IAApB,EAA0B4pB,OAA1B;AACA,SAVK,CAAN;AAWA;;AAEDlB,eAAS,GAAGA,SAAS,CAAC/oB,MAAV,IAAoB,IAAImqB,MAAJ,CAAYpB,SAAS,CAACkE,IAAV,CAAgB,GAAhB,CAAZ,CAAhC;AACAjE,mBAAa,GAAGA,aAAa,CAAChpB,MAAd,IAAwB,IAAImqB,MAAJ,CAAYnB,aAAa,CAACiE,IAAd,CAAoB,GAApB,CAAZ,CAAxC;AAEA;AACD;;AACC2B,gBAAU,GAAG9D,OAAO,CAACrY,IAAR,CAAcoW,OAAO,CAACiH,uBAAtB,CAAb,CA/TmD,CAiUnD;AACA;AACA;;AACA7G,cAAQ,GAAG2F,UAAU,IAAI9D,OAAO,CAACrY,IAAR,CAAcoW,OAAO,CAACI,QAAtB,CAAd,GACV,UAAU/Q,CAAV,EAAaC,CAAb,EAAiB;AAChB,YAAI4X,KAAK,GAAG7X,CAAC,CAACyB,QAAF,KAAe,CAAf,GAAmBzB,CAAC,CAACyW,eAArB,GAAuCzW,CAAnD;AAAA,YACC8X,GAAG,GAAG7X,CAAC,IAAIA,CAAC,CAAChI,UADd;AAEA,eAAO+H,CAAC,KAAK8X,GAAN,IAAa,CAAC,EAAGA,GAAG,IAAIA,GAAG,CAACrW,QAAJ,KAAiB,CAAxB,KACvBoW,KAAK,CAAC9G,QAAN,GACC8G,KAAK,CAAC9G,QAAN,CAAgB+G,GAAhB,CADD,GAEC9X,CAAC,CAAC4X,uBAAF,IAA6B5X,CAAC,CAAC4X,uBAAF,CAA2BE,GAA3B,IAAmC,EAH1C,CAAH,CAArB;AAKA,OATS,GAUV,UAAU9X,CAAV,EAAaC,CAAb,EAAiB;AAChB,YAAKA,CAAL,EAAS;AACR,iBAAUA,CAAC,GAAGA,CAAC,CAAChI,UAAhB,EAA+B;AAC9B,gBAAKgI,CAAC,KAAKD,CAAX,EAAe;AACd,qBAAO,IAAP;AACA;AACD;AACD;;AACD,eAAO,KAAP;AACA,OAnBF;AAqBA;AACD;AAEC;;AACAwR,eAAS,GAAGkF,UAAU,GACtB,UAAU1W,CAAV,EAAaC,CAAb,EAAiB;AAEhB;AACA,YAAKD,CAAC,KAAKC,CAAX,EAAe;AACdwQ,sBAAY,GAAG,IAAf;AACA,iBAAO,CAAP;AACA,SANe,CAQhB;;;AACA,YAAIsH,OAAO,GAAG,CAAC/X,CAAC,CAAC4X,uBAAH,GAA6B,CAAC3X,CAAC,CAAC2X,uBAA9C;;AACA,YAAKG,OAAL,EAAe;AACd,iBAAOA,OAAP;AACA,SAZe,CAchB;AACA;AACA;AACA;AACA;;;AACAA,eAAO,GAAG,CAAE/X,CAAC,CAACyU,aAAF,IAAmBzU,CAArB,MAA8BC,CAAC,CAACwU,aAAF,IAAmBxU,CAAjD,IACTD,CAAC,CAAC4X,uBAAF,CAA2B3X,CAA3B,CADS,GAGT;AACA,SAJD,CAnBgB,CAyBhB;;AACA,YAAK8X,OAAO,GAAG,CAAV,IACF,CAACxR,OAAO,CAACyR,YAAT,IAAyB/X,CAAC,CAAC2X,uBAAF,CAA2B5X,CAA3B,MAAmC+X,OAD/D,EAC2E;AAE1E;AACA;AACA;AACA;AACA;AACA,cAAK/X,CAAC,IAAIjZ,QAAL,IAAiBiZ,CAAC,CAACyU,aAAF,IAAmBxD,YAAnB,IACrBF,QAAQ,CAAEE,YAAF,EAAgBjR,CAAhB,CADT,EAC+B;AAC9B,mBAAO,CAAC,CAAR;AACA,WAVyE,CAY1E;AACA;AACA;AACA;;;AACA,cAAKC,CAAC,IAAIlZ,QAAL,IAAiBkZ,CAAC,CAACwU,aAAF,IAAmBxD,YAAnB,IACrBF,QAAQ,CAAEE,YAAF,EAAgBhR,CAAhB,CADT,EAC+B;AAC9B,mBAAO,CAAP;AACA,WAnByE,CAqB1E;;;AACA,iBAAOuQ,SAAS,GACbzqB,OAAO,CAAEyqB,SAAF,EAAaxQ,CAAb,CAAP,GAA0Bja,OAAO,CAAEyqB,SAAF,EAAavQ,CAAb,CADpB,GAEf,CAFD;AAGA;;AAED,eAAO8X,OAAO,GAAG,CAAV,GAAc,CAAC,CAAf,GAAmB,CAA1B;AACA,OAxDqB,GAyDtB,UAAU/X,CAAV,EAAaC,CAAb,EAAiB;AAEhB;AACA,YAAKD,CAAC,KAAKC,CAAX,EAAe;AACdwQ,sBAAY,GAAG,IAAf;AACA,iBAAO,CAAP;AACA;;AAED,YAAImF,GAAJ;AAAA,YACCjwB,CAAC,GAAG,CADL;AAAA,YAECsyB,GAAG,GAAGjY,CAAC,CAAC/H,UAFT;AAAA,YAGC6f,GAAG,GAAG7X,CAAC,CAAChI,UAHT;AAAA,YAICigB,EAAE,GAAG,CAAElY,CAAF,CAJN;AAAA,YAKCmY,EAAE,GAAG,CAAElY,CAAF,CALN,CARgB,CAehB;;AACA,YAAK,CAACgY,GAAD,IAAQ,CAACH,GAAd,EAAoB;AAEnB;AACA;AACA;;AACA;AACA,iBAAO9X,CAAC,IAAIjZ,QAAL,GAAgB,CAAC,CAAjB,GACNkZ,CAAC,IAAIlZ,QAAL,GAAgB,CAAhB;AACA;AACAkxB,aAAG,GAAG,CAAC,CAAJ,GACHH,GAAG,GAAG,CAAH,GACHtH,SAAS,GACPzqB,OAAO,CAAEyqB,SAAF,EAAaxQ,CAAb,CAAP,GAA0Bja,OAAO,CAAEyqB,SAAF,EAAavQ,CAAb,CAD1B,GAET,CAPD,CANmB,CAepB;AACC,SAhBD,MAgBO,IAAKgY,GAAG,KAAKH,GAAb,EAAmB;AACzB,iBAAOnC,YAAY,CAAE3V,CAAF,EAAKC,CAAL,CAAnB;AACA,SAlCe,CAoChB;;;AACA2V,WAAG,GAAG5V,CAAN;;AACA,eAAU4V,GAAG,GAAGA,GAAG,CAAC3d,UAApB,EAAmC;AAClCigB,YAAE,CAACE,OAAH,CAAYxC,GAAZ;AACA;;AACDA,WAAG,GAAG3V,CAAN;;AACA,eAAU2V,GAAG,GAAGA,GAAG,CAAC3d,UAApB,EAAmC;AAClCkgB,YAAE,CAACC,OAAH,CAAYxC,GAAZ;AACA,SA5Ce,CA8ChB;;;AACA,eAAQsC,EAAE,CAAEvyB,CAAF,CAAF,KAAYwyB,EAAE,CAAExyB,CAAF,CAAtB,EAA8B;AAC7BA,WAAC;AACD;;AAED,eAAOA,CAAC,GAEP;AACAgwB,oBAAY,CAAEuC,EAAE,CAAEvyB,CAAF,CAAJ,EAAWwyB,EAAE,CAAExyB,CAAF,CAAb,CAHL,GAKP;AACA;AACA;AACA;;AACA;AACAuyB,UAAE,CAAEvyB,CAAF,CAAF,IAAWsrB,YAAX,GAA0B,CAAC,CAA3B,GACAkH,EAAE,CAAExyB,CAAF,CAAF,IAAWsrB,YAAX,GAA0B,CAA1B;AACA;AACA,SAbD;AAcA,OA1HD;AA4HA,aAAOlqB,QAAP;AACA,KA1dD;;AA4dAipB,UAAM,CAAC9N,OAAP,GAAiB,UAAU+I,IAAV,EAAgBlK,QAAhB,EAA2B;AAC3C,aAAOiP,MAAM,CAAE/E,IAAF,EAAQ,IAAR,EAAc,IAAd,EAAoBlK,QAApB,CAAb;AACA,KAFD;;AAIAiP,UAAM,CAACsH,eAAP,GAAyB,UAAU5W,IAAV,EAAgBuK,IAAhB,EAAuB;AAC/CyF,iBAAW,CAAEhQ,IAAF,CAAX;;AAEA,UAAK6F,OAAO,CAAC+Q,eAAR,IAA2B1G,cAA3B,IACJ,CAACW,sBAAsB,CAAEtG,IAAI,GAAG,GAAT,CADnB,KAEF,CAAC6F,aAAD,IAAkB,CAACA,aAAa,CAACvW,IAAd,CAAoB0Q,IAApB,CAFjB,MAGF,CAAC4F,SAAD,IAAkB,CAACA,SAAS,CAACtW,IAAV,CAAgB0Q,IAAhB,CAHjB,CAAL,EAGiD;AAEhD,YAAI;AACH,cAAIyC,GAAG,GAAGxL,OAAO,CAAC3X,IAAR,CAAcmW,IAAd,EAAoBuK,IAApB,CAAV,CADG,CAGH;;AACA,cAAKyC,GAAG,IAAInH,OAAO,CAACoR,iBAAf,IAEJ;AACA;AACAjX,cAAI,CAAC3Z,QAAL,IAAiB2Z,IAAI,CAAC3Z,QAAL,CAAc0a,QAAd,KAA2B,EAJ7C,EAIkD;AACjD,mBAAOiM,GAAP;AACA;AACD,SAXD,CAWE,OAAQ9oB,CAAR,EAAY;AACb2sB,gCAAsB,CAAEtG,IAAF,EAAQ,IAAR,CAAtB;AACA;AACD;;AAED,aAAO+E,MAAM,CAAE/E,IAAF,EAAQlkB,QAAR,EAAkB,IAAlB,EAAwB,CAAE2Z,IAAF,CAAxB,CAAN,CAAyC5Y,MAAzC,GAAkD,CAAzD;AACA,KAzBD;;AA2BAkoB,UAAM,CAACe,QAAP,GAAkB,UAAUjqB,OAAV,EAAmB4Z,IAAnB,EAA0B;AAE3C;AACA;AACA;AACA;AACA;AACA,UAAK,CAAE5Z,OAAO,CAAC2tB,aAAR,IAAyB3tB,OAA3B,KAAwCC,QAA7C,EAAwD;AACvD2pB,mBAAW,CAAE5pB,OAAF,CAAX;AACA;;AACD,aAAOiqB,QAAQ,CAAEjqB,OAAF,EAAW4Z,IAAX,CAAf;AACA,KAXD;;AAaAsP,UAAM,CAAC/pB,IAAP,GAAc,UAAUya,IAAV,EAAgB8N,IAAhB,EAAuB;AAEpC;AACA;AACA;AACA;AACA;AACA,UAAK,CAAE9N,IAAI,CAAC+T,aAAL,IAAsB/T,IAAxB,KAAkC3Z,QAAvC,EAAkD;AACjD2pB,mBAAW,CAAEhQ,IAAF,CAAX;AACA;;AAED,UAAIoD,EAAE,GAAGmM,IAAI,CAACyF,UAAL,CAAiBlH,IAAI,CAACvF,WAAL,EAAjB,CAAT;AAAA,UAEC;AACAyD,SAAG,GAAG5I,EAAE,IAAIgI,MAAM,CAACvhB,IAAP,CAAa0lB,IAAI,CAACyF,UAAlB,EAA8BlH,IAAI,CAACvF,WAAL,EAA9B,CAAN,GACLnF,EAAE,CAAEpD,IAAF,EAAQ8N,IAAR,EAAc,CAACoC,cAAf,CADG,GAELvnB,SALF;AAOA,aAAOqjB,GAAG,KAAKrjB,SAAR,GACNqjB,GADM,GAENnG,OAAO,CAACpb,UAAR,IAAsB,CAACylB,cAAvB,GACClQ,IAAI,CAACuF,YAAL,CAAmBuI,IAAnB,CADD,GAEC,CAAE9B,GAAG,GAAGhM,IAAI,CAACwW,gBAAL,CAAuB1I,IAAvB,CAAR,KAA2C9B,GAAG,CAAC2L,SAA/C,GACC3L,GAAG,CAACzC,KADL,GAEC,IANH;AAOA,KAzBD;;AA2BA+F,UAAM,CAACiD,MAAP,GAAgB,UAAUqF,GAAV,EAAgB;AAC/B,aAAO,CAAEA,GAAG,GAAG,EAAR,EAAarvB,OAAb,CAAsBqqB,UAAtB,EAAkCC,UAAlC,CAAP;AACA,KAFD;;AAIAvD,UAAM,CAACnmB,KAAP,GAAe,UAAUolB,GAAV,EAAgB;AAC9B,YAAM,IAAInX,KAAJ,CAAW,4CAA4CmX,GAAvD,CAAN;AACA,KAFD;AAIA;AACA;AACA;AACA;;;AACAe,UAAM,CAACuI,UAAP,GAAoB,UAAUlJ,OAAV,EAAoB;AACvC,UAAI3O,IAAJ;AAAA,UACC8X,UAAU,GAAG,EADd;AAAA,UAECnK,CAAC,GAAG,CAFL;AAAA,UAGC1oB,CAAC,GAAG,CAHL,CADuC,CAMvC;;AACA8qB,kBAAY,GAAG,CAAClK,OAAO,CAACkS,gBAAxB;AACAjI,eAAS,GAAG,CAACjK,OAAO,CAACmS,UAAT,IAAuBrJ,OAAO,CAAC9P,KAAR,CAAe,CAAf,CAAnC;AACA8P,aAAO,CAACd,IAAR,CAAciD,SAAd;;AAEA,UAAKf,YAAL,EAAoB;AACnB,eAAU/P,IAAI,GAAG2O,OAAO,CAAE1pB,CAAC,EAAH,CAAxB,EAAoC;AACnC,cAAK+a,IAAI,KAAK2O,OAAO,CAAE1pB,CAAF,CAArB,EAA6B;AAC5B0oB,aAAC,GAAGmK,UAAU,CAACrwB,IAAX,CAAiBxC,CAAjB,CAAJ;AACA;AACD;;AACD,eAAQ0oB,CAAC,EAAT,EAAc;AACbgB,iBAAO,CAACjQ,MAAR,CAAgBoZ,UAAU,CAAEnK,CAAF,CAA1B,EAAiC,CAAjC;AACA;AACD,OApBsC,CAsBvC;AACA;;;AACAmC,eAAS,GAAG,IAAZ;AAEA,aAAOnB,OAAP;AACA,KA3BD;AA6BA;AACA;AACA;AACA;;;AACAa,WAAO,GAAGF,MAAM,CAACE,OAAP,GAAiB,UAAUxP,IAAV,EAAiB;AAC3C,UAAI8L,IAAJ;AAAA,UACCkB,GAAG,GAAG,EADP;AAAA,UAEC/nB,CAAC,GAAG,CAFL;AAAA,UAGC8b,QAAQ,GAAGf,IAAI,CAACe,QAHjB;;AAKA,UAAK,CAACA,QAAN,EAAiB;AAEhB;AACA,eAAU+K,IAAI,GAAG9L,IAAI,CAAE/a,CAAC,EAAH,CAArB,EAAiC;AAEhC;AACA+nB,aAAG,IAAIwC,OAAO,CAAE1D,IAAF,CAAd;AACA;AACD,OARD,MAQO,IAAK/K,QAAQ,KAAK,CAAb,IAAkBA,QAAQ,KAAK,CAA/B,IAAoCA,QAAQ,KAAK,EAAtD,EAA2D;AAEjE;AACA;AACA,YAAK,OAAOf,IAAI,CAACiY,WAAZ,KAA4B,QAAjC,EAA4C;AAC3C,iBAAOjY,IAAI,CAACiY,WAAZ;AACA,SAFD,MAEO;AAEN;AACA,eAAMjY,IAAI,GAAGA,IAAI,CAACkY,UAAlB,EAA8BlY,IAA9B,EAAoCA,IAAI,GAAGA,IAAI,CAACqV,WAAhD,EAA8D;AAC7DrI,eAAG,IAAIwC,OAAO,CAAExP,IAAF,CAAd;AACA;AACD;AACD,OAbM,MAaA,IAAKe,QAAQ,KAAK,CAAb,IAAkBA,QAAQ,KAAK,CAApC,EAAwC;AAC9C,eAAOf,IAAI,CAACmY,SAAZ;AACA,OA7B0C,CA+B3C;;;AAEA,aAAOnL,GAAP;AACA,KAlCD;;AAoCAuC,QAAI,GAAGD,MAAM,CAACtnB,SAAP,GAAmB;AAEzB;AACAysB,iBAAW,EAAE,EAHY;AAKzBhK,kBAAY,EAAEkK,YALW;AAOzBhB,WAAK,EAAE7B,SAPkB;AASzBkD,gBAAU,EAAE,EATa;AAWzBzwB,UAAI,EAAE,EAXmB;AAazB6zB,cAAQ,EAAE;AACT,aAAK;AAAE/E,aAAG,EAAE,YAAP;AAAqB/tB,eAAK,EAAE;AAA5B,SADI;AAET,aAAK;AAAE+tB,aAAG,EAAE;AAAP,SAFI;AAGT,aAAK;AAAEA,aAAG,EAAE,iBAAP;AAA0B/tB,eAAK,EAAE;AAAjC,SAHI;AAIT,aAAK;AAAE+tB,aAAG,EAAE;AAAP;AAJI,OAbe;AAoBzBgF,eAAS,EAAE;AACV,gBAAQ,cAAU1E,KAAV,EAAkB;AACzBA,eAAK,CAAE,CAAF,CAAL,GAAaA,KAAK,CAAE,CAAF,CAAL,CAAWprB,OAAX,CAAoB8pB,SAApB,EAA+BC,SAA/B,CAAb,CADyB,CAGzB;;AACAqB,eAAK,CAAE,CAAF,CAAL,GAAa,CAAEA,KAAK,CAAE,CAAF,CAAL,IAAcA,KAAK,CAAE,CAAF,CAAnB,IACdA,KAAK,CAAE,CAAF,CADS,IACA,EADF,EACOprB,OADP,CACgB8pB,SADhB,EAC2BC,SAD3B,CAAb;;AAGA,cAAKqB,KAAK,CAAE,CAAF,CAAL,KAAe,IAApB,EAA2B;AAC1BA,iBAAK,CAAE,CAAF,CAAL,GAAa,MAAMA,KAAK,CAAE,CAAF,CAAX,GAAmB,GAAhC;AACA;;AAED,iBAAOA,KAAK,CAAC9U,KAAN,CAAa,CAAb,EAAgB,CAAhB,CAAP;AACA,SAbS;AAeV,iBAAS,eAAU8U,KAAV,EAAkB;AAE1B;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACGA,eAAK,CAAE,CAAF,CAAL,GAAaA,KAAK,CAAE,CAAF,CAAL,CAAWpL,WAAX,EAAb;;AAEA,cAAKoL,KAAK,CAAE,CAAF,CAAL,CAAW9U,KAAX,CAAkB,CAAlB,EAAqB,CAArB,MAA6B,KAAlC,EAA0C;AAEzC;AACA,gBAAK,CAAC8U,KAAK,CAAE,CAAF,CAAX,EAAmB;AAClBrE,oBAAM,CAACnmB,KAAP,CAAcwqB,KAAK,CAAE,CAAF,CAAnB;AACA,aALwC,CAOzC;AACA;;;AACAA,iBAAK,CAAE,CAAF,CAAL,GAAa,EAAGA,KAAK,CAAE,CAAF,CAAL,GACfA,KAAK,CAAE,CAAF,CAAL,IAAeA,KAAK,CAAE,CAAF,CAAL,IAAc,CAA7B,CADe,GAEf,KAAMA,KAAK,CAAE,CAAF,CAAL,KAAe,MAAf,IAAyBA,KAAK,CAAE,CAAF,CAAL,KAAe,KAA9C,CAFY,CAAb;AAGAA,iBAAK,CAAE,CAAF,CAAL,GAAa,EAAKA,KAAK,CAAE,CAAF,CAAL,GAAaA,KAAK,CAAE,CAAF,CAApB,IAA+BA,KAAK,CAAE,CAAF,CAAL,KAAe,KAAjD,CAAb,CAZyC,CAczC;AACA,WAfD,MAeO,IAAKA,KAAK,CAAE,CAAF,CAAV,EAAkB;AACxBrE,kBAAM,CAACnmB,KAAP,CAAcwqB,KAAK,CAAE,CAAF,CAAnB;AACA;;AAED,iBAAOA,KAAP;AACA,SAjDS;AAmDV,kBAAU,gBAAUA,KAAV,EAAkB;AAC3B,cAAI2E,MAAJ;AAAA,cACCC,QAAQ,GAAG,CAAC5E,KAAK,CAAE,CAAF,CAAN,IAAeA,KAAK,CAAE,CAAF,CADhC;;AAGA,cAAK7B,SAAS,CAAE,OAAF,CAAT,CAAqBjY,IAArB,CAA2B8Z,KAAK,CAAE,CAAF,CAAhC,CAAL,EAA+C;AAC9C,mBAAO,IAAP;AACA,WAN0B,CAQ3B;;;AACA,cAAKA,KAAK,CAAE,CAAF,CAAV,EAAkB;AACjBA,iBAAK,CAAE,CAAF,CAAL,GAAaA,KAAK,CAAE,CAAF,CAAL,IAAcA,KAAK,CAAE,CAAF,CAAnB,IAA4B,EAAzC,CADiB,CAGlB;AACC,WAJD,MAIO,IAAK4E,QAAQ,IAAI3G,OAAO,CAAC/X,IAAR,CAAc0e,QAAd,CAAZ,MAEX;AACED,gBAAM,GAAG5I,QAAQ,CAAE6I,QAAF,EAAY,IAAZ,CAHR,OAKX;AACED,gBAAM,GAAGC,QAAQ,CAAClzB,OAAT,CAAkB,GAAlB,EAAuBkzB,QAAQ,CAACnxB,MAAT,GAAkBkxB,MAAzC,IAAoDC,QAAQ,CAACnxB,MAN7D,CAAL,EAM6E;AAEnF;AACAusB,iBAAK,CAAE,CAAF,CAAL,GAAaA,KAAK,CAAE,CAAF,CAAL,CAAW9U,KAAX,CAAkB,CAAlB,EAAqByZ,MAArB,CAAb;AACA3E,iBAAK,CAAE,CAAF,CAAL,GAAa4E,QAAQ,CAAC1Z,KAAT,CAAgB,CAAhB,EAAmByZ,MAAnB,CAAb;AACA,WAxB0B,CA0B3B;;;AACA,iBAAO3E,KAAK,CAAC9U,KAAN,CAAa,CAAb,EAAgB,CAAhB,CAAP;AACA;AA/ES,OApBc;AAsGzBvW,YAAM,EAAE;AAEP,eAAO,aAAUkwB,gBAAV,EAA6B;AACnC,cAAI5X,QAAQ,GAAG4X,gBAAgB,CAACjwB,OAAjB,CAA0B8pB,SAA1B,EAAqCC,SAArC,EAAiD/J,WAAjD,EAAf;AACA,iBAAOiQ,gBAAgB,KAAK,GAArB,GACN,YAAW;AACV,mBAAO,IAAP;AACA,WAHK,GAIN,UAAUxY,IAAV,EAAiB;AAChB,mBAAOA,IAAI,CAACY,QAAL,IAAiBZ,IAAI,CAACY,QAAL,CAAc2H,WAAd,OAAgC3H,QAAxD;AACA,WANF;AAOA,SAXM;AAaP,iBAAS,eAAUuV,SAAV,EAAsB;AAC9B,cAAIsC,OAAO,GAAGhI,UAAU,CAAE0F,SAAS,GAAG,GAAd,CAAxB;AAEA,iBAAOsC,OAAO,IACb,CAAEA,OAAO,GAAG,IAAIlH,MAAJ,CAAY,QAAQJ,UAAR,GACvB,GADuB,GACjBgF,SADiB,GACL,GADK,GACChF,UADD,GACc,KAD1B,CAAZ,KACmDV,UAAU,CAC3D0F,SAD2D,EAChD,UAAUnW,IAAV,EAAiB;AAC3B,mBAAOyY,OAAO,CAAC5e,IAAR,CACN,OAAOmG,IAAI,CAACmW,SAAZ,KAA0B,QAA1B,IAAsCnW,IAAI,CAACmW,SAA3C,IACA,OAAOnW,IAAI,CAACuF,YAAZ,KAA6B,WAA7B,IACCvF,IAAI,CAACuF,YAAL,CAAmB,OAAnB,CAFD,IAGA,EAJM,CAAP;AAMF,WAR4D,CAF9D;AAWA,SA3BM;AA6BP,gBAAQ,cAAUuI,IAAV,EAAgB4K,QAAhB,EAA0BlY,KAA1B,EAAkC;AACzC,iBAAO,UAAUR,IAAV,EAAiB;AACvB,gBAAI2Y,MAAM,GAAGrJ,MAAM,CAAC/pB,IAAP,CAAaya,IAAb,EAAmB8N,IAAnB,CAAb;;AAEA,gBAAK6K,MAAM,IAAI,IAAf,EAAsB;AACrB,qBAAOD,QAAQ,KAAK,IAApB;AACA;;AACD,gBAAK,CAACA,QAAN,EAAiB;AAChB,qBAAO,IAAP;AACA;;AAEDC,kBAAM,IAAI,EAAV;AAEA;;AAEA,mBAAOD,QAAQ,KAAK,GAAb,GAAmBC,MAAM,KAAKnY,KAA9B,GACNkY,QAAQ,KAAK,IAAb,GAAoBC,MAAM,KAAKnY,KAA/B,GACAkY,QAAQ,KAAK,IAAb,GAAoBlY,KAAK,IAAImY,MAAM,CAACtzB,OAAP,CAAgBmb,KAAhB,MAA4B,CAAzD,GACAkY,QAAQ,KAAK,IAAb,GAAoBlY,KAAK,IAAImY,MAAM,CAACtzB,OAAP,CAAgBmb,KAAhB,IAA0B,CAAC,CAAxD,GACAkY,QAAQ,KAAK,IAAb,GAAoBlY,KAAK,IAAImY,MAAM,CAAC9Z,KAAP,CAAc,CAAC2B,KAAK,CAACpZ,MAArB,MAAkCoZ,KAA/D,GACAkY,QAAQ,KAAK,IAAb,GAAoB,CAAE,MAAMC,MAAM,CAACpwB,OAAP,CAAgB+oB,WAAhB,EAA6B,GAA7B,CAAN,GAA2C,GAA7C,EAAmDjsB,OAAnD,CAA4Dmb,KAA5D,IAAsE,CAAC,CAA3F,GACAkY,QAAQ,KAAK,IAAb,GAAoBC,MAAM,KAAKnY,KAAX,IAAoBmY,MAAM,CAAC9Z,KAAP,CAAc,CAAd,EAAiB2B,KAAK,CAACpZ,MAAN,GAAe,CAAhC,MAAwCoZ,KAAK,GAAG,GAAxF,GACA,KAPD;AAQA;AAEA,WAxBD;AAyBA,SAvDM;AAyDP,iBAAS,eAAU/L,IAAV,EAAgBmkB,IAAhB,EAAsBC,SAAtB,EAAiCvzB,KAAjC,EAAwC+nB,IAAxC,EAA+C;AACvD,cAAIyL,MAAM,GAAGrkB,IAAI,CAACoK,KAAL,CAAY,CAAZ,EAAe,CAAf,MAAuB,KAApC;AAAA,cACCka,OAAO,GAAGtkB,IAAI,CAACoK,KAAL,CAAY,CAAC,CAAb,MAAqB,MADhC;AAAA,cAECma,MAAM,GAAGJ,IAAI,KAAK,SAFnB;AAIA,iBAAOtzB,KAAK,KAAK,CAAV,IAAe+nB,IAAI,KAAK,CAAxB,GAEN;AACA,oBAAUrN,IAAV,EAAiB;AAChB,mBAAO,CAAC,CAACA,IAAI,CAACzI,UAAd;AACA,WALK,GAON,UAAUyI,IAAV,EAAgBiZ,QAAhB,EAA0BC,GAA1B,EAAgC;AAC/B,gBAAIrlB,KAAJ;AAAA,gBAAWslB,WAAX;AAAA,gBAAwBC,UAAxB;AAAA,gBAAoCtN,IAApC;AAAA,gBAA0CuN,SAA1C;AAAA,gBAAqD3T,KAArD;AAAA,gBACC2N,GAAG,GAAGyF,MAAM,KAAKC,OAAX,GAAqB,aAArB,GAAqC,iBAD5C;AAAA,gBAEC5yB,MAAM,GAAG6Z,IAAI,CAACzI,UAFf;AAAA,gBAGCuW,IAAI,GAAGkL,MAAM,IAAIhZ,IAAI,CAACY,QAAL,CAAc2H,WAAd,EAHlB;AAAA,gBAIC+Q,QAAQ,GAAG,CAACJ,GAAD,IAAQ,CAACF,MAJrB;AAAA,gBAKC7D,IAAI,GAAG,KALR;;AAOA,gBAAKhvB,MAAL,EAAc;AAEb;AACA,kBAAK2yB,MAAL,EAAc;AACb,uBAAQzF,GAAR,EAAc;AACbvH,sBAAI,GAAG9L,IAAP;;AACA,yBAAU8L,IAAI,GAAGA,IAAI,CAAEuH,GAAF,CAArB,EAAiC;AAChC,wBAAK2F,MAAM,GACVlN,IAAI,CAAClL,QAAL,CAAc2H,WAAd,OAAgCuF,IADtB,GAEVhC,IAAI,CAAC/K,QAAL,KAAkB,CAFnB,EAEuB;AAEtB,6BAAO,KAAP;AACA;AACD,mBATY,CAWb;;;AACA2E,uBAAK,GAAG2N,GAAG,GAAG5e,IAAI,KAAK,MAAT,IAAmB,CAACiR,KAApB,IAA6B,aAA3C;AACA;;AACD,uBAAO,IAAP;AACA;;AAEDA,mBAAK,GAAG,CAAEqT,OAAO,GAAG5yB,MAAM,CAAC+xB,UAAV,GAAuB/xB,MAAM,CAACozB,SAAvC,CAAR,CArBa,CAuBb;;AACA,kBAAKR,OAAO,IAAIO,QAAhB,EAA2B;AAE1B;AAEA;AACAxN,oBAAI,GAAG3lB,MAAP;AACAizB,0BAAU,GAAGtN,IAAI,CAAEsC,OAAF,CAAJ,KAAqBtC,IAAI,CAAEsC,OAAF,CAAJ,GAAkB,EAAvC,CAAb,CAN0B,CAQ1B;AACA;;AACA+K,2BAAW,GAAGC,UAAU,CAAEtN,IAAI,CAAC0N,QAAP,CAAV,KACXJ,UAAU,CAAEtN,IAAI,CAAC0N,QAAP,CAAV,GAA8B,EADnB,CAAd;AAGA3lB,qBAAK,GAAGslB,WAAW,CAAE1kB,IAAF,CAAX,IAAuB,EAA/B;AACA4kB,yBAAS,GAAGxlB,KAAK,CAAE,CAAF,CAAL,KAAe2c,OAAf,IAA0B3c,KAAK,CAAE,CAAF,CAA3C;AACAshB,oBAAI,GAAGkE,SAAS,IAAIxlB,KAAK,CAAE,CAAF,CAAzB;AACAiY,oBAAI,GAAGuN,SAAS,IAAIlzB,MAAM,CAACmtB,UAAP,CAAmB+F,SAAnB,CAApB;;AAEA,uBAAUvN,IAAI,GAAG,EAAEuN,SAAF,IAAevN,IAAf,IAAuBA,IAAI,CAAEuH,GAAF,CAA3B,MAEhB;AACE8B,oBAAI,GAAGkE,SAAS,GAAG,CAHL,KAGY3T,KAAK,CAACqL,GAAN,EAH7B,EAG6C;AAE5C;AACA,sBAAKjF,IAAI,CAAC/K,QAAL,KAAkB,CAAlB,IAAuB,EAAEoU,IAAzB,IAAiCrJ,IAAI,KAAK9L,IAA/C,EAAsD;AACrDmZ,+BAAW,CAAE1kB,IAAF,CAAX,GAAsB,CAAE+b,OAAF,EAAW6I,SAAX,EAAsBlE,IAAtB,CAAtB;AACA;AACA;AACD;AAED,eA9BD,MA8BO;AAEN;AACA,oBAAKmE,QAAL,EAAgB;AAEf;AACAxN,sBAAI,GAAG9L,IAAP;AACAoZ,4BAAU,GAAGtN,IAAI,CAAEsC,OAAF,CAAJ,KAAqBtC,IAAI,CAAEsC,OAAF,CAAJ,GAAkB,EAAvC,CAAb,CAJe,CAMf;AACA;;AACA+K,6BAAW,GAAGC,UAAU,CAAEtN,IAAI,CAAC0N,QAAP,CAAV,KACXJ,UAAU,CAAEtN,IAAI,CAAC0N,QAAP,CAAV,GAA8B,EADnB,CAAd;AAGA3lB,uBAAK,GAAGslB,WAAW,CAAE1kB,IAAF,CAAX,IAAuB,EAA/B;AACA4kB,2BAAS,GAAGxlB,KAAK,CAAE,CAAF,CAAL,KAAe2c,OAAf,IAA0B3c,KAAK,CAAE,CAAF,CAA3C;AACAshB,sBAAI,GAAGkE,SAAP;AACA,iBAjBK,CAmBN;AACA;;;AACA,oBAAKlE,IAAI,KAAK,KAAd,EAAsB;AAErB;AACA,yBAAUrJ,IAAI,GAAG,EAAEuN,SAAF,IAAevN,IAAf,IAAuBA,IAAI,CAAEuH,GAAF,CAA3B,KACd8B,IAAI,GAAGkE,SAAS,GAAG,CADL,KACY3T,KAAK,CAACqL,GAAN,EAD7B,EAC6C;AAE5C,wBAAK,CAAEiI,MAAM,GACZlN,IAAI,CAAClL,QAAL,CAAc2H,WAAd,OAAgCuF,IADpB,GAEZhC,IAAI,CAAC/K,QAAL,KAAkB,CAFd,KAGJ,EAAEoU,IAHH,EAGU;AAET;AACA,0BAAKmE,QAAL,EAAgB;AACfF,kCAAU,GAAGtN,IAAI,CAAEsC,OAAF,CAAJ,KACVtC,IAAI,CAAEsC,OAAF,CAAJ,GAAkB,EADR,CAAb,CADe,CAIf;AACA;;AACA+K,mCAAW,GAAGC,UAAU,CAAEtN,IAAI,CAAC0N,QAAP,CAAV,KACXJ,UAAU,CAAEtN,IAAI,CAAC0N,QAAP,CAAV,GAA8B,EADnB,CAAd;AAGAL,mCAAW,CAAE1kB,IAAF,CAAX,GAAsB,CAAE+b,OAAF,EAAW2E,IAAX,CAAtB;AACA;;AAED,0BAAKrJ,IAAI,KAAK9L,IAAd,EAAqB;AACpB;AACA;AACD;AACD;AACD;AACD,eAzGY,CA2Gb;;;AACAmV,kBAAI,IAAI9H,IAAR;AACA,qBAAO8H,IAAI,KAAK7vB,KAAT,IAAoB6vB,IAAI,GAAG7vB,KAAP,KAAiB,CAAjB,IAAsB6vB,IAAI,GAAG7vB,KAAP,IAAgB,CAAjE;AACA;AACD,WA9HF;AA+HA,SA7LM;AA+LP,kBAAU,gBAAUm0B,MAAV,EAAkB9D,QAAlB,EAA6B;AAEtC;AACA;AACA;AACA;AACA,cAAI/W,IAAJ;AAAA,cACCwE,EAAE,GAAGmM,IAAI,CAAC8B,OAAL,CAAcoI,MAAd,KAA0BlK,IAAI,CAACmK,UAAL,CAAiBD,MAAM,CAAClR,WAAP,EAAjB,CAA1B,IACJ+G,MAAM,CAACnmB,KAAP,CAAc,yBAAyBswB,MAAvC,CAFF,CANsC,CAUtC;AACA;AACA;;AACA,cAAKrW,EAAE,CAAEgL,OAAF,CAAP,EAAqB;AACpB,mBAAOhL,EAAE,CAAEuS,QAAF,CAAT;AACA,WAfqC,CAiBtC;;;AACA,cAAKvS,EAAE,CAAChc,MAAH,GAAY,CAAjB,EAAqB;AACpBwX,gBAAI,GAAG,CAAE6a,MAAF,EAAUA,MAAV,EAAkB,EAAlB,EAAsB9D,QAAtB,CAAP;AACA,mBAAOpG,IAAI,CAACmK,UAAL,CAAgB9iB,cAAhB,CAAgC6iB,MAAM,CAAClR,WAAP,EAAhC,IACNoM,YAAY,CAAE,UAAUnB,IAAV,EAAgBhS,OAAhB,EAA0B;AACvC,kBAAImY,GAAJ;AAAA,kBACCC,OAAO,GAAGxW,EAAE,CAAEoQ,IAAF,EAAQmC,QAAR,CADb;AAAA,kBAEC1wB,CAAC,GAAG20B,OAAO,CAACxyB,MAFb;;AAGA,qBAAQnC,CAAC,EAAT,EAAc;AACb00B,mBAAG,GAAGt0B,OAAO,CAAEmuB,IAAF,EAAQoG,OAAO,CAAE30B,CAAF,CAAf,CAAb;AACAuuB,oBAAI,CAAEmG,GAAF,CAAJ,GAAc,EAAGnY,OAAO,CAAEmY,GAAF,CAAP,GAAiBC,OAAO,CAAE30B,CAAF,CAA3B,CAAd;AACA;AACD,aARW,CADN,GAUN,UAAU+a,IAAV,EAAiB;AAChB,qBAAOoD,EAAE,CAAEpD,IAAF,EAAQ,CAAR,EAAWpB,IAAX,CAAT;AACA,aAZF;AAaA;;AAED,iBAAOwE,EAAP;AACA;AAnOM,OAtGiB;AA4UzBiO,aAAO,EAAE;AAER;AACA,eAAOsD,YAAY,CAAE,UAAUnI,QAAV,EAAqB;AAEzC;AACA;AACA;AACA,cAAIkK,KAAK,GAAG,EAAZ;AAAA,cACC/H,OAAO,GAAG,EADX;AAAA,cAECkL,OAAO,GAAGlK,OAAO,CAAEnD,QAAQ,CAACjkB,OAAT,CAAkBipB,KAAlB,EAAyB,IAAzB,CAAF,CAFlB;AAIA,iBAAOqI,OAAO,CAAEzL,OAAF,CAAP,GACNuG,YAAY,CAAE,UAAUnB,IAAV,EAAgBhS,OAAhB,EAAyByX,QAAzB,EAAmCC,GAAnC,EAAyC;AACtD,gBAAIlZ,IAAJ;AAAA,gBACC8Z,SAAS,GAAGD,OAAO,CAAErG,IAAF,EAAQ,IAAR,EAAc0F,GAAd,EAAmB,EAAnB,CADpB;AAAA,gBAECj0B,CAAC,GAAGuuB,IAAI,CAACpsB,MAFV,CADsD,CAKtD;;AACA,mBAAQnC,CAAC,EAAT,EAAc;AACb,kBAAO+a,IAAI,GAAG8Z,SAAS,CAAE70B,CAAF,CAAvB,EAAiC;AAChCuuB,oBAAI,CAAEvuB,CAAF,CAAJ,GAAY,EAAGuc,OAAO,CAAEvc,CAAF,CAAP,GAAe+a,IAAlB,CAAZ;AACA;AACD;AACD,WAXW,CADN,GAaN,UAAUA,IAAV,EAAgBiZ,QAAhB,EAA0BC,GAA1B,EAAgC;AAC/BxC,iBAAK,CAAE,CAAF,CAAL,GAAa1W,IAAb;AACA6Z,mBAAO,CAAEnD,KAAF,EAAS,IAAT,EAAewC,GAAf,EAAoBvK,OAApB,CAAP,CAF+B,CAI/B;;AACA+H,iBAAK,CAAE,CAAF,CAAL,GAAa,IAAb;AACA,mBAAO,CAAC/H,OAAO,CAACoC,GAAR,EAAR;AACA,WApBF;AAqBA,SA9BkB,CAHX;AAmCR,eAAO4D,YAAY,CAAE,UAAUnI,QAAV,EAAqB;AACzC,iBAAO,UAAUxM,IAAV,EAAiB;AACvB,mBAAOsP,MAAM,CAAE9C,QAAF,EAAYxM,IAAZ,CAAN,CAAyB5Y,MAAzB,GAAkC,CAAzC;AACA,WAFD;AAGA,SAJkB,CAnCX;AAyCR,oBAAYutB,YAAY,CAAE,UAAUzI,IAAV,EAAiB;AAC1CA,cAAI,GAAGA,IAAI,CAAC3jB,OAAL,CAAc8pB,SAAd,EAAyBC,SAAzB,CAAP;AACA,iBAAO,UAAUtS,IAAV,EAAiB;AACvB,mBAAO,CAAEA,IAAI,CAACiY,WAAL,IAAoBzI,OAAO,CAAExP,IAAF,CAA7B,EAAwC3a,OAAxC,CAAiD6mB,IAAjD,IAA0D,CAAC,CAAlE;AACA,WAFD;AAGA,SALuB,CAzChB;AAgDR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAQyI,YAAY,CAAE,UAAUoF,IAAV,EAAiB;AAEtC;AACA,cAAK,CAAClI,WAAW,CAAChY,IAAZ,CAAkBkgB,IAAI,IAAI,EAA1B,CAAN,EAAuC;AACtCzK,kBAAM,CAACnmB,KAAP,CAAc,uBAAuB4wB,IAArC;AACA;;AACDA,cAAI,GAAGA,IAAI,CAACxxB,OAAL,CAAc8pB,SAAd,EAAyBC,SAAzB,EAAqC/J,WAArC,EAAP;AACA,iBAAO,UAAUvI,IAAV,EAAiB;AACvB,gBAAIga,QAAJ;;AACA,eAAG;AACF,kBAAOA,QAAQ,GAAG9J,cAAc,GAC/BlQ,IAAI,CAAC+Z,IAD0B,GAE/B/Z,IAAI,CAACuF,YAAL,CAAmB,UAAnB,KAAmCvF,IAAI,CAACuF,YAAL,CAAmB,MAAnB,CAFpC,EAEoE;AAEnEyU,wBAAQ,GAAGA,QAAQ,CAACzR,WAAT,EAAX;AACA,uBAAOyR,QAAQ,KAAKD,IAAb,IAAqBC,QAAQ,CAAC30B,OAAT,CAAkB00B,IAAI,GAAG,GAAzB,MAAmC,CAA/D;AACA;AACD,aARD,QAQU,CAAE/Z,IAAI,GAAGA,IAAI,CAACzI,UAAd,KAA8ByI,IAAI,CAACe,QAAL,KAAkB,CAR1D;;AASA,mBAAO,KAAP;AACA,WAZD;AAaA,SApBmB,CAvDZ;AA6ER;AACA,kBAAU,gBAAUf,IAAV,EAAiB;AAC1B,cAAIia,IAAI,GAAGvzB,MAAM,CAAC2T,QAAP,IAAmB3T,MAAM,CAAC2T,QAAP,CAAgB4f,IAA9C;AACA,iBAAOA,IAAI,IAAIA,IAAI,CAACpb,KAAL,CAAY,CAAZ,MAAoBmB,IAAI,CAAC7a,EAAxC;AACA,SAjFO;AAmFR,gBAAQ,cAAU6a,IAAV,EAAiB;AACxB,iBAAOA,IAAI,KAAKiQ,OAAhB;AACA,SArFO;AAuFR,iBAAS,eAAUjQ,IAAV,EAAiB;AACzB,iBAAOA,IAAI,KAAK3Z,QAAQ,CAAC6zB,aAAlB,KACJ,CAAC7zB,QAAQ,CAAC8zB,QAAV,IAAsB9zB,QAAQ,CAAC8zB,QAAT,EADlB,KAEN,CAAC,EAAGna,IAAI,CAACvL,IAAL,IAAauL,IAAI,CAACoa,IAAlB,IAA0B,CAACpa,IAAI,CAACqa,QAAnC,CAFF;AAGA,SA3FO;AA6FR;AACA,mBAAW7E,oBAAoB,CAAE,KAAF,CA9FvB;AA+FR,oBAAYA,oBAAoB,CAAE,IAAF,CA/FxB;AAiGR,mBAAW,iBAAUxV,IAAV,EAAiB;AAE3B;AACA;AACA,cAAIY,QAAQ,GAAGZ,IAAI,CAACY,QAAL,CAAc2H,WAAd,EAAf;AACA,iBAAS3H,QAAQ,KAAK,OAAb,IAAwB,CAAC,CAACZ,IAAI,CAACsa,OAAjC,IACJ1Z,QAAQ,KAAK,QAAb,IAAyB,CAAC,CAACZ,IAAI,CAACua,QADnC;AAEA,SAxGO;AA0GR,oBAAY,kBAAUva,IAAV,EAAiB;AAE5B;AACA;AACA,cAAKA,IAAI,CAACzI,UAAV,EAAuB;AACtB;AACAyI,gBAAI,CAACzI,UAAL,CAAgBijB,aAAhB;AACA;;AAED,iBAAOxa,IAAI,CAACua,QAAL,KAAkB,IAAzB;AACA,SApHO;AAsHR;AACA,iBAAS,eAAUva,IAAV,EAAiB;AAEzB;AACA;AACA;AACA;AACA,eAAMA,IAAI,GAAGA,IAAI,CAACkY,UAAlB,EAA8BlY,IAA9B,EAAoCA,IAAI,GAAGA,IAAI,CAACqV,WAAhD,EAA8D;AAC7D,gBAAKrV,IAAI,CAACe,QAAL,GAAgB,CAArB,EAAyB;AACxB,qBAAO,KAAP;AACA;AACD;;AACD,iBAAO,IAAP;AACA,SAnIO;AAqIR,kBAAU,gBAAUf,IAAV,EAAiB;AAC1B,iBAAO,CAACuP,IAAI,CAAC8B,OAAL,CAAc,OAAd,EAAyBrR,IAAzB,CAAR;AACA,SAvIO;AAyIR;AACA,kBAAU,gBAAUA,IAAV,EAAiB;AAC1B,iBAAOiS,OAAO,CAACpY,IAAR,CAAcmG,IAAI,CAACY,QAAnB,CAAP;AACA,SA5IO;AA8IR,iBAAS,eAAUZ,IAAV,EAAiB;AACzB,iBAAOgS,OAAO,CAACnY,IAAR,CAAcmG,IAAI,CAACY,QAAnB,CAAP;AACA,SAhJO;AAkJR,kBAAU,gBAAUZ,IAAV,EAAiB;AAC1B,cAAI8N,IAAI,GAAG9N,IAAI,CAACY,QAAL,CAAc2H,WAAd,EAAX;AACA,iBAAOuF,IAAI,KAAK,OAAT,IAAoB9N,IAAI,CAACvL,IAAL,KAAc,QAAlC,IAA8CqZ,IAAI,KAAK,QAA9D;AACA,SArJO;AAuJR,gBAAQ,cAAU9N,IAAV,EAAiB;AACxB,cAAIza,IAAJ;AACA,iBAAOya,IAAI,CAACY,QAAL,CAAc2H,WAAd,OAAgC,OAAhC,IACNvI,IAAI,CAACvL,IAAL,KAAc,MADR,MAGN;AACA;AACE,WAAElP,IAAI,GAAGya,IAAI,CAACuF,YAAL,CAAmB,MAAnB,CAAT,KAA0C,IAA1C,IACDhgB,IAAI,CAACgjB,WAAL,OAAuB,MANlB,CAAP;AAOA,SAhKO;AAkKR;AACA,iBAASmN,sBAAsB,CAAE,YAAW;AAC3C,iBAAO,CAAE,CAAF,CAAP;AACA,SAF8B,CAnKvB;AAuKR,gBAAQA,sBAAsB,CAAE,UAAU+E,aAAV,EAAyBrzB,MAAzB,EAAkC;AACjE,iBAAO,CAAEA,MAAM,GAAG,CAAX,CAAP;AACA,SAF6B,CAvKtB;AA2KR,cAAMsuB,sBAAsB,CAAE,UAAU+E,aAAV,EAAyBrzB,MAAzB,EAAiCuuB,QAAjC,EAA4C;AACzE,iBAAO,CAAEA,QAAQ,GAAG,CAAX,GAAeA,QAAQ,GAAGvuB,MAA1B,GAAmCuuB,QAArC,CAAP;AACA,SAF2B,CA3KpB;AA+KR,gBAAQD,sBAAsB,CAAE,UAAUE,YAAV,EAAwBxuB,MAAxB,EAAiC;AAChE,cAAInC,CAAC,GAAG,CAAR;;AACA,iBAAQA,CAAC,GAAGmC,MAAZ,EAAoBnC,CAAC,IAAI,CAAzB,EAA6B;AAC5B2wB,wBAAY,CAACnuB,IAAb,CAAmBxC,CAAnB;AACA;;AACD,iBAAO2wB,YAAP;AACA,SAN6B,CA/KtB;AAuLR,eAAOF,sBAAsB,CAAE,UAAUE,YAAV,EAAwBxuB,MAAxB,EAAiC;AAC/D,cAAInC,CAAC,GAAG,CAAR;;AACA,iBAAQA,CAAC,GAAGmC,MAAZ,EAAoBnC,CAAC,IAAI,CAAzB,EAA6B;AAC5B2wB,wBAAY,CAACnuB,IAAb,CAAmBxC,CAAnB;AACA;;AACD,iBAAO2wB,YAAP;AACA,SAN4B,CAvLrB;AA+LR,cAAMF,sBAAsB,CAAE,UAAUE,YAAV,EAAwBxuB,MAAxB,EAAgCuuB,QAAhC,EAA2C;AACxE,cAAI1wB,CAAC,GAAG0wB,QAAQ,GAAG,CAAX,GACPA,QAAQ,GAAGvuB,MADJ,GAEPuuB,QAAQ,GAAGvuB,MAAX,GACCA,MADD,GAECuuB,QAJF;;AAKA,iBAAQ,EAAE1wB,CAAF,IAAO,CAAf,GAAoB;AACnB2wB,wBAAY,CAACnuB,IAAb,CAAmBxC,CAAnB;AACA;;AACD,iBAAO2wB,YAAP;AACA,SAV2B,CA/LpB;AA2MR,cAAMF,sBAAsB,CAAE,UAAUE,YAAV,EAAwBxuB,MAAxB,EAAgCuuB,QAAhC,EAA2C;AACxE,cAAI1wB,CAAC,GAAG0wB,QAAQ,GAAG,CAAX,GAAeA,QAAQ,GAAGvuB,MAA1B,GAAmCuuB,QAA3C;;AACA,iBAAQ,EAAE1wB,CAAF,GAAMmC,MAAd,GAAwB;AACvBwuB,wBAAY,CAACnuB,IAAb,CAAmBxC,CAAnB;AACA;;AACD,iBAAO2wB,YAAP;AACA,SAN2B;AA3MpB;AA5UgB,KAA1B;AAiiBArG,QAAI,CAAC8B,OAAL,CAAc,KAAd,IAAwB9B,IAAI,CAAC8B,OAAL,CAAc,IAAd,CAAxB,CAxuDqB,CA0uDrB;;AACA,SAAMpsB,CAAN,IAAW;AAAEy1B,WAAK,EAAE,IAAT;AAAeC,cAAQ,EAAE,IAAzB;AAA+BC,UAAI,EAAE,IAArC;AAA2CC,cAAQ,EAAE,IAArD;AAA2D3tB,WAAK,EAAE;AAAlE,KAAX,EAAsF;AACrFqiB,UAAI,CAAC8B,OAAL,CAAcpsB,CAAd,IAAoBqwB,iBAAiB,CAAErwB,CAAF,CAArC;AACA;;AACD,SAAMA,CAAN,IAAW;AAAE61B,YAAM,EAAE,IAAV;AAAgBC,WAAK,EAAE;AAAvB,KAAX,EAA2C;AAC1CxL,UAAI,CAAC8B,OAAL,CAAcpsB,CAAd,IAAoBswB,kBAAkB,CAAEtwB,CAAF,CAAtC;AACA,KAhvDoB,CAkvDrB;;;AACA,aAASy0B,UAAT,GAAsB,CAAE;;AACxBA,cAAU,CAACzb,SAAX,GAAuBsR,IAAI,CAACyL,OAAL,GAAezL,IAAI,CAAC8B,OAA3C;AACA9B,QAAI,CAACmK,UAAL,GAAkB,IAAIA,UAAJ,EAAlB;;AAEAhK,YAAQ,GAAGJ,MAAM,CAACI,QAAP,GAAkB,UAAUlD,QAAV,EAAoByO,SAApB,EAAgC;AAC5D,UAAIrB,OAAJ;AAAA,UAAajG,KAAb;AAAA,UAAoBuH,MAApB;AAAA,UAA4BzmB,IAA5B;AAAA,UACC0mB,KADD;AAAA,UACQvH,MADR;AAAA,UACgBwH,UADhB;AAAA,UAECC,MAAM,GAAG1K,UAAU,CAAEnE,QAAQ,GAAG,GAAb,CAFpB;;AAIA,UAAK6O,MAAL,EAAc;AACb,eAAOJ,SAAS,GAAG,CAAH,GAAOI,MAAM,CAACxc,KAAP,CAAc,CAAd,CAAvB;AACA;;AAEDsc,WAAK,GAAG3O,QAAR;AACAoH,YAAM,GAAG,EAAT;AACAwH,gBAAU,GAAG7L,IAAI,CAAC8I,SAAlB;;AAEA,aAAQ8C,KAAR,EAAgB;AAEf;AACA,YAAK,CAACvB,OAAD,KAAcjG,KAAK,GAAGlC,MAAM,CAAChQ,IAAP,CAAa0Z,KAAb,CAAtB,CAAL,EAAoD;AACnD,cAAKxH,KAAL,EAAa;AAEZ;AACAwH,iBAAK,GAAGA,KAAK,CAACtc,KAAN,CAAa8U,KAAK,CAAE,CAAF,CAAL,CAAWvsB,MAAxB,KAAoC+zB,KAA5C;AACA;;AACDvH,gBAAM,CAACnsB,IAAP,CAAeyzB,MAAM,GAAG,EAAxB;AACA;;AAEDtB,eAAO,GAAG,KAAV,CAZe,CAcf;;AACA,YAAOjG,KAAK,GAAGjC,YAAY,CAACjQ,IAAb,CAAmB0Z,KAAnB,CAAf,EAA8C;AAC7CvB,iBAAO,GAAGjG,KAAK,CAACe,KAAN,EAAV;AACAwG,gBAAM,CAACzzB,IAAP,CAAa;AACZ8hB,iBAAK,EAAEqQ,OADK;AAGZ;AACAnlB,gBAAI,EAAEkf,KAAK,CAAE,CAAF,CAAL,CAAWprB,OAAX,CAAoBipB,KAApB,EAA2B,GAA3B;AAJM,WAAb;AAMA2J,eAAK,GAAGA,KAAK,CAACtc,KAAN,CAAa+a,OAAO,CAACxyB,MAArB,CAAR;AACA,SAxBc,CA0Bf;;;AACA,aAAMqN,IAAN,IAAc8a,IAAI,CAACjnB,MAAnB,EAA4B;AAC3B,cAAK,CAAEqrB,KAAK,GAAG7B,SAAS,CAAErd,IAAF,CAAT,CAAkBgN,IAAlB,CAAwB0Z,KAAxB,CAAV,MAAiD,CAACC,UAAU,CAAE3mB,IAAF,CAAX,KACnDkf,KAAK,GAAGyH,UAAU,CAAE3mB,IAAF,CAAV,CAAoBkf,KAApB,CAD2C,CAAjD,CAAL,EAC6C;AAC5CiG,mBAAO,GAAGjG,KAAK,CAACe,KAAN,EAAV;AACAwG,kBAAM,CAACzzB,IAAP,CAAa;AACZ8hB,mBAAK,EAAEqQ,OADK;AAEZnlB,kBAAI,EAAEA,IAFM;AAGZ+M,qBAAO,EAAEmS;AAHG,aAAb;AAKAwH,iBAAK,GAAGA,KAAK,CAACtc,KAAN,CAAa+a,OAAO,CAACxyB,MAArB,CAAR;AACA;AACD;;AAED,YAAK,CAACwyB,OAAN,EAAgB;AACf;AACA;AACD,OAxD2D,CA0D5D;AACA;AACA;;;AACA,aAAOqB,SAAS,GACfE,KAAK,CAAC/zB,MADS,GAEf+zB,KAAK,GACJ7L,MAAM,CAACnmB,KAAP,CAAcqjB,QAAd,CADI,GAGJ;AACAmE,gBAAU,CAAEnE,QAAF,EAAYoH,MAAZ,CAAV,CAA+B/U,KAA/B,CAAsC,CAAtC,CANF;AAOA,KApED;;AAsEA,aAASuV,UAAT,CAAqB8G,MAArB,EAA8B;AAC7B,UAAIj2B,CAAC,GAAG,CAAR;AAAA,UACCyoB,GAAG,GAAGwN,MAAM,CAAC9zB,MADd;AAAA,UAEColB,QAAQ,GAAG,EAFZ;;AAGA,aAAQvnB,CAAC,GAAGyoB,GAAZ,EAAiBzoB,CAAC,EAAlB,EAAuB;AACtBunB,gBAAQ,IAAI0O,MAAM,CAAEj2B,CAAF,CAAN,CAAYskB,KAAxB;AACA;;AACD,aAAOiD,QAAP;AACA;;AAED,aAAS2G,aAAT,CAAwB0G,OAAxB,EAAiCyB,UAAjC,EAA6CC,IAA7C,EAAoD;AACnD,UAAIlI,GAAG,GAAGiI,UAAU,CAACjI,GAArB;AAAA,UACCmI,IAAI,GAAGF,UAAU,CAACxf,IADnB;AAAA,UAECwN,GAAG,GAAGkS,IAAI,IAAInI,GAFf;AAAA,UAGCoI,gBAAgB,GAAGF,IAAI,IAAIjS,GAAG,KAAK,YAHpC;AAAA,UAICoS,QAAQ,GAAG1rB,IAAI,EAJhB;AAMA,aAAOsrB,UAAU,CAACh2B,KAAX,GAEN;AACA,gBAAU0a,IAAV,EAAgB5Z,OAAhB,EAAyB8yB,GAAzB,EAA+B;AAC9B,eAAUlZ,IAAI,GAAGA,IAAI,CAAEqT,GAAF,CAArB,EAAiC;AAChC,cAAKrT,IAAI,CAACe,QAAL,KAAkB,CAAlB,IAAuB0a,gBAA5B,EAA+C;AAC9C,mBAAO5B,OAAO,CAAE7Z,IAAF,EAAQ5Z,OAAR,EAAiB8yB,GAAjB,CAAd;AACA;AACD;;AACD,eAAO,KAAP;AACA,OAVK,GAYN;AACA,gBAAUlZ,IAAV,EAAgB5Z,OAAhB,EAAyB8yB,GAAzB,EAA+B;AAC9B,YAAIyC,QAAJ;AAAA,YAAcxC,WAAd;AAAA,YAA2BC,UAA3B;AAAA,YACCwC,QAAQ,GAAG,CAAEpL,OAAF,EAAWkL,QAAX,CADZ,CAD8B,CAI9B;;AACA,YAAKxC,GAAL,EAAW;AACV,iBAAUlZ,IAAI,GAAGA,IAAI,CAAEqT,GAAF,CAArB,EAAiC;AAChC,gBAAKrT,IAAI,CAACe,QAAL,KAAkB,CAAlB,IAAuB0a,gBAA5B,EAA+C;AAC9C,kBAAK5B,OAAO,CAAE7Z,IAAF,EAAQ5Z,OAAR,EAAiB8yB,GAAjB,CAAZ,EAAqC;AACpC,uBAAO,IAAP;AACA;AACD;AACD;AACD,SARD,MAQO;AACN,iBAAUlZ,IAAI,GAAGA,IAAI,CAAEqT,GAAF,CAArB,EAAiC;AAChC,gBAAKrT,IAAI,CAACe,QAAL,KAAkB,CAAlB,IAAuB0a,gBAA5B,EAA+C;AAC9CrC,wBAAU,GAAGpZ,IAAI,CAAEoO,OAAF,CAAJ,KAAqBpO,IAAI,CAAEoO,OAAF,CAAJ,GAAkB,EAAvC,CAAb,CAD8C,CAG9C;AACA;;AACA+K,yBAAW,GAAGC,UAAU,CAAEpZ,IAAI,CAACwZ,QAAP,CAAV,KACXJ,UAAU,CAAEpZ,IAAI,CAACwZ,QAAP,CAAV,GAA8B,EADnB,CAAd;;AAGA,kBAAKgC,IAAI,IAAIA,IAAI,KAAKxb,IAAI,CAACY,QAAL,CAAc2H,WAAd,EAAtB,EAAoD;AACnDvI,oBAAI,GAAGA,IAAI,CAAEqT,GAAF,CAAJ,IAAerT,IAAtB;AACA,eAFD,MAEO,IAAK,CAAE2b,QAAQ,GAAGxC,WAAW,CAAE7P,GAAF,CAAxB,KACXqS,QAAQ,CAAE,CAAF,CAAR,KAAkBnL,OADP,IACkBmL,QAAQ,CAAE,CAAF,CAAR,KAAkBD,QADzC,EACoD;AAE1D;AACA,uBAASE,QAAQ,CAAE,CAAF,CAAR,GAAgBD,QAAQ,CAAE,CAAF,CAAjC;AACA,eALM,MAKA;AAEN;AACAxC,2BAAW,CAAE7P,GAAF,CAAX,GAAqBsS,QAArB,CAHM,CAKN;;AACA,oBAAOA,QAAQ,CAAE,CAAF,CAAR,GAAgB/B,OAAO,CAAE7Z,IAAF,EAAQ5Z,OAAR,EAAiB8yB,GAAjB,CAA9B,EAAyD;AACxD,yBAAO,IAAP;AACA;AACD;AACD;AACD;AACD;;AACD,eAAO,KAAP;AACA,OAzDF;AA0DA;;AAED,aAAS2C,cAAT,CAAyBC,QAAzB,EAAoC;AACnC,aAAOA,QAAQ,CAAC10B,MAAT,GAAkB,CAAlB,GACN,UAAU4Y,IAAV,EAAgB5Z,OAAhB,EAAyB8yB,GAAzB,EAA+B;AAC9B,YAAIj0B,CAAC,GAAG62B,QAAQ,CAAC10B,MAAjB;;AACA,eAAQnC,CAAC,EAAT,EAAc;AACb,cAAK,CAAC62B,QAAQ,CAAE72B,CAAF,CAAR,CAAe+a,IAAf,EAAqB5Z,OAArB,EAA8B8yB,GAA9B,CAAN,EAA4C;AAC3C,mBAAO,KAAP;AACA;AACD;;AACD,eAAO,IAAP;AACA,OATK,GAUN4C,QAAQ,CAAE,CAAF,CAVT;AAWA;;AAED,aAASC,gBAAT,CAA2BvP,QAA3B,EAAqCwP,QAArC,EAA+CrN,OAA/C,EAAyD;AACxD,UAAI1pB,CAAC,GAAG,CAAR;AAAA,UACCyoB,GAAG,GAAGsO,QAAQ,CAAC50B,MADhB;;AAEA,aAAQnC,CAAC,GAAGyoB,GAAZ,EAAiBzoB,CAAC,EAAlB,EAAuB;AACtBqqB,cAAM,CAAE9C,QAAF,EAAYwP,QAAQ,CAAE/2B,CAAF,CAApB,EAA2B0pB,OAA3B,CAAN;AACA;;AACD,aAAOA,OAAP;AACA;;AAED,aAASsN,QAAT,CAAmBnC,SAAnB,EAA8B3M,GAA9B,EAAmC7kB,MAAnC,EAA2ClC,OAA3C,EAAoD8yB,GAApD,EAA0D;AACzD,UAAIlZ,IAAJ;AAAA,UACCkc,YAAY,GAAG,EADhB;AAAA,UAECj3B,CAAC,GAAG,CAFL;AAAA,UAGCyoB,GAAG,GAAGoM,SAAS,CAAC1yB,MAHjB;AAAA,UAIC+0B,MAAM,GAAGhP,GAAG,IAAI,IAJjB;;AAMA,aAAQloB,CAAC,GAAGyoB,GAAZ,EAAiBzoB,CAAC,EAAlB,EAAuB;AACtB,YAAO+a,IAAI,GAAG8Z,SAAS,CAAE70B,CAAF,CAAvB,EAAiC;AAChC,cAAK,CAACqD,MAAD,IAAWA,MAAM,CAAE0X,IAAF,EAAQ5Z,OAAR,EAAiB8yB,GAAjB,CAAtB,EAA+C;AAC9CgD,wBAAY,CAACz0B,IAAb,CAAmBuY,IAAnB;;AACA,gBAAKmc,MAAL,EAAc;AACbhP,iBAAG,CAAC1lB,IAAJ,CAAUxC,CAAV;AACA;AACD;AACD;AACD;;AAED,aAAOi3B,YAAP;AACA;;AAED,aAASE,UAAT,CAAqB/D,SAArB,EAAgC7L,QAAhC,EAA0CqN,OAA1C,EAAmDwC,UAAnD,EAA+DC,UAA/D,EAA2EC,YAA3E,EAA0F;AACzF,UAAKF,UAAU,IAAI,CAACA,UAAU,CAAEjO,OAAF,CAA9B,EAA4C;AAC3CiO,kBAAU,GAAGD,UAAU,CAAEC,UAAF,CAAvB;AACA;;AACD,UAAKC,UAAU,IAAI,CAACA,UAAU,CAAElO,OAAF,CAA9B,EAA4C;AAC3CkO,kBAAU,GAAGF,UAAU,CAAEE,UAAF,EAAcC,YAAd,CAAvB;AACA;;AACD,aAAO5H,YAAY,CAAE,UAAUnB,IAAV,EAAgB7E,OAAhB,EAAyBvoB,OAAzB,EAAkC8yB,GAAlC,EAAwC;AAC5D,YAAIsD,IAAJ;AAAA,YAAUv3B,CAAV;AAAA,YAAa+a,IAAb;AAAA,YACCyc,MAAM,GAAG,EADV;AAAA,YAECC,OAAO,GAAG,EAFX;AAAA,YAGCC,WAAW,GAAGhO,OAAO,CAACvnB,MAHvB;AAAA,YAKC;AACA2lB,aAAK,GAAGyG,IAAI,IAAIuI,gBAAgB,CAC/BvP,QAAQ,IAAI,GADmB,EAE/BpmB,OAAO,CAAC2a,QAAR,GAAmB,CAAE3a,OAAF,CAAnB,GAAiCA,OAFF,EAG/B,EAH+B,CANjC;AAAA,YAYC;AACAw2B,iBAAS,GAAGvE,SAAS,KAAM7E,IAAI,IAAI,CAAChH,QAAf,CAAT,GACXyP,QAAQ,CAAElP,KAAF,EAAS0P,MAAT,EAAiBpE,SAAjB,EAA4BjyB,OAA5B,EAAqC8yB,GAArC,CADG,GAEXnM,KAfF;AAAA,YAiBC8P,UAAU,GAAGhD,OAAO,GAEnB;AACAyC,kBAAU,KAAM9I,IAAI,GAAG6E,SAAH,GAAesE,WAAW,IAAIN,UAAxC,CAAV,GAEC;AACA,UAHD,GAKC;AACA1N,eATkB,GAUnBiO,SA3BF,CAD4D,CA8B5D;;AACA,YAAK/C,OAAL,EAAe;AACdA,iBAAO,CAAE+C,SAAF,EAAaC,UAAb,EAAyBz2B,OAAzB,EAAkC8yB,GAAlC,CAAP;AACA,SAjC2D,CAmC5D;;;AACA,YAAKmD,UAAL,EAAkB;AACjBG,cAAI,GAAGP,QAAQ,CAAEY,UAAF,EAAcH,OAAd,CAAf;AACAL,oBAAU,CAAEG,IAAF,EAAQ,EAAR,EAAYp2B,OAAZ,EAAqB8yB,GAArB,CAAV,CAFiB,CAIjB;;AACAj0B,WAAC,GAAGu3B,IAAI,CAACp1B,MAAT;;AACA,iBAAQnC,CAAC,EAAT,EAAc;AACb,gBAAO+a,IAAI,GAAGwc,IAAI,CAAEv3B,CAAF,CAAlB,EAA4B;AAC3B43B,wBAAU,CAAEH,OAAO,CAAEz3B,CAAF,CAAT,CAAV,GAA6B,EAAG23B,SAAS,CAAEF,OAAO,CAAEz3B,CAAF,CAAT,CAAT,GAA4B+a,IAA/B,CAA7B;AACA;AACD;AACD;;AAED,YAAKwT,IAAL,EAAY;AACX,cAAK8I,UAAU,IAAIjE,SAAnB,EAA+B;AAC9B,gBAAKiE,UAAL,EAAkB;AAEjB;AACAE,kBAAI,GAAG,EAAP;AACAv3B,eAAC,GAAG43B,UAAU,CAACz1B,MAAf;;AACA,qBAAQnC,CAAC,EAAT,EAAc;AACb,oBAAO+a,IAAI,GAAG6c,UAAU,CAAE53B,CAAF,CAAxB,EAAkC;AAEjC;AACAu3B,sBAAI,CAAC/0B,IAAL,CAAam1B,SAAS,CAAE33B,CAAF,CAAT,GAAiB+a,IAA9B;AACA;AACD;;AACDsc,wBAAU,CAAE,IAAF,EAAUO,UAAU,GAAG,EAAvB,EAA6BL,IAA7B,EAAmCtD,GAAnC,CAAV;AACA,aAd6B,CAgB9B;;;AACAj0B,aAAC,GAAG43B,UAAU,CAACz1B,MAAf;;AACA,mBAAQnC,CAAC,EAAT,EAAc;AACb,kBAAK,CAAE+a,IAAI,GAAG6c,UAAU,CAAE53B,CAAF,CAAnB,KACJ,CAAEu3B,IAAI,GAAGF,UAAU,GAAGj3B,OAAO,CAAEmuB,IAAF,EAAQxT,IAAR,CAAV,GAA2Byc,MAAM,CAAEx3B,CAAF,CAApD,IAA8D,CAAC,CADhE,EACoE;AAEnEuuB,oBAAI,CAAEgJ,IAAF,CAAJ,GAAe,EAAG7N,OAAO,CAAE6N,IAAF,CAAP,GAAkBxc,IAArB,CAAf;AACA;AACD;AACD,WA1BU,CA4BZ;;AACC,SA7BD,MA6BO;AACN6c,oBAAU,GAAGZ,QAAQ,CACpBY,UAAU,KAAKlO,OAAf,GACCkO,UAAU,CAACne,MAAX,CAAmBie,WAAnB,EAAgCE,UAAU,CAACz1B,MAA3C,CADD,GAECy1B,UAHmB,CAArB;;AAKA,cAAKP,UAAL,EAAkB;AACjBA,sBAAU,CAAE,IAAF,EAAQ3N,OAAR,EAAiBkO,UAAjB,EAA6B3D,GAA7B,CAAV;AACA,WAFD,MAEO;AACNzxB,gBAAI,CAACmC,KAAL,CAAY+kB,OAAZ,EAAqBkO,UAArB;AACA;AACD;AACD,OA1FkB,CAAnB;AA2FA;;AAED,aAASC,iBAAT,CAA4B5B,MAA5B,EAAqC;AACpC,UAAI6B,YAAJ;AAAA,UAAkBlD,OAAlB;AAAA,UAA2BlM,CAA3B;AAAA,UACCD,GAAG,GAAGwN,MAAM,CAAC9zB,MADd;AAAA,UAEC41B,eAAe,GAAGzN,IAAI,CAAC6I,QAAL,CAAe8C,MAAM,CAAE,CAAF,CAAN,CAAYzmB,IAA3B,CAFnB;AAAA,UAGCwoB,gBAAgB,GAAGD,eAAe,IAAIzN,IAAI,CAAC6I,QAAL,CAAe,GAAf,CAHvC;AAAA,UAICnzB,CAAC,GAAG+3B,eAAe,GAAG,CAAH,GAAO,CAJ3B;AAAA,UAMC;AACAE,kBAAY,GAAG/J,aAAa,CAAE,UAAUnT,IAAV,EAAiB;AAC9C,eAAOA,IAAI,KAAK+c,YAAhB;AACA,OAF2B,EAEzBE,gBAFyB,EAEP,IAFO,CAP7B;AAAA,UAUCE,eAAe,GAAGhK,aAAa,CAAE,UAAUnT,IAAV,EAAiB;AACjD,eAAO3a,OAAO,CAAE03B,YAAF,EAAgB/c,IAAhB,CAAP,GAAgC,CAAC,CAAxC;AACA,OAF8B,EAE5Bid,gBAF4B,EAEV,IAFU,CAVhC;AAAA,UAaCnB,QAAQ,GAAG,CAAE,UAAU9b,IAAV,EAAgB5Z,OAAhB,EAAyB8yB,GAAzB,EAA+B;AAC3C,YAAIlM,GAAG,GAAK,CAACgQ,eAAD,KAAsB9D,GAAG,IAAI9yB,OAAO,KAAKypB,gBAAzC,CAAF,KACT,CAAEkN,YAAY,GAAG32B,OAAjB,EAA2B2a,QAA3B,GACCmc,YAAY,CAAEld,IAAF,EAAQ5Z,OAAR,EAAiB8yB,GAAjB,CADb,GAECiE,eAAe,CAAEnd,IAAF,EAAQ5Z,OAAR,EAAiB8yB,GAAjB,CAHP,CAAV,CAD2C,CAM3C;;AACA6D,oBAAY,GAAG,IAAf;AACA,eAAO/P,GAAP;AACA,OATU,CAbZ;;AAwBA,aAAQ/nB,CAAC,GAAGyoB,GAAZ,EAAiBzoB,CAAC,EAAlB,EAAuB;AACtB,YAAO40B,OAAO,GAAGtK,IAAI,CAAC6I,QAAL,CAAe8C,MAAM,CAAEj2B,CAAF,CAAN,CAAYwP,IAA3B,CAAjB,EAAuD;AACtDqnB,kBAAQ,GAAG,CAAE3I,aAAa,CAAE0I,cAAc,CAAEC,QAAF,CAAhB,EAA8BjC,OAA9B,CAAf,CAAX;AACA,SAFD,MAEO;AACNA,iBAAO,GAAGtK,IAAI,CAACjnB,MAAL,CAAa4yB,MAAM,CAAEj2B,CAAF,CAAN,CAAYwP,IAAzB,EAAgC7K,KAAhC,CAAuC,IAAvC,EAA6CsxB,MAAM,CAAEj2B,CAAF,CAAN,CAAYuc,OAAzD,CAAV,CADM,CAGN;;AACA,cAAKqY,OAAO,CAAEzL,OAAF,CAAZ,EAA0B;AAEzB;AACAT,aAAC,GAAG,EAAE1oB,CAAN;;AACA,mBAAQ0oB,CAAC,GAAGD,GAAZ,EAAiBC,CAAC,EAAlB,EAAuB;AACtB,kBAAK4B,IAAI,CAAC6I,QAAL,CAAe8C,MAAM,CAAEvN,CAAF,CAAN,CAAYlZ,IAA3B,CAAL,EAAyC;AACxC;AACA;AACD;;AACD,mBAAO2nB,UAAU,CAChBn3B,CAAC,GAAG,CAAJ,IAAS42B,cAAc,CAAEC,QAAF,CADP,EAEhB72B,CAAC,GAAG,CAAJ,IAASmvB,UAAU,EAEnB;AACA8G,kBAAM,CACJrc,KADF,CACS,CADT,EACY5Z,CAAC,GAAG,CADhB,EAEEgmB,MAFF,CAEU;AAAE1B,mBAAK,EAAE2R,MAAM,CAAEj2B,CAAC,GAAG,CAAN,CAAN,CAAgBwP,IAAhB,KAAyB,GAAzB,GAA+B,GAA/B,GAAqC;AAA9C,aAFV,CAHmB,CAAV,CAMPlM,OANO,CAMEipB,KANF,EAMS,IANT,CAFO,EAShBqI,OATgB,EAUhB50B,CAAC,GAAG0oB,CAAJ,IAASmP,iBAAiB,CAAE5B,MAAM,CAACrc,KAAP,CAAc5Z,CAAd,EAAiB0oB,CAAjB,CAAF,CAVV,EAWhBA,CAAC,GAAGD,GAAJ,IAAWoP,iBAAiB,CAAI5B,MAAM,GAAGA,MAAM,CAACrc,KAAP,CAAc8O,CAAd,CAAb,CAXZ,EAYhBA,CAAC,GAAGD,GAAJ,IAAW0G,UAAU,CAAE8G,MAAF,CAZL,CAAjB;AAcA;;AACDY,kBAAQ,CAACr0B,IAAT,CAAeoyB,OAAf;AACA;AACD;;AAED,aAAOgC,cAAc,CAAEC,QAAF,CAArB;AACA;;AAED,aAASsB,wBAAT,CAAmCC,eAAnC,EAAoDC,WAApD,EAAkE;AACjE,UAAIC,KAAK,GAAGD,WAAW,CAACl2B,MAAZ,GAAqB,CAAjC;AAAA,UACCo2B,SAAS,GAAGH,eAAe,CAACj2B,MAAhB,GAAyB,CADtC;AAAA,UAECq2B,YAAY,GAAG,SAAfA,YAAe,CAAUjK,IAAV,EAAgBptB,OAAhB,EAAyB8yB,GAAzB,EAA8BvK,OAA9B,EAAuC+O,SAAvC,EAAmD;AACjE,YAAI1d,IAAJ;AAAA,YAAU2N,CAAV;AAAA,YAAakM,OAAb;AAAA,YACC8D,YAAY,GAAG,CADhB;AAAA,YAEC14B,CAAC,GAAG,GAFL;AAAA,YAGC60B,SAAS,GAAGtG,IAAI,IAAI,EAHrB;AAAA,YAICoK,UAAU,GAAG,EAJd;AAAA,YAKCC,aAAa,GAAGhO,gBALjB;AAAA,YAOC;AACA9C,aAAK,GAAGyG,IAAI,IAAIgK,SAAS,IAAIjO,IAAI,CAAChrB,IAAL,CAAW,KAAX,EAAoB,GAApB,EAAyBm5B,SAAzB,CAR9B;AAAA,YAUC;AACAI,qBAAa,GAAKtN,OAAO,IAAIqN,aAAa,IAAI,IAAjB,GAAwB,CAAxB,GAA4BhZ,IAAI,CAACwJ,MAAL,MAAiB,GAX3E;AAAA,YAYCX,GAAG,GAAGX,KAAK,CAAC3lB,MAZb;;AAcA,YAAKs2B,SAAL,EAAiB;AAEhB;AACA;AACA;AACA;AACA7N,0BAAgB,GAAGzpB,OAAO,IAAIC,QAAX,IAAuBD,OAAvB,IAAkCs3B,SAArD;AACA,SAtBgE,CAwBjE;AACA;AACA;;;AACA,eAAQz4B,CAAC,KAAKyoB,GAAN,IAAa,CAAE1N,IAAI,GAAG+M,KAAK,CAAE9nB,CAAF,CAAd,KAAyB,IAA9C,EAAoDA,CAAC,EAArD,EAA0D;AACzD,cAAKu4B,SAAS,IAAIxd,IAAlB,EAAyB;AACxB2N,aAAC,GAAG,CAAJ,CADwB,CAGxB;AACA;AACA;AACA;;AACA,gBAAK,CAACvnB,OAAD,IAAY4Z,IAAI,CAAC+T,aAAL,IAAsB1tB,QAAvC,EAAkD;AACjD2pB,yBAAW,CAAEhQ,IAAF,CAAX;AACAkZ,iBAAG,GAAG,CAAChJ,cAAP;AACA;;AACD,mBAAU2J,OAAO,GAAGwD,eAAe,CAAE1P,CAAC,EAAH,CAAnC,EAA+C;AAC9C,kBAAKkM,OAAO,CAAE7Z,IAAF,EAAQ5Z,OAAO,IAAIC,QAAnB,EAA6B6yB,GAA7B,CAAZ,EAAiD;AAChDvK,uBAAO,CAAClnB,IAAR,CAAcuY,IAAd;AACA;AACA;AACD;;AACD,gBAAK0d,SAAL,EAAiB;AAChBlN,qBAAO,GAAGsN,aAAV;AACA;AACD,WArBwD,CAuBzD;;;AACA,cAAKP,KAAL,EAAa;AAEZ;AACA,gBAAOvd,IAAI,GAAG,CAAC6Z,OAAD,IAAY7Z,IAA1B,EAAmC;AAClC2d,0BAAY;AACZ,aALW,CAOZ;;;AACA,gBAAKnK,IAAL,EAAY;AACXsG,uBAAS,CAACryB,IAAV,CAAgBuY,IAAhB;AACA;AACD;AACD,SA/DgE,CAiEjE;AACA;;;AACA2d,oBAAY,IAAI14B,CAAhB,CAnEiE,CAqEjE;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,YAAKs4B,KAAK,IAAIt4B,CAAC,KAAK04B,YAApB,EAAmC;AAClChQ,WAAC,GAAG,CAAJ;;AACA,iBAAUkM,OAAO,GAAGyD,WAAW,CAAE3P,CAAC,EAAH,CAA/B,EAA2C;AAC1CkM,mBAAO,CAAEC,SAAF,EAAa8D,UAAb,EAAyBx3B,OAAzB,EAAkC8yB,GAAlC,CAAP;AACA;;AAED,cAAK1F,IAAL,EAAY;AAEX;AACA,gBAAKmK,YAAY,GAAG,CAApB,EAAwB;AACvB,qBAAQ14B,CAAC,EAAT,EAAc;AACb,oBAAK,EAAG60B,SAAS,CAAE70B,CAAF,CAAT,IAAkB24B,UAAU,CAAE34B,CAAF,CAA/B,CAAL,EAA8C;AAC7C24B,4BAAU,CAAE34B,CAAF,CAAV,GAAkB8rB,GAAG,CAAClnB,IAAJ,CAAU8kB,OAAV,CAAlB;AACA;AACD;AACD,aATU,CAWX;;;AACAiP,sBAAU,GAAG3B,QAAQ,CAAE2B,UAAF,CAArB;AACA,WAnBiC,CAqBlC;;;AACAn2B,cAAI,CAACmC,KAAL,CAAY+kB,OAAZ,EAAqBiP,UAArB,EAtBkC,CAwBlC;;AACA,cAAKF,SAAS,IAAI,CAAClK,IAAd,IAAsBoK,UAAU,CAACx2B,MAAX,GAAoB,CAA1C,IACFu2B,YAAY,GAAGL,WAAW,CAACl2B,MAA7B,GAAwC,CADzC,EAC6C;AAE5CkoB,kBAAM,CAACuI,UAAP,CAAmBlJ,OAAnB;AACA;AACD,SA1GgE,CA4GjE;;;AACA,YAAK+O,SAAL,EAAiB;AAChBlN,iBAAO,GAAGsN,aAAV;AACAjO,0BAAgB,GAAGgO,aAAnB;AACA;;AAED,eAAO/D,SAAP;AACA,OArHF;;AAuHA,aAAOyD,KAAK,GACX5I,YAAY,CAAE8I,YAAF,CADD,GAEXA,YAFD;AAGA;;AAED9N,WAAO,GAAGL,MAAM,CAACK,OAAP,GAAiB,UAAUnD,QAAV,EAAoBmH;AAAM;AAA1B,MAAoD;AAC9E,UAAI1uB,CAAJ;AAAA,UACCq4B,WAAW,GAAG,EADf;AAAA,UAECD,eAAe,GAAG,EAFnB;AAAA,UAGChC,MAAM,GAAGzK,aAAa,CAAEpE,QAAQ,GAAG,GAAb,CAHvB;;AAKA,UAAK,CAAC6O,MAAN,EAAe;AAEd;AACA,YAAK,CAAC1H,KAAN,EAAc;AACbA,eAAK,GAAGjE,QAAQ,CAAElD,QAAF,CAAhB;AACA;;AACDvnB,SAAC,GAAG0uB,KAAK,CAACvsB,MAAV;;AACA,eAAQnC,CAAC,EAAT,EAAc;AACbo2B,gBAAM,GAAGyB,iBAAiB,CAAEnJ,KAAK,CAAE1uB,CAAF,CAAP,CAA1B;;AACA,cAAKo2B,MAAM,CAAEjN,OAAF,CAAX,EAAyB;AACxBkP,uBAAW,CAAC71B,IAAZ,CAAkB4zB,MAAlB;AACA,WAFD,MAEO;AACNgC,2BAAe,CAAC51B,IAAhB,CAAsB4zB,MAAtB;AACA;AACD,SAda,CAgBd;;;AACAA,cAAM,GAAGzK,aAAa,CACrBpE,QADqB,EAErB4Q,wBAAwB,CAAEC,eAAF,EAAmBC,WAAnB,CAFH,CAAtB,CAjBc,CAsBd;;AACAjC,cAAM,CAAC7O,QAAP,GAAkBA,QAAlB;AACA;;AACD,aAAO6O,MAAP;AACA,KAhCD;AAkCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAzL,UAAM,GAAGN,MAAM,CAACM,MAAP,GAAgB,UAAUpD,QAAV,EAAoBpmB,OAApB,EAA6BuoB,OAA7B,EAAsC6E,IAAtC,EAA6C;AACrE,UAAIvuB,CAAJ;AAAA,UAAOi2B,MAAP;AAAA,UAAe6C,KAAf;AAAA,UAAsBtpB,IAAtB;AAAA,UAA4BlQ,IAA5B;AAAA,UACCy5B,QAAQ,GAAG,OAAOxR,QAAP,KAAoB,UAApB,IAAkCA,QAD9C;AAAA,UAECmH,KAAK,GAAG,CAACH,IAAD,IAAS9D,QAAQ,CAAIlD,QAAQ,GAAGwR,QAAQ,CAACxR,QAAT,IAAqBA,QAApC,CAF1B;AAIAmC,aAAO,GAAGA,OAAO,IAAI,EAArB,CALqE,CAOrE;AACA;;AACA,UAAKgF,KAAK,CAACvsB,MAAN,KAAiB,CAAtB,EAA0B;AAEzB;AACA8zB,cAAM,GAAGvH,KAAK,CAAE,CAAF,CAAL,GAAaA,KAAK,CAAE,CAAF,CAAL,CAAW9U,KAAX,CAAkB,CAAlB,CAAtB;;AACA,YAAKqc,MAAM,CAAC9zB,MAAP,GAAgB,CAAhB,IAAqB,CAAE22B,KAAK,GAAG7C,MAAM,CAAE,CAAF,CAAhB,EAAwBzmB,IAAxB,KAAiC,IAAtD,IACJrO,OAAO,CAAC2a,QAAR,KAAqB,CADjB,IACsBmP,cADtB,IACwCX,IAAI,CAAC6I,QAAL,CAAe8C,MAAM,CAAE,CAAF,CAAN,CAAYzmB,IAA3B,CAD7C,EACiF;AAEhFrO,iBAAO,GAAG,CAAEmpB,IAAI,CAAChrB,IAAL,CAAW,IAAX,EAAmBw5B,KAAK,CAACvc,OAAN,CAAe,CAAf,EAC7BjZ,OAD6B,CACpB8pB,SADoB,EACTC,SADS,CAAnB,EACuBlsB,OADvB,KACoC,EADtC,EAC4C,CAD5C,CAAV;;AAEA,cAAK,CAACA,OAAN,EAAgB;AACf,mBAAOuoB,OAAP,CADe,CAGhB;AACC,WAJD,MAIO,IAAKqP,QAAL,EAAgB;AACtB53B,mBAAO,GAAGA,OAAO,CAACmR,UAAlB;AACA;;AAEDiV,kBAAQ,GAAGA,QAAQ,CAAC3N,KAAT,CAAgBqc,MAAM,CAACxG,KAAP,GAAenL,KAAf,CAAqBniB,MAArC,CAAX;AACA,SAlBwB,CAoBzB;;;AACAnC,SAAC,GAAG6sB,SAAS,CAAE,cAAF,CAAT,CAA4BjY,IAA5B,CAAkC2S,QAAlC,IAA+C,CAA/C,GAAmD0O,MAAM,CAAC9zB,MAA9D;;AACA,eAAQnC,CAAC,EAAT,EAAc;AACb84B,eAAK,GAAG7C,MAAM,CAAEj2B,CAAF,CAAd,CADa,CAGb;;AACA,cAAKsqB,IAAI,CAAC6I,QAAL,CAAiB3jB,IAAI,GAAGspB,KAAK,CAACtpB,IAA9B,CAAL,EAA8C;AAC7C;AACA;;AACD,cAAOlQ,IAAI,GAAGgrB,IAAI,CAAChrB,IAAL,CAAWkQ,IAAX,CAAd,EAAoC;AAEnC;AACA,gBAAO+e,IAAI,GAAGjvB,IAAI,CACjBw5B,KAAK,CAACvc,OAAN,CAAe,CAAf,EAAmBjZ,OAAnB,CAA4B8pB,SAA5B,EAAuCC,SAAvC,CADiB,EAEjBF,QAAQ,CAACvY,IAAT,CAAeqhB,MAAM,CAAE,CAAF,CAAN,CAAYzmB,IAA3B,KAAqC0f,WAAW,CAAE/tB,OAAO,CAACmR,UAAV,CAAhD,IACCnR,OAHgB,CAAlB,EAIM;AAEL;AACA80B,oBAAM,CAACxc,MAAP,CAAezZ,CAAf,EAAkB,CAAlB;AACAunB,sBAAQ,GAAGgH,IAAI,CAACpsB,MAAL,IAAegtB,UAAU,CAAE8G,MAAF,CAApC;;AACA,kBAAK,CAAC1O,QAAN,EAAiB;AAChB/kB,oBAAI,CAACmC,KAAL,CAAY+kB,OAAZ,EAAqB6E,IAArB;AACA,uBAAO7E,OAAP;AACA;;AAED;AACA;AACD;AACD;AACD,OA3DoE,CA6DrE;AACA;;;AACA,OAAEqP,QAAQ,IAAIrO,OAAO,CAAEnD,QAAF,EAAYmH,KAAZ,CAArB,EACCH,IADD,EAECptB,OAFD,EAGC,CAAC8pB,cAHF,EAICvB,OAJD,EAKC,CAACvoB,OAAD,IAAYgsB,QAAQ,CAACvY,IAAT,CAAe2S,QAAf,KAA6B2H,WAAW,CAAE/tB,OAAO,CAACmR,UAAV,CAApD,IAA8EnR,OAL/E;AAOA,aAAOuoB,OAAP;AACA,KAvED,CAjwEqB,CA00ErB;AAEA;;;AACA9I,WAAO,CAACmS,UAAR,GAAqB5J,OAAO,CAACiB,KAAR,CAAe,EAAf,EAAoBxB,IAApB,CAA0BiD,SAA1B,EAAsCuD,IAAtC,CAA4C,EAA5C,MAAqDjG,OAA1E,CA70EqB,CA+0ErB;AACA;;AACAvI,WAAO,CAACkS,gBAAR,GAA2B,CAAC,CAAChI,YAA7B,CAj1EqB,CAm1ErB;;AACAC,eAAW,GAp1EU,CAs1ErB;AACA;;AACAnK,WAAO,CAACyR,YAAR,GAAuB1C,MAAM,CAAE,UAAUnM,EAAV,EAAe;AAE7C;AACA,aAAOA,EAAE,CAACyO,uBAAH,CAA4B7wB,QAAQ,CAAC4Q,aAAT,CAAwB,UAAxB,CAA5B,IAAqE,CAA5E;AACA,KAJ4B,CAA7B,CAx1EqB,CA81ErB;AACA;AACA;;AACA,QAAK,CAAC2d,MAAM,CAAE,UAAUnM,EAAV,EAAe;AAC5BA,QAAE,CAACkO,SAAH,GAAe,kBAAf;AACA,aAAOlO,EAAE,CAACyP,UAAH,CAAc3S,YAAd,CAA4B,MAA5B,MAAyC,GAAhD;AACA,KAHW,CAAZ,EAGM;AACLsP,eAAS,CAAE,wBAAF,EAA4B,UAAU7U,IAAV,EAAgB8N,IAAhB,EAAsB2B,KAAtB,EAA8B;AAClE,YAAK,CAACA,KAAN,EAAc;AACb,iBAAOzP,IAAI,CAACuF,YAAL,CAAmBuI,IAAnB,EAAyBA,IAAI,CAACvF,WAAL,OAAuB,MAAvB,GAAgC,CAAhC,GAAoC,CAA7D,CAAP;AACA;AACD,OAJQ,CAAT;AAKA,KA12EoB,CA42ErB;AACA;;;AACA,QAAK,CAAC1C,OAAO,CAACpb,UAAT,IAAuB,CAACmqB,MAAM,CAAE,UAAUnM,EAAV,EAAe;AACnDA,QAAE,CAACkO,SAAH,GAAe,UAAf;AACAlO,QAAE,CAACyP,UAAH,CAAc/R,YAAd,CAA4B,OAA5B,EAAqC,EAArC;AACA,aAAOsC,EAAE,CAACyP,UAAH,CAAc3S,YAAd,CAA4B,OAA5B,MAA0C,EAAjD;AACA,KAJkC,CAAnC,EAIM;AACLsP,eAAS,CAAE,OAAF,EAAW,UAAU7U,IAAV,EAAgBie,KAAhB,EAAuBxO,KAAvB,EAA+B;AAClD,YAAK,CAACA,KAAD,IAAUzP,IAAI,CAACY,QAAL,CAAc2H,WAAd,OAAgC,OAA/C,EAAyD;AACxD,iBAAOvI,IAAI,CAACke,YAAZ;AACA;AACD,OAJQ,CAAT;AAKA,KAx3EoB,CA03ErB;AACA;;;AACA,QAAK,CAACtJ,MAAM,CAAE,UAAUnM,EAAV,EAAe;AAC5B,aAAOA,EAAE,CAAClD,YAAH,CAAiB,UAAjB,KAAiC,IAAxC;AACA,KAFW,CAAZ,EAEM;AACLsP,eAAS,CAAE3D,QAAF,EAAY,UAAUlR,IAAV,EAAgB8N,IAAhB,EAAsB2B,KAAtB,EAA8B;AAClD,YAAIzD,GAAJ;;AACA,YAAK,CAACyD,KAAN,EAAc;AACb,iBAAOzP,IAAI,CAAE8N,IAAF,CAAJ,KAAiB,IAAjB,GAAwBA,IAAI,CAACvF,WAAL,EAAxB,GACN,CAAEyD,GAAG,GAAGhM,IAAI,CAACwW,gBAAL,CAAuB1I,IAAvB,CAAR,KAA2C9B,GAAG,CAAC2L,SAA/C,GACC3L,GAAG,CAACzC,KADL,GAEC,IAHF;AAIA;AACD,OARQ,CAAT;AASA;;AAED,WAAO+F,MAAP;AAEC,GA54ED,CA44EK5oB,MA54EL,CAXA;;AA25EA2Y,QAAM,CAAC9a,IAAP,GAAc+qB,MAAd;AACAjQ,QAAM,CAACkL,IAAP,GAAc+E,MAAM,CAACtnB,SAArB,CA/3FiF,CAi4FjF;;AACAqX,QAAM,CAACkL,IAAP,CAAa,GAAb,IAAqBlL,MAAM,CAACkL,IAAP,CAAY8G,OAAjC;AACAhS,QAAM,CAACwY,UAAP,GAAoBxY,MAAM,CAAC8e,MAAP,GAAgB7O,MAAM,CAACuI,UAA3C;AACAxY,QAAM,CAAC6M,IAAP,GAAcoD,MAAM,CAACE,OAArB;AACAnQ,QAAM,CAAC+e,QAAP,GAAkB9O,MAAM,CAACG,KAAzB;AACApQ,QAAM,CAACgR,QAAP,GAAkBf,MAAM,CAACe,QAAzB;AACAhR,QAAM,CAACgf,cAAP,GAAwB/O,MAAM,CAACiD,MAA/B;;AAKA,MAAIc,GAAG,GAAG,aAAUrT,IAAV,EAAgBqT,IAAhB,EAAqBiL,KAArB,EAA6B;AACtC,QAAI1E,OAAO,GAAG,EAAd;AAAA,QACC2E,QAAQ,GAAGD,KAAK,KAAK31B,SADtB;;AAGA,WAAQ,CAAEqX,IAAI,GAAGA,IAAI,CAAEqT,IAAF,CAAb,KAA0BrT,IAAI,CAACe,QAAL,KAAkB,CAApD,EAAwD;AACvD,UAAKf,IAAI,CAACe,QAAL,KAAkB,CAAvB,EAA2B;AAC1B,YAAKwd,QAAQ,IAAIlf,MAAM,CAAEW,IAAF,CAAN,CAAetJ,EAAf,CAAmB4nB,KAAnB,CAAjB,EAA8C;AAC7C;AACA;;AACD1E,eAAO,CAACnyB,IAAR,CAAcuY,IAAd;AACA;AACD;;AACD,WAAO4Z,OAAP;AACA,GAbD;;AAgBA,MAAIhnB,SAAQ,GAAG,SAAXA,QAAW,CAAU4rB,CAAV,EAAaxe,IAAb,EAAoB;AAClC,QAAI4Z,OAAO,GAAG,EAAd;;AAEA,WAAQ4E,CAAR,EAAWA,CAAC,GAAGA,CAAC,CAACnJ,WAAjB,EAA+B;AAC9B,UAAKmJ,CAAC,CAACzd,QAAF,KAAe,CAAf,IAAoByd,CAAC,KAAKxe,IAA/B,EAAsC;AACrC4Z,eAAO,CAACnyB,IAAR,CAAc+2B,CAAd;AACA;AACD;;AAED,WAAO5E,OAAP;AACA,GAVD;;AAaA,MAAI6E,aAAa,GAAGpf,MAAM,CAACkL,IAAP,CAAYoJ,KAAZ,CAAkB+K,YAAtC;;AAIA,WAAS9d,QAAT,CAAmBZ,IAAnB,EAAyB8N,IAAzB,EAAgC;AAE/B,WAAO9N,IAAI,CAACY,QAAL,IAAiBZ,IAAI,CAACY,QAAL,CAAc2H,WAAd,OAAgCuF,IAAI,CAACvF,WAAL,EAAxD;AAEA;;AACD,MAAIoW,UAAU,GAAK,iEAAnB,CAl7FiF,CAs7FjF;;AACA,WAASC,MAAT,CAAiBve,QAAjB,EAA2Bwe,SAA3B,EAAsCC,GAAtC,EAA4C;AAC3C,QAAKhZ,UAAU,CAAE+Y,SAAF,CAAf,EAA+B;AAC9B,aAAOxf,MAAM,CAACkO,IAAP,CAAalN,QAAb,EAAuB,UAAUL,IAAV,EAAgB/a,CAAhB,EAAoB;AACjD,eAAO,CAAC,CAAC45B,SAAS,CAACh1B,IAAV,CAAgBmW,IAAhB,EAAsB/a,CAAtB,EAAyB+a,IAAzB,CAAF,KAAsC8e,GAA7C;AACA,OAFM,CAAP;AAGA,KAL0C,CAO3C;;;AACA,QAAKD,SAAS,CAAC9d,QAAf,EAA0B;AACzB,aAAO1B,MAAM,CAACkO,IAAP,CAAalN,QAAb,EAAuB,UAAUL,IAAV,EAAiB;AAC9C,eAASA,IAAI,KAAK6e,SAAX,KAA2BC,GAAlC;AACA,OAFM,CAAP;AAGA,KAZ0C,CAc3C;;;AACA,QAAK,OAAOD,SAAP,KAAqB,QAA1B,EAAqC;AACpC,aAAOxf,MAAM,CAACkO,IAAP,CAAalN,QAAb,EAAuB,UAAUL,IAAV,EAAiB;AAC9C,eAAS3a,OAAO,CAACwE,IAAR,CAAcg1B,SAAd,EAAyB7e,IAAzB,IAAkC,CAAC,CAArC,KAA6C8e,GAApD;AACA,OAFM,CAAP;AAGA,KAnB0C,CAqB3C;;;AACA,WAAOzf,MAAM,CAAC/W,MAAP,CAAeu2B,SAAf,EAA0Bxe,QAA1B,EAAoCye,GAApC,CAAP;AACA;;AAEDzf,QAAM,CAAC/W,MAAP,GAAgB,UAAUiiB,IAAV,EAAgBwC,KAAhB,EAAuB+R,GAAvB,EAA6B;AAC5C,QAAI9e,IAAI,GAAG+M,KAAK,CAAE,CAAF,CAAhB;;AAEA,QAAK+R,GAAL,EAAW;AACVvU,UAAI,GAAG,UAAUA,IAAV,GAAiB,GAAxB;AACA;;AAED,QAAKwC,KAAK,CAAC3lB,MAAN,KAAiB,CAAjB,IAAsB4Y,IAAI,CAACe,QAAL,KAAkB,CAA7C,EAAiD;AAChD,aAAO1B,MAAM,CAAC9a,IAAP,CAAYqyB,eAAZ,CAA6B5W,IAA7B,EAAmCuK,IAAnC,IAA4C,CAAEvK,IAAF,CAA5C,GAAuD,EAA9D;AACA;;AAED,WAAOX,MAAM,CAAC9a,IAAP,CAAYid,OAAZ,CAAqB+I,IAArB,EAA2BlL,MAAM,CAACkO,IAAP,CAAaR,KAAb,EAAoB,UAAU/M,IAAV,EAAiB;AACtE,aAAOA,IAAI,CAACe,QAAL,KAAkB,CAAzB;AACA,KAFiC,CAA3B,CAAP;AAGA,GAdD;;AAgBA1B,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjBlP,QAAI,EAAE,cAAUioB,QAAV,EAAqB;AAC1B,UAAIvnB,CAAJ;AAAA,UAAO+nB,GAAP;AAAA,UACCU,GAAG,GAAG,KAAKtmB,MADZ;AAAA,UAECgY,IAAI,GAAG,IAFR;;AAIA,UAAK,OAAOoN,QAAP,KAAoB,QAAzB,EAAoC;AACnC,eAAO,KAAKM,SAAL,CAAgBzN,MAAM,CAAEmN,QAAF,CAAN,CAAmBlkB,MAAnB,CAA2B,YAAW;AAC5D,eAAMrD,CAAC,GAAG,CAAV,EAAaA,CAAC,GAAGyoB,GAAjB,EAAsBzoB,CAAC,EAAvB,EAA4B;AAC3B,gBAAKoa,MAAM,CAACgR,QAAP,CAAiBjR,IAAI,CAAEna,CAAF,CAArB,EAA4B,IAA5B,CAAL,EAA0C;AACzC,qBAAO,IAAP;AACA;AACD;AACD,SANsB,CAAhB,CAAP;AAOA;;AAED+nB,SAAG,GAAG,KAAKF,SAAL,CAAgB,EAAhB,CAAN;;AAEA,WAAM7nB,CAAC,GAAG,CAAV,EAAaA,CAAC,GAAGyoB,GAAjB,EAAsBzoB,CAAC,EAAvB,EAA4B;AAC3Boa,cAAM,CAAC9a,IAAP,CAAaioB,QAAb,EAAuBpN,IAAI,CAAEna,CAAF,CAA3B,EAAkC+nB,GAAlC;AACA;;AAED,aAAOU,GAAG,GAAG,CAAN,GAAUrO,MAAM,CAACwY,UAAP,CAAmB7K,GAAnB,CAAV,GAAqCA,GAA5C;AACA,KAvBgB;AAwBjB1kB,UAAM,EAAE,gBAAUkkB,QAAV,EAAqB;AAC5B,aAAO,KAAKM,SAAL,CAAgB8R,MAAM,CAAE,IAAF,EAAQpS,QAAQ,IAAI,EAApB,EAAwB,KAAxB,CAAtB,CAAP;AACA,KA1BgB;AA2BjBsS,OAAG,EAAE,aAAUtS,QAAV,EAAqB;AACzB,aAAO,KAAKM,SAAL,CAAgB8R,MAAM,CAAE,IAAF,EAAQpS,QAAQ,IAAI,EAApB,EAAwB,IAAxB,CAAtB,CAAP;AACA,KA7BgB;AA8BjB9V,MAAE,EAAE,YAAU8V,QAAV,EAAqB;AACxB,aAAO,CAAC,CAACoS,MAAM,CACd,IADc,EAGd;AACA;AACA,aAAOpS,QAAP,KAAoB,QAApB,IAAgCiS,aAAa,CAAC5kB,IAAd,CAAoB2S,QAApB,CAAhC,GACCnN,MAAM,CAAEmN,QAAF,CADP,GAECA,QAAQ,IAAI,EAPC,EAQd,KARc,CAAN,CASPplB,MATF;AAUA;AAzCgB,GAAlB,EAh+FiF,CA6gGjF;AAGA;;AACA,MAAI23B,UAAJ;AAAA,MAEC;AACA;AACA;AACA;AACA5M,YAAU,GAAG,qCANd;AAAA,MAQCvsB,IAAI,GAAGyZ,MAAM,CAAC+D,EAAP,CAAUxd,IAAV,GAAiB,UAAU4mB,QAAV,EAAoBpmB,OAApB,EAA6BggB,IAA7B,EAAoC;AAC3D,QAAIuN,KAAJ,EAAW3T,IAAX,CAD2D,CAG3D;;AACA,QAAK,CAACwM,QAAN,EAAiB;AAChB,aAAO,IAAP;AACA,KAN0D,CAQ3D;AACA;;;AACApG,QAAI,GAAGA,IAAI,IAAI2Y,UAAf,CAV2D,CAY3D;;AACA,QAAK,OAAOvS,QAAP,KAAoB,QAAzB,EAAoC;AACnC,UAAKA,QAAQ,CAAE,CAAF,CAAR,KAAkB,GAAlB,IACJA,QAAQ,CAAEA,QAAQ,CAACplB,MAAT,GAAkB,CAApB,CAAR,KAAoC,GADhC,IAEJolB,QAAQ,CAACplB,MAAT,IAAmB,CAFpB,EAEwB;AAEvB;AACAusB,aAAK,GAAG,CAAE,IAAF,EAAQnH,QAAR,EAAkB,IAAlB,CAAR;AAEA,OAPD,MAOO;AACNmH,aAAK,GAAGxB,UAAU,CAAC1Q,IAAX,CAAiB+K,QAAjB,CAAR;AACA,OAVkC,CAYnC;;;AACA,UAAKmH,KAAK,KAAMA,KAAK,CAAE,CAAF,CAAL,IAAc,CAACvtB,OAArB,CAAV,EAA2C;AAE1C;AACA,YAAKutB,KAAK,CAAE,CAAF,CAAV,EAAkB;AACjBvtB,iBAAO,GAAGA,OAAO,YAAYiZ,MAAnB,GAA4BjZ,OAAO,CAAE,CAAF,CAAnC,GAA2CA,OAArD,CADiB,CAGjB;AACA;;AACAiZ,gBAAM,CAAC4N,KAAP,CAAc,IAAd,EAAoB5N,MAAM,CAAC2f,SAAP,CACnBrL,KAAK,CAAE,CAAF,CADc,EAEnBvtB,OAAO,IAAIA,OAAO,CAAC2a,QAAnB,GAA8B3a,OAAO,CAAC2tB,aAAR,IAAyB3tB,OAAvD,GAAiEC,QAF9C,EAGnB,IAHmB,CAApB,EALiB,CAWjB;;AACA,cAAKs4B,UAAU,CAAC9kB,IAAX,CAAiB8Z,KAAK,CAAE,CAAF,CAAtB,KAAiCtU,MAAM,CAAC8O,aAAP,CAAsB/nB,OAAtB,CAAtC,EAAwE;AACvE,iBAAMutB,KAAN,IAAevtB,OAAf,EAAyB;AAExB;AACA,kBAAK0f,UAAU,CAAE,KAAM6N,KAAN,CAAF,CAAf,EAAmC;AAClC,qBAAMA,KAAN,EAAevtB,OAAO,CAAEutB,KAAF,CAAtB,EADkC,CAGnC;AACC,eAJD,MAIO;AACN,qBAAKpuB,IAAL,CAAWouB,KAAX,EAAkBvtB,OAAO,CAAEutB,KAAF,CAAzB;AACA;AACD;AACD;;AAED,iBAAO,IAAP,CA1BiB,CA4BlB;AACC,SA7BD,MA6BO;AACN3T,cAAI,GAAG3Z,QAAQ,CAAC2tB,cAAT,CAAyBL,KAAK,CAAE,CAAF,CAA9B,CAAP;;AAEA,cAAK3T,IAAL,EAAY;AAEX;AACA,iBAAM,CAAN,IAAYA,IAAZ;AACA,iBAAK5Y,MAAL,GAAc,CAAd;AACA;;AACD,iBAAO,IAAP;AACA,SA1CyC,CA4C3C;;AACC,OA7CD,MA6CO,IAAK,CAAChB,OAAD,IAAYA,OAAO,CAACqmB,MAAzB,EAAkC;AACxC,eAAO,CAAErmB,OAAO,IAAIggB,IAAb,EAAoB7hB,IAApB,CAA0BioB,QAA1B,CAAP,CADwC,CAGzC;AACA;AACC,OALM,MAKA;AACN,eAAO,KAAKE,WAAL,CAAkBtmB,OAAlB,EAA4B7B,IAA5B,CAAkCioB,QAAlC,CAAP;AACA,OAjEkC,CAmEpC;;AACC,KApED,MAoEO,IAAKA,QAAQ,CAACzL,QAAd,EAAyB;AAC/B,WAAM,CAAN,IAAYyL,QAAZ;AACA,WAAKplB,MAAL,GAAc,CAAd;AACA,aAAO,IAAP,CAH+B,CAKhC;AACA;AACC,KAPM,MAOA,IAAK0e,UAAU,CAAE0G,QAAF,CAAf,EAA8B;AACpC,aAAOpG,IAAI,CAACzM,KAAL,KAAehR,SAAf,GACNyd,IAAI,CAACzM,KAAL,CAAY6S,QAAZ,CADM,GAGN;AACAA,cAAQ,CAAEnN,MAAF,CAJT;AAKA;;AAED,WAAOA,MAAM,CAACM,SAAP,CAAkB6M,QAAlB,EAA4B,IAA5B,CAAP;AACA,GAzGF,CAjhGiF,CA4nGjF;;;AACA5mB,MAAI,CAACqY,SAAL,GAAiBoB,MAAM,CAAC+D,EAAxB,CA7nGiF,CA+nGjF;;AACA2b,YAAU,GAAG1f,MAAM,CAAEhZ,QAAF,CAAnB;AAGA,MAAI44B,YAAY,GAAG,gCAAnB;AAAA,MAEC;AACAC,kBAAgB,GAAG;AAClB/d,YAAQ,EAAE,IADQ;AAElBge,YAAQ,EAAE,IAFQ;AAGlBrjB,QAAI,EAAE,IAHY;AAIlBjN,QAAI,EAAE;AAJY,GAHpB;AAUAwQ,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjB2rB,OAAG,EAAE,aAAU5wB,MAAV,EAAmB;AACvB,UAAI6wB,OAAO,GAAGhgB,MAAM,CAAE7Q,MAAF,EAAU,IAAV,CAApB;AAAA,UACC8wB,CAAC,GAAGD,OAAO,CAACj4B,MADb;AAGA,aAAO,KAAKkB,MAAL,CAAa,YAAW;AAC9B,YAAIrD,CAAC,GAAG,CAAR;;AACA,eAAQA,CAAC,GAAGq6B,CAAZ,EAAer6B,CAAC,EAAhB,EAAqB;AACpB,cAAKoa,MAAM,CAACgR,QAAP,CAAiB,IAAjB,EAAuBgP,OAAO,CAAEp6B,CAAF,CAA9B,CAAL,EAA6C;AAC5C,mBAAO,IAAP;AACA;AACD;AACD,OAPM,CAAP;AAQA,KAbgB;AAejBS,WAAO,EAAE,iBAAUsC,SAAV,EAAqB5B,OAArB,EAA+B;AACvC,UAAI8uB,GAAJ;AAAA,UACCjwB,CAAC,GAAG,CADL;AAAA,UAECq6B,CAAC,GAAG,KAAKl4B,MAFV;AAAA,UAGCwyB,OAAO,GAAG,EAHX;AAAA,UAICyF,OAAO,GAAG,OAAOr3B,SAAP,KAAqB,QAArB,IAAiCqX,MAAM,CAAErX,SAAF,CAJlD,CADuC,CAOvC;;AACA,UAAK,CAACy2B,aAAa,CAAC5kB,IAAd,CAAoB7R,SAApB,CAAN,EAAwC;AACvC,eAAQ/C,CAAC,GAAGq6B,CAAZ,EAAer6B,CAAC,EAAhB,EAAqB;AACpB,eAAMiwB,GAAG,GAAG,KAAMjwB,CAAN,CAAZ,EAAuBiwB,GAAG,IAAIA,GAAG,KAAK9uB,OAAtC,EAA+C8uB,GAAG,GAAGA,GAAG,CAAC3d,UAAzD,EAAsE;AAErE;AACA,gBAAK2d,GAAG,CAACnU,QAAJ,GAAe,EAAf,KAAuBse,OAAO,GAClCA,OAAO,CAAChyB,KAAR,CAAe6nB,GAAf,IAAuB,CAAC,CADU,GAGlC;AACAA,eAAG,CAACnU,QAAJ,KAAiB,CAAjB,IACC1B,MAAM,CAAC9a,IAAP,CAAYqyB,eAAZ,CAA6B1B,GAA7B,EAAkCltB,SAAlC,CALG,CAAL,EAKoD;AAEnD4xB,qBAAO,CAACnyB,IAAR,CAAcytB,GAAd;AACA;AACA;AACD;AACD;AACD;;AAED,aAAO,KAAKpI,SAAL,CAAgB8M,OAAO,CAACxyB,MAAR,GAAiB,CAAjB,GAAqBiY,MAAM,CAACwY,UAAP,CAAmB+B,OAAnB,CAArB,GAAoDA,OAApE,CAAP;AACA,KA3CgB;AA6CjB;AACAvsB,SAAK,EAAE,eAAU2S,IAAV,EAAiB;AAEvB;AACA,UAAK,CAACA,IAAN,EAAa;AACZ,eAAS,KAAM,CAAN,KAAa,KAAM,CAAN,EAAUzI,UAAzB,GAAwC,KAAKjS,KAAL,GAAai6B,OAAb,GAAuBn4B,MAA/D,GAAwE,CAAC,CAAhF;AACA,OALsB,CAOvB;;;AACA,UAAK,OAAO4Y,IAAP,KAAgB,QAArB,EAAgC;AAC/B,eAAO3a,OAAO,CAACwE,IAAR,CAAcwV,MAAM,CAAEW,IAAF,CAApB,EAA8B,KAAM,CAAN,CAA9B,CAAP;AACA,OAVsB,CAYvB;;;AACA,aAAO3a,OAAO,CAACwE,IAAR,CAAc,IAAd,EAEN;AACAmW,UAAI,CAACyM,MAAL,GAAczM,IAAI,CAAE,CAAF,CAAlB,GAA0BA,IAHpB,CAAP;AAKA,KAhEgB;AAkEjB3W,OAAG,EAAE,aAAUmjB,QAAV,EAAoBpmB,OAApB,EAA8B;AAClC,aAAO,KAAK0mB,SAAL,CACNzN,MAAM,CAACwY,UAAP,CACCxY,MAAM,CAAC4N,KAAP,CAAc,KAAKL,GAAL,EAAd,EAA0BvN,MAAM,CAAEmN,QAAF,EAAYpmB,OAAZ,CAAhC,CADD,CADM,CAAP;AAKA,KAxEgB;AA0EjBo5B,WAAO,EAAE,iBAAUhT,QAAV,EAAqB;AAC7B,aAAO,KAAKnjB,GAAL,CAAUmjB,QAAQ,IAAI,IAAZ,GAChB,KAAKU,UADW,GACE,KAAKA,UAAL,CAAgB5kB,MAAhB,CAAwBkkB,QAAxB,CADZ,CAAP;AAGA;AA9EgB,GAAlB;;AAiFA,WAASiT,OAAT,CAAkBvK,GAAlB,EAAuB7B,GAAvB,EAA6B;AAC5B,WAAQ,CAAE6B,GAAG,GAAGA,GAAG,CAAE7B,GAAF,CAAX,KAAwB6B,GAAG,CAACnU,QAAJ,KAAiB,CAAjD,EAAqD,CAAE;;AACvD,WAAOmU,GAAP;AACA;;AAED7V,QAAM,CAAC7a,IAAP,CAAa;AACZ2B,UAAM,EAAE,gBAAU6Z,IAAV,EAAiB;AACxB,UAAI7Z,MAAM,GAAG6Z,IAAI,CAACzI,UAAlB;AACA,aAAOpR,MAAM,IAAIA,MAAM,CAAC4a,QAAP,KAAoB,EAA9B,GAAmC5a,MAAnC,GAA4C,IAAnD;AACA,KAJW;AAKZu5B,WAAO,EAAE,iBAAU1f,IAAV,EAAiB;AACzB,aAAOqT,GAAG,CAAErT,IAAF,EAAQ,YAAR,CAAV;AACA,KAPW;AAQZ2f,gBAAY,EAAE,sBAAU3f,IAAV,EAAgB1P,EAAhB,EAAoBguB,KAApB,EAA4B;AACzC,aAAOjL,GAAG,CAAErT,IAAF,EAAQ,YAAR,EAAsBse,KAAtB,CAAV;AACA,KAVW;AAWZxiB,QAAI,EAAE,cAAUkE,IAAV,EAAiB;AACtB,aAAOyf,OAAO,CAAEzf,IAAF,EAAQ,aAAR,CAAd;AACA,KAbW;AAcZnR,QAAI,EAAE,cAAUmR,IAAV,EAAiB;AACtB,aAAOyf,OAAO,CAAEzf,IAAF,EAAQ,iBAAR,CAAd;AACA,KAhBW;AAiBZ4f,WAAO,EAAE,iBAAU5f,IAAV,EAAiB;AACzB,aAAOqT,GAAG,CAAErT,IAAF,EAAQ,aAAR,CAAV;AACA,KAnBW;AAoBZuf,WAAO,EAAE,iBAAUvf,IAAV,EAAiB;AACzB,aAAOqT,GAAG,CAAErT,IAAF,EAAQ,iBAAR,CAAV;AACA,KAtBW;AAuBZ6f,aAAS,EAAE,mBAAU7f,IAAV,EAAgB1P,EAAhB,EAAoBguB,KAApB,EAA4B;AACtC,aAAOjL,GAAG,CAAErT,IAAF,EAAQ,aAAR,EAAuBse,KAAvB,CAAV;AACA,KAzBW;AA0BZwB,aAAS,EAAE,mBAAU9f,IAAV,EAAgB1P,EAAhB,EAAoBguB,KAApB,EAA4B;AACtC,aAAOjL,GAAG,CAAErT,IAAF,EAAQ,iBAAR,EAA2Bse,KAA3B,CAAV;AACA,KA5BW;AA6BZ1rB,YAAQ,EAAE,kBAAUoN,IAAV,EAAiB;AAC1B,aAAOpN,SAAQ,CAAE,CAAEoN,IAAI,CAACzI,UAAL,IAAmB,EAArB,EAA0B2gB,UAA5B,EAAwClY,IAAxC,CAAf;AACA,KA/BW;AAgCZmB,YAAQ,EAAE,kBAAUnB,IAAV,EAAiB;AAC1B,aAAOpN,SAAQ,CAAEoN,IAAI,CAACkY,UAAP,CAAf;AACA,KAlCW;AAmCZiH,YAAQ,EAAE,kBAAUnf,IAAV,EAAiB;AAC1B,UAAKA,IAAI,CAAC+f,eAAL,IAAwB,IAAxB,IAEJ;AACA;AACA;AACAlV,cAAQ,CAAE7K,IAAI,CAAC+f,eAAP,CALT,EAKoC;AAEnC,eAAO/f,IAAI,CAAC+f,eAAZ;AACA,OATyB,CAW1B;AACA;AACA;;;AACA,UAAKnf,QAAQ,CAAEZ,IAAF,EAAQ,UAAR,CAAb,EAAoC;AACnCA,YAAI,GAAGA,IAAI,CAACggB,OAAL,IAAgBhgB,IAAvB;AACA;;AAED,aAAOX,MAAM,CAAC4N,KAAP,CAAc,EAAd,EAAkBjN,IAAI,CAACsT,UAAvB,CAAP;AACA;AAtDW,GAAb,EAuDG,UAAUxF,IAAV,EAAgB1K,EAAhB,EAAqB;AACvB/D,UAAM,CAAC+D,EAAP,CAAW0K,IAAX,IAAoB,UAAUwQ,KAAV,EAAiB9R,QAAjB,EAA4B;AAC/C,UAAIoN,OAAO,GAAGva,MAAM,CAAC8N,GAAP,CAAY,IAAZ,EAAkB/J,EAAlB,EAAsBkb,KAAtB,CAAd;;AAEA,UAAKxQ,IAAI,CAACjP,KAAL,CAAY,CAAC,CAAb,MAAqB,OAA1B,EAAoC;AACnC2N,gBAAQ,GAAG8R,KAAX;AACA;;AAED,UAAK9R,QAAQ,IAAI,OAAOA,QAAP,KAAoB,QAArC,EAAgD;AAC/CoN,eAAO,GAAGva,MAAM,CAAC/W,MAAP,CAAekkB,QAAf,EAAyBoN,OAAzB,CAAV;AACA;;AAED,UAAK,KAAKxyB,MAAL,GAAc,CAAnB,EAAuB;AAEtB;AACA,YAAK,CAAC83B,gBAAgB,CAAEpR,IAAF,CAAtB,EAAiC;AAChCzO,gBAAM,CAACwY,UAAP,CAAmB+B,OAAnB;AACA,SALqB,CAOtB;;;AACA,YAAKqF,YAAY,CAACplB,IAAb,CAAmBiU,IAAnB,CAAL,EAAiC;AAChC8L,iBAAO,CAACqG,OAAR;AACA;AACD;;AAED,aAAO,KAAKnT,SAAL,CAAgB8M,OAAhB,CAAP;AACA,KAzBD;AA0BA,GAlFD;AAmFA,MAAIsG,aAAa,GAAK,mBAAtB,CAtzGiF,CA0zGjF;;AACA,WAASC,aAAT,CAAwBlgB,OAAxB,EAAkC;AACjC,QAAImgB,MAAM,GAAG,EAAb;AACA/gB,UAAM,CAAC7a,IAAP,CAAayb,OAAO,CAAC0T,KAAR,CAAeuM,aAAf,KAAkC,EAA/C,EAAmD,UAAUG,CAAV,EAAaC,IAAb,EAAoB;AACtEF,YAAM,CAAEE,IAAF,CAAN,GAAiB,IAAjB;AACA,KAFD;AAGA,WAAOF,MAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA/gB,QAAM,CAACkhB,SAAP,GAAmB,UAAUtgB,OAAV,EAAoB;AAEtC;AACA;AACAA,WAAO,GAAG,OAAOA,OAAP,KAAmB,QAAnB,GACTkgB,aAAa,CAAElgB,OAAF,CADJ,GAETZ,MAAM,CAAC5L,MAAP,CAAe,EAAf,EAAmBwM,OAAnB,CAFD;;AAIA,QAAI;AACHugB,UADD;AAAA,QAGC;AACAC,UAJD;AAAA,QAMC;AACAC,UAPD;AAAA,QASC;AACAC,WAVD;AAAA,QAYC;AACA1P,QAAI,GAAG,EAbR;AAAA,QAeC;AACAtH,SAAK,GAAG,EAhBT;AAAA,QAkBC;AACAiX,eAAW,GAAG,CAAC,CAnBhB;AAAA,QAqBC;AACAC,QAAI,GAAG,SAAPA,IAAO,GAAW;AAEjB;AACAF,aAAM,GAAGA,OAAM,IAAI1gB,OAAO,CAAC3B,IAA3B,CAHiB,CAKjB;AACA;;AACAoiB,YAAK,GAAGF,MAAM,GAAG,IAAjB;;AACA,aAAQ7W,KAAK,CAACviB,MAAd,EAAsBw5B,WAAW,GAAG,CAAC,CAArC,EAAyC;AACxCH,cAAM,GAAG9W,KAAK,CAAC+K,KAAN,EAAT;;AACA,eAAQ,EAAEkM,WAAF,GAAgB3P,IAAI,CAAC7pB,MAA7B,EAAsC;AAErC;AACA,cAAK6pB,IAAI,CAAE2P,WAAF,CAAJ,CAAoBh3B,KAApB,CAA2B62B,MAAM,CAAE,CAAF,CAAjC,EAAwCA,MAAM,CAAE,CAAF,CAA9C,MAA0D,KAA1D,IACJxgB,OAAO,CAAC6gB,WADT,EACuB;AAEtB;AACAF,uBAAW,GAAG3P,IAAI,CAAC7pB,MAAnB;AACAq5B,kBAAM,GAAG,KAAT;AACA;AACD;AACD,OArBgB,CAuBjB;;;AACA,UAAK,CAACxgB,OAAO,CAACwgB,MAAd,EAAuB;AACtBA,cAAM,GAAG,KAAT;AACA;;AAEDD,YAAM,GAAG,KAAT,CA5BiB,CA8BjB;;AACA,UAAKG,OAAL,EAAc;AAEb;AACA,YAAKF,MAAL,EAAc;AACbxP,cAAI,GAAG,EAAP,CADa,CAGd;AACC,SAJD,MAIO;AACNA,cAAI,GAAG,EAAP;AACA;AACD;AACD,KAhEF;AAAA,QAkEC;AACA7R,QAAI,GAAG;AAEN;AACA/V,SAAG,EAAE,eAAW;AACf,YAAK4nB,IAAL,EAAY;AAEX;AACA,cAAKwP,MAAM,IAAI,CAACD,MAAhB,EAAyB;AACxBI,uBAAW,GAAG3P,IAAI,CAAC7pB,MAAL,GAAc,CAA5B;AACAuiB,iBAAK,CAACliB,IAAN,CAAYg5B,MAAZ;AACA;;AAED,WAAE,SAASp3B,GAAT,CAAcuV,IAAd,EAAqB;AACtBS,kBAAM,CAAC7a,IAAP,CAAaoa,IAAb,EAAmB,UAAUyhB,CAAV,EAAapR,GAAb,EAAmB;AACrC,kBAAKnJ,UAAU,CAAEmJ,GAAF,CAAf,EAAyB;AACxB,oBAAK,CAAChP,OAAO,CAACke,MAAT,IAAmB,CAAC/e,IAAI,CAACggB,GAAL,CAAUnQ,GAAV,CAAzB,EAA2C;AAC1CgC,sBAAI,CAACxpB,IAAL,CAAWwnB,GAAX;AACA;AACD,eAJD,MAIO,IAAKA,GAAG,IAAIA,GAAG,CAAC7nB,MAAX,IAAqBklB,MAAM,CAAE2C,GAAF,CAAN,KAAkB,QAA5C,EAAuD;AAE7D;AACA5lB,mBAAG,CAAE4lB,GAAF,CAAH;AACA;AACD,aAVD;AAWA,WAZD,EAYK7B,SAZL;;AAcA,cAAKqT,MAAM,IAAI,CAACD,MAAhB,EAAyB;AACxBK,gBAAI;AACJ;AACD;;AACD,eAAO,IAAP;AACA,OA/BK;AAiCN;AACAr7B,YAAM,EAAE,kBAAW;AAClB6Z,cAAM,CAAC7a,IAAP,CAAa4oB,SAAb,EAAwB,UAAUiT,CAAV,EAAapR,GAAb,EAAmB;AAC1C,cAAI5hB,KAAJ;;AACA,iBAAQ,CAAEA,KAAK,GAAGgS,MAAM,CAACuP,OAAP,CAAgBK,GAAhB,EAAqBgC,IAArB,EAA2B5jB,KAA3B,CAAV,IAAiD,CAAC,CAA1D,EAA8D;AAC7D4jB,gBAAI,CAACvS,MAAL,CAAarR,KAAb,EAAoB,CAApB,EAD6D,CAG7D;;AACA,gBAAKA,KAAK,IAAIuzB,WAAd,EAA4B;AAC3BA,yBAAW;AACX;AACD;AACD,SAVD;AAWA,eAAO,IAAP;AACA,OA/CK;AAiDN;AACA;AACAxB,SAAG,EAAE,aAAUhc,EAAV,EAAe;AACnB,eAAOA,EAAE,GACR/D,MAAM,CAACuP,OAAP,CAAgBxL,EAAhB,EAAoB6N,IAApB,IAA6B,CAAC,CADtB,GAERA,IAAI,CAAC7pB,MAAL,GAAc,CAFf;AAGA,OAvDK;AAyDN;AACAsO,WAAK,EAAE,iBAAW;AACjB,YAAKub,IAAL,EAAY;AACXA,cAAI,GAAG,EAAP;AACA;;AACD,eAAO,IAAP;AACA,OA/DK;AAiEN;AACA;AACA;AACA8P,aAAO,EAAE,mBAAW;AACnBJ,eAAM,GAAGhX,KAAK,GAAG,EAAjB;AACAsH,YAAI,GAAGwP,MAAM,GAAG,EAAhB;AACA,eAAO,IAAP;AACA,OAxEK;AAyENrN,cAAQ,EAAE,oBAAW;AACpB,eAAO,CAACnC,IAAR;AACA,OA3EK;AA6EN;AACA;AACA;AACA+P,UAAI,EAAE,gBAAW;AAChBL,eAAM,GAAGhX,KAAK,GAAG,EAAjB;;AACA,YAAK,CAAC8W,MAAD,IAAW,CAACD,MAAjB,EAA0B;AACzBvP,cAAI,GAAGwP,MAAM,GAAG,EAAhB;AACA;;AACD,eAAO,IAAP;AACA,OAtFK;AAuFNE,YAAM,EAAE,kBAAW;AAClB,eAAO,CAAC,CAACA,OAAT;AACA,OAzFK;AA2FN;AACAM,cAAQ,EAAE,kBAAU76B,OAAV,EAAmBwY,IAAnB,EAA0B;AACnC,YAAK,CAAC+hB,OAAN,EAAe;AACd/hB,cAAI,GAAGA,IAAI,IAAI,EAAf;AACAA,cAAI,GAAG,CAAExY,OAAF,EAAWwY,IAAI,CAACC,KAAL,GAAaD,IAAI,CAACC,KAAL,EAAb,GAA4BD,IAAvC,CAAP;AACA+K,eAAK,CAACliB,IAAN,CAAYmX,IAAZ;;AACA,cAAK,CAAC4hB,MAAN,EAAe;AACdK,gBAAI;AACJ;AACD;;AACD,eAAO,IAAP;AACA,OAtGK;AAwGN;AACAA,UAAI,EAAE,gBAAW;AAChBzhB,YAAI,CAAC6hB,QAAL,CAAe,IAAf,EAAqB7T,SAArB;AACA,eAAO,IAAP;AACA,OA5GK;AA8GN;AACAsT,WAAK,EAAE,iBAAW;AACjB,eAAO,CAAC,CAACA,MAAT;AACA;AAjHK,KAnER;;AAuLA,WAAOthB,IAAP;AACA,GAhMD;;AAmMA,WAAS8hB,QAAT,CAAmBC,CAAnB,EAAuB;AACtB,WAAOA,CAAP;AACA;;AACD,WAASC,OAAT,CAAkBluB,EAAlB,EAAuB;AACtB,UAAMA,EAAN;AACA;;AAED,WAASmuB,UAAT,CAAqB9X,KAArB,EAA4B5f,OAA5B,EAAqC23B,MAArC,EAA6CC,OAA7C,EAAuD;AACtD,QAAIvzB,MAAJ;;AAEA,QAAI;AAEH;AACA,UAAKub,KAAK,IAAIzD,UAAU,CAAI9X,MAAM,GAAGub,KAAK,CAACjG,OAAnB,CAAxB,EAAyD;AACxDtV,cAAM,CAACnE,IAAP,CAAa0f,KAAb,EAAqBvZ,IAArB,CAA2BrG,OAA3B,EAAqC63B,IAArC,CAA2CF,MAA3C,EADwD,CAGzD;AACC,OAJD,MAIO,IAAK/X,KAAK,IAAIzD,UAAU,CAAI9X,MAAM,GAAGub,KAAK,CAAC1gB,IAAnB,CAAxB,EAAsD;AAC5DmF,cAAM,CAACnE,IAAP,CAAa0f,KAAb,EAAoB5f,OAApB,EAA6B23B,MAA7B,EAD4D,CAG7D;AACC,OAJM,MAIA;AAEN;AACA;AACA;AACA33B,eAAO,CAACC,KAAR,CAAejB,SAAf,EAA0B,CAAE4gB,KAAF,EAAU1K,KAAV,CAAiB0iB,OAAjB,CAA1B;AACA,OAjBE,CAmBJ;AACA;AACA;;AACC,KAtBD,CAsBE,OAAQhY,KAAR,EAAgB;AAEjB;AACA;AACA+X,YAAM,CAAC13B,KAAP,CAAcjB,SAAd,EAAyB,CAAE4gB,KAAF,CAAzB;AACA;AACD;;AAEDlK,QAAM,CAAC5L,MAAP,CAAe;AAEd/K,YAAQ,EAAE,kBAAU+4B,IAAV,EAAiB;AAC1B,UAAIC,MAAM,GAAG,CAEX;AACA;AACA,OAAE,QAAF,EAAY,UAAZ,EAAwBriB,MAAM,CAACkhB,SAAP,CAAkB,QAAlB,CAAxB,EACClhB,MAAM,CAACkhB,SAAP,CAAkB,QAAlB,CADD,EAC+B,CAD/B,CAJW,EAMX,CAAE,SAAF,EAAa,MAAb,EAAqBlhB,MAAM,CAACkhB,SAAP,CAAkB,aAAlB,CAArB,EACClhB,MAAM,CAACkhB,SAAP,CAAkB,aAAlB,CADD,EACoC,CADpC,EACuC,UADvC,CANW,EAQX,CAAE,QAAF,EAAY,MAAZ,EAAoBlhB,MAAM,CAACkhB,SAAP,CAAkB,aAAlB,CAApB,EACClhB,MAAM,CAACkhB,SAAP,CAAkB,aAAlB,CADD,EACoC,CADpC,EACuC,UADvC,CARW,CAAb;AAAA,UAWC9uB,MAAK,GAAG,SAXT;AAAA,UAYC6R,QAAO,GAAG;AACT7R,aAAK,EAAE,iBAAW;AACjB,iBAAOA,MAAP;AACA,SAHQ;AAITkwB,cAAM,EAAE,kBAAW;AAClBC,kBAAQ,CAAC5xB,IAAT,CAAeod,SAAf,EAA2BoU,IAA3B,CAAiCpU,SAAjC;AACA,iBAAO,IAAP;AACA,SAPQ;AAQT,iBAAS,gBAAUhK,EAAV,EAAe;AACvB,iBAAOE,QAAO,CAACza,IAAR,CAAc,IAAd,EAAoBua,EAApB,CAAP;AACA,SAVQ;AAYT;AACAye,YAAI,EAAE;AAAU;AAAmC;AAClD,cAAIC,GAAG,GAAG1U,SAAV;AAEA,iBAAO/N,MAAM,CAAC3W,QAAP,CAAiB,UAAUq5B,QAAV,EAAqB;AAC5C1iB,kBAAM,CAAC7a,IAAP,CAAak9B,MAAb,EAAqB,UAAUpxB,EAAV,EAAc0xB,KAAd,EAAsB;AAE1C;AACA,kBAAI5e,EAAE,GAAG0C,UAAU,CAAEgc,GAAG,CAAEE,KAAK,CAAE,CAAF,CAAP,CAAL,CAAV,IAAmCF,GAAG,CAAEE,KAAK,CAAE,CAAF,CAAP,CAA/C,CAH0C,CAK1C;AACA;AACA;;AACAJ,sBAAQ,CAAEI,KAAK,CAAE,CAAF,CAAP,CAAR,CAAwB,YAAW;AAClC,oBAAIC,QAAQ,GAAG7e,EAAE,IAAIA,EAAE,CAACxZ,KAAH,CAAU,IAAV,EAAgBwjB,SAAhB,CAArB;;AACA,oBAAK6U,QAAQ,IAAInc,UAAU,CAAEmc,QAAQ,CAAC3e,OAAX,CAA3B,EAAkD;AACjD2e,0BAAQ,CAAC3e,OAAT,GACElB,QADF,CACY2f,QAAQ,CAACzf,MADrB,EAEEtS,IAFF,CAEQ+xB,QAAQ,CAACp4B,OAFjB,EAGE63B,IAHF,CAGQO,QAAQ,CAACT,MAHjB;AAIA,iBALD,MAKO;AACNS,0BAAQ,CAAEC,KAAK,CAAE,CAAF,CAAL,GAAa,MAAf,CAAR,CACC,IADD,EAEC5e,EAAE,GAAG,CAAE6e,QAAF,CAAH,GAAkB7U,SAFrB;AAIA;AACD,eAbD;AAcA,aAtBD;AAuBA0U,eAAG,GAAG,IAAN;AACA,WAzBM,EAyBHxe,OAzBG,EAAP;AA0BA,SA1CQ;AA2CTza,YAAI,EAAE,cAAUq5B,WAAV,EAAuBC,UAAvB,EAAmCjgB,UAAnC,EAAgD;AACrD,cAAIkgB,QAAQ,GAAG,CAAf;;AACA,mBAASz4B,OAAT,CAAkB04B,KAAlB,EAAyBT,QAAzB,EAAmC7M,OAAnC,EAA4CuN,OAA5C,EAAsD;AACrD,mBAAO,YAAW;AACjB,kBAAIC,IAAI,GAAG,IAAX;AAAA,kBACC3jB,IAAI,GAAGwO,SADR;AAAA,kBAECoV,UAAU,GAAG,SAAbA,UAAa,GAAW;AACvB,oBAAIP,QAAJ,EAAcp5B,IAAd,CADuB,CAGvB;AACA;AACA;;AACA,oBAAKw5B,KAAK,GAAGD,QAAb,EAAwB;AACvB;AACA;;AAEDH,wBAAQ,GAAGlN,OAAO,CAACnrB,KAAR,CAAe24B,IAAf,EAAqB3jB,IAArB,CAAX,CAVuB,CAYvB;AACA;;AACA,oBAAKqjB,QAAQ,KAAKL,QAAQ,CAACte,OAAT,EAAlB,EAAuC;AACtC,wBAAM,IAAImf,SAAJ,CAAe,0BAAf,CAAN;AACA,iBAhBsB,CAkBvB;AACA;AACA;AACA;;;AACA55B,oBAAI,GAAGo5B,QAAQ,MAEd;AACA;AACA;AACE,wBAAOA,QAAP,MAAoB,QAApB,IACD,OAAOA,QAAP,KAAoB,UANP,CAAR,IAONA,QAAQ,CAACp5B,IAPV,CAtBuB,CA+BvB;;AACA,oBAAKid,UAAU,CAAEjd,IAAF,CAAf,EAA0B;AAEzB;AACA,sBAAKy5B,OAAL,EAAe;AACdz5B,wBAAI,CAACgB,IAAL,CACCo4B,QADD,EAECt4B,OAAO,CAAEy4B,QAAF,EAAYR,QAAZ,EAAsBV,QAAtB,EAAgCoB,OAAhC,CAFR,EAGC34B,OAAO,CAAEy4B,QAAF,EAAYR,QAAZ,EAAsBR,OAAtB,EAA+BkB,OAA/B,CAHR,EADc,CAOf;AACC,mBARD,MAQO;AAEN;AACAF,4BAAQ;AAERv5B,wBAAI,CAACgB,IAAL,CACCo4B,QADD,EAECt4B,OAAO,CAAEy4B,QAAF,EAAYR,QAAZ,EAAsBV,QAAtB,EAAgCoB,OAAhC,CAFR,EAGC34B,OAAO,CAAEy4B,QAAF,EAAYR,QAAZ,EAAsBR,OAAtB,EAA+BkB,OAA/B,CAHR,EAIC34B,OAAO,CAAEy4B,QAAF,EAAYR,QAAZ,EAAsBV,QAAtB,EACNU,QAAQ,CAACc,UADH,CAJR;AAOA,mBAvBwB,CAyB1B;;AACC,iBA1BD,MA0BO;AAEN;AACA;AACA,sBAAK3N,OAAO,KAAKmM,QAAjB,EAA4B;AAC3BqB,wBAAI,GAAG55B,SAAP;AACAiW,wBAAI,GAAG,CAAEqjB,QAAF,CAAP;AACA,mBAPK,CASN;AACA;;;AACA,mBAAEK,OAAO,IAAIV,QAAQ,CAACe,WAAtB,EAAqCJ,IAArC,EAA2C3jB,IAA3C;AACA;AACD,eAzEF;AAAA,kBA2EC;AACAgkB,qBAAO,GAAGN,OAAO,GAChBE,UADgB,GAEhB,YAAW;AACV,oBAAI;AACHA,4BAAU;AACV,iBAFD,CAEE,OAAQt+B,CAAR,EAAY;AAEb,sBAAKmb,MAAM,CAAC3W,QAAP,CAAgBm6B,aAArB,EAAqC;AACpCxjB,0BAAM,CAAC3W,QAAP,CAAgBm6B,aAAhB,CAA+B3+B,CAA/B,EACC0+B,OAAO,CAACE,UADT;AAEA,mBALY,CAOb;AACA;AACA;;;AACA,sBAAKT,KAAK,GAAG,CAAR,IAAaD,QAAlB,EAA6B;AAE5B;AACA;AACA,wBAAKrN,OAAO,KAAKqM,OAAjB,EAA2B;AAC1BmB,0BAAI,GAAG55B,SAAP;AACAiW,0BAAI,GAAG,CAAE1a,CAAF,CAAP;AACA;;AAED09B,4BAAQ,CAACmB,UAAT,CAAqBR,IAArB,EAA2B3jB,IAA3B;AACA;AACD;AACD,eAvGH,CADiB,CA0GjB;AACA;AACA;AACA;;;AACA,kBAAKyjB,KAAL,EAAa;AACZO,uBAAO;AACP,eAFD,MAEO;AAEN;AACA;AACA,oBAAKvjB,MAAM,CAAC3W,QAAP,CAAgBs6B,YAArB,EAAoC;AACnCJ,yBAAO,CAACE,UAAR,GAAqBzjB,MAAM,CAAC3W,QAAP,CAAgBs6B,YAAhB,EAArB;AACA;;AACDt8B,sBAAM,CAACsT,UAAP,CAAmB4oB,OAAnB;AACA;AACD,aAzHD;AA0HA;;AAED,iBAAOvjB,MAAM,CAAC3W,QAAP,CAAiB,UAAUq5B,QAAV,EAAqB;AAE5C;AACAL,kBAAM,CAAE,CAAF,CAAN,CAAa,CAAb,EAAiBr4B,GAAjB,CACCM,OAAO,CACN,CADM,EAENo4B,QAFM,EAGNjc,UAAU,CAAE5D,UAAF,CAAV,GACCA,UADD,GAECgf,QALK,EAMNa,QAAQ,CAACW,UANH,CADR,EAH4C,CAc5C;;AACAhB,kBAAM,CAAE,CAAF,CAAN,CAAa,CAAb,EAAiBr4B,GAAjB,CACCM,OAAO,CACN,CADM,EAENo4B,QAFM,EAGNjc,UAAU,CAAEoc,WAAF,CAAV,GACCA,WADD,GAEChB,QALK,CADR,EAf4C,CAyB5C;;AACAQ,kBAAM,CAAE,CAAF,CAAN,CAAa,CAAb,EAAiBr4B,GAAjB,CACCM,OAAO,CACN,CADM,EAENo4B,QAFM,EAGNjc,UAAU,CAAEqc,UAAF,CAAV,GACCA,UADD,GAECf,OALK,CADR;AASA,WAnCM,EAmCH9d,OAnCG,EAAP;AAoCA,SA9MQ;AAgNT;AACA;AACAA,eAAO,EAAE,iBAAU1D,GAAV,EAAgB;AACxB,iBAAOA,GAAG,IAAI,IAAP,GAAcP,MAAM,CAAC5L,MAAP,CAAemM,GAAf,EAAoB0D,QAApB,CAAd,GAA8CA,QAArD;AACA;AApNQ,OAZX;AAAA,UAkOCse,QAAQ,GAAG,EAlOZ,CAD0B,CAqO1B;;AACAviB,YAAM,CAAC7a,IAAP,CAAak9B,MAAb,EAAqB,UAAUz8B,CAAV,EAAa+8B,KAAb,EAAqB;AACzC,YAAI/Q,IAAI,GAAG+Q,KAAK,CAAE,CAAF,CAAhB;AAAA,YACCiB,WAAW,GAAGjB,KAAK,CAAE,CAAF,CADpB,CADyC,CAIzC;AACA;AACA;;AACA1e,gBAAO,CAAE0e,KAAK,CAAE,CAAF,CAAP,CAAP,GAAwB/Q,IAAI,CAAC5nB,GAA7B,CAPyC,CASzC;;AACA,YAAK45B,WAAL,EAAmB;AAClBhS,cAAI,CAAC5nB,GAAL,CACC,YAAW;AAEV;AACA;AACAoI,kBAAK,GAAGwxB,WAAR;AACA,WANF,EAQC;AACA;AACAvB,gBAAM,CAAE,IAAIz8B,CAAN,CAAN,CAAiB,CAAjB,EAAqB87B,OAVtB,EAYC;AACA;AACAW,gBAAM,CAAE,IAAIz8B,CAAN,CAAN,CAAiB,CAAjB,EAAqB87B,OAdtB,EAgBC;AACAW,gBAAM,CAAE,CAAF,CAAN,CAAa,CAAb,EAAiBV,IAjBlB,EAmBC;AACAU,gBAAM,CAAE,CAAF,CAAN,CAAa,CAAb,EAAiBV,IApBlB;AAsBA,SAjCwC,CAmCzC;AACA;AACA;;;AACA/P,YAAI,CAAC5nB,GAAL,CAAU24B,KAAK,CAAE,CAAF,CAAL,CAAWnB,IAArB,EAtCyC,CAwCzC;AACA;AACA;;AACAe,gBAAQ,CAAEI,KAAK,CAAE,CAAF,CAAP,CAAR,GAAyB,YAAW;AACnCJ,kBAAQ,CAAEI,KAAK,CAAE,CAAF,CAAL,GAAa,MAAf,CAAR,CAAiC,SAASJ,QAAT,GAAoBj5B,SAApB,GAAgC,IAAjE,EAAuEykB,SAAvE;AACA,iBAAO,IAAP;AACA,SAHD,CA3CyC,CAgDzC;AACA;AACA;;;AACAwU,gBAAQ,CAAEI,KAAK,CAAE,CAAF,CAAL,GAAa,MAAf,CAAR,GAAkC/Q,IAAI,CAACgQ,QAAvC;AACA,OApDD,EAtO0B,CA4R1B;;AACA3d,cAAO,CAACA,OAAR,CAAiBse,QAAjB,EA7R0B,CA+R1B;;;AACA,UAAKH,IAAL,EAAY;AACXA,YAAI,CAAC53B,IAAL,CAAW+3B,QAAX,EAAqBA,QAArB;AACA,OAlSyB,CAoS1B;;;AACA,aAAOA,QAAP;AACA,KAxSa;AA0Sd;AACAh5B,QAAI,EAAE,cAAUs6B,WAAV,EAAwB;AAC7B,UAEC;AACAC,eAAS,GAAG/V,SAAS,CAAChmB,MAHvB;AAAA,UAKC;AACAnC,OAAC,GAAGk+B,SANL;AAAA,UAQC;AACAC,qBAAe,GAAG1jB,KAAK,CAAEza,CAAF,CATxB;AAAA,UAUCo+B,aAAa,GAAGxkB,MAAK,CAAChV,IAAN,CAAYujB,SAAZ,CAVjB;AAAA,UAYC;AACAkW,aAAO,GAAGjkB,MAAM,CAAC3W,QAAP,EAbX;AAAA,UAeC;AACA66B,gBAAU,GAAG,SAAbA,UAAa,CAAUt+B,CAAV,EAAc;AAC1B,eAAO,UAAUskB,KAAV,EAAkB;AACxB6Z,yBAAe,CAAEn+B,CAAF,CAAf,GAAuB,IAAvB;AACAo+B,uBAAa,CAAEp+B,CAAF,CAAb,GAAqBmoB,SAAS,CAAChmB,MAAV,GAAmB,CAAnB,GAAuByX,MAAK,CAAChV,IAAN,CAAYujB,SAAZ,CAAvB,GAAiD7D,KAAtE;;AACA,cAAK,CAAG,GAAE4Z,SAAV,EAAwB;AACvBG,mBAAO,CAACX,WAAR,CAAqBS,eAArB,EAAsCC,aAAtC;AACA;AACD,SAND;AAOA,OAxBF,CAD6B,CA2B7B;;;AACA,UAAKF,SAAS,IAAI,CAAlB,EAAsB;AACrB9B,kBAAU,CAAE6B,WAAF,EAAeI,OAAO,CAACtzB,IAAR,CAAcuzB,UAAU,CAAEt+B,CAAF,CAAxB,EAAgC0E,OAA/C,EAAwD25B,OAAO,CAAChC,MAAhE,EACT,CAAC6B,SADQ,CAAV,CADqB,CAIrB;;AACA,YAAKG,OAAO,CAAC7xB,KAAR,OAAoB,SAApB,IACJqU,UAAU,CAAEud,aAAa,CAAEp+B,CAAF,CAAb,IAAsBo+B,aAAa,CAAEp+B,CAAF,CAAb,CAAmB4D,IAA3C,CADX,EAC+D;AAE9D,iBAAOy6B,OAAO,CAACz6B,IAAR,EAAP;AACA;AACD,OAtC4B,CAwC7B;;;AACA,aAAQ5D,CAAC,EAAT,EAAc;AACbo8B,kBAAU,CAAEgC,aAAa,CAAEp+B,CAAF,CAAf,EAAsBs+B,UAAU,CAAEt+B,CAAF,CAAhC,EAAuCq+B,OAAO,CAAChC,MAA/C,CAAV;AACA;;AAED,aAAOgC,OAAO,CAAChgB,OAAR,EAAP;AACA;AAzVa,GAAf,EApkHiF,CAi6HjF;AACA;;AACA,MAAIkgB,WAAW,GAAG,wDAAlB;;AAEAnkB,QAAM,CAAC3W,QAAP,CAAgBm6B,aAAhB,GAAgC,UAAU15B,KAAV,EAAiBs6B,KAAjB,EAAyB;AAExD;AACA;AACA,QAAK/8B,MAAM,CAACyH,OAAP,IAAkBzH,MAAM,CAACyH,OAAP,CAAeu1B,IAAjC,IAAyCv6B,KAAzC,IAAkDq6B,WAAW,CAAC3pB,IAAZ,CAAkB1Q,KAAK,CAAC2kB,IAAxB,CAAvD,EAAwF;AACvFpnB,YAAM,CAACyH,OAAP,CAAeu1B,IAAf,CAAqB,gCAAgCv6B,KAAK,CAACgZ,OAA3D,EAAoEhZ,KAAK,CAACs6B,KAA1E,EAAiFA,KAAjF;AACA;AACD,GAPD;;AAYApkB,QAAM,CAACskB,cAAP,GAAwB,UAAUx6B,KAAV,EAAkB;AACzCzC,UAAM,CAACsT,UAAP,CAAmB,YAAW;AAC7B,YAAM7Q,KAAN;AACA,KAFD;AAGA,GAJD,CAj7HiF,CA07HjF;;;AACA,MAAIy6B,SAAS,GAAGvkB,MAAM,CAAC3W,QAAP,EAAhB;;AAEA2W,QAAM,CAAC+D,EAAP,CAAUzJ,KAAV,GAAkB,UAAUyJ,EAAV,EAAe;AAEhCwgB,aAAS,CACP/6B,IADF,CACQua,EADR,EAGC;AACA;AACA;AALD,cAMS,UAAUja,KAAV,EAAkB;AACzBkW,YAAM,CAACskB,cAAP,CAAuBx6B,KAAvB;AACA,KARF;AAUA,WAAO,IAAP;AACA,GAbD;;AAeAkW,QAAM,CAAC5L,MAAP,CAAe;AAEd;AACA6a,WAAO,EAAE,KAHK;AAKd;AACA;AACAuV,aAAS,EAAE,CAPG;AASd;AACAlqB,SAAK,EAAE,eAAUmqB,IAAV,EAAiB;AAEvB;AACA,UAAKA,IAAI,KAAK,IAAT,GAAgB,EAAEzkB,MAAM,CAACwkB,SAAzB,GAAqCxkB,MAAM,CAACiP,OAAjD,EAA2D;AAC1D;AACA,OALsB,CAOvB;;;AACAjP,YAAM,CAACiP,OAAP,GAAiB,IAAjB,CARuB,CAUvB;;AACA,UAAKwV,IAAI,KAAK,IAAT,IAAiB,EAAEzkB,MAAM,CAACwkB,SAAT,GAAqB,CAA3C,EAA+C;AAC9C;AACA,OAbsB,CAevB;;;AACAD,eAAS,CAACjB,WAAV,CAAuBt8B,QAAvB,EAAiC,CAAEgZ,MAAF,CAAjC;AACA;AA3Ba,GAAf;AA8BAA,QAAM,CAAC1F,KAAP,CAAa9Q,IAAb,GAAoB+6B,SAAS,CAAC/6B,IAA9B,CA1+HiF,CA4+HjF;;AACA,WAASk7B,SAAT,GAAqB;AACpB19B,YAAQ,CAAC6c,mBAAT,CAA8B,kBAA9B,EAAkD6gB,SAAlD;AACAr9B,UAAM,CAACwc,mBAAP,CAA4B,MAA5B,EAAoC6gB,SAApC;AACA1kB,UAAM,CAAC1F,KAAP;AACA,GAj/HgF,CAm/HjF;AACA;AACA;AACA;;;AACA,MAAKtT,QAAQ,CAAC29B,UAAT,KAAwB,UAAxB,IACF39B,QAAQ,CAAC29B,UAAT,KAAwB,SAAxB,IAAqC,CAAC39B,QAAQ,CAAC0vB,eAAT,CAAyBkO,QADlE,EAC+E;AAE9E;AACAv9B,UAAM,CAACsT,UAAP,CAAmBqF,MAAM,CAAC1F,KAA1B;AAEA,GAND,MAMO;AAEN;AACAtT,YAAQ,CAACyW,gBAAT,CAA2B,kBAA3B,EAA+CinB,SAA/C,EAHM,CAKN;;AACAr9B,UAAM,CAACoW,gBAAP,CAAyB,MAAzB,EAAiCinB,SAAjC;AACA,GApgIgF,CAygIjF;AACA;;;AACA,MAAIG,MAAM,GAAG,SAATA,MAAS,CAAUnX,KAAV,EAAiB3J,EAAjB,EAAqBkG,GAArB,EAA0BC,KAA1B,EAAiC4a,SAAjC,EAA4CC,QAA5C,EAAsDC,GAAtD,EAA4D;AACxE,QAAIp/B,CAAC,GAAG,CAAR;AAAA,QACCyoB,GAAG,GAAGX,KAAK,CAAC3lB,MADb;AAAA,QAECk9B,IAAI,GAAGhb,GAAG,IAAI,IAFf,CADwE,CAKxE;;AACA,QAAKgD,MAAM,CAAEhD,GAAF,CAAN,KAAkB,QAAvB,EAAkC;AACjC6a,eAAS,GAAG,IAAZ;;AACA,WAAMl/B,CAAN,IAAWqkB,GAAX,EAAiB;AAChB4a,cAAM,CAAEnX,KAAF,EAAS3J,EAAT,EAAane,CAAb,EAAgBqkB,GAAG,CAAErkB,CAAF,CAAnB,EAA0B,IAA1B,EAAgCm/B,QAAhC,EAA0CC,GAA1C,CAAN;AACA,OAJgC,CAMlC;;AACC,KAPD,MAOO,IAAK9a,KAAK,KAAK5gB,SAAf,EAA2B;AACjCw7B,eAAS,GAAG,IAAZ;;AAEA,UAAK,CAACre,UAAU,CAAEyD,KAAF,CAAhB,EAA4B;AAC3B8a,WAAG,GAAG,IAAN;AACA;;AAED,UAAKC,IAAL,EAAY;AAEX;AACA,YAAKD,GAAL,EAAW;AACVjhB,YAAE,CAACvZ,IAAH,CAASkjB,KAAT,EAAgBxD,KAAhB;AACAnG,YAAE,GAAG,IAAL,CAFU,CAIX;AACC,SALD,MAKO;AACNkhB,cAAI,GAAGlhB,EAAP;;AACAA,YAAE,GAAG,YAAUpD,IAAV,EAAgBukB,IAAhB,EAAsBhb,KAAtB,EAA8B;AAClC,mBAAO+a,IAAI,CAACz6B,IAAL,CAAWwV,MAAM,CAAEW,IAAF,CAAjB,EAA2BuJ,KAA3B,CAAP;AACA,WAFD;AAGA;AACD;;AAED,UAAKnG,EAAL,EAAU;AACT,eAAQne,CAAC,GAAGyoB,GAAZ,EAAiBzoB,CAAC,EAAlB,EAAuB;AACtBme,YAAE,CACD2J,KAAK,CAAE9nB,CAAF,CADJ,EACWqkB,GADX,EACgB+a,GAAG,GACnB9a,KADmB,GAEnBA,KAAK,CAAC1f,IAAN,CAAYkjB,KAAK,CAAE9nB,CAAF,CAAjB,EAAwBA,CAAxB,EAA2Bme,EAAE,CAAE2J,KAAK,CAAE9nB,CAAF,CAAP,EAAcqkB,GAAd,CAA7B,CAHA,CAAF;AAKA;AACD;AACD;;AAED,QAAK6a,SAAL,EAAiB;AAChB,aAAOpX,KAAP;AACA,KAjDuE,CAmDxE;;;AACA,QAAKuX,IAAL,EAAY;AACX,aAAOlhB,EAAE,CAACvZ,IAAH,CAASkjB,KAAT,CAAP;AACA;;AAED,WAAOW,GAAG,GAAGtK,EAAE,CAAE2J,KAAK,CAAE,CAAF,CAAP,EAAczD,GAAd,CAAL,GAA2B8a,QAArC;AACA,GAzDD,CA3gIiF,CAukIjF;;;AACA,MAAII,SAAS,GAAG,OAAhB;AAAA,MACCC,UAAU,GAAG,WADd,CAxkIiF,CA2kIjF;;AACA,WAASC,UAAT,CAAqBC,IAArB,EAA2BC,MAA3B,EAAoC;AACnC,WAAOA,MAAM,CAACC,WAAP,EAAP;AACA,GA9kIgF,CAglIjF;AACA;AACA;;;AACA,WAASC,SAAT,CAAoBC,MAApB,EAA6B;AAC5B,WAAOA,MAAM,CAACx8B,OAAP,CAAgBi8B,SAAhB,EAA2B,KAA3B,EAAmCj8B,OAAnC,CAA4Ck8B,UAA5C,EAAwDC,UAAxD,CAAP;AACA;;AACD,MAAIM,UAAU,GAAG,SAAbA,UAAa,CAAUC,KAAV,EAAkB;AAElC;AACA;AACA;AACA;AACA;AACA;AACA,WAAOA,KAAK,CAAClkB,QAAN,KAAmB,CAAnB,IAAwBkkB,KAAK,CAAClkB,QAAN,KAAmB,CAA3C,IAAgD,CAAG,CAACkkB,KAAK,CAAClkB,QAAjE;AACA,GATD;;AAcA,WAASmkB,IAAT,GAAgB;AACf,SAAK9W,OAAL,GAAe/O,MAAM,CAAC+O,OAAP,GAAiB8W,IAAI,CAACC,GAAL,EAAhC;AACA;;AAEDD,MAAI,CAACC,GAAL,GAAW,CAAX;AAEAD,MAAI,CAACjnB,SAAL,GAAiB;AAEhBpK,SAAK,EAAE,eAAUoxB,KAAV,EAAkB;AAExB;AACA,UAAI1b,KAAK,GAAG0b,KAAK,CAAE,KAAK7W,OAAP,CAAjB,CAHwB,CAKxB;;AACA,UAAK,CAAC7E,KAAN,EAAc;AACbA,aAAK,GAAG,EAAR,CADa,CAGb;AACA;AACA;;AACA,YAAKyb,UAAU,CAAEC,KAAF,CAAf,EAA2B;AAE1B;AACA;AACA,cAAKA,KAAK,CAAClkB,QAAX,EAAsB;AACrBkkB,iBAAK,CAAE,KAAK7W,OAAP,CAAL,GAAwB7E,KAAxB,CADqB,CAGtB;AACA;AACA;AACC,WAND,MAMO;AACN7e,kBAAM,CAAC06B,cAAP,CAAuBH,KAAvB,EAA8B,KAAK7W,OAAnC,EAA4C;AAC3C7E,mBAAK,EAAEA,KADoC;AAE3C8b,0BAAY,EAAE;AAF6B,aAA5C;AAIA;AACD;AACD;;AAED,aAAO9b,KAAP;AACA,KAlCe;AAmChB+b,OAAG,EAAE,aAAUL,KAAV,EAAiBvgC,IAAjB,EAAuB6kB,KAAvB,EAA+B;AACnC,UAAI/J,IAAJ;AAAA,UACC3L,KAAK,GAAG,KAAKA,KAAL,CAAYoxB,KAAZ,CADT,CADmC,CAInC;AACA;;AACA,UAAK,OAAOvgC,IAAP,KAAgB,QAArB,EAAgC;AAC/BmP,aAAK,CAAEixB,SAAS,CAAEpgC,IAAF,CAAX,CAAL,GAA6B6kB,KAA7B,CAD+B,CAGhC;AACC,OAJD,MAIO;AAEN;AACA,aAAM/J,IAAN,IAAc9a,IAAd,EAAqB;AACpBmP,eAAK,CAAEixB,SAAS,CAAEtlB,IAAF,CAAX,CAAL,GAA6B9a,IAAI,CAAE8a,IAAF,CAAjC;AACA;AACD;;AACD,aAAO3L,KAAP;AACA,KArDe;AAsDhB+Y,OAAG,EAAE,aAAUqY,KAAV,EAAiB3b,GAAjB,EAAuB;AAC3B,aAAOA,GAAG,KAAK3gB,SAAR,GACN,KAAKkL,KAAL,CAAYoxB,KAAZ,CADM,GAGN;AACAA,WAAK,CAAE,KAAK7W,OAAP,CAAL,IAAyB6W,KAAK,CAAE,KAAK7W,OAAP,CAAL,CAAuB0W,SAAS,CAAExb,GAAF,CAAhC,CAJ1B;AAKA,KA5De;AA6DhB4a,UAAM,EAAE,gBAAUe,KAAV,EAAiB3b,GAAjB,EAAsBC,KAAtB,EAA8B;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAKD,GAAG,KAAK3gB,SAAR,IACC2gB,GAAG,IAAI,OAAOA,GAAP,KAAe,QAAxB,IAAsCC,KAAK,KAAK5gB,SADpD,EACkE;AAEjE,eAAO,KAAKikB,GAAL,CAAUqY,KAAV,EAAiB3b,GAAjB,CAAP;AACA,OAjBoC,CAmBrC;AACA;AACA;AACA;AACA;AACA;;;AACA,WAAKgc,GAAL,CAAUL,KAAV,EAAiB3b,GAAjB,EAAsBC,KAAtB,EAzBqC,CA2BrC;AACA;;AACA,aAAOA,KAAK,KAAK5gB,SAAV,GAAsB4gB,KAAtB,GAA8BD,GAArC;AACA,KA3Fe;AA4FhB9jB,UAAM,EAAE,gBAAUy/B,KAAV,EAAiB3b,GAAjB,EAAuB;AAC9B,UAAIrkB,CAAJ;AAAA,UACC4O,KAAK,GAAGoxB,KAAK,CAAE,KAAK7W,OAAP,CADd;;AAGA,UAAKva,KAAK,KAAKlL,SAAf,EAA2B;AAC1B;AACA;;AAED,UAAK2gB,GAAG,KAAK3gB,SAAb,EAAyB;AAExB;AACA,YAAK+W,KAAK,CAACG,OAAN,CAAeyJ,GAAf,CAAL,EAA4B;AAE3B;AACA;AACAA,aAAG,GAAGA,GAAG,CAAC6D,GAAJ,CAAS2X,SAAT,CAAN;AACA,SALD,MAKO;AACNxb,aAAG,GAAGwb,SAAS,CAAExb,GAAF,CAAf,CADM,CAGN;AACA;;AACAA,aAAG,GAAGA,GAAG,IAAIzV,KAAP,GACL,CAAEyV,GAAF,CADK,GAEHA,GAAG,CAACqK,KAAJ,CAAWuM,aAAX,KAA8B,EAFjC;AAGA;;AAEDj7B,SAAC,GAAGqkB,GAAG,CAACliB,MAAR;;AAEA,eAAQnC,CAAC,EAAT,EAAc;AACb,iBAAO4O,KAAK,CAAEyV,GAAG,CAAErkB,CAAF,CAAL,CAAZ;AACA;AACD,OA/B6B,CAiC9B;;;AACA,UAAKqkB,GAAG,KAAK3gB,SAAR,IAAqB0W,MAAM,CAAC0J,aAAP,CAAsBlV,KAAtB,CAA1B,EAA0D;AAEzD;AACA;AACA;AACA;AACA,YAAKoxB,KAAK,CAAClkB,QAAX,EAAsB;AACrBkkB,eAAK,CAAE,KAAK7W,OAAP,CAAL,GAAwBzlB,SAAxB;AACA,SAFD,MAEO;AACN,iBAAOs8B,KAAK,CAAE,KAAK7W,OAAP,CAAZ;AACA;AACD;AACD,KA1Ie;AA2IhBmX,WAAO,EAAE,iBAAUN,KAAV,EAAkB;AAC1B,UAAIpxB,KAAK,GAAGoxB,KAAK,CAAE,KAAK7W,OAAP,CAAjB;AACA,aAAOva,KAAK,KAAKlL,SAAV,IAAuB,CAAC0W,MAAM,CAAC0J,aAAP,CAAsBlV,KAAtB,CAA/B;AACA;AA9Ie,GAAjB;AAgJA,MAAI2xB,QAAQ,GAAG,IAAIN,IAAJ,EAAf;AAEA,MAAIO,QAAQ,GAAG,IAAIP,IAAJ,EAAf,CA5vIiF,CAgwIjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIQ,MAAM,GAAG,+BAAb;AAAA,MACCC,UAAU,GAAG,QADd;;AAGA,WAASC,OAAT,CAAkBlhC,IAAlB,EAAyB;AACxB,QAAKA,IAAI,KAAK,MAAd,EAAuB;AACtB,aAAO,IAAP;AACA;;AAED,QAAKA,IAAI,KAAK,OAAd,EAAwB;AACvB,aAAO,KAAP;AACA;;AAED,QAAKA,IAAI,KAAK,MAAd,EAAuB;AACtB,aAAO,IAAP;AACA,KAXuB,CAaxB;;;AACA,QAAKA,IAAI,KAAK,CAACA,IAAD,GAAQ,EAAtB,EAA2B;AAC1B,aAAO,CAACA,IAAR;AACA;;AAED,QAAKghC,MAAM,CAAC7rB,IAAP,CAAanV,IAAb,CAAL,EAA2B;AAC1B,aAAOsO,IAAI,CAACC,KAAL,CAAYvO,IAAZ,CAAP;AACA;;AAED,WAAOA,IAAP;AACA;;AAED,WAASmhC,QAAT,CAAmB7lB,IAAnB,EAAyBsJ,GAAzB,EAA8B5kB,IAA9B,EAAqC;AACpC,QAAIopB,IAAJ,CADoC,CAGpC;AACA;;AACA,QAAKppB,IAAI,KAAKiE,SAAT,IAAsBqX,IAAI,CAACe,QAAL,KAAkB,CAA7C,EAAiD;AAChD+M,UAAI,GAAG,UAAUxE,GAAG,CAAC/gB,OAAJ,CAAao9B,UAAb,EAAyB,KAAzB,EAAiCpd,WAAjC,EAAjB;AACA7jB,UAAI,GAAGsb,IAAI,CAACuF,YAAL,CAAmBuI,IAAnB,CAAP;;AAEA,UAAK,OAAOppB,IAAP,KAAgB,QAArB,EAAgC;AAC/B,YAAI;AACHA,cAAI,GAAGkhC,OAAO,CAAElhC,IAAF,CAAd;AACA,SAFD,CAEE,OAAQR,CAAR,EAAY,CAAE,CAHe,CAK/B;;;AACAuhC,gBAAQ,CAACH,GAAT,CAActlB,IAAd,EAAoBsJ,GAApB,EAAyB5kB,IAAzB;AACA,OAPD,MAOO;AACNA,YAAI,GAAGiE,SAAP;AACA;AACD;;AACD,WAAOjE,IAAP;AACA;;AAED2a,QAAM,CAAC5L,MAAP,CAAe;AACd8xB,WAAO,EAAE,iBAAUvlB,IAAV,EAAiB;AACzB,aAAOylB,QAAQ,CAACF,OAAT,CAAkBvlB,IAAlB,KAA4BwlB,QAAQ,CAACD,OAAT,CAAkBvlB,IAAlB,CAAnC;AACA,KAHa;AAKdtb,QAAI,EAAE,cAAUsb,IAAV,EAAgB8N,IAAhB,EAAsBppB,KAAtB,EAA6B;AAClC,aAAO+gC,QAAQ,CAACvB,MAAT,CAAiBlkB,IAAjB,EAAuB8N,IAAvB,EAA6BppB,KAA7B,CAAP;AACA,KAPa;AASdohC,cAAU,EAAE,oBAAU9lB,IAAV,EAAgB8N,IAAhB,EAAuB;AAClC2X,cAAQ,CAACjgC,MAAT,CAAiBwa,IAAjB,EAAuB8N,IAAvB;AACA,KAXa;AAad;AACA;AACAiY,SAAK,EAAE,eAAU/lB,IAAV,EAAgB8N,IAAhB,EAAsBppB,IAAtB,EAA6B;AACnC,aAAO8gC,QAAQ,CAACtB,MAAT,CAAiBlkB,IAAjB,EAAuB8N,IAAvB,EAA6BppB,IAA7B,CAAP;AACA,KAjBa;AAmBdshC,eAAW,EAAE,qBAAUhmB,IAAV,EAAgB8N,IAAhB,EAAuB;AACnC0X,cAAQ,CAAChgC,MAAT,CAAiBwa,IAAjB,EAAuB8N,IAAvB;AACA;AArBa,GAAf;AAwBAzO,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjB/O,QAAI,EAAE,cAAU4kB,GAAV,EAAeC,KAAf,EAAuB;AAC5B,UAAItkB,CAAJ;AAAA,UAAO6oB,IAAP;AAAA,UAAappB,IAAb;AAAA,UACCsb,IAAI,GAAG,KAAM,CAAN,CADR;AAAA,UAEC8U,KAAK,GAAG9U,IAAI,IAAIA,IAAI,CAACvV,UAFtB,CAD4B,CAK5B;;AACA,UAAK6e,GAAG,KAAK3gB,SAAb,EAAyB;AACxB,YAAK,KAAKvB,MAAV,EAAmB;AAClB1C,cAAI,GAAG+gC,QAAQ,CAAC7Y,GAAT,CAAc5M,IAAd,CAAP;;AAEA,cAAKA,IAAI,CAACe,QAAL,KAAkB,CAAlB,IAAuB,CAACykB,QAAQ,CAAC5Y,GAAT,CAAc5M,IAAd,EAAoB,cAApB,CAA7B,EAAoE;AACnE/a,aAAC,GAAG6vB,KAAK,CAAC1tB,MAAV;;AACA,mBAAQnC,CAAC,EAAT,EAAc;AAEb;AACA;AACA,kBAAK6vB,KAAK,CAAE7vB,CAAF,CAAV,EAAkB;AACjB6oB,oBAAI,GAAGgH,KAAK,CAAE7vB,CAAF,CAAL,CAAW6oB,IAAlB;;AACA,oBAAKA,IAAI,CAACzoB,OAAL,CAAc,OAAd,MAA4B,CAAjC,EAAqC;AACpCyoB,sBAAI,GAAGgX,SAAS,CAAEhX,IAAI,CAACjP,KAAL,CAAY,CAAZ,CAAF,CAAhB;AACAgnB,0BAAQ,CAAE7lB,IAAF,EAAQ8N,IAAR,EAAcppB,IAAI,CAAEopB,IAAF,CAAlB,CAAR;AACA;AACD;AACD;;AACD0X,oBAAQ,CAACF,GAAT,CAActlB,IAAd,EAAoB,cAApB,EAAoC,IAApC;AACA;AACD;;AAED,eAAOtb,IAAP;AACA,OA7B2B,CA+B5B;;;AACA,UAAK,QAAO4kB,GAAP,MAAe,QAApB,EAA+B;AAC9B,eAAO,KAAK9kB,IAAL,CAAW,YAAW;AAC5BihC,kBAAQ,CAACH,GAAT,CAAc,IAAd,EAAoBhc,GAApB;AACA,SAFM,CAAP;AAGA;;AAED,aAAO4a,MAAM,CAAE,IAAF,EAAQ,UAAU3a,KAAV,EAAkB;AACtC,YAAI7kB,IAAJ,CADsC,CAGtC;AACA;AACA;AACA;AACA;;AACA,YAAKsb,IAAI,IAAIuJ,KAAK,KAAK5gB,SAAvB,EAAmC;AAElC;AACA;AACAjE,cAAI,GAAG+gC,QAAQ,CAAC7Y,GAAT,CAAc5M,IAAd,EAAoBsJ,GAApB,CAAP;;AACA,cAAK5kB,IAAI,KAAKiE,SAAd,EAA0B;AACzB,mBAAOjE,IAAP;AACA,WAPiC,CASlC;AACA;;;AACAA,cAAI,GAAGmhC,QAAQ,CAAE7lB,IAAF,EAAQsJ,GAAR,CAAf;;AACA,cAAK5kB,IAAI,KAAKiE,SAAd,EAA0B;AACzB,mBAAOjE,IAAP;AACA,WAdiC,CAgBlC;;;AACA;AACA,SA1BqC,CA4BtC;;;AACA,aAAKF,IAAL,CAAW,YAAW;AAErB;AACAihC,kBAAQ,CAACH,GAAT,CAAc,IAAd,EAAoBhc,GAApB,EAAyBC,KAAzB;AACA,SAJD;AAKA,OAlCY,EAkCV,IAlCU,EAkCJA,KAlCI,EAkCG6D,SAAS,CAAChmB,MAAV,GAAmB,CAlCtB,EAkCyB,IAlCzB,EAkC+B,IAlC/B,CAAb;AAmCA,KA1EgB;AA4EjB0+B,cAAU,EAAE,oBAAUxc,GAAV,EAAgB;AAC3B,aAAO,KAAK9kB,IAAL,CAAW,YAAW;AAC5BihC,gBAAQ,CAACjgC,MAAT,CAAiB,IAAjB,EAAuB8jB,GAAvB;AACA,OAFM,CAAP;AAGA;AAhFgB,GAAlB;AAoFAjK,QAAM,CAAC5L,MAAP,CAAe;AACdkW,SAAK,EAAE,eAAU3J,IAAV,EAAgBvL,IAAhB,EAAsB/P,IAAtB,EAA6B;AACnC,UAAIilB,KAAJ;;AAEA,UAAK3J,IAAL,EAAY;AACXvL,YAAI,GAAG,CAAEA,IAAI,IAAI,IAAV,IAAmB,OAA1B;AACAkV,aAAK,GAAG6b,QAAQ,CAAC5Y,GAAT,CAAc5M,IAAd,EAAoBvL,IAApB,CAAR,CAFW,CAIX;;AACA,YAAK/P,IAAL,EAAY;AACX,cAAK,CAACilB,KAAD,IAAUjK,KAAK,CAACG,OAAN,CAAenb,IAAf,CAAf,EAAuC;AACtCilB,iBAAK,GAAG6b,QAAQ,CAACtB,MAAT,CAAiBlkB,IAAjB,EAAuBvL,IAAvB,EAA6B4K,MAAM,CAACM,SAAP,CAAkBjb,IAAlB,CAA7B,CAAR;AACA,WAFD,MAEO;AACNilB,iBAAK,CAACliB,IAAN,CAAY/C,IAAZ;AACA;AACD;;AACD,eAAOilB,KAAK,IAAI,EAAhB;AACA;AACD,KAlBa;AAoBdC,WAAO,EAAE,iBAAU5J,IAAV,EAAgBvL,IAAhB,EAAuB;AAC/BA,UAAI,GAAGA,IAAI,IAAI,IAAf;;AAEA,UAAIkV,KAAK,GAAGtK,MAAM,CAACsK,KAAP,CAAc3J,IAAd,EAAoBvL,IAApB,CAAZ;AAAA,UACCwxB,WAAW,GAAGtc,KAAK,CAACviB,MADrB;AAAA,UAECgc,EAAE,GAAGuG,KAAK,CAAC+K,KAAN,EAFN;AAAA,UAGCwR,KAAK,GAAG7mB,MAAM,CAAC8mB,WAAP,CAAoBnmB,IAApB,EAA0BvL,IAA1B,CAHT;AAAA,UAICqH,IAAI,GAAG,SAAPA,IAAO,GAAW;AACjBuD,cAAM,CAACuK,OAAP,CAAgB5J,IAAhB,EAAsBvL,IAAtB;AACA,OANF,CAH+B,CAW/B;;;AACA,UAAK2O,EAAE,KAAK,YAAZ,EAA2B;AAC1BA,UAAE,GAAGuG,KAAK,CAAC+K,KAAN,EAAL;AACAuR,mBAAW;AACX;;AAED,UAAK7iB,EAAL,EAAU;AAET;AACA;AACA,YAAK3O,IAAI,KAAK,IAAd,EAAqB;AACpBkV,eAAK,CAAC+N,OAAN,CAAe,YAAf;AACA,SANQ,CAQT;;;AACA,eAAOwO,KAAK,CAACvgB,IAAb;AACAvC,UAAE,CAACvZ,IAAH,CAASmW,IAAT,EAAelE,IAAf,EAAqBoqB,KAArB;AACA;;AAED,UAAK,CAACD,WAAD,IAAgBC,KAArB,EAA6B;AAC5BA,aAAK,CAACxwB,KAAN,CAAYmrB,IAAZ;AACA;AACD,KArDa;AAuDd;AACAsF,eAAW,EAAE,qBAAUnmB,IAAV,EAAgBvL,IAAhB,EAAuB;AACnC,UAAI6U,GAAG,GAAG7U,IAAI,GAAG,YAAjB;AACA,aAAO+wB,QAAQ,CAAC5Y,GAAT,CAAc5M,IAAd,EAAoBsJ,GAApB,KAA6Bkc,QAAQ,CAACtB,MAAT,CAAiBlkB,IAAjB,EAAuBsJ,GAAvB,EAA4B;AAC/D5T,aAAK,EAAE2J,MAAM,CAACkhB,SAAP,CAAkB,aAAlB,EAAkCl3B,GAAlC,CAAuC,YAAW;AACxDm8B,kBAAQ,CAAChgC,MAAT,CAAiBwa,IAAjB,EAAuB,CAAEvL,IAAI,GAAG,OAAT,EAAkB6U,GAAlB,CAAvB;AACA,SAFM;AADwD,OAA5B,CAApC;AAKA;AA/Da,GAAf;AAkEAjK,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjBkW,SAAK,EAAE,eAAUlV,IAAV,EAAgB/P,IAAhB,EAAuB;AAC7B,UAAI0hC,MAAM,GAAG,CAAb;;AAEA,UAAK,OAAO3xB,IAAP,KAAgB,QAArB,EAAgC;AAC/B/P,YAAI,GAAG+P,IAAP;AACAA,YAAI,GAAG,IAAP;AACA2xB,cAAM;AACN;;AAED,UAAKhZ,SAAS,CAAChmB,MAAV,GAAmBg/B,MAAxB,EAAiC;AAChC,eAAO/mB,MAAM,CAACsK,KAAP,CAAc,KAAM,CAAN,CAAd,EAAyBlV,IAAzB,CAAP;AACA;;AAED,aAAO/P,IAAI,KAAKiE,SAAT,GACN,IADM,GAEN,KAAKnE,IAAL,CAAW,YAAW;AACrB,YAAImlB,KAAK,GAAGtK,MAAM,CAACsK,KAAP,CAAc,IAAd,EAAoBlV,IAApB,EAA0B/P,IAA1B,CAAZ,CADqB,CAGrB;;AACA2a,cAAM,CAAC8mB,WAAP,CAAoB,IAApB,EAA0B1xB,IAA1B;;AAEA,YAAKA,IAAI,KAAK,IAAT,IAAiBkV,KAAK,CAAE,CAAF,CAAL,KAAe,YAArC,EAAoD;AACnDtK,gBAAM,CAACuK,OAAP,CAAgB,IAAhB,EAAsBnV,IAAtB;AACA;AACD,OATD,CAFD;AAYA,KA1BgB;AA2BjBmV,WAAO,EAAE,iBAAUnV,IAAV,EAAiB;AACzB,aAAO,KAAKjQ,IAAL,CAAW,YAAW;AAC5B6a,cAAM,CAACuK,OAAP,CAAgB,IAAhB,EAAsBnV,IAAtB;AACA,OAFM,CAAP;AAGA,KA/BgB;AAgCjB4xB,cAAU,EAAE,oBAAU5xB,IAAV,EAAiB;AAC5B,aAAO,KAAKkV,KAAL,CAAYlV,IAAI,IAAI,IAApB,EAA0B,EAA1B,CAAP;AACA,KAlCgB;AAoCjB;AACA;AACA6O,WAAO,EAAE,iBAAU7O,IAAV,EAAgBmL,GAAhB,EAAsB;AAC9B,UAAI6W,GAAJ;AAAA,UACC6P,KAAK,GAAG,CADT;AAAA,UAECC,KAAK,GAAGlnB,MAAM,CAAC3W,QAAP,EAFT;AAAA,UAGC2X,QAAQ,GAAG,IAHZ;AAAA,UAICpb,CAAC,GAAG,KAAKmC,MAJV;AAAA,UAKCuC,OAAO,GAAG,SAAVA,OAAU,GAAW;AACpB,YAAK,CAAG,GAAE28B,KAAV,EAAoB;AACnBC,eAAK,CAAC5D,WAAN,CAAmBtiB,QAAnB,EAA6B,CAAEA,QAAF,CAA7B;AACA;AACD,OATF;;AAWA,UAAK,OAAO5L,IAAP,KAAgB,QAArB,EAAgC;AAC/BmL,WAAG,GAAGnL,IAAN;AACAA,YAAI,GAAG9L,SAAP;AACA;;AACD8L,UAAI,GAAGA,IAAI,IAAI,IAAf;;AAEA,aAAQxP,CAAC,EAAT,EAAc;AACbwxB,WAAG,GAAG+O,QAAQ,CAAC5Y,GAAT,CAAcvM,QAAQ,CAAEpb,CAAF,CAAtB,EAA6BwP,IAAI,GAAG,YAApC,CAAN;;AACA,YAAKgiB,GAAG,IAAIA,GAAG,CAAC/gB,KAAhB,EAAwB;AACvB4wB,eAAK;AACL7P,aAAG,CAAC/gB,KAAJ,CAAUrM,GAAV,CAAeM,OAAf;AACA;AACD;;AACDA,aAAO;AACP,aAAO48B,KAAK,CAACjjB,OAAN,CAAe1D,GAAf,CAAP;AACA;AAjEgB,GAAlB;AAmEA,MAAI4mB,IAAI,GAAK,qCAAF,CAA0C7iB,MAArD;AAEA,MAAI8iB,OAAO,GAAG,IAAIlV,MAAJ,CAAY,mBAAmBiV,IAAnB,GAA0B,aAAtC,EAAqD,GAArD,CAAd;AAGA,MAAIE,SAAS,GAAG,CAAE,KAAF,EAAS,OAAT,EAAkB,QAAlB,EAA4B,MAA5B,CAAhB;AAEA,MAAI3Q,eAAe,GAAG1vB,QAAQ,CAAC0vB,eAA/B;;AAIC,MAAI4Q,UAAU,GAAG,oBAAU3mB,IAAV,EAAiB;AAChC,WAAOX,MAAM,CAACgR,QAAP,CAAiBrQ,IAAI,CAAC+T,aAAtB,EAAqC/T,IAArC,CAAP;AACA,GAFF;AAAA,MAGC4mB,QAAQ,GAAG;AAAEA,YAAQ,EAAE;AAAZ,GAHZ,CAzjJgF,CA8jJhF;AACA;AACA;AACA;AACA;;;AACA,MAAK7Q,eAAe,CAAC8Q,WAArB,EAAmC;AAClCF,cAAU,GAAG,oBAAU3mB,IAAV,EAAiB;AAC7B,aAAOX,MAAM,CAACgR,QAAP,CAAiBrQ,IAAI,CAAC+T,aAAtB,EAAqC/T,IAArC,KACNA,IAAI,CAAC6mB,WAAL,CAAkBD,QAAlB,MAAiC5mB,IAAI,CAAC+T,aADvC;AAEA,KAHD;AAIA;;AACF,MAAI+S,kBAAkB,GAAG,SAArBA,kBAAqB,CAAU9mB,IAAV,EAAgByI,EAAhB,EAAqB;AAE5C;AACA;AACAzI,QAAI,GAAGyI,EAAE,IAAIzI,IAAb,CAJ4C,CAM5C;;AACA,WAAOA,IAAI,CAACqB,KAAL,CAAW0lB,OAAX,KAAuB,MAAvB,IACN/mB,IAAI,CAACqB,KAAL,CAAW0lB,OAAX,KAAuB,EAAvB,IAEA;AACA;AACA;AACA;AACAJ,cAAU,CAAE3mB,IAAF,CANV,IAQAX,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,SAAlB,MAAkC,MATnC;AAUA,GAjBF;;AAqBA,WAASgnB,SAAT,CAAoBhnB,IAApB,EAA0BR,IAA1B,EAAgCynB,UAAhC,EAA4C/d,KAA5C,EAAoD;AACnD,QAAIge,QAAJ;AAAA,QAAcC,KAAd;AAAA,QACCC,aAAa,GAAG,EADjB;AAAA,QAECC,YAAY,GAAGne,KAAK,GACnB,YAAW;AACV,aAAOA,KAAK,CAACgM,GAAN,EAAP;AACA,KAHkB,GAInB,YAAW;AACV,aAAO7V,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkBR,IAAlB,EAAwB,EAAxB,CAAP;AACA,KARH;AAAA,QASC8nB,OAAO,GAAGD,YAAY,EATvB;AAAA,QAUCE,IAAI,GAAGN,UAAU,IAAIA,UAAU,CAAE,CAAF,CAAxB,KAAmC5nB,MAAM,CAACmoB,SAAP,CAAkBhoB,IAAlB,IAA2B,EAA3B,GAAgC,IAAnE,CAVR;AAAA,QAYC;AACAioB,iBAAa,GAAGznB,IAAI,CAACe,QAAL,KACb1B,MAAM,CAACmoB,SAAP,CAAkBhoB,IAAlB,KAA4B+nB,IAAI,KAAK,IAAT,IAAiB,CAACD,OADjC,KAEfb,OAAO,CAAChlB,IAAR,CAAcpC,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkBR,IAAlB,CAAd,CAfF;;AAiBA,QAAKioB,aAAa,IAAIA,aAAa,CAAE,CAAF,CAAb,KAAuBF,IAA7C,EAAoD;AAEnD;AACA;AACAD,aAAO,GAAGA,OAAO,GAAG,CAApB,CAJmD,CAMnD;;AACAC,UAAI,GAAGA,IAAI,IAAIE,aAAa,CAAE,CAAF,CAA5B,CAPmD,CASnD;;AACAA,mBAAa,GAAG,CAACH,OAAD,IAAY,CAA5B;;AAEA,aAAQF,aAAa,EAArB,EAA0B;AAEzB;AACA;AACA/nB,cAAM,CAACgC,KAAP,CAAcrB,IAAd,EAAoBR,IAApB,EAA0BioB,aAAa,GAAGF,IAA1C;;AACA,YAAK,CAAE,IAAIJ,KAAN,KAAkB,KAAMA,KAAK,GAAGE,YAAY,KAAKC,OAAjB,IAA4B,GAA1C,CAAlB,KAAuE,CAA5E,EAAgF;AAC/EF,uBAAa,GAAG,CAAhB;AACA;;AACDK,qBAAa,GAAGA,aAAa,GAAGN,KAAhC;AAEA;;AAEDM,mBAAa,GAAGA,aAAa,GAAG,CAAhC;AACApoB,YAAM,CAACgC,KAAP,CAAcrB,IAAd,EAAoBR,IAApB,EAA0BioB,aAAa,GAAGF,IAA1C,EAzBmD,CA2BnD;;AACAN,gBAAU,GAAGA,UAAU,IAAI,EAA3B;AACA;;AAED,QAAKA,UAAL,EAAkB;AACjBQ,mBAAa,GAAG,CAACA,aAAD,IAAkB,CAACH,OAAnB,IAA8B,CAA9C,CADiB,CAGjB;;AACAJ,cAAQ,GAAGD,UAAU,CAAE,CAAF,CAAV,GACVQ,aAAa,GAAG,CAAER,UAAU,CAAE,CAAF,CAAV,GAAkB,CAApB,IAA0BA,UAAU,CAAE,CAAF,CAD1C,GAEV,CAACA,UAAU,CAAE,CAAF,CAFZ;;AAGA,UAAK/d,KAAL,EAAa;AACZA,aAAK,CAACqe,IAAN,GAAaA,IAAb;AACAre,aAAK,CAACxD,KAAN,GAAc+hB,aAAd;AACAve,aAAK,CAAC0E,GAAN,GAAYsZ,QAAZ;AACA;AACD;;AACD,WAAOA,QAAP;AACA;;AAGD,MAAIQ,iBAAiB,GAAG,EAAxB;;AAEA,WAASC,iBAAT,CAA4B3nB,IAA5B,EAAmC;AAClC,QAAIwc,IAAJ;AAAA,QACCzQ,GAAG,GAAG/L,IAAI,CAAC+T,aADZ;AAAA,QAECnT,QAAQ,GAAGZ,IAAI,CAACY,QAFjB;AAAA,QAGCmmB,OAAO,GAAGW,iBAAiB,CAAE9mB,QAAF,CAH5B;;AAKA,QAAKmmB,OAAL,EAAe;AACd,aAAOA,OAAP;AACA;;AAEDvK,QAAI,GAAGzQ,GAAG,CAAC6b,IAAJ,CAASxb,WAAT,CAAsBL,GAAG,CAAC9U,aAAJ,CAAmB2J,QAAnB,CAAtB,CAAP;AACAmmB,WAAO,GAAG1nB,MAAM,CAACrK,GAAP,CAAYwnB,IAAZ,EAAkB,SAAlB,CAAV;AAEAA,QAAI,CAACjlB,UAAL,CAAgB8U,WAAhB,CAA6BmQ,IAA7B;;AAEA,QAAKuK,OAAO,KAAK,MAAjB,EAA0B;AACzBA,aAAO,GAAG,OAAV;AACA;;AACDW,qBAAiB,CAAE9mB,QAAF,CAAjB,GAAgCmmB,OAAhC;AAEA,WAAOA,OAAP;AACA;;AAED,WAASc,QAAT,CAAmBxnB,QAAnB,EAA6BynB,IAA7B,EAAoC;AACnC,QAAIf,OAAJ;AAAA,QAAa/mB,IAAb;AAAA,QACC+nB,MAAM,GAAG,EADV;AAAA,QAEC16B,KAAK,GAAG,CAFT;AAAA,QAGCjG,MAAM,GAAGiZ,QAAQ,CAACjZ,MAHnB,CADmC,CAMnC;;AACA,WAAQiG,KAAK,GAAGjG,MAAhB,EAAwBiG,KAAK,EAA7B,EAAkC;AACjC2S,UAAI,GAAGK,QAAQ,CAAEhT,KAAF,CAAf;;AACA,UAAK,CAAC2S,IAAI,CAACqB,KAAX,EAAmB;AAClB;AACA;;AAED0lB,aAAO,GAAG/mB,IAAI,CAACqB,KAAL,CAAW0lB,OAArB;;AACA,UAAKe,IAAL,EAAY;AAEX;AACA;AACA;AACA,YAAKf,OAAO,KAAK,MAAjB,EAA0B;AACzBgB,gBAAM,CAAE16B,KAAF,CAAN,GAAkBm4B,QAAQ,CAAC5Y,GAAT,CAAc5M,IAAd,EAAoB,SAApB,KAAmC,IAArD;;AACA,cAAK,CAAC+nB,MAAM,CAAE16B,KAAF,CAAZ,EAAwB;AACvB2S,gBAAI,CAACqB,KAAL,CAAW0lB,OAAX,GAAqB,EAArB;AACA;AACD;;AACD,YAAK/mB,IAAI,CAACqB,KAAL,CAAW0lB,OAAX,KAAuB,EAAvB,IAA6BD,kBAAkB,CAAE9mB,IAAF,CAApD,EAA+D;AAC9D+nB,gBAAM,CAAE16B,KAAF,CAAN,GAAkBs6B,iBAAiB,CAAE3nB,IAAF,CAAnC;AACA;AACD,OAdD,MAcO;AACN,YAAK+mB,OAAO,KAAK,MAAjB,EAA0B;AACzBgB,gBAAM,CAAE16B,KAAF,CAAN,GAAkB,MAAlB,CADyB,CAGzB;;AACAm4B,kBAAQ,CAACF,GAAT,CAActlB,IAAd,EAAoB,SAApB,EAA+B+mB,OAA/B;AACA;AACD;AACD,KApCkC,CAsCnC;;;AACA,SAAM15B,KAAK,GAAG,CAAd,EAAiBA,KAAK,GAAGjG,MAAzB,EAAiCiG,KAAK,EAAtC,EAA2C;AAC1C,UAAK06B,MAAM,CAAE16B,KAAF,CAAN,IAAmB,IAAxB,EAA+B;AAC9BgT,gBAAQ,CAAEhT,KAAF,CAAR,CAAkBgU,KAAlB,CAAwB0lB,OAAxB,GAAkCgB,MAAM,CAAE16B,KAAF,CAAxC;AACA;AACD;;AAED,WAAOgT,QAAP;AACA;;AAEDhB,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjBq0B,QAAI,EAAE,gBAAW;AAChB,aAAOD,QAAQ,CAAE,IAAF,EAAQ,IAAR,CAAf;AACA,KAHgB;AAIjBG,QAAI,EAAE,gBAAW;AAChB,aAAOH,QAAQ,CAAE,IAAF,CAAf;AACA,KANgB;AAOjBI,UAAM,EAAE,gBAAUx2B,KAAV,EAAkB;AACzB,UAAK,OAAOA,KAAP,KAAiB,SAAtB,EAAkC;AACjC,eAAOA,KAAK,GAAG,KAAKq2B,IAAL,EAAH,GAAiB,KAAKE,IAAL,EAA7B;AACA;;AAED,aAAO,KAAKxjC,IAAL,CAAW,YAAW;AAC5B,YAAKsiC,kBAAkB,CAAE,IAAF,CAAvB,EAAkC;AACjCznB,gBAAM,CAAE,IAAF,CAAN,CAAeyoB,IAAf;AACA,SAFD,MAEO;AACNzoB,gBAAM,CAAE,IAAF,CAAN,CAAe2oB,IAAf;AACA;AACD,OANM,CAAP;AAOA;AAnBgB,GAAlB;AAqBA,MAAIE,cAAc,GAAK,uBAAvB;AAEA,MAAIC,QAAQ,GAAK,gCAAjB;AAEA,MAAIC,WAAW,GAAK,oCAApB;;AAIA,GAAE,YAAW;AACZ,QAAIC,QAAQ,GAAGhiC,QAAQ,CAACiiC,sBAAT,EAAf;AAAA,QACCC,GAAG,GAAGF,QAAQ,CAACjc,WAAT,CAAsB/lB,QAAQ,CAAC4Q,aAAT,CAAwB,KAAxB,CAAtB,CADP;AAAA,QAECyf,KAAK,GAAGrwB,QAAQ,CAAC4Q,aAAT,CAAwB,OAAxB,CAFT,CADY,CAKZ;AACA;AACA;AACA;;AACAyf,SAAK,CAACvQ,YAAN,CAAoB,MAApB,EAA4B,OAA5B;AACAuQ,SAAK,CAACvQ,YAAN,CAAoB,SAApB,EAA+B,SAA/B;AACAuQ,SAAK,CAACvQ,YAAN,CAAoB,MAApB,EAA4B,GAA5B;AAEAoiB,OAAG,CAACnc,WAAJ,CAAiBsK,KAAjB,EAbY,CAeZ;AACA;;AACA7Q,WAAO,CAAC2iB,UAAR,GAAqBD,GAAG,CAACE,SAAJ,CAAe,IAAf,EAAsBA,SAAtB,CAAiC,IAAjC,EAAwClP,SAAxC,CAAkDe,OAAvE,CAjBY,CAmBZ;AACA;;AACAiO,OAAG,CAAC5R,SAAJ,GAAgB,wBAAhB;AACA9Q,WAAO,CAAC6iB,cAAR,GAAyB,CAAC,CAACH,GAAG,CAACE,SAAJ,CAAe,IAAf,EAAsBlP,SAAtB,CAAgC2E,YAA3D,CAtBY,CAwBZ;AACA;AACA;;AACAqK,OAAG,CAAC5R,SAAJ,GAAgB,mBAAhB;AACA9Q,WAAO,CAAC8iB,MAAR,GAAiB,CAAC,CAACJ,GAAG,CAAChP,SAAvB;AACA,GA7BD,IAtwJiF,CAsyJjF;;;AACA,MAAIqP,OAAO,GAAG;AAEb;AACA;AACA;AACAC,SAAK,EAAE,CAAE,CAAF,EAAK,SAAL,EAAgB,UAAhB,CALM;AAMbC,OAAG,EAAE,CAAE,CAAF,EAAK,mBAAL,EAA0B,qBAA1B,CANQ;AAObC,MAAE,EAAE,CAAE,CAAF,EAAK,gBAAL,EAAuB,kBAAvB,CAPS;AAQbC,MAAE,EAAE,CAAE,CAAF,EAAK,oBAAL,EAA2B,uBAA3B,CARS;AAUbC,YAAQ,EAAE,CAAE,CAAF,EAAK,EAAL,EAAS,EAAT;AAVG,GAAd;AAaAL,SAAO,CAACM,KAAR,GAAgBN,OAAO,CAACO,KAAR,GAAgBP,OAAO,CAACQ,QAAR,GAAmBR,OAAO,CAACS,OAAR,GAAkBT,OAAO,CAACC,KAA7E;AACAD,SAAO,CAACU,EAAR,GAAaV,OAAO,CAACI,EAArB,CArzJiF,CAuzJjF;;AACA,MAAK,CAACnjB,OAAO,CAAC8iB,MAAd,EAAuB;AACtBC,WAAO,CAACW,QAAR,GAAmBX,OAAO,CAACD,MAAR,GAAiB,CAAE,CAAF,EAAK,8BAAL,EAAqC,WAArC,CAApC;AACA;;AAGD,WAASa,MAAT,CAAiBpjC,OAAjB,EAA0B4Q,GAA1B,EAAgC;AAE/B;AACA;AACA,QAAIgW,GAAJ;;AAEA,QAAK,OAAO5mB,OAAO,CAACkR,oBAAf,KAAwC,WAA7C,EAA2D;AAC1D0V,SAAG,GAAG5mB,OAAO,CAACkR,oBAAR,CAA8BN,GAAG,IAAI,GAArC,CAAN;AAEA,KAHD,MAGO,IAAK,OAAO5Q,OAAO,CAACga,gBAAf,KAAoC,WAAzC,EAAuD;AAC7D4M,SAAG,GAAG5mB,OAAO,CAACga,gBAAR,CAA0BpJ,GAAG,IAAI,GAAjC,CAAN;AAEA,KAHM,MAGA;AACNgW,SAAG,GAAG,EAAN;AACA;;AAED,QAAKhW,GAAG,KAAKrO,SAAR,IAAqBqO,GAAG,IAAI4J,QAAQ,CAAExa,OAAF,EAAW4Q,GAAX,CAAzC,EAA4D;AAC3D,aAAOqI,MAAM,CAAC4N,KAAP,CAAc,CAAE7mB,OAAF,CAAd,EAA2B4mB,GAA3B,CAAP;AACA;;AAED,WAAOA,GAAP;AACA,GAl1JgF,CAq1JjF;;;AACA,WAASyc,aAAT,CAAwB1c,KAAxB,EAA+B2c,WAA/B,EAA6C;AAC5C,QAAIzkC,CAAC,GAAG,CAAR;AAAA,QACCq6B,CAAC,GAAGvS,KAAK,CAAC3lB,MADX;;AAGA,WAAQnC,CAAC,GAAGq6B,CAAZ,EAAer6B,CAAC,EAAhB,EAAqB;AACpBugC,cAAQ,CAACF,GAAT,CACCvY,KAAK,CAAE9nB,CAAF,CADN,EAEC,YAFD,EAGC,CAACykC,WAAD,IAAgBlE,QAAQ,CAAC5Y,GAAT,CAAc8c,WAAW,CAAEzkC,CAAF,CAAzB,EAAgC,YAAhC,CAHjB;AAKA;AACD;;AAGD,MAAI8sB,KAAK,GAAG,WAAZ;;AAEA,WAAS4X,aAAT,CAAwB5c,KAAxB,EAA+B3mB,OAA/B,EAAwCwjC,OAAxC,EAAiDC,SAAjD,EAA4DC,OAA5D,EAAsE;AACrE,QAAI9pB,IAAJ;AAAA,QAAUyW,GAAV;AAAA,QAAezf,GAAf;AAAA,QAAoB+yB,IAApB;AAAA,QAA0BC,QAA1B;AAAA,QAAoCrc,CAApC;AAAA,QACC0a,QAAQ,GAAGjiC,OAAO,CAACkiC,sBAAR,EADZ;AAAA,QAEC2B,KAAK,GAAG,EAFT;AAAA,QAGChlC,CAAC,GAAG,CAHL;AAAA,QAICq6B,CAAC,GAAGvS,KAAK,CAAC3lB,MAJX;;AAMA,WAAQnC,CAAC,GAAGq6B,CAAZ,EAAer6B,CAAC,EAAhB,EAAqB;AACpB+a,UAAI,GAAG+M,KAAK,CAAE9nB,CAAF,CAAZ;;AAEA,UAAK+a,IAAI,IAAIA,IAAI,KAAK,CAAtB,EAA0B;AAEzB;AACA,YAAKsM,MAAM,CAAEtM,IAAF,CAAN,KAAmB,QAAxB,EAAmC;AAElC;AACA;AACAX,gBAAM,CAAC4N,KAAP,CAAcgd,KAAd,EAAqBjqB,IAAI,CAACe,QAAL,GAAgB,CAAEf,IAAF,CAAhB,GAA2BA,IAAhD,EAJkC,CAMnC;AACC,SAPD,MAOO,IAAK,CAAC+R,KAAK,CAAClY,IAAN,CAAYmG,IAAZ,CAAN,EAA2B;AACjCiqB,eAAK,CAACxiC,IAAN,CAAYrB,OAAO,CAAC8jC,cAAR,CAAwBlqB,IAAxB,CAAZ,EADiC,CAGlC;AACC,SAJM,MAIA;AACNyW,aAAG,GAAGA,GAAG,IAAI4R,QAAQ,CAACjc,WAAT,CAAsBhmB,OAAO,CAAC6Q,aAAR,CAAuB,KAAvB,CAAtB,CAAb,CADM,CAGN;;AACAD,aAAG,GAAG,CAAEmxB,QAAQ,CAAC1mB,IAAT,CAAezB,IAAf,KAAyB,CAAE,EAAF,EAAM,EAAN,CAA3B,EAAyC,CAAzC,EAA6CuI,WAA7C,EAAN;AACAwhB,cAAI,GAAGnB,OAAO,CAAE5xB,GAAF,CAAP,IAAkB4xB,OAAO,CAACK,QAAjC;AACAxS,aAAG,CAACE,SAAJ,GAAgBoT,IAAI,CAAE,CAAF,CAAJ,GAAY1qB,MAAM,CAAC8qB,aAAP,CAAsBnqB,IAAtB,CAAZ,GAA2C+pB,IAAI,CAAE,CAAF,CAA/D,CANM,CAQN;;AACApc,WAAC,GAAGoc,IAAI,CAAE,CAAF,CAAR;;AACA,iBAAQpc,CAAC,EAAT,EAAc;AACb8I,eAAG,GAAGA,GAAG,CAAC8C,SAAV;AACA,WAZK,CAcN;AACA;;;AACAla,gBAAM,CAAC4N,KAAP,CAAcgd,KAAd,EAAqBxT,GAAG,CAACnD,UAAzB,EAhBM,CAkBN;;AACAmD,aAAG,GAAG4R,QAAQ,CAACnQ,UAAf,CAnBM,CAqBN;;AACAzB,aAAG,CAACwB,WAAJ,GAAkB,EAAlB;AACA;AACD;AACD,KAjDoE,CAmDrE;;;AACAoQ,YAAQ,CAACpQ,WAAT,GAAuB,EAAvB;AAEAhzB,KAAC,GAAG,CAAJ;;AACA,WAAU+a,IAAI,GAAGiqB,KAAK,CAAEhlC,CAAC,EAAH,CAAtB,EAAkC;AAEjC;AACA,UAAK4kC,SAAS,IAAIxqB,MAAM,CAACuP,OAAP,CAAgB5O,IAAhB,EAAsB6pB,SAAtB,IAAoC,CAAC,CAAvD,EAA2D;AAC1D,YAAKC,OAAL,EAAe;AACdA,iBAAO,CAACriC,IAAR,CAAcuY,IAAd;AACA;;AACD;AACA;;AAEDgqB,cAAQ,GAAGrD,UAAU,CAAE3mB,IAAF,CAArB,CAViC,CAYjC;;AACAyW,SAAG,GAAG+S,MAAM,CAAEnB,QAAQ,CAACjc,WAAT,CAAsBpM,IAAtB,CAAF,EAAgC,QAAhC,CAAZ,CAbiC,CAejC;;AACA,UAAKgqB,QAAL,EAAgB;AACfP,qBAAa,CAAEhT,GAAF,CAAb;AACA,OAlBgC,CAoBjC;;;AACA,UAAKmT,OAAL,EAAe;AACdjc,SAAC,GAAG,CAAJ;;AACA,eAAU3N,IAAI,GAAGyW,GAAG,CAAE9I,CAAC,EAAH,CAApB,EAAgC;AAC/B,cAAKya,WAAW,CAACvuB,IAAZ,CAAkBmG,IAAI,CAACvL,IAAL,IAAa,EAA/B,CAAL,EAA2C;AAC1Cm1B,mBAAO,CAACniC,IAAR,CAAcuY,IAAd;AACA;AACD;AACD;AACD;;AAED,WAAOqoB,QAAP;AACA;;AAGD,MAAI+B,cAAc,GAAG,qBAArB;;AAEA,WAASC,UAAT,GAAsB;AACrB,WAAO,IAAP;AACA;;AAED,WAASC,WAAT,GAAuB;AACtB,WAAO,KAAP;AACA,GAx8JgF,CA08JjF;AACA;AACA;AACA;AACA;AACA;;;AACA,WAASC,UAAT,CAAqBvqB,IAArB,EAA2BvL,IAA3B,EAAkC;AACjC,WAASuL,IAAI,KAAKwqB,iBAAiB,EAA5B,MAAuC/1B,IAAI,KAAK,OAAhD,CAAP;AACA,GAl9JgF,CAo9JjF;AACA;AACA;;;AACA,WAAS+1B,iBAAT,GAA6B;AAC5B,QAAI;AACH,aAAOnkC,QAAQ,CAAC6zB,aAAhB;AACA,KAFD,CAEE,OAAQhsB,GAAR,EAAc,CAAG;AACnB;;AAED,WAAS3H,GAAT,CAAayZ,IAAb,EAAmByqB,KAAnB,EAA0Bje,QAA1B,EAAoC9nB,IAApC,EAA0C0e,EAA1C,EAA8CqC,GAA9C,EAAoD;AACnD,QAAIilB,MAAJ,EAAYj2B,IAAZ,CADmD,CAGnD;;AACA,QAAK,QAAOg2B,KAAP,MAAiB,QAAtB,EAAiC;AAEhC;AACA,UAAK,OAAOje,QAAP,KAAoB,QAAzB,EAAoC;AAEnC;AACA9nB,YAAI,GAAGA,IAAI,IAAI8nB,QAAf;AACAA,gBAAQ,GAAG7jB,SAAX;AACA;;AACD,WAAM8L,IAAN,IAAcg2B,KAAd,EAAsB;AACrBlkC,WAAE,CAAEyZ,IAAF,EAAQvL,IAAR,EAAc+X,QAAd,EAAwB9nB,IAAxB,EAA8B+lC,KAAK,CAAEh2B,IAAF,CAAnC,EAA6CgR,GAA7C,CAAF;AACA;;AACD,aAAOzF,IAAP;AACA;;AAED,QAAKtb,IAAI,IAAI,IAAR,IAAgB0e,EAAE,IAAI,IAA3B,EAAkC;AAEjC;AACAA,QAAE,GAAGoJ,QAAL;AACA9nB,UAAI,GAAG8nB,QAAQ,GAAG7jB,SAAlB;AACA,KALD,MAKO,IAAKya,EAAE,IAAI,IAAX,EAAkB;AACxB,UAAK,OAAOoJ,QAAP,KAAoB,QAAzB,EAAoC;AAEnC;AACApJ,UAAE,GAAG1e,IAAL;AACAA,YAAI,GAAGiE,SAAP;AACA,OALD,MAKO;AAEN;AACAya,UAAE,GAAG1e,IAAL;AACAA,YAAI,GAAG8nB,QAAP;AACAA,gBAAQ,GAAG7jB,SAAX;AACA;AACD;;AACD,QAAKya,EAAE,KAAK,KAAZ,EAAoB;AACnBA,QAAE,GAAGknB,WAAL;AACA,KAFD,MAEO,IAAK,CAAClnB,EAAN,EAAW;AACjB,aAAOpD,IAAP;AACA;;AAED,QAAKyF,GAAG,KAAK,CAAb,EAAiB;AAChBilB,YAAM,GAAGtnB,EAAT;;AACAA,QAAE,GAAG,YAAU9U,KAAV,EAAkB;AAEtB;AACA+Q,cAAM,GAAG/Y,GAAT,CAAcgI,KAAd;AACA,eAAOo8B,MAAM,CAAC9gC,KAAP,CAAc,IAAd,EAAoBwjB,SAApB,CAAP;AACA,OALD,CAFgB,CAShB;;;AACAhK,QAAE,CAAC8L,IAAH,GAAUwb,MAAM,CAACxb,IAAP,KAAiBwb,MAAM,CAACxb,IAAP,GAAc7P,MAAM,CAAC6P,IAAP,EAA/B,CAAV;AACA;;AACD,WAAOlP,IAAI,CAACxb,IAAL,CAAW,YAAW;AAC5B6a,YAAM,CAAC/Q,KAAP,CAAajF,GAAb,CAAkB,IAAlB,EAAwBohC,KAAxB,EAA+BrnB,EAA/B,EAAmC1e,IAAnC,EAAyC8nB,QAAzC;AACA,KAFM,CAAP;AAGA;AAED;AACA;AACA;AACA;;;AACAnN,QAAM,CAAC/Q,KAAP,GAAe;AAEdsP,UAAM,EAAE,EAFM;AAIdvU,OAAG,EAAE,aAAU2W,IAAV,EAAgByqB,KAAhB,EAAuB1V,OAAvB,EAAgCrwB,IAAhC,EAAsC8nB,QAAtC,EAAiD;AAErD,UAAIme,WAAJ;AAAA,UAAiBC,WAAjB;AAAA,UAA8BnU,GAA9B;AAAA,UACCxnB,MADD;AAAA,UACS47B,CADT;AAAA,UACYC,SADZ;AAAA,UAECxI,OAFD;AAAA,UAEUyI,QAFV;AAAA,UAEoBt2B,IAFpB;AAAA,UAE0Bu2B,UAF1B;AAAA,UAEsCC,QAFtC;AAAA,UAGCC,QAAQ,GAAG1F,QAAQ,CAAC5Y,GAAT,CAAc5M,IAAd,CAHZ,CAFqD,CAOrD;;AACA,UAAK,CAACglB,UAAU,CAAEhlB,IAAF,CAAhB,EAA2B;AAC1B;AACA,OAVoD,CAYrD;;;AACA,UAAK+U,OAAO,CAACA,OAAb,EAAuB;AACtB4V,mBAAW,GAAG5V,OAAd;AACAA,eAAO,GAAG4V,WAAW,CAAC5V,OAAtB;AACAvI,gBAAQ,GAAGme,WAAW,CAACne,QAAvB;AACA,OAjBoD,CAmBrD;AACA;;;AACA,UAAKA,QAAL,EAAgB;AACfnN,cAAM,CAAC9a,IAAP,CAAYqyB,eAAZ,CAA6Bb,eAA7B,EAA8CvJ,QAA9C;AACA,OAvBoD,CAyBrD;;;AACA,UAAK,CAACuI,OAAO,CAAC7F,IAAd,EAAqB;AACpB6F,eAAO,CAAC7F,IAAR,GAAe7P,MAAM,CAAC6P,IAAP,EAAf;AACA,OA5BoD,CA8BrD;;;AACA,UAAK,EAAGjgB,MAAM,GAAGi8B,QAAQ,CAACj8B,MAArB,CAAL,EAAqC;AACpCA,cAAM,GAAGi8B,QAAQ,CAACj8B,MAAT,GAAkBvE,MAAM,CAACgW,MAAP,CAAe,IAAf,CAA3B;AACA;;AACD,UAAK,EAAGkqB,WAAW,GAAGM,QAAQ,CAACC,MAA1B,CAAL,EAA0C;AACzCP,mBAAW,GAAGM,QAAQ,CAACC,MAAT,GAAkB,UAAUjnC,CAAV,EAAc;AAE7C;AACA;AACA,iBAAO,OAAOmb,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAAC/Q,KAAP,CAAa88B,SAAb,KAA2BlnC,CAAC,CAACuQ,IAA9D,GACN4K,MAAM,CAAC/Q,KAAP,CAAa+8B,QAAb,CAAsBzhC,KAAtB,CAA6BoW,IAA7B,EAAmCoN,SAAnC,CADM,GAC2CzkB,SADlD;AAEA,SAND;AAOA,OA1CoD,CA4CrD;;;AACA8hC,WAAK,GAAG,CAAEA,KAAK,IAAI,EAAX,EAAgB9W,KAAhB,CAAuBuM,aAAvB,KAA0C,CAAE,EAAF,CAAlD;AACA2K,OAAC,GAAGJ,KAAK,CAACrjC,MAAV;;AACA,aAAQyjC,CAAC,EAAT,EAAc;AACbpU,WAAG,GAAG2T,cAAc,CAAC3oB,IAAf,CAAqBgpB,KAAK,CAAEI,CAAF,CAA1B,KAAqC,EAA3C;AACAp2B,YAAI,GAAGw2B,QAAQ,GAAGxU,GAAG,CAAE,CAAF,CAArB;AACAuU,kBAAU,GAAG,CAAEvU,GAAG,CAAE,CAAF,CAAH,IAAY,EAAd,EAAmBpH,KAAnB,CAA0B,GAA1B,EAAgCxB,IAAhC,EAAb,CAHa,CAKb;;AACA,YAAK,CAACpZ,IAAN,EAAa;AACZ;AACA,SARY,CAUb;;;AACA6tB,eAAO,GAAGjjB,MAAM,CAAC/Q,KAAP,CAAag0B,OAAb,CAAsB7tB,IAAtB,KAAgC,EAA1C,CAXa,CAab;;AACAA,YAAI,GAAG,CAAE+X,QAAQ,GAAG8V,OAAO,CAACgJ,YAAX,GAA0BhJ,OAAO,CAACiJ,QAA5C,KAA0D92B,IAAjE,CAda,CAgBb;;AACA6tB,eAAO,GAAGjjB,MAAM,CAAC/Q,KAAP,CAAag0B,OAAb,CAAsB7tB,IAAtB,KAAgC,EAA1C,CAjBa,CAmBb;;AACAq2B,iBAAS,GAAGzrB,MAAM,CAAC5L,MAAP,CAAe;AAC1BgB,cAAI,EAAEA,IADoB;AAE1Bw2B,kBAAQ,EAAEA,QAFgB;AAG1BvmC,cAAI,EAAEA,IAHoB;AAI1BqwB,iBAAO,EAAEA,OAJiB;AAK1B7F,cAAI,EAAE6F,OAAO,CAAC7F,IALY;AAM1B1C,kBAAQ,EAAEA,QANgB;AAO1BkS,sBAAY,EAAElS,QAAQ,IAAInN,MAAM,CAACkL,IAAP,CAAYoJ,KAAZ,CAAkB+K,YAAlB,CAA+B7kB,IAA/B,CAAqC2S,QAArC,CAPA;AAQ1BqJ,mBAAS,EAAEmV,UAAU,CAAC3W,IAAX,CAAiB,GAAjB;AARe,SAAf,EASTsW,WATS,CAAZ,CApBa,CA+Bb;;AACA,YAAK,EAAGI,QAAQ,GAAG97B,MAAM,CAAEwF,IAAF,CAApB,CAAL,EAAsC;AACrCs2B,kBAAQ,GAAG97B,MAAM,CAAEwF,IAAF,CAAN,GAAiB,EAA5B;AACAs2B,kBAAQ,CAACS,aAAT,GAAyB,CAAzB,CAFqC,CAIrC;;AACA,cAAK,CAAClJ,OAAO,CAACmJ,KAAT,IACJnJ,OAAO,CAACmJ,KAAR,CAAc5hC,IAAd,CAAoBmW,IAApB,EAA0Btb,IAA1B,EAAgCsmC,UAAhC,EAA4CJ,WAA5C,MAA8D,KAD/D,EACuE;AAEtE,gBAAK5qB,IAAI,CAAClD,gBAAV,EAA6B;AAC5BkD,kBAAI,CAAClD,gBAAL,CAAuBrI,IAAvB,EAA6Bm2B,WAA7B;AACA;AACD;AACD;;AAED,YAAKtI,OAAO,CAACj5B,GAAb,EAAmB;AAClBi5B,iBAAO,CAACj5B,GAAR,CAAYQ,IAAZ,CAAkBmW,IAAlB,EAAwB8qB,SAAxB;;AAEA,cAAK,CAACA,SAAS,CAAC/V,OAAV,CAAkB7F,IAAxB,EAA+B;AAC9B4b,qBAAS,CAAC/V,OAAV,CAAkB7F,IAAlB,GAAyB6F,OAAO,CAAC7F,IAAjC;AACA;AACD,SApDY,CAsDb;;;AACA,YAAK1C,QAAL,EAAgB;AACfue,kBAAQ,CAACrsB,MAAT,CAAiBqsB,QAAQ,CAACS,aAAT,EAAjB,EAA2C,CAA3C,EAA8CV,SAA9C;AACA,SAFD,MAEO;AACNC,kBAAQ,CAACtjC,IAAT,CAAeqjC,SAAf;AACA,SA3DY,CA6Db;;;AACAzrB,cAAM,CAAC/Q,KAAP,CAAasP,MAAb,CAAqBnJ,IAArB,IAA8B,IAA9B;AACA;AAED,KApHa;AAsHd;AACAjP,UAAM,EAAE,gBAAUwa,IAAV,EAAgByqB,KAAhB,EAAuB1V,OAAvB,EAAgCvI,QAAhC,EAA0Ckf,WAA1C,EAAwD;AAE/D,UAAI/d,CAAJ;AAAA,UAAOge,SAAP;AAAA,UAAkBlV,GAAlB;AAAA,UACCxnB,MADD;AAAA,UACS47B,CADT;AAAA,UACYC,SADZ;AAAA,UAECxI,OAFD;AAAA,UAEUyI,QAFV;AAAA,UAEoBt2B,IAFpB;AAAA,UAE0Bu2B,UAF1B;AAAA,UAEsCC,QAFtC;AAAA,UAGCC,QAAQ,GAAG1F,QAAQ,CAACD,OAAT,CAAkBvlB,IAAlB,KAA4BwlB,QAAQ,CAAC5Y,GAAT,CAAc5M,IAAd,CAHxC;;AAKA,UAAK,CAACkrB,QAAD,IAAa,EAAGj8B,MAAM,GAAGi8B,QAAQ,CAACj8B,MAArB,CAAlB,EAAkD;AACjD;AACA,OAT8D,CAW/D;;;AACAw7B,WAAK,GAAG,CAAEA,KAAK,IAAI,EAAX,EAAgB9W,KAAhB,CAAuBuM,aAAvB,KAA0C,CAAE,EAAF,CAAlD;AACA2K,OAAC,GAAGJ,KAAK,CAACrjC,MAAV;;AACA,aAAQyjC,CAAC,EAAT,EAAc;AACbpU,WAAG,GAAG2T,cAAc,CAAC3oB,IAAf,CAAqBgpB,KAAK,CAAEI,CAAF,CAA1B,KAAqC,EAA3C;AACAp2B,YAAI,GAAGw2B,QAAQ,GAAGxU,GAAG,CAAE,CAAF,CAArB;AACAuU,kBAAU,GAAG,CAAEvU,GAAG,CAAE,CAAF,CAAH,IAAY,EAAd,EAAmBpH,KAAnB,CAA0B,GAA1B,EAAgCxB,IAAhC,EAAb,CAHa,CAKb;;AACA,YAAK,CAACpZ,IAAN,EAAa;AACZ,eAAMA,IAAN,IAAcxF,MAAd,EAAuB;AACtBoQ,kBAAM,CAAC/Q,KAAP,CAAa9I,MAAb,CAAqBwa,IAArB,EAA2BvL,IAAI,GAAGg2B,KAAK,CAAEI,CAAF,CAAvC,EAA8C9V,OAA9C,EAAuDvI,QAAvD,EAAiE,IAAjE;AACA;;AACD;AACA;;AAED8V,eAAO,GAAGjjB,MAAM,CAAC/Q,KAAP,CAAag0B,OAAb,CAAsB7tB,IAAtB,KAAgC,EAA1C;AACAA,YAAI,GAAG,CAAE+X,QAAQ,GAAG8V,OAAO,CAACgJ,YAAX,GAA0BhJ,OAAO,CAACiJ,QAA5C,KAA0D92B,IAAjE;AACAs2B,gBAAQ,GAAG97B,MAAM,CAAEwF,IAAF,CAAN,IAAkB,EAA7B;AACAgiB,WAAG,GAAGA,GAAG,CAAE,CAAF,CAAH,IACL,IAAIlF,MAAJ,CAAY,YAAYyZ,UAAU,CAAC3W,IAAX,CAAiB,eAAjB,CAAZ,GAAiD,SAA7D,CADD,CAhBa,CAmBb;;AACAsX,iBAAS,GAAGhe,CAAC,GAAGod,QAAQ,CAAC3jC,MAAzB;;AACA,eAAQumB,CAAC,EAAT,EAAc;AACbmd,mBAAS,GAAGC,QAAQ,CAAEpd,CAAF,CAApB;;AAEA,cAAK,CAAE+d,WAAW,IAAIT,QAAQ,KAAKH,SAAS,CAACG,QAAxC,MACF,CAAClW,OAAD,IAAYA,OAAO,CAAC7F,IAAR,KAAiB4b,SAAS,CAAC5b,IADrC,MAEF,CAACuH,GAAD,IAAQA,GAAG,CAAC5c,IAAJ,CAAUixB,SAAS,CAACjV,SAApB,CAFN,MAGF,CAACrJ,QAAD,IAAaA,QAAQ,KAAKse,SAAS,CAACte,QAApC,IACDA,QAAQ,KAAK,IAAb,IAAqBse,SAAS,CAACte,QAJ5B,CAAL,EAI8C;AAC7Cue,oBAAQ,CAACrsB,MAAT,CAAiBiP,CAAjB,EAAoB,CAApB;;AAEA,gBAAKmd,SAAS,CAACte,QAAf,EAA0B;AACzBue,sBAAQ,CAACS,aAAT;AACA;;AACD,gBAAKlJ,OAAO,CAAC98B,MAAb,EAAsB;AACrB88B,qBAAO,CAAC98B,MAAR,CAAeqE,IAAf,CAAqBmW,IAArB,EAA2B8qB,SAA3B;AACA;AACD;AACD,SAtCY,CAwCb;AACA;;;AACA,YAAKa,SAAS,IAAI,CAACZ,QAAQ,CAAC3jC,MAA5B,EAAqC;AACpC,cAAK,CAACk7B,OAAO,CAACsJ,QAAT,IACJtJ,OAAO,CAACsJ,QAAR,CAAiB/hC,IAAjB,CAAuBmW,IAAvB,EAA6BgrB,UAA7B,EAAyCE,QAAQ,CAACC,MAAlD,MAA+D,KADhE,EACwE;AAEvE9rB,kBAAM,CAACwsB,WAAP,CAAoB7rB,IAApB,EAA0BvL,IAA1B,EAAgCy2B,QAAQ,CAACC,MAAzC;AACA;;AAED,iBAAOl8B,MAAM,CAAEwF,IAAF,CAAb;AACA;AACD,OAjE8D,CAmE/D;;;AACA,UAAK4K,MAAM,CAAC0J,aAAP,CAAsB9Z,MAAtB,CAAL,EAAsC;AACrCu2B,gBAAQ,CAAChgC,MAAT,CAAiBwa,IAAjB,EAAuB,eAAvB;AACA;AACD,KA9La;AAgMdqrB,YAAQ,EAAE,kBAAUS,WAAV,EAAwB;AAEjC,UAAI7mC,CAAJ;AAAA,UAAO0oB,CAAP;AAAA,UAAUX,GAAV;AAAA,UAAe4M,OAAf;AAAA,UAAwBkR,SAAxB;AAAA,UAAmCiB,YAAnC;AAAA,UACCntB,IAAI,GAAG,IAAIc,KAAJ,CAAW0N,SAAS,CAAChmB,MAArB,CADR;AAAA,UAGC;AACAkH,WAAK,GAAG+Q,MAAM,CAAC/Q,KAAP,CAAa09B,GAAb,CAAkBF,WAAlB,CAJT;AAAA,UAMCf,QAAQ,GAAG,CACVvF,QAAQ,CAAC5Y,GAAT,CAAc,IAAd,EAAoB,QAApB,KAAkCliB,MAAM,CAACgW,MAAP,CAAe,IAAf,CADxB,EAERpS,KAAK,CAACmG,IAFE,KAEQ,EARpB;AAAA,UASC6tB,OAAO,GAAGjjB,MAAM,CAAC/Q,KAAP,CAAag0B,OAAb,CAAsBh0B,KAAK,CAACmG,IAA5B,KAAsC,EATjD,CAFiC,CAajC;;AACAmK,UAAI,CAAE,CAAF,CAAJ,GAAYtQ,KAAZ;;AAEA,WAAMrJ,CAAC,GAAG,CAAV,EAAaA,CAAC,GAAGmoB,SAAS,CAAChmB,MAA3B,EAAmCnC,CAAC,EAApC,EAAyC;AACxC2Z,YAAI,CAAE3Z,CAAF,CAAJ,GAAYmoB,SAAS,CAAEnoB,CAAF,CAArB;AACA;;AAEDqJ,WAAK,CAAC29B,cAAN,GAAuB,IAAvB,CApBiC,CAsBjC;;AACA,UAAK3J,OAAO,CAAC4J,WAAR,IAAuB5J,OAAO,CAAC4J,WAAR,CAAoBriC,IAApB,CAA0B,IAA1B,EAAgCyE,KAAhC,MAA4C,KAAxE,EAAgF;AAC/E;AACA,OAzBgC,CA2BjC;;;AACAy9B,kBAAY,GAAG1sB,MAAM,CAAC/Q,KAAP,CAAay8B,QAAb,CAAsBlhC,IAAtB,CAA4B,IAA5B,EAAkCyE,KAAlC,EAAyCy8B,QAAzC,CAAf,CA5BiC,CA8BjC;;AACA9lC,OAAC,GAAG,CAAJ;;AACA,aAAQ,CAAE20B,OAAO,GAAGmS,YAAY,CAAE9mC,CAAC,EAAH,CAAxB,KAAqC,CAACqJ,KAAK,CAAC69B,oBAAN,EAA9C,EAA6E;AAC5E79B,aAAK,CAAC89B,aAAN,GAAsBxS,OAAO,CAAC5Z,IAA9B;AAEA2N,SAAC,GAAG,CAAJ;;AACA,eAAQ,CAAEmd,SAAS,GAAGlR,OAAO,CAACmR,QAAR,CAAkBpd,CAAC,EAAnB,CAAd,KACP,CAACrf,KAAK,CAAC+9B,6BAAN,EADF,EAC0C;AAEzC;AACA;AACA,cAAK,CAAC/9B,KAAK,CAACg+B,UAAP,IAAqBxB,SAAS,CAACjV,SAAV,KAAwB,KAA7C,IACJvnB,KAAK,CAACg+B,UAAN,CAAiBzyB,IAAjB,CAAuBixB,SAAS,CAACjV,SAAjC,CADD,EACgD;AAE/CvnB,iBAAK,CAACw8B,SAAN,GAAkBA,SAAlB;AACAx8B,iBAAK,CAAC5J,IAAN,GAAaomC,SAAS,CAACpmC,IAAvB;AAEAsoB,eAAG,GAAG,CAAE,CAAE3N,MAAM,CAAC/Q,KAAP,CAAag0B,OAAb,CAAsBwI,SAAS,CAACG,QAAhC,KAA8C,EAAhD,EAAqDE,MAArD,IACPL,SAAS,CAAC/V,OADL,EACenrB,KADf,CACsBgwB,OAAO,CAAC5Z,IAD9B,EACoCpB,IADpC,CAAN;;AAGA,gBAAKoO,GAAG,KAAKrkB,SAAb,EAAyB;AACxB,kBAAK,CAAE2F,KAAK,CAACqqB,MAAN,GAAe3L,GAAjB,MAA2B,KAAhC,EAAwC;AACvC1e,qBAAK,CAAC6C,cAAN;AACA7C,qBAAK,CAACi+B,eAAN;AACA;AACD;AACD;AACD;AACD,OA1DgC,CA4DjC;;;AACA,UAAKjK,OAAO,CAACkK,YAAb,EAA4B;AAC3BlK,eAAO,CAACkK,YAAR,CAAqB3iC,IAArB,CAA2B,IAA3B,EAAiCyE,KAAjC;AACA;;AAED,aAAOA,KAAK,CAACqqB,MAAb;AACA,KAlQa;AAoQdoS,YAAQ,EAAE,kBAAUz8B,KAAV,EAAiBy8B,SAAjB,EAA4B;AACrC,UAAI9lC,CAAJ;AAAA,UAAO6lC,SAAP;AAAA,UAAkBlT,GAAlB;AAAA,UAAuB6U,eAAvB;AAAA,UAAwCC,gBAAxC;AAAA,UACCX,YAAY,GAAG,EADhB;AAAA,UAECP,aAAa,GAAGT,SAAQ,CAACS,aAF1B;AAAA,UAGCtW,GAAG,GAAG5mB,KAAK,CAACE,MAHb,CADqC,CAMrC;;AACA,UAAKg9B,aAAa,IAEjB;AACA;AACAtW,SAAG,CAACnU,QAJA,IAMJ;AACA;AACA;AACA;AACA;AACA,QAAGzS,KAAK,CAACmG,IAAN,KAAe,OAAf,IAA0BnG,KAAK,CAACoN,MAAN,IAAgB,CAA7C,CAXD,EAWoD;AAEnD,eAAQwZ,GAAG,KAAK,IAAhB,EAAsBA,GAAG,GAAGA,GAAG,CAAC3d,UAAJ,IAAkB,IAA9C,EAAqD;AAEpD;AACA;AACA,cAAK2d,GAAG,CAACnU,QAAJ,KAAiB,CAAjB,IAAsB,EAAGzS,KAAK,CAACmG,IAAN,KAAe,OAAf,IAA0BygB,GAAG,CAAC9B,QAAJ,KAAiB,IAA9C,CAA3B,EAAkF;AACjFqZ,2BAAe,GAAG,EAAlB;AACAC,4BAAgB,GAAG,EAAnB;;AACA,iBAAMznC,CAAC,GAAG,CAAV,EAAaA,CAAC,GAAGumC,aAAjB,EAAgCvmC,CAAC,EAAjC,EAAsC;AACrC6lC,uBAAS,GAAGC,SAAQ,CAAE9lC,CAAF,CAApB,CADqC,CAGrC;;AACA2yB,iBAAG,GAAGkT,SAAS,CAACte,QAAV,GAAqB,GAA3B;;AAEA,kBAAKkgB,gBAAgB,CAAE9U,GAAF,CAAhB,KAA4BjvB,SAAjC,EAA6C;AAC5C+jC,gCAAgB,CAAE9U,GAAF,CAAhB,GAA0BkT,SAAS,CAACpM,YAAV,GACzBrf,MAAM,CAAEuY,GAAF,EAAO,IAAP,CAAN,CAAoBvqB,KAApB,CAA2B6nB,GAA3B,IAAmC,CAAC,CADX,GAEzB7V,MAAM,CAAC9a,IAAP,CAAaqzB,GAAb,EAAkB,IAAlB,EAAwB,IAAxB,EAA8B,CAAE1C,GAAF,CAA9B,EAAwC9tB,MAFzC;AAGA;;AACD,kBAAKslC,gBAAgB,CAAE9U,GAAF,CAArB,EAA+B;AAC9B6U,+BAAe,CAAChlC,IAAhB,CAAsBqjC,SAAtB;AACA;AACD;;AACD,gBAAK2B,eAAe,CAACrlC,MAArB,EAA8B;AAC7B2kC,0BAAY,CAACtkC,IAAb,CAAmB;AAAEuY,oBAAI,EAAEkV,GAAR;AAAa6V,wBAAQ,EAAE0B;AAAvB,eAAnB;AACA;AACD;AACD;AACD,OA/CoC,CAiDrC;;;AACAvX,SAAG,GAAG,IAAN;;AACA,UAAKsW,aAAa,GAAGT,SAAQ,CAAC3jC,MAA9B,EAAuC;AACtC2kC,oBAAY,CAACtkC,IAAb,CAAmB;AAAEuY,cAAI,EAAEkV,GAAR;AAAa6V,kBAAQ,EAAEA,SAAQ,CAAClsB,KAAT,CAAgB2sB,aAAhB;AAAvB,SAAnB;AACA;;AAED,aAAOO,YAAP;AACA,KA5Ta;AA8TdY,WAAO,EAAE,iBAAU7e,IAAV,EAAgB8e,IAAhB,EAAuB;AAC/BliC,YAAM,CAAC06B,cAAP,CAAuB/lB,MAAM,CAACwtB,KAAP,CAAa5uB,SAApC,EAA+C6P,IAA/C,EAAqD;AACpDgf,kBAAU,EAAE,IADwC;AAEpDzH,oBAAY,EAAE,IAFsC;AAIpDzY,WAAG,EAAE9G,UAAU,CAAE8mB,IAAF,CAAV,GACJ,YAAW;AACV,cAAK,KAAK5mB,aAAV,EAA0B;AACzB,mBAAO4mB,IAAI,CAAE,KAAK5mB,aAAP,CAAX;AACA;AACD,SALG,GAMJ,YAAW;AACV,cAAK,KAAKA,aAAV,EAA0B;AACzB,mBAAO,KAAKA,aAAL,CAAoB8H,IAApB,CAAP;AACA;AACD,SAdkD;AAgBpDwX,WAAG,EAAE,aAAU/b,KAAV,EAAkB;AACtB7e,gBAAM,CAAC06B,cAAP,CAAuB,IAAvB,EAA6BtX,IAA7B,EAAmC;AAClCgf,sBAAU,EAAE,IADsB;AAElCzH,wBAAY,EAAE,IAFoB;AAGlC0H,oBAAQ,EAAE,IAHwB;AAIlCxjB,iBAAK,EAAEA;AAJ2B,WAAnC;AAMA;AAvBmD,OAArD;AAyBA,KAxVa;AA0VdyiB,OAAG,EAAE,aAAUhmB,aAAV,EAA0B;AAC9B,aAAOA,aAAa,CAAE3G,MAAM,CAAC+O,OAAT,CAAb,GACNpI,aADM,GAEN,IAAI3G,MAAM,CAACwtB,KAAX,CAAkB7mB,aAAlB,CAFD;AAGA,KA9Va;AAgWdsc,WAAO,EAAE;AACR0K,UAAI,EAAE;AAEL;AACAC,gBAAQ,EAAE;AAHL,OADE;AAMRlxB,WAAK,EAAE;AAEN;AACA0vB,aAAK,EAAE,eAAU/mC,IAAV,EAAiB;AAEvB;AACA;AACA,cAAI+jB,EAAE,GAAG,QAAQ/jB,IAAjB,CAJuB,CAMvB;;AACA,cAAKwjC,cAAc,CAACruB,IAAf,CAAqB4O,EAAE,CAAChU,IAAxB,KACJgU,EAAE,CAAC1M,KADC,IACQ6E,QAAQ,CAAE6H,EAAF,EAAM,OAAN,CADrB,EACuC;AAEtC;AACAykB,0BAAc,CAAEzkB,EAAF,EAAM,OAAN,EAAe4hB,UAAf,CAAd;AACA,WAZsB,CAcvB;;;AACA,iBAAO,KAAP;AACA,SAnBK;AAoBN5gC,eAAO,EAAE,iBAAU/E,IAAV,EAAiB;AAEzB;AACA;AACA,cAAI+jB,EAAE,GAAG,QAAQ/jB,IAAjB,CAJyB,CAMzB;;AACA,cAAKwjC,cAAc,CAACruB,IAAf,CAAqB4O,EAAE,CAAChU,IAAxB,KACJgU,EAAE,CAAC1M,KADC,IACQ6E,QAAQ,CAAE6H,EAAF,EAAM,OAAN,CADrB,EACuC;AAEtCykB,0BAAc,CAAEzkB,EAAF,EAAM,OAAN,CAAd;AACA,WAXwB,CAazB;;;AACA,iBAAO,IAAP;AACA,SAnCK;AAqCN;AACA;AACAwgB,gBAAQ,EAAE,kBAAU36B,KAAV,EAAkB;AAC3B,cAAIE,MAAM,GAAGF,KAAK,CAACE,MAAnB;AACA,iBAAO05B,cAAc,CAACruB,IAAf,CAAqBrL,MAAM,CAACiG,IAA5B,KACNjG,MAAM,CAACuN,KADD,IACU6E,QAAQ,CAAEpS,MAAF,EAAU,OAAV,CADlB,IAENg3B,QAAQ,CAAC5Y,GAAT,CAAcpe,MAAd,EAAsB,OAAtB,CAFM,IAGNoS,QAAQ,CAAEpS,MAAF,EAAU,GAAV,CAHT;AAIA;AA7CK,OANC;AAsDR2+B,kBAAY,EAAE;AACbX,oBAAY,EAAE,sBAAUl+B,KAAV,EAAkB;AAE/B;AACA;AACA,cAAKA,KAAK,CAACqqB,MAAN,KAAiBhwB,SAAjB,IAA8B2F,KAAK,CAAC0X,aAAzC,EAAyD;AACxD1X,iBAAK,CAAC0X,aAAN,CAAoBonB,WAApB,GAAkC9+B,KAAK,CAACqqB,MAAxC;AACA;AACD;AARY;AAtDN;AAhWK,GAAf,CA9hKiF,CAi8KjF;AACA;AACA;AACA;;AACA,WAASuU,cAAT,CAAyBzkB,EAAzB,EAA6BhU,IAA7B,EAAmC81B,UAAnC,EAAgD;AAE/C;AACA,QAAK,CAACA,UAAN,EAAmB;AAClB,UAAK/E,QAAQ,CAAC5Y,GAAT,CAAcnE,EAAd,EAAkBhU,IAAlB,MAA6B9L,SAAlC,EAA8C;AAC7C0W,cAAM,CAAC/Q,KAAP,CAAajF,GAAb,CAAkBof,EAAlB,EAAsBhU,IAAtB,EAA4B41B,UAA5B;AACA;;AACD;AACA,KAR8C,CAU/C;;;AACA7E,YAAQ,CAACF,GAAT,CAAc7c,EAAd,EAAkBhU,IAAlB,EAAwB,KAAxB;AACA4K,UAAM,CAAC/Q,KAAP,CAAajF,GAAb,CAAkBof,EAAlB,EAAsBhU,IAAtB,EAA4B;AAC3BohB,eAAS,EAAE,KADgB;AAE3Bd,aAAO,EAAE,iBAAUzmB,KAAV,EAAkB;AAC1B,YAAI++B,QAAJ;AAAA,YAAc1U,MAAd;AAAA,YACC2U,KAAK,GAAG9H,QAAQ,CAAC5Y,GAAT,CAAc,IAAd,EAAoBnY,IAApB,CADT;;AAGA,YAAOnG,KAAK,CAACi/B,SAAN,GAAkB,CAApB,IAA2B,KAAM94B,IAAN,CAAhC,EAA+C;AAE9C;AACA;AACA;AACA,cAAK,CAAC64B,KAAK,CAAClmC,MAAZ,EAAqB;AAEpB;AACA;AACA;AACAkmC,iBAAK,GAAGzuB,MAAK,CAAChV,IAAN,CAAYujB,SAAZ,CAAR;AACAoY,oBAAQ,CAACF,GAAT,CAAc,IAAd,EAAoB7wB,IAApB,EAA0B64B,KAA1B,EANoB,CAQpB;AACA;AACA;;AACAD,oBAAQ,GAAG9C,UAAU,CAAE,IAAF,EAAQ91B,IAAR,CAArB;AACA,iBAAMA,IAAN;AACAkkB,kBAAM,GAAG6M,QAAQ,CAAC5Y,GAAT,CAAc,IAAd,EAAoBnY,IAApB,CAAT;;AACA,gBAAK64B,KAAK,KAAK3U,MAAV,IAAoB0U,QAAzB,EAAoC;AACnC7H,sBAAQ,CAACF,GAAT,CAAc,IAAd,EAAoB7wB,IAApB,EAA0B,KAA1B;AACA,aAFD,MAEO;AACNkkB,oBAAM,GAAG,EAAT;AACA;;AACD,gBAAK2U,KAAK,KAAK3U,MAAf,EAAwB;AAEvB;AACArqB,mBAAK,CAACk/B,wBAAN;AACAl/B,mBAAK,CAAC6C,cAAN,GAJuB,CAMvB;AACA;AACA;AACA;AACA;;AACA,qBAAOwnB,MAAM,IAAIA,MAAM,CAACpP,KAAxB;AACA,aA/BmB,CAiCrB;AACA;AACA;AACA;AACA;AACA;;AACC,WAvCD,MAuCO,IAAK,CAAElK,MAAM,CAAC/Q,KAAP,CAAag0B,OAAb,CAAsB7tB,IAAtB,KAAgC,EAAlC,EAAuC62B,YAA5C,EAA2D;AACjEh9B,iBAAK,CAACi+B,eAAN;AACA,WA9C6C,CAgD/C;AACA;;AACC,SAlDD,MAkDO,IAAKe,KAAK,CAAClmC,MAAX,EAAoB;AAE1B;AACAo+B,kBAAQ,CAACF,GAAT,CAAc,IAAd,EAAoB7wB,IAApB,EAA0B;AACzB8U,iBAAK,EAAElK,MAAM,CAAC/Q,KAAP,CAAa7E,OAAb,EAEN;AACA;AACA4V,kBAAM,CAAC5L,MAAP,CAAe65B,KAAK,CAAE,CAAF,CAApB,EAA2BjuB,MAAM,CAACwtB,KAAP,CAAa5uB,SAAxC,CAJM,EAKNqvB,KAAK,CAACzuB,KAAN,CAAa,CAAb,CALM,EAMN,IANM;AADkB,WAA1B,EAH0B,CAc1B;;AACAvQ,eAAK,CAACk/B,wBAAN;AACA;AACD;AAzE0B,KAA5B;AA2EA;;AAEDnuB,QAAM,CAACwsB,WAAP,GAAqB,UAAU7rB,IAAV,EAAgBvL,IAAhB,EAAsB02B,MAAtB,EAA+B;AAEnD;AACA,QAAKnrB,IAAI,CAACkD,mBAAV,EAAgC;AAC/BlD,UAAI,CAACkD,mBAAL,CAA0BzO,IAA1B,EAAgC02B,MAAhC;AACA;AACD,GAND;;AAQA9rB,QAAM,CAACwtB,KAAP,GAAe,UAAU31B,GAAV,EAAeu2B,KAAf,EAAuB;AAErC;AACA,QAAK,EAAG,gBAAgBpuB,MAAM,CAACwtB,KAA1B,CAAL,EAAyC;AACxC,aAAO,IAAIxtB,MAAM,CAACwtB,KAAX,CAAkB31B,GAAlB,EAAuBu2B,KAAvB,CAAP;AACA,KALoC,CAOrC;;;AACA,QAAKv2B,GAAG,IAAIA,GAAG,CAACzC,IAAhB,EAAuB;AACtB,WAAKuR,aAAL,GAAqB9O,GAArB;AACA,WAAKzC,IAAL,GAAYyC,GAAG,CAACzC,IAAhB,CAFsB,CAItB;AACA;;AACA,WAAKi5B,kBAAL,GAA0Bx2B,GAAG,CAACy2B,gBAAJ,IACxBz2B,GAAG,CAACy2B,gBAAJ,KAAyBhlC,SAAzB,IAEA;AACAuO,SAAG,CAACk2B,WAAJ,KAAoB,KAJI,GAKzB/C,UALyB,GAMzBC,WAND,CANsB,CActB;AACA;AACA;;AACA,WAAK97B,MAAL,GAAgB0I,GAAG,CAAC1I,MAAJ,IAAc0I,GAAG,CAAC1I,MAAJ,CAAWuS,QAAX,KAAwB,CAAxC,GACb7J,GAAG,CAAC1I,MAAJ,CAAW+I,UADE,GAEbL,GAAG,CAAC1I,MAFL;AAIA,WAAK49B,aAAL,GAAqBl1B,GAAG,CAACk1B,aAAzB;AACA,WAAKwB,aAAL,GAAqB12B,GAAG,CAAC02B,aAAzB,CAtBsB,CAwBvB;AACC,KAzBD,MAyBO;AACN,WAAKn5B,IAAL,GAAYyC,GAAZ;AACA,KAnCoC,CAqCrC;;;AACA,QAAKu2B,KAAL,EAAa;AACZpuB,YAAM,CAAC5L,MAAP,CAAe,IAAf,EAAqBg6B,KAArB;AACA,KAxCoC,CA0CrC;;;AACA,SAAKI,SAAL,GAAiB32B,GAAG,IAAIA,GAAG,CAAC22B,SAAX,IAAwBvd,IAAI,CAACrH,GAAL,EAAzC,CA3CqC,CA6CrC;;AACA,SAAM5J,MAAM,CAAC+O,OAAb,IAAyB,IAAzB;AACA,GA/CD,CAtiLiF,CAulLjF;AACA;;;AACA/O,QAAM,CAACwtB,KAAP,CAAa5uB,SAAb,GAAyB;AACxByO,eAAW,EAAErN,MAAM,CAACwtB,KADI;AAExBa,sBAAkB,EAAEpD,WAFI;AAGxB6B,wBAAoB,EAAE7B,WAHE;AAIxB+B,iCAA6B,EAAE/B,WAJP;AAKxBwD,eAAW,EAAE,KALW;AAOxB38B,kBAAc,EAAE,0BAAW;AAC1B,UAAIjN,CAAC,GAAG,KAAK8hB,aAAb;AAEA,WAAK0nB,kBAAL,GAA0BrD,UAA1B;;AAEA,UAAKnmC,CAAC,IAAI,CAAC,KAAK4pC,WAAhB,EAA8B;AAC7B5pC,SAAC,CAACiN,cAAF;AACA;AACD,KAfuB;AAgBxBo7B,mBAAe,EAAE,2BAAW;AAC3B,UAAIroC,CAAC,GAAG,KAAK8hB,aAAb;AAEA,WAAKmmB,oBAAL,GAA4B9B,UAA5B;;AAEA,UAAKnmC,CAAC,IAAI,CAAC,KAAK4pC,WAAhB,EAA8B;AAC7B5pC,SAAC,CAACqoC,eAAF;AACA;AACD,KAxBuB;AAyBxBiB,4BAAwB,EAAE,oCAAW;AACpC,UAAItpC,CAAC,GAAG,KAAK8hB,aAAb;AAEA,WAAKqmB,6BAAL,GAAqChC,UAArC;;AAEA,UAAKnmC,CAAC,IAAI,CAAC,KAAK4pC,WAAhB,EAA8B;AAC7B5pC,SAAC,CAACspC,wBAAF;AACA;;AAED,WAAKjB,eAAL;AACA;AAnCuB,GAAzB,CAzlLiF,CA+nLjF;;AACAltB,QAAM,CAAC7a,IAAP,CAAa;AACZupC,UAAM,EAAE,IADI;AAEZC,WAAO,EAAE,IAFG;AAGZC,cAAU,EAAE,IAHA;AAIZ/nB,kBAAc,EAAE,IAJJ;AAKZgoB,WAAO,EAAE,IALG;AAMZlxB,UAAM,EAAE,IANI;AAOZmxB,cAAU,EAAE,IAPA;AAQZC,WAAO,EAAE,IARG;AASZzpB,SAAK,EAAE,IATK;AAUZC,SAAK,EAAE,IAVK;AAWZypB,YAAQ,EAAE,IAXE;AAYZC,QAAI,EAAE,IAZM;AAaZ,YAAQ,IAbI;AAcZziB,QAAI,EAAE,IAdM;AAeZ0iB,YAAQ,EAAE,IAfE;AAgBZjlB,OAAG,EAAE,IAhBO;AAiBZklB,WAAO,EAAE,IAjBG;AAkBZ9yB,UAAM,EAAE,IAlBI;AAmBZ+yB,WAAO,EAAE,IAnBG;AAoBZC,WAAO,EAAE,IApBG;AAqBZC,WAAO,EAAE,IArBG;AAsBZC,WAAO,EAAE,IAtBG;AAuBZC,WAAO,EAAE,IAvBG;AAwBZC,aAAS,EAAE,IAxBC;AAyBZC,eAAW,EAAE,IAzBD;AA0BZC,WAAO,EAAE,IA1BG;AA2BZC,WAAO,EAAE,IA3BG;AA4BZC,iBAAa,EAAE,IA5BH;AA6BZC,aAAS,EAAE,IA7BC;AA8BZlpB,WAAO,EAAE,IA9BG;AA+BZF,SAAK,EAAE;AA/BK,GAAb,EAgCG1G,MAAM,CAAC/Q,KAAP,CAAaq+B,OAhChB;AAkCAttB,QAAM,CAAC7a,IAAP,CAAa;AAAE4qC,SAAK,EAAE,SAAT;AAAoBC,QAAI,EAAE;AAA1B,GAAb,EAAqD,UAAU56B,IAAV,EAAgB62B,YAAhB,EAA+B;AACnFjsB,UAAM,CAAC/Q,KAAP,CAAag0B,OAAb,CAAsB7tB,IAAtB,IAA+B;AAE9B;AACAg3B,WAAK,EAAE,iBAAW;AAEjB;AACA;AACA;AACAyB,sBAAc,CAAE,IAAF,EAAQz4B,IAAR,EAAc81B,UAAd,CAAd,CALiB,CAOjB;;AACA,eAAO,KAAP;AACA,OAZ6B;AAa9B9gC,aAAO,EAAE,mBAAW;AAEnB;AACAyjC,sBAAc,CAAE,IAAF,EAAQz4B,IAAR,CAAd,CAHmB,CAKnB;;AACA,eAAO,IAAP;AACA,OApB6B;AAsB9B;AACA;AACAw0B,cAAQ,EAAE,oBAAW;AACpB,eAAO,IAAP;AACA,OA1B6B;AA4B9BqC,kBAAY,EAAEA;AA5BgB,KAA/B;AA8BA,GA/BD,EAlqLiF,CAmsLjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACAjsB,QAAM,CAAC7a,IAAP,CAAa;AACZ8qC,cAAU,EAAE,WADA;AAEZC,cAAU,EAAE,UAFA;AAGZC,gBAAY,EAAE,aAHF;AAIZC,gBAAY,EAAE;AAJF,GAAb,EAKG,UAAUC,IAAV,EAAgB1D,GAAhB,EAAsB;AACxB3sB,UAAM,CAAC/Q,KAAP,CAAag0B,OAAb,CAAsBoN,IAAtB,IAA+B;AAC9BpE,kBAAY,EAAEU,GADgB;AAE9BT,cAAQ,EAAES,GAFoB;AAI9Bb,YAAM,EAAE,gBAAU78B,KAAV,EAAkB;AACzB,YAAI0e,GAAJ;AAAA,YACCxe,MAAM,GAAG,IADV;AAAA,YAECmhC,OAAO,GAAGrhC,KAAK,CAACs/B,aAFjB;AAAA,YAGC9C,SAAS,GAAGx8B,KAAK,CAACw8B,SAHnB,CADyB,CAMzB;AACA;;AACA,YAAK,CAAC6E,OAAD,IAAcA,OAAO,KAAKnhC,MAAZ,IAAsB,CAAC6Q,MAAM,CAACgR,QAAP,CAAiB7hB,MAAjB,EAAyBmhC,OAAzB,CAA1C,EAAiF;AAChFrhC,eAAK,CAACmG,IAAN,GAAaq2B,SAAS,CAACG,QAAvB;AACAje,aAAG,GAAG8d,SAAS,CAAC/V,OAAV,CAAkBnrB,KAAlB,CAAyB,IAAzB,EAA+BwjB,SAA/B,CAAN;AACA9e,eAAK,CAACmG,IAAN,GAAau3B,GAAb;AACA;;AACD,eAAOhf,GAAP;AACA;AAlB6B,KAA/B;AAoBA,GA1BD;AA4BA3N,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AAEjBlN,MAAE,EAAE,YAAUkkC,KAAV,EAAiBje,QAAjB,EAA2B9nB,IAA3B,EAAiC0e,EAAjC,EAAsC;AACzC,aAAO7c,GAAE,CAAE,IAAF,EAAQkkC,KAAR,EAAeje,QAAf,EAAyB9nB,IAAzB,EAA+B0e,EAA/B,CAAT;AACA,KAJgB;AAKjBqC,OAAG,EAAE,aAAUglB,KAAV,EAAiBje,QAAjB,EAA2B9nB,IAA3B,EAAiC0e,EAAjC,EAAsC;AAC1C,aAAO7c,GAAE,CAAE,IAAF,EAAQkkC,KAAR,EAAeje,QAAf,EAAyB9nB,IAAzB,EAA+B0e,EAA/B,EAAmC,CAAnC,CAAT;AACA,KAPgB;AAQjB9c,OAAG,EAAE,aAAUmkC,KAAV,EAAiBje,QAAjB,EAA2BpJ,EAA3B,EAAgC;AACpC,UAAI0nB,SAAJ,EAAer2B,IAAf;;AACA,UAAKg2B,KAAK,IAAIA,KAAK,CAACt5B,cAAf,IAAiCs5B,KAAK,CAACK,SAA5C,EAAwD;AAEvD;AACAA,iBAAS,GAAGL,KAAK,CAACK,SAAlB;AACAzrB,cAAM,CAAEorB,KAAK,CAACwB,cAAR,CAAN,CAA+B3lC,GAA/B,CACCwkC,SAAS,CAACjV,SAAV,GACCiV,SAAS,CAACG,QAAV,GAAqB,GAArB,GAA2BH,SAAS,CAACjV,SADtC,GAECiV,SAAS,CAACG,QAHZ,EAICH,SAAS,CAACte,QAJX,EAKCse,SAAS,CAAC/V,OALX;AAOA,eAAO,IAAP;AACA;;AACD,UAAK,QAAO0V,KAAP,MAAiB,QAAtB,EAAiC;AAEhC;AACA,aAAMh2B,IAAN,IAAcg2B,KAAd,EAAsB;AACrB,eAAKnkC,GAAL,CAAUmO,IAAV,EAAgB+X,QAAhB,EAA0Bie,KAAK,CAAEh2B,IAAF,CAA/B;AACA;;AACD,eAAO,IAAP;AACA;;AACD,UAAK+X,QAAQ,KAAK,KAAb,IAAsB,OAAOA,QAAP,KAAoB,UAA/C,EAA4D;AAE3D;AACApJ,UAAE,GAAGoJ,QAAL;AACAA,gBAAQ,GAAG7jB,SAAX;AACA;;AACD,UAAKya,EAAE,KAAK,KAAZ,EAAoB;AACnBA,UAAE,GAAGknB,WAAL;AACA;;AACD,aAAO,KAAK9lC,IAAL,CAAW,YAAW;AAC5B6a,cAAM,CAAC/Q,KAAP,CAAa9I,MAAb,CAAqB,IAArB,EAA2BilC,KAA3B,EAAkCrnB,EAAlC,EAAsCoJ,QAAtC;AACA,OAFM,CAAP;AAGA;AA3CgB,GAAlB;AA+CA,MAEC;AACA;AACA;AACAojB,cAAY,GAAG,uBALhB;AAAA,MAOC;AACAC,UAAQ,GAAG,mCARZ;AAAA,MASCC,YAAY,GAAG,0CAThB,CAtxLiF,CAiyLjF;;AACA,WAASC,kBAAT,CAA6B/vB,IAA7B,EAAmCggB,OAAnC,EAA6C;AAC5C,QAAKpf,QAAQ,CAAEZ,IAAF,EAAQ,OAAR,CAAR,IACJY,QAAQ,CAAEof,OAAO,CAACjf,QAAR,KAAqB,EAArB,GAA0Bif,OAA1B,GAAoCA,OAAO,CAAC9H,UAA9C,EAA0D,IAA1D,CADT,EAC4E;AAE3E,aAAO7Y,MAAM,CAAEW,IAAF,CAAN,CAAemB,QAAf,CAAyB,OAAzB,EAAoC,CAApC,KAA2CnB,IAAlD;AACA;;AAED,WAAOA,IAAP;AACA,GA1yLgF,CA4yLjF;;;AACA,WAASgwB,aAAT,CAAwBhwB,IAAxB,EAA+B;AAC9BA,QAAI,CAACvL,IAAL,GAAY,CAAEuL,IAAI,CAACuF,YAAL,CAAmB,MAAnB,MAAgC,IAAlC,IAA2C,GAA3C,GAAiDvF,IAAI,CAACvL,IAAlE;AACA,WAAOuL,IAAP;AACA;;AACD,WAASiwB,aAAT,CAAwBjwB,IAAxB,EAA+B;AAC9B,QAAK,CAAEA,IAAI,CAACvL,IAAL,IAAa,EAAf,EAAoBoK,KAApB,CAA2B,CAA3B,EAA8B,CAA9B,MAAsC,OAA3C,EAAqD;AACpDmB,UAAI,CAACvL,IAAL,GAAYuL,IAAI,CAACvL,IAAL,CAAUoK,KAAV,CAAiB,CAAjB,CAAZ;AACA,KAFD,MAEO;AACNmB,UAAI,CAACuU,eAAL,CAAsB,MAAtB;AACA;;AAED,WAAOvU,IAAP;AACA;;AAED,WAASkwB,cAAT,CAAyBh5B,GAAzB,EAA8Bi5B,IAA9B,EAAqC;AACpC,QAAIlrC,CAAJ,EAAOq6B,CAAP,EAAU7qB,IAAV,EAAgB27B,QAAhB,EAA0BC,QAA1B,EAAoCC,QAApC,EAA8CrhC,MAA9C;;AAEA,QAAKkhC,IAAI,CAACpvB,QAAL,KAAkB,CAAvB,EAA2B;AAC1B;AACA,KALmC,CAOpC;;;AACA,QAAKykB,QAAQ,CAACD,OAAT,CAAkBruB,GAAlB,CAAL,EAA+B;AAC9Bk5B,cAAQ,GAAG5K,QAAQ,CAAC5Y,GAAT,CAAc1V,GAAd,CAAX;AACAjI,YAAM,GAAGmhC,QAAQ,CAACnhC,MAAlB;;AAEA,UAAKA,MAAL,EAAc;AACbu2B,gBAAQ,CAAChgC,MAAT,CAAiB2qC,IAAjB,EAAuB,eAAvB;;AAEA,aAAM17B,IAAN,IAAcxF,MAAd,EAAuB;AACtB,eAAMhK,CAAC,GAAG,CAAJ,EAAOq6B,CAAC,GAAGrwB,MAAM,CAAEwF,IAAF,CAAN,CAAerN,MAAhC,EAAwCnC,CAAC,GAAGq6B,CAA5C,EAA+Cr6B,CAAC,EAAhD,EAAqD;AACpDoa,kBAAM,CAAC/Q,KAAP,CAAajF,GAAb,CAAkB8mC,IAAlB,EAAwB17B,IAAxB,EAA8BxF,MAAM,CAAEwF,IAAF,CAAN,CAAgBxP,CAAhB,CAA9B;AACA;AACD;AACD;AACD,KArBmC,CAuBpC;;;AACA,QAAKwgC,QAAQ,CAACF,OAAT,CAAkBruB,GAAlB,CAAL,EAA+B;AAC9Bm5B,cAAQ,GAAG5K,QAAQ,CAACvB,MAAT,CAAiBhtB,GAAjB,CAAX;AACAo5B,cAAQ,GAAGjxB,MAAM,CAAC5L,MAAP,CAAe,EAAf,EAAmB48B,QAAnB,CAAX;AAEA5K,cAAQ,CAACH,GAAT,CAAc6K,IAAd,EAAoBG,QAApB;AACA;AACD,GAz1LgF,CA21LjF;;;AACA,WAASC,QAAT,CAAmBr5B,GAAnB,EAAwBi5B,IAAxB,EAA+B;AAC9B,QAAIvvB,QAAQ,GAAGuvB,IAAI,CAACvvB,QAAL,CAAc2H,WAAd,EAAf,CAD8B,CAG9B;;AACA,QAAK3H,QAAQ,KAAK,OAAb,IAAwBsnB,cAAc,CAACruB,IAAf,CAAqB3C,GAAG,CAACzC,IAAzB,CAA7B,EAA+D;AAC9D07B,UAAI,CAAC7V,OAAL,GAAepjB,GAAG,CAACojB,OAAnB,CAD8D,CAG/D;AACC,KAJD,MAIO,IAAK1Z,QAAQ,KAAK,OAAb,IAAwBA,QAAQ,KAAK,UAA1C,EAAuD;AAC7DuvB,UAAI,CAACjS,YAAL,GAAoBhnB,GAAG,CAACgnB,YAAxB;AACA;AACD;;AAED,WAASsS,QAAT,CAAmBC,UAAnB,EAA+B7xB,IAA/B,EAAqC9X,QAArC,EAA+CgjC,OAA/C,EAAyD;AAExD;AACAlrB,QAAI,GAAGmM,IAAI,CAAEnM,IAAF,CAAX;AAEA,QAAIypB,QAAJ;AAAA,QAAc/iC,KAAd;AAAA,QAAqBskC,OAArB;AAAA,QAA8B8G,UAA9B;AAAA,QAA0C5kB,IAA1C;AAAA,QAAgDC,GAAhD;AAAA,QACC9mB,CAAC,GAAG,CADL;AAAA,QAECq6B,CAAC,GAAGmR,UAAU,CAACrpC,MAFhB;AAAA,QAGCupC,QAAQ,GAAGrR,CAAC,GAAG,CAHhB;AAAA,QAIC/V,KAAK,GAAG3K,IAAI,CAAE,CAAF,CAJb;AAAA,QAKCgyB,eAAe,GAAG9qB,UAAU,CAAEyD,KAAF,CAL7B,CALwD,CAYxD;;AACA,QAAKqnB,eAAe,IAChBtR,CAAC,GAAG,CAAJ,IAAS,OAAO/V,KAAP,KAAiB,QAA1B,IACD,CAAC1D,OAAO,CAAC2iB,UADR,IACsBqH,QAAQ,CAACh2B,IAAT,CAAe0P,KAAf,CAF1B,EAEqD;AACpD,aAAOknB,UAAU,CAACjsC,IAAX,CAAiB,UAAU6I,KAAV,EAAkB;AACzC,YAAI+R,IAAI,GAAGqxB,UAAU,CAACnnC,EAAX,CAAe+D,KAAf,CAAX;;AACA,YAAKujC,eAAL,EAAuB;AACtBhyB,cAAI,CAAE,CAAF,CAAJ,GAAY2K,KAAK,CAAC1f,IAAN,CAAY,IAAZ,EAAkBwD,KAAlB,EAAyB+R,IAAI,CAACnR,IAAL,EAAzB,CAAZ;AACA;;AACDuiC,gBAAQ,CAAEpxB,IAAF,EAAQR,IAAR,EAAc9X,QAAd,EAAwBgjC,OAAxB,CAAR;AACA,OANM,CAAP;AAOA;;AAED,QAAKxK,CAAL,EAAS;AACR+I,cAAQ,GAAGsB,aAAa,CAAE/qB,IAAF,EAAQ6xB,UAAU,CAAE,CAAF,CAAV,CAAgB1c,aAAxB,EAAuC,KAAvC,EAA8C0c,UAA9C,EAA0D3G,OAA1D,CAAxB;AACAxkC,WAAK,GAAG+iC,QAAQ,CAACnQ,UAAjB;;AAEA,UAAKmQ,QAAQ,CAAC/U,UAAT,CAAoBlsB,MAApB,KAA+B,CAApC,EAAwC;AACvCihC,gBAAQ,GAAG/iC,KAAX;AACA,OANO,CAQR;;;AACA,UAAKA,KAAK,IAAIwkC,OAAd,EAAwB;AACvBF,eAAO,GAAGvqB,MAAM,CAAC8N,GAAP,CAAYqc,MAAM,CAAEnB,QAAF,EAAY,QAAZ,CAAlB,EAA0C2H,aAA1C,CAAV;AACAU,kBAAU,GAAG9G,OAAO,CAACxiC,MAArB,CAFuB,CAIvB;AACA;AACA;;AACA,eAAQnC,CAAC,GAAGq6B,CAAZ,EAAer6B,CAAC,EAAhB,EAAqB;AACpB6mB,cAAI,GAAGuc,QAAP;;AAEA,cAAKpjC,CAAC,KAAK0rC,QAAX,EAAsB;AACrB7kB,gBAAI,GAAGzM,MAAM,CAAC4O,KAAP,CAAcnC,IAAd,EAAoB,IAApB,EAA0B,IAA1B,CAAP,CADqB,CAGrB;;AACA,gBAAK4kB,UAAL,EAAkB;AAEjB;AACA;AACArxB,oBAAM,CAAC4N,KAAP,CAAc2c,OAAd,EAAuBJ,MAAM,CAAE1d,IAAF,EAAQ,QAAR,CAA7B;AACA;AACD;;AAEDhlB,kBAAQ,CAAC+C,IAAT,CAAe4mC,UAAU,CAAExrC,CAAF,CAAzB,EAAgC6mB,IAAhC,EAAsC7mB,CAAtC;AACA;;AAED,YAAKyrC,UAAL,EAAkB;AACjB3kB,aAAG,GAAG6d,OAAO,CAAEA,OAAO,CAACxiC,MAAR,GAAiB,CAAnB,CAAP,CAA8B2sB,aAApC,CADiB,CAGjB;;AACA1U,gBAAM,CAAC8N,GAAP,CAAYyc,OAAZ,EAAqBqG,aAArB,EAJiB,CAMjB;;AACA,eAAMhrC,CAAC,GAAG,CAAV,EAAaA,CAAC,GAAGyrC,UAAjB,EAA6BzrC,CAAC,EAA9B,EAAmC;AAClC6mB,gBAAI,GAAG8d,OAAO,CAAE3kC,CAAF,CAAd;;AACA,gBAAKmjC,WAAW,CAACvuB,IAAZ,CAAkBiS,IAAI,CAACrX,IAAL,IAAa,EAA/B,KACJ,CAAC+wB,QAAQ,CAACtB,MAAT,CAAiBpY,IAAjB,EAAuB,YAAvB,CADG,IAEJzM,MAAM,CAACgR,QAAP,CAAiBtE,GAAjB,EAAsBD,IAAtB,CAFD,EAEgC;AAE/B,kBAAKA,IAAI,CAAC5U,GAAL,IAAY,CAAE4U,IAAI,CAACrX,IAAL,IAAa,EAAf,EAAoB8T,WAApB,OAAuC,QAAxD,EAAmE;AAElE;AACA,oBAAKlJ,MAAM,CAACwxB,QAAP,IAAmB,CAAC/kB,IAAI,CAACH,QAA9B,EAAyC;AACxCtM,wBAAM,CAACwxB,QAAP,CAAiB/kB,IAAI,CAAC5U,GAAtB,EAA2B;AAC1BwU,yBAAK,EAAEI,IAAI,CAACJ,KAAL,IAAcI,IAAI,CAACvG,YAAL,CAAmB,OAAnB;AADK,mBAA3B,EAEGwG,GAFH;AAGA;AACD,eARD,MAQO;AACNH,uBAAO,CAAEE,IAAI,CAACmM,WAAL,CAAiB1vB,OAAjB,CAA0BunC,YAA1B,EAAwC,EAAxC,CAAF,EAAgDhkB,IAAhD,EAAsDC,GAAtD,CAAP;AACA;AACD;AACD;AACD;AACD;AACD;;AAED,WAAO0kB,UAAP;AACA;;AAED,WAASjrC,OAAT,CAAiBwa,IAAjB,EAAuBwM,QAAvB,EAAiCskB,QAAjC,EAA4C;AAC3C,QAAIhlB,IAAJ;AAAA,QACCme,KAAK,GAAGzd,QAAQ,GAAGnN,MAAM,CAAC/W,MAAP,CAAekkB,QAAf,EAAyBxM,IAAzB,CAAH,GAAqCA,IADtD;AAAA,QAEC/a,CAAC,GAAG,CAFL;;AAIA,WAAQ,CAAE6mB,IAAI,GAAGme,KAAK,CAAEhlC,CAAF,CAAd,KAAyB,IAAjC,EAAuCA,CAAC,EAAxC,EAA6C;AAC5C,UAAK,CAAC6rC,QAAD,IAAahlB,IAAI,CAAC/K,QAAL,KAAkB,CAApC,EAAwC;AACvC1B,cAAM,CAAC0xB,SAAP,CAAkBvH,MAAM,CAAE1d,IAAF,CAAxB;AACA;;AAED,UAAKA,IAAI,CAACvU,UAAV,EAAuB;AACtB,YAAKu5B,QAAQ,IAAInK,UAAU,CAAE7a,IAAF,CAA3B,EAAsC;AACrC2d,uBAAa,CAAED,MAAM,CAAE1d,IAAF,EAAQ,QAAR,CAAR,CAAb;AACA;;AACDA,YAAI,CAACvU,UAAL,CAAgB8U,WAAhB,CAA6BP,IAA7B;AACA;AACD;;AAED,WAAO9L,IAAP;AACA;;AAEDX,QAAM,CAAC5L,MAAP,CAAe;AACd02B,iBAAa,EAAE,uBAAUl8B,IAAV,EAAiB;AAC/B,aAAOA,IAAP;AACA,KAHa;AAKdggB,SAAK,EAAE,eAAUjO,IAAV,EAAgBgxB,aAAhB,EAA+BC,iBAA/B,EAAmD;AACzD,UAAIhsC,CAAJ;AAAA,UAAOq6B,CAAP;AAAA,UAAU4R,WAAV;AAAA,UAAuBC,YAAvB;AAAA,UACCljB,KAAK,GAAGjO,IAAI,CAACyoB,SAAL,CAAgB,IAAhB,CADT;AAAA,UAEC2I,MAAM,GAAGzK,UAAU,CAAE3mB,IAAF,CAFpB,CADyD,CAKzD;;AACA,UAAK,CAAC6F,OAAO,CAAC6iB,cAAT,KAA6B1oB,IAAI,CAACe,QAAL,KAAkB,CAAlB,IAAuBf,IAAI,CAACe,QAAL,KAAkB,EAAtE,KACH,CAAC1B,MAAM,CAAC+e,QAAP,CAAiBpe,IAAjB,CADH,EAC6B;AAE5B;AACAmxB,oBAAY,GAAG3H,MAAM,CAAEvb,KAAF,CAArB;AACAijB,mBAAW,GAAG1H,MAAM,CAAExpB,IAAF,CAApB;;AAEA,aAAM/a,CAAC,GAAG,CAAJ,EAAOq6B,CAAC,GAAG4R,WAAW,CAAC9pC,MAA7B,EAAqCnC,CAAC,GAAGq6B,CAAzC,EAA4Cr6B,CAAC,EAA7C,EAAkD;AACjDsrC,kBAAQ,CAAEW,WAAW,CAAEjsC,CAAF,CAAb,EAAoBksC,YAAY,CAAElsC,CAAF,CAAhC,CAAR;AACA;AACD,OAhBwD,CAkBzD;;;AACA,UAAK+rC,aAAL,EAAqB;AACpB,YAAKC,iBAAL,EAAyB;AACxBC,qBAAW,GAAGA,WAAW,IAAI1H,MAAM,CAAExpB,IAAF,CAAnC;AACAmxB,sBAAY,GAAGA,YAAY,IAAI3H,MAAM,CAAEvb,KAAF,CAArC;;AAEA,eAAMhpB,CAAC,GAAG,CAAJ,EAAOq6B,CAAC,GAAG4R,WAAW,CAAC9pC,MAA7B,EAAqCnC,CAAC,GAAGq6B,CAAzC,EAA4Cr6B,CAAC,EAA7C,EAAkD;AACjDirC,0BAAc,CAAEgB,WAAW,CAAEjsC,CAAF,CAAb,EAAoBksC,YAAY,CAAElsC,CAAF,CAAhC,CAAd;AACA;AACD,SAPD,MAOO;AACNirC,wBAAc,CAAElwB,IAAF,EAAQiO,KAAR,CAAd;AACA;AACD,OA9BwD,CAgCzD;;;AACAkjB,kBAAY,GAAG3H,MAAM,CAAEvb,KAAF,EAAS,QAAT,CAArB;;AACA,UAAKkjB,YAAY,CAAC/pC,MAAb,GAAsB,CAA3B,EAA+B;AAC9BqiC,qBAAa,CAAE0H,YAAF,EAAgB,CAACC,MAAD,IAAW5H,MAAM,CAAExpB,IAAF,EAAQ,QAAR,CAAjC,CAAb;AACA,OApCwD,CAsCzD;;;AACA,aAAOiO,KAAP;AACA,KA7Ca;AA+Cd8iB,aAAS,EAAE,mBAAUhkB,KAAV,EAAkB;AAC5B,UAAIroB,IAAJ;AAAA,UAAUsb,IAAV;AAAA,UAAgBvL,IAAhB;AAAA,UACC6tB,OAAO,GAAGjjB,MAAM,CAAC/Q,KAAP,CAAag0B,OADxB;AAAA,UAECr9B,CAAC,GAAG,CAFL;;AAIA,aAAQ,CAAE+a,IAAI,GAAG+M,KAAK,CAAE9nB,CAAF,CAAd,MAA0B0D,SAAlC,EAA6C1D,CAAC,EAA9C,EAAmD;AAClD,YAAK+/B,UAAU,CAAEhlB,IAAF,CAAf,EAA0B;AACzB,cAAOtb,IAAI,GAAGsb,IAAI,CAAEwlB,QAAQ,CAACpX,OAAX,CAAlB,EAA2C;AAC1C,gBAAK1pB,IAAI,CAACuK,MAAV,EAAmB;AAClB,mBAAMwF,IAAN,IAAc/P,IAAI,CAACuK,MAAnB,EAA4B;AAC3B,oBAAKqzB,OAAO,CAAE7tB,IAAF,CAAZ,EAAuB;AACtB4K,wBAAM,CAAC/Q,KAAP,CAAa9I,MAAb,CAAqBwa,IAArB,EAA2BvL,IAA3B,EADsB,CAGvB;AACC,iBAJD,MAIO;AACN4K,wBAAM,CAACwsB,WAAP,CAAoB7rB,IAApB,EAA0BvL,IAA1B,EAAgC/P,IAAI,CAACymC,MAArC;AACA;AACD;AACD,aAXyC,CAa1C;AACA;;;AACAnrB,gBAAI,CAAEwlB,QAAQ,CAACpX,OAAX,CAAJ,GAA2BzlB,SAA3B;AACA;;AACD,cAAKqX,IAAI,CAAEylB,QAAQ,CAACrX,OAAX,CAAT,EAAgC;AAE/B;AACA;AACApO,gBAAI,CAAEylB,QAAQ,CAACrX,OAAX,CAAJ,GAA2BzlB,SAA3B;AACA;AACD;AACD;AACD;AA/Ea,GAAf;AAkFA0W,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjBwF,UAAM,EAAE,gBAAUuT,QAAV,EAAqB;AAC5B,aAAOhnB,OAAM,CAAE,IAAF,EAAQgnB,QAAR,EAAkB,IAAlB,CAAb;AACA,KAHgB;AAKjBhnB,UAAM,EAAE,gBAAUgnB,QAAV,EAAqB;AAC5B,aAAOhnB,OAAM,CAAE,IAAF,EAAQgnB,QAAR,CAAb;AACA,KAPgB;AASjBN,QAAI,EAAE,cAAU3C,KAAV,EAAkB;AACvB,aAAO2a,MAAM,CAAE,IAAF,EAAQ,UAAU3a,KAAV,EAAkB;AACtC,eAAOA,KAAK,KAAK5gB,SAAV,GACN0W,MAAM,CAAC6M,IAAP,CAAa,IAAb,CADM,GAEN,KAAKxW,KAAL,GAAalR,IAAb,CAAmB,YAAW;AAC7B,cAAK,KAAKuc,QAAL,KAAkB,CAAlB,IAAuB,KAAKA,QAAL,KAAkB,EAAzC,IAA+C,KAAKA,QAAL,KAAkB,CAAtE,EAA0E;AACzE,iBAAKkX,WAAL,GAAmB1O,KAAnB;AACA;AACD,SAJD,CAFD;AAOA,OARY,EAQV,IARU,EAQJA,KARI,EAQG6D,SAAS,CAAChmB,MARb,CAAb;AASA,KAnBgB;AAqBjBoG,UAAM,EAAE,kBAAW;AAClB,aAAOgjC,QAAQ,CAAE,IAAF,EAAQpjB,SAAR,EAAmB,UAAUpN,IAAV,EAAiB;AAClD,YAAK,KAAKe,QAAL,KAAkB,CAAlB,IAAuB,KAAKA,QAAL,KAAkB,EAAzC,IAA+C,KAAKA,QAAL,KAAkB,CAAtE,EAA0E;AACzE,cAAIvS,MAAM,GAAGuhC,kBAAkB,CAAE,IAAF,EAAQ/vB,IAAR,CAA/B;AACAxR,gBAAM,CAAC4d,WAAP,CAAoBpM,IAApB;AACA;AACD,OALc,CAAf;AAMA,KA5BgB;AA8BjB9O,WAAO,EAAE,mBAAW;AACnB,aAAOs/B,QAAQ,CAAE,IAAF,EAAQpjB,SAAR,EAAmB,UAAUpN,IAAV,EAAiB;AAClD,YAAK,KAAKe,QAAL,KAAkB,CAAlB,IAAuB,KAAKA,QAAL,KAAkB,EAAzC,IAA+C,KAAKA,QAAL,KAAkB,CAAtE,EAA0E;AACzE,cAAIvS,MAAM,GAAGuhC,kBAAkB,CAAE,IAAF,EAAQ/vB,IAAR,CAA/B;AACAxR,gBAAM,CAACgJ,YAAP,CAAqBwI,IAArB,EAA2BxR,MAAM,CAAC0pB,UAAlC;AACA;AACD,OALc,CAAf;AAMA,KArCgB;AAuCjBmZ,UAAM,EAAE,kBAAW;AAClB,aAAOb,QAAQ,CAAE,IAAF,EAAQpjB,SAAR,EAAmB,UAAUpN,IAAV,EAAiB;AAClD,YAAK,KAAKzI,UAAV,EAAuB;AACtB,eAAKA,UAAL,CAAgBC,YAAhB,CAA8BwI,IAA9B,EAAoC,IAApC;AACA;AACD,OAJc,CAAf;AAKA,KA7CgB;AA+CjBsxB,SAAK,EAAE,iBAAW;AACjB,aAAOd,QAAQ,CAAE,IAAF,EAAQpjB,SAAR,EAAmB,UAAUpN,IAAV,EAAiB;AAClD,YAAK,KAAKzI,UAAV,EAAuB;AACtB,eAAKA,UAAL,CAAgBC,YAAhB,CAA8BwI,IAA9B,EAAoC,KAAKqV,WAAzC;AACA;AACD,OAJc,CAAf;AAKA,KArDgB;AAuDjB3f,SAAK,EAAE,iBAAW;AACjB,UAAIsK,IAAJ;AAAA,UACC/a,CAAC,GAAG,CADL;;AAGA,aAAQ,CAAE+a,IAAI,GAAG,KAAM/a,CAAN,CAAT,KAAwB,IAAhC,EAAsCA,CAAC,EAAvC,EAA4C;AAC3C,YAAK+a,IAAI,CAACe,QAAL,KAAkB,CAAvB,EAA2B;AAE1B;AACA1B,gBAAM,CAAC0xB,SAAP,CAAkBvH,MAAM,CAAExpB,IAAF,EAAQ,KAAR,CAAxB,EAH0B,CAK1B;;AACAA,cAAI,CAACiY,WAAL,GAAmB,EAAnB;AACA;AACD;;AAED,aAAO,IAAP;AACA,KAvEgB;AAyEjBhK,SAAK,EAAE,eAAU+iB,aAAV,EAAyBC,iBAAzB,EAA6C;AACnDD,mBAAa,GAAGA,aAAa,IAAI,IAAjB,GAAwB,KAAxB,GAAgCA,aAAhD;AACAC,uBAAiB,GAAGA,iBAAiB,IAAI,IAArB,GAA4BD,aAA5B,GAA4CC,iBAAhE;AAEA,aAAO,KAAK9jB,GAAL,CAAU,YAAW;AAC3B,eAAO9N,MAAM,CAAC4O,KAAP,CAAc,IAAd,EAAoB+iB,aAApB,EAAmCC,iBAAnC,CAAP;AACA,OAFM,CAAP;AAGA,KAhFgB;AAkFjBhjC,QAAI,EAAE,cAAUsb,KAAV,EAAkB;AACvB,aAAO2a,MAAM,CAAE,IAAF,EAAQ,UAAU3a,KAAV,EAAkB;AACtC,YAAIvJ,IAAI,GAAG,KAAM,CAAN,KAAa,EAAxB;AAAA,YACC/a,CAAC,GAAG,CADL;AAAA,YAECq6B,CAAC,GAAG,KAAKl4B,MAFV;;AAIA,YAAKmiB,KAAK,KAAK5gB,SAAV,IAAuBqX,IAAI,CAACe,QAAL,KAAkB,CAA9C,EAAkD;AACjD,iBAAOf,IAAI,CAAC2W,SAAZ;AACA,SAPqC,CAStC;;;AACA,YAAK,OAAOpN,KAAP,KAAiB,QAAjB,IAA6B,CAACqmB,YAAY,CAAC/1B,IAAb,CAAmB0P,KAAnB,CAA9B,IACJ,CAACqf,OAAO,CAAE,CAAET,QAAQ,CAAC1mB,IAAT,CAAe8H,KAAf,KAA0B,CAAE,EAAF,EAAM,EAAN,CAA5B,EAA0C,CAA1C,EAA8ChB,WAA9C,EAAF,CADT,EAC2E;AAE1EgB,eAAK,GAAGlK,MAAM,CAAC8qB,aAAP,CAAsB5gB,KAAtB,CAAR;;AAEA,cAAI;AACH,mBAAQtkB,CAAC,GAAGq6B,CAAZ,EAAer6B,CAAC,EAAhB,EAAqB;AACpB+a,kBAAI,GAAG,KAAM/a,CAAN,KAAa,EAApB,CADoB,CAGpB;;AACA,kBAAK+a,IAAI,CAACe,QAAL,KAAkB,CAAvB,EAA2B;AAC1B1B,sBAAM,CAAC0xB,SAAP,CAAkBvH,MAAM,CAAExpB,IAAF,EAAQ,KAAR,CAAxB;AACAA,oBAAI,CAAC2W,SAAL,GAAiBpN,KAAjB;AACA;AACD;;AAEDvJ,gBAAI,GAAG,CAAP,CAXG,CAaJ;AACC,WAdD,CAcE,OAAQ9b,CAAR,EAAY,CAAE;AAChB;;AAED,YAAK8b,IAAL,EAAY;AACX,eAAKtK,KAAL,GAAalI,MAAb,CAAqB+b,KAArB;AACA;AACD,OAnCY,EAmCV,IAnCU,EAmCJA,KAnCI,EAmCG6D,SAAS,CAAChmB,MAnCb,CAAb;AAoCA,KAvHgB;AAyHjBoC,eAAW,EAAE,uBAAW;AACvB,UAAIsgC,OAAO,GAAG,EAAd,CADuB,CAGvB;;AACA,aAAO0G,QAAQ,CAAE,IAAF,EAAQpjB,SAAR,EAAmB,UAAUpN,IAAV,EAAiB;AAClD,YAAI7Z,MAAM,GAAG,KAAKoR,UAAlB;;AAEA,YAAK8H,MAAM,CAACuP,OAAP,CAAgB,IAAhB,EAAsBkb,OAAtB,IAAkC,CAAvC,EAA2C;AAC1CzqB,gBAAM,CAAC0xB,SAAP,CAAkBvH,MAAM,CAAE,IAAF,CAAxB;;AACA,cAAKrjC,MAAL,EAAc;AACbA,kBAAM,CAACorC,YAAP,CAAqBvxB,IAArB,EAA2B,IAA3B;AACA;AACD,SARiD,CAUnD;;AACC,OAXc,EAWZ8pB,OAXY,CAAf;AAYA;AAzIgB,GAAlB;AA4IAzqB,QAAM,CAAC7a,IAAP,CAAa;AACZuU,YAAQ,EAAE,QADE;AAEZmB,aAAS,EAAE,SAFC;AAGZ1C,gBAAY,EAAE,QAHF;AAIZg6B,eAAW,EAAE,OAJD;AAKZC,cAAU,EAAE;AALA,GAAb,EAMG,UAAU3jB,IAAV,EAAgB4jB,QAAhB,EAA2B;AAC7BryB,UAAM,CAAC+D,EAAP,CAAW0K,IAAX,IAAoB,UAAUtB,QAAV,EAAqB;AACxC,UAAIO,KAAJ;AAAA,UACCC,GAAG,GAAG,EADP;AAAA,UAEC2kB,MAAM,GAAGtyB,MAAM,CAAEmN,QAAF,CAFhB;AAAA,UAGCa,IAAI,GAAGskB,MAAM,CAACvqC,MAAP,GAAgB,CAHxB;AAAA,UAICnC,CAAC,GAAG,CAJL;;AAMA,aAAQA,CAAC,IAAIooB,IAAb,EAAmBpoB,CAAC,EAApB,EAAyB;AACxB8nB,aAAK,GAAG9nB,CAAC,KAAKooB,IAAN,GAAa,IAAb,GAAoB,KAAKY,KAAL,CAAY,IAAZ,CAA5B;AACA5O,cAAM,CAAEsyB,MAAM,CAAE1sC,CAAF,CAAR,CAAN,CAAuBysC,QAAvB,EAAmC3kB,KAAnC,EAFwB,CAIxB;AACA;;AACAtlB,YAAI,CAACmC,KAAL,CAAYojB,GAAZ,EAAiBD,KAAK,CAACH,GAAN,EAAjB;AACA;;AAED,aAAO,KAAKE,SAAL,CAAgBE,GAAhB,CAAP;AACA,KAjBD;AAkBA,GAzBD;AA0BA,MAAI4kB,SAAS,GAAG,IAAIrgB,MAAJ,CAAY,OAAOiV,IAAP,GAAc,iBAA1B,EAA6C,GAA7C,CAAhB;;AAEA,MAAIqL,SAAS,GAAG,SAAZA,SAAY,CAAU7xB,IAAV,EAAiB;AAE/B;AACA;AACA;AACA,QAAIsuB,IAAI,GAAGtuB,IAAI,CAAC+T,aAAL,CAAmB/M,WAA9B;;AAEA,QAAK,CAACsnB,IAAD,IAAS,CAACA,IAAI,CAACwD,MAApB,EAA6B;AAC5BxD,UAAI,GAAG5nC,MAAP;AACA;;AAED,WAAO4nC,IAAI,CAAChtB,gBAAL,CAAuBtB,IAAvB,CAAP;AACA,GAZF;;AAcA,MAAI+xB,IAAI,GAAG,SAAPA,IAAO,CAAU/xB,IAAV,EAAgBC,OAAhB,EAAyBnZ,QAAzB,EAAoC;AAC9C,QAAIkmB,GAAJ;AAAA,QAASc,IAAT;AAAA,QACCkkB,GAAG,GAAG,EADP,CAD8C,CAI9C;;AACA,SAAMlkB,IAAN,IAAc7N,OAAd,EAAwB;AACvB+xB,SAAG,CAAElkB,IAAF,CAAH,GAAc9N,IAAI,CAACqB,KAAL,CAAYyM,IAAZ,CAAd;AACA9N,UAAI,CAACqB,KAAL,CAAYyM,IAAZ,IAAqB7N,OAAO,CAAE6N,IAAF,CAA5B;AACA;;AAEDd,OAAG,GAAGlmB,QAAQ,CAAC+C,IAAT,CAAemW,IAAf,CAAN,CAV8C,CAY9C;;AACA,SAAM8N,IAAN,IAAc7N,OAAd,EAAwB;AACvBD,UAAI,CAACqB,KAAL,CAAYyM,IAAZ,IAAqBkkB,GAAG,CAAElkB,IAAF,CAAxB;AACA;;AAED,WAAOd,GAAP;AACA,GAlBD;;AAqBA,MAAIilB,SAAS,GAAG,IAAI1gB,MAAJ,CAAYmV,SAAS,CAACrS,IAAV,CAAgB,GAAhB,CAAZ,EAAmC,GAAnC,CAAhB;;AAIA,GAAE,YAAW;AAEZ;AACA;AACA,aAAS6d,iBAAT,GAA6B;AAE5B;AACA,UAAK,CAAC3J,GAAN,EAAY;AACX;AACA;;AAEDl8B,eAAS,CAACgV,KAAV,CAAgB8wB,OAAhB,GAA0B,gDACzB,mCADD;AAEA5J,SAAG,CAAClnB,KAAJ,CAAU8wB,OAAV,GACC,2EACA,qCADA,GAEA,kBAHD;AAIApc,qBAAe,CAAC3J,WAAhB,CAA6B/f,SAA7B,EAAyC+f,WAAzC,CAAsDmc,GAAtD;AAEA,UAAI6J,QAAQ,GAAG1rC,MAAM,CAAC4a,gBAAP,CAAyBinB,GAAzB,CAAf;AACA8J,sBAAgB,GAAGD,QAAQ,CAACj6B,GAAT,KAAiB,IAApC,CAhB4B,CAkB5B;;AACAm6B,2BAAqB,GAAGC,kBAAkB,CAAEH,QAAQ,CAACI,UAAX,CAAlB,KAA8C,EAAtE,CAnB4B,CAqB5B;AACA;;AACAjK,SAAG,CAAClnB,KAAJ,CAAUmG,KAAV,GAAkB,KAAlB;AACAirB,uBAAiB,GAAGF,kBAAkB,CAAEH,QAAQ,CAAC5qB,KAAX,CAAlB,KAAyC,EAA7D,CAxB4B,CA0B5B;AACA;;AACAkrB,0BAAoB,GAAGH,kBAAkB,CAAEH,QAAQ,CAACl9B,KAAX,CAAlB,KAAyC,EAAhE,CA5B4B,CA8B5B;AACA;AACA;AACA;;AACAqzB,SAAG,CAAClnB,KAAJ,CAAU6C,QAAV,GAAqB,UAArB;AACAyuB,sBAAgB,GAAGJ,kBAAkB,CAAEhK,GAAG,CAAC5rB,WAAJ,GAAkB,CAApB,CAAlB,KAA8C,EAAjE;AAEAoZ,qBAAe,CAAC1J,WAAhB,CAA6BhgB,SAA7B,EArC4B,CAuC5B;AACA;;AACAk8B,SAAG,GAAG,IAAN;AACA;;AAED,aAASgK,kBAAT,CAA6BK,OAA7B,EAAuC;AACtC,aAAO/tB,IAAI,CAACguB,KAAL,CAAY1rB,UAAU,CAAEyrB,OAAF,CAAtB,CAAP;AACA;;AAED,QAAIP,gBAAJ;AAAA,QAAsBK,oBAAtB;AAAA,QAA4CC,gBAA5C;AAAA,QAA8DF,iBAA9D;AAAA,QACCK,uBADD;AAAA,QAC0BR,qBAD1B;AAAA,QAECjmC,SAAS,GAAGhG,QAAQ,CAAC4Q,aAAT,CAAwB,KAAxB,CAFb;AAAA,QAGCsxB,GAAG,GAAGliC,QAAQ,CAAC4Q,aAAT,CAAwB,KAAxB,CAHP,CApDY,CAyDZ;;AACA,QAAK,CAACsxB,GAAG,CAAClnB,KAAV,EAAkB;AACjB;AACA,KA5DW,CA8DZ;AACA;;;AACAknB,OAAG,CAAClnB,KAAJ,CAAU0xB,cAAV,GAA2B,aAA3B;AACAxK,OAAG,CAACE,SAAJ,CAAe,IAAf,EAAsBpnB,KAAtB,CAA4B0xB,cAA5B,GAA6C,EAA7C;AACAltB,WAAO,CAACmtB,eAAR,GAA0BzK,GAAG,CAAClnB,KAAJ,CAAU0xB,cAAV,KAA6B,aAAvD;AAEA1zB,UAAM,CAAC5L,MAAP,CAAeoS,OAAf,EAAwB;AACvBotB,uBAAiB,EAAE,6BAAW;AAC7Bf,yBAAiB;AACjB,eAAOQ,oBAAP;AACA,OAJsB;AAKvBQ,oBAAc,EAAE,0BAAW;AAC1BhB,yBAAiB;AACjB,eAAOO,iBAAP;AACA,OARsB;AASvBU,mBAAa,EAAE,yBAAW;AACzBjB,yBAAiB;AACjB,eAAOG,gBAAP;AACA,OAZsB;AAavBe,wBAAkB,EAAE,8BAAW;AAC9BlB,yBAAiB;AACjB,eAAOI,qBAAP;AACA,OAhBsB;AAiBvBe,mBAAa,EAAE,yBAAW;AACzBnB,yBAAiB;AACjB,eAAOS,gBAAP;AACA,OApBsB;AAsBvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAW,0BAAoB,EAAE,gCAAW;AAChC,YAAIC,KAAJ,EAAWxK,EAAX,EAAeyK,OAAf,EAAwBC,OAAxB;;AACA,YAAKX,uBAAuB,IAAI,IAAhC,EAAuC;AACtCS,eAAK,GAAGltC,QAAQ,CAAC4Q,aAAT,CAAwB,OAAxB,CAAR;AACA8xB,YAAE,GAAG1iC,QAAQ,CAAC4Q,aAAT,CAAwB,IAAxB,CAAL;AACAu8B,iBAAO,GAAGntC,QAAQ,CAAC4Q,aAAT,CAAwB,KAAxB,CAAV;AAEAs8B,eAAK,CAAClyB,KAAN,CAAY8wB,OAAZ,GAAsB,0DAAtB;AACApJ,YAAE,CAAC1nB,KAAH,CAAS8wB,OAAT,GAAmB,kBAAnB,CANsC,CAQtC;AACA;AACA;;AACApJ,YAAE,CAAC1nB,KAAH,CAASpM,MAAT,GAAkB,KAAlB;AACAu+B,iBAAO,CAACnyB,KAAR,CAAcpM,MAAd,GAAuB,KAAvB,CAZsC,CActC;AACA;AACA;AACA;AACA;AACA;;AACAu+B,iBAAO,CAACnyB,KAAR,CAAc0lB,OAAd,GAAwB,OAAxB;AAEAhR,yBAAe,CACb3J,WADF,CACemnB,KADf,EAEEnnB,WAFF,CAEe2c,EAFf,EAGE3c,WAHF,CAGeonB,OAHf;AAKAC,iBAAO,GAAG/sC,MAAM,CAAC4a,gBAAP,CAAyBynB,EAAzB,CAAV;AACA+J,iCAAuB,GAAKloC,QAAQ,CAAE6oC,OAAO,CAACx+B,MAAV,EAAkB,EAAlB,CAAR,GAC3BrK,QAAQ,CAAE6oC,OAAO,CAACrsB,cAAV,EAA0B,EAA1B,CADmB,GAE3Bxc,QAAQ,CAAE6oC,OAAO,CAAClsB,iBAAV,EAA6B,EAA7B,CAFiB,KAEuBwhB,EAAE,CAAC2K,YAFpD;AAIA3d,yBAAe,CAAC1J,WAAhB,CAA6BknB,KAA7B;AACA;;AACD,eAAOT,uBAAP;AACA;AApEsB,KAAxB;AAsEA,GA1ID;;AA6IA,WAASa,MAAT,CAAiB3zB,IAAjB,EAAuB8N,IAAvB,EAA6B8lB,QAA7B,EAAwC;AACvC,QAAI1+B,KAAJ;AAAA,QAAW2+B,QAAX;AAAA,QAAqBrvB,QAArB;AAAA,QAA+BwI,GAA/B;AAAA,QAEC;AACA;AACA;AACA;AACA3L,SAAK,GAAGrB,IAAI,CAACqB,KANd;AAQAuyB,YAAQ,GAAGA,QAAQ,IAAI/B,SAAS,CAAE7xB,IAAF,CAAhC,CATuC,CAWvC;AACA;AACA;;AACA,QAAK4zB,QAAL,EAAgB;AACf5mB,SAAG,GAAG4mB,QAAQ,CAACE,gBAAT,CAA2BhmB,IAA3B,KAAqC8lB,QAAQ,CAAE9lB,IAAF,CAAnD;;AAEA,UAAKd,GAAG,KAAK,EAAR,IAAc,CAAC2Z,UAAU,CAAE3mB,IAAF,CAA9B,EAAyC;AACxCgN,WAAG,GAAG3N,MAAM,CAACgC,KAAP,CAAcrB,IAAd,EAAoB8N,IAApB,CAAN;AACA,OALc,CAOf;AACA;AACA;AACA;AACA;;;AACA,UAAK,CAACjI,OAAO,CAACqtB,cAAR,EAAD,IAA6BtB,SAAS,CAAC/3B,IAAV,CAAgBmT,GAAhB,CAA7B,IAAsDilB,SAAS,CAACp4B,IAAV,CAAgBiU,IAAhB,CAA3D,EAAoF;AAEnF;AACA5Y,aAAK,GAAGmM,KAAK,CAACnM,KAAd;AACA2+B,gBAAQ,GAAGxyB,KAAK,CAACwyB,QAAjB;AACArvB,gBAAQ,GAAGnD,KAAK,CAACmD,QAAjB,CALmF,CAOnF;;AACAnD,aAAK,CAACwyB,QAAN,GAAiBxyB,KAAK,CAACmD,QAAN,GAAiBnD,KAAK,CAACnM,KAAN,GAAc8X,GAAhD;AACAA,WAAG,GAAG4mB,QAAQ,CAAC1+B,KAAf,CATmF,CAWnF;;AACAmM,aAAK,CAACnM,KAAN,GAAcA,KAAd;AACAmM,aAAK,CAACwyB,QAAN,GAAiBA,QAAjB;AACAxyB,aAAK,CAACmD,QAAN,GAAiBA,QAAjB;AACA;AACD;;AAED,WAAOwI,GAAG,KAAKrkB,SAAR,GAEN;AACA;AACAqkB,OAAG,GAAG,EAJA,GAKNA,GALD;AAMA;;AAGD,WAAS+mB,YAAT,CAAuBC,WAAvB,EAAoCC,MAApC,EAA6C;AAE5C;AACA,WAAO;AACNrnB,SAAG,EAAE,eAAW;AACf,YAAKonB,WAAW,EAAhB,EAAqB;AAEpB;AACA;AACA,iBAAO,KAAKpnB,GAAZ;AACA;AACA,SAPc,CASf;;;AACA,eAAO,CAAE,KAAKA,GAAL,GAAWqnB,MAAb,EAAsBrqC,KAAtB,CAA6B,IAA7B,EAAmCwjB,SAAnC,CAAP;AACA;AAZK,KAAP;AAcA;;AAGD,MAAI8mB,WAAW,GAAG,CAAE,QAAF,EAAY,KAAZ,EAAmB,IAAnB,CAAlB;AAAA,MACCC,UAAU,GAAG9tC,QAAQ,CAAC4Q,aAAT,CAAwB,KAAxB,EAAgCoK,KAD9C;AAAA,MAEC+yB,WAAW,GAAG,EAFf,CAj9MiF,CAq9MjF;;AACA,WAASC,cAAT,CAAyBvmB,IAAzB,EAAgC;AAE/B;AACA,QAAIwmB,OAAO,GAAGxmB,IAAI,CAAE,CAAF,CAAJ,CAAU+W,WAAV,KAA0B/W,IAAI,CAACjP,KAAL,CAAY,CAAZ,CAAxC;AAAA,QACC5Z,CAAC,GAAGivC,WAAW,CAAC9sC,MADjB;;AAGA,WAAQnC,CAAC,EAAT,EAAc;AACb6oB,UAAI,GAAGomB,WAAW,CAAEjvC,CAAF,CAAX,GAAmBqvC,OAA1B;;AACA,UAAKxmB,IAAI,IAAIqmB,UAAb,EAA0B;AACzB,eAAOrmB,IAAP;AACA;AACD;AACD,GAl+MgF,CAo+MjF;;;AACA,WAASymB,aAAT,CAAwBzmB,IAAxB,EAA+B;AAC9B,QAAI0mB,MAAK,GAAGn1B,MAAM,CAACo1B,QAAP,CAAiB3mB,IAAjB,KAA2BsmB,WAAW,CAAEtmB,IAAF,CAAlD;;AAEA,QAAK0mB,MAAL,EAAa;AACZ,aAAOA,MAAP;AACA;;AACD,QAAK1mB,IAAI,IAAIqmB,UAAb,EAA0B;AACzB,aAAOrmB,IAAP;AACA;;AACD,WAAOsmB,WAAW,CAAEtmB,IAAF,CAAX,GAAsBumB,cAAc,CAAEvmB,IAAF,CAAd,IAA0BA,IAAvD;AACA;;AAGD,MAEC;AACA;AACA;AACA4mB,cAAY,GAAG,2BALhB;AAAA,MAMCC,WAAW,GAAG,KANf;AAAA,MAOCC,OAAO,GAAG;AAAE1wB,YAAQ,EAAE,UAAZ;AAAwB2wB,cAAU,EAAE,QAApC;AAA8C9N,WAAO,EAAE;AAAvD,GAPX;AAAA,MAQC+N,kBAAkB,GAAG;AACpBC,iBAAa,EAAE,GADK;AAEpBC,cAAU,EAAE;AAFQ,GARtB;;AAaA,WAASC,iBAAT,CAA4BznB,KAA5B,EAAmCjE,KAAnC,EAA0C2rB,QAA1C,EAAqD;AAEpD;AACA;AACA,QAAI1zB,OAAO,GAAGilB,OAAO,CAAChlB,IAAR,CAAc8H,KAAd,CAAd;AACA,WAAO/H,OAAO,GAEb;AACAqD,QAAI,CAACC,GAAL,CAAU,CAAV,EAAatD,OAAO,CAAE,CAAF,CAAP,IAAiB0zB,QAAQ,IAAI,CAA7B,CAAb,KAAoD1zB,OAAO,CAAE,CAAF,CAAP,IAAgB,IAApE,CAHa,GAIb+H,KAJD;AAKA;;AAED,WAAS4rB,kBAAT,CAA6Bn1B,IAA7B,EAAmCo1B,SAAnC,EAA8CC,GAA9C,EAAmDC,WAAnD,EAAgEvuB,MAAhE,EAAwEwuB,WAAxE,EAAsF;AACrF,QAAItwC,CAAC,GAAGmwC,SAAS,KAAK,OAAd,GAAwB,CAAxB,GAA4B,CAApC;AAAA,QACCI,KAAK,GAAG,CADT;AAAA,QAECC,KAAK,GAAG,CAFT,CADqF,CAKrF;;AACA,QAAKJ,GAAG,MAAOC,WAAW,GAAG,QAAH,GAAc,SAAhC,CAAR,EAAsD;AACrD,aAAO,CAAP;AACA;;AAED,WAAQrwC,CAAC,GAAG,CAAZ,EAAeA,CAAC,IAAI,CAApB,EAAwB;AAEvB;AACA,UAAKowC,GAAG,KAAK,QAAb,EAAwB;AACvBI,aAAK,IAAIp2B,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkBq1B,GAAG,GAAG3O,SAAS,CAAEzhC,CAAF,CAAjC,EAAwC,IAAxC,EAA8C8hB,MAA9C,CAAT;AACA,OALsB,CAOvB;;;AACA,UAAK,CAACuuB,WAAN,EAAoB;AAEnB;AACAG,aAAK,IAAIp2B,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,YAAY0mB,SAAS,CAAEzhC,CAAF,CAAvC,EAA8C,IAA9C,EAAoD8hB,MAApD,CAAT,CAHmB,CAKnB;;AACA,YAAKsuB,GAAG,KAAK,SAAb,EAAyB;AACxBI,eAAK,IAAIp2B,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,WAAW0mB,SAAS,CAAEzhC,CAAF,CAApB,GAA4B,OAA9C,EAAuD,IAAvD,EAA6D8hB,MAA7D,CAAT,CADwB,CAGzB;AACC,SAJD,MAIO;AACNyuB,eAAK,IAAIn2B,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,WAAW0mB,SAAS,CAAEzhC,CAAF,CAApB,GAA4B,OAA9C,EAAuD,IAAvD,EAA6D8hB,MAA7D,CAAT;AACA,SAZkB,CAcpB;AACA;;AACC,OAhBD,MAgBO;AAEN;AACA,YAAKsuB,GAAG,KAAK,SAAb,EAAyB;AACxBI,eAAK,IAAIp2B,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,YAAY0mB,SAAS,CAAEzhC,CAAF,CAAvC,EAA8C,IAA9C,EAAoD8hB,MAApD,CAAT;AACA,SALK,CAON;;;AACA,YAAKsuB,GAAG,KAAK,QAAb,EAAwB;AACvBI,eAAK,IAAIp2B,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,WAAW0mB,SAAS,CAAEzhC,CAAF,CAApB,GAA4B,OAA9C,EAAuD,IAAvD,EAA6D8hB,MAA7D,CAAT;AACA;AACD;AACD,KA9CoF,CAgDrF;;;AACA,QAAK,CAACuuB,WAAD,IAAgBC,WAAW,IAAI,CAApC,EAAwC;AAEvC;AACA;AACAE,WAAK,IAAI5wB,IAAI,CAACC,GAAL,CAAU,CAAV,EAAaD,IAAI,CAAC6wB,IAAL,CACrB11B,IAAI,CAAE,WAAWo1B,SAAS,CAAE,CAAF,CAAT,CAAevQ,WAAf,EAAX,GAA0CuQ,SAAS,CAACv2B,KAAV,CAAiB,CAAjB,CAA5C,CAAJ,GACA02B,WADA,GAEAE,KAFA,GAGAD,KAHA,GAIA,GALqB,CAOtB;AACA;AARsB,OAAb,KASF,CATP;AAUA;;AAED,WAAOC,KAAP;AACA;;AAED,WAASE,gBAAT,CAA2B31B,IAA3B,EAAiCo1B,SAAjC,EAA4CI,KAA5C,EAAoD;AAEnD;AACA,QAAIzuB,MAAM,GAAG8qB,SAAS,CAAE7xB,IAAF,CAAtB;AAAA,QAEC;AACA;AACA41B,mBAAe,GAAG,CAAC/vB,OAAO,CAACotB,iBAAR,EAAD,IAAgCuC,KAJnD;AAAA,QAKCF,WAAW,GAAGM,eAAe,IAC5Bv2B,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,WAAlB,EAA+B,KAA/B,EAAsC+G,MAAtC,MAAmD,YANrD;AAAA,QAOC8uB,gBAAgB,GAAGP,WAPpB;AAAA,QASCtpB,GAAG,GAAG2nB,MAAM,CAAE3zB,IAAF,EAAQo1B,SAAR,EAAmBruB,MAAnB,CATb;AAAA,QAUC+uB,UAAU,GAAG,WAAWV,SAAS,CAAE,CAAF,CAAT,CAAevQ,WAAf,EAAX,GAA0CuQ,SAAS,CAACv2B,KAAV,CAAiB,CAAjB,CAVxD,CAHmD,CAenD;AACA;;AACA,QAAK+yB,SAAS,CAAC/3B,IAAV,CAAgBmS,GAAhB,CAAL,EAA6B;AAC5B,UAAK,CAACwpB,KAAN,EAAc;AACb,eAAOxpB,GAAP;AACA;;AACDA,SAAG,GAAG,MAAN;AACA,KAtBkD,CAyBnD;AACA;AACA;;;AACA,QAAK,CAAE,CAACnG,OAAO,CAACotB,iBAAR,EAAD,IAAgCqC,WAAhC,IAEN;AACA;AACA;AACA;AACA,KAACzvB,OAAO,CAACytB,oBAAR,EAAD,IAAmC1yB,QAAQ,CAAEZ,IAAF,EAAQ,IAAR,CANrC,IAQN;AACA;AACAgM,OAAG,KAAK,MAVF,IAYN;AACA;AACA,KAAC7E,UAAU,CAAE6E,GAAF,CAAX,IAAsB3M,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,SAAlB,EAA6B,KAA7B,EAAoC+G,MAApC,MAAiD,QAdnE,KAgBJ;AACA/G,QAAI,CAAC+1B,cAAL,GAAsB3uC,MAjBvB,EAiBgC;AAE/BkuC,iBAAW,GAAGj2B,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,WAAlB,EAA+B,KAA/B,EAAsC+G,MAAtC,MAAmD,YAAjE,CAF+B,CAI/B;AACA;AACA;;AACA8uB,sBAAgB,GAAGC,UAAU,IAAI91B,IAAjC;;AACA,UAAK61B,gBAAL,EAAwB;AACvB7pB,WAAG,GAAGhM,IAAI,CAAE81B,UAAF,CAAV;AACA;AACD,KAxDkD,CA0DnD;;;AACA9pB,OAAG,GAAG7E,UAAU,CAAE6E,GAAF,CAAV,IAAqB,CAA3B,CA3DmD,CA6DnD;;AACA,WAASA,GAAG,GACXmpB,kBAAkB,CACjBn1B,IADiB,EAEjBo1B,SAFiB,EAGjBI,KAAK,KAAMF,WAAW,GAAG,QAAH,GAAc,SAA/B,CAHY,EAIjBO,gBAJiB,EAKjB9uB,MALiB,EAOjB;AACAiF,OARiB,CADZ,GAWH,IAXJ;AAYA;;AAED3M,QAAM,CAAC5L,MAAP,CAAe;AAEd;AACA;AACAuiC,YAAQ,EAAE;AACT1xB,aAAO,EAAE;AACRsI,WAAG,EAAE,aAAU5M,IAAV,EAAgB4zB,QAAhB,EAA2B;AAC/B,cAAKA,QAAL,EAAgB;AAEf;AACA,gBAAI5mB,GAAG,GAAG2mB,MAAM,CAAE3zB,IAAF,EAAQ,SAAR,CAAhB;AACA,mBAAOgN,GAAG,KAAK,EAAR,GAAa,GAAb,GAAmBA,GAA1B;AACA;AACD;AARO;AADA,KAJI;AAiBd;AACAwa,aAAS,EAAE;AACV,iCAA2B,IADjB;AAEV,qBAAe,IAFL;AAGV,qBAAe,IAHL;AAIV,kBAAY,IAJF;AAKV,oBAAc,IALJ;AAMV,oBAAc,IANJ;AAOV,kBAAY,IAPF;AAQV,oBAAc,IARJ;AASV,uBAAiB,IATP;AAUV,yBAAmB,IAVT;AAWV,iBAAW,IAXD;AAYV,oBAAc,IAZJ;AAaV,sBAAgB,IAbN;AAcV,oBAAc,IAdJ;AAeV,iBAAW,IAfD;AAgBV,eAAS,IAhBC;AAiBV,iBAAW,IAjBD;AAkBV,gBAAU,IAlBA;AAmBV,gBAAU,IAnBA;AAoBV,cAAQ;AApBE,KAlBG;AAyCd;AACA;AACAiN,YAAQ,EAAE,EA3CI;AA6Cd;AACApzB,SAAK,EAAE,eAAUrB,IAAV,EAAgB8N,IAAhB,EAAsBvE,KAAtB,EAA6BisB,KAA7B,EAAqC;AAE3C;AACA,UAAK,CAACx1B,IAAD,IAASA,IAAI,CAACe,QAAL,KAAkB,CAA3B,IAAgCf,IAAI,CAACe,QAAL,KAAkB,CAAlD,IAAuD,CAACf,IAAI,CAACqB,KAAlE,EAA0E;AACzE;AACA,OAL0C,CAO3C;;;AACA,UAAI2L,GAAJ;AAAA,UAASvY,IAAT;AAAA,UAAeyxB,KAAf;AAAA,UACC+P,QAAQ,GAAGnR,SAAS,CAAEhX,IAAF,CADrB;AAAA,UAECooB,YAAY,GAAGvB,WAAW,CAAC96B,IAAZ,CAAkBiU,IAAlB,CAFhB;AAAA,UAGCzM,KAAK,GAAGrB,IAAI,CAACqB,KAHd,CAR2C,CAa3C;AACA;AACA;;AACA,UAAK,CAAC60B,YAAN,EAAqB;AACpBpoB,YAAI,GAAGymB,aAAa,CAAE0B,QAAF,CAApB;AACA,OAlB0C,CAoB3C;;;AACA/P,WAAK,GAAG7mB,MAAM,CAAC22B,QAAP,CAAiBloB,IAAjB,KAA2BzO,MAAM,CAAC22B,QAAP,CAAiBC,QAAjB,CAAnC,CArB2C,CAuB3C;;AACA,UAAK1sB,KAAK,KAAK5gB,SAAf,EAA2B;AAC1B8L,YAAI,WAAU8U,KAAV,CAAJ,CAD0B,CAG1B;;AACA,YAAK9U,IAAI,KAAK,QAAT,KAAuBuY,GAAG,GAAGyZ,OAAO,CAAChlB,IAAR,CAAc8H,KAAd,CAA7B,KAAwDyD,GAAG,CAAE,CAAF,CAAhE,EAAwE;AACvEzD,eAAK,GAAGyd,SAAS,CAAEhnB,IAAF,EAAQ8N,IAAR,EAAcd,GAAd,CAAjB,CADuE,CAGvE;;AACAvY,cAAI,GAAG,QAAP;AACA,SATyB,CAW1B;;;AACA,YAAK8U,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAKA,KAAhC,EAAwC;AACvC;AACA,SAdyB,CAgB1B;AACA;AACA;;;AACA,YAAK9U,IAAI,KAAK,QAAT,IAAqB,CAACyhC,YAA3B,EAA0C;AACzC3sB,eAAK,IAAIyD,GAAG,IAAIA,GAAG,CAAE,CAAF,CAAV,KAAqB3N,MAAM,CAACmoB,SAAP,CAAkByO,QAAlB,IAA+B,EAA/B,GAAoC,IAAzD,CAAT;AACA,SArByB,CAuB1B;;;AACA,YAAK,CAACpwB,OAAO,CAACmtB,eAAT,IAA4BzpB,KAAK,KAAK,EAAtC,IAA4CuE,IAAI,CAACzoB,OAAL,CAAc,YAAd,MAAiC,CAAlF,EAAsF;AACrFgc,eAAK,CAAEyM,IAAF,CAAL,GAAgB,SAAhB;AACA,SA1ByB,CA4B1B;;;AACA,YAAK,CAACoY,KAAD,IAAU,EAAG,SAASA,KAAZ,CAAV,IACJ,CAAE3c,KAAK,GAAG2c,KAAK,CAACZ,GAAN,CAAWtlB,IAAX,EAAiBuJ,KAAjB,EAAwBisB,KAAxB,CAAV,MAAgD7sC,SADjD,EAC6D;AAE5D,cAAKutC,YAAL,EAAoB;AACnB70B,iBAAK,CAAC80B,WAAN,CAAmBroB,IAAnB,EAAyBvE,KAAzB;AACA,WAFD,MAEO;AACNlI,iBAAK,CAAEyM,IAAF,CAAL,GAAgBvE,KAAhB;AACA;AACD;AAED,OAvCD,MAuCO;AAEN;AACA,YAAK2c,KAAK,IAAI,SAASA,KAAlB,IACJ,CAAElZ,GAAG,GAAGkZ,KAAK,CAACtZ,GAAN,CAAW5M,IAAX,EAAiB,KAAjB,EAAwBw1B,KAAxB,CAAR,MAA8C7sC,SAD/C,EAC2D;AAE1D,iBAAOqkB,GAAP;AACA,SAPK,CASN;;;AACA,eAAO3L,KAAK,CAAEyM,IAAF,CAAZ;AACA;AACD,KAzHa;AA2Hd9Y,OAAG,EAAE,aAAUgL,IAAV,EAAgB8N,IAAhB,EAAsB0nB,KAAtB,EAA6BzuB,MAA7B,EAAsC;AAC1C,UAAIiF,GAAJ;AAAA,UAASa,GAAT;AAAA,UAAcqZ,KAAd;AAAA,UACC+P,QAAQ,GAAGnR,SAAS,CAAEhX,IAAF,CADrB;AAAA,UAECooB,YAAY,GAAGvB,WAAW,CAAC96B,IAAZ,CAAkBiU,IAAlB,CAFhB,CAD0C,CAK1C;AACA;AACA;;AACA,UAAK,CAACooB,YAAN,EAAqB;AACpBpoB,YAAI,GAAGymB,aAAa,CAAE0B,QAAF,CAApB;AACA,OAVyC,CAY1C;;;AACA/P,WAAK,GAAG7mB,MAAM,CAAC22B,QAAP,CAAiBloB,IAAjB,KAA2BzO,MAAM,CAAC22B,QAAP,CAAiBC,QAAjB,CAAnC,CAb0C,CAe1C;;AACA,UAAK/P,KAAK,IAAI,SAASA,KAAvB,EAA+B;AAC9Bla,WAAG,GAAGka,KAAK,CAACtZ,GAAN,CAAW5M,IAAX,EAAiB,IAAjB,EAAuBw1B,KAAvB,CAAN;AACA,OAlByC,CAoB1C;;;AACA,UAAKxpB,GAAG,KAAKrjB,SAAb,EAAyB;AACxBqjB,WAAG,GAAG2nB,MAAM,CAAE3zB,IAAF,EAAQ8N,IAAR,EAAc/G,MAAd,CAAZ;AACA,OAvByC,CAyB1C;;;AACA,UAAKiF,GAAG,KAAK,QAAR,IAAoB8B,IAAI,IAAIgnB,kBAAjC,EAAsD;AACrD9oB,WAAG,GAAG8oB,kBAAkB,CAAEhnB,IAAF,CAAxB;AACA,OA5ByC,CA8B1C;;;AACA,UAAK0nB,KAAK,KAAK,EAAV,IAAgBA,KAArB,EAA6B;AAC5B3oB,WAAG,GAAG1F,UAAU,CAAE6E,GAAF,CAAhB;AACA,eAAOwpB,KAAK,KAAK,IAAV,IAAkBY,QAAQ,CAAEvpB,GAAF,CAA1B,GAAoCA,GAAG,IAAI,CAA3C,GAA+Cb,GAAtD;AACA;;AAED,aAAOA,GAAP;AACA;AAhKa,GAAf;AAmKA3M,QAAM,CAAC7a,IAAP,CAAa,CAAE,QAAF,EAAY,OAAZ,CAAb,EAAoC,UAAU8L,EAAV,EAAc8kC,SAAd,EAA0B;AAC7D/1B,UAAM,CAAC22B,QAAP,CAAiBZ,SAAjB,IAA+B;AAC9BxoB,SAAG,EAAE,aAAU5M,IAAV,EAAgB4zB,QAAhB,EAA0B4B,KAA1B,EAAkC;AACtC,YAAK5B,QAAL,EAAgB;AAEf;AACA;AACA,iBAAOc,YAAY,CAAC76B,IAAb,CAAmBwF,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,SAAlB,CAAnB,OAEN;AACA;AACA;AACA;AACA;AACA;AACE,WAACA,IAAI,CAAC+1B,cAAL,GAAsB3uC,MAAvB,IAAiC,CAAC4Y,IAAI,CAACsI,qBAAL,GAA6BpT,KAR3D,IASN68B,IAAI,CAAE/xB,IAAF,EAAQ40B,OAAR,EAAiB,YAAW;AAC/B,mBAAOe,gBAAgB,CAAE31B,IAAF,EAAQo1B,SAAR,EAAmBI,KAAnB,CAAvB;AACA,WAFG,CATE,GAYNG,gBAAgB,CAAE31B,IAAF,EAAQo1B,SAAR,EAAmBI,KAAnB,CAZjB;AAaA;AACD,OApB6B;AAsB9BlQ,SAAG,EAAE,aAAUtlB,IAAV,EAAgBuJ,KAAhB,EAAuBisB,KAAvB,EAA+B;AACnC,YAAIh0B,OAAJ;AAAA,YACCuF,MAAM,GAAG8qB,SAAS,CAAE7xB,IAAF,CADnB;AAAA,YAGC;AACA;AACAq2B,0BAAkB,GAAG,CAACxwB,OAAO,CAACwtB,aAAR,EAAD,IACpBtsB,MAAM,CAAC7C,QAAP,KAAoB,UANtB;AAAA,YAQC;AACA0xB,uBAAe,GAAGS,kBAAkB,IAAIb,KATzC;AAAA,YAUCF,WAAW,GAAGM,eAAe,IAC5Bv2B,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,WAAlB,EAA+B,KAA/B,EAAsC+G,MAAtC,MAAmD,YAXrD;AAAA,YAYCmuB,QAAQ,GAAGM,KAAK,GACfL,kBAAkB,CACjBn1B,IADiB,EAEjBo1B,SAFiB,EAGjBI,KAHiB,EAIjBF,WAJiB,EAKjBvuB,MALiB,CADH,GAQf,CApBF,CADmC,CAuBnC;AACA;;AACA,YAAKuuB,WAAW,IAAIe,kBAApB,EAAyC;AACxCnB,kBAAQ,IAAIrwB,IAAI,CAAC6wB,IAAL,CACX11B,IAAI,CAAE,WAAWo1B,SAAS,CAAE,CAAF,CAAT,CAAevQ,WAAf,EAAX,GAA0CuQ,SAAS,CAACv2B,KAAV,CAAiB,CAAjB,CAA5C,CAAJ,GACAsI,UAAU,CAAEJ,MAAM,CAAEquB,SAAF,CAAR,CADV,GAEAD,kBAAkB,CAAEn1B,IAAF,EAAQo1B,SAAR,EAAmB,QAAnB,EAA6B,KAA7B,EAAoCruB,MAApC,CAFlB,GAGA,GAJW,CAAZ;AAMA,SAhCkC,CAkCnC;;;AACA,YAAKmuB,QAAQ,KAAM1zB,OAAO,GAAGilB,OAAO,CAAChlB,IAAR,CAAc8H,KAAd,CAAhB,CAAR,IACJ,CAAE/H,OAAO,CAAE,CAAF,CAAP,IAAgB,IAAlB,MAA6B,IAD9B,EACqC;AAEpCxB,cAAI,CAACqB,KAAL,CAAY+zB,SAAZ,IAA0B7rB,KAA1B;AACAA,eAAK,GAAGlK,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkBo1B,SAAlB,CAAR;AACA;;AAED,eAAOH,iBAAiB,CAAEj1B,IAAF,EAAQuJ,KAAR,EAAe2rB,QAAf,CAAxB;AACA;AAjE6B,KAA/B;AAmEA,GApED;AAsEA71B,QAAM,CAAC22B,QAAP,CAAgBxD,UAAhB,GAA6BuB,YAAY,CAAEluB,OAAO,CAACutB,kBAAV,EACxC,UAAUpzB,IAAV,EAAgB4zB,QAAhB,EAA2B;AAC1B,QAAKA,QAAL,EAAgB;AACf,aAAO,CAAEzsB,UAAU,CAAEwsB,MAAM,CAAE3zB,IAAF,EAAQ,YAAR,CAAR,CAAV,IACRA,IAAI,CAACsI,qBAAL,GAA6BjE,IAA7B,GACC0tB,IAAI,CAAE/xB,IAAF,EAAQ;AAAEwyB,kBAAU,EAAE;AAAd,OAAR,EAA2B,YAAW;AACzC,eAAOxyB,IAAI,CAACsI,qBAAL,GAA6BjE,IAApC;AACA,OAFG,CAFC,IAKH,IALJ;AAMA;AACD,GAVuC,CAAzC,CAp4NiF,CAi5NjF;;AACAhF,QAAM,CAAC7a,IAAP,CAAa;AACZ8xC,UAAM,EAAE,EADI;AAEZC,WAAO,EAAE,EAFG;AAGZhyB,UAAM,EAAE;AAHI,GAAb,EAIG,UAAUiyB,MAAV,EAAkBC,MAAlB,EAA2B;AAC7Bp3B,UAAM,CAAC22B,QAAP,CAAiBQ,MAAM,GAAGC,MAA1B,IAAqC;AACpCC,YAAM,EAAE,gBAAUntB,KAAV,EAAkB;AACzB,YAAItkB,CAAC,GAAG,CAAR;AAAA,YACC0xC,QAAQ,GAAG,EADZ;AAAA,YAGC;AACAC,aAAK,GAAG,OAAOrtB,KAAP,KAAiB,QAAjB,GAA4BA,KAAK,CAAC8F,KAAN,CAAa,GAAb,CAA5B,GAAiD,CAAE9F,KAAF,CAJ1D;;AAMA,eAAQtkB,CAAC,GAAG,CAAZ,EAAeA,CAAC,EAAhB,EAAqB;AACpB0xC,kBAAQ,CAAEH,MAAM,GAAG9P,SAAS,CAAEzhC,CAAF,CAAlB,GAA0BwxC,MAA5B,CAAR,GACCG,KAAK,CAAE3xC,CAAF,CAAL,IAAc2xC,KAAK,CAAE3xC,CAAC,GAAG,CAAN,CAAnB,IAAgC2xC,KAAK,CAAE,CAAF,CADtC;AAEA;;AAED,eAAOD,QAAP;AACA;AAdmC,KAArC;;AAiBA,QAAKH,MAAM,KAAK,QAAhB,EAA2B;AAC1Bn3B,YAAM,CAAC22B,QAAP,CAAiBQ,MAAM,GAAGC,MAA1B,EAAmCnR,GAAnC,GAAyC2P,iBAAzC;AACA;AACD,GAzBD;AA2BA51B,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjBuB,OAAG,EAAE,aAAU8Y,IAAV,EAAgBvE,KAAhB,EAAwB;AAC5B,aAAO2a,MAAM,CAAE,IAAF,EAAQ,UAAUlkB,IAAV,EAAgB8N,IAAhB,EAAsBvE,KAAtB,EAA8B;AAClD,YAAIxC,MAAJ;AAAA,YAAY2G,GAAZ;AAAA,YACCP,GAAG,GAAG,EADP;AAAA,YAECloB,CAAC,GAAG,CAFL;;AAIA,YAAKya,KAAK,CAACG,OAAN,CAAeiO,IAAf,CAAL,EAA6B;AAC5B/G,gBAAM,GAAG8qB,SAAS,CAAE7xB,IAAF,CAAlB;AACA0N,aAAG,GAAGI,IAAI,CAAC1mB,MAAX;;AAEA,iBAAQnC,CAAC,GAAGyoB,GAAZ,EAAiBzoB,CAAC,EAAlB,EAAuB;AACtBkoB,eAAG,CAAEW,IAAI,CAAE7oB,CAAF,CAAN,CAAH,GAAmBoa,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB8N,IAAI,CAAE7oB,CAAF,CAAtB,EAA6B,KAA7B,EAAoC8hB,MAApC,CAAnB;AACA;;AAED,iBAAOoG,GAAP;AACA;;AAED,eAAO5D,KAAK,KAAK5gB,SAAV,GACN0W,MAAM,CAACgC,KAAP,CAAcrB,IAAd,EAAoB8N,IAApB,EAA0BvE,KAA1B,CADM,GAENlK,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB8N,IAAlB,CAFD;AAGA,OAnBY,EAmBVA,IAnBU,EAmBJvE,KAnBI,EAmBG6D,SAAS,CAAChmB,MAAV,GAAmB,CAnBtB,CAAb;AAoBA;AAtBgB,GAAlB;;AA0BA,WAASyvC,KAAT,CAAgB72B,IAAhB,EAAsBC,OAAtB,EAA+BT,IAA/B,EAAqCoO,GAArC,EAA0CkpB,MAA1C,EAAmD;AAClD,WAAO,IAAID,KAAK,CAAC54B,SAAN,CAAgBrY,IAApB,CAA0Boa,IAA1B,EAAgCC,OAAhC,EAAyCT,IAAzC,EAA+CoO,GAA/C,EAAoDkpB,MAApD,CAAP;AACA;;AACDz3B,QAAM,CAACw3B,KAAP,GAAeA,KAAf;AAEAA,OAAK,CAAC54B,SAAN,GAAkB;AACjByO,eAAW,EAAEmqB,KADI;AAEjBjxC,QAAI,EAAE,cAAUoa,IAAV,EAAgBC,OAAhB,EAAyBT,IAAzB,EAA+BoO,GAA/B,EAAoCkpB,MAApC,EAA4CvP,IAA5C,EAAmD;AACxD,WAAKvnB,IAAL,GAAYA,IAAZ;AACA,WAAKR,IAAL,GAAYA,IAAZ;AACA,WAAKs3B,MAAL,GAAcA,MAAM,IAAIz3B,MAAM,CAACy3B,MAAP,CAAc7N,QAAtC;AACA,WAAKhpB,OAAL,GAAeA,OAAf;AACA,WAAKyF,KAAL,GAAa,KAAKuD,GAAL,GAAW,KAAKiM,GAAL,EAAxB;AACA,WAAKtH,GAAL,GAAWA,GAAX;AACA,WAAK2Z,IAAL,GAAYA,IAAI,KAAMloB,MAAM,CAACmoB,SAAP,CAAkBhoB,IAAlB,IAA2B,EAA3B,GAAgC,IAAtC,CAAhB;AACA,KAVgB;AAWjB0V,OAAG,EAAE,eAAW;AACf,UAAIgR,KAAK,GAAG2Q,KAAK,CAACE,SAAN,CAAiB,KAAKv3B,IAAtB,CAAZ;AAEA,aAAO0mB,KAAK,IAAIA,KAAK,CAACtZ,GAAf,GACNsZ,KAAK,CAACtZ,GAAN,CAAW,IAAX,CADM,GAENiqB,KAAK,CAACE,SAAN,CAAgB9N,QAAhB,CAAyBrc,GAAzB,CAA8B,IAA9B,CAFD;AAGA,KAjBgB;AAkBjBoqB,OAAG,EAAE,aAAUC,OAAV,EAAoB;AACxB,UAAIC,KAAJ;AAAA,UACChR,KAAK,GAAG2Q,KAAK,CAACE,SAAN,CAAiB,KAAKv3B,IAAtB,CADT;;AAGA,UAAK,KAAKS,OAAL,CAAauD,QAAlB,EAA6B;AAC5B,aAAK2zB,GAAL,GAAWD,KAAK,GAAG73B,MAAM,CAACy3B,MAAP,CAAe,KAAKA,MAApB,EAClBG,OADkB,EACT,KAAKh3B,OAAL,CAAauD,QAAb,GAAwByzB,OADf,EACwB,CADxB,EAC2B,CAD3B,EAC8B,KAAKh3B,OAAL,CAAauD,QAD3C,CAAnB;AAGA,OAJD,MAIO;AACN,aAAK2zB,GAAL,GAAWD,KAAK,GAAGD,OAAnB;AACA;;AACD,WAAKhuB,GAAL,GAAW,CAAE,KAAK2E,GAAL,GAAW,KAAKlI,KAAlB,IAA4BwxB,KAA5B,GAAoC,KAAKxxB,KAApD;;AAEA,UAAK,KAAKzF,OAAL,CAAayJ,IAAlB,EAAyB;AACxB,aAAKzJ,OAAL,CAAayJ,IAAb,CAAkB7f,IAAlB,CAAwB,KAAKmW,IAA7B,EAAmC,KAAKiJ,GAAxC,EAA6C,IAA7C;AACA;;AAED,UAAKid,KAAK,IAAIA,KAAK,CAACZ,GAApB,EAA0B;AACzBY,aAAK,CAACZ,GAAN,CAAW,IAAX;AACA,OAFD,MAEO;AACNuR,aAAK,CAACE,SAAN,CAAgB9N,QAAhB,CAAyB3D,GAAzB,CAA8B,IAA9B;AACA;;AACD,aAAO,IAAP;AACA;AAzCgB,GAAlB;AA4CAuR,OAAK,CAAC54B,SAAN,CAAgBrY,IAAhB,CAAqBqY,SAArB,GAAiC44B,KAAK,CAAC54B,SAAvC;AAEA44B,OAAK,CAACE,SAAN,GAAkB;AACjB9N,YAAQ,EAAE;AACTrc,SAAG,EAAE,aAAU1D,KAAV,EAAkB;AACtB,YAAIyP,MAAJ,CADsB,CAGtB;AACA;;AACA,YAAKzP,KAAK,CAAClJ,IAAN,CAAWe,QAAX,KAAwB,CAAxB,IACJmI,KAAK,CAAClJ,IAAN,CAAYkJ,KAAK,CAAC1J,IAAlB,KAA4B,IAA5B,IAAoC0J,KAAK,CAAClJ,IAAN,CAAWqB,KAAX,CAAkB6H,KAAK,CAAC1J,IAAxB,KAAkC,IADvE,EAC8E;AAC7E,iBAAO0J,KAAK,CAAClJ,IAAN,CAAYkJ,KAAK,CAAC1J,IAAlB,CAAP;AACA,SARqB,CAUtB;AACA;AACA;AACA;;;AACAmZ,cAAM,GAAGtZ,MAAM,CAACrK,GAAP,CAAYkU,KAAK,CAAClJ,IAAlB,EAAwBkJ,KAAK,CAAC1J,IAA9B,EAAoC,EAApC,CAAT,CAdsB,CAgBtB;;AACA,eAAO,CAACmZ,MAAD,IAAWA,MAAM,KAAK,MAAtB,GAA+B,CAA/B,GAAmCA,MAA1C;AACA,OAnBQ;AAoBT2M,SAAG,EAAE,aAAUpc,KAAV,EAAkB;AAEtB;AACA;AACA;AACA,YAAK7J,MAAM,CAAC+3B,EAAP,CAAU1tB,IAAV,CAAgBR,KAAK,CAAC1J,IAAtB,CAAL,EAAoC;AACnCH,gBAAM,CAAC+3B,EAAP,CAAU1tB,IAAV,CAAgBR,KAAK,CAAC1J,IAAtB,EAA8B0J,KAA9B;AACA,SAFD,MAEO,IAAKA,KAAK,CAAClJ,IAAN,CAAWe,QAAX,KAAwB,CAAxB,KACX1B,MAAM,CAAC22B,QAAP,CAAiB9sB,KAAK,CAAC1J,IAAvB,KACC0J,KAAK,CAAClJ,IAAN,CAAWqB,KAAX,CAAkBkzB,aAAa,CAAErrB,KAAK,CAAC1J,IAAR,CAA/B,KAAmD,IAFzC,CAAL,EAEuD;AAC7DH,gBAAM,CAACgC,KAAP,CAAc6H,KAAK,CAAClJ,IAApB,EAA0BkJ,KAAK,CAAC1J,IAAhC,EAAsC0J,KAAK,CAACD,GAAN,GAAYC,KAAK,CAACqe,IAAxD;AACA,SAJM,MAIA;AACNre,eAAK,CAAClJ,IAAN,CAAYkJ,KAAK,CAAC1J,IAAlB,IAA2B0J,KAAK,CAACD,GAAjC;AACA;AACD;AAlCQ;AADO,GAAlB,CA1/NiF,CAiiOjF;AACA;;AACA4tB,OAAK,CAACE,SAAN,CAAgBh/B,SAAhB,GAA4B8+B,KAAK,CAACE,SAAN,CAAgBlvB,UAAhB,GAA6B;AACxDyd,OAAG,EAAE,aAAUpc,KAAV,EAAkB;AACtB,UAAKA,KAAK,CAAClJ,IAAN,CAAWe,QAAX,IAAuBmI,KAAK,CAAClJ,IAAN,CAAWzI,UAAvC,EAAoD;AACnD2R,aAAK,CAAClJ,IAAN,CAAYkJ,KAAK,CAAC1J,IAAlB,IAA2B0J,KAAK,CAACD,GAAjC;AACA;AACD;AALuD,GAAzD;AAQA5J,QAAM,CAACy3B,MAAP,GAAgB;AACfO,UAAM,EAAE,gBAAUC,CAAV,EAAc;AACrB,aAAOA,CAAP;AACA,KAHc;AAIfC,SAAK,EAAE,eAAUD,CAAV,EAAc;AACpB,aAAO,MAAMzyB,IAAI,CAAC2yB,GAAL,CAAUF,CAAC,GAAGzyB,IAAI,CAAC4yB,EAAnB,IAA0B,CAAvC;AACA,KANc;AAOfxO,YAAQ,EAAE;AAPK,GAAhB;AAUA5pB,QAAM,CAAC+3B,EAAP,GAAYP,KAAK,CAAC54B,SAAN,CAAgBrY,IAA5B,CArjOiF,CAujOjF;;AACAyZ,QAAM,CAAC+3B,EAAP,CAAU1tB,IAAV,GAAiB,EAAjB;AAKA,MACCguB,KADD;AAAA,MACQC,UADR;AAAA,MAECC,QAAQ,GAAG,wBAFZ;AAAA,MAGCC,IAAI,GAAG,aAHR;;AAKA,WAASC,QAAT,GAAoB;AACnB,QAAKH,UAAL,EAAkB;AACjB,UAAKtxC,QAAQ,CAAC2jB,MAAT,KAAoB,KAApB,IAA6BtjB,MAAM,CAACqxC,qBAAzC,EAAiE;AAChErxC,cAAM,CAACqxC,qBAAP,CAA8BD,QAA9B;AACA,OAFD,MAEO;AACNpxC,cAAM,CAACsT,UAAP,CAAmB89B,QAAnB,EAA6Bz4B,MAAM,CAAC+3B,EAAP,CAAUY,QAAvC;AACA;;AAED34B,YAAM,CAAC+3B,EAAP,CAAUa,IAAV;AACA;AACD,GA5kOgF,CA8kOjF;;;AACA,WAASC,WAAT,GAAuB;AACtBxxC,UAAM,CAACsT,UAAP,CAAmB,YAAW;AAC7B09B,WAAK,GAAG/uC,SAAR;AACA,KAFD;AAGA,WAAS+uC,KAAK,GAAGpnB,IAAI,CAACrH,GAAL,EAAjB;AACA,GAplOgF,CAslOjF;;;AACA,WAASkvB,KAAT,CAAgB1jC,IAAhB,EAAsB2jC,YAAtB,EAAqC;AACpC,QAAIryB,KAAJ;AAAA,QACC9gB,CAAC,GAAG,CADL;AAAA,QAEC6vB,KAAK,GAAG;AAAE7f,YAAM,EAAER;AAAV,KAFT,CADoC,CAKpC;AACA;;AACA2jC,gBAAY,GAAGA,YAAY,GAAG,CAAH,GAAO,CAAlC;;AACA,WAAQnzC,CAAC,GAAG,CAAZ,EAAeA,CAAC,IAAI,IAAImzC,YAAxB,EAAuC;AACtCryB,WAAK,GAAG2gB,SAAS,CAAEzhC,CAAF,CAAjB;AACA6vB,WAAK,CAAE,WAAW/O,KAAb,CAAL,GAA4B+O,KAAK,CAAE,YAAY/O,KAAd,CAAL,GAA6BtR,IAAzD;AACA;;AAED,QAAK2jC,YAAL,EAAoB;AACnBtjB,WAAK,CAACxQ,OAAN,GAAgBwQ,KAAK,CAAC5f,KAAN,GAAcT,IAA9B;AACA;;AAED,WAAOqgB,KAAP;AACA;;AAED,WAASujB,WAAT,CAAsB9uB,KAAtB,EAA6B/J,IAA7B,EAAmC84B,SAAnC,EAA+C;AAC9C,QAAIpvB,KAAJ;AAAA,QACCunB,UAAU,GAAG,CAAE8H,SAAS,CAACC,QAAV,CAAoBh5B,IAApB,KAA8B,EAAhC,EAAqCyL,MAArC,CAA6CstB,SAAS,CAACC,QAAV,CAAoB,GAApB,CAA7C,CADd;AAAA,QAECnrC,KAAK,GAAG,CAFT;AAAA,QAGCjG,MAAM,GAAGqpC,UAAU,CAACrpC,MAHrB;;AAIA,WAAQiG,KAAK,GAAGjG,MAAhB,EAAwBiG,KAAK,EAA7B,EAAkC;AACjC,UAAO6b,KAAK,GAAGunB,UAAU,CAAEpjC,KAAF,CAAV,CAAoBxD,IAApB,CAA0ByuC,SAA1B,EAAqC94B,IAArC,EAA2C+J,KAA3C,CAAf,EAAsE;AAErE;AACA,eAAOL,KAAP;AACA;AACD;AACD;;AAED,WAASuvB,gBAAT,CAA2Bz4B,IAA3B,EAAiCytB,KAAjC,EAAwCiL,IAAxC,EAA+C;AAC9C,QAAIl5B,IAAJ;AAAA,QAAU+J,KAAV;AAAA,QAAiB0e,MAAjB;AAAA,QAAyB/B,KAAzB;AAAA,QAAgCyS,OAAhC;AAAA,QAAyCC,SAAzC;AAAA,QAAoDC,cAApD;AAAA,QAAoE9R,OAApE;AAAA,QACC+R,KAAK,GAAG,WAAWrL,KAAX,IAAoB,YAAYA,KADzC;AAAA,QAECsL,IAAI,GAAG,IAFR;AAAA,QAGCrJ,IAAI,GAAG,EAHR;AAAA,QAICruB,KAAK,GAAGrB,IAAI,CAACqB,KAJd;AAAA,QAKC2I,MAAM,GAAGhK,IAAI,CAACe,QAAL,IAAiB+lB,kBAAkB,CAAE9mB,IAAF,CAL7C;AAAA,QAMCg5B,QAAQ,GAAGxT,QAAQ,CAAC5Y,GAAT,CAAc5M,IAAd,EAAoB,QAApB,CANZ,CAD8C,CAS9C;;AACA,QAAK,CAAC04B,IAAI,CAAC/uB,KAAX,EAAmB;AAClBuc,WAAK,GAAG7mB,MAAM,CAAC8mB,WAAP,CAAoBnmB,IAApB,EAA0B,IAA1B,CAAR;;AACA,UAAKkmB,KAAK,CAAC+S,QAAN,IAAkB,IAAvB,EAA8B;AAC7B/S,aAAK,CAAC+S,QAAN,GAAiB,CAAjB;AACAN,eAAO,GAAGzS,KAAK,CAACxwB,KAAN,CAAYmrB,IAAtB;;AACAqF,aAAK,CAACxwB,KAAN,CAAYmrB,IAAZ,GAAmB,YAAW;AAC7B,cAAK,CAACqF,KAAK,CAAC+S,QAAZ,EAAuB;AACtBN,mBAAO;AACP;AACD,SAJD;AAKA;;AACDzS,WAAK,CAAC+S,QAAN;AAEAF,UAAI,CAACpX,MAAL,CAAa,YAAW;AAEvB;AACAoX,YAAI,CAACpX,MAAL,CAAa,YAAW;AACvBuE,eAAK,CAAC+S,QAAN;;AACA,cAAK,CAAC55B,MAAM,CAACsK,KAAP,CAAc3J,IAAd,EAAoB,IAApB,EAA2B5Y,MAAjC,EAA0C;AACzC8+B,iBAAK,CAACxwB,KAAN,CAAYmrB,IAAZ;AACA;AACD,SALD;AAMA,OATD;AAUA,KAjC6C,CAmC9C;;;AACA,SAAMrhB,IAAN,IAAciuB,KAAd,EAAsB;AACrBlkB,WAAK,GAAGkkB,KAAK,CAAEjuB,IAAF,CAAb;;AACA,UAAKo4B,QAAQ,CAAC/9B,IAAT,CAAe0P,KAAf,CAAL,EAA8B;AAC7B,eAAOkkB,KAAK,CAAEjuB,IAAF,CAAZ;AACAyoB,cAAM,GAAGA,MAAM,IAAI1e,KAAK,KAAK,QAA7B;;AACA,YAAKA,KAAK,MAAOS,MAAM,GAAG,MAAH,GAAY,MAAzB,CAAV,EAA8C;AAE7C;AACA;AACA,cAAKT,KAAK,KAAK,MAAV,IAAoByvB,QAApB,IAAgCA,QAAQ,CAAEx5B,IAAF,CAAR,KAAqB7W,SAA1D,EAAsE;AACrEqhB,kBAAM,GAAG,IAAT,CADqE,CAGtE;AACC,WAJD,MAIO;AACN;AACA;AACD;;AACD0lB,YAAI,CAAElwB,IAAF,CAAJ,GAAew5B,QAAQ,IAAIA,QAAQ,CAAEx5B,IAAF,CAApB,IAAgCH,MAAM,CAACgC,KAAP,CAAcrB,IAAd,EAAoBR,IAApB,CAA/C;AACA;AACD,KAvD6C,CAyD9C;;;AACAo5B,aAAS,GAAG,CAACv5B,MAAM,CAAC0J,aAAP,CAAsB0kB,KAAtB,CAAb;;AACA,QAAK,CAACmL,SAAD,IAAcv5B,MAAM,CAAC0J,aAAP,CAAsB2mB,IAAtB,CAAnB,EAAkD;AACjD;AACA,KA7D6C,CA+D9C;;;AACA,QAAKoJ,KAAK,IAAI94B,IAAI,CAACe,QAAL,KAAkB,CAAhC,EAAoC;AAEnC;AACA;AACA;AACA;AACA23B,UAAI,CAACt0B,QAAL,GAAgB,CAAE/C,KAAK,CAAC+C,QAAR,EAAkB/C,KAAK,CAAC4I,SAAxB,EAAmC5I,KAAK,CAAC6I,SAAzC,CAAhB,CANmC,CAQnC;;AACA2uB,oBAAc,GAAGG,QAAQ,IAAIA,QAAQ,CAACjS,OAAtC;;AACA,UAAK8R,cAAc,IAAI,IAAvB,EAA8B;AAC7BA,sBAAc,GAAGrT,QAAQ,CAAC5Y,GAAT,CAAc5M,IAAd,EAAoB,SAApB,CAAjB;AACA;;AACD+mB,aAAO,GAAG1nB,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,SAAlB,CAAV;;AACA,UAAK+mB,OAAO,KAAK,MAAjB,EAA0B;AACzB,YAAK8R,cAAL,EAAsB;AACrB9R,iBAAO,GAAG8R,cAAV;AACA,SAFD,MAEO;AAEN;AACAhR,kBAAQ,CAAE,CAAE7nB,IAAF,CAAF,EAAY,IAAZ,CAAR;AACA64B,wBAAc,GAAG74B,IAAI,CAACqB,KAAL,CAAW0lB,OAAX,IAAsB8R,cAAvC;AACA9R,iBAAO,GAAG1nB,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,SAAlB,CAAV;AACA6nB,kBAAQ,CAAE,CAAE7nB,IAAF,CAAF,CAAR;AACA;AACD,OAzBkC,CA2BnC;;;AACA,UAAK+mB,OAAO,KAAK,QAAZ,IAAwBA,OAAO,KAAK,cAAZ,IAA8B8R,cAAc,IAAI,IAA7E,EAAoF;AACnF,YAAKx5B,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,OAAlB,MAAgC,MAArC,EAA8C;AAE7C;AACA,cAAK,CAAC44B,SAAN,EAAkB;AACjBG,gBAAI,CAAC/oC,IAAL,CAAW,YAAW;AACrBqR,mBAAK,CAAC0lB,OAAN,GAAgB8R,cAAhB;AACA,aAFD;;AAGA,gBAAKA,cAAc,IAAI,IAAvB,EAA8B;AAC7B9R,qBAAO,GAAG1lB,KAAK,CAAC0lB,OAAhB;AACA8R,4BAAc,GAAG9R,OAAO,KAAK,MAAZ,GAAqB,EAArB,GAA0BA,OAA3C;AACA;AACD;;AACD1lB,eAAK,CAAC0lB,OAAN,GAAgB,cAAhB;AACA;AACD;AACD;;AAED,QAAK2R,IAAI,CAACt0B,QAAV,EAAqB;AACpB/C,WAAK,CAAC+C,QAAN,GAAiB,QAAjB;AACA20B,UAAI,CAACpX,MAAL,CAAa,YAAW;AACvBtgB,aAAK,CAAC+C,QAAN,GAAiBs0B,IAAI,CAACt0B,QAAL,CAAe,CAAf,CAAjB;AACA/C,aAAK,CAAC4I,SAAN,GAAkByuB,IAAI,CAACt0B,QAAL,CAAe,CAAf,CAAlB;AACA/C,aAAK,CAAC6I,SAAN,GAAkBwuB,IAAI,CAACt0B,QAAL,CAAe,CAAf,CAAlB;AACA,OAJD;AAKA,KArH6C,CAuH9C;;;AACAw0B,aAAS,GAAG,KAAZ;;AACA,SAAMp5B,IAAN,IAAckwB,IAAd,EAAqB;AAEpB;AACA,UAAK,CAACkJ,SAAN,EAAkB;AACjB,YAAKI,QAAL,EAAgB;AACf,cAAK,YAAYA,QAAjB,EAA4B;AAC3BhvB,kBAAM,GAAGgvB,QAAQ,CAAChvB,MAAlB;AACA;AACD,SAJD,MAIO;AACNgvB,kBAAQ,GAAGxT,QAAQ,CAACtB,MAAT,CAAiBlkB,IAAjB,EAAuB,QAAvB,EAAiC;AAAE+mB,mBAAO,EAAE8R;AAAX,WAAjC,CAAX;AACA,SAPgB,CASjB;;;AACA,YAAK5Q,MAAL,EAAc;AACb+Q,kBAAQ,CAAChvB,MAAT,GAAkB,CAACA,MAAnB;AACA,SAZgB,CAcjB;;;AACA,YAAKA,MAAL,EAAc;AACb6d,kBAAQ,CAAE,CAAE7nB,IAAF,CAAF,EAAY,IAAZ,CAAR;AACA;AAED;;;AAEA+4B,YAAI,CAAC/oC,IAAL,CAAW,YAAW;AAErB;AAEA;AACA,cAAK,CAACga,MAAN,EAAe;AACd6d,oBAAQ,CAAE,CAAE7nB,IAAF,CAAF,CAAR;AACA;;AACDwlB,kBAAQ,CAAChgC,MAAT,CAAiBwa,IAAjB,EAAuB,QAAvB;;AACA,eAAMR,IAAN,IAAckwB,IAAd,EAAqB;AACpBrwB,kBAAM,CAACgC,KAAP,CAAcrB,IAAd,EAAoBR,IAApB,EAA0BkwB,IAAI,CAAElwB,IAAF,CAA9B;AACA;AACD,SAZD;AAaA,OArCmB,CAuCpB;;;AACAo5B,eAAS,GAAGP,WAAW,CAAEruB,MAAM,GAAGgvB,QAAQ,CAAEx5B,IAAF,CAAX,GAAsB,CAA9B,EAAiCA,IAAjC,EAAuCu5B,IAAvC,CAAvB;;AACA,UAAK,EAAGv5B,IAAI,IAAIw5B,QAAX,CAAL,EAA6B;AAC5BA,gBAAQ,CAAEx5B,IAAF,CAAR,GAAmBo5B,SAAS,CAAClzB,KAA7B;;AACA,YAAKsE,MAAL,EAAc;AACb4uB,mBAAS,CAAChrB,GAAV,GAAgBgrB,SAAS,CAAClzB,KAA1B;AACAkzB,mBAAS,CAAClzB,KAAV,GAAkB,CAAlB;AACA;AACD;AACD;AACD;;AAED,WAASwzB,UAAT,CAAqBzL,KAArB,EAA4B0L,aAA5B,EAA4C;AAC3C,QAAI9rC,KAAJ,EAAWygB,IAAX,EAAiBgpB,MAAjB,EAAyBvtB,KAAzB,EAAgC2c,KAAhC,CAD2C,CAG3C;;AACA,SAAM74B,KAAN,IAAeogC,KAAf,EAAuB;AACtB3f,UAAI,GAAGgX,SAAS,CAAEz3B,KAAF,CAAhB;AACAypC,YAAM,GAAGqC,aAAa,CAAErrB,IAAF,CAAtB;AACAvE,WAAK,GAAGkkB,KAAK,CAAEpgC,KAAF,CAAb;;AACA,UAAKqS,KAAK,CAACG,OAAN,CAAe0J,KAAf,CAAL,EAA8B;AAC7ButB,cAAM,GAAGvtB,KAAK,CAAE,CAAF,CAAd;AACAA,aAAK,GAAGkkB,KAAK,CAAEpgC,KAAF,CAAL,GAAiBkc,KAAK,CAAE,CAAF,CAA9B;AACA;;AAED,UAAKlc,KAAK,KAAKygB,IAAf,EAAsB;AACrB2f,aAAK,CAAE3f,IAAF,CAAL,GAAgBvE,KAAhB;AACA,eAAOkkB,KAAK,CAAEpgC,KAAF,CAAZ;AACA;;AAED64B,WAAK,GAAG7mB,MAAM,CAAC22B,QAAP,CAAiBloB,IAAjB,CAAR;;AACA,UAAKoY,KAAK,IAAI,YAAYA,KAA1B,EAAkC;AACjC3c,aAAK,GAAG2c,KAAK,CAACwQ,MAAN,CAAcntB,KAAd,CAAR;AACA,eAAOkkB,KAAK,CAAE3f,IAAF,CAAZ,CAFiC,CAIjC;AACA;;AACA,aAAMzgB,KAAN,IAAekc,KAAf,EAAuB;AACtB,cAAK,EAAGlc,KAAK,IAAIogC,KAAZ,CAAL,EAA2B;AAC1BA,iBAAK,CAAEpgC,KAAF,CAAL,GAAiBkc,KAAK,CAAElc,KAAF,CAAtB;AACA8rC,yBAAa,CAAE9rC,KAAF,CAAb,GAAyBypC,MAAzB;AACA;AACD;AACD,OAZD,MAYO;AACNqC,qBAAa,CAAErrB,IAAF,CAAb,GAAwBgpB,MAAxB;AACA;AACD;AACD;;AAED,WAASyB,SAAT,CAAoBv4B,IAApB,EAA0Bo5B,UAA1B,EAAsCn5B,OAAtC,EAAgD;AAC/C,QAAI0Y,MAAJ;AAAA,QACC0gB,OADD;AAAA,QAEChsC,KAAK,GAAG,CAFT;AAAA,QAGCjG,MAAM,GAAGmxC,SAAS,CAACe,UAAV,CAAqBlyC,MAH/B;AAAA,QAICw6B,QAAQ,GAAGviB,MAAM,CAAC3W,QAAP,GAAkBi5B,MAAlB,CAA0B,YAAW;AAE/C;AACA,aAAOsW,IAAI,CAACj4B,IAAZ;AACA,KAJU,CAJZ;AAAA,QASCi4B,IAAI,GAAG,SAAPA,IAAO,GAAW;AACjB,UAAKoB,OAAL,EAAe;AACd,eAAO,KAAP;AACA;;AACD,UAAItlC,WAAW,GAAG2jC,KAAK,IAAIQ,WAAW,EAAtC;AAAA,UACC/U,SAAS,GAAGte,IAAI,CAACC,GAAL,CAAU,CAAV,EAAawzB,SAAS,CAACiB,SAAV,GAAsBjB,SAAS,CAAC90B,QAAhC,GAA2CzP,WAAxD,CADb;AAAA,UAGC;AACA;AACAyoB,UAAI,GAAG2G,SAAS,GAAGmV,SAAS,CAAC90B,QAAtB,IAAkC,CAL1C;AAAA,UAMCyzB,OAAO,GAAG,IAAIza,IANf;AAAA,UAOCnvB,KAAK,GAAG,CAPT;AAAA,UAQCjG,MAAM,GAAGkxC,SAAS,CAACkB,MAAV,CAAiBpyC,MAR3B;;AAUA,aAAQiG,KAAK,GAAGjG,MAAhB,EAAwBiG,KAAK,EAA7B,EAAkC;AACjCirC,iBAAS,CAACkB,MAAV,CAAkBnsC,KAAlB,EAA0B2pC,GAA1B,CAA+BC,OAA/B;AACA;;AAEDrV,cAAQ,CAACc,UAAT,CAAqB1iB,IAArB,EAA2B,CAAEs4B,SAAF,EAAarB,OAAb,EAAsB9T,SAAtB,CAA3B,EAlBiB,CAoBjB;;AACA,UAAK8T,OAAO,GAAG,CAAV,IAAe7vC,MAApB,EAA6B;AAC5B,eAAO+7B,SAAP;AACA,OAvBgB,CAyBjB;;;AACA,UAAK,CAAC/7B,MAAN,EAAe;AACdw6B,gBAAQ,CAACc,UAAT,CAAqB1iB,IAArB,EAA2B,CAAEs4B,SAAF,EAAa,CAAb,EAAgB,CAAhB,CAA3B;AACA,OA5BgB,CA8BjB;;;AACA1W,cAAQ,CAACe,WAAT,CAAsB3iB,IAAtB,EAA4B,CAAEs4B,SAAF,CAA5B;AACA,aAAO,KAAP;AACA,KA1CF;AAAA,QA2CCA,SAAS,GAAG1W,QAAQ,CAACte,OAAT,CAAkB;AAC7BtD,UAAI,EAAEA,IADuB;AAE7BytB,WAAK,EAAEpuB,MAAM,CAAC5L,MAAP,CAAe,EAAf,EAAmB2lC,UAAnB,CAFsB;AAG7BV,UAAI,EAAEr5B,MAAM,CAAC5L,MAAP,CAAe,IAAf,EAAqB;AAC1B0lC,qBAAa,EAAE,EADW;AAE1BrC,cAAM,EAAEz3B,MAAM,CAACy3B,MAAP,CAAc7N;AAFI,OAArB,EAGHhpB,OAHG,CAHuB;AAO7Bw5B,wBAAkB,EAAEL,UAPS;AAQ7BM,qBAAe,EAAEz5B,OARY;AAS7Bs5B,eAAS,EAAE7B,KAAK,IAAIQ,WAAW,EATF;AAU7B10B,cAAQ,EAAEvD,OAAO,CAACuD,QAVW;AAW7Bg2B,YAAM,EAAE,EAXqB;AAY7BnB,iBAAW,EAAE,qBAAU74B,IAAV,EAAgBoO,GAAhB,EAAsB;AAClC,YAAI1E,KAAK,GAAG7J,MAAM,CAACw3B,KAAP,CAAc72B,IAAd,EAAoBs4B,SAAS,CAACI,IAA9B,EAAoCl5B,IAApC,EAA0CoO,GAA1C,EACX0qB,SAAS,CAACI,IAAV,CAAeS,aAAf,CAA8B35B,IAA9B,KAAwC84B,SAAS,CAACI,IAAV,CAAe5B,MAD5C,CAAZ;AAEAwB,iBAAS,CAACkB,MAAV,CAAiB/xC,IAAjB,CAAuByhB,KAAvB;AACA,eAAOA,KAAP;AACA,OAjB4B;AAkB7BvD,UAAI,EAAE,cAAUg0B,OAAV,EAAoB;AACzB,YAAItsC,KAAK,GAAG,CAAZ;AAAA,YAEC;AACA;AACAjG,cAAM,GAAGuyC,OAAO,GAAGrB,SAAS,CAACkB,MAAV,CAAiBpyC,MAApB,GAA6B,CAJ9C;;AAKA,YAAKiyC,OAAL,EAAe;AACd,iBAAO,IAAP;AACA;;AACDA,eAAO,GAAG,IAAV;;AACA,eAAQhsC,KAAK,GAAGjG,MAAhB,EAAwBiG,KAAK,EAA7B,EAAkC;AACjCirC,mBAAS,CAACkB,MAAV,CAAkBnsC,KAAlB,EAA0B2pC,GAA1B,CAA+B,CAA/B;AACA,SAZwB,CAczB;;;AACA,YAAK2C,OAAL,EAAe;AACd/X,kBAAQ,CAACc,UAAT,CAAqB1iB,IAArB,EAA2B,CAAEs4B,SAAF,EAAa,CAAb,EAAgB,CAAhB,CAA3B;AACA1W,kBAAQ,CAACe,WAAT,CAAsB3iB,IAAtB,EAA4B,CAAEs4B,SAAF,EAAaqB,OAAb,CAA5B;AACA,SAHD,MAGO;AACN/X,kBAAQ,CAACmB,UAAT,CAAqB/iB,IAArB,EAA2B,CAAEs4B,SAAF,EAAaqB,OAAb,CAA3B;AACA;;AACD,eAAO,IAAP;AACA;AAxC4B,KAAlB,CA3Cb;AAAA,QAqFClM,KAAK,GAAG6K,SAAS,CAAC7K,KArFnB;;AAuFAyL,cAAU,CAAEzL,KAAF,EAAS6K,SAAS,CAACI,IAAV,CAAeS,aAAxB,CAAV;;AAEA,WAAQ9rC,KAAK,GAAGjG,MAAhB,EAAwBiG,KAAK,EAA7B,EAAkC;AACjCsrB,YAAM,GAAG4f,SAAS,CAACe,UAAV,CAAsBjsC,KAAtB,EAA8BxD,IAA9B,CAAoCyuC,SAApC,EAA+Ct4B,IAA/C,EAAqDytB,KAArD,EAA4D6K,SAAS,CAACI,IAAtE,CAAT;;AACA,UAAK/f,MAAL,EAAc;AACb,YAAK7S,UAAU,CAAE6S,MAAM,CAAChT,IAAT,CAAf,EAAiC;AAChCtG,gBAAM,CAAC8mB,WAAP,CAAoBmS,SAAS,CAACt4B,IAA9B,EAAoCs4B,SAAS,CAACI,IAAV,CAAe/uB,KAAnD,EAA2DhE,IAA3D,GACCgT,MAAM,CAAChT,IAAP,CAAYlF,IAAZ,CAAkBkY,MAAlB,CADD;AAEA;;AACD,eAAOA,MAAP;AACA;AACD;;AAEDtZ,UAAM,CAAC8N,GAAP,CAAYsgB,KAAZ,EAAmB4K,WAAnB,EAAgCC,SAAhC;;AAEA,QAAKxyB,UAAU,CAAEwyB,SAAS,CAACI,IAAV,CAAehzB,KAAjB,CAAf,EAA0C;AACzC4yB,eAAS,CAACI,IAAV,CAAehzB,KAAf,CAAqB7b,IAArB,CAA2BmW,IAA3B,EAAiCs4B,SAAjC;AACA,KAzG8C,CA2G/C;;;AACAA,aAAS,CACPl2B,QADF,CACYk2B,SAAS,CAACI,IAAV,CAAet2B,QAD3B,EAEEpS,IAFF,CAEQsoC,SAAS,CAACI,IAAV,CAAe1oC,IAFvB,EAE6BsoC,SAAS,CAACI,IAAV,CAAehvC,QAF5C,EAGE83B,IAHF,CAGQ8W,SAAS,CAACI,IAAV,CAAelX,IAHvB,EAIEG,MAJF,CAIU2W,SAAS,CAACI,IAAV,CAAe/W,MAJzB;AAMAtiB,UAAM,CAAC+3B,EAAP,CAAUwC,KAAV,CACCv6B,MAAM,CAAC5L,MAAP,CAAewkC,IAAf,EAAqB;AACpBj4B,UAAI,EAAEA,IADc;AAEpB+4B,UAAI,EAAET,SAFc;AAGpB3uB,WAAK,EAAE2uB,SAAS,CAACI,IAAV,CAAe/uB;AAHF,KAArB,CADD;AAQA,WAAO2uB,SAAP;AACA;;AAEDj5B,QAAM,CAACk5B,SAAP,GAAmBl5B,MAAM,CAAC5L,MAAP,CAAe8kC,SAAf,EAA0B;AAE5CC,YAAQ,EAAE;AACT,WAAK,CAAE,UAAUh5B,IAAV,EAAgB+J,KAAhB,EAAwB;AAC9B,YAAIL,KAAK,GAAG,KAAKmvB,WAAL,CAAkB74B,IAAlB,EAAwB+J,KAAxB,CAAZ;AACAyd,iBAAS,CAAE9d,KAAK,CAAClJ,IAAR,EAAcR,IAAd,EAAoBinB,OAAO,CAAChlB,IAAR,CAAc8H,KAAd,CAApB,EAA2CL,KAA3C,CAAT;AACA,eAAOA,KAAP;AACA,OAJI;AADI,KAFkC;AAU5C2wB,WAAO,EAAE,iBAAUpM,KAAV,EAAiB3mC,QAAjB,EAA4B;AACpC,UAAKgf,UAAU,CAAE2nB,KAAF,CAAf,EAA2B;AAC1B3mC,gBAAQ,GAAG2mC,KAAX;AACAA,aAAK,GAAG,CAAE,GAAF,CAAR;AACA,OAHD,MAGO;AACNA,aAAK,GAAGA,KAAK,CAAC9Z,KAAN,CAAauM,aAAb,CAAR;AACA;;AAED,UAAI1gB,IAAJ;AAAA,UACCnS,KAAK,GAAG,CADT;AAAA,UAECjG,MAAM,GAAGqmC,KAAK,CAACrmC,MAFhB;;AAIA,aAAQiG,KAAK,GAAGjG,MAAhB,EAAwBiG,KAAK,EAA7B,EAAkC;AACjCmS,YAAI,GAAGiuB,KAAK,CAAEpgC,KAAF,CAAZ;AACAkrC,iBAAS,CAACC,QAAV,CAAoBh5B,IAApB,IAA6B+4B,SAAS,CAACC,QAAV,CAAoBh5B,IAApB,KAA8B,EAA3D;AACA+4B,iBAAS,CAACC,QAAV,CAAoBh5B,IAApB,EAA2BkY,OAA3B,CAAoC5wB,QAApC;AACA;AACD,KA3B2C;AA6B5CwyC,cAAU,EAAE,CAAEb,gBAAF,CA7BgC;AA+B5CqB,aAAS,EAAE,mBAAUhzC,QAAV,EAAoBoK,OAApB,EAA8B;AACxC,UAAKA,OAAL,EAAe;AACdqnC,iBAAS,CAACe,UAAV,CAAqB5hB,OAArB,CAA8B5wB,QAA9B;AACA,OAFD,MAEO;AACNyxC,iBAAS,CAACe,UAAV,CAAqB7xC,IAArB,CAA2BX,QAA3B;AACA;AACD;AArC2C,GAA1B,CAAnB;;AAwCAuY,QAAM,CAAC3T,KAAP,GAAe,UAAUA,KAAV,EAAiBorC,MAAjB,EAAyB1zB,EAAzB,EAA8B;AAC5C,QAAI22B,GAAG,GAAGruC,KAAK,IAAI,QAAOA,KAAP,MAAiB,QAA1B,GAAqC2T,MAAM,CAAC5L,MAAP,CAAe,EAAf,EAAmB/H,KAAnB,CAArC,GAAkE;AAC3EhC,cAAQ,EAAE0Z,EAAE,IAAI,CAACA,EAAD,IAAO0zB,MAAb,IACThxB,UAAU,CAAEpa,KAAF,CAAV,IAAuBA,KAFmD;AAG3E8X,cAAQ,EAAE9X,KAHiE;AAI3EorC,YAAM,EAAE1zB,EAAE,IAAI0zB,MAAN,IAAgBA,MAAM,IAAI,CAAChxB,UAAU,CAAEgxB,MAAF,CAArB,IAAmCA;AAJgB,KAA5E,CAD4C,CAQ5C;;AACA,QAAKz3B,MAAM,CAAC+3B,EAAP,CAAU9wC,GAAf,EAAqB;AACpByzC,SAAG,CAACv2B,QAAJ,GAAe,CAAf;AAEA,KAHD,MAGO;AACN,UAAK,OAAOu2B,GAAG,CAACv2B,QAAX,KAAwB,QAA7B,EAAwC;AACvC,YAAKu2B,GAAG,CAACv2B,QAAJ,IAAgBnE,MAAM,CAAC+3B,EAAP,CAAU4C,MAA/B,EAAwC;AACvCD,aAAG,CAACv2B,QAAJ,GAAenE,MAAM,CAAC+3B,EAAP,CAAU4C,MAAV,CAAkBD,GAAG,CAACv2B,QAAtB,CAAf;AAEA,SAHD,MAGO;AACNu2B,aAAG,CAACv2B,QAAJ,GAAenE,MAAM,CAAC+3B,EAAP,CAAU4C,MAAV,CAAiB/Q,QAAhC;AACA;AACD;AACD,KArB2C,CAuB5C;;;AACA,QAAK8Q,GAAG,CAACpwB,KAAJ,IAAa,IAAb,IAAqBowB,GAAG,CAACpwB,KAAJ,KAAc,IAAxC,EAA+C;AAC9CowB,SAAG,CAACpwB,KAAJ,GAAY,IAAZ;AACA,KA1B2C,CA4B5C;;;AACAowB,OAAG,CAAC/H,GAAJ,GAAU+H,GAAG,CAACrwC,QAAd;;AAEAqwC,OAAG,CAACrwC,QAAJ,GAAe,YAAW;AACzB,UAAKoc,UAAU,CAAEi0B,GAAG,CAAC/H,GAAN,CAAf,EAA6B;AAC5B+H,WAAG,CAAC/H,GAAJ,CAAQnoC,IAAR,CAAc,IAAd;AACA;;AAED,UAAKkwC,GAAG,CAACpwB,KAAT,EAAiB;AAChBtK,cAAM,CAACuK,OAAP,CAAgB,IAAhB,EAAsBmwB,GAAG,CAACpwB,KAA1B;AACA;AACD,KARD;;AAUA,WAAOowB,GAAP;AACA,GA1CD;;AA4CA16B,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjBmS,UAAM,EAAE,gBAAUla,KAAV,EAAiBuuC,EAAjB,EAAqBnD,MAArB,EAA6BhwC,QAA7B,EAAwC;AAE/C;AACA,aAAO,KAAKwB,MAAL,CAAaw+B,kBAAb,EAAkC9xB,GAAlC,CAAuC,SAAvC,EAAkD,CAAlD,EAAsD8yB,IAAtD,GAEN;AAFM,OAGLla,GAHK,GAGCnE,OAHD,CAGU;AAAEnF,eAAO,EAAE21B;AAAX,OAHV,EAG2BvuC,KAH3B,EAGkCorC,MAHlC,EAG0ChwC,QAH1C,CAAP;AAIA,KARgB;AASjB2iB,WAAO,EAAE,iBAAUjK,IAAV,EAAgB9T,KAAhB,EAAuBorC,MAAvB,EAA+BhwC,QAA/B,EAA0C;AAClD,UAAI4O,KAAK,GAAG2J,MAAM,CAAC0J,aAAP,CAAsBvJ,IAAtB,CAAZ;AAAA,UACC06B,MAAM,GAAG76B,MAAM,CAAC3T,KAAP,CAAcA,KAAd,EAAqBorC,MAArB,EAA6BhwC,QAA7B,CADV;AAAA,UAECqzC,WAAW,GAAG,SAAdA,WAAc,GAAW;AAExB;AACA,YAAIpB,IAAI,GAAGR,SAAS,CAAE,IAAF,EAAQl5B,MAAM,CAAC5L,MAAP,CAAe,EAAf,EAAmB+L,IAAnB,CAAR,EAAmC06B,MAAnC,CAApB,CAHwB,CAKxB;;AACA,YAAKxkC,KAAK,IAAI8vB,QAAQ,CAAC5Y,GAAT,CAAc,IAAd,EAAoB,QAApB,CAAd,EAA+C;AAC9CmsB,cAAI,CAACpzB,IAAL,CAAW,IAAX;AACA;AACD,OAXF;;AAaAw0B,iBAAW,CAACC,MAAZ,GAAqBD,WAArB;AAEA,aAAOzkC,KAAK,IAAIwkC,MAAM,CAACvwB,KAAP,KAAiB,KAA1B,GACN,KAAKnlB,IAAL,CAAW21C,WAAX,CADM,GAEN,KAAKxwB,KAAL,CAAYuwB,MAAM,CAACvwB,KAAnB,EAA0BwwB,WAA1B,CAFD;AAGA,KA5BgB;AA6BjBx0B,QAAI,EAAE,cAAUlR,IAAV,EAAgB4xB,UAAhB,EAA4BsT,OAA5B,EAAsC;AAC3C,UAAIU,SAAS,GAAG,SAAZA,SAAY,CAAUnU,KAAV,EAAkB;AACjC,YAAIvgB,IAAI,GAAGugB,KAAK,CAACvgB,IAAjB;AACA,eAAOugB,KAAK,CAACvgB,IAAb;AACAA,YAAI,CAAEg0B,OAAF,CAAJ;AACA,OAJD;;AAMA,UAAK,OAAOllC,IAAP,KAAgB,QAArB,EAAgC;AAC/BklC,eAAO,GAAGtT,UAAV;AACAA,kBAAU,GAAG5xB,IAAb;AACAA,YAAI,GAAG9L,SAAP;AACA;;AACD,UAAK09B,UAAL,EAAkB;AACjB,aAAK1c,KAAL,CAAYlV,IAAI,IAAI,IAApB,EAA0B,EAA1B;AACA;;AAED,aAAO,KAAKjQ,IAAL,CAAW,YAAW;AAC5B,YAAIolB,OAAO,GAAG,IAAd;AAAA,YACCvc,KAAK,GAAGoH,IAAI,IAAI,IAAR,IAAgBA,IAAI,GAAG,YADhC;AAAA,YAEC6lC,MAAM,GAAGj7B,MAAM,CAACi7B,MAFjB;AAAA,YAGC51C,IAAI,GAAG8gC,QAAQ,CAAC5Y,GAAT,CAAc,IAAd,CAHR;;AAKA,YAAKvf,KAAL,EAAa;AACZ,cAAK3I,IAAI,CAAE2I,KAAF,CAAJ,IAAiB3I,IAAI,CAAE2I,KAAF,CAAJ,CAAcsY,IAApC,EAA2C;AAC1C00B,qBAAS,CAAE31C,IAAI,CAAE2I,KAAF,CAAN,CAAT;AACA;AACD,SAJD,MAIO;AACN,eAAMA,KAAN,IAAe3I,IAAf,EAAsB;AACrB,gBAAKA,IAAI,CAAE2I,KAAF,CAAJ,IAAiB3I,IAAI,CAAE2I,KAAF,CAAJ,CAAcsY,IAA/B,IAAuCkyB,IAAI,CAACh+B,IAAL,CAAWxM,KAAX,CAA5C,EAAiE;AAChEgtC,uBAAS,CAAE31C,IAAI,CAAE2I,KAAF,CAAN,CAAT;AACA;AACD;AACD;;AAED,aAAMA,KAAK,GAAGitC,MAAM,CAAClzC,MAArB,EAA6BiG,KAAK,EAAlC,GAAwC;AACvC,cAAKitC,MAAM,CAAEjtC,KAAF,CAAN,CAAgB2S,IAAhB,KAAyB,IAAzB,KACFvL,IAAI,IAAI,IAAR,IAAgB6lC,MAAM,CAAEjtC,KAAF,CAAN,CAAgBsc,KAAhB,KAA0BlV,IADxC,CAAL,EACsD;AAErD6lC,kBAAM,CAAEjtC,KAAF,CAAN,CAAgB0rC,IAAhB,CAAqBpzB,IAArB,CAA2Bg0B,OAA3B;AACA/vB,mBAAO,GAAG,KAAV;AACA0wB,kBAAM,CAAC57B,MAAP,CAAerR,KAAf,EAAsB,CAAtB;AACA;AACD,SA1B2B,CA4B5B;AACA;AACA;;;AACA,YAAKuc,OAAO,IAAI,CAAC+vB,OAAjB,EAA2B;AAC1Bt6B,gBAAM,CAACuK,OAAP,CAAgB,IAAhB,EAAsBnV,IAAtB;AACA;AACD,OAlCM,CAAP;AAmCA,KAhFgB;AAiFjB2lC,UAAM,EAAE,gBAAU3lC,IAAV,EAAiB;AACxB,UAAKA,IAAI,KAAK,KAAd,EAAsB;AACrBA,YAAI,GAAGA,IAAI,IAAI,IAAf;AACA;;AACD,aAAO,KAAKjQ,IAAL,CAAW,YAAW;AAC5B,YAAI6I,KAAJ;AAAA,YACC3I,IAAI,GAAG8gC,QAAQ,CAAC5Y,GAAT,CAAc,IAAd,CADR;AAAA,YAECjD,KAAK,GAAGjlB,IAAI,CAAE+P,IAAI,GAAG,OAAT,CAFb;AAAA,YAGCyxB,KAAK,GAAGxhC,IAAI,CAAE+P,IAAI,GAAG,YAAT,CAHb;AAAA,YAIC6lC,MAAM,GAAGj7B,MAAM,CAACi7B,MAJjB;AAAA,YAKClzC,MAAM,GAAGuiB,KAAK,GAAGA,KAAK,CAACviB,MAAT,GAAkB,CALjC,CAD4B,CAQ5B;;AACA1C,YAAI,CAAC01C,MAAL,GAAc,IAAd,CAT4B,CAW5B;;AACA/6B,cAAM,CAACsK,KAAP,CAAc,IAAd,EAAoBlV,IAApB,EAA0B,EAA1B;;AAEA,YAAKyxB,KAAK,IAAIA,KAAK,CAACvgB,IAApB,EAA2B;AAC1BugB,eAAK,CAACvgB,IAAN,CAAW9b,IAAX,CAAiB,IAAjB,EAAuB,IAAvB;AACA,SAhB2B,CAkB5B;;;AACA,aAAMwD,KAAK,GAAGitC,MAAM,CAAClzC,MAArB,EAA6BiG,KAAK,EAAlC,GAAwC;AACvC,cAAKitC,MAAM,CAAEjtC,KAAF,CAAN,CAAgB2S,IAAhB,KAAyB,IAAzB,IAAiCs6B,MAAM,CAAEjtC,KAAF,CAAN,CAAgBsc,KAAhB,KAA0BlV,IAAhE,EAAuE;AACtE6lC,kBAAM,CAAEjtC,KAAF,CAAN,CAAgB0rC,IAAhB,CAAqBpzB,IAArB,CAA2B,IAA3B;AACA20B,kBAAM,CAAC57B,MAAP,CAAerR,KAAf,EAAsB,CAAtB;AACA;AACD,SAxB2B,CA0B5B;;;AACA,aAAMA,KAAK,GAAG,CAAd,EAAiBA,KAAK,GAAGjG,MAAzB,EAAiCiG,KAAK,EAAtC,EAA2C;AAC1C,cAAKsc,KAAK,CAAEtc,KAAF,CAAL,IAAkBsc,KAAK,CAAEtc,KAAF,CAAL,CAAe+sC,MAAtC,EAA+C;AAC9CzwB,iBAAK,CAAEtc,KAAF,CAAL,CAAe+sC,MAAf,CAAsBvwC,IAAtB,CAA4B,IAA5B;AACA;AACD,SA/B2B,CAiC5B;;;AACA,eAAOnF,IAAI,CAAC01C,MAAZ;AACA,OAnCM,CAAP;AAoCA;AAzHgB,GAAlB;AA4HA/6B,QAAM,CAAC7a,IAAP,CAAa,CAAE,QAAF,EAAY,MAAZ,EAAoB,MAApB,CAAb,EAA2C,UAAU8L,EAAV,EAAcwd,IAAd,EAAqB;AAC/D,QAAIysB,KAAK,GAAGl7B,MAAM,CAAC+D,EAAP,CAAW0K,IAAX,CAAZ;;AACAzO,UAAM,CAAC+D,EAAP,CAAW0K,IAAX,IAAoB,UAAUpiB,KAAV,EAAiBorC,MAAjB,EAAyBhwC,QAAzB,EAAoC;AACvD,aAAO4E,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAP,KAAiB,SAAlC,GACN6uC,KAAK,CAAC3wC,KAAN,CAAa,IAAb,EAAmBwjB,SAAnB,CADM,GAEN,KAAK3D,OAAL,CAAc0uB,KAAK,CAAErqB,IAAF,EAAQ,IAAR,CAAnB,EAAmCpiB,KAAnC,EAA0CorC,MAA1C,EAAkDhwC,QAAlD,CAFD;AAGA,KAJD;AAKA,GAPD,EAvpPiF,CAgqPjF;;AACAuY,QAAM,CAAC7a,IAAP,CAAa;AACZg2C,aAAS,EAAErC,KAAK,CAAE,MAAF,CADJ;AAEZsC,WAAO,EAAEtC,KAAK,CAAE,MAAF,CAFF;AAGZuC,eAAW,EAAEvC,KAAK,CAAE,QAAF,CAHN;AAIZwC,UAAM,EAAE;AAAEr2B,aAAO,EAAE;AAAX,KAJI;AAKZs2B,WAAO,EAAE;AAAEt2B,aAAO,EAAE;AAAX,KALG;AAMZu2B,cAAU,EAAE;AAAEv2B,aAAO,EAAE;AAAX;AANA,GAAb,EAOG,UAAUwJ,IAAV,EAAgB2f,KAAhB,EAAwB;AAC1BpuB,UAAM,CAAC+D,EAAP,CAAW0K,IAAX,IAAoB,UAAUpiB,KAAV,EAAiBorC,MAAjB,EAAyBhwC,QAAzB,EAAoC;AACvD,aAAO,KAAK2iB,OAAL,CAAcgkB,KAAd,EAAqB/hC,KAArB,EAA4BorC,MAA5B,EAAoChwC,QAApC,CAAP;AACA,KAFD;AAGA,GAXD;AAaAuY,QAAM,CAACi7B,MAAP,GAAgB,EAAhB;;AACAj7B,QAAM,CAAC+3B,EAAP,CAAUa,IAAV,GAAiB,YAAW;AAC3B,QAAI2B,KAAJ;AAAA,QACC30C,CAAC,GAAG,CADL;AAAA,QAECq1C,MAAM,GAAGj7B,MAAM,CAACi7B,MAFjB;AAIA5C,SAAK,GAAGpnB,IAAI,CAACrH,GAAL,EAAR;;AAEA,WAAQhkB,CAAC,GAAGq1C,MAAM,CAAClzC,MAAnB,EAA2BnC,CAAC,EAA5B,EAAiC;AAChC20C,WAAK,GAAGU,MAAM,CAAEr1C,CAAF,CAAd,CADgC,CAGhC;;AACA,UAAK,CAAC20C,KAAK,EAAN,IAAYU,MAAM,CAAEr1C,CAAF,CAAN,KAAgB20C,KAAjC,EAAyC;AACxCU,cAAM,CAAC57B,MAAP,CAAezZ,CAAC,EAAhB,EAAoB,CAApB;AACA;AACD;;AAED,QAAK,CAACq1C,MAAM,CAAClzC,MAAb,EAAsB;AACrBiY,YAAM,CAAC+3B,EAAP,CAAUzxB,IAAV;AACA;;AACD+xB,SAAK,GAAG/uC,SAAR;AACA,GApBD;;AAsBA0W,QAAM,CAAC+3B,EAAP,CAAUwC,KAAV,GAAkB,UAAUA,KAAV,EAAkB;AACnCv6B,UAAM,CAACi7B,MAAP,CAAc7yC,IAAd,CAAoBmyC,KAApB;AACAv6B,UAAM,CAAC+3B,EAAP,CAAU1xB,KAAV;AACA,GAHD;;AAKArG,QAAM,CAAC+3B,EAAP,CAAUY,QAAV,GAAqB,EAArB;;AACA34B,QAAM,CAAC+3B,EAAP,CAAU1xB,KAAV,GAAkB,YAAW;AAC5B,QAAKiyB,UAAL,EAAkB;AACjB;AACA;;AAEDA,cAAU,GAAG,IAAb;AACAG,YAAQ;AACR,GAPD;;AASAz4B,QAAM,CAAC+3B,EAAP,CAAUzxB,IAAV,GAAiB,YAAW;AAC3BgyB,cAAU,GAAG,IAAb;AACA,GAFD;;AAIAt4B,QAAM,CAAC+3B,EAAP,CAAU4C,MAAV,GAAmB;AAClBc,QAAI,EAAE,GADY;AAElBC,QAAI,EAAE,GAFY;AAIlB;AACA9R,YAAQ,EAAE;AALQ,GAAnB,CAxtPiF,CAiuPjF;AACA;;AACA5pB,QAAM,CAAC+D,EAAP,CAAU43B,KAAV,GAAkB,UAAUlnC,IAAV,EAAgBW,IAAhB,EAAuB;AACxCX,QAAI,GAAGuL,MAAM,CAAC+3B,EAAP,GAAY/3B,MAAM,CAAC+3B,EAAP,CAAU4C,MAAV,CAAkBlmC,IAAlB,KAA4BA,IAAxC,GAA+CA,IAAtD;AACAW,QAAI,GAAGA,IAAI,IAAI,IAAf;AAEA,WAAO,KAAKkV,KAAL,CAAYlV,IAAZ,EAAkB,UAAUqH,IAAV,EAAgBoqB,KAAhB,EAAwB;AAChD,UAAIl9B,OAAO,GAAGtC,MAAM,CAACsT,UAAP,CAAmB8B,IAAnB,EAAyBhI,IAAzB,CAAd;;AACAoyB,WAAK,CAACvgB,IAAN,GAAa,YAAW;AACvBjf,cAAM,CAACu0C,YAAP,CAAqBjyC,OAArB;AACA,OAFD;AAGA,KALM,CAAP;AAMA,GAVD;;AAaA,GAAE,YAAW;AACZ,QAAI0tB,KAAK,GAAGrwB,QAAQ,CAAC4Q,aAAT,CAAwB,OAAxB,CAAZ;AAAA,QACC2Y,MAAM,GAAGvpB,QAAQ,CAAC4Q,aAAT,CAAwB,QAAxB,CADV;AAAA,QAEC8iC,GAAG,GAAGnqB,MAAM,CAACxD,WAAP,CAAoB/lB,QAAQ,CAAC4Q,aAAT,CAAwB,QAAxB,CAApB,CAFP;AAIAyf,SAAK,CAACjiB,IAAN,GAAa,UAAb,CALY,CAOZ;AACA;;AACAoR,WAAO,CAACq1B,OAAR,GAAkBxkB,KAAK,CAACnN,KAAN,KAAgB,EAAlC,CATY,CAWZ;AACA;;AACA1D,WAAO,CAACs1B,WAAR,GAAsBpB,GAAG,CAACxf,QAA1B,CAbY,CAeZ;AACA;;AACA7D,SAAK,GAAGrwB,QAAQ,CAAC4Q,aAAT,CAAwB,OAAxB,CAAR;AACAyf,SAAK,CAACnN,KAAN,GAAc,GAAd;AACAmN,SAAK,CAACjiB,IAAN,GAAa,OAAb;AACAoR,WAAO,CAACu1B,UAAR,GAAqB1kB,KAAK,CAACnN,KAAN,KAAgB,GAArC;AACA,GArBD;;AAwBA,MAAI8xB,QAAJ;AAAA,MACCrmB,UAAU,GAAG3V,MAAM,CAACkL,IAAP,CAAYyK,UAD1B;AAGA3V,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjBlO,QAAI,EAAE,cAAUuoB,IAAV,EAAgBvE,KAAhB,EAAwB;AAC7B,aAAO2a,MAAM,CAAE,IAAF,EAAQ7kB,MAAM,CAAC9Z,IAAf,EAAqBuoB,IAArB,EAA2BvE,KAA3B,EAAkC6D,SAAS,CAAChmB,MAAV,GAAmB,CAArD,CAAb;AACA,KAHgB;AAKjBk0C,cAAU,EAAE,oBAAUxtB,IAAV,EAAiB;AAC5B,aAAO,KAAKtpB,IAAL,CAAW,YAAW;AAC5B6a,cAAM,CAACi8B,UAAP,CAAmB,IAAnB,EAAyBxtB,IAAzB;AACA,OAFM,CAAP;AAGA;AATgB,GAAlB;AAYAzO,QAAM,CAAC5L,MAAP,CAAe;AACdlO,QAAI,EAAE,cAAUya,IAAV,EAAgB8N,IAAhB,EAAsBvE,KAAtB,EAA8B;AACnC,UAAIyD,GAAJ;AAAA,UAASkZ,KAAT;AAAA,UACCqV,KAAK,GAAGv7B,IAAI,CAACe,QADd,CADmC,CAInC;;AACA,UAAKw6B,KAAK,KAAK,CAAV,IAAeA,KAAK,KAAK,CAAzB,IAA8BA,KAAK,KAAK,CAA7C,EAAiD;AAChD;AACA,OAPkC,CASnC;;;AACA,UAAK,OAAOv7B,IAAI,CAACuF,YAAZ,KAA6B,WAAlC,EAAgD;AAC/C,eAAOlG,MAAM,CAACG,IAAP,CAAaQ,IAAb,EAAmB8N,IAAnB,EAAyBvE,KAAzB,CAAP;AACA,OAZkC,CAcnC;AACA;;;AACA,UAAKgyB,KAAK,KAAK,CAAV,IAAe,CAACl8B,MAAM,CAAC+e,QAAP,CAAiBpe,IAAjB,CAArB,EAA+C;AAC9CkmB,aAAK,GAAG7mB,MAAM,CAACm8B,SAAP,CAAkB1tB,IAAI,CAACvF,WAAL,EAAlB,MACLlJ,MAAM,CAACkL,IAAP,CAAYoJ,KAAZ,CAAkB8nB,IAAlB,CAAuB5hC,IAAvB,CAA6BiU,IAA7B,IAAsCutB,QAAtC,GAAiD1yC,SAD5C,CAAR;AAEA;;AAED,UAAK4gB,KAAK,KAAK5gB,SAAf,EAA2B;AAC1B,YAAK4gB,KAAK,KAAK,IAAf,EAAsB;AACrBlK,gBAAM,CAACi8B,UAAP,CAAmBt7B,IAAnB,EAAyB8N,IAAzB;AACA;AACA;;AAED,YAAKoY,KAAK,IAAI,SAASA,KAAlB,IACJ,CAAElZ,GAAG,GAAGkZ,KAAK,CAACZ,GAAN,CAAWtlB,IAAX,EAAiBuJ,KAAjB,EAAwBuE,IAAxB,CAAR,MAA6CnlB,SAD9C,EAC0D;AACzD,iBAAOqkB,GAAP;AACA;;AAEDhN,YAAI,CAACmG,YAAL,CAAmB2H,IAAnB,EAAyBvE,KAAK,GAAG,EAAjC;AACA,eAAOA,KAAP;AACA;;AAED,UAAK2c,KAAK,IAAI,SAASA,KAAlB,IAA2B,CAAElZ,GAAG,GAAGkZ,KAAK,CAACtZ,GAAN,CAAW5M,IAAX,EAAiB8N,IAAjB,CAAR,MAAsC,IAAtE,EAA6E;AAC5E,eAAOd,GAAP;AACA;;AAEDA,SAAG,GAAG3N,MAAM,CAAC9a,IAAP,CAAYgB,IAAZ,CAAkBya,IAAlB,EAAwB8N,IAAxB,CAAN,CAxCmC,CA0CnC;;AACA,aAAOd,GAAG,IAAI,IAAP,GAAcrkB,SAAd,GAA0BqkB,GAAjC;AACA,KA7Ca;AA+CdwuB,aAAS,EAAE;AACV/mC,UAAI,EAAE;AACL6wB,WAAG,EAAE,aAAUtlB,IAAV,EAAgBuJ,KAAhB,EAAwB;AAC5B,cAAK,CAAC1D,OAAO,CAACu1B,UAAT,IAAuB7xB,KAAK,KAAK,OAAjC,IACJ3I,QAAQ,CAAEZ,IAAF,EAAQ,OAAR,CADT,EAC6B;AAC5B,gBAAIgM,GAAG,GAAGhM,IAAI,CAACuJ,KAAf;AACAvJ,gBAAI,CAACmG,YAAL,CAAmB,MAAnB,EAA2BoD,KAA3B;;AACA,gBAAKyC,GAAL,EAAW;AACVhM,kBAAI,CAACuJ,KAAL,GAAayC,GAAb;AACA;;AACD,mBAAOzC,KAAP;AACA;AACD;AAXI;AADI,KA/CG;AA+Dd+xB,cAAU,EAAE,oBAAUt7B,IAAV,EAAgBuJ,KAAhB,EAAwB;AACnC,UAAIuE,IAAJ;AAAA,UACC7oB,CAAC,GAAG,CADL;AAAA,UAGC;AACA;AACAy2C,eAAS,GAAGnyB,KAAK,IAAIA,KAAK,CAACoK,KAAN,CAAauM,aAAb,CALtB;;AAOA,UAAKwb,SAAS,IAAI17B,IAAI,CAACe,QAAL,KAAkB,CAApC,EAAwC;AACvC,eAAU+M,IAAI,GAAG4tB,SAAS,CAAEz2C,CAAC,EAAH,CAA1B,EAAsC;AACrC+a,cAAI,CAACuU,eAAL,CAAsBzG,IAAtB;AACA;AACD;AACD;AA5Ea,GAAf,EAvxPiF,CAs2PjF;;AACAutB,UAAQ,GAAG;AACV/V,OAAG,EAAE,aAAUtlB,IAAV,EAAgBuJ,KAAhB,EAAuBuE,IAAvB,EAA8B;AAClC,UAAKvE,KAAK,KAAK,KAAf,EAAuB;AAEtB;AACAlK,cAAM,CAACi8B,UAAP,CAAmBt7B,IAAnB,EAAyB8N,IAAzB;AACA,OAJD,MAIO;AACN9N,YAAI,CAACmG,YAAL,CAAmB2H,IAAnB,EAAyBA,IAAzB;AACA;;AACD,aAAOA,IAAP;AACA;AAVS,GAAX;AAaAzO,QAAM,CAAC7a,IAAP,CAAa6a,MAAM,CAACkL,IAAP,CAAYoJ,KAAZ,CAAkB8nB,IAAlB,CAAuB93B,MAAvB,CAA8BgQ,KAA9B,CAAqC,MAArC,CAAb,EAA4D,UAAUrjB,EAAV,EAAcwd,IAAd,EAAqB;AAChF,QAAI6tB,MAAM,GAAG3mB,UAAU,CAAElH,IAAF,CAAV,IAAsBzO,MAAM,CAAC9a,IAAP,CAAYgB,IAA/C;;AAEAyvB,cAAU,CAAElH,IAAF,CAAV,GAAqB,UAAU9N,IAAV,EAAgB8N,IAAhB,EAAsB2B,KAAtB,EAA8B;AAClD,UAAIzC,GAAJ;AAAA,UAASme,MAAT;AAAA,UACCyQ,aAAa,GAAG9tB,IAAI,CAACvF,WAAL,EADjB;;AAGA,UAAK,CAACkH,KAAN,EAAc;AAEb;AACA0b,cAAM,GAAGnW,UAAU,CAAE4mB,aAAF,CAAnB;AACA5mB,kBAAU,CAAE4mB,aAAF,CAAV,GAA8B5uB,GAA9B;AACAA,WAAG,GAAG2uB,MAAM,CAAE37B,IAAF,EAAQ8N,IAAR,EAAc2B,KAAd,CAAN,IAA+B,IAA/B,GACLmsB,aADK,GAEL,IAFD;AAGA5mB,kBAAU,CAAE4mB,aAAF,CAAV,GAA8BzQ,MAA9B;AACA;;AACD,aAAOne,GAAP;AACA,KAfD;AAgBA,GAnBD;AAwBA,MAAI6uB,UAAU,GAAG,qCAAjB;AAAA,MACCC,UAAU,GAAG,eADd;AAGAz8B,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjB+L,QAAI,EAAE,cAAUsO,IAAV,EAAgBvE,KAAhB,EAAwB;AAC7B,aAAO2a,MAAM,CAAE,IAAF,EAAQ7kB,MAAM,CAACG,IAAf,EAAqBsO,IAArB,EAA2BvE,KAA3B,EAAkC6D,SAAS,CAAChmB,MAAV,GAAmB,CAArD,CAAb;AACA,KAHgB;AAKjB20C,cAAU,EAAE,oBAAUjuB,IAAV,EAAiB;AAC5B,aAAO,KAAKtpB,IAAL,CAAW,YAAW;AAC5B,eAAO,KAAM6a,MAAM,CAAC28B,OAAP,CAAgBluB,IAAhB,KAA0BA,IAAhC,CAAP;AACA,OAFM,CAAP;AAGA;AATgB,GAAlB;AAYAzO,QAAM,CAAC5L,MAAP,CAAe;AACd+L,QAAI,EAAE,cAAUQ,IAAV,EAAgB8N,IAAhB,EAAsBvE,KAAtB,EAA8B;AACnC,UAAIyD,GAAJ;AAAA,UAASkZ,KAAT;AAAA,UACCqV,KAAK,GAAGv7B,IAAI,CAACe,QADd,CADmC,CAInC;;AACA,UAAKw6B,KAAK,KAAK,CAAV,IAAeA,KAAK,KAAK,CAAzB,IAA8BA,KAAK,KAAK,CAA7C,EAAiD;AAChD;AACA;;AAED,UAAKA,KAAK,KAAK,CAAV,IAAe,CAACl8B,MAAM,CAAC+e,QAAP,CAAiBpe,IAAjB,CAArB,EAA+C;AAE9C;AACA8N,YAAI,GAAGzO,MAAM,CAAC28B,OAAP,CAAgBluB,IAAhB,KAA0BA,IAAjC;AACAoY,aAAK,GAAG7mB,MAAM,CAAC03B,SAAP,CAAkBjpB,IAAlB,CAAR;AACA;;AAED,UAAKvE,KAAK,KAAK5gB,SAAf,EAA2B;AAC1B,YAAKu9B,KAAK,IAAI,SAASA,KAAlB,IACJ,CAAElZ,GAAG,GAAGkZ,KAAK,CAACZ,GAAN,CAAWtlB,IAAX,EAAiBuJ,KAAjB,EAAwBuE,IAAxB,CAAR,MAA6CnlB,SAD9C,EAC0D;AACzD,iBAAOqkB,GAAP;AACA;;AAED,eAAShN,IAAI,CAAE8N,IAAF,CAAJ,GAAevE,KAAxB;AACA;;AAED,UAAK2c,KAAK,IAAI,SAASA,KAAlB,IAA2B,CAAElZ,GAAG,GAAGkZ,KAAK,CAACtZ,GAAN,CAAW5M,IAAX,EAAiB8N,IAAjB,CAAR,MAAsC,IAAtE,EAA6E;AAC5E,eAAOd,GAAP;AACA;;AAED,aAAOhN,IAAI,CAAE8N,IAAF,CAAX;AACA,KA/Ba;AAiCdipB,aAAS,EAAE;AACV1c,cAAQ,EAAE;AACTzN,WAAG,EAAE,aAAU5M,IAAV,EAAiB;AAErB;AACA;AACA;AACA;AACA;AACA,cAAIi8B,QAAQ,GAAG58B,MAAM,CAAC9a,IAAP,CAAYgB,IAAZ,CAAkBya,IAAlB,EAAwB,UAAxB,CAAf;;AAEA,cAAKi8B,QAAL,EAAgB;AACf,mBAAOrxC,QAAQ,CAAEqxC,QAAF,EAAY,EAAZ,CAAf;AACA;;AAED,cACCJ,UAAU,CAAChiC,IAAX,CAAiBmG,IAAI,CAACY,QAAtB,KACAk7B,UAAU,CAACjiC,IAAX,CAAiBmG,IAAI,CAACY,QAAtB,KACAZ,IAAI,CAACoa,IAHN,EAIE;AACD,mBAAO,CAAP;AACA;;AAED,iBAAO,CAAC,CAAR;AACA;AAvBQ;AADA,KAjCG;AA6Dd4hB,WAAO,EAAE;AACR,aAAO,SADC;AAER,eAAS;AAFD;AA7DK,GAAf,EA35PiF,CA89PjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAK,CAACn2B,OAAO,CAACs1B,WAAd,EAA4B;AAC3B97B,UAAM,CAAC03B,SAAP,CAAiBxc,QAAjB,GAA4B;AAC3B3N,SAAG,EAAE,aAAU5M,IAAV,EAAiB;AAErB;AAEA,YAAI7Z,MAAM,GAAG6Z,IAAI,CAACzI,UAAlB;;AACA,YAAKpR,MAAM,IAAIA,MAAM,CAACoR,UAAtB,EAAmC;AAClCpR,gBAAM,CAACoR,UAAP,CAAkBijB,aAAlB;AACA;;AACD,eAAO,IAAP;AACA,OAV0B;AAW3B8K,SAAG,EAAE,aAAUtlB,IAAV,EAAiB;AAErB;AAEA,YAAI7Z,MAAM,GAAG6Z,IAAI,CAACzI,UAAlB;;AACA,YAAKpR,MAAL,EAAc;AACbA,gBAAM,CAACq0B,aAAP;;AAEA,cAAKr0B,MAAM,CAACoR,UAAZ,EAAyB;AACxBpR,kBAAM,CAACoR,UAAP,CAAkBijB,aAAlB;AACA;AACD;AACD;AAvB0B,KAA5B;AAyBA;;AAEDnb,QAAM,CAAC7a,IAAP,CAAa,CACZ,UADY,EAEZ,UAFY,EAGZ,WAHY,EAIZ,aAJY,EAKZ,aALY,EAMZ,SANY,EAOZ,SAPY,EAQZ,QARY,EASZ,aATY,EAUZ,iBAVY,CAAb,EAWG,YAAW;AACb6a,UAAM,CAAC28B,OAAP,CAAgB,KAAKzzB,WAAL,EAAhB,IAAuC,IAAvC;AACA,GAbD,EAlgQiF,CAohQhF;AACA;;AACA,WAAS2zB,gBAAT,CAA2B3yB,KAA3B,EAAmC;AAClC,QAAI2R,MAAM,GAAG3R,KAAK,CAACoK,KAAN,CAAauM,aAAb,KAAgC,EAA7C;AACA,WAAOhF,MAAM,CAAC7G,IAAP,CAAa,GAAb,CAAP;AACA;;AAGF,WAAS8nB,QAAT,CAAmBn8B,IAAnB,EAA0B;AACzB,WAAOA,IAAI,CAACuF,YAAL,IAAqBvF,IAAI,CAACuF,YAAL,CAAmB,OAAnB,CAArB,IAAqD,EAA5D;AACA;;AAED,WAAS62B,cAAT,CAAyB7yB,KAAzB,EAAiC;AAChC,QAAK7J,KAAK,CAACG,OAAN,CAAe0J,KAAf,CAAL,EAA8B;AAC7B,aAAOA,KAAP;AACA;;AACD,QAAK,OAAOA,KAAP,KAAiB,QAAtB,EAAiC;AAChC,aAAOA,KAAK,CAACoK,KAAN,CAAauM,aAAb,KAAgC,EAAvC;AACA;;AACD,WAAO,EAAP;AACA;;AAED7gB,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjBvK,YAAQ,EAAE,kBAAUqgB,KAAV,EAAkB;AAC3B,UAAI8yB,OAAJ;AAAA,UAAar8B,IAAb;AAAA,UAAmBkV,GAAnB;AAAA,UAAwBonB,QAAxB;AAAA,UAAkCC,KAAlC;AAAA,UAAyC5uB,CAAzC;AAAA,UAA4C6uB,UAA5C;AAAA,UACCv3C,CAAC,GAAG,CADL;;AAGA,UAAK6gB,UAAU,CAAEyD,KAAF,CAAf,EAA2B;AAC1B,eAAO,KAAK/kB,IAAL,CAAW,UAAUmpB,CAAV,EAAc;AAC/BtO,gBAAM,CAAE,IAAF,CAAN,CAAenW,QAAf,CAAyBqgB,KAAK,CAAC1f,IAAN,CAAY,IAAZ,EAAkB8jB,CAAlB,EAAqBwuB,QAAQ,CAAE,IAAF,CAA7B,CAAzB;AACA,SAFM,CAAP;AAGA;;AAEDE,aAAO,GAAGD,cAAc,CAAE7yB,KAAF,CAAxB;;AAEA,UAAK8yB,OAAO,CAACj1C,MAAb,EAAsB;AACrB,eAAU4Y,IAAI,GAAG,KAAM/a,CAAC,EAAP,CAAjB,EAAiC;AAChCq3C,kBAAQ,GAAGH,QAAQ,CAAEn8B,IAAF,CAAnB;AACAkV,aAAG,GAAGlV,IAAI,CAACe,QAAL,KAAkB,CAAlB,IAAyB,MAAMm7B,gBAAgB,CAAEI,QAAF,CAAtB,GAAqC,GAApE;;AAEA,cAAKpnB,GAAL,EAAW;AACVvH,aAAC,GAAG,CAAJ;;AACA,mBAAU4uB,KAAK,GAAGF,OAAO,CAAE1uB,CAAC,EAAH,CAAzB,EAAqC;AACpC,kBAAKuH,GAAG,CAAC7vB,OAAJ,CAAa,MAAMk3C,KAAN,GAAc,GAA3B,IAAmC,CAAxC,EAA4C;AAC3CrnB,mBAAG,IAAIqnB,KAAK,GAAG,GAAf;AACA;AACD,aANS,CAQV;;;AACAC,sBAAU,GAAGN,gBAAgB,CAAEhnB,GAAF,CAA7B;;AACA,gBAAKonB,QAAQ,KAAKE,UAAlB,EAA+B;AAC9Bx8B,kBAAI,CAACmG,YAAL,CAAmB,OAAnB,EAA4Bq2B,UAA5B;AACA;AACD;AACD;AACD;;AAED,aAAO,IAAP;AACA,KApCgB;AAsCjB72C,eAAW,EAAE,qBAAU4jB,KAAV,EAAkB;AAC9B,UAAI8yB,OAAJ;AAAA,UAAar8B,IAAb;AAAA,UAAmBkV,GAAnB;AAAA,UAAwBonB,QAAxB;AAAA,UAAkCC,KAAlC;AAAA,UAAyC5uB,CAAzC;AAAA,UAA4C6uB,UAA5C;AAAA,UACCv3C,CAAC,GAAG,CADL;;AAGA,UAAK6gB,UAAU,CAAEyD,KAAF,CAAf,EAA2B;AAC1B,eAAO,KAAK/kB,IAAL,CAAW,UAAUmpB,CAAV,EAAc;AAC/BtO,gBAAM,CAAE,IAAF,CAAN,CAAe1Z,WAAf,CAA4B4jB,KAAK,CAAC1f,IAAN,CAAY,IAAZ,EAAkB8jB,CAAlB,EAAqBwuB,QAAQ,CAAE,IAAF,CAA7B,CAA5B;AACA,SAFM,CAAP;AAGA;;AAED,UAAK,CAAC/uB,SAAS,CAAChmB,MAAhB,EAAyB;AACxB,eAAO,KAAK7B,IAAL,CAAW,OAAX,EAAoB,EAApB,CAAP;AACA;;AAED82C,aAAO,GAAGD,cAAc,CAAE7yB,KAAF,CAAxB;;AAEA,UAAK8yB,OAAO,CAACj1C,MAAb,EAAsB;AACrB,eAAU4Y,IAAI,GAAG,KAAM/a,CAAC,EAAP,CAAjB,EAAiC;AAChCq3C,kBAAQ,GAAGH,QAAQ,CAAEn8B,IAAF,CAAnB,CADgC,CAGhC;;AACAkV,aAAG,GAAGlV,IAAI,CAACe,QAAL,KAAkB,CAAlB,IAAyB,MAAMm7B,gBAAgB,CAAEI,QAAF,CAAtB,GAAqC,GAApE;;AAEA,cAAKpnB,GAAL,EAAW;AACVvH,aAAC,GAAG,CAAJ;;AACA,mBAAU4uB,KAAK,GAAGF,OAAO,CAAE1uB,CAAC,EAAH,CAAzB,EAAqC;AAEpC;AACA,qBAAQuH,GAAG,CAAC7vB,OAAJ,CAAa,MAAMk3C,KAAN,GAAc,GAA3B,IAAmC,CAAC,CAA5C,EAAgD;AAC/CrnB,mBAAG,GAAGA,GAAG,CAAC3sB,OAAJ,CAAa,MAAMg0C,KAAN,GAAc,GAA3B,EAAgC,GAAhC,CAAN;AACA;AACD,aARS,CAUV;;;AACAC,sBAAU,GAAGN,gBAAgB,CAAEhnB,GAAF,CAA7B;;AACA,gBAAKonB,QAAQ,KAAKE,UAAlB,EAA+B;AAC9Bx8B,kBAAI,CAACmG,YAAL,CAAmB,OAAnB,EAA4Bq2B,UAA5B;AACA;AACD;AACD;AACD;;AAED,aAAO,IAAP;AACA,KAjFgB;AAmFjBprC,eAAW,EAAE,qBAAUmY,KAAV,EAAiBkzB,QAAjB,EAA4B;AACxC,UAAIhoC,IAAI,WAAU8U,KAAV,CAAR;AAAA,UACCmzB,YAAY,GAAGjoC,IAAI,KAAK,QAAT,IAAqBiL,KAAK,CAACG,OAAN,CAAe0J,KAAf,CADrC;;AAGA,UAAK,OAAOkzB,QAAP,KAAoB,SAApB,IAAiCC,YAAtC,EAAqD;AACpD,eAAOD,QAAQ,GAAG,KAAKvzC,QAAL,CAAeqgB,KAAf,CAAH,GAA4B,KAAK5jB,WAAL,CAAkB4jB,KAAlB,CAA3C;AACA;;AAED,UAAKzD,UAAU,CAAEyD,KAAF,CAAf,EAA2B;AAC1B,eAAO,KAAK/kB,IAAL,CAAW,UAAUS,CAAV,EAAc;AAC/Boa,gBAAM,CAAE,IAAF,CAAN,CAAejO,WAAf,CACCmY,KAAK,CAAC1f,IAAN,CAAY,IAAZ,EAAkB5E,CAAlB,EAAqBk3C,QAAQ,CAAE,IAAF,CAA7B,EAAuCM,QAAvC,CADD,EAECA,QAFD;AAIA,SALM,CAAP;AAMA;;AAED,aAAO,KAAKj4C,IAAL,CAAW,YAAW;AAC5B,YAAI2xB,SAAJ,EAAelxB,CAAf,EAAkBma,IAAlB,EAAwBu9B,UAAxB;;AAEA,YAAKD,YAAL,EAAoB;AAEnB;AACAz3C,WAAC,GAAG,CAAJ;AACAma,cAAI,GAAGC,MAAM,CAAE,IAAF,CAAb;AACAs9B,oBAAU,GAAGP,cAAc,CAAE7yB,KAAF,CAA3B;;AAEA,iBAAU4M,SAAS,GAAGwmB,UAAU,CAAE13C,CAAC,EAAH,CAAhC,EAA4C;AAE3C;AACA,gBAAKma,IAAI,CAAC9a,QAAL,CAAe6xB,SAAf,CAAL,EAAkC;AACjC/W,kBAAI,CAACzZ,WAAL,CAAkBwwB,SAAlB;AACA,aAFD,MAEO;AACN/W,kBAAI,CAAClW,QAAL,CAAeitB,SAAf;AACA;AACD,WAfkB,CAiBpB;;AACC,SAlBD,MAkBO,IAAK5M,KAAK,KAAK5gB,SAAV,IAAuB8L,IAAI,KAAK,SAArC,EAAiD;AACvD0hB,mBAAS,GAAGgmB,QAAQ,CAAE,IAAF,CAApB;;AACA,cAAKhmB,SAAL,EAAiB;AAEhB;AACAqP,oBAAQ,CAACF,GAAT,CAAc,IAAd,EAAoB,eAApB,EAAqCnP,SAArC;AACA,WANsD,CAQvD;AACA;AACA;AACA;;;AACA,cAAK,KAAKhQ,YAAV,EAAyB;AACxB,iBAAKA,YAAL,CAAmB,OAAnB,EACCgQ,SAAS,IAAI5M,KAAK,KAAK,KAAvB,GACC,EADD,GAECic,QAAQ,CAAC5Y,GAAT,CAAc,IAAd,EAAoB,eAApB,KAAyC,EAH3C;AAKA;AACD;AACD,OAzCM,CAAP;AA0CA,KA9IgB;AAgJjBtoB,YAAQ,EAAE,kBAAUkoB,QAAV,EAAqB;AAC9B,UAAI2J,SAAJ;AAAA,UAAenW,IAAf;AAAA,UACC/a,CAAC,GAAG,CADL;AAGAkxB,eAAS,GAAG,MAAM3J,QAAN,GAAiB,GAA7B;;AACA,aAAUxM,IAAI,GAAG,KAAM/a,CAAC,EAAP,CAAjB,EAAiC;AAChC,YAAK+a,IAAI,CAACe,QAAL,KAAkB,CAAlB,IACJ,CAAE,MAAMm7B,gBAAgB,CAAEC,QAAQ,CAAEn8B,IAAF,CAAV,CAAtB,GAA6C,GAA/C,EAAqD3a,OAArD,CAA8D8wB,SAA9D,IAA4E,CAAC,CAD9E,EACkF;AACjF,iBAAO,IAAP;AACA;AACD;;AAED,aAAO,KAAP;AACA;AA7JgB,GAAlB;AAmKA,MAAIymB,OAAO,GAAG,KAAd;AAEAv9B,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjBuY,OAAG,EAAE,aAAUzC,KAAV,EAAkB;AACtB,UAAI2c,KAAJ;AAAA,UAAWlZ,GAAX;AAAA,UAAgB4jB,eAAhB;AAAA,UACC5wB,IAAI,GAAG,KAAM,CAAN,CADR;;AAGA,UAAK,CAACoN,SAAS,CAAChmB,MAAhB,EAAyB;AACxB,YAAK4Y,IAAL,EAAY;AACXkmB,eAAK,GAAG7mB,MAAM,CAACw9B,QAAP,CAAiB78B,IAAI,CAACvL,IAAtB,KACP4K,MAAM,CAACw9B,QAAP,CAAiB78B,IAAI,CAACY,QAAL,CAAc2H,WAAd,EAAjB,CADD;;AAGA,cAAK2d,KAAK,IACT,SAASA,KADL,IAEJ,CAAElZ,GAAG,GAAGkZ,KAAK,CAACtZ,GAAN,CAAW5M,IAAX,EAAiB,OAAjB,CAAR,MAAyCrX,SAF1C,EAGE;AACD,mBAAOqkB,GAAP;AACA;;AAEDA,aAAG,GAAGhN,IAAI,CAACuJ,KAAX,CAXW,CAaX;;AACA,cAAK,OAAOyD,GAAP,KAAe,QAApB,EAA+B;AAC9B,mBAAOA,GAAG,CAACzkB,OAAJ,CAAaq0C,OAAb,EAAsB,EAAtB,CAAP;AACA,WAhBU,CAkBX;;;AACA,iBAAO5vB,GAAG,IAAI,IAAP,GAAc,EAAd,GAAmBA,GAA1B;AACA;;AAED;AACA;;AAED4jB,qBAAe,GAAG9qB,UAAU,CAAEyD,KAAF,CAA5B;AAEA,aAAO,KAAK/kB,IAAL,CAAW,UAAUS,CAAV,EAAc;AAC/B,YAAI+mB,GAAJ;;AAEA,YAAK,KAAKjL,QAAL,KAAkB,CAAvB,EAA2B;AAC1B;AACA;;AAED,YAAK6vB,eAAL,EAAuB;AACtB5kB,aAAG,GAAGzC,KAAK,CAAC1f,IAAN,CAAY,IAAZ,EAAkB5E,CAAlB,EAAqBoa,MAAM,CAAE,IAAF,CAAN,CAAe2M,GAAf,EAArB,CAAN;AACA,SAFD,MAEO;AACNA,aAAG,GAAGzC,KAAN;AACA,SAX8B,CAa/B;;;AACA,YAAKyC,GAAG,IAAI,IAAZ,EAAmB;AAClBA,aAAG,GAAG,EAAN;AAEA,SAHD,MAGO,IAAK,OAAOA,GAAP,KAAe,QAApB,EAA+B;AACrCA,aAAG,IAAI,EAAP;AAEA,SAHM,MAGA,IAAKtM,KAAK,CAACG,OAAN,CAAemM,GAAf,CAAL,EAA4B;AAClCA,aAAG,GAAG3M,MAAM,CAAC8N,GAAP,CAAYnB,GAAZ,EAAiB,UAAUzC,KAAV,EAAkB;AACxC,mBAAOA,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqBA,KAAK,GAAG,EAApC;AACA,WAFK,CAAN;AAGA;;AAED2c,aAAK,GAAG7mB,MAAM,CAACw9B,QAAP,CAAiB,KAAKpoC,IAAtB,KAAgC4K,MAAM,CAACw9B,QAAP,CAAiB,KAAKj8B,QAAL,CAAc2H,WAAd,EAAjB,CAAxC,CA1B+B,CA4B/B;;AACA,YAAK,CAAC2d,KAAD,IAAU,EAAG,SAASA,KAAZ,CAAV,IAAiCA,KAAK,CAACZ,GAAN,CAAW,IAAX,EAAiBtZ,GAAjB,EAAsB,OAAtB,MAAoCrjB,SAA1E,EAAsF;AACrF,eAAK4gB,KAAL,GAAayC,GAAb;AACA;AACD,OAhCM,CAAP;AAiCA;AAlEgB,GAAlB;AAqEA3M,QAAM,CAAC5L,MAAP,CAAe;AACdopC,YAAQ,EAAE;AACTlU,YAAM,EAAE;AACP/b,WAAG,EAAE,aAAU5M,IAAV,EAAiB;AAErB,cAAIgM,GAAG,GAAG3M,MAAM,CAAC9a,IAAP,CAAYgB,IAAZ,CAAkBya,IAAlB,EAAwB,OAAxB,CAAV;AACA,iBAAOgM,GAAG,IAAI,IAAP,GACNA,GADM,GAGN;AACA;AACA;AACA;AACAkwB,0BAAgB,CAAE78B,MAAM,CAAC6M,IAAP,CAAalM,IAAb,CAAF,CAPjB;AAQA;AAZM,OADC;AAeT4P,YAAM,EAAE;AACPhD,WAAG,EAAE,aAAU5M,IAAV,EAAiB;AACrB,cAAIuJ,KAAJ;AAAA,cAAWof,MAAX;AAAA,cAAmB1jC,CAAnB;AAAA,cACCgb,OAAO,GAAGD,IAAI,CAACC,OADhB;AAAA,cAEC5S,KAAK,GAAG2S,IAAI,CAACwa,aAFd;AAAA,cAGC/U,GAAG,GAAGzF,IAAI,CAACvL,IAAL,KAAc,YAHrB;AAAA,cAICszB,MAAM,GAAGtiB,GAAG,GAAG,IAAH,GAAU,EAJvB;AAAA,cAKCX,GAAG,GAAGW,GAAG,GAAGpY,KAAK,GAAG,CAAX,GAAe4S,OAAO,CAAC7Y,MALjC;;AAOA,cAAKiG,KAAK,GAAG,CAAb,EAAiB;AAChBpI,aAAC,GAAG6f,GAAJ;AAEA,WAHD,MAGO;AACN7f,aAAC,GAAGwgB,GAAG,GAAGpY,KAAH,GAAW,CAAlB;AACA,WAboB,CAerB;;;AACA,iBAAQpI,CAAC,GAAG6f,GAAZ,EAAiB7f,CAAC,EAAlB,EAAuB;AACtB0jC,kBAAM,GAAG1oB,OAAO,CAAEhb,CAAF,CAAhB,CADsB,CAGtB;AACA;;AACA,gBAAK,CAAE0jC,MAAM,CAACpO,QAAP,IAAmBt1B,CAAC,KAAKoI,KAA3B,KAEH;AACA,aAACs7B,MAAM,CAACvV,QAHL,KAID,CAACuV,MAAM,CAACpxB,UAAP,CAAkB6b,QAAnB,IACD,CAACxS,QAAQ,CAAE+nB,MAAM,CAACpxB,UAAT,EAAqB,UAArB,CALP,CAAL,EAKkD;AAEjD;AACAgS,mBAAK,GAAGlK,MAAM,CAAEspB,MAAF,CAAN,CAAiB3c,GAAjB,EAAR,CAHiD,CAKjD;;AACA,kBAAKvG,GAAL,EAAW;AACV,uBAAO8D,KAAP;AACA,eARgD,CAUjD;;;AACAwe,oBAAM,CAACtgC,IAAP,CAAa8hB,KAAb;AACA;AACD;;AAED,iBAAOwe,MAAP;AACA,SA3CM;AA6CPzC,WAAG,EAAE,aAAUtlB,IAAV,EAAgBuJ,KAAhB,EAAwB;AAC5B,cAAIuzB,SAAJ;AAAA,cAAenU,MAAf;AAAA,cACC1oB,OAAO,GAAGD,IAAI,CAACC,OADhB;AAAA,cAEC8nB,MAAM,GAAG1oB,MAAM,CAACM,SAAP,CAAkB4J,KAAlB,CAFV;AAAA,cAGCtkB,CAAC,GAAGgb,OAAO,CAAC7Y,MAHb;;AAKA,iBAAQnC,CAAC,EAAT,EAAc;AACb0jC,kBAAM,GAAG1oB,OAAO,CAAEhb,CAAF,CAAhB;AAEA;;AAEA,gBAAK0jC,MAAM,CAACpO,QAAP,GACJlb,MAAM,CAACuP,OAAP,CAAgBvP,MAAM,CAACw9B,QAAP,CAAgBlU,MAAhB,CAAuB/b,GAAvB,CAA4B+b,MAA5B,CAAhB,EAAsDZ,MAAtD,IAAiE,CAAC,CADnE,EAEE;AACD+U,uBAAS,GAAG,IAAZ;AACA;AAED;;AACA,WAlB2B,CAoB5B;;;AACA,cAAK,CAACA,SAAN,EAAkB;AACjB98B,gBAAI,CAACwa,aAAL,GAAqB,CAAC,CAAtB;AACA;;AACD,iBAAOuN,MAAP;AACA;AAtEM;AAfC;AADI,GAAf,EApxQiF,CA+2QjF;;AACA1oB,QAAM,CAAC7a,IAAP,CAAa,CAAE,OAAF,EAAW,UAAX,CAAb,EAAsC,YAAW;AAChD6a,UAAM,CAACw9B,QAAP,CAAiB,IAAjB,IAA0B;AACzBvX,SAAG,EAAE,aAAUtlB,IAAV,EAAgBuJ,KAAhB,EAAwB;AAC5B,YAAK7J,KAAK,CAACG,OAAN,CAAe0J,KAAf,CAAL,EAA8B;AAC7B,iBAASvJ,IAAI,CAACsa,OAAL,GAAejb,MAAM,CAACuP,OAAP,CAAgBvP,MAAM,CAAEW,IAAF,CAAN,CAAegM,GAAf,EAAhB,EAAsCzC,KAAtC,IAAgD,CAAC,CAAzE;AACA;AACD;AALwB,KAA1B;;AAOA,QAAK,CAAC1D,OAAO,CAACq1B,OAAd,EAAwB;AACvB77B,YAAM,CAACw9B,QAAP,CAAiB,IAAjB,EAAwBjwB,GAAxB,GAA8B,UAAU5M,IAAV,EAAiB;AAC9C,eAAOA,IAAI,CAACuF,YAAL,CAAmB,OAAnB,MAAiC,IAAjC,GAAwC,IAAxC,GAA+CvF,IAAI,CAACuJ,KAA3D;AACA,OAFD;AAGA;AACD,GAbD,EAh3QiF,CAk4QjF;;AAGA1D,SAAO,CAACk3B,OAAR,GAAkB,eAAer2C,MAAjC;;AAGA,MAAIs2C,WAAW,GAAG,iCAAlB;AAAA,MACCC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAU/4C,CAAV,EAAc;AACvCA,KAAC,CAACqoC,eAAF;AACA,GAHF;;AAKAltB,QAAM,CAAC5L,MAAP,CAAe4L,MAAM,CAAC/Q,KAAtB,EAA6B;AAE5B7E,WAAO,EAAE,iBAAU6E,KAAV,EAAiB5J,IAAjB,EAAuBsb,IAAvB,EAA6Bk9B,YAA7B,EAA4C;AAEpD,UAAIj4C,CAAJ;AAAA,UAAOiwB,GAAP;AAAA,UAAYuB,GAAZ;AAAA,UAAiB0mB,UAAjB;AAAA,UAA6BC,MAA7B;AAAA,UAAqCjS,MAArC;AAAA,UAA6C7I,OAA7C;AAAA,UAAsD+a,WAAtD;AAAA,UACCC,SAAS,GAAG,CAAEt9B,IAAI,IAAI3Z,QAAV,CADb;AAAA,UAECoO,IAAI,GAAG2W,MAAM,CAACvhB,IAAP,CAAayE,KAAb,EAAoB,MAApB,IAA+BA,KAAK,CAACmG,IAArC,GAA4CnG,KAFpD;AAAA,UAGC08B,UAAU,GAAG5f,MAAM,CAACvhB,IAAP,CAAayE,KAAb,EAAoB,WAApB,IAAoCA,KAAK,CAACunB,SAAN,CAAgBxG,KAAhB,CAAuB,GAAvB,CAApC,GAAmE,EAHjF;AAKA6F,SAAG,GAAGmoB,WAAW,GAAG5mB,GAAG,GAAGzW,IAAI,GAAGA,IAAI,IAAI3Z,QAAzC,CAPoD,CASpD;;AACA,UAAK2Z,IAAI,CAACe,QAAL,KAAkB,CAAlB,IAAuBf,IAAI,CAACe,QAAL,KAAkB,CAA9C,EAAkD;AACjD;AACA,OAZmD,CAcpD;;;AACA,UAAKi8B,WAAW,CAACnjC,IAAZ,CAAkBpF,IAAI,GAAG4K,MAAM,CAAC/Q,KAAP,CAAa88B,SAAtC,CAAL,EAAyD;AACxD;AACA;;AAED,UAAK32B,IAAI,CAACpP,OAAL,CAAc,GAAd,IAAsB,CAAC,CAA5B,EAAgC;AAE/B;AACA2lC,kBAAU,GAAGv2B,IAAI,CAAC4a,KAAL,CAAY,GAAZ,CAAb;AACA5a,YAAI,GAAGu2B,UAAU,CAACtW,KAAX,EAAP;AACAsW,kBAAU,CAACnd,IAAX;AACA;;AACDuvB,YAAM,GAAG3oC,IAAI,CAACpP,OAAL,CAAc,GAAd,IAAsB,CAAtB,IAA2B,OAAOoP,IAA3C,CA1BoD,CA4BpD;;AACAnG,WAAK,GAAGA,KAAK,CAAE+Q,MAAM,CAAC+O,OAAT,CAAL,GACP9f,KADO,GAEP,IAAI+Q,MAAM,CAACwtB,KAAX,CAAkBp4B,IAAlB,EAAwB,QAAOnG,KAAP,MAAiB,QAAjB,IAA6BA,KAArD,CAFD,CA7BoD,CAiCpD;;AACAA,WAAK,CAACi/B,SAAN,GAAkB2P,YAAY,GAAG,CAAH,GAAO,CAArC;AACA5uC,WAAK,CAACunB,SAAN,GAAkBmV,UAAU,CAAC3W,IAAX,CAAiB,GAAjB,CAAlB;AACA/lB,WAAK,CAACg+B,UAAN,GAAmBh+B,KAAK,CAACunB,SAAN,GAClB,IAAItE,MAAJ,CAAY,YAAYyZ,UAAU,CAAC3W,IAAX,CAAiB,eAAjB,CAAZ,GAAiD,SAA7D,CADkB,GAElB,IAFD,CApCoD,CAwCpD;;AACA/lB,WAAK,CAACqqB,MAAN,GAAehwB,SAAf;;AACA,UAAK,CAAC2F,KAAK,CAACE,MAAZ,EAAqB;AACpBF,aAAK,CAACE,MAAN,GAAewR,IAAf;AACA,OA5CmD,CA8CpD;;;AACAtb,UAAI,GAAGA,IAAI,IAAI,IAAR,GACN,CAAE4J,KAAF,CADM,GAEN+Q,MAAM,CAACM,SAAP,CAAkBjb,IAAlB,EAAwB,CAAE4J,KAAF,CAAxB,CAFD,CA/CoD,CAmDpD;;AACAg0B,aAAO,GAAGjjB,MAAM,CAAC/Q,KAAP,CAAag0B,OAAb,CAAsB7tB,IAAtB,KAAgC,EAA1C;;AACA,UAAK,CAACyoC,YAAD,IAAiB5a,OAAO,CAAC74B,OAAzB,IAAoC64B,OAAO,CAAC74B,OAAR,CAAgBG,KAAhB,CAAuBoW,IAAvB,EAA6Btb,IAA7B,MAAwC,KAAjF,EAAyF;AACxF;AACA,OAvDmD,CAyDpD;AACA;;;AACA,UAAK,CAACw4C,YAAD,IAAiB,CAAC5a,OAAO,CAAC2K,QAA1B,IAAsC,CAACzhB,QAAQ,CAAExL,IAAF,CAApD,EAA+D;AAE9Dm9B,kBAAU,GAAG7a,OAAO,CAACgJ,YAAR,IAAwB72B,IAArC;;AACA,YAAK,CAACuoC,WAAW,CAACnjC,IAAZ,CAAkBsjC,UAAU,GAAG1oC,IAA/B,CAAN,EAA8C;AAC7CygB,aAAG,GAAGA,GAAG,CAAC3d,UAAV;AACA;;AACD,eAAQ2d,GAAR,EAAaA,GAAG,GAAGA,GAAG,CAAC3d,UAAvB,EAAoC;AACnC+lC,mBAAS,CAAC71C,IAAV,CAAgBytB,GAAhB;AACAuB,aAAG,GAAGvB,GAAN;AACA,SAT6D,CAW9D;;;AACA,YAAKuB,GAAG,MAAOzW,IAAI,CAAC+T,aAAL,IAAsB1tB,QAA7B,CAAR,EAAkD;AACjDi3C,mBAAS,CAAC71C,IAAV,CAAgBgvB,GAAG,CAACzP,WAAJ,IAAmByP,GAAG,CAAC8mB,YAAvB,IAAuC72C,MAAvD;AACA;AACD,OA1EmD,CA4EpD;;;AACAzB,OAAC,GAAG,CAAJ;;AACA,aAAQ,CAAEiwB,GAAG,GAAGooB,SAAS,CAAEr4C,CAAC,EAAH,CAAjB,KAA8B,CAACqJ,KAAK,CAAC69B,oBAAN,EAAvC,EAAsE;AACrEkR,mBAAW,GAAGnoB,GAAd;AACA5mB,aAAK,CAACmG,IAAN,GAAaxP,CAAC,GAAG,CAAJ,GACZk4C,UADY,GAEZ7a,OAAO,CAACiJ,QAAR,IAAoB92B,IAFrB,CAFqE,CAMrE;;AACA02B,cAAM,GAAG,CAAE3F,QAAQ,CAAC5Y,GAAT,CAAcsI,GAAd,EAAmB,QAAnB,KAAiCxqB,MAAM,CAACgW,MAAP,CAAe,IAAf,CAAnC,EAA4DpS,KAAK,CAACmG,IAAlE,KACR+wB,QAAQ,CAAC5Y,GAAT,CAAcsI,GAAd,EAAmB,QAAnB,CADD;;AAEA,YAAKiW,MAAL,EAAc;AACbA,gBAAM,CAACvhC,KAAP,CAAcsrB,GAAd,EAAmBxwB,IAAnB;AACA,SAXoE,CAarE;;;AACAymC,cAAM,GAAGiS,MAAM,IAAIloB,GAAG,CAAEkoB,MAAF,CAAtB;;AACA,YAAKjS,MAAM,IAAIA,MAAM,CAACvhC,KAAjB,IAA0Bo7B,UAAU,CAAE9P,GAAF,CAAzC,EAAmD;AAClD5mB,eAAK,CAACqqB,MAAN,GAAewS,MAAM,CAACvhC,KAAP,CAAcsrB,GAAd,EAAmBxwB,IAAnB,CAAf;;AACA,cAAK4J,KAAK,CAACqqB,MAAN,KAAiB,KAAtB,EAA8B;AAC7BrqB,iBAAK,CAAC6C,cAAN;AACA;AACD;AACD;;AACD7C,WAAK,CAACmG,IAAN,GAAaA,IAAb,CApGoD,CAsGpD;;AACA,UAAK,CAACyoC,YAAD,IAAiB,CAAC5uC,KAAK,CAACo/B,kBAAN,EAAvB,EAAoD;AAEnD,YAAK,CAAE,CAACpL,OAAO,CAAC2G,QAAT,IACN3G,OAAO,CAAC2G,QAAR,CAAiBr/B,KAAjB,CAAwB0zC,SAAS,CAACvsB,GAAV,EAAxB,EAAyCrsB,IAAzC,MAAoD,KADhD,KAEJsgC,UAAU,CAAEhlB,IAAF,CAFX,EAEsB;AAErB;AACA;AACA,cAAKo9B,MAAM,IAAIt3B,UAAU,CAAE9F,IAAI,CAAEvL,IAAF,CAAN,CAApB,IAAwC,CAAC+W,QAAQ,CAAExL,IAAF,CAAtD,EAAiE;AAEhE;AACAyW,eAAG,GAAGzW,IAAI,CAAEo9B,MAAF,CAAV;;AAEA,gBAAK3mB,GAAL,EAAW;AACVzW,kBAAI,CAAEo9B,MAAF,CAAJ,GAAiB,IAAjB;AACA,aAP+D,CAShE;;;AACA/9B,kBAAM,CAAC/Q,KAAP,CAAa88B,SAAb,GAAyB32B,IAAzB;;AAEA,gBAAKnG,KAAK,CAAC69B,oBAAN,EAAL,EAAoC;AACnCkR,yBAAW,CAACvgC,gBAAZ,CAA8BrI,IAA9B,EAAoCwoC,uBAApC;AACA;;AAEDj9B,gBAAI,CAAEvL,IAAF,CAAJ;;AAEA,gBAAKnG,KAAK,CAAC69B,oBAAN,EAAL,EAAoC;AACnCkR,yBAAW,CAACn6B,mBAAZ,CAAiCzO,IAAjC,EAAuCwoC,uBAAvC;AACA;;AAED59B,kBAAM,CAAC/Q,KAAP,CAAa88B,SAAb,GAAyBziC,SAAzB;;AAEA,gBAAK8tB,GAAL,EAAW;AACVzW,kBAAI,CAAEo9B,MAAF,CAAJ,GAAiB3mB,GAAjB;AACA;AACD;AACD;AACD;;AAED,aAAOnoB,KAAK,CAACqqB,MAAb;AACA,KAjJ2B;AAmJ5B;AACA;AACA6kB,YAAQ,EAAE,kBAAU/oC,IAAV,EAAgBuL,IAAhB,EAAsB1R,KAAtB,EAA8B;AACvC,UAAIpK,CAAC,GAAGmb,MAAM,CAAC5L,MAAP,CACP,IAAI4L,MAAM,CAACwtB,KAAX,EADO,EAEPv+B,KAFO,EAGP;AACCmG,YAAI,EAAEA,IADP;AAECq5B,mBAAW,EAAE;AAFd,OAHO,CAAR;AASAzuB,YAAM,CAAC/Q,KAAP,CAAa7E,OAAb,CAAsBvF,CAAtB,EAAyB,IAAzB,EAA+B8b,IAA/B;AACA;AAhK2B,GAA7B;AAoKAX,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AAEjBhK,WAAO,EAAE,iBAAUgL,IAAV,EAAgB/P,IAAhB,EAAuB;AAC/B,aAAO,KAAKF,IAAL,CAAW,YAAW;AAC5B6a,cAAM,CAAC/Q,KAAP,CAAa7E,OAAb,CAAsBgL,IAAtB,EAA4B/P,IAA5B,EAAkC,IAAlC;AACA,OAFM,CAAP;AAGA,KANgB;AAOjB8B,kBAAc,EAAE,wBAAUiO,IAAV,EAAgB/P,IAAhB,EAAuB;AACtC,UAAIsb,IAAI,GAAG,KAAM,CAAN,CAAX;;AACA,UAAKA,IAAL,EAAY;AACX,eAAOX,MAAM,CAAC/Q,KAAP,CAAa7E,OAAb,CAAsBgL,IAAtB,EAA4B/P,IAA5B,EAAkCsb,IAAlC,EAAwC,IAAxC,CAAP;AACA;AACD;AAZgB,GAAlB,EAjjRiF,CAikRjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAK,CAAC6F,OAAO,CAACk3B,OAAd,EAAwB;AACvB19B,UAAM,CAAC7a,IAAP,CAAa;AAAE4qC,WAAK,EAAE,SAAT;AAAoBC,UAAI,EAAE;AAA1B,KAAb,EAAqD,UAAUK,IAAV,EAAgB1D,GAAhB,EAAsB;AAE1E;AACA,UAAIjX,OAAO,GAAG,SAAVA,OAAU,CAAUzmB,KAAV,EAAkB;AAC/B+Q,cAAM,CAAC/Q,KAAP,CAAakvC,QAAb,CAAuBxR,GAAvB,EAA4B19B,KAAK,CAACE,MAAlC,EAA0C6Q,MAAM,CAAC/Q,KAAP,CAAa09B,GAAb,CAAkB19B,KAAlB,CAA1C;AACA,OAFD;;AAIA+Q,YAAM,CAAC/Q,KAAP,CAAag0B,OAAb,CAAsB0J,GAAtB,IAA8B;AAC7BP,aAAK,EAAE,iBAAW;AAEjB;AACA;AACA,cAAI1f,GAAG,GAAG,KAAKgI,aAAL,IAAsB,KAAK1tB,QAA3B,IAAuC,IAAjD;AAAA,cACCo3C,QAAQ,GAAGjY,QAAQ,CAACtB,MAAT,CAAiBnY,GAAjB,EAAsBigB,GAAtB,CADZ;;AAGA,cAAK,CAACyR,QAAN,EAAiB;AAChB1xB,eAAG,CAACjP,gBAAJ,CAAsB4yB,IAAtB,EAA4B3a,OAA5B,EAAqC,IAArC;AACA;;AACDyQ,kBAAQ,CAACtB,MAAT,CAAiBnY,GAAjB,EAAsBigB,GAAtB,EAA2B,CAAEyR,QAAQ,IAAI,CAAd,IAAoB,CAA/C;AACA,SAZ4B;AAa7B7R,gBAAQ,EAAE,oBAAW;AACpB,cAAI7f,GAAG,GAAG,KAAKgI,aAAL,IAAsB,KAAK1tB,QAA3B,IAAuC,IAAjD;AAAA,cACCo3C,QAAQ,GAAGjY,QAAQ,CAACtB,MAAT,CAAiBnY,GAAjB,EAAsBigB,GAAtB,IAA8B,CAD1C;;AAGA,cAAK,CAACyR,QAAN,EAAiB;AAChB1xB,eAAG,CAAC7I,mBAAJ,CAAyBwsB,IAAzB,EAA+B3a,OAA/B,EAAwC,IAAxC;AACAyQ,oBAAQ,CAAChgC,MAAT,CAAiBumB,GAAjB,EAAsBigB,GAAtB;AAEA,WAJD,MAIO;AACNxG,oBAAQ,CAACtB,MAAT,CAAiBnY,GAAjB,EAAsBigB,GAAtB,EAA2ByR,QAA3B;AACA;AACD;AAxB4B,OAA9B;AA0BA,KAjCD;AAkCA;;AACD,MAAIpjC,QAAQ,GAAG3T,MAAM,CAAC2T,QAAtB;AAEA,MAAIqR,KAAK,GAAG;AAAEwD,QAAI,EAAEoB,IAAI,CAACrH,GAAL;AAAR,GAAZ;AAEA,MAAIy0B,MAAM,GAAK,IAAf,CAjnRiF,CAqnRjF;;AACAr+B,QAAM,CAACs+B,QAAP,GAAkB,UAAUj5C,IAAV,EAAiB;AAClC,QAAIw0B,GAAJ,EAAS0kB,eAAT;;AACA,QAAK,CAACl5C,IAAD,IAAS,OAAOA,IAAP,KAAgB,QAA9B,EAAyC;AACxC,aAAO,IAAP;AACA,KAJiC,CAMlC;AACA;;;AACA,QAAI;AACHw0B,SAAG,GAAK,IAAIxyB,MAAM,CAACm3C,SAAX,EAAF,CAA2BC,eAA3B,CAA4Cp5C,IAA5C,EAAkD,UAAlD,CAAN;AACA,KAFD,CAEE,OAAQR,CAAR,EAAY,CAAE;;AAEhB05C,mBAAe,GAAG1kB,GAAG,IAAIA,GAAG,CAAC5hB,oBAAJ,CAA0B,aAA1B,EAA2C,CAA3C,CAAzB;;AACA,QAAK,CAAC4hB,GAAD,IAAQ0kB,eAAb,EAA+B;AAC9Bv+B,YAAM,CAAClW,KAAP,CAAc,mBACby0C,eAAe,GACdv+B,MAAM,CAAC8N,GAAP,CAAYywB,eAAe,CAACtqB,UAA5B,EAAwC,UAAU7K,EAAV,EAAe;AACtD,eAAOA,EAAE,CAACwP,WAAV;AACA,OAFD,EAEI5D,IAFJ,CAEU,IAFV,CADc,GAId3vB,IALY,CAAd;AAOA;;AACD,WAAOw0B,GAAP;AACA,GAvBD;;AA0BA,MACC6kB,QAAQ,GAAG,OADZ;AAAA,MAECC,KAAK,GAAG,QAFT;AAAA,MAGCC,eAAe,GAAG,uCAHnB;AAAA,MAICC,YAAY,GAAG,oCAJhB;;AAMA,WAASC,WAAT,CAAsB3H,MAAtB,EAA8B52B,GAA9B,EAAmCw+B,WAAnC,EAAgD/0C,GAAhD,EAAsD;AACrD,QAAIykB,IAAJ;;AAEA,QAAKpO,KAAK,CAACG,OAAN,CAAeD,GAAf,CAAL,EAA4B;AAE3B;AACAP,YAAM,CAAC7a,IAAP,CAAaob,GAAb,EAAkB,UAAU3a,CAAV,EAAak8B,CAAb,EAAiB;AAClC,YAAKid,WAAW,IAAIL,QAAQ,CAAClkC,IAAT,CAAe28B,MAAf,CAApB,EAA8C;AAE7C;AACAntC,aAAG,CAAEmtC,MAAF,EAAUrV,CAAV,CAAH;AAEA,SALD,MAKO;AAEN;AACAgd,qBAAW,CACV3H,MAAM,GAAG,GAAT,IAAiB,QAAOrV,CAAP,MAAa,QAAb,IAAyBA,CAAC,IAAI,IAA9B,GAAqCl8B,CAArC,GAAyC,EAA1D,IAAiE,GADvD,EAEVk8B,CAFU,EAGVid,WAHU,EAIV/0C,GAJU,CAAX;AAMA;AACD,OAhBD;AAkBA,KArBD,MAqBO,IAAK,CAAC+0C,WAAD,IAAgB9xB,MAAM,CAAE1M,GAAF,CAAN,KAAkB,QAAvC,EAAkD;AAExD;AACA,WAAMkO,IAAN,IAAclO,GAAd,EAAoB;AACnBu+B,mBAAW,CAAE3H,MAAM,GAAG,GAAT,GAAe1oB,IAAf,GAAsB,GAAxB,EAA6BlO,GAAG,CAAEkO,IAAF,CAAhC,EAA0CswB,WAA1C,EAAuD/0C,GAAvD,CAAX;AACA;AAED,KAPM,MAOA;AAEN;AACAA,SAAG,CAAEmtC,MAAF,EAAU52B,GAAV,CAAH;AACA;AACD,GA1rRgF,CA4rRjF;AACA;;;AACAP,QAAM,CAACg/B,KAAP,GAAe,UAAU/+B,CAAV,EAAa8+B,WAAb,EAA2B;AACzC,QAAI5H,MAAJ;AAAA,QACC5tB,CAAC,GAAG,EADL;AAAA,QAECvf,GAAG,GAAG,SAANA,GAAM,CAAUigB,GAAV,EAAeg1B,eAAf,EAAiC;AAEtC;AACA,UAAI/0B,KAAK,GAAGzD,UAAU,CAAEw4B,eAAF,CAAV,GACXA,eAAe,EADJ,GAEXA,eAFD;AAIA11B,OAAC,CAAEA,CAAC,CAACxhB,MAAJ,CAAD,GAAgBm3C,kBAAkB,CAAEj1B,GAAF,CAAlB,GAA4B,GAA5B,GACfi1B,kBAAkB,CAAEh1B,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqBA,KAAvB,CADnB;AAEA,KAXF;;AAaA,QAAKjK,CAAC,IAAI,IAAV,EAAiB;AAChB,aAAO,EAAP;AACA,KAhBwC,CAkBzC;;;AACA,QAAKI,KAAK,CAACG,OAAN,CAAeP,CAAf,KAAwBA,CAAC,CAACmN,MAAF,IAAY,CAACpN,MAAM,CAAC8O,aAAP,CAAsB7O,CAAtB,CAA1C,EAAwE;AAEvE;AACAD,YAAM,CAAC7a,IAAP,CAAa8a,CAAb,EAAgB,YAAW;AAC1BjW,WAAG,CAAE,KAAKykB,IAAP,EAAa,KAAKvE,KAAlB,CAAH;AACA,OAFD;AAIA,KAPD,MAOO;AAEN;AACA;AACA,WAAMitB,MAAN,IAAgBl3B,CAAhB,EAAoB;AACnB6+B,mBAAW,CAAE3H,MAAF,EAAUl3B,CAAC,CAAEk3B,MAAF,CAAX,EAAuB4H,WAAvB,EAAoC/0C,GAApC,CAAX;AACA;AACD,KAjCwC,CAmCzC;;;AACA,WAAOuf,CAAC,CAACyL,IAAF,CAAQ,GAAR,CAAP;AACA,GArCD;;AAuCAhV,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjB+qC,aAAS,EAAE,qBAAW;AACrB,aAAOn/B,MAAM,CAACg/B,KAAP,CAAc,KAAKI,cAAL,EAAd,CAAP;AACA,KAHgB;AAIjBA,kBAAc,EAAE,0BAAW;AAC1B,aAAO,KAAKtxB,GAAL,CAAU,YAAW;AAE3B;AACA,YAAI9M,QAAQ,GAAGhB,MAAM,CAACG,IAAP,CAAa,IAAb,EAAmB,UAAnB,CAAf;AACA,eAAOa,QAAQ,GAAGhB,MAAM,CAACM,SAAP,CAAkBU,QAAlB,CAAH,GAAkC,IAAjD;AACA,OALM,EAKH/X,MALG,CAKK,YAAW;AACtB,YAAImM,IAAI,GAAG,KAAKA,IAAhB,CADsB,CAGtB;;AACA,eAAO,KAAKqZ,IAAL,IAAa,CAACzO,MAAM,CAAE,IAAF,CAAN,CAAe3I,EAAf,CAAmB,WAAnB,CAAd,IACNwnC,YAAY,CAACrkC,IAAb,CAAmB,KAAK+G,QAAxB,CADM,IACgC,CAACq9B,eAAe,CAACpkC,IAAhB,CAAsBpF,IAAtB,CADjC,KAEJ,KAAK6lB,OAAL,IAAgB,CAAC4N,cAAc,CAACruB,IAAf,CAAqBpF,IAArB,CAFb,CAAP;AAGA,OAZM,EAYH0Y,GAZG,CAYE,UAAU7c,EAAV,EAAc0P,IAAd,EAAqB;AAC7B,YAAIgM,GAAG,GAAG3M,MAAM,CAAE,IAAF,CAAN,CAAe2M,GAAf,EAAV;;AAEA,YAAKA,GAAG,IAAI,IAAZ,EAAmB;AAClB,iBAAO,IAAP;AACA;;AAED,YAAKtM,KAAK,CAACG,OAAN,CAAemM,GAAf,CAAL,EAA4B;AAC3B,iBAAO3M,MAAM,CAAC8N,GAAP,CAAYnB,GAAZ,EAAiB,UAAUA,GAAV,EAAgB;AACvC,mBAAO;AAAE8B,kBAAI,EAAE9N,IAAI,CAAC8N,IAAb;AAAmBvE,mBAAK,EAAEyC,GAAG,CAACzjB,OAAJ,CAAay1C,KAAb,EAAoB,MAApB;AAA1B,aAAP;AACA,WAFM,CAAP;AAGA;;AAED,eAAO;AAAElwB,cAAI,EAAE9N,IAAI,CAAC8N,IAAb;AAAmBvE,eAAK,EAAEyC,GAAG,CAACzjB,OAAJ,CAAay1C,KAAb,EAAoB,MAApB;AAA1B,SAAP;AACA,OA1BM,EA0BHpxB,GA1BG,EAAP;AA2BA;AAhCgB,GAAlB;AAoCA,MACC8xB,GAAG,GAAG,MADP;AAAA,MAECC,KAAK,GAAG,MAFT;AAAA,MAGCC,UAAU,GAAG,eAHd;AAAA,MAICC,QAAQ,GAAG,4BAJZ;AAAA,MAMC;AACAC,gBAAc,GAAG,2DAPlB;AAAA,MAQCC,UAAU,GAAG,gBARd;AAAA,MASCC,SAAS,GAAG,OATb;;AAWC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACC1F,YAAU,GAAG,EApBd;;AAsBC;AACD;AACA;AACA;AACA;AACC2F,YAAU,GAAG,EA3Bd;AAAA,MA6BC;AACAC,UAAQ,GAAG,KAAKj0B,MAAL,CAAa,GAAb,CA9BZ;AAAA,MAgCC;AACAk0B,cAAY,GAAG94C,QAAQ,CAAC4Q,aAAT,CAAwB,GAAxB,CAjChB;AAmCAkoC,cAAY,CAAC/kB,IAAb,GAAoB/f,QAAQ,CAAC+f,IAA7B,CA5yRiF,CA8yRjF;;AACA,WAASglB,2BAAT,CAAsCC,SAAtC,EAAkD;AAEjD;AACA,WAAO,UAAUC,kBAAV,EAA8B7d,IAA9B,EAAqC;AAE3C,UAAK,OAAO6d,kBAAP,KAA8B,QAAnC,EAA8C;AAC7C7d,YAAI,GAAG6d,kBAAP;AACAA,0BAAkB,GAAG,GAArB;AACA;;AAED,UAAIv2C,QAAJ;AAAA,UACC9D,CAAC,GAAG,CADL;AAAA,UAECs6C,SAAS,GAAGD,kBAAkB,CAAC/2B,WAAnB,GAAiCoL,KAAjC,CAAwCuM,aAAxC,KAA2D,EAFxE;;AAIA,UAAKpa,UAAU,CAAE2b,IAAF,CAAf,EAA0B;AAEzB;AACA,eAAU14B,QAAQ,GAAGw2C,SAAS,CAAEt6C,CAAC,EAAH,CAA9B,EAA0C;AAEzC;AACA,cAAK8D,QAAQ,CAAE,CAAF,CAAR,KAAkB,GAAvB,EAA6B;AAC5BA,oBAAQ,GAAGA,QAAQ,CAAC8V,KAAT,CAAgB,CAAhB,KAAuB,GAAlC;AACA,aAAEwgC,SAAS,CAAEt2C,QAAF,CAAT,GAAwBs2C,SAAS,CAAEt2C,QAAF,CAAT,IAAyB,EAAnD,EAAwD2uB,OAAxD,CAAiE+J,IAAjE,EAF4B,CAI7B;AACC,WALD,MAKO;AACN,aAAE4d,SAAS,CAAEt2C,QAAF,CAAT,GAAwBs2C,SAAS,CAAEt2C,QAAF,CAAT,IAAyB,EAAnD,EAAwDtB,IAAxD,CAA8Dg6B,IAA9D;AACA;AACD;AACD;AACD,KA3BD;AA4BA,GA90RgF,CAg1RjF;;;AACA,WAAS+d,6BAAT,CAAwCH,SAAxC,EAAmDp/B,OAAnD,EAA4Dy5B,eAA5D,EAA6E+F,KAA7E,EAAqF;AAEpF,QAAIC,SAAS,GAAG,EAAhB;AAAA,QACCC,gBAAgB,GAAKN,SAAS,KAAKJ,UADpC;;AAGA,aAASW,OAAT,CAAkB72C,QAAlB,EAA6B;AAC5B,UAAIwxB,QAAJ;AACAmlB,eAAS,CAAE32C,QAAF,CAAT,GAAwB,IAAxB;AACAsW,YAAM,CAAC7a,IAAP,CAAa66C,SAAS,CAAEt2C,QAAF,CAAT,IAAyB,EAAtC,EAA0C,UAAUs3B,CAAV,EAAawf,kBAAb,EAAkC;AAC3E,YAAIC,mBAAmB,GAAGD,kBAAkB,CAAE5/B,OAAF,EAAWy5B,eAAX,EAA4B+F,KAA5B,CAA5C;;AACA,YAAK,OAAOK,mBAAP,KAA+B,QAA/B,IACJ,CAACH,gBADG,IACiB,CAACD,SAAS,CAAEI,mBAAF,CADhC,EAC0D;AAEzD7/B,iBAAO,CAACs/B,SAAR,CAAkB7nB,OAAlB,CAA2BooB,mBAA3B;AACAF,iBAAO,CAAEE,mBAAF,CAAP;AACA,iBAAO,KAAP;AACA,SAND,MAMO,IAAKH,gBAAL,EAAwB;AAC9B,iBAAO,EAAGplB,QAAQ,GAAGulB,mBAAd,CAAP;AACA;AACD,OAXD;AAYA,aAAOvlB,QAAP;AACA;;AAED,WAAOqlB,OAAO,CAAE3/B,OAAO,CAACs/B,SAAR,CAAmB,CAAnB,CAAF,CAAP,IAAqC,CAACG,SAAS,CAAE,GAAF,CAAV,IAAqBE,OAAO,CAAE,GAAF,CAAxE;AACA,GAz2RgF,CA22RjF;AACA;AACA;;;AACA,WAASG,UAAT,CAAqBvxC,MAArB,EAA6B0I,GAA7B,EAAmC;AAClC,QAAIoS,GAAJ;AAAA,QAAS4E,IAAT;AAAA,QACC8xB,WAAW,GAAG3gC,MAAM,CAAC4gC,YAAP,CAAoBD,WAApB,IAAmC,EADlD;;AAGA,SAAM12B,GAAN,IAAapS,GAAb,EAAmB;AAClB,UAAKA,GAAG,CAAEoS,GAAF,CAAH,KAAe3gB,SAApB,EAAgC;AAC/B,SAAEq3C,WAAW,CAAE12B,GAAF,CAAX,GAAqB9a,MAArB,GAAgC0f,IAAI,KAAMA,IAAI,GAAG,EAAb,CAAtC,EAA6D5E,GAA7D,IAAqEpS,GAAG,CAAEoS,GAAF,CAAxE;AACA;AACD;;AACD,QAAK4E,IAAL,EAAY;AACX7O,YAAM,CAAC5L,MAAP,CAAe,IAAf,EAAqBjF,MAArB,EAA6B0f,IAA7B;AACA;;AAED,WAAO1f,MAAP;AACA;AAED;AACA;AACA;AACA;;;AACA,WAAS0xC,mBAAT,CAA8Bt3B,CAA9B,EAAiC62B,KAAjC,EAAwCU,SAAxC,EAAoD;AAEnD,QAAIC,EAAJ;AAAA,QAAQ3rC,IAAR;AAAA,QAAc4rC,aAAd;AAAA,QAA6BC,aAA7B;AAAA,QACCnhB,QAAQ,GAAGvW,CAAC,CAACuW,QADd;AAAA,QAECogB,SAAS,GAAG32B,CAAC,CAAC22B,SAFf,CAFmD,CAMnD;;AACA,WAAQA,SAAS,CAAE,CAAF,CAAT,KAAmB,GAA3B,EAAiC;AAChCA,eAAS,CAAC7qB,KAAV;;AACA,UAAK0rB,EAAE,KAAKz3C,SAAZ,EAAwB;AACvBy3C,UAAE,GAAGx3B,CAAC,CAAC23B,QAAF,IAAcd,KAAK,CAACe,iBAAN,CAAyB,cAAzB,CAAnB;AACA;AACD,KAZkD,CAcnD;;;AACA,QAAKJ,EAAL,EAAU;AACT,WAAM3rC,IAAN,IAAc0qB,QAAd,EAAyB;AACxB,YAAKA,QAAQ,CAAE1qB,IAAF,CAAR,IAAoB0qB,QAAQ,CAAE1qB,IAAF,CAAR,CAAiBoF,IAAjB,CAAuBumC,EAAvB,CAAzB,EAAuD;AACtDb,mBAAS,CAAC7nB,OAAV,CAAmBjjB,IAAnB;AACA;AACA;AACD;AACD,KAtBkD,CAwBnD;;;AACA,QAAK8qC,SAAS,CAAE,CAAF,CAAT,IAAkBY,SAAvB,EAAmC;AAClCE,mBAAa,GAAGd,SAAS,CAAE,CAAF,CAAzB;AACA,KAFD,MAEO;AAEN;AACA,WAAM9qC,IAAN,IAAc0rC,SAAd,EAA0B;AACzB,YAAK,CAACZ,SAAS,CAAE,CAAF,CAAV,IAAmB32B,CAAC,CAAC63B,UAAF,CAAchsC,IAAI,GAAG,GAAP,GAAa8qC,SAAS,CAAE,CAAF,CAApC,CAAxB,EAAsE;AACrEc,uBAAa,GAAG5rC,IAAhB;AACA;AACA;;AACD,YAAK,CAAC6rC,aAAN,EAAsB;AACrBA,uBAAa,GAAG7rC,IAAhB;AACA;AACD,OAXK,CAaN;;;AACA4rC,mBAAa,GAAGA,aAAa,IAAIC,aAAjC;AACA,KA1CkD,CA4CnD;AACA;AACA;;;AACA,QAAKD,aAAL,EAAqB;AACpB,UAAKA,aAAa,KAAKd,SAAS,CAAE,CAAF,CAAhC,EAAwC;AACvCA,iBAAS,CAAC7nB,OAAV,CAAmB2oB,aAAnB;AACA;;AACD,aAAOF,SAAS,CAAEE,aAAF,CAAhB;AACA;AACD;AAED;AACA;AACA;;;AACA,WAASK,WAAT,CAAsB93B,CAAtB,EAAyB7jB,QAAzB,EAAmC06C,KAAnC,EAA0CkB,SAA1C,EAAsD;AACrD,QAAIC,KAAJ;AAAA,QAAWC,OAAX;AAAA,QAAoBC,IAApB;AAAA,QAA0BrqB,GAA1B;AAAA,QAA+B5nB,IAA/B;AAAA,QACC4xC,UAAU,GAAG,EADd;AAAA,QAGC;AACAlB,aAAS,GAAG32B,CAAC,CAAC22B,SAAF,CAAY1gC,KAAZ,EAJb,CADqD,CAOrD;;AACA,QAAK0gC,SAAS,CAAE,CAAF,CAAd,EAAsB;AACrB,WAAMuB,IAAN,IAAcl4B,CAAC,CAAC63B,UAAhB,EAA6B;AAC5BA,kBAAU,CAAEK,IAAI,CAACv4B,WAAL,EAAF,CAAV,GAAmCK,CAAC,CAAC63B,UAAF,CAAcK,IAAd,CAAnC;AACA;AACD;;AAEDD,WAAO,GAAGtB,SAAS,CAAC7qB,KAAV,EAAV,CAdqD,CAgBrD;;AACA,WAAQmsB,OAAR,EAAkB;AAEjB,UAAKj4B,CAAC,CAACm4B,cAAF,CAAkBF,OAAlB,CAAL,EAAmC;AAClCpB,aAAK,CAAE72B,CAAC,CAACm4B,cAAF,CAAkBF,OAAlB,CAAF,CAAL,GAAuC97C,QAAvC;AACA,OAJgB,CAMjB;;;AACA,UAAK,CAAC8J,IAAD,IAAS8xC,SAAT,IAAsB/3B,CAAC,CAACo4B,UAA7B,EAA0C;AACzCj8C,gBAAQ,GAAG6jB,CAAC,CAACo4B,UAAF,CAAcj8C,QAAd,EAAwB6jB,CAAC,CAAC7f,QAA1B,CAAX;AACA;;AAED8F,UAAI,GAAGgyC,OAAP;AACAA,aAAO,GAAGtB,SAAS,CAAC7qB,KAAV,EAAV;;AAEA,UAAKmsB,OAAL,EAAe;AAEd;AACA,YAAKA,OAAO,KAAK,GAAjB,EAAuB;AAEtBA,iBAAO,GAAGhyC,IAAV,CAFsB,CAIvB;AACC,SALD,MAKO,IAAKA,IAAI,KAAK,GAAT,IAAgBA,IAAI,KAAKgyC,OAA9B,EAAwC;AAE9C;AACAC,cAAI,GAAGL,UAAU,CAAE5xC,IAAI,GAAG,GAAP,GAAagyC,OAAf,CAAV,IAAsCJ,UAAU,CAAE,OAAOI,OAAT,CAAvD,CAH8C,CAK9C;;AACA,cAAK,CAACC,IAAN,EAAa;AACZ,iBAAMF,KAAN,IAAeH,UAAf,EAA4B;AAE3B;AACAhqB,iBAAG,GAAGmqB,KAAK,CAACvxB,KAAN,CAAa,GAAb,CAAN;;AACA,kBAAKoH,GAAG,CAAE,CAAF,CAAH,KAAaoqB,OAAlB,EAA4B;AAE3B;AACAC,oBAAI,GAAGL,UAAU,CAAE5xC,IAAI,GAAG,GAAP,GAAa4nB,GAAG,CAAE,CAAF,CAAlB,CAAV,IACNgqB,UAAU,CAAE,OAAOhqB,GAAG,CAAE,CAAF,CAAZ,CADX;;AAEA,oBAAKqqB,IAAL,EAAY;AAEX;AACA,sBAAKA,IAAI,KAAK,IAAd,EAAqB;AACpBA,wBAAI,GAAGL,UAAU,CAAEG,KAAF,CAAjB,CADoB,CAGrB;AACC,mBAJD,MAIO,IAAKH,UAAU,CAAEG,KAAF,CAAV,KAAwB,IAA7B,EAAoC;AAC1CC,2BAAO,GAAGpqB,GAAG,CAAE,CAAF,CAAb;AACA8oB,6BAAS,CAAC7nB,OAAV,CAAmBjB,GAAG,CAAE,CAAF,CAAtB;AACA;;AACD;AACA;AACD;AACD;AACD,WA/B6C,CAiC9C;;;AACA,cAAKqqB,IAAI,KAAK,IAAd,EAAqB;AAEpB;AACA,gBAAKA,IAAI,IAAIl4B,CAAC,UAAd,EAAwB;AACvB7jB,sBAAQ,GAAG+7C,IAAI,CAAE/7C,QAAF,CAAf;AACA,aAFD,MAEO;AACN,kBAAI;AACHA,wBAAQ,GAAG+7C,IAAI,CAAE/7C,QAAF,CAAf;AACA,eAFD,CAEE,OAAQb,CAAR,EAAY;AACb,uBAAO;AACNuN,uBAAK,EAAE,aADD;AAENtI,uBAAK,EAAE23C,IAAI,GAAG58C,CAAH,GAAO,wBAAwB2K,IAAxB,GAA+B,MAA/B,GAAwCgyC;AAFpD,iBAAP;AAIA;AACD;AACD;AACD;AACD;AACD;;AAED,WAAO;AAAEpvC,WAAK,EAAE,SAAT;AAAoB/M,UAAI,EAAEK;AAA1B,KAAP;AACA;;AAEDsa,QAAM,CAAC5L,MAAP,CAAe;AAEd;AACAwtC,UAAM,EAAE,CAHM;AAKd;AACAC,gBAAY,EAAE,EANA;AAOdC,QAAI,EAAE,EAPQ;AASdlB,gBAAY,EAAE;AACbr7C,SAAG,EAAEyV,QAAQ,CAAC+f,IADD;AAEb3lB,UAAI,EAAE,KAFO;AAGb2sC,aAAO,EAAEtC,cAAc,CAACjlC,IAAf,CAAqBQ,QAAQ,CAACC,QAA9B,CAHI;AAIbsD,YAAM,EAAE,IAJK;AAKbyjC,iBAAW,EAAE,IALA;AAMbC,WAAK,EAAE,IANM;AAObC,iBAAW,EAAE,kDAPA;;AASb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEEC,aAAO,EAAE;AACR,aAAKtC,QADG;AAERhzB,YAAI,EAAE,YAFE;AAGRje,YAAI,EAAE,WAHE;AAIRirB,WAAG,EAAE,2BAJG;AAKRuoB,YAAI,EAAE;AALE,OArBI;AA6BbtiB,cAAQ,EAAE;AACTjG,WAAG,EAAE,SADI;AAETjrB,YAAI,EAAE,QAFG;AAGTwzC,YAAI,EAAE;AAHG,OA7BG;AAmCbV,oBAAc,EAAE;AACf7nB,WAAG,EAAE,aADU;AAEfhN,YAAI,EAAE,cAFS;AAGfu1B,YAAI,EAAE;AAHS,OAnCH;AAyCb;AACA;AACAhB,gBAAU,EAAE;AAEX;AACA,kBAAU/tB,MAHC;AAKX;AACA,qBAAa,IANF;AAQX;AACA,qBAAa1f,IAAI,CAACC,KATP;AAWX;AACA,oBAAYoM,MAAM,CAACs+B;AAZR,OA3CC;AA0Db;AACA;AACA;AACA;AACAqC,iBAAW,EAAE;AACZp7C,WAAG,EAAE,IADO;AAEZwB,eAAO,EAAE;AAFG;AA9DA,KATA;AA6Ed;AACA;AACA;AACAs7C,aAAS,EAAE,mBAAUlzC,MAAV,EAAkBwW,QAAlB,EAA6B;AACvC,aAAOA,QAAQ,GAEd;AACA+6B,gBAAU,CAAEA,UAAU,CAAEvxC,MAAF,EAAU6Q,MAAM,CAAC4gC,YAAjB,CAAZ,EAA6Cj7B,QAA7C,CAHI,GAKd;AACA+6B,gBAAU,CAAE1gC,MAAM,CAAC4gC,YAAT,EAAuBzxC,MAAvB,CANX;AAOA,KAxFa;AA0FdmzC,iBAAa,EAAEvC,2BAA2B,CAAE9F,UAAF,CA1F5B;AA2FdsI,iBAAa,EAAExC,2BAA2B,CAAEH,UAAF,CA3F5B;AA6Fd;AACAn2C,QAAI,EAAE,cAAUlE,GAAV,EAAeqb,OAAf,EAAyB;AAE9B;AACA,UAAK,QAAOrb,GAAP,MAAe,QAApB,EAA+B;AAC9Bqb,eAAO,GAAGrb,GAAV;AACAA,WAAG,GAAG+D,SAAN;AACA,OAN6B,CAQ9B;;;AACAsX,aAAO,GAAGA,OAAO,IAAI,EAArB;;AAEA,UAAI4hC,SAAJ;AAAA,UAEC;AACAC,cAHD;AAAA,UAKC;AACAC,2BAND;AAAA,UAOCC,eAPD;AAAA,UASC;AACAC,kBAVD;AAAA,UAYC;AACAC,eAbD;AAAA,UAeC;AACAne,eAhBD;AAAA,UAkBC;AACAoe,iBAnBD;AAAA,UAqBC;AACAl9C,OAtBD;AAAA,UAwBC;AACAm9C,cAzBD;AAAA,UA2BC;AACAx5B,OAAC,GAAGvJ,MAAM,CAACqiC,SAAP,CAAkB,EAAlB,EAAsBzhC,OAAtB,CA5BL;AAAA,UA8BC;AACAoiC,qBAAe,GAAGz5B,CAAC,CAACxiB,OAAF,IAAawiB,CA/BhC;AAAA,UAiCC;AACA05B,wBAAkB,GAAG15B,CAAC,CAACxiB,OAAF,KAClBi8C,eAAe,CAACthC,QAAhB,IAA4BshC,eAAe,CAAC51B,MAD1B,IAEpBpN,MAAM,CAAEgjC,eAAF,CAFc,GAGpBhjC,MAAM,CAAC/Q,KArCT;AAAA,UAuCC;AACAszB,cAAQ,GAAGviB,MAAM,CAAC3W,QAAP,EAxCZ;AAAA,UAyCC65C,gBAAgB,GAAGljC,MAAM,CAACkhB,SAAP,CAAkB,aAAlB,CAzCpB;AAAA,UA2CC;AACAiiB,iBAAU,GAAG55B,CAAC,CAAC45B,UAAF,IAAgB,EA5C9B;AAAA,UA8CC;AACAC,oBAAc,GAAG,EA/ClB;AAAA,UAgDCC,mBAAmB,GAAG,EAhDvB;AAAA,UAkDC;AACAC,cAAQ,GAAG,UAnDZ;AAAA,UAqDC;AACAlD,WAAK,GAAG;AACPzb,kBAAU,EAAE,CADL;AAGP;AACAwc,yBAAiB,EAAE,2BAAUl3B,GAAV,EAAgB;AAClC,cAAIqK,KAAJ;;AACA,cAAKoQ,SAAL,EAAiB;AAChB,gBAAK,CAACie,eAAN,EAAwB;AACvBA,6BAAe,GAAG,EAAlB;;AACA,qBAAUruB,KAAK,GAAGkrB,QAAQ,CAACp9B,IAAT,CAAesgC,qBAAf,CAAlB,EAA6D;AAC5DC,+BAAe,CAAEruB,KAAK,CAAE,CAAF,CAAL,CAAWpL,WAAX,KAA2B,GAA7B,CAAf,GACC,CAAEy5B,eAAe,CAAEruB,KAAK,CAAE,CAAF,CAAL,CAAWpL,WAAX,KAA2B,GAA7B,CAAf,IAAqD,EAAvD,EACE0C,MADF,CACU0I,KAAK,CAAE,CAAF,CADf,CADD;AAGA;AACD;;AACDA,iBAAK,GAAGquB,eAAe,CAAE14B,GAAG,CAACf,WAAJ,KAAoB,GAAtB,CAAvB;AACA;;AACD,iBAAOoL,KAAK,IAAI,IAAT,GAAgB,IAAhB,GAAuBA,KAAK,CAACU,IAAN,CAAY,IAAZ,CAA9B;AACA,SAlBM;AAoBP;AACAuuB,6BAAqB,EAAE,iCAAW;AACjC,iBAAO7e,SAAS,GAAGge,qBAAH,GAA2B,IAA3C;AACA,SAvBM;AAyBP;AACAc,wBAAgB,EAAE,0BAAU/0B,IAAV,EAAgBvE,KAAhB,EAAwB;AACzC,cAAKwa,SAAS,IAAI,IAAlB,EAAyB;AACxBjW,gBAAI,GAAG40B,mBAAmB,CAAE50B,IAAI,CAACvF,WAAL,EAAF,CAAnB,GACNm6B,mBAAmB,CAAE50B,IAAI,CAACvF,WAAL,EAAF,CAAnB,IAA6CuF,IAD9C;AAEA20B,0BAAc,CAAE30B,IAAF,CAAd,GAAyBvE,KAAzB;AACA;;AACD,iBAAO,IAAP;AACA,SAjCM;AAmCP;AACAu5B,wBAAgB,EAAE,0BAAUruC,IAAV,EAAiB;AAClC,cAAKsvB,SAAS,IAAI,IAAlB,EAAyB;AACxBnb,aAAC,CAAC23B,QAAF,GAAa9rC,IAAb;AACA;;AACD,iBAAO,IAAP;AACA,SAzCM;AA2CP;AACA+tC,kBAAU,EAAE,oBAAUr1B,GAAV,EAAgB;AAC3B,cAAItB,IAAJ;;AACA,cAAKsB,GAAL,EAAW;AACV,gBAAK4W,SAAL,EAAiB;AAEhB;AACA0b,mBAAK,CAAC9d,MAAN,CAAcxU,GAAG,CAAEsyB,KAAK,CAAC55C,MAAR,CAAjB;AACA,aAJD,MAIO;AAEN;AACA,mBAAMgmB,IAAN,IAAcsB,GAAd,EAAoB;AACnBq1B,2BAAU,CAAE32B,IAAF,CAAV,GAAqB,CAAE22B,WAAU,CAAE32B,IAAF,CAAZ,EAAsBsB,GAAG,CAAEtB,IAAF,CAAzB,CAArB;AACA;AACD;AACD;;AACD,iBAAO,IAAP;AACA,SA5DM;AA8DP;AACAk3B,aAAK,EAAE,eAAUC,UAAV,EAAuB;AAC7B,cAAIC,SAAS,GAAGD,UAAU,IAAIL,QAA9B;;AACA,cAAKd,SAAL,EAAiB;AAChBA,qBAAS,CAACkB,KAAV,CAAiBE,SAAjB;AACA;;AACDjzC,cAAI,CAAE,CAAF,EAAKizC,SAAL,CAAJ;AACA,iBAAO,IAAP;AACA;AAtEM,OAtDT,CAX8B,CA0I9B;;;AACArhB,cAAQ,CAACte,OAAT,CAAkBm8B,KAAlB,EA3I8B,CA6I9B;AACA;AACA;;AACA72B,OAAC,CAAChkB,GAAF,GAAQ,CAAE,CAAEA,GAAG,IAAIgkB,CAAC,CAAChkB,GAAT,IAAgByV,QAAQ,CAAC+f,IAA3B,IAAoC,EAAtC,EACN7xB,OADM,CACGy2C,SADH,EACc3kC,QAAQ,CAACC,QAAT,GAAoB,IADlC,CAAR,CAhJ8B,CAmJ9B;;AACAsO,OAAC,CAACnU,IAAF,GAASwL,OAAO,CAACjS,MAAR,IAAkBiS,OAAO,CAACxL,IAA1B,IAAkCmU,CAAC,CAAC5a,MAApC,IAA8C4a,CAAC,CAACnU,IAAzD,CApJ8B,CAsJ9B;;AACAmU,OAAC,CAAC22B,SAAF,GAAc,CAAE32B,CAAC,CAAC7f,QAAF,IAAc,GAAhB,EAAsBwf,WAAtB,GAAoCoL,KAApC,CAA2CuM,aAA3C,KAA8D,CAAE,EAAF,CAA5E,CAvJ8B,CAyJ9B;;AACA,UAAKtX,CAAC,CAACs6B,WAAF,IAAiB,IAAtB,EAA6B;AAC5BhB,iBAAS,GAAG77C,QAAQ,CAAC4Q,aAAT,CAAwB,GAAxB,CAAZ,CAD4B,CAG5B;AACA;AACA;;AACA,YAAI;AACHirC,mBAAS,CAAC9nB,IAAV,GAAiBxR,CAAC,CAAChkB,GAAnB,CADG,CAGH;AACA;;AACAs9C,mBAAS,CAAC9nB,IAAV,GAAiB8nB,SAAS,CAAC9nB,IAA3B;AACAxR,WAAC,CAACs6B,WAAF,GAAgB/D,YAAY,CAAC7kC,QAAb,GAAwB,IAAxB,GAA+B6kC,YAAY,CAAC5kC,IAA5C,KACf2nC,SAAS,CAAC5nC,QAAV,GAAqB,IAArB,GAA4B4nC,SAAS,CAAC3nC,IADvC;AAEA,SARD,CAQE,OAAQrW,CAAR,EAAY;AAEb;AACA;AACA0kB,WAAC,CAACs6B,WAAF,GAAgB,IAAhB;AACA;AACD,OA9K6B,CAgL9B;;;AACA,UAAKt6B,CAAC,CAAClkB,IAAF,IAAUkkB,CAAC,CAACy4B,WAAZ,IAA2B,OAAOz4B,CAAC,CAAClkB,IAAT,KAAkB,QAAlD,EAA6D;AAC5DkkB,SAAC,CAAClkB,IAAF,GAAS2a,MAAM,CAACg/B,KAAP,CAAcz1B,CAAC,CAAClkB,IAAhB,EAAsBkkB,CAAC,CAACw1B,WAAxB,CAAT;AACA,OAnL6B,CAqL9B;;;AACAoB,mCAA6B,CAAElG,UAAF,EAAc1wB,CAAd,EAAiB3I,OAAjB,EAA0Bw/B,KAA1B,CAA7B,CAtL8B,CAwL9B;;AACA,UAAK1b,SAAL,EAAiB;AAChB,eAAO0b,KAAP;AACA,OA3L6B,CA6L9B;AACA;;;AACA0C,iBAAW,GAAG9iC,MAAM,CAAC/Q,KAAP,IAAgBsa,CAAC,CAAChL,MAAhC,CA/L8B,CAiM9B;;AACA,UAAKukC,WAAW,IAAI9iC,MAAM,CAAC4hC,MAAP,OAAoB,CAAxC,EAA4C;AAC3C5hC,cAAM,CAAC/Q,KAAP,CAAa7E,OAAb,CAAsB,WAAtB;AACA,OApM6B,CAsM9B;;;AACAmf,OAAC,CAACnU,IAAF,GAASmU,CAAC,CAACnU,IAAF,CAAOowB,WAAP,EAAT,CAvM8B,CAyM9B;;AACAjc,OAAC,CAACu6B,UAAF,GAAe,CAACpE,UAAU,CAACllC,IAAX,CAAiB+O,CAAC,CAACnU,IAAnB,CAAhB,CA1M8B,CA4M9B;AACA;AACA;;AACAqtC,cAAQ,GAAGl5B,CAAC,CAAChkB,GAAF,CAAM2D,OAAN,CAAeo2C,KAAf,EAAsB,EAAtB,CAAX,CA/M8B,CAiN9B;;AACA,UAAK,CAAC/1B,CAAC,CAACu6B,UAAR,EAAqB;AAEpB;AACAf,gBAAQ,GAAGx5B,CAAC,CAAChkB,GAAF,CAAMia,KAAN,CAAaijC,QAAQ,CAAC16C,MAAtB,CAAX,CAHoB,CAKpB;;AACA,YAAKwhB,CAAC,CAAClkB,IAAF,KAAYkkB,CAAC,CAACy4B,WAAF,IAAiB,OAAOz4B,CAAC,CAAClkB,IAAT,KAAkB,QAA/C,CAAL,EAAiE;AAChEo9C,kBAAQ,IAAI,CAAEpE,MAAM,CAAC7jC,IAAP,CAAaioC,QAAb,IAA0B,GAA1B,GAAgC,GAAlC,IAA0Cl5B,CAAC,CAAClkB,IAAxD,CADgE,CAGhE;;AACA,iBAAOkkB,CAAC,CAAClkB,IAAT;AACA,SAXmB,CAapB;;;AACA,YAAKkkB,CAAC,CAAC/U,KAAF,KAAY,KAAjB,EAAyB;AACxBiuC,kBAAQ,GAAGA,QAAQ,CAACv5C,OAAT,CAAkBq2C,UAAlB,EAA8B,IAA9B,CAAX;AACAwD,kBAAQ,GAAG,CAAE1E,MAAM,CAAC7jC,IAAP,CAAaioC,QAAb,IAA0B,GAA1B,GAAgC,GAAlC,IAA0C,IAA1C,GAAmDp2B,KAAK,CAACwD,IAAN,EAAnD,GACVkzB,QADD;AAEA,SAlBmB,CAoBpB;;;AACAx5B,SAAC,CAAChkB,GAAF,GAAQk9C,QAAQ,GAAGM,QAAnB,CArBoB,CAuBrB;AACC,OAxBD,MAwBO,IAAKx5B,CAAC,CAAClkB,IAAF,IAAUkkB,CAAC,CAACy4B,WAAZ,IACX,CAAEz4B,CAAC,CAAC24B,WAAF,IAAiB,EAAnB,EAAwBl8C,OAAxB,CAAiC,mCAAjC,MAA2E,CADrE,EACyE;AAC/EujB,SAAC,CAAClkB,IAAF,GAASkkB,CAAC,CAAClkB,IAAF,CAAO6D,OAAP,CAAgBm2C,GAAhB,EAAqB,GAArB,CAAT;AACA,OA7O6B,CA+O9B;;;AACA,UAAK91B,CAAC,CAACw6B,UAAP,EAAoB;AACnB,YAAK/jC,MAAM,CAAC6hC,YAAP,CAAqBY,QAArB,CAAL,EAAuC;AACtCrC,eAAK,CAACoD,gBAAN,CAAwB,mBAAxB,EAA6CxjC,MAAM,CAAC6hC,YAAP,CAAqBY,QAArB,CAA7C;AACA;;AACD,YAAKziC,MAAM,CAAC8hC,IAAP,CAAaW,QAAb,CAAL,EAA+B;AAC9BrC,eAAK,CAACoD,gBAAN,CAAwB,eAAxB,EAAyCxjC,MAAM,CAAC8hC,IAAP,CAAaW,QAAb,CAAzC;AACA;AACD,OAvP6B,CAyP9B;;;AACA,UAAKl5B,CAAC,CAAClkB,IAAF,IAAUkkB,CAAC,CAACu6B,UAAZ,IAA0Bv6B,CAAC,CAAC24B,WAAF,KAAkB,KAA5C,IAAqDthC,OAAO,CAACshC,WAAlE,EAAgF;AAC/E9B,aAAK,CAACoD,gBAAN,CAAwB,cAAxB,EAAwCj6B,CAAC,CAAC24B,WAA1C;AACA,OA5P6B,CA8P9B;;;AACA9B,WAAK,CAACoD,gBAAN,CACC,QADD,EAECj6B,CAAC,CAAC22B,SAAF,CAAa,CAAb,KAAoB32B,CAAC,CAAC44B,OAAF,CAAW54B,CAAC,CAAC22B,SAAF,CAAa,CAAb,CAAX,CAApB,GACC32B,CAAC,CAAC44B,OAAF,CAAW54B,CAAC,CAAC22B,SAAF,CAAa,CAAb,CAAX,KACG32B,CAAC,CAAC22B,SAAF,CAAa,CAAb,MAAqB,GAArB,GAA2B,OAAOL,QAAP,GAAkB,UAA7C,GAA0D,EAD7D,CADD,GAGCt2B,CAAC,CAAC44B,OAAF,CAAW,GAAX,CALF,EA/P8B,CAuQ9B;;AACA,WAAMv8C,CAAN,IAAW2jB,CAAC,CAACy6B,OAAb,EAAuB;AACtB5D,aAAK,CAACoD,gBAAN,CAAwB59C,CAAxB,EAA2B2jB,CAAC,CAACy6B,OAAF,CAAWp+C,CAAX,CAA3B;AACA,OA1Q6B,CA4Q9B;;;AACA,UAAK2jB,CAAC,CAAC3f,UAAF,KACF2f,CAAC,CAAC3f,UAAF,CAAaY,IAAb,CAAmBw4C,eAAnB,EAAoC5C,KAApC,EAA2C72B,CAA3C,MAAmD,KAAnD,IAA4Dmb,SAD1D,CAAL,EAC6E;AAE5E;AACA,eAAO0b,KAAK,CAACsD,KAAN,EAAP;AACA,OAlR6B,CAoR9B;;;AACAJ,cAAQ,GAAG,OAAX,CArR8B,CAuR9B;;AACAJ,sBAAgB,CAACl5C,GAAjB,CAAsBuf,CAAC,CAAClf,QAAxB;AACA+1C,WAAK,CAACzvC,IAAN,CAAY4Y,CAAC,CAACrf,OAAd;AACAk2C,WAAK,CAACje,IAAN,CAAY5Y,CAAC,CAACzf,KAAd,EA1R8B,CA4R9B;;AACA04C,eAAS,GAAGrC,6BAA6B,CAAEP,UAAF,EAAcr2B,CAAd,EAAiB3I,OAAjB,EAA0Bw/B,KAA1B,CAAzC,CA7R8B,CA+R9B;;AACA,UAAK,CAACoC,SAAN,EAAkB;AACjB7xC,YAAI,CAAE,CAAC,CAAH,EAAM,cAAN,CAAJ;AACA,OAFD,MAEO;AACNyvC,aAAK,CAACzb,UAAN,GAAmB,CAAnB,CADM,CAGN;;AACA,YAAKme,WAAL,EAAmB;AAClBG,4BAAkB,CAAC74C,OAAnB,CAA4B,UAA5B,EAAwC,CAAEg2C,KAAF,EAAS72B,CAAT,CAAxC;AACA,SANK,CAQN;;;AACA,YAAKmb,SAAL,EAAiB;AAChB,iBAAO0b,KAAP;AACA,SAXK,CAaN;;;AACA,YAAK72B,CAAC,CAAC04B,KAAF,IAAW14B,CAAC,CAAC5f,OAAF,GAAY,CAA5B,EAAgC;AAC/Bi5C,sBAAY,GAAGv7C,MAAM,CAACsT,UAAP,CAAmB,YAAW;AAC5CylC,iBAAK,CAACsD,KAAN,CAAa,SAAb;AACA,WAFc,EAEZn6B,CAAC,CAAC5f,OAFU,CAAf;AAGA;;AAED,YAAI;AACH+6B,mBAAS,GAAG,KAAZ;AACA8d,mBAAS,CAACyB,IAAV,CAAgBb,cAAhB,EAAgCzyC,IAAhC;AACA,SAHD,CAGE,OAAQ9L,CAAR,EAAY;AAEb;AACA,cAAK6/B,SAAL,EAAiB;AAChB,kBAAM7/B,CAAN;AACA,WALY,CAOb;;;AACA8L,cAAI,CAAE,CAAC,CAAH,EAAM9L,CAAN,CAAJ;AACA;AACD,OAnU6B,CAqU9B;;;AACA,eAAS8L,IAAT,CAAenK,MAAf,EAAuB09C,gBAAvB,EAAyCpD,SAAzC,EAAoDkD,OAApD,EAA8D;AAC7D,YAAI1C,SAAJ;AAAA,YAAep3C,OAAf;AAAA,YAAwBJ,KAAxB;AAAA,YAA+BpE,QAA/B;AAAA,YAAyCy+C,QAAzC;AAAA,YACCR,UAAU,GAAGO,gBADd,CAD6D,CAI7D;;AACA,YAAKxf,SAAL,EAAiB;AAChB;AACA;;AAEDA,iBAAS,GAAG,IAAZ,CAT6D,CAW7D;;AACA,YAAKke,YAAL,EAAoB;AACnBv7C,gBAAM,CAACu0C,YAAP,CAAqBgH,YAArB;AACA,SAd4D,CAgB7D;AACA;;;AACAJ,iBAAS,GAAGl5C,SAAZ,CAlB6D,CAoB7D;;AACAo5C,6BAAqB,GAAGsB,OAAO,IAAI,EAAnC,CArB6D,CAuB7D;;AACA5D,aAAK,CAACzb,UAAN,GAAmBn+B,MAAM,GAAG,CAAT,GAAa,CAAb,GAAiB,CAApC,CAxB6D,CA0B7D;;AACA86C,iBAAS,GAAG96C,MAAM,IAAI,GAAV,IAAiBA,MAAM,GAAG,GAA1B,IAAiCA,MAAM,KAAK,GAAxD,CA3B6D,CA6B7D;;AACA,YAAKs6C,SAAL,EAAiB;AAChBp7C,kBAAQ,GAAGm7C,mBAAmB,CAAEt3B,CAAF,EAAK62B,KAAL,EAAYU,SAAZ,CAA9B;AACA,SAhC4D,CAkC7D;;;AACA,YAAK,CAACQ,SAAD,IACJthC,MAAM,CAACuP,OAAP,CAAgB,QAAhB,EAA0BhG,CAAC,CAAC22B,SAA5B,IAA0C,CAAC,CADvC,IAEJlgC,MAAM,CAACuP,OAAP,CAAgB,MAAhB,EAAwBhG,CAAC,CAAC22B,SAA1B,IAAwC,CAFzC,EAE6C;AAC5C32B,WAAC,CAAC63B,UAAF,CAAc,aAAd,IAAgC,YAAW,CAAE,CAA7C;AACA,SAvC4D,CAyC7D;;;AACA17C,gBAAQ,GAAG27C,WAAW,CAAE93B,CAAF,EAAK7jB,QAAL,EAAe06C,KAAf,EAAsBkB,SAAtB,CAAtB,CA1C6D,CA4C7D;;AACA,YAAKA,SAAL,EAAiB;AAEhB;AACA,cAAK/3B,CAAC,CAACw6B,UAAP,EAAoB;AACnBI,oBAAQ,GAAG/D,KAAK,CAACe,iBAAN,CAAyB,eAAzB,CAAX;;AACA,gBAAKgD,QAAL,EAAgB;AACfnkC,oBAAM,CAAC6hC,YAAP,CAAqBY,QAArB,IAAkC0B,QAAlC;AACA;;AACDA,oBAAQ,GAAG/D,KAAK,CAACe,iBAAN,CAAyB,MAAzB,CAAX;;AACA,gBAAKgD,QAAL,EAAgB;AACfnkC,oBAAM,CAAC8hC,IAAP,CAAaW,QAAb,IAA0B0B,QAA1B;AACA;AACD,WAZe,CAchB;;;AACA,cAAK39C,MAAM,KAAK,GAAX,IAAkB+iB,CAAC,CAACnU,IAAF,KAAW,MAAlC,EAA2C;AAC1CuuC,sBAAU,GAAG,WAAb,CAD0C,CAG3C;AACC,WAJD,MAIO,IAAKn9C,MAAM,KAAK,GAAhB,EAAsB;AAC5Bm9C,sBAAU,GAAG,aAAb,CAD4B,CAG7B;AACC,WAJM,MAIA;AACNA,sBAAU,GAAGj+C,QAAQ,CAAC0M,KAAtB;AACAlI,mBAAO,GAAGxE,QAAQ,CAACL,IAAnB;AACAyE,iBAAK,GAAGpE,QAAQ,CAACoE,KAAjB;AACAw3C,qBAAS,GAAG,CAACx3C,KAAb;AACA;AACD,SA7BD,MA6BO;AAEN;AACAA,eAAK,GAAG65C,UAAR;;AACA,cAAKn9C,MAAM,IAAI,CAACm9C,UAAhB,EAA6B;AAC5BA,sBAAU,GAAG,OAAb;;AACA,gBAAKn9C,MAAM,GAAG,CAAd,EAAkB;AACjBA,oBAAM,GAAG,CAAT;AACA;AACD;AACD,SApF4D,CAsF7D;;;AACA45C,aAAK,CAAC55C,MAAN,GAAeA,MAAf;AACA45C,aAAK,CAACuD,UAAN,GAAmB,CAAEO,gBAAgB,IAAIP,UAAtB,IAAqC,EAAxD,CAxF6D,CA0F7D;;AACA,YAAKrC,SAAL,EAAiB;AAChB/e,kBAAQ,CAACe,WAAT,CAAsB0f,eAAtB,EAAuC,CAAE94C,OAAF,EAAWy5C,UAAX,EAAuBvD,KAAvB,CAAvC;AACA,SAFD,MAEO;AACN7d,kBAAQ,CAACmB,UAAT,CAAqBsf,eAArB,EAAsC,CAAE5C,KAAF,EAASuD,UAAT,EAAqB75C,KAArB,CAAtC;AACA,SA/F4D,CAiG7D;;;AACAs2C,aAAK,CAAC+C,UAAN,CAAkBA,WAAlB;AACAA,mBAAU,GAAG75C,SAAb;;AAEA,YAAKw5C,WAAL,EAAmB;AAClBG,4BAAkB,CAAC74C,OAAnB,CAA4Bk3C,SAAS,GAAG,aAAH,GAAmB,WAAxD,EACC,CAAElB,KAAF,EAAS72B,CAAT,EAAY+3B,SAAS,GAAGp3C,OAAH,GAAaJ,KAAlC,CADD;AAEA,SAxG4D,CA0G7D;;;AACAo5C,wBAAgB,CAACthB,QAAjB,CAA2BohB,eAA3B,EAA4C,CAAE5C,KAAF,EAASuD,UAAT,CAA5C;;AAEA,YAAKb,WAAL,EAAmB;AAClBG,4BAAkB,CAAC74C,OAAnB,CAA4B,cAA5B,EAA4C,CAAEg2C,KAAF,EAAS72B,CAAT,CAA5C,EADkB,CAGlB;;AACA,cAAK,CAAG,GAAEvJ,MAAM,CAAC4hC,MAAjB,EAA4B;AAC3B5hC,kBAAM,CAAC/Q,KAAP,CAAa7E,OAAb,CAAsB,UAAtB;AACA;AACD;AACD;;AAED,aAAOg2C,KAAP;AACA,KA5hBa;AA8hBdgE,WAAO,EAAE,iBAAU7+C,GAAV,EAAeF,IAAf,EAAqBoC,QAArB,EAAgC;AACxC,aAAOuY,MAAM,CAACuN,GAAP,CAAYhoB,GAAZ,EAAiBF,IAAjB,EAAuBoC,QAAvB,EAAiC,MAAjC,CAAP;AACA,KAhiBa;AAkiBd48C,aAAS,EAAE,mBAAU9+C,GAAV,EAAekC,QAAf,EAA0B;AACpC,aAAOuY,MAAM,CAACuN,GAAP,CAAYhoB,GAAZ,EAAiB+D,SAAjB,EAA4B7B,QAA5B,EAAsC,QAAtC,CAAP;AACA;AApiBa,GAAf;AAuiBAuY,QAAM,CAAC7a,IAAP,CAAa,CAAE,KAAF,EAAS,MAAT,CAAb,EAAgC,UAAU8L,EAAV,EAActC,MAAd,EAAuB;AACtDqR,UAAM,CAAErR,MAAF,CAAN,GAAmB,UAAUpJ,GAAV,EAAeF,IAAf,EAAqBoC,QAArB,EAA+B2N,IAA/B,EAAsC;AAExD;AACA,UAAKqR,UAAU,CAAEphB,IAAF,CAAf,EAA0B;AACzB+P,YAAI,GAAGA,IAAI,IAAI3N,QAAf;AACAA,gBAAQ,GAAGpC,IAAX;AACAA,YAAI,GAAGiE,SAAP;AACA,OAPuD,CASxD;;;AACA,aAAO0W,MAAM,CAACvW,IAAP,CAAauW,MAAM,CAAC5L,MAAP,CAAe;AAClC7O,WAAG,EAAEA,GAD6B;AAElC6P,YAAI,EAAEzG,MAF4B;AAGlCjF,gBAAQ,EAAE0L,IAHwB;AAIlC/P,YAAI,EAAEA,IAJ4B;AAKlC6E,eAAO,EAAEzC;AALyB,OAAf,EAMjBuY,MAAM,CAAC8O,aAAP,CAAsBvpB,GAAtB,KAA+BA,GANd,CAAb,CAAP;AAOA,KAjBD;AAkBA,GAnBD;AAqBAya,QAAM,CAACsiC,aAAP,CAAsB,UAAU/4B,CAAV,EAAc;AACnC,QAAI3jB,CAAJ;;AACA,SAAMA,CAAN,IAAW2jB,CAAC,CAACy6B,OAAb,EAAuB;AACtB,UAAKp+C,CAAC,CAACsjB,WAAF,OAAoB,cAAzB,EAA0C;AACzCK,SAAC,CAAC24B,WAAF,GAAgB34B,CAAC,CAACy6B,OAAF,CAAWp+C,CAAX,KAAkB,EAAlC;AACA;AACD;AACD,GAPD;;AAUAoa,QAAM,CAACwxB,QAAP,GAAkB,UAAUjsC,GAAV,EAAeqb,OAAf,EAAwB8L,GAAxB,EAA8B;AAC/C,WAAO1M,MAAM,CAACvW,IAAP,CAAa;AACnBlE,SAAG,EAAEA,GADc;AAGnB;AACA6P,UAAI,EAAE,KAJa;AAKnB1L,cAAQ,EAAE,QALS;AAMnB8K,WAAK,EAAE,IANY;AAOnBytC,WAAK,EAAE,KAPY;AAQnB1jC,YAAM,EAAE,KARW;AAUnB;AACA;AACA;AACA6iC,gBAAU,EAAE;AACX,uBAAe,sBAAW,CAAE;AADjB,OAbO;AAgBnBO,gBAAU,EAAE,oBAAUj8C,QAAV,EAAqB;AAChCsa,cAAM,CAACqP,UAAP,CAAmB3pB,QAAnB,EAA6Bkb,OAA7B,EAAsC8L,GAAtC;AACA;AAlBkB,KAAb,CAAP;AAoBA,GArBD;;AAwBA1M,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AACjBkwC,WAAO,EAAE,iBAAU11C,IAAV,EAAiB;AACzB,UAAI87B,IAAJ;;AAEA,UAAK,KAAM,CAAN,CAAL,EAAiB;AAChB,YAAKjkB,UAAU,CAAE7X,IAAF,CAAf,EAA0B;AACzBA,cAAI,GAAGA,IAAI,CAACpE,IAAL,CAAW,KAAM,CAAN,CAAX,CAAP;AACA,SAHe,CAKhB;;;AACAkgC,YAAI,GAAG1qB,MAAM,CAAEpR,IAAF,EAAQ,KAAM,CAAN,EAAU8lB,aAAlB,CAAN,CAAwCzqB,EAAxC,CAA4C,CAA5C,EAAgD2kB,KAAhD,CAAuD,IAAvD,CAAP;;AAEA,YAAK,KAAM,CAAN,EAAU1W,UAAf,EAA4B;AAC3BwyB,cAAI,CAACvyB,YAAL,CAAmB,KAAM,CAAN,CAAnB;AACA;;AAEDuyB,YAAI,CAAC5c,GAAL,CAAU,YAAW;AACpB,cAAInN,IAAI,GAAG,IAAX;;AAEA,iBAAQA,IAAI,CAAC4jC,iBAAb,EAAiC;AAChC5jC,gBAAI,GAAGA,IAAI,CAAC4jC,iBAAZ;AACA;;AAED,iBAAO5jC,IAAP;AACA,SARD,EAQIxS,MARJ,CAQY,IARZ;AASA;;AAED,aAAO,IAAP;AACA,KA5BgB;AA8BjBq2C,aAAS,EAAE,mBAAU51C,IAAV,EAAiB;AAC3B,UAAK6X,UAAU,CAAE7X,IAAF,CAAf,EAA0B;AACzB,eAAO,KAAKzJ,IAAL,CAAW,UAAUS,CAAV,EAAc;AAC/Boa,gBAAM,CAAE,IAAF,CAAN,CAAewkC,SAAf,CAA0B51C,IAAI,CAACpE,IAAL,CAAW,IAAX,EAAiB5E,CAAjB,CAA1B;AACA,SAFM,CAAP;AAGA;;AAED,aAAO,KAAKT,IAAL,CAAW,YAAW;AAC5B,YAAI4a,IAAI,GAAGC,MAAM,CAAE,IAAF,CAAjB;AAAA,YACC8f,QAAQ,GAAG/f,IAAI,CAAC+f,QAAL,EADZ;;AAGA,YAAKA,QAAQ,CAAC/3B,MAAd,EAAuB;AACtB+3B,kBAAQ,CAACwkB,OAAT,CAAkB11C,IAAlB;AAEA,SAHD,MAGO;AACNmR,cAAI,CAAC5R,MAAL,CAAaS,IAAb;AACA;AACD,OAVM,CAAP;AAWA,KAhDgB;AAkDjB87B,QAAI,EAAE,cAAU97B,IAAV,EAAiB;AACtB,UAAI61C,cAAc,GAAGh+B,UAAU,CAAE7X,IAAF,CAA/B;AAEA,aAAO,KAAKzJ,IAAL,CAAW,UAAUS,CAAV,EAAc;AAC/Boa,cAAM,CAAE,IAAF,CAAN,CAAeskC,OAAf,CAAwBG,cAAc,GAAG71C,IAAI,CAACpE,IAAL,CAAW,IAAX,EAAiB5E,CAAjB,CAAH,GAA0BgJ,IAAhE;AACA,OAFM,CAAP;AAGA,KAxDgB;AA0DjB81C,UAAM,EAAE,gBAAUv3B,QAAV,EAAqB;AAC5B,WAAKrmB,MAAL,CAAaqmB,QAAb,EAAwBsS,GAAxB,CAA6B,MAA7B,EAAsCt6B,IAAtC,CAA4C,YAAW;AACtD6a,cAAM,CAAE,IAAF,CAAN,CAAe7V,WAAf,CAA4B,KAAK8pB,UAAjC;AACA,OAFD;AAGA,aAAO,IAAP;AACA;AA/DgB,GAAlB;;AAmEAjU,QAAM,CAACkL,IAAP,CAAY8G,OAAZ,CAAoBrH,MAApB,GAA6B,UAAUhK,IAAV,EAAiB;AAC7C,WAAO,CAACX,MAAM,CAACkL,IAAP,CAAY8G,OAAZ,CAAoBtH,OAApB,CAA6B/J,IAA7B,CAAR;AACA,GAFD;;AAGAX,QAAM,CAACkL,IAAP,CAAY8G,OAAZ,CAAoBtH,OAApB,GAA8B,UAAU/J,IAAV,EAAiB;AAC9C,WAAO,CAAC,EAAGA,IAAI,CAACrD,WAAL,IAAoBqD,IAAI,CAAC0zB,YAAzB,IAAyC1zB,IAAI,CAAC+1B,cAAL,GAAsB3uC,MAAlE,CAAR;AACA,GAFD;;AAOAiY,QAAM,CAAC4gC,YAAP,CAAoB+D,GAApB,GAA0B,YAAW;AACpC,QAAI;AACH,aAAO,IAAIt9C,MAAM,CAACu9C,cAAX,EAAP;AACA,KAFD,CAEE,OAAQ//C,CAAR,EAAY,CAAE;AAChB,GAJD;;AAMA,MAAIggD,gBAAgB,GAAG;AAErB;AACA,OAAG,GAHkB;AAKrB;AACA;AACA,UAAM;AAPe,GAAvB;AAAA,MASCC,YAAY,GAAG9kC,MAAM,CAAC4gC,YAAP,CAAoB+D,GAApB,EAThB;AAWAn+B,SAAO,CAACu+B,IAAR,GAAe,CAAC,CAACD,YAAF,IAAoB,qBAAqBA,YAAxD;AACAt+B,SAAO,CAAC/c,IAAR,GAAeq7C,YAAY,GAAG,CAAC,CAACA,YAAhC;AAEA9kC,QAAM,CAACuiC,aAAP,CAAsB,UAAU3hC,OAAV,EAAoB;AACzC,QAAInZ,SAAJ,EAAcu9C,aAAd,CADyC,CAGzC;;;AACA,QAAKx+B,OAAO,CAACu+B,IAAR,IAAgBD,YAAY,IAAI,CAAClkC,OAAO,CAACijC,WAA9C,EAA4D;AAC3D,aAAO;AACNI,YAAI,EAAE,cAAUD,OAAV,EAAmB35C,QAAnB,EAA8B;AACnC,cAAIzE,CAAJ;AAAA,cACC++C,GAAG,GAAG/jC,OAAO,CAAC+jC,GAAR,EADP;AAGAA,aAAG,CAACM,IAAJ,CACCrkC,OAAO,CAACxL,IADT,EAECwL,OAAO,CAACrb,GAFT,EAGCqb,OAAO,CAACqhC,KAHT,EAICrhC,OAAO,CAACskC,QAJT,EAKCtkC,OAAO,CAAC4a,QALT,EAJmC,CAYnC;;AACA,cAAK5a,OAAO,CAACukC,SAAb,EAAyB;AACxB,iBAAMv/C,CAAN,IAAWgb,OAAO,CAACukC,SAAnB,EAA+B;AAC9BR,iBAAG,CAAE/+C,CAAF,CAAH,GAAWgb,OAAO,CAACukC,SAAR,CAAmBv/C,CAAnB,CAAX;AACA;AACD,WAjBkC,CAmBnC;;;AACA,cAAKgb,OAAO,CAACsgC,QAAR,IAAoByD,GAAG,CAAClB,gBAA7B,EAAgD;AAC/CkB,eAAG,CAAClB,gBAAJ,CAAsB7iC,OAAO,CAACsgC,QAA9B;AACA,WAtBkC,CAwBnC;AACA;AACA;AACA;AACA;;;AACA,cAAK,CAACtgC,OAAO,CAACijC,WAAT,IAAwB,CAACG,OAAO,CAAE,kBAAF,CAArC,EAA8D;AAC7DA,mBAAO,CAAE,kBAAF,CAAP,GAAgC,gBAAhC;AACA,WA/BkC,CAiCnC;;;AACA,eAAMp+C,CAAN,IAAWo+C,OAAX,EAAqB;AACpBW,eAAG,CAACnB,gBAAJ,CAAsB59C,CAAtB,EAAyBo+C,OAAO,CAAEp+C,CAAF,CAAhC;AACA,WApCkC,CAsCnC;;;AACA6B,mBAAQ,GAAG,kBAAU2N,IAAV,EAAiB;AAC3B,mBAAO,YAAW;AACjB,kBAAK3N,SAAL,EAAgB;AACfA,yBAAQ,GAAGu9C,aAAa,GAAGL,GAAG,CAACtsC,MAAJ,GAC1BssC,GAAG,CAAC7sC,OAAJ,GAAc6sC,GAAG,CAACS,OAAJ,GAAcT,GAAG,CAACU,SAAJ,GAC3BV,GAAG,CAACW,kBAAJ,GAAyB,IAF3B;;AAIA,oBAAKlwC,IAAI,KAAK,OAAd,EAAwB;AACvBuvC,qBAAG,CAACjB,KAAJ;AACA,iBAFD,MAEO,IAAKtuC,IAAI,KAAK,OAAd,EAAwB;AAE9B;AACA;AACA;AACA,sBAAK,OAAOuvC,GAAG,CAACn+C,MAAX,KAAsB,QAA3B,EAAsC;AACrC6D,4BAAQ,CAAE,CAAF,EAAK,OAAL,CAAR;AACA,mBAFD,MAEO;AACNA,4BAAQ,EAEP;AACAs6C,uBAAG,CAACn+C,MAHG,EAIPm+C,GAAG,CAAChB,UAJG,CAAR;AAMA;AACD,iBAfM,MAeA;AACNt5C,0BAAQ,CACPw6C,gBAAgB,CAAEF,GAAG,CAACn+C,MAAN,CAAhB,IAAkCm+C,GAAG,CAACn+C,MAD/B,EAEPm+C,GAAG,CAAChB,UAFG,EAIP;AACA;AACA;AACA,mBAAEgB,GAAG,CAACY,YAAJ,IAAoB,MAAtB,MAAmC,MAAnC,IACA,OAAOZ,GAAG,CAACa,YAAX,KAA4B,QAD5B,GAEC;AAAEC,0BAAM,EAAEd,GAAG,CAACj/C;AAAd,mBAFD,GAGC;AAAEmnB,wBAAI,EAAE83B,GAAG,CAACa;AAAZ,mBAVM,EAWPb,GAAG,CAACpB,qBAAJ,EAXO,CAAR;AAaA;AACD;AACD,aAvCD;AAwCA,WAzCD,CAvCmC,CAkFnC;;;AACAoB,aAAG,CAACtsC,MAAJ,GAAa5Q,SAAQ,EAArB;AACAu9C,uBAAa,GAAGL,GAAG,CAAC7sC,OAAJ,GAAc6sC,GAAG,CAACU,SAAJ,GAAgB59C,SAAQ,CAAE,OAAF,CAAtD,CApFmC,CAsFnC;AACA;AACA;;AACA,cAAKk9C,GAAG,CAACS,OAAJ,KAAgB97C,SAArB,EAAiC;AAChCq7C,eAAG,CAACS,OAAJ,GAAcJ,aAAd;AACA,WAFD,MAEO;AACNL,eAAG,CAACW,kBAAJ,GAAyB,YAAW;AAEnC;AACA,kBAAKX,GAAG,CAAChgB,UAAJ,KAAmB,CAAxB,EAA4B;AAE3B;AACA;AACA;AACA;AACAt9B,sBAAM,CAACsT,UAAP,CAAmB,YAAW;AAC7B,sBAAKlT,SAAL,EAAgB;AACfu9C,iCAAa;AACb;AACD,iBAJD;AAKA;AACD,aAfD;AAgBA,WA5GkC,CA8GnC;;;AACAv9C,mBAAQ,GAAGA,SAAQ,CAAE,OAAF,CAAnB;;AAEA,cAAI;AAEH;AACAk9C,eAAG,CAACV,IAAJ,CAAUrjC,OAAO,CAACkjC,UAAR,IAAsBljC,OAAO,CAACvb,IAA9B,IAAsC,IAAhD;AACA,WAJD,CAIE,OAAQR,CAAR,EAAY;AAEb;AACA,gBAAK4C,SAAL,EAAgB;AACf,oBAAM5C,CAAN;AACA;AACD;AACD,SA7HK;AA+HN6+C,aAAK,EAAE,iBAAW;AACjB,cAAKj8C,SAAL,EAAgB;AACfA,qBAAQ;AACR;AACD;AAnIK,OAAP;AAqIA;AACD,GA3ID,EA3tTiF,CA22TjF;;AACAuY,QAAM,CAACsiC,aAAP,CAAsB,UAAU/4B,CAAV,EAAc;AACnC,QAAKA,CAAC,CAACs6B,WAAP,EAAqB;AACpBt6B,OAAC,CAACuW,QAAF,CAAWlT,MAAX,GAAoB,KAApB;AACA;AACD,GAJD,EA52TiF,CAk3TjF;;AACA5M,QAAM,CAACqiC,SAAP,CAAkB;AACjBF,WAAO,EAAE;AACRv1B,YAAM,EAAE,8CACP;AAFO,KADQ;AAKjBkT,YAAQ,EAAE;AACTlT,YAAM,EAAE;AADC,KALO;AAQjBw0B,cAAU,EAAE;AACX,qBAAe,oBAAUv0B,IAAV,EAAiB;AAC/B7M,cAAM,CAACqP,UAAP,CAAmBxC,IAAnB;AACA,eAAOA,IAAP;AACA;AAJU;AARK,GAAlB,EAn3TiF,CAm4TjF;;AACA7M,QAAM,CAACsiC,aAAP,CAAsB,QAAtB,EAAgC,UAAU/4B,CAAV,EAAc;AAC7C,QAAKA,CAAC,CAAC/U,KAAF,KAAYlL,SAAjB,EAA6B;AAC5BigB,OAAC,CAAC/U,KAAF,GAAU,KAAV;AACA;;AACD,QAAK+U,CAAC,CAACs6B,WAAP,EAAqB;AACpBt6B,OAAC,CAACnU,IAAF,GAAS,KAAT;AACA;AACD,GAPD,EAp4TiF,CA64TjF;;AACA4K,QAAM,CAACuiC,aAAP,CAAsB,QAAtB,EAAgC,UAAUh5B,CAAV,EAAc;AAE7C;AACA,QAAKA,CAAC,CAACs6B,WAAF,IAAiBt6B,CAAC,CAACm8B,WAAxB,EAAsC;AACrC,UAAI94B,MAAJ,EAAYnlB,UAAZ;;AACA,aAAO;AACNw8C,YAAI,EAAE,cAAUjjB,CAAV,EAAa32B,QAAb,EAAwB;AAC7BuiB,gBAAM,GAAG5M,MAAM,CAAE,UAAF,CAAN,CACP9Z,IADO,CACDqjB,CAAC,CAACm8B,WAAF,IAAiB,EADhB,EAEPvlC,IAFO,CAED;AAAEwlC,mBAAO,EAAEp8B,CAAC,CAACq8B,aAAb;AAA4B/tC,eAAG,EAAE0R,CAAC,CAAChkB;AAAnC,WAFC,EAGP2B,EAHO,CAGH,YAHG,EAGWO,UAAQ,GAAG,kBAAUo+C,GAAV,EAAgB;AAC7Cj5B,kBAAM,CAACzmB,MAAP;AACAsB,sBAAQ,GAAG,IAAX;;AACA,gBAAKo+C,GAAL,EAAW;AACVx7C,sBAAQ,CAAEw7C,GAAG,CAACzwC,IAAJ,KAAa,OAAb,GAAuB,GAAvB,GAA6B,GAA/B,EAAoCywC,GAAG,CAACzwC,IAAxC,CAAR;AACA;AACD,WATO,CAAT,CAD6B,CAY7B;;AACApO,kBAAQ,CAAC8lB,IAAT,CAAcC,WAAd,CAA2BH,MAAM,CAAE,CAAF,CAAjC;AACA,SAfK;AAgBN82B,aAAK,EAAE,iBAAW;AACjB,cAAKj8C,UAAL,EAAgB;AACfA,sBAAQ;AACR;AACD;AApBK,OAAP;AAsBA;AACD,GA5BD;AAiCA,MAAIq+C,YAAY,GAAG,EAAnB;AAAA,MACCC,MAAM,GAAG,mBADV,CA/6TiF,CAk7TjF;;AACA/lC,QAAM,CAACqiC,SAAP,CAAkB;AACjB2D,SAAK,EAAE,UADU;AAEjBC,iBAAa,EAAE,yBAAW;AACzB,UAAIx+C,QAAQ,GAAGq+C,YAAY,CAACp0B,GAAb,MAAwB1R,MAAM,CAAC+O,OAAP,GAAiB,GAAjB,GAAyB1C,KAAK,CAACwD,IAAN,EAAhE;AACA,WAAMpoB,QAAN,IAAmB,IAAnB;AACA,aAAOA,QAAP;AACA;AANgB,GAAlB,EAn7TiF,CA47TjF;;AACAuY,QAAM,CAACsiC,aAAP,CAAsB,YAAtB,EAAoC,UAAU/4B,CAAV,EAAa28B,gBAAb,EAA+B9F,KAA/B,EAAuC;AAE1E,QAAI+F,YAAJ;AAAA,QAAkBC,WAAlB;AAAA,QAA+BC,iBAA/B;AAAA,QACCC,QAAQ,GAAG/8B,CAAC,CAACy8B,KAAF,KAAY,KAAZ,KAAuBD,MAAM,CAACvrC,IAAP,CAAa+O,CAAC,CAAChkB,GAAf,IACjC,KADiC,GAEjC,OAAOgkB,CAAC,CAAClkB,IAAT,KAAkB,QAAlB,IACC,CAAEkkB,CAAC,CAAC24B,WAAF,IAAiB,EAAnB,EACEl8C,OADF,CACW,mCADX,MACqD,CAFtD,IAGC+/C,MAAM,CAACvrC,IAAP,CAAa+O,CAAC,CAAClkB,IAAf,CAHD,IAG0B,MALhB,CADZ,CAF0E,CAW1E;;AACA,QAAKihD,QAAQ,IAAI/8B,CAAC,CAAC22B,SAAF,CAAa,CAAb,MAAqB,OAAtC,EAAgD;AAE/C;AACAiG,kBAAY,GAAG58B,CAAC,CAAC08B,aAAF,GAAkBx/B,UAAU,CAAE8C,CAAC,CAAC08B,aAAJ,CAAV,GAChC18B,CAAC,CAAC08B,aAAF,EADgC,GAEhC18B,CAAC,CAAC08B,aAFH,CAH+C,CAO/C;;AACA,UAAKK,QAAL,EAAgB;AACf/8B,SAAC,CAAE+8B,QAAF,CAAD,GAAgB/8B,CAAC,CAAE+8B,QAAF,CAAD,CAAcp9C,OAAd,CAAuB68C,MAAvB,EAA+B,OAAOI,YAAtC,CAAhB;AACA,OAFD,MAEO,IAAK58B,CAAC,CAACy8B,KAAF,KAAY,KAAjB,EAAyB;AAC/Bz8B,SAAC,CAAChkB,GAAF,IAAS,CAAE84C,MAAM,CAAC7jC,IAAP,CAAa+O,CAAC,CAAChkB,GAAf,IAAuB,GAAvB,GAA6B,GAA/B,IAAuCgkB,CAAC,CAACy8B,KAAzC,GAAiD,GAAjD,GAAuDG,YAAhE;AACA,OAZ8C,CAc/C;;;AACA58B,OAAC,CAAC63B,UAAF,CAAc,aAAd,IAAgC,YAAW;AAC1C,YAAK,CAACiF,iBAAN,EAA0B;AACzBrmC,gBAAM,CAAClW,KAAP,CAAcq8C,YAAY,GAAG,iBAA7B;AACA;;AACD,eAAOE,iBAAiB,CAAE,CAAF,CAAxB;AACA,OALD,CAf+C,CAsB/C;;;AACA98B,OAAC,CAAC22B,SAAF,CAAa,CAAb,IAAmB,MAAnB,CAvB+C,CAyB/C;;AACAkG,iBAAW,GAAG/+C,MAAM,CAAE8+C,YAAF,CAApB;;AACA9+C,YAAM,CAAE8+C,YAAF,CAAN,GAAyB,YAAW;AACnCE,yBAAiB,GAAGt4B,SAApB;AACA,OAFD,CA3B+C,CA+B/C;;;AACAqyB,WAAK,CAAC9d,MAAN,CAAc,YAAW;AAExB;AACA,YAAK8jB,WAAW,KAAK98C,SAArB,EAAiC;AAChC0W,gBAAM,CAAE3Y,MAAF,CAAN,CAAiBq1C,UAAjB,CAA6ByJ,YAA7B,EADgC,CAGjC;AACC,SAJD,MAIO;AACN9+C,gBAAM,CAAE8+C,YAAF,CAAN,GAAyBC,WAAzB;AACA,SATuB,CAWxB;;;AACA,YAAK78B,CAAC,CAAE48B,YAAF,CAAN,EAAyB;AAExB;AACA58B,WAAC,CAAC08B,aAAF,GAAkBC,gBAAgB,CAACD,aAAnC,CAHwB,CAKxB;;AACAH,sBAAY,CAAC19C,IAAb,CAAmB+9C,YAAnB;AACA,SAnBuB,CAqBxB;;;AACA,YAAKE,iBAAiB,IAAI5/B,UAAU,CAAE2/B,WAAF,CAApC,EAAsD;AACrDA,qBAAW,CAAEC,iBAAiB,CAAE,CAAF,CAAnB,CAAX;AACA;;AAEDA,yBAAiB,GAAGD,WAAW,GAAG98C,SAAlC;AACA,OA3BD,EAhC+C,CA6D/C;;AACA,aAAO,QAAP;AACA;AACD,GA5ED,EA77TiF,CA8gUjF;AACA;AACA;AACA;AACA;;AACAkd,SAAO,CAAC+/B,kBAAR,GAA+B,YAAW;AACzC,QAAIhe,IAAI,GAAGvhC,QAAQ,CAACw/C,cAAT,CAAwBD,kBAAxB,CAA4C,EAA5C,EAAiDhe,IAA5D;AACAA,QAAI,CAACjR,SAAL,GAAiB,4BAAjB;AACA,WAAOiR,IAAI,CAACtU,UAAL,CAAgBlsB,MAAhB,KAA2B,CAAlC;AACA,GAJ4B,EAA7B,CAnhUiF,CA0hUjF;AACA;AACA;AACA;;;AACAiY,QAAM,CAAC2f,SAAP,GAAmB,UAAUt6B,IAAV,EAAgB0B,OAAhB,EAAyB0/C,WAAzB,EAAuC;AACzD,QAAK,OAAOphD,IAAP,KAAgB,QAArB,EAAgC;AAC/B,aAAO,EAAP;AACA;;AACD,QAAK,OAAO0B,OAAP,KAAmB,SAAxB,EAAoC;AACnC0/C,iBAAW,GAAG1/C,OAAd;AACAA,aAAO,GAAG,KAAV;AACA;;AAED,QAAIm1B,IAAJ,EAAUwqB,MAAV,EAAkBnc,OAAlB;;AAEA,QAAK,CAACxjC,OAAN,EAAgB;AAEf;AACA;AACA,UAAKyf,OAAO,CAAC+/B,kBAAb,EAAkC;AACjCx/C,eAAO,GAAGC,QAAQ,CAACw/C,cAAT,CAAwBD,kBAAxB,CAA4C,EAA5C,CAAV,CADiC,CAGjC;AACA;AACA;;AACArqB,YAAI,GAAGn1B,OAAO,CAAC6Q,aAAR,CAAuB,MAAvB,CAAP;AACAskB,YAAI,CAACnB,IAAL,GAAY/zB,QAAQ,CAACgU,QAAT,CAAkB+f,IAA9B;AACAh0B,eAAO,CAAC+lB,IAAR,CAAaC,WAAb,CAA0BmP,IAA1B;AACA,OATD,MASO;AACNn1B,eAAO,GAAGC,QAAV;AACA;AACD;;AAED0/C,UAAM,GAAGpnB,UAAU,CAACld,IAAX,CAAiB/c,IAAjB,CAAT;AACAklC,WAAO,GAAG,CAACkc,WAAD,IAAgB,EAA1B,CA9ByD,CAgCzD;;AACA,QAAKC,MAAL,EAAc;AACb,aAAO,CAAE3/C,OAAO,CAAC6Q,aAAR,CAAuB8uC,MAAM,CAAE,CAAF,CAA7B,CAAF,CAAP;AACA;;AAEDA,UAAM,GAAGpc,aAAa,CAAE,CAAEjlC,IAAF,CAAF,EAAY0B,OAAZ,EAAqBwjC,OAArB,CAAtB;;AAEA,QAAKA,OAAO,IAAIA,OAAO,CAACxiC,MAAxB,EAAiC;AAChCiY,YAAM,CAAEuqB,OAAF,CAAN,CAAkBpkC,MAAlB;AACA;;AAED,WAAO6Z,MAAM,CAAC4N,KAAP,CAAc,EAAd,EAAkB84B,MAAM,CAACzyB,UAAzB,CAAP;AACA,GA5CD;AA+CA;AACA;AACA;;;AACAjU,QAAM,CAAC+D,EAAP,CAAU4pB,IAAV,GAAiB,UAAUpoC,GAAV,EAAemC,MAAf,EAAuBD,QAAvB,EAAkC;AAClD,QAAI0lB,QAAJ;AAAA,QAAc/X,IAAd;AAAA,QAAoB1P,QAApB;AAAA,QACCqa,IAAI,GAAG,IADR;AAAA,QAEC9Y,GAAG,GAAG1B,GAAG,CAACS,OAAJ,CAAa,GAAb,CAFP;;AAIA,QAAKiB,GAAG,GAAG,CAAC,CAAZ,EAAgB;AACfkmB,cAAQ,GAAG0vB,gBAAgB,CAAEt3C,GAAG,CAACia,KAAJ,CAAWvY,GAAX,CAAF,CAA3B;AACA1B,SAAG,GAAGA,GAAG,CAACia,KAAJ,CAAW,CAAX,EAAcvY,GAAd,CAAN;AACA,KARiD,CAUlD;;;AACA,QAAKwf,UAAU,CAAE/e,MAAF,CAAf,EAA4B;AAE3B;AACAD,cAAQ,GAAGC,MAAX;AACAA,YAAM,GAAG4B,SAAT,CAJ2B,CAM5B;AACC,KAPD,MAOO,IAAK5B,MAAM,IAAI,QAAOA,MAAP,MAAkB,QAAjC,EAA4C;AAClD0N,UAAI,GAAG,MAAP;AACA,KApBiD,CAsBlD;;;AACA,QAAK2K,IAAI,CAAChY,MAAL,GAAc,CAAnB,EAAuB;AACtBiY,YAAM,CAACvW,IAAP,CAAa;AACZlE,WAAG,EAAEA,GADO;AAGZ;AACA;AACA;AACA6P,YAAI,EAAEA,IAAI,IAAI,KANF;AAOZ1L,gBAAQ,EAAE,MAPE;AAQZrE,YAAI,EAAEqC;AARM,OAAb,EASIiJ,IATJ,CASU,UAAU60C,YAAV,EAAyB;AAElC;AACA9/C,gBAAQ,GAAGqoB,SAAX;AAEAhO,YAAI,CAACnR,IAAL,CAAWue,QAAQ,GAElB;AACA;AACAnN,cAAM,CAAE,OAAF,CAAN,CAAkB7R,MAAlB,CAA0B6R,MAAM,CAAC2f,SAAP,CAAkB6lB,YAAlB,CAA1B,EAA6DtgD,IAA7D,CAAmEioB,QAAnE,CAJkB,GAMlB;AACAq4B,oBAPD,EALkC,CAcnC;AACA;AACA;AACC,OA1BD,EA0BIljB,MA1BJ,CA0BY76B,QAAQ,IAAI,UAAU24C,KAAV,EAAiB55C,MAAjB,EAA0B;AACjDuZ,YAAI,CAAC5a,IAAL,CAAW,YAAW;AACrBsC,kBAAQ,CAAC8C,KAAT,CAAgB,IAAhB,EAAsB7E,QAAQ,IAAI,CAAE06C,KAAK,CAACoF,YAAR,EAAsBh/C,MAAtB,EAA8B45C,KAA9B,CAAlC;AACA,SAFD;AAGA,OA9BD;AA+BA;;AAED,WAAO,IAAP;AACA,GA1DD;;AA+DApgC,QAAM,CAACkL,IAAP,CAAY8G,OAAZ,CAAoB20B,QAApB,GAA+B,UAAUhmC,IAAV,EAAiB;AAC/C,WAAOX,MAAM,CAACkO,IAAP,CAAalO,MAAM,CAACi7B,MAApB,EAA4B,UAAUl3B,EAAV,EAAe;AACjD,aAAOpD,IAAI,KAAKoD,EAAE,CAACpD,IAAnB;AACA,KAFM,EAEH5Y,MAFJ;AAGA,GAJD;;AASAiY,QAAM,CAACnH,MAAP,GAAgB;AACf+tC,aAAS,EAAE,mBAAUjmC,IAAV,EAAgBC,OAAhB,EAAyBhb,CAAzB,EAA6B;AACvC,UAAIihD,WAAJ;AAAA,UAAiBC,OAAjB;AAAA,UAA0BC,SAA1B;AAAA,UAAqCC,MAArC;AAAA,UAA6CC,SAA7C;AAAA,UAAwDC,UAAxD;AAAA,UAAoEC,iBAApE;AAAA,UACCtiC,QAAQ,GAAG7E,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,UAAlB,CADZ;AAAA,UAECymC,OAAO,GAAGpnC,MAAM,CAAEW,IAAF,CAFjB;AAAA,UAGCytB,KAAK,GAAG,EAHT,CADuC,CAMvC;;AACA,UAAKvpB,QAAQ,KAAK,QAAlB,EAA6B;AAC5BlE,YAAI,CAACqB,KAAL,CAAW6C,QAAX,GAAsB,UAAtB;AACA;;AAEDoiC,eAAS,GAAGG,OAAO,CAACvuC,MAAR,EAAZ;AACAkuC,eAAS,GAAG/mC,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,KAAlB,CAAZ;AACAumC,gBAAU,GAAGlnC,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,MAAlB,CAAb;AACAwmC,uBAAiB,GAAG,CAAEtiC,QAAQ,KAAK,UAAb,IAA2BA,QAAQ,KAAK,OAA1C,KACnB,CAAEkiC,SAAS,GAAGG,UAAd,EAA2BlhD,OAA3B,CAAoC,MAApC,IAA+C,CAAC,CADjD,CAduC,CAiBvC;AACA;;AACA,UAAKmhD,iBAAL,EAAyB;AACxBN,mBAAW,GAAGO,OAAO,CAACviC,QAAR,EAAd;AACAmiC,cAAM,GAAGH,WAAW,CAAC/tC,GAArB;AACAguC,eAAO,GAAGD,WAAW,CAAC7hC,IAAtB;AAEA,OALD,MAKO;AACNgiC,cAAM,GAAGl/B,UAAU,CAAEi/B,SAAF,CAAV,IAA2B,CAApC;AACAD,eAAO,GAAGh/B,UAAU,CAAEo/B,UAAF,CAAV,IAA4B,CAAtC;AACA;;AAED,UAAKzgC,UAAU,CAAE7F,OAAF,CAAf,EAA6B;AAE5B;AACAA,eAAO,GAAGA,OAAO,CAACpW,IAAR,CAAcmW,IAAd,EAAoB/a,CAApB,EAAuBoa,MAAM,CAAC5L,MAAP,CAAe,EAAf,EAAmB6yC,SAAnB,CAAvB,CAAV;AACA;;AAED,UAAKrmC,OAAO,CAAC9H,GAAR,IAAe,IAApB,EAA2B;AAC1Bs1B,aAAK,CAACt1B,GAAN,GAAc8H,OAAO,CAAC9H,GAAR,GAAcmuC,SAAS,CAACnuC,GAA1B,GAAkCkuC,MAA9C;AACA;;AACD,UAAKpmC,OAAO,CAACoE,IAAR,IAAgB,IAArB,EAA4B;AAC3BopB,aAAK,CAACppB,IAAN,GAAepE,OAAO,CAACoE,IAAR,GAAeiiC,SAAS,CAACjiC,IAA3B,GAAoC8hC,OAAjD;AACA;;AAED,UAAK,WAAWlmC,OAAhB,EAA0B;AACzBA,eAAO,CAACymC,KAAR,CAAc78C,IAAd,CAAoBmW,IAApB,EAA0BytB,KAA1B;AAEA,OAHD,MAGO;AACNgZ,eAAO,CAACzxC,GAAR,CAAay4B,KAAb;AACA;AACD;AAjDc,GAAhB;AAoDApuB,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AAEjB;AACAyE,UAAM,EAAE,gBAAU+H,OAAV,EAAoB;AAE3B;AACA,UAAKmN,SAAS,CAAChmB,MAAf,EAAwB;AACvB,eAAO6Y,OAAO,KAAKtX,SAAZ,GACN,IADM,GAEN,KAAKnE,IAAL,CAAW,UAAUS,CAAV,EAAc;AACxBoa,gBAAM,CAACnH,MAAP,CAAc+tC,SAAd,CAAyB,IAAzB,EAA+BhmC,OAA/B,EAAwChb,CAAxC;AACA,SAFD,CAFD;AAKA;;AAED,UAAIojB,IAAJ;AAAA,UAAUlJ,GAAV;AAAA,UACCa,IAAI,GAAG,KAAM,CAAN,CADR;;AAGA,UAAK,CAACA,IAAN,EAAa;AACZ;AACA,OAhB0B,CAkB3B;AACA;AACA;AACA;;;AACA,UAAK,CAACA,IAAI,CAAC+1B,cAAL,GAAsB3uC,MAA5B,EAAqC;AACpC,eAAO;AAAE+Q,aAAG,EAAE,CAAP;AAAUkM,cAAI,EAAE;AAAhB,SAAP;AACA,OAxB0B,CA0B3B;;;AACAgE,UAAI,GAAGrI,IAAI,CAACsI,qBAAL,EAAP;AACAnJ,SAAG,GAAGa,IAAI,CAAC+T,aAAL,CAAmB/M,WAAzB;AACA,aAAO;AACN7O,WAAG,EAAEkQ,IAAI,CAAClQ,GAAL,GAAWgH,GAAG,CAACwnC,WADd;AAENtiC,YAAI,EAAEgE,IAAI,CAAChE,IAAL,GAAYlF,GAAG,CAACynC;AAFhB,OAAP;AAIA,KApCgB;AAsCjB;AACA;AACA1iC,YAAQ,EAAE,oBAAW;AACpB,UAAK,CAAC,KAAM,CAAN,CAAN,EAAkB;AACjB;AACA;;AAED,UAAI2iC,YAAJ;AAAA,UAAkB3uC,MAAlB;AAAA,UAA0B6T,GAA1B;AAAA,UACC/L,IAAI,GAAG,KAAM,CAAN,CADR;AAAA,UAEC8mC,YAAY,GAAG;AAAE3uC,WAAG,EAAE,CAAP;AAAUkM,YAAI,EAAE;AAAhB,OAFhB,CALoB,CASpB;;AACA,UAAKhF,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,UAAlB,MAAmC,OAAxC,EAAkD;AAEjD;AACA9H,cAAM,GAAG8H,IAAI,CAACsI,qBAAL,EAAT;AAEA,OALD,MAKO;AACNpQ,cAAM,GAAG,KAAKA,MAAL,EAAT,CADM,CAGN;AACA;;AACA6T,WAAG,GAAG/L,IAAI,CAAC+T,aAAX;AACA8yB,oBAAY,GAAG7mC,IAAI,CAAC6mC,YAAL,IAAqB96B,GAAG,CAACgK,eAAxC;;AACA,eAAQ8wB,YAAY,KACjBA,YAAY,KAAK96B,GAAG,CAAC6b,IAArB,IAA6Bif,YAAY,KAAK96B,GAAG,CAACgK,eADjC,CAAZ,IAEP1W,MAAM,CAACrK,GAAP,CAAY6xC,YAAZ,EAA0B,UAA1B,MAA2C,QAF5C,EAEuD;AAEtDA,sBAAY,GAAGA,YAAY,CAACtvC,UAA5B;AACA;;AACD,YAAKsvC,YAAY,IAAIA,YAAY,KAAK7mC,IAAjC,IAAyC6mC,YAAY,CAAC9lC,QAAb,KAA0B,CAAxE,EAA4E;AAE3E;AACA+lC,sBAAY,GAAGznC,MAAM,CAAEwnC,YAAF,CAAN,CAAuB3uC,MAAvB,EAAf;AACA4uC,sBAAY,CAAC3uC,GAAb,IAAoBkH,MAAM,CAACrK,GAAP,CAAY6xC,YAAZ,EAA0B,gBAA1B,EAA4C,IAA5C,CAApB;AACAC,sBAAY,CAACziC,IAAb,IAAqBhF,MAAM,CAACrK,GAAP,CAAY6xC,YAAZ,EAA0B,iBAA1B,EAA6C,IAA7C,CAArB;AACA;AACD,OAnCmB,CAqCpB;;;AACA,aAAO;AACN1uC,WAAG,EAAED,MAAM,CAACC,GAAP,GAAa2uC,YAAY,CAAC3uC,GAA1B,GAAgCkH,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,WAAlB,EAA+B,IAA/B,CAD/B;AAENqE,YAAI,EAAEnM,MAAM,CAACmM,IAAP,GAAcyiC,YAAY,CAACziC,IAA3B,GAAkChF,MAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkB,YAAlB,EAAgC,IAAhC;AAFlC,OAAP;AAIA,KAlFgB;AAoFjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA6mC,gBAAY,EAAE,wBAAW;AACxB,aAAO,KAAK15B,GAAL,CAAU,YAAW;AAC3B,YAAI05B,YAAY,GAAG,KAAKA,YAAxB;;AAEA,eAAQA,YAAY,IAAIxnC,MAAM,CAACrK,GAAP,CAAY6xC,YAAZ,EAA0B,UAA1B,MAA2C,QAAnE,EAA8E;AAC7EA,sBAAY,GAAGA,YAAY,CAACA,YAA5B;AACA;;AAED,eAAOA,YAAY,IAAI9wB,eAAvB;AACA,OARM,CAAP;AASA;AAxGgB,GAAlB,EA5sUiF,CAuzUjF;;AACA1W,QAAM,CAAC7a,IAAP,CAAa;AAAEqjB,cAAU,EAAE,aAAd;AAA6B9P,aAAS,EAAE;AAAxC,GAAb,EAAsE,UAAU/J,MAAV,EAAkBwR,IAAlB,EAAyB;AAC9F,QAAIrH,GAAG,GAAG,kBAAkBqH,IAA5B;;AAEAH,UAAM,CAAC+D,EAAP,CAAWpV,MAAX,IAAsB,UAAUge,GAAV,EAAgB;AACrC,aAAOkY,MAAM,CAAE,IAAF,EAAQ,UAAUlkB,IAAV,EAAgBhS,MAAhB,EAAwBge,GAAxB,EAA8B;AAElD;AACA,YAAI7M,GAAJ;;AACA,YAAKqM,QAAQ,CAAExL,IAAF,CAAb,EAAwB;AACvBb,aAAG,GAAGa,IAAN;AACA,SAFD,MAEO,IAAKA,IAAI,CAACe,QAAL,KAAkB,CAAvB,EAA2B;AACjC5B,aAAG,GAAGa,IAAI,CAACgH,WAAX;AACA;;AAED,YAAKgF,GAAG,KAAKrjB,SAAb,EAAyB;AACxB,iBAAOwW,GAAG,GAAGA,GAAG,CAAEK,IAAF,CAAN,GAAiBQ,IAAI,CAAEhS,MAAF,CAA/B;AACA;;AAED,YAAKmR,GAAL,EAAW;AACVA,aAAG,CAAC4nC,QAAJ,CACC,CAAC5uC,GAAD,GAAO6T,GAAP,GAAa7M,GAAG,CAACynC,WADlB,EAECzuC,GAAG,GAAG6T,GAAH,GAAS7M,GAAG,CAACwnC,WAFjB;AAKA,SAND,MAMO;AACN3mC,cAAI,CAAEhS,MAAF,CAAJ,GAAiBge,GAAjB;AACA;AACD,OAvBY,EAuBVhe,MAvBU,EAuBFge,GAvBE,EAuBGoB,SAAS,CAAChmB,MAvBb,CAAb;AAwBA,KAzBD;AA0BA,GA7BD,EAxzUiF,CAu1UjF;AACA;AACA;AACA;AACA;AACA;;AACAiY,QAAM,CAAC7a,IAAP,CAAa,CAAE,KAAF,EAAS,MAAT,CAAb,EAAgC,UAAU8L,EAAV,EAAckP,IAAd,EAAqB;AACpDH,UAAM,CAAC22B,QAAP,CAAiBx2B,IAAjB,IAA0Bu0B,YAAY,CAAEluB,OAAO,CAACstB,aAAV,EACrC,UAAUnzB,IAAV,EAAgB4zB,QAAhB,EAA2B;AAC1B,UAAKA,QAAL,EAAgB;AACfA,gBAAQ,GAAGD,MAAM,CAAE3zB,IAAF,EAAQR,IAAR,CAAjB,CADe,CAGf;;AACA,eAAOoyB,SAAS,CAAC/3B,IAAV,CAAgB+5B,QAAhB,IACNv0B,MAAM,CAAEW,IAAF,CAAN,CAAekE,QAAf,GAA2B1E,IAA3B,IAAoC,IAD9B,GAENo0B,QAFD;AAGA;AACD,KAVoC,CAAtC;AAYA,GAbD,EA71UiF,CA62UjF;;AACAv0B,QAAM,CAAC7a,IAAP,CAAa;AAAEwiD,UAAM,EAAE,QAAV;AAAoBC,SAAK,EAAE;AAA3B,GAAb,EAAmD,UAAUn5B,IAAV,EAAgBrZ,IAAhB,EAAuB;AACzE4K,UAAM,CAAC7a,IAAP,CAAa;AACZ+xC,aAAO,EAAE,UAAUzoB,IADP;AAEZkS,aAAO,EAAEvrB,IAFG;AAGZ,UAAI,UAAUqZ;AAHF,KAAb,EAIG,UAAUo5B,YAAV,EAAwBC,QAAxB,EAAmC;AAErC;AACA9nC,YAAM,CAAC+D,EAAP,CAAW+jC,QAAX,IAAwB,UAAU7Q,MAAV,EAAkB/sB,KAAlB,EAA0B;AACjD,YAAI4a,SAAS,GAAG/W,SAAS,CAAChmB,MAAV,KAAsB8/C,YAAY,IAAI,OAAO5Q,MAAP,KAAkB,SAAxD,CAAhB;AAAA,YACCd,KAAK,GAAG0R,YAAY,KAAM5Q,MAAM,KAAK,IAAX,IAAmB/sB,KAAK,KAAK,IAA7B,GAAoC,QAApC,GAA+C,QAArD,CADrB;AAGA,eAAO2a,MAAM,CAAE,IAAF,EAAQ,UAAUlkB,IAAV,EAAgBvL,IAAhB,EAAsB8U,KAAtB,EAA8B;AAClD,cAAIwC,GAAJ;;AAEA,cAAKP,QAAQ,CAAExL,IAAF,CAAb,EAAwB;AAEvB;AACA,mBAAOmnC,QAAQ,CAAC9hD,OAAT,CAAkB,OAAlB,MAAgC,CAAhC,GACN2a,IAAI,CAAE,UAAU8N,IAAZ,CADE,GAEN9N,IAAI,CAAC3Z,QAAL,CAAc0vB,eAAd,CAA+B,WAAWjI,IAA1C,CAFD;AAGA,WATiD,CAWlD;;;AACA,cAAK9N,IAAI,CAACe,QAAL,KAAkB,CAAvB,EAA2B;AAC1BgL,eAAG,GAAG/L,IAAI,CAAC+V,eAAX,CAD0B,CAG1B;AACA;;AACA,mBAAOlR,IAAI,CAACC,GAAL,CACN9E,IAAI,CAAC4nB,IAAL,CAAW,WAAW9Z,IAAtB,CADM,EACwB/B,GAAG,CAAE,WAAW+B,IAAb,CAD3B,EAEN9N,IAAI,CAAC4nB,IAAL,CAAW,WAAW9Z,IAAtB,CAFM,EAEwB/B,GAAG,CAAE,WAAW+B,IAAb,CAF3B,EAGN/B,GAAG,CAAE,WAAW+B,IAAb,CAHG,CAAP;AAKA;;AAED,iBAAOvE,KAAK,KAAK5gB,SAAV,GAEN;AACA0W,gBAAM,CAACrK,GAAP,CAAYgL,IAAZ,EAAkBvL,IAAlB,EAAwB+gC,KAAxB,CAHM,GAKN;AACAn2B,gBAAM,CAACgC,KAAP,CAAcrB,IAAd,EAAoBvL,IAApB,EAA0B8U,KAA1B,EAAiCisB,KAAjC,CAND;AAOA,SA/BY,EA+BV/gC,IA/BU,EA+BJ0vB,SAAS,GAAGmS,MAAH,GAAY3tC,SA/BjB,EA+B4Bw7B,SA/B5B,CAAb;AAgCA,OApCD;AAqCA,KA5CD;AA6CA,GA9CD;AAiDA9kB,QAAM,CAAC7a,IAAP,CAAa,CACZ,WADY,EAEZ,UAFY,EAGZ,cAHY,EAIZ,WAJY,EAKZ,aALY,EAMZ,UANY,CAAb,EAOG,UAAU8L,EAAV,EAAcmE,IAAd,EAAqB;AACvB4K,UAAM,CAAC+D,EAAP,CAAW3O,IAAX,IAAoB,UAAU2O,EAAV,EAAe;AAClC,aAAO,KAAK7c,EAAL,CAASkO,IAAT,EAAe2O,EAAf,CAAP;AACA,KAFD;AAGA,GAXD;AAgBA/D,QAAM,CAAC+D,EAAP,CAAU3P,MAAV,CAAkB;AAEjBgN,QAAI,EAAE,cAAUgqB,KAAV,EAAiB/lC,IAAjB,EAAuB0e,EAAvB,EAA4B;AACjC,aAAO,KAAK7c,EAAL,CAASkkC,KAAT,EAAgB,IAAhB,EAAsB/lC,IAAtB,EAA4B0e,EAA5B,CAAP;AACA,KAJgB;AAKjBgkC,UAAM,EAAE,gBAAU3c,KAAV,EAAiBrnB,EAAjB,EAAsB;AAC7B,aAAO,KAAK9c,GAAL,CAAUmkC,KAAV,EAAiB,IAAjB,EAAuBrnB,EAAvB,CAAP;AACA,KAPgB;AASjBikC,YAAQ,EAAE,kBAAU76B,QAAV,EAAoBie,KAApB,EAA2B/lC,IAA3B,EAAiC0e,EAAjC,EAAsC;AAC/C,aAAO,KAAK7c,EAAL,CAASkkC,KAAT,EAAgBje,QAAhB,EAA0B9nB,IAA1B,EAAgC0e,EAAhC,CAAP;AACA,KAXgB;AAYjBkkC,cAAU,EAAE,oBAAU96B,QAAV,EAAoBie,KAApB,EAA2BrnB,EAA3B,EAAgC;AAE3C;AACA,aAAOgK,SAAS,CAAChmB,MAAV,KAAqB,CAArB,GACN,KAAKd,GAAL,CAAUkmB,QAAV,EAAoB,IAApB,CADM,GAEN,KAAKlmB,GAAL,CAAUmkC,KAAV,EAAiBje,QAAQ,IAAI,IAA7B,EAAmCpJ,EAAnC,CAFD;AAGA,KAlBgB;AAoBjBmkC,SAAK,EAAE,eAAUC,MAAV,EAAkBC,KAAlB,EAA0B;AAChC,aAAO,KAAKnY,UAAL,CAAiBkY,MAAjB,EAA0BjY,UAA1B,CAAsCkY,KAAK,IAAID,MAA/C,CAAP;AACA;AAtBgB,GAAlB;AAyBAnoC,QAAM,CAAC7a,IAAP,CACC,CAAE,8DACF,uEADE,GAEF,yDAFA,EAE4D6qB,KAF5D,CAEmE,GAFnE,CADD,EAIC,UAAU/e,EAAV,EAAcwd,IAAd,EAAqB;AAEpB;AACAzO,UAAM,CAAC+D,EAAP,CAAW0K,IAAX,IAAoB,UAAUppB,IAAV,EAAgB0e,EAAhB,EAAqB;AACxC,aAAOgK,SAAS,CAAChmB,MAAV,GAAmB,CAAnB,GACN,KAAKb,EAAL,CAASunB,IAAT,EAAe,IAAf,EAAqBppB,IAArB,EAA2B0e,EAA3B,CADM,GAEN,KAAK3Z,OAAL,CAAcqkB,IAAd,CAFD;AAGA,KAJD;AAKA,GAZF,EAx8UiF,CA09UjF;AACA;;AACA,MAAI0D,KAAK,GAAG,oCAAZ,CA59UiF,CA89UjF;AACA;AACA;AACA;;AACAnS,QAAM,CAACqoC,KAAP,GAAe,UAAUtkC,EAAV,EAAchd,OAAd,EAAwB;AACtC,QAAIqwB,GAAJ,EAAS7X,IAAT,EAAe8oC,KAAf;;AAEA,QAAK,OAAOthD,OAAP,KAAmB,QAAxB,EAAmC;AAClCqwB,SAAG,GAAGrT,EAAE,CAAEhd,OAAF,CAAR;AACAA,aAAO,GAAGgd,EAAV;AACAA,QAAE,GAAGqT,GAAL;AACA,KAPqC,CAStC;AACA;;;AACA,QAAK,CAAC3Q,UAAU,CAAE1C,EAAF,CAAhB,EAAyB;AACxB,aAAOza,SAAP;AACA,KAbqC,CAetC;;;AACAiW,QAAI,GAAGC,MAAK,CAAChV,IAAN,CAAYujB,SAAZ,EAAuB,CAAvB,CAAP;;AACAs6B,SAAK,GAAG,iBAAW;AAClB,aAAOtkC,EAAE,CAACxZ,KAAH,CAAUxD,OAAO,IAAI,IAArB,EAA2BwY,IAAI,CAACqM,MAAL,CAAapM,MAAK,CAAChV,IAAN,CAAYujB,SAAZ,CAAb,CAA3B,CAAP;AACA,KAFD,CAjBsC,CAqBtC;;;AACAs6B,SAAK,CAACx4B,IAAN,GAAa9L,EAAE,CAAC8L,IAAH,GAAU9L,EAAE,CAAC8L,IAAH,IAAW7P,MAAM,CAAC6P,IAAP,EAAlC;AAEA,WAAOw4B,KAAP;AACA,GAzBD;;AA2BAroC,QAAM,CAACsoC,SAAP,GAAmB,UAAUC,IAAV,EAAiB;AACnC,QAAKA,IAAL,EAAY;AACXvoC,YAAM,CAACwkB,SAAP;AACA,KAFD,MAEO;AACNxkB,YAAM,CAAC1F,KAAP,CAAc,IAAd;AACA;AACD,GAND;;AAOA0F,QAAM,CAACQ,OAAP,GAAiBH,KAAK,CAACG,OAAvB;AACAR,QAAM,CAACwoC,SAAP,GAAmB70C,IAAI,CAACC,KAAxB;AACAoM,QAAM,CAACuB,QAAP,GAAkBA,QAAlB;AACAvB,QAAM,CAACyG,UAAP,GAAoBA,UAApB;AACAzG,QAAM,CAACmM,QAAP,GAAkBA,QAAlB;AACAnM,QAAM,CAACylB,SAAP,GAAmBA,SAAnB;AACAzlB,QAAM,CAAC5K,IAAP,GAAc6X,MAAd;AAEAjN,QAAM,CAAC4J,GAAP,GAAaqH,IAAI,CAACrH,GAAlB;;AAEA5J,QAAM,CAACyoC,SAAP,GAAmB,UAAUloC,GAAV,EAAgB;AAElC;AACA;AACA;AACA,QAAInL,IAAI,GAAG4K,MAAM,CAAC5K,IAAP,CAAamL,GAAb,CAAX;AACA,WAAO,CAAEnL,IAAI,KAAK,QAAT,IAAqBA,IAAI,KAAK,QAAhC,KAEN;AACA;AACA;AACA,KAAC3J,KAAK,CAAE8U,GAAG,GAAGuH,UAAU,CAAEvH,GAAF,CAAlB,CALP;AAMA,GAZD;;AAcAP,QAAM,CAAC0oC,IAAP,GAAc,UAAU77B,IAAV,EAAiB;AAC9B,WAAOA,IAAI,IAAI,IAAR,GACN,EADM,GAEN,CAAEA,IAAI,GAAG,EAAT,EAAc3jB,OAAd,CAAuBipB,KAAvB,EAA8B,EAA9B,CAFD;AAGA,GAJD,CA5hViF,CAoiVjF;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;;AAEA,MAAK,IAAL,EAAkD;AACjD1T,qCAAkB,EAAZ,mCAAgB,YAAW;AAChC,aAAOuB,MAAP;AACA,KAFK;AAAA,oGAAN;AAGA;;AAKD,MAEC;AACA2oC,SAAO,GAAGthD,MAAM,CAAC2Y,MAHlB;AAAA,MAKC;AACA4oC,IAAE,GAAGvhD,MAAM,CAACtC,CANb;;AAQAib,QAAM,CAAC6oC,UAAP,GAAoB,UAAUh6B,IAAV,EAAiB;AACpC,QAAKxnB,MAAM,CAACtC,CAAP,KAAaib,MAAlB,EAA2B;AAC1B3Y,YAAM,CAACtC,CAAP,GAAW6jD,EAAX;AACA;;AAED,QAAK/5B,IAAI,IAAIxnB,MAAM,CAAC2Y,MAAP,KAAkBA,MAA/B,EAAwC;AACvC3Y,YAAM,CAAC2Y,MAAP,GAAgB2oC,OAAhB;AACA;;AAED,WAAO3oC,MAAP;AACA,GAVD,CAlkViF,CA8kVjF;AACA;AACA;;;AACA,MAAK,OAAOsL,QAAP,KAAoB,WAAzB,EAAuC;AACtCjkB,UAAM,CAAC2Y,MAAP,GAAgB3Y,MAAM,CAACtC,CAAP,GAAWib,MAA3B;AACA;;AAKD,SAAOA,MAAP;AACC,CAnnVD,E;;;;;;;;;;;;;ACbA;AAAA;AAAA;AAAA;AACA;AACO,SAAS8oC,UAAT,CAAoBC,KAApB,EAA2B57B,QAA3B,EAAqC67B,KAArC,EAA4Ch7C,KAA5C,EAAmD;AACxD;AACE,kBAAgB+6C,KAAhB,GACEA,KAAK,CAACE,UAAN,CAAiB97B,QAAQ,GAAG,GAAX,GAAiB67B,KAAjB,GAAyB,GAA1C,EAA+Ch7C,KAA/C,CADF,GAEE+6C,KAAK,CAACG,OAAN,CAAc/7B,QAAd,EAAwB67B,KAAxB,EAA+Bh7C,KAA/B,CAFF,CAFsD,CAKxD;AACD,C;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AACA,IAAInE,QAAQ,GAAGs/C,6DAAgB,GAC3B,UAAU//B,EAAV,EAAcggC,GAAd,EAAmB;AACjB,MAAI,CAACnkD,6DAAQ,CAACmkB,EAAD,EAAMggC,GAAN,CAAb,EAAyB;AAAEhgC,MAAE,CAAC7M,SAAH,CAAavS,GAAb,CAAiBo/C,GAAjB;AAAwB;AACpD,CAH0B,GAI3B,UAAUhgC,EAAV,EAAcggC,GAAd,EAAmB;AACjB,MAAI,CAACnkD,6DAAQ,CAACmkB,EAAD,EAAMggC,GAAN,CAAb,EAAyB;AAAEhgC,MAAE,CAAC0N,SAAH,IAAgB,MAAMsyB,GAAtB;AAA4B;AACxD,CANL;;;;;;;;;;;;;ACDA;AAAA;AAAA;AAAA;AAEO,SAASC,SAAT,CAAmBjgC,EAAnB,EAAuB7I,GAAvB,EAA4B+oC,gBAA5B,EAA8C;AACnD,OAAK,IAAInpC,IAAT,IAAiBI,GAAjB,EAAsB;AACpB,QAAI+oB,MAAM,GAAG,CAAC,YAAD,EAAe,WAAf,EAA4BtjC,OAA5B,CAAoCma,IAApC,KAA6C,CAA7C,IAAkD,CAACmpC,gBAAnD,GAAsEC,+DAAtE,GAAsF,KAAnG;AACAngC,MAAE,CAAC3L,gBAAH,CAAoB0C,IAApB,EAA0BI,GAAG,CAACJ,IAAD,CAA7B,EAAqCmpB,MAArC;AACD;AACF,C;;;;;;;;;;;;ACPD;AAAA;AAAO,SAASkgB,iBAAT,CAA4BC,EAA5B,EAAgC;AACrC,MAAIl+B,GAAG,GAAG,EAAV;;AACA,OAAK,IAAI3lB,CAAC,GAAG,CAAR,EAAWq6B,CAAC,GAAGwpB,EAAE,CAAC1hD,MAAvB,EAA+BnC,CAAC,GAAGq6B,CAAnC,EAAsCr6B,CAAC,EAAvC,EAA2C;AACzC2lB,OAAG,CAACnjB,IAAJ,CAASqhD,EAAE,CAAC7jD,CAAD,CAAX;AACD;;AACD,SAAO2lB,GAAP;AACD,C;;;;;;;;;;;;ACND;AAAA;AAAA,IAAIzL,GAAG,GAAGzY,MAAV;AAEO,IAAIqiD,GAAG,GAAG5pC,GAAG,CAAC6pC,oBAAJ,IACZ7pC,GAAG,CAAC8pC,uBADQ,IAEZ,UAAS9jD,EAAT,EAAY;AAAE81C,cAAY,CAAC91C,EAAD,CAAZ;AAAmB,CAF/B,C;;;;;;;;;;;;ACFP;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEO,SAAS+jD,IAAT,GAAgB;AACrB,MAAIn9B,GAAG,GAAG1lB,QAAV;AAAA,MACIuhC,IAAI,GAAGuhB,2DAAO,EADlB;AAAA,MAEIC,WAAW,GAAGC,mEAAW,CAACzhB,IAAD,CAF7B;AAAA,MAGIW,GAAG,GAAGxc,GAAG,CAAC9U,aAAJ,CAAkB,KAAlB,CAHV;AAAA,MAII0hB,MAAM,GAAG,KAJb;AAMAiP,MAAI,CAACxb,WAAL,CAAiBmc,GAAjB;;AACA,MAAI;AACF,QAAIkgB,GAAG,GAAG,aAAV;AAAA,QACIa,IAAI,GAAG,CAAC,SAASb,GAAV,EAAe,cAAcA,GAA7B,EAAkC,iBAAiBA,GAAnD,CADX;AAAA,QAEIz8B,GAFJ;;AAGA,SAAK,IAAI/mB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;AAC1B+mB,SAAG,GAAGs9B,IAAI,CAACrkD,CAAD,CAAV;AACAsjC,SAAG,CAAClnB,KAAJ,CAAUnM,KAAV,GAAkB8W,GAAlB;;AACA,UAAIuc,GAAG,CAAC5rB,WAAJ,KAAoB,GAAxB,EAA6B;AAC3Bgc,cAAM,GAAG3M,GAAG,CAACzjB,OAAJ,CAAYkgD,GAAZ,EAAiB,EAAjB,CAAT;AACA;AACD;AACF;AACF,GAZD,CAYE,OAAOvkD,CAAP,EAAU,CAAE;;AAEd0jC,MAAI,CAAC2hB,IAAL,GAAYC,uEAAa,CAAC5hB,IAAD,EAAOwhB,WAAP,CAAzB,GAA+C7gB,GAAG,CAAC/iC,MAAJ,EAA/C;AAEA,SAAOmzB,MAAP;AACD,C;;;;;;;;;;;;AChCD;AAAA;AAAO,SAAS8wB,iBAAT,CAA4BlgC,KAA5B,EAAmC;AACxC,SAAO,CAAC,MAAD,EAAS,OAAT,EAAkBlkB,OAAlB,CAA0BkkB,KAA1B,KAAoC,CAApC,GAAwCvW,IAAI,CAACC,KAAL,CAAWsW,KAAX,CAAxC,GAA4DA,KAAnE;AACD,C;;;;;;;;;;;;ACFD;AAAA;AAAO,IAAIi/B,gBAAgB,IAAG,eAAeniD,QAAQ,CAAC4Q,aAAT,CAAuB,GAAvB,CAAlB,CAApB,C;;;;;;;;;;;;ACAP;AAAA;AAAA;AACO,SAASyyC,gBAAT,CAA2BC,KAA3B,EAAkCj+B,KAAlC,EAAyC;AAC9C;AACA,MAAIrK,KAAK,GAAGhb,QAAQ,CAAC4Q,aAAT,CAAuB,OAAvB,CAAZ,CAF8C,CAG9C;AAEA;AACA;AACA;;AACA,MAAI0yC,KAAJ,EAAW;AAAEtoC,SAAK,CAAC8E,YAAN,CAAmB,OAAnB,EAA4BwjC,KAA5B;AAAqC,GARJ,CAU9C;;;AACA,MAAIj+B,KAAJ,EAAW;AAAErK,SAAK,CAAC8E,YAAN,CAAmB,OAAnB,EAA4BuF,KAA5B;AAAqC,GAXJ,CAa9C;AACA;AAEA;;;AACArlB,UAAQ,CAACif,aAAT,CAAuB,MAAvB,EAA+B8G,WAA/B,CAA2C/K,KAA3C;AAEA,SAAOA,KAAK,CAAC+mC,KAAN,GAAc/mC,KAAK,CAAC+mC,KAApB,GAA4B/mC,KAAK,CAACuoC,UAAzC;AACD;AAAA,C;;;;;;;;;;;;ACrBD;AAAA;AAAO,IAAIC,UAAU,GAAGxjD,QAAQ,CAAC0vB,eAA1B,C;;;;;;;;;;;;ACAP;AAAA;AAAO,SAAS+zB,MAAT,GAAkB;AACvB,SAAO;AACLC,UAAM,EAAE,EADH;AAELxjD,MAAE,EAAE,YAAU2X,SAAV,EAAqBkF,EAArB,EAAyB;AAC3B,WAAK2mC,MAAL,CAAY7rC,SAAZ,IAAyB,KAAK6rC,MAAL,CAAY7rC,SAAZ,KAA0B,EAAnD;AACA,WAAK6rC,MAAL,CAAY7rC,SAAZ,EAAuBzW,IAAvB,CAA4B2b,EAA5B;AACD,KALI;AAML9c,OAAG,EAAE,aAAS4X,SAAT,EAAoBkF,EAApB,EAAwB;AAC3B,UAAI,KAAK2mC,MAAL,CAAY7rC,SAAZ,CAAJ,EAA4B;AAC1B,aAAK,IAAIjZ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK8kD,MAAL,CAAY7rC,SAAZ,EAAuB9W,MAA3C,EAAmDnC,CAAC,EAApD,EAAwD;AACtD,cAAI,KAAK8kD,MAAL,CAAY7rC,SAAZ,EAAuBjZ,CAAvB,MAA8Bme,EAAlC,EAAsC;AACpC,iBAAK2mC,MAAL,CAAY7rC,SAAZ,EAAuBQ,MAAvB,CAA8BzZ,CAA9B,EAAiC,CAAjC;AACA;AACD;AACF;AACF;AACF,KAfI;AAgBL+kD,QAAI,EAAE,cAAU9rC,SAAV,EAAqBxZ,IAArB,EAA2B;AAC/BA,UAAI,CAAC+P,IAAL,GAAYyJ,SAAZ;;AACA,UAAI,KAAK6rC,MAAL,CAAY7rC,SAAZ,CAAJ,EAA4B;AAC1B,aAAK6rC,MAAL,CAAY7rC,SAAZ,EAAuBjR,OAAvB,CAA+B,UAASmW,EAAT,EAAa;AAC1CA,YAAE,CAAC1e,IAAD,EAAOwZ,SAAP,CAAF;AACD,SAFD;AAGD;AACF;AAvBI,GAAP;AAyBD;AAAA,C;;;;;;;;;;;;AC1BD;AAAA;AAAO,SAASzK,MAAT,GAAkB;AACvB,MAAImM,GAAJ;AAAA,MAASkO,IAAT;AAAA,MAAeC,IAAf;AAAA,MACIvf,MAAM,GAAG4e,SAAS,CAAC,CAAD,CAAT,IAAgB,EAD7B;AAAA,MAEInoB,CAAC,GAAG,CAFR;AAAA,MAGImC,MAAM,GAAGgmB,SAAS,CAAChmB,MAHvB;;AAKA,SAAOnC,CAAC,GAAGmC,MAAX,EAAmBnC,CAAC,EAApB,EAAwB;AACtB,QAAI,CAAC2a,GAAG,GAAGwN,SAAS,CAACnoB,CAAD,CAAhB,MAAyB,IAA7B,EAAmC;AACjC,WAAK6oB,IAAL,IAAalO,GAAb,EAAkB;AAChBmO,YAAI,GAAGnO,GAAG,CAACkO,IAAD,CAAV;;AAEA,YAAItf,MAAM,KAAKuf,IAAf,EAAqB;AACnB;AACD,SAFD,MAEO,IAAIA,IAAI,KAAKplB,SAAb,EAAwB;AAC7B6F,gBAAM,CAACsf,IAAD,CAAN,GAAeC,IAAf;AACD;AACF;AACF;AACF;;AACD,SAAOvf,MAAP;AACD,C;;;;;;;;;;;;ACpBD;AAAA;AAAA;AACO,SAASvB,OAAT,CAAkB2d,GAAlB,EAAuB9jB,QAAvB,EAAiCsB,KAAjC,EAAwC;AAC7C,OAAK,IAAInD,CAAC,GAAG,CAAR,EAAWq6B,CAAC,GAAG1U,GAAG,CAACxjB,MAAxB,EAAgCnC,CAAC,GAAGq6B,CAApC,EAAuCr6B,CAAC,EAAxC,EAA4C;AAC1C6B,YAAQ,CAAC+C,IAAT,CAAczB,KAAd,EAAqBwiB,GAAG,CAAC3lB,CAAD,CAAxB,EAA6BA,CAA7B;AACD;AACF,C;;;;;;;;;;;;ACLD;AAAA;AAAO,SAASglD,OAAT,CAAiBxhC,EAAjB,EAAqBljB,IAArB,EAA2B;AAChC,SAAOkjB,EAAE,CAAClD,YAAH,CAAgBhgB,IAAhB,CAAP;AACD,C;;;;;;;;;;;;ACFD;AAAA;AAAO,SAAS4jD,OAAT,GAAoB;AACzB,MAAIp9B,GAAG,GAAG1lB,QAAV;AAAA,MACIuhC,IAAI,GAAG7b,GAAG,CAAC6b,IADf;;AAGA,MAAI,CAACA,IAAL,EAAW;AACTA,QAAI,GAAG7b,GAAG,CAAC9U,aAAJ,CAAkB,MAAlB,CAAP;AACA2wB,QAAI,CAAC2hB,IAAL,GAAY,IAAZ;AACD;;AAED,SAAO3hB,IAAP;AACD,C;;;;;;;;;;;;ACVD;AAAA;AAAO,SAASsiB,iBAAT,CAA2B9B,KAA3B,EAAkC;AACvC,MAAI+B,IAAI,GAAI,gBAAgB/B,KAAjB,GAA0BA,KAAK,CAACgC,QAAhC,GAA2ChC,KAAK,CAACC,KAA5D;AACA,SAAO8B,IAAI,CAAC/iD,MAAZ;AACD,C;;;;;;;;;;;;ACHD;AAAA;AAAA;AACA;AACA;AACA;AACO,SAASijD,cAAT,CAAwBC,MAAxB,EAAgCC,OAAhC,EAAyC;AAC9C,MAAIC,OAAO,GAAG,KAAd;;AACA,MAAI,UAAU3wC,IAAV,CAAeywC,MAAf,CAAJ,EAA4B;AAC1BE,WAAO,GAAG,WAAWD,OAAX,GAAqB,KAA/B;AACD,GAFD,MAEO,IAAI,KAAK1wC,IAAL,CAAUywC,MAAV,CAAJ,EAAuB;AAC5BE,WAAO,GAAG,MAAMD,OAAN,GAAgB,KAA1B;AACD,GAFM,MAEA,IAAID,MAAJ,EAAY;AACjBE,WAAO,GAAGD,OAAO,CAAChiC,WAAR,KAAwB,KAAlC;AACD;;AACD,SAAOiiC,OAAP;AACD,C;;;;;;;;;;;;ACdD;AAAA;AAAO,SAASC,UAAT,GAAsB;AAC3B,MAAItlD,EAAE,GAAGuB,MAAM,CAACgkD,KAAhB;AACAhkD,QAAM,CAACgkD,KAAP,GAAe,CAACvlD,EAAD,GAAM,CAAN,GAAUA,EAAE,GAAG,CAA9B;AAEA,SAAO,QAAQuB,MAAM,CAACgkD,KAAtB;AACD,C;;;;;;;;;;;;ACLD;AAAA;AAAO,SAASC,iBAAT,CAA2BC,KAA3B,EAAkCC,KAAlC,EAAyC;AAC9C,MAAI9tC,SAAS,GAAG,KAAhB;AAAA,MACI+tC,GAAG,GAAGjmC,IAAI,CAACkmC,GAAL,CAAS,KAAKlmC,IAAI,CAACkmC,GAAL,CAASH,KAAT,CAAd,CADV;;AAGA,MAAIE,GAAG,IAAI,KAAKD,KAAhB,EAAuB;AACrB9tC,aAAS,GAAG,YAAZ;AACD,GAFD,MAEO,IAAI+tC,GAAG,IAAID,KAAX,EAAkB;AACvB9tC,aAAS,GAAG,UAAZ;AACD;;AAED,SAAOA,SAAP;AACD,C;;;;;;;;;;;;ACXD;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEO,SAASiuC,eAAT,CAAyBC,EAAzB,EAA4B;AACjC,MAAI,CAACA,EAAL,EAAS;AAAE,WAAO,KAAP;AAAe;;AAC1B,MAAI,CAACvkD,MAAM,CAAC4a,gBAAZ,EAA8B;AAAE,WAAO,KAAP;AAAe;;AAE/C,MAAIyK,GAAG,GAAG1lB,QAAV;AAAA,MACIuhC,IAAI,GAAGuhB,2DAAO,EADlB;AAAA,MAEIC,WAAW,GAAGC,mEAAW,CAACzhB,IAAD,CAF7B;AAAA,MAGInf,EAAE,GAAGsD,GAAG,CAAC9U,aAAJ,CAAkB,GAAlB,CAHT;AAAA,MAIIi0C,KAJJ;AAAA,MAKIC,KAAK,GAAGF,EAAE,CAAC7jD,MAAH,GAAY,CAAZ,GAAgB,MAAM6jD,EAAE,CAACpsC,KAAH,CAAS,CAAT,EAAY,CAAC,CAAb,EAAgB0J,WAAhB,EAAN,GAAsC,GAAtD,GAA4D,EALxE;AAOA4iC,OAAK,IAAI,WAAT,CAXiC,CAajC;;AACAvjB,MAAI,CAACpwB,YAAL,CAAkBiR,EAAlB,EAAsB,IAAtB;AAEAA,IAAE,CAACpH,KAAH,CAAS4pC,EAAT,IAAe,0BAAf;AACAC,OAAK,GAAGxkD,MAAM,CAAC4a,gBAAP,CAAwBmH,EAAxB,EAA4BqrB,gBAA5B,CAA6CqX,KAA7C,CAAR;AAEAvjB,MAAI,CAAC2hB,IAAL,GAAYC,uEAAa,CAAC5hB,IAAD,EAAOwhB,WAAP,CAAzB,GAA+C3gC,EAAE,CAACjjB,MAAH,EAA/C;AAEA,SAAQ0lD,KAAK,KAAKviD,SAAV,IAAuBuiD,KAAK,CAAC9jD,MAAN,GAAe,CAAtC,IAA2C8jD,KAAK,KAAK,MAA7D;AACD,C;;;;;;;;;;;;AC1BD;AAAA;AAAO,SAASE,OAAT,CAAiB3iC,EAAjB,EAAqBljB,IAArB,EAA2B;AAChC,SAAOkjB,EAAE,CAACxX,YAAH,CAAgB1L,IAAhB,CAAP;AACD,C;;;;;;;;;;;;ACFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,IAAIjB,QAAQ,GAAGkkD,qEAAgB,GAC3B,UAAU//B,EAAV,EAAcggC,GAAd,EAAmB;AAAE,SAAOhgC,EAAE,CAAC7M,SAAH,CAAayU,QAAb,CAAsBo4B,GAAtB,CAAP;AAAoC,CAD9B,GAE3B,UAAUhgC,EAAV,EAAcggC,GAAd,EAAmB;AAAE,SAAOhgC,EAAE,CAAC0N,SAAH,CAAa9wB,OAAb,CAAqBojD,GAArB,KAA6B,CAApC;AAAwC,CAFjE;;;;;;;;;;;;;ACFA;AAAA;AAAO,SAAS4C,WAAT,CAAqB5iC,EAArB,EAAyB6iC,SAAzB,EAAoC;AACzC,MAAI7iC,EAAE,CAACpH,KAAH,CAAS0lB,OAAT,KAAqB,MAAzB,EAAiC;AAAEte,MAAE,CAACpH,KAAH,CAAS0lB,OAAT,GAAmB,MAAnB;AAA4B;AAChE,C;;;;;;;;;;;;ACFD;AAAA;AAAO,SAASwkB,UAAT,CAAoB9iC,EAApB,EAAwB;AAC7B;AACA,SAAO,OAAOA,EAAE,CAAC8C,IAAV,KAAmB,WAA1B;AACD,C;;;;;;;;;;;;ACHD;AAAA;AAAO,SAAS/O,SAAT,CAAmBiM,EAAnB,EAAuB;AAC5B,SAAO/hB,MAAM,CAAC4a,gBAAP,CAAwBmH,EAAxB,EAA4Bse,OAA5B,KAAwC,MAA/C;AACD,C;;;;;;;;;;;;ACFD;AAAA;AAAO,SAASykB,WAAT,CAAqBj7C,OAArB,EAA8BhL,IAA9B,EAAoCixC,MAApC,EAA4CiV,OAA5C,EAAqDxR,EAArD,EAAyDz2B,QAAzD,EAAmE1c,QAAnE,EAA6E;AAClF,MAAImxC,IAAI,GAAGpzB,IAAI,CAACE,GAAL,CAASvB,QAAT,EAAmB,EAAnB,CAAX;AAAA,MACI+jB,IAAI,GAAI0S,EAAE,CAAC50C,OAAH,CAAW,GAAX,KAAmB,CAApB,GAAyB,GAAzB,GAA+B,IAD1C;AAAA,MAEI40C,EAAE,GAAGA,EAAE,CAAC1xC,OAAH,CAAWg/B,IAAX,EAAiB,EAAjB,CAFT;AAAA,MAGImkB,IAAI,GAAGC,MAAM,CAACp7C,OAAO,CAAC8Q,KAAR,CAAc9b,IAAd,EAAoBgD,OAApB,CAA4BiuC,MAA5B,EAAoC,EAApC,EAAwCjuC,OAAxC,CAAgDkjD,OAAhD,EAAyD,EAAzD,EAA6DljD,OAA7D,CAAqEg/B,IAArE,EAA2E,EAA3E,CAAD,CAHjB;AAAA,MAIIqkB,YAAY,GAAG,CAAC3R,EAAE,GAAGyR,IAAN,IAAcloC,QAAd,GAAyBy0B,IAJ5C;AAAA,MAKI4T,OALJ;AAOA7xC,YAAU,CAAC8xC,WAAD,EAAc7T,IAAd,CAAV;;AACA,WAAS6T,WAAT,GAAuB;AACrBtoC,YAAQ,IAAIy0B,IAAZ;AACAyT,QAAI,IAAIE,YAAR;AACAr7C,WAAO,CAAC8Q,KAAR,CAAc9b,IAAd,IAAsBixC,MAAM,GAAGkV,IAAT,GAAgBnkB,IAAhB,GAAuBkkB,OAA7C;;AACA,QAAIjoC,QAAQ,GAAG,CAAf,EAAkB;AAChBxJ,gBAAU,CAAC8xC,WAAD,EAAc7T,IAAd,CAAV;AACD,KAFD,MAEO;AACLnxC,cAAQ;AACT;AACF;AACF,C;;;;;;;;;;;;ACnBD;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEO,SAASilD,iBAAT,GAA8B;AACnC,MAAIrlD,MAAM,CAACslD,UAAP,IAAqBtlD,MAAM,CAACulD,YAAhC,EAA8C;AAC5C,WAAO,IAAP;AACD;;AAED,MAAIlgC,GAAG,GAAG1lB,QAAV;AAAA,MACIuhC,IAAI,GAAGuhB,2DAAO,EADlB;AAAA,MAEIC,WAAW,GAAGC,mEAAW,CAACzhB,IAAD,CAF7B;AAAA,MAGIW,GAAG,GAAGxc,GAAG,CAAC9U,aAAJ,CAAkB,KAAlB,CAHV;AAAA,MAIIoK,KAAK,GAAG0K,GAAG,CAAC9U,aAAJ,CAAkB,OAAlB,CAJZ;AAAA,MAKIkzC,IAAI,GAAG,iEALX;AAAA,MAMIjmC,QANJ;AAQA7C,OAAK,CAAC5M,IAAN,GAAa,UAAb;AACA8zB,KAAG,CAACpS,SAAJ,GAAgB,aAAhB;AAEAyR,MAAI,CAACxb,WAAL,CAAiB/K,KAAjB;AACAumB,MAAI,CAACxb,WAAL,CAAiBmc,GAAjB;;AAEA,MAAIlnB,KAAK,CAACuoC,UAAV,EAAsB;AACpBvoC,SAAK,CAACuoC,UAAN,CAAiBzX,OAAjB,GAA2BgY,IAA3B;AACD,GAFD,MAEO;AACL9oC,SAAK,CAAC+K,WAAN,CAAkBL,GAAG,CAACme,cAAJ,CAAmBigB,IAAnB,CAAlB;AACD;;AAEDjmC,UAAQ,GAAGxd,MAAM,CAAC4a,gBAAP,GAA0B5a,MAAM,CAAC4a,gBAAP,CAAwBinB,GAAxB,EAA6BrkB,QAAvD,GAAkEqkB,GAAG,CAACthB,YAAJ,CAAiB,UAAjB,CAA7E;AAEA2gB,MAAI,CAAC2hB,IAAL,GAAYC,uEAAa,CAAC5hB,IAAD,EAAOwhB,WAAP,CAAzB,GAA+C7gB,GAAG,CAAC/iC,MAAJ,EAA/C;AAEA,SAAO0e,QAAQ,KAAK,UAApB;AACD,C;;;;;;;;;;;;AClCD;AAAA;AAAA;AACA,IAAIgoC,eAAe,GAAG,KAAtB;;AACA,IAAI;AACF,MAAIxT,IAAI,GAAGhuC,MAAM,CAAC06B,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;AAC9CxY,OAAG,EAAE,eAAW;AACds/B,qBAAe,GAAG,IAAlB;AACD;AAH6C,GAArC,CAAX;AAKAxlD,QAAM,CAACoW,gBAAP,CAAwB,MAAxB,EAAgC,IAAhC,EAAsC47B,IAAtC;AACD,CAPD,CAOE,OAAOx0C,CAAP,EAAU,CAAE;;AACP,IAAI0kD,aAAa,GAAGsD,eAAe,GAAG;AAAEC,SAAO,EAAE;AAAX,CAAH,GAAuB,KAA1D,C;;;;;;;;;;;;ACVP;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEO,SAASC,gBAAT,GAA4B;AACjC;AACA,MAAIrgC,GAAG,GAAG1lB,QAAV;AAAA,MACIuhC,IAAI,GAAGuhB,2DAAO,EADlB;AAAA,MAEIC,WAAW,GAAGC,mEAAW,CAACzhB,IAAD,CAF7B;AAAA,MAGIykB,OAAO,GAAGtgC,GAAG,CAAC9U,aAAJ,CAAkB,KAAlB,CAHd;AAAA,MAIIq1C,KAAK,GAAGvgC,GAAG,CAAC9U,aAAJ,CAAkB,KAAlB,CAJZ;AAAA,MAKIwxC,GAAG,GAAG,EALV;AAAA,MAMIniB,KAAK,GAAG,EANZ;AAAA,MAOIimB,OAAO,GAAG,CAPd;AAAA,MAQIC,SAAS,GAAG,KARhB;AAUAH,SAAO,CAACl2B,SAAR,GAAoB,aAApB;AACAm2B,OAAK,CAACn2B,SAAN,GAAkB,UAAlB;;AAEA,OAAK,IAAIlxB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqhC,KAApB,EAA2BrhC,CAAC,EAA5B,EAAgC;AAC9BwjD,OAAG,IAAI,aAAP;AACD;;AAED6D,OAAK,CAAC31B,SAAN,GAAkB8xB,GAAlB;AACA4D,SAAO,CAACjgC,WAAR,CAAoBkgC,KAApB;AACA1kB,MAAI,CAACxb,WAAL,CAAiBigC,OAAjB;AAEAG,WAAS,GAAG3nC,IAAI,CAACkmC,GAAL,CAASsB,OAAO,CAAC/jC,qBAAR,GAAgCjE,IAAhC,GAAuCioC,KAAK,CAACnrC,QAAN,CAAemlB,KAAK,GAAGimB,OAAvB,EAAgCjkC,qBAAhC,GAAwDjE,IAAxG,IAAgH,CAA5H;AAEAujB,MAAI,CAAC2hB,IAAL,GAAYC,uEAAa,CAAC5hB,IAAD,EAAOwhB,WAAP,CAAzB,GAA+CiD,OAAO,CAAC7mD,MAAR,EAA/C;AAEA,SAAOgnD,SAAP;AACD,C;;;;;;;;;;;;AClCD;AAAA;AAAA,IAAIrtC,GAAG,GAAGzY,MAAV;AAEO,IAAI+lD,GAAG,GAAGttC,GAAG,CAAC44B,qBAAJ,IACZ54B,GAAG,CAACutC,2BADQ,IAEZvtC,GAAG,CAACwtC,wBAFQ,IAGZxtC,GAAG,CAACytC,uBAHQ,IAIZ,UAASC,EAAT,EAAa;AAAE,SAAO7yC,UAAU,CAAC6yC,EAAD,EAAK,EAAL,CAAjB;AAA4B,CAJzC,C;;;;;;;;;;;;ACFP;AAAA;AAAA;AAAA;AAEO,SAASC,WAAT,CAAqBv5B,GAArB,EAA0BuB,KAA1B,EAAiC;AACtCvB,KAAG,GAAIg4B,iEAAU,CAACh4B,GAAD,CAAV,IAAmBA,GAAG,YAAY7T,KAAnC,GAA4C6T,GAA5C,GAAkD,CAACA,GAAD,CAAxD;AACAuB,OAAK,GAAIA,KAAK,YAAYpV,KAAlB,GAA2BoV,KAA3B,GAAmC,CAACA,KAAD,CAA3C;AAEA,MAAIi4B,UAAU,GAAGj4B,KAAK,CAAC1tB,MAAvB;;AACA,OAAK,IAAInC,CAAC,GAAGsuB,GAAG,CAACnsB,MAAjB,EAAyBnC,CAAC,EAA1B,GAA+B;AAC7B,SAAK,IAAI0oB,CAAC,GAAGo/B,UAAb,EAAyBp/B,CAAC,EAA1B,GAA+B;AAC7B4F,SAAG,CAACtuB,CAAD,CAAH,CAAOsvB,eAAP,CAAuBO,KAAK,CAACnH,CAAD,CAA5B;AACD;AACF;AACF,C;;;;;;;;;;;;ACZD;AAAA;AAAA;AAAA;AACA;AACO,SAASq/B,aAAT,CAAuB5E,KAAvB,EAA8B/6C,KAA9B,EAAqC;AAC1C;AACE,kBAAgB+6C,KAAhB,GACEA,KAAK,CAAC6E,UAAN,CAAiB5/C,KAAjB,CADF,GAEE+6C,KAAK,CAAC8E,UAAN,CAAiB7/C,KAAjB,CAFF,CAFwC,CAK1C;AACD,C;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AACA,IAAI1H,WAAW,GAAG6iD,6DAAgB,GAC9B,UAAU//B,EAAV,EAAcggC,GAAd,EAAmB;AACjB,MAAInkD,6DAAQ,CAACmkB,EAAD,EAAMggC,GAAN,CAAZ,EAAwB;AAAEhgC,MAAE,CAAC7M,SAAH,CAAapW,MAAb,CAAoBijD,GAApB;AAA2B;AACtD,CAH6B,GAI9B,UAAUhgC,EAAV,EAAcggC,GAAd,EAAmB;AACjB,MAAInkD,6DAAQ,CAACmkB,EAAD,EAAKggC,GAAL,CAAZ,EAAuB;AAAEhgC,MAAE,CAAC0N,SAAH,GAAe1N,EAAE,CAAC0N,SAAH,CAAa5tB,OAAb,CAAqBkgD,GAArB,EAA0B,EAA1B,CAAf;AAA+C;AACzE,CANL;;;;;;;;;;;;;ACDA;AAAA;AAAA;AAAA;AAEO,SAAS0E,YAAT,CAAsB1kC,EAAtB,EAA0B7I,GAA1B,EAA+B;AACpC,OAAK,IAAIJ,IAAT,IAAiBI,GAAjB,EAAsB;AACpB,QAAI+oB,MAAM,GAAG,CAAC,YAAD,EAAe,WAAf,EAA4BtjC,OAA5B,CAAoCma,IAApC,KAA6C,CAA7C,GAAiDopC,+DAAjD,GAAiE,KAA9E;AACAngC,MAAE,CAACvF,mBAAH,CAAuB1D,IAAvB,EAA6BI,GAAG,CAACJ,IAAD,CAAhC,EAAwCmpB,MAAxC;AACD;AACF,C;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAEO,SAAS6gB,aAAT,CAAwB5hB,IAAxB,EAA8BwhB,WAA9B,EAA2C;AAChD,MAAIxhB,IAAI,CAAC2hB,IAAT,EAAe;AACb3hB,QAAI,CAACpiC,MAAL;AACAqkD,6DAAU,CAACxoC,KAAX,CAAiB+C,QAAjB,GAA4BglC,WAA5B,CAFa,CAGb;AACA;;AACAS,6DAAU,CAACnW,YAAX;AACD;AACF,C;;;;;;;;;;;;ACVD;AAAA;AAAA;AAAA;AAEO,SAAS0Z,QAAT,CAAkB75B,GAAlB,EAAuBuB,KAAvB,EAA8B;AACnCvB,KAAG,GAAIg4B,iEAAU,CAACh4B,GAAD,CAAV,IAAmBA,GAAG,YAAY7T,KAAnC,GAA4C6T,GAA5C,GAAkD,CAACA,GAAD,CAAxD;;AACA,MAAI7oB,MAAM,CAACuT,SAAP,CAAiBkN,QAAjB,CAA0BthB,IAA1B,CAA+BirB,KAA/B,MAA0C,iBAA9C,EAAiE;AAAE;AAAS;;AAE5E,OAAK,IAAI7vB,CAAC,GAAGsuB,GAAG,CAACnsB,MAAjB,EAAyBnC,CAAC,EAA1B,GAA+B;AAC7B,SAAI,IAAIqkB,GAAR,IAAewL,KAAf,EAAsB;AACpBvB,SAAG,CAACtuB,CAAD,CAAH,CAAOkhB,YAAP,CAAoBmD,GAApB,EAAyBwL,KAAK,CAACxL,GAAD,CAA9B;AACD;AACF;AACF,C;;;;;;;;;;;;ACXD;AAAA;AAAA;AAAA;AAEO,SAAS+/B,WAAT,CAAsBzhB,IAAtB,EAA4B;AACjC,MAAIwhB,WAAW,GAAG,EAAlB;;AACA,MAAIxhB,IAAI,CAAC2hB,IAAT,EAAe;AACbH,eAAW,GAAGS,yDAAU,CAACxoC,KAAX,CAAiB+C,QAA/B,CADa,CAEb;;AACAwjB,QAAI,CAACvmB,KAAL,CAAW/H,UAAX,GAAwB,EAAxB,CAHa,CAIb;;AACAsuB,QAAI,CAACvmB,KAAL,CAAW+C,QAAX,GAAsBylC,yDAAU,CAACxoC,KAAX,CAAiB+C,QAAjB,GAA4B,QAAlD;AACAylC,6DAAU,CAACz9B,WAAX,CAAuBwb,IAAvB;AACD;;AAED,SAAOwhB,WAAP;AACD,C;;;;;;;;;;;;ACdD;AAAA;AAAO,SAASiE,eAAT,CAAyBC,OAAzB,EAAkChkC,GAAlC,EAAuCC,KAAvC,EAA8C2a,MAA9C,EAAsD;AAC3D,MAAIA,MAAJ,EAAY;AACV,QAAI;AAAEopB,aAAO,CAACC,OAAR,CAAgBjkC,GAAhB,EAAqBC,KAArB;AAA8B,KAApC,CAAqC,OAAOrlB,CAAP,EAAU,CAAE;AAClD;;AACD,SAAOqlB,KAAP;AACD,C;;;;;;;;;;;;ACLD;AAAA;AAAO,SAASikC,WAAT,CAAqB/kC,EAArB,EAAyB6iC,SAAzB,EAAoC;AACzC,MAAI7iC,EAAE,CAACpH,KAAH,CAAS0lB,OAAT,KAAqB,MAAzB,EAAiC;AAAEte,MAAE,CAACpH,KAAH,CAAS0lB,OAAT,GAAmB,EAAnB;AAAwB;AAC5D,C;;;;;;;;;;;;ACFD;AAAA;AAAO,SAAS0mB,QAAT,CAAmBjnC,CAAnB,EAAsBD,CAAtB,EAAyB;AAC9B,SAAO1B,IAAI,CAAC6oC,KAAL,CAAWlnC,CAAX,EAAcD,CAAd,KAAoB,MAAM1B,IAAI,CAAC4yB,EAA/B,CAAP;AACD,C;;;;;;;;;;;;ACFD;AAAA;AAAO,SAASkW,aAAT,CAAuBlgB,KAAvB,EAA6B;AAClC,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7B,QAAI7iB,GAAG,GAAG,CAAC6iB,KAAD,CAAV;AAAA,QACImgB,KAAK,GAAGngB,KAAK,CAACogB,MAAN,CAAa,CAAb,EAAgBhpB,WAAhB,KAAgC4I,KAAK,CAACqgB,MAAN,CAAa,CAAb,CAD5C;AAAA,QAEIC,QAAQ,GAAG,CAAC,QAAD,EAAW,KAAX,EAAkB,IAAlB,EAAwB,GAAxB,CAFf;AAIAA,YAAQ,CAAC9gD,OAAT,CAAiB,UAASupC,MAAT,EAAiB;AAChC,UAAIA,MAAM,KAAK,IAAX,IAAmB/I,KAAK,KAAK,WAAjC,EAA8C;AAC5C7iB,WAAG,CAACnjB,IAAJ,CAAS+uC,MAAM,GAAGoX,KAAlB;AACD;AACF,KAJD;AAMAngB,SAAK,GAAG7iB,GAAR;AACD;;AAED,MAAInC,EAAE,GAAGpiB,QAAQ,CAAC4Q,aAAT,CAAuB,aAAvB,CAAT;AAAA,MACIyW,GAAG,GAAG+f,KAAK,CAACrmC,MADhB;;AAEA,OAAI,IAAInC,CAAC,GAAG,CAAZ,EAAeA,CAAC,GAAGwoC,KAAK,CAACrmC,MAAzB,EAAiCnC,CAAC,EAAlC,EAAqC;AACnC,QAAIua,IAAI,GAAGiuB,KAAK,CAACxoC,CAAD,CAAhB;;AACA,QAAIwjB,EAAE,CAACpH,KAAH,CAAS7B,IAAT,MAAmB7W,SAAvB,EAAkC;AAAE,aAAO6W,IAAP;AAAc;AACnD;;AAED,SAAO,KAAP,CAtBkC,CAsBpB;AACf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBD;AACA,IAAI,CAAC9U,MAAM,CAAC8pB,IAAZ,EAAkB;AAChB9pB,QAAM,CAAC8pB,IAAP,GAAc,UAAS4L,MAAT,EAAiB;AAC7B,QAAI5L,IAAI,GAAG,EAAX;;AACA,SAAK,IAAI1G,IAAT,IAAiBsS,MAAjB,EAAyB;AACvB,UAAI11B,MAAM,CAACuT,SAAP,CAAiBrH,cAAjB,CAAgC/M,IAAhC,CAAqCu2B,MAArC,EAA6CtS,IAA7C,CAAJ,EAAwD;AACtD0G,YAAI,CAAC/sB,IAAL,CAAUqmB,IAAV;AACD;AACF;;AACD,WAAO0G,IAAP;AACD,GARD;AASD,C,CAED;;;AACA,IAAG,EAAE,YAAYw5B,OAAO,CAAC/vC,SAAtB,CAAH,EAAoC;AAClC+vC,SAAO,CAAC/vC,SAAR,CAAkBzY,MAAlB,GAA2B,YAAU;AACnC,QAAG,KAAK+R,UAAR,EAAoB;AAClB,WAAKA,UAAL,CAAgB8U,WAAhB,CAA4B,IAA5B;AACD;AACF,GAJD;AAKD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,IAAIvmB,GAAG,GAAG,SAANA,GAAM,CAASma,OAAT,EAAkB;AACjCA,SAAO,GAAGxM,iEAAM,CAAC;AACfpH,aAAS,EAAE,SADI;AAEfV,QAAI,EAAE,UAFS;AAGfsiD,QAAI,EAAE,YAHS;AAIf/iD,SAAK,EAAE,CAJQ;AAKfK,UAAM,EAAE,CALO;AAMf2iD,eAAW,EAAE,CANE;AAOfC,cAAU,EAAE,KAPG;AAQfC,aAAS,EAAE,KARI;AASfC,eAAW,EAAE,KATE;AAUfC,WAAO,EAAE,CAVM;AAWfC,UAAM,EAAE,KAXO;AAYfn8C,YAAQ,EAAE,IAZK;AAafo8C,oBAAgB,EAAE,KAbH;AAcfC,gBAAY,EAAE,CAAC,MAAD,EAAS,MAAT,CAdC;AAefviD,qBAAiB,EAAE,KAfJ;AAgBfwiD,cAAU,EAAE,KAhBG;AAiBfC,cAAU,EAAE,KAjBG;AAkBfC,OAAG,EAAE,IAlBU;AAmBfC,eAAW,EAAE,KAnBE;AAoBf7iD,gBAAY,EAAE,KApBC;AAqBfC,mBAAe,EAAE,KArBF;AAsBf6iD,aAAS,EAAE,KAtBI;AAuBfpjD,SAAK,EAAE,GAvBQ;AAwBfb,YAAQ,EAAE,KAxBK;AAyBfkkD,oBAAgB,EAAE,KAzBH;AA0BfhkD,mBAAe,EAAE,IA1BF;AA2BfikD,qBAAiB,EAAE,SA3BJ;AA4BfC,gBAAY,EAAE,CAAC,OAAD,EAAU,MAAV,CA5BC;AA6Bf3iD,sBAAkB,EAAE,KA7BL;AA8Bf4iD,kBAAc,EAAE,KA9BD;AA+BfC,wBAAoB,EAAE,IA/BP;AAgCfC,6BAAyB,EAAE,IAhCZ;AAiCfxjD,aAAS,EAAE,YAjCI;AAkCfC,cAAU,EAAE,aAlCG;AAmCfwjD,iBAAa,EAAE,YAnCA;AAoCfC,gBAAY,EAAE,KApCC;AAqCftkD,QAAI,EAAE,IArCS;AAsCfukD,UAAM,EAAE,KAtCO;AAuCfC,cAAU,EAAE,KAvCG;AAwCfhjD,cAAU,EAAE,KAxCG;AAyCfijD,YAAQ,EAAE,KAzCK;AA0CfC,oBAAgB,EAAE,eA1CH;AA2Cf//C,SAAK,EAAE,IA3CQ;AA4CfggD,aAAS,EAAE,KA5CI;AA6CfC,cAAU,EAAE,EA7CG;AA8CfC,UAAM,EAAE,KA9CO;AA+CfC,4BAAwB,EAAE,KA/CX;AAgDfvjD,wBAAoB,EAAE,KAhDP;AAiDfwjD,aAAS,EAAE,IAjDI;AAkDfC,UAAM,EAAE,KAlDO;AAmDfC,mBAAe,EAAE,IAnDF;AAoDfvkC,SAAK,EAAE;AApDQ,GAAD,EAqDbzL,OAAO,IAAI,EArDE,CAAhB;AAuDA,MAAI8L,GAAG,GAAG1lB,QAAV;AAAA,MACI8Y,GAAG,GAAGzY,MADV;AAAA,MAEIwpD,IAAI,GAAG;AACLC,SAAK,EAAE,EADF;AAELC,SAAK,EAAE,EAFF;AAGLC,QAAI,EAAE,EAHD;AAILC,SAAK,EAAE;AAJF,GAFX;AAAA,MAQIC,UAAU,GAAG,EARjB;AAAA,MASIC,kBAAkB,GAAGvwC,OAAO,CAACgwC,eATjC;;AAWA,MAAIO,kBAAJ,EAAwB;AACtB;AACA,QAAIC,WAAW,GAAG32C,SAAS,CAACC,SAA5B;AACA,QAAIorB,GAAG,GAAG,IAAI7U,IAAJ,EAAV;;AAEA,QAAI;AACFigC,gBAAU,GAAGpxC,GAAG,CAACuxC,YAAjB;;AACA,UAAIH,UAAJ,EAAgB;AACdA,kBAAU,CAAChD,OAAX,CAAmBpoB,GAAnB,EAAwBA,GAAxB;AACAqrB,0BAAkB,GAAGD,UAAU,CAACI,OAAX,CAAmBxrB,GAAnB,KAA2BA,GAAhD;AACAorB,kBAAU,CAACK,UAAX,CAAsBzrB,GAAtB;AACD,OAJD,MAIO;AACLqrB,0BAAkB,GAAG,KAArB;AACD;;AACD,UAAI,CAACA,kBAAL,EAAyB;AAAED,kBAAU,GAAG,EAAb;AAAkB;AAC9C,KAVD,CAUE,OAAMrsD,CAAN,EAAS;AACTssD,wBAAkB,GAAG,KAArB;AACD;;AAED,QAAIA,kBAAJ,EAAwB;AACtB;AACA,UAAID,UAAU,CAAC,QAAD,CAAV,IAAwBA,UAAU,CAAC,QAAD,CAAV,KAAyBE,WAArD,EAAkE;AAChE,SAAC,IAAD,EAAO,KAAP,EAAc,KAAd,EAAqB,KAArB,EAA4B,KAA5B,EAAmC,MAAnC,EAA2C,MAA3C,EAAmD,MAAnD,EAA2D,MAA3D,EAAmE,KAAnE,EAA0E,KAA1E,EAAiFxjD,OAAjF,CAAyF,UAASse,IAAT,EAAe;AAAEglC,oBAAU,CAACK,UAAX,CAAsBrlC,IAAtB;AAA8B,SAAxI;AACD,OAJqB,CAKtB;;;AACAmlC,kBAAY,CAAC,QAAD,CAAZ,GAAyBD,WAAzB;AACD;AACF;;AAED,MAAII,IAAI,GAAGN,UAAU,CAAC,IAAD,CAAV,GAAmB9G,uFAAiB,CAAC8G,UAAU,CAAC,IAAD,CAAX,CAApC,GAAyDlD,mFAAe,CAACkD,UAAD,EAAa,IAAb,EAAmBrH,6DAAI,EAAvB,EAA2BsH,kBAA3B,CAAnF;AAAA,MACIM,gBAAgB,GAAGP,UAAU,CAAC,KAAD,CAAV,GAAoB9G,uFAAiB,CAAC8G,UAAU,CAAC,KAAD,CAAX,CAArC,GAA2DlD,mFAAe,CAACkD,UAAD,EAAa,KAAb,EAAoBnE,qFAAgB,EAApC,EAAwCoE,kBAAxC,CADjG;AAAA,MAEIO,KAAK,GAAGR,UAAU,CAAC,KAAD,CAAV,GAAoB9G,uFAAiB,CAAC8G,UAAU,CAAC,KAAD,CAAX,CAArC,GAA2DlD,mFAAe,CAACkD,UAAD,EAAa,KAAb,EAAoBxE,uFAAiB,EAArC,EAAyCyE,kBAAzC,CAFtF;AAAA,MAGIQ,SAAS,GAAGT,UAAU,CAAC,KAAD,CAAV,GAAoB9G,uFAAiB,CAAC8G,UAAU,CAAC,KAAD,CAAX,CAArC,GAA2DlD,mFAAe,CAACkD,UAAD,EAAa,KAAb,EAAoB5C,gFAAa,CAAC,WAAD,CAAjC,EAAgD6C,kBAAhD,CAH1F;AAAA,MAIIS,eAAe,GAAGV,UAAU,CAAC,KAAD,CAAV,GAAoB9G,uFAAiB,CAAC8G,UAAU,CAAC,KAAD,CAAX,CAArC,GAA2DlD,mFAAe,CAACkD,UAAD,EAAa,KAAb,EAAoBvF,oFAAe,CAACgG,SAAD,CAAnC,EAAgDR,kBAAhD,CAJhG;AAAA,MAKIU,kBAAkB,GAAGX,UAAU,CAAC,MAAD,CAAV,GAAqB9G,uFAAiB,CAAC8G,UAAU,CAAC,MAAD,CAAX,CAAtC,GAA6DlD,mFAAe,CAACkD,UAAD,EAAa,MAAb,EAAqB5C,gFAAa,CAAC,oBAAD,CAAlC,EAA0D6C,kBAA1D,CALrG;AAAA,MAMIW,eAAe,GAAGZ,UAAU,CAAC,MAAD,CAAV,GAAqB9G,uFAAiB,CAAC8G,UAAU,CAAC,MAAD,CAAX,CAAtC,GAA6DlD,mFAAe,CAACkD,UAAD,EAAa,MAAb,EAAqB5C,gFAAa,CAAC,iBAAD,CAAlC,EAAuD6C,kBAAvD,CANlG;AAAA,MAOIY,iBAAiB,GAAGb,UAAU,CAAC,MAAD,CAAV,GAAqB9G,uFAAiB,CAAC8G,UAAU,CAAC,MAAD,CAAX,CAAtC,GAA6DlD,mFAAe,CAACkD,UAAD,EAAa,MAAb,EAAqB5C,gFAAa,CAAC,mBAAD,CAAlC,EAAyD6C,kBAAzD,CAPpG;AAAA,MAQIa,cAAc,GAAGd,UAAU,CAAC,MAAD,CAAV,GAAqB9G,uFAAiB,CAAC8G,UAAU,CAAC,MAAD,CAAX,CAAtC,GAA6DlD,mFAAe,CAACkD,UAAD,EAAa,MAAb,EAAqB5C,gFAAa,CAAC,gBAAD,CAAlC,EAAsD6C,kBAAtD,CARjG;AAAA,MASIc,aAAa,GAAGf,UAAU,CAAC,KAAD,CAAV,GAAoB9G,uFAAiB,CAAC8G,UAAU,CAAC,KAAD,CAAX,CAArC,GAA2DlD,mFAAe,CAACkD,UAAD,EAAa,KAAb,EAAoBlG,kFAAc,CAAC6G,kBAAD,EAAqB,YAArB,CAAlC,EAAsEV,kBAAtE,CAT9F;AAAA,MAUIe,YAAY,GAAGhB,UAAU,CAAC,KAAD,CAAV,GAAoB9G,uFAAiB,CAAC8G,UAAU,CAAC,KAAD,CAAX,CAArC,GAA2DlD,mFAAe,CAACkD,UAAD,EAAa,KAAb,EAAoBlG,kFAAc,CAAC+G,iBAAD,EAAoB,WAApB,CAAlC,EAAoEZ,kBAApE,CAV7F,CAhGiC,CA4GjC;;AACA,MAAIgB,kBAAkB,GAAGryC,GAAG,CAAChR,OAAJ,IAAe,OAAOgR,GAAG,CAAChR,OAAJ,CAAYu1B,IAAnB,KAA4B,UAApE;AAAA,MACI+tB,OAAO,GAAG,CAAC,WAAD,EAAc,mBAAd,EAAmC,YAAnC,EAAiD,YAAjD,EAA+D,cAA/D,EAA+E,gBAA/E,CADd;AAAA,MAEIC,eAAe,GAAG,EAFtB;AAIAD,SAAO,CAACxkD,OAAR,CAAgB,UAASse,IAAT,EAAe;AAC7B,QAAI,OAAOtL,OAAO,CAACsL,IAAD,CAAd,KAAyB,QAA7B,EAAuC;AACrC,UAAIk9B,GAAG,GAAGxoC,OAAO,CAACsL,IAAD,CAAjB;AAAA,UACI9C,EAAE,GAAGsD,GAAG,CAACzG,aAAJ,CAAkBmjC,GAAlB,CADT;AAEAiJ,qBAAe,CAACnmC,IAAD,CAAf,GAAwBk9B,GAAxB;;AAEA,UAAIhgC,EAAE,IAAIA,EAAE,CAAC7H,QAAb,EAAuB;AACrBX,eAAO,CAACsL,IAAD,CAAP,GAAgB9C,EAAhB;AACD,OAFD,MAEO;AACL,YAAI+oC,kBAAJ,EAAwB;AAAErjD,iBAAO,CAACu1B,IAAR,CAAa,aAAb,EAA4BzjB,OAAO,CAACsL,IAAD,CAAnC;AAA6C;;AACvE;AACD;AACF;AACF,GAbD,EAjHiC,CAgIjC;;AACA,MAAItL,OAAO,CAAC5T,SAAR,CAAkB8U,QAAlB,CAA2B/Z,MAA3B,GAAoC,CAAxC,EAA2C;AACzC,QAAIoqD,kBAAJ,EAAwB;AAAErjD,aAAO,CAACu1B,IAAR,CAAa,oBAAb,EAAmCzjB,OAAO,CAAC5T,SAA3C;AAAwD;;AAClF;AACA,GApI+B,CAsIjC;;;AACA,MAAIG,UAAU,GAAGyT,OAAO,CAACzT,UAAzB;AAAA,MACIqjD,MAAM,GAAG5vC,OAAO,CAAC4vC,MADrB;AAAA,MAEI8B,QAAQ,GAAG1xC,OAAO,CAACtU,IAAR,KAAiB,UAAjB,GAA8B,IAA9B,GAAqC,KAFpD;;AAIA,MAAIa,UAAJ,EAAgB;AACd;AACA,QAAI,KAAKA,UAAT,EAAqB;AACnByT,aAAO,GAAGxM,iEAAM,CAACwM,OAAD,EAAUzT,UAAU,CAAC,CAAD,CAApB,CAAhB;AACA,aAAOA,UAAU,CAAC,CAAD,CAAjB;AACD;;AAED,QAAIolD,aAAa,GAAG,EAApB;;AACA,SAAK,IAAItoC,GAAT,IAAgB9c,UAAhB,EAA4B;AAC1B,UAAIwf,GAAG,GAAGxf,UAAU,CAAC8c,GAAD,CAApB,CAD0B,CAE1B;AACA;AACA;AACA;AACA;AACA;;AACA0C,SAAG,GAAG,OAAOA,GAAP,KAAe,QAAf,GAA0B;AAAC9gB,aAAK,EAAE8gB;AAAR,OAA1B,GAAyCA,GAA/C;AACA4lC,mBAAa,CAACtoC,GAAD,CAAb,GAAqB0C,GAArB;AACD;;AACDxf,cAAU,GAAGolD,aAAb;AACAA,iBAAa,GAAG,IAAhB;AACD,GAhKgC,CAkKjC;;;AACA,WAASC,aAAT,CAAwBjyC,GAAxB,EAA6B;AAC3B,SAAK,IAAI0J,GAAT,IAAgB1J,GAAhB,EAAqB;AACnB,UAAI,CAAC+xC,QAAL,EAAe;AACb,YAAIroC,GAAG,KAAK,SAAZ,EAAuB;AAAE1J,aAAG,CAAC0J,GAAD,CAAH,GAAW,MAAX;AAAoB;;AAC7C,YAAIA,GAAG,KAAK,aAAZ,EAA2B;AAAE1J,aAAG,CAAC0J,GAAD,CAAH,GAAW,KAAX;AAAmB;;AAChD,YAAIA,GAAG,KAAK,YAAZ,EAA0B;AAAE1J,aAAG,CAAC0J,GAAD,CAAH,GAAW,KAAX;AAAmB;AAChD,OALkB,CAOnB;;;AACA,UAAIA,GAAG,KAAK,YAAZ,EAA0B;AAAEuoC,qBAAa,CAACjyC,GAAG,CAAC0J,GAAD,CAAJ,CAAb;AAA0B;AACvD;AACF;;AACD,MAAI,CAACqoC,QAAL,EAAe;AAAEE,iBAAa,CAAC5xC,OAAD,CAAb;AAAyB,GA/KT,CAkLjC;;;AACA,MAAI,CAAC0xC,QAAL,EAAe;AACb1xC,WAAO,CAACguC,IAAR,GAAe,YAAf;AACAhuC,WAAO,CAACquC,OAAR,GAAkB,MAAlB;AACAruC,WAAO,CAACiuC,WAAR,GAAsB,KAAtB;AAEA,QAAItiD,SAAS,GAAGqU,OAAO,CAACrU,SAAxB;AAAA,QACIC,UAAU,GAAGoU,OAAO,CAACpU,UADzB;AAAA,QAEIyjD,YAAY,GAAGrvC,OAAO,CAACqvC,YAF3B;AAAA,QAGID,aAAa,GAAGpvC,OAAO,CAACovC,aAH5B;AAID;;AAED,MAAI5oC,UAAU,GAAGxG,OAAO,CAACguC,IAAR,KAAiB,YAAjB,GAAgC,IAAhC,GAAuC,KAAxD;AAAA,MACI6D,YAAY,GAAG/lC,GAAG,CAAC9U,aAAJ,CAAkB,KAAlB,CADnB;AAAA,MAEI86C,YAAY,GAAGhmC,GAAG,CAAC9U,aAAJ,CAAkB,KAAlB,CAFnB;AAAA,MAGI+6C,aAHJ;AAAA,MAII3lD,SAAS,GAAG4T,OAAO,CAAC5T,SAJxB;AAAA,MAKI4lD,eAAe,GAAG5lD,SAAS,CAACkL,UALhC;AAAA,MAMI26C,aAAa,GAAG7lD,SAAS,CAAC8lD,SAN9B;AAAA,MAOI/lD,UAAU,GAAGC,SAAS,CAAC8U,QAP3B;AAAA,MAQIzT,UAAU,GAAGtB,UAAU,CAAChF,MAR5B;AAAA,MASIgrD,cATJ;AAAA,MAUIC,WAAW,GAAGC,cAAc,EAVhC;AAAA,MAWIC,IAAI,GAAG,KAXX;;AAYA,MAAI/lD,UAAJ,EAAgB;AAAEgmD,qBAAiB;AAAK;;AACxC,MAAIb,QAAJ,EAAc;AAAEtlD,aAAS,CAAC8pB,SAAV,IAAuB,YAAvB;AAAsC,GA3MrB,CA6MjC;;;AACA,MAAIi4B,SAAS,GAAGnuC,OAAO,CAACmuC,SAAxB;AAAA,MACID,UAAU,GAAGsE,SAAS,CAAC,YAAD,CAD1B;AAAA,MAEIvE,WAAW,GAAGuE,SAAS,CAAC,aAAD,CAF3B;AAAA,MAGIlnD,MAAM,GAAGknD,SAAS,CAAC,QAAD,CAHtB;AAAA,MAIIC,QAAQ,GAAGC,gBAAgB,EAJ/B;AAAA,MAKIpE,MAAM,GAAGkE,SAAS,CAAC,QAAD,CALtB;AAAA,MAMIvnD,KAAK,GAAG,CAACkjD,SAAD,GAAavpC,IAAI,CAACuE,KAAL,CAAWqpC,SAAS,CAAC,OAAD,CAApB,CAAb,GAA8C,CAN1D;AAAA,MAOInE,OAAO,GAAGmE,SAAS,CAAC,SAAD,CAPvB;AAAA,MAQIpE,WAAW,GAAGpuC,OAAO,CAACouC,WAAR,IAAuBpuC,OAAO,CAAC2yC,uBARjD;AAAA,MASI9D,SAAS,GAAG2D,SAAS,CAAC,WAAD,CATzB;AAAA,MAUI/mD,KAAK,GAAG+mD,SAAS,CAAC,OAAD,CAVrB;AAAA,MAWIlD,MAAM,GAAGtvC,OAAO,CAACsvC,MAXrB;AAAA,MAYIvkD,IAAI,GAAGukD,MAAM,GAAG,KAAH,GAAWtvC,OAAO,CAACjV,IAZpC;AAAA,MAaIwkD,UAAU,GAAGiD,SAAS,CAAC,YAAD,CAb1B;AAAA,MAcIrgD,QAAQ,GAAGqgD,SAAS,CAAC,UAAD,CAdxB;AAAA,MAeIhE,YAAY,GAAGgE,SAAS,CAAC,cAAD,CAf5B;AAAA,MAgBI7D,GAAG,GAAG6D,SAAS,CAAC,KAAD,CAhBnB;AAAA,MAiBI9iD,KAAK,GAAG8iD,SAAS,CAAC,OAAD,CAjBrB;AAAA,MAkBI9C,SAAS,GAAG8C,SAAS,CAAC,WAAD,CAlBzB;AAAA,MAmBI5nD,QAAQ,GAAG4nD,SAAS,CAAC,UAAD,CAnBxB;AAAA,MAoBI1nD,eAAe,GAAG0nD,SAAS,CAAC,iBAAD,CApB/B;AAAA,MAqBIxD,YAAY,GAAGwD,SAAS,CAAC,cAAD,CArB5B;AAAA,MAsBInmD,kBAAkB,GAAGmmD,SAAS,CAAC,oBAAD,CAtBlC;AAAA,MAuBIrD,yBAAyB,GAAGqD,SAAS,CAAC,2BAAD,CAvBzC;AAAA,MAwBIrK,KAAK,GAAGsB,qFAAgB,CAAC,IAAD,EAAO+I,SAAS,CAAC,OAAD,CAAhB,CAxB5B;AAAA,MAyBIhD,QAAQ,GAAGxvC,OAAO,CAACwvC,QAzBvB;AAAA,MA0BIC,gBAAgB,GAAGzvC,OAAO,CAACyvC,gBA1B/B;AAAA,MA2BImD,cA3BJ;AAAA,MA2BoB;AAChBC,eAAa,GAAG,EA5BpB;AAAA,MA6BIC,UAAU,GAAG/nD,IAAI,GAAGgoD,oBAAoB,EAAvB,GAA4B,CA7BjD;AAAA,MA8BIC,aAAa,GAAG,CAACtB,QAAD,GAAYjkD,UAAU,GAAGqlD,UAAzB,GAAsCrlD,UAAU,GAAGqlD,UAAU,GAAG,CA9BpF;AAAA,MA+BIG,gBAAgB,GAAG,CAAC/E,UAAU,IAAIC,SAAf,KAA6B,CAACpjD,IAA9B,GAAqC,IAArC,GAA4C,KA/BnE;AAAA,MAgCImoD,aAAa,GAAGhF,UAAU,GAAGiF,gBAAgB,EAAnB,GAAwB,IAhCtD;AAAA,MAiCIC,0BAA0B,GAAI,CAAC1B,QAAD,IAAa,CAAC3mD,IAAf,GAAuB,IAAvB,GAA8B,KAjC/D;AAAA,MAkCI;AACAsoD,eAAa,GAAG7sC,UAAU,GAAG,MAAH,GAAY,KAnC1C;AAAA,MAoCI8sC,eAAe,GAAG,EApCtB;AAAA,MAqCIC,gBAAgB,GAAG,EArCvB;AAAA,MAsCI;AACAC,aAAW,GAAI,YAAY;AACzB,QAAItF,UAAJ,EAAgB;AACd,aAAO,YAAW;AAAE,eAAOI,MAAM,IAAI,CAACvjD,IAAX,GAAkB0C,UAAU,GAAG,CAA/B,GAAmCmX,IAAI,CAAC6wB,IAAL,CAAU,CAAEyd,aAAF,IAAmBhF,UAAU,GAAG5iD,MAAhC,CAAV,CAA1C;AAA+F,OAAnH;AACD,KAFD,MAEO,IAAI6iD,SAAJ,EAAe;AACpB,aAAO,YAAW;AAChB,aAAK,IAAInpD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGguD,aAApB,EAAmChuD,CAAC,EAApC,EAAwC;AACtC,cAAI4tD,cAAc,CAAC5tD,CAAD,CAAd,IAAqB,CAAEkuD,aAA3B,EAA0C;AAAE,mBAAOluD,CAAP;AAAW;AACxD;AACF,OAJD;AAKD,KANM,MAMA;AACL,aAAO,YAAW;AAChB,YAAIspD,MAAM,IAAIoD,QAAV,IAAsB,CAAC3mD,IAA3B,EAAiC;AAC/B,iBAAO0C,UAAU,GAAG,CAApB;AACD,SAFD,MAEO;AACL,iBAAO1C,IAAI,IAAI2mD,QAAR,GAAmB9sC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYmuC,aAAa,GAAGpuC,IAAI,CAAC6wB,IAAL,CAAUxqC,KAAV,CAA5B,CAAnB,GAAmE+nD,aAAa,GAAG,CAA1F;AACD;AACF,OAND;AAOD;AACF,GAlBa,EAvClB;AAAA,MA0DI5lD,KAAK,GAAGqmD,aAAa,CAACjB,SAAS,CAAC,YAAD,CAAV,CA1DzB;AAAA,MA2DIkB,WAAW,GAAGtmD,KA3DlB;AAAA,MA4DIumD,YAAY,GAAGC,eAAe,EA5DlC;AAAA,MA6DIC,QAAQ,GAAG,CA7Df;AAAA,MA8DIC,QAAQ,GAAG,CAAC3F,SAAD,GAAaqF,WAAW,EAAxB,GAA6B,IA9D5C;AAAA,MA+DI;AACAO,aAhEJ;AAAA,MAiEIlE,wBAAwB,GAAG7vC,OAAO,CAAC6vC,wBAjEvC;AAAA,MAkEIF,UAAU,GAAG3vC,OAAO,CAAC2vC,UAlEzB;AAAA,MAmEIqE,qBAAqB,GAAGrE,UAAU,GAAG,GAAH,GAAS,IAnE/C;AAAA,MAoEI/D,OAAO,GAAG,KApEd;AAAA,MAqEImE,MAAM,GAAG/vC,OAAO,CAAC+vC,MArErB;AAAA,MAsEI/gD,MAAM,GAAG,IAAI66C,0DAAJ,EAtEb;AAAA,MAuEI;AACAoK,qBAAmB,GAAG,qBAAqBj0C,OAAO,CAACtU,IAxEvD;AAAA,MAyEIwoD,OAAO,GAAG9nD,SAAS,CAAClH,EAAV,IAAgBslD,yEAAU,EAzExC;AAAA,MA0EI1pB,OAAO,GAAG0xB,SAAS,CAAC,SAAD,CA1EvB;AAAA,MA2EIr/B,QAAQ,GAAG,KA3Ef;AAAA,MA4EI28B,SAAS,GAAG9vC,OAAO,CAAC8vC,SA5ExB;AAAA,MA6EIqE,MAAM,GAAGrE,SAAS,IAAI,CAAC3B,SAAd,GAA0BiG,SAAS,EAAnC,GAAwC,KA7ErD;AAAA,MA8EIC,MAAM,GAAG,KA9Eb;AAAA,MA+EIC,cAAc,GAAG;AACf,aAASC,eADM;AAEf,eAAWC;AAFI,GA/ErB;AAAA,MAmFIC,SAAS,GAAG;AACV,aAASC,UADC;AAEV,eAAWC;AAFD,GAnFhB;AAAA,MAuFIC,WAAW,GAAG;AACZ,iBAAaC,cADD;AAEZ,gBAAYC;AAFA,GAvFlB;AAAA,MA2FIC,eAAe,GAAG;AAAC,wBAAoBC;AAArB,GA3FtB;AAAA,MA4FIC,mBAAmB,GAAG;AAAC,eAAWC;AAAZ,GA5F1B;AAAA,MA6FIC,WAAW,GAAG;AACZ,kBAAcC,UADF;AAEZ,iBAAaC,SAFD;AAGZ,gBAAYC,QAHA;AAIZ,mBAAeA;AAJH,GA7FlB;AAAA,MAkGOC,UAAU,GAAG;AACd,iBAAaH,UADC;AAEd,iBAAaC,SAFC;AAGd,eAAWC,QAHG;AAId,kBAAcA;AAJA,GAlGpB;AAAA,MAwGIE,WAAW,GAAGC,SAAS,CAAC,UAAD,CAxG3B;AAAA,MAyGIC,MAAM,GAAGD,SAAS,CAAC,KAAD,CAzGtB;AAAA,MA0GIzpD,eAAe,GAAGmiD,SAAS,GAAG,IAAH,GAAUnuC,OAAO,CAAChU,eA1GjD;AAAA,MA2GI2pD,WAAW,GAAGF,SAAS,CAAC,UAAD,CA3G3B;AAAA,MA4GIG,QAAQ,GAAGH,SAAS,CAAC,OAAD,CA5GxB;AAAA,MA6GII,YAAY,GAAGJ,SAAS,CAAC,WAAD,CA7G5B;AAAA,MA8GIK,gBAAgB,GAAG,kBA9GvB;AAAA,MA+GIC,gBAAgB,GAAG,kBA/GvB;AAAA,MAgHIC,gBAAgB,GAAG,cAhHvB;AAAA,MAiHIC,SAAS,GAAG;AACV,YAAQC,WADE;AAEV,aAASC;AAFC,GAjHhB;AAAA,MAqHIC,YArHJ;AAAA,MAsHIC,iBAtHJ;AAAA,MAuHIC,aAAa,GAAGt2C,OAAO,CAAC1T,oBAAR,KAAiC,OAAjC,GAA2C,IAA3C,GAAkD,KAvHtE,CA9MiC,CAuUjC;;;AACA,MAAIkpD,WAAJ,EAAiB;AACf,QAAIvpD,iBAAiB,GAAG+T,OAAO,CAAC/T,iBAAhC;AAAA,QACIsqD,qBAAqB,GAAGv2C,OAAO,CAAC/T,iBAAR,GAA4B+T,OAAO,CAAC/T,iBAAR,CAA0BimD,SAAtD,GAAkE,EAD9F;AAAA,QAEIzD,UAAU,GAAGzuC,OAAO,CAACyuC,UAFzB;AAAA,QAGIC,UAAU,GAAG1uC,OAAO,CAAC0uC,UAHzB;AAAA,QAII8H,cAAc,GAAGx2C,OAAO,CAACyuC,UAAR,GAAqBzuC,OAAO,CAACyuC,UAAR,CAAmByD,SAAxC,GAAoD,EAJzE;AAAA,QAKIuE,cAAc,GAAGz2C,OAAO,CAAC0uC,UAAR,GAAqB1uC,OAAO,CAAC0uC,UAAR,CAAmBwD,SAAxC,GAAoD,EALzE;AAAA,QAMIwE,YANJ;AAAA,QAOIC,YAPJ;AAQD,GAjVgC,CAmVjC;;;AACA,MAAIjB,MAAJ,EAAY;AACV,QAAI3pD,YAAY,GAAGiU,OAAO,CAACjU,YAA3B;AAAA,QACI6qD,gBAAgB,GAAG52C,OAAO,CAACjU,YAAR,GAAuBiU,OAAO,CAACjU,YAAR,CAAqBmmD,SAA5C,GAAwD,EAD/E;AAAA,QAEI2E,QAFJ;AAAA,QAGIC,KAAK,GAAG3I,SAAS,GAAG1gD,UAAH,GAAgBspD,QAAQ,EAH7C;AAAA,QAIIC,WAAW,GAAG,CAJlB;AAAA,QAKIC,UAAU,GAAG,CAAC,CALlB;AAAA,QAMIC,eAAe,GAAGC,kBAAkB,EANxC;AAAA,QAOIC,qBAAqB,GAAGF,eAP5B;AAAA,QAQIG,cAAc,GAAG,gBARrB;AAAA,QASIC,MAAM,GAAG,gBATb;AAAA,QAUIC,aAAa,GAAG,kBAVpB;AAWD,GAhWgC,CAkWjC;;;AACA,MAAI5B,WAAJ,EAAiB;AACf,QAAI5G,iBAAiB,GAAG/uC,OAAO,CAAC+uC,iBAAR,KAA8B,SAA9B,GAA0C,CAA1C,GAA8C,CAAC,CAAvE;AAAA,QACIE,cAAc,GAAGjvC,OAAO,CAACivC,cAD7B;AAAA,QAEIuI,kBAAkB,GAAGx3C,OAAO,CAACivC,cAAR,GAAyBjvC,OAAO,CAACivC,cAAR,CAAuBiD,SAAhD,GAA4D,EAFrF;AAAA,QAGIuF,mBAAmB,GAAG,CAAC,sCAAD,EAAyC,mBAAzC,CAH1B;AAAA,QAIIC,aAJJ;AAAA,QAKIC,SALJ;AAAA,QAMIC,mBANJ;AAAA,QAOIC,kBAPJ;AAAA,QAQIC,wBARJ;AASD;;AAED,MAAIlC,QAAQ,IAAIC,YAAhB,EAA8B;AAC5B,QAAIkC,YAAY,GAAG,EAAnB;AAAA,QACIC,YAAY,GAAG,EADnB;AAAA,QAEIC,aAFJ;AAAA,QAGIC,IAHJ;AAAA,QAIIC,IAJJ;AAAA,QAKIC,QAAQ,GAAG,KALf;AAAA,QAMIC,QANJ;AAAA,QAOIC,OAAO,GAAG9xC,UAAU,GAClB,UAASnH,CAAT,EAAYC,CAAZ,EAAe;AAAE,aAAOD,CAAC,CAACiH,CAAF,GAAMhH,CAAC,CAACgH,CAAf;AAAmB,KADlB,GAElB,UAASjH,CAAT,EAAYC,CAAZ,EAAe;AAAE,aAAOD,CAAC,CAACkH,CAAF,GAAMjH,CAAC,CAACiH,CAAf;AAAmB,KAT1C;AAUD,GA1XgC,CA4XjC;;;AACA,MAAI,CAAC4nC,SAAL,EAAgB;AAAEoK,4BAAwB,CAACz3B,OAAO,IAAIqzB,MAAZ,CAAxB;AAA8C;;AAEhE,MAAIpD,SAAJ,EAAe;AACbsC,iBAAa,GAAGtC,SAAhB;AACAuC,mBAAe,GAAG,WAAlB;;AAEA,QAAItC,eAAJ,EAAqB;AACnBsC,qBAAe,IAAI9sC,UAAU,GAAG,KAAH,GAAW,UAAxC;AACA+sC,sBAAgB,GAAG/sC,UAAU,GAAG,aAAH,GAAmB,QAAhD;AACD,KAHD,MAGO;AACL8sC,qBAAe,IAAI9sC,UAAU,GAAG,IAAH,GAAU,IAAvC;AACA+sC,sBAAgB,GAAG,GAAnB;AACD;AAEF;;AAED,MAAI7B,QAAJ,EAAc;AAAEtlD,aAAS,CAAC8pB,SAAV,GAAsB9pB,SAAS,CAAC8pB,SAAV,CAAoB5tB,OAApB,CAA4B,WAA5B,EAAyC,EAAzC,CAAtB;AAAqE;;AACrFkwD,eAAa;AACbC,WAAS;AACTC,qBAAmB,GAhZc,CAkZjC;;AACA,WAASH,wBAAT,CAAmCI,SAAnC,EAA8C;AAC5C,QAAIA,SAAJ,EAAe;AACbxmD,cAAQ,GAAGw8C,GAAG,GAAGj/C,KAAK,GAAGggD,SAAS,GAAGb,SAAS,GAAGjkD,QAAQ,GAAGyB,kBAAkB,GAAG8iD,yBAAyB,GAAG,KAA7G;AACD;AACF;;AAED,WAASyE,eAAT,GAA4B;AAC1B,QAAIgF,GAAG,GAAGlH,QAAQ,GAAGtkD,KAAK,GAAG0lD,UAAX,GAAwB1lD,KAA1C;;AACA,WAAOwrD,GAAG,GAAG,CAAb,EAAgB;AAAEA,SAAG,IAAInrD,UAAP;AAAoB;;AACtC,WAAOmrD,GAAG,GAACnrD,UAAJ,GAAiB,CAAxB;AACD;;AAED,WAASgmD,aAAT,CAAwBoF,GAAxB,EAA6B;AAC3BA,OAAG,GAAGA,GAAG,GAAGj0C,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACE,GAAL,CAAS/Z,IAAI,GAAG0C,UAAU,GAAG,CAAhB,GAAoBA,UAAU,GAAGxC,KAA9C,EAAqD4tD,GAArD,CAAZ,CAAH,GAA4E,CAArF;AACA,WAAOnH,QAAQ,GAAGmH,GAAG,GAAG/F,UAAT,GAAsB+F,GAArC;AACD;;AAED,WAASC,WAAT,CAAsB9zD,CAAtB,EAAyB;AACvB,QAAIA,CAAC,IAAI,IAAT,EAAe;AAAEA,OAAC,GAAGoI,KAAJ;AAAY;;AAE7B,QAAIskD,QAAJ,EAAc;AAAE1sD,OAAC,IAAI8tD,UAAL;AAAkB;;AAClC,WAAO9tD,CAAC,GAAG,CAAX,EAAc;AAAEA,OAAC,IAAIyI,UAAL;AAAkB;;AAElC,WAAOmX,IAAI,CAACuE,KAAL,CAAWnkB,CAAC,GAACyI,UAAb,CAAP;AACD;;AAED,WAAS0pD,kBAAT,GAA+B;AAC7B,QAAI4B,QAAQ,GAAGD,WAAW,EAA1B;AAAA,QACIpgC,MADJ;AAGAA,UAAM,GAAG1sB,eAAe,GAAG+sD,QAAH,GACtB7K,UAAU,IAAIC,SAAd,GAA0BvpC,IAAI,CAAC6wB,IAAL,CAAU,CAACsjB,QAAQ,GAAG,CAAZ,IAAiBjC,KAAjB,GAAyBrpD,UAAzB,GAAsC,CAAhD,CAA1B,GACImX,IAAI,CAACuE,KAAL,CAAW4vC,QAAQ,GAAG9tD,KAAtB,CAFN,CAJ6B,CAQ7B;;AACA,QAAI,CAACF,IAAD,IAAS2mD,QAAT,IAAqBtkD,KAAK,KAAK0mD,QAAnC,EAA6C;AAAEp7B,YAAM,GAAGo+B,KAAK,GAAG,CAAjB;AAAqB;;AAEpE,WAAOp+B,MAAP;AACD;;AAED,WAASsgC,WAAT,GAAwB;AACtB;AACA,QAAI7K,SAAS,IAAKD,UAAU,IAAI,CAACE,WAAjC,EAA+C;AAC7C,aAAO3gD,UAAU,GAAG,CAApB,CAD6C,CAE/C;AACC,KAHD,MAGO;AACL,UAAI+6C,GAAG,GAAG0F,UAAU,GAAG,YAAH,GAAkB,OAAtC;AAAA,UACIvjC,GAAG,GAAG,EADV;;AAGA,UAAIujC,UAAU,IAAIluC,OAAO,CAACwoC,GAAD,CAAP,GAAe/6C,UAAjC,EAA6C;AAAEkd,WAAG,CAACnjB,IAAJ,CAASwY,OAAO,CAACwoC,GAAD,CAAhB;AAAyB;;AAExE,UAAIj8C,UAAJ,EAAgB;AACd,aAAK,IAAIirB,EAAT,IAAejrB,UAAf,EAA2B;AACzB,cAAIqsD,GAAG,GAAGrsD,UAAU,CAACirB,EAAD,CAAV,CAAegxB,GAAf,CAAV;;AACA,cAAIoQ,GAAG,KAAK1K,UAAU,IAAI0K,GAAG,GAAGnrD,UAAzB,CAAP,EAA6C;AAAEkd,eAAG,CAACnjB,IAAJ,CAASoxD,GAAT;AAAgB;AAChE;AACF;;AAED,UAAI,CAACjuC,GAAG,CAACxjB,MAAT,EAAiB;AAAEwjB,WAAG,CAACnjB,IAAJ,CAAS,CAAT;AAAc;;AAEjC,aAAOod,IAAI,CAAC6wB,IAAL,CAAUyY,UAAU,GAAGE,WAAW,GAAGxpC,IAAI,CAACE,GAAL,CAASnb,KAAT,CAAe,IAAf,EAAqBghB,GAArB,CAAjB,GAA6C/F,IAAI,CAACC,GAAL,CAASlb,KAAT,CAAe,IAAf,EAAqBghB,GAArB,CAAjE,CAAP;AACD;AACF;;AAED,WAASooC,oBAAT,GAAiC;AAC/B,QAAIkG,QAAQ,GAAGD,WAAW,EAA1B;AAAA,QACItgC,MAAM,GAAGg5B,QAAQ,GAAG9sC,IAAI,CAAC6wB,IAAL,CAAU,CAACwjB,QAAQ,GAAG,CAAX,GAAexrD,UAAhB,IAA4B,CAAtC,CAAH,GAA+CwrD,QAAQ,GAAG,CAAX,GAAexrD,UADnF;AAEAirB,UAAM,GAAG9T,IAAI,CAACC,GAAL,CAASo0C,QAAT,EAAmBvgC,MAAnB,CAAT;AAEA,WAAO+8B,SAAS,CAAC,aAAD,CAAT,GAA2B/8B,MAAM,GAAG,CAApC,GAAwCA,MAA/C;AACD;;AAED,WAAS25B,cAAT,GAA2B;AACzB,WAAOnzC,GAAG,CAACgJ,UAAJ,IAAkB4D,GAAG,CAACgK,eAAJ,CAAoB9N,WAAtC,IAAqD8D,GAAG,CAAC6b,IAAJ,CAAS3f,WAArE;AACD;;AAED,WAASkxC,iBAAT,CAA4BhiB,GAA5B,EAAiC;AAC/B,WAAOA,GAAG,KAAK,KAAR,GAAgB,YAAhB,GAA+B,WAAtC;AACD;;AAED,WAASiiB,cAAT,CAAyB3wC,EAAzB,EAA6B;AAC3B,QAAIA,EAAE,IAAI,IAAV,EAAgB;AAAE;AAAS;;AAC3B,QAAI8f,GAAG,GAAGxc,GAAG,CAAC9U,aAAJ,CAAkB,KAAlB,CAAV;AAAA,QAAoCoR,IAApC;AAAA,QAA0CnT,KAA1C;AACAuT,MAAE,CAAC2D,WAAH,CAAemc,GAAf;AACAlgB,QAAI,GAAGkgB,GAAG,CAACjgB,qBAAJ,EAAP;AACApT,SAAK,GAAGmT,IAAI,CAACb,KAAL,GAAaa,IAAI,CAAChE,IAA1B;AACAkkB,OAAG,CAAC/iC,MAAJ;;AACA,QAAI0P,KAAJ,EAAW;AACP,aAAOA,KAAP;AACH,KAFD,MAEO,IAAIuT,EAAE,CAAClR,UAAH,CAAcA,UAAd,KAA6B,IAAjC,EAAuC;AAC1C6hD,oBAAc,CAAC3wC,EAAE,CAAClR,UAAJ,CAAd;AACH,KAFM,MAEA;AACH;AACH;AACF;;AAED,WAASo7C,gBAAT,GAA6B;AAC3B,QAAI7H,GAAG,GAAGoD,WAAW,GAAGA,WAAW,GAAG,CAAd,GAAkB3iD,MAArB,GAA8B,CAAnD;AACA,WAAO6tD,cAAc,CAACnH,eAAD,CAAd,GAAkCnH,GAAzC;AACD;;AAED,WAAS4K,SAAT,CAAoBnqC,IAApB,EAA0B;AACxB,QAAItL,OAAO,CAACsL,IAAD,CAAX,EAAmB;AACjB,aAAO,IAAP;AACD,KAFD,MAEO;AACL,UAAI/e,UAAJ,EAAgB;AACd,aAAK,IAAIirB,EAAT,IAAejrB,UAAf,EAA2B;AACzB,cAAIA,UAAU,CAACirB,EAAD,CAAV,CAAelM,IAAf,CAAJ,EAA0B;AAAE,mBAAO,IAAP;AAAc;AAC3C;AACF;;AACD,aAAO,KAAP;AACD;AACF,GAngBgC,CAqgBjC;AACA;AACA;AACA;;;AACA,WAASknC,SAAT,CAAoBlnC,IAApB,EAA0B8tC,EAA1B,EAA8B;AAC5B,QAAIA,EAAE,IAAI,IAAV,EAAgB;AAAEA,QAAE,GAAGhH,WAAL;AAAmB;;AAErC,QAAI9mC,IAAI,KAAK,OAAT,IAAoB4iC,UAAxB,EAAoC;AAClC,aAAOtpC,IAAI,CAACuE,KAAL,CAAW,CAACspC,QAAQ,GAAGnnD,MAAZ,KAAuB4iD,UAAU,GAAG5iD,MAApC,CAAX,KAA2D,CAAlE;AAED,KAHD,MAGO;AACL,UAAIotB,MAAM,GAAG1Y,OAAO,CAACsL,IAAD,CAApB;;AAEA,UAAI/e,UAAJ,EAAgB;AACd,aAAK,IAAIirB,EAAT,IAAejrB,UAAf,EAA2B;AACzB;AACA,cAAI6sD,EAAE,IAAIzuD,QAAQ,CAAC6sB,EAAD,CAAlB,EAAwB;AACtB,gBAAIlM,IAAI,IAAI/e,UAAU,CAACirB,EAAD,CAAtB,EAA4B;AAAEkB,oBAAM,GAAGnsB,UAAU,CAACirB,EAAD,CAAV,CAAelM,IAAf,CAAT;AAAgC;AAC/D;AACF;AACF;;AAED,UAAIA,IAAI,KAAK,SAAT,IAAsBoN,MAAM,KAAK,MAArC,EAA6C;AAAEA,cAAM,GAAG85B,SAAS,CAAC,OAAD,CAAlB;AAA8B;;AAC7E,UAAI,CAACd,QAAD,KAAcpmC,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,OAA7C,CAAJ,EAA2D;AAAEoN,cAAM,GAAG9T,IAAI,CAACuE,KAAL,CAAWuP,MAAX,CAAT;AAA8B;;AAE3F,aAAOA,MAAP;AACD;AACF;;AAED,WAAS2gC,kBAAT,CAA6Br0D,CAA7B,EAAgC;AAC9B,WAAO4rD,IAAI,GACTA,IAAI,GAAG,GAAP,GAAa5rD,CAAC,GAAG,GAAjB,GAAuB,MAAvB,GAAgCguD,aAAhC,GAAgD,GADvC,GAEThuD,CAAC,GAAG,GAAJ,GAAUguD,aAAV,GAA0B,GAF5B;AAGD;;AAED,WAASsG,qBAAT,CAAgCC,cAAhC,EAAgDC,SAAhD,EAA2DC,aAA3D,EAA0EC,QAA1E,EAAoFC,YAApF,EAAkG;AAChG,QAAInR,GAAG,GAAG,EAAV;;AAEA,QAAI+Q,cAAc,KAAK7wD,SAAvB,EAAkC;AAChC,UAAImiD,GAAG,GAAG0O,cAAV;;AACA,UAAIC,SAAJ,EAAe;AAAE3O,WAAG,IAAI2O,SAAP;AAAmB;;AACpChR,SAAG,GAAGhiC,UAAU,GACd,eAAeqkC,GAAf,GAAqB,OAArB,GAA+B0O,cAA/B,GAAgD,KADlC,GAEd,aAAaA,cAAb,GAA8B,OAA9B,GAAwC1O,GAAxC,GAA8C,OAFhD;AAGD,KAND,MAMO,IAAI2O,SAAS,IAAI,CAACC,aAAlB,EAAiC;AACtC,UAAIG,aAAa,GAAG,MAAMJ,SAAN,GAAkB,IAAtC;AAAA,UACIpmC,GAAG,GAAG5M,UAAU,GAAGozC,aAAa,GAAG,MAAnB,GAA4B,OAAOA,aAAP,GAAuB,IADvE;AAEApR,SAAG,GAAG,eAAep1B,GAAf,GAAqB,GAA3B;AACD;;AAED,QAAI,CAACs+B,QAAD,IAAaiI,YAAb,IAA6B1I,kBAA7B,IAAmDyI,QAAvD,EAAiE;AAAElR,SAAG,IAAIqR,0BAA0B,CAACH,QAAD,CAAjC;AAA8C;;AACjH,WAAOlR,GAAP;AACD;;AAED,WAASsR,iBAAT,CAA4BL,aAA5B,EAA2CD,SAA3C,EAAsDO,QAAtD,EAAgE;AAC9D,QAAIN,aAAJ,EAAmB;AACjB,aAAO,CAACA,aAAa,GAAGD,SAAjB,IAA8BxG,aAA9B,GAA8C,IAArD;AACD,KAFD,MAEO;AACL,aAAOpC,IAAI,GACTA,IAAI,GAAG,GAAP,GAAaoC,aAAa,GAAG,GAA7B,GAAmC,MAAnC,GAA4C+G,QAA5C,GAAuD,GAD9C,GAET/G,aAAa,GAAG,GAAhB,GAAsB+G,QAAtB,GAAiC,GAFnC;AAGD;AACF;;AAED,WAASC,kBAAT,CAA6BP,aAA7B,EAA4CD,SAA5C,EAAuDO,QAAvD,EAAiE;AAC/D,QAAI9kD,KAAJ;;AAEA,QAAIwkD,aAAJ,EAAmB;AACjBxkD,WAAK,GAAIwkD,aAAa,GAAGD,SAAjB,GAA8B,IAAtC;AACD,KAFD,MAEO;AACL,UAAI,CAAC9H,QAAL,EAAe;AAAEqI,gBAAQ,GAAGn1C,IAAI,CAACuE,KAAL,CAAW4wC,QAAX,CAAX;AAAkC;;AACnD,UAAIE,QAAQ,GAAGvI,QAAQ,GAAGsB,aAAH,GAAmB+G,QAA1C;AACA9kD,WAAK,GAAG27C,IAAI,GACVA,IAAI,GAAG,UAAP,GAAoBqJ,QAApB,GAA+B,GADrB,GAEV,MAAMA,QAAN,GAAiB,GAFnB;AAGD;;AAEDhlD,SAAK,GAAG,WAAWA,KAAnB,CAb+D,CAe/D;;AACA,WAAO26C,MAAM,KAAK,OAAX,GAAqB36C,KAAK,GAAG,GAA7B,GAAmCA,KAAK,GAAG,cAAlD;AACD;;AAED,WAASilD,mBAAT,CAA8BV,SAA9B,EAAyC;AACvC,QAAIhR,GAAG,GAAG,EAAV,CADuC,CAGvC;AACA;;AACA,QAAIgR,SAAS,KAAK,KAAlB,EAAyB;AACvB,UAAIj6C,IAAI,GAAGiH,UAAU,GAAG,UAAH,GAAgB,SAArC;AAAA,UACI4M,GAAG,GAAG5M,UAAU,GAAG,OAAH,GAAa,QADjC;AAEAgiC,SAAG,GAAGjpC,IAAI,GAAI6T,GAAR,GAAc,IAAd,GAAqBomC,SAArB,GAAiC,KAAvC;AACD;;AAED,WAAOhR,GAAP;AACD;;AAED,WAAS2R,YAAT,CAAuBtsC,IAAvB,EAA6BjB,GAA7B,EAAkC;AAChC,QAAI2pB,MAAM,GAAG1oB,IAAI,CAACusC,SAAL,CAAe,CAAf,EAAkBvsC,IAAI,CAAC1mB,MAAL,GAAcylB,GAAhC,EAAqCtE,WAArC,EAAb;;AACA,QAAIiuB,MAAJ,EAAY;AAAEA,YAAM,GAAG,MAAMA,MAAN,GAAe,GAAxB;AAA8B;;AAE5C,WAAOA,MAAP;AACD;;AAED,WAASsjB,0BAAT,CAAqCpuD,KAArC,EAA4C;AAC1C,WAAO0uD,YAAY,CAAClJ,kBAAD,EAAqB,EAArB,CAAZ,GAAuC,sBAAvC,GAAgExlD,KAAK,GAAG,IAAxE,GAA+E,IAAtF;AACD;;AAED,WAAS4uD,yBAAT,CAAoC5uD,KAApC,EAA2C;AACzC,WAAO0uD,YAAY,CAAChJ,iBAAD,EAAoB,EAApB,CAAZ,GAAsC,qBAAtC,GAA8D1lD,KAAK,GAAG,IAAtE,GAA6E,IAApF;AACD;;AAED,WAAS+sD,aAAT,GAA0B;AACxB,QAAI8B,UAAU,GAAG,WAAjB;AAAA,QACIC,UAAU,GAAG,WADjB;AAAA,QAEIC,SAAS,GAAG/E,SAAS,CAAC,QAAD,CAFzB;AAIA5D,gBAAY,CAAC37B,SAAb,GAAyBokC,UAAzB;AACAxI,gBAAY,CAAC57B,SAAb,GAAyBqkC,UAAzB;AACA1I,gBAAY,CAAC3sD,EAAb,GAAkBgvD,OAAO,GAAG,KAA5B;AACApC,gBAAY,CAAC5sD,EAAb,GAAkBgvD,OAAO,GAAG,KAA5B,CARwB,CAUxB;;AACA,QAAI9nD,SAAS,CAAClH,EAAV,KAAiB,EAArB,EAAyB;AAAEkH,eAAS,CAAClH,EAAV,GAAegvD,OAAf;AAAyB;;AACpDD,uBAAmB,IAAIpD,gBAAgB,IAAI1C,SAApB,GAAgC,eAAhC,GAAkD,kBAAzE;AACA8F,uBAAmB,IAAIrD,IAAI,GAAG,WAAH,GAAiB,cAA5C;;AACA,QAAIzC,SAAJ,EAAe;AAAE8F,yBAAmB,IAAI,gBAAvB;AAA0C;;AAC3DA,uBAAmB,IAAI,UAAUj0C,OAAO,CAACguC,IAAzC;AACA5hD,aAAS,CAAC8pB,SAAV,IAAuB+9B,mBAAvB,CAhBwB,CAkBxB;;AACA,QAAIvC,QAAJ,EAAc;AACZK,mBAAa,GAAGjmC,GAAG,CAAC9U,aAAJ,CAAkB,KAAlB,CAAhB;AACA+6C,mBAAa,CAAC7sD,EAAd,GAAmBgvD,OAAO,GAAG,KAA7B;AACAnC,mBAAa,CAAC77B,SAAd,GAA0B,SAA1B;AAEA27B,kBAAY,CAAC1lC,WAAb,CAAyB4lC,aAAzB;AACAA,mBAAa,CAAC5lC,WAAd,CAA0B2lC,YAA1B;AACD,KAPD,MAOO;AACLD,kBAAY,CAAC1lC,WAAb,CAAyB2lC,YAAzB;AACD;;AAED,QAAIvC,UAAJ,EAAgB;AACd,UAAIkL,EAAE,GAAG1I,aAAa,GAAGA,aAAH,GAAmBD,YAAzC;AACA2I,QAAE,CAACvkC,SAAH,IAAgB,SAAhB;AACD;;AAED87B,mBAAe,CAACz6C,YAAhB,CAA6Bs6C,YAA7B,EAA2CzlD,SAA3C;AACA0lD,gBAAY,CAAC3lC,WAAb,CAAyB/f,SAAzB,EApCwB,CAsCxB;AACA;;AACAY,wEAAO,CAACb,UAAD,EAAa,UAASmf,IAAT,EAAetmB,CAAf,EAAkB;AACpCiE,4EAAQ,CAACqiB,IAAD,EAAO,UAAP,CAAR;;AACA,UAAI,CAACA,IAAI,CAACpmB,EAAV,EAAc;AAAEomB,YAAI,CAACpmB,EAAL,GAAUgvD,OAAO,GAAG,OAAV,GAAoBlvD,CAA9B;AAAkC;;AAClD,UAAI,CAAC0sD,QAAD,IAAatC,aAAjB,EAAgC;AAAEnmD,8EAAQ,CAACqiB,IAAD,EAAO8jC,aAAP,CAAR;AAAgC;;AAClEjC,4EAAQ,CAAC7hC,IAAD,EAAO;AACb,uBAAe,MADF;AAEb,oBAAY;AAFC,OAAP,CAAR;AAIA6hC,4EAAQ,CAAC7hC,IAAI,CAACnL,gBAAL,CAAsB,6CAAtB,CAAD,EAAuE;AAC7E,uBAAe,MAD8D;AAE7E,oBAAY;AAFiE,OAAvE,CAAR;AAID,KAZM,CAAP,CAxCwB,CAsDxB;AACA;AACA;;AACA,QAAI2yC,UAAJ,EAAgB;AACd,UAAI4H,cAAc,GAAG5uC,GAAG,CAACuc,sBAAJ,EAArB;AAAA,UACIsyB,aAAa,GAAG7uC,GAAG,CAACuc,sBAAJ,EADpB;;AAGA,WAAK,IAAI3a,CAAC,GAAGolC,UAAb,EAAyBplC,CAAC,EAA1B,GAA+B;AAC7B,YAAId,GAAG,GAAGc,CAAC,GAACjgB,UAAZ;AAAA,YACImtD,UAAU,GAAGzuD,UAAU,CAACygB,GAAD,CAAV,CAAgB4b,SAAhB,CAA0B,IAA1B,CADjB;AAEAv/B,8EAAQ,CAAC2xD,UAAD,EAAa7E,gBAAb,CAAR;AACAlJ,oFAAW,CAAC+N,UAAD,EAAa,IAAb,CAAX;AACAD,qBAAa,CAACpjD,YAAd,CAA2BqjD,UAA3B,EAAuCD,aAAa,CAAC1iC,UAArD;;AAEA,YAAIy5B,QAAJ,EAAc;AACZ,cAAImJ,SAAS,GAAG1uD,UAAU,CAACsB,UAAU,GAAG,CAAb,GAAiBmf,GAAlB,CAAV,CAAiC4b,SAAjC,CAA2C,IAA3C,CAAhB;AACAv/B,gFAAQ,CAAC4xD,SAAD,EAAY9E,gBAAZ,CAAR;AACAlJ,sFAAW,CAACgO,SAAD,EAAY,IAAZ,CAAX;AACAH,wBAAc,CAACvuC,WAAf,CAA2B0uC,SAA3B;AACD;AACF;;AAEDzuD,eAAS,CAACmL,YAAV,CAAuBmjD,cAAvB,EAAuCtuD,SAAS,CAAC6rB,UAAjD;AACA7rB,eAAS,CAAC+f,WAAV,CAAsBwuC,aAAtB;AACAxuD,gBAAU,GAAGC,SAAS,CAAC8U,QAAvB;AACD;AAEF;;AAED,WAASw3C,mBAAT,GAAgC;AAC9B;AACA,QAAIjD,SAAS,CAAC,YAAD,CAAT,IAA2BtH,SAA3B,IAAwC,CAAC3nC,UAA7C,EAAyD;AACvD,UAAIs0C,IAAI,GAAG1uD,SAAS,CAAC+T,gBAAV,CAA2B,KAA3B,CAAX,CADuD,CAGvD;;AACAnT,0EAAO,CAAC8tD,IAAD,EAAO,UAAS75C,GAAT,EAAc;AAC1B,YAAIhK,GAAG,GAAGgK,GAAG,CAAChK,GAAd;;AAEA,YAAI,CAACu4C,QAAL,EAAe;AACb;AACA,cAAIv4C,GAAG,IAAIA,GAAG,CAAC7R,OAAJ,CAAY,YAAZ,IAA4B,CAAvC,EAA0C;AACxC6b,eAAG,CAAChK,GAAJ,GAAU,EAAV;AACAwxC,oFAAS,CAACxnC,GAAD,EAAMg1C,SAAN,CAAT;AACAhtD,kFAAQ,CAACgY,GAAD,EAAM,SAAN,CAAR;AAEAA,eAAG,CAAChK,GAAJ,GAAUA,GAAV,CALwC,CAM1C;AACC,WAPD,MAOO;AACL8jD,qBAAS,CAAC95C,GAAD,CAAT;AACD;AACF;AACF,OAhBM,CAAP,CAJuD,CAsBvD;;AACAurC,iEAAG,CAAC,YAAU;AAAEwO,uBAAe,CAACpS,wFAAiB,CAACkS,IAAD,CAAlB,EAA0B,YAAW;AAAE1E,sBAAY,GAAG,IAAf;AAAsB,SAA7D,CAAf;AAAgF,OAA7F,CAAH,CAvBuD,CAyBvD;;AACA,UAAIX,SAAS,CAAC,YAAD,CAAb,EAA6B;AAAEqF,YAAI,GAAGG,aAAa,CAAC7tD,KAAD,EAAQwX,IAAI,CAACE,GAAL,CAAS1X,KAAK,GAAGnC,KAAR,GAAgB,CAAzB,EAA4B+nD,aAAa,GAAG,CAA5C,CAAR,CAApB;AAA8E;;AAE7GxD,cAAQ,GAAG0L,6BAA6B,EAAhC,GAAqC1O,2DAAG,CAAC,YAAU;AAAEwO,uBAAe,CAACpS,wFAAiB,CAACkS,IAAD,CAAlB,EAA0BI,6BAA1B,CAAf;AAA0E,OAAvF,CAAhD;AAED,KA9BD,MA8BO;AACL;AACA,UAAIxJ,QAAJ,EAAc;AAAEyJ,kCAA0B;AAAK,OAF1C,CAIL;;;AACAC,eAAS;AACTC,gBAAU;AACX;AACF;;AAED,WAASH,6BAAT,GAA0C;AACxC,QAAI/M,SAAS,IAAI1gD,UAAU,GAAG,CAA9B,EAAiC;AAC/B;AACA,UAAImf,GAAG,GAAG7hB,IAAI,GAAGqC,KAAH,GAAWK,UAAU,GAAG,CAAtC;;AAEA,OAAC,SAAS6tD,sBAAT,GAAkC;AACjC,YAAIl3C,IAAI,GAAGjY,UAAU,CAACygB,GAAD,CAAV,CAAgBvE,qBAAhB,GAAwCjE,IAAnD;AACA,YAAImD,KAAK,GAAGpb,UAAU,CAACygB,GAAG,GAAG,CAAP,CAAV,CAAoBvE,qBAApB,GAA4Cd,KAAxD;AAEC3C,YAAI,CAACkmC,GAAL,CAAS1mC,IAAI,GAAGmD,KAAhB,KAA0B,CAA3B,GACEg0C,uBAAuB,EADzB,GAEExhD,UAAU,CAAC,YAAU;AAAEuhD,gCAAsB;AAAI,SAAvC,EAAyC,EAAzC,CAFZ;AAGD,OAPD;AASD,KAbD,MAaO;AACLC,6BAAuB;AACxB;AACF;;AAGD,WAASA,uBAAT,GAAoC;AAClC;AACA,QAAI,CAAC/0C,UAAD,IAAe2nC,SAAnB,EAA8B;AAC5BqN,uBAAiB;;AAEjB,UAAIrN,SAAJ,EAAe;AACb+E,qBAAa,GAAGC,gBAAgB,EAAhC;;AACA,YAAIrD,SAAJ,EAAe;AAAEqE,gBAAM,GAAGC,SAAS,EAAlB;AAAuB;;AACxCN,gBAAQ,GAAGN,WAAW,EAAtB,CAHa,CAGa;;AAC1B+E,gCAAwB,CAACz3B,OAAO,IAAIqzB,MAAZ,CAAxB;AACD,OALD,MAKO;AACLsH,kCAA0B;AAC3B;AACF,KAbiC,CAelC;;;AACA,QAAI/J,QAAJ,EAAc;AAAEyJ,gCAA0B;AAAK,KAhBb,CAkBlC;;;AACAC,aAAS;AACTC,cAAU;AACX;;AAED,WAAS5C,SAAT,GAAsB;AACpB;AACA;AACA,QAAI,CAAC/G,QAAL,EAAe;AACb,WAAK,IAAI1sD,CAAC,GAAGoI,KAAR,EAAeiyB,CAAC,GAAGjyB,KAAK,GAAGwX,IAAI,CAACE,GAAL,CAASrX,UAAT,EAAqBxC,KAArB,CAAhC,EAA6DjG,CAAC,GAAGq6B,CAAjE,EAAoEr6B,CAAC,EAArE,EAAyE;AACvE,YAAIsmB,IAAI,GAAGnf,UAAU,CAACnH,CAAD,CAArB;AACAsmB,YAAI,CAAClK,KAAL,CAAWgD,IAAX,GAAkB,CAACpf,CAAC,GAAGoI,KAAL,IAAc,GAAd,GAAoBnC,KAApB,GAA4B,GAA9C;AACAhC,8EAAQ,CAACqiB,IAAD,EAAO3f,SAAP,CAAR;AACAjG,oFAAW,CAAC4lB,IAAD,EAAO8jC,aAAP,CAAX;AACD;AACF,KAVmB,CAYpB;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;;;AACA,QAAI5oC,UAAJ,EAAgB;AACd,UAAIqqC,gBAAgB,IAAI1C,SAAxB,EAAmC;AACjCjG,kFAAU,CAACC,KAAD,EAAQ,MAAM+L,OAAN,GAAgB,cAAxB,EAAwC,eAAeh1C,GAAG,CAACmC,gBAAJ,CAAqBlV,UAAU,CAAC,CAAD,CAA/B,EAAoCuvD,QAAnD,GAA8D,GAAtG,EAA2GzR,wFAAiB,CAAC9B,KAAD,CAA5H,CAAV;AACAD,kFAAU,CAACC,KAAD,EAAQ,MAAM+L,OAAd,EAAuB,cAAvB,EAAuCjK,wFAAiB,CAAC9B,KAAD,CAAxD,CAAV;AACD,OAHD,MAGO,IAAIuJ,QAAJ,EAAc;AACnB1kD,4EAAO,CAACb,UAAD,EAAa,UAAUoD,KAAV,EAAiBvK,CAAjB,EAAoB;AACtCuK,eAAK,CAAC6R,KAAN,CAAYmxB,UAAZ,GAAyB8mB,kBAAkB,CAACr0D,CAAD,CAA3C;AACD,SAFM,CAAP;AAGD;AACF,KAnCmB,CAsCpB;;;AACA,QAAI8rD,KAAJ,EAAW;AACT;AACA,UAAIG,kBAAJ,EAAwB;AACtB,YAAIzI,GAAG,GAAGuJ,aAAa,IAAI/xC,OAAO,CAACuvC,UAAzB,GAAsCsK,0BAA0B,CAAC75C,OAAO,CAACvU,KAAT,CAAhE,GAAkF,EAA5F;AACAy8C,kFAAU,CAACC,KAAD,EAAQ,MAAM+L,OAAN,GAAgB,KAAxB,EAA+B1L,GAA/B,EAAoCyB,wFAAiB,CAAC9B,KAAD,CAArD,CAAV;AACD,OALQ,CAOT;;;AACAK,SAAG,GAAG8Q,qBAAqB,CAACt5C,OAAO,CAACiuC,WAAT,EAAsBjuC,OAAO,CAAC1U,MAA9B,EAAsC0U,OAAO,CAACkuC,UAA9C,EAA0DluC,OAAO,CAACvU,KAAlE,EAAyEuU,OAAO,CAACuvC,UAAjF,CAA3B;AACArH,gFAAU,CAACC,KAAD,EAAQ,MAAM+L,OAAN,GAAgB,KAAxB,EAA+B1L,GAA/B,EAAoCyB,wFAAiB,CAAC9B,KAAD,CAArD,CAAV,CATS,CAWT;;AACA,UAAIuJ,QAAJ,EAAc;AACZlJ,WAAG,GAAGhiC,UAAU,IAAI,CAAC2nC,SAAf,GAA2B,WAAW2L,iBAAiB,CAAC95C,OAAO,CAACkuC,UAAT,EAAqBluC,OAAO,CAAC1U,MAA7B,EAAqC0U,OAAO,CAAC/U,KAA7C,CAA5B,GAAkF,GAA7G,GAAmH,EAAzH;;AACA,YAAIgmD,kBAAJ,EAAwB;AAAEzI,aAAG,IAAIqR,0BAA0B,CAACpuD,KAAD,CAAjC;AAA2C;;AACrEy8C,kFAAU,CAACC,KAAD,EAAQ,MAAM+L,OAAd,EAAuB1L,GAAvB,EAA4ByB,wFAAiB,CAAC9B,KAAD,CAA7C,CAAV;AACD,OAhBQ,CAkBT;;;AACAK,SAAG,GAAGhiC,UAAU,IAAI,CAAC2nC,SAAf,GAA2B6L,kBAAkB,CAACh6C,OAAO,CAACkuC,UAAT,EAAqBluC,OAAO,CAAC1U,MAA7B,EAAqC0U,OAAO,CAAC/U,KAA7C,CAA7C,GAAmG,EAAzG;;AACA,UAAI+U,OAAO,CAAC1U,MAAZ,EAAoB;AAAEk9C,WAAG,IAAI0R,mBAAmB,CAACl6C,OAAO,CAAC1U,MAAT,CAA1B;AAA6C,OApB1D,CAqBT;;;AACA,UAAI,CAAComD,QAAL,EAAe;AACb,YAAIT,kBAAJ,EAAwB;AAAEzI,aAAG,IAAIqR,0BAA0B,CAACpuD,KAAD,CAAjC;AAA2C;;AACrE,YAAI0lD,iBAAJ,EAAuB;AAAE3I,aAAG,IAAI6R,yBAAyB,CAAC5uD,KAAD,CAAhC;AAA0C;AACpE;;AACD,UAAI+8C,GAAJ,EAAS;AAAEN,kFAAU,CAACC,KAAD,EAAQ,MAAM+L,OAAN,GAAgB,cAAxB,EAAwC1L,GAAxC,EAA6CyB,wFAAiB,CAAC9B,KAAD,CAA9D,CAAV;AAAmF,OA1BrF,CA4BX;AACA;AACA;AACA;;AACC,KAhCD,MAgCO;AACL;AACAwT,yCAAmC,GAF9B,CAIL;;AACA7J,kBAAY,CAAC1wC,KAAb,CAAmB8wB,OAAnB,GAA6BonB,qBAAqB,CAACrL,WAAD,EAAc3iD,MAAd,EAAsB4iD,UAAtB,EAAkCqB,UAAlC,CAAlD,CALK,CAOL;;AACA,UAAImC,QAAQ,IAAIlrC,UAAZ,IAA0B,CAAC2nC,SAA/B,EAA0C;AACxC/hD,iBAAS,CAACgV,KAAV,CAAgBnM,KAAhB,GAAwB6kD,iBAAiB,CAAC5L,UAAD,EAAa5iD,MAAb,EAAqBL,KAArB,CAAzC;AACD,OAVI,CAYL;;;AACA,UAAIu9C,GAAG,GAAGhiC,UAAU,IAAI,CAAC2nC,SAAf,GAA2B6L,kBAAkB,CAAC9L,UAAD,EAAa5iD,MAAb,EAAqBL,KAArB,CAA7C,GAA2E,EAArF;;AACA,UAAIK,MAAJ,EAAY;AAAEk9C,WAAG,IAAI0R,mBAAmB,CAAC5uD,MAAD,CAA1B;AAAqC,OAd9C,CAgBL;;;AACA,UAAIk9C,GAAJ,EAAS;AAAEN,kFAAU,CAACC,KAAD,EAAQ,MAAM+L,OAAN,GAAgB,cAAxB,EAAwC1L,GAAxC,EAA6CyB,wFAAiB,CAAC9B,KAAD,CAA9D,CAAV;AAAmF;AAC/F,KAzFmB,CA2FpB;;;AACA,QAAI57C,UAAU,IAAIukD,KAAlB,EAAyB;AACvB,WAAK,IAAIt5B,EAAT,IAAejrB,UAAf,EAA2B;AACzB;AACAirB,UAAE,GAAG7sB,QAAQ,CAAC6sB,EAAD,CAAb;AAEA,YAAIihB,IAAI,GAAGlsC,UAAU,CAACirB,EAAD,CAArB;AAAA,YACIgxB,GAAG,GAAG,EADV;AAAA,YAEIoT,gBAAgB,GAAG,EAFvB;AAAA,YAGIC,eAAe,GAAG,EAHtB;AAAA,YAIIC,YAAY,GAAG,EAJnB;AAAA,YAKIC,QAAQ,GAAG,EALf;AAAA,YAMIC,OAAO,GAAG,CAAC7N,SAAD,GAAaqE,SAAS,CAAC,OAAD,EAAUh7B,EAAV,CAAtB,GAAsC,IANpD;AAAA,YAOIykC,YAAY,GAAGzJ,SAAS,CAAC,YAAD,EAAeh7B,EAAf,CAP5B;AAAA,YAQI0kC,OAAO,GAAG1J,SAAS,CAAC,OAAD,EAAUh7B,EAAV,CARvB;AAAA,YASI2kC,aAAa,GAAG3J,SAAS,CAAC,aAAD,EAAgBh7B,EAAhB,CAT7B;AAAA,YAUImiC,YAAY,GAAGnH,SAAS,CAAC,YAAD,EAAeh7B,EAAf,CAV5B;AAAA,YAWI4kC,QAAQ,GAAG5J,SAAS,CAAC,QAAD,EAAWh7B,EAAX,CAXxB,CAJyB,CAiBzB;;AACA,YAAIy5B,kBAAkB,IAAIc,aAAtB,IAAuCS,SAAS,CAAC,YAAD,EAAeh7B,EAAf,CAAhD,IAAsE,WAAWihB,IAArF,EAA2F;AACzFmjB,0BAAgB,GAAG,MAAM1H,OAAN,GAAgB,MAAhB,GAAyB2F,0BAA0B,CAACqC,OAAD,CAAnD,GAA+D,GAAlF;AACD,SApBwB,CAsBzB;;;AACA,YAAI,iBAAiBzjB,IAAjB,IAAyB,YAAYA,IAAzC,EAA+C;AAC7CojB,yBAAe,GAAG,MAAM3H,OAAN,GAAgB,MAAhB,GAAyBoF,qBAAqB,CAAC6C,aAAD,EAAgBC,QAAhB,EAA0BH,YAA1B,EAAwCC,OAAxC,EAAiDvC,YAAjD,CAA9C,GAA+G,GAAjI;AACD,SAzBwB,CA2BzB;;;AACA,YAAIjI,QAAQ,IAAIlrC,UAAZ,IAA0B,CAAC2nC,SAA3B,KAAyC,gBAAgB1V,IAAhB,IAAwB,WAAWA,IAAnC,IAA4CyV,UAAU,IAAI,YAAYzV,IAA/G,CAAJ,EAA2H;AACzHqjB,sBAAY,GAAG,WAAWhC,iBAAiB,CAACmC,YAAD,EAAeG,QAAf,EAAyBJ,OAAzB,CAA5B,GAAgE,GAA/E;AACD;;AACD,YAAI/K,kBAAkB,IAAI,WAAWxY,IAArC,EAA2C;AACzCqjB,sBAAY,IAAIjC,0BAA0B,CAACqC,OAAD,CAA1C;AACD;;AACD,YAAIJ,YAAJ,EAAkB;AAChBA,sBAAY,GAAG,MAAM5H,OAAN,GAAgB,GAAhB,GAAsB4H,YAAtB,GAAqC,GAApD;AACD,SApCwB,CAsCzB;;;AACA,YAAI,gBAAgBrjB,IAAhB,IAAyByV,UAAU,IAAI,YAAYzV,IAAnD,IAA4D,CAACiZ,QAAD,IAAa,WAAWjZ,IAAxF,EAA8F;AAC5FsjB,kBAAQ,IAAI/B,kBAAkB,CAACiC,YAAD,EAAeG,QAAf,EAAyBJ,OAAzB,CAA9B;AACD;;AACD,YAAI,YAAYvjB,IAAhB,EAAsB;AACpBsjB,kBAAQ,IAAI7B,mBAAmB,CAACkC,QAAD,CAA/B;AACD,SA5CwB,CA6CzB;;;AACA,YAAI,CAAC1K,QAAD,IAAa,WAAWjZ,IAA5B,EAAkC;AAChC,cAAIwY,kBAAJ,EAAwB;AAAE8K,oBAAQ,IAAIlC,0BAA0B,CAACqC,OAAD,CAAtC;AAAkD;;AAC5E,cAAI/K,iBAAJ,EAAuB;AAAE4K,oBAAQ,IAAI1B,yBAAyB,CAAC6B,OAAD,CAArC;AAAiD;AAC3E;;AACD,YAAIH,QAAJ,EAAc;AAAEA,kBAAQ,GAAG,MAAM7H,OAAN,GAAgB,eAAhB,GAAkC6H,QAAlC,GAA6C,GAAxD;AAA8D,SAlDrD,CAoDzB;;;AACAvT,WAAG,GAAGoT,gBAAgB,GAAGC,eAAnB,GAAqCC,YAArC,GAAoDC,QAA1D;;AAEA,YAAIvT,GAAJ,EAAS;AACPL,eAAK,CAACE,UAAN,CAAiB,wBAAwB7wB,EAAE,GAAG,EAA7B,GAAkC,OAAlC,GAA4CgxB,GAA5C,GAAkD,GAAnE,EAAwEL,KAAK,CAACgC,QAAN,CAAehjD,MAAvF;AACD;AACF;AACF;AACF;;AAED,WAASi0D,SAAT,GAAsB;AACpB;AACAiB,qBAAiB,GAFG,CAIpB;;AACAxK,gBAAY,CAACyK,kBAAb,CAAgC,YAAhC,EAA8C,uHAAuHC,gBAAgB,EAAvI,GAA4I,cAA5I,GAA6J9uD,UAA7J,GAA0K,QAAxN;AACA4oD,qBAAiB,GAAGxE,YAAY,CAACxsC,aAAb,CAA2B,0BAA3B,CAApB,CANoB,CAQpB;;AACA,QAAIswC,WAAJ,EAAiB;AACf,UAAI6G,GAAG,GAAG5xD,QAAQ,GAAG,MAAH,GAAY,OAA9B;;AACA,UAAIqkD,cAAJ,EAAoB;AAClB9B,8EAAQ,CAAC8B,cAAD,EAAiB;AAAC,yBAAeuN;AAAhB,SAAjB,CAAR;AACD,OAFD,MAEO,IAAIx8C,OAAO,CAACkvC,oBAAZ,EAAkC;AACvC2C,oBAAY,CAACyK,kBAAb,CAAgCpD,iBAAiB,CAACl5C,OAAO,CAAC8uC,gBAAT,CAAjD,EAA6E,wCAAwC0N,GAAxC,GAA8C,IAA9C,GAAqD/E,mBAAmB,CAAC,CAAD,CAAxE,GAA8E+E,GAA9E,GAAoF/E,mBAAmB,CAAC,CAAD,CAAvG,GAA6GzI,YAAY,CAAC,CAAD,CAAzH,GAA+H,WAA5M;AACAC,sBAAc,GAAG4C,YAAY,CAACxsC,aAAb,CAA2B,eAA3B,CAAjB;AACD,OAPc,CASf;;;AACA,UAAI4pC,cAAJ,EAAoB;AAClBxG,gFAAS,CAACwG,cAAD,EAAiB;AAAC,mBAASwN;AAAV,SAAjB,CAAT;AACD;;AAED,UAAI7xD,QAAJ,EAAc;AACZ8xD,qBAAa;;AACb,YAAIrwD,kBAAJ,EAAwB;AAAEo8C,kFAAS,CAACr8C,SAAD,EAAYwoD,WAAZ,CAAT;AAAoC;;AAC9D,YAAIzF,yBAAJ,EAA+B;AAAE1G,kFAAS,CAACr8C,SAAD,EAAY2oD,eAAZ,CAAT;AAAwC;AAC1E;AACF,KA5BmB,CA8BpB;;;AACA,QAAIW,MAAJ,EAAY;AACV,UAAIiH,SAAS,GAAG,CAACjL,QAAD,GAAY,CAAZ,GAAgBoB,UAAhC,CADU,CAEV;AACA;;AACA,UAAI/mD,YAAJ,EAAkB;AAChBohD,8EAAQ,CAACphD,YAAD,EAAe;AAAC,wBAAc;AAAf,SAAf,CAAR;AACA8qD,gBAAQ,GAAG9qD,YAAY,CAACmV,QAAxB;AACAlU,4EAAO,CAAC6pD,QAAD,EAAW,UAASvrC,IAAT,EAAetmB,CAAf,EAAkB;AAClCmoD,gFAAQ,CAAC7hC,IAAD,EAAO;AACb,wBAAYtmB,CADC;AAEb,wBAAY,IAFC;AAGb,0BAAcsyD,MAAM,IAAItyD,CAAC,GAAG,CAAR,CAHP;AAIb,6BAAiBkvD;AAJJ,WAAP,CAAR;AAMD,SAPM,CAAP,CAHgB,CAYlB;AACC,OAbD,MAaO;AACL,YAAI0I,OAAO,GAAG,EAAd;AAAA,YACIC,SAAS,GAAG7wD,eAAe,GAAG,EAAH,GAAQ,sBADvC;;AAEA,aAAK,IAAIhH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyI,UAApB,EAAgCzI,CAAC,EAAjC,EAAqC;AACnC;AACA43D,iBAAO,IAAI,qCAAqC53D,CAArC,GAAwC,iCAAxC,GAA4EkvD,OAA5E,GAAsF,IAAtF,GAA6F2I,SAA7F,GAAyG,eAAzG,GAA2HvF,MAA3H,IAAqItyD,CAAC,GAAG,CAAzI,IAA6I,aAAxJ;AACD;;AACD43D,eAAO,GAAG,2DAA2DA,OAA3D,GAAqE,QAA/E;AACA/K,oBAAY,CAACyK,kBAAb,CAAgCpD,iBAAiB,CAACl5C,OAAO,CAAC4uC,WAAT,CAAjD,EAAwEgO,OAAxE;AAEA7wD,oBAAY,GAAG8lD,YAAY,CAACxsC,aAAb,CAA2B,UAA3B,CAAf;AACAwxC,gBAAQ,GAAG9qD,YAAY,CAACmV,QAAxB;AACD;;AAED47C,yBAAmB,GA/BT,CAiCV;;AACA,UAAI7L,kBAAJ,EAAwB;AACtB,YAAI1a,MAAM,GAAG0a,kBAAkB,CAACmJ,SAAnB,CAA6B,CAA7B,EAAgCnJ,kBAAkB,CAAC9pD,MAAnB,GAA4B,EAA5D,EAAgEmhB,WAAhE,EAAb;AAAA,YACIkgC,GAAG,GAAG,qBAAqB/8C,KAAK,GAAG,IAA7B,GAAoC,GAD9C;;AAGA,YAAI8qC,MAAJ,EAAY;AACViS,aAAG,GAAG,MAAMjS,MAAN,GAAe,GAAf,GAAqBiS,GAA3B;AACD;;AAEDN,kFAAU,CAACC,KAAD,EAAQ,qBAAqB+L,OAArB,GAA+B,QAAvC,EAAiD1L,GAAjD,EAAsDyB,wFAAiB,CAAC9B,KAAD,CAAvE,CAAV;AACD;;AAEDgF,4EAAQ,CAAC0J,QAAQ,CAACK,eAAD,CAAT,EAA4B;AAAC,sBAAcI,MAAM,IAAIJ,eAAe,GAAG,CAAtB,CAAN,GAAiCK;AAAhD,OAA5B,CAAR;AACA1K,kFAAW,CAACgK,QAAQ,CAACK,eAAD,CAAT,EAA4B,UAA5B,CAAX;AACAjuD,4EAAQ,CAAC4tD,QAAQ,CAACK,eAAD,CAAT,EAA4BG,cAA5B,CAAR,CA/CU,CAiDV;;AACA5O,8EAAS,CAAC18C,YAAD,EAAe0oD,SAAf,CAAT;AACD,KAlFmB,CAsFpB;;;AACA,QAAIe,WAAJ,EAAiB;AACf,UAAI,CAACvpD,iBAAD,KAAuB,CAACwiD,UAAD,IAAe,CAACC,UAAvC,CAAJ,EAAwD;AACtDmD,oBAAY,CAACyK,kBAAb,CAAgCpD,iBAAiB,CAACl5C,OAAO,CAACuuC,gBAAT,CAAjD,EAA6E,qJAAqJ2F,OAArJ,GAA8J,IAA9J,GAAqK1F,YAAY,CAAC,CAAD,CAAjL,GAAuL,mFAAvL,GAA6Q0F,OAA7Q,GAAsR,IAAtR,GAA6R1F,YAAY,CAAC,CAAD,CAAzS,GAA+S,iBAA5X;AAEAviD,yBAAiB,GAAG4lD,YAAY,CAACxsC,aAAb,CAA2B,eAA3B,CAApB;AACD;;AAED,UAAI,CAACopC,UAAD,IAAe,CAACC,UAApB,EAAgC;AAC9BD,kBAAU,GAAGxiD,iBAAiB,CAACiV,QAAlB,CAA2B,CAA3B,CAAb;AACAwtC,kBAAU,GAAGziD,iBAAiB,CAACiV,QAAlB,CAA2B,CAA3B,CAAb;AACD;;AAED,UAAIlB,OAAO,CAAC/T,iBAAZ,EAA+B;AAC7BkhD,8EAAQ,CAAClhD,iBAAD,EAAoB;AAC1B,wBAAc,qBADY;AAE1B,sBAAY;AAFc,SAApB,CAAR;AAID;;AAED,UAAI+T,OAAO,CAAC/T,iBAAR,IAA8B+T,OAAO,CAACyuC,UAAR,IAAsBzuC,OAAO,CAAC0uC,UAAhE,EAA6E;AAC3EvB,8EAAQ,CAAC,CAACsB,UAAD,EAAaC,UAAb,CAAD,EAA2B;AACjC,2BAAiBwF,OADgB;AAEjC,sBAAY;AAFqB,SAA3B,CAAR;AAID;;AAED,UAAIl0C,OAAO,CAAC/T,iBAAR,IAA8B+T,OAAO,CAACyuC,UAAR,IAAsBzuC,OAAO,CAAC0uC,UAAhE,EAA6E;AAC3EvB,8EAAQ,CAACsB,UAAD,EAAa;AAAC,2BAAkB;AAAnB,SAAb,CAAR;AACAtB,8EAAQ,CAACuB,UAAD,EAAa;AAAC,2BAAkB;AAAnB,SAAb,CAAR;AACD;;AAEDgI,kBAAY,GAAGqG,QAAQ,CAACtO,UAAD,CAAvB;AACAkI,kBAAY,GAAGoG,QAAQ,CAACrO,UAAD,CAAvB;AAEAsO,0BAAoB,GAlCL,CAoCf;;AACA,UAAI/wD,iBAAJ,EAAuB;AACrBw8C,gFAAS,CAACx8C,iBAAD,EAAoBqoD,cAApB,CAAT;AACD,OAFD,MAEO;AACL7L,gFAAS,CAACgG,UAAD,EAAa6F,cAAb,CAAT;AACA7L,gFAAS,CAACiG,UAAD,EAAa4F,cAAb,CAAT;AACD;AACF,KAlImB,CAoIpB;;;AACA2I,aAAS;AACV;;AAED,WAAS5B,UAAT,GAAuB;AACrB;AACA,QAAI3J,QAAQ,IAAIL,aAAhB,EAA+B;AAC7B,UAAI6L,GAAG,GAAG,EAAV;AACAA,SAAG,CAAC7L,aAAD,CAAH,GAAqB8L,eAArB;AACA1U,8EAAS,CAACr8C,SAAD,EAAY8wD,GAAZ,CAAT;AACD;;AAED,QAAIxtD,KAAJ,EAAW;AAAE+4C,8EAAS,CAACr8C,SAAD,EAAY+oD,WAAZ,EAAyBn1C,OAAO,CAAC1T,oBAAjC,CAAT;AAAkE;;AAC/E,QAAIojD,SAAJ,EAAe;AAAEjH,8EAAS,CAACr8C,SAAD,EAAYmpD,UAAZ,CAAT;AAAmC;;AACpD,QAAI1G,SAAJ,EAAe;AAAEpG,8EAAS,CAAC38B,GAAD,EAAMmpC,mBAAN,CAAT;AAAsC;;AAEvD,QAAIrF,MAAM,KAAK,OAAf,EAAwB;AACtB5gD,YAAM,CAAC1I,EAAP,CAAU,cAAV,EAA0B,YAAY;AACpC82D,mBAAW;AACXpuD,cAAM,CAAC+6C,IAAP,CAAY,aAAZ,EAA2BsT,IAAI,EAA/B;AACD,OAHD;AAID,KALD,MAKO,IAAI9wD,UAAU,IAAI2hD,UAAd,IAA4BC,SAA5B,IAAyCoB,UAAzC,IAAuD,CAAC/oC,UAA5D,EAAwE;AAC7EiiC,8EAAS,CAACvpC,GAAD,EAAM;AAAC,kBAAUo+C;AAAX,OAAN,CAAT;AACD;;AAED,QAAI/N,UAAJ,EAAgB;AACd,UAAIK,MAAM,KAAK,OAAf,EAAwB;AACtB5gD,cAAM,CAAC1I,EAAP,CAAU,aAAV,EAAyBi3D,YAAzB;AACD,OAFD,MAEO,IAAI,CAACz8B,OAAL,EAAc;AAAEy8B,oBAAY;AAAK;AACzC;;AAEDC,cAAU;;AACV,QAAI18B,OAAJ,EAAa;AAAE28B,mBAAa;AAAK,KAAjC,MAAuC,IAAItJ,MAAJ,EAAY;AAAEuJ,kBAAY;AAAK;;AAEtE1uD,UAAM,CAAC1I,EAAP,CAAU,cAAV,EAA0Bq3D,iBAA1B;;AACA,QAAI/N,MAAM,KAAK,OAAf,EAAwB;AAAE5gD,YAAM,CAAC+6C,IAAP,CAAY,aAAZ,EAA2BsT,IAAI,EAA/B;AAAqC;;AAC/D,QAAI,OAAOtN,MAAP,KAAkB,UAAtB,EAAkC;AAAEA,YAAM,CAACsN,IAAI,EAAL,CAAN;AAAiB;;AACrD/K,QAAI,GAAG,IAAP;AACD;;AAED,WAASvsD,OAAT,GAAoB;AAClB;AACAoiD,SAAK,CAACh1B,QAAN,GAAiB,IAAjB;;AACA,QAAIg1B,KAAK,CAACyV,SAAV,EAAqB;AAAEzV,WAAK,CAACyV,SAAN,CAAgBr4D,MAAhB;AAA2B,KAHhC,CAKlB;;;AACA2nD,kFAAY,CAAChuC,GAAD,EAAM;AAAC,gBAAUo+C;AAAX,KAAN,CAAZ,CANkB,CAQlB;;AACA,QAAIzO,SAAJ,EAAe;AAAE3B,oFAAY,CAACphC,GAAD,EAAMmpC,mBAAN,CAAZ;AAAyC;;AAC1D,QAAIhpD,iBAAJ,EAAuB;AAAEihD,oFAAY,CAACjhD,iBAAD,EAAoBqoD,cAApB,CAAZ;AAAkD;;AAC3E,QAAIvoD,YAAJ,EAAkB;AAAEmhD,oFAAY,CAACnhD,YAAD,EAAe0oD,SAAf,CAAZ;AAAwC,KAX1C,CAalB;;;AACAvH,kFAAY,CAAC9gD,SAAD,EAAYwoD,WAAZ,CAAZ;AACA1H,kFAAY,CAAC9gD,SAAD,EAAY2oD,eAAZ,CAAZ;;AACA,QAAI9F,cAAJ,EAAoB;AAAE/B,oFAAY,CAAC+B,cAAD,EAAiB;AAAC,iBAASwN;AAAV,OAAjB,CAAZ;AAA0D;;AAChF,QAAI7xD,QAAJ,EAAc;AAAEizD,mBAAa,CAACnG,aAAD,CAAb;AAA+B,KAjB7B,CAmBlB;;;AACA,QAAIhG,QAAQ,IAAIL,aAAhB,EAA+B;AAC7B,UAAI6L,GAAG,GAAG,EAAV;AACAA,SAAG,CAAC7L,aAAD,CAAH,GAAqB8L,eAArB;AACAjQ,oFAAY,CAAC9gD,SAAD,EAAY8wD,GAAZ,CAAZ;AACD;;AACD,QAAIxtD,KAAJ,EAAW;AAAEw9C,oFAAY,CAAC9gD,SAAD,EAAY+oD,WAAZ,CAAZ;AAAuC;;AACpD,QAAIzF,SAAJ,EAAe;AAAExC,oFAAY,CAAC9gD,SAAD,EAAYmpD,UAAZ,CAAZ;AAAsC,KA1BrC,CA4BlB;;;AACA,QAAIuI,QAAQ,GAAG,CAAC7L,aAAD,EAAgBsE,qBAAhB,EAAuCC,cAAvC,EAAuDC,cAAvD,EAAuEG,gBAAvE,EAAyFY,kBAAzF,CAAf;AAEAhG,WAAO,CAACxkD,OAAR,CAAgB,UAASse,IAAT,EAAetmB,CAAf,EAAkB;AAChC,UAAIwjB,EAAE,GAAG8C,IAAI,KAAK,WAAT,GAAuBumC,YAAvB,GAAsC7xC,OAAO,CAACsL,IAAD,CAAtD;;AAEA,UAAI,QAAO9C,EAAP,MAAc,QAAd,IAA0BA,EAA9B,EAAkC;AAChC,YAAIu1C,MAAM,GAAGv1C,EAAE,CAACw1C,sBAAH,GAA4Bx1C,EAAE,CAACw1C,sBAA/B,GAAwD,KAArE;AAAA,YACIC,QAAQ,GAAGz1C,EAAE,CAAClR,UADlB;AAEAkR,UAAE,CAAC0pC,SAAH,GAAe4L,QAAQ,CAAC94D,CAAD,CAAvB;AACAgb,eAAO,CAACsL,IAAD,CAAP,GAAgByyC,MAAM,GAAGA,MAAM,CAACG,kBAAV,GAA+BD,QAAQ,CAACta,iBAA9D;AACD;AACF,KATD,EA/BkB,CA2ClB;;AACA6N,WAAO,GAAG7lD,SAAS,GAAGC,UAAU,GAAGyjD,YAAY,GAAGD,aAAa,GAAG5oC,UAAU,GAAGqrC,YAAY,GAAGC,YAAY,GAAG1lD,SAAS,GAAG4lD,eAAe,GAAGC,aAAa,GAAG9lD,UAAU,GAAGsB,UAAU,GAAG0kD,cAAc,GAAGC,WAAW,GAAGjE,SAAS,GAAGD,UAAU,GAAGD,WAAW,GAAG3iD,MAAM,GAAGmnD,QAAQ,GAAGxnD,KAAK,GAAGojD,OAAO,GAAGD,WAAW,GAAGS,SAAS,GAAGpjD,KAAK,GAAG6jD,MAAM,GAAGvkD,IAAI,GAAGwkD,UAAU,GAAGpH,KAAK,GAAGqH,QAAQ,GAAGoD,cAAc,GAAGC,aAAa,GAAGC,UAAU,GAAGE,aAAa,GAAGC,gBAAgB,GAAGC,aAAa,GAAGE,0BAA0B,GAAGC,aAAa,GAAGC,eAAe,GAAGC,gBAAgB,GAAGC,WAAW,GAAGpmD,KAAK,GAAGsmD,WAAW,GAAGG,QAAQ,GAAGC,QAAQ,GAAGC,WAAW,GAAGpE,UAAU,GAAGqE,qBAAqB,GAAGpI,OAAO,GAAGmE,MAAM,GAAG/gD,MAAM,GAAGilD,mBAAmB,GAAGC,OAAO,GAAGpzB,OAAO,GAAG3N,QAAQ,GAAG28B,SAAS,GAAGqE,MAAM,GAAGE,MAAM,GAAGC,cAAc,GAAGG,SAAS,GAAGG,WAAW,GAAGG,eAAe,GAAGE,mBAAmB,GAAGE,WAAW,GAAGI,UAAU,GAAGC,WAAW,GAAGE,MAAM,GAAG1pD,eAAe,GAAG2pD,WAAW,GAAGC,QAAQ,GAAGC,YAAY,GAAGC,gBAAgB,GAAGE,gBAAgB,GAAGC,SAAS,GAAGG,YAAY,GAAGjkD,QAAQ,GAAGq8C,YAAY,GAAGviD,iBAAiB,GAAGsqD,qBAAqB,GAAG9H,UAAU,GAAGC,UAAU,GAAGgI,YAAY,GAAGC,YAAY,GAAGhI,GAAG,GAAG5iD,YAAY,GAAG6qD,gBAAgB,GAAGC,QAAQ,GAAGC,KAAK,GAAGE,WAAW,GAAGC,UAAU,GAAGC,eAAe,GAAGE,qBAAqB,GAAGC,cAAc,GAAGC,MAAM,GAAGC,aAAa,GAAG3sD,QAAQ,GAAGE,eAAe,GAAGikD,iBAAiB,GAAGC,YAAY,GAAG3iD,kBAAkB,GAAG4iD,cAAc,GAAGuI,kBAAkB,GAAGrI,yBAAyB,GAAGsI,mBAAmB,GAAGC,aAAa,GAAGC,SAAS,GAAGC,mBAAmB,GAAGC,kBAAkB,GAAGC,wBAAwB,GAAGC,YAAY,GAAGC,YAAY,GAAGC,aAAa,GAAGC,IAAI,GAAGC,IAAI,GAAGC,QAAQ,GAAGC,QAAQ,GAAGC,OAAO,GAAG5oD,KAAK,GAAGggD,SAAS,GAAG,IAAzqD,CA5CkB,CA6ClB;AACA;;AAEA,SAAK,IAAIrwC,CAAT,IAAc,IAAd,EAAoB;AAClB,UAAIA,CAAC,KAAK,SAAV,EAAqB;AAAE,aAAKA,CAAL,IAAU,IAAV;AAAiB;AACzC;;AACDizC,QAAI,GAAG,KAAP;AACD,GAxpCgC,CA0pCnC;AACE;;;AACA,WAASgL,QAAT,CAAmBr5D,CAAnB,EAAsB;AACpBuoD,+DAAG,CAAC,YAAU;AAAE4Q,iBAAW,CAACe,QAAQ,CAACl6D,CAAD,CAAT,CAAX;AAA2B,KAAxC,CAAH;AACD;;AAED,WAASm5D,WAAT,CAAsBn5D,CAAtB,EAAyB;AACvB,QAAI,CAACquD,IAAL,EAAW;AAAE;AAAS;;AACtB,QAAI1C,MAAM,KAAK,OAAf,EAAwB;AAAE5gD,YAAM,CAAC+6C,IAAP,CAAY,cAAZ,EAA4BsT,IAAI,CAACp5D,CAAD,CAAhC;AAAuC;;AACjEmuD,eAAW,GAAGC,cAAc,EAA5B;AACA,QAAI+L,SAAJ;AAAA,QACIC,iBAAiB,GAAGlM,cADxB;AAAA,QAEImM,sBAAsB,GAAG,KAF7B;;AAIA,QAAI/xD,UAAJ,EAAgB;AACdgmD,uBAAiB;AACjB6L,eAAS,GAAGC,iBAAiB,KAAKlM,cAAlC,CAFc,CAGd;;AACA,UAAIiM,SAAJ,EAAe;AAAEpvD,cAAM,CAAC+6C,IAAP,CAAY,oBAAZ,EAAkCsT,IAAI,CAACp5D,CAAD,CAAtC;AAA6C;AAC/D;;AAED,QAAIs6D,UAAJ;AAAA,QACIC,YADJ;AAAA,QAEIzE,QAAQ,GAAG9uD,KAFf;AAAA,QAGIwzD,UAAU,GAAG39B,OAHjB;AAAA,QAII49B,SAAS,GAAGvK,MAJhB;AAAA,QAKIwK,YAAY,GAAG9P,SALnB;AAAA,QAMI+P,WAAW,GAAGzsD,QANlB;AAAA,QAOI0sD,MAAM,GAAGlQ,GAPb;AAAA,QAQImQ,QAAQ,GAAGpvD,KARf;AAAA,QASIqvD,YAAY,GAAGrP,SATnB;AAAA,QAUIsP,WAAW,GAAGp0D,QAVlB;AAAA,QAWIq0D,qBAAqB,GAAG5yD,kBAX5B;AAAA,QAYI6yD,4BAA4B,GAAG/P,yBAZnC;AAAA,QAaIgQ,QAAQ,GAAG/xD,KAbf;;AAeA,QAAIgxD,SAAJ,EAAe;AACb,UAAI3E,aAAa,GAAGvL,UAApB;AAAA,UACIkR,aAAa,GAAG7P,UADpB;AAAA,UAEI8P,eAAe,GAAG7Q,YAFtB;AAAA,UAGI8Q,SAAS,GAAGhR,MAHhB;AAAA,UAIIiR,eAAe,GAAGvQ,YAJtB;;AAMA,UAAI,CAAC8B,KAAL,EAAY;AACV,YAAI0I,SAAS,GAAGluD,MAAhB;AAAA,YACIiuD,cAAc,GAAGtL,WADrB;AAED;AACF,KAzCsB,CA2CvB;AACA;AACA;AACA;;;AACAY,aAAS,GAAG2D,SAAS,CAAC,WAAD,CAArB;AACArgD,YAAQ,GAAGqgD,SAAS,CAAC,UAAD,CAApB;AACA7D,OAAG,GAAG6D,SAAS,CAAC,KAAD,CAAf;AACA9iD,SAAK,GAAG8iD,SAAS,CAAC,OAAD,CAAjB;AACAlE,UAAM,GAAGkE,SAAS,CAAC,QAAD,CAAlB;AACA9C,aAAS,GAAG8C,SAAS,CAAC,WAAD,CAArB;AACA5nD,YAAQ,GAAG4nD,SAAS,CAAC,UAAD,CAApB;AACAnmD,sBAAkB,GAAGmmD,SAAS,CAAC,oBAAD,CAA9B;AACArD,6BAAyB,GAAGqD,SAAS,CAAC,2BAAD,CAArC;;AAEA,QAAI4L,SAAJ,EAAe;AACbt9B,aAAO,GAAG0xB,SAAS,CAAC,SAAD,CAAnB;AACAtE,gBAAU,GAAGsE,SAAS,CAAC,YAAD,CAAtB;AACA/mD,WAAK,GAAG+mD,SAAS,CAAC,OAAD,CAAjB;AACAjD,gBAAU,GAAGiD,SAAS,CAAC,YAAD,CAAtB;AACAhE,kBAAY,GAAGgE,SAAS,CAAC,cAAD,CAAxB;AACAxD,kBAAY,GAAGwD,SAAS,CAAC,cAAD,CAAxB;AACA1nD,qBAAe,GAAG0nD,SAAS,CAAC,iBAAD,CAA3B;;AAEA,UAAI,CAAC1B,KAAL,EAAY;AACV7C,mBAAW,GAAGuE,SAAS,CAAC,aAAD,CAAvB;AACAlnD,cAAM,GAAGknD,SAAS,CAAC,QAAD,CAAlB;AACD;AACF,KAtEsB,CAuEvB;;;AACA+F,4BAAwB,CAACz3B,OAAD,CAAxB;AAEA2xB,YAAQ,GAAGC,gBAAgB,EAA3B,CA1EuB,CA0EQ;;AAC/B,QAAI,CAAC,CAAClsC,UAAD,IAAe2nC,SAAhB,KAA8B,CAACrtB,OAAnC,EAA4C;AAC1C06B,uBAAiB;;AACjB,UAAI,CAACh1C,UAAL,EAAiB;AACfi1C,kCAA0B,GADX,CACe;;AAC9B6C,8BAAsB,GAAG,IAAzB;AACD;AACF;;AACD,QAAIpQ,UAAU,IAAIC,SAAlB,EAA6B;AAC3B+E,mBAAa,GAAGC,gBAAgB,EAAhC,CAD2B,CACS;AACA;;AACpCW,cAAQ,GAAGN,WAAW,EAAtB,CAH2B,CAGD;AACA;AAC3B;;AAED,QAAI4K,SAAS,IAAIlQ,UAAjB,EAA6B;AAC3BjjD,WAAK,GAAGunD,SAAS,CAAC,OAAD,CAAjB;AACAnE,aAAO,GAAGmE,SAAS,CAAC,SAAD,CAAnB;AACAgM,kBAAY,GAAGvzD,KAAK,KAAK8uD,QAAzB;;AAEA,UAAIyE,YAAJ,EAAkB;AAChB,YAAI,CAACtQ,UAAD,IAAe,CAACC,SAApB,EAA+B;AAAE2F,kBAAQ,GAAGN,WAAW,EAAtB;AAA2B,SAD5C,CAC6C;AAC7D;AACA;;;AACAgM,mBAAW;AACZ;AACF;;AAED,QAAIpB,SAAJ,EAAe;AACb,UAAIt9B,OAAO,KAAK29B,UAAhB,EAA4B;AAC1B,YAAI39B,OAAJ,EAAa;AACX28B,uBAAa;AACd,SAFD,MAEO;AACLgC,sBAAY,GADP,CACW;AACjB;AACF;AACF;;AAED,QAAI3P,SAAS,KAAKsO,SAAS,IAAIlQ,UAAb,IAA2BC,SAAhC,CAAb,EAAyD;AACvDgG,YAAM,GAAGC,SAAS,EAAlB,CADuD,CACjC;AACA;AACA;;AAEtB,UAAID,MAAM,KAAKuK,SAAf,EAA0B;AACxB,YAAIvK,MAAJ,EAAY;AACVuL,8BAAoB,CAACC,0BAA0B,CAAClM,aAAa,CAAC,CAAD,CAAd,CAA3B,CAApB;AACAiK,sBAAY;AACb,SAHD,MAGO;AACLkC,wBAAc;AACdtB,gCAAsB,GAAG,IAAzB;AACD;AACF;AACF;;AAED/F,4BAAwB,CAACz3B,OAAO,IAAIqzB,MAAZ,CAAxB,CAhIuB,CAgIsB;;AAC7C,QAAI,CAACvpD,QAAL,EAAe;AAAEyB,wBAAkB,GAAG8iD,yBAAyB,GAAG,KAAjD;AAAyD;;AAE1E,QAAIN,SAAS,KAAK8P,YAAlB,EAAgC;AAC9B9P,eAAS,GACPpG,wEAAS,CAAC38B,GAAD,EAAMmpC,mBAAN,CADF,GAEP/H,8EAAY,CAACphC,GAAD,EAAMmpC,mBAAN,CAFd;AAGD;;AACD,QAAI9iD,QAAQ,KAAKysD,WAAjB,EAA8B;AAC5B,UAAIzsD,QAAJ,EAAc;AACZ,YAAIlG,iBAAJ,EAAuB;AACrBshD,sFAAW,CAACthD,iBAAD,CAAX;AACD,SAFD,MAEO;AACL,cAAIwiD,UAAJ,EAAgB;AAAElB,wFAAW,CAACkB,UAAD,CAAX;AAA0B;;AAC5C,cAAIC,UAAJ,EAAgB;AAAEnB,wFAAW,CAACmB,UAAD,CAAX;AAA0B;AAC7C;AACF,OAPD,MAOO;AACL,YAAIziD,iBAAJ,EAAuB;AACrBm/C,sFAAW,CAACn/C,iBAAD,CAAX;AACD,SAFD,MAEO;AACL,cAAIwiD,UAAJ,EAAgB;AAAErD,wFAAW,CAACqD,UAAD,CAAX;AAA0B;;AAC5C,cAAIC,UAAJ,EAAgB;AAAEtD,wFAAW,CAACsD,UAAD,CAAX;AAA0B;AAC7C;AACF;AACF;;AACD,QAAIC,GAAG,KAAKkQ,MAAZ,EAAoB;AAClB,UAAIlQ,GAAJ,EAAS;AACPpB,oFAAW,CAACxhD,YAAD,CAAX;AACA+wD,2BAAmB;AACpB,OAHD,MAGO;AACL1R,oFAAW,CAACr/C,YAAD,CAAX;AACD;AACF;;AACD,QAAI2D,KAAK,KAAKovD,QAAd,EAAwB;AACtBpvD,WAAK,GACH+4C,wEAAS,CAACr8C,SAAD,EAAY+oD,WAAZ,EAAyBn1C,OAAO,CAAC1T,oBAAjC,CADN,GAEH4gD,8EAAY,CAAC9gD,SAAD,EAAY+oD,WAAZ,CAFd;AAGD;;AACD,QAAIzF,SAAS,KAAKqP,YAAlB,EAAgC;AAC9BrP,eAAS,GACPjH,wEAAS,CAACr8C,SAAD,EAAYmpD,UAAZ,CADF,GAEPrI,8EAAY,CAAC9gD,SAAD,EAAYmpD,UAAZ,CAFd;AAGD;;AACD,QAAI3qD,QAAQ,KAAKo0D,WAAjB,EAA8B;AAC5B,UAAIp0D,QAAJ,EAAc;AACZ,YAAIqkD,cAAJ,EAAoB;AAAE1B,sFAAW,CAAC0B,cAAD,CAAX;AAA8B;;AACpD,YAAI,CAAC0I,SAAD,IAAc,CAACE,kBAAnB,EAAuC;AAAE6E,uBAAa;AAAK;AAC5D,OAHD,MAGO;AACL,YAAIzN,cAAJ,EAAoB;AAAE7D,sFAAW,CAAC6D,cAAD,CAAX;AAA8B;;AACpD,YAAI0I,SAAJ,EAAe;AAAEkI,sBAAY;AAAK;AACnC;AACF;;AACD,QAAIxzD,kBAAkB,KAAK4yD,qBAA3B,EAAkD;AAChD5yD,wBAAkB,GAChBo8C,wEAAS,CAACr8C,SAAD,EAAYwoD,WAAZ,CADO,GAEhB1H,8EAAY,CAAC9gD,SAAD,EAAYwoD,WAAZ,CAFd;AAGD;;AACD,QAAIzF,yBAAyB,KAAK+P,4BAAlC,EAAgE;AAC9D/P,+BAAyB,GACvB1G,wEAAS,CAAC38B,GAAD,EAAMipC,eAAN,CADc,GAEvB7H,8EAAY,CAACphC,GAAD,EAAMipC,eAAN,CAFd;AAGD;;AAED,QAAIqJ,SAAJ,EAAe;AACb,UAAIlQ,UAAU,KAAKuL,aAAf,IAAgCnL,MAAM,KAAKgR,SAA/C,EAA0D;AAAEhB,8BAAsB,GAAG,IAAzB;AAAgC;;AAE5F,UAAI/O,UAAU,KAAK6P,aAAnB,EAAkC;AAChC,YAAI,CAAC7P,UAAL,EAAiB;AAAEuC,sBAAY,CAAC1wC,KAAb,CAAmBpM,MAAnB,GAA4B,EAA5B;AAAiC;AACrD;;AAED,UAAI7C,QAAQ,IAAIq8C,YAAY,KAAK6Q,eAAjC,EAAkD;AAChD5Q,kBAAU,CAAC/3B,SAAX,GAAuB83B,YAAY,CAAC,CAAD,CAAnC;AACAE,kBAAU,CAACh4B,SAAX,GAAuB83B,YAAY,CAAC,CAAD,CAAnC;AACD;;AAED,UAAIS,cAAc,IAAID,YAAY,KAAKuQ,eAAvC,EAAwD;AACtD,YAAIv6D,CAAC,GAAG4F,QAAQ,GAAG,CAAH,GAAO,CAAvB;AAAA,YACIoD,IAAI,GAAGihD,cAAc,CAACv4B,SAD1B;AAAA,YAEIjJ,GAAG,GAAGzf,IAAI,CAAC7G,MAAL,GAAco4D,eAAe,CAACv6D,CAAD,CAAf,CAAmBmC,MAF3C;;AAGA,YAAI6G,IAAI,CAACosD,SAAL,CAAe3sC,GAAf,MAAwB8xC,eAAe,CAACv6D,CAAD,CAA3C,EAAgD;AAC9CiqD,wBAAc,CAACv4B,SAAf,GAA2B1oB,IAAI,CAACosD,SAAL,CAAe,CAAf,EAAkB3sC,GAAlB,IAAyBuhC,YAAY,CAAChqD,CAAD,CAAhE;AACD;AACF;AACF,KApBD,MAoBO;AACL,UAAIspD,MAAM,KAAKJ,UAAU,IAAIC,SAAnB,CAAV,EAAyC;AAAEmQ,8BAAsB,GAAG,IAAzB;AAAgC;AAC5E;;AAED,QAAIE,YAAY,IAAItQ,UAAU,IAAI,CAACC,SAAnC,EAA8C;AAC5C2I,WAAK,GAAGC,QAAQ,EAAhB;AACA+F,yBAAmB;AACpB;;AAEDyB,cAAU,GAAGnxD,KAAK,KAAK+xD,QAAvB;;AACA,QAAIZ,UAAJ,EAAgB;AACdvvD,YAAM,CAAC+6C,IAAP,CAAY,cAAZ,EAA4BsT,IAAI,EAAhC;AACAiB,4BAAsB,GAAG,IAAzB;AACD,KAHD,MAGO,IAAIE,YAAJ,EAAkB;AACvB,UAAI,CAACD,UAAL,EAAiB;AAAEZ,yBAAiB;AAAK;AAC1C,KAFM,MAEA,IAAIzP,UAAU,IAAIC,SAAlB,EAA6B;AAClCqP,gBAAU;AACVnB,uBAAiB;AACjByD,sBAAgB;AACjB;;AAED,QAAItB,YAAY,IAAI,CAAC9M,QAArB,EAA+B;AAAEqO,iCAA2B;AAAK;;AAEjE,QAAI,CAACj/B,OAAD,IAAY,CAACqzB,MAAjB,EAAyB;AACvB;AACA,UAAIiK,SAAS,IAAI,CAACtN,KAAlB,EAAyB;AACvB;AAEA;AACA,YAAI7C,WAAW,KAAKsL,cAAhB,IAAkCjuD,MAAM,KAAKkuD,SAAjD,EAA4D;AAC1D1H,sBAAY,CAAC1wC,KAAb,CAAmB8wB,OAAnB,GAA6BonB,qBAAqB,CAACrL,WAAD,EAAc3iD,MAAd,EAAsB4iD,UAAtB,EAAkCziD,KAAlC,EAAyC8jD,UAAzC,CAAlD;AACD;;AAED,YAAI/oC,UAAJ,EAAgB;AACd;AACA,cAAIkrC,QAAJ,EAAc;AACZtlD,qBAAS,CAACgV,KAAV,CAAgBnM,KAAhB,GAAwB6kD,iBAAiB,CAAC5L,UAAD,EAAa5iD,MAAb,EAAqBL,KAArB,CAAzC;AACD,WAJa,CAMd;;;AACA,cAAIu9C,GAAG,GAAGwR,kBAAkB,CAAC9L,UAAD,EAAa5iD,MAAb,EAAqBL,KAArB,CAAlB,GACAivD,mBAAmB,CAAC5uD,MAAD,CAD7B,CAPc,CAUd;AACA;;AACAyhD,0FAAa,CAAC5E,KAAD,EAAQ8B,wFAAiB,CAAC9B,KAAD,CAAjB,GAA2B,CAAnC,CAAb;AACAD,oFAAU,CAACC,KAAD,EAAQ,MAAM+L,OAAN,GAAgB,cAAxB,EAAwC1L,GAAxC,EAA6CyB,wFAAiB,CAAC9B,KAAD,CAA9D,CAAV;AACD;AACF,OAzBsB,CA2BvB;;;AACA,UAAIoH,UAAJ,EAAgB;AAAEgO,oBAAY;AAAK;;AAEnC,UAAIe,sBAAJ,EAA4B;AAC1BnD,kCAA0B;AAC1BzH,mBAAW,GAAGtmD,KAAd;AACD;AACF;;AAED,QAAIgxD,SAAJ,EAAe;AAAEpvD,YAAM,CAAC+6C,IAAP,CAAY,kBAAZ,EAAgCsT,IAAI,CAACp5D,CAAD,CAApC;AAA2C;AAC7D,GA/6CgC,CAq7CjC;;;AACA,WAASmwD,SAAT,GAAsB;AACpB,QAAI,CAAClG,UAAD,IAAe,CAACC,SAApB,EAA+B;AAC7B,UAAI9uC,CAAC,GAAGivC,MAAM,GAAGrjD,KAAK,GAAG,CAACA,KAAK,GAAG,CAAT,IAAc,CAAzB,GAA6BA,KAA3C;AACA,aAAQwC,UAAU,IAAI4R,CAAtB;AACD;;AAED,QAAIpK,KAAK,GAAGi5C,UAAU,GAAG,CAACA,UAAU,GAAG5iD,MAAd,IAAwBmC,UAA3B,GAAwCmlD,cAAc,CAACnlD,UAAD,CAA5E;AAAA,QACIuyD,EAAE,GAAG/R,WAAW,GAAGwE,QAAQ,GAAGxE,WAAW,GAAG,CAA5B,GAAgCwE,QAAQ,GAAGnnD,MAD/D;;AAGA,QAAIgjD,MAAJ,EAAY;AACV0R,QAAE,IAAI9R,UAAU,GAAG,CAACuE,QAAQ,GAAGvE,UAAZ,IAA0B,CAA7B,GAAiC,CAACuE,QAAQ,IAAIG,cAAc,CAACxlD,KAAK,GAAG,CAAT,CAAd,GAA4BwlD,cAAc,CAACxlD,KAAD,CAA1C,GAAoD9B,MAAxD,CAAT,IAA4E,CAA7H;AACD;;AAED,WAAO2J,KAAK,IAAI+qD,EAAhB;AACD;;AAED,WAASzN,iBAAT,GAA8B;AAC5BJ,kBAAc,GAAG,CAAjB;;AACA,SAAK,IAAI36B,EAAT,IAAejrB,UAAf,EAA2B;AACzBirB,QAAE,GAAG7sB,QAAQ,CAAC6sB,EAAD,CAAb,CADyB,CACN;;AACnB,UAAI46B,WAAW,IAAI56B,EAAnB,EAAuB;AAAE26B,sBAAc,GAAG36B,EAAjB;AAAsB;AAChD;AACF,GA58CgC,CA88CjC;;;AACA,MAAIgoC,WAAW,GAAI,YAAY;AAC7B,WAAOz0D,IAAI,GACT2mD,QAAQ,GACN;AACA,gBAAY;AACV,UAAIuO,QAAQ,GAAGpM,QAAf;AAAA,UACIqM,SAAS,GAAGpM,QADhB;AAGAmM,cAAQ,IAAI5R,OAAZ;AACA6R,eAAS,IAAI7R,OAAb,CALU,CAOV;AACA;;AACA,UAAIJ,WAAJ,EAAiB;AACfgS,gBAAQ,IAAI,CAAZ;AACAC,iBAAS,IAAI,CAAb;AACD,OAHD,MAGO,IAAIhS,UAAJ,EAAgB;AACrB,YAAI,CAACuE,QAAQ,GAAGnnD,MAAZ,KAAqB4iD,UAAU,GAAG5iD,MAAlC,CAAJ,EAA+C;AAAE40D,mBAAS,IAAI,CAAb;AAAiB;AACnE;;AAED,UAAIpN,UAAJ,EAAgB;AACd,YAAI1lD,KAAK,GAAG8yD,SAAZ,EAAuB;AACrB9yD,eAAK,IAAIK,UAAT;AACD,SAFD,MAEO,IAAIL,KAAK,GAAG6yD,QAAZ,EAAsB;AAC3B7yD,eAAK,IAAIK,UAAT;AACD;AACF;AACF,KAzBK,GA0BN;AACA,gBAAW;AACT,UAAIL,KAAK,GAAG0mD,QAAZ,EAAsB;AACpB,eAAO1mD,KAAK,IAAIymD,QAAQ,GAAGpmD,UAA3B,EAAuC;AAAEL,eAAK,IAAIK,UAAT;AAAsB;AAChE,OAFD,MAEO,IAAIL,KAAK,GAAGymD,QAAZ,EAAsB;AAC3B,eAAOzmD,KAAK,IAAI0mD,QAAQ,GAAGrmD,UAA3B,EAAuC;AAAEL,eAAK,IAAIK,UAAT;AAAsB;AAChE;AACF,KAlCM,GAmCT;AACA,gBAAW;AACTL,WAAK,GAAGwX,IAAI,CAACC,GAAL,CAASgvC,QAAT,EAAmBjvC,IAAI,CAACE,GAAL,CAASgvC,QAAT,EAAmB1mD,KAAnB,CAAnB,CAAR;AACD,KAtCH;AAuCD,GAxCiB,EAAlB;;AA0CA,WAAS6vD,SAAT,GAAsB;AACpB,QAAI,CAACryD,QAAD,IAAaqkD,cAAjB,EAAiC;AAAE7D,kFAAW,CAAC6D,cAAD,CAAX;AAA8B;;AACjE,QAAI,CAACN,GAAD,IAAQ5iD,YAAZ,EAA0B;AAAEq/C,kFAAW,CAACr/C,YAAD,CAAX;AAA4B;;AACxD,QAAI,CAACoG,QAAL,EAAe;AACb,UAAIlG,iBAAJ,EAAuB;AACrBm/C,oFAAW,CAACn/C,iBAAD,CAAX;AACD,OAFD,MAEO;AACL,YAAIwiD,UAAJ,EAAgB;AAAErD,sFAAW,CAACqD,UAAD,CAAX;AAA0B;;AAC5C,YAAIC,UAAJ,EAAgB;AAAEtD,sFAAW,CAACsD,UAAD,CAAX;AAA0B;AAC7C;AACF;AACF;;AAED,WAASyR,QAAT,GAAqB;AACnB,QAAIv1D,QAAQ,IAAIqkD,cAAhB,EAAgC;AAAE1B,kFAAW,CAAC0B,cAAD,CAAX;AAA8B;;AAChE,QAAIN,GAAG,IAAI5iD,YAAX,EAAyB;AAAEwhD,kFAAW,CAACxhD,YAAD,CAAX;AAA4B;;AACvD,QAAIoG,QAAJ,EAAc;AACZ,UAAIlG,iBAAJ,EAAuB;AACrBshD,oFAAW,CAACthD,iBAAD,CAAX;AACD,OAFD,MAEO;AACL,YAAIwiD,UAAJ,EAAgB;AAAElB,sFAAW,CAACkB,UAAD,CAAX;AAA0B;;AAC5C,YAAIC,UAAJ,EAAgB;AAAEnB,sFAAW,CAACmB,UAAD,CAAX;AAA0B;AAC7C;AACF;AACF;;AAED,WAASgP,YAAT,GAAyB;AACvB,QAAIrJ,MAAJ,EAAY;AAAE;AAAS,KADA,CAGvB;;;AACA,QAAIpG,WAAJ,EAAiB;AAAE6D,kBAAY,CAAC1wC,KAAb,CAAmBi1B,MAAnB,GAA4B,KAA5B;AAAoC,KAJhC,CAMvB;;;AACA,QAAIyc,UAAJ,EAAgB;AACd,UAAItK,GAAG,GAAG,iBAAV;;AACA,WAAK,IAAIxjD,CAAC,GAAG8tD,UAAb,EAAyB9tD,CAAC,EAA1B,GAA+B;AAC7B,YAAI0sD,QAAJ,EAAc;AAAEzoD,gFAAQ,CAACkD,UAAU,CAACnH,CAAD,CAAX,EAAgBwjD,GAAhB,CAAR;AAA+B;;AAC/Cv/C,8EAAQ,CAACkD,UAAU,CAAC6mD,aAAa,GAAGhuD,CAAhB,GAAoB,CAArB,CAAX,EAAoCwjD,GAApC,CAAR;AACD;AACF,KAbsB,CAevB;;;AACAyU,aAAS;AAET5I,UAAM,GAAG,IAAT;AACD;;AAED,WAASuL,cAAT,GAA2B;AACzB,QAAI,CAACvL,MAAL,EAAa;AAAE;AAAS,KADC,CAGzB;AACA;;;AACA,QAAIpG,WAAW,IAAI6C,KAAnB,EAA0B;AAAEgB,kBAAY,CAAC1wC,KAAb,CAAmBi1B,MAAnB,GAA4B,EAA5B;AAAiC,KALpC,CAOzB;;;AACA,QAAIyc,UAAJ,EAAgB;AACd,UAAItK,GAAG,GAAG,iBAAV;;AACA,WAAK,IAAIxjD,CAAC,GAAG8tD,UAAb,EAAyB9tD,CAAC,EAA1B,GAA+B;AAC7B,YAAI0sD,QAAJ,EAAc;AAAEhsD,sFAAW,CAACyG,UAAU,CAACnH,CAAD,CAAX,EAAgBwjD,GAAhB,CAAX;AAAkC;;AAClD9iD,oFAAW,CAACyG,UAAU,CAAC6mD,aAAa,GAAGhuD,CAAhB,GAAoB,CAArB,CAAX,EAAoCwjD,GAApC,CAAX;AACD;AACF,KAdwB,CAgBzB;;;AACA2X,YAAQ;AAER9L,UAAM,GAAG,KAAT;AACD;;AAED,WAASoJ,aAAT,GAA0B;AACxB,QAAItqC,QAAJ,EAAc;AAAE;AAAS;;AAEzBg1B,SAAK,CAACh1B,QAAN,GAAiB,IAAjB;AACA/mB,aAAS,CAAC8pB,SAAV,GAAsB9pB,SAAS,CAAC8pB,SAAV,CAAoB5tB,OAApB,CAA4B2rD,mBAAmB,CAACmG,SAApB,CAA8B,CAA9B,CAA5B,EAA8D,EAA9D,CAAtB;AACAvN,gFAAW,CAACzgD,SAAD,EAAY,CAAC,OAAD,CAAZ,CAAX;;AACA,QAAIrB,IAAJ,EAAU;AACR,WAAK,IAAI2iB,CAAC,GAAGolC,UAAb,EAAyBplC,CAAC,EAA1B,GAA+B;AAC7B,YAAIgkC,QAAJ,EAAc;AAAEtG,sFAAW,CAACj/C,UAAU,CAACuhB,CAAD,CAAX,CAAX;AAA6B;;AAC7C09B,oFAAW,CAACj/C,UAAU,CAAC6mD,aAAa,GAAGtlC,CAAhB,GAAoB,CAArB,CAAX,CAAX;AACD;AACF,KAXuB,CAaxB;;;AACA,QAAI,CAAClH,UAAD,IAAe,CAACkrC,QAApB,EAA8B;AAAE7E,kFAAW,CAACiF,YAAD,EAAe,CAAC,OAAD,CAAf,CAAX;AAAuC,KAd/C,CAgBxB;;;AACA,QAAI,CAACJ,QAAL,EAAe;AACb,WAAK,IAAI1sD,CAAC,GAAGoI,KAAR,EAAeiyB,CAAC,GAAGjyB,KAAK,GAAGK,UAAhC,EAA4CzI,CAAC,GAAGq6B,CAAhD,EAAmDr6B,CAAC,EAApD,EAAwD;AACtD,YAAIsmB,IAAI,GAAGnf,UAAU,CAACnH,CAAD,CAArB;AACA6nD,oFAAW,CAACvhC,IAAD,EAAO,CAAC,OAAD,CAAP,CAAX;AACA5lB,oFAAW,CAAC4lB,IAAD,EAAO3f,SAAP,CAAX;AACAjG,oFAAW,CAAC4lB,IAAD,EAAO8jC,aAAP,CAAX;AACD;AACF,KAxBuB,CA0BxB;;;AACA6N,aAAS;AAET9pC,YAAQ,GAAG,IAAX;AACD;;AAED,WAASssC,YAAT,GAAyB;AACvB,QAAI,CAACtsC,QAAL,EAAe;AAAE;AAAS;;AAE1Bg1B,SAAK,CAACh1B,QAAN,GAAiB,KAAjB;AACA/mB,aAAS,CAAC8pB,SAAV,IAAuB+9B,mBAAvB;AACAkH,8BAA0B;;AAE1B,QAAIpwD,IAAJ,EAAU;AACR,WAAK,IAAI2iB,CAAC,GAAGolC,UAAb,EAAyBplC,CAAC,EAA1B,GAA+B;AAC7B,YAAIgkC,QAAJ,EAAc;AAAEnE,sFAAW,CAACphD,UAAU,CAACuhB,CAAD,CAAX,CAAX;AAA6B;;AAC7C6/B,oFAAW,CAACphD,UAAU,CAAC6mD,aAAa,GAAGtlC,CAAhB,GAAoB,CAArB,CAAX,CAAX;AACD;AACF,KAZsB,CAcvB;;;AACA,QAAI,CAACgkC,QAAL,EAAe;AACb,WAAK,IAAI1sD,CAAC,GAAGoI,KAAR,EAAeiyB,CAAC,GAAGjyB,KAAK,GAAGK,UAAhC,EAA4CzI,CAAC,GAAGq6B,CAAhD,EAAmDr6B,CAAC,EAApD,EAAwD;AACtD,YAAIsmB,IAAI,GAAGnf,UAAU,CAACnH,CAAD,CAArB;AAAA,YACIo7D,MAAM,GAAGp7D,CAAC,GAAGoI,KAAK,GAAGnC,KAAZ,GAAoBU,SAApB,GAAgCyjD,aAD7C;AAEA9jC,YAAI,CAAClK,KAAL,CAAWgD,IAAX,GAAkB,CAACpf,CAAC,GAAGoI,KAAL,IAAc,GAAd,GAAoBnC,KAApB,GAA4B,GAA9C;AACAhC,8EAAQ,CAACqiB,IAAD,EAAO80C,MAAP,CAAR;AACD;AACF,KAtBsB,CAwBvB;;;AACAD,YAAQ;AAERhtC,YAAQ,GAAG,KAAX;AACD;;AAED,WAAS2sC,gBAAT,GAA6B;AAC3B,QAAItX,GAAG,GAAG+T,gBAAgB,EAA1B;;AACA,QAAIlG,iBAAiB,CAAC3/B,SAAlB,KAAgC8xB,GAApC,EAAyC;AAAE6N,uBAAiB,CAAC3/B,SAAlB,GAA8B8xB,GAA9B;AAAoC;AAChF;;AAED,WAAS+T,gBAAT,GAA6B;AAC3B,QAAI5xC,GAAG,GAAG01C,oBAAoB,EAA9B;AAAA,QACI56C,KAAK,GAAGkF,GAAG,CAAC,CAAD,CAAH,GAAS,CADrB;AAAA,QAEIgD,GAAG,GAAGhD,GAAG,CAAC,CAAD,CAAH,GAAS,CAFnB;AAGA,WAAOlF,KAAK,KAAKkI,GAAV,GAAgBlI,KAAK,GAAG,EAAxB,GAA6BA,KAAK,GAAG,MAAR,GAAiBkI,GAArD;AACD;;AAED,WAAS0yC,oBAAT,CAA+Bt0C,GAA/B,EAAoC;AAClC,QAAIA,GAAG,IAAI,IAAX,EAAiB;AAAEA,SAAG,GAAG4zC,0BAA0B,EAAhC;AAAqC;;AACxD,QAAIl6C,KAAK,GAAGrY,KAAZ;AAAA,QAAmBugB,GAAnB;AAAA,QAAwB2yC,UAAxB;AAAA,QAAoCC,QAApC,CAFkC,CAIlC;;AACA,QAAIjS,MAAM,IAAIL,WAAd,EAA2B;AACzB,UAAIE,SAAS,IAAID,UAAjB,EAA6B;AAC3BoS,kBAAU,GAAG,EAAGp5C,UAAU,CAAC6E,GAAD,CAAV,GAAkBkiC,WAArB,CAAb;AACAsS,gBAAQ,GAAGD,UAAU,GAAG7N,QAAb,GAAwBxE,WAAW,GAAG,CAAjD;AACD;AACF,KALD,MAKO;AACL,UAAIE,SAAJ,EAAe;AACbmS,kBAAU,GAAG1N,cAAc,CAACxlD,KAAD,CAA3B;AACAmzD,gBAAQ,GAAGD,UAAU,GAAG7N,QAAxB;AACD;AACF,KAfiC,CAiBlC;AACA;;;AACA,QAAItE,SAAJ,EAAe;AACbyE,oBAAc,CAAC5lD,OAAf,CAAuB,UAASwzD,KAAT,EAAgBx7D,CAAhB,EAAmB;AACxC,YAAIA,CAAC,GAAGguD,aAAR,EAAuB;AACrB,cAAI,CAAC1E,MAAM,IAAIL,WAAX,KAA2BuS,KAAK,IAAIF,UAAU,GAAG,GAArD,EAA0D;AAAE76C,iBAAK,GAAGzgB,CAAR;AAAY;;AACxE,cAAIu7D,QAAQ,GAAGC,KAAX,IAAoB,GAAxB,EAA6B;AAAE7yC,eAAG,GAAG3oB,CAAN;AAAU;AAC1C;AACF,OALD,EADa,CAQf;AACC,KATD,MASO;AAEL,UAAIkpD,UAAJ,EAAgB;AACd,YAAIuS,IAAI,GAAGvS,UAAU,GAAG5iD,MAAxB;;AACA,YAAIgjD,MAAM,IAAIL,WAAd,EAA2B;AACzBxoC,eAAK,GAAGb,IAAI,CAACuE,KAAL,CAAWm3C,UAAU,GAACG,IAAtB,CAAR;AACA9yC,aAAG,GAAG/I,IAAI,CAAC6wB,IAAL,CAAU8qB,QAAQ,GAACE,IAAT,GAAgB,CAA1B,CAAN;AACD,SAHD,MAGO;AACL9yC,aAAG,GAAGlI,KAAK,GAAGb,IAAI,CAAC6wB,IAAL,CAAUgd,QAAQ,GAACgO,IAAnB,CAAR,GAAmC,CAAzC;AACD;AAEF,OATD,MASO;AACL,YAAInS,MAAM,IAAIL,WAAd,EAA2B;AACzB,cAAI5uC,CAAC,GAAGpU,KAAK,GAAG,CAAhB;;AACA,cAAIqjD,MAAJ,EAAY;AACV7oC,iBAAK,IAAIpG,CAAC,GAAG,CAAb;AACAsO,eAAG,GAAGvgB,KAAK,GAAGiS,CAAC,GAAG,CAAlB;AACD,WAHD,MAGO;AACLsO,eAAG,GAAGvgB,KAAK,GAAGiS,CAAd;AACD;;AAED,cAAI4uC,WAAJ,EAAiB;AACf,gBAAI3uC,CAAC,GAAG2uC,WAAW,GAAGhjD,KAAd,GAAsBwnD,QAA9B;AACAhtC,iBAAK,IAAInG,CAAT;AACAqO,eAAG,IAAIrO,CAAP;AACD;;AAEDmG,eAAK,GAAGb,IAAI,CAACuE,KAAL,CAAW1D,KAAX,CAAR;AACAkI,aAAG,GAAG/I,IAAI,CAAC6wB,IAAL,CAAU9nB,GAAV,CAAN;AACD,SAjBD,MAiBO;AACLA,aAAG,GAAGlI,KAAK,GAAGxa,KAAR,GAAgB,CAAtB;AACD;AACF;;AAEDwa,WAAK,GAAGb,IAAI,CAACC,GAAL,CAASY,KAAT,EAAgB,CAAhB,CAAR;AACAkI,SAAG,GAAG/I,IAAI,CAACE,GAAL,CAAS6I,GAAT,EAAcqlC,aAAa,GAAG,CAA9B,CAAN;AACD;;AAED,WAAO,CAACvtC,KAAD,EAAQkI,GAAR,CAAP;AACD;;AAED,WAAS6vC,UAAT,GAAuB;AACrB,QAAIhO,QAAQ,IAAI,CAAC1uB,OAAjB,EAA0B;AACxB,UAAI9R,GAAG,GAAGqxC,oBAAoB,EAA9B;AACArxC,SAAG,CAACxnB,IAAJ,CAASioD,gBAAT;AAEAwL,mBAAa,CAACtxD,KAAd,CAAoB,IAApB,EAA0BqlB,GAA1B,EAA+BhiB,OAA/B,CAAuC,UAAUiU,GAAV,EAAe;AACpD,YAAI,CAAC5c,sEAAQ,CAAC4c,GAAD,EAAM+0C,gBAAN,CAAb,EAAsC;AACpC;AACA,cAAIkH,GAAG,GAAG,EAAV;;AACAA,aAAG,CAAC7L,aAAD,CAAH,GAAqB,UAAUptD,CAAV,EAAa;AAAEA,aAAC,CAACqoC,eAAF;AAAsB,WAA1D;;AACAmc,kFAAS,CAACxnC,GAAD,EAAMi8C,GAAN,CAAT;AAEAzU,kFAAS,CAACxnC,GAAD,EAAMg1C,SAAN,CAAT,CANoC,CAQpC;;AACAh1C,aAAG,CAAChK,GAAJ,GAAU+yC,oEAAO,CAAC/oC,GAAD,EAAM,UAAN,CAAjB,CAToC,CAWpC;;AACA,cAAIy/C,MAAM,GAAG1W,oEAAO,CAAC/oC,GAAD,EAAM,aAAN,CAApB;;AACA,cAAIy/C,MAAJ,EAAY;AAAEz/C,eAAG,CAACy/C,MAAJ,GAAaA,MAAb;AAAsB;;AAEpCz3D,gFAAQ,CAACgY,GAAD,EAAM,SAAN,CAAR;AACD;AACF,OAlBD;AAmBD;AACF;;AAED,WAASi1C,WAAT,CAAsBjyD,CAAtB,EAAyB;AACvB82D,aAAS,CAAC4F,SAAS,CAAC18D,CAAD,CAAV,CAAT;AACD;;AAED,WAASkyD,WAAT,CAAsBlyD,CAAtB,EAAyB;AACvB28D,aAAS,CAACD,SAAS,CAAC18D,CAAD,CAAV,CAAT;AACD;;AAED,WAAS82D,SAAT,CAAoB95C,GAApB,EAAyB;AACvBhY,0EAAQ,CAACgY,GAAD,EAAM,QAAN,CAAR;AACA4/C,gBAAY,CAAC5/C,GAAD,CAAZ;AACD;;AAED,WAAS2/C,SAAT,CAAoB3/C,GAApB,EAAyB;AACvBhY,0EAAQ,CAACgY,GAAD,EAAM,QAAN,CAAR;AACA4/C,gBAAY,CAAC5/C,GAAD,CAAZ;AACD;;AAED,WAAS4/C,YAAT,CAAuB5/C,GAAvB,EAA4B;AAC1BhY,0EAAQ,CAACgY,GAAD,EAAM+0C,gBAAN,CAAR;AACAtwD,gFAAW,CAACub,GAAD,EAAM,SAAN,CAAX;AACAisC,kFAAY,CAACjsC,GAAD,EAAMg1C,SAAN,CAAZ;AACD;;AAED,WAASgF,aAAT,CAAwBx1C,KAAxB,EAA+BkI,GAA/B,EAAoCmzC,WAApC,EAAiD;AAC/C,QAAIhG,IAAI,GAAG,EAAX;;AACA,QAAI,CAACgG,WAAL,EAAkB;AAAEA,iBAAW,GAAG,KAAd;AAAsB;;AAE1C,WAAOr7C,KAAK,IAAIkI,GAAhB,EAAqB;AACnB3gB,0EAAO,CAACb,UAAU,CAACsZ,KAAD,CAAV,CAAkBtF,gBAAlB,CAAmC2gD,WAAnC,CAAD,EAAkD,UAAU7/C,GAAV,EAAe;AAAE65C,YAAI,CAACtzD,IAAL,CAAUyZ,GAAV;AAAiB,OAApF,CAAP;AACAwE,WAAK;AACN;;AAED,WAAOq1C,IAAP;AACD,GA1wDgC,CA4wDjC;AACA;;;AACA,WAASyC,YAAT,GAAyB;AACvB,QAAIzC,IAAI,GAAGG,aAAa,CAACtxD,KAAd,CAAoB,IAApB,EAA0B02D,oBAAoB,EAA9C,CAAX;AACA7T,+DAAG,CAAC,YAAU;AAAEwO,qBAAe,CAACF,IAAD,EAAOiG,wBAAP,CAAf;AAAkD,KAA/D,CAAH;AACD;;AAED,WAAS/F,eAAT,CAA0BF,IAA1B,EAAgClO,EAAhC,EAAoC;AAClC;AACA,QAAIwJ,YAAJ,EAAkB;AAAE,aAAOxJ,EAAE,EAAT;AAAc,KAFA,CAIlC;;;AACAkO,QAAI,CAAC9tD,OAAL,CAAa,UAAUiU,GAAV,EAAe7T,KAAf,EAAsB;AACjC,UAAI,CAACoiD,QAAD,IAAavuC,GAAG,CAACxX,QAArB,EAA+B;AAAEo3D,oBAAY,CAAC5/C,GAAD,CAAZ;AAAoB,OADpB,CACqB;;;AACtD,UAAI5c,sEAAQ,CAAC4c,GAAD,EAAM+0C,gBAAN,CAAZ,EAAqC;AAAE8E,YAAI,CAACr8C,MAAL,CAAYrR,KAAZ,EAAmB,CAAnB;AAAwB;AAChE,KAHD,EALkC,CAUlC;;AACA,QAAI,CAAC0tD,IAAI,CAAC3zD,MAAV,EAAkB;AAAE,aAAOylD,EAAE,EAAT;AAAc,KAXA,CAalC;;;AACAJ,+DAAG,CAAC,YAAU;AAAEwO,qBAAe,CAACF,IAAD,EAAOlO,EAAP,CAAf;AAA4B,KAAzC,CAAH;AACD;;AAED,WAAS+Q,iBAAT,GAA8B;AAC5BH,cAAU;AACVnB,qBAAiB;AACjByD,oBAAgB;AAChB9C,wBAAoB;AACpBgE,mBAAe;AAChB;;AAGD,WAASrF,mCAAT,GAAgD;AAC9C,QAAIjK,QAAQ,IAAInC,UAAhB,EAA4B;AAC1BwC,mBAAa,CAAC3wC,KAAd,CAAoB6vC,kBAApB,IAA0CxlD,KAAK,GAAG,IAAR,GAAe,GAAzD;AACD;AACF;;AAED,WAASw1D,iBAAT,CAA4BC,UAA5B,EAAwCC,UAAxC,EAAoD;AAClD,QAAIC,OAAO,GAAG,EAAd;;AACA,SAAK,IAAIp8D,CAAC,GAAGk8D,UAAR,EAAoB7hC,CAAC,GAAGza,IAAI,CAACE,GAAL,CAASo8C,UAAU,GAAGC,UAAtB,EAAkCnO,aAAlC,CAA7B,EAA+EhuD,CAAC,GAAGq6B,CAAnF,EAAsFr6B,CAAC,EAAvF,EAA2F;AACzFo8D,aAAO,CAAC55D,IAAR,CAAa2E,UAAU,CAACnH,CAAD,CAAV,CAAcyuC,YAA3B;AACD;;AAED,WAAO7uB,IAAI,CAACC,GAAL,CAASlb,KAAT,CAAe,IAAf,EAAqBy3D,OAArB,CAAP;AACD,GA1zDgC,CA4zDjC;AACA;AACA;AACA;AACA;;;AACA,WAASL,wBAAT,GAAqC;AACnC,QAAIv8C,SAAS,GAAG+qC,UAAU,GAAG0R,iBAAiB,CAAC7zD,KAAD,EAAQnC,KAAR,CAApB,GAAqCg2D,iBAAiB,CAACnO,UAAD,EAAarlD,UAAb,CAAhF;AAAA,QACIgtD,EAAE,GAAG1I,aAAa,GAAGA,aAAH,GAAmBD,YADzC;;AAGA,QAAI2I,EAAE,CAACr5C,KAAH,CAASpM,MAAT,KAAoBwP,SAAxB,EAAmC;AAAEi2C,QAAE,CAACr5C,KAAH,CAASpM,MAAT,GAAkBwP,SAAS,GAAG,IAA9B;AAAqC;AAC3E,GAt0DgC,CAw0DjC;AACA;;;AACA,WAASg3C,iBAAT,GAA8B;AAC5B5I,kBAAc,GAAG,CAAC,CAAD,CAAjB;AACA,QAAIttD,IAAI,GAAGkhB,UAAU,GAAG,MAAH,GAAY,KAAjC;AAAA,QACI66C,KAAK,GAAG76C,UAAU,GAAG,OAAH,GAAa,QADnC;AAAA,QAEI8U,IAAI,GAAGnvB,UAAU,CAAC,CAAD,CAAV,CAAckc,qBAAd,GAAsC/iB,IAAtC,CAFX;AAIA0H,wEAAO,CAACb,UAAD,EAAa,UAASmf,IAAT,EAAetmB,CAAf,EAAkB;AACpC;AACA,UAAIA,CAAJ,EAAO;AAAE4tD,sBAAc,CAACprD,IAAf,CAAoB8jB,IAAI,CAACjD,qBAAL,GAA6B/iB,IAA7B,IAAqCg2B,IAAzD;AAAiE,OAFtC,CAGpC;;;AACA,UAAIt2B,CAAC,KAAKguD,aAAa,GAAG,CAA1B,EAA6B;AAAEJ,sBAAc,CAACprD,IAAf,CAAoB8jB,IAAI,CAACjD,qBAAL,GAA6Bg5C,KAA7B,IAAsC/lC,IAA1D;AAAkE;AAClG,KALM,CAAP;AAMD,GAt1DgC,CAw1DjC;;;AACA,WAAS+gC,iBAAT,GAA8B;AAC5B,QAAIzR,KAAK,GAAGyV,oBAAoB,EAAhC;AAAA,QACI56C,KAAK,GAAGmlC,KAAK,CAAC,CAAD,CADjB;AAAA,QAEIj9B,GAAG,GAAGi9B,KAAK,CAAC,CAAD,CAFf;AAIA59C,wEAAO,CAACb,UAAD,EAAa,UAASmf,IAAT,EAAetmB,CAAf,EAAkB;AACpC;AACA,UAAIA,CAAC,IAAIygB,KAAL,IAAczgB,CAAC,IAAI2oB,GAAvB,EAA4B;AAC1B,YAAIw9B,oEAAO,CAAC7/B,IAAD,EAAO,aAAP,CAAX,EAAkC;AAChCuhC,sFAAW,CAACvhC,IAAD,EAAO,CAAC,aAAD,EAAgB,UAAhB,CAAP,CAAX;AACAuhC,sFAAW,CAACvhC,IAAI,CAACnL,gBAAL,CAAsB,6CAAtB,CAAD,EAAuE,CAAC,aAAD,EAAgB,UAAhB,CAAvE,CAAX;AACAlX,gFAAQ,CAACqiB,IAAD,EAAOwqC,gBAAP,CAAR;AACD,SALyB,CAM5B;;AACC,OAPD,MAOO;AACL,YAAI,CAAC3K,oEAAO,CAAC7/B,IAAD,EAAO,aAAP,CAAZ,EAAmC;AACjC6hC,gFAAQ,CAAC7hC,IAAD,EAAO;AACb,2BAAe,MADF;AAEb,wBAAY;AAFC,WAAP,CAAR;AAIA6hC,gFAAQ,CAAC7hC,IAAI,CAACnL,gBAAL,CAAsB,6CAAtB,CAAD,EAAuE;AAC7E,2BAAe,MAD8D;AAE7E,wBAAY;AAFiE,WAAvE,CAAR;AAIAza,sFAAW,CAAC4lB,IAAD,EAAOwqC,gBAAP,CAAX;AACD;AACF;AACF,KAtBM,CAAP;AAuBD,GAr3DgC,CAu3DjC;;;AACA,WAASiK,2BAAT,GAAwC;AACtC,QAAI1gC,CAAC,GAAGjyB,KAAK,GAAGwX,IAAI,CAACE,GAAL,CAASrX,UAAT,EAAqBxC,KAArB,CAAhB;;AACA,SAAK,IAAIjG,CAAC,GAAGguD,aAAb,EAA4BhuD,CAAC,EAA7B,GAAkC;AAChC,UAAIsmB,IAAI,GAAGnf,UAAU,CAACnH,CAAD,CAArB;;AAEA,UAAIA,CAAC,IAAIoI,KAAL,IAAcpI,CAAC,GAAGq6B,CAAtB,EAAyB;AACvB;AACAp2B,8EAAQ,CAACqiB,IAAD,EAAO,YAAP,CAAR;AAEAA,YAAI,CAAClK,KAAL,CAAWgD,IAAX,GAAkB,CAACpf,CAAC,GAAGoI,KAAL,IAAc,GAAd,GAAoBnC,KAApB,GAA4B,GAA9C;AACAhC,8EAAQ,CAACqiB,IAAD,EAAO3f,SAAP,CAAR;AACAjG,oFAAW,CAAC4lB,IAAD,EAAO8jC,aAAP,CAAX;AACD,OAPD,MAOO,IAAI9jC,IAAI,CAAClK,KAAL,CAAWgD,IAAf,EAAqB;AAC1BkH,YAAI,CAAClK,KAAL,CAAWgD,IAAX,GAAkB,EAAlB;AACAnb,8EAAQ,CAACqiB,IAAD,EAAO8jC,aAAP,CAAR;AACA1pD,oFAAW,CAAC4lB,IAAD,EAAO3f,SAAP,CAAX;AACD,OAd+B,CAgBhC;;;AACAjG,kFAAW,CAAC4lB,IAAD,EAAO1f,UAAP,CAAX;AACD,KApBqC,CAsBtC;;;AACAmO,cAAU,CAAC,YAAW;AACpB/M,0EAAO,CAACb,UAAD,EAAa,UAASqc,EAAT,EAAa;AAC/B9iB,oFAAW,CAAC8iB,EAAD,EAAK,YAAL,CAAX;AACD,OAFM,CAAP;AAGD,KAJS,EAIP,GAJO,CAAV;AAKD,GAp5DgC,CAs5DjC;;;AACA,WAASw4C,eAAT,GAA4B;AAC1B;AACA,QAAIrS,GAAJ,EAAS;AACPuI,qBAAe,GAAGD,UAAU,IAAI,CAAd,GAAkBA,UAAlB,GAA+BE,kBAAkB,EAAnE;AACAF,gBAAU,GAAG,CAAC,CAAd;;AAEA,UAAIC,eAAe,KAAKE,qBAAxB,EAA+C;AAC7C,YAAIkK,OAAO,GAAGzK,QAAQ,CAACO,qBAAD,CAAtB;AAAA,YACImK,UAAU,GAAG1K,QAAQ,CAACK,eAAD,CADzB;AAGA/J,8EAAQ,CAACmU,OAAD,EAAU;AAChB,sBAAY,IADI;AAEhB,wBAAchK,MAAM,IAAIF,qBAAqB,GAAG,CAA5B;AAFJ,SAAV,CAAR;AAIA1xD,oFAAW,CAAC47D,OAAD,EAAUjK,cAAV,CAAX;AAEAlK,8EAAQ,CAACoU,UAAD,EAAa;AAAC,wBAAcjK,MAAM,IAAIJ,eAAe,GAAG,CAAtB,CAAN,GAAiCK;AAAhD,SAAb,CAAR;AACA1K,oFAAW,CAAC0U,UAAD,EAAa,UAAb,CAAX;AACAt4D,8EAAQ,CAACs4D,UAAD,EAAalK,cAAb,CAAR;AAEAD,6BAAqB,GAAGF,eAAxB;AACD;AACF;AACF;;AAED,WAASsK,oBAAT,CAA+Bh5C,EAA/B,EAAmC;AACjC,WAAOA,EAAE,CAAC7H,QAAH,CAAY2H,WAAZ,EAAP;AACD;;AAED,WAASy0C,QAAT,CAAmBv0C,EAAnB,EAAuB;AACrB,WAAOg5C,oBAAoB,CAACh5C,EAAD,CAApB,KAA6B,QAApC;AACD;;AAED,WAASi5C,cAAT,CAAyBj5C,EAAzB,EAA6B;AAC3B,WAAOA,EAAE,CAAClD,YAAH,CAAgB,eAAhB,MAAqC,MAA5C;AACD;;AAED,WAASo8C,gBAAT,CAA2B3E,QAA3B,EAAqCv0C,EAArC,EAAyCuD,GAAzC,EAA8C;AAC5C,QAAIgxC,QAAJ,EAAc;AACZv0C,QAAE,CAAC2K,QAAH,GAAcpH,GAAd;AACD,KAFD,MAEO;AACLvD,QAAE,CAACtC,YAAH,CAAgB,eAAhB,EAAiC6F,GAAG,CAACb,QAAJ,EAAjC;AACD;AACF,GAl8DgC,CAo8DjC;;;AACA,WAAS8xC,oBAAT,GAAiC;AAC/B,QAAI,CAAC7qD,QAAD,IAAam9C,MAAb,IAAuBvkD,IAA3B,EAAiC;AAAE;AAAS;;AAE5C,QAAI42D,YAAY,GAAIjL,YAAD,GAAiBjI,UAAU,CAACt7B,QAA5B,GAAuCsuC,cAAc,CAAChT,UAAD,CAAxE;AAAA,QACImT,YAAY,GAAIjL,YAAD,GAAiBjI,UAAU,CAACv7B,QAA5B,GAAuCsuC,cAAc,CAAC/S,UAAD,CADxE;AAAA,QAEImT,WAAW,GAAIz0D,KAAK,IAAIymD,QAAV,GAAsB,IAAtB,GAA6B,KAF/C;AAAA,QAGIiO,WAAW,GAAI,CAACxS,MAAD,IAAWliD,KAAK,IAAI0mD,QAArB,GAAiC,IAAjC,GAAwC,KAH1D;;AAKA,QAAI+N,WAAW,IAAI,CAACF,YAApB,EAAkC;AAChCD,sBAAgB,CAAChL,YAAD,EAAejI,UAAf,EAA2B,IAA3B,CAAhB;AACD;;AACD,QAAI,CAACoT,WAAD,IAAgBF,YAApB,EAAkC;AAChCD,sBAAgB,CAAChL,YAAD,EAAejI,UAAf,EAA2B,KAA3B,CAAhB;AACD;;AACD,QAAIqT,WAAW,IAAI,CAACF,YAApB,EAAkC;AAChCF,sBAAgB,CAAC/K,YAAD,EAAejI,UAAf,EAA2B,IAA3B,CAAhB;AACD;;AACD,QAAI,CAACoT,WAAD,IAAgBF,YAApB,EAAkC;AAChCF,sBAAgB,CAAC/K,YAAD,EAAejI,UAAf,EAA2B,KAA3B,CAAhB;AACD;AACF,GAz9DgC,CA29DjC;;;AACA,WAASqT,aAAT,CAAwBv5C,EAAxB,EAA4BggC,GAA5B,EAAiC;AAC/B,QAAIyI,kBAAJ,EAAwB;AAAEzoC,QAAE,CAACpH,KAAH,CAAS6vC,kBAAT,IAA+BzI,GAA/B;AAAqC;AAChE;;AAED,WAASwZ,cAAT,GAA2B;AACzB,WAAO9T,UAAU,GAAG,CAACA,UAAU,GAAG5iD,MAAd,IAAwB0nD,aAA3B,GAA2CJ,cAAc,CAACI,aAAD,CAA1E;AACD;;AAED,WAASiP,YAAT,CAAuBr1C,GAAvB,EAA4B;AAC1B,QAAIA,GAAG,IAAI,IAAX,EAAiB;AAAEA,SAAG,GAAGxf,KAAN;AAAc;;AAEjC,QAAIy9C,GAAG,GAAGoD,WAAW,GAAG3iD,MAAH,GAAY,CAAjC;AACA,WAAO6iD,SAAS,GAAG,CAAEsE,QAAQ,GAAG5H,GAAZ,IAAoB+H,cAAc,CAAChmC,GAAG,GAAG,CAAP,CAAd,GAA0BgmC,cAAc,CAAChmC,GAAD,CAAxC,GAAgDthB,MAApE,CAAD,IAA8E,CAAjF,GACd4iD,UAAU,GAAG,CAACuE,QAAQ,GAAGvE,UAAZ,IAA0B,CAA7B,GACR,CAACjjD,KAAK,GAAG,CAAT,IAAc,CAFlB;AAGD;;AAED,WAASkoD,gBAAT,GAA6B;AAC3B,QAAItI,GAAG,GAAGoD,WAAW,GAAG3iD,MAAH,GAAY,CAAjC;AAAA,QACIotB,MAAM,GAAI+5B,QAAQ,GAAG5H,GAAZ,GAAmBmX,cAAc,EAD9C;;AAGA,QAAI1T,MAAM,IAAI,CAACvjD,IAAf,EAAqB;AACnB2tB,YAAM,GAAGw1B,UAAU,GAAG,EAAGA,UAAU,GAAG5iD,MAAhB,KAA2B0nD,aAAa,GAAG,CAA3C,IAAgDiP,YAAY,EAA/D,GACjBA,YAAY,CAACjP,aAAa,GAAG,CAAjB,CAAZ,GAAkCJ,cAAc,CAACI,aAAa,GAAG,CAAjB,CADlD;AAED;;AACD,QAAIt6B,MAAM,GAAG,CAAb,EAAgB;AAAEA,YAAM,GAAG,CAAT;AAAa;;AAE/B,WAAOA,MAAP;AACD;;AAED,WAASinC,0BAAT,CAAqC/yC,GAArC,EAA0C;AACxC,QAAIA,GAAG,IAAI,IAAX,EAAiB;AAAEA,SAAG,GAAGxf,KAAN;AAAc;;AAEjC,QAAI2e,GAAJ;;AACA,QAAIvF,UAAU,IAAI,CAAC2nC,SAAnB,EAA8B;AAC5B,UAAID,UAAJ,EAAgB;AACdniC,WAAG,GAAG,EAAGmiC,UAAU,GAAG5iD,MAAhB,IAA0BshB,GAAhC;;AACA,YAAI0hC,MAAJ,EAAY;AAAEviC,aAAG,IAAIk2C,YAAY,EAAnB;AAAwB;AACvC,OAHD,MAGO;AACL,YAAIC,WAAW,GAAGnR,SAAS,GAAGiC,aAAH,GAAmB/nD,KAA9C;;AACA,YAAIqjD,MAAJ,EAAY;AAAE1hC,aAAG,IAAIq1C,YAAY,EAAnB;AAAwB;;AACtCl2C,WAAG,GAAG,CAAEa,GAAF,GAAQ,GAAR,GAAcs1C,WAApB;AACD;AACF,KATD,MASO;AACLn2C,SAAG,GAAG,CAAE6mC,cAAc,CAAChmC,GAAD,CAAtB;;AACA,UAAI0hC,MAAM,IAAIH,SAAd,EAAyB;AACvBpiC,WAAG,IAAIk2C,YAAY,EAAnB;AACD;AACF;;AAED,QAAIhP,gBAAJ,EAAsB;AAAElnC,SAAG,GAAGnH,IAAI,CAACC,GAAL,CAASkH,GAAT,EAAcmnC,aAAd,CAAN;AAAqC;;AAE7DnnC,OAAG,IAAKvF,UAAU,IAAI,CAAC2nC,SAAf,IAA4B,CAACD,UAA9B,GAA4C,GAA5C,GAAkD,IAAzD;AAEA,WAAOniC,GAAP;AACD;;AAED,WAASovC,0BAAT,CAAqCpvC,GAArC,EAA0C;AACxCg2C,iBAAa,CAAC31D,SAAD,EAAY,IAAZ,CAAb;AACAszD,wBAAoB,CAAC3zC,GAAD,CAApB;AACD;;AAED,WAAS2zC,oBAAT,CAA+B3zC,GAA/B,EAAoC;AAClC,QAAIA,GAAG,IAAI,IAAX,EAAiB;AAAEA,SAAG,GAAG4zC,0BAA0B,EAAhC;AAAqC;;AACxDvzD,aAAS,CAACgV,KAAV,CAAgBiyC,aAAhB,IAAiCC,eAAe,GAAGvnC,GAAlB,GAAwBwnC,gBAAzD;AACD;;AAED,WAAS4O,YAAT,CAAuBC,MAAvB,EAA+BC,QAA/B,EAAyCC,OAAzC,EAAkDC,KAAlD,EAAyD;AACvD,QAAIljC,CAAC,GAAG+iC,MAAM,GAAGn3D,KAAjB;;AACA,QAAI,CAACF,IAAL,EAAW;AAAEs0B,OAAC,GAAGza,IAAI,CAACE,GAAL,CAASua,CAAT,EAAY2zB,aAAZ,CAAJ;AAAiC;;AAE9C,SAAK,IAAIhuD,CAAC,GAAGo9D,MAAb,EAAqBp9D,CAAC,GAAGq6B,CAAzB,EAA4Br6B,CAAC,EAA7B,EAAiC;AAC7B,UAAIsmB,IAAI,GAAGnf,UAAU,CAACnH,CAAD,CAArB,CAD6B,CAG/B;;AACA,UAAI,CAACu9D,KAAL,EAAY;AAAEj3C,YAAI,CAAClK,KAAL,CAAWgD,IAAX,GAAkB,CAACpf,CAAC,GAAGoI,KAAL,IAAc,GAAd,GAAoBnC,KAApB,GAA4B,GAA9C;AAAoD;;AAElE,UAAIokD,YAAY,IAAI6B,eAApB,EAAqC;AACnC5lC,YAAI,CAAClK,KAAL,CAAW8vC,eAAX,IAA8B5lC,IAAI,CAAClK,KAAL,CAAWgwC,cAAX,IAA6B/B,YAAY,IAAIrqD,CAAC,GAAGo9D,MAAR,CAAZ,GAA8B,IAA9B,GAAqC,GAAhG;AACD;;AACD18D,kFAAW,CAAC4lB,IAAD,EAAO+2C,QAAP,CAAX;AACAp5D,4EAAQ,CAACqiB,IAAD,EAAOg3C,OAAP,CAAR;;AAEA,UAAIC,KAAJ,EAAW;AAAE1P,qBAAa,CAACrrD,IAAd,CAAmB8jB,IAAnB;AAA2B;AACzC;AACF,GAjjEgC,CAmjEjC;AACA;AACA;;;AACA,MAAIk3C,aAAa,GAAI,YAAY;AAC/B,WAAO9Q,QAAQ,GACb,YAAY;AACVqQ,mBAAa,CAAC31D,SAAD,EAAY,EAAZ,CAAb;;AACA,UAAI6kD,kBAAkB,IAAI,CAACxlD,KAA3B,EAAkC;AAChC;AACA;AACAi0D,4BAAoB,GAHY,CAIhC;AACA;;AACA,YAAI,CAACj0D,KAAD,IAAU,CAAC8Q,wEAAS,CAACnQ,SAAD,CAAxB,EAAqC;AAAE+wD,yBAAe;AAAK;AAE5D,OARD,MAQO;AACL;AACA5R,oFAAW,CAACn/C,SAAD,EAAYinD,aAAZ,EAA2BC,eAA3B,EAA4CC,gBAA5C,EAA8DoM,0BAA0B,EAAxF,EAA4Fl0D,KAA5F,EAAmG0xD,eAAnG,CAAX;AACD;;AAED,UAAI,CAAC32C,UAAL,EAAiB;AAAEi1C,kCAA0B;AAAK;AACnD,KAjBY,GAkBb,YAAY;AACV5I,mBAAa,GAAG,EAAhB;AAEA,UAAIqK,GAAG,GAAG,EAAV;AACAA,SAAG,CAAC7L,aAAD,CAAH,GAAqB6L,GAAG,CAAC5L,YAAD,CAAH,GAAoB6L,eAAzC;AACAjQ,oFAAY,CAAC/gD,UAAU,CAACunD,WAAD,CAAX,EAA0BwJ,GAA1B,CAAZ;AACAzU,8EAAS,CAACt8C,UAAU,CAACiB,KAAD,CAAX,EAAoB8vD,GAApB,CAAT;AAEAiF,kBAAY,CAACzO,WAAD,EAAc/nD,SAAd,EAAyBC,UAAzB,EAAqC,IAArC,CAAZ;AACAu2D,kBAAY,CAAC/0D,KAAD,EAAQgiD,aAAR,EAAuBzjD,SAAvB,CAAZ,CATU,CAWV;AACA;;AACA,UAAI,CAAC0lD,aAAD,IAAkB,CAACC,YAAnB,IAAmC,CAAC7lD,KAApC,IAA6C,CAAC8Q,wEAAS,CAACnQ,SAAD,CAA3D,EAAwE;AAAE+wD,uBAAe;AAAK;AAC/F,KAhCH;AAiCD,GAlCmB,EAApB;;AAoCA,WAASsF,MAAT,CAAiBx+D,CAAjB,EAAoBy+D,WAApB,EAAiC;AAC/B,QAAItP,0BAAJ,EAAgC;AAAEoM,iBAAW;AAAK,KADnB,CAG/B;;;AACA,QAAIpyD,KAAK,KAAKsmD,WAAV,IAAyBgP,WAA7B,EAA0C;AACxC;AACA1zD,YAAM,CAAC+6C,IAAP,CAAY,cAAZ,EAA4BsT,IAAI,EAAhC;AACAruD,YAAM,CAAC+6C,IAAP,CAAY,iBAAZ,EAA+BsT,IAAI,EAAnC;;AACA,UAAI9N,UAAJ,EAAgB;AAAEgO,oBAAY;AAAK,OAJK,CAMxC;;;AACA,UAAI5F,SAAS,IAAI1zD,CAAb,IAAkB,CAAC,OAAD,EAAU,SAAV,EAAqBmB,OAArB,CAA6BnB,CAAC,CAACuQ,IAA/B,KAAwC,CAA9D,EAAiE;AAAEqrD,oBAAY;AAAK;;AAEpFjU,aAAO,GAAG,IAAV;AACA4W,mBAAa;AACd;AACF;AAED;AACF;AACA;AACA;AACA;AACA;AACA;;;AACE,WAASG,QAAT,CAAmBna,GAAnB,EAAwB;AACtB,WAAOA,GAAG,CAAClgC,WAAJ,GAAkBhgB,OAAlB,CAA0B,IAA1B,EAAgC,EAAhC,CAAP;AACD,GArnEgC,CAunEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,WAAS60D,eAAT,CAA0B9uD,KAA1B,EAAiC;AAC/B;AACA;AACA,QAAIqjD,QAAQ,IAAI9F,OAAhB,EAAyB;AACvB58C,YAAM,CAAC+6C,IAAP,CAAY,eAAZ,EAA6BsT,IAAI,CAAChvD,KAAD,CAAjC;;AAEA,UAAI,CAACqjD,QAAD,IAAamB,aAAa,CAAC1rD,MAAd,GAAuB,CAAxC,EAA2C;AACzC,aAAK,IAAInC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6tD,aAAa,CAAC1rD,MAAlC,EAA0CnC,CAAC,EAA3C,EAA+C;AAC7C,cAAIsmB,IAAI,GAAGunC,aAAa,CAAC7tD,CAAD,CAAxB,CAD6C,CAE7C;;AACAsmB,cAAI,CAAClK,KAAL,CAAWgD,IAAX,GAAkB,EAAlB;;AAEA,cAAIgtC,cAAc,IAAIF,eAAtB,EAAuC;AACrC5lC,gBAAI,CAAClK,KAAL,CAAWgwC,cAAX,IAA6B,EAA7B;AACA9lC,gBAAI,CAAClK,KAAL,CAAW8vC,eAAX,IAA8B,EAA9B;AACD;;AACDxrD,sFAAW,CAAC4lB,IAAD,EAAO1f,UAAP,CAAX;AACA3C,gFAAQ,CAACqiB,IAAD,EAAO8jC,aAAP,CAAR;AACD;AACF;AAED;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACM,UAAI,CAAC/gD,KAAD,IACA,CAACqjD,QAAD,IAAarjD,KAAK,CAACE,MAAN,CAAa+I,UAAb,KAA4BlL,SADzC,IAEAiC,KAAK,CAACE,MAAN,KAAiBnC,SAAjB,IAA8Bu2D,QAAQ,CAACt0D,KAAK,CAACu0D,YAAP,CAAR,KAAiCD,QAAQ,CAACtP,aAAD,CAF3E,EAE4F;AAE1F,YAAI,CAACD,0BAAL,EAAiC;AAC/B,cAAI+L,QAAQ,GAAG/xD,KAAf;AACAoyD,qBAAW;;AACX,cAAIpyD,KAAK,KAAK+xD,QAAd,EAAwB;AACtBnwD,kBAAM,CAAC+6C,IAAP,CAAY,cAAZ,EAA4BsT,IAAI,EAAhC;AAEAlC,sCAA0B;AAC3B;AACF;;AAED,YAAIvL,MAAM,KAAK,OAAf,EAAwB;AAAE5gD,gBAAM,CAAC+6C,IAAP,CAAY,aAAZ,EAA2BsT,IAAI,EAA/B;AAAqC;;AAC/DzR,eAAO,GAAG,KAAV;AACA8H,mBAAW,GAAGtmD,KAAd;AACD;AACF;AAEF,GAjrEgC,CAmrEjC;;;AACA,WAASy1D,IAAT,CAAeC,WAAf,EAA4B7+D,CAA5B,EAA+B;AAC7B,QAAIkwD,MAAJ,EAAY;AAAE;AAAS,KADM,CAG7B;;;AACA,QAAI2O,WAAW,KAAK,MAApB,EAA4B;AAC1BvO,qBAAe,CAACtwD,CAAD,EAAI,CAAC,CAAL,CAAf,CAD0B,CAG5B;AACC,KAJD,MAIO,IAAI6+D,WAAW,KAAK,MAApB,EAA4B;AACjCvO,qBAAe,CAACtwD,CAAD,EAAI,CAAJ,CAAf,CADiC,CAGnC;AACC,KAJM,MAIA;AACL,UAAI2nD,OAAJ,EAAa;AACX,YAAIiE,wBAAJ,EAA8B;AAAE;AAAS,SAAzC,MAA+C;AAAEsN,yBAAe;AAAK;AACtE;;AAED,UAAIpE,QAAQ,GAAGD,WAAW,EAA1B;AAAA,UACIiK,QAAQ,GAAG,CADf;;AAGA,UAAID,WAAW,KAAK,OAApB,EAA6B;AAC3BC,gBAAQ,GAAG,CAAEhK,QAAb;AACD,OAFD,MAEO,IAAI+J,WAAW,KAAK,MAApB,EAA4B;AACjCC,gBAAQ,GAAGrR,QAAQ,GAAGjkD,UAAU,GAAGxC,KAAb,GAAqB8tD,QAAxB,GAAmCtrD,UAAU,GAAG,CAAb,GAAiBsrD,QAAvE;AACD,OAFM,MAEA;AACL,YAAI,OAAO+J,WAAP,KAAuB,QAA3B,EAAqC;AAAEA,qBAAW,GAAGn4D,QAAQ,CAACm4D,WAAD,CAAtB;AAAsC;;AAE7E,YAAI,CAACj4D,KAAK,CAACi4D,WAAD,CAAV,EAAyB;AACvB;AACA,cAAI,CAAC7+D,CAAL,EAAQ;AAAE6+D,uBAAW,GAAGl+C,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACE,GAAL,CAASrX,UAAU,GAAG,CAAtB,EAAyBq1D,WAAzB,CAAZ,CAAd;AAAmE;;AAE7EC,kBAAQ,GAAGD,WAAW,GAAG/J,QAAzB;AACD;AACF,OArBI,CAuBL;;;AACA,UAAI,CAACrH,QAAD,IAAaqR,QAAb,IAAyBn+C,IAAI,CAACkmC,GAAL,CAASiY,QAAT,IAAqB93D,KAAlD,EAAyD;AACvD,YAAI+3D,MAAM,GAAGD,QAAQ,GAAG,CAAX,GAAe,CAAf,GAAmB,CAAC,CAAjC;AACAA,gBAAQ,IAAK31D,KAAK,GAAG21D,QAAR,GAAmBt1D,UAApB,IAAmComD,QAAnC,GAA8CpmD,UAAU,GAAGu1D,MAA3D,GAAoEv1D,UAAU,GAAG,CAAb,GAAiBu1D,MAAjB,GAA0B,CAAC,CAA3G;AACD;;AAED51D,WAAK,IAAI21D,QAAT,CA7BK,CA+BL;;AACA,UAAIrR,QAAQ,IAAI3mD,IAAhB,EAAsB;AACpB,YAAIqC,KAAK,GAAGymD,QAAZ,EAAsB;AAAEzmD,eAAK,IAAIK,UAAT;AAAsB;;AAC9C,YAAIL,KAAK,GAAG0mD,QAAZ,EAAsB;AAAE1mD,eAAK,IAAIK,UAAT;AAAsB;AAC/C,OAnCI,CAqCL;;;AACA,UAAIqrD,WAAW,CAAC1rD,KAAD,CAAX,KAAuB0rD,WAAW,CAACpF,WAAD,CAAtC,EAAqD;AACnD+O,cAAM,CAACx+D,CAAD,CAAN;AACD;AAEF;AACF,GA3uEgC,CA6uEjC;;;AACA,WAASswD,eAAT,CAA0BtwD,CAA1B,EAA6BmvB,GAA7B,EAAkC;AAChC,QAAIw4B,OAAJ,EAAa;AACX,UAAIiE,wBAAJ,EAA8B;AAAE;AAAS,OAAzC,MAA+C;AAAEsN,uBAAe;AAAK;AACtE;;AACD,QAAI8F,eAAJ;;AAEA,QAAI,CAAC7vC,GAAL,EAAU;AACRnvB,OAAC,GAAGk6D,QAAQ,CAACl6D,CAAD,CAAZ;AACA,UAAIsK,MAAM,GAAGoyD,SAAS,CAAC18D,CAAD,CAAtB;;AAEA,aAAOsK,MAAM,KAAKtC,iBAAX,IAAgC,CAACwiD,UAAD,EAAaC,UAAb,EAAyBtpD,OAAzB,CAAiCmJ,MAAjC,IAA2C,CAAlF,EAAqF;AAAEA,cAAM,GAAGA,MAAM,CAAC+I,UAAhB;AAA6B;;AAEpH,UAAI4rD,QAAQ,GAAG,CAACzU,UAAD,EAAaC,UAAb,EAAyBtpD,OAAzB,CAAiCmJ,MAAjC,CAAf;;AACA,UAAI20D,QAAQ,IAAI,CAAhB,EAAmB;AACjBD,uBAAe,GAAG,IAAlB;AACA7vC,WAAG,GAAG8vC,QAAQ,KAAK,CAAb,GAAiB,CAAC,CAAlB,GAAsB,CAA5B;AACD;AACF;;AAED,QAAI5T,MAAJ,EAAY;AACV,UAAIliD,KAAK,KAAKymD,QAAV,IAAsBzgC,GAAG,KAAK,CAAC,CAAnC,EAAsC;AACpCyvC,YAAI,CAAC,MAAD,EAAS5+D,CAAT,CAAJ;AACA;AACD,OAHD,MAGO,IAAImJ,KAAK,KAAK0mD,QAAV,IAAsB1gC,GAAG,KAAK,CAAlC,EAAqC;AAC1CyvC,YAAI,CAAC,OAAD,EAAU5+D,CAAV,CAAJ;AACA;AACD;AACF;;AAED,QAAImvB,GAAJ,EAAS;AACPhmB,WAAK,IAAIihD,OAAO,GAAGj7B,GAAnB;;AACA,UAAI+6B,SAAJ,EAAe;AAAE/gD,aAAK,GAAGwX,IAAI,CAACuE,KAAL,CAAW/b,KAAX,CAAR;AAA4B,OAFtC,CAGP;;;AACAq1D,YAAM,CAAEQ,eAAe,IAAKh/D,CAAC,IAAIA,CAAC,CAACuQ,IAAF,KAAW,SAArC,GAAmDvQ,CAAnD,GAAuD,IAAxD,CAAN;AACD;AACF,GAjxEgC,CAmxEjC;;;AACA,WAASywD,UAAT,CAAqBzwD,CAArB,EAAwB;AACtB,QAAI2nD,OAAJ,EAAa;AACX,UAAIiE,wBAAJ,EAA8B;AAAE;AAAS,OAAzC,MAA+C;AAAEsN,uBAAe;AAAK;AACtE;;AAEDl5D,KAAC,GAAGk6D,QAAQ,CAACl6D,CAAD,CAAZ;AACA,QAAIsK,MAAM,GAAGoyD,SAAS,CAAC18D,CAAD,CAAtB;AAAA,QAA2Bk/D,QAA3B,CANsB,CAQtB;;AACA,WAAO50D,MAAM,KAAKxC,YAAX,IAA2B,CAACo/C,oEAAO,CAAC58C,MAAD,EAAS,UAAT,CAA1C,EAAgE;AAAEA,YAAM,GAAGA,MAAM,CAAC+I,UAAhB;AAA6B;;AAC/F,QAAI6zC,oEAAO,CAAC58C,MAAD,EAAS,UAAT,CAAX,EAAiC;AAC/B,UAAI40D,QAAQ,GAAGlM,UAAU,GAAGvL,MAAM,CAAC1B,oEAAO,CAACz7C,MAAD,EAAS,UAAT,CAAR,CAAlC;AAAA,UACI60D,eAAe,GAAGlV,UAAU,IAAIC,SAAd,GAA0BgV,QAAQ,GAAG11D,UAAX,GAAwBqpD,KAAlD,GAA0DqM,QAAQ,GAAGl4D,KAD3F;AAAA,UAEI63D,WAAW,GAAG92D,eAAe,GAAGm3D,QAAH,GAAcv+C,IAAI,CAACE,GAAL,CAASF,IAAI,CAAC6wB,IAAL,CAAU2tB,eAAV,CAAT,EAAqC31D,UAAU,GAAG,CAAlD,CAF/C;AAGAo1D,UAAI,CAACC,WAAD,EAAc7+D,CAAd,CAAJ;;AAEA,UAAIizD,eAAe,KAAKiM,QAAxB,EAAkC;AAChC,YAAIxL,SAAJ,EAAe;AAAEkI,sBAAY;AAAK;;AAClC5I,kBAAU,GAAG,CAAC,CAAd,CAFgC,CAEf;AAClB;AACF;AACF,GAzyEgC,CA2yEjC;;;AACA,WAASoM,gBAAT,GAA6B;AAC3B3L,iBAAa,GAAG4L,WAAW,CAAC,YAAY;AACtC/O,qBAAe,CAAC,IAAD,EAAOxF,iBAAP,CAAf;AACD,KAF0B,EAExBjkD,eAFwB,CAA3B;AAIA6sD,aAAS,GAAG,IAAZ;AACD;;AAED,WAAS4L,iBAAT,GAA8B;AAC5B1F,iBAAa,CAACnG,aAAD,CAAb;AACAC,aAAS,GAAG,KAAZ;AACD;;AAED,WAAS6L,oBAAT,CAA+BC,MAA/B,EAAuCjH,GAAvC,EAA4C;AAC1CrP,0EAAQ,CAAC8B,cAAD,EAAiB;AAAC,qBAAewU;AAAhB,KAAjB,CAAR;AACAxU,kBAAc,CAACv4B,SAAf,GAA2B+gC,mBAAmB,CAAC,CAAD,CAAnB,GAAyBgM,MAAzB,GAAkChM,mBAAmB,CAAC,CAAD,CAArD,GAA2D+E,GAAtF;AACD;;AAED,WAASE,aAAT,GAA0B;AACxB2G,oBAAgB;;AAChB,QAAIpU,cAAJ,EAAoB;AAAEuU,0BAAoB,CAAC,MAAD,EAASxU,YAAY,CAAC,CAAD,CAArB,CAApB;AAAgD;AACvE;;AAED,WAAS6Q,YAAT,GAAyB;AACvB0D,qBAAiB;;AACjB,QAAItU,cAAJ,EAAoB;AAAEuU,0BAAoB,CAAC,OAAD,EAAUxU,YAAY,CAAC,CAAD,CAAtB,CAApB;AAAiD;AACxE,GAt0EgC,CAw0EjC;;;AACA,WAASn+C,IAAT,GAAiB;AACf,QAAIjG,QAAQ,IAAI,CAAC+sD,SAAjB,EAA4B;AAC1B+E,mBAAa;AACb7E,wBAAkB,GAAG,KAArB;AACD;AACF;;AACD,WAASlnD,KAAT,GAAkB;AAChB,QAAIgnD,SAAJ,EAAe;AACbkI,kBAAY;AACZhI,wBAAkB,GAAG,IAArB;AACD;AACF;;AAED,WAAS4E,cAAT,GAA2B;AACzB,QAAI9E,SAAJ,EAAe;AACbkI,kBAAY;AACZhI,wBAAkB,GAAG,IAArB;AACD,KAHD,MAGO;AACL6E,mBAAa;AACb7E,wBAAkB,GAAG,KAArB;AACD;AACF;;AAED,WAAS7C,kBAAT,GAA+B;AAC7B,QAAIlpC,GAAG,CAAC/B,MAAR,EAAgB;AACd,UAAI4tC,SAAJ,EAAe;AACb4L,yBAAiB;AACjBzL,gCAAwB,GAAG,IAA3B;AACD;AACF,KALD,MAKO,IAAIA,wBAAJ,EAA8B;AACnCuL,sBAAgB;AAChBvL,8BAAwB,GAAG,KAA3B;AACD;AACF;;AAED,WAASjD,cAAT,GAA2B;AACzB,QAAI8C,SAAJ,EAAe;AACb4L,uBAAiB;AACjB3L,yBAAmB,GAAG,IAAtB;AACD;AACF;;AAED,WAAS9C,eAAT,GAA4B;AAC1B,QAAI8C,mBAAJ,EAAyB;AACvByL,sBAAgB;AAChBzL,yBAAmB,GAAG,KAAtB;AACD;AACF,GAx3EgC,CA03EjC;;;AACA,WAAS1C,iBAAT,CAA4BjxD,CAA5B,EAA+B;AAC7BA,KAAC,GAAGk6D,QAAQ,CAACl6D,CAAD,CAAZ;AACA,QAAIy/D,QAAQ,GAAG,CAACzT,IAAI,CAACG,IAAN,EAAYH,IAAI,CAACI,KAAjB,EAAwBjrD,OAAxB,CAAgCnB,CAAC,CAACsqC,OAAlC,CAAf;;AAEA,QAAIm1B,QAAQ,IAAI,CAAhB,EAAmB;AACjBnP,qBAAe,CAACtwD,CAAD,EAAIy/D,QAAQ,KAAK,CAAb,GAAiB,CAAC,CAAlB,GAAsB,CAA1B,CAAf;AACD;AACF,GAl4EgC,CAo4EjC;;;AACA,WAASlP,iBAAT,CAA4BvwD,CAA5B,EAA+B;AAC7BA,KAAC,GAAGk6D,QAAQ,CAACl6D,CAAD,CAAZ;AACA,QAAIy/D,QAAQ,GAAG,CAACzT,IAAI,CAACG,IAAN,EAAYH,IAAI,CAACI,KAAjB,EAAwBjrD,OAAxB,CAAgCnB,CAAC,CAACsqC,OAAlC,CAAf;;AAEA,QAAIm1B,QAAQ,IAAI,CAAhB,EAAmB;AACjB,UAAIA,QAAQ,KAAK,CAAjB,EAAoB;AAClB,YAAI,CAACjV,UAAU,CAACt7B,QAAhB,EAA0B;AAAEohC,yBAAe,CAACtwD,CAAD,EAAI,CAAC,CAAL,CAAf;AAAyB;AACtD,OAFD,MAEO,IAAI,CAACyqD,UAAU,CAACv7B,QAAhB,EAA0B;AAC/BohC,uBAAe,CAACtwD,CAAD,EAAI,CAAJ,CAAf;AACD;AACF;AACF,GAh5EgC,CAk5EjC;;;AACA,WAAS0/D,QAAT,CAAmBn7C,EAAnB,EAAuB;AACrBA,MAAE,CAAC2mB,KAAH;AACD,GAr5EgC,CAu5EjC;;;AACA,WAASwlB,YAAT,CAAuB1wD,CAAvB,EAA0B;AACxBA,KAAC,GAAGk6D,QAAQ,CAACl6D,CAAD,CAAZ;AACA,QAAI2/D,UAAU,GAAG93C,GAAG,CAACmO,aAArB;;AACA,QAAI,CAACkxB,oEAAO,CAACyY,UAAD,EAAa,UAAb,CAAZ,EAAsC;AAAE;AAAS,KAHzB,CAKxB;;;AACA,QAAIF,QAAQ,GAAG,CAACzT,IAAI,CAACG,IAAN,EAAYH,IAAI,CAACI,KAAjB,EAAwBJ,IAAI,CAACC,KAA7B,EAAoCD,IAAI,CAACE,KAAzC,EAAgD/qD,OAAhD,CAAwDnB,CAAC,CAACsqC,OAA1D,CAAf;AAAA,QACI40B,QAAQ,GAAGzX,MAAM,CAAC1B,oEAAO,CAAC4Z,UAAD,EAAa,UAAb,CAAR,CADrB;;AAGA,QAAIF,QAAQ,IAAI,CAAhB,EAAmB;AACjB,UAAIA,QAAQ,KAAK,CAAjB,EAAoB;AAClB,YAAIP,QAAQ,GAAG,CAAf,EAAkB;AAAEQ,kBAAQ,CAAC9M,QAAQ,CAACsM,QAAQ,GAAG,CAAZ,CAAT,CAAR;AAAmC;AACxD,OAFD,MAEO,IAAIO,QAAQ,KAAK,CAAjB,EAAoB;AACzB,YAAIP,QAAQ,GAAGrM,KAAK,GAAG,CAAvB,EAA0B;AAAE6M,kBAAQ,CAAC9M,QAAQ,CAACsM,QAAQ,GAAG,CAAZ,CAAT,CAAR;AAAmC;AAChE,OAFM,MAEA;AACLlM,kBAAU,GAAGkM,QAAb;AACAN,YAAI,CAACM,QAAD,EAAWl/D,CAAX,CAAJ;AACD;AACF;AACF;;AAED,WAASk6D,QAAT,CAAmBl6D,CAAnB,EAAsB;AACpBA,KAAC,GAAGA,CAAC,IAAIib,GAAG,CAAC7Q,KAAb;AACA,WAAOw1D,YAAY,CAAC5/D,CAAD,CAAZ,GAAkBA,CAAC,CAACgiB,cAAF,CAAiB,CAAjB,CAAlB,GAAwChiB,CAA/C;AACD;;AACD,WAAS08D,SAAT,CAAoB18D,CAApB,EAAuB;AACrB,WAAOA,CAAC,CAACsK,MAAF,IAAY2Q,GAAG,CAAC7Q,KAAJ,CAAU+W,UAA7B;AACD;;AAED,WAASy+C,YAAT,CAAuB5/D,CAAvB,EAA0B;AACxB,WAAOA,CAAC,CAACuQ,IAAF,CAAOpP,OAAP,CAAe,OAAf,KAA2B,CAAlC;AACD;;AAED,WAAS0+D,sBAAT,CAAiC7/D,CAAjC,EAAoC;AAClCA,KAAC,CAACiN,cAAF,GAAmBjN,CAAC,CAACiN,cAAF,EAAnB,GAAwCjN,CAAC,CAACkpC,WAAF,GAAgB,KAAxD;AACD;;AAED,WAAS42B,wBAAT,GAAqC;AACnC,WAAOrZ,wFAAiB,CAAC8C,sEAAQ,CAACwK,YAAY,CAACzxC,CAAb,GAAiBwxC,YAAY,CAACxxC,CAA/B,EAAkCyxC,YAAY,CAAC1xC,CAAb,GAAiByxC,YAAY,CAACzxC,CAAhE,CAAT,EAA6EqpC,UAA7E,CAAjB,KAA8G3vC,OAAO,CAACguC,IAA7H;AACD;;AAED,WAASoH,UAAT,CAAqBnxD,CAArB,EAAwB;AACtB,QAAI2nD,OAAJ,EAAa;AACX,UAAIiE,wBAAJ,EAA8B;AAAE;AAAS,OAAzC,MAA+C;AAAEsN,uBAAe;AAAK;AACtE;;AAED,QAAIvyD,QAAQ,IAAI+sD,SAAhB,EAA2B;AAAE4L,uBAAiB;AAAK;;AAEnDnL,YAAQ,GAAG,IAAX;;AACA,QAAIC,QAAJ,EAAc;AACZvP,iEAAG,CAACuP,QAAD,CAAH;AACAA,cAAQ,GAAG,IAAX;AACD;;AAED,QAAIl0D,CAAC,GAAGg6D,QAAQ,CAACl6D,CAAD,CAAhB;AACA+K,UAAM,CAAC+6C,IAAP,CAAY8Z,YAAY,CAAC5/D,CAAD,CAAZ,GAAkB,YAAlB,GAAiC,WAA7C,EAA0Do5D,IAAI,CAACp5D,CAAD,CAA9D;;AAEA,QAAI,CAAC4/D,YAAY,CAAC5/D,CAAD,CAAb,IAAoB,CAAC,KAAD,EAAQ,GAAR,EAAamB,OAAb,CAAqBo8D,oBAAoB,CAACb,SAAS,CAAC18D,CAAD,CAAV,CAAzC,KAA4D,CAApF,EAAuF;AACrF6/D,4BAAsB,CAAC7/D,CAAD,CAAtB;AACD;;AAED+zD,gBAAY,CAAC1xC,CAAb,GAAiByxC,YAAY,CAACzxC,CAAb,GAAiBniB,CAAC,CAACsqC,OAApC;AACAupB,gBAAY,CAACzxC,CAAb,GAAiBwxC,YAAY,CAACxxC,CAAb,GAAiBpiB,CAAC,CAACuqC,OAApC;;AACA,QAAIgjB,QAAJ,EAAc;AACZuG,mBAAa,GAAG/wC,UAAU,CAAC9a,SAAS,CAACgV,KAAV,CAAgBiyC,aAAhB,EAA+B/qD,OAA/B,CAAuCgrD,eAAvC,EAAwD,EAAxD,CAAD,CAA1B;AACAyO,mBAAa,CAAC31D,SAAD,EAAY,IAAZ,CAAb;AACD;AACF;;AAED,WAASipD,SAAT,CAAoBpxD,CAApB,EAAuB;AACrB,QAAIm0D,QAAJ,EAAc;AACZ,UAAIj0D,CAAC,GAAGg6D,QAAQ,CAACl6D,CAAD,CAAhB;AACA+zD,kBAAY,CAAC1xC,CAAb,GAAiBniB,CAAC,CAACsqC,OAAnB;AACAupB,kBAAY,CAACzxC,CAAb,GAAiBpiB,CAAC,CAACuqC,OAAnB;;AAEA,UAAIgjB,QAAJ,EAAc;AACZ,YAAI,CAAC2G,QAAL,EAAe;AAAEA,kBAAQ,GAAG7L,2DAAG,CAAC,YAAU;AAAEwX,qBAAS,CAAC//D,CAAD,CAAT;AAAe,WAA5B,CAAd;AAA8C;AAChE,OAFD,MAEO;AACL,YAAI+vD,qBAAqB,KAAK,GAA9B,EAAmC;AAAEA,+BAAqB,GAAG+P,wBAAwB,EAAhD;AAAqD;;AAC1F,YAAI/P,qBAAJ,EAA2B;AAAEsC,uBAAa,GAAG,IAAhB;AAAuB;AACrD;;AAED,UAAI,CAAC,OAAOryD,CAAC,CAAC+pC,UAAT,KAAwB,SAAxB,IAAqC/pC,CAAC,CAAC+pC,UAAxC,KAAuDsoB,aAA3D,EAA0E;AACxEryD,SAAC,CAACiN,cAAF;AACD;AACF;AACF;;AAED,WAAS8yD,SAAT,CAAoB//D,CAApB,EAAuB;AACrB,QAAI,CAAC+vD,qBAAL,EAA4B;AAC1BoE,cAAQ,GAAG,KAAX;AACA;AACD;;AACDtP,+DAAG,CAACuP,QAAD,CAAH;;AACA,QAAID,QAAJ,EAAc;AAAEC,cAAQ,GAAG7L,2DAAG,CAAC,YAAU;AAAEwX,iBAAS,CAAC//D,CAAD,CAAT;AAAe,OAA5B,CAAd;AAA8C;;AAE9D,QAAI+vD,qBAAqB,KAAK,GAA9B,EAAmC;AAAEA,2BAAqB,GAAG+P,wBAAwB,EAAhD;AAAqD;;AAC1F,QAAI/P,qBAAJ,EAA2B;AACzB,UAAI,CAACsC,aAAD,IAAkBuN,YAAY,CAAC5/D,CAAD,CAAlC,EAAuC;AAAEqyD,qBAAa,GAAG,IAAhB;AAAuB;;AAEhE,UAAI;AACF,YAAIryD,CAAC,CAACuQ,IAAN,EAAY;AAAExF,gBAAM,CAAC+6C,IAAP,CAAY8Z,YAAY,CAAC5/D,CAAD,CAAZ,GAAkB,WAAlB,GAAgC,UAA5C,EAAwDo5D,IAAI,CAACp5D,CAAD,CAA5D;AAAmE;AAClF,OAFD,CAEE,OAAMgK,GAAN,EAAW,CAAE;;AAEf,UAAIqY,CAAC,GAAG2xC,aAAR;AAAA,UACIgM,IAAI,GAAG3L,OAAO,CAACN,YAAD,EAAeD,YAAf,CADlB;;AAEA,UAAI,CAACvxC,UAAD,IAAe0nC,UAAf,IAA6BC,SAAjC,EAA4C;AAC1C7nC,SAAC,IAAI29C,IAAL;AACA39C,SAAC,IAAI,IAAL;AACD,OAHD,MAGO;AACL,YAAI49C,WAAW,GAAGnT,SAAS,GAAGkT,IAAI,GAAGh5D,KAAP,GAAe,GAAf,IAAsB,CAACwnD,QAAQ,GAAGnnD,MAAZ,IAAsB0nD,aAA5C,CAAH,GAA+DiR,IAAI,GAAG,GAAP,IAAcxR,QAAQ,GAAGnnD,MAAzB,CAA1F;AACAgb,SAAC,IAAI49C,WAAL;AACA59C,SAAC,IAAI,GAAL;AACD;;AAEDla,eAAS,CAACgV,KAAV,CAAgBiyC,aAAhB,IAAiCC,eAAe,GAAGhtC,CAAlB,GAAsBitC,gBAAvD;AACD;AACF;;AAED,WAAS+B,QAAT,CAAmBrxD,CAAnB,EAAsB;AACpB,QAAIm0D,QAAJ,EAAc;AACZ,UAAIC,QAAJ,EAAc;AACZvP,mEAAG,CAACuP,QAAD,CAAH;AACAA,gBAAQ,GAAG,IAAX;AACD;;AACD,UAAI3G,QAAJ,EAAc;AAAEqQ,qBAAa,CAAC31D,SAAD,EAAY,EAAZ,CAAb;AAA+B;;AAC/CgsD,cAAQ,GAAG,KAAX;AAEA,UAAIj0D,CAAC,GAAGg6D,QAAQ,CAACl6D,CAAD,CAAhB;AACA+zD,kBAAY,CAAC1xC,CAAb,GAAiBniB,CAAC,CAACsqC,OAAnB;AACAupB,kBAAY,CAACzxC,CAAb,GAAiBpiB,CAAC,CAACuqC,OAAnB;AACA,UAAIu1B,IAAI,GAAG3L,OAAO,CAACN,YAAD,EAAeD,YAAf,CAAlB;;AAEA,UAAInzC,IAAI,CAACkmC,GAAL,CAASmZ,IAAT,CAAJ,EAAoB;AAClB;AACA,YAAI,CAACJ,YAAY,CAAC5/D,CAAD,CAAjB,EAAsB;AACpB;AACA,cAAIsK,MAAM,GAAGoyD,SAAS,CAAC18D,CAAD,CAAtB;AACAwkD,kFAAS,CAACl6C,MAAD,EAAS;AAAC,qBAAS,SAAS41D,YAAT,CAAuBlgE,CAAvB,EAA0B;AACpD6/D,oCAAsB,CAAC7/D,CAAD,CAAtB;AACAipD,4FAAY,CAAC3+C,MAAD,EAAS;AAAC,yBAAS41D;AAAV,eAAT,CAAZ;AACD;AAHiB,WAAT,CAAT;AAID;;AAED,YAAIzS,QAAJ,EAAc;AACZ2G,kBAAQ,GAAG7L,2DAAG,CAAC,YAAW;AACxB,gBAAIhmC,UAAU,IAAI,CAAC2nC,SAAnB,EAA8B;AAC5B,kBAAIiW,UAAU,GAAG,CAAEH,IAAF,GAASh5D,KAAT,IAAkBwnD,QAAQ,GAAGnnD,MAA7B,CAAjB;AACA84D,wBAAU,GAAGH,IAAI,GAAG,CAAP,GAAWr/C,IAAI,CAACuE,KAAL,CAAWi7C,UAAX,CAAX,GAAoCx/C,IAAI,CAAC6wB,IAAL,CAAU2uB,UAAV,CAAjD;AACAh3D,mBAAK,IAAIg3D,UAAT;AACD,aAJD,MAIO;AACL,kBAAIC,KAAK,GAAG,EAAGpM,aAAa,GAAGgM,IAAnB,CAAZ;;AACA,kBAAII,KAAK,IAAI,CAAb,EAAgB;AACdj3D,qBAAK,GAAGymD,QAAR;AACD,eAFD,MAEO,IAAIwQ,KAAK,IAAIzR,cAAc,CAACI,aAAa,GAAG,CAAjB,CAA3B,EAAgD;AACrD5lD,qBAAK,GAAG0mD,QAAR;AACD,eAFM,MAEA;AACL,oBAAI9uD,CAAC,GAAG,CAAR;;AACA,uBAAOA,CAAC,GAAGguD,aAAJ,IAAqBqR,KAAK,IAAIzR,cAAc,CAAC5tD,CAAD,CAAnD,EAAwD;AACtDoI,uBAAK,GAAGpI,CAAR;;AACA,sBAAIq/D,KAAK,GAAGzR,cAAc,CAAC5tD,CAAD,CAAtB,IAA6Bi/D,IAAI,GAAG,CAAxC,EAA2C;AAAE72D,yBAAK,IAAI,CAAT;AAAa;;AAC1DpI,mBAAC;AACF;AACF;AACF;;AAEDy9D,kBAAM,CAACx+D,CAAD,EAAIggE,IAAJ,CAAN;AACAj1D,kBAAM,CAAC+6C,IAAP,CAAY8Z,YAAY,CAAC5/D,CAAD,CAAZ,GAAkB,UAAlB,GAA+B,SAA3C,EAAsDo5D,IAAI,CAACp5D,CAAD,CAA1D;AACD,WAvBa,CAAd;AAwBD,SAzBD,MAyBO;AACL,cAAI+vD,qBAAJ,EAA2B;AACzBO,2BAAe,CAACtwD,CAAD,EAAIggE,IAAI,GAAG,CAAP,GAAW,CAAC,CAAZ,GAAgB,CAApB,CAAf;AACD;AACF;AACF;AACF,KAxDmB,CA0DpB;;;AACA,QAAIjkD,OAAO,CAAC1T,oBAAR,KAAiC,MAArC,EAA6C;AAAEgqD,mBAAa,GAAG,KAAhB;AAAwB;;AACvE,QAAI3G,UAAJ,EAAgB;AAAEqE,2BAAqB,GAAG,GAAxB;AAA8B;;AAChD,QAAIppD,QAAQ,IAAI,CAAC+sD,SAAjB,EAA4B;AAAE0L,sBAAgB;AAAK;AACpD,GA7kFgC,CA+kFjC;AACA;;;AACA,WAAS5H,0BAAT,GAAuC;AACrC,QAAIhB,EAAE,GAAG1I,aAAa,GAAGA,aAAH,GAAmBD,YAAzC;AACA2I,MAAE,CAACr5C,KAAH,CAASpM,MAAT,GAAkB49C,cAAc,CAACxlD,KAAK,GAAGnC,KAAT,CAAd,GAAgC2nD,cAAc,CAACxlD,KAAD,CAA9C,GAAwD,IAA1E;AACD;;AAED,WAAS2pD,QAAT,GAAqB;AACnB,QAAIuN,KAAK,GAAGpW,UAAU,GAAG,CAACA,UAAU,GAAG5iD,MAAd,IAAwBmC,UAAxB,GAAqCglD,QAAxC,GAAmDhlD,UAAU,GAAGxC,KAAtF;AACA,WAAO2Z,IAAI,CAACE,GAAL,CAASF,IAAI,CAAC6wB,IAAL,CAAU6uB,KAAV,CAAT,EAA2B72D,UAA3B,CAAP;AACD;AAED;AACF;AACA;AACA;AACA;;;AACE,WAASqvD,mBAAT,GAAgC;AAC9B,QAAI,CAACnO,GAAD,IAAQ3iD,eAAZ,EAA6B;AAAE;AAAS;;AAExC,QAAI8qD,KAAK,KAAKE,WAAd,EAA2B;AACzB,UAAIlyC,GAAG,GAAGkyC,WAAV;AAAA,UACInyC,GAAG,GAAGiyC,KADV;AAAA,UAEI3zC,EAAE,GAAGoqC,oEAFT;;AAIA,UAAIyJ,WAAW,GAAGF,KAAlB,EAAyB;AACvBhyC,WAAG,GAAGgyC,KAAN;AACAjyC,WAAG,GAAGmyC,WAAN;AACA7zC,UAAE,GAAGioC,oEAAL;AACD;;AAED,aAAOtmC,GAAG,GAAGD,GAAb,EAAkB;AAChB1B,UAAE,CAAC0zC,QAAQ,CAAC/xC,GAAD,CAAT,CAAF;AACAA,WAAG;AACJ,OAdwB,CAgBzB;;;AACAkyC,iBAAW,GAAGF,KAAd;AACD;AACF;;AAED,WAASuG,IAAT,CAAep5D,CAAf,EAAkB;AAChB,WAAO;AACLmI,eAAS,EAAEA,SADN;AAELD,gBAAU,EAAEA,UAFP;AAGLJ,kBAAY,EAAEA,YAHT;AAIL8qD,cAAQ,EAAEA,QAJL;AAKL5qD,uBAAiB,EAAEA,iBALd;AAMLupD,iBAAW,EAAEA,WANR;AAOL/G,gBAAU,EAAEA,UAPP;AAQLC,gBAAU,EAAEA,UARP;AASLzjD,WAAK,EAAEA,KATF;AAULojD,aAAO,EAAEA,OAVJ;AAWLyE,gBAAU,EAAEA,UAXP;AAYLrlD,gBAAU,EAAEA,UAZP;AAaLulD,mBAAa,EAAEA,aAbV;AAcL5lD,WAAK,EAAEA,KAdF;AAeLsmD,iBAAW,EAAEA,WAfR;AAgBLC,kBAAY,EAAEC,eAAe,EAhBxB;AAiBLsD,qBAAe,EAAEA,eAjBZ;AAkBLE,2BAAqB,EAAEA,qBAlBlB;AAmBLN,WAAK,EAAEA,KAnBF;AAoBLE,iBAAW,EAAEA,WApBR;AAqBL7O,WAAK,EAAEA,KArBF;AAsBLmK,UAAI,EAAEA,IAtBD;AAuBLjkD,WAAK,EAAEpK,CAAC,IAAI;AAvBP,KAAP;AAyBD;;AAED,SAAO;AACLqoB,WAAO,EAAE,OADJ;AAELi4C,WAAO,EAAElH,IAFJ;AAGLruD,UAAM,EAAEA,MAHH;AAIL6zD,QAAI,EAAEA,IAJD;AAKLhyD,QAAI,EAAEA,IALD;AAMLF,SAAK,EAAEA,KANF;AAOL2hD,QAAI,EAAEA,IAPD;AAQLkS,sBAAkB,EAAEzD,wBARf;AASL0D,WAAO,EAAE/L,mBATJ;AAUL3yD,WAAO,EAAEA,OAVJ;AAWLC,WAAO,EAAE,mBAAW;AAClB,aAAOH,GAAG,CAAC2N,iEAAM,CAACwM,OAAD,EAAUyxC,eAAV,CAAP,CAAV;AACD;AAbI,GAAP;AAeD,CAnqFM,C;;;;;;;;;;;;;ACzDP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAASxtD,CAAT,EAAW2mC,CAAX,EAAa;AAAC,4CAAiB7mC,OAAjB,MAA0B,eAAa,OAAOD,MAA9C,GAAqDA,MAAM,CAACC,OAAP,GAAe6mC,CAAC,CAACjnC,mBAAO,CAAC,yEAAD,CAAR,EAA0BA,mBAAO,CAAC,6EAAD,CAAjC,CAArE,GAA2H,QAAsCka,iCAAO,CAAC,8FAAD,EAAiB,kGAAjB,CAAD,oCAAqC+sB,CAArC;AAAA;AAAA;AAAA,oGAA5C,GAAoF,SAA/M;AAA0P,CAAxQ,CAAyQ,IAAzQ,EAA8Q,UAASrkB,CAAT,EAAWm+C,CAAX,EAAa;AAAC;;AAAan+C,GAAC,GAACA,CAAC,IAAE9b,MAAM,CAACuT,SAAP,CAAiBrH,cAAjB,CAAgC/M,IAAhC,CAAqC2c,CAArC,EAAuC,SAAvC,CAAH,GAAqDA,CAAC,WAAtD,GAA+DA,CAAjE,EAAmEm+C,CAAC,GAACA,CAAC,IAAEj6D,MAAM,CAACuT,SAAP,CAAiBrH,cAAjB,CAAgC/M,IAAhC,CAAqC86D,CAArC,EAAuC,SAAvC,CAAH,GAAqDA,CAAC,WAAtD,GAA+DA,CAApI;;AAAsI,MAAIC,CAAC,GAAC,OAAN;AAAA,MAActlC,CAAC,GAAC,EAAhB;AAAA,MAAmBp7B,CAAC,GAAC,SAAFA,CAAE,CAAS2gE,CAAT,EAAWC,CAAX,EAAa;AAAC,WAAO,UAAS5gE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAACsmC,CAAC,CAACC,MAAF,CAASl6B,CAAT,CAAN;AAAA,UAAkBm6B,CAAC,GAAC,IAAIzzC,MAAJ,CAAW,OAAKiN,CAAL,GAAO,IAAlB,CAApB;;AAA4C,UAAG,UAAQt6B,CAAR,IAAWe,CAAC,CAACyyB,OAAF,CAAUxzB,CAAC,CAAC2gC,WAAF,KAAgB,GAA1B,CAAX,EAA0C5/B,CAAC,CAACyyB,OAAF,CAAUmtC,CAAC,GAAC,GAAZ,CAA1C,EAA2DvlC,CAA9D,EAAgE;AAACA,SAAC,CAAC73B,IAAF,CAAO,GAAGwjB,MAAH,CAAUhmB,CAAV,CAAP;AAAqB,YAAI2jB,CAAC,GAAC0W,CAAC,CAACl4B,MAAF,GAAS,GAAf;AAAmBk4B,SAAC,CAAC5gB,MAAF,CAAS,CAAT,EAAW,IAAEkK,CAAF,GAAIA,CAAJ,GAAM,CAAjB;AAAoB;;AAAA,UAAGpC,CAAC,CAACrY,OAAL,EAAa;AAAC,YAAImR,CAAC,GAACkH,CAAC,CAACrY,OAAF,CAAUjK,CAAV,CAAN;AAAmBob,SAAC,IAAE,YAAUpb,CAAb,KAAiBob,CAAC,GAACkH,CAAC,CAACrY,OAAF,CAAUmvD,IAAV,IAAgB92C,CAAC,CAACrY,OAAF,CAAUqU,GAA7C,GAAkDlD,CAAC,IAAEkf,CAAH,IAAMwmC,CAAC,CAACnrD,IAAF,CAAO3V,CAAP,CAAN,IAAiBob,CAAC,CAACI,KAAK,CAACG,OAAN,CAAc5a,CAAd,IAAiB,OAAjB,GAAyB,MAA1B,CAAD,CAAmCuhB,CAAC,CAACrY,OAArC,EAA6ClJ,CAA7C,CAAnE;AAAmH;AAAC,KAArV;AAAsV,GAAzX;;AAA0X,MAAIqyC,CAAC,GAAC,SAASzM,CAAT,CAAW5lC,CAAX,EAAa;AAAC,aAASu5B,CAAT,GAAY;AAAC,WAAI,IAAIt6B,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAzB,EAAsCe,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACf,CAAhD,EAAkDe,CAAC,EAAnD;AAAsD4lC,SAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAAtD;;AAAwE+/D,OAAC,CAAC,KAAD,EAAOp8C,CAAP,EAASiiB,CAAT,CAAD;AAAa;;AAAA,QAAIm6B,CAAJ;AAAA,QAAMp8C,CAAC,GAAC,MAAR;AAAe,WAAOo8C,CAAC,GAAC9gE,CAAC,CAACe,CAAD,EAAGu5B,CAAH,CAAH,EAASA,CAAC,CAACymC,YAAF,GAAe,UAAS/gE,CAAT,EAAW;AAAC,aAAO2mC,CAAC,CAAC5lC,CAAC,GAAC,IAAF,GAAOf,CAAR,CAAR;AAAmB,KAAvD,EAAwDs6B,CAAC,CAACumC,MAAF,GAAS;AAACG,SAAG,EAAC,sBAAL;AAA4B5+D,SAAG,EAAC,EAAhC;AAAmCic,WAAK,EAAC,sBAAzC;AAAgE+6C,UAAI,EAAC,gBAArE;AAAsF55B,UAAI,EAAC,YAA3F;AAAwGv6B,WAAK,EAAC,OAA9G;AAAsHg8D,aAAO,EAACv8C;AAA9H,KAAjE,EAAkM4V,CAAC,CAAC4mC,KAAF,GAAQ,UAASlhE,CAAT,EAAW;AAAC,UAAG,YAAU,OAAOA,CAApB,EAAsB;AAAC,YAAG,CAACs6B,CAAC,CAACumC,MAAF,CAASnuD,cAAT,CAAwB1S,CAAxB,CAAJ,EAA+B,MAAM,IAAIkT,KAAJ,CAAU,MAAIlT,CAAJ,GAAM,4BAAhB,CAAN;AAAoD0kB,SAAC,GAAC1kB,CAAF;AAAI;;AAAA,aAAO0kB,CAAP;AAAS,KAA7U,EAA8U,CAAC4V,CAAC,CAAC6mC,OAAF,GAAU,YAAU;AAAC,aAAO/lC,CAAC,GAAC,GAAGrU,MAAH,CAAUqU,CAAV,CAAD,GAAc,EAAtB;AAAyB,KAA/C,EAAiDh3B,MAAjD,GAAwD,UAASuiC,CAAT,EAAW;AAAC,aAAM,CAACvL,CAAC,IAAE,EAAJ,EAAQh3B,MAAR,CAAe,UAASpE,CAAT,EAAW;AAAC,eAAO,IAAIqtB,MAAJ,CAAW,OAAKsZ,CAAL,GAAO,IAAlB,EAAwBhxB,IAAxB,CAA6B3V,CAAC,CAAC,CAAD,CAA9B,CAAP;AAA0C,OAArE,CAAN;AAA6E,KAA/d,EAAges6B,CAAC,CAAC6mC,OAAF,CAAUC,KAAV,GAAgB,YAAU;AAAChmC,OAAC,KAAGA,CAAC,CAACl4B,MAAF,GAAS,CAAZ,CAAD;AAAgB,KAA3gB,EAA4gBo3B,CAAC,CAAC6mC,OAAF,CAAUtkC,OAAV,GAAkB,YAAU;AAAC,eAAOzB,CAAP,KAAWA,CAAC,CAACl4B,MAAF,GAAS,CAAT,EAAWk4B,CAAC,GAAC,IAAxB;AAA8B,KAAvkB,EAAwkBd,CAAC,CAAC6mC,OAAF,CAAUE,MAAV,GAAiB,YAAU;AAAC,eAAOjmC,CAAP,KAAWA,CAAC,GAAC,EAAb;AAAiB,KAArnB,EAAsnBd,CAAC,CAACr1B,KAAF,GAAQ,YAAU;AAAC,WAAI,IAAIjF,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAzB,EAAsCe,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACf,CAAhD,EAAkDe,CAAC,EAAnD;AAAsD4lC,SAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAAtD;;AAAwE,aAAO+/D,CAAC,CAAC,OAAD,EAASp8C,CAAT,EAAWiiB,CAAX,CAAR;AAAsB,KAAvuB,EAAwuBrM,CAAC,CAACkF,IAAF,GAAO,YAAU;AAAC,WAAI,IAAIx/B,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAzB,EAAsCe,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACf,CAAhD,EAAkDe,CAAC,EAAnD;AAAsD4lC,SAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAAtD;;AAAwE,aAAO+/D,CAAC,CAAC,MAAD,EAAQp8C,CAAR,EAAUiiB,CAAV,CAAR;AAAqB,KAAv1B,EAAw1BrM,CAAC,CAACjc,KAAF,GAAQ,YAAU;AAAC,WAAI,IAAIre,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAzB,EAAsCe,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACf,CAAhD,EAAkDe,CAAC,EAAnD;AAAsD4lC,SAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAAtD;;AAAwE,aAAO+/D,CAAC,CAAC,OAAD,EAASp8C,CAAT,EAAWiiB,CAAX,CAAR;AAAsB,KAAz8B,EAA08BrM,CAAj9B;AAAm9B,GAAllC,CAAmlC,SAAnlC,CAAN;AAAA,MAAomCgnC,CAAC,GAACluB,CAAC,CAAC2tB,YAAxmC;;AAAqnC,WAASp6B,CAAT,CAAW3mC,CAAX,EAAa2mC,CAAb,EAAe;AAAC,WAAO3mC,CAAC,CAAC2mC,CAAC,GAAC;AAAC7mC,aAAO,EAAC;AAAT,KAAH,EAAgB6mC,CAAC,CAAC7mC,OAAlB,CAAD,EAA4B6mC,CAAC,CAAC7mC,OAArC;AAA6C;;AAAA,MAAIghE,CAAC,GAACn6B,CAAC,CAAC,UAAS3mC,CAAT,EAAW;AAAC,aAAS2mC,CAAT,GAAY;AAAC,aAAO3mC,CAAC,CAACF,OAAF,GAAU6mC,CAAC,GAACngC,MAAM,CAAC+6D,MAAP,IAAe,UAASvhE,CAAT,EAAW;AAAC,aAAI,IAAI2mC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACzd,SAAS,CAAChmB,MAAxB,EAA+ByjC,CAAC,EAAhC,EAAmC;AAAC,cAAI5lC,CAAC,GAACmoB,SAAS,CAACyd,CAAD,CAAf;;AAAmB,eAAI,IAAIrM,CAAR,IAAav5B,CAAb;AAAeyF,kBAAM,CAACuT,SAAP,CAAiBrH,cAAjB,CAAgC/M,IAAhC,CAAqC5E,CAArC,EAAuCu5B,CAAvC,MAA4Ct6B,CAAC,CAACs6B,CAAD,CAAD,GAAKv5B,CAAC,CAACu5B,CAAD,CAAlD;AAAf;AAAsE;;AAAA,eAAOt6B,CAAP;AAAS,OAA7K,EAA8K2mC,CAAC,CAACjhC,KAAF,CAAQ,IAAR,EAAawjB,SAAb,CAArL;AAA6M;;AAAAlpB,KAAC,CAACF,OAAF,GAAU6mC,CAAV;AAAY,GAAnP,CAAP;AAAA,MAA4P5lC,CAAC,GAACyF,MAAM,CAACuT,SAAP,CAAiBkN,QAA/Q;AAAA,MAAwRvC,CAAC,GAAC,SAAFA,CAAE,CAAS1kB,CAAT,EAAW;AAAC,WAAO2gE,CAAC,CAAC3gE,CAAD,CAAD,GAAKwG,MAAM,CAAC8pB,IAAP,CAAYtwB,CAAZ,CAAL,GAAoB,EAA3B;AAA8B,GAApU;;AAAqU,WAASob,CAAT,CAAWurB,CAAX,EAAa5lC,CAAb,EAAe;AAAC2jB,KAAC,CAACiiB,CAAD,CAAD,CAAK59B,OAAL,CAAa,UAAS/I,CAAT,EAAW;AAAC,aAAOe,CAAC,CAAC4lC,CAAC,CAAC3mC,CAAD,CAAF,EAAMA,CAAN,CAAR;AAAiB,KAA1C;AAA4C;;AAAA,WAASuvB,CAAT,CAAWxuB,CAAX,EAAa;AAAC,SAAI,IAAIf,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAU,IAAExb,CAAF,GAAIA,CAAC,GAAC,CAAN,GAAQ,CAAlB,CAAzB,EAA8Cs6B,CAAC,GAAC,CAApD,EAAsDA,CAAC,GAACt6B,CAAxD,EAA0Ds6B,CAAC,EAA3D;AAA8DqM,OAAC,CAACrM,CAAC,GAAC,CAAH,CAAD,GAAOpR,SAAS,CAACoR,CAAD,CAAhB;AAA9D;;AAAkF,WAAO9zB,MAAM,CAAC+6D,MAAP,GAAcT,CAAC,CAACp7D,KAAF,CAAQ,KAAK,CAAb,EAAe,CAAC3E,CAAD,EAAIgmB,MAAJ,CAAW4f,CAAX,CAAf,CAAd,IAA6CA,CAAC,CAAC59B,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAACA,OAAC,IAAEob,CAAC,CAACpb,CAAD,EAAG,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC5lC,SAAC,CAAC4lC,CAAD,CAAD,GAAK3mC,CAAL;AAAO,OAAxB,CAAJ;AAA8B,KAApD,GAAsDe,CAAnG,CAAP;AAA6G;;AAAA,WAAS4/D,CAAT,CAAW3gE,CAAX,EAAa;AAAC,WAAM,CAAC,CAACA,CAAF,IAAK,oBAAiBA,CAAjB,CAAX;AAA8B;;AAAA,WAAS4gE,CAAT,CAAW5gE,CAAX,EAAa;AAAC,WAAO2gE,CAAC,CAAC3gE,CAAD,CAAD,IAAM,sBAAoBe,CAAC,CAAC4E,IAAF,CAAO3F,CAAP,CAA1B,IAAqCA,CAAC,CAACwoB,WAAF,KAAgBhiB,MAA5D;AAAmE;;AAAA,WAAS8zB,CAAT,CAAWt6B,CAAX,EAAa2mC,CAAb,EAAe;AAAC,QAAG,CAAC3mC,CAAD,IAAI,CAAC2mC,CAAR,EAAU,OAAM,EAAN;AAAS,QAAG,cAAY,OAAOrkB,CAAC,CAAClF,gBAAxB,EAAyC,OAAM,EAAN;AAAS,QAAIrc,CAAC,GAACuhB,CAAC,CAAClF,gBAAF,CAAmBpd,CAAnB,CAAN;AAA4B,WAAOe,CAAC,GAACA,CAAC,CAAC6uC,gBAAF,CAAmBjJ,CAAnB,KAAuB5lC,CAAC,CAAC4lC,CAAD,CAAzB,GAA6B,EAArC;AAAwC;;AAAA,WAAS66B,CAAT,CAAWxhE,CAAX,EAAa;AAAC,WAAM,YAAU,OAAOA,CAAjB,IAAoByhE,OAAO,CAACzhE,CAAC,CAAC6jD,IAAF,EAAD,CAAjC;AAA4C;;AAAA,WAAS6d,CAAT,CAAW1hE,CAAX,EAAa;AAAC,QAAG,KAAGA,CAAC,CAACmB,OAAF,CAAU,GAAV,CAAN,EAAqB,MAAM,IAAI+R,KAAJ,CAAU,yCAAV,CAAN;AAA2D;;AAAA,WAAS+pB,CAAT,GAAY;AAAC,WAAOwjC,CAAC,KAAGn+C,CAAC,CAACngB,QAAb;AAAsB;;AAAA,WAASg6B,CAAT,CAAWn8B,CAAX,EAAa;AAAC,WAAO2gE,CAAC,CAAC3gE,CAAD,CAAD,IAAM,MAAIA,CAAC,CAAC6c,QAAnB;AAA4B;;AAAA,WAASxB,CAAT,GAAY;AAAC,QAAG;AAAC,aAAOiH,CAAC,CAACrgB,MAAF,KAAWqgB,CAAC,CAACpH,IAApB;AAAyB,KAA7B,CAA6B,OAAMlb,CAAN,EAAQ;AAAC,aAAM,CAAC,CAAP;AAAS;AAAC;;AAAA,WAAS2hE,CAAT,CAAWrnC,CAAX,EAAa;AAAC,WAAO,UAASt6B,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,CAAC66B,CAAC,CAACxhE,CAAD,CAAL,EAAS,OAAOygE,CAAC,CAACnmC,CAAD,CAAD,CAAK,IAAL,CAAP;AAAkBknC,OAAC,CAAC76B,CAAD,CAAD,KAAOA,CAAC,GAAC85B,CAAC,CAACr/C,aAAF,CAAgBulB,CAAhB,CAAT;AAA6B,UAAI5lC,CAAC,GAACo7B,CAAC,CAACwK,CAAD,CAAD,GAAKA,CAAL,GAAO85B,CAAb;AAAe,aAAO1/D,CAAC,CAACu5B,CAAD,CAAD,IAAMv5B,CAAC,CAACu5B,CAAD,CAAD,CAAKt6B,CAAL,CAAb;AAAqB,KAAjH;AAAkH;;AAAA,WAAS4hE,CAAT,CAAW5hE,CAAX,EAAae,CAAb,EAAe4lC,CAAf,EAAiBrM,CAAjB,EAAmB;AAAC,SAAK,CAAL,KAASt6B,CAAT,KAAaA,CAAC,GAAC,KAAf,GAAsB,KAAK,CAAL,KAASe,CAAT,KAAaA,CAAC,GAAC,EAAf,CAAtB,EAAyC,KAAK,CAAL,KAAS4lC,CAAT,KAAaA,CAAC,GAAC,EAAf,CAAzC;AAA4D,QAAIm6B,CAAC,GAACL,CAAC,CAAC1tD,aAAF,CAAgB/S,CAAhB,CAAN;AAAyB,WAAOwG,MAAM,CAACq7D,mBAAP,CAA2B9gE,CAA3B,EAA8BgI,OAA9B,CAAsC,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC5lC,CAAC,CAACf,CAAD,CAAP;AAAW,OAAC,CAAD,KAAKA,CAAC,CAACmB,OAAF,CAAU,OAAV,CAAL,IAAyB,WAASnB,CAAlC,IAAqC,WAASA,CAA9C,IAAiDozC,CAAC,CAAC5T,IAAF,CAAO,8KAA4Kx/B,CAA5K,GAA8K,MAA9K,GAAqL2mC,CAArL,GAAuL,GAA9L,GAAmMm6B,CAAC,CAAC7+C,YAAF,CAAejiB,CAAf,EAAiB2mC,CAAjB,CAApP,IAAyQ,kBAAgB3mC,CAAhB,GAAkB8hE,CAAC,CAAChB,CAAD,EAAGn6B,CAAH,CAAnB,GAAyBm6B,CAAC,CAAC9gE,CAAD,CAAD,KAAO2mC,CAAP,KAAWm6B,CAAC,CAAC9gE,CAAD,CAAD,GAAK2mC,CAAhB,CAAlS;AAAqT,KAAlX,GAAoXngC,MAAM,CAACq7D,mBAAP,CAA2Bl7B,CAA3B,EAA8B59B,OAA9B,CAAsC,UAAS/I,CAAT,EAAW;AAAC8gE,OAAC,CAAC7+C,YAAF,CAAejiB,CAAf,EAAiB2mC,CAAC,CAAC3mC,CAAD,CAAlB;AAAuB,KAAzE,CAApX,EAA+bs6B,CAAC,IAAEynC,CAAC,CAACjB,CAAD,EAAGxmC,CAAH,CAAnc,EAAycwmC,CAAhd;AAAkd;;AAAA,WAASgB,CAAT,CAAW9hE,CAAX,EAAa2mC,CAAb,EAAe;AAAC,WAAM,eAAa,OAAO3mC,CAAC,CAAC+zB,WAAtB,GAAkC/zB,CAAC,CAACgiE,SAAF,GAAYr7B,CAA9C,GAAgD3mC,CAAC,CAAC+zB,WAAF,GAAc4S,CAA9D,EAAgE3mC,CAAtE;AAAwE;;AAAA,WAASiiE,CAAT,CAAWjiE,CAAX,EAAa2mC,CAAb,EAAe;AAACA,KAAC,CAAC3S,UAAF,GAAa2S,CAAC,CAACrzB,YAAF,CAAetT,CAAf,EAAiB2mC,CAAC,CAAC3S,UAAnB,CAAb,GAA4C2S,CAAC,CAACze,WAAF,CAAcloB,CAAd,CAA5C;AAA6D;;AAAA,WAASwmB,CAAT,CAAWxmB,CAAX,EAAa2mC,CAAb,EAAe;AAAC,WAAO+6B,CAAC,CAAC/6B,CAAD,CAAD,EAAK3mC,CAAC,CAAC0X,SAAF,GAAY1X,CAAC,CAAC0X,SAAF,CAAYyU,QAAZ,CAAqBwa,CAArB,CAAZ,GAAoC,UAAS3mC,CAAT,EAAW;AAAC,aAAO,IAAIqtB,MAAJ,CAAW,YAAUrtB,CAAV,GAAY,SAAvB,CAAP;AAAyC,KAArD,CAAsD2mC,CAAtD,EAAyDhxB,IAAzD,CAA8D3V,CAAC,CAACiyB,SAAhE,CAAhD;AAA2H;;AAAA,WAASiwC,CAAT,CAAWliE,CAAX,EAAa2mC,CAAb,EAAe;AAAC,WAAO3mC,CAAC,CAAC0X,SAAF,GAAY1X,CAAC,CAAC0X,SAAF,CAAYvS,GAAZ,CAAgBwhC,CAAhB,CAAZ,GAA+BngB,CAAC,CAACxmB,CAAD,EAAG2mC,CAAH,CAAD,KAAS3mC,CAAC,CAACiyB,SAAF,GAAY,CAACjyB,CAAC,CAACiyB,SAAF,GAAY,GAAZ,GAAgB0U,CAAjB,EAAoBkd,IAApB,EAArB,CAA/B,EAAgF7jD,CAAvF;AAAyF;;AAAA,WAASqiB,CAAT,CAAWriB,CAAX,EAAa2mC,CAAb,EAAe;AAAC,WAAO3mC,CAAC,CAAC0X,SAAF,GAAY1X,CAAC,CAAC0X,SAAF,CAAYpW,MAAZ,CAAmBqlC,CAAnB,CAAZ,IAAmC+6B,CAAC,CAAC/6B,CAAD,CAAD,EAAK3mC,CAAC,CAACiyB,SAAF,GAAYjyB,CAAC,CAACiyB,SAAF,CAAY9G,KAAZ,CAAkB,KAAlB,EAAyB/mB,MAAzB,CAAgC,UAASpE,CAAT,EAAW;AAAC,aAAOA,CAAC,KAAG2mC,CAAX;AAAa,KAAzD,EAA2DxW,IAA3D,CAAgE,GAAhE,CAApD,GAA0HnwB,CAAjI;AAAmI;;AAAA,WAASmiE,CAAT,CAAWniE,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAAC,QAAIu5B,CAAC,GAAC9T,CAAC,CAACxmB,CAAD,EAAG2mC,CAAH,CAAP;AAAa,QAAG,cAAY,OAAO5lC,CAAnB,KAAuBA,CAAC,GAACA,CAAC,CAACf,CAAD,EAAG2mC,CAAH,CAA1B,GAAiC,aAAW,OAAO5lC,CAAlB,KAAsBA,CAAC,GAAC,CAACu5B,CAAzB,CAAjC,EAA6Dv5B,CAAC,KAAGu5B,CAApE,EAAsE,OAAOv5B,CAAC,GAACmhE,CAAC,CAACliE,CAAD,EAAG2mC,CAAH,CAAF,GAAQtkB,CAAC,CAACriB,CAAD,EAAG2mC,CAAH,CAAV,EAAgB3mC,CAAvB;AAAyB;;AAAA,WAASoiE,CAAT,CAAWrhE,CAAX,EAAau5B,CAAb,EAAe;AAAC9zB,UAAM,CAACq7D,mBAAP,CAA2BvnC,CAA3B,EAA8BvxB,OAA9B,CAAsC,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAACrM,CAAC,CAACt6B,CAAD,CAAP;AAAW,eAAO2mC,CAAP,IAAU,eAAa,OAAOA,CAA9B,IAAiC,CAAC,CAAD,KAAKA,CAAtC,GAAwC5lC,CAAC,CAACsvB,eAAF,CAAkBrwB,CAAlB,CAAxC,GAA6De,CAAC,CAACkhB,YAAF,CAAejiB,CAAf,EAAiB,CAAC,CAAD,KAAK2mC,CAAL,GAAO,EAAP,GAAUA,CAA3B,CAA7D;AAA2F,KAAxJ;AAA0J;;AAAA,WAAS07B,CAAT,CAAWriE,CAAX,EAAa;AAAC,QAAI2mC,CAAC,GAAC,EAAN;AAAA,QAAS5lC,CAAC,GAAC,iEAAX;AAA6E,QAAGf,CAAC,IAAEA,CAAC,CAACuG,UAAL,IAAiB,IAAEvG,CAAC,CAACuG,UAAF,CAAarD,MAAnC,EAA0C,KAAI,IAAIo3B,CAAC,GAACt6B,CAAC,CAACuG,UAAR,EAAmBu6D,CAAC,GAACxmC,CAAC,CAACp3B,MAAF,GAAS,CAAlC,EAAoC,KAAG49D,CAAvC,EAAyCA,CAAC,EAA1C,EAA6C;AAAC,UAAIp8C,CAAC,GAAC4V,CAAC,CAACwmC,CAAD,CAAD,CAAKl3C,IAAX;AAAA,UAAgBxO,CAAC,GAACkf,CAAC,CAACwmC,CAAD,CAAD,CAAKz7C,KAAvB;AAA6B,mBAAW,OAAOrlB,CAAC,CAAC0kB,CAAD,CAAnB,IAAwB,CAAC,CAAD,KAAK3jB,CAAC,CAACI,OAAF,CAAU,MAAIujB,CAAJ,GAAM,GAAhB,CAA7B,KAAoDtJ,CAAC,GAAC,SAAOA,CAA7D,GAAgEurB,CAAC,CAACjiB,CAAD,CAAD,GAAKtJ,CAArE;AAAuE;AAAA,WAAOurB,CAAP;AAAS;;AAAA,WAAS27B,CAAT,CAAWtiE,CAAX,EAAa2mC,CAAb,EAAe;AAAC,WAAO3mC,CAAC,CAACqhB,YAAF,CAAeslB,CAAf,CAAP;AAAyB;;AAAA,WAAS47B,CAAT,CAAWviE,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAACf,KAAC,CAACiiB,YAAF,CAAe0kB,CAAf,EAAiB5lC,CAAjB;AAAoB;;AAAA,WAASyhE,CAAT,CAAWxiE,CAAX,EAAa2mC,CAAb,EAAe;AAAC3mC,KAAC,CAACqwB,eAAF,CAAkBsW,CAAlB;AAAqB;;AAAA,WAAS87B,CAAT,GAAY;AAAChC,KAAC,CAAC/8B,IAAF,CAAOwH,KAAP,IAAeu1B,CAAC,CAACiC,aAAF,GAAgB,YAAU;AAAC,aAAM,CAAC,CAAP;AAAS,KAAnD;AAAoD;;AAAA,WAASC,CAAT,GAAY;AAAClC,KAAC,CAACiC,aAAF,GAAgB,YAAU;AAAC,aAAM,CAAC,CAAP;AAAS,KAApC;AAAqC;;AAAA,WAASE,CAAT,CAAW5iE,CAAX,EAAa;AAAC,QAAGA,CAAC,IAAEA,CAAC,CAACokB,qBAAL,IAA4BpkB,CAAC,CAACqT,UAAjC,EAA4C;AAAC,UAAIszB,CAAC,GAAC3mC,CAAC,CAACokB,qBAAF,EAAN;AAAA,UAAgCrjB,CAAC,GAAC,EAAlC;AAAqC,aAAM,CAAC,QAAD,EAAU,QAAV,EAAmB,MAAnB,EAA0B,OAA1B,EAAkC,KAAlC,EAAwC,OAAxC,EAAiDgI,OAAjD,CAAyD,UAAS/I,CAAT,EAAW;AAAC,aAAK,CAAL,KAAS2mC,CAAC,CAAC3mC,CAAD,CAAV,KAAgBe,CAAC,CAACf,CAAD,CAAD,GAAK2mC,CAAC,CAAC3mC,CAAD,CAAtB;AAA2B,OAAhG,GAAkGe,CAAC,CAACgQ,MAAF,KAAWhQ,CAAC,CAACgQ,MAAF,GAASkS,UAAU,CAACqX,CAAC,CAACt6B,CAAD,EAAG,QAAH,CAAF,CAA9B,CAAlG,EAAiJe,CAAC,CAACiQ,KAAF,KAAUjQ,CAAC,CAACiQ,KAAF,GAAQiS,UAAU,CAACqX,CAAC,CAACt6B,CAAD,EAAG,OAAH,CAAF,CAA5B,CAAjJ,EAA6Le,CAAnM;AAAqM;AAAC;;AAAA,WAAS8hE,CAAT,CAAW7iE,CAAX,EAAa;AAAC,QAAI2mC,CAAJ;AAAM,QAAG3mC,CAAC,CAACokB,qBAAF,IAAyBpkB,CAAC,CAACqT,UAA3B,KAAwCszB,CAAC,GAAC3mC,CAAC,CAACokB,qBAAF,EAA1C,GAAqE,CAACuiB,CAAzE,EAA2E,OAAM;AAACxmB,UAAI,EAAC,CAAN;AAAQlM,SAAG,EAAC;AAAZ,KAAN;AAAqB,QAAIlT,CAAC,GAAC0/D,CAAC,CAAC5uC,eAAR;AAAA,QAAwByI,CAAC,GAACmmC,CAAC,CAAC/8B,IAA5B;AAAA,QAAiCo9B,CAAC,GAAC//D,CAAC,CAAC+hE,UAAF,IAAcxoC,CAAC,CAACwoC,UAAhB,IAA4B,CAA/D;AAAA,QAAiEp+C,CAAC,GAACpC,CAAC,CAACogC,WAAF,IAAepoB,CAAC,CAAC3W,UAApF;AAAA,QAA+FvI,CAAC,GAACurB,CAAC,CAACxmB,IAAF,GAAOuE,CAAP,GAASo8C,CAA1G;AAAA,QAA4GH,CAAC,GAAC5/D,CAAC,CAACgiE,SAAF,IAAazoC,CAAC,CAACyoC,SAAf,IAA0B,CAAxI;AAAA,QAA0InC,CAAC,GAACt+C,CAAC,CAACmgC,WAAF,IAAenoB,CAAC,CAACzmB,SAA7J;AAAA,QAAuKunB,CAAC,GAACuL,CAAC,CAAC1yB,GAAF,GAAM2sD,CAAN,GAAQD,CAAjL;AAAmL,WAAM;AAACxgD,UAAI,EAACQ,IAAI,CAACguB,KAAL,CAAWvzB,CAAX,CAAN;AAAoBnH,SAAG,EAAC0M,IAAI,CAACguB,KAAL,CAAWvT,CAAX;AAAxB,KAAN;AAA6C;;AAAA,WAAS4nC,CAAT,CAAWhjE,CAAX,EAAa2mC,CAAb,EAAe;AAAC,QAAI5lC,CAAC,GAAC,EAAN;AAAA,QAASu5B,CAAC,GAACuoC,CAAC,CAAC7iE,CAAD,CAAZ;AAAA,QAAgB8gE,CAAC,GAAC9gE,CAAC,CAACyY,WAApB;AAAA,QAAgCiM,CAAC,GAAC1kB,CAAC,CAACwvC,YAApC;AAAA,QAAiDp0B,CAAC,GAACkf,CAAC,CAACrmB,GAArD;AAAA,QAAyD0sD,CAAC,GAACrmC,CAAC,CAACna,IAA7D;AAAA,QAAkEygD,CAAC,GAACj6B,CAAC,CAACjmB,KAAtE;AAAA,QAA4E0a,CAAC,GAACuL,CAAC,CAAClmB,KAAhF;AAAsF,WAAOkmB,CAAC,CAAC3kB,cAAF,KAAmBoZ,CAAC,GAACuL,CAAC,CAAC3kB,cAAF,CAAiB,CAAjB,EAAoBvB,KAAtB,EAA4BmgD,CAAC,GAACj6B,CAAC,CAAC3kB,cAAF,CAAiB,CAAjB,EAAoBtB,KAArE,GAA4E3f,CAAC,CAACuhB,CAAF,GAAI3B,IAAI,CAACC,GAAL,CAAS,CAAT,EAAWD,IAAI,CAACE,GAAL,CAAS,CAAT,EAAW,CAACzF,CAAC,GAACwlD,CAAF,GAAIl8C,CAAL,IAAQA,CAAnB,CAAX,CAAhF,EAAkH3jB,CAAC,CAACshB,CAAF,GAAI1B,IAAI,CAACC,GAAL,CAAS,CAAT,EAAWD,IAAI,CAACE,GAAL,CAAS,CAAT,EAAW,CAACua,CAAC,GAACulC,CAAH,IAAMG,CAAjB,CAAX,CAAtH,EAAsJ//D,CAA7J;AAA+J;;AAAA,WAAS0oB,CAAT,CAAWzpB,CAAX,EAAa;AAAC,WAAO2gE,CAAC,CAAC3gE,CAAD,CAAD,IAAM,MAAIA,CAAC,CAAC6c,QAAnB;AAA4B;;AAAA,WAASomD,CAAT,CAAWjjE,CAAX,EAAa;AAAC,WAAKA,CAAC,CAACg0B,UAAP;AAAmBh0B,OAAC,CAACmoB,WAAF,CAAcnoB,CAAC,CAACg0B,UAAhB;AAAnB;;AAA+C,WAAOh0B,CAAP;AAAS;;AAAA,WAASkjE,CAAT,CAAWljE,CAAX,EAAa;AAAC,WAAM,cAAY,OAAOA,CAAnB,KAAuBA,CAAC,GAACA,CAAC,EAA1B,GAA8B,CAACwb,KAAK,CAACG,OAAN,CAAc3b,CAAd,IAAiBA,CAAjB,GAAmB,CAACA,CAAD,CAApB,EAAyBipB,GAAzB,CAA6B,UAASjpB,CAAT,EAAW;AAAC,aAAM,cAAY,OAAOA,CAAnB,KAAuBA,CAAC,GAACA,CAAC,EAA1B,GAA8Bm8B,CAAC,CAACn8B,CAAD,CAAD,IAAMypB,CAAC,CAACzpB,CAAD,CAAP,GAAWA,CAAX,GAAa,YAAU,OAAOA,CAAjB,IAAoB,KAAK2V,IAAL,CAAU3V,CAAV,CAApB,GAAiCygE,CAAC,CAACz6B,cAAF,CAAiBhmC,CAAjB,CAAjC,GAAqD,KAAK,CAA3G;AAA6G,KAAtJ,EAAwJoE,MAAxJ,CAA+J,UAASpE,CAAT,EAAW;AAAC,aAAOA,CAAP;AAAS,KAApL,CAApC;AAA0N;;AAAA,WAAS+hE,CAAT,CAAWp7B,CAAX,EAAa3mC,CAAb,EAAe;AAAC,WAAOkjE,CAAC,CAACljE,CAAD,CAAD,CAAK+I,OAAL,CAAa,UAAS/I,CAAT,EAAW;AAAC,aAAO2mC,CAAC,CAACze,WAAF,CAAcloB,CAAd,CAAP;AAAwB,KAAjD,GAAmD2mC,CAA1D;AAA4D;;AAAA,WAASw8B,CAAT,CAAWnjE,CAAX,EAAa2mC,CAAb,EAAe;AAAC,WAAOo7B,CAAC,CAACkB,CAAC,CAACjjE,CAAD,CAAF,EAAM2mC,CAAN,CAAR;AAAiB;;AAAA,WAASy8B,CAAT,CAAWpjE,CAAX,EAAa;AAAC,WAAO,KAAK,CAAL,KAASA,CAAC,CAACwX,MAAX,IAAmB,KAAK,CAAL,KAASxX,CAAC,CAACuqC,OAA9B,IAAwC,MAAIvqC,CAAC,CAACwX,MAAN,IAAc,KAAK,CAAL,KAASxX,CAAC,CAACuqC,OAAzB,IAAmC,cAAYvqC,CAAC,CAACuQ,IAAd,IAAoB,MAAIvQ,CAAC,CAACwX,MAA1B,IAAkC,MAAIxX,CAAC,CAACuqC,OAAxC,IAAiD,MAAIvqC,CAAC,CAACwX,MAAN,IAAc,MAAIxX,CAAC,CAACuqC,OAAvJ;AAAiK;;AAAA,MAAI84B,CAAJ;AAAA,MAAMC,CAAC,GAAC3B,CAAC,CAAC,eAAD,CAAT;AAAA,MAA2B4B,CAAC,GAAC5B,CAAC,CAAC,kBAAD,CAA9B;AAAA,MAAmD6B,CAAC,GAACh9D,MAAM,CAAC0pD,MAAP,CAAc;AAACuT,aAAS,EAAC,IAAX;AAAgBC,UAAM,EAACzmC,CAAvB;AAAyB0mC,QAAI,EAACxnC,CAA9B;AAAgCynC,aAAS,EAACvoD,CAA1C;AAA4CwoD,YAAQ,EAACjC,CAArD;AAAuD7tC,eAAW,EAAC+tC,CAAnE;AAAqE9rD,aAAS,EAACisD,CAA/E;AAAiF7hE,YAAQ,EAAComB,CAA1F;AAA4FxhB,YAAQ,EAACk9D,CAArG;AAAuGzgE,eAAW,EAAC4gB,CAAnH;AAAqHnV,eAAW,EAACi1D,CAAjI;AAAmI2B,iBAAa,EAAC1B,CAAjJ;AAAmJ2B,iBAAa,EAAC1B,CAAjK;AAAmKhhD,gBAAY,EAACihD,CAAhL;AAAkLrgD,gBAAY,EAACsgD,CAA/L;AAAiMlyC,mBAAe,EAACmyC,CAAjN;AAAmNwB,sBAAkB,EAACvB,CAAtO;AAAwOwB,wBAAoB,EAACtB,CAA7P;AAA+Pv+C,yBAAqB,EAACw+C,CAArR;AAAuRsB,gBAAY,EAACrB,CAApS;AAAsSsB,sBAAkB,EAACnB,CAAzT;AAA2ToB,cAAU,EAAC36C,CAAtU;AAAwU46C,WAAO,EAACpB,CAAhV;AAAkVqB,oBAAgB,EAACpB,CAAnW;AAAqWqB,iBAAa,EAACxC,CAAnX;AAAqXyC,iBAAa,EAACrB,CAAnY;AAAqYsB,qBAAiB,EAACrB,CAAvZ;AAAyZljE,KAAC,EAACojE,CAA3Z;AAA6ZoB,MAAE,EAACnB;AAAha,GAAd,CAArD;AAAA,MAAueoB,CAAC,GAAC,CAAC,CAA1e;AAAA,MAA4ezkE,CAAC,GAAC,SAAFA,CAAE,GAAU;AAAC,QAAG+8B,CAAC,MAAI,CAAC,CAAD,KAAKomC,CAAC,CAACtnD,OAAF,CAAU6oD,SAAvB,EAAiC;AAAC,UAAI5kE,CAAC,GAACwb,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2B86D,CAAC,CAACrtD,oBAAF,CAAuB,OAAvB,CAA3B,CAAN;AAAA,UAAkEuzB,CAAC,GAACnrB,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2B86D,CAAC,CAACrtD,oBAAF,CAAuB,OAAvB,CAA3B,CAApE;AAAA,UAAgIrS,CAAC,GAACya,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2B86D,CAAC,CAACrtD,oBAAF,CAAuB,UAAvB,CAA3B,CAAlI;AAAA,UAAiMknB,CAAC,GAACt6B,CAAC,CAAC+mB,MAAF,CAAS4f,CAAT,EAAW5lC,CAAX,CAAnM;AAAiN,UAAGu5B,CAAC,IAAE,IAAEA,CAAC,CAACp3B,MAAV,EAAiB,KAAI,IAAI49D,CAAC,GAAC,CAAN,EAAQp8C,CAAC,GAAC4V,CAAC,CAACp3B,MAAhB,EAAuB49D,CAAC,GAACp8C,CAAzB,EAA2Bo8C,CAAC,EAA5B,EAA+B;AAAC,YAAI1lD,CAAC,GAACkf,CAAC,CAACwmC,CAAD,CAAP;;AAAW,YAAG,CAAC1lD,CAAD,IAAI,CAACA,CAAC,CAACiG,YAAV,EAAuB;AAACwjD,WAAC,CAAC,CAAD,CAAD;AAAK;AAAM;;AAAA,aAAK,CAAL,KAASzpD,CAAC,CAAC5O,MAAX,IAAmB,SAAO4O,CAAC,CAACiG,YAAF,CAAe,YAAf,CAA1B,IAAwDgiD,CAAC,CAACjoD,CAAD,CAAzD;AAA6D,OAA5J,MAAiKupD,CAAC,IAAEE,CAAC,CAAC,CAAD,CAAJ;AAAQ;AAAC,GAAt5B;;AAAu5B,WAASA,CAAT,CAAW7kE,CAAX,EAAa2mC,CAAb,EAAe;AAACA,KAAC,KAAG08B,CAAC,GAAC18B,CAAL,CAAD,EAASrkB,CAAC,CAACxM,UAAF,CAAa5V,CAAb,EAAeF,CAAf,CAAT;AAA2B;;AAAA,WAAS8kE,CAAT,GAAY;AAACH,KAAC,GAAC,CAAC,CAAH,EAAKriD,CAAC,CAACtD,mBAAF,CAAsB,MAAtB,EAA6B8lD,CAA7B,CAAL;AAAqC;;AAAA7nC,GAAC,OAAK,eAAawjC,CAAC,CAAC3gC,UAAf,GAA0BglC,CAAC,EAA3B,GAA8BxiD,CAAC,CAAC1J,gBAAF,CAAmB,MAAnB,EAA0BksD,CAA1B,CAAnC,CAAD;;AAAkE,WAASC,CAAT,CAAW/kE,CAAX,EAAa;AAAC,QAAI2mC,CAAC,GAAC85B,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,CAAN;AAA+B,WAAO4zB,CAAC,CAAC1U,SAAF,GAAYjyB,CAAZ,EAAc2mC,CAArB;AAAuB;;AAAA,WAASq+B,EAAT,CAAYhlE,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC3mC,KAAC,CAAC0lD,UAAF,GAAa1lD,CAAC,CAAC0lD,UAAF,CAAazX,OAAb,GAAqBtH,CAAlC,GAAoC3mC,CAAC,CAAC+zB,WAAF,GAAc4S,CAAlD;AAAoD;;AAAA,MAAIs+B,EAAJ;AAAA,MAAOC,EAAE,GAAC,CAAV;;AAAY,WAASC,EAAT,GAAa;AAAC,WAAOD,EAAE,EAAT;AAAY;;AAAA5iD,GAAC,CAAC8iD,OAAF,KAAYH,EAAE,GAAC,YAAU;AAAC,aAASjlE,CAAT,GAAY;AAAC,WAAKqlE,KAAL,GAAW,UAAQ1kD,IAAI,CAACuE,KAAL,CAAW5C,CAAC,CAACgjD,WAAF,IAAehjD,CAAC,CAACgjD,WAAF,CAAcvgD,GAAd,EAAf,IAAoCqH,IAAI,CAACrH,GAAL,EAA/C,CAAnB,EAA8E,KAAKvkB,IAAL,GAAU,EAAxF;AAA2F;;AAAA,QAAImmC,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACvF,GAAF,GAAM,UAASphC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAACf,CAAC,CAAC,KAAKqlE,KAAN,CAAD,IAAeF,EAAE,EAAvB;AAA0B,aAAOnlE,CAAC,CAAC,KAAKqlE,KAAN,CAAD,KAAgBrlE,CAAC,CAAC,KAAKqlE,KAAN,CAAD,GAActkE,CAA9B,GAAiC,KAAKP,IAAL,CAAUO,CAAV,IAAa4lC,CAA9C,EAAgD,IAAvD;AAA4D,KAA1G,EAA2GA,CAAC,CAACje,GAAF,GAAM,UAAS1oB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC,KAAKqlE,KAAN,CAAP;AAAoB,UAAG1+B,CAAH,EAAK,OAAO,KAAKnmC,IAAL,CAAUmmC,CAAV,CAAP;AAAoByM,OAAC,CAAC,kCAAD,EAAoCpzC,CAApC,CAAD;AAAwC,KAAlN,EAAmN2mC,CAAC,CAACzL,GAAF,GAAM,UAASl7B,CAAT,EAAW;AAAC,aAAOA,CAAC,CAAC,KAAKqlE,KAAN,CAAD,IAAgB,KAAK7kE,IAA5B;AAAiC,KAAtQ,EAAuQmmC,CAAC,UAAD,GAAS,UAAS3mC,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC,KAAKqlE,KAAN,CAAP;AAAoB1+B,OAAC,KAAG,OAAO,KAAKnmC,IAAL,CAAUmmC,CAAV,CAAP,EAAoB,OAAO3mC,CAAC,CAAC,KAAKqlE,KAAN,CAA/B,CAAD;AAA8C,KAA9V,EAA+VrlE,CAAtW;AAAwW,GAA7e,EAAf;AAAggB,MAAIulE,EAAJ;AAAA,MAAOC,EAAE,GAACljD,CAAC,CAAC8iD,OAAF,GAAU,IAAIA,OAAJ,EAAV,GAAsB,IAAIH,EAAJ,EAAhC;;AAAuC,WAASQ,EAAT,CAAYzlE,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAG6+B,EAAE,CAACtqC,GAAH,CAAOl7B,CAAP,CAAH,EAAa;AAAC,UAAIe,CAAC,GAACykE,EAAE,CAAC98C,GAAH,CAAO1oB,CAAP,CAAN;AAAgB,YAAIe,CAAC,CAAC8lC,QAAF,CAAWF,CAAX,EAAczjC,MAAlB,KAA2B,OAAOnC,CAAC,CAAC8lC,QAAF,CAAWF,CAAX,CAAP,EAAqB3mC,CAAC,CAACgf,mBAAF,GAAsBhf,CAAC,CAACgf,mBAAF,CAAsB2nB,CAAtB,EAAwB5lC,CAAC,CAAC2kE,UAA1B,EAAqC,CAAC,CAAtC,CAAtB,GAA+D1lE,CAAC,CAAC2lE,WAAF,IAAe3lE,CAAC,CAAC2lE,WAAF,CAAc,OAAKh/B,CAAnB,EAAqB5lC,CAAC,CAAC2kE,UAAvB,CAA9H,GAAkKl/D,MAAM,CAACq7D,mBAAP,CAA2B9gE,CAAC,CAAC8lC,QAA7B,EAAuC3jC,MAAvC,IAA+C,CAA/C,KAAmD,OAAOnC,CAAC,CAAC8lC,QAAT,EAAkB,OAAO9lC,CAAC,CAAC2kE,UAA3B,EAAsC,OAAO3kE,CAAC,CAACmuB,QAAlG,CAAlK,EAA8Q,MAAI1oB,MAAM,CAACq7D,mBAAP,CAA2B9gE,CAA3B,EAA8BmC,MAAlC,IAA0CsiE,EAAE,UAAF,CAAUxlE,CAAV,CAAxT;AAAqU;AAAC;;AAAA,WAAS4lE,EAAT,CAAYj/B,CAAZ,EAAc5lC,CAAd,EAAgBf,CAAhB,EAAkBs6B,CAAlB,EAAoB;AAACt6B,KAAC,CAAC+I,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC2mC,OAAC,CAAC5lC,CAAD,EAAGf,CAAH,EAAKs6B,CAAL,CAAD;AAAS,KAA/B;AAAiC;;AAAA,WAASurC,EAAT,CAAY7lE,CAAZ,EAAc;AAAC,QAAGA,CAAC,CAAC8lE,MAAL,EAAY,OAAO9lE,CAAP;;AAAS,aAAS2mC,CAAT,GAAY;AAAC,aAAM,CAAC,CAAP;AAAS;;AAAA,aAAS5lC,CAAT,GAAY;AAAC,aAAM,CAAC,CAAP;AAAS;;AAAA,QAAG,CAACf,CAAD,IAAI,CAACA,CAAC,CAACioC,oBAAV,EAA+B;AAAC,UAAI3N,CAAC,GAACt6B,CAAC,IAAEsiB,CAAC,CAAClY,KAAX;;AAAiB,WAAI,IAAI02D,CAAR,IAAa9gE,CAAC,GAAC,EAAF,EAAKs6B,CAAlB;AAAoB,qBAAWwmC,CAAX,IAAc,aAAWA,CAAzB,IAA4B,kBAAgBA,CAA5C,IAA+C,sBAAoBA,CAAnE,IAAsE,sBAAoBA,CAA1F,KAA8F,kBAAgBA,CAAhB,IAAmBxmC,CAAC,CAACrtB,cAArB,KAAsCjN,CAAC,CAAC8gE,CAAD,CAAD,GAAKxmC,CAAC,CAACwmC,CAAD,CAA5C,CAA9F;AAApB;;AAAoK,UAAG9gE,CAAC,CAACsK,MAAF,KAAWtK,CAAC,CAACsK,MAAF,GAAStK,CAAC,CAACmhB,UAAF,IAAcs/C,CAAlC,GAAqCzgE,CAAC,CAAC0pC,aAAF,KAAkB1pC,CAAC,CAAC0pC,aAAF,GAAgB1pC,CAAC,CAAC+lE,WAAF,KAAgB/lE,CAAC,CAACsK,MAAlB,GAAyBtK,CAAC,CAACirC,SAA3B,GAAqCjrC,CAAC,CAAC+lE,WAAzE,CAArC,EAA2H/lE,CAAC,CAACiN,cAAF,GAAiB,YAAU;AAACqtB,SAAC,CAACrtB,cAAF,IAAkBqtB,CAAC,CAACrtB,cAAF,EAAlB,EAAqCjN,CAAC,CAACkpC,WAAF,GAAc,CAAC,CAApD,EAAsD5O,CAAC,CAAC4O,WAAF,GAAc,CAAC,CAArE,EAAuElpC,CAAC,CAACypC,gBAAF,GAAmB,CAAC,CAA3F;AAA6F,OAApP,EAAqPzpC,CAAC,CAACypC,gBAAF,GAAmB,CAAC,CAAzQ,EAA2QzpC,CAAC,CAACqoC,eAAF,GAAkB,YAAU;AAAC/N,SAAC,CAAC+N,eAAF,IAAmB/N,CAAC,CAAC+N,eAAF,EAAnB,EAAuCroC,CAAC,CAACgmE,YAAF,GAAe,CAAC,CAAvD,EAAyD1rC,CAAC,CAAC0rC,YAAF,GAAe,CAAC,CAAzE,EAA2EhmE,CAAC,CAACioC,oBAAF,GAAuBtB,CAAlG;AAAoG,OAA5Y,EAA6Y3mC,CAAC,CAACioC,oBAAF,GAAuBlnC,CAApa,EAAsaf,CAAC,CAACspC,wBAAF,GAA2B,YAAU;AAAChP,SAAC,CAACgP,wBAAF,IAA4BhP,CAAC,CAACgP,wBAAF,EAA5B,EAAyDtpC,CAAC,CAACmoC,6BAAF,GAAgCxB,CAAzF,EAA2F3mC,CAAC,CAACqoC,eAAF,EAA3F;AAA+G,OAA3jB,EAA4jBroC,CAAC,CAACmoC,6BAAF,GAAgCpnC,CAA5lB,EAA8lB,SAAOf,CAAC,CAACwqC,OAAT,IAAkB,KAAK,CAAL,KAASxqC,CAAC,CAACwqC,OAA9nB,EAAsoB;AAAC,YAAI9lB,CAAC,GAAC+7C,CAAC,CAAC5uC,eAAR;AAAA,YAAwBzW,CAAC,GAACqlD,CAAC,CAAC/8B,IAA5B;AAAiC1jC,SAAC,CAACygB,KAAF,GAAQzgB,CAAC,CAACwqC,OAAF,IAAW9lB,CAAC,IAAEA,CAAC,CAACf,UAAL,IAAiBvI,CAAC,IAAEA,CAAC,CAACuI,UAAtB,IAAkC,CAA7C,KAAiDe,CAAC,IAAEA,CAAC,CAACo+C,UAAL,IAAiB1nD,CAAC,IAAEA,CAAC,CAAC0nD,UAAtB,IAAkC,CAAnF,CAAR,EAA8F9iE,CAAC,CAAC0gB,KAAF,GAAQ1gB,CAAC,CAACyqC,OAAF,IAAW/lB,CAAC,IAAEA,CAAC,CAAC7Q,SAAL,IAAgBuH,CAAC,IAAEA,CAAC,CAACvH,SAArB,IAAgC,CAA3C,KAA+C6Q,CAAC,IAAEA,CAAC,CAACq+C,SAAL,IAAgB3nD,CAAC,IAAEA,CAAC,CAAC2nD,SAArB,IAAgC,CAA/E,CAAtG;AAAwL;;AAAA/iE,OAAC,CAAC6hB,KAAF,GAAQ7hB,CAAC,CAACqqC,QAAF,IAAYrqC,CAAC,CAACsqC,OAAtB,EAA8B,SAAOtqC,CAAC,CAACwX,MAAT,IAAiB,KAAK,CAAL,KAASxX,CAAC,CAACwX,MAA5B,KAAqCxX,CAAC,CAACwX,MAAF,GAAS,IAAExX,CAAC,CAACwX,MAAJ,GAAW,CAAX,GAAa,IAAExX,CAAC,CAACwX,MAAJ,GAAW,CAAX,GAAa,IAAExX,CAAC,CAACwX,MAAJ,GAAW,CAAX,GAAa,CAArF,CAA9B;AAAsH;;AAAA,WAAOxX,CAAC,CAAC8lE,MAAF,GAAS,CAAC,CAAV,EAAY9lE,CAAnB;AAAqB;;AAAA,MAAIimE,EAAE,GAAC,SAAHA,EAAG,GAAU;AAAC,QAAG,aAAW,OAAOV,EAArB,EAAwB;AAACA,QAAE,GAAC,CAAC,CAAJ;;AAAM,UAAG;AAAC,YAAIvlE,CAAC,GAACwG,MAAM,CAAC06B,cAAP,CAAsB,EAAtB,EAAyB,SAAzB,EAAmC;AAACxY,aAAG,EAAC,eAAU;AAAC68C,cAAE,GAAC,CAAC,CAAJ;AAAM;AAAtB,SAAnC,CAAN;AAAkEjjD,SAAC,CAAC1J,gBAAF,CAAmB,MAAnB,EAA0B,IAA1B,EAA+B5Y,CAA/B,GAAkCsiB,CAAC,CAACtD,mBAAF,CAAsB,MAAtB,EAA6B,IAA7B,EAAkChf,CAAlC,CAAlC;AAAuE,OAA7I,CAA6I,OAAMA,CAAN,EAAQ,CAAE;AAAC;;AAAA,WAAOulE,EAAP;AAAU,GAAnN;AAAA,MAAoNW,EAAE,GAAC,CAAC,YAAD,EAAc,WAAd,CAAvN;;AAAkP,WAASC,EAAT,CAAY/qD,CAAZ,EAAcpb,CAAd,EAAgB2mC,CAAhB,EAAkB;AAAC,QAAGnrB,KAAK,CAACG,OAAN,CAAc3b,CAAd,CAAH,EAAoB,OAAO4lE,EAAE,CAACO,EAAD,EAAI/qD,CAAJ,EAAMpb,CAAN,EAAQ2mC,CAAR,CAAT;AAAoB6+B,MAAE,CAACtqC,GAAH,CAAO9f,CAAP,KAAWoqD,EAAE,CAACpkC,GAAH,CAAOhmB,CAAP,EAAS,EAAT,CAAX;AAAwB,QAAIulD,CAAC,GAAC6E,EAAE,CAAC98C,GAAH,CAAOtN,CAAP,CAAN;AAAgB,QAAGulD,CAAC,CAAC95B,QAAF,KAAa85B,CAAC,CAAC95B,QAAF,GAAW,EAAxB,GAA4B85B,CAAC,CAAC95B,QAAF,CAAW7mC,CAAX,MAAgB2gE,CAAC,CAAC95B,QAAF,CAAW7mC,CAAX,IAAc,EAA9B,CAA5B,EAA8D2mC,CAAC,CAAC3b,IAAF,KAAS2b,CAAC,CAAC3b,IAAF,GAAOm6C,EAAE,EAAlB,CAA9D,EAAoFxE,CAAC,CAAC95B,QAAF,CAAW7mC,CAAX,EAAcuD,IAAd,CAAmBojC,CAAnB,CAApF,EAA0Gg6B,CAAC,CAAC+E,UAAF,KAAe/E,CAAC,CAACzxC,QAAF,GAAW,CAAC,CAAZ,EAAcyxC,CAAC,CAAC+E,UAAF,GAAa,UAAS1lE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,CAACg6B,CAAC,CAACzxC,QAAN,EAAe;AAAClvB,SAAC,GAAC6lE,EAAE,CAAC7lE,CAAD,CAAJ;AAAQ,YAAIe,CAAC,GAAC4/D,CAAC,CAAC95B,QAAF,CAAW7mC,CAAC,CAACuQ,IAAb,CAAN;AAAyB,YAAGxP,CAAH,EAAK,KAAI,IAAIu5B,CAAC,GAACv5B,CAAC,CAAC4Z,KAAF,CAAQ,CAAR,CAAN,EAAiBmmD,CAAC,GAAC,CAAnB,EAAqBp8C,CAAC,GAAC4V,CAAC,CAACp3B,MAA7B,EAAoC49D,CAAC,GAACp8C,CAAF,IAAK,CAAC1kB,CAAC,CAACmoC,6BAAF,EAA1C,EAA4E24B,CAAC,EAA7E;AAAgF,cAAG;AAACxmC,aAAC,CAACwmC,CAAD,CAAD,CAAKn7D,IAAL,CAAUyV,CAAV,EAAYpb,CAAZ,EAAc2mC,CAAd;AAAiB,WAArB,CAAqB,OAAM3mC,CAAN,EAAQ;AAACozC,aAAC,CAACnuC,KAAF,CAAQjF,CAAR;AAAW;AAAzH;AAA0H;AAAC,KAAzO,CAA1G,EAAqV,MAAI2gE,CAAC,CAAC95B,QAAF,CAAW7mC,CAAX,EAAckD,MAA1W,EAAiX,IAAGkY,CAAC,CAACxC,gBAAL,EAAsB;AAAC,UAAI7X,CAAC,GAAC,CAAC,CAAP;AAASklE,QAAE,MAAI,CAAC,CAAD,GAAGC,EAAE,CAAC/kE,OAAH,CAAWnB,CAAX,CAAT,KAAyBe,CAAC,GAAC;AAACknD,eAAO,EAAC,CAAC;AAAV,OAA3B,GAAyC7sC,CAAC,CAACxC,gBAAF,CAAmB5Y,CAAnB,EAAqB2gE,CAAC,CAAC+E,UAAvB,EAAkC3kE,CAAlC,CAAzC;AAA8E,KAA9G,MAAmHqa,CAAC,CAAC4W,WAAF,IAAe5W,CAAC,CAAC4W,WAAF,CAAc,OAAKhyB,CAAnB,EAAqB2gE,CAAC,CAAC+E,UAAvB,CAAf;AAAkD;;AAAA,WAASU,EAAT,CAAYpmE,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAGykE,EAAE,CAACtqC,GAAH,CAAOl7B,CAAP,CAAH,EAAa;AAAC,UAAIs6B,CAAC,GAACkrC,EAAE,CAAC98C,GAAH,CAAO1oB,CAAP,CAAN;;AAAgB,UAAGs6B,CAAC,CAACuM,QAAL,EAAc;AAAC,YAAGrrB,KAAK,CAACG,OAAN,CAAcgrB,CAAd,CAAH,EAAoB,OAAOi/B,EAAE,CAACQ,EAAD,EAAIpmE,CAAJ,EAAM2mC,CAAN,EAAQ5lC,CAAR,CAAT;;AAAoB,YAAI+/D,CAAC,GAAC,SAAFA,CAAE,CAAS9gE,CAAT,EAAW2mC,CAAX,EAAa;AAACrM,WAAC,CAACuM,QAAF,CAAWF,CAAX,IAAc,EAAd,EAAiB8+B,EAAE,CAACzlE,CAAD,EAAG2mC,CAAH,CAAnB;AAAyB,SAA7C;;AAA8C,YAAG,KAAK,CAAL,KAASA,CAAZ,EAAc;AAAC,cAAIjiB,CAAC,GAAC4V,CAAC,CAACuM,QAAF,CAAWF,CAAX,CAAN;AAAoB,cAAGjiB,CAAH,EAAK,IAAG3jB,CAAH,EAAK;AAAC,gBAAGA,CAAC,CAACiqB,IAAL,EAAU,KAAI,IAAI5P,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACsJ,CAAC,CAACxhB,MAAhB,EAAuBkY,CAAC,EAAxB;AAA2BsJ,eAAC,CAACtJ,CAAD,CAAD,CAAK4P,IAAL,KAAYjqB,CAAC,CAACiqB,IAAd,IAAoBtG,CAAC,CAAClK,MAAF,CAASY,CAAC,EAAV,EAAa,CAAb,CAApB;AAA3B;AAA+DqqD,cAAE,CAACzlE,CAAD,EAAG2mC,CAAH,CAAF;AAAQ,WAAvF,MAA4Fm6B,CAAC,CAAC9gE,CAAD,EAAG2mC,CAAH,CAAD;AAAO,SAA3I,MAAgJ,KAAI,IAAIg6B,CAAR,IAAarmC,CAAC,CAACuM,QAAf;AAAwBrgC,gBAAM,CAACuT,SAAP,CAAiBrH,cAAjB,CAAgC/M,IAAhC,CAAqC20B,CAAC,CAACuM,QAAF,IAAY,EAAjD,EAAoD85B,CAApD,KAAwDG,CAAC,CAAC9gE,CAAD,EAAG2gE,CAAH,CAAzD;AAAxB;AAAuF;AAAC;AAAC;;AAAA,WAAS0F,EAAT,CAAYrmE,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAC,GAACkrC,EAAE,CAACtqC,GAAH,CAAOl7B,CAAP,IAAUwlE,EAAE,CAAC98C,GAAH,CAAO1oB,CAAP,CAAV,GAAoB,EAA1B;AAAA,QAA6B8gE,CAAC,GAAC9gE,CAAC,CAACqT,UAAF,IAAcrT,CAAC,CAAC6vB,aAA/C;AAA6D,QAAG,YAAU,OAAO8W,CAAjB,GAAmBA,CAAC,GAAC;AAACp2B,UAAI,EAACo2B,CAAN;AAAQr8B,YAAM,EAACtK;AAAf,KAArB,GAAuC2mC,CAAC,CAACr8B,MAAF,KAAWq8B,CAAC,CAACr8B,MAAF,GAAStK,CAApB,CAAvC,EAA8D2mC,CAAC,GAACk/B,EAAE,CAACl/B,CAAD,CAAlE,EAAsErM,CAAC,CAACorC,UAAF,IAAcprC,CAAC,CAACorC,UAAF,CAAa//D,IAAb,CAAkB3F,CAAlB,EAAoB2mC,CAApB,EAAsB5lC,CAAtB,CAApF,EAA6G+/D,CAAC,IAAE,CAACn6B,CAAC,CAACsB,oBAAF,EAAJ,IAA8B,CAAC,CAAD,KAAKtB,CAAC,CAACmD,OAArJ,EAA6Ju8B,EAAE,CAAC1gE,IAAH,CAAQ,IAAR,EAAam7D,CAAb,EAAen6B,CAAf,EAAiB5lC,CAAjB,EAA7J,KAAsL,IAAG,CAAC+/D,CAAD,IAAI,CAACn6B,CAAC,CAAC8C,gBAAP,IAAyB9C,CAAC,CAACr8B,MAA3B,IAAmCq8B,CAAC,CAACr8B,MAAF,CAASq8B,CAAC,CAACp2B,IAAX,CAAtC,EAAuD;AAACi1D,QAAE,CAACtqC,GAAH,CAAOyL,CAAC,CAACr8B,MAAT,KAAkBk7D,EAAE,CAACpkC,GAAH,CAAOuF,CAAC,CAACr8B,MAAT,EAAgB,EAAhB,CAAlB;AAAsC,UAAIoa,CAAC,GAAC8gD,EAAE,CAAC98C,GAAH,CAAOie,CAAC,CAACr8B,MAAT,CAAN;AAAuBq8B,OAAC,CAACr8B,MAAF,CAASq8B,CAAC,CAACp2B,IAAX,MAAmBmU,CAAC,CAACwK,QAAF,GAAW,CAAC,CAAZ,EAAc,cAAY,OAAOyX,CAAC,CAACr8B,MAAF,CAASq8B,CAAC,CAACp2B,IAAX,CAAnB,IAAqCo2B,CAAC,CAACr8B,MAAF,CAASq8B,CAAC,CAACp2B,IAAX,GAAnD,EAAsEmU,CAAC,CAACwK,QAAF,GAAW,CAAC,CAArG;AAAwG;AAAA,WAAM,CAACyX,CAAC,CAAC8C,gBAAT;AAA0B;;AAAA,WAAS68B,EAAT,CAAYtmE,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAGya,KAAK,CAACG,OAAN,CAAcgrB,CAAd,CAAH,EAAoB,OAAOi/B,EAAE,CAACU,EAAD,EAAItmE,CAAJ,EAAM2mC,CAAN,EAAQ5lC,CAAR,CAAT;;AAAoB,aAASu5B,CAAT,GAAY;AAAC8rC,QAAE,CAACpmE,CAAD,EAAG2mC,CAAH,EAAKrM,CAAL,CAAF,EAAUv5B,CAAC,CAAC2E,KAAF,CAAQ,IAAR,EAAawjB,SAAb,CAAV;AAAkC;;AAAAoR,KAAC,CAACtP,IAAF,GAAOjqB,CAAC,CAACiqB,IAAF,GAAOjqB,CAAC,CAACiqB,IAAF,IAAQm6C,EAAE,EAAxB,EAA2BgB,EAAE,CAACnmE,CAAD,EAAG2mC,CAAH,EAAKrM,CAAL,CAA7B;AAAqC;;AAAA,WAASisC,EAAT,CAAYvmE,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,aAASu5B,CAAT,GAAY;AAAC8rC,QAAE,CAACpmE,CAAD,EAAG2mC,CAAH,EAAKrM,CAAL,CAAF,EAAUv5B,CAAC,CAAC2E,KAAF,CAAQ,IAAR,EAAawjB,SAAb,CAAV;AAAkC;;AAAAoR,KAAC,CAACtP,IAAF,GAAOjqB,CAAC,CAACiqB,IAAF,GAAOjqB,CAAC,CAACiqB,IAAF,IAAQm6C,EAAE,EAAxB,EAA2BgB,EAAE,CAACnmE,CAAD,EAAG2mC,CAAH,EAAKrM,CAAL,CAA7B;AAAqC;;AAAA,WAASksC,EAAT,CAAYxmE,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC4lC,KAAC,CAAC3b,IAAF,KAAS2b,CAAC,CAAC3b,IAAF,GAAOm6C,EAAE,EAAlB;AAAsB,QAAI7qC,CAAC,GAACqM,CAAC,CAACpqB,IAAF,CAAOvc,CAAP,CAAN;AAAgB,WAAOs6B,CAAC,CAACtP,IAAF,GAAOjqB,CAAC,GAACA,CAAC,GAAC,GAAF,GAAM4lC,CAAC,CAAC3b,IAAT,GAAc2b,CAAC,CAAC3b,IAAxB,EAA6BsP,CAApC;AAAsC;;AAAA,WAASmsC,EAAT,CAAY9/B,CAAZ,EAAc5lC,CAAd,EAAgB;AAAC,QAAIu5B,CAAC,GAAChY,CAAC,CAACgjD,WAAF,CAAcvgD,GAAd,EAAN;AAA0B,WAAO,YAAU;AAAC,UAAI/kB,CAAC,GAACsiB,CAAC,CAACgjD,WAAF,CAAcvgD,GAAd,EAAN;AAA0BhkB,OAAC,IAAEf,CAAC,GAACs6B,CAAL,KAASqM,CAAC,CAACjhC,KAAF,CAAQ,KAAK,CAAb,EAAewjB,SAAf,GAA0BoR,CAAC,GAACt6B,CAArC;AAAwC,KAApF;AAAqF;;AAAA,WAAS0mE,EAAT,GAAa,CAAE;;AAAA,MAAIC,EAAJ;AAAA,MAAOC,EAAE,GAACpgE,MAAM,CAAC0pD,MAAP,CAAc;AAACuT,aAAS,EAAC,IAAX;AAAgBoD,YAAQ,EAAChB,EAAzB;AAA4BxjE,MAAE,EAAC8jE,EAA/B;AAAkC/jE,OAAG,EAACgkE,EAAtC;AAAyC7gE,WAAO,EAAC8gE,EAAjD;AAAoD9kD,OAAG,EAAC+kD,EAAxD;AAA2DQ,OAAG,EAACP;AAA/D,GAAd,CAAV;;AAA4FG,IAAE,CAAC3sD,SAAH,CAAagtD,cAAb,GAA4B,EAA5B,EAA+BL,EAAE,CAAC3sD,SAAH,CAAanB,gBAAb,GAA8B8tD,EAAE,CAAC3sD,SAAH,CAAa1X,EAAb,GAAgB,UAASrC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAC,GAAC,KAAK6X,gBAAX;AAA4B,SAAKA,gBAAL,GAAsB,YAAU,CAAE,CAAlC,EAAmCutD,EAAE,CAAC,IAAD,EAAMnmE,CAAN,EAAQ2mC,CAAR,CAArC,EAAgD,KAAK/tB,gBAAL,GAAsB7X,CAAtE;AAAwE,GAA/L,EAAgM2lE,EAAE,CAAC3sD,SAAH,CAAaiF,mBAAb,GAAiC0nD,EAAE,CAAC3sD,SAAH,CAAa3X,GAAb,GAAiB,UAASpC,CAAT,EAAW2mC,CAAX,EAAa;AAACy/B,MAAE,CAAC,IAAD,EAAMpmE,CAAN,EAAQ2mC,CAAR,CAAF;AAAa,GAA7Q,EAA8Q+/B,EAAE,CAAC3sD,SAAH,CAAawH,GAAb,GAAiB,UAASvhB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAC,GAAC,KAAK6X,gBAAX;AAA4B,SAAKA,gBAAL,GAAsB,YAAU,CAAE,CAAlC,EAAmC0tD,EAAE,CAAC,IAAD,EAAMtmE,CAAN,EAAQ2mC,CAAR,CAArC,EAAgD,KAAK/tB,gBAAL,GAAsB7X,CAAtE;AAAwE,GAAjZ,EAAkZ2lE,EAAE,CAAC3sD,SAAH,CAAa+sD,GAAb,GAAiB,UAAS9mE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAC,GAAC,KAAK6X,gBAAX;AAA4B,SAAKA,gBAAL,GAAsB,YAAU,CAAE,CAAlC,EAAmC2tD,EAAE,CAAC,IAAD,EAAMvmE,CAAN,EAAQ2mC,CAAR,CAArC,EAAgD,KAAK/tB,gBAAL,GAAsB7X,CAAtE;AAAwE,GAArhB,EAAshB2lE,EAAE,CAAC3sD,SAAH,CAAaitD,aAAb,GAA2BN,EAAE,CAAC3sD,SAAH,CAAaxU,OAAb,GAAqB,UAASvF,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAACuQ,IAAF,IAAQvQ,CAAd;AAAgB,gBAAU,OAAOA,CAAjB,KAAqBA,CAAC,GAAC;AAACuQ,UAAI,EAACo2B;AAAN,KAAvB,GAAiC3mC,CAAC,GAAC6lE,EAAE,CAAC7lE,CAAD,CAArC,EAAyC,KAAK+mE,cAAL,CAAoBpgC,CAApB,KAAwB,KAAK,OAAKA,CAAV,CAAxB,IAAsC,KAAK,OAAKA,CAAV,EAAa3mC,CAAb,CAA/E,EAA+FqmE,EAAE,CAAC,IAAD,EAAMrmE,CAAN,CAAjG;AAA0G,GAA5sB,EAA6sB0mE,EAAE,CAAC3sD,SAAH,CAAaktD,YAAb,GAA0B,UAASjnE,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAAC,IAAN;AAAWggC,MAAE,GAACA,EAAE,IAAE,IAAIO,GAAJ,EAAP;;AAAe,QAAInmE,CAAC,GAACf,CAAC,CAACuQ,IAAF,IAAQvQ,CAAd;AAAA,QAAgBs6B,CAAC,GAACqsC,EAAE,CAACj+C,GAAH,CAAO,IAAP,CAAlB;;AAA+B4R,KAAC,KAAGA,CAAC,GAAC,IAAI4sC,GAAJ,EAAF,EAAUP,EAAE,CAACvlC,GAAH,CAAO,IAAP,EAAY9G,CAAZ,CAAb,CAAD;AAA8B,QAAIwmC,CAAC,GAACxmC,CAAC,CAAC5R,GAAF,CAAM3nB,CAAN,CAAN;AAAeu5B,KAAC,UAAD,CAASv5B,CAAT,GAAYuhB,CAAC,CAACy0B,YAAF,CAAe+pB,CAAf,CAAZ;AAA8B,QAAIp8C,CAAC,GAACpC,CAAC,CAACxM,UAAF,CAAa,YAAU;AAAC,YAAIwkB,CAAC,CAACrU,IAAN,KAAaqU,CAAC,GAAC,IAAF,EAAOqsC,EAAE,UAAF,CAAUhgC,CAAV,CAApB,GAAkCA,CAAC,CAACphC,OAAF,CAAUvF,CAAV,CAAlC;AAA+C,KAAvE,EAAwE,CAAxE,CAAN;AAAiFs6B,KAAC,CAAC8G,GAAF,CAAMrgC,CAAN,EAAQ2jB,CAAR;AAAW,GAAn9B;;AAAo9B,WAASyiD,EAAT,CAAYnnE,CAAZ,EAAc;AAAC,WAAM,YAAU,OAAOA,CAAjB,IAAoB,KAAK2V,IAAL,CAAU3V,CAAV,CAApB,IAAkCwb,KAAK,CAACG,OAAN,CAAc3b,CAAd,KAAkB,CAAC,CAACA,CAAC,CAACkD,MAA9D;AAAqE;;AAAA,WAASkkE,EAAT,CAAYpnE,CAAZ,EAAc;AAAC,QAAG,CAACA,CAAC,CAAC0c,QAAH,IAAa,CAAC2qD,EAAE,CAACrnE,CAAD,CAAnB,EAAuB,MAAM,IAAIkT,KAAJ,CAAU,uDAAV,CAAN;AAAyE;;AAAA,WAASo0D,EAAT,CAAYtnE,CAAZ,EAAc;AAAC,QAAG,CAACmnE,EAAE,CAACnnE,CAAD,CAAN,EAAU,MAAM,IAAIkT,KAAJ,CAAU,0DAAV,CAAN;AAA4E;;AAAA,WAASq0D,EAAT,CAAYvnE,CAAZ,EAAc;AAAC,QAAG,cAAY,OAAOA,CAAtB,EAAwB,MAAM,IAAIkT,KAAJ,CAAU,uCAAV,CAAN;AAAyD;;AAAA,WAASs0D,EAAT,CAAYxnE,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAJ;AAAA,QAAMu5B,CAAN;AAAA,QAAQwmC,CAAR;AAAA,QAAUp8C,CAAC,GAACiiB,CAAC,CAACzjC,MAAF,GAAS,CAAT,IAAYyjC,CAAC,CAAC,CAAD,CAAD,KAAO3mC,CAAnB,IAAsB2mC,CAAC,CAAC,CAAD,CAAD,KAAO3mC,CAAC,CAACynE,WAA3C;AAAuD,WAAO3G,CAAC,GAACp8C,CAAC,IAAE3jB,CAAC,GAACf,CAAC,CAACynE,WAAJ,EAAgB,KAAG9gC,CAAC,CAACzjC,MAAL,IAAayjC,CAAC,CAACnW,KAAF,EAA7B,EAAuC8J,CAAC,GAACqM,CAAC,CAAC,CAAD,CAA1C,EAA8CA,CAAC,CAAC,CAAD,CAAjD,KAAuD5lC,CAAC,GAAC4lC,CAAC,CAAC,CAAD,CAAH,EAAOrM,CAAC,GAACqM,CAAC,CAAC,CAAD,CAAV,EAAcA,CAAC,CAAC,CAAD,CAAtE,CAAH,EAA8EygC,EAAE,CAACrmE,CAAD,CAAhF,EAAoFumE,EAAE,CAAChtC,CAAD,CAAtF,EAA0FitC,EAAE,CAACzG,CAAD,CAA5F,EAAgG;AAAC4G,qBAAe,EAAChjD,CAAjB;AAAmBpa,YAAM,EAACvJ,CAA1B;AAA4BwP,UAAI,EAAC+pB,CAAjC;AAAmCrgB,cAAQ,EAAC6mD,CAAC,GAAC0F,EAAE,CAACxmE,CAAD,EAAG8gE,CAAH;AAAhD,KAAvG;AAA8J;;AAAA,WAAS6G,EAAT,CAAY3nE,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoB;AAAC8sC,MAAE,CAACpnE,CAAD,CAAF,EAAMA,CAAC,CAAC0c,QAAF,GAAWkqD,EAAE,CAACjgC,CAAD,CAAF,CAAM3mC,CAAN,EAAQe,CAAR,EAAUu5B,CAAV,CAAX,GAAwBt6B,CAAC,CAAC2mC,CAAD,CAAD,CAAK5lC,CAAL,EAAOu5B,CAAP,CAA9B;AAAwC;;AAAA,MAAI+sC,EAAE,GAAC,SAAHA,EAAG,CAAS1gC,CAAT,EAAW;AAAC,WAAOA,CAAC,YAAY+/B,EAAb,IAAiB,CAAC,CAAC//B,CAAC,CAAC8gC,WAAJ,IAAiB,CAAC,IAAD,EAAM,KAAN,EAAY,KAAZ,EAAkB,SAAlB,EAA6BG,KAA7B,CAAmC,UAAS5nE,CAAT,EAAW;AAAC,aAAM,cAAY,OAAO2mC,CAAC,CAAC3mC,CAAD,CAA1B;AAA8B,KAA7E,CAAzC;AAAwH,GAA3I;AAAA,MAA4I6nE,EAAE,GAAC;AAACxlE,MAAE,EAAC,cAAU;AAAC,WAAI,IAAIrC,CAAC,GAAC,IAAN,EAAW2mC,CAAC,GAACzd,SAAS,CAAChmB,MAAvB,EAA8BnC,CAAC,GAAC,IAAIya,KAAJ,CAAUmrB,CAAV,CAAhC,EAA6CrM,CAAC,GAAC,CAAnD,EAAqDA,CAAC,GAACqM,CAAvD,EAAyDrM,CAAC,EAA1D;AAA6Dv5B,SAAC,CAACu5B,CAAD,CAAD,GAAKpR,SAAS,CAACoR,CAAD,CAAd;AAA7D;;AAA+E,UAAIwmC,CAAC,GAAC0G,EAAE,CAAC,IAAD,EAAMzmE,CAAN,CAAR;AAAA,UAAiB2jB,CAAC,GAACo8C,CAAC,CAAC4G,eAArB;AAAA,UAAqCtsD,CAAC,GAAC0lD,CAAC,CAACx2D,MAAzC;AAAA,UAAgDq2D,CAAC,GAACG,CAAC,CAACvwD,IAApD;AAAA,UAAyDqwD,CAAC,GAACE,CAAC,CAAC7mD,QAA7D;;AAAsE,UAAG0tD,EAAE,CAACvsD,CAAD,EAAG,IAAH,EAAQulD,CAAR,EAAUC,CAAV,CAAF,EAAe,CAACl8C,CAAnB,EAAqB;AAAC,YAAI0W,CAAC,GAAC,SAAFA,CAAE,GAAU;AAAC,iBAAOp7B,CAAC,CAACoC,GAAF,CAAMgZ,CAAN,EAAQulD,CAAR,EAAUC,CAAV,CAAP;AAAoB,SAArC;;AAAsCxlC,SAAC,CAACpQ,IAAF,GAAO41C,CAAC,CAAC51C,IAAT;;AAAc,YAAIw2C,CAAC,GAAC,SAAFA,CAAE,GAAU;AAAC,iBAAOxhE,CAAC,CAACoC,GAAF,CAAM,SAAN,EAAgBg5B,CAAhB,CAAP;AAA0B,SAA3C;;AAA4ComC,SAAC,CAACx2C,IAAF,GAAO41C,CAAC,CAAC51C,IAAT,EAAc28C,EAAE,CAAC,IAAD,EAAM,IAAN,EAAW,SAAX,EAAqBvsC,CAArB,CAAhB,EAAwCusC,EAAE,CAACvsD,CAAD,EAAG,IAAH,EAAQ,SAAR,EAAkBomD,CAAlB,CAA1C;AAA+D;AAAC,KAA1V;AAA2VjgD,OAAG,EAAC,eAAU;AAAC,WAAI,IAAIu/C,CAAC,GAAC,IAAN,EAAW9gE,CAAC,GAACkpB,SAAS,CAAChmB,MAAvB,EAA8ByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAhC,EAA6Ce,CAAC,GAAC,CAAnD,EAAqDA,CAAC,GAACf,CAAvD,EAAyDe,CAAC,EAA1D;AAA6D4lC,SAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAA7D;;AAA+E,UAAIu5B,CAAC,GAACktC,EAAE,CAAC,IAAD,EAAM7gC,CAAN,CAAR;AAAA,UAAiBjiB,CAAC,GAAC4V,CAAC,CAACotC,eAArB;AAAA,UAAqCtsD,CAAC,GAACkf,CAAC,CAAChwB,MAAzC;AAAA,UAAgDq2D,CAAC,GAACrmC,CAAC,CAAC/pB,IAApD;AAAA,UAAyDqwD,CAAC,GAACtmC,CAAC,CAACrgB,QAA7D;AAAsE,UAAGyK,CAAH,EAAKijD,EAAE,CAACvsD,CAAD,EAAG,KAAH,EAASulD,CAAT,EAAWC,CAAX,CAAF,CAAL,KAAyB;AAAC,YAAIxlC,CAAC,GAAC,SAASp7B,CAAT,GAAY;AAAC8gE,WAAC,CAAC1+D,GAAF,CAAMgZ,CAAN,EAAQulD,CAAR,EAAU3gE,CAAV;;AAAa,eAAI,IAAI2mC,CAAC,GAACzd,SAAS,CAAChmB,MAAhB,EAAuBnC,CAAC,GAAC,IAAIya,KAAJ,CAAUmrB,CAAV,CAAzB,EAAsCrM,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACqM,CAAhD,EAAkDrM,CAAC,EAAnD;AAAsDv5B,aAAC,CAACu5B,CAAD,CAAD,GAAKpR,SAAS,CAACoR,CAAD,CAAd;AAAtD;;AAAwEsmC,WAAC,CAACl7D,KAAF,CAAQ,IAAR,EAAa3E,CAAb;AAAgB,SAAxH;;AAAyHq6B,SAAC,CAACpQ,IAAF,GAAO41C,CAAC,CAAC51C,IAAT,EAAc28C,EAAE,CAACvsD,CAAD,EAAG,KAAH,EAASulD,CAAT,EAAWvlC,CAAX,CAAhB;AAA8B;AAAC,KAAjrB;AAAkrB0rC,OAAG,EAAC,eAAU;AAAC,WAAI,IAAIhG,CAAC,GAAC,IAAN,EAAW9gE,CAAC,GAACkpB,SAAS,CAAChmB,MAAvB,EAA8ByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAhC,EAA6Ce,CAAC,GAAC,CAAnD,EAAqDA,CAAC,GAACf,CAAvD,EAAyDe,CAAC,EAA1D;AAA6D4lC,SAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAA7D;;AAA+E,UAAIu5B,CAAC,GAACktC,EAAE,CAAC,IAAD,EAAM7gC,CAAN,CAAR;AAAA,UAAiBjiB,CAAC,GAAC4V,CAAC,CAACotC,eAArB;AAAA,UAAqCtsD,CAAC,GAACkf,CAAC,CAAChwB,MAAzC;AAAA,UAAgDq2D,CAAC,GAACrmC,CAAC,CAAC/pB,IAApD;AAAA,UAAyDqwD,CAAC,GAACtmC,CAAC,CAACrgB,QAA7D;AAAsE,UAAGyK,CAAH,EAAKijD,EAAE,CAACvsD,CAAD,EAAG,KAAH,EAASulD,CAAT,EAAWC,CAAX,CAAF,CAAL,KAAyB;AAAC,YAAIxlC,CAAC,GAAC,SAASp7B,CAAT,GAAY;AAAC8gE,WAAC,CAAC1+D,GAAF,CAAMgZ,CAAN,EAAQulD,CAAR,EAAU3gE,CAAV;;AAAa,eAAI,IAAI2mC,CAAC,GAACzd,SAAS,CAAChmB,MAAhB,EAAuBnC,CAAC,GAAC,IAAIya,KAAJ,CAAUmrB,CAAV,CAAzB,EAAsCrM,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACqM,CAAhD,EAAkDrM,CAAC,EAAnD;AAAsDv5B,aAAC,CAACu5B,CAAD,CAAD,GAAKpR,SAAS,CAACoR,CAAD,CAAd;AAAtD;;AAAwEsmC,WAAC,CAACl7D,KAAF,CAAQ,IAAR,EAAa3E,CAAb;AAAgB,SAAxH;;AAAyHq6B,SAAC,CAACpQ,IAAF,GAAO41C,CAAC,CAAC51C,IAAT,EAAc28C,EAAE,CAACvsD,CAAD,EAAG,KAAH,EAASulD,CAAT,EAAWvlC,CAAX,CAAhB;AAA8B;AAAC,KAAxgC;AAAygCh5B,OAAG,EAAC,aAASpC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAG,CAACf,CAAD,IAAImnE,EAAE,CAACnnE,CAAD,CAAT,EAAaomE,EAAE,CAAC,KAAKqB,WAAN,EAAkBznE,CAAlB,EAAoB2mC,CAApB,CAAF,CAAb,KAA0C;AAAC,YAAIrM,CAAC,GAACt6B,CAAN;AAAA,YAAQ8gE,CAAC,GAACn6B,CAAV;AAAYygC,UAAE,CAAC9sC,CAAD,CAAF,EAAMgtC,EAAE,CAACxG,CAAD,CAAR,EAAYyG,EAAE,CAACxmE,CAAD,CAAd,EAAkBA,CAAC,GAACylE,EAAE,CAAC,IAAD,EAAMzlE,CAAN,CAAtB,EAA+B,KAAKqB,GAAL,CAAS,SAAT,EAAmBrB,CAAnB,CAA/B,EAAqDu5B,CAAC,CAAC5d,QAAF,IAAY0pD,EAAE,CAAC9rC,CAAD,EAAGwmC,CAAH,EAAK//D,CAAL,CAAF,EAAUqlE,EAAE,CAAC9rC,CAAD,EAAG,SAAH,EAAav5B,CAAb,CAAxB,IAAyCsmE,EAAE,CAAC/sC,CAAD,CAAF,KAAQA,CAAC,CAACl4B,GAAF,CAAM0+D,CAAN,EAAQ//D,CAAR,GAAWu5B,CAAC,CAACl4B,GAAF,CAAM,SAAN,EAAgBrB,CAAhB,CAAnB,CAA9F;AAAqI;AAAC,KAA1tC;AAA2tCwE,WAAO,EAAC,iBAASvF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO0/B,EAAE,CAAC,KAAKoB,WAAN,EAAkBznE,CAAlB,EAAoB2mC,CAApB,CAAT;AAAgC;AAAjxC,GAA/I;;AAAk6C,WAASmhC,EAAT,CAAY9nE,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,QAAI5lC,CAAC,GAAC4lC,CAAC,CAACohC,WAAR;;AAAoB,QAAGhnE,CAAH,EAAK;AAAC,UAAG,CAACf,CAAC,CAACe,CAAD,CAAD,CAAK2b,QAAT,EAAkB,MAAM,IAAIxJ,KAAJ,CAAU,sBAAoBnS,CAApB,GAAsB,iCAAhC,CAAN;AAAyEf,OAAC,CAACynE,WAAF,GAAcznE,CAAC,CAACe,CAAD,CAAf;AAAmB,KAApH,MAAyHf,CAAC,CAACynE,WAAF,GAAc7F,CAAC,CAAC,MAAD,EAAQ;AAAC3vC,eAAS,EAAC;AAAX,KAAR,CAAf;;AAAoD,WAAO1C,CAAC,CAACvvB,CAAD,EAAG6nE,EAAH,CAAD,EAAQ7nE,CAAC,CAACgoE,gBAAF,IAAoBhoE,CAAC,CAACgoE,gBAAF,CAAmBj/D,OAAnB,CAA2B,UAAS/I,CAAT,EAAW;AAACA,OAAC;AAAG,KAA3C,CAA5B,EAAyEA,CAAC,CAACqC,EAAF,CAAK,SAAL,EAAe,YAAU;AAACrC,OAAC,CAACoC,GAAF,IAAQkgB,CAAC,CAACxM,UAAF,CAAa,YAAU;AAAC9V,SAAC,CAACynE,WAAF,GAAc,IAAd;AAAmB,OAA3C,EAA4C,CAA5C,CAAR;AAAuD,KAAjF,CAAzE,EAA4JznE,CAAnK;AAAqK;;AAAA,MAAIioE,EAAE,GAAC;AAAC16D,SAAK,EAAC,EAAP;AAAU2H,YAAQ,EAAC,kBAASlV,CAAT,EAAW;AAAC,UAAIe,CAAJ;AAAA,UAAMu5B,CAAC,GAAC,IAAR;AAAa,aAAM,cAAY,OAAOt6B,CAAnB,KAAuBA,CAAC,GAACA,CAAC,EAA1B,GAA8Bob,CAAC,CAACpb,CAAD,EAAG,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAACrM,SAAC,CAAC/sB,KAAF,CAAQo5B,CAAR,MAAa3mC,CAAb,KAAiB,CAACe,CAAC,GAACA,CAAC,IAAE,EAAN,EAAU4lC,CAAV,IAAa;AAAC6gB,cAAI,EAACltB,CAAC,CAAC/sB,KAAF,CAAQo5B,CAAR,CAAN;AAAiBoP,YAAE,EAAC/1C;AAApB,SAA9B,GAAsDs6B,CAAC,CAAC/sB,KAAF,CAAQo5B,CAAR,IAAW3mC,CAAjE;AAAmE,OAApF,CAA/B,EAAqHe,CAAC,IAAEsmE,EAAE,CAAC,IAAD,CAAL,IAAa,KAAK9hE,OAAL,CAAa;AAAC2iE,eAAO,EAACnnE,CAAT;AAAWwP,YAAI,EAAC;AAAhB,OAAb,CAAlI,EAAgLxP,CAAtL;AAAwL;AAApO,GAAP;;AAA6O,WAASonE,EAAT,CAAYnoE,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAOpX,CAAC,CAACvvB,CAAD,EAAGioE,EAAH,CAAD,EAAQjoE,CAAC,CAACuN,KAAF,GAAQgiB,CAAC,CAAC,EAAD,EAAIvvB,CAAC,CAACuN,KAAN,EAAYo5B,CAAZ,CAAjB,EAAgC,cAAY,OAAO3mC,CAAC,CAACooE,kBAArB,IAAyCf,EAAE,CAACrnE,CAAD,CAA3C,IAAgDA,CAAC,CAACqC,EAAF,CAAK,cAAL,EAAoBrC,CAAC,CAACooE,kBAAtB,CAAhF,EAA0HpoE,CAAjI;AAAmI;;AAAA,WAASqoE,EAAT,CAAYroE,CAAZ,EAAc;AAAC,WAAM,YAAU,OAAOA,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,CAACqE,OAAF,CAAU,GAAV,EAAc,UAASrE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACqkB,WAAF,EAAP;AAAuB,KAAjD,CAA3B;AAA8E;;AAAA,WAASikD,EAAT,CAAYtoE,CAAZ,EAAc;AAAC,WAAM,YAAU,OAAOA,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,CAACqE,OAAF,CAAU,GAAV,EAAc,UAASrE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAAC2gC,WAAF,EAAP;AAAuB,KAAjD,CAA3B;AAA8E;;AAAA,WAAS4nC,EAAT,GAAa;AAAC,SAAI,IAAIxnE,CAAC,GAAC,EAAN,EAASf,CAAC,GAACkpB,SAAS,CAAChmB,MAArB,EAA4ByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAA9B,EAA2Cs6B,CAAC,GAAC,CAAjD,EAAmDA,CAAC,GAACt6B,CAArD,EAAuDs6B,CAAC,EAAxD;AAA2DqM,OAAC,CAACrM,CAAD,CAAD,GAAKpR,SAAS,CAACoR,CAAD,CAAd;AAA3D;;AAA6E,WAAOqM,CAAC,CAAC59B,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAACA,OAAC,IAAEob,CAAC,CAACpb,CAAD,EAAG,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAACi6B,SAAC,CAAC5gE,CAAD,CAAD,IAAM4gE,CAAC,CAAC7/D,CAAC,CAAC4lC,CAAD,CAAF,CAAD,KAAU5lC,CAAC,CAAC4lC,CAAD,CAAD,GAAK,EAAf,GAAmB5lC,CAAC,CAAC4lC,CAAD,CAAD,GAAK4hC,EAAE,CAACxnE,CAAC,CAAC4lC,CAAD,CAAF,EAAM3mC,CAAN,CAAhC,IAA0Ce,CAAC,CAAC4lC,CAAD,CAAD,GAAK3mC,CAA/C;AAAiD,OAAlE,CAAJ;AAAwE,KAA9F,GAAgGe,CAAvG;AAAyG;;AAAA,MAAIynE,EAAE,GAAC,YAAU;AAAC,aAASptC,CAAT,CAAWp7B,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAAC,UAAG,CAACf,CAAD,IAAI,KAAK4M,IAAT,GAAc,KAAK67D,OAAL,GAAazoE,CAAC,GAAC,IAA7B,GAAkC,KAAKyoE,OAAL,GAAazoE,CAA/C,EAAiD,KAAK0oE,WAAL,GAAiB,CAAC,CAAnE,EAAqE,KAAKC,gBAAL,GAAsB,IAA3F,EAAgG,KAAKC,QAAL,GAAcL,EAAE,CAAC,EAAD,EAAI,KAAKK,QAAT,CAAhH,EAAmIjiC,CAAC,GAAC,KAAKiiC,QAAL,GAAcL,EAAE,CAAC,KAAKK,QAAN,EAAejiC,CAAf,CAArJ,EAAuK,KAAKkiC,GAAL,GAASliC,CAAC,CAAC1lC,EAAF,IAAM0lC,CAAC,CAACpiB,EAAF,IAAMoiB,CAAC,CAACpiB,EAAF,CAAKtjB,EAAjM,EAAoM,CAAC,KAAK4nE,GAA7M,EAAiN;AAAC,YAAIvuC,CAAC,GAACt6B,CAAC,IAAEA,CAAC,CAACiB,EAAL,IAASjB,CAAC,CAACiB,EAAF,EAAT,IAAiB,WAAvB;AAAmC,aAAK4nE,GAAL,GAASvuC,CAAC,GAAC,aAAF,GAAgB6qC,EAAE,EAA3B;AAA8B;;AAAA,UAAIrE,CAAJ;AAAM,WAAKgI,KAAL,GAAWniC,CAAC,CAAC/c,IAAF,IAAQ,IAAnB,EAAwB+c,CAAC,CAACpiB,EAAF,GAAK,KAAKwkD,GAAL,GAASpiC,CAAC,CAACpiB,EAAhB,GAAmB,CAAC,CAAD,KAAKoiB,CAAC,CAACk9B,QAAP,KAAkB,KAAKkF,GAAL,GAAS,KAAKlF,QAAL,EAA3B,CAA3C,EAAuF,CAAC,CAAD,KAAKl9B,CAAC,CAACqiC,OAAP,IAAgBlB,EAAE,CAAC,IAAD,EAAM;AAACC,mBAAW,EAAC,KAAKgB,GAAL,GAAS,KAAT,GAAe;AAA5B,OAAN,CAAzG,EAAkJZ,EAAE,CAAC,IAAD,EAAM,KAAK3/C,WAAL,CAAiBygD,YAAvB,CAApJ,EAAyL,KAAKC,SAAL,GAAe,EAAxM,EAA2M,KAAKC,WAAL,GAAiB,EAA5N,EAA+N,KAAKC,eAAL,GAAqB,EAApP,EAAuP9mD,CAAC,CAAC+mD,GAAF,KAAQvI,CAAC,GAAC,YAAU;AAAC,iBAAS9gE,CAAT,GAAY;AAAC,eAAKspE,IAAL,GAAU,EAAV;AAAa;;AAAA,YAAI3iC,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,eAAO4sB,CAAC,CAACzL,GAAF,GAAM,UAASl7B,CAAT,EAAW;AAAC,iBAAOA,CAAC,IAAI,KAAKspE,IAAjB;AAAsB,SAAxC,EAAyC3iC,CAAC,UAAD,GAAS,UAAS3mC,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC,KAAKzL,GAAL,CAASl7B,CAAT,CAAN;AAAkB,iBAAO,OAAO,KAAKspE,IAAL,CAAUtpE,CAAV,CAAP,EAAoB2mC,CAA3B;AAA6B,SAA7G,EAA8GA,CAAC,CAACxhC,GAAF,GAAM,UAASnF,CAAT,EAAW;AAAC,iBAAO,KAAKspE,IAAL,CAAUtpE,CAAV,IAAa,CAAb,EAAe,IAAtB;AAA2B,SAA3J,EAA4J2mC,CAAC,CAAC59B,OAAF,GAAU,UAAS/I,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAI,IAAI5lC,CAAR,IAAa,KAAKuoE,IAAlB;AAAuBtpE,aAAC,CAAC2F,IAAF,CAAOghC,CAAP,EAAS5lC,CAAT,EAAWA,CAAX,EAAa,IAAb;AAAvB;AAA0C,SAA9N,EAA+Nf,CAAtO;AAAwO,OAA/R,EAAV,CAAvP,EAAoiB,KAAKupE,cAAL,GAAoBjnD,CAAC,CAAC+mD,GAAF,GAAM,IAAIA,GAAJ,EAAN,GAAc,IAAIvI,CAAJ,EAAtkB,EAA4kB,KAAK0I,eAAL,GAAqBlnD,CAAC,CAAC+mD,GAAF,GAAM,IAAIA,GAAJ,EAAN,GAAc,IAAIvI,CAAJ,EAA/mB,EAAqnB,KAAK2I,OAAL,GAAannD,CAAC,CAAC+mD,GAAF,GAAM,IAAIA,GAAJ,EAAN,GAAc,IAAIvI,CAAJ,EAAhpB,EAAspB,CAAC,KAAK4I,wBAAL,GAA8B,CAAC,CAAhC,MAAqC/iC,CAAC,CAACgjC,YAAvC,IAAqD,KAAKA,YAAL,EAA3sB,EAA+tB,KAAKl0D,KAAL,CAAW1U,CAAX,CAA/tB,EAA6uB,CAAC,CAAD,KAAK4lC,CAAC,CAACijC,mBAAP,IAA4B,KAAKC,mBAAL,EAAzwB;AAAoyB;;AAAA,QAAI7pE,CAAC,GAACo7B,CAAC,CAACrhB,SAAR;AAAkB,WAAO/Z,CAAC,CAACyR,OAAF,GAAU,YAAU;AAAC,UAAG,CAAC,KAAKi3D,WAAT,EAAqB;AAAC,YAAG,KAAKnjE,OAAL,CAAa;AAACgL,cAAI,EAAC,SAAN;AAAgBu5B,iBAAO,EAAC,CAAC;AAAzB,SAAb,GAA0C,KAAK4+B,WAAL,GAAiB,CAAC,CAA5D,EAA8D,KAAKQ,SAAtE,EAAgF,KAAI,IAAIlpE,CAAC,GAAC,KAAKkpE,SAAL,CAAehmE,MAAf,GAAsB,CAAhC,EAAkC,KAAGlD,CAArC,EAAuCA,CAAC,EAAxC;AAA2C,eAAKkpE,SAAL,CAAelpE,CAAf,EAAkByR,OAAlB,IAA2B,KAAKy3D,SAAL,CAAelpE,CAAf,EAAkByR,OAAlB,EAA3B;AAA3C;AAAkG,aAAKy3D,SAAL,GAAe,IAAf,EAAoB,KAAKC,WAAL,GAAiB,IAArC,EAA0C,KAAKC,eAAL,GAAqB,IAA/D,EAAoE,KAAKT,gBAAL,GAAsB,IAA1F,EAA+F,KAAKI,GAAL,KAAW,KAAKA,GAAL,CAAS11D,UAAT,IAAqB,KAAK01D,GAAL,CAAS11D,UAAT,CAAoB8U,WAApB,CAAgC,KAAK4gD,GAArC,CAArB,EAA+DvD,EAAE,CAACtqC,GAAH,CAAO,KAAK6tC,GAAZ,KAAkBvD,EAAE,UAAF,CAAU,KAAKuD,GAAf,CAAjF,EAAqG,KAAKA,GAAL,GAAS,IAAzH,CAA/F,EAA8N,KAAKN,OAAL,GAAa,IAA3O;AAAgP;AAAC,KAA9c,EAA+czoE,CAAC,CAAC8pE,UAAF,GAAa,YAAU;AAAC,aAAOrI,OAAO,CAAC,KAAKiH,WAAN,CAAd;AAAiC,KAAxgB,EAAygB1oE,CAAC,CAACwM,MAAF,GAAS,YAAU;AAAC,aAAO,KAAKi8D,OAAZ;AAAoB,KAAjjB,EAAkjBzoE,CAAC,CAAC+b,OAAF,GAAU,UAAS/b,CAAT,EAAW;AAAC,aAAOA,CAAC,KAAG,KAAK4oE,QAAL,GAAcL,EAAE,CAAC,KAAKK,QAAN,EAAe5oE,CAAf,CAAnB,CAAD,EAAuC,KAAK4oE,QAAnD;AAA4D,KAApoB,EAAqoB5oE,CAAC,CAACukB,EAAF,GAAK,YAAU;AAAC,aAAO,KAAKwkD,GAAZ;AAAgB,KAArqB,EAAsqB/oE,CAAC,CAAC6jE,QAAF,GAAW,UAAS7jE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,aAAO6gE,CAAC,CAAC5hE,CAAD,EAAG2mC,CAAH,EAAK5lC,CAAL,CAAR;AAAgB,KAAjtB,EAAktBf,CAAC,CAAC+pE,QAAF,GAAW,UAAS/pE,CAAT,EAAW8gE,CAAX,EAAan6B,CAAb,EAAe;AAAC,WAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC3mC,CAAf;AAAkB,UAAIe,CAAC,GAAC,KAAK0nE,OAAL,CAAauB,QAAb,IAAuB,KAAKvB,OAAL,CAAauB,QAAb,EAA7B;AAAA,UAAqD1vC,CAAC,GAAC,KAAKmuC,OAAL,CAAawB,SAAb,IAAwB,KAAKxB,OAAL,CAAawB,SAAb,EAA/E;AAAA,UAAwGvlD,CAAC,GAAC4V,CAAC,IAAEA,CAAC,CAACv5B,CAAD,CAA9G;AAAA,UAAkHqa,CAAC,GAACra,CAAC,IAAEA,CAAC,CAACoqB,KAAF,CAAQ,GAAR,EAAa,CAAb,CAAvH;AAAA,UAAuIw1C,CAAC,GAACrmC,CAAC,IAAEA,CAAC,CAAClf,CAAD,CAA7I;AAAA,UAAiJwlD,CAAC,GAACj6B,CAAnJ;AAAqJ,aAAOjiB,CAAC,IAAEA,CAAC,CAAC1kB,CAAD,CAAJ,GAAQ4gE,CAAC,GAACl8C,CAAC,CAAC1kB,CAAD,CAAX,GAAe2gE,CAAC,IAAEA,CAAC,CAAC3gE,CAAD,CAAJ,KAAU4gE,CAAC,GAACD,CAAC,CAAC3gE,CAAD,CAAb,CAAf,EAAiC8gE,CAAC,KAAGF,CAAC,GAACA,CAAC,CAACv8D,OAAF,CAAU,YAAV,EAAuB,UAASrE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC+/D,CAAC,CAACn6B,CAAC,GAAC,CAAH,CAAP;AAAA,YAAarM,CAAC,GAACv5B,CAAf;AAAiB,eAAM,eAAa,OAAOA,CAApB,KAAwBu5B,CAAC,GAACt6B,CAA1B,GAA6Bs6B,CAAnC;AAAqC,OAA3F,CAAL,CAAlC,EAAqIsmC,CAA5I;AAA8I,KAAliC,EAAmiC5gE,CAAC,CAACkqE,SAAF,GAAY,YAAU;AAAC,aAAO,KAAKC,UAAL,IAAiB,KAAKpB,GAA7B;AAAiC,KAA3lC,EAA4lC/oE,CAAC,CAACiB,EAAF,GAAK,YAAU;AAAC,aAAO,KAAK4nE,GAAZ;AAAgB,KAA5nC,EAA6nC7oE,CAAC,CAAC4pB,IAAF,GAAO,YAAU;AAAC,aAAO,KAAKk/C,KAAZ;AAAkB,KAAjqC,EAAkqC9oE,CAAC,CAACid,QAAF,GAAW,YAAU;AAAC,aAAO,KAAKisD,SAAZ;AAAsB,KAA9sC,EAA+sClpE,CAAC,CAACoqE,YAAF,GAAe,UAASpqE,CAAT,EAAW;AAAC,aAAO,KAAKmpE,WAAL,CAAiBnpE,CAAjB,CAAP;AAA2B,KAArwC,EAAswCA,CAAC,CAACqqE,QAAF,GAAW,UAASrqE,CAAT,EAAW;AAAC,UAAGA,CAAH,EAAK,OAAO,KAAKopE,eAAL,CAAqBppE,CAArB,CAAP;AAA+B,KAAj0C,EAAk0CA,CAAC,CAACsqE,aAAF,GAAgB,YAAU;AAAC,WAAI,IAAItqE,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAzB,EAAsCe,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACf,CAAhD,EAAkDe,CAAC,EAAnD;AAAsD4lC,SAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAAtD;;AAAwE4lC,OAAC,GAACA,CAAC,CAAC4jC,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO3mC,CAAC,CAAC+mB,MAAF,CAAS4f,CAAT,CAAP;AAAmB,OAA1C,EAA2C,EAA3C,CAAF;;AAAiD,WAAI,IAAIrM,CAAC,GAAC,IAAN,EAAWwmC,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAACn6B,CAAC,CAACzjC,MAAvB,EAA8B49D,CAAC,EAA/B;AAAkC,YAAG,EAAExmC,CAAC,GAACA,CAAC,CAAC+vC,QAAF,CAAW1jC,CAAC,CAACm6B,CAAD,CAAZ,CAAJ,KAAuB,CAACxmC,CAAC,CAAC+vC,QAA7B,EAAsC;AAAxE;;AAA+E,aAAO/vC,CAAP;AAAS,KAA9iD,EAA+iDt6B,CAAC,CAACwqE,QAAF,GAAW,UAASxqE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAJ,EAAMwmC,CAAN;;AAAQ,UAAG,KAAK,CAAL,KAASn6B,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,KAAK,CAAL,KAAS5lC,CAAT,KAAaA,CAAC,GAAC,KAAKmoE,SAAL,CAAehmE,MAA9B,CAAnB,EAAyD,YAAU,OAAOlD,CAA7E,EAA+E;AAAC8gE,SAAC,GAACwH,EAAE,CAACtoE,CAAD,CAAJ;AAAQ,YAAI0kB,CAAC,GAACiiB,CAAC,CAAC8jC,cAAF,IAAkB3J,CAAxB;AAA0Bn6B,SAAC,CAAC/c,IAAF,GAAOk3C,CAAP;AAAS,YAAI1lD,CAAC,GAACggB,CAAC,CAACsvC,YAAF,CAAehmD,CAAf,CAAN;AAAwB,YAAG,CAACtJ,CAAJ,EAAM,MAAM,IAAIlI,KAAJ,CAAU,eAAawR,CAAb,GAAe,iBAAzB,CAAN;AAAkD,YAAG,cAAY,OAAOtJ,CAAtB,EAAwB,OAAO,IAAP;AAAYkf,SAAC,GAAC,IAAIlf,CAAJ,CAAM,KAAKqtD,OAAL,IAAc,IAApB,EAAyB9hC,CAAzB,CAAF;AAA8B,OAA7Q,MAAkRrM,CAAC,GAACt6B,CAAF;;AAAI,UAAGs6B,CAAC,CAACquC,gBAAF,IAAoBruC,CAAC,CAACquC,gBAAF,CAAmBxgD,WAAnB,CAA+BmS,CAA/B,CAApB,EAAsD,KAAK4uC,SAAL,CAAe1uD,MAAf,CAAsBzZ,CAAtB,EAAwB,CAAxB,EAA0Bu5B,CAA1B,CAAtD,EAAmFA,CAAC,CAACquC,gBAAF,GAAmB,IAAtG,EAA2G,cAAY,OAAOruC,CAAC,CAACr5B,EAArB,KAA0B,KAAKkoE,WAAL,CAAiB7uC,CAAC,CAACr5B,EAAF,EAAjB,IAAyBq5B,CAAnD,CAA3G,EAAiK,CAACwmC,CAAC,GAACA,CAAC,IAAExmC,CAAC,CAAC1Q,IAAF,IAAQ0+C,EAAE,CAAChuC,CAAC,CAAC1Q,IAAF,EAAD,CAAhB,MAA8B,KAAKw/C,eAAL,CAAqBtI,CAArB,IAAwBxmC,CAAxB,EAA0B,KAAK8uC,eAAL,CAAqBf,EAAE,CAACvH,CAAD,CAAvB,IAA4BxmC,CAApF,CAAjK,EAAwP,cAAY,OAAOA,CAAC,CAAC/V,EAArB,IAAyB+V,CAAC,CAAC/V,EAAF,EAApR,EAA2R;AAAC,YAAIo8C,CAAC,GAAC,IAAN;AAAW,aAAKuI,SAAL,CAAenoE,CAAC,GAAC,CAAjB,MAAsB,KAAKmoE,SAAL,CAAenoE,CAAC,GAAC,CAAjB,EAAoBgoE,GAApB,GAAwBpI,CAAC,GAAC,KAAKuI,SAAL,CAAenoE,CAAC,GAAC,CAAjB,EAAoBgoE,GAA9C,GAAkD5sC,CAAC,CAAC,KAAK+sC,SAAL,CAAenoE,CAAC,GAAC,CAAjB,CAAD,CAAD,KAAyB4/D,CAAC,GAAC,KAAKuI,SAAL,CAAenoE,CAAC,GAAC,CAAjB,CAA3B,CAAxE,GAAyH,KAAKmpE,SAAL,GAAiB52D,YAAjB,CAA8BgnB,CAAC,CAAC/V,EAAF,EAA9B,EAAqCo8C,CAArC,CAAzH;AAAiK;;AAAA,aAAOrmC,CAAP;AAAS,KAAzzE,EAA0zEt6B,CAAC,CAACmoB,WAAF,GAAc,UAASnoB,CAAT,EAAW;AAAC,UAAG,YAAU,OAAOA,CAAjB,KAAqBA,CAAC,GAAC,KAAKqqE,QAAL,CAAcrqE,CAAd,CAAvB,GAAyCA,CAAC,IAAE,KAAKkpE,SAApD,EAA8D;AAAC,aAAI,IAAIviC,CAAC,GAAC,CAAC,CAAP,EAAS5lC,CAAC,GAAC,KAAKmoE,SAAL,CAAehmE,MAAf,GAAsB,CAArC,EAAuC,KAAGnC,CAA1C,EAA4CA,CAAC,EAA7C;AAAgD,cAAG,KAAKmoE,SAAL,CAAenoE,CAAf,MAAoBf,CAAvB,EAAyB;AAAC2mC,aAAC,GAAC,CAAC,CAAH,EAAK,KAAKuiC,SAAL,CAAe1uD,MAAf,CAAsBzZ,CAAtB,EAAwB,CAAxB,CAAL;AAAgC;AAAM;AAAhH;;AAAgH,YAAG4lC,CAAH,EAAK;AAAC3mC,WAAC,CAAC2oE,gBAAF,GAAmB,IAAnB,EAAwB,KAAKQ,WAAL,CAAiBnpE,CAAC,CAACiB,EAAF,EAAjB,IAAyB,IAAjD,EAAsD,KAAKmoE,eAAL,CAAqBd,EAAE,CAACtoE,CAAC,CAAC4pB,IAAF,EAAD,CAAvB,IAAmC,IAAzF,EAA8F,KAAKw/C,eAAL,CAAqBf,EAAE,CAACroE,CAAC,CAAC4pB,IAAF,EAAD,CAAvB,IAAmC,IAAjI;AAAsI,cAAI0Q,CAAC,GAACt6B,CAAC,CAACukB,EAAF,EAAN;AAAa+V,WAAC,IAAEA,CAAC,CAACjnB,UAAF,KAAe,KAAK62D,SAAL,EAAlB,IAAoC,KAAKA,SAAL,GAAiB/hD,WAAjB,CAA6BnoB,CAAC,CAACukB,EAAF,EAA7B,CAApC;AAAyE;AAAC;AAAC,KAAvuF,EAAwuFvkB,CAAC,CAAC2pE,YAAF,GAAe,YAAU;AAAC,UAAI7I,CAAC,GAAC,IAAN;AAAA,UAAWxmC,CAAC,GAAC,KAAKsuC,QAAL,CAAc3rD,QAA3B;;AAAoC,UAAGqd,CAAH,EAAK;AAAC,YAAIt6B,CAAJ;AAAA,YAAM0kB,CAAC,GAAC,KAAKkkD,QAAb;AAAA,YAAsB7nE,CAAC,GAACq6B,CAAC,CAACsvC,YAAF,CAAe,MAAf,CAAxB;AAA+C,SAAC1qE,CAAC,GAACwb,KAAK,CAACG,OAAN,CAAc2e,CAAd,IAAiBA,CAAjB,GAAmB9zB,MAAM,CAAC8pB,IAAP,CAAYgK,CAAZ,CAAtB,EAAsCvT,MAAtC,CAA6CvgB,MAAM,CAAC8pB,IAAP,CAAY,KAAKs4C,QAAjB,EAA2BxkE,MAA3B,CAAkC,UAASuiC,CAAT,EAAW;AAAC,iBAAM,CAAC3mC,CAAC,CAAC2qE,IAAF,CAAO,UAAS3qE,CAAT,EAAW;AAAC,mBAAM,YAAU,OAAOA,CAAjB,GAAmB2mC,CAAC,KAAG3mC,CAAvB,GAAyB2mC,CAAC,KAAG3mC,CAAC,CAAC4pB,IAArC;AAA0C,WAA7D,CAAP;AAAsE,SAApH,CAA7C,EAAoKX,GAApK,CAAwK,UAASjpB,CAAT,EAAW;AAAC,cAAI2mC,CAAJ,EAAM5lC,CAAN;AAAQ,iBAAOA,CAAC,GAAC,YAAU,OAAOf,CAAjB,GAAmBs6B,CAAC,CAACqM,CAAC,GAAC3mC,CAAH,CAAD,IAAQ8gE,CAAC,CAAC8H,QAAF,CAAWjiC,CAAX,CAAR,IAAuB,EAA1C,IAA8CA,CAAC,GAAC3mC,CAAC,CAAC4pB,IAAJ,EAAS5pB,CAAvD,CAAF,EAA4D;AAAC4pB,gBAAI,EAAC+c,CAAN;AAAQ6N,gBAAI,EAACzzC;AAAb,WAAnE;AAAmF,SAA/Q,EAAiRqD,MAAjR,CAAwR,UAASpE,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAACvL,CAAC,CAACsvC,YAAF,CAAe1qE,CAAC,CAACw0C,IAAF,CAAOi2B,cAAP,IAAuBnC,EAAE,CAACtoE,CAAC,CAAC4pB,IAAH,CAAxC,CAAN;AAAwD,iBAAO+c,CAAC,IAAE,CAAC5lC,CAAC,CAAC6pE,MAAF,CAASjkC,CAAT,CAAX;AAAuB,SAAnX,EAAqX59B,OAArX,CAA6X,UAAS/I,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC3mC,CAAC,CAAC4pB,IAAR;AAAA,cAAa7oB,CAAC,GAACf,CAAC,CAACw0C,IAAjB;;AAAsB,cAAG,KAAK,CAAL,KAAS9vB,CAAC,CAACiiB,CAAD,CAAV,KAAgB5lC,CAAC,GAAC2jB,CAAC,CAACiiB,CAAD,CAAnB,GAAwB,CAAC,CAAD,KAAK5lC,CAAhC,EAAkC;AAAC,aAAC,CAAD,KAAKA,CAAL,KAASA,CAAC,GAAC,EAAX,GAAeA,CAAC,CAAC8pE,aAAF,GAAgB/J,CAAC,CAAC8H,QAAF,CAAWiC,aAA1C;AAAwD,gBAAIvwC,CAAC,GAACwmC,CAAC,CAAC0J,QAAF,CAAW7jC,CAAX,EAAa5lC,CAAb,CAAN;AAAsBu5B,aAAC,KAAGwmC,CAAC,CAACn6B,CAAD,CAAD,GAAKrM,CAAR,CAAD;AAAY;AAAC,SAA7hB;AAA+hB;AAAC,KAA33G,EAA43Gt6B,CAAC,CAAC8qE,aAAF,GAAgB,YAAU;AAAC,aAAM,EAAN;AAAS,KAAh6G,EAAi6G9qE,CAAC,CAACyV,KAAF,GAAQ,UAASzV,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,CAAC,CAAhB,GAAmB3mC,CAAtB,EAAwB,OAAO,KAAK+qE,QAAL,GAAc,MAAKpkC,CAAC,GAAC3mC,CAAC,CAAC2F,IAAF,CAAO,IAAP,CAAD,GAAc,KAAKmQ,UAAL,CAAgB9V,CAAhB,EAAkB,CAAlB,CAApB,CAAd,IAAyD,KAAKgrE,WAAL,GAAiB,KAAKA,WAAL,IAAkB,EAAnC,EAAsC,KAAK,KAAKA,WAAL,CAAiBznE,IAAjB,CAAsBvD,CAAtB,CAApG,CAAP;AAAqI,KAAplH,EAAqlHA,CAAC,CAACirE,YAAF,GAAe,YAAU;AAAC,WAAKF,QAAL,GAAc,CAAC,CAAf,EAAiB,KAAKj1D,UAAL,CAAgB,YAAU;AAAC,YAAI9V,CAAC,GAAC,KAAKgrE,WAAX;AAAuB,aAAKA,WAAL,GAAiB,EAAjB,EAAoBhrE,CAAC,IAAE,IAAEA,CAAC,CAACkD,MAAP,IAAelD,CAAC,CAAC+I,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAACA,WAAC,CAAC2F,IAAF,CAAO,IAAP;AAAa,SAAnC,EAAoC,IAApC,CAAnC,EAA6E,KAAKJ,OAAL,CAAa,OAAb,CAA7E;AAAmG,OAArJ,EAAsJ,CAAtJ,CAAjB;AAA0K,KAAzxH,EAA0xHvF,CAAC,CAACE,CAAF,GAAI,UAASF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO28B,CAAC,CAACtjE,CAAD,EAAG2mC,CAAC,IAAE,KAAKujC,SAAL,EAAN,CAAR;AAAgC,KAA50H,EAA60HlqE,CAAC,CAAC0kE,EAAF,GAAK,UAAS1kE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO48B,CAAC,CAACvjE,CAAD,EAAG2mC,CAAC,IAAE,KAAKujC,SAAL,EAAN,CAAR;AAAgC,KAAh4H,EAAi4HlqE,CAAC,CAACI,QAAF,GAAW,UAASJ,CAAT,EAAW;AAAC,aAAOwmB,CAAC,CAAC,KAAKuiD,GAAN,EAAU/oE,CAAV,CAAR;AAAqB,KAA76H,EAA86HA,CAAC,CAACgF,QAAF,GAAW,UAAShF,CAAT,EAAW;AAACkiE,OAAC,CAAC,KAAK6G,GAAN,EAAU/oE,CAAV,CAAD;AAAc,KAAn9H,EAAo9HA,CAAC,CAACyB,WAAF,GAAc,UAASzB,CAAT,EAAW;AAACqiB,OAAC,CAAC,KAAK0mD,GAAN,EAAU/oE,CAAV,CAAD;AAAc,KAA5/H,EAA6/HA,CAAC,CAACkN,WAAF,GAAc,UAASlN,CAAT,EAAW2mC,CAAX,EAAa;AAACw7B,OAAC,CAAC,KAAK4G,GAAN,EAAU/oE,CAAV,EAAY2mC,CAAZ,CAAD;AAAgB,KAAziI,EAA0iI3mC,CAAC,CAAC4jC,IAAF,GAAO,YAAU;AAAC,WAAKniC,WAAL,CAAiB,YAAjB;AAA+B,KAA3lI,EAA4lIzB,CAAC,CAAC8jC,IAAF,GAAO,YAAU;AAAC,WAAK9+B,QAAL,CAAc,YAAd;AAA4B,KAA1oI,EAA2oIhF,CAAC,CAACkrE,WAAF,GAAc,YAAU;AAAC,WAAKlmE,QAAL,CAAc,kBAAd;AAAkC,KAAtsI,EAAusIhF,CAAC,CAACmrE,aAAF,GAAgB,YAAU;AAAC,WAAK1pE,WAAL,CAAiB,kBAAjB;AAAqC,KAAvwI,EAAwwIzB,CAAC,CAACqhB,YAAF,GAAe,UAASrhB,CAAT,EAAW;AAAC,aAAOsiE,CAAC,CAAC,KAAKyG,GAAN,EAAU/oE,CAAV,CAAR;AAAqB,KAAxzI,EAAyzIA,CAAC,CAACiiB,YAAF,GAAe,UAASjiB,CAAT,EAAW2mC,CAAX,EAAa;AAAC47B,OAAC,CAAC,KAAKwG,GAAN,EAAU/oE,CAAV,EAAY2mC,CAAZ,CAAD;AAAgB,KAAt2I,EAAu2I3mC,CAAC,CAACqwB,eAAF,GAAkB,UAASrwB,CAAT,EAAW;AAACwiE,OAAC,CAAC,KAAKuG,GAAN,EAAU/oE,CAAV,CAAD;AAAc,KAAn5I,EAAo5IA,CAAC,CAACgR,KAAF,GAAQ,UAAShR,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO,KAAKuK,SAAL,CAAe,OAAf,EAAuBlxC,CAAvB,EAAyB2mC,CAAzB,CAAP;AAAmC,KAA78I,EAA88I3mC,CAAC,CAAC+Q,MAAF,GAAS,UAAS/Q,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO,KAAKuK,SAAL,CAAe,QAAf,EAAwBlxC,CAAxB,EAA0B2mC,CAA1B,CAAP;AAAoC,KAAzgJ,EAA0gJ3mC,CAAC,CAACwjB,UAAF,GAAa,UAASxjB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAK31B,KAAL,CAAWhR,CAAX,EAAa,CAAC,CAAd,GAAiB,KAAK+Q,MAAL,CAAY41B,CAAZ,CAAjB;AAAgC,KAArkJ,EAAskJ3mC,CAAC,CAACkxC,SAAF,GAAY,UAASlxC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAG,KAAK,CAAL,KAAS4lC,CAAZ,EAAc,OAAO,SAAOA,CAAP,IAAUA,CAAC,IAAEA,CAAb,KAAiBA,CAAC,GAAC,CAAnB,GAAsB,CAAC,CAAD,KAAK,CAAC,KAAGA,CAAJ,EAAOxlC,OAAP,CAAe,GAAf,CAAL,IAA0B,CAAC,CAAD,KAAK,CAAC,KAAGwlC,CAAJ,EAAOxlC,OAAP,CAAe,IAAf,CAA/B,GAAoD,KAAK4nE,GAAL,CAAS5rD,KAAT,CAAend,CAAf,IAAkB2mC,CAAtE,GAAwE,KAAKoiC,GAAL,CAAS5rD,KAAT,CAAend,CAAf,IAAkB,WAAS2mC,CAAT,GAAW,EAAX,GAAcA,CAAC,GAAC,IAAhI,EAAqI,MAAK5lC,CAAC,IAAE,KAAKwE,OAAL,CAAa,iBAAb,CAAR,CAA5I;AAAqL,UAAG,CAAC,KAAKwjE,GAAT,EAAa,OAAO,CAAP;AAAS,UAAIzuC,CAAC,GAAC,KAAKyuC,GAAL,CAAS5rD,KAAT,CAAend,CAAf,CAAN;AAAA,UAAwB8gE,CAAC,GAACxmC,CAAC,CAACn5B,OAAF,CAAU,IAAV,CAA1B;AAA0C,aAAM,CAAC,CAAD,KAAK2/D,CAAL,GAAOp6D,QAAQ,CAAC4zB,CAAC,CAAC3f,KAAF,CAAQ,CAAR,EAAUmmD,CAAV,CAAD,EAAc,EAAd,CAAf,GAAiCp6D,QAAQ,CAAC,KAAKqiE,GAAL,CAAS,WAAST,EAAE,CAACtoE,CAAD,CAApB,CAAD,EAA0B,EAA1B,CAA/C;AAA6E,KAAl7J,EAAm7JA,CAAC,CAACorE,gBAAF,GAAmB,UAASprE,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,CAAN;AAAQ,UAAG,YAAU3mC,CAAV,IAAa,aAAWA,CAA3B,EAA6B,MAAM,IAAIkT,KAAJ,CAAU,qDAAV,CAAN;;AAAuE,UAAGyzB,CAAC,GAACrM,CAAC,CAAC,KAAKyuC,GAAN,EAAU/oE,CAAV,CAAH,EAAgB,OAAK2mC,CAAC,GAAC1jB,UAAU,CAAC0jB,CAAD,CAAjB,KAAuB//B,KAAK,CAAC+/B,CAAD,CAA/C,EAAmD;AAAC,YAAI5lC,CAAC,GAAC,WAASunE,EAAE,CAACtoE,CAAD,CAAjB;AAAqB2mC,SAAC,GAAC,KAAKoiC,GAAL,CAAShoE,CAAT,CAAF;AAAc;;AAAA,aAAO4lC,CAAP;AAAS,KAA9pK,EAA+pK3mC,CAAC,CAACqrE,iBAAF,GAAoB,YAAU;AAAC,aAAM;AAACr6D,aAAK,EAAC,KAAKo6D,gBAAL,CAAsB,OAAtB,CAAP;AAAsCr6D,cAAM,EAAC,KAAKq6D,gBAAL,CAAsB,QAAtB;AAA7C,OAAN;AAAoF,KAAlxK,EAAmxKprE,CAAC,CAACsrE,YAAF,GAAe,YAAU;AAAC,aAAO,KAAKF,gBAAL,CAAsB,OAAtB,CAAP;AAAsC,KAAn1K,EAAo1KprE,CAAC,CAACurE,aAAF,GAAgB,YAAU;AAAC,aAAO,KAAKH,gBAAL,CAAsB,QAAtB,CAAP;AAAuC,KAAt5K,EAAu5KprE,CAAC,CAACkrC,KAAF,GAAQ,YAAU;AAAC,WAAK69B,GAAL,CAAS79B,KAAT;AAAiB,KAA37K,EAA47KlrC,CAAC,CAACmrC,IAAF,GAAO,YAAU;AAAC,WAAK49B,GAAL,CAAS59B,IAAT;AAAgB,KAA99K,EAA+9KnrC,CAAC,CAACwrE,aAAF,GAAgB,UAASxrE,CAAT,EAAW;AAAC,WAAKyoE,OAAL,KAAezoE,CAAC,CAACqoC,eAAF,IAAoB,KAAKogC,OAAL,CAAa+C,aAAb,CAA2BxrE,CAA3B,CAAnC;AAAkE,KAA7jL,EAA8jLA,CAAC,CAACyrE,cAAF,GAAiB,UAASzrE,CAAT,EAAW;AAAC,WAAKwrE,aAAL,CAAmBxrE,CAAnB;AAAsB,KAAjnL,EAAknLA,CAAC,CAAC0rE,aAAF,GAAgB,YAAU;AAAC,UAAIpxC,CAAJ;AAAA,UAAMqM,CAAC,GAAC,CAAR;AAAA,UAAUm6B,CAAC,GAAC,IAAZ;AAAiB,WAAKz+D,EAAL,CAAQ,YAAR,EAAqB,UAASrC,CAAT,EAAW;AAAC,cAAIA,CAAC,CAAC+hB,OAAF,CAAU7e,MAAd,KAAuB49D,CAAC,GAAC;AAACrgD,eAAK,EAACzgB,CAAC,CAAC+hB,OAAF,CAAU,CAAV,EAAatB,KAApB;AAA0BC,eAAK,EAAC1gB,CAAC,CAAC+hB,OAAF,CAAU,CAAV,EAAarB;AAA7C,SAAF,EAAsDimB,CAAC,GAACrkB,CAAC,CAACgjD,WAAF,CAAcvgD,GAAd,EAAxD,EAA4EuV,CAAC,GAAC,CAAC,CAAtG;AAAyG,OAA1I,GAA4I,KAAKj4B,EAAL,CAAQ,WAAR,EAAoB,UAASrC,CAAT,EAAW;AAAC,YAAG,IAAEA,CAAC,CAAC+hB,OAAF,CAAU7e,MAAf,EAAsBo3B,CAAC,GAAC,CAAC,CAAH,CAAtB,KAAgC,IAAGwmC,CAAH,EAAK;AAAC,cAAIn6B,CAAC,GAAC3mC,CAAC,CAAC+hB,OAAF,CAAU,CAAV,EAAatB,KAAb,GAAmBqgD,CAAC,CAACrgD,KAA3B;AAAA,cAAiC1f,CAAC,GAACf,CAAC,CAAC+hB,OAAF,CAAU,CAAV,EAAarB,KAAb,GAAmBogD,CAAC,CAACpgD,KAAxD;AAA8D,eAAGC,IAAI,CAACgrD,IAAL,CAAUhlC,CAAC,GAACA,CAAF,GAAI5lC,CAAC,GAACA,CAAhB,CAAH,KAAwBu5B,CAAC,GAAC,CAAC,CAA3B;AAA8B;AAAC,OAAnK,CAA5I;;AAAiT,eAASt6B,CAAT,GAAY;AAACs6B,SAAC,GAAC,CAAC,CAAH;AAAK;;AAAA,WAAKj4B,EAAL,CAAQ,YAAR,EAAqBrC,CAArB,GAAwB,KAAKqC,EAAL,CAAQ,aAAR,EAAsBrC,CAAtB,CAAxB,EAAiD,KAAKqC,EAAL,CAAQ,UAAR,EAAmB,UAASrC,CAAT,EAAW;AAAC,UAAE8gE,CAAC,GAAC,IAAJ,MAAYxmC,CAAZ,IAAehY,CAAC,CAACgjD,WAAF,CAAcvgD,GAAd,KAAoB4hB,CAApB,GAAsB,GAArC,KAA2C3mC,CAAC,CAACiN,cAAF,IAAmB,KAAK1H,OAAL,CAAa,KAAb,CAA9D;AAAmF,OAAlH,CAAjD;AAAqK,KAAtoM,EAAuoMvF,CAAC,CAAC6pE,mBAAF,GAAsB,YAAU;AAAC,UAAG,KAAKr9D,MAAL,MAAe,KAAKA,MAAL,GAAco/D,kBAAhC,EAAmD;AAAC,YAAIjlC,CAAJ;AAAA,YAAM5lC,CAAC,GAACylE,EAAE,CAAC,KAAKh6D,MAAL,EAAD,EAAe,KAAKA,MAAL,GAAco/D,kBAA7B,CAAV;AAA2D,aAAKvpE,EAAL,CAAQ,YAAR,EAAqB,YAAU;AAACtB,WAAC,IAAG,KAAK64D,aAAL,CAAmBjzB,CAAnB,CAAH,EAAyBA,CAAC,GAAC,KAAK04B,WAAL,CAAiBt+D,CAAjB,EAAmB,GAAnB,CAA5B;AAAoD,SAApF;;AAAsF,YAAIf,CAAC,GAAC,WAASA,GAAT,EAAW;AAACe,WAAC,IAAG,KAAK64D,aAAL,CAAmBjzB,CAAnB,CAAJ;AAA0B,SAA5C;;AAA6C,aAAKtkC,EAAL,CAAQ,WAAR,EAAoBtB,CAApB,GAAuB,KAAKsB,EAAL,CAAQ,UAAR,EAAmBrC,CAAnB,CAAvB,EAA6C,KAAKqC,EAAL,CAAQ,aAAR,EAAsBrC,CAAtB,CAA7C;AAAsE;AAAC,KAAj+M,EAAk+MA,CAAC,CAAC8V,UAAF,GAAa,UAAS9V,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAJ;AAAA,UAAMu5B,CAAC,GAAC,IAAR;AAAa,aAAOt6B,CAAC,GAACwmE,EAAE,CAAC,IAAD,EAAMxmE,CAAN,CAAJ,EAAa,KAAK6rE,qBAAL,EAAb,EAA0C9qE,CAAC,GAACuhB,CAAC,CAACxM,UAAF,CAAa,YAAU;AAACwkB,SAAC,CAACivC,cAAF,CAAiBruC,GAAjB,CAAqBn6B,CAArB,KAAyBu5B,CAAC,CAACivC,cAAF,WAAwBxoE,CAAxB,CAAzB,EAAoDf,CAAC,EAArD;AAAwD,OAAhF,EAAiF2mC,CAAjF,CAA5C,EAAgI,KAAK4iC,cAAL,CAAoBpkE,GAApB,CAAwBpE,CAAxB,CAAhI,EAA2JA,CAAlK;AAAoK,KAA9qN,EAA+qNf,CAAC,CAAC+2C,YAAF,GAAe,UAAS/2C,CAAT,EAAW;AAAC,aAAO,KAAKupE,cAAL,CAAoBruC,GAApB,CAAwBl7B,CAAxB,MAA6B,KAAKupE,cAAL,WAA2BvpE,CAA3B,GAA8BsiB,CAAC,CAACy0B,YAAF,CAAe/2C,CAAf,CAA3D,GAA8EA,CAArF;AAAuF,KAAjyN,EAAkyNA,CAAC,CAACq/D,WAAF,GAAc,UAASr/D,CAAT,EAAW2mC,CAAX,EAAa;AAAC3mC,OAAC,GAACwmE,EAAE,CAAC,IAAD,EAAMxmE,CAAN,CAAJ,EAAa,KAAK6rE,qBAAL,EAAb;AAA0C,UAAI9qE,CAAC,GAACuhB,CAAC,CAAC+8C,WAAF,CAAcr/D,CAAd,EAAgB2mC,CAAhB,CAAN;AAAyB,aAAO,KAAK6iC,eAAL,CAAqBrkE,GAArB,CAAyBpE,CAAzB,GAA4BA,CAAnC;AAAqC,KAAt6N,EAAu6Nf,CAAC,CAAC45D,aAAF,GAAgB,UAAS55D,CAAT,EAAW;AAAC,aAAO,KAAKwpE,eAAL,CAAqBtuC,GAArB,CAAyBl7B,CAAzB,MAA8B,KAAKwpE,eAAL,WAA4BxpE,CAA5B,GAA+BsiB,CAAC,CAACs3C,aAAF,CAAgB55D,CAAhB,CAA7D,GAAiFA,CAAxF;AAA0F,KAA7hO,EAA8hOA,CAAC,CAAC6zC,qBAAF,GAAwB,UAAS7zC,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAAC,IAAR;AAAa,aAAO,KAAK+qE,YAAL,IAAmB,KAAKD,qBAAL,IAA6B7rE,CAAC,GAACwmE,EAAE,CAAC,IAAD,EAAMxmE,CAAN,CAAjC,EAA0C2mC,CAAC,GAACrkB,CAAC,CAACuxB,qBAAF,CAAwB,YAAU;AAAC9yC,SAAC,CAAC0oE,OAAF,CAAUvuC,GAAV,CAAcyL,CAAd,KAAkB5lC,CAAC,CAAC0oE,OAAF,WAAiB9iC,CAAjB,CAAlB,EAAsC3mC,CAAC,EAAvC;AAA0C,OAA7E,CAA5C,EAA2H,KAAKypE,OAAL,CAAatkE,GAAb,CAAiBwhC,CAAjB,CAA3H,EAA+IA,CAAlK,IAAqK,KAAK7wB,UAAL,CAAgB9V,CAAhB,EAAkB,MAAI,EAAtB,CAA5K;AAAsM,KAArxO,EAAsxOA,CAAC,CAAC8kD,oBAAF,GAAuB,UAAS9kD,CAAT,EAAW;AAAC,aAAO,KAAK8rE,YAAL,IAAmB,KAAKrC,OAAL,CAAavuC,GAAb,CAAiBl7B,CAAjB,MAAsB,KAAKypE,OAAL,WAAoBzpE,CAApB,GAAuBsiB,CAAC,CAACwiC,oBAAF,CAAuB9kD,CAAvB,CAA7C,GAAwEA,CAA3F,IAA8F,KAAK+2C,YAAL,CAAkB/2C,CAAlB,CAArG;AAA0H,KAAn7O,EAAo7OA,CAAC,CAAC6rE,qBAAF,GAAwB,YAAU;AAAC,UAAIvxC,CAAC,GAAC,IAAN;AAAW,WAAKovC,wBAAL,KAAgC,KAAKA,wBAAL,GAA8B,CAAC,CAA/B,EAAiC,KAAKnoD,GAAL,CAAS,SAAT,EAAmB,YAAU;AAAC,SAAC,CAAC,SAAD,EAAW,sBAAX,CAAD,EAAoC,CAAC,gBAAD,EAAkB,cAAlB,CAApC,EAAsE,CAAC,iBAAD,EAAmB,eAAnB,CAAtE,EAA2GxY,OAA3G,CAAmH,UAAS/I,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC3mC,CAAC,CAAC,CAAD,CAAP;AAAA,cAAWe,CAAC,GAACf,CAAC,CAAC,CAAD,CAAd;AAAkBs6B,WAAC,CAACqM,CAAD,CAAD,CAAK59B,OAAL,CAAauxB,CAAC,CAACv5B,CAAD,CAAd,EAAkBu5B,CAAlB;AAAqB,SAAtK,GAAwKA,CAAC,CAACovC,wBAAF,GAA2B,CAAC,CAApM;AAAsM,OAApO,CAAjE;AAAwS,KAA1wP,EAA2wPtuC,CAAC,CAAC2wC,iBAAF,GAAoB,UAAS/rE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,YAAU,OAAO3mC,CAAjB,IAAoB,CAACA,CAAxB,EAA0B,MAAM,IAAIkT,KAAJ,CAAU,8BAA4BlT,CAA5B,GAA8B,gCAAxC,CAAN;AAAgF,UAAIe,CAAJ;AAAA,UAAMu5B,CAAC,GAACc,CAAC,CAACsvC,YAAF,CAAe,MAAf,CAAR;AAAA,UAA+B5J,CAAC,GAACxmC,CAAC,IAAEA,CAAC,CAACswC,MAAF,CAASjkC,CAAT,CAApC;AAAA,UAAgDjiB,CAAC,GAAC0W,CAAC,KAAGuL,CAAJ,IAAOvL,CAAC,CAACrhB,SAAF,CAAYiyD,aAAZ,CAA0BrlC,CAAC,CAAC5sB,SAA5B,CAAzD;AAAgG,UAAG+mD,CAAC,IAAE,CAACp8C,CAAP,EAAS,MAAM3jB,CAAC,GAAC+/D,CAAC,GAAC,oDAAD,GAAsD,8BAAzD,EAAwF,IAAI5tD,KAAJ,CAAU,yBAAuBlT,CAAvB,GAAyB,KAAzB,GAA+Be,CAA/B,GAAiC,GAA3C,CAA9F;AAA8If,OAAC,GAACsoE,EAAE,CAACtoE,CAAD,CAAJ,EAAQo7B,CAAC,CAAC6wC,WAAF,KAAgB7wC,CAAC,CAAC6wC,WAAF,GAAc,EAA9B,CAAR;AAA0C,UAAI7wD,CAAC,GAACggB,CAAC,CAACsvC,YAAF,CAAe,QAAf,CAAN;;AAA+B,UAAG,aAAW1qE,CAAX,IAAcob,CAAd,IAAiBA,CAAC,CAAC8wD,OAAtB,EAA8B;AAAC,YAAIvL,CAAC,GAACvlD,CAAC,CAAC8wD,OAAR;AAAA,YAAgBtL,CAAC,GAACp6D,MAAM,CAAC8pB,IAAP,CAAYqwC,CAAZ,CAAlB;AAAiC,YAAGA,CAAC,IAAE,IAAEC,CAAC,CAAC19D,MAAP,IAAe09D,CAAC,CAAC33C,GAAF,CAAM,UAASjpB,CAAT,EAAW;AAAC,iBAAO2gE,CAAC,CAAC3gE,CAAD,CAAR;AAAY,SAA9B,EAAgC4nE,KAAhC,CAAsCnG,OAAtC,CAAlB,EAAiE,MAAM,IAAIvuD,KAAJ,CAAU,kEAAV,CAAN;AAAoF;;AAAA,aAAOkoB,CAAC,CAAC6wC,WAAF,CAAcjsE,CAAd,IAAiB2mC,CAAjB,EAAmBvL,CAAC,CAAC6wC,WAAF,CAAc5D,EAAE,CAACroE,CAAD,CAAhB,IAAqB2mC,CAA/C;AAAiD,KAA79Q,EAA89QvL,CAAC,CAACsvC,YAAF,GAAe,UAAS1qE,CAAT,EAAW;AAAC,UAAGA,CAAC,IAAEo7B,CAAC,CAAC6wC,WAAR,EAAoB,OAAO7wC,CAAC,CAAC6wC,WAAF,CAAcjsE,CAAd,CAAP;AAAwB,KAAriR,EAAsiRo7B,CAA7iR;AAA+iR,GAA3pT,EAAP;;AAAqqTotC,IAAE,CAACzuD,SAAH,CAAa+xD,YAAb,GAA0B,cAAY,OAAOxpD,CAAC,CAACuxB,qBAArB,IAA4C,cAAY,OAAOvxB,CAAC,CAACwiC,oBAA3F,EAAgH0jB,EAAE,CAACuD,iBAAH,CAAqB,WAArB,EAAiCvD,EAAjC,CAAhH;;AAAqJ,MAAI2D,EAAE,GAAC,SAAHA,EAAG,CAASnsE,CAAT,EAAW;AAAC,QAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,MAAM,IAAIosE,cAAJ,CAAmB,2DAAnB,CAAN;AAAsF,WAAOpsE,CAAP;AAAS,GAAhI;;AAAiI2mC,GAAC,CAAC,UAASA,CAAT,EAAW;AAAC,aAAS5lC,CAAT,CAAWf,CAAX,EAAa;AAAC,aAAM,cAAY,OAAOirB,MAAnB,IAA2B,oBAAiBA,MAAM,CAACC,QAAxB,CAA3B,GAA4Dyb,CAAC,CAAC7mC,OAAF,GAAUiB,CAAC,GAAC,WAASf,CAAT,EAAW;AAAC,uBAAcA,CAAd;AAAgB,OAApG,GAAqG2mC,CAAC,CAAC7mC,OAAF,GAAUiB,CAAC,GAAC,WAASf,CAAT,EAAW;AAAC,eAAOA,CAAC,IAAE,cAAY,OAAOirB,MAAtB,IAA8BjrB,CAAC,CAACwoB,WAAF,KAAgByC,MAA9C,IAAsDjrB,CAAC,KAAGirB,MAAM,CAAClR,SAAjE,GAA2E,QAA3E,WAA2F/Z,CAA3F,CAAP;AAAoG,OAAjO,EAAkOe,CAAC,CAACf,CAAD,CAAzO;AAA6O;;AAAA2mC,KAAC,CAAC7mC,OAAF,GAAUiB,CAAV;AAAY,GAApR,CAAD,EAAuR4lC,CAAC,CAAC,UAASA,CAAT,EAAW;AAAC,aAAS5lC,CAAT,CAAWf,CAAX,EAAa;AAAC,aAAO2mC,CAAC,CAAC7mC,OAAF,GAAUiB,CAAC,GAACyF,MAAM,CAAC6lE,cAAP,GAAsB7lE,MAAM,CAACogB,cAA7B,GAA4C,UAAS5mB,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACyjE,SAAF,IAAaj9D,MAAM,CAACogB,cAAP,CAAsB5mB,CAAtB,CAApB;AAA6C,OAAjH,EAAkHe,CAAC,CAACf,CAAD,CAA1H;AAA8H;;AAAA2mC,KAAC,CAAC7mC,OAAF,GAAUiB,CAAV;AAAY,GAArK,CAAxR;;AAA+b,MAAIurE,EAAJ;AAAA,MAAOC,EAAP;AAAA,MAAUC,EAAV;AAAA,MAAaC,EAAb;AAAA,MAAgBC,EAAE,GAAC,SAAHA,EAAG,CAAS1sE,CAAT,EAAW2mC,CAAX,EAAa;AAAC3mC,KAAC,CAAC+Z,SAAF,GAAYvT,MAAM,CAACgW,MAAP,CAAcmqB,CAAC,CAAC5sB,SAAhB,CAAZ,EAAuC,CAAC/Z,CAAC,CAAC+Z,SAAF,CAAYyO,WAAZ,GAAwBxoB,CAAzB,EAA4ByjE,SAA5B,GAAsC98B,CAA7E;AAA+E,GAAhH;AAAA,MAAiHgmC,EAAE,GAACrqD,CAAC,CAAC1M,SAAF,IAAa0M,CAAC,CAAC1M,SAAF,CAAYC,SAAzB,IAAoC,EAAxJ;AAAA,MAA2J+2D,EAAE,GAAC,yBAAyBrvD,IAAzB,CAA8BovD,EAA9B,CAA9J;AAAA,MAAgME,EAAE,GAACD,EAAE,GAAC3pD,UAAU,CAAC2pD,EAAE,CAAC//C,GAAH,EAAD,CAAX,GAAsB,IAA3N;AAAA,MAAgOigD,EAAE,GAAC,QAAQn3D,IAAR,CAAag3D,EAAb,CAAnO;AAAA,MAAoPI,EAAE,GAAC,CAACT,EAAE,GAACK,EAAE,CAACl9C,KAAH,CAAS,YAAT,CAAJ,KAA6B68C,EAAE,CAAC,CAAD,CAA/B,GAAmCA,EAAE,CAAC,CAAD,CAArC,GAAyC,IAAhS;AAAA,MAAqSU,EAAE,GAAC,WAAWr3D,IAAX,CAAgBg3D,EAAhB,CAAxS;AAAA,MAA4TM,EAAE,GAAC,YAAU;AAAC,QAAIjtE,CAAC,GAAC2sE,EAAE,CAACl9C,KAAH,CAAS,wCAAT,CAAN;AAAyD,QAAG,CAACzvB,CAAJ,EAAM,OAAO,IAAP;AAAY,QAAI2mC,CAAC,GAAC3mC,CAAC,CAAC,CAAD,CAAD,IAAMijB,UAAU,CAACjjB,CAAC,CAAC,CAAD,CAAF,CAAtB;AAAA,QAA6Be,CAAC,GAACf,CAAC,CAAC,CAAD,CAAD,IAAMijB,UAAU,CAACjjB,CAAC,CAAC,CAAD,CAAF,CAA/C;AAAsD,WAAO2mC,CAAC,IAAE5lC,CAAH,GAAKkiB,UAAU,CAACjjB,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAASA,CAAC,CAAC,CAAD,CAAX,CAAf,GAA+B2mC,CAAC,IAAE,IAAzC;AAA8C,GAA1L,EAA/T;AAAA,MAA4fumC,EAAE,GAACF,EAAE,IAAEC,EAAE,GAAC,CAAP,IAAUJ,EAAE,GAAC,GAA5gB;AAAA,MAAghBM,EAAE,GAAC,WAAWx3D,IAAX,CAAgBg3D,EAAhB,CAAnhB;AAAA,MAAuiBS,EAAE,GAAC,OAAOz3D,IAAP,CAAYg3D,EAAZ,CAA1iB;AAAA,MAA0jBU,EAAE,GAAC,CAACD,EAAD,KAAM,UAAUz3D,IAAV,CAAeg3D,EAAf,KAAoB,SAASh3D,IAAT,CAAcg3D,EAAd,CAA1B,CAA7jB;AAAA,MAA0mBW,EAAE,GAAC,CAACf,EAAE,GAACI,EAAE,CAACl9C,KAAH,CAAS,uBAAT,CAAJ,KAAwC88C,EAAE,CAAC,CAAD,CAA1C,GAA8CtpD,UAAU,CAACspD,EAAE,CAAC,CAAD,CAAH,CAAxD,GAAgE,IAA7qB;AAAA,MAAkrBgB,EAAE,IAAEf,EAAE,GAAC,kBAAkBjvD,IAAlB,CAAuBovD,EAAvB,CAAH,EAA8B,EAAEF,EAAE,GAACD,EAAE,IAAEvpD,UAAU,CAACupD,EAAE,CAAC,CAAD,CAAH,CAAnB,KAA6B,gBAAgB72D,IAAhB,CAAqBg3D,EAArB,CAA7B,IAAuD,UAAUh3D,IAAV,CAAeg3D,EAAf,CAAvD,KAA4EF,EAAE,GAAC,EAA/E,CAA9B,EAAiHA,EAAnH,CAAprB;AAAA,MAA2yBe,EAAE,GAAC,UAAU73D,IAAV,CAAeg3D,EAAf,KAAoB,CAACU,EAArB,IAAyB,CAACL,EAA1B,IAA8B,CAACI,EAA70B;AAAA,MAAg1BK,EAAE,GAAC,WAAW93D,IAAX,CAAgBg3D,EAAhB,CAAn1B;AAAA,MAAu2Be,EAAE,GAACzwC,CAAC,OAAK,kBAAiB3a,CAAjB,IAAoBA,CAAC,CAAC1M,SAAF,CAAY+3D,cAAhC,IAAgDrrD,CAAC,CAACsrD,aAAF,IAAiBtrD,CAAC,CAACngB,QAAF,YAAsBmgB,CAAC,CAACsrD,aAA9F,CAA32B;AAAA,MAAw9BC,EAAE,GAAC,QAAQl4D,IAAR,CAAag3D,EAAb,KAAkBa,EAAE,IAAEE,EAAJ,IAAQ,CAAC,UAAU/3D,IAAV,CAAeg3D,EAAf,CAAt/B;AAAA,MAAygCmB,EAAE,GAAC,UAAUn4D,IAAV,CAAeg3D,EAAf,KAAoB,CAACkB,EAAjiC;AAAA,MAAoiCE,EAAE,GAACD,EAAE,IAAED,EAAJ,IAAQf,EAA/iC;AAAA,MAAkjCkB,EAAE,GAAC,CAACR,EAAE,IAAEO,EAAL,KAAU,CAACV,EAAhkC;AAAA,MAAmkCY,EAAE,GAACznE,MAAM,CAAC0pD,MAAP,CAAc;AAACuT,aAAS,EAAC,IAAX;AAAgByK,WAAO,EAACpB,EAAxB;AAA2BqB,eAAW,EAACpB,EAAvC;AAA0CqB,cAAU,EAACpB,EAArD;AAAwDqB,mBAAe,EAACpB,EAAxE;AAA2EqB,qBAAiB,EAACpB,EAA7F;AAAgGqB,cAAU,EAACpB,EAA3G;AAA8GqB,WAAO,EAACpB,EAAtH;AAAyHqB,aAAS,EAACpB,EAAnI;AAAsIqB,kBAAc,EAACpB,EAArJ;AAAwJqB,cAAU,EAACpB,EAAnK;AAAsKqB,aAAS,EAACpB,EAAhL;AAAmLqB,cAAU,EAACpB,EAA9L;AAAiMqB,iBAAa,EAACpB,EAA/M;AAAkNqB,WAAO,EAAClB,EAA1N;AAA6NmB,aAAS,EAAClB,EAAvO;AAA0OmB,UAAM,EAAClB,EAAjP;AAAoPmB,iBAAa,EAAClB;AAAlQ,GAAd,CAAtkC;;AAA21C,WAASmB,EAAT,CAAYnvE,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoB;AAAC,WAAO,UAASt6B,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAG,YAAU,OAAO4lC,CAAjB,IAAoBA,CAAC,GAAC,CAAtB,IAAyB5lC,CAAC,GAAC4lC,CAA9B,EAAgC,MAAM,IAAIzzB,KAAJ,CAAU,wBAAsBlT,CAAtB,GAAwB,yCAAxB,GAAkE2mC,CAAlE,GAAoE,uCAApE,GAA4G5lC,CAA5G,GAA8G,IAAxH,CAAN;AAAoI,KAApL,CAAqLf,CAArL,EAAuLs6B,CAAvL,EAAyLv5B,CAAC,CAACmC,MAAF,GAAS,CAAlM,GAAqMnC,CAAC,CAACu5B,CAAD,CAAD,CAAKqM,CAAL,CAA5M;AAAoN;;AAAA,WAASuV,EAAT,CAAYl8C,CAAZ,EAAc;AAAC,WAAO,KAAK,CAAL,KAASA,CAAT,IAAY,MAAIA,CAAC,CAACkD,MAAlB,GAAyB;AAACA,YAAM,EAAC,CAAR;AAAUse,WAAK,EAAC,iBAAU;AAAC,cAAM,IAAItO,KAAJ,CAAU,iCAAV,CAAN;AAAmD,OAA9E;AAA+EwW,SAAG,EAAC,eAAU;AAAC,cAAM,IAAIxW,KAAJ,CAAU,iCAAV,CAAN;AAAmD;AAAjJ,KAAzB,GAA4K;AAAChQ,YAAM,EAAClD,CAAC,CAACkD,MAAV;AAAiBse,WAAK,EAAC2tD,EAAE,CAAC5yD,IAAH,CAAQ,IAAR,EAAa,OAAb,EAAqB,CAArB,EAAuBvc,CAAvB,CAAvB;AAAiD0pB,SAAG,EAACylD,EAAE,CAAC5yD,IAAH,CAAQ,IAAR,EAAa,KAAb,EAAmB,CAAnB,EAAqBvc,CAArB;AAArD,KAAnL;AAAiQ;;AAAA,WAASovE,EAAT,CAAYpvE,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAOnrB,KAAK,CAACG,OAAN,CAAc3b,CAAd,IAAiBk8C,EAAE,CAACl8C,CAAD,CAAnB,GAAuB,KAAK,CAAL,KAASA,CAAT,IAAY,KAAK,CAAL,KAAS2mC,CAArB,GAAuBuV,EAAE,EAAzB,GAA4BA,EAAE,CAAC,CAAC,CAACl8C,CAAD,EAAG2mC,CAAH,CAAD,CAAD,CAA5D;AAAsE;;AAAA,WAAS0oC,EAAT,CAAYrvE,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAJ;AAAA,QAAMu5B,CAAN;AAAA,QAAQwmC,CAAC,GAAC,CAAV;AAAY,QAAG,CAACn6B,CAAJ,EAAM,OAAO,CAAP;AAAS3mC,KAAC,IAAEA,CAAC,CAACkD,MAAL,KAAclD,CAAC,GAACovE,EAAE,CAAC,CAAD,EAAG,CAAH,CAAlB;;AAAyB,SAAI,IAAI1qD,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC1kB,CAAC,CAACkD,MAAhB,EAAuBwhB,CAAC,EAAxB;AAA2B3jB,OAAC,GAACf,CAAC,CAACwhB,KAAF,CAAQkD,CAAR,CAAF,EAAaiiB,CAAC,IAAErM,CAAC,GAACt6B,CAAC,CAAC0pB,GAAF,CAAMhF,CAAN,CAAJ,CAAD,KAAiB4V,CAAC,GAACqM,CAAnB,CAAb,EAAmCm6B,CAAC,IAAExmC,CAAC,GAACv5B,CAAxC;AAA3B;;AAAqE,WAAO+/D,CAAC,GAACn6B,CAAT;AAAW;;AAAA,OAAI,IAAI2oC,EAAJ,EAAOC,EAAE,GAAC;AAACC,YAAQ,EAAC,CAAC;AAAX,GAAV,EAAwBC,EAAE,GAAC,CAAC,CAAC,mBAAD,EAAqB,gBAArB,EAAsC,mBAAtC,EAA0D,mBAA1D,EAA8E,kBAA9E,EAAiG,iBAAjG,EAAmH,YAAnH,CAAD,EAAkI,CAAC,yBAAD,EAA2B,sBAA3B,EAAkD,yBAAlD,EAA4E,yBAA5E,EAAsG,wBAAtG,EAA+H,uBAA/H,EAAuJ,qBAAvJ,CAAlI,EAAgT,CAAC,sBAAD,EAAwB,qBAAxB,EAA8C,sBAA9C,EAAqE,sBAArE,EAA4F,qBAA5F,EAAkH,oBAAlH,EAAuI,kBAAvI,CAAhT,EAA2c,CAAC,qBAAD,EAAuB,kBAAvB,EAA0C,qBAA1C,EAAgE,qBAAhE,EAAsF,oBAAtF,EAA2G,mBAA3G,EAA+H,gBAA/H,CAA3c,CAA3B,EAAwnBC,EAAE,GAACD,EAAE,CAAC,CAAD,CAA7nB,EAAioBE,EAAE,GAAC,CAAxoB,EAA0oBA,EAAE,GAACF,EAAE,CAACvsE,MAAhpB,EAAupBysE,EAAE,EAAzpB;AAA4pB,QAAGF,EAAE,CAACE,EAAD,CAAF,CAAO,CAAP,KAAYlP,CAAf,EAAiB;AAAC6O,QAAE,GAACG,EAAE,CAACE,EAAD,CAAL;AAAU;AAAM;AAA9rB;;AAA8rB,MAAGL,EAAH,EAAM;AAAC,SAAI,IAAIM,EAAE,GAAC,CAAX,EAAaA,EAAE,GAACN,EAAE,CAACpsE,MAAnB,EAA0B0sE,EAAE,EAA5B;AAA+BL,QAAE,CAACG,EAAE,CAACE,EAAD,CAAH,CAAF,GAAWN,EAAE,CAACM,EAAD,CAAb;AAA/B;;AAAiDL,MAAE,CAACC,QAAH,GAAYF,EAAE,CAAC,CAAD,CAAF,KAAQI,EAAE,CAAC,CAAD,CAAtB;AAA0B;;AAAA,WAASG,EAAT,CAAY7vE,CAAZ,EAAc;AAAC,QAAGA,CAAC,YAAY6vE,EAAhB,EAAmB,OAAO7vE,CAAP;AAAS,gBAAU,OAAOA,CAAjB,GAAmB,KAAK2nB,IAAL,GAAU3nB,CAA7B,GAA+B,YAAU,OAAOA,CAAjB,GAAmB,KAAKie,OAAL,GAAaje,CAAhC,GAAkC2gE,CAAC,CAAC3gE,CAAD,CAAD,KAAO,YAAU,OAAOA,CAAC,CAAC2nB,IAAnB,KAA0B,KAAKA,IAAL,GAAU3nB,CAAC,CAAC2nB,IAAtC,GAA4C4H,CAAC,CAAC,IAAD,EAAMvvB,CAAN,CAApD,CAAjE,EAA+H,KAAKie,OAAL,KAAe,KAAKA,OAAL,GAAa4xD,EAAE,CAACC,eAAH,CAAmB,KAAKnoD,IAAxB,KAA+B,EAA3D,CAA/H;AAA8L;;AAAAkoD,IAAE,CAAC91D,SAAH,CAAa4N,IAAb,GAAkB,CAAlB,EAAoBkoD,EAAE,CAAC91D,SAAH,CAAakE,OAAb,GAAqB,EAAzC,EAA4C4xD,EAAE,CAAC91D,SAAH,CAAapY,MAAb,GAAoB,IAAhE,EAAqEkuE,EAAE,CAACE,UAAH,GAAc,CAAC,kBAAD,EAAoB,mBAApB,EAAwC,mBAAxC,EAA4D,kBAA5D,EAA+E,6BAA/E,EAA6G,qBAA7G,CAAnF,EAAuNF,EAAE,CAACC,eAAH,GAAmB;AAAC,OAAE,gCAAH;AAAoC,OAAE,6DAAtC;AAAoG,OAAE,6HAAtG;AAAoO,OAAE,oHAAtO;AAA2V,OAAE;AAA7V,GAA1O;;AAA4oB,OAAI,IAAIE,EAAE,GAAC,CAAX,EAAaA,EAAE,GAACH,EAAE,CAACE,UAAH,CAAc7sE,MAA9B,EAAqC8sE,EAAE,EAAvC;AAA0CH,MAAE,CAACA,EAAE,CAACE,UAAH,CAAcC,EAAd,CAAD,CAAF,GAAsBA,EAAtB,EAAyBH,EAAE,CAAC91D,SAAH,CAAa81D,EAAE,CAACE,UAAH,CAAcC,EAAd,CAAb,IAAgCA,EAAzD;AAA1C;;AAAsG,MAAIC,EAAE,GAAC,SAAHA,EAAG,CAASjwE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAJ;AAAA,QAAMu5B,CAAC,GAAC,IAAR;;AAAa,QAAG;AAACv5B,OAAC,GAAC+N,IAAI,CAACC,KAAL,CAAW/O,CAAX,EAAa2mC,CAAb,CAAF;AAAkB,KAAtB,CAAsB,OAAM3mC,CAAN,EAAQ;AAACs6B,OAAC,GAACt6B,CAAF;AAAI;;AAAA,WAAM,CAACs6B,CAAD,EAAGv5B,CAAH,CAAN;AAAY,GAAjF;;AAAkF,WAASmvE,EAAT,CAAYlwE,CAAZ,EAAc;AAAC,WAAO,QAAMA,CAAN,IAAS,cAAY,OAAOA,CAAC,CAAC2E,IAArC;AAA0C;;AAAA,WAASwrE,EAAT,CAAYnwE,CAAZ,EAAc;AAACkwE,MAAE,CAAClwE,CAAD,CAAF,IAAOA,CAAC,CAAC2E,IAAF,CAAO,IAAP,EAAY,UAAS3E,CAAT,EAAW,CAAE,CAAzB,CAAP;AAAkC;;AAAA,WAASowE,EAAT,CAAY91C,CAAZ,EAAc;AAAC,WAAM,CAAC,MAAD,EAAQ,OAAR,EAAgB,UAAhB,EAA2B,IAA3B,EAAgC,iCAAhC,EAAkE,MAAlE,EAAyE,KAAzE,EAAgFiwC,MAAhF,CAAuF,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,aAAOu5B,CAAC,CAACqM,CAAD,CAAD,KAAO3mC,CAAC,CAAC2mC,CAAD,CAAD,GAAKrM,CAAC,CAACqM,CAAD,CAAb,GAAkB3mC,CAAzB;AAA2B,KAAlI,EAAmI;AAACqwE,UAAI,EAAC/1C,CAAC,CAAC+1C,IAAF,IAAQ70D,KAAK,CAACzB,SAAN,CAAgBkP,GAAhB,CAAoBtjB,IAApB,CAAyB20B,CAAC,CAAC+1C,IAA3B,EAAgC,UAASrwE,CAAT,EAAW;AAAC,eAAM;AAACq1C,mBAAS,EAACr1C,CAAC,CAACq1C,SAAb;AAAuBi7B,iBAAO,EAACtwE,CAAC,CAACswE,OAAjC;AAAyCtoD,cAAI,EAAChoB,CAAC,CAACgoB,IAAhD;AAAqD/mB,YAAE,EAACjB,CAAC,CAACiB;AAA1D,SAAN;AAAoE,OAAhH;AAAd,KAAnI,CAAN;AAA2Q;;AAAA,MAAIsvE,EAAE,GAAC,SAAHA,EAAG,CAASvwE,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAAC0kE,EAAF,CAAK,OAAL,CAAN;AAAA,QAAoB3jE,CAAC,GAACya,KAAK,CAACzB,SAAN,CAAgBkP,GAAhB,CAAoBtjB,IAApB,CAAyBghC,CAAzB,EAA2B,UAAS3mC,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACwwE,KAAT;AAAe,KAAtD,CAAtB;AAA8E,WAAOh1D,KAAK,CAACzB,SAAN,CAAgBkP,GAAhB,CAAoBtjB,IAApB,CAAyBghC,CAAzB,EAA2B,UAAS3mC,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAACypC,EAAE,CAACpwE,CAAC,CAACwwE,KAAH,CAAR;AAAkB,aAAOxwE,CAAC,CAACgT,GAAF,KAAQ2zB,CAAC,CAAC3zB,GAAF,GAAMhT,CAAC,CAACgT,GAAhB,GAAqB2zB,CAA5B;AAA8B,KAAvF,EAAyF5f,MAAzF,CAAgGvL,KAAK,CAACzB,SAAN,CAAgB3V,MAAhB,CAAuBuB,IAAvB,CAA4B3F,CAAC,CAACywE,UAAF,EAA5B,EAA2C,UAASzwE,CAAT,EAAW;AAAC,aAAM,CAAC,CAAD,KAAKe,CAAC,CAACI,OAAF,CAAUnB,CAAV,CAAX;AAAwB,KAA/E,EAAiFipB,GAAjF,CAAqFmnD,EAArF,CAAhG,CAAP;AAAiM,GAAlS;AAAA,MAAmSM,EAAE,GAAC,SAAHA,EAAG,CAAS1wE,CAAT,EAAWe,CAAX,EAAa;AAAC,WAAOf,CAAC,CAAC+I,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC5lC,CAAC,CAAC4vE,kBAAF,CAAqB3wE,CAArB,EAAwBwwE,KAA9B;AAAoC,OAACxwE,CAAC,CAACgT,GAAH,IAAQhT,CAAC,CAACqwE,IAAV,IAAgBrwE,CAAC,CAACqwE,IAAF,CAAOtnE,OAAP,CAAe,UAAS/I,CAAT,EAAW;AAAC,eAAO2mC,CAAC,CAACiqC,MAAF,CAAS5wE,CAAT,CAAP;AAAmB,OAA9C,CAAhB;AAAgE,KAA1H,GAA4He,CAAC,CAAC0vE,UAAF,EAAnI;AAAkJ,GAAtc;AAAA,MAAucI,EAAE,GAAClqC,CAAC,CAAC,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAS5lC,CAAT,CAAWf,CAAX,EAAa;AAAC,UAAGA,CAAC,IAAE,oBAAiBA,CAAjB,CAAN,EAAyB;AAAC,YAAI2mC,CAAC,GAAC3mC,CAAC,CAAC6hB,KAAF,IAAS7hB,CAAC,CAACsqC,OAAX,IAAoBtqC,CAAC,CAACqqC,QAA5B;AAAqC1D,SAAC,KAAG3mC,CAAC,GAAC2mC,CAAL,CAAD;AAAS;;AAAA,UAAG,YAAU,OAAO3mC,CAApB,EAAsB,OAAOob,CAAC,CAACpb,CAAD,CAAR;AAAY,UAAIe,CAAJ;AAAA,UAAMu5B,CAAC,GAAC9L,MAAM,CAACxuB,CAAD,CAAd;AAAkB,aAAM,CAACe,CAAC,GAAC+/D,CAAC,CAACxmC,CAAC,CAACjW,WAAF,EAAD,CAAJ,IAAuBtjB,CAAvB,GAAyB,CAACA,CAAC,GAAC2jB,CAAC,CAAC4V,CAAC,CAACjW,WAAF,EAAD,CAAJ,MAAyB,MAAIiW,CAAC,CAACp3B,MAAN,GAAao3B,CAAC,CAACxL,UAAF,CAAa,CAAb,CAAb,GAA6B,KAAK,CAA3D,CAA/B;AAA6F;;AAAA/tB,KAAC,CAAC+vE,UAAF,GAAa,UAAS9wE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG3mC,CAAC,IAAE,oBAAiBA,CAAjB,CAAN,EAAyB;AAAC,YAAIe,CAAC,GAACf,CAAC,CAAC6hB,KAAF,IAAS7hB,CAAC,CAACsqC,OAAX,IAAoBtqC,CAAC,CAACqqC,QAA5B;AAAqC,YAAG,QAAMtpC,CAAT,EAAW,OAAM,CAAC,CAAP;;AAAS,YAAG,YAAU,OAAO4lC,CAApB,EAAsB;AAAC,cAAIrM,CAAJ;AAAM,cAAGA,CAAC,GAACwmC,CAAC,CAACn6B,CAAC,CAACtiB,WAAF,EAAD,CAAN,EAAwB,OAAOiW,CAAC,KAAGv5B,CAAX;AAAa,cAAGu5B,CAAC,GAAC5V,CAAC,CAACiiB,CAAC,CAACtiB,WAAF,EAAD,CAAN,EAAwB,OAAOiW,CAAC,KAAGv5B,CAAX;AAAa,SAAvG,MAA4G,IAAG,YAAU,OAAO4lC,CAApB,EAAsB,OAAOA,CAAC,KAAG5lC,CAAX;;AAAa,eAAM,CAAC,CAAP;AAAS;AAAC,KAAvQ;;AAAwQ,QAAI+/D,CAAC,GAAC,CAACn6B,CAAC,GAAC3mC,CAAC,CAACF,OAAF,GAAUiB,CAAb,EAAgB4mB,IAAhB,GAAqBgf,CAAC,CAACoqC,KAAF,GAAQ;AAACC,eAAS,EAAC,CAAX;AAAaC,SAAG,EAAC,CAAjB;AAAmBC,WAAK,EAAC,EAAzB;AAA4B1gD,WAAK,EAAC,EAAlC;AAAqC2gD,UAAI,EAAC,EAA1C;AAA6C/nE,SAAG,EAAC,EAAjD;AAAoD,qBAAc,EAAlE;AAAqE,mBAAY,EAAjF;AAAoFgoE,SAAG,EAAC,EAAxF;AAA2FC,WAAK,EAAC,EAAjG;AAAoG,iBAAU,EAA9G;AAAiH,mBAAY,EAA7H;AAAgI3nD,SAAG,EAAC,EAApI;AAAuI4nD,UAAI,EAAC,EAA5I;AAA+InxD,UAAI,EAAC,EAApJ;AAAuJoxD,QAAE,EAAC,EAA1J;AAA6JjuD,WAAK,EAAC,EAAnK;AAAsKkuD,UAAI,EAAC,EAA3K;AAA8K/jC,YAAM,EAAC,EAArL;AAAwL,gBAAO,EAA/L;AAAkMgkC,aAAO,EAAC,EAA1M;AAA6M,sBAAe,EAA5N;AAA+N,uBAAgB,EAA/O;AAAkP,kBAAW,GAA7P;AAAiQ,kBAAW,GAA5Q;AAAgR,kBAAW,GAA3R;AAA+R,kBAAW,GAA1S;AAA8S,kBAAW,GAAzT;AAA6T,kBAAW,GAAxU;AAA4U,qBAAc,GAA1V;AAA8V,qBAAc,GAA5W;AAAgX,uBAAgB,GAAhY;AAAoY,WAAI,GAAxY;AAA4Y,WAAI,GAAhZ;AAAoZ,WAAI,GAAxZ;AAA4Z,WAAI,GAAha;AAAoa,WAAI,GAAxa;AAA4a,WAAI,GAAhb;AAAob,WAAI,GAAxb;AAA4b,WAAI,GAAhc;AAAoc,YAAK,GAAzc;AAA6c,WAAI,GAAjd;AAAqd,WAAI;AAAzd,KAAnC;AAAA,QAAigB/sD,CAAC,GAACiiB,CAAC,CAAC+qC,OAAF,GAAU;AAACC,aAAO,EAAC,EAAT;AAAY,WAAI,EAAhB;AAAmB,WAAI,EAAvB;AAA0B,WAAI,EAA9B;AAAiC,WAAI,EAArC;AAAwCC,SAAG,EAAC,EAA5C;AAA+CC,aAAO,EAAC,EAAvD;AAA0DptC,YAAM,EAAC,EAAjE;AAAoE/3B,WAAK,EAAC,EAA1E;AAA6E,eAAM,EAAnF;AAAsFolE,UAAI,EAAC,EAA3F;AAA8F,gBAAO,EAArG;AAAwGzjD,YAAM,EAAC,EAA/G;AAAkH0jD,SAAG,EAAC,EAAtH;AAAyHC,cAAQ,EAAC,EAAlI;AAAqIC,UAAI,EAAC,EAA1I;AAA6IC,UAAI,EAAC,EAAlJ;AAAqJC,SAAG,EAAC,EAAzJ;AAA4JC,SAAG,EAAC,EAAhK;AAAmKC,SAAG,EAAC;AAAvK,KAA7gB;;AAAwrB,SAAI/3C,CAAC,GAAC,EAAN,EAASA,CAAC,GAAC,GAAX,EAAeA,CAAC,EAAhB;AAAmBwmC,OAAC,CAACtyC,MAAM,CAACC,YAAP,CAAoB6L,CAApB,CAAD,CAAD,GAA0BA,CAAC,GAAC,EAA5B;AAAnB;;AAAkD,SAAI,IAAIA,CAAC,GAAC,EAAV,EAAaA,CAAC,GAAC,EAAf,EAAkBA,CAAC,EAAnB;AAAsBwmC,OAAC,CAACxmC,CAAC,GAAC,EAAH,CAAD,GAAQA,CAAR;AAAtB;;AAAgC,SAAIA,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,EAAV,EAAaA,CAAC,EAAd;AAAiBwmC,OAAC,CAAC,MAAIxmC,CAAL,CAAD,GAASA,CAAC,GAAC,GAAX;AAAjB;;AAAgC,SAAIA,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,EAAV,EAAaA,CAAC,EAAd;AAAiBwmC,OAAC,CAAC,YAAUxmC,CAAX,CAAD,GAAeA,CAAC,GAAC,EAAjB;AAAjB;;AAAqC,QAAIlf,CAAC,GAACurB,CAAC,CAAC2rC,KAAF,GAAQ3rC,CAAC,CAAC4rC,KAAF,GAAQ,EAAtB;;AAAyB,SAAIj4C,CAAJ,IAASwmC,CAAT;AAAW1lD,OAAC,CAAC0lD,CAAC,CAACxmC,CAAD,CAAF,CAAD,GAAQA,CAAR;AAAX;;AAAqB,SAAI,IAAIqmC,CAAR,IAAaj8C,CAAb;AAAeo8C,OAAC,CAACH,CAAD,CAAD,GAAKj8C,CAAC,CAACi8C,CAAD,CAAN;AAAf;AAAyB,GAAp5C,CAA3c;AAAA,MAAi2D6R,EAAE,IAAE3B,EAAE,CAAClpD,IAAH,EAAQkpD,EAAE,CAACE,KAAX,EAAiBF,EAAE,CAACa,OAApB,EAA4Bb,EAAE,CAACyB,KAA/B,EAAqCzB,EAAE,CAAC0B,KAAxC,EAA8C,kBAAhD,CAAn2D;AAAA,MAAu6DE,EAAE,GAAC,UAASn4C,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2B+rC,OAA3B,GAAmC3xE,CAAC,CAAC4xE,cAAF,GAAiB5xE,CAAC,CAAC6xE,cAAF,GAAiB,CAAC,CAAtE,EAAwE7xE,CAAC,CAAC8xE,SAAF,CAAY,CAAC9xE,CAAC,CAAC6nE,QAAF,CAAWkK,WAAxB,CAAxE,EAA6G/xE,CAAC,CAAC+6B,OAAF,CAAU/6B,CAAC,CAAC6nE,QAAF,CAAW9sC,OAArB,CAA7G,EAA2I/6B,CAAC,CAACopE,UAAF,GAAavI,CAAC,CAAC,KAAD,EAAO;AAAC3vC,iBAAS,EAACugD,EAAE,GAAC;AAAd,OAAP,EAAiC;AAACO,YAAI,EAAC;AAAN,OAAjC,CAAzJ,EAA6MhyE,CAAC,CAACiyE,OAAF,GAAUpR,CAAC,CAAC,GAAD,EAAK;AAAC3vC,iBAAS,EAACugD,EAAE,GAAC,+BAAd;AAA8CvxE,UAAE,EAACF,CAAC,CAACwjB,EAAF,GAAOlD,YAAP,CAAoB,kBAApB;AAAjD,OAAL,CAAxN,EAAwTygD,CAAC,CAAC/gE,CAAC,CAACiyE,OAAH,EAAWjyE,CAAC,CAACkyE,WAAF,EAAX,CAAzT,EAAqVlyE,CAAC,CAACgoE,GAAF,CAAM7gD,WAAN,CAAkBnnB,CAAC,CAACiyE,OAApB,CAArV,EAAkXjyE,CAAC,CAACgoE,GAAF,CAAM7gD,WAAN,CAAkBnnB,CAAC,CAACopE,UAApB,CAAlX,EAAkZppE,CAAxZ;AAA0Z;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,aAAOvpC,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC,KAAK64C,aAAL,EAAX;AAAgC30C,gBAAQ,EAAC,CAAC;AAA1C,OAArC,EAAkF;AAAC,4BAAmB,KAAKl1B,EAAL,KAAU,cAA9B;AAA6C,uBAAc,MAA3D;AAAkE,sBAAa,KAAKiyE,KAAL,EAA/E;AAA4FH,YAAI,EAAC;AAAjG,OAAlF,CAAP;AAAqM,KAA3N,EAA4NpsC,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAK04D,UAAL,GAAgB,IAAhB,EAAqB,KAAK6I,OAAL,GAAa,IAAlC,EAAuC,KAAKG,mBAAL,GAAyB,IAAhE,EAAqE74C,CAAC,CAACvgB,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAArE;AAAoG,KAArV,EAAsVghC,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAO0H,EAAE,GAAC,cAAH,GAAkBl4C,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAAzB;AAA8D,KAA/a,EAAgbghC,CAAC,CAACusC,KAAF,GAAQ,YAAU;AAAC,aAAO,KAAKnJ,QAAL,CAAc,KAAKnB,QAAL,CAAcsK,KAAd,IAAqB,cAAnC,CAAP;AAA0D,KAA7f,EAA8fvsC,CAAC,CAACssC,WAAF,GAAc,YAAU;AAAC,UAAIjzE,CAAC,GAAC,KAAK4oE,QAAL,CAAcqK,WAAd,IAA2B,KAAKlJ,QAAL,CAAc,yBAAd,CAAjC;AAA0E,aAAO,KAAK8I,SAAL,OAAmB7yE,CAAC,IAAE,MAAI,KAAK+pE,QAAL,CAAc,qFAAd,CAA1B,GAAgI/pE,CAAvI;AAAyI,KAA1uB,EAA2uB2mC,CAAC,CAACyZ,IAAF,GAAO,YAAU;AAAC,UAAG,CAAC,KAAKsyB,OAAT,EAAiB;AAAC,YAAI1yE,CAAC,GAAC,KAAKwM,MAAL,EAAN;AAAoB,aAAKjH,OAAL,CAAa,iBAAb,GAAgC,KAAKmtE,OAAL,GAAa,CAAC,CAA9C,EAAgD,CAAC,KAAK9J,QAAL,CAAcwK,UAAf,KAA4B,KAAKT,cAAL,IAAqB,KAAKC,cAAtD,KAAuE,KAAKS,IAAL,EAAvH,EAAmI,KAAKC,WAAL,GAAiB,CAACtzE,CAAC,CAACiQ,MAAF,EAArJ,EAAgK,KAAK24D,QAAL,CAAc2K,WAAd,IAA2B,KAAKD,WAAhC,IAA6CtzE,CAAC,CAAC0M,KAAF,EAA7M,EAAuN,KAAKrK,EAAL,CAAQ,SAAR,EAAkB,KAAKmpE,aAAvB,CAAvN,EAA6P,KAAKgI,YAAL,GAAkBxzE,CAAC,CAACkO,QAAF,EAA/Q,EAA4RlO,CAAC,CAACkO,QAAF,CAAW,CAAC,CAAZ,CAA5R,EAA2S,KAAK01B,IAAL,EAA3S,EAAuT,KAAK6vC,iBAAL,EAAvT,EAAgV,KAAKlvD,EAAL,GAAUtC,YAAV,CAAuB,aAAvB,EAAqC,OAArC,CAAhV,EAA8X,KAAK1c,OAAL,CAAa,WAAb,CAA9X,EAAwZ,KAAKotE,cAAL,GAAoB,CAAC,CAA7a;AAA+a;AAAC,KAAntC,EAAotChsC,CAAC,CAAC+sC,MAAF,GAAS,UAAS1zE,CAAT,EAAW;AAAC,aAAM,aAAW,OAAOA,CAAlB,IAAqB,KAAKA,CAAC,GAAC,MAAD,GAAQ,OAAd,GAArB,EAA8C,KAAK0yE,OAAzD;AAAiE,KAA1yC,EAA2yC/rC,CAAC,CAACgtC,KAAF,GAAQ,YAAU;AAAC,UAAG,KAAKjB,OAAR,EAAgB;AAAC,YAAI1yE,CAAC,GAAC,KAAKwM,MAAL,EAAN;AAAoB,aAAKjH,OAAL,CAAa,kBAAb,GAAiC,KAAKmtE,OAAL,GAAa,CAAC,CAA/C,EAAiD,KAAKY,WAAL,IAAkB,KAAK1K,QAAL,CAAc2K,WAAhC,IAA6CvzE,CAAC,CAAC4M,IAAF,EAA9F,EAAuG,KAAKxK,GAAL,CAAS,SAAT,EAAmB,KAAKopE,aAAxB,CAAvG,EAA8I,KAAKgI,YAAL,IAAmBxzE,CAAC,CAACkO,QAAF,CAAW,CAAC,CAAZ,CAAjK,EAAgL,KAAK41B,IAAL,EAAhL,EAA4L,KAAKvf,EAAL,GAAUtC,YAAV,CAAuB,aAAvB,EAAqC,MAArC,CAA5L,EAAyO,KAAK1c,OAAL,CAAa,YAAb,CAAzO,EAAoQ,KAAKquE,gBAAL,EAApQ,EAA4R,KAAKhL,QAAL,CAAciL,SAAd,IAAyB,KAAKpiE,OAAL,EAArT;AAAoU;AAAC,KAAxqD,EAAyqDk1B,CAAC,CAACksC,SAAF,GAAY,UAAS7yE,CAAT,EAAW;AAAC,UAAG,aAAW,OAAOA,CAArB,EAAuB;AAAC,YAAI2mC,CAAC,GAAC,KAAKmtC,UAAL,GAAgB,CAAC,CAAC9zE,CAAxB;AAAA,YAA0Be,CAAC,GAAC,KAAKspE,QAAL,CAAc,aAAd,CAA5B;;AAAyD,YAAG1jC,CAAC,IAAE,CAAC5lC,CAAP,EAAS;AAAC,cAAIu5B,CAAC,GAAC,KAAK6vC,UAAX;AAAsB,eAAKA,UAAL,GAAgB,KAAKpB,GAArB,EAAyBhoE,CAAC,GAAC,KAAKypE,QAAL,CAAc,aAAd,EAA4B;AAACuJ,uBAAW,EAAC;AAAb,WAA5B,CAA3B,EAA2F,KAAK5J,UAAL,GAAgB7vC,CAA3G,EAA6G,KAAKj4B,EAAL,CAAQtB,CAAR,EAAU,OAAV,EAAkB,KAAK4yE,KAAvB,CAA7G;AAA2I;;AAAA,SAAChtC,CAAD,IAAI5lC,CAAJ,KAAQ,KAAKqB,GAAL,CAASrB,CAAT,EAAW,OAAX,EAAmB,KAAK4yE,KAAxB,GAA+B,KAAKxrD,WAAL,CAAiBpnB,CAAjB,CAA/B,EAAmDA,CAAC,CAAC0Q,OAAF,EAA3D;AAAwE;;AAAA,aAAO,KAAKqiE,UAAZ;AAAuB,KAA5hE,EAA6hEntC,CAAC,CAAC0sC,IAAF,GAAO,YAAU;AAAC,WAAKW,QAAL,CAAc,KAAKl4C,OAAL,EAAd;AAA8B,KAA7kE,EAA8kE6K,CAAC,CAACqtC,QAAF,GAAW,UAASh0E,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKujC,SAAL,EAAN;AAAA,UAAuBnpE,CAAC,GAAC4lC,CAAC,CAACtzB,UAA3B;AAAA,UAAsCinB,CAAC,GAACqM,CAAC,CAACxV,WAA1C;AAAsD,WAAK5rB,OAAL,CAAa,iBAAb,GAAgC,KAAKqtE,cAAL,GAAoB,CAAC,CAArD,EAAuD7xE,CAAC,CAAConB,WAAF,CAAcwe,CAAd,CAAvD,EAAwE,KAAKn1B,KAAL,EAAxE,EAAqF2xD,CAAC,CAACx8B,CAAD,EAAG3mC,CAAH,CAAtF,EAA4F,KAAKuF,OAAL,CAAa,WAAb,CAA5F,EAAsH+0B,CAAC,GAACv5B,CAAC,CAACuS,YAAF,CAAeqzB,CAAf,EAAiBrM,CAAjB,CAAD,GAAqBv5B,CAAC,CAACmnB,WAAF,CAAcye,CAAd,CAA5I;AAA6J,UAAIm6B,CAAC,GAAC,KAAKuJ,QAAL,CAAc,aAAd,CAAN;AAAmCvJ,OAAC,IAAE//D,CAAC,CAACmnB,WAAF,CAAc44C,CAAC,CAACiI,GAAhB,CAAH;AAAwB,KAAn3E,EAAo3EpiC,CAAC,CAACn1B,KAAF,GAAQ,YAAU;AAAC,WAAKjM,OAAL,CAAa,kBAAb,GAAiC09D,CAAC,CAAC,KAAKiH,SAAL,EAAD,CAAlC,EAAqD,KAAK3kE,OAAL,CAAa,YAAb,CAArD;AAAgF,KAAv9E,EAAw9EohC,CAAC,CAAC7K,OAAF,GAAU,UAAS97B,CAAT,EAAW;AAAC,aAAM,eAAa,OAAOA,CAApB,KAAwB,KAAKi0E,QAAL,GAAcj0E,CAAtC,GAAyC,KAAKi0E,QAApD;AAA6D,KAA3iF,EAA4iFttC,CAAC,CAAC8sC,iBAAF,GAAoB,YAAU;AAAC,UAAIzzE,CAAC,GAACygE,CAAC,CAACzqC,aAAR;AAAA,UAAsB2Q,CAAC,GAAC,KAAK8hC,OAAL,CAAaM,GAArC;AAAyC,WAAKoK,mBAAL,GAAyB,IAAzB,EAA8B,CAACxsC,CAAC,CAACxa,QAAF,CAAWnsB,CAAX,CAAD,IAAgB2mC,CAAC,KAAG3mC,CAApB,KAAwB,KAAKmzE,mBAAL,GAAyBnzE,CAAzB,EAA2B,KAAKkrC,KAAL,EAAnD,CAA9B;AAA+F,KAAntF,EAAotFvE,CAAC,CAACitC,gBAAF,GAAmB,YAAU;AAAC,WAAKT,mBAAL,KAA2B,KAAKA,mBAAL,CAAyBjoC,KAAzB,IAAiC,KAAKioC,mBAAL,GAAyB,IAArF;AAA2F,KAA70F,EAA80FxsC,CAAC,CAAC6kC,aAAF,GAAgB,UAASxrE,CAAT,EAAW;AAAC,UAAGA,CAAC,CAACqoC,eAAF,IAAoBwoC,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,QAAhB,KAA2B,KAAK6yE,SAAL,EAAlD,EAAmE,OAAO7yE,CAAC,CAACiN,cAAF,IAAmB,KAAK,KAAK0mE,KAAL,EAA/B;;AAA4C,UAAG9C,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,CAAH,EAA0B;AAAC,aAAI,IAAI2mC,CAAJ,EAAM5lC,CAAC,GAAC,KAAKmzE,aAAL,EAAR,EAA6B55C,CAAC,GAAC,KAAKyuC,GAAL,CAAS3nD,aAAT,CAAuB,QAAvB,CAA/B,EAAgE0/C,CAAC,GAAC,CAAtE,EAAwEA,CAAC,GAAC//D,CAAC,CAACmC,MAA5E,EAAmF49D,CAAC,EAApF;AAAuF,cAAGxmC,CAAC,KAAGv5B,CAAC,CAAC+/D,CAAD,CAAR,EAAY;AAACn6B,aAAC,GAACm6B,CAAF;AAAI;AAAM;AAA9G;;AAA8GL,SAAC,CAACzqC,aAAF,KAAkB,KAAK+yC,GAAvB,KAA6BpiC,CAAC,GAAC,CAA/B,GAAkC3mC,CAAC,CAACmqC,QAAF,IAAY,MAAIxD,CAAhB,IAAmB5lC,CAAC,CAACA,CAAC,CAACmC,MAAF,GAAS,CAAV,CAAD,CAAcgoC,KAAd,IAAsBlrC,CAAC,CAACiN,cAAF,EAAzC,IAA6DjN,CAAC,CAACmqC,QAAF,IAAYxD,CAAC,KAAG5lC,CAAC,CAACmC,MAAF,GAAS,CAAzB,KAA6BnC,CAAC,CAAC,CAAD,CAAD,CAAKmqC,KAAL,IAAalrC,CAAC,CAACiN,cAAF,EAA1C,CAA/F;AAA6J;AAAC,KAAhwG,EAAiwG05B,CAAC,CAACutC,aAAF,GAAgB,YAAU;AAAC,UAAIl0E,CAAC,GAAC,KAAK+oE,GAAL,CAAS7sD,gBAAT,CAA0B,GAA1B,CAAN;AAAqC,aAAOV,KAAK,CAACzB,SAAN,CAAgB3V,MAAhB,CAAuBuB,IAAvB,CAA4B3F,CAA5B,EAA8B,UAASA,CAAT,EAAW;AAAC,eAAM,CAACA,CAAC,YAAYsiB,CAAC,CAAC6xD,iBAAf,IAAkCn0E,CAAC,YAAYsiB,CAAC,CAAC8xD,eAAlD,KAAoEp0E,CAAC,CAAC+M,YAAF,CAAe,MAAf,CAApE,IAA4F,CAAC/M,CAAC,YAAYsiB,CAAC,CAAC+xD,gBAAf,IAAiCr0E,CAAC,YAAYsiB,CAAC,CAACgyD,iBAAhD,IAAmEt0E,CAAC,YAAYsiB,CAAC,CAACiyD,mBAAlF,IAAuGv0E,CAAC,YAAYsiB,CAAC,CAACkyD,iBAAvH,KAA2I,CAACx0E,CAAC,CAAC+M,YAAF,CAAe,UAAf,CAAxO,IAAoQ/M,CAAC,YAAYsiB,CAAC,CAACmyD,iBAAnR,IAAsSz0E,CAAC,YAAYsiB,CAAC,CAACoyD,iBAArT,IAAwU10E,CAAC,YAAYsiB,CAAC,CAACqyD,gBAAvV,IAAyW30E,CAAC,CAAC+M,YAAF,CAAe,UAAf,KAA4B,CAAC,CAAD,KAAK/M,CAAC,CAACqhB,YAAF,CAAe,UAAf,CAA1Y,IAAsarhB,CAAC,CAAC+M,YAAF,CAAe,iBAAf,CAA5a;AAA8c,OAAxf,CAAP;AAAigB,KAAl0H,EAAm0H/M,CAA10H;AAA40H,GAAlyI,CAAmyIwoE,EAAnyI,CAA16D;;AAAitMiK,IAAE,CAAC14D,SAAH,CAAa6uD,QAAb,GAAsB;AAAC2K,eAAW,EAAC,CAAC,CAAd;AAAgBM,aAAS,EAAC,CAAC;AAA3B,GAAtB,EAAoDrL,EAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmC0G,EAAnC,CAApD;;AAA2F,MAAImC,EAAE,GAAC,UAASt6C,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa;AAAC,UAAI2mC,CAAJ;AAAM,WAAK,CAAL,KAAS3mC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,CAAC2mC,CAAC,GAACrM,CAAC,CAAC30B,IAAF,CAAO,IAAP,KAAc,IAAjB,EAAuBkvE,OAAvB,GAA+B,EAAlD,EAAqDruE,MAAM,CAAC06B,cAAP,CAAsBirC,EAAE,CAACxlC,CAAD,CAAxB,EAA4B,QAA5B,EAAqC;AAACje,WAAG,EAAC,eAAU;AAAC,iBAAO,KAAKmsD,OAAL,CAAa3xE,MAApB;AAA2B;AAA3C,OAArC,CAArD;;AAAwI,WAAI,IAAInC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACf,CAAC,CAACkD,MAAhB,EAAuBnC,CAAC,EAAxB;AAA2B4lC,SAAC,CAACmuC,QAAF,CAAW90E,CAAC,CAACe,CAAD,CAAZ;AAA3B;;AAA4C,aAAO4lC,CAAP;AAAS;;AAAA+lC,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmuC,QAAF,GAAW,UAAS90E,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKkuC,OAAL,CAAa3xE,MAAnB;AAA0B,WAAGyjC,CAAH,IAAQ,IAAR,IAAcngC,MAAM,CAAC06B,cAAP,CAAsB,IAAtB,EAA2ByF,CAA3B,EAA6B;AAACje,WAAG,EAAC,eAAU;AAAC,iBAAO,KAAKmsD,OAAL,CAAaluC,CAAb,CAAP;AAAuB;AAAvC,OAA7B,CAAd,EAAqF,CAAC,CAAD,KAAK,KAAKkuC,OAAL,CAAa1zE,OAAb,CAAqBnB,CAArB,CAAL,KAA+B,KAAK60E,OAAL,CAAatxE,IAAb,CAAkBvD,CAAlB,GAAqB,KAAKuF,OAAL,CAAa;AAACirE,aAAK,EAACxwE,CAAP;AAASuQ,YAAI,EAAC,UAAd;AAAyBjG,cAAM,EAAC;AAAhC,OAAb,CAApD,CAArF;AAA8L,KAA/O,EAAgPq8B,CAAC,CAACouC,WAAF,GAAc,UAAS/0E,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAJ,EAAM5lC,CAAC,GAAC,CAAR,EAAUu5B,CAAC,GAAC,KAAKp3B,MAArB,EAA4BnC,CAAC,GAACu5B,CAA9B,EAAgCv5B,CAAC,EAAjC;AAAoC,YAAG,KAAKA,CAAL,MAAUf,CAAb,EAAe;AAAC,WAAC2mC,CAAC,GAAC,KAAK5lC,CAAL,CAAH,EAAYqB,GAAZ,IAAiBukC,CAAC,CAACvkC,GAAF,EAAjB,EAAyB,KAAKyyE,OAAL,CAAar6D,MAAb,CAAoBzZ,CAApB,EAAsB,CAAtB,CAAzB;AAAkD;AAAM;AAA5G;;AAA4G4lC,OAAC,IAAE,KAAKphC,OAAL,CAAa;AAACirE,aAAK,EAAC7pC,CAAP;AAASp2B,YAAI,EAAC,aAAd;AAA4BjG,cAAM,EAAC;AAAnC,OAAb,CAAH;AAA0D,KAAhb,EAAibq8B,CAAC,CAACquC,YAAF,GAAe,UAASh1E,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,IAAN,EAAW5lC,CAAC,GAAC,CAAb,EAAeu5B,CAAC,GAAC,KAAKp3B,MAA1B,EAAiCnC,CAAC,GAACu5B,CAAnC,EAAqCv5B,CAAC,EAAtC,EAAyC;AAAC,YAAI+/D,CAAC,GAAC,KAAK//D,CAAL,CAAN;;AAAc,YAAG+/D,CAAC,CAAC7/D,EAAF,KAAOjB,CAAV,EAAY;AAAC2mC,WAAC,GAACm6B,CAAF;AAAI;AAAM;AAAC;;AAAA,aAAOn6B,CAAP;AAAS,KAAriB,EAAsiB3mC,CAA7iB;AAA+iB,GAAtyB,CAAuyB0mE,EAAvyB,CAAP;;AAAkzB,OAAI,IAAIuO,EAAR,IAAcL,EAAE,CAAC76D,SAAH,CAAagtD,cAAb,GAA4B;AAACmO,UAAM,EAAC,QAAR;AAAiBC,YAAQ,EAAC,UAA1B;AAAqCC,eAAW,EAAC;AAAjD,GAA5B,EAA4FR,EAAE,CAAC76D,SAAH,CAAagtD,cAAvH;AAAsI6N,MAAE,CAAC76D,SAAH,CAAa,OAAKk7D,EAAlB,IAAsB,IAAtB;AAAtI;;AAAiK,WAASI,EAAT,CAAYr1E,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACf,CAAC,CAACkD,MAAhB,EAAuBnC,CAAC,EAAxB;AAA2ByF,YAAM,CAAC8pB,IAAP,CAAYtwB,CAAC,CAACe,CAAD,CAAb,EAAkBmC,MAAlB,IAA0ByjC,CAAC,CAAC1lC,EAAF,KAAOjB,CAAC,CAACe,CAAD,CAAD,CAAKE,EAAtC,KAA2CjB,CAAC,CAACe,CAAD,CAAD,CAAKu0E,OAAL,GAAa,CAAC,CAAzD;AAA3B;AAAuF;;AAAA,WAASC,EAAT,CAAYv1E,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACf,CAAC,CAACkD,MAAhB,EAAuBnC,CAAC,EAAxB;AAA2ByF,YAAM,CAAC8pB,IAAP,CAAYtwB,CAAC,CAACe,CAAD,CAAb,EAAkBmC,MAAlB,IAA0ByjC,CAAC,CAAC1lC,EAAF,KAAOjB,CAAC,CAACe,CAAD,CAAD,CAAKE,EAAtC,KAA2CjB,CAAC,CAACe,CAAD,CAAD,CAAKs1B,QAAL,GAAc,CAAC,CAA1D;AAA3B;AAAwF;;AAAA,WAASm/C,EAAT,CAAYx1E,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC,CAAC,UAAD,EAAY,UAAZ,EAAuB,MAAvB,EAA8B,UAA9B,EAAyC,QAAzC,EAAkD,MAAlD,EAAyD,MAAzD,CAAN;AAAA,QAAuE5lC,CAAC,GAAC0/D,CAAC,CAAC1tD,aAAF,CAAgB,GAAhB,CAAzE;AAA8FhS,KAAC,CAACm1B,IAAF,GAAOl2B,CAAP;AAAS,QAAIs6B,CAAJ;AAAA,QAAMwmC,CAAC,GAAC,OAAK//D,CAAC,CAACsV,IAAP,IAAa,YAAUtV,CAAC,CAACqV,QAAjC;AAA0C0qD,KAAC,KAAG,CAACxmC,CAAC,GAACmmC,CAAC,CAAC1tD,aAAF,CAAgB,KAAhB,CAAH,EAA2B0f,SAA3B,GAAqC,cAAYzyB,CAAZ,GAAc,QAAnD,EAA4De,CAAC,GAACu5B,CAAC,CAACtG,UAAhE,EAA2EsG,CAAC,CAACrY,YAAF,CAAe,OAAf,EAAuB,kCAAvB,CAA3E,EAAsIw+C,CAAC,CAAC/8B,IAAF,CAAOxb,WAAP,CAAmBoS,CAAnB,CAAzI,CAAD;;AAAiK,SAAI,IAAI5V,CAAC,GAAC,EAAN,EAAStJ,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACurB,CAAC,CAACzjC,MAArB,EAA4BkY,CAAC,EAA7B;AAAgCsJ,OAAC,CAACiiB,CAAC,CAACvrB,CAAD,CAAF,CAAD,GAAQra,CAAC,CAAC4lC,CAAC,CAACvrB,CAAD,CAAF,CAAT;AAAhC;;AAAgD,WAAM,YAAUsJ,CAAC,CAACtO,QAAZ,KAAuBsO,CAAC,CAACrO,IAAF,GAAOqO,CAAC,CAACrO,IAAF,CAAOhS,OAAP,CAAe,MAAf,EAAsB,EAAtB,CAA9B,GAAyD,aAAWqgB,CAAC,CAACtO,QAAb,KAAwBsO,CAAC,CAACrO,IAAF,GAAOqO,CAAC,CAACrO,IAAF,CAAOhS,OAAP,CAAe,OAAf,EAAuB,EAAvB,CAA/B,CAAzD,EAAoHqgB,CAAC,CAACtO,QAAF,KAAasO,CAAC,CAACtO,QAAF,GAAWkM,CAAC,CAACnM,QAAF,CAAWC,QAAnC,CAApH,EAAiK0qD,CAAC,IAAEL,CAAC,CAAC/8B,IAAF,CAAOvb,WAAP,CAAmBmS,CAAnB,CAApK,EAA0L5V,CAAhM;AAAkM;;AAAA,WAAS+wD,EAAT,CAAYz1E,CAAZ,EAAc;AAAC,QAAG,CAACA,CAAC,CAACyvB,KAAF,CAAQ,cAAR,CAAJ,EAA4B;AAAC,UAAIkX,CAAC,GAAC85B,CAAC,CAAC1tD,aAAF,CAAgB,KAAhB,CAAN;AAA6B4zB,OAAC,CAAClU,SAAF,GAAY,cAAYzyB,CAAZ,GAAc,SAA1B,EAAoCA,CAAC,GAAC2mC,CAAC,CAAC3S,UAAF,CAAakC,IAAnD;AAAwD;;AAAA,WAAOl2B,CAAP;AAAS;;AAAA,WAAS01E,EAAT,CAAY11E,CAAZ,EAAc;AAAC,QAAG,YAAU,OAAOA,CAApB,EAAsB;AAAC,UAAI2mC,CAAC,GAAC,yEAAyEppB,IAAzE,CAA8Evd,CAA9E,CAAN;AAAuF,UAAG2mC,CAAH,EAAK,OAAOA,CAAC,CAAC9Z,GAAF,GAAQxI,WAAR,EAAP;AAA6B;;AAAA,WAAM,EAAN;AAAS;;AAAA,WAASsxD,EAAT,CAAY31E,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAACrkB,CAAC,CAACnM,QAAjB;AAA2B,QAAIpV,CAAC,GAACy0E,EAAE,CAACx1E,CAAD,CAAR;AAAY,WAAM,CAAC,QAAMe,CAAC,CAACqV,QAAR,GAAiBuwB,CAAC,CAACvwB,QAAnB,GAA4BrV,CAAC,CAACqV,QAA/B,IAAyCrV,CAAC,CAACsV,IAA3C,KAAkDswB,CAAC,CAACvwB,QAAF,GAAWuwB,CAAC,CAACtwB,IAArE;AAA0E;;AAAA,MAAIu/D,EAAE,GAAC,UAASt7C,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa;AAAC,UAAI2mC,CAAJ;AAAM,WAAK,CAAL,KAAS3mC,CAAT,KAAaA,CAAC,GAAC,EAAf;;AAAmB,WAAI,IAAIe,CAAC,GAACf,CAAC,CAACkD,MAAF,GAAS,CAAnB,EAAqB,KAAGnC,CAAxB,EAA0BA,CAAC,EAA3B;AAA8B,YAAGf,CAAC,CAACe,CAAD,CAAD,CAAKu0E,OAAR,EAAgB;AAACD,YAAE,CAACr1E,CAAD,EAAGA,CAAC,CAACe,CAAD,CAAJ,CAAF;AAAW;AAAM;AAAhE;;AAAgE,aAAM,CAAC4lC,CAAC,GAACrM,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,KAAgB,IAAnB,EAAyB61E,SAAzB,GAAmC,CAAC,CAApC,EAAsClvC,CAA5C;AAA8C;;AAAA+lC,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmuC,QAAF,GAAW,UAAS90E,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAW3mC,OAAC,CAACs1E,OAAF,IAAWD,EAAE,CAAC,IAAD,EAAMr1E,CAAN,CAAb,EAAsBs6B,CAAC,CAACvgB,SAAF,CAAY+6D,QAAZ,CAAqBnvE,IAArB,CAA0B,IAA1B,EAA+B3F,CAA/B,CAAtB,EAAwDA,CAAC,CAAC4Y,gBAAF,KAAqB5Y,CAAC,CAAC81E,cAAF,GAAiB,YAAU;AAACnvC,SAAC,CAACkvC,SAAF,KAAclvC,CAAC,CAACkvC,SAAF,GAAY,CAAC,CAAb,EAAeR,EAAE,CAAC1uC,CAAD,EAAG3mC,CAAH,CAAjB,EAAuB2mC,CAAC,CAACkvC,SAAF,GAAY,CAAC,CAApC,EAAsClvC,CAAC,CAACphC,OAAF,CAAU,QAAV,CAApD;AAAyE,OAArG,EAAsGvF,CAAC,CAAC4Y,gBAAF,CAAmB,eAAnB,EAAmC5Y,CAAC,CAAC81E,cAArC,CAA3H,CAAxD;AAAyO,KAA3Q,EAA4QnvC,CAAC,CAACouC,WAAF,GAAc,UAAS/0E,CAAT,EAAW;AAACs6B,OAAC,CAACvgB,SAAF,CAAYg7D,WAAZ,CAAwBpvE,IAAxB,CAA6B,IAA7B,EAAkC3F,CAAlC,GAAqCA,CAAC,CAACgf,mBAAF,IAAuBhf,CAAC,CAAC81E,cAAzB,KAA0C91E,CAAC,CAACgf,mBAAF,CAAsB,eAAtB,EAAsChf,CAAC,CAAC81E,cAAxC,GAAwD91E,CAAC,CAAC81E,cAAF,GAAiB,IAAnH,CAArC;AAA8J,KAApc,EAAqc91E,CAA5c;AAA8c,GAAzoB,CAA0oB40E,EAA1oB,CAAP;AAAA,MAAqpBmB,EAAE,GAAC,UAASz7C,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa;AAAC,UAAI2mC,CAAJ;AAAM,WAAK,CAAL,KAAS3mC,CAAT,KAAaA,CAAC,GAAC,EAAf;;AAAmB,WAAI,IAAIe,CAAC,GAACf,CAAC,CAACkD,MAAF,GAAS,CAAnB,EAAqB,KAAGnC,CAAxB,EAA0BA,CAAC,EAA3B;AAA8B,YAAGf,CAAC,CAACe,CAAD,CAAD,CAAKs1B,QAAR,EAAiB;AAACk/C,YAAE,CAACv1E,CAAD,EAAGA,CAAC,CAACe,CAAD,CAAJ,CAAF;AAAW;AAAM;AAAjE;;AAAiE,aAAM,CAAC4lC,CAAC,GAACrM,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,KAAgB,IAAnB,EAAyB61E,SAAzB,GAAmC,CAAC,CAApC,EAAsCrvE,MAAM,CAAC06B,cAAP,CAAsBirC,EAAE,CAACxlC,CAAD,CAAxB,EAA4B,eAA5B,EAA4C;AAACje,WAAG,EAAC,eAAU;AAAC,eAAI,IAAI1oB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAKkD,MAAnB,EAA0BlD,CAAC,EAA3B;AAA8B,gBAAG,KAAKA,CAAL,EAAQq2B,QAAX,EAAoB,OAAOr2B,CAAP;AAAlD;;AAA2D,iBAAM,CAAC,CAAP;AAAS,SAApF;AAAqFohC,WAAG,EAAC,eAAU,CAAE;AAArG,OAA5C,CAAtC,EAA0LuF,CAAhM;AAAkM;;AAAA+lC,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmuC,QAAF,GAAW,UAAS90E,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAW3mC,OAAC,CAACq2B,QAAF,IAAYk/C,EAAE,CAAC,IAAD,EAAMv1E,CAAN,CAAd,EAAuBs6B,CAAC,CAACvgB,SAAF,CAAY+6D,QAAZ,CAAqBnvE,IAArB,CAA0B,IAA1B,EAA+B3F,CAA/B,CAAvB,EAAyDA,CAAC,CAAC4Y,gBAAF,KAAqB5Y,CAAC,CAACg2E,eAAF,GAAkB,YAAU;AAACrvC,SAAC,CAACkvC,SAAF,KAAclvC,CAAC,CAACkvC,SAAF,GAAY,CAAC,CAAb,EAAeN,EAAE,CAAC5uC,CAAD,EAAG3mC,CAAH,CAAjB,EAAuB2mC,CAAC,CAACkvC,SAAF,GAAY,CAAC,CAApC,EAAsClvC,CAAC,CAACphC,OAAF,CAAU,QAAV,CAApD;AAAyE,OAAtG,EAAuGvF,CAAC,CAAC4Y,gBAAF,CAAmB,gBAAnB,EAAoC5Y,CAAC,CAACg2E,eAAtC,CAA5H,CAAzD;AAA6O,KAA/Q,EAAgRrvC,CAAC,CAACouC,WAAF,GAAc,UAAS/0E,CAAT,EAAW;AAACs6B,OAAC,CAACvgB,SAAF,CAAYg7D,WAAZ,CAAwBpvE,IAAxB,CAA6B,IAA7B,EAAkC3F,CAAlC,GAAqCA,CAAC,CAACgf,mBAAF,IAAuBhf,CAAC,CAACg2E,eAAzB,KAA2Ch2E,CAAC,CAACgf,mBAAF,CAAsB,gBAAtB,EAAuChf,CAAC,CAACg2E,eAAzC,GAA0Dh2E,CAAC,CAACg2E,eAAF,GAAkB,IAAvH,CAArC;AAAkK,KAA5c,EAA6ch2E,CAApd;AAAsd,GAAtyB,CAAuyB40E,EAAvyB,CAAxpB;AAAA,MAAm8CqB,EAAE,GAAC,UAASl1E,CAAT,EAAW;AAAC,aAASf,CAAT,GAAY;AAAC,aAAOe,CAAC,CAAC2E,KAAF,CAAQ,IAAR,EAAawjB,SAAb,KAAyB,IAAhC;AAAqC;;AAAAwjD,MAAE,CAAC1sE,CAAD,EAAGe,CAAH,CAAF;AAAQ,QAAI4lC,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmuC,QAAF,GAAW,UAAS90E,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAW5lC,OAAC,CAACgZ,SAAF,CAAY+6D,QAAZ,CAAqBnvE,IAArB,CAA0B,IAA1B,EAA+B3F,CAA/B,GAAkC,KAAKk2E,YAAL,KAAoB,KAAKA,YAAL,GAAkB,YAAU;AAAC,eAAOvvC,CAAC,CAACsgC,YAAF,CAAe,QAAf,CAAP;AAAgC,OAAjF,CAAlC,EAAqH,KAAKkP,6BAAL,KAAqC,KAAKC,8BAAL,GAAoC,YAAU;AAAC,eAAOzvC,CAAC,CAACphC,OAAF,CAAU,wBAAV,CAAP;AAA2C,OAA/H,CAArH,EAAsPvF,CAAC,CAAC4Y,gBAAF,CAAmB,YAAnB,EAAgC,KAAKs9D,YAArC,CAAtP;AAAyS,OAAC,CAAD,KAAK,CAAC,UAAD,EAAY,UAAZ,EAAwB/0E,OAAxB,CAAgCnB,CAAC,CAACq2E,IAAlC,CAAL,IAA8Cr2E,CAAC,CAAC4Y,gBAAF,CAAmB,YAAnB,EAAgC,KAAKw9D,8BAArC,CAA9C;AAAmH,KAA9b,EAA+bzvC,CAAC,CAACouC,WAAF,GAAc,UAAS/0E,CAAT,EAAW;AAACe,OAAC,CAACgZ,SAAF,CAAYg7D,WAAZ,CAAwBpvE,IAAxB,CAA6B,IAA7B,EAAkC3F,CAAlC,GAAqCA,CAAC,CAACgf,mBAAF,KAAwB,KAAKk3D,YAAL,IAAmBl2E,CAAC,CAACgf,mBAAF,CAAsB,YAAtB,EAAmC,KAAKk3D,YAAxC,CAAnB,EAAyE,KAAKI,uBAAL,IAA8Bt2E,CAAC,CAACgf,mBAAF,CAAsB,YAAtB,EAAmC,KAAKo3D,8BAAxC,CAA/H,CAArC;AAA6O,KAAtsB,EAAusBp2E,CAA9sB;AAAgtB,GAAxyB,CAAyyB40E,EAAzyB,CAAt8C;AAAA,MAAmvE2B,EAAE,GAAC,YAAU;AAAC,aAASv2E,CAAT,CAAWA,CAAX,EAAa;AAAC,WAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,KAAKw2E,cAAL,GAAoB,EAAvC,EAA0ChwE,MAAM,CAAC06B,cAAP,CAAsB,IAAtB,EAA2B,QAA3B,EAAoC;AAACxY,WAAG,EAAC,eAAU;AAAC,iBAAO,KAAK8tD,cAAL,CAAoBtzE,MAA3B;AAAkC;AAAlD,OAApC,CAA1C;;AAAmI,WAAI,IAAIyjC,CAAC,GAAC,CAAN,EAAQ5lC,CAAC,GAACf,CAAC,CAACkD,MAAhB,EAAuByjC,CAAC,GAAC5lC,CAAzB,EAA2B4lC,CAAC,EAA5B;AAA+B,aAAK8vC,gBAAL,CAAsBz2E,CAAC,CAAC2mC,CAAD,CAAvB;AAA/B;AAA2D;;AAAA,QAAIA,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAAC8vC,gBAAF,GAAmB,UAASz2E,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK6vC,cAAL,CAAoBtzE,MAA1B;AAAiC,WAAGyjC,CAAH,IAAQ,IAAR,IAAcngC,MAAM,CAAC06B,cAAP,CAAsB,IAAtB,EAA2ByF,CAA3B,EAA6B;AAACje,WAAG,EAAC,eAAU;AAAC,iBAAO,KAAK8tD,cAAL,CAAoB7vC,CAApB,CAAP;AAA8B;AAA9C,OAA7B,CAAd,EAA4F,CAAC,CAAD,KAAK,KAAK6vC,cAAL,CAAoBr1E,OAApB,CAA4BnB,CAA5B,CAAL,IAAqC,KAAKw2E,cAAL,CAAoBjzE,IAApB,CAAyBvD,CAAzB,CAAjI;AAA6J,KAA7N,EAA8N2mC,CAAC,CAAC+vC,uBAAF,GAA0B,UAAS12E,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAJ,EAAM5lC,CAAC,GAAC,CAAR,EAAUu5B,CAAC,GAAC,KAAKk8C,cAAL,CAAoBtzE,MAApC,EAA2CnC,CAAC,GAACu5B,CAA7C,EAA+Cv5B,CAAC,EAAhD;AAAmD,YAAGf,CAAC,KAAG,KAAKw2E,cAAL,CAAoBz1E,CAApB,EAAuByvE,KAA9B,EAAoC;AAAC7pC,WAAC,GAAC,KAAK6vC,cAAL,CAAoBz1E,CAApB,CAAF;AAAyB;AAAM;AAAvH;;AAAuH,aAAO4lC,CAAP;AAAS,KAApY,EAAqYA,CAAC,CAACgwC,mBAAF,GAAsB,UAAS32E,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,CAAN,EAAQ5lC,CAAC,GAAC,KAAKy1E,cAAL,CAAoBtzE,MAAlC,EAAyCyjC,CAAC,GAAC5lC,CAA3C,EAA6C4lC,CAAC,EAA9C;AAAiD,YAAG3mC,CAAC,KAAG,KAAKw2E,cAAL,CAAoB7vC,CAApB,CAAP,EAA8B;AAAC,eAAK6vC,cAAL,CAAoB7vC,CAApB,EAAuB6pC,KAAvB,IAA8B,cAAY,OAAO,KAAKgG,cAAL,CAAoB7vC,CAApB,EAAuB6pC,KAAvB,CAA6BpuE,GAA9E,IAAmF,KAAKo0E,cAAL,CAAoB7vC,CAApB,EAAuB6pC,KAAvB,CAA6BpuE,GAA7B,EAAnF,EAAsH,cAAY,OAAO,KAAKo0E,cAAL,CAAoB7vC,CAApB,EAAuBvkC,GAA1C,IAA+C,KAAKo0E,cAAL,CAAoB7vC,CAApB,EAAuBvkC,GAAvB,EAArK,EAAkM,KAAKo0E,cAAL,CAAoBh8D,MAApB,CAA2BmsB,CAA3B,EAA6B,CAA7B,CAAlM;AAAkO;AAAM;AAAxT;AAAyT,KAAhuB,EAAiuB3mC,CAAxuB;AAA0uB,GAAn9B,EAAtvE;AAAA,MAA4sG42E,EAAE,GAAC,YAAU;AAAC,aAASjwC,CAAT,CAAW3mC,CAAX,EAAa;AAAC2mC,OAAC,CAAC5sB,SAAF,CAAY88D,QAAZ,CAAqBlxE,IAArB,CAA0B,IAA1B,EAA+B3F,CAA/B,GAAkCwG,MAAM,CAAC06B,cAAP,CAAsB,IAAtB,EAA2B,QAA3B,EAAoC;AAACxY,WAAG,EAAC,eAAU;AAAC,iBAAO,KAAKouD,OAAZ;AAAoB;AAApC,OAApC,CAAlC;AAA6G;;AAAA,QAAI92E,CAAC,GAAC2mC,CAAC,CAAC5sB,SAAR;AAAkB,WAAO/Z,CAAC,CAAC62E,QAAF,GAAW,UAAS72E,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKzjC,MAAL,IAAa,CAAnB;AAAA,UAAqBnC,CAAC,GAAC,CAAvB;AAAA,UAAyBu5B,CAAC,GAACt6B,CAAC,CAACkD,MAA7B;AAAoC,WAAK6zE,KAAL,GAAW/2E,CAAX,EAAa,KAAK82E,OAAL,GAAa92E,CAAC,CAACkD,MAA5B;;AAAmC,eAAS49D,CAAT,CAAW9gE,CAAX,EAAa;AAAC,aAAGA,CAAH,IAAQ,IAAR,IAAcwG,MAAM,CAAC06B,cAAP,CAAsB,IAAtB,EAA2B,KAAGlhC,CAA9B,EAAgC;AAAC0oB,aAAG,EAAC,eAAU;AAAC,mBAAO,KAAKquD,KAAL,CAAW/2E,CAAX,CAAP;AAAqB;AAArC,SAAhC,CAAd;AAAsF;;AAAA,UAAG2mC,CAAC,GAACrM,CAAL,EAAO,KAAIv5B,CAAC,GAAC4lC,CAAN,EAAQ5lC,CAAC,GAACu5B,CAAV,EAAYv5B,CAAC,EAAb;AAAgB+/D,SAAC,CAACn7D,IAAF,CAAO,IAAP,EAAY5E,CAAZ;AAAhB;AAA+B,KAAxO,EAAyOf,CAAC,CAACg3E,UAAF,GAAa,UAASh3E,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,IAAN,EAAW5lC,CAAC,GAAC,CAAb,EAAeu5B,CAAC,GAAC,KAAKp3B,MAA1B,EAAiCnC,CAAC,GAACu5B,CAAnC,EAAqCv5B,CAAC,EAAtC,EAAyC;AAAC,YAAI+/D,CAAC,GAAC,KAAK//D,CAAL,CAAN;;AAAc,YAAG+/D,CAAC,CAAC7/D,EAAF,KAAOjB,CAAV,EAAY;AAAC2mC,WAAC,GAACm6B,CAAF;AAAI;AAAM;AAAC;;AAAA,aAAOn6B,CAAP;AAAS,KAA3V,EAA4VA,CAAnW;AAAqW,GAA7f,EAA/sG;AAAA,MAA+sHswC,EAAE,GAAC;AAACC,eAAW,EAAC,aAAb;AAA2BC,YAAQ,EAAC,UAApC;AAA+CC,QAAI,EAAC,MAApD;AAA2DC,QAAI,EAAC,MAAhE;AAAuEC,aAAS,EAAC,WAAjF;AAA6FC,cAAU,EAAC;AAAxG,GAAltH;AAAA,MAAw0HC,EAAE,GAAC;AAACN,eAAW,EAAC,aAAb;AAA2BO,gBAAY,EAAC,cAAxC;AAAuDL,QAAI,EAAC,MAA5D;AAAmE,iBAAY,WAA/E;AAA2FM,eAAW,EAAC,aAAvG;AAAqHH,cAAU,EAAC;AAAhI,GAA30H;AAAA,MAAy9HI,EAAE,GAAC;AAACL,aAAS,EAAC,WAAX;AAAuBH,YAAQ,EAAC,UAAhC;AAA2CM,gBAAY,EAAC,cAAxD;AAAuEG,YAAQ,EAAC,UAAhF;AAA2FC,YAAQ,EAAC;AAApG,GAA59H;AAAA,MAA4kIC,EAAE,GAAC;AAAC5oD,YAAQ,EAAC,UAAV;AAAqBpJ,UAAM,EAAC,QAA5B;AAAqCiyD,WAAO,EAAC;AAA7C,GAA/kI;AAAA,MAAuoIC,EAAE,GAAC,UAAStzD,CAAT,EAAW;AAAC,aAAS1kB,CAAT,CAAWA,CAAX,EAAa;AAAC,UAAI2mC,CAAJ;AAAM,WAAK,CAAL,KAAS3mC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB2mC,CAAC,GAACjiB,CAAC,CAAC/e,IAAF,CAAO,IAAP,KAAc,IAAnC;;AAAwC,eAAS5E,CAAT,CAAWf,CAAX,EAAa;AAACwG,cAAM,CAAC06B,cAAP,CAAsBirC,EAAE,CAACxlC,CAAD,CAAxB,EAA4B3mC,CAA5B,EAA8B;AAAC0oB,aAAG,EAAC,eAAU;AAAC,mBAAO4R,CAAC,CAACt6B,CAAD,CAAR;AAAY,WAA5B;AAA6BohC,aAAG,EAAC,eAAU,CAAE;AAA7C,SAA9B;AAA8E;;AAAA,UAAI9G,CAAC,GAAC;AAACr5B,UAAE,EAACjB,CAAC,CAACiB,EAAF,IAAM,eAAakkE,EAAE,EAAzB;AAA4BkR,YAAI,EAACr2E,CAAC,CAACq2E,IAAF,IAAQ,EAAzC;AAA4CnD,aAAK,EAAClzE,CAAC,CAACkzE,KAAF,IAAS,EAA3D;AAA8DlJ,gBAAQ,EAAChqE,CAAC,CAACgqE,QAAF,IAAY;AAAnF,OAAN;;AAA6F,WAAI,IAAIlJ,CAAR,IAAaxmC,CAAb;AAAev5B,SAAC,CAAC+/D,CAAD,CAAD;AAAf;;AAAoB,aAAOn6B,CAAP;AAAS;;AAAA,WAAO+lC,EAAE,CAAC1sE,CAAD,EAAG0kB,CAAH,CAAF,EAAQ1kB,CAAf;AAAiB,GAA/S,CAAgT0mE,EAAhT,CAA1oI;AAAA,MAA87IuR,EAAE,GAACzxE,MAAM,CAAC0pD,MAAP,CAAc;AAACuT,aAAS,EAAC,IAAX;AAAgByU,YAAQ,EAAC1C,EAAzB;AAA4B2C,kBAAc,EAAC1C,EAA3C;AAA8C2C,oBAAgB,EAAC1C,EAA/D;AAAkE2C,iBAAa,EAAC1C;AAAhF,GAAd,CAAj8I;AAAA,MAAoiJ2C,EAAE,GAAC,SAAHA,EAAG,CAASt4E,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAAC4xC,EAAE,CAAC5yE,IAAH,CAAQ3F,CAAR,CAAN;AAAiB,WAAM,wBAAsB2mC,CAAtB,IAAyB,cAAY,OAAO3mC,CAAnB,IAAsB,sBAAoB2mC,CAAnE,IAAsE,eAAa,OAAOnkC,MAApB,KAA6BxC,CAAC,KAAGwC,MAAM,CAACsT,UAAX,IAAuB9V,CAAC,KAAGwC,MAAM,CAACg2E,KAAlC,IAAyCx4E,CAAC,KAAGwC,MAAM,CAACkc,OAApD,IAA6D1e,CAAC,KAAGwC,MAAM,CAACi2E,MAArG,CAA5E;AAAyL;AAClz4C;AACA;AACA;AACA;AACA;AACA;AACA;AAPqjvC;AAAA,MAO/ivCF,EAAE,GAAC/xE,MAAM,CAACuT,SAAP,CAAiBkN,QAP2hvC;;AAOlhvC,MAAIyxD,EAAE,GAAC,SAAHA,EAAG,CAAS14E,CAAT,EAAW;AAAC,QAAI8gE,CAAC,GAAC,EAAN;AAAS,WAAO9gE,CAAC,IAAEA,CAAC,CAAC6jD,IAAF,GAAS14B,KAAT,CAAe,IAAf,EAAqBpiB,OAArB,CAA6B,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACmB,OAAF,CAAU,GAAV,CAAN;AAAA,UAAqBJ,CAAC,GAACf,CAAC,CAAC2a,KAAF,CAAQ,CAAR,EAAUgsB,CAAV,EAAakd,IAAb,GAAoBx/B,WAApB,EAAvB;AAAA,UAAyDiW,CAAC,GAACt6B,CAAC,CAAC2a,KAAF,CAAQgsB,CAAC,GAAC,CAAV,EAAakd,IAAb,EAA3D;AAA+E,qBAAa,OAAOid,CAAC,CAAC//D,CAAD,CAArB,GAAyB+/D,CAAC,CAAC//D,CAAD,CAAD,GAAKu5B,CAA9B,GAAgC9e,KAAK,CAACG,OAAN,CAAcmlD,CAAC,CAAC//D,CAAD,CAAf,IAAoB+/D,CAAC,CAAC//D,CAAD,CAAD,CAAKwC,IAAL,CAAU+2B,CAAV,CAApB,GAAiCwmC,CAAC,CAAC//D,CAAD,CAAD,GAAK,CAAC+/D,CAAC,CAAC//D,CAAD,CAAF,EAAMu5B,CAAN,CAAtE;AAA+E,KAAvM,CAAH,EAA4MwmC,CAAnN;AAAqN,GAAjP;AAAA,MAAkP6X,EAAE,GAACC,EAArP;AAAA,MAAwPC,EAAE,GAACD,EAA3P;;AAA8P,WAASE,EAAT,CAAY94E,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAC,GAACt6B,CAAN;AAAQ,WAAOs4E,EAAE,CAAC3xC,CAAD,CAAF,IAAO5lC,CAAC,GAAC4lC,CAAF,EAAI,YAAU,OAAO3mC,CAAjB,KAAqBs6B,CAAC,GAAC;AAACy+C,SAAG,EAAC/4E;AAAL,KAAvB,CAAX,IAA4Cs6B,CAAC,GAACwmC,CAAC,CAAC,EAAD,EAAIn6B,CAAJ,EAAM;AAACoyC,SAAG,EAAC/4E;AAAL,KAAN,CAA/C,EAA8Ds6B,CAAC,CAAC13B,QAAF,GAAW7B,CAAzE,EAA2Eu5B,CAAlF;AAAoF;;AAAA,WAASs+C,EAAT,CAAY54E,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,WAAOi4E,EAAE,CAACryC,CAAC,GAACmyC,EAAE,CAAC94E,CAAD,EAAG2mC,CAAH,EAAK5lC,CAAL,CAAL,CAAT;AAAuB;;AAAA,WAASi4E,EAAT,CAAY1+C,CAAZ,EAAc;AAAC,QAAG,eAAa,OAAOA,CAAC,CAAC13B,QAAzB,EAAkC,MAAM,IAAIsQ,KAAJ,CAAU,2BAAV,CAAN;;AAA6C,QAAI4tD,CAAC,GAAC,CAAC,CAAP;AAAA,QAASp8C,CAAC,GAAC,SAAFA,CAAE,CAAS1kB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC+/D,OAAC,KAAGA,CAAC,GAAC,CAAC,CAAH,EAAKxmC,CAAC,CAAC13B,QAAF,CAAW5C,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,CAAR,CAAD;AAA4B,KAAvD;;AAAwD,aAAS4lC,CAAT,CAAW3mC,CAAX,EAAa;AAAC,aAAO+2C,YAAY,CAAC4pB,CAAD,CAAZ,EAAgB3gE,CAAC,YAAYkT,KAAb,KAAqBlT,CAAC,GAAC,IAAIkT,KAAJ,CAAU,MAAIlT,CAAC,IAAE,8BAAP,CAAV,CAAvB,CAAhB,EAA0FA,CAAC,CAACs+C,UAAF,GAAa,CAAvG,EAAyG55B,CAAC,CAAC1kB,CAAD,EAAGuvB,CAAH,CAAjH;AAAuH;;AAAA,aAASvvB,CAAT,GAAY;AAAC,UAAG,CAACob,CAAJ,EAAM;AAAC,YAAIpb,CAAJ;AAAM+2C,oBAAY,CAAC4pB,CAAD,CAAZ,EAAgB3gE,CAAC,GAACs6B,CAAC,CAAC2+C,MAAF,IAAU,KAAK,CAAL,KAASrY,CAAC,CAACj/D,MAArB,GAA4B,GAA5B,GAAgC,SAAOi/D,CAAC,CAACj/D,MAAT,GAAgB,GAAhB,GAAoBi/D,CAAC,CAACj/D,MAAxE;AAA+E,YAAIglC,CAAC,GAACpX,CAAN;AAAA,YAAQxuB,CAAC,GAAC,IAAV;AAAe,eAAO,MAAIf,CAAJ,IAAO2mC,CAAC,GAAC;AAACjD,cAAI,EAAC,YAAU;AAAC,gBAAI1jC,CAAC,GAAC,KAAK,CAAX;AAAa,gBAAGA,CAAC,GAAC4gE,CAAC,CAAC//D,QAAF,GAAW+/D,CAAC,CAAC//D,QAAb,GAAsB+/D,CAAC,CAACjgB,YAAF,IAAgB,UAAS3gD,CAAT,EAAW;AAAC,kBAAG;AAAC,oBAAG,eAAaA,CAAC,CAAC0gD,YAAlB,EAA+B,OAAO1gD,CAAC,CAACk5E,WAAT;AAAqB,oBAAIvyC,CAAC,GAAC3mC,CAAC,CAACk5E,WAAF,IAAe,kBAAgBl5E,CAAC,CAACk5E,WAAF,CAAcrnD,eAAd,CAA8BnV,QAAnE;AAA4E,oBAAG,OAAK1c,CAAC,CAAC0gD,YAAP,IAAqB,CAAC/Z,CAAzB,EAA2B,OAAO3mC,CAAC,CAACk5E,WAAT;AAAqB,eAApL,CAAoL,OAAMl5E,CAAN,EAAQ,CAAE;;AAAA,qBAAO,IAAP;AAAY,aAAtN,CAAuN4gE,CAAvN,CAAxC,EAAkQU,CAArQ,EAAuQ,IAAG;AAACthE,eAAC,GAAC8O,IAAI,CAACC,KAAL,CAAW/O,CAAX,CAAF;AAAgB,aAApB,CAAoB,OAAMA,CAAN,EAAQ,CAAE;AAAA,mBAAOA,CAAP;AAAS,WAAtU,EAAN;AAA+Us+C,oBAAU,EAACt+C,CAA1V;AAA4V8J,gBAAM,EAAC03D,CAAnW;AAAqWriB,iBAAO,EAAC,EAA7W;AAAgXz+C,aAAG,EAAC06B,CAApX;AAAsX+9C,oBAAU,EAACvY;AAAjY,SAAF,EAAsYA,CAAC,CAACliB,qBAAF,KAA0B/X,CAAC,CAACwY,OAAF,GAAUu5B,EAAE,CAAC9X,CAAC,CAACliB,qBAAF,EAAD,CAAtC,CAA7Y,IAAid39C,CAAC,GAAC,IAAImS,KAAJ,CAAU,+BAAV,CAAnd,EAA8fwR,CAAC,CAAC3jB,CAAD,EAAG4lC,CAAH,EAAKA,CAAC,CAACjD,IAAP,CAAtgB;AAAmhB;AAAC;;AAAA,QAAI3iC,CAAJ;AAAA,QAAMqa,CAAN;AAAA,QAAQulD,CAAR;AAAA,QAAUC,CAAC,GAACtmC,CAAC,CAACwlB,GAAF,IAAO,IAAnB;AAAA,QAAwB1kB,CAAC,GAAC,CAACwlC,CAAC,GAACA,CAAC,KAAGtmC,CAAC,CAAC4lB,IAAF,IAAQ5lB,CAAC,CAAC2+C,MAAV,GAAiB,IAAIL,EAAE,CAACQ,cAAP,EAAjB,GAAuC,IAAIR,EAAE,CAAC74B,cAAP,EAA1C,CAAJ,EAAsEr/C,GAAtE,GAA0E45B,CAAC,CAACy+C,GAAF,IAAOz+C,CAAC,CAAC55B,GAA7G;AAAA,QAAiH8gE,CAAC,GAACZ,CAAC,CAAC92D,MAAF,GAASwwB,CAAC,CAACxwB,MAAF,IAAU,KAAtI;AAAA,QAA4I22D,CAAC,GAACnmC,CAAC,CAACoJ,IAAF,IAAQpJ,CAAC,CAAC95B,IAAxJ;AAAA,QAA6JkgE,CAAC,GAACE,CAAC,CAACzhB,OAAF,GAAU7kB,CAAC,CAAC6kB,OAAF,IAAW,EAApL;AAAA,QAAuL/L,CAAC,GAAC,CAAC,CAAC9Y,CAAC,CAAC++C,IAA7L;AAAA,QAAkM/X,CAAC,GAAC,CAAC,CAArM;AAAA,QAAuM/xC,CAAC,GAAC;AAACmU,UAAI,EAAC,KAAK,CAAX;AAAayb,aAAO,EAAC,EAArB;AAAwBb,gBAAU,EAAC,CAAnC;AAAqCx0C,YAAM,EAAC03D,CAA5C;AAA8C9gE,SAAG,EAAC06B,CAAlD;AAAoD+9C,gBAAU,EAACvY;AAA/D,KAAzM;AAA2Q,QAAG,UAAStmC,CAAT,IAAY,CAAC,CAAD,KAAKA,CAAC,CAACijB,IAAnB,KAA0B+jB,CAAC,GAAC,CAAC,CAAH,EAAKZ,CAAC,CAAC4Y,MAAF,IAAU5Y,CAAC,CAAC6Y,MAAZ,KAAqB7Y,CAAC,CAAC6Y,MAAF,GAAS,kBAA9B,CAAL,EAAuD,UAAQ/X,CAAR,IAAW,WAASA,CAApB,KAAwBd,CAAC,CAAC,cAAD,CAAD,IAAmBA,CAAC,CAAC,cAAD,CAApB,KAAuCA,CAAC,CAAC,cAAD,CAAD,GAAkB,kBAAzD,GAA6ED,CAAC,GAAC3xD,IAAI,CAAC6C,SAAL,CAAe,CAAC,CAAD,KAAK2oB,CAAC,CAACijB,IAAP,GAAYkjB,CAAZ,GAAcnmC,CAAC,CAACijB,IAA/B,CAAvG,CAAjF,GAA+NqjB,CAAC,CAACngB,kBAAF,GAAqB,YAAU;AAAC,YAAImgB,CAAC,CAAC9gC,UAAN,IAAkBhqB,UAAU,CAAC9V,CAAD,EAAG,CAAH,CAA5B;AAAkC,KAAjS,EAAkS4gE,CAAC,CAACptD,MAAF,GAASxT,CAA3S,EAA6S4gE,CAAC,CAAC3tD,OAAF,GAAU0zB,CAAvT,EAAyTi6B,CAAC,CAAC4Y,UAAF,GAAa,YAAU,CAAE,CAAlV,EAAmV5Y,CAAC,CAACrgB,OAAF,GAAU,YAAU;AAACnlC,OAAC,GAAC,CAAC,CAAH;AAAK,KAA7W,EAA8WwlD,CAAC,CAACpgB,SAAF,GAAY7Z,CAA1X,EAA4Xi6B,CAAC,CAACxgB,IAAF,CAAOohB,CAAP,EAASpmC,CAAT,EAAW,CAACgY,CAAZ,EAAc9Y,CAAC,CAAC+lB,QAAhB,EAAyB/lB,CAAC,CAAC3D,QAA3B,CAA5X,EAAiayc,CAAC,KAAGwtB,CAAC,CAAC6Y,eAAF,GAAkB,CAAC,CAACn/C,CAAC,CAACm/C,eAAzB,CAAla,EAA4c,CAACrmC,CAAD,IAAI,IAAE9Y,CAAC,CAACx1B,OAAR,KAAkB67D,CAAC,GAAC7qD,UAAU,CAAC,YAAU;AAAC,UAAG,CAACsF,CAAJ,EAAM;AAACA,SAAC,GAAC,CAAC,CAAH,EAAKwlD,CAAC,CAAC/hB,KAAF,CAAQ,SAAR,CAAL;AAAwB,YAAI7+C,CAAC,GAAC,IAAIkT,KAAJ,CAAU,wBAAV,CAAN;AAA0ClT,SAAC,CAAC2nB,IAAF,GAAO,WAAP,EAAmBgf,CAAC,CAAC3mC,CAAD,CAApB;AAAwB;AAAC,KAA9G,EAA+Gs6B,CAAC,CAACx1B,OAAjH,CAA9B,CAA5c,EAAqmB87D,CAAC,CAACjiB,gBAA1mB,EAA2nB,KAAI59C,CAAJ,IAAS2/D,CAAT;AAAWA,OAAC,CAAChuD,cAAF,CAAiB3R,CAAjB,KAAqB6/D,CAAC,CAACjiB,gBAAF,CAAmB59C,CAAnB,EAAqB2/D,CAAC,CAAC3/D,CAAD,CAAtB,CAArB;AAAX,KAA3nB,MAA2rB,IAAGu5B,CAAC,CAAC6kB,OAAF,IAAW,CAAC,UAASn/C,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAR,IAAa3mC,CAAb;AAAe,YAAGA,CAAC,CAAC0S,cAAF,CAAiBi0B,CAAjB,CAAH,EAAuB,OAAM,CAAC,CAAP;AAAtC;;AAA+C,aAAM,CAAC,CAAP;AAAS,KAApE,CAAqErM,CAAC,CAAC6kB,OAAvE,CAAf,EAA+F,MAAM,IAAIjsC,KAAJ,CAAU,mDAAV,CAAN;AAAqE,WAAM,kBAAiBonB,CAAjB,KAAqBsmC,CAAC,CAAClgB,YAAF,GAAepmB,CAAC,CAAComB,YAAtC,GAAoD,gBAAepmB,CAAf,IAAkB,cAAY,OAAOA,CAAC,CAACv1B,UAAvC,IAAmDu1B,CAAC,CAACv1B,UAAF,CAAa67D,CAAb,CAAvG,EAAuHA,CAAC,CAACxhB,IAAF,CAAOqhB,CAAC,IAAE,IAAV,CAAvH,EAAuIG,CAA7I;AAA+I;;AAAAgY,IAAE,CAAC74B,cAAH,GAAkBz9B,CAAC,CAACy9B,cAAF,IAAkB,YAAU,CAAE,CAAhD,EAAiD64B,EAAE,CAACQ,cAAH,GAAkB,qBAAoB,IAAIR,EAAE,CAAC74B,cAAP,EAApB,GAA0C64B,EAAE,CAAC74B,cAA7C,GAA4Dz9B,CAAC,CAAC82D,cAAjI,EAAgJ,UAASp5E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,SAAI,IAAI5lC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACf,CAAC,CAACkD,MAAhB,EAAuBnC,CAAC,EAAxB;AAA2B4lC,OAAC,CAAC3mC,CAAC,CAACe,CAAD,CAAF,CAAD;AAA3B;AAAmC,GAAjD,CAAkD,CAAC,KAAD,EAAO,KAAP,EAAa,MAAb,EAAoB,OAApB,EAA4B,MAA5B,EAAmC,QAAnC,CAAlD,EAA+F,UAASu5B,CAAT,EAAW;AAACs+C,MAAE,CAAC,aAAWt+C,CAAX,GAAa,KAAb,GAAmBA,CAApB,CAAF,GAAyB,UAASt6B,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,aAAM,CAAC4lC,CAAC,GAACmyC,EAAE,CAAC94E,CAAD,EAAG2mC,CAAH,EAAK5lC,CAAL,CAAL,EAAc+I,MAAd,GAAqBwwB,CAAC,CAACqG,WAAF,EAArB,EAAqCq4C,EAAE,CAACryC,CAAD,CAA7C;AAAiD,KAA1F;AAA2F,GAAtM,CAAhJ,EAAwVgyC,EAAE,WAAF,GAAWE,EAAnW;;AAAsW,WAASa,EAAT,CAAY15E,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAAC,IAAIuhB,CAAC,CAACq3D,MAAF,CAASC,MAAb,CAAoBt3D,CAApB,EAAsBA,CAAC,CAACu3D,KAAxB,EAA8Bv3D,CAAC,CAACq3D,MAAF,CAASG,aAAT,EAA9B,CAAN;AAAA,QAA8Dx/C,CAAC,GAAC,EAAhE;AAAmEv5B,KAAC,CAACg5E,KAAF,GAAQ,UAAS/5E,CAAT,EAAW;AAAC2mC,OAAC,CAACiqC,MAAF,CAAS5wE,CAAT;AAAY,KAAhC,EAAiCe,CAAC,CAACi5E,cAAF,GAAiB,UAASh6E,CAAT,EAAW;AAACs6B,OAAC,CAAC/2B,IAAF,CAAOvD,CAAP;AAAU,KAAxE,EAAyEe,CAAC,CAACk5E,OAAF,GAAU,YAAU;AAACtzC,OAAC,CAACphC,OAAF,CAAU;AAACgL,YAAI,EAAC,YAAN;AAAmBjG,cAAM,EAACq8B;AAA1B,OAAV;AAAwC,KAAtI,EAAuI5lC,CAAC,CAACgO,KAAF,CAAQ/O,CAAR,CAAvI,EAAkJ,IAAEs6B,CAAC,CAACp3B,MAAJ,KAAaof,CAAC,CAACrY,OAAF,IAAWqY,CAAC,CAACrY,OAAF,CAAUiwE,cAArB,IAAqC53D,CAAC,CAACrY,OAAF,CAAUiwE,cAAV,CAAyB,mCAAiCvzC,CAAC,CAAC3zB,GAA5D,CAArC,EAAsGsnB,CAAC,CAACvxB,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,aAAOozC,CAAC,CAACnuC,KAAF,CAAQjF,CAAR,CAAP;AAAkB,KAAxC,CAAtG,EAAgJsiB,CAAC,CAACrY,OAAF,IAAWqY,CAAC,CAACrY,OAAF,CAAUkwE,QAArB,IAA+B73D,CAAC,CAACrY,OAAF,CAAUkwE,QAAV,EAA5L,CAAlJ,EAAoWp5E,CAAC,CAACq5E,KAAF,EAApW;AAA8W;;AAAA,WAASC,EAAT,CAAYr6E,CAAZ,EAAcs6B,CAAd,EAAgB;AAAC,QAAIqM,CAAC,GAAC;AAACoyC,SAAG,EAAC/4E;AAAL,KAAN;AAAA,QAAce,CAAC,GAAC40E,EAAE,CAAC31E,CAAD,CAAlB;AAAsBe,KAAC,KAAG4lC,CAAC,CAACuZ,IAAF,GAAOn/C,CAAV,CAAD,EAAc43E,EAAE,CAAChyC,CAAD,EAAG6/B,EAAE,CAAC,IAAD,EAAM,UAASxmE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAGf,CAAH,EAAK,OAAOozC,CAAC,CAACnuC,KAAF,CAAQjF,CAAR,EAAU2mC,CAAV,CAAP;AAAoBrM,OAAC,CAACggD,OAAF,GAAU,CAAC,CAAX,EAAa,cAAY,OAAOh4D,CAAC,CAACq3D,MAArB,GAA4Br/C,CAAC,CAACigD,KAAF,IAASjgD,CAAC,CAACigD,KAAF,CAAQzT,GAAR,CAAY,CAAC,aAAD,EAAe,YAAf,CAAZ,EAAyC,UAAS9mE,CAAT,EAAW;AAAC,YAAG,iBAAeA,CAAC,CAACuQ,IAApB,EAAyB,OAAOmpE,EAAE,CAAC34E,CAAD,EAAGu5B,CAAH,CAAT;AAAe8Y,SAAC,CAACnuC,KAAF,CAAQ,sDAAoDq1B,CAAC,CAACtnB,GAA9D;AAAmE,OAAhK,CAArC,GAAuM0mE,EAAE,CAAC34E,CAAD,EAAGu5B,CAAH,CAAtN;AAA4N,KAA3Q,CAAL,CAAhB;AAAmS;;AAAA,MAAIkgD,EAAE,GAAC,UAASp/C,CAAT,EAAW;AAAC,aAASp7B,CAAT,CAAWA,CAAX,EAAa;AAAC,UAAI2mC,CAAJ;AAAM,UAAG,KAAK,CAAL,KAAS3mC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,CAACA,CAAC,CAACy6E,IAAzB,EAA8B,MAAM,IAAIvnE,KAAJ,CAAU,0BAAV,CAAN;AAA4C,UAAInS,CAAC,GAACwnE,EAAE,CAACvoE,CAAD,EAAG;AAACq2E,YAAI,EAACsB,EAAE,CAAC33E,CAAC,CAACq2E,IAAH,CAAF,IAAY,WAAlB;AAA8BrM,gBAAQ,EAAChqE,CAAC,CAACgqE,QAAF,IAAYhqE,CAAC,CAAC06E,OAAd,IAAuB;AAA9D,OAAH,CAAR;AAAA,UAA8EpgD,CAAC,GAACw9C,EAAE,CAAC/2E,CAAC,CAAC0G,IAAH,CAAF,IAAY,UAA5F;AAAA,UAAuGq5D,CAAC,GAAC//D,CAAC,WAA1G;AAAmH,qBAAaA,CAAC,CAACs1E,IAAf,IAAqB,eAAat1E,CAAC,CAACs1E,IAApC,KAA2C/7C,CAAC,GAAC,QAA7C,GAAuD,CAACqM,CAAC,GAACvL,CAAC,CAACz1B,IAAF,CAAO,IAAP,EAAY5E,CAAZ,KAAgB,IAAnB,EAAyBw5E,KAAzB,GAA+Bx5E,CAAC,CAAC05E,IAAxF,EAA6F9zC,CAAC,CAACowC,KAAF,GAAQ,EAArG,EAAwGpwC,CAAC,CAACg0C,WAAF,GAAc,EAAtH,EAAyHh0C,CAAC,CAACi0C,QAAF,GAAW,CAAC,CAAD,KAAKj0C,CAAC,CAAC4zC,KAAF,CAAQM,iBAAjJ;AAAmK,UAAIn2D,CAAC,GAAC,IAAIkyD,EAAJ,CAAOjwC,CAAC,CAACowC,KAAT,CAAN;AAAA,UAAsB37D,CAAC,GAAC,IAAIw7D,EAAJ,CAAOjwC,CAAC,CAACg0C,WAAT,CAAxB;AAAA,UAA8Cha,CAAC,GAAC,CAAC,CAAjD;AAAA,UAAmDC,CAAC,GAAC4F,EAAE,CAAC2F,EAAE,CAACxlC,CAAD,CAAH,EAAO,YAAU;AAAC,aAAKm0C,UAAL,GAAgB,KAAKA,UAArB,EAAgCna,CAAC,KAAG,KAAKp7D,OAAL,CAAa,WAAb,GAA0Bo7D,CAAC,GAAC,CAAC,CAAhC,CAAjC;AAAoE,OAAtF,CAAvD;AAA+I,aAAM,eAAarmC,CAAb,IAAgBqM,CAAC,CAAC4zC,KAAF,CAAQ9kE,KAAR,CAAc,YAAU;AAACkxB,SAAC,CAAC4zC,KAAF,CAAQl4E,EAAR,CAAW,YAAX,EAAwBu+D,CAAxB;AAA2B,OAApD,EAAqD,CAAC,CAAtD,CAAhB,EAAyEp6D,MAAM,CAACu0E,gBAAP,CAAwB5O,EAAE,CAACxlC,CAAD,CAA1B,EAA8B;AAAC,mBAAQ;AAACje,aAAG,EAAC,eAAU;AAAC,mBAAOo4C,CAAP;AAAS,WAAzB;AAA0B1/B,aAAG,EAAC,eAAU,CAAE;AAA1C,SAAT;AAAqD35B,YAAI,EAAC;AAACihB,aAAG,EAAC,eAAU;AAAC,mBAAO4R,CAAP;AAAS,WAAzB;AAA0B8G,aAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,gBAAI2mC,CAAC,GAAC,IAAN;AAAWmxC,cAAE,CAAC93E,CAAD,CAAF,KAAQs6B,CAAC,GAACt6B,CAAF,EAAI,KAAK46E,QAAL,IAAe,eAAatgD,CAA5B,IAA+B,MAAI,KAAK+1C,IAAL,CAAUntE,MAA7C,IAAqDm3E,EAAE,CAAC,KAAKrnE,GAAN,EAAU,IAAV,CAA3D,EAA2E,eAAasnB,CAAb,GAAe,KAAKigD,KAAL,CAAW9kE,KAAX,CAAiB,YAAU;AAACkxB,eAAC,CAAC4zC,KAAF,CAAQl4E,EAAR,CAAW,YAAX,EAAwBu+D,CAAxB;AAA2B,aAAvD,EAAwD,CAAC,CAAzD,CAAf,GAA2E,KAAK2Z,KAAL,CAAWn4E,GAAX,CAAe,YAAf,EAA4Bw+D,CAA5B,CAAtJ,EAAqL,KAAKr7D,OAAL,CAAa,YAAb,CAA7L;AAAyN;AAA9Q,SAA1D;AAA0U8qE,YAAI,EAAC;AAAC3nD,aAAG,EAAC,eAAU;AAAC,mBAAO,KAAK4xD,OAAL,GAAa51D,CAAb,GAAe,IAAtB;AAA2B,WAA3C;AAA4C0c,aAAG,EAAC,eAAU,CAAE;AAA5D,SAA/U;AAA6Y05C,kBAAU,EAAC;AAACpyD,aAAG,EAAC,eAAU;AAAC,gBAAG,CAAC,KAAK4xD,OAAT,EAAiB,OAAO,IAAP;AAAY,gBAAG,MAAI,KAAKjK,IAAL,CAAUntE,MAAjB,EAAwB,OAAOkY,CAAP;;AAAS,iBAAI,IAAIpb,CAAC,GAAC,KAAKu6E,KAAL,CAAW1qE,WAAX,EAAN,EAA+B82B,CAAC,GAAC,EAAjC,EAAoC5lC,CAAC,GAAC,CAAtC,EAAwCu5B,CAAC,GAAC,KAAK+1C,IAAL,CAAUntE,MAAxD,EAA+DnC,CAAC,GAACu5B,CAAjE,EAAmEv5B,CAAC,EAApE,EAAuE;AAAC,kBAAI+/D,CAAC,GAAC,KAAKuP,IAAL,CAAUtvE,CAAV,CAAN;AAAmB+/D,eAAC,CAACzrB,SAAF,IAAar1C,CAAb,IAAgB8gE,CAAC,CAACwP,OAAF,IAAWtwE,CAA3B,GAA6B2mC,CAAC,CAACpjC,IAAF,CAAOu9D,CAAP,CAA7B,GAAuCA,CAAC,CAACzrB,SAAF,KAAcyrB,CAAC,CAACwP,OAAhB,IAAyBxP,CAAC,CAACzrB,SAAF,IAAar1C,CAAtC,IAAyC8gE,CAAC,CAACzrB,SAAF,GAAY,EAAZ,IAAgBr1C,CAAzD,IAA4D2mC,CAAC,CAACpjC,IAAF,CAAOu9D,CAAP,CAAnG;AAA6G;;AAAA,gBAAGH,CAAC,GAAC,CAAC,CAAH,EAAKh6B,CAAC,CAACzjC,MAAF,KAAW,KAAKy3E,WAAL,CAAiBz3E,MAApC,EAA2Cy9D,CAAC,GAAC,CAAC,CAAH,CAA3C,KAAqD,KAAI,IAAIj8C,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACiiB,CAAC,CAACzjC,MAAhB,EAAuBwhB,CAAC,EAAxB;AAA2B,eAAC,CAAD,KAAK,KAAKi2D,WAAL,CAAiBx5E,OAAjB,CAAyBwlC,CAAC,CAACjiB,CAAD,CAA1B,CAAL,KAAsCi8C,CAAC,GAAC,CAAC,CAAzC;AAA3B;AAAuE,mBAAO,KAAKga,WAAL,GAAiBh0C,CAAjB,EAAmBvrB,CAAC,CAACy7D,QAAF,CAAW,KAAK8D,WAAhB,CAAnB,EAAgDv/D,CAAvD;AAAyD,WAA3c;AAA4cgmB,aAAG,EAAC,eAAU,CAAE;AAA5d;AAAxZ,OAA9B,CAAzE,EAA+9BrgC,CAAC,CAACiS,GAAF,IAAO2zB,CAAC,CAAC3zB,GAAF,GAAMjS,CAAC,CAACiS,GAAR,EAAY2zB,CAAC,CAACi0C,QAAF,KAAaj0C,CAAC,CAAC2zC,OAAF,GAAU,CAAC,CAAxB,CAAZ,EAAuC,CAAC3zC,CAAC,CAACi0C,QAAF,IAAY9Z,CAAZ,IAAe,gBAAc//D,CAAC,CAACs1E,IAAhB,IAAsB,eAAat1E,CAAC,CAACs1E,IAArD,KAA4DgE,EAAE,CAAC1zC,CAAC,CAAC3zB,GAAH,EAAOm5D,EAAE,CAACxlC,CAAD,CAAT,CAA5G,IAA2HA,CAAC,CAAC2zC,OAAF,GAAU,CAAC,CAArmC,EAAumC3zC,CAA7mC;AAA+mC;;AAAA+lC,MAAE,CAAC1sE,CAAD,EAAGo7B,CAAH,CAAF;AAAQ,QAAIuL,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACiqC,MAAF,GAAS,UAAS5wE,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAN;;AAAQ,UAAGsiB,CAAC,CAACu3D,KAAF,IAAS,EAAE75E,CAAC,YAAYsiB,CAAC,CAACu3D,KAAF,CAAQmB,MAAvB,CAAZ,EAA2C;AAAC,aAAI,IAAIj6E,CAAR,IAAa4lC,CAAC,GAAC,IAAIrkB,CAAC,CAACu3D,KAAF,CAAQmB,MAAZ,CAAmBh7E,CAAC,CAACq1C,SAArB,EAA+Br1C,CAAC,CAACswE,OAAjC,EAAyCtwE,CAAC,CAACgoB,IAA3C,CAAF,EAAmDhoB,CAAhE;AAAkEe,WAAC,IAAI4lC,CAAL,KAASA,CAAC,CAAC5lC,CAAD,CAAD,GAAKf,CAAC,CAACe,CAAD,CAAf;AAAlE;;AAAsF4lC,SAAC,CAAC1lC,EAAF,GAAKjB,CAAC,CAACiB,EAAP,EAAU0lC,CAAC,CAACs0C,YAAF,GAAej7E,CAAzB;AAA2B;;AAAA,WAAI,IAAIs6B,CAAC,GAAC,KAAKigD,KAAL,CAAW9J,UAAX,EAAN,EAA8B3P,CAAC,GAAC,CAApC,EAAsCA,CAAC,GAACxmC,CAAC,CAACp3B,MAA1C,EAAiD49D,CAAC,EAAlD;AAAqDxmC,SAAC,CAACwmC,CAAD,CAAD,KAAO,IAAP,IAAaxmC,CAAC,CAACwmC,CAAD,CAAD,CAAKoa,SAAL,CAAev0C,CAAf,CAAb;AAArD;;AAAoF,WAAKowC,KAAL,CAAWxzE,IAAX,CAAgBojC,CAAhB,GAAmB,KAAK0pC,IAAL,CAAUwG,QAAV,CAAmB,KAAKE,KAAxB,CAAnB;AAAkD,KAAhU,EAAiUpwC,CAAC,CAACu0C,SAAF,GAAY,UAASl7E,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,KAAKowC,KAAL,CAAW7zE,MAArB,EAA4ByjC,CAAC,EAA7B,GAAiC;AAAC,YAAI5lC,CAAC,GAAC,KAAKg2E,KAAL,CAAWpwC,CAAX,CAAN;;AAAoB,YAAG5lC,CAAC,KAAGf,CAAJ,IAAOe,CAAC,CAACk6E,YAAF,IAAgBl6E,CAAC,CAACk6E,YAAF,KAAiBj7E,CAA3C,EAA6C;AAAC,eAAK+2E,KAAL,CAAWv8D,MAAX,CAAkBmsB,CAAlB,EAAoB,CAApB,GAAuB,KAAK0pC,IAAL,CAAUwG,QAAV,CAAmB,KAAKE,KAAxB,CAAvB;AAAsD;AAAM;AAAC;AAAC,KAA3f,EAA4f/2E,CAAngB;AAAqgB,GAA7pE,CAA8pEg4E,EAA9pE,CAAP;;AAAyqEwC,IAAE,CAACzgE,SAAH,CAAagtD,cAAb,GAA4B;AAACoU,aAAS,EAAC;AAAX,GAA5B;;AAAoD,MAAIC,EAAE,GAAC,UAASta,CAAT,EAAW;AAAC,aAAS9gE,CAAT,CAAWA,CAAX,EAAa;AAAC,UAAI2mC,CAAJ;AAAM,WAAK,CAAL,KAAS3mC,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,UAAIe,CAAC,GAACwnE,EAAE,CAACvoE,CAAD,EAAG;AAACq2E,YAAI,EAACmB,EAAE,CAACx3E,CAAC,CAACq2E,IAAH,CAAF,IAAY;AAAlB,OAAH,CAAR;AAAkC1vC,OAAC,GAACm6B,CAAC,CAACn7D,IAAF,CAAO,IAAP,EAAY5E,CAAZ,KAAgB,IAAlB;AAAuB,UAAIu5B,CAAC,GAAC,CAAC,CAAP;AAAS,aAAO9zB,MAAM,CAAC06B,cAAP,CAAsBirC,EAAE,CAACxlC,CAAD,CAAxB,EAA4B,SAA5B,EAAsC;AAACje,WAAG,EAAC,eAAU;AAAC,iBAAO4R,CAAP;AAAS,SAAzB;AAA0B8G,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,uBAAW,OAAOA,CAAlB,IAAqBA,CAAC,KAAGs6B,CAAzB,KAA6BA,CAAC,GAACt6B,CAAF,EAAI,KAAKuF,OAAL,CAAa,eAAb,CAAjC;AAAgE;AAA1G,OAAtC,GAAmJxE,CAAC,CAACu0E,OAAF,KAAY3uC,CAAC,CAAC2uC,OAAF,GAAUv0E,CAAC,CAACu0E,OAAxB,CAAnJ,EAAoL3uC,CAAC,CAAC2zC,OAAF,GAAU,CAAC,CAA/L,EAAiM3zC,CAAxM;AAA0M;;AAAA,WAAO+lC,EAAE,CAAC1sE,CAAD,EAAG8gE,CAAH,CAAF,EAAQ9gE,CAAf;AAAiB,GAAhV,CAAiVg4E,EAAjV,CAAP;AAAA,MAA4VqD,EAAE,GAAC,UAASva,CAAT,EAAW;AAAC,aAAS9gE,CAAT,CAAWA,CAAX,EAAa;AAAC,UAAI2mC,CAAJ;AAAM,WAAK,CAAL,KAAS3mC,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,UAAIe,CAAC,GAACwnE,EAAE,CAACvoE,CAAD,EAAG;AAACq2E,YAAI,EAACY,EAAE,CAACj3E,CAAC,CAACq2E,IAAH,CAAF,IAAY;AAAlB,OAAH,CAAR;AAAkC1vC,OAAC,GAACm6B,CAAC,CAACn7D,IAAF,CAAO,IAAP,EAAY5E,CAAZ,KAAgB,IAAlB;AAAuB,UAAIu5B,CAAC,GAAC,CAAC,CAAP;AAAS,aAAO9zB,MAAM,CAAC06B,cAAP,CAAsBirC,EAAE,CAACxlC,CAAD,CAAxB,EAA4B,UAA5B,EAAuC;AAACje,WAAG,EAAC,eAAU;AAAC,iBAAO4R,CAAP;AAAS,SAAzB;AAA0B8G,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,uBAAW,OAAOA,CAAlB,IAAqBA,CAAC,KAAGs6B,CAAzB,KAA6BA,CAAC,GAACt6B,CAAF,EAAI,KAAKuF,OAAL,CAAa,gBAAb,CAAjC;AAAiE;AAA3G,OAAvC,GAAqJxE,CAAC,CAACs1B,QAAF,KAAasQ,CAAC,CAACtQ,QAAF,GAAWt1B,CAAC,CAACs1B,QAA1B,CAArJ,EAAyLsQ,CAAhM;AAAkM;;AAAA,WAAO+lC,EAAE,CAAC1sE,CAAD,EAAG8gE,CAAH,CAAF,EAAQ9gE,CAAf;AAAiB,GAAxU,CAAyUg4E,EAAzU,CAA/V;AAAA,MAA4qBsD,EAAE,GAAC,UAASxa,CAAT,EAAW;AAAC,aAAS9gE,CAAT,CAAWA,CAAX,EAAa;AAAC,UAAI2mC,CAAJ,EAAM5lC,CAAN;AAAQ,WAAK,CAAL,KAASf,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB2mC,CAAC,GAACm6B,CAAC,CAACn7D,IAAF,CAAO,IAAP,KAAc,IAAnC;AAAwC,UAAI20B,CAAC,GAAC,IAAIkgD,EAAJ,CAAOx6E,CAAP,CAAN;AAAgB,aAAO2mC,CAAC,CAAC0vC,IAAF,GAAO/7C,CAAC,CAAC+7C,IAAT,EAAc1vC,CAAC,CAAC3zB,GAAF,GAAMsnB,CAAC,CAACtnB,GAAtB,EAA0B2zB,CAAC,CAAC+zC,OAAF,GAAUpgD,CAAC,CAAC0vC,QAAtC,EAA+CrjC,CAAC,CAACusC,KAAF,GAAQ54C,CAAC,CAAC44C,KAAzD,EAA+DvsC,CAAC,WAAD,GAAUrM,CAAC,WAA1E,EAAmF9zB,MAAM,CAACu0E,gBAAP,CAAwB5O,EAAE,CAACxlC,CAAD,CAA1B,EAA8B;AAAC7G,kBAAU,EAAC;AAACpX,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAP;AAAS;AAAzB,SAAZ;AAAuCyvE,aAAK,EAAC;AAAC9nD,aAAG,EAAC,eAAU;AAAC,mBAAO4R,CAAP;AAAS;AAAzB;AAA7C,OAA9B,CAAnF,EAA2Lv5B,CAAC,GAAC,CAA7L,EAA+Lu5B,CAAC,CAAC1hB,gBAAF,CAAmB,YAAnB,EAAgC,YAAU;AAAC7X,SAAC,GAAC,CAAF,EAAI4lC,CAAC,CAACphC,OAAF,CAAU;AAACgL,cAAI,EAAC,MAAN;AAAajG,gBAAM,EAAC6hE,EAAE,CAACxlC,CAAD;AAAtB,SAAV,CAAJ;AAA0C,OAArF,CAA/L,EAAsRA,CAA7R;AAA+R;;AAAA,WAAO+lC,EAAE,CAAC1sE,CAAD,EAAG8gE,CAAH,CAAF,EAAQ9gE,CAAf;AAAiB,GAA1Y,CAA2Y0mE,EAA3Y,CAA/qB;;AAA8jC4U,IAAE,CAACvhE,SAAH,CAAagtD,cAAb,GAA4B;AAACj+B,QAAI,EAAC;AAAN,GAA5B,EAA0CwyC,EAAE,CAACC,IAAH,GAAQ,CAAlD,EAAoDD,EAAE,CAACE,OAAH,GAAW,CAA/D,EAAiEF,EAAE,CAACG,MAAH,GAAU,CAA3E,EAA6EH,EAAE,CAACI,KAAH,GAAS,CAAtF;AAAwF,MAAIC,EAAE,GAAC;AAACC,SAAK,EAAC;AAACC,eAAS,EAACjG,EAAX;AAAckG,gBAAU,EAACV,EAAzB;AAA4BW,iBAAW,EAAC;AAAxC,KAAP;AAAwDC,SAAK,EAAC;AAACH,eAAS,EAAC9F,EAAX;AAAc+F,gBAAU,EAACT,EAAzB;AAA4BU,iBAAW,EAAC;AAAxC,KAA9D;AAA+G/zD,QAAI,EAAC;AAAC6zD,eAAS,EAAC5F,EAAX;AAAc6F,gBAAU,EAACtB,EAAzB;AAA4BuB,iBAAW,EAAC;AAAxC;AAApH,GAAP;AAA4Kv1E,QAAM,CAAC8pB,IAAP,CAAYqrD,EAAZ,EAAgB5yE,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAAC27E,MAAE,CAAC37E,CAAD,CAAF,CAAMi8E,UAAN,GAAiBj8E,CAAC,GAAC,QAAnB,EAA4B27E,EAAE,CAAC37E,CAAD,CAAF,CAAMk8E,WAAN,GAAkBl8E,CAAC,GAAC,SAAhD;AAA0D,GAA9F;AAAgG,MAAIm8E,EAAE,GAAC;AAACC,cAAU,EAAC;AAACP,eAAS,EAAC5F,EAAX;AAAc6F,gBAAU,EAACtB,EAAzB;AAA4BuB,iBAAW,EAAC,YAAxC;AAAqDE,gBAAU,EAAC,kBAAhE;AAAmFC,iBAAW,EAAC;AAA/F,KAAZ;AAAgIG,gBAAY,EAAC;AAACR,eAAS,EAACtF,EAAX;AAAcuF,gBAAU,EAACR,EAAzB;AAA4BS,iBAAW,EAAC,oBAAxC;AAA6DE,gBAAU,EAAC,oBAAxE;AAA6FC,iBAAW,EAAC;AAAzG;AAA7I,GAAP;AAAA,MAAqRI,EAAE,GAACxb,CAAC,CAAC,EAAD,EAAI6a,EAAJ,EAAOQ,EAAP,CAAzR;AAAoSA,IAAE,CAAC7J,KAAH,GAAS9rE,MAAM,CAAC8pB,IAAP,CAAY6rD,EAAZ,CAAT,EAAyBR,EAAE,CAACrJ,KAAH,GAAS9rE,MAAM,CAAC8pB,IAAP,CAAYqrD,EAAZ,CAAlC,EAAkDW,EAAE,CAAChK,KAAH,GAAS,GAAGvrD,MAAH,CAAUo1D,EAAE,CAAC7J,KAAb,EAAoBvrD,MAApB,CAA2B40D,EAAE,CAACrJ,KAA9B,CAA3D;;AAAgG,MAAIiK,EAAE,GAAC/1E,MAAM,CAACgW,MAAP,IAAe,UAASxc,CAAT,EAAW;AAAC,QAAG,MAAIkpB,SAAS,CAAChmB,MAAjB,EAAwB,MAAM,IAAIgQ,KAAJ,CAAU,gDAAV,CAAN;AAAkE,WAAOspE,EAAE,CAACziE,SAAH,GAAa/Z,CAAb,EAAe,IAAIw8E,EAAJ,EAAtB;AAA6B,GAAzJ;;AAA0J,WAASA,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,CAAYz8E,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAK/c,IAAL,GAAU,cAAV,EAAyB,KAAKjC,IAAL,GAAU3nB,CAAC,CAAC2nB,IAArC,EAA0C,KAAK1J,OAAL,GAAa0oB,CAAC,IAAE3mC,CAAC,CAACie,OAA5D;AAAoE;;AAAA,WAASy+D,EAAT,CAAY18E,CAAZ,EAAc;AAAC,aAAS2mC,CAAT,CAAW3mC,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiBu5B,CAAjB,EAAmB;AAAC,aAAO,QAAM,IAAEt6B,CAAR,IAAW,MAAI,IAAE2mC,CAAN,CAAX,IAAqB,IAAE5lC,CAAvB,IAA0B,CAAC,IAAEu5B,CAAH,IAAM,GAAvC;AAA2C;;AAAA,QAAIv5B,CAAC,GAACf,CAAC,CAACyvB,KAAF,CAAQ,sCAAR,CAAN;AAAsD,WAAO1uB,CAAC,GAACA,CAAC,CAAC,CAAD,CAAD,GAAK4lC,CAAC,CAAC5lC,CAAC,CAAC,CAAD,CAAF,EAAMA,CAAC,CAAC,CAAD,CAAP,EAAWA,CAAC,CAAC,CAAD,CAAD,CAAKsD,OAAL,CAAa,GAAb,EAAiB,EAAjB,CAAX,EAAgCtD,CAAC,CAAC,CAAD,CAAjC,CAAN,GAA4C,KAAGA,CAAC,CAAC,CAAD,CAAJ,GAAQ4lC,CAAC,CAAC5lC,CAAC,CAAC,CAAD,CAAF,EAAMA,CAAC,CAAC,CAAD,CAAP,EAAW,CAAX,EAAaA,CAAC,CAAC,CAAD,CAAd,CAAT,GAA4B4lC,CAAC,CAAC,CAAD,EAAG5lC,CAAC,CAAC,CAAD,CAAJ,EAAQA,CAAC,CAAC,CAAD,CAAT,EAAaA,CAAC,CAAC,CAAD,CAAd,CAA1E,GAA6F,IAArG;AAA0G;;AAAA,WAAS47E,EAAT,GAAa;AAAC,SAAK94C,MAAL,GAAY04C,EAAE,CAAC,IAAD,CAAd;AAAqB;;AAAA,WAASK,EAAT,CAAY58E,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoB;AAAC,QAAIwmC,CAAC,GAACxmC,CAAC,GAACt6B,CAAC,CAACmrB,KAAF,CAAQmP,CAAR,CAAD,GAAY,CAACt6B,CAAD,CAAnB;;AAAuB,SAAI,IAAI0kB,CAAR,IAAao8C,CAAb;AAAe,UAAG,YAAU,OAAOA,CAAC,CAACp8C,CAAD,CAArB,EAAyB;AAAC,YAAItJ,CAAC,GAAC0lD,CAAC,CAACp8C,CAAD,CAAD,CAAKyG,KAAL,CAAWpqB,CAAX,CAAN;AAAoB,YAAG,MAAIqa,CAAC,CAAClY,MAAT,EAAgByjC,CAAC,CAACvrB,CAAC,CAAC,CAAD,CAAF,EAAMA,CAAC,CAAC,CAAD,CAAP,CAAD;AAAa;AAA1F;AAA2F;;AAAA,WAASyhE,EAAT,CAAYl2C,CAAZ,EAAc3mC,CAAd,EAAgBob,CAAhB,EAAkB;AAAC,QAAIra,CAAC,GAAC4lC,CAAN;;AAAQ,aAASrM,CAAT,GAAY;AAAC,UAAIt6B,CAAC,GAAC08E,EAAE,CAAC/1C,CAAD,CAAR;AAAY,UAAG,SAAO3mC,CAAV,EAAY,MAAM,IAAIy8E,EAAJ,CAAOA,EAAE,CAACK,MAAH,CAAUC,YAAjB,EAA8B,0BAAwBh8E,CAAtD,CAAN;AAA+D,aAAO4lC,CAAC,GAACA,CAAC,CAACtiC,OAAF,CAAU,gBAAV,EAA2B,EAA3B,CAAF,EAAiCrE,CAAxC;AAA0C;;AAAA,aAAS8gE,CAAT,GAAY;AAACn6B,OAAC,GAACA,CAAC,CAACtiC,OAAF,CAAU,MAAV,EAAiB,EAAjB,CAAF;AAAuB;;AAAA,QAAGy8D,CAAC,IAAG9gE,CAAC,CAACq1C,SAAF,GAAY/a,CAAC,EAAhB,EAAmBwmC,CAAC,EAApB,EAAuB,aAAWn6B,CAAC,CAACijB,MAAF,CAAS,CAAT,EAAW,CAAX,CAAtC,EAAoD,MAAM,IAAI6yB,EAAJ,CAAOA,EAAE,CAACK,MAAH,CAAUC,YAAjB,EAA8B,uEAAqEh8E,CAAnG,CAAN;AAA4G4lC,KAAC,GAACA,CAAC,CAACijB,MAAF,CAAS,CAAT,CAAF,EAAckX,CAAC,EAAf,EAAkB9gE,CAAC,CAACswE,OAAF,GAAUh2C,CAAC,EAA7B,EAAgCwmC,CAAC,EAAjC,EAAoC,UAAS9gE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAIjiB,CAAC,GAAC,IAAIi4D,EAAJ,EAAN;AAAaC,QAAE,CAAC58E,CAAD,EAAG,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,gBAAO3mC,CAAP;AAAU,eAAI,QAAJ;AAAa,iBAAI,IAAIe,CAAC,GAACqa,CAAC,CAAClY,MAAF,GAAS,CAAnB,EAAqB,KAAGnC,CAAxB,EAA0BA,CAAC,EAA3B;AAA8B,kBAAGqa,CAAC,CAACra,CAAD,CAAD,CAAKE,EAAL,KAAU0lC,CAAb,EAAe;AAACjiB,iBAAC,CAAC0c,GAAF,CAAMphC,CAAN,EAAQob,CAAC,CAACra,CAAD,CAAD,CAAKi8E,MAAb;AAAqB;AAAM;AAAzE;;AAAyE;;AAAM,eAAI,UAAJ;AAAet4D,aAAC,CAACtb,GAAF,CAAMpJ,CAAN,EAAQ2mC,CAAR,EAAU,CAAC,IAAD,EAAM,IAAN,CAAV;AAAuB;;AAAM,eAAI,MAAJ;AAAW,gBAAIrM,CAAC,GAACqM,CAAC,CAACxb,KAAF,CAAQ,GAAR,CAAN;AAAA,gBAAmB21C,CAAC,GAACxmC,CAAC,CAAC,CAAD,CAAtB;AAA0B5V,aAAC,CAACu4D,OAAF,CAAUj9E,CAAV,EAAY8gE,CAAZ,GAAep8C,CAAC,CAACquB,OAAF,CAAU/yC,CAAV,EAAY8gE,CAAZ,KAAgBp8C,CAAC,CAAC0c,GAAF,CAAM,aAAN,EAAoB,CAAC,CAArB,CAA/B,EAAuD1c,CAAC,CAACtb,GAAF,CAAMpJ,CAAN,EAAQ8gE,CAAR,EAAU,CAAC,MAAD,CAAV,CAAvD,EAA2E,MAAIxmC,CAAC,CAACp3B,MAAN,IAAcwhB,CAAC,CAACtb,GAAF,CAAM,WAAN,EAAkBkxB,CAAC,CAAC,CAAD,CAAnB,EAAuB,CAAC,OAAD,EAAS,QAAT,EAAkB,KAAlB,CAAvB,CAAzF;AAA0I;;AAAM,eAAI,UAAJ;AAAeA,aAAC,GAACqM,CAAC,CAACxb,KAAF,CAAQ,GAAR,CAAF,EAAezG,CAAC,CAACquB,OAAF,CAAU/yC,CAAV,EAAYs6B,CAAC,CAAC,CAAD,CAAb,CAAf,EAAiC,MAAIA,CAAC,CAACp3B,MAAN,IAAcwhB,CAAC,CAACtb,GAAF,CAAM,eAAN,EAAsBkxB,CAAC,CAAC,CAAD,CAAvB,EAA2B,CAAC,OAAD,EAAS,QAAT,EAAkB,KAAlB,CAA3B,CAA/C;AAAoG;;AAAM,eAAI,MAAJ;AAAW5V,aAAC,CAACquB,OAAF,CAAU/yC,CAAV,EAAY2mC,CAAZ;AAAe;;AAAM,eAAI,OAAJ;AAAYjiB,aAAC,CAACtb,GAAF,CAAMpJ,CAAN,EAAQ2mC,CAAR,EAAU,CAAC,OAAD,EAAS,QAAT,EAAkB,KAAlB,EAAwB,MAAxB,EAA+B,OAA/B,CAAV;AAA5e;AAAgiB,OAAjjB,EAAkjB,GAAljB,EAAsjB,IAAtjB,CAAF,EAA8jBA,CAAC,CAACq2C,MAAF,GAASt4D,CAAC,CAACgE,GAAF,CAAM,QAAN,EAAe,IAAf,CAAvkB,EAA4lBie,CAAC,CAACvkB,QAAF,GAAWsC,CAAC,CAACgE,GAAF,CAAM,UAAN,EAAiB,EAAjB,CAAvmB;;AAA4nB,UAAG;AAACie,SAAC,CAACu2C,IAAF,GAAOx4D,CAAC,CAACgE,GAAF,CAAM,MAAN,EAAa,MAAb,CAAP;AAA4B,OAAhC,CAAgC,OAAM1oB,CAAN,EAAQ,CAAE;;AAAA2mC,OAAC,CAACw2C,SAAF,GAAYz4D,CAAC,CAACgE,GAAF,CAAM,WAAN,EAAkB,OAAlB,CAAZ,EAAuCie,CAAC,CAACy2C,WAAF,GAAc14D,CAAC,CAACgE,GAAF,CAAM,aAAN,EAAoB,CAAC,CAArB,CAArD,EAA6Eie,CAAC,CAAC1gB,IAAF,GAAOvB,CAAC,CAACgE,GAAF,CAAM,MAAN,EAAa,GAAb,CAApF;;AAAsG,UAAG;AAACie,SAAC,CAAC02C,KAAF,GAAQ34D,CAAC,CAACgE,GAAF,CAAM,OAAN,EAAc,QAAd,CAAR;AAAgC,OAApC,CAAoC,OAAM1oB,CAAN,EAAQ;AAAC2mC,SAAC,CAAC02C,KAAF,GAAQ34D,CAAC,CAACgE,GAAF,CAAM,OAAN,EAAc,QAAd,CAAR;AAAgC;;AAAA,UAAG;AAACie,SAAC,CAAC3mB,QAAF,GAAW0E,CAAC,CAACgE,GAAF,CAAM,UAAN,EAAiB,MAAjB,CAAX;AAAoC,OAAxC,CAAwC,OAAM1oB,CAAN,EAAQ;AAAC2mC,SAAC,CAAC3mB,QAAF,GAAW0E,CAAC,CAACgE,GAAF,CAAM,UAAN,EAAiB;AAAClH,eAAK,EAAC,CAAP;AAASrB,cAAI,EAAC,CAAd;AAAgBkqC,gBAAM,EAAC,EAAvB;AAA0BizB,gBAAM,EAAC,EAAjC;AAAoC5zD,aAAG,EAAC,GAAxC;AAA4CpG,eAAK,EAAC;AAAlD,SAAjB,EAAwEqjB,CAAC,CAAC02C,KAA1E,CAAX;AAA4F;;AAAA12C,OAAC,CAAC42C,aAAF,GAAgB74D,CAAC,CAACgE,GAAF,CAAM,eAAN,EAAsB;AAAClH,aAAK,EAAC,OAAP;AAAerB,YAAI,EAAC,OAApB;AAA4BkqC,cAAM,EAAC,QAAnC;AAA4CizB,cAAM,EAAC,QAAnD;AAA4D5zD,WAAG,EAAC,KAAhE;AAAsEpG,aAAK,EAAC;AAA5E,OAAtB,EAAyGqjB,CAAC,CAAC02C,KAA3G,CAAhB;AAAkI,KAAnoC,CAAooC12C,CAApoC,EAAsoC3mC,CAAtoC,CAApC;AAA6qC;;AAAA,GAAC,CAACy8E,EAAE,CAAC1iE,SAAH,GAAawiE,EAAE,CAACrpE,KAAK,CAAC6G,SAAP,CAAhB,EAAmCyO,WAAnC,GAA+Ci0D,EAAhD,EAAoDK,MAApD,GAA2D;AAACU,gBAAY,EAAC;AAAC71D,UAAI,EAAC,CAAN;AAAQ1J,aAAO,EAAC;AAAhB,KAAd;AAA6D8+D,gBAAY,EAAC;AAACp1D,UAAI,EAAC,CAAN;AAAQ1J,aAAO,EAAC;AAAhB;AAA1E,GAA3D,EAA+K0+D,EAAE,CAAC5iE,SAAH,GAAa;AAACqnB,OAAG,EAAC,aAASphC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAKje,GAAL,CAAS1oB,CAAT,KAAa,OAAK2mC,CAAlB,KAAsB,KAAK9C,MAAL,CAAY7jC,CAAZ,IAAe2mC,CAArC;AAAwC,KAA3D;AAA4Dje,OAAG,EAAC,aAAS1oB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,aAAOA,CAAC,GAAC,KAAKm6B,GAAL,CAASl7B,CAAT,IAAY,KAAK6jC,MAAL,CAAY7jC,CAAZ,CAAZ,GAA2B2mC,CAAC,CAAC5lC,CAAD,CAA7B,GAAiC,KAAKm6B,GAAL,CAASl7B,CAAT,IAAY,KAAK6jC,MAAL,CAAY7jC,CAAZ,CAAZ,GAA2B2mC,CAApE;AAAsE,KAAtJ;AAAuJzL,OAAG,EAAC,aAASl7B,CAAT,EAAW;AAAC,aAAOA,CAAC,IAAI,KAAK6jC,MAAjB;AAAwB,KAA/L;AAAgMz6B,OAAG,EAAC,aAASpJ,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,WAAI,IAAIu5B,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACv5B,CAAC,CAACmC,MAAhB,EAAuB,EAAEo3B,CAAzB;AAA2B,YAAGqM,CAAC,KAAG5lC,CAAC,CAACu5B,CAAD,CAAR,EAAY;AAAC,eAAK8G,GAAL,CAASphC,CAAT,EAAW2mC,CAAX;AAAc;AAAM;AAA5D;AAA6D,KAAjR;AAAkRs2C,WAAO,EAAC,iBAASj9E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,gBAAUhxB,IAAV,CAAegxB,CAAf,KAAmB,KAAKvF,GAAL,CAASphC,CAAT,EAAW0G,QAAQ,CAACigC,CAAD,EAAG,EAAH,CAAnB,CAAnB;AAA8C,KAAtV;AAAuVoM,WAAO,EAAC,iBAAS/yC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAM,CAAC,EAAEA,CAAC,CAAClX,KAAF,CAAQ,0BAAR,KAAqC,MAAIkX,CAAC,GAAC1jB,UAAU,CAAC0jB,CAAD,CAAhB,CAArC,IAA2DA,CAAC,IAAE,GAAhE,CAAD,KAAwE,KAAKvF,GAAL,CAASphC,CAAT,EAAW2mC,CAAX,GAAc,CAAC,CAAvF,CAAN;AAAgG;AAA7c,GAA5L;;AAA2oB,MAAIv6B,EAAE,GAACq0D,CAAC,CAAC1tD,aAAF,CAAgB,UAAhB,CAAP;AAAA,MAAmC0qE,EAAE,GAAC;AAACjc,KAAC,EAAC,MAAH;AAAUzgE,KAAC,EAAC,GAAZ;AAAgBsa,KAAC,EAAC,GAAlB;AAAsBulD,KAAC,EAAC,GAAxB;AAA4B8c,QAAI,EAAC,MAAjC;AAAwC7P,MAAE,EAAC,IAA3C;AAAgD5wC,KAAC,EAAC,MAAlD;AAAyDpH,QAAI,EAAC;AAA9D,GAAtC;AAAA,MAA4G8nD,EAAE,GAAC;AAACC,SAAK,EAAC,qBAAP;AAA6BC,QAAI,EAAC,iBAAlC;AAAoDC,QAAI,EAAC,mBAAzD;AAA6EC,OAAG,EAAC,iBAAjF;AAAmGC,UAAM,EAAC,mBAA1G;AAA8HC,WAAO,EAAC,mBAAtI;AAA0JC,QAAI,EAAC,iBAA/J;AAAiLC,SAAK,EAAC;AAAvL,GAA/G;AAAA,MAAuTC,EAAE,GAAC;AAACnhD,KAAC,EAAC,OAAH;AAAWpH,QAAI,EAAC;AAAhB,GAA1T;AAAA,MAAkVwoD,EAAE,GAAC;AAACxQ,MAAE,EAAC;AAAJ,GAArV;;AAAiW,WAASyQ,EAAT,CAAY55D,CAAZ,EAAc3jB,CAAd,EAAgB;AAAC,aAASf,CAAT,GAAY;AAAC,UAAG,CAACe,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAIf,CAAJ;AAAA,UAAM2mC,CAAC,GAAC5lC,CAAC,CAAC0uB,KAAF,CAAQ,qBAAR,CAAR;AAAuC,aAAOzvB,CAAC,GAAC2mC,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAN,GAAUA,CAAC,CAAC,CAAD,CAAb,EAAiB5lC,CAAC,GAACA,CAAC,CAAC6oD,MAAF,CAAS5pD,CAAC,CAACkD,MAAX,CAAnB,EAAsClD,CAA7C;AAA+C;;AAAA,aAAS2mC,CAAT,CAAW3mC,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAC,GAAC08E,EAAE,CAACz9E,CAAD,CAAR;AAAY,UAAG,CAACe,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAIu5B,CAAC,GAAC5V,CAAC,CAACviB,QAAF,CAAW4Q,aAAX,CAAyBhS,CAAzB,CAAN;AAAA,UAAkC+/D,CAAC,GAACsd,EAAE,CAACp+E,CAAD,CAAtC;AAA0C,aAAO8gE,CAAC,IAAEn6B,CAAH,KAAOrM,CAAC,CAACwmC,CAAD,CAAD,GAAKn6B,CAAC,CAACkd,IAAF,EAAZ,GAAsBvpB,CAA7B;AAA+B;;AAAA,SAAI,IAAIA,CAAJ,EAAMwmC,CAAN,EAAQ1lD,CAAR,EAAUulD,CAAV,EAAYC,CAAC,GAACl8C,CAAC,CAACviB,QAAF,CAAW4Q,aAAX,CAAyB,KAAzB,CAAd,EAA8CqoB,CAAC,GAACwlC,CAAhD,EAAkDY,CAAC,GAAC,EAAxD,EAA2D,UAAQlnC,CAAC,GAACt6B,CAAC,EAAX,CAA3D;AAA2E,UAAG,QAAMs6B,CAAC,CAAC,CAAD,CAAV,EAAcc,CAAC,CAAClT,WAAF,CAAcxD,CAAC,CAACviB,QAAF,CAAW6jC,cAAX,EAA2B86B,CAAC,GAACxmC,CAAF,EAAIluB,EAAE,CAACqmB,SAAH,GAAaquC,CAAjB,EAAmBA,CAAC,GAAC10D,EAAE,CAAC2nB,WAAxB,EAAoC3nB,EAAE,CAAC2nB,WAAH,GAAe,EAAnD,EAAsD+sC,CAAjF,EAAd,EAAd,KAAsH;AAAC,YAAG,QAAMxmC,CAAC,CAAC,CAAD,CAAV,EAAc;AAACknC,WAAC,CAACt+D,MAAF,IAAUs+D,CAAC,CAACA,CAAC,CAACt+D,MAAF,GAAS,CAAV,CAAD,KAAgBo3B,CAAC,CAACsvB,MAAF,CAAS,CAAT,EAAYvlD,OAAZ,CAAoB,GAApB,EAAwB,EAAxB,CAA1B,KAAwDm9D,CAAC,CAAC30C,GAAF,IAAQuO,CAAC,GAACA,CAAC,CAAC/nB,UAApE;AAAgF;AAAS;;AAAA,YAAIotD,CAAJ;AAAA,YAAMC,CAAC,GAACgc,EAAE,CAACpiD,CAAC,CAACsvB,MAAF,CAAS,CAAT,EAAWtvB,CAAC,CAACp3B,MAAF,GAAS,CAApB,CAAD,CAAV;;AAAmC,YAAGw9D,CAAH,EAAK;AAACD,WAAC,GAAC/7C,CAAC,CAACviB,QAAF,CAAWo8E,2BAAX,CAAuC,WAAvC,EAAmD7d,CAAnD,CAAF,EAAwDtlC,CAAC,CAAClT,WAAF,CAAcu4C,CAAd,CAAxD;AAAyE;AAAS;;AAAA,YAAIrtB,CAAC,GAAC9Y,CAAC,CAAC7K,KAAF,CAAQ,kDAAR,CAAN;AAAkE,YAAG,CAAC2jB,CAAJ,EAAM;AAAS,YAAG,EAAEqtB,CAAC,GAAC95B,CAAC,CAACyM,CAAC,CAAC,CAAD,CAAF,EAAMA,CAAC,CAAC,CAAD,CAAP,CAAL,CAAH,EAAqB;AAAS,YAAGh4B,CAAC,GAACggB,CAAF,EAAIijD,EAAE,CAAC,CAAC1d,CAAC,GAACF,CAAH,EAAM+d,SAAP,CAAF,IAAqBH,EAAE,CAAC1d,CAAC,CAAC6d,SAAH,CAAF,KAAkBpjE,CAAC,CAACojE,SAAhD,EAA0D;;AAAS,YAAGprC,CAAC,CAAC,CAAD,CAAJ,EAAQ;AAAC,cAAIkuB,CAAC,GAACluB,CAAC,CAAC,CAAD,CAAD,CAAKjoB,KAAL,CAAW,GAAX,CAAN;AAAsBm2C,WAAC,CAACv4D,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,gBAAI2mC,CAAC,GAAC,OAAOhxB,IAAP,CAAY3V,CAAZ,CAAN;AAAA,gBAAqBe,CAAC,GAAC4lC,CAAC,GAAC3mC,CAAC,CAAC2a,KAAF,CAAQ,CAAR,CAAD,GAAY3a,CAApC;;AAAsC,gBAAG29E,EAAE,CAACjrE,cAAH,CAAkB3R,CAAlB,CAAH,EAAwB;AAAC,kBAAIu5B,CAAC,GAACqM,CAAC,GAAC,kBAAD,GAAoB,OAA3B;AAAA,kBAAmCm6B,CAAC,GAAC6c,EAAE,CAAC58E,CAAD,CAAvC;AAA2C0/D,eAAC,CAACtjD,KAAF,CAAQmd,CAAR,IAAWwmC,CAAX;AAAa;AAAC,WAA9I,GAAgJL,CAAC,CAACxuC,SAAF,GAAYqvC,CAAC,CAACnxC,IAAF,CAAO,GAAP,CAA5J;AAAwK;;AAAAqxC,SAAC,CAACj+D,IAAF,CAAO6vC,CAAC,CAAC,CAAD,CAAR,GAAahY,CAAC,CAAClT,WAAF,CAAcu4C,CAAd,CAAb,EAA8BrlC,CAAC,GAACqlC,CAAhC;AAAkC;AAAh0B;;AAAg0B,WAAOG,CAAP;AAAS;;AAAA,MAAI6d,EAAE,GAAC,CAAC,CAAC,IAAD,EAAM,IAAN,CAAD,EAAa,CAAC,IAAD,EAAM,IAAN,CAAb,EAAyB,CAAC,IAAD,EAAM,IAAN,CAAzB,EAAqC,CAAC,IAAD,EAAM,IAAN,CAArC,EAAiD,CAAC,IAAD,EAAM,IAAN,CAAjD,EAA6D,CAAC,IAAD,EAAM,IAAN,CAA7D,EAAyE,CAAC,IAAD,EAAM,IAAN,CAAzE,EAAqF,CAAC,IAAD,EAAM,IAAN,CAArF,EAAiG,CAAC,IAAD,EAAM,IAAN,CAAjG,EAA6G,CAAC,IAAD,EAAM,IAAN,CAA7G,EAAyH,CAAC,IAAD,EAAM,IAAN,CAAzH,EAAqI,CAAC,IAAD,EAAM,IAAN,CAArI,EAAiJ,CAAC,IAAD,EAAM,IAAN,CAAjJ,EAA6J,CAAC,IAAD,EAAM,IAAN,CAA7J,EAAyK,CAAC,IAAD,EAAM,IAAN,CAAzK,EAAqL,CAAC,IAAD,EAAM,IAAN,CAArL,EAAiM,CAAC,IAAD,EAAM,IAAN,CAAjM,EAA6M,CAAC,IAAD,EAAM,IAAN,CAA7M,EAAyN,CAAC,IAAD,EAAM,IAAN,CAAzN,EAAqO,CAAC,IAAD,EAAM,IAAN,CAArO,EAAiP,CAAC,IAAD,EAAM,IAAN,CAAjP,EAA6P,CAAC,IAAD,EAAM,IAAN,CAA7P,EAAyQ,CAAC,IAAD,EAAM,IAAN,CAAzQ,EAAqR,CAAC,IAAD,EAAM,IAAN,CAArR,EAAiS,CAAC,IAAD,EAAM,IAAN,CAAjS,EAA6S,CAAC,IAAD,EAAM,IAAN,CAA7S,EAAyT,CAAC,IAAD,EAAM,IAAN,CAAzT,EAAqU,CAAC,IAAD,EAAM,IAAN,CAArU,EAAiV,CAAC,IAAD,EAAM,IAAN,CAAjV,EAA6V,CAAC,IAAD,EAAM,IAAN,CAA7V,EAAyW,CAAC,IAAD,EAAM,IAAN,CAAzW,EAAqX,CAAC,IAAD,EAAM,IAAN,CAArX,EAAiY,CAAC,IAAD,EAAM,IAAN,CAAjY,EAA6Y,CAAC,KAAD,EAAO,KAAP,CAA7Y,EAA2Z,CAAC,KAAD,EAAO,KAAP,CAA3Z,EAAya,CAAC,KAAD,EAAO,KAAP,CAAza,EAAub,CAAC,KAAD,EAAO,KAAP,CAAvb,EAAqc,CAAC,KAAD,EAAO,KAAP,CAArc,EAAmd,CAAC,KAAD,EAAO,KAAP,CAAnd,EAAie,CAAC,KAAD,EAAO,KAAP,CAAje,EAA+e,CAAC,KAAD,EAAO,KAAP,CAA/e,EAA6f,CAAC,KAAD,EAAO,KAAP,CAA7f,EAA2gB,CAAC,KAAD,EAAO,KAAP,CAA3gB,EAAyhB,CAAC,KAAD,EAAO,KAAP,CAAzhB,EAAuiB,CAAC,KAAD,EAAO,KAAP,CAAviB,EAAqjB,CAAC,KAAD,EAAO,KAAP,CAArjB,EAAmkB,CAAC,KAAD,EAAO,KAAP,CAAnkB,EAAilB,CAAC,KAAD,EAAO,KAAP,CAAjlB,EAA+lB,CAAC,KAAD,EAAO,KAAP,CAA/lB,EAA6mB,CAAC,KAAD,EAAO,KAAP,CAA7mB,EAA2nB,CAAC,KAAD,EAAO,KAAP,CAA3nB,EAAyoB,CAAC,KAAD,EAAO,KAAP,CAAzoB,EAAupB,CAAC,KAAD,EAAO,KAAP,CAAvpB,EAAqqB,CAAC,KAAD,EAAO,KAAP,CAArqB,EAAmrB,CAAC,KAAD,EAAO,KAAP,CAAnrB,EAAisB,CAAC,KAAD,EAAO,KAAP,CAAjsB,EAA+sB,CAAC,KAAD,EAAO,KAAP,CAA/sB,EAA6tB,CAAC,KAAD,EAAO,KAAP,CAA7tB,EAA2uB,CAAC,KAAD,EAAO,KAAP,CAA3uB,EAAyvB,CAAC,KAAD,EAAO,KAAP,CAAzvB,EAAuwB,CAAC,KAAD,EAAO,KAAP,CAAvwB,EAAqxB,CAAC,KAAD,EAAO,KAAP,CAArxB,EAAmyB,CAAC,KAAD,EAAO,KAAP,CAAnyB,EAAizB,CAAC,KAAD,EAAO,KAAP,CAAjzB,EAA+zB,CAAC,KAAD,EAAO,KAAP,CAA/zB,EAA60B,CAAC,KAAD,EAAO,KAAP,CAA70B,EAA21B,CAAC,KAAD,EAAO,KAAP,CAA31B,EAAy2B,CAAC,KAAD,EAAO,KAAP,CAAz2B,EAAu3B,CAAC,KAAD,EAAO,KAAP,CAAv3B,EAAq4B,CAAC,KAAD,EAAO,KAAP,CAAr4B,EAAm5B,CAAC,KAAD,EAAO,KAAP,CAAn5B,EAAi6B,CAAC,MAAD,EAAQ,MAAR,CAAj6B,EAAi7B,CAAC,MAAD,EAAQ,MAAR,CAAj7B,EAAi8B,CAAC,MAAD,EAAQ,MAAR,CAAj8B,EAAi9B,CAAC,MAAD,EAAQ,MAAR,CAAj9B,EAAi+B,CAAC,MAAD,EAAQ,MAAR,CAAj+B,EAAi/B,CAAC,MAAD,EAAQ,MAAR,CAAj/B,EAAigC,CAAC,MAAD,EAAQ,MAAR,CAAjgC,EAAihC,CAAC,MAAD,EAAQ,MAAR,CAAjhC,EAAiiC,CAAC,MAAD,EAAQ,MAAR,CAAjiC,EAAijC,CAAC,MAAD,EAAQ,MAAR,CAAjjC,EAAikC,CAAC,MAAD,EAAQ,MAAR,CAAjkC,EAAilC,CAAC,MAAD,EAAQ,MAAR,CAAjlC,EAAimC,CAAC,MAAD,EAAQ,MAAR,CAAjmC,EAAinC,CAAC,MAAD,EAAQ,MAAR,CAAjnC,EAAioC,CAAC,MAAD,EAAQ,MAAR,CAAjoC,EAAipC,CAAC,MAAD,EAAQ,MAAR,CAAjpC,EAAiqC,CAAC,MAAD,EAAQ,MAAR,CAAjqC,EAAirC,CAAC,MAAD,EAAQ,MAAR,CAAjrC,EAAisC,CAAC,MAAD,EAAQ,MAAR,CAAjsC,EAAitC,CAAC,MAAD,EAAQ,MAAR,CAAjtC,EAAiuC,CAAC,MAAD,EAAQ,MAAR,CAAjuC,EAAivC,CAAC,MAAD,EAAQ,MAAR,CAAjvC,EAAiwC,CAAC,MAAD,EAAQ,MAAR,CAAjwC,EAAixC,CAAC,MAAD,EAAQ,MAAR,CAAjxC,EAAiyC,CAAC,MAAD,EAAQ,MAAR,CAAjyC,EAAizC,CAAC,MAAD,EAAQ,MAAR,CAAjzC,EAAi0C,CAAC,MAAD,EAAQ,MAAR,CAAj0C,EAAi1C,CAAC,MAAD,EAAQ,MAAR,CAAj1C,EAAi2C,CAAC,MAAD,EAAQ,MAAR,CAAj2C,EAAi3C,CAAC,MAAD,EAAQ,MAAR,CAAj3C,EAAi4C,CAAC,MAAD,EAAQ,MAAR,CAAj4C,EAAi5C,CAAC,MAAD,EAAQ,MAAR,CAAj5C,EAAi6C,CAAC,MAAD,EAAQ,MAAR,CAAj6C,EAAi7C,CAAC,OAAD,EAAS,OAAT,CAAj7C,CAAP;;AAA28C,WAASC,EAAT,CAAY1+E,CAAZ,EAAc;AAAC,SAAI,IAAI2mC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC83C,EAAE,CAACv7E,MAAjB,EAAwByjC,CAAC,EAAzB,EAA4B;AAAC,UAAI5lC,CAAC,GAAC09E,EAAE,CAAC93C,CAAD,CAAR;AAAY,UAAG3mC,CAAC,IAAEe,CAAC,CAAC,CAAD,CAAJ,IAASf,CAAC,IAAEe,CAAC,CAAC,CAAD,CAAhB,EAAoB,OAAM,CAAC,CAAP;AAAS;;AAAA,WAAM,CAAC,CAAP;AAAS;;AAAA,WAAS49E,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,CAAY5+E,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC49E,MAAE,CAACh5E,IAAH,CAAQ,IAAR,GAAc,KAAKk5E,GAAL,GAASl4C,CAAvB,EAAyB,KAAKm4C,MAAL,GAAYR,EAAE,CAACt+E,CAAD,EAAG2mC,CAAC,CAAC3e,IAAL,CAAvC;AAAkD,QAAIsS,CAAC,GAAC;AAACykD,WAAK,EAAC,wBAAP;AAAgCC,qBAAe,EAAC,oBAAhD;AAAqEh/D,cAAQ,EAAC,UAA9E;AAAyFG,UAAI,EAAC,CAA9F;AAAgGmD,WAAK,EAAC,CAAtG;AAAwGrP,SAAG,EAAC,CAA5G;AAA8GmP,YAAM,EAAC,CAArH;AAAuHyf,aAAO,EAAC,QAA/H;AAAwIo8C,iBAAW,EAAC,OAAKt4C,CAAC,CAACvkB,QAAP,GAAgB,eAAhB,GAAgC,SAAOukB,CAAC,CAACvkB,QAAT,GAAkB,aAAlB,GAAgC,aAApN;AAAkO88D,iBAAW,EAAC;AAA9O,KAAN;AAAiQ,SAAKC,WAAL,CAAiB7kD,CAAjB,EAAmB,KAAKwkD,MAAxB,GAAgC,KAAKz6C,GAAL,GAASrkC,CAAC,CAACmC,QAAF,CAAW4Q,aAAX,CAAyB,KAAzB,CAAzC,EAAyEunB,CAAC,GAAC;AAACzhB,eAAS,EAAC,UAAS7Y,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC,EAAN;AAAA,YAAS5lC,CAAC,GAAC,EAAX;AAAc,YAAG,CAACf,CAAD,IAAI,CAACA,CAAC,CAACovB,UAAV,EAAqB,OAAM,KAAN;;AAAY,iBAAS0xC,CAAT,CAAW9gE,CAAX,EAAa2mC,CAAb,EAAe;AAAC,eAAI,IAAI5lC,CAAC,GAAC4lC,CAAC,CAACvX,UAAF,CAAalsB,MAAb,GAAoB,CAA9B,EAAgC,KAAGnC,CAAnC,EAAqCA,CAAC,EAAtC;AAAyCf,aAAC,CAACuD,IAAF,CAAOojC,CAAC,CAACvX,UAAF,CAAaruB,CAAb,CAAP;AAAzC;AAAiE;;AAAA,iBAAS2jB,CAAT,CAAW1kB,CAAX,EAAa;AAAC,cAAG,CAACA,CAAD,IAAI,CAACA,CAAC,CAACkD,MAAV,EAAiB,OAAO,IAAP;AAAY,cAAIyjC,CAAC,GAAC3mC,CAAC,CAAC6sB,GAAF,EAAN;AAAA,cAAc9rB,CAAC,GAAC4lC,CAAC,CAAC5S,WAAF,IAAe4S,CAAC,CAACq7B,SAAjC;;AAA2C,cAAGjhE,CAAH,EAAK;AAAC,gBAAIu5B,CAAC,GAACv5B,CAAC,CAAC0uB,KAAF,CAAQ,YAAR,CAAN;AAA4B,mBAAO6K,CAAC,GAACA,CAAC,CAACt6B,CAAC,CAACkD,MAAF,GAAS,CAAV,CAAF,GAAenC,CAAvB;AAAyB;;AAAA,iBAAM,WAAS4lC,CAAC,CAACy4C,OAAX,GAAmB16D,CAAC,CAAC1kB,CAAD,CAApB,GAAwB2mC,CAAC,CAACvX,UAAF,IAAc0xC,CAAC,CAAC9gE,CAAD,EAAG2mC,CAAH,CAAD,EAAOjiB,CAAC,CAAC1kB,CAAD,CAAtB,IAA2B,KAAK,CAA9D;AAAgE;;AAAA,aAAI8gE,CAAC,CAACn6B,CAAD,EAAG3mC,CAAH,CAAL,EAAWe,CAAC,GAAC2jB,CAAC,CAACiiB,CAAD,CAAd;AAAmB,eAAI,IAAIrM,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACv5B,CAAC,CAACmC,MAAhB,EAAuBo3B,CAAC,EAAxB;AAA2B,gBAAGokD,EAAE,CAAC39E,CAAC,CAAC+tB,UAAF,CAAawL,CAAb,CAAD,CAAL,EAAuB,OAAM,KAAN;AAAlD;AAAnB;;AAAiF,eAAM,KAAN;AAAY,OAA1b,CAA2b,KAAKwkD,MAAhc,CAAX;AAAmdG,iBAAW,EAAC,OAAKt4C,CAAC,CAACvkB,QAAP,GAAgB,eAAhB,GAAgC,SAAOukB,CAAC,CAACvkB,QAAT,GAAkB,aAAlB,GAAgC,aAA/hB;AAA6iB88D,iBAAW,EAAC,WAAzjB;AAAqkBG,eAAS,EAAC,aAAW14C,CAAC,CAAC02C,KAAb,GAAmB,QAAnB,GAA4B12C,CAAC,CAAC02C,KAA7mB;AAAmnBiC,UAAI,EAACv+E,CAAC,CAACu+E,IAA1nB;AAA+nBC,gBAAU,EAAC,UAA1oB;AAAqpBv/D,cAAQ,EAAC;AAA9pB,KAA3E,EAAqvB,KAAKm/D,WAAL,CAAiB7kD,CAAjB,CAArvB,EAAywB,KAAK+J,GAAL,CAASnc,WAAT,CAAqB,KAAK42D,MAA1B,CAAzwB;AAA2yB,QAAIhe,CAAC,GAAC,CAAN;;AAAQ,YAAOn6B,CAAC,CAAC42C,aAAT;AAAwB,WAAI,OAAJ;AAAYzc,SAAC,GAACn6B,CAAC,CAAC3mB,QAAJ;AAAa;;AAAM,WAAI,QAAJ;AAAa8gD,SAAC,GAACn6B,CAAC,CAAC3mB,QAAF,GAAW2mB,CAAC,CAAC1gB,IAAF,GAAO,CAApB;AAAsB;;AAAM,WAAI,KAAJ;AAAU66C,SAAC,GAACn6B,CAAC,CAAC3mB,QAAF,GAAW2mB,CAAC,CAAC1gB,IAAf;AAA1G;;AAA8H,WAAK0gB,CAAC,CAACvkB,QAAP,GAAgB,KAAK+8D,WAAL,CAAiB;AAACh/D,UAAI,EAAC,KAAKq/D,WAAL,CAAiB1e,CAAjB,EAAmB,GAAnB,CAAN;AAA8B9vD,WAAK,EAAC,KAAKwuE,WAAL,CAAiB74C,CAAC,CAAC1gB,IAAnB,EAAwB,GAAxB;AAApC,KAAjB,CAAhB,GAAoG,KAAKk5D,WAAL,CAAiB;AAAClrE,SAAG,EAAC,KAAKurE,WAAL,CAAiB1e,CAAjB,EAAmB,GAAnB,CAAL;AAA6B/vD,YAAM,EAAC,KAAKyuE,WAAL,CAAiB74C,CAAC,CAAC1gB,IAAnB,EAAwB,GAAxB;AAApC,KAAjB,CAApG,EAAwL,KAAKzF,IAAL,GAAU,UAASxgB,CAAT,EAAW;AAAC,WAAKm/E,WAAL,CAAiB;AAAClrE,WAAG,EAAC,KAAKurE,WAAL,CAAiBx/E,CAAC,CAACiU,GAAnB,EAAuB,IAAvB,CAAL;AAAkCmP,cAAM,EAAC,KAAKo8D,WAAL,CAAiBx/E,CAAC,CAACojB,MAAnB,EAA0B,IAA1B,CAAzC;AAAyEjD,YAAI,EAAC,KAAKq/D,WAAL,CAAiBx/E,CAAC,CAACmgB,IAAnB,EAAwB,IAAxB,CAA9E;AAA4GmD,aAAK,EAAC,KAAKk8D,WAAL,CAAiBx/E,CAAC,CAACsjB,KAAnB,EAAyB,IAAzB,CAAlH;AAAiJvS,cAAM,EAAC,KAAKyuE,WAAL,CAAiBx/E,CAAC,CAAC+Q,MAAnB,EAA0B,IAA1B,CAAxJ;AAAwLC,aAAK,EAAC,KAAKwuE,WAAL,CAAiBx/E,CAAC,CAACgR,KAAnB,EAAyB,IAAzB;AAA9L,OAAjB;AAAgP,KAA9b;AAA+b;;AAAA,WAASyuE,EAAT,CAAYz/E,CAAZ,EAAc;AAAC,QAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR,EAAUwmC,CAAV;;AAAY,QAAG9gE,CAAC,CAACqkC,GAAL,EAAS;AAACtjC,OAAC,GAACf,CAAC,CAACqkC,GAAF,CAAMmL,YAAR,EAAqBlV,CAAC,GAACt6B,CAAC,CAACqkC,GAAF,CAAM5rB,WAA7B,EAAyCqoD,CAAC,GAAC9gE,CAAC,CAACqkC,GAAF,CAAMq7C,SAAjD;AAA2D,UAAIh7D,CAAC,GAAC,CAACA,CAAC,GAAC1kB,CAAC,CAACqkC,GAAF,CAAMjV,UAAT,MAAuB1K,CAAC,GAACA,CAAC,CAAC,CAAD,CAA1B,KAAgCA,CAAC,CAACmtB,cAAlC,IAAkDntB,CAAC,CAACmtB,cAAF,EAAxD;AAA2E7xC,OAAC,GAACA,CAAC,CAACqkC,GAAF,CAAMjgB,qBAAN,EAAF,EAAgCuiB,CAAC,GAACjiB,CAAC,GAAC/D,IAAI,CAACC,GAAL,CAAS8D,CAAC,CAAC,CAAD,CAAD,IAAMA,CAAC,CAAC,CAAD,CAAD,CAAK3T,MAAX,IAAmB,CAA5B,EAA8B/Q,CAAC,CAAC+Q,MAAF,GAAS2T,CAAC,CAACxhB,MAAzC,CAAD,GAAkD,CAArF;AAAuF;;AAAA,SAAKid,IAAL,GAAUngB,CAAC,CAACmgB,IAAZ,EAAiB,KAAKmD,KAAL,GAAWtjB,CAAC,CAACsjB,KAA9B,EAAoC,KAAKrP,GAAL,GAASjU,CAAC,CAACiU,GAAF,IAAO6sD,CAApD,EAAsD,KAAK/vD,MAAL,GAAY/Q,CAAC,CAAC+Q,MAAF,IAAUhQ,CAA5E,EAA8E,KAAKqiB,MAAL,GAAYpjB,CAAC,CAACojB,MAAF,IAAU09C,CAAC,IAAE9gE,CAAC,CAAC+Q,MAAF,IAAUhQ,CAAZ,CAArG,EAAoH,KAAKiQ,KAAL,GAAWhR,CAAC,CAACgR,KAAF,IAASspB,CAAxI,EAA0I,KAAKqlD,UAAL,GAAgB,KAAK,CAAL,KAASh5C,CAAT,GAAWA,CAAX,GAAa3mC,CAAC,CAAC2/E,UAAzK;AAAoL;;AAAA,WAASC,EAAT,CAAY5/E,CAAZ,EAAc2mC,CAAd,EAAgBg6B,CAAhB,EAAkBC,CAAlB,EAAoB;AAAC,QAAI7/D,CAAC,GAAC,IAAI0+E,EAAJ,CAAO94C,CAAP,CAAN;AAAA,QAAgBrM,CAAC,GAACqM,CAAC,CAACk4C,GAApB;AAAA,QAAwB/d,CAAC,GAAC,UAAS9gE,CAAT,EAAW;AAAC,UAAG,YAAU,OAAOA,CAAC,CAACk9E,IAAnB,KAA0Bl9E,CAAC,CAACo9E,WAAF,IAAe,KAAGp9E,CAAC,CAACk9E,IAAL,IAAWl9E,CAAC,CAACk9E,IAAF,IAAQ,GAA5D,CAAH,EAAoE,OAAOl9E,CAAC,CAACk9E,IAAT;AAAc,UAAG,CAACl9E,CAAC,CAACwwE,KAAH,IAAU,CAACxwE,CAAC,CAACwwE,KAAF,CAAQqP,aAAnB,IAAkC,CAAC7/E,CAAC,CAACwwE,KAAF,CAAQqP,aAAR,CAAsBC,YAA5D,EAAyE,OAAM,CAAC,CAAP;;AAAS,WAAI,IAAIn5C,CAAC,GAAC3mC,CAAC,CAACwwE,KAAR,EAAczvE,CAAC,GAAC4lC,CAAC,CAACk5C,aAAlB,EAAgCvlD,CAAC,GAAC,CAAlC,EAAoCwmC,CAAC,GAAC,CAA1C,EAA4CA,CAAC,GAAC//D,CAAC,CAACmC,MAAJ,IAAYnC,CAAC,CAAC+/D,CAAD,CAAD,KAAOn6B,CAA/D,EAAiEm6B,CAAC,EAAlE;AAAqE,sBAAY//D,CAAC,CAAC+/D,CAAD,CAAD,CAAKr5D,IAAjB,IAAuB6yB,CAAC,EAAxB;AAArE;;AAAgG,aAAM,CAAC,CAAD,GAAG,EAAEA,CAAX;AAAa,KAA7R,CAA8RA,CAA9R,CAA1B;AAAA,QAA2T5V,CAAC,GAAC,EAA7T;;AAAgU,QAAG4V,CAAC,CAAC8iD,WAAL,EAAiB;AAAC,UAAIhiE,CAAJ;;AAAM,cAAOkf,CAAC,CAAClY,QAAT;AAAmB,aAAI,EAAJ;AAAOsC,WAAC,GAAC,CAAC,IAAD,EAAM,IAAN,CAAF,EAActJ,CAAC,GAAC,QAAhB;AAAyB;;AAAM,aAAI,IAAJ;AAASsJ,WAAC,GAAC,CAAC,IAAD,EAAM,IAAN,CAAF,EAActJ,CAAC,GAAC,OAAhB;AAAwB;;AAAM,aAAI,IAAJ;AAASsJ,WAAC,GAAC,CAAC,IAAD,EAAM,IAAN,CAAF,EAActJ,CAAC,GAAC,OAAhB;AAAzG;;AAAiI,UAAIggB,CAAC,GAACr6B,CAAC,CAAC4+E,UAAR;AAAA,UAAmBne,CAAC,GAACpmC,CAAC,GAACza,IAAI,CAACguB,KAAL,CAAWmyB,CAAX,CAAvB;AAAA,UAAqCL,CAAC,GAACE,CAAC,CAACvlD,CAAD,CAAD,GAAKggB,CAA5C;AAAA,UAA8CslC,CAAC,GAACh8C,CAAC,CAAC,CAAD,CAAjD;AAAqD/D,UAAI,CAACkmC,GAAL,CAAS2a,CAAT,IAAYf,CAAZ,KAAgBe,CAAC,GAACA,CAAC,GAAC,CAAF,GAAI,CAAC,CAAL,GAAO,CAAT,EAAWA,CAAC,IAAE7gD,IAAI,CAAC6wB,IAAL,CAAUivB,CAAC,GAACrlC,CAAZ,IAAeA,CAA7C,GAAgD0lC,CAAC,GAAC,CAAF,KAAMU,CAAC,IAAE,OAAKlnC,CAAC,CAAClY,QAAP,GAAgBu+C,CAAC,CAAC5vD,MAAlB,GAAyB4vD,CAAC,CAAC3vD,KAA9B,EAAoC0T,CAAC,GAACA,CAAC,CAACqX,OAAF,EAA5C,CAAhD,EAAyGh7B,CAAC,CAACyf,IAAF,CAAOkgD,CAAP,EAASc,CAAT,CAAzG;AAAqH,KAAnU,MAAuU;AAAC,UAAIpuB,CAAC,GAACryC,CAAC,CAAC4+E,UAAF,GAAahf,CAAC,CAAC5vD,MAAf,GAAsB,GAA5B;;AAAgC,cAAOupB,CAAC,CAAC6iD,SAAT;AAAoB,aAAI,QAAJ;AAAarc,WAAC,IAAE1tB,CAAC,GAAC,CAAL;AAAO;;AAAM,aAAI,KAAJ;AAAU0tB,WAAC,IAAE1tB,CAAH;AAAxD;;AAA6D,cAAO9Y,CAAC,CAAClY,QAAT;AAAmB,aAAI,EAAJ;AAAOukB,WAAC,CAACw4C,WAAF,CAAc;AAAClrE,eAAG,EAAC0yB,CAAC,CAAC64C,WAAF,CAAc1e,CAAd,EAAgB,GAAhB;AAAL,WAAd;AAA0C;;AAAM,aAAI,IAAJ;AAASn6B,WAAC,CAACw4C,WAAF,CAAc;AAACh/D,gBAAI,EAACwmB,CAAC,CAAC64C,WAAF,CAAc1e,CAAd,EAAgB,GAAhB;AAAN,WAAd;AAA2C;;AAAM,aAAI,IAAJ;AAASn6B,WAAC,CAACw4C,WAAF,CAAc;AAAC77D,iBAAK,EAACqjB,CAAC,CAAC64C,WAAF,CAAc1e,CAAd,EAAgB,GAAhB;AAAP,WAAd;AAA7I;;AAAyLp8C,OAAC,GAAC,CAAC,IAAD,EAAM,IAAN,EAAW,IAAX,EAAgB,IAAhB,CAAF,EAAwB3jB,CAAC,GAAC,IAAI0+E,EAAJ,CAAO94C,CAAP,CAA1B;AAAoC;;AAAA,QAAI26B,CAAC,GAAC,UAASthE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAI,IAAI5lC,CAAJ,EAAMu5B,CAAC,GAAC,IAAImlD,EAAJ,CAAOz/E,CAAP,CAAR,EAAkB8gE,CAAC,GAAC,CAApB,EAAsBp8C,CAAC,GAAC,CAA5B,EAA8BA,CAAC,GAACiiB,CAAC,CAACzjC,MAAlC,EAAyCwhB,CAAC,EAA1C,EAA6C;AAAC,eAAK1kB,CAAC,CAAC+/E,oBAAF,CAAuBpf,CAAvB,EAAyBh6B,CAAC,CAACjiB,CAAD,CAA1B,KAAgC1kB,CAAC,CAACggF,MAAF,CAASrf,CAAT,KAAa3gE,CAAC,CAACigF,WAAF,CAAcrf,CAAd,CAAlD;AAAoE5gE,WAAC,CAACwgB,IAAF,CAAOmmB,CAAC,CAACjiB,CAAD,CAAR;AAApE;;AAAiF,YAAG1kB,CAAC,CAACggF,MAAF,CAASrf,CAAT,CAAH,EAAe,OAAO3gE,CAAP;AAAS,YAAIob,CAAC,GAACpb,CAAC,CAACkgF,mBAAF,CAAsBvf,CAAtB,CAAN;AAA+BvlD,SAAC,GAAC0lD,CAAF,KAAM//D,CAAC,GAAC,IAAI0+E,EAAJ,CAAOz/E,CAAP,CAAF,EAAY8gE,CAAC,GAAC1lD,CAApB,GAAuBpb,CAAC,GAAC,IAAIy/E,EAAJ,CAAOnlD,CAAP,CAAzB;AAAmC;;AAAA,aAAOv5B,CAAC,IAAEu5B,CAAV;AAAY,KAAnP,CAAoPv5B,CAApP,EAAsP2jB,CAAtP,CAAN;;AAA+PiiB,KAAC,CAACnmB,IAAF,CAAO8gD,CAAC,CAAC6e,iBAAF,CAAoBxf,CAApB,CAAP;AAA+B;;AAAA,WAASyf,EAAT,GAAa,CAAE;;AAAAzB,IAAE,CAAC5kE,SAAH,CAAaolE,WAAb,GAAyB,UAASn/E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,SAAI,IAAI5lC,CAAR,IAAa4lC,CAAC,GAACA,CAAC,IAAE,KAAKtC,GAAV,EAAcrkC,CAA3B;AAA6BA,OAAC,CAAC0S,cAAF,CAAiB3R,CAAjB,MAAsB4lC,CAAC,CAACxpB,KAAF,CAAQpc,CAAR,IAAWf,CAAC,CAACe,CAAD,CAAlC;AAA7B;AAAoE,GAA3G,EAA4G49E,EAAE,CAAC5kE,SAAH,CAAaylE,WAAb,GAAyB,UAASx/E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAO,MAAI3mC,CAAJ,GAAM,CAAN,GAAQA,CAAC,GAAC2mC,CAAjB;AAAmB,GAAtK,EAAuK,CAACi4C,EAAE,CAAC7kE,SAAH,GAAawiE,EAAE,CAACoC,EAAE,CAAC5kE,SAAJ,CAAhB,EAAgCyO,WAAhC,GAA4Co2D,EAAnN,EAAsNa,EAAE,CAAC1lE,SAAH,CAAayG,IAAb,GAAkB,UAASxgB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAOA,CAAC,GAAC,KAAK,CAAL,KAASA,CAAT,GAAWA,CAAX,GAAa,KAAKg5C,UAApB,EAA+B3/E,CAAtC;AAAyC,WAAI,IAAJ;AAAS,aAAKmgB,IAAL,IAAWwmB,CAAX,EAAa,KAAKrjB,KAAL,IAAYqjB,CAAzB;AAA2B;;AAAM,WAAI,IAAJ;AAAS,aAAKxmB,IAAL,IAAWwmB,CAAX,EAAa,KAAKrjB,KAAL,IAAYqjB,CAAzB;AAA2B;;AAAM,WAAI,IAAJ;AAAS,aAAK1yB,GAAL,IAAU0yB,CAAV,EAAY,KAAKvjB,MAAL,IAAaujB,CAAzB;AAA2B;;AAAM,WAAI,IAAJ;AAAS,aAAK1yB,GAAL,IAAU0yB,CAAV,EAAY,KAAKvjB,MAAL,IAAaujB,CAAzB;AAAhL;AAA4M,GAAlc,EAAmc84C,EAAE,CAAC1lE,SAAH,CAAasmE,QAAb,GAAsB,UAASrgF,CAAT,EAAW;AAAC,WAAO,KAAKmgB,IAAL,GAAUngB,CAAC,CAACsjB,KAAZ,IAAmB,KAAKA,KAAL,GAAWtjB,CAAC,CAACmgB,IAAhC,IAAsC,KAAKlM,GAAL,GAASjU,CAAC,CAACojB,MAAjD,IAAyD,KAAKA,MAAL,GAAYpjB,CAAC,CAACiU,GAA9E;AAAkF,GAAvjB,EAAwjBwrE,EAAE,CAAC1lE,SAAH,CAAakmE,WAAb,GAAyB,UAASjgF,CAAT,EAAW;AAAC,SAAI,IAAI2mC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3mC,CAAC,CAACkD,MAAhB,EAAuByjC,CAAC,EAAxB;AAA2B,UAAG,KAAK05C,QAAL,CAAcrgF,CAAC,CAAC2mC,CAAD,CAAf,CAAH,EAAuB,OAAM,CAAC,CAAP;AAAlD;;AAA2D,WAAM,CAAC,CAAP;AAAS,GAAjqB,EAAkqB84C,EAAE,CAAC1lE,SAAH,CAAaimE,MAAb,GAAoB,UAAShgF,CAAT,EAAW;AAAC,WAAO,KAAKiU,GAAL,IAAUjU,CAAC,CAACiU,GAAZ,IAAiB,KAAKmP,MAAL,IAAapjB,CAAC,CAACojB,MAAhC,IAAwC,KAAKjD,IAAL,IAAWngB,CAAC,CAACmgB,IAArD,IAA2D,KAAKmD,KAAL,IAAYtjB,CAAC,CAACsjB,KAAhF;AAAsF,GAAxxB,EAAyxBm8D,EAAE,CAAC1lE,SAAH,CAAagmE,oBAAb,GAAkC,UAAS//E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAOA,CAAP;AAAU,WAAI,IAAJ;AAAS,eAAO,KAAKxmB,IAAL,GAAUngB,CAAC,CAACmgB,IAAnB;;AAAwB,WAAI,IAAJ;AAAS,eAAO,KAAKmD,KAAL,GAAWtjB,CAAC,CAACsjB,KAApB;;AAA0B,WAAI,IAAJ;AAAS,eAAO,KAAKrP,GAAL,GAASjU,CAAC,CAACiU,GAAlB;;AAAsB,WAAI,IAAJ;AAAS,eAAO,KAAKmP,MAAL,GAAYpjB,CAAC,CAACojB,MAArB;AAAtH;AAAmJ,GAA59B,EAA69Bq8D,EAAE,CAAC1lE,SAAH,CAAammE,mBAAb,GAAiC,UAASlgF,CAAT,EAAW;AAAC,WAAO2gB,IAAI,CAACC,GAAL,CAAS,CAAT,EAAWD,IAAI,CAACE,GAAL,CAAS,KAAKyC,KAAd,EAAoBtjB,CAAC,CAACsjB,KAAtB,IAA6B3C,IAAI,CAACC,GAAL,CAAS,KAAKT,IAAd,EAAmBngB,CAAC,CAACmgB,IAArB,CAAxC,IAAoEQ,IAAI,CAACC,GAAL,CAAS,CAAT,EAAWD,IAAI,CAACE,GAAL,CAAS,KAAKuC,MAAd,EAAqBpjB,CAAC,CAACojB,MAAvB,IAA+BzC,IAAI,CAACC,GAAL,CAAS,KAAK3M,GAAd,EAAkBjU,CAAC,CAACiU,GAApB,CAA1C,CAApE,IAAyI,KAAKlD,MAAL,GAAY,KAAKC,KAA1J,CAAP;AAAwK,GAAlrC,EAAmrCyuE,EAAE,CAAC1lE,SAAH,CAAaomE,iBAAb,GAA+B,UAASngF,CAAT,EAAW;AAAC,WAAM;AAACiU,SAAG,EAAC,KAAKA,GAAL,GAASjU,CAAC,CAACiU,GAAhB;AAAoBmP,YAAM,EAACpjB,CAAC,CAACojB,MAAF,GAAS,KAAKA,MAAzC;AAAgDjD,UAAI,EAAC,KAAKA,IAAL,GAAUngB,CAAC,CAACmgB,IAAjE;AAAsEmD,WAAK,EAACtjB,CAAC,CAACsjB,KAAF,GAAQ,KAAKA,KAAzF;AAA+FvS,YAAM,EAAC,KAAKA,MAA3G;AAAkHC,WAAK,EAAC,KAAKA;AAA7H,KAAN;AAA0I,GAAx2C,EAAy2CyuE,EAAE,CAACa,oBAAH,GAAwB,UAAStgF,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAACqkC,GAAF,GAAMrkC,CAAC,CAACqkC,GAAF,CAAMmL,YAAZ,GAAyBxvC,CAAC,CAACo/E,OAAF,GAAUp/E,CAAC,CAACwvC,YAAZ,GAAyB,CAAxD;AAAA,QAA0DzuC,CAAC,GAACf,CAAC,CAACqkC,GAAF,GAAMrkC,CAAC,CAACqkC,GAAF,CAAM5rB,WAAZ,GAAwBzY,CAAC,CAACo/E,OAAF,GAAUp/E,CAAC,CAACyY,WAAZ,GAAwB,CAA5G;AAAA,QAA8G6hB,CAAC,GAACt6B,CAAC,CAACqkC,GAAF,GAAMrkC,CAAC,CAACqkC,GAAF,CAAMq7C,SAAZ,GAAsB1/E,CAAC,CAACo/E,OAAF,GAAUp/E,CAAC,CAAC0/E,SAAZ,GAAsB,CAA5J;AAA8J,WAAM;AAACv/D,UAAI,EAAC,CAACngB,CAAC,GAACA,CAAC,CAACqkC,GAAF,GAAMrkC,CAAC,CAACqkC,GAAF,CAAMjgB,qBAAN,EAAN,GAAoCpkB,CAAC,CAACo/E,OAAF,GAAUp/E,CAAC,CAACokB,qBAAF,EAAV,GAAoCpkB,CAA3E,EAA8EmgB,IAApF;AAAyFmD,WAAK,EAACtjB,CAAC,CAACsjB,KAAjG;AAAuGrP,SAAG,EAACjU,CAAC,CAACiU,GAAF,IAAOqmB,CAAlH;AAAoHvpB,YAAM,EAAC/Q,CAAC,CAAC+Q,MAAF,IAAU41B,CAArI;AAAuIvjB,YAAM,EAACpjB,CAAC,CAACojB,MAAF,IAAUkX,CAAC,IAAEt6B,CAAC,CAAC+Q,MAAF,IAAU41B,CAAZ,CAAzJ;AAAwK31B,WAAK,EAAChR,CAAC,CAACgR,KAAF,IAASjQ;AAAvL,KAAN;AAAgM,GAA3uD,EAA4uDq/E,EAAE,CAACtG,aAAH,GAAiB,YAAU;AAAC,WAAM;AAACyG,YAAM,EAAC,gBAASvgF,CAAT,EAAW;AAAC,YAAG,CAACA,CAAJ,EAAM,OAAM,EAAN;AAAS,YAAG,YAAU,OAAOA,CAApB,EAAsB,MAAM,IAAIkT,KAAJ,CAAU,+BAAV,CAAN;AAAiD,eAAOstE,kBAAkB,CAACnmC,kBAAkB,CAACr6C,CAAD,CAAnB,CAAzB;AAAiD;AAA3J,KAAN;AAAmK,GAA36D,EAA46DogF,EAAE,CAACK,mBAAH,GAAuB,UAASzgF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAO3mC,CAAC,IAAE2mC,CAAH,GAAK23C,EAAE,CAACt+E,CAAD,EAAG2mC,CAAH,CAAP,GAAa,IAApB;AAAyB,GAA1+D;AAA2+Dy5C,IAAE,CAACM,WAAH,GAAe,UAASpmD,CAAT,EAAWwmC,CAAX,EAAa9gE,CAAb,EAAe;AAAC,QAAG,CAACs6B,CAAD,IAAI,CAACwmC,CAAL,IAAQ,CAAC9gE,CAAZ,EAAc,OAAO,IAAP;;AAAY,WAAKA,CAAC,CAACg0B,UAAP;AAAmBh0B,OAAC,CAACmoB,WAAF,CAAcnoB,CAAC,CAACg0B,UAAhB;AAAnB;;AAA+C,QAAItP,CAAC,GAAC4V,CAAC,CAACn4B,QAAF,CAAW4Q,aAAX,CAAyB,KAAzB,CAAN;;AAAsC,QAAG2R,CAAC,CAACvH,KAAF,CAAQ6C,QAAR,GAAiB,UAAjB,EAA4B0E,CAAC,CAACvH,KAAF,CAAQgD,IAAR,GAAa,GAAzC,EAA6CuE,CAAC,CAACvH,KAAF,CAAQmG,KAAR,GAAc,GAA3D,EAA+DoB,CAAC,CAACvH,KAAF,CAAQlJ,GAAR,GAAY,GAA3E,EAA+EyQ,CAAC,CAACvH,KAAF,CAAQiG,MAAR,GAAe,GAA9F,EAAkGsB,CAAC,CAACvH,KAAF,CAAQi1B,MAAR,GAAe,MAAjH,EAAwHpyC,CAAC,CAACkoB,WAAF,CAAcxD,CAAd,CAAxH,EAAyI,UAAS1kB,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3mC,CAAC,CAACkD,MAAhB,EAAuByjC,CAAC,EAAxB;AAA2B,YAAG3mC,CAAC,CAAC2mC,CAAD,CAAD,CAAKg6C,YAAL,IAAmB,CAAC3gF,CAAC,CAAC2mC,CAAD,CAAD,CAAKi6C,YAA5B,EAAyC,OAAM,CAAC,CAAP;AAApE;;AAA6E,aAAM,CAAC,CAAP;AAAS,KAAlG,CAAmG9f,CAAnG,CAA5I,EAAkP;AAAC,UAAI1lD,CAAC,GAAC,EAAN;AAAA,UAASulD,CAAC,GAAC8e,EAAE,CAACa,oBAAH,CAAwB57D,CAAxB,CAAX;AAAA,UAAsCk8C,CAAC,GAAC;AAAC0e,YAAI,EAAC3+D,IAAI,CAACguB,KAAL,CAAW,MAAIgyB,CAAC,CAAC5vD,MAAN,GAAa,GAAxB,IAA6B,GAA7B,GAAiC;AAAvC,OAAxC;AAAgG,OAAC,YAAU;AAAC,aAAI,IAAI/Q,CAAJ,EAAM2mC,CAAN,EAAQ5lC,CAAC,GAAC,CAAd,EAAgBA,CAAC,GAAC+/D,CAAC,CAAC59D,MAApB,EAA2BnC,CAAC,EAA5B;AAA+B4lC,WAAC,GAACm6B,CAAC,CAAC//D,CAAD,CAAH,EAAOf,CAAC,GAAC,IAAI4+E,EAAJ,CAAOtkD,CAAP,EAASqM,CAAT,EAAWi6B,CAAX,CAAT,EAAuBl8C,CAAC,CAACwD,WAAF,CAAcloB,CAAC,CAACqkC,GAAhB,CAAvB,EAA4Cu7C,EAAE,CAAC,CAAD,EAAG5/E,CAAH,EAAK2gE,CAAL,EAAOvlD,CAAP,CAA9C,EAAwDurB,CAAC,CAACi6C,YAAF,GAAe5gF,CAAC,CAACqkC,GAAzE,EAA6EjpB,CAAC,CAAC7X,IAAF,CAAOk8E,EAAE,CAACa,oBAAH,CAAwBtgF,CAAxB,CAAP,CAA7E;AAA/B;AAA+I,OAA1J,EAAD;AAA8J,KAAjf,MAAsf,KAAI,IAAI2mC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACm6B,CAAC,CAAC59D,MAAhB,EAAuByjC,CAAC,EAAxB;AAA2BjiB,OAAC,CAACwD,WAAF,CAAc44C,CAAC,CAACn6B,CAAD,CAAD,CAAKi6C,YAAnB;AAA3B;AAA4D,GAAhsB,EAAisB,CAACR,EAAE,CAACxG,MAAH,GAAU,UAAS55E,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAACA,KAAC,KAAGA,CAAC,GAAC4lC,CAAF,EAAIA,CAAC,GAAC,EAAT,CAAD,EAAcA,CAAC,GAACA,CAAC,IAAE,EAAnB,EAAsB,KAAKnkC,MAAL,GAAYxC,CAAlC,EAAoC,KAAK65E,KAAL,GAAWlzC,CAA/C,EAAiD,KAAKp5B,KAAL,GAAW,SAA5D,EAAsE,KAAK5B,MAAL,GAAY,EAAlF,EAAqF,KAAKk1E,OAAL,GAAa9/E,CAAC,IAAE,IAAI+/E,WAAJ,CAAgB,MAAhB,CAArG,EAA6H,KAAKC,UAAL,GAAgB,EAA7I;AAAgJ,GAA3K,EAA6KhnE,SAA7K,GAAuL;AAACinE,sBAAkB,EAAC,4BAAShhF,CAAT,EAAW;AAAC,UAAG,EAAEA,CAAC,YAAYy8E,EAAf,CAAH,EAAsB,MAAMz8E,CAAN;AAAQ,WAAKg6E,cAAL,IAAqB,KAAKA,cAAL,CAAoBh6E,CAApB,CAArB;AAA4C,KAA1G;AAA2G+O,SAAK,EAAC,eAAS/O,CAAT,EAAW;AAAC,UAAIs6B,CAAC,GAAC,IAAN;;AAAW,eAASqM,CAAT,GAAY;AAAC,aAAI,IAAI3mC,CAAC,GAACs6B,CAAC,CAAC3uB,MAAR,EAAeg7B,CAAC,GAAC,CAArB,EAAuBA,CAAC,GAAC3mC,CAAC,CAACkD,MAAJ,IAAY,SAAOlD,CAAC,CAAC2mC,CAAD,CAApB,IAAyB,SAAO3mC,CAAC,CAAC2mC,CAAD,CAAxD;AAA6D,YAAEA,CAAF;AAA7D;;AAAiE,YAAI5lC,CAAC,GAACf,CAAC,CAAC4pD,MAAF,CAAS,CAAT,EAAWjjB,CAAX,CAAN;AAAoB,eAAM,SAAO3mC,CAAC,CAAC2mC,CAAD,CAAR,IAAa,EAAEA,CAAf,EAAiB,SAAO3mC,CAAC,CAAC2mC,CAAD,CAAR,IAAa,EAAEA,CAAhC,EAAkCrM,CAAC,CAAC3uB,MAAF,GAAS3L,CAAC,CAAC4pD,MAAF,CAASjjB,CAAT,CAA3C,EAAuD5lC,CAA7D;AAA+D;;AAAA,eAASA,CAAT,CAAWf,CAAX,EAAa;AAACA,SAAC,CAACyvB,KAAF,CAAQ,iBAAR,IAA2BmtD,EAAE,CAAC58E,CAAD,EAAG,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,kBAAO3mC,CAAP;AAAU,iBAAI,iBAAJ;AAAsB,eAAC,UAASA,CAAT,EAAW;AAAC,oBAAIe,CAAC,GAAC,IAAI47E,EAAJ,EAAN;AAAaC,kBAAE,CAAC58E,CAAD,EAAG,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,0BAAO3mC,CAAP;AAAU,yBAAI,OAAJ;AAAYe,uBAAC,CAACk8E,OAAF,CAAUj9E,CAAC,GAAC,GAAZ,EAAgB2mC,CAAhB;AAAmB;;AAAM,yBAAI,MAAJ;AAAW5lC,uBAAC,CAACqgC,GAAF,CAAMphC,CAAC,GAAC,GAAR,EAAY08E,EAAE,CAAC/1C,CAAD,CAAd;AAA1D;AAA8E,iBAA/F,EAAgG,QAAhG,EAAyG,GAAzG,CAAF,EAAgHrM,CAAC,CAAC2mD,cAAF,IAAkB3mD,CAAC,CAAC2mD,cAAF,CAAiB;AAACC,wBAAM,EAACngF,CAAC,CAAC2nB,GAAF,CAAM,QAAN,CAAR;AAAwBy4D,uBAAK,EAACpgF,CAAC,CAAC2nB,GAAF,CAAM,OAAN;AAA9B,iBAAjB,CAAlI;AAAkM,eAA3N,CAA4Nie,CAA5N,CAAD;AAAhC;AAAiQ,SAAlR,EAAmR,GAAnR,CAA7B,GAAqTi2C,EAAE,CAAC58E,CAAD,EAAG,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,kBAAO3mC,CAAP;AAAU,iBAAI,QAAJ;AAAa,eAAC,UAASA,CAAT,EAAW;AAAC,oBAAI8gE,CAAC,GAAC,IAAI6b,EAAJ,EAAN;;AAAa,oBAAGC,EAAE,CAAC58E,CAAD,EAAG,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,0BAAO3mC,CAAP;AAAU,yBAAI,IAAJ;AAAS8gE,uBAAC,CAAC1/B,GAAF,CAAMphC,CAAN,EAAQ2mC,CAAR;AAAW;;AAAM,yBAAI,OAAJ;AAAYm6B,uBAAC,CAAC/tB,OAAF,CAAU/yC,CAAV,EAAY2mC,CAAZ;AAAe;;AAAM,yBAAI,OAAJ;AAAYm6B,uBAAC,CAACmc,OAAF,CAAUj9E,CAAV,EAAY2mC,CAAZ;AAAe;;AAAM,yBAAI,cAAJ;AAAmB,yBAAI,gBAAJ;AAAqB,0BAAI5lC,CAAC,GAAC4lC,CAAC,CAACxb,KAAF,CAAQ,GAAR,CAAN;AAAmB,0BAAG,MAAIpqB,CAAC,CAACmC,MAAT,EAAgB;AAAM,0BAAIo3B,CAAC,GAAC,IAAIqiD,EAAJ,EAAN;AAAa,0BAAGriD,CAAC,CAACyY,OAAF,CAAU,GAAV,EAAchyC,CAAC,CAAC,CAAD,CAAf,GAAoBu5B,CAAC,CAACyY,OAAF,CAAU,GAAV,EAAchyC,CAAC,CAAC,CAAD,CAAf,CAApB,EAAwC,CAACu5B,CAAC,CAACY,GAAF,CAAM,GAAN,CAAD,IAAa,CAACZ,CAAC,CAACY,GAAF,CAAM,GAAN,CAAzD,EAAoE;AAAM4lC,uBAAC,CAAC1/B,GAAF,CAAMphC,CAAC,GAAC,GAAR,EAAYs6B,CAAC,CAAC5R,GAAF,CAAM,GAAN,CAAZ,GAAwBo4C,CAAC,CAAC1/B,GAAF,CAAMphC,CAAC,GAAC,GAAR,EAAYs6B,CAAC,CAAC5R,GAAF,CAAM,GAAN,CAAZ,CAAxB;AAAgD;;AAAM,yBAAI,QAAJ;AAAao4C,uBAAC,CAAC13D,GAAF,CAAMpJ,CAAN,EAAQ2mC,CAAR,EAAU,CAAC,IAAD,CAAV;AAAjV;AAAoW,iBAArX,EAAsX,GAAtX,EAA0X,IAA1X,CAAF,EAAkYm6B,CAAC,CAAC5lC,GAAF,CAAM,IAAN,CAArY,EAAiZ;AAAC,sBAAIyL,CAAC,GAAC,KAAIrM,CAAC,CAACu/C,KAAF,CAAQuH,SAAR,IAAmB9mD,CAAC,CAAC93B,MAAF,CAAS4+E,SAAhC,GAAN;AAAiDz6C,mBAAC,CAAC31B,KAAF,GAAQ8vD,CAAC,CAACp4C,GAAF,CAAM,OAAN,EAAc,GAAd,CAAR,EAA2Bie,CAAC,CAAC06C,KAAF,GAAQvgB,CAAC,CAACp4C,GAAF,CAAM,OAAN,EAAc,CAAd,CAAnC,EAAoDie,CAAC,CAAC26C,aAAF,GAAgBxgB,CAAC,CAACp4C,GAAF,CAAM,eAAN,EAAsB,CAAtB,CAApE,EAA6Fie,CAAC,CAAC46C,aAAF,GAAgBzgB,CAAC,CAACp4C,GAAF,CAAM,eAAN,EAAsB,GAAtB,CAA7G,EAAwIie,CAAC,CAAC66C,eAAF,GAAkB1gB,CAAC,CAACp4C,GAAF,CAAM,iBAAN,EAAwB,CAAxB,CAA1J,EAAqLie,CAAC,CAAC86C,eAAF,GAAkB3gB,CAAC,CAACp4C,GAAF,CAAM,iBAAN,EAAwB,GAAxB,CAAvM,EAAoOie,CAAC,CAACjjB,MAAF,GAASo9C,CAAC,CAACp4C,GAAF,CAAM,QAAN,EAAe,EAAf,CAA7O,EAAgQ4R,CAAC,CAAConD,QAAF,IAAYpnD,CAAC,CAAConD,QAAF,CAAW/6C,CAAX,CAA5Q,EAA0RrM,CAAC,CAACymD,UAAF,CAAax9E,IAAb,CAAkB;AAACtC,sBAAE,EAAC6/D,CAAC,CAACp4C,GAAF,CAAM,IAAN,CAAJ;AAAgBs0D,0BAAM,EAACr2C;AAAvB,mBAAlB,CAA1R;AAAuU;AAAC,eAApyB,CAAqyBA,CAAryB,CAAD;AAAvB;AAAi0B,SAAl1B,EAAm1B,GAAn1B,CAAvT;AAA+oC;;AAAA3mC,OAAC,KAAGs6B,CAAC,CAAC3uB,MAAF,IAAU2uB,CAAC,CAACumD,OAAF,CAAUN,MAAV,CAAiBvgF,CAAjB,EAAmB;AAAC2hF,cAAM,EAAC,CAAC;AAAT,OAAnB,CAAb,CAAD;;AAA+C,UAAG;AAAC,YAAI7gB,CAAJ;;AAAM,YAAG,cAAYxmC,CAAC,CAAC/sB,KAAjB,EAAuB;AAAC,cAAG,CAAC,UAAUoI,IAAV,CAAe2kB,CAAC,CAAC3uB,MAAjB,CAAJ,EAA6B,OAAO,IAAP;AAAY,cAAI+Y,CAAC,GAAC,CAACo8C,CAAC,GAACn6B,CAAC,EAAJ,EAAQlX,KAAR,CAAc,oBAAd,CAAN;AAA0C,cAAG,CAAC/K,CAAD,IAAI,CAACA,CAAC,CAAC,CAAD,CAAT,EAAa,MAAM,IAAI+3D,EAAJ,CAAOA,EAAE,CAACK,MAAH,CAAUU,YAAjB,CAAN;AAAqCljD,WAAC,CAAC/sB,KAAF,GAAQ,QAAR;AAAiB;;AAAA,aAAI,IAAI6N,CAAC,GAAC,CAAC,CAAX,EAAakf,CAAC,CAAC3uB,MAAf,GAAuB;AAAC,cAAG,CAAC,UAAUgK,IAAV,CAAe2kB,CAAC,CAAC3uB,MAAjB,CAAJ,EAA6B,OAAO,IAAP;;AAAY,kBAAOyP,CAAC,GAACA,CAAC,GAAC,CAAC,CAAJ,GAAM0lD,CAAC,GAACn6B,CAAC,EAAV,EAAarM,CAAC,CAAC/sB,KAAtB;AAA6B,iBAAI,QAAJ;AAAa,kBAAIoI,IAAJ,CAASmrD,CAAT,IAAY//D,CAAC,CAAC+/D,CAAD,CAAb,GAAiBA,CAAC,KAAGxmC,CAAC,CAAC/sB,KAAF,GAAQ,IAAX,CAAlB;AAAmC;;AAAS,iBAAI,MAAJ;AAAWuzD,eAAC,KAAGxmC,CAAC,CAAC/sB,KAAF,GAAQ,IAAX,CAAD;AAAkB;;AAAS,iBAAI,IAAJ;AAAS,kBAAG,iBAAiBoI,IAAjB,CAAsBmrD,CAAtB,CAAH,EAA4B;AAACxmC,iBAAC,CAAC/sB,KAAF,GAAQ,MAAR;AAAe;AAAM;;AAAA,kBAAG,CAACuzD,CAAJ,EAAM;AAASxmC,eAAC,CAACukD,GAAF,GAAM,KAAIvkD,CAAC,CAACu/C,KAAF,CAAQmB,MAAR,IAAgB1gD,CAAC,CAAC93B,MAAF,CAASw4E,MAA7B,EAAqC,CAArC,EAAuC,CAAvC,EAAyC,EAAzC,CAAN;;AAAmD,kBAAG;AAAC1gD,iBAAC,CAACukD,GAAF,CAAMxB,KAAN,GAAY,QAAZ;AAAqB,eAAzB,CAAyB,OAAMr9E,CAAN,EAAQ;AAACs6B,iBAAC,CAACukD,GAAF,CAAMxB,KAAN,GAAY,QAAZ;AAAqB;;AAAA,kBAAG/iD,CAAC,CAAC/sB,KAAF,GAAQ,KAAR,EAAc,CAAC,CAAD,KAAKuzD,CAAC,CAAC3/D,OAAF,CAAU,QAAV,CAAtB,EAA0C;AAACm5B,iBAAC,CAACukD,GAAF,CAAM59E,EAAN,GAAS6/D,CAAT;AAAW;AAAS;;AAAA,iBAAI,KAAJ;AAAU,kBAAG;AAAC+b,kBAAE,CAAC/b,CAAD,EAAGxmC,CAAC,CAACukD,GAAL,EAASvkD,CAAC,CAACymD,UAAX,CAAF;AAAyB,eAA7B,CAA6B,OAAM/gF,CAAN,EAAQ;AAACs6B,iBAAC,CAAC0mD,kBAAF,CAAqBhhF,CAArB,GAAwBs6B,CAAC,CAACukD,GAAF,GAAM,IAA9B,EAAmCvkD,CAAC,CAAC/sB,KAAF,GAAQ,QAA3C;AAAoD;AAAS;;AAAA+sB,eAAC,CAAC/sB,KAAF,GAAQ,SAAR;AAAkB;;AAAS,iBAAI,SAAJ;AAAc,kBAAIozD,CAAC,GAAC,CAAC,CAAD,KAAKG,CAAC,CAAC3/D,OAAF,CAAU,QAAV,CAAX;;AAA+B,kBAAG,CAAC2/D,CAAD,IAAIH,CAAC,KAAGvlD,CAAC,GAAC,CAAC,CAAN,CAAR,EAAiB;AAACkf,iBAAC,CAACy/C,KAAF,IAASz/C,CAAC,CAACy/C,KAAF,CAAQz/C,CAAC,CAACukD,GAAV,CAAT,EAAwBvkD,CAAC,CAACukD,GAAF,GAAM,IAA9B,EAAmCvkD,CAAC,CAAC/sB,KAAF,GAAQ,IAA3C;AAAgD;AAAS;;AAAA+sB,eAAC,CAACukD,GAAF,CAAM72D,IAAN,KAAasS,CAAC,CAACukD,GAAF,CAAM72D,IAAN,IAAY,IAAzB,GAA+BsS,CAAC,CAACukD,GAAF,CAAM72D,IAAN,IAAY84C,CAAC,CAACz8D,OAAF,CAAU,SAAV,EAAoB,IAApB,EAA0BA,OAA1B,CAAkC,QAAlC,EAA2C,IAA3C,CAA3C;AAA4F;;AAAS,iBAAI,QAAJ;AAAay8D,eAAC,KAAGxmC,CAAC,CAAC/sB,KAAF,GAAQ,IAAX,CAAD;AAAkB;AAAnvB;AAA6vB;AAAC,OAAv/B,CAAu/B,OAAMvN,CAAN,EAAQ;AAACs6B,SAAC,CAAC0mD,kBAAF,CAAqBhhF,CAArB,GAAwB,cAAYs6B,CAAC,CAAC/sB,KAAd,IAAqB+sB,CAAC,CAACukD,GAAvB,IAA4BvkD,CAAC,CAACy/C,KAA9B,IAAqCz/C,CAAC,CAACy/C,KAAF,CAAQz/C,CAAC,CAACukD,GAAV,CAA7D,EAA4EvkD,CAAC,CAACukD,GAAF,GAAM,IAAlF,EAAuFvkD,CAAC,CAAC/sB,KAAF,GAAQ,cAAY+sB,CAAC,CAAC/sB,KAAd,GAAoB,WAApB,GAAgC,QAA/H;AAAwI;;AAAA,aAAO,IAAP;AAAY,KAAzoF;AAA0oF6sE,SAAK,EAAC,iBAAU;AAAC,UAAIzzC,CAAC,GAAC,IAAN;;AAAW,UAAG;AAAC,YAAGA,CAAC,CAACh7B,MAAF,IAAUg7B,CAAC,CAACk6C,OAAF,CAAUN,MAAV,EAAV,EAA6B,CAAC55C,CAAC,CAACk4C,GAAH,IAAQ,aAAWl4C,CAAC,CAACp5B,KAArB,KAA6Bo5B,CAAC,CAACh7B,MAAF,IAAU,MAAV,EAAiBg7B,CAAC,CAAC53B,KAAF,EAA9C,CAA7B,EAAsF,cAAY43B,CAAC,CAACp5B,KAAvG,EAA6G,MAAM,IAAIkvE,EAAJ,CAAOA,EAAE,CAACK,MAAH,CAAUU,YAAjB,CAAN;AAAqC,OAAtJ,CAAsJ,OAAMx9E,CAAN,EAAQ;AAAC2mC,SAAC,CAACq6C,kBAAF,CAAqBhhF,CAArB;AAAwB;;AAAA,aAAO2mC,CAAC,CAACszC,OAAF,IAAWtzC,CAAC,CAACszC,OAAF,EAAX,EAAuB,IAA9B;AAAmC;AAAh4F,GAAx3B;AAA0vH,MAAI2H,EAAE,GAACxB,EAAP;AAAA,MAAUyB,EAAE,GAAC;AAAC,QAAG,CAAJ;AAAMC,MAAE,EAAC,CAAT;AAAWC,MAAE,EAAC;AAAd,GAAb;AAAA,MAA8BC,EAAE,GAAC;AAACxgE,SAAK,EAAC,CAAP;AAAS6oC,UAAM,EAAC,CAAhB;AAAkB3gC,OAAG,EAAC,CAAtB;AAAwBvJ,QAAI,EAAC,CAA7B;AAA+BmD,SAAK,EAAC,CAArC;AAAuCsC,QAAI,EAAC,CAA5C;AAA8C,iBAAY,CAA1D;AAA4D,kBAAa;AAAzE,GAAjC;;AAA6G,WAASq8D,EAAT,CAAYjiF,CAAZ,EAAc;AAAC,WAAM,YAAU,OAAOA,CAAjB,IAAqB,CAAC,CAACgiF,EAAE,CAAChiF,CAAC,CAACqkB,WAAF,EAAD,CAAJ,IAAuBrkB,CAAC,CAACqkB,WAAF,EAAlD;AAAmE;;AAAA,WAAS69D,EAAT,CAAYliF,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,SAAK4/E,YAAL,GAAkB,CAAC,CAAnB;AAAqB,QAAIrmD,CAAC,GAAC,EAAN;AAAA,QAASwmC,CAAC,GAAC,CAAC,CAAZ;AAAA,QAAcp8C,CAAC,GAAC1kB,CAAhB;AAAA,QAAkBob,CAAC,GAACurB,CAApB;AAAA,QAAsBg6B,CAAC,GAAC5/D,CAAxB;AAAA,QAA0B6/D,CAAC,GAAC,IAA5B;AAAA,QAAiCxlC,CAAC,GAAC,EAAnC;AAAA,QAAsComC,CAAC,GAAC,CAAC,CAAzC;AAAA,QAA2Cf,CAAC,GAAC,MAA7C;AAAA,QAAoDC,CAAC,GAAC,OAAtD;AAAA,QAA8DttB,CAAC,GAAC,MAAhE;AAAA,QAAuEkuB,CAAC,GAAC,MAAzE;AAAA,QAAgF/xC,CAAC,GAAC,GAAlF;AAAA,QAAsFmyC,CAAC,GAAC,QAAxF;AAAiGl7D,UAAM,CAACu0E,gBAAP,CAAwB,IAAxB,EAA6B;AAAC95E,QAAE,EAAC;AAAC2nC,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAO4R,CAAP;AAAS,SAAvC;AAAwC8G,WAAG,EAAC,aAASphC,CAAT,EAAW;AAACs6B,WAAC,GAAC,KAAGt6B,CAAL;AAAO;AAA/D,OAAJ;AAAqEmiF,iBAAW,EAAC;AAACv5C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOo4C,CAAP;AAAS,SAAvC;AAAwC1/B,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC8gE,WAAC,GAAC,CAAC,CAAC9gE,CAAJ;AAAM;AAA9D,OAAjF;AAAiJq1C,eAAS,EAAC;AAACzM,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOhE,CAAP;AAAS,SAAvC;AAAwC0c,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAG,YAAU,OAAOA,CAApB,EAAsB,MAAM,IAAIu+B,SAAJ,CAAc,qCAAd,CAAN;AAA2D7Z,WAAC,GAAC1kB,CAAF,EAAI,KAAK2gF,YAAL,GAAkB,CAAC,CAAvB;AAAyB;AAAlK,OAA3J;AAA+TrQ,aAAO,EAAC;AAAC1nC,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOtN,CAAP;AAAS,SAAvC;AAAwCgmB,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAG,YAAU,OAAOA,CAApB,EAAsB,MAAM,IAAIu+B,SAAJ,CAAc,mCAAd,CAAN;AAAyDnjB,WAAC,GAACpb,CAAF,EAAI,KAAK2gF,YAAL,GAAkB,CAAC,CAAvB;AAAyB;AAAhK,OAAvU;AAAye34D,UAAI,EAAC;AAAC4gB,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOi4C,CAAP;AAAS,SAAvC;AAAwCv/B,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC2gE,WAAC,GAAC,KAAG3gE,CAAL,EAAO,KAAK2gF,YAAL,GAAkB,CAAC,CAA1B;AAA4B;AAApF,OAA9e;AAAokB3D,YAAM,EAAC;AAACp0C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOk4C,CAAP;AAAS,SAAvC;AAAwCx/B,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC4gE,WAAC,GAAC5gE,CAAF,EAAI,KAAK2gF,YAAL,GAAkB,CAAC,CAAvB;AAAyB;AAAjF,OAA3kB;AAA8pBv+D,cAAQ,EAAC;AAACwmB,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAO0S,CAAP;AAAS,SAAvC;AAAwCgG,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC,UAAS3mC,CAAT,EAAW;AAAC,mBAAM,YAAU,OAAOA,CAAjB,IAAqB,CAAC,CAAC6hF,EAAE,CAAC7hF,CAAC,CAACqkB,WAAF,EAAD,CAAJ,IAAuBrkB,CAAC,CAACqkB,WAAF,EAAlD;AAAmE,WAA/E,CAAgFrkB,CAAhF,CAAN;;AAAyF,cAAG,CAAC,CAAD,KAAK2mC,CAAR,EAAU,MAAM,IAAIy7C,WAAJ,CAAgB,iEAAhB,CAAN;AAAyFhnD,WAAC,GAACuL,CAAF,EAAI,KAAKg6C,YAAL,GAAkB,CAAC,CAAvB;AAAyB;AAA7Q,OAAvqB;AAAs7BvD,iBAAW,EAAC;AAACx0C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAO84C,CAAP;AAAS,SAAvC;AAAwCpgC,WAAG,EAAC,aAASphC,CAAT,EAAW;AAACwhE,WAAC,GAAC,CAAC,CAACxhE,CAAJ,EAAM,KAAK2gF,YAAL,GAAkB,CAAC,CAAzB;AAA2B;AAAnF,OAAl8B;AAAuhCzD,UAAI,EAAC;AAACt0C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAO+3C,CAAP;AAAS,SAAvC;AAAwCr/B,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAG,YAAU,OAAOA,CAAjB,IAAoB,WAASA,CAAhC,EAAkC,MAAM,IAAIoiF,WAAJ,CAAgB,0DAAhB,CAAN;AAAkF3hB,WAAC,GAACzgE,CAAF,EAAI,KAAK2gF,YAAL,GAAkB,CAAC,CAAvB;AAAyB;AAArM,OAA5hC;AAAmuCxD,eAAS,EAAC;AAACv0C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOg4C,CAAP;AAAS,SAAvC;AAAwCt/B,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAACs7C,EAAE,CAACjiF,CAAD,CAAR;AAAY2mC,WAAC,KAAG+5B,CAAC,GAAC/5B,CAAF,EAAI,KAAKg6C,YAAL,GAAkB,CAAC,CAA1B,CAAD;AAA8B;AAAlG,OAA7uC;AAAi1C3gE,cAAQ,EAAC;AAAC4oB,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAO0qB,CAAP;AAAS,SAAvC;AAAwChS,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAGA,CAAC,GAAC,CAAF,IAAK,MAAIA,CAAZ,EAAc,MAAM,IAAIkT,KAAJ,CAAU,qCAAV,CAAN;AAAuDkgC,WAAC,GAACpzC,CAAF,EAAI,KAAK2gF,YAAL,GAAkB,CAAC,CAAvB;AAAyB;AAAtJ,OAA11C;AAAk/CpD,mBAAa,EAAC;AAAC30C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAO44C,CAAP;AAAS,SAAvC;AAAwClgC,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAACs7C,EAAE,CAACjiF,CAAD,CAAR;AAAY2mC,WAAC,KAAG26B,CAAC,GAAC36B,CAAF,EAAI,KAAKg6C,YAAL,GAAkB,CAAC,CAA1B,CAAD;AAA8B;AAAlG,OAAhgD;AAAomD16D,UAAI,EAAC;AAAC2iB,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAO6G,CAAP;AAAS,SAAvC;AAAwC6R,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAGA,CAAC,GAAC,CAAF,IAAK,MAAIA,CAAZ,EAAc,MAAM,IAAIkT,KAAJ,CAAU,iCAAV,CAAN;AAAmDqc,WAAC,GAACvvB,CAAF,EAAI,KAAK2gF,YAAL,GAAkB,CAAC,CAAvB;AAAyB;AAAlJ,OAAzmD;AAA6vDtD,WAAK,EAAC;AAACz0C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOg5C,CAAP;AAAS,SAAvC;AAAwCtgC,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAACs7C,EAAE,CAACjiF,CAAD,CAAR;AAAY,cAAG,CAAC2mC,CAAJ,EAAM,MAAM,IAAIy7C,WAAJ,CAAgB,8DAAhB,CAAN;AAAsF1gB,WAAC,GAAC/6B,CAAF,EAAI,KAAKg6C,YAAL,GAAkB,CAAC,CAAvB;AAAyB;AAAzL;AAAnwD,KAA7B,GAA69D,KAAKC,YAAL,GAAkB,KAAK,CAAp/D;AAAs/D;;AAAAsB,IAAE,CAACnoE,SAAH,CAAasoE,YAAb,GAA0B,YAAU;AAAC,WAAO1I,MAAM,CAAC8G,mBAAP,CAA2Bj+E,MAA3B,EAAkC,KAAKwlB,IAAvC,CAAP;AAAoD,GAAzF;;AAA0F,MAAIs6D,EAAE,GAACJ,EAAP;AAAA,MAAUK,EAAE,GAAC;AAAC,QAAG,CAAC,CAAL;AAAOhR,MAAE,EAAC,CAAC;AAAX,GAAb;;AAA2B,WAASiR,EAAT,CAAYxiF,CAAZ,EAAc;AAAC,WAAM,YAAU,OAAOA,CAAjB,IAAoB,KAAGA,CAAvB,IAA0BA,CAAC,IAAE,GAAnC;AAAuC;;AAAA,WAASyiF,EAAT,GAAa;AAAC,QAAI97C,CAAC,GAAC,GAAN;AAAA,QAAU5lC,CAAC,GAAC,CAAZ;AAAA,QAAcu5B,CAAC,GAAC,CAAhB;AAAA,QAAkBwmC,CAAC,GAAC,GAApB;AAAA,QAAwBp8C,CAAC,GAAC,CAA1B;AAAA,QAA4BtJ,CAAC,GAAC,GAA9B;AAAA,QAAkCulD,CAAC,GAAC,EAApC;AAAuCn6D,UAAM,CAACu0E,gBAAP,CAAwB,IAAxB,EAA6B;AAAC/pE,WAAK,EAAC;AAAC43B,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOie,CAAP;AAAS,SAAvC;AAAwCvF,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAG,CAACwiF,EAAE,CAACxiF,CAAD,CAAN,EAAU,MAAM,IAAIkT,KAAJ,CAAU,kCAAV,CAAN;AAAoDyzB,WAAC,GAAC3mC,CAAF;AAAI;AAA1H,OAAP;AAAmIqhF,WAAK,EAAC;AAACz4C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAO3nB,CAAP;AAAS,SAAvC;AAAwCqgC,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAG,YAAU,OAAOA,CAApB,EAAsB,MAAM,IAAIu+B,SAAJ,CAAc,gCAAd,CAAN;AAAsDx9B,WAAC,GAACf,CAAF;AAAI;AAAxI,OAAzI;AAAmRuhF,mBAAa,EAAC;AAAC34C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOo4C,CAAP;AAAS,SAAvC;AAAwC1/B,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAG,CAACwiF,EAAE,CAACxiF,CAAD,CAAN,EAAU,MAAM,IAAIkT,KAAJ,CAAU,0CAAV,CAAN;AAA4D4tD,WAAC,GAAC9gE,CAAF;AAAI;AAAlI,OAAjS;AAAqashF,mBAAa,EAAC;AAAC14C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAO4R,CAAP;AAAS,SAAvC;AAAwC8G,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAG,CAACwiF,EAAE,CAACxiF,CAAD,CAAN,EAAU,MAAM,IAAIkT,KAAJ,CAAU,0CAAV,CAAN;AAA4DonB,WAAC,GAACt6B,CAAF;AAAI;AAAlI,OAAnb;AAAujByhF,qBAAe,EAAC;AAAC74C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOtN,CAAP;AAAS,SAAvC;AAAwCgmB,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAG,CAACwiF,EAAE,CAACxiF,CAAD,CAAN,EAAU,MAAM,IAAIkT,KAAJ,CAAU,4CAAV,CAAN;AAA8DkI,WAAC,GAACpb,CAAF;AAAI;AAApI,OAAvkB;AAA6sBwhF,qBAAe,EAAC;AAAC54C,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOhE,CAAP;AAAS,SAAvC;AAAwC0c,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAG,CAACwiF,EAAE,CAACxiF,CAAD,CAAN,EAAU,MAAM,IAAIkT,KAAJ,CAAU,4CAAV,CAAN;AAA8DwR,WAAC,GAAC1kB,CAAF;AAAI;AAApI,OAA7tB;AAAm2B0jB,YAAM,EAAC;AAACklB,kBAAU,EAAC,CAAC,CAAb;AAAelgB,WAAG,EAAC,eAAU;AAAC,iBAAOi4C,CAAP;AAAS,SAAvC;AAAwCv/B,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC,UAAS3mC,CAAT,EAAW;AAAC,mBAAM,YAAU,OAAOA,CAAjB,IAAqB,CAAC,CAACuiF,EAAE,CAACviF,CAAC,CAACqkB,WAAF,EAAD,CAAJ,IAAuBrkB,CAAC,CAACqkB,WAAF,EAAlD;AAAmE,WAA/E,CAAgFrkB,CAAhF,CAAN;;AAAyF,WAAC,CAAD,KAAK2mC,CAAL,KAASg6B,CAAC,GAACh6B,CAAX;AAAc;AAA/J;AAA12B,KAA7B;AAA0iC;;AAAA,MAAI+7C,EAAE,GAAC/7C,CAAC,CAAC,UAAS3mC,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAACF,OAAF,GAAU;AAAC65E,YAAM,EAACiI,EAAR;AAAW5G,YAAM,EAACsH,EAAlB;AAAqBlB,eAAS,EAACqB;AAA/B,KAAhB;AAAmDngE,KAAC,CAACu3D,KAAF,GAAQlzC,CAAR,EAAUrkB,CAAC,CAACq3D,MAAF,GAAShzC,CAAC,CAACgzC,MAArB;AAA4B,QAAI54E,CAAC,GAAC4lC,CAAC,CAACq0C,MAAR;AAAA,QAAe1gD,CAAC,GAACqM,CAAC,CAACy6C,SAAnB;AAAA,QAA6BtgB,CAAC,GAACx+C,CAAC,CAAC04D,MAAjC;AAAA,QAAwCt2D,CAAC,GAACpC,CAAC,CAAC8+D,SAA5C;AAAsDz6C,KAAC,CAACg8C,IAAF,GAAO,YAAU;AAACrgE,OAAC,CAAC04D,MAAF,GAASj6E,CAAT,EAAWuhB,CAAC,CAAC8+D,SAAF,GAAY9mD,CAAvB;AAAyB,KAA3C,EAA4CqM,CAAC,CAACi8C,OAAF,GAAU,YAAU;AAACtgE,OAAC,CAAC04D,MAAF,GAASla,CAAT,EAAWx+C,CAAC,CAAC8+D,SAAF,GAAY18D,CAAvB;AAAyB,KAA1F,EAA2FpC,CAAC,CAAC04D,MAAF,IAAUr0C,CAAC,CAACg8C,IAAF,EAArG;AAA8G,GAAhQ,CAAR;AAA0QD,IAAE,CAAC/I,MAAH,EAAU+I,EAAE,CAAC1H,MAAb,EAAoB0H,EAAE,CAACtB,SAAvB;;AAAiC,MAAIyB,EAAE,GAAC,UAASl8C,CAAT,EAAW;AAAC,aAAS5lC,CAAT,CAAWA,CAAX,EAAaf,CAAb,EAAe;AAAC,UAAIs6B,CAAJ;AAAM,aAAO,KAAK,CAAL,KAASv5B,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,KAAK,CAAL,KAASf,CAAT,KAAaA,CAAC,GAAC,aAAU,CAAE,CAA3B,CAAnB,EAAgDe,CAAC,CAAC6oE,mBAAF,GAAsB,CAAC,CAAvE,EAAyE,CAACtvC,CAAC,GAACqM,CAAC,CAAChhC,IAAF,CAAO,IAAP,EAAY,IAAZ,EAAiB5E,CAAjB,EAAmBf,CAAnB,KAAuB,IAA1B,EAAgC8iF,WAAhC,GAA4C,CAAC,CAAtH,EAAwHxoD,CAAC,CAACj4B,EAAF,CAAK,SAAL,EAAe,YAAU;AAAC,aAAKygF,WAAL,GAAiB,CAAC,CAAlB;AAAoB,OAA9C,CAAxH,EAAwKxoD,CAAC,CAACj4B,EAAF,CAAK,WAAL,EAAiB,YAAU;AAAC,aAAKygF,WAAL,GAAiB,CAAC,CAAlB;AAAoB,OAAhD,CAAxK,EAA0NxG,EAAE,CAAChK,KAAH,CAASvpE,OAAT,CAAiB,UAAS/I,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC21C,EAAE,CAACt8E,CAAD,CAAR;AAAYe,SAAC,IAAEA,CAAC,CAAC4lC,CAAC,CAACs1C,UAAH,CAAJ,KAAqB3hD,CAAC,CAACqM,CAAC,CAACu1C,WAAH,CAAD,GAAiBn7E,CAAC,CAAC4lC,CAAC,CAACs1C,UAAH,CAAvC;AAAuD,OAAhG,CAA1N,EAA4T3hD,CAAC,CAACyoD,sBAAF,IAA0BzoD,CAAC,CAAC0oD,gBAAF,EAAtV,EAA2W1oD,CAAC,CAAC2oD,wBAAF,IAA4B3oD,CAAC,CAAC4oD,mBAAF,EAAvY,EAA+Z,CAAC,MAAD,EAAQ,OAAR,EAAgB,OAAhB,EAAyBn6E,OAAzB,CAAiC,UAAS/I,CAAT,EAAW;AAAC,SAAC,CAAD,KAAKe,CAAC,CAAC,WAASf,CAAT,GAAW,QAAZ,CAAN,KAA8Bs6B,CAAC,CAAC,mBAAiBt6B,CAAjB,GAAmB,QAApB,CAAD,GAA+B,CAAC,CAA9D;AAAiE,OAA9G,CAA/Z,EAA+gB,CAAC,CAAD,KAAKe,CAAC,CAACoiF,cAAP,IAAuB,CAAC,CAAD,KAAKpiF,CAAC,CAACqiF,gBAA9B,GAA+C9oD,CAAC,CAAC+oD,wBAAF,GAA2B,CAAC,CAA3E,GAA6E,CAAC,CAAD,KAAKtiF,CAAC,CAACoiF,cAAP,IAAuB,CAAC,CAAD,KAAKpiF,CAAC,CAACqiF,gBAA9B,KAAiD9oD,CAAC,CAAC+oD,wBAAF,GAA2B,CAAC,CAA7E,CAA5lB,EAA4qB/oD,CAAC,CAAC+oD,wBAAF,IAA4B/oD,CAAC,CAACgpD,iBAAF,EAAxsB,EAA8tBhpD,CAAC,CAACugD,iBAAF,GAAoB,CAAC,CAAD,KAAK95E,CAAC,CAAC85E,iBAAzvB,EAA2wBvgD,CAAC,CAACipD,qBAAF,GAAwB,IAAIjH,EAAE,CAACt0D,IAAH,CAAQ6zD,SAAZ,EAAnyB,EAAyzBvhD,CAAC,CAACkpD,kBAAF,EAAzzB,EAAg1BziF,CAAC,CAAC0iF,sBAAF,IAA0BnpD,CAAC,CAACoxC,aAAF,EAA12B,EAA43BpxC,CAAC,CAAC9R,WAAF,KAAgB8R,CAAC,CAACwuC,KAAF,GAAQxuC,CAAC,CAAC9R,WAAF,CAAcoB,IAAd,IAAoB,cAA5C,CAA53B,EAAw7B0Q,CAA/7B;AAAi8B;;AAAAoyC,MAAE,CAAC3rE,CAAD,EAAG4lC,CAAH,CAAF;AAAQ,QAAI3mC,CAAC,GAACe,CAAC,CAACgZ,SAAR;AAAkB,WAAO/Z,CAAC,CAAC0jF,gBAAF,GAAmB,UAAS1jF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAW,WAAKokC,QAAL,IAAe,KAAKxpD,GAAL,CAAS,OAAT,EAAiB,YAAU;AAAC,eAAOolB,CAAC,CAAC7wB,UAAF,CAAa,YAAU;AAAC,iBAAO6wB,CAAC,CAAC+8C,gBAAF,CAAmB1jF,CAAnB,CAAP;AAA6B,SAArD,EAAsD,CAAtD,CAAP;AAAgE,OAA5F,CAAf,EAA6G,KAAKuF,OAAL,CAAa;AAACyN,WAAG,EAAChT,CAAL;AAAOuQ,YAAI,EAAC;AAAZ,OAAb,CAA7G;AAAoJ,KAA9L,EAA+LvQ,CAAC,CAACgjF,gBAAF,GAAmB,YAAU;AAAC,WAAK3gF,EAAL,CAAQ,gBAAR,EAAyB,KAAKshF,gBAA9B,GAAgD,KAAKC,cAAL,GAAoB,CAAC,CAArE,EAAuE,KAAKriE,GAAL,CAAS,OAAT,EAAiB,KAAKsiE,aAAtB,CAAvE;AAA4G,KAAzU,EAA0U7jF,CAAC,CAAC8jF,iBAAF,GAAoB,YAAU;AAAC,WAAKF,cAAL,GAAoB,CAAC,CAArB,EAAuB,KAAKG,oBAAL,EAAvB,EAAmD,KAAK3hF,GAAL,CAAS,gBAAT,EAA0B,KAAKuhF,gBAA/B,CAAnD;AAAoG,KAA7c,EAA8c3jF,CAAC,CAAC6jF,aAAF,GAAgB,UAAS7jF,CAAT,EAAW;AAAC,WAAK+jF,oBAAL,IAA4B,KAAKC,gBAAL,GAAsB,KAAK3kB,WAAL,CAAiBmH,EAAE,CAAC,IAAD,EAAM,YAAU;AAAC,YAAIxmE,CAAC,GAAC,KAAKikF,eAAL,EAAN;AAA6B,aAAKC,gBAAL,KAAwBlkF,CAAxB,IAA2B,KAAKuF,OAAL,CAAa,UAAb,CAA3B,EAAoD,OAAK,KAAK2+E,gBAAL,GAAsBlkF,CAA3B,KAA+B,KAAK+jF,oBAAL,EAAnF;AAA+G,OAA7J,CAAnB,EAAkL,GAAlL,CAAlD;AAAyO,KAAntB,EAAotB/jF,CAAC,CAAC2jF,gBAAF,GAAmB,UAAS3jF,CAAT,EAAW;AAAC,WAAKmkF,SAAL,GAAe,KAAK7kE,QAAL,EAAf;AAA+B,KAAlxB,EAAmxBtf,CAAC,CAACokF,QAAF,GAAW,YAAU;AAAC,aAAOhV,EAAE,CAAC,CAAD,EAAG,CAAH,CAAT;AAAe,KAAxzB,EAAyzBpvE,CAAC,CAACikF,eAAF,GAAkB,YAAU;AAAC,aAAO5U,EAAE,CAAC,KAAK+U,QAAL,EAAD,EAAiB,KAAKD,SAAtB,CAAT;AAA0C,KAAh4B,EAAi4BnkF,CAAC,CAAC+jF,oBAAF,GAAuB,YAAU;AAAC,WAAKnqB,aAAL,CAAmB,KAAKoqB,gBAAxB;AAA0C,KAA78B,EAA88BhkF,CAAC,CAACkjF,mBAAF,GAAsB,YAAU;AAAC,WAAKmB,iBAAL,GAAuB,CAAC,CAAxB,EAA0B,KAAKhiF,EAAL,CAAQ,MAAR,EAAe,KAAKiiF,gBAApB,CAA1B,EAAgE,KAAKjiF,EAAL,CAAQ,OAAR,EAAgB,KAAKkiF,uBAArB,CAAhE;AAA8G,KAA7lC,EAA8lCvkF,CAAC,CAACwkF,oBAAF,GAAuB,YAAU;AAAC,WAAKH,iBAAL,GAAuB,CAAC,CAAxB,EAA0B,KAAKE,uBAAL,EAA1B,EAAyD,KAAKniF,GAAL,CAAS,MAAT,EAAgB,KAAKkiF,gBAArB,CAAzD,EAAgG,KAAKliF,GAAL,CAAS,OAAT,EAAiB,KAAKmiF,uBAAtB,CAAhG;AAA+I,KAA/wC,EAAgxCvkF,CAAC,CAACskF,gBAAF,GAAmB,YAAU;AAAC,WAAKG,mBAAL,IAA0B,KAAKF,uBAAL,EAA1B,EAAyD,KAAKE,mBAAL,GAAyB,KAAKplB,WAAL,CAAiB,YAAU;AAAC,aAAK95D,OAAL,CAAa;AAACgL,cAAI,EAAC,YAAN;AAAmBjG,gBAAM,EAAC,IAA1B;AAA+Bo6E,2BAAiB,EAAC,CAAC;AAAlD,SAAb;AAAmE,OAA/F,EAAgG,GAAhG,CAAlF;AAAuL,KAAr+C,EAAs+C1kF,CAAC,CAACukF,uBAAF,GAA0B,YAAU;AAAC,WAAK3qB,aAAL,CAAmB,KAAK6qB,mBAAxB,GAA6C,KAAKl/E,OAAL,CAAa;AAACgL,YAAI,EAAC,YAAN;AAAmBjG,cAAM,EAAC,IAA1B;AAA+Bo6E,yBAAiB,EAAC,CAAC;AAAlD,OAAb,CAA7C;AAAgH,KAA3nD,EAA4nD1kF,CAAC,CAACyR,OAAF,GAAU,YAAU;AAAC,WAAKkzE,WAAL,CAAiBhJ,EAAE,CAACrJ,KAApB,GAA2B,KAAKsR,cAAL,IAAqB,KAAKE,iBAAL,EAAhD,EAAyE,KAAKO,iBAAL,IAAwB,KAAKG,oBAAL,EAAjG,EAA6H79C,CAAC,CAAC5sB,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAA7H;AAA4J,KAA7yD,EAA8yD3F,CAAC,CAAC2kF,WAAF,GAAc,UAAS3kF,CAAT,EAAW;AAAC,UAAI8gE,CAAC,GAAC,IAAN;AAAW,OAAC9gE,CAAC,GAAC,GAAG+mB,MAAH,CAAU/mB,CAAV,CAAH,EAAiB+I,OAAjB,CAAyB,UAAS/I,CAAT,EAAW;AAAC,aAAI,IAAI2mC,CAAC,GAACm6B,CAAC,CAAC9gE,CAAC,GAAC,QAAH,CAAD,MAAiB,EAAvB,EAA0Be,CAAC,GAAC4lC,CAAC,CAACzjC,MAAlC,EAAyCnC,CAAC,EAA1C,GAA8C;AAAC,cAAIu5B,CAAC,GAACqM,CAAC,CAAC5lC,CAAD,CAAP;AAAW,qBAASf,CAAT,IAAY8gE,CAAC,CAAC8jB,qBAAF,CAAwBtqD,CAAxB,CAAZ,EAAuCqM,CAAC,CAACouC,WAAF,CAAcz6C,CAAd,CAAvC;AAAwD;AAAC,OAAxJ;AAA0J,KAA7+D,EAA8+Dt6B,CAAC,CAAC6kF,qBAAF,GAAwB,YAAU;AAAC,WAAI,IAAI7kF,CAAC,GAAC,KAAKujF,qBAAL,IAA4B,EAAlC,EAAqC58C,CAAC,GAAC3mC,CAAC,CAACkD,MAA7C,EAAoDyjC,CAAC,EAArD,GAAyD;AAAC,YAAI5lC,CAAC,GAACf,CAAC,CAAC2mC,CAAD,CAAP;AAAW,aAAKi+C,qBAAL,CAA2B7jF,CAA3B;AAA8B;AAAC,KAArnE,EAAsnEf,CAAC,CAAC62B,KAAF,GAAQ,YAAU,CAAE,CAA1oE,EAA2oE72B,CAAC,CAACiF,KAAF,GAAQ,UAASjF,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,KAAa,KAAK8kF,MAAL,GAAY,IAAIjV,EAAJ,CAAO7vE,CAAP,CAAZ,EAAsB,KAAKuF,OAAL,CAAa,OAAb,CAAnC,GAA0D,KAAKu/E,MAAtE;AAA6E,KAA5uE,EAA6uE9kF,CAAC,CAAC+kF,MAAF,GAAS,YAAU;AAAC,aAAO,KAAKjC,WAAL,GAAiB1T,EAAE,CAAC,CAAD,EAAG,CAAH,CAAnB,GAAyBA,EAAE,EAAlC;AAAqC,KAAtyE,EAAuyEpvE,CAAC,CAAC+V,cAAF,GAAiB,YAAU;AAAC,WAAKsuE,iBAAL,IAAwB,KAAK9+E,OAAL,CAAa;AAACgL,YAAI,EAAC,YAAN;AAAmBjG,cAAM,EAAC,IAA1B;AAA+Bo6E,yBAAiB,EAAC,CAAC;AAAlD,OAAb,CAAxB;AAA2F,KAA95E,EAA+5E1kF,CAAC,CAACwjF,kBAAF,GAAqB,YAAU;AAAC,UAAI1iB,CAAC,GAAC,IAAN;AAAW6a,QAAE,CAACrJ,KAAH,CAASvpE,OAAT,CAAiB,UAAS/I,CAAT,EAAW;AAAC,iBAAS2mC,CAAT,GAAY;AAACm6B,WAAC,CAACv7D,OAAF,CAAUvF,CAAC,GAAC,aAAZ;AAA2B;;AAAA,YAAIe,CAAC,GAAC46E,EAAE,CAAC37E,CAAD,CAAR;AAAA,YAAYs6B,CAAC,GAACwmC,CAAC,CAAC//D,CAAC,CAACk7E,UAAH,CAAD,EAAd;AAAgC3hD,SAAC,CAAC1hB,gBAAF,CAAmB,aAAnB,EAAiC+tB,CAAjC,GAAoCrM,CAAC,CAAC1hB,gBAAF,CAAmB,UAAnB,EAA8B+tB,CAA9B,CAApC,EAAqEm6B,CAAC,CAACz+D,EAAF,CAAK,SAAL,EAAe,YAAU;AAACi4B,WAAC,CAACtb,mBAAF,CAAsB,aAAtB,EAAoC2nB,CAApC,GAAuCrM,CAAC,CAACtb,mBAAF,CAAsB,UAAtB,EAAiC2nB,CAAjC,CAAvC;AAA2E,SAArG,CAArE;AAA4K,OAAjR;AAAmR,KAA7tF,EAA8tF3mC,CAAC,CAACglF,gBAAF,GAAmB,YAAU;AAAC,UAAIhlF,CAAC,GAAC,IAAN;AAAW,UAAG,CAACsiB,CAAC,CAACq3D,MAAN,EAAa,IAAGlZ,CAAC,CAAC/8B,IAAF,CAAOvX,QAAP,CAAgB,KAAK5H,EAAL,EAAhB,CAAH,EAA8B;AAAC,YAAG,CAAC,KAAKqkD,QAAL,CAAc,QAAd,CAAD,IAA0BhI,CAAC,CAAC8hB,EAAD,CAA3B,IAAiC,IAAEl8E,MAAM,CAAC8pB,IAAP,CAAYoyD,EAAZ,EAAgBx/E,MAAtD,EAA6D,OAAO,KAAK,KAAKqC,OAAL,CAAa,aAAb,CAAZ;AAAwC,YAAIohC,CAAC,GAAC85B,CAAC,CAAC1tD,aAAF,CAAgB,QAAhB,CAAN;AAAgC4zB,SAAC,CAAC3zB,GAAF,GAAM,KAAK41D,QAAL,CAAc,QAAd,KAAyB,gDAA/B,EAAgFjiC,CAAC,CAACnzB,MAAF,GAAS,YAAU;AAACxT,WAAC,CAACuF,OAAF,CAAU,aAAV;AAAyB,SAA7H,EAA8HohC,CAAC,CAAC1zB,OAAF,GAAU,YAAU;AAACjT,WAAC,CAACuF,OAAF,CAAU,YAAV;AAAwB,SAA3K,EAA4K,KAAKlD,EAAL,CAAQ,SAAR,EAAkB,YAAU;AAACskC,WAAC,CAACnzB,MAAF,GAAS,IAAT,EAAcmzB,CAAC,CAAC1zB,OAAF,GAAU,IAAxB;AAA6B,SAA1D,CAA5K,EAAwOqP,CAAC,CAACq3D,MAAF,GAAS,CAAC,CAAlP,EAAoP,KAAKp1D,EAAL,GAAUlR,UAAV,CAAqB6U,WAArB,CAAiCye,CAAjC,CAApP;AAAwR,OAA5b,MAAic,KAAKlxB,KAAL,CAAW,KAAKuvE,gBAAhB;AAAkC,KAAvvG,EAAwvGhlF,CAAC,CAACsjF,iBAAF,GAAoB,YAAU;AAAC,eAAS38C,CAAT,CAAW3mC,CAAX,EAAa;AAAC,eAAOs6B,CAAC,CAACw6C,QAAF,CAAW90E,CAAC,CAACwwE,KAAb,CAAP;AAA2B;;AAAA,eAASzvE,CAAT,CAAWf,CAAX,EAAa;AAAC,eAAOs6B,CAAC,CAACy6C,WAAF,CAAc/0E,CAAC,CAACwwE,KAAhB,CAAP;AAA8B;;AAAA,UAAIxwE,CAAC,GAAC,IAAN;AAAA,UAAWs6B,CAAC,GAAC,KAAKm2C,UAAL,EAAb;AAAA,UAA+B3P,CAAC,GAAC,KAAKmkB,gBAAL,EAAjC;AAAyDnkB,OAAC,CAACz+D,EAAF,CAAK,UAAL,EAAgBskC,CAAhB,GAAmBm6B,CAAC,CAACz+D,EAAF,CAAK,aAAL,EAAmBtB,CAAnB,CAAnB,EAAyC,KAAKikF,gBAAL,EAAzC;;AAAiE,eAAStgE,CAAT,GAAY;AAAC,eAAO1kB,CAAC,CAACuF,OAAF,CAAU,iBAAV,CAAP;AAAoC;;AAAA,eAAS6V,CAAT,GAAY;AAACsJ,SAAC;;AAAG,aAAI,IAAI1kB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACs6B,CAAC,CAACp3B,MAAhB,EAAuBlD,CAAC,EAAxB,EAA2B;AAAC,cAAI2mC,CAAC,GAACrM,CAAC,CAACt6B,CAAD,CAAP;AAAW2mC,WAAC,CAAC3nB,mBAAF,CAAsB,WAAtB,EAAkC0F,CAAlC,GAAqC,cAAYiiB,CAAC,CAACl/B,IAAd,IAAoBk/B,CAAC,CAAC/tB,gBAAF,CAAmB,WAAnB,EAA+B8L,CAA/B,CAAzD;AAA2F;AAAC;;AAAAtJ,OAAC,IAAGkf,CAAC,CAAC1hB,gBAAF,CAAmB,QAAnB,EAA4BwC,CAA5B,CAAH,EAAkCkf,CAAC,CAAC1hB,gBAAF,CAAmB,UAAnB,EAA8BwC,CAA9B,CAAlC,EAAmEkf,CAAC,CAAC1hB,gBAAF,CAAmB,aAAnB,EAAiCwC,CAAjC,CAAnE,EAAuG,KAAK/Y,EAAL,CAAQ,SAAR,EAAkB,YAAU;AAACy+D,SAAC,CAAC1+D,GAAF,CAAM,UAAN,EAAiBukC,CAAjB,GAAoBm6B,CAAC,CAAC1+D,GAAF,CAAM,aAAN,EAAoBrB,CAApB,CAApB,EAA2Cu5B,CAAC,CAACtb,mBAAF,CAAsB,QAAtB,EAA+B5D,CAA/B,CAA3C,EAA6Ekf,CAAC,CAACtb,mBAAF,CAAsB,UAAtB,EAAiC5D,CAAjC,CAA7E,EAAiHkf,CAAC,CAACtb,mBAAF,CAAsB,aAAtB,EAAoC5D,CAApC,CAAjH;;AAAwJ,aAAI,IAAIpb,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACs6B,CAAC,CAACp3B,MAAhB,EAAuBlD,CAAC,EAAxB,EAA2B;AAACs6B,WAAC,CAACt6B,CAAD,CAAD,CAAKgf,mBAAL,CAAyB,WAAzB,EAAqC0F,CAArC;AAAwC;AAAC,OAA1P,CAAxG;AAAoW,KAA/gI,EAAghI1kB,CAAC,CAACklF,YAAF,GAAe,UAASllF,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAG,CAACf,CAAJ,EAAM,MAAM,IAAIkT,KAAJ,CAAU,iDAAV,CAAN;AAAmE,aAAO,UAASlT,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiBwmC,CAAjB,EAAmB;AAAC,aAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,YAAIp8C,CAAC,GAAC1kB,CAAC,CAACywE,UAAF,EAAN;AAAqB3P,SAAC,CAACuV,IAAF,GAAO1vC,CAAP,EAAS5lC,CAAC,KAAG+/D,CAAC,CAACoS,KAAF,GAAQnyE,CAAX,CAAV,EAAwBu5B,CAAC,KAAGwmC,CAAC,CAACkJ,QAAF,GAAW1vC,CAAd,CAAzB,EAA0CwmC,CAAC,CAAC2Z,IAAF,GAAOz6E,CAAjD;AAAmD,YAAIob,CAAC,GAAC,IAAIkhE,EAAE,CAACt0D,IAAH,CAAQ8zD,UAAZ,CAAuBhb,CAAvB,CAAN;AAAgC,eAAOp8C,CAAC,CAACowD,QAAF,CAAW15D,CAAX,GAAcA,CAArB;AAAuB,OAAtK,CAAuK,IAAvK,EAA4Kpb,CAA5K,EAA8K2mC,CAA9K,EAAgL5lC,CAAhL,CAAP;AAA0L,KAAlzI,EAAmzIf,CAAC,CAACmlF,qBAAF,GAAwB,UAASnlF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC4hC,EAAE,CAACvoE,CAAD,EAAG;AAACy6E,YAAI,EAAC;AAAN,OAAH,CAAR;AAAwB,aAAO,IAAI0B,EAAE,CAACE,YAAH,CAAgBP,UAApB,CAA+Bn1C,CAA/B,CAAP;AAAyC,KAAx5I,EAAy5I3mC,CAAC,CAAC2wE,kBAAF,GAAqB,UAAS3wE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAN;AAAW,WAAK,CAAL,KAASf,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,UAAIs6B,CAAC,GAAC,KAAK6qD,qBAAL,CAA2BnlF,CAA3B,CAAN;AAAoC,aAAM,CAAC,CAAD,KAAK2mC,CAAL,IAAQ,CAAC,CAAD,KAAKA,CAAb,KAAiByM,CAAC,CAAC5T,IAAF,CAAO,kKAAP,GAA2KmH,CAAC,GAAC,CAAC,CAA/L,GAAkM,KAAKy+C,kBAAL,GAA0B3O,gBAA1B,CAA2Cn8C,CAA3C,CAAlM,EAAgP,KAAK2qD,gBAAL,GAAwBnQ,QAAxB,CAAiCx6C,CAAC,CAACk2C,KAAnC,CAAhP,EAA0R,CAAC,CAAD,KAAK7pC,CAAL,IAAQ,KAAKlxB,KAAL,CAAW,YAAU;AAAC,eAAO1U,CAAC,CAACwiF,qBAAF,CAAwBzO,QAAxB,CAAiCx6C,CAAC,CAACk2C,KAAnC,CAAP;AAAiD,OAAvE,CAAlS,EAA2Wl2C,CAAjX;AAAmX,KAAj3J,EAAk3Jt6B,CAAC,CAAC4kF,qBAAF,GAAwB,UAAS5kF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKy+C,kBAAL,GAA0B1O,uBAA1B,CAAkD12E,CAAlD,CAAN;AAA2D,WAAKolF,kBAAL,GAA0BzO,mBAA1B,CAA8ChwC,CAA9C,GAAiD,KAAKs+C,gBAAL,GAAwBlQ,WAAxB,CAAoC/0E,CAApC,CAAjD,EAAwF,KAAKujF,qBAAL,CAA2BxO,WAA3B,CAAuC/0E,CAAvC,CAAxF;AAAkI,KAAnlK,EAAolKA,CAAC,CAACqlF,uBAAF,GAA0B,YAAU;AAAC,aAAM,EAAN;AAAS,KAAloK,EAAmoKrlF,CAAC,CAACslF,uBAAF,GAA0B,YAAU;AAAC,UAAItlF,CAAC,GAAC,KAAK4oE,QAAL,CAAc/1D,OAAd,IAAuByP,CAAC,CAACzP,OAA/B;AAAuC,UAAG7S,CAAH,EAAK,OAAOA,CAAC,CAACo9B,MAAF,EAAP;AAAkB,KAAtuK,EAAuuKp9B,CAAC,CAACulF,SAAF,GAAY,YAAU,CAAE,CAA/vK,EAAgwKvlF,CAAC,CAAC0P,WAAF,GAAc,YAAU,CAAE,CAA1xK,EAA2xK1P,CAAC,CAACwlF,cAAF,GAAiB,YAAU,CAAE,CAAxzK,EAAyzKxlF,CAAC,CAACylF,yBAAF,GAA4B,YAAU,CAAE,CAAj2K,EAAk2KzlF,CAAC,CAAC0lF,yBAAF,GAA4B,YAAU,CAAE,CAA14K,EAA24K1lF,CAAC,CAAC2lF,WAAF,GAAc,YAAU;AAAC,aAAM,EAAN;AAAS,KAA76K,EAA86K5kF,CAAC,CAAC4kF,WAAF,GAAc,YAAU;AAAC,aAAM,EAAN;AAAS,KAAh9K,EAAi9K5kF,CAAC,CAAC6kF,aAAF,GAAgB,UAAS5lF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO5lC,CAAC,CAAC4kF,WAAF,CAAc3lF,CAAC,CAACuQ,IAAhB,CAAP;AAA6B,KAA5gL,EAA6gLxP,CAAC,CAAC6pE,MAAF,GAAS,UAAS5qE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAAC+Z,SAAF,YAAuBhZ,CAAvB,IAA0Bf,CAAC,YAAYe,CAAvC,IAA0Cf,CAAC,KAAGe,CAArD;AAAuD,KAAzlL,EAA0lLA,CAAC,CAAC8kF,YAAF,GAAe,UAAS7lF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG5lC,CAAC,CAAC+kF,MAAF,KAAW/kF,CAAC,CAAC+kF,MAAF,GAAS,EAApB,GAAwB,CAAC/kF,CAAC,CAAC6pE,MAAF,CAASjkC,CAAT,CAA5B,EAAwC,MAAM,IAAIzzB,KAAJ,CAAU,UAAQlT,CAAR,GAAU,iBAApB,CAAN;AAA6C,UAAG,CAACe,CAAC,CAAC4kF,WAAN,EAAkB,MAAM,IAAIzyE,KAAJ,CAAU,qDAAV,CAAN;AAAuE,UAAG,CAACnS,CAAC,CAAC6kF,aAAN,EAAoB,MAAM,IAAI1yE,KAAJ,CAAU,uDAAV,CAAN;AAAyE,aAAOlT,CAAC,GAACsoE,EAAE,CAACtoE,CAAD,CAAJ,EAAQe,CAAC,CAAC+kF,MAAF,CAAS9lF,CAAT,IAAY2mC,CAApB,EAAsB5lC,CAAC,CAAC+kF,MAAF,CAASzd,EAAE,CAACroE,CAAD,CAAX,IAAgB2mC,CAAtC,EAAwC,WAAS3mC,CAAT,IAAYe,CAAC,CAACglF,iBAAF,CAAoBxiF,IAApB,CAAyBvD,CAAzB,CAApD,EAAgF2mC,CAAvF;AAAyF,KAA39L,EAA49L5lC,CAAC,CAACilF,OAAF,GAAU,UAAShmF,CAAT,EAAW;AAAC,UAAGA,CAAH,EAAK,OAAOe,CAAC,CAAC+kF,MAAF,IAAU/kF,CAAC,CAAC+kF,MAAF,CAAS9lF,CAAT,CAAV,GAAsBe,CAAC,CAAC+kF,MAAF,CAAS9lF,CAAT,CAAtB,IAAmCA,CAAC,GAACsoE,EAAE,CAACtoE,CAAD,CAAJ,EAAQsiB,CAAC,IAAEA,CAAC,CAAC7S,OAAL,IAAc6S,CAAC,CAAC7S,OAAF,CAAUzP,CAAV,CAAd,IAA4BozC,CAAC,CAAC5T,IAAF,CAAO,SAAOx/B,CAAP,GAAS,2GAAhB,GAA6HsiB,CAAC,CAAC7S,OAAF,CAAUzP,CAAV,CAAzJ,IAAuK,KAAK,CAAvN,CAAP;AAAiO,KAAxtM,EAAytMe,CAAhuM;AAAkuM,GAA/tO,CAAguOynE,EAAhuO,CAAP;;AAA2uO8T,IAAE,CAAChK,KAAH,CAASvpE,OAAT,CAAiB,UAAS/I,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAAC21C,EAAE,CAACt8E,CAAD,CAAR;;AAAY6iF,MAAE,CAAC9oE,SAAH,CAAa4sB,CAAC,CAACs1C,UAAf,IAA2B,YAAU;AAAC,aAAO,KAAKt1C,CAAC,CAACu1C,WAAP,IAAoB,KAAKv1C,CAAC,CAACu1C,WAAP,KAAqB,IAAIv1C,CAAC,CAACk1C,SAAN,EAAzC,EAAyD,KAAKl1C,CAAC,CAACu1C,WAAP,CAAhE;AAAoF,KAA1H;AAA2H,GAApK,GAAsK2G,EAAE,CAAC9oE,SAAH,CAAaksE,qBAAb,GAAmC,CAAC,CAA1M,EAA4MpD,EAAE,CAAC9oE,SAAH,CAAamsE,mBAAb,GAAiC,CAAC,CAA9O,EAAgPrD,EAAE,CAAC9oE,SAAH,CAAaosE,wBAAb,GAAsC,CAAC,CAAvR,EAAyRtD,EAAE,CAAC9oE,SAAH,CAAaqsE,oBAAb,GAAkC,CAAC,CAA5T,EAA8TvD,EAAE,CAAC9oE,SAAH,CAAagpE,sBAAb,GAAoC,CAAC,CAAnW,EAAqWF,EAAE,CAAC9oE,SAAH,CAAassE,iBAAb,GAA+B,CAAC,CAArY,EAAuYxD,EAAE,CAAC9oE,SAAH,CAAakpE,wBAAb,GAAsC,CAAC,CAA9a,EAAgbJ,EAAE,CAAC9oE,SAAH,CAAaspE,wBAAb,GAAsC,CAAC,CAAvd,EAAydR,EAAE,CAACyD,kBAAH,GAAsB,UAASxlB,CAAT,EAAW;AAACA,KAAC,CAACylB,qBAAF,GAAwB,UAASvmF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC+/D,CAAC,CAAC0lB,cAAR;AAAuBzlF,OAAC,GAACA,CAAC,KAAG+/D,CAAC,CAAC0lB,cAAF,GAAiB,EAApB,CAAH,EAA2B,KAAK,CAAL,KAAS7/C,CAAT,KAAaA,CAAC,GAAC5lC,CAAC,CAACmC,MAAjB,CAA3B,EAAoDnC,CAAC,CAACyZ,MAAF,CAASmsB,CAAT,EAAW,CAAX,EAAa3mC,CAAb,CAApD;AAAoE,KAAjI,EAAkI8gE,CAAC,CAAC6kB,WAAF,GAAc,UAAS3lF,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAJ,EAAM5lC,CAAC,GAAC+/D,CAAC,CAAC0lB,cAAF,IAAkB,EAA1B,EAA6BlsD,CAAC,GAAC,CAAnC,EAAqCA,CAAC,GAACv5B,CAAC,CAACmC,MAAzC,EAAgDo3B,CAAC,EAAjD;AAAoD,YAAGqM,CAAC,GAAC5lC,CAAC,CAACu5B,CAAD,CAAD,CAAKqrD,WAAL,CAAiB3lF,CAAjB,CAAL,EAAyB,OAAO2mC,CAAP;AAA7E;;AAAsF,aAAM,EAAN;AAAS,KAA3P,EAA4Pm6B,CAAC,CAAC2lB,mBAAF,GAAsB,UAASzmF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAI,IAAI5lC,CAAC,GAAC+/D,CAAC,CAAC0lB,cAAF,IAAkB,EAAxB,EAA2BlsD,CAAC,GAAC,CAAjC,EAAmCA,CAAC,GAACv5B,CAAC,CAACmC,MAAvC,EAA8Co3B,CAAC,EAA/C;AAAkD,YAAGv5B,CAAC,CAACu5B,CAAD,CAAD,CAAKosD,eAAL,CAAqB1mF,CAArB,EAAuB2mC,CAAvB,CAAH,EAA6B,OAAO5lC,CAAC,CAACu5B,CAAD,CAAR;AAA/E;;AAA2F,aAAO,IAAP;AAAY,KAAvY,EAAwYwmC,CAAC,CAAC8kB,aAAF,GAAgB,UAAS5lF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC+/D,CAAC,CAAC2lB,mBAAF,CAAsBzmF,CAAtB,EAAwB2mC,CAAxB,CAAN;AAAiC,aAAO5lC,CAAC,GAACA,CAAC,CAAC2lF,eAAF,CAAkB1mF,CAAlB,EAAoB2mC,CAApB,CAAD,GAAwB,EAAhC;AAAmC,KAA1e;AAA2e,KAAC,UAAD,EAAY,SAAZ,EAAsB,UAAtB,EAAkC59B,OAAlC,CAA0C,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK3mC,CAAL,CAAN;AAAc,oBAAY,OAAO2mC,CAAnB,KAAuB,KAAK3mC,CAAL,IAAQ,YAAU;AAAC,eAAO,KAAK2mF,cAAL,IAAqB,KAAKA,cAAL,CAAoB3mF,CAApB,CAArB,GAA4C,KAAK2mF,cAAL,CAAoB3mF,CAApB,EAAuB0F,KAAvB,CAA6B,KAAKihF,cAAlC,EAAiDz9D,SAAjD,CAA5C,GAAwGyd,CAAC,CAACjhC,KAAF,CAAQ,IAAR,EAAawjB,SAAb,CAA/G;AAAuI,OAAjL;AAAmL,KAAvP,EAAwP43C,CAAC,CAAC/mD,SAA1P,GAAqQ+mD,CAAC,CAAC/mD,SAAF,CAAY6sE,SAAZ,GAAsB,UAAS5mF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAACm6B,CAAC,CAAC2lB,mBAAF,CAAsBzmF,CAAtB,EAAwB,KAAK4oE,QAA7B,CAAN;AAA6CjiC,OAAC,KAAGm6B,CAAC,CAAC+lB,mBAAF,GAAsBlgD,CAAC,GAACm6B,CAAC,CAAC+lB,mBAA1B,GAA8CzzC,CAAC,CAACnuC,KAAF,CAAQ,iDAAR,CAAjD,CAAD,EAA8G,KAAK6hF,oBAAL,EAA9G,EAA0I,KAAK1kF,GAAL,CAAS,SAAT,EAAmB,KAAK0kF,oBAAxB,CAA1I,EAAwLngD,CAAC,KAAGm6B,CAAC,CAAC+lB,mBAAN,KAA4B,KAAKE,cAAL,GAAoB/mF,CAAhD,CAAxL,EAA2O,KAAK2mF,cAAL,GAAoBhgD,CAAC,CAACqgD,YAAF,CAAehnF,CAAf,EAAiB,IAAjB,EAAsB,KAAK4oE,QAA3B,CAA/P,EAAoS,KAAKrnD,GAAL,CAAS,SAAT,EAAmB,KAAKulE,oBAAxB,CAApS;AAAkV,KAAtqB,EAAuqBhmB,CAAC,CAAC/mD,SAAF,CAAY+sE,oBAAZ,GAAiC,YAAU;AAAC,WAAKC,cAAL,KAAsB,KAAKpC,WAAL,CAAiB,CAAC,OAAD,EAAS,OAAT,CAAjB,GAAoC,KAAKoC,cAAL,GAAoB,IAA9E,GAAoF,KAAKlC,qBAAL,EAApF,EAAiH,KAAK8B,cAAL,KAAsB,KAAKA,cAAL,CAAoBl1E,OAApB,IAA6B,KAAKk1E,cAAL,CAAoBl1E,OAApB,EAA7B,EAA2D,KAAKk1E,cAAL,GAAoB,IAArG,CAAjH;AAA4N,KAA/6B;AAAg7B,GAAt5D,EAAu5Dne,EAAE,CAACuD,iBAAH,CAAqB,MAArB,EAA4B8W,EAA5B,CAAv5D,EAAu7DA,EAAE,CAACgD,YAAH,CAAgB,MAAhB,EAAuBhD,EAAvB,CAAv7D,EAAk9DA,EAAE,CAACkD,iBAAH,GAAqB,EAAv+D;AAA0+D,MAAIkB,EAAE,GAAC,EAAP;AAAA,MAAUC,EAAE,GAAC,EAAb;AAAA,MAAgBC,EAAE,GAAC,EAAnB;;AAAsB,WAASC,EAAT,CAAYpnF,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAACf,KAAC,CAAC8V,UAAF,CAAa,YAAU;AAAC,aAAO,SAAS/U,CAAT,CAAWu5B,CAAX,EAAat6B,CAAb,EAAe8gE,CAAf,EAAiBp8C,CAAjB,EAAmBtJ,CAAnB,EAAqBulD,CAArB,EAAuB;AAAC,aAAK,CAAL,KAASrmC,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,aAAK,CAAL,KAASt6B,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,aAAK,CAAL,KAASob,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,aAAK,CAAL,KAASulD,CAAT,KAAaA,CAAC,GAAC,CAAC,CAAhB;AAAmB,YAAIh6B,CAAC,GAAC3mC,CAAN;AAAA,YAAQ4gE,CAAC,GAACj6B,CAAC,CAAC,CAAD,CAAX;AAAA,YAAevL,CAAC,GAACuL,CAAC,CAAChsB,KAAF,CAAQ,CAAR,CAAjB;AAA4B,YAAG,YAAU,OAAOimD,CAApB,EAAsB7/D,CAAC,CAACu5B,CAAD,EAAG2sD,EAAE,CAACrmB,CAAD,CAAL,EAASE,CAAT,EAAWp8C,CAAX,EAAatJ,CAAb,EAAeulD,CAAf,CAAD,CAAtB,KAA8C,IAAGC,CAAH,EAAK;AAAC,cAAIY,CAAC,GAAC6lB,EAAE,CAAC3iE,CAAD,EAAGk8C,CAAH,CAAR;AAAc,cAAG,CAACY,CAAC,CAAColB,SAAN,EAAgB,OAAOxrE,CAAC,CAAC7X,IAAF,CAAOi+D,CAAP,GAAUzgE,CAAC,CAACu5B,CAAD,EAAGc,CAAH,EAAK0lC,CAAL,EAAOp8C,CAAP,EAAStJ,CAAT,EAAWulD,CAAX,CAAlB;AAAgCa,WAAC,CAAColB,SAAF,CAAYr3D,CAAC,CAAC,EAAD,EAAI+K,CAAJ,CAAb,EAAoB,UAASt6B,CAAT,EAAW2mC,CAAX,EAAa;AAAC,gBAAG3mC,CAAH,EAAK,OAAOe,CAAC,CAACu5B,CAAD,EAAGc,CAAH,EAAK0lC,CAAL,EAAOp8C,CAAP,EAAStJ,CAAT,EAAWulD,CAAX,CAAR;AAAsBvlD,aAAC,CAAC7X,IAAF,CAAOi+D,CAAP,GAAUzgE,CAAC,CAAC4lC,CAAD,EAAGrM,CAAC,CAAC/pB,IAAF,KAASo2B,CAAC,CAACp2B,IAAX,GAAgB6qB,CAAhB,GAAkB6rD,EAAE,CAACtgD,CAAC,CAACp2B,IAAH,CAAvB,EAAgCuwD,CAAhC,EAAkCp8C,CAAlC,EAAoCtJ,CAApC,EAAsCulD,CAAtC,CAAX;AAAoD,WAAjH;AAAmH,SAAvL,MAA4LvlC,CAAC,CAACl4B,MAAF,GAASnC,CAAC,CAACu5B,CAAD,EAAGc,CAAH,EAAK0lC,CAAL,EAAOp8C,CAAP,EAAStJ,CAAT,EAAWulD,CAAX,CAAV,GAAwBA,CAAC,GAACG,CAAC,CAACxmC,CAAD,EAAGlf,CAAH,CAAF,GAAQra,CAAC,CAACu5B,CAAD,EAAG2sD,EAAE,CAAC,GAAD,CAAL,EAAWnmB,CAAX,EAAap8C,CAAb,EAAetJ,CAAf,EAAiB,CAAC,CAAlB,CAAlC;AAAuD,OAAja,CAAkaurB,CAAla,EAAoasgD,EAAE,CAACtgD,CAAC,CAACp2B,IAAH,CAAta,EAA+axP,CAA/a,EAAibf,CAAjb,CAAP;AAA2b,KAAnd,EAAod,CAApd;AAAud;;AAAA,WAASsnF,EAAT,CAAYtnF,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoB;AAAC,SAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,IAAf;AAAqB,QAAIwmC,CAAC,GAAC,SAAOwH,EAAE,CAACvnE,CAAD,CAAf;AAAA,QAAmB2jB,CAAC,GAAC1kB,CAAC,CAACuqE,MAAF,CAASgd,EAAE,CAACzmB,CAAD,CAAX,EAAexmC,CAAf,CAArB;AAAA,QAAuClf,CAAC,GAACsJ,CAAC,KAAGyiE,EAA7C;AAAA,QAAgDxmB,CAAC,GAACvlD,CAAC,GAAC,IAAD,GAAMurB,CAAC,CAAC5lC,CAAD,CAAD,CAAK2jB,CAAL,CAAzD;AAAiE,WAAO,UAAS1kB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,WAAI,IAAIwmC,CAAC,GAAC9gE,CAAC,CAACkD,MAAF,GAAS,CAAnB,EAAqB,KAAG49D,CAAxB,EAA0BA,CAAC,EAA3B,EAA8B;AAAC,YAAIp8C,CAAC,GAAC1kB,CAAC,CAAC8gE,CAAD,CAAP;AAAWp8C,SAAC,CAACiiB,CAAD,CAAD,IAAMjiB,CAAC,CAACiiB,CAAD,CAAD,CAAKrM,CAAL,EAAOv5B,CAAP,CAAN;AAAgB;AAAC,KAA7E,CAA8Ef,CAA9E,EAAgFe,CAAhF,EAAkF4/D,CAAlF,EAAoFvlD,CAApF,GAAuFulD,CAA9F;AAAgG;;AAAA,MAAI6mB,EAAE,GAAC;AAACpD,YAAQ,EAAC,CAAV;AAAYv0E,eAAW,EAAC,CAAxB;AAA0ByP,YAAQ,EAAC,CAAnC;AAAqCnR,SAAK,EAAC,CAA3C;AAA6C42E,UAAM,EAAC,CAApD;AAAsD90E,UAAM,EAAC,CAA7D;AAA+Dw3E,YAAQ,EAAC,CAAxE;AAA0Eh3E,UAAM,EAAC;AAAjF,GAAP;AAAA,MAA2Fi3E,EAAE,GAAC;AAAC3xE,kBAAc,EAAC,CAAhB;AAAkB4xE,YAAQ,EAAC,CAA3B;AAA6Bj3E,aAAS,EAAC;AAAvC,GAA9F;AAAA,MAAwIk3E,EAAE,GAAC;AAACh7E,QAAI,EAAC,CAAN;AAAQF,SAAK,EAAC;AAAd,GAA3I;;AAA4J,WAAS66E,EAAT,CAAYxmF,CAAZ,EAAc;AAAC,WAAO,UAASf,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO3mC,CAAC,KAAGmnF,EAAJ,GAAOA,EAAP,GAAUxgD,CAAC,CAAC5lC,CAAD,CAAD,GAAK4lC,CAAC,CAAC5lC,CAAD,CAAD,CAAKf,CAAL,CAAL,GAAaA,CAA9B;AAAgC,KAArD;AAAsD;;AAAA,WAASqnF,EAAT,CAAYrnF,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAACmmF,EAAE,CAAClnF,CAAC,CAACiB,EAAF,EAAD,CAAR;AAAA,QAAiBq5B,CAAC,GAAC,IAAnB;AAAwB,QAAG,QAAMv5B,CAAT,EAAW,OAAOu5B,CAAC,GAACqM,CAAC,CAAC3mC,CAAD,CAAH,EAAOknF,EAAE,CAAClnF,CAAC,CAACiB,EAAF,EAAD,CAAF,GAAW,CAAC,CAAC0lC,CAAD,EAAGrM,CAAH,CAAD,CAAlB,EAA0BA,CAAjC;;AAAmC,SAAI,IAAIwmC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC//D,CAAC,CAACmC,MAAhB,EAAuB49D,CAAC,EAAxB,EAA2B;AAAC,UAAIp8C,CAAC,GAAC3jB,CAAC,CAAC+/D,CAAD,CAAP;AAAA,UAAW1lD,CAAC,GAACsJ,CAAC,CAAC,CAAD,CAAd;AAAA,UAAkBi8C,CAAC,GAACj8C,CAAC,CAAC,CAAD,CAArB;AAAyBtJ,OAAC,KAAGurB,CAAJ,KAAQrM,CAAC,GAACqmC,CAAV;AAAa;;AAAA,WAAO,SAAOrmC,CAAP,KAAWA,CAAC,GAACqM,CAAC,CAAC3mC,CAAD,CAAH,EAAOe,CAAC,CAACwC,IAAF,CAAO,CAACojC,CAAD,EAAGrM,CAAH,CAAP,CAAlB,GAAiCA,CAAxC;AAA0C;;AAAA,WAASutD,EAAT,CAAY7nF,CAAZ,EAAc;AAAC,SAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,QAAI2mC,CAAC,GAAC+uC,EAAE,CAAC11E,CAAD,CAAR;AAAY,WAAO8nF,EAAE,CAACnhD,CAAC,CAACtiB,WAAF,EAAD,CAAF,IAAqB,EAA5B;AAA+B;;AAAA,MAAIyjE,EAAE,GAAC;AAACC,QAAI,EAAC,WAAN;AAAkBC,OAAG,EAAC,WAAtB;AAAkCC,OAAG,EAAC,WAAtC;AAAkDC,OAAG,EAAC,WAAtD;AAAkEC,OAAG,EAAC,WAAtE;AAAkFC,OAAG,EAAC,kBAAtF;AAAyGC,OAAG,EAAC,WAA7G;AAAyHC,OAAG,EAAC,YAA7H;AAA0IC,OAAG,EAAC,WAA9I;AAA0JC,OAAG,EAAC,WAA9J;AAA0KC,QAAI,EAAC,uBAA/K;AAAuMC,OAAG,EAAC,YAA3M;AAAwNC,QAAI,EAAC,YAA7N;AAA0OC,OAAG,EAAC,WAA9O;AAA0PC,OAAG,EAAC,WAA9P;AAA0QC,OAAG,EAAC,eAA9Q;AAA8RC,QAAI,EAAC;AAAnS,GAAP;;AAAwT,WAASC,EAAT,CAAYhpF,CAAZ,EAAc;AAAC,QAAG,CAACA,CAAC,CAACuQ,IAAN,EAAW;AAAC,UAAIo2B,CAAC,GAACkhD,EAAE,CAAC7nF,CAAC,CAACgT,GAAH,CAAR;AAAgB2zB,OAAC,KAAG3mC,CAAC,CAACuQ,IAAF,GAAOo2B,CAAV,CAAD;AAAc;;AAAA,WAAO3mC,CAAP;AAAS;;AAAA,MAAIipF,EAAE,GAAC,UAAS7tD,CAAT,EAAW;AAAC,aAASp7B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAAC,UAAIu5B,CAAJ;AAAA,UAAMwmC,CAAC,GAACyH,EAAE,CAAC;AAAC1E,gBAAQ,EAAC,CAAC;AAAX,OAAD,EAAel9B,CAAf,CAAV;AAA4B,UAAGrM,CAAC,GAACc,CAAC,CAACz1B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc8gE,CAAd,EAAgB//D,CAAhB,KAAoB,IAAtB,EAA2B4lC,CAAC,CAACkkC,aAAF,CAAgBqe,OAAhB,IAAyB,MAAIviD,CAAC,CAACkkC,aAAF,CAAgBqe,OAAhB,CAAwBhmF,MAAnF,EAA0FlD,CAAC,CAACgT,GAAF,CAAM2zB,CAAC,CAACkkC,aAAF,CAAgBqe,OAAtB,EAA1F,KAA8H,KAAI,IAAIxkE,CAAC,GAAC,CAAN,EAAQtJ,CAAC,GAACurB,CAAC,CAACkkC,aAAF,CAAgBse,SAA9B,EAAwCzkE,CAAC,GAACtJ,CAAC,CAAClY,MAA5C,EAAmDwhB,CAAC,EAApD,EAAuD;AAAC,YAAIi8C,CAAC,GAAC2H,EAAE,CAACltD,CAAC,CAACsJ,CAAD,CAAF,CAAR;AAAA,YAAek8C,CAAC,GAACiiB,EAAE,CAACmD,OAAH,CAAWrlB,CAAX,CAAjB;;AAA+B,YAAGA,CAAC,KAAGC,CAAC,GAAC4H,EAAE,CAACkC,YAAH,CAAgB/J,CAAhB,CAAL,CAAD,EAA0BC,CAAC,IAAEA,CAAC,CAACwoB,WAAF,EAAhC,EAAgD;AAACppF,WAAC,CAACqpF,SAAF,CAAY1oB,CAAZ;AAAe;AAAM;AAAC;AAAA,aAAOrmC,CAAP;AAAS;;AAAA,WAAOoyC,EAAE,CAAC1sE,CAAD,EAAGo7B,CAAH,CAAF,EAAQp7B,CAAf;AAAiB,GAAhX,CAAiXwoE,EAAjX,CAAP;;AAA4XA,IAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmCkd,EAAnC;;AAAuC,MAAIK,EAAE,GAAC,UAASxoB,CAAT,EAAW;AAAC,aAAS9gE,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAAC+/D,CAAC,CAACn7D,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2B+kC,aAA3B,IAA2C3qE,CAAC,CAACsgE,MAAF,EAA3C,EAAsDtgE,CAA5D;AAA8D;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAG8gE,CAAH,CAAF;AAAQ,QAAIn6B,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,UAAS7jE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,WAAK,CAAL,KAASf,CAAT,KAAaA,CAAC,GAAC,KAAf,GAAsB,KAAK,CAAL,KAAS2mC,CAAT,KAAaA,CAAC,GAAC,EAAf,CAAtB,EAAyC,KAAK,CAAL,KAAS5lC,CAAT,KAAaA,CAAC,GAAC,EAAf,CAAzC,EAA4D4lC,CAAC,GAACpX,CAAC,CAAC;AAACkD,iBAAS,EAAC,+DAAX;AAA2ER,iBAAS,EAAC,KAAK64C,aAAL,EAArF;AAA0G30C,gBAAQ,EAAC;AAAnH,OAAD,EAAuHwQ,CAAvH,CAA/D,EAAyL,aAAW3mC,CAAX,IAAcozC,CAAC,CAACnuC,KAAF,CAAQ,2DAAyDjF,CAAzD,GAA2D,0CAAnE,CAAvM,EAAsTe,CAAC,GAACwuB,CAAC,CAAC;AAACwjD,YAAI,EAAC;AAAN,OAAD,EAAiBhyE,CAAjB,CAAzT,EAA6U,KAAKwoF,SAAL,GAAe5iD,CAAC,CAACxQ,QAA9V;AAAuW,UAAImE,CAAC,GAACwmC,CAAC,CAAC/mD,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B3F,CAA/B,EAAiC2mC,CAAjC,EAAmC5lC,CAAnC,CAAN;AAA4C,aAAO,KAAKyoF,mBAAL,CAAyBlvD,CAAzB,GAA4BA,CAAnC;AAAqC,KAAnd,EAAodqM,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAKg4E,cAAL,GAAoB,IAApB,EAAyB3oB,CAAC,CAAC/mD,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAAzB;AAAwD,KAAjiB,EAAkiBghC,CAAC,CAAC6iD,mBAAF,GAAsB,UAASxpF,CAAT,EAAW;AAAC,aAAO,KAAKypF,cAAL,GAAoB7nB,CAAC,CAAC,MAAD,EAAQ;AAAC3vC,iBAAS,EAAC;AAAX,OAAR,EAAuC;AAAC,qBAAY;AAAb,OAAvC,CAArB,EAAoFjyB,CAAC,IAAEA,CAAC,CAACkoB,WAAF,CAAc,KAAKuhE,cAAnB,CAAvF,EAA0H,KAAK1V,WAAL,CAAiB,KAAK2V,YAAtB,EAAmC1pF,CAAnC,CAA1H,EAAgK,KAAKypF,cAA5K;AAA2L,KAA/vB,EAAgwB9iD,CAAC,CAACotC,WAAF,GAAc,UAAS/zE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,KAAKpiB,EAAL,EAAf,GAA0B,KAAK,CAAL,KAASvkB,CAAtC,EAAwC,OAAO,KAAK0pF,YAAL,IAAmB,WAA1B;AAAsC,UAAI3oF,CAAC,GAAC,KAAKgpE,QAAL,CAAc/pE,CAAd,CAAN;AAAuB,WAAK0pF,YAAL,GAAkB1pF,CAAlB,EAAoB8hE,CAAC,CAAC,KAAK2nB,cAAN,EAAqB1oF,CAArB,CAArB,EAA6C,KAAK4oF,cAAL,IAAqBhjD,CAAC,CAAC1kB,YAAF,CAAe,OAAf,EAAuBlhB,CAAvB,CAAlE;AAA4F,KAA79B,EAA89B4lC,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,4BAA0BhK,CAAC,CAAC/mD,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAAhC;AAAqE,KAA9jC,EAA+jCghC,CAAC,CAAC06B,MAAF,GAAS,YAAU;AAAC,WAAKuoB,QAAL,KAAgB,KAAKA,QAAL,GAAc,CAAC,CAAf,EAAiB,KAAKnoF,WAAL,CAAiB,cAAjB,CAAjB,EAAkD,KAAKsnE,GAAL,CAAS9mD,YAAT,CAAsB,eAAtB,EAAsC,OAAtC,CAAlD,EAAiG,eAAa,OAAO,KAAKsnE,SAAzB,IAAoC,KAAKxgB,GAAL,CAAS9mD,YAAT,CAAsB,UAAtB,EAAiC,KAAKsnE,SAAtC,CAArI,EAAsL,KAAKlnF,EAAL,CAAQ,CAAC,KAAD,EAAO,OAAP,CAAR,EAAwB,KAAKwnF,WAA7B,CAAtL,EAAgO,KAAKxnF,EAAL,CAAQ,SAAR,EAAkB,KAAKmpE,aAAvB,CAAhP;AAAuR,KAA12C,EAA22C7kC,CAAC,CAAC9J,OAAF,GAAU,YAAU;AAAC,WAAK+sD,QAAL,GAAc,CAAC,CAAf,EAAiB,KAAK5kF,QAAL,CAAc,cAAd,CAAjB,EAA+C,KAAK+jE,GAAL,CAAS9mD,YAAT,CAAsB,eAAtB,EAAsC,MAAtC,CAA/C,EAA6F,eAAa,OAAO,KAAKsnE,SAAzB,IAAoC,KAAKxgB,GAAL,CAAS14C,eAAT,CAAyB,UAAzB,CAAjI,EAAsK,KAAKjuB,GAAL,CAAS,WAAT,EAAqB,KAAK0nF,eAA1B,CAAtK,EAAiN,KAAK1nF,GAAL,CAAS,UAAT,EAAoB,KAAK2nF,cAAzB,CAAjN,EAA0P,KAAK3nF,GAAL,CAAS,CAAC,KAAD,EAAO,OAAP,CAAT,EAAyB,KAAKynF,WAA9B,CAA1P,EAAqS,KAAKznF,GAAL,CAAS,SAAT,EAAmB,KAAKopE,aAAxB,CAArS;AAA4U,KAA5sD,EAA6sD7kC,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,WAAK4oE,QAAL,CAAcohB,YAAd,IAA4B,KAAKphB,QAAL,CAAcohB,YAAd,CAA2BrkF,IAA3B,CAAgC,IAAhC,EAAqCujB,SAArC,CAA5B;AAA4E,KAAnzD,EAAozDyd,CAAC,CAAC6kC,aAAF,GAAgB,UAASxrE,CAAT,EAAW;AAAC6wE,QAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,OAAhB,KAA0B6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,OAAhB,CAA1B,IAAoDA,CAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuC,KAAK9iC,OAAL,CAAa,OAAb,CAA3F,IAAkHu7D,CAAC,CAAC/mD,SAAF,CAAYyxD,aAAZ,CAA0B7lE,IAA1B,CAA+B,IAA/B,EAAoC3F,CAApC,CAAlH;AAAyJ,KAAz+D,EAA0+DA,CAAj/D;AAAm/D,GAA7mE,CAA8mEwoE,EAA9mE,CAAP;;AAAynEA,IAAE,CAACuD,iBAAH,CAAqB,oBAArB,EAA0Cud,EAA1C;;AAA8C,MAAIW,EAAE,GAAC,UAAS3vD,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BujD,MAA3B,IAAoClqF,CAAC,CAACqC,EAAF,CAAK,cAAL,EAAoBmkE,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACmpF,MAAT,CAAtB,CAApC,EAA4EnpF,CAAlF;AAAoF;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAKjF,MAAL,GAAcpK,GAAd,CAAkB,cAAlB,EAAiC,KAAK8nF,MAAtC,GAA8C5vD,CAAC,CAACvgB,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAA9C;AAA6E,KAAlG,EAAmGghC,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,aAAOjC,CAAC,CAAC,KAAD,EAAO;AAAC3vC,iBAAS,EAAC,YAAX;AAAwBkE,gBAAQ,EAAC,CAAC;AAAlC,OAAP,CAAR;AAAqD,KAA9K,EAA+KwQ,CAAC,CAACujD,MAAF,GAAS,UAASlqF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKn6B,MAAL,GAAc29E,MAAd,EAAN;AAA6B,WAAKC,MAAL,CAAYzjD,CAAZ,GAAeA,CAAC,GAAC,KAAK/C,IAAL,EAAD,GAAa,KAAKE,IAAL,EAA7B;AAAyC,KAA1Q,EAA2Q6C,CAAC,CAACyjD,MAAF,GAAS,UAASpqF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,EAAN;AAAS3mC,OAAC,KAAG2mC,CAAC,GAAC,UAAQ3mC,CAAR,GAAU,IAAf,CAAD,EAAsB,KAAK+oE,GAAL,CAAS5rD,KAAT,CAAeK,eAAf,GAA+BmpB,CAArD;AAAuD,KAAhW,EAAiWA,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,UAAG,KAAKyoE,OAAL,CAAav6D,QAAb,EAAH,EAA2B;AAAC,YAAIy4B,CAAC,GAAC,KAAK8hC,OAAL,CAAa4hB,WAAb,CAAyB,KAAzB,KAAiC,KAAK5hB,OAAL,CAAa6hB,GAAb,CAAiBC,QAAlD,IAA4D,IAAE,KAAK9hB,OAAL,CAAa6hB,GAAb,CAAiBC,QAAjB,CAA0BrnF,MAA9F;AAAqG,SAAC,KAAKulE,OAAL,CAAagS,IAAb,CAAkB,CAAC,CAAnB,CAAD,IAAwB,CAAClN,EAAE,IAAEH,EAAL,KAAUzmC,CAAlC,IAAqC,KAAK8hC,OAAL,CAAagS,IAAb,CAAkB,CAAC,CAAnB,EAAsBvvC,KAAtB,EAArC,EAAmE,KAAKu9B,OAAL,CAAax4D,MAAb,KAAsBkgE,EAAE,CAAC,KAAK1H,OAAL,CAAa77D,IAAb,EAAD,CAAxB,GAA8C,KAAK67D,OAAL,CAAa/7D,KAAb,EAAjH;AAAsI;AAAC,KAAnoB,EAAooB1M,CAA3oB;AAA6oB,GAA7xB,CAA8xBspF,EAA9xB,CAAP;;AAAyyB9gB,IAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmCke,EAAnC;AAAuC,MAAIO,EAAE,GAAC,MAAP;AAAA,MAAcnoF,EAAE,GAAC;AAACooF,aAAS,EAAC,WAAX;AAAuBC,aAAS,EAAC,YAAjC;AAA8CC,SAAK,EAAC,OAApD;AAA4DC,sBAAkB,EAAC,4CAA/E;AAA4HC,kBAAc,EAAC,0BAA3I;AAAsKC,yBAAqB,EAAC,YAA5L;AAAyMC,qBAAiB,EAAC,OAA3N;AAAmOC,UAAM,EAAC,kCAA1O;AAA6QjjE,UAAM,EAAC,6BAApR;AAAkTkjE,aAAS,EAAC;AAA5T,GAAjB;;AAAuY,WAASC,EAAT,CAAYlrF,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAJ;AAAM,QAAG,MAAIf,CAAC,CAACkD,MAAT,EAAgBnC,CAAC,GAACf,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAN,GAAUA,CAAC,CAAC,CAAD,CAAX,GAAeA,CAAC,CAAC,CAAD,CAAhB,GAAoBA,CAAC,CAAC,CAAD,CAArB,GAAyBA,CAAC,CAAC,CAAD,CAA5B,CAAhB,KAAoD;AAAC,UAAG,MAAIA,CAAC,CAACkD,MAAT,EAAgB,MAAM,IAAIgQ,KAAJ,CAAU,kCAAgClT,CAAhC,GAAkC,8CAA5C,CAAN;AAAkGe,OAAC,GAACf,CAAC,CAAC2a,KAAF,CAAQ,CAAR,CAAF;AAAa;AAAA,WAAM,UAAQjU,QAAQ,CAAC3F,CAAC,CAAC4Z,KAAF,CAAQ,CAAR,EAAU,CAAV,CAAD,EAAc,EAAd,CAAhB,GAAkC,GAAlC,GAAsCjU,QAAQ,CAAC3F,CAAC,CAAC4Z,KAAF,CAAQ,CAAR,EAAU,CAAV,CAAD,EAAc,EAAd,CAA9C,GAAgE,GAAhE,GAAoEjU,QAAQ,CAAC3F,CAAC,CAAC4Z,KAAF,CAAQ,CAAR,EAAU,CAAV,CAAD,EAAc,EAAd,CAA5E,GAA8F,GAA9F,GAAkGgsB,CAAlG,GAAoG,GAA1G;AAA8G;;AAAA,WAASwkD,EAAT,CAAYnrF,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAG;AAACf,OAAC,CAACmd,KAAF,CAAQwpB,CAAR,IAAW5lC,CAAX;AAAa,KAAjB,CAAiB,OAAMf,CAAN,EAAQ;AAAC;AAAO;AAAC;;AAAA,MAAIorF,EAAE,GAAC,UAAS1mE,CAAT,EAAW;AAAC,aAAS1kB,CAAT,CAAWe,CAAX,EAAaf,CAAb,EAAe2mC,CAAf,EAAiB;AAAC,UAAIrM,CAAJ;AAAMA,OAAC,GAAC5V,CAAC,CAAC/e,IAAF,CAAO,IAAP,EAAY5E,CAAZ,EAAcf,CAAd,EAAgB2mC,CAAhB,KAAoB,IAAtB;AAA2B,UAAIm6B,CAAC,GAAC0F,EAAE,CAAC2F,EAAE,CAAC7xC,CAAD,CAAH,EAAOA,CAAC,CAAC+wD,aAAT,CAAR;AAAgC,aAAOtqF,CAAC,CAACsB,EAAF,CAAK,WAAL,EAAiBmkE,EAAE,CAAC2F,EAAE,CAAC7xC,CAAD,CAAH,EAAOA,CAAC,CAACgxD,aAAT,CAAnB,GAA4CvqF,CAAC,CAACsB,EAAF,CAAK,iBAAL,EAAuBy+D,CAAvB,CAA5C,EAAsE//D,CAAC,CAACsB,EAAF,CAAK,gBAAL,EAAsBmkE,EAAE,CAAC2F,EAAE,CAAC7xC,CAAD,CAAH,EAAOA,CAAC,CAACixD,cAAT,CAAxB,CAAtE,EAAwHxqF,CAAC,CAAC0U,KAAF,CAAQ+wD,EAAE,CAAC2F,EAAE,CAAC7xC,CAAD,CAAH,EAAO,YAAU;AAAC,YAAGv5B,CAAC,CAACw5E,KAAF,IAASx5E,CAAC,CAACw5E,KAAF,CAAQ8I,wBAApB,EAA6C,KAAKv/C,IAAL,GAA7C,KAA6D;AAAC/iC,WAAC,CAACsB,EAAF,CAAK,kBAAL,EAAwBy+D,CAAxB,GAA2B//D,CAAC,CAACsB,EAAF,CAAK,cAAL,EAAoBy+D,CAApB,CAA3B,EAAkDx+C,CAAC,CAAC1J,gBAAF,CAAmB,mBAAnB,EAAuCkoD,CAAvC,CAAlD,EAA4F//D,CAAC,CAACsB,EAAF,CAAK,SAAL,EAAe,YAAU;AAAC,mBAAOigB,CAAC,CAACtD,mBAAF,CAAsB,mBAAtB,EAA0C8hD,CAA1C,CAAP;AAAoD,WAA9E,CAA5F;;AAA4K,eAAI,IAAI9gE,CAAC,GAAC,KAAK4oE,QAAL,CAAciC,aAAd,CAA4B2gB,MAA5B,IAAoC,EAA1C,EAA6C7kD,CAAC,GAAC,CAAnD,EAAqDA,CAAC,GAAC3mC,CAAC,CAACkD,MAAzD,EAAgEyjC,CAAC,EAAjE;AAAoE,iBAAK8hC,OAAL,CAAakI,kBAAb,CAAgC3wE,CAAC,CAAC2mC,CAAD,CAAjC,EAAqC,CAAC,CAAtC;AAApE;;AAA6G,eAAK4kD,cAAL;AAAsB;AAAC,OAAhY,CAAV,CAAxH,EAAqgBjxD,CAA5gB;AAA8gB;;AAAAoyC,MAAE,CAAC1sE,CAAD,EAAG0kB,CAAH,CAAF;AAAQ,QAAIiiB,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAAC4kD,cAAF,GAAiB,YAAU;AAAC,WAAI,IAAIvrF,CAAJ,EAAM2mC,CAAN,EAAQ5lC,CAAR,EAAUu5B,CAAC,GAAC;AAAC68C,gBAAQ,EAAC,CAAV;AAAYG,iBAAS,EAAC;AAAtB,OAAZ,EAAqCxW,CAAC,GAAC,KAAK2H,OAAL,CAAagI,UAAb,EAAvC,EAAiE/rD,CAAC,GAAC,KAAK+jD,OAAL,CAAagjB,MAAb,CAAoBC,gBAAvF,EAAwGtwE,CAAC,GAAC,CAA9G,EAAgHA,CAAC,GAAC0lD,CAAC,CAAC59D,MAApH,EAA2HkY,CAAC,EAA5H,EAA+H;AAAC,YAAIulD,CAAC,GAACG,CAAC,CAAC1lD,CAAD,CAAP;AAAWsJ,SAAC,IAAEA,CAAC,CAAC4wD,OAAL,IAAc5wD,CAAC,CAACslD,QAAhB,IAA0BtlD,CAAC,CAACslD,QAAF,KAAarJ,CAAC,CAACqJ,QAAzC,IAAmDrJ,CAAC,CAAC0V,IAAF,IAAU/7C,CAA7D,GAA+Dv5B,CAAC,GAAC4/D,CAAC,CAAC0V,IAAF,KAAS3xD,CAAC,CAAC2xD,IAAX,GAAgB1V,CAAhB,GAAkB5/D,CAAC,IAAE4/D,CAAtF,GAAwFj8C,CAAC,IAAE,CAACA,CAAC,CAAC4wD,OAAN,GAAc3uC,CAAC,GAAC3mC,CAAC,GAACe,CAAC,GAAC,IAApB,GAAyB4/D,CAAC,WAAD,KAAY,mBAAiBA,CAAC,CAAC0V,IAAnB,IAAyBr2E,CAAzB,GAA2B2gE,CAAC,CAAC0V,IAAF,IAAU/7C,CAAV,IAAa,CAACqM,CAAd,KAAkBA,CAAC,GAACg6B,CAApB,CAA3B,GAAkD3gE,CAAC,GAAC2gE,CAAhE,CAAjH;AAAoL;;AAAA5/D,OAAC,GAACA,CAAC,CAAC0G,IAAF,GAAO,SAAR,GAAkBk/B,CAAC,GAACA,CAAC,CAACl/B,IAAF,GAAO,SAAR,GAAkBzH,CAAC,KAAGA,CAAC,CAACyH,IAAF,GAAO,SAAV,CAAvC;AAA4D,KAAvZ,EAAwZk/B,CAAC,CAAC2kD,aAAF,GAAgB,YAAU;AAAC,WAAK7iB,OAAL,CAAa8R,KAAb,IAAoB,KAAK9R,OAAL,CAAa8R,KAAb,CAAmB8I,wBAAvC,GAAgE,KAAKv/C,IAAL,EAAhE,GAA4E,KAAKF,IAAL,EAA5E;AAAwF,KAA3gB,EAA4gB+C,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,aAAOn/C,CAAC,CAAC3K,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC;AAAX,OAArC,EAA0E;AAAC,qBAAY,KAAb;AAAmB,uBAAc;AAAjC,OAA1E,CAAP;AAA2H,KAA7pB,EAA8pB0U,CAAC,CAACglD,YAAF,GAAe,YAAU;AAAC,oBAAY,OAAOrpE,CAAC,CAACq3D,MAArB,IAA6Br3D,CAAC,CAACq3D,MAAF,CAAS+G,WAAT,CAAqBp+D,CAArB,EAAuB,EAAvB,EAA0B,KAAKymD,GAA/B,CAA7B;AAAiE,KAAzvB,EAA0vBpiC,CAAC,CAAC0kD,aAAF,GAAgB,YAAU;AAAC,UAAIrrF,CAAC,GAAC,KAAKyoE,OAAL,CAAagI,UAAb,EAAN;AAAA,UAAgC9pC,CAAC,GAAC,KAAKiiC,QAAL,CAAcgjB,0BAAhD;;AAA2E,UAAG,KAAKD,YAAL,IAAoBhlD,CAAvB,EAAyB;AAAC,aAAI,IAAI5lC,CAAC,GAAC,EAAN,EAASu5B,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACt6B,CAAC,CAACkD,MAArB,EAA4B,EAAEo3B,CAA9B,EAAgC;AAAC,cAAIwmC,CAAC,GAAC9gE,CAAC,CAACs6B,CAAD,CAAP;AAAW,wBAAYwmC,CAAC,CAACr5D,IAAd,IAAoB1G,CAAC,CAACwC,IAAF,CAAOu9D,CAAP,CAApB;AAA8B;;AAAA,aAAK+qB,cAAL,CAAoB9qF,CAApB;AAAuB,OAA3H,MAA+H;AAAC,aAAI,IAAI2jB,CAAC,GAAC,IAAN,EAAWtJ,CAAC,GAAC,IAAb,EAAkBulD,CAAC,GAAC3gE,CAAC,CAACkD,MAA1B,EAAiCy9D,CAAC,EAAlC,GAAsC;AAAC,cAAIC,CAAC,GAAC5gE,CAAC,CAAC2gE,CAAD,CAAP;AAAW,wBAAYC,CAAC,CAACn5D,IAAd,KAAqB,mBAAiBm5D,CAAC,CAACyV,IAAnB,GAAwB3xD,CAAC,GAACk8C,CAA1B,GAA4BxlD,CAAC,GAACwlD,CAAnD;AAAsD;;AAAAxlD,SAAC,IAAE,UAAQ,KAAKiG,YAAL,CAAkB,WAAlB,CAAR,IAAwC,KAAKY,YAAL,CAAkB,WAAlB,EAA8B,KAA9B,CAAxC,EAA6E,KAAK4pE,cAAL,CAAoBzwE,CAApB,CAA/E,IAAuGsJ,CAAC,KAAG,gBAAc,KAAKrD,YAAL,CAAkB,WAAlB,CAAd,IAA8C,KAAKY,YAAL,CAAkB,WAAlB,EAA8B,WAA9B,CAA9C,EAAyF,KAAK4pE,cAAL,CAAoBnnE,CAApB,CAA5F,CAAzG;AAA6N;AAAC,KAAtyC,EAAuyCiiB,CAAC,CAACmlD,kBAAF,GAAqB,UAAS9rF,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,KAAK8hC,OAAL,CAAasjB,iBAAb,CAA+BC,SAA/B,EAAN,EAAiDjrF,CAAC,GAACf,CAAC,CAAC86E,UAArD,EAAgExgD,CAAC,GAACv5B,CAAC,CAACmC,MAAxE,EAA+Eo3B,CAAC,EAAhF,GAAoF;AAAC,YAAIwmC,CAAC,GAAC//D,CAAC,CAACu5B,CAAD,CAAP;;AAAW,YAAGwmC,CAAH,EAAK;AAAC,cAAIp8C,CAAC,GAACo8C,CAAC,CAAC8f,YAAR;;AAAqB,cAAGj6C,CAAC,CAACo4C,KAAF,KAAUr6D,CAAC,CAACsP,UAAF,CAAa7W,KAAb,CAAmB4hE,KAAnB,GAAyBp4C,CAAC,CAACo4C,KAArC,GAA4Cp4C,CAAC,CAACslD,WAAF,IAAed,EAAE,CAACzmE,CAAC,CAACsP,UAAH,EAAc,OAAd,EAAsBk3D,EAAE,CAACvkD,CAAC,CAACo4C,KAAF,IAAS,MAAV,EAAiBp4C,CAAC,CAACslD,WAAnB,CAAxB,CAA7D,EAAsHtlD,CAAC,CAACq4C,eAAF,KAAoBt6D,CAAC,CAACsP,UAAF,CAAa7W,KAAb,CAAmB6hE,eAAnB,GAAmCr4C,CAAC,CAACq4C,eAAzD,CAAtH,EAAgMr4C,CAAC,CAACulD,iBAAF,IAAqBf,EAAE,CAACzmE,CAAC,CAACsP,UAAH,EAAc,iBAAd,EAAgCk3D,EAAE,CAACvkD,CAAC,CAACq4C,eAAF,IAAmB,MAApB,EAA2Br4C,CAAC,CAACulD,iBAA7B,CAAlC,CAAvN,EAA0SvlD,CAAC,CAACwlD,WAAF,KAAgBxlD,CAAC,CAACylD,aAAF,GAAgBjB,EAAE,CAACzmE,CAAD,EAAG,iBAAH,EAAqBwmE,EAAE,CAACvkD,CAAC,CAACwlD,WAAH,EAAexlD,CAAC,CAACylD,aAAjB,CAAvB,CAAlB,GAA0E1nE,CAAC,CAACvH,KAAF,CAAQ6hE,eAAR,GAAwBr4C,CAAC,CAACwlD,WAApH,CAA1S,EAA2axlD,CAAC,CAAC0lD,SAAF,KAAc,iBAAe1lD,CAAC,CAAC0lD,SAAjB,GAA2B3nE,CAAC,CAACsP,UAAF,CAAa7W,KAAb,CAAmBmvE,UAAnB,GAA8B,qDAAmD9B,EAA5G,GAA+G,aAAW7jD,CAAC,CAAC0lD,SAAb,GAAuB3nE,CAAC,CAACsP,UAAF,CAAa7W,KAAb,CAAmBmvE,UAAnB,GAA8B,yCAAuC9B,EAA5F,GAA+F,gBAAc7jD,CAAC,CAAC0lD,SAAhB,GAA0B3nE,CAAC,CAACsP,UAAF,CAAa7W,KAAb,CAAmBmvE,UAAnB,GAA8B,sDAAoD9B,EAA5G,GAA+G,cAAY7jD,CAAC,CAAC0lD,SAAd,KAA0B3nE,CAAC,CAACsP,UAAF,CAAa7W,KAAb,CAAmBmvE,UAAnB,GAA8B,uDAAqD9B,EAA7G,CAA3U,CAA3a,EAAw2B7jD,CAAC,CAAC4lD,WAAF,IAAe,MAAI5lD,CAAC,CAAC4lD,WAAh4B,EAA44B;AAAC,gBAAInxE,CAAC,GAACkH,CAAC,CAACW,UAAF,CAAayB,CAAC,CAACvH,KAAF,CAAQs6C,QAArB,CAAN;AAAqC/yC,aAAC,CAACvH,KAAF,CAAQs6C,QAAR,GAAiBr8C,CAAC,GAACurB,CAAC,CAAC4lD,WAAJ,GAAgB,IAAjC,EAAsC7nE,CAAC,CAACvH,KAAF,CAAQpM,MAAR,GAAe,MAArD,EAA4D2T,CAAC,CAACvH,KAAF,CAAQlJ,GAAR,GAAY,MAAxE,EAA+EyQ,CAAC,CAACvH,KAAF,CAAQiG,MAAR,GAAe,KAA9F;AAAoG;;AAAAujB,WAAC,CAAC6lD,UAAF,IAAc,cAAY7lD,CAAC,CAAC6lD,UAA5B,KAAyC,iBAAe7lD,CAAC,CAAC6lD,UAAjB,GAA4B9nE,CAAC,CAACsP,UAAF,CAAa7W,KAAb,CAAmBsvE,WAAnB,GAA+B,YAA3D,GAAwE/nE,CAAC,CAACsP,UAAF,CAAa7W,KAAb,CAAmBqvE,UAAnB,GAA8BnqF,EAAE,CAACskC,CAAC,CAAC6lD,UAAH,CAAjJ;AAAiK;AAAC;AAAC,KAA5nF,EAA6nF7lD,CAAC,CAACklD,cAAF,GAAiB,UAAS7rF,CAAT,EAAW;AAAC,UAAGwb,KAAK,CAACG,OAAN,CAAc3b,CAAd,MAAmBA,CAAC,GAAC,CAACA,CAAD,CAArB,GAA0B,cAAY,OAAOsiB,CAAC,CAACq3D,MAArB,IAA6B,CAAC35E,CAAC,CAAC4nE,KAAF,CAAQ,UAAS5nE,CAAT,EAAW;AAAC,eAAM,CAACA,CAAC,CAAC86E,UAAT;AAAoB,OAAxC,CAA3D,EAAqG;AAAC,aAAI,IAAIn0C,CAAC,GAAC,EAAN,EAAS5lC,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACf,CAAC,CAACkD,MAArB,EAA4B,EAAEnC,CAA9B;AAAgC,eAAI,IAAIu5B,CAAC,GAACt6B,CAAC,CAACe,CAAD,CAAP,EAAW+/D,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAACxmC,CAAC,CAACwgD,UAAF,CAAa53E,MAAlC,EAAyC,EAAE49D,CAA3C;AAA6Cn6B,aAAC,CAACpjC,IAAF,CAAO+2B,CAAC,CAACwgD,UAAF,CAAaha,CAAb,CAAP;AAA7C;AAAhC;;AAAqGx+C,SAAC,CAACq3D,MAAF,CAAS+G,WAAT,CAAqBp+D,CAArB,EAAuBqkB,CAAvB,EAAyB,KAAKoiC,GAA9B;;AAAmC,aAAI,IAAIrkD,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC1kB,CAAC,CAACkD,MAAhB,EAAuB,EAAEwhB,CAAzB,EAA2B;AAAC,eAAI,IAAItJ,CAAC,GAACpb,CAAC,CAAC0kB,CAAD,CAAP,EAAWi8C,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAACvlD,CAAC,CAAC0/D,UAAF,CAAa53E,MAAlC,EAAyC,EAAEy9D,CAA3C,EAA6C;AAAC,gBAAIC,CAAC,GAACxlD,CAAC,CAAC0/D,UAAF,CAAana,CAAb,EAAgBigB,YAAtB;AAAmC1e,aAAC,CAACtB,CAAD,EAAG,oBAAH,CAAD,EAA0BsB,CAAC,CAACtB,CAAD,EAAG,yBAAuBxlD,CAAC,CAAC4uD,QAAF,GAAW5uD,CAAC,CAAC4uD,QAAb,GAAsBtlD,CAA7C,CAAH,CAA3B;AAA+E;;AAAA,eAAK+jD,OAAL,CAAasjB,iBAAb,IAAgC,KAAKD,kBAAL,CAAwB1wE,CAAxB,CAAhC;AAA2D;AAAC;AAAC,KAAjoG,EAAkoGpb,CAAzoG;AAA2oG,GAAlxH,CAAmxHwoE,EAAnxH,CAAP;;AAA8xHA,IAAE,CAACuD,iBAAH,CAAqB,kBAArB,EAAwCqf,EAAxC;;AAA4C,MAAIsB,EAAE,GAAC,UAAS5rB,CAAT,EAAW;AAAC,aAAS9gE,CAAT,GAAY;AAAC,aAAO8gE,CAAC,CAACp7D,KAAF,CAAQ,IAAR,EAAawjB,SAAb,KAAyB,IAAhC;AAAqC;;AAAA,WAAOwjD,EAAE,CAAC1sE,CAAD,EAAG8gE,CAAH,CAAF,EAAQ9gE,CAAC,CAAC+Z,SAAF,CAAY8pD,QAAZ,GAAqB,YAAU;AAAC,UAAI7jE,CAAC,GAAC,KAAKyoE,OAAL,CAAakkB,OAAb,EAAN;AAAA,UAA6BhmD,CAAC,GAAC,KAAKojC,QAAL,CAAc/pE,CAAC,GAAC,cAAD,GAAgB,cAA/B,CAA/B;AAAA,UAA8Ee,CAAC,GAAC6gE,CAAC,CAAC,MAAD,EAAQ;AAAC3vC,iBAAS,EAAC,kBAAX;AAA8BQ,iBAAS,EAAC,KAAKs3C,QAAL,CAAc,iBAAd,EAAgC,CAACpjC,CAAD,CAAhC;AAAxC,OAAR,CAAjF;AAAA,UAAwKrM,CAAC,GAACwmC,CAAC,CAAC/mD,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC,qBAAX;AAAiC9C,WAAG,EAAC;AAArC,OAArC,CAA1K;AAA4P,aAAOmL,CAAC,CAACpS,WAAF,CAAcnnB,CAAd,GAAiBu5B,CAAxB;AAA0B,KAA9T,EAA+Tt6B,CAAtU;AAAwU,GAAtY,CAAuYwoE,EAAvY,CAAP;;AAAkZA,IAAE,CAACuD,iBAAH,CAAqB,gBAArB,EAAsC2gB,EAAtC;;AAA0C,MAAIE,EAAE,GAAC,UAASjmD,CAAT,EAAW;AAAC,aAAS3mC,CAAT,GAAY;AAAC,aAAO2mC,CAAC,CAACjhC,KAAF,CAAQ,IAAR,EAAawjB,SAAb,KAAyB,IAAhC;AAAqC;;AAAAwjD,MAAE,CAAC1sE,CAAD,EAAG2mC,CAAH,CAAF;AAAQ,QAAI5lC,CAAC,GAACf,CAAC,CAAC+Z,SAAR;AAAkB,WAAOhZ,CAAC,CAAC8iE,QAAF,GAAW,UAAS7jE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,WAAK,CAAL,KAAS4lC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,KAAK,CAAL,KAAS5lC,CAAT,KAAaA,CAAC,GAAC,EAAf,CAAnB,EAAsC4lC,CAAC,GAACpX,CAAC,CAAC;AAACkD,iBAAS,EAAC,+DAAX;AAA2ER,iBAAS,EAAC,KAAK64C,aAAL;AAArF,OAAD,EAA4GnkC,CAA5G,CAAzC,EAAwJ5lC,CAAC,GAACwuB,CAAC,CAAC;AAAChf,YAAI,EAAC;AAAN,OAAD,EAAiBxP,CAAjB,CAA3J;AAA+K,UAAIu5B,CAAC,GAACkuC,EAAE,CAACzuD,SAAH,CAAa8pD,QAAb,CAAsBl+D,IAAtB,CAA2B,IAA3B,EAAgC,QAAhC,EAAyCghC,CAAzC,EAA2C5lC,CAA3C,CAAN;AAAoD,aAAO,KAAKyoF,mBAAL,CAAyBlvD,CAAzB,GAA4BA,CAAnC;AAAqC,KAAnS,EAAoSv5B,CAAC,CAACypE,QAAF,GAAW,UAASxqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,UAAI5lC,CAAC,GAAC,KAAKynB,WAAL,CAAiBoB,IAAvB;AAA4B,aAAOwpB,CAAC,CAAC5T,IAAF,CAAO,iEAA+Dz+B,CAA/D,GAAiE,uDAAxE,GAAiIynE,EAAE,CAACzuD,SAAH,CAAaywD,QAAb,CAAsB7kE,IAAtB,CAA2B,IAA3B,EAAgC3F,CAAhC,EAAkC2mC,CAAlC,CAAxI;AAA6K,KAAzhB,EAA0hB5lC,CAAC,CAACsgE,MAAF,GAAS,YAAU;AAAC16B,OAAC,CAAC5sB,SAAF,CAAYsnD,MAAZ,CAAmB17D,IAAnB,CAAwB,IAAxB,GAA8B,KAAKojE,GAAL,CAAS14C,eAAT,CAAyB,UAAzB,CAA9B;AAAmE,KAAjnB,EAAknBtvB,CAAC,CAAC87B,OAAF,GAAU,YAAU;AAAC8J,OAAC,CAAC5sB,SAAF,CAAY8iB,OAAZ,CAAoBl3B,IAApB,CAAyB,IAAzB,GAA+B,KAAKojE,GAAL,CAAS9mD,YAAT,CAAsB,UAAtB,EAAiC,UAAjC,CAA/B;AAA4E,KAAntB,EAAotBlhB,CAAC,CAACyqE,aAAF,GAAgB,UAASxrE,CAAT,EAAW;AAAC6wE,QAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,OAAhB,KAA0B6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,OAAhB,CAA1B,GAAmDA,CAAC,CAACqoC,eAAF,EAAnD,GAAuE1B,CAAC,CAAC5sB,SAAF,CAAYyxD,aAAZ,CAA0B7lE,IAA1B,CAA+B,IAA/B,EAAoC3F,CAApC,CAAvE;AAA8G,KAA91B,EAA+1BA,CAAt2B;AAAw2B,GAAh8B,CAAi8BspF,EAAj8B,CAAP;;AAA48B9gB,IAAE,CAACuD,iBAAH,CAAqB,QAArB,EAA8B6gB,EAA9B;;AAAkC,MAAIC,EAAE,GAAC,UAASvyD,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BmmD,UAA3B,GAAsC,CAAC,CAAvC,EAAyC/rF,CAAC,CAACsB,EAAF,CAAK,WAAL,EAAiBtB,CAAC,CAACgsF,eAAnB,CAAzC,EAA6EhsF,CAAnF;AAAqF;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,qBAAN;AAA4B,KAAvD,EAAwDnkC,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK8hC,OAAL,CAAa77D,IAAb,EAAN;;AAA0B,UAAG,KAAKkgF,UAAL,IAAiB9sF,CAAC,CAACwqC,OAAnB,IAA4BxqC,CAAC,CAACyqC,OAAjC,EAAyC;AAAC,YAAI1pC,CAAC,GAAC,KAAK0nE,OAAL,CAAa4hB,WAAb,CAAyB,KAAzB,KAAiC,KAAK5hB,OAAL,CAAa6hB,GAAb,CAAiBC,QAAlD,IAA4D,IAAE,KAAK9hB,OAAL,CAAa6hB,GAAb,CAAiBC,QAAjB,CAA0BrnF,MAA9F;AAAqG,eAAOitE,EAAE,CAACxpC,CAAD,CAAF,EAAM,MAAK,CAAC,KAAK8hC,OAAL,CAAagS,IAAb,CAAkB,CAAC,CAAnB,CAAD,IAAwB,CAAClN,EAAE,IAAEH,EAAL,KAAUrsE,CAAlC,IAAqC,KAAK0nE,OAAL,CAAagS,IAAb,CAAkB,CAAC,CAAnB,EAAsBvvC,KAAtB,EAA1C,CAAb;AAAsF;;AAAA,UAAI5Q,CAAC,GAAC,KAAKmuC,OAAL,CAAa4B,QAAb,CAAsB,YAAtB,CAAN;AAAA,UAA0CvJ,CAAC,GAACxmC,CAAC,IAAEA,CAAC,CAAC+vC,QAAF,CAAW,YAAX,CAA/C;;AAAwE,UAAGvJ,CAAH,EAAK;AAAC,YAAIp8C,CAAC,GAAC,SAAFA,CAAE,GAAU;AAAC,iBAAOo8C,CAAC,CAAC51B,KAAF,EAAP;AAAiB,SAAlC;;AAAmCglC,UAAE,CAACvpC,CAAD,CAAF,GAAMA,CAAC,CAAChiC,IAAF,CAAO+f,CAAP,EAAS,YAAU,CAAE,CAArB,CAAN,GAA6B,KAAK5O,UAAL,CAAgB4O,CAAhB,EAAkB,CAAlB,CAA7B;AAAkD,OAA3F,MAAgG,KAAK+jD,OAAL,CAAagS,IAAb,CAAkB,CAAC,CAAnB,EAAsBvvC,KAAtB;AAA8B,KAAvhB,EAAwhBvE,CAAC,CAAC6kC,aAAF,GAAgB,UAASxrE,CAAT,EAAW;AAAC,WAAK8sF,UAAL,GAAgB,CAAC,CAAjB,EAAmBxyD,CAAC,CAACvgB,SAAF,CAAYyxD,aAAZ,CAA0B7lE,IAA1B,CAA+B,IAA/B,EAAoC3F,CAApC,CAAnB;AAA0D,KAA9mB,EAA+mB2mC,CAAC,CAAComD,eAAF,GAAkB,UAAS/sF,CAAT,EAAW;AAAC,WAAK8sF,UAAL,GAAgB,CAAC,CAAjB;AAAmB,KAAhqB,EAAiqB9sF,CAAxqB;AAA0qB,GAA3zB,CAA4zB4sF,EAA5zB,CAAP;;AAAu0BC,IAAE,CAAC9yE,SAAH,CAAa2vE,YAAb,GAA0B,YAA1B,EAAuClhB,EAAE,CAACuD,iBAAH,CAAqB,eAArB,EAAqC8gB,EAArC,CAAvC;;AAAgF,MAAI3tE,EAAE,GAAC,UAASob,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BotC,WAA3B,CAAuCptC,CAAC,IAAEA,CAAC,CAACotC,WAAL,IAAkBhzE,CAAC,CAACgpE,QAAF,CAAW,OAAX,CAAzD,GAA8EhpE,CAApF;AAAsF;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,sBAAoBxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAA1B;AAA+D,KAA1F,EAA2FghC,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,WAAKuF,OAAL,CAAa;AAACgL,YAAI,EAAC,OAAN;AAAcu5B,eAAO,EAAC,CAAC;AAAvB,OAAb;AAAwC,KAA7J,EAA8JnD,CAAC,CAAC6kC,aAAF,GAAgB,UAASxrE,CAAT,EAAW;AAAC6wE,QAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,KAAwBA,CAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuC,KAAK9iC,OAAL,CAAa,OAAb,CAA/D,IAAsF+0B,CAAC,CAACvgB,SAAF,CAAYyxD,aAAZ,CAA0B7lE,IAA1B,CAA+B,IAA/B,EAAoC3F,CAApC,CAAtF;AAA6H,KAAvT,EAAwTA,CAA/T;AAAiU,GAAnd,CAAod4sF,EAApd,CAAP;;AAA+dpkB,IAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmC7sD,EAAnC;;AAAuC,MAAI8tE,EAAE,GAAC,UAAS1yD,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAO,KAAK,CAAL,KAAS4lC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB5lC,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAAvC,EAA4CA,CAAC,CAACsmD,MAAF,GAAS,KAAK,CAAL,KAAStmD,CAAC,CAACsmD,MAAX,IAAmBtmD,CAAC,CAACsmD,MAA1E,EAAiFlsF,CAAC,CAACsB,EAAF,CAAKrC,CAAL,EAAO,MAAP,EAAce,CAAC,CAACmsF,UAAhB,CAAjF,EAA6GnsF,CAAC,CAACsB,EAAF,CAAKrC,CAAL,EAAO,OAAP,EAAee,CAAC,CAACosF,WAAjB,CAA7G,EAA2IxmD,CAAC,CAACsmD,MAAF,IAAUlsF,CAAC,CAACsB,EAAF,CAAKrC,CAAL,EAAO,OAAP,EAAee,CAAC,CAACqsF,WAAjB,CAArJ,EAAmLrsF,CAA1L;AAA4L;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,sBAAoBxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAA1B;AAA+D,KAA1F,EAA2FghC,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,WAAKyoE,OAAL,CAAax4D,MAAb,KAAsB,KAAKw4D,OAAL,CAAa77D,IAAb,EAAtB,GAA0C,KAAK67D,OAAL,CAAa/7D,KAAb,EAA1C;AAA+D,KAApL,EAAqLi6B,CAAC,CAAC0mD,YAAF,GAAe,UAASrtF,CAAT,EAAW;AAAC,WAAKyB,WAAL,CAAiB,WAAjB,GAA8B,KAAKgnE,OAAL,CAAax4D,MAAb,KAAsB,KAAKk9E,WAAL,CAAiBntF,CAAjB,CAAtB,GAA0C,KAAKktF,UAAL,CAAgBltF,CAAhB,CAAxE;AAA2F,KAA3S,EAA4S2mC,CAAC,CAACumD,UAAF,GAAa,UAASltF,CAAT,EAAW;AAAC,WAAKyB,WAAL,CAAiB,WAAjB,GAA8B,KAAKA,WAAL,CAAiB,YAAjB,CAA9B,EAA6D,KAAKuD,QAAL,CAAc,aAAd,CAA7D,EAA0F,KAAK+uE,WAAL,CAAiB,OAAjB,CAA1F;AAAoH,KAAzb,EAA0bptC,CAAC,CAACwmD,WAAF,GAAc,UAASntF,CAAT,EAAW;AAAC,WAAKyB,WAAL,CAAiB,aAAjB,GAAgC,KAAKuD,QAAL,CAAc,YAAd,CAAhC,EAA4D,KAAK+uE,WAAL,CAAiB,MAAjB,CAA5D;AAAqF,KAAziB,EAA0iBptC,CAAC,CAACymD,WAAF,GAAc,UAASptF,CAAT,EAAW;AAAC,WAAKyB,WAAL,CAAiB,aAAjB,GAAgC,KAAKuD,QAAL,CAAc,WAAd,CAAhC,EAA2D,KAAK+uE,WAAL,CAAiB,QAAjB,CAA3D,EAAsF,KAAKxyD,GAAL,CAAS,KAAKknD,OAAd,EAAsB,QAAtB,EAA+B,KAAK4kB,YAApC,CAAtF;AAAwI,KAA5sB,EAA6sBrtF,CAAptB;AAAstB,GAA98B,CAA+8B4sF,EAA/8B,CAAP;;AAA09BI,IAAE,CAACjzE,SAAH,CAAa2vE,YAAb,GAA0B,MAA1B,EAAiClhB,EAAE,CAACuD,iBAAH,CAAqB,YAArB,EAAkCihB,EAAlC,CAAjC;;AAAuE,WAASM,EAAT,CAAYttF,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC3mC,KAAC,GAACA,CAAC,GAAC,CAAF,GAAI,CAAJ,GAAMA,CAAR;AAAU,QAAIe,CAAC,GAAC4f,IAAI,CAACuE,KAAL,CAAWllB,CAAC,GAAC,EAAb,CAAN;AAAA,QAAuBs6B,CAAC,GAAC3Z,IAAI,CAACuE,KAAL,CAAWllB,CAAC,GAAC,EAAF,GAAK,EAAhB,CAAzB;AAAA,QAA6C8gE,CAAC,GAACngD,IAAI,CAACuE,KAAL,CAAWllB,CAAC,GAAC,IAAb,CAA/C;AAAA,QAAkE0kB,CAAC,GAAC/D,IAAI,CAACuE,KAAL,CAAWyhB,CAAC,GAAC,EAAF,GAAK,EAAhB,CAApE;AAAA,QAAwFvrB,CAAC,GAACuF,IAAI,CAACuE,KAAL,CAAWyhB,CAAC,GAAC,IAAb,CAA1F;AAA6G,WAAM,CAAC//B,KAAK,CAAC5G,CAAD,CAAN,IAAWA,CAAC,KAAG,IAAE,CAAjB,KAAqB8gE,CAAC,GAACxmC,CAAC,GAACv5B,CAAC,GAAC,GAA3B,GAAgC,CAAC+/D,CAAC,GAAC,IAAEA,CAAF,IAAK,IAAE1lD,CAAP,GAAS0lD,CAAC,GAAC,GAAX,GAAe,EAAlB,KAAuBxmC,CAAC,GAAC,CAAC,CAACwmC,CAAC,IAAE,MAAIp8C,CAAR,KAAY4V,CAAC,GAAC,EAAd,GAAiB,MAAIA,CAArB,GAAuBA,CAAxB,IAA2B,GAApD,KAA0Dv5B,CAAC,GAACA,CAAC,GAAC,EAAF,GAAK,MAAIA,CAAT,GAAWA,CAAvE,CAAtC;AAAgH;;AAAA,MAAIwsF,EAAE,GAACD,EAAP;;AAAU,WAASE,EAAT,CAAYxtF,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC3mC,CAAf,GAAkButF,EAAE,CAACvtF,CAAD,EAAG2mC,CAAH,CAA3B;AAAiC;;AAAA,MAAI8mD,EAAE,GAAC,UAASnzD,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BtkC,EAA3B,CAA8BrC,CAA9B,EAAgC,CAAC,YAAD,EAAc,OAAd,CAAhC,EAAuDe,CAAC,CAAC2sF,aAAzD,GAAwE3sF,CAAC,CAAC4sF,eAAF,EAAxE,EAA4F5sF,CAAlG;AAAoG;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,UAAI7jE,CAAC,GAAC,KAAK8qE,aAAL,EAAN;AAAA,UAA2BnkC,CAAC,GAACrM,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAACjyB,CAAC,GAAC,+BAAb;AAA6CyyB,iBAAS,EAAC,wDAAsD,KAAKs3C,QAAL,CAAc,KAAK6jB,UAAnB,CAAtD,GAAqF;AAA5I,OAArC,CAA7B;AAA2N,aAAO,KAAKzjB,UAAL,GAAgBvI,CAAC,CAAC,MAAD,EAAQ;AAAC3vC,iBAAS,EAACjyB,CAAC,GAAC;AAAb,OAAR,EAAiC;AAAC,qBAAY,KAAb;AAAmB+yE,YAAI,EAAC;AAAxB,OAAjC,CAAjB,EAA2FpsC,CAAC,CAACze,WAAF,CAAc,KAAKiiD,UAAnB,CAA3F,EAA0HxjC,CAAjI;AAAmI,KAApX,EAAqXA,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAK04D,UAAL,GAAgB,IAAhB,EAAqB,KAAK0jB,SAAL,GAAe,IAApC,EAAyCvzD,CAAC,CAACvgB,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAAzC;AAAwE,KAAld,EAAmdghC,CAAC,CAACgnD,eAAF,GAAkB,UAAS3tF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAW,WAAK,CAAL,KAAS3mC,CAAT,KAAaA,CAAC,GAAC,CAAf,GAAkBA,CAAC,GAACwtF,EAAE,CAACxtF,CAAD,CAAtB,EAA0B,KAAK8tF,cAAL,KAAsB9tF,CAAtB,KAA0B,KAAK8tF,cAAL,GAAoB9tF,CAApB,EAAsB,KAAK6zC,qBAAL,CAA2B,YAAU;AAAC,YAAGlN,CAAC,CAACwjC,UAAL,EAAgB;AAAC,cAAInqE,CAAC,GAAC2mC,CAAC,CAACknD,SAAR;AAAkBlnD,WAAC,CAACknD,SAAF,GAAYptB,CAAC,CAACz6B,cAAF,CAAiBW,CAAC,CAACmnD,cAAnB,CAAZ,EAA+CnnD,CAAC,CAACknD,SAAF,KAAc7tF,CAAC,GAAC2mC,CAAC,CAACwjC,UAAF,CAAa98B,YAAb,CAA0B1G,CAAC,CAACknD,SAA5B,EAAsC7tF,CAAtC,CAAD,GAA0C2mC,CAAC,CAACwjC,UAAF,CAAajiD,WAAb,CAAyBye,CAAC,CAACknD,SAA3B,CAAzD,CAA/C;AAA+I;AAAC,OAAzN,CAAhD,CAA1B;AAAsS,KAAlyB,EAAmyBlnD,CAAC,CAAC+mD,aAAF,GAAgB,UAAS1tF,CAAT,EAAW,CAAE,CAAh0B,EAAi0BA,CAAx0B;AAA00B,GAA1+B,CAA2+BwoE,EAA3+B,CAAP;;AAAs/BilB,IAAE,CAAC1zE,SAAH,CAAa6zE,UAAb,GAAwB,MAAxB,EAA+BH,EAAE,CAAC1zE,SAAH,CAAa2vE,YAAb,GAA0B,MAAzD,EAAgElhB,EAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmC0hB,EAAnC,CAAhE;;AAAuG,MAAIM,EAAE,GAAC,UAAS/tF,CAAT,EAAW;AAAC,aAAS2mC,CAAT,GAAY;AAAC,aAAO3mC,CAAC,CAAC0F,KAAF,CAAQ,IAAR,EAAawjB,SAAb,KAAyB,IAAhC;AAAqC;;AAAAwjD,MAAE,CAAC/lC,CAAD,EAAG3mC,CAAH,CAAF;AAAQ,QAAIe,CAAC,GAAC4lC,CAAC,CAAC5sB,SAAR;AAAkB,WAAOhZ,CAAC,CAAC+pE,aAAF,GAAgB,YAAU;AAAC,aAAM,kBAAN;AAAyB,KAApD,EAAqD/pE,CAAC,CAAC2sF,aAAF,GAAgB,UAAS1tF,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAMA,OAAC,GAAC,KAAK8hC,OAAL,CAAaulB,KAAb,KAAqB,KAAKvlB,OAAL,CAAanpD,QAAb,EAArB,GAA6C,KAAKmpD,OAAL,CAAawlB,SAAb,KAAyB,KAAKxlB,OAAL,CAAaylB,QAAb,GAAwBr+E,WAAjD,GAA6D,KAAK44D,OAAL,CAAa54D,WAAb,EAA5G,EAAuI,KAAK89E,eAAL,CAAqBhnD,CAArB,CAAvI;AAA+J,KAAtP,EAAuPA,CAA9P;AAAgQ,GAAxV,CAAyV8mD,EAAzV,CAAP;;AAAoWM,IAAE,CAACh0E,SAAH,CAAa6zE,UAAb,GAAwB,cAAxB,EAAuCG,EAAE,CAACh0E,SAAH,CAAa2vE,YAAb,GAA0B,cAAjE,EAAgFlhB,EAAE,CAACuD,iBAAH,CAAqB,oBAArB,EAA0CgiB,EAA1C,CAAhF;;AAA8H,MAAII,EAAE,GAAC,UAAS7zD,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BtkC,EAA3B,CAA8BrC,CAA9B,EAAgC,gBAAhC,EAAiDe,CAAC,CAAC2sF,aAAnD,GAAkE3sF,CAAC,CAACsB,EAAF,CAAKrC,CAAL,EAAO,WAAP,EAAmBe,CAAC,CAAC2sF,aAArB,CAAlE,EAAsG3sF,CAAC,CAACsB,EAAF,CAAKrC,CAAL,EAAO,gBAAP,EAAwBe,CAAC,CAAC2sF,aAA1B,CAAtG,EAA+I3sF,CAArJ;AAAuJ;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,cAAN;AAAqB,KAAhD,EAAiDnkC,CAAC,CAAC+mD,aAAF,GAAgB,UAAS1tF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK8hC,OAAL,CAAanpD,QAAb,EAAN;AAA8B,WAAKquE,eAAL,CAAqBhnD,CAArB;AAAwB,KAAnI,EAAoI3mC,CAA3I;AAA6I,GAAhW,CAAiWytF,EAAjW,CAAP;;AAA4WU,IAAE,CAACp0E,SAAH,CAAa6zE,UAAb,GAAwB,UAAxB,EAAmCO,EAAE,CAACp0E,SAAH,CAAa2vE,YAAb,GAA0B,UAA7D,EAAwElhB,EAAE,CAACuD,iBAAH,CAAqB,iBAArB,EAAuCoiB,EAAvC,CAAxE;;AAAmH,MAAIC,EAAE,GAAC,UAASpuF,CAAT,EAAW;AAAC,aAAS2mC,CAAT,GAAY;AAAC,aAAO3mC,CAAC,CAAC0F,KAAF,CAAQ,IAAR,EAAawjB,SAAb,KAAyB,IAAhC;AAAqC;;AAAA,WAAOwjD,EAAE,CAAC/lC,CAAD,EAAG3mC,CAAH,CAAF,EAAQ2mC,CAAC,CAAC5sB,SAAF,CAAY8pD,QAAZ,GAAqB,YAAU;AAAC,aAAO7jE,CAAC,CAAC+Z,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC,mCAAX;AAA+CQ,iBAAS,EAAC;AAAzD,OAArC,EAA2H;AAAC,uBAAc,CAAC;AAAhB,OAA3H,CAAP;AAAsJ,KAA9L,EAA+LkU,CAAtM;AAAwM,GAAtQ,CAAuQ6hC,EAAvQ,CAAP;;AAAkRA,IAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmCqiB,EAAnC;;AAAuC,MAAIC,EAAE,GAAC,UAAS/zD,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BtkC,EAA3B,CAA8BrC,CAA9B,EAAgC,gBAAhC,EAAiDe,CAAC,CAAC2sF,aAAnD,GAAkE3sF,CAAxE;AAA0E;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,oBAAN;AAA2B,KAAtD,EAAuDnkC,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,UAAI7jE,CAAC,GAACs6B,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,CAAN;AAAsC,aAAO3F,CAAC,CAACsT,YAAF,CAAesuD,CAAC,CAAC,MAAD,EAAQ,EAAR,EAAW;AAAC,uBAAc,CAAC;AAAhB,OAAX,EAA8B,GAA9B,CAAhB,EAAmD,KAAKuI,UAAxD,GAAoEnqE,CAA3E;AAA6E,KAAhM,EAAiM2mC,CAAC,CAAC+mD,aAAF,GAAgB,UAAS1tF,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAM,kBAAU,OAAO,KAAK8hC,OAAL,CAAanpD,QAAb,EAAjB,KAA2CqnB,CAAC,GAAC,KAAK8hC,OAAL,CAAaulB,KAAb,KAAqB,CAArB,GAAuB,KAAKvlB,OAAL,CAAa6lB,oBAAb,GAAkC,KAAK7lB,OAAL,CAAa6lB,oBAAb,EAAlC,GAAsE,KAAK7lB,OAAL,CAAa8lB,aAAb,EAA/F,EAA4H,KAAKZ,eAAL,CAAqBhnD,CAArB,CAAvK;AAAgM,KAAna,EAAoa3mC,CAA3a;AAA6a,GAAnjB,CAAojBytF,EAApjB,CAAP;;AAA+jBY,IAAE,CAACt0E,SAAH,CAAa6zE,UAAb,GAAwB,gBAAxB,EAAyCS,EAAE,CAACt0E,SAAH,CAAa2vE,YAAb,GAA0B,gBAAnE,EAAoFlhB,EAAE,CAACuD,iBAAH,CAAqB,sBAArB,EAA4CsiB,EAA5C,CAApF;;AAAoI,MAAIG,EAAE,GAAC,UAASl0D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2B8nD,aAA3B,IAA2C1tF,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACyL,MAAF,EAAL,EAAgB,gBAAhB,EAAiCzL,CAAC,CAAC0tF,aAAnC,CAA3C,EAA6F1tF,CAAnG;AAAqG;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,UAAI7jE,CAAC,GAACs6B,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC;AAAX,OAArC,CAAN;AAAuF,aAAO,KAAKk4C,UAAL,GAAgBvI,CAAC,CAAC,KAAD,EAAO;AAAC3vC,iBAAS,EAAC,kBAAX;AAA8BQ,iBAAS,EAAC,oCAAkC,KAAKs3C,QAAL,CAAc,aAAd,CAAlC,GAA+D,UAA/D,GAA0E,KAAKA,QAAL,CAAc,MAAd;AAAlH,OAAP,EAAgJ;AAAC,qBAAY;AAAb,OAAhJ,CAAjB,EAAsL/pE,CAAC,CAACkoB,WAAF,CAAc,KAAKiiD,UAAnB,CAAtL,EAAqNnqE,CAA5N;AAA8N,KAA3U,EAA4U2mC,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAK04D,UAAL,GAAgB,IAAhB,EAAqB7vC,CAAC,CAACvgB,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAArB;AAAoD,KAArZ,EAAsZghC,CAAC,CAAC8nD,aAAF,GAAgB,UAASzuF,CAAT,EAAW;AAAC,WAAKwM,MAAL,GAAc8S,QAAd,OAA2B,IAAE,CAA7B,GAA+B,KAAKskB,IAAL,EAA/B,GAA2C,KAAKE,IAAL,EAA3C;AAAuD,KAAze,EAA0e9jC,CAAjf;AAAmf,GAAppB,CAAqpBwoE,EAArpB,CAAP;;AAAgqBA,IAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmCyiB,EAAnC;;AAAuC,MAAIE,EAAE,GAAC,UAASp0D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BgoD,oBAA3B,IAAkD5tF,CAAC,CAAC0nE,OAAF,CAAUmmB,WAAV,IAAuB7tF,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAAC0nE,OAAF,CAAUmmB,WAAf,EAA2B,gBAA3B,EAA4C7tF,CAAC,CAAC4tF,oBAA9C,CAAzE,EAA6I5tF,CAAnJ;AAAqJ;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,UAAI7jE,CAAC,GAACs6B,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,QAA/B,EAAwC;AAACssB,iBAAS,EAAC;AAAX,OAAxC,CAAN;AAAkG,aAAO,KAAK48D,OAAL,GAAajtB,CAAC,CAAC,MAAD,EAAQ;AAAC3vC,iBAAS,EAAC,uBAAX;AAAmCQ,iBAAS,EAAC,KAAKs3C,QAAL,CAAc,MAAd;AAA7C,OAAR,EAA4E;AAAC,uBAAc;AAAf,OAA5E,CAAd,EAAkH/pE,CAAC,CAACkoB,WAAF,CAAc,KAAK2mE,OAAnB,CAAlH,EAA8I7uF,CAArJ;AAAuJ,KAA/Q,EAAgR2mC,CAAC,CAACgoD,oBAAF,GAAuB,YAAU;AAAC,OAAC,KAAKlmB,OAAL,CAAammB,WAAd,IAA2B,KAAKnmB,OAAL,CAAammB,WAAb,CAAyBE,UAAzB,EAA3B,IAAkE,KAAK7sE,YAAL,CAAkB,eAAlB,EAAkC,CAAC,CAAnC,GAAsC,KAAKjd,QAAL,CAAc,kBAAd,CAAtC,EAAwE,KAAK+uE,WAAL,CAAiB,sCAAjB,CAA1I,KAAqM,KAAK9xD,YAAL,CAAkB,eAAlB,EAAkC,CAAC,CAAnC,GAAsC,KAAKxgB,WAAL,CAAiB,kBAAjB,CAAtC,EAA2E,KAAKsyE,WAAL,CAAiB,qCAAjB,CAAhR;AAAyU,KAA3nB,EAA4nBptC,CAAC,CAACkjD,WAAF,GAAc,YAAU;AAAC,WAAKphB,OAAL,CAAammB,WAAb,CAAyBG,cAAzB;AAA0C,KAA/rB,EAAgsBpoD,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAKg3D,OAAL,CAAammB,WAAb,IAA0B,KAAKxsF,GAAL,CAAS,KAAKqmE,OAAL,CAAammB,WAAtB,EAAkC,gBAAlC,EAAmD,KAAKD,oBAAxD,CAA1B,EAAwG,KAAKE,OAAL,GAAa,IAArH,EAA0Hv0D,CAAC,CAACvgB,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAA1H;AAAyJ,KAA92B,EAA+2B3F,CAAt3B;AAAw3B,GAAzkC,CAA0kC4sF,EAA1kC,CAAP;;AAAqlC8B,IAAE,CAAC30E,SAAH,CAAa2vE,YAAb,GAA0B,sCAA1B,EAAiElhB,EAAE,CAACuD,iBAAH,CAAqB,YAArB,EAAkC2iB,EAAlC,CAAjE;;AAAuG,WAASM,EAAT,CAAYhvF,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,WAAOf,CAAC,GAACynD,MAAM,CAACznD,CAAD,CAAR,EAAY2gB,IAAI,CAACE,GAAL,CAAS9f,CAAT,EAAW4f,IAAI,CAACC,GAAL,CAAS+lB,CAAT,EAAW//B,KAAK,CAAC5G,CAAD,CAAL,GAAS2mC,CAAT,GAAW3mC,CAAtB,CAAX,CAAnB;AAAwD;;AAAA,MAAIivF,EAAE,GAAC,UAAS30D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BuoD,GAA3B,GAA+BnuF,CAAC,CAACspE,QAAF,CAAWtpE,CAAC,CAAC6nE,QAAF,CAAWumB,OAAtB,CAA/B,EAA8DpuF,CAAC,CAACqhB,QAAF,CAAW,CAAC,CAACrhB,CAAC,CAAC6nE,QAAF,CAAWxmD,QAAxB,CAA9D,EAAgGrhB,CAAC,CAACsgE,MAAF,EAAhG,EAA2GtgE,CAAjH;AAAmH;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAAC2uC,OAAF,GAAU,YAAU;AAAC,aAAO,KAAKsU,QAAZ;AAAqB,KAA1C,EAA2CjjD,CAAC,CAAC06B,MAAF,GAAS,YAAU;AAAC,WAAKiU,OAAL,OAAiB,KAAKjzE,EAAL,CAAQ,WAAR,EAAoB,KAAK0qF,eAAzB,GAA0C,KAAK1qF,EAAL,CAAQ,YAAR,EAAqB,KAAK0qF,eAA1B,CAA1C,EAAqF,KAAK1qF,EAAL,CAAQ,SAAR,EAAkB,KAAKmpE,aAAvB,CAArF,EAA2H,KAAKnpE,EAAL,CAAQ,OAAR,EAAgB,KAAKwnF,WAArB,CAA3H,EAA6J,KAAKxnF,EAAL,CAAQ,KAAKomE,OAAb,EAAqB,iBAArB,EAAuC,KAAKyhB,MAA5C,CAA7J,EAAiN,KAAKkF,WAAL,IAAkB,KAAK/sF,EAAL,CAAQ,KAAKomE,OAAb,EAAqB,KAAK2mB,WAA1B,EAAsC,KAAKlF,MAA3C,CAAnO,EAAsR,KAAKzoF,WAAL,CAAiB,UAAjB,CAAtR,EAAmT,KAAKwgB,YAAL,CAAkB,UAAlB,EAA6B,CAA7B,CAAnT,EAAmV,KAAK2nE,QAAL,GAAc,CAAC,CAAnX;AAAsX,KAArb,EAAsbjjD,CAAC,CAAC9J,OAAF,GAAU,YAAU;AAAC,UAAG,KAAKy4C,OAAL,EAAH,EAAkB;AAAC,YAAIt1E,CAAC,GAAC,KAAKkvF,GAAL,CAASnmB,GAAT,CAAal5C,aAAnB;AAAiC,aAAKztB,GAAL,CAAS,WAAT,EAAqB,KAAK2qF,eAA1B,GAA2C,KAAK3qF,GAAL,CAAS,YAAT,EAAsB,KAAK2qF,eAA3B,CAA3C,EAAuF,KAAK3qF,GAAL,CAAS,SAAT,EAAmB,KAAKopE,aAAxB,CAAvF,EAA8H,KAAKppE,GAAL,CAAS,OAAT,EAAiB,KAAKynF,WAAtB,CAA9H,EAAiK,KAAKznF,GAAL,CAAS,KAAKqmE,OAAd,EAAsB,iBAAtB,EAAwC,KAAKyhB,MAA7C,CAAjK,EAAsN,KAAK9nF,GAAL,CAASpC,CAAT,EAAW,WAAX,EAAuB,KAAKqvF,eAA5B,CAAtN,EAAmQ,KAAKjtF,GAAL,CAASpC,CAAT,EAAW,SAAX,EAAqB,KAAKsvF,aAA1B,CAAnQ,EAA4S,KAAKltF,GAAL,CAASpC,CAAT,EAAW,WAAX,EAAuB,KAAKqvF,eAA5B,CAA5S,EAAyV,KAAKjtF,GAAL,CAASpC,CAAT,EAAW,UAAX,EAAsB,KAAKsvF,aAA3B,CAAzV,EAAmY,KAAKj/D,eAAL,CAAqB,UAArB,CAAnY,EAAoa,KAAKrrB,QAAL,CAAc,UAAd,CAApa,EAA8b,KAAKoqF,WAAL,IAAkB,KAAKhtF,GAAL,CAAS,KAAKqmE,OAAd,EAAsB,KAAK2mB,WAA3B,EAAuC,KAAKlF,MAA5C,CAAhd,EAAogB,KAAKN,QAAL,GAAc,CAAC,CAAnhB;AAAqhB;AAAC,KAArhC,EAAshCjjD,CAAC,CAACk9B,QAAF,GAAW,UAAS7jE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,aAAO,KAAK,CAAL,KAAS4lC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,KAAK,CAAL,KAAS5lC,CAAT,KAAaA,CAAC,GAAC,EAAf,CAAnB,EAAsC4lC,CAAC,CAAC1U,SAAF,GAAY0U,CAAC,CAAC1U,SAAF,GAAY,aAA9D,EAA4E0U,CAAC,GAACpX,CAAC,CAAC;AAAC4G,gBAAQ,EAAC;AAAV,OAAD,EAAcwQ,CAAd,CAA/E,EAAgG5lC,CAAC,GAACwuB,CAAC,CAAC;AAACwjD,YAAI,EAAC,QAAN;AAAe,yBAAgB,CAA/B;AAAiC,yBAAgB,CAAjD;AAAmD,yBAAgB,GAAnE;AAAuE58C,gBAAQ,EAAC;AAAhF,OAAD,EAAoFp1B,CAApF,CAAnG,EAA0Lu5B,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B3F,CAA/B,EAAiC2mC,CAAjC,EAAmC5lC,CAAnC,CAAjM;AAAuO,KAAxxC,EAAyxC4lC,CAAC,CAAComD,eAAF,GAAkB,UAAS/sF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKuoD,GAAL,CAASnmB,GAAT,CAAal5C,aAAnB;AAAiC,sBAAc7vB,CAAC,CAACuQ,IAAhB,IAAsBvQ,CAAC,CAACiN,cAAF,EAAtB,EAAyC,iBAAejN,CAAC,CAACuQ,IAAjB,IAAuB88D,EAAvB,IAA2BrtE,CAAC,CAACiN,cAAF,EAApE,EAAuFw1D,CAAC,EAAxF,EAA2F,KAAKz9D,QAAL,CAAc,aAAd,CAA3F,EAAwH,KAAKO,OAAL,CAAa,cAAb,CAAxH,EAAqJ,KAAKlD,EAAL,CAAQskC,CAAR,EAAU,WAAV,EAAsB,KAAK0oD,eAA3B,CAArJ,EAAiM,KAAKhtF,EAAL,CAAQskC,CAAR,EAAU,SAAV,EAAoB,KAAK2oD,aAAzB,CAAjM,EAAyO,KAAKjtF,EAAL,CAAQskC,CAAR,EAAU,WAAV,EAAsB,KAAK0oD,eAA3B,CAAzO,EAAqR,KAAKhtF,EAAL,CAAQskC,CAAR,EAAU,UAAV,EAAqB,KAAK2oD,aAA1B,CAArR,EAA8T,KAAKD,eAAL,CAAqBrvF,CAArB,CAA9T;AAAsV,KAA9qD,EAA+qD2mC,CAAC,CAAC0oD,eAAF,GAAkB,UAASrvF,CAAT,EAAW,CAAE,CAA9sD,EAA+sD2mC,CAAC,CAAC2oD,aAAF,GAAgB,YAAU;AAAC,UAAItvF,CAAC,GAAC,KAAKkvF,GAAL,CAASnmB,GAAT,CAAal5C,aAAnB;AAAiC8yC,OAAC,IAAG,KAAKlhE,WAAL,CAAiB,aAAjB,CAAH,EAAmC,KAAK8D,OAAL,CAAa,gBAAb,CAAnC,EAAkE,KAAKnD,GAAL,CAASpC,CAAT,EAAW,WAAX,EAAuB,KAAKqvF,eAA5B,CAAlE,EAA+G,KAAKjtF,GAAL,CAASpC,CAAT,EAAW,SAAX,EAAqB,KAAKsvF,aAA1B,CAA/G,EAAwJ,KAAKltF,GAAL,CAASpC,CAAT,EAAW,WAAX,EAAuB,KAAKqvF,eAA5B,CAAxJ,EAAqM,KAAKjtF,GAAL,CAASpC,CAAT,EAAW,UAAX,EAAsB,KAAKsvF,aAA3B,CAArM,EAA+O,KAAKpF,MAAL,EAAhP;AAA8P,KAAzgE,EAA0gEvjD,CAAC,CAACujD,MAAF,GAAS,YAAU;AAAC,UAAIvjD,CAAC,GAAC,IAAN;;AAAW,UAAG,KAAKoiC,GAAL,IAAU,KAAKmmB,GAAlB,EAAsB;AAAC,YAAInuF,CAAC,GAAC,KAAKwuF,WAAL,EAAN;AAAyB,eAAOxuF,CAAC,KAAG,KAAKyuF,SAAT,KAAqB,KAAKA,SAAL,GAAezuF,CAAf,EAAiB,KAAK8yC,qBAAL,CAA2B,YAAU;AAAC,cAAI7zC,CAAC,GAAC2mC,CAAC,CAACvkB,QAAF,KAAa,QAAb,GAAsB,OAA5B;AAAoCukB,WAAC,CAACuoD,GAAF,CAAM3qE,EAAN,GAAWpH,KAAX,CAAiBnd,CAAjB,IAAoB,CAAC,MAAIe,CAAL,EAAQsI,OAAR,CAAgB,CAAhB,IAAmB,GAAvC;AAA2C,SAArH,CAAtC,GAA8JtI,CAArK;AAAuK;AAAC,KAAjwE,EAAkwE4lC,CAAC,CAAC4oD,WAAF,GAAc,YAAU;AAAC,aAAO9nC,MAAM,CAACunC,EAAE,CAAC,KAAKS,UAAL,EAAD,EAAmB,CAAnB,EAAqB,CAArB,CAAF,CAA0BpmF,OAA1B,CAAkC,CAAlC,CAAD,CAAb;AAAoD,KAA/0E,EAAg1Es9B,CAAC,CAAC+oD,iBAAF,GAAoB,UAAS1vF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAACq8B,CAAC,CAAC,KAAK+F,GAAN,EAAU/oE,CAAV,CAAP;AAAoB,aAAO,KAAKoiB,QAAL,KAAgBukB,CAAC,CAACrkB,CAAlB,GAAoBqkB,CAAC,CAACtkB,CAA7B;AAA+B,KAAn6E,EAAo6EskB,CAAC,CAAC6kC,aAAF,GAAgB,UAASxrE,CAAT,EAAW;AAAC6wE,QAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,MAAhB,KAAyB6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,MAAhB,CAAzB,IAAkDA,CAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuC,KAAKsnD,QAAL,EAAzF,IAA0G9e,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,OAAhB,KAA0B6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,IAAhB,CAA1B,IAAiDA,CAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuC,KAAKunD,WAAL,EAAxF,IAA4Gt1D,CAAC,CAACvgB,SAAF,CAAYyxD,aAAZ,CAA0B7lE,IAA1B,CAA+B,IAA/B,EAAoC3F,CAApC,CAAtN;AAA6P,KAA7rF,EAA8rF2mC,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAACA,OAAC,CAACqoC,eAAF,IAAoBroC,CAAC,CAACiN,cAAF,EAApB;AAAuC,KAA/vF,EAAgwF05B,CAAC,CAACvkB,QAAF,GAAW,UAASpiB,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAK6vF,SAAL,IAAgB,CAAC,CAAxB;AAA0B,WAAKA,SAAL,GAAe,CAAC,CAAC7vF,CAAjB,EAAmB,KAAK6vF,SAAL,GAAe,KAAK7qF,QAAL,CAAc,qBAAd,CAAf,GAAoD,KAAKA,QAAL,CAAc,uBAAd,CAAvE;AAA8G,KAA76F,EAA86FhF,CAAr7F;AAAu7F,GAAtmG,CAAumGwoE,EAAvmG,CAAP;;AAAknGA,IAAE,CAACuD,iBAAH,CAAqB,QAArB,EAA8BkjB,EAA9B;;AAAkC,WAASa,EAAT,CAAY9vF,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAOqoD,EAAE,CAAChvF,CAAC,GAAC2mC,CAAF,GAAI,GAAL,EAAS,CAAT,EAAW,GAAX,CAAF,CAAkBt9B,OAAlB,CAA0B,CAA1B,IAA6B,GAApC;AAAwC;;AAAA,MAAI0mF,EAAE,GAAC,UAASjvB,CAAT,EAAW;AAAC,aAAS9gE,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAAC+/D,CAAC,CAACn7D,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BqpD,QAA3B,GAAoC,EAApC,EAAuCjvF,CAAC,CAACsB,EAAF,CAAKrC,CAAL,EAAO,UAAP,EAAkBe,CAAC,CAACmpF,MAApB,CAAvC,EAAmEnpF,CAAzE;AAA2E;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAG8gE,CAAH,CAAF;AAAQ,QAAIn6B,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,UAAI7jE,CAAC,GAAC8gE,CAAC,CAAC/mD,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC;AAAX,OAArC,CAAN;AAAA,UAA4E0U,CAAC,GAACi7B,CAAC,CAAC,MAAD,EAAQ;AAAC3vC,iBAAS,EAAC;AAAX,OAAR,CAA/E;AAAA,UAAuHlxB,CAAC,GAAC6gE,CAAC,CAAC,MAAD,EAAQ;AAAC7tC,mBAAW,EAAC,KAAKg2C,QAAL,CAAc,QAAd;AAAb,OAAR,CAA1H;AAAA,UAAyKzvC,CAAC,GAACmmC,CAAC,CAACz6B,cAAF,CAAiB,IAAjB,CAA3K;AAAkM,aAAO,KAAKiqD,aAAL,GAAmBruB,CAAC,CAAC,MAAD,EAAQ;AAAC3vC,iBAAS,EAAC,oCAAX;AAAgD8B,mBAAW,EAAC;AAA5D,OAAR,CAApB,EAA+F/zB,CAAC,CAACkoB,WAAF,CAAcye,CAAd,CAA/F,EAAgHA,CAAC,CAACze,WAAF,CAAcnnB,CAAd,CAAhH,EAAiI4lC,CAAC,CAACze,WAAF,CAAcoS,CAAd,CAAjI,EAAkJqM,CAAC,CAACze,WAAF,CAAc,KAAK+nE,aAAnB,CAAlJ,EAAoLjwF,CAA3L;AAA6L,KAArZ,EAAsZ2mC,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAKu+E,QAAL,GAAc,IAAd,EAAmB,KAAKC,aAAL,GAAmB,IAAtC,EAA2CnvB,CAAC,CAAC/mD,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAA3C;AAA0E,KAArf,EAAsfghC,CAAC,CAACujD,MAAF,GAAS,UAASlqF,CAAT,EAAW;AAAC,UAAIygE,CAAC,GAAC,IAAN;AAAW,WAAK5sB,qBAAL,CAA2B,YAAU;AAAC,YAAI7zC,CAAC,GAACygE,CAAC,CAACgI,OAAF,CAAUmmB,WAAhB;AAAA,YAA4BjoD,CAAC,GAAC85B,CAAC,CAACgI,OAAF,CAAU2b,QAAV,EAA9B;AAAA,YAAmDrjF,CAAC,GAACf,CAAC,IAAEA,CAAC,CAACkwF,MAAF,EAAH,GAAclwF,CAAC,CAACmwF,WAAF,EAAd,GAA8B1vB,CAAC,CAACgI,OAAF,CAAUnpD,QAAV,EAAnF;AAAA,YAAwGgb,CAAC,GAACmmC,CAAC,CAACgI,OAAF,CAAU2nB,WAAV,EAA1G;AAAA,YAAkItvB,CAAC,GAACL,CAAC,CAACuvB,QAAtI;AAAA,YAA+ItrE,CAAC,GAACorE,EAAE,CAACx1D,CAAD,EAAGv5B,CAAH,CAAnJ;AAAyJ0/D,SAAC,CAAC4vB,QAAF,KAAa3rE,CAAb,KAAiB+7C,CAAC,CAACsI,GAAF,CAAM5rD,KAAN,CAAYnM,KAAZ,GAAkB0T,CAAlB,EAAoBo9C,CAAC,CAACrB,CAAC,CAACwvB,aAAH,EAAiBvrE,CAAjB,CAArB,EAAyC+7C,CAAC,CAAC4vB,QAAF,GAAW3rE,CAArE;;AAAwE,aAAI,IAAItJ,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACurB,CAAC,CAACzjC,MAAhB,EAAuBkY,CAAC,EAAxB,EAA2B;AAAC,cAAIulD,CAAC,GAACh6B,CAAC,CAACnlB,KAAF,CAAQpG,CAAR,CAAN;AAAA,cAAiBwlD,CAAC,GAACj6B,CAAC,CAACjd,GAAF,CAAMtO,CAAN,CAAnB;AAAA,cAA4BggB,CAAC,GAAC0lC,CAAC,CAAC1lD,CAAD,CAA/B;AAAmCggB,WAAC,KAAGA,CAAC,GAACqlC,CAAC,CAACsI,GAAF,CAAM7gD,WAAN,CAAkB05C,CAAC,EAAnB,CAAF,EAAyBd,CAAC,CAAC1lD,CAAD,CAAD,GAAKggB,CAAjC,CAAD,EAAqCA,CAAC,CAACk1D,OAAF,CAAU9uE,KAAV,KAAkBm/C,CAAlB,IAAqBvlC,CAAC,CAACk1D,OAAF,CAAU5mE,GAAV,KAAgBk3C,CAArC,KAAyCxlC,CAAC,CAACk1D,OAAF,CAAU9uE,KAAV,GAAgBm/C,CAAhB,EAAkBvlC,CAAC,CAACk1D,OAAF,CAAU5mE,GAAV,GAAck3C,CAAhC,EAAkCxlC,CAAC,CAACje,KAAF,CAAQgD,IAAR,GAAa2vE,EAAE,CAACnvB,CAAD,EAAGrmC,CAAH,CAAjD,EAAuDc,CAAC,CAACje,KAAF,CAAQnM,KAAR,GAAc8+E,EAAE,CAAClvB,CAAC,GAACD,CAAH,EAAKrmC,CAAL,CAAhH,CAArC;AAA8J;;AAAA,aAAI,IAAIknC,CAAC,GAACV,CAAC,CAAC59D,MAAZ,EAAmBs+D,CAAC,GAAC76B,CAAC,CAACzjC,MAAvB,EAA8Bs+D,CAAC,EAA/B;AAAkCf,WAAC,CAACsI,GAAF,CAAM5gD,WAAN,CAAkB24C,CAAC,CAACU,CAAC,GAAC,CAAH,CAAnB;AAAlC;;AAA4DV,SAAC,CAAC59D,MAAF,GAASyjC,CAAC,CAACzjC,MAAX;AAAkB,OAAljB;AAAojB,KAA1kC,EAA2kClD,CAAllC;AAAolC,GAA3tC,CAA4tCwoE,EAA5tC,CAAP;;AAAuuCA,IAAE,CAACuD,iBAAH,CAAqB,iBAArB,EAAuCgkB,EAAvC;;AAA2C,MAAIQ,EAAE,GAAC,UAASj2D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BujD,MAA3B,GAAkCzjB,EAAE,CAACD,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACmpF,MAAT,CAAH,EAAoB,EAApB,CAApC,EAA4DnpF,CAAlE;AAAoE;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,aAAOvpC,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC;AAAX,OAArC,EAAoE;AAAC,uBAAc;AAAf,OAApE,CAAP;AAAmG,KAAzH,EAA0H0U,CAAC,CAACujD,MAAF,GAAS,UAASlqF,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAACsoC,CAAC,CAAC,KAAKmG,GAAN,CAAP;AAAA,UAAkBjI,CAAC,GAAC8B,CAAC,CAAC,KAAK6F,OAAL,CAAalkD,EAAb,EAAD,CAArB;AAAA,UAAyCG,CAAC,GAAC1kB,CAAC,CAACgR,KAAF,GAAQ21B,CAAnD;;AAAqD,UAAGm6B,CAAC,IAAExmC,CAAN,EAAQ;AAAC,YAAIlf,CAAC,GAACpb,CAAC,CAACmgB,IAAF,GAAO2gD,CAAC,CAAC3gD,IAAT,GAAcuE,CAApB;AAAA,YAAsBi8C,CAAC,GAAC3gE,CAAC,CAACgR,KAAF,GAAQ0T,CAAR,IAAWo8C,CAAC,CAACx9C,KAAF,GAAQtjB,CAAC,CAACsjB,KAArB,CAAxB;AAAA,YAAoDs9C,CAAC,GAACtmC,CAAC,CAACtpB,KAAF,GAAQ,CAA9D;AAAgEoK,SAAC,GAACwlD,CAAF,GAAIA,CAAC,IAAEA,CAAC,GAACxlD,CAAT,GAAWulD,CAAC,GAACC,CAAF,KAAMA,CAAC,GAACD,CAAR,CAAX,EAAsBC,CAAC,GAAC,CAAF,GAAIA,CAAC,GAAC,CAAN,GAAQA,CAAC,GAACtmC,CAAC,CAACtpB,KAAJ,KAAY4vD,CAAC,GAACtmC,CAAC,CAACtpB,KAAhB,CAA9B,EAAqD,KAAK+3D,GAAL,CAAS5rD,KAAT,CAAemG,KAAf,GAAqB,MAAIs9C,CAAJ,GAAM,IAAhF,EAAqF,KAAK4vB,KAAL,CAAWzvF,CAAX,CAArF;AAAmG;AAAC,KAArX,EAAsX4lC,CAAC,CAAC6pD,KAAF,GAAQ,UAASxwF,CAAT,EAAW;AAAC8hE,OAAC,CAAC,KAAKiH,GAAN,EAAU/oE,CAAV,CAAD;AAAc,KAAxZ,EAAyZ2mC,CAAC,CAAC8pD,UAAF,GAAa,UAAS3vB,CAAT,EAAWp8C,CAAX,EAAatJ,CAAb,EAAeulD,CAAf,EAAiB;AAAC,UAAIC,CAAC,GAAC,IAAN;AAAW,WAAK8vB,MAAL,IAAa,KAAK5rC,oBAAL,CAA0B,KAAK4rC,MAA/B,CAAb,EAAoD,KAAKA,MAAL,GAAY,KAAK78C,qBAAL,CAA2B,YAAU;AAAC,YAAI7zC,CAAJ;AAAA,YAAM2mC,CAAC,GAACi6B,CAAC,CAAC6H,OAAF,CAAUnpD,QAAV,EAAR;;AAA6B,YAAGshD,CAAC,CAAC6H,OAAF,CAAUmmB,WAAV,IAAuBhuB,CAAC,CAAC6H,OAAF,CAAUmmB,WAAV,CAAsBsB,MAAtB,EAA1B,EAAyD;AAAC,cAAInvF,CAAC,GAAC6/D,CAAC,CAAC6H,OAAF,CAAUmmB,WAAV,CAAsB+B,UAAtB,EAAN;AAAA,cAAyCr2D,CAAC,GAACv5B,CAAC,GAAC2jB,CAAC,GAAC3jB,CAA/C;AAAiDf,WAAC,GAAC,CAACs6B,CAAC,GAAC,CAAF,GAAI,EAAJ,GAAO,GAAR,IAAakzD,EAAE,CAAClzD,CAAD,EAAGv5B,CAAH,CAAjB;AAAuB,SAAlI,MAAuIf,CAAC,GAACwtF,EAAE,CAACpyE,CAAD,EAAGurB,CAAH,CAAJ;;AAAUi6B,SAAC,CAACspB,MAAF,CAASppB,CAAT,EAAWp8C,CAAX,EAAa1kB,CAAb,GAAgB2gE,CAAC,IAAEA,CAAC,EAApB;AAAuB,OAA3O,CAAhE;AAA6S,KAAhvB,EAAivB3gE,CAAxvB;AAA0vB,GAA13B,CAA23BwoE,EAA33B,CAAP;;AAAs4BA,IAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmCwkB,EAAnC;;AAAuC,MAAIK,EAAE,GAAC,UAASt2D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BujD,MAA3B,GAAkCzjB,EAAE,CAACD,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACmpF,MAAT,CAAH,EAAoB,EAApB,CAApC,EAA4DnpF,CAAlE;AAAoE;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,aAAOvpC,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC;AAAX,OAArC,EAAoF;AAAC,uBAAc;AAAf,OAApF,CAAP;AAAmH,KAAzI,EAA0I0U,CAAC,CAACujD,MAAF,GAAS,UAASlqF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAKspE,QAAL,CAAc,aAAd,CAAN;;AAAmC,UAAGtpE,CAAH,EAAK;AAAC,YAAIu5B,CAAC,GAAC,KAAKmuC,OAAL,CAAawlB,SAAb,KAAyB,KAAKxlB,OAAL,CAAaylB,QAAb,GAAwBr+E,WAAjD,GAA6D,KAAK44D,OAAL,CAAa54D,WAAb,EAAnE;AAA8F9O,SAAC,CAAC0vF,UAAF,CAAazwF,CAAb,EAAe2mC,CAAf,EAAiBrM,CAAjB;AAAoB;AAAC,KAA7T,EAA8Tt6B,CAArU;AAAuU,GAAvc,CAAwcwoE,EAAxc,CAAP;;AAAmdooB,IAAE,CAAC72E,SAAH,CAAa6uD,QAAb,GAAsB;AAAC3rD,YAAQ,EAAC;AAAV,GAAtB,EAAoC8wD,EAAE,IAAEf,EAAJ,IAAQ4jB,EAAE,CAAC72E,SAAH,CAAa6uD,QAAb,CAAsB3rD,QAAtB,CAA+B1Z,IAA/B,CAAoC,aAApC,CAA5C,EAA+FilE,EAAE,CAACuD,iBAAH,CAAqB,iBAArB,EAAuC6kB,EAAvC,CAA/F;;AAA0I,MAAIC,EAAE,GAAC,UAASv2D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BujD,MAA3B,GAAkCzjB,EAAE,CAACD,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACmpF,MAAT,CAAH,EAAoB,EAApB,CAApC,EAA4DnpF,CAAlE;AAAoE;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,aAAOvpC,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC;AAAX,OAArC,CAAP;AAA6E,KAAnG,EAAoG0U,CAAC,CAACujD,MAAF,GAAS,UAASlqF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAN;AAAA,UAAWu5B,CAAC,GAACqM,CAAC,GAAC,KAAK8hC,OAAL,CAAanpD,QAAb,EAAf;AAAuC,WAAK+qD,QAAL,CAAc,aAAd,EAA6BomB,UAA7B,CAAwCzwF,CAAxC,EAA0C2mC,CAA1C,EAA4CrM,CAA5C,EAA8C,YAAU;AAACv5B,SAAC,CAACgoE,GAAF,CAAM5rD,KAAN,CAAYgD,IAAZ,GAAiBngB,CAAC,CAACgR,KAAF,GAAQ21B,CAAR,GAAU,IAA3B;AAAgC,OAAzF;AAA2F,KAA7P,EAA8P3mC,CAArQ;AAAuQ,GAAvY,CAAwYwoE,EAAxY,CAAP;;AAAmZqoB,IAAE,CAAC92E,SAAH,CAAa6uD,QAAb,GAAsB;AAAC3rD,YAAQ,EAAC,CAAC,aAAD;AAAV,GAAtB,EAAiDurD,EAAE,CAACuD,iBAAH,CAAqB,kBAArB,EAAwC8kB,EAAxC,CAAjD;;AAA6F,MAAIC,EAAE,GAAC,UAASpsE,CAAT,EAAW;AAAC,aAAS1kB,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAAC2jB,CAAC,CAAC/e,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BoqD,iBAA3B,IAA+ChwF,CAArD;AAAuD;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAG0kB,CAAH,CAAF;AAAQ,QAAIiiB,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACoqD,iBAAF,GAAoB,YAAU;AAAC,WAAKC,OAAL,GAAaxqB,EAAE,CAAC,IAAD,EAAM,KAAK0jB,MAAX,CAAf,EAAkC,KAAKA,MAAL,GAAYzjB,EAAE,CAAC,KAAKuqB,OAAN,EAAc,EAAd,CAAhD,EAAkE,KAAK3uF,EAAL,CAAQ,KAAKomE,OAAb,EAAqB,CAAC,OAAD,EAAS,gBAAT,EAA0B,YAA1B,CAArB,EAA6D,KAAKyhB,MAAlE,CAAlE,EAA4I,KAAKzhB,OAAL,CAAammB,WAAb,IAA0B,KAAKvsF,EAAL,CAAQ,KAAKomE,OAAL,CAAammB,WAArB,EAAiC,gBAAjC,EAAkD,KAAK1E,MAAvD,CAAtK,EAAqO,KAAK+G,cAAL,GAAoB,IAAzP,EAA8P,KAAK5uF,EAAL,CAAQ,KAAKomE,OAAb,EAAqB,CAAC,SAAD,CAArB,EAAiC,KAAKyoB,eAAtC,CAA9P,EAAqT,KAAK7uF,EAAL,CAAQ,KAAKomE,OAAb,EAAqB,CAAC,OAAD,EAAS,OAAT,EAAiB,SAAjB,CAArB,EAAiD,KAAK0oB,gBAAtD,CAArT,EAA6X,YAAW1wB,CAAX,IAAc,qBAAoBA,CAAlC,IAAqC,KAAKp+D,EAAL,CAAQo+D,CAAR,EAAU,kBAAV,EAA6B,KAAK2wB,iBAAlC,CAAla;AAAud,KAAtf,EAAufzqD,CAAC,CAACyqD,iBAAF,GAAoB,UAASpxF,CAAT,EAAW;AAACygE,OAAC,CAAC36C,MAAF,GAAS,KAAKqrE,gBAAL,CAAsBnxF,CAAtB,CAAT,IAAmC,KAAKkxF,eAAL,IAAuB,KAAKhH,MAAL,EAA1D;AAAyE,KAAhmB,EAAimBvjD,CAAC,CAACuqD,eAAF,GAAkB,YAAU;AAAC,WAAKD,cAAL,KAAsB,KAAKA,cAAL,GAAoB,KAAK5xB,WAAL,CAAiB,KAAK6qB,MAAtB,EAA6B,EAA7B,CAA1C;AAA4E,KAA1sB,EAA2sBvjD,CAAC,CAACwqD,gBAAF,GAAmB,UAASnxF,CAAT,EAAW;AAAC,WAAKyoE,OAAL,CAAammB,WAAb,IAA0B,KAAKnmB,OAAL,CAAammB,WAAb,CAAyBsB,MAAzB,EAA1B,IAA6DlwF,CAA7D,IAAgE,YAAUA,CAAC,CAACuQ,IAA5E,IAAkF,KAAK0gF,cAAL,KAAsB,KAAKr3B,aAAL,CAAmB,KAAKq3B,cAAxB,GAAwC,KAAKA,cAAL,GAAoB,IAAlF,CAAlF;AAA0K,KAAp5B,EAAq5BtqD,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,aAAOn/C,CAAC,CAAC3K,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC;AAAX,OAArC,EAAuE;AAAC,sBAAa,KAAK83C,QAAL,CAAc,cAAd;AAAd,OAAvE,CAAP;AAA4H,KAAviC,EAAwiCpjC,CAAC,CAACujD,MAAF,GAAS,UAASlqF,CAAT,EAAW;AAAC,UAAIs6B,CAAC,GAAC,IAAN;AAAA,UAAWwmC,CAAC,GAACp8C,CAAC,CAAC3K,SAAF,CAAYmwE,MAAZ,CAAmBvkF,IAAnB,CAAwB,IAAxB,CAAb;AAA2C,aAAO,KAAKkuC,qBAAL,CAA2B,YAAU;AAAC,YAAI7zC,CAAC,GAACs6B,CAAC,CAACmuC,OAAF,CAAUulB,KAAV,KAAkB1zD,CAAC,CAACmuC,OAAF,CAAUnpD,QAAV,EAAlB,GAAuCgb,CAAC,CAAC+2D,eAAF,EAA7C;AAAA,YAAiE1qD,CAAC,GAACrM,CAAC,CAACmuC,OAAF,CAAUmmB,WAA7E;AAAA,YAAyF7tF,CAAC,GAACu5B,CAAC,CAACmuC,OAAF,CAAUnpD,QAAV,EAA3F;AAAgHqnB,SAAC,IAAEA,CAAC,CAACupD,MAAF,EAAH,KAAgBnvF,CAAC,GAACu5B,CAAC,CAACmuC,OAAF,CAAUmmB,WAAV,CAAsB0C,eAAtB,EAAlB,GAA2Dh3D,CAAC,CAAC+1D,QAAF,KAAavvB,CAAb,KAAiBxmC,CAAC,CAACyuC,GAAF,CAAM9mD,YAAN,CAAmB,eAAnB,EAAmC,CAAC,MAAI6+C,CAAL,EAAQz3D,OAAR,CAAgB,CAAhB,CAAnC,GAAuDixB,CAAC,CAAC+1D,QAAF,GAAWvvB,CAAnF,CAA3D,EAAiJxmC,CAAC,CAACi3D,YAAF,KAAiBvxF,CAAjB,IAAoBs6B,CAAC,CAAC6pD,SAAF,KAAcpjF,CAAlC,KAAsCu5B,CAAC,CAACyuC,GAAF,CAAM9mD,YAAN,CAAmB,gBAAnB,EAAoCqY,CAAC,CAACyvC,QAAF,CAAW,mDAAX,EAA+D,CAACyjB,EAAE,CAACxtF,CAAD,EAAGe,CAAH,CAAH,EAASysF,EAAE,CAACzsF,CAAD,EAAGA,CAAH,CAAX,CAA/D,EAAiF,YAAjF,CAApC,GAAoIu5B,CAAC,CAACi3D,YAAF,GAAevxF,CAAnJ,EAAqJs6B,CAAC,CAAC6pD,SAAF,GAAYpjF,CAAvM,CAAjJ,EAA2Vu5B,CAAC,CAAC40D,GAAF,IAAO50D,CAAC,CAAC40D,GAAF,CAAMhF,MAAN,CAAatnB,CAAC,CAACtoC,CAAC,CAAC/V,EAAF,EAAD,CAAd,EAAuB+V,CAAC,CAACi1D,WAAF,EAAvB,CAAlW;AAA0Y,OAAhiB,GAAkiBzuB,CAAziB;AAA2iB,KAAnpD,EAAopDn6B,CAAC,CAAC0qD,eAAF,GAAkB,YAAU;AAAC,aAAO,KAAK5oB,OAAL,CAAawlB,SAAb,KAAyB,KAAKxlB,OAAL,CAAaylB,QAAb,GAAwBr+E,WAAjD,GAA6D,KAAK44D,OAAL,CAAa54D,WAAb,EAApE;AAA+F,KAAhxD,EAAixD82B,CAAC,CAAC8oD,UAAF,GAAa,YAAU;AAAC,UAAIzvF,CAAJ;AAAA,UAAM2mC,CAAC,GAAC,KAAK0qD,eAAL,EAAR;AAAA,UAA+BtwF,CAAC,GAAC,KAAK0nE,OAAL,CAAammB,WAA9C;AAA0D,aAAO7tF,CAAC,IAAEA,CAAC,CAACmvF,MAAF,EAAH,IAAelwF,CAAC,GAAC,CAAC2mC,CAAC,GAAC5lC,CAAC,CAACywF,aAAF,EAAH,IAAsBzwF,CAAC,CAAC4vF,UAAF,EAAxB,EAAuC5vF,CAAC,CAAC+tF,UAAF,OAAiB9uF,CAAC,GAAC,CAAnB,CAAtD,IAA6EA,CAAC,GAAC2mC,CAAC,GAAC,KAAK8hC,OAAL,CAAanpD,QAAb,EAAjF,EAAyGtf,CAAhH;AAAkH,KAAr9D,EAAs9D2mC,CAAC,CAAComD,eAAF,GAAkB,UAAS/sF,CAAT,EAAW;AAACojE,OAAC,CAACpjE,CAAD,CAAD,KAAOA,CAAC,CAACqoC,eAAF,IAAoB,KAAKogC,OAAL,CAAawlB,SAAb,CAAuB,CAAC,CAAxB,CAApB,EAA+C,KAAKwD,eAAL,GAAqB,CAAC,KAAKhpB,OAAL,CAAax4D,MAAb,EAArE,EAA2F,KAAKw4D,OAAL,CAAa/7D,KAAb,EAA3F,EAAgHgY,CAAC,CAAC3K,SAAF,CAAYgzE,eAAZ,CAA4BpnF,IAA5B,CAAiC,IAAjC,EAAsC3F,CAAtC,CAAvH;AAAiK,KAArpE,EAAspE2mC,CAAC,CAAC0oD,eAAF,GAAkB,UAASrvF,CAAT,EAAW;AAAC,UAAGojE,CAAC,CAACpjE,CAAD,CAAJ,EAAQ;AAAC,YAAI2mC,CAAJ;AAAA,YAAM5lC,CAAC,GAAC,KAAK2uF,iBAAL,CAAuB1vF,CAAvB,CAAR;AAAA,YAAkCs6B,CAAC,GAAC,KAAKmuC,OAAL,CAAammB,WAAjD;;AAA6D,YAAGt0D,CAAC,IAAEA,CAAC,CAAC41D,MAAF,EAAN,EAAiB;AAAC,cAAG,OAAKnvF,CAAR,EAAU,OAAO,KAAKu5B,CAAC,CAACy0D,cAAF,EAAZ;AAA+B,cAAIjuB,CAAC,GAACxmC,CAAC,CAACk3D,aAAF,EAAN;AAAA,cAAwB9sE,CAAC,GAAC4V,CAAC,CAACg3D,eAAF,EAA1B;AAA8C,cAAG5sE,CAAC,KAAGiiB,CAAC,GAACm6B,CAAC,GAAC//D,CAAC,GAACu5B,CAAC,CAACq2D,UAAF,EAAT,CAAD,KAA4BhqD,CAAC,GAACjiB,CAA9B,GAAiCiiB,CAAC,IAAEm6B,CAAH,KAAOn6B,CAAC,GAACm6B,CAAC,GAAC,EAAX,CAAjC,EAAgDn6B,CAAC,KAAG,IAAE,CAAzD,EAA2D;AAAO,SAA3K,MAA+K,CAACA,CAAC,GAAC5lC,CAAC,GAAC,KAAK0nE,OAAL,CAAanpD,QAAb,EAAL,MAAgC,KAAKmpD,OAAL,CAAanpD,QAAb,EAAhC,KAA0DqnB,CAAC,IAAE,EAA7D;;AAAiE,aAAK8hC,OAAL,CAAa54D,WAAb,CAAyB82B,CAAzB;AAA4B;AAAC,KAAvgF,EAAwgFA,CAAC,CAAC06B,MAAF,GAAS,YAAU;AAAC38C,OAAC,CAAC3K,SAAF,CAAYsnD,MAAZ,CAAmB17D,IAAnB,CAAwB,IAAxB;AAA8B,UAAI3F,CAAC,GAAC,KAAKqqE,QAAL,CAAc,kBAAd,CAAN;AAAwCrqE,OAAC,IAAEA,CAAC,CAAC4jC,IAAF,EAAH;AAAY,KAA9mF,EAA+mF+C,CAAC,CAAC9J,OAAF,GAAU,YAAU;AAACnY,OAAC,CAAC3K,SAAF,CAAY8iB,OAAZ,CAAoBl3B,IAApB,CAAyB,IAAzB;AAA+B,UAAI3F,CAAC,GAAC,KAAKqqE,QAAL,CAAc,kBAAd,CAAN;AAAwCrqE,OAAC,IAAEA,CAAC,CAAC8jC,IAAF,EAAH;AAAY,KAAvtF,EAAwtF6C,CAAC,CAAC2oD,aAAF,GAAgB,UAAStvF,CAAT,EAAW;AAAC0kB,OAAC,CAAC3K,SAAF,CAAYu1E,aAAZ,CAA0B3pF,IAA1B,CAA+B,IAA/B,EAAoC3F,CAApC,GAAuCA,CAAC,IAAEA,CAAC,CAACqoC,eAAF,EAA1C,EAA8D,KAAKogC,OAAL,CAAawlB,SAAb,CAAuB,CAAC,CAAxB,CAA9D,EAAyF,KAAKxlB,OAAL,CAAaljE,OAAb,CAAqB;AAACgL,YAAI,EAAC,YAAN;AAAmBjG,cAAM,EAAC,IAA1B;AAA+Bo6E,yBAAiB,EAAC,CAAC;AAAlD,OAArB,CAAzF,EAAoK,KAAK+M,eAAL,GAAqBthB,EAAE,CAAC,KAAK1H,OAAL,CAAa77D,IAAb,EAAD,CAAvB,GAA6C,KAAKokF,OAAL,EAAjN;AAAgO,KAAp9F,EAAq9FrqD,CAAC,CAACipD,WAAF,GAAc,YAAU;AAAC,WAAKnnB,OAAL,CAAa54D,WAAb,CAAyB,KAAK44D,OAAL,CAAa54D,WAAb,KAA2B,CAApD;AAAuD,KAAriG,EAAsiG82B,CAAC,CAACgpD,QAAF,GAAW,YAAU;AAAC,WAAKlnB,OAAL,CAAa54D,WAAb,CAAyB,KAAK44D,OAAL,CAAa54D,WAAb,KAA2B,CAApD;AAAuD,KAAnnG,EAAonG82B,CAAC,CAAC+qD,YAAF,GAAe,UAAS1xF,CAAT,EAAW;AAAC,WAAKyoE,OAAL,CAAax4D,MAAb,KAAsB,KAAKw4D,OAAL,CAAa77D,IAAb,EAAtB,GAA0C,KAAK67D,OAAL,CAAa/7D,KAAb,EAA1C;AAA+D,KAA9sG,EAA+sGi6B,CAAC,CAAC6kC,aAAF,GAAgB,UAASxrE,CAAT,EAAW;AAAC,UAAG6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,OAAhB,KAA0B6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,OAAhB,CAA7B,EAAsDA,CAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuC,KAAKqpD,YAAL,CAAkB1xF,CAAlB,CAAvC,CAAtD,KAAuH,IAAG6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,MAAhB,CAAH,EAA2BA,CAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuC,KAAKogC,OAAL,CAAa54D,WAAb,CAAyB,CAAzB,CAAvC,CAA3B,KAAmG,IAAGghE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,CAAH,EAA0BA,CAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuC,KAAKogC,OAAL,CAAa54D,WAAb,CAAyB,KAAK44D,OAAL,CAAanpD,QAAb,EAAzB,CAAvC,CAA1B,KAAwH,IAAG,UAAU3J,IAAV,CAAek7D,EAAE,CAAC7wE,CAAD,CAAjB,CAAH,EAAyB;AAACA,SAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB;AAAuC,YAAI1B,CAAC,GAAC,MAAIkqC,EAAE,CAACE,KAAH,CAASF,EAAE,CAAC7wE,CAAD,CAAX,IAAgB6wE,EAAE,CAACE,KAAH,CAAS,CAAT,CAApB,IAAiC,GAAvC;AAA2C,aAAKtI,OAAL,CAAa54D,WAAb,CAAyB,KAAK44D,OAAL,CAAanpD,QAAb,KAAwBqnB,CAAjD;AAAoD,OAAhK,MAAqKkqC,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,MAAhB,KAAyBA,CAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuC,KAAKogC,OAAL,CAAa54D,WAAb,CAAyB,KAAK44D,OAAL,CAAa54D,WAAb,KAA2B,EAApD,CAAhE,IAAyHghE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,MAAhB,KAAyBA,CAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuC,KAAKogC,OAAL,CAAa54D,WAAb,CAAyB,KAAK44D,OAAL,CAAa54D,WAAb,KAA2B,EAApD,CAAhE,IAAyH6U,CAAC,CAAC3K,SAAF,CAAYyxD,aAAZ,CAA0B7lE,IAA1B,CAA+B,IAA/B,EAAoC3F,CAApC,CAAlP;AAAyR,KAA3/H,EAA4/H2mC,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAK0/E,gBAAL,IAAwB,KAAK/uF,GAAL,CAAS,KAAKqmE,OAAd,EAAsB,CAAC,OAAD,EAAS,gBAAT,EAA0B,YAA1B,CAAtB,EAA8D,KAAKyhB,MAAnE,CAAxB,EAAmG,KAAKzhB,OAAL,CAAammB,WAAb,IAA0B,KAAKvsF,EAAL,CAAQ,KAAKomE,OAAL,CAAammB,WAArB,EAAiC,gBAAjC,EAAkD,KAAK1E,MAAvD,CAA7H,EAA4L,KAAK9nF,GAAL,CAAS,KAAKqmE,OAAd,EAAsB,CAAC,SAAD,CAAtB,EAAkC,KAAKyoB,eAAvC,CAA5L,EAAoP,KAAK9uF,GAAL,CAAS,KAAKqmE,OAAd,EAAsB,CAAC,OAAD,EAAS,OAAT,EAAiB,SAAjB,CAAtB,EAAkD,KAAK0oB,gBAAvD,CAApP,EAA6T,YAAW1wB,CAAX,IAAc,qBAAoBA,CAAlC,IAAqC,KAAKr+D,GAAL,CAASq+D,CAAT,EAAW,kBAAX,EAA8B,KAAK2wB,iBAAnC,CAAlW,EAAwZ1sE,CAAC,CAAC3K,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAAxZ;AAAub,KAAx8I,EAAy8I3F,CAAh9I;AAAk9I,GAArkJ,CAAskJivF,EAAtkJ,CAAP;;AAAilJ6B,IAAE,CAAC/2E,SAAH,CAAa6uD,QAAb,GAAsB;AAAC3rD,YAAQ,EAAC,CAAC,iBAAD,EAAmB,iBAAnB,CAAV;AAAgDkyE,WAAO,EAAC;AAAxD,GAAtB,EAAiGphB,EAAE,IAAEf,EAAJ,IAAQ8jB,EAAE,CAAC/2E,SAAH,CAAa6uD,QAAb,CAAsB3rD,QAAtB,CAA+BzC,MAA/B,CAAsC,CAAtC,EAAwC,CAAxC,EAA0C,kBAA1C,CAAzG,EAAuKguD,EAAE,CAACuD,iBAAH,CAAqB,SAArB,EAA+B+kB,EAA/B,CAAvK;;AAA0M,MAAIa,EAAE,GAAC,UAASr3D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2B0oD,eAA3B,GAA2C5oB,EAAE,CAACD,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACsuF,eAAT,CAAH,EAA6B,EAA7B,CAA7C,EAA8EtuF,CAAC,CAAC6wF,wBAAF,GAA2BnrB,EAAE,CAACD,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAAC8wF,eAAT,CAAH,EAA6B,EAA7B,CAA3G,EAA4I9wF,CAAC,CAACsgE,MAAF,EAA5I,EAAuJtgE,CAA7J;AAA+J;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,aAAOvpC,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC;AAAX,OAArC,CAAP;AAA4F,KAAlH,EAAmH0U,CAAC,CAAC0oD,eAAF,GAAkB,UAASrvF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK0jC,QAAL,CAAc,SAAd,CAAN;;AAA+B,UAAG1jC,CAAH,EAAK;AAAC,YAAI5lC,CAAC,GAAC4lC,CAAC,CAAC0jC,QAAF,CAAW,iBAAX,CAAN;AAAA,YAAoC/vC,CAAC,GAACqM,CAAC,CAAC0jC,QAAF,CAAW,kBAAX,CAAtC;;AAAqE,YAAGtpE,CAAC,IAAEu5B,CAAN,EAAQ;AAAC,cAAIwmC,CAAC,GAACn6B,CAAC,CAACpiB,EAAF,EAAN;AAAA,cAAaG,CAAC,GAACk+C,CAAC,CAAC9B,CAAD,CAAhB;AAAA,cAAoB1lD,CAAC,GAAC4nD,CAAC,CAAClC,CAAD,EAAG9gE,CAAH,CAAD,CAAOqiB,CAA7B;AAA+BjH,WAAC,GAAC4zE,EAAE,CAAC,CAAD,EAAG,CAAH,EAAK5zE,CAAL,CAAJ,EAAYkf,CAAC,IAAEA,CAAC,CAAC4vD,MAAF,CAASxlE,CAAT,EAAWtJ,CAAX,CAAf,EAA6Bra,CAAC,IAAEA,CAAC,CAACmpF,MAAF,CAASxlE,CAAT,EAAWiiB,CAAC,CAAC4oD,WAAF,EAAX,CAAhC;AAA4D;AAAC;AAAC,KAAjW,EAAkW5oD,CAAC,CAACkrD,eAAF,GAAkB,UAAS7xF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK0jC,QAAL,CAAc,SAAd,CAAN;AAA+B1jC,OAAC,IAAEA,CAAC,CAAC0oD,eAAF,CAAkBrvF,CAAlB,CAAH;AAAwB,KAAvb,EAAwb2mC,CAAC,CAAC2uC,OAAF,GAAU,YAAU;AAAC,aAAO,KAAKsU,QAAZ;AAAqB,KAAle,EAAmejjD,CAAC,CAAC9J,OAAF,GAAU,YAAU;AAAC,WAAK5f,QAAL,GAAgBlU,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAAC,eAAOA,CAAC,CAAC68B,OAAF,IAAW78B,CAAC,CAAC68B,OAAF,EAAlB;AAA8B,OAAlE,GAAoE,KAAKy4C,OAAL,OAAiB,KAAKlzE,GAAL,CAAS,CAAC,WAAD,EAAa,YAAb,CAAT,EAAoC,KAAK2qF,eAAzC,GAA0D,KAAK3qF,GAAL,CAAS,KAAK2mE,GAAd,EAAkB,WAAlB,EAA8B,KAAKsmB,eAAnC,CAA1D,EAA8G,KAAKC,aAAL,EAA9G,EAAmI,KAAKtqF,QAAL,CAAc,UAAd,CAAnI,EAA6J,KAAK4kF,QAAL,GAAc,CAAC,CAA7L,CAApE;AAAoQ,KAA5vB,EAA6vBjjD,CAAC,CAAC06B,MAAF,GAAS,YAAU;AAAC,WAAKpkD,QAAL,GAAgBlU,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACqhE,MAAF,IAAUrhE,CAAC,CAACqhE,MAAF,EAAjB;AAA4B,OAAhE,GAAkE,KAAKiU,OAAL,OAAiB,KAAKjzE,EAAL,CAAQ,CAAC,WAAD,EAAa,YAAb,CAAR,EAAmC,KAAK0qF,eAAxC,GAAyD,KAAK1qF,EAAL,CAAQ,KAAK0mE,GAAb,EAAiB,WAAjB,EAA6B,KAAKsmB,eAAlC,CAAzD,EAA4G,KAAK5tF,WAAL,CAAiB,UAAjB,CAA5G,EAAyI,KAAKmoF,QAAL,GAAc,CAAC,CAAzK,CAAlE;AAA8O,KAA//B,EAAggCjjD,CAAC,CAAComD,eAAF,GAAkB,UAAS/sF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKoiC,GAAL,CAASl5C,aAAf;AAAA,UAA6B9uB,CAAC,GAAC,KAAKspE,QAAL,CAAc,SAAd,CAA/B;AAAwDtpE,OAAC,IAAEA,CAAC,CAACgsF,eAAF,CAAkB/sF,CAAlB,CAAH,EAAwB,KAAKqC,EAAL,CAAQskC,CAAR,EAAU,WAAV,EAAsB,KAAKirD,wBAA3B,CAAxB,EAA6E,KAAKvvF,EAAL,CAAQskC,CAAR,EAAU,WAAV,EAAsB,KAAKirD,wBAA3B,CAA7E,EAAkI,KAAKvvF,EAAL,CAAQskC,CAAR,EAAU,SAAV,EAAoB,KAAK2oD,aAAzB,CAAlI,EAA0K,KAAKjtF,EAAL,CAAQskC,CAAR,EAAU,UAAV,EAAqB,KAAK2oD,aAA1B,CAA1K;AAAmN,KAAzyC,EAA0yC3oD,CAAC,CAAC2oD,aAAF,GAAgB,UAAStvF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKoiC,GAAL,CAASl5C,aAAf;AAAA,UAA6B9uB,CAAC,GAAC,KAAKspE,QAAL,CAAc,SAAd,CAA/B;AAAwDtpE,OAAC,IAAEA,CAAC,CAACuuF,aAAF,CAAgBtvF,CAAhB,CAAH,EAAsB,KAAKoC,GAAL,CAASukC,CAAT,EAAW,WAAX,EAAuB,KAAKirD,wBAA5B,CAAtB,EAA4E,KAAKxvF,GAAL,CAASukC,CAAT,EAAW,WAAX,EAAuB,KAAKirD,wBAA5B,CAA5E,EAAkI,KAAKxvF,GAAL,CAASukC,CAAT,EAAW,SAAX,EAAqB,KAAK2oD,aAA1B,CAAlI,EAA2K,KAAKltF,GAAL,CAASukC,CAAT,EAAW,UAAX,EAAsB,KAAK2oD,aAA3B,CAA3K;AAAqN,KAAnlD,EAAolDtvF,CAA3lD;AAA6lD,GAAxzD,CAAyzDwoE,EAAzzD,CAAP;;AAAo0DmpB,IAAE,CAAC53E,SAAH,CAAa6uD,QAAb,GAAsB;AAAC3rD,YAAQ,EAAC,CAAC,SAAD;AAAV,GAAtB,EAA6CurD,EAAE,CAACuD,iBAAH,CAAqB,iBAArB,EAAuC4lB,EAAvC,CAA7C;;AAAwF,MAAIG,EAAE,GAAC,UAASx3D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BtkC,EAA3B,CAA8BrC,CAA9B,EAAgC,CAAC,uBAAD,EAAyB,uBAAzB,CAAhC,EAAkFe,CAAC,CAACgxF,4BAApF,GAAkHtxB,CAAC,CAACuxB,uBAAF,IAA2BjxF,CAAC,CAAC87B,OAAF,EAA7I,EAAyJ97B,CAA/J;AAAiK;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,oCAAkCxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAAxC;AAA6E,KAAxG,EAAyGghC,CAAC,CAACorD,4BAAF,GAA+B,UAAS/xF,CAAT,EAAW;AAAC,WAAKyoE,OAAL,CAAawpB,oBAAb,KAAoC,KAAKle,WAAL,CAAiB,yBAAjB,CAApC,GAAgF,KAAKA,WAAL,CAAiB,oBAAjB,CAAhF;AAAuH,KAA3Q,EAA4QptC,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,WAAKyoE,OAAL,CAAawpB,oBAAb,KAAoC,KAAKxpB,OAAL,CAAaypB,oBAAb,EAApC,GAAwE,KAAKzpB,OAAL,CAAa6c,uBAAb,EAAxE;AAA+G,KAArZ,EAAsZtlF,CAA7Z;AAA+Z,GAA5nB,CAA6nB4sF,EAA7nB,CAAP;;AAAwoBkF,IAAE,CAAC/3E,SAAH,CAAa2vE,YAAb,GAA0B,oBAA1B,EAA+ClhB,EAAE,CAACuD,iBAAH,CAAqB,wBAArB,EAA8C+lB,EAA9C,CAA/C;;AAAiG,MAAIK,EAAE,GAAC,UAAS73D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BtkC,EAA3B,CAA8BrC,CAA9B,EAAgC,kBAAhC,EAAmDe,CAAC,CAACqxF,sBAArD,GAA6E,CAAC,CAAD,KAAK3xB,CAAC,CAACzgE,CAAC,CAACqyF,MAAF,CAASC,iBAAV,CAAN,IAAoCvxF,CAAC,CAAC87B,OAAF,EAAjH,EAA6H97B,CAAnI;AAAqI;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,4BAA0BxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAAhC;AAAqE,KAAhG,EAAiGghC,CAAC,CAACyrD,sBAAF,GAAyB,UAASpyF,CAAT,EAAW;AAAC,WAAKyoE,OAAL,CAAa8pB,YAAb,KAA4B,KAAKxe,WAAL,CAAiB,gBAAjB,CAA5B,GAA+D,KAAKA,WAAL,CAAiB,YAAjB,CAA/D;AAA8F,KAApO,EAAqOptC,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,WAAKyoE,OAAL,CAAa8pB,YAAb,KAA4B,KAAK9pB,OAAL,CAAa+pB,cAAb,EAA5B,GAA0D,KAAK/pB,OAAL,CAAagqB,iBAAb,EAA1D;AAA2F,KAA1V,EAA2VzyF,CAAlW;AAAoW,GAAriB,CAAsiB4sF,EAAtiB,CAAP;;AAAijBuF,IAAE,CAACp4E,SAAH,CAAa2vE,YAAb,GAA0B,YAA1B,EAAuClhB,EAAE,CAACuD,iBAAH,CAAqB,kBAArB,EAAwComB,EAAxC,CAAvC;;AAAmF,MAAIO,EAAE,GAAC,UAAS1yF,CAAT,EAAW;AAAC,aAAS2mC,CAAT,GAAY;AAAC,aAAO3mC,CAAC,CAAC0F,KAAF,CAAQ,IAAR,EAAawjB,SAAb,KAAyB,IAAhC;AAAqC;;AAAA,WAAOwjD,EAAE,CAAC/lC,CAAD,EAAG3mC,CAAH,CAAF,EAAQ2mC,CAAC,CAAC5sB,SAAF,CAAY8pD,QAAZ,GAAqB,YAAU;AAAC,aAAO7jE,CAAC,CAAC+Z,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC,kBAAX;AAA8BQ,iBAAS,EAAC;AAAxC,OAArC,CAAP;AAA+H,KAAvK,EAAwKkU,CAA/K;AAAiL,GAA/O,CAAgP6hC,EAAhP,CAAP;;AAA2PA,IAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmC2mB,EAAnC;;AAAuC,MAAIC,EAAE,GAAC,UAASr4D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BtkC,EAA3B,CAA8B,cAA9B,EAA6CtB,CAAC,CAAC6xF,iBAA/C,GAAkE7xF,CAAC,CAACsB,EAAF,CAAKrC,CAAL,EAAO,cAAP,EAAsBe,CAAC,CAAC8xF,oBAAxB,CAAlE,EAAgH7yF,CAAC,CAACyV,KAAF,CAAQ,YAAU;AAAC,eAAO1U,CAAC,CAAC8xF,oBAAF,EAAP;AAAgC,OAAnD,CAAhH,EAAqK9xF,CAA3K;AAA6K;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,aAAOvpC,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC;AAAX,OAArC,EAAiF;AAAC,sBAAa,KAAK83C,QAAL,CAAc,cAAd,CAAd;AAA4C,qBAAY;AAAxD,OAAjF,CAAP;AAA2J,KAAjL,EAAkLpjC,CAAC,CAAComD,eAAF,GAAkB,UAAS/sF,CAAT,EAAW;AAACojE,OAAC,CAACpjE,CAAD,CAAD,IAAMs6B,CAAC,CAACvgB,SAAF,CAAYgzE,eAAZ,CAA4BpnF,IAA5B,CAAiC,IAAjC,EAAsC3F,CAAtC,CAAN;AAA+C,KAA/P,EAAgQ2mC,CAAC,CAAC0oD,eAAF,GAAkB,UAASrvF,CAAT,EAAW;AAACojE,OAAC,CAACpjE,CAAD,CAAD,KAAO,KAAK8yF,UAAL,IAAkB,KAAKrqB,OAAL,CAAah4D,MAAb,CAAoB,KAAKi/E,iBAAL,CAAuB1vF,CAAvB,CAApB,CAAzB;AAAyE,KAAvW,EAAwW2mC,CAAC,CAACmsD,UAAF,GAAa,YAAU;AAAC,WAAKrqB,OAAL,CAAat6D,KAAb,MAAsB,KAAKs6D,OAAL,CAAat6D,KAAb,CAAmB,CAAC,CAApB,CAAtB;AAA6C,KAA7a,EAA8aw4B,CAAC,CAAC8oD,UAAF,GAAa,YAAU;AAAC,aAAO,KAAKhnB,OAAL,CAAat6D,KAAb,KAAqB,CAArB,GAAuB,KAAKs6D,OAAL,CAAah4D,MAAb,EAA9B;AAAoD,KAA1f,EAA2fk2B,CAAC,CAACipD,WAAF,GAAc,YAAU;AAAC,WAAKkD,UAAL,IAAkB,KAAKrqB,OAAL,CAAah4D,MAAb,CAAoB,KAAKg4D,OAAL,CAAah4D,MAAb,KAAsB,EAA1C,CAAlB;AAAgE,KAAplB,EAAqlBk2B,CAAC,CAACgpD,QAAF,GAAW,YAAU;AAAC,WAAKmD,UAAL,IAAkB,KAAKrqB,OAAL,CAAah4D,MAAb,CAAoB,KAAKg4D,OAAL,CAAah4D,MAAb,KAAsB,EAA1C,CAAlB;AAAgE,KAA3qB,EAA4qBk2B,CAAC,CAACksD,oBAAF,GAAuB,UAAS7yF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK8hC,OAAL,CAAat6D,KAAb,KAAqB,CAArB,GAAuB,KAAK4kF,mBAAL,EAA7B;AAAwD,WAAKhqB,GAAL,CAAS9mD,YAAT,CAAsB,eAAtB,EAAsC0kB,CAAtC,GAAyC,KAAKoiC,GAAL,CAAS9mD,YAAT,CAAsB,gBAAtB,EAAuC0kB,CAAC,GAAC,GAAzC,CAAzC;AAAuF,KAA91B,EAA+1BA,CAAC,CAACosD,mBAAF,GAAsB,YAAU;AAAC,aAAOpyE,IAAI,CAACguB,KAAL,CAAW,MAAI,KAAK85B,OAAL,CAAah4D,MAAb,EAAf,CAAP;AAA6C,KAA76B,EAA86Bk2B,CAAC,CAACisD,iBAAF,GAAoB,YAAU;AAAC,UAAI5yF,CAAC,GAAC,IAAN;AAAA,UAAW2mC,CAAC,GAAC,KAAK8hC,OAAL,CAAah4D,MAAb,EAAb;AAAmC,WAAK8Q,GAAL,CAAS,gBAAT,EAA0B,YAAU;AAAC,cAAIvhB,CAAC,CAACyoE,OAAF,CAAUh4D,MAAV,EAAJ,IAAwBzQ,CAAC,CAACyoE,OAAF,CAAUuqB,WAAV,CAAsBrsD,CAAtB,CAAxB;AAAiD,OAAtF;AAAwF,KAAxkC,EAAykC3mC,CAAhlC;AAAklC,GAA3zC,CAA4zCivF,EAA5zC,CAAP;;AAAu0C0D,IAAE,CAAC54E,SAAH,CAAa6uD,QAAb,GAAsB;AAAC3rD,YAAQ,EAAC,CAAC,aAAD,CAAV;AAA0BkyE,WAAO,EAAC;AAAlC,GAAtB,EAAuEwD,EAAE,CAAC54E,SAAH,CAAaq1E,WAAb,GAAyB,cAAhG,EAA+G5mB,EAAE,CAACuD,iBAAH,CAAqB,WAArB,EAAiC4mB,EAAjC,CAA/G;;AAAoJ,MAAIM,EAAE,GAAC,UAAS34D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAO,KAAK,CAAL,KAAS4lC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmBA,CAAC,CAACvkB,QAAF,GAAWukB,CAAC,CAACvkB,QAAF,IAAY,CAAC,CAA3C,EAA6C,eAAa,OAAOukB,CAAC,CAACusD,SAAtB,IAAiC,CAACtyB,CAAC,CAACj6B,CAAC,CAACusD,SAAH,CAAnC,KAAmDvsD,CAAC,CAACusD,SAAF,GAAYvsD,CAAC,CAACusD,SAAF,IAAa,EAAzB,EAA4BvsD,CAAC,CAACusD,SAAF,CAAY9wE,QAAZ,GAAqBukB,CAAC,CAACvkB,QAAtG,CAA7C,EAA6JrhB,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAAjL,EAAsL,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa;AAACA,SAAC,CAAC4zC,KAAF,IAAS,CAAC5zC,CAAC,CAAC4zC,KAAF,CAAQ0L,qBAAlB,IAAyCjmF,CAAC,CAACgF,QAAF,CAAW,YAAX,CAAzC,EAAkEhF,CAAC,CAACqC,EAAF,CAAKskC,CAAL,EAAO,WAAP,EAAmB,YAAU;AAACA,WAAC,CAAC4zC,KAAF,CAAQ0L,qBAAR,GAA8BjmF,CAAC,CAACyB,WAAF,CAAc,YAAd,CAA9B,GAA0DzB,CAAC,CAACgF,QAAF,CAAW,YAAX,CAA1D;AAAmF,SAAjH,CAAlE;AAAqL,OAAnM,CAAoMmnE,EAAE,CAACprE,CAAD,CAAtM,EAA0Mf,CAA1M,CAAtL,EAAmYe,CAAC,CAACoyF,wBAAF,GAA2B1sB,EAAE,CAACD,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACsuF,eAAT,CAAH,EAA6B,EAA7B,CAAha,EAAictuF,CAAC,CAACsB,EAAF,CAAK,WAAL,EAAiBtB,CAAC,CAACgsF,eAAnB,CAAjc,EAAqehsF,CAAC,CAACsB,EAAF,CAAK,YAAL,EAAkBtB,CAAC,CAACgsF,eAApB,CAAre,EAA0gBhsF,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACmyF,SAAP,EAAiB,CAAC,OAAD,EAAS,cAAT,CAAjB,EAA0C,YAAU;AAACnyF,SAAC,CAACmyF,SAAF,CAAYluF,QAAZ,CAAqB,mBAArB,GAA0CjE,CAAC,CAACiE,QAAF,CAAW,mBAAX,CAA1C,EAA0EjE,CAAC,CAACwE,OAAF,CAAU,cAAV,CAA1E;AAAoG,OAAzJ,CAA1gB,EAAqqBxE,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACmyF,SAAP,EAAiB,CAAC,MAAD,EAAQ,gBAAR,CAAjB,EAA2C,YAAU;AAACnyF,SAAC,CAACmyF,SAAF,CAAYzxF,WAAZ,CAAwB,mBAAxB,GAA6CV,CAAC,CAACU,WAAF,CAAc,mBAAd,CAA7C,EAAgFV,CAAC,CAACwE,OAAF,CAAU,gBAAV,CAAhF;AAA4G,OAAlK,CAArqB,EAAy0BxE,CAAh1B;AAAk1B;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,UAAI7jE,CAAC,GAAC,uBAAN;AAA8B,aAAO,KAAK4oE,QAAL,CAAcxmD,QAAd,KAAyBpiB,CAAC,GAAC,qBAA3B,GAAkDs6B,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC,oCAAkCjyB;AAA7C,OAArC,CAAzD;AAA+I,KAAnM,EAAoM2mC,CAAC,CAAComD,eAAF,GAAkB,UAAS/sF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKoiC,GAAL,CAASl5C,aAAf;AAA6B,WAAKxtB,EAAL,CAAQskC,CAAR,EAAU,WAAV,EAAsB,KAAKwsD,wBAA3B,GAAqD,KAAK9wF,EAAL,CAAQskC,CAAR,EAAU,WAAV,EAAsB,KAAKwsD,wBAA3B,CAArD,EAA0G,KAAK9wF,EAAL,CAAQskC,CAAR,EAAU,SAAV,EAAoB,KAAK2oD,aAAzB,CAA1G,EAAkJ,KAAKjtF,EAAL,CAAQskC,CAAR,EAAU,UAAV,EAAqB,KAAK2oD,aAA1B,CAAlJ;AAA2L,KAA1b,EAA2b3oD,CAAC,CAAC2oD,aAAF,GAAgB,UAAStvF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKoiC,GAAL,CAASl5C,aAAf;AAA6B,WAAKztB,GAAL,CAASukC,CAAT,EAAW,WAAX,EAAuB,KAAKwsD,wBAA5B,GAAsD,KAAK/wF,GAAL,CAASukC,CAAT,EAAW,WAAX,EAAuB,KAAKwsD,wBAA5B,CAAtD,EAA4G,KAAK/wF,GAAL,CAASukC,CAAT,EAAW,SAAX,EAAqB,KAAK2oD,aAA1B,CAA5G,EAAqJ,KAAKltF,GAAL,CAASukC,CAAT,EAAW,UAAX,EAAsB,KAAK2oD,aAA3B,CAArJ;AAA+L,KAAnrB,EAAorB3oD,CAAC,CAAC0oD,eAAF,GAAkB,UAASrvF,CAAT,EAAW;AAAC,WAAKkzF,SAAL,CAAe7D,eAAf,CAA+BrvF,CAA/B;AAAkC,KAApvB,EAAqvBA,CAA5vB;AAA8vB,GAA5oD,CAA6oDwoE,EAA7oD,CAAP;;AAAwpDyqB,IAAE,CAACl5E,SAAH,CAAa6uD,QAAb,GAAsB;AAAC3rD,YAAQ,EAAC,CAAC,WAAD;AAAV,GAAtB,EAA+CurD,EAAE,CAACuD,iBAAH,CAAqB,eAArB,EAAqCknB,EAArC,CAA/C;;AAAwF,MAAIG,EAAE,GAAC,UAAS94D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAOA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAApB,EAAyB,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa;AAACA,SAAC,CAAC4zC,KAAF,IAAS,CAAC5zC,CAAC,CAAC4zC,KAAF,CAAQ2L,mBAAlB,IAAuClmF,CAAC,CAACgF,QAAF,CAAW,YAAX,CAAvC,EAAgEhF,CAAC,CAACqC,EAAF,CAAKskC,CAAL,EAAO,WAAP,EAAmB,YAAU;AAACA,WAAC,CAAC4zC,KAAF,CAAQ2L,mBAAR,GAA4BlmF,CAAC,CAACyB,WAAF,CAAc,YAAd,CAA5B,GAAwDzB,CAAC,CAACgF,QAAF,CAAW,YAAX,CAAxD;AAAiF,SAA/G,CAAhE;AAAiL,OAA/L,CAAgMmnE,EAAE,CAACprE,CAAD,CAAlM,EAAsMf,CAAtM,CAAzB,EAAkOe,CAAC,CAACsB,EAAF,CAAKrC,CAAL,EAAO,CAAC,WAAD,EAAa,cAAb,CAAP,EAAoCe,CAAC,CAACmpF,MAAtC,CAAlO,EAAgRnpF,CAAvR;AAAyR;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,sBAAoBxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAA1B;AAA+D,KAA1F,EAA2FghC,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK8hC,OAAL,CAAah4D,MAAb,EAAN;AAAA,UAA4B1P,CAAC,GAAC,KAAK0nE,OAAL,CAAauqB,WAAb,EAA9B;;AAAyD,UAAG,MAAIrsD,CAAP,EAAS;AAAC,YAAIrM,CAAC,GAACv5B,CAAC,GAAC,EAAF,GAAK,EAAL,GAAQA,CAAd;AAAgB,aAAK0nE,OAAL,CAAah4D,MAAb,CAAoB6pB,CAApB,GAAuB,KAAKmuC,OAAL,CAAat6D,KAAb,CAAmB,CAAC,CAApB,CAAvB;AAA8C,OAAxE,MAA6E,KAAKs6D,OAAL,CAAat6D,KAAb,CAAmB,CAAC,KAAKs6D,OAAL,CAAat6D,KAAb,EAApB;AAA0C,KAArS,EAAsSw4B,CAAC,CAACujD,MAAF,GAAS,UAASlqF,CAAT,EAAW;AAAC,WAAKqzF,WAAL,IAAmB,KAAKC,kBAAL,EAAnB;AAA6C,KAAxW,EAAyW3sD,CAAC,CAAC0sD,WAAF,GAAc,YAAU;AAAC,UAAIrzF,CAAC,GAAC,KAAKyoE,OAAL,CAAah4D,MAAb,EAAN;AAAA,UAA4Bk2B,CAAC,GAAC,CAA9B;AAAgConC,QAAE,IAAE,KAAKtF,OAAL,CAAa8R,KAAjB,IAAwB,KAAK9R,OAAL,CAAa8R,KAAb,CAAmBxR,GAA3C,IAAgD,KAAKN,OAAL,CAAat6D,KAAb,CAAmB,KAAKs6D,OAAL,CAAa8R,KAAb,CAAmBxR,GAAnB,CAAuB56D,KAA1C,CAAhD,EAAiG,MAAInO,CAAJ,IAAO,KAAKyoE,OAAL,CAAat6D,KAAb,EAAP,GAA4Bw4B,CAAC,GAAC,CAA9B,GAAgC3mC,CAAC,GAAC,GAAF,GAAM2mC,CAAC,GAAC,CAAR,GAAU3mC,CAAC,GAAC,GAAF,KAAQ2mC,CAAC,GAAC,CAAV,CAA3I;;AAAwJ,WAAI,IAAI5lC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,CAAd,EAAgBA,CAAC,EAAjB;AAAoBshB,SAAC,CAAC,KAAK0mD,GAAN,EAAU,aAAWhoE,CAArB,CAAD;AAApB;;AAA6CmhE,OAAC,CAAC,KAAK6G,GAAN,EAAU,aAAWpiC,CAArB,CAAD;AAAyB,KAAhoB,EAAioBA,CAAC,CAAC2sD,kBAAF,GAAqB,YAAU;AAAC,UAAItzF,CAAC,GAAC,KAAKyoE,OAAL,CAAat6D,KAAb,MAAsB,MAAI,KAAKs6D,OAAL,CAAah4D,MAAb,EAA1B,GAAgD,QAAhD,GAAyD,MAA/D;AAAsE,WAAKsjE,WAAL,OAAqB/zE,CAArB,IAAwB,KAAK+zE,WAAL,CAAiB/zE,CAAjB,CAAxB;AAA4C,KAAnxB,EAAoxBA,CAA3xB;AAA6xB,GAAlnC,CAAmnC4sF,EAAnnC,CAAP;;AAA8nCwG,IAAE,CAACr5E,SAAH,CAAa2vE,YAAb,GAA0B,MAA1B,EAAiClhB,EAAE,CAACuD,iBAAH,CAAqB,YAArB,EAAkCqnB,EAAlC,CAAjC;;AAAuE,MAAIG,EAAE,GAAC,UAASj5D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAO,KAAK,CAAL,KAAS4lC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,eAAa,OAAOA,CAAC,CAAC6sD,MAAtB,GAA6B7sD,CAAC,CAAC6sD,MAAF,GAAS7sD,CAAC,CAAC6sD,MAAxC,GAA+C7sD,CAAC,CAAC6sD,MAAF,GAAS,CAAC,CAA5E,EAA8E,eAAa,OAAO7sD,CAAC,CAAC8sD,aAAtB,IAAqC,CAAC7yB,CAAC,CAACj6B,CAAC,CAAC8sD,aAAH,CAAvC,KAA2D9sD,CAAC,CAAC8sD,aAAF,GAAgB9sD,CAAC,CAAC8sD,aAAF,IAAiB,EAAjC,EAAoC9sD,CAAC,CAAC8sD,aAAF,CAAgBrxE,QAAhB,GAAyB,CAACukB,CAAC,CAAC6sD,MAA3H,CAA9E,EAAiN,CAACzyF,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BtkC,EAA3B,CAA8BrC,CAA9B,EAAgC,CAAC,WAAD,CAAhC,EAA8Ce,CAAC,CAAC2yF,iBAAhD,CAAjN,EAAoR3yF,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAAC4yF,UAAP,EAAkB,OAAlB,EAA0B5yF,CAAC,CAAC0qE,cAA5B,CAApR,EAAgU1qE,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAAC0yF,aAAP,EAAqB,OAArB,EAA6B1yF,CAAC,CAAC6yF,wBAA/B,CAAhU,EAAyX7yF,CAAC,CAACsB,EAAF,CAAK,SAAL,EAAetB,CAAC,CAAC0qE,cAAjB,CAAzX,EAA0Z1qE,CAAC,CAACsB,EAAF,CAAK,WAAL,EAAiBtB,CAAC,CAAC+oF,eAAnB,CAA1Z,EAA8b/oF,CAAC,CAACsB,EAAF,CAAK,UAAL,EAAgBtB,CAAC,CAACgpF,cAAlB,CAA9b,EAAgehpF,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAAC0yF,aAAP,EAAqB,CAAC,cAAD,CAArB,EAAsC1yF,CAAC,CAAC8yF,aAAxC,CAAhe,EAAuhB9yF,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAAC0yF,aAAP,EAAqB,CAAC,gBAAD,CAArB,EAAwC1yF,CAAC,CAAC+yF,eAA1C,CAAvhB,EAAklB/yF,CAAzlB;AAA2lB;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACktD,aAAF,GAAgB,YAAU;AAAC,WAAK7uF,QAAL,CAAc,mBAAd;AAAmC,KAA9D,EAA+D2hC,CAAC,CAACmtD,eAAF,GAAkB,YAAU;AAAC,WAAKryF,WAAL,CAAiB,mBAAjB;AAAsC,KAAlI,EAAmIklC,CAAC,CAAC+sD,iBAAF,GAAoB,YAAU;AAAC,WAAKD,aAAL,CAAmBrzF,QAAnB,CAA4B,YAA5B,KAA2C,KAAKuzF,UAAL,CAAgBvzF,QAAhB,CAAyB,YAAzB,CAA3C,IAAmF,KAAK4E,QAAL,CAAc,YAAd,CAAnF,EAA+G,KAAKyuF,aAAL,CAAmBrzF,QAAnB,CAA4B,YAA5B,KAA2C,CAAC,KAAKuzF,UAAL,CAAgBvzF,QAAhB,CAAyB,YAAzB,CAA5C,IAAoF,KAAK4E,QAAL,CAAc,sBAAd,CAAnM;AAAyO,KAA3Y,EAA4Y2hC,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,UAAI7jE,CAAC,GAAC,6BAAN;AAAoC,aAAO,KAAK4oE,QAAL,CAAc4qB,MAAd,KAAuBxzF,CAAC,GAAC,2BAAzB,GAAsDs6B,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC,kCAAgCjyB;AAA3C,OAArC,CAA7D;AAAiJ,KAAvlB,EAAwlB2mC,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAKs4E,cAAL,IAAsBzvD,CAAC,CAACvgB,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAAtB;AAAqD,KAAlqB,EAAmqBghC,CAAC,CAACitD,wBAAF,GAA2B,UAAS5zF,CAAT,EAAW;AAAC6wE,QAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,KAAwB,KAAK2zF,UAAL,CAAgBzoD,KAAhB,EAAxB;AAAgD,KAA1vB,EAA2vBvE,CAAC,CAACmjD,eAAF,GAAkB,UAAS9pF,CAAT,EAAW;AAAC,WAAKgF,QAAL,CAAc,WAAd,GAA2BmhE,EAAE,CAAC1F,CAAD,EAAG,OAAH,EAAW+F,EAAE,CAAC,IAAD,EAAM,KAAKiF,cAAX,CAAb,CAA7B;AAAsE,KAA/1B,EAAg2B9kC,CAAC,CAACojD,cAAF,GAAiB,UAAS/pF,CAAT,EAAW;AAAC,WAAKyB,WAAL,CAAiB,WAAjB,GAA8B2kE,EAAE,CAAC3F,CAAD,EAAG,OAAH,EAAW+F,EAAE,CAAC,IAAD,EAAM,KAAKiF,cAAX,CAAb,CAAhC;AAAyE,KAAt8B,EAAu8B9kC,CAAC,CAAC8kC,cAAF,GAAiB,UAASzrE,CAAT,EAAW;AAAC6wE,QAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,KAAwB,KAAK+pF,cAAL,EAAxB;AAA8C,KAAlhC,EAAmhC/pF,CAA1hC;AAA4hC,GAAnrD,CAAorDwoE,EAAprD,CAAP;;AAA+rD+qB,IAAE,CAACx5E,SAAH,CAAa6uD,QAAb,GAAsB;AAAC3rD,YAAQ,EAAC,CAAC,YAAD,EAAc,eAAd;AAAV,GAAtB,EAAgEurD,EAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmCwnB,EAAnC,CAAhE;;AAAuG,MAAIQ,EAAE,GAAC,UAASz5D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAOA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAApB,EAAyBA,CAAC,KAAG5lC,CAAC,CAACizF,WAAF,GAAcrtD,CAAC,CAACstD,UAAnB,CAA1B,EAAyDlzF,CAAC,CAACmzF,aAAF,GAAgB,CAAC,CAA1E,EAA4EnzF,CAAC,CAACsB,EAAF,CAAK,SAAL,EAAetB,CAAC,CAACyqE,aAAjB,CAA5E,EAA4GzqE,CAAC,CAACozF,gBAAF,GAAmB3tB,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACqzF,UAAT,CAAjI,EAAsJrzF,CAAC,CAACszF,oBAAF,GAAuB7tB,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACuzF,cAAT,CAA/K,EAAwMvzF,CAA/M;AAAiN;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAAC4tD,uBAAF,GAA0B,UAASv0F,CAAT,EAAW;AAACA,OAAC,YAAYwoE,EAAb,KAAkB,KAAKnmE,EAAL,CAAQrC,CAAR,EAAU,MAAV,EAAiB,KAAKm0F,gBAAtB,GAAwC,KAAK9xF,EAAL,CAAQrC,CAAR,EAAU,CAAC,KAAD,EAAO,OAAP,CAAV,EAA0B,KAAKq0F,oBAA/B,CAA1D;AAAgH,KAAtJ,EAAuJ1tD,CAAC,CAAC6tD,0BAAF,GAA6B,UAASx0F,CAAT,EAAW;AAACA,OAAC,YAAYwoE,EAAb,KAAkB,KAAKpmE,GAAL,CAASpC,CAAT,EAAW,MAAX,EAAkB,KAAKm0F,gBAAvB,GAAyC,KAAK/xF,GAAL,CAASpC,CAAT,EAAW,CAAC,KAAD,EAAO,OAAP,CAAX,EAA2B,KAAKq0F,oBAAhC,CAA3D;AAAkH,KAAlT,EAAmT1tD,CAAC,CAACxe,WAAF,GAAc,UAASnoB,CAAT,EAAW;AAAC,kBAAU,OAAOA,CAAjB,KAAqBA,CAAC,GAAC,KAAKqqE,QAAL,CAAcrqE,CAAd,CAAvB,GAAyC,KAAKw0F,0BAAL,CAAgCx0F,CAAhC,CAAzC,EAA4Es6B,CAAC,CAACvgB,SAAF,CAAYoO,WAAZ,CAAwBxiB,IAAxB,CAA6B,IAA7B,EAAkC3F,CAAlC,CAA5E;AAAiH,KAA9b,EAA+b2mC,CAAC,CAAC8tD,OAAF,GAAU,UAASz0F,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK6jC,QAAL,CAAcxqE,CAAd,CAAN;AAAuB2mC,OAAC,IAAE,KAAK4tD,uBAAL,CAA6B5tD,CAA7B,CAAH;AAAmC,KAA/gB,EAAghBA,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,UAAI7jE,CAAC,GAAC,KAAK4oE,QAAL,CAAc8rB,aAAd,IAA6B,IAAnC;AAAwC,WAAKvqB,UAAL,GAAgBvI,CAAC,CAAC5hE,CAAD,EAAG;AAACiyB,iBAAS,EAAC;AAAX,OAAH,CAAjB,EAAoD,KAAKk4C,UAAL,CAAgBloD,YAAhB,CAA6B,MAA7B,EAAoC,MAApC,CAApD;AAAgG,UAAI0kB,CAAC,GAACrM,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAAC2D,cAAM,EAAC,KAAK6gE,UAAb;AAAwBl4C,iBAAS,EAAC;AAAlC,OAArC,CAAN;AAA0F,aAAO0U,CAAC,CAACze,WAAF,CAAc,KAAKiiD,UAAnB,GAA+BhE,EAAE,CAACx/B,CAAD,EAAG,OAAH,EAAW,UAAS3mC,CAAT,EAAW;AAACA,SAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACspC,wBAAF,EAAnB;AAAgD,OAAvE,CAAjC,EAA0G3C,CAAjH;AAAmH,KAA33B,EAA43BA,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAK04D,UAAL,GAAgB,IAAhB,EAAqB,KAAKgqB,gBAAL,GAAsB,IAA3C,EAAgD,KAAKE,oBAAL,GAA0B,IAA1E,EAA+E/5D,CAAC,CAACvgB,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAA/E;AAA8G,KAA//B,EAAggCghC,CAAC,CAACytD,UAAF,GAAa,UAASp0F,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC0pC,aAAF,IAAiB+2B,CAAC,CAACzqC,aAAzB;;AAAuC,UAAG,CAAC,KAAK/Y,QAAL,GAAgB0tD,IAAhB,CAAqB,UAAS3qE,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACukB,EAAF,OAASoiB,CAAhB;AAAkB,OAAnD,CAAJ,EAAyD;AAAC,YAAI5lC,CAAC,GAAC,KAAKizF,WAAX;AAAuBjzF,SAAC,IAAEA,CAAC,CAAC4zF,cAAL,IAAqBhuD,CAAC,KAAG5lC,CAAC,CAACwjB,EAAF,GAAOyP,UAAhC,IAA4CjzB,CAAC,CAAC6zF,aAAF,EAA5C;AAA8D;AAAC,KAAhtC,EAAitCjuD,CAAC,CAAC2tD,cAAF,GAAiB,UAAS3tD,CAAT,EAAW;AAAC,UAAG,KAAKqtD,WAAR,EAAoB;AAAC,aAAKA,WAAL,CAAiBY,aAAjB;AAAiC,YAAI50F,CAAC,GAAC,KAAKid,QAAL,EAAN;AAAsB,YAAG,CAACzB,KAAK,CAACG,OAAN,CAAc3b,CAAd,CAAJ,EAAqB;AAAO,YAAIe,CAAC,GAACf,CAAC,CAACoE,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACukB,EAAF,OAASoiB,CAAC,CAACr8B,MAAlB;AAAyB,SAA9C,EAAgD,CAAhD,CAAN;AAAyD,YAAG,CAACvJ,CAAJ,EAAM;AAAO,sCAA4BA,CAAC,CAAC6oB,IAAF,EAA5B,IAAsC,KAAKoqE,WAAL,CAAiB9oD,KAAjB,EAAtC;AAA+D;AAAC,KAA59C,EAA69CvE,CAAC,CAAC6kC,aAAF,GAAgB,UAASxrE,CAAT,EAAW;AAAC6wE,QAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,MAAhB,KAAyB6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,MAAhB,CAAzB,IAAkDA,CAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuC,KAAKunD,WAAL,EAAzF,IAA6G,CAAC/e,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,OAAhB,KAA0B6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,IAAhB,CAA3B,MAAoDA,CAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuC,KAAKsnD,QAAL,EAA3F,CAA7G;AAAyN,KAAltD,EAAmtDhpD,CAAC,CAACipD,WAAF,GAAc,YAAU;AAAC,UAAI5vF,CAAC,GAAC,CAAN;AAAQ,WAAK,CAAL,KAAS,KAAKk0F,aAAd,KAA8Bl0F,CAAC,GAAC,KAAKk0F,aAAL,GAAmB,CAAnD,GAAsD,KAAKhpD,KAAL,CAAWlrC,CAAX,CAAtD;AAAoE,KAAxzD,EAAyzD2mC,CAAC,CAACgpD,QAAF,GAAW,YAAU;AAAC,UAAI3vF,CAAC,GAAC,CAAN;AAAQ,WAAK,CAAL,KAAS,KAAKk0F,aAAd,KAA8Bl0F,CAAC,GAAC,KAAKk0F,aAAL,GAAmB,CAAnD,GAAsD,KAAKhpD,KAAL,CAAWlrC,CAAX,CAAtD;AAAoE,KAA35D,EAA45D2mC,CAAC,CAACuE,KAAF,GAAQ,UAASlrC,CAAT,EAAW;AAAC,WAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,CAAf;AAAkB,UAAI2mC,CAAC,GAAC,KAAK1pB,QAAL,GAAgBtC,KAAhB,EAAN;AAA8BgsB,OAAC,CAACzjC,MAAF,IAAUyjC,CAAC,CAAC,CAAD,CAAD,CAAK1U,SAAf,IAA0B,iBAAiBtc,IAAjB,CAAsBgxB,CAAC,CAAC,CAAD,CAAD,CAAK1U,SAA3B,CAA1B,IAAiE0U,CAAC,CAACnW,KAAF,EAAjE,EAA2E,IAAEmW,CAAC,CAACzjC,MAAJ,KAAalD,CAAC,GAAC,CAAF,GAAIA,CAAC,GAAC,CAAN,GAAQA,CAAC,IAAE2mC,CAAC,CAACzjC,MAAL,KAAclD,CAAC,GAAC2mC,CAAC,CAACzjC,MAAF,GAAS,CAAzB,CAAR,EAAoCyjC,CAAC,CAAC,KAAKutD,aAAL,GAAmBl0F,CAApB,CAAD,CAAwB+oE,GAAxB,CAA4B79B,KAA5B,EAAjD,CAA3E;AAAiK,KAAjoE,EAAkoElrC,CAAzoE;AAA2oE,GAAx5E,CAAy5EwoE,EAAz5E,CAAP;;AAAo6EA,IAAE,CAACuD,iBAAH,CAAqB,MAArB,EAA4BgoB,EAA5B;;AAAgC,MAAIc,EAAE,GAAC,UAAS/zB,CAAT,EAAW;AAAC,aAAS9gE,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,WAAK,CAAL,KAAS4lC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,CAAC5lC,CAAC,GAAC+/D,CAAC,CAACn7D,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BqtD,WAA3B,GAAuC,IAAIpH,EAAJ,CAAO5sF,CAAP,EAAS2mC,CAAT,CAA1D,EAAsE5lC,CAAC,CAACizF,WAAF,CAAcjgB,WAAd,CAA0BhzE,CAAC,CAAC2oF,YAA5B,CAAtE,EAAgH3oF,CAAC,CAACizF,WAAF,CAAcjrB,GAAd,CAAkB9mD,YAAlB,CAA+B,eAA/B,EAA+C,MAA/C,CAAhH;AAAuK,UAAIqY,CAAC,GAACsyD,EAAE,CAAC7yE,SAAH,CAAa+wD,aAAb,EAAN;AAAmC,aAAO/pE,CAAC,CAACizF,WAAF,CAAcjrB,GAAd,CAAkB92C,SAAlB,GAA4BlxB,CAAC,CAAC+pE,aAAF,KAAkB,GAAlB,GAAsBxwC,CAAlD,EAAoDv5B,CAAC,CAACizF,WAAF,CAAcvyF,WAAd,CAA0B,aAA1B,CAApD,EAA6FV,CAAC,CAACypE,QAAF,CAAWzpE,CAAC,CAACizF,WAAb,CAA7F,EAAuHjzF,CAAC,CAACmpF,MAAF,EAAvH,EAAkInpF,CAAC,CAAC6oF,QAAF,GAAW,CAAC,CAA9I,EAAgJ7oF,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACizF,WAAP,EAAmB,KAAnB,EAAyBjzF,CAAC,CAAC8oF,WAA3B,CAAhJ,EAAwL9oF,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACizF,WAAP,EAAmB,OAAnB,EAA2BjzF,CAAC,CAAC8oF,WAA7B,CAAxL,EAAkO9oF,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACizF,WAAP,EAAmB,SAAnB,EAA6BjzF,CAAC,CAACyqE,aAA/B,CAAlO,EAAgRzqE,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACizF,WAAP,EAAmB,YAAnB,EAAgC,YAAU;AAACjzF,SAAC,CAACiE,QAAF,CAAW,WAAX,GAAwBjE,CAAC,CAAC+zF,IAAF,CAAOlxD,IAAP,EAAxB,EAAsCuiC,EAAE,CAAC1F,CAAD,EAAG,OAAH,EAAW+F,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACg0F,eAAT,CAAb,CAAxC;AAAgF,OAA3H,CAAhR,EAA6Yh0F,CAAC,CAACsB,EAAF,CAAK,YAAL,EAAkBtB,CAAC,CAACi0F,gBAApB,CAA7Y,EAAmbj0F,CAAC,CAACsB,EAAF,CAAK,SAAL,EAAetB,CAAC,CAACk0F,oBAAjB,CAAnb,EAA0dl0F,CAAje;AAAme;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAG8gE,CAAH,CAAF;AAAQ,QAAIn6B,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACujD,MAAF,GAAS,YAAU;AAAC,UAAIlqF,CAAC,GAAC,KAAKk1F,UAAL,EAAN;AAAwB,WAAKJ,IAAL,KAAY,KAAKA,IAAL,CAAUrjF,OAAV,IAAoB,KAAK0W,WAAL,CAAiB,KAAK2sE,IAAtB,CAAhC,GAA6D,KAAKA,IAAL,GAAU90F,CAAvE,EAAyE,KAAKwqE,QAAL,CAAcxqE,CAAd,CAAzE,EAA0F,KAAK20F,cAAL,GAAoB,CAAC,CAA/G,EAAiH,KAAKX,WAAL,CAAiBjrB,GAAjB,CAAqB9mD,YAArB,CAAkC,eAAlC,EAAkD,OAAlD,CAAjH,EAA4K,KAAKjb,KAAL,IAAY,KAAKA,KAAL,CAAW9D,MAAX,IAAmB,KAAKiyF,cAApC,GAAmD,KAAKrxD,IAAL,EAAnD,GAA+D,KAAKF,IAAL,EAA3O;AAAuP,KAAnS,EAAoS+C,CAAC,CAACuuD,UAAF,GAAa,YAAU;AAAC,UAAIl1F,CAAC,GAAC,IAAI+zF,EAAJ,CAAO,KAAKtrB,OAAZ,EAAoB;AAACwrB,kBAAU,EAAC;AAAZ,OAApB,CAAN;;AAA6C,UAAG,KAAKkB,cAAL,GAAoB,CAApB,EAAsB,KAAKvsB,QAAL,CAAc2J,KAAvC,EAA6C;AAAC,YAAI5rC,CAAC,GAACi7B,CAAC,CAAC,IAAD,EAAM;AAAC3vC,mBAAS,EAAC,gBAAX;AAA4BQ,mBAAS,EAAC61C,EAAE,CAAC,KAAKM,QAAL,CAAc2J,KAAf,CAAxC;AAA8Dp8C,kBAAQ,EAAC,CAAC;AAAxE,SAAN,CAAP;AAAyF,aAAKg/D,cAAL,IAAqB,CAArB;AAAuB,YAAIp0F,CAAC,GAAC,IAAIynE,EAAJ,CAAO,KAAKC,OAAZ,EAAoB;AAAClkD,YAAE,EAACoiB;AAAJ,SAApB,CAAN;AAAkC3mC,SAAC,CAACy0F,OAAF,CAAU1zF,CAAV;AAAa;;AAAA,UAAG,KAAKiG,KAAL,GAAW,KAAKouF,WAAL,EAAX,EAA8B,KAAKpuF,KAAtC,EAA4C,KAAI,IAAIszB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAKtzB,KAAL,CAAW9D,MAAzB,EAAgCo3B,CAAC,EAAjC;AAAoCt6B,SAAC,CAACy0F,OAAF,CAAU,KAAKztF,KAAL,CAAWszB,CAAX,CAAV;AAApC;AAA6D,aAAOt6B,CAAP;AAAS,KAAxqB,EAAyqB2mC,CAAC,CAACyuD,WAAF,GAAc,YAAU,CAAE,CAAnsB,EAAosBzuD,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,aAAO/C,CAAC,CAAC/mD,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC,KAAKojE,oBAAL;AAAX,OAArC,EAA6E,EAA7E,CAAP;AAAwF,KAAlzB,EAAmzB1uD,CAAC,CAAC0uD,oBAAF,GAAuB,YAAU;AAAC,UAAIr1F,CAAC,GAAC,iBAAN;AAAwB,aAAM,CAAC,CAAD,KAAK,KAAK4oE,QAAL,CAAc4qB,MAAnB,GAA0BxzF,CAAC,IAAE,SAA7B,GAAuCA,CAAC,IAAE,QAA1C,EAAmD,qBAAmBA,CAAnB,GAAqB,GAArB,GAAyB4sF,EAAE,CAAC7yE,SAAH,CAAa+wD,aAAb,EAAzB,GAAsD,GAAtD,GAA0DhK,CAAC,CAAC/mD,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAAnH;AAAwJ,KAArgC,EAAsgCghC,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,UAAI9qE,CAAC,GAAC,iBAAN;AAAwB,aAAM,CAAC,CAAD,KAAK,KAAK4oE,QAAL,CAAc4qB,MAAnB,GAA0BxzF,CAAC,IAAE,SAA7B,GAAuCA,CAAC,IAAE,QAA1C,EAAmD,qBAAmBA,CAAnB,GAAqB,GAArB,GAAyB8gE,CAAC,CAAC/mD,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAAlF;AAAuH,KAAhrC,EAAirCghC,CAAC,CAACotC,WAAF,GAAc,UAAS/zE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,KAAKqtD,WAAL,CAAiBzvE,EAAjB,EAAf,GAAsC,KAAKyvE,WAAL,CAAiBjgB,WAAjB,CAA6B/zE,CAA7B,EAA+B2mC,CAA/B,CAA7C;AAA+E,KAA5xC,EAA6xCA,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAKujF,gBAAL,IAAwBl0B,CAAC,CAAC/mD,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAAxB;AAAuD,KAAz2C,EAA02CghC,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,WAAK20F,cAAL,GAAoB,KAAKC,aAAL,EAApB,GAAyC,KAAKU,WAAL,EAAzC;AAA4D,KAAh8C,EAAi8C3uD,CAAC,CAACquD,gBAAF,GAAmB,UAASh1F,CAAT,EAAW;AAAC,WAAKyB,WAAL,CAAiB,WAAjB,GAA8B2kE,EAAE,CAAC3F,CAAD,EAAG,OAAH,EAAW+F,EAAE,CAAC,IAAD,EAAM,KAAKuuB,eAAX,CAAb,CAAhC;AAA0E,KAA1iD,EAA2iDpuD,CAAC,CAACuE,KAAF,GAAQ,YAAU;AAAC,WAAK8oD,WAAL,CAAiB9oD,KAAjB;AAAyB,KAAvlD,EAAwlDvE,CAAC,CAACwE,IAAF,GAAO,YAAU;AAAC,WAAK6oD,WAAL,CAAiB7oD,IAAjB;AAAwB,KAAloD,EAAmoDxE,CAAC,CAAC6kC,aAAF,GAAgB,UAASxrE,CAAT,EAAW;AAAC6wE,QAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,KAAwB6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,CAAxB,IAAgD,KAAK20F,cAAL,IAAqB,KAAKC,aAAL,EAArB,EAA0C/jB,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,MAAyBA,CAAC,CAACiN,cAAF,IAAmB,KAAK+mF,WAAL,CAAiB9oD,KAAjB,EAA5C,CAA1F,IAAiK,CAAC2lC,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,IAAhB,KAAuB6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,MAAhB,CAAxB,MAAmD,KAAK20F,cAAL,KAAsB30F,CAAC,CAACiN,cAAF,IAAmB,KAAKqoF,WAAL,EAAzC,CAAnD,CAAjK;AAAkR,KAAj7D,EAAk7D3uD,CAAC,CAACouD,eAAF,GAAkB,UAAS/0F,CAAT,EAAW;AAAC,OAAC6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,KAAwB6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,CAAzB,KAAkD,KAAKyB,WAAL,CAAiB,WAAjB,CAAlD;AAAgF,KAAhiE,EAAiiEklC,CAAC,CAAC4uD,qBAAF,GAAwB,UAASv1F,CAAT,EAAW;AAAC,WAAKi1F,oBAAL,CAA0Bj1F,CAA1B;AAA6B,KAAlmE,EAAmmE2mC,CAAC,CAACsuD,oBAAF,GAAuB,UAASj1F,CAAT,EAAW;AAAC,OAAC6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,KAAwB6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,CAAzB,MAAmD,KAAK20F,cAAL,IAAqB,KAAKC,aAAL,EAArB,EAA0C/jB,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,MAAyBA,CAAC,CAACiN,cAAF,IAAmB,KAAK+mF,WAAL,CAAiB9oD,KAAjB,EAA5C,CAA7F;AAAoK,KAA1yE,EAA2yEvE,CAAC,CAAC2uD,WAAF,GAAc,YAAU;AAAC,UAAG,KAAK1L,QAAR,EAAiB;AAAC,YAAG,KAAK+K,cAAL,GAAoB,CAAC,CAArB,EAAuB,KAAKG,IAAL,CAAUlxD,IAAV,EAAvB,EAAwC,KAAKkxD,IAAL,CAAU5pB,WAAV,EAAxC,EAAgE,KAAK8oB,WAAL,CAAiBjrB,GAAjB,CAAqB9mD,YAArB,CAAkC,eAAlC,EAAkD,MAAlD,CAAhE,EAA0H8rD,EAAE,IAAE1yD,CAAC,EAAlI,EAAqI;AAAO,aAAKy5E,IAAL,CAAU5pD,KAAV;AAAkB;AAAC,KAAr/E,EAAs/EvE,CAAC,CAACiuD,aAAF,GAAgB,YAAU;AAAC,WAAKhL,QAAL,KAAgB,KAAK+K,cAAL,GAAoB,CAAC,CAArB,EAAuB,KAAKG,IAAL,CAAU3pB,aAAV,EAAvB,EAAiD,KAAK2pB,IAAL,CAAUhxD,IAAV,EAAjD,EAAkE,KAAKkwD,WAAL,CAAiBjrB,GAAjB,CAAqB9mD,YAArB,CAAkC,eAAlC,EAAkD,OAAlD,CAAlF;AAA8I,KAA/pF,EAAgqF0kB,CAAC,CAAC9J,OAAF,GAAU,YAAU;AAAC,WAAK+3D,aAAL,IAAqB,KAAKhL,QAAL,GAAc,CAAC,CAApC,EAAsC,KAAK5kF,QAAL,CAAc,cAAd,CAAtC,EAAoE,KAAKgvF,WAAL,CAAiBn3D,OAAjB,EAApE;AAA+F,KAApxF,EAAqxF8J,CAAC,CAAC06B,MAAF,GAAS,YAAU;AAAC,WAAKuoB,QAAL,GAAc,CAAC,CAAf,EAAiB,KAAKnoF,WAAL,CAAiB,cAAjB,CAAjB,EAAkD,KAAKuyF,WAAL,CAAiB3yB,MAAjB,EAAlD;AAA4E,KAAr3F,EAAs3FrhE,CAA73F;AAA+3F,GAAxmH,CAAymHwoE,EAAzmH,CAAP;;AAAonHA,IAAE,CAACuD,iBAAH,CAAqB,YAArB,EAAkC8oB,EAAlC;;AAAsC,MAAIW,EAAE,GAAC,UAAS9wE,CAAT,EAAW;AAAC,aAAS1kB,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAA,UAAMu5B,CAAC,GAACqM,CAAC,CAAC6kD,MAAV;AAAiB,UAAG,CAACzqF,CAAC,GAAC2jB,CAAC,CAAC/e,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2B3/B,KAA3B,CAAiC9D,MAAjC,IAAyC,CAAzC,IAA4CnC,CAAC,CAAC+iC,IAAF,EAA5C,EAAqD,CAACxJ,CAAzD,EAA2D,OAAO6xC,EAAE,CAACprE,CAAD,CAAT;AAAa,UAAI+/D,CAAC,GAAC0F,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACmpF,MAAT,CAAR;AAAyB,aAAO5vD,CAAC,CAAC1hB,gBAAF,CAAmB,aAAnB,EAAiCkoD,CAAjC,GAAoCxmC,CAAC,CAAC1hB,gBAAF,CAAmB,UAAnB,EAA8BkoD,CAA9B,CAApC,EAAqE//D,CAAC,CAAC0nE,OAAF,CAAUpmE,EAAV,CAAa,OAAb,EAAqBy+D,CAArB,CAArE,EAA6F//D,CAAC,CAAC0nE,OAAF,CAAUpmE,EAAV,CAAa,SAAb,EAAuB,YAAU;AAACi4B,SAAC,CAACtb,mBAAF,CAAsB,aAAtB,EAAoC8hD,CAApC,GAAuCxmC,CAAC,CAACtb,mBAAF,CAAsB,UAAtB,EAAiC8hD,CAAjC,CAAvC;AAA2E,OAA7G,CAA7F,EAA4M//D,CAAnN;AAAqN;;AAAA,WAAO2rE,EAAE,CAAC1sE,CAAD,EAAG0kB,CAAH,CAAF,EAAQ1kB,CAAf;AAAiB,GAApX,CAAqX60F,EAArX,CAAP;;AAAgYrsB,IAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmCypB,EAAnC;;AAAuC,MAAIC,EAAE,GAAC,CAAC,KAAD,EAAO,KAAP,EAAa,IAAb,EAAkB,MAAlB,EAAyB,OAAzB,EAAiC,MAAjC,CAAP;AAAA,MAAgDC,EAAE,GAAC,UAASp7D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BgvD,UAA3B,GAAsChvD,CAAC,CAACgvD,UAAxC,EAAmD50F,CAAC,CAAC60F,WAAF,GAAcjvD,CAAC,CAACtQ,QAAF,IAAY,CAAC,CAA9E,EAAgFt1B,CAAC,CAAC80F,eAAF,GAAkBlvD,CAAC,CAACkvD,eAApG,EAAoH90F,CAAC,CAACs1B,QAAF,CAAWt1B,CAAC,CAAC60F,WAAb,CAApH,EAA8I70F,CAAC,CAAC40F,UAAF,GAAa50F,CAAC,CAAC80F,eAAF,GAAkB90F,CAAC,CAACgoE,GAAF,CAAM9mD,YAAN,CAAmB,MAAnB,EAA0B,kBAA1B,CAAlB,GAAgElhB,CAAC,CAACgoE,GAAF,CAAM9mD,YAAN,CAAmB,MAAnB,EAA0B,eAA1B,CAA7E,GAAwHlhB,CAAC,CAACgoE,GAAF,CAAM9mD,YAAN,CAAmB,MAAnB,EAA0B,UAA1B,CAAtQ,EAA4SlhB,CAAlT;AAAoT;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,UAAS7jE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,aAAO,KAAK4oF,cAAL,GAAoB,CAAC,CAArB,EAAuBrvD,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,IAA/B,EAAoC4pB,CAAC,CAAC;AAAC0C,iBAAS,EAAC,eAAX;AAA2BQ,iBAAS,EAAC,sCAAoC,KAAKs3C,QAAL,CAAc,KAAKnB,QAAL,CAAcsK,KAA5B,CAApC,GAAuE,SAA5G;AAAsH/8C,gBAAQ,EAAC,CAAC;AAAhI,OAAD,EAAoIwQ,CAApI,CAArC,EAA4K5lC,CAA5K,CAA9B;AAA6M,KAAxO,EAAyO4lC,CAAC,CAAC6kC,aAAF,GAAgB,UAAS7kC,CAAT,EAAW;AAAC8uD,QAAE,CAAC9qB,IAAH,CAAQ,UAAS3qE,CAAT,EAAW;AAAC,eAAO6wE,EAAE,CAACC,UAAH,CAAcnqC,CAAd,EAAgB3mC,CAAhB,CAAP;AAA0B,OAA9C,KAAiDs6B,CAAC,CAACvgB,SAAF,CAAYyxD,aAAZ,CAA0B7lE,IAA1B,CAA+B,IAA/B,EAAoCghC,CAApC,CAAjD;AAAwF,KAA7V,EAA8VA,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,WAAKq2B,QAAL,CAAc,CAAC,CAAf;AAAkB,KAA1Y,EAA2YsQ,CAAC,CAACtQ,QAAF,GAAW,UAASr2B,CAAT,EAAW;AAAC,WAAK21F,UAAL,KAAkB31F,CAAC,IAAE,KAAKgF,QAAL,CAAc,cAAd,GAA8B,KAAK+jE,GAAL,CAAS9mD,YAAT,CAAsB,cAAtB,EAAqC,MAArC,CAA9B,EAA2E,KAAK8xD,WAAL,CAAiB,YAAjB,CAA3E,EAA0G,KAAK6hB,WAAL,GAAiB,CAAC,CAA9H,KAAkI,KAAKn0F,WAAL,CAAiB,cAAjB,GAAiC,KAAKsnE,GAAL,CAAS9mD,YAAT,CAAsB,cAAtB,EAAqC,OAArC,CAAjC,EAA+E,KAAK8xD,WAAL,CAAiB,EAAjB,CAA/E,EAAoG,KAAK6hB,WAAL,GAAiB,CAAC,CAAxP,CAAnB;AAA+Q,KAAjrB,EAAkrB51F,CAAzrB;AAA2rB,GAA3iC,CAA4iCspF,EAA5iC,CAAnD;;AAAmmC9gB,IAAE,CAACuD,iBAAH,CAAqB,UAArB,EAAgC2pB,EAAhC;;AAAoC,MAAII,EAAE,GAAC,UAASl1B,CAAT,EAAW;AAAC,aAAS5gE,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAIrM,CAAJ;AAAA,UAAMv5B,CAAC,GAAC4lC,CAAC,CAAC6pC,KAAV;AAAA,UAAgB1P,CAAC,GAAC9gE,CAAC,CAACywE,UAAF,EAAlB;AAAiC9pC,OAAC,CAACusC,KAAF,GAAQnyE,CAAC,CAACmyE,KAAF,IAASnyE,CAAC,CAACipE,QAAX,IAAqB,SAA7B,EAAuCrjC,CAAC,CAACtQ,QAAF,GAAW,cAAYt1B,CAAC,CAAC0G,IAAhE,EAAqE,CAAC6yB,CAAC,GAACsmC,CAAC,CAACj7D,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2B6pC,KAA3B,GAAiCzvE,CAAtG,EAAwGu5B,CAAC,CAACy7D,KAAF,GAAQ,CAACpvD,CAAC,CAACovD,KAAF,IAAS,CAACpvD,CAAC,CAAC0vC,IAAF,IAAQ/7C,CAAC,CAACk2C,KAAF,CAAQ6F,IAAjB,CAAV,EAAkCjyE,MAAlC,CAAyCq9D,OAAzC,CAAhH;;AAAkK,eAAS/8C,CAAT,GAAY;AAAC,aAAI,IAAI1kB,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAzB,EAAsCe,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACf,CAAhD,EAAkDe,CAAC,EAAnD;AAAsD4lC,WAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAAtD;;AAAwEu5B,SAAC,CAAC07D,kBAAF,CAAqBtwF,KAArB,CAA2BymE,EAAE,CAAC7xC,CAAD,CAA7B,EAAiCqM,CAAjC;AAAoC;;AAAA,eAASvrB,CAAT,GAAY;AAAC,aAAI,IAAIpb,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAzB,EAAsCe,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACf,CAAhD,EAAkDe,CAAC,EAAnD;AAAsD4lC,WAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAAtD;;AAAwEu5B,SAAC,CAAC27D,4BAAF,CAA+BvwF,KAA/B,CAAqCymE,EAAE,CAAC7xC,CAAD,CAAvC,EAA2CqM,CAA3C;AAA8C;;AAAA,UAAIg6B,CAAJ;AAAM3gE,OAAC,CAACqC,EAAF,CAAK,CAAC,WAAD,EAAa,iBAAb,CAAL,EAAqCqiB,CAArC,GAAwCo8C,CAAC,CAACloD,gBAAF,CAAmB,QAAnB,EAA4B8L,CAA5B,CAAxC,EAAuEo8C,CAAC,CAACloD,gBAAF,CAAmB,wBAAnB,EAA4CwC,CAA5C,CAAvE,EAAsHkf,CAAC,CAACj4B,EAAF,CAAK,SAAL,EAAe,YAAU;AAACrC,SAAC,CAACoC,GAAF,CAAM,CAAC,WAAD,EAAa,iBAAb,CAAN,EAAsCsiB,CAAtC,GAAyCo8C,CAAC,CAAC9hD,mBAAF,CAAsB,QAAtB,EAA+B0F,CAA/B,CAAzC,EAA2Eo8C,CAAC,CAAC9hD,mBAAF,CAAsB,wBAAtB,EAA+C5D,CAA/C,CAA3E;AAA6H,OAAvJ,CAAtH,EAA+Q,KAAK,CAAL,KAAS0lD,CAAC,CAACo1B,QAAX,IAAqB57D,CAAC,CAACj4B,EAAF,CAAK,CAAC,KAAD,EAAO,OAAP,CAAL,EAAqB,YAAU;AAAC,YAAG,oBAAiBigB,CAAC,CAACqmB,KAAnB,CAAH,EAA4B,IAAG;AAACg4B,WAAC,GAAC,IAAIr+C,CAAC,CAACqmB,KAAN,CAAY,QAAZ,CAAF;AAAwB,SAA5B,CAA4B,OAAM3oC,CAAN,EAAQ,CAAE;AAAA2gE,SAAC,IAAE,CAACA,CAAC,GAACF,CAAC,CAAC01B,WAAF,CAAc,OAAd,CAAH,EAA2BC,SAA3B,CAAqC,QAArC,EAA8C,CAAC,CAA/C,EAAiD,CAAC,CAAlD,CAAH,EAAwDt1B,CAAC,CAACkG,aAAF,CAAgBrG,CAAhB,CAAxD;AAA2E,OAA7K,CAApS;AAAmd,aAAOrmC,CAAC,CAAC07D,kBAAF,IAAuB17D,CAA9B;AAAgC;;AAAAoyC,MAAE,CAAC1sE,CAAD,EAAG4gE,CAAH,CAAF;AAAQ,QAAIj6B,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK6pC,KAAX;AAAA,UAAiBzvE,CAAC,GAAC,KAAK0nE,OAAL,CAAagI,UAAb,EAAnB;AAA6C,UAAG7P,CAAC,CAAC7mD,SAAF,CAAY8vE,WAAZ,CAAwBlkF,IAAxB,CAA6B,IAA7B,EAAkC3F,CAAlC,GAAqCe,CAAxC,EAA0C,KAAI,IAAIu5B,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACv5B,CAAC,CAACmC,MAAhB,EAAuBo3B,CAAC,EAAxB,EAA2B;AAAC,YAAIwmC,CAAC,GAAC//D,CAAC,CAACu5B,CAAD,CAAP;AAAW,SAAC,CAAD,KAAK,KAAKy7D,KAAL,CAAW50F,OAAX,CAAmB2/D,CAAC,CAACuV,IAArB,CAAL,KAAkCvV,CAAC,KAAGn6B,CAAJ,GAAM,cAAYm6B,CAAC,CAACr5D,IAAd,KAAqBq5D,CAAC,CAACr5D,IAAF,GAAO,SAA5B,CAAN,GAA6C,eAAaq5D,CAAC,CAACr5D,IAAf,KAAsBq5D,CAAC,CAACr5D,IAAF,GAAO,UAA7B,CAA/E;AAAyH;AAAC,KAAlR,EAAmRk/B,CAAC,CAACqvD,kBAAF,GAAqB,UAASh2F,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,cAAY,KAAK6pC,KAAL,CAAW/oE,IAA7B;AAAkCk/B,OAAC,KAAG,KAAKivD,WAAT,IAAsB,KAAKv/D,QAAL,CAAcsQ,CAAd,CAAtB;AAAuC,KAA7X,EAA8XA,CAAC,CAACsvD,4BAAF,GAA+B,UAASj2F,CAAT,EAAW;AAAC,UAAG,cAAY,KAAKwwE,KAAL,CAAW/oE,IAA1B,EAA+B;AAAC,YAAIk/B,CAAC,GAAC,KAAK8hC,OAAL,CAAagjB,MAAb,CAAoBC,gBAA1B;AAA2C,YAAG/kD,CAAC,IAAEA,CAAC,CAAC2uC,OAAL,IAAc3uC,CAAC,CAACqjC,QAAF,KAAa,KAAKwG,KAAL,CAAWxG,QAAtC,IAAgDrjC,CAAC,CAAC0vC,IAAF,KAAS,KAAK7F,KAAL,CAAW6F,IAAvE,EAA4E;AAAO,aAAK5N,OAAL,CAAagjB,MAAb,CAAoBC,gBAApB,GAAqC;AAACpW,iBAAO,EAAC,CAAC,CAAV;AAAYtL,kBAAQ,EAAC,KAAKwG,KAAL,CAAWxG,QAAhC;AAAyCqM,cAAI,EAAC,KAAK7F,KAAL,CAAW6F;AAAzD,SAArC;AAAoG;AAAC,KAA5qB,EAA6qB1vC,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAK++D,KAAL,GAAW,IAAX,EAAgB5P,CAAC,CAAC7mD,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAAhB;AAA+C,KAAjvB,EAAkvB3F,CAAzvB;AAA2vB,GAAzuD,CAA0uD01F,EAA1uD,CAAP;;AAAqvDltB,IAAE,CAACuD,iBAAH,CAAqB,mBAArB,EAAyC+pB,EAAzC;;AAA6C,MAAIO,EAAE,GAAC,UAASt1F,CAAT,EAAW;AAAC,aAASf,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,aAAOA,CAAC,CAAC6pC,KAAF,GAAQ;AAAChkE,cAAM,EAACxM,CAAR;AAAUq2E,YAAI,EAAC1vC,CAAC,CAAC0vC,IAAjB;AAAsB0f,aAAK,EAACpvD,CAAC,CAACovD,KAA9B;AAAoC,mBAAQ,CAAC,CAA7C;AAA+CtuF,YAAI,EAAC;AAApD,OAAR,EAAwEk/B,CAAC,CAACovD,KAAF,KAAUpvD,CAAC,CAACovD,KAAF,GAAQ,CAACpvD,CAAC,CAAC0vC,IAAH,CAAlB,CAAxE,EAAoG1vC,CAAC,CAACusC,KAAF,GAAQvsC,CAAC,CAAC6pC,KAAF,CAAQ0C,KAAR,GAAcvsC,CAAC,CAACusC,KAAxB,GAA8BvsC,CAAC,CAAC6pC,KAAF,CAAQ0C,KAAR,GAAcvsC,CAAC,CAACovD,KAAF,CAAQ5lE,IAAR,CAAa,OAAb,IAAsB,MAAtK,EAA6KwW,CAAC,CAACgvD,UAAF,GAAa,CAAC,CAA3L,EAA6LhvD,CAAC,CAACkvD,eAAF,GAAkB,CAAC,CAAhN,EAAkN90F,CAAC,CAAC4E,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAA3O;AAAgP;;AAAA+lC,MAAE,CAAC1sE,CAAD,EAAGe,CAAH,CAAF;AAAQ,QAAI4lC,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACqvD,kBAAF,GAAqB,UAASh2F,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,KAAKn6B,MAAL,GAAcikE,UAAd,EAAN,EAAiC1vE,CAAC,GAAC,CAAC,CAApC,EAAsCu5B,CAAC,GAAC,CAAxC,EAA0CwmC,CAAC,GAACn6B,CAAC,CAACzjC,MAAlD,EAAyDo3B,CAAC,GAACwmC,CAA3D,EAA6DxmC,CAAC,EAA9D,EAAiE;AAAC,YAAI5V,CAAC,GAACiiB,CAAC,CAACrM,CAAD,CAAP;;AAAW,YAAG,CAAC,CAAD,GAAG,KAAKsuC,QAAL,CAAcmtB,KAAd,CAAoB50F,OAApB,CAA4BujB,CAAC,CAAC2xD,IAA9B,CAAH,IAAwC,cAAY3xD,CAAC,CAACjd,IAAzD,EAA8D;AAAC1G,WAAC,GAAC,CAAC,CAAH;AAAK;AAAM;AAAC;;AAAAA,OAAC,KAAG,KAAK60F,WAAT,IAAsB,KAAKv/D,QAAL,CAAct1B,CAAd,CAAtB;AAAuC,KAAhO,EAAiO4lC,CAAC,CAACsvD,4BAAF,GAA+B,UAASj2F,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,KAAKn6B,MAAL,GAAcikE,UAAd,EAAN,EAAiC1vE,CAAC,GAAC,CAAC,CAApC,EAAsCu5B,CAAC,GAAC,CAAxC,EAA0CwmC,CAAC,GAACn6B,CAAC,CAACzjC,MAAlD,EAAyDo3B,CAAC,GAACwmC,CAA3D,EAA6DxmC,CAAC,EAA9D,EAAiE;AAAC,YAAI5V,CAAC,GAACiiB,CAAC,CAACrM,CAAD,CAAP;;AAAW,YAAG,CAAC,CAAD,GAAG,CAAC,UAAD,EAAY,cAAZ,EAA2B,WAA3B,EAAwCn5B,OAAxC,CAAgDujB,CAAC,CAAC2xD,IAAlD,CAAH,IAA4D,cAAY3xD,CAAC,CAACjd,IAA7E,EAAkF;AAAC1G,WAAC,GAAC,CAAC,CAAH;AAAK;AAAM;AAAC;;AAAAA,OAAC,KAAG,KAAK0nE,OAAL,CAAagjB,MAAb,CAAoBC,gBAApB,GAAqC;AAACpW,eAAO,EAAC,CAAC;AAAV,OAAxC,CAAD;AAAuD,KAA/e,EAAgft1E,CAAvf;AAAyf,GAA/xB,CAAgyB81F,EAAhyB,CAAP;;AAA2yBttB,IAAE,CAACuD,iBAAH,CAAqB,sBAArB,EAA4CsqB,EAA5C;;AAAgD,MAAIC,EAAE,GAAC,UAASv1F,CAAT,EAAW;AAAC,aAASf,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmBA,CAAC,CAAC6kD,MAAF,GAASxrF,CAAC,CAACywE,UAAF,EAA5B,EAA2C1vE,CAAC,CAAC4E,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAApE;AAAyE;;AAAA,WAAO+lC,EAAE,CAAC1sE,CAAD,EAAGe,CAAH,CAAF,EAAQf,CAAC,CAAC+Z,SAAF,CAAYq7E,WAAZ,GAAwB,UAASp1F,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAJ;AAAM,WAAK,CAAL,KAASf,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,KAAK,CAAL,KAAS2mC,CAAT,KAAaA,CAAC,GAACmvD,EAAf,CAAnB,EAAsC,KAAKS,MAAL,KAAcx1F,CAAC,GAAC,KAAKw1F,MAAL,GAAY,MAA5B,CAAtC,EAA0Ev2F,CAAC,CAACuD,IAAF,CAAO,IAAI8yF,EAAJ,CAAO,KAAK5tB,OAAZ,EAAoB;AAACstB,aAAK,EAAC,KAAKS,MAAZ;AAAmBngB,YAAI,EAAC,KAAKogB,KAA7B;AAAmCvjB,aAAK,EAACnyE;AAAzC,OAApB,CAAP,CAA1E,EAAmJ,KAAKo0F,cAAL,IAAqB,CAAxK;AAA0K,UAAI76D,CAAC,GAAC,KAAKmuC,OAAL,CAAagI,UAAb,EAAN;AAAgCj1D,WAAK,CAACG,OAAN,CAAc,KAAK66E,MAAnB,MAA6B,KAAKA,MAAL,GAAY,CAAC,KAAKC,KAAN,CAAzC;;AAAuD,WAAI,IAAI31B,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACxmC,CAAC,CAACp3B,MAAhB,EAAuB49D,CAAC,EAAxB,EAA2B;AAAC,YAAIp8C,CAAC,GAAC4V,CAAC,CAACwmC,CAAD,CAAP;;AAAW,YAAG,CAAC,CAAD,GAAG,KAAK01B,MAAL,CAAYr1F,OAAZ,CAAoBujB,CAAC,CAAC2xD,IAAtB,CAAN,EAAkC;AAAC,cAAIj7D,CAAC,GAAC,IAAIurB,CAAJ,CAAM,KAAK8hC,OAAX,EAAmB;AAAC+H,iBAAK,EAAC9rD,CAAP;AAASqxE,iBAAK,EAAC,KAAKS,MAApB;AAA2BngB,gBAAI,EAAC,KAAKogB,KAArC;AAA2Cd,sBAAU,EAAC,CAAC,CAAvD;AAAyDE,2BAAe,EAAC,CAAC;AAA1E,WAAnB,CAAN;AAAuGz6E,WAAC,CAACpW,QAAF,CAAW,SAAO0f,CAAC,CAAC2xD,IAAT,GAAc,YAAzB,GAAuCr2E,CAAC,CAACuD,IAAF,CAAO6X,CAAP,CAAvC;AAAiD;AAAC;;AAAA,aAAOpb,CAAP;AAAS,KAAjiB,EAAkiBA,CAAziB;AAA2iB,GAAhpB,CAAipBw1F,EAAjpB,CAAP;;AAA4pBhtB,IAAE,CAACuD,iBAAH,CAAqB,iBAArB,EAAuCuqB,EAAvC;;AAA2C,MAAII,EAAE,GAAC,UAASt7E,CAAT,EAAW;AAAC,aAASpb,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAA,UAAMu5B,CAAC,GAACqM,CAAC,CAAC6pC,KAAV;AAAA,UAAgB1P,CAAC,GAACn6B,CAAC,CAACk4C,GAApB;AAAA,UAAwBn6D,CAAC,GAAC1kB,CAAC,CAAC6P,WAAF,EAA1B;AAA0C,aAAO82B,CAAC,CAACgvD,UAAF,GAAa,CAAC,CAAd,EAAgBhvD,CAAC,CAACkvD,eAAF,GAAkB,CAAC,CAAnC,EAAqClvD,CAAC,CAACusC,KAAF,GAAQpS,CAAC,CAAC94C,IAA/C,EAAoD2e,CAAC,CAACtQ,QAAF,GAAWyqC,CAAC,CAACzrB,SAAF,IAAa3wB,CAAb,IAAgBA,CAAC,GAACo8C,CAAC,CAACwP,OAAnF,EAA2F,CAACvvE,CAAC,GAACqa,CAAC,CAACzV,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2B6pC,KAA3B,GAAiCl2C,CAA5H,EAA8Hv5B,CAAC,CAAC89E,GAAF,GAAM/d,CAApI,EAAsIxmC,CAAC,CAAC1hB,gBAAF,CAAmB,WAAnB,EAA+B4tD,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACmpF,MAAT,CAAjC,CAAtI,EAAyLnpF,CAAhM;AAAkM;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGob,CAAH,CAAF;AAAQ,QAAIurB,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAACob,OAAC,CAACrB,SAAF,CAAY8vE,WAAZ,CAAwBlkF,IAAxB,CAA6B,IAA7B,GAAmC,KAAK8iE,OAAL,CAAa54D,WAAb,CAAyB,KAAKgvE,GAAL,CAASxpC,SAAlC,CAAnC,EAAgF,KAAK60C,MAAL,CAAY,KAAKrL,GAAL,CAASxpC,SAArB,CAAhF;AAAgH,KAA1I,EAA2I1O,CAAC,CAACujD,MAAF,GAAS,UAASlqF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKk4C,GAAX;AAAA,UAAe99E,CAAC,GAAC,KAAK0nE,OAAL,CAAa54D,WAAb,EAAjB;AAA4C,WAAKwmB,QAAL,CAAcsQ,CAAC,CAAC0O,SAAF,IAAat0C,CAAb,IAAgBA,CAAC,GAAC4lC,CAAC,CAAC2pC,OAAlC;AAA2C,KAAvP,EAAwPtwE,CAA/P;AAAiQ,GAAniB,CAAoiB01F,EAApiB,CAAP;;AAA+iBltB,IAAE,CAACuD,iBAAH,CAAqB,uBAArB,EAA6C2qB,EAA7C;;AAAiD,MAAIC,EAAE,GAAC,UAASr8D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAAC,aAAOu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,KAAoB,IAA3B;AAAgC;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,yBAAuBxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAA7B;AAAkE,KAA7F,EAA8FghC,CAAC,CAAC0uD,oBAAF,GAAuB,YAAU;AAAC,aAAM,yBAAuB/6D,CAAC,CAACvgB,SAAF,CAAYs7E,oBAAZ,CAAiC1vF,IAAjC,CAAsC,IAAtC,CAA7B;AAAyE,KAAzM,EAA0MghC,CAAC,CAACujD,MAAF,GAAS,UAASlqF,CAAT,EAAW;AAAC,WAAK42F,MAAL,KAAc,CAAC52F,CAAD,IAAI,eAAaA,CAAC,CAACuQ,IAAf,IAAqB,kBAAgBvQ,CAAC,CAACuQ,IAAzD,KAAgE,KAAKsmF,QAAL,CAAc,KAAKC,iBAAL,EAAd,CAAhE,EAAwGx8D,CAAC,CAACvgB,SAAF,CAAYmwE,MAAZ,CAAmBvkF,IAAnB,CAAwB,IAAxB,CAAxG;AAAsI,KAArW,EAAsWghC,CAAC,CAACkwD,QAAF,GAAW,UAAS72F,CAAT,EAAW;AAAC,UAAG,KAAK42F,MAAL,KAAc52F,CAAjB,EAAmB;AAAC,YAAG,KAAK+2F,cAAL,KAAsB,KAAKA,cAAL,GAAoB,KAAK7M,MAAL,CAAY3tE,IAAZ,CAAiB,IAAjB,CAA1C,GAAkE,KAAKq6E,MAA1E,EAAiF;AAAC,cAAIjwD,CAAC,GAAC,KAAK8hC,OAAL,CAAa2c,kBAAb,GAAkC1O,uBAAlC,CAA0D,KAAKkgB,MAA/D,CAAN;AAA6EjwD,WAAC,IAAEA,CAAC,CAAC3nB,mBAAF,CAAsB,MAAtB,EAA6B,KAAK+3E,cAAlC,CAAH,EAAqD,KAAKH,MAAL,GAAY,IAAjE;AAAsE;;AAAA,YAAG,KAAKA,MAAL,GAAY52F,CAAZ,EAAc,KAAK42F,MAAtB,EAA6B;AAAC,eAAKA,MAAL,CAAYnvF,IAAZ,GAAiB,QAAjB;AAA0B,cAAI1G,CAAC,GAAC,KAAK0nE,OAAL,CAAa2c,kBAAb,GAAkC1O,uBAAlC,CAA0D,KAAKkgB,MAA/D,CAAN;AAA6E71F,WAAC,IAAEA,CAAC,CAAC6X,gBAAF,CAAmB,MAAnB,EAA0B,KAAKm+E,cAA/B,CAAH;AAAkD;AAAC;AAAC,KAA/yB,EAAgzBpwD,CAAC,CAACmwD,iBAAF,GAAoB,YAAU;AAAC,WAAI,IAAI92F,CAAC,GAAC,KAAKyoE,OAAL,CAAagI,UAAb,MAA2B,EAAjC,EAAoC9pC,CAAC,GAAC3mC,CAAC,CAACkD,MAAF,GAAS,CAAnD,EAAqD,KAAGyjC,CAAxD,EAA0DA,CAAC,EAA3D,EAA8D;AAAC,YAAI5lC,CAAC,GAACf,CAAC,CAAC2mC,CAAD,CAAP;AAAW,YAAG5lC,CAAC,CAACs1E,IAAF,KAAS,KAAKogB,KAAjB,EAAuB,OAAO11F,CAAP;AAAS;AAAC,KAA17B,EAA27B4lC,CAAC,CAACqwD,cAAF,GAAiB,YAAU;AAAC,aAAO,KAAKJ,MAAL,IAAa,KAAKA,MAAL,CAAY1jB,KAAzB,GAA+B,KAAK0jB,MAAL,CAAY1jB,KAA3C,GAAiD,KAAKnJ,QAAL,CAAczB,EAAE,CAAC,KAAKmuB,KAAN,CAAhB,CAAxD;AAAsF,KAA7iC,EAA8iC9vD,CAAC,CAACuuD,UAAF,GAAa,YAAU;AAAC,aAAO,KAAKtsB,QAAL,CAAc2J,KAAd,GAAoB,KAAKykB,cAAL,EAApB,EAA0C18D,CAAC,CAACvgB,SAAF,CAAYm7E,UAAZ,CAAuBvvF,IAAvB,CAA4B,IAA5B,CAAjD;AAAmF,KAAzpC,EAA0pCghC,CAAC,CAACyuD,WAAF,GAAc,YAAU;AAAC,UAAIp1F,CAAC,GAAC,EAAN;AAAS,UAAG,CAAC,KAAK42F,MAAT,EAAgB,OAAO52F,CAAP;AAAS,UAAI2mC,CAAC,GAAC,KAAKiwD,MAAL,CAAYvmB,IAAlB;AAAuB,UAAG,CAAC1pC,CAAJ,EAAM,OAAO3mC,CAAP;;AAAS,WAAI,IAAIe,CAAC,GAAC,CAAN,EAAQu5B,CAAC,GAACqM,CAAC,CAACzjC,MAAhB,EAAuBnC,CAAC,GAACu5B,CAAzB,EAA2Bv5B,CAAC,EAA5B,EAA+B;AAAC,YAAI+/D,CAAC,GAACn6B,CAAC,CAAC5lC,CAAD,CAAP;AAAA,YAAW2jB,CAAC,GAAC,IAAIgyE,EAAJ,CAAO,KAAKjuB,OAAZ,EAAoB;AAAC+H,eAAK,EAAC,KAAKomB,MAAZ;AAAmB/X,aAAG,EAAC/d;AAAvB,SAApB,CAAb;AAA4D9gE,SAAC,CAACuD,IAAF,CAAOmhB,CAAP;AAAU;;AAAA,aAAO1kB,CAAP;AAAS,KAA12C,EAA22CA,CAAl3C;AAAo3C,GAA58C,CAA68Cs2F,EAA78C,CAAP;;AAAw9CK,IAAE,CAAC58E,SAAH,CAAa08E,KAAb,GAAmB,UAAnB,EAA8BE,EAAE,CAAC58E,SAAH,CAAa2vE,YAAb,GAA0B,UAAxD,EAAmElhB,EAAE,CAACuD,iBAAH,CAAqB,gBAArB,EAAsC4qB,EAAtC,CAAnE;;AAA6G,MAAIM,EAAE,GAAC,UAAS77E,CAAT,EAAW;AAAC,aAASpb,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAAC,UAAIu5B,CAAJ;AAAMA,OAAC,GAAClf,CAAC,CAACzV,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,KAAoB,IAAtB;AAA2B,UAAI+/D,CAAC,GAAC9gE,CAAC,CAACywE,UAAF,EAAN;AAAA,UAAqB/rD,CAAC,GAAC8hD,EAAE,CAAC2F,EAAE,CAAC7xC,CAAD,CAAH,EAAOA,CAAC,CAAC07D,kBAAT,CAAzB;AAAsD,aAAOl1B,CAAC,CAACloD,gBAAF,CAAmB,QAAnB,EAA4B8L,CAA5B,GAA+B4V,CAAC,CAACj4B,EAAF,CAAK,SAAL,EAAe,YAAU;AAACy+D,SAAC,CAAC9hD,mBAAF,CAAsB,QAAtB,EAA+B0F,CAA/B;AAAkC,OAA5D,CAA/B,EAA6F4V,CAApG;AAAsG;;AAAAoyC,MAAE,CAAC1sE,CAAD,EAAGob,CAAH,CAAF;AAAQ,QAAIurB,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACqvD,kBAAF,GAAqB,UAASh2F,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,KAAKn6B,MAAL,GAAcikE,UAAd,EAAN,EAAiC1vE,CAAC,GAAC,CAAC,CAApC,EAAsCu5B,CAAC,GAAC,CAAxC,EAA0CwmC,CAAC,GAACn6B,CAAC,CAACzjC,MAAlD,EAAyDo3B,CAAC,GAACwmC,CAA3D,EAA6DxmC,CAAC,EAA9D,EAAiE;AAAC,YAAI5V,CAAC,GAACiiB,CAAC,CAACrM,CAAD,CAAP;;AAAW,YAAG5V,CAAC,CAAC2xD,IAAF,KAAS,KAAKogB,KAAd,IAAqB,cAAY/xE,CAAC,CAACjd,IAAtC,EAA2C;AAAC1G,WAAC,GAAC,CAAC,CAAH;AAAK;AAAM;AAAC;;AAAAA,OAAC,GAAC,KAAK87B,OAAL,EAAD,GAAgB,KAAKwkC,MAAL,EAAjB;AAA+B,KAArM,EAAsM16B,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,6BAA2B1vD,CAAC,CAACrB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAAjC;AAAsE,KAAvS,EAAwSghC,CAAC,CAAC0uD,oBAAF,GAAuB,YAAU;AAAC,aAAM,6BAA2Bj6E,CAAC,CAACrB,SAAF,CAAYs7E,oBAAZ,CAAiC1vF,IAAjC,CAAsC,IAAtC,CAAjC;AAA6E,KAAvZ,EAAwZ3F,CAA/Z;AAAia,GAAtpB,CAAupBs2F,EAAvpB,CAAP;;AAAkqBW,IAAE,CAACl9E,SAAH,CAAa08E,KAAb,GAAmB,cAAnB,EAAkCQ,EAAE,CAACl9E,SAAH,CAAa2vE,YAAb,GAA0B,cAA5D,EAA2ElhB,EAAE,CAACuD,iBAAH,CAAqB,oBAArB,EAA0CkrB,EAA1C,CAA3E;;AAAyH,MAAIC,EAAE,GAAC,UAAS58D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAAC,aAAOu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,KAAoB,IAA3B;AAAgC;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,0BAAwBxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAA9B;AAAmE,KAA9F,EAA+FghC,CAAC,CAAC0uD,oBAAF,GAAuB,YAAU;AAAC,aAAM,0BAAwB/6D,CAAC,CAACvgB,SAAF,CAAYs7E,oBAAZ,CAAiC1vF,IAAjC,CAAsC,IAAtC,CAA9B;AAA0E,KAA3M,EAA4M3F,CAAnN;AAAqN,GAA7S,CAA8Ss2F,EAA9S,CAAP;;AAAyTY,IAAE,CAACn9E,SAAH,CAAa08E,KAAb,GAAmB,WAAnB,EAA+BS,EAAE,CAACn9E,SAAH,CAAa2vE,YAAb,GAA0B,WAAzD,EAAqElhB,EAAE,CAACuD,iBAAH,CAAqB,iBAArB,EAAuCmrB,EAAvC,CAArE;;AAAgH,MAAIC,EAAE,GAAC,UAAS78D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAO4lC,CAAC,CAAC6pC,KAAF,GAAQ;AAAChkE,cAAM,EAACxM,CAAR;AAAUq2E,YAAI,EAAC1vC,CAAC,CAAC0vC,IAAjB;AAAsBnD,aAAK,EAACvsC,CAAC,CAAC0vC,IAAF,GAAO,WAAnC;AAA+Csf,kBAAU,EAAC,CAAC,CAA3D;AAA6D,mBAAQ,CAAC,CAAtE;AAAwEluF,YAAI,EAAC;AAA7E,OAAR,EAAiGk/B,CAAC,CAACgvD,UAAF,GAAa,CAAC,CAA/G,EAAiHhvD,CAAC,CAAC/c,IAAF,GAAO,yBAAxH,EAAkJ,CAAC7oB,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2B3hC,QAA3B,CAAoC,wBAApC,CAAlJ,EAAgNjE,CAAC,CAACgzE,WAAF,CAAc,aAAWptC,CAAC,CAAC0vC,IAAb,GAAkB,kBAAhC,CAAhN,EAAoQt1E,CAA3Q;AAA6Q;;AAAA,WAAO2rE,EAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF,EAAQt6B,CAAC,CAAC+Z,SAAF,CAAY8vE,WAAZ,GAAwB,UAAS7pF,CAAT,EAAW;AAAC,WAAKwM,MAAL,GAAc69D,QAAd,CAAuB,mBAAvB,EAA4CjqB,IAA5C;AAAmD,KAA/F,EAAgGpgD,CAAvG;AAAyG,GAAxZ,CAAyZ81F,EAAzZ,CAAP;;AAAoattB,IAAE,CAACuD,iBAAH,CAAqB,yBAArB,EAA+CorB,EAA/C;;AAAmD,MAAItyD,EAAE,GAAC,UAASvK,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAAC,aAAOu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,KAAoB,IAA3B;AAAgC;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,yBAAuBxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAA7B;AAAkE,KAA7F,EAA8FghC,CAAC,CAAC0uD,oBAAF,GAAuB,YAAU;AAAC,aAAM,yBAAuB/6D,CAAC,CAACvgB,SAAF,CAAYs7E,oBAAZ,CAAiC1vF,IAAjC,CAAsC,IAAtC,CAA7B;AAAyE,KAAzM,EAA0MghC,CAAC,CAACyuD,WAAF,GAAc,YAAU;AAAC,UAAIp1F,CAAC,GAAC,EAAN;AAAS,aAAO,KAAKwM,MAAL,GAAc+tE,KAAd,IAAqB,KAAK/tE,MAAL,GAAc+tE,KAAd,CAAoB8I,wBAAzC,IAAmE,CAAC,KAAK72E,MAAL,GAAc69D,QAAd,CAAuB,mBAAvB,CAApE,KAAkHrqE,CAAC,CAACuD,IAAF,CAAO,IAAI4zF,EAAJ,CAAO,KAAK1uB,OAAZ,EAAoB;AAAC4N,YAAI,EAAC,KAAKogB;AAAX,OAApB,CAAP,GAA+C,KAAKtB,cAAL,IAAqB,CAAtL,GAAyL76D,CAAC,CAACvgB,SAAF,CAAYq7E,WAAZ,CAAwBzvF,IAAxB,CAA6B,IAA7B,EAAkC3F,CAAlC,CAAhM;AAAqO,KAAjd,EAAkdA,CAAzd;AAA2d,GAAnjB,CAAojBs2F,EAApjB,CAAP;;AAA+jBzxD,IAAE,CAAC9qB,SAAH,CAAa08E,KAAb,GAAmB,UAAnB,EAA8B5xD,EAAE,CAAC9qB,SAAH,CAAa2vE,YAAb,GAA0B,UAAxD,EAAmElhB,EAAE,CAACuD,iBAAH,CAAqB,gBAArB,EAAsClnC,EAAtC,CAAnE;;AAA6G,MAAIuyD,EAAE,GAAC,UAASt2B,CAAT,EAAW;AAAC,aAAS9gE,CAAT,GAAY;AAAC,aAAO8gE,CAAC,CAACp7D,KAAF,CAAQ,IAAR,EAAawjB,SAAb,KAAyB,IAAhC;AAAqC;;AAAA,WAAOwjD,EAAE,CAAC1sE,CAAD,EAAG8gE,CAAH,CAAF,EAAQ9gE,CAAC,CAAC+Z,SAAF,CAAY8pD,QAAZ,GAAqB,UAAS7jE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAAC,sCAAoC,KAAKyvC,QAAL,CAAc,KAAKnB,QAAL,CAAcsK,KAA5B,CAA1C;AAA6E,aAAM,eAAa,KAAKtK,QAAL,CAAc4H,KAAd,CAAoB6F,IAAjC,KAAwC/7C,CAAC,IAAE,sHAAoH,KAAKyvC,QAAL,CAAc,UAAd,CAApH,GAA8I,iBAAzL,GAA4MzvC,CAAC,IAAE,SAA/M,EAAyNwmC,CAAC,CAAC/mD,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B3F,CAA/B,EAAiCuvB,CAAC,CAAC;AAACkD,iBAAS,EAAC6H;AAAX,OAAD,EAAeqM,CAAf,CAAlC,EAAoD5lC,CAApD,CAA/N;AAAsR,KAAhZ,EAAiZf,CAAxZ;AAA0Z,GAAxd,CAAyd81F,EAAzd,CAAP;;AAAoettB,IAAE,CAACuD,iBAAH,CAAqB,kBAArB,EAAwCqrB,EAAxC;;AAA4C,MAAIC,EAAE,GAAC,UAAS/8D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAO,KAAK,CAAL,KAAS4lC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,CAAC5lC,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2B4vD,MAA3B,GAAkC,WAArD,EAAiE,CAAC,CAAD,GAAG,CAAC,IAAD,EAAM,OAAN,EAAc,OAAd,EAAsB,OAAtB,EAA+Bp1F,OAA/B,CAAuCJ,CAAC,CAAC0nE,OAAF,CAAU6uB,SAAjD,CAAH,KAAiEv2F,CAAC,CAACw1F,MAAF,GAAS,UAA1E,CAAjE,EAAuJx1F,CAAC,CAACizF,WAAF,CAAcjgB,WAAd,CAA0BzL,EAAE,CAACvnE,CAAC,CAACw1F,MAAH,CAA5B,CAAvJ,EAA+Lx1F,CAAtM;AAAwM;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,0BAAwBxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAA9B;AAAmE,KAA9F,EAA+FghC,CAAC,CAAC0uD,oBAAF,GAAuB,YAAU;AAAC,aAAM,0BAAwB/6D,CAAC,CAACvgB,SAAF,CAAYs7E,oBAAZ,CAAiC1vF,IAAjC,CAAsC,IAAtC,CAA9B;AAA0E,KAA3M,EAA4MghC,CAAC,CAACyuD,WAAF,GAAc,YAAU;AAAC,UAAIp1F,CAAC,GAAC,EAAN;AAAS,aAAO,KAAKwM,MAAL,GAAc+tE,KAAd,IAAqB,KAAK/tE,MAAL,GAAc+tE,KAAd,CAAoB8I,wBAAzC,IAAmE,CAAC,KAAK72E,MAAL,GAAc69D,QAAd,CAAuB,mBAAvB,CAApE,KAAkHrqE,CAAC,CAACuD,IAAF,CAAO,IAAI4zF,EAAJ,CAAO,KAAK1uB,OAAZ,EAAoB;AAAC4N,YAAI,EAAC,KAAKkgB;AAAX,OAApB,CAAP,GAAgD,KAAKpB,cAAL,IAAqB,CAAvL,GAA0Ln1F,CAAC,GAACs6B,CAAC,CAACvgB,SAAF,CAAYq7E,WAAZ,CAAwBzvF,IAAxB,CAA6B,IAA7B,EAAkC3F,CAAlC,EAAoCo3F,EAApC,CAAnM;AAA2O,KAAzd,EAA0dp3F,CAAje;AAAme,GAAvuB,CAAwuBs2F,EAAxuB,CAAP;;AAAmvBe,IAAE,CAACt9E,SAAH,CAAay8E,MAAb,GAAoB,CAAC,UAAD,EAAY,WAAZ,CAApB,EAA6Ca,EAAE,CAACt9E,SAAH,CAAa2vE,YAAb,GAA0B,WAAvE,EAAmFlhB,EAAE,CAACuD,iBAAH,CAAqB,gBAArB,EAAsCsrB,EAAtC,CAAnF;;AAA6H,MAAIE,EAAE,GAAC,UAASn8E,CAAT,EAAW;AAAC,aAASpb,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAIrM,CAAJ;AAAA,UAAMv5B,CAAC,GAAC4lC,CAAC,CAAC6pC,KAAV;AAAA,UAAgB1P,CAAC,GAAC9gE,CAAC,CAACw3F,WAAF,EAAlB;AAAkC7wD,OAAC,CAACusC,KAAF,GAAQnyE,CAAC,CAACmyE,KAAF,IAASnyE,CAAC,CAACipE,QAAX,IAAqB,SAA7B,EAAuCrjC,CAAC,CAACtQ,QAAF,GAAWt1B,CAAC,CAACu0E,OAApD,EAA4D,CAACh7C,CAAC,GAAClf,CAAC,CAACzV,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2B6pC,KAA3B,GAAiCzvE,CAA7F,EAA+Fu5B,CAAC,CAACt1B,QAAF,CAAW,SAAOjE,CAAC,CAACs1E,IAAT,GAAc,YAAzB,CAA/F;;AAAsI,eAAS3xD,CAAT,GAAY;AAAC,aAAI,IAAI1kB,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAzB,EAAsCe,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACf,CAAhD,EAAkDe,CAAC,EAAnD;AAAsD4lC,WAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAAtD;;AAAwEu5B,SAAC,CAAC07D,kBAAF,CAAqBtwF,KAArB,CAA2BymE,EAAE,CAAC7xC,CAAD,CAA7B,EAAiCqM,CAAjC;AAAoC;;AAAA,aAAOm6B,CAAC,CAACloD,gBAAF,CAAmB,QAAnB,EAA4B8L,CAA5B,GAA+B4V,CAAC,CAACj4B,EAAF,CAAK,SAAL,EAAe,YAAU;AAACy+D,SAAC,CAAC9hD,mBAAF,CAAsB,QAAtB,EAA+B0F,CAA/B;AAAkC,OAA5D,CAA/B,EAA6F4V,CAApG;AAAsG;;AAAAoyC,MAAE,CAAC1sE,CAAD,EAAGob,CAAH,CAAF;AAAQ,QAAIurB,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,UAAS7jE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAAC,sCAAoC,KAAKyvC,QAAL,CAAc,KAAKnB,QAAL,CAAcsK,KAA5B,CAA1C;AAA6E,aAAM,gBAAc,KAAKtK,QAAL,CAAc4H,KAAd,CAAoB6F,IAAlC,KAAyC/7C,CAAC,IAAE,sHAAoH,KAAKyvC,QAAL,CAAc,cAAd,CAApH,GAAkJ,iBAA9L,GAAiNzvC,CAAC,IAAE,SAApN,EAA8Nlf,CAAC,CAACrB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B3F,CAA/B,EAAiCuvB,CAAC,CAAC;AAACkD,iBAAS,EAAC6H;AAAX,OAAD,EAAeqM,CAAf,CAAlC,EAAoD5lC,CAApD,CAApO;AAA2R,KAAnY,EAAoY4lC,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK8hC,OAAL,CAAa+uB,WAAb,EAAN;AAAiCp8E,OAAC,CAACrB,SAAF,CAAY8vE,WAAZ,CAAwBlkF,IAAxB,CAA6B,IAA7B,EAAkC3F,CAAlC;;AAAqC,WAAI,IAAIe,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC4lC,CAAC,CAACzjC,MAAhB,EAAuBnC,CAAC,EAAxB,EAA2B;AAAC,YAAIu5B,CAAC,GAACqM,CAAC,CAAC5lC,CAAD,CAAP;AAAWu5B,SAAC,CAACg7C,OAAF,GAAUh7C,CAAC,KAAG,KAAKk2C,KAAnB;AAAyB;AAAC,KAAriB,EAAsiB7pC,CAAC,CAACqvD,kBAAF,GAAqB,UAASh2F,CAAT,EAAW;AAAC,WAAKq2B,QAAL,CAAc,KAAKm6C,KAAL,CAAW8E,OAAzB;AAAkC,KAAzmB,EAA0mBt1E,CAAjnB;AAAmnB,GAAhjC,CAAijC01F,EAAjjC,CAAP;;AAA4jCltB,IAAE,CAACuD,iBAAH,CAAqB,oBAArB,EAA0CwrB,EAA1C;;AAA8C,MAAIE,EAAE,GAAC,UAAS12F,CAAT,EAAW;AAAC,aAASf,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmBA,CAAC,CAAC6kD,MAAF,GAASxrF,CAAC,CAACw3F,WAAF,EAA5B,EAA4Cz2F,CAAC,CAAC4E,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArE;AAA0E;;AAAA+lC,MAAE,CAAC1sE,CAAD,EAAGe,CAAH,CAAF;AAAQ,QAAI4lC,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,sBAAoB/pE,CAAC,CAACgZ,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAA1B;AAA+D,KAA1F,EAA2FghC,CAAC,CAAC0uD,oBAAF,GAAuB,YAAU;AAAC,aAAM,sBAAoBt0F,CAAC,CAACgZ,SAAF,CAAYs7E,oBAAZ,CAAiC1vF,IAAjC,CAAsC,IAAtC,CAA1B;AAAsE,KAAnM,EAAoMghC,CAAC,CAACyuD,WAAF,GAAc,UAASp1F,CAAT,EAAW;AAAC,WAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,KAAKm1F,cAAL,GAAoB,CAAvC;;AAAyC,WAAI,IAAIxuD,CAAC,GAAC,KAAK8hC,OAAL,CAAa+uB,WAAb,EAAN,EAAiCz2F,CAAC,GAAC,CAAvC,EAAyCA,CAAC,GAAC4lC,CAAC,CAACzjC,MAA7C,EAAoDnC,CAAC,EAArD,EAAwD;AAAC,YAAIu5B,CAAC,GAACqM,CAAC,CAAC5lC,CAAD,CAAP;AAAWf,SAAC,CAACuD,IAAF,CAAO,IAAIg0F,EAAJ,CAAO,KAAK9uB,OAAZ,EAAoB;AAAC+H,eAAK,EAACl2C,CAAP;AAASq7D,oBAAU,EAAC,CAAC,CAArB;AAAuBE,yBAAe,EAAC,CAAC;AAAxC,SAApB,CAAP;AAAwE;;AAAA,aAAO71F,CAAP;AAAS,KAA5Z,EAA6ZA,CAApa;AAAsa,GAAtiB,CAAuiBw1F,EAAviB,CAAP;;AAAkjBiC,IAAE,CAAC19E,SAAH,CAAa2vE,YAAb,GAA0B,aAA1B,EAAwClhB,EAAE,CAACuD,iBAAH,CAAqB,kBAArB,EAAwC0rB,EAAxC,CAAxC;;AAAoF,MAAIC,EAAE,GAAC,UAAShzE,CAAT,EAAW;AAAC,aAAS1kB,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAA,UAAMu5B,CAAC,GAACqM,CAAC,CAACgxD,IAAV;AAAA,UAAe72B,CAAC,GAAC79C,UAAU,CAACqX,CAAD,EAAG,EAAH,CAA3B;AAAkC,aAAOqM,CAAC,CAACusC,KAAF,GAAQ54C,CAAR,EAAUqM,CAAC,CAACtQ,QAAF,GAAW,MAAIyqC,CAAzB,EAA2Bn6B,CAAC,CAACgvD,UAAF,GAAa,CAAC,CAAzC,EAA2ChvD,CAAC,CAACkvD,eAAF,GAAkB,CAAC,CAA9D,EAAgE,CAAC90F,CAAC,GAAC2jB,CAAC,CAAC/e,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BusC,KAA3B,GAAiC54C,CAAjG,EAAmGv5B,CAAC,CAAC42F,IAAF,GAAO72B,CAA1G,EAA4G//D,CAAC,CAACsB,EAAF,CAAKrC,CAAL,EAAO,YAAP,EAAoBe,CAAC,CAACmpF,MAAtB,CAA5G,EAA0InpF,CAAjJ;AAAmJ;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAG0kB,CAAH,CAAF;AAAQ,QAAIiiB,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC0kB,OAAC,CAAC3K,SAAF,CAAY8vE,WAAZ,CAAwBlkF,IAAxB,CAA6B,IAA7B,GAAmC,KAAK6G,MAAL,GAAcorF,YAAd,CAA2B,KAAKD,IAAhC,CAAnC;AAAyE,KAAnG,EAAoGhxD,CAAC,CAACujD,MAAF,GAAS,UAASlqF,CAAT,EAAW;AAAC,WAAKq2B,QAAL,CAAc,KAAK7pB,MAAL,GAAcorF,YAAd,OAA+B,KAAKD,IAAlD;AAAwD,KAAjL,EAAkL33F,CAAzL;AAA2L,GAAta,CAAua01F,EAAva,CAAP;;AAAkbgC,IAAE,CAAC39E,SAAH,CAAa26E,aAAb,GAA2B,QAA3B,EAAoClsB,EAAE,CAACuD,iBAAH,CAAqB,sBAArB,EAA4C2rB,EAA5C,CAApC;;AAAoF,MAAIG,EAAE,GAAC,UAASv9D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BmxD,gBAA3B,IAA8C/2F,CAAC,CAACg3F,WAAF,EAA9C,EAA8Dh3F,CAAC,CAACsB,EAAF,CAAKrC,CAAL,EAAO,WAAP,EAAmBe,CAAC,CAAC+2F,gBAArB,CAA9D,EAAqG/2F,CAAC,CAACsB,EAAF,CAAKrC,CAAL,EAAO,YAAP,EAAoBe,CAAC,CAACg3F,WAAtB,CAArG,EAAwIh3F,CAA9I;AAAgJ;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,UAAI7jE,CAAC,GAACs6B,CAAC,CAACvgB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,CAAN;AAAsC,aAAO,KAAKqyF,QAAL,GAAcp2B,CAAC,CAAC,KAAD,EAAO;AAAC3vC,iBAAS,EAAC,yBAAX;AAAqCQ,iBAAS,EAAC;AAA/C,OAAP,CAAf,EAA4EzyB,CAAC,CAACkoB,WAAF,CAAc,KAAK8vE,QAAnB,CAA5E,EAAyGh4F,CAAhH;AAAkH,KAA9K,EAA+K2mC,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAKumF,QAAL,GAAc,IAAd,EAAmB19D,CAAC,CAACvgB,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAAnB;AAAkD,KAAtP,EAAuPghC,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,uBAAqBxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAA3B;AAAgE,KAAlV,EAAmVghC,CAAC,CAAC0uD,oBAAF,GAAuB,YAAU;AAAC,aAAM,uBAAqB/6D,CAAC,CAACvgB,SAAF,CAAYs7E,oBAAZ,CAAiC1vF,IAAjC,CAAsC,IAAtC,CAA3B;AAAuE,KAA5b,EAA6bghC,CAAC,CAACuuD,UAAF,GAAa,YAAU;AAAC,UAAIl1F,CAAC,GAAC,IAAI+zF,EAAJ,CAAO,KAAKvnF,MAAL,EAAP,CAAN;AAAA,UAA4Bm6B,CAAC,GAAC,KAAKsxD,aAAL,EAA9B;AAAmD,UAAGtxD,CAAH,EAAK,KAAI,IAAI5lC,CAAC,GAAC4lC,CAAC,CAACzjC,MAAF,GAAS,CAAnB,EAAqB,KAAGnC,CAAxB,EAA0BA,CAAC,EAA3B;AAA8Bf,SAAC,CAACwqE,QAAF,CAAW,IAAIktB,EAAJ,CAAO,KAAKlrF,MAAL,EAAP,EAAqB;AAACmrF,cAAI,EAAChxD,CAAC,CAAC5lC,CAAD,CAAD,GAAK;AAAX,SAArB,CAAX;AAA9B;AAAgF,aAAOf,CAAP;AAAS,KAAtmB,EAAumB2mC,CAAC,CAACksD,oBAAF,GAAuB,YAAU;AAAC,WAAKtuE,EAAL,GAAUtC,YAAV,CAAuB,eAAvB,EAAuC,KAAKzV,MAAL,GAAcorF,YAAd,EAAvC;AAAqE,KAA9sB,EAA+sBjxD,CAAC,CAACkjD,WAAF,GAAc,UAAS7pF,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,KAAKn6B,MAAL,GAAcorF,YAAd,EAAN,EAAmC72F,CAAC,GAAC,KAAKk3F,aAAL,EAArC,EAA0D39D,CAAC,GAACv5B,CAAC,CAAC,CAAD,CAA7D,EAAiE+/D,CAAC,GAAC,CAAvE,EAAyEA,CAAC,GAAC//D,CAAC,CAACmC,MAA7E,EAAoF49D,CAAC,EAArF;AAAwF,YAAG//D,CAAC,CAAC+/D,CAAD,CAAD,GAAKn6B,CAAR,EAAU;AAACrM,WAAC,GAACv5B,CAAC,CAAC+/D,CAAD,CAAH;AAAO;AAAM;AAAhH;;AAAgH,WAAKt0D,MAAL,GAAcorF,YAAd,CAA2Bt9D,CAA3B;AAA8B,KAAv3B,EAAw3BqM,CAAC,CAACsxD,aAAF,GAAgB,YAAU;AAAC,aAAO,KAAKrvB,QAAL,CAAcqvB,aAAd,IAA6B,KAAKrvB,QAAL,CAAciC,aAAd,IAA6B,KAAKjC,QAAL,CAAciC,aAAd,CAA4BotB,aAA7F;AAA2G,KAA9/B,EAA+/BtxD,CAAC,CAACuxD,qBAAF,GAAwB,YAAU;AAAC,aAAO,KAAK1rF,MAAL,GAAc+tE,KAAd,IAAqB,KAAK/tE,MAAL,GAAc+tE,KAAd,CAAoB6L,oBAAzC,IAA+D,KAAK6R,aAAL,EAA/D,IAAqF,IAAE,KAAKA,aAAL,GAAqB/0F,MAAnH;AAA0H,KAA5pC,EAA6pCyjC,CAAC,CAACmxD,gBAAF,GAAmB,UAAS93F,CAAT,EAAW;AAAC,WAAKk4F,qBAAL,KAA6B,KAAKz2F,WAAL,CAAiB,YAAjB,CAA7B,GAA4D,KAAKuD,QAAL,CAAc,YAAd,CAA5D;AAAwF,KAApxC,EAAqxC2hC,CAAC,CAACoxD,WAAF,GAAc,UAAS/3F,CAAT,EAAW;AAAC,WAAKk4F,qBAAL,OAA+B,KAAKF,QAAL,CAAcvlE,SAAd,GAAwB,KAAKjmB,MAAL,GAAcorF,YAAd,KAA6B,GAApF;AAAyF,KAAx4C,EAAy4C53F,CAAh5C;AAAk5C,GAA9lD,CAA+lD60F,EAA/lD,CAAP;;AAA0mDgD,IAAE,CAAC99E,SAAH,CAAa2vE,YAAb,GAA0B,eAA1B,EAA0ClhB,EAAE,CAACuD,iBAAH,CAAqB,wBAArB,EAA8C8rB,EAA9C,CAA1C;;AAA4F,MAAIM,EAAE,GAAC,UAASn4F,CAAT,EAAW;AAAC,aAAS2mC,CAAT,GAAY;AAAC,aAAO3mC,CAAC,CAAC0F,KAAF,CAAQ,IAAR,EAAawjB,SAAb,KAAyB,IAAhC;AAAqC;;AAAAwjD,MAAE,CAAC/lC,CAAD,EAAG3mC,CAAH,CAAF;AAAQ,QAAIe,CAAC,GAAC4lC,CAAC,CAAC5sB,SAAR;AAAkB,WAAOhZ,CAAC,CAAC+pE,aAAF,GAAgB,YAAU;AAAC,aAAM,gBAAc9qE,CAAC,CAAC+Z,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAApB;AAAyD,KAApF,EAAqF5E,CAAC,CAAC8iE,QAAF,GAAW,YAAU;AAAC,aAAO7jE,CAAC,CAAC+Z,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC,KAAK64C,aAAL;AAAX,OAArC,CAAP;AAA8E,KAAzL,EAA0LnkC,CAAjM;AAAmM,GAA3R,CAA4R6hC,EAA5R,CAAP;;AAAuSA,IAAE,CAACuD,iBAAH,CAAqB,QAArB,EAA8BosB,EAA9B;;AAAkC,MAAIrW,EAAE,GAAC,UAASn7C,CAAT,EAAW;AAAC,aAAS3mC,CAAT,GAAY;AAAC,aAAO2mC,CAAC,CAACjhC,KAAF,CAAQ,IAAR,EAAawjB,SAAb,KAAyB,IAAhC;AAAqC;;AAAAwjD,MAAE,CAAC1sE,CAAD,EAAG2mC,CAAH,CAAF;AAAQ,QAAI5lC,CAAC,GAACf,CAAC,CAAC+Z,SAAR;AAAkB,WAAOhZ,CAAC,CAAC+pE,aAAF,GAAgB,YAAU;AAAC,aAAM,+BAA6BnkC,CAAC,CAAC5sB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAAnC;AAAwE,KAAnG,EAAoG5E,CAAC,CAAC8iE,QAAF,GAAW,YAAU;AAAC,UAAI7jE,CAAC,GAAC2mC,CAAC,CAAC5sB,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B;AAACssB,iBAAS,EAAC,KAAK64C,aAAL;AAAX,OAA/B,CAAN;AAAuE,aAAO9qE,CAAC,CAACyyB,SAAF,GAAY,GAAZ,EAAgBzyB,CAAvB;AAAyB,KAA1N,EAA2NA,CAAlO;AAAoO,GAA5T,CAA6Tm4F,EAA7T,CAAP;;AAAwU3vB,IAAE,CAACuD,iBAAH,CAAqB,qBAArB,EAA2C+V,EAA3C;;AAA+C,MAAIsW,EAAE,GAAC,UAASp4F,CAAT,EAAW;AAAC,aAAS2mC,CAAT,GAAY;AAAC,aAAO3mC,CAAC,CAAC0F,KAAF,CAAQ,IAAR,EAAawjB,SAAb,KAAyB,IAAhC;AAAqC;;AAAA,WAAOwjD,EAAE,CAAC/lC,CAAD,EAAG3mC,CAAH,CAAF,EAAQ2mC,CAAC,CAAC5sB,SAAF,CAAY8pD,QAAZ,GAAqB,YAAU;AAAC,aAAO7jE,CAAC,CAAC+Z,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,EAAqC;AAACssB,iBAAS,EAAC,iBAAX;AAA6B9C,WAAG,EAAC;AAAjC,OAArC,CAAP;AAAqF,KAA7H,EAA8HwX,CAArI;AAAuI,GAArM,CAAsM6hC,EAAtM,CAAP;;AAAiN4vB,IAAE,CAACr+E,SAAH,CAAa6uD,QAAb,GAAsB;AAAC3rD,YAAQ,EAAC,CAAC,YAAD,EAAc,aAAd,EAA4B,oBAA5B,EAAiD,aAAjD,EAA+D,iBAA/D,EAAiF,iBAAjF,EAAmG,aAAnG,EAAiH,YAAjH,EAA8H,sBAA9H,EAAqJ,qBAArJ,EAA2K,wBAA3K,EAAoM,gBAApM,EAAqN,oBAArN,EAA0O,gBAA1O,EAA2P,kBAA3P,EAA8Q,kBAA9Q;AAAV,GAAtB,EAAmU,0BAAyBwjD,CAAzB,IAA4B23B,EAAE,CAACr+E,SAAH,CAAa6uD,QAAb,CAAsB3rD,QAAtB,CAA+BzC,MAA/B,CAAsC49E,EAAE,CAACr+E,SAAH,CAAa6uD,QAAb,CAAsB3rD,QAAtB,CAA+B/Z,MAA/B,GAAsC,CAA5E,EAA8E,CAA9E,EAAgF,wBAAhF,CAA/V,EAAycslE,EAAE,CAACuD,iBAAH,CAAqB,YAArB,EAAkCqsB,EAAlC,CAAzc;;AAA+e,MAAIC,EAAE,GAAC,UAAS/9D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAM,CAACA,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2BtkC,EAA3B,CAA8BrC,CAA9B,EAAgC,OAAhC,EAAwCe,CAAC,CAACq/C,IAA1C,GAAgDr/C,CAAtD;AAAwD;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAM,uBAAqBxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,CAA3B;AAAgE,KAA3F,EAA4FghC,CAAC,CAAC7K,OAAF,GAAU,YAAU;AAAC,UAAI97B,CAAC,GAAC,KAAKwM,MAAL,GAAcvH,KAAd,EAAN;AAA4B,aAAOjF,CAAC,GAAC,KAAK+pE,QAAL,CAAc/pE,CAAC,CAACie,OAAhB,CAAD,GAA0B,EAAlC;AAAqC,KAAlL,EAAmLje,CAA1L;AAA4L,GAAhT,CAAiTyyE,EAAjT,CAAP;;AAA4T4lB,IAAE,CAACt+E,SAAH,CAAa6uD,QAAb,GAAsB9H,CAAC,CAAC,EAAD,EAAI2R,EAAE,CAAC14D,SAAH,CAAa6uD,QAAjB,EAA0B;AAAC2K,eAAW,EAAC,CAAC,CAAd;AAAgBH,cAAU,EAAC,CAAC,CAA5B;AAA8BS,aAAS,EAAC,CAAC,CAAzC;AAA2Cf,eAAW,EAAC,CAAC;AAAxD,GAA1B,CAAvB,EAA6GtK,EAAE,CAACuD,iBAAH,CAAqB,cAArB,EAAoCssB,EAApC,CAA7G;AAAqJ,MAAIC,EAAE,GAAC,yBAAP;AAAA,MAAiCC,EAAE,GAAC,CAAC,MAAD,EAAQ,OAAR,CAApC;AAAA,MAAqDC,EAAE,GAAC,CAAC,MAAD,EAAQ,MAAR,CAAxD;AAAA,MAAwEC,EAAE,GAAC,CAAC,MAAD,EAAQ,MAAR,CAA3E;AAAA,MAA2FC,EAAE,GAAC,CAAC,MAAD,EAAQ,OAAR,CAA9F;AAAA,MAA+GC,EAAE,GAAC,CAAC,MAAD,EAAQ,SAAR,CAAlH;AAAA,MAAqIC,EAAE,GAAC,CAAC,MAAD,EAAQ,KAAR,CAAxI;AAAA,MAAuJC,EAAE,GAAC,CAAC,MAAD,EAAQ,OAAR,CAA1J;AAAA,MAA2KC,EAAE,GAAC,CAAC,MAAD,EAAQ,QAAR,CAA9K;AAAA,MAAgMC,EAAE,GAAC,CAAC,GAAD,EAAK,QAAL,CAAnM;AAAA,MAAkNC,EAAE,GAAC,CAAC,KAAD,EAAO,kBAAP,CAArN;AAAA,MAAgPC,EAAE,GAAC,CAAC,GAAD,EAAK,aAAL,CAAnP;AAAA,MAAuQC,EAAE,GAAC;AAACla,mBAAe,EAAC;AAAC12D,cAAQ,EAAC,wBAAV;AAAmCrnB,QAAE,EAAC,8BAAtC;AAAqEiyE,WAAK,EAAC,OAA3E;AAAmFn3D,aAAO,EAAC,CAACw8E,EAAD,EAAIM,EAAJ,EAAOD,EAAP,EAAUF,EAAV,EAAaF,EAAb,EAAgBM,EAAhB,EAAmBH,EAAnB,EAAsBF,EAAtB;AAA3F,KAAjB;AAAuIvM,qBAAiB,EAAC;AAAC5jE,cAAQ,EAAC,0BAAV;AAAqCrnB,QAAE,EAAC,gCAAxC;AAAyEiyE,WAAK,EAAC,cAA/E;AAA8Fn3D,aAAO,EAAC,CAACg9E,EAAD,EAAIC,EAAJ,EAAOC,EAAP;AAAtG,KAAzJ;AAA2Qla,SAAK,EAAC;AAACz2D,cAAQ,EAAC,wBAAV;AAAmCrnB,QAAE,EAAC,8BAAtC;AAAqEiyE,WAAK,EAAC,OAA3E;AAAmFn3D,aAAO,EAAC,CAAC88E,EAAD,EAAIN,EAAJ,EAAOK,EAAP,EAAUF,EAAV,EAAaF,EAAb,EAAgBM,EAAhB,EAAmBH,EAAnB,EAAsBF,EAAtB;AAA3F,KAAjR;AAAuYpM,aAAS,EAAC;AAAC/jE,cAAQ,EAAC,0BAAV;AAAqCrnB,QAAE,EAAC,IAAxC;AAA6CiyE,WAAK,EAAC,iBAAnD;AAAqEn3D,aAAO,EAAC,CAAC,CAAC,MAAD,EAAQ,MAAR,CAAD,EAAiB,CAAC,QAAD,EAAU,QAAV,CAAjB,EAAqC,CAAC,WAAD,EAAa,WAAb,CAArC,EAA+D,CAAC,SAAD,EAAW,SAAX,CAA/D,EAAqF,CAAC,YAAD,EAAc,YAAd,CAArF;AAA7E,KAAjZ;AAAilBywE,cAAU,EAAC;AAAClkE,cAAQ,EAAC,2BAAV;AAAsCrnB,QAAE,EAAC,yBAAzC;AAAmEiyE,WAAK,EAAC,aAAzE;AAAuFn3D,aAAO,EAAC,CAAC,CAAC,uBAAD,EAAyB,yBAAzB,CAAD,EAAqD,CAAC,oBAAD,EAAsB,sBAAtB,CAArD,EAAmG,CAAC,mBAAD,EAAqB,oBAArB,CAAnG,EAA8I,CAAC,gBAAD,EAAkB,iBAAlB,CAA9I,EAAmL,CAAC,QAAD,EAAU,QAAV,CAAnL,EAAuM,CAAC,QAAD,EAAU,QAAV,CAAvM,EAA2N,CAAC,YAAD,EAAc,YAAd,CAA3N;AAA/F,KAA5lB;AAAo7BwwE,eAAW,EAAC;AAACjkE,cAAQ,EAAC,4BAAV;AAAuCrnB,QAAE,EAAC,uBAA1C;AAAkEiyE,WAAK,EAAC,WAAxE;AAAoFn3D,aAAO,EAAC,CAAC,CAAC,MAAD,EAAQ,KAAR,CAAD,EAAgB,CAAC,MAAD,EAAQ,KAAR,CAAhB,EAA+B,CAAC,MAAD,EAAQ,MAAR,CAA/B,EAA+C,CAAC,MAAD,EAAQ,MAAR,CAA/C,EAA+D,CAAC,MAAD,EAAQ,MAAR,CAA/D,EAA+E,CAAC,MAAD,EAAQ,MAAR,CAA/E,EAA+F,CAAC,MAAD,EAAQ,MAAR,CAA/F,EAA+G,CAAC,MAAD,EAAQ,MAAR,CAA/G,EAA+H,CAAC,MAAD,EAAQ,MAAR,CAA/H,CAA5F;AAA4O,iBAAQ,CAApP;AAAsPo9E,YAAM,EAAC,gBAASn5F,CAAT,EAAW;AAAC,eAAM,WAASA,CAAT,GAAW,IAAX,GAAgBynD,MAAM,CAACznD,CAAD,CAA5B;AAAgC;AAAzS,KAAh8B;AAA2uCisF,eAAW,EAAC;AAAC3jE,cAAQ,EAAC,4BAAV;AAAuCrnB,QAAE,EAAC,gCAA1C;AAA2EiyE,WAAK,EAAC,cAAjF;AAAgGn3D,aAAO,EAAC,CAACg9E,EAAD,EAAIC,EAAJ;AAAxG,KAAvvC;AAAw2C7M,eAAW,EAAC;AAAC7jE,cAAQ,EAAC,4BAAV;AAAuCrnB,QAAE,EAAC,0BAA1C;AAAqEiyE,WAAK,EAAC;AAA3E,KAAp3C;AAAw8CkZ,iBAAa,EAAC;AAAC9jE,cAAQ,EAAC,8BAAV;AAAyCrnB,QAAE,EAAC,4BAA5C;AAAyEiyE,WAAK,EAAC,cAA/E;AAA8Fn3D,aAAO,EAAC,CAACk9E,EAAD,EAAID,EAAJ,EAAOD,EAAP;AAAtG;AAAt9C,GAA1Q;;AAAm1D,WAASK,EAAT,CAAYp5F,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAGA,CAAC,KAAG3mC,CAAC,GAAC2mC,CAAC,CAAC3mC,CAAD,CAAN,CAAD,EAAYA,CAAC,IAAE,WAASA,CAA3B,EAA6B,OAAOA,CAAP;AAAS;;AAAAk5F,IAAE,CAAC/M,WAAH,CAAepwE,OAAf,GAAuBm9E,EAAE,CAACla,eAAH,CAAmBjjE,OAA1C;;AAAkD,MAAIs9E,EAAE,GAAC,UAAS/+D,CAAT,EAAW;AAAC,aAASt6B,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAM,aAAO4lC,CAAC,CAACktC,SAAF,GAAY,CAAC,CAAb,EAAe,CAAC9yE,CAAC,GAACu5B,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAArB,EAA2B0kD,aAA3B,GAAyC7kB,EAAE,CAAC2F,EAAE,CAACprE,CAAD,CAAH,EAAOA,CAAC,CAACsqF,aAAT,CAA1D,EAAkFtqF,CAAC,CAACsyE,IAAF,EAAlF,EAA2FtyE,CAAC,CAAC4xE,cAAF,GAAiB5xE,CAAC,CAAC6xE,cAAF,GAAiB,CAAC,CAA9H,EAAgI7xE,CAAC,CAACu4F,SAAF,GAAY13B,CAAC,CAAC,GAAD,EAAK;AAAC3vC,iBAAS,EAAC,kBAAX;AAA8B8B,mBAAW,EAAChzB,CAAC,CAACgpE,QAAF,CAAW,uBAAX;AAA1C,OAAL,CAA7I,EAAkOhpE,CAAC,CAACwjB,EAAF,GAAO2D,WAAP,CAAmBnnB,CAAC,CAACu4F,SAArB,CAAlO,EAAkQv4F,CAAC,CAACw4F,WAAF,EAAlQ,EAAkR,KAAK,CAAL,KAAS5yD,CAAC,CAAC6yD,wBAAX,KAAsCz4F,CAAC,CAAC6nE,QAAF,CAAW4wB,wBAAX,GAAoCz4F,CAAC,CAAC6nE,QAAF,CAAWiC,aAAX,CAAyB2uB,wBAAnG,CAAlR,EAA+Yz4F,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACb,CAAF,CAAI,kBAAJ,CAAL,EAA6B,OAA7B,EAAqC,YAAU;AAACa,SAAC,CAAC04F,YAAF,IAAiB14F,CAAC,CAAC4yE,KAAF,EAAjB;AAA2B,OAA3E,CAA/Y,EAA4d5yE,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACb,CAAF,CAAI,qBAAJ,CAAL,EAAgC,OAAhC,EAAwC,YAAU;AAACa,SAAC,CAACw4F,WAAF,IAAgBx4F,CAAC,CAACsqF,aAAF,EAAhB;AAAkC,OAArF,CAA5d,EAAmjBjwE,CAAC,CAAC89E,EAAD,EAAI,UAASl5F,CAAT,EAAW;AAACe,SAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACb,CAAF,CAAIF,CAAC,CAACsoB,QAAN,CAAL,EAAqB,QAArB,EAA8BvnB,CAAC,CAACsqF,aAAhC;AAA+C,OAA/D,CAApjB,EAAqnBtqF,CAAC,CAAC6nE,QAAF,CAAW4wB,wBAAX,IAAqCz4F,CAAC,CAAC24F,eAAF,EAA1pB,EAA8qB34F,CAArrB;AAAurB;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAGs6B,CAAH,CAAF;AAAQ,QAAIqM,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAK6nF,SAAL,GAAe,IAAf,EAAoBh/D,CAAC,CAACvgB,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAApB;AAAmD,KAAxE,EAAyEghC,CAAC,CAACgzD,eAAF,GAAkB,UAAS35F,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAAC,IAAN;AAAW,WAAK,CAAL,KAASqM,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,KAAK,CAAL,KAAS5lC,CAAT,KAAaA,CAAC,GAAC,OAAf,CAAnB;AAA2C,UAAI+/D,CAAC,GAACo4B,EAAE,CAACl5F,CAAD,CAAR;AAAA,UAAY0kB,CAAC,GAACo8C,CAAC,CAAC7/D,EAAF,CAAKoD,OAAL,CAAa,IAAb,EAAkB,KAAKwkE,GAAvB,CAAd;AAAA,UAA0CztD,CAAC,GAAC,CAACurB,CAAD,EAAGjiB,CAAH,EAAMyL,IAAN,CAAW,GAAX,EAAgB0zB,IAAhB,EAA5C;AAAmE,aAAM,CAAC,MAAI9iD,CAAJ,GAAM,OAAN,GAAc2jB,CAAd,GAAgB,WAAhB,IAA6B,YAAU3jB,CAAV,GAAY,WAAZ,GAAwB,EAArD,IAAyD,IAA1D,EAA+D,KAAKgpE,QAAL,CAAcjJ,CAAC,CAACoS,KAAhB,CAA/D,EAAsF,OAAKnyE,CAAL,GAAO,GAA7F,EAAiG,8BAA4Bqa,CAA5B,GAA8B,IAA/H,EAAqI2L,MAArI,CAA4I+5C,CAAC,CAAC/kD,OAAF,CAAUkN,GAAV,CAAc,UAASjpB,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAACjiB,CAAC,GAAC,GAAF,GAAM1kB,CAAC,CAAC,CAAD,CAAD,CAAKqE,OAAL,CAAa,MAAb,EAAoB,EAApB,CAAZ;AAAoC,eAAM,CAAC,iBAAesiC,CAAf,GAAiB,WAAjB,GAA6B3mC,CAAC,CAAC,CAAD,CAA9B,GAAkC,IAAnC,EAAwC,sBAAoBob,CAApB,GAAsB,GAAtB,GAA0BurB,CAA1B,GAA4B,IAApE,EAAyErM,CAAC,CAACyvC,QAAF,CAAW/pE,CAAC,CAAC,CAAD,CAAZ,CAAzE,EAA0F,WAA1F,EAAuGmwB,IAAvG,CAA4G,EAA5G,CAAN;AAAsH,OAApL,CAA5I,EAAmUpJ,MAAnU,CAA0U,WAA1U,EAAuVoJ,IAAvV,CAA4V,EAA5V,CAAN;AAAsW,KAA1kB,EAA2kBwW,CAAC,CAACizD,gBAAF,GAAmB,YAAU;AAAC,UAAI55F,CAAC,GAAC,0BAAwB,KAAK6oE,GAAnC;AAAuC,aAAM,CAAC,mDAAD,EAAqD,iBAAe7oE,CAAf,GAAiB,IAAtE,EAA2E,KAAK+pE,QAAL,CAAc,MAAd,CAA3E,EAAiG,WAAjG,EAA6G,KAAK4vB,eAAL,CAAqB,OAArB,EAA6B35F,CAA7B,CAA7G,EAA6I,6CAA7I,EAA2L,KAAK25F,eAAL,CAAqB,aAArB,EAAmC35F,CAAnC,CAA3L,EAAiO,SAAjO,EAA2O,aAA3O,EAA0PmwB,IAA1P,CAA+P,EAA/P,CAAN;AAAyQ,KAAz5B,EAA05BwW,CAAC,CAACkzD,gBAAF,GAAmB,YAAU;AAAC,UAAI75F,CAAC,GAAC,yBAAuB,KAAK6oE,GAAlC;AAAsC,aAAM,CAAC,mDAAD,EAAqD,iBAAe7oE,CAAf,GAAiB,IAAtE,EAA2E,KAAK+pE,QAAL,CAAc,YAAd,CAA3E,EAAuG,WAAvG,EAAmH,KAAK4vB,eAAL,CAAqB,iBAArB,EAAuC35F,CAAvC,CAAnH,EAA6J,2CAA7J,EAAyM,KAAK25F,eAAL,CAAqB,mBAArB,EAAyC35F,CAAzC,CAAzM,EAAqP,SAArP,EAA+P,aAA/P,EAA8QmwB,IAA9Q,CAAmR,EAAnR,CAAN;AAA6R,KAA3vC,EAA4vCwW,CAAC,CAACmzD,iBAAF,GAAoB,YAAU;AAAC,UAAI95F,CAAC,GAAC,qBAAmB,KAAK6oE,GAA9B;AAAkC,aAAM,CAAC,uDAAD,EAAyD,iBAAe7oE,CAAf,GAAiB,IAA1E,EAA+E,KAAK+pE,QAAL,CAAc,QAAd,CAA/E,EAAuG,WAAvG,EAAmH,KAAK4vB,eAAL,CAAqB,aAArB,EAAmC35F,CAAnC,CAAnH,EAAyJ,+CAAzJ,EAAyM,KAAK25F,eAAL,CAAqB,eAArB,EAAqC35F,CAArC,CAAzM,EAAiP,SAAjP,EAA2P,aAA3P,EAA0QmwB,IAA1Q,CAA+Q,EAA/Q,CAAN;AAAyR,KAAtlD,EAAulDwW,CAAC,CAACozD,eAAF,GAAkB,YAAU;AAAC,aAAOn4B,CAAC,CAAC,KAAD,EAAO;AAAC3vC,iBAAS,EAAC,2BAAX;AAAuCQ,iBAAS,EAAC,CAAC,KAAKmnE,gBAAL,EAAD,EAAyB,KAAKC,gBAAL,EAAzB,EAAiD,KAAKC,iBAAL,EAAjD,EAA2E3pE,IAA3E,CAAgF,EAAhF;AAAjD,OAAP,CAAR;AAAsJ,KAA1wD,EAA2wDwW,CAAC,CAACqzD,aAAF,GAAgB,YAAU;AAAC,aAAOp4B,CAAC,CAAC,KAAD,EAAO;AAAC3vC,iBAAS,EAAC,yBAAX;AAAqCQ,iBAAS,EAAC,CAAC,uDAAD,EAAyD,KAAKknE,eAAL,CAAqB,aAArB,EAAmC,EAAnC,EAAsC,QAAtC,CAAzD,EAAyG,aAAzG,EAAuH,qDAAvH,EAA6K,KAAKA,eAAL,CAAqB,WAArB,EAAiC,EAAjC,EAAoC,QAApC,CAA7K,EAA2N,aAA3N,EAAyO,sDAAzO,EAAgS,KAAKA,eAAL,CAAqB,YAArB,EAAkC,EAAlC,EAAqC,QAArC,CAAhS,EAA+U,aAA/U,EAA8VxpE,IAA9V,CAAmW,EAAnW;AAA/C,OAAP,CAAR;AAAua,KAA7sE,EAA8sEwW,CAAC,CAACszD,iBAAF,GAAoB,YAAU;AAAC,UAAIj6F,CAAC,GAAC,KAAK+pE,QAAL,CAAc,4CAAd,CAAN;AAAkE,aAAOnI,CAAC,CAAC,KAAD,EAAO;AAAC3vC,iBAAS,EAAC,6BAAX;AAAyCQ,iBAAS,EAAC,CAAC,6DAA2DzyB,CAA3D,GAA6D,IAA9D,EAAmE,KAAK+pE,QAAL,CAAc,OAAd,CAAnE,EAA0F,qCAAmC/pE,CAAnC,GAAqC,SAA/H,EAAyI,WAAzI,EAAqJ,mDAAiD,KAAK+pE,QAAL,CAAc,MAAd,CAAjD,GAAuE,WAA5N,EAAyO55C,IAAzO,CAA8O,EAA9O;AAAnD,OAAP,CAAR;AAAsT,KAArmF,EAAsmFwW,CAAC,CAAC7K,OAAF,GAAU,YAAU;AAAC,aAAM,CAAC,KAAKi+D,eAAL,EAAD,EAAwB,KAAKC,aAAL,EAAxB,EAA6C,KAAKC,iBAAL,EAA7C,CAAN;AAA6E,KAAxsF,EAAysFtzD,CAAC,CAACusC,KAAF,GAAQ,YAAU;AAAC,aAAO,KAAKnJ,QAAL,CAAc,yBAAd,CAAP;AAAgD,KAA5wF,EAA6wFpjC,CAAC,CAACssC,WAAF,GAAc,YAAU;AAAC,aAAO,KAAKlJ,QAAL,CAAc,sEAAd,CAAP;AAA6F,KAAn4F,EAAo4FpjC,CAAC,CAACmkC,aAAF,GAAgB,YAAU;AAAC,aAAOxwC,CAAC,CAACvgB,SAAF,CAAY+wD,aAAZ,CAA0BnlE,IAA1B,CAA+B,IAA/B,IAAqC,0BAA5C;AAAuE,KAAt+F,EAAu+FghC,CAAC,CAACqlD,SAAF,GAAY,YAAU;AAAC,UAAIlrB,CAAC,GAAC,IAAN;AAAW,aAAO,UAAS//D,CAAT,EAAWu5B,CAAX,EAAat6B,CAAb,EAAe;AAAC,eAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,CAAf,GAAkB0kB,CAAC,CAAC3jB,CAAD,CAAD,CAAKwpE,MAAL,CAAY,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,iBAAOrM,CAAC,CAACt6B,CAAD,EAAGe,CAAC,CAAC4lC,CAAD,CAAJ,EAAQA,CAAR,CAAR;AAAmB,SAA7C,EAA8C3mC,CAA9C,CAAzB;AAA0E,OAA1F,CAA2Fk5F,EAA3F,EAA8F,UAASl5F,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAIu5B,CAAC,GAAC,UAASt6B,CAAT,EAAW2mC,CAAX,EAAa;AAAC,iBAAOyyD,EAAE,CAACp5F,CAAC,CAAC+b,OAAF,CAAU/b,CAAC,CAAC+b,OAAF,CAAUua,aAApB,EAAmCjR,KAApC,EAA0CshB,CAA1C,CAAT;AAAsD,SAApE,CAAqEm6B,CAAC,CAAC5gE,CAAF,CAAIymC,CAAC,CAACre,QAAN,CAArE,EAAqFqe,CAAC,CAACwyD,MAAvF,CAAN;;AAAqG,eAAO,KAAK,CAAL,KAAS7+D,CAAT,KAAat6B,CAAC,CAACe,CAAD,CAAD,GAAKu5B,CAAlB,GAAqBt6B,CAA5B;AAA8B,OAAjP,EAAkP,EAAlP,CAAP;AAA6P,KAAtwG,EAAuwG2mC,CAAC,CAACuzD,SAAF,GAAY,UAASn5F,CAAT,EAAW;AAAC,UAAIu5B,CAAC,GAAC,IAAN;AAAWlf,OAAC,CAAC89E,EAAD,EAAI,UAASl5F,CAAT,EAAW2mC,CAAX,EAAa;AAAC,SAAC,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,cAAG4lC,CAAH,EAAK,KAAI,IAAIrM,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACt6B,CAAC,CAAC+b,OAAF,CAAU7Y,MAAxB,EAA+Bo3B,CAAC,EAAhC;AAAmC,gBAAG8+D,EAAE,CAACp5F,CAAC,CAAC+b,OAAF,CAAUue,CAAV,EAAajV,KAAd,EAAoBtkB,CAApB,CAAF,KAA2B4lC,CAA9B,EAAgC;AAAC3mC,eAAC,CAACs2B,aAAF,GAAgBgE,CAAhB;AAAkB;AAAM;AAA5F;AAA6F,SAAlH,CAAmHA,CAAC,CAACp6B,CAAF,CAAIF,CAAC,CAACsoB,QAAN,CAAnH,EAAmIvnB,CAAC,CAAC4lC,CAAD,CAApI,EAAwI3mC,CAAC,CAACm5F,MAA1I,CAAD;AAAmJ,OAArK,CAAD;AAAwK,KAAl9G,EAAm9GxyD,CAAC,CAAC4yD,WAAF,GAAc,YAAU;AAAC,UAAIx4F,CAAC,GAAC,IAAN;AAAWqa,OAAC,CAAC89E,EAAD,EAAI,UAASl5F,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC3mC,CAAC,CAAC0S,cAAF,CAAiB,SAAjB,IAA4B1S,CAAC,WAA7B,GAAsC,CAA5C;AAA8Ce,SAAC,CAACb,CAAF,CAAIF,CAAC,CAACsoB,QAAN,EAAgBgO,aAAhB,GAA8BqQ,CAA9B;AAAgC,OAA9F,CAAD;AAAiG,KAAxlH,EAAylHA,CAAC,CAAC+yD,eAAF,GAAkB,YAAU;AAAC,UAAI15F,CAAJ;;AAAM,UAAG;AAACA,SAAC,GAAC8O,IAAI,CAACC,KAAL,CAAWuT,CAAC,CAACkqC,YAAF,CAAeC,OAAf,CAAuB6rC,EAAvB,CAAX,CAAF;AAAyC,OAA7C,CAA6C,OAAMt4F,CAAN,EAAQ;AAACozC,SAAC,CAAC5T,IAAF,CAAOx/B,CAAP;AAAU;;AAAAA,OAAC,IAAE,KAAKk6F,SAAL,CAAel6F,CAAf,CAAH;AAAqB,KAAjtH,EAAktH2mC,CAAC,CAAC8yD,YAAF,GAAe,YAAU;AAAC,UAAG,KAAK7wB,QAAL,CAAc4wB,wBAAjB,EAA0C;AAAC,YAAIx5F,CAAC,GAAC,KAAKgsF,SAAL,EAAN;;AAAuB,YAAG;AAACxlF,gBAAM,CAAC8pB,IAAP,CAAYtwB,CAAZ,EAAekD,MAAf,GAAsBof,CAAC,CAACkqC,YAAF,CAAenD,OAAf,CAAuBivC,EAAvB,EAA0BxpF,IAAI,CAAC6C,SAAL,CAAe3R,CAAf,CAA1B,CAAtB,GAAmEsiB,CAAC,CAACkqC,YAAF,CAAeE,UAAf,CAA0B4rC,EAA1B,CAAnE;AAAiG,SAArG,CAAqG,OAAMt4F,CAAN,EAAQ;AAACozC,WAAC,CAAC5T,IAAF,CAAOx/B,CAAP;AAAU;AAAC;AAAC,KAAx6H,EAAy6H2mC,CAAC,CAAC0kD,aAAF,GAAgB,YAAU;AAAC,UAAIrrF,CAAC,GAAC,KAAKyoE,OAAL,CAAa4B,QAAb,CAAsB,kBAAtB,CAAN;AAAgDrqE,OAAC,IAAEA,CAAC,CAACqrF,aAAF,EAAH;AAAqB,KAAzgI,EAA0gI1kD,CAAC,CAACitC,gBAAF,GAAmB,YAAU;AAAC,WAAKT,mBAAL,GAAyB,IAAzB;AAA8B,UAAInzE,CAAC,GAAC,KAAKyoE,OAAL,CAAa0xB,UAAnB;AAAA,UAA8BxzD,CAAC,GAAC3mC,CAAC,IAAEA,CAAC,CAACo6F,cAArC;AAAA,UAAoDr5F,CAAC,GAACf,CAAC,IAAEA,CAAC,CAACq6F,cAA3D;AAA0E1zD,OAAC,GAACA,CAAC,CAACuE,KAAF,EAAD,GAAWnqC,CAAC,IAAEA,CAAC,CAACmqC,KAAF,EAAf;AAAyB,KAAzqI,EAA0qIlrC,CAAjrI;AAAmrI,GAAt6J,CAAu6JyyE,EAAv6J,CAAP;;AAAk7JjK,IAAE,CAACuD,iBAAH,CAAqB,mBAArB,EAAyCstB,EAAzC;;AAA6C,MAAIiB,EAAE,GAAC,UAAS51E,CAAT,EAAW;AAAC,aAAS1kB,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAA,UAAMu5B,CAAC,GAACqM,CAAC,CAAC4zD,cAAF,IAAkBj4E,CAAC,CAACi4E,cAA5B;AAA2C,eAAO5zD,CAAC,CAAC4zD,cAAT,KAA0BjgE,CAAC,GAAC,CAAC,CAA7B;AAAgC,UAAIwmC,CAAC,GAACyH,EAAE,CAAC;AAAC1E,gBAAQ,EAAC,CAACvpC,CAAX;AAAasvC,2BAAmB,EAAC,CAAC;AAAlC,OAAD,EAAsCjjC,CAAtC,CAAR;AAAiD,aAAM,CAAC5lC,CAAC,GAAC2jB,CAAC,CAAC/e,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc8gE,CAAd,KAAkB,IAArB,EAA2By5B,cAA3B,GAA0C5zD,CAAC,CAAC4zD,cAAF,IAAkBj4E,CAAC,CAACi4E,cAA9D,EAA6Ex5F,CAAC,CAACy5F,aAAF,GAAgB,IAA7F,EAAkGz5F,CAAC,CAAC05F,eAAF,GAAkB,IAApH,EAAyH15F,CAAC,CAAC25F,iBAAF,GAAoB,UAASpgE,CAAT,EAAWwmC,CAAX,EAAap8C,CAAb,EAAetJ,CAAf,EAAiB;AAAC,YAAIulD,CAAJ;AAAM,aAAK,CAAL,KAASvlD,CAAT,KAAaA,CAAC,GAACkH,CAAf;;AAAkB,iBAAStiB,CAAT,GAAY;AAAC,cAAIA,CAAC,GAAC,IAAN;AAAA,cAAW2mC,CAAC,GAACzd,SAAb;AAAA,cAAuBnoB,GAAC,GAAC,aAAU;AAACA,eAAC,GAAC4/D,CAAC,GAAC,IAAJ,EAASj8C,CAAC,IAAE4V,CAAC,CAAC50B,KAAF,CAAQ1F,CAAR,EAAU2mC,CAAV,CAAZ;AAAyB,WAA7D;;AAA8D,WAACg6B,CAAD,IAAIj8C,CAAJ,IAAO4V,CAAC,CAAC50B,KAAF,CAAQ1F,CAAR,EAAU2mC,CAAV,CAAP,EAAoBvrB,CAAC,CAAC27B,YAAF,CAAe4pB,CAAf,CAApB,EAAsCA,CAAC,GAACvlD,CAAC,CAACtF,UAAF,CAAa/U,GAAb,EAAe+/D,CAAf,CAAxC;AAA0D;;AAAA,eAAO9gE,CAAC,CAAC26F,MAAF,GAAS,YAAU;AAACv/E,WAAC,CAAC27B,YAAF,CAAe4pB,CAAf,GAAkBA,CAAC,GAAC,IAApB;AAAyB,SAA7C,EAA8C3gE,CAArD;AAAuD,OAAtO,CAAuO,YAAU;AAACe,SAAC,CAAC65F,aAAF;AAAkB,OAApQ,EAAqQ,GAArQ,EAAyQ,CAAC,CAA1Q,EAA4QzuB,EAAE,CAACprE,CAAD,CAA9Q,CAA7I,EAAgau5B,CAAC,IAAEv5B,CAAC,CAAC05F,eAAF,GAAkB,IAAI15F,CAAC,CAACw5F,cAAN,CAAqBx5F,CAAC,CAAC25F,iBAAvB,CAAlB,EAA4D35F,CAAC,CAAC05F,eAAF,CAAkBI,OAAlB,CAA0B76F,CAAC,CAACukB,EAAF,EAA1B,CAA9D,KAAkGxjB,CAAC,CAACy5F,aAAF,GAAgB,YAAU;AAAC,YAAGz5F,CAAC,CAACgoE,GAAF,IAAOhoE,CAAC,CAACgoE,GAAF,CAAM+xB,aAAhB,EAA8B;AAAC,cAAI96F,CAAC,GAACe,CAAC,CAAC25F,iBAAR;AAAA,cAA0B/zD,CAAC,GAAC5lC,CAAC,CAACg6F,eAAF,GAAkB,YAAU;AAAC30B,cAAE,CAAC,IAAD,EAAM,QAAN,EAAepmE,CAAf,CAAF,EAAoBomE,EAAE,CAAC,IAAD,EAAM,QAAN,EAAez/B,CAAf,CAAtB,EAAwCA,CAAC,GAAC,IAA1C;AAA+C,WAAxG;;AAAyGw/B,YAAE,CAACplE,CAAC,CAACgoE,GAAF,CAAM+xB,aAAP,EAAqB,QAArB,EAA8Bn0D,CAA9B,CAAF,EAAmCw/B,EAAE,CAACplE,CAAC,CAACgoE,GAAF,CAAM+xB,aAAP,EAAqB,QAArB,EAA8B96F,CAA9B,CAArC;AAAsE;AAAC,OAA1O,EAA2Oe,CAAC,CAACwgB,GAAF,CAAM,MAAN,EAAaxgB,CAAC,CAACy5F,aAAf,CAA7U,CAAja,EAA6wBz5F,CAAnxB;AAAqxB;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAG0kB,CAAH,CAAF;AAAQ,QAAIiiB,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACk9B,QAAF,GAAW,YAAU;AAAC,aAAOn/C,CAAC,CAAC3K,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,QAA/B,EAAwC;AAACssB,iBAAS,EAAC,oBAAX;AAAgCkE,gBAAQ,EAAC,CAAC;AAA1C,OAAxC,EAAqF;AAAC,uBAAc;AAAf,OAArF,CAAP;AAAoH,KAA1I,EAA2IwQ,CAAC,CAACi0D,aAAF,GAAgB,YAAU;AAAC,WAAKnyB,OAAL,IAAc,KAAKA,OAAL,CAAaljE,OAA3B,IAAoC,KAAKkjE,OAAL,CAAaljE,OAAb,CAAqB,cAArB,CAApC;AAAyE,KAA/O,EAAgPohC,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAKipF,iBAAL,IAAwB,KAAKA,iBAAL,CAAuBC,MAAvB,EAAxB,EAAwD,KAAKF,eAAL,KAAuB,KAAKhyB,OAAL,CAAalkD,EAAb,MAAmB,KAAKk2E,eAAL,CAAqBO,SAArB,CAA+B,KAAKvyB,OAAL,CAAalkD,EAAb,EAA/B,CAAnB,EAAqE,KAAKk2E,eAAL,CAAqBQ,UAArB,EAA5F,CAAxD,EAAuL,KAAKT,aAAL,IAAoB,KAAKp4F,GAAL,CAAS,MAAT,EAAgB,KAAKo4F,aAArB,CAA3M,EAA+O,KAAKzxB,GAAL,IAAU,KAAKA,GAAL,CAAS+xB,aAAnB,IAAkC,KAAKC,eAAvC,IAAwD,KAAKA,eAAL,CAAqBp1F,IAArB,CAA0B,KAAKojE,GAAL,CAAS+xB,aAAnC,CAAvS,EAAyV,KAAKP,cAAL,GAAoB,IAA7W,EAAkX,KAAKW,cAAL,GAAoB,IAAtY,EAA2Y,KAAKR,iBAAL,GAAuB,IAAla,EAAua,KAAKF,aAAL,GAAmB,IAA1b,EAA+b91E,CAAC,CAAC3K,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAA/b;AAA8d,KAAnuB,EAAouB3F,CAA3uB;AAA6uB,GAAprD,CAAqrDwoE,EAArrD,CAAP;;AAAgsDA,IAAE,CAACuD,iBAAH,CAAqB,eAArB,EAAqCuuB,EAArC;;AAAyC,MAAIa,EAAE,GAAC;AAACC,qBAAiB,EAAC,EAAnB;AAAsBC,iBAAa,EAAC;AAApC,GAAP;AAAA,MAA+CC,EAAE,GAAC,UAASx6B,CAAT,EAAW;AAAC,aAAS9gE,CAAT,CAAWA,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAA,UAAMu5B,CAAC,GAACiuC,EAAE,CAAC4yB,EAAD,EAAIx0D,CAAJ,EAAM;AAACk9B,gBAAQ,EAAC,CAAC;AAAX,OAAN,CAAV;AAA+B,aAAM,CAAC9iE,CAAC,GAAC+/D,CAAC,CAACn7D,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAcs6B,CAAd,KAAkB,IAArB,EAA2BihE,MAA3B,IAAoCx6F,CAAC,CAACsB,EAAF,CAAKtB,CAAC,CAAC0nE,OAAP,EAAe,gBAAf,EAAgC1nE,CAAC,CAACy6F,oBAAlC,CAApC,EAA4FjuB,EAAE,IAAE,YAAW9M,CAAf,IAAkB,qBAAoBA,CAAtC,IAAyC1/D,CAAC,CAACsB,EAAF,CAAKo+D,CAAL,EAAO,kBAAP,EAA0B1/D,CAAC,CAAC06F,sBAA5B,CAArI,EAAyL16F,CAA/L;AAAiM;;AAAA2rE,MAAE,CAAC1sE,CAAD,EAAG8gE,CAAH,CAAF;AAAQ,QAAIn6B,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAAC80D,sBAAF,GAAyB,YAAU;AAAC,WAAKhzB,OAAL,CAAanpD,QAAb,OAA0B,IAAE,CAA5B,KAAgCmhD,CAAC,CAAC36C,MAAF,GAAS,KAAK41E,YAAL,EAAT,GAA6B,KAAKC,aAAL,EAA7D;AAAmF,KAAvH,EAAwHh1D,CAAC,CAACi1D,UAAF,GAAa,YAAU;AAAC,UAAI57F,CAAC,GAAC,KAAKyoE,OAAL,CAAagf,QAAb,EAAN;;AAA8B,UAAGznF,CAAC,IAAEA,CAAC,CAACkD,MAAR,EAAe;AAAC,YAAIyjC,CAAC,GAAC8gB,MAAM,CAACnlC,CAAC,CAACgjD,WAAF,CAAcvgD,GAAd,GAAoB1b,OAApB,CAA4B,CAA5B,CAAD,CAAZ;AAAA,YAA6CtI,CAAC,GAAC,CAAC,CAAD,KAAK,KAAK86F,SAAV,GAAoB,CAApB,GAAsB,CAACl1D,CAAC,GAAC,KAAKk1D,SAAR,IAAmB,GAAxF;AAA4F,aAAKA,SAAL,GAAel1D,CAAf,EAAiB,KAAKm1D,YAAL,GAAkB,KAAKC,WAAL,KAAmBh7F,CAAtD;AAAwD,YAAIu5B,CAAC,GAAC,KAAKg3D,eAAL,EAAN;AAAA,YAA6BxwB,CAAC,GAAC,KAAK2H,OAAL,CAAa54D,WAAb,EAA/B;AAAA,YAA0D6U,CAAC,GAAC,KAAK+jD,OAAL,CAAax4D,MAAb,MAAuB,KAAK+rF,iBAA5B,IAA+Cr7E,IAAI,CAACkmC,GAAL,CAASvsB,CAAC,GAACwmC,CAAX,IAAc,KAAK8H,QAAL,CAAcyyB,aAAvI;AAAqJ,aAAKY,eAAL,IAAsB3hE,CAAC,KAAG,IAAE,CAA5B,KAAgC5V,CAAC,GAAC,CAAC,CAAnC,GAAsCA,CAAC,KAAG,KAAKw3E,eAAT,KAA2B,KAAKA,eAAL,GAAqBx3E,CAArB,EAAuB,KAAKnf,OAAL,CAAa,gBAAb,CAAlD,CAAtC;AAAwH;AAAC,KAAhmB,EAAimBohC,CAAC,CAAC60D,oBAAF,GAAuB,YAAU;AAAC,WAAK/yB,OAAL,CAAanpD,QAAb,OAA0B,IAAE,CAA5B,IAA+B,KAAKqxE,UAAL,MAAmB,KAAK/nB,QAAL,CAAcwyB,iBAAhE,IAAmF,KAAK3yB,OAAL,CAAaG,QAAb,CAAsBuzB,MAAtB,IAA8B,KAAK1zB,OAAL,CAAazjE,QAAb,CAAsB,YAAtB,CAA9B,EAAkE,KAAK22F,aAAL,EAArJ,KAA4K,KAAKlzB,OAAL,CAAahnE,WAAb,CAAyB,YAAzB,GAAuC,KAAKi6F,YAAL,EAAnN;AAAwO,KAA32B,EAA42B/0D,CAAC,CAACg1D,aAAF,GAAgB,YAAU;AAAC,WAAKS,UAAL,OAAoB,KAAKH,eAAL,KAAuB,KAAKA,eAAL,GAAqB,KAAKxzB,OAAL,CAAa4zB,UAAb,EAA5C,GAAuE,KAAKC,iBAAL,GAAuB,KAAKj9B,WAAL,CAAiB,KAAKu8B,UAAtB,EAAiC,EAAjC,CAA9F,EAAmI,KAAKA,UAAL,EAAnI,EAAqJ,KAAKv5F,EAAL,CAAQ,KAAKomE,OAAb,EAAqB,CAAC,MAAD,EAAQ,OAAR,CAArB,EAAsC,KAAKmzB,UAA3C,CAArJ,EAA4M,KAAKK,eAAL,GAAqB,KAAK55F,EAAL,CAAQ,KAAKomE,OAAb,EAAqB,QAArB,EAA8B,KAAK4kB,YAAnC,CAArB,IAAuE,KAAK9rE,GAAL,CAAS,KAAKknD,OAAd,EAAsB,MAAtB,EAA6B,KAAKykB,UAAlC,GAA8C,KAAK3rE,GAAL,CAAS,KAAKknD,OAAd,EAAsB,YAAtB,EAAmC,KAAK8zB,qBAAxC,CAArH,CAAhO;AAAsZ,KAA7xC,EAA8xC51D,CAAC,CAAC41D,qBAAF,GAAwB,YAAU;AAAC,WAAKN,eAAL,GAAqB,CAAC,CAAtB,EAAwB,KAAK55F,EAAL,CAAQ,KAAKomE,OAAb,EAAqB,QAArB,EAA8B,KAAK4kB,YAAnC,CAAxB;AAAyE,KAA14C,EAA24C1mD,CAAC,CAAC0mD,YAAF,GAAe,YAAU;AAAC,UAAIrtF,CAAC,GAAC2gB,IAAI,CAACkmC,GAAL,CAAS,KAAKyqC,eAAL,KAAuB,KAAK7oB,OAAL,CAAa54D,WAAb,EAAhC,CAAN;AAAkE,WAAKmsF,iBAAL,GAAuB,CAAC,KAAKQ,eAAN,IAAuB,IAAEx8F,CAAhD,EAAkD,KAAKw8F,eAAL,GAAqB,CAAC,CAAxE,EAA0E,KAAKZ,UAAL,EAA1E;AAA4F,KAAnkD,EAAokDj1D,CAAC,CAACumD,UAAF,GAAa,YAAU;AAAC,WAAK3rE,GAAL,CAAS,KAAKknD,OAAd,EAAsB,YAAtB,EAAmC,KAAKsmB,cAAxC;AAAwD,KAAppD,EAAqpDpoD,CAAC,CAAC40D,MAAF,GAAS,YAAU;AAAC,WAAKM,SAAL,GAAe,CAAC,CAAhB,EAAkB,KAAKC,YAAL,GAAkB,CAApC,EAAsC,KAAKW,YAAL,GAAkB,CAAC,CAAzD,EAA2D,KAAKP,eAAL,GAAqB,CAAC,CAAjF,EAAmF,KAAKD,eAAL,GAAqB,CAAC,CAAzG,EAA2G,KAAKD,iBAAL,GAAuB,CAAC,CAAnI,EAAqI,KAAKQ,eAAL,GAAqB,CAAC,CAA3J,EAA6J,KAAK5iC,aAAL,CAAmB,KAAK0iC,iBAAxB,CAA7J,EAAwM,KAAKA,iBAAL,GAAuB,IAA/N,EAAoO,KAAKl6F,GAAL,CAAS,KAAKqmE,OAAd,EAAsB,CAAC,MAAD,EAAQ,OAAR,CAAtB,EAAuC,KAAKmzB,UAA5C,CAApO,EAA4R,KAAKx5F,GAAL,CAAS,KAAKqmE,OAAd,EAAsB,QAAtB,EAA+B,KAAK4kB,YAApC,CAA5R,EAA8U,KAAKjrF,GAAL,CAAS,KAAKqmE,OAAd,EAAsB,MAAtB,EAA6B,KAAKykB,UAAlC,CAA9U,EAA4X,KAAK9qF,GAAL,CAAS,KAAKqmE,OAAd,EAAsB,YAAtB,EAAmC,KAAK8zB,qBAAxC,CAA5X,EAA2b,KAAKn6F,GAAL,CAAS,KAAKqmE,OAAd,EAAsB,YAAtB,EAAmC,KAAKsmB,cAAxC,CAA3b;AAAmf,KAA5pE,EAA6pEpoD,CAAC,CAAC+0D,YAAF,GAAe,YAAU;AAAC,WAAKU,UAAL,OAAoB,KAAKb,MAAL,IAAc,KAAKh2F,OAAL,CAAa,gBAAb,CAAlC;AAAkE,KAAzvE,EAA0vEohC,CAAC,CAACwpD,WAAF,GAAc,YAAU;AAAC,WAAI,IAAInwF,CAAC,GAAC,KAAKyoE,OAAL,CAAagf,QAAb,EAAN,EAA8B9gD,CAAC,GAAC,EAAhC,EAAmC5lC,CAAC,GAACf,CAAC,GAACA,CAAC,CAACkD,MAAH,GAAU,CAApD,EAAsDnC,CAAC,EAAvD;AAA2D4lC,SAAC,CAACpjC,IAAF,CAAOvD,CAAC,CAAC0pB,GAAF,CAAM3oB,CAAN,CAAP;AAA3D;;AAA4E,aAAO4lC,CAAC,CAACzjC,MAAF,GAASyjC,CAAC,CAAChd,IAAF,GAASgd,CAAC,CAACzjC,MAAF,GAAS,CAAlB,CAAT,GAA8B,IAAE,CAAvC;AAAyC,KAAx4E,EAAy4EyjC,CAAC,CAAC6qD,aAAF,GAAgB,YAAU;AAAC,WAAI,IAAIxxF,CAAC,GAAC,KAAKyoE,OAAL,CAAagf,QAAb,EAAN,EAA8B9gD,CAAC,GAAC,EAAhC,EAAmC5lC,CAAC,GAACf,CAAC,GAACA,CAAC,CAACkD,MAAH,GAAU,CAApD,EAAsDnC,CAAC,EAAvD;AAA2D4lC,SAAC,CAACpjC,IAAF,CAAOvD,CAAC,CAACwhB,KAAF,CAAQzgB,CAAR,CAAP;AAA3D;;AAA8E,aAAO4lC,CAAC,CAACzjC,MAAF,GAASyjC,CAAC,CAAChd,IAAF,GAAS,CAAT,CAAT,GAAqB,CAA5B;AAA8B,KAAhhF,EAAihFgd,CAAC,CAACgqD,UAAF,GAAa,YAAU;AAAC,UAAI3wF,CAAC,GAAC,KAAKsxF,eAAL,EAAN;AAA6B,aAAOtxF,CAAC,KAAG,IAAE,CAAN,GAAQ,IAAE,CAAV,GAAYA,CAAC,GAAC,KAAKwxF,aAAL,EAArB;AAA0C,KAAhnF,EAAinF7qD,CAAC,CAACupD,MAAF,GAAS,YAAU;AAAC,aAAO,KAAKkM,UAAL,EAAP;AAAyB,KAA9pF,EAA+pFz1D,CAAC,CAACmoD,UAAF,GAAa,YAAU;AAAC,aAAM,CAAC,KAAK4N,cAAL,EAAP;AAA6B,KAAptF,EAAqtF/1D,CAAC,CAAC2qD,eAAF,GAAkB,YAAU;AAAC,aAAO,KAAKyK,WAAL,KAAmB,KAAK5L,WAAL,EAA1B;AAA6C,KAA/xF,EAAgyFxpD,CAAC,CAACo1D,WAAF,GAAc,YAAU;AAAC,UAAI/7F,CAAC,GAAC,KAAKmwF,WAAL,EAAN;AAAyB,aAAM,CAAC,CAAD,KAAK,KAAKsM,YAAV,IAAwBz8F,CAAC,KAAG,KAAKy8F,YAAjC,KAAgD,KAAKX,YAAL,GAAkB,CAAlE,GAAqE,KAAKW,YAAL,GAAkBz8F,CAAvF,EAAyF,KAAK87F,YAApG;AAAiH,KAAn8F,EAAo8Fn1D,CAAC,CAAC+1D,cAAF,GAAiB,YAAU;AAAC,aAAO,KAAKR,eAAZ;AAA4B,KAA5/F,EAA6/Fv1D,CAAC,CAACy1D,UAAF,GAAa,YAAU;AAAC,aAAM,YAAU,OAAO,KAAKE,iBAA5B;AAA8C,KAAnkG,EAAokG31D,CAAC,CAACooD,cAAF,GAAiB,YAAU;AAAC,WAAKiN,iBAAL,GAAuB,CAAC,CAAxB,EAA0B,KAAKlN,UAAL,OAAoB,KAAK0N,eAAL,GAAqB,CAAC,CAAtB,EAAwB,KAAK/zB,OAAL,CAAa54D,WAAb,CAAyB,KAAKyhF,eAAL,EAAzB,CAA5C,CAA1B;AAAwH,KAAxtG,EAAytG3qD,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAKrP,GAAL,CAASq+D,CAAT,EAAW,kBAAX,EAA8B,KAAKg7B,sBAAnC,GAA2D,KAAKC,YAAL,EAA3D,EAA+E56B,CAAC,CAAC/mD,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAA/E;AAA8G,KAA51G,EAA61G3F,CAAp2G;AAAs2G,GAA5nH,CAA6nHwoE,EAA7nH,CAAlD;;AAAmrHA,IAAE,CAACuD,iBAAH,CAAqB,aAArB,EAAmCuvB,EAAnC;;AAAuC,WAASqB,EAAT,CAAY38F,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAACukB,EAAF,EAAN;AAAa,QAAGoiB,CAAC,CAAC55B,YAAF,CAAe,KAAf,CAAH,EAAyB,OAAO/M,CAAC,CAAC0jF,gBAAF,CAAmB/8C,CAAC,CAAC3zB,GAArB,GAA0B,CAAC,CAAlC;AAAoC,QAAIjS,CAAC,GAACf,CAAC,CAAC0kE,EAAF,CAAK,QAAL,CAAN;AAAA,QAAqBpqC,CAAC,GAAC,EAAvB;AAAA,QAA0BwmC,CAAC,GAAC,EAA5B;AAA+B,QAAG,CAAC//D,CAAC,CAACmC,MAAN,EAAa,OAAM,CAAC,CAAP;;AAAS,SAAI,IAAIwhB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3jB,CAAC,CAACmC,MAAhB,EAAuBwhB,CAAC,EAAxB,EAA2B;AAAC,UAAItJ,CAAC,GAACra,CAAC,CAAC2jB,CAAD,CAAD,CAAK1R,GAAX;AAAeoI,OAAC,IAAE,CAAC,CAAD,KAAKkf,CAAC,CAACn5B,OAAF,CAAUia,CAAV,CAAR,IAAsBkf,CAAC,CAAC/2B,IAAF,CAAO6X,CAAP,CAAtB;AAAgC;;AAAA,WAAM,CAAC,CAACkf,CAAC,CAACp3B,MAAJ,KAAa,MAAIo3B,CAAC,CAACp3B,MAAN,KAAe49D,CAAC,GAACxmC,CAAC,CAAC,CAAD,CAAlB,GAAuBt6B,CAAC,CAAC0jF,gBAAF,CAAmB5iB,CAAnB,CAAvB,EAA6C,CAAC,CAA3D,CAAN;AAAoE;;AAAA,WAAS87B,EAAT,CAAY58F,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAC,GAAC,EAAN,EAASu5B,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACt6B,CAAC,CAACkD,MAAJ,IAAY,EAAE,CAACnC,CAAC,GAACyF,MAAM,CAACq2F,wBAAP,CAAgC78F,CAAC,CAACs6B,CAAD,CAAjC,EAAqCqM,CAArC,CAAH,KAA6C5lC,CAAC,CAACqgC,GAA/C,IAAoDrgC,CAAC,CAAC2nB,GAAxD,CAA7B,EAA0F4R,CAAC,EAA3F;AAA8F;AAA9F;;AAA+F,WAAOv5B,CAAC,CAAC6nC,UAAF,GAAa,CAAC,CAAd,EAAgB7nC,CAAC,CAACogC,YAAF,GAAe,CAAC,CAAhC,EAAkCpgC,CAAzC;AAA2C;;AAAA,WAAS+7F,EAAT,CAAYp4E,CAAZ,EAAc;AAAC,QAAItJ,CAAC,GAACsJ,CAAC,CAACH,EAAF,EAAN;;AAAa,QAAG,CAACnJ,CAAC,CAAC2hF,iBAAN,EAAwB;AAAC,UAAIp2D,CAAC,GAAC,EAAN;AAAA,UAAS3mC,CAAC,GAAC,UAASA,CAAT,EAAW;AAAC,eAAO48F,EAAE,CAAC,CAAC58F,CAAC,CAACukB,EAAF,EAAD,EAAQjC,CAAC,CAAC06E,gBAAF,CAAmBjjF,SAA3B,EAAqCuI,CAAC,CAACwnC,OAAF,CAAU/vC,SAA/C,EAAyDkjF,EAAzD,CAAD,EAA8D,WAA9D,CAAT;AAAoF,OAAhG,CAAiGv4E,CAAjG,CAAX;AAAA,UAA+G3jB,CAAC,GAAC,SAAFA,CAAE,CAAS+/D,CAAT,EAAW;AAAC,eAAO,YAAU;AAAC,eAAI,IAAI9gE,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAzB,EAAsCe,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACf,CAAhD,EAAkDe,CAAC,EAAnD;AAAsD4lC,aAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAAtD;;AAAwE,cAAIu5B,CAAC,GAACwmC,CAAC,CAACp7D,KAAF,CAAQ0V,CAAR,EAAUurB,CAAV,CAAN;AAAmB,iBAAOg2D,EAAE,CAACj4E,CAAD,CAAF,EAAM4V,CAAb;AAAe,SAA5H;AAA6H,OAA1P;;AAA2P,OAAC,QAAD,EAAU,aAAV,EAAwB,oBAAxB,EAA8CvxB,OAA9C,CAAsD,UAAS/I,CAAT,EAAW;AAACob,SAAC,CAACpb,CAAD,CAAD,KAAO2mC,CAAC,CAAC3mC,CAAD,CAAD,GAAKob,CAAC,CAACpb,CAAD,CAAN,EAAUob,CAAC,CAACpb,CAAD,CAAD,GAAKe,CAAC,CAAC4lC,CAAC,CAAC3mC,CAAD,CAAF,CAAvB;AAA+B,OAAjG,GAAmGwG,MAAM,CAAC06B,cAAP,CAAsB9lB,CAAtB,EAAwB,WAAxB,EAAoCmtD,EAAE,CAACvoE,CAAD,EAAG;AAACohC,WAAG,EAACrgC,CAAC,CAACf,CAAC,CAACohC,GAAH;AAAN,OAAH,CAAtC,CAAnG,EAA6JhmB,CAAC,CAAC2hF,iBAAF,GAAoB,YAAU;AAAC3hF,SAAC,CAAC2hF,iBAAF,GAAoB,IAApB,EAAyBv2F,MAAM,CAAC8pB,IAAP,CAAYqW,CAAZ,EAAe59B,OAAf,CAAuB,UAAS/I,CAAT,EAAW;AAACob,WAAC,CAACpb,CAAD,CAAD,GAAK2mC,CAAC,CAAC3mC,CAAD,CAAN;AAAU,SAA7C,CAAzB,EAAwEwG,MAAM,CAAC06B,cAAP,CAAsB9lB,CAAtB,EAAwB,WAAxB,EAAoCpb,CAApC,CAAxE;AAA+G,OAA3S,EAA4S0kB,CAAC,CAACnD,GAAF,CAAM,WAAN,EAAkBnG,CAAC,CAAC2hF,iBAApB,CAA5S;AAAmV;AAAC;;AAAA,WAASG,EAAT,CAAY5iE,CAAZ,EAAc;AAAC,QAAGA,CAAC,CAAC+rD,iBAAL,EAAuB;AAAC,UAAIvlB,CAAC,GAACxmC,CAAC,CAAC/V,EAAF,EAAN;;AAAa,UAAG,CAACu8C,CAAC,CAACq8B,eAAN,EAAsB;AAAC,YAAIp8F,CAAC,GAAC,UAASf,CAAT,EAAW;AAAC,iBAAO48F,EAAE,CAAC,CAAC58F,CAAC,CAACukB,EAAF,EAAD,EAAQjC,CAAC,CAAC06E,gBAAF,CAAmBjjF,SAA3B,EAAqCqjF,EAArC,CAAD,EAA0C,KAA1C,CAAT;AAA0D,SAAtE,CAAuE9iE,CAAvE,CAAN;AAAA,YAAgF5V,CAAC,GAACo8C,CAAC,CAAC7+C,YAApF;AAAA,YAAiG0kB,CAAC,GAACm6B,CAAC,CAACh4B,IAArG;;AAA0GtiC,cAAM,CAAC06B,cAAP,CAAsB4/B,CAAtB,EAAwB,KAAxB,EAA8ByH,EAAE,CAACxnE,CAAD,EAAG;AAACqgC,aAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,gBAAI2mC,CAAC,GAAC5lC,CAAC,CAACqgC,GAAF,CAAMz7B,IAAN,CAAWm7D,CAAX,EAAa9gE,CAAb,CAAN;AAAsB,mBAAOs6B,CAAC,CAACopD,gBAAF,CAAmB5iB,CAAC,CAAC9tD,GAArB,GAA0B2zB,CAAjC;AAAmC;AAA1E,SAAH,CAAhC,GAAiHm6B,CAAC,CAAC7+C,YAAF,GAAe,UAASjiB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAI5lC,CAAC,GAAC2jB,CAAC,CAAC/e,IAAF,CAAOm7D,CAAP,EAAS9gE,CAAT,EAAW2mC,CAAX,CAAN;AAAoB,iBAAM,OAAOhxB,IAAP,CAAY3V,CAAZ,KAAgBs6B,CAAC,CAACopD,gBAAF,CAAmB5iB,CAAC,CAAC9tD,GAArB,CAAhB,EAA0CjS,CAAhD;AAAkD,SAApN,EAAqN+/D,CAAC,CAACh4B,IAAF,GAAO,YAAU;AAAC,cAAI9oC,CAAC,GAAC2mC,CAAC,CAAChhC,IAAF,CAAOm7D,CAAP,CAAN;AAAgB,iBAAO67B,EAAE,CAACriE,CAAD,CAAF,KAAQA,CAAC,CAACopD,gBAAF,CAAmB,EAAnB,GAAuBoZ,EAAE,CAACxiE,CAAD,CAAjC,GAAsCt6B,CAA7C;AAA+C,SAAtS,EAAuS8gE,CAAC,CAACx/C,UAAF,GAAagZ,CAAC,CAACopD,gBAAF,CAAmB5iB,CAAC,CAACx/C,UAArB,CAAb,GAA8Cq7E,EAAE,CAACriE,CAAD,CAAF,IAAOwiE,EAAE,CAACxiE,CAAD,CAA9V,EAAkWwmC,CAAC,CAACq8B,eAAF,GAAkB,YAAU;AAACr8B,WAAC,CAACq8B,eAAF,GAAkB,IAAlB,EAAuBr8B,CAAC,CAACh4B,IAAF,GAAOnC,CAA9B,EAAgCm6B,CAAC,CAAC7+C,YAAF,GAAeyC,CAA/C,EAAiDle,MAAM,CAAC06B,cAAP,CAAsB4/B,CAAtB,EAAwB,KAAxB,EAA8B//D,CAA9B,CAAjD,EAAkF+/D,CAAC,CAACi8B,iBAAF,IAAqBj8B,CAAC,CAACi8B,iBAAF,EAAvG;AAA6H,SAA5f;AAA6f;AAAC;AAAC;;AAAA,WAASM,EAAT,CAAY12D,CAAZ,EAAc5lC,CAAd,EAAgBu5B,CAAhB,EAAkBt6B,CAAlB,EAAoB;AAAC,aAAS8gE,CAAT,CAAW9gE,CAAX,EAAa;AAAC,aAAOwG,MAAM,CAAC06B,cAAP,CAAsByF,CAAtB,EAAwB5lC,CAAxB,EAA0B;AAACskB,aAAK,EAACrlB,CAAP;AAAS4oC,kBAAU,EAAC,CAAC,CAArB;AAAuBC,gBAAQ,EAAC,CAAC;AAAjC,OAA1B,CAAP;AAAsE;;AAAA,SAAK,CAAL,KAAS7oC,CAAT,KAAaA,CAAC,GAAC,CAAC,CAAhB;AAAmB,QAAI0kB,CAAC,GAAC;AAACyc,kBAAY,EAAC,CAAC,CAAf;AAAiByH,gBAAU,EAAC,CAAC,CAA7B;AAA+BlgB,SAAG,EAAC,eAAU;AAAC,YAAI1oB,CAAC,GAACs6B,CAAC,EAAP;AAAU,eAAOwmC,CAAC,CAAC9gE,CAAD,CAAD,EAAKA,CAAZ;AAAc;AAAtE,KAAN;AAA8E,WAAOA,CAAC,KAAG0kB,CAAC,CAAC0c,GAAF,GAAM0/B,CAAT,CAAD,EAAat6D,MAAM,CAAC06B,cAAP,CAAsByF,CAAtB,EAAwB5lC,CAAxB,EAA0B2jB,CAA1B,CAApB;AAAiD;;AAAA,MAAI44E,EAAJ;AAAA,MAAOL,EAAE,GAACz2F,MAAM,CAAC06B,cAAP,CAAsB,EAAtB,EAAyB,WAAzB,EAAqC;AAACxY,OAAG,EAAC,eAAU;AAAC,aAAO,KAAK6b,SAAL,CAAe,CAAC,CAAhB,EAAmB9R,SAA1B;AAAoC,KAApD;AAAqD2O,OAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC85B,CAAC,CAAC1tD,aAAF,CAAgB,KAAK2J,QAAL,CAAc2H,WAAd,EAAhB,CAAN;AAAmDsiB,OAAC,CAAClU,SAAF,GAAYzyB,CAAZ;;AAAc,WAAI,IAAIe,CAAC,GAAC0/D,CAAC,CAACr8B,sBAAF,EAAV,EAAqCuC,CAAC,CAACvX,UAAF,CAAalsB,MAAlD;AAA0DnC,SAAC,CAACmnB,WAAF,CAAcye,CAAC,CAACvX,UAAF,CAAa,CAAb,CAAd;AAA1D;;AAAyF,aAAO,KAAK4yC,SAAL,GAAe,EAAf,EAAkB1/C,CAAC,CAACwnC,OAAF,CAAU/vC,SAAV,CAAoBmO,WAApB,CAAgCviB,IAAhC,CAAqC,IAArC,EAA0C5E,CAA1C,CAAlB,EAA+D,KAAK0xB,SAA3E;AAAqF;AAApT,GAArC,CAAV;AAAA,MAAsW2qE,EAAE,GAAC52F,MAAM,CAAC06B,cAAP,CAAsB,EAAtB,EAAyB,KAAzB,EAA+B;AAACxY,OAAG,EAAC,eAAU;AAAC,aAAO,KAAK3b,YAAL,CAAkB,KAAlB,IAAyB0oE,EAAE,CAACnzD,CAAC,CAACwnC,OAAF,CAAU/vC,SAAV,CAAoBsH,YAApB,CAAiC1b,IAAjC,CAAsC,IAAtC,EAA2C,KAA3C,CAAD,CAA3B,GAA+E,EAAtF;AAAyF,KAAzG;AAA0Gy7B,OAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,aAAOsiB,CAAC,CAACwnC,OAAF,CAAU/vC,SAAV,CAAoBkI,YAApB,CAAiCtc,IAAjC,CAAsC,IAAtC,EAA2C,KAA3C,EAAiD3F,CAAjD,GAAoDA,CAA3D;AAA6D;AAAvL,GAA/B,CAAzW;AAAA,MAAkkBu9F,EAAE,GAAC,UAAS/7B,CAAT,EAAW;AAAC,aAASb,CAAT,CAAW3gE,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAI5lC,CAAJ;AAAMA,OAAC,GAACygE,CAAC,CAAC77D,IAAF,CAAO,IAAP,EAAY3F,CAAZ,EAAc2mC,CAAd,KAAkB,IAApB;AAAyB,UAAIrM,CAAC,GAACt6B,CAAC,CAACyf,MAAR;AAAA,UAAeqhD,CAAC,GAAC,CAAC,CAAlB;;AAAoB,UAAGxmC,CAAC,KAAGv5B,CAAC,CAACgoE,GAAF,CAAMznD,UAAN,KAAmBgZ,CAAC,CAACtnB,GAArB,IAA0BhT,CAAC,CAAC8S,GAAF,IAAO,MAAI9S,CAAC,CAAC8S,GAAF,CAAM0qF,iBAA9C,CAAD,GAAkEz8F,CAAC,CAAC6lF,SAAF,CAAYtsD,CAAZ,CAAlE,GAAiFv5B,CAAC,CAAC08F,eAAF,CAAkB18F,CAAC,CAACgoE,GAApB,CAAjF,EAA0G/oE,CAAC,CAAC09F,eAAF,IAAmB38F,CAAC,CAAC48F,uBAAF,EAA7H,EAAyJ58F,CAAC,CAACgoE,GAAF,CAAM60B,aAAN,EAA5J,EAAkL;AAAC,aAAI,IAAIl5E,CAAC,GAAC3jB,CAAC,CAACgoE,GAAF,CAAM35C,UAAZ,EAAuBhU,CAAC,GAACsJ,CAAC,CAACxhB,MAA3B,EAAkCy9D,CAAC,GAAC,EAAxC,EAA2CvlD,CAAC,EAA5C,GAAgD;AAAC,cAAIwlD,CAAC,GAACl8C,CAAC,CAACtJ,CAAD,CAAP;AAAW,sBAAUwlD,CAAC,CAAClkD,QAAF,CAAW2H,WAAX,EAAV,KAAqCtjB,CAAC,CAACsiF,wBAAF,IAA4BtiF,CAAC,CAACqkF,kBAAF,GAAuB3O,gBAAvB,CAAwC7V,CAAxC,GAA2C7/D,CAAC,CAACkkF,gBAAF,GAAqBnQ,QAArB,CAA8BlU,CAAC,CAAC4P,KAAhC,CAA3C,EAAkFzvE,CAAC,CAAC0vE,UAAF,GAAeqE,QAAf,CAAwBlU,CAAC,CAAC4P,KAA1B,CAAlF,EAAmH1P,CAAC,IAAE//D,CAAC,CAACgoE,GAAF,CAAMh8D,YAAN,CAAmB,aAAnB,CAAH,IAAsC,CAAC4oE,EAAE,CAAC/U,CAAC,CAAC5tD,GAAH,CAAzC,KAAmD8tD,CAAC,GAAC,CAAC,CAAtD,CAA/I,IAAyMH,CAAC,CAACp9D,IAAF,CAAOq9D,CAAP,CAA9O;AAAyP;;AAAA,aAAI,IAAIxlC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACulC,CAAC,CAACz9D,MAAhB,EAAuBk4B,CAAC,EAAxB;AAA2Br6B,WAAC,CAACgoE,GAAF,CAAM5gD,WAAN,CAAkBw4C,CAAC,CAACvlC,CAAD,CAAnB;AAA3B;AAAmD;;AAAA,aAAOr6B,CAAC,CAAC88F,kBAAF,IAAuB98F,CAAC,CAACsiF,wBAAF,IAA4BviB,CAA5B,IAA+B1tB,CAAC,CAAC5T,IAAF,CAAO,wIAAP,CAAtD,EAAuMz+B,CAAC,CAAC+8F,uCAAF,EAAvM,EAAmP,CAACpwB,EAAE,IAAEI,EAAJ,IAAQZ,EAAT,KAAc,CAAC,CAAD,KAAKltE,CAAC,CAACyjF,sBAArB,IAA6C1iF,CAAC,CAACg9F,WAAF,CAAc,CAAC,CAAf,CAAhS,EAAkTh9F,CAAC,CAACi9F,sBAAF,EAAlT,EAA6Uj9F,CAAC,CAACkqE,YAAF,EAA7U,EAA8VlqE,CAArW;AAAuW;;AAAA2rE,MAAE,CAAC/L,CAAD,EAAGa,CAAH,CAAF;AAAQ,QAAIxhE,CAAC,GAAC2gE,CAAC,CAAC5mD,SAAR;AAAkB,WAAO/Z,CAAC,CAACyR,OAAF,GAAU,YAAU;AAAC,WAAKs3D,GAAL,IAAU,KAAKA,GAAL,CAASo0B,eAAnB,IAAoC,KAAKp0B,GAAL,CAASo0B,eAAT,EAApC,EAA+Dx8B,CAAC,CAACs9B,mBAAF,CAAsB,KAAKl1B,GAA3B,CAA/D,EAA+F,KAAKH,QAAL,GAAc,IAA7G,EAAkHpH,CAAC,CAACznD,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAAlH;AAAiJ,KAAtK,EAAuK3F,CAAC,CAAC29F,uBAAF,GAA0B,YAAU;AAACT,QAAE,CAAC,IAAD,CAAF;AAAS,KAArN,EAAsNl9F,CAAC,CAAC89F,uCAAF,GAA0C,YAAU;AAAC,eAAS99F,CAAT,GAAY;AAACe,SAAC,GAAC,EAAF;;AAAK,aAAI,IAAIf,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACs6B,CAAC,CAACp3B,MAAhB,EAAuBlD,CAAC,EAAxB,EAA2B;AAAC,cAAI2mC,CAAC,GAACrM,CAAC,CAACt6B,CAAD,CAAP;AAAW,yBAAa2mC,CAAC,CAAC0vC,IAAf,IAAqBt1E,CAAC,CAACwC,IAAF,CAAO;AAACitE,iBAAK,EAAC7pC,CAAP;AAASu3D,sBAAU,EAACv3D,CAAC,CAACl/B;AAAtB,WAAP,CAArB;AAAyD;AAAC;;AAAA,UAAI1G,CAAJ;AAAA,UAAMu5B,CAAC,GAAC,KAAKm2C,UAAL,EAAR;AAA0BzwE,OAAC,IAAGs6B,CAAC,CAAC1hB,gBAAF,CAAmB,QAAnB,EAA4B5Y,CAA5B,CAAH,EAAkC,KAAKqC,EAAL,CAAQ,SAAR,EAAkB,YAAU;AAAC,eAAOi4B,CAAC,CAACtb,mBAAF,CAAsB,QAAtB,EAA+Bhf,CAA/B,CAAP;AAAyC,OAAtE,CAAnC;;AAA2G,eAAS8gE,CAAT,GAAY;AAAC,aAAI,IAAI9gE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACe,CAAC,CAACmC,MAAhB,EAAuBlD,CAAC,EAAxB,EAA2B;AAAC,cAAI2mC,CAAC,GAAC5lC,CAAC,CAACf,CAAD,CAAP;AAAW,yBAAa2mC,CAAC,CAAC6pC,KAAF,CAAQ/oE,IAArB,IAA2Bk/B,CAAC,CAAC6pC,KAAF,CAAQ/oE,IAAR,KAAek/B,CAAC,CAACu3D,UAA5C,KAAyDv3D,CAAC,CAAC6pC,KAAF,CAAQ/oE,IAAR,GAAak/B,CAAC,CAACu3D,UAAxE;AAAoF;;AAAA5jE,SAAC,CAACtb,mBAAF,CAAsB,QAAtB,EAA+B8hD,CAA/B;AAAkC;;AAAA,WAAKz+D,EAAL,CAAQ,uBAAR,EAAgC,YAAU;AAACi4B,SAAC,CAACtb,mBAAF,CAAsB,QAAtB,EAA+Bhf,CAA/B,GAAkCs6B,CAAC,CAACtb,mBAAF,CAAsB,QAAtB,EAA+B8hD,CAA/B,CAAlC,EAAoExmC,CAAC,CAAC1hB,gBAAF,CAAmB,QAAnB,EAA4BkoD,CAA5B,CAApE;AAAmG,OAA9I,GAAgJ,KAAKz+D,EAAL,CAAQ,qBAAR,EAA8B,YAAU;AAACi4B,SAAC,CAACtb,mBAAF,CAAsB,QAAtB,EAA+Bhf,CAA/B,GAAkCs6B,CAAC,CAAC1hB,gBAAF,CAAmB,QAAnB,EAA4B5Y,CAA5B,CAAlC,EAAiEs6B,CAAC,CAACtb,mBAAF,CAAsB,QAAtB,EAA+B8hD,CAA/B,CAAjE;AAAmG,OAA5I,CAAhJ;AAA8R,KAA38B,EAA48B9gE,CAAC,CAACm+F,eAAF,GAAkB,UAASn+F,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAN;;AAAW,UAAG4lC,CAAC,KAAG,KAAK,mBAAiB3mC,CAAjB,GAAmB,QAAxB,CAAP,EAAyC;AAAC,YAAIs6B,CAAC,GAACt6B,CAAC,CAACqkB,WAAF,EAAN;AAAsB,aAAKiW,CAAC,GAAC,kBAAP,KAA4B9zB,MAAM,CAAC8pB,IAAP,CAAY,KAAKgK,CAAC,GAAC,kBAAP,CAAZ,EAAwCvxB,OAAxC,CAAgD,UAAS/I,CAAT,EAAW;AAACe,WAAC,CAACwjB,EAAF,GAAO+V,CAAC,GAAC,QAAT,EAAmBtb,mBAAnB,CAAuChf,CAAvC,EAAyCe,CAAC,CAACu5B,CAAC,GAAC,kBAAH,CAAD,CAAwBt6B,CAAxB,CAAzC;AAAqE,SAAjI,CAA5B,EAA+J,KAAK,mBAAiBA,CAAjB,GAAmB,QAAxB,IAAkC,CAAC2mC,CAAlM,EAAoM,KAAKrM,CAAC,GAAC,kBAAP,IAA2B,IAA/N,EAAoO,KAAK8jE,yBAAL,CAA+B9jE,CAA/B,CAApO;AAAsQ;AAAC,KAA9zC,EAA+zCt6B,CAAC,CAACylF,yBAAF,GAA4B,UAASzlF,CAAT,EAAW;AAAC,WAAKm+F,eAAL,CAAqB,OAArB,EAA6Bn+F,CAA7B;AAAgC,KAAv4C,EAAw4CA,CAAC,CAAC0lF,yBAAF,GAA4B,UAAS1lF,CAAT,EAAW;AAAC,WAAKm+F,eAAL,CAAqB,OAArB,EAA6Bn+F,CAA7B;AAAgC,KAAh9C,EAAi9CA,CAAC,CAACo+F,yBAAF,GAA4B,UAASr9F,CAAT,EAAW;AAAC,UAAIu5B,CAAC,GAAC,IAAN;AAAA,UAAWt6B,CAAC,GAAC27E,EAAE,CAAC56E,CAAD,CAAf;AAAA,UAAmB+/D,CAAC,GAAC,KAAKv8C,EAAL,GAAUvkB,CAAC,CAACi8E,UAAZ,CAArB;AAAA,UAA6Cv3D,CAAC,GAAC,KAAK1kB,CAAC,CAACi8E,UAAP,GAA/C;;AAAoE,UAAG,KAAK,mBAAiBj8E,CAAC,CAAC+7E,WAAnB,GAA+B,QAApC,KAA+Cjb,CAA/C,IAAkDA,CAAC,CAACloD,gBAAvD,EAAwE;AAAC,YAAIwC,CAAC,GAAC;AAAC85D,gBAAM,EAAC,gBAASl1E,CAAT,EAAW;AAAC,gBAAI2mC,CAAC,GAAC;AAACp2B,kBAAI,EAAC,QAAN;AAAejG,oBAAM,EAACoa,CAAtB;AAAwBwjB,2BAAa,EAACxjB,CAAtC;AAAwCvD,wBAAU,EAACuD;AAAnD,aAAN;AAA4DA,aAAC,CAACnf,OAAF,CAAUohC,CAAV,GAAa,WAAS5lC,CAAT,IAAYu5B,CAAC,CAAC6hD,EAAE,CAACC,UAAH,CAAcH,UAAf,CAAD,GAA8B12E,OAA9B,CAAsCohC,CAAtC,CAAzB;AAAkE,WAAlJ;AAAmJwuC,kBAAQ,EAAC,kBAASn1E,CAAT,EAAW;AAAC0kB,aAAC,CAACowD,QAAF,CAAW90E,CAAC,CAACwwE,KAAb;AAAoB,WAA5L;AAA6L4E,qBAAW,EAAC,qBAASp1E,CAAT,EAAW;AAAC0kB,aAAC,CAACqwD,WAAF,CAAc/0E,CAAC,CAACwwE,KAAhB;AAAuB;AAA5O,SAAN;AAAA,YAAoP7pC,CAAC,GAAC,aAAU;AAAC,eAAI,IAAI3mC,CAAC,GAAC,EAAN,EAAS2mC,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACjiB,CAAC,CAACxhB,MAArB,EAA4ByjC,CAAC,EAA7B,EAAgC;AAAC,iBAAI,IAAI5lC,CAAC,GAAC,CAAC,CAAP,EAASu5B,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACwmC,CAAC,CAAC59D,MAArB,EAA4Bo3B,CAAC,EAA7B;AAAgC,kBAAGwmC,CAAC,CAACxmC,CAAD,CAAD,KAAO5V,CAAC,CAACiiB,CAAD,CAAX,EAAe;AAAC5lC,iBAAC,GAAC,CAAC,CAAH;AAAK;AAAM;AAA3D;;AAA2DA,aAAC,IAAEf,CAAC,CAACuD,IAAF,CAAOmhB,CAAC,CAACiiB,CAAD,CAAR,CAAH;AAAgB;;AAAA,iBAAK3mC,CAAC,CAACkD,MAAP;AAAewhB,aAAC,CAACqwD,WAAF,CAAc/0E,CAAC,CAACwwB,KAAF,EAAd;AAAf;AAAwC,SAArZ;;AAAsZ,aAAKxwB,CAAC,CAACi8E,UAAF,GAAa,YAAlB,IAAgC7gE,CAAhC,EAAkC5U,MAAM,CAAC8pB,IAAP,CAAYlV,CAAZ,EAAerS,OAAf,CAAuB,UAAS49B,CAAT,EAAW;AAAC,cAAI5lC,CAAC,GAACqa,CAAC,CAACurB,CAAD,CAAP;AAAWm6B,WAAC,CAACloD,gBAAF,CAAmB+tB,CAAnB,EAAqB5lC,CAArB,GAAwBu5B,CAAC,CAACj4B,EAAF,CAAK,SAAL,EAAe,UAASrC,CAAT,EAAW;AAAC,mBAAO8gE,CAAC,CAAC9hD,mBAAF,CAAsB2nB,CAAtB,EAAwB5lC,CAAxB,CAAP;AAAkC,WAA7D,CAAxB;AAAuF,SAArI,CAAlC,EAAyK,KAAKsB,EAAL,CAAQ,WAAR,EAAoBskC,CAApB,CAAzK,EAAgM,KAAKtkC,EAAL,CAAQ,SAAR,EAAkB,UAASrC,CAAT,EAAW;AAAC,iBAAOs6B,CAAC,CAACl4B,GAAF,CAAM,WAAN,EAAkBukC,CAAlB,CAAP;AAA4B,SAA1D,CAAhM;AAA4P;AAAC,KAAzxE,EAA0xE3mC,CAAC,CAAC69F,kBAAF,GAAqB,YAAU;AAAC,UAAIl3D,CAAC,GAAC,IAAN;AAAWg1C,QAAE,CAACrJ,KAAH,CAASvpE,OAAT,CAAiB,UAAS/I,CAAT,EAAW;AAAC2mC,SAAC,CAACy3D,yBAAF,CAA4Bp+F,CAA5B;AAA+B,OAA5D;AAA8D,KAAn4E,EAAo4EA,CAAC,CAAC6jE,QAAF,GAAW,YAAU;AAAC,UAAI7jE,CAAC,GAAC,KAAK4oE,QAAL,CAAc91D,GAApB;;AAAwB,UAAG,CAAC9S,CAAD,IAAI,CAAC,KAAK4oE,QAAL,CAAcy1B,cAAf,IAA+B,CAAC,KAAKC,uBAA5C,EAAoE;AAAC,YAAGt+F,CAAH,EAAK;AAAC,cAAI2mC,CAAC,GAAC3mC,CAAC,CAACukC,SAAF,CAAY,CAAC,CAAb,CAAN;AAAsBvkC,WAAC,CAACqT,UAAF,IAAcrT,CAAC,CAACqT,UAAF,CAAaC,YAAb,CAA0BqzB,CAA1B,EAA4B3mC,CAA5B,CAAd,EAA6C2gE,CAAC,CAACs9B,mBAAF,CAAsBj+F,CAAtB,CAA7C,EAAsEA,CAAC,GAAC2mC,CAAxE;AAA0E,SAAtG,MAA0G;AAAC3mC,WAAC,GAACygE,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,CAAF;AAA2B,cAAIhS,CAAC,GAACwnE,EAAE,CAAC,EAAD,EAAI,KAAKK,QAAL,CAAc91D,GAAd,IAAmBuvD,CAAC,CAAC,KAAKuG,QAAL,CAAc91D,GAAf,CAAxB,CAAR;AAAqD46D,YAAE,IAAE,CAAC,CAAD,KAAK,KAAK9E,QAAL,CAAc6a,sBAAvB,IAA+C,OAAO1iF,CAAC,CAACmN,QAAxD,EAAiEk0D,CAAC,CAACpiE,CAAD,EAAGuvB,CAAC,CAACxuB,CAAD,EAAG;AAACE,cAAE,EAAC,KAAK2nE,QAAL,CAAc21B,MAAlB;AAAyB,qBAAM;AAA/B,WAAH,CAAJ,CAAlE;AAAsH;;AAAAv+F,SAAC,CAACsQ,QAAF,GAAW,KAAKs4D,QAAL,CAAct4D,QAAzB;AAAkC;;AAAA,qBAAa,OAAO,KAAKs4D,QAAL,CAAc41B,OAAlC,IAA2Cj8B,CAAC,CAACviE,CAAD,EAAG,SAAH,EAAa,KAAK4oE,QAAL,CAAc41B,OAA3B,CAA5C;;AAAgF,WAAI,IAAIlkE,CAAC,GAAC,CAAC,MAAD,EAAQ,OAAR,EAAgB,aAAhB,EAA8B,UAA9B,CAAN,EAAgDwmC,CAAC,GAAC,CAAtD,EAAwDA,CAAC,GAACxmC,CAAC,CAACp3B,MAA5D,EAAmE49D,CAAC,EAApE,EAAuE;AAAC,YAAIp8C,CAAC,GAAC4V,CAAC,CAACwmC,CAAD,CAAP;AAAA,YAAW1lD,CAAC,GAAC,KAAKwtD,QAAL,CAAclkD,CAAd,CAAb;AAA8B,uBAAa,OAAOtJ,CAApB,KAAwBA,CAAC,GAACmnD,CAAC,CAACviE,CAAD,EAAG0kB,CAAH,EAAKA,CAAL,CAAF,GAAU89C,CAAC,CAACxiE,CAAD,EAAG0kB,CAAH,CAAZ,EAAkB1kB,CAAC,CAAC0kB,CAAD,CAAD,GAAKtJ,CAA/C;AAAkD;;AAAA,aAAOpb,CAAP;AAAS,KAA3jG,EAA4jGA,CAAC,CAACy9F,eAAF,GAAkB,UAASz9F,CAAT,EAAW;AAAC,UAAG,MAAIA,CAAC,CAACy+F,YAAN,IAAoB,MAAIz+F,CAAC,CAACy+F,YAA7B,EAA0C;AAAC,YAAG,MAAIz+F,CAAC,CAAC8/B,UAAT,EAAoB;AAAC,cAAI6G,CAAC,GAAC,CAAC,CAAP;AAAA,cAAS5lC,CAAC,GAAC,SAAFA,CAAE,GAAU;AAAC4lC,aAAC,GAAC,CAAC,CAAH;AAAK,WAA3B;;AAA4B,eAAKtkC,EAAL,CAAQ,WAAR,EAAoBtB,CAApB;;AAAuB,cAAIu5B,CAAC,GAAC,SAAFA,CAAE,GAAU;AAACqM,aAAC,IAAE,KAAKphC,OAAL,CAAa,WAAb,CAAH;AAA6B,WAA9C;;AAA+C,iBAAO,KAAKlD,EAAL,CAAQ,gBAAR,EAAyBi4B,CAAzB,GAA4B,KAAK,KAAK7kB,KAAL,CAAW,YAAU;AAAC,iBAAKrT,GAAL,CAAS,WAAT,EAAqBrB,CAArB,GAAwB,KAAKqB,GAAL,CAAS,gBAAT,EAA0Bk4B,CAA1B,CAAxB,EAAqDqM,CAAC,IAAE,KAAKphC,OAAL,CAAa,WAAb,CAAxD;AAAkF,WAAxG,CAAxC;AAAkJ;;AAAA,YAAIu7D,CAAC,GAAC,CAAC,WAAD,CAAN;AAAoBA,SAAC,CAACv9D,IAAF,CAAO,gBAAP,GAAyB,KAAGvD,CAAC,CAAC8/B,UAAL,IAAiBghC,CAAC,CAACv9D,IAAF,CAAO,YAAP,CAA1C,EAA+D,KAAGvD,CAAC,CAAC8/B,UAAL,IAAiBghC,CAAC,CAACv9D,IAAF,CAAO,SAAP,CAAhF,EAAkG,KAAGvD,CAAC,CAAC8/B,UAAL,IAAiBghC,CAAC,CAACv9D,IAAF,CAAO,gBAAP,CAAnH,EAA4I,KAAKkS,KAAL,CAAW,YAAU;AAACqrD,WAAC,CAAC/3D,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,iBAAKuF,OAAL,CAAavF,CAAb;AAAgB,WAAtC,EAAuC,IAAvC;AAA6C,SAAnE,CAA5I;AAAiN;AAAC,KAApnH,EAAqnHA,CAAC,CAAC+V,cAAF,GAAiB,UAAS/V,CAAT,EAAW;AAAC,UAAG;AAAC,aAAK+oE,GAAL,CAASl5D,WAAT,GAAqB7P,CAArB;AAAuB,OAA3B,CAA2B,OAAMA,CAAN,EAAQ;AAACozC,SAAC,CAACpzC,CAAD,EAAG,gCAAH,CAAD;AAAsC;AAAC,KAA7tH,EAA8tHA,CAAC,CAACsf,QAAF,GAAW,YAAU;AAAC,UAAIqnB,CAAC,GAAC,IAAN;;AAAW,UAAG,KAAKoiC,GAAL,CAASzpD,QAAT,KAAoB,IAAE,CAAtB,IAAyB0tD,EAAzB,IAA6BK,EAA7B,IAAiC,MAAI,KAAKtE,GAAL,CAASl5D,WAAjD,EAA6D;AAAC,eAAO,KAAKxN,EAAL,CAAQ,YAAR,EAAqB,SAASrC,CAAT,GAAY;AAAC,cAAE2mC,CAAC,CAACoiC,GAAF,CAAMl5D,WAAR,KAAsB82B,CAAC,CAACoiC,GAAF,CAAMzpD,QAAN,KAAiB,IAAE,CAAnB,IAAsBqnB,CAAC,CAACphC,OAAF,CAAU,gBAAV,CAAtB,EAAkDohC,CAAC,CAACvkC,GAAF,CAAM,YAAN,EAAmBpC,CAAnB,CAAxE;AAA+F,SAAjI,GAAmI0+F,GAA1I;AAA8I;;AAAA,aAAO,KAAK31B,GAAL,CAASzpD,QAAT,IAAmBo/E,GAA1B;AAA8B,KAAz+H,EAA0+H1+F,CAAC,CAACgR,KAAF,GAAQ,YAAU;AAAC,aAAO,KAAK+3D,GAAL,CAAStwD,WAAhB;AAA4B,KAAzhI,EAA0hIzY,CAAC,CAAC+Q,MAAF,GAAS,YAAU;AAAC,aAAO,KAAKg4D,GAAL,CAASv5B,YAAhB;AAA6B,KAA3kI,EAA4kIxvC,CAAC,CAACg+F,sBAAF,GAAyB,YAAU;AAAC,UAAIh+F,CAAC,GAAC,IAAN;;AAAW,UAAG,gCAA+B,KAAK+oE,GAAvC,EAA2C;AAAC,YAAIpiC,CAAC,GAAC,SAAFA,CAAE,GAAU;AAAC,eAAKphC,OAAL,CAAa,kBAAb,EAAgC;AAACgtF,wBAAY,EAAC,CAAC;AAAf,WAAhC;AAAmD,SAApE;AAAA,YAAqExxF,CAAC,GAAC,SAAFA,CAAE,GAAU;AAAC,sCAA2B,KAAKgoE,GAAhC,IAAqC,yBAAuB,KAAKA,GAAL,CAAS41B,sBAArE,KAA8F,KAAKp9E,GAAL,CAAS,qBAAT,EAA+BolB,CAA/B,GAAkC,KAAKphC,OAAL,CAAa,kBAAb,EAAgC;AAACgtF,wBAAY,EAAC,CAAC,CAAf;AAAiBqM,+BAAmB,EAAC,CAAC;AAAtC,WAAhC,CAAhI;AAA2M,SAA7R;;AAA8R,aAAKv8F,EAAL,CAAQ,uBAAR,EAAgCtB,CAAhC,GAAmC,KAAKsB,EAAL,CAAQ,SAAR,EAAkB,YAAU;AAACrC,WAAC,CAACoC,GAAF,CAAM,uBAAN,EAA8BrB,CAA9B,GAAiCf,CAAC,CAACoC,GAAF,CAAM,qBAAN,EAA4BukC,CAA5B,CAAjC;AAAgE,SAA7F,CAAnC;AAAkI;AAAC,KAAxkJ,EAAykJ3mC,CAAC,CAAC6+F,kBAAF,GAAqB,YAAU;AAAC,UAAG,cAAY,OAAO,KAAK91B,GAAL,CAAS+1B,qBAA/B,EAAqD;AAAC,YAAI9+F,CAAC,GAACsiB,CAAC,CAAC1M,SAAF,IAAa0M,CAAC,CAAC1M,SAAF,CAAYC,SAAzB,IAAoC,EAA1C;AAA6C,YAAG,UAAUF,IAAV,CAAe3V,CAAf,KAAmB,CAAC,uBAAuB2V,IAAvB,CAA4B3V,CAA5B,CAAvB,EAAsD,OAAM,CAAC,CAAP;AAAS;;AAAA,aAAM,CAAC,CAAP;AAAS,KAApxJ,EAAqxJA,CAAC,CAAC++F,eAAF,GAAkB,YAAU;AAAC,UAAI/+F,CAAC,GAAC,KAAK+oE,GAAX;AAAe,UAAG/oE,CAAC,CAACiQ,MAAF,IAAUjQ,CAAC,CAACy+F,YAAF,IAAgBz+F,CAAC,CAACg/F,aAA/B,EAA6C7uB,EAAE,CAAC,KAAKpH,GAAL,CAASn8D,IAAT,EAAD,CAAF,EAAoB,KAAKkJ,UAAL,CAAgB,YAAU;AAAC9V,SAAC,CAAC0M,KAAF;;AAAU,YAAG;AAAC1M,WAAC,CAAC8+F,qBAAF;AAA0B,SAA9B,CAA8B,OAAM9+F,CAAN,EAAQ;AAAC,eAAKuF,OAAL,CAAa,iBAAb,EAA+BvF,CAA/B;AAAkC;AAAC,OAA/G,EAAgH,CAAhH,CAApB,CAA7C,KAAyL,IAAG;AAACA,SAAC,CAAC8+F,qBAAF;AAA0B,OAA9B,CAA8B,OAAM9+F,CAAN,EAAQ;AAAC,aAAKuF,OAAL,CAAa,iBAAb,EAA+BvF,CAA/B;AAAkC;AAAC,KAApkK,EAAqkKA,CAAC,CAACi/F,cAAF,GAAiB,YAAU;AAAC,WAAKl2B,GAAL,CAASm2B,0BAAT,GAAoC,KAAKn2B,GAAL,CAASo2B,oBAAT,EAApC,GAAoE,KAAK55F,OAAL,CAAa,iBAAb,EAA+B,IAAI2N,KAAJ,CAAU,6BAAV,CAA/B,CAApE;AAA6I,KAA9uK,EAA+uKlT,CAAC,CAACslF,uBAAF,GAA0B,YAAU;AAAC,aAAO,KAAKvc,GAAL,CAASuc,uBAAT,EAAP;AAA0C,KAA9zK,EAA+zKtlF,CAAC,CAACgT,GAAF,GAAM,UAAShT,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAK+oE,GAAL,CAAS/1D,GAAhB;AAAoB,WAAKo3E,MAAL,CAAYpqF,CAAZ;AAAe,KAAl4K,EAAm4KA,CAAC,CAAC62B,KAAF,GAAQ,YAAU;AAAC8pC,OAAC,CAACy+B,iBAAF,CAAoB,KAAKr2B,GAAzB;AAA8B,KAAp7K,EAAq7K/oE,CAAC,CAACshB,UAAF,GAAa,YAAU;AAAC,aAAO,KAAKylE,cAAL,GAAoB,KAAKA,cAAL,CAAoB/zE,GAAxC,GAA4C,KAAK+1D,GAAL,CAASznD,UAA5D;AAAuE,KAAphL,EAAqhLthB,CAAC,CAAC+9F,WAAF,GAAc,UAAS/9F,CAAT,EAAW;AAAC,WAAK+oE,GAAL,CAAS76D,QAAT,GAAkB,CAAC,CAAClO,CAApB;AAAsB,KAArkL,EAAskLA,CAAC,CAACklF,YAAF,GAAe,UAASllF,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,aAAO,KAAKsiF,wBAAL,GAA8B,KAAKta,GAAL,CAASmc,YAAT,CAAsBllF,CAAtB,EAAwB2mC,CAAxB,EAA0B5lC,CAA1B,CAA9B,GAA2DygE,CAAC,CAACznD,SAAF,CAAYmrE,YAAZ,CAAyBv/E,IAAzB,CAA8B,IAA9B,EAAmC3F,CAAnC,EAAqC2mC,CAArC,EAAuC5lC,CAAvC,CAAlE;AAA4G,KAAjtL,EAAktLf,CAAC,CAACmlF,qBAAF,GAAwB,UAASnlF,CAAT,EAAW;AAAC,UAAG,CAAC,KAAKqjF,wBAAT,EAAkC,OAAO7hB,CAAC,CAACznD,SAAF,CAAYorE,qBAAZ,CAAkCx/E,IAAlC,CAAuC,IAAvC,EAA4C3F,CAA5C,CAAP;AAAsD,UAAI2mC,CAAC,GAAC85B,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,CAAN;AAA+B,aAAO/S,CAAC,CAACq2E,IAAF,KAAS1vC,CAAC,CAAC0vC,IAAF,GAAOr2E,CAAC,CAACq2E,IAAlB,GAAwBr2E,CAAC,CAACkzE,KAAF,KAAUvsC,CAAC,CAACusC,KAAF,GAAQlzE,CAAC,CAACkzE,KAApB,CAAxB,EAAmD,CAAClzE,CAAC,CAACgqE,QAAF,IAAYhqE,CAAC,CAAC06E,OAAf,MAA0B/zC,CAAC,CAAC+zC,OAAF,GAAU16E,CAAC,CAACgqE,QAAF,IAAYhqE,CAAC,CAAC06E,OAAlD,CAAnD,EAA8G16E,CAAC,WAAD,KAAY2mC,CAAC,WAAD,GAAU3mC,CAAC,WAAvB,CAA9G,EAA+IA,CAAC,CAACiB,EAAF,KAAO0lC,CAAC,CAAC1lC,EAAF,GAAKjB,CAAC,CAACiB,EAAd,CAA/I,EAAiKjB,CAAC,CAACgT,GAAF,KAAQ2zB,CAAC,CAAC3zB,GAAF,GAAMhT,CAAC,CAACgT,GAAhB,CAAjK,EAAsL2zB,CAA7L;AAA+L,KAA5iM,EAA6iM3mC,CAAC,CAAC2wE,kBAAF,GAAqB,UAAS3wE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAACygE,CAAC,CAACznD,SAAF,CAAY42D,kBAAZ,CAA+BhrE,IAA/B,CAAoC,IAApC,EAAyC3F,CAAzC,EAA2C2mC,CAA3C,CAAN;AAAoD,aAAO,KAAK08C,wBAAL,IAA+B,KAAK9+D,EAAL,GAAU2D,WAAV,CAAsBnnB,CAAtB,CAA/B,EAAwDA,CAA/D;AAAiE,KAArsM,EAAssMf,CAAC,CAAC4kF,qBAAF,GAAwB,UAAS5kF,CAAT,EAAW;AAAC,UAAGwhE,CAAC,CAACznD,SAAF,CAAY6qE,qBAAZ,CAAkCj/E,IAAlC,CAAuC,IAAvC,EAA4C3F,CAA5C,GAA+C,KAAKqjF,wBAAvD,EAAgF,KAAI,IAAI18C,CAAC,GAAC,KAAK+9B,EAAL,CAAQ,OAAR,CAAN,EAAuB3jE,CAAC,GAAC4lC,CAAC,CAACzjC,MAA/B,EAAsCnC,CAAC,EAAvC;AAA2Cf,SAAC,KAAG2mC,CAAC,CAAC5lC,CAAD,CAAL,IAAUf,CAAC,KAAG2mC,CAAC,CAAC5lC,CAAD,CAAD,CAAKyvE,KAAnB,IAA0B,KAAKjsD,EAAL,GAAU4D,WAAV,CAAsBwe,CAAC,CAAC5lC,CAAD,CAAvB,CAA1B;AAA3C;AAAiG,KAA35M,EAA45Mf,CAAC,CAACqlF,uBAAF,GAA0B,YAAU;AAAC,UAAG,cAAY,OAAO,KAAK9gE,EAAL,GAAU8gE,uBAAhC,EAAwD,OAAO,KAAK9gE,EAAL,GAAU8gE,uBAAV,EAAP;AAA2C,UAAIrlF,CAAC,GAAC,EAAN;AAAS,aAAM,eAAa,OAAO,KAAKukB,EAAL,GAAU86E,uBAA9B,IAAuD,eAAa,OAAO,KAAK96E,EAAL,GAAU+6E,uBAArF,KAA+Gt/F,CAAC,CAACu/F,kBAAF,GAAqB,KAAKh7E,EAAL,GAAU86E,uBAA/B,EAAuDr/F,CAAC,CAACw/F,gBAAF,GAAmB,KAAKj7E,EAAL,GAAU+6E,uBAAnM,GAA4Nh9E,CAAC,CAACgjD,WAAF,IAAe,cAAY,OAAOhjD,CAAC,CAACgjD,WAAF,CAAcvgD,GAAhD,GAAoD/kB,CAAC,CAACy/F,YAAF,GAAen9E,CAAC,CAACgjD,WAAF,CAAcvgD,GAAd,EAAnE,GAAuFzC,CAAC,CAACgjD,WAAF,IAAehjD,CAAC,CAACgjD,WAAF,CAAco6B,MAA7B,IAAqC,YAAU,OAAOp9E,CAAC,CAACgjD,WAAF,CAAco6B,MAAd,CAAqBC,eAA3E,KAA6F3/F,CAAC,CAACy/F,YAAF,GAAen9E,CAAC,CAAC8J,IAAF,CAAOrH,GAAP,KAAazC,CAAC,CAACgjD,WAAF,CAAco6B,MAAd,CAAqBC,eAA9I,CAAnT,EAAkd3/F,CAAxd;AAA0d,KAAvgO,EAAwgO2gE,CAA/gO;AAAihO,GAA5/P,CAA6/PkiB,EAA7/P,CAArkB;;AAAskRwa,IAAE,CAACE,EAAD,EAAI,UAAJ,EAAe,YAAU;AAAC,QAAGtgE,CAAC,EAAJ,EAAO;AAAC,UAAIj9B,CAAC,GAACygE,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,CAAN;AAAA,UAA+B4zB,CAAC,GAAC85B,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,CAAjC;AAA0D,aAAO4zB,CAAC,CAAC0vC,IAAF,GAAO,UAAP,EAAkB1vC,CAAC,CAAC+zC,OAAF,GAAU,IAA5B,EAAiC/zC,CAAC,CAACusC,KAAF,GAAQ,SAAzC,EAAmDlzE,CAAC,CAACkoB,WAAF,CAAcye,CAAd,CAAnD,EAAoE3mC,CAA3E;AAA6E;AAAC,GAA1K,CAAF,EAA8Ku9F,EAAE,CAACnU,WAAH,GAAe,YAAU;AAAC,QAAG;AAACmU,QAAE,CAACqC,QAAH,CAAYnvF,MAAZ,GAAmB,EAAnB;AAAsB,KAA1B,CAA0B,OAAMzQ,CAAN,EAAQ;AAAC,aAAM,CAAC,CAAP;AAAS;;AAAA,WAAM,EAAE,CAACu9F,EAAE,CAACqC,QAAJ,IAAc,CAACrC,EAAE,CAACqC,QAAH,CAAYja,WAA7B,CAAN;AAAgD,GAApS,EAAqS4X,EAAE,CAAC5X,WAAH,GAAe,UAAS3lF,CAAT,EAAW;AAAC,WAAOu9F,EAAE,CAACqC,QAAH,CAAYja,WAAZ,CAAwB3lF,CAAxB,CAAP;AAAkC,GAAlW,EAAmWu9F,EAAE,CAAC3X,aAAH,GAAiB,UAAS5lF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAO42D,EAAE,CAAC5X,WAAH,CAAe3lF,CAAC,CAACuQ,IAAjB,CAAP;AAA8B,GAAha,EAAiagtF,EAAE,CAACsC,gBAAH,GAAoB,YAAU;AAAC,QAAG;AAAC,UAAI7/F,CAAC,GAACu9F,EAAE,CAACqC,QAAH,CAAYnvF,MAAlB;AAAyB,aAAO8sF,EAAE,CAACqC,QAAH,CAAYnvF,MAAZ,GAAmBzQ,CAAC,GAAC,CAAF,GAAI,EAAvB,EAA0BA,CAAC,KAAGu9F,EAAE,CAACqC,QAAH,CAAYnvF,MAAjD;AAAwD,KAArF,CAAqF,OAAMzQ,CAAN,EAAQ;AAAC,aAAM,CAAC,CAAP;AAAS;AAAC,GAAxiB,EAAyiBu9F,EAAE,CAACuC,aAAH,GAAiB,YAAU;AAAC,QAAG;AAAC,UAAI9/F,CAAC,GAACu9F,EAAE,CAACqC,QAAH,CAAYzxF,KAAlB;AAAwB,aAAOovF,EAAE,CAACqC,QAAH,CAAYzxF,KAAZ,GAAkB,CAACnO,CAAnB,EAAqBu9F,EAAE,CAACqC,QAAH,CAAYzxF,KAAZ,GAAkBo0D,CAAC,CAACg7B,EAAE,CAACqC,QAAJ,EAAa,OAAb,EAAqB,OAArB,CAAnB,GAAiDp9B,CAAC,CAAC+6B,EAAE,CAACqC,QAAJ,EAAa,OAAb,CAAvE,EAA6F5/F,CAAC,KAAGu9F,EAAE,CAACqC,QAAH,CAAYzxF,KAApH;AAA0H,KAAtJ,CAAsJ,OAAMnO,CAAN,EAAQ;AAAC,aAAM,CAAC,CAAP;AAAS;AAAC,GAA9uB,EAA+uBu9F,EAAE,CAACwC,sBAAH,GAA0B,YAAU;AAAC,QAAG/yB,EAAE,IAAEK,EAAJ,IAAQC,EAAE,GAAC,EAAd,EAAiB,OAAM,CAAC,CAAP;;AAAS,QAAG;AAAC,UAAIttE,CAAC,GAACu9F,EAAE,CAACqC,QAAH,CAAYhI,YAAlB;AAA+B,aAAO2F,EAAE,CAACqC,QAAH,CAAYhI,YAAZ,GAAyB53F,CAAC,GAAC,CAAF,GAAI,EAA7B,EAAgCA,CAAC,KAAGu9F,EAAE,CAACqC,QAAH,CAAYhI,YAAvD;AAAoE,KAAvG,CAAuG,OAAM53F,CAAN,EAAQ;AAAC,aAAM,CAAC,CAAP;AAAS;AAAC,GAAx6B,EAAy6Bu9F,EAAE,CAACyC,qBAAH,GAAyB,YAAU;AAAC,QAAG;AAAC,UAAIhgG,CAAC,GAAC,SAAFA,CAAE,GAAU,CAAE,CAAlB;;AAAmBwG,YAAM,CAAC06B,cAAP,CAAsBu/B,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,CAAtB,EAA+C,KAA/C,EAAqD;AAAC2V,WAAG,EAAC1oB,CAAL;AAAOohC,WAAG,EAACphC;AAAX,OAArD,GAAoEwG,MAAM,CAAC06B,cAAP,CAAsBu/B,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,CAAtB,EAA+C,KAA/C,EAAqD;AAAC2V,WAAG,EAAC1oB,CAAL;AAAOohC,WAAG,EAACphC;AAAX,OAArD,CAApE,EAAwIwG,MAAM,CAAC06B,cAAP,CAAsBu/B,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,CAAtB,EAA+C,WAA/C,EAA2D;AAAC2V,WAAG,EAAC1oB,CAAL;AAAOohC,WAAG,EAACphC;AAAX,OAA3D,CAAxI,EAAkNwG,MAAM,CAAC06B,cAAP,CAAsBu/B,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,CAAtB,EAA+C,WAA/C,EAA2D;AAAC2V,WAAG,EAAC1oB,CAAL;AAAOohC,WAAG,EAACphC;AAAX,OAA3D,CAAlN;AAA4R,KAAnT,CAAmT,OAAMA,CAAN,EAAQ;AAAC,aAAM,CAAC,CAAP;AAAS;;AAAA,WAAM,CAAC,CAAP;AAAS,GAA3xC,EAA4xCu9F,EAAE,CAAC0C,wBAAH,GAA4B,YAAU;AAAC,WAAOjyB,EAAE,IAAED,EAAE,IAAEV,EAAf;AAAkB,GAAr1C,EAAs1CkwB,EAAE,CAAC2C,yBAAH,GAA6B,YAAU;AAAC,WAAM,EAAE,CAAC3C,EAAE,CAACqC,QAAJ,IAAc,CAACrC,EAAE,CAACqC,QAAH,CAAYO,WAA7B,CAAN;AAAgD,GAA96C,EAA+6C5C,EAAE,CAAC6C,yBAAH,GAA6B,YAAU;AAAC,WAAM,EAAE,CAAC7C,EAAE,CAACqC,QAAJ,IAAc,CAACrC,EAAE,CAACqC,QAAH,CAAYpI,WAA7B,CAAN;AAAgD,GAAvgD,EAAwgD+F,EAAE,CAAC33C,MAAH,GAAU,CAAC,WAAD,EAAa,SAAb,EAAuB,OAAvB,EAA+B,OAA/B,EAAuC,SAAvC,EAAiD,SAAjD,EAA2D,gBAA3D,EAA4E,YAA5E,EAAyF,SAAzF,EAAmG,gBAAnG,EAAoH,SAApH,EAA8H,SAA9H,EAAwI,SAAxI,EAAkJ,QAAlJ,EAA2J,OAA3J,EAAmK,gBAAnK,EAAoL,YAApL,EAAiM,UAAjM,EAA4M,MAA5M,EAAmN,OAAnN,EAA2N,YAA3N,EAAwO,QAAxO,EAAiP,cAAjP,CAAlhD,EAAmxD,CAAC,CAAC,uBAAD,EAAyB,kBAAzB,CAAD,EAA8C,CAAC,qBAAD,EAAuB,eAAvB,CAA9C,EAAsF,CAAC,sBAAD,EAAwB,wBAAxB,CAAtF,EAAwI,CAAC,mBAAD,EAAqB,uBAArB,CAAxI,EAAsL,CAAC,0BAAD,EAA4B,0BAA5B,CAAtL,EAA8O,CAAC,2BAAD,EAA6B,2BAA7B,CAA9O,EAAwS,CAAC,2BAAD,EAA6B,2BAA7B,CAAxS,EAAmW78C,OAAnW,CAA2W,UAAS/I,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAAC,CAAD,CAAP;AAAA,QAAWe,CAAC,GAACf,CAAC,CAAC,CAAD,CAAd;AAAkBq9F,MAAE,CAACE,EAAE,CAACxjF,SAAJ,EAAc4sB,CAAd,EAAgB,YAAU;AAAC,aAAO42D,EAAE,CAACx8F,CAAD,CAAF,EAAP;AAAe,KAA1C,EAA2C,CAAC,CAA5C,CAAF;AAAiD,GAA1b,CAAnxD,EAA+sEw8F,EAAE,CAACxjF,SAAH,CAAaukF,uBAAb,GAAqC,CAACvwB,EAArvE,EAAwvEwvB,EAAE,CAACxjF,SAAH,CAAaosE,wBAAb,GAAsC,CAAC,CAA/xE,EAAiyEoX,EAAE,CAACxjF,SAAH,CAAagpE,sBAAb,GAAoC,CAAC,CAAt0E,EAAw0Ewa,EAAE,CAACxjF,SAAH,CAAakpE,wBAAb,GAAsC,CAAC,CAA/2E,EAAi3Esa,EAAE,CAAC8C,gBAAH,GAAoB,YAAU;AAAC,SAAGpzB,EAAH,IAAO,CAACE,EAAR,IAAY,CAACE,EAAb,KAAkBiwB,EAAE,GAACC,EAAE,CAACqC,QAAH,IAAarC,EAAE,CAACqC,QAAH,CAAYp3E,WAAZ,CAAwBzO,SAAxB,CAAkC4rE,WAAlD,EAA8D4X,EAAE,CAACqC,QAAH,CAAYp3E,WAAZ,CAAwBzO,SAAxB,CAAkC4rE,WAAlC,GAA8C,UAAS3lF,CAAT,EAAW;AAAC,aAAOA,CAAC,IAAE,4CAA4C2V,IAA5C,CAAiD3V,CAAjD,CAAH,GAAuD,OAAvD,GAA+Ds9F,EAAE,CAAC33F,IAAH,CAAQ,IAAR,EAAa3F,CAAb,CAAtE;AAAsF,KAAhO;AAAkO,GAAlnF,EAAmnFu9F,EAAE,CAAC+C,kBAAH,GAAsB,YAAU;AAAC,QAAItgG,CAAC,GAACu9F,EAAE,CAACqC,QAAH,CAAYp3E,WAAZ,CAAwBzO,SAAxB,CAAkC4rE,WAAxC;AAAoD,WAAO2X,EAAE,KAAGC,EAAE,CAACqC,QAAH,CAAYp3E,WAAZ,CAAwBzO,SAAxB,CAAkC4rE,WAAlC,GAA8C2X,EAAjD,CAAF,EAAuDt9F,CAA9D;AAAgE,GAAxwF,EAAywFu9F,EAAE,CAAC8C,gBAAH,EAAzwF,EAA+xF9C,EAAE,CAACU,mBAAH,GAAuB,UAASj+F,CAAT,EAAW;AAAC,QAAGA,CAAH,EAAK;AAAC,WAAIA,CAAC,CAACqT,UAAF,IAAcrT,CAAC,CAACqT,UAAF,CAAa8U,WAAb,CAAyBnoB,CAAzB,CAAlB,EAA8CA,CAAC,CAAC49F,aAAF,EAA9C;AAAiE59F,SAAC,CAACmoB,WAAF,CAAcnoB,CAAC,CAACg0B,UAAhB;AAAjE;;AAA6Fh0B,OAAC,CAACqwB,eAAF,CAAkB,KAAlB,GAAyB,cAAY,OAAOrwB,CAAC,CAAC8oC,IAArB,IAA2B,YAAU;AAAC,YAAG;AAAC9oC,WAAC,CAAC8oC,IAAF;AAAS,SAAb,CAAa,OAAM9oC,CAAN,EAAQ,CAAE;AAAC,OAAnC,EAApD;AAA0F;AAAC,GAAhgG,EAAigGu9F,EAAE,CAAC6B,iBAAH,GAAqB,UAASp/F,CAAT,EAAW;AAAC,QAAGA,CAAH,EAAK;AAAC,WAAI,IAAI2mC,CAAC,GAAC3mC,CAAC,CAACkc,gBAAF,CAAmB,QAAnB,CAAN,EAAmCnb,CAAC,GAAC4lC,CAAC,CAACzjC,MAA3C,EAAkDnC,CAAC,EAAnD;AAAuDf,SAAC,CAACmoB,WAAF,CAAcwe,CAAC,CAAC5lC,CAAD,CAAf;AAAvD;;AAA2Ef,OAAC,CAACqwB,eAAF,CAAkB,KAAlB,GAAyB,cAAY,OAAOrwB,CAAC,CAAC8oC,IAArB,IAA2B,YAAU;AAAC,YAAG;AAAC9oC,WAAC,CAAC8oC,IAAF;AAAS,SAAb,CAAa,OAAM9oC,CAAN,EAAQ,CAAE;AAAC,OAAnC,EAApD;AAA0F;AAAC,GAA9sG,EAA+sG,CAAC,OAAD,EAAS,cAAT,EAAwB,UAAxB,EAAmC,UAAnC,EAA8C,MAA9C,EAAqD,aAArD,EAAoE+I,OAApE,CAA4E,UAAS/I,CAAT,EAAW;AAACu9F,MAAE,CAACxjF,SAAH,CAAa/Z,CAAb,IAAgB,YAAU;AAAC,aAAO,KAAK+oE,GAAL,CAAS/oE,CAAT,KAAa,KAAK+oE,GAAL,CAASh8D,YAAT,CAAsB/M,CAAtB,CAApB;AAA6C,KAAxE;AAAyE,GAAjK,CAA/sG,EAAk3G,CAAC,OAAD,EAAS,cAAT,EAAwB,UAAxB,EAAmC,MAAnC,EAA0C,aAA1C,EAAyD+I,OAAzD,CAAiE,UAAS49B,CAAT,EAAW;AAAC42D,MAAE,CAACxjF,SAAH,CAAa,QAAMuuD,EAAE,CAAC3hC,CAAD,CAArB,IAA0B,UAAS3mC,CAAT,EAAW;AAAC,OAAC,KAAK+oE,GAAL,CAASpiC,CAAT,IAAY3mC,CAAb,IAAgB,KAAK+oE,GAAL,CAAS9mD,YAAT,CAAsB0kB,CAAtB,EAAwBA,CAAxB,CAAhB,GAA2C,KAAKoiC,GAAL,CAAS14C,eAAT,CAAyBsW,CAAzB,CAA3C;AAAuE,KAA7G;AAA8G,GAA3L,CAAl3G,EAA+iH,CAAC,QAAD,EAAU,aAAV,EAAwB,UAAxB,EAAmC,QAAnC,EAA4C,QAA5C,EAAqD,SAArD,EAA+D,OAA/D,EAAuE,SAAvE,EAAiF,UAAjF,EAA4F,OAA5F,EAAoG,cAApG,EAAmH,qBAAnH,EAAyI,QAAzI,EAAkJ,cAAlJ,EAAiK,YAAjK,EAA8K,YAA9K,EAA2L,aAA3L,EAAyM,aAAzM,EAAwN59B,OAAxN,CAAgO,UAAS/I,CAAT,EAAW;AAACu9F,MAAE,CAACxjF,SAAH,CAAa/Z,CAAb,IAAgB,YAAU;AAAC,aAAO,KAAK+oE,GAAL,CAAS/oE,CAAT,CAAP;AAAmB,KAA9C;AAA+C,GAA3R,CAA/iH,EAA40H,CAAC,QAAD,EAAU,KAAV,EAAgB,QAAhB,EAAyB,SAAzB,EAAmC,cAAnC,EAAkD,qBAAlD,EAAwE,aAAxE,EAAuF+I,OAAvF,CAA+F,UAAS49B,CAAT,EAAW;AAAC42D,MAAE,CAACxjF,SAAH,CAAa,QAAMuuD,EAAE,CAAC3hC,CAAD,CAArB,IAA0B,UAAS3mC,CAAT,EAAW;AAAC,WAAK+oE,GAAL,CAASpiC,CAAT,IAAY3mC,CAAZ;AAAc,KAApD;AAAqD,GAAhK,CAA50H,EAA8+H,CAAC,OAAD,EAAS,MAAT,EAAgB,MAAhB,EAAwB+I,OAAxB,CAAgC,UAAS/I,CAAT,EAAW;AAACu9F,MAAE,CAACxjF,SAAH,CAAa/Z,CAAb,IAAgB,YAAU;AAAC,aAAO,KAAK+oE,GAAL,CAAS/oE,CAAT,GAAP;AAAqB,KAAhD;AAAiD,GAA7F,CAA9+H,EAA6kI6iF,EAAE,CAACyD,kBAAH,CAAsBiX,EAAtB,CAA7kI,EAAumIA,EAAE,CAAC1W,mBAAH,GAAuB,EAA9nI,EAAioI0W,EAAE,CAAC1W,mBAAH,CAAuBlB,WAAvB,GAAmC,UAAS3lF,CAAT,EAAW;AAAC,QAAG;AAAC,aAAOu9F,EAAE,CAACqC,QAAH,CAAYja,WAAZ,CAAwB3lF,CAAxB,CAAP;AAAkC,KAAtC,CAAsC,OAAMA,CAAN,EAAQ;AAAC,aAAM,EAAN;AAAS;AAAC,GAAzuI,EAA0uIu9F,EAAE,CAAC1W,mBAAH,CAAuBH,eAAvB,GAAuC,UAAS1mF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAG3mC,CAAC,CAACuQ,IAAL,EAAU,OAAOgtF,EAAE,CAAC1W,mBAAH,CAAuBlB,WAAvB,CAAmC3lF,CAAC,CAACuQ,IAArC,CAAP;;AAAkD,QAAGvQ,CAAC,CAACgT,GAAL,EAAS;AAAC,UAAIjS,CAAC,GAAC20E,EAAE,CAAC11E,CAAC,CAACgT,GAAH,CAAR;AAAgB,aAAOuqF,EAAE,CAAC1W,mBAAH,CAAuBlB,WAAvB,CAAmC,WAAS5kF,CAA5C,CAAP;AAAsD;;AAAA,WAAM,EAAN;AAAS,GAAp7I,EAAq7Iw8F,EAAE,CAAC1W,mBAAH,CAAuBG,YAAvB,GAAoC,UAAShnF,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC4lC,KAAC,CAACyjD,MAAF,CAASpqF,CAAC,CAACgT,GAAX;AAAgB,GAAz/I,EAA0/IuqF,EAAE,CAAC1W,mBAAH,CAAuBp1E,OAAvB,GAA+B,YAAU,CAAE,CAAriJ,EAAsiJ8rF,EAAE,CAAChX,qBAAH,CAAyBgX,EAAE,CAAC1W,mBAA5B,CAAtiJ,EAAulJhE,EAAE,CAACgD,YAAH,CAAgB,OAAhB,EAAwB0X,EAAxB,CAAvlJ;AAAmnJ,MAAIgD,EAAE,GAAC,CAAC,UAAD,EAAY,OAAZ,EAAoB,SAApB,EAA8B,SAA9B,EAAwC,SAAxC,EAAkD,gBAAlD,EAAmE,YAAnE,EAAgF,YAAhF,EAA6F,QAA7F,EAAsG,cAAtG,EAAqH,iBAArH,CAAP;AAAA,MAA+IC,EAAE,GAAC;AAACC,WAAO,EAAC,SAAT;AAAmBC,kBAAc,EAAC,gBAAlC;AAAmDvpF,WAAO,EAAC,SAA3D;AAAqEwpF,UAAM,EAAC;AAA5E,GAAlJ;AAAA,MAAwOC,EAAE,GAAC,CAAC,MAAD,EAAQ,QAAR,EAAiB,OAAjB,EAAyB,QAAzB,EAAkC,OAAlC,EAA0C,QAA1C,EAAmD,MAAnD,CAA3O;AAAA,MAAsSC,EAAE,GAAC,EAAzS;AAA4SD,IAAE,CAAC73F,OAAH,CAAW,UAAS/I,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAAC,QAAM3mC,CAAC,CAAC2pD,MAAF,CAAS,CAAT,CAAN,GAAkB,OAAK3pD,CAAC,CAACm2D,SAAF,CAAY,CAAZ,CAAvB,GAAsCn2D,CAA5C;AAA8C6gG,MAAE,CAAC7gG,CAAD,CAAF,GAAM,gBAAc2mC,CAApB;AAAsB,GAA3F;;AAA6F,MAAIm6D,EAAE,GAAC;AAACC,QAAI,EAAC,GAAN;AAAUC,UAAM,EAAC,GAAjB;AAAqBp2F,SAAK,EAAC,GAA3B;AAA+Bq2F,UAAM,EAAC,GAAtC;AAA0CC,SAAK,EAAC,IAAhD;AAAqDC,UAAM,EAAC,IAA5D;AAAiEC,QAAI,EAAC,IAAE;AAAxE,GAAP;AAAA,MAAkFC,EAAE,GAAC,UAAS7/B,CAAT,EAAW;AAAC,aAASpmC,CAAT,CAAWp7B,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAAC,UAAIu5B,CAAJ;AAAM,UAAGt6B,CAAC,CAACiB,EAAF,GAAKjB,CAAC,CAACiB,EAAF,IAAM0lC,CAAC,CAAC1lC,EAAR,IAAY,eAAakkE,EAAE,EAAhC,EAAmC,CAACx+B,CAAC,GAACpX,CAAC,CAAC6L,CAAC,CAACkmE,cAAF,CAAiBthG,CAAjB,CAAD,EAAqB2mC,CAArB,CAAJ,EAA6BgjC,YAA7B,GAA0C,CAAC,CAA9E,EAAgFhjC,CAAC,CAACk9B,QAAF,GAAW,CAAC,CAA5F,EAA8Fl9B,CAAC,CAACqiC,OAAF,GAAU,CAAC,CAAzG,EAA2GriC,CAAC,CAACijC,mBAAF,GAAsB,CAAC,CAAlI,EAAoI,CAACjjC,CAAC,CAACqjC,QAA1I,EAAmJ,IAAG,cAAY,OAAOhqE,CAAC,CAACwB,OAAxB,EAAgC;AAAC,YAAIs/D,CAAC,GAAC9gE,CAAC,CAACwB,OAAF,CAAU,QAAV,CAAN;AAA0Bs/D,SAAC,IAAEA,CAAC,CAACz/C,YAAL,KAAoBslB,CAAC,CAACqjC,QAAF,GAAWlJ,CAAC,CAACz/C,YAAF,CAAe,MAAf,CAA/B;AAAuD,OAAlH,MAAuH,KAAI,IAAIqD,CAAC,GAAC1kB,CAAV,EAAY0kB,CAAC,IAAE,MAAIA,CAAC,CAAC7H,QAArB,GAA+B;AAAC,YAAGwlD,CAAC,CAAC39C,CAAD,CAAD,CAAKhS,cAAL,CAAoB,MAApB,CAAH,EAA+B;AAACi0B,WAAC,CAACqjC,QAAF,GAAWtlD,CAAC,CAACrD,YAAF,CAAe,MAAf,CAAX;AAAkC;AAAM;;AAAAqD,SAAC,GAACA,CAAC,CAACrR,UAAJ;AAAe;AAAA,UAAG,CAACinB,CAAC,GAACknC,CAAC,CAAC77D,IAAF,CAAO,IAAP,EAAY,IAAZ,EAAiBghC,CAAjB,EAAmB5lC,CAAnB,KAAuB,IAA1B,EAAgCwgG,8BAAhC,GAA+D/6B,EAAE,CAAC2F,EAAE,CAAC7xC,CAAD,CAAH,EAAOA,CAAC,CAACknE,yBAAT,CAAjE,EAAqGlnE,CAAC,CAACmnE,wBAAF,GAA2Bj7B,EAAE,CAAC2F,EAAE,CAAC7xC,CAAD,CAAH,EAAOA,CAAC,CAAConE,kBAAT,CAAlI,EAA+JpnE,CAAC,CAACqnE,aAAF,GAAgB,CAAC,CAAhL,EAAkLrnE,CAAC,CAAChc,GAAF,GAAMgjD,CAAC,CAAChnC,CAAC,CAACuuC,GAAH,CAAzL,EAAiMvuC,CAAC,CAAC+3D,MAAF,GAAS9iB,EAA1M,EAA6Mj1C,CAAC,CAACsnE,iBAAF,GAAoB,CAAC,CAAlO,EAAoOtnE,CAAC,CAACunE,gBAAF,GAAmB,EAAvP,EAA0PvnE,CAAC,CAACywC,QAAF,GAAW,CAAC,CAAtQ,EAAwQzwC,CAAC,CAACwoD,WAAF,GAAc,CAAC,CAAvR,EAAyRxoD,CAAC,CAACwnE,WAAF,GAAc,CAAC,CAAxS,EAA0S,CAACxnE,CAAC,CAACsuC,QAAH,IAAa,CAACtuC,CAAC,CAACsuC,QAAF,CAAWugB,SAAzB,IAAoC,CAAC7uD,CAAC,CAACsuC,QAAF,CAAWugB,SAAX,CAAqBjmF,MAAvW,EAA8W,MAAM,IAAIgQ,KAAJ,CAAU,yHAAV,CAAN;;AAA2I,UAAGonB,CAAC,CAACxnB,GAAF,GAAM9S,CAAN,EAAQs6B,CAAC,CAACynE,aAAF,GAAgB/hG,CAAC,IAAEqiE,CAAC,CAACriE,CAAD,CAA5B,EAAgCs6B,CAAC,CAAC0vC,QAAF,CAAW1vC,CAAC,CAACsuC,QAAF,CAAWoB,QAAtB,CAAhC,EAAgErjC,CAAC,CAACsjC,SAArE,EAA+E;AAAC,YAAI7uD,CAAC,GAAC,EAAN;AAAS5U,cAAM,CAACq7D,mBAAP,CAA2Bl7B,CAAC,CAACsjC,SAA7B,EAAwClhE,OAAxC,CAAgD,UAAS/I,CAAT,EAAW;AAACob,WAAC,CAACpb,CAAC,CAACqkB,WAAF,EAAD,CAAD,GAAmBsiB,CAAC,CAACsjC,SAAF,CAAYjqE,CAAZ,CAAnB;AAAkC,SAA9F,GAAgGs6B,CAAC,CAAC0nE,UAAF,GAAa5mF,CAA7G;AAA+G,OAAxM,MAA6Mkf,CAAC,CAAC0nE,UAAF,GAAa5mE,CAAC,CAACrhB,SAAF,CAAY6uD,QAAZ,CAAqBqB,SAAlC;;AAA4C3vC,OAAC,CAAC2nE,WAAF,IAAgB3nE,CAAC,CAAC4nE,OAAF,GAAUv7D,CAAC,CAACwjD,MAAF,IAAU,EAApC,EAAuC7vD,CAAC,CAAC6nE,SAAF,GAAY,CAAC,CAACx7D,CAAC,CAACz4B,QAAvD,EAAgElO,CAAC,CAACkO,QAAF,GAAW,CAAC,CAA5E,EAA8ElO,CAAC,CAACqwB,eAAF,CAAkB,UAAlB,CAA9E,EAA4GiK,CAAC,CAAC8nE,YAAF,GAAe,CAAC,CAA5H,EAA8H9nE,CAAC,CAAC+nE,cAAF,GAAiB,EAA/I,EAAkJ/nE,CAAC,CAACgoE,oBAAF,GAAuB,EAAzK,EAA4KtiG,CAAC,CAAC+M,YAAF,CAAe,UAAf,IAA2ButB,CAAC,CAAC3zB,QAAF,CAAW,CAAC,CAAZ,CAA3B,GAA0C2zB,CAAC,CAAC3zB,QAAF,CAAW2zB,CAAC,CAACsuC,QAAF,CAAWjiE,QAAtB,CAAtN,EAAsPggC,CAAC,CAAC47D,OAAF,IAAW/7F,MAAM,CAAC8pB,IAAP,CAAYqW,CAAC,CAAC47D,OAAd,EAAuBx5F,OAAvB,CAA+B,UAAS/I,CAAT,EAAW;AAAC,YAAG,cAAY,OAAOs6B,CAAC,CAACt6B,CAAD,CAAvB,EAA2B,MAAM,IAAIkT,KAAJ,CAAU,aAAWlT,CAAX,GAAa,kBAAvB,CAAN;AAAiD,OAAvH,CAAjQ,EAA0Xs6B,CAAC,CAACkoE,UAAF,GAAa,CAAC,CAAxY,EAA0YloE,CAAC,CAACyuC,GAAF,GAAMzuC,CAAC,CAACupC,QAAF,EAAhZ,EAA6ZiE,EAAE,CAACqE,EAAE,CAAC7xC,CAAD,CAAH,EAAO;AAACytC,mBAAW,EAAC;AAAb,OAAP,CAA/Z,EAA2bztC,CAAC,CAAC+3D,MAAF,CAASI,iBAAT,KAA6BtsB,EAAE,CAAC1F,CAAD,EAAGnmC,CAAC,CAAC+3D,MAAF,CAASoQ,gBAAZ,EAA6BnoE,CAAC,CAACinE,8BAA/B,CAAF,EAAiEjnE,CAAC,CAACj4B,EAAF,CAAKi4B,CAAC,CAAC+3D,MAAF,CAASoQ,gBAAd,EAA+BnoE,CAAC,CAACinE,8BAAjC,CAA9F,CAA3b,EAA2lBjnE,CAAC,CAACooE,MAAF,IAAUpoE,CAAC,CAACj4B,EAAF,CAAK,aAAL,EAAmBi4B,CAAC,CAACqoE,cAArB,CAArmB;AAA0oB,UAAIhiC,CAAC,GAAC4H,EAAE,CAACjuC,CAAC,CAACsuC,QAAH,CAAR;AAAqBjiC,OAAC,CAAC47D,OAAF,IAAW/7F,MAAM,CAAC8pB,IAAP,CAAYqW,CAAC,CAAC47D,OAAd,EAAuBx5F,OAAvB,CAA+B,UAAS/I,CAAT,EAAW;AAACs6B,SAAC,CAACt6B,CAAD,CAAD,CAAK2mC,CAAC,CAAC47D,OAAF,CAAUviG,CAAV,CAAL;AAAmB,OAA9D,CAAX,EAA2Es6B,CAAC,CAACsuC,QAAF,CAAWiC,aAAX,GAAyBlK,CAApG,EAAsGrmC,CAAC,CAACsoE,WAAF,GAAc,EAApH,EAAuHtoE,CAAC,CAACqvC,YAAF,EAAvH,EAAwIrvC,CAAC,CAACqyD,OAAF,CAAU,YAAU3sF,CAAC,CAAC0c,QAAF,CAAW2H,WAAX,EAApB,CAAxI,EAAsLiW,CAAC,CAACpsB,QAAF,KAAaosB,CAAC,CAACt1B,QAAF,CAAW,sBAAX,CAAb,GAAgDs1B,CAAC,CAACt1B,QAAF,CAAW,uBAAX,CAAtO,EAA0Qs1B,CAAC,CAACyuC,GAAF,CAAM9mD,YAAN,CAAmB,MAAnB,EAA0B,QAA1B,CAA1Q,EAA8SqY,CAAC,CAACqyD,OAAF,KAAYryD,CAAC,CAACyuC,GAAF,CAAM9mD,YAAN,CAAmB,YAAnB,EAAgCqY,CAAC,CAACyvC,QAAF,CAAW,cAAX,CAAhC,CAAZ,GAAwEzvC,CAAC,CAACyuC,GAAF,CAAM9mD,YAAN,CAAmB,YAAnB,EAAgCqY,CAAC,CAACyvC,QAAF,CAAW,cAAX,CAAhC,CAAtX,EAAkbzvC,CAAC,CAACqyD,OAAF,MAAaryD,CAAC,CAACt1B,QAAF,CAAW,WAAX,CAA/b,EAAuds1B,CAAC,CAACuoE,iBAAF,MAAuBvoE,CAAC,CAACt1B,QAAF,CAAW,aAAX,CAA9e,EAAwgB0oE,EAAE,IAAEpzC,CAAC,CAACt1B,QAAF,CAAW,mBAAX,CAA5gB,EAA4iB+oE,EAAE,IAAEzzC,CAAC,CAACt1B,QAAF,CAAW,kBAAX,CAAhjB,EAA+kBo2B,CAAC,CAAC8wC,OAAF,CAAU5xC,CAAC,CAACuuC,GAAZ,IAAiBsD,EAAE,CAAC7xC,CAAD,CAAlmB;AAAsmB,UAAIsmC,CAAC,GAACF,CAAC,CAACv1C,KAAF,CAAQ,GAAR,EAAa,CAAb,CAAN;AAAsB,aAAOmP,CAAC,CAACt1B,QAAF,CAAW,UAAQ47D,CAAnB,GAAsBtmC,CAAC,CAACwoE,UAAF,CAAa,CAAC,CAAd,CAAtB,EAAuCxoE,CAAC,CAACsxC,kBAAF,EAAvC,EAA8DtxC,CAAC,CAAC/Y,GAAF,CAAM,MAAN,EAAa+Y,CAAC,CAACyoE,sBAAf,CAA9D,EAAqGzoE,CAAC,CAACj4B,EAAF,CAAK,YAAL,EAAkBi4B,CAAC,CAAC0oE,iBAApB,CAArG,EAA4I1oE,CAAC,CAACj4B,EAAF,CAAK,SAAL,EAAei4B,CAAC,CAACkxC,aAAjB,CAA5I,EAA4KlxC,CAAC,CAAC2oE,WAAF,CAAc3oE,CAAC,CAACsuC,QAAF,CAAWq6B,WAAzB,CAA5K,EAAkN3oE,CAAC,CAAChyB,UAAF,CAAagyB,CAAC,CAACsuC,QAAF,CAAWtgE,UAAxB,CAAlN,EAAsPgyB,CAA7P;AAA+P;;AAAAoyC,MAAE,CAACtxC,CAAD,EAAGomC,CAAH,CAAF;AAAQ,QAAIxhE,CAAC,GAACo7B,CAAC,CAACrhB,SAAR;AAAkB,WAAO/Z,CAAC,CAACyR,OAAF,GAAU,YAAU;AAAC,UAAI6oB,CAAC,GAAC,IAAN;AAAW,WAAK/0B,OAAL,CAAa,SAAb,GAAwB,KAAKnD,GAAL,CAAS,SAAT,CAAxB,EAA4CgkE,EAAE,CAAC3F,CAAD,EAAG,KAAK4xB,MAAL,CAAYoQ,gBAAf,EAAgC,KAAKlB,8BAArC,CAA9C,EAAmHn7B,EAAE,CAAC3F,CAAD,EAAG,SAAH,EAAa,KAAKghC,wBAAlB,CAArH,EAAiK,KAAKyB,QAAL,IAAe,KAAKA,QAAL,CAAc7vF,UAA7B,KAA0C,KAAK6vF,QAAL,CAAc7vF,UAAd,CAAyB8U,WAAzB,CAAqC,KAAK+6E,QAA1C,GAAoD,KAAKA,QAAL,GAAc,IAA5G,CAAjK,EAAmR9nE,CAAC,CAAC8wC,OAAF,CAAU,KAAKrD,GAAf,IAAoB,IAAvS,EAA4S,KAAK/1D,GAAL,IAAU,KAAKA,GAAL,CAAStG,MAAnB,KAA4B,KAAKsG,GAAL,CAAStG,MAAT,GAAgB,IAA5C,CAA5S,EAA8V,KAAKu8D,GAAL,IAAU,KAAKA,GAAL,CAASv8D,MAAnB,KAA4B,KAAKu8D,GAAL,CAASv8D,MAAT,GAAgB,IAA5C,CAA9V,EAAgZ,KAAK+tE,KAAL,KAAa,KAAKA,KAAL,CAAW9oE,OAAX,IAAqB,KAAKmwF,iBAAL,GAAuB,CAAC,CAA7C,EAA+C,KAAKM,OAAL,GAAa,EAAzE,CAAhZ,EAA6d,KAAKiB,eAAL,KAAuB,KAAKA,eAAL,GAAqB,IAA5C,CAA7d,EAA+gB,KAAKrwF,GAAL,KAAW,KAAKA,GAAL,GAAS,IAApB,CAA/gB,EAAyiB,UAAS9S,CAAT,EAAW;AAACknF,UAAE,CAAClnF,CAAC,CAACiB,EAAF,EAAD,CAAF,GAAW,IAAX;AAAgB,OAA5B,CAA6B,IAA7B,CAAziB,EAA4kBq7E,EAAE,CAAChK,KAAH,CAASvpE,OAAT,CAAiB,UAAS/I,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC21C,EAAE,CAACt8E,CAAD,CAAR;AAAA,YAAYe,CAAC,GAACu5B,CAAC,CAACqM,CAAC,CAACs1C,UAAH,CAAD,EAAd;AAAgCl7E,SAAC,IAAEA,CAAC,CAACqB,GAAL,IAAUrB,CAAC,CAACqB,GAAF,EAAV;AAAkB,OAA/E,CAA5kB,EAA6pBo/D,CAAC,CAACznD,SAAF,CAAYtI,OAAZ,CAAoB9L,IAApB,CAAyB,IAAzB,CAA7pB;AAA4rB,KAA5tB,EAA6tB3F,CAAC,CAAC6jE,QAAF,GAAW,YAAU;AAAC,UAAIl9B,CAAJ;AAAA,UAAM5lC,CAAC,GAAC,KAAK+R,GAAb;AAAA,UAAiB9S,CAAC,GAAC,KAAKmjG,eAAL,GAAqBpiG,CAAC,CAACsS,UAAF,IAActS,CAAC,CAACsS,UAAF,CAAatG,YAA3B,IAAyChM,CAAC,CAACsS,UAAF,CAAatG,YAAb,CAA0B,iBAA1B,CAAjF;AAAA,UAA8HutB,CAAC,GAAC,eAAa,KAAKxnB,GAAL,CAASssE,OAAT,CAAiB/6D,WAAjB,EAA7I;AAA4KrkB,OAAC,GAAC2mC,CAAC,GAAC,KAAKoiC,GAAL,GAAShoE,CAAC,CAACsS,UAAd,GAAyBinB,CAAC,KAAGqM,CAAC,GAAC,KAAKoiC,GAAL,GAASvH,CAAC,CAACznD,SAAF,CAAY8pD,QAAZ,CAAqBl+D,IAArB,CAA0B,IAA1B,EAA+B,KAA/B,CAAd,CAA3B;AAAgF,UAAIm7D,CAAC,GAACuB,CAAC,CAACthE,CAAD,CAAP;;AAAW,UAAGu5B,CAAH,EAAK;AAAC,aAAIqM,CAAC,GAAC,KAAKoiC,GAAL,GAAShoE,CAAX,EAAaA,CAAC,GAAC,KAAK+R,GAAL,GAAS2tD,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,CAA5B,EAAqD4zB,CAAC,CAAC1pB,QAAF,CAAW/Z,MAAhE;AAAwEnC,WAAC,CAACmnB,WAAF,CAAcye,CAAC,CAAC3S,UAAhB;AAAxE;;AAAoGxN,SAAC,CAACmgB,CAAD,EAAG,UAAH,CAAD,IAAiBu7B,CAAC,CAACv7B,CAAD,EAAG,UAAH,CAAlB,EAAiCA,CAAC,CAACze,WAAF,CAAcnnB,CAAd,CAAjC,EAAkDf,CAAC,GAAC,KAAKmjG,eAAL,GAAqBx8D,CAAzE,EAA2EngC,MAAM,CAAC8pB,IAAP,CAAYqW,CAAZ,EAAe59B,OAAf,CAAuB,UAAS/I,CAAT,EAAW;AAAC,cAAG;AAACe,aAAC,CAACf,CAAD,CAAD,GAAK2mC,CAAC,CAAC3mC,CAAD,CAAN;AAAU,WAAd,CAAc,OAAMA,CAAN,EAAQ,CAAE;AAAC,SAA5D,CAA3E;AAAyI;;AAAA,UAAGe,CAAC,CAACkhB,YAAF,CAAe,UAAf,EAA0B,IAA1B,GAAgC6+C,CAAC,CAAC/oB,QAAF,GAAW,IAA3C,EAAgD,CAACw1B,EAAE,IAAEF,EAAE,IAAEI,EAAT,MAAe1sE,CAAC,CAACkhB,YAAF,CAAe,MAAf,EAAsB,aAAtB,GAAqC6+C,CAAC,CAACiS,IAAF,GAAO,aAA3D,CAAhD,EAA0HhyE,CAAC,CAACsvB,eAAF,CAAkB,OAAlB,CAA1H,EAAqJtvB,CAAC,CAACsvB,eAAF,CAAkB,QAAlB,CAArJ,EAAiL,WAAUywC,CAAV,IAAa,OAAOA,CAAC,CAAC9vD,KAAvM,EAA6M,YAAW8vD,CAAX,IAAc,OAAOA,CAAC,CAAC/vD,MAApO,EAA2OvK,MAAM,CAACq7D,mBAAP,CAA2Bf,CAA3B,EAA8B/3D,OAA9B,CAAsC,UAAS/I,CAAT,EAAW;AAACs6B,SAAC,IAAE,YAAUt6B,CAAb,IAAgB2mC,CAAC,CAAC1kB,YAAF,CAAejiB,CAAf,EAAiB8gE,CAAC,CAAC9gE,CAAD,CAAlB,CAAhB,EAAuCs6B,CAAC,IAAEv5B,CAAC,CAACkhB,YAAF,CAAejiB,CAAf,EAAiB8gE,CAAC,CAAC9gE,CAAD,CAAlB,CAA1C;AAAiE,OAAnH,CAA3O,EAAgWe,CAAC,CAACuP,QAAF,GAAWvP,CAAC,CAACE,EAA7W,EAAgXF,CAAC,CAACE,EAAF,IAAM,YAAtX,EAAmYF,CAAC,CAACkxB,SAAF,GAAY,UAA/Y,EAA0ZlxB,CAAC,CAACyL,MAAF,GAASm6B,CAAC,CAACn6B,MAAF,GAAS,IAA5a,EAAib,KAAKxH,QAAL,CAAc,YAAd,CAAjb,EAA6c,CAAC,CAAD,KAAKsd,CAAC,CAAC8gF,wBAAvd,EAAgf;AAAC,aAAKF,QAAL,GAAcn+B,CAAC,CAAC,uBAAD,CAAf;AAAyC,YAAIrgD,CAAC,GAAC4+C,CAAC,CAAC,sBAAD,CAAP;AAAA,YAAgCloD,CAAC,GAACkoD,CAAC,CAAC,MAAD,CAAnC;AAA4CloD,SAAC,CAAC9H,YAAF,CAAe,KAAK4vF,QAApB,EAA6Bx+E,CAAC,GAACA,CAAC,CAACyM,WAAH,GAAe/V,CAAC,CAAC4Y,UAA/C;AAA2D;;AAAA,WAAKqvE,KAAL,GAAW,CAAC,CAAZ,EAAc,KAAKX,MAAL,GAAY,CAAC,CAA3B,EAA6B,KAAK1xF,KAAL,CAAW,KAAK43D,QAAL,CAAc53D,KAAzB,CAA7B,EAA6D,KAAKD,MAAL,CAAY,KAAK63D,QAAL,CAAc73D,MAA1B,CAA7D,EAA+F,KAAKsiE,IAAL,CAAU,KAAKzK,QAAL,CAAcyK,IAAxB,CAA/F,EAA6H,KAAKiwB,KAAL,CAAW,KAAK16B,QAAL,CAAc06B,KAAzB,CAA7H,EAA6J,KAAKC,WAAL,CAAiB,KAAK36B,QAAL,CAAc26B,WAA/B,CAA7J,EAAyM,KAAKC,WAAL,CAAiB,KAAK56B,QAAL,CAAc46B,WAAd,IAA2B,KAAK56B,QAAL,CAAc66B,WAA1D,CAAzM;;AAAgR,WAAI,IAAI9iC,CAAC,GAAC5/D,CAAC,CAACqS,oBAAF,CAAuB,GAAvB,CAAN,EAAkCwtD,CAAC,GAAC,CAAxC,EAA0CA,CAAC,GAACD,CAAC,CAACz9D,MAA9C,EAAqD09D,CAAC,EAAtD,EAAyD;AAAC,YAAIxlC,CAAC,GAACulC,CAAC,CAACt5C,IAAF,CAAOu5C,CAAP,CAAN;AAAgBsB,SAAC,CAAC9mC,CAAD,EAAG,YAAH,CAAD,EAAkBA,CAAC,CAACnZ,YAAF,CAAe,QAAf,EAAwB,QAAxB,CAAlB;AAAoD;;AAAA,aAAOlhB,CAAC,CAACy8F,iBAAF,GAAoBz8F,CAAC,CAAC09F,YAAtB,EAAmC19F,CAAC,CAACsS,UAAF,IAAc,CAACrT,CAAf,IAAkBe,CAAC,CAACsS,UAAF,CAAaC,YAAb,CAA0BqzB,CAA1B,EAA4B5lC,CAA5B,CAArD,EAAoFkhE,CAAC,CAAClhE,CAAD,EAAG4lC,CAAH,CAArF,EAA2F,KAAKuiC,SAAL,CAAe11C,OAAf,CAAuBzyB,CAAvB,CAA3F,EAAqH,KAAKgoE,GAAL,CAAS9mD,YAAT,CAAsB,MAAtB,EAA6B,KAAKq1E,SAAlC,CAArH,EAAkK,KAAKvuB,GAAL,GAASpiC,CAAlL;AAAoL,KAAh7E,EAAi7E3mC,CAAC,CAACwjG,WAAF,GAAc,UAASxjG,CAAT,EAAW;AAAC,UAAG,CAACA,CAAJ,EAAM,OAAO,KAAK0jG,QAAL,CAAc,aAAd,CAAP;AAAoC,sBAAc1jG,CAAd,IAAiB,sBAAoBA,CAArC,GAAuC,KAAK2jG,SAAL,CAAe,gBAAf,EAAgC3jG,CAAhC,CAAvC,GAA0EozC,CAAC,CAAC5T,IAAF,CAAO,kEAAgEx/B,CAAhE,GAAkE,GAAzE,CAA1E;AAAwJ,KAA7oF,EAA8oFA,CAAC,CAACgR,KAAF,GAAQ,UAAShR,CAAT,EAAW;AAAC,aAAO,KAAKkxC,SAAL,CAAe,OAAf,EAAuBlxC,CAAvB,CAAP;AAAiC,KAAnsF,EAAosFA,CAAC,CAAC+Q,MAAF,GAAS,UAAS/Q,CAAT,EAAW;AAAC,aAAO,KAAKkxC,SAAL,CAAe,QAAf,EAAwBlxC,CAAxB,CAAP;AAAkC,KAA3vF,EAA4vFA,CAAC,CAACkxC,SAAF,GAAY,UAASlxC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAACf,CAAC,GAAC,GAAR;AAAY,UAAG,KAAK,CAAL,KAAS2mC,CAAZ,EAAc,OAAO,KAAK5lC,CAAL,KAAS,CAAhB;AAAkB,UAAG,OAAK4lC,CAAL,IAAQ,WAASA,CAApB,EAAsB,OAAO,KAAK5lC,CAAL,IAAQ,KAAK,CAAb,EAAe,KAAK,KAAK4hG,cAAL,EAA3B;AAAiD,UAAIroE,CAAC,GAACrX,UAAU,CAAC0jB,CAAD,CAAhB;AAAoB//B,WAAK,CAAC0zB,CAAD,CAAL,GAAS8Y,CAAC,CAACnuC,KAAF,CAAQ,qBAAmB0hC,CAAnB,GAAqB,qBAArB,GAA2C3mC,CAAnD,CAAT,IAAgE,KAAKe,CAAL,IAAQu5B,CAAR,EAAU,KAAKqoE,cAAL,EAA1E;AAAiG,KAA9/F,EAA+/F3iG,CAAC,CAACsjG,KAAF,GAAQ,UAAStjG,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAM,CAAC,CAAC,KAAK0iG,MAAb;AAAoB,WAAKA,MAAL,GAAY,CAAC,CAAC1iG,CAAd,EAAgBqnE,EAAE,CAAC,IAAD,CAAF,IAAU,KAAKjlE,GAAL,CAAS,aAAT,EAAuB,KAAKugG,cAA5B,CAA1B,EAAsE3iG,CAAC,IAAE,KAAKgF,QAAL,CAAc,WAAd,GAA2B,KAAKquE,IAAL,CAAU,CAAC,CAAX,CAA3B,EAAyC,UAASrzE,CAAT,EAAW2mC,CAAX,EAAa;AAAC0gC,UAAE,CAACrnE,CAAD,CAAF,GAAM2mC,CAAC,EAAP,IAAW3mC,CAAC,CAACgoE,gBAAF,KAAqBhoE,CAAC,CAACgoE,gBAAF,GAAmB,EAAxC,GAA4ChoE,CAAC,CAACgoE,gBAAF,CAAmBzkE,IAAnB,CAAwBojC,CAAxB,CAAvD;AAAmF,OAAjG,CAAkG,YAAU;AAAC,aAAKtkC,EAAL,CAAQ,aAAR,EAAsB,KAAKsgG,cAA3B;AAA2C,OAAxJ,CAA3C,IAAsM,KAAKlhG,WAAL,CAAiB,WAAjB,CAA7Q,EAA2S,KAAKkhG,cAAL,EAA3S;AAAiU,KAAt3G,EAAu3G3iG,CAAC,CAACqzE,IAAF,GAAO,UAASrzE,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAM,CAAC,CAAC,KAAKqjG,KAAb;AAAmB,WAAKA,KAAL,GAAW,CAAC,CAACrjG,CAAb,EAAeA,CAAC,IAAE,KAAKgF,QAAL,CAAc,UAAd,GAA0B,KAAKs+F,KAAL,CAAW,CAAC,CAAZ,CAA5B,IAA4C,KAAK7hG,WAAL,CAAiB,UAAjB,CAA5D;AAAyF,KAApgH,EAAqgHzB,CAAC,CAACujG,WAAF,GAAc,UAASvjG,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAK4jG,YAAZ;AAAyB,UAAG,CAAC,aAAajuF,IAAb,CAAkB3V,CAAlB,CAAJ,EAAyB,MAAM,IAAIkT,KAAJ,CAAU,gGAAV,CAAN;AAAkH,WAAK0wF,YAAL,GAAkB5jG,CAAlB,EAAoB,KAAKsjG,KAAL,CAAW,CAAC,CAAZ,CAApB,EAAmC,KAAKX,cAAL,EAAnC;AAAyD,KAA1wH,EAA2wH3iG,CAAC,CAAC2iG,cAAF,GAAiB,YAAU;AAAC,UAAG,CAAC,CAAD,KAAKrgF,CAAC,CAAC8gF,wBAAV,EAAmC;AAAC,YAAIpjG,CAAJ;AAAA,YAAM2mC,CAAN;AAAA,YAAQ5lC,CAAR;AAAA,YAAUu5B,CAAC,GAAC,CAAC,KAAK,CAAL,KAAS,KAAKspE,YAAd,IAA4B,WAAS,KAAKA,YAA1C,GAAuD,KAAKA,YAA5D,GAAyE,IAAE,KAAKC,UAAL,EAAF,GAAoB,KAAKA,UAAL,KAAkB,GAAlB,GAAsB,KAAKC,WAAL,EAA1C,GAA6D,MAAvI,EAA+I34E,KAA/I,CAAqJ,GAArJ,CAAZ;AAAA,YAAsK21C,CAAC,GAACxmC,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAA9K;AAAkLt6B,SAAC,GAAC,KAAK,CAAL,KAAS,KAAK+jG,MAAd,GAAqB,KAAKA,MAA1B,GAAiC,KAAK,CAAL,KAAS,KAAKC,OAAd,GAAsB,KAAKA,OAAL,GAAaljC,CAAnC,GAAqC,KAAK+iC,UAAL,MAAmB,GAA3F,EAA+Fl9D,CAAC,GAAC,KAAK,CAAL,KAAS,KAAKq9D,OAAd,GAAsB,KAAKA,OAA3B,GAAmChkG,CAAC,GAAC8gE,CAAtI,EAAwI//D,CAAC,GAAC,aAAa4U,IAAb,CAAkB,KAAK1U,EAAL,EAAlB,IAA6B,gBAAc,KAAKA,EAAL,EAA3C,GAAqD,KAAKA,EAAL,KAAU,aAAzM,EAAuN,KAAK+D,QAAL,CAAcjE,CAAd,CAAvN,EAAwOikE,EAAE,CAAC,KAAKk+B,QAAN,EAAe,cAAYniG,CAAZ,GAAc,qBAAd,GAAoCf,CAApC,GAAsC,uBAAtC,GAA8D2mC,CAA9D,GAAgE,yBAAhE,GAA0F5lC,CAA1F,GAA4F,qCAA5F,GAAkI,MAAI+/D,CAAtI,GAAwI,mBAAvJ,CAA1O;AAAsZ,OAA5mB,MAAgnB;AAAC,YAAIp8C,CAAC,GAAC,YAAU,OAAO,KAAKq/E,MAAtB,GAA6B,KAAKA,MAAlC,GAAyC,KAAKn7B,QAAL,CAAc53D,KAA7D;AAAA,YAAmEoK,CAAC,GAAC,YAAU,OAAO,KAAK4oF,OAAtB,GAA8B,KAAKA,OAAnC,GAA2C,KAAKp7B,QAAL,CAAc73D,MAA9H;AAAA,YAAqI4vD,CAAC,GAAC,KAAK4Z,KAAL,IAAY,KAAKA,KAAL,CAAWh2D,EAAX,EAAnJ;AAAmKo8C,SAAC,KAAG,KAAGj8C,CAAH,KAAOi8C,CAAC,CAAC3vD,KAAF,GAAQ0T,CAAf,GAAkB,KAAGtJ,CAAH,KAAOulD,CAAC,CAAC5vD,MAAF,GAASqK,CAAhB,CAArB,CAAD;AAA0C;AAAC,KAAtmJ,EAAumJpb,CAAC,CAACqpF,SAAF,GAAY,UAASrpF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAN;AAAW,WAAKw5E,KAAL,IAAY,KAAK0pB,WAAL,EAAZ;AAA+B,UAAI3pE,CAAC,GAACguC,EAAE,CAACtoE,CAAD,CAAR;AAAA,UAAY8gE,CAAC,GAAC9gE,CAAC,CAAC2pD,MAAF,CAAS,CAAT,EAAYtlC,WAAZ,KAA0BrkB,CAAC,CAAC2a,KAAF,CAAQ,CAAR,CAAxC;AAAmD,kBAAU2f,CAAV,IAAa,KAAKxnB,GAAlB,KAAwB+vE,EAAE,CAACmD,OAAH,CAAW,OAAX,EAAoBiY,mBAApB,CAAwC,KAAKnrF,GAA7C,GAAkD,KAAKA,GAAL,CAAStG,MAAT,GAAgB,IAAlE,EAAuE,KAAKsG,GAAL,GAAS,IAAxG,GAA8G,KAAKoxF,SAAL,GAAe5pE,CAA7H,EAA+H,KAAKywC,QAAL,GAAc,CAAC,CAA9I;AAAgJ,UAAIrmD,CAAC,GAAC;AAACjF,cAAM,EAACknB,CAAR;AAAUhgC,gBAAQ,EAAC,YAAU,OAAO,KAAKA,QAAL,EAAjB,IAAkC,KAAKA,QAAL,EAArD;AAAqE88E,8BAAsB,EAAC,KAAK7a,QAAL,CAAc6a,sBAA1G;AAAiInzE,gBAAQ,EAAC,KAAKrP,EAAL,EAA1I;AAAoJs9F,cAAM,EAAC,KAAKt9F,EAAL,KAAU,GAAV,GAAc6/D,CAAd,GAAgB,MAA3K;AAAkLpxD,mBAAW,EAAC,KAAKk5D,QAAL,CAAcl5D,WAA5M;AAAwN8uF,eAAO,EAAC,KAAK51B,QAAL,CAAc41B,OAA9O;AAAsP13F,YAAI,EAAC,KAAK8hE,QAAL,CAAc9hE,IAAzQ;AAA8QqH,aAAK,EAAC,KAAKy6D,QAAL,CAAcz6D,KAAlS;AAAwSg8E,cAAM,EAAC,KAAKA,MAAL,EAA/S;AAA6TngB,gBAAQ,EAAC,KAAKA,QAAL,EAAtU;AAAsVq0B,sBAAc,EAAC,KAAK8E,eAAL,IAAsB,CAAC,CAA5X;AAA8X,kBAAS,KAAKv6B,QAAL,CAAc,QAAd,CAAvY;AAA+Zu7B,yBAAiB,EAAC,CAAC,CAAC,KAAKv7B,QAAL,CAAcw7B,qBAAjc;AAAud1G,uBAAe,EAAC,KAAK90B,QAAL,CAAc80B,eAArf;AAAqgB7qF,eAAO,EAAC,KAAK+1D,QAAL,CAAc/1D;AAA3hB,OAAN;AAA0iBypE,QAAE,CAAChK,KAAH,CAASvpE,OAAT,CAAiB,UAAS/I,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC21C,EAAE,CAACt8E,CAAD,CAAR;AAAY0kB,SAAC,CAACiiB,CAAC,CAACs1C,UAAH,CAAD,GAAgBl7E,CAAC,CAAC4lC,CAAC,CAACu1C,WAAH,CAAjB;AAAiC,OAA1E,GAA4E3sD,CAAC,CAAC7K,CAAD,EAAG,KAAKkkD,QAAL,CAActuC,CAAd,CAAH,CAA7E,EAAkG/K,CAAC,CAAC7K,CAAD,EAAG,KAAKkkD,QAAL,CAAc9H,CAAd,CAAH,CAAnG,EAAwHvxC,CAAC,CAAC7K,CAAD,EAAG,KAAKkkD,QAAL,CAAc5oE,CAAC,CAACqkB,WAAF,EAAd,CAAH,CAAzH,EAA4J,KAAKvR,GAAL,KAAW4R,CAAC,CAAC5R,GAAF,GAAM,KAAKA,GAAtB,CAA5J,EAAuL6zB,CAAC,IAAEA,CAAC,CAAC3zB,GAAF,KAAQ,KAAKy4E,MAAL,CAAYz4E,GAAvB,IAA4B,IAAE,KAAKy4E,MAAL,CAAY57E,WAA1C,KAAwD6U,CAAC,CAAC2wB,SAAF,GAAY,KAAKo2C,MAAL,CAAY57E,WAAhF,CAAvL;AAAoR,UAAIuL,CAAC,GAACynE,EAAE,CAACmD,OAAH,CAAWhmF,CAAX,CAAN;AAAoB,UAAG,CAACob,CAAJ,EAAM,MAAM,IAAIlI,KAAJ,CAAU,oBAAkBonB,CAAlB,GAAoB,aAApB,GAAkCA,CAAlC,GAAoC,sDAA9C,CAAN;AAA4G,WAAKigD,KAAL,GAAW,IAAIn/D,CAAJ,CAAMsJ,CAAN,CAAX,EAAoB,KAAK61D,KAAL,CAAW9kE,KAAX,CAAiB+wD,EAAE,CAAC,IAAD,EAAM,KAAK69B,gBAAX,CAAnB,EAAgD,CAAC,CAAjD,CAApB,EAAwE3zB,EAAE,CAAC,KAAK4zB,eAAL,IAAsB,EAAvB,EAA0B,KAAK/pB,KAA/B,CAA1E,EAAgHgmB,EAAE,CAACx3F,OAAH,CAAW,UAAS/I,CAAT,EAAW;AAACe,SAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACw5E,KAAP,EAAav6E,CAAb,EAAee,CAAC,CAAC,eAAaunE,EAAE,CAACtoE,CAAD,CAAf,GAAmB,GAApB,CAAhB;AAA0C,OAAjE,CAAhH,EAAmLwG,MAAM,CAAC8pB,IAAP,CAAYkwE,EAAZ,EAAgBz3F,OAAhB,CAAwB,UAAS49B,CAAT,EAAW;AAAC5lC,SAAC,CAACsB,EAAF,CAAKtB,CAAC,CAACw5E,KAAP,EAAa5zC,CAAb,EAAe,UAAS3mC,CAAT,EAAW;AAAC,gBAAIe,CAAC,CAACw5E,KAAF,CAAQqd,YAAR,EAAJ,IAA4B72F,CAAC,CAACw5E,KAAF,CAAQgqB,OAAR,EAA5B,GAA8CxjG,CAAC,CAAC8gG,gBAAF,CAAmBt+F,IAAnB,CAAwB;AAACX,oBAAQ,EAAC7B,CAAC,CAAC,eAAay/F,EAAE,CAAC75D,CAAD,CAAf,GAAmB,GAApB,CAAD,CAA0BpqB,IAA1B,CAA+Bxb,CAA/B,CAAV;AAA4CqJ,iBAAK,EAACpK;AAAlD,WAAxB,CAA9C,GAA4He,CAAC,CAAC,eAAay/F,EAAE,CAAC75D,CAAD,CAAf,GAAmB,GAApB,CAAD,CAA0B3mC,CAA1B,CAA5H;AAAyJ,SAApL;AAAsL,OAA1N,CAAnL,EAA+Y,KAAKqC,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,WAAnB,EAA+B,KAAKiqB,oBAApC,CAA/Y,EAAyc,KAAKniG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,WAAnB,EAA+B,KAAKkqB,oBAApC,CAAzc,EAAmgB,KAAKpiG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,SAAnB,EAA6B,KAAKmqB,kBAAlC,CAAngB,EAAyjB,KAAKriG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,OAAnB,EAA2B,KAAKoqB,gBAAhC,CAAzjB,EAA2mB,KAAKtiG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,SAAnB,EAA6B,KAAKqqB,kBAAlC,CAA3mB,EAAiqB,KAAKviG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,MAAnB,EAA0B,KAAKsqB,eAA/B,CAAjqB,EAAitB,KAAKxiG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,WAAnB,EAA+B,KAAKuqB,oBAApC,CAAjtB,EAA2wB,KAAKziG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,OAAnB,EAA2B,KAAKwqB,gBAAhC,CAA3wB,EAA6zB,KAAK1iG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,gBAAnB,EAAoC,KAAKyqB,yBAAzC,CAA7zB,EAAi4B,KAAK3iG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,kBAAnB,EAAsC,KAAK0qB,2BAA3C,CAAj4B,EAAy8B,KAAK5iG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,iBAAnB,EAAqC,KAAK2qB,0BAA1C,CAAz8B,EAA+gC,KAAK7iG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,uBAAnB,EAA2C,KAAK4qB,gCAAhD,CAA/gC,EAAimC,KAAK9iG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,uBAAnB,EAA2C,KAAK6qB,gCAAhD,CAAjmC,EAAmrC,KAAK/iG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,OAAnB,EAA2B,KAAK8qB,gBAAhC,CAAnrC,EAAquC,KAAKhjG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,gBAAnB,EAAoC,KAAKooB,cAAzC,CAAruC,EAA8xC,KAAKtgG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,cAAnB,EAAkC,KAAK+qB,uBAAvC,CAA9xC,EAA81C,KAAKjjG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,UAAnB,EAA8B,KAAKgrB,mBAAnC,CAA91C,EAAs5C,KAAKljG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,YAAnB,EAAgC,KAAKirB,qBAArC,CAAt5C,EAAk9C,KAAKC,mBAAL,CAAyB,KAAK/B,QAAL,CAAc,UAAd,CAAzB,CAAl9C,EAAsgD,KAAKx1F,QAAL,MAAiB,CAAC,KAAKu3F,mBAAL,EAAlB,IAA8C,KAAKC,yBAAL,EAApjD,EAAqlD,KAAKnrB,KAAL,CAAWh2D,EAAX,GAAgBlR,UAAhB,KAA6B,KAAKkR,EAAL,EAA7B,IAAwC,YAAU+V,CAAV,IAAa,KAAKxnB,GAA1D,IAA+DmvD,CAAC,CAAC,KAAKsY,KAAL,CAAWh2D,EAAX,EAAD,EAAiB,KAAKA,EAAL,EAAjB,CAArpD,EAAirD,KAAKzR,GAAL,KAAW,KAAKA,GAAL,CAAStG,MAAT,GAAgB,IAAhB,EAAqB,KAAKsG,GAAL,GAAS,IAAzC,CAAjrD;AAAguD,KAAlhP,EAAmhP9S,CAAC,CAACikG,WAAF,GAAc,YAAU;AAAC,UAAIljG,CAAC,GAAC,IAAN;AAAWu7E,QAAE,CAAChK,KAAH,CAASvpE,OAAT,CAAiB,UAAS/I,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC21C,EAAE,CAACt8E,CAAD,CAAR;AAAYe,SAAC,CAAC4lC,CAAC,CAACu1C,WAAH,CAAD,GAAiBn7E,CAAC,CAAC4lC,CAAC,CAACs1C,UAAH,CAAD,EAAjB;AAAmC,OAA5E,GAA8E,KAAKqoB,eAAL,GAAqB/zB,EAAE,CAAC,KAAKgK,KAAN,CAArG,EAAkH,KAAKxP,QAAL,GAAc,CAAC,CAAjI,EAAmI,KAAKwP,KAAL,CAAW9oE,OAAX,EAAnI,EAAwJ,KAAK8oE,KAAL,GAAW,CAAC,CAApK,EAAsK,KAAKqnB,iBAAL,KAAyB,KAAKM,OAAL,GAAa,EAAb,EAAgB,KAAK38F,OAAL,CAAa,cAAb,CAAzC,CAAtK,EAA6O,KAAKq8F,iBAAL,GAAuB,CAAC,CAArQ;AAAuQ,KAA9zP,EAA+zP5hG,CAAC,CAACy6E,IAAF,GAAO,UAASz6E,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,IAAYozC,CAAC,CAAC5T,IAAF,CAAO,oJAAP,CAAZ,EAAyK,KAAK+6C,KAArL;AAA2L,KAA7gQ,EAA8gQv6E,CAAC,CAAC0lG,yBAAF,GAA4B,YAAU;AAAC,WAAKC,4BAAL,IAAoC,KAAKtjG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,SAAnB,EAA6B,KAAKqrB,gBAAlC,CAApC,EAAwF,KAAKvjG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,UAAnB,EAA8B,KAAKsrB,sBAAnC,CAAxF,EAAmJ,KAAKxjG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,YAAnB,EAAgC,KAAKurB,qBAArC,CAAnJ,EAA+M,KAAKzjG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,WAAnB,EAA+B,KAAKwrB,oBAApC,CAA/M,EAAyQ,KAAK1jG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,UAAnB,EAA8B,KAAKyrB,mBAAnC,CAAzQ,EAAiU,KAAK3jG,EAAL,CAAQ,KAAKk4E,KAAb,EAAmB,KAAnB,EAAyB,KAAK0rB,cAA9B,CAAjU;AAA+W,KAAp6Q,EAAq6QjmG,CAAC,CAAC2lG,4BAAF,GAA+B,YAAU;AAAC,WAAKvjG,GAAL,CAAS,KAAKm4E,KAAd,EAAoB,KAApB,EAA0B,KAAK0rB,cAA/B,GAA+C,KAAK7jG,GAAL,CAAS,KAAKm4E,KAAd,EAAoB,YAApB,EAAiC,KAAKurB,qBAAtC,CAA/C,EAA4G,KAAK1jG,GAAL,CAAS,KAAKm4E,KAAd,EAAoB,WAApB,EAAgC,KAAKwrB,oBAArC,CAA5G,EAAuK,KAAK3jG,GAAL,CAAS,KAAKm4E,KAAd,EAAoB,UAApB,EAA+B,KAAKyrB,mBAApC,CAAvK,EAAgO,KAAK5jG,GAAL,CAAS,KAAKm4E,KAAd,EAAoB,SAApB,EAA8B,KAAKqrB,gBAAnC,CAAhO,EAAqR,KAAKxjG,GAAL,CAAS,KAAKm4E,KAAd,EAAoB,UAApB,EAA+B,KAAKsrB,sBAApC,CAArR;AAAiV,KAAhyR,EAAiyR7lG,CAAC,CAACqkG,gBAAF,GAAmB,YAAU;AAAC,WAAKp5B,YAAL,IAAoB,KAAKwgB,MAAL,CAAYh7E,MAAZ,IAAoB,KAAKkzF,SAAL,CAAe,WAAf,EAA2B,KAAKlY,MAAL,CAAYh7E,MAAvC,CAAxC,EAAuF,KAAK60F,uBAAL,EAAvF,EAAsH,KAAKN,yBAAL,EAAtH;AAAuJ,KAAt9R,EAAu9RhlG,CAAC,CAACwkG,oBAAF,GAAuB,YAAU;AAAC,WAAK/iG,WAAL,CAAiB,WAAjB,GAA8B,KAAKA,WAAL,CAAiB,aAAjB,CAA9B,EAA8D,KAAKwD,KAAL,CAAW,IAAX,CAA9D,EAA+E,KAAK+/F,yBAAL,EAA/E,EAAgH,KAAK/0F,MAAL,MAAe,KAAKosF,UAAL,CAAgB,CAAC,CAAjB,GAAoB,KAAK92F,OAAL,CAAa,WAAb,CAAnC,KAA+D,KAAKA,OAAL,CAAa,WAAb,GAA0B,KAAKA,OAAL,CAAa,WAAb,CAAzF,CAAhH,EAAoO,KAAK2gG,eAAL,CAAqB,KAAKv/F,QAAL,EAArB,CAApO;AAA0Q,KAAnwS,EAAowS3G,CAAC,CAACkmG,eAAF,GAAkB,UAASv/D,CAAT,EAAW;AAAC,UAAIrM,CAAC,GAAC,IAAN;;AAAW,UAAG,KAAKigD,KAAL,IAAY,YAAU,OAAO5zC,CAAhC,EAAkC;AAAC,YAAI3mC,CAAJ;AAAA,YAAMe,CAAC,GAAC,aAAU;AAAC,cAAIf,CAAC,GAACs6B,CAAC,CAACnsB,KAAF,EAAN;AAAgBmsB,WAAC,CAACnsB,KAAF,CAAQ,CAAC,CAAT;;AAAY,mBAASw4B,CAAT,GAAY;AAACrM,aAAC,CAACnsB,KAAF,CAAQnO,CAAR;AAAW;;AAAAs6B,WAAC,CAACgoE,oBAAF,CAAuB/+F,IAAvB,CAA4BojC,CAA5B;AAA+B,cAAI5lC,CAAC,GAACu5B,CAAC,CAAC1tB,IAAF,EAAN;AAAe,cAAGsjE,EAAE,CAACnvE,CAAD,CAAL,EAAS,OAAOA,CAAC,SAAD,CAAQ4lC,CAAR,CAAP;AAAkB,SAAhJ;;AAAiJ,YAAG,UAAQA,CAAR,IAAW,CAAC,CAAD,KAAK,KAAKx4B,KAAL,EAAhB,GAA6B+hE,EAAE,CAAClwE,CAAC,GAAC,KAAK4M,IAAL,EAAH,CAAF,KAAoB5M,CAAC,GAACA,CAAC,SAAD,CAAQe,CAAR,CAAtB,CAA7B,GAA+Df,CAAC,GAAC,YAAU2mC,CAAV,IAAa,CAAC,CAAD,KAAK,KAAKx4B,KAAL,EAAlB,GAA+BpN,CAAC,EAAhC,GAAmC,KAAK6L,IAAL,EAApG,EAAgHsjE,EAAE,CAAClwE,CAAD,CAArH,EAAyH,OAAOA,CAAC,CAAC2E,IAAF,CAAO,YAAU;AAAC21B,WAAC,CAAC/0B,OAAF,CAAU;AAACgL,gBAAI,EAAC,kBAAN;AAAyB5J,oBAAQ,EAACggC;AAAlC,WAAV;AAAgD,SAAlE,WAA0E,UAAS3mC,CAAT,EAAW;AAACs6B,WAAC,CAAC/0B,OAAF,CAAU;AAACgL,gBAAI,EAAC,kBAAN;AAAyB5J,oBAAQ,EAACggC;AAAlC,WAAV;AAAgD,SAAtI,CAAP;AAA+I;AAAC,KAA1uT,EAA2uT3mC,CAAC,CAACmmG,mBAAF,GAAsB,UAASnmG,CAAT,EAAW;AAAC,WAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,UAAI2mC,CAAC,GAAC3mC,CAAN;AAAA,UAAQe,CAAC,GAAC,EAAV;AAAa,kBAAU,OAAO4lC,CAAjB,KAAqBA,CAAC,GAAC3mC,CAAC,CAACgT,GAAJ,EAAQjS,CAAC,GAACf,CAAC,CAACuQ,IAAjC,GAAuC,KAAKk7E,MAAL,CAAYhsE,MAAZ,GAAmB,KAAKgsE,MAAL,CAAYhsE,MAAZ,IAAoB,EAA9E,EAAiF,KAAKgsE,MAAL,CAAYvC,OAAZ,GAAoB,KAAKuC,MAAL,CAAYvC,OAAZ,IAAqB,EAA1H,EAA6HviD,CAAC,IAAE,CAAC5lC,CAAJ,KAAQA,CAAC,GAAC,UAASf,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAG,CAACA,CAAJ,EAAM,OAAM,EAAN;AAAS,YAAG3mC,CAAC,CAACyrF,MAAF,CAAShsE,MAAT,CAAgBzM,GAAhB,KAAsB2zB,CAAtB,IAAyB3mC,CAAC,CAACyrF,MAAF,CAAShsE,MAAT,CAAgBlP,IAA5C,EAAiD,OAAOvQ,CAAC,CAACyrF,MAAF,CAAShsE,MAAT,CAAgBlP,IAAvB;AAA4B,YAAIxP,CAAC,GAACf,CAAC,CAACyrF,MAAF,CAASvC,OAAT,CAAiB9kF,MAAjB,CAAwB,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACgT,GAAF,KAAQ2zB,CAAf;AAAiB,SAArD,CAAN;AAA6D,YAAG5lC,CAAC,CAACmC,MAAL,EAAY,OAAOnC,CAAC,CAAC,CAAD,CAAD,CAAKwP,IAAZ;;AAAiB,aAAI,IAAI+pB,CAAC,GAACt6B,CAAC,CAAC0kE,EAAF,CAAK,QAAL,CAAN,EAAqB5D,CAAC,GAAC,CAA3B,EAA6BA,CAAC,GAACxmC,CAAC,CAACp3B,MAAjC,EAAwC49D,CAAC,EAAzC,EAA4C;AAAC,cAAIp8C,CAAC,GAAC4V,CAAC,CAACwmC,CAAD,CAAP;AAAW,cAAGp8C,CAAC,CAACnU,IAAF,IAAQmU,CAAC,CAAC1R,GAAV,IAAe0R,CAAC,CAAC1R,GAAF,KAAQ2zB,CAA1B,EAA4B,OAAOjiB,CAAC,CAACnU,IAAT;AAAc;;AAAA,eAAOs3E,EAAE,CAAClhD,CAAD,CAAT;AAAa,OAAnT,CAAoT,IAApT,EAAyTA,CAAzT,CAAV,CAA7H,EAAoc,KAAK8kD,MAAL,CAAYhsE,MAAZ,GAAmB8oD,EAAE,CAAC,EAAD,EAAIvoE,CAAJ,EAAM;AAACgT,WAAG,EAAC2zB,CAAL;AAAOp2B,YAAI,EAACxP;AAAZ,OAAN,CAAzd;;AAA+e,WAAI,IAAIu5B,CAAC,GAAC,KAAKmxD,MAAL,CAAYvC,OAAZ,CAAoB9kF,MAApB,CAA2B,UAASpE,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACgT,GAAF,IAAOhT,CAAC,CAACgT,GAAF,KAAQ2zB,CAAtB;AAAwB,OAA/D,CAAN,EAAuEm6B,CAAC,GAAC,EAAzE,EAA4Ep8C,CAAC,GAAC,KAAKggD,EAAL,CAAQ,QAAR,CAA9E,EAAgGtpD,CAAC,GAAC,EAAlG,EAAqGulD,CAAC,GAAC,CAA3G,EAA6GA,CAAC,GAACj8C,CAAC,CAACxhB,MAAjH,EAAwHy9D,CAAC,EAAzH,EAA4H;AAAC,YAAIC,CAAC,GAACyB,CAAC,CAAC39C,CAAC,CAACi8C,CAAD,CAAF,CAAP;AAAcG,SAAC,CAACv9D,IAAF,CAAOq9D,CAAP,GAAUA,CAAC,CAAC5tD,GAAF,IAAO4tD,CAAC,CAAC5tD,GAAF,KAAQ2zB,CAAf,IAAkBvrB,CAAC,CAAC7X,IAAF,CAAOq9D,CAAC,CAAC5tD,GAAT,CAA5B;AAA0C;;AAAAoI,OAAC,CAAClY,MAAF,IAAU,CAACo3B,CAAC,CAACp3B,MAAb,GAAoB,KAAKuoF,MAAL,CAAYvC,OAAZ,GAAoBpoB,CAAxC,GAA0CxmC,CAAC,CAACp3B,MAAF,KAAW,KAAKuoF,MAAL,CAAYvC,OAAZ,GAAoB,CAAC,KAAKuC,MAAL,CAAYhsE,MAAb,CAA/B,CAA1C,EAA+F,KAAKgsE,MAAL,CAAYz4E,GAAZ,GAAgB2zB,CAA/G;AAAiH,KAAlkV,EAAmkV3mC,CAAC,CAACykG,oBAAF,GAAuB,UAASzkG,CAAT,EAAW;AAAC,UAAIe,CAAC,GAAC,IAAN;;AAAW,UAAG,CAAC,KAAKqhG,YAAT,EAAsB;AAAC,YAAIz7D,CAAC,GAAC,WAAS3mC,CAAT,EAAW;AAAC,iBAAOe,CAAC,CAAColG,mBAAF,CAAsBnmG,CAAtB,CAAP;AAAgC,SAAlD;AAAA,YAAmDs6B,CAAC,GAAC,KAAK8rE,aAAL,GAAqBpzF,GAA1E;AAAA,YAA8E8tD,CAAC,GAAC9gE,CAAC,CAACgT,GAAlF;;AAAsFsnB,SAAC,IAAE,CAAC,SAAS3kB,IAAT,CAAc2kB,CAAd,CAAJ,IAAsB,SAAS3kB,IAAT,CAAcmrD,CAAd,CAAtB,KAAyC,KAAKulC,WAAL,KAAmB,KAAKA,WAAL,CAAiB5rB,IAAjB,KAAwB3Z,CAAxB,IAA2B,KAAKulC,WAAL,CAAiB75F,MAAjB,KAA0B8tB,CAAxE,MAA6EqM,CAAC,GAAC,aAAU,CAAE,CAA3F,CAAzC,GAAuIA,CAAC,CAACm6B,CAAD,CAAxI,EAA4I9gE,CAAC,CAACgT,GAAF,IAAO,KAAKunE,KAAL,CAAWzT,GAAX,CAAe,CAAC,WAAD,EAAa,WAAb,CAAf,EAAyC,UAAS9mE,CAAT,EAAW;AAAC,cAAG,gBAAcA,CAAC,CAACuQ,IAAnB,EAAwB;AAAC,gBAAIo2B,CAAC,GAAC5lC,CAAC,CAACulG,OAAF,CAAU,YAAV,CAAN;AAA8BvlG,aAAC,CAACslG,WAAF,CAAc5rB,IAAd,GAAmB9zC,CAAnB,EAAqB5lC,CAAC,CAAColG,mBAAF,CAAsBx/D,CAAtB,CAArB;AAA8C;AAAC,SAA3J,CAAnJ;AAAgT;;AAAA,WAAK0/D,WAAL,GAAiB;AAAC75F,cAAM,EAAC,KAAK45F,aAAL,GAAqBpzF,GAA7B;AAAiCynE,YAAI,EAACz6E,CAAC,CAACgT;AAAxC,OAAjB,EAA8D,KAAKzN,OAAL,CAAa;AAACyN,WAAG,EAAChT,CAAC,CAACgT,GAAP;AAAWzC,YAAI,EAAC;AAAhB,OAAb,CAA9D;AAAyG,KAAvnW,EAAwnWvQ,CAAC,CAACq8F,UAAF,GAAa,UAASr8F,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAK8iF,WAAZ;AAAwB9iF,OAAC,KAAG,KAAK8iF,WAAT,KAAuB,KAAKA,WAAL,GAAiB9iF,CAAjB,EAAmB,KAAK8iF,WAAL,IAAkB,KAAK99E,QAAL,CAAc,iBAAd,GAAiC,KAAKO,OAAL,CAAa,WAAb,CAAnD,IAA8E,KAAK9D,WAAL,CAAiB,iBAAjB,CAAxH;AAA6J,KAAp1W,EAAq1WzB,CAAC,CAAC6kG,eAAF,GAAkB,YAAU;AAAC,WAAKpjG,WAAL,CAAiB,WAAjB,GAA8B,KAAKA,WAAL,CAAiB,YAAjB,CAA9B,EAA6D,KAAKuD,QAAL,CAAc,aAAd,CAA7D,EAA0F,KAAKq3F,UAAL,CAAgB,CAAC,CAAjB,CAA1F,EAA8G,KAAK92F,OAAL,CAAa,MAAb,CAA9G;AAAmI,KAAr/W,EAAs/WvF,CAAC,CAACwlG,qBAAF,GAAwB,YAAU;AAAC,UAAE,KAAKjrB,KAAL,CAAWqd,YAAX,EAAF,IAA6B,MAAI,KAAKnM,MAAL,CAAY8a,gBAA7C,KAAgE,KAAK1E,gBAAL,CAAsB94F,OAAtB,CAA8B,UAAS/I,CAAT,EAAW;AAAC,eAAOA,CAAC,CAAC4C,QAAF,CAAW5C,CAAC,CAACoK,KAAb,CAAP;AAA2B,OAArE,GAAuE,KAAKy3F,gBAAL,GAAsB,EAA7J,GAAiK,KAAKpW,MAAL,CAAY8a,gBAAZ,GAA6B,KAAKhsB,KAAL,CAAWqd,YAAX,EAA9L,EAAwN,KAAKryF,OAAL,CAAa,YAAb,CAAxN;AAAmP,KAA5wX,EAA6wXvF,CAAC,CAAC0kG,kBAAF,GAAqB,YAAU;AAAC,UAAI/9D,CAAC,GAAC,IAAN;AAAW,WAAK3hC,QAAL,CAAc,aAAd,GAA6B,KAAKO,OAAL,CAAa,SAAb,CAA7B;AAAqD,UAAIxE,CAAC,GAAC,KAAK8O,WAAL,EAAN;AAAyB,WAAKxN,EAAL,CAAQ,YAAR,EAAqB,SAASrC,CAAT,GAAY;AAACe,SAAC,KAAG4lC,CAAC,CAAC92B,WAAF,EAAJ,KAAsB82B,CAAC,CAACllC,WAAF,CAAc,aAAd,GAA6BklC,CAAC,CAACvkC,GAAF,CAAM,YAAN,EAAmBpC,CAAnB,CAAnD;AAA0E,OAA5G;AAA8G,KAAp/X,EAAq/XA,CAAC,CAACwmG,kBAAF,GAAqB,YAAU;AAAC,WAAK/kG,WAAL,CAAiB,aAAjB,GAAgC,KAAK8D,OAAL,CAAa,SAAb,CAAhC;AAAwD,KAA7kY,EAA8kYvF,CAAC,CAACymG,yBAAF,GAA4B,YAAU;AAAC,WAAKhlG,WAAL,CAAiB,aAAjB,GAAgC,KAAK8D,OAAL,CAAa,gBAAb,CAAhC;AAA+D,KAAprY,EAAqrYvF,CAAC,CAAC0mG,kBAAF,GAAqB,YAAU;AAAC,WAAKjlG,WAAL,CAAiB,aAAjB,GAAgC,KAAK8D,OAAL,CAAa,SAAb,CAAhC;AAAwD,KAA7wY,EAA8wYvF,CAAC,CAAC4kG,kBAAF,GAAqB,YAAU;AAAC,WAAK5/F,QAAL,CAAc,aAAd,GAA6B,KAAKO,OAAL,CAAa,SAAb,CAA7B;AAAqD,KAAn2Y,EAAo2YvF,CAAC,CAAC2mG,iBAAF,GAAoB,YAAU;AAAC,WAAKllG,WAAL,CAAiB,aAAjB,GAAgC,KAAKA,WAAL,CAAiB,WAAjB,CAAhC,EAA8D,KAAK8D,OAAL,CAAa,QAAb,CAA9D;AAAqF,KAAx9Y,EAAy9YvF,CAAC,CAAC8kG,oBAAF,GAAuB,YAAU;AAAC,WAAKl8B,QAAL,CAAcg+B,SAAd,KAA0BxzD,CAAC,CAAC5T,IAAF,CAAO,wEAAP,GAAiF,KAAK3vB,WAAL,CAAiB,KAAK+4D,QAAL,CAAcg+B,SAA/B,CAA3G,GAAsJ,KAAK5hG,QAAL,CAAc,iBAAd,CAAtJ,EAAuL,KAAKO,OAAL,CAAa,WAAb,CAAvL;AAAiN,KAA5sZ,EAA6sZvF,CAAC,CAAC+kG,gBAAF,GAAmB,YAAU;AAAC,WAAKtjG,WAAL,CAAiB,aAAjB,GAAgC,KAAKuD,QAAL,CAAc,YAAd,CAAhC,EAA4D,KAAKO,OAAL,CAAa,OAAb,CAA5D;AAAkF,KAA7zZ,EAA8zZvF,CAAC,CAAC2kG,gBAAF,GAAmB,YAAU;AAAC,WAAK3/F,QAAL,CAAc,WAAd,GAA2B,KAAK4jE,QAAL,CAAc9hE,IAAd,IAAoB,KAAK+I,WAAL,CAAiB,CAAjB,GAAoB,KAAKjD,IAAL,EAAxC,IAAqD,KAAKqD,MAAL,MAAe,KAAKvD,KAAL,EAA/F,EAA4G,KAAKnH,OAAL,CAAa,OAAb,CAA5G;AAAkI,KAA99Z,EAA+9ZvF,CAAC,CAACglG,yBAAF,GAA4B,YAAU;AAAC,WAAK1lF,QAAL,CAAc,KAAKokF,QAAL,CAAc,UAAd,CAAd;AAAyC,KAA/ia,EAAgja1jG,CAAC,CAAC4lG,gBAAF,GAAmB,UAAS5lG,CAAT,EAAW;AAACojE,OAAC,CAACpjE,CAAD,CAAD,IAAM,KAAKmiG,SAAX,KAAuB,KAAKlyF,MAAL,KAAckgE,EAAE,CAAC,KAAKvjE,IAAL,EAAD,CAAhB,GAA8B,KAAKF,KAAL,EAArD;AAAmE,KAAlpa,EAAmpa1M,CAAC,CAAC6lG,sBAAF,GAAyB,UAASl/D,CAAT,EAAW;AAAC,WAAKw7D,SAAL,KAAiB3mF,KAAK,CAACzB,SAAN,CAAgB4wD,IAAhB,CAAqBhlE,IAArB,CAA0B,KAAK++D,EAAL,CAAQ,qCAAR,CAA1B,EAAyE,UAAS1kE,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACmsB,QAAF,CAAWwa,CAAC,CAACr8B,MAAb,CAAP;AAA4B,OAAjH,KAAoH,KAAK,CAAL,KAAS,KAAKs+D,QAAd,IAAwB,KAAK,CAAL,KAAS,KAAKA,QAAL,CAAci+B,WAA/C,IAA4D,KAAK,CAAL,KAAS,KAAKj+B,QAAL,CAAci+B,WAAd,CAA0BC,WAA/F,IAA4G,CAAC,CAAD,KAAK,KAAKl+B,QAAL,CAAci+B,WAAd,CAA0BC,WAA/P,KAA6Q,KAAK,CAAL,KAAS,KAAKl+B,QAAd,IAAwB,KAAK,CAAL,KAAS,KAAKA,QAAL,CAAci+B,WAA/C,IAA4D,cAAY,OAAO,KAAKj+B,QAAL,CAAci+B,WAAd,CAA0BC,WAAzG,GAAqH,KAAKl+B,QAAL,CAAci+B,WAAd,CAA0BC,WAA1B,CAAsCnhG,IAAtC,CAA2C,IAA3C,EAAgDghC,CAAhD,CAArH,GAAwK,KAAK4rD,YAAL,KAAoB,KAAKC,cAAL,EAApB,GAA0C,KAAKC,iBAAL,EAA/d,CAAjB;AAA2gB,KAAnsb,EAAosbzyF,CAAC,CAACimG,cAAF,GAAiB,YAAU;AAAC,WAAKnD,UAAL,CAAgB,CAAC,KAAKA,UAAL,EAAjB;AAAoC,KAApwb,EAAqwb9iG,CAAC,CAAC8lG,qBAAF,GAAwB,YAAU;AAAC,WAAKiB,aAAL,GAAmB,KAAKjE,UAAL,EAAnB;AAAqC,KAA70b,EAA80b9iG,CAAC,CAAC+lG,oBAAF,GAAuB,YAAU;AAAC,WAAKgB,aAAL,IAAoB,KAAKn7B,kBAAL,EAApB;AAA8C,KAA95b,EAA+5b5rE,CAAC,CAACgmG,mBAAF,GAAsB,UAAShmG,CAAT,EAAW;AAACA,OAAC,CAACiN,cAAF;AAAmB,KAAp9b,EAAq9bjN,CAAC,CAACgjG,iBAAF,GAAoB,YAAU;AAAC,WAAKp3B,kBAAL;AAA0B,KAA9gc,EAA+gc5rE,CAAC,CAACgnG,sBAAF,GAAyB,YAAU;AAAC,WAAKzU,YAAL,KAAoB,KAAKvtF,QAAL,CAAc,gBAAd,CAApB,GAAoD,KAAKvD,WAAL,CAAiB,gBAAjB,CAApD;AAAuF,KAA1oc,EAA2oczB,CAAC,CAACwhG,yBAAF,GAA4B,UAASxhG,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACsK,MAAF,CAASkC,MAAf;;AAAsB,UAAG,CAACm6B,CAAD,IAAIA,CAAC,KAAG,IAAX,EAAgB;AAAC,YAAI5lC,CAAC,GAAC,KAAKwjB,EAAL,EAAN;AAAA,YAAgB+V,CAAC,GAACmmC,CAAC,CAAC,KAAK4xB,MAAL,CAAY4U,iBAAb,CAAD,KAAmClmG,CAArD;AAAuD,SAACu5B,CAAD,IAAIv5B,CAAC,CAACuc,OAAN,GAAcgd,CAAC,GAACv5B,CAAC,CAACuc,OAAF,CAAU,MAAI,KAAK+0E,MAAL,CAAY6U,UAA1B,CAAhB,GAAsD,CAAC5sE,CAAD,IAAIv5B,CAAC,CAAC+xB,iBAAN,KAA0BwH,CAAC,GAACv5B,CAAC,CAAC+xB,iBAAF,CAAoB,MAAI,KAAKu/D,MAAL,CAAY6U,UAApC,CAA5B,CAAtD,EAAmI,KAAK3U,YAAL,CAAkBj4D,CAAlB,CAAnI;AAAwJ;AAAC,KAA16c,EAA26ct6B,CAAC,CAACilG,2BAAF,GAA8B,UAASjlG,CAAT,EAAW2mC,CAAX,EAAa;AAACA,OAAC,KAAGA,CAAC,CAACi4D,mBAAF,IAAuB,KAAK1xF,WAAL,CAAiB,mBAAjB,CAAvB,EAA6D,KAAKqlF,YAAL,CAAkB5rD,CAAC,CAAC4rD,YAApB,CAAhE,CAAD;AAAoG,KAA3jd,EAA4jdvyF,CAAC,CAACklG,0BAAF,GAA6B,UAASllG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAKphC,OAAL,CAAa,iBAAb,EAA+BohC,CAA/B;AAAkC,KAAzod,EAA0od3mC,CAAC,CAACmnG,4BAAF,GAA+B,YAAU;AAAC,WAAKlV,oBAAL,KAA4B,KAAKjtF,QAAL,CAAc,wBAAd,CAA5B,GAAoE,KAAKvD,WAAL,CAAiB,wBAAjB,CAApE;AAA+G,KAAnyd,EAAoydzB,CAAC,CAACmlG,gCAAF,GAAmC,UAASnlG,CAAT,EAAW;AAAC,WAAKiyF,oBAAL,CAA0B,CAAC,CAA3B;AAA8B,KAAj3d,EAAk3djyF,CAAC,CAAColG,gCAAF,GAAmC,UAASplG,CAAT,EAAW;AAAC,WAAKiyF,oBAAL,CAA0B,CAAC,CAA3B;AAA8B,KAA/7d,EAAg8djyF,CAAC,CAACqlG,gBAAF,GAAmB,YAAU;AAAC,UAAIrlG,CAAC,GAAC,KAAKu6E,KAAL,CAAWt1E,KAAX,EAAN;AAAyB,WAAKA,KAAL,CAAWjF,CAAX;AAAc,KAArge,EAAsgeA,CAAC,CAACulG,mBAAF,GAAsB,UAASvlG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAN;AAAW,UAAEmoB,SAAS,CAAChmB,MAAZ,KAAqBnC,CAAC,GAAC4lC,CAAvB,GAA0B,KAAKphC,OAAL,CAAa,UAAb,EAAwBxE,CAAxB,CAA1B;AAAqD,KAA1me,EAA2mef,CAAC,CAACkuF,QAAF,GAAW,YAAU;AAAC,aAAO,KAAKzC,MAAZ;AAAmB,KAAppe,EAAqpezrF,CAAC,CAACiiG,WAAF,GAAc,YAAU;AAAC,WAAKxW,MAAL,GAAY;AAAC57E,mBAAW,EAAC,CAAb;AAAeu3F,gBAAQ,EAAC,CAAxB;AAA0BC,yBAAiB,EAAC,KAAKz+B,QAAL,CAAcy+B,iBAA1D;AAA4E/nF,gBAAQ,EAACo/E,GAArF;AAAyF4I,kBAAU,EAAC,CAApG;AAAsGf,wBAAgB,EAAC,KAAKgB,mBAAL,EAAvH;AAAkJ9hD,aAAK,EAAC,IAAxJ;AAA6JzyC,WAAG,EAAC,EAAjK;AAAoKyM,cAAM,EAAC,EAA3K;AAA8KypE,eAAO,EAAC,EAAtL;AAAyLz4E,cAAM,EAAC;AAAhM,OAAZ;AAA+M,KAA73e,EAA83ezQ,CAAC,CAAC2jG,SAAF,GAAY,UAAS3jG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAKlxB,KAAL,CAAW,YAAU;AAAC,YAAGzV,CAAC,IAAI0nF,EAAR,EAAW,OAAO,UAAS1nF,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,iBAAOqM,CAAC,CAAC5lC,CAAD,CAAD,CAAKf,CAAC,CAACuqE,MAAF,CAASgd,EAAE,CAACxmF,CAAD,CAAX,EAAeu5B,CAAf,CAAL,CAAP;AAA+B,SAAjD,CAAkD,KAAKsoE,WAAvD,EAAmE,KAAKroB,KAAxE,EAA8Ev6E,CAA9E,EAAgF2mC,CAAhF,CAAP;AAA0F,YAAG3mC,CAAC,IAAI4nF,EAAR,EAAW,OAAON,EAAE,CAAC,KAAKsb,WAAN,EAAkB,KAAKroB,KAAvB,EAA6Bv6E,CAA7B,EAA+B2mC,CAA/B,CAAT;;AAA2C,YAAG;AAAC,eAAK4zC,KAAL,IAAY,KAAKA,KAAL,CAAWv6E,CAAX,EAAc2mC,CAAd,CAAZ;AAA6B,SAAjC,CAAiC,OAAM3mC,CAAN,EAAQ;AAAC,gBAAMozC,CAAC,CAACpzC,CAAD,CAAD,EAAKA,CAAX;AAAa;AAAC,OAAzO,EAA0O,CAAC,CAA3O;AAA8O,KAAtof,EAAuofA,CAAC,CAAC0jG,QAAF,GAAW,UAAS/8D,CAAT,EAAW;AAAC,UAAG,KAAK4zC,KAAL,IAAY,KAAKA,KAAL,CAAWxP,QAA1B,EAAmC;AAAC,YAAGpkC,CAAC,IAAI6gD,EAAR,EAAW,OAAO,UAASxnF,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,iBAAOf,CAAC,CAACwnG,WAAF,CAAcjgB,EAAE,CAACxmF,CAAD,CAAhB,EAAoB4lC,CAAC,CAAC5lC,CAAD,CAAD,EAApB,CAAP;AAAmC,SAAnD,CAAoD,KAAK6hG,WAAzD,EAAqE,KAAKroB,KAA1E,EAAgF5zC,CAAhF,CAAP;AAA0F,YAAGA,CAAC,IAAIihD,EAAR,EAAW,OAAON,EAAE,CAAC,KAAKsb,WAAN,EAAkB,KAAKroB,KAAvB,EAA6B5zC,CAA7B,CAAT;;AAAyC,YAAG;AAAC,iBAAO,KAAK4zC,KAAL,CAAW5zC,CAAX,GAAP;AAAuB,SAA3B,CAA2B,OAAM3mC,CAAN,EAAQ;AAAC,cAAG,KAAK,CAAL,KAAS,KAAKu6E,KAAL,CAAW5zC,CAAX,CAAZ,EAA0B,MAAMyM,CAAC,CAAC,eAAazM,CAAb,GAAe,0BAAf,GAA0C,KAAKu9D,SAA/C,GAAyD,uBAA1D,EAAkFlkG,CAAlF,CAAD,EAAsFA,CAA5F;AAA8F,cAAG,gBAAcA,CAAC,CAAC4pB,IAAnB,EAAwB,MAAMwpB,CAAC,CAAC,eAAazM,CAAb,GAAe,kBAAf,GAAkC,KAAKu9D,SAAvC,GAAiD,+BAAlD,EAAkFlkG,CAAlF,CAAD,EAAsF,KAAKu6E,KAAL,CAAWxP,QAAX,GAAoB,CAAC,CAA3G,EAA6G/qE,CAAnH;AAAqH,gBAAMozC,CAAC,CAACpzC,CAAD,CAAD,EAAKA,CAAX;AAAa;AAAC;AAAC,KAAnpgB,EAAopgBA,CAAC,CAAC4M,IAAF,GAAO,YAAU;AAAC,UAAI+5B,CAAC,GAAC,IAAN;AAAA,UAAW3mC,CAAC,GAAC,KAAK4oE,QAAL,CAAc/1D,OAAd,IAAuByP,CAAC,CAACzP,OAAtC;AAA8C,aAAO7S,CAAC,GAAC,IAAIA,CAAJ,CAAM,UAASA,CAAT,EAAW;AAAC2mC,SAAC,CAAC8gE,KAAF,CAAQznG,CAAR;AAAW,OAA7B,CAAD,GAAgC,KAAKynG,KAAL,EAAxC;AAAqD,KAAzwgB,EAA0wgBznG,CAAC,CAACynG,KAAF,GAAQ,UAASznG,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAW,WAAK,CAAL,KAAS3mC,CAAT,KAAaA,CAAC,GAACmwE,EAAf,GAAmB,KAAKkyB,cAAL,CAAoB9+F,IAApB,CAAyBvD,CAAzB,CAAnB;AAA+C,UAAIe,CAAC,GAAC0gE,OAAO,CAAC,CAAC,KAAK2gC,YAAN,KAAqB,KAAKpvF,GAAL,MAAY,KAAKsO,UAAL,EAAjC,CAAD,CAAb;AAAmE,UAAG,KAAKomF,WAAL,KAAmB,KAAKtlG,GAAL,CAAS,CAAC,OAAD,EAAS,WAAT,CAAT,EAA+B,KAAKslG,WAApC,GAAiD,KAAKA,WAAL,GAAiB,IAArF,GAA2F,CAAC,KAAK38B,QAAN,IAAgB,CAAChqE,CAA/G,EAAiH,OAAO,KAAK2mG,WAAL,GAAiB,UAAS1nG,CAAT,EAAW;AAAC2mC,SAAC,CAAC8gE,KAAF;AAAU,OAAvC,EAAwC,KAAKlmF,GAAL,CAAS,CAAC,OAAD,EAAS,WAAT,CAAT,EAA+B,KAAKmmF,WAApC,CAAxC,EAAyF,MAAK3mG,CAAC,IAAE,CAACitE,EAAD,IAAK,CAACD,EAAT,IAAa,KAAKjlC,IAAL,EAAlB,CAAhG;AAA+H,UAAIxO,CAAC,GAAC,KAAKopE,QAAL,CAAc,MAAd,CAAN;AAA4B,eAAOppE,CAAP,GAAS,KAAKqtE,uBAAL,EAAT,GAAwC,KAAKC,iBAAL,CAAuBttE,CAAvB,CAAxC;AAAkE,KAAzuhB,EAA0uhBt6B,CAAC,CAAC2nG,uBAAF,GAA0B,YAAU;AAAC,UAAI3nG,CAAC,GAAC,KAAKsiG,oBAAL,CAA0B3nF,KAA1B,CAAgC,CAAhC,CAAN;AAAyC,WAAK2nF,oBAAL,GAA0B,EAA1B,EAA6BtiG,CAAC,CAAC+I,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAACA,SAAC;AAAG,OAA1B,CAA7B;AAAyD,KAAj3hB,EAAk3hBA,CAAC,CAAC4nG,iBAAF,GAAoB,UAASjhE,CAAT,EAAW;AAAC,UAAI3mC,CAAC,GAAC,KAAKqiG,cAAL,CAAoB1nF,KAApB,CAA0B,CAA1B,CAAN;AAAmC,WAAK0nF,cAAL,GAAoB,EAApB,EAAuB,KAAKC,oBAAL,GAA0B,EAAjD,EAAoDtiG,CAAC,CAAC+I,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAACA,SAAC,CAAC2mC,CAAD,CAAD;AAAK,OAA3B,CAApD;AAAiF,KAAtgiB,EAAugiB3mC,CAAC,CAAC0M,KAAF,GAAQ,YAAU;AAAC,WAAKi3F,SAAL,CAAe,OAAf;AAAwB,KAAljiB,EAAmjiB3jG,CAAC,CAACiQ,MAAF,GAAS,YAAU;AAAC,aAAM,CAAC,CAAD,KAAK,KAAKyzF,QAAL,CAAc,QAAd,CAAX;AAAmC,KAA1miB,EAA2miB1jG,CAAC,CAAC+kF,MAAF,GAAS,YAAU;AAAC,aAAO,KAAK2e,QAAL,CAAc,QAAd,KAAyBt0B,EAAE,CAAC,CAAD,EAAG,CAAH,CAAlC;AAAwC,KAAvqiB,EAAwqiBpvE,CAAC,CAACiuF,SAAF,GAAY,UAASjuF,CAAT,EAAW;AAAC,UAAG,eAAa,OAAOA,CAAvB,EAAyB,OAAO,KAAKwiG,UAAZ;AAAuB,WAAKA,UAAL,GAAgB,CAAC,CAACxiG,CAAlB,EAAoBA,CAAC,GAAC,KAAKgF,QAAL,CAAc,eAAd,CAAD,GAAgC,KAAKvD,WAAL,CAAiB,eAAjB,CAArD;AAAuF,KAAv0iB,EAAw0iBzB,CAAC,CAAC6P,WAAF,GAAc,UAAS7P,CAAT,EAAW;AAAC,aAAM,eAAa,OAAOA,CAApB,IAAuBA,CAAC,GAAC,CAAF,KAAMA,CAAC,GAAC,CAAR,GAAW,KAAK+qE,QAAL,IAAe,CAAC,KAAKq3B,YAArB,IAAmC,KAAK7nB,KAAxC,IAA+C,KAAKA,KAAL,CAAWxP,QAA1D,IAAoE,KAAK44B,SAAL,CAAe,gBAAf,EAAgC3jG,CAAhC,GAAmC,MAAK,KAAKyrF,MAAL,CAAY2b,QAAZ,GAAqB,CAA1B,CAAvG,KAAsI,KAAK3b,MAAL,CAAY2b,QAAZ,GAAqBpnG,CAArB,EAAuB,KAAKoC,GAAL,CAAS,SAAT,EAAmB,KAAKylG,cAAxB,CAAvB,EAA+D,KAAK,KAAKtmF,GAAL,CAAS,SAAT,EAAmB,KAAKsmF,cAAxB,CAA1M,CAAlC,KAAuR,KAAKpc,MAAL,CAAY57E,WAAZ,GAAwB,KAAK6zF,QAAL,CAAc,aAAd,KAA8B,CAAtD,EAAwD,KAAKjY,MAAL,CAAY57E,WAA3V,CAAN;AAA8W,KAAhtjB,EAAitjB7P,CAAC,CAAC6nG,cAAF,GAAiB,YAAU;AAAC,WAAKh4F,WAAL,CAAiB,KAAK47E,MAAL,CAAY2b,QAA7B;AAAuC,KAApxjB,EAAqxjBpnG,CAAC,CAACsf,QAAF,GAAW,UAAStf,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAK,CAAL,KAAS,KAAKyrF,MAAL,CAAYnsE,QAArB,GAA8B,KAAKmsE,MAAL,CAAYnsE,QAA1C,GAAmDo/E,GAA1D;AAA8D,OAAC1+F,CAAC,GAACijB,UAAU,CAACjjB,CAAD,CAAb,IAAkB,CAAlB,KAAsBA,CAAC,GAAC,IAAE,CAA1B,GAA6BA,CAAC,KAAG,KAAKyrF,MAAL,CAAYnsE,QAAhB,KAA2B,CAAC,KAAKmsE,MAAL,CAAYnsE,QAAZ,GAAqBtf,CAAtB,MAA2B,IAAE,CAA7B,GAA+B,KAAKgF,QAAL,CAAc,UAAd,CAA/B,GAAyD,KAAKvD,WAAL,CAAiB,UAAjB,CAAzD,EAAsFmF,KAAK,CAAC5G,CAAD,CAAL,IAAU,KAAKuF,OAAL,CAAa,gBAAb,CAA3H,CAA7B;AAAwL,KAAhjkB,EAAijkBvF,CAAC,CAACuuF,aAAF,GAAgB,YAAU;AAAC,aAAO,KAAKjvE,QAAL,KAAgB,KAAKzP,WAAL,EAAvB;AAA0C,KAAtnkB,EAAunkB7P,CAAC,CAACsuF,oBAAF,GAAuB,YAAU;AAAC,aAAO3tE,IAAI,CAACuE,KAAL,CAAW,KAAK5F,QAAL,EAAX,IAA4BqB,IAAI,CAACuE,KAAL,CAAW,KAAKrV,WAAL,EAAX,CAAnC;AAAkE,KAA3tkB,EAA4tkB7P,CAAC,CAACokF,QAAF,GAAW,YAAU;AAAC,UAAIpkF,CAAC,GAAC,KAAK0jG,QAAL,CAAc,UAAd,CAAN;AAAgC,aAAO1jG,CAAC,IAAEA,CAAC,CAACkD,MAAL,KAAclD,CAAC,GAACovE,EAAE,CAAC,CAAD,EAAG,CAAH,CAAlB,GAAyBpvE,CAAhC;AAAkC,KAApzkB,EAAqzkBA,CAAC,CAACikF,eAAF,GAAkB,YAAU;AAAC,aAAO5U,EAAE,CAAC,KAAK+U,QAAL,EAAD,EAAiB,KAAK9kE,QAAL,EAAjB,CAAT;AAA2C,KAA73kB,EAA83kBtf,CAAC,CAACowF,WAAF,GAAc,YAAU;AAAC,UAAIpwF,CAAC,GAAC,KAAKokF,QAAL,EAAN;AAAA,UAAsBz9C,CAAC,GAAC,KAAKrnB,QAAL,EAAxB;AAAA,UAAwCve,CAAC,GAACf,CAAC,CAAC0pB,GAAF,CAAM1pB,CAAC,CAACkD,MAAF,GAAS,CAAf,CAA1C;AAA4D,aAAOyjC,CAAC,GAAC5lC,CAAF,KAAMA,CAAC,GAAC4lC,CAAR,GAAW5lC,CAAlB;AAAoB,KAAv+kB,EAAw+kBf,CAAC,CAACyQ,MAAF,GAAS,UAASzQ,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAM,aAAO,KAAK,CAAL,KAAS3mC,CAAT,IAAY2mC,CAAC,GAAChmB,IAAI,CAACC,GAAL,CAAS,CAAT,EAAWD,IAAI,CAACE,GAAL,CAAS,CAAT,EAAWoC,UAAU,CAACjjB,CAAD,CAArB,CAAX,CAAF,EAAwC,KAAKyrF,MAAL,CAAYh7E,MAAZ,GAAmBk2B,CAA3D,EAA6D,KAAKg9D,SAAL,CAAe,WAAf,EAA2Bh9D,CAA3B,CAA7D,EAA2F,MAAK,IAAEA,CAAF,IAAK,KAAKqsD,WAAL,CAAiBrsD,CAAjB,CAAV,CAAvG,KAAwIA,CAAC,GAAC1jB,UAAU,CAAC,KAAKygF,QAAL,CAAc,QAAd,CAAD,CAAZ,EAAsC98F,KAAK,CAAC+/B,CAAD,CAAL,GAAS,CAAT,GAAWA,CAAzL,CAAP;AAAmM,KAAtslB,EAAuslB3mC,CAAC,CAACmO,KAAF,GAAQ,UAASnO,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAK0jG,QAAL,CAAc,OAAd,KAAwB,CAAC,CAAhC;AAAkC,WAAKC,SAAL,CAAe,UAAf,EAA0B3jG,CAA1B;AAA6B,KAAxylB,EAAyylBA,CAAC,CAAC8nG,YAAF,GAAe,UAAS9nG,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,GAAW,KAAK2jG,SAAL,CAAe,iBAAf,EAAiC3jG,CAAjC,CAAX,GAA+C,KAAK0jG,QAAL,CAAc,cAAd,KAA+B,CAAC,CAAtF;AAAwF,KAA55lB,EAA65lB1jG,CAAC,CAACgzF,WAAF,GAAc,UAAShzF,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAT,IAAY,MAAIA,CAAnB,EAAqB,OAAO,KAAKyrF,MAAL,CAAY6b,UAAnB;AAA8B,WAAK7b,MAAL,CAAY6b,UAAZ,GAAuBtnG,CAAvB;AAAyB,KAAngmB,EAAogmBA,CAAC,CAAC6+F,kBAAF,GAAqB,YAAU;AAAC,aAAO,KAAK6E,QAAL,CAAc,oBAAd,KAAqC,CAAC,CAA7C;AAA+C,KAAnlmB,EAAolmB1jG,CAAC,CAACuyF,YAAF,GAAe,UAASvyF,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAK2hG,aAAZ;AAA0B,UAAIh7D,CAAC,GAAC,KAAKg7D,aAAX;AAAyB,aAAO,KAAKA,aAAL,GAAmBlgC,OAAO,CAACzhE,CAAD,CAA1B,EAA8B,KAAK2hG,aAAL,KAAqBh7D,CAArB,IAAwB,KAAK0rD,MAAL,CAAY7iB,QAApC,IAA8C,KAAKjqE,OAAL,CAAa,kBAAb,CAA5E,EAA6G,KAAK,KAAKyhG,sBAAL,EAAzH;AAAuJ,KAAv0mB,EAAw0mBhnG,CAAC,CAACyyF,iBAAF,GAAoB,UAASr3E,CAAT,EAAW;AAAC,UAAIpb,CAAC,GAAC,KAAK4oE,QAAL,CAAc/1D,OAAd,IAAuByP,CAAC,CAACzP,OAA/B;;AAAuC,UAAG7S,CAAH,EAAK;AAAC,YAAI2gE,CAAC,GAAC,IAAN;AAAW,eAAO,IAAI3gE,CAAJ,CAAM,UAASA,CAAT,EAAWe,CAAX,EAAa;AAAC,mBAASu5B,CAAT,GAAY;AAACqmC,aAAC,CAACv+D,GAAF,CAAM,iBAAN,EAAwB0+D,CAAxB,GAA2BH,CAAC,CAACv+D,GAAF,CAAM,kBAAN,EAAyBukC,CAAzB,CAA3B;AAAuD;;AAAA,mBAASA,CAAT,GAAY;AAACrM,aAAC,IAAGt6B,CAAC,EAAL;AAAQ;;AAAA,mBAAS8gE,CAAT,CAAW9gE,CAAX,EAAa2mC,CAAb,EAAe;AAACrM,aAAC,IAAGv5B,CAAC,CAAC4lC,CAAD,CAAL;AAAS;;AAAAg6B,WAAC,CAACp/C,GAAF,CAAM,kBAAN,EAAyBolB,CAAzB,GAA4Bg6B,CAAC,CAACp/C,GAAF,CAAM,iBAAN,EAAwBu/C,CAAxB,CAA5B;AAAuD,cAAIp8C,CAAC,GAACi8C,CAAC,CAAConC,wBAAF,CAA2B3sF,CAA3B,CAAN;AAAoC,cAAGsJ,CAAH,EAAK,OAAOA,CAAC,CAAC/f,IAAF,CAAO21B,CAAP,EAASA,CAAT,GAAY5V,CAAnB;AAAqB,SAA3P,CAAP;AAAoQ;;AAAA,aAAO,KAAKqjF,wBAAL,EAAP;AAAuC,KAA3snB,EAA4snB/nG,CAAC,CAAC+nG,wBAAF,GAA2B,UAAS/nG,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAAC,IAAR;;AAAa,UAAG,KAAKsxF,MAAL,CAAY7iB,QAAZ,KAAuB7oC,CAAC,GAAC,KAAKiiC,QAAL,CAAcs+B,UAAd,IAA0B,KAAKt+B,QAAL,CAAcs+B,UAAd,CAAyBnrF,OAAnD,IAA4D,EAA9D,EAAiE,KAAK,CAAL,KAAS/b,CAAT,KAAa2mC,CAAC,GAAC3mC,CAAf,CAAxF,GAA2G,KAAKqyF,MAAL,CAAYI,iBAA1H,EAA4I;AAAC,YAAIn4D,CAAC,GAAC,KAAKyuC,GAAL,CAAS,KAAKspB,MAAL,CAAYI,iBAArB,EAAwC9rD,CAAxC,CAAN;AAAiD,eAAOrM,CAAC,IAAEA,CAAC,CAAC31B,IAAF,CAAO,YAAU;AAAC,iBAAO5D,CAAC,CAACwxF,YAAF,CAAe,CAAC,CAAhB,CAAP;AAA0B,SAA5C,EAA6C,YAAU;AAAC,iBAAOxxF,CAAC,CAACwxF,YAAF,CAAe,CAAC,CAAhB,CAAP;AAA0B,SAAlF,CAAH,EAAuFj4D,CAA9F;AAAgG;;AAAA,WAAKigD,KAAL,CAAWskB,kBAAX,KAAgC,KAAK8E,SAAL,CAAe,iBAAf,CAAhC,GAAkE,KAAKqE,eAAL,EAAlE;AAAyF,KAAvnoB,EAAwnoBhoG,CAAC,CAACwyF,cAAF,GAAiB,YAAU;AAAC,UAAIxyF,CAAC,GAAC,KAAK4oE,QAAL,CAAc/1D,OAAd,IAAuByP,CAAC,CAACzP,OAA/B;;AAAuC,UAAG7S,CAAH,EAAK;AAAC,YAAIob,CAAC,GAAC,IAAN;AAAW,eAAO,IAAIpb,CAAJ,CAAM,UAASA,CAAT,EAAWe,CAAX,EAAa;AAAC,mBAASu5B,CAAT,GAAY;AAAClf,aAAC,CAAChZ,GAAF,CAAM,iBAAN,EAAwB0+D,CAAxB,GAA2B1lD,CAAC,CAAChZ,GAAF,CAAM,kBAAN,EAAyBukC,CAAzB,CAA3B;AAAuD;;AAAA,mBAASA,CAAT,GAAY;AAACrM,aAAC,IAAGt6B,CAAC,EAAL;AAAQ;;AAAA,mBAAS8gE,CAAT,CAAW9gE,CAAX,EAAa2mC,CAAb,EAAe;AAACrM,aAAC,IAAGv5B,CAAC,CAAC4lC,CAAD,CAAL;AAAS;;AAAAvrB,WAAC,CAACmG,GAAF,CAAM,kBAAN,EAAyBolB,CAAzB,GAA4BvrB,CAAC,CAACmG,GAAF,CAAM,iBAAN,EAAwBu/C,CAAxB,CAA5B;AAAuD,cAAIp8C,CAAC,GAACtJ,CAAC,CAAC6sF,qBAAF,EAAN;AAAgC,cAAGvjF,CAAH,EAAK,OAAOA,CAAC,CAAC/f,IAAF,CAAO21B,CAAP,EAASA,CAAT,GAAY5V,CAAnB;AAAqB,SAAvP,CAAP;AAAgQ;;AAAA,aAAO,KAAKujF,qBAAL,EAAP;AAAoC,KAAh/oB,EAAi/oBjoG,CAAC,CAACioG,qBAAF,GAAwB,YAAU;AAAC,UAAIjoG,CAAC,GAAC,IAAN;;AAAW,UAAG,KAAKqyF,MAAL,CAAYI,iBAAf,EAAiC;AAAC,YAAI9rD,CAAC,GAAC85B,CAAC,CAAC,KAAK4xB,MAAL,CAAYG,cAAb,CAAD,EAAN;AAAsC,eAAO7rD,CAAC,IAAEA,CAAC,CAAChiC,IAAF,CAAO,YAAU;AAAC,iBAAO3E,CAAC,CAACuyF,YAAF,CAAe,CAAC,CAAhB,CAAP;AAA0B,SAA5C,CAAH,EAAiD5rD,CAAxD;AAA0D;;AAAA,WAAK4zC,KAAL,CAAWskB,kBAAX,KAAgC,KAAK8E,SAAL,CAAe,gBAAf,CAAhC,GAAiE,KAAKuE,cAAL,EAAjE;AAAuF,KAAxvpB,EAAyvpBloG,CAAC,CAACgoG,eAAF,GAAkB,YAAU;AAAC,WAAKzV,YAAL,CAAkB,CAAC,CAAnB,GAAsB,KAAK4V,YAAL,GAAkB,CAAC,CAAzC,EAA2C,KAAKC,eAAL,GAAqB3nC,CAAC,CAAC5uC,eAAF,CAAkB1U,KAAlB,CAAwB+C,QAAxF,EAAiGimD,EAAE,CAAC1F,CAAD,EAAG,SAAH,EAAa,KAAKghC,wBAAlB,CAAnG,EAA+IhhC,CAAC,CAAC5uC,eAAF,CAAkB1U,KAAlB,CAAwB+C,QAAxB,GAAiC,QAAhL,EAAyLgiD,CAAC,CAACzB,CAAC,CAAC/8B,IAAH,EAAQ,iBAAR,CAA1L,EAAqN,KAAKn+B,OAAL,CAAa,iBAAb,CAArN;AAAqP,KAA3gqB,EAA4gqBvF,CAAC,CAAC0hG,kBAAF,GAAqB,UAAS1hG,CAAT,EAAW;AAAC6wE,QAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,KAAhB,MAAyB,CAAC,CAAD,KAAK,KAAKuyF,YAAL,EAAL,GAAyB,KAAKC,cAAL,EAAzB,GAA+C,KAAK0V,cAAL,EAAxE;AAA+F,KAA5oqB,EAA6oqBloG,CAAC,CAACkoG,cAAF,GAAiB,YAAU;AAAC,WAAK3V,YAAL,CAAkB,CAAC,CAAnB,GAAsB,KAAK4V,YAAL,GAAkB,CAAC,CAAzC,EAA2C/hC,EAAE,CAAC3F,CAAD,EAAG,SAAH,EAAa,KAAKghC,wBAAlB,CAA7C,EAAyFhhC,CAAC,CAAC5uC,eAAF,CAAkB1U,KAAlB,CAAwB+C,QAAxB,GAAiC,KAAKkoF,eAA/H,EAA+I/lF,CAAC,CAACo+C,CAAC,CAAC/8B,IAAH,EAAQ,iBAAR,CAAhJ,EAA2K,KAAKn+B,OAAL,CAAa,gBAAb,CAA3K;AAA0M,KAAn3qB,EAAo3qBvF,CAAC,CAACiyF,oBAAF,GAAuB,UAASjyF,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,IAAY,KAAKqoG,qBAAL,GAA2B,CAAC,CAACroG,CAA7B,EAA+B,KAAK,KAAKmnG,4BAAL,EAAhD,IAAqF,CAAC,CAAC,KAAKkB,qBAAnG;AAAyH,KAAhhrB,EAAihrBroG,CAAC,CAACslF,uBAAF,GAA0B,YAAU;AAAC,UAAG,6BAA4B7kB,CAA/B,EAAiC,OAAO,KAAKijC,QAAL,CAAc,yBAAd,CAAP;AAAgD,KAAvorB,EAAworB1jG,CAAC,CAACkyF,oBAAF,GAAuB,YAAU;AAAC,UAAG,6BAA4BzxB,CAA/B,EAAiC,OAAOA,CAAC,CAACyxB,oBAAF,EAAP;AAAgC,KAA3urB,EAA4urBlyF,CAAC,CAACwrE,aAAF,GAAgB,UAASxrE,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKiiC,QAAL,CAAci+B,WAApB;;AAAgC,UAAGlgE,CAAC,IAAEA,CAAC,CAAC2hE,OAAR,EAAgB;AAAC,SAAC,UAAStoG,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC3mC,CAAC,CAACo/E,OAAF,CAAU/6D,WAAV,EAAN;AAA8B,cAAGrkB,CAAC,CAACuoG,iBAAL,EAAuB,OAAM,CAAC,CAAP;AAAS,cAAG,YAAU5hE,CAAb,EAAe,OAAM,CAAC,CAAD,KAAK,CAAC,QAAD,EAAU,UAAV,EAAqB,QAArB,EAA8B,OAA9B,EAAsC,OAAtC,EAA8C,QAA9C,EAAwDxlC,OAAxD,CAAgEnB,CAAC,CAACuQ,IAAlE,CAAX;AAAmF,iBAAM,CAAC,CAAD,KAAK,CAAC,UAAD,EAAapP,OAAb,CAAqBwlC,CAArB,CAAX;AAAmC,SAA/M,CAAgN,KAAKoiC,GAAL,CAASl5C,aAAT,CAAuBmG,aAAvO,CAAD,KAAyP,cAAY,OAAO2Q,CAAC,CAAC2hE,OAArB,GAA6B3hE,CAAC,CAAC2hE,OAAF,CAAU3iG,IAAV,CAAe,IAAf,EAAoB3F,CAApB,CAA7B,GAAoD,KAAKwoG,aAAL,CAAmBxoG,CAAnB,CAA7S;AAAoU;AAAC,KAA9nsB,EAA+nsBA,CAAC,CAACwoG,aAAF,GAAgB,UAASxoG,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKiiC,QAAL,CAAci+B,WAAd,GAA0B,KAAKj+B,QAAL,CAAci+B,WAAd,CAA0ByB,OAApD,GAA4D,EAAlE;AAAA,UAAqEvnG,CAAC,GAAC4lC,CAAC,CAAC8hE,aAAzE;AAAA,UAAuFnuE,CAAC,GAAC,KAAK,CAAL,KAASv5B,CAAT,GAAW,UAASf,CAAT,EAAW;AAAC,eAAO6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,GAAhB,CAAP;AAA4B,OAAnD,GAAoDe,CAA7I;AAAA,UAA+I+/D,CAAC,GAACn6B,CAAC,CAAC+hE,OAAnJ;AAAA,UAA2JhkF,CAAC,GAAC,KAAK,CAAL,KAASo8C,CAAT,GAAW,UAAS9gE,CAAT,EAAW;AAAC,eAAO6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,GAAhB,CAAP;AAA4B,OAAnD,GAAoD8gE,CAAjN;AAAA,UAAmN1lD,CAAC,GAACurB,CAAC,CAACgiE,YAAvN;AAAA,UAAoOhoC,CAAC,GAAC,KAAK,CAAL,KAASvlD,CAAT,GAAW,UAASpb,CAAT,EAAW;AAAC,eAAO6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,GAAhB,KAAsB6wE,EAAE,CAACC,UAAH,CAAc9wE,CAAd,EAAgB,OAAhB,CAA7B;AAAsD,OAA7E,GAA8Eob,CAApT;;AAAsT,UAAGkf,CAAC,CAAC30B,IAAF,CAAO,IAAP,EAAY3F,CAAZ,CAAH,EAAkB;AAACA,SAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB;AAAuC,YAAIu4B,CAAC,GAAC4H,EAAE,CAACkC,YAAH,CAAgB,kBAAhB,CAAN;AAA0C,SAAC,CAAD,KAAKjK,CAAC,CAAC,KAAK4xB,MAAL,CAAYC,iBAAb,CAAN,IAAuC1xB,CAAC,CAAC7mD,SAAF,CAAY8vE,WAAZ,CAAwBlkF,IAAxB,CAA6B,IAA7B,EAAkC3F,CAAlC,CAAvC;AAA4E,OAAhL,MAAqL,IAAG0kB,CAAC,CAAC/e,IAAF,CAAO,IAAP,EAAY3F,CAAZ,CAAH,EAAkB;AAACA,SAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuCmgC,EAAE,CAACkC,YAAH,CAAgB,YAAhB,EAA8B3wD,SAA9B,CAAwC8vE,WAAxC,CAAoDlkF,IAApD,CAAyD,IAAzD,EAA8D3F,CAA9D,CAAvC;AAAwG,OAA3H,MAAgI,IAAG2gE,CAAC,CAACh7D,IAAF,CAAO,IAAP,EAAY3F,CAAZ,CAAH,EAAkB;AAACA,SAAC,CAACiN,cAAF,IAAmBjN,CAAC,CAACqoC,eAAF,EAAnB,EAAuCmgC,EAAE,CAACkC,YAAH,CAAgB,YAAhB,EAA8B3wD,SAA9B,CAAwC8vE,WAAxC,CAAoDlkF,IAApD,CAAyD,IAAzD,EAA8D3F,CAA9D,CAAvC;AAAwG;AAAC,KAAl4tB,EAAm4tBA,CAAC,CAAC2lF,WAAF,GAAc,UAAS3lF,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAJ,EAAM5lC,CAAC,GAAC,CAAR,EAAUu5B,CAAC,GAAC,KAAKsuC,QAAL,CAAcugB,SAA9B,EAAwCpoF,CAAC,GAACu5B,CAAC,CAACp3B,MAA5C,EAAmDnC,CAAC,EAApD,EAAuD;AAAC,YAAI+/D,CAAC,GAACxmC,CAAC,CAACv5B,CAAD,CAAP;AAAA,YAAW2jB,CAAC,GAACm+D,EAAE,CAACmD,OAAH,CAAWllB,CAAX,CAAb;;AAA2B,YAAGp8C,CAAC,GAACA,CAAC,IAAE8jD,EAAE,CAACkC,YAAH,CAAgB5J,CAAhB,CAAR,EAA2B;AAAC,cAAGp8C,CAAC,CAAC0kE,WAAF,OAAkBziD,CAAC,GAACjiB,CAAC,CAACihE,WAAF,CAAc3lF,CAAd,CAApB,CAAH,EAAyC,OAAO2mC,CAAP;AAAS,SAA9E,MAAmFyM,CAAC,CAACnuC,KAAF,CAAQ,UAAQ67D,CAAR,GAAU,mEAAlB;AAAuF;;AAAA,aAAM,EAAN;AAAS,KAAnquB,EAAoquB9gE,CAAC,CAAC4oG,YAAF,GAAe,UAAS5oG,CAAT,EAAW;AAAC,eAAS2mC,CAAT,CAAW3mC,CAAX,EAAae,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,YAAIwmC,CAAJ;AAAM,eAAO9gE,CAAC,CAAC2qE,IAAF,CAAO,UAAShkC,CAAT,EAAW;AAAC,iBAAO5lC,CAAC,CAAC4pE,IAAF,CAAO,UAAS3qE,CAAT,EAAW;AAAC,gBAAG8gE,CAAC,GAACxmC,CAAC,CAACqM,CAAD,EAAG3mC,CAAH,CAAN,EAAY,OAAM,CAAC,CAAP;AAAS,WAAxC,CAAP;AAAiD,SAApE,GAAsE8gE,CAA7E;AAA+E;;AAAA,eAAS//D,CAAT,CAAWf,CAAX,EAAa2mC,CAAb,EAAe;AAAC,YAAI5lC,CAAC,GAACf,CAAC,CAAC,CAAD,CAAP;AAAW,YAAGA,CAAC,CAAC,CAAD,CAAD,CAAK4lF,aAAL,CAAmBj/C,CAAnB,EAAqBm6B,CAAC,CAAC8H,QAAF,CAAW7nE,CAAC,CAACsjB,WAAF,EAAX,CAArB,CAAH,EAAqD,OAAM;AAAC5E,gBAAM,EAACknB,CAAR;AAAU8zC,cAAI,EAAC15E;AAAf,SAAN;AAAwB;;AAAA,UAAIu5B,CAAJ;AAAA,UAAMwmC,CAAC,GAAC,IAAR;AAAA,UAAap8C,CAAC,GAAC,KAAKkkD,QAAL,CAAcugB,SAAd,CAAwBlgE,GAAxB,CAA4B,UAASjpB,CAAT,EAAW;AAAC,eAAM,CAACA,CAAD,EAAG6iF,EAAE,CAACmD,OAAH,CAAWhmF,CAAX,CAAH,CAAN;AAAwB,OAAhE,EAAkEoE,MAAlE,CAAyE,UAASpE,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC3mC,CAAC,CAAC,CAAD,CAAP;AAAA,YAAWe,CAAC,GAACf,CAAC,CAAC,CAAD,CAAd;AAAkB,eAAOe,CAAC,GAACA,CAAC,CAACqoF,WAAF,EAAD,IAAkBh2C,CAAC,CAACnuC,KAAF,CAAQ,UAAQ0hC,CAAR,GAAU,mEAAlB,GAAuF,CAAC,CAA1G,CAAR;AAAqH,OAA5N,CAAf;AAA6O,aAAM,CAAC,KAAKiiC,QAAL,CAAcigC,WAAd,GAA0BliE,CAAC,CAAC3mC,CAAD,EAAG0kB,CAAH,GAAM4V,CAAC,GAACv5B,CAAF,EAAI,UAASf,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAOrM,CAAC,CAACqM,CAAD,EAAG3mC,CAAH,CAAR;AAAc,OAAtC,EAA3B,GAAoE2mC,CAAC,CAACjiB,CAAD,EAAG1kB,CAAH,EAAKe,CAAL,CAAtE,KAAgF,CAAC,CAAvF;AAAyF,KAAptvB,EAAqtvBf,CAAC,CAACgT,GAAF,GAAM,UAAShT,CAAT,EAAW;AAAC,UAAIe,CAAC,GAAC,IAAN;AAAW,UAAG,eAAa,OAAOf,CAAvB,EAAyB,OAAO,KAAKyrF,MAAL,CAAYz4E,GAAZ,IAAiB,EAAxB;;AAA2B,UAAIsnB,CAAC,GAAC,SAASqM,CAAT,CAAW3mC,CAAX,EAAa;AAAC,YAAGwb,KAAK,CAACG,OAAN,CAAc3b,CAAd,CAAH,EAAoB;AAAC,cAAIe,CAAC,GAAC,EAAN;AAASf,WAAC,CAAC+I,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAACA,aAAC,GAAC2mC,CAAC,CAAC3mC,CAAD,CAAH,EAAOwb,KAAK,CAACG,OAAN,CAAc3b,CAAd,IAAiBe,CAAC,GAACA,CAAC,CAACgmB,MAAF,CAAS/mB,CAAT,CAAnB,GAA+B2gE,CAAC,CAAC3gE,CAAD,CAAD,IAAMe,CAAC,CAACwC,IAAF,CAAOvD,CAAP,CAA5C;AAAsD,WAA5E,GAA8EA,CAAC,GAACe,CAAhF;AAAkF,SAAhH,MAAqHf,CAAC,GAAC,YAAU,OAAOA,CAAjB,IAAoBA,CAAC,CAAC6jD,IAAF,EAApB,GAA6B,CAACmlC,EAAE,CAAC;AAACh2E,aAAG,EAAChT;AAAL,SAAD,CAAH,CAA7B,GAA2C2gE,CAAC,CAAC3gE,CAAD,CAAD,IAAM,YAAU,OAAOA,CAAC,CAACgT,GAAzB,IAA8BhT,CAAC,CAACgT,GAAhC,IAAqChT,CAAC,CAACgT,GAAF,CAAM6wC,IAAN,EAArC,GAAkD,CAACmlC,EAAE,CAAChpF,CAAD,CAAH,CAAlD,GAA0D,EAAvG;;AAA0G,eAAOA,CAAP;AAAS,OAAtP,CAAuPA,CAAvP,CAAN;;AAAgQs6B,OAAC,CAACp3B,MAAF,IAAU,KAAKk/F,YAAL,GAAkB,CAAC,CAAnB,EAAqB,KAAK3W,MAAL,CAAYvC,OAAZ,GAAoB5uD,CAAzC,EAA2C,KAAK6rE,mBAAL,CAAyB7rE,CAAC,CAAC,CAAD,CAA1B,CAA3C,EAA0E8sD,EAAE,CAAC,IAAD,EAAM9sD,CAAC,CAAC,CAAD,CAAP,EAAW,UAASt6B,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAG5lC,CAAC,CAAC6hG,WAAF,GAAcj8D,CAAd,EAAgB5lC,CAAC,CAAC0qF,MAAF,CAASvC,OAAT,GAAiB5uD,CAAjC,EAAmCv5B,CAAC,CAAColG,mBAAF,CAAsBnmG,CAAtB,CAAnC,EAA4De,CAAC,CAAC+nG,IAAF,CAAO9oG,CAAP,CAA/D,EAAyE,OAAO,IAAEs6B,CAAC,CAACp3B,MAAJ,GAAWnC,CAAC,CAACiS,GAAF,CAAMsnB,CAAC,CAAC3f,KAAF,CAAQ,CAAR,CAAN,CAAX,IAA8B5Z,CAAC,CAACqhG,YAAF,GAAe,CAAC,CAAhB,EAAkBrhG,CAAC,CAAC+U,UAAF,CAAa,YAAU;AAAC,eAAK7Q,KAAL,CAAW;AAAC0iB,gBAAI,EAAC,CAAN;AAAQ1J,mBAAO,EAAC,KAAK8rD,QAAL,CAAc,KAAKnB,QAAL,CAAcmgC,mBAA5B;AAAhB,WAAX;AAA8E,SAAtG,EAAuG,CAAvG,CAAlB,EAA4H,KAAKhoG,CAAC,CAACkqE,YAAF,EAA/J,CAAP;AAAwL,SAAC,UAASjrE,CAAT,EAAW2mC,CAAX,EAAa;AAAC3mC,WAAC,CAAC+I,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,mBAAOA,CAAC,CAACgpG,OAAF,IAAWhpG,CAAC,CAACgpG,OAAF,CAAUriE,CAAV,CAAlB;AAA+B,WAArD;AAAuD,SAArE,CAAsEA,CAAtE,EAAwE5lC,CAAC,CAACw5E,KAA1E,CAAD;AAAkF,OAA5W,CAAtF,IAAqc,KAAKzkE,UAAL,CAAgB,YAAU;AAAC,aAAK7Q,KAAL,CAAW;AAAC0iB,cAAI,EAAC,CAAN;AAAQ1J,iBAAO,EAAC,KAAK8rD,QAAL,CAAc,KAAKnB,QAAL,CAAcmgC,mBAA5B;AAAhB,SAAX;AAA8E,OAAzG,EAA0G,CAA1G,CAArc;AAAkjB,KAAxlxB,EAAylxB/oG,CAAC,CAAC8oG,IAAF,GAAO,UAAS9oG,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAA,UAAW5lC,CAAC,GAAC,KAAK6nG,YAAL,CAAkB,CAAC5oG,CAAD,CAAlB,CAAb;AAAoC,aAAM,CAACe,CAAD,KAAK,UAASf,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO2hC,EAAE,CAACtoE,CAAD,CAAF,KAAQsoE,EAAE,CAAC3hC,CAAD,CAAjB;AAAqB,OAAnC,CAAoC5lC,CAAC,CAAC05E,IAAtC,EAA2C,KAAKypB,SAAhD,IAA2D,KAAKzuF,KAAL,CAAW,YAAU;AAAC,aAAK8kE,KAAL,CAAW/xD,WAAX,CAAuBzO,SAAvB,CAAiCrH,cAAjC,CAAgD,WAAhD,IAA6D,KAAKixF,SAAL,CAAe,WAAf,EAA2B3jG,CAA3B,CAA7D,GAA2F,KAAK2jG,SAAL,CAAe,KAAf,EAAqB3jG,CAAC,CAACgT,GAAvB,CAA3F,EAAuH,KAAKovF,YAAL,GAAkB,CAAC,CAA1I;AAA4I,OAAlK,EAAmK,CAAC,CAApK,CAA3D,IAAmO,KAAKA,YAAL,GAAkB,CAAC,CAAnB,EAAqB,KAAK/Y,SAAL,CAAetoF,CAAC,CAAC05E,IAAjB,EAAsB15E,CAAC,CAAC0e,MAAxB,CAArB,EAAqD,KAAK86D,KAAL,CAAW9kE,KAAX,CAAiB,YAAU;AAACkxB,SAAC,CAACy7D,YAAF,GAAe,CAAC,CAAhB;AAAkB,OAA9C,CAAxR,GAAyU,CAAC,CAA/U,CAAN;AAAwV,KAAx+xB,EAAy+xBpiG,CAAC,CAAC8oC,IAAF,GAAO,YAAU;AAAC,WAAK66D,SAAL,CAAe,MAAf;AAAuB,KAAlhyB,EAAmhyB3jG,CAAC,CAAC62B,KAAF,GAAQ,YAAU;AAAC,UAAI72B,CAAC,GAAC,IAAN;AAAA,UAAW2mC,CAAC,GAAC,KAAKiiC,QAAL,CAAc/1D,OAAd,IAAuByP,CAAC,CAACzP,OAAtC;AAA8C,WAAK5C,MAAL,MAAe,CAAC02B,CAAhB,GAAkB,KAAKsiE,QAAL,EAAlB,GAAkC94B,EAAE,CAAC,KAAKvjE,IAAL,GAAYjI,IAAZ,CAAiB,YAAU;AAAC,eAAO3E,CAAC,CAACipG,QAAF,EAAP;AAAoB,OAAhD,CAAD,CAApC;AAAwF,KAA5qyB,EAA6qyBjpG,CAAC,CAACipG,QAAF,GAAW,YAAU;AAAC,WAAK1uB,KAAL,IAAY,KAAKA,KAAL,CAAWoK,WAAX,CAAuB,MAAvB,CAAZ,EAA2C,KAAKsd,WAAL,EAA3C,EAA8D,KAAK9X,MAAL,CAAY,EAAZ,CAA9D,EAA8E,KAAKd,SAAL,CAAe,KAAKzgB,QAAL,CAAcugB,SAAd,CAAwB,CAAxB,CAAf,EAA0C,IAA1C,CAA9E,EAA8H,KAAKwa,SAAL,CAAe,OAAf,CAA9H,EAAsJ,KAAKuF,kBAAL,EAAtJ,EAAgL7hC,EAAE,CAAC,IAAD,CAAF,IAAU,KAAK9hE,OAAL,CAAa,aAAb,CAA1L;AAAsN,KAAz5yB,EAA05yBvF,CAAC,CAACkpG,kBAAF,GAAqB,YAAU;AAAC,WAAKC,iBAAL,IAAyB,KAAKC,kBAAL,EAAzB,EAAmD,KAAKC,eAAL,EAAnD;AAA0E,KAApgzB,EAAqgzBrpG,CAAC,CAACmpG,iBAAF,GAAoB,YAAU;AAAC,WAAKt5F,WAAL,CAAiB,CAAjB;AAAoB,UAAI7P,CAAC,GAAC,KAAKm6F,UAAX;AAAA,UAAsBxzD,CAAC,GAAC3mC,CAAC,CAACspG,eAA1B;AAAA,UAA0CvoG,CAAC,GAACf,CAAC,CAACsuF,oBAA9C;AAAmE3nD,OAAC,IAAEA,CAAC,CAAC+mD,aAAF,EAAH,EAAqB3sF,CAAC,IAAEA,CAAC,CAAC2sF,aAAF,EAAxB;AAA0C,KAArqzB,EAAsqzB1tF,CAAC,CAACopG,kBAAF,GAAqB,YAAU;AAAC,WAAKxR,YAAL,CAAkB,KAAK2P,mBAAL,EAAlB,GAA8C,KAAK/B,qBAAL,EAA9C;AAA2E,KAAjxzB,EAAkxzBxlG,CAAC,CAACqpG,eAAF,GAAkB,YAAU;AAAC,WAAK54F,MAAL,CAAY,CAAZ,GAAe,KAAKlL,OAAL,CAAa,cAAb,CAAf;AAA4C,KAA31zB,EAA41zBvF,CAAC,CAACupG,cAAF,GAAiB,YAAU;AAAC,UAAIvpG,CAAC,GAAC,KAAKomG,aAAL,EAAN;AAAA,UAA2Bz/D,CAAC,GAAC,EAA7B;AAAgC,aAAO,MAAIngC,MAAM,CAAC8pB,IAAP,CAAYtwB,CAAZ,EAAekD,MAAnB,IAA2ByjC,CAAC,CAACpjC,IAAF,CAAOvD,CAAP,CAA3B,EAAqC,KAAKyrF,MAAL,CAAYvC,OAAZ,IAAqBviD,CAAjE;AAAmE,KAA39zB,EAA49zB3mC,CAAC,CAAComG,aAAF,GAAgB,YAAU;AAAC,aAAO,KAAK3a,MAAL,CAAYhsE,MAAZ,IAAoB,EAA3B;AAA8B,KAArh0B,EAAsh0Bzf,CAAC,CAACshB,UAAF,GAAa,YAAU;AAAC,aAAO,KAAK8kF,aAAL,MAAsB,KAAKA,aAAL,GAAqBpzF,GAA3C,IAAgD,EAAvD;AAA0D,KAAxm0B,EAAym0BhT,CAAC,CAACwpG,WAAF,GAAc,YAAU;AAAC,aAAO,KAAKpD,aAAL,MAAsB,KAAKA,aAAL,GAAqB71F,IAA3C,IAAiD,EAAxD;AAA2D,KAA7r0B,EAA8r0BvQ,CAAC,CAACw+F,OAAF,GAAU,UAASx+F,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,IAAY,KAAK2jG,SAAL,CAAe,YAAf,EAA4B3jG,CAA5B,GAA+B,MAAK,KAAK4oE,QAAL,CAAc41B,OAAd,GAAsBx+F,CAA3B,CAA3C,IAA0E,KAAK0jG,QAAL,CAAc,SAAd,CAAjF;AAA0G,KAA9z0B,EAA+z0B1jG,CAAC,CAAC2G,QAAF,GAAW,UAAS3G,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAK4oE,QAAL,CAAcjiE,QAAd,IAAwB,CAAC,CAAhC;AAAkC,UAAIggC,CAAJ;AAAM,kBAAU,OAAO3mC,CAAjB,IAAoB,mBAAmB2V,IAAnB,CAAwB3V,CAAxB,CAApB,IAAgD,KAAK4oE,QAAL,CAAcjiE,QAAd,GAAuB3G,CAAvB,EAAyB,KAAKkmG,eAAL,CAAqBlmG,CAArB,CAAzB,EAAiD2mC,CAAC,GAAC,CAAC,CAApG,IAAuG,KAAKiiC,QAAL,CAAcjiE,QAAd,GAAuB,CAAC,CAAC3G,CAAhI,EAAkI2mC,CAAC,GAAC,eAAa,OAAOA,CAApB,GAAsB,KAAKiiC,QAAL,CAAcjiE,QAApC,GAA6CggC,CAAjL,EAAmL,KAAK4zC,KAAL,IAAY,KAAKopB,SAAL,CAAe,aAAf,EAA6Bh9D,CAA7B,CAA/L;AAA+N,KAA3m1B,EAA4m1B3mC,CAAC,CAAC0P,WAAF,GAAc,UAAS1P,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,IAAY,KAAK2jG,SAAL,CAAe,gBAAf,EAAgC3jG,CAAhC,GAAmC,KAAK4oE,QAAL,CAAcl5D,WAAd,GAA0B1P,CAA7D,EAA+D,IAA3E,IAAiF,KAAK0jG,QAAL,CAAc,aAAd,CAAxF;AAAqH,KAA3v1B,EAA4v1B1jG,CAAC,CAAC8G,IAAF,GAAO,UAAS9G,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,IAAY,KAAK2jG,SAAL,CAAe,SAAf,EAAyB3jG,CAAzB,GAA4B,MAAK,KAAK4oE,QAAL,CAAc9hE,IAAd,GAAmB9G,CAAxB,CAAxC,IAAoE,KAAK0jG,QAAL,CAAc,MAAd,CAA3E;AAAiG,KAAh31B,EAAi31B1jG,CAAC,CAACmqF,MAAF,GAAS,UAASnqF,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAKkiG,OAAZ;AAAoB,OAACliG,CAAC,GAACA,CAAC,IAAE,EAAN,MAAY,KAAKkiG,OAAjB,KAA2B,KAAKA,OAAL,GAAaliG,CAAb,EAAe,KAAK2jG,SAAL,CAAe,WAAf,EAA2B3jG,CAA3B,CAAf,EAA6C,KAAK4hG,iBAAL,GAAuB,CAAC,CAArE,EAAuE,KAAKr8F,OAAL,CAAa,cAAb,CAAlG;AAAgI,KAAxi2B,EAAyi2BvF,CAAC,CAACslG,uBAAF,GAA0B,YAAU;AAAC,UAAG,CAAC,CAAC,KAAKpD,OAAN,IAAe,KAAKt5B,QAAL,CAAcw7B,qBAA9B,KAAsD,KAAK7pB,KAA3D,IAAkE,KAAKA,KAAL,CAAW4P,MAAhF,EAAuF;AAAC,YAAInqF,CAAC,GAAC,KAAKu6E,KAAL,CAAW4P,MAAX,MAAqB,EAA3B;AAA8BnqF,SAAC,KAAG,KAAKkiG,OAAT,KAAmB,KAAKA,OAAL,GAAaliG,CAAb,EAAe,KAAK4hG,iBAAL,GAAuB,CAAC,CAAvC,EAAyC,KAAKr8F,OAAL,CAAa,cAAb,CAA5D;AAA0F;AAAC,KAA/x2B,EAAgy2BvF,CAAC,CAACkO,QAAF,GAAW,UAASlO,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAM,CAAC,CAAC,KAAKmiG,SAAb;AAAuBniG,OAAC,GAAC,CAAC,CAACA,CAAJ,EAAM,KAAKmiG,SAAL,KAAiBniG,CAAjB,KAAqB,KAAKmiG,SAAL,GAAeniG,CAAf,EAAiB,KAAKylG,mBAAL,MAA4B,KAAK9B,SAAL,CAAe,aAAf,EAA6B3jG,CAA7B,CAA7C,EAA6E,KAAKmiG,SAAL,IAAgB,KAAK1gG,WAAL,CAAiB,uBAAjB,GAA0C,KAAKuD,QAAL,CAAc,sBAAd,CAA1C,EAAgF,KAAKO,OAAL,CAAa,iBAAb,CAAhF,EAAgH,KAAKkgG,mBAAL,MAA4B,KAAKC,yBAAL,EAA5J,KAA+L,KAAKjkG,WAAL,CAAiB,sBAAjB,GAAyC,KAAKuD,QAAL,CAAc,uBAAd,CAAzC,EAAgF,KAAKO,OAAL,CAAa,kBAAb,CAAhF,EAAiH,KAAKkgG,mBAAL,MAA4B,KAAKE,4BAAL,EAA5U,CAAlG,CAAN;AAA0d,KAAtz3B,EAAuz3B3lG,CAAC,CAACylG,mBAAF,GAAsB,UAASzlG,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAM,CAAC,CAAC,KAAKypG,oBAAb;AAAkCzpG,OAAC,GAAC,CAAC,CAACA,CAAJ,EAAM,KAAKypG,oBAAL,KAA4BzpG,CAA5B,KAAgC,KAAKypG,oBAAL,GAA0BzpG,CAA1B,EAA4B,KAAKypG,oBAAL,IAA2B,KAAKzkG,QAAL,CAAc,2BAAd,GAA2C,KAAKO,OAAL,CAAa,qBAAb,CAAtE,KAA4G,KAAK9D,WAAL,CAAiB,2BAAjB,GAA8C,KAAK8D,OAAL,CAAa,qBAAb,CAA1J,CAA5D,CAAN;AAAkQ,KAA3o4B,EAA4o4BvF,CAAC,CAACiF,KAAF,GAAQ,UAASjF,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAK8kF,MAAL,IAAa,IAApB;;AAAyB,UAAG,KAAKlc,QAAL,CAAc8gC,yBAAd,IAAyC1pG,CAAzC,IAA4C,MAAIA,CAAC,CAAC2nB,IAArD,EAA0D;AAAC,YAAIgf,CAAC,GAAC,SAAFA,CAAE,GAAU;AAAC,eAAK1hC,KAAL,CAAWjF,CAAX;AAAc,SAA/B;;AAAgC,eAAO,KAAK4oE,QAAL,CAAc8gC,yBAAd,GAAwC,CAAC,CAAzC,EAA2C,KAAK5iC,GAAL,CAAS,CAAC,OAAD,EAAS,YAAT,CAAT,EAAgCngC,CAAhC,CAA3C,EAA8E,KAAK,KAAKplB,GAAL,CAAS,WAAT,EAAqB,YAAU;AAAC,eAAKnf,GAAL,CAAS,CAAC,OAAD,EAAS,YAAT,CAAT,EAAgCukC,CAAhC;AAAmC,SAAnE,CAA1F;AAA+J;;AAAA,UAAG,SAAO3mC,CAAV,EAAY,OAAO,KAAK8kF,MAAL,GAAY9kF,CAAZ,EAAc,KAAKyB,WAAL,CAAiB,WAAjB,CAAd,EAA4C,MAAK,KAAKkoG,YAAL,IAAmB,KAAKA,YAAL,CAAkBh2B,KAAlB,EAAxB,CAAnD;AAAsG,WAAKmR,MAAL,GAAY,IAAIjV,EAAJ,CAAO7vE,CAAP,CAAZ,EAAsB,KAAKgF,QAAL,CAAc,WAAd,CAAtB,EAAiDouC,CAAC,CAACnuC,KAAF,CAAQ,WAAS,KAAK6/E,MAAL,CAAYn9D,IAArB,GAA0B,GAA1B,GAA8BkoD,EAAE,CAACE,UAAH,CAAc,KAAK+U,MAAL,CAAYn9D,IAA1B,CAA9B,GAA8D,GAAtE,EAA0E,KAAKm9D,MAAL,CAAY7mE,OAAtF,EAA8F,KAAK6mE,MAAnG,CAAjD,EAA4J,KAAKv/E,OAAL,CAAa,OAAb,CAA5J;AAAkL,KAAru5B,EAAsu5BvF,CAAC,CAAC4rE,kBAAF,GAAqB,UAAS5rE,CAAT,EAAW;AAAC,WAAK4pG,aAAL,GAAmB,CAAC,CAApB;AAAsB,KAA7x5B,EAA8x5B5pG,CAAC,CAAC8iG,UAAF,GAAa,UAAS9iG,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAK8hG,WAAZ;;AAAwB,UAAG,CAAC9hG,CAAC,GAAC,CAAC,CAACA,CAAL,MAAU,KAAK8hG,WAAlB,EAA8B;AAAC,YAAG,KAAKA,WAAL,GAAiB9hG,CAAjB,EAAmB,KAAK8hG,WAA3B,EAAuC,OAAO,KAAK8H,aAAL,GAAmB,CAAC,CAApB,EAAsB,KAAKnoG,WAAL,CAAiB,mBAAjB,CAAtB,EAA4D,KAAKuD,QAAL,CAAc,iBAAd,CAA5D,EAA6F,KAAK,KAAKO,OAAL,CAAa,YAAb,CAAzG;AAAoI,aAAKg1E,KAAL,IAAY,KAAKA,KAAL,CAAWh5D,GAAX,CAAe,WAAf,EAA2B,UAASvhB,CAAT,EAAW;AAACA,WAAC,CAACqoC,eAAF,IAAoBroC,CAAC,CAACiN,cAAF,EAApB;AAAuC,SAA9E,CAAZ,EAA4F,KAAK28F,aAAL,GAAmB,CAAC,CAAhH,EAAkH,KAAKnoG,WAAL,CAAiB,iBAAjB,CAAlH,EAAsJ,KAAKuD,QAAL,CAAc,mBAAd,CAAtJ,EAAyL,KAAKO,OAAL,CAAa,cAAb,CAAzL;AAAsN;AAAC,KAA9v6B,EAA+v6BvF,CAAC,CAAC+iG,sBAAF,GAAyB,YAAU;AAAC,eAAS/iG,CAAT,CAAWA,CAAX,EAAa;AAAC8gE,SAAC,IAAG,KAAKlH,aAAL,CAAmBjzB,CAAnB,CAAJ;AAA0B;;AAAA,UAAIA,CAAJ;AAAA,UAAM5lC,CAAN;AAAA,UAAQu5B,CAAR;AAAA,UAAUwmC,CAAC,GAAC0F,EAAE,CAAC,IAAD,EAAM,KAAKoF,kBAAX,CAAd;AAA6C,WAAKvpE,EAAL,CAAQ,WAAR,EAAoB,YAAU;AAACy+D,SAAC,IAAG,KAAKlH,aAAL,CAAmBjzB,CAAnB,CAAH,EAAyBA,CAAC,GAAC,KAAK04B,WAAL,CAAiByB,CAAjB,EAAmB,GAAnB,CAA5B;AAAoD,OAAnF,GAAqF,KAAKz+D,EAAL,CAAQ,WAAR,EAAoB,UAASrC,CAAT,EAAW;AAACA,SAAC,CAAC8qC,OAAF,KAAY/pC,CAAZ,IAAef,CAAC,CAAC+qC,OAAF,KAAYzQ,CAA3B,KAA+Bv5B,CAAC,GAACf,CAAC,CAAC8qC,OAAJ,EAAYxQ,CAAC,GAACt6B,CAAC,CAAC+qC,OAAhB,EAAwB+1B,CAAC,EAAxD;AAA4D,OAA5F,CAArF,EAAmL,KAAKz+D,EAAL,CAAQ,SAAR,EAAkBrC,CAAlB,CAAnL,EAAwM,KAAKqC,EAAL,CAAQ,YAAR,EAAqBrC,CAArB,CAAxM;AAAgO,UAAI0kB,CAAJ;AAAA,UAAMtJ,CAAC,GAAC,KAAKivD,QAAL,CAAc,YAAd,CAAR;AAAoC,OAACjvD,CAAD,IAAI2yD,EAAJ,IAAQf,EAAR,KAAa5xD,CAAC,CAAC/Y,EAAF,CAAK,YAAL,EAAkB,UAASrC,CAAT,EAAW;AAAC,aAAKwM,MAAL,GAAci/E,MAAd,CAAqB4b,iBAArB,GAAuC,KAAK76F,MAAL,GAAco8D,QAAd,CAAuBy+B,iBAA9D,EAAgF,KAAK76F,MAAL,GAAco8D,QAAd,CAAuBy+B,iBAAvB,GAAyC,CAAzH;AAA2H,OAAzJ,GAA2JjsF,CAAC,CAAC/Y,EAAF,CAAK,YAAL,EAAkB,UAASrC,CAAT,EAAW;AAAC,aAAKwM,MAAL,GAAco8D,QAAd,CAAuBy+B,iBAAvB,GAAyC,KAAK76F,MAAL,GAAci/E,MAAd,CAAqB4b,iBAA9D;AAAgF,OAA9G,CAAxK,GAAyR,KAAKhlG,EAAL,CAAQ,SAAR,EAAkBy+D,CAAlB,CAAzR,EAA8S,KAAKz+D,EAAL,CAAQ,OAAR,EAAgBy+D,CAAhB,CAA9S,EAAiU,KAAKzB,WAAL,CAAiB,YAAU;AAAC,YAAG,KAAKuqC,aAAR,EAAsB;AAAC,eAAKA,aAAL,GAAmB,CAAC,CAApB,EAAsB,KAAK9G,UAAL,CAAgB,CAAC,CAAjB,CAAtB,EAA0C,KAAK/rD,YAAL,CAAkBryB,CAAlB,CAA1C;AAA+D,cAAI1kB,CAAC,GAAC,KAAK4oE,QAAL,CAAcy+B,iBAApB;AAAsCrnG,WAAC,IAAE,CAAH,KAAO0kB,CAAC,GAAC,KAAK5O,UAAL,CAAgB,YAAU;AAAC,iBAAK8zF,aAAL,IAAoB,KAAK9G,UAAL,CAAgB,CAAC,CAAjB,CAApB;AAAwC,WAAnE,EAAoE9iG,CAApE,CAAT;AAAiF;AAAC,OAA1O,EAA2O,GAA3O,CAAjU;AAAijB,KAA7q8B,EAA8q8BA,CAAC,CAAC43F,YAAF,GAAe,UAAS53F,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAKu6E,KAAL,IAAY,KAAKA,KAAL,CAAW6L,oBAAvB,GAA4C,KAAKqF,MAAL,CAAY8a,gBAAZ,IAA8B,KAAK7C,QAAL,CAAc,cAAd,CAA1E,GAAwG,CAA/G;AAAiH,WAAKC,SAAL,CAAe,iBAAf,EAAiC3jG,CAAjC;AAAoC,KAA528B,EAA628BA,CAAC,CAACunG,mBAAF,GAAsB,UAASvnG,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,GAAW,KAAK2jG,SAAL,CAAe,wBAAf,EAAwC3jG,CAAxC,CAAX,GAAsD,KAAKu6E,KAAL,IAAY,KAAKA,KAAL,CAAW6L,oBAAvB,GAA4C,KAAKsd,QAAL,CAAc,qBAAd,CAA5C,GAAiF,CAA9I;AAAgJ,KAA/h9B,EAAgi9B1jG,CAAC,CAAC2sF,OAAF,GAAU,UAAS3sF,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAM,CAAC,CAAC,KAAK6pG,QAAb;AAAsB,WAAKA,QAAL,GAAc,CAAC,CAAC7pG,CAAhB;AAAkB,KAA5m9B,EAA6m9BA,CAAC,CAACklF,YAAF,GAAe,UAASllF,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAG,KAAKw5E,KAAR,EAAc,OAAO,KAAKA,KAAL,CAAW2K,YAAX,CAAwBllF,CAAxB,EAA0B2mC,CAA1B,EAA4B5lC,CAA5B,CAAP;AAAsC,KAAhs9B,EAAis9Bf,CAAC,CAAC2wE,kBAAF,GAAqB,UAAS3wE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,KAAK4zC,KAAR,EAAc,OAAO,KAAKA,KAAL,CAAW5J,kBAAX,CAA8B3wE,CAA9B,EAAgC2mC,CAAhC,CAAP;AAA0C,KAA5x9B,EAA6x9B3mC,CAAC,CAAC4kF,qBAAF,GAAwB,UAAS5kF,CAAT,EAAW;AAAC,WAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACwwE,KAAR;AAAc,UAAG7pC,CAAC,GAACA,CAAC,IAAE3mC,CAAL,EAAO,KAAKu6E,KAAf,EAAqB,OAAO,KAAKA,KAAL,CAAWqK,qBAAX,CAAiCj+C,CAAjC,CAAP;AAA2C,KAAl69B,EAAm69B3mC,CAAC,CAACqlF,uBAAF,GAA0B,YAAU;AAAC,aAAO,KAAKqe,QAAL,CAAc,yBAAd,CAAP;AAAgD,KAAx/9B,EAAy/9B1jG,CAAC,CAAC6jG,UAAF,GAAa,YAAU;AAAC,aAAO,KAAKtpB,KAAL,IAAY,KAAKA,KAAL,CAAWspB,UAAvB,IAAmC,KAAKtpB,KAAL,CAAWspB,UAAX,EAAnC,IAA4D,CAAnE;AAAqE,KAAtl+B,EAAul+B7jG,CAAC,CAAC8jG,WAAF,GAAc,YAAU;AAAC,aAAO,KAAKvpB,KAAL,IAAY,KAAKA,KAAL,CAAWupB,WAAvB,IAAoC,KAAKvpB,KAAL,CAAWupB,WAAX,EAApC,IAA8D,CAArE;AAAuE,KAAvr+B,EAAwr+B9jG,CAAC,CAACgqE,QAAF,GAAW,UAAShqE,CAAT,EAAW;AAAC,UAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,OAAO,KAAKs3F,SAAZ;AAAsB,WAAKA,SAAL,GAAe9oE,MAAM,CAACxuB,CAAD,CAAN,CAAUqkB,WAAV,EAAf;AAAuC,KAA1x+B,EAA2x+BrkB,CAAC,CAACiqE,SAAF,GAAY,YAAU;AAAC,aAAO1B,EAAE,CAACntC,CAAC,CAACrhB,SAAF,CAAY6uD,QAAZ,CAAqBqB,SAAtB,EAAgC,KAAK+3B,UAArC,CAAT;AAA0D,KAA52+B,EAA62+BhiG,CAAC,CAAC8pG,MAAF,GAAS,YAAU;AAAC,UAAI9pG,CAAC,GAACuoE,EAAE,CAAC,KAAKK,QAAN,CAAR;AAAA,UAAwBjiC,CAAC,GAAC3mC,CAAC,CAACwrF,MAA5B;AAAmCxrF,OAAC,CAACwrF,MAAF,GAAS,EAAT;;AAAY,WAAI,IAAIzqF,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC4lC,CAAC,CAACzjC,MAAhB,EAAuBnC,CAAC,EAAxB,EAA2B;AAAC,YAAIu5B,CAAC,GAACqM,CAAC,CAAC5lC,CAAD,CAAP;AAAW,SAACu5B,CAAC,GAACiuC,EAAE,CAACjuC,CAAD,CAAL,EAAU9tB,MAAV,GAAiB,KAAK,CAAtB,EAAwBxM,CAAC,CAACwrF,MAAF,CAASzqF,CAAT,IAAYu5B,CAApC;AAAsC;;AAAA,aAAOt6B,CAAP;AAAS,KAAtg/B,EAAug/BA,CAAC,CAAC+pG,WAAF,GAAc,UAAS/pG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAN;AAAW,OAAC4lC,CAAC,GAACA,CAAC,IAAE,EAAN,EAAU7K,OAAV,GAAkB97B,CAAC,IAAE,EAArB;AAAwB,UAAIs6B,CAAC,GAAC,IAAIm4C,EAAJ,CAAO,IAAP,EAAY9rC,CAAZ,CAAN;AAAqB,aAAO,KAAK6jC,QAAL,CAAclwC,CAAd,GAAiBA,CAAC,CAACj4B,EAAF,CAAK,SAAL,EAAe,YAAU;AAACtB,SAAC,CAAConB,WAAF,CAAcmS,CAAd;AAAiB,OAA3C,CAAjB,EAA8DA,CAAC,CAAC8lB,IAAF,EAA9D,EAAuE9lB,CAA9E;AAAgF,KAA3q/B,EAA4q/Bt6B,CAAC,CAACgqG,wBAAF,GAA2B,YAAU;AAAC,UAAG,KAAK1hG,UAAL,EAAH,EAAqB,KAAI,IAAItI,CAAC,GAAC,KAAKiqG,iBAAL,EAAN,EAA+BtjE,CAAC,GAAC,KAAK2kC,YAAL,EAAjC,EAAqDvqE,CAAC,GAAC,CAA3D,EAA6DA,CAAC,GAAC6/F,EAAE,CAAC19F,MAAlE,EAAyEnC,CAAC,EAA1E,EAA6E;AAAC,YAAIu5B,CAAC,GAACsmE,EAAE,CAAC7/F,CAAD,CAAR;;AAAY,YAAG4lC,CAAC,IAAE,KAAKujE,YAAL,CAAkB5vE,CAAlB,CAAN,EAA2B;AAAC,cAAGt6B,CAAC,KAAGs6B,CAAP,EAAS;AAAOt6B,WAAC,IAAE,KAAKyB,WAAL,CAAiBo/F,EAAE,CAAC7gG,CAAD,CAAnB,CAAH,EAA2B,KAAKgF,QAAL,CAAc67F,EAAE,CAACvmE,CAAD,CAAhB,CAA3B,EAAgD,KAAK6vE,WAAL,GAAiB7vE,CAAjE;AAAmE;AAAM;AAAC;AAAC,KAAx7/B,EAAy7/Bt6B,CAAC,CAACoqG,wBAAF,GAA2B,YAAU;AAAC,UAAIpqG,CAAC,GAAC,KAAKqqG,sBAAL,EAAN;AAAoC,WAAKF,WAAL,GAAiB,EAAjB,EAAoBnqG,CAAC,IAAE,KAAKyB,WAAL,CAAiBzB,CAAjB,CAAvB;AAA2C,KAA9igC,EAA+igCA,CAAC,CAACijG,WAAF,GAAc,UAASjjG,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,KAAa,KAAKmqG,WAAL,GAAiB,EAAjB,EAAoB,KAAKD,YAAL,GAAkB36E,CAAC,CAAC,EAAD,EAAIuxE,EAAJ,EAAO9gG,CAAP,CAAvC,EAAiD,KAAKgqG,wBAAL,EAA9D,GAA+Fz6E,CAAC,CAAC,KAAK26E,YAAN,CAAvG;AAA2H,KAApsgC,EAAqsgClqG,CAAC,CAACsI,UAAF,GAAa,UAAStI,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,GAAW,KAAKsqG,WAAhB,GAA4B,CAACtqG,CAAC,GAACyhE,OAAO,CAACzhE,CAAD,CAAV,MAAiB,KAAKsqG,WAAtB,IAAmC,CAAC,KAAKA,WAAL,GAAiBtqG,CAAlB,KAAsB,KAAKqC,EAAL,CAAQ,cAAR,EAAuB,KAAK2nG,wBAA5B,GAAsD,KAAKA,wBAAL,EAA5E,KAA8G,KAAK5nG,GAAL,CAAS,cAAT,EAAwB,KAAK4nG,wBAA7B,GAAuD,KAAKI,wBAAL,EAArK,GAAsMpqG,CAAzO,IAA4O,KAAK,CAApR;AAAsR,KAAp/gC,EAAq/gCA,CAAC,CAACiqG,iBAAF,GAAoB,YAAU;AAAC,aAAO,KAAKE,WAAZ;AAAwB,KAA5ihC,EAA6ihCnqG,CAAC,CAACqqG,sBAAF,GAAyB,YAAU;AAAC,aAAOxJ,EAAE,CAAC,KAAKsJ,WAAN,CAAF,IAAsB,EAA7B;AAAgC,KAAjnhC,EAAknhCnqG,CAAC,CAACuqG,SAAF,GAAY,UAASvqG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAN;;AAAW,UAAGf,CAAC,IAAE,oBAAiBA,CAAjB,CAAN,EAAyB;AAAC,aAAK62B,KAAL,IAAa,KAAK40D,MAAL,CAAYhmC,KAAZ,GAAkB8iB,EAAE,CAACvoE,CAAD,CAAjC;AAAqC,YAAIs6B,CAAC,GAAC,KAAKmxD,MAAL,CAAYhmC,KAAlB;AAAA,YAAwBqb,CAAC,GAACxmC,CAAC,CAACkwE,OAA5B;AAAA,YAAoC9lF,CAAC,GAAC4V,CAAC,CAAC6vD,MAAxC;AAAA,YAA+C/uE,CAAC,GAACkf,CAAC,CAACtnB,GAAnD;AAAA,YAAuD2tD,CAAC,GAACrmC,CAAC,CAACm2C,UAA3D;AAAsE,SAAC3P,CAAD,IAAIp8C,CAAJ,KAAQ,KAAK+mE,MAAL,CAAYhmC,KAAZ,CAAkB+kD,OAAlB,GAA0B,CAAC;AAACx3F,aAAG,EAAC0R,CAAL;AAAOnU,cAAI,EAACs3E,EAAE,CAACnjE,CAAD;AAAd,SAAD,CAAlC,GAAwDtJ,CAAC,IAAE,KAAKpI,GAAL,CAASoI,CAAT,CAA3D,EAAuEsJ,CAAC,IAAE,KAAKylE,MAAL,CAAYzlE,CAAZ,CAA1E,EAAyFlJ,KAAK,CAACG,OAAN,CAAcglD,CAAd,KAAkBA,CAAC,CAAC53D,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,iBAAOe,CAAC,CAAC4vE,kBAAF,CAAqB3wE,CAArB,EAAuB,CAAC,CAAxB,CAAP;AAAkC,SAAxD,CAA3G,EAAqK,KAAKyV,KAAL,CAAWkxB,CAAX,CAArK;AAAmL;AAAC,KAAh9hC,EAAi9hC3mC,CAAC,CAACyqG,QAAF,GAAW,YAAU;AAAC,UAAG,KAAKhf,MAAL,CAAYhmC,KAAf,EAAqB,OAAO8iB,EAAE,CAAC,KAAKkjB,MAAL,CAAYhmC,KAAb,CAAT;AAA6B,UAAIzlD,CAAC,GAAC,KAAKmqF,MAAL,EAAN;AAAA,UAAoBxjD,CAAC,GAAC;AAAC3zB,WAAG,EAAC,KAAKu2F,cAAL,EAAL;AAA2B94B,kBAAU,EAACj1D,KAAK,CAACzB,SAAN,CAAgBkP,GAAhB,CAAoBtjB,IAApB,CAAyB,KAAKs/E,gBAAL,EAAzB,EAAiD,UAASjlF,CAAT,EAAW;AAAC,iBAAM;AAACq2E,gBAAI,EAACr2E,CAAC,CAACq2E,IAAR;AAAanD,iBAAK,EAAClzE,CAAC,CAACkzE,KAArB;AAA2BlJ,oBAAQ,EAAChqE,CAAC,CAACgqE,QAAtC;AAA+Ch3D,eAAG,EAAChT,CAAC,CAACgT;AAArD,WAAN;AAAgE,SAA7H;AAAtC,OAAtB;AAA4L,aAAOhT,CAAC,KAAG2mC,CAAC,CAACwjD,MAAF,GAASnqF,CAAT,EAAW2mC,CAAC,CAAC6jE,OAAF,GAAU,CAAC;AAACx3F,WAAG,EAAC2zB,CAAC,CAACwjD,MAAP;AAAc55E,YAAI,EAACs3E,EAAE,CAAClhD,CAAC,CAACwjD,MAAH;AAArB,OAAD,CAAxB,CAAD,EAA6DxjD,CAApE;AAAsE,KAA3xiC,EAA4xiCvL,CAAC,CAACkmE,cAAF,GAAiB,UAASthG,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC;AAACuiD,eAAO,EAAC,EAAT;AAAYsC,cAAM,EAAC;AAAnB,OAAN;AAAA,UAA6BzqF,CAAC,GAACshE,CAAC,CAACriE,CAAD,CAAhC;AAAA,UAAoCs6B,CAAC,GAACv5B,CAAC,CAAC,YAAD,CAAvC;;AAAsD,UAAGylB,CAAC,CAACxmB,CAAD,EAAG,UAAH,CAAD,KAAkBe,CAAC,CAACsyE,IAAF,GAAO,CAAC,CAA1B,GAA6B7sD,CAAC,CAACxmB,CAAD,EAAG,WAAH,CAAD,KAAmBe,CAAC,CAACuiG,KAAF,GAAQ,CAAC,CAA5B,CAA7B,EAA4D,SAAOhpE,CAAtE,EAAwE;AAAC,YAAIwmC,CAAC,GAACmP,EAAE,CAAC31C,CAAC,IAAE,IAAJ,CAAR;AAAA,YAAkB5V,CAAC,GAACo8C,CAAC,CAAC,CAAD,CAArB;AAAA,YAAyB1lD,CAAC,GAAC0lD,CAAC,CAAC,CAAD,CAA5B;AAAgCp8C,SAAC,IAAE0uB,CAAC,CAACnuC,KAAF,CAAQyf,CAAR,CAAH,EAAc6K,CAAC,CAACxuB,CAAD,EAAGqa,CAAH,CAAf;AAAqB;;AAAA,UAAGmU,CAAC,CAACoX,CAAD,EAAG5lC,CAAH,CAAD,EAAOf,CAAC,CAAC49F,aAAF,EAAV,EAA4B,KAAI,IAAIj9B,CAAC,GAAC3gE,CAAC,CAACovB,UAAR,EAAmBwxC,CAAC,GAAC,CAArB,EAAuBxlC,CAAC,GAACulC,CAAC,CAACz9D,MAA/B,EAAsC09D,CAAC,GAACxlC,CAAxC,EAA0CwlC,CAAC,EAA3C,EAA8C;AAAC,YAAIY,CAAC,GAACb,CAAC,CAACC,CAAD,CAAP;AAAA,YAAWH,CAAC,GAACe,CAAC,CAAC9kD,QAAF,CAAW2H,WAAX,EAAb;AAAsC,qBAAWo8C,CAAX,GAAa95B,CAAC,CAACuiD,OAAF,CAAU3lF,IAAV,CAAe8+D,CAAC,CAACb,CAAD,CAAhB,CAAb,GAAkC,YAAUf,CAAV,IAAa95B,CAAC,CAAC6kD,MAAF,CAASjoF,IAAT,CAAc8+D,CAAC,CAACb,CAAD,CAAf,CAA/C;AAAmE;AAAA,aAAO76B,CAAP;AAAS,KAA1qjC,EAA2qjC3mC,CAAC,CAAC6iG,iBAAF,GAAoB,YAAU;AAAC,UAAI7iG,CAAC,GAACygE,CAAC,CAAC1tD,aAAF,CAAgB,GAAhB,CAAN;AAA2B,aAAM,EAAE,eAAc/S,CAAC,CAACmd,KAAhB,IAAuB,qBAAoBnd,CAAC,CAACmd,KAA7C,IAAoD,kBAAiBnd,CAAC,CAACmd,KAAvE,IAA8E,iBAAgBnd,CAAC,CAACmd,KAAhG,IAAuG,iBAAgBnd,CAAC,CAACmd,KAA3H,CAAN;AAAwI,KAA72jC,EAA82jCie,CAAr3jC;AAAu3jC,GAAlkpC,CAAmkpCotC,EAAnkpC,CAArF;;AAA4ppC8T,IAAE,CAAChK,KAAH,CAASvpE,OAAT,CAAiB,UAAS/I,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAAC21C,EAAE,CAACt8E,CAAD,CAAR;;AAAYqhG,MAAE,CAACtnF,SAAH,CAAa4sB,CAAC,CAACs1C,UAAf,IAA2B,YAAU;AAAC,aAAO,KAAK1B,KAAL,GAAW,KAAKA,KAAL,CAAW5zC,CAAC,CAACs1C,UAAb,GAAX,IAAuC,KAAKt1C,CAAC,CAACu1C,WAAP,IAAoB,KAAKv1C,CAAC,CAACu1C,WAAP,KAAqB,IAAIv1C,CAAC,CAACk1C,SAAN,EAAzC,EAAyD,KAAKl1C,CAAC,CAACu1C,WAAP,CAAhG,CAAP;AAA4H,KAAlK;AAAmK,GAA5M,GAA8MmlB,EAAE,CAACtnF,SAAH,CAAa0pF,WAAb,GAAyBpC,EAAE,CAACtnF,SAAH,CAAaypF,WAApP,EAAgQnC,EAAE,CAACn1B,OAAH,GAAW,EAA3Q;AAA8Q,MAAIw+B,EAAE,GAACpoF,CAAC,CAAC1M,SAAT;AAAmByrF,IAAE,CAACtnF,SAAH,CAAa6uD,QAAb,GAAsB;AAACugB,aAAS,EAACtG,EAAE,CAACkD,iBAAd;AAAgC4kB,SAAK,EAAC,EAAtC;AAAyCC,SAAK,EAAC,EAA/C;AAAkDvD,qBAAiB,EAAC,GAApE;AAAwEpP,iBAAa,EAAC,EAAtF;AAAyFkE,UAAM,EAAC,CAAC,CAAjG;AAAmGl/E,YAAQ,EAAC,CAAC,aAAD,EAAe,aAAf,EAA6B,kBAA7B,EAAgD,gBAAhD,EAAiE,eAAjE,EAAiF,aAAjF,EAA+F,YAA/F,EAA4G,cAA5G,EAA2H,mBAA3H,EAA+I,eAA/I,CAA5G;AAA4Q+sD,YAAQ,EAAC0gC,EAAE,KAAGA,EAAE,CAACzgC,SAAH,IAAcygC,EAAE,CAACzgC,SAAH,CAAa,CAAb,CAAd,IAA+BygC,EAAE,CAACG,YAAlC,IAAgDH,EAAE,CAAC1gC,QAAtD,CAAF,IAAmE,IAAxV;AAA6VC,aAAS,EAAC,EAAvW;AAA0W8+B,uBAAmB,EAAC,gDAA9X;AAA+a7B,cAAU,EAAC;AAACnrF,aAAO,EAAC;AAAC+uF,oBAAY,EAAC;AAAd;AAAT,KAA1b;AAA0d7H,eAAW,EAAC,EAAte;AAAye36F,cAAU,EAAC,CAAC;AAArf,GAAtB,EAA8gB,CAAC,OAAD,EAAS,SAAT,EAAmB,UAAnB,EAA8B,cAA9B,EAA6C,YAA7C,EAA2DS,OAA3D,CAAmE,UAAS/I,CAAT,EAAW;AAACqhG,MAAE,CAACtnF,SAAH,CAAa/Z,CAAb,IAAgB,YAAU;AAAC,aAAO,KAAK0jG,QAAL,CAAc1jG,CAAd,CAAP;AAAwB,KAAnD;AAAoD,GAAnI,CAA9gB,EAAmpBugG,EAAE,CAACx3F,OAAH,CAAW,UAAS/I,CAAT,EAAW;AAACqhG,MAAE,CAACtnF,SAAH,CAAa,eAAauuD,EAAE,CAACtoE,CAAD,CAAf,GAAmB,GAAhC,IAAqC,YAAU;AAAC,aAAO,KAAKuF,OAAL,CAAavF,CAAb,CAAP;AAAuB,KAAvE;AAAwE,GAA/F,CAAnpB,EAAovBwoE,EAAE,CAACuD,iBAAH,CAAqB,QAArB,EAA8Bs1B,EAA9B,CAApvB;AAAsxB,MAAI0J,EAAE,GAACpkE,CAAC,CAAC,UAAS5lC,CAAT,EAAW;AAAC,aAASu5B,CAAT,CAAWt6B,CAAX,EAAa2mC,CAAb,EAAe;AAAC,aAAO5lC,CAAC,CAACjB,OAAF,GAAUw6B,CAAC,GAAC9zB,MAAM,CAAC6lE,cAAP,IAAuB,UAASrsE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO3mC,CAAC,CAACyjE,SAAF,GAAY98B,CAAZ,EAAc3mC,CAArB;AAAuB,OAAxE,EAAyEs6B,CAAC,CAACt6B,CAAD,EAAG2mC,CAAH,CAAjF;AAAuF;;AAAA5lC,KAAC,CAACjB,OAAF,GAAUw6B,CAAV;AAAY,GAAhI,CAAR;;AAA0I,WAAS0wE,EAAT,CAAYhrG,CAAZ,EAAc;AAAC,WAAOwS,EAAE,CAACE,cAAH,CAAkB1S,CAAlB,CAAP;AAA4B;;AAAA,WAASirG,EAAT,CAAYjrG,CAAZ,EAAc;AAAC,WAAOgrG,EAAE,CAAChrG,CAAD,CAAF,GAAMwS,EAAE,CAACxS,CAAD,CAAR,GAAY,KAAK,CAAxB;AAA0B;;AAAA,WAASkrG,EAAT,CAAYlrG,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC3mC,KAAC,CAACmrG,EAAD,CAAD,GAAMnrG,CAAC,CAACmrG,EAAD,CAAD,IAAO,EAAb,EAAgBnrG,CAAC,CAACmrG,EAAD,CAAD,CAAMxkE,CAAN,IAAS,CAAC,CAA1B;AAA4B;;AAAA,WAASykE,EAAT,CAAYprG,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAC,GAAC,CAACv5B,CAAC,GAAC,QAAD,GAAU,EAAZ,IAAgB,aAAtB;AAAoCf,KAAC,CAACuF,OAAF,CAAU+0B,CAAV,EAAYqM,CAAZ,GAAe3mC,CAAC,CAACuF,OAAF,CAAU+0B,CAAC,GAAC,GAAF,GAAMqM,CAAC,CAAC/c,IAAlB,EAAuB+c,CAAvB,CAAf;AAAyC;;AAAA,WAAS0kE,EAAT,CAAYvqC,CAAZ,EAAcp8C,CAAd,EAAgB;AAAC,WAAOA,CAAC,CAAC3K,SAAF,CAAY6P,IAAZ,GAAiBk3C,CAAjB,EAAmB,YAAU;AAACsqC,QAAE,CAAC,IAAD,EAAM;AAACxhF,YAAI,EAACk3C,CAAN;AAAQwqC,cAAM,EAAC5mF,CAAf;AAAiBvF,gBAAQ,EAAC;AAA1B,OAAN,EAAsC,CAAC,CAAvC,CAAF;;AAA4C,WAAI,IAAInf,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAzB,EAAsCe,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACf,CAAhD,EAAkDe,CAAC,EAAnD;AAAsD4lC,SAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAAtD;;AAAwE,UAAIu5B,CAAC,GAACixE,EAAE,CAAC7mF,CAAD,EAAG,CAAC,IAAD,EAAOqC,MAAP,CAAc4f,CAAd,CAAH,CAAR;AAA6B,aAAO,KAAKm6B,CAAL,IAAQ,YAAU;AAAC,eAAOxmC,CAAP;AAAS,OAA5B,EAA6B8wE,EAAE,CAAC,IAAD,EAAM9wE,CAAC,CAACkxE,YAAF,EAAN,CAA/B,EAAuDlxE,CAA9D;AAAgE,KAAtP;AAAuP;;AAAA,MAAImxE,EAAE,GAAC,SAAHA,EAAG,GAAU;AAAC,QAAG,eAAa,OAAOC,OAApB,IAA6B,CAACA,OAAO,CAACC,SAAzC,EAAmD,OAAM,CAAC,CAAP;AAAS,QAAGD,OAAO,CAACC,SAAR,CAAkBC,IAArB,EAA0B,OAAM,CAAC,CAAP;AAAS,QAAG,cAAY,OAAOC,KAAtB,EAA4B,OAAM,CAAC,CAAP;;AAAS,QAAG;AAAC,aAAOz/E,IAAI,CAACrS,SAAL,CAAekN,QAAf,CAAwBthB,IAAxB,CAA6B+lG,OAAO,CAACC,SAAR,CAAkBv/E,IAAlB,EAAuB,EAAvB,EAA0B,YAAU,CAAE,CAAtC,CAA7B,GAAsE,CAAC,CAA9E;AAAgF,KAApF,CAAoF,OAAMpsB,CAAN,EAAQ;AAAC,aAAM,CAAC,CAAP;AAAS;AAAC,GAA7P;AAAA,MAA8PurG,EAAE,GAAC5kE,CAAC,CAAC,UAASrM,CAAT,EAAW;AAAC,aAASwmC,CAAT,CAAW9gE,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAAC,aAAO0qG,EAAE,KAAGnxE,CAAC,CAACx6B,OAAF,GAAUghE,CAAC,GAAC4qC,OAAO,CAACC,SAAvB,GAAiCrxE,CAAC,CAACx6B,OAAF,GAAUghE,CAAC,GAAC,WAAS9gE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAIu5B,CAAC,GAAC,CAAC,IAAD,CAAN;AAAaA,SAAC,CAAC/2B,IAAF,CAAOmC,KAAP,CAAa40B,CAAb,EAAeqM,CAAf;AAAkB,YAAIm6B,CAAC,GAAC,KAAIgrC,QAAQ,CAACvvF,IAAT,CAAc7W,KAAd,CAAoB1F,CAApB,EAAsBs6B,CAAtB,CAAJ,GAAN;AAAoC,eAAOv5B,CAAC,IAAEgqG,EAAE,CAACjqC,CAAD,EAAG//D,CAAC,CAACgZ,SAAL,CAAL,EAAqB+mD,CAA5B;AAA8B,OAAhK,EAAiKA,CAAC,CAACp7D,KAAF,CAAQ,IAAR,EAAawjB,SAAb,CAAxK;AAAgM;;AAAAoR,KAAC,CAACx6B,OAAF,GAAUghE,CAAV;AAAY,GAA3O,CAAlQ;AAAA,MAA+eirC,EAAE,GAAC,QAAlf;AAAA,MAA2fZ,EAAE,GAAC,gBAA9f;AAAA,MAA+gB34F,EAAE,GAAC,EAAlhB;AAAA,MAAqhBw5F,EAAE,GAAC,YAAU;AAAC,aAASjrG,CAAT,CAAWf,CAAX,EAAa;AAAC,UAAG,KAAKwoB,WAAL,KAAmBznB,CAAtB,EAAwB,MAAM,IAAImS,KAAJ,CAAU,wDAAV,CAAN;AAA0E,WAAK1G,MAAL,GAAYxM,CAAZ,EAAc8nE,EAAE,CAAC,IAAD,CAAhB,EAAuB,OAAO,KAAKviE,OAAnC,EAA2C4iE,EAAE,CAAC,IAAD,EAAM,KAAK3/C,WAAL,CAAiBygD,YAAvB,CAA7C,EAAkFiiC,EAAE,CAAClrG,CAAD,EAAG,KAAK4pB,IAAR,CAApF,EAAkG,KAAKnY,OAAL,GAAa+0D,EAAE,CAAC,IAAD,EAAM,KAAK/0D,OAAX,CAAjH,EAAqIzR,CAAC,CAACqC,EAAF,CAAK,SAAL,EAAe,KAAKoP,OAApB,CAArI;AAAkK;;AAAA,QAAIzR,CAAC,GAACe,CAAC,CAACgZ,SAAR;AAAkB,WAAO/Z,CAAC,CAACqoB,OAAF,GAAU,YAAU;AAAC,aAAO,KAAKG,WAAL,CAAiByjF,OAAxB;AAAgC,KAArD,EAAsDjsG,CAAC,CAACwrG,YAAF,GAAe,UAASxrG,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmBA,CAAC,CAAC4pB,IAAF,GAAO,KAAKA,IAA/B,EAAoC5pB,CAAC,CAACsrG,MAAF,GAAS,KAAK9iF,WAAlD,EAA8DxoB,CAAC,CAACmf,QAAF,GAAW,IAAzE,EAA8Enf,CAArF;AAAuF,KAAxK,EAAyKA,CAAC,CAACuF,OAAF,GAAU,UAASvF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB0/B,EAAE,CAAC,KAAKoB,WAAN,EAAkBznE,CAAlB,EAAoB,KAAKwrG,YAAL,CAAkB7kE,CAAlB,CAApB,CAA5B;AAAsE,KAAvQ,EAAwQ3mC,CAAC,CAACooE,kBAAF,GAAqB,UAASpoE,CAAT,EAAW,CAAE,CAA1S,EAA2SA,CAAC,CAACyR,OAAF,GAAU,YAAU;AAAC,UAAIzR,CAAC,GAAC,KAAK4pB,IAAX;AAAA,UAAgB+c,CAAC,GAAC,KAAKn6B,MAAvB;AAA8B,WAAKjH,OAAL,CAAa,SAAb,GAAwB,KAAKnD,GAAL,EAAxB,EAAmCukC,CAAC,CAACvkC,GAAF,CAAM,SAAN,EAAgB,KAAKqP,OAArB,CAAnC,EAAiEk1B,CAAC,CAACwkE,EAAD,CAAD,CAAMnrG,CAAN,IAAS,CAAC,CAA3E,EAA6E,KAAKwM,MAAL,GAAY,KAAKe,KAAL,GAAW,IAApG,EAAyGo5B,CAAC,CAAC3mC,CAAD,CAAD,GAAKqrG,EAAE,CAACrrG,CAAD,EAAGwS,EAAE,CAACxS,CAAD,CAAL,CAAhH;AAA0H,KAAxd,EAAyde,CAAC,CAACmrG,OAAF,GAAU,UAASlsG,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,YAAU,OAAO3mC,CAAjB,GAAmBirG,EAAE,CAACjrG,CAAD,CAArB,GAAyBA,CAA/B;AAAiC,aAAM,cAAY,OAAO2mC,CAAnB,IAAsB,CAAC5lC,CAAC,CAACgZ,SAAF,CAAYiyD,aAAZ,CAA0BrlC,CAAC,CAAC5sB,SAA5B,CAA7B;AAAoE,KAAplB,EAAqlBhZ,CAAC,CAACorG,cAAF,GAAiB,UAASnsG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,YAAU,OAAO3mC,CAApB,EAAsB,MAAM,IAAIkT,KAAJ,CAAU,2BAAyBlT,CAAzB,GAA2B,2BAA3B,WAA8DA,CAA9D,IAAgE,GAA1E,CAAN;AAAqF,UAAGgrG,EAAE,CAAChrG,CAAD,CAAL,EAASozC,CAAC,CAAC5T,IAAF,CAAO,qBAAmBx/B,CAAnB,GAAqB,iEAA5B,EAAT,KAA6G,IAAGqhG,EAAE,CAACtnF,SAAH,CAAarH,cAAb,CAA4B1S,CAA5B,CAAH,EAAkC,MAAM,IAAIkT,KAAJ,CAAU,2BAAyBlT,CAAzB,GAA2B,wDAArC,CAAN;AAAqG,UAAG,cAAY,OAAO2mC,CAAtB,EAAwB,MAAM,IAAIzzB,KAAJ,CAAU,yBAAuBlT,CAAvB,GAAyB,6BAAzB,WAA8D2mC,CAA9D,IAAgE,GAA1E,CAAN;AAAqF,aAAOn0B,EAAE,CAACxS,CAAD,CAAF,GAAM2mC,CAAN,EAAQ3mC,CAAC,KAAG+rG,EAAJ,KAAShrG,CAAC,CAACmrG,OAAF,CAAUvlE,CAAV,IAAa06D,EAAE,CAACtnF,SAAH,CAAa/Z,CAAb,IAAgB,UAAS2mC,CAAT,EAAW5lC,CAAX,EAAa;AAAC,iBAASu5B,CAAT,GAAY;AAAC8wE,YAAE,CAAC,IAAD,EAAM;AAACxhF,gBAAI,EAAC+c,CAAN;AAAQ2kE,kBAAM,EAACvqG,CAAf;AAAiBoe,oBAAQ,EAAC;AAA1B,WAAN,EAAsC,CAAC,CAAvC,CAAF;AAA4C,cAAInf,CAAC,GAACe,CAAC,CAAC2E,KAAF,CAAQ,IAAR,EAAawjB,SAAb,CAAN;AAA8B,iBAAOgiF,EAAE,CAAC,IAAD,EAAMvkE,CAAN,CAAF,EAAWykE,EAAE,CAAC,IAAD,EAAM;AAACxhF,gBAAI,EAAC+c,CAAN;AAAQ2kE,kBAAM,EAACvqG,CAAf;AAAiBoe,oBAAQ,EAACnf;AAA1B,WAAN,CAAb,EAAiDA,CAAxD;AAA0D;;AAAA,eAAOwG,MAAM,CAAC8pB,IAAP,CAAYvvB,CAAZ,EAAegI,OAAf,CAAuB,UAAS/I,CAAT,EAAW;AAACs6B,WAAC,CAACt6B,CAAD,CAAD,GAAKe,CAAC,CAACf,CAAD,CAAN;AAAU,SAA7C,GAA+Cs6B,CAAtD;AAAwD,OAAvN,CAAwNt6B,CAAxN,EAA0N2mC,CAA1N,CAA7B,GAA0P06D,EAAE,CAACtnF,SAAH,CAAa/Z,CAAb,IAAgBqrG,EAAE,CAACrrG,CAAD,EAAG2mC,CAAH,CAArR,CAAR,EAAoSA,CAA3S;AAA6S,KAA72C,EAA82C5lC,CAAC,CAACqrG,gBAAF,GAAmB,UAASpsG,CAAT,EAAW;AAAC,UAAGA,CAAC,KAAG+rG,EAAP,EAAU,MAAM,IAAI74F,KAAJ,CAAU,iCAAV,CAAN;AAAmD83F,QAAE,CAAChrG,CAAD,CAAF,KAAQ,OAAOwS,EAAE,CAACxS,CAAD,CAAT,EAAa,OAAOqhG,EAAE,CAACtnF,SAAH,CAAa/Z,CAAb,CAA5B;AAA6C,KAAv/C,EAAw/Ce,CAAC,CAACsrG,UAAF,GAAa,UAASrsG,CAAT,EAAW;AAAC,UAAIe,CAAJ;AAAM,aAAO,KAAK,CAAL,KAASf,CAAT,KAAaA,CAAC,GAACwG,MAAM,CAAC8pB,IAAP,CAAY9d,EAAZ,CAAf,GAAgCxS,CAAC,CAAC+I,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAACskE,EAAE,CAACjrG,CAAD,CAAR;AAAY2mC,SAAC,KAAG,CAAC5lC,CAAC,GAACA,CAAC,IAAE,EAAN,EAAUf,CAAV,IAAa2mC,CAAhB,CAAD;AAAoB,OAAtD,CAAhC,EAAwF5lC,CAA/F;AAAiG,KAAxnD,EAAynDA,CAAC,CAACurG,gBAAF,GAAmB,UAAStsG,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAACskE,EAAE,CAACjrG,CAAD,CAAR;AAAY,aAAO2mC,CAAC,IAAEA,CAAC,CAACslE,OAAL,IAAc,EAArB;AAAwB,KAA5rD,EAA6rDlrG,CAApsD;AAAssD,GAAr/D,EAAxhB;;AAAghFirG,IAAE,CAACO,SAAH,GAAatB,EAAb,EAAgBe,EAAE,CAACQ,gBAAH,GAAoBT,EAApC,EAAuCC,EAAE,CAACG,cAAH,CAAkBJ,EAAlB,EAAqBC,EAArB,CAAvC,EAAgE3K,EAAE,CAACtnF,SAAH,CAAaswE,WAAb,GAAyB,UAASrqF,CAAT,EAAW;AAAC,WAAM,CAAC,CAAC,KAAKmrG,EAAL,CAAF,IAAY,CAAC,CAAD,KAAK,KAAKA,EAAL,EAASnrG,CAAT,CAAvB;AAAmC,GAAxI,EAAyIqhG,EAAE,CAACtnF,SAAH,CAAa0yF,SAAb,GAAuB,UAASzsG,CAAT,EAAW;AAAC,WAAM,CAAC,CAACgrG,EAAE,CAAChrG,CAAD,CAAV;AAAc,GAA1L;;AAA2L,MAAI0sG,EAAE,GAAC,SAAHA,EAAG,CAAS1sG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAG,cAAY,OAAOA,CAAnB,IAAsB,SAAOA,CAAhC,EAAkC,MAAM,IAAIpI,SAAJ,CAAc,oDAAd,CAAN;AAA0Ev+B,KAAC,CAAC+Z,SAAF,GAAYvT,MAAM,CAACgW,MAAP,CAAcmqB,CAAC,IAAEA,CAAC,CAAC5sB,SAAnB,EAA6B;AAACyO,iBAAW,EAAC;AAACnD,aAAK,EAACrlB,CAAP;AAAS6oC,gBAAQ,EAAC,CAAC,CAAnB;AAAqB1H,oBAAY,EAAC,CAAC;AAAnC;AAAb,KAA7B,CAAZ,EAA8FwF,CAAC,IAAEokE,EAAE,CAAC/qG,CAAD,EAAG2mC,CAAH,CAAnG;AAAyG,GAA1O;AAAA,MAA2OgmE,EAAE,GAAC,SAAHA,EAAG,CAAS3sG,CAAT,EAAW;AAAC,WAAO,MAAIA,CAAC,CAACmB,OAAF,CAAU,GAAV,CAAJ,GAAmBnB,CAAC,CAAC2a,KAAF,CAAQ,CAAR,CAAnB,GAA8B3a,CAArC;AAAuC,GAAjS;;AAAkS,WAAS4sG,EAAT,CAAY5sG,CAAZ,EAAce,CAAd,EAAgB4lC,CAAhB,EAAkB;AAAC,QAAIrM,CAAC,GAACsyE,EAAE,CAACC,SAAH,CAAa7sG,CAAb,CAAN;AAAsB,QAAGs6B,CAAH,EAAK,OAAOv5B,CAAC,IAAEqyC,CAAC,CAAC5T,IAAF,CAAO,aAAWx/B,CAAX,GAAa,wDAApB,CAAH,EAAiF2mC,CAAC,IAAErM,CAAC,CAAC7kB,KAAF,CAAQkxB,CAAR,CAApF,EAA+FrM,CAAtG;AAAwG,QAAIwmC,CAAC,GAAC,YAAU,OAAO9gE,CAAjB,GAAmBsjE,CAAC,CAAC,MAAIqpC,EAAE,CAAC3sG,CAAD,CAAP,CAApB,GAAgCA,CAAtC;AAAwC,QAAG,CAACm8B,CAAC,CAAC2kC,CAAD,CAAL,EAAS,MAAM,IAAIviC,SAAJ,CAAc,oDAAd,CAAN;AAA0EuiC,KAAC,CAACjxC,aAAF,CAAgB/M,WAAhB,IAA6Bg+C,CAAC,CAACjxC,aAAF,CAAgB6T,IAAhB,CAAqBvX,QAArB,CAA8B20C,CAA9B,CAA7B,IAA+D1tB,CAAC,CAAC5T,IAAF,CAAO,iDAAP,CAA/D,EAAyHz+B,CAAC,GAACA,CAAC,IAAE,EAA9H,EAAiI6rG,EAAE,CAAC5qE,KAAH,CAAS,aAAT,EAAwBj5B,OAAxB,CAAgC,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC8gE,CAAD,EAAGyH,EAAE,CAACxnE,CAAD,CAAL,CAAP;AAAiB4/D,OAAC,CAACh6B,CAAD,CAAD,IAAM,CAACnrB,KAAK,CAACG,OAAN,CAAcgrB,CAAd,CAAP,GAAwB5lC,CAAC,GAACwnE,EAAE,CAACxnE,CAAD,EAAG4lC,CAAH,CAA5B,GAAkCyM,CAAC,CAACnuC,KAAF,CAAQ,8CAAR,CAAlC;AAA0F,KAAvJ,CAAjI;AAA0R,QAAIyf,CAAC,GAAC8jD,EAAE,CAACkC,YAAH,CAAgB,QAAhB,CAAN;AAAgC,WAAOpwC,CAAC,GAAC,IAAI5V,CAAJ,CAAMo8C,CAAN,EAAQ//D,CAAR,EAAU4lC,CAAV,CAAF,EAAeimE,EAAE,CAAC5qE,KAAH,CAAS,OAAT,EAAkBj5B,OAAlB,CAA0B,UAAS/I,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACs6B,CAAD,CAAR;AAAY,KAAlD,CAAf,EAAmEA,CAA1E;AAA4E;;AAAA,MAAGsyE,EAAE,CAACE,MAAH,GAAU,EAAV,EAAaF,EAAE,CAAC5qE,KAAH,GAAS,UAAShiC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAOimE,EAAE,CAACE,MAAH,CAAU9sG,CAAV,IAAa4sG,EAAE,CAACE,MAAH,CAAU9sG,CAAV,KAAc,EAA3B,EAA8B2mC,CAAC,KAAGimE,EAAE,CAACE,MAAH,CAAU9sG,CAAV,IAAa4sG,EAAE,CAACE,MAAH,CAAU9sG,CAAV,EAAa+mB,MAAb,CAAoB4f,CAApB,CAAhB,CAA/B,EAAuEimE,EAAE,CAACE,MAAH,CAAU9sG,CAAV,CAA9E;AAA2F,GAA/H,EAAgI4sG,EAAE,CAAClkE,IAAH,GAAQ,UAAS1oC,CAAT,EAAW2mC,CAAX,EAAa;AAACimE,MAAE,CAAC5qE,KAAH,CAAShiC,CAAT,EAAW2mC,CAAX;AAAc,GAApK,EAAqKimE,EAAE,CAACG,QAAH,GAAY,UAAShsG,CAAT,EAAWf,CAAX,EAAa;AAAC4sG,MAAE,CAAC5qE,KAAH,CAASjhC,CAAT,EAAW,GAAGgmB,MAAH,CAAU/mB,CAAV,EAAaipB,GAAb,CAAiB,UAAS0d,CAAT,EAAW;AAAC,aAAO,SAAS3mC,CAAT,GAAY;AAAC,eAAO4sG,EAAE,CAACI,UAAH,CAAcjsG,CAAd,EAAgBf,CAAhB,GAAmB2mC,CAAC,CAACjhC,KAAF,CAAQ,KAAK,CAAb,EAAewjB,SAAf,CAA1B;AAAoD,OAAxE;AAAyE,KAAtG,CAAX;AAAoH,GAAnT,EAAoT0jF,EAAE,CAACI,UAAH,GAAc,UAAShtG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAC,GAAC6rG,EAAE,CAAC5qE,KAAH,CAAShiC,CAAT,EAAYmB,OAAZ,CAAoBwlC,CAApB,CAAN;AAA6B,WAAM,EAAE5lC,CAAC,IAAE,CAAC,CAAN,MAAW6rG,EAAE,CAACE,MAAH,CAAU9sG,CAAV,IAAa4sG,EAAE,CAACE,MAAH,CAAU9sG,CAAV,EAAa2a,KAAb,EAAb,EAAkCiyF,EAAE,CAACE,MAAH,CAAU9sG,CAAV,EAAawa,MAAb,CAAoBzZ,CAApB,EAAsB,CAAtB,CAAlC,EAA2D,CAAC,CAAvE,CAAN;AAAgF,GAA7b,EAA8b,CAAC,CAAD,KAAKuhB,CAAC,CAAC8gF,wBAAP,IAAiCnmE,CAAC,EAAne,EAAse;AAAC,QAAIgwE,EAAE,GAAC3pC,CAAC,CAAC,sBAAD,CAAR;;AAAiC,QAAG,CAAC2pC,EAAJ,EAAO;AAACA,QAAE,GAACloC,CAAC,CAAC,qBAAD,CAAJ;AAA4B,UAAImoC,EAAE,GAAC5pC,CAAC,CAAC,MAAD,CAAR;AAAiB4pC,QAAE,IAAEA,EAAE,CAAC55F,YAAH,CAAgB25F,EAAhB,EAAmBC,EAAE,CAACl5E,UAAtB,CAAJ,EAAsCgxC,EAAE,CAACioC,EAAD,EAAI,+IAAJ,CAAxC;AAA6L;AAAC;;AAAApoC,GAAC,CAAC,CAAD,EAAG+nC,EAAH,CAAD,EAAQA,EAAE,CAACX,OAAH,GAAWvrC,CAAnB,EAAqBksC,EAAE,CAAC7wF,OAAH,GAAWslF,EAAE,CAACtnF,SAAH,CAAa6uD,QAA7C,EAAsDgkC,EAAE,CAAC96F,UAAH,GAAc,YAAU;AAAC,WAAOuvF,EAAE,CAACn1B,OAAV;AAAkB,GAAjG,EAAkG0gC,EAAE,CAACC,SAAH,GAAa,UAAS7sG,CAAT,EAAW;AAAC,QAAI2mC,CAAJ;AAAA,QAAM5lC,CAAC,GAACsgG,EAAE,CAACn1B,OAAX;;AAAmB,QAAG,YAAU,OAAOlsE,CAApB,EAAsB;AAAC,UAAIs6B,CAAC,GAACqyE,EAAE,CAAC3sG,CAAD,CAAR;AAAA,UAAY8gE,CAAC,GAAC//D,CAAC,CAACu5B,CAAD,CAAf;AAAmB,UAAGwmC,CAAH,EAAK,OAAOA,CAAP;AAASn6B,OAAC,GAAC28B,CAAC,CAAC,MAAIhpC,CAAL,CAAH;AAAW,KAAnE,MAAwEqM,CAAC,GAAC3mC,CAAF;;AAAI,QAAGm8B,CAAC,CAACwK,CAAD,CAAJ,EAAQ;AAAC,UAAIjiB,CAAC,GAACiiB,CAAN;AAAA,UAAQvrB,CAAC,GAACsJ,CAAC,CAAClY,MAAZ;AAAA,UAAmBm0D,CAAC,GAACj8C,CAAC,CAACpU,QAAvB;AAAgC,UAAG8K,CAAC,IAAEra,CAAC,CAAC4/D,CAAD,CAAP,EAAW,OAAOvlD,CAAC,IAAEra,CAAC,CAAC4/D,CAAD,CAAX;AAAe;AAAC,GAA9R,EAA+RisC,EAAE,CAACO,aAAH,GAAiB,YAAU;AAAC,WAAO3mG,MAAM,CAAC8pB,IAAP,CAAY+wE,EAAE,CAACn1B,OAAf,EAAwBjjD,GAAxB,CAA4B,UAASjpB,CAAT,EAAW;AAAC,aAAOqhG,EAAE,CAACn1B,OAAH,CAAWlsE,CAAX,CAAP;AAAqB,KAA7D,EAA+DoE,MAA/D,CAAsEq9D,OAAtE,CAAP;AAAsF,GAAjZ,EAAkZmrC,EAAE,CAAC1gC,OAAH,GAAWm1B,EAAE,CAACn1B,OAAha,EAAwa0gC,EAAE,CAACliC,YAAH,GAAgBlC,EAAE,CAACkC,YAA3b,EAAwckiC,EAAE,CAAC7gC,iBAAH,GAAqB,UAAS/rE,CAAT,EAAW2mC,CAAX,EAAa;AAACk8C,MAAE,CAACjY,MAAH,CAAUjkC,CAAV,KAAcyM,CAAC,CAAC5T,IAAF,CAAO,SAAOx/B,CAAP,GAAS,6GAAhB,CAAd,EAA6IwoE,EAAE,CAACuD,iBAAH,CAAqBpmE,IAArB,CAA0B6iE,EAA1B,EAA6BxoE,CAA7B,EAA+B2mC,CAA/B,CAA7I;AAA+K,GAA1pB,EAA2pBimE,EAAE,CAAC5mB,OAAH,GAAWnD,EAAE,CAACmD,OAAzqB,EAAirB4mB,EAAE,CAAC/mB,YAAH,GAAgBhD,EAAE,CAACgD,YAApsB,EAAitB+mB,EAAE,CAACQ,GAAH,GAAO,UAASptG,CAAT,EAAW2mC,CAAX,EAAa;AAACsgD,MAAE,CAACjnF,CAAD,CAAF,GAAMinF,EAAE,CAACjnF,CAAD,CAAF,IAAO,EAAb,EAAgBinF,EAAE,CAACjnF,CAAD,CAAF,CAAMuD,IAAN,CAAWojC,CAAX,CAAhB;AAA8B,GAApwB,EAAqwBngC,MAAM,CAAC06B,cAAP,CAAsB0rE,EAAtB,EAAyB,YAAzB,EAAsC;AAACvnF,SAAK,EAAC,EAAP;AAAUgoF,aAAS,EAAC,CAAC,CAArB;AAAuBzkE,cAAU,EAAC,CAAC;AAAnC,GAAtC,CAArwB,EAAk1BpiC,MAAM,CAAC06B,cAAP,CAAsB0rE,EAAE,CAACU,UAAzB,EAAoC,YAApC,EAAiD;AAACjoF,SAAK,EAAC8hE,EAAP;AAAUkmB,aAAS,EAAC,CAAC,CAArB;AAAuBzkE,cAAU,EAAC,CAAC;AAAnC,GAAjD,CAAl1B,EAA06BgkE,EAAE,CAACW,OAAH,GAAWt/B,EAAr7B,EAAw7B2+B,EAAE,CAAC99B,aAAH,GAAiBpB,EAAz8B,EAA48Bk/B,EAAE,CAACr9F,MAAH,GAAU,UAASvP,CAAT,EAAW2mC,CAAX,EAAa;AAAC,SAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf;;AAAmB,QAAI5lC,CAAC,GAAC,aAAU;AAACf,OAAC,CAAC0F,KAAF,CAAQ,IAAR,EAAawjB,SAAb;AAAwB,KAAzC;AAAA,QAA0CoR,CAAC,GAAC,EAA5C;;AAA+C,SAAI,IAAIwmC,CAAR,IAAY,oBAAiBn6B,CAAjB,KAAoBA,CAAC,CAACne,WAAF,KAAgBhiB,MAAM,CAACuT,SAAP,CAAiByO,WAAjC,KAA+CznB,CAAC,GAAC4lC,CAAC,CAACne,WAAnD,GAAgE8R,CAAC,GAACqM,CAAtF,IAAyF,cAAY,OAAOA,CAAnB,KAAuB5lC,CAAC,GAAC4lC,CAAzB,CAAzF,EAAqH+lE,EAAE,CAAC3rG,CAAD,EAAGf,CAAH,CAAvH,EAA6HA,CAAC,KAAGe,CAAC,CAACysG,MAAF,GAASxtG,CAAZ,CAA9H,EAA6Is6B,CAAzJ;AAA2JA,OAAC,CAAC5nB,cAAF,CAAiBouD,CAAjB,MAAsB//D,CAAC,CAACgZ,SAAF,CAAY+mD,CAAZ,IAAexmC,CAAC,CAACwmC,CAAD,CAAtC;AAA3J;;AAAsM,WAAO//D,CAAP;AAAS,GAArvC,EAAsvC6rG,EAAE,CAACa,YAAH,GAAgBllC,EAAtwC,EAAywCqkC,EAAE,CAACrwF,IAAH,GAAQiqD,EAAjxC,EAAoxComC,EAAE,CAACT,cAAH,GAAkBH,EAAE,CAACG,cAAzyC,EAAwzCS,EAAE,CAACR,gBAAH,GAAoBJ,EAAE,CAACI,gBAA/0C,EAAg2CQ,EAAE,CAACtB,MAAH,GAAU,UAAStrG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAOyM,CAAC,CAAC5T,IAAF,CAAO,sEAAP,GAA+EwsE,EAAE,CAACG,cAAH,CAAkBnsG,CAAlB,EAAoB2mC,CAApB,CAAtF;AAA6G,GAAr+C,EAAs+CimE,EAAE,CAACP,UAAH,GAAcL,EAAE,CAACK,UAAv/C,EAAkgDO,EAAE,CAACL,SAAH,GAAaP,EAAE,CAACO,SAAlhD,EAA4hDK,EAAE,CAACN,gBAAH,GAAoBN,EAAE,CAACM,gBAAnjD,EAAokDM,EAAE,CAACc,WAAH,GAAe,UAAS1tG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAJ;AAAM,WAAOf,CAAC,GAAC,CAAC,KAAGA,CAAJ,EAAOqkB,WAAP,EAAF,EAAuBuoF,EAAE,CAAC7wF,OAAH,CAAWkuD,SAAX,GAAqB1B,EAAE,CAACqkC,EAAE,CAAC7wF,OAAH,CAAWkuD,SAAZ,GAAuB,CAAClpE,CAAC,GAAC,EAAH,EAAOf,CAAP,IAAU2mC,CAAV,EAAY5lC,CAAnC,EAA9C,EAAqF6rG,EAAE,CAAC7wF,OAAH,CAAWkuD,SAAX,CAAqBjqE,CAArB,CAA5F;AAAoH,GAA3tD,EAA4tD4sG,EAAE,CAACtuF,GAAH,GAAO80B,CAAnuD,EAAquDw5D,EAAE,CAAC7rC,YAAH,GAAgBO,CAArvD,EAAuvDsrC,EAAE,CAACe,eAAH,GAAmBf,EAAE,CAACgB,gBAAH,GAAoBx+B,EAA9xD,EAAiyDw9B,EAAE,CAACiB,UAAH,GAAcrgB,EAA/yD,EAAkzDof,EAAE,CAACkB,aAAH,GAAiB,UAAS9tG,CAAT,EAAW;AAACutF,MAAE,GAACvtF,CAAH;AAAK,GAAp1D,EAAq1D4sG,EAAE,CAACmB,eAAH,GAAmB,YAAU;AAACxgB,MAAE,GAACD,EAAH;AAAM,GAAz3D,EAA03Dsf,EAAE,CAAC10B,QAAH,GAAY1C,EAAt4D,EAAy4Do3B,EAAE,CAACv0B,aAAH,GAAiB1C,EAA15D,EAA65Di3B,EAAE,CAACoB,WAAH,GAAetnC,EAA56D,EAA+6DkmC,EAAE,CAACvqG,EAAH,GAAM8jE,EAAr7D,EAAw7DymC,EAAE,CAACrrF,GAAH,GAAO+kD,EAA/7D,EAAk8DsmC,EAAE,CAACxqG,GAAH,GAAOgkE,EAAz8D,EAA48DwmC,EAAE,CAACrnG,OAAH,GAAW8gE,EAAv9D,EAA09DumC,EAAE,CAAC9sD,GAAH,GAAO64B,EAAj+D,EAAo+Di0B,EAAE,CAACqB,SAAH,GAAazzB,EAAj/D,EAAo/DoyB,EAAE,CAACsB,UAAH,GAAc9yB,EAAlgE,EAAqgEwxB,EAAE,CAACuB,UAAH,GAAc9yB,EAAnhE,EAAshE,CAAC,MAAD,EAAQ,YAAR,EAAqB,UAArB,EAAgC,UAAhC,EAA2C,UAA3C,EAAsD,aAAtD,EAAoE,aAApE,EAAkF,eAAlF,EAAkG,eAAlG,EAAkH,SAAlH,EAA4H,eAA5H,EAA4I,eAA5I,EAA6JtyE,OAA7J,CAAqK,UAAS/I,CAAT,EAAW;AAAC4sG,MAAE,CAAC5sG,CAAD,CAAF,GAAM,YAAU;AAAC,aAAOozC,CAAC,CAAC5T,IAAF,CAAO,aAAWx/B,CAAX,GAAa,oCAAb,GAAkDA,CAAlD,GAAoD,YAA3D,GAAyEwjE,CAAC,CAACxjE,CAAD,CAAD,CAAK0F,KAAL,CAAW,IAAX,EAAgBwjB,SAAhB,CAAhF;AAA2G,KAA5H;AAA6H,GAA9S,CAAthE,EAAs0E0jF,EAAE,CAACwB,aAAH,GAAiB9zE,CAAv1E,EAAy1EsyE,EAAE,CAACyB,GAAH,GAAO7qC,CAAh2E,EAAk2EopC,EAAE,CAAClsG,GAAH,GAAOu3E,EAAz2E,EAA42E20B,EAAE,CAAC0B,kBAAH,GAAsBjR,EAAl4E;AAAq4E,MAAIkR,EAAE,GAAC5nE,CAAC,CAAC,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAJ,EAAMygE,CAAN,EAAQlnC,CAAR,EAAUwmC,CAAV,EAAYL,CAAZ;AAAc1/D,KAAC,GAAC,wFAAF,EAA2FygE,CAAC,GAAC,kBAA7F,EAAgHlnC,CAAC,GAAC,mBAAlH,EAAsIwmC,CAAC,GAAC,oCAAxI,EAA6KL,CAAC,GAAC;AAAC+tC,sBAAgB,EAAC,0BAASxuG,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAGA,CAAC,GAACA,CAAC,IAAE,EAAL,EAAQf,CAAC,GAACA,CAAC,CAAC6jD,IAAF,EAAV,EAAmB,EAAEld,CAAC,GAACA,CAAC,CAACkd,IAAF,EAAJ,CAAtB,EAAoC;AAAC,cAAG,CAAC9iD,CAAC,CAAC0tG,eAAN,EAAsB,OAAOzuG,CAAP;AAAS,cAAIs6B,CAAC,GAACmmC,CAAC,CAACiuC,QAAF,CAAW1uG,CAAX,CAAN;AAAoB,cAAG,CAACs6B,CAAJ,EAAM,MAAM,IAAIpnB,KAAJ,CAAU,iCAAV,CAAN;AAAmD,iBAAOonB,CAAC,CAACq0E,IAAF,GAAOluC,CAAC,CAACmuC,aAAF,CAAgBt0E,CAAC,CAACq0E,IAAlB,CAAP,EAA+BluC,CAAC,CAACouC,iBAAF,CAAoBv0E,CAApB,CAAtC;AAA6D;;AAAA,YAAIwmC,CAAC,GAACL,CAAC,CAACiuC,QAAF,CAAW/nE,CAAX,CAAN;AAAoB,YAAG,CAACm6B,CAAJ,EAAM,MAAM,IAAI5tD,KAAJ,CAAU,qCAAV,CAAN;AAAuD,YAAG4tD,CAAC,CAACguC,MAAL,EAAY,OAAO/tG,CAAC,CAAC0tG,eAAF,IAAmB3tC,CAAC,CAAC6tC,IAAF,GAAOluC,CAAC,CAACmuC,aAAF,CAAgB9tC,CAAC,CAAC6tC,IAAlB,CAAP,EAA+BluC,CAAC,CAACouC,iBAAF,CAAoB/tC,CAApB,CAAlD,IAA0En6B,CAAjF;AAAmF,YAAIjiB,CAAC,GAAC+7C,CAAC,CAACiuC,QAAF,CAAW1uG,CAAX,CAAN;AAAoB,YAAG,CAAC0kB,CAAJ,EAAM,MAAM,IAAIxR,KAAJ,CAAU,iCAAV,CAAN;;AAAmD,YAAG,CAACwR,CAAC,CAACqqF,MAAH,IAAWrqF,CAAC,CAACiqF,IAAb,IAAmB,QAAMjqF,CAAC,CAACiqF,IAAF,CAAO,CAAP,CAA5B,EAAsC;AAAC,cAAIvzF,CAAC,GAAComD,CAAC,CAACjkD,IAAF,CAAOmH,CAAC,CAACiqF,IAAT,CAAN;AAAqBjqF,WAAC,CAACqqF,MAAF,GAAS3zF,CAAC,CAAC,CAAD,CAAV,EAAcsJ,CAAC,CAACiqF,IAAF,GAAOvzF,CAAC,CAAC,CAAD,CAAtB;AAA0B;;AAAAsJ,SAAC,CAACqqF,MAAF,IAAU,CAACrqF,CAAC,CAACiqF,IAAb,KAAoBjqF,CAAC,CAACiqF,IAAF,GAAO,GAA3B;AAAgC,YAAIhuC,CAAC,GAAC;AAACmuC,gBAAM,EAACpqF,CAAC,CAACoqF,MAAV;AAAiBC,gBAAM,EAACjuC,CAAC,CAACiuC,MAA1B;AAAiCJ,cAAI,EAAC,IAAtC;AAA2C9rG,gBAAM,EAACi+D,CAAC,CAACj+D,MAApD;AAA2DmsG,eAAK,EAACluC,CAAC,CAACkuC,KAAnE;AAAyE7qE,kBAAQ,EAAC28B,CAAC,CAAC38B;AAApF,SAAN;AAAoG,YAAG,CAAC28B,CAAC,CAACiuC,MAAH,KAAYpuC,CAAC,CAACouC,MAAF,GAASrqF,CAAC,CAACqqF,MAAX,EAAkB,QAAMjuC,CAAC,CAAC6tC,IAAF,CAAO,CAAP,CAApC,CAAH,EAAkD,IAAG7tC,CAAC,CAAC6tC,IAAL,EAAU;AAAC,cAAI/tC,CAAC,GAACl8C,CAAC,CAACiqF,IAAR;AAAA,cAAavzE,CAAC,GAACwlC,CAAC,CAACzK,SAAF,CAAY,CAAZ,EAAcyK,CAAC,CAACquC,WAAF,CAAc,GAAd,IAAmB,CAAjC,IAAoCnuC,CAAC,CAAC6tC,IAArD;AAA0DhuC,WAAC,CAACguC,IAAF,GAAOluC,CAAC,CAACmuC,aAAF,CAAgBxzE,CAAhB,CAAP;AAA0B,SAA/F,MAAoGulC,CAAC,CAACguC,IAAF,GAAOjqF,CAAC,CAACiqF,IAAT,EAAc7tC,CAAC,CAACj+D,MAAF,KAAW89D,CAAC,CAAC99D,MAAF,GAAS6hB,CAAC,CAAC7hB,MAAX,EAAkBi+D,CAAC,CAACkuC,KAAF,KAAUruC,CAAC,CAACquC,KAAF,GAAQtqF,CAAC,CAACsqF,KAApB,CAA7B,CAAd;AAAuE,eAAO,SAAOruC,CAAC,CAACguC,IAAT,KAAgBhuC,CAAC,CAACguC,IAAF,GAAO5tG,CAAC,CAAC0tG,eAAF,GAAkBhuC,CAAC,CAACmuC,aAAF,CAAgB9tC,CAAC,CAAC6tC,IAAlB,CAAlB,GAA0C7tC,CAAC,CAAC6tC,IAAnE,GAAyEluC,CAAC,CAACouC,iBAAF,CAAoBluC,CAApB,CAAhF;AAAuG,OAA3gC;AAA4gC+tC,cAAQ,EAAC,kBAAS1uG,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC5lC,CAAC,CAACwc,IAAF,CAAOvd,CAAP,CAAN;AAAgB,eAAO2mC,CAAC,GAAC;AAACmoE,gBAAM,EAACnoE,CAAC,CAAC,CAAD,CAAD,IAAM,EAAd;AAAiBooE,gBAAM,EAACpoE,CAAC,CAAC,CAAD,CAAD,IAAM,EAA9B;AAAiCgoE,cAAI,EAAChoE,CAAC,CAAC,CAAD,CAAD,IAAM,EAA5C;AAA+C9jC,gBAAM,EAAC8jC,CAAC,CAAC,CAAD,CAAD,IAAM,EAA5D;AAA+DqoE,eAAK,EAACroE,CAAC,CAAC,CAAD,CAAD,IAAM,EAA3E;AAA8ExC,kBAAQ,EAACwC,CAAC,CAAC,CAAD,CAAD,IAAM;AAA7F,SAAD,GAAkG,IAA1G;AAA+G,OAAhqC;AAAiqCioE,mBAAa,EAAC,uBAAS5uG,CAAT,EAAW;AAAC,aAAIA,CAAC,GAACA,CAAC,CAACmrB,KAAF,CAAQ,EAAR,EAAY4Q,OAAZ,GAAsB5L,IAAtB,CAA2B,EAA3B,EAA+B9rB,OAA/B,CAAuCi2B,CAAvC,EAAyC,EAAzC,CAAN,EAAmDt6B,CAAC,CAACkD,MAAF,KAAW,CAAClD,CAAC,GAACA,CAAC,CAACqE,OAAF,CAAUy8D,CAAV,EAAY,EAAZ,CAAH,EAAoB59D,MAAlF;AAA0F;AAA1F;;AAA2F,eAAOlD,CAAC,CAACmrB,KAAF,CAAQ,EAAR,EAAY4Q,OAAZ,GAAsB5L,IAAtB,CAA2B,EAA3B,CAAP;AAAsC,OAA5zC;AAA6zC0+E,uBAAiB,EAAC,2BAAS7uG,CAAT,EAAW;AAAC,eAAOA,CAAC,CAAC8uG,MAAF,GAAS9uG,CAAC,CAAC+uG,MAAX,GAAkB/uG,CAAC,CAAC2uG,IAApB,GAAyB3uG,CAAC,CAAC6C,MAA3B,GAAkC7C,CAAC,CAACgvG,KAApC,GAA0ChvG,CAAC,CAACmkC,QAAnD;AAA4D;AAAv5C,KAA/K,EAAwkDnkC,CAAC,CAACF,OAAF,GAAU2gE,CAAllD;AAAolD,GAAjnD,CAAR;AAC5w1K;;AAA2D,WAASyuC,EAAT,GAAa;AAAC,WAAM,CAACA,EAAE,GAAC1oG,MAAM,CAAC+6D,MAAP,IAAe,UAASvhE,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACzd,SAAS,CAAChmB,MAAxB,EAA+ByjC,CAAC,EAAhC,EAAmC;AAAC,YAAI5lC,CAAC,GAACmoB,SAAS,CAACyd,CAAD,CAAf;;AAAmB,aAAI,IAAIrM,CAAR,IAAav5B,CAAb;AAAeyF,gBAAM,CAACuT,SAAP,CAAiBrH,cAAjB,CAAgC/M,IAAhC,CAAqC5E,CAArC,EAAuCu5B,CAAvC,MAA4Ct6B,CAAC,CAACs6B,CAAD,CAAD,GAAKv5B,CAAC,CAACu5B,CAAD,CAAlD;AAAf;AAAsE;;AAAA,aAAOt6B,CAAP;AAAS,KAArK,EAAuK0F,KAAvK,CAA6K,IAA7K,EAAkLwjB,SAAlL,CAAN;AAAmM;;AAAA,WAASimF,EAAT,CAAYnvG,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC3mC,KAAC,CAAC+Z,SAAF,GAAYvT,MAAM,CAACgW,MAAP,CAAcmqB,CAAC,CAAC5sB,SAAhB,CAAZ,EAAuC,CAAC/Z,CAAC,CAAC+Z,SAAF,CAAYyO,WAAZ,GAAwBxoB,CAAzB,EAA4ByjE,SAA5B,GAAsC98B,CAA7E;AAA+E;;AAAA,WAASyoE,EAAT,CAAYpvG,CAAZ,EAAc;AAAC,SAAI,IAAI2mC,CAAJ,EAAM5lC,CAAC,GAACf,CAAC,CAACmrB,KAAF,CAAQ,IAAIkC,MAAJ,CAAW,sCAAX,CAAR,CAAR,EAAoEiN,CAAC,GAAC,EAAtE,EAAyEwmC,CAAC,GAAC//D,CAAC,CAACmC,MAAjF,EAAwF49D,CAAC,EAAzF;AAA6F,aAAK//D,CAAC,CAAC+/D,CAAD,CAAN,KAAY,CAACn6B,CAAC,GAAC,eAAeppB,IAAf,CAAoBxc,CAAC,CAAC+/D,CAAD,CAArB,EAA0BnmD,KAA1B,CAAgC,CAAhC,CAAH,EAAuC,CAAvC,IAA0CgsB,CAAC,CAAC,CAAD,CAAD,CAAKtiC,OAAL,CAAa,YAAb,EAA0B,EAA1B,CAA1C,EAAwEsiC,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAD,CAAKtiC,OAAL,CAAa,YAAb,EAA0B,EAA1B,CAA7E,EAA2GsiC,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAD,CAAKtiC,OAAL,CAAa,iBAAb,EAA+B,IAA/B,CAAhH,EAAqJi2B,CAAC,CAACqM,CAAC,CAAC,CAAD,CAAF,CAAD,GAAQA,CAAC,CAAC,CAAD,CAA1K;AAA7F;;AAA4Q,WAAOrM,CAAP;AAAS;;AAAA,MAAI+0E,EAAE,GAAC,YAAU;AAAC,aAASrvG,CAAT,GAAY;AAAC,WAAKma,SAAL,GAAe,EAAf;AAAkB;;AAAA,QAAIwsB,CAAC,GAAC3mC,CAAC,CAAC+Z,SAAR;AAAkB,WAAO4sB,CAAC,CAACtkC,EAAF,GAAK,UAASrC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAKxsB,SAAL,CAAena,CAAf,MAAoB,KAAKma,SAAL,CAAena,CAAf,IAAkB,EAAtC,GAA0C,KAAKma,SAAL,CAAena,CAAf,EAAkBuD,IAAlB,CAAuBojC,CAAvB,CAA1C;AAAoE,KAAvF,EAAwFA,CAAC,CAACvkC,GAAF,GAAM,UAASpC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,CAAC,KAAKxsB,SAAL,CAAena,CAAf,CAAJ,EAAsB,OAAM,CAAC,CAAP;AAAS,UAAIe,CAAC,GAAC,KAAKoZ,SAAL,CAAena,CAAf,EAAkBmB,OAAlB,CAA0BwlC,CAA1B,CAAN;AAAmC,aAAO,KAAKxsB,SAAL,CAAena,CAAf,EAAkBwa,MAAlB,CAAyBzZ,CAAzB,EAA2B,CAA3B,GAA8B,CAAC,CAAD,GAAGA,CAAxC;AAA0C,KAAxN,EAAyN4lC,CAAC,CAACphC,OAAF,GAAU,UAASvF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAJ;AAAA,UAAMu5B,CAAN;AAAA,UAAQwmC,CAAR;AAAA,UAAUp8C,CAAC,GAAC,KAAKvK,SAAL,CAAena,CAAf,CAAZ;AAA8B,UAAG0kB,CAAH,EAAK,IAAG,MAAIwE,SAAS,CAAChmB,MAAjB,EAAwB,KAAIo3B,CAAC,GAAC5V,CAAC,CAACxhB,MAAJ,EAAWnC,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAACu5B,CAArB,EAAuB,EAAEv5B,CAAzB;AAA2B2jB,SAAC,CAAC3jB,CAAD,CAAD,CAAK4E,IAAL,CAAU,IAAV,EAAeghC,CAAf;AAA3B,OAAxB,MAA0E,KAAIm6B,CAAC,GAACtlD,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2BujB,SAA3B,EAAqC,CAArC,CAAF,EAA0CoR,CAAC,GAAC5V,CAAC,CAACxhB,MAA9C,EAAqDnC,CAAC,GAAC,CAA3D,EAA6DA,CAAC,GAACu5B,CAA/D,EAAiE,EAAEv5B,CAAnE;AAAqE2jB,SAAC,CAAC3jB,CAAD,CAAD,CAAK2E,KAAL,CAAW,IAAX,EAAgBo7D,CAAhB;AAArE;AAAwF,KAAtb,EAAubn6B,CAAC,CAACl1B,OAAF,GAAU,YAAU;AAAC,WAAK0I,SAAL,GAAe,EAAf;AAAkB,KAA9d,EAA+dwsB,CAAC,CAAChJ,IAAF,GAAO,UAASgJ,CAAT,EAAW;AAAC,WAAKtkC,EAAL,CAAQ,MAAR,EAAe,UAASrC,CAAT,EAAW;AAAC2mC,SAAC,CAACpjC,IAAF,CAAOvD,CAAP;AAAU,OAArC;AAAuC,KAAzhB,EAA0hBA,CAAjiB;AAAmiB,GAA/lB,EAAP;AAAA,MAAymBsvG,EAAE,GAAC,UAAS3oE,CAAT,EAAW;AAAC,aAAS3mC,CAAT,GAAY;AAAC,UAAIA,CAAJ;AAAM,aAAM,CAACA,CAAC,GAAC2mC,CAAC,CAAChhC,IAAF,CAAO,IAAP,KAAc,IAAjB,EAAuBgG,MAAvB,GAA8B,EAA9B,EAAiC3L,CAAvC;AAAyC;;AAAA,WAAOmvG,EAAE,CAACnvG,CAAD,EAAG2mC,CAAH,CAAF,EAAQ3mC,CAAC,CAAC+Z,SAAF,CAAYxW,IAAZ,GAAiB,UAASvD,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;;AAAM,WAAI,KAAKh7B,MAAL,IAAa3L,CAAb,EAAe2mC,CAAC,GAAC,KAAKh7B,MAAL,CAAYxK,OAAZ,CAAoB,IAApB,CAArB,EAA+C,CAAC,CAAD,GAAGwlC,CAAlD,EAAoDA,CAAC,GAAC,KAAKh7B,MAAL,CAAYxK,OAAZ,CAAoB,IAApB,CAAtD;AAAgF,aAAKoE,OAAL,CAAa,MAAb,EAAoB,KAAKoG,MAAL,CAAYwqD,SAAZ,CAAsB,CAAtB,EAAwBxvB,CAAxB,CAApB,GAAgD,KAAKh7B,MAAL,GAAY,KAAKA,MAAL,CAAYwqD,SAAZ,CAAsBxvB,CAAC,GAAC,CAAxB,CAA5D;AAAhF;AAAuK,KAAlN,EAAmN3mC,CAA1N;AAA4N,GAApS,CAAqSqvG,EAArS,CAA5mB;AAAA,MAAq5BE,EAAE,GAAC,UAAS5oE,CAAT,EAAW;AAAC,aAAS3mC,CAAT,GAAY;AAAC,UAAIA,CAAJ;AAAM,aAAM,CAACA,CAAC,GAAC2mC,CAAC,CAAChhC,IAAF,CAAO,IAAP,KAAc,IAAjB,EAAuB6pG,aAAvB,GAAqC,EAArC,EAAwCxvG,CAAC,CAACyvG,UAAF,GAAa,EAArD,EAAwDzvG,CAA9D;AAAgE;;AAAAmvG,MAAE,CAACnvG,CAAD,EAAG2mC,CAAH,CAAF;AAAQ,QAAI5lC,CAAC,GAACf,CAAC,CAAC+Z,SAAR;AAAkB,WAAOhZ,CAAC,CAACwC,IAAF,GAAO,UAAS+2B,CAAT,EAAW;AAAC,UAAIsmC,CAAJ;AAAA,UAAMxlC,CAAN;AAAA,UAAQomC,CAAC,GAAC,IAAV;AAAe,YAAI,CAAClnC,CAAC,GAACA,CAAC,CAACupB,IAAF,EAAH,EAAa3gD,MAAjB,KAA0B,QAAMo3B,CAAC,CAAC,CAAD,CAAP,GAAW,KAAKm1E,UAAL,CAAgBllC,MAAhB,CAAuB,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC4lC,CAAC,CAACrM,CAAD,CAAP;AAAW,eAAOv5B,CAAC,KAAGu5B,CAAJ,GAAMt6B,CAAN,GAAQA,CAAC,CAAC+mB,MAAF,CAAS,CAAChmB,CAAD,CAAT,CAAf;AAA6B,OAA7E,EAA8E,CAACu5B,CAAD,CAA9E,EAAmFvxB,OAAnF,CAA2F,UAAS/I,CAAT,EAAW;AAAC,aAAI,IAAI2mC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC66B,CAAC,CAACguC,aAAF,CAAgBtsG,MAA9B,EAAqCyjC,CAAC,EAAtC;AAAyC,cAAG66B,CAAC,CAACguC,aAAF,CAAgB7oE,CAAhB,EAAmBhhC,IAAnB,CAAwB67D,CAAxB,EAA0BxhE,CAA1B,CAAH,EAAgC;AAAzE;;AAAgF,YAAG,MAAIA,CAAC,CAACmB,OAAF,CAAU,MAAV,CAAP;AAAyB,cAAGnB,CAAC,GAACA,CAAC,CAACqE,OAAF,CAAU,IAAV,EAAe,EAAf,CAAF,EAAqBu8D,CAAC,GAAC,WAAWrjD,IAAX,CAAgBvd,CAAhB,CAA1B,EAA6CwhE,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB;AAACgL,gBAAI,EAAC,KAAN;AAAYm/F,mBAAO,EAAC;AAApB,WAAjB,EAA7C,KAA8F;AAAC,gBAAG9uC,CAAC,GAAC,gCAAgCrjD,IAAhC,CAAqCvd,CAArC,CAAL,EAA6C,OAAOo7B,CAAC,GAAC;AAAC7qB,kBAAI,EAAC,KAAN;AAAYm/F,qBAAO,EAAC;AAApB,aAAF,EAA6B9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAAC9b,QAAF,GAAW2D,UAAU,CAAC29C,CAAC,CAAC,CAAD,CAAF,CAA5B,CAA7B,EAAiEA,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAACm3C,KAAF,GAAQ3R,CAAC,CAAC,CAAD,CAAhB,CAAjE,EAAsF,KAAKY,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAAlG;AAAsH,gBAAGwlC,CAAC,GAAC,qCAAqCrjD,IAArC,CAA0Cvd,CAA1C,CAAL,EAAkD,OAAOo7B,CAAC,GAAC;AAAC7qB,kBAAI,EAAC,KAAN;AAAYm/F,qBAAO,EAAC;AAApB,aAAF,EAAwC9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAAC9b,QAAF,GAAW5Y,QAAQ,CAACk6D,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAA1B,CAAxC,EAA6E,KAAKY,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAAzF;AAA6G,gBAAGwlC,CAAC,GAAC,mCAAmCrjD,IAAnC,CAAwCvd,CAAxC,CAAL,EAAgD,OAAOo7B,CAAC,GAAC;AAAC7qB,kBAAI,EAAC,KAAN;AAAYm/F,qBAAO,EAAC;AAApB,aAAF,EAAuC9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAAC9b,QAAF,GAAW5Y,QAAQ,CAACk6D,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAA1B,CAAvC,EAA4E,KAAKY,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAAxF;AAA4G,gBAAGwlC,CAAC,GAAC,8BAA8BrjD,IAA9B,CAAmCvd,CAAnC,CAAL,EAA2C,OAAOo7B,CAAC,GAAC;AAAC7qB,kBAAI,EAAC,KAAN;AAAYm/F,qBAAO,EAAC;AAApB,aAAF,EAAiC9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAAC/S,OAAF,GAAU3hB,QAAQ,CAACk6D,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAzB,CAAjC,EAAqE,KAAKY,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAAjF;AAAqG,gBAAGwlC,CAAC,GAAC,wCAAwCrjD,IAAxC,CAA6Cvd,CAA7C,CAAL,EAAqD,OAAOo7B,CAAC,GAAC;AAAC7qB,kBAAI,EAAC,KAAN;AAAYm/F,qBAAO,EAAC;AAApB,aAAF,EAAwC9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAAC+iC,MAAF,GAASz3D,QAAQ,CAACk6D,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAxB,CAAxC,EAA2E,KAAKY,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAAvF;AAA2G,gBAAGwlC,CAAC,GAAC,gDAAgDrjD,IAAhD,CAAqDvd,CAArD,CAAL,EAA6D,OAAOo7B,CAAC,GAAC;AAAC7qB,kBAAI,EAAC,KAAN;AAAYm/F,qBAAO,EAAC;AAApB,aAAF,EAAgD9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAAC+iC,MAAF,GAASz3D,QAAQ,CAACk6D,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAxB,CAAhD,EAAmF,KAAKY,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAA/F;AAAmH,gBAAGwlC,CAAC,GAAC,gCAAgCrjD,IAAhC,CAAqCvd,CAArC,CAAL,EAA6C,OAAOo7B,CAAC,GAAC;AAAC7qB,kBAAI,EAAC,KAAN;AAAYm/F,qBAAO,EAAC;AAApB,aAAF,EAAuC9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAACu0E,YAAF,GAAe/uC,CAAC,CAAC,CAAD,CAAvB,CAAvC,EAAmE,KAAKY,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAA/E;AAAmG,gBAAGwlC,CAAC,GAAC,4CAA4CrjD,IAA5C,CAAiDvd,CAAjD,CAAL,EAAyD,OAAOo7B,CAAC,GAAC;AAAC7qB,kBAAI,EAAC,KAAN;AAAYm/F,qBAAO,EAAC;AAApB,aAAF,EAAmC9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAACl4B,MAAF,GAASwD,QAAQ,CAACk6D,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAxB,CAAnC,EAAsEA,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAACpnB,MAAF,GAAStN,QAAQ,CAACk6D,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAxB,CAAtE,EAAyG,KAAKY,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAArH;AAAyI,gBAAGwlC,CAAC,GAAC,iCAAiCrjD,IAAjC,CAAsCvd,CAAtC,CAAL,EAA8C,OAAOo7B,CAAC,GAAC;AAAC7qB,kBAAI,EAAC,KAAN;AAAYm/F,qBAAO,EAAC;AAApB,aAAF,EAAqC9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAACw0E,OAAF,GAAU,CAAC,KAAKj6F,IAAL,CAAUirD,CAAC,CAAC,CAAD,CAAX,CAAlB,CAArC,EAAwE,KAAKY,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAApF;;AAAwG,gBAAGwlC,CAAC,GAAC,qBAAqBrjD,IAArB,CAA0Bvd,CAA1B,CAAL,EAAkC;AAAC,kBAAGo7B,CAAC,GAAC;AAAC7qB,oBAAI,EAAC,KAAN;AAAYm/F,uBAAO,EAAC;AAApB,eAAF,EAA6B9uC,CAAC,CAAC,CAAD,CAAjC,EAAqC;AAAC,oBAAI7/D,CAAC,GAACquG,EAAE,CAACxuC,CAAC,CAAC,CAAD,CAAF,CAAR;;AAAe,oBAAG7/D,CAAC,CAAC8uG,GAAF,KAAQz0E,CAAC,CAAC29C,GAAF,GAAMh4E,CAAC,CAAC8uG,GAAhB,GAAqB9uG,CAAC,CAAC+uG,SAA1B,EAAoC;AAAC,sBAAIx1E,CAAC,GAACv5B,CAAC,CAAC+uG,SAAF,CAAY3kF,KAAZ,CAAkB,GAAlB,CAAN;AAAA,sBAA6B21C,CAAC,GAACxmC,CAAC,CAAC,CAAD,CAAhC;AAAA,sBAAoC5V,CAAC,GAAC4V,CAAC,CAAC,CAAD,CAAvC;AAA2Cc,mBAAC,CAAC20E,SAAF,GAAY,EAAZ,EAAejvC,CAAC,KAAG1lC,CAAC,CAAC20E,SAAF,CAAY7sG,MAAZ,GAAmBwD,QAAQ,CAACo6D,CAAD,EAAG,EAAH,CAA9B,CAAhB,EAAsDp8C,CAAC,KAAG0W,CAAC,CAAC20E,SAAF,CAAY/7F,MAAZ,GAAmBtN,QAAQ,CAACge,CAAD,EAAG,EAAH,CAA9B,CAAvD;AAA6F;AAAC;;AAAA88C,eAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB;AAAoB,aAA1R,MAA+R,IAAGwlC,CAAC,GAAC,4BAA4BrjD,IAA5B,CAAiCvd,CAAjC,CAAL,EAAyC;AAAC,kBAAGo7B,CAAC,GAAC;AAAC7qB,oBAAI,EAAC,KAAN;AAAYm/F,uBAAO,EAAC;AAApB,eAAF,EAAoC9uC,CAAC,CAAC,CAAD,CAAxC,EAA4C;AAAC,oBAAGxlC,CAAC,CAAC70B,UAAF,GAAa6oG,EAAE,CAACxuC,CAAC,CAAC,CAAD,CAAF,CAAf,EAAsBxlC,CAAC,CAAC70B,UAAF,CAAaypG,UAAtC,EAAiD;AAAC,sBAAI50F,CAAC,GAACggB,CAAC,CAAC70B,UAAF,CAAaypG,UAAb,CAAwB7kF,KAAxB,CAA8B,GAA9B,CAAN;AAAA,sBAAyCw1C,CAAC,GAAC,EAA3C;AAA8CvlD,mBAAC,CAAC,CAAD,CAAD,KAAOulD,CAAC,CAAC3vD,KAAF,GAAQtK,QAAQ,CAAC0U,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAvB,GAAkCA,CAAC,CAAC,CAAD,CAAD,KAAOulD,CAAC,CAAC5vD,MAAF,GAASrK,QAAQ,CAAC0U,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAxB,CAAlC,EAAqEggB,CAAC,CAAC70B,UAAF,CAAaypG,UAAb,GAAwBrvC,CAA7F;AAA+F;;AAAAvlC,iBAAC,CAAC70B,UAAF,CAAa0pG,SAAb,KAAyB70E,CAAC,CAAC70B,UAAF,CAAa0pG,SAAb,GAAuBvpG,QAAQ,CAAC00B,CAAC,CAAC70B,UAAF,CAAa0pG,SAAd,EAAwB,EAAxB,CAAxD,GAAqF70E,CAAC,CAAC70B,UAAF,CAAa,YAAb,MAA6B60B,CAAC,CAAC70B,UAAF,CAAa,YAAb,IAA2BG,QAAQ,CAAC00B,CAAC,CAAC70B,UAAF,CAAa,YAAb,CAAD,EAA4B,EAA5B,CAAhE,CAArF;AAAsL;;AAAAi7D,eAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB;AAAoB,aAAhe,MAAoe;AAAC,kBAAGwlC,CAAC,GAAC,uBAAuBrjD,IAAvB,CAA4Bvd,CAA5B,CAAL,EAAoC,OAAOo7B,CAAC,GAAC;AAAC7qB,oBAAI,EAAC,KAAN;AAAYm/F,uBAAO,EAAC;AAApB,eAAF,EAA+B9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAAC70B,UAAF,GAAa6oG,EAAE,CAACxuC,CAAC,CAAC,CAAD,CAAF,CAAtB,CAA/B,EAA6D,KAAKY,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAAzE;AAA6F,kBAAGwlC,CAAC,GAAC,kBAAkBrjD,IAAlB,CAAuBvd,CAAvB,CAAL,EAA+BwhE,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB;AAACgL,oBAAI,EAAC,KAAN;AAAYm/F,uBAAO,EAAC;AAApB,eAAjB,EAA/B,KAAqF,IAAG9uC,CAAC,GAAC,wBAAwBrjD,IAAxB,CAA6Bvd,CAA7B,CAAL,EAAqCwhE,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB;AAACgL,oBAAI,EAAC,KAAN;AAAYm/F,uBAAO,EAAC;AAApB,eAAjB,EAArC,KAAgG;AAAC,oBAAG9uC,CAAC,GAAC,mCAAmCrjD,IAAnC,CAAwCvd,CAAxC,CAAL,EAAgD,OAAOo7B,CAAC,GAAC;AAAC7qB,sBAAI,EAAC,KAAN;AAAYm/F,yBAAO,EAAC;AAApB,iBAAF,EAA2C9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAAC80E,cAAF,GAAiBtvC,CAAC,CAAC,CAAD,CAAlB,EAAsBxlC,CAAC,CAAC+0E,cAAF,GAAiB,IAAI/jF,IAAJ,CAASw0C,CAAC,CAAC,CAAD,CAAV,CAA9C,CAA3C,EAAyG,KAAKY,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAArH;AAAyI,oBAAGwlC,CAAC,GAAC,qBAAqBrjD,IAArB,CAA0Bvd,CAA1B,CAAL,EAAkC,OAAOo7B,CAAC,GAAC;AAAC7qB,sBAAI,EAAC,KAAN;AAAYm/F,yBAAO,EAAC;AAApB,iBAAF,EAA6B9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAAC70B,UAAF,GAAa6oG,EAAE,CAACxuC,CAAC,CAAC,CAAD,CAAF,CAAf,EAAsBxlC,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,KAAkB,SAAOh1E,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,CAAgBj6C,SAAhB,CAA0B,CAA1B,EAA4B,CAA5B,EAA+B9xC,WAA/B,EAAP,KAAsD+W,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,GAAgBh1E,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,CAAgBj6C,SAAhB,CAA0B,CAA1B,CAAtE,GAAoG/6B,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,GAAgBh1E,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,CAAgB3gF,KAAhB,CAAsB,OAAtB,CAApH,EAAmJ2L,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,CAAgB,CAAhB,IAAmB1pG,QAAQ,CAAC00B,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,CAAgB,CAAhB,CAAD,EAAoB,EAApB,CAA9K,EAAsMh1E,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,CAAgB,CAAhB,IAAmB1pG,QAAQ,CAAC00B,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,CAAgB,CAAhB,CAAD,EAAoB,EAApB,CAAjO,EAAyPh1E,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,CAAgB,CAAhB,IAAmB1pG,QAAQ,CAAC00B,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,CAAgB,CAAhB,CAAD,EAAoB,EAApB,CAApR,EAA4Sh1E,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,CAAgB,CAAhB,IAAmB1pG,QAAQ,CAAC00B,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,CAAgB,CAAhB,CAAD,EAAoB,EAApB,CAAvU,EAA+Vh1E,CAAC,CAAC70B,UAAF,CAAa6pG,EAAb,GAAgB,IAAIC,WAAJ,CAAgBj1E,CAAC,CAAC70B,UAAF,CAAa6pG,EAA7B,CAAjY,CAA7B,CAA7B,EAA8d,KAAK5uC,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAA1e;AAA8f,oBAAGwlC,CAAC,GAAC,uBAAuBrjD,IAAvB,CAA4Bvd,CAA5B,CAAL,EAAoC,OAAOo7B,CAAC,GAAC;AAAC7qB,sBAAI,EAAC,KAAN;AAAYm/F,yBAAO,EAAC;AAApB,iBAAF,EAA+B9uC,CAAC,CAAC,CAAD,CAAD,KAAOxlC,CAAC,CAAC70B,UAAF,GAAa6oG,EAAE,CAACxuC,CAAC,CAAC,CAAD,CAAF,CAAf,EAAsBxlC,CAAC,CAAC70B,UAAF,CAAa,aAAb,IAA4B0c,UAAU,CAACmY,CAAC,CAAC70B,UAAF,CAAa,aAAb,CAAD,CAA5D,EAA0F60B,CAAC,CAAC70B,UAAF,CAAa+pG,OAAb,GAAqB,MAAM36F,IAAN,CAAWylB,CAAC,CAAC70B,UAAF,CAAa+pG,OAAxB,CAAtH,CAA/B,EAAuL,KAAK9uC,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAAnM;AAAuN,oBAAGwlC,CAAC,GAAC,+BAA+BrjD,IAA/B,CAAoCvd,CAApC,CAAL,EAA4C,OAAOo7B,CAAC,GAAC;AAAC7qB,sBAAI,EAAC,KAAN;AAAYm/F,yBAAO,EAAC;AAApB,iBAAF,EAAsC9uC,CAAC,CAAC,CAAD,CAAD,GAAKxlC,CAAC,CAAC56B,IAAF,GAAOogE,CAAC,CAAC,CAAD,CAAb,GAAiBxlC,CAAC,CAAC56B,IAAF,GAAO,EAA9D,EAAiE,KAAKghE,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAA7E;AAAiG,oBAAGwlC,CAAC,GAAC,0BAA0BrjD,IAA1B,CAA+Bvd,CAA/B,CAAL,EAAuC,OAAOo7B,CAAC,GAAC;AAAC7qB,sBAAI,EAAC,KAAN;AAAYm/F,yBAAO,EAAC;AAApB,iBAAF,EAAiC9uC,CAAC,CAAC,CAAD,CAAD,GAAKxlC,CAAC,CAAC56B,IAAF,GAAOogE,CAAC,CAAC,CAAD,CAAb,GAAiBxlC,CAAC,CAAC56B,IAAF,GAAO,EAAzD,EAA4D,KAAKghE,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAAxE;AAA4F,oBAAGwlC,CAAC,GAAC,yBAAyBrjD,IAAzB,CAA8Bvd,CAA9B,CAAL,EAAsC,OAAOo7B,CAAC,GAAC;AAAC7qB,sBAAI,EAAC,KAAN;AAAYm/F,yBAAO,EAAC;AAApB,iBAAF,EAAgC9uC,CAAC,CAAC,CAAD,CAAD,GAAKxlC,CAAC,CAAC56B,IAAF,GAAOogE,CAAC,CAAC,CAAD,CAAb,GAAiBxlC,CAAC,CAAC56B,IAAF,GAAO,EAAxD,EAA2D,KAAKghE,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB61B,CAAjB,CAAvE;AAA2FomC,iBAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB;AAACgL,sBAAI,EAAC,KAAN;AAAY/P,sBAAI,EAACR,CAAC,CAAC2a,KAAF,CAAQ,CAAR;AAAjB,iBAAjB;AAA+C;AAAC;AAAC;AAA/+H,eAAo/H6mD,CAAC,CAACj8D,OAAF,CAAU,MAAV,EAAiB;AAACgL,cAAI,EAAC,SAAN;AAAgByX,cAAI,EAAChoB,CAAC,CAAC2a,KAAF,CAAQ,CAAR;AAArB,SAAjB;AAAmD,OAA9tI,CAAX,GAA2uI,KAAKpV,OAAL,CAAa,MAAb,EAAoB;AAACgL,YAAI,EAAC,KAAN;AAAYwoE,WAAG,EAACz+C;AAAhB,OAApB,CAArwI;AAA8yI,KAAh1I,EAAi1Iv5B,CAAC,CAACwvG,SAAF,GAAY,UAASvwG,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAA,UAAW5lC,CAAC,GAACf,CAAC,CAACwwG,UAAf;AAAA,UAA0Bl2E,CAAC,GAACt6B,CAAC,CAACywG,UAA9B;AAAA,UAAyC3vC,CAAC,GAAC9gE,CAAC,CAAC0wG,UAA7C;AAAA,UAAwDhsF,CAAC,GAAC1kB,CAAC,CAAC2wG,OAA5D;AAAoE,oBAAY,OAAO7vC,CAAnB,KAAuBA,CAAC,GAAC,WAAS9gE,CAAT,EAAW;AAAC,eAAOA,CAAP;AAAS,OAA9C,GAAgD,KAAKwvG,aAAL,CAAmBjsG,IAAnB,CAAwB,UAASvD,CAAT,EAAW;AAAC,YAAGe,CAAC,CAACwc,IAAF,CAAOvd,CAAP,CAAH,EAAa,OAAO2mC,CAAC,CAACphC,OAAF,CAAU,MAAV,EAAiB;AAACgL,cAAI,EAAC,QAAN;AAAe/P,cAAI,EAACsgE,CAAC,CAAC9gE,CAAD,CAArB;AAAyBywG,oBAAU,EAACn2E,CAApC;AAAsCq2E,iBAAO,EAACjsF;AAA9C,SAAjB,GAAmE,CAAC,CAA3E;AAA6E,OAA9H,CAAhD;AAAgL,KAA7lJ,EAA8lJ3jB,CAAC,CAAC6vG,YAAF,GAAe,UAAS5wG,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACwwG,UAAR;AAAA,UAAmBzvG,CAAC,GAACf,CAAC,CAACipB,GAAvB;AAA2B,WAAKwmF,UAAL,CAAgBlsG,IAAhB,CAAqB,UAASvD,CAAT,EAAW;AAAC,eAAO2mC,CAAC,CAAChxB,IAAF,CAAO3V,CAAP,IAAUe,CAAC,CAACf,CAAD,CAAX,GAAeA,CAAtB;AAAwB,OAAzD;AAA2D,KAA/sJ,EAAgtJA,CAAvtJ;AAAytJ,GAAl1J,CAAm1JqvG,EAAn1J,CAAx5B;;AAA+uL,MAAIwB,EAAE,GAAC,UAASlqE,CAAT,EAAW;AAAC,aAAS3mC,CAAT,GAAY;AAAC,UAAIA,CAAJ;AAAM,OAACA,CAAC,GAAC2mC,CAAC,CAAChhC,IAAF,CAAO,IAAP,KAAc,IAAjB,EAAuBmrG,UAAvB,GAAkC,IAAIxB,EAAJ,EAAlC,EAAyCtvG,CAAC,CAAC+wG,WAAF,GAAc,IAAIxB,EAAJ,EAAvD,EAA8DvvG,CAAC,CAAC8wG,UAAF,CAAanzE,IAAb,CAAkB39B,CAAC,CAAC+wG,WAApB,CAA9D;;AAA+F,UAAIjwC,CAAJ;AAAA,UAAMp8C,CAAN;AAAA,UAAQtJ,CAAC,GAAC,UAASpb,CAAT,EAAW;AAAC,YAAG,KAAK,CAAL,KAASA,CAAZ,EAAc,MAAM,IAAIosE,cAAJ,CAAmB,2DAAnB,CAAN;AAAsF,eAAOpsE,CAAP;AAAS,OAAzH,CAA0HA,CAA1H,CAAV;AAAA,UAAuI2gE,CAAC,GAAC,EAAzI;AAAA,UAA4IC,CAAC,GAAC,EAA9I;AAAA,UAAiJxlC,CAAC,GAAC;AAAC41E,aAAK,EAAC,EAAP;AAAUC,aAAK,EAAC,EAAhB;AAAmB,2BAAkB,EAArC;AAAwCC,iBAAS,EAAC;AAAlD,OAAnJ;AAAA,UAAyM1vC,CAAC,GAAC,CAA3M;;AAA6M,aAAOxhE,CAAC,CAACmxG,QAAF,GAAW;AAACC,kBAAU,EAAC,CAAC,CAAb;AAAeC,2BAAmB,EAAC,EAAnC;AAAsCC,gBAAQ,EAAC;AAA/C,OAAX,EAA8DtxG,CAAC,CAAC+wG,WAAF,CAAc1uG,EAAd,CAAiB,MAAjB,EAAwB,UAASskC,CAAT,EAAW;AAAC,YAAI5lC,CAAJ,EAAMu5B,CAAN;AAAQ,SAAC;AAACxnB,aAAG,EAAC,eAAU;AAAC,aAAC;AAAC,6BAAc,sBAAU;AAAC,qBAAKq+F,QAAL,CAAcC,UAAd,GAAyBzqE,CAAC,CAACipE,OAA3B,EAAmC,aAAYjpE,CAAZ,KAAgB,KAAKphC,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC;AAAT,iBAApB,GAA8D,KAAKkzF,QAAL,CAAcC,UAAd,GAAyB,CAAC,CAAxG,CAAnC;AAA8I,eAAxK;AAAyKrB,uBAAS,EAAC,qBAAU;AAAC,oBAAI/vG,CAAC,GAAC,EAAN;AAAS,4BAAW2mC,CAAX,KAAe,CAACi6B,CAAC,CAACmvC,SAAF,GAAY/vG,CAAb,EAAgBkD,MAAhB,GAAuByjC,CAAC,CAACzjC,MAAzB,EAAgC,YAAWyjC,CAAX,KAAe,KAAKphC,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC;AAAT,iBAApB,GAA2D0oB,CAAC,CAAC3yB,MAAF,GAAS,CAAnF,CAA/C,GAAsI,YAAW2yB,CAAX,KAAe,CAACi6B,CAAC,CAACmvC,SAAF,GAAY/vG,CAAb,EAAgBgU,MAAhB,GAAuB2yB,CAAC,CAAC3yB,MAAxC,CAAtI;AAAsL,eAA7X;AAA8Xu9F,qBAAO,EAAC,mBAAU;AAAC,qBAAKJ,QAAL,CAAcK,OAAd,GAAsB,CAAC,CAAvB;AAAyB,eAA1a;AAA2aC,iBAAG,EAAC,eAAU;AAAC,mCAAkB,KAAKN,QAAvB,KAAkC,KAAKA,QAAL,CAAcO,aAAd,GAA4B,CAA5B,EAA8B,KAAKnsG,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC;AAAT,iBAApB,CAAhE,GAAoI,2BAA0B,KAAKkzF,QAA/B,KAA0C,KAAKA,QAAL,CAAcQ,qBAAd,GAAoC,CAApC,EAAsC,KAAKpsG,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC;AAAT,iBAApB,CAAhF,CAApI,EAAgS,IAAE0oB,CAAC,CAACrnB,QAAJ,KAAeshD,CAAC,CAACthD,QAAF,GAAWqnB,CAAC,CAACrnB,QAA5B,CAAhS,EAAsU,MAAIqnB,CAAC,CAACrnB,QAAN,KAAiBshD,CAAC,CAACthD,QAAF,GAAW,GAAX,EAAe,KAAK/Z,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC;AAAT,iBAApB,CAAhC,CAAtU,EAAwb,KAAKkzF,QAAL,CAAcG,QAAd,GAAuB3wC,CAA/c;AAAid,eAA34B;AAA44Bv7C,iBAAG,EAAC,eAAU;AAAC,oBAAGuhB,CAAC,CAACpgC,UAAL;AAAgB,sBAAG,WAASogC,CAAC,CAACpgC,UAAF,CAAaqrG,MAAzB;AAAgC,wBAAGjrE,CAAC,CAACpgC,UAAF,CAAaspG,GAAhB,EAAoB;AAAC,0BAAG,oDAAkDlpE,CAAC,CAACpgC,UAAF,CAAasrG,SAAlE,EAA4E;AAAC,+BAAM,CAAC,CAAD,KAAK,CAAC,YAAD,EAAc,gBAAd,EAA+B,iBAA/B,EAAkD1wG,OAAlD,CAA0DwlC,CAAC,CAACpgC,UAAF,CAAaqrG,MAAvE,CAAL,GAAoF,KAAK,KAAKrsG,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,iCAAO,EAAC;AAAT,yBAApB,CAAzF,IAAoK,sBAAoB0oB,CAAC,CAACpgC,UAAF,CAAaqrG,MAAjC,IAAyC,KAAKrsG,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,iCAAO,EAAC;AAAT,yBAApB,CAAzC,EAA2I,8BAA4B0oB,CAAC,CAACpgC,UAAF,CAAaspG,GAAb,CAAiB15C,SAAjB,CAA2B,CAA3B,EAA6B,EAA7B,CAA5B,GAA6D,KAAK,KAAK5wD,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,iCAAO,EAAC;AAAT,yBAApB,CAAlE,GAAyI0oB,CAAC,CAACpgC,UAAF,CAAaurG,KAAb,IAAoB,SAAOnrE,CAAC,CAACpgC,UAAF,CAAaurG,KAAb,CAAmB37C,SAAnB,CAA6B,CAA7B,EAA+B,CAA/B,CAA3B,GAA6D,MAAK,KAAKg7C,QAAL,CAAcY,iBAAd,GAAgC;AAAC,gDAAqB;AAACxrG,sCAAU,EAAC;AAACyrG,yCAAW,EAACrrE,CAAC,CAACpgC,UAAF,CAAasrG,SAA1B;AAAoCI,mCAAK,EAACtrE,CAAC,CAACpgC,UAAF,CAAaurG,KAAb,CAAmB37C,SAAnB,CAA6B,CAA7B;AAA1C,6BAAZ;AAAuF+7C,gCAAI,EAAC,UAASlyG,CAAT,EAAW;AAAC,mCAAI,IAAI2mC,CAAC,GAACrkB,CAAC,CAAC6vF,IAAF,CAAOnyG,CAAC,IAAE,EAAV,CAAN,EAAoBe,CAAC,GAAC,IAAIqxG,UAAJ,CAAezrE,CAAC,CAACzjC,MAAjB,CAAtB,EAA+Co3B,CAAC,GAAC,CAArD,EAAuDA,CAAC,GAACqM,CAAC,CAACzjC,MAA3D,EAAkEo3B,CAAC,EAAnE;AAAsEv5B,iCAAC,CAACu5B,CAAD,CAAD,GAAKqM,CAAC,CAAC7X,UAAF,CAAawL,CAAb,CAAL;AAAtE;;AAA2F,qCAAOv5B,CAAP;AAAS,6BAAhH,CAAiH4lC,CAAC,CAACpgC,UAAF,CAAaspG,GAAb,CAAiB1kF,KAAjB,CAAuB,GAAvB,EAA4B,CAA5B,CAAjH;AAA5F;AAAtB,yBAArC,CAA7D,GAAwW,KAAK,KAAK5lB,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,iCAAO,EAAC;AAAT,yBAApB,CAAryB,CAAN;AAAk3B;;AAAA0oB,uBAAC,CAACpgC,UAAF,CAAaqrG,MAAb,IAAqB,KAAKrsG,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,+BAAO,EAAC;AAAT,uBAApB,CAArB,EAAuFyG,CAAC,GAAC;AAAC5a,8BAAM,EAAC68B,CAAC,CAACpgC,UAAF,CAAaqrG,MAAb,IAAqB,SAA7B;AAAuC74B,2BAAG,EAACpyC,CAAC,CAACpgC,UAAF,CAAaspG;AAAxD,uBAAzF,EAAsJ,eAAa,OAAOlpE,CAAC,CAACpgC,UAAF,CAAa6pG,EAAjC,KAAsC1rF,CAAC,CAAC2tF,EAAF,GAAK1rE,CAAC,CAACpgC,UAAF,CAAa6pG,EAAxD,CAAtJ;AAAkN,qBAAtqC,MAA2qC,KAAK7qG,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,6BAAO,EAAC;AAAT,qBAApB;AAA3sC,yBAAsxCyG,CAAC,GAAC,IAAF;AAAtyC,uBAAkzC,KAAKnf,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC;AAAT,iBAApB;AAAiF,eAA9xE;AAA+xE,gCAAiB,yBAAU;AAACi0B,wBAAQ,CAACvL,CAAC,CAACw3B,MAAH,CAAR,GAAmB,KAAKgzC,QAAL,CAAcO,aAAd,GAA4B/qE,CAAC,CAACw3B,MAAjD,GAAwD,KAAK54D,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC,sCAAoC0oB,CAAC,CAACw3B;AAA/C,iBAApB,CAAxD;AAAoI,eAA/7E;AAAg8E,wCAAyB,iCAAU;AAACjsB,wBAAQ,CAACvL,CAAC,CAACw3B,MAAH,CAAR,IAAoB,KAAKgzC,QAAL,CAAcQ,qBAAd,GAAoChrE,CAAC,CAACw3B,MAAtC,EAA6CqD,CAAC,GAAC76B,CAAC,CAACw3B,MAArE,IAA6E,KAAK54D,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC,8CAA4C0oB,CAAC,CAACw3B;AAAvD,iBAApB,CAA7E;AAAiK,eAAroF;AAAsoF,+BAAgB,wBAAU;AAAC,4BAAYxoD,IAAZ,CAAiBgxB,CAAC,CAACgpE,YAAnB,IAAiC,KAAKwB,QAAL,CAAcxB,YAAd,GAA2BhpE,CAAC,CAACgpE,YAA9D,GAA2E,KAAKpqG,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC,qCAAmC0oB,CAAC,CAAC1wB;AAA9C,iBAApB,CAA3E;AAAwJ,eAAzzF;AAA0zFgT,iBAAG,EAAC,eAAU;AAAC63C,iBAAC,GAAC,EAAF,EAAKn6B,CAAC,CAACoyC,GAAF,KAAQjY,CAAC,CAACiY,GAAF,GAAMpyC,CAAC,CAACoyC,GAAhB,CAAL,EAA0BpyC,CAAC,CAACopE,SAAF,KAAcjvC,CAAC,CAACivC,SAAF,GAAYppE,CAAC,CAACopE,SAA5B,CAA1B;AAAiE,eAA14F;AAA24F,4BAAa,qBAAU;AAAC,qBAAKoB,QAAL,CAAcmB,SAAd,GAAwB3xC,CAAxB,EAA0B,KAAKwwC,QAAL,CAAcoB,WAAd,GAA0B,KAAKpB,QAAL,CAAcoB,WAAd,IAA2Bn3E,CAA/E,EAAiFuL,CAAC,CAACpgC,UAAF,IAAcq6D,CAAC,CAACr6D,UAAF,KAAeq6D,CAAC,CAACr6D,UAAF,GAAa,EAA5B,GAAgC2oG,EAAE,CAACtuC,CAAC,CAACr6D,UAAH,EAAcogC,CAAC,CAACpgC,UAAhB,CAAhD,IAA6E,KAAKhB,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC;AAAT,iBAApB,CAA9J;AAAoO,eAAvoG;AAAwoGwnC,mBAAK,EAAC,iBAAU;AAAC,oBAAG,KAAK0rD,QAAL,CAAcoB,WAAd,GAA0B,KAAKpB,QAAL,CAAcoB,WAAd,IAA2Bn3E,CAArD,EAAuDuL,CAAC,CAACpgC,UAAF,IAAcogC,CAAC,CAACpgC,UAAF,CAAaisG,IAA3B,IAAiC7rE,CAAC,CAACpgC,UAAF,CAAa,UAAb,CAAjC,IAA2DogC,CAAC,CAACpgC,UAAF,CAAaksG,IAAlI,EAAuI;AAAC,sBAAIzyG,CAAC,GAAC,KAAKmxG,QAAL,CAAcoB,WAAd,CAA0B5rE,CAAC,CAACpgC,UAAF,CAAaisG,IAAvC,CAAN;AAAmDxyG,mBAAC,CAAC2mC,CAAC,CAACpgC,UAAF,CAAa,UAAb,CAAD,CAAD,GAA4BvG,CAAC,CAAC2mC,CAAC,CAACpgC,UAAF,CAAa,UAAb,CAAD,CAAD,IAA6B,EAAzD,EAA4DxF,CAAC,GAACf,CAAC,CAAC2mC,CAAC,CAACpgC,UAAF,CAAa,UAAb,CAAD,CAA/D,EAA0F,CAAC+zB,CAAC,GAAC;AAAC,+BAAQ,OAAO3kB,IAAP,CAAYgxB,CAAC,CAACpgC,UAAF,CAAa06D,OAAzB;AAAT,mBAAH,eAAwD3mC,CAAC,CAACo4E,UAAF,GAAa,CAAC,CAAtE,GAAwEp4E,CAAC,CAACo4E,UAAF,GAAa,OAAO/8F,IAAP,CAAYgxB,CAAC,CAACpgC,UAAF,CAAaosG,UAAzB,CAA/K,EAAoNhsE,CAAC,CAACpgC,UAAF,CAAaqsG,QAAb,KAAwBt4E,CAAC,CAAC0vC,QAAF,GAAWrjC,CAAC,CAACpgC,UAAF,CAAaqsG,QAAhD,CAApN,EAA8QjsE,CAAC,CAACpgC,UAAF,CAAaspG,GAAb,KAAmBv1E,CAAC,CAACy+C,GAAF,GAAMpyC,CAAC,CAACpgC,UAAF,CAAaspG,GAAtC,CAA9Q,EAAyTlpE,CAAC,CAACpgC,UAAF,CAAa,aAAb,MAA8B+zB,CAAC,CAACu4E,UAAF,GAAalsE,CAAC,CAACpgC,UAAF,CAAa,aAAb,CAA3C,CAAzT,EAAiYogC,CAAC,CAACpgC,UAAF,CAAausG,eAAb,KAA+Bx4E,CAAC,CAACy4E,eAAF,GAAkBpsE,CAAC,CAACpgC,UAAF,CAAausG,eAA9D,CAAjY,EAAgdnsE,CAAC,CAACpgC,UAAF,CAAaysG,MAAb,KAAsB14E,CAAC,CAAC24E,MAAF,GAAS,OAAOt9F,IAAP,CAAYgxB,CAAC,CAACpgC,UAAF,CAAaysG,MAAzB,CAA/B,CAAhd,EAAihBjyG,CAAC,CAAC4lC,CAAC,CAACpgC,UAAF,CAAaksG,IAAd,CAAD,GAAqBn4E,CAAtiB;AAAwiB,iBAAnuB,MAAwuB,KAAK/0B,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC;AAAT,iBAApB;AAA4E,eAA78H;AAA88Hi1F,2BAAa,EAAC,yBAAU;AAAC1xC,iBAAC,IAAE,CAAH,EAAKZ,CAAC,CAACsyC,aAAF,GAAgB,CAAC,CAAtB,EAAwB,KAAK/B,QAAL,CAAcE,mBAAd,CAAkC9tG,IAAlC,CAAuCo9D,CAAC,CAACz9D,MAAzC,CAAxB;AAAyE,eAAhjI;AAAijI,mCAAoB,2BAAU;AAAC,+BAAa,OAAO,KAAKiuG,QAAL,CAAcjB,cAAlC,KAAmD,KAAKiB,QAAL,CAAcjB,cAAd,GAA6BvpE,CAAC,CAACupE,cAA/B,EAA8C,KAAKiB,QAAL,CAAchB,cAAd,GAA6BxpE,CAAC,CAACwpE,cAAhI,GAAgJvvC,CAAC,CAACsvC,cAAF,GAAiBvpE,CAAC,CAACupE,cAAnK,EAAkLtvC,CAAC,CAACuvC,cAAF,GAAiBxpE,CAAC,CAACwpE,cAArM;AAAoN,eAApyI;AAAqyIgD,4BAAc,EAAC,0BAAU;AAAC,iBAACjhE,QAAQ,CAACvL,CAAC,CAACrnB,QAAH,CAAT,IAAuBqnB,CAAC,CAACrnB,QAAF,GAAW,CAAlC,GAAoC,KAAK/Z,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC,uCAAqC0oB,CAAC,CAACrnB;AAAhD,iBAApB,CAApC,GAAmH,KAAK6xF,QAAL,CAAciC,cAAd,GAA6BzsE,CAAC,CAACrnB,QAAlJ;AAA2J,eAA19I;AAA29I+zF,2BAAa,EAAC,yBAAU;AAAC,iBAACnhE,QAAQ,CAACvL,CAAC,CAACrnB,QAAH,CAAT,IAAuBqnB,CAAC,CAACrnB,QAAF,GAAW,CAAlC,GAAoC,KAAK/Z,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC,sCAAoC0oB,CAAC,CAACrnB;AAA/C,iBAApB,CAApC,GAAkH,KAAK6xF,QAAL,CAAcmC,aAAd,GAA4B3sE,CAAC,CAACrnB,QAAhJ;AAAyJ,eAA7oJ;AAA8oJkC,mBAAK,EAAC,iBAAU;AAACmlB,iBAAC,CAACpgC,UAAF,IAAc,CAACK,KAAK,CAAC+/B,CAAC,CAACpgC,UAAF,CAAa,aAAb,CAAD,CAApB,GAAkD,KAAK4qG,QAAL,CAAc3vF,KAAd,GAAoB;AAAC+xF,4BAAU,EAAC5sE,CAAC,CAACpgC,UAAF,CAAa,aAAb,CAAZ;AAAwCitG,yBAAO,EAAC7sE,CAAC,CAACpgC,UAAF,CAAa+pG;AAA7D,iBAAtE,GAA4I,KAAK/qG,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,yBAAO,EAAC;AAAT,iBAApB,CAA5I;AAA2O,eAA14J;AAA24J,yBAAU,kBAAU;AAAC2iD,iBAAC,CAAC6yC,MAAF,GAAS9sE,CAAC,CAACnmC,IAAX;AAAgB,eAAh7J;AAAi7J,8BAAe,sBAAU;AAACogE,iBAAC,CAAC8yC,UAAF,GAAa/sE,CAAC,CAACnmC,IAAf;AAAoB,eAA/9J;AAAg+J,wBAAS,iBAAU;AAACogE,iBAAC,CAAC+yC,KAAF,GAAQhtE,CAAC,CAACnmC,IAAV;AAAe;AAAngK,eAAqgKmmC,CAAC,CAAC+oE,OAAvgK,KAAihK,YAAU,CAAE,CAA9hK,EAAgiK/pG,IAAhiK,CAAqiKyV,CAAriK;AAAwiK,WAAxjK;AAAyjK29D,aAAG,EAAC,eAAU;AAACnY,aAAC,CAACmY,GAAF,GAAMpyC,CAAC,CAACoyC,GAAR,EAAYpY,CAAC,CAACp9D,IAAF,CAAOq9D,CAAP,CAAZ,EAAsB,CAAC,KAAKuwC,QAAL,CAAciC,cAAf,IAA+B,cAAaxyC,CAA5C,KAAgD,KAAKr7D,OAAL,CAAa,MAAb,EAAoB;AAAC0Y,qBAAO,EAAC;AAAT,aAApB,GAAoF2iD,CAAC,CAACthD,QAAF,GAAW,KAAK6xF,QAAL,CAAciC,cAA7J,CAAtB,EAAmM1uF,CAAC,KAAGk8C,CAAC,CAACx7C,GAAF,GAAMV,CAAT,CAApM,EAAgNk8C,CAAC,CAACgzC,QAAF,GAAWpyC,CAA3N,EAA6NV,CAAC,KAAGF,CAAC,CAAC33C,GAAF,GAAM63C,CAAT,CAA9N,EAA0OF,CAAC,GAAC,EAA5O;AAA+O,WAAvzK;AAAwzKizC,iBAAO,EAAC,mBAAU,CAAE,CAA50K;AAA60KC,gBAAM,EAAC,kBAAU;AAACntE,aAAC,CAACgqE,OAAF,IAAW/vC,CAAC,CAACkzC,MAAF,GAASlzC,CAAC,CAACkzC,MAAF,IAAU,EAAnB,EAAsBlzC,CAAC,CAACkzC,MAAF,CAASntE,CAAC,CAAC8pE,UAAX,IAAuB9pE,CAAC,CAACnmC,IAA1D,KAAiE,KAAK2wG,QAAL,CAAc2C,MAAd,GAAqB,KAAK3C,QAAL,CAAc2C,MAAd,IAAsB,EAA3C,EAA8C,KAAK3C,QAAL,CAAc2C,MAAd,CAAqBntE,CAAC,CAAC8pE,UAAvB,IAAmC9pE,CAAC,CAACnmC,IAApJ;AAA0J;AAAz/K,SAAD,EAA6/KmmC,CAAC,CAACp2B,IAA//K,EAAqgL5K,IAArgL,CAA0gLyV,CAA1gL;AAA6gL,OAAzjL,CAA9D,EAAynLpb,CAAhoL;AAAkoL;;AAAAmvG,MAAE,CAACnvG,CAAD,EAAG2mC,CAAH,CAAF;AAAQ,QAAI5lC,CAAC,GAACf,CAAC,CAAC+Z,SAAR;AAAkB,WAAOhZ,CAAC,CAACwC,IAAF,GAAO,UAASvD,CAAT,EAAW;AAAC,WAAK8wG,UAAL,CAAgBvtG,IAAhB,CAAqBvD,CAArB;AAAwB,KAA3C,EAA4Ce,CAAC,CAAC2oB,GAAF,GAAM,YAAU;AAAC,WAAKonF,UAAL,CAAgBvtG,IAAhB,CAAqB,IAArB;AAA2B,KAAxF,EAAyFxC,CAAC,CAACwvG,SAAF,GAAY,UAASvwG,CAAT,EAAW;AAAC,WAAK+wG,WAAL,CAAiBR,SAAjB,CAA2BvwG,CAA3B;AAA8B,KAA/I,EAAgJe,CAAC,CAAC6vG,YAAF,GAAe,UAAS5wG,CAAT,EAAW;AAAC,WAAK+wG,WAAL,CAAiBH,YAAjB,CAA8B5wG,CAA9B;AAAiC,KAA5M,EAA6MA,CAApN;AAAsN,GAA7rM,CAA8rMqvG,EAA9rM,CAAP;;AAAysM,WAAS0E,EAAT,CAAY/zG,CAAZ,EAAc;AAAC,WAAOA,CAAC,IAAE,oBAAiBA,CAAjB,CAAH,IAAuB,aAAYA,CAAnC,GAAqCA,CAAC,WAAtC,GAA+CA,CAAtD;AAAwD;;AAAA,MAAIg0G,EAAE,GAACD,EAAE,CAACxF,EAAD,CAAT;AAAA,MAAc0F,EAAE,GAACF,EAAE,CAACzxF,CAAD,CAAnB;AAAA,MAAuB4xF,EAAE,GAAC,SAAHA,EAAG,CAASl0G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAM,YAAYhxB,IAAZ,CAAiBgxB,CAAjB,IAAoBA,CAApB,IAAuB,QAAQhxB,IAAR,CAAa3V,CAAb,MAAkBA,CAAC,GAACg0G,EAAE,CAACxF,gBAAH,CAAoByF,EAAE,CAAC99F,QAAH,IAAa89F,EAAE,CAAC99F,QAAH,CAAY+f,IAAzB,IAA+B,EAAnD,EAAsDl2B,CAAtD,CAApB,GAA8Eg0G,EAAE,CAACxF,gBAAH,CAAoBxuG,CAApB,EAAsB2mC,CAAtB,CAArG,CAAN;AAAqI,GAA7K;;AAA8K,MAAIwtE,EAAJ;AAAA,MAAOC,EAAE,GAAC,CAACD,EAAE,GAAC7xF,CAAJ,KAAQ,oBAAiB6xF,EAAjB,CAAR,IAA6B,aAAYA,EAAzC,GAA4CA,EAAE,WAA9C,GAAuDA,EAAjE;;AAAoE,MAAIE,EAAE,GAAC,SAAHA,EAAG,CAASr0G,CAAT,EAAW;AAAC,SAAI,IAAI2mC,CAAC,GAAC,UAAS3mC,CAAT,EAAW;AAAC,aAAOo0G,EAAE,CAACjC,IAAH,GAAQiC,EAAE,CAACjC,IAAH,CAAQnyG,CAAR,CAAR,GAAmBs0G,MAAM,CAAC9sD,IAAP,CAAYxnD,CAAZ,EAAc,QAAd,EAAwBinB,QAAxB,CAAiC,QAAjC,CAA1B;AAAqE,KAAjF,CAAkFjnB,CAAlF,CAAN,EAA2Fe,CAAC,GAAC,IAAIqxG,UAAJ,CAAezrE,CAAC,CAACzjC,MAAjB,CAA7F,EAAsHo3B,CAAC,GAAC,CAA5H,EAA8HA,CAAC,GAACqM,CAAC,CAACzjC,MAAlI,EAAyIo3B,CAAC,EAA1I;AAA6Iv5B,OAAC,CAACu5B,CAAD,CAAD,GAAKqM,CAAC,CAAC7X,UAAF,CAAawL,CAAb,CAAL;AAA7I;;AAAkK,WAAOv5B,CAAP;AAAS,GAA9L;AAAA,MAA+LwzG,EAAE,GAAC,kJAAlM;AAAA,MAAqVC,EAAE,GAAC,IAAInnF,MAAJ,CAAW,eAAaknF,EAAE,CAAC90F,MAAH,CAAU9E,KAAV,CAAgB,CAAhB,EAAkB,CAAC,CAAnB,CAAb,GAAmC,wCAA9C,CAAxV;AAAA,MAAgb85F,EAAE,GAAC,IAAIpnF,MAAJ,CAAW,MAAIknF,EAAE,CAAC90F,MAAP,GAAc+0F,EAAE,CAAC/0F,MAAjB,GAAwB,OAAxB,GAAgC80F,EAAE,CAAC90F,MAAnC,GAA0C+0F,EAAE,CAAC/0F,MAA7C,GAAoD,MAA/D,CAAnb;AAAA,MAA0fi1F,EAAE,GAAC,CAA7f;AAAA,MAA+fC,EAAE,GAAC,CAAlgB;AAAA,MAAogBC,EAAE,GAAC,CAAvgB;AAAA,MAAygBC,EAAE,GAAC,CAA5gB;AAAA,MAA8gBC,EAAE,GAAC,CAAjhB;AAAA,MAAmhBC,EAAE,GAAC,CAAthB;AAAA,MAAwhBC,EAAE,GAAC,CAA3hB;AAAA,MAA6hBC,EAAE,GAAC,CAAhiB;;AAAkiB,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,CAAYn1G,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAOA,CAAC,CAACyuE,UAAF,GAAap1G,CAAC,CAACo1G,UAAf,EAA0BzuE,CAAC,CAAC0uE,YAAF,GAAer1G,CAAC,CAACq1G,YAA3C,EAAwD1uE,CAA/D;AAAiE;;AAAA,WAAS2uE,EAAT,CAAYt1G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoBwmC,CAApB,EAAsBp8C,CAAtB,EAAwB;AAAC,SAAI,IAAItJ,CAAJ,EAAMulD,CAAC,GAAC,EAAEh6B,CAAV,EAAYi6B,CAAC,GAAC8zC,EAAlB,IAAuB;AAAC,UAAIt5E,CAAC,GAACp7B,CAAC,CAAC2pD,MAAF,CAASgX,CAAT,CAAN;;AAAkB,cAAOvlC,CAAP;AAAU,aAAI,GAAJ;AAAQ,cAAGwlC,CAAC,KAAG+zC,EAAP,EAAUv5F,CAAC,GAACpb,CAAC,CAAC2a,KAAF,CAAQgsB,CAAR,EAAUg6B,CAAV,CAAF,EAAeC,CAAC,GAACi0C,EAAjB,CAAV,KAAkC;AAAC,gBAAGj0C,CAAC,KAAGg0C,EAAP,EAAU,MAAM,IAAI1hG,KAAJ,CAAU,qCAAV,CAAN;AAAuD0tD,aAAC,GAACi0C,EAAF;AAAK;AAAA;;AAAM,aAAI,GAAJ;AAAQ,aAAI,GAAJ;AAAQ,cAAGj0C,CAAC,KAAGi0C,EAAJ,IAAQj0C,CAAC,KAAG+zC,EAAf,EAAkB;AAAC,gBAAG/zC,CAAC,KAAG+zC,EAAJ,KAASjwF,CAAC,CAAC6wF,OAAF,CAAU,gCAAV,GAA4Cn6F,CAAC,GAACpb,CAAC,CAAC2a,KAAF,CAAQgsB,CAAR,EAAUg6B,CAAV,CAAvD,GAAqEh6B,CAAC,GAACg6B,CAAC,GAAC,CAAzE,EAA2E,EAAE,KAAGA,CAAC,GAAC3gE,CAAC,CAACmB,OAAF,CAAUi6B,CAAV,EAAYuL,CAAZ,CAAL,CAAF,CAA9E,EAAsG,MAAM,IAAIzzB,KAAJ,CAAU,6BAA2BkoB,CAA3B,GAA6B,SAAvC,CAAN;AAAwDomC,aAAC,GAACxhE,CAAC,CAAC2a,KAAF,CAAQgsB,CAAR,EAAUg6B,CAAV,EAAat8D,OAAb,CAAqB,UAArB,EAAgCy8D,CAAhC,CAAF,EAAqC//D,CAAC,CAACoE,GAAF,CAAMiW,CAAN,EAAQomD,CAAR,EAAU76B,CAAC,GAAC,CAAZ,CAArC,EAAoDi6B,CAAC,GAACm0C,EAAtD;AAAyD,WAA1O,MAA8O;AAAC,gBAAGn0C,CAAC,IAAEk0C,EAAN,EAAS,MAAM,IAAI5hG,KAAJ,CAAU,gCAAV,CAAN;AAAkDsuD,aAAC,GAACxhE,CAAC,CAAC2a,KAAF,CAAQgsB,CAAR,EAAUg6B,CAAV,EAAat8D,OAAb,CAAqB,UAArB,EAAgCy8D,CAAhC,CAAF,EAAqC//D,CAAC,CAACoE,GAAF,CAAMiW,CAAN,EAAQomD,CAAR,EAAU76B,CAAV,CAArC,EAAkDjiB,CAAC,CAAC6wF,OAAF,CAAU,gBAAcn6F,CAAd,GAAgB,sBAAhB,GAAuCggB,CAAvC,GAAyC,KAAnD,CAAlD,EAA4GuL,CAAC,GAACg6B,CAAC,GAAC,CAAhH,EAAkHC,CAAC,GAACm0C,EAApH;AAAuH;;AAAA;;AAAM,aAAI,GAAJ;AAAQ,kBAAOn0C,CAAP;AAAU,iBAAK8zC,EAAL;AAAQ3zG,eAAC,CAACy0G,UAAF,CAAax1G,CAAC,CAAC2a,KAAF,CAAQgsB,CAAR,EAAUg6B,CAAV,CAAb;;AAA2B,iBAAKo0C,EAAL;AAAQ,iBAAKC,EAAL;AAAQ,iBAAKC,EAAL;AAAQr0C,eAAC,GAACq0C,EAAF,EAAKl0G,CAAC,CAAC00G,MAAF,GAAS,CAAC,CAAf;;AAAiB,iBAAKX,EAAL;AAAQ,iBAAKH,EAAL;AAAQ,iBAAKC,EAAL;AAAQ;;AAAM;AAAQ,oBAAM,IAAI1hG,KAAJ,CAAU,mCAAV,CAAN;AAA5H;;AAAiL;;AAAM,aAAI,EAAJ;AAAO,iBAAOwR,CAAC,CAACzf,KAAF,CAAQ,yBAAR,GAAmC27D,CAAC,IAAE8zC,EAAH,IAAO3zG,CAAC,CAACy0G,UAAF,CAAax1G,CAAC,CAAC2a,KAAF,CAAQgsB,CAAR,EAAUg6B,CAAV,CAAb,CAA1C,EAAqEA,CAA5E;;AAA8E,aAAI,GAAJ;AAAQ,kBAAOC,CAAP;AAAU,iBAAK8zC,EAAL;AAAQ3zG,eAAC,CAACy0G,UAAF,CAAax1G,CAAC,CAAC2a,KAAF,CAAQgsB,CAAR,EAAUg6B,CAAV,CAAb;;AAA2B,iBAAKo0C,EAAL;AAAQ,iBAAKC,EAAL;AAAQ,iBAAKC,EAAL;AAAQ;;AAAM,iBAAKH,EAAL;AAAQ,iBAAKH,EAAL;AAAQ,sBAAM,CAACnzC,CAAC,GAACxhE,CAAC,CAAC2a,KAAF,CAAQgsB,CAAR,EAAUg6B,CAAV,CAAH,EAAiBhmD,KAAjB,CAAuB,CAAC,CAAxB,CAAN,KAAmC5Z,CAAC,CAAC00G,MAAF,GAAS,CAAC,CAAV,EAAYj0C,CAAC,GAACA,CAAC,CAAC7mD,KAAF,CAAQ,CAAR,EAAU,CAAC,CAAX,CAAjD;;AAAgE,iBAAKi6F,EAAL;AAAQh0C,eAAC,KAAGg0C,EAAJ,KAASpzC,CAAC,GAACpmD,CAAX,GAAcwlD,CAAC,IAAEk0C,EAAH,IAAOpwF,CAAC,CAAC6wF,OAAF,CAAU,gBAAc/zC,CAAd,GAAgB,oBAA1B,GAAgDzgE,CAAC,CAACoE,GAAF,CAAMiW,CAAN,EAAQomD,CAAC,CAACn9D,OAAF,CAAU,UAAV,EAAqBy8D,CAArB,CAAR,EAAgCn6B,CAAhC,CAAvD,KAA4F,mCAAiCrM,CAAC,CAAC,EAAD,CAAlC,IAAwCknC,CAAC,CAAC/xC,KAAF,CAAQ,kCAAR,CAAxC,IAAqF/K,CAAC,CAAC6wF,OAAF,CAAU,gBAAc/zC,CAAd,GAAgB,oBAAhB,GAAqCA,CAArC,GAAuC,aAAjD,CAArF,EAAqJzgE,CAAC,CAACoE,GAAF,CAAMq8D,CAAN,EAAQA,CAAR,EAAU76B,CAAV,CAAjP,CAAd;AAA6Q;;AAAM,iBAAKkuE,EAAL;AAAQ,oBAAM,IAAI3hG,KAAJ,CAAU,0BAAV,CAAN;AAA9b;;AAA0e,iBAAOytD,CAAP;;AAAS,aAAI,GAAJ;AAAQvlC,WAAC,GAAC,GAAF;;AAAM;AAAQ,cAAGA,CAAC,IAAE,GAAN,EAAU,QAAOwlC,CAAP;AAAU,iBAAK8zC,EAAL;AAAQ3zG,eAAC,CAACy0G,UAAF,CAAax1G,CAAC,CAAC2a,KAAF,CAAQgsB,CAAR,EAAUg6B,CAAV,CAAb,GAA2BC,CAAC,GAACo0C,EAA7B;AAAgC;;AAAM,iBAAKL,EAAL;AAAQv5F,eAAC,GAACpb,CAAC,CAAC2a,KAAF,CAAQgsB,CAAR,EAAUg6B,CAAV,CAAF,EAAeC,CAAC,GAACg0C,EAAjB;AAAoB;;AAAM,iBAAKE,EAAL;AAAQ,kBAAItzC,CAAC,GAACxhE,CAAC,CAAC2a,KAAF,CAAQgsB,CAAR,EAAUg6B,CAAV,EAAat8D,OAAb,CAAqB,UAArB,EAAgCy8D,CAAhC,CAAN;AAAyCp8C,eAAC,CAAC6wF,OAAF,CAAU,gBAAc/zC,CAAd,GAAgB,oBAA1B,GAAgDzgE,CAAC,CAACoE,GAAF,CAAMiW,CAAN,EAAQomD,CAAR,EAAU76B,CAAV,CAAhD;;AAA6D,iBAAKouE,EAAL;AAAQn0C,eAAC,GAACo0C,EAAF;AAAhN,WAAV,MAAoO,QAAOp0C,CAAP;AAAU,iBAAKg0C,EAAL;AAAQ7zG,eAAC,CAACq+E,OAAF;AAAU,iDAAiC9kD,CAAC,CAAC,EAAD,CAAlC,IAAwClf,CAAC,CAACqU,KAAF,CAAQ,kCAAR,CAAxC,IAAqF/K,CAAC,CAAC6wF,OAAF,CAAU,gBAAcn6F,CAAd,GAAgB,oBAAhB,GAAqCA,CAArC,GAAuC,cAAjD,CAArF,EAAsJra,CAAC,CAACoE,GAAF,CAAMiW,CAAN,EAAQA,CAAR,EAAUurB,CAAV,CAAtJ,EAAmKA,CAAC,GAACg6B,CAArK,EAAuKC,CAAC,GAAC+zC,EAAzK;AAA4K;;AAAM,iBAAKI,EAAL;AAAQrwF,eAAC,CAAC6wF,OAAF,CAAU,iCAA+Bn6F,CAA/B,GAAiC,KAA3C;;AAAkD,iBAAK45F,EAAL;AAAQp0C,eAAC,GAAC+zC,EAAF,EAAKhuE,CAAC,GAACg6B,CAAP;AAAS;;AAAM,iBAAKk0C,EAAL;AAAQj0C,eAAC,GAACk0C,EAAF,EAAKnuE,CAAC,GAACg6B,CAAP;AAAS;;AAAM,iBAAKs0C,EAAL;AAAQ,oBAAM,IAAI/hG,KAAJ,CAAU,4DAAV,CAAN;AAA9T;AAAjkD;;AAA88DytD,OAAC;AAAG;AAAC;;AAAA,WAAS+0C,EAAT,CAAY11G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,SAAI,IAAIu5B,CAAC,GAACt6B,CAAC,CAACo/E,OAAR,EAAgBte,CAAC,GAAC,IAAlB,EAAuBp8C,CAAC,GAAC1kB,CAAC,CAACkD,MAA/B,EAAsCwhB,CAAC,EAAvC,GAA2C;AAAC,UAAItJ,CAAC,GAACpb,CAAC,CAAC0kB,CAAD,CAAP;AAAA,UAAWi8C,CAAC,GAACvlD,CAAC,CAACu6F,KAAf;AAAA,UAAqB/0C,CAAC,GAACxlD,CAAC,CAACiK,KAAzB;AAA+B,UAAG,KAAGq7C,CAAC,GAACC,CAAC,CAACx/D,OAAF,CAAU,GAAV,CAAL,CAAH,EAAwB,IAAIi6B,CAAC,GAAChgB,CAAC,CAACk3B,MAAF,GAASquB,CAAC,CAAChmD,KAAF,CAAQ,CAAR,EAAU+lD,CAAV,CAAf;AAAA,UAA4Bc,CAAC,GAACb,CAAC,CAAChmD,KAAF,CAAQ+lD,CAAC,GAAC,CAAV,CAA9B;AAAA,UAA2CD,CAAC,GAAC,YAAUrlC,CAAV,IAAaomC,CAA1D,CAAxB,KAAyFpmC,CAAC,GAAC,IAAF,EAAOqlC,CAAC,GAAC,aAAWe,CAAC,GAACb,CAAb,KAAiB,EAA1B;AAA6BvlD,OAAC,CAACojE,SAAF,GAAYhd,CAAZ,EAAc,CAAC,CAAD,KAAKf,CAAL,KAAS,QAAMK,CAAN,KAAUA,CAAC,GAAC,EAAF,EAAK80C,EAAE,CAAC70G,CAAD,EAAGA,CAAC,GAAC,EAAL,CAAjB,GAA2BA,CAAC,CAAC0/D,CAAD,CAAD,GAAKK,CAAC,CAACL,CAAD,CAAD,GAAKG,CAArC,EAAuCxlD,CAAC,CAAC29D,GAAF,GAAM,+BAA7C,EAA6EpyC,CAAC,CAACkvE,kBAAF,CAAqBp1C,CAArB,EAAuBG,CAAvB,CAAtF,CAAd;AAA+H;;AAAA,SAAIl8C,CAAC,GAAC1kB,CAAC,CAACkD,MAAR,EAAewhB,CAAC,EAAhB,GAAoB;AAAC,OAAC0W,CAAC,GAAC,CAAChgB,CAAC,GAACpb,CAAC,CAAC0kB,CAAD,CAAJ,EAAS4tB,MAAZ,MAAsB,UAAQlX,CAAR,KAAYhgB,CAAC,CAAC29D,GAAF,GAAM,sCAAlB,GAA0D,YAAU39C,CAAV,KAAchgB,CAAC,CAAC29D,GAAF,GAAMh4E,CAAC,CAACq6B,CAAC,IAAE,EAAJ,CAArB,CAAhF;AAA+G;;AAAA,QAAIslC,CAAJ;AAAMc,KAAC,GAAC,KAAGd,CAAC,GAACpmC,CAAC,CAACn5B,OAAF,CAAU,GAAV,CAAL,KAAsBi6B,CAAC,GAACp7B,CAAC,CAACsyC,MAAF,GAAShY,CAAC,CAAC3f,KAAF,CAAQ,CAAR,EAAU+lD,CAAV,CAAX,EAAwB1gE,CAAC,CAACw+E,SAAF,GAAYlkD,CAAC,CAAC3f,KAAF,CAAQ+lD,CAAC,GAAC,CAAV,CAA1D,KAAyEtlC,CAAC,GAAC,IAAF,EAAOp7B,CAAC,CAACw+E,SAAF,GAAYlkD,CAA5F,CAAF;AAAiG,QAAI8Y,CAAC,GAACpzC,CAAC,CAAC+4E,GAAF,GAAMh4E,CAAC,CAACq6B,CAAC,IAAE,EAAJ,CAAb;AAAqB,QAAGuL,CAAC,CAACmvE,YAAF,CAAe1iE,CAAf,EAAiBouB,CAAjB,EAAmBlnC,CAAnB,EAAqBt6B,CAArB,GAAwB,CAACA,CAAC,CAACy1G,MAA9B,EAAqC,OAAOz1G,CAAC,CAAC+1G,YAAF,GAAeh1G,CAAf,EAAiBf,CAAC,CAACg2G,UAAF,GAAal1C,CAA9B,EAAgC,CAAC,CAAxC;AAA0C,QAAGn6B,CAAC,CAACsvE,UAAF,CAAa7iE,CAAb,EAAeouB,CAAf,EAAiBlnC,CAAjB,GAAoBwmC,CAAvB,EAAyB,KAAI1lC,CAAJ,IAAS0lC,CAAT;AAAWn6B,OAAC,CAACuvE,gBAAF,CAAmB96E,CAAnB;AAAX;AAAiC;;AAAA,WAAS+6E,EAAT,CAAYn2G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoBwmC,CAApB,EAAsB;AAAC,QAAG,yBAAyBnrD,IAAzB,CAA8B5U,CAA9B,CAAH,EAAoC;AAAC,UAAI2jB,CAAC,GAAC1kB,CAAC,CAACmB,OAAF,CAAU,OAAKJ,CAAL,GAAO,GAAjB,EAAqB4lC,CAArB,CAAN;AAAA,UAA8BvrB,CAAC,GAACpb,CAAC,CAACm2D,SAAF,CAAYxvB,CAAC,GAAC,CAAd,EAAgBjiB,CAAhB,CAAhC;AAAmD,UAAG,OAAO/O,IAAP,CAAYyF,CAAZ,CAAH,EAAkB,OAAM,YAAYzF,IAAZ,CAAiB5U,CAAjB,MAAsBqa,CAAC,GAACA,CAAC,CAAC/W,OAAF,CAAU,UAAV,EAAqBi2B,CAArB,CAAxB,GAAiDwmC,CAAC,CAACs1C,UAAF,CAAah7F,CAAb,EAAe,CAAf,EAAiBA,CAAC,CAAClY,MAAnB,CAAjD,EAA4EwhB,CAAlF;AAAoF;;AAAA,WAAOiiB,CAAC,GAAC,CAAT;AAAW;;AAAA,WAAS0vE,EAAT,CAAYr2G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoB;AAAC,QAAIwmC,CAAC,GAACxmC,CAAC,CAACv5B,CAAD,CAAP;AAAW,WAAO,QAAM+/D,CAAN,KAAU,CAACA,CAAC,GAAC9gE,CAAC,CAACivG,WAAF,CAAc,OAAKluG,CAAL,GAAO,GAArB,CAAH,IAA8B4lC,CAA9B,KAAkCm6B,CAAC,GAAC9gE,CAAC,CAACivG,WAAF,CAAc,OAAKluG,CAAnB,CAApC,GAA2Du5B,CAAC,CAACv5B,CAAD,CAAD,GAAK+/D,CAA1E,GAA6EA,CAAC,GAACn6B,CAAtF;AAAwF;;AAAA,WAASivE,EAAT,CAAY51G,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAR,IAAaf,CAAb;AAAe2mC,OAAC,CAAC5lC,CAAD,CAAD,GAAKf,CAAC,CAACe,CAAD,CAAN;AAAf;AAAyB;;AAAA,WAASu1G,EAAT,CAAYt2G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoB;AAAC,YAAOt6B,CAAC,CAAC2pD,MAAF,CAAShjB,CAAC,GAAC,CAAX,CAAP;AAAsB,WAAI,GAAJ;AAAQ,eAAM,QAAM3mC,CAAC,CAAC2pD,MAAF,CAAShjB,CAAC,GAAC,CAAX,CAAN,GAAoB,CAAC,CAArB,GAAuBA,CAAC,IAAEm6B,CAAC,GAAC9gE,CAAC,CAACmB,OAAF,CAAU,QAAV,EAAmBwlC,CAAC,GAAC,CAArB,CAAJ,CAAD,IAA+B5lC,CAAC,CAAC8yG,OAAF,CAAU7zG,CAAV,EAAY2mC,CAAC,GAAC,CAAd,EAAgBm6B,CAAC,GAACn6B,CAAF,GAAI,CAApB,GAAuBm6B,CAAC,GAAC,CAAxD,KAA4DxmC,CAAC,CAACr1B,KAAF,CAAQ,kBAAR,GAA4B,CAAC,CAAzF,CAA7B;;AAAyH;AAAQ,YAAG,YAAUjF,CAAC,CAAC4pD,MAAF,CAASjjB,CAAC,GAAC,CAAX,EAAa,CAAb,CAAb,EAA6B;AAAC,cAAIm6B,CAAC,GAAC9gE,CAAC,CAACmB,OAAF,CAAU,KAAV,EAAgBwlC,CAAC,GAAC,CAAlB,CAAN;AAA2B,iBAAO5lC,CAAC,CAACw1G,UAAF,IAAex1G,CAAC,CAACq1G,UAAF,CAAap2G,CAAb,EAAe2mC,CAAC,GAAC,CAAjB,EAAmBm6B,CAAC,GAACn6B,CAAF,GAAI,CAAvB,CAAf,EAAyC5lC,CAAC,CAACy1G,QAAF,EAAzC,EAAsD11C,CAAC,GAAC,CAA/D;AAAiE;;AAAA,YAAIp8C,CAAC,GAAC,UAAS1kB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAI5lC,CAAJ;AAAA,cAAMu5B,CAAC,GAAC,EAAR;AAAA,cAAWwmC,CAAC,GAAC,4CAAb;AAA0DA,WAAC,CAAC21C,SAAF,GAAY9vE,CAAZ,EAAcm6B,CAAC,CAACvjD,IAAF,CAAOvd,CAAP,CAAd;;AAAwB,iBAAKe,CAAC,GAAC+/D,CAAC,CAACvjD,IAAF,CAAOvd,CAAP,CAAP;AAAkB,gBAAGs6B,CAAC,CAAC/2B,IAAF,CAAOxC,CAAP,GAAUA,CAAC,CAAC,CAAD,CAAd,EAAkB,OAAOu5B,CAAP;AAApC;AAA6C,SAA7I,CAA8It6B,CAA9I,EAAgJ2mC,CAAhJ,CAAN;AAAA,YAAyJvrB,CAAC,GAACsJ,CAAC,CAACxhB,MAA7J;;AAAoK,YAAG,IAAEkY,CAAF,IAAK,YAAYzF,IAAZ,CAAiB+O,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAjB,CAAR,EAAkC;AAAC,cAAIi8C,CAAC,GAACj8C,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAN;AAAA,cAAck8C,CAAC,GAAC,IAAExlD,CAAF,IAAK,YAAYzF,IAAZ,CAAiB+O,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAjB,CAAL,IAAgCA,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAhD;AAAA,cAAwD0W,CAAC,GAAC,IAAEhgB,CAAF,IAAKsJ,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAA/D;AAAA,cAAuE88C,CAAC,GAAC98C,CAAC,CAACtJ,CAAC,GAAC,CAAH,CAA1E;AAAgF,iBAAOra,CAAC,CAAC21G,QAAF,CAAW/1C,CAAX,EAAaC,CAAC,IAAEA,CAAC,CAACv8D,OAAF,CAAU,iBAAV,EAA4B,IAA5B,CAAhB,EAAkD+2B,CAAC,IAAEA,CAAC,CAAC/2B,OAAF,CAAU,iBAAV,EAA4B,IAA5B,CAArD,GAAwFtD,CAAC,CAAC41G,MAAF,EAAxF,EAAmGn1C,CAAC,CAACr4D,KAAF,GAAQq4D,CAAC,CAAC,CAAD,CAAD,CAAKt+D,MAAvH;AAA8H;;AAA9qB;;AAA+qB,WAAM,CAAC,CAAP;AAAS;;AAAA,WAAS0zG,EAAT,CAAY52G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAC,GAACt6B,CAAC,CAACmB,OAAF,CAAU,IAAV,EAAewlC,CAAf,CAAN;;AAAwB,QAAGrM,CAAH,EAAK;AAAC,UAAIwmC,CAAC,GAAC9gE,CAAC,CAACm2D,SAAF,CAAYxvB,CAAZ,EAAcrM,CAAd,EAAiB7K,KAAjB,CAAuB,4BAAvB,CAAN;;AAA2D,UAAGqxC,CAAH,EAAK;AAACA,SAAC,CAAC,CAAD,CAAD,CAAK59D,MAAL;AAAY,eAAOnC,CAAC,CAAC81G,qBAAF,CAAwB/1C,CAAC,CAAC,CAAD,CAAzB,EAA6BA,CAAC,CAAC,CAAD,CAA9B,GAAmCxmC,CAAC,GAAC,CAA5C;AAA8C;;AAAA,aAAM,CAAC,CAAP;AAAS;;AAAA,WAAM,CAAC,CAAP;AAAS;;AAAA,WAASw8E,EAAT,CAAY92G,CAAZ,EAAc,CAAE;;AAAA,WAAS+2G,EAAT,CAAY/2G,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAO3mC,CAAC,CAACyjE,SAAF,GAAY98B,CAAZ,EAAc3mC,CAArB;AAAuB;;AAAAk1G,IAAE,CAACn7F,SAAH,GAAa;AAAChL,SAAK,EAAC,eAAS/O,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAAC,KAAK08E,UAAX;AAAsB18E,OAAC,CAAC28E,aAAF,IAAkBrB,EAAE,CAACjvE,CAAD,EAAGA,CAAC,GAAC,EAAL,CAApB,EAA6B,UAAS5lC,CAAT,EAAWf,CAAX,EAAas6B,CAAb,EAAewmC,CAAf,EAAiBp8C,CAAjB,EAAmB;AAAC,iBAAStJ,CAAT,CAAWpb,CAAX,EAAa;AAAC,cAAI2mC,CAAC,GAAC3mC,CAAC,CAAC2a,KAAF,CAAQ,CAAR,EAAU,CAAC,CAAX,CAAN;AAAoB,iBAAOgsB,CAAC,IAAIrM,CAAL,GAAOA,CAAC,CAACqM,CAAD,CAAR,GAAY,QAAMA,CAAC,CAACgjB,MAAF,CAAS,CAAT,CAAN,GAAkB,UAAS3pD,CAAT,EAAW;AAAC,gBAAG,QAAMA,CAAT,EAAW;AAAC,kBAAI2mC,CAAC,GAAC,SAAO,CAAC3mC,CAAC,IAAE,KAAJ,KAAY,EAAnB,CAAN;AAAA,kBAA6Be,CAAC,GAAC,SAAO,OAAKf,CAAZ,CAA/B;AAA8C,qBAAOwuB,MAAM,CAACC,YAAP,CAAoBkY,CAApB,EAAsB5lC,CAAtB,CAAP;AAAgC;;AAAA,mBAAOytB,MAAM,CAACC,YAAP,CAAoBzuB,CAApB,CAAP;AAA8B,WAApI,CAAqI0G,QAAQ,CAACigC,CAAC,CAACijB,MAAF,CAAS,CAAT,EAAYvlD,OAAZ,CAAoB,GAApB,EAAwB,IAAxB,CAAD,CAA7I,CAAlB,IAAiMqgB,CAAC,CAACzf,KAAF,CAAQ,sBAAoBjF,CAA5B,GAA+BA,CAAhO,CAAnB;AAAsP;;AAAA,iBAAS2mC,CAAT,CAAW3mC,CAAX,EAAa;AAAC,cAAGshE,CAAC,GAACthE,CAAL,EAAO;AAAC,gBAAI2mC,CAAC,GAAC5lC,CAAC,CAACo1D,SAAF,CAAYmL,CAAZ,EAActhE,CAAd,EAAiBqE,OAAjB,CAAyB,UAAzB,EAAoC+W,CAApC,CAAN;AAA6CqlD,aAAC,IAAEE,CAAC,CAACW,CAAD,CAAJ,EAAQR,CAAC,CAACs1C,UAAF,CAAazvE,CAAb,EAAe,CAAf,EAAiB3mC,CAAC,GAACshE,CAAnB,CAAR,EAA8BA,CAAC,GAACthE,CAAhC;AAAkC;AAAC;;AAAA,iBAAS2gE,CAAT,CAAW3gE,CAAX,EAAa2mC,CAAb,EAAe;AAAC,iBAAKvL,CAAC,IAAEp7B,CAAH,KAAO2mC,CAAC,GAAC66B,CAAC,CAACjkD,IAAF,CAAOxc,CAAP,CAAT,CAAL;AAA0B6/D,aAAC,GAACj6B,CAAC,CAACx9B,KAAJ,EAAUiyB,CAAC,GAACwlC,CAAC,GAACj6B,CAAC,CAAC,CAAD,CAAD,CAAKzjC,MAAnB,EAA0Bu9D,CAAC,CAAC20C,UAAF,EAA1B;AAA1B;;AAAmE30C,WAAC,CAAC40C,YAAF,GAAer1G,CAAC,GAAC4gE,CAAF,GAAI,CAAnB;AAAqB;;AAAA,YAAIA,CAAC,GAAC,CAAN;AAAA,YAAQxlC,CAAC,GAAC,CAAV;AAAA,YAAYomC,CAAC,GAAC,qBAAd;AAAA,YAAoCf,CAAC,GAACK,CAAC,CAACo2C,OAAxC;AAAA,YAAgDx2C,CAAC,GAAC,CAAC;AAACq1C,sBAAY,EAAC/1G;AAAd,SAAD,CAAlD;AAAA,YAAqEozC,CAAC,GAAC,EAAvE;AAAA,YAA0EkuB,CAAC,GAAC,CAA5E;;AAA8E,iBAAO;AAAC,cAAG;AAAC,gBAAI/xC,CAAC,GAACxuB,CAAC,CAACI,OAAF,CAAU,GAAV,EAAcmgE,CAAd,CAAN;;AAAuB,gBAAG/xC,CAAC,GAAC,CAAL,EAAO;AAAC,kBAAG,CAACxuB,CAAC,CAAC6oD,MAAF,CAAS0X,CAAT,EAAY7xC,KAAZ,CAAkB,OAAlB,CAAJ,EAA+B;AAAC,oBAAIiyC,CAAC,GAACZ,CAAC,CAACj5C,GAAR;AAAA,oBAAYoV,CAAC,GAACykC,CAAC,CAAC17B,cAAF,CAAiBjlC,CAAC,CAAC6oD,MAAF,CAAS0X,CAAT,CAAjB,CAAd;AAA4CI,iBAAC,CAACx5C,WAAF,CAAc+U,CAAd,GAAiB6jC,CAAC,CAACq2C,cAAF,GAAiBl6E,CAAlC;AAAoC;;AAAA;AAAO;;AAAA,oBAAOqkC,CAAC,GAAC/xC,CAAF,IAAKoX,CAAC,CAACpX,CAAD,CAAN,EAAUxuB,CAAC,CAAC4oD,MAAF,CAASp6B,CAAC,GAAC,CAAX,CAAjB;AAAgC,mBAAI,GAAJ;AAAQ,oBAAIjN,CAAC,GAACvhB,CAAC,CAACI,OAAF,CAAU,GAAV,EAAcouB,CAAC,GAAC,CAAhB,CAAN;AAAA,oBAAyB4M,CAAC,GAACp7B,CAAC,CAACo1D,SAAF,CAAY5mC,CAAC,GAAC,CAAd,EAAgBjN,CAAhB,CAA3B;AAAA,oBAA8CjH,CAAC,GAACqlD,CAAC,CAAC7zC,GAAF,EAAhD;;AAAwDvK,iBAAC,GAAC,CAAF,IAAK6Z,CAAC,GAACp7B,CAAC,CAACo1D,SAAF,CAAY5mC,CAAC,GAAC,CAAd,EAAiBlrB,OAAjB,CAAyB,SAAzB,EAAmC,EAAnC,CAAF,EAAyCqgB,CAAC,CAACzf,KAAF,CAAQ,mBAAiBk3B,CAAjB,GAAmB,mBAAnB,GAAuC9gB,CAAC,CAAC+jE,OAAjD,CAAzC,EAAmG98D,CAAC,GAACiN,CAAC,GAAC,CAAF,GAAI4M,CAAC,CAACj5B,MAAhH,IAAwHi5B,CAAC,CAAC1M,KAAF,CAAQ,KAAR,MAAiB0M,CAAC,GAACA,CAAC,CAAC93B,OAAF,CAAU,SAAV,EAAoB,EAApB,CAAF,EAA0BqgB,CAAC,CAACzf,KAAF,CAAQ,mBAAiBk3B,CAAjB,GAAmB,qBAA3B,CAA1B,EAA4E7Z,CAAC,GAACiN,CAAC,GAAC,CAAF,GAAI4M,CAAC,CAACj5B,MAArG,CAAxH;AAAqO,oBAAIy+D,CAAC,GAACtmD,CAAC,CAAC26F,UAAR;AAAA,oBAAmBp0C,CAAC,GAACvmD,CAAC,CAAC+jE,OAAF,IAAWjjD,CAAhC;;AAAkC,oBAAGylC,CAAC,IAAEvmD,CAAC,CAAC+jE,OAAF,IAAW/jE,CAAC,CAAC+jE,OAAF,CAAU/6D,WAAV,MAAyB8X,CAAC,CAAC9X,WAAF,EAA1C,EAA0D;AAAC,sBAAGy8C,CAAC,CAACm1C,UAAF,CAAa56F,CAAC,CAAC09D,GAAf,EAAmB19D,CAAC,CAACmjE,SAArB,EAA+BriD,CAA/B,GAAkCwlC,CAArC,EAAuC,KAAI,IAAIG,CAAR,IAAaH,CAAb;AAAeb,qBAAC,CAACo1C,gBAAF,CAAmBp0C,CAAnB;AAAf;AAAqCF,mBAAC,IAAEl9C,CAAC,CAAC0yF,UAAF,CAAa,mBAAiBj7E,CAAjB,GAAmB,0CAAnB,GAA8D9gB,CAAC,CAAC+jE,OAA7E,CAAH;AAAyF,iBAAhO,MAAqO1e,CAAC,CAACn9D,IAAF,CAAO8X,CAAP;;AAAUiH,iBAAC;AAAG;;AAAM,mBAAI,GAAJ;AAAQm+C,iBAAC,IAAEE,CAAC,CAACpxC,CAAD,CAAJ,EAAQjN,CAAC,GAACs0F,EAAE,CAAC71G,CAAD,EAAGwuB,CAAH,EAAKuxC,CAAL,CAAZ;AAAoB;;AAAM,mBAAI,GAAJ;AAAQL,iBAAC,IAAEE,CAAC,CAACpxC,CAAD,CAAJ,EAAQjN,CAAC,GAACg0F,EAAE,CAACv1G,CAAD,EAAGwuB,CAAH,EAAKuxC,CAAL,EAAOp8C,CAAP,CAAZ;AAAsB;;AAAM;AAAQ+7C,iBAAC,IAAEE,CAAC,CAACpxC,CAAD,CAAJ;AAAQ,oBAAI0yC,CAAC,GAAC,IAAI60C,EAAJ,EAAN;AAAA,oBAAatwF,CAAC,GAACk6C,CAAC,CAACA,CAAC,CAACx9D,MAAF,GAAS,CAAV,CAAD,CAAc6yG,YAA7B;AAAA,oBAA0C7zC,CAAC,IAAE5/C,CAAC,GAACgzF,EAAE,CAACv0G,CAAD,EAAGwuB,CAAH,EAAK0yC,CAAL,EAAOz7C,CAAP,EAASpL,CAAT,EAAWsJ,CAAX,CAAJ,EAAkBu9C,CAAC,CAAC/+D,MAAtB,CAA3C;;AAAyE,oBAAG,CAAC++D,CAAC,CAACwzC,MAAH,IAAWY,EAAE,CAACt1G,CAAD,EAAGuhB,CAAH,EAAK2/C,CAAC,CAACmd,OAAP,EAAehsC,CAAf,CAAb,KAAiC6uB,CAAC,CAACwzC,MAAF,GAAS,CAAC,CAAV,EAAYn7E,CAAC,CAAC+8E,IAAF,IAAQ3yF,CAAC,CAAC6wF,OAAF,CAAU,wBAAV,CAArD,GAA0F90C,CAAC,IAAEyB,CAAhG,EAAkG;AAAC,uBAAI,IAAI7/C,CAAC,GAAC8yF,EAAE,CAAC10C,CAAD,EAAG,EAAH,CAAR,EAAe0B,CAAC,GAAC,CAArB,EAAuBA,CAAC,GAACD,CAAzB,EAA2BC,CAAC,EAA5B,EAA+B;AAAC,wBAAIC,CAAC,GAACH,CAAC,CAACE,CAAD,CAAP;AAAWxB,qBAAC,CAACyB,CAAC,CAACpuD,MAAH,CAAD,EAAYouD,CAAC,CAAC80C,OAAF,GAAU/B,EAAE,CAAC10C,CAAD,EAAG,EAAH,CAAxB;AAA+B;;AAAAK,mBAAC,CAACo2C,OAAF,GAAU70F,CAAV,EAAYqzF,EAAE,CAACzzC,CAAD,EAAGnB,CAAH,EAAKt6C,CAAL,CAAF,IAAWk6C,CAAC,CAACn9D,IAAF,CAAO0+D,CAAP,CAAvB,EAAiCnB,CAAC,CAACo2C,OAAF,GAAUz2C,CAA3C;AAA6C,iBAA1N,MAA+Ni1C,EAAE,CAACzzC,CAAD,EAAGnB,CAAH,EAAKt6C,CAAL,CAAF,IAAWk6C,CAAC,CAACn9D,IAAF,CAAO0+D,CAAP,CAAX;;AAAqB,mDAAiCA,CAAC,CAAC8W,GAAnC,IAAwC9W,CAAC,CAACwzC,MAA1C,GAAiDnzF,CAAC,EAAlD,GAAqDA,CAAC,GAAC6zF,EAAE,CAACp1G,CAAD,EAAGuhB,CAAH,EAAK2/C,CAAC,CAACmd,OAAP,EAAehkE,CAAf,EAAiB0lD,CAAjB,CAAzD;AAAn/B;AAAikC,WAA3tC,CAA2tC,OAAM9gE,CAAN,EAAQ;AAAC0kB,aAAC,CAACzf,KAAF,CAAQ,0BAAwBjF,CAAhC,GAAmCsiB,CAAC,GAAC,CAAC,CAAtC;AAAwC;;AAAAg/C,WAAC,GAACh/C,CAAF,GAAIg/C,CAAC,GAACh/C,CAAN,GAAQqkB,CAAC,CAAChmB,IAAI,CAACC,GAAL,CAAS2O,CAAT,EAAW+xC,CAAX,IAAc,CAAf,CAAT;AAA2B;AAAC,OAAx3D,CAAy3DthE,CAAz3D,EAA23D2mC,CAA33D,EAA63D5lC,CAA73D,EAA+3Du5B,CAA/3D,EAAi4D,KAAKg9E,YAAt4D,CAA7B,EAAi7Dh9E,CAAC,CAACi9E,WAAF,EAAj7D;AAAi8D;AAA9+D,GAAb,EAA6/DT,EAAE,CAAC/8F,SAAH,GAAa;AAACy7F,cAAU,EAAC,oBAASx1G,CAAT,EAAW;AAAC,UAAG,CAACy0G,EAAE,CAAC9+F,IAAH,CAAQ3V,CAAR,CAAJ,EAAe,MAAM,IAAIkT,KAAJ,CAAU,qBAAmBlT,CAA7B,CAAN;AAAsC,WAAKo/E,OAAL,GAAap/E,CAAb;AAAe,KAA5F;AAA6FmF,OAAG,EAAC,aAASnF,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAG,CAAC0zG,EAAE,CAAC9+F,IAAH,CAAQ3V,CAAR,CAAJ,EAAe,MAAM,IAAIkT,KAAJ,CAAU,uBAAqBlT,CAA/B,CAAN;AAAwC,WAAK,KAAKkD,MAAL,EAAL,IAAoB;AAACyyG,aAAK,EAAC31G,CAAP;AAASqlB,aAAK,EAACshB,CAAf;AAAiB3yB,cAAM,EAACjT;AAAxB,OAApB;AAA+C,KAAvN;AAAwNmC,UAAM,EAAC,CAA/N;AAAiOs0G,gBAAY,EAAC,sBAASx3G,CAAT,EAAW;AAAC,aAAO,KAAKA,CAAL,EAAQw+E,SAAf;AAAyB,KAAnR;AAAoRi5B,cAAU,EAAC,oBAASz3G,CAAT,EAAW;AAAC,aAAO,KAAKA,CAAL,EAAQk3G,OAAf;AAAuB,KAAlU;AAAmUQ,YAAQ,EAAC,kBAAS13G,CAAT,EAAW;AAAC,aAAO,KAAKA,CAAL,EAAQ21G,KAAf;AAAqB,KAA7W;AAA8WgC,UAAM,EAAC,gBAAS33G,CAAT,EAAW;AAAC,aAAO,KAAKA,CAAL,EAAQ+4E,GAAf;AAAmB,KAApZ;AAAqZ6+B,YAAQ,EAAC,kBAAS53G,CAAT,EAAW;AAAC,aAAO,KAAKA,CAAL,EAAQqlB,KAAf;AAAqB;AAA/b,GAA1gE,EAA28E0xF,EAAE,CAAC,EAAD,EAAIA,EAAE,CAACh9F,SAAP,CAAF,YAA8Bg9F,EAA9B,KAAmCA,EAAE,GAAC,YAAS/2G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAS5lC,CAAT,GAAY,CAAE;;AAAA,SAAI4lC,CAAJ,IAAS5lC,CAAC,CAACgZ,SAAF,GAAY4sB,CAAZ,EAAc5lC,CAAC,GAAC,IAAIA,CAAJ,EAAhB,EAAsBf,CAA/B;AAAiCe,OAAC,CAAC4lC,CAAD,CAAD,GAAK3mC,CAAC,CAAC2mC,CAAD,CAAN;AAAjC;;AAA2C,WAAO5lC,CAAP;AAAS,GAAtH,CAA38E;AAAmkF,MAAI82G,EAAE,GAAC;AAACC,aAAS,EAAC5C;AAAX,GAAP;;AAAsB,WAAS6C,EAAT,CAAY/3G,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAR,IAAaf,CAAb;AAAe2mC,OAAC,CAAC5lC,CAAD,CAAD,GAAKf,CAAC,CAACe,CAAD,CAAN;AAAf;AAAyB;;AAAA,WAASi3G,EAAT,CAAYh4G,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAACf,CAAC,CAAC+Z,SAAR;;AAAkB,QAAGvT,MAAM,CAACgW,MAAV,EAAiB;AAAC,UAAI8d,CAAC,GAAC9zB,MAAM,CAACgW,MAAP,CAAcmqB,CAAC,CAAC5sB,SAAhB,CAAN;AAAiChZ,OAAC,CAAC0iE,SAAF,GAAYnpC,CAAZ;AAAc;;AAAA,QAAG,EAAEv5B,CAAC,YAAY4lC,CAAf,CAAH,EAAqB;AAAC,UAAIm6B,CAAC,GAAC,aAAU,CAAE,CAAlB;;AAAmBA,OAAC,CAAC/mD,SAAF,GAAY4sB,CAAC,CAAC5sB,SAAd,EAAwBg+F,EAAE,CAACh3G,CAAD,EAAG+/D,CAAC,GAAC,IAAIA,CAAJ,EAAL,CAA1B,EAAsC9gE,CAAC,CAAC+Z,SAAF,GAAYhZ,CAAC,GAAC+/D,CAApD;AAAsD;;AAAA//D,KAAC,CAACynB,WAAF,IAAexoB,CAAf,KAAmBe,CAAC,CAACynB,WAAF,GAAcxoB,CAAjC;AAAoC;;AAAA,MAAIi4G,EAAE,GAAC,8BAAP;AAAA,MAAsCC,EAAE,GAAC,EAAzC;AAAA,MAA4CC,EAAE,GAACD,EAAE,CAACE,YAAH,GAAgB,CAA/D;AAAA,MAAiEC,EAAE,GAACH,EAAE,CAACI,cAAH,GAAkB,CAAtF;AAAA,MAAwFC,EAAE,GAACL,EAAE,CAACM,SAAH,GAAa,CAAxG;AAAA,MAA0GC,EAAE,GAACP,EAAE,CAACQ,kBAAH,GAAsB,CAAnI;AAAA,MAAqIC,EAAE,GAACT,EAAE,CAACU,qBAAH,GAAyB,CAAjK;AAAA,MAAmKC,EAAE,GAACX,EAAE,CAACY,WAAH,GAAe,CAArL;AAAA,MAAuLC,EAAE,GAACb,EAAE,CAACc,2BAAH,GAA+B,CAAzN;AAAA,MAA2NC,EAAE,GAACf,EAAE,CAACgB,YAAH,GAAgB,CAA9O;AAAA,MAAgPC,EAAE,GAACjB,EAAE,CAACkB,aAAH,GAAiB,CAApQ;AAAA,MAAsQC,EAAE,GAACnB,EAAE,CAACoB,kBAAH,GAAsB,EAA/R;AAAA,MAAkSC,EAAE,GAACrB,EAAE,CAACsB,sBAAH,GAA0B,EAA/T;AAAA,MAAkUC,EAAE,GAACvB,EAAE,CAACwB,aAAH,GAAiB,EAAtV;AAAA,MAAyVC,EAAE,GAAC,EAA5V;AAAA,MAA+VC,EAAE,GAAC,EAAlW;AAAA,MAAqWC,EAAE,IAAEF,EAAE,CAACG,cAAH,IAAmBF,EAAE,CAAC,CAAD,CAAF,GAAM,kBAAN,EAAyB,CAA5C,GAA+CD,EAAE,CAACI,kBAAH,IAAuBH,EAAE,CAAC,CAAD,CAAF,GAAM,sBAAN,EAA6B,CAApD,CAA/C,EAAsGD,EAAE,CAACK,qBAAH,IAA0BJ,EAAE,CAAC,CAAD,CAAF,GAAM,yBAAN,EAAgC,CAA1D,CAAxG,CAAvW;AAAA,MAA6gBK,EAAE,IAAEN,EAAE,CAACO,kBAAH,IAAuBN,EAAE,CAAC,CAAD,CAAF,GAAM,gBAAN,EAAuB,CAA9C,GAAiDD,EAAE,CAACQ,qBAAH,IAA0BP,EAAE,CAAC,CAAD,CAAF,GAAM,mBAAN,EAA0B,CAApD,CAAjD,EAAwGD,EAAE,CAACS,mBAAH,IAAwBR,EAAE,CAAC,CAAD,CAAF,GAAM,iBAAN,EAAwB,CAAhD,CAAxG,EAA2JD,EAAE,CAACU,2BAAH,IAAgCT,EAAE,CAAC,CAAD,CAAF,GAAM,yBAAN,EAAgC,CAAhE,CAA3J,EAA8ND,EAAE,CAACW,aAAH,IAAkBV,EAAE,CAAC,CAAD,CAAF,GAAM,WAAN,EAAkB,CAApC,CAAhO,CAA/gB;AAAA,MAAuxBW,EAAE,IAAEZ,EAAE,CAACa,iBAAH,IAAsBZ,EAAE,CAAC,CAAD,CAAF,GAAM,eAAN,EAAsB,CAA5C,GAA+CD,EAAE,CAACc,mBAAH,IAAwBb,EAAE,CAAC,EAAD,CAAF,GAAO,kBAAP,EAA0B,EAAlD,CAAjD,CAAzxB;AAAi4BD,IAAE,CAACe,iBAAH,IAAsBd,EAAE,CAAC,EAAD,CAAF,GAAO,eAAP,EAAuB,EAA7C,GAAiDD,EAAE,CAACgB,UAAH,IAAef,EAAE,CAAC,EAAD,CAAF,GAAO,cAAP,EAAsB,EAArC,CAAjD,EAA0FD,EAAE,CAACiB,wBAAH,IAA6BhB,EAAE,CAAC,EAAD,CAAF,GAAO,sBAAP,EAA8B,EAA3D,CAA1F,EAAyJD,EAAE,CAACkB,aAAH,IAAkBjB,EAAE,CAAC,EAAD,CAAF,GAAO,mBAAP,EAA2B,EAA7C,CAAzJ,EAA0MD,EAAE,CAACmB,kBAAH,IAAuBlB,EAAE,CAAC,EAAD,CAAF,GAAO,gBAAP,EAAwB,EAA/C,CAA1M;;AAA6P,WAASmB,EAAT,CAAY/6G,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAGA,CAAC,YAAYzzB,KAAhB,EAAsB,IAAInS,CAAC,GAAC4lC,CAAN,CAAtB,KAAmC5lC,CAAC,GAAC,IAAF,EAAOmS,KAAK,CAACvN,IAAN,CAAW,IAAX,EAAgBi0G,EAAE,CAAC55G,CAAD,CAAlB,CAAP,EAA8B,KAAKie,OAAL,GAAa27F,EAAE,CAAC55G,CAAD,CAA7C,EAAiDkT,KAAK,CAAC8nG,iBAAN,IAAyB9nG,KAAK,CAAC8nG,iBAAN,CAAwB,IAAxB,EAA6BD,EAA7B,CAA1E;AAA2G,WAAOh6G,CAAC,CAAC4mB,IAAF,GAAO3nB,CAAP,EAAS2mC,CAAC,KAAG,KAAK1oB,OAAL,GAAa,KAAKA,OAAL,GAAa,IAAb,GAAkB0oB,CAAlC,CAAV,EAA+C5lC,CAAtD;AAAwD;;AAAA,WAASk6G,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,CAAYl7G,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAKw0E,KAAL,GAAWn7G,CAAX,EAAa,KAAKo7G,QAAL,GAAcz0E,CAA3B,EAA6B00E,EAAE,CAAC,IAAD,CAA/B;AAAsC;;AAAA,WAASA,EAAT,CAAYr7G,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAACm7G,KAAF,CAAQG,IAAR,IAAct7G,CAAC,CAACm7G,KAAF,CAAQtrF,aAAR,CAAsByrF,IAA1C;;AAA+C,QAAGt7G,CAAC,CAACs7G,IAAF,IAAQ30E,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAACf,CAAC,CAACo7G,QAAF,CAAWp7G,CAAC,CAACm7G,KAAb,CAAN;;AAA0BI,QAAE,CAACv7G,CAAD,EAAG,QAAH,EAAYe,CAAC,CAACmC,MAAd,CAAF,EAAwB60G,EAAE,CAACh3G,CAAD,EAAGf,CAAH,CAA1B,EAAgCA,CAAC,CAACs7G,IAAF,GAAO30E,CAAvC;AAAyC;AAAC;;AAAA,WAAS60E,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,CAAYz7G,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAC,GAACf,CAAC,CAACkD,MAAZ,EAAmBnC,CAAC,EAApB;AAAwB,UAAGf,CAAC,CAACe,CAAD,CAAD,KAAO4lC,CAAV,EAAY,OAAO5lC,CAAP;AAApC;AAA6C;;AAAA,WAAS26G,EAAT,CAAY17G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoB;AAAC,QAAGA,CAAC,GAACqM,CAAC,CAAC80E,EAAE,CAAC90E,CAAD,EAAGrM,CAAH,CAAH,CAAD,GAAWv5B,CAAZ,GAAc4lC,CAAC,CAACA,CAAC,CAACzjC,MAAF,EAAD,CAAD,GAAcnC,CAA7B,EAA+Bf,CAAlC,EAAoC;AAAC,UAAI8gE,CAAC,GAAC,CAAC//D,CAAC,CAAC46G,YAAF,GAAe37G,CAAhB,EAAmB6vB,aAAzB;AAAuCixC,OAAC,KAAGxmC,CAAC,IAAEshF,EAAE,CAAC96C,CAAD,EAAG9gE,CAAH,EAAKs6B,CAAL,CAAL,EAAa,UAASt6B,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAACf,SAAC,IAAEA,CAAC,CAACs7G,IAAF,EAAH,EAAY,mCAAiCv6G,CAAC,CAAC6wB,YAAnC,KAAkD+U,CAAC,CAACk1E,MAAF,CAAS96G,CAAC,CAACuxC,MAAF,GAASvxC,CAAC,CAACy9E,SAAX,GAAqB,EAA9B,IAAkCz9E,CAAC,CAACskB,KAAtF,CAAZ;AAAyG,OAAzH,CAA0Hy7C,CAA1H,EAA4H9gE,CAA5H,EAA8He,CAA9H,CAAhB,CAAD;AAAmJ;AAAC;;AAAA,WAAS+6G,EAAT,CAAY97G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAC,GAACmhF,EAAE,CAAC90E,CAAD,EAAG5lC,CAAH,CAAR;;AAAc,QAAG,EAAE,KAAGu5B,CAAL,CAAH,EAAW,MAAMygF,EAAE,CAACd,EAAD,EAAI,IAAI/mG,KAAJ,CAAUlT,CAAC,CAACo/E,OAAF,GAAU,GAAV,GAAcr+E,CAAxB,CAAJ,CAAR;;AAAwC,SAAI,IAAI+/D,CAAC,GAACn6B,CAAC,CAACzjC,MAAF,GAAS,CAAnB,EAAqBo3B,CAAC,GAACwmC,CAAvB;AAA0Bn6B,OAAC,CAACrM,CAAD,CAAD,GAAKqM,CAAC,CAAC,EAAErM,CAAH,CAAN;AAA1B;;AAAsC,QAAGqM,CAAC,CAACzjC,MAAF,GAAS49D,CAAT,EAAW9gE,CAAd,EAAgB;AAAC,UAAI0kB,CAAC,GAAC1kB,CAAC,CAAC6vB,aAAR;AAAsBnL,OAAC,KAAGk3F,EAAE,CAACl3F,CAAD,EAAG1kB,CAAH,EAAKe,CAAL,CAAF,EAAUA,CAAC,CAAC46G,YAAF,GAAe,IAA5B,CAAD;AAAmC;AAAC;;AAAA,WAASI,EAAT,CAAY/7G,CAAZ,EAAc;AAAC,QAAG,KAAKg8G,SAAL,GAAe,EAAf,EAAkBh8G,CAArB,EAAuB,KAAI,IAAI2mC,CAAR,IAAa3mC,CAAb;AAAe,WAAKg8G,SAAL,GAAeh8G,CAAC,CAAC2mC,CAAD,CAAhB;AAAf;AAAmC;;AAAA,WAASs1E,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,CAAYl8G,CAAZ,EAAc;AAAC,WAAM,CAAC,OAAKA,CAAL,GAAO,MAAP,GAAc,OAAKA,CAAL,IAAQ,MAAvB,KAAgC,OAAKA,CAAL,IAAQ,OAAxC,IAAiD,OAAKA,CAAL,IAAQ,QAAzD,IAAmE,OAAKA,CAAC,CAAC8uB,UAAF,EAAL,GAAoB,GAA7F;AAAiG;;AAAA,WAASqtF,EAAT,CAAYn8G,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAGA,CAAC,CAAC3mC,CAAD,CAAJ,EAAQ,OAAM,CAAC,CAAP;AAAS,QAAGA,CAAC,GAACA,CAAC,CAACg0B,UAAP,EAAkB,GAAE;AAAC,UAAGmoF,EAAE,CAACn8G,CAAD,EAAG2mC,CAAH,CAAL,EAAW,OAAM,CAAC,CAAP;AAAS,KAAvB,QAA6B3mC,CAAC,GAACA,CAAC,CAACmxB,WAAjC;AAA8C;;AAAA,WAASirF,EAAT,GAAa,CAAE;;AAAA,WAASR,EAAT,CAAY57G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAACf,KAAC,IAAEA,CAAC,CAACs7G,IAAF,EAAH,EAAY,mCAAiCv6G,CAAC,CAAC6wB,YAAnC,IAAiD,OAAO+U,CAAC,CAACk1E,MAAF,CAAS96G,CAAC,CAACuxC,MAAF,GAASvxC,CAAC,CAACy9E,SAAX,GAAqB,EAA9B,CAApE;AAAsG;;AAAA,WAAS69B,EAAT,CAAYr8G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAGf,CAAC,IAAEA,CAAC,CAACs7G,IAAR,EAAa;AAACt7G,OAAC,CAACs7G,IAAF;AAAS,UAAIhhF,CAAC,GAACqM,CAAC,CAACvX,UAAR;AAAmB,UAAGruB,CAAH,EAAKu5B,CAAC,CAACA,CAAC,CAACp3B,MAAF,EAAD,CAAD,GAAcnC,CAAd,CAAL,KAAyB;AAAC,aAAI,IAAI+/D,CAAC,GAACn6B,CAAC,CAAC3S,UAAR,EAAmBtP,CAAC,GAAC,CAAzB,EAA2Bo8C,CAA3B;AAA8BA,WAAC,GAAC,CAACxmC,CAAC,CAAC5V,CAAC,EAAF,CAAD,GAAOo8C,CAAR,EAAW3vC,WAAb;AAA9B;;AAAuDmJ,SAAC,CAACp3B,MAAF,GAASwhB,CAAT;AAAW;AAAC;AAAC;;AAAA,WAAS43F,EAAT,CAAYt8G,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAAC4lC,CAAC,CAAC41E,eAAR;AAAA,QAAwBjiF,CAAC,GAACqM,CAAC,CAACxV,WAA5B;AAAwC,WAAOpwB,CAAC,GAACA,CAAC,CAACowB,WAAF,GAAcmJ,CAAf,GAAiBt6B,CAAC,CAACg0B,UAAF,GAAasG,CAA/B,EAAiCA,CAAC,GAACA,CAAC,CAACiiF,eAAF,GAAkBx7G,CAAnB,GAAqBf,CAAC,CAACq1B,SAAF,GAAYt0B,CAAnE,EAAqEs7G,EAAE,CAACr8G,CAAC,CAAC6vB,aAAH,EAAiB7vB,CAAjB,CAAvE,EAA2F2mC,CAAlG;AAAoG;;AAAA,WAAS61E,EAAT,CAAYx8G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAC,GAACqM,CAAC,CAACtzB,UAAR;;AAAmB,QAAGinB,CAAC,IAAEA,CAAC,CAACnS,WAAF,CAAcwe,CAAd,CAAH,EAAoBA,CAAC,CAAC9pB,QAAF,KAAa08F,EAApC,EAAuC;AAAC,UAAIz4C,CAAC,GAACn6B,CAAC,CAAC3S,UAAR;AAAmB,UAAG,QAAM8sC,CAAT,EAAW,OAAOn6B,CAAP;AAAS,UAAIjiB,CAAC,GAACiiB,CAAC,CAACtR,SAAR;AAAkB,KAAjG,MAAsGyrC,CAAC,GAACp8C,CAAC,GAACiiB,CAAJ;;AAAM,QAAIvrB,CAAC,GAACra,CAAC,GAACA,CAAC,CAACw7G,eAAH,GAAmBv8G,CAAC,CAACq1B,SAA5B;;AAAsC,SAAIyrC,CAAC,CAACy7C,eAAF,GAAkBnhG,CAAlB,EAAoBsJ,CAAC,CAACyM,WAAF,GAAcpwB,CAAlC,EAAoCqa,CAAC,GAACA,CAAC,CAAC+V,WAAF,GAAc2vC,CAAf,GAAiB9gE,CAAC,CAACg0B,UAAF,GAAa8sC,CAAnE,EAAqE,QAAM//D,CAAN,GAAQf,CAAC,CAACq1B,SAAF,GAAY3Q,CAApB,GAAsB3jB,CAAC,CAACw7G,eAAF,GAAkB73F,CAAjH,EAAmHo8C,CAAC,CAACztD,UAAF,GAAarT,CAAb,EAAe8gE,CAAC,KAAGp8C,CAAJ,KAAQo8C,CAAC,GAACA,CAAC,CAAC3vC,WAAZ,CAAlI;AAA4J;AAA5J;;AAA6J,WAAOkrF,EAAE,CAACr8G,CAAC,CAAC6vB,aAAF,IAAiB7vB,CAAlB,EAAoBA,CAApB,CAAF,EAAyB2mC,CAAC,CAAC9pB,QAAF,IAAY08F,EAAZ,KAAiB5yE,CAAC,CAAC3S,UAAF,GAAa2S,CAAC,CAACtR,SAAF,GAAY,IAA1C,CAAzB,EAAyEsR,CAAhF;AAAkF;;AAAA,WAAS81E,EAAT,GAAa;AAAC,SAAKZ,MAAL,GAAY,EAAZ;AAAe;;AAAA,WAASa,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,GAAa,CAAE;;AAAA,WAASC,EAAT,CAAYt9G,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAAC,EAAN;AAAA,QAASu5B,CAAC,GAAC,KAAG,KAAKzd,QAAR,GAAiB,KAAKgV,eAAtB,GAAsC,IAAjD;AAAA,QAAsDivC,CAAC,GAACxmC,CAAC,CAACgY,MAA1D;AAAA,QAAiE5tB,CAAC,GAAC4V,CAAC,CAAC1I,YAArE;AAAkF,QAAGlN,CAAC,IAAE,QAAMo8C,CAAT,IAAY,SAAOA,CAAC,GAACxmC,CAAC,CAACijF,YAAF,CAAe74F,CAAf,CAAT,CAAf,EAA2C,IAAItJ,CAAC,GAAC,CAAC;AAACuW,eAAS,EAACjN,CAAX;AAAa4tB,YAAM,EAAC;AAApB,KAAD,CAAN;AAAkC,WAAOkrE,EAAE,CAAC,IAAD,EAAMz8G,CAAN,EAAQf,CAAR,EAAU2mC,CAAV,EAAYvrB,CAAZ,CAAF,EAAiBra,CAAC,CAACovB,IAAF,CAAO,EAAP,CAAxB;AAAmC;;AAAA,WAASstF,EAAT,CAAYz9G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAC,GAACt6B,CAAC,CAACsyC,MAAF,IAAU,EAAhB;AAAA,QAAmBwuB,CAAC,GAAC9gE,CAAC,CAAC4xB,YAAvB;AAAoC,QAAG,CAAC0I,CAAD,IAAI,CAACwmC,CAAR,EAAU,OAAM,CAAC,CAAP;AAAS,QAAG,UAAQxmC,CAAR,IAAW,2CAAyCwmC,CAApD,IAAuD,mCAAiCA,CAA3F,EAA6F,OAAM,CAAC,CAAP;;AAAS,SAAI,IAAIp8C,CAAC,GAAC3jB,CAAC,CAACmC,MAAZ,EAAmBwhB,CAAC,EAApB,GAAwB;AAAC,UAAItJ,CAAC,GAACra,CAAC,CAAC2jB,CAAD,CAAP;AAAW,UAAGtJ,CAAC,CAACk3B,MAAF,IAAUhY,CAAb,EAAe,OAAOlf,CAAC,CAACuW,SAAF,IAAamvC,CAApB;AAAsB;;AAAA,WAAM,CAAC,CAAP;AAAS;;AAAA,WAAS08C,EAAT,CAAYx9G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoBwmC,CAApB,EAAsB;AAAC,QAAGxmC,CAAH,EAAK;AAAC,UAAG,EAAEt6B,CAAC,GAACs6B,CAAC,CAACt6B,CAAD,CAAL,CAAH,EAAa;AAAO,UAAG,YAAU,OAAOA,CAApB,EAAsB,OAAO,KAAK2mC,CAAC,CAACpjC,IAAF,CAAOvD,CAAP,CAAZ;AAAsB;;AAAA,YAAOA,CAAC,CAAC6c,QAAT;AAAmB,WAAKs7F,EAAL;AAAQr3C,SAAC,GAACA,CAAC,IAAE,EAAL;AAAQ,YAAIp8C,CAAC,GAAC1kB,CAAC,CAACuG,UAAR;AAAA,YAAmB6U,CAAC,GAACsJ,CAAC,CAACxhB,MAAvB;AAAA,YAA8By9D,CAAC,GAAC3gE,CAAC,CAACg0B,UAAlC;AAAA,YAA6C4sC,CAAC,GAAC5gE,CAAC,CAACo/E,OAAjD;AAAyDr+E,SAAC,GAACk3G,EAAE,KAAGj4G,CAAC,CAAC4xB,YAAP,IAAqB7wB,CAAvB,EAAyB4lC,CAAC,CAACpjC,IAAF,CAAO,GAAP,EAAWq9D,CAAX,CAAzB;;AAAuC,aAAI,IAAIxlC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAChgB,CAAd,EAAgBggB,CAAC,EAAjB,EAAoB;AAAC,qBAAS,CAAComC,CAAC,GAAC98C,CAAC,CAAC2C,IAAF,CAAO+T,CAAP,CAAH,EAAckX,MAAvB,GAA8BwuB,CAAC,CAACv9D,IAAF,CAAO;AAAC+uC,kBAAM,EAACkvB,CAAC,CAACgd,SAAV;AAAoB7sD,qBAAS,EAAC6vC,CAAC,CAACn8C;AAAhC,WAAP,CAA9B,GAA6E,WAASm8C,CAAC,CAAC9kD,QAAX,IAAqBokD,CAAC,CAACv9D,IAAF,CAAO;AAAC+uC,kBAAM,EAAC,EAAR;AAAW3gB,qBAAS,EAAC6vC,CAAC,CAACn8C;AAAvB,WAAP,CAAlG;AAAwI;;AAAA,aAAI+V,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAChgB,CAAV,EAAYggB,CAAC,EAAb,EAAgB;AAAC,cAAIomC,CAAJ;;AAAM,cAAGi8C,EAAE,CAACj8C,CAAC,GAAC98C,CAAC,CAAC2C,IAAF,CAAO+T,CAAP,CAAH,EAAa,CAAb,EAAe0lC,CAAf,CAAL,EAAuB;AAAC,gBAAIL,CAAC,GAACe,CAAC,CAAClvB,MAAF,IAAU,EAAhB;AAAA,gBAAmBouB,CAAC,GAACc,CAAC,CAAC5vC,YAAvB;AAAA,gBAAoCwhB,CAAC,GAACqtB,CAAC,GAAC,YAAUA,CAAX,GAAa,QAApD;AAA6D95B,aAAC,CAACpjC,IAAF,CAAO6vC,CAAP,EAAS,IAAT,EAAcstB,CAAd,EAAgB,GAAhB,GAAqBI,CAAC,CAACv9D,IAAF,CAAO;AAAC+uC,oBAAM,EAACmuB,CAAR;AAAU9uC,uBAAS,EAAC+uC;AAApB,aAAP,CAArB;AAAoD;;AAAA88C,YAAE,CAACh8C,CAAD,EAAG76B,CAAH,EAAK5lC,CAAL,EAAOu5B,CAAP,EAASwmC,CAAT,CAAF;AAAc;;AAAA,YAAG28C,EAAE,CAACz9G,CAAD,EAAG,CAAH,EAAK8gE,CAAL,CAAL,EAAa;AAACL,WAAC,GAACzgE,CAAC,CAACsyC,MAAF,IAAU,EAAZ,EAAeouB,CAAC,GAAC1gE,CAAC,CAAC4xB,YAAnB,EAAgCwhB,CAAC,GAACqtB,CAAC,GAAC,YAAUA,CAAX,GAAa,QAAhD;AAAyD95B,WAAC,CAACpjC,IAAF,CAAO6vC,CAAP,EAAS,IAAT,EAAcstB,CAAd,EAAgB,GAAhB,GAAqBI,CAAC,CAACv9D,IAAF,CAAO;AAAC+uC,kBAAM,EAACmuB,CAAR;AAAU9uC,qBAAS,EAAC+uC;AAApB,WAAP,CAArB;AAAoD;;AAAA,YAAGC,CAAC,IAAE5/D,CAAC,IAAE,CAAC,mCAAmC4U,IAAnC,CAAwCirD,CAAxC,CAAV,EAAqD;AAAC,cAAGj6B,CAAC,CAACpjC,IAAF,CAAO,GAAP,GAAYxC,CAAC,IAAE,YAAY4U,IAAZ,CAAiBirD,CAAjB,CAAlB,EAAsC,OAAKD,CAAL;AAAQA,aAAC,CAACngE,IAAF,GAAOmmC,CAAC,CAACpjC,IAAF,CAAOo9D,CAAC,CAACngE,IAAT,CAAP,GAAsBg9G,EAAE,CAAC78C,CAAD,EAAGh6B,CAAH,EAAK5lC,CAAL,EAAOu5B,CAAP,EAASwmC,CAAT,CAAxB,EAAoCH,CAAC,GAACA,CAAC,CAACxvC,WAAxC;AAAR,WAAtC,MAAuG,OAAKwvC,CAAL;AAAQ68C,cAAE,CAAC78C,CAAD,EAAGh6B,CAAH,EAAK5lC,CAAL,EAAOu5B,CAAP,EAASwmC,CAAT,CAAF,EAAcH,CAAC,GAACA,CAAC,CAACxvC,WAAlB;AAAR;AAAsCwV,WAAC,CAACpjC,IAAF,CAAO,IAAP,EAAYq9D,CAAZ,EAAc,GAAd;AAAmB,SAAtN,MAA2Nj6B,CAAC,CAACpjC,IAAF,CAAO,IAAP;;AAAa;;AAAO,WAAK41G,EAAL;AAAQ,WAAKI,EAAL;AAAQ,aAAI54C,CAAC,GAAC3gE,CAAC,CAACg0B,UAAR,EAAmB2sC,CAAnB;AAAsB68C,YAAE,CAAC78C,CAAD,EAAGh6B,CAAH,EAAK5lC,CAAL,EAAOu5B,CAAP,EAASwmC,CAAT,CAAF,EAAcH,CAAC,GAACA,CAAC,CAACxvC,WAAlB;AAAtB;;AAAoD;;AAAO,WAAKknF,EAAL;AAAQ,eAAO1xE,CAAC,CAACpjC,IAAF,CAAO,GAAP,EAAWvD,CAAC,CAAC4pB,IAAb,EAAkB,IAAlB,EAAuB5pB,CAAC,CAACqlB,KAAF,CAAQhhB,OAAR,CAAgB,QAAhB,EAAyB63G,EAAzB,CAAvB,EAAoD,GAApD,CAAP;;AAAgE,WAAK3D,EAAL;AAAQ,eAAO5xE,CAAC,CAACpjC,IAAF,CAAOvD,CAAC,CAACQ,IAAF,CAAO6D,OAAP,CAAe,OAAf,EAAuB63G,EAAvB,CAAP,CAAP;;AAA0C,WAAKzD,EAAL;AAAQ,eAAO9xE,CAAC,CAACpjC,IAAF,CAAO,WAAP,EAAmBvD,CAAC,CAACQ,IAArB,EAA0B,KAA1B,CAAP;;AAAwC,WAAKy4G,EAAL;AAAQ,eAAOtyE,CAAC,CAACpjC,IAAF,CAAO,SAAP,EAAiBvD,CAAC,CAACQ,IAAnB,EAAwB,QAAxB,CAAP;;AAAyC,WAAK64G,EAAL;AAAQ,YAAI/3C,CAAC,GAACthE,CAAC,CAAC09G,QAAR;AAAA,YAAiBnuF,CAAC,GAACvvB,CAAC,CAAC29G,QAArB;AAA8B,YAAGh3E,CAAC,CAACpjC,IAAF,CAAO,YAAP,EAAoBvD,CAAC,CAAC4pB,IAAtB,GAA4B03C,CAA/B,EAAiC36B,CAAC,CAACpjC,IAAF,CAAO,WAAP,EAAmB+9D,CAAnB,GAAsB/xC,CAAC,IAAE,OAAKA,CAAR,IAAWoX,CAAC,CAACpjC,IAAF,CAAO,KAAP,EAAagsB,CAAb,CAAjC,EAAiDoX,CAAC,CAACpjC,IAAF,CAAO,IAAP,CAAjD,CAAjC,KAAoG,IAAGgsB,CAAC,IAAE,OAAKA,CAAX,EAAaoX,CAAC,CAACpjC,IAAF,CAAO,WAAP,EAAmBgsB,CAAnB,EAAqB,IAArB,EAAb,KAA4C;AAAC,cAAImyC,CAAC,GAAC1hE,CAAC,CAAC49G,cAAR;AAAuBl8C,WAAC,IAAE/6B,CAAC,CAACpjC,IAAF,CAAO,IAAP,EAAYm+D,CAAZ,EAAc,GAAd,CAAH,EAAsB/6B,CAAC,CAACpjC,IAAF,CAAO,GAAP,CAAtB;AAAkC;AAAA;;AAAO,WAAKw1G,EAAL;AAAQ,eAAOpyE,CAAC,CAACpjC,IAAF,CAAO,IAAP,EAAYvD,CAAC,CAACsK,MAAd,EAAqB,GAArB,EAAyBtK,CAAC,CAACQ,IAA3B,EAAgC,IAAhC,CAAP;;AAA6C,WAAKm4G,EAAL;AAAQ,eAAOhyE,CAAC,CAACpjC,IAAF,CAAO,GAAP,EAAWvD,CAAC,CAAC0c,QAAb,EAAsB,GAAtB,CAAP;;AAAkC;AAAQiqB,SAAC,CAACpjC,IAAF,CAAO,IAAP,EAAYvD,CAAC,CAAC0c,QAAd;AAA57C;AAAq9C;;AAAA,WAAS6+F,EAAT,CAAYv7G,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAACf,KAAC,CAAC2mC,CAAD,CAAD,GAAK5lC,CAAL;AAAO;;AAAAg6G,IAAE,CAAChhG,SAAH,GAAa7G,KAAK,CAAC6G,SAAnB,EAA6Bg+F,EAAE,CAAC4B,EAAD,EAAIoB,EAAJ,CAA/B,EAAuCE,EAAE,CAAClhG,SAAH,GAAa;AAAC7W,UAAM,EAAC,CAAR;AAAUmkB,QAAI,EAAC,cAASrnB,CAAT,EAAW;AAAC,aAAO,KAAKA,CAAL,KAAS,IAAhB;AAAqB,KAAhD;AAAiDinB,YAAQ,EAAC,kBAASjnB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAI,IAAI5lC,CAAC,GAAC,EAAN,EAASu5B,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAAC,KAAKp3B,MAAxB,EAA+Bo3B,CAAC,EAAhC;AAAmCkjF,UAAE,CAAC,KAAKljF,CAAL,CAAD,EAASv5B,CAAT,EAAWf,CAAX,EAAa2mC,CAAb,CAAF;AAAnC;;AAAqD,aAAO5lC,CAAC,CAACovB,IAAF,CAAO,EAAP,CAAP;AAAkB;AAA/I,GAApD,EAAqM+qF,EAAE,CAACnhG,SAAH,CAAasN,IAAb,GAAkB,UAASrnB,CAAT,EAAW;AAAC,WAAOq7G,EAAE,CAAC,IAAD,CAAF,EAAS,KAAKr7G,CAAL,CAAhB;AAAwB,GAA3P,EAA4Pg4G,EAAE,CAACkD,EAAD,EAAID,EAAJ,CAA9P,EAAsQO,EAAE,CAACzhG,SAAH,GAAa;AAAC7W,UAAM,EAAC,CAAR;AAAUmkB,QAAI,EAAC4zF,EAAE,CAAClhG,SAAH,CAAasN,IAA5B;AAAiCw2F,gBAAY,EAAC,sBAAS79G,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,KAAKzjC,MAAf,EAAsByjC,CAAC,EAAvB,GAA2B;AAAC,YAAI5lC,CAAC,GAAC,KAAK4lC,CAAL,CAAN;AAAc,YAAG5lC,CAAC,CAAC2b,QAAF,IAAY1c,CAAf,EAAiB,OAAOe,CAAP;AAAS;AAAC,KAA/H;AAAgI+8G,gBAAY,EAAC,sBAAS99G,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC27G,YAAR;AAAqB,UAAGh1E,CAAC,IAAEA,CAAC,IAAE,KAAKo3E,aAAd,EAA4B,MAAM,IAAIhD,EAAJ,CAAOR,EAAP,CAAN;AAAiB,UAAIx5G,CAAC,GAAC,KAAK88G,YAAL,CAAkB79G,CAAC,CAAC0c,QAApB,CAAN;AAAoC,aAAOg/F,EAAE,CAAC,KAAKqC,aAAN,EAAoB,IAApB,EAAyB/9G,CAAzB,EAA2Be,CAA3B,CAAF,EAAgCA,CAAvC;AAAyC,KAAxS;AAAySi9G,kBAAc,EAAC,wBAASh+G,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAACf,CAAC,CAAC27G,YAAV;AAAuB,UAAG56G,CAAC,IAAEA,CAAC,IAAE,KAAKg9G,aAAd,EAA4B,MAAM,IAAIhD,EAAJ,CAAOR,EAAP,CAAN;AAAiB,aAAO5zE,CAAC,GAAC,KAAKs3E,cAAL,CAAoBj+G,CAAC,CAAC4xB,YAAtB,EAAmC5xB,CAAC,CAACw+E,SAArC,CAAF,EAAkDk9B,EAAE,CAAC,KAAKqC,aAAN,EAAoB,IAApB,EAAyB/9G,CAAzB,EAA2B2mC,CAA3B,CAApD,EAAkFA,CAAzF;AAA2F,KAAne;AAAoeu3E,mBAAe,EAAC,yBAASl+G,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKk3E,YAAL,CAAkB79G,CAAlB,CAAN;AAA2B,aAAO87G,EAAE,CAAC,KAAKiC,aAAN,EAAoB,IAApB,EAAyBp3E,CAAzB,CAAF,EAA8BA,CAArC;AAAuC,KAAlkB;AAAmkBw3E,qBAAiB,EAAC,2BAASn+G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAKk9G,cAAL,CAAoBj+G,CAApB,EAAsB2mC,CAAtB,CAAN;AAA+B,aAAOm1E,EAAE,CAAC,KAAKiC,aAAN,EAAoB,IAApB,EAAyBh9G,CAAzB,CAAF,EAA8BA,CAArC;AAAuC,KAAzqB;AAA0qBk9G,kBAAc,EAAC,wBAASj+G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAI,IAAI5lC,CAAC,GAAC,KAAKmC,MAAf,EAAsBnC,CAAC,EAAvB,GAA2B;AAAC,YAAIu5B,CAAC,GAAC,KAAKv5B,CAAL,CAAN;AAAc,YAAGu5B,CAAC,CAACkkD,SAAF,IAAa73C,CAAb,IAAgBrM,CAAC,CAAC1I,YAAF,IAAgB5xB,CAAnC,EAAqC,OAAOs6B,CAAP;AAAS;;AAAA,aAAO,IAAP;AAAY;AAA3yB,GAAnR,EAAgkCyhF,EAAE,CAAChiG,SAAH,GAAa;AAACqkG,cAAU,EAAC,oBAASp+G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAKi7G,SAAL,CAAeh8G,CAAC,CAACqkB,WAAF,EAAf,CAAN;;AAAsC,aAAM,EAAE,CAACtjB,CAAD,IAAI4lC,CAAC,IAAE,EAAEA,CAAC,IAAI5lC,CAAP,CAAT,CAAN;AAA0B,KAA1F;AAA2Fs9G,kBAAc,EAAC,wBAASr+G,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAAC,IAAI8hF,EAAJ,EAAN;;AAAa,UAAG9hF,CAAC,CAACqnB,cAAF,GAAiB,IAAjB,EAAsBrnB,CAAC,CAAClL,UAAF,GAAa,IAAI6rF,EAAJ,EAAnC,EAA0C,CAAC3gF,CAAC,CAACgkF,OAAF,GAAUv9G,CAAX,KAAeu5B,CAAC,CAACpS,WAAF,CAAcnnB,CAAd,CAAzD,EAA0E4lC,CAA7E,EAA+E;AAAC,YAAIm6B,CAAC,GAACxmC,CAAC,CAACikF,eAAF,CAAkBv+G,CAAlB,EAAoB2mC,CAApB,CAAN;AAA6BrM,SAAC,CAACpS,WAAF,CAAc44C,CAAd;AAAiB;;AAAA,aAAOxmC,CAAP;AAAS,KAA9Q;AAA+QkkF,sBAAkB,EAAC,4BAASx+G,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAAC,IAAIyiF,EAAJ,EAAN;AAAa,aAAOziF,CAAC,CAAC1Q,IAAF,GAAO5pB,CAAP,EAASs6B,CAAC,CAAC5d,QAAF,GAAW1c,CAApB,EAAsBs6B,CAAC,CAACojF,QAAF,GAAW/2E,CAAjC,EAAmCrM,CAAC,CAACqjF,QAAF,GAAW58G,CAA9C,EAAgDu5B,CAAvD;AAAyD;AAAxX,GAA7kC,EAAu8C2hF,EAAE,CAACliG,SAAH,GAAa;AAACia,cAAU,EAAC,IAAZ;AAAiBqB,aAAS,EAAC,IAA3B;AAAgCknF,mBAAe,EAAC,IAAhD;AAAqDprF,eAAW,EAAC,IAAjE;AAAsE5qB,cAAU,EAAC,IAAjF;AAAsF8M,cAAU,EAAC,IAAjG;AAAsG+b,cAAU,EAAC,IAAjH;AAAsHS,iBAAa,EAAC,IAApI;AAAyIoE,aAAS,EAAC,IAAnJ;AAAwJrC,gBAAY,EAAC,IAArK;AAA0K0gB,UAAM,EAAC,IAAjL;AAAsLksC,aAAS,EAAC,IAAhM;AAAqMlrE,gBAAY,EAAC,sBAAStT,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO61E,EAAE,CAAC,IAAD,EAAMx8G,CAAN,EAAQ2mC,CAAR,CAAT;AAAoB,KAApP;AAAqP0G,gBAAY,EAAC,sBAASrtC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAKrzB,YAAL,CAAkBtT,CAAlB,EAAoB2mC,CAApB,GAAuBA,CAAC,IAAE,KAAKxe,WAAL,CAAiBwe,CAAjB,CAA1B;AAA8C,KAA9T;AAA+Txe,eAAW,EAAC,qBAASnoB,CAAT,EAAW;AAAC,aAAOs8G,EAAE,CAAC,IAAD,EAAMt8G,CAAN,CAAT;AAAkB,KAAzW;AAA0WkoB,eAAW,EAAC,qBAASloB,CAAT,EAAW;AAAC,aAAO,KAAKsT,YAAL,CAAkBtT,CAAlB,EAAoB,IAApB,CAAP;AAAiC,KAAna;AAAoa49F,iBAAa,EAAC,yBAAU;AAAC,aAAO,QAAM,KAAK5pE,UAAlB;AAA6B,KAA1d;AAA2duQ,aAAS,EAAC,mBAASvkC,CAAT,EAAW;AAAC,aAAO,SAASA,CAAT,CAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,YAAIwmC,CAAC,GAAC,IAAI//D,CAAC,CAACynB,WAAN,EAAN;;AAAwB,aAAI,IAAI9D,CAAR,IAAa3jB,CAAb,EAAe;AAAC,cAAIqa,CAAC,GAACra,CAAC,CAAC2jB,CAAD,CAAP;AAAW,8BAAiBtJ,CAAjB,KAAoBA,CAAC,IAAE0lD,CAAC,CAACp8C,CAAD,CAAxB,KAA8Bo8C,CAAC,CAACp8C,CAAD,CAAD,GAAKtJ,CAAnC;AAAsC;;AAAAra,SAAC,CAACquB,UAAF,KAAe0xC,CAAC,CAAC1xC,UAAF,GAAa,IAAI6rF,EAAJ,EAA5B;AAAoCn6C,SAAC,CAACjxC,aAAF,GAAgB8W,CAAhB;;AAAkB,gBAAOm6B,CAAC,CAACjkD,QAAT;AAAmB,eAAKs7F,EAAL;AAAQ,gBAAIx3C,CAAC,GAAC5/D,CAAC,CAACwF,UAAR;AAAA,gBAAmBq6D,CAAC,GAACE,CAAC,CAACv6D,UAAF,GAAa,IAAIi1G,EAAJ,EAAlC;AAAA,gBAAyCpgF,CAAC,GAACulC,CAAC,CAACz9D,MAA7C;AAAoD09D,aAAC,CAACm9C,aAAF,GAAgBj9C,CAAhB;;AAAkB,iBAAI,IAAIU,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACpmC,CAAd,EAAgBomC,CAAC,EAAjB;AAAoBV,eAAC,CAAC29C,gBAAF,CAAmBz+G,CAAC,CAAC2mC,CAAD,EAAGg6B,CAAC,CAACt5C,IAAF,CAAOm6C,CAAP,CAAH,EAAa,CAAC,CAAd,CAApB;AAApB;;AAA0D;;AAAM,eAAK62C,EAAL;AAAQ/9E,aAAC,GAAC,CAAC,CAAH;AAAzK;;AAA8K,YAAGA,CAAH,EAAK,KAAI,IAAImmC,CAAC,GAAC1/D,CAAC,CAACizB,UAAZ,EAAuBysC,CAAvB;AAA0BK,WAAC,CAAC54C,WAAF,CAAcloB,CAAC,CAAC2mC,CAAD,EAAG85B,CAAH,EAAKnmC,CAAL,CAAf,GAAwBmmC,CAAC,GAACA,CAAC,CAACtvC,WAA5B;AAA1B;AAAkE,eAAO2vC,CAAP;AAAS,OAA/Z,CAAga,KAAKjxC,aAAL,IAAoB,IAApb,EAAyb,IAAzb,EAA8b7vB,CAA9b,CAAP;AAAwc,KAAz7B;AAA07B0+G,aAAS,EAAC,qBAAU;AAAC,WAAI,IAAI1+G,CAAC,GAAC,KAAKg0B,UAAf,EAA0Bh0B,CAA1B,GAA6B;AAAC,YAAI2mC,CAAC,GAAC3mC,CAAC,CAACmxB,WAAR;AAAoBwV,SAAC,IAAEA,CAAC,CAAC9pB,QAAF,IAAY07F,EAAf,IAAmBv4G,CAAC,CAAC6c,QAAF,IAAY07F,EAA/B,IAAmC,KAAKpwF,WAAL,CAAiBwe,CAAjB,GAAoB3mC,CAAC,CAAC2+G,UAAF,CAAah4E,CAAC,CAACnmC,IAAf,CAAvD,KAA8ER,CAAC,CAAC0+G,SAAF,IAAc1+G,CAAC,GAAC2mC,CAA9F;AAAiG;AAAC,KAAnmC;AAAomCyiD,eAAW,EAAC,qBAASppF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO,KAAK9W,aAAL,CAAmB8xB,cAAnB,CAAkCy8D,UAAlC,CAA6Cp+G,CAA7C,EAA+C2mC,CAA/C,CAAP;AAAyD,KAAvrC;AAAwrCi4E,iBAAa,EAAC,yBAAU;AAAC,aAAO,IAAE,KAAKr4G,UAAL,CAAgBrD,MAAzB;AAAgC,KAAjvC;AAAkvCq6G,gBAAY,EAAC,sBAASv9G,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,IAAV,EAAeA,CAAf,GAAkB;AAAC,YAAI5lC,CAAC,GAAC4lC,CAAC,CAACk1E,MAAR;AAAe,YAAG96G,CAAH,EAAK,KAAI,IAAIu5B,CAAR,IAAav5B,CAAb;AAAe,cAAGA,CAAC,CAACu5B,CAAD,CAAD,IAAMt6B,CAAT,EAAW,OAAOs6B,CAAP;AAA1B;AAAmCqM,SAAC,GAACA,CAAC,CAAC9pB,QAAF,IAAYw7F,EAAZ,GAAe1xE,CAAC,CAAC9W,aAAjB,GAA+B8W,CAAC,CAACtzB,UAAnC;AAA8C;;AAAA,aAAO,IAAP;AAAY,KAA/4C;AAAg5CwrG,sBAAkB,EAAC,4BAAS7+G,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,IAAV,EAAeA,CAAf,GAAkB;AAAC,YAAI5lC,CAAC,GAAC4lC,CAAC,CAACk1E,MAAR;AAAe,YAAG96G,CAAC,IAAEf,CAAC,IAAIe,CAAX,EAAa,OAAOA,CAAC,CAACf,CAAD,CAAR;AAAY2mC,SAAC,GAACA,CAAC,CAAC9pB,QAAF,IAAYw7F,EAAZ,GAAe1xE,CAAC,CAAC9W,aAAjB,GAA+B8W,CAAC,CAACtzB,UAAnC;AAA8C;;AAAA,aAAO,IAAP;AAAY,KAApiD;AAAqiDyrG,sBAAkB,EAAC,4BAAS9+G,CAAT,EAAW;AAAC,aAAO,QAAM,KAAKu9G,YAAL,CAAkBv9G,CAAlB,CAAb;AAAkC;AAAtmD,GAAp9C,EAA4jG+3G,EAAE,CAACG,EAAD,EAAI+D,EAAJ,CAA9jG,EAAskGlE,EAAE,CAACG,EAAD,EAAI+D,EAAE,CAACliG,SAAP,CAAxkG,EAA0lGqiG,EAAE,CAACriG,SAAH,GAAa;AAAC2C,YAAQ,EAAC,WAAV;AAAsBG,YAAQ,EAACs8F,EAA/B;AAAkCmF,WAAO,EAAC,IAA1C;AAA+CzsF,mBAAe,EAAC,IAA/D;AAAoEypF,QAAI,EAAC,CAAzE;AAA2EhoG,gBAAY,EAAC,sBAAStT,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG3mC,CAAC,CAAC6c,QAAF,IAAY08F,EAAf,EAAkB,OAAO,QAAM,KAAK1nF,eAAX,IAA4B7xB,CAAC,CAAC6c,QAAF,IAAYs7F,EAAxC,KAA6C,KAAKtmF,eAAL,GAAqB7xB,CAAlE,GAAqEw8G,EAAE,CAAC,IAAD,EAAMx8G,CAAN,EAAQ2mC,CAAR,CAAvE,EAAkF3mC,CAAC,CAAC6vB,aAAF,GAAgB,IAAlG,EAAuG7vB,CAA9G;;AAAgH,WAAI,IAAIe,CAAC,GAACf,CAAC,CAACg0B,UAAZ,EAAuBjzB,CAAvB,GAA0B;AAAC,YAAIu5B,CAAC,GAACv5B,CAAC,CAACowB,WAAR;AAAoB,aAAK7d,YAAL,CAAkBvS,CAAlB,EAAoB4lC,CAApB,GAAuB5lC,CAAC,GAACu5B,CAAzB;AAA2B;;AAAA,aAAOt6B,CAAP;AAAS,KAA3T;AAA4TmoB,eAAW,EAAC,qBAASnoB,CAAT,EAAW;AAAC,aAAO,KAAK6xB,eAAL,IAAsB7xB,CAAtB,KAA0B,KAAK6xB,eAAL,GAAqB,IAA/C,GAAqDyqF,EAAE,CAAC,IAAD,EAAMt8G,CAAN,CAA9D;AAAuE,KAA3Z;AAA4Z++G,cAAU,EAAC,oBAAS/+G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO,SAAS3mC,CAAT,CAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,YAAIwmC,CAAJ;;AAAM,gBAAO//D,CAAC,CAAC8b,QAAT;AAAmB,eAAKs7F,EAAL;AAAQ,aAACr3C,CAAC,GAAC//D,CAAC,CAACwjC,SAAF,CAAY,CAAC,CAAb,CAAH,EAAoB1U,aAApB,GAAkC8W,CAAlC;;AAAoC,eAAK4yE,EAAL;AAAQ;;AAAM,eAAKlB,EAAL;AAAQ/9E,aAAC,GAAC,CAAC,CAAH;AAArF;;AAA0FwmC,SAAC,GAACA,CAAC,IAAE//D,CAAC,CAACwjC,SAAF,CAAY,CAAC,CAAb,CAAL;AAAqBu8B,SAAC,CAACjxC,aAAF,GAAgB8W,CAAhB;AAAkBm6B,SAAC,CAACztD,UAAF,GAAa,IAAb;AAAkB,YAAGinB,CAAH,EAAK,KAAI,IAAI5V,CAAC,GAAC3jB,CAAC,CAACizB,UAAZ,EAAuBtP,CAAvB;AAA0Bo8C,WAAC,CAAC54C,WAAF,CAAcloB,CAAC,CAAC2mC,CAAD,EAAGjiB,CAAH,EAAK4V,CAAL,CAAf,GAAwB5V,CAAC,GAACA,CAAC,CAACyM,WAA5B;AAA1B;AAAkE,eAAO2vC,CAAP;AAAS,OAA3P,CAA4P,IAA5P,EAAiQ9gE,CAAjQ,EAAmQ2mC,CAAnQ,CAAP;AAA6Q,KAAlsB;AAAmsB7W,kBAAc,EAAC,wBAAS6W,CAAT,EAAW;AAAC,UAAI5lC,CAAC,GAAC,IAAN;AAAW,aAAOo7G,EAAE,CAAC,KAAKtqF,eAAN,EAAsB,UAAS7xB,CAAT,EAAW;AAAC,YAAGA,CAAC,CAAC6c,QAAF,IAAYs7F,EAAZ,IAAgBn4G,CAAC,CAACqhB,YAAF,CAAe,IAAf,KAAsBslB,CAAzC,EAA2C,OAAO5lC,CAAC,GAACf,CAAF,EAAI,CAAC,CAAZ;AAAc,OAA3F,CAAF,EAA+Fe,CAAtG;AAAwG,KAAj1B;AAAk1BgS,iBAAa,EAAC,uBAAS/S,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAI81E,EAAJ,EAAN;AAAa,aAAO91E,CAAC,CAAC9W,aAAF,GAAgB,IAAhB,EAAqB8W,CAAC,CAACjqB,QAAF,GAAW1c,CAAhC,EAAkC2mC,CAAC,CAACy4C,OAAF,GAAUp/E,CAA5C,EAA8C2mC,CAAC,CAACvX,UAAF,GAAa,IAAI6rF,EAAJ,EAA3D,EAAkE,CAACt0E,CAAC,CAACpgC,UAAF,GAAa,IAAIi1G,EAAJ,EAAd,EAAsBuC,aAAtB,GAAoCp3E,CAA7G;AAA+G,KAAx+B;AAAy+BvC,0BAAsB,EAAC,kCAAU;AAAC,UAAIpkC,CAAC,GAAC,IAAIm9G,EAAJ,EAAN;AAAa,aAAOn9G,CAAC,CAAC6vB,aAAF,GAAgB,IAAhB,EAAqB7vB,CAAC,CAACovB,UAAF,GAAa,IAAI6rF,EAAJ,EAAlC,EAAyCj7G,CAAhD;AAAkD,KAA1kC;AAA2kCgmC,kBAAc,EAAC,wBAAShmC,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIi2E,EAAJ,EAAN;AAAa,aAAOj2E,CAAC,CAAC9W,aAAF,GAAgB,IAAhB,EAAqB8W,CAAC,CAACg4E,UAAF,CAAa3+G,CAAb,CAArB,EAAqC2mC,CAA5C;AAA8C,KAAjqC;AAAkqCzU,iBAAa,EAAC,uBAASlyB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIk2E,EAAJ,EAAN;AAAa,aAAOl2E,CAAC,CAAC9W,aAAF,GAAgB,IAAhB,EAAqB8W,CAAC,CAACg4E,UAAF,CAAa3+G,CAAb,CAArB,EAAqC2mC,CAA5C;AAA8C,KAAvvC;AAAwvCq4E,sBAAkB,EAAC,4BAASh/G,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIm2E,EAAJ,EAAN;AAAa,aAAOn2E,CAAC,CAAC9W,aAAF,GAAgB,IAAhB,EAAqB8W,CAAC,CAACg4E,UAAF,CAAa3+G,CAAb,CAArB,EAAqC2mC,CAA5C;AAA8C,KAAl1C;AAAm1C43C,+BAA2B,EAAC,qCAASv+E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAIq8G,EAAJ,EAAN;AAAa,aAAOr8G,CAAC,CAAC8uB,aAAF,GAAgB,IAAhB,EAAqB9uB,CAAC,CAACq+E,OAAF,GAAUr+E,CAAC,CAACuJ,MAAF,GAAStK,CAAxC,EAA0Ce,CAAC,CAACkzB,SAAF,GAAYlzB,CAAC,CAACP,IAAF,GAAOmmC,CAA7D,EAA+D5lC,CAAtE;AAAwE,KAAl9C;AAAm9Ck+G,mBAAe,EAAC,yBAASj/G,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAI+1E,EAAJ,EAAN;AAAa,aAAO/1E,CAAC,CAAC9W,aAAF,GAAgB,IAAhB,EAAqB8W,CAAC,CAAC/c,IAAF,GAAO5pB,CAA5B,EAA8B2mC,CAAC,CAACjqB,QAAF,GAAW1c,CAAzC,EAA2C2mC,CAAC,CAAC63C,SAAF,GAAYx+E,CAAvD,EAAyD2mC,CAAC,CAAClT,SAAF,GAAY,CAAC,CAAtE,EAAwEkT,CAA/E;AAAiF,KAA7kD;AAA8kDu4E,yBAAqB,EAAC,+BAASl/G,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIu2E,EAAJ,EAAN;AAAa,aAAOv2E,CAAC,CAAC9W,aAAF,GAAgB,IAAhB,EAAqB8W,CAAC,CAACjqB,QAAF,GAAW1c,CAAhC,EAAkC2mC,CAAzC;AAA2C,KAAxqD;AAAyqD43E,mBAAe,EAAC,yBAASv+G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAI07G,EAAJ,EAAN;AAAA,UAAaniF,CAAC,GAACqM,CAAC,CAACxb,KAAF,CAAQ,GAAR,CAAf;AAAA,UAA4B21C,CAAC,GAAC//D,CAAC,CAACwF,UAAF,GAAa,IAAIi1G,EAAJ,EAA3C;AAAkD,aAAOz6G,CAAC,CAACquB,UAAF,GAAa,IAAI6rF,EAAJ,EAAb,EAAoBl6G,CAAC,CAAC8uB,aAAF,GAAgB,IAApC,EAAyC9uB,CAAC,CAAC2b,QAAF,GAAWiqB,CAApD,EAAsD5lC,CAAC,CAACq+E,OAAF,GAAUz4C,CAAhE,EAAkE5lC,CAAC,CAAC6wB,YAAF,GAAe5xB,CAAjF,EAAmF,KAAGs6B,CAAC,CAACp3B,MAAL,IAAanC,CAAC,CAACuxC,MAAF,GAAShY,CAAC,CAAC,CAAD,CAAV,EAAcv5B,CAAC,CAACy9E,SAAF,GAAYlkD,CAAC,CAAC,CAAD,CAAxC,IAA6Cv5B,CAAC,CAACy9E,SAAF,GAAY73C,CAA5I,EAA8Im6B,CAAC,CAACi9C,aAAF,GAAgBh9G,CAArK;AAAuK,KAAh6D;AAAi6Do+G,qBAAiB,EAAC,2BAASn/G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAI27G,EAAJ,EAAN;AAAA,UAAapiF,CAAC,GAACqM,CAAC,CAACxb,KAAF,CAAQ,GAAR,CAAf;AAA4B,aAAOpqB,CAAC,CAAC8uB,aAAF,GAAgB,IAAhB,EAAqB9uB,CAAC,CAAC2b,QAAF,GAAWiqB,CAAhC,EAAkC5lC,CAAC,CAAC6oB,IAAF,GAAO+c,CAAzC,EAA2C5lC,CAAC,CAAC6wB,YAAF,GAAe5xB,CAA1D,EAA4De,CAAC,CAAC0yB,SAAF,GAAY,CAAC,CAAzE,EAA2E,KAAG6G,CAAC,CAACp3B,MAAL,IAAanC,CAAC,CAACuxC,MAAF,GAAShY,CAAC,CAAC,CAAD,CAAV,EAAcv5B,CAAC,CAACy9E,SAAF,GAAYlkD,CAAC,CAAC,CAAD,CAAxC,IAA6Cv5B,CAAC,CAACy9E,SAAF,GAAY73C,CAApI,EAAsI5lC,CAA7I;AAA+I;AAA5mE,GAAvmG,EAAqtKi3G,EAAE,CAACoE,EAAD,EAAIH,EAAJ,CAAvtK,EAA+tKG,EAAE,CAACriG,SAAH,CAAa3G,oBAAb,GAAkC,CAACqpG,EAAE,CAAC1iG,SAAH,GAAa;AAAC8C,YAAQ,EAACs7F,EAAV;AAAaprG,gBAAY,EAAC,sBAAS/M,CAAT,EAAW;AAAC,aAAO,QAAM,KAAKsyB,gBAAL,CAAsBtyB,CAAtB,CAAb;AAAsC,KAA5E;AAA6EqhB,gBAAY,EAAC,sBAASrhB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKrU,gBAAL,CAAsBtyB,CAAtB,CAAN;AAA+B,aAAO2mC,CAAC,IAAEA,CAAC,CAACthB,KAAL,IAAY,EAAnB;AAAsB,KAA3J;AAA4JiN,oBAAgB,EAAC,0BAAStyB,CAAT,EAAW;AAAC,aAAO,KAAKuG,UAAL,CAAgBs3G,YAAhB,CAA6B79G,CAA7B,CAAP;AAAuC,KAAhO;AAAiOiiB,gBAAY,EAAC,sBAASjiB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAK8uB,aAAL,CAAmBovF,eAAnB,CAAmCj/G,CAAnC,CAAN;AAA4Ce,OAAC,CAACskB,KAAF,GAAQtkB,CAAC,CAACkzB,SAAF,GAAY,KAAG0S,CAAvB,EAAyB,KAAK83E,gBAAL,CAAsB19G,CAAtB,CAAzB;AAAkD,KAA1V;AAA2VsvB,mBAAe,EAAC,yBAASrwB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKrU,gBAAL,CAAsBtyB,CAAtB,CAAN;AAA+B2mC,OAAC,IAAE,KAAKy4E,mBAAL,CAAyBz4E,CAAzB,CAAH;AAA+B,KAArb;AAAsbze,eAAW,EAAC,qBAASloB,CAAT,EAAW;AAAC,aAAOA,CAAC,CAAC6c,QAAF,KAAa08F,EAAb,GAAgB,KAAKjmG,YAAL,CAAkBtT,CAAlB,EAAoB,IAApB,CAAhB,GAA0C,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC4lC,CAAC,CAACtzB,UAAR;;AAAmB,YAAGtS,CAAH,EAAK;AAAC,cAAIu5B,CAAC,GAACt6B,CAAC,CAACq1B,SAAR;AAAkBt0B,WAAC,CAAConB,WAAF,CAAcwe,CAAd;AAAiBrM,WAAC,GAACt6B,CAAC,CAACq1B,SAAJ;AAAc;;AAAA,eAAOiF,CAAC,GAACt6B,CAAC,CAACq1B,SAAJ,EAAcsR,CAAC,CAACtzB,UAAF,GAAarT,CAA3B,EAA6B2mC,CAAC,CAAC41E,eAAF,GAAkBjiF,CAA/C,EAAiDqM,CAAC,CAACxV,WAAF,GAAc,IAA/D,EAAoEmJ,CAAC,GAACA,CAAC,CAACnJ,WAAF,GAAcwV,CAAf,GAAiB3mC,CAAC,CAACg0B,UAAF,GAAa2S,CAAnG,EAAqG3mC,CAAC,CAACq1B,SAAF,GAAYsR,CAAjH,EAAmH01E,EAAE,CAACr8G,CAAC,CAAC6vB,aAAH,EAAiB7vB,CAAjB,EAAmB2mC,CAAnB,CAArH,EAA2IA,CAAlJ;AAAoJ,OAA5O,CAA6O,IAA7O,EAAkP3mC,CAAlP,CAAjD;AAAsS,KAApvB;AAAqvBy+G,oBAAgB,EAAC,0BAASz+G,CAAT,EAAW;AAAC,aAAO,KAAKuG,UAAL,CAAgBu3G,YAAhB,CAA6B99G,CAA7B,CAAP;AAAuC,KAAzzB;AAA0zBq/G,sBAAkB,EAAC,4BAASr/G,CAAT,EAAW;AAAC,aAAO,KAAKuG,UAAL,CAAgBy3G,cAAhB,CAA+Bh+G,CAA/B,CAAP;AAAyC,KAAl4B;AAAm4Bo/G,uBAAmB,EAAC,6BAASp/G,CAAT,EAAW;AAAC,aAAO,KAAKuG,UAAL,CAAgB23G,eAAhB,CAAgCl+G,CAAC,CAAC0c,QAAlC,CAAP;AAAmD,KAAt9B;AAAu9B4iG,qBAAiB,EAAC,2BAASt/G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAKw+G,kBAAL,CAAwBv/G,CAAxB,EAA0B2mC,CAA1B,CAAN;AAAmC5lC,OAAC,IAAE,KAAKq+G,mBAAL,CAAyBr+G,CAAzB,CAAH;AAA+B,KAAzjC;AAA0jCy+G,kBAAc,EAAC,wBAASx/G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO,QAAM,KAAK44E,kBAAL,CAAwBv/G,CAAxB,EAA0B2mC,CAA1B,CAAb;AAA0C,KAAjoC;AAAkoC84E,kBAAc,EAAC,wBAASz/G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAKw+G,kBAAL,CAAwBv/G,CAAxB,EAA0B2mC,CAA1B,CAAN;AAAmC,aAAO5lC,CAAC,IAAEA,CAAC,CAACskB,KAAL,IAAY,EAAnB;AAAsB,KAAxtC;AAAytCq6F,kBAAc,EAAC,wBAAS1/G,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAAC,KAAKzK,aAAL,CAAmBsvF,iBAAnB,CAAqCn/G,CAArC,EAAuC2mC,CAAvC,CAAN;AAAgDrM,OAAC,CAACjV,KAAF,GAAQiV,CAAC,CAACrG,SAAF,GAAY,KAAGlzB,CAAvB,EAAyB,KAAK09G,gBAAL,CAAsBnkF,CAAtB,CAAzB;AAAkD,KAA11C;AAA21CilF,sBAAkB,EAAC,4BAASv/G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO,KAAKpgC,UAAL,CAAgB03G,cAAhB,CAA+Bj+G,CAA/B,EAAiC2mC,CAAjC,CAAP;AAA2C,KAAv6C;AAAw6CvzB,wBAAoB,EAAC,8BAASknB,CAAT,EAAW;AAAC,aAAO,IAAI4gF,EAAJ,CAAO,IAAP,EAAY,UAASv0E,CAAT,EAAW;AAAC,YAAI5lC,CAAC,GAAC,EAAN;AAAS,eAAOo7G,EAAE,CAACx1E,CAAD,EAAG,UAAS3mC,CAAT,EAAW;AAACA,WAAC,KAAG2mC,CAAJ,IAAO3mC,CAAC,CAAC6c,QAAF,IAAYs7F,EAAnB,IAAuB,QAAM79E,CAAN,IAASt6B,CAAC,CAACo/E,OAAF,IAAW9kD,CAA3C,IAA8Cv5B,CAAC,CAACwC,IAAF,CAAOvD,CAAP,CAA9C;AAAwD,SAAvE,CAAF,EAA2Ee,CAAlF;AAAoF,OAArH,CAAP;AAA8H,KAAvkD;AAAwkD4+G,0BAAsB,EAAC,gCAASrlF,CAAT,EAAWwmC,CAAX,EAAa;AAAC,aAAO,IAAIo6C,EAAJ,CAAO,IAAP,EAAY,UAASv0E,CAAT,EAAW;AAAC,YAAI5lC,CAAC,GAAC,EAAN;AAAS,eAAOo7G,EAAE,CAACx1E,CAAD,EAAG,UAAS3mC,CAAT,EAAW;AAACA,WAAC,KAAG2mC,CAAJ,IAAO3mC,CAAC,CAAC6c,QAAF,KAAas7F,EAApB,IAAwB,QAAM79E,CAAN,IAASt6B,CAAC,CAAC4xB,YAAF,KAAiB0I,CAAlD,IAAqD,QAAMwmC,CAAN,IAAS9gE,CAAC,CAACw+E,SAAF,IAAa1d,CAA3E,IAA8E//D,CAAC,CAACwC,IAAF,CAAOvD,CAAP,CAA9E;AAAwF,SAAvG,CAAF,EAA2Ge,CAAlH;AAAoH,OAArJ,CAAP;AAA8J;AAA3wD,GAAd,EAA4xDqS,oBAA7hO,EAAkjOgpG,EAAE,CAACriG,SAAH,CAAa4lG,sBAAb,GAAoClD,EAAE,CAAC1iG,SAAH,CAAa4lG,sBAAnmO,EAA0nO3H,EAAE,CAACyE,EAAD,EAAIR,EAAJ,CAA5nO,EAAooOS,EAAE,CAAC3iG,SAAH,CAAa8C,QAAb,GAAsBw7F,EAA1pO,EAA6pOL,EAAE,CAAC0E,EAAD,EAAIT,EAAJ,CAA/pO,EAAuqOU,EAAE,CAAC5iG,SAAH,GAAa;AAACvZ,QAAI,EAAC,EAAN;AAASo/G,iBAAa,EAAC,uBAAS5/G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO,KAAKnmC,IAAL,CAAU21D,SAAV,CAAoBn2D,CAApB,EAAsBA,CAAC,GAAC2mC,CAAxB,CAAP;AAAkC,KAAvE;AAAwEg4E,cAAU,EAAC,oBAAS3+G,CAAT,EAAW;AAACA,OAAC,GAAC,KAAKQ,IAAL,GAAUR,CAAZ,EAAc,KAAKi0B,SAAL,GAAe,KAAKzzB,IAAL,GAAUR,CAAvC,EAAyC,KAAKkD,MAAL,GAAYlD,CAAC,CAACkD,MAAvD;AAA8D,KAA7J;AAA8J28G,cAAU,EAAC,oBAAS7/G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAKm5E,WAAL,CAAiB9/G,CAAjB,EAAmB,CAAnB,EAAqB2mC,CAArB;AAAwB,KAA/M;AAAgNze,eAAW,EAAC,qBAASloB,CAAT,EAAW;AAAC,YAAM,IAAIkT,KAAJ,CAAU0mG,EAAE,CAACC,EAAD,CAAZ,CAAN;AAAwB,KAAhQ;AAAiQkG,cAAU,EAAC,oBAAS//G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAKm5E,WAAL,CAAiB9/G,CAAjB,EAAmB2mC,CAAnB,EAAqB,EAArB;AAAyB,KAAnT;AAAoTm5E,eAAW,EAAC,qBAAS9/G,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAACA,OAAC,GAAC,KAAKP,IAAL,CAAU21D,SAAV,CAAoB,CAApB,EAAsBn2D,CAAtB,IAAyBe,CAAzB,GAA2B,KAAKP,IAAL,CAAU21D,SAAV,CAAoBn2D,CAAC,GAAC2mC,CAAtB,CAA7B,EAAsD,KAAK1S,SAAL,GAAe,KAAKzzB,IAAL,GAAUO,CAA/E,EAAiF,KAAKmC,MAAL,GAAYnC,CAAC,CAACmC,MAA/F;AAAsG;AAAtb,GAAprO,EAA4mP80G,EAAE,CAAC2E,EAAD,EAAIV,EAAJ,CAA9mP,EAAsnPW,EAAE,CAAC7iG,SAAH,GAAa;AAAC2C,YAAQ,EAAC,OAAV;AAAkBG,YAAQ,EAAC07F,EAA3B;AAA8ByH,aAAS,EAAC,mBAAShgH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKnmC,IAAX;AAAA,UAAgBO,CAAC,GAAC4lC,CAAC,CAACwvB,SAAF,CAAYn2D,CAAZ,CAAlB;AAAiC2mC,OAAC,GAACA,CAAC,CAACwvB,SAAF,CAAY,CAAZ,EAAcn2D,CAAd,CAAF,EAAmB,KAAKQ,IAAL,GAAU,KAAKyzB,SAAL,GAAe0S,CAA5C,EAA8C,KAAKzjC,MAAL,GAAYyjC,CAAC,CAACzjC,MAA5D;AAAmE,UAAIo3B,CAAC,GAAC,KAAKzK,aAAL,CAAmBmW,cAAnB,CAAkCjlC,CAAlC,CAAN;AAA2C,aAAO,KAAKsS,UAAL,IAAiB,KAAKA,UAAL,CAAgBC,YAAhB,CAA6BgnB,CAA7B,EAA+B,KAAKnJ,WAApC,CAAjB,EAAkEmJ,CAAzE;AAA2E;AAA9Q,GAAnoP,EAAm5P09E,EAAE,CAAC4E,EAAD,EAAID,EAAJ,CAAr5P,EAA65PE,EAAE,CAAC9iG,SAAH,GAAa;AAAC2C,YAAQ,EAAC,UAAV;AAAqBG,YAAQ,EAACo8F;AAA9B,GAA16P,EAA48PjB,EAAE,CAAC6E,EAAD,EAAIF,EAAJ,CAA98P,EAAs9PG,EAAE,CAAC/iG,SAAH,GAAa;AAAC2C,YAAQ,EAAC,gBAAV;AAA2BG,YAAQ,EAAC47F;AAApC,GAAn+P,EAA2gQT,EAAE,CAAC8E,EAAD,EAAIH,EAAJ,CAA7gQ,EAAqhQI,EAAE,CAAChjG,SAAH,CAAa8C,QAAb,GAAsBw8F,EAA3iQ,EAA8iQrB,EAAE,CAAC+E,EAAD,EAAId,EAAJ,CAAhjQ,EAAwjQe,EAAE,CAACjjG,SAAH,CAAa8C,QAAb,GAAsB48F,EAA9kQ,EAAilQzB,EAAE,CAACgF,EAAD,EAAIf,EAAJ,CAAnlQ,EAA2lQgB,EAAE,CAACljG,SAAH,CAAa8C,QAAb,GAAsBg8F,EAAjnQ,EAAonQb,EAAE,CAACiF,EAAD,EAAIhB,EAAJ,CAAtnQ,EAA8nQiB,EAAE,CAACnjG,SAAH,CAAa8C,QAAb,GAAsB87F,EAAppQ,EAAupQX,EAAE,CAACkF,EAAD,EAAIjB,EAAJ,CAAzpQ,EAAiqQkB,EAAE,CAACpjG,SAAH,CAAa2C,QAAb,GAAsB,oBAAvrQ,EAA4sQygG,EAAE,CAACpjG,SAAH,CAAa8C,QAAb,GAAsB08F,EAAluQ,EAAquQvB,EAAE,CAACmF,EAAD,EAAIlB,EAAJ,CAAvuQ,EAA+uQmB,EAAE,CAACrjG,SAAH,CAAa8C,QAAb,GAAsBk8F,EAArwQ,EAAwwQf,EAAE,CAACoF,EAAD,EAAInB,EAAJ,CAA1wQ,EAAkxQoB,EAAE,CAACtjG,SAAH,CAAakmG,iBAAb,GAA+B,UAASjgH,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,WAAOu8G,EAAE,CAAC33G,IAAH,CAAQ3F,CAAR,EAAU2mC,CAAV,EAAY5lC,CAAZ,CAAP;AAAsB,GAAv1Q,EAAw1Qk7G,EAAE,CAACliG,SAAH,CAAakN,QAAb,GAAsBq2F,EAA92Q;;AAAi3Q,MAAG;AAAC,QAAG92G,MAAM,CAAC06B,cAAV,EAAyB;AAAC16B,YAAM,CAAC06B,cAAP,CAAsBg6E,EAAE,CAACnhG,SAAzB,EAAmC,QAAnC,EAA4C;AAAC2O,WAAG,EAAC,eAAU;AAAC,iBAAO2yF,EAAE,CAAC,IAAD,CAAF,EAAS,KAAK6E,QAArB;AAA8B;AAA9C,OAA5C,GAA6F15G,MAAM,CAAC06B,cAAP,CAAsB+6E,EAAE,CAACliG,SAAzB,EAAmC,aAAnC,EAAiD;AAAC2O,WAAG,EAAC,eAAU;AAAC,iBAAO,SAAS1oB,CAAT,CAAW2mC,CAAX,EAAa;AAAC,oBAAOA,CAAC,CAAC9pB,QAAT;AAAmB,mBAAKs7F,EAAL;AAAQ,mBAAKoB,EAAL;AAAQ,oBAAIx4G,CAAC,GAAC,EAAN;;AAAS,qBAAI4lC,CAAC,GAACA,CAAC,CAAC3S,UAAR,EAAmB2S,CAAnB;AAAsB,wBAAIA,CAAC,CAAC9pB,QAAN,IAAgB,MAAI8pB,CAAC,CAAC9pB,QAAtB,IAAgC9b,CAAC,CAACwC,IAAF,CAAOvD,CAAC,CAAC2mC,CAAD,CAAR,CAAhC,EAA6CA,CAAC,GAACA,CAAC,CAACxV,WAAjD;AAAtB;;AAAmF,uBAAOpwB,CAAC,CAACovB,IAAF,CAAO,EAAP,CAAP;;AAAkB;AAAQ,uBAAOwW,CAAC,CAAC1S,SAAT;AAAzJ;AAA6K,WAA3L,CAA4L,IAA5L,CAAP;AAAyM,SAAzN;AAA0NmN,WAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,kBAAO,KAAK6c,QAAZ;AAAsB,iBAAKs7F,EAAL;AAAQ,iBAAKoB,EAAL;AAAQ,qBAAK,KAAKvlF,UAAV;AAAsB,qBAAK7L,WAAL,CAAiB,KAAK6L,UAAtB;AAAtB;;AAAwD,eAACh0B,CAAC,IAAEwuB,MAAM,CAACxuB,CAAD,CAAV,KAAgB,KAAKkoB,WAAL,CAAiB,KAAK2H,aAAL,CAAmBmW,cAAnB,CAAkChmC,CAAlC,CAAjB,CAAhB;AAAuE;;AAAM;AAAQ,mBAAKQ,IAAL,GAAUR,CAAV,EAAY,KAAKqlB,KAAL,GAAWrlB,CAAvB,EAAyB,KAAKi0B,SAAL,GAAej0B,CAAxC;AAAnL;AAA8N;AAAxc,OAAjD,CAA7F,EAAylBu7G,EAAE,GAAC,YAASv7G,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAACf,SAAC,CAAC,OAAK2mC,CAAN,CAAD,GAAU5lC,CAAV;AAAY,OAAxnB;AAAynB;AAAC,GAAxpB,CAAwpB,OAAMf,CAAN,EAAQ,CAAE;;AAAA,WAASmgH,EAAT,CAAYngH,CAAZ,EAAc;AAAC,WAAM,CAAC,CAACA,CAAF,IAAK,oBAAiBA,CAAjB,CAAX;AAA8B;;AAAA,WAASogH,EAAT,GAAa;AAAC,SAAI,IAAIpgH,CAAC,GAACkpB,SAAS,CAAChmB,MAAhB,EAAuByjC,CAAC,GAAC,IAAInrB,KAAJ,CAAUxb,CAAV,CAAzB,EAAsCe,CAAC,GAAC,CAA5C,EAA8CA,CAAC,GAACf,CAAhD,EAAkDe,CAAC,EAAnD;AAAsD4lC,OAAC,CAAC5lC,CAAD,CAAD,GAAKmoB,SAAS,CAACnoB,CAAD,CAAd;AAAtD;;AAAwE,WAAO4lC,CAAC,CAAC4jC,MAAF,CAAS,UAAS5jC,CAAT,EAAW5lC,CAAX,EAAa;AAAC,aAAOyF,MAAM,CAAC8pB,IAAP,CAAYvvB,CAAZ,EAAegI,OAAf,CAAuB,UAAS/I,CAAT,EAAW;AAACwb,aAAK,CAACG,OAAN,CAAcgrB,CAAC,CAAC3mC,CAAD,CAAf,KAAqBwb,KAAK,CAACG,OAAN,CAAc5a,CAAC,CAACf,CAAD,CAAf,CAArB,GAAyC2mC,CAAC,CAAC3mC,CAAD,CAAD,GAAK2mC,CAAC,CAAC3mC,CAAD,CAAD,CAAK+mB,MAAL,CAAYhmB,CAAC,CAACf,CAAD,CAAb,CAA9C,GAAgEmgH,EAAE,CAACx5E,CAAC,CAAC3mC,CAAD,CAAF,CAAF,IAAUmgH,EAAE,CAACp/G,CAAC,CAACf,CAAD,CAAF,CAAZ,GAAmB2mC,CAAC,CAAC3mC,CAAD,CAAD,GAAKogH,EAAE,CAACz5E,CAAC,CAAC3mC,CAAD,CAAF,EAAMe,CAAC,CAACf,CAAD,CAAP,CAA1B,GAAsC2mC,CAAC,CAAC3mC,CAAD,CAAD,GAAKe,CAAC,CAACf,CAAD,CAA5G;AAAgH,OAAnJ,GAAqJ2mC,CAA5J;AAA8J,KAArL,EAAsL,EAAtL,CAAP;AAAiM;;AAAA,WAAS05E,EAAT,CAAYrgH,CAAZ,EAAc;AAAC,WAAOA,CAAC,CAACuqE,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO3mC,CAAC,CAAC+mB,MAAF,CAAS4f,CAAT,CAAP;AAAmB,KAA1C,EAA2C,EAA3C,CAAP;AAAsD;;AAAA,WAAS25E,EAAT,CAAYtgH,CAAZ,EAAc;AAAC,QAAG,CAACA,CAAC,CAACkD,MAAN,EAAa,OAAM,EAAN;;AAAS,SAAI,IAAIyjC,CAAC,GAAC,EAAN,EAAS5lC,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACf,CAAC,CAACkD,MAArB,EAA4BnC,CAAC,EAA7B;AAAgC4lC,OAAC,CAACpjC,IAAF,CAAOvD,CAAC,CAACe,CAAD,CAAR;AAAhC;;AAA6C,WAAO4lC,CAAP;AAAS;;AAAA,WAAS45E,EAAT,CAAYvgH,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAACwgH,OAAR;AAAA,QAAgBz/G,CAAC,GAAC,KAAK,CAAL,KAAS4lC,CAAT,GAAW,EAAX,GAAcA,CAAhC;AAAA,QAAkCrM,CAAC,GAACt6B,CAAC,CAACyf,MAAtC;AAAA,QAA6CqhD,CAAC,GAAC,KAAK,CAAL,KAASxmC,CAAT,GAAW,EAAX,GAAcA,CAA7D;AAAA,QAA+D5V,CAAC,GAAC1kB,CAAC,CAAC2mD,KAAnE;AAAA,QAAyEvrC,CAAC,GAAC,KAAK,CAAL,KAASsJ,CAAT,GAAW,EAAX,GAAcA,CAAzF;AAAA,QAA2Fi8C,CAAC,GAAC3gE,CAAC,CAACygH,UAA/F;AAAA,QAA0G7/C,CAAC,GAAC,KAAK,CAAL,KAASD,CAAT,GAAW,EAAX,GAAcA,CAA1H;AAAA,QAA4HvlC,CAAC,GAAC;AAAC29C,SAAG,EAACjY,CAAL;AAAO4/C,iBAAW,EAACxM,EAAE,CAACnzG,CAAC,IAAE,EAAJ,EAAO+/D,CAAP;AAArB,KAA9H;;AAA8J,QAAG1lD,CAAC,IAAEwlD,CAAN,EAAQ;AAAC,UAAIY,CAAC,GAAC,CAACpmD,CAAC,IAAEwlD,CAAJ,EAAOz1C,KAAP,CAAa,GAAb,CAAN;AAAA,UAAwBs1C,CAAC,GAAC/5D,QAAQ,CAAC86D,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAlC;AAAA,UAA4Cd,CAAC,GAACh6D,QAAQ,CAAC86D,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAtD;AAAgEpmC,OAAC,CAAC20E,SAAF,GAAY;AAAC7sG,cAAM,EAACw9D,CAAC,GAACD,CAAF,GAAI,CAAZ;AAAczsD,cAAM,EAACysD;AAArB,OAAZ;AAAoC;;AAAA,WAAOrlC,CAAP;AAAS;;AAAA,WAASulF,EAAT,CAAY3gH,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAACuQ,IAAR;AAAA,QAAaxP,CAAC,GAAC,KAAK,CAAL,KAAS4lC,CAAT,GAAW,QAAX,GAAoBA,CAAnC;AAAA,QAAqCrM,CAAC,GAACt6B,CAAC,CAACsf,QAAzC;AAAA,QAAkDwhD,CAAC,GAAC9gE,CAAC,CAAC4gH,SAAtD;AAAA,QAAgEl8F,CAAC,GAAC,KAAK,CAAL,KAASo8C,CAAT,GAAW,CAAX,GAAaA,CAA/E;AAAA,QAAiF1lD,CAAC,GAACpb,CAAC,CAAC6gH,cAArF;AAAA,QAAoGlgD,CAAC,GAACmgD,EAAE,CAAC//G,CAAD,CAAF,CAAMf,CAAN,CAAtG;AAAA,QAA+G4gE,CAAC,GAAC,UAAS5gE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAI,IAAI5lC,CAAC,GAAC,EAAN,EAASu5B,CAAC,GAACt6B,CAAf,EAAiBs6B,CAAC,GAACqM,CAAnB,EAAqBrM,CAAC,EAAtB;AAAyBv5B,SAAC,CAACwC,IAAF,CAAO+2B,CAAP;AAAzB;;AAAmC,aAAOv5B,CAAP;AAAS,KAA1D,CAA2D4/D,CAAC,CAACn/C,KAA7D,EAAmEm/C,CAAC,CAACj3C,GAArE,EAA0ET,GAA1E,CAA8E,UAAS03C,CAAT,EAAW;AAAC,aAAO,UAAS3gE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC4/D,CAAC,CAACrhD,QAAR;AAAA,YAAiBgb,CAAC,GAACqmC,CAAC,CAACigD,SAArB;AAAA,YAA+B9/C,CAAC,GAAC,KAAK,CAAL,KAASxmC,CAAT,GAAW,CAAX,GAAaA,CAA9C;AAAA,YAAgD5V,CAAC,GAACi8C,CAAC,CAACogD,WAApD;AAAA,YAAgE3lG,CAAC,GAACulD,CAAC,CAACqgD,WAApE;AAAgF,eAAM;AAAC7iD,gBAAM,EAAC,CAAC,KAAK,CAAL,KAAS/iD,CAAT,GAAW,CAAX,GAAaA,CAAd,IAAiBpb,CAAzB;AAA2Bsf,kBAAQ,EAACve,CAAC,GAAC+/D,CAAtC;AAAwC8yC,kBAAQ,EAAClvF,CAAjD;AAAmD9U,cAAI,EAAC+2B,CAAC,GAAC5lC;AAA1D,SAAN;AAAmE,OAAxK;AAAyK,KAArL,CAAsLf,CAAtL,CAA9E,CAAjH;;AAAyX,QAAG,aAAWe,CAAd,EAAgB;AAAC,UAAIq6B,CAAC,GAACwlC,CAAC,CAAC19D,MAAF,GAAS,CAAf;AAAiB09D,OAAC,CAACxlC,CAAD,CAAD,CAAK9b,QAAL,GAAclE,CAAC,GAACkf,CAAC,GAAC5V,CAAF,GAAI0W,CAApB;AAAsB;;AAAA,WAAOwlC,CAAP;AAAS;;AAAA,WAASqgD,EAAT,CAAYjhH,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAACwgH,OAAR;AAAA,QAAgBz/G,CAAC,GAACf,CAAC,CAACkhH,cAApB;AAAA,QAAmC5mF,CAAC,GAAC,KAAK,CAAL,KAASv5B,CAAT,GAAW,EAAX,GAAcA,CAAnD;AAAA,QAAqD+/D,CAAC,GAAC9gE,CAAC,CAAC6gH,cAAzD;AAAA,QAAwEn8F,CAAC,GAAC1kB,CAAC,CAAC4gH,SAA5E;AAAA,QAAsFxlG,CAAC,GAAC,KAAK,CAAL,KAASsJ,CAAT,GAAW,CAAX,GAAaA,CAArG;AAAA,QAAuGi8C,CAAC,GAAC3gE,CAAC,CAACygH,UAA3G;AAAA,QAAsH7/C,CAAC,GAAC,KAAK,CAAL,KAASD,CAAT,GAAW,EAAX,GAAcA,CAAtI;AAAA,QAAwIvlC,CAAC,GAACp7B,CAAC,CAACsf,QAA5I;AAAqJ,QAAG,CAACqnB,CAAJ,EAAM,MAAM,IAAIzzB,KAAJ,CAAUiuG,EAAV,CAAN;AAAoB,QAAI3/C,CAAC,GAAC++C,EAAE,CAAC;AAACC,aAAO,EAAC75E,CAAT;AAAWlnB,YAAM,EAAC6a,CAAC,CAAC8mF,SAApB;AAA8Bz6D,WAAK,EAACrsB,CAAC,CAACqsB;AAAtC,KAAD,CAAR;AAAA,QAAuD8Z,CAAC,GAAC8/C,EAAE,CAAC;AAACC,aAAO,EAAC75E,CAAT;AAAWlnB,YAAM,EAACknB,CAAlB;AAAoB85E,gBAAU,EAAC7/C;AAA/B,KAAD,CAA3D;;AAA+F,QAAGH,CAAC,CAACx3C,GAAF,GAAMu4C,CAAN,EAAQpmC,CAAX,EAAa;AAAC,UAAIslC,CAAC,GAACigD,EAAE,CAAC3gH,CAAD,CAAR;AAAY0gE,OAAC,CAACx9D,MAAF,KAAWu9D,CAAC,CAACnhD,QAAF,GAAWohD,CAAC,CAAC,CAAD,CAAD,CAAKphD,QAAhB,EAAyBmhD,CAAC,CAACmzC,QAAF,GAAWlzC,CAAC,CAAC,CAAD,CAAD,CAAKkzC,QAApD;AAA8D,KAAxF,MAA6F9yC,CAAC,KAAGL,CAAC,CAACnhD,QAAF,GAAWwhD,CAAC,GAAC1lD,CAAb,EAAeqlD,CAAC,CAACmzC,QAAF,GAAW,CAA7B,CAAD;;AAAiC,WAAOnzC,CAAC,CAACtC,MAAF,GAAS,CAAT,EAAW,CAACsC,CAAD,CAAlB;AAAsB;;AAAA,WAAS1qB,EAAT,CAAY/1C,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,SAAI,IAAIu5B,CAAC,GAACt6B,CAAC,CAACqhH,IAAF,CAAOp4F,GAAP,GAAWjpB,CAAC,CAACqhH,IAAF,CAAOp4F,GAAlB,GAAsB,IAA5B,EAAiC63C,CAAC,GAAC9gE,CAAC,CAACqhH,IAAF,CAAO/hG,QAA1C,EAAmDoF,CAAC,GAAC1kB,CAAC,CAAC4zG,QAAF,IAAY,CAAjE,EAAmEx4F,CAAC,GAACpb,CAAC,CAACqhH,IAAF,CAAOtR,SAA5E,EAAsFpvC,CAAC,GAACvlD,CAAC,CAACpH,MAAF,GAASoH,CAAC,CAAClY,MAAnG,EAA0G09D,CAAC,GAACj6B,CAAC,CAACi6E,SAA9G,EAAwHxlF,CAAC,GAACuL,CAAC,CAAC26E,UAAF,CAAal9G,MAAb,CAAoB,UAASpE,CAAT,EAAW;AAAC,aAAO,MAAIA,CAAC,CAACuhH,aAAb;AAA2B,KAA3D,CAA1H,EAAuL//C,CAAC,GAAC,EAAzL,EAA4Lf,CAAC,GAACE,CAAC,GAACh6B,CAAC,CAAC66E,WAAlM,EAA8M9gD,CAAC,GAAC,CAApN,EAAsNA,CAAC,GAACtlC,CAAC,CAACl4B,MAA1N,EAAiOw9D,CAAC,EAAlO,EAAqO;AAAC,UAAIttB,CAAC,GAACzM,CAAC,CAAC26E,UAAF,CAAa5gD,CAAb,CAAN;AAAA,UAAsBY,CAAC,GAACluB,CAAC,CAACquE,cAA1B;AAAA,UAAyClyF,CAAC,GAAC6jB,CAAC,CAACsuE,kBAA7C;AAAA,UAAgEhgD,CAAC,GAACu/C,EAAE,CAAC;AAACT,eAAO,EAACz/G,CAAT;AAAW6/G,iBAAS,EAAChgD,CAArB;AAAuBgzC,gBAAQ,EAAClvF,CAAhC;AAAkCq8F,mBAAW,EAACr8F,CAA9C;AAAgDpF,gBAAQ,EAACiQ,CAAzD;AAA2DsxF,sBAAc,EAAC//C,CAA1E;AAA4E2/C,kBAAU,EAAChgD,CAAC,GAAC,GAAF,IAAOA,CAAC,GAACa,CAAF,GAAI,CAAX;AAAvF,OAAD,CAAF,CAA0G,CAA1G,CAAlE;AAA+KhnC,OAAC,KAAGonC,CAAC,CAACz4C,GAAF,GAAMqR,CAAT,CAAD,EAAaknC,CAAC,CAACj+D,IAAF,CAAOm+D,CAAP,CAAb,EAAuBjB,CAAC,IAAEa,CAA1B;AAA4B;;AAAA,WAAOthE,CAAC,CAACsxG,QAAF,GAAW9vC,CAAX,EAAaxhE,CAApB;AAAsB;;AAAA,WAAS2hH,EAAT,CAAY3hH,CAAZ,EAAc;AAAC,WAAO,UAAS2mC,CAAT,EAAW;AAAC,aAAOngC,MAAM,CAAC8pB,IAAP,CAAYqW,CAAZ,EAAe1d,GAAf,CAAmB,UAASjpB,CAAT,EAAW;AAAC,eAAO2mC,CAAC,CAAC3mC,CAAD,CAAR;AAAY,OAA3C,CAAP;AAAoD,KAAhE,CAAiEA,CAAC,CAACuqE,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAJ;AAAA,UAAMu5B,CAAC,GAACqM,CAAC,CAACpgC,UAAF,CAAatF,EAAb,IAAiB0lC,CAAC,CAACpgC,UAAF,CAAasvB,IAAb,IAAmB,EAApC,CAAR;AAAgD71B,OAAC,CAACs6B,CAAD,CAAD,IAAMqM,CAAC,CAAC2qE,QAAF,CAAW,CAAX,MAAgB3qE,CAAC,CAAC2qE,QAAF,CAAW,CAAX,EAAc4B,aAAd,GAA4B,CAAC,CAA7C,GAAgD,CAACnyG,CAAC,GAACf,CAAC,CAACs6B,CAAD,CAAD,CAAKg3E,QAAR,EAAkB/tG,IAAlB,CAAuBmC,KAAvB,CAA6B3E,CAA7B,EAA+B4lC,CAAC,CAAC2qE,QAAjC,CAAhD,EAA2F3qE,CAAC,CAACpgC,UAAF,CAAawrG,iBAAb,KAAiC/xG,CAAC,CAACs6B,CAAD,CAAD,CAAK/zB,UAAL,CAAgBwrG,iBAAhB,GAAkCprE,CAAC,CAACpgC,UAAF,CAAawrG,iBAAhF,CAAjG,IAAqM/xG,CAAC,CAACs6B,CAAD,CAAD,GAAKqM,CAA1M;AAA4M,aAAO3mC,CAAP;AAAS,KAA5R,EAA6R,EAA7R,CAAjE,EAAmWipB,GAAnW,CAAuW,UAASjpB,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACqxG,mBAAF,GAAsB,UAASrxG,CAAT,EAAWs6B,CAAX,EAAa;AAAC,eAAOt6B,CAAC,CAACuqE,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,iBAAO4lC,CAAC,CAACrM,CAAD,CAAD,IAAMt6B,CAAC,CAACuD,IAAF,CAAOxC,CAAP,CAAN,EAAgBf,CAAvB;AAAyB,SAAlD,EAAmD,EAAnD,CAAP;AAA8D,OAA5E,CAA6EA,CAAC,CAACsxG,QAA/E,EAAwF,eAAxF,CAAtB,EAA+HtxG,CAAtI;AAAwI,KAA3f,CAAP;AAAogB;;AAAA,WAAS4hH,EAAT,CAAY5hH,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAG,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,CAACngC,MAAM,CAAC8pB,IAAP,CAAYqW,CAAZ,EAAezjC,MAAtC,EAA6C,OAAOlD,CAAP;;AAAS,SAAI,IAAIe,CAAR,IAAaf,CAAb,EAAe;AAAC,UAAIs6B,CAAC,GAACt6B,CAAC,CAACe,CAAD,CAAP;;AAAW,UAAGu5B,CAAC,CAAC+mF,IAAL,EAAU;AAAC,YAAIvgD,CAAC,GAACxmC,CAAC,CAAC+mF,IAAF,CAAOtoC,GAAP,GAAW,GAAX,IAAgB39D,CAAC,GAACkf,CAAC,CAAC+mF,IAAF,CAAOtR,SAAT,EAAmB,KAAK,CAAxB,EAA0BpvC,CAAC,GAACvlD,CAAC,CAACpH,MAAF,GAASoH,CAAC,CAAClY,MAAX,GAAkB,CAA9C,EAAgDkY,CAAC,CAACpH,MAAF,GAAS,GAAT,GAAa2sD,CAA7E,CAAN;AAAA,YAAsFj8C,CAAC,GAACiiB,CAAC,CAACm6B,CAAD,CAAD,IAAMn6B,CAAC,CAACm6B,CAAD,CAAD,CAAKugD,IAAnG;AAAwG/mF,SAAC,CAAC+mF,IAAF,IAAQ38F,CAAR,IAAWqxB,EAAE,CAACzb,CAAD,EAAG5V,CAAH,EAAK4V,CAAC,CAAC+mF,IAAF,CAAOX,WAAZ,CAAb;AAAsC;AAAC;;AAAA,QAAItlG,CAAJ,EAAMulD,CAAN;AAAQ,WAAO3gE,CAAP;AAAS;;AAAA,WAAS6hH,EAAT,CAAY7hH,CAAZ,EAAc;AAAC,QAAI2mC,CAAJ;AAAA,QAAM5lC,CAAC,GAACf,CAAC,CAACuG,UAAV;AAAA,QAAqB+zB,CAAC,GAACt6B,CAAC,CAACsxG,QAAzB;AAAA,QAAkCxwC,CAAC,GAAC9gE,CAAC,CAACqhH,IAAtC;AAAA,QAA2C38F,CAAC,GAAC;AAACne,gBAAU,GAAEogC,CAAC,GAAC;AAAC8rE,YAAI,EAAC1xG,CAAC,CAACE,EAAR;AAAW+vG,aAAK,EAAC,OAAjB;AAAyBE,iBAAS,EAAC,MAAnC;AAA0ClB,kBAAU,EAAC;AAACh/F,eAAK,EAACjQ,CAAC,CAACiQ,KAAT;AAAeD,gBAAM,EAAChQ,CAAC,CAACgQ;AAAxB,SAArD;AAAqF+wG,cAAM,EAAC/gH,CAAC,CAACghH,MAA9F;AAAqG9R,iBAAS,EAAClvG,CAAC,CAACihH;AAAjH,OAAF,EAA8Hr7E,CAAC,CAAC,YAAD,CAAD,GAAgB,CAA9I,EAAgJA,CAAlJ,CAAX;AAAgKoyC,SAAG,EAAC,EAApK;AAAuKy4B,aAAO,EAAC,cAAYzwG,CAAC,CAACwP,IAAF,IAAQ,QAApB,CAA/K;AAA6MqjG,cAAQ,EAAC7yG,CAAC,CAACggH,WAAxN;AAAoOL,iBAAW,EAAC,EAAhP;AAAmPtN,oBAAc,EAACryG,CAAC,CAACue,QAApQ;AAA6QgyF,cAAQ,EAACh3E,CAAtR;AAAwRo3E,mBAAa,EAACp3E,CAAC,CAACp3B,MAAF,GAASo3B,CAAC,CAAC,CAAD,CAAD,CAAK6jC,MAAd,GAAqB;AAA3T,KAA7C;AAA2W,WAAOp9D,CAAC,CAACgxG,iBAAF,KAAsBrtF,CAAC,CAACqtF,iBAAF,GAAoBhxG,CAAC,CAACgxG,iBAA5C,GAA+DjxC,CAAC,KAAGp8C,CAAC,CAAC28F,IAAF,GAAOvgD,CAAV,CAAhE,EAA6Ep8C,CAApF;AAAsF;;AAAA,WAASu9F,EAAT,CAAYjiH,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAJ;AAAM,QAAG,KAAK,CAAL,KAAS4lC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,CAAC3mC,CAAC,CAACkD,MAAzB,EAAgC,OAAM,EAAN;AAAS,QAAIo3B,CAAC,GAACt6B,CAAC,CAAC,CAAD,CAAD,CAAKuG,UAAX;AAAA,QAAsBu6D,CAAC,GAACxmC,CAAC,CAACumF,cAA1B;AAAA,QAAyCn8F,CAAC,GAAC4V,CAAC,CAAC/pB,IAA7C;AAAA,QAAkD6K,CAAC,GAAC,KAAK,CAAL,KAASsJ,CAAT,GAAW,QAAX,GAAoBA,CAAxE;AAAA,QAA0Ei8C,CAAC,GAACrmC,CAAC,CAAC4nF,0BAA9E;AAAA,QAAyGthD,CAAC,GAACtmC,CAAC,CAAC6nF,mBAA7G;AAAA,QAAiI/mF,CAAC,GAAC,KAAK,CAAL,KAASwlC,CAAT,GAAW,CAAX,GAAaA,CAAhJ;AAAA,QAAkJY,CAAC,GAACmgD,EAAE,CAAC3hH,CAAC,CAACoE,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACuG,UAAR;AAAmB,aAAM,gBAAcogC,CAAC,CAAC0V,QAAhB,IAA0B,YAAU1V,CAAC,CAAC0W,WAA5C;AAAwD,KAAhG,CAAD,CAAF,CAAsGp0B,GAAtG,CAA0G44F,EAA1G,CAApJ;AAAA,QAAkQphD,CAAC,GAACkhD,EAAE,CAAC3hH,CAAC,CAACoE,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACuG,UAAR;AAAmB,aAAM,gBAAcogC,CAAC,CAAC0V,QAAhB,IAA0B,YAAU1V,CAAC,CAAC0W,WAA5C;AAAwD,KAAhG,CAAD,CAAtQ;AAAA,QAA0WqjB,CAAC,GAAC1gE,CAAC,CAACoE,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACuG,UAAR;AAAmB,aAAM,eAAaogC,CAAC,CAAC0V,QAAf,IAAyB,WAAS1V,CAAC,CAAC0W,WAA1C;AAAsD,KAA9F,CAA5W;AAAA,QAA4cjK,CAAC,GAAC;AAACg+D,gBAAU,EAAC,CAAC,CAAb;AAAeC,yBAAmB,EAAC,EAAnC;AAAsCC,cAAQ,EAAC,EAA/C;AAAkDE,aAAO,EAAC,CAAC,CAA3D;AAA6De,iBAAW,GAAExxG,CAAC,GAAC;AAACiwG,aAAK,EAAC,EAAP;AAAUC,aAAK,EAAC;AAAhB,OAAF,EAAsBlwG,CAAC,CAAC,iBAAD,CAAD,GAAqB,EAA3C,EAA8CA,CAAC,CAACmwG,SAAF,GAAY,EAA1D,EAA6DnwG,CAA/D,CAAxE;AAA0Ig4E,SAAG,EAAC,EAA9I;AAAiJz5D,cAAQ,EAACwhD,CAA1J;AAA4JwxC,eAAS,EAACsP,EAAE,CAACpgD,CAAD,EAAG76B,CAAH,CAAxK;AAA8Kw7E,yBAAmB,EAAC,MAAI/mF;AAAtM,KAA9c;AAAupB,WAAM,cAAYhgB,CAAZ,KAAgBg4B,CAAC,CAAC8uE,0BAAF,GAA6BvhD,CAA7C,GAAgDF,CAAC,CAACv9D,MAAF,KAAWkwC,CAAC,CAACm/D,WAAF,CAAcvB,KAAd,CAAoBp1B,KAApB,GAA0B,UAAS57E,CAAT,EAAWob,CAAX,EAAa;AAAC,UAAIulD,CAAJ;AAAM,WAAK,CAAL,KAASvlD,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,UAAIurB,CAAC,GAAC3mC,CAAC,CAACuqE,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC4lC,CAAC,CAACpgC,UAAF,CAAawsE,IAAb,IAAmBpsC,CAAC,CAACpgC,UAAF,CAAawsE,IAAb,CAAkB1tD,KAArC,IAA4C,EAAlD;AAAA,YAAqDiV,CAAC,GAACqM,CAAC,CAACpgC,UAAF,CAAasvB,IAAb,IAAmB,EAA1E;AAAA,YAA6EirC,CAAC,GAAC,MAA/E;;AAAsF,YAAGxmC,CAAH,EAAK;AAAC,cAAI5V,CAAC,GAAC3jB,CAAC,GAAC,OAAKA,CAAL,GAAO,GAAR,GAAY,EAAnB;AAAsB+/D,WAAC,GAACn6B,CAAC,CAACpgC,UAAF,CAAasvB,IAAb,GAAkBnR,CAApB;AAAsB;;AAAA,eAAO1kB,CAAC,CAAC8gE,CAAD,CAAD,IAAM9gE,CAAC,CAAC8gE,CAAD,CAAD,CAAKwxC,SAAL,CAAe,CAAf,EAAkB/rG,UAAlB,CAA6B0pG,SAA7B,GAAuCtpE,CAAC,CAACpgC,UAAF,CAAay7G,SAA1D,KAAsEhiH,CAAC,CAAC8gE,CAAD,CAAD,GAAK;AAACkJ,kBAAQ,EAAC1vC,CAAV;AAAYo4E,oBAAU,EAAC,CAAC,CAAxB;AAA0B,qBAAQ,WAAS3xG,CAA3C;AAA6CuxG,mBAAS,EAACsP,EAAE,CAAC,CAAC,UAAS5hH,CAAT,EAAW;AAAC,gBAAI2mC,CAAJ;AAAA,gBAAM5lC,CAAC,GAACf,CAAC,CAACuG,UAAV;AAAA,gBAAqB+zB,CAAC,GAACt6B,CAAC,CAACsxG,QAAzB;AAAA,gBAAkCxwC,CAAC,GAAC9gE,CAAC,CAACqhH,IAAtC;AAAA,gBAA2C38F,CAAC,GAAC;AAACne,wBAAU,GAAEogC,CAAC,GAAC;AAAC8rE,oBAAI,EAAC1xG,CAAC,CAACE,EAAR;AAAWgvG,yBAAS,EAAClvG,CAAC,CAACihH,SAAvB;AAAiCF,sBAAM,EAAC/gH,CAAC,CAACghH;AAA1C,eAAF,EAAoDp7E,CAAC,CAAC,YAAD,CAAD,GAAgB,CAApE,EAAsEA,CAAxE,CAAX;AAAsFoyC,iBAAG,EAAC,EAA1F;AAA6Fy4B,qBAAO,EAAC,cAAYzwG,CAAC,CAACwP,IAAF,IAAQ,QAApB,CAArG;AAAmIqjG,sBAAQ,EAAC7yG,CAAC,CAACggH,WAA9I;AAA0JL,yBAAW,EAAC,EAAtK;AAAyKtN,4BAAc,EAACryG,CAAC,CAACue,QAA1L;AAAmMgyF,sBAAQ,EAACh3E,CAA5M;AAA8Mo3E,2BAAa,EAACp3E,CAAC,CAACp3B,MAAF,GAASo3B,CAAC,CAAC,CAAD,CAAD,CAAK6jC,MAAd,GAAqB;AAAjP,aAA7C;AAAiS,mBAAOp9D,CAAC,CAACgxG,iBAAF,KAAsBrtF,CAAC,CAACqtF,iBAAF,GAAoBhxG,CAAC,CAACgxG,iBAA5C,GAA+DjxC,CAAC,KAAGp8C,CAAC,CAAC28F,IAAF,GAAOvgD,CAAV,CAAhE,EAA6Ep8C,CAApF;AAAsF,WAAnY,CAAoYiiB,CAApY,CAAD,CAAD,EAA0YvrB,CAA1Y,CAAzD;AAAsc29D,aAAG,EAAC;AAA1c,SAAL,EAAmd,eAAa,OAAOpY,CAApB,IAAuB,WAAS5/D,CAAhC,KAAoC,CAAC4/D,CAAC,GAACh6B,CAAH,eAAc,CAAC,CAAnD,CAAzhB,GAAglB3mC,CAAvlB;AAAylB,OAAxvB,EAAyvB,EAAzvB,CAAN;AAAmwB2gE,OAAC,KAAGh6B,CAAC,CAACngC,MAAM,CAAC8pB,IAAP,CAAYqW,CAAZ,EAAe,CAAf,CAAD,CAAD,cAA6B,CAAC,CAAjC,CAAD;AAAqC,aAAOA,CAAP;AAAS,KAAx1B,CAAy1B85B,CAAz1B,EAA21B95B,CAA31B,CAArC,CAAhD,EAAo7B+5B,CAAC,CAACx9D,MAAF,KAAWkwC,CAAC,CAACm/D,WAAF,CAAcrB,SAAd,CAAwBkR,IAAxB,GAA6B,UAASpiH,CAAT,EAAWs6B,CAAX,EAAa;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmBt6B,CAAC,CAACuqE,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC4lC,CAAC,CAACpgC,UAAF,CAAasvB,IAAb,IAAmB,MAAzB;AAAgC,eAAO71B,CAAC,CAACe,CAAD,CAAD,KAAOf,CAAC,CAACe,CAAD,CAAD,GAAK;AAACipE,kBAAQ,EAACjpE,CAAV;AAAY,qBAAQ,CAAC,CAArB;AAAuB2xG,oBAAU,EAAC,CAAC,CAAnC;AAAqCJ,mBAAS,EAACsP,EAAE,CAAC,CAAC,UAAS5hH,CAAT,EAAW;AAAC,gBAAI2mC,CAAJ;AAAA,gBAAM5lC,CAAC,GAACf,CAAC,CAACuG,UAAV;AAAA,gBAAqB+zB,CAAC,GAACt6B,CAAC,CAACsxG,QAAzB;AAAkC,mBAAM,eAAa,OAAOh3E,CAApB,KAAwBA,CAAC,GAAC,CAAC;AAACy+C,iBAAG,EAACh4E,CAAC,CAACy/G,OAAP;AAAe5M,sBAAQ,EAAC7yG,CAAC,CAACggH,WAA1B;AAAsCL,yBAAW,EAAC3/G,CAAC,CAACy/G,OAAF,IAAW,EAA7D;AAAgElhG,sBAAQ,EAACve,CAAC,CAAC8/G,cAA3E;AAA0F1iD,oBAAM,EAAC;AAAjG,aAAD,CAAF,EAAwGp9D,CAAC,CAACue,QAAF,GAAWve,CAAC,CAAC8/G,cAA7I,GAA6J;AAACt6G,wBAAU,GAAEogC,CAAC,GAAC;AAAC8rE,oBAAI,EAAC1xG,CAAC,CAACE,EAAR;AAAWgvG,yBAAS,EAAClvG,CAAC,CAACihH;AAAvB,eAAF,EAAoCr7E,CAAC,CAAC,YAAD,CAAD,GAAgB,CAApD,EAAsDA,CAAxD,CAAX;AAAsEoyC,iBAAG,EAAC,EAA1E;AAA6Ey4B,qBAAO,EAAC,cAAYzwG,CAAC,CAACwP,IAAF,IAAQ,QAApB,CAArF;AAAmHqjG,sBAAQ,EAAC7yG,CAAC,CAACggH,WAA9H;AAA0IL,yBAAW,EAAC3/G,CAAC,CAACy/G,OAAF,IAAW,EAAjK;AAAoKpN,4BAAc,EAACryG,CAAC,CAACue,QAArL;AAA8LgyF,sBAAQ,EAACh3E,CAAvM;AAAyMo3E,2BAAa,EAACp3E,CAAC,CAACp3B,MAAF,GAASo3B,CAAC,CAAC,CAAD,CAAD,CAAK6jC,MAAd,GAAqB;AAA5O,aAAnK;AAAkZ,WAAhc,CAAicx3B,CAAjc,CAAD,CAAD,EAAucrM,CAAvc,CAAjD;AAA2fy+C,aAAG,EAAC;AAA/f,SAAZ,GAAghB/4E,CAAvhB;AAAyhB,OAAhlB,EAAilB,EAAjlB,CAA1B;AAA+mB,KAA7nB,CAA8nB0gE,CAA9nB,EAAgoB/5B,CAAhoB,CAAxC,CAAp7B,EAAgmDyM,CAAtmD;AAAwmD;;AAAA,WAASivE,EAAT,CAAYriH,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAJ,EAAMu5B,CAAN,EAAQwmC,CAAR,EAAUp8C,CAAV,EAAYtJ,CAAZ,EAAculD,CAAd,EAAgBC,CAAhB,EAAkBxlC,CAAlB,EAAoBomC,CAApB,EAAsBf,CAAtB,EAAwBC,CAAxB,EAA0BttB,CAA1B,EAA4BkuB,CAAC,GAACthE,CAAC,CAACuQ,IAAhC,EAAqCgf,CAAC,GAAC,KAAK,CAAL,KAAS+xC,CAAT,GAAW,QAAX,GAAoBA,CAA3D,EAA6DI,CAAC,GAAC1hE,CAAC,CAACmiH,mBAAjE,EAAqFllF,CAAC,GAAC,KAAK,CAAL,KAASykC,CAAT,GAAW,CAAX,GAAaA,CAApG,EAAsGp/C,CAAC,GAACtiB,CAAC,CAACylD,KAA1G,EAAgHtpB,CAAC,GAAC,KAAK,CAAL,KAAS7Z,CAAT,GAAW,EAAX,GAAcA,CAAhI,EAAkIjH,CAAC,GAACrb,CAAC,CAAC6gH,cAAtI,EAAqJl/C,CAAC,GAAC3hE,CAAC,CAAC4gH,SAAzJ,EAAmKh/C,CAAC,GAAC,KAAK,CAAL,KAASD,CAAT,GAAW,CAAX,GAAaA,CAAlL,EAAoLG,CAAC,GAAC9hE,CAAC,CAACghH,WAAxL,EAAoM/+C,CAAC,GAAC,KAAK,CAAL,KAASH,CAAT,GAAW,CAAX,GAAaA,CAAnN,EAAqNt7C,CAAC,GAACxmB,CAAC,CAAC+gH,WAAzN,EAAqO7+C,CAAC,GAAC,EAAvO,EAA0O7/C,CAAC,GAAC,CAAC,CAA7O,EAA+O8/C,CAAC,GAAC,CAArP,EAAuPA,CAAC,GAACx7B,CAAC,CAACzjC,MAA3P,EAAkQi/D,CAAC,EAAnQ,EAAsQ;AAAC,UAAIC,CAAC,GAACz7B,CAAC,CAACw7B,CAAD,CAAP;AAAA,UAAWE,CAAC,GAACD,CAAC,CAAC1B,CAAf;AAAA,UAAiB4B,CAAC,GAACF,CAAC,CAACtB,CAAF,IAAK,CAAxB;AAAA,UAA0ByB,CAAC,GAACH,CAAC,CAACz7B,CAAF,IAAK,CAAjC;AAAmCtkB,OAAC,GAAC,CAAF,KAAMA,CAAC,GAACkgD,CAAR,GAAWA,CAAC,IAAElgD,CAAC,GAACkgD,CAAL,KAASlgD,CAAC,GAACkgD,CAAX,CAAX;AAAyB,UAAIC,CAAC,GAAC,KAAK,CAAX;;AAAa,UAAGF,CAAC,GAAC,CAAL,EAAO;AAAC,YAAIG,CAAC,GAACN,CAAC,GAAC,CAAR;AAAUK,SAAC,GAACC,CAAC,KAAG97B,CAAC,CAACzjC,MAAN,GAAa,cAAYqsB,CAAZ,IAAe,IAAE0N,CAAjB,IAAoB,IAAEd,CAAC,CAACh7B,OAAF,CAAU,UAAV,CAAtB,IAA6Cm5B,CAAC,GAACjY,CAAF,EAAIy+C,CAAC,GAACuB,CAAN,EAAQ,KAAK,CAAb,EAAe39C,CAAC,GAAC,CAAC3jB,CAAC,GAACf,CAAH,EAAMsiH,GAAvB,EAA2BlnG,CAAC,GAACra,CAAC,CAACwhH,YAA/B,EAA4C5hD,CAAC,GAAC5/D,CAAC,CAACyhH,qBAAhD,EAAsE5hD,CAAC,GAAC7/D,CAAC,CAAC6/G,SAA1E,EAAoFxlF,CAAC,GAAC,KAAK,CAAL,KAASwlC,CAAT,GAAW,CAAX,GAAaA,CAAnG,EAAqGY,CAAC,GAACzgE,CAAC,CAACygB,KAAzG,EAA+Gi/C,CAAC,GAAC,KAAK,CAAL,KAASe,CAAT,GAAW,CAAX,GAAaA,CAA9H,EAAgId,CAAC,GAAC3/D,CAAC,CAACohH,mBAApI,EAAwJ/uE,CAAC,GAAC,CAAC1uB,CAAC,GAACtJ,CAAH,IAAM,GAAN,IAAW,KAAK,CAAL,KAASslD,CAAT,GAAW,CAAX,GAAaA,CAAxB,KAA4BC,CAAC,GAACF,CAA9B,CAA1J,EAA2L9/C,IAAI,CAAC6wB,IAAL,CAAU,CAAC4B,CAAC,GAAChY,CAAF,GAAId,CAAL,IAAQwmC,CAAlB,CAAxO,IAA8P,CAACzlD,CAAC,GAACumD,CAAF,GAAIv/C,CAAL,IAAQggD,CAAnR,GAAqR,CAAC17B,CAAC,CAAC87B,CAAD,CAAD,CAAK97B,CAAL,GAAOtkB,CAAR,IAAWggD,CAAlS;AAAoS,OAAtT,MAA2TG,CAAC,GAACF,CAAC,GAAC,CAAJ;;AAAM,WAAI,IAAIK,CAAC,GAACV,CAAC,GAACC,CAAC,CAACh/D,MAAJ,GAAWs/D,CAAjB,EAAmBI,CAAC,GAACX,CAAC,GAACC,CAAC,CAACh/D,MAA7B,EAAoC0/D,CAAC,GAACD,CAAtC;AAAyCT,SAAC,CAAC3+D,IAAF,CAAO;AAAC46D,gBAAM,EAACyE,CAAR;AAAUtjD,kBAAQ,EAAC+iD,CAAC,GAACT,CAArB;AAAuBhyD,cAAI,EAACyS,CAA5B;AAA8BuxF,kBAAQ,EAACptF;AAAvC,SAAP,GAAkDnE,CAAC,IAAEggD,CAArD,EAAuDO,CAAC,EAAxD;AAAzC;AAAoG;;AAAA,WAAOV,CAAP;AAAS;;AAAA,WAASugD,EAAT,CAAYziH,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAO3mC,CAAC,CAACqE,OAAF,CAAUq+G,EAAV,EAAa,UAASh+F,CAAT,EAAW;AAAC,aAAO,UAAS1kB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,YAAG,SAAOt6B,CAAV,EAAY,OAAM,GAAN;AAAU,YAAG,eAAa,OAAO0kB,CAAC,CAACiiB,CAAD,CAAxB,EAA4B,OAAO3mC,CAAP;AAAS,YAAI8gE,CAAC,GAAC,KAAGp8C,CAAC,CAACiiB,CAAD,CAAV;AAAc,eAAM,uBAAqBA,CAArB,GAAuBm6B,CAAvB,GAAyB,CAACxmC,CAAC,GAACv5B,CAAC,GAAC2F,QAAQ,CAAC4zB,CAAD,EAAG,EAAH,CAAT,GAAgB,CAApB,KAAwBwmC,CAAC,CAAC59D,MAA1B,GAAiC49D,CAAjC,GAAmC,IAAItlD,KAAJ,CAAU8e,CAAC,GAACwmC,CAAC,CAAC59D,MAAJ,GAAW,CAArB,EAAwBitB,IAAxB,CAA6B,GAA7B,IAAkC2wC,CAApG;AAAsG,OAAxM;AAAyM,KAArN,CAAsNn6B,CAAtN,CAAb,CAAP;AAA8O;;AAAA,WAASg8E,EAAT,CAAY5hH,CAAZ,EAAcf,CAAd,EAAgB;AAAC,QAAIs6B,CAAC,GAAC;AAACsoF,sBAAgB,EAAC7hH,CAAC,CAACE,EAApB;AAAuB4hH,eAAS,EAAC9hH,CAAC,CAACihH,SAAF,IAAa;AAA9C,KAAN;AAAA,QAAuDr7E,CAAC,GAAC5lC,CAAC,CAACmgH,cAA3D;AAAA,QAA0EpgD,CAAC,GAAC,KAAK,CAAL,KAASn6B,CAAT,GAAW;AAACy6E,eAAS,EAAC,EAAX;AAAcz6D,WAAK,EAAC;AAApB,KAAX,GAAmChgB,CAA/G;AAAA,QAAiHjiB,CAAC,GAAC67F,EAAE,CAAC;AAACC,aAAO,EAACz/G,CAAC,CAACy/G,OAAX;AAAmB/gG,YAAM,EAACgjG,EAAE,CAAC3hD,CAAC,CAACsgD,SAAH,EAAa9mF,CAAb,CAA5B;AAA4CqsB,WAAK,EAACma,CAAC,CAACna;AAApD,KAAD,CAArH;AAAkL,WAAO,UAAS3mD,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO3mC,CAAC,CAACsf,QAAF,IAAYqnB,CAAZ,GAAc3mC,CAAC,CAACsf,QAAF,GAAWqhG,EAAE,CAAC3gH,CAAD,CAAb,GAAiBqiH,EAAE,CAACriH,CAAD,EAAG2mC,CAAH,CAAjC,GAAuC,CAAC;AAACw3B,cAAM,EAACn+D,CAAC,CAACghH,WAAF,IAAe,CAAvB;AAAyB1hG,gBAAQ,EAACtf,CAAC,CAAC6gH,cAApC;AAAmDjxG,YAAI,EAAC,CAAxD;AAA0DgkG,gBAAQ,EAAC5zG,CAAC,CAAC+gH;AAArE,OAAD,CAA9C;AAAkI,KAAhJ,CAAiJhgH,CAAjJ,EAAmJf,CAAnJ,EAAsJipB,GAAtJ,CAA0J,UAASjpB,CAAT,EAAW;AAACs6B,OAAC,CAACmtB,MAAF,GAASznD,CAAC,CAACm+D,MAAX,EAAkB7jC,CAAC,CAACwoF,IAAF,GAAO9iH,CAAC,CAAC4P,IAA3B;AAAgC,UAAI+2B,CAAC,GAAC87E,EAAE,CAAC1hH,CAAC,CAAC0kD,KAAF,IAAS,EAAV,EAAanrB,CAAb,CAAR;AAAwB,aAAM;AAACy+C,WAAG,EAACpyC,CAAL;AAAOitE,gBAAQ,EAAC5zG,CAAC,CAAC4zG,QAAlB;AAA2Bt0F,gBAAQ,EAACtf,CAAC,CAACsf,QAAtC;AAA+CohG,mBAAW,EAACxM,EAAE,CAACnzG,CAAC,CAACy/G,OAAF,IAAW,EAAZ,EAAe75E,CAAf,CAA7D;AAA+E1d,WAAG,EAACvE,CAAnF;AAAqFy5C,cAAM,EAACn+D,CAAC,CAACm+D;AAA9F,OAAN;AAA4G,KAA1U,CAAP;AAAmV;;AAAA,WAAS4kD,EAAT,CAAYp8E,CAAZ,EAAc3mC,CAAd,EAAgB;AAAC,QAAIe,CAAC,GAAC4lC,CAAC,CAACrnB,QAAR;AAAA,QAAiBgb,CAAC,GAACqM,CAAC,CAACq8E,WAArB;AAAA,QAAiCliD,CAAC,GAAC,KAAK,CAAL,KAASxmC,CAAT,GAAW,EAAX,GAAcA,CAAjD;AAAmD,QAAG,CAACv5B,CAAD,IAAI,CAACf,CAAL,IAAQe,CAAC,IAAEf,CAAd,EAAgB,MAAM,IAAIkT,KAAJ,CAAU+vG,EAAV,CAAN;AAAoB,QAAIv+F,CAAJ;AAAA,QAAMtJ,CAAC,GAAC0lD,CAAC,CAAC73C,GAAF,CAAM,UAASjpB,CAAT,EAAW;AAAC,aAAO,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAACf,CAAC,CAACwgH,OAAR;AAAA,YAAgBlmF,CAAC,GAACt6B,CAAC,CAACkhH,cAApB;AAAA,YAAmCpgD,CAAC,GAAC,KAAK,CAAL,KAASxmC,CAAT,GAAW,EAAX,GAAcA,CAAnD;AAAA,YAAqD5V,CAAC,GAAC67F,EAAE,CAAC;AAACC,iBAAO,EAACz/G,CAAT;AAAW0e,gBAAM,EAACqhD,CAAC,CAACsgD,SAApB;AAA8Bz6D,eAAK,EAACma,CAAC,CAACna;AAAtC,SAAD,CAAzD;AAAA,YAAwGvrC,CAAC,GAACmlG,EAAE,CAAC;AAACC,iBAAO,EAACz/G,CAAT;AAAW0e,gBAAM,EAACknB,CAAC,CAAC8e,KAApB;AAA0BkB,eAAK,EAAChgB,CAAC,CAACu8E;AAAlC,SAAD,CAA5G;AAA4J,eAAO9nG,CAAC,CAAC6N,GAAF,GAAMvE,CAAN,EAAQtJ,CAAf;AAAiB,OAA3L,CAA4LurB,CAA5L,EAA8L3mC,CAA9L,CAAP;AAAwM,KAA1N,CAAR;AAAoO,WAAOe,CAAC,KAAG2jB,CAAC,GAACi8F,EAAE,CAACh6E,CAAD,CAAP,CAAD,EAAa3mC,CAAC,KAAG0kB,CAAC,GAAC29F,EAAE,CAAC17E,CAAD,EAAG3mC,CAAH,CAAP,CAAd,EAA4B0kB,CAAC,CAACuE,GAAF,CAAM,UAASjpB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAGvrB,CAAC,CAACurB,CAAD,CAAJ,EAAQ;AAAC,YAAI5lC,CAAC,GAACqa,CAAC,CAACurB,CAAD,CAAP;AAAW,eAAO5lC,CAAC,CAAC6yG,QAAF,GAAW5zG,CAAC,CAAC4zG,QAAb,EAAsB7yG,CAAC,CAACue,QAAF,GAAWtf,CAAC,CAACsf,QAAnC,EAA4Cve,CAAC,CAACo9D,MAAF,GAASn+D,CAAC,CAACm+D,MAAvD,EAA8Dp9D,CAArE;AAAuE;AAAC,KAAhH,EAAkHqD,MAAlH,CAAyH,UAASpE,CAAT,EAAW;AAAC,aAAOA,CAAP;AAAS,KAA9I,CAAnC;AAAmL;;AAAA,WAASmjH,EAAT,CAAYnjH,CAAZ,EAAc;AAAC,QAAI2mC,CAAJ;AAAA,QAAM5lC,CAAN;AAAA,QAAQu5B,CAAC,GAACt6B,CAAC,CAACuG,UAAZ;AAAA,QAAuBu6D,CAAC,GAAC9gE,CAAC,CAACojH,WAA3B;AAAuCtiD,KAAC,CAACuiD,QAAF,IAAYtiH,CAAC,GAAC4hH,EAAF,EAAKh8E,CAAC,GAACy5E,EAAE,CAAC9lF,CAAD,EAAGwmC,CAAC,CAACuiD,QAAL,CAArB,IAAqCviD,CAAC,CAACzpC,IAAF,IAAQt2B,CAAC,GAACkgH,EAAF,EAAKt6E,CAAC,GAACy5E,EAAE,CAAC9lF,CAAD,EAAGwmC,CAAC,CAACzpC,IAAL,CAAjB,IAA6BypC,CAAC,CAAC/zC,IAAF,KAAShsB,CAAC,GAACgiH,EAAF,EAAKp8E,CAAC,GAACy5E,EAAE,CAAC9lF,CAAD,EAAGwmC,CAAC,CAAC/zC,IAAL,CAAlB,CAAlE;AAAgG,QAAIrI,CAAC,GAAC;AAACne,gBAAU,EAAC+zB;AAAZ,KAAN;AAAqB,QAAG,CAACv5B,CAAJ,EAAM,OAAO2jB,CAAP;AAAS,QAAItJ,CAAC,GAACra,CAAC,CAAC4lC,CAAD,EAAGm6B,CAAC,CAAC8yC,QAAL,CAAP;;AAAsB,QAAGjtE,CAAC,CAACrnB,QAAL,EAAc;AAAC,UAAIqhD,CAAC,GAACh6B,CAAN;AAAA,UAAQi6B,CAAC,GAACD,CAAC,CAACrhD,QAAZ;AAAA,UAAqB8b,CAAC,GAACulC,CAAC,CAACigD,SAAzB;AAAA,UAAmCp/C,CAAC,GAAC,KAAK,CAAL,KAASpmC,CAAT,GAAW,CAAX,GAAaA,CAAlD;AAAoDuL,OAAC,CAACrnB,QAAF,GAAWshD,CAAC,GAACY,CAAb;AAAe,KAAlF,MAAuFpmD,CAAC,CAAClY,MAAF,GAASyjC,CAAC,CAACrnB,QAAF,GAAWlE,CAAC,CAACmvD,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAOhmB,IAAI,CAACC,GAAL,CAAS5gB,CAAT,EAAW2gB,IAAI,CAAC6wB,IAAL,CAAU7K,CAAC,CAACrnB,QAAZ,CAAX,CAAP;AAAyC,KAAhE,EAAiE,CAAjE,CAApB,GAAwFqnB,CAAC,CAACrnB,QAAF,GAAW,CAAnG;;AAAqG,WAAOoF,CAAC,CAACne,UAAF,GAAaogC,CAAb,EAAejiB,CAAC,CAAC4sF,QAAF,GAAWl2F,CAA1B,EAA4B0lD,CAAC,CAACzpC,IAAF,IAAQsP,CAAC,CAAC85E,UAAV,KAAuB/7F,CAAC,CAAC28F,IAAF,GAAOjmG,CAAC,CAAC,CAAD,CAAR,EAAYsJ,CAAC,CAAC4sF,QAAF,GAAW,EAA9C,CAA5B,EAA8E5sF,CAArF;AAAuF;;AAAA,WAAS4+F,EAAT,CAAYtjH,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAO25E,EAAE,CAACtgH,CAAC,CAACovB,UAAH,CAAF,CAAiBhrB,MAAjB,CAAwB,UAASpE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACo/E,OAAF,KAAYz4C,CAAnB;AAAqB,KAAzD,CAAP;AAAkE;;AAAA,WAAS48E,EAAT,CAAYvjH,CAAZ,EAAc;AAAC,WAAOA,CAAC,CAAC+zB,WAAF,CAAc8vB,IAAd,EAAP;AAA4B;;AAAA,WAAS2/D,EAAT,CAAYxjH,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC,+EAA+EppB,IAA/E,CAAoFvd,CAApF,CAAN;AAA6F,QAAG,CAAC2mC,CAAJ,EAAM,OAAO,CAAP;AAAS,QAAI5lC,CAAC,GAAC4lC,CAAC,CAAChsB,KAAF,CAAQ,CAAR,CAAN;AAAA,QAAiB2f,CAAC,GAACv5B,CAAC,CAAC,CAAD,CAApB;AAAA,QAAwB+/D,CAAC,GAAC//D,CAAC,CAAC,CAAD,CAA3B;AAAA,QAA+B2jB,CAAC,GAAC3jB,CAAC,CAAC,CAAD,CAAlC;AAAA,QAAsCqa,CAAC,GAACra,CAAC,CAAC,CAAD,CAAzC;AAAA,QAA6C4/D,CAAC,GAAC5/D,CAAC,CAAC,CAAD,CAAhD;AAAA,QAAoD6/D,CAAC,GAAC7/D,CAAC,CAAC,CAAD,CAAvD;AAA2D,WAAO,UAAQkiB,UAAU,CAACqX,CAAC,IAAE,CAAJ,CAAlB,GAAyB,SAAOrX,UAAU,CAAC69C,CAAC,IAAE,CAAJ,CAA1C,GAAiD,QAAM79C,UAAU,CAACyB,CAAC,IAAE,CAAJ,CAAjE,GAAwE,OAAKzB,UAAU,CAAC7H,CAAC,IAAE,CAAJ,CAAvF,GAA8F,KAAG6H,UAAU,CAAC09C,CAAC,IAAE,CAAJ,CAA3G,GAAkH19C,UAAU,CAAC29C,CAAC,IAAE,CAAJ,CAAnI;AAA0I;;AAAA,WAAS6iD,EAAT,CAAYzjH,CAAZ,EAAc;AAAC,WAAOA,CAAC,IAAEA,CAAC,CAACuG,UAAL,GAAgB+5G,EAAE,CAACtgH,CAAC,CAACuG,UAAH,CAAF,CAAiBgkE,MAAjB,CAAwB,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC2iH,EAAE,CAAC/8E,CAAC,CAAC/c,IAAH,CAAF,IAAY85F,EAAE,CAACziD,OAArB;AAA6B,aAAOjhE,CAAC,CAAC2mC,CAAC,CAAC/c,IAAH,CAAD,GAAU7oB,CAAC,CAAC4lC,CAAC,CAACthB,KAAH,CAAX,EAAqBrlB,CAA5B;AAA8B,KAAjG,EAAkG,EAAlG,CAAhB,GAAsH,EAA7H;AAAgI;;AAAA,WAAS2jH,EAAT,CAAY3jH,CAAZ,EAAce,CAAd,EAAgB;AAAC,WAAOA,CAAC,CAACmC,MAAF,GAASm9G,EAAE,CAACrgH,CAAC,CAACipB,GAAF,CAAM,UAAS0d,CAAT,EAAW;AAAC,aAAO5lC,CAAC,CAACkoB,GAAF,CAAM,UAASjpB,CAAT,EAAW;AAAC,eAAOk0G,EAAE,CAACvtE,CAAD,EAAG48E,EAAE,CAACvjH,CAAD,CAAL,CAAT;AAAmB,OAArC,CAAP;AAA8C,KAAhE,CAAD,CAAX,GAA+EA,CAAtF;AAAwF;;AAAA,WAAS4jH,EAAT,CAAY5jH,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC28E,EAAE,CAACtjH,CAAD,EAAG,iBAAH,CAAF,CAAwB,CAAxB,CAAN;AAAA,QAAiCe,CAAC,GAACuiH,EAAE,CAACtjH,CAAD,EAAG,aAAH,CAAF,CAAoB,CAApB,CAAnC;AAAA,QAA0Ds6B,CAAC,GAACv5B,CAAC,IAAEuiH,EAAE,CAACviH,CAAD,EAAG,YAAH,CAAF,CAAmBkoB,GAAnB,CAAuB,UAASjpB,CAAT,EAAW;AAAC,aAAOogH,EAAE,CAAC;AAACttG,WAAG,EAAC;AAAL,OAAD,EAAoB2wG,EAAE,CAACzjH,CAAD,CAAtB,CAAT;AAAoC,KAAvE,CAA/D;AAAA,QAAwI8gE,CAAC,GAACwiD,EAAE,CAACtjH,CAAD,EAAG,aAAH,CAAF,CAAoB,CAApB,CAA1I;AAAA,QAAiK0kB,CAAC,GAAC3jB,CAAC,IAAE4lC,CAAtK;AAAA,QAAwKvrB,CAAC,GAACsJ,CAAC,IAAE4+F,EAAE,CAAC5+F,CAAD,EAAG,iBAAH,CAAF,CAAwB,CAAxB,CAA7K;AAAA,QAAwMi8C,CAAC,GAAC5/D,CAAC,IAAE+/D,CAAH,IAAMn6B,CAAhN;AAAA,QAAkNi6B,CAAC,GAACD,CAAC,IAAE2iD,EAAE,CAAC3iD,CAAD,EAAG,gBAAH,CAAF,CAAuB,CAAvB,CAAvN;AAAA,QAAiPvlC,CAAC,GAACuL,CAAC,IAAE88E,EAAE,CAAC98E,CAAD,CAAxP;AAA4PvL,KAAC,IAAEwlC,CAAH,GAAKxlC,CAAC,CAAC8lF,cAAF,GAAiBtgD,CAAC,IAAE6iD,EAAE,CAAC7iD,CAAD,CAA3B,GAA+BxlC,CAAC,IAAEA,CAAC,CAAC8lF,cAAL,KAAsB9lF,CAAC,CAAC8lF,cAAF,GAAiB;AAACE,eAAS,EAAChmF,CAAC,CAAC8lF;AAAb,KAAvC,CAA/B;AAAoG,QAAI1/C,CAAC,GAAC;AAAC6hD,cAAQ,EAACjoF,CAAV;AAAYw4E,cAAQ,EAACx4F,CAAC,IAAEkoG,EAAE,CAACloG,CAAD,EAAG,GAAH,CAAF,CAAU6N,GAAV,CAAc,UAASjpB,CAAT,EAAW;AAAC,eAAOyjH,EAAE,CAACzjH,CAAD,CAAT;AAAa,OAAvC,CAAxB;AAAiE+sB,UAAI,EAAChsB,CAAC,IAAEq/G,EAAE,CAACqD,EAAE,CAAC1iH,CAAD,CAAH,EAAO;AAACiiH,mBAAW,EAAC1oF,CAAb;AAAe4mF,sBAAc,EAACuC,EAAE,CAAC7iD,CAAD;AAAhC,OAAP,CAA3E;AAAwHvpC,UAAI,EAACypC,CAAC,IAAEs/C,EAAE,CAACqD,EAAE,CAAC3iD,CAAD,CAAH,EAAO;AAACogD,sBAAc,EAACuC,EAAE,CAAC7iD,CAAD;AAAlB,OAAP;AAAlI,KAAN;AAAwK,WAAOp6D,MAAM,CAAC8pB,IAAP,CAAYkxC,CAAZ,EAAez4D,OAAf,CAAuB,UAAS/I,CAAT,EAAW;AAACwhE,OAAC,CAACxhE,CAAD,CAAD,IAAM,OAAOwhE,CAAC,CAACxhE,CAAD,CAAd;AAAkB,KAArD,GAAuDwhE,CAA9D;AAAgE;;AAAA,WAASqiD,EAAT,CAAYriD,CAAZ,EAAcf,CAAd,EAAgBC,CAAhB,EAAkB;AAAC,WAAO,UAAS1gE,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC88E,EAAE,CAACzjH,CAAD,CAAR;AAAA,UAAYe,CAAC,GAAC4iH,EAAE,CAACljD,CAAD,EAAG6iD,EAAE,CAACtjH,CAAD,EAAG,SAAH,CAAL,CAAhB;AAAA,UAAoCs6B,CAAC,GAACgpF,EAAE,CAACtjH,CAAD,EAAG,MAAH,CAAF,CAAa,CAAb,CAAtC;AAAA,UAAsD8gE,CAAC,GAAC;AAACiS,YAAI,EAAC0wC,EAAE,CAACnpF,CAAD;AAAR,OAAxD;AAAA,UAAqE5V,CAAC,GAAC07F,EAAE,CAAC5+C,CAAD,EAAG76B,CAAH,EAAKm6B,CAAL,CAAzE;AAAA,UAAiF1lD,CAAC,GAAC,UAASpb,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACuqE,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAI5lC,CAAC,GAAC0iH,EAAE,CAAC98E,CAAD,CAAR;AAAA,cAAYrM,CAAC,GAACwpF,EAAE,CAAC/iH,CAAC,CAACixG,WAAH,CAAhB;;AAAgC,cAAG13E,CAAH,EAAK;AAACt6B,aAAC,CAACs6B,CAAD,CAAD,GAAK;AAAC/zB,wBAAU,EAACxF;AAAZ,aAAL;AAAoB,gBAAI+/D,CAAC,GAACwiD,EAAE,CAAC38E,CAAD,EAAG,WAAH,CAAF,CAAkB,CAAlB,CAAN;;AAA2B,gBAAGm6B,CAAH,EAAK;AAAC,kBAAIp8C,CAAC,GAAC6+F,EAAE,CAACziD,CAAD,CAAR;AAAA,kBAAY1lD,CAAC,GAACsJ,CAAC,IAAE2vF,EAAE,CAAC3vF,CAAD,CAAnB;AAAuB1kB,eAAC,CAACs6B,CAAD,CAAD,CAAK43E,IAAL,GAAU92F,CAAV;AAAY;AAAC;;AAAA,iBAAOpb,CAAP;AAAS,SAA/J,EAAgK,EAAhK,CAAP;AAA2K,OAAvL,CAAwLsjH,EAAE,CAACtjH,CAAD,EAAG,mBAAH,CAA1L,CAAnF;;AAAsSwG,YAAM,CAAC8pB,IAAP,CAAYlV,CAAZ,EAAelY,MAAf,KAAwBwhB,CAAC,GAAC07F,EAAE,CAAC17F,CAAD,EAAG;AAACqtF,yBAAiB,EAAC32F;AAAnB,OAAH,CAA5B;AAAuD,UAAIulD,CAAC,GAACijD,EAAE,CAAC5jH,CAAD,CAAR;AAAA,UAAY4gE,CAAC,GAAC0iD,EAAE,CAACtjH,CAAD,EAAG,gBAAH,CAAhB;AAAA,UAAqCo7B,CAAC,GAACglF,EAAE,CAAC1/C,CAAD,EAAGC,CAAH,CAAzC;AAA+C,aAAO0/C,EAAE,CAACz/C,CAAC,CAAC33C,GAAF,CAAM,UAASvE,CAAT,EAAWtJ,CAAX,EAAaulD,CAAb,EAAe;AAAC,eAAO,UAAS3gE,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC28E,EAAE,CAACtjH,CAAD,EAAG,SAAH,CAAR;AAAA,cAAsBe,CAAC,GAAC4iH,EAAE,CAACvoG,CAAD,EAAGurB,CAAH,CAA1B;AAAA,cAAgCrM,CAAC,GAAC8lF,EAAE,CAAC17F,CAAD,EAAG++F,EAAE,CAACzjH,CAAD,CAAL,CAApC;AAAA,cAA8C8gE,CAAC,GAAC8iD,EAAE,CAAC5jH,CAAD,CAAlD;AAAsD,iBAAOe,CAAC,CAACkoB,GAAF,CAAM,UAASjpB,CAAT,EAAW;AAAC,mBAAM;AAACojH,yBAAW,EAAChD,EAAE,CAACz/C,CAAD,EAAGG,CAAH,CAAf;AAAqBv6D,wBAAU,EAAC65G,EAAE,CAAC9lF,CAAD,EAAG;AAACkmF,uBAAO,EAACxgH;AAAT,eAAH;AAAlC,aAAN;AAAyD,WAA3E,CAAP;AAAoF,SAA7J;AAA8J,OAA9K,CAA+K0kB,CAA/K,EAAiL3jB,CAAjL,EAAmLq6B,CAAnL,CAAN,CAAD,CAAT;AAAwM,KAAvmB;AAAwmB;;AAAA,WAAS2oF,EAAT,CAAY/jH,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf;AAAmB,QAAI5lC,CAAC,GAAC4lC,CAAN;AAAA,QAAQrM,CAAC,GAACv5B,CAAC,CAACijH,WAAZ;AAAA,QAAwBljD,CAAC,GAAC,KAAK,CAAL,KAASxmC,CAAT,GAAW,EAAX,GAAcA,CAAxC;AAAA,QAA0C5V,CAAC,GAAC3jB,CAAC,CAACuhH,GAA9C;AAAA,QAAkDlnG,CAAC,GAAC,KAAK,CAAL,KAASsJ,CAAT,GAAW0H,IAAI,CAACrH,GAAL,EAAX,GAAsBL,CAA1E;AAAA,QAA4Ei8C,CAAC,GAAC5/D,CAAC,CAACwhH,YAAhF;AAAA,QAA6F3hD,CAAC,GAAC,KAAK,CAAL,KAASD,CAAT,GAAW,CAAX,GAAaA,CAA5G;AAAA,QAA8GvlC,CAAC,GAACkoF,EAAE,CAACtjH,CAAD,EAAG,QAAH,CAAlH;AAA+H,QAAG,CAACo7B,CAAC,CAACl4B,MAAN,EAAa,MAAM,IAAIgQ,KAAJ,CAAU+wG,EAAV,CAAN;AAAoB,QAAIziD,CAAC,GAACiiD,EAAE,CAACzjH,CAAD,CAAR;AAAA,QAAYygE,CAAC,GAACkjD,EAAE,CAAC,CAAC7iD,CAAD,CAAD,EAAKwiD,EAAE,CAACtjH,CAAD,EAAG,SAAH,CAAP,CAAhB;AAAsC,WAAOwhE,CAAC,CAACq/C,cAAF,GAAiBr/C,CAAC,CAAC0iD,yBAAF,IAA6B,CAA9C,EAAgD1iD,CAAC,CAAC8gD,GAAF,GAAMlnG,CAAtD,EAAwDomD,CAAC,CAAC+gD,YAAF,GAAe3hD,CAAvE,EAAyEy/C,EAAE,CAACjlF,CAAC,CAACnS,GAAF,CAAM,UAASmS,CAAT,EAAWomC,CAAX,EAAa;AAAC,aAAO,UAASxhE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC4iH,EAAE,CAACniD,CAAD,EAAG8hD,EAAE,CAACtjH,CAAD,EAAG,SAAH,CAAL,CAAR;AAAA,YAA4Bs6B,CAAC,GAACmpF,EAAE,CAACzjH,CAAD,CAAhC;AAAA,YAAoC8gE,CAAC,GAACp6D,QAAQ,CAAC4zB,CAAC,CAACr5B,EAAH,EAAM,EAAN,CAA9C;AAAA,YAAwDyjB,CAAC,GAACpC,CAAC,CAAC1b,KAAF,CAAQk6D,CAAR,IAAWn6B,CAAX,GAAam6B,CAAvE;AAAA,YAAyE1lD,CAAC,GAACglG,EAAE,CAAChlF,CAAD,EAAG;AAAC2lF,qBAAW,EAACr8F;AAAb,SAAH,CAA7E;AAAA,YAAiGi8C,CAAC,GAAC2iD,EAAE,CAACtjH,CAAD,EAAG,eAAH,CAArG;AAAA,YAAyH4gE,CAAC,GAACgjD,EAAE,CAAC5jH,CAAD,CAA7H;AAAiI,eAAOqgH,EAAE,CAAC1/C,CAAC,CAAC13C,GAAF,CAAM46F,EAAE,CAACzoG,CAAD,EAAGra,CAAH,EAAK6/D,CAAL,CAAR,CAAD,CAAT;AAA4B,OAAlL;AAAmL,KAAjM,CAAkMY,CAAlM,EAAoMf,CAApM,CAAN,CAAD,CAAlF;AAAkS;;AAAA,WAAS0jD,EAAT,CAAYnkH,CAAZ,EAAc;AAAC,QAAG,OAAKA,CAAR,EAAU,MAAM,IAAIkT,KAAJ,CAAUkxG,EAAV,CAAN;AAAoB,QAAIz9E,CAAC,GAAE,IAAI09E,EAAJ,EAAD,CAASzqE,eAAT,CAAyB55C,CAAzB,EAA2B,iBAA3B,CAAN;AAAA,QAAoDe,CAAC,GAAC4lC,CAAC,IAAE,UAAQA,CAAC,CAAC9U,eAAF,CAAkButD,OAA7B,GAAqCz4C,CAAC,CAAC9U,eAAvC,GAAuD,IAA7G;AAAkH,QAAG,CAAC9wB,CAAD,IAAIA,CAAC,IAAE,IAAEA,CAAC,CAACqS,oBAAF,CAAuB,aAAvB,EAAsClQ,MAAlD,EAAyD,MAAM,IAAIgQ,KAAJ,CAAUoxG,EAAV,CAAN;AAAoB,WAAOvjH,CAAP;AAAS;;AAAA,WAASwjH,EAAT,CAAYvkH,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmBs7E,EAAE,CAAC,UAASjiH,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACipB,GAAF,CAAMk6F,EAAN,CAAP;AAAiB,KAA7B,CAA8BY,EAAE,CAACI,EAAE,CAACnkH,CAAD,CAAH,EAAO2mC,CAAP,CAAhC,CAAD,EAA4CA,CAAC,CAAC69E,WAA9C,CAA5B;AAAuF;;AAAA,WAASC,EAAT,CAAYzkH,CAAZ,EAAc;AAAC,WAAO,UAASA,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC28E,EAAE,CAACtjH,CAAD,EAAG,WAAH,CAAF,CAAkB,CAAlB,CAAN;AAA2B,UAAG,CAAC2mC,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAI5lC,CAAC,GAAC0iH,EAAE,CAAC98E,CAAD,CAAR;;AAAY,cAAO5lC,CAAC,CAACixG,WAAT;AAAsB,aAAI,kCAAJ;AAAuC,aAAI,kCAAJ;AAAuCjxG,WAAC,CAAC+I,MAAF,GAAS,MAAT;AAAgB;;AAAM,aAAI,oCAAJ;AAAyC,aAAI,iCAAJ;AAAsC,aAAI,oCAAJ;AAAyC,aAAI,iCAAJ;AAAsC/I,WAAC,CAAC+I,MAAF,GAAS,KAAT;AAAe;;AAAM,aAAI,+BAAJ;AAAoC,aAAI,+BAAJ;AAAoC/I,WAAC,CAAC+I,MAAF,GAAS,QAAT,EAAkB/I,CAAC,CAACskB,KAAF,GAAQ+G,IAAI,CAACrd,KAAL,CAAWhO,CAAC,CAACskB,KAAb,CAA1B;AAA8C;;AAAM,aAAI,iCAAJ;AAAsC,aAAI,4BAAJ;AAAiC,aAAI,6BAAJ;AAAkC;AAAQ,gBAAM,IAAInS,KAAJ,CAAUwxG,EAAV,CAAN;AAA1hB;;AAA8iB,aAAO3jH,CAAP;AAAS,KAA5nB,CAA6nBojH,EAAE,CAACnkH,CAAD,CAA/nB,CAAP;AAA2oB;;AAAA,WAAS2kH,EAAT,CAAY3kH,CAAZ,EAAc;AAAC,WAAO,IAAIosB,IAAJ,CAAS,MAAIpsB,CAAJ,GAAM,UAAf,CAAP;AAAkC;;AAAA,WAAS4kH,EAAT,CAAY5kH,CAAZ,EAAc;AAAC,WAAM;AAAC6kH,eAAS,EAAC,CAAC,KAAG7kH,CAAC,CAAC,CAAD,CAAL,MAAY,CAAvB;AAAyB8kH,eAAS,EAAC,IAAE9kH,CAAC,CAAC,CAAD,CAAtC;AAA0C+kH,kBAAY,EAAC,CAAC,MAAI/kH,CAAC,CAAC,CAAD,CAAN,MAAa,CAApE;AAAsEglH,mBAAa,EAAC,CAAC,KAAGhlH,CAAC,CAAC,CAAD,CAAL,MAAY,CAAhG;AAAkGilH,kBAAY,EAAC,CAAC,KAAGjlH,CAAC,CAAC,CAAD,CAAL,MAAY,CAA3H;AAA6HklH,qBAAe,EAAC,IAAEllH,CAAC,CAAC,CAAD,CAAhJ;AAAoJmlH,yBAAmB,EAACnlH,CAAC,CAAC,CAAD,CAAD,IAAM,CAAN,GAAQA,CAAC,CAAC,CAAD;AAAjL,KAAN;AAA4L;;AAAA,WAASolH,EAAT,CAAYplH,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC,EAAN;AAAS,WAAOA,CAAC,IAAEnY,MAAM,CAACC,YAAP,CAAoBzuB,CAAC,CAAC,CAAD,CAArB,CAAH,EAA6B2mC,CAAC,IAAEnY,MAAM,CAACC,YAAP,CAAoBzuB,CAAC,CAAC,CAAD,CAArB,CAAhC,EAA0D2mC,CAAC,IAAEnY,MAAM,CAACC,YAAP,CAAoBzuB,CAAC,CAAC,CAAD,CAArB,CAA7D,EAAuF2mC,CAAC,IAAEnY,MAAM,CAACC,YAAP,CAAoBzuB,CAAC,CAAC,CAAD,CAArB,CAAjG;AAA2H;;AAAA,MAAIqlH,EAAJ;AAAA,MAAOC,GAAP;AAAA,MAAUC,EAAV;AAAA,MAAaC,EAAb;AAAA,MAAgBC,EAAhB;AAAA,MAAmBC,EAAnB;AAAA,MAAsBC,EAAtB;AAAA,MAAyBC,EAAE,GAAC;AAACC,qBAAiB,EAAC9J,EAAnB;AAAsB+J,iBAAa,EAACzI;AAApC,GAA5B;AAAA,MAAoE0I,EAAE,GAACp/E,CAAC,CAAC,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAS5lC,CAAT,CAAWf,CAAX,EAAa;AAAC,WAAK+b,OAAL,GAAa/b,CAAC,IAAE;AAACk3G,eAAO,EAAC;AAAT,OAAhB;AAA6B;;AAAA,aAAS97E,CAAT,GAAY;AAAC,WAAK4qF,KAAL,GAAW,CAAC,CAAZ;AAAc;;AAAA,aAASxkD,CAAT,CAAWxhE,CAAX,EAAa2mC,CAAb,EAAe;AAACA,OAAC,CAACyuE,UAAF,GAAap1G,CAAC,CAACo1G,UAAf,EAA0BzuE,CAAC,CAAC0uE,YAAF,GAAer1G,CAAC,CAACq1G,YAA3C;AAAwD;;AAAA,aAAS50C,CAAT,CAAWzgE,CAAX,EAAa;AAAC,UAAGA,CAAH,EAAK,OAAM,SAAOA,CAAC,CAAC29G,QAAF,IAAY,EAAnB,IAAuB,SAAvB,GAAiC39G,CAAC,CAACo1G,UAAnC,GAA8C,OAA9C,GAAsDp1G,CAAC,CAACq1G,YAAxD,GAAqE,GAA3E;AAA+E;;AAAA,aAASv0C,CAAT,CAAW9gE,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAAC,aAAM,YAAU,OAAOf,CAAjB,GAAmBA,CAAC,CAAC4pD,MAAF,CAASjjB,CAAT,EAAW5lC,CAAX,CAAnB,GAAiCf,CAAC,CAACkD,MAAF,IAAUyjC,CAAC,GAAC5lC,CAAZ,IAAe4lC,CAAf,GAAiB,IAAIs/E,IAAI,CAACpwF,IAAL,CAAUrH,MAAd,CAAqBxuB,CAArB,EAAuB2mC,CAAvB,EAAyB5lC,CAAzB,IAA4B,EAA7C,GAAgDf,CAAvF;AAAyF;;AAAA,aAAS0gE,CAAT,CAAW1gE,CAAX,EAAa2mC,CAAb,EAAe;AAAC3mC,OAAC,CAACm3G,cAAF,GAAiBn3G,CAAC,CAACm3G,cAAF,CAAiBjvF,WAAjB,CAA6Bye,CAA7B,CAAjB,GAAiD3mC,CAAC,CAAC6nB,GAAF,CAAMK,WAAN,CAAkBye,CAAlB,CAAjD;AAAsE;;AAAA5lC,KAAC,CAACgZ,SAAF,CAAY6/B,eAAZ,GAA4B,UAAS55C,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAKgb,OAAX;AAAA,UAAmBue,CAAC,GAAC,IAAI8Y,CAAJ,EAArB;AAAA,UAA2B0tB,CAAC,GAAC//D,CAAC,CAACi2G,UAAF,IAAc,IAAI57E,CAAJ,EAA3C;AAAA,UAAiD1W,CAAC,GAAC3jB,CAAC,CAACu2G,YAArD;AAAA,UAAkEl8F,CAAC,GAACra,CAAC,CAACm2G,OAAtE;AAAA,UAA8Ev2C,CAAC,GAAC5/D,CAAC,CAACmlH,KAAF,IAAS,EAAzF;AAAA,UAA4FtlD,CAAC,GAAC;AAACuO,UAAE,EAAC,GAAJ;AAAQO,UAAE,EAAC,GAAX;AAAey2C,WAAG,EAAC,GAAnB;AAAuBC,YAAI,EAAC,GAA5B;AAAgCC,YAAI,EAAC;AAArC,OAA9F;AAAwI,aAAOjrG,CAAC,IAAE0lD,CAAC,CAACwlD,kBAAF,CAAqBlrG,CAArB,CAAH,EAA2Bkf,CAAC,CAACg9E,YAAF,GAAe,UAASh9E,CAAT,EAAWt6B,CAAX,EAAa8gE,CAAb,EAAe;AAAC,YAAG,CAACxmC,CAAJ,EAAM;AAAC,cAAGt6B,CAAC,YAAYo7B,CAAhB,EAAkB,OAAOp7B,CAAP;AAASs6B,WAAC,GAACt6B,CAAF;AAAI;;AAAA,YAAI0kB,CAAC,GAAC,EAAN;AAAA,YAAStJ,CAAC,GAACkf,CAAC,YAAYwxE,QAAxB;;AAAiC,iBAASnlE,CAAT,CAAWA,CAAX,EAAa;AAAC,cAAI5lC,CAAC,GAACu5B,CAAC,CAACqM,CAAD,CAAP;AAAW,WAAC5lC,CAAD,IAAIqa,CAAJ,KAAQra,CAAC,GAAC,KAAGu5B,CAAC,CAACp3B,MAAL,GAAY,UAASlD,CAAT,EAAW;AAACs6B,aAAC,CAACqM,CAAD,EAAG3mC,CAAH,CAAD;AAAO,WAA/B,GAAgCs6B,CAA1C,GAA6C5V,CAAC,CAACiiB,CAAD,CAAD,GAAK5lC,CAAC,IAAE,UAASf,CAAT,EAAW;AAACe,aAAC,CAAC,aAAW4lC,CAAX,GAAa,KAAb,GAAmB3mC,CAAnB,GAAqBygE,CAAC,CAACK,CAAD,CAAvB,CAAD;AAA6B,WAA5C,IAA8C,YAAU,CAAE,CAA5G;AAA6G;;AAAA,eAAOA,CAAC,GAACA,CAAC,IAAE,EAAL,EAAQn6B,CAAC,CAAC,SAAD,CAAT,EAAqBA,CAAC,CAAC,OAAD,CAAtB,EAAgCA,CAAC,CAAC,YAAD,CAAjC,EAAgDjiB,CAAvD;AAAyD,OAAtR,CAAuRA,CAAvR,EAAyRo8C,CAAzR,EAA2R1lD,CAA3R,CAA1C,EAAwUkf,CAAC,CAAC08E,UAAF,GAAaj2G,CAAC,CAACi2G,UAAF,IAAcl2C,CAAnW,EAAqW,aAAanrD,IAAb,CAAkBgxB,CAAlB,MAAuBi6B,CAAC,CAACy2C,IAAF,GAAO,GAAP,EAAWz2C,CAAC,CAAC/2C,IAAF,GAAO,GAAlB,EAAsB82C,CAAC,CAAC,EAAD,CAAD,GAAM,8BAAnD,CAArW,EAAwbA,CAAC,CAAC3rC,GAAF,GAAM2rC,CAAC,CAAC3rC,GAAF,IAAO,sCAArc,EAA4eh1B,CAAC,GAACs6B,CAAC,CAACvrB,KAAF,CAAQ/O,CAAR,EAAU2gE,CAAV,EAAYC,CAAZ,CAAD,GAAgBtmC,CAAC,CAACg9E,YAAF,CAAeryG,KAAf,CAAqB,oBAArB,CAA7f,EAAwiB67D,CAAC,CAACj5C,GAAjjB;AAAqjB,KAAvuB,EAAwuBuT,CAAC,CAACrhB,SAAF,GAAY;AAACk9F,mBAAa,EAAC,yBAAU;AAAC,aAAKpvF,GAAL,GAAU,IAAIyS,CAAJ,EAAD,CAAQ+jF,cAAR,CAAuB,IAAvB,EAA4B,IAA5B,EAAiC,IAAjC,CAAT,EAAgD,KAAKnH,OAAL,KAAe,KAAKrvF,GAAL,CAAS0+F,WAAT,GAAqB,KAAKrP,OAAL,CAAayG,QAAjD,CAAhD;AAA2G,OAArI;AAAsI7H,kBAAY,EAAC,sBAAS91G,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,YAAIwmC,CAAC,GAAC,KAAKj5C,GAAX;AAAA,YAAenD,CAAC,GAACo8C,CAAC,CAACy9C,eAAF,CAAkBv+G,CAAlB,EAAoBe,CAAC,IAAE4lC,CAAvB,CAAjB;AAAA,YAA2CvrB,CAAC,GAACkf,CAAC,CAACp3B,MAA/C;AAAsDw9D,SAAC,CAAC,IAAD,EAAMh8C,CAAN,CAAD,EAAU,KAAKyyF,cAAL,GAAoBzyF,CAA9B,EAAgC,KAAKwyF,OAAL,IAAc11C,CAAC,CAAC,KAAK01C,OAAN,EAAcxyF,CAAd,CAA/C;;AAAgE,aAAI,IAAIi8C,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACvlD,CAAd,EAAgBulD,CAAC,EAAjB,EAAoB;AAAC3gE,WAAC,GAACs6B,CAAC,CAACq9E,MAAF,CAASh3C,CAAT,CAAF;AAAc,cAAIC,CAAC,GAACtmC,CAAC,CAACs9E,QAAF,CAAWj3C,CAAX,CAAN;AAAA,cAAoBvlC,CAAC,IAAEr6B,CAAC,GAACu5B,CAAC,CAACo9E,QAAF,CAAW/2C,CAAX,CAAF,EAAgBG,CAAC,CAACq+C,iBAAF,CAAoBn/G,CAApB,EAAsBe,CAAtB,CAAlB,CAArB;AAAiE,eAAKm2G,OAAL,IAAc11C,CAAC,CAAClnC,CAAC,CAACm9E,UAAF,CAAa92C,CAAb,CAAD,EAAiBvlC,CAAjB,CAAf,EAAmCA,CAAC,CAAC/V,KAAF,GAAQ+V,CAAC,CAACnH,SAAF,GAAY2sC,CAAvD,EAAyDl8C,CAAC,CAAC+5F,gBAAF,CAAmBrjF,CAAnB,CAAzD;AAA+E;AAAC,OAA/c;AAAgd66E,gBAAU,EAAC,oBAASj2G,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAIu5B,CAAC,GAAC,KAAK68E,cAAX;AAA0B78E,SAAC,CAAC8kD,OAAF;AAAU,aAAK+3B,cAAL,GAAoB78E,CAAC,CAACjnB,UAAtB;AAAiC,OAAhjB;AAAijBwiG,wBAAkB,EAAC,4BAAS71G,CAAT,EAAW2mC,CAAX,EAAa,CAAE,CAAnlB;AAAolBuvE,sBAAgB,EAAC,0BAASl2G,CAAT,EAAW,CAAE,CAAlnB;AAAmnB62G,2BAAqB,EAAC,+BAAS72G,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC,KAAK8mB,GAAL,CAAS02D,2BAAT,CAAqCv+E,CAArC,EAAuC2mC,CAAvC,CAAN;AAAgD,aAAKuwE,OAAL,IAAc11C,CAAC,CAAC,KAAK01C,OAAN,EAAcn2G,CAAd,CAAf,EAAgC2/D,CAAC,CAAC,IAAD,EAAM3/D,CAAN,CAAjC;AAA0C,OAAjvB;AAAkvBylH,yBAAmB,EAAC,6BAASxmH,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe,CAAE,CAAvxB;AAAwxBq1G,gBAAU,EAAC,oBAASp2G,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAGf,CAAC,GAAC8gE,CAAC,CAACp7D,KAAF,CAAQ,IAAR,EAAawjB,SAAb,CAAL,EAA6B;AAAC,cAAG,KAAK88F,KAAR,EAAc,IAAI1rF,CAAC,GAAC,KAAKzS,GAAL,CAASm3F,kBAAT,CAA4Bh/G,CAA5B,CAAN,CAAd,KAAwDs6B,CAAC,GAAC,KAAKzS,GAAL,CAASme,cAAT,CAAwBhmC,CAAxB,CAAF;AAA6B,eAAKm3G,cAAL,GAAoB,KAAKA,cAAL,CAAoBjvF,WAApB,CAAgCoS,CAAhC,CAApB,GAAuD,QAAQ3kB,IAAR,CAAa3V,CAAb,KAAiB,KAAK6nB,GAAL,CAASK,WAAT,CAAqBoS,CAArB,CAAxE,EAAgG,KAAK48E,OAAL,IAAc11C,CAAC,CAAC,KAAK01C,OAAN,EAAc58E,CAAd,CAA/G;AAAgI;AAAC,OAAviC;AAAwiCmsF,mBAAa,EAAC,uBAASzmH,CAAT,EAAW,CAAE,CAAnkC;AAAokCu3G,iBAAW,EAAC,uBAAU;AAAC,aAAK1vF,GAAL,CAAS62F,SAAT;AAAqB,OAAhnC;AAAinC4H,wBAAkB,EAAC,4BAAStmH,CAAT,EAAW;AAAC,SAAC,KAAKk3G,OAAL,GAAal3G,CAAd,MAAmBA,CAAC,CAACo1G,UAAF,GAAa,CAAhC;AAAmC,OAAnrC;AAAorCvB,aAAO,EAAC,iBAAS7zG,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAACf,SAAC,GAAC8gE,CAAC,CAACp7D,KAAF,CAAQ,IAAR,EAAawjB,SAAb,CAAF;AAA0B,YAAIoR,CAAC,GAAC,KAAKzS,GAAL,CAASqK,aAAT,CAAuBlyB,CAAvB,CAAN;AAAgC,aAAKk3G,OAAL,IAAc11C,CAAC,CAAC,KAAK01C,OAAN,EAAc58E,CAAd,CAAf,EAAgComC,CAAC,CAAC,IAAD,EAAMpmC,CAAN,CAAjC;AAA0C,OAAhzC;AAAizCi8E,gBAAU,EAAC,sBAAU;AAAC,aAAKyP,KAAL,GAAW,CAAC,CAAZ;AAAc,OAAr1C;AAAs1CxP,cAAQ,EAAC,oBAAU;AAAC,aAAKwP,KAAL,GAAW,CAAC,CAAZ;AAAc,OAAx3C;AAAy3CtP,cAAQ,EAAC,kBAAS12G,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAIu5B,CAAC,GAAC,KAAKzS,GAAL,CAAS85B,cAAf;;AAA8B,YAAGrnB,CAAC,IAAEA,CAAC,CAACkkF,kBAAR,EAA2B;AAAC,cAAI19C,CAAC,GAACxmC,CAAC,CAACkkF,kBAAF,CAAqBx+G,CAArB,EAAuB2mC,CAAvB,EAAyB5lC,CAAzB,CAAN;AAAkC,eAAKm2G,OAAL,IAAc11C,CAAC,CAAC,KAAK01C,OAAN,EAAcp2C,CAAd,CAAf,EAAgCJ,CAAC,CAAC,IAAD,EAAMI,CAAN,CAAjC;AAA0C;AAAC,OAAzhD;AAA0hDy0C,aAAO,EAAC,iBAASv1G,CAAT,EAAW,CAAE,CAA/iD;AAAgjDiF,WAAK,EAAC,eAASjF,CAAT,EAAW,CAAE,CAAnkD;AAAokDo3G,gBAAU,EAAC,oBAASp3G,CAAT,EAAW;AAAC,cAAMA,CAAN;AAAQ;AAAnmD,KAApvB,EAAy1E,+JAA+JqE,OAA/J,CAAuK,MAAvK,EAA8K,UAASrE,CAAT,EAAW;AAACo7B,OAAC,CAACrhB,SAAF,CAAY/Z,CAAZ,IAAe,YAAU;AAAC,eAAO,IAAP;AAAY,OAAtC;AAAuC,KAAjO,CAAz1E;AAA4jF,QAAIozC,CAAC,GAACykE,EAAE,CAACC,SAAT;AAAA,QAAmBx9E,CAAC,GAACqM,CAAC,CAACk/E,iBAAF,GAAoBD,EAAE,CAACC,iBAA5C;AAA8Dl/E,KAAC,CAACm/E,aAAF,GAAgBF,EAAE,CAACE,aAAnB,EAAiCn/E,CAAC,CAACgT,SAAF,GAAY54C,CAA7C;AAA+C,GAAzmG,CAAxE;AAAA,MAAmrGsjH,EAAE,IAAE0B,EAAE,CAACF,iBAAH,EAAqBE,EAAE,CAACD,aAAxB,EAAsCC,EAAE,CAACpsE,SAA3C,CAArrG;AAAA,MAA2uGsqE,EAAE,GAAC,0BAA9uG;AAAA,MAAywGG,EAAE,GAAC,qBAA5wG;AAAA,MAAkyGE,EAAE,GAAC,kBAAryG;AAAA,MAAwzGnD,EAAE,GAAC,aAA3zG;AAAA,MAAy0G8B,EAAE,GAAC,0BAA50G;AAAA,MAAu2GyB,EAAE,GAAC,+BAA12G;AAAA,MAA04G5D,EAAE,GAAC;AAAC,cAAO,iBAAS9gH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACsf,QAAR;AAAA,UAAiBve,CAAC,GAACf,CAAC,CAAC4gH,SAArB;AAAA,UAA+BtmF,CAAC,GAAC,KAAK,CAAL,KAASv5B,CAAT,GAAW,CAAX,GAAaA,CAA9C;AAAA,UAAgD+/D,CAAC,GAAC9gE,CAAC,CAAC6gH,cAApD;AAAmE,aAAM;AAACr/F,aAAK,EAAC,CAAP;AAASkI,WAAG,EAAC/I,IAAI,CAAC6wB,IAAL,CAAUsvB,CAAC,IAAEn6B,CAAC,GAACrM,CAAJ,CAAX;AAAb,OAAN;AAAuC,KAA9H;AAA+HosF,WAAO,EAAC,iBAAS1mH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACsiH,GAAR;AAAA,UAAYvhH,CAAC,GAACf,CAAC,CAACuiH,YAAhB;AAAA,UAA6BjoF,CAAC,GAACt6B,CAAC,CAACwiH,qBAAjC;AAAA,UAAuD1hD,CAAC,GAAC9gE,CAAC,CAAC4gH,SAA3D;AAAA,UAAqEl8F,CAAC,GAAC,KAAK,CAAL,KAASo8C,CAAT,GAAW,CAAX,GAAaA,CAApF;AAAA,UAAsF1lD,CAAC,GAACpb,CAAC,CAACsf,QAA1F;AAAA,UAAmGqhD,CAAC,GAAC3gE,CAAC,CAACwhB,KAAvG;AAAA,UAA6Go/C,CAAC,GAAC,KAAK,CAAL,KAASD,CAAT,GAAW,CAAX,GAAaA,CAA5H;AAAA,UAA8HvlC,CAAC,GAACp7B,CAAC,CAACmiH,mBAAlI;AAAA,UAAsJ3gD,CAAC,GAAC,KAAK,CAAL,KAASpmC,CAAT,GAAW,CAAX,GAAaA,CAArK;AAAA,UAAuKqlC,CAAC,GAACzgE,CAAC,CAAC2mH,oBAA3K;AAAA,UAAgMjmD,CAAC,GAAC,KAAK,CAAL,KAASD,CAAT,GAAW,IAAE,CAAb,GAAeA,CAAjN;AAAA,UAAmNrtB,CAAC,GAAC,CAACzM,CAAC,GAAC5lC,CAAH,IAAM,GAA3N;AAAA,UAA+NugE,CAAC,GAAChnC,CAAC,GAACsmC,CAAnO;AAAA,UAAqOrxC,CAAC,GAAC6jB,CAAC,GAACouB,CAAF,GAAIF,CAA3O;AAAA,UAA6OI,CAAC,GAAC/gD,IAAI,CAAC6wB,IAAL,CAAUjiB,CAAC,GAAC7K,CAAF,GAAItJ,CAAd,CAA/O;AAAA,UAAgQ6hB,CAAC,GAACtc,IAAI,CAACuE,KAAL,CAAW,CAACkuB,CAAC,GAACkuB,CAAF,GAAIZ,CAAL,IAAQh8C,CAAR,GAAUtJ,CAArB,CAAlQ;AAAA,UAA0RkH,CAAC,GAAC3B,IAAI,CAACuE,KAAL,CAAW,CAACkuB,CAAC,GAACkuB,CAAH,IAAM58C,CAAN,GAAQtJ,CAAnB,CAA5R;AAAkT,aAAM;AAACoG,aAAK,EAACb,IAAI,CAACC,GAAL,CAAS,CAAT,EAAWqc,CAAX,CAAP;AAAqBvT,WAAG,EAAC/I,IAAI,CAACE,GAAL,CAAS6gD,CAAT,EAAWp/C,CAAX;AAAzB,OAAN;AAA8C;AAAnf,GAA74G;AAAA,MAAk4HogG,EAAE,GAAC,iCAAr4H;AAAA,MAAu6HgB,EAAE,GAAC;AAACQ,6BAAyB,EAAC,mCAASlkH,CAAT,EAAW;AAAC,aAAOwjH,EAAE,CAACxjH,CAAD,CAAT;AAAa,KAApD;AAAqDwiH,yBAAqB,EAAC,+BAASxiH,CAAT,EAAW;AAAC,aAAO,UAASA,CAAT,EAAW;AAAC,eAAM,oCAAoC2V,IAApC,CAAyC3V,CAAzC,MAA8CA,CAAC,IAAE,GAAjD,GAAsDosB,IAAI,CAACrd,KAAL,CAAW/O,CAAX,CAA5D;AAA0E,OAAtF,CAAuFA,CAAvF,IAA0F,GAAjG;AAAqG,KAA5L;AAA6LmiH,uBAAmB,EAAC,6BAASniH,CAAT,EAAW;AAAC,aAAOwjH,EAAE,CAACxjH,CAAD,CAAT;AAAa,KAA1O;AAA2OkiH,8BAA0B,EAAC,oCAASliH,CAAT,EAAW;AAAC,aAAOwjH,EAAE,CAACxjH,CAAD,CAAT;AAAa,KAA/R;AAAgSuQ,QAAI,EAAC,cAASvQ,CAAT,EAAW;AAAC,aAAOA,CAAP;AAAS,KAA1T;AAA2T2mH,wBAAoB,EAAC,8BAAS3mH,CAAT,EAAW;AAAC,aAAOwjH,EAAE,CAACxjH,CAAD,CAAT;AAAa,KAAzW;AAA0WwhB,SAAK,EAAC,eAASxhB,CAAT,EAAW;AAAC,aAAOwjH,EAAE,CAACxjH,CAAD,CAAT;AAAa,KAAzY;AAA0YgR,SAAK,EAAC,eAAShR,CAAT,EAAW;AAAC,aAAO0G,QAAQ,CAAC1G,CAAD,EAAG,EAAH,CAAf;AAAsB,KAAlb;AAAmb+Q,UAAM,EAAC,gBAAS/Q,CAAT,EAAW;AAAC,aAAO0G,QAAQ,CAAC1G,CAAD,EAAG,EAAH,CAAf;AAAsB,KAA5d;AAA6dgiH,aAAS,EAAC,mBAAShiH,CAAT,EAAW;AAAC,aAAO0G,QAAQ,CAAC1G,CAAD,EAAG,EAAH,CAAf;AAAsB,KAAzgB;AAA0gBghH,eAAW,EAAC,qBAAShhH,CAAT,EAAW;AAAC,aAAO0G,QAAQ,CAAC1G,CAAD,EAAG,EAAH,CAAf;AAAsB,KAAxjB;AAAyjB4gH,aAAS,EAAC,mBAAS5gH,CAAT,EAAW;AAAC,aAAO0G,QAAQ,CAAC1G,CAAD,EAAG,EAAH,CAAf;AAAsB,KAArmB;AAAsmBsf,YAAQ,EAAC,kBAAStf,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAACjgC,QAAQ,CAAC1G,CAAD,EAAG,EAAH,CAAd;AAAqB,aAAO4G,KAAK,CAAC+/B,CAAD,CAAL,GAAS68E,EAAE,CAACxjH,CAAD,CAAX,GAAe2mC,CAAtB;AAAwB,KAAxqB;AAAyqB+5B,KAAC,EAAC,WAAS1gE,CAAT,EAAW;AAAC,aAAO0G,QAAQ,CAAC1G,CAAD,EAAG,EAAH,CAAf;AAAsB,KAA7sB;AAA8sB2mC,KAAC,EAAC,WAAS3mC,CAAT,EAAW;AAAC,aAAO0G,QAAQ,CAAC1G,CAAD,EAAG,EAAH,CAAf;AAAsB,KAAlvB;AAAmvB8gE,KAAC,EAAC,WAAS9gE,CAAT,EAAW;AAAC,aAAO0G,QAAQ,CAAC1G,CAAD,EAAG,EAAH,CAAf;AAAsB,KAAvxB;AAAwxBihE,WAAO,EAAC,iBAASjhE,CAAT,EAAW;AAAC,aAAOA,CAAP;AAAS;AAArzB,GAA16H;AAAA,MAAiuJ8jH,EAAE,GAAC;AAAC,qDAAgD,iBAAjD;AAAmE,qDAAgD,oBAAnH;AAAwI,qDAAgD,yBAAxL;AAAkN,qDAAgD;AAAlQ,GAApuJ;AAAA,MAA6/J8C,EAAE,GAAC,SAAHA,EAAG,CAAS5mH,CAAT,EAAW;AAAC,WAAOA,CAAC,KAAG,CAAX;AAAa,GAAzhK;AAAA,MAA0hK6mH,EAAE,GAAC,SAAHA,EAAG,CAAS7mH,CAAT,EAAW;AAAC,WAAM,CAAC,OAAKA,CAAC,CAACinB,QAAF,CAAW,EAAX,CAAN,EAAsBtM,KAAtB,CAA4B,CAAC,CAA7B,CAAN;AAAsC,GAA/kK;AAAA,MAAglKmsG,EAAE,GAACF,EAAnlK;AAAA,MAAslKG,EAAE,GAAC;AAACC,QAAI,EAAC,cAAShnH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIsgF,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAN;AAAuD,aAAM;AAACC,0BAAkB,EAACzgF,CAAC,CAAC0gF,SAAF,CAAY,CAAZ,CAApB;AAAmCr2G,aAAK,EAAC21B,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,CAAzC;AAAyDt2G,cAAM,EAAC41B,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,CAAhE;AAAgFC,uBAAe,EAAC3gF,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,IAAgB1gF,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,IAAgB,EAAhI;AAAmIE,sBAAc,EAAC5gF,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,IAAgB1gF,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,IAAgB,EAAlL;AAAqLG,kBAAU,EAAC7gF,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,CAAhM;AAAgNlpF,aAAK,EAACwI,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,CAAtN;AAAsO16G,cAAM,EAAC04G,EAAE,CAACrlH,CAAC,CAACynH,QAAF,CAAW,EAAX,EAAcznH,CAAC,CAACmnH,UAAhB,CAAD;AAA/O,OAAN;AAAoR,KAA7V;AAA8VO,QAAI,EAAC,cAAS1nH,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAN;AAAA,UAAQu5B,CAAR;AAAA,UAAUwmC,CAAV;AAAA,UAAYp8C,CAAC,GAAC,IAAIuiG,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAd;AAAA,UAA+D/rG,CAAC,GAAC;AAACusG,4BAAoB,EAAC3nH,CAAC,CAAC,CAAD,CAAvB;AAA2B4nH,4BAAoB,EAAC5nH,CAAC,CAAC,CAAD,CAAjD;AAAqD6nH,4BAAoB,EAAC7nH,CAAC,CAAC,CAAD,CAA3E;AAA+E8nH,0BAAkB,EAAC9nH,CAAC,CAAC,CAAD,CAAnG;AAAuG+nH,0BAAkB,EAAC,IAAE/nH,CAAC,CAAC,CAAD,CAA7H;AAAiIgoH,WAAG,EAAC,EAArI;AAAwIC,WAAG,EAAC;AAA5I,OAAjE;AAAA,UAAiNtnD,CAAC,GAAC,KAAG3gE,CAAC,CAAC,CAAD,CAAvN;;AAA2N,WAAIs6B,CAAC,GAAC,CAAF,EAAIwmC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACH,CAAd,EAAgBG,CAAC,EAAjB;AAAoB//D,SAAC,GAAC2jB,CAAC,CAAC2iG,SAAF,CAAY/sF,CAAZ,CAAF,EAAiBA,CAAC,IAAE,CAApB,EAAsBlf,CAAC,CAAC4sG,GAAF,CAAMzkH,IAAN,CAAW,IAAI6uG,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAWntF,CAAX,EAAaA,CAAC,GAACv5B,CAAf,CAAf,CAAX,CAAtB,EAAoEu5B,CAAC,IAAEv5B,CAAvE;AAApB;;AAA6F,WAAI4lC,CAAC,GAAC3mC,CAAC,CAACs6B,CAAD,CAAH,EAAOA,CAAC,EAAR,EAAWwmC,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAACn6B,CAArB,EAAuBm6B,CAAC,EAAxB;AAA2B//D,SAAC,GAAC2jB,CAAC,CAAC2iG,SAAF,CAAY/sF,CAAZ,CAAF,EAAiBA,CAAC,IAAE,CAApB,EAAsBlf,CAAC,CAAC6sG,GAAF,CAAM1kH,IAAN,CAAW,IAAI6uG,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAWntF,CAAX,EAAaA,CAAC,GAACv5B,CAAf,CAAf,CAAX,CAAtB,EAAoEu5B,CAAC,IAAEv5B,CAAvE;AAA3B;;AAAoG,aAAOqa,CAAP;AAAS,KAApxB;AAAqxB8sG,QAAI,EAAC,cAASloH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIsgF,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAN;AAAuD,aAAM;AAACgB,oBAAY,EAACxhF,CAAC,CAACyhF,SAAF,CAAY,CAAZ,CAAd;AAA6BC,kBAAU,EAAC1hF,CAAC,CAACyhF,SAAF,CAAY,CAAZ,CAAxC;AAAuDE,kBAAU,EAAC3hF,CAAC,CAACyhF,SAAF,CAAY,CAAZ;AAAlE,OAAN;AAAwF,KAAr7B;AAAs7BG,QAAI,EAAC,cAASvoH,CAAT,EAAW;AAAC,aAAM;AAACqoB,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoDgB,YAAI,EAACzoH,CAAC,CAAC,CAAD,CAAD,IAAM,CAAN,GAAQA,CAAC,CAAC,CAAD,CAAlE;AAAsE0oH,sBAAc,EAAC,KAAG1oH,CAAC,CAAC,CAAD,CAAzF;AAA6F2oH,qBAAa,EAAC;AAACC,iCAAuB,EAAC5oH,CAAC,CAAC,EAAD,CAA1B;AAA+B6oH,oBAAU,EAAC7oH,CAAC,CAAC,EAAD,CAAD,KAAQ,CAAR,GAAU,EAApD;AAAuD8oH,oBAAU,EAAC9oH,CAAC,CAAC,EAAD,CAAD,IAAO,EAAP,GAAUA,CAAC,CAAC,EAAD,CAAD,IAAO,CAAjB,GAAmBA,CAAC,CAAC,EAAD,CAAtF;AAA2FqoH,oBAAU,EAACroH,CAAC,CAAC,EAAD,CAAD,IAAO,EAAP,GAAUA,CAAC,CAAC,EAAD,CAAD,IAAO,EAAjB,GAAoBA,CAAC,CAAC,EAAD,CAAD,IAAO,CAA3B,GAA6BA,CAAC,CAAC,EAAD,CAApI;AAAyIsoH,oBAAU,EAACtoH,CAAC,CAAC,EAAD,CAAD,IAAO,EAAP,GAAUA,CAAC,CAAC,EAAD,CAAD,IAAO,EAAjB,GAAoBA,CAAC,CAAC,EAAD,CAAD,IAAO,CAA3B,GAA6BA,CAAC,CAAC,EAAD,CAAlL;AAAuL+oH,iCAAuB,EAAC;AAACj2G,eAAG,EAAC9S,CAAC,CAAC,EAAD,CAAN;AAAWkD,kBAAM,EAAClD,CAAC,CAAC,EAAD,CAAnB;AAAwBgpH,2BAAe,EAAChpH,CAAC,CAAC,EAAD,CAAD,KAAQ,CAAR,GAAU,EAAlD;AAAqDipH,kCAAsB,EAAC,CAAC,IAAEjpH,CAAC,CAAC,EAAD,CAAJ,KAAW,CAAX,GAAaA,CAAC,CAAC,EAAD,CAAD,KAAQ,CAAR,GAAU,CAAnG;AAAqGkpH,gCAAoB,EAAClpH,CAAC,CAAC,EAAD,CAAD,KAAQ,CAAR,GAAU;AAApI;AAA/M;AAA3G,OAAN;AAA0c,KAAj5C;AAAk5CmpH,QAAI,EAAC,cAASnpH,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,IAAIsgF,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAN,EAAuDpmH,CAAC,GAAC;AAACqoH,kBAAU,EAAChE,EAAE,CAACplH,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAD,CAAd;AAAgC4B,oBAAY,EAAC1iF,CAAC,CAACyhF,SAAF,CAAY,CAAZ,CAA7C;AAA4DkB,wBAAgB,EAAC;AAA7E,OAAzD,EAA0IhvF,CAAC,GAAC,CAAhJ,EAAkJA,CAAC,GAACt6B,CAAC,CAACmnH,UAAtJ;AAAkKpmH,SAAC,CAACuoH,gBAAF,CAAmB/lH,IAAnB,CAAwB6hH,EAAE,CAACplH,CAAC,CAACynH,QAAF,CAAWntF,CAAX,EAAaA,CAAC,GAAC,CAAf,CAAD,CAA1B,GAA+CA,CAAC,IAAE,CAAlD;AAAlK;;AAAsN,aAAOv5B,CAAP;AAAS,KAAloD;AAAmoDwoH,QAAI,EAAC,cAASvpH,CAAT,EAAW;AAAC,aAAM;AAACwpH,aAAK,EAACnE,EAAE,CAACrlH,CAAD;AAAT,OAAN;AAAoB,KAAxqD;AAAyqDypH,QAAI,EAAC,cAASzpH,CAAT,EAAW;AAAC,aAAM;AAACqoB,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoDiC,sBAAc,EAACrE,EAAE,CAACrlH,CAAC,CAACynH,QAAF,CAAW,CAAX,CAAD;AAArE,OAAN;AAA4F,KAAtxD;AAAuxDkC,QAAI,EAAC,cAAS3pH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC;AAACte,eAAO,EAAC,IAAI4+F,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,EAAiDyC,QAAjD,CAA0D,CAA1D,CAAT;AAAsEpB,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAA5E;AAA4GoC,mBAAW,EAACzE,EAAE,CAACplH,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,EAAb,CAAD,CAA1H;AAA6I79F,YAAI,EAAC;AAAlJ,OAAN;AAAA,UAA4J7oB,CAAC,GAAC,CAA9J;;AAAgK,WAAIA,CAAC,GAAC,EAAN,EAASA,CAAC,GAACf,CAAC,CAACmnH,UAAb,EAAwBpmH,CAAC,EAAzB,EAA4B;AAAC,YAAG,MAAIf,CAAC,CAACe,CAAD,CAAR,EAAY;AAACA,WAAC;AAAG;AAAM;;AAAA4lC,SAAC,CAAC/c,IAAF,IAAQ4E,MAAM,CAACC,YAAP,CAAoBzuB,CAAC,CAACe,CAAD,CAArB,CAAR;AAAkC;;AAAA,aAAO4lC,CAAC,CAAC/c,IAAF,GAAO42D,kBAAkB,CAACnyD,MAAM,CAACsY,CAAC,CAAC/c,IAAH,CAAP,CAAzB,EAA0C+c,CAAjD;AAAmD,KAAjlE;AAAklEmjF,QAAI,EAAC,cAAS9pH,CAAT,EAAW;AAAC,aAAM;AAACmnH,kBAAU,EAACnnH,CAAC,CAACmnH,UAAd;AAAyB4C,YAAI,EAAC,UAAS/pH,CAAT,EAAW;AAAC,cAAI2mC,CAAJ;AAAA,cAAM5lC,CAAN;AAAA,cAAQu5B,CAAC,GAAC,IAAI2sF,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAV;AAAA,cAA2DrmD,CAAC,GAAC,EAA7D;;AAAgE,eAAIn6B,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,CAAF,GAAI3mC,CAAC,CAACkD,MAAd,EAAqByjC,CAAC,IAAE5lC,CAAxB;AAA0B,gBAAGA,CAAC,GAACu5B,CAAC,CAAC8tF,SAAF,CAAYzhF,CAAZ,CAAF,EAAiBA,CAAC,IAAE,CAApB,EAAsB5lC,CAAC,IAAE,CAA5B,EAA8B+/D,CAAC,CAACv9D,IAAF,CAAO,gDAAP,EAA9B,KAA4F,QAAO,KAAGvD,CAAC,CAAC2mC,CAAD,CAAX;AAAgB,mBAAK,CAAL;AAAOm6B,iBAAC,CAACv9D,IAAF,CAAO,uCAAP;AAAgD;;AAAM,mBAAK,CAAL;AAAOu9D,iBAAC,CAACv9D,IAAF,CAAO,2CAAP;AAAoD;;AAAM,mBAAK,CAAL;AAAOu9D,iBAAC,CAACv9D,IAAF,CAAO,UAAP;AAAmB;;AAAM,mBAAK,CAAL;AAAOu9D,iBAAC,CAACv9D,IAAF,CAAO,wBAAP;AAAiC;;AAAM,mBAAK,CAAL;AAAOu9D,iBAAC,CAACv9D,IAAF,CAAO,wBAAP;AAAiC;;AAAM,mBAAK,CAAL;AAAOu9D,iBAAC,CAACv9D,IAAF,CAAO,4BAAP;AAAqC;;AAAM;AAAQu9D,iBAAC,CAACv9D,IAAF,CAAO,mBAAiBvD,CAAC,CAAC2mC,CAAD,CAAlB,GAAsB,EAA7B;AAApU;AAAtH;;AAA2d,iBAAOm6B,CAAP;AAAS,SAAhjB,CAAijB9gE,CAAjjB;AAA9B,OAAN;AAAylB,KAA5rF;AAA6rFgqH,QAAI,EAAC,cAAShqH,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAAC,IAAIkmH,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAR;AAAA,UAAyD7sF,CAAC,GAAC,CAA3D;AAAA,UAA6DwmC,CAAC,GAAC;AAACz4C,eAAO,EAACtnB,CAAC,CAAC6oH,QAAF,CAAW,CAAX,CAAT;AAAuBpB,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAA7B;AAA6Dz9C,gBAAQ,EAAC;AAAtE,OAA/D;AAAyI,aAAO,MAAIlJ,CAAC,CAACz4C,OAAN,IAAeiS,CAAC,IAAE,CAAH,EAAKwmC,CAAC,CAAC2+B,YAAF,GAAeklB,EAAE,CAAC5jH,CAAC,CAACqnH,SAAF,CAAY9tF,CAAZ,CAAD,CAAtB,EAAuCA,CAAC,IAAE,CAA1C,EAA4CwmC,CAAC,CAACmpD,gBAAF,GAAmBtF,EAAE,CAAC5jH,CAAC,CAACqnH,SAAF,CAAY9tF,CAAZ,CAAD,CAAjE,EAAkFA,CAAC,IAAE,CAArF,EAAuFwmC,CAAC,CAAC8/C,SAAF,GAAY7/G,CAAC,CAACqnH,SAAF,CAAY9tF,CAAZ,CAAnG,EAAkHA,CAAC,IAAE,CAApI,KAAwIwmC,CAAC,CAAC2+B,YAAF,GAAeklB,EAAE,CAAC5jH,CAAC,CAACqnH,SAAF,CAAY9tF,CAAZ,CAAD,CAAjB,EAAkCA,CAAC,IAAE,CAArC,EAAuCwmC,CAAC,CAACmpD,gBAAF,GAAmBtF,EAAE,CAAC5jH,CAAC,CAACqnH,SAAF,CAAY9tF,CAAZ,CAAD,CAA5D,EAA6EA,CAAC,IAAE,CAAhF,EAAkFwmC,CAAC,CAAC8/C,SAAF,GAAY7/G,CAAC,CAACqnH,SAAF,CAAY9tF,CAAZ,CAA9F,EAA6GA,CAAC,IAAE,CAAxP,GAA2PwmC,CAAC,CAACxhD,QAAF,GAAWve,CAAC,CAACqnH,SAAF,CAAY9tF,CAAZ,CAAtQ,EAAqRA,CAAC,IAAE,CAAxR,EAA0RqM,CAAC,GAAC5lC,CAAC,CAACsmH,SAAF,CAAY/sF,CAAZ,CAA5R,EAA2SwmC,CAAC,CAACkJ,QAAF,IAAYx7C,MAAM,CAACC,YAAP,CAAoB,MAAIkY,CAAC,IAAE,EAAP,CAApB,CAAvT,EAAuVm6B,CAAC,CAACkJ,QAAF,IAAYx7C,MAAM,CAACC,YAAP,CAAoB,MAAI,CAAC,MAAIkY,CAAL,KAAS,CAAb,CAApB,CAAnW,EAAwYm6B,CAAC,CAACkJ,QAAF,IAAYx7C,MAAM,CAACC,YAAP,CAAoB,MAAI,KAAGkY,CAAP,CAApB,CAApZ,EAAmbm6B,CAA1b;AAA4b,KAAnxG;AAAoxGopD,QAAI,EAAC,cAASlqH,CAAT,EAAW;AAAC,aAAM;AAACwpH,aAAK,EAACnE,EAAE,CAACrlH,CAAD;AAAT,OAAN;AAAoB,KAAzzG;AAA0zGmqH,QAAI,EAAC,cAASnqH,CAAT,EAAW;AAAC,aAAM;AAACqoB,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoD2C,sBAAc,EAACpqH,CAAC,CAAC,CAAD,CAAD,IAAM,EAAN,GAASA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAf,GAAkBA,CAAC,CAAC,CAAD,CAAD,IAAM,CAAxB,GAA0BA,CAAC,CAAC,CAAD;AAA9F,OAAN;AAAyG,KAAp7G;AAAq7GqqH,QAAI,EAAC,cAASrqH,CAAT,EAAW;AAAC,aAAM;AAACwpH,aAAK,EAACnE,EAAE,CAACrlH,CAAD;AAAT,OAAN;AAAoB,KAA19G;AAA29GsqH,QAAI,EAAC,cAAStqH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIsgF,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAN;AAAA,UAAuDpmH,CAAC,GAAC;AAACqmH,0BAAkB,EAACzgF,CAAC,CAAC0gF,SAAF,CAAY,CAAZ,CAApB;AAAmCkD,oBAAY,EAAC5jF,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,CAAhD;AAAgEmD,kBAAU,EAAC7jF,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,CAA3E;AAA2FoD,kBAAU,EAAC9jF,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,IAAgB1gF,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,IAAgB;AAAtI,OAAzD;AAAsM,aAAO,KAAGrnH,CAAC,CAACmnH,UAAL,KAAkBpmH,CAAC,CAAC2pH,gBAAF,GAAmBrF,EAAE,CAACrlH,CAAC,CAACynH,QAAF,CAAW,EAAX,CAAD,CAAF,CAAmB,CAAnB,CAArC,GAA4D1mH,CAAnE;AAAqE,KAAvvH;AAAwvH4pH,QAAI,EAAC,cAAS3qH,CAAT,EAAW;AAAC,aAAM;AAACwpH,aAAK,EAACnE,EAAE,CAACrlH,CAAD;AAAT,OAAN;AAAoB,KAA7xH;AAA8xH4qH,QAAI,EAAC,cAAS5qH,CAAT,EAAW;AAAC,aAAM;AAACwpH,aAAK,EAACnE,EAAE,CAACrlH,CAAD;AAAT,OAAN;AAAoB,KAAn0H;AAAo0H6qH,QAAI,EAAC,cAAS7qH,CAAT,EAAW;AAAC,aAAM;AAACwpH,aAAK,EAACnE,EAAE,CAACrlH,CAAD;AAAT,OAAN;AAAoB,KAAz2H;AAA02H8qH,QAAI,EAAC,cAAS9qH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIsgF,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAN;AAAA,UAAuDpmH,CAAC,GAAC,CAAzD;AAAA,UAA2Du5B,CAAC,GAAC;AAACjS,eAAO,EAACse,CAAC,CAACijF,QAAF,CAAW,CAAX,CAAT;AAAuBpB,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf;AAA7B,OAA7D;AAA2H,aAAO,MAAIntF,CAAC,CAACjS,OAAN,IAAetnB,CAAC,IAAE,CAAH,EAAKu5B,CAAC,CAACmlE,YAAF,GAAeklB,EAAE,CAACh+E,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAD,CAAtB,EAAuCA,CAAC,IAAE,CAA1C,EAA4Cu5B,CAAC,CAAC2vF,gBAAF,GAAmBtF,EAAE,CAACh+E,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAD,CAAjE,EAAkFA,CAAC,IAAE,CAArF,EAAuFu5B,CAAC,CAACsmF,SAAF,GAAYj6E,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAnG,EAAkHA,CAAC,IAAE,CAApI,KAAwIu5B,CAAC,CAACmlE,YAAF,GAAeklB,EAAE,CAACh+E,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAD,CAAjB,EAAkCA,CAAC,IAAE,CAArC,EAAuCu5B,CAAC,CAAC2vF,gBAAF,GAAmBtF,EAAE,CAACh+E,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAD,CAA5D,EAA6EA,CAAC,IAAE,CAAhF,EAAkFu5B,CAAC,CAACsmF,SAAF,GAAYj6E,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAA9F,EAA6GA,CAAC,IAAE,CAAxP,GAA2Pu5B,CAAC,CAAChb,QAAF,GAAWqnB,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAtQ,EAAqRA,CAAC,IAAE,CAAxR,EAA0Ru5B,CAAC,CAACq9D,IAAF,GAAOhxD,CAAC,CAAC0gF,SAAF,CAAYtmH,CAAZ,IAAe4lC,CAAC,CAAC0gF,SAAF,CAAYtmH,CAAC,GAAC,CAAd,IAAiB,EAAjU,EAAoUA,CAAC,IAAE,CAAvU,EAAyUu5B,CAAC,CAAC7pB,MAAF,GAASk2B,CAAC,CAACijF,QAAF,CAAW7oH,CAAX,IAAc4lC,CAAC,CAACijF,QAAF,CAAW7oH,CAAC,GAAC,CAAb,IAAgB,CAAhX,EAAkXA,CAAC,IAAE,CAArX,EAAuXA,CAAC,IAAE,CAA1X,EAA4XA,CAAC,IAAE,CAA/X,EAAiYu5B,CAAC,CAACywF,MAAF,GAAS,IAAI1a,WAAJ,CAAgBrwG,CAAC,CAACynH,QAAF,CAAW1mH,CAAX,EAAaA,CAAC,GAAC,EAAf,CAAhB,CAA1Y,EAA8aA,CAAC,IAAE,EAAjb,EAAobA,CAAC,IAAE,EAAvb,EAA0bu5B,CAAC,CAAC0wF,WAAF,GAAcrkF,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAxc,EAAudu5B,CAA9d;AAAge,KAAt9I;AAAu9I2wF,QAAI,EAAC,cAASjrH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIsgF,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAN;AAAuD,aAAM;AAAC9+F,eAAO,EAACse,CAAC,CAACijF,QAAF,CAAW,CAAX,CAAT;AAAuBpB,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAA7B;AAA6D9vB,YAAI,EAAChxD,CAAC,CAACyhF,SAAF,CAAY,CAAZ,CAAlE;AAAiF8C,oBAAY,EAACvkF,CAAC,CAACyhF,SAAF,CAAY,CAAZ;AAA9F,OAAN;AAAoH,KAAnpJ;AAAopJ+C,QAAI,EAAC,cAASnrH,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAAC;AAACsnB,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoD2D,eAAO,EAAC;AAA5D,OAAR;;AAAwE,WAAIzkF,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC3mC,CAAC,CAACmnH,UAAZ,EAAuBxgF,CAAC,EAAxB;AAA2B5lC,SAAC,CAACqqH,OAAF,CAAU7nH,IAAV,CAAe;AAACuhH,mBAAS,EAAC,CAAC,KAAG9kH,CAAC,CAAC2mC,CAAD,CAAL,KAAW,CAAtB;AAAwBo+E,sBAAY,EAAC,CAAC,KAAG/kH,CAAC,CAAC2mC,CAAD,CAAL,KAAW,CAAhD;AAAkDq+E,uBAAa,EAAC,IAAEhlH,CAAC,CAAC2mC,CAAD;AAAnE,SAAf;AAA3B;;AAAmH,aAAO5lC,CAAP;AAAS,KAAz2J;AAA02JsgH,QAAI,EAAC,cAASrhH,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAAC,IAAIkmH,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAR;AAAA,UAAyD7sF,CAAC,GAAC;AAACjS,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoDnG,kBAAU,EAAC,EAA/D;AAAkE+J,mBAAW,EAACtqH,CAAC,CAACqnH,SAAF,CAAY,CAAZ,CAA9E;AAA6FxH,iBAAS,EAAC7/G,CAAC,CAACqnH,SAAF,CAAY,CAAZ,CAAvG;AAAsHkD,gCAAwB,EAACvqH,CAAC,CAACqnH,SAAF,CAAY,EAAZ,CAA/I;AAA+J5G,mBAAW,EAACzgH,CAAC,CAACqnH,SAAF,CAAY,EAAZ;AAA3K,OAA3D;AAAA,UAAuPtnD,CAAC,GAAC//D,CAAC,CAACsmH,SAAF,CAAY,EAAZ,CAAzP;;AAAyQ,WAAI1gF,CAAC,GAAC,EAAN,EAASm6B,CAAT,EAAWn6B,CAAC,IAAE,EAAH,EAAMm6B,CAAC,EAAlB;AAAqBxmC,SAAC,CAACgnF,UAAF,CAAa/9G,IAAb,CAAkB;AAACg+G,uBAAa,EAAC,CAAC,MAAIvhH,CAAC,CAAC2mC,CAAD,CAAN,MAAa,CAA5B;AAA8B86E,wBAAc,EAAC,aAAW1gH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAZ,CAAxD;AAAuE+6E,4BAAkB,EAAC3gH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAC,GAAC,CAAd,CAA1F;AAA2G4kF,uBAAa,EAAC,CAAC,EAAE,MAAIvrH,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAP,CAA1H;AAAwI6kF,iBAAO,EAAC,CAAC,MAAIxrH,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAN,MAAe,CAA/J;AAAiK8kF,sBAAY,EAAC,YAAU1qH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAC,GAAC,CAAd;AAAxL,SAAlB;AAArB;;AAAkP,aAAOrM,CAAP;AAAS,KAA/3K;AAAg4KoxF,QAAI,EAAC,cAAS1rH,CAAT,EAAW;AAAC,aAAM;AAACqoB,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoDkE,eAAO,EAAC3rH,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAD,GAAK;AAAtE,OAAN;AAAiF,KAAl+K;AAAm+K4rH,QAAI,EAAC,cAAS5rH,CAAT,EAAW;AAAC,aAAM;AAACwpH,aAAK,EAACnE,EAAE,CAACrlH,CAAD;AAAT,OAAN;AAAoB,KAAxgL;AAAygL6rH,QAAI,EAAC,cAAS7rH,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAAC,IAAIkmH,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAR;AAAA,UAAyD7sF,CAAC,GAAC;AAACjS,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoDqE,oBAAY,EAAC;AAAjE,OAA3D;AAAA,UAAgIhrD,CAAC,GAAC//D,CAAC,CAACqnH,SAAF,CAAY,CAAZ,CAAlI;;AAAiJ,WAAIzhF,CAAC,GAAC,CAAN,EAAQm6B,CAAR,EAAUn6B,CAAC,IAAE,CAAH,EAAKm6B,CAAC,EAAhB;AAAmBxmC,SAAC,CAACwxF,YAAF,CAAevoH,IAAf,CAAoBxC,CAAC,CAACqnH,SAAF,CAAYzhF,CAAZ,CAApB;AAAnB;;AAAuD,aAAOrM,CAAP;AAAS,KAA3uL;AAA4uLyxF,QAAI,EAAC,cAAS/rH,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAAC,IAAIkmH,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAR;AAAA,UAAyD7sF,CAAC,GAACv5B,CAAC,CAACqnH,SAAF,CAAY,CAAZ,CAA3D;AAAA,UAA0EtnD,CAAC,GAAC;AAACz4C,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoDuE,sBAAc,EAAC;AAAnE,OAA5E;;AAAmJ,WAAIrlF,CAAC,GAAC,CAAN,EAAQrM,CAAR,EAAUqM,CAAC,IAAE,EAAH,EAAMrM,CAAC,EAAjB;AAAoBwmC,SAAC,CAACkrD,cAAF,CAAiBzoH,IAAjB,CAAsB;AAAC0oH,oBAAU,EAAClrH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAZ,CAAZ;AAA2BulF,yBAAe,EAACnrH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAC,GAAC,CAAd,CAA3C;AAA4DwlF,gCAAsB,EAACprH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAC,GAAC,CAAd;AAAnF,SAAtB;AAApB;;AAAgJ,aAAOm6B,CAAP;AAAS,KAAziM;AAA0iMsrD,QAAI,EAAC,cAASpsH,CAAT,EAAW;AAAC,aAAM;AAACqoB,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoD4E,0BAAkB,EAAChH,EAAE,CAACrlH,CAAC,CAACynH,QAAF,CAAW,CAAX,CAAD;AAAzE,OAAN;AAAgG,KAA3pM;AAA4pM6E,QAAI,EAAC,cAAStsH,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAAC,IAAIkmH,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAR;AAAA,UAAyD7sF,CAAC,GAAC;AAACjS,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoD8E,kBAAU,EAACxrH,CAAC,CAACqnH,SAAF,CAAY,CAAZ,CAA/D;AAA8EoE,eAAO,EAAC;AAAtF,OAA3D;;AAAqJ,WAAI7lF,CAAC,GAAC,EAAN,EAASA,CAAC,GAAC3mC,CAAC,CAACmnH,UAAb,EAAwBxgF,CAAC,IAAE,CAA3B;AAA6BrM,SAAC,CAACkyF,OAAF,CAAUjpH,IAAV,CAAexC,CAAC,CAACqnH,SAAF,CAAYzhF,CAAZ,CAAf;AAA7B;;AAA4D,aAAOrM,CAAP;AAAS,KAAv4M;AAAw4MmyF,QAAI,EAAC,cAASzsH,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAAC,IAAIkmH,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAR;AAAA,UAAyD7sF,CAAC,GAAC;AAACjS,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoDiF,qBAAa,EAAC;AAAlE,OAA3D;AAAA,UAAiI5rD,CAAC,GAAC//D,CAAC,CAACqnH,SAAF,CAAY,CAAZ,CAAnI;;AAAkJ,WAAIzhF,CAAC,GAAC,CAAN,EAAQm6B,CAAR,EAAUn6B,CAAC,IAAE,CAAH,EAAKm6B,CAAC,EAAhB;AAAmBxmC,SAAC,CAACoyF,aAAF,CAAgBnpH,IAAhB,CAAqB;AAACopH,qBAAW,EAAC5rH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAZ,CAAb;AAA4BimF,qBAAW,EAAC7rH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAC,GAAC,CAAd;AAAxC,SAArB;AAAnB;;AAAmG,aAAOrM,CAAP;AAAS,KAAvpN;AAAwpNuyF,QAAI,EAAC,cAAS7sH,CAAT,EAAW;AAAC,aAAO+mH,EAAE,CAACoC,IAAH,CAAQnpH,CAAR,CAAP;AAAkB,KAA3rN;AAA4rN8sH,QAAI,EAAC,cAAS9sH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC;AAACte,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoDsF,2BAAmB,EAACjG,EAAE,CAAC9mH,CAAC,CAAC,CAAD,CAAD,IAAM,EAAN,GAASA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAf,GAAkBA,CAAC,CAAC,CAAD,CAAD,IAAM,CAAxB,GAA0BA,CAAC,CAAC,CAAD,CAA5B;AAA1E,OAAN;AAAkH,aAAO,MAAI2mC,CAAC,CAACte,OAAN,KAAgBse,CAAC,CAAComF,mBAAF,IAAuBpsG,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAW,EAAX,CAAvB,EAAsCrmF,CAAC,CAAComF,mBAAF,IAAuBjG,EAAE,CAAC9mH,CAAC,CAAC,CAAD,CAAD,IAAM,EAAN,GAASA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAf,GAAkBA,CAAC,CAAC,EAAD,CAAD,IAAO,CAAzB,GAA2BA,CAAC,CAAC,EAAD,CAA7B,CAA/E,GAAmH2mC,CAA1H;AAA4H,KAA37N;AAA47NsmF,QAAI,EAAC,cAASjtH,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAAC,IAAIkmH,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAR;AAAA,UAAyD7sF,CAAC,GAAC;AAACjS,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoDyF,eAAO,EAACnsH,CAAC,CAACqnH,SAAF,CAAY,CAAZ;AAA5D,OAA3D;AAAA,UAAuItnD,CAAC,GAAC,IAAExmC,CAAC,CAACkuF,KAAF,CAAQ,CAAR,CAA3I;AAAA,UAAsJ9jG,CAAC,GAAC,IAAE4V,CAAC,CAACkuF,KAAF,CAAQ,CAAR,CAA1J;AAAA,UAAqKptG,CAAC,GAAC,IAAEkf,CAAC,CAACkuF,KAAF,CAAQ,CAAR,CAAzK;AAAA,UAAoL7nD,CAAC,GAAC,KAAGrmC,CAAC,CAACkuF,KAAF,CAAQ,CAAR,CAAzL;AAAA,UAAoM5nD,CAAC,GAAC,KAAGtmC,CAAC,CAACkuF,KAAF,CAAQ,CAAR,CAAzM;AAAA,UAAoNptF,CAAC,GAAC,QAAMd,CAAC,CAACkuF,KAAF,CAAQ,CAAR,CAA5N;AAAA,UAAuOhnD,CAAC,GAAC,SAAOlnC,CAAC,CAACkuF,KAAF,CAAQ,CAAR,CAAhP;AAA2P,aAAO7hF,CAAC,GAAC,CAAF,EAAIm6B,CAAC,KAAGn6B,CAAC,IAAE,CAAH,EAAKrM,CAAC,CAAC6yF,cAAF,GAAiBpsH,CAAC,CAACqnH,SAAF,CAAY,EAAZ,CAAtB,EAAsCzhF,CAAC,IAAE,CAA5C,CAAL,EAAoDjiB,CAAC,KAAG4V,CAAC,CAAC6xF,sBAAF,GAAyBprH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAZ,CAAzB,EAAwCA,CAAC,IAAE,CAA9C,CAArD,EAAsGvrB,CAAC,KAAGkf,CAAC,CAAC8yF,qBAAF,GAAwBrsH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAZ,CAAxB,EAAuCA,CAAC,IAAE,CAA7C,CAAvG,EAAuJg6B,CAAC,KAAGrmC,CAAC,CAAC+yF,iBAAF,GAAoBtsH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAZ,CAApB,EAAmCA,CAAC,IAAE,CAAzC,CAAxJ,EAAoMi6B,CAAC,KAAGtmC,CAAC,CAACgzF,kBAAF,GAAqBvsH,CAAC,CAACqnH,SAAF,CAAYzhF,CAAZ,CAAxB,CAArM,EAA6OvL,CAAC,KAAGd,CAAC,CAACizF,eAAF,GAAkB,CAAC,CAAtB,CAA9O,EAAuQ,CAACzsD,CAAD,IAAIU,CAAJ,KAAQlnC,CAAC,CAACkzF,oBAAF,GAAuB,CAAC,CAAhC,CAAvQ,EAA0SlzF,CAAjT;AAAmT,KAA3/O;AAA4/OmzF,QAAI,EAAC,cAASztH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIsgF,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAN;AAAA,UAAuDpmH,CAAC,GAAC,CAAzD;AAAA,UAA2Du5B,CAAC,GAAC;AAACjS,eAAO,EAACse,CAAC,CAACijF,QAAF,CAAW,CAAX,CAAT;AAAuBpB,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf;AAA7B,OAA7D;AAA2H,aAAO,MAAIntF,CAAC,CAACjS,OAAN,IAAetnB,CAAC,IAAE,CAAH,EAAKu5B,CAAC,CAACmlE,YAAF,GAAeklB,EAAE,CAACh+E,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAD,CAAtB,EAAuCA,CAAC,IAAE,CAA1C,EAA4Cu5B,CAAC,CAAC2vF,gBAAF,GAAmBtF,EAAE,CAACh+E,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAD,CAAjE,EAAkFA,CAAC,IAAE,CAArF,EAAuFu5B,CAAC,CAAC4yF,OAAF,GAAUvmF,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAjG,EAAgHA,CAAC,IAAE,CAAnH,EAAqHA,CAAC,IAAE,CAAvI,KAA2Iu5B,CAAC,CAACmlE,YAAF,GAAeklB,EAAE,CAACh+E,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAD,CAAjB,EAAkCA,CAAC,IAAE,CAArC,EAAuCu5B,CAAC,CAAC2vF,gBAAF,GAAmBtF,EAAE,CAACh+E,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAAD,CAA5D,EAA6EA,CAAC,IAAE,CAAhF,EAAkFu5B,CAAC,CAAC4yF,OAAF,GAAUvmF,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAA5F,EAA2GA,CAAC,IAAE,CAA9G,EAAgHA,CAAC,IAAE,CAA9P,GAAiQu5B,CAAC,CAAChb,QAAF,GAAWqnB,CAAC,CAACyhF,SAAF,CAAYrnH,CAAZ,CAA5Q,EAA2RA,CAAC,IAAE,CAA9R,EAAgSA,CAAC,IAAE,CAAnS,EAAqSu5B,CAAC,CAACozF,KAAF,GAAQ/mF,CAAC,CAAC0gF,SAAF,CAAYtmH,CAAZ,CAA7S,EAA4TA,CAAC,IAAE,CAA/T,EAAiUu5B,CAAC,CAACqzF,cAAF,GAAiBhnF,CAAC,CAAC0gF,SAAF,CAAYtmH,CAAZ,CAAlV,EAAiWA,CAAC,IAAE,CAApW,EAAsWu5B,CAAC,CAAC7pB,MAAF,GAASk2B,CAAC,CAACijF,QAAF,CAAW7oH,CAAX,IAAc4lC,CAAC,CAACijF,QAAF,CAAW7oH,CAAC,GAAC,CAAb,IAAgB,CAA7Y,EAA+YA,CAAC,IAAE,CAAlZ,EAAoZA,CAAC,IAAE,CAAvZ,EAAyZu5B,CAAC,CAACywF,MAAF,GAAS,IAAI1a,WAAJ,CAAgBrwG,CAAC,CAACynH,QAAF,CAAW1mH,CAAX,EAAaA,CAAC,GAAC,EAAf,CAAhB,CAAla,EAAscA,CAAC,IAAE,EAAzc,EAA4cu5B,CAAC,CAACtpB,KAAF,GAAQ21B,CAAC,CAAC0gF,SAAF,CAAYtmH,CAAZ,IAAe4lC,CAAC,CAAC0gF,SAAF,CAAYtmH,CAAC,GAAC,CAAd,IAAiB,EAApf,EAAufA,CAAC,IAAE,CAA1f,EAA4fu5B,CAAC,CAACvpB,MAAF,GAAS41B,CAAC,CAAC0gF,SAAF,CAAYtmH,CAAZ,IAAe4lC,CAAC,CAAC0gF,SAAF,CAAYtmH,CAAC,GAAC,CAAd,IAAiB,EAAriB,EAAwiBu5B,CAA/iB;AAAijB,KAAzrQ;AAA0rQszF,QAAI,EAAC,cAAS5tH,CAAT,EAAW;AAAC,aAAM;AAACwpH,aAAK,EAACnE,EAAE,CAACrlH,CAAD;AAAT,OAAN;AAAoB,KAA/tQ;AAAguQ6tH,QAAI,EAAC,cAAS7tH,CAAT,EAAW;AAAC,aAAM;AAACwpH,aAAK,EAACnE,EAAE,CAACrlH,CAAD;AAAT,OAAN;AAAoB,KAArwQ;AAAswQ8tH,QAAI,EAAC,cAAS9tH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIsgF,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAN;AAAuD,aAAM;AAAC9+F,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoDyF,eAAO,EAACvmF,CAAC,CAACyhF,SAAF,CAAY,CAAZ,CAA5D;AAA2E2F,qCAA6B,EAACpnF,CAAC,CAACyhF,SAAF,CAAY,CAAZ,CAAzG;AAAwHgF,6BAAqB,EAACzmF,CAAC,CAACyhF,SAAF,CAAY,EAAZ,CAA9I;AAA8JiF,yBAAiB,EAAC1mF,CAAC,CAACyhF,SAAF,CAAY,EAAZ,CAAhL;AAAgM4F,uBAAe,EAAC,IAAEhuH,CAAC,CAAC,EAAD,CAAnN;AAAwNiuH,0BAAkB,EAAC,CAAC,MAAIjuH,CAAC,CAAC,EAAD,CAAN,KAAa,CAAxP;AAA0PkuH,2BAAmB,EAAC,CAAC,KAAGluH,CAAC,CAAC,EAAD,CAAL,KAAY,CAA1R;AAA4RmuH,0BAAkB,EAAC,CAAC,KAAGnuH,CAAC,CAAC,EAAD,CAAL,KAAY,CAA3T;AAA6TouH,gCAAwB,EAAC,CAAC,EAAE,IAAEpuH,CAAC,CAAC,EAAD,CAAL,CAAvV;AAAkWquH,iCAAyB,EAAC1nF,CAAC,CAAC0gF,SAAF,CAAY,EAAZ;AAA5X,OAAN;AAAmZ,KAAjuR;AAAkuRiH,QAAI,EAAC,cAAStuH,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAAC;AAACsnB,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoD2D,eAAO,EAAC;AAA5D,OAAR;AAAA,UAAwE9wF,CAAC,GAAC,IAAI2sF,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAA1E;AAAA,UAA2HrmD,CAAC,GAAC,IAAE//D,CAAC,CAACynH,KAAF,CAAQ,CAAR,CAA/H;AAAA,UAA0I9jG,CAAC,GAAC,IAAE3jB,CAAC,CAACynH,KAAF,CAAQ,CAAR,CAA9I;AAAA,UAAyJptG,CAAC,GAAC,IAAEra,CAAC,CAACynH,KAAF,CAAQ,CAAR,CAA7J;AAAA,UAAwK7nD,CAAC,GAAC,IAAE5/D,CAAC,CAACynH,KAAF,CAAQ,CAAR,CAA5K;AAAA,UAAuL5nD,CAAC,GAAC,IAAE7/D,CAAC,CAACynH,KAAF,CAAQ,CAAR,CAA3L;AAAA,UAAsMptF,CAAC,GAAC,IAAEr6B,CAAC,CAACynH,KAAF,CAAQ,CAAR,CAA1M;AAAA,UAAqNhnD,CAAC,GAAClnC,CAAC,CAAC8tF,SAAF,CAAY,CAAZ,CAAvN;AAAA,UAAsO3nD,CAAC,GAAC,CAAxO;;AAA0O,WAAIK,CAAC,KAAG//D,CAAC,CAACwtH,UAAF,GAAaj0F,CAAC,CAACk0F,QAAF,CAAW/tD,CAAX,CAAb,EAA2BA,CAAC,IAAE,CAAjC,CAAD,EAAqC/7C,CAAC,IAAE88C,CAAH,KAAO76B,CAAC,GAAC;AAAC6hF,aAAK,EAAC5D,EAAE,CAAC5kH,CAAC,CAACynH,QAAF,CAAWhnD,CAAX,EAAaA,CAAC,GAAC,CAAf,CAAD;AAAT,OAAF,EAAgCA,CAAC,IAAE,CAAnC,EAAqCrlD,CAAC,KAAGurB,CAAC,CAACrnB,QAAF,GAAWgb,CAAC,CAAC8tF,SAAF,CAAY3nD,CAAZ,CAAX,EAA0BA,CAAC,IAAE,CAAhC,CAAtC,EAAyEE,CAAC,KAAGh6B,CAAC,CAAC1gB,IAAF,GAAOqU,CAAC,CAAC8tF,SAAF,CAAY3nD,CAAZ,CAAP,EAAsBA,CAAC,IAAE,CAA5B,CAA1E,EAAyGrlC,CAAC,KAAGuL,CAAC,CAAC8nF,qBAAF,GAAwBn0F,CAAC,CAAC8tF,SAAF,CAAY3nD,CAAZ,CAAxB,EAAuCA,CAAC,IAAE,CAA7C,CAA1G,EAA0J1/D,CAAC,CAACqqH,OAAF,CAAU7nH,IAAV,CAAeojC,CAAf,CAA1J,EAA4K66B,CAAC,EAApL,CAAzC,EAAiOA,CAAC,EAAlO;AAAsO76B,SAAC,GAAC,EAAF,EAAKvrB,CAAC,KAAGurB,CAAC,CAACrnB,QAAF,GAAWgb,CAAC,CAAC8tF,SAAF,CAAY3nD,CAAZ,CAAX,EAA0BA,CAAC,IAAE,CAAhC,CAAN,EAAyCE,CAAC,KAAGh6B,CAAC,CAAC1gB,IAAF,GAAOqU,CAAC,CAAC8tF,SAAF,CAAY3nD,CAAZ,CAAP,EAAsBA,CAAC,IAAE,CAA5B,CAA1C,EAAyEG,CAAC,KAAGj6B,CAAC,CAAC6hF,KAAF,GAAQ5D,EAAE,CAAC5kH,CAAC,CAACynH,QAAF,CAAWhnD,CAAX,EAAaA,CAAC,GAAC,CAAf,CAAD,CAAV,EAA8BA,CAAC,IAAE,CAApC,CAA1E,EAAiHrlC,CAAC,KAAGuL,CAAC,CAAC8nF,qBAAF,GAAwBn0F,CAAC,CAAC8tF,SAAF,CAAY3nD,CAAZ,CAAxB,EAAuCA,CAAC,IAAE,CAA7C,CAAlH,EAAkK1/D,CAAC,CAACqqH,OAAF,CAAU7nH,IAAV,CAAeojC,CAAf,CAAlK;AAAtO;;AAA0Z,aAAO5lC,CAAP;AAAS,KAAh4S;AAAi4S,YAAO,aAASf,CAAT,EAAW;AAAC,aAAM;AAACqoB,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf;AAApB,OAAN;AAA2D,KAA/8S;AAAg9SiH,QAAI,EAAC,cAAS1uH,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAIsgF,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAN;AAAuD,aAAM;AAAC9+F,eAAO,EAACroB,CAAC,CAAC,CAAD,CAAV;AAAcwoH,aAAK,EAAC,IAAIpW,UAAJ,CAAepyG,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,CAAb,CAAf,CAApB;AAAoDkH,oBAAY,EAAChoF,CAAC,CAAC0gF,SAAF,CAAY,CAAZ,CAAjE;AAAgFuH,eAAO,EAAC,IAAIC,WAAJ,CAAgB,CAACloF,CAAC,CAAC0gF,SAAF,CAAY,CAAZ,CAAD,EAAgB1gF,CAAC,CAAC0gF,SAAF,CAAY,CAAZ,CAAhB,EAA+B1gF,CAAC,CAAC0gF,SAAF,CAAY,EAAZ,CAA/B,CAAhB;AAAxF,OAAN;AAAgK;AAAxrT,GAAzlK;AAAA,MAAmxdyH,EAAE,GAAC;AAACpzE,WAAO,EAAC2pE,EAAE,GAAC,YAASrlH,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR,EAAUwmC,CAAV,EAAYp8C,CAAZ,EAActJ,CAAC,GAAC,CAAhB,EAAkBulD,CAAC,GAAC,EAApB,EAAuBC,CAAC,GAAC,IAAImuD,WAAJ,CAAgB/uH,CAAC,CAACkD,MAAlB,CAAzB,EAAmDk4B,CAAC,GAAC,IAAIg3E,UAAJ,CAAexxC,CAAf,CAArD,EAAuEY,CAAC,GAAC,CAA7E,EAA+EA,CAAC,GAACxhE,CAAC,CAACkD,MAAnF,EAA0F,EAAEs+D,CAA5F;AAA8FpmC,SAAC,CAAComC,CAAD,CAAD,GAAKxhE,CAAC,CAACwhE,CAAD,CAAN;AAA9F;;AAAwG,WAAI76B,CAAC,GAAC,IAAIsgF,QAAJ,CAAarmD,CAAb,CAAN,EAAsBxlD,CAAC,GAACpb,CAAC,CAACmnH,UAA1B;AAAsCpmH,SAAC,GAAC4lC,CAAC,CAACyhF,SAAF,CAAYhtG,CAAZ,CAAF,EAAiBkf,CAAC,GAAC8qF,EAAE,CAACplH,CAAC,CAACynH,QAAF,CAAWrsG,CAAC,GAAC,CAAb,EAAeA,CAAC,GAAC,CAAjB,CAAD,CAArB,EAA2C0lD,CAAC,GAAC,IAAE//D,CAAF,GAAIqa,CAAC,GAACra,CAAN,GAAQf,CAAC,CAACmnH,UAAvD,EAAkE,CAACziG,CAAC,GAAC,CAACqiG,EAAE,CAACzsF,CAAD,CAAF,IAAO,UAASt6B,CAAT,EAAW;AAAC,iBAAM;AAACQ,gBAAI,EAACR;AAAN,WAAN;AAAe,SAAnC,EAAqCA,CAAC,CAACynH,QAAF,CAAWrsG,CAAC,GAAC,CAAb,EAAe0lD,CAAf,CAArC,CAAH,EAA4D76C,IAA5D,GAAiEllB,CAAnI,EAAqI2jB,CAAC,CAACnU,IAAF,GAAO+pB,CAA5I,EAA8IqmC,CAAC,CAACp9D,IAAF,CAAOmhB,CAAP,CAA9I,EAAwJtJ,CAAC,GAAC0lD,CAA1J;AAAtC;;AAAkM,aAAOH,CAAP;AAAS,KAA3U;AAA4UquD,WAAO,EAAC1J,GAAE,GAAC,YAAStlH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAIjiB,CAAJ;AAAM,aAAOiiB,CAAC,GAACA,CAAC,IAAE,CAAL,EAAOjiB,CAAC,GAAC,IAAIlJ,KAAJ,CAAU,IAAEmrB,CAAF,GAAI,CAAd,EAAiBxW,IAAjB,CAAsB,GAAtB,CAAT,EAAoCnwB,CAAC,CAACipB,GAAF,CAAM,UAAS63C,CAAT,EAAW9gE,CAAX,EAAa;AAAC,eAAO0kB,CAAC,GAACo8C,CAAC,CAACvwD,IAAJ,GAAS,IAAT,GAAc/J,MAAM,CAAC8pB,IAAP,CAAYwwC,CAAZ,EAAe18D,MAAf,CAAsB,UAASpE,CAAT,EAAW;AAAC,iBAAM,WAASA,CAAT,IAAY,YAAUA,CAA5B;AAA8B,SAAhE,EAAkEipB,GAAlE,CAAsE,UAASjpB,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAACjiB,CAAC,GAAC,IAAF,GAAO1kB,CAAP,GAAS,IAAf;AAAA,cAAoBe,CAAC,GAAC+/D,CAAC,CAAC9gE,CAAD,CAAvB;;AAA2B,cAAGe,CAAC,YAAYqxG,UAAb,IAAyBrxG,CAAC,YAAYsvG,WAAzC,EAAqD;AAAC,gBAAI/1E,CAAC,GAAC9e,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2B,IAAIysG,UAAJ,CAAerxG,CAAC,CAAC4K,MAAjB,EAAwB5K,CAAC,CAACmmH,UAA1B,EAAqCnmH,CAAC,CAAComH,UAAvC,CAA3B,EAA+El+F,GAA/E,CAAmF,UAASjpB,CAAT,EAAW;AAAC,qBAAM,MAAI,CAAC,OAAKA,CAAC,CAACinB,QAAF,CAAW,EAAX,CAAN,EAAsBtM,KAAtB,CAA4B,CAAC,CAA7B,CAAV;AAA0C,aAAzI,EAA2IwV,IAA3I,CAAgJ,EAAhJ,EAAoJV,KAApJ,CAA0J,UAA1J,CAAN;AAA4K,mBAAO6K,CAAC,GAAC,MAAIA,CAAC,CAACp3B,MAAN,GAAayjC,CAAC,GAAC,GAAF,GAAMrM,CAAC,CAACnK,IAAF,CAAO,EAAP,EAAWxV,KAAX,CAAiB,CAAjB,CAAN,GAA0B,GAAvC,GAA2CgsB,CAAC,GAAC,KAAF,GAAQrM,CAAC,CAACrR,GAAF,CAAM,UAASjpB,CAAT,EAAW;AAAC,qBAAO0kB,CAAC,GAAC,IAAF,GAAO1kB,CAAd;AAAgB,aAAlC,EAAoCmwB,IAApC,CAAyC,IAAzC,CAAR,GAAuD,IAAvD,GAA4DzL,CAA5D,GAA8D,KAA1G,GAAgHiiB,CAAC,GAAC,IAA1H;AAA+H;;AAAA,iBAAOA,CAAC,GAAC73B,IAAI,CAAC6C,SAAL,CAAe5Q,CAAf,EAAiB,IAAjB,EAAsB,CAAtB,EAAyBoqB,KAAzB,CAA+B,IAA/B,EAAqClC,GAArC,CAAyC,UAASjpB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,mBAAO,MAAIA,CAAJ,GAAM3mC,CAAN,GAAQ0kB,CAAC,GAAC,IAAF,GAAO1kB,CAAtB;AAAwB,WAA/E,EAAiFmwB,IAAjF,CAAsF,IAAtF,CAAT;AAAqG,SAAnjB,EAAqjBA,IAArjB,CAA0jB,IAA1jB,CAAd,IAA+kB2wC,CAAC,CAAC0oD,KAAF,GAAQ,OAAKlE,GAAE,CAACxkD,CAAC,CAAC0oD,KAAH,EAAS7iF,CAAC,GAAC,CAAX,CAAf,GAA6B,EAA5mB,CAAP;AAAunB,OAA3oB,EAA6oBxW,IAA7oB,CAAkpB,IAAlpB,CAA3C;AAAmsB,KAA9iC;AAA+iC8+F,aAAS,EAAC7J,EAAzjC;AAA4jC8J,WAAO,EAAC,SAASlvH,CAAT,CAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAJ;AAAA,UAAMwmC,CAAN;AAAA,UAAQp8C,CAAR;AAAA,UAAUtJ,CAAV;AAAA,UAAYulD,CAAZ;AAAA,UAAcC,CAAC,GAAC,EAAhB;AAAmB,UAAG,CAAC7/D,CAAC,CAACmC,MAAN,EAAa,OAAO,IAAP;;AAAY,WAAIo3B,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACqM,CAAC,CAACwgF,UAAZ;AAAwBrmD,SAAC,GAACgmD,EAAE,CAACngF,CAAC,CAACrM,CAAD,CAAD,IAAM,EAAN,GAASqM,CAAC,CAACrM,CAAC,GAAC,CAAH,CAAD,IAAQ,EAAjB,GAAoBqM,CAAC,CAACrM,CAAC,GAAC,CAAH,CAAD,IAAQ,CAA5B,GAA8BqM,CAAC,CAACrM,CAAC,GAAC,CAAH,CAAhC,CAAJ,EAA2C5V,CAAC,GAAC0gG,EAAE,CAACz+E,CAAC,CAAC8gF,QAAF,CAAWntF,CAAC,GAAC,CAAb,EAAeA,CAAC,GAAC,CAAjB,CAAD,CAA/C,EAAqElf,CAAC,GAAC,IAAE0lD,CAAF,GAAIxmC,CAAC,GAACwmC,CAAN,GAAQn6B,CAAC,CAACwgF,UAAjF,EAA4FziG,CAAC,KAAG3jB,CAAC,CAAC,CAAD,CAAL,KAAW,MAAIA,CAAC,CAACmC,MAAN,GAAa09D,CAAC,CAACr9D,IAAF,CAAOojC,CAAC,CAAC8gF,QAAF,CAAWntF,CAAC,GAAC,CAAb,EAAelf,CAAf,CAAP,CAAb,GAAuC,CAACulD,CAAC,GAAC3gE,CAAC,CAAC2mC,CAAC,CAAC8gF,QAAF,CAAWntF,CAAC,GAAC,CAAb,EAAelf,CAAf,CAAD,EAAmBra,CAAC,CAAC4Z,KAAF,CAAQ,CAAR,CAAnB,CAAJ,EAAoCzX,MAApC,KAA6C09D,CAAC,GAACA,CAAC,CAAC75C,MAAF,CAAS45C,CAAT,CAA/C,CAAlD,CAA5F,EAA2MrmC,CAAC,GAAClf,CAA7M;AAAxB;;AAAuO,aAAOwlD,CAAP;AAAS,KAAh3C;AAAi3CuuD,aAAS,EAACpI,EAAE,CAAC6G,IAA93C;AAAm4CwB,aAAS,EAACrI,EAAE,CAAC+F,IAAh5C;AAAq5CuC,aAAS,EAACtI,EAAE,CAAC4C,IAAl6C;AAAu6C2F,aAAS,EAACvI,EAAE,CAACkG,IAAp7C;AAAy7CsC,aAAS,EAACxI,EAAE,CAACuH,IAAt8C;AAA28CkB,aAAS,EAACzI,EAAE,CAAC1F;AAAx9C,GAAtxd;AAAA,MAAovgBoO,EAAE,GAAC7I,EAAvvgB;AAAA,MAA0vgB8I,EAAE,GAAC7I,EAA7vgB;;AAAgwgBtB,IAAE,GAAC,YAASvlH,CAAT,EAAW;AAAC,WAAO8uH,EAAE,CAACI,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,EAAQ,MAAR,CAAb,EAA8BuqE,MAA9B,CAAqC,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAJ,EAAMu5B,CAAN,EAAQwmC,CAAR,EAAUp8C,CAAV,EAAYtJ,CAAZ;AAAc,aAAM,CAACra,CAAC,GAAC+tH,EAAE,CAACI,OAAH,CAAWvoF,CAAX,EAAa,CAAC,MAAD,CAAb,EAAuB,CAAvB,CAAH,KAA+BrM,CAAC,GAACv5B,CAAC,CAAC,CAAD,CAAH,EAAO2jB,CAAC,GAAC+qG,EAAE,CAAC1uH,CAAC,CAAC+/D,CAAC,GAAC,MAAIxmC,CAAJ,GAAM,EAAN,GAAS,EAAZ,CAAD,IAAkB,EAAlB,GAAqBv5B,CAAC,CAAC+/D,CAAC,GAAC,CAAH,CAAD,IAAQ,EAA7B,GAAgC//D,CAAC,CAAC+/D,CAAC,GAAC,CAAH,CAAD,IAAQ,CAAxC,GAA0C//D,CAAC,CAAC+/D,CAAC,GAAC,CAAH,CAA5C,CAAX,EAA8D,CAAC1lD,CAAC,GAAC0zG,EAAE,CAACI,OAAH,CAAWvoF,CAAX,EAAa,CAAC,MAAD,EAAQ,MAAR,CAAb,EAA8B,CAA9B,CAAH,KAAsCm6B,CAAC,GAAC,OAAKxmC,CAAC,GAAClf,CAAC,CAAC,CAAD,CAAR,IAAa,EAAb,GAAgB,EAAlB,EAAqBpb,CAAC,CAAC0kB,CAAD,CAAD,GAAK+qG,EAAE,CAACr0G,CAAC,CAAC0lD,CAAD,CAAD,IAAM,EAAN,GAAS1lD,CAAC,CAAC0lD,CAAC,GAAC,CAAH,CAAD,IAAQ,EAAjB,GAAoB1lD,CAAC,CAAC0lD,CAAC,GAAC,CAAH,CAAD,IAAQ,CAA5B,GAA8B1lD,CAAC,CAAC0lD,CAAC,GAAC,CAAH,CAAhC,CAA5B,EAAmE9gE,CAAzG,IAA4G,IAAzM,IAA+M,IAArN;AAA0N,KAA3R,EAA4R,EAA5R,CAAP;AAAuS,GAAtT,EAAuTwlH,EAAE,GAAC,YAAS1kD,CAAT,EAAW9gE,CAAX,EAAa;AAAC,QAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR;AAAU,WAAOqM,CAAC,GAACmoF,EAAE,CAACI,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,EAAQ,MAAR,CAAb,CAAF,EAAgCe,CAAC,GAAC,GAAGgmB,MAAH,CAAUrhB,KAAV,CAAgB,EAAhB,EAAmBihC,CAAC,CAAC1d,GAAF,CAAM,UAASqR,CAAT,EAAW;AAAC,aAAOw0F,EAAE,CAACI,OAAH,CAAW50F,CAAX,EAAa,CAAC,MAAD,CAAb,EAAuBrR,GAAvB,CAA2B,UAASjpB,CAAT,EAAW;AAAC,YAAI2mC,CAAJ,EAAM5lC,CAAN;AAAQ,eAAO4lC,CAAC,GAAC8oF,EAAE,CAACzvH,CAAC,CAAC,CAAD,CAAD,IAAM,EAAN,GAASA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAf,GAAkBA,CAAC,CAAC,CAAD,CAAD,IAAM,CAAxB,GAA0BA,CAAC,CAAC,CAAD,CAA5B,CAAJ,EAAqCe,CAAC,GAAC+/D,CAAC,CAACn6B,CAAD,CAAD,IAAM,GAA7C,EAAiD,CAACmoF,EAAE,CAACI,OAAH,CAAW50F,CAAX,EAAa,CAAC,MAAD,CAAb,EAAuBrR,GAAvB,CAA2B,UAASjpB,CAAT,EAAW;AAAC,cAAI2mC,CAAJ,EAAM5lC,CAAN;AAAQ,iBAAO4lC,CAAC,GAAC3mC,CAAC,CAAC,CAAD,CAAH,EAAOe,CAAC,GAAC0uH,EAAE,CAACzvH,CAAC,CAAC,CAAD,CAAD,IAAM,EAAN,GAASA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAf,GAAkBA,CAAC,CAAC,CAAD,CAAD,IAAM,CAAxB,GAA0BA,CAAC,CAAC,CAAD,CAA5B,CAAX,EAA4C,MAAI2mC,CAAJ,KAAQ5lC,CAAC,IAAE4f,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAW,EAAX,CAAH,EAAkBjsH,CAAC,IAAE0uH,EAAE,CAACzvH,CAAC,CAAC,CAAD,CAAD,IAAM,EAAN,GAASA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAf,GAAkBA,CAAC,CAAC,EAAD,CAAD,IAAO,CAAzB,GAA2BA,CAAC,CAAC,EAAD,CAA7B,CAA/B,CAA5C,EAA+Ge,CAAtH;AAAwH,SAAvK,EAAyK,CAAzK,KAA6K,IAAE,CAAhL,IAAmLA,CAA3O;AAA6O,OAA5R,CAAP;AAAqS,KAAvT,CAAnB,CAAlC,EAA+Wu5B,CAAC,GAAC3Z,IAAI,CAACE,GAAL,CAASnb,KAAT,CAAe,IAAf,EAAoB3E,CAApB,CAAjX,EAAwYmxC,QAAQ,CAAC5X,CAAD,CAAR,GAAYA,CAAZ,GAAc,CAA7Z;AAA+Z,GAAjvB,EAAkvBmrF,EAAE,GAAC,YAASzlH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAJ;AAAA,QAAMu5B,CAAC,GAACw0F,EAAE,CAACI,OAAH,CAAWvoF,CAAX,EAAa,CAAC,MAAD,EAAQ,MAAR,CAAb,CAAR;AAAA,QAAsCm6B,CAAC,GAAC,CAAxC;AAAA,QAA0Cp8C,CAAC,GAAC,CAA5C;AAA8C,QAAG4V,CAAC,IAAEA,CAAC,CAACp3B,MAAR,EAAe,KAAI,IAAIkY,CAAC,GAAC0zG,EAAE,CAACK,SAAH,CAAa70F,CAAC,CAAC,CAAD,CAAd,CAAN,EAAyBqmC,CAAC,GAAC,CAA/B,EAAiCA,CAAC,GAACvlD,CAAC,CAACouG,KAAF,CAAQtmH,MAA3C,EAAkDy9D,CAAC,EAAnD;AAAsD,iBAASvlD,CAAC,CAACouG,KAAF,CAAQ7oD,CAAR,EAAWpwD,IAApB,GAAyBxP,CAAC,GAACqa,CAAC,CAACouG,KAAF,CAAQ7oD,CAAR,EAAWusD,OAAtC,GAA8C,WAAS9xG,CAAC,CAACouG,KAAF,CAAQ7oD,CAAR,EAAWpwD,IAApB,GAAyBuwD,CAAC,GAAC1lD,CAAC,CAACouG,KAAF,CAAQ7oD,CAAR,EAAWosD,mBAAtC,GAA0D,WAAS3xG,CAAC,CAACouG,KAAF,CAAQ7oD,CAAR,EAAWpwD,IAApB,IAA0B6K,CAAC,CAACouG,KAAF,CAAQ7oD,CAAR,EAAWyqD,OAAX,CAAmBloH,MAA7C,KAAsDwhB,CAAC,GAACtJ,CAAC,CAACouG,KAAF,CAAQ7oD,CAAR,EAAWyqD,OAAX,CAAmB,CAAnB,EAAsBqD,qBAAtB,IAA6C,CAArG,CAAxG;AAAtD;AAAsQ,WAAM,CAAC3tD,CAAC,GAACp8C,CAAH,KAAO1kB,CAAC,CAACe,CAAD,CAAD,IAAM,GAAb,CAAN;AAAwB,GAA9lC,EAA+lC2kH,EAAE,GAAC,YAAS1lH,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAACmoF,EAAE,CAACI,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,EAAQ,MAAR,CAAb,CAAN;AAAA,QAAoC2gE,CAAC,GAAC,EAAtC;AAAyC,WAAOh6B,CAAC,CAAC59B,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAACmoF,EAAE,CAACI,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,EAAQ,MAAR,CAAb,CAAN;AAAA,UAAoCob,CAAC,GAAC0zG,EAAE,CAACI,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,CAAb,CAAtC;AAA6D2mC,OAAC,CAAC59B,OAAF,CAAU,UAAS/I,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAJ;AAAA,YAAMu5B,CAAN;AAAA,YAAQwmC,CAAC,GAACguD,EAAE,CAACG,SAAH,CAAajvH,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAa,EAAb,CAAb,CAAV;AAAA,YAAyC/iG,CAAC,GAACtJ,CAAC,CAACurB,CAAD,CAA5C;AAAgD,mBAASm6B,CAAT,KAAaxmC,CAAC,GAAC,MAAI,CAACv5B,CAAC,GAAC,IAAIkmH,QAAJ,CAAaviG,CAAC,CAAC/Y,MAAf,EAAsB+Y,CAAC,CAACwiG,UAAxB,EAAmCxiG,CAAC,CAACyiG,UAArC,CAAH,EAAqDyC,QAArD,CAA8D,CAA9D,CAAJ,GAAqE7oH,CAAC,CAACqnH,SAAF,CAAY,EAAZ,CAArE,GAAqFrnH,CAAC,CAACqnH,SAAF,CAAY,EAAZ,CAAvF,EAAuGznD,CAAC,CAACp9D,IAAF,CAAO+2B,CAAP,CAApH;AAA+H,OAAvM;AAAyM,KAA5R,GAA8RqmC,CAArS;AAAuS,GAA97C,EAA+7CglD,EAAE,GAAC,YAAS3lH,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAACmoF,EAAE,CAACI,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,EAAQ,MAAR,CAAb,CAAN;AAAA,QAAoCozC,CAAC,GAAC,EAAtC;AAAyC,WAAOzM,CAAC,CAAC59B,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAN;AAAA,UAAQu5B,CAAC,GAAC,EAAV;AAAA,UAAawmC,CAAC,GAACguD,EAAE,CAACI,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,CAAb,EAAuB,CAAvB,CAAf;AAAyC8gE,OAAC,KAAG//D,CAAC,GAAC,CAAC4lC,CAAC,GAAC,IAAIsgF,QAAJ,CAAanmD,CAAC,CAACn1D,MAAf,EAAsBm1D,CAAC,CAAComD,UAAxB,EAAmCpmD,CAAC,CAACqmD,UAArC,CAAH,EAAqDyC,QAArD,CAA8D,CAA9D,CAAF,EAAmEtvF,CAAC,CAACr5B,EAAF,GAAK,MAAIF,CAAJ,GAAM4lC,CAAC,CAACyhF,SAAF,CAAY,EAAZ,CAAN,GAAsBzhF,CAAC,CAACyhF,SAAF,CAAY,EAAZ,CAAjG,CAAD;AAAmH,UAAI1jG,CAAC,GAACoqG,EAAE,CAACI,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,EAAQ,MAAR,CAAb,EAA8B,CAA9B,CAAN;;AAAuC,UAAG0kB,CAAH,EAAK;AAAC,YAAItJ,CAAC,GAAC0zG,EAAE,CAACG,SAAH,CAAavqG,CAAC,CAAC+iG,QAAF,CAAW,CAAX,EAAa,EAAb,CAAb,CAAN;AAAqCntF,SAAC,CAAC/pB,IAAF,GAAO,WAAS6K,CAAT,GAAW,OAAX,GAAmB,WAASA,CAAT,GAAW,OAAX,GAAmBA,CAA7C;AAA+C;;AAAA,UAAIulD,CAAC,GAACmuD,EAAE,CAACI,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,EAAQ,MAAR,EAAe,MAAf,EAAsB,MAAtB,CAAb,EAA4C,CAA5C,CAAN;;AAAqD,UAAG2gE,CAAH,EAAK;AAAC,YAAIC,CAAC,GAACD,CAAC,CAAC8mD,QAAF,CAAW,CAAX,CAAN;AAAoBntF,SAAC,CAACq1F,KAAF,GAAQb,EAAE,CAACG,SAAH,CAAaruD,CAAC,CAAC6mD,QAAF,CAAW,CAAX,EAAa,CAAb,CAAb,CAAR;AAAsC,YAAIrsF,CAAJ;AAAA,YAAMomC,CAAC,GAACstD,EAAE,CAACI,OAAH,CAAWtuD,CAAX,EAAa,CAACtmC,CAAC,CAACq1F,KAAH,CAAb,EAAwB,CAAxB,CAAR;AAAmCnuD,SAAC,KAAG,kBAAkB7rD,IAAlB,CAAuB2kB,CAAC,CAACq1F,KAAzB,KAAiCv0F,CAAC,GAAComC,CAAC,CAACimD,QAAF,CAAW,EAAX,CAAF,EAAiB,WAASqH,EAAE,CAACG,SAAH,CAAa7zF,CAAC,CAACqsF,QAAF,CAAW,CAAX,EAAa,CAAb,CAAb,CAAT,IAAwC,KAAGrsF,CAAC,CAACl4B,MAA7C,IAAqDo3B,CAAC,CAACq1F,KAAF,IAAS,GAAT,EAAar1F,CAAC,CAACq1F,KAAF,IAASD,EAAE,CAACt0F,CAAC,CAAC,CAAD,CAAF,CAAxB,EAA+Bd,CAAC,CAACq1F,KAAF,IAASD,EAAE,CAACt0F,CAAC,CAAC,EAAD,CAAF,CAA1C,EAAkDd,CAAC,CAACq1F,KAAF,IAASD,EAAE,CAACt0F,CAAC,CAAC,EAAD,CAAF,CAAlH,IAA2Hd,CAAC,CAACq1F,KAAF,GAAQ,aAArL,IAAoM,cAAch6G,IAAd,CAAmB2kB,CAAC,CAACq1F,KAArB,MAA8Bv0F,CAAC,GAAComC,CAAC,CAACimD,QAAF,CAAW,EAAX,CAAF,EAAiB,WAASqH,EAAE,CAACG,SAAH,CAAa7zF,CAAC,CAACqsF,QAAF,CAAW,CAAX,EAAa,CAAb,CAAb,CAAT,IAAwC,KAAGrsF,CAAC,CAACl4B,MAA7C,IAAqD,MAAIk4B,CAAC,CAAC,EAAD,CAA1D,IAAgEd,CAAC,CAACq1F,KAAF,IAAS,MAAID,EAAE,CAACt0F,CAAC,CAAC,EAAD,CAAF,CAAf,EAAuBd,CAAC,CAACq1F,KAAF,IAAS,MAAID,EAAE,CAACt0F,CAAC,CAAC,EAAD,CAAD,KAAQ,CAAR,GAAU,EAAX,CAAF,CAAiB/2B,OAAjB,CAAyB,IAAzB,EAA8B,EAA9B,CAApG,IAAuIi2B,CAAC,CAACq1F,KAAF,GAAQ,WAA9L,CAAvM,CAAD;AAAoZ;;AAAA,UAAIlvD,CAAC,GAACquD,EAAE,CAACI,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,EAAQ,MAAR,CAAb,EAA8B,CAA9B,CAAN;;AAAuC,UAAGygE,CAAC,IAAEK,CAAN,EAAQ;AAAC,YAAIJ,CAAC,GAAC,MAAI3/D,CAAJ,GAAM,EAAN,GAAS,EAAf;AAAkBu5B,SAAC,CAACsmF,SAAF,GAAY6O,EAAE,CAAChvD,CAAC,CAACC,CAAD,CAAD,IAAM,EAAN,GAASD,CAAC,CAAC,IAAEC,CAAH,CAAD,IAAQ,EAAjB,GAAoBD,CAAC,CAAC,IAAEC,CAAH,CAAD,IAAQ,CAA5B,GAA8BD,CAAC,CAAC,IAAEC,CAAH,CAAhC,CAAd;AAAqD;;AAAAttB,OAAC,CAAC7vC,IAAF,CAAO+2B,CAAP;AAAU,KAAh+B,GAAk+B8Y,CAAz+B;AAA2+B,GAAl+E;;AAAm+E,WAASw8E,EAAT,GAAa;AAAC,SAAKluH,IAAL,GAAU,YAAU;AAAC,UAAIgjB,CAAC,GAAC,EAAN;AAAS,WAAKriB,EAAL,GAAQ,UAASrC,CAAT,EAAW2mC,CAAX,EAAa;AAACjiB,SAAC,CAAC1kB,CAAD,CAAD,KAAO0kB,CAAC,CAAC1kB,CAAD,CAAD,GAAK,EAAZ,GAAgB0kB,CAAC,CAAC1kB,CAAD,CAAD,GAAK0kB,CAAC,CAAC1kB,CAAD,CAAD,CAAK+mB,MAAL,CAAY4f,CAAZ,CAArB;AAAoC,OAA1D,EAA2D,KAAKvkC,GAAL,GAAS,UAASpC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAJ;AAAM,eAAM,CAAC,CAAC2jB,CAAC,CAAC1kB,CAAD,CAAH,KAASe,CAAC,GAAC2jB,CAAC,CAAC1kB,CAAD,CAAD,CAAKmB,OAAL,CAAawlC,CAAb,CAAF,EAAkBjiB,CAAC,CAAC1kB,CAAD,CAAD,GAAK0kB,CAAC,CAAC1kB,CAAD,CAAD,CAAK2a,KAAL,EAAvB,EAAoC+J,CAAC,CAAC1kB,CAAD,CAAD,CAAKwa,MAAL,CAAYzZ,CAAZ,EAAc,CAAd,CAApC,EAAqD,CAAC,CAAD,GAAGA,CAAjE,CAAN;AAA0E,OAAlK,EAAmK,KAAKwE,OAAL,GAAa,UAASvF,CAAT,EAAW;AAAC,YAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR,EAAUwmC,CAAV;AAAY,YAAGn6B,CAAC,GAACjiB,CAAC,CAAC1kB,CAAD,CAAN,EAAU,IAAG,MAAIkpB,SAAS,CAAChmB,MAAjB,EAAwB,KAAIo3B,CAAC,GAACqM,CAAC,CAACzjC,MAAJ,EAAWnC,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAACu5B,CAArB,EAAuB,EAAEv5B,CAAzB;AAA2B4lC,WAAC,CAAC5lC,CAAD,CAAD,CAAK4E,IAAL,CAAU,IAAV,EAAeujB,SAAS,CAAC,CAAD,CAAxB;AAA3B,SAAxB,MAAoF;AAAC,eAAI43C,CAAC,GAAC,EAAF,EAAK//D,CAAC,GAACmoB,SAAS,CAAChmB,MAAjB,EAAwBnC,CAAC,GAAC,CAA9B,EAAgCA,CAAC,GAACmoB,SAAS,CAAChmB,MAA5C,EAAmD,EAAEnC,CAArD;AAAuD+/D,aAAC,CAACv9D,IAAF,CAAO2lB,SAAS,CAACnoB,CAAD,CAAhB;AAAvD;;AAA4E,eAAIu5B,CAAC,GAACqM,CAAC,CAACzjC,MAAJ,EAAWnC,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAACu5B,CAArB,EAAuB,EAAEv5B,CAAzB;AAA2B4lC,aAAC,CAAC5lC,CAAD,CAAD,CAAK2E,KAAL,CAAW,IAAX,EAAgBo7D,CAAhB;AAA3B;AAA8C;AAAC,OAAla,EAAma,KAAKrvD,OAAL,GAAa,YAAU;AAACiT,SAAC,GAAC,EAAF;AAAK,OAAhc;AAAic,KAA/d;AAAge;;AAAA,MAAImrG,EAAE,GAAC;AAACX,WAAO,EAACJ,EAAE,CAACI,OAAZ;AAAoBD,aAAS,EAACH,EAAE,CAACG,SAAjC;AAA2CrO,aAAS,EAAC2E,EAArD;AAAwDlwE,aAAS,EAACmwE,EAAlE;AAAqEsK,wBAAoB,EAACrK,EAA1F;AAA6FsK,iBAAa,EAACrK,EAA3G;AAA8Gl6B,UAAM,EAACm6B;AAArH,GAAP;AAAA,MAAgIqK,EAAE,GAAC,SAAHA,EAAG,CAAShwH,CAAT,EAAW;AAAC,SAAI,IAAI2mC,CAAC,GAAC,CAAN,EAAQ5lC,CAAC,GAAC;AAACkvH,iBAAW,EAAC,CAAC,CAAd;AAAgBC,iBAAW,EAAC;AAA5B,KAAV,EAAyC51F,CAAC,GAAC,CAA3C,EAA6CwmC,CAAC,GAAC,CAAnD,EAAqDn6B,CAAC,GAAC3mC,CAAC,CAACmnH,UAAJ,IAAgB,QAAMnnH,CAAC,CAAC2mC,CAAD,CAA5E,GAAiF;AAAC,aAAK,QAAM3mC,CAAC,CAAC2mC,CAAD,CAAZ;AAAiBrM,SAAC,IAAE,GAAH,EAAOqM,CAAC,EAAR;AAAjB;;AAA4B,WAAIrM,CAAC,IAAEt6B,CAAC,CAAC2mC,CAAC,EAAF,CAAR,EAAc,QAAM3mC,CAAC,CAAC2mC,CAAD,CAArB;AAA0Bm6B,SAAC,IAAE,GAAH,EAAOn6B,CAAC,EAAR;AAA1B;;AAAqC,UAAGm6B,CAAC,IAAE9gE,CAAC,CAAC2mC,CAAC,EAAF,CAAJ,EAAU,CAAC5lC,CAAC,CAACovH,OAAH,IAAY,MAAI71F,CAA7B,EAA+B;AAACv5B,SAAC,CAACkvH,WAAF,GAAc31F,CAAd,EAAgBv5B,CAAC,CAACmvH,WAAF,GAAcpvD,CAA9B,EAAgC//D,CAAC,CAACovH,OAAF,GAAUnwH,CAAC,CAACynH,QAAF,CAAW9gF,CAAX,EAAaA,CAAC,GAACm6B,CAAf,CAA1C;AAA4D;AAAM;;AAAAn6B,OAAC,IAAEm6B,CAAH,EAAKA,CAAC,GAACxmC,CAAC,GAAC,CAAT;AAAW;;AAAA,WAAOv5B,CAAP;AAAS,GAAxZ;AAAA,MAAyZqvH,EAAE,GAAC,SAAHA,EAAG,CAASpwH,CAAT,EAAW;AAAC,WAAO,QAAMA,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAAN,GAAmB,IAAnB,GAAwB,OAAKnwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,KAAc,CAAd,GAAgBnwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAArB,IAAmC,IAAnC,GAAwC,WAAS3hG,MAAM,CAACC,YAAP,CAAoBzuB,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAApB,EAAiCnwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAAjC,EAA8CnwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAA9C,EAA2DnwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAA3D,CAAT,GAAkF,IAAlF,GAAuF,MAAInwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAAJ,GAAiB,IAAjB,GAAsBnwH,CAAC,CAACmwH,OAAF,CAAU1I,QAAV,CAAmB,CAAnB,EAAqBznH,CAAC,CAACmwH,OAAF,CAAUjtH,MAAV,GAAiB,CAAtC,CAApL;AAA6N,GAAroB;AAAA,MAAsoBmtH,EAAE,GAAC,SAAHA,EAAG,CAASrwH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAJ;AAAA,QAAMu5B,CAAN;AAAA,QAAQwmC,CAAR;AAAA,QAAUp8C,CAAV;AAAA,QAAYtJ,CAAC,GAAC,EAAd;AAAiB,QAAG,EAAE,KAAGurB,CAAC,CAAC,CAAD,CAAN,CAAH,EAAc,OAAOvrB,CAAP;;AAAS,SAAIkf,CAAC,GAAC,KAAGqM,CAAC,CAAC,CAAD,CAAN,EAAU5lC,CAAC,GAAC,CAAhB,EAAkBA,CAAC,GAACu5B,CAApB,EAAsBv5B,CAAC,EAAvB;AAA0B2jB,OAAC,GAAC;AAACnU,YAAI,EAAC,IAAEo2B,CAAC,CAAC,KAAGm6B,CAAC,GAAC,IAAE//D,CAAP,CAAD,CAAT;AAAqBuvH,WAAG,EAACtwH;AAAzB,OAAF,EAA8B,IAAE2mC,CAAC,CAAC,IAAEm6B,CAAH,CAAH,KAAWp8C,CAAC,CAAC6rG,MAAF,GAAS5pF,CAAC,CAAC,IAAEm6B,CAAH,CAAD,IAAQ,CAAR,GAAUn6B,CAAC,CAAC,IAAEm6B,CAAH,CAApB,EAA0B1lD,CAAC,CAAC7X,IAAF,CAAOmhB,CAAP,CAArC,CAA9B;AAA1B;;AAAwG,WAAOtJ,CAAP;AAAS,GAAhzB;AAAA,MAAizBo1G,EAAE,GAAC,SAAHA,EAAG,CAASxwH,CAAT,EAAW;AAAC,SAAI,IAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAC,GAACt6B,CAAC,CAACmnH,UAAZ,EAAuBrmD,CAAC,GAAC,EAAzB,EAA4Bp8C,CAAC,GAAC,CAAlC,EAAoCA,CAAC,GAAC4V,CAAC,GAAC,CAAxC;AAA2C,YAAIt6B,CAAC,CAAC0kB,CAAD,CAAL,IAAU,MAAI1kB,CAAC,CAAC0kB,CAAC,GAAC,CAAH,CAAf,IAAsB,MAAI1kB,CAAC,CAAC0kB,CAAC,GAAC,CAAH,CAA3B,IAAkCo8C,CAAC,CAACv9D,IAAF,CAAOmhB,CAAC,GAAC,CAAT,GAAYA,CAAC,IAAE,CAAjD,IAAoDA,CAAC,EAArD;AAA3C;;AAAmG,QAAG,MAAIo8C,CAAC,CAAC59D,MAAT,EAAgB,OAAOlD,CAAP;AAAS2mC,KAAC,GAACrM,CAAC,GAACwmC,CAAC,CAAC59D,MAAN,EAAanC,CAAC,GAAC,IAAIqxG,UAAJ,CAAezrE,CAAf,CAAf;AAAiC,QAAIvrB,CAAC,GAAC,CAAN;;AAAQ,SAAIsJ,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACiiB,CAAV,EAAYvrB,CAAC,IAAGsJ,CAAC,EAAjB;AAAoBtJ,OAAC,KAAG0lD,CAAC,CAAC,CAAD,CAAL,KAAW1lD,CAAC,IAAG0lD,CAAC,CAACtwC,KAAF,EAAf,GAA0BzvB,CAAC,CAAC2jB,CAAD,CAAD,GAAK1kB,CAAC,CAACob,CAAD,CAAhC;AAApB;;AAAwD,WAAOra,CAAP;AAAS,GAAtiC;AAAA,MAAuiC0vH,EAAE,GAAC,CAA1iC;;AAA4iCb,IAAE,CAAC71G,SAAH,CAAa4jB,IAAb,GAAkB,UAASgJ,CAAT,EAAW;AAAC,WAAO,KAAKtkC,EAAL,CAAQ,MAAR,EAAe,UAASrC,CAAT,EAAW;AAAC2mC,OAAC,CAACpjC,IAAF,CAAOvD,CAAP;AAAU,KAArC,GAAuC,KAAKqC,EAAL,CAAQ,MAAR,EAAe,UAASrC,CAAT,EAAW;AAAC2mC,OAAC,CAACyzC,KAAF,CAAQp6E,CAAR;AAAW,KAAtC,CAAvC,EAA+E,KAAKqC,EAAL,CAAQ,aAAR,EAAsB,UAASrC,CAAT,EAAW;AAAC2mC,OAAC,CAAC+pF,YAAF,CAAe1wH,CAAf;AAAkB,KAApD,CAA/E,EAAqI,KAAKqC,EAAL,CAAQ,eAAR,EAAwB,UAASrC,CAAT,EAAW;AAAC2mC,OAAC,CAACgqF,WAAF,CAAc3wH,CAAd;AAAiB,KAArD,CAArI,EAA4L,KAAKqC,EAAL,CAAQ,OAAR,EAAgB,UAASrC,CAAT,EAAW;AAAC2mC,OAAC,CAAC9P,KAAF,CAAQ72B,CAAR;AAAW,KAAvC,CAA5L,EAAqO2mC,CAA5O;AAA8O,GAA5Q,EAA6QipF,EAAE,CAAC71G,SAAH,CAAaxW,IAAb,GAAkB,UAASvD,CAAT,EAAW;AAAC,SAAKuF,OAAL,CAAa,MAAb,EAAoBvF,CAApB;AAAuB,GAAlU,EAAmU4vH,EAAE,CAAC71G,SAAH,CAAaqgE,KAAb,GAAmB,UAASp6E,CAAT,EAAW;AAAC,SAAKuF,OAAL,CAAa,MAAb,EAAoBvF,CAApB;AAAuB,GAAzX,EAA0X4vH,EAAE,CAAC71G,SAAH,CAAa22G,YAAb,GAA0B,UAAS1wH,CAAT,EAAW;AAAC,SAAKuF,OAAL,CAAa,aAAb,EAA2BvF,CAA3B;AAA8B,GAA9b,EAA+b4vH,EAAE,CAAC71G,SAAH,CAAa42G,WAAb,GAAyB,UAAS3wH,CAAT,EAAW;AAAC,SAAKuF,OAAL,CAAa,eAAb,EAA6BvF,CAA7B;AAAgC,GAApgB,EAAqgB4vH,EAAE,CAAC71G,SAAH,CAAa8c,KAAb,GAAmB,UAAS72B,CAAT,EAAW;AAAC,SAAKuF,OAAL,CAAa,OAAb,EAAqBvF,CAArB;AAAwB,GAA5jB;;AAA6jB,WAAS4wH,EAAT,GAAa;AAACA,MAAE,CAAC72G,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,GAA6B,KAAKkrH,eAAL,GAAqB,EAAlD,EAAqD,KAAKC,UAAL,GAAgB,CAAC,IAAIC,EAAJ,CAAO,CAAP,EAAS,CAAT,CAAD,EAAa,IAAIA,EAAJ,CAAO,CAAP,EAAS,CAAT,CAAb,EAAyB,IAAIA,EAAJ,CAAO,CAAP,EAAS,CAAT,CAAzB,EAAqC,IAAIA,EAAJ,CAAO,CAAP,EAAS,CAAT,CAArC,CAArE,EAAuH,KAAKl6F,KAAL,EAAvH,EAAoI,KAAKi6F,UAAL,CAAgB/nH,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAACA,OAAC,CAACqC,EAAF,CAAK,MAAL,EAAY,KAAKkD,OAAL,CAAagX,IAAb,CAAkB,IAAlB,EAAuB,MAAvB,CAAZ,GAA4Cvc,CAAC,CAACqC,EAAF,CAAK,aAAL,EAAmB,KAAKkD,OAAL,CAAagX,IAAb,CAAkB,IAAlB,EAAuB,aAAvB,CAAnB,CAA5C,EAAsGvc,CAAC,CAACqC,EAAF,CAAK,MAAL,EAAY,KAAKkD,OAAL,CAAagX,IAAb,CAAkB,IAAlB,EAAuB,MAAvB,CAAZ,CAAtG;AAAkJ,KAAtL,EAAuL,IAAvL,CAApI;AAAiU;;AAAA,MAAIy0G,EAAE,GAACpB,EAAP;AAAU,GAACgB,EAAE,CAAC72G,SAAH,GAAa,IAAIi3G,EAAJ,EAAd,EAAsBztH,IAAtB,GAA2B,UAASvD,CAAT,EAAW;AAAC,QAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR;AAAU,QAAG,eAAat6B,CAAC,CAACixH,WAAf,IAA4B,CAACtqF,CAAC,GAACqpF,EAAE,CAAChwH,CAAC,CAACkxH,WAAH,CAAL,EAAsBjB,WAAtB,KAAoCQ,EAAhE,KAAqE1vH,CAAC,GAACqvH,EAAE,CAACzpF,CAAD,CAAzE,CAAH,EAAiF,IAAG3mC,CAAC,CAACmxH,GAAF,GAAM,KAAKC,UAAd,EAAyB,KAAKC,mBAAL,GAAyB,CAAC,CAA1B,CAAzB,KAAyD;AAAC,UAAGrxH,CAAC,CAACmxH,GAAF,KAAQ,KAAKC,UAAb,IAAyB,KAAKC,mBAAjC,EAAqD,OAAO,KAAKC,WAAL,IAAmB,MAAK,KAAKA,WAAL,KAAmB,KAAKD,mBAAL,GAAyB,CAAC,CAA7C,CAAL,CAA1B;AAAgF/2F,OAAC,GAAC+1F,EAAE,CAACrwH,CAAC,CAACswH,GAAH,EAAOvvH,CAAP,CAAJ,EAAc,KAAK8vH,eAAL,GAAqB,KAAKA,eAAL,CAAqB9pG,MAArB,CAA4BuT,CAA5B,CAAnC,EAAkE,KAAK82F,UAAL,KAAkBpxH,CAAC,CAACmxH,GAApB,KAA0B,KAAKG,WAAL,GAAiB,CAA3C,CAAlE,EAAgH,KAAKA,WAAL,EAAhH,EAAmI,KAAKF,UAAL,GAAgBpxH,CAAC,CAACmxH,GAArJ;AAAyJ;AAAC,GAA3d,EAA4dP,EAAE,CAAC72G,SAAH,CAAaw3G,cAAb,GAA4B,UAAS5qF,CAAT,EAAW;AAAC,SAAKmqF,UAAL,CAAgB/nH,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAAC,aAAM,YAAU2mC,CAAV,GAAY3mC,CAAC,CAACo6E,KAAF,EAAZ,GAAsBp6E,CAAC,CAAC0wH,YAAF,EAA5B;AAA6C,KAAjF,EAAkF,IAAlF;AAAwF,GAA5lB,EAA6lBE,EAAE,CAAC72G,SAAH,CAAay3G,WAAb,GAAyB,UAASxxH,CAAT,EAAW;AAAC,SAAK6wH,eAAL,CAAqB3tH,MAArB,KAA8B,KAAK2tH,eAAL,CAAqB9nH,OAArB,CAA6B,UAAS/I,CAAT,EAAW2mC,CAAX,EAAa;AAAC3mC,OAAC,CAACyxH,YAAF,GAAe9qF,CAAf;AAAiB,KAA5D,GAA8D,KAAKkqF,eAAL,CAAqBlnG,IAArB,CAA0B,UAAS3pB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO3mC,CAAC,CAACswH,GAAF,KAAQ3pF,CAAC,CAAC2pF,GAAV,GAActwH,CAAC,CAACyxH,YAAF,GAAe9qF,CAAC,CAAC8qF,YAA/B,GAA4CzxH,CAAC,CAACswH,GAAF,GAAM3pF,CAAC,CAAC2pF,GAA3D;AAA+D,KAAvG,CAA9D,EAAuK,KAAKO,eAAL,CAAqB9nH,OAArB,CAA6B,UAAS/I,CAAT,EAAW;AAACA,OAAC,CAACuQ,IAAF,GAAO,CAAP,IAAU,KAAKmhH,oBAAL,CAA0B1xH,CAA1B,CAAV;AAAuC,KAAhF,EAAiF,IAAjF,CAAvK,EAA8P,KAAK6wH,eAAL,CAAqB3tH,MAArB,GAA4B,CAAxT,GAA2T,KAAKquH,cAAL,CAAoBvxH,CAApB,CAA3T;AAAkV,GAAp9B,EAAq9B4wH,EAAE,CAAC72G,SAAH,CAAaqgE,KAAb,GAAmB,YAAU;AAAC,WAAO,KAAKo3C,WAAL,CAAiB,OAAjB,CAAP;AAAiC,GAAphC,EAAqhCZ,EAAE,CAAC72G,SAAH,CAAa22G,YAAb,GAA0B,YAAU;AAAC,WAAO,KAAKc,WAAL,CAAiB,cAAjB,CAAP;AAAwC,GAAlmC,EAAmmCZ,EAAE,CAAC72G,SAAH,CAAa8c,KAAb,GAAmB,YAAU;AAAC,SAAKu6F,UAAL,GAAgB,IAAhB,EAAqB,KAAKC,mBAAL,GAAyB,CAAC,CAA/C,EAAiD,KAAKC,WAAL,GAAiB,CAAlE,EAAoE,KAAKK,oBAAL,GAA0B,CAAC,IAAD,EAAM,IAAN,CAA9F,EAA0G,KAAKb,UAAL,CAAgB/nH,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAACA,OAAC,CAAC62B,KAAF;AAAU,KAA9C,CAA1G;AAA0J,GAA3xC,EAA4xC+5F,EAAE,CAAC72G,SAAH,CAAa23G,oBAAb,GAAkC,UAAS1xH,CAAT,EAAW;AAAC,SAAK4xH,mBAAL,CAAyB5xH,CAAzB,IAA4B,KAAK2xH,oBAAL,CAA0B3xH,CAAC,CAACuQ,IAA5B,IAAkC,IAA9D,GAAmE,KAAKshH,kBAAL,CAAwB7xH,CAAxB,IAA2B,KAAK2xH,oBAAL,CAA0B3xH,CAAC,CAACuQ,IAA5B,IAAkC,CAA7D,GAA+D,KAAKuhH,kBAAL,CAAwB9xH,CAAxB,MAA6B,KAAK2xH,oBAAL,CAA0B3xH,CAAC,CAACuQ,IAA5B,IAAkC,CAA/D,CAAlI,EAAoM,SAAO,KAAKohH,oBAAL,CAA0B3xH,CAAC,CAACuQ,IAA5B,CAAP,IAA0C,KAAKugH,UAAL,CAAgB,CAAC9wH,CAAC,CAACuQ,IAAF,IAAQ,CAAT,IAAY,KAAKohH,oBAAL,CAA0B3xH,CAAC,CAACuQ,IAA5B,CAA5B,EAA+DhN,IAA/D,CAAoEvD,CAApE,CAA9O;AAAqT,GAA/nD,EAAgoD4wH,EAAE,CAAC72G,SAAH,CAAa83G,kBAAb,GAAgC,UAAS7xH,CAAT,EAAW;AAAC,WAAO,SAAO,QAAMA,CAAC,CAACuwH,MAAf,CAAP;AAA8B,GAA1sD,EAA2sDK,EAAE,CAAC72G,SAAH,CAAa+3G,kBAAb,GAAgC,UAAS9xH,CAAT,EAAW;AAAC,WAAO,SAAO,QAAMA,CAAC,CAACuwH,MAAf,CAAP;AAA8B,GAArxD,EAAsxDK,EAAE,CAAC72G,SAAH,CAAa63G,mBAAb,GAAiC,UAAS5xH,CAAT,EAAW;AAAC,WAAO,QAAM,QAAMA,CAAC,CAACuwH,MAAd,KAAuB,SAAO,QAAMvwH,CAAC,CAACuwH,MAAf,CAAvB,IAA+C,SAAO,QAAMvwH,CAAC,CAACuwH,MAAf,CAAtD;AAA6E,GAAh5D;;AAAi5D,WAASwB,EAAT,CAAY/xH,CAAZ,EAAc;AAAC,WAAO,SAAOA,CAAP,GAAS,EAAT,IAAaA,CAAC,GAACgyH,EAAE,CAAChyH,CAAD,CAAF,IAAOA,CAAT,EAAWwuB,MAAM,CAACC,YAAP,CAAoBzuB,CAApB,CAAxB,CAAP;AAAuD;;AAAA,WAASiyH,EAAT,GAAa;AAAC,SAAI,IAAIjyH,CAAC,GAAC,EAAN,EAAS2mC,CAAC,GAAC,EAAf,EAAkBA,CAAC,EAAnB;AAAuB3mC,OAAC,CAACuD,IAAF,CAAO,EAAP;AAAvB;;AAAkC,WAAOvD,CAAP;AAAS;;AAAA,MAAIgyH,EAAE,GAAC;AAAC,QAAG,GAAJ;AAAQ,QAAG,GAAX;AAAe,QAAG,GAAlB;AAAsB,QAAG,GAAzB;AAA6B,QAAG,GAAhC;AAAoC,SAAI,GAAxC;AAA4C,SAAI,GAAhD;AAAoD,SAAI,GAAxD;AAA4D,SAAI,GAAhE;AAAoE,SAAI,IAAxE;AAA6E,SAAI,GAAjF;AAAqF,SAAI,GAAzF;AAA6F,SAAI,GAAjG;AAAqG,SAAI,GAAzG;AAA6G,SAAI,IAAjH;AAAsH,SAAI,GAA1H;AAA8H,SAAI,GAAlI;AAAsI,SAAI,IAA1I;AAA+I,SAAI,GAAnJ;AAAuJ,SAAI,GAA3J;AAA+J,SAAI,GAAnK;AAAuK,SAAI,GAA3K;AAA+K,SAAI,GAAnL;AAAuL,SAAI,GAA3L;AAA+L,SAAI,GAAnM;AAAuM,SAAI,GAA3M;AAA+M,SAAI,GAAnN;AAAuN,SAAI,GAA3N;AAA+N,SAAI,GAAnO;AAAuO,SAAI,GAA3O;AAA+O,SAAI,GAAnP;AAAuP,SAAI,GAA3P;AAA+P,SAAI,IAAnQ;AAAwQ,SAAI,GAA5Q;AAAgR,SAAI,EAApR;AAAuR,SAAI,EAA3R;AAA8R,SAAI,IAAlS;AAAuS,SAAI,GAA3S;AAA+S,SAAI,IAAnT;AAAwT,SAAI,IAA5T;AAAiU,SAAI,IAArU;AAA0U,SAAI,IAA9U;AAAmV,SAAI,GAAvV;AAA2V,SAAI,GAA/V;AAAmW,SAAI,GAAvW;AAA2W,SAAI,GAA/W;AAAmX,SAAI,GAAvX;AAA2X,SAAI,GAA/X;AAAmY,SAAI,GAAvY;AAA2Y,SAAI,GAA/Y;AAAmZ,SAAI,GAAvZ;AAA2Z,SAAI,GAA/Z;AAAma,SAAI,GAAva;AAA2a,SAAI,GAA/a;AAAmb,SAAI,GAAvb;AAA2b,SAAI,GAA/b;AAAmc,SAAI,GAAvc;AAA2c,SAAI,GAA/c;AAAmd,SAAI,GAAvd;AAA2d,SAAI,GAA/d;AAAme,SAAI,GAAve;AAA2e,SAAI,GAA/e;AAAmf,SAAI,GAAvf;AAA2f,SAAI,GAA/f;AAAmgB,SAAI,GAAvgB;AAA2gB,SAAI,GAA/gB;AAAmhB,SAAI,GAAvhB;AAA2hB,SAAI,GAA/hB;AAAmiB,SAAI,GAAviB;AAA2iB,SAAI,EAA/iB;AAAkjB,SAAI,EAAtjB;AAAyjB,SAAI,EAA7jB;AAAgkB,SAAI,GAApkB;AAAwkB,SAAI,GAA5kB;AAAglB,SAAI,GAAplB;AAAwlB,SAAI,GAA5lB;AAAgmB,SAAI,GAApmB;AAAwmB,SAAI,GAA5mB;AAAgnB,SAAI,GAApnB;AAAwnB,SAAI,GAA5nB;AAAgoB,SAAI,GAApoB;AAAwoB,SAAI,IAA5oB;AAAipB,SAAI,GAArpB;AAAypB,SAAI,GAA7pB;AAAiqB,SAAI,GAArqB;AAAyqB,SAAI,GAA7qB;AAAirB,SAAI,IAArrB;AAA0rB,SAAI,IAA9rB;AAAmsB,SAAI,IAAvsB;AAA4sB,SAAI;AAAhtB,GAAP;AAAA,MAA6tBE,EAAE,GAAC,CAAC,IAAD,EAAM,IAAN,EAAW,IAAX,EAAgB,IAAhB,EAAqB,IAArB,EAA0B,IAA1B,EAA+B,IAA/B,EAAoC,IAApC,EAAyC,IAAzC,EAA8C,IAA9C,EAAmD,IAAnD,EAAwD,IAAxD,EAA6D,IAA7D,EAAkE,IAAlE,EAAuE,IAAvE,CAAhuB;AAAA,MAA6yBnB,EAAE,GAAC,SAAS/wH,CAAT,CAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAACf,KAAC,CAAC+Z,SAAF,CAAYrY,IAAZ,CAAiBiE,IAAjB,CAAsB,IAAtB,GAA4B,KAAKwsH,MAAL,GAAYxrF,CAAC,IAAE,CAA3C,EAA6C,KAAKyrF,YAAL,GAAkBrxH,CAAC,IAAE,CAAlE,EAAoE,KAAK+nE,KAAL,GAAW,QAAM,KAAG,KAAKqpD,MAAL,IAAa,CAAb,GAAe,KAAKC,YAAvB,CAAN,CAA/E,EAA2H,KAAKC,YAAL,EAA3H,EAA+I,KAAKx7F,KAAL,EAA/I,EAA4J,KAAKtzB,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC,UAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR,EAAUwmC,CAAV,EAAYp8C,CAAZ;;AAAc,UAAG,CAACiiB,CAAC,GAAC,QAAM3mC,CAAC,CAACuwH,MAAX,MAAqB,KAAK+B,gBAA7B,EAA8C;AAAC,YAAG,SAAO,QAAM3rF,CAAb,IAAgB,KAAK2rF,gBAAL,GAAsB3rF,CAAtC,GAAwCA,CAAC,KAAG,KAAK4rF,QAAT,KAAoB,KAAKD,gBAAL,GAAsB,IAA1C,CAAxC,EAAwFh4F,CAAC,GAACqM,CAAC,KAAG,CAA9F,EAAgGm6B,CAAC,GAAC,MAAIn6B,CAAtG,EAAwGA,CAAC,KAAG,KAAK4rF,QAApH,EAA6H,IAAG5rF,CAAC,KAAG,KAAK6rF,uBAAZ,EAAoC,KAAKC,KAAL,GAAW,OAAX,CAApC,KAA4D,IAAG9rF,CAAC,KAAG,KAAK+rF,eAAZ,EAA4B,KAAKD,KAAL,GAAW,OAAX,EAAmB,KAAKE,eAAL,CAAqB3yH,CAAC,CAACswH,GAAvB,CAAnB,EAA+C,KAAKsC,cAAL,CAAoB5yH,CAAC,CAACswH,GAAtB,CAA/C,EAA0EvvH,CAAC,GAAC,KAAK8xH,UAAjF,EAA4F,KAAKA,UAAL,GAAgB,KAAKC,aAAjH,EAA+H,KAAKA,aAAL,GAAmB/xH,CAAlJ,EAAoJ,KAAKgyH,SAAL,GAAe/yH,CAAC,CAACswH,GAArK,CAA5B,KAA0M,IAAG3pF,CAAC,KAAG,KAAKqsF,eAAZ,EAA4B,KAAKC,WAAL,GAAiB,CAAjB,EAAmB,KAAKC,SAAL,CAAelzH,CAAC,CAACswH,GAAjB,CAAnB,CAA5B,KAA0E,IAAG3pF,CAAC,KAAG,KAAKwsF,eAAZ,EAA4B,KAAKF,WAAL,GAAiB,CAAjB,EAAmB,KAAKC,SAAL,CAAelzH,CAAC,CAACswH,GAAjB,CAAnB,CAA5B,KAA0E,IAAG3pF,CAAC,KAAG,KAAKysF,eAAZ,EAA4B,KAAKH,WAAL,GAAiB,CAAjB,EAAmB,KAAKC,SAAL,CAAelzH,CAAC,CAACswH,GAAjB,CAAnB,CAA5B,KAA0E,IAAG3pF,CAAC,KAAG,KAAK0sF,gBAAZ,EAA6B,KAAKV,eAAL,CAAqB3yH,CAAC,CAACswH,GAAvB,GAA4B,KAAKsC,cAAL,CAAoB5yH,CAAC,CAACswH,GAAtB,CAA5B,EAAuD,KAAKgD,YAAL,EAAvD,EAA2E,KAAKP,SAAL,GAAe/yH,CAAC,CAACswH,GAA5F,CAA7B,KAAkI,IAAG3pF,CAAC,KAAG,KAAK4sF,UAAZ,EAAuB,YAAU,KAAKd,KAAf,GAAqB,KAAKK,aAAL,CAAmB,KAAKU,IAAxB,IAA8B,KAAKV,aAAL,CAAmB,KAAKU,IAAxB,EAA8B74G,KAA9B,CAAoC,CAApC,EAAsC,CAAC,CAAvC,CAAnD,GAA6F,KAAKk4G,UAAL,CAAgB,KAAKW,IAArB,IAA2B,KAAKX,UAAL,CAAgB,KAAKW,IAArB,EAA2B74G,KAA3B,CAAiC,CAAjC,EAAmC,CAAC,CAApC,CAAxH,CAAvB,KAA2L,IAAGgsB,CAAC,KAAG,KAAK8sF,uBAAZ,EAAoC,KAAKb,cAAL,CAAoB5yH,CAAC,CAACswH,GAAtB,GAA2B,KAAKuC,UAAL,GAAgBZ,EAAE,EAA7C,CAApC,KAAyF,IAAGtrF,CAAC,KAAG,KAAK+sF,2BAAZ,EAAwC,KAAKZ,aAAL,GAAmBb,EAAE,EAArB,CAAxC,KAAqE,IAAGtrF,CAAC,KAAG,KAAKgtF,yBAAZ,EAAsC,cAAY,KAAKlB,KAAjB,KAAyB,KAAKG,cAAL,CAAoB5yH,CAAC,CAACswH,GAAtB,GAA2B,KAAKuC,UAAL,GAAgBZ,EAAE,EAAtE,GAA0E,KAAKQ,KAAL,GAAW,SAArF,EAA+F,KAAKM,SAAL,GAAe/yH,CAAC,CAACswH,GAAhH,CAAtC,KAA+J,IAAG,KAAKsD,kBAAL,CAAwBt5F,CAAxB,EAA0BwmC,CAA1B,CAAH,EAAgCp8C,CAAC,GAACqtG,EAAE,CAAC,CAACz3F,CAAC,GAAC,CAAC,IAAEA,CAAH,KAAO,CAAV,IAAawmC,CAAd,CAAJ,EAAqB,KAAK,KAAK2xD,KAAV,EAAiBzyH,CAAC,CAACswH,GAAnB,EAAuB5rG,CAAvB,CAArB,EAA+C,KAAKmvG,OAAL,EAA/C,CAAhC,KAAmG,IAAG,KAAKC,cAAL,CAAoBx5F,CAApB,EAAsBwmC,CAAtB,CAAH,EAA4B,YAAU,KAAK2xD,KAAf,GAAqB,KAAKK,aAAL,CAAmB,KAAKU,IAAxB,IAA8B,KAAKV,aAAL,CAAmB,KAAKU,IAAxB,EAA8B74G,KAA9B,CAAoC,CAApC,EAAsC,CAAC,CAAvC,CAAnD,GAA6F,KAAKk4G,UAAL,CAAgB,KAAKW,IAArB,IAA2B,KAAKX,UAAL,CAAgB,KAAKW,IAArB,EAA2B74G,KAA3B,CAAiC,CAAjC,EAAmC,CAAC,CAApC,CAAxH,EAA+J+J,CAAC,GAACqtG,EAAE,CAAC,CAACz3F,CAAC,GAAC,CAAC,IAAEA,CAAH,KAAO,CAAV,IAAawmC,CAAd,CAAnK,EAAoL,KAAK,KAAK2xD,KAAV,EAAiBzyH,CAAC,CAACswH,GAAnB,EAAuB5rG,CAAvB,CAApL,EAA8M,KAAKmvG,OAAL,EAA9M,CAA5B,KAA8P,IAAG,KAAKE,YAAL,CAAkBz5F,CAAlB,EAAoBwmC,CAApB,CAAH,EAA0B,KAAK6xD,eAAL,CAAqB3yH,CAAC,CAACswH,GAAvB,GAA4B,KAAK,KAAKmC,KAAV,EAAiBzyH,CAAC,CAACswH,GAAnB,EAAuB,GAAvB,CAA5B,EAAwD,KAAKuD,OAAL,EAAxD,EAAuE,OAAK,KAAG/yD,CAAR,KAAY,KAAKkzD,aAAL,CAAmBh0H,CAAC,CAACswH,GAArB,EAAyB,CAAC,GAAD,CAAzB,CAAnF,EAAmH,MAAI,IAAExvD,CAAN,KAAU,KAAKkzD,aAAL,CAAmBh0H,CAAC,CAACswH,GAArB,EAAyB,CAAC,GAAD,CAAzB,CAA7H,CAA1B,KAA4L,IAAG,KAAK2D,mBAAL,CAAyB35F,CAAzB,EAA2BwmC,CAA3B,CAAH,EAAiC,KAAK+yD,OAAL,IAAc,IAAE/yD,CAAhB,CAAjC,KAAwD,IAAG,KAAKozD,KAAL,CAAW55F,CAAX,EAAawmC,CAAb,CAAH,EAAmB;AAAC,cAAI1lD,CAAC,GAAC82G,EAAE,CAAC/wH,OAAH,CAAW,OAAKwlC,CAAhB,CAAN;AAAyB,uBAAW,KAAK8rF,KAAhB,KAAwBr3G,CAAC,GAAC,KAAK63G,WAAP,GAAmB,CAAnB,GAAqB,CAArB,KAAyB73G,CAAC,GAAC,KAAK63G,WAAL,GAAiB,CAA5C,GAA+C,KAAKC,SAAL,CAAelzH,CAAC,CAACswH,GAAjB,EAAqBl1G,CAArB,CAAvE,GAAgGA,CAAC,KAAG,KAAKo4G,IAAT,KAAgB,KAAKb,eAAL,CAAqB3yH,CAAC,CAACswH,GAAvB,GAA4B,KAAKkD,IAAL,GAAUp4G,CAAtD,CAAhG,EAAyJ,IAAE0lD,CAAF,IAAK,CAAC,CAAD,KAAK,KAAKqzD,WAAL,CAAiBhzH,OAAjB,CAAyB,GAAzB,CAAV,IAAyC,KAAK6yH,aAAL,CAAmBh0H,CAAC,CAACswH,GAArB,EAAyB,CAAC,GAAD,CAAzB,CAAlM,EAAkO,OAAK,KAAG3pF,CAAR,MAAa,KAAKktF,OAAL,GAAa,KAAG,CAAC,KAAGltF,CAAJ,KAAQ,CAAX,CAA1B,CAAlO,EAA2Q,KAAKytF,UAAL,CAAgBtzD,CAAhB,KAAoB,OAAK,KAAGA,CAAR,CAApB,IAAgC,KAAKkzD,aAAL,CAAmBh0H,CAAC,CAACswH,GAArB,EAAyB,CAAC,GAAD,CAAzB,CAA3S;AAA2U,SAAxX,MAA6X,KAAK+D,YAAL,CAAkB/5F,CAAlB,MAAuB,MAAIwmC,CAAJ,KAAQA,CAAC,GAAC,IAAV,GAAgBp8C,CAAC,GAACqtG,EAAE,CAACz3F,CAAD,CAApB,EAAwB5V,CAAC,IAAEqtG,EAAE,CAACjxD,CAAD,CAA7B,EAAiC,KAAK,KAAK2xD,KAAV,EAAiBzyH,CAAC,CAACswH,GAAnB,EAAuB5rG,CAAvB,CAAjC,EAA2D,KAAKmvG,OAAL,IAAcnvG,CAAC,CAACxhB,MAAlG;AAA0G,OAAt0E,MAA20E,KAAKovH,gBAAL,GAAsB,IAAtB;AAA2B,KAAtiF;AAAuiF,GAAv2G;;AAAw2GvB,IAAE,CAACh3G,SAAH,GAAa,IAAIi3G,EAAJ,EAAb,EAAoBD,EAAE,CAACh3G,SAAH,CAAa64G,cAAb,GAA4B,UAAS5yH,CAAT,EAAW;AAAC,QAAI2mC,CAAC,GAAC,KAAKksF,UAAL,CAAgB5pG,GAAhB,CAAoB,UAASjpB,CAAT,EAAW;AAAC,UAAG;AAAC,eAAOA,CAAC,CAAC6jD,IAAF,EAAP;AAAgB,OAApB,CAAoB,OAAM7jD,CAAN,EAAQ;AAAC,eAAM,EAAN;AAAS;AAAC,KAAvE,EAAyEmwB,IAAzE,CAA8E,IAA9E,EAAoF9rB,OAApF,CAA4F,YAA5F,EAAyG,EAAzG,CAAN;AAAmHsiC,KAAC,CAACzjC,MAAF,IAAU,KAAKqC,OAAL,CAAa,MAAb,EAAoB;AAAC+uH,cAAQ,EAAC,KAAKvB,SAAf;AAAyBwB,YAAM,EAACv0H,CAAhC;AAAkCgoB,UAAI,EAAC2e,CAAvC;AAAyCg7C,YAAM,EAAC,KAAK7Y;AAArD,KAApB,CAAV;AAA2F,GAA1Q,EAA2QioD,EAAE,CAACh3G,SAAH,CAAa8c,KAAb,GAAmB,YAAU;AAAC,SAAK47F,KAAL,GAAW,OAAX,EAAmB,KAAK+B,OAAL,GAAa,CAAhC,EAAkC,KAAKzB,SAAL,GAAe,CAAjD,EAAmD,KAAKF,UAAL,GAAgBZ,EAAE,EAArE,EAAwE,KAAKa,aAAL,GAAmBb,EAAE,EAA7F,EAAgG,KAAKK,gBAAL,GAAsB,IAAtH,EAA2H,KAAKuB,OAAL,GAAa,CAAxI,EAA0I,KAAKL,IAAL,GAAU,EAApJ,EAAuJ,KAAKP,WAAL,GAAiB,CAAxK,EAA0K,KAAKkB,WAAL,GAAiB,EAA3L;AAA8L,GAAve,EAAwepD,EAAE,CAACh3G,SAAH,CAAas4G,YAAb,GAA0B,YAAU;AAAC,UAAI,KAAKD,YAAT,IAAuB,KAAKqC,KAAL,GAAW,EAAX,EAAc,KAAKC,IAAL,GAAU,EAAxB,EAA2B,KAAKC,QAAL,GAAc,CAAC,KAAG,KAAKxC,MAAT,KAAkB,CAA3D,EAA6D,KAAKyC,OAAL,GAAa,EAAjG,IAAqG,MAAI,KAAKxC,YAAT,KAAwB,KAAKqC,KAAL,GAAW,EAAX,EAAc,KAAKC,IAAL,GAAU,EAAxB,EAA2B,KAAKC,QAAL,GAAc,CAAC,KAAG,KAAKxC,MAAT,KAAkB,CAA3D,EAA6D,KAAKyC,OAAL,GAAa,EAAlG,CAArG,EAA2M,KAAKrC,QAAL,GAAc,CAAzN,EAA2N,KAAKC,uBAAL,GAA6B,KAAG,KAAKmC,QAAhQ,EAAyQ,KAAKjC,eAAL,GAAqB,KAAG,KAAKiC,QAAtS,EAA+S,KAAK3B,eAAL,GAAqB,KAAG,KAAK2B,QAA5U,EAAqV,KAAKxB,eAAL,GAAqB,KAAG,KAAKwB,QAAlX,EAA2X,KAAKvB,eAAL,GAAqB,KAAG,KAAKuB,QAAxZ,EAAia,KAAKtB,gBAAL,GAAsB,KAAG,KAAKsB,QAA/b,EAAwc,KAAKhB,yBAAL,GAA+B,KAAG,KAAKgB,QAA/e,EAAwf,KAAKpB,UAAL,GAAgB,KAAG,KAAKoB,QAAhhB,EAAyhB,KAAKlB,uBAAL,GAA6B,KAAG,KAAKkB,QAA9jB,EAAukB,KAAKjB,2BAAL,GAAiC,KAAG,KAAKiB,QAAhnB;AAAynB,GAAtoC,EAAuoC5D,EAAE,CAACh3G,SAAH,CAAa65G,kBAAb,GAAgC,UAAS5zH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAO3mC,CAAC,KAAG,KAAK00H,IAAT,IAAe,MAAI/tF,CAAnB,IAAsBA,CAAC,IAAE,EAAhC;AAAmC,GAAxtC,EAAytCoqF,EAAE,CAACh3G,SAAH,CAAa+5G,cAAb,GAA4B,UAAS9zH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAM,CAAC3mC,CAAC,KAAG,KAAK00H,IAAL,GAAU,CAAd,IAAiB10H,CAAC,KAAG,KAAK00H,IAAL,GAAU,CAAhC,KAAoC,MAAI/tF,CAAxC,IAA2CA,CAAC,IAAE,EAApD;AAAuD,GAA1zC,EAA2zCoqF,EAAE,CAACh3G,SAAH,CAAag6G,YAAb,GAA0B,UAAS/zH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAO3mC,CAAC,KAAG,KAAK00H,IAAT,IAAe,MAAI/tF,CAAnB,IAAsBA,CAAC,IAAE,EAAhC;AAAmC,GAAt4C,EAAu4CoqF,EAAE,CAACh3G,SAAH,CAAak6G,mBAAb,GAAiC,UAASj0H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAO3mC,CAAC,KAAG,KAAK40H,OAAT,IAAkB,MAAIjuF,CAAtB,IAAyBA,CAAC,IAAE,EAAnC;AAAsC,GAA59C,EAA69CoqF,EAAE,CAACh3G,SAAH,CAAam6G,KAAb,GAAmB,UAASl0H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAO3mC,CAAC,IAAE,KAAKy0H,KAAR,IAAez0H,CAAC,GAAC,KAAKy0H,KAAL,GAAW,CAA5B,IAA+B,MAAI9tF,CAAnC,IAAsCA,CAAC,IAAE,GAAhD;AAAoD,GAAljD,EAAmjDoqF,EAAE,CAACh3G,SAAH,CAAaq6G,UAAb,GAAwB,UAASp0H,CAAT,EAAW;AAAC,WAAO,MAAIA,CAAJ,IAAOA,CAAC,IAAE,EAAV,IAAc,MAAIA,CAAJ,IAAOA,CAAC,IAAE,GAA/B;AAAmC,GAA1nD,EAA2nD+wH,EAAE,CAACh3G,SAAH,CAAas6G,YAAb,GAA0B,UAASr0H,CAAT,EAAW;AAAC,WAAO,MAAIA,CAAJ,IAAOA,CAAC,IAAE,GAAjB;AAAqB,GAAtrD,EAAurD+wH,EAAE,CAACh3G,SAAH,CAAam5G,SAAb,GAAuB,UAASlzH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAG,aAAW,KAAK8rF,KAAhB,KAAwB,KAAKe,IAAL,GAAU,EAAV,EAAa,KAAKf,KAAL,GAAW,QAAxB,EAAiC,KAAKG,cAAL,CAAoB5yH,CAApB,CAAjC,EAAwD,KAAK8yH,aAAL,GAAmBb,EAAE,EAA7E,EAAgF,KAAKY,UAAL,GAAgBZ,EAAE,EAA1H,GAA8H,KAAK,CAAL,KAAStrF,CAAT,IAAYA,CAAC,KAAG,KAAK6sF,IAAtJ,EAA2J,KAAI,IAAIzyH,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAKkyH,WAAnB,EAA+BlyH,CAAC,EAAhC;AAAmC,WAAK8xH,UAAL,CAAgBlsF,CAAC,GAAC5lC,CAAlB,IAAqB,KAAK8xH,UAAL,CAAgB,KAAKW,IAAL,GAAUzyH,CAA1B,CAArB,EAAkD,KAAK8xH,UAAL,CAAgB,KAAKW,IAAL,GAAUzyH,CAA1B,IAA6B,EAA/E;AAAnC;AAAqH,SAAK,CAAL,KAAS4lC,CAAT,KAAaA,CAAC,GAAC,KAAK6sF,IAApB,GAA0B,KAAKgB,OAAL,GAAa7tF,CAAC,GAAC,KAAKssF,WAAP,GAAmB,CAA1D;AAA4D,GAAxiE,EAAyiElC,EAAE,CAACh3G,SAAH,CAAai6G,aAAb,GAA2B,UAASh0H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,SAAKwtF,WAAL,GAAiB,KAAKA,WAAL,CAAiBptG,MAAjB,CAAwB4f,CAAxB,CAAjB;AAA4C,QAAI5lC,CAAC,GAAC4lC,CAAC,CAAC4jC,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO3mC,CAAC,GAAC,GAAF,GAAM2mC,CAAN,GAAQ,GAAf;AAAmB,KAA1C,EAA2C,EAA3C,CAAN;AAAqD,SAAK,KAAK8rF,KAAV,EAAiBzyH,CAAjB,EAAmBe,CAAnB;AAAsB,GAAzsE,EAA0sEgwH,EAAE,CAACh3G,SAAH,CAAa44G,eAAb,GAA6B,UAAS3yH,CAAT,EAAW;AAAC,QAAG,KAAKm0H,WAAL,CAAiBjxH,MAApB,EAA2B;AAAC,UAAIyjC,CAAC,GAAC,KAAKwtF,WAAL,CAAiBp4F,OAAjB,GAA2BwuC,MAA3B,CAAkC,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO3mC,CAAC,GAAC,IAAF,GAAO2mC,CAAP,GAAS,GAAhB;AAAoB,OAApE,EAAqE,EAArE,CAAN;AAA+E,WAAKwtF,WAAL,GAAiB,EAAjB,EAAoB,KAAK,KAAK1B,KAAV,EAAiBzyH,CAAjB,EAAmB2mC,CAAnB,CAApB;AAA0C;AAAC,GAAz4E,EAA04EoqF,EAAE,CAACh3G,SAAH,CAAa86G,KAAb,GAAmB,UAAS70H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAC,GAAC,KAAK+xH,aAAL,CAAmB,KAAKU,IAAxB,CAAN;AAAoCzyH,KAAC,IAAE4lC,CAAH,EAAK,KAAKmsF,aAAL,CAAmB,KAAKU,IAAxB,IAA8BzyH,CAAnC;AAAqC,GAAp/E,EAAq/EgwH,EAAE,CAACh3G,SAAH,CAAa+6G,MAAb,GAAoB,UAAS90H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAC,GAAC,KAAK8xH,UAAL,CAAgB,KAAKW,IAArB,CAAN;AAAiCzyH,KAAC,IAAE4lC,CAAH,EAAK,KAAKksF,UAAL,CAAgB,KAAKW,IAArB,IAA2BzyH,CAAhC;AAAkC,GAA1lF,EAA2lFgwH,EAAE,CAACh3G,SAAH,CAAau5G,YAAb,GAA0B,YAAU;AAAC,QAAItzH,CAAJ;;AAAM,SAAIA,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,KAAKw0H,OAAf,EAAuBx0H,CAAC,EAAxB;AAA2B,WAAK6yH,UAAL,CAAgB7yH,CAAhB,IAAmB,EAAnB;AAA3B;;AAAiD,SAAIA,CAAC,GAAC,KAAKwzH,IAAL,GAAU,CAAhB,EAAkBxzH,CAAC,GAAC,EAApB,EAAuBA,CAAC,EAAxB;AAA2B,WAAK6yH,UAAL,CAAgB7yH,CAAhB,IAAmB,EAAnB;AAA3B;;AAAiD,SAAIA,CAAC,GAAC,KAAKw0H,OAAX,EAAmBx0H,CAAC,GAAC,KAAKwzH,IAA1B,EAA+BxzH,CAAC,EAAhC;AAAmC,WAAK6yH,UAAL,CAAgB7yH,CAAhB,IAAmB,KAAK6yH,UAAL,CAAgB7yH,CAAC,GAAC,CAAlB,CAAnB;AAAnC;;AAA2E,SAAK6yH,UAAL,CAAgB,KAAKW,IAArB,IAA2B,EAA3B;AAA8B,GAAj1F,EAAk1FzC,EAAE,CAACh3G,SAAH,CAAag7G,OAAb,GAAqB,UAAS/0H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAC,GAAC,KAAK8xH,UAAL,CAAgB,KAAKW,IAArB,CAAN;AAAiCzyH,KAAC,IAAE4lC,CAAH,EAAK,KAAKksF,UAAL,CAAgB,KAAKW,IAArB,IAA2BzyH,CAAhC;AAAkC,GAAx7F;;AAAy7F,WAASi0H,EAAT,CAAYh1H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAC,GAACf,CAAN,EAAQs6B,CAAC,GAAC,CAAd,EAAgBA,CAAC,GAACqM,CAAC,CAACzjC,MAApB,EAA2Bo3B,CAAC,EAA5B,EAA+B;AAAC,UAAIwmC,CAAC,GAACn6B,CAAC,CAACrM,CAAD,CAAP;AAAW,UAAGv5B,CAAC,GAAC+/D,CAAC,CAAC76C,IAAP,EAAY,OAAO66C,CAAP;AAAS//D,OAAC,IAAE+/D,CAAC,CAAC76C,IAAL;AAAU;;AAAA,WAAO,IAAP;AAAY;;AAAA,WAASgvG,EAAT,CAAYj1H,CAAZ,EAAcwhE,CAAd,EAAgB;AAAC,QAAIlnC,CAAC,GAACu1F,EAAE,CAACX,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,EAAQ,MAAR,CAAb,CAAN;AAAA,QAAoC2mC,CAAC,GAACkpF,EAAE,CAACX,OAAH,CAAWlvH,CAAX,EAAa,CAAC,MAAD,CAAb,CAAtC;AAAA,QAA6DygE,CAAC,GAAC,EAA/D;AAAA,QAAkEK,CAAC,GAAC,EAApE;AAAuE,WAAOn6B,CAAC,CAAC59B,OAAF,CAAU,UAAS/I,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAACu5B,CAAC,CAACqM,CAAD,CAAP;AAAWm6B,OAAC,CAACv9D,IAAF,CAAO;AAACumH,YAAI,EAAC9pH,CAAN;AAAQ4tH,YAAI,EAAC7sH;AAAb,OAAP;AAAwB,KAA3D,GAA6D+/D,CAAC,CAAC/3D,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAC,GAACf,CAAC,CAAC8pH,IAAV;AAAA,UAAexvF,CAAC,GAACt6B,CAAC,CAAC4tH,IAAnB;AAAA,UAAwB9sD,CAAC,GAAC+uD,EAAE,CAACX,OAAH,CAAW50F,CAAX,EAAa,CAAC,MAAD,CAAb,CAA1B;AAAA,UAAiD5V,CAAC,GAACoqG,EAAE,CAACQ,SAAH,CAAaxuD,CAAC,CAAC,CAAD,CAAd,CAAnD;AAAA,UAAsE1lD,CAAC,GAACsJ,CAAC,CAACwoG,OAA1E;AAAA,UAAkFvsD,CAAC,GAACkvD,EAAE,CAACX,OAAH,CAAW50F,CAAX,EAAa,CAAC,MAAD,CAAb,CAApF;AAAA,UAA2GsmC,CAAC,GAAC,IAAED,CAAC,CAACz9D,MAAJ,GAAW4rH,EAAE,CAACM,SAAH,CAAazuD,CAAC,CAAC,CAAD,CAAd,EAAmBosD,mBAA9B,GAAkD,CAA/J;AAAA,UAAiK3xF,CAAC,GAACy0F,EAAE,CAACX,OAAH,CAAW50F,CAAX,EAAa,CAAC,MAAD,CAAb,CAAnK;AAA0LknC,OAAC,KAAGpmD,CAAJ,IAAO,IAAEggB,CAAC,CAACl4B,MAAX,KAAoByjC,CAAC,GAAC,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAIu5B,CAAJ;AAAA,YAAMwmC,CAAN;AAAA,YAAQp8C,CAAR;AAAA,YAAUtJ,CAAV;AAAA,YAAYulD,CAAC,GAAC,IAAIsmD,QAAJ,CAAajnH,CAAC,CAAC2L,MAAf,EAAsB3L,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAd;AAAA,YAA+DvmD,CAAC,GAAC,EAAjE;;AAAoE,aAAIE,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,CAAF,GAAI9gE,CAAC,CAACkD,MAAd,EAAqB49D,CAAC,IAAEp8C,CAAxB;AAA0B,cAAGA,CAAC,GAACi8C,CAAC,CAACynD,SAAF,CAAYtnD,CAAZ,CAAF,EAAiBA,CAAC,IAAE,CAApB,EAAsB,EAAEp8C,CAAC,IAAE,CAAL,CAAzB,EAAiC,QAAO,KAAG1kB,CAAC,CAAC8gE,CAAD,CAAX;AAAgB,iBAAK,CAAL;AAAO,kBAAI1lC,CAAC,GAACp7B,CAAC,CAACynH,QAAF,CAAW3mD,CAAC,GAAC,CAAb,EAAeA,CAAC,GAAC,CAAF,GAAIp8C,CAAnB,CAAN;AAAA,kBAA4B88C,CAAC,GAACwzD,EAAE,CAACl0D,CAAD,EAAGn6B,CAAH,CAAhC;AAAsCrM,eAAC,GAAC;AAAC22F,2BAAW,EAAC,UAAb;AAAwBhrG,oBAAI,EAACvB,CAA7B;AAA+BlkB,oBAAI,EAAC46B,CAApC;AAAsC81F,2BAAW,EAACgE,EAAE,CAAC95F,CAAD,CAApD;AAAwD8xF,uBAAO,EAACnsH;AAAhE,eAAF,EAAqEygE,CAAC,IAAElnC,CAAC,CAACg2F,GAAF,GAAM9uD,CAAC,CAAC8uD,GAAR,EAAYh2F,CAAC,CAAC62F,GAAF,GAAM3vD,CAAC,CAAC2vD,GAApB,EAAwB/1G,CAAC,GAAComD,CAA5B,KAAgClnC,CAAC,CAACg2F,GAAF,GAAMl1G,CAAC,CAACk1G,GAAR,EAAYh2F,CAAC,CAAC62F,GAAF,GAAM/1G,CAAC,CAAC+1G,GAApD,CAAtE,EAA+HvwD,CAAC,CAACr9D,IAAF,CAAO+2B,CAAP,CAA/H;AAA7D;AAA3D;;AAAiQ,eAAOsmC,CAAP;AAAS,OAA9V,CAA+V7/D,CAA/V,EAAiW,UAASf,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAIu5B,CAAC,GAACqM,CAAN;AAAA,YAAQm6B,CAAC,GAAC//D,CAAC,CAACqsH,qBAAF,IAAyB,CAAnC;AAAA,YAAqC1oG,CAAC,GAAC3jB,CAAC,CAACssH,iBAAF,IAAqB,CAA5D;AAAA,YAA8DjyG,CAAC,GAACra,CAAC,CAACmsH,OAAlE;AAAA,YAA0EvsD,CAAC,GAAC,EAA5E;AAA+E,eAAO3gE,CAAC,CAAC+I,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAACmoF,EAAE,CAACS,SAAH,CAAavvH,CAAb,EAAgBorH,OAAtB;AAA8BzkF,WAAC,CAAC59B,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,iBAAK,CAAL,KAASA,CAAC,CAACsf,QAAX,KAAsBtf,CAAC,CAACsf,QAAF,GAAWwhD,CAAjC,GAAoC,KAAK,CAAL,KAAS9gE,CAAC,CAACimB,IAAX,KAAkBjmB,CAAC,CAACimB,IAAF,GAAOvB,CAAzB,CAApC,EAAgE1kB,CAAC,CAACktH,OAAF,GAAU9xG,CAA1E,EAA4Epb,CAAC,CAACmxH,GAAF,GAAM72F,CAAlF,EAAoF,KAAK,CAAL,KAASt6B,CAAC,CAACyuH,qBAAX,KAAmCzuH,CAAC,CAACyuH,qBAAF,GAAwB,CAA3D,CAApF,EAAkJzuH,CAAC,CAACswH,GAAF,GAAMh2F,CAAC,GAACt6B,CAAC,CAACyuH,qBAA5J,EAAkLn0F,CAAC,IAAEt6B,CAAC,CAACsf,QAAvL;AAAgM,WAAtN,GAAwNqhD,CAAC,GAACA,CAAC,CAAC55C,MAAF,CAAS4f,CAAT,CAA1N;AAAsO,SAA1R,GAA4Rg6B,CAAnS;AAAqS,OAApY,CAAqYvlC,CAArY,EAAuYwlC,CAAvY,EAAyYl8C,CAAzY,CAAjW,EAA6uBtJ,CAA7uB,CAAF,EAAkvBqlD,CAAC,CAACrlD,CAAD,CAAD,KAAOqlD,CAAC,CAACrlD,CAAD,CAAD,GAAK,EAAZ,CAAlvB,EAAkwBqlD,CAAC,CAACrlD,CAAD,CAAD,GAAKqlD,CAAC,CAACrlD,CAAD,CAAD,CAAK2L,MAAL,CAAY4f,CAAZ,CAA3xB;AAA2yB,KAA3/B,CAA7D,EAA0jC85B,CAAjkC;AAAmkC;;AAAA,WAAS00D,EAAT,CAAYn1H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAAC,CAAN;;AAAQ,SAAI4lC,CAAC,GAAC3mC,CAAF,KAAMe,CAAC,GAAC,CAAC,CAAT,CAAJ,EAAgB,aAAW4f,IAAI,CAACkmC,GAAL,CAASlgB,CAAC,GAAC3mC,CAAX,CAA3B;AAA0CA,OAAC,IAAE,aAAWe,CAAd;AAA1C;;AAA0D,WAAOf,CAAP;AAAS;;AAAA,MAAIk1H,EAAE,GAAC1E,EAAP;AAAA,MAAU4E,EAAE,GAACxE,EAAb;AAAA,MAAgByE,EAAE,GAAC,SAAHA,EAAG,GAAU;AAAC,QAAI1uF,CAAJ;AAAA,QAAMjiB,CAAN;AAAA,QAAQtJ,CAAR;AAAA,QAAUulD,CAAV;AAAA,QAAYC,CAAZ;AAAA,QAAc7/D,CAAd;AAAA,QAAgBu5B,CAAC,GAAC,CAAC,CAAnB;AAAqB,SAAKg7F,aAAL,GAAmB,YAAU;AAAC,aAAOh7F,CAAP;AAAS,KAAvC,EAAwC,KAAK54B,IAAL,GAAU,UAAS1B,CAAT,EAAW;AAAC2mC,OAAC,GAAC,IAAIyuF,EAAJ,EAAF,EAAS96F,CAAC,GAAC,CAAC,CAAZ,EAAcv5B,CAAC,GAAC,CAAC,CAACf,CAAF,IAAKA,CAAC,CAACu1H,SAAvB,EAAiC5uF,CAAC,CAACtkC,EAAF,CAAK,MAAL,EAAY,UAASrC,CAAT,EAAW;AAACA,SAAC,CAACq1C,SAAF,GAAYr1C,CAAC,CAACs0H,QAAF,GAAW3zD,CAAvB,EAAyB3gE,CAAC,CAACswE,OAAF,GAAUtwE,CAAC,CAACu0H,MAAF,GAAS5zD,CAA5C,EAA8CC,CAAC,CAACuW,QAAF,CAAW5zE,IAAX,CAAgBvD,CAAhB,CAA9C,EAAiE4gE,CAAC,CAAC40D,cAAF,CAAiBx1H,CAAC,CAAC2hF,MAAnB,IAA2B,CAAC,CAA7F;AAA+F,OAAvH,CAAjC;AAA0J,KAAxN,EAAyN,KAAK8zC,SAAL,GAAe,UAASz1H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAM,EAAE3mC,CAAC,IAAE,MAAIA,CAAC,CAACkD,MAAT,IAAiByjC,CAAC,IAAE,oBAAiBA,CAAjB,CAAH,IAAuB,MAAIngC,MAAM,CAAC8pB,IAAP,CAAYqW,CAAZ,EAAezjC,MAA7D,MAAuEkY,CAAC,KAAGpb,CAAC,CAAC,CAAD,CAAL,IAAU2gE,CAAC,KAAGh6B,CAAC,CAACvrB,CAAD,CAAtF,CAAN;AAAiG,KAAvV,EAAwV,KAAKrM,KAAL,GAAW,UAAS/O,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAJ;AAAM,UAAG,CAAC,KAAKg7F,aAAL,EAAJ,EAAyB,OAAO,IAAP;AAAY,UAAG,CAAC3uF,CAAD,IAAI,CAAC5lC,CAAR,EAAU,OAAO,IAAP;AAAY,UAAG,KAAK00H,SAAL,CAAe9uF,CAAf,EAAiB5lC,CAAjB,CAAH,EAAuBqa,CAAC,GAACurB,CAAC,CAAC,CAAD,CAAH,EAAOg6B,CAAC,GAAC5/D,CAAC,CAACqa,CAAD,CAAV,CAAvB,KAA0C,IAAG,SAAOA,CAAP,IAAU,CAACulD,CAAd,EAAgB,OAAOj8C,CAAC,CAACnhB,IAAF,CAAOvD,CAAP,GAAU,IAAjB;;AAAsB,aAAK,IAAE0kB,CAAC,CAACxhB,MAAT,GAAiB;AAAC,YAAI49D,CAAC,GAACp8C,CAAC,CAAC8L,KAAF,EAAN;AAAgB,aAAKzhB,KAAL,CAAW+xD,CAAX,EAAan6B,CAAb,EAAe5lC,CAAf;AAAkB;;AAAA,aAAO,UAAQu5B,CAAC,GAAC,UAASt6B,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,eAAO,SAAO4lC,CAAP,GAAS,IAAT,GAAc;AAAC+uF,iBAAO,EAACT,EAAE,CAACj1H,CAAD,EAAG2mC,CAAH,CAAF,CAAQA,CAAR,CAAT;AAAoBi6E,mBAAS,EAAC7/G;AAA9B,SAArB;AAAsD,OAAtE,CAAuEf,CAAvE,EAAyEob,CAAzE,EAA2EulD,CAA3E,CAAV,KAA0FrmC,CAAC,CAACo7F,OAA5F,IAAqG,KAAKC,QAAL,CAAcr7F,CAAC,CAACo7F,OAAhB,GAAyB,KAAKlE,WAAL,EAAzB,EAA4C5wD,CAAjJ,IAAoJ,IAA3J;AAAgK,KAAxtB,EAAytB,KAAK+0D,QAAL,GAAc,UAAS31H,CAAT,EAAW;AAAC,UAAG,CAAC,KAAKs1H,aAAL,EAAD,IAAuB,CAACt1H,CAAxB,IAA2B,MAAIA,CAAC,CAACkD,MAApC,EAA2C,OAAO,IAAP;AAAYlD,OAAC,CAAC+I,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC2mC,SAAC,CAACpjC,IAAF,CAAOvD,CAAP;AAAU,OAAhC;AAAkC,KAA50B,EAA60B,KAAKwxH,WAAL,GAAiB,YAAU;AAAC,UAAG,CAAC,KAAK8D,aAAL,EAAJ,EAAyB,OAAO,IAAP;AAAYv0H,OAAC,GAAC4lC,CAAC,CAAC+pF,YAAF,EAAD,GAAkB/pF,CAAC,CAACyzC,KAAF,EAAnB;AAA6B,KAA36B,EAA46B,KAAKw7C,mBAAL,GAAyB,YAAU;AAACh1D,OAAC,CAACuW,QAAF,GAAW,EAAX,EAAcvW,CAAC,CAAC40D,cAAF,GAAiB,EAA/B;AAAkC,KAAl/B,EAAm/B,KAAKK,kBAAL,GAAwB,YAAU;AAAC,UAAG,CAAC,KAAKP,aAAL,EAAJ,EAAyB,OAAO,IAAP;AAAY3uF,OAAC,CAAC9P,KAAF;AAAU,KAArkC,EAAskC,KAAKi/F,gBAAL,GAAsB,YAAU;AAAC,WAAKF,mBAAL,IAA2B,KAAKC,kBAAL,EAA3B;AAAqD,KAA5pC,EAA6pC,KAAKh/F,KAAL,GAAW,YAAU;AAACnS,OAAC,GAAC,EAAF,EAAKi8C,CAAC,GAACvlD,CAAC,GAAC,IAAT,EAAcwlD,CAAC,GAAC,KAAKg1D,mBAAL,EAAD,GAA4Bh1D,CAAC,GAAC;AAACuW,gBAAQ,EAAC,EAAV;AAAaq+C,sBAAc,EAAC;AAA5B,OAA7C,EAA6E,KAAKK,kBAAL,EAA7E;AAAuG,KAA1xC,EAA2xC,KAAKh/F,KAAL,EAA3xC;AAAwyC,GAA31C;AAAA,MAA41Ck/F,EAAE,GAAC,EAA/1C;AAAA,MAAk2CC,EAAE,GAAC,EAAr2C;AAAA,MAAw2CC,EAAE,GAAC,EAA32C;;AAA82C,MAAIjF,EAAJ;;AAAO,WAASkF,EAAT,CAAYl2H,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC,KAAG3mC,CAAC,CAAC,CAAD,CAAV;AAAc,WAAO2mC,CAAC,KAAG,CAAJ,EAAMA,CAAC,IAAE3mC,CAAC,CAAC,CAAD,CAAjB;AAAqB;;AAAA,WAASm2H,EAAT,CAAYn2H,CAAZ,EAAc;AAAC,WAAM,CAAC,EAAE,KAAGA,CAAC,CAAC,CAAD,CAAN,CAAP;AAAkB;;AAAA,WAASo2H,EAAT,CAAYp2H,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC,CAAN;AAAQ,WAAO,IAAE,CAAC,KAAG3mC,CAAC,CAAC,CAAD,CAAL,MAAY,CAAd,KAAkB2mC,CAAC,IAAE3mC,CAAC,CAAC,CAAD,CAAD,GAAK,CAA1B,GAA6B2mC,CAApC;AAAsC;;AAAA,WAAS0vF,EAAT,CAAYr2H,CAAZ,EAAc;AAAC,YAAOA,CAAP;AAAU,WAAK,CAAL;AAAO,eAAM,2CAAN;;AAAkD,WAAK,CAAL;AAAO,eAAM,UAAN;;AAAiB,WAAK,CAAL;AAAO,eAAM,wBAAN;;AAA+B,WAAK,CAAL;AAAO,eAAM,wBAAN;;AAA+B,WAAK,CAAL;AAAO,eAAM,4BAAN;;AAAmC;AAAQ,eAAO,IAAP;AAAzN;AAAsO;;AAAA,WAASs2H,EAAT,CAAYt2H,CAAZ,EAAc;AAAC,WAAOA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAN,GAASA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAf,GAAkBA,CAAC,CAAC,CAAD,CAAD,IAAM,CAAxB,GAA0BA,CAAC,CAAC,CAAD,CAAlC;AAAsC;;AAAA,MAAIu2H,EAAJ;AAAA,MAAOC,EAAP;AAAA,MAAUC,EAAV;AAAA,MAAaC,EAAb;AAAA,MAAgBC,EAAE,GAAC;AAAC1H,aAAS,EAAC,mBAASjvH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAACm1H,EAAE,CAACl2H,CAAD,CAAR;AAAY,aAAO,MAAIe,CAAJ,GAAM,KAAN,GAAYA,CAAC,KAAG4lC,CAAJ,GAAM,KAAN,GAAYA,CAAC,GAAC,KAAD,GAAO,IAAvC;AAA4C,KAAjF;AAAkFiwF,YAAQ,EAAC,kBAAS52H,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAACwvF,EAAE,CAACn2H,CAAD,CAAR;AAAA,UAAYe,CAAC,GAAC,IAAEq1H,EAAE,CAACp2H,CAAD,CAAlB;AAAsB,aAAO2mC,CAAC,KAAG5lC,CAAC,IAAEf,CAAC,CAACe,CAAD,CAAD,GAAK,CAAX,CAAD,EAAe,CAAC,KAAGf,CAAC,CAACe,CAAC,GAAC,EAAH,CAAL,KAAc,CAAd,GAAgBf,CAAC,CAACe,CAAC,GAAC,EAAH,CAAvC;AAA8C,KAA3K;AAA4K81H,YAAQ,EAAC,kBAAS72H,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,EAAN;AAAA,UAAS5lC,CAAC,GAACo1H,EAAE,CAACn2H,CAAD,CAAb;AAAA,UAAiBs6B,CAAC,GAAC,IAAE87F,EAAE,CAACp2H,CAAD,CAAvB;;AAA2B,UAAGe,CAAC,KAAGu5B,CAAC,IAAEt6B,CAAC,CAACs6B,CAAD,CAAD,GAAK,CAAX,CAAD,EAAe,IAAEt6B,CAAC,CAACs6B,CAAC,GAAC,CAAH,CAArB,EAA2B;AAAC,YAAIwmC,CAAJ;AAAMA,SAAC,GAAC,KAAG,CAAC,KAAG9gE,CAAC,CAACs6B,CAAC,GAAC,CAAH,CAAL,KAAa,CAAb,GAAet6B,CAAC,CAACs6B,CAAC,GAAC,CAAH,CAAnB,IAA0B,CAA5B;;AAA8B,aAAI,IAAI5V,CAAC,GAAC,MAAI,CAAC,KAAG1kB,CAAC,CAACs6B,CAAC,GAAC,EAAH,CAAL,KAAc,CAAd,GAAgBt6B,CAAC,CAACs6B,CAAC,GAAC,EAAH,CAArB,CAAV,EAAuC5V,CAAC,GAACo8C,CAAzC,GAA4C;AAAC,cAAI1lD,CAAC,GAACkf,CAAC,GAAC5V,CAAR;AAAUiiB,WAAC,CAAC,CAAC,KAAG3mC,CAAC,CAACob,CAAC,GAAC,CAAH,CAAL,KAAa,CAAb,GAAepb,CAAC,CAACob,CAAC,GAAC,CAAH,CAAjB,CAAD,GAAyBpb,CAAC,CAACob,CAAD,CAA1B,EAA8BsJ,CAAC,IAAE,KAAG,CAAC,KAAG1kB,CAAC,CAACob,CAAC,GAAC,CAAH,CAAL,KAAa,CAAb,GAAepb,CAAC,CAACob,CAAC,GAAC,CAAH,CAAnB,CAAjC;AAA2D;;AAAA,eAAOurB,CAAP;AAAS;AAAC,KAAxZ;AAAyZmwF,kCAA8B,EAACX,EAAxb;AAA2bY,gBAAY,EAAC,sBAAS/2H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAOA,CAAC,CAACuvF,EAAE,CAACl2H,CAAD,CAAH,CAAR;AAAiB,aAAK+1H,EAAL;AAAQ,iBAAM,OAAN;;AAAc,aAAKC,EAAL;AAAQ,iBAAM,OAAN;;AAAc,aAAKC,EAAL;AAAQ,iBAAM,gBAAN;;AAAuB;AAAQ,iBAAO,IAAP;AAApG;AAAiH,KAAvkB;AAAwkBe,gBAAY,EAAC,sBAASh3H,CAAT,EAAW;AAAC,UAAG,CAACm2H,EAAE,CAACn2H,CAAD,CAAN,EAAU,OAAO,IAAP;AAAY,UAAI2mC,CAAC,GAAC,IAAEyvF,EAAE,CAACp2H,CAAD,CAAV;AAAc,UAAG2mC,CAAC,IAAE3mC,CAAC,CAACmnH,UAAR,EAAmB,OAAO,IAAP;AAAY,UAAIpmH,CAAJ;AAAA,UAAMu5B,CAAC,GAAC,IAAR;AAAa,aAAO,OAAKv5B,CAAC,GAACf,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAR,MAAiB,CAACrM,CAAC,GAAC,EAAH,EAAOg2F,GAAP,GAAW,CAAC,KAAGtwH,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAL,KAAa,EAAb,GAAgB,CAAC,MAAI3mC,CAAC,CAAC2mC,CAAC,GAAC,EAAH,CAAN,KAAe,EAA/B,GAAkC,CAAC,MAAI3mC,CAAC,CAAC2mC,CAAC,GAAC,EAAH,CAAN,KAAe,EAAjD,GAAoD,CAAC,MAAI3mC,CAAC,CAAC2mC,CAAC,GAAC,EAAH,CAAN,KAAe,CAAnE,GAAqE,CAAC,MAAI3mC,CAAC,CAAC2mC,CAAC,GAAC,EAAH,CAAN,MAAgB,CAAhG,EAAkGrM,CAAC,CAACg2F,GAAF,IAAO,CAAzG,EAA2Gh2F,CAAC,CAACg2F,GAAF,IAAO,CAAC,IAAEtwH,CAAC,CAAC2mC,CAAC,GAAC,EAAH,CAAJ,MAAc,CAAhI,EAAkIrM,CAAC,CAAC62F,GAAF,GAAM72F,CAAC,CAACg2F,GAA1I,EAA8I,KAAGvvH,CAAH,KAAOu5B,CAAC,CAAC62F,GAAF,GAAM,CAAC,KAAGnxH,CAAC,CAAC2mC,CAAC,GAAC,EAAH,CAAL,KAAc,EAAd,GAAiB,CAAC,MAAI3mC,CAAC,CAAC2mC,CAAC,GAAC,EAAH,CAAN,KAAe,EAAhC,GAAmC,CAAC,MAAI3mC,CAAC,CAAC2mC,CAAC,GAAC,EAAH,CAAN,KAAe,EAAlD,GAAqD,CAAC,MAAI3mC,CAAC,CAAC2mC,CAAC,GAAC,EAAH,CAAN,KAAe,CAApE,GAAsE,CAAC,MAAI3mC,CAAC,CAAC2mC,CAAC,GAAC,EAAH,CAAN,MAAgB,CAA5F,EAA8FrM,CAAC,CAAC62F,GAAF,IAAO,CAArG,EAAuG72F,CAAC,CAAC62F,GAAF,IAAO,CAAC,IAAEnxH,CAAC,CAAC2mC,CAAC,GAAC,EAAH,CAAJ,MAAc,CAAnI,CAA/J,GAAsSrM,CAA7S;AAA+S,KAAh+B;AAAi+B28F,+BAA2B,EAAC,qCAASj3H,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,IAAEyvF,EAAE,CAACp2H,CAAD,CAAV,EAAce,CAAC,GAACf,CAAC,CAACynH,QAAF,CAAW9gF,CAAX,CAAhB,EAA8BrM,CAAC,GAAC,CAAhC,EAAkCwmC,CAAC,GAAC,CAApC,EAAsCp8C,CAAC,GAAC,CAAC,CAA7C,EAA+Co8C,CAAC,GAAC//D,CAAC,CAAComH,UAAF,GAAa,CAA9D,EAAgErmD,CAAC,EAAjE;AAAoE,YAAG,MAAI//D,CAAC,CAAC+/D,CAAC,GAAC,CAAH,CAAR,EAAc;AAACxmC,WAAC,GAACwmC,CAAC,GAAC,CAAJ;AAAM;AAAM;AAA/F;;AAA+F,aAAKxmC,CAAC,GAACv5B,CAAC,CAAComH,UAAT;AAAqB,gBAAOpmH,CAAC,CAACu5B,CAAD,CAAR;AAAa,eAAK,CAAL;AAAO,gBAAG,MAAIv5B,CAAC,CAACu5B,CAAC,GAAC,CAAH,CAAR,EAAc;AAACA,eAAC,IAAE,CAAH;AAAK;AAAM;;AAAA,gBAAG,MAAIv5B,CAAC,CAACu5B,CAAC,GAAC,CAAH,CAAR,EAAc;AAACA,eAAC;AAAG;AAAM;;AAAA,iBAAIwmC,CAAC,GAAC,CAAF,KAAMxmC,CAAC,GAAC,CAAR,IAAW,gDAA8C+7F,EAAE,CAAC,KAAGt1H,CAAC,CAAC+/D,CAAC,GAAC,CAAH,CAAL,CAA3D,KAAyEp8C,CAAC,GAAC,CAAC,CAA5E,CAAJ,EAAmF,MAAI3jB,CAAC,CAAC,EAAEu5B,CAAH,CAAL,IAAYA,CAAC,GAACv5B,CAAC,CAACmC,MAAnG;AAA2G;AAA3G;;AAA4G49D,aAAC,GAACxmC,CAAC,GAAC,CAAJ,EAAMA,CAAC,IAAE,CAAT;AAAW;;AAAM,eAAK,CAAL;AAAO,gBAAG,MAAIv5B,CAAC,CAACu5B,CAAC,GAAC,CAAH,CAAL,IAAY,MAAIv5B,CAAC,CAACu5B,CAAC,GAAC,CAAH,CAApB,EAA0B;AAACA,eAAC,IAAE,CAAH;AAAK;AAAM;;AAAA,4DAA8C+7F,EAAE,CAAC,KAAGt1H,CAAC,CAAC+/D,CAAC,GAAC,CAAH,CAAL,CAAhD,KAA8Dp8C,CAAC,GAAC,CAAC,CAAjE,GAAoEo8C,CAAC,GAACxmC,CAAC,GAAC,CAAxE,EAA0EA,CAAC,IAAE,CAA7E;AAA+E;;AAAM;AAAQA,aAAC,IAAE,CAAH;AAA9U;AAArB;;AAAwW,aAAOv5B,CAAC,GAACA,CAAC,CAAC0mH,QAAF,CAAW3mD,CAAX,CAAF,EAAgBxmC,CAAC,IAAEwmC,CAAnB,EAAqBA,CAAC,GAAC,CAAvB,EAAyB//D,CAAC,IAAE,IAAEA,CAAC,CAAComH,UAAP,IAAmB,gDAA8CkP,EAAE,CAAC,KAAGt1H,CAAC,CAAC+/D,CAAC,GAAC,CAAH,CAAL,CAAnE,KAAiFp8C,CAAC,GAAC,CAAC,CAApF,CAAzB,EAAgHA,CAAvH;AAAyH;AAAzkD,GAAnB;AAAA,MAA8lDwyG,EAAE,GAAC,CAAC,IAAD,EAAM,KAAN,EAAY,IAAZ,EAAiB,IAAjB,EAAsB,KAAtB,EAA4B,IAA5B,EAAiC,IAAjC,EAAsC,KAAtC,EAA4C,IAA5C,EAAiD,IAAjD,EAAsD,KAAtD,EAA4D,GAA5D,EAAgE,IAAhE,CAAjmD;AAAA,MAAuqDC,EAAE,GAAC;AAACC,mBAAe,EAAC,yBAASp3H,CAAT,EAAW;AAAC,aAAOA,CAAC,CAAC,CAAD,CAAD,KAAO,IAAI8uB,UAAJ,CAAe,CAAf,CAAP,IAA0B9uB,CAAC,CAAC,CAAD,CAAD,KAAO,IAAI8uB,UAAJ,CAAe,CAAf,CAAjC,IAAoD9uB,CAAC,CAAC,CAAD,CAAD,KAAO,IAAI8uB,UAAJ,CAAe,CAAf,CAAlE;AAAoF,KAAjH;AAAkHuoG,mBAAe,EAAC,yBAASr3H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAACf,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAD,IAAQ,EAAR,GAAW3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAD,IAAQ,EAAnB,GAAsB3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAD,IAAQ,CAA9B,GAAgC3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAvC;AAA6C,aAAM,CAAC,KAAG3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAL,KAAa,CAAb,GAAe,KAAG5lC,CAAlB,GAAoB,KAAGA,CAA7B;AAA+B,KAA5N;AAA6Nu2H,iBAAa,EAAC,uBAASt3H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,CAAC,MAAIf,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAN,KAAc,CAApB;AAAA,UAAsBrM,CAAC,GAACt6B,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAD,IAAQ,CAAhC;AAAkC,aAAO,OAAK3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAN,GAAYrM,CAAZ,GAAcv5B,CAArB;AAAuB,KAAlT;AAAmTkuH,aAAS,EAAC,mBAASjvH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO3mC,CAAC,CAAC2mC,CAAD,CAAD,KAAO,IAAI7X,UAAJ,CAAe,CAAf,CAAP,IAA0B9uB,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAD,KAAS,IAAI7X,UAAJ,CAAe,CAAf,CAAnC,IAAsD9uB,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAD,KAAS,IAAI7X,UAAJ,CAAe,CAAf,CAA/D,GAAiF,gBAAjF,GAAkG,CAAC,CAAD,GAAG9uB,CAAC,CAAC2mC,CAAD,CAAJ,IAAS,QAAM,MAAI3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAX,CAAT,GAA2B,OAA3B,GAAmC,IAA5I;AAAiJ,KAA5d;AAA6d4wF,mBAAe,EAAC,yBAASv3H,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,CAAF,GAAI3mC,CAAC,CAACkD,MAAlB,GAA0B;AAAC,YAAG,QAAMlD,CAAC,CAAC2mC,CAAD,CAAP,IAAY,QAAM,MAAI3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAX,CAAf,EAAiC,OAAOuwF,EAAE,CAAC,CAAC,KAAGl3H,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAL,MAAc,CAAf,CAAT;AAA2BA,SAAC;AAAG;;AAAA,aAAO,IAAP;AAAY,KAAhmB;AAAimB6wF,qBAAiB,EAAC,2BAASx3H,CAAT,EAAW;AAAC,UAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR;AAAUqM,OAAC,GAAC,EAAF,EAAK,KAAG3mC,CAAC,CAAC,CAAD,CAAJ,KAAU2mC,CAAC,IAAE,CAAH,EAAKA,CAAC,IAAE2vF,EAAE,CAACt2H,CAAC,CAACynH,QAAF,CAAW,EAAX,EAAc,EAAd,CAAD,CAApB,CAAL;;AAA8C,SAAE;AAAC,YAAG,CAAC1mH,CAAC,GAACu1H,EAAE,CAACt2H,CAAC,CAACynH,QAAF,CAAW9gF,CAAC,GAAC,CAAb,EAAeA,CAAC,GAAC,CAAjB,CAAD,CAAL,IAA4B,CAA/B,EAAiC,OAAO,IAAP;;AAAY,YAAG,WAASnY,MAAM,CAACC,YAAP,CAAoBzuB,CAAC,CAAC2mC,CAAD,CAArB,EAAyB3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAA1B,EAAgC3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAjC,EAAuC3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAxC,CAAZ,EAA2D;AAACrM,WAAC,GAACt6B,CAAC,CAACynH,QAAF,CAAW9gF,CAAC,GAAC,EAAb,EAAgBA,CAAC,GAAC5lC,CAAF,GAAI,EAApB,CAAF;;AAA0B,eAAI,IAAI+/D,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACxmC,CAAC,CAAC6sF,UAAhB,EAA2BrmD,CAAC,EAA5B;AAA+B,gBAAG,MAAIxmC,CAAC,CAACwmC,CAAD,CAAR,EAAY;AAAC,kBAAG,mDAAiD22D,QAAQ,CAAC,UAASz3H,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,oBAAIu5B,CAAJ;AAAA,oBAAMwmC,CAAC,GAAC,EAAR;;AAAW,qBAAIxmC,CAAC,GAACqM,CAAN,EAAQrM,CAAC,GAACv5B,CAAV,EAAYu5B,CAAC,EAAb;AAAgBwmC,mBAAC,IAAE,MAAI,CAAC,OAAK9gE,CAAC,CAACs6B,CAAD,CAAD,CAAKrT,QAAL,CAAc,EAAd,CAAN,EAAyBtM,KAAzB,CAA+B,CAAC,CAAhC,CAAP;AAAhB;;AAA0D,uBAAOmmD,CAAP;AAAS,eAA9F,CAA+FxmC,CAA/F,EAAiG,CAAjG,EAAmGwmC,CAAnG,CAAD,CAA5D,EAAoK;AAAM,kBAAIp8C,CAAC,GAAC4V,CAAC,CAACmtF,QAAF,CAAW3mD,CAAC,GAAC,CAAb,CAAN;AAAA,kBAAsB1lD,CAAC,GAAC,CAAC,IAAEsJ,CAAC,CAAC,CAAD,CAAJ,KAAU,EAAV,GAAaA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAnB,GAAsBA,CAAC,CAAC,CAAD,CAAD,IAAM,EAA5B,GAA+BA,CAAC,CAAC,CAAD,CAAD,IAAM,CAArC,GAAuCA,CAAC,CAAC,CAAD,CAAD,KAAO,CAAtE;AAAwE,qBAAOtJ,CAAC,IAAE,CAAH,EAAKA,CAAC,IAAE,IAAEsJ,CAAC,CAAC,CAAD,CAAlB;AAAsB;AAApT;AAAqT;;AAAAiiB,SAAC,IAAE,EAAH,EAAMA,CAAC,IAAE5lC,CAAT;AAAW,OAAtc,QAA4c4lC,CAAC,GAAC3mC,CAAC,CAACmnH,UAAhd;;AAA4d,aAAO,IAAP;AAAY;AAA/pC,GAA1qD;AAAA,MAA20FuQ,EAAE,GAAC,GAA90F;AAAA,MAAk1FC,EAAE,IAAEpB,EAAE,GAAC,YAASv2H,CAAT,EAAW;AAAC,WAAO,MAAIA,CAAX;AAAa,GAA5B,EAA6Bw2H,EAAE,GAAC,YAASx2H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAO3mC,CAAC,GAAC2mC,CAAT;AAAW,GAAzD,EAA0D8vF,EAAE,GAAC,YAASz2H,CAAT,EAAW;AAAC,WAAOA,CAAC,GAAC,GAAT;AAAa,GAAtF,EAAuF02H,EAAE,GAAC,YAAS12H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAO3mC,CAAC,GAAC2mC,CAAT;AAAW,GAAnH,EAAoHwuF,EAAtH,CAAp1F;AAAA,MAA88FyC,EAAE,GAAC,EAAj9F;AAAo9FA,IAAE,CAACzsB,EAAH,GAAMwrB,EAAN,EAASiB,EAAE,CAACrvC,GAAH,GAAO4uC,EAAhB;;AAAmB,WAASU,EAAT,CAAY73H,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,SAAI,IAAIu5B,CAAJ,EAAMwmC,CAAN,EAAQp8C,CAAR,EAAUtJ,CAAV,EAAYulD,CAAC,GAAC,CAAd,EAAgBC,CAAC,GAACk3D,EAAlB,EAAqB18F,CAAC,GAAC,CAAC,CAA5B,EAA8BwlC,CAAC,IAAE5gE,CAAC,CAACmnH,UAAnC;AAA+C,UAAG,OAAKnnH,CAAC,CAAC2gE,CAAD,CAAN,IAAW,OAAK3gE,CAAC,CAAC4gE,CAAD,CAAN,IAAWA,CAAC,KAAG5gE,CAAC,CAACmnH,UAA/B,EAA0CxmD,CAAC,IAAGC,CAAC,EAAL,CAA1C,KAAsD;AAAC,gBAAOtmC,CAAC,GAACt6B,CAAC,CAACynH,QAAF,CAAW9mD,CAAX,EAAaC,CAAb,CAAF,EAAkBg3D,EAAE,CAACzsB,EAAH,CAAM8jB,SAAN,CAAgB30F,CAAhB,EAAkBqM,CAAC,CAACoxF,GAApB,CAAzB;AAAmD,eAAI,KAAJ;AAAUj3D,aAAC,GAAC82D,EAAE,CAACzsB,EAAH,CAAM4rB,YAAN,CAAmBz8F,CAAnB,EAAqBqM,CAAC,CAAC0I,KAAvB,CAAF,EAAgC3qB,CAAC,GAACkzG,EAAE,CAACzsB,EAAH,CAAM2rB,8BAAN,CAAqCx8F,CAArC,CAAlC,EAA0E,YAAUwmC,CAAV,IAAap8C,CAAb,KAAiBtJ,CAAC,GAACw8G,EAAE,CAACzsB,EAAH,CAAM6rB,YAAN,CAAmB18F,CAAnB,CAAnB,MAA4Clf,CAAC,CAAC7K,IAAF,GAAO,OAAP,EAAexP,CAAC,CAAC66E,KAAF,CAAQr4E,IAAR,CAAa6X,CAAb,CAAf,EAA+BggB,CAAC,GAAC,CAAC,CAA9E,CAA1E;AAA7D;;AAAwN,YAAGA,CAAH,EAAK;AAAMulC,SAAC,IAAEm3D,EAAH,EAAMl3D,CAAC,IAAEk3D,EAAT;AAAY;AAArV;;AAAqV,SAAIn3D,CAAC,GAAC,CAACC,CAAC,GAAC5gE,CAAC,CAACmnH,UAAL,IAAiB2Q,EAAnB,EAAsB18F,CAAC,GAAC,CAAC,CAA7B,EAA+B,KAAGulC,CAAlC;AAAqC,UAAG,OAAK3gE,CAAC,CAAC2gE,CAAD,CAAN,IAAW,OAAK3gE,CAAC,CAAC4gE,CAAD,CAAN,IAAWA,CAAC,KAAG5gE,CAAC,CAACmnH,UAA/B,EAA0CxmD,CAAC,IAAGC,CAAC,EAAL,CAA1C,KAAsD;AAAC,gBAAOtmC,CAAC,GAACt6B,CAAC,CAACynH,QAAF,CAAW9mD,CAAX,EAAaC,CAAb,CAAF,EAAkBg3D,EAAE,CAACzsB,EAAH,CAAM8jB,SAAN,CAAgB30F,CAAhB,EAAkBqM,CAAC,CAACoxF,GAApB,CAAzB;AAAmD,eAAI,KAAJ;AAAUj3D,aAAC,GAAC82D,EAAE,CAACzsB,EAAH,CAAM4rB,YAAN,CAAmBz8F,CAAnB,EAAqBqM,CAAC,CAAC0I,KAAvB,CAAF,EAAgC3qB,CAAC,GAACkzG,EAAE,CAACzsB,EAAH,CAAM2rB,8BAAN,CAAqCx8F,CAArC,CAAlC,EAA0E,YAAUwmC,CAAV,IAAap8C,CAAb,KAAiBtJ,CAAC,GAACw8G,EAAE,CAACzsB,EAAH,CAAM6rB,YAAN,CAAmB18F,CAAnB,CAAnB,MAA4Clf,CAAC,CAAC7K,IAAF,GAAO,OAAP,EAAexP,CAAC,CAAC66E,KAAF,CAAQr4E,IAAR,CAAa6X,CAAb,CAAf,EAA+BggB,CAAC,GAAC,CAAC,CAA9E,CAA1E;AAA7D;;AAAwN,YAAGA,CAAH,EAAK;AAAMulC,SAAC,IAAEm3D,EAAH,EAAMl3D,CAAC,IAAEk3D,EAAT;AAAY;AAA3U;AAA4U;;AAAA,WAASE,EAAT,CAAYh4H,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,SAAI,IAAIu5B,CAAJ,EAAMwmC,CAAN,EAAQp8C,CAAR,EAAUtJ,CAAV,EAAYulD,CAAZ,EAAcC,CAAd,EAAgBxlC,CAAhB,EAAkBomC,CAAC,GAAC,CAApB,EAAsBf,CAAC,GAACq3D,EAAxB,EAA2Bp3D,CAAC,GAAC,CAAC,CAA9B,EAAgCttB,CAAC,GAAC;AAAC5yC,UAAI,EAAC,EAAN;AAASylB,UAAI,EAAC;AAAd,KAAtC,EAAuDw6C,CAAC,GAACzgE,CAAC,CAACmnH,UAA3D;AAAuE,UAAG,OAAKnnH,CAAC,CAACwhE,CAAD,CAAN,IAAW,OAAKxhE,CAAC,CAACygE,CAAD,CAApB,EAAwBe,CAAC,IAAGf,CAAC,EAAL,CAAxB,KAAoC;AAAC,gBAAOnmC,CAAC,GAACt6B,CAAC,CAACynH,QAAF,CAAWjmD,CAAX,EAAaf,CAAb,CAAF,EAAkBm3D,EAAE,CAACzsB,EAAH,CAAM8jB,SAAN,CAAgB30F,CAAhB,EAAkBqM,CAAC,CAACoxF,GAApB,CAAzB;AAAmD,eAAI,KAAJ;AAAU,gBAAGj3D,CAAC,GAAC82D,EAAE,CAACzsB,EAAH,CAAM4rB,YAAN,CAAmBz8F,CAAnB,EAAqBqM,CAAC,CAAC0I,KAAvB,CAAF,EAAgC3qB,CAAC,GAACkzG,EAAE,CAACzsB,EAAH,CAAM2rB,8BAAN,CAAqCx8F,CAArC,CAAlC,EAA0E,YAAUwmC,CAAV,KAAcp8C,CAAC,IAAE,CAACg8C,CAAJ,KAAQtlD,CAAC,GAACw8G,EAAE,CAACzsB,EAAH,CAAM6rB,YAAN,CAAmB18F,CAAnB,CAAV,MAAmClf,CAAC,CAAC7K,IAAF,GAAO,OAAP,EAAexP,CAAC,CAACi7E,KAAF,CAAQz4E,IAAR,CAAa6X,CAAb,CAAf,EAA+BslD,CAAC,GAAC,CAAC,CAArE,GAAwE,CAAC3/D,CAAC,CAACk3H,aAAzF,CAA7E,EAAqL;AAAC,kBAAGvzG,CAAC,IAAE,MAAI0uB,CAAC,CAACntB,IAAZ,EAAiB;AAAC,qBAAI06C,CAAC,GAAC,IAAIyxC,UAAJ,CAAeh/D,CAAC,CAACntB,IAAjB,CAAF,EAAyB26C,CAAC,GAAC,CAA/B,EAAiCxtB,CAAC,CAAC5yC,IAAF,CAAO0C,MAAxC;AAAgDk4B,mBAAC,GAACgY,CAAC,CAAC5yC,IAAF,CAAOgwB,KAAP,EAAF,EAAiBmwC,CAAC,CAACv/B,GAAF,CAAMhG,CAAN,EAAQwlC,CAAR,CAAjB,EAA4BA,CAAC,IAAExlC,CAAC,CAAC+rF,UAAjC;AAAhD;;AAA4F,oBAAGyQ,EAAE,CAACzsB,EAAH,CAAM8rB,2BAAN,CAAkCt2D,CAAlC,CAAH,EAAwC;AAAC,sBAAIW,CAAC,GAACs2D,EAAE,CAACzsB,EAAH,CAAM6rB,YAAN,CAAmBr2D,CAAnB,CAAN;AAA4BW,mBAAC,KAAGvgE,CAAC,CAACk3H,aAAF,GAAgB32D,CAAhB,EAAkBvgE,CAAC,CAACk3H,aAAF,CAAgB1nH,IAAhB,GAAqB,OAA1C,CAAD;AAAoD;;AAAA6iC,iBAAC,CAACntB,IAAF,GAAO,CAAP;AAAS;;AAAAmtB,eAAC,CAAC5yC,IAAF,CAAO+C,IAAP,CAAY+2B,CAAZ,GAAe8Y,CAAC,CAACntB,IAAF,IAAQqU,CAAC,CAAC6sF,UAAzB;AAAoC;;AAAvgB;;AAAwgB,YAAGzmD,CAAC,IAAE3/D,CAAC,CAACk3H,aAAR,EAAsB;AAAMz2D,SAAC,IAAEs2D,EAAH,EAAMr3D,CAAC,IAAEq3D,EAAT;AAAY;AAA5pB;;AAA4pB,SAAIt2D,CAAC,GAAC,CAACf,CAAC,GAACzgE,CAAC,CAACmnH,UAAL,IAAiB2Q,EAAnB,EAAsBp3D,CAAC,GAAC,CAAC,CAA7B,EAA+B,KAAGc,CAAlC;AAAqC,UAAG,OAAKxhE,CAAC,CAACwhE,CAAD,CAAN,IAAW,OAAKxhE,CAAC,CAACygE,CAAD,CAApB,EAAwBe,CAAC,IAAGf,CAAC,EAAL,CAAxB,KAAoC;AAAC,gBAAOnmC,CAAC,GAACt6B,CAAC,CAACynH,QAAF,CAAWjmD,CAAX,EAAaf,CAAb,CAAF,EAAkBm3D,EAAE,CAACzsB,EAAH,CAAM8jB,SAAN,CAAgB30F,CAAhB,EAAkBqM,CAAC,CAACoxF,GAApB,CAAzB;AAAmD,eAAI,KAAJ;AAAUj3D,aAAC,GAAC82D,EAAE,CAACzsB,EAAH,CAAM4rB,YAAN,CAAmBz8F,CAAnB,EAAqBqM,CAAC,CAAC0I,KAAvB,CAAF,EAAgC3qB,CAAC,GAACkzG,EAAE,CAACzsB,EAAH,CAAM2rB,8BAAN,CAAqCx8F,CAArC,CAAlC,EAA0E,YAAUwmC,CAAV,IAAap8C,CAAb,KAAiBtJ,CAAC,GAACw8G,EAAE,CAACzsB,EAAH,CAAM6rB,YAAN,CAAmB18F,CAAnB,CAAnB,MAA4Clf,CAAC,CAAC7K,IAAF,GAAO,OAAP,EAAexP,CAAC,CAACi7E,KAAF,CAAQz4E,IAAR,CAAa6X,CAAb,CAAf,EAA+BslD,CAAC,GAAC,CAAC,CAA9E,CAA1E;AAA7D;;AAAwN,YAAGA,CAAH,EAAK;AAAMc,SAAC,IAAEs2D,EAAH,EAAMr3D,CAAC,IAAEq3D,EAAT;AAAY;AAAzT;AAA0T;;AAAA,WAASI,EAAT,CAAYl4H,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC;AAACoxF,SAAG,EAAC,IAAL;AAAU1oF,WAAK,EAAC;AAAhB,KAAN;AAAA,QAA4BtuC,CAAC,GAAC,EAA9B;;AAAiC,SAAI,IAAIu5B,CAAR,IAAa,UAASt6B,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAI,IAAI5lC,CAAJ,EAAMu5B,CAAC,GAAC,CAAR,EAAUwmC,CAAC,GAACg3D,EAAhB,EAAmBh3D,CAAC,GAAC9gE,CAAC,CAACmnH,UAAvB;AAAmC,YAAG,OAAKnnH,CAAC,CAACs6B,CAAD,CAAN,IAAW,OAAKt6B,CAAC,CAAC8gE,CAAD,CAApB,EAAwBxmC,CAAC,IAAGwmC,CAAC,EAAL,CAAxB,KAAoC;AAAC,kBAAO//D,CAAC,GAACf,CAAC,CAACynH,QAAF,CAAWntF,CAAX,EAAawmC,CAAb,CAAF,EAAkB82D,EAAE,CAACzsB,EAAH,CAAM8jB,SAAN,CAAgBluH,CAAhB,EAAkB4lC,CAAC,CAACoxF,GAApB,CAAzB;AAAmD,iBAAI,KAAJ;AAAUpxF,eAAC,CAACoxF,GAAF,KAAQpxF,CAAC,CAACoxF,GAAF,GAAMH,EAAE,CAACzsB,EAAH,CAAMyrB,QAAN,CAAe71H,CAAf,CAAd;AAAiC;;AAAM,iBAAI,KAAJ;AAAU4lC,eAAC,CAAC0I,KAAF,KAAU1I,CAAC,CAAC0I,KAAF,GAAQuoF,EAAE,CAACzsB,EAAH,CAAM0rB,QAAN,CAAe91H,CAAf,CAAlB;AAA9G;;AAAmJ,cAAG4lC,CAAC,CAACoxF,GAAF,IAAOpxF,CAAC,CAAC0I,KAAZ,EAAkB;AAAO/U,WAAC,IAAEw9F,EAAH,EAAMh3D,CAAC,IAAEg3D,EAAT;AAAY;AAAhQ;AAAiQ,KAA/Q,CAAgR93H,CAAhR,EAAkR2mC,CAAlR,GAAqRA,CAAC,CAAC0I,KAApS,EAA0S;AAAC,UAAG1I,CAAC,CAAC0I,KAAF,CAAQ38B,cAAR,CAAuB4nB,CAAvB,CAAH,EAA6B,QAAOqM,CAAC,CAAC0I,KAAF,CAAQ/U,CAAR,CAAP;AAAmB,aAAKy7F,EAAL;AAAQh1H,WAAC,CAACi7E,KAAF,GAAQ,EAAR,EAAWg8C,EAAE,CAACh4H,CAAD,EAAG2mC,CAAH,EAAK5lC,CAAL,CAAb,EAAqB,MAAIA,CAAC,CAACi7E,KAAF,CAAQ94E,MAAZ,IAAoB,OAAOnC,CAAC,CAACi7E,KAAlD;AAAwD;;AAAM,aAAKg6C,EAAL;AAAQj1H,WAAC,CAAC66E,KAAF,GAAQ,EAAR,EAAWi8C,EAAE,CAAC73H,CAAD,EAAG2mC,CAAH,EAAK5lC,CAAL,CAAb,EAAqB,MAAIA,CAAC,CAAC66E,KAAF,CAAQ14E,MAAZ,IAAoB,OAAOnC,CAAC,CAAC66E,KAAlD;AAAjG;AAA0J;;AAAA,WAAO76E,CAAP;AAAS;;AAAA,MAAIo3H,EAAE,GAACT,EAAP;AAAA,MAAUI,EAAE,GAAC,GAAb;AAAA,MAAiBM,EAAE,GAAC,SAAHA,EAAG,CAASp4H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAJ;AAAM,WAAM,CAACA,CAAC,GAAC62H,EAAE,CAACrvC,GAAH,CAAO6uC,eAAP,CAAuBp3H,CAAvB,IAA0B,UAASA,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAJ,EAAM5lC,CAAC,GAAC,CAAC,CAAT,EAAWu5B,CAAC,GAAC,CAAb,EAAewmC,CAAC,GAAC,IAAjB,EAAsBp8C,CAAC,GAAC,IAAxB,EAA6BtJ,CAAC,GAAC,CAA/B,EAAiCulD,CAAC,GAAC,CAAvC,EAAyC,KAAG3gE,CAAC,CAACkD,MAAF,GAASy9D,CAArD,GAAwD;AAAC,gBAAOi3D,EAAE,CAACrvC,GAAH,CAAO0mC,SAAP,CAAiBjvH,CAAjB,EAAmB2gE,CAAnB,CAAP;AAA8B,eAAI,gBAAJ;AAAqB,gBAAG3gE,CAAC,CAACkD,MAAF,GAASy9D,CAAT,GAAW,EAAd,EAAiB;AAAC5/D,eAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAA,gBAAG,CAACqa,CAAC,GAACw8G,EAAE,CAACrvC,GAAH,CAAO8uC,eAAP,CAAuBr3H,CAAvB,EAAyB2gE,CAAzB,CAAH,IAAgC3gE,CAAC,CAACkD,MAArC,EAA4C;AAACnC,eAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAA,qBAAO2jB,CAAP,KAAWiiB,CAAC,GAAC3mC,CAAC,CAACynH,QAAF,CAAW9mD,CAAX,EAAaA,CAAC,GAACvlD,CAAf,CAAF,EAAoBsJ,CAAC,GAACkzG,EAAE,CAACrvC,GAAH,CAAOivC,iBAAP,CAAyB7wF,CAAzB,CAAjC,GAA8Dg6B,CAAC,IAAEvlD,CAAjE;AAAmE;;AAAM,eAAI,OAAJ;AAAY,gBAAGpb,CAAC,CAACkD,MAAF,GAASy9D,CAAT,GAAW,CAAd,EAAgB;AAAC5/D,eAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAA,gBAAG,CAACqa,CAAC,GAACw8G,EAAE,CAACrvC,GAAH,CAAO+uC,aAAP,CAAqBt3H,CAArB,EAAuB2gE,CAAvB,CAAH,IAA8B3gE,CAAC,CAACkD,MAAnC,EAA0C;AAACnC,eAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAA,qBAAO+/D,CAAP,KAAWn6B,CAAC,GAAC3mC,CAAC,CAACynH,QAAF,CAAW9mD,CAAX,EAAaA,CAAC,GAACvlD,CAAf,CAAF,EAAoB0lD,CAAC,GAAC82D,EAAE,CAACrvC,GAAH,CAAOgvC,eAAP,CAAuB5wF,CAAvB,CAAjC,GAA4DrM,CAAC,EAA7D,EAAgEqmC,CAAC,IAAEvlD,CAAnE;AAAqE;;AAAM;AAAQulD,aAAC;AAAnY;;AAAsY,YAAG5/D,CAAH,EAAK,OAAO,IAAP;AAAY;;AAAA,UAAG,SAAO+/D,CAAP,IAAU,SAAOp8C,CAApB,EAAsB,OAAO,IAAP;AAAY,UAAIk8C,CAAC,GAACu3D,EAAE,GAACr3D,CAAT;AAAW,aAAM;AAAC8a,aAAK,EAAC,CAAC;AAACrrE,cAAI,EAAC,OAAN;AAAc4gH,aAAG,EAACzsG,CAAlB;AAAoB4rG,aAAG,EAAC5rG;AAAxB,SAAD,EAA4B;AAACnU,cAAI,EAAC,OAAN;AAAc4gH,aAAG,EAACzsG,CAAC,GAAC,OAAK4V,CAAL,GAAOsmC,CAA3B;AAA6B0vD,aAAG,EAAC5rG,CAAC,GAAC,OAAK4V,CAAL,GAAOsmC;AAA1C,SAA5B;AAAP,OAAN;AAAwF,KAAjmB,CAAkmB5gE,CAAlmB,CAA1B,GAA+nBk4H,EAAE,CAACl4H,CAAD,CAApoB,MAA2oBe,CAAC,CAAC66E,KAAF,IAAS76E,CAAC,CAACi7E,KAAtpB,KAA8pB,UAASh8E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG3mC,CAAC,CAAC47E,KAAF,IAAS57E,CAAC,CAAC47E,KAAF,CAAQ14E,MAApB,EAA2B;AAAC,YAAInC,CAAC,GAAC4lC,CAAN;AAAQ,uBAAa,OAAO5lC,CAApB,KAAwBA,CAAC,GAACf,CAAC,CAAC47E,KAAF,CAAQ,CAAR,EAAWu1C,GAArC,GAA0CnxH,CAAC,CAAC47E,KAAF,CAAQ7yE,OAAR,CAAgB,UAAS/I,CAAT,EAAW;AAACA,WAAC,CAACmxH,GAAF,GAAMwG,EAAE,CAAC33H,CAAC,CAACmxH,GAAH,EAAOpwH,CAAP,CAAR,EAAkBf,CAAC,CAACswH,GAAF,GAAMqH,EAAE,CAAC33H,CAAC,CAACswH,GAAH,EAAOvvH,CAAP,CAA1B,EAAoCf,CAAC,CAACq4H,OAAF,GAAUr4H,CAAC,CAACmxH,GAAF,GAAMgH,EAApD,EAAuDn4H,CAAC,CAACs4H,OAAF,GAAUt4H,CAAC,CAACswH,GAAF,GAAM6H,EAAvE;AAA0E,SAAtG,CAA1C;AAAkJ;;AAAA,UAAGn4H,CAAC,CAACg8E,KAAF,IAASh8E,CAAC,CAACg8E,KAAF,CAAQ94E,MAApB,EAA2B;AAAC,YAAIo3B,CAAC,GAACqM,CAAN;;AAAQ,YAAG,eAAa,OAAOrM,CAApB,KAAwBA,CAAC,GAACt6B,CAAC,CAACg8E,KAAF,CAAQ,CAAR,EAAWm1C,GAArC,GAA0CnxH,CAAC,CAACg8E,KAAF,CAAQjzE,OAAR,CAAgB,UAAS/I,CAAT,EAAW;AAACA,WAAC,CAACmxH,GAAF,GAAMwG,EAAE,CAAC33H,CAAC,CAACmxH,GAAH,EAAO72F,CAAP,CAAR,EAAkBt6B,CAAC,CAACswH,GAAF,GAAMqH,EAAE,CAAC33H,CAAC,CAACswH,GAAH,EAAOh2F,CAAP,CAA1B,EAAoCt6B,CAAC,CAACq4H,OAAF,GAAUr4H,CAAC,CAACmxH,GAAF,GAAMgH,EAApD,EAAuDn4H,CAAC,CAACs4H,OAAF,GAAUt4H,CAAC,CAACswH,GAAF,GAAM6H,EAAvE;AAA0E,SAAtG,CAA1C,EAAkJn4H,CAAC,CAACi4H,aAAvJ,EAAqK;AAAC,cAAIn3D,CAAC,GAAC9gE,CAAC,CAACi4H,aAAR;AAAsBn3D,WAAC,CAACqwD,GAAF,GAAMwG,EAAE,CAAC72D,CAAC,CAACqwD,GAAH,EAAO72F,CAAP,CAAR,EAAkBwmC,CAAC,CAACwvD,GAAF,GAAMqH,EAAE,CAAC72D,CAAC,CAACwvD,GAAH,EAAOh2F,CAAP,CAA1B,EAAoCwmC,CAAC,CAACu3D,OAAF,GAAUv3D,CAAC,CAACqwD,GAAF,GAAMgH,EAApD,EAAuDr3D,CAAC,CAACw3D,OAAF,GAAUx3D,CAAC,CAACqwD,GAAF,GAAMgH,EAAvE;AAA0E;AAAC;AAAC,KAAhf,CAAifp3H,CAAjf,EAAmf4lC,CAAnf,GAAsf5lC,CAAppC,IAAupC,IAA7pC;AAAkqC,GAA1sC;;AAA2sC,WAASw3H,EAAT,CAAYv4H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAG,EAAE3mC,CAAC,YAAY2mC,CAAf,CAAH,EAAqB,MAAM,IAAIpI,SAAJ,CAAc,mCAAd,CAAN;AAAyD;;AAAA,MAAIi6F,EAAE,GAAC,SAAHA,EAAG,CAASx4H,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,WAAO4lC,CAAC,IAAE8xF,EAAE,CAACz4H,CAAC,CAAC+Z,SAAH,EAAa4sB,CAAb,CAAL,EAAqB5lC,CAAC,IAAE03H,EAAE,CAACz4H,CAAD,EAAGe,CAAH,CAA1B,EAAgCf,CAAvC;AAAyC,GAAhE;;AAAiE,WAASy4H,EAAT,CAAYz4H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC4lC,CAAC,CAACzjC,MAAhB,EAAuBnC,CAAC,EAAxB,EAA2B;AAAC,UAAIu5B,CAAC,GAACqM,CAAC,CAAC5lC,CAAD,CAAP;AAAWu5B,OAAC,CAACsO,UAAF,GAAatO,CAAC,CAACsO,UAAF,IAAc,CAAC,CAA5B,EAA8BtO,CAAC,CAAC6G,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU7G,CAAV,KAAcA,CAAC,CAACuO,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6EriC,MAAM,CAAC06B,cAAP,CAAsBlhC,CAAtB,EAAwBs6B,CAAC,CAAClV,GAA1B,EAA8BkV,CAA9B,CAA7E;AAA8G;AAAC;;AAAA,MAAIo+F,EAAE,GAAC,IAAP;AAAA,MAAYC,EAAE,IAAEC,EAAE,CAAC7+G,SAAH,CAAa8+G,OAAb,GAAqB,UAAS74H,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiBwmC,CAAjB,EAAmBp8C,CAAnB,EAAqB;AAAC,QAAItJ,CAAC,GAAC,KAAKilB,IAAL,CAAU,CAAV,CAAN;AAAA,QAAmBsgC,CAAC,GAAC3gE,CAAC,GAACob,CAAC,CAAC,CAAD,CAAxB;AAAA,QAA4BwlD,CAAC,GAACtmC,CAAC,GAAClf,CAAC,CAAC,CAAD,CAAjC;AAAA,QAAqCggB,CAAC,GAACr6B,CAAC,GAACqa,CAAC,CAAC,CAAD,CAA1C;AAAA,QAA8ComD,CAAC,GAAC76B,CAAC,GAACvrB,CAAC,CAAC,CAAD,CAAnD;AAAA,QAAuDqlD,CAAC,GAAC,KAAK,CAA9D;AAAA,QAAgEC,CAAC,GAAC,KAAK,CAAvE;AAAA,QAAyEttB,CAAC,GAAC,KAAK,CAAhF;AAAA,QAAkFkuB,CAAC,GAAClmD,CAAC,CAAClY,MAAF,GAAS,CAAT,GAAW,CAA/F;AAAA,QAAiGqsB,CAAC,GAAC,KAAK,CAAxG;AAAA,QAA0GmyC,CAAC,GAAC,CAA5G;AAAA,QAA8GzkC,CAAC,GAAC,KAAK67F,OAAL,CAAa,CAAb,CAAhH;AAAA,QAAgIx2G,CAAC,GAAC2a,CAAC,CAAC,CAAD,CAAnI;AAAA,QAAuId,CAAC,GAACc,CAAC,CAAC,CAAD,CAA1I;AAAA,QAA8I5hB,CAAC,GAAC4hB,CAAC,CAAC,CAAD,CAAjJ;AAAA,QAAqJ0kC,CAAC,GAAC1kC,CAAC,CAAC,CAAD,CAAxJ;AAAA,QAA4J2kC,CAAC,GAAC3kC,CAAC,CAAC,CAAD,CAA/J;;AAAmK,SAAI1N,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC+xC,CAAV,EAAY/xC,CAAC,EAAb;AAAgBkxC,OAAC,GAACn+C,CAAC,CAACq+C,CAAC,KAAG,EAAL,CAAD,GAAUxkC,CAAC,CAACykC,CAAC,IAAE,EAAH,GAAM,GAAP,CAAX,GAAuBvlD,CAAC,CAAC+f,CAAC,IAAE,CAAH,GAAK,GAAN,CAAxB,GAAmCumC,CAAC,CAAC,MAAIH,CAAL,CAApC,GAA4CpmD,CAAC,CAACsmD,CAAD,CAA/C,EAAmDhB,CAAC,GAACp+C,CAAC,CAACs+C,CAAC,KAAG,EAAL,CAAD,GAAUzkC,CAAC,CAACf,CAAC,IAAE,EAAH,GAAM,GAAP,CAAX,GAAuB/f,CAAC,CAACmmD,CAAC,IAAE,CAAH,GAAK,GAAN,CAAxB,GAAmCG,CAAC,CAAC,MAAIhB,CAAL,CAApC,GAA4CvlD,CAAC,CAACsmD,CAAC,GAAC,CAAH,CAAlG,EAAwGtuB,CAAC,GAAC9wB,CAAC,CAAC8Y,CAAC,KAAG,EAAL,CAAD,GAAUe,CAAC,CAACqlC,CAAC,IAAE,EAAH,GAAM,GAAP,CAAX,GAAuBnmD,CAAC,CAACslD,CAAC,IAAE,CAAH,GAAK,GAAN,CAAxB,GAAmCgB,CAAC,CAAC,MAAIf,CAAL,CAApC,GAA4CxlD,CAAC,CAACsmD,CAAC,GAAC,CAAH,CAAvJ,EAA6JF,CAAC,GAACl/C,CAAC,CAACk/C,CAAC,KAAG,EAAL,CAAD,GAAUrlC,CAAC,CAACwkC,CAAC,IAAE,EAAH,GAAM,GAAP,CAAX,GAAuBtlD,CAAC,CAACulD,CAAC,IAAE,CAAH,GAAK,GAAN,CAAxB,GAAmCe,CAAC,CAAC,MAAIvmC,CAAL,CAApC,GAA4ChgB,CAAC,CAACsmD,CAAC,GAAC,CAAH,CAA5M,EAAkNA,CAAC,IAAE,CAArN,EAAuNf,CAAC,GAACF,CAAzN,EAA2NG,CAAC,GAACF,CAA7N,EAA+NtlC,CAAC,GAACgY,CAAjO;AAAhB;;AAAmP,SAAI7jB,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,CAAV,EAAYA,CAAC,EAAb;AAAgBuxC,OAAC,CAAC,CAAC,IAAE,CAACvxC,CAAJ,IAAO7K,CAAR,CAAD,GAAYk9C,CAAC,CAACjB,CAAC,KAAG,EAAL,CAAD,IAAW,EAAX,GAAciB,CAAC,CAAChB,CAAC,IAAE,EAAH,GAAM,GAAP,CAAD,IAAc,EAA5B,GAA+BgB,CAAC,CAACxmC,CAAC,IAAE,CAAH,GAAK,GAAN,CAAD,IAAa,CAA5C,GAA8CwmC,CAAC,CAAC,MAAIJ,CAAL,CAA/C,GAAuDpmD,CAAC,CAACsmD,CAAC,EAAF,CAApE,EAA0EjB,CAAC,GAACE,CAA5E,EAA8EA,CAAC,GAACC,CAAhF,EAAkFA,CAAC,GAACxlC,CAApF,EAAsFA,CAAC,GAAComC,CAAxF,EAA0FA,CAAC,GAACf,CAA5F;AAAhB;AAA8G,GAA/iB,EAAgjBm4D,EAAljB,CAAd;;AAAokB,WAASA,EAAT,CAAY54H,CAAZ,EAAc;AAACu4H,MAAE,CAAC,IAAD,EAAMK,EAAN,CAAF,EAAYF,EAAE,GAACA,EAAE,IAAE,YAAU;AAAC,UAAI14H,CAAC,GAAC,CAAC,CAAC,EAAD,EAAI,EAAJ,EAAO,EAAP,EAAU,EAAV,EAAa,EAAb,CAAD,EAAkB,CAAC,EAAD,EAAI,EAAJ,EAAO,EAAP,EAAU,EAAV,EAAa,EAAb,CAAlB,CAAN;AAAA,UAA0C2mC,CAAC,GAAC3mC,CAAC,CAAC,CAAD,CAA7C;AAAA,UAAiDe,CAAC,GAACf,CAAC,CAAC,CAAD,CAApD;AAAA,UAAwDs6B,CAAC,GAACqM,CAAC,CAAC,CAAD,CAA3D;AAAA,UAA+Dm6B,CAAC,GAAC//D,CAAC,CAAC,CAAD,CAAlE;AAAA,UAAsE2jB,CAAC,GAAC,KAAK,CAA7E;AAAA,UAA+EtJ,CAAC,GAAC,KAAK,CAAtF;AAAA,UAAwFulD,CAAC,GAAC,KAAK,CAA/F;AAAA,UAAiGC,CAAC,GAAC,EAAnG;AAAA,UAAsGxlC,CAAC,GAAC,EAAxG;AAAA,UAA2GomC,CAAC,GAAC,KAAK,CAAlH;AAAA,UAAoHf,CAAC,GAAC,KAAK,CAA3H;AAAA,UAA6HC,CAAC,GAAC,KAAK,CAApI;AAAA,UAAsIttB,CAAC,GAAC,KAAK,CAA7I;AAAA,UAA+IkuB,CAAC,GAAC,KAAK,CAAtJ;;AAAwJ,WAAI58C,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,GAAV,EAAcA,CAAC,EAAf;AAAkB0W,SAAC,CAAC,CAACwlC,CAAC,CAACl8C,CAAD,CAAD,GAAKA,CAAC,IAAE,CAAH,GAAK,OAAKA,CAAC,IAAE,CAAR,CAAX,IAAuBA,CAAxB,CAAD,GAA4BA,CAA5B;AAAlB;;AAAgD,WAAItJ,CAAC,GAACulD,CAAC,GAAC,CAAR,EAAU,CAACrmC,CAAC,CAAClf,CAAD,CAAZ,EAAgBA,CAAC,IAAEomD,CAAC,IAAE,CAAN,EAAQb,CAAC,GAACvlC,CAAC,CAACulC,CAAD,CAAD,IAAM,CAAhC;AAAkC,aAAID,CAAC,GAAC,CAACA,CAAC,GAACC,CAAC,GAACA,CAAC,IAAE,CAAL,GAAOA,CAAC,IAAE,CAAV,GAAYA,CAAC,IAAE,CAAf,GAAiBA,CAAC,IAAE,CAAvB,KAA2B,CAA3B,GAA6B,MAAID,CAAjC,GAAmC,EAArC,EAAwCY,CAAC,GAAC,WAASV,CAAC,CAACH,CAAC,GAACG,CAAC,CAACY,CAAC,GAACZ,CAAC,CAACE,CAAC,CAACxmC,CAAC,CAAClf,CAAD,CAAD,GAAKslD,CAAN,CAAD,GAAUtlD,CAAX,CAAJ,CAAJ,CAAV,GAAkC,QAAMqlD,CAAxC,GAA0C,MAAIe,CAA9C,GAAgD,WAASpmD,CAAnG,EAAqGg4B,CAAC,GAAC,MAAIwtB,CAAC,CAACF,CAAD,CAAL,GAAS,WAASA,CAAzH,EAA2Hh8C,CAAC,GAAC,CAAjI,EAAmIA,CAAC,GAAC,CAArI,EAAuIA,CAAC,EAAxI;AAA2IiiB,WAAC,CAACjiB,CAAD,CAAD,CAAKtJ,CAAL,IAAQg4B,CAAC,GAACA,CAAC,IAAE,EAAH,GAAMA,CAAC,KAAG,CAApB,EAAsBryC,CAAC,CAAC2jB,CAAD,CAAD,CAAKg8C,CAAL,IAAQY,CAAC,GAACA,CAAC,IAAE,EAAH,GAAMA,CAAC,KAAG,CAA1C;AAA3I;AAAlC;;AAAyN,WAAI58C,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,CAAV,EAAYA,CAAC,EAAb;AAAgBiiB,SAAC,CAACjiB,CAAD,CAAD,GAAKiiB,CAAC,CAACjiB,CAAD,CAAD,CAAK/J,KAAL,CAAW,CAAX,CAAL,EAAmB5Z,CAAC,CAAC2jB,CAAD,CAAD,GAAK3jB,CAAC,CAAC2jB,CAAD,CAAD,CAAK/J,KAAL,CAAW,CAAX,CAAxB;AAAhB;;AAAsD,aAAO3a,CAAP;AAAS,KAA3e,EAAnB,EAAigB,KAAK84H,OAAL,GAAa,CAAC,CAACJ,EAAE,CAAC,CAAD,CAAF,CAAM,CAAN,EAAS/9G,KAAT,EAAD,EAAkB+9G,EAAE,CAAC,CAAD,CAAF,CAAM,CAAN,EAAS/9G,KAAT,EAAlB,EAAmC+9G,EAAE,CAAC,CAAD,CAAF,CAAM,CAAN,EAAS/9G,KAAT,EAAnC,EAAoD+9G,EAAE,CAAC,CAAD,CAAF,CAAM,CAAN,EAAS/9G,KAAT,EAApD,EAAqE+9G,EAAE,CAAC,CAAD,CAAF,CAAM,CAAN,EAAS/9G,KAAT,EAArE,CAAD,EAAwF,CAAC+9G,EAAE,CAAC,CAAD,CAAF,CAAM,CAAN,EAAS/9G,KAAT,EAAD,EAAkB+9G,EAAE,CAAC,CAAD,CAAF,CAAM,CAAN,EAAS/9G,KAAT,EAAlB,EAAmC+9G,EAAE,CAAC,CAAD,CAAF,CAAM,CAAN,EAAS/9G,KAAT,EAAnC,EAAoD+9G,EAAE,CAAC,CAAD,CAAF,CAAM,CAAN,EAAS/9G,KAAT,EAApD,EAAqE+9G,EAAE,CAAC,CAAD,CAAF,CAAM,CAAN,EAAS/9G,KAAT,EAArE,CAAxF,CAA9gB;AAA8rB,QAAIgsB,CAAC,GAAC,KAAK,CAAX;AAAA,QAAa5lC,CAAC,GAAC,KAAK,CAApB;AAAA,QAAsBu5B,CAAC,GAAC,KAAK,CAA7B;AAAA,QAA+BwmC,CAAC,GAAC,KAAK,CAAtC;AAAA,QAAwCp8C,CAAC,GAAC,KAAK,CAA/C;AAAA,QAAiDtJ,CAAC,GAAC,KAAK09G,OAAL,CAAa,CAAb,EAAgB,CAAhB,CAAnD;AAAA,QAAsEn4D,CAAC,GAAC,KAAKm4D,OAAL,CAAa,CAAb,CAAxE;AAAA,QAAwFl4D,CAAC,GAAC5gE,CAAC,CAACkD,MAA5F;AAAA,QAAmGk4B,CAAC,GAAC,CAArG;AAAuG,QAAG,MAAIwlC,CAAJ,IAAO,MAAIA,CAAX,IAAc,MAAIA,CAArB,EAAuB,MAAM,IAAI1tD,KAAJ,CAAU,sBAAV,CAAN;;AAAwC,SAAI4tD,CAAC,GAAC9gE,CAAC,CAAC2a,KAAF,CAAQ,CAAR,CAAF,EAAa+J,CAAC,GAAC,EAAf,EAAkB,KAAK2b,IAAL,GAAU,CAACygC,CAAD,EAAGp8C,CAAH,CAA5B,EAAkCiiB,CAAC,GAACi6B,CAAxC,EAA0Cj6B,CAAC,GAAC,IAAEi6B,CAAF,GAAI,EAAhD,EAAmDj6B,CAAC,EAApD;AAAuDrM,OAAC,GAACwmC,CAAC,CAACn6B,CAAC,GAAC,CAAH,CAAH,EAAS,CAACA,CAAC,GAACi6B,CAAF,IAAK,CAAL,IAAQ,MAAIA,CAAJ,IAAOj6B,CAAC,GAACi6B,CAAF,IAAK,CAArB,MAA0BtmC,CAAC,GAAClf,CAAC,CAACkf,CAAC,KAAG,EAAL,CAAD,IAAW,EAAX,GAAclf,CAAC,CAACkf,CAAC,IAAE,EAAH,GAAM,GAAP,CAAD,IAAc,EAA5B,GAA+Blf,CAAC,CAACkf,CAAC,IAAE,CAAH,GAAK,GAAN,CAAD,IAAa,CAA5C,GAA8Clf,CAAC,CAAC,MAAIkf,CAAL,CAAjD,EAAyDqM,CAAC,GAACi6B,CAAF,IAAK,CAAL,KAAStmC,CAAC,GAACA,CAAC,IAAE,CAAH,GAAKA,CAAC,KAAG,EAAT,GAAYc,CAAC,IAAE,EAAjB,EAAoBA,CAAC,GAACA,CAAC,IAAE,CAAH,GAAK,OAAKA,CAAC,IAAE,CAAR,CAApC,CAAnF,CAAT,EAA6I0lC,CAAC,CAACn6B,CAAD,CAAD,GAAKm6B,CAAC,CAACn6B,CAAC,GAACi6B,CAAH,CAAD,GAAOtmC,CAAzJ;AAAvD;;AAAkN,SAAIv5B,CAAC,GAAC,CAAN,EAAQ4lC,CAAR,EAAU5lC,CAAC,IAAG4lC,CAAC,EAAf;AAAkBrM,OAAC,GAACwmC,CAAC,CAAC,IAAE//D,CAAF,GAAI4lC,CAAJ,GAAMA,CAAC,GAAC,CAAT,CAAH,EAAejiB,CAAC,CAAC3jB,CAAD,CAAD,GAAK4lC,CAAC,IAAE,CAAH,IAAM5lC,CAAC,GAAC,CAAR,GAAUu5B,CAAV,GAAYqmC,CAAC,CAAC,CAAD,CAAD,CAAKvlD,CAAC,CAACkf,CAAC,KAAG,EAAL,CAAN,IAAgBqmC,CAAC,CAAC,CAAD,CAAD,CAAKvlD,CAAC,CAACkf,CAAC,IAAE,EAAH,GAAM,GAAP,CAAN,CAAhB,GAAmCqmC,CAAC,CAAC,CAAD,CAAD,CAAKvlD,CAAC,CAACkf,CAAC,IAAE,CAAH,GAAK,GAAN,CAAN,CAAnC,GAAqDqmC,CAAC,CAAC,CAAD,CAAD,CAAKvlD,CAAC,CAAC,MAAIkf,CAAL,CAAN,CAArF;AAAlB;AAAsH;;AAAA,MAAIy+F,EAAE,IAAEC,EAAE,CAACj/G,SAAH,CAAa1X,EAAb,GAAgB,UAASrC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,SAAKxsB,SAAL,CAAena,CAAf,MAAoB,KAAKma,SAAL,CAAena,CAAf,IAAkB,EAAtC,GAA0C,KAAKma,SAAL,CAAena,CAAf,EAAkBuD,IAAlB,CAAuBojC,CAAvB,CAA1C;AAAoE,GAAlG,EAAmGqyF,EAAE,CAACj/G,SAAH,CAAa3X,GAAb,GAAiB,UAASpC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAG,CAAC,KAAKxsB,SAAL,CAAena,CAAf,CAAJ,EAAsB,OAAM,CAAC,CAAP;AAAS,QAAIe,CAAC,GAAC,KAAKoZ,SAAL,CAAena,CAAf,EAAkBmB,OAAlB,CAA0BwlC,CAA1B,CAAN;AAAmC,WAAO,KAAKxsB,SAAL,CAAena,CAAf,EAAkBwa,MAAlB,CAAyBzZ,CAAzB,EAA2B,CAA3B,GAA8B,CAAC,CAAD,GAAGA,CAAxC;AAA0C,GAA9O,EAA+Oi4H,EAAE,CAACj/G,SAAH,CAAaxU,OAAb,GAAqB,UAASvF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAC,GAAC,KAAKoZ,SAAL,CAAena,CAAf,CAAN;AAAwB,QAAGe,CAAH,EAAK,IAAG,MAAImoB,SAAS,CAAChmB,MAAjB,EAAwB,KAAI,IAAIo3B,CAAC,GAACv5B,CAAC,CAACmC,MAAR,EAAe49D,CAAC,GAAC,CAArB,EAAuBA,CAAC,GAACxmC,CAAzB,EAA2B,EAAEwmC,CAA7B;AAA+B//D,OAAC,CAAC+/D,CAAD,CAAD,CAAKn7D,IAAL,CAAU,IAAV,EAAeghC,CAAf;AAA/B,KAAxB,MAA8E,KAAI,IAAIjiB,CAAC,GAAClJ,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2BujB,SAA3B,EAAqC,CAArC,CAAN,EAA8C9N,CAAC,GAACra,CAAC,CAACmC,MAAlD,EAAyDy9D,CAAC,GAAC,CAA/D,EAAiEA,CAAC,GAACvlD,CAAnE,EAAqE,EAAEulD,CAAvE;AAAyE5/D,OAAC,CAAC4/D,CAAD,CAAD,CAAKj7D,KAAL,CAAW,IAAX,EAAgBgf,CAAhB;AAAzE;AAA4F,GAAzd,EAA0ds0G,EAAE,CAACj/G,SAAH,CAAatI,OAAb,GAAqB,YAAU;AAAC,SAAK0I,SAAL,GAAe,EAAf;AAAkB,GAA5gB,EAA6gB6+G,EAAE,CAACj/G,SAAH,CAAa4jB,IAAb,GAAkB,UAASgJ,CAAT,EAAW;AAAC,SAAKtkC,EAAL,CAAQ,MAAR,EAAe,UAASrC,CAAT,EAAW;AAAC2mC,OAAC,CAACpjC,IAAF,CAAOvD,CAAP;AAAU,KAArC;AAAuC,GAAllB,EAAmlBg5H,EAArlB,CAAN;;AAA+lB,WAASA,EAAT,GAAa;AAACT,MAAE,CAAC,IAAD,EAAMS,EAAN,CAAF,EAAY,KAAK7+G,SAAL,GAAe,EAA3B;AAA8B;;AAAA,MAAI8+G,EAAJ;AAAA,MAAOC,EAAE,IAAE,UAASl5H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAG,cAAY,OAAOA,CAAnB,IAAsB,SAAOA,CAAhC,EAAkC,MAAM,IAAIpI,SAAJ,CAAc,qEAAkEoI,CAAlE,CAAd,CAAN;AAAyF3mC,KAAC,CAAC+Z,SAAF,GAAYvT,MAAM,CAACgW,MAAP,CAAcmqB,CAAC,IAAEA,CAAC,CAAC5sB,SAAnB,EAA6B;AAACyO,iBAAW,EAAC;AAACnD,aAAK,EAACrlB,CAAP;AAAS4oC,kBAAU,EAAC,CAAC,CAArB;AAAuBC,gBAAQ,EAAC,CAAC,CAAjC;AAAmC1H,oBAAY,EAAC,CAAC;AAAjD;AAAb,KAA7B,CAAZ,EAA4GwF,CAAC,KAAGngC,MAAM,CAAC6lE,cAAP,GAAsB7lE,MAAM,CAAC6lE,cAAP,CAAsBrsE,CAAtB,EAAwB2mC,CAAxB,CAAtB,GAAiD3mC,CAAC,CAACyjE,SAAF,GAAY98B,CAAhE,CAA7G;AAAgL,GAAzT,CAA0TwyF,EAA1T,EAA6TF,EAAE,GAACF,EAAhU,GAAoUI,EAAE,CAACp/G,SAAH,CAAaq/G,WAAb,GAAyB,YAAU;AAAC,SAAKC,IAAL,CAAU7oG,KAAV,MAAoB,KAAK6oG,IAAL,CAAUn2H,MAAV,GAAiB,KAAKo2H,QAAL,GAAcxjH,UAAU,CAAC,KAAKsjH,WAAL,CAAiB78G,IAAjB,CAAsB,IAAtB,CAAD,EAA6B,KAAKu6B,KAAlC,CAAzC,GAAkF,KAAKwiF,QAAL,GAAc,IAApH;AAAyH,GAAje,EAAkeH,EAAE,CAACp/G,SAAH,CAAaxW,IAAb,GAAkB,UAASvD,CAAT,EAAW;AAAC,SAAKq5H,IAAL,CAAU91H,IAAV,CAAevD,CAAf,GAAkB,KAAKs5H,QAAL,KAAgB,KAAKA,QAAL,GAAcxjH,UAAU,CAAC,KAAKsjH,WAAL,CAAiB78G,IAAjB,CAAsB,IAAtB,CAAD,EAA6B,KAAKu6B,KAAlC,CAAxC,CAAlB;AAAoG,GAApmB,EAAqmBqiF,EAAvmB,CAAT;;AAAonB,WAASA,EAAT,GAAa;AAACZ,MAAE,CAAC,IAAD,EAAMY,EAAN,CAAF;;AAAY,QAAIn5H,CAAC,GAAC,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,CAAC3mC,CAAJ,EAAM,MAAM,IAAIosE,cAAJ,CAAmB,2DAAnB,CAAN;AAAsF,aAAM,CAACzlC,CAAD,IAAI,oBAAiBA,CAAjB,KAAoB,cAAY,OAAOA,CAA3C,GAA6C3mC,CAA7C,GAA+C2mC,CAArD;AAAuD,KAAjK,CAAkK,IAAlK,EAAuKsyF,EAAE,CAACtzH,IAAH,CAAQ,IAAR,EAAaozH,EAAb,CAAvK,CAAN;;AAA+L,WAAO/4H,CAAC,CAACq5H,IAAF,GAAO,EAAP,EAAUr5H,CAAC,CAAC82C,KAAF,GAAQ,CAAlB,EAAoB92C,CAAC,CAACs5H,QAAF,GAAW,IAA/B,EAAoCt5H,CAA3C;AAA6C;;AAAA,WAASukB,EAAT,CAAYvkB,CAAZ,EAAc;AAAC,WAAOA,CAAC,IAAE,EAAH,GAAM,CAAC,QAAMA,CAAP,KAAW,CAAjB,GAAmB,CAAC,WAASA,CAAV,KAAc,CAAjC,GAAmCA,CAAC,KAAG,EAA9C;AAAiD;;AAAA,WAASu5H,EAAT,CAAYv5H,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAC,GAAC,IAAIk/F,UAAJ,CAAex5H,CAAC,CAAC2L,MAAjB,EAAwB3L,CAAC,CAACknH,UAA1B,EAAqClnH,CAAC,CAACmnH,UAAF,IAAc,CAAnD,CAAN;AAAA,QAA4DrmD,CAAC,GAAC,IAAI63D,EAAJ,CAAOn9G,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2BghC,CAA3B,CAAP,CAA9D;AAAA,QAAoGjiB,CAAC,GAAC,IAAI0tF,UAAJ,CAAepyG,CAAC,CAACmnH,UAAjB,CAAtG;AAAA,QAAmI/rG,CAAC,GAAC,IAAIo+G,UAAJ,CAAe90G,CAAC,CAAC/Y,MAAjB,CAArI;AAAA,QAA8Jg1D,CAAC,GAAC,KAAK,CAArK;AAAA,QAAuKC,CAAC,GAAC,KAAK,CAA9K;AAAA,QAAgLxlC,CAAC,GAAC,KAAK,CAAvL;AAAA,QAAyLomC,CAAC,GAAC,KAAK,CAAhM;AAAA,QAAkMf,CAAC,GAAC,KAAK,CAAzM;AAAA,QAA2MC,CAAC,GAAC,KAAK,CAAlN;AAAA,QAAoNttB,CAAC,GAAC,KAAK,CAA3N;AAAA,QAA6NkuB,CAAC,GAAC,KAAK,CAApO;AAAA,QAAsO/xC,CAAC,GAAC,KAAK,CAA7O;;AAA+O,SAAIoxC,CAAC,GAAC5/D,CAAC,CAAC,CAAD,CAAH,EAAO6/D,CAAC,GAAC7/D,CAAC,CAAC,CAAD,CAAV,EAAcq6B,CAAC,GAACr6B,CAAC,CAAC,CAAD,CAAjB,EAAqBygE,CAAC,GAACzgE,CAAC,CAAC,CAAD,CAAxB,EAA4BwuB,CAAC,GAAC,CAAlC,EAAoCA,CAAC,GAAC+K,CAAC,CAACp3B,MAAxC,EAA+CqsB,CAAC,IAAE,CAAlD;AAAoDkxC,OAAC,GAACl8C,EAAE,CAAC+V,CAAC,CAAC/K,CAAD,CAAF,CAAJ,EAAWmxC,CAAC,GAACn8C,EAAE,CAAC+V,CAAC,CAAC/K,CAAC,GAAC,CAAH,CAAF,CAAf,EAAwB6jB,CAAC,GAAC7uB,EAAE,CAAC+V,CAAC,CAAC/K,CAAC,GAAC,CAAH,CAAF,CAA5B,EAAqC+xC,CAAC,GAAC/8C,EAAE,CAAC+V,CAAC,CAAC/K,CAAC,GAAC,CAAH,CAAF,CAAzC,EAAkDuxC,CAAC,CAAC+3D,OAAF,CAAUp4D,CAAV,EAAYC,CAAZ,EAActtB,CAAd,EAAgBkuB,CAAhB,EAAkBlmD,CAAlB,EAAoBmU,CAApB,CAAlD,EAAyEnU,CAAC,CAACmU,CAAD,CAAD,GAAKhL,EAAE,CAACnJ,CAAC,CAACmU,CAAD,CAAD,GAAKoxC,CAAN,CAAhF,EAAyFvlD,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAOhL,EAAE,CAACnJ,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAOqxC,CAAR,CAAlG,EAA6GxlD,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAOhL,EAAE,CAACnJ,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAO6L,CAAR,CAAtH,EAAiIhgB,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAOhL,EAAE,CAACnJ,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAOiyC,CAAR,CAA1I,EAAqJb,CAAC,GAACF,CAAvJ,EAAyJG,CAAC,GAACF,CAA3J,EAA6JtlC,CAAC,GAACgY,CAA/J,EAAiKouB,CAAC,GAACF,CAAnK;AAApD;;AAAyN,WAAO58C,CAAP;AAAS;;AAAA,MAAI+0G,EAAE,IAAE70E,EAAE,CAAC7qC,SAAH,CAAa2/G,aAAb,GAA2B,UAAS/yF,CAAT,EAAW5lC,CAAX,EAAau5B,CAAb,EAAewmC,CAAf,EAAiB;AAAC,WAAO,YAAU;AAAC,UAAI9gE,CAAC,GAACu5H,EAAE,CAAC5yF,CAAD,EAAG5lC,CAAH,EAAKu5B,CAAL,CAAR;AAAgBwmC,OAAC,CAAC1/B,GAAF,CAAMphC,CAAN,EAAQ2mC,CAAC,CAACugF,UAAV;AAAsB,KAAxD;AAAyD,GAAtG,EAAuGsR,EAAE,CAAC5zE,EAAD,EAAI,IAAJ,EAAS,CAAC;AAACx/B,OAAG,EAAC,MAAL;AAAYsD,OAAG,EAAC,eAAU;AAAC,aAAO,IAAP;AAAY;AAAvC,GAAD,CAAT,CAAzG,EAA8Jk8B,EAAhK,CAAN;;AAA0K,WAASA,EAAT,CAAY5kD,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoB;AAACi+F,MAAE,CAAC,IAAD,EAAM3zE,EAAN,CAAF;AAAY,QAAIkc,CAAC,GAAClc,EAAE,CAAC+0E,IAAT;AAAA,QAAcj1G,CAAC,GAAC,IAAI80G,UAAJ,CAAex5H,CAAC,CAAC2L,MAAjB,CAAhB;AAAA,QAAyCyP,CAAC,GAAC,IAAIg3F,UAAJ,CAAepyG,CAAC,CAACmnH,UAAjB,CAA3C;AAAA,QAAwExmD,CAAC,GAAC,CAA1E;;AAA4E,SAAI,KAAKi5D,YAAL,GAAkB,IAAIV,EAAJ,EAAlB,EAAyB,KAAKU,YAAL,CAAkBr2H,IAAlB,CAAuB,KAAKm2H,aAAL,CAAmBh1G,CAAC,CAAC+iG,QAAF,CAAW9mD,CAAX,EAAaA,CAAC,GAACG,CAAf,CAAnB,EAAqCn6B,CAArC,EAAuC5lC,CAAvC,EAAyCqa,CAAzC,CAAvB,CAAzB,EAA6FulD,CAAC,GAACG,CAAnG,EAAqGH,CAAC,GAACj8C,CAAC,CAACxhB,MAAzG,EAAgHy9D,CAAC,IAAEG,CAAnH;AAAqH//D,OAAC,GAAC,IAAIsvG,WAAJ,CAAgB,CAAC9rF,EAAE,CAACG,CAAC,CAACi8C,CAAC,GAAC,CAAH,CAAF,CAAH,EAAYp8C,EAAE,CAACG,CAAC,CAACi8C,CAAC,GAAC,CAAH,CAAF,CAAd,EAAuBp8C,EAAE,CAACG,CAAC,CAACi8C,CAAC,GAAC,CAAH,CAAF,CAAzB,EAAkCp8C,EAAE,CAACG,CAAC,CAACi8C,CAAC,GAAC,CAAH,CAAF,CAApC,CAAhB,CAAF,EAAiE,KAAKi5D,YAAL,CAAkBr2H,IAAlB,CAAuB,KAAKm2H,aAAL,CAAmBh1G,CAAC,CAAC+iG,QAAF,CAAW9mD,CAAX,EAAaA,CAAC,GAACG,CAAf,CAAnB,EAAqCn6B,CAArC,EAAuC5lC,CAAvC,EAAyCqa,CAAzC,CAAvB,CAAjE;AAArH;;AAA0P,SAAKw+G,YAAL,CAAkBr2H,IAAlB,CAAuB,YAAU;AAAC+2B,OAAC,CAAC,IAAD,EAAM,UAASt6B,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAaznH,CAAC,CAACmnH,UAAF,GAAannH,CAAC,CAACA,CAAC,CAACmnH,UAAF,GAAa,CAAd,CAA3B,CAAP;AAAoD,OAAhE,CAAiE/rG,CAAjE,CAAN,CAAD;AAA4E,KAA9G;AAAgH;;AAAA,WAAS2mE,EAAT,CAAY/hF,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAM,YAAYhxB,IAAZ,CAAiBgxB,CAAjB,IAAoBA,CAApB,IAAuB,QAAQhxB,IAAR,CAAa3V,CAAb,MAAkBA,CAAC,GAACuuG,EAAE,CAACC,gBAAH,CAAoBlsF,CAAC,CAACnM,QAAF,CAAW+f,IAA/B,EAAoCl2B,CAApC,CAApB,GAA4DuuG,EAAE,CAACC,gBAAH,CAAoBxuG,CAApB,EAAsB2mC,CAAtB,CAAnF,CAAN;AAAmH;;AAAA,WAASkzF,EAAT,CAAY75H,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,WAAOf,CAAC,IAAEe,CAAC,CAAC+4H,WAAL,IAAkBnzF,CAAC,KAAG5lC,CAAC,CAAC+4H,WAAxB,GAAoC/4H,CAAC,CAAC+4H,WAAtC,GAAkDnzF,CAAzD;AAA2D;;AAAA,WAASozF,EAAT,CAAY/5H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAG,EAAE3mC,CAAC,YAAY2mC,CAAf,CAAH,EAAqB,MAAM,IAAIpI,SAAJ,CAAc,mCAAd,CAAN;AAAyD;AACnv1F;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAIy7F,EAAE,GAAC,SAAHA,EAAG,CAASh6H,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,WAAO4lC,CAAC,IAAEszF,EAAE,CAACj6H,CAAC,CAAC+Z,SAAH,EAAa4sB,CAAb,CAAL,EAAqB5lC,CAAC,IAAEk5H,EAAE,CAACj6H,CAAD,EAAGe,CAAH,CAA1B,EAAgCf,CAAvC;AAAyC,GAAhE;;AAAiE,WAASi6H,EAAT,CAAYj6H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC4lC,CAAC,CAACzjC,MAAhB,EAAuBnC,CAAC,EAAxB,EAA2B;AAAC,UAAIu5B,CAAC,GAACqM,CAAC,CAAC5lC,CAAD,CAAP;AAAWu5B,OAAC,CAACsO,UAAF,GAAatO,CAAC,CAACsO,UAAF,IAAc,CAAC,CAA5B,EAA8BtO,CAAC,CAAC6G,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU7G,CAAV,KAAcA,CAAC,CAACuO,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6EriC,MAAM,CAAC06B,cAAP,CAAsBlhC,CAAtB,EAAwBs6B,CAAC,CAAClV,GAA1B,EAA8BkV,CAA9B,CAA7E;AAA8G;AAAC;;AAAA,WAAS4/F,EAAT,CAAYl6H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAG,cAAY,OAAOA,CAAnB,IAAsB,SAAOA,CAAhC,EAAkC,MAAM,IAAIpI,SAAJ,CAAc,qEAAkEoI,CAAlE,CAAd,CAAN;AAAyF3mC,KAAC,CAAC+Z,SAAF,GAAYvT,MAAM,CAACgW,MAAP,CAAcmqB,CAAC,IAAEA,CAAC,CAAC5sB,SAAnB,EAA6B;AAACyO,iBAAW,EAAC;AAACnD,aAAK,EAACrlB,CAAP;AAAS4oC,kBAAU,EAAC,CAAC,CAArB;AAAuBC,gBAAQ,EAAC,CAAC,CAAjC;AAAmC1H,oBAAY,EAAC,CAAC;AAAjD;AAAb,KAA7B,CAAZ,EAA4GwF,CAAC,KAAGngC,MAAM,CAAC6lE,cAAP,GAAsB7lE,MAAM,CAAC6lE,cAAP,CAAsBrsE,CAAtB,EAAwB2mC,CAAxB,CAAtB,GAAiD3mC,CAAC,CAACyjE,SAAF,GAAY98B,CAAhE,CAA7G;AAAgL;;AAAA,WAASwzF,EAAT,CAAYn6H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAG,CAAC3mC,CAAJ,EAAM,MAAM,IAAIosE,cAAJ,CAAmB,2DAAnB,CAAN;AAAsF,WAAM,CAACzlC,CAAD,IAAI,oBAAiBA,CAAjB,KAAoB,cAAY,OAAOA,CAA3C,GAA6C3mC,CAA7C,GAA+C2mC,CAArD;AAAuD;;AAAA,WAASyzF,EAAT,CAAYt5D,CAAZ,EAAcp8C,CAAd,EAAgB;AAAC,KAAC,OAAD,EAAS,WAAT,EAAsB3b,OAAtB,CAA8B,UAAS/I,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAR,IAAam6B,CAAC,CAACyxC,WAAF,CAAcvyG,CAAd,CAAb;AAA8B,aAAI,IAAIe,CAAR,IAAa+/D,CAAC,CAACyxC,WAAF,CAAcvyG,CAAd,EAAiB2mC,CAAjB,CAAb,EAAiC;AAAC,cAAIrM,CAAC,GAACwmC,CAAC,CAACyxC,WAAF,CAAcvyG,CAAd,EAAiB2mC,CAAjB,EAAoB5lC,CAApB,CAAN;AAA6B2jB,WAAC,CAAC4V,CAAD,EAAGt6B,CAAH,EAAK2mC,CAAL,EAAO5lC,CAAP,CAAD;AAAW;AAAxG;AAAyG,KAAnJ;AAAqJ;;AAAA,WAASs5H,EAAT,CAAYr6H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAACu5H,EAAE,CAACt6H,CAAD,EAAG,EAAH,CAAR;AAAA,QAAes6B,CAAC,GAACv5B,CAAC,CAACuxG,SAAF,CAAY3rE,CAAC,CAAC1lC,EAAd,CAAjB;AAAmC,QAAG,CAACq5B,CAAJ,EAAM,OAAO,IAAP;AAAY,QAAGA,CAAC,CAACg3E,QAAF,IAAY3qE,CAAC,CAAC2qE,QAAd,IAAwBh3E,CAAC,CAACg3E,QAAF,CAAWpuG,MAAX,KAAoByjC,CAAC,CAAC2qE,QAAF,CAAWpuG,MAAvD,IAA+Do3B,CAAC,CAACk3E,OAAF,KAAY7qE,CAAC,CAAC6qE,OAA7E,IAAsFl3E,CAAC,CAACo3E,aAAF,KAAkB/qE,CAAC,CAAC+qE,aAA7G,EAA2H,OAAO,IAAP;AAAY,QAAI5wC,CAAC,GAACw5D,EAAE,CAAChgG,CAAD,EAAGqM,CAAH,CAAR;AAAcrM,KAAC,CAACg3E,QAAF,KAAaxwC,CAAC,CAACwwC,QAAF,GAAW,UAAStxG,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAACqM,CAAC,CAAChsB,KAAF,EAAN;AAAgB5Z,OAAC,GAACA,CAAC,IAAE,CAAL;;AAAO,WAAI,IAAI+/D,CAAC,GAACngD,IAAI,CAACE,GAAL,CAAS7gB,CAAC,CAACkD,MAAX,EAAkByjC,CAAC,CAACzjC,MAAF,GAASnC,CAA3B,CAAN,EAAoC2jB,CAAC,GAAC3jB,CAA1C,EAA4C2jB,CAAC,GAACo8C,CAA9C,EAAgDp8C,CAAC,EAAjD;AAAoD4V,SAAC,CAAC5V,CAAC,GAAC3jB,CAAH,CAAD,GAAOu5H,EAAE,CAACt6H,CAAC,CAAC0kB,CAAD,CAAF,EAAM4V,CAAC,CAAC5V,CAAC,GAAC3jB,CAAH,CAAP,CAAT;AAApD;;AAA2E,aAAOu5B,CAAP;AAAS,KAA3H,CAA4HA,CAAC,CAACg3E,QAA9H,EAAuI3qE,CAAC,CAAC2qE,QAAzI,EAAkJ3qE,CAAC,CAAC+qE,aAAF,GAAgBp3E,CAAC,CAACo3E,aAApK,CAAxB,GAA4M5wC,CAAC,CAACwwC,QAAF,CAAWvoG,OAAX,CAAmB,UAAS/I,CAAT,EAAW;AAAC,OAAC,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC3mC,SAAC,CAAC0gH,WAAF,KAAgB1gH,CAAC,CAAC0gH,WAAF,GAAc3+B,EAAE,CAACp7C,CAAD,EAAG3mC,CAAC,CAAC+4E,GAAL,CAAhC,GAA2C/4E,CAAC,CAAColB,GAAF,IAAO,CAACplB,CAAC,CAAColB,GAAF,CAAMs7F,WAAd,KAA4B1gH,CAAC,CAAColB,GAAF,CAAMs7F,WAAN,GAAkB3+B,EAAE,CAACp7C,CAAD,EAAG3mC,CAAC,CAAColB,GAAF,CAAM2zD,GAAT,CAAhD,CAA3C,EAA0G/4E,CAAC,CAACipB,GAAF,IAAO,CAACjpB,CAAC,CAACipB,GAAF,CAAMy3F,WAAd,KAA4B1gH,CAAC,CAACipB,GAAF,CAAMy3F,WAAN,GAAkB3+B,EAAE,CAACp7C,CAAD,EAAG3mC,CAAC,CAACipB,GAAF,CAAM8vD,GAAT,CAAhD,CAA1G;AAAyK,OAAvL,CAAwL/4E,CAAxL,EAA0L8gE,CAAC,CAAC4/C,WAA5L,CAAD;AAA0M,KAAzO,CAA5M;;AAAub,SAAI,IAAIh8F,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3jB,CAAC,CAACuxG,SAAF,CAAYpvG,MAA1B,EAAiCwhB,CAAC,EAAlC;AAAqC3jB,OAAC,CAACuxG,SAAF,CAAY5tF,CAAZ,EAAezjB,EAAf,KAAoB0lC,CAAC,CAAC1lC,EAAtB,KAA2BF,CAAC,CAACuxG,SAAF,CAAY5tF,CAAZ,IAAeo8C,CAA1C;AAArC;;AAAkF,WAAO//D,CAAC,CAACuxG,SAAF,CAAY3rE,CAAC,CAAC1lC,EAAd,IAAkB6/D,CAAlB,EAAoB//D,CAAC,CAACuxG,SAAF,CAAY3rE,CAAC,CAACoyC,GAAd,IAAmBjY,CAAvC,EAAyC//D,CAAhD;AAAkD;;AAAA,WAASw5H,EAAT,CAAYv6H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAO3mC,CAAC,GAAC,GAAF,GAAM2mC,CAAb;AAAe;;AAAA,WAAS6zF,EAAT,CAAYx6H,CAAZ,EAAc;AAAC,SAAI,IAAI2mC,CAAC,GAAC3mC,CAAC,CAACsyG,SAAF,CAAYpvG,MAAtB,EAA6ByjC,CAAC,EAA9B,GAAkC;AAAC,UAAI5lC,CAAC,GAACf,CAAC,CAACsyG,SAAF,CAAY3rE,CAAZ,CAAN;AAAqB5lC,OAAC,CAAC2/G,WAAF,GAAc3+B,EAAE,CAAC/hF,CAAC,CAAC+4E,GAAH,EAAOh4E,CAAC,CAACg4E,GAAT,CAAhB,EAA8Bh4E,CAAC,CAACE,EAAF,GAAKs5H,EAAE,CAAC5zF,CAAD,EAAG5lC,CAAC,CAACg4E,GAAL,CAArC,EAA+C/4E,CAAC,CAACsyG,SAAF,CAAYvxG,CAAC,CAACE,EAAd,IAAkBF,CAAjE,EAAmE,CAACf,CAAC,CAACsyG,SAAF,CAAYvxG,CAAC,CAACg4E,GAAd,IAAmBh4E,CAApB,EAAuBwF,UAAvB,KAAoCxF,CAAC,CAACwF,UAAF,GAAa,EAAb,EAAgBk0H,EAAE,CAACj7F,IAAH,CAAQ,oEAAR,CAApD,CAAnE;AAAsM;AAAC;;AAAA,WAASk7F,EAAT,CAAY/zF,CAAZ,EAAc;AAACyzF,MAAE,CAACzzF,CAAD,EAAG,UAAS3mC,CAAT,EAAW;AAACA,OAAC,CAAC+4E,GAAF,KAAQ/4E,CAAC,CAAC0gH,WAAF,GAAc3+B,EAAE,CAACp7C,CAAC,CAACoyC,GAAH,EAAO/4E,CAAC,CAAC+4E,GAAT,CAAxB;AAAuC,KAAtD,CAAF;AAA0D;;AAAA,WAAS4hD,EAAT,CAAY36H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAACf,CAAC,CAACsxG,QAAF,CAAWtxG,CAAC,CAACsxG,QAAF,CAAWpuG,MAAX,GAAkB,CAA7B,CAAN;AAAsC,WAAOyjC,CAAC,IAAE5lC,CAAH,IAAMA,CAAC,CAACue,QAAR,GAAiB,MAAIve,CAAC,CAACue,QAAvB,GAAgC,OAAKtf,CAAC,CAACozG,cAAF,IAAkB,EAAvB,CAAvC;AAAkE;;AAAA,MAAIwnB,EAAE,GAAC,SAAHA,EAAG,CAAS56H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAGnrB,KAAK,CAACG,OAAN,CAAc3b,CAAd,CAAH,EAAoB,OAAOA,CAAP;AAAS,QAAGirB,MAAM,CAACC,QAAP,IAAmB1kB,MAAM,CAACxG,CAAD,CAA5B,EAAgC,OAAO,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,EAAN;AAAA,UAASu5B,CAAC,GAAC,CAAC,CAAZ;AAAA,UAAcwmC,CAAC,GAAC,CAAC,CAAjB;AAAA,UAAmBp8C,CAAC,GAAC,KAAK,CAA1B;;AAA4B,UAAG;AAAC,aAAI,IAAItJ,CAAJ,EAAMulD,CAAC,GAAC3gE,CAAC,CAACirB,MAAM,CAACC,QAAR,CAAD,EAAZ,EAAiC,EAAEoP,CAAC,GAAC,CAAClf,CAAC,GAACulD,CAAC,CAAC/oD,IAAF,EAAH,EAAa9L,IAAjB,MAAyB/K,CAAC,CAACwC,IAAF,CAAO6X,CAAC,CAACiK,KAAT,GAAgB,CAACshB,CAAD,IAAI5lC,CAAC,CAACmC,MAAF,KAAWyjC,CAAxD,CAAjC,EAA4FrM,CAAC,GAAC,CAAC,CAA/F;AAAiG;AAAjG;AAAmG,OAAvG,CAAuG,OAAMt6B,CAAN,EAAQ;AAAC8gE,SAAC,GAAC,CAAC,CAAH,EAAKp8C,CAAC,GAAC1kB,CAAP;AAAS,OAAzH,SAAgI;AAAC,YAAG;AAAC,WAACs6B,CAAD,IAAIqmC,CAAC,UAAL,IAAcA,CAAC,UAAD,EAAd;AAAyB,SAA7B,SAAoC;AAAC,cAAGG,CAAH,EAAK,MAAMp8C,CAAN;AAAQ;AAAC;;AAAA,aAAO3jB,CAAP;AAAS,KAAvO,CAAwOf,CAAxO,EAA0O2mC,CAA1O,CAAP;AAAoP,UAAM,IAAIpI,SAAJ,CAAc,sDAAd,CAAN;AAA4E,GAAlZ;AAAA,MAAmZ+7F,EAAE,GAAC1tB,EAAE,CAACa,YAAzZ;AAAA,MAAsagtB,EAAE,GAAC7tB,EAAE,CAACtuF,GAA5a;AAAA,MAAgbu8G,EAAE,IAAEX,EAAE,CAACY,EAAD,EAAIluB,EAAE,CAACoB,WAAP,CAAF,EAAsBgsB,EAAE,CAACc,EAAD,EAAI,CAAC;AAAC11G,OAAG,EAAC,sBAAL;AAA4BC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAACqM,CAAC,CAACoyC,GAAR;AAAA,UAAYjY,CAAC,GAACn6B,CAAC,CAAC1lC,EAAhB;AAAmB,WAAKyC,OAAL,GAAa,IAAb,EAAkB3C,CAAC,KAAG,KAAKwM,KAAL,GAAWxM,CAAd,CAAnB,EAAoC,KAAKkE,KAAL,GAAW;AAACgR,gBAAQ,EAAC,KAAK8kH,MAAL,CAAYzoB,SAAZ,CAAsBxxC,CAAtB,CAAV;AAAmCn/D,cAAM,EAAC3B,CAAC,CAAC2B,MAA5C;AAAmDsc,eAAO,EAAC,wCAAsCqc,CAAtC,GAAwC,GAAnG;AAAuGqmB,oBAAY,EAAC3gD,CAAC,CAAC2gD,YAAtH;AAAmIh5B,YAAI,EAAC,OAAK3nB,CAAC,CAAC2B,MAAP,GAAc,CAAd,GAAgB;AAAxJ,OAA/C,EAA0M,KAAK4D,OAAL,CAAa,OAAb,CAA1M;AAAgO;AAArS,GAAD,EAAwS;AAAC6f,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAAC,IAAN;AAAW,WAAK52B,OAAL,GAAa,IAAb,EAAkB,KAAK6J,KAAL,GAAW,eAA7B;AAA6C,UAAIuzD,CAAC,GAAC,IAAI+vC,EAAJ,EAAN;AAAa,WAAKmqB,gBAAL,CAAsBjyH,OAAtB,CAA8B,UAAS/I,CAAT,EAAW;AAAC,eAAO8gE,CAAC,CAACyvC,SAAF,CAAYvwG,CAAZ,CAAP;AAAsB,OAAhE,GAAkE,KAAKi7H,gBAAL,CAAsBlyH,OAAtB,CAA8B,UAAS/I,CAAT,EAAW;AAAC,eAAO8gE,CAAC,CAAC8vC,YAAF,CAAe5wG,CAAf,CAAP;AAAyB,OAAnE,CAAlE,EAAuI8gE,CAAC,CAACv9D,IAAF,CAAOvD,CAAC,CAAC2gD,YAAT,CAAvI,EAA8JmgB,CAAC,CAACp3C,GAAF,EAA9J,EAAsKo3C,CAAC,CAACqwC,QAAF,CAAWp4B,GAAX,GAAepyC,CAArL,EAAuLm6B,CAAC,CAACqwC,QAAF,CAAWlwG,EAAX,GAAcF,CAArM,EAAuM+/D,CAAC,CAACqwC,QAAF,CAAW5qG,UAAX,GAAsBu6D,CAAC,CAACqwC,QAAF,CAAW5qG,UAAX,IAAuB,EAApP;AAAuP,UAAIme,CAAC,GAAC21G,EAAE,CAAC,KAAKU,MAAN,EAAaj6D,CAAC,CAACqwC,QAAf,CAAR;AAAiC,WAAKiC,cAAL,GAAoBtyC,CAAC,CAACqwC,QAAF,CAAWiC,cAA/B,EAA8C1uF,CAAC,IAAE,KAAKq2G,MAAL,GAAYr2G,CAAZ,EAAc,KAAKw2G,MAAL,GAAY,KAAKH,MAAL,CAAYzoB,SAAZ,CAAsBvxG,CAAtB,CAA5B,IAAsD,KAAKwE,OAAL,CAAa,mBAAb,CAArG,EAAuI,KAAKkgD,KAAL,GAAa+rD,OAAb,KAAuBlvF,CAAC,CAACy0B,YAAF,CAAe,KAAKokF,kBAApB,GAAwC,KAAKA,kBAAL,GAAwB74G,CAAC,CAACxM,UAAF,CAAa,YAAU;AAACwkB,SAAC,CAAC/0B,OAAF,CAAU,oBAAV;AAAgC,OAAxD,EAAyDo1H,EAAE,CAAC,KAAKl1E,KAAL,EAAD,EAAc,CAAC,CAAC/gC,CAAhB,CAA3D,CAAvF,CAAvI,EAA8S,KAAKnf,OAAL,CAAa,gBAAb,CAA9S;AAA6U;AAAptB,GAAxS,EAA8/B;AAAC6f,OAAG,EAAC,SAAL;AAAeC,SAAK,EAAC,iBAAU;AAAC,WAAK9f,OAAL,CAAa,SAAb,GAAwB,KAAK61H,WAAL,EAAxB,EAA2C94G,CAAC,CAACy0B,YAAF,CAAe,KAAKokF,kBAApB,CAA3C,EAAmF74G,CAAC,CAACy0B,YAAF,CAAe,KAAKskF,qBAApB,CAAnF,EAA8H,KAAKj5H,GAAL,EAA9H;AAAyI;AAAzK,GAA9/B,EAAyqC;AAACgjB,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,iBAAU;AAAC,UAAG,KAAK3hB,OAAR,EAAgB;AAAC,YAAI1D,CAAC,GAAC,KAAK0D,OAAX;AAAmB,aAAKA,OAAL,GAAa,IAAb,EAAkB1D,CAAC,CAACygD,kBAAF,GAAqB,IAAvC,EAA4CzgD,CAAC,CAAC6+C,KAAF,EAA5C;AAAsD;AAAC;AAA/H,GAAzqC,EAA0yC;AAACz5B,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,eAAStkB,CAAT,EAAWf,CAAX,EAAa;AAAC,UAAIs6B,CAAC,GAAC,IAAN;AAAW,UAAG,CAACv5B,CAAJ,EAAM,OAAO,KAAKm6H,MAAZ;AAAmB,UAAG,mBAAiB,KAAK3tH,KAAzB,EAA+B,MAAM,IAAI2F,KAAJ,CAAU,uCAAqC,KAAK3F,KAApD,CAAN;;AAAiE,UAAG,YAAU,OAAOxM,CAApB,EAAsB;AAAC,YAAG,CAAC,KAAKg6H,MAAL,CAAYzoB,SAAZ,CAAsBvxG,CAAtB,CAAJ,EAA6B,MAAM,IAAImS,KAAJ,CAAU,2BAAyBnS,CAAnC,CAAN;AAA4CA,SAAC,GAAC,KAAKg6H,MAAL,CAAYzoB,SAAZ,CAAsBvxG,CAAtB,CAAF;AAA2B;;AAAA,UAAGuhB,CAAC,CAACy0B,YAAF,CAAe,KAAKskF,qBAApB,GAA2Cr7H,CAA9C,EAAgD;AAAC,YAAI2mC,CAAC,GAAC5lC,CAAC,CAACqyG,cAAF,GAAiB,CAAjB,GAAmB,GAAnB,IAAwB,GAA9B;AAAkC,aAAKioB,qBAAL,GAA2B/4G,CAAC,CAACxM,UAAF,CAAa,KAAK2vC,KAAL,CAAWlpC,IAAX,CAAgB,IAAhB,EAAqBxb,CAArB,EAAuB,CAAC,CAAxB,CAAb,EAAwC4lC,CAAxC,CAA3B;AAAsE,OAAzJ,MAA6J;AAAC,YAAIm6B,CAAC,GAAC,KAAKvzD,KAAX;AAAA,YAAiBmX,CAAC,GAAC,CAAC,KAAKw2G,MAAN,IAAcn6H,CAAC,CAACE,EAAF,KAAO,KAAKi6H,MAAL,CAAYj6H,EAApD;AAAuD,YAAG,KAAK85H,MAAL,CAAYzoB,SAAZ,CAAsBvxG,CAAC,CAACE,EAAxB,EAA4BuwG,OAA/B,EAAuC,OAAO,KAAK9tG,OAAL,KAAe,KAAKA,OAAL,CAAa+8C,kBAAb,GAAgC,IAAhC,EAAqC,KAAK/8C,OAAL,CAAam7C,KAAb,EAArC,EAA0D,KAAKn7C,OAAL,GAAa,IAAtF,GAA4F,KAAK6J,KAAL,GAAW,eAAvG,EAAuH,KAAK2tH,MAAL,GAAYn6H,CAAnI,EAAqI,MAAK2jB,CAAC,KAAG,KAAKnf,OAAL,CAAa,eAAb,GAA8B,KAAKA,OAAL,CAAa,aAAb,CAAjC,CAAN,CAA5I;;AAAiN,YAAGmf,CAAH,EAAK;AAAC,cAAG,KAAKnX,KAAL,GAAW,iBAAX,EAA6B,KAAK7J,OAArC,EAA6C;AAAC,gBAAG3C,CAAC,CAAC2/G,WAAF,KAAgB,KAAKh9G,OAAL,CAAahD,GAAhC,EAAoC;AAAO,iBAAKgD,OAAL,CAAa+8C,kBAAb,GAAgC,IAAhC,EAAqC,KAAK/8C,OAAL,CAAam7C,KAAb,EAArC,EAA0D,KAAKn7C,OAAL,GAAa,IAAvE;AAA4E;;AAAA,eAAKw3H,MAAL,IAAa,KAAK31H,OAAL,CAAa,eAAb,CAAb,EAA2C,KAAK7B,OAAL,GAAa,KAAK43H,IAAL,CAAUx7E,GAAV,CAAc;AAACi5B,eAAG,EAACh4E,CAAC,CAAC2/G,WAAP;AAAmBjnC,2BAAe,EAAC,KAAKA;AAAxC,WAAd,EAAuE,UAASz5E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,gBAAGrM,CAAC,CAAC52B,OAAL,EAAa;AAAC,kBAAG3C,CAAC,CAAC2/G,WAAF,GAAcmZ,EAAE,CAACv/F,CAAC,CAACihG,uBAAH,EAA2Bx6H,CAAC,CAAC2/G,WAA7B,EAAyC/5E,CAAzC,CAAhB,EAA4D3mC,CAA/D,EAAiE,OAAOs6B,CAAC,CAACkhG,oBAAF,CAAuBlhG,CAAC,CAAC52B,OAAzB,EAAiC3C,CAAjC,EAAmC+/D,CAAnC,CAAP;AAA6CxmC,eAAC,CAACmhG,YAAF,CAAe90F,CAAf,EAAiB5lC,CAAC,CAACg4E,GAAnB,EAAuBh4E,CAAC,CAACE,EAAzB,GAA6B,kBAAgB6/D,CAAhB,GAAkBxmC,CAAC,CAAC/0B,OAAF,CAAU,gBAAV,CAAlB,GAA8C+0B,CAAC,CAAC/0B,OAAF,CAAU,aAAV,CAA3E;AAAoG;AAAC,WAAtT,CAAxD;AAAgX;AAAC;AAAC;AAA1wC,GAA1yC,EAAsjF;AAAC6f,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,iBAAU;AAAC,WAAK+1G,WAAL,IAAmB94G,CAAC,CAACy0B,YAAF,CAAe,KAAKokF,kBAApB,CAAnB,EAA2D,mBAAiB,KAAK5tH,KAAtB,KAA8B,KAAKmuH,OAAL,GAAa,CAAC,CAA5C,CAA3D,EAA0G,sBAAoB,KAAKnuH,KAAzB,GAA+B,KAAK2tH,MAAL,GAAY,KAAK3tH,KAAL,GAAW,eAAvB,GAAuC,KAAKA,KAAL,GAAW,aAAjF,GAA+F,4BAA0B,KAAKA,KAA/B,KAAuC,KAAKA,KAAL,GAAW,eAAlD,CAAzM;AAA4Q;AAA1S,GAAtjF,EAAk2F;AAAC6X,OAAG,EAAC,MAAL;AAAYC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAWrkB,OAAC,CAACy0B,YAAF,CAAe,KAAKokF,kBAApB;AAAwC,UAAIp6H,CAAC,GAAC,KAAK0kD,KAAL,EAAN;;AAAmB,UAAGzlD,CAAH,EAAK;AAAC,YAAIs6B,CAAC,GAACv5B,CAAC,GAACA,CAAC,CAACqyG,cAAF,GAAiB,CAAjB,GAAmB,GAApB,GAAwB,GAA/B;AAAmC,aAAK+nB,kBAAL,GAAwB74G,CAAC,CAACxM,UAAF,CAAa,YAAU;AAAC,iBAAO6wB,CAAC,CAACmC,IAAF,EAAP;AAAgB,SAAxC,EAAyCxO,CAAzC,CAAxB;AAAoE,OAA7G,MAAkH,KAAKohG,OAAL,GAAa36H,CAAC,IAAE,CAACA,CAAC,CAACywG,OAAN,GAAc,KAAKjsG,OAAL,CAAa,oBAAb,CAAd,GAAiD,KAAKA,OAAL,CAAa,gBAAb,CAA9D,GAA6F,KAAKic,KAAL,EAA7F;AAA0G;AAAhU,GAAl2F,EAAoqG;AAAC4D,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,iBAAU;AAAC,UAAIy7C,CAAC,GAAC,IAAN;AAAW,WAAK46D,OAAL,GAAa,CAAC,CAAd,EAAgB,KAAKh4H,OAAL,GAAa,KAAK43H,IAAL,CAAUx7E,GAAV,CAAc;AAACi5B,WAAG,EAAC,KAAK4iD,MAAV;AAAiBliD,uBAAe,EAAC,KAAKA;AAAtC,OAAd,EAAqE,UAASz5E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAGm6B,CAAC,CAACp9D,OAAL,EAAa;AAAC,cAAGo9D,CAAC,CAACp9D,OAAF,GAAU,IAAV,EAAe1D,CAAlB,EAAoB,OAAO8gE,CAAC,CAAC77D,KAAF,GAAQ;AAACtD,kBAAM,EAACglC,CAAC,CAAChlC,MAAV;AAAiBsc,mBAAO,EAAC,wCAAsC6iD,CAAC,CAAC66D,MAAxC,GAA+C,GAAxE;AAA4Eh7E,wBAAY,EAACha,CAAC,CAACga,YAA3F;AAAwGh5B,gBAAI,EAAC;AAA7G,WAAR,EAAwH,mBAAiBm5C,CAAC,CAACvzD,KAAnB,KAA2BuzD,CAAC,CAAC46D,OAAF,GAAU,CAAC,CAAtC,CAAxH,EAAiK56D,CAAC,CAACv7D,OAAF,CAAU,OAAV,CAAxK;AAA2L,cAAIxE,CAAC,GAAC,IAAI8vG,EAAJ,EAAN;AAAa,cAAG/vC,CAAC,CAACk6D,gBAAF,CAAmBjyH,OAAnB,CAA2B,UAAS/I,CAAT,EAAW;AAAC,mBAAOe,CAAC,CAACwvG,SAAF,CAAYvwG,CAAZ,CAAP;AAAsB,WAA7D,GAA+D8gE,CAAC,CAACm6D,gBAAF,CAAmBlyH,OAAnB,CAA2B,UAAS/I,CAAT,EAAW;AAAC,mBAAOe,CAAC,CAAC6vG,YAAF,CAAe5wG,CAAf,CAAP;AAAyB,WAAhE,CAA/D,EAAiIe,CAAC,CAACwC,IAAF,CAAOojC,CAAC,CAACga,YAAT,CAAjI,EAAwJ5/C,CAAC,CAAC2oB,GAAF,EAAxJ,EAAgKo3C,CAAC,CAACvzD,KAAF,GAAQ,aAAxK,EAAsLuzD,CAAC,CAAC66D,MAAF,GAAS9B,EAAE,CAAC/4D,CAAC,CAACy6D,uBAAH,EAA2Bz6D,CAAC,CAAC66D,MAA7B,EAAoCh1F,CAApC,CAAjM,EAAwO5lC,CAAC,CAACowG,QAAF,CAAWp4B,GAAX,GAAejY,CAAC,CAAC66D,MAAzP,EAAgQ56H,CAAC,CAACowG,QAAF,CAAWmB,SAA9Q,EAAwR,OAAOxxC,CAAC,CAACi6D,MAAF,GAASh6H,CAAC,CAACowG,QAAX,EAAoBqpB,EAAE,CAAC15D,CAAC,CAACi6D,MAAH,CAAtB,EAAiCL,EAAE,CAAC55D,CAAC,CAACi6D,MAAH,CAAnC,EAA8Cj6D,CAAC,CAACv7D,OAAF,CAAU,gBAAV,CAA9C,EAA0E,MAAKu7D,CAAC,CAACp9D,OAAF,IAAWo9D,CAAC,CAACrb,KAAF,CAAQ1kD,CAAC,CAACowG,QAAF,CAAWmB,SAAX,CAAqB,CAArB,CAAR,CAAhB,CAAjF;AAAmI,cAAIh4E,CAAC,GAACigG,EAAE,CAAC,CAAD,EAAGz5D,CAAC,CAAC66D,MAAL,CAAR;AAAqB,iBAAO76D,CAAC,CAACi6D,MAAF,GAAS;AAACxoB,uBAAW,EAAC;AAACvB,mBAAK,EAAC,EAAP;AAAUC,mBAAK,EAAC,EAAhB;AAAmB,iCAAkB,EAArC;AAAwCC,uBAAS,EAAC;AAAlD,aAAb;AAAmEn4B,eAAG,EAACz2D,CAAC,CAACnM,QAAF,CAAW+f,IAAlF;AAAuFo8E,qBAAS,EAAC,CAAC;AAACv5B,iBAAG,EAACjY,CAAC,CAAC66D,MAAP;AAAc16H,gBAAE,EAACq5B,CAAjB;AAAmBomF,yBAAW,EAAC5/C,CAAC,CAAC66D,MAAjC;AAAwCp1H,wBAAU,EAAC;AAAnD,aAAD;AAAjG,WAAT,EAAoKu6D,CAAC,CAACi6D,MAAF,CAASzoB,SAAT,CAAmBh4E,CAAnB,IAAsBwmC,CAAC,CAACi6D,MAAF,CAASzoB,SAAT,CAAmB,CAAnB,CAA1L,EAAgNxxC,CAAC,CAACi6D,MAAF,CAASzoB,SAAT,CAAmBxxC,CAAC,CAAC66D,MAArB,IAA6B76D,CAAC,CAACi6D,MAAF,CAASzoB,SAAT,CAAmB,CAAnB,CAA7O,EAAmQxxC,CAAC,CAAC26D,YAAF,CAAe90F,CAAf,EAAiBm6B,CAAC,CAAC66D,MAAnB,EAA0BrhG,CAA1B,CAAnQ,EAAgSwmC,CAAC,CAACv7D,OAAF,CAAU,gBAAV,CAAvS;AAAmU;AAAC,OAAjjC,CAA7B;AAAglC;AAAznC,GAApqG,CAAJ,CAAxB,EAA6zIu1H,EAA/zI,CAAlb;;AAAqvJ,WAASA,EAAT,CAAY96H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAAC,IAAEmoB,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASgmB,SAAS,CAAC,CAAD,CAAtC,GAA0CA,SAAS,CAAC,CAAD,CAAnD,GAAuD,EAA7D;AAAgE6wG,MAAE,CAAC,IAAD,EAAMe,EAAN,CAAF;AAAY,QAAIxgG,CAAC,GAAC6/F,EAAE,CAAC,IAAD,EAAM,CAACW,EAAE,CAACr3D,SAAH,IAAcj9D,MAAM,CAACogB,cAAP,CAAsBk0G,EAAtB,CAAf,EAA0Cn1H,IAA1C,CAA+C,IAA/C,CAAN,CAAR;AAAA,QAAoEm7D,CAAC,GAAC//D,CAAC,CAAC04E,eAAxE;AAAA,QAAwF/0D,CAAC,GAAC,KAAK,CAAL,KAASo8C,CAAT,IAAYA,CAAtG;AAAA,QAAwG1lD,CAAC,GAACra,CAAC,CAACw6H,uBAA5G;AAAA,QAAoI56D,CAAC,GAAC,KAAK,CAAL,KAASvlD,CAAT,IAAYA,CAAlJ;AAAoJkf,KAAC,CAACqhG,MAAF,GAAS37H,CAAT,EAAWs6B,CAAC,CAACghG,IAAF,GAAO30F,CAAlB,EAAoBrM,CAAC,CAACm/C,eAAF,GAAkB/0D,CAAtC,EAAwC4V,CAAC,CAACihG,uBAAF,GAA0B56D,CAAlE;AAAoE,QAAIC,CAAC,GAACj6B,CAAC,CAACiiC,QAAR;AAAiB,QAAGtuC,CAAC,CAAC0gG,gBAAF,GAAmBp6D,CAAC,IAAEA,CAAC,CAACo6D,gBAAL,IAAuB,EAA1C,EAA6C1gG,CAAC,CAAC2gG,gBAAF,GAAmBr6D,CAAC,IAAEA,CAAC,CAACq6D,gBAAL,IAAuB,EAAvF,EAA0F,CAAC3gG,CAAC,CAACqhG,MAAhG,EAAuG,MAAM,IAAIzoH,KAAJ,CAAU,sCAAV,CAAN;AAAwD,WAAOonB,CAAC,CAAC/sB,KAAF,GAAQ,cAAR,EAAuB+sB,CAAC,CAACj4B,EAAF,CAAK,oBAAL,EAA0B,YAAU;AAAC,0BAAkBi4B,CAAC,CAAC/sB,KAApB,KAA4B+sB,CAAC,CAAC/sB,KAAF,GAAQ,uBAAR,EAAgC+sB,CAAC,CAAC52B,OAAF,GAAU42B,CAAC,CAACghG,IAAF,CAAOx7E,GAAP,CAAW;AAACi5B,WAAG,EAACgJ,EAAE,CAACznD,CAAC,CAACygG,MAAF,CAAShiD,GAAV,EAAcz+C,CAAC,CAACmrB,KAAF,GAAUszB,GAAxB,CAAP;AAAoCU,uBAAe,EAACn/C,CAAC,CAACm/C;AAAtD,OAAX,EAAkF,UAASz5E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAGrM,CAAC,CAAC52B,OAAL,EAAa,OAAO1D,CAAC,GAACs6B,CAAC,CAACkhG,oBAAF,CAAuBlhG,CAAC,CAAC52B,OAAzB,EAAiC42B,CAAC,CAACmrB,KAAF,EAAjC,EAA2C,eAA3C,CAAD,GAA6D,KAAKnrB,CAAC,CAACmhG,YAAF,CAAenhG,CAAC,CAAC52B,OAAjB,EAAyB42B,CAAC,CAACmrB,KAAF,GAAUszB,GAAnC,EAAuCz+C,CAAC,CAACmrB,KAAF,GAAUxkD,EAAjD,CAA1E;AAA+H,OAA5O,CAAtE;AAAqT,KAA1V,CAAvB,EAAmXq5B,CAA1X;AAA4X;;AAAA,WAASshG,EAAT,CAAY57H,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAJ,EAAMwmC,CAAN;AAAQ,WAAM,eAAa,OAAOn6B,CAApB,KAAwBA,CAAC,GAAC3mC,CAAC,CAAC0xG,aAAF,GAAgB1xG,CAAC,CAACsxG,QAAF,CAAWpuG,MAArD,GAA6DyjC,CAAC,GAAC3mC,CAAC,CAAC0xG,aAAJ,GAAkB,CAAlB,GAAoB,CAACp3E,CAAC,GAAC,UAASt6B,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,CAAN;AAAA,UAAQu5B,CAAC,GAACqM,CAAC,GAAC3mC,CAAC,CAAC0xG,aAAd;AAAA,UAA4B5wC,CAAC,GAAC9gE,CAAC,CAACsxG,QAAF,CAAWh3E,CAAX,CAA9B;;AAA4C,UAAGwmC,CAAH,EAAK;AAAC,YAAG,eAAa,OAAOA,CAAC,CAACt/C,KAAzB,EAA+B,OAAM;AAACiT,gBAAM,EAACqsC,CAAC,CAACt/C,KAAV;AAAgBgyF,iBAAO,EAAC,CAAC;AAAzB,SAAN;AAAkC,YAAG,eAAa,OAAO1yC,CAAC,CAACp3C,GAAzB,EAA6B,OAAM;AAAC+K,gBAAM,EAACqsC,CAAC,CAACp3C,GAAF,GAAMo3C,CAAC,CAACxhD,QAAhB;AAAyBk0F,iBAAO,EAAC,CAAC;AAAlC,SAAN;AAA2C;;AAAA,aAAKl5E,CAAC,EAAN,GAAU;AAAC,YAAG,eAAa,OAAM,CAACwmC,CAAC,GAAC9gE,CAAC,CAACsxG,QAAF,CAAWh3E,CAAX,CAAH,EAAkB5Q,GAAxC,EAA4C,OAAM;AAAC+K,gBAAM,EAAC1zB,CAAC,GAAC+/D,CAAC,CAACp3C,GAAZ;AAAgB8pF,iBAAO,EAAC,CAAC;AAAzB,SAAN;AAAkC,YAAGzyG,CAAC,IAAE+/D,CAAC,CAACxhD,QAAL,EAAc,eAAa,OAAOwhD,CAAC,CAACt/C,KAAvC,EAA6C,OAAM;AAACiT,gBAAM,EAAC1zB,CAAC,GAAC+/D,CAAC,CAACt/C,KAAZ;AAAkBgyF,iBAAO,EAAC,CAAC;AAA3B,SAAN;AAAoC;;AAAA,aAAM;AAAC/+E,cAAM,EAAC1zB,CAAR;AAAUyyG,eAAO,EAAC,CAAC;AAAnB,OAAN;AAA4B,KAA/Y,CAAgZxzG,CAAhZ,EAAkZ2mC,CAAlZ,CAAH,EAAyZ6sE,OAAzZ,GAAial5E,CAAC,CAAC7F,MAAna,GAA0a,CAACqsC,CAAC,GAAC,UAAS9gE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAI,IAAI5lC,CAAC,GAAC,CAAN,EAAQu5B,CAAC,GAAC,KAAK,CAAf,EAAiBwmC,CAAC,GAACn6B,CAAC,GAAC3mC,CAAC,CAAC0xG,aAA3B,EAAyC5wC,CAAC,GAAC9gE,CAAC,CAACsxG,QAAF,CAAWpuG,MAAtD,EAA6D49D,CAAC,EAA9D,EAAiE;AAAC,YAAG,eAAa,OAAM,CAACxmC,CAAC,GAACt6B,CAAC,CAACsxG,QAAF,CAAWxwC,CAAX,CAAH,EAAkBt/C,KAAxC,EAA8C,OAAM;AAACiT,gBAAM,EAAC6F,CAAC,CAAC9Y,KAAF,GAAQzgB,CAAhB;AAAkByyG,iBAAO,EAAC,CAAC;AAA3B,SAAN;AAAoC,YAAGzyG,CAAC,IAAEu5B,CAAC,CAAChb,QAAL,EAAc,eAAa,OAAOgb,CAAC,CAAC5Q,GAAvC,EAA2C,OAAM;AAAC+K,gBAAM,EAAC6F,CAAC,CAAC5Q,GAAF,GAAM3oB,CAAd;AAAgByyG,iBAAO,EAAC,CAAC;AAAzB,SAAN;AAAkC;;AAAA,aAAM;AAAC/+E,cAAM,EAAC,CAAC,CAAT;AAAW++E,eAAO,EAAC,CAAC;AAApB,OAAN;AAA6B,KAA5Q,CAA6QxzG,CAA7Q,EAA+Q2mC,CAA/Q,CAAH,EAAsR6sE,OAAtR,GAA8R1yC,CAAC,CAACrsC,MAAhS,GAAuS6F,CAAC,CAAC7F,MAAF,GAAS1zB,CAAjzB;AAAmzB;;AAAA,WAAS86H,EAAT,CAAY77H,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAG,CAACf,CAAJ,EAAM,OAAO,CAAP;;AAAS,QAAG,YAAU,OAAOe,CAAjB,KAAqBA,CAAC,GAAC,CAAvB,GAA0B,eAAa,OAAO4lC,CAAjD,EAAmD;AAAC,UAAG3mC,CAAC,CAACszG,aAAL,EAAmB,OAAOtzG,CAAC,CAACszG,aAAT;AAAuB,UAAG,CAACtzG,CAAC,CAACwxG,OAAN,EAAc,OAAOlvF,CAAC,CAACw5G,QAAT;AAAkB;;AAAA,WAAOF,EAAE,CAAC57H,CAAD,EAAG2mC,CAAH,EAAK5lC,CAAL,CAAT;AAAiB;;AAAA,WAASg7H,EAAT,CAAY/7H,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAC,GAAC,CAAN;;AAAQ,QAAGv5B,CAAC,GAAC4lC,CAAL,EAAO;AAAC,UAAIm6B,CAAC,GAAC,CAAC//D,CAAD,EAAG4lC,CAAH,CAAN;AAAYA,OAAC,GAACm6B,CAAC,CAAC,CAAD,CAAH,EAAO//D,CAAC,GAAC+/D,CAAC,CAAC,CAAD,CAAV;AAAc;;AAAA,QAAGn6B,CAAC,GAAC,CAAL,EAAO;AAAC,WAAI,IAAIjiB,CAAC,GAACiiB,CAAV,EAAYjiB,CAAC,GAAC/D,IAAI,CAACE,GAAL,CAAS,CAAT,EAAW9f,CAAX,CAAd,EAA4B2jB,CAAC,EAA7B;AAAgC4V,SAAC,IAAEt6B,CAAC,CAACozG,cAAL;AAAhC;;AAAoDzsE,OAAC,GAAC,CAAF;AAAI;;AAAA,SAAI,IAAIvrB,CAAC,GAACurB,CAAV,EAAYvrB,CAAC,GAACra,CAAd,EAAgBqa,CAAC,EAAjB;AAAoBkf,OAAC,IAAEt6B,CAAC,CAACsxG,QAAF,CAAWl2F,CAAX,EAAckE,QAAjB;AAApB;;AAA8C,WAAOgb,CAAP;AAAS;;AAAA,WAAS0hG,EAAT,CAAYh8H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAG,CAAC3mC,CAAC,CAACsxG,QAAF,CAAWpuG,MAAf,EAAsB,OAAO,CAAP;AAAS,QAAInC,CAAC,GAACf,CAAC,CAACsxG,QAAF,CAAWpuG,MAAjB;AAAA,QAAwBo3B,CAAC,GAACt6B,CAAC,CAACsxG,QAAF,CAAWvwG,CAAC,GAAC,CAAb,EAAgBue,QAAhB,IAA0Btf,CAAC,CAACozG,cAAtD;AAAA,QAAqEtyC,CAAC,GAAC,YAAU,OAAOn6B,CAAjB,GAAmBA,CAAnB,GAAqBrM,CAAC,GAAC,IAAEt6B,CAAC,CAACozG,cAAlG;AAAiH,QAAG,MAAItyC,CAAP,EAAS,OAAO//D,CAAP;;AAAS,SAAI,IAAI2jB,CAAC,GAAC,CAAV,EAAY3jB,CAAC,MAAI,EAAE+/D,CAAC,KAAGp8C,CAAC,IAAE1kB,CAAC,CAACsxG,QAAF,CAAWvwG,CAAX,EAAcue,QAApB,CAAH,CAAjB;AAAoD;AAApD;;AAAqD,WAAOqB,IAAI,CAACC,GAAL,CAAS,CAAT,EAAW7f,CAAX,CAAP;AAAqB;;AAAA,WAASk7H,EAAT,CAAYj8H,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoB;AAAC,QAAG,CAACt6B,CAAD,IAAI,CAACA,CAAC,CAACsxG,QAAV,EAAmB,OAAO,IAAP;AAAY,QAAGtxG,CAAC,CAACwxG,OAAL,EAAa,OAAOqqB,EAAE,CAAC77H,CAAD,CAAT;AAAa,QAAG,SAAO2mC,CAAV,EAAY,OAAO,IAAP;AAAYA,KAAC,GAACA,CAAC,IAAE,CAAL;AAAO,QAAIm6B,CAAC,GAAC//D,CAAC,GAACi7H,EAAE,CAACh8H,CAAD,EAAGs6B,CAAH,CAAH,GAASt6B,CAAC,CAACsxG,QAAF,CAAWpuG,MAA3B;AAAkC,WAAO04H,EAAE,CAAC57H,CAAD,EAAGA,CAAC,CAAC0xG,aAAF,GAAgB5wC,CAAnB,EAAqBn6B,CAArB,CAAT;AAAiC;;AAAA,WAASu1F,EAAT,CAAYl8H,CAAZ,EAAc;AAAC,WAAOA,CAAC,GAAC2gB,IAAI,CAACuE,KAAL,CAAWllB,CAAX,CAAF,IAAiB,CAAxB;AAA0B;;AAAA,WAASm8H,EAAT,CAAYn8H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAGu1F,EAAE,CAACv1F,CAAD,CAAL,EAAS,OAAOA,CAAC,GAAC,KAAG3mC,CAAZ;;AAAc,SAAI,IAAIe,CAAC,GAAC4lC,CAAC,CAAC1f,QAAF,GAAakE,KAAb,CAAmB,GAAnB,EAAwB,CAAxB,EAA2BjoB,MAAjC,EAAwCo3B,CAAC,GAAC,CAA9C,EAAgDA,CAAC,IAAEv5B,CAAnD,EAAqDu5B,CAAC,EAAtD,EAAyD;AAAC,UAAIwmC,CAAC,GAACngD,IAAI,CAACqsG,GAAL,CAAS,EAAT,EAAY1yF,CAAZ,CAAN;AAAA,UAAqB5V,CAAC,GAACiiB,CAAC,GAACm6B,CAAzB;AAA2B,UAAGo7D,EAAE,CAACx3G,CAAD,CAAF,IAAO4V,CAAC,KAAGv5B,CAAd,EAAgB,OAAM,CAAC2jB,CAAC,GAAC1kB,CAAH,IAAM8gE,CAAZ;AAAc;AAAC;;AAAA,WAASs7D,EAAT,CAAYp8H,CAAZ,EAAc;AAAC,WAAOA,CAAC,CAACq8H,YAAF,IAAgBr8H,CAAC,CAACq8H,YAAF,GAAejwG,IAAI,CAACrH,GAAL,EAAtC;AAAiD;;AAAA,WAASu3G,EAAT,CAAYt8H,CAAZ,EAAc;AAAC,WAAOA,CAAC,CAACq8H,YAAF,IAAgBr8H,CAAC,CAACq8H,YAAF,KAAiB,IAAE,CAA1C;AAA4C;;AAAA,WAASE,EAAT,CAAYv8H,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAACy1F,EAAE,CAACp8H,CAAD,CAAR;AAAY,WAAM,CAACA,CAAC,CAACkvB,QAAH,IAAa,CAACyX,CAApB;AAAsB;;AAAA,WAAS61F,EAAT,CAAYx8H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAOA,CAAC,CAACpgC,UAAF,IAAcogC,CAAC,CAACpgC,UAAF,CAAavG,CAAb,CAArB;AAAqC;;AAAA,WAASy8H,EAAT,CAAYz8H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAG,MAAI3mC,CAAC,CAACsyG,SAAF,CAAYpvG,MAAnB,EAA0B,OAAM,CAAC,CAAP;AAAS,QAAInC,CAAC,GAAC4lC,CAAC,CAACpgC,UAAF,CAAa0pG,SAAb,IAAwBxoD,MAAM,CAACi1E,SAArC;AAA+C,WAAO,MAAI18H,CAAC,CAACsyG,SAAF,CAAYluG,MAAZ,CAAmB,UAASpE,CAAT,EAAW;AAAC,aAAM,CAAC,CAACu8H,EAAE,CAACv8H,CAAD,CAAJ,IAAS,CAACA,CAAC,CAACuG,UAAF,CAAa0pG,SAAb,IAAwB,CAAzB,IAA4BlvG,CAA3C;AAA6C,KAA5E,EAA8EmC,MAAzF;AAAgG;;AAAA,WAASy5H,EAAT,GAAa;AAAC,WAAO,SAAS38H,CAAT,CAAW2mC,CAAX,EAAarM,CAAb,EAAe;AAACqM,OAAC,GAACi2F,EAAE,CAAC;AAAC93H,eAAO,EAAC;AAAT,OAAD,EAAgB6hC,CAAhB,CAAJ;AAAuB,UAAI5lC,CAAC,GAACf,CAAC,CAAC68H,aAAF,IAAiBjwB,EAAE,CAACkwB,GAAH,CAAOh9E,GAAP,CAAW+8E,aAAlC;;AAAgD,UAAG97H,CAAC,IAAE,cAAY,OAAOA,CAAzB,EAA2B;AAAC,YAAI+/D,CAAC,GAAC//D,CAAC,CAAC4lC,CAAD,CAAP;AAAWm6B,SAAC,KAAGn6B,CAAC,GAACm6B,CAAL,CAAD;AAAS;;AAAA,UAAIp8C,CAAC,GAACq4G,EAAE,CAACp2F,CAAD,EAAG,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC2jB,CAAC,CAAC7jB,QAAR;AAAiB,SAACb,CAAD,IAAIe,CAAJ,KAAQ2jB,CAAC,CAACs4G,YAAF,GAAe5wG,IAAI,CAACrH,GAAL,EAAf,EAA0BL,CAAC,CAACu4G,aAAF,GAAgBv4G,CAAC,CAACs4G,YAAF,GAAet4G,CAAC,CAACw4G,WAA3D,EAAuEx4G,CAAC,CAACy4G,aAAF,GAAgBp8H,CAAC,CAAComH,UAAF,IAAcpmH,CAAC,CAACmC,MAAvG,EAA8GwhB,CAAC,CAACs9F,SAAF,KAAct9F,CAAC,CAACs9F,SAAF,GAAYrhG,IAAI,CAACuE,KAAL,CAAWR,CAAC,CAACy4G,aAAF,GAAgBz4G,CAAC,CAACu4G,aAAlB,GAAgC,CAAhC,GAAkC,GAA7C,CAA1B,CAAtH,GAAoMt2F,CAAC,CAACwY,OAAF,KAAYz6B,CAAC,CAACo5B,eAAF,GAAkBnX,CAAC,CAACwY,OAAhC,CAApM,EAA6On/C,CAAC,IAAE,gBAAcA,CAAC,CAAC2nB,IAAnB,KAA0BjD,CAAC,CAAC04G,QAAF,GAAW,CAAC,CAAtC,CAA7O,EAAsRp9H,CAAC,IAAE0kB,CAAC,CAAC24G,OAAL,IAAc,QAAM12F,CAAC,CAAC2X,UAAtB,IAAkC,QAAM3X,CAAC,CAAC2X,UAA1C,IAAsD,MAAI3X,CAAC,CAAC2X,UAA5D,KAAyEt+C,CAAC,GAAC,IAAIkT,KAAJ,CAAU,qCAAmCwR,CAAC,KAAG3jB,CAAC,IAAE2jB,CAAC,CAACi8B,YAAR,CAApC,CAAV,CAA3E,CAAtR,EAAwarmB,CAAC,CAACt6B,CAAD,EAAG0kB,CAAH,CAAza;AAA+a,OAAjd,CAAR;AAAA,UAA2dtJ,CAAC,GAACsJ,CAAC,CAACm6B,KAA/d;AAAqe,aAAOn6B,CAAC,CAACm6B,KAAF,GAAQ,YAAU;AAAC,eAAOn6B,CAAC,CAAC24G,OAAF,GAAU,CAAC,CAAX,EAAajiH,CAAC,CAAC1V,KAAF,CAAQgf,CAAR,EAAUwE,SAAV,CAApB;AAAyC,OAA5D,EAA6DxE,CAAC,CAACq0D,GAAF,GAAMpyC,CAAC,CAACoyC,GAArE,EAAyEr0D,CAAC,CAACw4G,WAAF,GAAc9wG,IAAI,CAACrH,GAAL,EAAvF,EAAkGL,CAAzG;AAA2G,KAA9tB;AAA+tB;;AAAA,WAAS44G,EAAT,CAAYt9H,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC,EAAN;AAAS,WAAO3mC,CAAC,CAAC+vG,SAAF,KAAcppE,CAAC,CAAC42F,KAAF,GAAQ,UAASv9H,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAM,aAAOA,CAAC,GAAC3mC,CAAC,CAACgU,MAAF,GAAShU,CAAC,CAACkD,MAAX,GAAkB,CAApB,EAAsB,WAASlD,CAAC,CAACgU,MAAX,GAAkB,GAAlB,GAAsB2yB,CAAnD;AAAqD,KAAvE,CAAwE3mC,CAAC,CAAC+vG,SAA1E,CAAtB,GAA4GppE,CAAnH;AAAqH;;AAAA,WAAS62F,EAAT,CAAYx9H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAACf,CAAC,CAACinB,QAAF,CAAW,EAAX,CAAN;AAAqB,WAAM,KAAKkvC,SAAL,CAAe,CAAf,EAAiB,IAAEp1D,CAAC,CAACmC,MAArB,IAA6BnC,CAA7B,IAAgC4lC,CAAC,GAAC,CAAF,GAAI,GAAJ,GAAQ,EAAxC,CAAN;AAAkD;;AAAA,WAAS82F,EAAT,CAAYz9H,CAAZ,EAAc;AAAC,WAAO,MAAIA,CAAJ,IAAOA,CAAC,GAAC,GAAT,GAAawuB,MAAM,CAACC,YAAP,CAAoBzuB,CAApB,CAAb,GAAoC,GAA3C;AAA+C;;AAAA,WAAS09H,EAAT,CAAY38H,CAAZ,EAAc;AAAC,QAAIu5B,CAAC,GAAC,EAAN;AAAS,WAAO9zB,MAAM,CAAC8pB,IAAP,CAAYvvB,CAAZ,EAAegI,OAAf,CAAuB,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC5lC,CAAC,CAACf,CAAD,CAAP;AAAW+uH,iBAAW,CAAC4O,MAAZ,CAAmBh3F,CAAnB,IAAsBrM,CAAC,CAACt6B,CAAD,CAAD,GAAK;AAAC49H,aAAK,EAACj3F,CAAC,CAACh7B,MAAT;AAAgBu7G,kBAAU,EAACvgF,CAAC,CAACugF,UAA7B;AAAwCC,kBAAU,EAACxgF,CAAC,CAACwgF;AAArD,OAA3B,GAA4F7sF,CAAC,CAACt6B,CAAD,CAAD,GAAK2mC,CAAjG;AAAmG,KAAjJ,GAAmJrM,CAA1J;AAA4J;;AAAA,WAASujG,EAAT,CAAY79H,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAAC+vG,SAAF,IAAa;AAAC7sG,YAAM,EAAC,IAAE,CAAV;AAAY8Q,YAAM,EAAC;AAAnB,KAAnB;AAAyC,WAAM,CAAC2yB,CAAC,CAACzjC,MAAH,EAAUyjC,CAAC,CAAC3yB,MAAZ,EAAmBhU,CAAC,CAAC0gH,WAArB,EAAkCvwF,IAAlC,CAAuC,GAAvC,CAAN;AAAkD;;AAAA,WAAS2tG,EAAT,CAAY99H,CAAZ,EAAc;AAAC,WAAOA,CAAC,CAAC0gH,WAAT;AAAqB;;AAAA,WAASqd,EAAT,CAAY/9H,CAAZ,EAAc;AAAC,SAAI,IAAI2mC,CAAC,GAACnrB,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2B3F,CAA3B,CAAN,EAAoCe,CAAC,GAAC,EAAtC,EAAyCu5B,CAAC,GAAC,CAA/C,EAAiDA,CAAC,GAACqM,CAAC,CAACzjC,MAAF,GAAS,EAA5D,EAA+Do3B,CAAC,EAAhE;AAAmEv5B,OAAC,IAAE4lC,CAAC,CAAChsB,KAAF,CAAQ,KAAG2f,CAAX,EAAa,KAAGA,CAAH,GAAK,EAAlB,EAAsBrR,GAAtB,CAA0Bu0G,EAA1B,EAA8BrtG,IAA9B,CAAmC,EAAnC,IAAuC,GAAvC,GAA2CwW,CAAC,CAAChsB,KAAF,CAAQ,KAAG2f,CAAX,EAAa,KAAGA,CAAH,GAAK,EAAlB,EAAsBrR,GAAtB,CAA0Bw0G,EAA1B,EAA8BttG,IAA9B,CAAmC,EAAnC,CAA3C,GAAkF,IAArF;AAAnE;;AAA6J,WAAOpvB,CAAP;AAAS;;AAAA,WAASi9H,EAAT,CAAYh+H,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAACiW,QAAR;AAAA,QAAiBlV,CAAC,GAACf,CAAC,CAAC4P,IAArB;AAAA,QAA0B0qB,CAAC,GAAC,KAAK,CAAL,KAASv5B,CAAT,GAAW,KAAK,CAAhB,GAAkBA,CAA9C;AAAA,QAAgD+/D,CAAC,GAAC9gE,CAAC,CAAC4C,QAApD;AAA6D,QAAG,CAACk+D,CAAJ,EAAM,MAAM,IAAI5tD,KAAJ,CAAU,2CAAV,CAAN;AAA6D,QAAG,CAACyzB,CAAD,IAAI,KAAK,CAAL,KAASrM,CAAhB,EAAkB,OAAOwmC,CAAC,CAAC;AAAC7iD,aAAO,EAAC;AAAT,KAAD,CAAR;;AAAyE,QAAIyG,CAAC,GAAC,UAAS1kB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,CAACA,CAAD,IAAI,CAACA,CAAC,CAAC2qE,QAAP,IAAiB,MAAI3qE,CAAC,CAAC2qE,QAAF,CAAWpuG,MAAnC,EAA0C,OAAO,IAAP;;AAAY,WAAI,IAAInC,CAAC,GAAC,CAAN,EAAQu5B,CAAC,GAAC,KAAK,CAAf,EAAiBwmC,CAAC,GAAC,CAAvB,EAAyBA,CAAC,GAACn6B,CAAC,CAAC2qE,QAAF,CAAWpuG,MAAb,IAAqB,EAAElD,CAAC,KAAGe,CAAC,GAAC,CAACu5B,CAAC,GAACqM,CAAC,CAAC2qE,QAAF,CAAWxwC,CAAX,CAAH,EAAkBm9D,eAAlB,GAAkC3jG,CAAC,CAAC2jG,eAAF,CAAkBC,yBAApD,GAA8En9H,CAAC,GAACu5B,CAAC,CAAChb,QAAvF,CAAH,CAA9C,EAAmJwhD,CAAC,EAApJ;AAAuJ;AAAvJ;;AAAwJ,UAAIp8C,CAAC,GAACiiB,CAAC,CAAC2qE,QAAF,CAAW3qE,CAAC,CAAC2qE,QAAF,CAAWpuG,MAAX,GAAkB,CAA7B,CAAN;AAAsC,UAAGwhB,CAAC,CAACu5G,eAAF,IAAmBv5G,CAAC,CAACu5G,eAAF,CAAkBC,yBAAlB,GAA4Cl+H,CAAlE,EAAoE,OAAO,IAAP;;AAAY,UAAGe,CAAC,GAACf,CAAL,EAAO;AAAC,YAAGA,CAAC,GAACe,CAAC,GAAC,MAAI2jB,CAAC,CAACpF,QAAb,EAAsB,OAAO,IAAP;AAAYgb,SAAC,GAAC5V,CAAF;AAAI;;AAAA,aAAM;AAACisF,eAAO,EAACr2E,CAAT;AAAW6jG,sBAAc,EAAC7jG,CAAC,CAAC2jG,eAAF,GAAkB3jG,CAAC,CAAC2jG,eAAF,CAAkBG,2BAApC,GAAgEr9H,CAAC,GAACu5B,CAAC,CAAChb,QAA9F;AAAuG/O,YAAI,EAAC+pB,CAAC,CAAC2jG,eAAF,GAAkB,UAAlB,GAA6B;AAAzI,OAAN;AAA2J,KAA3hB,CAA4hB3jG,CAA5hB,EAA8hBqM,CAA9hB,CAAN;;AAAuiB,QAAG,CAACjiB,CAAJ,EAAM,OAAOo8C,CAAC,CAAC;AAAC7iD,aAAO,EAAC;AAAT,KAAD,CAAR;AAAsD,QAAG,eAAayG,CAAC,CAACnU,IAAlB,EAAuB,OAAOuwD,CAAC,CAAC;AAAC7iD,aAAO,EAAC,uFAAT;AAAiGogH,cAAQ,EAAC35G,CAAC,CAACy5G;AAA5G,KAAD,CAAR;;AAAsI,QAAI/iH,CAAC,GAAC;AAACkjH,kBAAY,EAAChkG;AAAd,KAAN;AAAA,QAAuBqmC,CAAC,GAAC,UAAS3gE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,CAACA,CAAC,CAACwpE,cAAN,EAAqB,OAAO,IAAP;AAAY,UAAIpvG,CAAC,GAAC4lC,CAAC,CAACs3F,eAAF,CAAkBM,0BAAxB;AAAA,UAAmDjkG,CAAC,GAACt6B,CAAC,IAAE2mC,CAAC,CAACs3F,eAAF,CAAkBG,2BAAlB,GAA8Cr9H,CAAhD,CAAtD;AAAyG,aAAO,IAAIqrB,IAAJ,CAASua,CAAC,CAACwpE,cAAF,CAAiBquB,OAAjB,KAA2B,MAAIlkG,CAAxC,CAAP;AAAkD,KAA1M,CAA2MA,CAA3M,EAA6M5V,CAAC,CAACisF,OAA/M,CAAzB;;AAAiP,WAAOhwC,CAAC,KAAGvlD,CAAC,CAACqjH,eAAF,GAAkB99D,CAAC,CAAC+9D,WAAF,EAArB,CAAD,EAAuC59D,CAAC,CAAC,IAAD,EAAM1lD,CAAN,CAA/C;AAAwD;;AAAA,WAASujH,EAAT,CAAY3+H,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAAC4+H,WAAR;AAAA,QAAoB79H,CAAC,GAACf,CAAC,CAACiW,QAAxB;AAAA,QAAiCqkB,CAAC,GAACt6B,CAAC,CAAC6+H,UAArC;AAAA,QAAgD/9D,CAAC,GAAC,KAAK,CAAL,KAASxmC,CAAT,GAAW,CAAX,GAAaA,CAA/D;AAAA,QAAiE5V,CAAC,GAAC1kB,CAAC,CAACuX,MAArE;AAAA,QAA4E6D,CAAC,GAACpb,CAAC,CAAC8+H,cAAhF;AAAA,QAA+Fn+D,CAAC,GAAC,KAAK,CAAL,KAASvlD,CAAT,IAAYA,CAA7G;AAAA,QAA+GwlD,CAAC,GAAC5gE,CAAC,CAACy6E,IAAnH;AAAA,QAAwHr/C,CAAC,GAACp7B,CAAC,CAAC4C,QAA5H;AAAqI,QAAG,CAACw4B,CAAJ,EAAM,MAAM,IAAIloB,KAAJ,CAAU,8CAAV,CAAN;AAAgE,QAAG,eAAa,OAAOyzB,CAApB,IAAuB,CAAC5lC,CAAxB,IAA2B,CAAC2jB,CAA/B,EAAiC,OAAO0W,CAAC,CAAC;AAACnd,aAAO,EAAC;AAAT,KAAD,CAAR;AAA2F,QAAG,CAACld,CAAC,CAACywG,OAAH,IAAY,CAAC5wC,CAAC,CAACkiB,WAAlB,EAA8B,OAAO1nD,CAAC,CAAC;AAACnd,aAAO,EAAC;AAAT,KAAD,CAAR;AAA8E,QAAG,CAAC,UAASje,CAAT,EAAW;AAAC,UAAG,CAACA,CAAC,CAACsxG,QAAH,IAAa,MAAItxG,CAAC,CAACsxG,QAAF,CAAWpuG,MAA/B,EAAsC,OAAM,CAAC,CAAP;;AAAS,WAAI,IAAIyjC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3mC,CAAC,CAACsxG,QAAF,CAAWpuG,MAAzB,EAAgCyjC,CAAC,EAAjC,EAAoC;AAAC,YAAG,CAAC3mC,CAAC,CAACsxG,QAAF,CAAW3qE,CAAX,EAAcwpE,cAAlB,EAAiC,OAAM,CAAC,CAAP;AAAS;;AAAA,aAAM,CAAC,CAAP;AAAS,KAAnJ,CAAoJpvG,CAApJ,CAAJ,EAA2J,OAAOq6B,CAAC,CAAC;AAACnd,aAAO,EAAC,2DAAyDld,CAAC,CAAC2/G;AAApE,KAAD,CAAR;;AAA2F,QAAIl/C,CAAC,GAAC,UAASxhE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAK,CAAX;;AAAa,UAAG;AAACA,SAAC,GAAC,IAAIqrB,IAAJ,CAASpsB,CAAT,CAAF;AAAc,OAAlB,CAAkB,OAAMA,CAAN,EAAQ;AAAC,eAAO,IAAP;AAAY;;AAAA,UAAG,CAAC2mC,CAAD,IAAI,CAACA,CAAC,CAAC2qE,QAAP,IAAiB,MAAI3qE,CAAC,CAAC2qE,QAAF,CAAWpuG,MAAnC,EAA0C,OAAO,IAAP;AAAY,UAAIo3B,CAAC,GAACqM,CAAC,CAAC2qE,QAAF,CAAW,CAAX,CAAN;AAAoB,UAAGvwG,CAAC,GAACu5B,CAAC,CAAC61E,cAAP,EAAsB,OAAO,IAAP;;AAAY,WAAI,IAAIrvC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACn6B,CAAC,CAAC2qE,QAAF,CAAWpuG,MAAX,GAAkB,CAAhC,EAAkC49D,CAAC,EAAnC,EAAsC;AAAC,YAAGxmC,CAAC,GAACqM,CAAC,CAAC2qE,QAAF,CAAWxwC,CAAX,CAAF,EAAgB//D,CAAC,GAAC4lC,CAAC,CAAC2qE,QAAF,CAAWxwC,CAAC,GAAC,CAAb,EAAgBqvC,cAArC,EAAoD;AAAM;;AAAA,UAAIzrF,CAAC,GAACiiB,CAAC,CAAC2qE,QAAF,CAAW3qE,CAAC,CAAC2qE,QAAF,CAAWpuG,MAAX,GAAkB,CAA7B,CAAN;AAAA,UAAsCkY,CAAC,GAACsJ,CAAC,CAACyrF,cAA1C;AAAA,UAAyDxvC,CAAC,GAACj8C,CAAC,CAACu5G,eAAF,GAAkB,UAASj+H,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACk+H,yBAAF,GAA4Bl+H,CAAC,CAACo+H,2BAA9B,GAA0Dp+H,CAAC,CAACu+H,0BAAnE;AAA8F,OAA1G,CAA2G75G,CAAC,CAACu5G,eAA7G,CAAlB,GAAgJv5G,CAAC,CAACpF,QAAF,GAAW,MAAIoF,CAAC,CAACpF,QAA5N;AAAqO,aAAO,IAAI8M,IAAJ,CAAShR,CAAC,CAACojH,OAAF,KAAY,MAAI79D,CAAzB,IAA4B5/D,CAA5B,GAA8B,IAA9B,IAAoCqa,CAAC,GAACra,CAAF,KAAMu5B,CAAC,GAAC5V,CAAR,GAAW;AAACisF,eAAO,EAACr2E,CAAT;AAAW6jG,sBAAc,EAAC7jG,CAAC,CAAC2jG,eAAF,GAAkB3jG,CAAC,CAAC2jG,eAAF,CAAkBG,2BAApC,GAAgEW,EAAE,CAACz/G,QAAH,CAAYqnB,CAAZ,EAAcA,CAAC,CAAC+qE,aAAF,GAAgB/qE,CAAC,CAAC2qE,QAAF,CAAWnwG,OAAX,CAAmBm5B,CAAnB,CAA9B,CAA1F;AAA+I/pB,YAAI,EAAC+pB,CAAC,CAAC2jG,eAAF,GAAkB,UAAlB,GAA6B;AAAjL,OAA/C,CAAP;AAAoP,KAAxuB,CAAyuBt3F,CAAzuB,EAA2uB5lC,CAA3uB,CAAN;;AAAovB,QAAG,CAACygE,CAAJ,EAAM,OAAOpmC,CAAC,CAAC;AAACnd,aAAO,EAAC0oB,CAAC,GAAC;AAAX,KAAD,CAAR;;AAAqD,QAAI85B,CAAC,GAACe,CAAC,CAACmvC,OAAR;AAAA,QAAgBjwC,CAAC,GAAC,UAAS1gE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAK,CAAX;AAAA,UAAau5B,CAAC,GAAC,KAAK,CAApB;;AAAsB,UAAG;AAACv5B,SAAC,GAAC,IAAIqrB,IAAJ,CAASpsB,CAAT,CAAF,EAAcs6B,CAAC,GAAC,IAAIlO,IAAJ,CAASua,CAAT,CAAhB;AAA4B,OAAhC,CAAgC,OAAM3mC,CAAN,EAAQ,CAAE;;AAAA,UAAI8gE,CAAC,GAAC//D,CAAC,CAACy9H,OAAF,EAAN;AAAkB,aAAM,CAAClkG,CAAC,CAACkkG,OAAF,KAAY19D,CAAb,IAAgB,GAAtB;AAA0B,KAA1H,CAA2HL,CAAC,CAAC0vC,cAA7H,EAA4IxpE,CAA5I,CAAlB;;AAAiK,QAAG,eAAa66B,CAAC,CAACjxD,IAAlB,EAAuB,OAAO,MAAIuwD,CAAJ,GAAM1lC,CAAC,CAAC;AAACnd,aAAO,EAAC0oB,CAAC,GAAC;AAAX,KAAD,CAAP,IAAwDjiB,CAAC,CAAC88C,CAAC,CAAC28D,cAAF,GAAiBz9D,CAAlB,CAAD,EAAsB,KAAKE,CAAC,CAACr/C,GAAF,CAAM,QAAN,EAAe,YAAU;AAACo9G,QAAE,CAAC;AAACC,mBAAW,EAACj4F,CAAb;AAAe1wB,gBAAQ,EAAClV,CAAxB;AAA0B89H,kBAAU,EAAC/9D,CAAC,GAAC,CAAvC;AAAyCvpD,cAAM,EAACmN,CAAhD;AAAkDo6G,sBAAc,EAACn+D,CAAjE;AAAmE8Z,YAAI,EAAC7Z,CAAxE;AAA0Eh+D,gBAAQ,EAACw4B;AAAnF,OAAD,CAAF;AAA0F,KAApH,CAAnF,CAAP;AAAiN,QAAIgY,CAAC,GAACqtB,CAAC,CAACj/C,KAAF,GAAQk/C,CAAd;AAAgBE,KAAC,CAACr/C,GAAF,CAAM,QAAN,EAAe,YAAU;AAAC,aAAO6Z,CAAC,CAAC,IAAD,EAAMwlC,CAAC,CAAC/wD,WAAF,EAAN,CAAR;AAA+B,KAAzD,GAA2D8wD,CAAC,IAAEC,CAAC,CAACl0D,KAAF,EAA9D,EAAwEgY,CAAC,CAAC0uB,CAAD,CAAzE;AAA6E;;AAAA,WAAS4rF,EAAT,CAAYh/H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAAC,EAAN;AAAA,QAASu5B,CAAC,GAAC,KAAK,CAAhB;AAAkB,QAAGt6B,CAAC,IAAEA,CAAC,CAACkD,MAAR,EAAe,KAAIo3B,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACt6B,CAAC,CAACkD,MAAZ,EAAmBo3B,CAAC,EAApB;AAAuBqM,OAAC,CAAC3mC,CAAC,CAACwhB,KAAF,CAAQ8Y,CAAR,CAAD,EAAYt6B,CAAC,CAAC0pB,GAAF,CAAM4Q,CAAN,CAAZ,CAAD,IAAwBv5B,CAAC,CAACwC,IAAF,CAAO,CAACvD,CAAC,CAACwhB,KAAF,CAAQ8Y,CAAR,CAAD,EAAYt6B,CAAC,CAAC0pB,GAAF,CAAM4Q,CAAN,CAAZ,CAAP,CAAxB;AAAvB;AAA6E,WAAOsyE,EAAE,CAACgB,gBAAH,CAAoB7sG,CAApB,CAAP;AAA8B;;AAAA,WAASk+H,EAAT,CAAYj/H,CAAZ,EAAce,CAAd,EAAgB;AAAC,WAAOi+H,EAAE,CAACh/H,CAAD,EAAG,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO3mC,CAAC,GAAC,EAAF,IAAMe,CAAN,IAASA,CAAC,IAAE4lC,CAAC,GAAC,EAArB;AAAwB,KAAzC,CAAT;AAAoD;;AAAA,WAASu4F,EAAT,CAAYl/H,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAOq4F,EAAE,CAACh/H,CAAD,EAAG,UAASA,CAAT,EAAW;AAAC,aAAO2mC,CAAC,IAAE3mC,CAAC,GAAC,IAAE,EAAd;AAAiB,KAAhC,CAAT;AAA2C;;AAAA,WAASm/H,EAAT,CAAYn/H,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC,EAAN;AAAS,QAAG,CAAC3mC,CAAD,IAAI,CAACA,CAAC,CAACkD,MAAV,EAAiB,OAAM,EAAN;;AAAS,SAAI,IAAInC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACf,CAAC,CAACkD,MAAhB,EAAuBnC,CAAC,EAAxB;AAA2B4lC,OAAC,CAACpjC,IAAF,CAAOvD,CAAC,CAACwhB,KAAF,CAAQzgB,CAAR,IAAW,MAAX,GAAkBf,CAAC,CAAC0pB,GAAF,CAAM3oB,CAAN,CAAzB;AAA3B;;AAA8D,WAAO4lC,CAAC,CAACxW,IAAF,CAAO,IAAP,CAAP;AAAoB;;AAAA,WAASivG,EAAT,CAAYp/H,CAAZ,EAAc;AAAC,SAAI,IAAI2mC,CAAC,GAAC,EAAN,EAAS5lC,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACf,CAAC,CAACkD,MAArB,EAA4BnC,CAAC,EAA7B;AAAgC4lC,OAAC,CAACpjC,IAAF,CAAO;AAACie,aAAK,EAACxhB,CAAC,CAACwhB,KAAF,CAAQzgB,CAAR,CAAP;AAAkB2oB,WAAG,EAAC1pB,CAAC,CAAC0pB,GAAF,CAAM3oB,CAAN;AAAtB,OAAP;AAAhC;;AAAwE,WAAO4lC,CAAP;AAAS;;AAAA,WAAS04F,EAAT,CAAYr/H,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAC,GAAC,KAAK,CAAX;AAAA,QAAawmC,CAAC,GAAC,KAAK,CAApB;AAAsB,QAAG//D,CAAC,IAAEA,CAAC,CAACsvE,IAAR,EAAa,KAAI/1C,CAAC,GAACv5B,CAAC,CAACsvE,IAAF,CAAOntE,MAAb,EAAoBo3B,CAAC,EAArB;AAAyB,OAACwmC,CAAC,GAAC//D,CAAC,CAACsvE,IAAF,CAAO/1C,CAAP,CAAH,EAAc+a,SAAd,IAAyB1O,CAAzB,IAA4Bm6B,CAAC,CAACwP,OAAF,IAAWtwE,CAAvC,IAA0Ce,CAAC,CAACm6E,SAAF,CAAYpa,CAAZ,CAA1C;AAAzB;AAAkF;;AAAA,WAASw+D,EAAT,CAAYt/H,CAAZ,EAAc;AAAC,WAAO4G,KAAK,CAAC5G,CAAD,CAAL,IAAU2gB,IAAI,CAACkmC,GAAL,CAAS7mD,CAAT,MAAc,IAAE,CAA1B,GAA4BynD,MAAM,CAACi1E,SAAnC,GAA6C18H,CAApD;AAAsD;;AAAA,WAASu/H,EAAT,CAAYv/H,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,QAAIu5B,CAAC,GAAChY,CAAC,CAACk9G,aAAF,IAAiBl9G,CAAC,CAAC04D,MAAzB;;AAAgC,QAAGr0C,CAAC,IAAEA,CAAC,CAAC59B,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC2hF,MAAR;AAAe,WAAK89C,iBAAL,CAAuB94F,CAAvB,EAA0BiqC,MAA1B,CAAiC,IAAIt2C,CAAJ,CAAMt6B,CAAC,CAACq1C,SAAF,GAAY,KAAKqqF,eAAvB,EAAuC1/H,CAAC,CAACswE,OAAF,GAAU,KAAKovD,eAAtD,EAAsE1/H,CAAC,CAACgoB,IAAxE,CAAjC;AAAgH,KAArJ,EAAsJhoB,CAAtJ,CAAH,EAA4Je,CAA/J,EAAiK;AAAC,UAAI+/D,CAAC,GAACw+D,EAAE,CAACt/H,CAAC,CAAC2/H,YAAF,CAAergH,QAAhB,CAAR;;AAAkC,UAAGve,CAAC,CAACgI,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,YAAIe,CAAC,GAACf,CAAC,CAAC4/H,OAAF,GAAU,KAAKF,eAArB;AAAqC,UAAE,YAAU,OAAO3+H,CAAjB,IAAoBuhB,CAAC,CAAC1b,KAAF,CAAQ7F,CAAR,CAApB,IAAgCA,CAAC,GAAC,CAApC,KAAwCA,CAAC,GAAC,IAAE,CAA5C,IAA+Cf,CAAC,CAAC6/H,MAAF,CAAS92H,OAAT,CAAiB,UAAS/I,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC,IAAIrM,CAAJ,CAAMv5B,CAAN,EAAQA,CAAR,EAAUf,CAAC,CAACqlB,KAAF,IAASrlB,CAAC,CAACU,GAAX,IAAgBV,CAAC,CAACQ,IAAlB,IAAwB,EAAlC,CAAN;AAA4CmmC,WAAC,CAACm5F,KAAF,GAAQ9/H,CAAR,EAAU2mC,CAAC,CAACthB,KAAF,GAAQrlB,CAAlB,EAAoB,UAASA,CAAT,EAAW;AAACwG,kBAAM,CAACu0E,gBAAP,CAAwB/6E,CAAC,CAAC8/H,KAA1B,EAAgC;AAAC7+H,gBAAE,EAAC;AAACynB,mBAAG,EAAC,eAAU;AAAC,yBAAOkkF,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,wDAAZ,GAAsEx/B,CAAC,CAACqlB,KAAF,CAAQD,GAArF;AAAyF;AAAzG,eAAJ;AAA+GC,mBAAK,EAAC;AAACqD,mBAAG,EAAC,eAAU;AAAC,yBAAOkkF,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,4DAAZ,GAA0Ex/B,CAAC,CAACqlB,KAAF,CAAQ7kB,IAAzF;AAA8F;AAA9G,eAArH;AAAqOu/H,yBAAW,EAAC;AAACr3G,mBAAG,EAAC,eAAU;AAAC,yBAAOkkF,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,kEAAZ,GAAgFx/B,CAAC,CAACqlB,KAAF,CAAQ7kB,IAA/F;AAAoG;AAApH;AAAjP,aAAhC;AAAyY,WAArZ,CAAsZmmC,CAAtZ,CAApB,EAA6a,KAAKq5F,cAAL,CAAoBpvD,MAApB,CAA2BjqC,CAA3B,CAA7a;AAA2c,SAAphB,EAAqhB,IAArhB,CAA/C;AAA0kB,OAAroB,EAAsoB3mC,CAAtoB,GAAyoBA,CAAC,CAACggI,cAAF,IAAkBhgI,CAAC,CAACggI,cAAF,CAAiB3vD,IAAnC,IAAyCrwE,CAAC,CAACggI,cAAF,CAAiB3vD,IAAjB,CAAsBntE,MAA3sB,EAAktB;AAAC,aAAI,IAAIwhB,CAAC,GAAC1kB,CAAC,CAACggI,cAAF,CAAiB3vD,IAAvB,EAA4Bj1D,CAAC,GAAC,EAA9B,EAAiCulD,CAAC,GAAC,CAAvC,EAAyCA,CAAC,GAACj8C,CAAC,CAACxhB,MAA7C,EAAoDy9D,CAAC,EAArD;AAAwDj8C,WAAC,CAACi8C,CAAD,CAAD,IAAMvlD,CAAC,CAAC7X,IAAF,CAAOmhB,CAAC,CAACi8C,CAAD,CAAR,CAAN;AAAxD;;AAA2E,YAAIC,CAAC,GAACxlD,CAAC,CAACmvD,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAI5lC,CAAC,GAACf,CAAC,CAAC2mC,CAAC,CAAC0O,SAAH,CAAD,IAAgB,EAAtB;AAAyB,iBAAOt0C,CAAC,CAACwC,IAAF,CAAOojC,CAAP,GAAU3mC,CAAC,CAAC2mC,CAAC,CAAC0O,SAAH,CAAD,GAAet0C,CAAzB,EAA2Bf,CAAlC;AAAoC,SAApF,EAAqF,EAArF,CAAN;AAAA,YAA+Fo7B,CAAC,GAAC50B,MAAM,CAAC8pB,IAAP,CAAYswC,CAAZ,EAAej3C,IAAf,CAAoB,UAAS3pB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,iBAAO8gB,MAAM,CAACznD,CAAD,CAAN,GAAUynD,MAAM,CAAC9gB,CAAD,CAAvB;AAA2B,SAA7D,CAAjG;AAAgKvL,SAAC,CAACryB,OAAF,CAAU,UAAS/I,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAI5lC,CAAC,GAAC6/D,CAAC,CAAC5gE,CAAD,CAAP;AAAA,cAAWs6B,CAAC,GAACmtB,MAAM,CAACrsB,CAAC,CAACuL,CAAC,GAAC,CAAH,CAAF,CAAN,IAAgBm6B,CAA7B;AAA+B//D,WAAC,CAACgI,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAACA,aAAC,CAACswE,OAAF,GAAUh2C,CAAV;AAAY,WAAlC;AAAoC,SAA3F;AAA6F;AAAC;AAAC;;AAAA,MAAI2lG,EAAE,GAACrzB,EAAE,CAACe,eAAV;AAAA,MAA0BuyB,EAAE,GAAC/D,EAAE,CAAC5/G,IAAH,CAAQ,IAAR,EAAa,CAAb,CAA7B;AAAA,MAA6C4jH,EAAE,GAAChE,EAAE,CAAC5/G,IAAH,CAAQ,IAAR,EAAa,CAAC,CAAd,CAAhD;AAAA,MAAiEwiH,EAAE,GAAC;AAACz/G,YAAQ,EAACu8G,EAAV;AAAap0C,YAAQ,EAAC,kBAASznF,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAACqM,CAAC,IAAE,CAAT;AAAA,UAAWm6B,CAAC,GAACm7D,EAAE,CAACj8H,CAAD,EAAG2mC,CAAH,EAAK,CAAC,CAAN,EAAQ5lC,CAAR,CAAf;AAA0B,aAAO,SAAO+/D,CAAP,GAASm/D,EAAE,EAAX,GAAcA,EAAE,CAAC3lG,CAAD,EAAGwmC,CAAH,CAAvB;AAA6B,KAA7F;AAA8Fs/D,iBAAa,EAACpE,EAA5G;AAA+GqE,uBAAmB,EAAC,6BAASrgI,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,UAAIwmC,CAAC,GAAC,KAAK,CAAX;AAAA,UAAap8C,CAAC,GAAC,KAAK,CAApB;AAAA,UAAsBtJ,CAAC,GAACpb,CAAC,CAACsxG,QAAF,CAAWpuG,MAAnC;AAAA,UAA0Cy9D,CAAC,GAACh6B,CAAC,GAACrM,CAA9C;;AAAgD,UAAGqmC,CAAC,GAAC,CAAL,EAAO;AAAC,YAAG,IAAE5/D,CAAL,EAAO,KAAI+/D,CAAC,GAAC//D,CAAC,GAAC,CAAR,EAAU,KAAG+/D,CAAb,EAAeA,CAAC,EAAhB;AAAmB,cAAGp8C,CAAC,GAAC1kB,CAAC,CAACsxG,QAAF,CAAWxwC,CAAX,CAAF,EAAgB,KAAGH,CAAC,IAAEw/D,EAAE,CAACz7G,CAAC,CAACpF,QAAH,CAAR,CAAnB,EAAyC,OAAM;AAACghH,sBAAU,EAACx/D,CAAZ;AAAczrB,qBAAS,EAAC/a,CAAC,GAACyhG,EAAE,CAAC/7H,CAAD,EAAGe,CAAH,EAAK+/D,CAAL;AAA5B,WAAN;AAA5D;AAAuG,eAAM;AAACw/D,oBAAU,EAAC,CAAZ;AAAcjrF,mBAAS,EAAC1O;AAAxB,SAAN;AAAiC;;AAAA,UAAG5lC,CAAC,GAAC,CAAL,EAAO;AAAC,aAAI+/D,CAAC,GAAC//D,CAAN,EAAQ+/D,CAAC,GAAC,CAAV,EAAYA,CAAC,EAAb;AAAgB,cAAG,CAACH,CAAC,IAAE3gE,CAAC,CAACozG,cAAN,IAAsB,CAAzB,EAA2B,OAAM;AAACktB,sBAAU,EAAC,CAAZ;AAAcjrF,qBAAS,EAAC1O;AAAxB,WAAN;AAA3C;;AAA4E5lC,SAAC,GAAC,CAAF;AAAI;;AAAA,WAAI+/D,CAAC,GAAC//D,CAAN,EAAQ+/D,CAAC,GAAC1lD,CAAV,EAAY0lD,CAAC,EAAb;AAAgB,YAAGp8C,CAAC,GAAC1kB,CAAC,CAACsxG,QAAF,CAAWxwC,CAAX,CAAF,EAAgB,CAACH,CAAC,IAAEu/D,EAAE,CAACx7G,CAAC,CAACpF,QAAH,CAAN,IAAoB,CAAvC,EAAyC,OAAM;AAACghH,oBAAU,EAACx/D,CAAZ;AAAczrB,mBAAS,EAAC/a,CAAC,GAACyhG,EAAE,CAAC/7H,CAAD,EAAGe,CAAH,EAAK+/D,CAAL;AAA5B,SAAN;AAAzD;;AAAoG,aAAM;AAACw/D,kBAAU,EAACllH,CAAC,GAAC,CAAd;AAAgBi6B,iBAAS,EAAC1O;AAA1B,OAAN;AAAmC,KAA3jB;AAA4jB45F,aAAS,EAAChE,EAAtkB;AAAykBhrG,cAAU,EAAC,oBAASvxB,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACkvB,QAAT;AAAkB,KAAlnB;AAAmnBsxG,iBAAa,EAACpE,EAAjoB;AAAooBqE,kBAAc,EAACnE,EAAnpB;AAAspBoE,eAAW,EAACzE,EAAlqB;AAAqqB0E,SAAK,EAAC,eAAS3gI,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3mC,CAAC,CAACsxG,QAAF,CAAWpuG,MAAzB,EAAgCyjC,CAAC,EAAjC;AAAoC,YAAG3mC,CAAC,CAACsxG,QAAF,CAAW3qE,CAAX,EAAcvhB,GAAjB,EAAqB,OAAM,CAAC,CAAP;AAAzD;;AAAkE,aAAM,CAAC,CAAP;AAAS,KAAlwB;AAAmwBw7G,UAAM,EAAC,gBAAS5gI,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3mC,CAAC,CAACsxG,QAAF,CAAWpuG,MAAzB,EAAgCyjC,CAAC,EAAjC;AAAoC,YAAG3mC,CAAC,CAACsxG,QAAF,CAAW3qE,CAAX,EAAc1d,GAAjB,EAAqB,OAAM,CAAC,CAAP;AAAzD;;AAAkE,aAAM,CAAC,CAAP;AAAS,KAAj2B;AAAk2Blc,gBAAY,EAACyvH,EAA/2B;AAAk3BqE,8BAA0B,EAAC,oCAAS7gI,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,UAAIwmC,CAAC,GAAC,IAAE53C,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASo3B,CAA7B,GAA+BA,CAA/B,GAAiC,CAAvC;AAAyC,aAAOkiG,EAAE,CAAC,WAAD,EAAaz7H,CAAb,CAAF,GAAkB,CAACf,CAAC,GAACe,CAAC,CAACwF,UAAF,CAAa0pG,SAAf,GAAyB,IAAEnvC,CAA5B,IAA+Bn6B,CAAjD,GAAmD+3D,GAA1D;AAA8D,KAAtgC;AAAugCoiC,4BAAwB,EAACrE;AAAhiC,GAApE;AAAA,MAAwmCM,EAAE,GAACnwB,EAAE,CAAC9sD,GAA9mC;AAAA,MAAknC88E,EAAE,GAAChwB,EAAE,CAACa,YAAxnC;AAAA,MAAqoCszB,EAAE,GAACv6H,MAAM,CAAC0pD,MAAP,CAAc;AAAC8wE,6BAAyB,EAACtD,EAA3B;AAA8BuD,iBAAa,EAACpD,EAA5C;AAA+CqD,gBAAY,EAACpD,EAA5D;AAA+DqD,WAAO,EAACpD,EAAvE;AAA0EqD,WAAO,EAAC,iBAASphI,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC49H,KAAR;AAAc,aAAOG,EAAE,CAACp3F,CAAD,CAAT;AAAa,KAAzH;AAA0H06F,cAAU,EAAC,oBAASrhI,CAAT,EAAW;AAAC,UAAI2mC,CAAJ;AAAA,UAAM5lC,CAAN;AAAA,UAAQu5B,CAAC,GAAC,EAAV;AAAA,UAAawmC,CAAC,GAAC,KAAK,CAApB;;AAAsB,WAAIA,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC9gE,CAAC,CAACkD,MAAZ,EAAmB49D,CAAC,EAApB;AAAuBxmC,SAAC,KAAGv5B,CAAC,GAAC+/D,CAAF,EAAI,CAACn6B,CAAC,GAAC3mC,CAAH,EAAMwhB,KAAN,CAAYzgB,CAAZ,IAAe,GAAf,GAAmB4lC,CAAC,CAACjd,GAAF,CAAM3oB,CAAN,CAAnB,GAA4B,GAAnC,CAAD;AAAvB;;AAAgE,aAAOu5B,CAAP;AAAS;AAAhP,GAAd,CAAxoC;AAAA,MAAy4CgnG,EAAE,GAAC,eAAa,OAAO9+H,MAApB,GAA2BA,MAA3B,GAAkC,EAA96C;AAAA,MAAi7C++H,EAAE,GAAC,eAAa,OAAOt2G,MAApB,GAA2B,UAA3B,GAAsCA,MAAM,EAAh+C;AAAA,MAAm+Cu2G,EAAE,GAAC,wBAAt+C;AAAA,MAA+/CC,EAAE,GAACH,EAAE,CAACI,WAAH,IAAgBJ,EAAE,CAACK,iBAAnB,IAAsCL,EAAE,CAACM,cAAzC,IAAyDN,EAAE,CAACO,aAA9jD;AAAA,MAA4kDC,EAAE,GAACR,EAAE,CAACS,GAAH,IAAQT,EAAE,CAACU,SAAX,IAAsBF,EAAE,IAAEA,EAAE,CAACG,KAA5mD;AAAA,MAAknDC,EAAE,GAACZ,EAAE,CAACa,MAAxnD;;AAA+nD,WAASC,EAAT,CAAYthE,CAAZ,EAAcp8C,CAAd,EAAgB;AAAC,WAAO,UAAS1kB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAW,UAAG,CAACjiB,CAAJ,EAAM,OAAO,IAAIw9G,EAAJ,CAAOphE,CAAP,CAAP;;AAAiB,UAAGohE,EAAE,IAAE,CAACliI,CAAR,EAAU;AAAC,YAAIe,CAAC,GAACshI,EAAE,CAAC39G,CAAC,CAACuC,QAAF,GAAa5iB,OAAb,CAAqB,eAArB,EAAqC,EAArC,EAAyCsW,KAAzC,CAA+C,CAA/C,EAAiD,CAAC,CAAlD,CAAD,CAAR;AAA+D,eAAO,KAAK4mH,EAAL,IAAS,IAAIW,EAAJ,CAAOnhI,CAAP,CAAT,EAAmB,UAASf,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAG,CAAC3mC,CAAD,IAAI,CAAC2mC,CAAR,EAAU;AAAO,cAAI5lC,CAAC,GAACf,CAAC,CAACsiI,SAAR;AAAkBtiI,WAAC,CAACuiI,MAAF,GAAS57F,CAAT,EAAW3mC,CAAC,CAACsiI,SAAF,GAAY,YAAU;AAACtiI,aAAC,CAACuiI,MAAF,IAAUT,EAAE,CAACU,eAAH,CAAmBxiI,CAAC,CAACuiI,MAArB,CAAV,EAAuCxhI,CAAC,CAAC4E,IAAF,CAAO3F,CAAP,CAAvC;AAAiD,WAAnF;AAAoF,SAArI,CAAsI,KAAKuhI,EAAL,CAAtI,EAA+IxgI,CAA/I,CAAnB,EAAqK,KAAKwgI,EAAL,CAA5K;AAAqL;;AAAA,UAAIjnG,CAAC,GAAC;AAACmoG,mBAAW,EAAC,qBAASziI,CAAT,EAAW;AAAC2mC,WAAC,CAAC+7F,SAAF,IAAa5sH,UAAU,CAAC,YAAU;AAAC6wB,aAAC,CAAC+7F,SAAF,CAAY;AAACliI,kBAAI,EAACR,CAAN;AAAQsK,oBAAM,EAACgwB;AAAf,aAAZ;AAA+B,WAA3C,CAAvB;AAAoE;AAA7F,OAAN;AAAqG5V,OAAC,CAAC/e,IAAF,CAAO20B,CAAP,GAAU,KAAKmoG,WAAL,GAAiB,UAASziI,CAAT,EAAW;AAAC8V,kBAAU,CAAC,YAAU;AAACwkB,WAAC,CAACooG,SAAF,CAAY;AAACliI,gBAAI,EAACR,CAAN;AAAQsK,kBAAM,EAACq8B;AAAf,WAAZ;AAA+B,SAA3C,CAAV;AAAuD,OAA9F,EAA+F,KAAKg8F,YAAL,GAAkB,CAAC,CAAlH;AAAoH,KAA7gB;AAA8gB;;AAAA,MAAGT,EAAH,EAAM;AAAC,QAAIU,EAAJ;AAAA,QAAOC,EAAE,GAACR,EAAE,CAAC,iCAAD,CAAZ;AAAA,QAAgDS,EAAE,GAAC,IAAI1wB,UAAJ,CAAe,CAAf,CAAnD;;AAAqE,QAAG;AAAC,OAACwwB,EAAE,GAAC,IAAIV,EAAJ,CAAOW,EAAP,CAAJ,EAAgBJ,WAAhB,CAA4BK,EAA5B,EAA+B,CAACA,EAAE,CAACn3H,MAAJ,CAA/B;AAA4C,KAAhD,CAAgD,OAAM3L,CAAN,EAAQ;AAACkiI,QAAE,GAAC,IAAH;AAAQ,KAAjE,SAAwE;AAACJ,QAAE,CAACU,eAAH,CAAmBK,EAAnB,GAAuBD,EAAE,IAAEA,EAAE,CAACN,SAAH,EAA3B;AAA0C;AAAC;;AAAA,WAASD,EAAT,CAAY17F,CAAZ,EAAc;AAAC,QAAG;AAAC,aAAOm7F,EAAE,CAACiB,eAAH,CAAmB,IAAIC,IAAJ,CAAS,CAACr8F,CAAD,CAAT,EAAa;AAACp2B,YAAI,EAACixH;AAAN,OAAb,CAAnB,CAAP;AAAmD,KAAvD,CAAuD,OAAMxhI,CAAN,EAAQ;AAAC,UAAIe,CAAC,GAAC,IAAI0gI,EAAJ,EAAN;AAAa,aAAO1gI,CAAC,CAACuI,MAAF,CAASq9B,CAAT,GAAYm7F,EAAE,CAACiB,eAAH,CAAmBhiI,CAAC,CAACkiI,OAAF,CAAU1yH,IAAV,CAAnB,CAAnB;AAAuD;AAAC;;AAAA,WAAS2yH,EAAT,CAAYljI,CAAZ,EAAc;AAAC,WAAOA,CAAC,CAACipB,GAAF,CAAM,UAASjpB,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACqE,OAAF,CAAU,qBAAV,EAAgC,UAASrE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,eAAM,UAAQ,CAAC,OAAK0mD,MAAM,CAAC9gB,CAAD,CAAN,CAAU1f,QAAV,CAAmB,EAAnB,CAAN,EAA8BtM,KAA9B,CAAoC,CAAC,CAArC,CAAR,GAAgD,IAAhD,GAAqD,CAAC,OAAK8sC,MAAM,CAAC1mD,CAAD,CAAN,CAAUkmB,QAAV,CAAmB,EAAnB,CAAN,EAA8BtM,KAA9B,CAAoC,CAAC,CAArC,CAA3D;AAAmG,OAAnJ,CAAP;AAA4J,KAA9K,CAAP;AAAuL;;AAAA,WAASwoH,EAAT,CAAYnjI,CAAZ,EAAc;AAAC,QAAI2mC,CAAJ;AAAA,QAAM5lC,CAAC,GAAC,IAAEmoB,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASlD,CAA7B,GAA+BA,CAA/B,GAAiC,EAAzC;AAAA,QAA4Cs6B,CAAC,GAAC;AAAC8oG,gBAAU,EAAC;AAAZ,KAA9C;AAA6D,WAAO9oG,CAAC,CAAC8oG,UAAF,GAAariI,CAAC,CAACoqB,KAAF,CAAQ,GAAR,EAAajoB,MAA1B,EAAiCo3B,CAAC,CAAC8oG,UAAF,GAAa9oG,CAAC,CAAC8oG,UAAF,IAAc,CAA5D,EAA8D,CAACz8F,CAAC,GAAC,8BAA8BppB,IAA9B,CAAmCxc,CAAnC,CAAH,MAA4Cu5B,CAAC,CAAC+oG,UAAF,GAAa18F,CAAC,CAAC,CAAD,CAAd,EAAkBrM,CAAC,CAACgpG,wBAAF,GAA2B38F,CAAC,CAAC,CAAD,CAA1F,CAA9D,EAA6JrM,CAAC,CAACipG,YAAF,GAAe,8CAA8ChmH,IAA9C,CAAmDxc,CAAnD,CAA5K,EAAkOu5B,CAAC,CAACipG,YAAF,GAAejpG,CAAC,CAACipG,YAAF,IAAgBjpG,CAAC,CAACipG,YAAF,CAAe,CAAf,CAAjQ,EAAmRjpG,CAA1R;AAA4R;;AAAA,WAASkpG,EAAT,CAAYxjI,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,WAAOf,CAAC,GAAC,GAAF,GAAM2mC,CAAN,GAAQ,YAAR,GAAqB5lC,CAAC,CAACqD,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,aAAM,CAAC,CAACA,CAAR;AAAU,KAA/B,EAAiCmwB,IAAjC,CAAsC,IAAtC,CAArB,GAAiE,GAAxE;AAA4E;;AAAA,WAASszG,EAAT,CAAYzjI,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAAC,UAASf,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACsxG,QAAF,IAAYtxG,CAAC,CAACsxG,QAAF,CAAWpuG,MAAvB,IAA+BlD,CAAC,CAACsxG,QAAF,CAAW,CAAX,EAAcroF,GAA7C,GAAiD,KAAjD,GAAuD,MAA9D;AAAqE,KAAjF,CAAkF0d,CAAlF,CAAN;AAAA,QAA2FrM,CAAC,GAAC,UAASt6B,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACuG,UAAF,IAAc,EAApB;AAAuB,aAAOogC,CAAC,CAACm7E,MAAF,GAASqhB,EAAE,CAACx8F,CAAC,CAACm7E,MAAH,CAAX,GAAsB4hB,EAA7B;AAAgC,KAAnE,CAAoE/8F,CAApE,CAA7F;AAAA,QAAoKm6B,CAAC,GAACn6B,CAAC,CAACpgC,UAAF,IAAc,EAApL;AAAA,QAAuLme,CAAC,GAAC,CAAC,CAA1L;AAAA,QAA4LtJ,CAAC,GAAC,CAAC,CAA/L;;AAAiM,QAAG,CAACurB,CAAJ,EAAM,OAAM,EAAN;;AAAS,QAAG3mC,CAAC,CAACuyG,WAAF,CAAcvB,KAAd,IAAqBlwC,CAAC,CAACkwC,KAA1B,EAAgC;AAAC,UAAIrwC,CAAC,GAAC3gE,CAAC,CAACuyG,WAAF,CAAcvB,KAAd,CAAoBlwC,CAAC,CAACkwC,KAAtB,CAAN;AAAmC,UAAGrwC,CAAH,EAAK,KAAI,IAAIC,CAAR,IAAal8C,CAAC,GAAC,EAAEtJ,CAAC,GAAC,CAAC,CAAL,CAAF,EAAUulD,CAAvB;AAAyB,YAAG,CAACA,CAAC,CAACC,CAAD,CAAD,CAAKmY,GAAN,IAAW,CAACpY,CAAC,CAACC,CAAD,CAAD,CAAK0xC,SAApB,EAA8B;AAAC5tF,WAAC,GAAC,CAAC,CAAH;AAAK;AAAM;AAAnE;AAAoE;;AAAAtJ,KAAC,IAAE,CAACkf,CAAC,CAACipG,YAAN,KAAqB7+G,CAAC,KAAG4V,CAAC,CAACipG,YAAF,GAAe,UAASvjI,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,CAAC3mC,CAAC,CAACuyG,WAAF,CAAcvB,KAAf,IAAsB,CAACrqE,CAA1B,EAA4B,OAAO,IAAP;AAAY,UAAI5lC,CAAC,GAACf,CAAC,CAACuyG,WAAF,CAAcvB,KAAd,CAAoBrqE,CAApB,CAAN;AAA6B,UAAG,CAAC5lC,CAAJ,EAAM,OAAO,IAAP;;AAAY,WAAI,IAAIu5B,CAAR,IAAav5B,CAAb,EAAe;AAAC,YAAI+/D,CAAC,GAAC//D,CAAC,CAACu5B,CAAD,CAAP;AAAW,YAAGwmC,CAAC,WAAD,IAAWA,CAAC,CAACwxC,SAAhB,EAA0B,OAAO6wB,EAAE,CAACriE,CAAC,CAACwxC,SAAF,CAAY,CAAZ,EAAe/rG,UAAf,CAA0Bu7G,MAA3B,CAAF,CAAqCyhB,YAA5C;AAAyD;;AAAA,aAAO,IAAP;AAAY,KAA/N,CAAgOvjI,CAAhO,EAAkO8gE,CAAC,CAACkwC,KAApO,CAAlB,CAAD,EAA+P12E,CAAC,CAACipG,YAAF,KAAiB32B,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,6HAAZ,GAA2IlF,CAAC,CAACipG,YAAF,GAAeG,EAAE,CAACH,YAA9K,CAApR;AAAid,QAAInoG,CAAC,GAAC,EAAN;AAASd,KAAC,CAAC+oG,UAAF,KAAejoG,CAAC,CAAC4gD,KAAF,GAAQ,KAAG1hD,CAAC,CAAC+oG,UAAL,GAAgB/oG,CAAC,CAACgpG,wBAAzC,GAAmEhpG,CAAC,CAACipG,YAAF,KAAiBnoG,CAAC,CAACwgD,KAAF,GAAQ,aAAWthD,CAAC,CAACipG,YAAtC,CAAnE;AAAuH,QAAI/hE,CAAC,GAACgiE,EAAE,CAAC,OAAD,EAASziI,CAAT,EAAW,CAACq6B,CAAC,CAACwgD,KAAH,CAAX,CAAR;AAAA,QAA8Bnb,CAAC,GAAC+iE,EAAE,CAAC,OAAD,EAASziI,CAAT,EAAW,CAACq6B,CAAC,CAAC4gD,KAAH,CAAX,CAAlC;AAAA,QAAwDtb,CAAC,GAAC8iE,EAAE,CAAC,OAAD,EAASziI,CAAT,EAAW,CAACq6B,CAAC,CAAC4gD,KAAH,EAAS5gD,CAAC,CAACwgD,KAAX,CAAX,CAA5D;AAA0F,WAAOxgE,CAAC,GAAC,CAACsJ,CAAD,IAAI0W,CAAC,CAAC4gD,KAAN,GAAY,CAACvb,CAAD,EAAGe,CAAH,CAAZ,GAAkB98C,CAAC,IAAE0W,CAAC,CAAC4gD,KAAL,GAAW,CAACtb,CAAD,EAAGc,CAAH,CAAX,GAAiB,CAACA,CAAD,EAAGA,CAAH,CAApC,GAA0CpmC,CAAC,CAAC4gD,KAAF,GAAQ,CAACtb,CAAD,CAAR,GAAY,CAACc,CAAD,CAA9D;AAAkE;;AAAA,WAASmiE,EAAT,CAAY3jI,CAAZ,EAAc;AAAC,QAAI8gE,CAAC,GAAC;AAACvwD,UAAI,EAAC,EAAN;AAAS9M,gBAAU,EAAC;AAApB,KAAN;AAAA,QAA8BkjC,CAAC,GAAC3mC,CAAC,CAAC6jD,IAAF,GAAS14B,KAAT,CAAe,GAAf,CAAhC;AAAoD,WAAO21C,CAAC,CAACvwD,IAAF,GAAOo2B,CAAC,CAACnW,KAAF,GAAUqzB,IAAV,EAAP,EAAwBld,CAAC,CAAC59B,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC6jD,IAAF,GAAS14B,KAAT,CAAe,GAAf,CAAN;;AAA0B,UAAG,IAAEwb,CAAC,CAACzjC,MAAP,EAAc;AAAC,YAAInC,CAAC,GAAC4lC,CAAC,CAAC,CAAD,CAAD,CAAKtiC,OAAL,CAAa,IAAb,EAAkB,EAAlB,EAAsBw/C,IAAtB,EAAN;AAAA,YAAmCvpB,CAAC,GAACqM,CAAC,CAAC,CAAD,CAAD,CAAKtiC,OAAL,CAAa,IAAb,EAAkB,EAAlB,EAAsBw/C,IAAtB,EAArC;AAAkEid,SAAC,CAACr9D,UAAF,CAAa1C,CAAb,IAAgBu5B,CAAhB;AAAkB;AAAC,KAApJ,CAAxB,EAA8KwmC,CAArL;AAAuL;;AAAA,WAAS8iE,EAAT,CAAY5jI,CAAZ,EAAc;AAAC,WAAM,iBAAiB2V,IAAjB,CAAsB3V,CAAtB,CAAN;AAA+B;;AAAA,WAAS6jI,EAAT,CAAY7jI,CAAZ,EAAc;AAAC,WAAM,kBAAkB2V,IAAlB,CAAuB3V,CAAvB,CAAN;AAAgC;;AAAA,MAAI8jI,EAAE,GAAC,IAAI1B,EAAJ,CAAO,+BAAP,EAAuC,UAASpiI,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAIwpC,EAAE,GAAC,IAAP;AAAY,KAAC,YAAU;AAAC,eAASnwE,CAAT,GAAY;AAAC,aAAK0B,IAAL,GAAU,YAAU;AAAC,cAAIgjB,CAAC,GAAC,EAAN;AAAS,eAAKriB,EAAL,GAAQ,UAASrC,CAAT,EAAW2mC,CAAX,EAAa;AAACjiB,aAAC,CAAC1kB,CAAD,CAAD,KAAO0kB,CAAC,CAAC1kB,CAAD,CAAD,GAAK,EAAZ,GAAgB0kB,CAAC,CAAC1kB,CAAD,CAAD,GAAK0kB,CAAC,CAAC1kB,CAAD,CAAD,CAAK+mB,MAAL,CAAY4f,CAAZ,CAArB;AAAoC,WAA1D,EAA2D,KAAKvkC,GAAL,GAAS,UAASpC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,gBAAI5lC,CAAJ;AAAM,mBAAM,CAAC,CAAC2jB,CAAC,CAAC1kB,CAAD,CAAH,KAASe,CAAC,GAAC2jB,CAAC,CAAC1kB,CAAD,CAAD,CAAKmB,OAAL,CAAawlC,CAAb,CAAF,EAAkBjiB,CAAC,CAAC1kB,CAAD,CAAD,GAAK0kB,CAAC,CAAC1kB,CAAD,CAAD,CAAK2a,KAAL,EAAvB,EAAoC+J,CAAC,CAAC1kB,CAAD,CAAD,CAAKwa,MAAL,CAAYzZ,CAAZ,EAAc,CAAd,CAApC,EAAqD,CAAC,CAAD,GAAGA,CAAjE,CAAN;AAA0E,WAAlK,EAAmK,KAAKwE,OAAL,GAAa,UAASvF,CAAT,EAAW;AAAC,gBAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR,EAAUwmC,CAAV;AAAY,gBAAGn6B,CAAC,GAACjiB,CAAC,CAAC1kB,CAAD,CAAN,EAAU,IAAG,MAAIkpB,SAAS,CAAChmB,MAAjB,EAAwB,KAAIo3B,CAAC,GAACqM,CAAC,CAACzjC,MAAJ,EAAWnC,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAACu5B,CAArB,EAAuB,EAAEv5B,CAAzB;AAA2B4lC,eAAC,CAAC5lC,CAAD,CAAD,CAAK4E,IAAL,CAAU,IAAV,EAAeujB,SAAS,CAAC,CAAD,CAAxB;AAA3B,aAAxB,MAAoF;AAAC,mBAAI43C,CAAC,GAAC,EAAF,EAAK//D,CAAC,GAACmoB,SAAS,CAAChmB,MAAjB,EAAwBnC,CAAC,GAAC,CAA9B,EAAgCA,CAAC,GAACmoB,SAAS,CAAChmB,MAA5C,EAAmD,EAAEnC,CAArD;AAAuD+/D,iBAAC,CAACv9D,IAAF,CAAO2lB,SAAS,CAACnoB,CAAD,CAAhB;AAAvD;;AAA4E,mBAAIu5B,CAAC,GAACqM,CAAC,CAACzjC,MAAJ,EAAWnC,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAACu5B,CAArB,EAAuB,EAAEv5B,CAAzB;AAA2B4lC,iBAAC,CAAC5lC,CAAD,CAAD,CAAK2E,KAAL,CAAW,IAAX,EAAgBo7D,CAAhB;AAA3B;AAA8C;AAAC,WAAla,EAAma,KAAKrvD,OAAL,GAAa,YAAU;AAACiT,aAAC,GAAC,EAAF;AAAK,WAAhc;AAAic,SAA/d;AAAge;;AAAA1kB,OAAC,CAAC+Z,SAAF,CAAY4jB,IAAZ,GAAiB,UAASgJ,CAAT,EAAW;AAAC,eAAO,KAAKtkC,EAAL,CAAQ,MAAR,EAAe,UAASrC,CAAT,EAAW;AAAC2mC,WAAC,CAACpjC,IAAF,CAAOvD,CAAP;AAAU,SAArC,GAAuC,KAAKqC,EAAL,CAAQ,MAAR,EAAe,UAASrC,CAAT,EAAW;AAAC2mC,WAAC,CAACyzC,KAAF,CAAQp6E,CAAR;AAAW,SAAtC,CAAvC,EAA+E,KAAKqC,EAAL,CAAQ,aAAR,EAAsB,UAASrC,CAAT,EAAW;AAAC2mC,WAAC,CAAC+pF,YAAF,CAAe1wH,CAAf;AAAkB,SAApD,CAA/E,EAAqI,KAAKqC,EAAL,CAAQ,eAAR,EAAwB,UAASrC,CAAT,EAAW;AAAC2mC,WAAC,CAACgqF,WAAF,CAAc3wH,CAAd;AAAiB,SAArD,CAArI,EAA4L,KAAKqC,EAAL,CAAQ,OAAR,EAAgB,UAASrC,CAAT,EAAW;AAAC2mC,WAAC,CAAC9P,KAAF,CAAQ72B,CAAR;AAAW,SAAvC,CAA5L,EAAqO2mC,CAA5O;AAA8O,OAA3Q,EAA4Q3mC,CAAC,CAAC+Z,SAAF,CAAYxW,IAAZ,GAAiB,UAASvD,CAAT,EAAW;AAAC,aAAKuF,OAAL,CAAa,MAAb,EAAoBvF,CAApB;AAAuB,OAAhU,EAAiUA,CAAC,CAAC+Z,SAAF,CAAYqgE,KAAZ,GAAkB,UAASp6E,CAAT,EAAW;AAAC,aAAKuF,OAAL,CAAa,MAAb,EAAoBvF,CAApB;AAAuB,OAAtX,EAAuXA,CAAC,CAAC+Z,SAAF,CAAY22G,YAAZ,GAAyB,UAAS1wH,CAAT,EAAW;AAAC,aAAKuF,OAAL,CAAa,aAAb,EAA2BvF,CAA3B;AAA8B,OAA1b,EAA2bA,CAAC,CAAC+Z,SAAF,CAAY42G,WAAZ,GAAwB,UAAS3wH,CAAT,EAAW;AAAC,aAAKuF,OAAL,CAAa,eAAb,EAA6BvF,CAA7B;AAAgC,OAA/f,EAAggBA,CAAC,CAAC+Z,SAAF,CAAY8c,KAAZ,GAAkB,UAAS72B,CAAT,EAAW;AAAC,aAAKuF,OAAL,CAAa,OAAb,EAAqBvF,CAArB;AAAwB,OAAtjB;;AAAujB,UAAIo7B,CAAJ;AAAA,UAAMuL,CAAN;AAAA,UAAQ5lC,CAAR;AAAA,UAAU+/D,CAAV;AAAA,UAAYp8C,CAAZ;AAAA,UAAc4V,CAAd;AAAA,UAAgBlf,CAAhB;AAAA,UAAkBulD,CAAlB;AAAA,UAAoBC,CAApB;AAAA,UAAsBY,CAAtB;AAAA,UAAwBf,CAAxB;AAAA,UAA0BC,CAA1B;AAAA,UAA4BttB,CAA5B;AAAA,UAA8BkuB,CAA9B;AAAA,UAAgC/xC,CAAhC;AAAA,UAAkCmyC,CAAlC;AAAA,UAAoCzkC,CAApC;AAAA,UAAsC3a,CAAtC;AAAA,UAAwC6Z,CAAxC;AAAA,UAA0C9gB,CAA1C;AAAA,UAA4CsmD,CAA5C;AAAA,UAA8CC,CAA9C;AAAA,UAAgDE,CAAhD;AAAA,UAAkDG,CAAlD;AAAA,UAAoDz7C,CAApD;AAAA,UAAsD07C,CAAtD;AAAA,UAAwD7/C,CAAxD;AAAA,UAA0D8/C,CAA1D;AAAA,UAA4DC,CAA5D;AAAA,UAA8DC,CAA9D;AAAA,UAAgEC,CAAhE;AAAA,UAAkEC,CAAlE;AAAA,UAAoEC,CAApE;AAAA,UAAsEC,CAAtE;AAAA,UAAwEE,CAAxE;AAAA,UAA0EC,CAA1E;AAAA,UAA4EC,CAA5E;AAAA,UAA8EG,CAA9E;AAAA,UAAgFv5C,CAAhF;AAAA,UAAkFw5C,CAAlF;AAAA,UAAoFC,CAAC,GAACljE,CAAtF;AAAA,UAAwF+hE,CAAC,GAACphD,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAW,EAAX,IAAe,CAAzG;;AAA2G,OAAC,YAAU;AAAC,YAAIhtH,CAAJ;;AAAM,YAAG4hE,CAAC,GAAC;AAAColD,cAAI,EAAC,EAAN;AAASU,cAAI,EAAC,EAAd;AAAiBQ,cAAI,EAAC,EAAtB;AAAyBqB,cAAI,EAAC,EAA9B;AAAiCE,cAAI,EAAC,EAAtC;AAAyClB,cAAI,EAAC,EAA9C;AAAiDY,cAAI,EAAC,EAAtD;AAAyDQ,cAAI,EAAC,EAA9D;AAAiEG,cAAI,EAAC,EAAtE;AAAyEE,cAAI,EAAC,EAA9E;AAAiFE,cAAI,EAAC,EAAtF;AAAyFC,cAAI,EAAC,EAA9F;AAAiGE,cAAI,EAAC,EAAtG;AAAyGM,cAAI,EAAC,EAA9G;AAAiHC,cAAI,EAAC,EAAtH;AAAyHN,cAAI,EAAC,EAA9H;AAAiIO,cAAI,EAAC,EAAtI;AAAyIC,cAAI,EAAC,EAA9I;AAAiJiZ,cAAI,EAAC,EAAtJ;AAAyJ5Y,cAAI,EAAC,EAA9J;AAAiKO,cAAI,EAAC,EAAtK;AAAyKE,cAAI,EAAC,EAA9K;AAAiLC,cAAI,EAAC,EAAtL;AAAyLE,cAAI,EAAC,EAA9L;AAAiMK,cAAI,EAAC,EAAtM;AAAyME,cAAI,EAAC,EAA9M;AAAiNG,cAAI,EAAC,EAAtN;AAAyNI,cAAI,EAAC,EAA9N;AAAiOC,cAAI,EAAC,EAAtO;AAAyOG,cAAI,EAAC,EAA9O;AAAiPW,cAAI,EAAC,EAAtP;AAAyPC,cAAI,EAAC,EAA9P;AAAiQS,cAAI,EAAC,EAAtQ;AAAyQR,cAAI,EAAC,EAA9Q;AAAiRL,cAAI,EAAC,EAAtR;AAAyRiB,cAAI,EAAC;AAA9R,SAAF,EAAoS,eAAa,OAAOtc,UAA3T,EAAsU;AAAC,eAAIpyG,CAAJ,IAAS4hE,CAAT;AAAWA,aAAC,CAAClvD,cAAF,CAAiB1S,CAAjB,MAAsB4hE,CAAC,CAAC5hE,CAAD,CAAD,GAAK,CAACA,CAAC,CAAC8uB,UAAF,CAAa,CAAb,CAAD,EAAiB9uB,CAAC,CAAC8uB,UAAF,CAAa,CAAb,CAAjB,EAAiC9uB,CAAC,CAAC8uB,UAAF,CAAa,CAAb,CAAjC,EAAiD9uB,CAAC,CAAC8uB,UAAF,CAAa,CAAb,CAAjD,CAA3B;AAAX;;AAAyGgzC,WAAC,GAAC,IAAIswC,UAAJ,CAAe,CAAC,IAAItjF,UAAJ,CAAe,CAAf,CAAD,EAAmB,IAAIA,UAAJ,CAAe,CAAf,CAAnB,EAAqC,IAAIA,UAAJ,CAAe,CAAf,CAArC,EAAuD,IAAIA,UAAJ,CAAe,CAAf,CAAvD,CAAf,CAAF,EAA4FtI,CAAC,GAAC,IAAI4rF,UAAJ,CAAe,CAAC,IAAItjF,UAAJ,CAAe,CAAf,CAAD,EAAmB,IAAIA,UAAJ,CAAe,CAAf,CAAnB,EAAqC,IAAIA,UAAJ,CAAe,CAAf,CAArC,EAAuD,IAAIA,UAAJ,CAAe,CAAf,CAAvD,CAAf,CAA9F,EAAwLmzC,CAAC,GAAC,IAAImwC,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,CAAf,CAA1L,EAAoNlwC,CAAC,GAAC,IAAIkwC,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,EAAiB,GAAjB,EAAqB,GAArB,EAAyB,GAAzB,EAA6B,GAA7B,EAAiC,CAAjC,EAAmC,CAAnC,EAAqC,CAArC,EAAuC,CAAvC,EAAyC,CAAzC,EAA2C,CAA3C,EAA6C,CAA7C,EAA+C,CAA/C,EAAiD,CAAjD,EAAmD,CAAnD,EAAqD,CAArD,EAAuD,CAAvD,EAAyD,EAAzD,EAA4D,GAA5D,EAAgE,GAAhE,EAAoE,GAApE,EAAwE,GAAxE,EAA4E,EAA5E,EAA+E,EAA/E,EAAkF,GAAlF,EAAsF,GAAtF,EAA0F,GAA1F,EAA8F,GAA9F,EAAkG,GAAlG,EAAsG,CAAtG,CAAf,CAAtN,EAA+U/vF,CAAC,GAAC,IAAI+vF,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,EAAiB,GAAjB,EAAqB,GAArB,EAAyB,GAAzB,EAA6B,GAA7B,EAAiC,CAAjC,EAAmC,CAAnC,EAAqC,CAArC,EAAuC,CAAvC,EAAyC,CAAzC,EAA2C,CAA3C,EAA6C,CAA7C,EAA+C,CAA/C,EAAiD,CAAjD,EAAmD,CAAnD,EAAqD,CAArD,EAAuD,CAAvD,EAAyD,EAAzD,EAA4D,GAA5D,EAAgE,GAAhE,EAAoE,GAApE,EAAwE,GAAxE,EAA4E,EAA5E,EAA+E,EAA/E,EAAkF,GAAlF,EAAsF,GAAtF,EAA0F,GAA1F,EAA8F,GAA9F,EAAkG,GAAlG,EAAsG,CAAtG,CAAf,CAAjV,EAA0cjwC,CAAC,GAAC;AAAC6Z,iBAAK,EAAC9Z,CAAP;AAAS0Z,iBAAK,EAACv5D;AAAf,WAA5c,EAA8digD,CAAC,GAAC,IAAI8vC,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,EAAiB,CAAjB,EAAmB,CAAnB,EAAqB,CAArB,EAAuB,EAAvB,EAA0B,GAA1B,EAA8B,GAA9B,EAAkC,GAAlC,EAAsC,EAAtC,EAAyC,CAAzC,EAA2C,CAA3C,EAA6C,CAA7C,EAA+C,CAA/C,CAAf,CAAhe,EAAkiB/vC,CAAC,GAAC,IAAI+vC,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,CAAf,CAApiB,EAAskB7vC,CAAC,GAAC,IAAI6vC,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,CAAf,CAAxkB,EAA0mB5vC,CAAC,GAACD,CAA5mB,EAA8mBE,CAAC,GAAC,IAAI2vC,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,EAAiB,CAAjB,EAAmB,CAAnB,EAAqB,CAArB,EAAuB,CAAvB,CAAf,CAAhnB,EAA0pBzvC,CAAC,GAACJ,CAA5pB,EAA8pBH,CAAC,GAAC,IAAIgwC,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,EAAiB,CAAjB,EAAmB,CAAnB,EAAqB,CAArB,EAAuB,CAAvB,CAAf,CAAhqB;AAA0sB;AAAC,OAA5oC,EAAD,EAAgpCh3E,CAAC,GAAC,WAASp7B,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAA,YAAM5lC,CAAN;AAAA,YAAQu5B,CAAC,GAAC,EAAV;AAAA,YAAawmC,CAAC,GAAC,CAAf;;AAAiB,aAAIn6B,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACzd,SAAS,CAAChmB,MAApB,EAA2ByjC,CAAC,EAA5B;AAA+BrM,WAAC,CAAC/2B,IAAF,CAAO2lB,SAAS,CAACyd,CAAD,CAAhB;AAA/B;;AAAoD,aAAIA,CAAC,GAACrM,CAAC,CAACp3B,MAAR,EAAeyjC,CAAC,EAAhB;AAAoBm6B,WAAC,IAAExmC,CAAC,CAACqM,CAAD,CAAD,CAAKwgF,UAAR;AAApB;;AAAuC,aAAIpmH,CAAC,GAAC,IAAIqxG,UAAJ,CAAetxC,CAAC,GAAC,CAAjB,CAAF,EAAsB,IAAImmD,QAAJ,CAAalmH,CAAC,CAAC4K,MAAf,EAAsB5K,CAAC,CAACmmH,UAAxB,EAAmCnmH,CAAC,CAAComH,UAArC,EAAiD6c,SAAjD,CAA2D,CAA3D,EAA6DjjI,CAAC,CAAComH,UAA/D,CAAtB,EAAiGpmH,CAAC,CAACqgC,GAAF,CAAMphC,CAAN,EAAQ,CAAR,CAAjG,EAA4G2mC,CAAC,GAAC,CAA9G,EAAgHm6B,CAAC,GAAC,CAAtH,EAAwHn6B,CAAC,GAACrM,CAAC,CAACp3B,MAA5H,EAAmIyjC,CAAC,EAApI;AAAuI5lC,WAAC,CAACqgC,GAAF,CAAM9G,CAAC,CAACqM,CAAD,CAAP,EAAWm6B,CAAX,GAAcA,CAAC,IAAExmC,CAAC,CAACqM,CAAD,CAAD,CAAKwgF,UAAtB;AAAvI;;AAAwK,eAAOpmH,CAAP;AAAS,OAA37C,EAA47C4lC,CAAC,GAAC,aAAU;AAAC,eAAOvL,CAAC,CAACwmC,CAAC,CAAC2nD,IAAH,EAAQnuF,CAAC,CAACwmC,CAAC,CAAC6nD,IAAH,EAAQnnD,CAAR,CAAT,CAAR;AAA6B,OAAt+C,EAAu+CvhE,CAAC,GAAC,WAASf,CAAT,EAAW;AAAC,eAAOo7B,CAAC,CAACwmC,CAAC,CAAC2mD,IAAH,EAAQ,IAAInW,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,EAAX,EAAc,CAAd,EAAgB,CAAhB,EAAkB,CAAlB,EAAoB,CAApB,EAAsB,EAAtB,EAAyB,EAAzB,EAA4B,EAA5B,EAA+B,CAA/B,EAAiC,CAAjC,EAAmC,CAAnC,EAAqC,CAArC,EAAuC,CAAvC,EAAyC,GAAzC,EAA6C,GAA7C,EAAiD,CAAjD,EAAmD,CAAnD,EAAqD,GAArD,EAAyD,GAAzD,EAA6D,CAA7D,EAA+D,CAA/D,EAAiEpyG,CAAC,CAACikI,eAAF,IAAmB,CAAnB,GAAqBjkI,CAAC,CAACkkI,sBAAF,KAA2B,CAAjH,EAAmHlkI,CAAC,CAACkkI,sBAAF,IAA0B,CAA1B,GAA4BlkI,CAAC,CAACuqH,YAAF,IAAgB,CAA/J,EAAiK,CAAjK,EAAmK,CAAnK,EAAqK,CAArK,CAAf,CAAR,CAAR;AAAyM,OAA9rD,EAA+rDh7F,CAAC,GAAC,WAASvvB,CAAT,EAAW;AAAC,eAAOo7B,CAAC,CAACwmC,CAAC,CAAC+nD,IAAH,EAAQxnD,CAAC,CAACniE,CAAD,CAAT,CAAR;AAAsB,OAAnuD,EAAouDshE,CAAC,GAAC,WAASthE,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC,IAAIyrE,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,EAAiB,CAAjB,EAAmB,CAAnB,EAAqB,CAArB,EAAuB,CAAvB,EAAyB,CAAzB,EAA2B,CAA3B,EAA6B,EAA7B,EAAgC,GAAhC,EAAoCpyG,CAAC,CAACsf,QAAF,KAAa,EAAb,GAAgB,GAApD,EAAwDtf,CAAC,CAACsf,QAAF,KAAa,EAAb,GAAgB,GAAxE,EAA4Etf,CAAC,CAACsf,QAAF,KAAa,CAAb,GAAe,GAA3F,EAA+F,MAAItf,CAAC,CAACsf,QAArG,EAA8G,EAA9G,EAAiH,GAAjH,EAAqH,CAArH,EAAuH,CAAvH,CAAf,CAAN;AAAgJ,eAAOtf,CAAC,CAACyqH,UAAF,KAAe9jF,CAAC,CAAC,EAAD,CAAD,GAAM3mC,CAAC,CAACyqH,UAAF,KAAe,EAAf,GAAkB,GAAxB,EAA4B9jF,CAAC,CAAC,EAAD,CAAD,GAAM3mC,CAAC,CAACyqH,UAAF,KAAe,EAAf,GAAkB,GAApD,EAAwD9jF,CAAC,CAAC,EAAD,CAAD,GAAM3mC,CAAC,CAACyqH,UAAF,KAAe,CAAf,GAAiB,GAA/E,EAAmF9jF,CAAC,CAAC,EAAD,CAAD,GAAM,MAAI3mC,CAAC,CAACyqH,UAA9G,GAA0HrvF,CAAC,CAACwmC,CAAC,CAACooD,IAAH,EAAQrjF,CAAR,CAAlI;AAA6I,OAA/gE,EAAghEyM,CAAC,GAAC,WAASpzC,CAAT,EAAW;AAAC,eAAOo7B,CAAC,CAACwmC,CAAC,CAACsoD,IAAH,EAAQ5oD,CAAC,CAACthE,CAAD,CAAT,EAAauvB,CAAC,CAACvvB,CAAC,CAACuQ,IAAH,CAAd,EAAuB+pB,CAAC,CAACt6B,CAAD,CAAxB,CAAR;AAAqC,OAAnkE,EAAokE0kB,CAAC,GAAC,WAAS1kB,CAAT,EAAW;AAAC,eAAOo7B,CAAC,CAACwmC,CAAC,CAACuoD,IAAH,EAAQ,IAAI/X,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAC,aAAWpyG,CAAZ,KAAgB,EAAzB,EAA4B,CAAC,WAASA,CAAV,KAAc,EAA1C,EAA6C,CAAC,QAAMA,CAAP,KAAW,CAAxD,EAA0D,MAAIA,CAA9D,CAAf,CAAR,CAAR;AAAkG,OAAprE,EAAqrEs6B,CAAC,GAAC,WAASt6B,CAAT,EAAW;AAAC,eAAOo7B,CAAC,CAACwmC,CAAC,CAACyoD,IAAH,EAAQ,YAAUrqH,CAAC,CAACuQ,IAAZ,GAAiB6qB,CAAC,CAACwmC,CAAC,CAAC8sD,IAAH,EAAQtsD,CAAR,CAAlB,GAA6BhnC,CAAC,CAACwmC,CAAC,CAAC8pD,IAAH,EAAQrpD,CAAR,CAAtC,EAAiD17B,CAAC,EAAlD,EAAqD1J,CAAC,CAACj9B,CAAD,CAAtD,CAAR;AAAmE,OAAtwE,EAAuwEob,CAAC,GAAC,WAASpb,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAI,IAAI5lC,CAAC,GAAC,EAAN,EAASu5B,CAAC,GAACqM,CAAC,CAACzjC,MAAjB,EAAwBo3B,CAAC,EAAzB;AAA6Bv5B,WAAC,CAACu5B,CAAD,CAAD,GAAK6B,CAAC,CAACwK,CAAC,CAACrM,CAAD,CAAF,CAAN;AAA7B;;AAA0C,eAAOc,CAAC,CAAC11B,KAAF,CAAQ,IAAR,EAAa,CAACk8D,CAAC,CAAC+oD,IAAH,EAAQjmG,CAAC,CAAC1kB,CAAD,CAAT,EAAc+mB,MAAd,CAAqBhmB,CAArB,CAAb,CAAP;AAA6C,OAA92E,EAA+2E4/D,CAAC,GAAC,WAAS3gE,CAAT,EAAW;AAAC,aAAI,IAAI2mC,CAAC,GAAC3mC,CAAC,CAACkD,MAAR,EAAenC,CAAC,GAAC,EAArB,EAAwB4lC,CAAC,EAAzB;AAA6B5lC,WAAC,CAAC4lC,CAAD,CAAD,GAAK85B,CAAC,CAACzgE,CAAC,CAAC2mC,CAAD,CAAF,CAAN;AAA7B;;AAA0C,eAAOvL,CAAC,CAAC11B,KAAF,CAAQ,IAAR,EAAa,CAACk8D,CAAC,CAACgpD,IAAH,EAAQppD,CAAC,CAAC,UAAD,CAAT,EAAuBz6C,MAAvB,CAA8BhmB,CAA9B,EAAiCgmB,MAAjC,CAAwC65C,CAAC,CAAC5gE,CAAD,CAAzC,CAAb,CAAP;AAAmE,OAA1+E,EAA2+E4gE,CAAC,GAAC,WAAS5gE,CAAT,EAAW;AAAC,aAAI,IAAI2mC,CAAC,GAAC3mC,CAAC,CAACkD,MAAR,EAAenC,CAAC,GAAC,EAArB,EAAwB4lC,CAAC,EAAzB;AAA6B5lC,WAAC,CAAC4lC,CAAD,CAAD,GAAKtrB,CAAC,CAACrb,CAAC,CAAC2mC,CAAD,CAAF,CAAN;AAA7B;;AAA0C,eAAOvL,CAAC,CAAC11B,KAAF,CAAQ,IAAR,EAAa,CAACk8D,CAAC,CAACipD,IAAH,EAAS9jG,MAAT,CAAgBhmB,CAAhB,CAAb,CAAP;AAAwC,OAA3kF,EAA4kFygE,CAAC,GAAC,WAASxhE,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC,IAAIyrE,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,EAAiB,CAAjB,EAAmB,CAAnB,EAAqB,CAArB,EAAuB,CAAvB,EAAyB,CAAzB,EAA2B,CAA3B,EAA6B,EAA7B,EAAgC,GAAhC,EAAoC,CAAC,aAAWpyG,CAAZ,KAAgB,EAApD,EAAuD,CAAC,WAASA,CAAV,KAAc,EAArE,EAAwE,CAAC,QAAMA,CAAP,KAAW,CAAnF,EAAqF,MAAIA,CAAzF,EAA2F,CAA3F,EAA6F,CAA7F,EAA+F,CAA/F,EAAiG,CAAjG,EAAmG,CAAnG,EAAqG,CAArG,EAAuG,CAAvG,EAAyG,CAAzG,EAA2G,CAA3G,EAA6G,CAA7G,EAA+G,CAA/G,EAAiH,CAAjH,EAAmH,CAAnH,EAAqH,CAArH,EAAuH,CAAvH,EAAyH,CAAzH,EAA2H,CAA3H,EAA6H,CAA7H,EAA+H,CAA/H,EAAiI,CAAjI,EAAmI,CAAnI,EAAqI,CAArI,EAAuI,CAAvI,EAAyI,CAAzI,EAA2I,CAA3I,EAA6I,CAA7I,EAA+I,CAA/I,EAAiJ,CAAjJ,EAAmJ,CAAnJ,EAAqJ,CAArJ,EAAuJ,CAAvJ,EAAyJ,CAAzJ,EAA2J,CAA3J,EAA6J,CAA7J,EAA+J,CAA/J,EAAiK,CAAjK,EAAmK,CAAnK,EAAqK,CAArK,EAAuK,CAAvK,EAAyK,CAAzK,EAA2K,CAA3K,EAA6K,CAA7K,EAA+K,CAA/K,EAAiL,CAAjL,EAAmL,CAAnL,EAAqL,CAArL,EAAuL,CAAvL,EAAyL,CAAzL,EAA2L,EAA3L,EAA8L,CAA9L,EAAgM,CAAhM,EAAkM,CAAlM,EAAoM,CAApM,EAAsM,CAAtM,EAAwM,CAAxM,EAA0M,CAA1M,EAA4M,CAA5M,EAA8M,CAA9M,EAAgN,CAAhN,EAAkN,CAAlN,EAAoN,CAApN,EAAsN,CAAtN,EAAwN,CAAxN,EAA0N,CAA1N,EAA4N,CAA5N,EAA8N,CAA9N,EAAgO,CAAhO,EAAkO,CAAlO,EAAoO,CAApO,EAAsO,CAAtO,EAAwO,CAAxO,EAA0O,CAA1O,EAA4O,CAA5O,EAA8O,CAA9O,EAAgP,CAAhP,EAAkP,CAAlP,EAAoP,GAApP,EAAwP,GAAxP,EAA4P,GAA5P,EAAgQ,GAAhQ,CAAf,CAAN;AAA2R,eAAOo7B,CAAC,CAACwmC,CAAC,CAACkpD,IAAH,EAAQnkF,CAAR,CAAR;AAAmB,OAAx4F,EAAy4F+6B,CAAC,GAAC,WAAS1hE,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAA,YAAM5lC,CAAN;AAAA,YAAQu5B,CAAC,GAACt6B,CAAC,CAACorH,OAAF,IAAW,EAArB;AAAA,YAAwBtqD,CAAC,GAAC,IAAIsxC,UAAJ,CAAe,IAAE93E,CAAC,CAACp3B,MAAnB,CAA1B;;AAAqD,aAAInC,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACu5B,CAAC,CAACp3B,MAAZ,EAAmBnC,CAAC,EAApB;AAAuB4lC,WAAC,GAACrM,CAAC,CAACv5B,CAAD,CAAD,CAAKynH,KAAP,EAAa1nD,CAAC,CAAC//D,CAAC,GAAC,CAAH,CAAD,GAAO4lC,CAAC,CAACm+E,SAAF,IAAa,CAAb,GAAen+E,CAAC,CAACo+E,YAAF,IAAgB,CAA/B,GAAiCp+E,CAAC,CAACq+E,aAAvD;AAAvB;;AAA4F,eAAO5pF,CAAC,CAACwmC,CAAC,CAACupD,IAAH,EAAQrqD,CAAR,CAAR;AAAmB,OAA3jG,EAA4jG7jC,CAAC,GAAC,WAASj9B,CAAT,EAAW;AAAC,eAAOo7B,CAAC,CAACwmC,CAAC,CAACgqD,IAAH,EAAQtpG,CAAC,CAACtiB,CAAD,CAAT,EAAao7B,CAAC,CAACwmC,CAAC,CAAC6qD,IAAH,EAAQ9pD,CAAR,CAAd,EAAyBvnC,CAAC,CAACwmC,CAAC,CAACmqD,IAAH,EAAQvpD,CAAR,CAA1B,EAAqCpnC,CAAC,CAACwmC,CAAC,CAAC0qD,IAAH,EAAQ7pD,CAAR,CAAtC,EAAiDrnC,CAAC,CAACwmC,CAAC,CAACiqD,IAAH,EAAQtpD,CAAR,CAAlD,CAAR;AAAsE,OAAhpG,EAAipGjgD,CAAC,GAAC,WAAStiB,CAAT,EAAW;AAAC,eAAOo7B,CAAC,CAACwmC,CAAC,CAACwqD,IAAH,EAAQ,IAAIha,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,CAAf,CAAR,EAA0C,YAAUpyG,CAAC,CAACuQ,IAAZ,GAAiBqyD,CAAC,CAAC5iE,CAAD,CAAlB,GAAsB6iE,CAAC,CAAC7iE,CAAD,CAAjE,CAAR;AAA8E,OAA7uG,EAA8uG4iE,CAAC,GAAC,WAAS5iE,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAA,YAAM5lC,CAAN;AAAA,YAAQu5B,CAAC,GAACt6B,CAAC,CAACgoH,GAAF,IAAO,EAAjB;AAAA,YAAoBlnD,CAAC,GAAC9gE,CAAC,CAACioH,GAAF,IAAO,EAA7B;AAAA,YAAgCvjG,CAAC,GAAC,EAAlC;AAAA,YAAqCtJ,CAAC,GAAC,EAAvC;;AAA0C,aAAIurB,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACrM,CAAC,CAACp3B,MAAZ,EAAmByjC,CAAC,EAApB;AAAuBjiB,WAAC,CAACnhB,IAAF,CAAO,CAAC,QAAM+2B,CAAC,CAACqM,CAAD,CAAD,CAAKwgF,UAAZ,MAA0B,CAAjC,GAAoCziG,CAAC,CAACnhB,IAAF,CAAO,MAAI+2B,CAAC,CAACqM,CAAD,CAAD,CAAKwgF,UAAhB,CAApC,EAAgEziG,CAAC,GAACA,CAAC,CAACqC,MAAF,CAASvL,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2B20B,CAAC,CAACqM,CAAD,CAA5B,CAAT,CAAlE;AAAvB;;AAAoI,aAAIA,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACm6B,CAAC,CAAC59D,MAAZ,EAAmByjC,CAAC,EAApB;AAAuBvrB,WAAC,CAAC7X,IAAF,CAAO,CAAC,QAAMu9D,CAAC,CAACn6B,CAAD,CAAD,CAAKwgF,UAAZ,MAA0B,CAAjC,GAAoC/rG,CAAC,CAAC7X,IAAF,CAAO,MAAIu9D,CAAC,CAACn6B,CAAD,CAAD,CAAKwgF,UAAhB,CAApC,EAAgE/rG,CAAC,GAACA,CAAC,CAAC2L,MAAF,CAASvL,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2Bm7D,CAAC,CAACn6B,CAAD,CAA5B,CAAT,CAAlE;AAAvB;;AAAoI,YAAG5lC,CAAC,GAAC,CAAC6gE,CAAC,CAAColD,IAAH,EAAQ,IAAI5U,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,EAAiB,CAAjB,EAAmB,CAAnB,EAAqB,CAArB,EAAuB,CAAvB,EAAyB,CAAzB,EAA2B,CAA3B,EAA6B,CAA7B,EAA+B,CAA/B,EAAiC,CAAjC,EAAmC,CAAnC,EAAqC,CAArC,EAAuC,CAAvC,EAAyC,CAAzC,EAA2C,CAA3C,EAA6C,CAA7C,EAA+C,CAA/C,EAAiD,CAAC,QAAMpyG,CAAC,CAACgR,KAAT,KAAiB,CAAlE,EAAoE,MAAIhR,CAAC,CAACgR,KAA1E,EAAgF,CAAC,QAAMhR,CAAC,CAAC+Q,MAAT,KAAkB,CAAlG,EAAoG,MAAI/Q,CAAC,CAAC+Q,MAA1G,EAAiH,CAAjH,EAAmH,EAAnH,EAAsH,CAAtH,EAAwH,CAAxH,EAA0H,CAA1H,EAA4H,EAA5H,EAA+H,CAA/H,EAAiI,CAAjI,EAAmI,CAAnI,EAAqI,CAArI,EAAuI,CAAvI,EAAyI,CAAzI,EAA2I,CAA3I,EAA6I,CAA7I,EAA+I,EAA/I,EAAkJ,GAAlJ,EAAsJ,GAAtJ,EAA0J,GAA1J,EAA8J,GAA9J,EAAkK,GAAlK,EAAsK,GAAtK,EAA0K,GAA1K,EAA8K,EAA9K,EAAiL,EAAjL,EAAoL,GAApL,EAAwL,GAAxL,EAA4L,GAA5L,EAAgM,GAAhM,EAAoM,GAApM,EAAwM,EAAxM,EAA2M,EAA3M,EAA8M,GAA9M,EAAkN,GAAlN,EAAsN,GAAtN,EAA0N,CAA1N,EAA4N,CAA5N,EAA8N,CAA9N,EAAgO,CAAhO,EAAkO,CAAlO,EAAoO,CAApO,EAAsO,CAAtO,EAAwO,CAAxO,EAA0O,CAA1O,EAA4O,CAA5O,EAA8O,CAA9O,EAAgP,CAAhP,EAAkP,CAAlP,EAAoP,EAApP,EAAuP,EAAvP,EAA0P,EAA1P,CAAf,CAAR,EAAsRqqB,CAAC,CAACwmC,CAAC,CAAC8lD,IAAH,EAAQ,IAAItV,UAAJ,CAAe,CAAC,CAAD,EAAGpyG,CAAC,CAACmkI,UAAL,EAAgBnkI,CAAC,CAAC6nH,oBAAlB,EAAuC7nH,CAAC,CAACokI,QAAzC,EAAkD,GAAlD,EAAuDr9G,MAAvD,CAA8D,CAACuT,CAAC,CAACp3B,MAAH,CAA9D,EAAyEwhB,CAAzE,EAA2E,CAACo8C,CAAC,CAAC59D,MAAH,CAA3E,EAAsFkY,CAAtF,CAAf,CAAR,CAAvR,EAAyYggB,CAAC,CAACwmC,CAAC,CAACsmD,IAAH,EAAQ,IAAI9V,UAAJ,CAAe,CAAC,CAAD,EAAG,EAAH,EAAM,GAAN,EAAU,GAAV,EAAc,CAAd,EAAgB,EAAhB,EAAmB,GAAnB,EAAuB,GAAvB,EAA2B,CAA3B,EAA6B,EAA7B,EAAgC,GAAhC,EAAoC,GAApC,CAAf,CAAR,CAA1Y,CAAF,EAA+cpyG,CAAC,CAACqkI,QAApd,EAA6d;AAAC,cAAI1jE,CAAC,GAAC3gE,CAAC,CAACqkI,QAAF,CAAW,CAAX,CAAN;AAAA,cAAoBzjE,CAAC,GAAC5gE,CAAC,CAACqkI,QAAF,CAAW,CAAX,CAAtB;AAAoCtjI,WAAC,CAACwC,IAAF,CAAO63B,CAAC,CAACwmC,CAAC,CAACmiE,IAAH,EAAQ,IAAI3xB,UAAJ,CAAe,CAAC,CAAC,aAAWzxC,CAAZ,KAAgB,EAAjB,EAAoB,CAAC,WAASA,CAAV,KAAc,EAAlC,EAAqC,CAAC,QAAMA,CAAP,KAAW,CAAhD,EAAkD,MAAIA,CAAtD,EAAwD,CAAC,aAAWC,CAAZ,KAAgB,EAAxE,EAA2E,CAAC,WAASA,CAAV,KAAc,EAAzF,EAA4F,CAAC,QAAMA,CAAP,KAAW,CAAvG,EAAyG,MAAIA,CAA7G,CAAf,CAAR,CAAR;AAAkJ;;AAAA,eAAOxlC,CAAC,CAAC11B,KAAF,CAAQ,IAAR,EAAa3E,CAAb,CAAP;AAAuB,OAAztI,EAA0tI8hE,CAAC,GAAC,WAAS7iE,CAAT,EAAW;AAAC,eAAOo7B,CAAC,CAACwmC,CAAC,CAAC0oD,IAAH,EAAQ,IAAIlY,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,EAAiB,CAAjB,EAAmB,CAAnB,EAAqB,CAArB,EAAuB,CAAvB,EAAyB,CAAzB,EAA2B,CAA3B,EAA6B,CAA7B,EAA+B,CAA/B,EAAiC,CAAC,QAAMpyG,CAAC,CAACuqH,YAAT,KAAwB,CAAzD,EAA2D,MAAIvqH,CAAC,CAACuqH,YAAjE,EAA8E,CAAC,QAAMvqH,CAAC,CAACwqH,UAAT,KAAsB,CAApG,EAAsG,MAAIxqH,CAAC,CAACwqH,UAA5G,EAAuH,CAAvH,EAAyH,CAAzH,EAA2H,CAA3H,EAA6H,CAA7H,EAA+H,CAAC,QAAMxqH,CAAC,CAACyqH,UAAT,KAAsB,CAArJ,EAAuJ,MAAIzqH,CAAC,CAACyqH,UAA7J,EAAwK,CAAxK,EAA0K,CAA1K,CAAf,CAAR,EAAqM1pH,CAAC,CAACf,CAAD,CAAtM,CAAR;AAAmN,OAA37I,EAA47I0gE,CAAC,GAAC,WAAS1gE,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC,IAAIyrE,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,CAAX,EAAa,CAAb,EAAe,CAAf,EAAiB,CAAjB,EAAmB,CAAnB,EAAqB,CAArB,EAAuB,CAAvB,EAAyB,CAAC,aAAWpyG,CAAC,CAACiB,EAAd,KAAmB,EAA5C,EAA+C,CAAC,WAASjB,CAAC,CAACiB,EAAZ,KAAiB,EAAhE,EAAmE,CAAC,QAAMjB,CAAC,CAACiB,EAAT,KAAc,CAAjF,EAAmF,MAAIjB,CAAC,CAACiB,EAAzF,EAA4F,CAA5F,EAA8F,CAA9F,EAAgG,CAAhG,EAAkG,CAAlG,EAAoG,CAAC,aAAWjB,CAAC,CAACsf,QAAd,KAAyB,EAA7H,EAAgI,CAAC,WAAStf,CAAC,CAACsf,QAAZ,KAAuB,EAAvJ,EAA0J,CAAC,QAAMtf,CAAC,CAACsf,QAAT,KAAoB,CAA9K,EAAgL,MAAItf,CAAC,CAACsf,QAAtL,EAA+L,CAA/L,EAAiM,CAAjM,EAAmM,CAAnM,EAAqM,CAArM,EAAuM,CAAvM,EAAyM,CAAzM,EAA2M,CAA3M,EAA6M,CAA7M,EAA+M,CAA/M,EAAiN,CAAjN,EAAmN,CAAnN,EAAqN,CAArN,EAAuN,CAAvN,EAAyN,CAAzN,EAA2N,CAA3N,EAA6N,CAA7N,EAA+N,CAA/N,EAAiO,CAAjO,EAAmO,CAAnO,EAAqO,CAArO,EAAuO,CAAvO,EAAyO,CAAzO,EAA2O,CAA3O,EAA6O,CAA7O,EAA+O,CAA/O,EAAiP,CAAjP,EAAmP,CAAnP,EAAqP,CAArP,EAAuP,CAAvP,EAAyP,CAAzP,EAA2P,CAA3P,EAA6P,CAA7P,EAA+P,CAA/P,EAAiQ,CAAjQ,EAAmQ,CAAnQ,EAAqQ,CAArQ,EAAuQ,CAAvQ,EAAyQ,CAAzQ,EAA2Q,CAA3Q,EAA6Q,CAA7Q,EAA+Q,CAA/Q,EAAiR,CAAjR,EAAmR,CAAnR,EAAqR,CAArR,EAAuR,CAAvR,EAAyR,CAAzR,EAA2R,CAA3R,EAA6R,CAA7R,EAA+R,EAA/R,EAAkS,CAAlS,EAAoS,CAApS,EAAsS,CAAtS,EAAwS,CAAC,QAAMtf,CAAC,CAACgR,KAAT,KAAiB,CAAzT,EAA2T,MAAIhR,CAAC,CAACgR,KAAjU,EAAuU,CAAvU,EAAyU,CAAzU,EAA2U,CAAC,QAAMhR,CAAC,CAAC+Q,MAAT,KAAkB,CAA7V,EAA+V,MAAI/Q,CAAC,CAAC+Q,MAArW,EAA4W,CAA5W,EAA8W,CAA9W,CAAf,CAAN;AAAuY,eAAOqqB,CAAC,CAACwmC,CAAC,CAAC6rD,IAAH,EAAQ9mF,CAAR,CAAR;AAAmB,OAAp2J,EAAq2JxK,CAAC,GAAC,WAASn8B,CAAT,EAAW;AAAC,YAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR,EAAUwmC,CAAV,EAAYp8C,CAAZ,EAActJ,CAAd;AAAgB,eAAOurB,CAAC,GAACvL,CAAC,CAACwmC,CAAC,CAACqrD,IAAH,EAAQ,IAAI7a,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,EAAP,EAAU,CAAC,aAAWpyG,CAAC,CAACiB,EAAd,KAAmB,EAA7B,EAAgC,CAAC,WAASjB,CAAC,CAACiB,EAAZ,KAAiB,EAAjD,EAAoD,CAAC,QAAMjB,CAAC,CAACiB,EAAT,KAAc,CAAlE,EAAoE,MAAIjB,CAAC,CAACiB,EAA1E,EAA6E,CAA7E,EAA+E,CAA/E,EAAiF,CAAjF,EAAmF,CAAnF,EAAqF,CAArF,EAAuF,CAAvF,EAAyF,CAAzF,EAA2F,CAA3F,EAA6F,CAA7F,EAA+F,CAA/F,EAAiG,CAAjG,EAAmG,CAAnG,EAAqG,CAArG,EAAuG,CAAvG,EAAyG,CAAzG,EAA2G,CAA3G,CAAf,CAAR,CAAH,EAA0IyjB,CAAC,GAAC/D,IAAI,CAACuE,KAAL,CAAWllB,CAAC,CAAC+sH,mBAAF,IAAuB,IAAEhrD,CAAzB,CAAX,CAA5I,EAAoL3mD,CAAC,GAACuF,IAAI,CAACuE,KAAL,CAAWllB,CAAC,CAAC+sH,mBAAF,IAAuB,IAAEhrD,CAAzB,CAAX,CAAtL,EAA8NhhE,CAAC,GAACq6B,CAAC,CAACwmC,CAAC,CAACkrD,IAAH,EAAQ,IAAI1a,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS1tF,CAAC,KAAG,EAAJ,GAAO,GAAhB,EAAoBA,CAAC,KAAG,EAAJ,GAAO,GAA3B,EAA+BA,CAAC,KAAG,CAAJ,GAAM,GAArC,EAAyC,MAAIA,CAA7C,EAA+CtJ,CAAC,KAAG,EAAJ,GAAO,GAAtD,EAA0DA,CAAC,KAAG,EAAJ,GAAO,GAAjE,EAAqEA,CAAC,KAAG,CAAJ,GAAM,GAA3E,EAA+E,MAAIA,CAAnF,CAAf,CAAR,CAAjO,EAAgV,EAAhV,EAAmV,YAAUpb,CAAC,CAACuQ,IAAZ,IAAkB+pB,CAAC,GAACqnC,CAAC,CAAC3hE,CAAD,EAAG,EAAH,CAAH,EAAUo7B,CAAC,CAACwmC,CAAC,CAACgsD,IAAH,EAAQjnF,CAAR,EAAU5lC,CAAV,EAAYu5B,CAAZ,CAA7B,KAA8CwmC,CAAC,GAACY,CAAC,CAAC1hE,CAAD,CAAH,EAAOs6B,CAAC,GAACqnC,CAAC,CAAC3hE,CAAD,EAAG8gE,CAAC,CAAC59D,MAAF,GAAS,EAAZ,CAAV,EAA0Bk4B,CAAC,CAACwmC,CAAC,CAACgsD,IAAH,EAAQjnF,CAAR,EAAU5lC,CAAV,EAAYu5B,CAAZ,EAAcwmC,CAAd,CAAzE,CAA1V;AAAqb,OAAxzK,EAAyzKL,CAAC,GAAC,WAASzgE,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACsf,QAAF,GAAWtf,CAAC,CAACsf,QAAF,IAAY,UAAvB,EAAkC8b,CAAC,CAACwmC,CAAC,CAACisD,IAAH,EAAQntD,CAAC,CAAC1gE,CAAD,CAAT,EAAaozC,CAAC,CAACpzC,CAAD,CAAd,CAA1C;AAA6D,OAAp4K,EAAq4Kqb,CAAC,GAAC,WAASrb,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC,IAAIyrE,UAAJ,CAAe,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAC,aAAWpyG,CAAC,CAACiB,EAAd,KAAmB,EAA5B,EAA+B,CAAC,WAASjB,CAAC,CAACiB,EAAZ,KAAiB,EAAhD,EAAmD,CAAC,QAAMjB,CAAC,CAACiB,EAAT,KAAc,CAAjE,EAAmE,MAAIjB,CAAC,CAACiB,EAAzE,EAA4E,CAA5E,EAA8E,CAA9E,EAAgF,CAAhF,EAAkF,CAAlF,EAAoF,CAApF,EAAsF,CAAtF,EAAwF,CAAxF,EAA0F,CAA1F,EAA4F,CAA5F,EAA8F,CAA9F,EAAgG,CAAhG,EAAkG,CAAlG,EAAoG,CAApG,EAAsG,CAAtG,EAAwG,CAAxG,EAA0G,CAA1G,CAAf,CAAN;AAAmI,eAAM,YAAUjB,CAAC,CAACuQ,IAAZ,KAAmBo2B,CAAC,CAACA,CAAC,CAACzjC,MAAF,GAAS,CAAV,CAAD,GAAc,CAAjC,GAAoCk4B,CAAC,CAACwmC,CAAC,CAACksD,IAAH,EAAQnnF,CAAR,CAA3C;AAAsD,OAA5kL,EAA6kLs8B,CAAC,GAAC,WAASjjE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC,CAAN;AAAA,YAAQu5B,CAAC,GAAC,CAAV;AAAA,YAAYwmC,CAAC,GAAC,CAAd;AAAA,YAAgBp8C,CAAC,GAAC,CAAlB;AAAoB,eAAO1kB,CAAC,CAACkD,MAAF,KAAW,KAAK,CAAL,KAASlD,CAAC,CAAC,CAAD,CAAD,CAAKsf,QAAd,KAAyBve,CAAC,GAAC,CAA3B,GAA8B,KAAK,CAAL,KAASf,CAAC,CAAC,CAAD,CAAD,CAAKimB,IAAd,KAAqBqU,CAAC,GAAC,CAAvB,CAA9B,EAAwD,KAAK,CAAL,KAASt6B,CAAC,CAAC,CAAD,CAAD,CAAKwoH,KAAd,KAAsB1nD,CAAC,GAAC,CAAxB,CAAxD,EAAmF,KAAK,CAAL,KAAS9gE,CAAC,CAAC,CAAD,CAAD,CAAKyuH,qBAAd,KAAsC/pG,CAAC,GAAC,CAAxC,CAA9F,GAA0I,CAAC,CAAD,EAAG,CAAH,EAAK3jB,CAAC,GAACu5B,CAAF,GAAIwmC,CAAJ,GAAMp8C,CAAX,EAAa,CAAb,EAAe,CAAC,aAAW1kB,CAAC,CAACkD,MAAd,MAAwB,EAAvC,EAA0C,CAAC,WAASlD,CAAC,CAACkD,MAAZ,MAAsB,EAAhE,EAAmE,CAAC,QAAMlD,CAAC,CAACkD,MAAT,MAAmB,CAAtF,EAAwF,MAAIlD,CAAC,CAACkD,MAA9F,EAAqG,CAAC,aAAWyjC,CAAZ,MAAiB,EAAtH,EAAyH,CAAC,WAASA,CAAV,MAAe,EAAxI,EAA2I,CAAC,QAAMA,CAAP,MAAY,CAAvJ,EAAyJ,MAAIA,CAA7J,CAAjJ;AAAiT,OAAl6L,EAAm6Lld,CAAC,GAAC,WAASzpB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAJ,EAAMu5B,CAAN,EAAQwmC,CAAR,EAAUp8C,CAAV;;AAAY,aAAIiiB,CAAC,IAAE,KAAG,KAAG,CAACrM,CAAC,GAACt6B,CAAC,CAACorH,OAAF,IAAW,EAAd,EAAkBloH,MAA3B,EAAkCnC,CAAC,GAACkiE,CAAC,CAAC3oC,CAAD,EAAGqM,CAAH,CAArC,EAA2CjiB,CAAC,GAAC,CAAjD,EAAmDA,CAAC,GAAC4V,CAAC,CAACp3B,MAAvD,EAA8DwhB,CAAC,EAA/D;AAAkEo8C,WAAC,GAACxmC,CAAC,CAAC5V,CAAD,CAAH,EAAO3jB,CAAC,GAACA,CAAC,CAACgmB,MAAF,CAAS,CAAC,CAAC,aAAW+5C,CAAC,CAACxhD,QAAd,MAA0B,EAA3B,EAA8B,CAAC,WAASwhD,CAAC,CAACxhD,QAAZ,MAAwB,EAAtD,EAAyD,CAAC,QAAMwhD,CAAC,CAACxhD,QAAT,MAAqB,CAA9E,EAAgF,MAAIwhD,CAAC,CAACxhD,QAAtF,EAA+F,CAAC,aAAWwhD,CAAC,CAAC76C,IAAd,MAAsB,EAArH,EAAwH,CAAC,WAAS66C,CAAC,CAAC76C,IAAZ,MAAoB,EAA5I,EAA+I,CAAC,QAAM66C,CAAC,CAAC76C,IAAT,MAAiB,CAAhK,EAAkK,MAAI66C,CAAC,CAAC76C,IAAxK,EAA6K66C,CAAC,CAAC0nD,KAAF,CAAQ3D,SAAR,IAAmB,CAAnB,GAAqB/jD,CAAC,CAAC0nD,KAAF,CAAQ1D,SAA1M,EAAoNhkD,CAAC,CAAC0nD,KAAF,CAAQzD,YAAR,IAAsB,CAAtB,GAAwBjkD,CAAC,CAAC0nD,KAAF,CAAQxD,aAAR,IAAuB,CAA/C,GAAiDlkD,CAAC,CAAC0nD,KAAF,CAAQvD,YAAR,IAAsB,CAAvE,GAAyEnkD,CAAC,CAAC0nD,KAAF,CAAQtD,eAArS,EAAqT,QAAMpkD,CAAC,CAAC0nD,KAAF,CAAQrD,mBAAnU,EAAuV,KAAGrkD,CAAC,CAAC0nD,KAAF,CAAQrD,mBAAlW,EAAsX,CAAC,aAAWrkD,CAAC,CAAC2tD,qBAAd,MAAuC,EAA7Z,EAAga,CAAC,WAAS3tD,CAAC,CAAC2tD,qBAAZ,MAAqC,EAArc,EAAwc,CAAC,QAAM3tD,CAAC,CAAC2tD,qBAAT,MAAkC,CAA1e,EAA4e,MAAI3tD,CAAC,CAAC2tD,qBAAlf,CAAT,CAAT;AAAlE;;AAA8lB,eAAOrzF,CAAC,CAACwmC,CAAC,CAAC0sD,IAAH,EAAQ,IAAIlc,UAAJ,CAAerxG,CAAf,CAAR,CAAR;AAAmC,OAAhkN,EAAikNiiE,CAAC,GAAC,WAAShjE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAJ,EAAMu5B,CAAN,EAAQwmC,CAAR,EAAUp8C,CAAV;;AAAY,aAAIiiB,CAAC,IAAE,KAAG,IAAE,CAACrM,CAAC,GAACt6B,CAAC,CAACorH,OAAF,IAAW,EAAd,EAAkBloH,MAA1B,EAAiCnC,CAAC,GAACkiE,CAAC,CAAC3oC,CAAD,EAAGqM,CAAH,CAApC,EAA0CjiB,CAAC,GAAC,CAAhD,EAAkDA,CAAC,GAAC4V,CAAC,CAACp3B,MAAtD,EAA6DwhB,CAAC,EAA9D;AAAiEo8C,WAAC,GAACxmC,CAAC,CAAC5V,CAAD,CAAH,EAAO3jB,CAAC,GAACA,CAAC,CAACgmB,MAAF,CAAS,CAAC,CAAC,aAAW+5C,CAAC,CAACxhD,QAAd,MAA0B,EAA3B,EAA8B,CAAC,WAASwhD,CAAC,CAACxhD,QAAZ,MAAwB,EAAtD,EAAyD,CAAC,QAAMwhD,CAAC,CAACxhD,QAAT,MAAqB,CAA9E,EAAgF,MAAIwhD,CAAC,CAACxhD,QAAtF,EAA+F,CAAC,aAAWwhD,CAAC,CAAC76C,IAAd,MAAsB,EAArH,EAAwH,CAAC,WAAS66C,CAAC,CAAC76C,IAAZ,MAAoB,EAA5I,EAA+I,CAAC,QAAM66C,CAAC,CAAC76C,IAAT,MAAiB,CAAhK,EAAkK,MAAI66C,CAAC,CAAC76C,IAAxK,CAAT,CAAT;AAAjE;;AAAkQ,eAAOmV,CAAC,CAACwmC,CAAC,CAAC0sD,IAAH,EAAQ,IAAIlc,UAAJ,CAAerxG,CAAf,CAAR,CAAR;AAAmC,OAAl4N,EAAm4N4gE,CAAC,GAAC,WAAS3hE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAM,YAAU3mC,CAAC,CAACuQ,IAAZ,GAAiByyD,CAAC,CAAChjE,CAAD,EAAG2mC,CAAH,CAAlB,GAAwBld,CAAC,CAACzpB,CAAD,EAAG2mC,CAAH,CAA/B;AAAqC,OAAx7N;;AAAy7Nm6B,OAAC,GAAC,aAAU;AAAC,eAAO1lC,CAAC,CAACwmC,CAAC,CAACunD,IAAH,EAAQrnD,CAAR,EAAUG,CAAV,EAAYH,CAAZ,EAAct7C,CAAd,CAAR;AAAyB,OAAtC;;AAAuC,eAAS28C,CAAT,CAAWnjE,CAAX,EAAa2mC,CAAb,EAAe;AAAC,YAAI5lC,CAAC,GAAC;AAACklB,cAAI,EAAC,CAAN;AAAQuiG,eAAK,EAAC;AAAC3D,qBAAS,EAAC,CAAX;AAAaC,qBAAS,EAAC,CAAvB;AAAyBC,wBAAY,EAAC,CAAtC;AAAwCC,yBAAa,EAAC,CAAtD;AAAwDG,+BAAmB,EAAC,CAA5E;AAA8ED,2BAAe,EAAC;AAA9F;AAAd,SAAN;AAAsH,eAAOnkH,CAAC,CAACwtH,UAAF,GAAa5nF,CAAb,EAAe5lC,CAAC,CAAC0tH,qBAAF,GAAwBzuH,CAAC,CAACswH,GAAF,GAAMtwH,CAAC,CAACmxH,GAA/C,EAAmDpwH,CAAC,CAACue,QAAF,GAAWtf,CAAC,CAACsf,QAAhE,EAAyEve,CAAC,CAACklB,IAAF,GAAO,IAAEjmB,CAAC,CAACkD,MAApF,EAA2FnC,CAAC,CAACklB,IAAF,IAAQjmB,CAAC,CAACmnH,UAArG,EAAgHnnH,CAAC,CAACskI,QAAF,KAAavjI,CAAC,CAACynH,KAAF,CAAQ1D,SAAR,GAAkB,CAAlB,EAAoB/jH,CAAC,CAACynH,KAAF,CAAQtD,eAAR,GAAwB,CAAzD,CAAhH,EAA4KnkH,CAAnL;AAAqL;;AAAA,eAASqiE,CAAT,CAAWpjE,CAAX,EAAa;AAAC,aAAI,IAAI2mC,CAAC,GAAC,EAAV,EAAa3mC,CAAC,EAAd;AAAkB2mC,WAAC,CAACpjC,IAAF,CAAO,CAAP;AAAlB;;AAA4B,eAAOojC,CAAP;AAAS;;AAAA,eAAS08B,CAAT,GAAY;AAACA,SAAC,CAACtpD,SAAF,CAAYrY,IAAZ,CAAiBiE,IAAjB,CAAsB,IAAtB,GAA4B,KAAKkrH,eAAL,GAAqB,EAAjD,EAAoD,KAAKC,UAAL,GAAgB,CAAC,IAAIhpD,EAAJ,CAAO,CAAP,EAAS,CAAT,CAAD,EAAa,IAAIA,EAAJ,CAAO,CAAP,EAAS,CAAT,CAAb,EAAyB,IAAIA,EAAJ,CAAO,CAAP,EAAS,CAAT,CAAzB,EAAqC,IAAIA,EAAJ,CAAO,CAAP,EAAS,CAAT,CAArC,CAApE,EAAsH,KAAKjxC,KAAL,EAAtH,EAAmI,KAAKi6F,UAAL,CAAgB/nH,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAACA,WAAC,CAACqC,EAAF,CAAK,MAAL,EAAY,KAAKkD,OAAL,CAAagX,IAAb,CAAkB,IAAlB,EAAuB,MAAvB,CAAZ,GAA4Cvc,CAAC,CAACqC,EAAF,CAAK,aAAL,EAAmB,KAAKkD,OAAL,CAAagX,IAAb,CAAkB,IAAlB,EAAuB,aAAvB,CAAnB,CAA5C,EAAsGvc,CAAC,CAACqC,EAAF,CAAK,MAAL,EAAY,KAAKkD,OAAL,CAAagX,IAAb,CAAkB,IAAlB,EAAuB,MAAvB,CAAZ,CAAtG;AAAkJ,SAAtL,EAAuL,IAAvL,CAAnI;AAAgU;;AAAA,UAAI+mD,CAAJ;AAAA,UAAMC,CAAN;AAAA,UAAQC,CAAR;AAAA,UAAUmB,CAAV;AAAA,UAAYzkE,CAAZ;AAAA,UAAc2kE,CAAC,GAAC,SAAFA,CAAE,CAAS7kE,CAAT,EAAW;AAAC,eAAOo7B,CAAC,CAACwmC,CAAC,CAACkoD,IAAH,EAAQ9pH,CAAR,CAAR;AAAmB,OAA/C;AAAA,UAAgD8kE,CAAC,GAAC1pD,CAAlD;AAAA,UAAoD2pD,CAAC,GAAC,SAAFA,CAAE,CAAS/kE,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAA,YAAM5lC,CAAC,GAAC+/D,CAAC,EAAT;AAAA,YAAYxmC,CAAC,GAACqmC,CAAC,CAAC3gE,CAAD,CAAf;AAAmB,eAAM,CAAC2mC,CAAC,GAAC,IAAIyrE,UAAJ,CAAerxG,CAAC,CAAComH,UAAF,GAAa7sF,CAAC,CAAC6sF,UAA9B,CAAH,EAA8C/lF,GAA9C,CAAkDrgC,CAAlD,GAAqD4lC,CAAC,CAACvF,GAAF,CAAM9G,CAAN,EAAQv5B,CAAC,CAAComH,UAAV,CAArD,EAA2ExgF,CAAjF;AAAmF,OAAxK;AAAA,UAAyKq+B,EAAE,GAAC,SAAHA,EAAG,CAAShlE,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAA,YAAM5lC,CAAN;AAAA,YAAQu5B,CAAC,GAAC,EAAV;AAAA,YAAawmC,CAAC,GAAC,EAAf;;AAAkB,aAAIA,CAAC,CAACqmD,UAAF,GAAa,CAAb,EAAermD,CAAC,CAACyjE,QAAF,GAAW,CAA1B,EAA4BzjE,CAAC,CAACxhD,QAAF,GAAW,CAAvC,EAAyCqnB,CAAC,GAACrM,CAAC,CAAC6sF,UAAF,GAAa,CAA5D,EAA8DxgF,CAAC,GAAC3mC,CAAC,CAACkD,MAAlE,EAAyEyjC,CAAC,EAA1E;AAA6E,2CAA+B,CAAC5lC,CAAC,GAACf,CAAC,CAAC2mC,CAAD,CAAJ,EAASsqF,WAAxC,IAAqD32F,CAAC,CAACp3B,MAAF,KAAWo3B,CAAC,CAAChb,QAAF,GAAWve,CAAC,CAACowH,GAAF,GAAM72F,CAAC,CAAC62F,GAAnB,EAAuBrwD,CAAC,CAACqmD,UAAF,IAAc7sF,CAAC,CAAC6sF,UAAvC,EAAkDrmD,CAAC,CAACyjE,QAAF,IAAYjqG,CAAC,CAACp3B,MAAhE,EAAuE49D,CAAC,CAACxhD,QAAF,IAAYgb,CAAC,CAAChb,QAArF,EAA8FwhD,CAAC,CAACv9D,IAAF,CAAO+2B,CAAP,CAAzG,GAAoH,CAACA,CAAC,GAAC,CAACv5B,CAAD,CAAH,EAAQomH,UAAR,GAAmBpmH,CAAC,CAACP,IAAF,CAAO2mH,UAA9I,EAAyJ7sF,CAAC,CAACg2F,GAAF,GAAMvvH,CAAC,CAACuvH,GAAjK,EAAqKh2F,CAAC,CAAC62F,GAAF,GAAMpwH,CAAC,CAACowH,GAAlO,KAAwO,gDAA8CpwH,CAAC,CAACkwH,WAAhD,KAA8D32F,CAAC,CAACgqG,QAAF,GAAW,CAAC,CAA1E,GAA6EhqG,CAAC,CAAChb,QAAF,GAAWve,CAAC,CAACowH,GAAF,GAAM72F,CAAC,CAAC62F,GAAhG,EAAoG72F,CAAC,CAAC6sF,UAAF,IAAcpmH,CAAC,CAACP,IAAF,CAAO2mH,UAAzH,EAAoI7sF,CAAC,CAAC/2B,IAAF,CAAOxC,CAAP,CAA5W;AAA7E;;AAAoc,eAAO+/D,CAAC,CAAC59D,MAAF,KAAW,CAACo3B,CAAC,CAAChb,QAAH,IAAagb,CAAC,CAAChb,QAAF,IAAY,CAApC,MAAyCgb,CAAC,CAAChb,QAAF,GAAWwhD,CAAC,CAACA,CAAC,CAAC59D,MAAF,GAAS,CAAV,CAAD,CAAcoc,QAAlE,GAA4EwhD,CAAC,CAACqmD,UAAF,IAAc7sF,CAAC,CAAC6sF,UAA5F,EAAuGrmD,CAAC,CAACyjE,QAAF,IAAYjqG,CAAC,CAACp3B,MAArH,EAA4H49D,CAAC,CAACxhD,QAAF,IAAYgb,CAAC,CAAChb,QAA1I,EAAmJwhD,CAAC,CAACv9D,IAAF,CAAO+2B,CAAP,CAAnJ,EAA6JwmC,CAApK;AAAsK,OAApzB;AAAA,UAAqzBmE,EAAE,GAAC,SAAHA,EAAG,CAASjlE,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAA,YAAM5lC,CAAN;AAAA,YAAQu5B,CAAC,GAAC,EAAV;AAAA,YAAawmC,CAAC,GAAC,EAAf;;AAAkB,aAAIxmC,CAAC,CAAC6sF,UAAF,GAAa,CAAb,EAAe7sF,CAAC,CAACiqG,QAAF,GAAW,CAA1B,EAA4BjqG,CAAC,CAAChb,QAAF,GAAW,CAAvC,EAAyCgb,CAAC,CAACg2F,GAAF,GAAMtwH,CAAC,CAAC,CAAD,CAAD,CAAKswH,GAApD,EAAwDh2F,CAAC,CAAC62F,GAAF,GAAMnxH,CAAC,CAAC,CAAD,CAAD,CAAKmxH,GAAnE,EAAuErwD,CAAC,CAACqmD,UAAF,GAAa,CAApF,EAAsFrmD,CAAC,CAACyjE,QAAF,GAAW,CAAjG,EAAmGzjE,CAAC,CAACxhD,QAAF,GAAW,CAA9G,EAAgHwhD,CAAC,CAACwvD,GAAF,GAAMtwH,CAAC,CAAC,CAAD,CAAD,CAAKswH,GAA3H,EAA+HxvD,CAAC,CAACqwD,GAAF,GAAMnxH,CAAC,CAAC,CAAD,CAAD,CAAKmxH,GAA1I,EAA8IxqF,CAAC,GAAC,CAApJ,EAAsJA,CAAC,GAAC3mC,CAAC,CAACkD,MAA1J,EAAiKyjC,CAAC,EAAlK;AAAqK,WAAC5lC,CAAC,GAACf,CAAC,CAAC2mC,CAAD,CAAJ,EAAS29F,QAAT,IAAmBhqG,CAAC,CAACp3B,MAAF,KAAW49D,CAAC,CAACv9D,IAAF,CAAO+2B,CAAP,GAAUwmC,CAAC,CAACqmD,UAAF,IAAc7sF,CAAC,CAAC6sF,UAA1B,EAAqCrmD,CAAC,CAACyjE,QAAF,IAAYjqG,CAAC,CAACiqG,QAAnD,EAA4DzjE,CAAC,CAACxhD,QAAF,IAAYgb,CAAC,CAAChb,QAArF,GAA+F,CAACgb,CAAC,GAAC,CAACv5B,CAAD,CAAH,EAAQwjI,QAAR,GAAiBxjI,CAAC,CAACmC,MAAlH,EAAyHo3B,CAAC,CAAC6sF,UAAF,GAAapmH,CAAC,CAAComH,UAAxI,EAAmJ7sF,CAAC,CAACg2F,GAAF,GAAMvvH,CAAC,CAACuvH,GAA3J,EAA+Jh2F,CAAC,CAAC62F,GAAF,GAAMpwH,CAAC,CAACowH,GAAvK,EAA2K72F,CAAC,CAAChb,QAAF,GAAWve,CAAC,CAACue,QAA3M,KAAsNgb,CAAC,CAAChb,QAAF,IAAYve,CAAC,CAACue,QAAd,EAAuBgb,CAAC,CAACiqG,QAAF,IAAYxjI,CAAC,CAACmC,MAArC,EAA4Co3B,CAAC,CAAC6sF,UAAF,IAAcpmH,CAAC,CAAComH,UAA5D,EAAuE7sF,CAAC,CAAC/2B,IAAF,CAAOxC,CAAP,CAA7R;AAArK;;AAA6c,eAAO+/D,CAAC,CAAC59D,MAAF,IAAUo3B,CAAC,CAAChb,QAAF,IAAY,CAAtB,KAA0Bgb,CAAC,CAAChb,QAAF,GAAWwhD,CAAC,CAACA,CAAC,CAAC59D,MAAF,GAAS,CAAV,CAAD,CAAcoc,QAAnD,GAA6DwhD,CAAC,CAACqmD,UAAF,IAAc7sF,CAAC,CAAC6sF,UAA7E,EAAwFrmD,CAAC,CAACyjE,QAAF,IAAYjqG,CAAC,CAACiqG,QAAtG,EAA+GzjE,CAAC,CAACxhD,QAAF,IAAYgb,CAAC,CAAChb,QAA7H,EAAsIwhD,CAAC,CAACv9D,IAAF,CAAO+2B,CAAP,CAAtI,EAAgJwmC,CAAvJ;AAAyJ,OAA57C;AAAA,UAA67CoE,EAAE,GAAC,SAAHA,EAAG,CAASllE,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAM,eAAM,CAAC3mC,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQskI,QAAT,IAAmB,IAAEtkI,CAAC,CAACkD,MAAvB,KAAgCyjC,CAAC,GAAC3mC,CAAC,CAACwwB,KAAF,EAAF,EAAYxwB,CAAC,CAACmnH,UAAF,IAAcxgF,CAAC,CAACwgF,UAA5B,EAAuCnnH,CAAC,CAACukI,QAAF,IAAY59F,CAAC,CAAC49F,QAArD,EAA8DvkI,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQmxH,GAAR,GAAYxqF,CAAC,CAACwqF,GAA5E,EAAgFnxH,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQswH,GAAR,GAAY3pF,CAAC,CAAC2pF,GAA9F,EAAkGtwH,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQsf,QAAR,IAAkBqnB,CAAC,CAACrnB,QAAtJ,GAAgKtf,CAAtK;AAAwK,OAA1nD;AAAA,UAA2nDmlE,EAAE,GAAC,SAAHA,EAAG,CAASnlE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAJ;AAAA,YAAMu5B,CAAN;AAAA,YAAQwmC,CAAR;AAAA,YAAUp8C,CAAV;AAAA,YAAYtJ,CAAZ;AAAA,YAAculD,CAAC,GAACh6B,CAAC,IAAE,CAAnB;AAAA,YAAqBi6B,CAAC,GAAC,EAAvB;;AAA0B,aAAI7/D,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACf,CAAC,CAACkD,MAAZ,EAAmBnC,CAAC,EAApB;AAAuB,eAAI2jB,CAAC,GAAC1kB,CAAC,CAACe,CAAD,CAAH,EAAOu5B,CAAC,GAAC,CAAb,EAAeA,CAAC,GAAC5V,CAAC,CAACxhB,MAAnB,EAA0Bo3B,CAAC,EAA3B;AAA8Blf,aAAC,GAACsJ,CAAC,CAAC4V,CAAD,CAAH,EAAOqmC,CAAC,IAAE,CAACG,CAAC,GAACqC,CAAC,CAAC/nD,CAAD,EAAGulD,CAAH,CAAJ,EAAW16C,IAArB,EAA0B26C,CAAC,CAACr9D,IAAF,CAAOu9D,CAAP,CAA1B;AAA9B;AAAvB;;AAAyF,eAAOF,CAAP;AAAS,OAAxwD;AAAA,UAAywD2E,EAAE,GAAC,SAAHA,EAAG,CAASvlE,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAA,YAAM5lC,CAAN;AAAA,YAAQu5B,CAAR;AAAA,YAAUwmC,CAAV;AAAA,YAAYp8C,CAAZ;AAAA,YAActJ,CAAd;AAAA,YAAgBulD,CAAC,GAAC,CAAlB;AAAA,YAAoBC,CAAC,GAAC5gE,CAAC,CAACmnH,UAAxB;AAAA,YAAmC/rF,CAAC,GAACp7B,CAAC,CAACukI,QAAvC;AAAA,YAAgD/iE,CAAC,GAAC,IAAI4wC,UAAJ,CAAexxC,CAAC,GAAC,IAAExlC,CAAnB,CAAlD;AAAA,YAAwEqlC,CAAC,GAAC,IAAIwmD,QAAJ,CAAazlD,CAAC,CAAC71D,MAAf,CAA1E;;AAAiG,aAAIg7B,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC3mC,CAAC,CAACkD,MAAZ,EAAmByjC,CAAC,EAApB;AAAuB,eAAIm6B,CAAC,GAAC9gE,CAAC,CAAC2mC,CAAD,CAAH,EAAO5lC,CAAC,GAAC,CAAb,EAAeA,CAAC,GAAC+/D,CAAC,CAAC59D,MAAnB,EAA0BnC,CAAC,EAA3B;AAA8B,iBAAI2jB,CAAC,GAACo8C,CAAC,CAAC//D,CAAD,CAAH,EAAOu5B,CAAC,GAAC,CAAb,EAAeA,CAAC,GAAC5V,CAAC,CAACxhB,MAAnB,EAA0Bo3B,CAAC,EAA3B;AAA8Blf,eAAC,GAACsJ,CAAC,CAAC4V,CAAD,CAAH,EAAOmmC,CAAC,CAACujE,SAAF,CAAYrjE,CAAZ,EAAcvlD,CAAC,CAAC5a,IAAF,CAAO2mH,UAArB,CAAP,EAAwCxmD,CAAC,IAAE,CAA3C,EAA6Ca,CAAC,CAACpgC,GAAF,CAAMhmB,CAAC,CAAC5a,IAAR,EAAamgE,CAAb,CAA7C,EAA6DA,CAAC,IAAEvlD,CAAC,CAAC5a,IAAF,CAAO2mH,UAAvE;AAA9B;AAA9B;AAAvB;;AAAqK,eAAO3lD,CAAP;AAAS,OAAviE;AAAA,UAAwiEgE,EAAE,GAAC,CAAC,EAAD,EAAI,EAAJ,EAAO,CAAP,EAAS,EAAT,EAAY,GAAZ,EAAgB,EAAhB,CAA3iE;AAAA,UAA+jEC,EAAE,GAAC,CAAC,EAAD,EAAI,EAAJ,EAAO,GAAP,EAAW,EAAX,EAAc,CAAd,EAAgB,CAAhB,EAAkB,CAAlB,EAAoB,CAApB,EAAsB,GAAtB,EAA0B,CAA1B,EAA4B,CAA5B,EAA8B,CAA9B,EAAgC,EAAhC,EAAmC,GAAnC,EAAuC,GAAvC,CAAlkE;AAAA,UAA8mEG,EAAE,GAAC;AAAC,cAAK,CAACJ,EAAD,EAAI,CAAC,GAAD,EAAK,EAAL,CAAJ,EAAapC,CAAC,CAAC,GAAD,CAAd,EAAoB,CAAC,EAAD,CAApB,CAAN;AAAgC,eAAM,CAACoC,EAAD,EAAI,CAAC,GAAD,CAAJ,EAAUpC,CAAC,CAAC,GAAD,CAAX,EAAiB,CAAC,EAAD,CAAjB,CAAtC;AAA6D,cAAK,CAACoC,EAAD,EAAI,CAAC,GAAD,EAAK,GAAL,CAAJ,EAAcpC,CAAC,CAAC,GAAD,CAAf,EAAqB,CAAC,EAAD,CAArB,CAAlE;AAA6F,cAAK,CAACoC,EAAD,EAAI,CAAC,GAAD,EAAK,GAAL,CAAJ,EAAcpC,CAAC,CAAC,GAAD,CAAf,EAAqB,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAArB,EAAkCA,CAAC,CAAC,EAAD,CAAnC,EAAwC,CAAC,GAAD,CAAxC,CAAlG;AAAiJ,eAAM,CAACoC,EAAD,EAAI,CAAC,GAAD,EAAK,GAAL,CAAJ,EAAcpC,CAAC,CAAC,GAAD,CAAf,EAAqB,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAArB,EAAkCA,CAAC,CAAC,EAAD,CAAnC,EAAwC,CAAC,GAAD,CAAxC,CAAvJ;AAAsM,cAAK,CAACoC,EAAD,EAAI,CAAC,GAAD,EAAK,GAAL,CAAJ,EAAcpC,CAAC,CAAC,GAAD,CAAf,EAAqB,CAAC,EAAD,EAAI,GAAJ,CAArB,EAA8BA,CAAC,CAAC,GAAD,CAA/B,EAAqC,CAAC,GAAD,CAArC,CAA3M;AAAuP,cAAK,CAACoC,EAAD,EAAI,CAAC,GAAD,EAAK,GAAL,CAAJ,EAAcpC,CAAC,CAAC,GAAD,CAAf,EAAqB,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAArB,EAAkCA,CAAC,CAAC,GAAD,CAAnC,EAAyC,CAAC,GAAD,EAAK,GAAL,CAAzC,EAAmDA,CAAC,CAAC,GAAD,CAApD,EAA0D,CAAC,GAAD,CAA1D,CAA5P;AAA6T,cAAK,CAACoC,EAAD,EAAI,CAAC,GAAD,EAAK,GAAL,CAAJ,EAAcpC,CAAC,CAAC,GAAD,CAAf,EAAqB,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAArB,EAAkCA,CAAC,CAAC,GAAD,CAAnC,EAAyC,CAAC,GAAD,EAAK,GAAL,CAAzC,EAAmDA,CAAC,CAAC,GAAD,CAApD,EAA0D,CAAC,GAAD,EAAK,GAAL,CAA1D,EAAoEA,CAAC,CAAC,GAAD,CAArE,EAA2E,CAAC,CAAD,EAAG,GAAH,CAA3E,CAAlU;AAAsZ,cAAK,CAACqC,EAAD,EAAIrC,CAAC,CAAC,GAAD,CAAL,EAAW,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAAX,EAAuBA,CAAC,CAAC,GAAD,CAAxB,EAA8B,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAA9B,EAA0CA,CAAC,CAAC,GAAD,CAA3C,EAAiD,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAAjD,EAA8DA,CAAC,CAAC,GAAD,CAA/D,EAAqE,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAArE,EAAkFA,CAAC,CAAC,GAAD,CAAnF,EAAyF,CAAC,EAAD,CAAzF,CAA3Z;AAA0f,eAAM,CAACqC,EAAD,EAAIrC,CAAC,CAAC,GAAD,CAAL,EAAW,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAAX,EAAuBA,CAAC,CAAC,GAAD,CAAxB,EAA8B,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAA9B,EAA0CA,CAAC,CAAC,GAAD,CAA3C,EAAiD,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAAjD,EAA8DA,CAAC,CAAC,GAAD,CAA/D,EAAqE,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAArE,EAAkFA,CAAC,CAAC,GAAD,CAAnF,EAAyF,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAAzF,EAAsGA,CAAC,CAAC,GAAD,CAAvG,EAA6G,CAAC,GAAD,CAA7G,CAAhgB;AAAonB,aAAI,CAACqC,EAAD,EAAIrC,CAAC,CAAC,GAAD,CAAL,EAAW,CAAC,CAAD,EAAG,GAAH,EAAO,EAAP,CAAX,EAAsBA,CAAC,CAAC,EAAD,CAAvB,EAA4B,CAAC,CAAD,CAA5B;AAAxnB,OAAjnE;AAAA,UAA2wFyC,EAAE,IAAEvC,CAAC,GAACsC,EAAF,EAAKp/D,MAAM,CAAC8pB,IAAP,CAAYgzC,CAAZ,EAAeiH,MAAf,CAAsB,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO3mC,CAAC,CAAC2mC,CAAD,CAAD,GAAK,IAAIyrE,UAAJ,CAAe9uC,CAAC,CAAC38B,CAAD,CAAD,CAAK4jC,MAAL,CAAY,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,iBAAO3mC,CAAC,CAAC+mB,MAAF,CAAS4f,CAAT,CAAP;AAAmB,SAA7C,EAA8C,EAA9C,CAAf,CAAL,EAAuE3mC,CAA9E;AAAgF,OAApH,EAAqH,EAArH,CAAP,CAA7wF;AAAA,UAA84FimE,EAAE,GAAC,GAAj5F;AAAA,UAAq5FC,EAAE,IAAE3C,CAAC,GAAC,WAASvjE,CAAT,EAAW;AAAC,eAAO,MAAIA,CAAX;AAAa,OAA3B,EAA4BwjE,CAAC,GAAC,WAASxjE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO3mC,CAAC,GAAC2mC,CAAT;AAAW,OAAvD,EAAwDg+B,CAAC,GAAC,WAAS3kE,CAAT,EAAW;AAAC,eAAOA,CAAC,GAAC,GAAT;AAAa,OAAnF,EAAoFE,CAAC,GAAC,WAASF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO3mC,CAAC,GAAC2mC,CAAT;AAAW,OAA/G,EAAgH,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO48B,CAAC,CAACrjE,CAAC,CAACF,CAAD,EAAG2mC,CAAH,CAAF,CAAR;AAAiB,OAAjJ,CAAv5F;AAAA,UAA0iGw/B,EAAE,GAAC,SAAHA,EAAG,CAASnmE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO68B,CAAC,CAACmB,CAAC,CAAC3kE,CAAD,CAAF,EAAM2mC,CAAN,CAAR;AAAiB,OAA5kG;AAAA,UAA6kGy/B,EAAE,GAAC,SAAHA,EAAG,CAASpmE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,eAAO4jE,CAAC,CAAC5jE,CAAC,GAACf,CAAD,GAAGA,CAAC,GAAC2mC,CAAP,CAAR;AAAkB,OAAlnG;AAAA,UAAmnG0/B,EAAE,GAAC,SAAHA,EAAG,CAASrmE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,YAAIwmC,CAAJ;AAAA,YAAMp8C,CAAN;AAAA,YAAQtJ,CAAR;AAAA,YAAUulD,CAAV;AAAA,YAAYC,CAAZ;AAAA,YAAcxlC,CAAC,GAAC,CAAhB;AAAA,YAAkBomC,CAAC,GAAC,CAApB;AAAA,YAAsBf,CAAC,GAAC,CAAxB;;AAA0B,YAAG95B,CAAC,CAACzjC,MAAF,KAAW49D,CAAC,GAACoF,EAAE,CAAClmE,CAAC,CAAC+sH,mBAAH,EAAuB/sH,CAAC,CAACyqH,UAAzB,CAAJ,EAAyC/lG,CAAC,GAAC/D,IAAI,CAAC6wB,IAAL,CAAUy0B,EAAE,IAAEjmE,CAAC,CAACyqH,UAAF,GAAa,IAAf,CAAZ,CAA3C,EAA6E1pH,CAAC,IAAEu5B,CAAH,KAAOc,CAAC,GAAC0lC,CAAC,GAACngD,IAAI,CAACC,GAAL,CAAS7f,CAAT,EAAWu5B,CAAX,CAAJ,EAAkBmmC,CAAC,GAAC,CAACe,CAAC,GAAC7gD,IAAI,CAACuE,KAAL,CAAWkW,CAAC,GAAC1W,CAAb,CAAH,IAAoBA,CAA/C,CAA7E,EAA+H,EAAE88C,CAAC,GAAC,CAAF,IAAKyE,EAAE,GAAC,CAAH,GAAKxF,CAAZ,CAA1I,CAAH,EAA6J;AAAC,eAAIrlD,CAAC,GAAC,CAACA,CAAC,GAACyqD,EAAE,CAAC7lE,CAAC,CAACyqH,UAAH,CAAL,KAAsB9jF,CAAC,CAAC,CAAD,CAAD,CAAKnmC,IAA7B,EAAkCmgE,CAAC,GAAC,CAAxC,EAA0CA,CAAC,GAACa,CAA5C,EAA8Cb,CAAC,EAA/C;AAAkDC,aAAC,GAACj6B,CAAC,CAAC,CAAD,CAAH,EAAOA,CAAC,CAACnsB,MAAF,CAAS,CAAT,EAAW,CAAX,EAAa;AAACha,kBAAI,EAAC4a,CAAN;AAAQ+1G,iBAAG,EAACvwD,CAAC,CAACuwD,GAAF,GAAMzsG,CAAlB;AAAoB4rG,iBAAG,EAAC1vD,CAAC,CAAC0vD,GAAF,GAAM5rG;AAA9B,aAAb,CAAP;AAAlD;;AAAwG1kB,WAAC,CAAC+sH,mBAAF,IAAuBpsG,IAAI,CAACuE,KAAL,CAAWihD,EAAE,CAAC1F,CAAD,EAAGzgE,CAAC,CAACyqH,UAAL,CAAb,CAAvB;AAAsD;AAAC,OAA/9G;AAAA,UAAg+GnkD,EAAE,GAAC,SAAHA,EAAG,CAAStmE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,eAAO4lC,CAAC,CAAC69F,aAAF,IAAiBzjI,CAAjB,GAAmBf,CAAnB,IAAsB2mC,CAAC,CAAC69F,aAAF,GAAgB,IAAE,CAAlB,EAAoBxkI,CAAC,CAACoE,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACmxH,GAAF,IAAOpwH,CAAP,KAAW4lC,CAAC,CAAC69F,aAAF,GAAgB7jH,IAAI,CAACE,GAAL,CAAS8lB,CAAC,CAAC69F,aAAX,EAAyBxkI,CAAC,CAACmxH,GAA3B,CAAhB,EAAgDxqF,CAAC,CAAC89F,aAAF,GAAgB99F,CAAC,CAAC69F,aAAlE,EAAgF,CAAC,CAA5F,CAAP;AAAsG,SAA3H,CAA1C,CAAP;AAA+K,OAAlqH;AAAA,UAAmqHj+D,EAAE,GAAC,SAAHA,EAAG,CAASvmE,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAA,YAAM5lC,CAAN;AAAA,YAAQu5B,CAAC,GAAC,EAAV;;AAAa,aAAIqM,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC3mC,CAAC,CAACkD,MAAZ,EAAmByjC,CAAC,EAApB;AAAuB5lC,WAAC,GAACf,CAAC,CAAC2mC,CAAD,CAAH,EAAOrM,CAAC,CAAC/2B,IAAF,CAAO;AAAC0iB,gBAAI,EAACllB,CAAC,CAACP,IAAF,CAAO2mH,UAAb;AAAwB7nG,oBAAQ,EAAC;AAAjC,WAAP,CAAP;AAAvB;;AAA6E,eAAOgb,CAAP;AAAS,OAArxH;AAAA,UAAsxHksC,EAAE,GAAC,SAAHA,EAAG,CAASxmE,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAA,YAAM5lC,CAAN;AAAA,YAAQu5B,CAAC,GAAC,CAAV;AAAA,YAAYwmC,CAAC,GAAC,IAAIsxC,UAAJ,CAAe,UAASpyG,CAAT,EAAW;AAAC,cAAI2mC,CAAJ;AAAA,cAAM5lC,CAAC,GAAC,CAAR;;AAAU,eAAI4lC,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC3mC,CAAC,CAACkD,MAAZ,EAAmByjC,CAAC,EAApB;AAAuB5lC,aAAC,IAAEf,CAAC,CAAC2mC,CAAD,CAAD,CAAKnmC,IAAL,CAAU2mH,UAAb;AAAvB;;AAA+C,iBAAOpmH,CAAP;AAAS,SAA9E,CAA+Ef,CAA/E,CAAf,CAAd;;AAAgH,aAAI2mC,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC3mC,CAAC,CAACkD,MAAZ,EAAmByjC,CAAC,EAApB;AAAuB5lC,WAAC,GAACf,CAAC,CAAC2mC,CAAD,CAAH,EAAOm6B,CAAC,CAAC1/B,GAAF,CAAMrgC,CAAC,CAACP,IAAR,EAAa85B,CAAb,CAAP,EAAuBA,CAAC,IAAEv5B,CAAC,CAACP,IAAF,CAAO2mH,UAAjC;AAAvB;;AAAmE,eAAOrmD,CAAP;AAAS,OAAj+H;AAAA,UAAk+H2F,EAAE,GAACR,EAAr+H;AAAA,UAAw+HS,EAAE,GAAC,SAAHA,EAAG,CAAS1mE,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACwkI,aAAT,EAAuB,OAAOxkI,CAAC,CAAC0kI,aAAhC,EAA8C,OAAO1kI,CAAC,CAACykI,aAAvD,EAAqE,OAAOzkI,CAAC,CAAC2kI,aAA9E;AAA4F,OAAnlI;AAAA,UAAolIh+D,EAAE,GAAC,SAAHA,EAAG,CAAS3mE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAJ;AAAA,YAAMu5B,CAAC,GAACt6B,CAAC,CAACwkI,aAAV;AAAwB,eAAO79F,CAAC,KAAGrM,CAAC,IAAEt6B,CAAC,CAAC4kI,iBAAF,CAAoBzT,GAA1B,CAAD,EAAgCpwH,CAAC,GAACf,CAAC,CAAC4kI,iBAAF,CAAoB7X,mBAAtD,EAA0EhsH,CAAC,IAAEu5B,CAA7E,EAA+Ev5B,CAAC,GAAC4f,IAAI,CAACC,GAAL,CAAS,CAAT,EAAW7f,CAAX,CAAjF,EAA+F,YAAUf,CAAC,CAACuQ,IAAZ,KAAmBxP,CAAC,IAAEf,CAAC,CAACyqH,UAAF,GAAahkD,EAAhB,EAAmB1lE,CAAC,GAAC4f,IAAI,CAACuE,KAAL,CAAWnkB,CAAX,CAAxC,CAA/F,EAAsJA,CAA7J;AAA+J,OAA5xI;AAAA,UAA6xI6lE,EAAE,GAAC,SAAHA,EAAG,CAAS5mE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,oBAAU,OAAOA,CAAC,CAAC2pF,GAAnB,KAAyB,KAAK,CAAL,KAAStwH,CAAC,CAAC4kI,iBAAF,CAAoBtU,GAA7B,KAAmCtwH,CAAC,CAAC4kI,iBAAF,CAAoBtU,GAApB,GAAwB3pF,CAAC,CAAC2pF,GAA7D,GAAkE,KAAK,CAAL,KAAStwH,CAAC,CAACykI,aAAX,GAAyBzkI,CAAC,CAACykI,aAAF,GAAgB99F,CAAC,CAAC2pF,GAA3C,GAA+CtwH,CAAC,CAACykI,aAAF,GAAgB9jH,IAAI,CAACE,GAAL,CAAS7gB,CAAC,CAACykI,aAAX,EAAyB99F,CAAC,CAAC2pF,GAA3B,CAAjI,EAAiK,KAAK,CAAL,KAAStwH,CAAC,CAAC2kI,aAAX,GAAyB3kI,CAAC,CAAC2kI,aAAF,GAAgBh+F,CAAC,CAAC2pF,GAA3C,GAA+CtwH,CAAC,CAAC2kI,aAAF,GAAgBhkH,IAAI,CAACC,GAAL,CAAS5gB,CAAC,CAAC2kI,aAAX,EAAyBh+F,CAAC,CAAC2pF,GAA3B,CAAzP,GAA0R,YAAU,OAAO3pF,CAAC,CAACwqF,GAAnB,KAAyB,KAAK,CAAL,KAASnxH,CAAC,CAAC4kI,iBAAF,CAAoBzT,GAA7B,KAAmCnxH,CAAC,CAAC4kI,iBAAF,CAAoBzT,GAApB,GAAwBxqF,CAAC,CAACwqF,GAA7D,GAAkE,KAAK,CAAL,KAASnxH,CAAC,CAACwkI,aAAX,GAAyBxkI,CAAC,CAACwkI,aAAF,GAAgB79F,CAAC,CAACwqF,GAA3C,GAA+CnxH,CAAC,CAACwkI,aAAF,GAAgB7jH,IAAI,CAACE,GAAL,CAAS7gB,CAAC,CAACwkI,aAAX,EAAyB79F,CAAC,CAACwqF,GAA3B,CAAjI,EAAiK,KAAK,CAAL,KAASnxH,CAAC,CAAC0kI,aAAX,GAAyB1kI,CAAC,CAAC0kI,aAAF,GAAgB/9F,CAAC,CAACwqF,GAA3C,GAA+CnxH,CAAC,CAAC0kI,aAAF,GAAgB/jH,IAAI,CAACC,GAAL,CAAS5gB,CAAC,CAAC0kI,aAAX,EAAyB/9F,CAAC,CAACwqF,GAA3B,CAAzP,CAA1R;AAAojB,OAAl2J;AAAA,UAAm2JhqD,EAAE,GAAC,SAAHA,EAAG,CAASnnE,CAAT,EAAW;AAAC,aAAI,IAAI2mC,CAAC,GAAC,CAAN,EAAQ5lC,CAAC,GAAC;AAACkvH,qBAAW,EAAC,CAAC,CAAd;AAAgBC,qBAAW,EAAC;AAA5B,SAAV,EAAyC51F,CAAC,GAAC,CAA3C,EAA6CwmC,CAAC,GAAC,CAAnD,EAAqDn6B,CAAC,GAAC3mC,CAAC,CAACmnH,UAAJ,IAAgB,QAAMnnH,CAAC,CAAC2mC,CAAD,CAA5E,GAAiF;AAAC,iBAAK,QAAM3mC,CAAC,CAAC2mC,CAAD,CAAZ;AAAiBrM,aAAC,IAAE,GAAH,EAAOqM,CAAC,EAAR;AAAjB;;AAA4B,eAAIrM,CAAC,IAAEt6B,CAAC,CAAC2mC,CAAC,EAAF,CAAR,EAAc,QAAM3mC,CAAC,CAAC2mC,CAAD,CAArB;AAA0Bm6B,aAAC,IAAE,GAAH,EAAOn6B,CAAC,EAAR;AAA1B;;AAAqC,cAAGm6B,CAAC,IAAE9gE,CAAC,CAAC2mC,CAAC,EAAF,CAAJ,EAAU,CAAC5lC,CAAC,CAACovH,OAAH,IAAY,MAAI71F,CAA7B,EAA+B;AAACv5B,aAAC,CAACkvH,WAAF,GAAc31F,CAAd,EAAgBv5B,CAAC,CAACmvH,WAAF,GAAcpvD,CAA9B,EAAgC//D,CAAC,CAACovH,OAAF,GAAUnwH,CAAC,CAACynH,QAAF,CAAW9gF,CAAX,EAAaA,CAAC,GAACm6B,CAAf,CAA1C;AAA4D;AAAM;;AAAAn6B,WAAC,IAAEm6B,CAAH,EAAKA,CAAC,GAACxmC,CAAC,GAAC,CAAT;AAAW;;AAAA,eAAOv5B,CAAP;AAAS,OAA3nK;AAAA,UAA4nKqmE,EAAE,GAAC,SAAHA,EAAG,CAASpnE,CAAT,EAAW;AAAC,eAAO,QAAMA,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAAN,GAAmB,IAAnB,GAAwB,OAAKnwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,KAAc,CAAd,GAAgBnwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAArB,IAAmC,IAAnC,GAAwC,WAAS3hG,MAAM,CAACC,YAAP,CAAoBzuB,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAApB,EAAiCnwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAAjC,EAA8CnwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAA9C,EAA2DnwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAA3D,CAAT,GAAkF,IAAlF,GAAuF,MAAInwH,CAAC,CAACmwH,OAAF,CAAU,CAAV,CAAJ,GAAiB,IAAjB,GAAsBnwH,CAAC,CAACmwH,OAAF,CAAU1I,QAAV,CAAmB,CAAnB,EAAqBznH,CAAC,CAACmwH,OAAF,CAAUjtH,MAAV,GAAiB,CAAtC,CAApL;AAA6N,OAAx2K;AAAA,UAAy2KokE,EAAE,GAAC,SAAHA,EAAG,CAAStnE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAJ;AAAA,YAAMu5B,CAAN;AAAA,YAAQwmC,CAAR;AAAA,YAAUp8C,CAAV;AAAA,YAAYtJ,CAAC,GAAC,EAAd;AAAiB,YAAG,EAAE,KAAGurB,CAAC,CAAC,CAAD,CAAN,CAAH,EAAc,OAAOvrB,CAAP;;AAAS,aAAIkf,CAAC,GAAC,KAAGqM,CAAC,CAAC,CAAD,CAAN,EAAU5lC,CAAC,GAAC,CAAhB,EAAkBA,CAAC,GAACu5B,CAApB,EAAsBv5B,CAAC,EAAvB;AAA0B2jB,WAAC,GAAC;AAACnU,gBAAI,EAAC,IAAEo2B,CAAC,CAAC,KAAGm6B,CAAC,GAAC,IAAE//D,CAAP,CAAD,CAAT;AAAqBuvH,eAAG,EAACtwH;AAAzB,WAAF,EAA8B,IAAE2mC,CAAC,CAAC,IAAEm6B,CAAH,CAAH,KAAWp8C,CAAC,CAAC6rG,MAAF,GAAS5pF,CAAC,CAAC,IAAEm6B,CAAH,CAAD,IAAQ,CAAR,GAAUn6B,CAAC,CAAC,IAAEm6B,CAAH,CAApB,EAA0B1lD,CAAC,CAAC7X,IAAF,CAAOmhB,CAAP,CAArC,CAA9B;AAA1B;;AAAwG,eAAOtJ,CAAP;AAAS,OAAnhL;AAAA,UAAohLmsD,EAAE,GAAC,CAAvhL;;AAAyhL,OAAClE,CAAC,CAACtpD,SAAF,GAAY,IAAImpD,CAAJ,EAAb,EAAoB3/D,IAApB,GAAyB,UAASvD,CAAT,EAAW;AAAC,YAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR;AAAU,YAAG,eAAat6B,CAAC,CAACixH,WAAf,IAA4B,CAACtqF,CAAC,GAACwgC,EAAE,CAACnnE,CAAC,CAACkxH,WAAH,CAAL,EAAsBjB,WAAtB,KAAoC1oD,EAAhE,KAAqExmE,CAAC,GAACqmE,EAAE,CAACzgC,CAAD,CAAzE,CAAH,EAAiF,IAAG3mC,CAAC,CAACmxH,GAAF,GAAM,KAAKC,UAAd,EAAyB,KAAKC,mBAAL,GAAyB,CAAC,CAA1B,CAAzB,KAAyD;AAAC,cAAGrxH,CAAC,CAACmxH,GAAF,KAAQ,KAAKC,UAAb,IAAyB,KAAKC,mBAAjC,EAAqD,OAAO,KAAKC,WAAL,IAAmB,MAAK,KAAKA,WAAL,KAAmB,KAAKD,mBAAL,GAAyB,CAAC,CAA7C,CAAL,CAA1B;AAAgF/2F,WAAC,GAACgtC,EAAE,CAACtnE,CAAC,CAACswH,GAAH,EAAOvvH,CAAP,CAAJ,EAAc,KAAK8vH,eAAL,GAAqB,KAAKA,eAAL,CAAqB9pG,MAArB,CAA4BuT,CAA5B,CAAnC,EAAkE,KAAK82F,UAAL,KAAkBpxH,CAAC,CAACmxH,GAApB,KAA0B,KAAKG,WAAL,GAAiB,CAA3C,CAAlE,EAAgH,KAAKA,WAAL,EAAhH,EAAmI,KAAKF,UAAL,GAAgBpxH,CAAC,CAACmxH,GAArJ;AAAyJ;AAAC,OAAzd,EAA0d9tD,CAAC,CAACtpD,SAAF,CAAYw3G,cAAZ,GAA2B,UAAS5qF,CAAT,EAAW;AAAC,aAAKmqF,UAAL,CAAgB/nH,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAAC,iBAAM,YAAU2mC,CAAV,GAAY3mC,CAAC,CAACo6E,KAAF,EAAZ,GAAsBp6E,CAAC,CAAC0wH,YAAF,EAA5B;AAA6C,SAAjF,EAAkF,IAAlF;AAAwF,OAAzlB,EAA0lBrtD,CAAC,CAACtpD,SAAF,CAAYy3G,WAAZ,GAAwB,UAASxxH,CAAT,EAAW;AAAC,aAAK6wH,eAAL,CAAqB3tH,MAArB,KAA8B,KAAK2tH,eAAL,CAAqB9nH,OAArB,CAA6B,UAAS/I,CAAT,EAAW2mC,CAAX,EAAa;AAAC3mC,WAAC,CAACyxH,YAAF,GAAe9qF,CAAf;AAAiB,SAA5D,GAA8D,KAAKkqF,eAAL,CAAqBlnG,IAArB,CAA0B,UAAS3pB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,iBAAO3mC,CAAC,CAACswH,GAAF,KAAQ3pF,CAAC,CAAC2pF,GAAV,GAActwH,CAAC,CAACyxH,YAAF,GAAe9qF,CAAC,CAAC8qF,YAA/B,GAA4CzxH,CAAC,CAACswH,GAAF,GAAM3pF,CAAC,CAAC2pF,GAA3D;AAA+D,SAAvG,CAA9D,EAAuK,KAAKO,eAAL,CAAqB9nH,OAArB,CAA6B,UAAS/I,CAAT,EAAW;AAACA,WAAC,CAACuQ,IAAF,GAAO,CAAP,IAAU,KAAKmhH,oBAAL,CAA0B1xH,CAA1B,CAAV;AAAuC,SAAhF,EAAiF,IAAjF,CAAvK,EAA8P,KAAK6wH,eAAL,CAAqB3tH,MAArB,GAA4B,CAAxT,GAA2T,KAAKquH,cAAL,CAAoBvxH,CAApB,CAA3T;AAAkV,OAAh9B,EAAi9BqjE,CAAC,CAACtpD,SAAF,CAAYqgE,KAAZ,GAAkB,YAAU;AAAC,eAAO,KAAKo3C,WAAL,CAAiB,OAAjB,CAAP;AAAiC,OAA/gC,EAAghCnuD,CAAC,CAACtpD,SAAF,CAAY22G,YAAZ,GAAyB,YAAU;AAAC,eAAO,KAAKc,WAAL,CAAiB,cAAjB,CAAP;AAAwC,OAA5lC,EAA6lCnuD,CAAC,CAACtpD,SAAF,CAAY8c,KAAZ,GAAkB,YAAU;AAAC,aAAKu6F,UAAL,GAAgB,IAAhB,EAAqB,KAAKC,mBAAL,GAAyB,CAAC,CAA/C,EAAiD,KAAKC,WAAL,GAAiB,CAAlE,EAAoE,KAAKK,oBAAL,GAA0B,CAAC,IAAD,EAAM,IAAN,CAA9F,EAA0G,KAAKb,UAAL,CAAgB/nH,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAACA,WAAC,CAAC62B,KAAF;AAAU,SAA9C,CAA1G;AAA0J,OAApxC,EAAqxCwsC,CAAC,CAACtpD,SAAF,CAAY23G,oBAAZ,GAAiC,UAAS1xH,CAAT,EAAW;AAAC,aAAK4xH,mBAAL,CAAyB5xH,CAAzB,IAA4B,KAAK2xH,oBAAL,CAA0B3xH,CAAC,CAACuQ,IAA5B,IAAkC,IAA9D,GAAmE,KAAKshH,kBAAL,CAAwB7xH,CAAxB,IAA2B,KAAK2xH,oBAAL,CAA0B3xH,CAAC,CAACuQ,IAA5B,IAAkC,CAA7D,GAA+D,KAAKuhH,kBAAL,CAAwB9xH,CAAxB,MAA6B,KAAK2xH,oBAAL,CAA0B3xH,CAAC,CAACuQ,IAA5B,IAAkC,CAA/D,CAAlI,EAAoM,SAAO,KAAKohH,oBAAL,CAA0B3xH,CAAC,CAACuQ,IAA5B,CAAP,IAA0C,KAAKugH,UAAL,CAAgB,CAAC9wH,CAAC,CAACuQ,IAAF,IAAQ,CAAT,IAAY,KAAKohH,oBAAL,CAA0B3xH,CAAC,CAACuQ,IAA5B,CAA5B,EAA+DhN,IAA/D,CAAoEvD,CAApE,CAA9O;AAAqT,OAAvnD,EAAwnDqjE,CAAC,CAACtpD,SAAF,CAAY83G,kBAAZ,GAA+B,UAAS7xH,CAAT,EAAW;AAAC,eAAO,SAAO,QAAMA,CAAC,CAACuwH,MAAf,CAAP;AAA8B,OAAjsD,EAAksDltD,CAAC,CAACtpD,SAAF,CAAY+3G,kBAAZ,GAA+B,UAAS9xH,CAAT,EAAW;AAAC,eAAO,SAAO,QAAMA,CAAC,CAACuwH,MAAf,CAAP;AAA8B,OAA3wD,EAA4wDltD,CAAC,CAACtpD,SAAF,CAAY63G,mBAAZ,GAAgC,UAAS5xH,CAAT,EAAW;AAAC,eAAO,QAAM,QAAMA,CAAC,CAACuwH,MAAd,KAAuB,SAAO,QAAMvwH,CAAC,CAACuwH,MAAf,CAAvB,IAA+C,SAAO,QAAMvwH,CAAC,CAACuwH,MAAf,CAAtD;AAA6E,OAAr4D;;AAAs4D,eAAS/oD,EAAT,CAAYxnE,CAAZ,EAAc;AAAC,eAAO,SAAOA,CAAP,GAAS,EAAT,IAAaA,CAAC,GAACqnE,EAAE,CAACrnE,CAAD,CAAF,IAAOA,CAAT,EAAWwuB,MAAM,CAACC,YAAP,CAAoBzuB,CAApB,CAAxB,CAAP;AAAuD;;AAAA,eAAS2nE,EAAT,GAAa;AAAC,aAAI,IAAI3nE,CAAC,GAAC,EAAN,EAAS2mC,CAAC,GAAC,EAAf,EAAkBA,CAAC,EAAnB;AAAuB3mC,WAAC,CAACuD,IAAF,CAAO,EAAP;AAAvB;;AAAkC,eAAOvD,CAAP;AAAS;;AAAA,UAAIqnE,EAAE,GAAC;AAAC,YAAG,GAAJ;AAAQ,YAAG,GAAX;AAAe,YAAG,GAAlB;AAAsB,YAAG,GAAzB;AAA6B,YAAG,GAAhC;AAAoC,aAAI,GAAxC;AAA4C,aAAI,GAAhD;AAAoD,aAAI,GAAxD;AAA4D,aAAI,GAAhE;AAAoE,aAAI,IAAxE;AAA6E,aAAI,GAAjF;AAAqF,aAAI,GAAzF;AAA6F,aAAI,GAAjG;AAAqG,aAAI,GAAzG;AAA6G,aAAI,IAAjH;AAAsH,aAAI,GAA1H;AAA8H,aAAI,GAAlI;AAAsI,aAAI,IAA1I;AAA+I,aAAI,GAAnJ;AAAuJ,aAAI,GAA3J;AAA+J,aAAI,GAAnK;AAAuK,aAAI,GAA3K;AAA+K,aAAI,GAAnL;AAAuL,aAAI,GAA3L;AAA+L,aAAI,GAAnM;AAAuM,aAAI,GAA3M;AAA+M,aAAI,GAAnN;AAAuN,aAAI,GAA3N;AAA+N,aAAI,GAAnO;AAAuO,aAAI,GAA3O;AAA+O,aAAI,GAAnP;AAAuP,aAAI,GAA3P;AAA+P,aAAI,IAAnQ;AAAwQ,aAAI,GAA5Q;AAAgR,aAAI,EAApR;AAAuR,aAAI,EAA3R;AAA8R,aAAI,IAAlS;AAAuS,aAAI,GAA3S;AAA+S,aAAI,IAAnT;AAAwT,aAAI,IAA5T;AAAiU,aAAI,IAArU;AAA0U,aAAI,IAA9U;AAAmV,aAAI,GAAvV;AAA2V,aAAI,GAA/V;AAAmW,aAAI,GAAvW;AAA2W,aAAI,GAA/W;AAAmX,aAAI,GAAvX;AAA2X,aAAI,GAA/X;AAAmY,aAAI,GAAvY;AAA2Y,aAAI,GAA/Y;AAAmZ,aAAI,GAAvZ;AAA2Z,aAAI,GAA/Z;AAAma,aAAI,GAAva;AAA2a,aAAI,GAA/a;AAAmb,aAAI,GAAvb;AAA2b,aAAI,GAA/b;AAAmc,aAAI,GAAvc;AAA2c,aAAI,GAA/c;AAAmd,aAAI,GAAvd;AAA2d,aAAI,GAA/d;AAAme,aAAI,GAAve;AAA2e,aAAI,GAA/e;AAAmf,aAAI,GAAvf;AAA2f,aAAI,GAA/f;AAAmgB,aAAI,GAAvgB;AAA2gB,aAAI,GAA/gB;AAAmhB,aAAI,GAAvhB;AAA2hB,aAAI,GAA/hB;AAAmiB,aAAI,GAAviB;AAA2iB,aAAI,EAA/iB;AAAkjB,aAAI,EAAtjB;AAAyjB,aAAI,EAA7jB;AAAgkB,aAAI,GAApkB;AAAwkB,aAAI,GAA5kB;AAAglB,aAAI,GAAplB;AAAwlB,aAAI,GAA5lB;AAAgmB,aAAI,GAApmB;AAAwmB,aAAI,GAA5mB;AAAgnB,aAAI,GAApnB;AAAwnB,aAAI,GAA5nB;AAAgoB,aAAI,GAApoB;AAAwoB,aAAI,IAA5oB;AAAipB,aAAI,GAArpB;AAAypB,aAAI,GAA7pB;AAAiqB,aAAI,GAArqB;AAAyqB,aAAI,GAA7qB;AAAirB,aAAI,IAArrB;AAA0rB,aAAI,IAA9rB;AAAmsB,aAAI,IAAvsB;AAA4sB,aAAI;AAAhtB,OAAP;AAAA,UAA6tBQ,EAAE,GAAC,CAAC,IAAD,EAAM,IAAN,EAAW,IAAX,EAAgB,IAAhB,EAAqB,IAArB,EAA0B,IAA1B,EAA+B,IAA/B,EAAoC,IAApC,EAAyC,IAAzC,EAA8C,IAA9C,EAAmD,IAAnD,EAAwD,IAAxD,EAA6D,IAA7D,EAAkE,IAAlE,EAAuE,IAAvE,CAAhuB;AAAA,UAA6yBC,EAAE,GAAC,SAAS9nE,CAAT,CAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAACf,SAAC,CAAC+Z,SAAF,CAAYrY,IAAZ,CAAiBiE,IAAjB,CAAsB,IAAtB,GAA4B,KAAKwsH,MAAL,GAAYxrF,CAAC,IAAE,CAA3C,EAA6C,KAAKyrF,YAAL,GAAkBrxH,CAAC,IAAE,CAAlE,EAAoE,KAAK+nE,KAAL,GAAW,QAAM,KAAG,KAAKqpD,MAAL,IAAa,CAAb,GAAe,KAAKC,YAAvB,CAAN,CAA/E,EAA2H,KAAKC,YAAL,EAA3H,EAA+I,KAAKx7F,KAAL,EAA/I,EAA4J,KAAKtzB,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC,cAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR,EAAUwmC,CAAV,EAAYp8C,CAAZ;;AAAc,cAAG,CAACiiB,CAAC,GAAC,QAAM3mC,CAAC,CAACuwH,MAAX,MAAqB,KAAK+B,gBAA7B,EAA8C;AAAC,gBAAG,SAAO,QAAM3rF,CAAb,IAAgB,KAAK2rF,gBAAL,GAAsB3rF,CAAtC,GAAwCA,CAAC,KAAG,KAAK4rF,QAAT,KAAoB,KAAKD,gBAAL,GAAsB,IAA1C,CAAxC,EAAwFh4F,CAAC,GAACqM,CAAC,KAAG,CAA9F,EAAgGm6B,CAAC,GAAC,MAAIn6B,CAAtG,EAAwGA,CAAC,KAAG,KAAK4rF,QAApH,EAA6H,IAAG5rF,CAAC,KAAG,KAAK6rF,uBAAZ,EAAoC,KAAKC,KAAL,GAAW,OAAX,CAApC,KAA4D,IAAG9rF,CAAC,KAAG,KAAK+rF,eAAZ,EAA4B,KAAKD,KAAL,GAAW,OAAX,EAAmB,KAAKE,eAAL,CAAqB3yH,CAAC,CAACswH,GAAvB,CAAnB,EAA+C,KAAKsC,cAAL,CAAoB5yH,CAAC,CAACswH,GAAtB,CAA/C,EAA0EvvH,CAAC,GAAC,KAAK8xH,UAAjF,EAA4F,KAAKA,UAAL,GAAgB,KAAKC,aAAjH,EAA+H,KAAKA,aAAL,GAAmB/xH,CAAlJ,EAAoJ,KAAKgyH,SAAL,GAAe/yH,CAAC,CAACswH,GAArK,CAA5B,KAA0M,IAAG3pF,CAAC,KAAG,KAAKqsF,eAAZ,EAA4B,KAAKC,WAAL,GAAiB,CAAjB,EAAmB,KAAKC,SAAL,CAAelzH,CAAC,CAACswH,GAAjB,CAAnB,CAA5B,KAA0E,IAAG3pF,CAAC,KAAG,KAAKwsF,eAAZ,EAA4B,KAAKF,WAAL,GAAiB,CAAjB,EAAmB,KAAKC,SAAL,CAAelzH,CAAC,CAACswH,GAAjB,CAAnB,CAA5B,KAA0E,IAAG3pF,CAAC,KAAG,KAAKysF,eAAZ,EAA4B,KAAKH,WAAL,GAAiB,CAAjB,EAAmB,KAAKC,SAAL,CAAelzH,CAAC,CAACswH,GAAjB,CAAnB,CAA5B,KAA0E,IAAG3pF,CAAC,KAAG,KAAK0sF,gBAAZ,EAA6B,KAAKV,eAAL,CAAqB3yH,CAAC,CAACswH,GAAvB,GAA4B,KAAKsC,cAAL,CAAoB5yH,CAAC,CAACswH,GAAtB,CAA5B,EAAuD,KAAKgD,YAAL,EAAvD,EAA2E,KAAKP,SAAL,GAAe/yH,CAAC,CAACswH,GAA5F,CAA7B,KAAkI,IAAG3pF,CAAC,KAAG,KAAK4sF,UAAZ,EAAuB,YAAU,KAAKd,KAAf,GAAqB,KAAKK,aAAL,CAAmB,KAAKU,IAAxB,IAA8B,KAAKV,aAAL,CAAmB,KAAKU,IAAxB,EAA8B74G,KAA9B,CAAoC,CAApC,EAAsC,CAAC,CAAvC,CAAnD,GAA6F,KAAKk4G,UAAL,CAAgB,KAAKW,IAArB,IAA2B,KAAKX,UAAL,CAAgB,KAAKW,IAArB,EAA2B74G,KAA3B,CAAiC,CAAjC,EAAmC,CAAC,CAApC,CAAxH,CAAvB,KAA2L,IAAGgsB,CAAC,KAAG,KAAK8sF,uBAAZ,EAAoC,KAAKb,cAAL,CAAoB5yH,CAAC,CAACswH,GAAtB,GAA2B,KAAKuC,UAAL,GAAgBlrD,EAAE,EAA7C,CAApC,KAAyF,IAAGhhC,CAAC,KAAG,KAAK+sF,2BAAZ,EAAwC,KAAKZ,aAAL,GAAmBnrD,EAAE,EAArB,CAAxC,KAAqE,IAAGhhC,CAAC,KAAG,KAAKgtF,yBAAZ,EAAsC,cAAY,KAAKlB,KAAjB,KAAyB,KAAKG,cAAL,CAAoB5yH,CAAC,CAACswH,GAAtB,GAA2B,KAAKuC,UAAL,GAAgBlrD,EAAE,EAAtE,GAA0E,KAAK8qD,KAAL,GAAW,SAArF,EAA+F,KAAKM,SAAL,GAAe/yH,CAAC,CAACswH,GAAhH,CAAtC,KAA+J,IAAG,KAAKsD,kBAAL,CAAwBt5F,CAAxB,EAA0BwmC,CAA1B,CAAH,EAAgCp8C,CAAC,GAAC8iD,EAAE,CAAC,CAACltC,CAAC,GAAC,CAAC,IAAEA,CAAH,KAAO,CAAV,IAAawmC,CAAd,CAAJ,EAAqB,KAAK,KAAK2xD,KAAV,EAAiBzyH,CAAC,CAACswH,GAAnB,EAAuB5rG,CAAvB,CAArB,EAA+C,KAAKmvG,OAAL,EAA/C,CAAhC,KAAmG,IAAG,KAAKC,cAAL,CAAoBx5F,CAApB,EAAsBwmC,CAAtB,CAAH,EAA4B,YAAU,KAAK2xD,KAAf,GAAqB,KAAKK,aAAL,CAAmB,KAAKU,IAAxB,IAA8B,KAAKV,aAAL,CAAmB,KAAKU,IAAxB,EAA8B74G,KAA9B,CAAoC,CAApC,EAAsC,CAAC,CAAvC,CAAnD,GAA6F,KAAKk4G,UAAL,CAAgB,KAAKW,IAArB,IAA2B,KAAKX,UAAL,CAAgB,KAAKW,IAArB,EAA2B74G,KAA3B,CAAiC,CAAjC,EAAmC,CAAC,CAApC,CAAxH,EAA+J+J,CAAC,GAAC8iD,EAAE,CAAC,CAACltC,CAAC,GAAC,CAAC,IAAEA,CAAH,KAAO,CAAV,IAAawmC,CAAd,CAAnK,EAAoL,KAAK,KAAK2xD,KAAV,EAAiBzyH,CAAC,CAACswH,GAAnB,EAAuB5rG,CAAvB,CAApL,EAA8M,KAAKmvG,OAAL,EAA9M,CAA5B,KAA8P,IAAG,KAAKE,YAAL,CAAkBz5F,CAAlB,EAAoBwmC,CAApB,CAAH,EAA0B,KAAK6xD,eAAL,CAAqB3yH,CAAC,CAACswH,GAAvB,GAA4B,KAAK,KAAKmC,KAAV,EAAiBzyH,CAAC,CAACswH,GAAnB,EAAuB,GAAvB,CAA5B,EAAwD,KAAKuD,OAAL,EAAxD,EAAuE,OAAK,KAAG/yD,CAAR,KAAY,KAAKkzD,aAAL,CAAmBh0H,CAAC,CAACswH,GAArB,EAAyB,CAAC,GAAD,CAAzB,CAAnF,EAAmH,MAAI,IAAExvD,CAAN,KAAU,KAAKkzD,aAAL,CAAmBh0H,CAAC,CAACswH,GAArB,EAAyB,CAAC,GAAD,CAAzB,CAA7H,CAA1B,KAA4L,IAAG,KAAK2D,mBAAL,CAAyB35F,CAAzB,EAA2BwmC,CAA3B,CAAH,EAAiC,KAAK+yD,OAAL,IAAc,IAAE/yD,CAAhB,CAAjC,KAAwD,IAAG,KAAKozD,KAAL,CAAW55F,CAAX,EAAawmC,CAAb,CAAH,EAAmB;AAAC,kBAAI1lD,CAAC,GAACysD,EAAE,CAAC1mE,OAAH,CAAW,OAAKwlC,CAAhB,CAAN;AAAyB,2BAAW,KAAK8rF,KAAhB,KAAwBr3G,CAAC,GAAC,KAAK63G,WAAP,GAAmB,CAAnB,GAAqB,CAArB,KAAyB73G,CAAC,GAAC,KAAK63G,WAAL,GAAiB,CAA5C,GAA+C,KAAKC,SAAL,CAAelzH,CAAC,CAACswH,GAAjB,EAAqBl1G,CAArB,CAAvE,GAAgGA,CAAC,KAAG,KAAKo4G,IAAT,KAAgB,KAAKb,eAAL,CAAqB3yH,CAAC,CAACswH,GAAvB,GAA4B,KAAKkD,IAAL,GAAUp4G,CAAtD,CAAhG,EAAyJ,IAAE0lD,CAAF,IAAK,CAAC,CAAD,KAAK,KAAKqzD,WAAL,CAAiBhzH,OAAjB,CAAyB,GAAzB,CAAV,IAAyC,KAAK6yH,aAAL,CAAmBh0H,CAAC,CAACswH,GAArB,EAAyB,CAAC,GAAD,CAAzB,CAAlM,EAAkO,OAAK,KAAG3pF,CAAR,MAAa,KAAKktF,OAAL,GAAa,KAAG,CAAC,KAAGltF,CAAJ,KAAQ,CAAX,CAA1B,CAAlO,EAA2Q,KAAKytF,UAAL,CAAgBtzD,CAAhB,KAAoB,OAAK,KAAGA,CAAR,CAApB,IAAgC,KAAKkzD,aAAL,CAAmBh0H,CAAC,CAACswH,GAArB,EAAyB,CAAC,GAAD,CAAzB,CAA3S;AAA2U,aAAxX,MAA6X,KAAK+D,YAAL,CAAkB/5F,CAAlB,MAAuB,MAAIwmC,CAAJ,KAAQA,CAAC,GAAC,IAAV,GAAgBp8C,CAAC,GAAC8iD,EAAE,CAACltC,CAAD,CAApB,EAAwB5V,CAAC,IAAE8iD,EAAE,CAAC1G,CAAD,CAA7B,EAAiC,KAAK,KAAK2xD,KAAV,EAAiBzyH,CAAC,CAACswH,GAAnB,EAAuB5rG,CAAvB,CAAjC,EAA2D,KAAKmvG,OAAL,IAAcnvG,CAAC,CAACxhB,MAAlG;AAA0G,WAAt0E,MAA20E,KAAKovH,gBAAL,GAAsB,IAAtB;AAA2B,SAAtiF;AAAuiF,OAAv2G;;AAAw2GxqD,QAAE,CAAC/tD,SAAH,GAAa,IAAImpD,CAAJ,EAAb,EAAmB4E,EAAE,CAAC/tD,SAAH,CAAa64G,cAAb,GAA4B,UAAS5yH,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC,KAAKksF,UAAL,CAAgB5pG,GAAhB,CAAoB,UAASjpB,CAAT,EAAW;AAAC,cAAG;AAAC,mBAAOA,CAAC,CAAC6jD,IAAF,EAAP;AAAgB,WAApB,CAAoB,OAAM7jD,CAAN,EAAQ;AAAC,mBAAM,EAAN;AAAS;AAAC,SAAvE,EAAyEmwB,IAAzE,CAA8E,IAA9E,EAAoF9rB,OAApF,CAA4F,YAA5F,EAAyG,EAAzG,CAAN;AAAmHsiC,SAAC,CAACzjC,MAAF,IAAU,KAAKqC,OAAL,CAAa,MAAb,EAAoB;AAAC+uH,kBAAQ,EAAC,KAAKvB,SAAf;AAAyBwB,gBAAM,EAACv0H,CAAhC;AAAkCgoB,cAAI,EAAC2e,CAAvC;AAAyCg7C,gBAAM,EAAC,KAAK7Y;AAArD,SAApB,CAAV;AAA2F,OAAzQ,EAA0QhB,EAAE,CAAC/tD,SAAH,CAAa8c,KAAb,GAAmB,YAAU;AAAC,aAAK47F,KAAL,GAAW,OAAX,EAAmB,KAAK+B,OAAL,GAAa,CAAhC,EAAkC,KAAKzB,SAAL,GAAe,CAAjD,EAAmD,KAAKF,UAAL,GAAgBlrD,EAAE,EAArE,EAAwE,KAAKmrD,aAAL,GAAmBnrD,EAAE,EAA7F,EAAgG,KAAK2qD,gBAAL,GAAsB,IAAtH,EAA2H,KAAKuB,OAAL,GAAa,CAAxI,EAA0I,KAAKL,IAAL,GAAU,EAApJ,EAAuJ,KAAKP,WAAL,GAAiB,CAAxK,EAA0K,KAAKkB,WAAL,GAAiB,EAA3L;AAA8L,OAAte,EAAuersD,EAAE,CAAC/tD,SAAH,CAAas4G,YAAb,GAA0B,YAAU;AAAC,cAAI,KAAKD,YAAT,IAAuB,KAAKqC,KAAL,GAAW,EAAX,EAAc,KAAKC,IAAL,GAAU,EAAxB,EAA2B,KAAKC,QAAL,GAAc,CAAC,KAAG,KAAKxC,MAAT,KAAkB,CAA3D,EAA6D,KAAKyC,OAAL,GAAa,EAAjG,IAAqG,MAAI,KAAKxC,YAAT,KAAwB,KAAKqC,KAAL,GAAW,EAAX,EAAc,KAAKC,IAAL,GAAU,EAAxB,EAA2B,KAAKC,QAAL,GAAc,CAAC,KAAG,KAAKxC,MAAT,KAAkB,CAA3D,EAA6D,KAAKyC,OAAL,GAAa,EAAlG,CAArG,EAA2M,KAAKrC,QAAL,GAAc,CAAzN,EAA2N,KAAKC,uBAAL,GAA6B,KAAG,KAAKmC,QAAhQ,EAAyQ,KAAKjC,eAAL,GAAqB,KAAG,KAAKiC,QAAtS,EAA+S,KAAK3B,eAAL,GAAqB,KAAG,KAAK2B,QAA5U,EAAqV,KAAKxB,eAAL,GAAqB,KAAG,KAAKwB,QAAlX,EAA2X,KAAKvB,eAAL,GAAqB,KAAG,KAAKuB,QAAxZ,EAAia,KAAKtB,gBAAL,GAAsB,KAAG,KAAKsB,QAA/b,EAAwc,KAAKhB,yBAAL,GAA+B,KAAG,KAAKgB,QAA/e,EAAwf,KAAKpB,UAAL,GAAgB,KAAG,KAAKoB,QAAhhB,EAAyhB,KAAKlB,uBAAL,GAA6B,KAAG,KAAKkB,QAA9jB,EAAukB,KAAKjB,2BAAL,GAAiC,KAAG,KAAKiB,QAAhnB;AAAynB,OAAroC,EAAsoC7sD,EAAE,CAAC/tD,SAAH,CAAa65G,kBAAb,GAAgC,UAAS5zH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO3mC,CAAC,KAAG,KAAK00H,IAAT,IAAe,MAAI/tF,CAAnB,IAAsBA,CAAC,IAAE,EAAhC;AAAmC,OAAvtC,EAAwtCmhC,EAAE,CAAC/tD,SAAH,CAAa+5G,cAAb,GAA4B,UAAS9zH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAM,CAAC3mC,CAAC,KAAG,KAAK00H,IAAL,GAAU,CAAd,IAAiB10H,CAAC,KAAG,KAAK00H,IAAL,GAAU,CAAhC,KAAoC,MAAI/tF,CAAxC,IAA2CA,CAAC,IAAE,EAApD;AAAuD,OAAzzC,EAA0zCmhC,EAAE,CAAC/tD,SAAH,CAAag6G,YAAb,GAA0B,UAAS/zH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO3mC,CAAC,KAAG,KAAK00H,IAAT,IAAe,MAAI/tF,CAAnB,IAAsBA,CAAC,IAAE,EAAhC;AAAmC,OAAr4C,EAAs4CmhC,EAAE,CAAC/tD,SAAH,CAAak6G,mBAAb,GAAiC,UAASj0H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO3mC,CAAC,KAAG,KAAK40H,OAAT,IAAkB,MAAIjuF,CAAtB,IAAyBA,CAAC,IAAE,EAAnC;AAAsC,OAA39C,EAA49CmhC,EAAE,CAAC/tD,SAAH,CAAam6G,KAAb,GAAmB,UAASl0H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAO3mC,CAAC,IAAE,KAAKy0H,KAAR,IAAez0H,CAAC,GAAC,KAAKy0H,KAAL,GAAW,CAA5B,IAA+B,MAAI9tF,CAAnC,IAAsCA,CAAC,IAAE,GAAhD;AAAoD,OAAjjD,EAAkjDmhC,EAAE,CAAC/tD,SAAH,CAAaq6G,UAAb,GAAwB,UAASp0H,CAAT,EAAW;AAAC,eAAO,MAAIA,CAAJ,IAAOA,CAAC,IAAE,EAAV,IAAc,MAAIA,CAAJ,IAAOA,CAAC,IAAE,GAA/B;AAAmC,OAAznD,EAA0nD8nE,EAAE,CAAC/tD,SAAH,CAAas6G,YAAb,GAA0B,UAASr0H,CAAT,EAAW;AAAC,eAAO,MAAIA,CAAJ,IAAOA,CAAC,IAAE,GAAjB;AAAqB,OAArrD,EAAsrD8nE,EAAE,CAAC/tD,SAAH,CAAam5G,SAAb,GAAuB,UAASlzH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAG,aAAW,KAAK8rF,KAAhB,KAAwB,KAAKe,IAAL,GAAU,EAAV,EAAa,KAAKf,KAAL,GAAW,QAAxB,EAAiC,KAAKG,cAAL,CAAoB5yH,CAApB,CAAjC,EAAwD,KAAK8yH,aAAL,GAAmBnrD,EAAE,EAA7E,EAAgF,KAAKkrD,UAAL,GAAgBlrD,EAAE,EAA1H,GAA8H,KAAK,CAAL,KAAShhC,CAAT,IAAYA,CAAC,KAAG,KAAK6sF,IAAtJ,EAA2J,KAAI,IAAIzyH,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAKkyH,WAAnB,EAA+BlyH,CAAC,EAAhC;AAAmC,eAAK8xH,UAAL,CAAgBlsF,CAAC,GAAC5lC,CAAlB,IAAqB,KAAK8xH,UAAL,CAAgB,KAAKW,IAAL,GAAUzyH,CAA1B,CAArB,EAAkD,KAAK8xH,UAAL,CAAgB,KAAKW,IAAL,GAAUzyH,CAA1B,IAA6B,EAA/E;AAAnC;AAAqH,aAAK,CAAL,KAAS4lC,CAAT,KAAaA,CAAC,GAAC,KAAK6sF,IAApB,GAA0B,KAAKgB,OAAL,GAAa7tF,CAAC,GAAC,KAAKssF,WAAP,GAAmB,CAA1D;AAA4D,OAAviE,EAAwiEnrD,EAAE,CAAC/tD,SAAH,CAAai6G,aAAb,GAA2B,UAASh0H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAKwtF,WAAL,GAAiB,KAAKA,WAAL,CAAiBptG,MAAjB,CAAwB4f,CAAxB,CAAjB;AAA4C,YAAI5lC,CAAC,GAAC4lC,CAAC,CAAC4jC,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,iBAAO3mC,CAAC,GAAC,GAAF,GAAM2mC,CAAN,GAAQ,GAAf;AAAmB,SAA1C,EAA2C,EAA3C,CAAN;AAAqD,aAAK,KAAK8rF,KAAV,EAAiBzyH,CAAjB,EAAmBe,CAAnB;AAAsB,OAAxsE,EAAysE+mE,EAAE,CAAC/tD,SAAH,CAAa44G,eAAb,GAA6B,UAAS3yH,CAAT,EAAW;AAAC,YAAG,KAAKm0H,WAAL,CAAiBjxH,MAApB,EAA2B;AAAC,cAAIyjC,CAAC,GAAC,KAAKwtF,WAAL,CAAiBp4F,OAAjB,GAA2BwuC,MAA3B,CAAkC,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,mBAAO3mC,CAAC,GAAC,IAAF,GAAO2mC,CAAP,GAAS,GAAhB;AAAoB,WAApE,EAAqE,EAArE,CAAN;AAA+E,eAAKwtF,WAAL,GAAiB,EAAjB,EAAoB,KAAK,KAAK1B,KAAV,EAAiBzyH,CAAjB,EAAmB2mC,CAAnB,CAApB;AAA0C;AAAC,OAAx4E,EAAy4EmhC,EAAE,CAAC/tD,SAAH,CAAa86G,KAAb,GAAmB,UAAS70H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC,KAAK+xH,aAAL,CAAmB,KAAKU,IAAxB,CAAN;AAAoCzyH,SAAC,IAAE4lC,CAAH,EAAK,KAAKmsF,aAAL,CAAmB,KAAKU,IAAxB,IAA8BzyH,CAAnC;AAAqC,OAAn/E,EAAo/E+mE,EAAE,CAAC/tD,SAAH,CAAa+6G,MAAb,GAAoB,UAAS90H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC,KAAK8xH,UAAL,CAAgB,KAAKW,IAArB,CAAN;AAAiCzyH,SAAC,IAAE4lC,CAAH,EAAK,KAAKksF,UAAL,CAAgB,KAAKW,IAArB,IAA2BzyH,CAAhC;AAAkC,OAAzlF,EAA0lF+mE,EAAE,CAAC/tD,SAAH,CAAau5G,YAAb,GAA0B,YAAU;AAAC,YAAItzH,CAAJ;;AAAM,aAAIA,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,KAAKw0H,OAAf,EAAuBx0H,CAAC,EAAxB;AAA2B,eAAK6yH,UAAL,CAAgB7yH,CAAhB,IAAmB,EAAnB;AAA3B;;AAAiD,aAAIA,CAAC,GAAC,KAAKwzH,IAAL,GAAU,CAAhB,EAAkBxzH,CAAC,GAAC,EAApB,EAAuBA,CAAC,EAAxB;AAA2B,eAAK6yH,UAAL,CAAgB7yH,CAAhB,IAAmB,EAAnB;AAA3B;;AAAiD,aAAIA,CAAC,GAAC,KAAKw0H,OAAX,EAAmBx0H,CAAC,GAAC,KAAKwzH,IAA1B,EAA+BxzH,CAAC,EAAhC;AAAmC,eAAK6yH,UAAL,CAAgB7yH,CAAhB,IAAmB,KAAK6yH,UAAL,CAAgB7yH,CAAC,GAAC,CAAlB,CAAnB;AAAnC;;AAA2E,aAAK6yH,UAAL,CAAgB,KAAKW,IAArB,IAA2B,EAA3B;AAA8B,OAAh1F,EAAi1F1rD,EAAE,CAAC/tD,SAAH,CAAag7G,OAAb,GAAqB,UAAS/0H,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC,KAAK8xH,UAAL,CAAgB,KAAKW,IAArB,CAAN;AAAiCzyH,SAAC,IAAE4lC,CAAH,EAAK,KAAKksF,UAAL,CAAgB,KAAKW,IAArB,IAA2BzyH,CAAhC;AAAkC,OAAv7F;;AAAw7F,eAASknE,EAAT,CAAYjoE,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,YAAI5lC,CAAC,GAAC,CAAN;;AAAQ,aAAI4lC,CAAC,GAAC3mC,CAAF,KAAMe,CAAC,GAAC,CAAC,CAAT,CAAJ,EAAgB,aAAW4f,IAAI,CAACkmC,GAAL,CAASlgB,CAAC,GAAC3mC,CAAX,CAA3B;AAA0CA,WAAC,IAAE,aAAWe,CAAd;AAA1C;;AAA0D,eAAOf,CAAP;AAAS;;AAAA,eAASmoE,EAAT,CAAYnoE,CAAZ,EAAc;AAAC,YAAI2mC,CAAJ,EAAM5lC,CAAN;AAAQonE,UAAE,CAACpuD,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,GAA6B,KAAKk/H,KAAL,GAAW7kI,CAAC,IAAE,QAA3C,EAAoD,KAAKuD,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC,uBAAW,KAAK6kI,KAAhB,IAAuB7kI,CAAC,CAACuQ,IAAF,KAAS,KAAKs0H,KAArC,KAA6C,KAAK,CAAL,KAAS9jI,CAAT,KAAaA,CAAC,GAACf,CAAC,CAACmxH,GAAjB,GAAsBnxH,CAAC,CAACmxH,GAAF,GAAMlpD,EAAE,CAACjoE,CAAC,CAACmxH,GAAH,EAAOpwH,CAAP,CAA9B,EAAwCf,CAAC,CAACswH,GAAF,GAAMroD,EAAE,CAACjoE,CAAC,CAACswH,GAAH,EAAOvvH,CAAP,CAAhD,EAA0D4lC,CAAC,GAAC3mC,CAAC,CAACmxH,GAA9D,EAAkE,KAAK5rH,OAAL,CAAa,MAAb,EAAoBvF,CAApB,CAA/G;AAAuI,SAAjN,EAAkN,KAAKo6E,KAAL,GAAW,YAAU;AAACr5E,WAAC,GAAC4lC,CAAF,EAAI,KAAKphC,OAAL,CAAa,MAAb,CAAJ;AAAyB,SAAjQ,EAAkQ,KAAKorH,WAAL,GAAiB,YAAU;AAAC,eAAKv2C,KAAL,IAAa,KAAK70E,OAAL,CAAa,eAAb,CAAb;AAA2C,SAAzU,EAA0U,KAAK2tG,aAAL,GAAmB,YAAU;AAACvsE,WAAC,GAAC5lC,CAAC,GAAC,KAAK,CAAT;AAAW,SAAnX,EAAoX,KAAK81B,KAAL,GAAW,YAAU;AAAC,eAAKq8E,aAAL,IAAqB,KAAK3tG,OAAL,CAAa,OAAb,CAArB;AAA2C,SAArb;AAAsb;;AAAA,UAAI8iE,EAAE,GAAC;AAACy8D,qBAAa,EAACzhE,CAAf;AAAiB0hE,oBAAY,EAACj9D;AAA9B,OAAP;AAAA,UAAyCQ,EAAE,GAAC;AAAC08D,wBAAgB,EAAC,EAAlB;AAAqBC,wBAAgB,EAAC,EAAtC;AAAyCC,4BAAoB,EAAC;AAA9D,OAA5C;AAA8G/8D,QAAE,CAACpuD,SAAH,GAAa,IAAImpD,CAAJ,EAAb;;AAAmB,eAASqF,EAAT,CAAYvoE,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,YAAIu5B,CAAJ;AAAA,YAAMwmC,CAAC,GAAC,EAAR;;AAAW,aAAIxmC,CAAC,GAACqM,CAAN,EAAQrM,CAAC,GAACv5B,CAAV,EAAYu5B,CAAC,EAAb;AAAgBwmC,WAAC,IAAE,MAAI,CAAC,OAAK9gE,CAAC,CAACs6B,CAAD,CAAD,CAAKrT,QAAL,CAAc,EAAd,CAAN,EAAyBtM,KAAzB,CAA+B,CAAC,CAAhC,CAAP;AAAhB;;AAA0D,eAAOmmD,CAAP;AAAS;;AAAA,eAAS0H,EAAT,CAAYxoE,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAAC,eAAOy/E,kBAAkB,CAACjY,EAAE,CAACvoE,CAAD,EAAG2mC,CAAH,EAAK5lC,CAAL,CAAH,CAAzB;AAAqC;;AAAA,eAASorE,EAAT,CAAYnsE,CAAZ,EAAc;AAAC,eAAOA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAN,GAASA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAf,GAAkBA,CAAC,CAAC,CAAD,CAAD,IAAM,CAAxB,GAA0BA,CAAC,CAAC,CAAD,CAAlC;AAAsC;;AAAA,UAAIssE,GAAJ;AAAA,UAAOC,EAAE,GAACpE,EAAV;AAAA,UAAaqE,EAAE,GAAC;AAAC24D,YAAI,EAAC,cAASnlI,CAAT,EAAW;AAAC,cAAI2mC,CAAJ;;AAAM,cAAG,MAAI3mC,CAAC,CAACQ,IAAF,CAAO,CAAP,CAAP,EAAiB;AAAC,iBAAImmC,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC3mC,CAAC,CAACQ,IAAF,CAAO0C,MAAjB,EAAwByjC,CAAC,EAAzB;AAA4B,kBAAG,MAAI3mC,CAAC,CAACQ,IAAF,CAAOmmC,CAAP,CAAP,EAAiB;AAAC3mC,iBAAC,CAACizE,WAAF,GAAczK,EAAE,CAACxoE,CAAC,CAACQ,IAAH,EAAQ,CAAR,EAAUmmC,CAAV,CAAhB,EAA6B3mC,CAAC,CAACqlB,KAAF,GAAQmjD,EAAE,CAACxoE,CAAC,CAACQ,IAAH,EAAQmmC,CAAC,GAAC,CAAV,EAAY3mC,CAAC,CAACQ,IAAF,CAAO0C,MAAnB,CAAF,CAA6BmB,OAA7B,CAAqC,MAArC,EAA4C,EAA5C,CAArC;AAAqF;AAAM;AAAzI;;AAAyIrE,aAAC,CAACQ,IAAF,GAAOR,CAAC,CAACqlB,KAAT;AAAe;AAAC,SAAnM;AAAoM+/G,YAAI,EAAC,cAASplI,CAAT,EAAW;AAAC,cAAI2mC,CAAJ;AAAM,cAAG,MAAI3mC,CAAC,CAACQ,IAAF,CAAO,CAAP,CAAP,EAAiB,KAAImmC,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC3mC,CAAC,CAACQ,IAAF,CAAO0C,MAAjB,EAAwByjC,CAAC,EAAzB;AAA4B,gBAAG,MAAI3mC,CAAC,CAACQ,IAAF,CAAOmmC,CAAP,CAAP,EAAiB;AAAC3mC,eAAC,CAACizE,WAAF,GAAczK,EAAE,CAACxoE,CAAC,CAACQ,IAAH,EAAQ,CAAR,EAAUmmC,CAAV,CAAhB,EAA6B3mC,CAAC,CAACU,GAAF,GAAM8nE,EAAE,CAACxoE,CAAC,CAACQ,IAAH,EAAQmmC,CAAC,GAAC,CAAV,EAAY3mC,CAAC,CAACQ,IAAF,CAAO0C,MAAnB,CAArC;AAAgE;AAAM;AAApH;AAAqH,SAAjW;AAAkWmiI,YAAI,EAAC,cAASrlI,CAAT,EAAW;AAAC,cAAI2mC,CAAJ,EAAM5lC,CAAN;;AAAQ,eAAI4lC,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC3mC,CAAC,CAACQ,IAAF,CAAO0C,MAAjB,EAAwByjC,CAAC,EAAzB;AAA4B,gBAAG,MAAI3mC,CAAC,CAACQ,IAAF,CAAOmmC,CAAP,CAAP,EAAiB;AAAC3mC,eAAC,CAAC+gC,KAAF,IAAShgC,CAAC,GAACf,CAAC,CAACQ,IAAJ,EAASi3H,QAAQ,CAAClvD,EAAE,CAACxnE,CAAD,EAAG,CAAH,EAAK4lC,CAAL,CAAH,CAA1B;AAAuC;AAAM;AAA3F;;AAA2F3mC,WAAC,CAAC+/H,WAAF,GAAc//H,CAAC,CAACQ,IAAF,CAAOinH,QAAP,CAAgB9gF,CAAC,GAAC,CAAlB,CAAd,EAAmC3mC,CAAC,CAACQ,IAAF,GAAOR,CAAC,CAAC+/H,WAA5C;AAAwD;AAA9gB,OAAhB;;AAAgiB,OAACzzD,GAAE,GAAC,YAAStsE,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAA,YAAMi6B,CAAC,GAAC;AAACviD,eAAK,EAAC,EAAE,CAACre,CAAD,IAAI,CAACA,CAAC,CAACqe,KAAT,CAAP;AAAuBinH,oBAAU,EAACtlI,CAAC,IAAEA,CAAC,CAACslI;AAAvC,SAAR;AAAA,YAA2DlqG,CAAC,GAAC,CAA7D;AAAA,YAA+DomC,CAAC,GAAC,EAAjE;AAAA,YAAoEf,CAAC,GAAC,CAAtE;AAAwE,YAAG6L,GAAE,CAACvyD,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,GAA6B,KAAK4/H,YAAL,GAAkBj9D,EAAE,CAAC48D,oBAAH,CAAwBj+G,QAAxB,CAAiC,EAAjC,CAA/C,EAAoF25C,CAAC,CAAC0kE,UAAzF,EAAoG,KAAI3+F,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACi6B,CAAC,CAAC0kE,UAAF,CAAapiI,MAAvB,EAA8ByjC,CAAC,EAA/B;AAAkC,eAAK4+F,YAAL,IAAmB,CAAC,OAAK3kE,CAAC,CAAC0kE,UAAF,CAAa3+F,CAAb,EAAgB1f,QAAhB,CAAyB,EAAzB,CAAN,EAAoCtM,KAApC,CAA0C,CAAC,CAA3C,CAAnB;AAAlC;;AAAmG,aAAKpX,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC,cAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR,EAAUwmC,CAAV,EAAYp8C,CAAZ;AAAc,cAAG,qBAAmB1kB,CAAC,CAACuQ,IAAxB,EAA6B,IAAGvQ,CAAC,CAACwlI,sBAAF,KAA2B/kE,CAAC,GAAC,CAAF,EAAIe,CAAC,CAACt+D,MAAF,GAAS,CAAxC,GAA2C,MAAIs+D,CAAC,CAACt+D,MAAN,KAAelD,CAAC,CAACQ,IAAF,CAAO0C,MAAP,GAAc,EAAd,IAAkBlD,CAAC,CAACQ,IAAF,CAAO,CAAP,MAAY,IAAIsuB,UAAJ,CAAe,CAAf,CAA9B,IAAiD9uB,CAAC,CAACQ,IAAF,CAAO,CAAP,MAAY,IAAIsuB,UAAJ,CAAe,CAAf,CAA7D,IAAgF9uB,CAAC,CAACQ,IAAF,CAAO,CAAP,MAAY,IAAIsuB,UAAJ,CAAe,CAAf,CAA3G,CAA9C,EAA4K8xC,CAAC,CAACviD,KAAF,CAA5K,KAAyL,IAAGmjD,CAAC,CAACj+D,IAAF,CAAOvD,CAAP,GAAUygE,CAAC,IAAEzgE,CAAC,CAACQ,IAAF,CAAO2mH,UAApB,EAA+B,MAAI3lD,CAAC,CAACt+D,MAAN,KAAek4B,CAAC,GAAC+wC,EAAE,CAACnsE,CAAC,CAACQ,IAAF,CAAOinH,QAAP,CAAgB,CAAhB,EAAkB,EAAlB,CAAD,CAAJ,EAA4BrsF,CAAC,IAAE,EAA9C,CAA/B,EAAiF,EAAEqlC,CAAC,GAACrlC,CAAJ,CAApF,EAA2F;AAAC,iBAAIuL,CAAC,GAAC;AAACnmC,kBAAI,EAAC,IAAI4xG,UAAJ,CAAeh3E,CAAf,CAAN;AAAwBykG,oBAAM,EAAC,EAA/B;AAAkCvP,iBAAG,EAAC9uD,CAAC,CAAC,CAAD,CAAD,CAAK8uD,GAA3C;AAA+Ca,iBAAG,EAAC3vD,CAAC,CAAC,CAAD,CAAD,CAAK2vD;AAAxD,aAAF,EAA+DzsG,CAAC,GAAC,CAArE,EAAuEA,CAAC,GAAC0W,CAAzE;AAA4EuL,eAAC,CAACnmC,IAAF,CAAO4gC,GAAP,CAAWogC,CAAC,CAAC,CAAD,CAAD,CAAKhhE,IAAL,CAAUinH,QAAV,CAAmB,CAAnB,EAAqBrsF,CAAC,GAAC1W,CAAvB,CAAX,EAAqCA,CAArC,GAAwCA,CAAC,IAAE88C,CAAC,CAAC,CAAD,CAAD,CAAKhhE,IAAL,CAAU2mH,UAArD,EAAgE1mD,CAAC,IAAEe,CAAC,CAAC,CAAD,CAAD,CAAKhhE,IAAL,CAAU2mH,UAA7E,EAAwF3lD,CAAC,CAAChxC,KAAF,EAAxF;AAA5E;;AAA8KzvB,aAAC,GAAC,EAAF,EAAK,KAAG4lC,CAAC,CAACnmC,IAAF,CAAO,CAAP,CAAH,KAAeO,CAAC,IAAE,CAAH,EAAKA,CAAC,IAAEorE,EAAE,CAACxlC,CAAC,CAACnmC,IAAF,CAAOinH,QAAP,CAAgB,EAAhB,EAAmB,EAAnB,CAAD,CAAV,EAAmCrsF,CAAC,IAAE+wC,EAAE,CAACxlC,CAAC,CAACnmC,IAAF,CAAOinH,QAAP,CAAgB,EAAhB,EAAmB,EAAnB,CAAD,CAAvD,CAAL;;AAAsF,eAAE;AAAC,kBAAG,CAACntF,CAAC,GAAC6xC,EAAE,CAACxlC,CAAC,CAACnmC,IAAF,CAAOinH,QAAP,CAAgB1mH,CAAC,GAAC,CAAlB,EAAoBA,CAAC,GAAC,CAAtB,CAAD,CAAL,IAAiC,CAApC,EAAsC;;AAAO,kBAAG,CAAC+/D,CAAC,GAAC;AAAC7/D,kBAAE,EAACutB,MAAM,CAACC,YAAP,CAAoBkY,CAAC,CAACnmC,IAAF,CAAOO,CAAP,CAApB,EAA8B4lC,CAAC,CAACnmC,IAAF,CAAOO,CAAC,GAAC,CAAT,CAA9B,EAA0C4lC,CAAC,CAACnmC,IAAF,CAAOO,CAAC,GAAC,CAAT,CAA1C,EAAsD4lC,CAAC,CAACnmC,IAAF,CAAOO,CAAC,GAAC,CAAT,CAAtD,CAAJ;AAAuEP,oBAAI,EAACmmC,CAAC,CAACnmC,IAAF,CAAOinH,QAAP,CAAgB1mH,CAAC,GAAC,EAAlB,EAAqBA,CAAC,GAACu5B,CAAF,GAAI,EAAzB;AAA5E,eAAH,EAA8GlV,GAA9G,GAAkH07C,CAAC,CAAC7/D,EAApH,EAAuHurE,EAAE,CAAC1L,CAAC,CAAC7/D,EAAH,CAAF,KAAWurE,EAAE,CAAC1L,CAAC,CAAC7/D,EAAH,CAAF,CAAS6/D,CAAT,GAAY,mDAAiDA,CAAC,CAAC//B,KAA1E,CAA1H,EAA2M;AAAC,oBAAI3lB,CAAC,GAAC0lD,CAAC,CAACtgE,IAAR;AAAA,oBAAamgE,CAAC,GAAC,CAAC,IAAEvlD,CAAC,CAAC,CAAD,CAAJ,KAAU,EAAV,GAAaA,CAAC,CAAC,CAAD,CAAD,IAAM,EAAnB,GAAsBA,CAAC,CAAC,CAAD,CAAD,IAAM,EAA5B,GAA+BA,CAAC,CAAC,CAAD,CAAD,IAAM,CAArC,GAAuCA,CAAC,CAAC,CAAD,CAAD,KAAO,CAA7D;AAA+DulD,iBAAC,IAAE,CAAH,EAAKA,CAAC,IAAE,IAAEvlD,CAAC,CAAC,CAAD,CAAX,EAAe0lD,CAAC,CAACn3B,SAAF,GAAYg3B,CAA3B,EAA6B,KAAK,CAAL,KAASh6B,CAAC,CAAC2pF,GAAX,IAAgB,KAAK,CAAL,KAAS3pF,CAAC,CAACwqF,GAA3B,KAAiCxqF,CAAC,CAAC2pF,GAAF,GAAMxvD,CAAC,CAACn3B,SAAR,EAAkBhD,CAAC,CAACwqF,GAAF,GAAMrwD,CAAC,CAACn3B,SAA3D,CAA7B,EAAmG,KAAKpkC,OAAL,CAAa,WAAb,EAAyBu7D,CAAzB,CAAnG;AAA+H;;AAAAn6B,eAAC,CAACk5F,MAAF,CAASt8H,IAAT,CAAcu9D,CAAd,GAAiB//D,CAAC,IAAE,EAApB,EAAuBA,CAAC,IAAEu5B,CAA1B;AAA4B,aAAtd,QAA4dv5B,CAAC,GAACq6B,CAA9d;;AAAie,iBAAK71B,OAAL,CAAa,MAAb,EAAoBohC,CAApB;AAAuB;AAAC,SAAnlC;AAAolC,OAAn3C,EAAq3C5sB,SAAr3C,GAA+3C,IAAImpD,CAAJ,EAA/3C;;AAAq4C,UAAIuJ,GAAJ;AAAA,UAAOC,GAAP;AAAA,UAAUC,GAAV;AAAA,UAAaC,EAAE,GAACN,GAAhB;AAAA,UAAmBO,EAAE,GAACN,EAAtB;;AAAyB,OAACE,GAAE,GAAC,cAAU;AAAC,YAAI3L,CAAC,GAAC,IAAIsxC,UAAJ,CAAe,GAAf,CAAN;AAAA,YAA0B1tF,CAAC,GAAC,CAA5B;AAA8B+nD,WAAE,CAAC1yD,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,GAA6B,KAAKpC,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC,cAAI2mC,CAAJ;AAAA,cAAM5lC,CAAC,GAAC,CAAR;AAAA,cAAUu5B,CAAC,GAAC,GAAZ;;AAAgB,eAAI5V,CAAC,IAAE,CAACiiB,CAAC,GAAC,IAAIyrE,UAAJ,CAAepyG,CAAC,CAACmnH,UAAF,GAAaziG,CAA5B,CAAH,EAAmC0c,GAAnC,CAAuC0/B,CAAC,CAAC2mD,QAAF,CAAW,CAAX,EAAa/iG,CAAb,CAAvC,GAAwDiiB,CAAC,CAACvF,GAAF,CAAMphC,CAAN,EAAQ0kB,CAAR,CAAxD,EAAmEA,CAAC,GAAC,CAAvE,IAA0EiiB,CAAC,GAAC3mC,CAAjF,EAAmFs6B,CAAC,GAACqM,CAAC,CAACwgF,UAAvF;AAAmG,mBAAKxgF,CAAC,CAAC5lC,CAAD,CAAN,IAAW,OAAK4lC,CAAC,CAACrM,CAAD,CAAjB,IAAsBv5B,CAAC,IAAGu5B,CAAC,EAA3B,KAAgC,KAAK/0B,OAAL,CAAa,MAAb,EAAoBohC,CAAC,CAAC8gF,QAAF,CAAW1mH,CAAX,EAAau5B,CAAb,CAApB,GAAqCv5B,CAAC,IAAE,GAAxC,EAA4Cu5B,CAAC,IAAE,GAA/E;AAAnG;;AAAuLv5B,WAAC,GAAC4lC,CAAC,CAACwgF,UAAJ,KAAiBrmD,CAAC,CAAC1/B,GAAF,CAAMuF,CAAC,CAAC8gF,QAAF,CAAW1mH,CAAX,CAAN,EAAoB,CAApB,GAAuB2jB,CAAC,GAACiiB,CAAC,CAACwgF,UAAF,GAAapmH,CAAvD;AAA0D,SAApT,EAAqT,KAAKq5E,KAAL,GAAW,YAAU;AAAC,kBAAM11D,CAAN,IAAS,OAAKo8C,CAAC,CAAC,CAAD,CAAf,KAAqB,KAAKv7D,OAAL,CAAa,MAAb,EAAoBu7D,CAApB,GAAuBp8C,CAAC,GAAC,CAA9C,GAAiD,KAAKnf,OAAL,CAAa,MAAb,CAAjD;AAAsE,SAAjZ,EAAkZ,KAAKorH,WAAL,GAAiB,YAAU;AAAC,eAAKv2C,KAAL,IAAa,KAAK70E,OAAL,CAAa,eAAb,CAAb;AAA2C,SAAzd,EAA0d,KAAKsxB,KAAL,GAAW,YAAU;AAACnS,WAAC,GAAC,CAAF,EAAI,KAAKnf,OAAL,CAAa,OAAb,CAAJ;AAA0B,SAA1gB;AAA2gB,OAAxjB,EAA0jBwU,SAA1jB,GAAokB,IAAImpD,CAAJ,EAApkB,EAA0kB,CAACwJ,GAAE,GAAC,cAAU;AAAC,YAAIpyC,CAAJ,EAAMwmC,CAAN,EAAQp8C,CAAR,EAAUtJ,CAAV;AAAYsxD,WAAE,CAAC3yD,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,GAA6B,CAACyV,CAAC,GAAC,IAAH,EAASqqH,oBAAT,GAA8B,EAA3D,EAA8D,KAAKC,eAAL,GAAqB,KAAK,CAAxF,EAA0FprG,CAAC,GAAC,WAASt6B,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAI5lC,CAAC,GAAC,CAAN;AAAQ4lC,WAAC,CAACg/F,yBAAF,KAA8B5kI,CAAC,IAAEf,CAAC,CAACe,CAAD,CAAD,GAAK,CAAtC,GAAyC,UAAQ4lC,CAAC,CAACp2B,IAAV,GAAeuwD,CAAC,CAAC9gE,CAAC,CAACynH,QAAF,CAAW1mH,CAAX,CAAD,EAAe4lC,CAAf,CAAhB,GAAkCjiB,CAAC,CAAC1kB,CAAC,CAACynH,QAAF,CAAW1mH,CAAX,CAAD,EAAe4lC,CAAf,CAA5E;AAA8F,SAAhN,EAAiNm6B,CAAC,GAAC,WAAS9gE,CAAT,EAAW2mC,CAAX,EAAa;AAACA,WAAC,CAACi/F,cAAF,GAAiB5lI,CAAC,CAAC,CAAD,CAAlB,EAAsB2mC,CAAC,CAACk/F,mBAAF,GAAsB7lI,CAAC,CAAC,CAAD,CAA7C,EAAiDob,CAAC,CAAC0qH,MAAF,GAAS,CAAC,KAAG9lI,CAAC,CAAC,EAAD,CAAL,KAAY,CAAZ,GAAcA,CAAC,CAAC,EAAD,CAAzE,EAA8E2mC,CAAC,CAACm/F,MAAF,GAAS1qH,CAAC,CAAC0qH,MAAzF;AAAgG,SAAjU,EAAkUphH,CAAC,GAAC,WAAS1kB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAI5lC,CAAJ,EAAMu5B,CAAN;;AAAQ,cAAG,IAAEt6B,CAAC,CAAC,CAAD,CAAN,EAAU;AAAC,iBAAIob,CAAC,CAACsqH,eAAF,GAAkB;AAAC1pD,mBAAK,EAAC,IAAP;AAAYJ,mBAAK,EAAC,IAAlB;AAAuB,gCAAiB;AAAxC,aAAlB,EAA8D76E,CAAC,GAAC,KAAG,CAAC,KAAGf,CAAC,CAAC,CAAD,CAAL,KAAW,CAAX,GAAaA,CAAC,CAAC,CAAD,CAAjB,IAAsB,CAAtF,EAAwFs6B,CAAC,GAAC,MAAI,CAAC,KAAGt6B,CAAC,CAAC,EAAD,CAAL,KAAY,CAAZ,GAAcA,CAAC,CAAC,EAAD,CAAnB,CAA9F,EAAuHs6B,CAAC,GAACv5B,CAAzH,GAA4H;AAAC,kBAAI+/D,CAAC,GAAC9gE,CAAC,CAACs6B,CAAD,CAAP;AAAA,kBAAW5V,CAAC,GAAC,CAAC,KAAG1kB,CAAC,CAACs6B,CAAC,GAAC,CAAH,CAAL,KAAa,CAAb,GAAet6B,CAAC,CAACs6B,CAAC,GAAC,CAAH,CAA7B;AAAmCwmC,eAAC,KAAGwH,EAAE,CAAC08D,gBAAP,IAAyB,SAAO5pH,CAAC,CAACsqH,eAAF,CAAkB1pD,KAAlD,GAAwD5gE,CAAC,CAACsqH,eAAF,CAAkB1pD,KAAlB,GAAwBt3D,CAAhF,GAAkFo8C,CAAC,KAAGwH,EAAE,CAAC28D,gBAAP,IAAyB,SAAO7pH,CAAC,CAACsqH,eAAF,CAAkB9pD,KAAlD,GAAwDxgE,CAAC,CAACsqH,eAAF,CAAkB9pD,KAAlB,GAAwBl3D,CAAhF,GAAkFo8C,CAAC,KAAGwH,EAAE,CAAC48D,oBAAP,KAA8B9pH,CAAC,CAACsqH,eAAF,CAAkB,gBAAlB,EAAoChhH,CAApC,IAAuCo8C,CAArE,CAApK,EAA4OxmC,CAAC,IAAE,KAAG,CAAC,KAAGt6B,CAAC,CAACs6B,CAAC,GAAC,CAAH,CAAL,KAAa,CAAb,GAAet6B,CAAC,CAACs6B,CAAC,GAAC,CAAH,CAAnB,CAA/O;AAAyQ;;AAAAqM,aAAC,CAAC++F,eAAF,GAAkBtqH,CAAC,CAACsqH,eAApB;AAAoC;AAAC,SAAnzB,EAAozB,KAAKniI,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC,EAAN;AAAA,cAAS5lC,CAAC,GAAC,CAAX;AAAa,cAAG4lC,CAAC,CAACg/F,yBAAF,GAA4B,CAAC,EAAE,KAAG3lI,CAAC,CAAC,CAAD,CAAN,CAA7B,EAAwC2mC,CAAC,CAACoxF,GAAF,GAAM,KAAG/3H,CAAC,CAAC,CAAD,CAAlD,EAAsD2mC,CAAC,CAACoxF,GAAF,KAAQ,CAA9D,EAAgEpxF,CAAC,CAACoxF,GAAF,IAAO/3H,CAAC,CAAC,CAAD,CAAxE,EAA4E,IAAE,CAAC,KAAGA,CAAC,CAAC,CAAD,CAAL,MAAY,CAAd,KAAkBe,CAAC,IAAEf,CAAC,CAACe,CAAD,CAAD,GAAK,CAA1B,CAA5E,EAAyG,MAAI4lC,CAAC,CAACoxF,GAAlH,EAAsHpxF,CAAC,CAACp2B,IAAF,GAAO,KAAP,EAAa+pB,CAAC,CAACt6B,CAAC,CAACynH,QAAF,CAAW1mH,CAAX,CAAD,EAAe4lC,CAAf,CAAd,EAAgC,KAAKphC,OAAL,CAAa,MAAb,EAAoBohC,CAApB,CAAhC,CAAtH,KAAkL,IAAGA,CAAC,CAACoxF,GAAF,KAAQ,KAAK+N,MAAhB,EAAuB,KAAIn/F,CAAC,CAACp2B,IAAF,GAAO,KAAP,EAAa+pB,CAAC,CAACt6B,CAAC,CAACynH,QAAF,CAAW1mH,CAAX,CAAD,EAAe4lC,CAAf,CAAd,EAAgC,KAAKphC,OAAL,CAAa,MAAb,EAAoBohC,CAApB,CAApC,EAA2D,KAAK8+F,oBAAL,CAA0BviI,MAArF;AAA6F,iBAAK6iI,WAAL,CAAiBrgI,KAAjB,CAAuB,IAAvB,EAA4B,KAAK+/H,oBAAL,CAA0Bj1G,KAA1B,EAA5B;AAA7F,WAAvB,MAAwL,KAAK,CAAL,KAAS,KAAKk1G,eAAd,GAA8B,KAAKD,oBAAL,CAA0BliI,IAA1B,CAA+B,CAACvD,CAAD,EAAGe,CAAH,EAAK4lC,CAAL,CAA/B,CAA9B,GAAsE,KAAKo/F,WAAL,CAAiB/lI,CAAjB,EAAmBe,CAAnB,EAAqB4lC,CAArB,CAAtE;AAA8F,SAA/xC,EAAgyC,KAAKo/F,WAAL,GAAiB,UAAS/lI,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAACA,WAAC,CAACg3H,GAAF,KAAQ,KAAK2N,eAAL,CAAqB1pD,KAA7B,GAAmCj7E,CAAC,CAAC8nH,UAAF,GAAavgD,EAAE,CAAC08D,gBAAnD,GAAoEjkI,CAAC,CAACg3H,GAAF,KAAQ,KAAK2N,eAAL,CAAqB9pD,KAA7B,GAAmC76E,CAAC,CAAC8nH,UAAF,GAAavgD,EAAE,CAAC28D,gBAAnD,GAAoElkI,CAAC,CAAC8nH,UAAF,GAAa,KAAK6c,eAAL,CAAqB,gBAArB,EAAuC3kI,CAAC,CAACg3H,GAAzC,CAArJ,EAAmMh3H,CAAC,CAACwP,IAAF,GAAO,KAA1M,EAAgNxP,CAAC,CAACP,IAAF,GAAOR,CAAC,CAACynH,QAAF,CAAW9gF,CAAX,CAAvN,EAAqO,KAAKphC,OAAL,CAAa,MAAb,EAAoBxE,CAApB,CAArO;AAA4P,SAA7jD;AAA8jD,OAAzlD,EAA2lDgZ,SAA3lD,GAAqmD,IAAImpD,CAAJ,EAA/qE,EAAqrEwJ,GAAE,CAACs5D,YAAH,GAAgB;AAACC,YAAI,EAAC,EAAN;AAASC,YAAI,EAAC;AAAd,OAArsE,EAAutE,CAACv5D,GAAE,GAAC,cAAU;AAAC,iBAASryC,CAAT,CAAWt6B,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiB;AAAC,cAAIu5B,CAAJ;AAAA,cAAMwmC,CAAN;AAAA,cAAQp8C,CAAC,GAAC,IAAI0tF,UAAJ,CAAepyG,CAAC,CAACimB,IAAjB,CAAV;AAAA,cAAiC7K,CAAC,GAAC;AAAC7K,gBAAI,EAACo2B;AAAN,WAAnC;AAAA,cAA4Cg6B,CAAC,GAAC,CAA9C;AAAA,cAAgDC,CAAC,GAAC,CAAlD;;AAAoD,cAAG5gE,CAAC,CAACQ,IAAF,CAAO0C,MAAP,IAAe,EAAElD,CAAC,CAACimB,IAAF,GAAO,CAAT,CAAlB,EAA8B;AAAC,iBAAI7K,CAAC,CAAC8xG,OAAF,GAAUltH,CAAC,CAACQ,IAAF,CAAO,CAAP,EAAUu3H,GAApB,EAAwBp3D,CAAC,GAAC,CAA9B,EAAgCA,CAAC,GAAC3gE,CAAC,CAACQ,IAAF,CAAO0C,MAAzC,EAAgDy9D,CAAC,EAAjD;AAAoDG,eAAC,GAAC9gE,CAAC,CAACQ,IAAF,CAAOmgE,CAAP,CAAF,EAAYj8C,CAAC,CAAC0c,GAAF,CAAM0/B,CAAC,CAACtgE,IAAR,EAAaogE,CAAb,CAAZ,EAA4BA,CAAC,IAAEE,CAAC,CAACtgE,IAAF,CAAO2mH,UAAtC;AAApD;;AAAqG,aAAC,UAASnnH,CAAT,EAAW2mC,CAAX,EAAa;AAAC,kBAAI5lC,CAAJ;AAAM4lC,eAAC,CAACw/F,YAAF,GAAe,KAAGnmI,CAAC,CAAC,CAAD,CAAD,IAAM,CAAN,GAAQA,CAAC,CAAC,CAAD,CAAZ,CAAf,EAAgC2mC,CAAC,CAAC6+F,sBAAF,GAAyB,MAAI,IAAExlI,CAAC,CAAC,CAAD,CAAP,CAAzD,EAAqE,OAAKe,CAAC,GAACf,CAAC,CAAC,CAAD,CAAR,MAAe2mC,CAAC,CAAC2pF,GAAF,GAAM,CAAC,KAAGtwH,CAAC,CAAC,CAAD,CAAL,KAAW,EAAX,GAAc,CAAC,MAAIA,CAAC,CAAC,EAAD,CAAN,KAAa,EAA3B,GAA8B,CAAC,MAAIA,CAAC,CAAC,EAAD,CAAN,KAAa,EAA3C,GAA8C,CAAC,MAAIA,CAAC,CAAC,EAAD,CAAN,KAAa,CAA3D,GAA6D,CAAC,MAAIA,CAAC,CAAC,EAAD,CAAN,MAAc,CAAjF,EAAmF2mC,CAAC,CAAC2pF,GAAF,IAAO,CAA1F,EAA4F3pF,CAAC,CAAC2pF,GAAF,IAAO,CAAC,IAAEtwH,CAAC,CAAC,EAAD,CAAJ,MAAY,CAA/G,EAAiH2mC,CAAC,CAACwqF,GAAF,GAAMxqF,CAAC,CAAC2pF,GAAzH,EAA6H,KAAGvvH,CAAH,KAAO4lC,CAAC,CAACwqF,GAAF,GAAM,CAAC,KAAGnxH,CAAC,CAAC,EAAD,CAAL,KAAY,EAAZ,GAAe,CAAC,MAAIA,CAAC,CAAC,EAAD,CAAN,KAAa,EAA5B,GAA+B,CAAC,MAAIA,CAAC,CAAC,EAAD,CAAN,KAAa,EAA5C,GAA+C,CAAC,MAAIA,CAAC,CAAC,EAAD,CAAN,KAAa,CAA5D,GAA8D,CAAC,MAAIA,CAAC,CAAC,EAAD,CAAN,MAAc,CAAlF,EAAoF2mC,CAAC,CAACwqF,GAAF,IAAO,CAA3F,EAA6FxqF,CAAC,CAACwqF,GAAF,IAAO,CAAC,IAAEnxH,CAAC,CAAC,EAAD,CAAJ,MAAY,CAAvH,CAA5I,CAArE,EAA4U2mC,CAAC,CAACnmC,IAAF,GAAOR,CAAC,CAACynH,QAAF,CAAW,IAAEznH,CAAC,CAAC,CAAD,CAAd,CAAnV;AAAsW,aAA1X,CAA2X0kB,CAA3X,EAA6XtJ,CAA7X,CAAD,EAAiYkf,CAAC,GAAC,YAAUqM,CAAV,IAAavrB,CAAC,CAAC+qH,YAAF,IAAgBnmI,CAAC,CAACimB,IAAla,EAAua,CAACllB,CAAC,IAAEu5B,CAAJ,MAASt6B,CAAC,CAACimB,IAAF,GAAO,CAAP,EAASjmB,CAAC,CAACQ,IAAF,CAAO0C,MAAP,GAAc,CAAhC,CAAva,EAA0co3B,CAAC,IAAEc,CAAC,CAAC71B,OAAF,CAAU,MAAV,EAAiB6V,CAAjB,CAA7c;AAAie;AAAC;;AAAA,YAAIurB,CAAJ;AAAA,YAAMvL,CAAC,GAAC,IAAR;AAAA,YAAa0lC,CAAC,GAAC;AAACtgE,cAAI,EAAC,EAAN;AAASylB,cAAI,EAAC;AAAd,SAAf;AAAA,YAAgCvB,CAAC,GAAC;AAAClkB,cAAI,EAAC,EAAN;AAASylB,cAAI,EAAC;AAAd,SAAlC;AAAA,YAAmD7K,CAAC,GAAC;AAAC5a,cAAI,EAAC,EAAN;AAASylB,cAAI,EAAC;AAAd,SAArD;AAAsE0mD,WAAE,CAAC5yD,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,GAA6B,KAAKpC,IAAL,GAAU,UAASxC,CAAT,EAAW;AAAC,WAAC;AAACqlI,eAAG,EAAC,eAAU,CAAE,CAAjB;AAAkBC,eAAG,EAAC,eAAU;AAAC,kBAAIrmI,CAAJ,EAAM2mC,CAAN;;AAAQ,sBAAO5lC,CAAC,CAAC8nH,UAAT;AAAqB,qBAAKvgD,EAAE,CAAC08D,gBAAR;AAAyB,qBAAK18D,EAAE,CAAC08D,gBAAR;AAAyBhlI,mBAAC,GAAC8gE,CAAF,EAAIn6B,CAAC,GAAC,OAAN;AAAc;;AAAM,qBAAK2hC,EAAE,CAAC28D,gBAAR;AAAyBjlI,mBAAC,GAAC0kB,CAAF,EAAIiiB,CAAC,GAAC,OAAN;AAAc;;AAAM,qBAAK2hC,EAAE,CAAC48D,oBAAR;AAA6BllI,mBAAC,GAACob,CAAF,EAAIurB,CAAC,GAAC,gBAAN;AAAuB;;AAAM;AAAQ;AAA1M;;AAAiN5lC,eAAC,CAAC4kI,yBAAF,IAA6BrrG,CAAC,CAACt6B,CAAD,EAAG2mC,CAAH,EAAK,CAAC,CAAN,CAA9B,EAAuC3mC,CAAC,CAACQ,IAAF,CAAO+C,IAAP,CAAYxC,CAAZ,CAAvC,EAAsDf,CAAC,CAACimB,IAAF,IAAQllB,CAAC,CAACP,IAAF,CAAO2mH,UAArE;AAAgF,aAA1U;AAA2Umf,eAAG,EAAC,eAAU;AAAC,kBAAItmI,CAAC,GAAC;AAACuQ,oBAAI,EAAC,UAAN;AAAiBi7E,sBAAM,EAAC;AAAxB,eAAN;AAAkC,uBAAO,CAAC7kD,CAAC,GAAC5lC,CAAC,CAAC2kI,eAAL,EAAsB1pD,KAA7B,IAAoCh8E,CAAC,CAACwrF,MAAF,CAASjoF,IAAT,CAAc;AAACqhI,iCAAiB,EAAC;AAAC7X,qCAAmB,EAAC;AAArB,iBAAnB;AAA2C9rH,kBAAE,EAAC,CAAC0lC,CAAC,CAACq1C,KAAjD;AAAuD2zC,qBAAK,EAAC,KAA7D;AAAmEp/G,oBAAI,EAAC;AAAxE,eAAd,CAApC,EAAoI,SAAOo2B,CAAC,CAACi1C,KAAT,IAAgB57E,CAAC,CAACwrF,MAAF,CAASjoF,IAAT,CAAc;AAACqhI,iCAAiB,EAAC;AAAC7X,qCAAmB,EAAC;AAArB,iBAAnB;AAA2C9rH,kBAAE,EAAC,CAAC0lC,CAAC,CAACi1C,KAAjD;AAAuD+zC,qBAAK,EAAC,MAA7D;AAAoEp/G,oBAAI,EAAC;AAAzE,eAAd,CAApJ,EAAqP6qB,CAAC,CAAC71B,OAAF,CAAU,MAAV,EAAiBvF,CAAjB,CAArP;AAAyQ;AAAroB,WAAD,EAAyoBe,CAAC,CAACwP,IAA3oB;AAAmpB,SAAtsB,EAAusB,KAAKsmB,KAAL,GAAW,YAAU;AAACiqC,WAAC,CAAC76C,IAAF,GAAO,CAAP,EAAS66C,CAAC,CAACtgE,IAAF,CAAO0C,MAAP,GAAc,CAAvB,EAAyBwhB,CAAC,CAACuB,IAAF,GAAO,CAAhC,EAAkCvB,CAAC,CAAClkB,IAAF,CAAO0C,MAAP,GAAc,CAAhD,EAAkD,KAAKqC,OAAL,CAAa,OAAb,CAAlD;AAAwE,SAAryB,EAAsyB,KAAKghI,aAAL,GAAmB,YAAU;AAACjsG,WAAC,CAACwmC,CAAD,EAAG,OAAH,CAAD,EAAaxmC,CAAC,CAAC5V,CAAD,EAAG,OAAH,CAAd,EAA0B4V,CAAC,CAAClf,CAAD,EAAG,gBAAH,CAA3B;AAAgD,SAAp3B,EAAq3B,KAAKg/D,KAAL,GAAW,YAAU;AAAC,eAAKmsD,aAAL,IAAqB,KAAKhhI,OAAL,CAAa,MAAb,CAArB;AAA0C,SAAr7B;AAAs7B,OAAvrD,EAAyrDwU,SAAzrD,GAAmsD,IAAImpD,CAAJ,EAA15H;AAAg6H,UAAI4J,EAAE,GAAC;AAAC05D,eAAO,EAAC,CAAT;AAAWC,0BAAkB,EAAC,GAA9B;AAAkCC,6BAAqB,EAACj6D,GAAxD;AAA2Dk6D,4BAAoB,EAACj6D,GAAhF;AAAmFk6D,wBAAgB,EAACj6D,GAApG;AAAuGk6D,+BAAuB,EAACh6D,EAA/H;AAAkIi4D,qBAAa,EAACz8D,EAAE,CAACy8D,aAAnJ;AAAiKC,oBAAY,EAAC18D,EAAE,CAAC08D,YAAjL;AAA8L+B,sBAAc,EAACl6D;AAA7M,OAAP;;AAAwN,WAAI,IAAIG,EAAR,IAAczE,EAAd;AAAiBA,UAAE,CAAC51D,cAAH,CAAkBq6D,EAAlB,MAAwBD,EAAE,CAACC,EAAD,CAAF,GAAOzE,EAAE,CAACyE,EAAD,CAAjC;AAAjB;;AAAwD,UAAIC,GAAJ;AAAA,UAAOC,EAAE,GAACH,EAAV;AAAA,UAAaI,EAAE,GAACjH,EAAhB;AAAA,UAAmBkH,EAAE,GAAC,CAAC,IAAD,EAAM,KAAN,EAAY,IAAZ,EAAiB,IAAjB,EAAsB,KAAtB,EAA4B,IAA5B,EAAiC,IAAjC,EAAsC,KAAtC,EAA4C,IAA5C,EAAiD,IAAjD,EAAsD,KAAtD,EAA4D,GAA5D,EAAgE,IAAhE,CAAtB;;AAA4F,OAACH,GAAE,GAAC,YAASpM,CAAT,EAAW;AAAC,YAAIxlC,CAAJ;AAAA,YAAMomC,CAAC,GAAC,CAAR;AAAUwL,WAAE,CAACjzD,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,GAA6B,KAAKpC,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC,cAAI2mC,CAAJ;AAAA,cAAM5lC,CAAN;AAAA,cAAQu5B,CAAR;AAAA,cAAUwmC,CAAV;AAAA,cAAYp8C,CAAZ;AAAA,cAActJ,CAAd;AAAA,cAAgBulD,CAAC,GAAC,CAAlB;AAAoB,cAAGC,CAAC,KAAGY,CAAC,GAAC,CAAL,CAAD,EAAS,YAAUxhE,CAAC,CAACuQ,IAAxB,EAA6B,KAAI6qB,CAAC,IAAE0lC,CAAC,GAAC1lC,CAAF,EAAI,CAACA,CAAC,GAAC,IAAIg3E,UAAJ,CAAetxC,CAAC,CAACqmD,UAAF,GAAannH,CAAC,CAACQ,IAAF,CAAO2mH,UAAnC,CAAH,EAAmD/lF,GAAnD,CAAuD0/B,CAAvD,CAAJ,EAA8D1lC,CAAC,CAACgG,GAAF,CAAMphC,CAAC,CAACQ,IAAR,EAAasgE,CAAC,CAACqmD,UAAf,CAAhE,IAA4F/rF,CAAC,GAACp7B,CAAC,CAACQ,IAArG,EAA0GmgE,CAAC,GAAC,CAAF,GAAIvlC,CAAC,CAACl4B,MAAhH;AAAwH,gBAAG,QAAMk4B,CAAC,CAACulC,CAAD,CAAP,IAAY,QAAM,MAAIvlC,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAX,CAAf,EAAiC;AAAC,kBAAG5/D,CAAC,GAAC,KAAG,IAAE,CAACq6B,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAP,CAAF,EAAgBh6B,CAAC,GAAC,CAAC,IAAEvL,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAJ,KAAY,EAAZ,GAAevlC,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAD,IAAQ,CAAvB,GAAyB,CAAC,MAAIvlC,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAN,KAAc,CAAzD,EAA2DvlD,CAAC,GAAC,CAACsJ,CAAC,GAAC,QAAM,KAAG,IAAE0W,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAN,CAAN,CAAH,IAAwBuM,EAAxB,GAA2BC,EAAE,CAAC,CAAC,KAAG/xC,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAL,MAAc,CAAf,CAA1F,EAA4GrmC,CAAC,GAACqmC,CAAC,GAACh6B,CAAhH,EAAkHvL,CAAC,CAAC+rF,UAAF,GAAa7sF,CAAlI,EAAoI;AAAO,kBAAG,KAAK/0B,OAAL,CAAa,MAAb,EAAoB;AAAC+qH,mBAAG,EAACtwH,CAAC,CAACswH,GAAF,GAAM9uD,CAAC,GAACpmD,CAAb;AAAe+1G,mBAAG,EAACnxH,CAAC,CAACmxH,GAAF,GAAM3vD,CAAC,GAACpmD,CAA3B;AAA6BuxG,2BAAW,EAACjoG,CAAzC;AAA2Cu/G,+BAAe,EAAC,KAAG7oG,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAD,KAAS,CAAT,GAAW,CAAd,CAA3D;AAA4E4pD,4BAAY,EAAC,CAAC,IAAEnvF,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAJ,KAAY,CAAZ,GAAc,CAAC,MAAIvlC,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAN,MAAe,CAAtH;AAAwH8pD,0BAAU,EAACt9C,EAAE,CAAC,CAAC,KAAG/xC,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAL,MAAc,CAAf,CAArI;AAAuJujE,sCAAsB,EAAC,CAAC,KAAG9oG,CAAC,CAACulC,CAAC,GAAC,CAAH,CAAL,MAAc,CAA5L;AAA8L6pD,0BAAU,EAAC,EAAzM;AAA4MhqH,oBAAI,EAAC46B,CAAC,CAACqsF,QAAF,CAAW9mD,CAAC,GAAC,CAAF,GAAI5/D,CAAf,EAAiBu5B,CAAjB;AAAjN,eAApB,GAA2PknC,CAAC,EAA5P,EAA+PpmC,CAAC,CAAC+rF,UAAF,KAAe7sF,CAAjR,EAAmR,OAAO,MAAKc,CAAC,GAAC,KAAK,CAAZ,CAAP;AAAsBA,eAAC,GAACA,CAAC,CAACqsF,QAAF,CAAWntF,CAAX,CAAF;AAAgB,aAAte,MAA2eqmC,CAAC;AAApmB;AAAumB,SAA3sB,EAA4sB,KAAKyZ,KAAL,GAAW,YAAU;AAAC5Y,WAAC,GAAC,CAAF,EAAI,KAAKj8D,OAAL,CAAa,MAAb,CAAJ;AAAyB,SAA3vB,EAA4vB,KAAKsxB,KAAL,GAAW,YAAU;AAACuE,WAAC,GAAC,KAAK,CAAP,EAAS,KAAK71B,OAAL,CAAa,OAAb,CAAT;AAA+B,SAAjzB,EAAkzB,KAAKorH,WAAL,GAAiB,YAAU;AAACv1F,WAAC,GAAC,KAAK,CAAP,EAAS,KAAK71B,OAAL,CAAa,eAAb,CAAT;AAAuC,SAAr3B;AAAs3B,OAAh5B,EAAk5BwU,SAAl5B,GAA45B,IAAImpD,CAAJ,EAA55B;;AAAk6B,UAAIkK,GAAJ;AAAA,UAAOC,GAAP;AAAA,UAAUC,EAAV;AAAA,UAAaC,EAAE,GAACP,GAAhB;AAAA,UAAmBQ,EAAE,GAAC,SAAHA,EAAG,CAASlzC,CAAT,EAAW;AAAC,YAAIwmC,CAAC,GAACxmC,CAAC,CAAC6sF,UAAR;AAAA,YAAmBziG,CAAC,GAAC,CAArB;AAAA,YAAuBtJ,CAAC,GAAC,CAAzB;AAA2B,aAAKlY,MAAL,GAAY,YAAU;AAAC,iBAAO,IAAE49D,CAAT;AAAW,SAAlC,EAAmC,KAAKimE,aAAL,GAAmB,YAAU;AAAC,iBAAO,IAAEjmE,CAAF,GAAI1lD,CAAX;AAAa,SAA9E,EAA+E,KAAK4rH,QAAL,GAAc,YAAU;AAAC,cAAIhnI,CAAC,GAACs6B,CAAC,CAAC6sF,UAAF,GAAarmD,CAAnB;AAAA,cAAqBn6B,CAAC,GAAC,IAAIyrE,UAAJ,CAAe,CAAf,CAAvB;AAAA,cAAyCrxG,CAAC,GAAC4f,IAAI,CAACE,GAAL,CAAS,CAAT,EAAWigD,CAAX,CAA3C;AAAyD,cAAG,MAAI//D,CAAP,EAAS,MAAM,IAAImS,KAAJ,CAAU,oBAAV,CAAN;AAAsCyzB,WAAC,CAACvF,GAAF,CAAM9G,CAAC,CAACmtF,QAAF,CAAWznH,CAAX,EAAaA,CAAC,GAACe,CAAf,CAAN,GAAyB2jB,CAAC,GAAC,IAAIuiG,QAAJ,CAAatgF,CAAC,CAACh7B,MAAf,EAAuBy8G,SAAvB,CAAiC,CAAjC,CAA3B,EAA+DhtG,CAAC,GAAC,IAAEra,CAAnE,EAAqE+/D,CAAC,IAAE//D,CAAxE;AAA0E,SAA1R,EAA2R,KAAKkmI,QAAL,GAAc,UAASjnI,CAAT,EAAW;AAAC,cAAI2mC,CAAJ;AAAM3mC,WAAC,GAACob,CAAF,KAAMpb,CAAC,IAAEob,CAAH,EAAKpb,CAAC,IAAE,KAAG2mC,CAAC,GAAChmB,IAAI,CAACuE,KAAL,CAAWllB,CAAC,GAAC,CAAb,CAAL,CAAR,EAA8B8gE,CAAC,IAAEn6B,CAAjC,EAAmC,KAAKqgG,QAAL,EAAzC,GAA0DtiH,CAAC,KAAG1kB,CAA9D,EAAgEob,CAAC,IAAEpb,CAAnE;AAAqE,SAAhY,EAAiY,KAAKknI,QAAL,GAAc,UAASlnI,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAChmB,IAAI,CAACE,GAAL,CAASzF,CAAT,EAAWpb,CAAX,CAAN;AAAA,cAAoBe,CAAC,GAAC2jB,CAAC,KAAG,KAAGiiB,CAA7B;AAA+B,iBAAO,KAAGvrB,CAAC,IAAEurB,CAAN,IAASjiB,CAAC,KAAGiiB,CAAb,GAAe,IAAEm6B,CAAF,IAAK,KAAKkmE,QAAL,EAApB,EAAoC,KAAGrgG,CAAC,GAAC3mC,CAAC,GAAC2mC,CAAP,IAAU5lC,CAAC,IAAE4lC,CAAH,GAAK,KAAKugG,QAAL,CAAcvgG,CAAd,CAAf,GAAgC5lC,CAA3E;AAA6E,SAAvgB,EAAwgB,KAAKomI,gBAAL,GAAsB,YAAU;AAAC,cAAInnI,CAAJ;;AAAM,eAAIA,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACob,CAAV,EAAY,EAAEpb,CAAd;AAAgB,gBAAG,MAAI0kB,CAAC,GAAC,eAAa1kB,CAAnB,CAAH,EAAyB,OAAO0kB,CAAC,KAAG1kB,CAAJ,EAAMob,CAAC,IAAEpb,CAAT,EAAWA,CAAlB;AAAzC;;AAA6D,iBAAO,KAAKgnI,QAAL,IAAgBhnI,CAAC,GAAC,KAAKmnI,gBAAL,EAAzB;AAAiD,SAA7pB,EAA8pB,KAAKC,qBAAL,GAA2B,YAAU;AAAC,eAAKH,QAAL,CAAc,IAAE,KAAKE,gBAAL,EAAhB;AAAyC,SAA7uB,EAA8uB,KAAKE,aAAL,GAAmB,YAAU;AAAC,eAAKJ,QAAL,CAAc,IAAE,KAAKE,gBAAL,EAAhB;AAAyC,SAArzB,EAAszB,KAAKG,qBAAL,GAA2B,YAAU;AAAC,cAAItnI,CAAC,GAAC,KAAKmnI,gBAAL,EAAN;AAA8B,iBAAO,KAAKD,QAAL,CAAclnI,CAAC,GAAC,CAAhB,IAAmB,CAA1B;AAA4B,SAAt5B,EAAu5B,KAAKunI,aAAL,GAAmB,YAAU;AAAC,cAAIvnI,CAAC,GAAC,KAAKsnI,qBAAL,EAAN;AAAmC,iBAAO,IAAEtnI,CAAF,GAAI,IAAEA,CAAF,KAAM,CAAV,GAAY,CAAC,CAAD,IAAIA,CAAC,KAAG,CAAR,CAAnB;AAA8B,SAAt/B,EAAu/B,KAAKwnI,WAAL,GAAiB,YAAU;AAAC,iBAAO,MAAI,KAAKN,QAAL,CAAc,CAAd,CAAX;AAA4B,SAA/iC,EAAgjC,KAAKO,gBAAL,GAAsB,YAAU;AAAC,iBAAO,KAAKP,QAAL,CAAc,CAAd,CAAP;AAAwB,SAAzmC,EAA0mC,KAAKF,QAAL,EAA1mC;AAA0nC,OAAvrC;;AAAwrC,OAAC35D,GAAE,GAAC,cAAU;AAAC,YAAI/yC,CAAJ;AAAA,YAAMwmC,CAAN;AAAA,YAAQp8C,CAAC,GAAC,CAAV;AAAY2oD,WAAE,CAACtzD,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,GAA6B,KAAKpC,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC,eAAI,IAAI2mC,CAAJ,EAAM5lC,CAAC,GAAC,CAAC+/D,CAAC,GAACA,CAAC,IAAE,CAACn6B,CAAC,GAAC,IAAIyrE,UAAJ,CAAetxC,CAAC,CAACqmD,UAAF,GAAannH,CAAC,CAACQ,IAAF,CAAO2mH,UAAnC,CAAH,EAAmD/lF,GAAnD,CAAuD0/B,CAAvD,GAA0Dn6B,CAAC,CAACvF,GAAF,CAAMphC,CAAC,CAACQ,IAAR,EAAasgE,CAAC,CAACqmD,UAAf,CAA1D,EAAqFxgF,CAAvF,IAA0F3mC,CAAC,CAACQ,IAAhG,EAAsG2mH,UAAlH,EAA6HziG,CAAC,GAAC3jB,CAAC,GAAC,CAAjI,EAAmI2jB,CAAC,EAApI;AAAuI,gBAAG,MAAIo8C,CAAC,CAACp8C,CAAC,GAAC,CAAH,CAAR,EAAc;AAAC4V,eAAC,GAAC5V,CAAC,GAAC,CAAJ;AAAM;AAAM;AAAlK;;AAAkK,iBAAK4V,CAAC,GAACv5B,CAAP;AAAU,oBAAO+/D,CAAC,CAACxmC,CAAD,CAAR;AAAa,mBAAK,CAAL;AAAO,oBAAG,MAAIwmC,CAAC,CAACxmC,CAAC,GAAC,CAAH,CAAR,EAAc;AAACA,mBAAC,IAAE,CAAH;AAAK;AAAM;;AAAA,oBAAG,MAAIwmC,CAAC,CAACxmC,CAAC,GAAC,CAAH,CAAR,EAAc;AAACA,mBAAC;AAAG;AAAM;;AAAA,qBAAI5V,CAAC,GAAC,CAAF,KAAM4V,CAAC,GAAC,CAAR,IAAW,KAAK/0B,OAAL,CAAa,MAAb,EAAoBu7D,CAAC,CAAC2mD,QAAF,CAAW/iG,CAAC,GAAC,CAAb,EAAe4V,CAAC,GAAC,CAAjB,CAApB,CAAf,EAAwD,MAAIwmC,CAAC,CAAC,EAAExmC,CAAH,CAAL,IAAYA,CAAC,GAACv5B,CAAtE;AAAyE;AAAzE;;AAA0E2jB,iBAAC,GAAC4V,CAAC,GAAC,CAAJ,EAAMA,CAAC,IAAE,CAAT;AAAW;;AAAM,mBAAK,CAAL;AAAO,oBAAG,MAAIwmC,CAAC,CAACxmC,CAAC,GAAC,CAAH,CAAL,IAAY,MAAIwmC,CAAC,CAACxmC,CAAC,GAAC,CAAH,CAApB,EAA0B;AAACA,mBAAC,IAAE,CAAH;AAAK;AAAM;;AAAA,qBAAK/0B,OAAL,CAAa,MAAb,EAAoBu7D,CAAC,CAAC2mD,QAAF,CAAW/iG,CAAC,GAAC,CAAb,EAAe4V,CAAC,GAAC,CAAjB,CAApB,GAAyC5V,CAAC,GAAC4V,CAAC,GAAC,CAA7C,EAA+CA,CAAC,IAAE,CAAlD;AAAoD;;AAAM;AAAQA,iBAAC,IAAE,CAAH;AAAjR;AAAV;;AAAgSwmC,WAAC,GAACA,CAAC,CAAC2mD,QAAF,CAAW/iG,CAAX,CAAF,EAAgB4V,CAAC,IAAE5V,CAAnB,EAAqBA,CAAC,GAAC,CAAvB;AAAyB,SAA9gB,EAA+gB,KAAKmS,KAAL,GAAW,YAAU;AAACiqC,WAAC,GAAC,IAAF,EAAOp8C,CAAC,GAAC,CAAT,EAAW,KAAKnf,OAAL,CAAa,OAAb,CAAX;AAAiC,SAAtkB,EAAukB,KAAK60E,KAAL,GAAW,YAAU;AAACtZ,WAAC,IAAE,IAAEA,CAAC,CAACqmD,UAAP,IAAmB,KAAK5hH,OAAL,CAAa,MAAb,EAAoBu7D,CAAC,CAAC2mD,QAAF,CAAW/iG,CAAC,GAAC,CAAb,CAApB,CAAnB,EAAwDo8C,CAAC,GAAC,IAA1D,EAA+Dp8C,CAAC,GAAC,CAAjE,EAAmE,KAAKnf,OAAL,CAAa,MAAb,CAAnE;AAAwF,SAArrB,EAAsrB,KAAKorH,WAAL,GAAiB,YAAU;AAAC,eAAKv2C,KAAL,IAAa,KAAK70E,OAAL,CAAa,eAAb,CAAb;AAA2C,SAA7vB;AAA8vB,OAAzxB,EAA2xBwU,SAA3xB,GAAqyB,IAAImpD,CAAJ,EAAryB,EAA2yBoK,EAAE,GAAC;AAAC,aAAI,CAAC,CAAN;AAAQ,aAAI,CAAC,CAAb;AAAe,aAAI,CAAC,CAApB;AAAsB,aAAI,CAAC,CAA3B;AAA6B,YAAG,CAAC,CAAjC;AAAmC,YAAG,CAAC,CAAvC;AAAyC,YAAG,CAAC,CAA7C;AAA+C,aAAI,CAAC,CAApD;AAAsD,aAAI,CAAC,CAA3D;AAA6D,aAAI,CAAC,CAAlE;AAAoE,aAAI,CAAC,CAAzE;AAA2E,aAAI,CAAC;AAAhF,OAA9yB,EAAi4B,CAACF,GAAE,GAAC,cAAU;AAAC,YAAIrsE,CAAJ;AAAA,YAAMu5B,CAAN;AAAA,YAAQwmC,CAAR;AAAA,YAAUp8C,CAAV;AAAA,YAAYtJ,CAAZ;AAAA,YAAculD,CAAd;AAAA,YAAgBxkC,CAAhB;AAAA,YAAkBwK,CAAC,GAAC,IAAI0mC,GAAJ,EAApB;;AAA2BD,WAAE,CAACrzD,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,GAA6B,CAAC5E,CAAC,GAAC,IAAH,EAASwC,IAAT,GAAc,UAASvD,CAAT,EAAW;AAAC,sBAAUA,CAAC,CAACuQ,IAAZ,KAAmB+pB,CAAC,GAACt6B,CAAC,CAACktH,OAAJ,EAAYpsD,CAAC,GAAC9gE,CAAC,CAACswH,GAAhB,EAAoB5rG,CAAC,GAAC1kB,CAAC,CAACmxH,GAAxB,EAA4BxqF,CAAC,CAACpjC,IAAF,CAAOvD,CAAP,CAA/C;AAA0D,SAAjH,EAAkH2mC,CAAC,CAACtkC,EAAF,CAAK,MAAL,EAAY,UAASrC,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC;AAACumF,mBAAO,EAAC5yF,CAAT;AAAWg2F,eAAG,EAACxvD,CAAf;AAAiBqwD,eAAG,EAACzsG,CAArB;AAAuBlkB,gBAAI,EAACR;AAA5B,WAAN;;AAAqC,kBAAO,KAAGA,CAAC,CAAC,CAAD,CAAX;AAAgB,iBAAK,CAAL;AAAO2mC,eAAC,CAACsqF,WAAF,GAAc,2CAAd;AAA0D;;AAAM,iBAAK,CAAL;AAAOtqF,eAAC,CAACsqF,WAAF,GAAc,UAAd,EAAyBtqF,CAAC,CAACuqF,WAAF,GAAc91G,CAAC,CAACpb,CAAC,CAACynH,QAAF,CAAW,CAAX,CAAD,CAAxC;AAAwD;;AAAM,iBAAK,CAAL;AAAO9gF,eAAC,CAACsqF,WAAF,GAAc,wBAAd,EAAuCtqF,CAAC,CAACuqF,WAAF,GAAc91G,CAAC,CAACpb,CAAC,CAACynH,QAAF,CAAW,CAAX,CAAD,CAAtD,EAAsE9gF,CAAC,CAACh6B,MAAF,GAASg0D,CAAC,CAACh6B,CAAC,CAACuqF,WAAH,CAAhF;AAAgG;;AAAM,iBAAK,CAAL;AAAOvqF,eAAC,CAACsqF,WAAF,GAAc,wBAAd;AAAuC;;AAAM,iBAAK,CAAL;AAAOtqF,eAAC,CAACsqF,WAAF,GAAc,4BAAd;AAApU;;AAA+WlwH,WAAC,CAACwE,OAAF,CAAU,MAAV,EAAiBohC,CAAjB;AAAoB,SAAhc,CAAlH,EAAojBA,CAAC,CAACtkC,EAAF,CAAK,MAAL,EAAY,YAAU;AAACtB,WAAC,CAACwE,OAAF,CAAU,MAAV;AAAkB,SAAzC,CAApjB,EAA+lBohC,CAAC,CAACtkC,EAAF,CAAK,aAAL,EAAmB,YAAU;AAACtB,WAAC,CAACwE,OAAF,CAAU,aAAV;AAAyB,SAAvD,CAA/lB,EAAwpBohC,CAAC,CAACtkC,EAAF,CAAK,OAAL,EAAa,YAAU;AAACtB,WAAC,CAACwE,OAAF,CAAU,OAAV;AAAmB,SAA3C,CAAxpB,EAAqsBohC,CAAC,CAACtkC,EAAF,CAAK,eAAL,EAAqB,YAAU;AAACtB,WAAC,CAACwE,OAAF,CAAU,eAAV;AAA2B,SAA3D,CAArsB,EAAkwB,KAAK60E,KAAL,GAAW,YAAU;AAACzzC,WAAC,CAACyzC,KAAF;AAAU,SAAlyB,EAAmyB,KAAKs2C,YAAL,GAAkB,YAAU;AAAC/pF,WAAC,CAAC+pF,YAAF;AAAiB,SAAj1B,EAAk1B,KAAK75F,KAAL,GAAW,YAAU;AAAC8P,WAAC,CAAC9P,KAAF;AAAU,SAAl3B,EAAm3B,KAAK85F,WAAL,GAAiB,YAAU;AAAChqF,WAAC,CAACgqF,WAAF;AAAgB,SAA/5B,EAAg6Bx0F,CAAC,GAAC,WAASn8B,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAI5lC,CAAJ;AAAA,cAAMu5B,CAAC,GAAC,CAAR;AAAA,cAAUwmC,CAAC,GAAC,CAAZ;;AAAc,eAAI//D,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACf,CAAV,EAAYe,CAAC,EAAb;AAAgB,kBAAI+/D,CAAJ,KAAQA,CAAC,GAAC,CAACxmC,CAAC,GAACqM,CAAC,CAAC4gG,aAAF,EAAF,GAAoB,GAArB,IAA0B,GAApC,GAAyCjtG,CAAC,GAAC,MAAIwmC,CAAJ,GAAMxmC,CAAN,GAAQwmC,CAAnD;AAAhB;AAAqE,SAAngC,EAAogC1lD,CAAC,GAAC,WAASpb,CAAT,EAAW;AAAC,eAAI,IAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAC,GAACt6B,CAAC,CAACmnH,UAAZ,EAAuBrmD,CAAC,GAAC,EAAzB,EAA4Bp8C,CAAC,GAAC,CAAlC,EAAoCA,CAAC,GAAC4V,CAAC,GAAC,CAAxC;AAA2C,kBAAIt6B,CAAC,CAAC0kB,CAAD,CAAL,IAAU,MAAI1kB,CAAC,CAAC0kB,CAAC,GAAC,CAAH,CAAf,IAAsB,MAAI1kB,CAAC,CAAC0kB,CAAC,GAAC,CAAH,CAA3B,IAAkCo8C,CAAC,CAACv9D,IAAF,CAAOmhB,CAAC,GAAC,CAAT,GAAYA,CAAC,IAAE,CAAjD,IAAoDA,CAAC,EAArD;AAA3C;;AAAmG,cAAG,MAAIo8C,CAAC,CAAC59D,MAAT,EAAgB,OAAOlD,CAAP;AAAS2mC,WAAC,GAACrM,CAAC,GAACwmC,CAAC,CAAC59D,MAAN,EAAanC,CAAC,GAAC,IAAIqxG,UAAJ,CAAezrE,CAAf,CAAf;AAAiC,cAAIvrB,CAAC,GAAC,CAAN;;AAAQ,eAAIsJ,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACiiB,CAAV,EAAYvrB,CAAC,IAAGsJ,CAAC,EAAjB;AAAoBtJ,aAAC,KAAG0lD,CAAC,CAAC,CAAD,CAAL,KAAW1lD,CAAC,IAAG0lD,CAAC,CAACtwC,KAAF,EAAf,GAA0BzvB,CAAC,CAAC2jB,CAAD,CAAD,GAAK1kB,CAAC,CAACob,CAAD,CAAhC;AAApB;;AAAwD,iBAAOra,CAAP;AAAS,SAAxvC,EAAyvC4/D,CAAC,GAAC,WAAS3gE,CAAT,EAAW;AAAC,cAAI2mC,CAAJ;AAAA,cAAM5lC,CAAN;AAAA,cAAQu5B,CAAR;AAAA,cAAUwmC,CAAV;AAAA,cAAYp8C,CAAZ;AAAA,cAActJ,CAAd;AAAA,cAAgBulD,CAAhB;AAAA,cAAkBC,CAAlB;AAAA,cAAoBxlC,CAApB;AAAA,cAAsBomC,CAAtB;AAAA,cAAwBf,CAAxB;AAAA,cAA0BC,CAA1B;AAAA,cAA4BttB,CAA5B;AAAA,cAA8BkuB,CAAC,GAAC,CAAhC;AAAA,cAAkC/xC,CAAC,GAAC,CAApC;AAAA,cAAsCmyC,CAAC,GAAC,CAAxC;AAAA,cAA0CzkC,CAAC,GAAC,CAA5C;AAAA,cAA8C3a,CAAC,GAAC,CAAhD;AAAkD,cAAGvhB,CAAC,GAAC,CAAC4lC,CAAC,GAAC,IAAI6mC,EAAJ,CAAOxtE,CAAP,CAAH,EAAcynI,gBAAd,EAAF,EAAmC3mE,CAAC,GAACn6B,CAAC,CAAC8gG,gBAAF,EAArC,EAA0DntG,CAAC,GAACqM,CAAC,CAAC8gG,gBAAF,EAA5D,EAAiF9gG,CAAC,CAACygG,qBAAF,EAAjF,EAA2G95D,EAAE,CAACvsE,CAAD,CAAF,KAAQ,OAAK2jB,CAAC,GAACiiB,CAAC,CAAC2gG,qBAAF,EAAP,KAAmC3gG,CAAC,CAACsgG,QAAF,CAAW,CAAX,CAAnC,EAAiDtgG,CAAC,CAACygG,qBAAF,EAAjD,EAA2EzgG,CAAC,CAACygG,qBAAF,EAA3E,EAAqGzgG,CAAC,CAACsgG,QAAF,CAAW,CAAX,CAArG,EAAmHtgG,CAAC,CAAC6gG,WAAF,EAA3H,CAA9G,EAA0P,KAAI/mE,CAAC,GAAC,MAAI/7C,CAAJ,GAAM,CAAN,GAAQ,EAAV,EAAa0uB,CAAC,GAAC,CAAnB,EAAqBA,CAAC,GAACqtB,CAAvB,EAAyBrtB,CAAC,EAA1B;AAA6BzM,aAAC,CAAC6gG,WAAF,MAAiBrrG,CAAC,CAACiX,CAAC,GAAC,CAAF,GAAI,EAAJ,GAAO,EAAR,EAAWzM,CAAX,CAAlB;AAA7B;AAA6D,cAAGA,CAAC,CAACygG,qBAAF,IAA0B,OAAKhsH,CAAC,GAACurB,CAAC,CAAC2gG,qBAAF,EAAP,CAA7B,EAA+D3gG,CAAC,CAAC2gG,qBAAF,GAA/D,KAA8F,IAAG,MAAIlsH,CAAP,EAAS,KAAIurB,CAAC,CAACsgG,QAAF,CAAW,CAAX,GAActgG,CAAC,CAAC0gG,aAAF,EAAd,EAAgC1gG,CAAC,CAAC0gG,aAAF,EAAhC,EAAkD1mE,CAAC,GAACh6B,CAAC,CAAC2gG,qBAAF,EAApD,EAA8El0F,CAAC,GAAC,CAApF,EAAsFA,CAAC,GAACutB,CAAxF,EAA0FvtB,CAAC,EAA3F;AAA8FzM,aAAC,CAAC0gG,aAAF;AAA9F;;AAAgH,cAAG1gG,CAAC,CAACygG,qBAAF,IAA0BzgG,CAAC,CAACsgG,QAAF,CAAW,CAAX,CAA1B,EAAwCrmE,CAAC,GAACj6B,CAAC,CAAC2gG,qBAAF,EAA1C,EAAoElsG,CAAC,GAACuL,CAAC,CAAC2gG,qBAAF,EAAtE,EAAgG,OAAK9lE,CAAC,GAAC76B,CAAC,CAACugG,QAAF,CAAW,CAAX,CAAP,KAAuBvgG,CAAC,CAACsgG,QAAF,CAAW,CAAX,CAAvH,EAAqItgG,CAAC,CAACsgG,QAAF,CAAW,CAAX,CAArI,EAAmJtgG,CAAC,CAAC6gG,WAAF,OAAkBlmE,CAAC,GAAC36B,CAAC,CAAC2gG,qBAAF,EAAF,EAA4B/3G,CAAC,GAACoX,CAAC,CAAC2gG,qBAAF,EAA9B,EAAwD5lE,CAAC,GAAC/6B,CAAC,CAAC2gG,qBAAF,EAA1D,EAAoFrqG,CAAC,GAAC0J,CAAC,CAAC2gG,qBAAF,EAAxG,CAAnJ,EAAsR3gG,CAAC,CAAC6gG,WAAF,MAAiB7gG,CAAC,CAAC6gG,WAAF,EAA1S,EAA0T;AAAC,oBAAO7gG,CAAC,CAAC8gG,gBAAF,EAAP;AAA6B,mBAAK,CAAL;AAAO/mE,iBAAC,GAAC,CAAC,CAAD,EAAG,CAAH,CAAF;AAAQ;;AAAM,mBAAK,CAAL;AAAOA,iBAAC,GAAC,CAAC,EAAD,EAAI,EAAJ,CAAF;AAAU;;AAAM,mBAAK,CAAL;AAAOA,iBAAC,GAAC,CAAC,EAAD,EAAI,EAAJ,CAAF;AAAU;;AAAM,mBAAK,CAAL;AAAOA,iBAAC,GAAC,CAAC,EAAD,EAAI,EAAJ,CAAF;AAAU;;AAAM,mBAAK,CAAL;AAAOA,iBAAC,GAAC,CAAC,EAAD,EAAI,EAAJ,CAAF;AAAU;;AAAM,mBAAK,CAAL;AAAOA,iBAAC,GAAC,CAAC,EAAD,EAAI,EAAJ,CAAF;AAAU;;AAAM,mBAAK,CAAL;AAAOA,iBAAC,GAAC,CAAC,EAAD,EAAI,EAAJ,CAAF;AAAU;;AAAM,mBAAK,CAAL;AAAOA,iBAAC,GAAC,CAAC,EAAD,EAAI,EAAJ,CAAF;AAAU;;AAAM,mBAAK,CAAL;AAAOA,iBAAC,GAAC,CAAC,EAAD,EAAI,EAAJ,CAAF;AAAU;;AAAM,mBAAK,EAAL;AAAQA,iBAAC,GAAC,CAAC,EAAD,EAAI,EAAJ,CAAF;AAAU;;AAAM,mBAAK,EAAL;AAAQA,iBAAC,GAAC,CAAC,EAAD,EAAI,EAAJ,CAAF;AAAU;;AAAM,mBAAK,EAAL;AAAQA,iBAAC,GAAC,CAAC,EAAD,EAAI,EAAJ,CAAF;AAAU;;AAAM,mBAAK,EAAL;AAAQA,iBAAC,GAAC,CAAC,GAAD,EAAK,EAAL,CAAF;AAAW;;AAAM,mBAAK,EAAL;AAAQA,iBAAC,GAAC,CAAC,CAAD,EAAG,CAAH,CAAF;AAAQ;;AAAM,mBAAK,EAAL;AAAQA,iBAAC,GAAC,CAAC,CAAD,EAAG,CAAH,CAAF;AAAQ;;AAAM,mBAAK,EAAL;AAAQA,iBAAC,GAAC,CAAC,CAAD,EAAG,CAAH,CAAF;AAAQ;;AAAM,mBAAK,GAAL;AAASA,iBAAC,GAAC,CAAC/5B,CAAC,CAAC8gG,gBAAF,MAAsB,CAAtB,GAAwB9gG,CAAC,CAAC8gG,gBAAF,EAAzB,EAA8C9gG,CAAC,CAAC8gG,gBAAF,MAAsB,CAAtB,GAAwB9gG,CAAC,CAAC8gG,gBAAF,EAAtE,CAAF;AAAtZ;;AAAof/mE,aAAC,KAAGp+C,CAAC,GAACo+C,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAX,CAAD;AAAiB;;AAAA,iBAAM;AAACyjE,sBAAU,EAACpjI,CAAZ;AAAcqjI,oBAAQ,EAAC9pG,CAAvB;AAAyButF,gCAAoB,EAAC/mD,CAA9C;AAAgD9vD,iBAAK,EAAC2P,IAAI,CAAC6wB,IAAL,CAAU,CAAC,MAAIovB,CAAC,GAAC,CAAN,IAAS,IAAEU,CAAX,GAAa,IAAE/xC,CAAhB,IAAmBjN,CAA7B,CAAtD;AAAsFvR,kBAAM,EAAC,CAAC,IAAEywD,CAAH,KAAOpmC,CAAC,GAAC,CAAT,IAAY,EAAZ,GAAe,IAAEsmC,CAAjB,GAAmB,IAAEzkC,CAAlH;AAAoHonG,oBAAQ,EAAC3jE;AAA7H,WAAN;AAAsI,SAA7wF;AAA8wF,OAAxzF,EAA0zF3mD,SAA1zF,GAAo0F,IAAImpD,CAAJ,EAArsH;;AAA2sH,UAAIuK,GAAJ;AAAA,UAAOC,EAAE,GAAC;AAACg6D,kBAAU,EAACt6D,GAAZ;AAAeu6D,qBAAa,EAACt6D;AAA7B,OAAV;AAAA,UAA2CQ,EAAE,GAAC,SAAHA,EAAG,CAAS7tE,CAAT,EAAW;AAAC,eAAOA,CAAC,CAAC,CAAD,CAAD,KAAO,IAAI8uB,UAAJ,CAAe,CAAf,CAAP,IAA0B9uB,CAAC,CAAC,CAAD,CAAD,KAAO,IAAI8uB,UAAJ,CAAe,CAAf,CAAjC,IAAoD9uB,CAAC,CAAC,CAAD,CAAD,KAAO,IAAI8uB,UAAJ,CAAe,CAAf,CAAlE;AAAoF,OAA9I;AAAA,UAA+Ig/C,EAAE,GAAC,SAAHA,EAAG,CAAS9tE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAACf,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAD,IAAQ,EAAR,GAAW3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAD,IAAQ,EAAnB,GAAsB3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAD,IAAQ,CAA9B,GAAgC3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAvC;AAA6C,eAAM,CAAC,KAAG3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAL,KAAa,CAAb,GAAe,KAAG5lC,CAAlB,GAAoB,KAAGA,CAA7B;AAA+B,OAA5O;AAAA,UAA6OgtE,EAAE,GAAC,SAAHA,EAAG,CAAS/tE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC,CAAC,MAAIf,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAN,KAAc,CAApB;AAAA,YAAsBrM,CAAC,GAACt6B,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAD,IAAQ,CAAhC;AAAkC,eAAO,OAAK3mC,CAAC,CAAC2mC,CAAC,GAAC,CAAH,CAAN,GAAYrM,CAAZ,GAAcv5B,CAArB;AAAuB,OAAvT;;AAAwT,OAAC0sE,GAAE,GAAC,cAAU;AAAC,YAAI9M,CAAC,GAAC,IAAIyxC,UAAJ,EAAN;AAAA,YAAqBxxC,CAAC,GAAC,CAAvB;AAAyB6M,WAAE,CAAC1zD,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,GAA6B,KAAKiiI,YAAL,GAAkB,UAAS5nI,CAAT,EAAW;AAAC4gE,WAAC,GAAC5gE,CAAF;AAAI,SAA/D,EAAgE,KAAKuD,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC,cAAI2mC,CAAJ;AAAA,cAAM5lC,CAAN;AAAA,cAAQu5B,CAAR;AAAA,cAAUwmC,CAAV;AAAA,cAAYp8C,CAAC,GAAC,CAAd;AAAA,cAAgBtJ,CAAC,GAAC,CAAlB;;AAAoB,eAAIulD,CAAC,CAACz9D,MAAF,IAAU49D,CAAC,GAACH,CAAC,CAACz9D,MAAJ,EAAW,CAACy9D,CAAC,GAAC,IAAIyxC,UAAJ,CAAepyG,CAAC,CAACmnH,UAAF,GAAarmD,CAA5B,CAAH,EAAmC1/B,GAAnC,CAAuCu/B,CAAC,CAAC8mD,QAAF,CAAW,CAAX,EAAa3mD,CAAb,CAAvC,CAAX,EAAmEH,CAAC,CAACv/B,GAAF,CAAMphC,CAAN,EAAQ8gE,CAAR,CAA7E,IAAyFH,CAAC,GAAC3gE,CAA/F,EAAiG,KAAG2gE,CAAC,CAACz9D,MAAF,GAASkY,CAA7G;AAAgH,gBAAGulD,CAAC,CAACvlD,CAAD,CAAD,KAAO,IAAI0T,UAAJ,CAAe,CAAf,CAAP,IAA0B6xC,CAAC,CAACvlD,CAAC,GAAC,CAAH,CAAD,KAAS,IAAI0T,UAAJ,CAAe,CAAf,CAAnC,IAAsD6xC,CAAC,CAACvlD,CAAC,GAAC,CAAH,CAAD,KAAS,IAAI0T,UAAJ,CAAe,CAAf,CAAlE;AAAoF,kBAAG,QAAM,MAAI6xC,CAAC,CAACvlD,CAAD,CAAX,KAAiB,QAAM,MAAIulD,CAAC,CAACvlD,CAAC,GAAC,CAAH,CAAX,CAApB,EAAsCA,CAAC,GAAvC,KAA8C;AAAC,oBAAGulD,CAAC,CAACz9D,MAAF,GAASkY,CAAT,GAAW,CAAd,EAAgB;AAAM,oBAAGA,CAAC,IAAEsJ,CAAC,GAACqpD,EAAE,CAACpN,CAAD,EAAGvlD,CAAH,CAAN,CAAD,GAAculD,CAAC,CAACz9D,MAAnB,EAA0B;AAAMo3B,iBAAC,GAAC;AAAC/pB,sBAAI,EAAC,OAAN;AAAc/P,sBAAI,EAACmgE,CAAC,CAAC8mD,QAAF,CAAWrsG,CAAX,EAAaA,CAAC,GAACsJ,CAAf,CAAnB;AAAqC4rG,qBAAG,EAAC1vD,CAAzC;AAA2CuwD,qBAAG,EAACvwD;AAA/C,iBAAF,EAAoD,KAAKr7D,OAAL,CAAa,MAAb,EAAoB+0B,CAApB,CAApD,EAA2Elf,CAAC,IAAEsJ,CAA9E;AAAgF;AAAzQ,mBAA6Q;AAAC,kBAAGi8C,CAAC,CAACz9D,MAAF,GAASkY,CAAT,GAAW,EAAd,EAAiB;AAAM,kBAAGA,CAAC,IAAEsJ,CAAC,GAACopD,EAAE,CAACnN,CAAD,EAAGvlD,CAAH,CAAN,CAAD,GAAculD,CAAC,CAACz9D,MAAnB,EAA0B;AAAMnC,eAAC,GAAC;AAACwP,oBAAI,EAAC,gBAAN;AAAuB/P,oBAAI,EAACmgE,CAAC,CAAC8mD,QAAF,CAAWrsG,CAAX,EAAaA,CAAC,GAACsJ,CAAf;AAA5B,eAAF,EAAiD,KAAKnf,OAAL,CAAa,MAAb,EAAoBxE,CAApB,CAAjD,EAAwEqa,CAAC,IAAEsJ,CAA3E;AAA6E;AAAlgB;;AAAkgBiiB,WAAC,GAACg6B,CAAC,CAACz9D,MAAF,GAASkY,CAAX,EAAaulD,CAAC,GAAC,IAAEh6B,CAAF,GAAIg6B,CAAC,CAAC8mD,QAAF,CAAWrsG,CAAX,CAAJ,GAAkB,IAAIg3F,UAAJ,EAAjC;AAAgD,SAA5pB,EAA6pB,KAAKv7E,KAAL,GAAW,YAAU;AAAC8pC,WAAC,GAAC,IAAIyxC,UAAJ,EAAF,EAAiB,KAAK7sG,OAAL,CAAa,OAAb,CAAjB;AAAuC,SAA1tB,EAA2tB,KAAKorH,WAAL,GAAiB,YAAU;AAAChwD,WAAC,GAAC,IAAIyxC,UAAJ,EAAF,EAAiB,KAAK7sG,OAAL,CAAa,eAAb,CAAjB;AAA+C,SAAtyB;AAAuyB,OAA/0B,EAAi1BwU,SAAj1B,GAA21B,IAAImpD,CAAJ,EAA31B;;AAAi2B,eAAS8K,EAAT,CAAYhuE,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,YAAI5lC,CAAJ;AAAM,YAAGf,CAAC,CAACkD,MAAF,KAAWyjC,CAAC,CAACzjC,MAAhB,EAAuB,OAAM,CAAC,CAAP;;AAAS,aAAInC,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACf,CAAC,CAACkD,MAAZ,EAAmBnC,CAAC,EAApB;AAAuB,cAAGf,CAAC,CAACe,CAAD,CAAD,KAAO4lC,CAAC,CAAC5lC,CAAD,CAAX,EAAe,OAAM,CAAC,CAAP;AAAtC;;AAA+C,eAAM,CAAC,CAAP;AAAS;;AAAA,eAASktE,EAAT,CAAYjuE,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoBwmC,CAApB,EAAsBp8C,CAAtB,EAAwB;AAAC,eAAM;AAAClD,eAAK,EAAC;AAAC2vG,eAAG,EAACnxH,CAAL;AAAOswH,eAAG,EAACtwH,CAAC,IAAEe,CAAC,GAAC4lC,CAAJ;AAAZ,WAAP;AAA2Bjd,aAAG,EAAC;AAACynG,eAAG,EAACnxH,CAAC,IAAEs6B,CAAC,GAACqM,CAAJ,CAAN;AAAa2pF,eAAG,EAACtwH,CAAC,IAAE8gE,CAAC,GAAC//D,CAAJ;AAAlB,WAA/B;AAAyD8mI,kCAAwB,EAACnjH,CAAlF;AAAoFqoG,6BAAmB,EAAC/sH;AAAxG,SAAN;AAAiH;;AAAA,UAAImvE,GAAJ;AAAA,UAAOjzB,GAAP;AAAA,UAAUkzB,GAAV;AAAA,UAAaC,GAAb;AAAA,UAAgBC,EAAE,GAAC7B,GAAnB;AAAA,UAAsB8B,EAAE,GAAC7B,EAAE,CAACg6D,UAA5B;AAAA,UAAuCj4D,EAAE,GAAC5B,EAA1C;AAAA,UAA6C6B,EAAE,GAACzJ,EAAhD;AAAA,UAAmD0J,EAAE,GAAC,CAAC,iBAAD,EAAmB,cAAnB,EAAkC,YAAlC,EAA+C,wBAA/C,EAAwE,YAAxE,CAAtD;AAAA,UAA4IC,EAAE,GAAC,CAAC,OAAD,EAAS,QAAT,EAAkB,YAAlB,EAA+B,UAA/B,EAA0C,sBAA1C,EAAiE,UAAjE,CAA/I;;AAA4N,OAAC1zB,GAAE,GAAC,YAASx3B,CAAT,EAAWtJ,CAAX,EAAa;AAAC,YAAIulD,CAAC,GAAC,EAAN;AAAA,YAASC,CAAC,GAAC,CAAX;AAAA,YAAaxlC,CAAC,GAAC,CAAf;AAAA,YAAiBomC,CAAC,GAAC,CAAnB;AAAA,YAAqBf,CAAC,GAAC,IAAE,CAAzB;AAA2BrlD,SAAC,GAACA,CAAC,IAAE,EAAL,EAAQ8gC,GAAE,CAACniC,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,CAAR,EAAqC,KAAKpC,IAAL,GAAU,UAASojC,CAAT,EAAW;AAACigC,YAAE,CAACliD,CAAD,EAAGiiB,CAAH,CAAF,EAAQjiB,CAAC,IAAEirD,EAAE,CAAC5mE,OAAH,CAAW,UAAS/I,CAAT,EAAW;AAAC0kB,aAAC,CAAC1kB,CAAD,CAAD,GAAK2mC,CAAC,CAAC3mC,CAAD,CAAN;AAAU,WAAjC,CAAX,EAA8C2gE,CAAC,CAACp9D,IAAF,CAAOojC,CAAP,CAA9C;AAAwD,SAAnH,EAAoH,KAAKmhG,cAAL,GAAoB,UAAS9nI,CAAT,EAAW;AAACo7B,WAAC,GAACp7B,CAAC,GAAC0kB,CAAC,CAACkgH,iBAAF,CAAoB7X,mBAAxB;AAA4C,SAAhM,EAAiM,KAAKgb,2BAAL,GAAiC,UAAS/nI,CAAT,EAAW;AAACygE,WAAC,GAACzgE,CAAF;AAAI,SAAlP,EAAmP,KAAKgoI,mBAAL,GAAyB,UAAShoI,CAAT,EAAW;AAACwhE,WAAC,GAACxhE,CAAF;AAAI,SAA5R,EAA6R,KAAKo6E,KAAL,GAAW,YAAU;AAAC,cAAIp6E,CAAJ,EAAM2mC,CAAN,EAAQ5lC,CAAR,EAAUu5B,CAAV,EAAYwmC,CAAZ;AAAc,gBAAIH,CAAC,CAACz9D,MAAN,KAAelD,CAAC,GAACsmE,EAAE,CAAC3F,CAAD,EAAGj8C,CAAH,EAAK0W,CAAL,CAAJ,EAAY1W,CAAC,CAACqoG,mBAAF,GAAsBpmD,EAAE,CAACjiD,CAAD,EAAGtJ,CAAC,CAAC6sH,sBAAL,CAApC,EAAiE5hE,EAAE,CAAC3hD,CAAD,EAAG1kB,CAAH,EAAKwhE,CAAL,EAAOf,CAAP,CAAnE,EAA6E/7C,CAAC,CAAC0mG,OAAF,GAAU7kD,EAAE,CAACvmE,CAAD,CAAzF,EAA6Fe,CAAC,GAAC8jE,CAAC,CAAC2B,EAAE,CAACxmE,CAAD,CAAH,CAAhG,EAAwG2gE,CAAC,GAAC,EAA1G,EAA6Gh6B,CAAC,GAACm+B,CAAC,CAAClE,CAAD,EAAG,CAACl8C,CAAD,CAAH,CAAhH,EAAwH4V,CAAC,GAAC,IAAI83E,UAAJ,CAAezrE,CAAC,CAACwgF,UAAF,GAAapmH,CAAC,CAAComH,UAA9B,CAA1H,EAAoKvmD,CAAC,EAArK,EAAwKtmC,CAAC,CAAC8G,GAAF,CAAMuF,CAAN,CAAxK,EAAiLrM,CAAC,CAAC8G,GAAF,CAAMrgC,CAAN,EAAQ4lC,CAAC,CAACwgF,UAAV,CAAjL,EAAuMzgD,EAAE,CAAChiD,CAAD,CAAzM,EAA6Mo8C,CAAC,GAACngD,IAAI,CAAC6wB,IAAL,CAAU,OAAKk+B,EAAL,GAAQhrD,CAAC,CAAC+lG,UAApB,CAA/M,EAA+OzqH,CAAC,CAACkD,MAAF,IAAU,KAAKqC,OAAL,CAAa,YAAb,EAA0B;AAACic,iBAAK,EAACxhB,CAAC,CAAC,CAAD,CAAD,CAAKswH,GAAZ;AAAgB5mG,eAAG,EAAC1pB,CAAC,CAAC,CAAD,CAAD,CAAKswH,GAAL,GAAStwH,CAAC,CAACkD,MAAF,GAAS49D;AAAtC,WAA1B,CAAzP,EAA6T,KAAKv7D,OAAL,CAAa,MAAb,EAAoB;AAACirE,iBAAK,EAAC9rD,CAAP;AAAS8kG,iBAAK,EAAClvF;AAAf,WAApB,CAA5U,GAAoX,KAAK/0B,OAAL,CAAa,MAAb,EAAoB,oBAApB,CAApX;AAA8Z,SAA/tB,EAAguB,KAAKsxB,KAAL,GAAW,YAAU;AAAC6vC,YAAE,CAAChiD,CAAD,CAAF,EAAMi8C,CAAC,GAAC,EAAR,EAAW,KAAKp7D,OAAL,CAAa,OAAb,CAAX;AAAiC,SAAvxB;AAAwxB,OAAr0B,EAAu0BwU,SAAv0B,GAAi1B,IAAImpD,CAAJ,EAAj1B,EAAu1B,CAACiM,GAAE,GAAC,YAAS3N,CAAT,EAAWf,CAAX,EAAa;AAAC,YAAI95B,CAAJ;AAAA,YAAM5lC,CAAN;AAAA,YAAQ2/D,CAAC,GAAC,CAAV;AAAA,YAAYttB,CAAC,GAAC,EAAd;AAAA,YAAiBkuB,CAAC,GAAC,EAAnB;AAAsBb,SAAC,GAACA,CAAC,IAAE,EAAL,EAAQ0O,GAAE,CAACp1D,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,CAAR,EAAqC,OAAO67D,CAAC,CAAC0mE,MAA9C,EAAqD,KAAKC,SAAL,GAAe,EAApE,EAAuE,KAAK5kI,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC4mE,YAAE,CAACpF,CAAD,EAAGxhE,CAAH,CAAF,EAAQ,6BAA2BA,CAAC,CAACixH,WAA7B,IAA0CtqF,CAA1C,KAA8CA,CAAC,GAAC3mC,CAAC,CAAC2M,MAAJ,EAAW60D,CAAC,CAACwmD,GAAF,GAAM,CAAChoH,CAAC,CAACQ,IAAH,CAAjB,EAA0BovE,EAAE,CAAC7mE,OAAH,CAAW,UAAS/I,CAAT,EAAW;AAACwhE,aAAC,CAACxhE,CAAD,CAAD,GAAK2mC,CAAC,CAAC3mC,CAAD,CAAN;AAAU,WAAjC,EAAkC,IAAlC,CAAxE,CAAR,EAAyH,6BAA2BA,CAAC,CAACixH,WAA7B,IAA0ClwH,CAA1C,KAA8CA,CAAC,GAACf,CAAC,CAACQ,IAAJ,EAASghE,CAAC,CAACymD,GAAF,GAAM,CAACjoH,CAAC,CAACQ,IAAH,CAA7D,CAAzH,EAAgM4yC,CAAC,CAAC7vC,IAAF,CAAOvD,CAAP,CAAhM;AAA0M,SAAvS,EAAwS,KAAKo6E,KAAL,GAAW,YAAU;AAAC,eAAI,IAAIp6E,CAAJ,EAAM2mC,CAAN,EAAQ5lC,CAAR,EAAUu5B,CAAV,EAAYwmC,CAAZ,EAAcp8C,CAAd,EAAgBtJ,CAAhB,EAAkBulD,CAAlB,EAAoBC,CAAC,GAAC,CAA1B,EAA4BxtB,CAAC,CAAClwC,MAAF,IAAU,iCAA+BkwC,CAAC,CAAC,CAAD,CAAD,CAAK69E,WAA1E;AAAuF79E,aAAC,CAAC5iB,KAAF;AAAvF;;AAAiG,cAAG,MAAI4iB,CAAC,CAAClwC,MAAT,EAAgB,OAAO,KAAKklI,YAAL,IAAoB,KAAK,KAAK7iI,OAAL,CAAa,MAAb,EAAoB,oBAApB,CAAhC;;AAA0E,cAAGvF,CAAC,GAACglE,EAAE,CAAC5xB,CAAD,CAAJ,EAAQ,CAACryC,CAAC,GAACkkE,EAAE,CAACjlE,CAAD,CAAL,EAAU,CAAV,EAAa,CAAb,EAAgBskI,QAAhB,KAA2B,CAAC39F,CAAC,GAAC,KAAK0hG,gBAAL,CAAsBj1F,CAAC,CAAC,CAAD,CAAvB,EAA2BouB,CAA3B,CAAH,KAAmCZ,CAAC,GAACj6B,CAAC,CAACrnB,QAAJ,EAAave,CAAC,CAACyyB,OAAF,CAAUmT,CAAV,CAAb,EAA0B5lC,CAAC,CAAComH,UAAF,IAAcxgF,CAAC,CAACwgF,UAA1C,EAAqDpmH,CAAC,CAACwjI,QAAF,IAAY59F,CAAC,CAAC49F,QAAnE,EAA4ExjI,CAAC,CAACuvH,GAAF,GAAM3pF,CAAC,CAAC2pF,GAApF,EAAwFvvH,CAAC,CAACowH,GAAF,GAAMxqF,CAAC,CAACwqF,GAAhG,EAAoGpwH,CAAC,CAACue,QAAF,IAAYqnB,CAAC,CAACrnB,QAArJ,IAA+Jve,CAAC,GAACmkE,EAAE,CAACnkE,CAAD,CAA9L,CAAR,EAA2MugE,CAAC,CAACp+D,MAAhN,EAAuN;AAAC,gBAAIk4B,CAAJ;AAAM,gBAAG,EAAEA,CAAC,GAACqlC,CAAC,CAAC6nE,cAAF,GAAiB,KAAKC,eAAL,CAAqBxnI,CAArB,CAAjB,GAAyC,KAAKynI,iBAAL,CAAuBznI,CAAvB,CAA7C,CAAH,EAA2E,OAAO,KAAKonI,SAAL,CAAe30G,OAAf,CAAuB;AAACi1G,iBAAG,EAAC1nI,CAAC,CAAC8rB,GAAF,EAAL;AAAao7F,iBAAG,EAACzmD,CAAC,CAACymD,GAAnB;AAAuBD,iBAAG,EAACxmD,CAAC,CAACwmD;AAA7B,aAAvB,GAA0D,KAAKmgB,SAAL,CAAejlI,MAAf,GAAsByd,IAAI,CAACE,GAAL,CAAS,CAAT,EAAW,KAAKsnH,SAAL,CAAejlI,MAA1B,CAAhF,EAAkHkwC,CAAC,GAAC,EAApH,EAAuH,KAAKg1F,YAAL,EAAvH,EAA2I,KAAK,KAAK7iI,OAAL,CAAa,MAAb,EAAoB,oBAApB,CAAvJ;AAAiMmhE,cAAE,CAAClF,CAAD,CAAF,EAAMzgE,CAAC,GAACq6B,CAAR;AAAU;;AAAAwrC,YAAE,CAACpF,CAAD,EAAGzgE,CAAH,CAAF,EAAQygE,CAAC,CAAC4pD,OAAF,GAAUjmD,EAAE,CAACpkE,CAAD,CAApB,EAAwB+/D,CAAC,GAAC+D,CAAC,CAACU,EAAE,CAACxkE,CAAD,CAAH,CAA3B,EAAmCygE,CAAC,CAACurD,mBAAF,GAAsBpmD,EAAE,CAACnF,CAAD,EAAGf,CAAC,CAACwnE,sBAAL,CAA3D,EAAwF,KAAK1iI,OAAL,CAAa,mBAAb,EAAiCxE,CAAC,CAACkoB,GAAF,CAAM,UAASjpB,CAAT,EAAW;AAAC,mBAAM;AAACswH,iBAAG,EAACtwH,CAAC,CAACswH,GAAP;AAAWa,iBAAG,EAACnxH,CAAC,CAACmxH,GAAjB;AAAqBhK,wBAAU,EAACnnH,CAAC,CAACmnH;AAAlC,aAAN;AAAoD,WAAtE,CAAjC,CAAxF,EAAkM/rG,CAAC,GAACra,CAAC,CAAC,CAAD,CAArM,EAAyM4/D,CAAC,GAAC5/D,CAAC,CAACA,CAAC,CAACmC,MAAF,GAAS,CAAV,CAA5M,EAAyN,KAAKqC,OAAL,CAAa,mBAAb,EAAiC0oE,EAAE,CAACzM,CAAC,CAACurD,mBAAH,EAAuB3xG,CAAC,CAAC+1G,GAAzB,EAA6B/1G,CAAC,CAACk1G,GAA/B,EAAmC3vD,CAAC,CAACwwD,GAAF,GAAMxwD,CAAC,CAACrhD,QAA3C,EAAoDqhD,CAAC,CAAC2vD,GAAF,GAAM3vD,CAAC,CAACrhD,QAA5D,EAAqEshD,CAArE,CAAnC,CAAzN,EAAqU,KAAKr7D,OAAL,CAAa,YAAb,EAA0B;AAACic,iBAAK,EAACzgB,CAAC,CAAC,CAAD,CAAD,CAAKuvH,GAAZ;AAAgB5mG,eAAG,EAAC3oB,CAAC,CAACA,CAAC,CAACmC,MAAF,GAAS,CAAV,CAAD,CAAcotH,GAAd,GAAkBvvH,CAAC,CAACA,CAAC,CAACmC,MAAF,GAAS,CAAV,CAAD,CAAcoc;AAApD,WAA1B,CAArU,EAA8Z,KAAK6oH,SAAL,CAAe30G,OAAf,CAAuB;AAACi1G,eAAG,EAAC1nI,CAAC,CAAC8rB,GAAF,EAAL;AAAao7F,eAAG,EAACzmD,CAAC,CAACymD,GAAnB;AAAuBD,eAAG,EAACxmD,CAAC,CAACwmD;AAA7B,WAAvB,CAA9Z,EAAwd,KAAKmgB,SAAL,CAAejlI,MAAf,GAAsByd,IAAI,CAACE,GAAL,CAAS,CAAT,EAAW,KAAKsnH,SAAL,CAAejlI,MAA1B,CAA9e,EAAghBkwC,CAAC,GAAC,EAAlhB,EAAqhB,KAAK7tC,OAAL,CAAa,qBAAb,EAAmCi8D,CAAC,CAACurD,mBAArC,CAArhB,EAA+kB,KAAKxnH,OAAL,CAAa,mBAAb,EAAiCi8D,CAAC,CAACojE,iBAAnC,CAA/kB,EAAqoBtqG,CAAC,GAACwqC,CAAC,CAACpE,CAAD,EAAG,CAACc,CAAD,CAAH,CAAxoB,EAAgpB98C,CAAC,GAAC,IAAI0tF,UAAJ,CAAe93E,CAAC,CAAC6sF,UAAF,GAAarmD,CAAC,CAACqmD,UAA9B,CAAlpB,EAA4rBzmD,CAAC,EAA7rB,EAAgsBh8C,CAAC,CAAC0c,GAAF,CAAM9G,CAAN,CAAhsB,EAAysB5V,CAAC,CAAC0c,GAAF,CAAM0/B,CAAN,EAAQxmC,CAAC,CAAC6sF,UAAV,CAAzsB,EAA+tB,KAAK5hH,OAAL,CAAa,MAAb,EAAoB;AAACirE,iBAAK,EAAChP,CAAP;AAASgoD,iBAAK,EAAC9kG;AAAf,WAApB,CAA/tB,EAAswB,KAAK0jH,YAAL,EAAtwB,EAA0xB,KAAK7iI,OAAL,CAAa,MAAb,EAAoB,oBAApB,CAA1xB;AAAo0B,SAAjzD,EAAkzD,KAAKsxB,KAAL,GAAW,YAAU;AAAC,eAAKuxG,YAAL,IAAoBh1F,CAAC,GAAC,EAAtB,EAAyB,KAAK+0F,SAAL,CAAejlI,MAAf,GAAsB,CAA/C,EAAiDo+D,CAAC,CAACp+D,MAAF,GAAS,CAA1D,EAA4D,KAAKqC,OAAL,CAAa,OAAb,CAA5D;AAAkF,SAA15D,EAA25D,KAAK6iI,YAAL,GAAkB,YAAU;AAAC1hE,YAAE,CAAClF,CAAD,CAAF,EAAMzgE,CAAC,GAAC4lC,CAAC,GAAC,KAAK,CAAf;AAAiB,SAAz8D,EAA08D,KAAK0hG,gBAAL,GAAsB,UAASroI,CAAT,EAAW;AAAC,cAAI2mC,CAAJ;AAAA,cAAM5lC,CAAN;AAAA,cAAQu5B,CAAR;AAAA,cAAUwmC,CAAV;AAAA,cAAYp8C,CAAZ;AAAA,cAActJ,CAAC,GAAC,IAAE,CAAlB;;AAAoB,eAAIsJ,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,KAAKyjH,SAAL,CAAejlI,MAAzB,EAAgCwhB,CAAC,EAAjC;AAAoC4V,aAAC,GAAC,CAACwmC,CAAC,GAAC,KAAKqnE,SAAL,CAAezjH,CAAf,CAAH,EAAsB+jH,GAAxB,EAA4BjnE,CAAC,CAACymD,GAAF,IAAOj6C,EAAE,CAACxM,CAAC,CAACymD,GAAF,CAAM,CAAN,CAAD,EAAUnnD,CAAC,CAACmnD,GAAF,CAAM,CAAN,CAAV,CAAT,IAA8BzmD,CAAC,CAACwmD,GAAhC,IAAqCh6C,EAAE,CAACxM,CAAC,CAACwmD,GAAF,CAAM,CAAN,CAAD,EAAUlnD,CAAC,CAACknD,GAAF,CAAM,CAAN,CAAV,CAAvC,KAA6D1tF,CAAC,CAAC62F,GAAF,GAAM3vD,CAAC,CAACojE,iBAAF,CAAoBzT,GAA1B,IAA+B,CAAC,GAAD,KAAOxqF,CAAC,GAAC3mC,CAAC,CAACmxH,GAAF,GAAM72F,CAAC,CAAC62F,GAAR,GAAY72F,CAAC,CAAChb,QAAvB,KAAkCqnB,CAAC,IAAE,IAArC,KAA4C,CAAC5lC,CAAD,IAAI4lC,CAAC,GAACvrB,CAAlD,MAAuDra,CAAC,GAAC+/D,CAAF,EAAI1lD,CAAC,GAACurB,CAA7D,CAA5F,CAA5B;AAApC;;AAA6N,iBAAO5lC,CAAC,GAACA,CAAC,CAAC0nI,GAAH,GAAO,IAAf;AAAoB,SAAjvE,EAAkvE,KAAKD,iBAAL,GAAuB,UAASxoI,CAAT,EAAW;AAAC,cAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR,EAAUwmC,CAAV,EAAYp8C,CAAZ,EAActJ,CAAd,EAAgBulD,CAAhB,EAAkBC,CAAlB;;AAAoB,eAAIl8C,CAAC,GAAC1kB,CAAC,CAACmnH,UAAJ,EAAe/rG,CAAC,GAACpb,CAAC,CAACukI,QAAnB,EAA4B5jE,CAAC,GAAC3gE,CAAC,CAACsf,QAAhC,EAAyCqnB,CAAC,GAAC5lC,CAAC,GAAC,CAAjD,EAAmD4lC,CAAC,GAAC26B,CAAC,CAACp+D,MAAJ,IAAYnC,CAAC,GAACf,CAAC,CAACkD,MAAhB,KAAyBo3B,CAAC,GAACgnC,CAAC,CAAC36B,CAAD,CAAH,EAAOm6B,CAAC,GAAC9gE,CAAC,CAACe,CAAD,CAAV,EAAcu5B,CAAC,CAACg2F,GAAF,KAAQxvD,CAAC,CAACwvD,GAAjD,CAAnD;AAA0GxvD,aAAC,CAACwvD,GAAF,GAAMh2F,CAAC,CAACg2F,GAAR,GAAY3pF,CAAC,EAAb,IAAiB5lC,CAAC,IAAG2jB,CAAC,IAAEo8C,CAAC,CAACqmD,UAAR,EAAmB/rG,CAAC,IAAE0lD,CAAC,CAACyjE,QAAxB,EAAiC5jE,CAAC,IAAEG,CAAC,CAACxhD,QAAxD;AAA1G;;AAA4K,iBAAO,MAAIve,CAAJ,GAAMf,CAAN,GAAQe,CAAC,KAAGf,CAAC,CAACkD,MAAN,GAAa,IAAb,IAAmB,CAAC09D,CAAC,GAAC5gE,CAAC,CAAC2a,KAAF,CAAQ5Z,CAAR,CAAH,EAAeomH,UAAf,GAA0BziG,CAA1B,EAA4Bk8C,CAAC,CAACthD,QAAF,GAAWqhD,CAAvC,EAAyCC,CAAC,CAAC2jE,QAAF,GAAWnpH,CAApD,EAAsDwlD,CAAC,CAAC0vD,GAAF,GAAM1vD,CAAC,CAAC,CAAD,CAAD,CAAK0vD,GAAjE,EAAqE1vD,CAAC,CAACuwD,GAAF,GAAMvwD,CAAC,CAAC,CAAD,CAAD,CAAKuwD,GAAhF,EAAoFvwD,CAAvG,CAAf;AAAyH,SAA9kF,EAA+kF,KAAK2nE,eAAL,GAAqB,UAASvoI,CAAT,EAAW;AAAC,cAAI2mC,CAAJ,EAAM5lC,CAAN,EAAQu5B,CAAR,EAAUwmC,CAAV,EAAYp8C,CAAZ,EAActJ,CAAd,EAAgBulD,CAAhB;;AAAkB,eAAIh6B,CAAC,GAAC26B,CAAC,CAACp+D,MAAF,GAAS,CAAX,EAAanC,CAAC,GAACf,CAAC,CAACkD,MAAF,GAAS,CAAxB,EAA0BwhB,CAAC,GAAC,IAA5B,EAAiCtJ,CAAC,GAAC,CAAC,CAAxC,EAA0C,KAAGurB,CAAH,IAAM,KAAG5lC,CAAnD,GAAsD;AAAC,gBAAGu5B,CAAC,GAACgnC,CAAC,CAAC36B,CAAD,CAAH,EAAOm6B,CAAC,GAAC9gE,CAAC,CAACe,CAAD,CAAV,EAAcu5B,CAAC,CAACg2F,GAAF,KAAQxvD,CAAC,CAACwvD,GAA3B,EAA+B;AAACl1G,eAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAAkf,aAAC,CAACg2F,GAAF,GAAMxvD,CAAC,CAACwvD,GAAR,GAAY3pF,CAAC,EAAb,IAAiBA,CAAC,KAAG26B,CAAC,CAACp+D,MAAF,GAAS,CAAb,KAAiBwhB,CAAC,GAAC3jB,CAAnB,GAAsBA,CAAC,EAAxC;AAA4C;;AAAA,cAAG,CAACqa,CAAD,IAAI,SAAOsJ,CAAd,EAAgB,OAAO,IAAP;AAAY,cAAG,OAAKi8C,CAAC,GAACvlD,CAAC,GAACra,CAAD,GAAG2jB,CAAX,CAAH,EAAiB,OAAO1kB,CAAP;AAAS,cAAI4gE,CAAC,GAAC5gE,CAAC,CAAC2a,KAAF,CAAQgmD,CAAR,CAAN;AAAA,cAAiBvlC,CAAC,GAACwlC,CAAC,CAAC2J,MAAF,CAAS,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,mBAAO3mC,CAAC,CAACmnH,UAAF,IAAcxgF,CAAC,CAACwgF,UAAhB,EAA2BnnH,CAAC,CAACsf,QAAF,IAAYqnB,CAAC,CAACrnB,QAAzC,EAAkDtf,CAAC,CAACukI,QAAF,IAAY59F,CAAC,CAAC49F,QAAhE,EAAyEvkI,CAAhF;AAAkF,WAAzG,EAA0G;AAACmnH,sBAAU,EAAC,CAAZ;AAAc7nG,oBAAQ,EAAC,CAAvB;AAAyBilH,oBAAQ,EAAC;AAAlC,WAA1G,CAAnB;AAAmK,iBAAO3jE,CAAC,CAACumD,UAAF,GAAa/rF,CAAC,CAAC+rF,UAAf,EAA0BvmD,CAAC,CAACthD,QAAF,GAAW8b,CAAC,CAAC9b,QAAvC,EAAgDshD,CAAC,CAAC2jE,QAAF,GAAWnpG,CAAC,CAACmpG,QAA7D,EAAsE3jE,CAAC,CAAC0vD,GAAF,GAAM1vD,CAAC,CAAC,CAAD,CAAD,CAAK0vD,GAAjF,EAAqF1vD,CAAC,CAACuwD,GAAF,GAAMvwD,CAAC,CAAC,CAAD,CAAD,CAAKuwD,GAAhG,EAAoGvwD,CAA3G;AAA6G,SAAtlG,EAAulG,KAAK8nE,aAAL,GAAmB,UAAS1oI,CAAT,EAAW;AAACshE,WAAC,GAACthE,CAAF;AAAI,SAA1nG;AAA2nG,OAAnqG,EAAqqG+Z,SAArqG,GAA+qG,IAAImpD,CAAJ,EAAtgI,EAA4gI,CAACmM,GAAE,GAAC,YAASrvE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAKgiG,cAAL,GAAoB,CAApB,EAAsB,KAAKC,cAAL,GAAoBjiG,CAA1C,EAA4C,eAAa,OAAM,CAAC3mC,CAAC,GAACA,CAAC,IAAE,EAAN,EAAU6oI,KAA7B,GAAmC,KAAKC,WAAL,GAAiB,CAAC,CAAC9oI,CAAC,CAAC6oI,KAAxD,GAA8D,KAAKC,WAAL,GAAiB,CAAC,CAA5H,EAA8H,aAAW,OAAO9oI,CAAC,CAACioI,sBAApB,GAA2C,KAAKA,sBAAL,GAA4BjoI,CAAC,CAACioI,sBAAzE,GAAgG,KAAKA,sBAAL,GAA4B,CAAC,CAA3P,EAA6P,KAAKc,aAAL,GAAmB,EAAhR,EAAmR,KAAKC,UAAL,GAAgB,IAAnS,EAAwS,KAAKC,YAAL,GAAkB,EAA1T,EAA6T,KAAKC,eAAL,GAAqB,EAAlV,EAAqV,KAAKC,eAAL,GAAqB,EAA1W,EAA6W,KAAKC,YAAL,GAAkB,CAA/X,EAAiY,KAAKC,aAAL,GAAmB,CAApZ,EAAsZh6D,GAAE,CAACt1D,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,CAAtZ,EAAmb,KAAKpC,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACgoB,IAAF,GAAO,KAAKkhH,eAAL,CAAqB3lI,IAArB,CAA0BvD,CAA1B,CAAP,GAAoCA,CAAC,CAAC6/H,MAAF,GAAS,KAAKsJ,eAAL,CAAqB5lI,IAArB,CAA0BvD,CAA1B,CAAT,IAAuC,KAAK+oI,aAAL,CAAmBxlI,IAAnB,CAAwBvD,CAAC,CAACwwE,KAA1B,GAAiC,KAAK44D,YAAL,IAAmBppI,CAAC,CAACwpH,KAAF,CAAQrC,UAA5D,EAAuE,YAAUnnH,CAAC,CAACwwE,KAAF,CAAQjgE,IAAlB,KAAyB,KAAKy4H,UAAL,GAAgBhpI,CAAC,CAACwwE,KAAlB,EAAwB,KAAKy4D,YAAL,CAAkB1lI,IAAlB,CAAuBvD,CAAC,CAACwpH,KAAzB,CAAjD,CAAvE,EAAyJ,MAAK,YAAUxpH,CAAC,CAACwwE,KAAF,CAAQjgE,IAAlB,KAAyB,KAAK+4H,UAAL,GAAgBtpI,CAAC,CAACwwE,KAAlB,EAAwB,KAAKy4D,YAAL,CAAkBz1G,OAAlB,CAA0BxzB,CAAC,CAACwpH,KAA5B,CAAjD,CAAL,CAAhM,CAA3C;AAAuU,SAAhxB;AAAixB,OAAnyB,EAAqyBzvG,SAAryB,GAA+yB,IAAImpD,CAAJ,EAA3zJ,EAAi0JmM,GAAE,CAACt1D,SAAH,CAAaqgE,KAAb,GAAmB,UAASp6E,CAAT,EAAW;AAAC,YAAI2mC,CAAJ;AAAA,YAAM5lC,CAAN;AAAA,YAAQu5B,CAAR;AAAA,YAAUwmC,CAAV;AAAA,YAAYp8C,CAAC,GAAC,CAAd;AAAA,YAAgBtJ,CAAC,GAAC;AAAC+7D,kBAAQ,EAAC,EAAV;AAAaq+C,wBAAc,EAAC,EAA5B;AAA+B39C,kBAAQ,EAAC,EAAxC;AAA2Cze,cAAI,EAAC;AAAhD,SAAlB;AAAA,YAAsEuH,CAAC,GAAC,CAAxE;;AAA0E,YAAG,KAAKooE,aAAL,CAAmB7lI,MAAnB,GAA0B,KAAKylI,cAAlC,EAAiD;AAAC,cAAG,yBAAuB3oI,CAAvB,IAA0B,yBAAuBA,CAApD,EAAsD;AAAO,cAAG,KAAK8oI,WAAR,EAAoB;AAAO,cAAG,MAAI,KAAKC,aAAL,CAAmB7lI,MAA1B,EAAiC,OAAO,KAAKmmI,aAAL,IAAqB,MAAK,KAAKA,aAAL,IAAoB,KAAKV,cAAzB,KAA0C,KAAKpjI,OAAL,CAAa,MAAb,GAAqB,KAAK8jI,aAAL,GAAmB,CAAlF,CAAL,CAA5B;AAAuH;;AAAA,YAAG,KAAKL,UAAL,IAAiBroE,CAAC,GAAC,KAAKqoE,UAAL,CAAgBpE,iBAAhB,CAAkCtU,GAApC,EAAwC1gD,EAAE,CAAC7mE,OAAH,CAAW,UAAS/I,CAAT,EAAW;AAACob,WAAC,CAACg+C,IAAF,CAAOp5D,CAAP,IAAU,KAAKgpI,UAAL,CAAgBhpI,CAAhB,CAAV;AAA6B,SAApD,EAAqD,IAArD,CAAzD,IAAqH,KAAKspI,UAAL,KAAkB3oE,CAAC,GAAC,KAAK2oE,UAAL,CAAgB1E,iBAAhB,CAAkCtU,GAApC,EAAwC3gD,EAAE,CAAC5mE,OAAH,CAAW,UAAS/I,CAAT,EAAW;AAACob,WAAC,CAACg+C,IAAF,CAAOp5D,CAAP,IAAU,KAAKspI,UAAL,CAAgBtpI,CAAhB,CAAV;AAA6B,SAApD,EAAqD,IAArD,CAA1D,CAArH,EAA2O,KAAKgpI,UAAL,IAAiB,KAAKM,UAApQ,EAA+Q;AAAC,eAAI,MAAI,KAAKP,aAAL,CAAmB7lI,MAAvB,GAA8BkY,CAAC,CAAC7K,IAAF,GAAO,KAAKw4H,aAAL,CAAmB,CAAnB,EAAsBx4H,IAA3D,GAAgE6K,CAAC,CAAC7K,IAAF,GAAO,UAAvE,EAAkF,KAAK84H,aAAL,IAAoB,KAAKN,aAAL,CAAmB7lI,MAAzH,EAAgIo3B,CAAC,GAACyqC,CAAC,CAAC,KAAKgkE,aAAN,CAAnI,EAAwJ3tH,CAAC,CAACmuH,WAAF,GAAc,IAAIn3B,UAAJ,CAAe93E,CAAC,CAAC6sF,UAAjB,CAAtK,EAAmM/rG,CAAC,CAACmuH,WAAF,CAAcnoG,GAAd,CAAkB9G,CAAlB,CAAnM,EAAwNlf,CAAC,CAAC5a,IAAF,GAAO,IAAI4xG,UAAJ,CAAe,KAAKg3B,YAApB,CAA/N,EAAiQtoE,CAAC,GAAC,CAAvQ,EAAyQA,CAAC,GAAC,KAAKmoE,YAAL,CAAkB/lI,MAA7R,EAAoS49D,CAAC,EAArS;AAAwS1lD,aAAC,CAAC5a,IAAF,CAAO4gC,GAAP,CAAW,KAAK6nG,YAAL,CAAkBnoE,CAAlB,CAAX,EAAgCp8C,CAAhC,GAAmCA,CAAC,IAAE,KAAKukH,YAAL,CAAkBnoE,CAAlB,EAAqBqmD,UAA3D;AAAxS;;AAA8W,eAAIrmD,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,KAAKooE,eAAL,CAAqBhmI,MAA/B,EAAsC49D,CAAC,EAAvC;AAA0C,aAACn6B,CAAC,GAAC,KAAKuiG,eAAL,CAAqBpoE,CAArB,CAAH,EAA4BzrB,SAA5B,GAAsC+wB,EAAE,CAACz/B,CAAC,CAAC2tF,QAAH,EAAY3zD,CAAZ,EAAc,KAAKsnE,sBAAnB,CAAxC,EAAmFthG,CAAC,CAAC2pC,OAAF,GAAUlK,EAAE,CAACz/B,CAAC,CAAC4tF,MAAH,EAAU5zD,CAAV,EAAY,KAAKsnE,sBAAjB,CAA/F,EAAwI7sH,CAAC,CAACo6G,cAAF,CAAiB7uF,CAAC,CAACg7C,MAAnB,IAA2B,CAAC,CAApK,EAAsKvmE,CAAC,CAAC+7D,QAAF,CAAW5zE,IAAX,CAAgBojC,CAAhB,CAAtK;AAA1C;;AAAmO,eAAIm6B,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,KAAKqoE,eAAL,CAAqBjmI,MAA/B,EAAsC49D,CAAC,EAAvC;AAA0C,aAAC//D,CAAC,GAAC,KAAKooI,eAAL,CAAqBroE,CAArB,CAAH,EAA4B8+D,OAA5B,GAAoCx5D,EAAE,CAACrlE,CAAC,CAACuvH,GAAH,EAAO3vD,CAAP,EAAS,KAAKsnE,sBAAd,CAAtC,EAA4E7sH,CAAC,CAACy8D,QAAF,CAAWt0E,IAAX,CAAgBxC,CAAhB,CAA5E;AAA1C;;AAAyI,eAAIqa,CAAC,CAACy8D,QAAF,CAAW0tD,YAAX,GAAwB,KAAKqD,cAAL,CAAoBrD,YAA5C,EAAyD,KAAKwD,aAAL,CAAmB7lI,MAAnB,GAA0B,CAAnF,EAAqF,KAAK8lI,UAAL,GAAgB,IAArG,EAA0G,KAAKC,YAAL,CAAkB/lI,MAAlB,GAAyB,CAAnI,EAAqI,KAAKgmI,eAAL,CAAqBhmI,MAArB,GAA4B,CAAjK,EAAmK,KAAKkmI,YAAL,GAAkB,CAArL,EAAuL,KAAKD,eAAL,CAAqBjmI,MAArB,GAA4B,CAAnN,EAAqN,KAAKqC,OAAL,CAAa,MAAb,EAAoB6V,CAApB,CAArN,EAA4O0lD,CAAC,GAAC,CAAlP,EAAoPA,CAAC,GAAC1lD,CAAC,CAAC+7D,QAAF,CAAWj0E,MAAjQ,EAAwQ49D,CAAC,EAAzQ;AAA4Qn6B,aAAC,GAACvrB,CAAC,CAAC+7D,QAAF,CAAWrW,CAAX,CAAF,EAAgB,KAAKv7D,OAAL,CAAa,SAAb,EAAuBohC,CAAvB,CAAhB;AAA5Q;;AAAsT,eAAIm6B,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC1lD,CAAC,CAACy8D,QAAF,CAAW30E,MAArB,EAA4B49D,CAAC,EAA7B;AAAgC//D,aAAC,GAACqa,CAAC,CAACy8D,QAAF,CAAW/W,CAAX,CAAF,EAAgB,KAAKv7D,OAAL,CAAa,UAAb,EAAwBxE,CAAxB,CAAhB;AAAhC;AAA2E;;AAAA,aAAKsoI,aAAL,IAAoB,KAAKV,cAAzB,KAA0C,KAAKpjI,OAAL,CAAa,MAAb,GAAqB,KAAK8jI,aAAL,GAAmB,CAAlF;AAAqF,OAA5oN,EAA6oNh6D,GAAE,CAACt1D,SAAH,CAAayvH,QAAb,GAAsB,UAASxpI,CAAT,EAAW;AAAC,aAAK8oI,WAAL,GAAiB9oI,CAAjB;AAAmB,OAAlsN,EAAmsN,CAACovE,GAAE,GAAC,YAAS90C,CAAT,EAAW;AAAC,YAAIwmC,CAAJ;AAAA,YAAMp8C,CAAN;AAAA,YAAQtJ,CAAC,GAAC,IAAV;AAAA,YAAera,CAAC,GAAC,CAAC,CAAlB;AAAoBquE,WAAE,CAACr1D,SAAH,CAAarY,IAAb,CAAkBiE,IAAlB,CAAuB,IAAvB,GAA6B20B,CAAC,GAACA,CAAC,IAAE,EAAlC,EAAqC,KAAKyyF,mBAAL,GAAyBzyF,CAAC,CAACyyF,mBAAF,IAAuB,CAArF,EAAuF,KAAK0c,iBAAL,GAAuB,EAA9G,EAAiH,KAAKC,gBAAL,GAAsB,YAAU;AAAC,cAAI/iG,CAAC,GAAC,EAAN;AAAS,WAAC,KAAK8iG,iBAAL,GAAuB9iG,CAAxB,EAA2Bp2B,IAA3B,GAAgC,KAAhC,EAAsCo2B,CAAC,CAACiiG,cAAF,GAAiB,IAAI37D,EAAE,CAAC65D,cAAP,EAAvD,EAA6EngG,CAAC,CAACgjG,SAAF,GAAY,IAAIr6D,EAAJ,EAAzF,EAAgG3oC,CAAC,CAACijG,4BAAF,GAA+B,IAAI38D,EAAE,CAAC45D,uBAAP,CAA+B,OAA/B,CAA/H,EAAuKlgG,CAAC,CAACkjG,oCAAF,GAAuC,IAAI58D,EAAE,CAAC45D,uBAAP,CAA+B,gBAA/B,CAA9M,EAA+PlgG,CAAC,CAACmjG,UAAF,GAAa,IAAIv8D,EAAJ,EAA5Q,EAAmR5mC,CAAC,CAACojG,cAAF,GAAiB,IAAI16D,GAAJ,CAAO/0C,CAAP,EAASqM,CAAC,CAACiiG,cAAX,CAApS,EAA+TjiG,CAAC,CAACqjG,cAAF,GAAiBrjG,CAAC,CAACgjG,SAAlV,EAA4VhjG,CAAC,CAACgjG,SAAF,CAAYhsG,IAAZ,CAAiBgJ,CAAC,CAACijG,4BAAnB,EAAiDjsG,IAAjD,CAAsDgJ,CAAC,CAACmjG,UAAxD,CAA5V,EAAganjG,CAAC,CAACgjG,SAAF,CAAYhsG,IAAZ,CAAiBgJ,CAAC,CAACkjG,oCAAnB,EAAyDlsG,IAAzD,CAA8DgJ,CAAC,CAACiiG,cAAhE,EAAgFjrG,IAAhF,CAAqFgJ,CAAC,CAACojG,cAAvF,CAAha,EAAugBpjG,CAAC,CAACiiG,cAAF,CAAiBvmI,EAAjB,CAAoB,WAApB,EAAgC,UAASrC,CAAT,EAAW;AAAC2mC,aAAC,CAACgjG,SAAF,CAAY/B,YAAZ,CAAyB5nI,CAAC,CAAC2pC,SAA3B;AAAsC,WAAlF,CAAvgB,EAA2lBhD,CAAC,CAACgjG,SAAF,CAAYtnI,EAAZ,CAAe,MAAf,EAAsB,UAASrC,CAAT,EAAW;AAAC,iCAAmBA,CAAC,CAACuQ,IAArB,IAA2Bo2B,CAAC,CAACsjG,kBAA7B,KAAkDvlH,CAAC,GAACA,CAAC,IAAE;AAACkgH,+BAAiB,EAAC;AAAC7X,mCAAmB,EAAC3xG,CAAC,CAAC2xG;AAAvB,eAAnB;AAA+D4C,mBAAK,EAAC,MAArE;AAA4Ep/G,kBAAI,EAAC;AAAjF,aAAL,EAA+Fo2B,CAAC,CAACojG,cAAF,CAAiBpB,cAAjB,EAA/F,EAAiIhiG,CAAC,CAACsjG,kBAAF,GAAqB,IAAI/tF,GAAJ,CAAOx3B,CAAP,EAAS4V,CAAT,CAAtJ,EAAkKqM,CAAC,CAACsjG,kBAAF,CAAqB5nI,EAArB,CAAwB,YAAxB,EAAqC+Y,CAAC,CAAC7V,OAAF,CAAUgX,IAAV,CAAenB,CAAf,EAAiB,iBAAjB,CAArC,CAAlK,EAA4OurB,CAAC,CAACmjG,UAAF,CAAansG,IAAb,CAAkBgJ,CAAC,CAACsjG,kBAApB,EAAwCtsG,IAAxC,CAA6CgJ,CAAC,CAACojG,cAA/C,CAA9R,GAA8V3uH,CAAC,CAAC7V,OAAF,CAAU,WAAV,EAAsB;AAAC2kI,sBAAQ,EAAC,CAAC,CAACxlH,CAAZ;AAAcjb,sBAAQ,EAAC,CAAC,CAACq3D;AAAzB,aAAtB,CAA9V;AAAiZ,WAAnb,CAA3lB,EAAghCn6B,CAAC,CAACojG,cAAF,CAAiB1nI,EAAjB,CAAoB,MAApB,EAA2B,KAAKkD,OAAL,CAAagX,IAAb,CAAkB,IAAlB,EAAuB,MAAvB,CAA3B,CAAhhC,EAA2kCoqB,CAAC,CAACojG,cAAF,CAAiB1nI,EAAjB,CAAoB,MAApB,EAA2B,KAAKkD,OAAL,CAAagX,IAAb,CAAkB,IAAlB,EAAuB,MAAvB,CAA3B,CAA3kC;AAAsoC,SAAjyC,EAAkyC,KAAK4tH,eAAL,GAAqB,YAAU;AAAC,cAAIppI,CAAC,GAAC,EAAN;AAAS,WAAC,KAAK0oI,iBAAL,GAAuB1oI,CAAxB,EAA2BwP,IAA3B,GAAgC,IAAhC,EAAqCxP,CAAC,CAAC6nI,cAAF,GAAiB,IAAI37D,EAAE,CAAC65D,cAAP,EAAtD,EAA4E/lI,CAAC,CAACqpI,YAAF,GAAe,IAAIn9D,EAAE,CAACy5D,qBAAP,EAA3F,EAAwH3lI,CAAC,CAACgwG,WAAF,GAAc,IAAI9jC,EAAE,CAAC05D,oBAAP,EAAtI,EAAkK5lI,CAAC,CAACspI,gBAAF,GAAmB,IAAIp9D,EAAE,CAAC25D,gBAAP,EAArL,EAA6M7lI,CAAC,CAACupI,uBAAF,GAA0B,IAAIr9D,EAAE,CAAC45D,uBAAP,EAAvO,EAAsQ9lI,CAAC,CAAC+oI,UAAF,GAAa,IAAIv8D,EAAJ,EAAnR,EAA0RxsE,CAAC,CAACwpI,UAAF,GAAa,IAAIh7D,EAAJ,EAAvS,EAA8SxuE,CAAC,CAACypI,aAAF,GAAgB,IAAIv9D,EAAE,CAAC63D,aAAP,EAA9T,EAAmV/jI,CAAC,CAACgpI,cAAF,GAAiB,IAAI16D,GAAJ,CAAO/0C,CAAP,EAASv5B,CAAC,CAAC6nI,cAAX,CAApW,EAA+X7nI,CAAC,CAACipI,cAAF,GAAiBjpI,CAAC,CAACqpI,YAAlZ,EAA+ZrpI,CAAC,CAACqpI,YAAF,CAAezsG,IAAf,CAAoB58B,CAAC,CAACgwG,WAAtB,EAAmCpzE,IAAnC,CAAwC58B,CAAC,CAACspI,gBAA1C,EAA4D1sG,IAA5D,CAAiE58B,CAAC,CAACupI,uBAAnE,CAA/Z,EAA2fvpI,CAAC,CAACupI,uBAAF,CAA0B3sG,IAA1B,CAA+B58B,CAAC,CAACwpI,UAAjC,CAA3f,EAAwiBxpI,CAAC,CAACupI,uBAAF,CAA0B3sG,IAA1B,CAA+B58B,CAAC,CAAC+oI,UAAjC,CAAxiB,EAAqlB/oI,CAAC,CAACupI,uBAAF,CAA0B3sG,IAA1B,CAA+B58B,CAAC,CAAC6nI,cAAjC,EAAiDjrG,IAAjD,CAAsD58B,CAAC,CAACgpI,cAAxD,CAArlB,EAA6pBhpI,CAAC,CAACwpI,UAAF,CAAa5sG,IAAb,CAAkB58B,CAAC,CAACypI,aAApB,EAAmC7sG,IAAnC,CAAwC58B,CAAC,CAACgpI,cAA1C,CAA7pB,EAAutBhpI,CAAC,CAACspI,gBAAF,CAAmBhoI,EAAnB,CAAsB,MAAtB,EAA6B,UAASrC,CAAT,EAAW;AAAC,gBAAI2mC,CAAJ;;AAAM,gBAAG,eAAa3mC,CAAC,CAACuQ,IAAlB,EAAuB;AAAC,mBAAIo2B,CAAC,GAAC3mC,CAAC,CAACwrF,MAAF,CAAStoF,MAAf,EAAsByjC,CAAC,EAAvB;AAA2Bm6B,iBAAC,IAAE,YAAU9gE,CAAC,CAACwrF,MAAF,CAAS7kD,CAAT,EAAYp2B,IAAzB,GAA8BmU,CAAC,IAAE,YAAU1kB,CAAC,CAACwrF,MAAF,CAAS7kD,CAAT,EAAYp2B,IAAzB,KAAgC,CAACmU,CAAC,GAAC1kB,CAAC,CAACwrF,MAAF,CAAS7kD,CAAT,CAAH,EAAgBi+F,iBAAhB,CAAkC7X,mBAAlC,GAAsD3xG,CAAC,CAAC2xG,mBAAxF,CAA9B,GAA2I,CAACjsD,CAAC,GAAC9gE,CAAC,CAACwrF,MAAF,CAAS7kD,CAAT,CAAH,EAAgBi+F,iBAAhB,CAAkC7X,mBAAlC,GAAsD3xG,CAAC,CAAC2xG,mBAAnM;AAA3B;;AAAkPjsD,eAAC,IAAE,CAAC//D,CAAC,CAAC0pI,kBAAN,KAA2B1pI,CAAC,CAACgpI,cAAF,CAAiBpB,cAAjB,IAAkC5nI,CAAC,CAAC0pI,kBAAF,GAAqB,IAAIt7D,GAAJ,CAAOrO,CAAP,EAASxmC,CAAT,CAAvD,EAAmEv5B,CAAC,CAAC0pI,kBAAF,CAAqBpoI,EAArB,CAAwB,mBAAxB,EAA4C,UAASrC,CAAT,EAAW;AAAC0kB,iBAAC,KAAGA,CAAC,CAACkgH,iBAAF,GAAoB5kI,CAApB,EAAsBe,CAAC,CAACkpI,kBAAF,CAAqBnC,cAArB,CAAoC9nI,CAAC,CAACmxH,GAAtC,CAAzB,CAAD;AAAsE,eAA9H,CAAnE,EAAmMpwH,CAAC,CAAC0pI,kBAAF,CAAqBpoI,EAArB,CAAwB,mBAAxB,EAA4C+Y,CAAC,CAAC7V,OAAF,CAAUgX,IAAV,CAAenB,CAAf,EAAiB,SAAjB,CAA5C,CAAnM,EAA4Qra,CAAC,CAAC0pI,kBAAF,CAAqBpoI,EAArB,CAAwB,mBAAxB,EAA4C+Y,CAAC,CAAC7V,OAAF,CAAUgX,IAAV,CAAenB,CAAf,EAAiB,wBAAjB,CAA5C,CAA5Q,EAAoWra,CAAC,CAAC0pI,kBAAF,CAAqBpoI,EAArB,CAAwB,qBAAxB,EAA8C,UAASrC,CAAT,EAAW;AAAC0kB,iBAAC,IAAE3jB,CAAC,CAACkpI,kBAAF,CAAqBlC,2BAArB,CAAiD/nI,CAAjD,CAAH;AAAuD,eAAjH,CAApW,EAAude,CAAC,CAAC0pI,kBAAF,CAAqBpoI,EAArB,CAAwB,YAAxB,EAAqC+Y,CAAC,CAAC7V,OAAF,CAAUgX,IAAV,CAAenB,CAAf,EAAiB,iBAAjB,CAArC,CAAvd,EAAiiBra,CAAC,CAACwpI,UAAF,CAAa5sG,IAAb,CAAkB58B,CAAC,CAAC0pI,kBAApB,EAAwC9sG,IAAxC,CAA6C58B,CAAC,CAACgpI,cAA/C,CAA5jB,GAA4nBrlH,CAAC,IAAE,CAAC3jB,CAAC,CAACkpI,kBAAN,KAA2BlpI,CAAC,CAACgpI,cAAF,CAAiBpB,cAAjB,IAAkC5nI,CAAC,CAACkpI,kBAAF,GAAqB,IAAI/tF,GAAJ,CAAOx3B,CAAP,EAAS4V,CAAT,CAAvD,EAAmEv5B,CAAC,CAACkpI,kBAAF,CAAqB5nI,EAArB,CAAwB,YAAxB,EAAqC+Y,CAAC,CAAC7V,OAAF,CAAUgX,IAAV,CAAenB,CAAf,EAAiB,iBAAjB,CAArC,CAAnE,EAA6Ira,CAAC,CAAC+oI,UAAF,CAAansG,IAAb,CAAkB58B,CAAC,CAACkpI,kBAApB,EAAwCtsG,IAAxC,CAA6C58B,CAAC,CAACgpI,cAA/C,CAAxK,CAA5nB,EAAo2B3uH,CAAC,CAAC7V,OAAF,CAAU,WAAV,EAAsB;AAAC2kI,wBAAQ,EAAC,CAAC,CAACxlH,CAAZ;AAAcjb,wBAAQ,EAAC,CAAC,CAACq3D;AAAzB,eAAtB,CAAp2B;AAAu5B;AAAC,WAAjtC,CAAvtB,EAA06D//D,CAAC,CAACgpI,cAAF,CAAiB1nI,EAAjB,CAAoB,MAApB,EAA2B,KAAKkD,OAAL,CAAagX,IAAb,CAAkB,IAAlB,EAAuB,MAAvB,CAA3B,CAA16D,EAAq+Dxb,CAAC,CAACgpI,cAAF,CAAiB1nI,EAAjB,CAAoB,UAApB,EAA+B,UAASrC,CAAT,EAAW;AAACA,aAAC,CAACulI,YAAF,GAAexkI,CAAC,CAAC6nI,cAAF,CAAiBrD,YAAhC,EAA6CnqH,CAAC,CAAC7V,OAAF,CAAU,UAAV,EAAqBvF,CAArB,CAA7C;AAAqE,WAAhH,CAAr+D,EAAulEe,CAAC,CAACgpI,cAAF,CAAiB1nI,EAAjB,CAAoB,SAApB,EAA8B,KAAKkD,OAAL,CAAagX,IAAb,CAAkB,IAAlB,EAAuB,SAAvB,CAA9B,CAAvlE,EAAwpExb,CAAC,CAACgpI,cAAF,CAAiB1nI,EAAjB,CAAoB,MAApB,EAA2B,KAAKkD,OAAL,CAAagX,IAAb,CAAkB,IAAlB,EAAuB,MAAvB,CAA3B,CAAxpE;AAAmtE,SAA9hH,EAA+hH,KAAKmuH,sBAAL,GAA4B,UAAS1qI,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC,KAAK8iG,iBAAX;AAA6BnvG,WAAC,CAAC2tG,sBAAF,KAA2B,KAAKlb,mBAAL,GAAyB/sH,CAApD,GAAuD0kB,CAAC,KAAGA,CAAC,CAACkgH,iBAAF,CAAoBzT,GAApB,GAAwB,KAAK,CAA7B,EAA+BzsG,CAAC,CAACkgH,iBAAF,CAAoBtU,GAApB,GAAwB,KAAK,CAA5D,EAA8D5pD,EAAE,CAAChiD,CAAD,CAAhE,EAAoE4V,CAAC,CAAC2tG,sBAAF,KAA2BvjH,CAAC,CAACkgH,iBAAF,CAAoB7X,mBAApB,GAAwC/sH,CAAnE,CAApE,EAA0I2mC,CAAC,CAACijG,4BAAF,IAAgCjjG,CAAC,CAACijG,4BAAF,CAA+B12B,aAA/B,EAA7K,CAAxD,EAAqRpyC,CAAC,KAAGn6B,CAAC,CAAC8jG,kBAAF,KAAuB9jG,CAAC,CAAC8jG,kBAAF,CAAqBtC,SAArB,GAA+B,EAAtD,GAA0DrnE,CAAC,CAAC8jE,iBAAF,CAAoBzT,GAApB,GAAwB,KAAK,CAAvF,EAAyFrwD,CAAC,CAAC8jE,iBAAF,CAAoBtU,GAApB,GAAwB,KAAK,CAAtH,EAAwH5pD,EAAE,CAAC5F,CAAD,CAA1H,EAA8Hn6B,CAAC,CAAC6jG,aAAF,CAAgB3zG,KAAhB,EAA9H,EAAsJyD,CAAC,CAAC2tG,sBAAF,KAA2BnnE,CAAC,CAAC8jE,iBAAF,CAAoB7X,mBAApB,GAAwC/sH,CAAnE,CAAzJ,CAAtR,EAAsf2mC,CAAC,CAAC2jG,uBAAF,IAA2B3jG,CAAC,CAAC2jG,uBAAF,CAA0Bp3B,aAA1B,EAAjhB;AAA2jB,SAA/pI,EAAgqI,KAAK80B,mBAAL,GAAyB,UAAShoI,CAAT,EAAW;AAAC0kB,WAAC,IAAE,KAAK+kH,iBAAL,CAAuBQ,kBAAvB,CAA0CjC,mBAA1C,CAA8DhoI,CAA9D,CAAH;AAAoE,SAAzwI,EAA0wI,KAAKwpI,QAAL,GAAc,UAASxpI,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC,KAAK8iG,iBAAX;AAA6BnvG,WAAC,CAACuuG,KAAF,GAAQ7oI,CAAR,EAAU2mC,CAAC,IAAEA,CAAC,CAACojG,cAAL,IAAqBpjG,CAAC,CAACojG,cAAF,CAAiBP,QAAjB,CAA0BxpI,CAA1B,CAA/B;AAA4D,SAA73I,EAA83I,KAAK0oI,aAAL,GAAmB,UAAS1oI,CAAT,EAAW;AAAC8gE,WAAC,IAAE,KAAK2oE,iBAAL,CAAuBgB,kBAA1B,IAA8C,KAAKhB,iBAAL,CAAuBgB,kBAAvB,CAA0C/B,aAA1C,CAAwD1oI,CAAxD,CAA9C;AAAyG,SAAtgJ,EAAugJ,KAAKuD,IAAL,GAAU,UAASvD,CAAT,EAAW;AAAC,cAAGe,CAAH,EAAK;AAAC,gBAAI4lC,CAAC,GAAC8oC,EAAE,CAACzvE,CAAD,CAAR;AAAY2mC,aAAC,IAAE,UAAQ,KAAK8iG,iBAAL,CAAuBl5H,IAAlC,GAAuC,KAAKm5H,gBAAL,EAAvC,GAA+D/iG,CAAC,IAAE,SAAO,KAAK8iG,iBAAL,CAAuBl5H,IAAjC,IAAuC,KAAK45H,eAAL,EAAtG,EAA6HppI,CAAC,GAAC,CAAC,CAAhI;AAAkI;;AAAA,eAAK0oI,iBAAL,CAAuBO,cAAvB,CAAsCzmI,IAAtC,CAA2CvD,CAA3C;AAA8C,SAA/tJ,EAAguJ,KAAKo6E,KAAL,GAAW,YAAU;AAACr5E,WAAC,GAAC,CAAC,CAAH,EAAK,KAAK0oI,iBAAL,CAAuBO,cAAvB,CAAsC5vD,KAAtC,EAAL;AAAmD,SAAzyJ,EAA0yJ,KAAKu2C,WAAL,GAAiB,YAAU;AAAC,eAAK8Y,iBAAL,CAAuBO,cAAvB,CAAsCrZ,WAAtC;AAAoD,SAA13J,EAA23J,KAAK95F,KAAL,GAAW,YAAU;AAAC,eAAK4yG,iBAAL,CAAuBO,cAAvB,IAAuC,KAAKP,iBAAL,CAAuBO,cAAvB,CAAsCnzG,KAAtC,EAAvC;AAAqF,SAAt+J,EAAu+J,KAAK8zG,aAAL,GAAmB,YAAU;AAAC,eAAKlB,iBAAL,CAAuBe,aAAvB,IAAsC,KAAKf,iBAAL,CAAuBe,aAAvB,CAAqC3zG,KAArC,EAAtC;AAAmF,SAAxlK;AAAylK,OAA7nK,EAA+nK9c,SAA/nK,GAAyoK,IAAImpD,CAAJ,EAA50X;AAAk1X,UAAI2M,EAAE,GAAC;AAAC+6D,kBAAU,EAACx7D,GAAZ;AAAey7D,0BAAkB,EAAC17D,GAAlC;AAAqC27D,0BAAkB,EAAC5uF,GAAxD;AAA2D6uF,wBAAgB,EAACp7D,EAA5E;AAA+Eq7D,wBAAgB,EAACp7D,EAAhG;AAAmGq7D,sCAA8B,EAACh9D;AAAlI,OAAP;;AAA6I,eAAS+B,EAAT,CAAYhwE,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,aAAI,IAAI5lC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC4lC,CAAC,CAACzjC,MAAhB,EAAuBnC,CAAC,EAAxB,EAA2B;AAAC,cAAIu5B,CAAC,GAACqM,CAAC,CAAC5lC,CAAD,CAAP;AAAWu5B,WAAC,CAACsO,UAAF,GAAatO,CAAC,CAACsO,UAAF,IAAc,CAAC,CAA5B,EAA8BtO,CAAC,CAAC6G,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU7G,CAAV,KAAcA,CAAC,CAACuO,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6EriC,MAAM,CAAC06B,cAAP,CAAsBlhC,CAAtB,EAAwBs6B,CAAC,CAAClV,GAA1B,EAA8BkV,CAA9B,CAA7E;AAA8G;AAAC;;AAAA,UAAI21C,EAAE,IAAE,UAASjwE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,eAAO4lC,CAAC,IAAEqpC,EAAE,CAAChwE,CAAC,CAAC+Z,SAAH,EAAa4sB,CAAb,CAAL,EAAqB5lC,CAAC,IAAEivE,EAAE,CAAChwE,CAAD,EAAGe,CAAH,CAA1B,EAAgCf,CAAvC;AAAyC,OAAzD,CAA0DkwE,EAA1D,EAA6D,CAAC;AAAC9qD,WAAG,EAAC,MAAL;AAAYC,aAAK,EAAC,iBAAU;AAAC,eAAK6lH,UAAL,IAAiB,KAAKA,UAAL,CAAgBz5H,OAAhB,EAAjB,EAA2C,KAAKy5H,UAAL,GAAgB,IAAIr7D,EAAE,CAAC+6D,UAAP,CAAkB,KAAK7uH,OAAvB,CAA3D,EAA2F,UAASue,CAAT,EAAWt6B,CAAX,EAAa;AAACA,aAAC,CAACqC,EAAF,CAAK,MAAL,EAAY,UAASrC,CAAT,EAAW;AAAC,kBAAI2mC,CAAC,GAAC3mC,CAAC,CAACupI,WAAR;AAAoBvpI,eAAC,CAACupI,WAAF,GAAc;AAAC/oI,oBAAI,EAACmmC,CAAC,CAACh7B,MAAR;AAAeu7G,0BAAU,EAACvgF,CAAC,CAACugF,UAA5B;AAAuCC,0BAAU,EAACxgF,CAAC,CAACwgF;AAApD,eAAd;AAA8E,kBAAIpmH,CAAC,GAACf,CAAC,CAACQ,IAAR;AAAaR,eAAC,CAACQ,IAAF,GAAOO,CAAC,CAAC4K,MAAT,EAAgB2uB,CAAC,CAACmoG,WAAF,CAAc;AAACjjE,sBAAM,EAAC,MAAR;AAAemxC,uBAAO,EAAC3wG,CAAvB;AAAyBknH,0BAAU,EAACnmH,CAAC,CAACmmH,UAAtC;AAAiDC,0BAAU,EAACpmH,CAAC,CAAComH;AAA9D,eAAd,EAAwF,CAACnnH,CAAC,CAACQ,IAAH,CAAxF,CAAhB;AAAkH,aAAzP,GAA2PR,CAAC,CAACwqI,aAAF,IAAiBxqI,CAAC,CAACwqI,aAAF,CAAgBnoI,EAAhB,CAAmB,MAAnB,EAA0B,UAASrC,CAAT,EAAW;AAACs6B,eAAC,CAACmoG,WAAF,CAAc;AAACjjE,sBAAM,EAAC,SAAR;AAAkBh/D,oBAAI,EAACR;AAAvB,eAAd;AAAyC,aAA/E,CAA5Q,EAA6VA,CAAC,CAACqC,EAAF,CAAK,MAAL,EAAY,UAASrC,CAAT,EAAW;AAACs6B,eAAC,CAACmoG,WAAF,CAAc;AAACjjE,sBAAM,EAAC;AAAR,eAAd;AAA+B,aAAvD,CAA7V,EAAsZx/D,CAAC,CAACqC,EAAF,CAAK,SAAL,EAAe,UAASrC,CAAT,EAAW;AAACs6B,eAAC,CAACmoG,WAAF,CAAc;AAACjjE,sBAAM,EAAC,SAAR;AAAkB2rE,uBAAO,EAACnrI;AAA1B,eAAd;AAA4C,aAAvE,CAAtZ,EAA+dA,CAAC,CAACqC,EAAF,CAAK,wBAAL,EAA8B,UAASrC,CAAT,EAAW;AAACs6B,eAAC,CAACmoG,WAAF,CAAc;AAACjjE,sBAAM,EAAC,wBAAR;AAAiC4rE,sCAAsB,EAACprI;AAAxD,eAAd;AAA0E,aAApH,CAA/d;AAAqlB,WAAnmB,CAAomB,KAAKkb,IAAzmB,EAA8mB,KAAKgwH,UAAnnB,CAA3F;AAA0tB;AAAvvB,OAAD,EAA0vB;AAAC9lH,WAAG,EAAC,MAAL;AAAYC,aAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC,IAAIyrE,UAAJ,CAAepyG,CAAC,CAACQ,IAAjB,EAAsBR,CAAC,CAACknH,UAAxB,EAAmClnH,CAAC,CAACmnH,UAArC,CAAN;AAAuD,eAAK+jB,UAAL,CAAgB3nI,IAAhB,CAAqBojC,CAArB;AAAwB;AAA7G,OAA1vB,EAAy2B;AAACvhB,WAAG,EAAC,OAAL;AAAaC,aAAK,EAAC,iBAAU;AAAC,eAAK3jB,IAAL;AAAY;AAA1C,OAAz2B,EAAq5B;AAAC0jB,WAAG,EAAC,oBAAL;AAA0BC,aAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC3mC,CAAC,CAAC0/H,eAAF,IAAmB,CAAzB;AAA2B,eAAKwL,UAAL,CAAgBR,sBAAhB,CAAuC/pH,IAAI,CAACguB,KAAL,CAAW,MAAIhI,CAAf,CAAvC;AAA0D;AAAjI,OAAr5B,EAAwhC;AAACvhB,WAAG,EAAC,qBAAL;AAA2BC,aAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,eAAKkrI,UAAL,CAAgBlD,mBAAhB,CAAoCrnH,IAAI,CAAC6wB,IAAL,CAAU,MAAIxxC,CAAC,CAACqrI,WAAhB,CAApC;AAAkE;AAA/G,OAAxhC,EAAyoC;AAACjmH,WAAG,EAAC,OAAL;AAAaC,aAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,eAAKkrI,UAAL,CAAgB9wD,KAAhB;AAAwB;AAAvD,OAAzoC,EAAksC;AAACh1D,WAAG,EAAC,eAAL;AAAqBC,aAAK,EAAC,iBAAU;AAAC,eAAK6lH,UAAL,CAAgBP,aAAhB;AAAgC;AAAtE,OAAlsC,EAA0wC;AAACvlH,WAAG,EAAC,eAAL;AAAqBC,aAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,eAAKkrI,UAAL,CAAgBxC,aAAhB,CAA8B1oI,CAAC,CAACsrI,eAAF,CAAkB3wH,KAAlB,EAA9B;AAAyD;AAAhG,OAA1wC,CAA7D,GAA26Cu1D,EAA76C,CAAN;;AAAu7C,eAASA,EAAT,CAAYlwE,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAC,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAG,EAAE3mC,CAAC,YAAY2mC,CAAf,CAAH,EAAqB,MAAM,IAAIpI,SAAJ,CAAc,mCAAd,CAAN;AAAyD,SAA5F,CAA6F,IAA7F,EAAkG2xC,EAAlG,CAAD,EAAuG,KAAKn0D,OAAL,GAAa4qB,CAAC,IAAE,EAAvH,EAA0H,KAAKzrB,IAAL,GAAUlb,CAApI,EAAsI,KAAK0B,IAAL,EAAtI;AAAkJ;;AAAA,UAAI,UAASilC,CAAT,EAAW;AAACA,SAAC,CAAC+7F,SAAF,GAAY,UAAS1iI,CAAT,EAAW;AAAC,qBAASA,CAAC,CAACQ,IAAF,CAAOg/D,MAAhB,IAAwBx/D,CAAC,CAACQ,IAAF,CAAOub,OAA/B,GAAuC,KAAKwvH,eAAL,GAAqB,IAAIt7D,EAAJ,CAAOtpC,CAAP,EAAS3mC,CAAC,CAACQ,IAAF,CAAOub,OAAhB,CAA5D,IAAsF,KAAKwvH,eAAL,KAAuB,KAAKA,eAAL,GAAqB,IAAIt7D,EAAJ,CAAOtpC,CAAP,CAA5C,GAAuD3mC,CAAC,CAACQ,IAAF,IAAQR,CAAC,CAACQ,IAAF,CAAOg/D,MAAf,IAAuB,WAASx/D,CAAC,CAACQ,IAAF,CAAOg/D,MAAvC,IAA+C,KAAK+rE,eAAL,CAAqBvrI,CAAC,CAACQ,IAAF,CAAOg/D,MAA5B,CAA/C,IAAoF,KAAK+rE,eAAL,CAAqBvrI,CAAC,CAACQ,IAAF,CAAOg/D,MAA5B,EAAoCx/D,CAAC,CAACQ,IAAtC,CAAjO;AAA8Q,SAAtS;AAAuS,OAAvT,CAAwT2vE,EAAxT;AAA4T,KAApmmD,EAAD;AAAwmmD,GAAzqmD,CAAP;AAAA,MAAkrmDuzD,EAAE,GAAC;AAACL,cAAU,EAAC,MAAZ;AAAmBC,4BAAwB,EAAC,SAA5C;AAAsDC,gBAAY,EAAC;AAAnE,GAArrmD;AAAA,MAA6vmDiI,EAAE,IAAEtR,EAAE,CAACuR,EAAD,EAAI7+B,EAAE,CAACoB,WAAP,CAAF,EAAsBgsB,EAAE,CAACyR,EAAD,EAAI,CAAC;AAACrmH,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACQ,IAAF,CAAOmwG,OAAb;AAAqBhqE,OAAC,CAACnmC,IAAF,GAAO,IAAI4xG,UAAJ,CAAezrE,CAAC,CAACnmC,IAAjB,EAAsBR,CAAC,CAACQ,IAAF,CAAO0mH,UAA7B,EAAwClnH,CAAC,CAACQ,IAAF,CAAO2mH,UAA/C,CAAP,EAAkExgF,CAAC,CAAC4iG,WAAF,GAAc,IAAIn3B,UAAJ,CAAezrE,CAAC,CAAC4iG,WAAF,CAAc/oI,IAA7B,EAAkCmmC,CAAC,CAAC4iG,WAAF,CAAcriB,UAAhD,EAA2DvgF,CAAC,CAAC4iG,WAAF,CAAcpiB,UAAzE,CAAhF,EAAqK,UAASnnH,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAIu5B,CAAC,GAACqM,CAAC,CAAC8hC,OAAR;AAAgB,YAAG1nE,CAAC,CAACo2E,QAAF,IAAYp2E,CAAC,CAACo2E,QAAF,CAAWj0E,MAA1B,EAAiC,KAAI,IAAI49D,CAAR,IAAa9gE,CAAC,CAACy/H,iBAAF,KAAsBz/H,CAAC,CAACy/H,iBAAF,GAAoB,EAA1C,GAA8C1+H,CAAC,CAACy0H,cAA7D;AAA4E,cAAG,CAACx1H,CAAC,CAACy/H,iBAAF,CAAoB3+D,CAApB,CAAJ,EAA2B;AAACxmC,aAAC,CAACigD,KAAF,CAAQh1E,OAAR,CAAgB;AAACgL,kBAAI,EAAC,OAAN;AAAcqZ,kBAAI,EAAC;AAAnB,aAAhB;AAA+C,gBAAIlF,CAAC,GAAC4V,CAAC,CAACm2C,UAAF,GAAeuE,YAAf,CAA4BlU,CAA5B,CAAN;AAAqC9gE,aAAC,CAACy/H,iBAAF,CAAoB3+D,CAApB,IAAuBp8C,CAAC,IAAE4V,CAAC,CAACq2C,kBAAF,CAAqB;AAAC0F,kBAAI,EAAC,UAAN;AAAiBp1E,gBAAE,EAAC6/D,CAApB;AAAsBoS,mBAAK,EAACpS;AAA5B,aAArB,EAAoD,CAAC,CAArD,EAAwD0P,KAAlF;AAAwF;AAApR;AAAoRzvE,SAAC,CAAC82E,QAAF,IAAY92E,CAAC,CAAC82E,QAAF,CAAW30E,MAAvB,IAA+B,CAAClD,CAAC,CAACggI,cAAlC,KAAmDhgI,CAAC,CAACggI,cAAF,GAAiB1lG,CAAC,CAACq2C,kBAAF,CAAqB;AAAC0F,cAAI,EAAC,UAAN;AAAiBnD,eAAK,EAAC;AAAvB,SAArB,EAA8D,CAAC,CAA/D,EAAkE1C,KAAnF,EAAyFxwE,CAAC,CAACggI,cAAF,CAAiB0L,+BAAjB,GAAiD3qI,CAAC,CAAC82E,QAAF,CAAW0tD,YAAxM;AAAsN,OAA3iB,CAA4iB,IAA5iB,EAAijB,KAAK5F,YAAtjB,EAAmkBh5F,CAAnkB,CAArK,EAA2uB,KAAKglG,eAAL,CAAqBpoI,IAArB,CAA0BojC,CAA1B,CAA3uB;AAAwwB;AAA5zB,GAAD,EAA+zB;AAACvhB,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,mBAAW,KAAK2/H,YAAL,CAAkB7/F,UAA7B,GAAwC,KAAK8rG,uBAAL,EAAxC,GAAuE,KAAKD,eAAL,CAAqBzoI,MAArB,GAA4B,CAAnG;AAAqG;AAApI,GAA/zB,EAAq8B;AAACkiB,OAAG,EAAC,yBAAL;AAA+BC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC;AAACnlB,aAAK,EAAC;AAAC++D,gBAAM,EAACvgF,CAAC,CAACwhB,KAAF,CAAQ2vG,GAAR,GAAY,GAApB;AAAwB0a,sBAAY,EAAC7rI,CAAC,CAACwhB,KAAF,CAAQ8uG,GAAR,GAAY;AAAjD,SAAP;AAA6D5mG,WAAG,EAAC;AAAC62D,gBAAM,EAACvgF,CAAC,CAAC0pB,GAAF,CAAMynG,GAAN,GAAU,GAAlB;AAAsB0a,sBAAY,EAAC7rI,CAAC,CAAC0pB,GAAF,CAAM4mG,GAAN,GAAU;AAA7C,SAAjE;AAAmHvD,2BAAmB,EAAC/sH,CAAC,CAAC+sH,mBAAF,GAAsB;AAA7J,OAAN;AAAwK/sH,OAAC,CAAC6nI,wBAAF,KAA6BlhG,CAAC,CAACkhG,wBAAF,GAA2B7nI,CAAC,CAAC6nI,wBAAF,GAA2B,GAAnF,GAAwF,KAAKtiI,OAAL,CAAa;AAACgL,YAAI,EAAC,wBAAN;AAA+B66H,8BAAsB,EAACzkG;AAAtD,OAAb,CAAxF;AAA+J;AAAxX,GAAr8B,EAA+zC;AAACvhB,OAAG,EAAC,0BAAL;AAAgCC,SAAK,EAAC,iBAAU;AAAC,UAAIiV,CAAC,GAAC,IAAN;AAAA,UAAWwmC,CAAC,GAAC,CAAC,OAAD,EAAS,OAAT,CAAb;AAA+BA,OAAC,CAAC/3D,OAAF,CAAU,UAAS49B,CAAT,EAAW;AAAC,YAAGrM,CAAC,CAACqM,CAAC,GAAC,QAAH,CAAD,IAAe,CAACrM,CAAC,CAACqM,CAAC,GAAC,SAAH,CAApB,EAAkC;AAAC,cAAI5lC,CAAC,GAAC,IAAN;AAAW,cAAGu5B,CAAC,CAACqlG,YAAF,CAAeh5F,CAAC,GAAC,SAAjB,CAAH,EAA+B,CAAC5lC,CAAC,GAACu5B,CAAC,CAACqlG,YAAF,CAAeh5F,CAAC,GAAC,SAAjB,CAAH,EAAgCmlG,QAAhC,GAAyC,CAAC,CAA1C,CAA/B,KAA+E;AAAC,gBAAI9rI,CAAC,GAAC2mC,CAAC,GAAC,eAAF,GAAkBrM,CAAC,CAACqM,CAAC,GAAC,QAAH,CAAnB,GAAgC,GAAtC;AAA0C5lC,aAAC,GAAC,UAASf,CAAT,EAAW2mC,CAAX,EAAa;AAAC,kBAAI5lC,CAAC,GAACf,CAAC,CAAC+rI,eAAF,CAAkBplG,CAAlB,CAAN;AAAA,kBAA2BrM,CAAC,GAAC9zB,MAAM,CAACgW,MAAP,CAAc,IAAd,CAA7B;;AAAiD,uBAASskD,CAAT,CAAWn6B,CAAX,EAAa;AAAC,8BAAY,OAAO5lC,CAAC,CAAC4lC,CAAD,CAApB,GAAwBrM,CAAC,CAACqM,CAAD,CAAD,GAAK,YAAU;AAAC,yBAAO5lC,CAAC,CAAC4lC,CAAD,CAAD,CAAKjhC,KAAL,CAAW3E,CAAX,EAAamoB,SAAb,CAAP;AAA+B,iBAAvE,GAAwE,eAAa,OAAOoR,CAAC,CAACqM,CAAD,CAArB,IAA0BngC,MAAM,CAAC06B,cAAP,CAAsB5G,CAAtB,EAAwBqM,CAAxB,EAA0B;AAACje,qBAAG,EAAC,eAAU;AAAC,2BAAO3nB,CAAC,CAAC4lC,CAAD,CAAR;AAAY,mBAA5B;AAA6BvF,qBAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,2BAAOe,CAAC,CAAC4lC,CAAD,CAAD,GAAK3mC,CAAZ;AAAc;AAA3D,iBAA1B,CAAlG;AAA0L;;AAAA,mBAAI,IAAI0kB,CAAR,IAAa4V,CAAC,CAACwxG,QAAF,GAAW,CAAC,CAAZ,EAAcxxG,CAAC,CAAC0xG,WAAF,GAAcjrI,CAAzC;AAA2C+/D,iBAAC,CAACp8C,CAAD,CAAD;AAA3C;;AAAgD,qBAAO4V,CAAP;AAAS,aAAhU,CAAiUA,CAAC,CAACqlG,YAAF,CAAesM,kBAAhV,EAAmWjsI,CAAnW,CAAF,EAAwWs6B,CAAC,CAACqlG,YAAF,CAAeh5F,CAAC,GAAC,SAAjB,IAA4B5lC,CAApY;AAAsY;AAAAu5B,WAAC,CAACqM,CAAC,GAAC,SAAH,CAAD,GAAe5lC,CAAf,EAAiB,CAAC,QAAD,EAAU,aAAV,EAAwB,WAAxB,EAAqCgI,OAArC,CAA6C,UAAS/I,CAAT,EAAW;AAACe,aAAC,CAAC6X,gBAAF,CAAmB5Y,CAAnB,EAAqB,YAAU;AAAC,kBAAG,YAAU2mC,CAAV,IAAa,CAACrM,CAAC,CAAC4xG,cAAnB,EAAkC,OAAM,gBAAclsI,CAAd,KAAkBs6B,CAAC,CAACqM,CAAC,GAAC,SAAH,CAAD,CAAemlG,QAAf,GAAwB,CAAC,CAA3C,GAA8ChrE,CAAC,CAAC8G,KAAF,CAAQ,UAAS5nE,CAAT,EAAW;AAAC,uBAAM,EAAE,YAAUA,CAAV,IAAa,CAACs6B,CAAC,CAAC4xG,cAAlB,KAAmCvlG,CAAC,KAAG3mC,CAAvC,IAA0C,CAACs6B,CAAC,CAACt6B,CAAC,GAAC,SAAH,CAA5C,IAA2D,CAACs6B,CAAC,CAACt6B,CAAC,GAAC,SAAH,CAAD,CAAe8rI,QAAjF;AAA0F,eAA9G,IAAgHxxG,CAAC,CAAC/0B,OAAF,CAAUvF,CAAV,CAAhH,GAA6H,KAAK,CAAtL;AAAwL,aAA1P;AAA4P,WAArT,CAAjB;AAAwU;AAAC,OAA74B;AAA+4B;AAA/9B,GAA/zC,EAAgyE;AAAColB,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAG,KAAKmsI,eAAL,GAAqB,CAAC,CAAtB,EAAwB,KAAKC,YAAL,IAAmB,KAAKA,YAAL,CAAkBhoD,QAAlB,CAA2BlhF,MAAzE,EAAgF;AAAC,YAAIyjC,CAAC,GAAC,KAAKylG,YAAL,CAAkBhoD,QAAxB;AAAiC,aAAKioD,WAAL,CAAiB5J,WAAjB,CAA6B;AAACjjE,gBAAM,EAAC,qBAAR;AAA8B6rE,qBAAW,EAAC1kG,CAAC,CAACjd,GAAF,CAAMid,CAAC,CAACzjC,MAAF,GAAS,CAAf;AAA1C,SAA7B;AAA2F;;AAAA,WAAKopI,YAAL,IAAmB,KAAKD,WAAL,CAAiB5J,WAAjB,CAA6B;AAACjjE,cAAM,EAAC,eAAR;AAAwB8rE,uBAAe,EAAC,UAAStrI,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,cAAG,eAAa,OAAO4lC,CAApB,IAAuB,SAAOA,CAA9B,IAAiC,CAAC3mC,CAAC,CAACkD,MAAvC,EAA8C,OAAM,EAAN;AAAS,cAAIo3B,CAAC,GAAC3Z,IAAI,CAAC6wB,IAAL,CAAU,OAAK7K,CAAC,GAAC5lC,CAAF,GAAI,CAAT,CAAV,CAAN;AAAA,cAA6B+/D,CAAC,GAAC,KAAK,CAApC;;AAAsC,eAAIA,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC9gE,CAAC,CAACkD,MAAJ,IAAY,EAAElD,CAAC,CAAC8gE,CAAD,CAAD,CAAKwvD,GAAL,GAASh2F,CAAX,CAApB,EAAkCwmC,CAAC,EAAnC;AAAsC;AAAtC;;AAAuC,iBAAO9gE,CAAC,CAAC2a,KAAF,CAAQmmD,CAAR,CAAP;AAAkB,SAAtK,CAAuK,KAAKyrE,UAA5K,EAAuL,KAAK5M,YAAL,CAAkBl3D,OAAlB,GAA0B,KAAKk3D,YAAL,CAAkBl3D,OAAlB,CAA0B54D,WAA1B,EAA1B,GAAkE,IAAzP,EAA8P,KAAK28H,YAAnQ;AAAxC,OAA7B,CAAnB,EAA2W,KAAKH,WAAL,CAAiB5J,WAAjB,CAA6B;AAACjjE,cAAM,EAAC,MAAR;AAAeh/D,YAAI,EAACR,CAAC,CAAC2L,MAAtB;AAA6Bu7G,kBAAU,EAAClnH,CAAC,CAACknH,UAA1C;AAAqDC,kBAAU,EAACnnH,CAAC,CAACmnH;AAAlE,OAA7B,EAA2G,CAACnnH,CAAC,CAAC2L,MAAH,CAA3G,CAA3W,EAAke,KAAK0gI,WAAL,CAAiB5J,WAAjB,CAA6B;AAACjjE,cAAM,EAAC;AAAR,OAA7B,CAAle;AAAihB;AAApwB,GAAhyE,EAAsiG;AAACp6C,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,WAAKusI,UAAL,GAAgB,UAASvsI,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAG,CAAC4lC,CAAC,CAACzjC,MAAN,EAAa,OAAOlD,CAAP;AAAS,YAAGe,CAAH,EAAK,OAAO4lC,CAAC,CAAChsB,KAAF,EAAP;;AAAiB,aAAI,IAAI2f,CAAC,GAACqM,CAAC,CAAC,CAAD,CAAD,CAAK2pF,GAAX,EAAexvD,CAAC,GAAC,CAArB,EAAuBA,CAAC,GAAC9gE,CAAC,CAACkD,MAAJ,IAAY,EAAElD,CAAC,CAAC8gE,CAAD,CAAD,CAAKwvD,GAAL,IAAUh2F,CAAZ,CAAnC,EAAkDwmC,CAAC,EAAnD;AAAsD;AAAtD;;AAAuD,eAAO9gE,CAAC,CAAC2a,KAAF,CAAQ,CAAR,EAAUmmD,CAAV,EAAa/5C,MAAb,CAAoB4f,CAApB,CAAP;AAA8B,OAAjJ,CAAkJ,KAAK4lG,UAAvJ,EAAkKvsI,CAAC,CAACQ,IAAF,CAAO2qI,OAAzK,EAAiL,KAAKsB,WAAtL,CAAhB;AAAmN;AAA3P,GAAtiG,EAAmyG;AAACrnH,OAAG,EAAC,QAAL;AAAcC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,KAAK2lG,YAAL,KAAoB,KAAKA,YAAL,CAAkBR,QAAlB,GAA2B,CAAC,CAA5B,EAA8B,KAAKQ,YAAL,CAAkBhrI,MAAlB,CAAyBtB,CAAzB,EAA2B2mC,CAA3B,CAA9B,EAA4D,KAAK4lG,UAAL,GAAgB,UAASvsI,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,aAAI,IAAIwmC,CAAC,GAACngD,IAAI,CAAC6wB,IAAL,CAAU,OAAK7K,CAAC,GAACrM,CAAP,CAAV,CAAN,EAA2B5V,CAAC,GAAC/D,IAAI,CAAC6wB,IAAL,CAAU,OAAKzwC,CAAC,GAACu5B,CAAP,CAAV,CAA7B,EAAkDlf,CAAC,GAACpb,CAAC,CAAC2a,KAAF,EAApD,EAA8DgmD,CAAC,GAAC3gE,CAAC,CAACkD,MAAtE,EAA6Ey9D,CAAC,MAAI,EAAE3gE,CAAC,CAAC2gE,CAAD,CAAD,CAAK2vD,GAAL,IAAU5rG,CAAZ,CAAlF;AAAkG;AAAlG;;AAAmG,YAAG,CAAC,CAAD,KAAKi8C,CAAR,EAAU,OAAOvlD,CAAP;;AAAS,aAAI,IAAIwlD,CAAC,GAACD,CAAC,GAAC,CAAZ,EAAcC,CAAC,MAAI,EAAE5gE,CAAC,CAAC4gE,CAAD,CAAD,CAAK0vD,GAAL,IAAUxvD,CAAZ,CAAnB;AAAmC;AAAnC;;AAAoC,eAAOF,CAAC,GAACjgD,IAAI,CAACC,GAAL,CAASggD,CAAT,EAAW,CAAX,CAAF,EAAgBxlD,CAAC,CAACZ,MAAF,CAASomD,CAAT,EAAWD,CAAC,GAACC,CAAF,GAAI,CAAf,CAAhB,EAAkCxlD,CAAzC;AAA2C,OAAvN,CAAwN,KAAKmxH,UAA7N,EAAwOvsI,CAAxO,EAA0O2mC,CAA1O,EAA4O,KAAK6lG,YAAjP,CAAhG,GAAgW,CAAC,KAAKN,cAAN,IAAsB,KAAKE,YAA3B,KAA0C,KAAKA,YAAL,CAAkBN,QAAlB,GAA2B,CAAC,CAA5B,EAA8B,KAAKM,YAAL,CAAkB9qI,MAAlB,CAAyBtB,CAAzB,EAA2B2mC,CAA3B,CAAxE,CAAhW,EAAuc04F,EAAE,CAACr/H,CAAD,EAAG2mC,CAAH,EAAK,KAAKq5F,cAAV,CAAzc,EAAme,KAAKP,iBAA3e,EAA6f,KAAI,IAAI1+H,CAAR,IAAa,KAAK0+H,iBAAlB;AAAoCJ,UAAE,CAACr/H,CAAD,EAAG2mC,CAAH,EAAK,KAAK84F,iBAAL,CAAuB1+H,CAAvB,CAAL,CAAF;AAApC;AAAsE;AAArmB,GAAnyG,EAA04H;AAACqkB,OAAG,EAAC,yBAAL;AAA+BC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC;AAACg8E,aAAK,EAAC;AAACs1B,kBAAQ,EAAC,EAAV;AAAassB,eAAK,EAAC;AAAnB,SAAP;AAA6BhiD,aAAK,EAAC;AAAC01B,kBAAQ,EAAC,EAAV;AAAassB,eAAK,EAAC;AAAnB,SAAnC;AAAyDzmD,gBAAQ,EAAC,EAAlE;AAAqEU,gBAAQ,EAAC;AAA9E,OAAN;AAAwF,UAAG,CAAC,KAAK8zD,eAAL,CAAqBzoI,MAAzB,EAAgC,OAAO,KAAKqC,OAAL,CAAa,WAAb,GAA0B,MAAK,KAAK4mI,eAAL,GAAqB,CAAC,CAA3B,CAAjC;AAA+DnsI,OAAC,GAAC,KAAK2rI,eAAL,CAAqBphE,MAArB,CAA4B,UAASvqE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC4lC,CAAC,CAACp2B,IAAR;AAAA,YAAa+pB,CAAC,GAACqM,CAAC,CAACnmC,IAAjB;AAAA,YAAsBsgE,CAAC,GAACn6B,CAAC,CAAC4iG,WAA1B;AAAsC,eAAOvpI,CAAC,CAACe,CAAD,CAAD,CAAKuwG,QAAL,CAAc/tG,IAAd,CAAmB+2B,CAAnB,GAAsBt6B,CAAC,CAACe,CAAD,CAAD,CAAK68H,KAAL,IAAYtjG,CAAC,CAAC6sF,UAApC,EAA+CnnH,CAAC,CAACe,CAAD,CAAD,CAAKwoI,WAAL,GAAiBzoE,CAAhE,EAAkEn6B,CAAC,CAACwwC,QAAF,KAAan3E,CAAC,CAACm3E,QAAF,GAAWn3E,CAAC,CAACm3E,QAAF,CAAWpwD,MAAX,CAAkB4f,CAAC,CAACwwC,QAApB,CAAxB,CAAlE,EAAyHxwC,CAAC,CAACyyB,IAAF,KAASp5D,CAAC,CAACe,CAAD,CAAD,CAAKq4D,IAAL,GAAUzyB,CAAC,CAACyyB,IAArB,CAAzH,EAAoJzyB,CAAC,CAACkxC,QAAF,KAAa73E,CAAC,CAAC63E,QAAF,GAAW73E,CAAC,CAAC63E,QAAF,CAAW9wD,MAAX,CAAkB4f,CAAC,CAACkxC,QAApB,CAAxB,CAApJ,EAA2M73E,CAAlN;AAAoN,OAApS,EAAqSA,CAArS,CAAF,EAA0S,KAAKssI,YAAL,IAAmB,KAAKF,YAAxB,KAAuC,MAAIpsI,CAAC,CAACg8E,KAAF,CAAQ4hD,KAAZ,KAAoB,KAAK8O,WAAL,GAAiB,IAArC,GAA2C,MAAI1sI,CAAC,CAAC47E,KAAF,CAAQgiD,KAAZ,KAAoB,KAAK+O,WAAL,GAAiB,IAArC,CAA3C,EAAsF,KAAKC,wBAAL,EAA7H,CAA1S,EAAwc5sI,CAAC,CAAC47E,KAAF,CAAQxiB,IAAR,IAAc,KAAKumE,YAAL,CAAkBp6H,OAAlB,CAA0B;AAACgL,YAAI,EAAC,WAAN;AAAkB6oD,YAAI,EAACp5D,CAAC,CAAC47E,KAAF,CAAQxiB;AAA/B,OAA1B,CAAtd,EAAshBp5D,CAAC,CAACg8E,KAAF,CAAQ5iB,IAAR,IAAc,KAAKumE,YAAL,CAAkBp6H,OAAlB,CAA0B;AAACgL,YAAI,EAAC,WAAN;AAAkB6oD,YAAI,EAACp5D,CAAC,CAACg8E,KAAF,CAAQ5iB;AAA/B,OAA1B,CAApiB,EAAomB,KAAKyzE,uBAAL,KAA+B,CAAC,KAAKX,cAAN,IAAsB,KAAKE,YAA3B,KAA0CpsI,CAAC,CAAC47E,KAAF,CAAQ01B,QAAR,CAAiB99E,OAAjB,CAAyBxzB,CAAC,CAAC47E,KAAF,CAAQ2tD,WAAjC,GAA8CvpI,CAAC,CAAC47E,KAAF,CAAQgiD,KAAR,IAAe59H,CAAC,CAAC47E,KAAF,CAAQ2tD,WAAR,CAAoBpiB,UAA3H,GAAuI,KAAK0lB,uBAAL,GAA6B,CAAC,CAApM,CAApmB;AAA2yB,UAAIlmG,CAAC,GAAC,CAAC,CAAP;AAAS,WAAK2lG,YAAL,IAAmBtsI,CAAC,CAACg8E,KAAF,CAAQ4hD,KAA3B,IAAkC59H,CAAC,CAACg8E,KAAF,CAAQs1B,QAAR,CAAiB99E,OAAjB,CAAyBxzB,CAAC,CAACg8E,KAAF,CAAQutD,WAAjC,GAA8CvpI,CAAC,CAACg8E,KAAF,CAAQ4hD,KAAR,IAAe59H,CAAC,CAACg8E,KAAF,CAAQutD,WAAR,CAAoBpiB,UAAjF,EAA4F,KAAK2lB,wBAAL,CAA8B9sI,CAAC,CAACg8E,KAAhC,EAAsC,KAAKswD,YAA3C,CAA9H,IAAwL,CAAC,KAAKA,YAAN,IAAoB,CAAC,KAAKJ,cAAN,IAAsB,KAAKE,YAA/C,KAA8DzlG,CAAC,GAAC,CAAC,CAAjE,CAAxL,EAA4P44F,EAAE,CAAC,IAAD,EAAMv/H,CAAC,CAACm3E,QAAR,EAAiBn3E,CAAC,CAAC63E,QAAnB,CAA9P,EAA2R,CAAC,KAAKq0D,cAAN,IAAsB,KAAKE,YAA3B,IAAyC,KAAKU,wBAAL,CAA8B9sI,CAAC,CAAC47E,KAAhC,EAAsC,KAAKwwD,YAA3C,CAApU,EAA6X,KAAKT,eAAL,CAAqBzoI,MAArB,GAA4B,CAAzZ,EAA2ZyjC,CAAC,IAAE,KAAKphC,OAAL,CAAa,WAAb,CAA9Z,EAAwb,KAAK4mI,eAAL,GAAqB,CAAC,CAA9c;AAAgd;AAA3+C,GAA14H,EAAu3K;AAAC/mH,OAAG,EAAC,0BAAL;AAAgCC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,CAAN;AAAA,UAAQu5B,CAAC,GAAC,KAAK,CAAf;;AAAiB,UAAGt6B,CAAC,CAAC49H,KAAL,EAAW;AAACtjG,SAAC,GAAC,IAAI83E,UAAJ,CAAepyG,CAAC,CAAC49H,KAAjB,CAAF,EAA0B59H,CAAC,CAACsxG,QAAF,CAAWvoG,OAAX,CAAmB,UAAS/I,CAAT,EAAW;AAACs6B,WAAC,CAAC8G,GAAF,CAAMphC,CAAN,EAAQe,CAAR,GAAWA,CAAC,IAAEf,CAAC,CAACmnH,UAAhB;AAA2B,SAA1D,CAA1B;;AAAsF,YAAG;AAACxgF,WAAC,CAACmlG,QAAF,GAAW,CAAC,CAAZ,EAAcnlG,CAAC,CAAComG,YAAF,CAAezyG,CAAf,CAAd;AAAgC,SAApC,CAAoC,OAAMt6B,CAAN,EAAQ;AAAC,eAAK2/H,YAAL,CAAkBl3D,OAAlB,IAA2B,KAAKk3D,YAAL,CAAkBl3D,OAAlB,CAA0BxjE,KAA1B,CAAgC;AAAC0iB,gBAAI,EAAC,CAAC,CAAP;AAASpX,gBAAI,EAAC,mBAAd;AAAkC0N,mBAAO,EAACje,CAAC,CAACie,OAA5C;AAAoD+uH,yBAAa,EAAChtI;AAAlE,WAAhC,CAA3B;AAAiI;AAAC;AAAC;AAAvV,GAAv3K,EAAgtL;AAAColB,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,iBAAU;AAAC,WAAKinH,YAAL,IAAmB,KAAKA,YAAL,CAAkBztF,KAAlB,EAAnB,EAA6C,CAAC,KAAKqtF,cAAN,IAAsB,KAAKE,YAA3B,IAAyC,KAAKA,YAAL,CAAkBvtF,KAAlB,EAAtF,EAAgH,KAAKwtF,WAAL,IAAkB,KAAKA,WAAL,CAAiB5J,WAAjB,CAA6B;AAACjjE,cAAM,EAAC;AAAR,OAA7B,CAAlI,EAAiL,KAAKmsE,eAAL,CAAqBzoI,MAArB,GAA4B,CAA7M,EAA+M,KAAKipI,eAAL,GAAqB,CAAC,CAArO;AAAuO;AAArQ,GAAhtL,EAAu9L;AAAC/mH,OAAG,EAAC,SAAL;AAAeC,SAAK,EAAC,iBAAU;AAAC,WAAKgnH,WAAL,IAAkB,KAAKA,WAAL,CAAiB/J,SAAjB,EAAlB,EAA+C,KAAK/8H,OAAL,CAAa,SAAb,CAA/C,EAAuE,KAAKnD,GAAL,EAAvE;AAAkF;AAAlH,GAAv9L,CAAJ,CAAxB,EAAymMqpI,EAA3mM,CAA/vmD;;AAA82yD,WAASA,EAAT,CAAYzrI,CAAZ,EAAc2mC,CAAd,EAAgB;AAACozF,MAAE,CAAC,IAAD,EAAM0R,EAAN,CAAF;AAAY,QAAI1qI,CAAC,GAACo5H,EAAE,CAAC,IAAD,EAAM,CAACsR,EAAE,CAAChoE,SAAH,IAAcj9D,MAAM,CAACogB,cAAP,CAAsB6kH,EAAtB,CAAf,EAA0C9lI,IAA1C,CAA+C,IAA/C,EAAoDinG,EAAE,CAACoB,WAAvD,CAAN,CAAR;AAAmFjtG,KAAC,CAACksI,gBAAF,GAAmB,CAAnB,EAAqBlsI,CAAC,CAAC4qI,eAAF,GAAkB,EAAvC,EAA0C5qI,CAAC,CAACorI,eAAF,GAAkB,CAAC,CAA7D,EAA+DprI,CAAC,CAAC4+H,YAAF,GAAe3/H,CAA9E,EAAgFe,CAAC,CAACmsI,OAAF,GAAUvmG,CAA1F,EAA4F5lC,CAAC,CAAC4rI,WAAF,GAAc,IAA1G,EAA+G5rI,CAAC,CAAC2rI,WAAF,GAAc,IAA7H,EAAkI3rI,CAAC,CAACmrI,cAAF,GAAiB,CAAC,CAApJ,EAAsJnrI,CAAC,CAAC8rI,uBAAF,GAA0B,CAAC,CAAjL,EAAmL9rI,CAAC,CAACwrI,UAAF,GAAa,EAAhM,EAAmMxrI,CAAC,CAACyrI,YAAF,GAAe,CAAlN,EAAoNzrI,CAAC,CAAC0rI,WAAF,GAAc,MAAI7/B,EAAE,CAACW,OAAH,CAAW5+B,UAAjP;AAA4P,QAAIr0C,CAAC,GAAC;AAACuuG,WAAK,EAAC,CAAC,CAAR;AAAUP,oBAAc,EAACvnI,CAAC,CAAC0rI;AAA3B,KAAN;AAA8C,WAAO1rI,CAAC,CAACmsI,OAAF,CAAUnkI,OAAV,CAAkB,UAAS/I,CAAT,EAAW;AAAC4jI,QAAE,CAAC5jI,CAAD,CAAF,GAAMe,CAAC,CAAC4rI,WAAF,GAAc3sI,CAApB,GAAsB6jI,EAAE,CAAC7jI,CAAD,CAAF,KAAQe,CAAC,CAAC2rI,WAAF,GAAc1sI,CAAtB,CAAtB;AAA+C,KAA7E,GAA+Ee,CAAC,CAACsrI,WAAF,GAAc,IAAIvI,EAAJ,EAA7F,EAAoG/iI,CAAC,CAACsrI,WAAF,CAAc5J,WAAd,CAA0B;AAACjjE,YAAM,EAAC,MAAR;AAAezjD,aAAO,EAACue;AAAvB,KAA1B,CAApG,EAAyJv5B,CAAC,CAACsrI,WAAF,CAAc3J,SAAd,GAAwB,UAAS1iI,CAAT,EAAW;AAAC,aAAM,WAASA,CAAC,CAACQ,IAAF,CAAOg/D,MAAhB,GAAuBz+D,CAAC,CAACosI,KAAF,CAAQntI,CAAR,CAAvB,GAAkC,WAASA,CAAC,CAACQ,IAAF,CAAOg/D,MAAhB,GAAuBz+D,CAAC,CAACqsI,KAAF,CAAQptI,CAAR,CAAvB,GAAkC,cAAYA,CAAC,CAACQ,IAAF,CAAOg/D,MAAnB,GAA0Bz+D,CAAC,CAACssI,cAAF,CAAiBrtI,CAAjB,CAA1B,GAA8C,6BAA2BA,CAAC,CAACQ,IAAF,CAAOg/D,MAAlC,GAAyCz+D,CAAC,CAACusI,uBAAF,CAA0BttI,CAAC,CAACQ,IAAF,CAAO4qI,sBAAjC,CAAzC,GAAkG,KAAK,CAA/N;AAAiO,KAA9Z,EAA+Z5kI,MAAM,CAAC06B,cAAP,CAAsBngC,CAAtB,EAAwB,iBAAxB,EAA0C;AAAC2nB,SAAG,EAAC,eAAU;AAAC,eAAO,KAAKukH,gBAAZ;AAA6B,OAA7C;AAA8C7rG,SAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,oBAAU,OAAOA,CAAjB,IAAoB,KAAGA,CAAvB,KAA2B,KAAKitI,gBAAL,GAAsBjtI,CAAtB,EAAwB,KAAK6sI,uBAAL,GAA6B,CAAC,CAAtD,EAAwD,KAAKN,UAAL,CAAgBrpI,MAAhB,GAAuB,CAA/E,EAAiF,KAAKspI,YAAL,GAAkB,CAAnG,EAAqG,KAAKH,WAAL,CAAiB5J,WAAjB,CAA6B;AAACjjE,gBAAM,EAAC,oBAAR;AAA6BkgE,yBAAe,EAAC1/H;AAA7C,SAA7B,CAAhI;AAA+M;AAA7Q,KAA1C,CAA/Z,EAAytBwG,MAAM,CAAC06B,cAAP,CAAsBngC,CAAtB,EAAwB,mBAAxB,EAA4C;AAAC2nB,SAAG,EAAC,eAAU;AAAC,eAAM,CAAC,KAAK4jH,YAAL,IAAmB,KAAKF,YAAzB,EAAuCmB,iBAA7C;AAA+D,OAA/E;AAAgFnsG,SAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,aAAKssI,YAAL,KAAoB,KAAKA,YAAL,CAAkBiB,iBAAlB,GAAoCvtI,CAAxD,GAA2D,KAAKosI,YAAL,KAAoB,KAAKA,YAAL,CAAkBmB,iBAAlB,GAAoCvtI,CAAxD,CAA3D;AAAsH;AAAtN,KAA5C,CAAztB,EAA89BwG,MAAM,CAAC06B,cAAP,CAAsBngC,CAAtB,EAAwB,UAAxB,EAAmC;AAAC2nB,SAAG,EAAC,eAAU;AAAC,eAAM,CAAC,EAAE,KAAKyjH,eAAL,IAAsB,CAAC,KAAKD,cAAN,IAAsB,KAAKE,YAA3B,IAAyC,KAAKA,YAAL,CAAkBN,QAAjF,IAA2F,KAAKQ,YAAL,IAAmB,KAAKA,YAAL,CAAkBR,QAAlI,CAAP;AAAmJ;AAAnK,KAAnC,CAA99B,EAAuqCtlI,MAAM,CAAC06B,cAAP,CAAsBngC,CAAtB,EAAwB,UAAxB,EAAmC;AAAC2nB,SAAG,EAAC,eAAU;AAAC,eAAO,UAAS1oB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,cAAIu5B,CAAC,GAAC,IAAN;AAAA,cAAWwmC,CAAC,GAAC,IAAb;AAAA,cAAkBp8C,CAAC,GAAC,CAApB;AAAA,cAAsBtJ,CAAC,GAAC,EAAxB;AAAA,cAA2BulD,CAAC,GAAC,EAA7B;AAAgC,cAAG,CAAC3gE,CAAD,IAAI,CAAC2mC,CAAR,EAAU,OAAOimE,EAAE,CAACe,eAAH,EAAP;AAA4B,cAAG,CAAC3tG,CAAJ,EAAM,OAAO2mC,CAAC,CAACy9C,QAAT;AAAkB,cAAG,CAACz9C,CAAJ,EAAM,OAAO3mC,CAAC,CAACokF,QAAT;AAAkB,cAAGrjF,CAAH,EAAK,OAAOf,CAAC,CAACokF,QAAT;AAAkB,cAAG,MAAIpkF,CAAC,CAACokF,QAAF,CAAWlhF,MAAf,IAAuB,MAAIyjC,CAAC,CAACy9C,QAAF,CAAWlhF,MAAzC,EAAgD,OAAO0pG,EAAE,CAACe,eAAH,EAAP;;AAA4B,eAAI,IAAI/sC,CAAC,GAAC5gE,CAAC,CAACokF,QAAR,EAAiBhpD,CAAC,GAACuL,CAAC,CAACy9C,QAArB,EAA8B5iB,CAAC,GAACZ,CAAC,CAAC19D,MAAtC,EAA6Cs+D,CAAC,EAA9C;AAAkDpmD,aAAC,CAAC7X,IAAF,CAAO;AAACqM,kBAAI,EAACgxD,CAAC,CAACp/C,KAAF,CAAQggD,CAAR,CAAN;AAAiBjxD,kBAAI,EAAC;AAAtB,aAAP,GAAuC6K,CAAC,CAAC7X,IAAF,CAAO;AAACqM,kBAAI,EAACgxD,CAAC,CAACl3C,GAAF,CAAM83C,CAAN,CAAN;AAAejxD,kBAAI,EAAC;AAApB,aAAP,CAAvC;AAAlD;;AAA4H,eAAIixD,CAAC,GAACpmC,CAAC,CAACl4B,MAAR,EAAes+D,CAAC,EAAhB;AAAoBpmD,aAAC,CAAC7X,IAAF,CAAO;AAACqM,kBAAI,EAACwrB,CAAC,CAAC5Z,KAAF,CAAQggD,CAAR,CAAN;AAAiBjxD,kBAAI,EAAC;AAAtB,aAAP,GAAuC6K,CAAC,CAAC7X,IAAF,CAAO;AAACqM,kBAAI,EAACwrB,CAAC,CAAC1R,GAAF,CAAM83C,CAAN,CAAN;AAAejxD,kBAAI,EAAC;AAApB,aAAP,CAAvC;AAApB;;AAA8F,eAAI6K,CAAC,CAACuO,IAAF,CAAO,UAAS3pB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,mBAAO3mC,CAAC,CAAC4P,IAAF,GAAO+2B,CAAC,CAAC/2B,IAAhB;AAAqB,WAA1C,GAA4C4xD,CAAC,GAAC,CAAlD,EAAoDA,CAAC,GAACpmD,CAAC,CAAClY,MAAxD,EAA+Ds+D,CAAC,EAAhE;AAAmE,wBAAUpmD,CAAC,CAAComD,CAAD,CAAD,CAAKjxD,IAAf,GAAoB,MAAI,EAAEmU,CAAN,KAAU4V,CAAC,GAAClf,CAAC,CAAComD,CAAD,CAAD,CAAK5xD,IAAjB,CAApB,GAA2C,UAAQwL,CAAC,CAAComD,CAAD,CAAD,CAAKjxD,IAAb,IAAmB,MAAI,EAAEmU,CAAzB,KAA6Bo8C,CAAC,GAAC1lD,CAAC,CAAComD,CAAD,CAAD,CAAK5xD,IAApC,CAA3C,EAAqF,SAAO0qB,CAAP,IAAU,SAAOwmC,CAAjB,KAAqBH,CAAC,CAACp9D,IAAF,CAAO,CAAC+2B,CAAD,EAAGwmC,CAAH,CAAP,GAAcA,CAAC,GAACxmC,CAAC,GAAC,IAAvC,CAArF;AAAnE;;AAAqM,iBAAOsyE,EAAE,CAACgB,gBAAH,CAAoBjtC,CAApB,CAAP;AAA8B,SAAtqB,CAAuqB,KAAK2rE,YAA5qB,EAAyrB,KAAKF,YAA9rB,EAA2sB,KAAKF,cAAhtB,CAAP;AAAuuB;AAAvvB,KAAnC,CAAvqC,EAAo8DnrI,CAA38D;AAA68D;;AAAA,MAAIysI,EAAE,IAAEtT,EAAE,CAACuT,EAAD,EAAI7gC,EAAE,CAACoB,WAAP,CAAF,EAAsBgsB,EAAE,CAACyT,EAAD,EAAI,CAAC;AAACroH,OAAG,EAAC,mBAAL;AAAyBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAK,CAAX;AAAa,UAAG,KAAKue,QAAL,KAAgB,IAAE,CAArB,EAAuB,MAAK,CAACve,CAAC,GAAC,IAAImS,KAAJ,CAAU,kFAAV,CAAH,EAAkG0W,IAAlG,GAAuG,mBAAvG,EAA2H7oB,CAAC,CAAC4mB,IAAF,GAAO,EAAlI,EAAqI5mB,CAA1I;AAA4I,OAAC4lC,CAAC,GAAC,KAAKslG,kBAAL,CAAwB3sH,QAA1B,IAAoC1Y,KAAK,CAAC,KAAKqlI,kBAAL,CAAwB3sH,QAAzB,CAA1C,MAAgF,KAAK2sH,kBAAL,CAAwB3sH,QAAxB,GAAiCqnB,CAAjH;AAAoH;AAAjV,GAAD,EAAoV;AAACvhB,OAAG,EAAC,iBAAL;AAAuBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK,CAAX;AAAA,UAAa5lC,CAAC,GAAC4iI,EAAE,CAAC3jI,CAAD,CAAjB;;AAAqB,UAAG,yBAAyB2V,IAAzB,CAA8B5U,CAAC,CAACwP,IAAhC,CAAH,EAAyC;AAAC,YAAI+pB,CAAC,GAAC,EAAN;AAASv5B,SAAC,CAAC0C,UAAF,IAAc1C,CAAC,CAAC0C,UAAF,CAAas+G,MAA3B,KAAoCznF,CAAC,GAACv5B,CAAC,CAAC0C,UAAF,CAAas+G,MAAb,CAAoB52F,KAApB,CAA0B,GAA1B,CAAF,EAAiCmP,CAAC,GAAC,CAACA,CAAC,GAAC4oG,EAAE,CAAC5oG,CAAD,CAAL,EAAUl2B,MAAV,CAAiB,UAASpE,CAAT,EAAW;AAAC,iBAAO4jI,EAAE,CAAC5jI,CAAD,CAAF,IAAO6jI,EAAE,CAAC7jI,CAAD,CAAhB;AAAoB,SAAjD,CAAvE,GAA2H,MAAIs6B,CAAC,CAACp3B,MAAN,KAAeo3B,CAAC,GAAC,CAAC,aAAD,EAAe,WAAf,CAAjB,CAA3H,EAAyKqM,CAAC,GAAC,IAAI6kG,EAAJ,CAAO,IAAP,EAAYlxG,CAAZ,CAA3K,EAA0L,MAAI,KAAKozG,aAAL,CAAmBxqI,MAAvB,KAAgC,KAAKwqI,aAAL,CAAmB,CAAnB,EAAsBd,wBAAtB,IAAiDjmG,CAAC,CAACimG,wBAAF,EAAjD,EAA8E,KAAKc,aAAL,CAAmB,CAAnB,EAAsBxB,cAAtB,GAAqC,CAAC,CAApJ,CAA1L;AAAiV,OAApY,MAAyYvlG,CAAC,GAAC,KAAKslG,kBAAL,CAAwBF,eAAxB,CAAwC/rI,CAAxC,CAAF;;AAA6C,aAAO,KAAK0tI,aAAL,CAAmBnqI,IAAnB,CAAwBojC,CAAxB,GAA2BA,CAAlC;AAAoC;AAAxhB,GAApV,EAA82B;AAACvhB,OAAG,EAAC,SAAL;AAAeC,SAAK,EAAC,iBAAU;AAAC,WAAK9f,OAAL,CAAa,SAAb,GAAwB,KAAKnD,GAAL,EAAxB,EAAmC,KAAKsrI,aAAL,CAAmB3kI,OAAnB,CAA2B,UAAS/I,CAAT,EAAW;AAACA,SAAC,CAACyR,OAAF,IAAWzR,CAAC,CAACyR,OAAF,EAAX;AAAuB,OAA9D,CAAnC,EAAmG,KAAKi8H,aAAL,CAAmBxqI,MAAnB,GAA0B,CAA7H;AAA+H;AAA/J,GAA92B,CAAJ,CAAxB,EAA6iCuqI,EAA/iC,CAAN;;AAAyjC,WAASA,EAAT,GAAa;AAAC1T,MAAE,CAAC,IAAD,EAAM0T,EAAN,CAAF;AAAY,QAAI/oH,CAAC,GAACy1G,EAAE,CAAC,IAAD,EAAM,CAACsT,EAAE,CAAChqE,SAAH,IAAcj9D,MAAM,CAACogB,cAAP,CAAsB6mH,EAAtB,CAAf,EAA0C9nI,IAA1C,CAA+C,IAA/C,CAAN,CAAR;AAAA,QAAoE3F,CAAC,GAAC,KAAK,CAA3E;;AAA6E,SAAIA,CAAJ,IAAS0kB,CAAC,CAACunH,kBAAF,GAAqB,IAAI3pH,CAAC,CAACqrH,WAAN,EAArB,EAAuCjpH,CAAC,CAACunH,kBAAlD;AAAqEjsI,OAAC,IAAIytI,EAAE,CAAC1zH,SAAR,IAAmB,cAAY,OAAO2K,CAAC,CAACunH,kBAAF,CAAqBjsI,CAArB,CAAtC,KAAgE0kB,CAAC,CAAC1kB,CAAD,CAAD,GAAK0kB,CAAC,CAACunH,kBAAF,CAAqBjsI,CAArB,EAAwBuc,IAAxB,CAA6BmI,CAAC,CAACunH,kBAA/B,CAArE;AAArE;;AAA8L,WAAOvnH,CAAC,CAACy/D,SAAF,GAAYua,GAAZ,EAAgBl4F,MAAM,CAAC06B,cAAP,CAAsBxc,CAAtB,EAAwB,UAAxB,EAAmC;AAACgE,SAAG,EAAC,eAAU;AAAC,eAAO,KAAKy7D,SAAL,KAAiB,IAAE,CAAnB,GAAqB,KAAKA,SAA1B,GAAoC,KAAK8nD,kBAAL,CAAwB3sH,QAAnE;AAA4E,OAA5F;AAA6F8hB,SAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,SAAC,KAAKmkF,SAAL,GAAenkF,CAAhB,MAAqB,IAAE,CAAvB,KAA2B,KAAKisI,kBAAL,CAAwB3sH,QAAxB,GAAiCtf,CAA5D;AAA+D;AAA5K,KAAnC,CAAhB,EAAkOwG,MAAM,CAAC06B,cAAP,CAAsBxc,CAAtB,EAAwB,UAAxB,EAAmC;AAACgE,SAAG,EAAC,eAAU;AAAC,eAAO,KAAKy7D,SAAL,KAAiB,IAAE,CAAnB,GAAqByoB,EAAE,CAACgB,gBAAH,CAAoB,CAAC,CAAC,CAAD,EAAG,KAAKq+B,kBAAL,CAAwB3sH,QAA3B,CAAD,CAApB,CAArB,GAAiF,KAAK2sH,kBAAL,CAAwBxkD,QAAhH;AAAyH;AAAzI,KAAnC,CAAlO,EAAiZjhF,MAAM,CAAC06B,cAAP,CAAsBxc,CAAtB,EAAwB,YAAxB,EAAqC;AAACgE,SAAG,EAAC,eAAU;AAAC,eAAO,KAAKujH,kBAAL,CAAwBnsG,UAA/B;AAA0C;AAA1D,KAArC,CAAjZ,EAAmft5B,MAAM,CAAC06B,cAAP,CAAsBxc,CAAtB,EAAwB,qBAAxB,EAA8C;AAACgE,SAAG,EAAC,eAAU;AAAC,eAAO,KAAKklH,oBAAZ;AAAiC;AAAjD,KAA9C,CAAnf,EAAqlBlpH,CAAC,CAACgpH,aAAF,GAAgB,EAArmB,EAAwmBhpH,CAAC,CAACkpH,oBAAF,GAAuB,EAA/nB,EAAkoBlpH,CAAC,CAACmpH,0BAAF,GAA6B,YAAU;AAAC,UAAGnpH,CAAC,CAACkpH,oBAAF,CAAuB1qI,MAAvB,GAA8B,CAA9B,EAAgC,MAAIwhB,CAAC,CAACgpH,aAAF,CAAgBxqI,MAAvD,EAA8D;AAAC,YAAIlD,CAAC,GAAC0kB,CAAC,CAACgpH,aAAF,CAAgB,CAAhB,CAAN;AAAyB,eAAO1tI,CAAC,CAAC6sI,uBAAF,GAA0B,CAAC,CAA3B,EAA6B7sI,CAAC,CAACksI,cAAF,GAAiB,CAAClsI,CAAC,CAAC2sI,WAAjD,EAA6D,KAAKjoH,CAAC,CAACkpH,oBAAF,CAAuBrqI,IAAvB,CAA4BvD,CAA5B,CAAzE;AAAwG;;AAAA,WAAI,IAAIe,CAAC,GAAC,CAAC,CAAP,EAASu5B,CAAC,GAAC,CAAC,CAAZ,EAAcqM,CAAC,GAAC,CAApB,EAAsBA,CAAC,GAACjiB,CAAC,CAAC+jD,OAAF,CAAU+uB,WAAV,GAAwBt0F,MAAhD,EAAuDyjC,CAAC,EAAxD,EAA2D;AAAC,YAAIm6B,CAAC,GAACp8C,CAAC,CAAC+jD,OAAF,CAAU+uB,WAAV,GAAwB7wD,CAAxB,CAAN;;AAAiC,YAAGm6B,CAAC,CAACwU,OAAF,IAAW,WAASxU,CAAC,CAACuV,IAAzB,EAA8B;AAAC/7C,WAAC,GAAC,EAAEv5B,CAAC,GAAC,CAAC,CAAL,CAAF;AAAU;AAAM;AAAC;;AAAA2jB,OAAC,CAACgpH,aAAF,CAAgB3kI,OAAhB,CAAwB,UAAS/I,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAG3mC,CAAC,CAAC6sI,uBAAF,GAA0B,CAAC,CAA3B,EAA6B7sI,CAAC,CAAC0sI,WAAF,IAAe1sI,CAAC,CAAC2sI,WAAjD,EAA6D3sI,CAAC,CAACksI,cAAF,GAAiBnrI,CAAjB,CAA7D,KAAqF,IAAGf,CAAC,CAAC0sI,WAAF,IAAe,CAAC1sI,CAAC,CAAC2sI,WAArB,EAAiC3sI,CAAC,CAACksI,cAAF,GAAiB,CAAC,CAAlB,EAAoB5xG,CAAC,GAAC,CAAC,CAAvB,CAAjC,KAA+D,IAAG,CAACt6B,CAAC,CAAC0sI,WAAH,IAAgB1sI,CAAC,CAAC2sI,WAAlB,KAAgC3sI,CAAC,CAACksI,cAAF,GAAiBvlG,CAAC,GAACrM,CAAD,GAAG,CAACA,CAAtB,EAAwBt6B,CAAC,CAACksI,cAA1D,CAAH,EAA6E;AAAOxnH,SAAC,CAACkpH,oBAAF,CAAuBrqI,IAAvB,CAA4BvD,CAA5B;AAA+B,OAA7S;AAA+S,KAAtyC,EAAuyC0kB,CAAC,CAACopH,oBAAF,GAAuB,YAAU;AAACppH,OAAC,CAACgpH,aAAF,CAAgB3kI,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAACA,SAAC,CAAC6sI,uBAAF,GAA0B,CAAC,CAA3B;AAA6B,OAAjE;AAAmE,KAA54C,EAA64CnoH,CAAC,CAACqpH,WAAF,GAAc,YAAU;AAACrpH,OAAC,CAACgpH,aAAF,CAAgB3kI,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAACA,SAAC,CAACqsI,WAAF,IAAersI,CAAC,CAACqsI,WAAF,CAAc5J,WAAd,CAA0B;AAACjjE,gBAAM,EAAC;AAAR,SAA1B,CAAf;AAAmE,OAAvG;AAAyG,KAA/gD,EAAghD96C,CAAC,CAACspH,wBAAF,GAA2B,UAASrnG,CAAT,EAAW;AAACjiB,OAAC,CAACgpH,aAAF,CAAgB3kI,OAAhB,CAAwB,UAAS/I,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACwsI,YAAF,GAAe7lG,CAAC,CAACsnG,OAAxB;AAAgC,OAApE;AAAsE,KAA7nD,EAA8nD,CAAC,YAAD,EAAc,aAAd,EAA4B,aAA5B,EAA2CllI,OAA3C,CAAmD,UAAS/I,CAAT,EAAW;AAAC,WAAKisI,kBAAL,CAAwBrzH,gBAAxB,CAAyC5Y,CAAzC,EAA2C,KAAKuF,OAAL,CAAagX,IAAb,CAAkB,IAAlB,CAA3C;AAAoE,KAAnI,EAAoImI,CAApI,CAA9nD,EAAqwDA,CAAC,CAACriB,EAAF,CAAK,YAAL,EAAkB,UAASrC,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC85B,CAAC,CAACr/C,aAAF,CAAgB,WAASsD,CAAC,CAACwpH,IAAX,GAAgB,IAAhC,CAAN;AAA4CvnG,OAAC,KAAGjiB,CAAC,CAAC+jD,OAAF,GAAUmkC,EAAE,CAACjmE,CAAC,CAACtzB,UAAH,CAAZ,EAA2BqR,CAAC,CAAC+jD,OAAF,KAAY/jD,CAAC,CAAC+jD,OAAF,CAAU8R,KAAV,CAAgBl4E,EAAhB,CAAmB,WAAnB,EAA+BqiB,CAAC,CAACqpH,WAAjC,GAA8CrpH,CAAC,CAAC+jD,OAAF,CAAU8R,KAAV,CAAgBl4E,EAAhB,CAAmB,0BAAnB,EAA8CqiB,CAAC,CAACspH,wBAAhD,CAA9C,EAAwHtpH,CAAC,CAAC+jD,OAAF,CAAU+uB,WAAV,IAAuB9yE,CAAC,CAAC+jD,OAAF,CAAU+uB,WAAV,EAAvB,KAAiD9yE,CAAC,CAAC+jD,OAAF,CAAU+uB,WAAV,GAAwBn1F,EAAxB,CAA2B,QAA3B,EAAoCqiB,CAAC,CAACmpH,0BAAtC,GAAkEnpH,CAAC,CAAC+jD,OAAF,CAAU+uB,WAAV,GAAwBn1F,EAAxB,CAA2B,UAA3B,EAAsCqiB,CAAC,CAACmpH,0BAAxC,CAAlE,EAAsInpH,CAAC,CAAC+jD,OAAF,CAAU+uB,WAAV,GAAwBn1F,EAAxB,CAA2B,aAA3B,EAAyCqiB,CAAC,CAACmpH,0BAA3C,CAAvL,CAAxH,EAAuXnpH,CAAC,CAAC+jD,OAAF,CAAUpmE,EAAV,CAAa,aAAb,EAA2BqiB,CAAC,CAACopH,oBAA7B,CAAnY,CAA9B,CAAD;AAAud,KAAjiB,CAArwD,EAAwyEppH,CAAC,CAACriB,EAAF,CAAK,aAAL,EAAmB,UAASrC,CAAT,EAAW;AAAC,WAAI,IAAI2mC,CAAC,GAAC24F,EAAE,CAAC56G,CAAC,CAACpF,QAAH,CAAR,EAAqBve,CAAC,GAAC,CAA3B,EAA6BA,CAAC,GAAC2jB,CAAC,CAACgpH,aAAF,CAAgBxqI,MAA/C,EAAsDnC,CAAC,EAAvD,EAA0D;AAAC,YAAIu5B,CAAC,GAAC5V,CAAC,CAACgpH,aAAF,CAAgB3sI,CAAhB,CAAN;AAAA,YAAyB+/D,CAAC,GAACxmC,CAAC,CAAC0lG,cAAF,IAAkB1lG,CAAC,CAAC0lG,cAAF,CAAiB3vD,IAA9D;AAAmEvP,SAAC,IAAEA,CAAC,CAAC59D,MAAL,KAAc49D,CAAC,CAACA,CAAC,CAAC59D,MAAF,GAAS,CAAV,CAAD,CAAcotE,OAAd,GAAsB3pC,CAApC;AAAuC;AAAC,KAArM,CAAxyE,EAA++EjiB,CAAC,CAACriB,EAAF,CAAK,aAAL,EAAmB,UAASrC,CAAT,EAAW;AAAC,WAAK0tI,aAAL,CAAmB3kI,OAAnB,CAA2B,UAAS/I,CAAT,EAAW;AAACA,SAAC,CAACqsI,WAAF,IAAersI,CAAC,CAACqsI,WAAF,CAAc/J,SAAd,EAAf;AAAyC,OAAhF,GAAkF,KAAKoL,aAAL,CAAmBxqI,MAAnB,GAA0B,CAA5G,EAA8G,KAAKulE,OAAL,KAAe,KAAKA,OAAL,CAAa+uB,WAAb,IAA0B,KAAK/uB,OAAL,CAAa+uB,WAAb,EAA1B,KAAuD,KAAK/uB,OAAL,CAAa+uB,WAAb,GAA2Bp1F,GAA3B,CAA+B,QAA/B,EAAwC,KAAKyrI,0BAA7C,GAAyE,KAAKplE,OAAL,CAAa+uB,WAAb,GAA2Bp1F,GAA3B,CAA+B,UAA/B,EAA0C,KAAKyrI,0BAA/C,CAAzE,EAAoJ,KAAKplE,OAAL,CAAa+uB,WAAb,GAA2Bp1F,GAA3B,CAA+B,aAA/B,EAA6C,KAAKyrI,0BAAlD,CAA3M,GAA0R,KAAKplE,OAAL,CAAaM,GAAb,IAAkB,KAAKN,OAAL,CAAarmE,GAAb,CAAiB,aAAjB,EAA+B,KAAK0rI,oBAApC,CAA5S,EAAsW,KAAKrlE,OAAL,CAAa8R,KAAb,IAAoB,KAAK9R,OAAL,CAAa8R,KAAb,CAAmBxR,GAAvC,KAA6C,KAAKN,OAAL,CAAa8R,KAAb,CAAmBn4E,GAAnB,CAAuB,WAAvB,EAAmC,KAAK2rI,WAAxC,GAAqD,KAAKtlE,OAAL,CAAa8R,KAAb,CAAmBn4E,GAAnB,CAAuB,0BAAvB,EAAkD,KAAK4rI,wBAAvD,CAAlG,CAArX,CAA9G;AAAwpB,KAAvrB,CAA/+E,EAAwqGtpH,CAA/qG;AAAirG;;AAAA,MAAIypH,EAAE,GAAC,CAAP;AAASvhC,IAAE,CAACwhC,YAAH,GAAgB,EAAhB;;AAAmB,WAASC,EAAT,CAAYruI,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAAC6rG,EAAE,CAACwhC,YAAH,CAAgBpuI,CAAhB,CAAN;AAAyB,QAAG,CAACe,CAAJ,EAAM,MAAM,IAAImS,KAAJ,CAAU,mCAAV,CAAN;AAAqDnS,KAAC,CAACwE,OAAF,CAAU;AAACgL,UAAI,EAAC,YAAN;AAAmB+9H,WAAK,EAAC3nG;AAAzB,KAAV;AAAuC;;AAAA,WAAS4nG,EAAT,GAAa;AAAC,WAAM,CAAC,CAACjsH,CAAC,CAACqrH,WAAJ,IAAiB,CAAC,CAACrrH,CAAC,CAACqrH,WAAF,CAAca,eAAjC,IAAkDlsH,CAAC,CAACqrH,WAAF,CAAca,eAAd,CAA8B,0CAA9B,CAAxD;AAAkI;;AAAA,WAASC,EAAT,GAAa;AAAC,QAAG,KAAKd,WAAL,GAAiB;AAACvtF,UAAI,EAACiuF,EAAN;AAASK,gCAA0B,EAACH;AAApC,KAAjB,EAAyDA,EAAE,EAA9D,EAAiE,OAAO,IAAIf,EAAJ,EAAP;AAAc,UAAM,IAAIt6H,KAAJ,CAAU,wDAAV,CAAN;AAA0E;;AAAAu7H,IAAE,CAACruF,IAAH,GAAQiuF,EAAR,EAAWI,EAAE,CAACC,0BAAH,GAA8BH,EAAzC;AAA4C,MAAII,EAAE,GAAC;AAAC5L,mBAAe,EAAC,yBAAS/iI,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK,CAAX;AAAa,aAAO3mC,CAAC,YAAYwtI,EAAb,IAAiB7mG,CAAC,GAACrkB,CAAC,CAACy/G,GAAF,CAAMgB,eAAN,CAAsB/iI,CAAC,CAACisI,kBAAxB,CAAF,EAA8CjsI,CAAC,CAACkuI,IAAF,GAAOvnG,CAAtE,IAAyE3mC,CAAC,YAAYwtI,EAAb,IAAiB7mG,CAAC,GAAC,2BAAyBwnG,EAA3B,EAA8BA,EAAE,EAAhC,EAAmCvhC,EAAE,CAACwhC,YAAH,CAAgBznG,CAAhB,IAAmB3mC,CAAtD,EAAwD2mC,CAAzE,KAA6EA,CAAC,GAACrkB,CAAC,CAACy/G,GAAF,CAAMgB,eAAN,CAAsB/iI,CAAtB,CAAF,EAA2BA,CAAC,CAACkuI,IAAF,GAAOvnG,CAA/G,CAAhF;AAAkM;AAA5O,GAAP;AAAqPimE,IAAE,CAAC+gC,WAAH,GAAec,EAAf,EAAkB7hC,EAAE,CAACm1B,GAAH,GAAO4M,EAAzB;;AAA4B,WAASC,EAAT,CAAY5uI,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAIvrB,CAAC,GAAC,KAAK,CAAX,EAAaulD,CAAC,GAACkuE,EAAE,CAAC7uI,CAAD,EAAG;AAACsf,cAAQ,EAACqnB,CAAC,CAACrnB,QAAZ;AAAqB6iG,yBAAmB,EAACx7E,CAAC,CAACw7E;AAA3C,KAAH,CAAjB,EAAqFphH,CAAC,GAAC,CAA3F,EAA6FA,CAAC,GAAC4lC,CAAC,CAAC2rE,SAAF,CAAYpvG,MAA3G,EAAkHnC,CAAC,EAAnH,EAAsH;AAAC,UAAIu5B,CAAC,GAAC+/F,EAAE,CAAC15D,CAAD,EAAGh6B,CAAC,CAAC2rE,SAAF,CAAYvxG,CAAZ,CAAH,CAAR;AAA2Bu5B,OAAC,GAACqmC,CAAC,GAACrmC,CAAH,GAAKlf,CAAC,GAAC,CAAC,CAAT;AAAW;;AAAA,WAAOg/G,EAAE,CAACzzF,CAAD,EAAG,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,UAAGt6B,CAAC,CAACsyG,SAAF,IAAatyG,CAAC,CAACsyG,SAAF,CAAYpvG,MAA5B,EAAmC;AAAC,YAAI49D,CAAC,GAAC9gE,CAAC,CAACsyG,SAAF,CAAY,CAAZ,EAAerxG,EAArB;AAAA,YAAwByjB,CAAC,GAAC21G,EAAE,CAAC15D,CAAD,EAAG3gE,CAAC,CAACsyG,SAAF,CAAY,CAAZ,CAAH,CAA5B;AAA+C5tF,SAAC,KAAG,CAACi8C,CAAC,GAACj8C,CAAH,EAAM6tF,WAAN,CAAkB5rE,CAAlB,EAAqB5lC,CAArB,EAAwBu5B,CAAxB,EAA2Bg4E,SAA3B,CAAqC,CAArC,IAAwC3xC,CAAC,CAAC2xC,SAAF,CAAYxxC,CAAZ,CAAxC,EAAuD1lD,CAAC,GAAC,CAAC,CAA7D,CAAD;AAAiE;AAAC,KAA1K,CAAF,EAA8KA,CAAC,GAAC,IAAD,GAAMulD,CAA5L;AAA8L;;AAAA,WAASmuE,EAAT,CAAY9uI,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAAC+vG,SAAF,CAAY/7F,MAAZ,GAAmBhU,CAAC,CAAC+vG,SAAF,CAAY7sG,MAA/B,GAAsC,CAA5C;AAA8C,WAAOlD,CAAC,CAAC+4E,GAAF,GAAM,GAAN,GAAU/4E,CAAC,CAAC+vG,SAAF,CAAY/7F,MAAtB,GAA6B,GAA7B,GAAiC2yB,CAAxC;AAA0C;;AAAA,WAASooG,EAAT,CAAY/uI,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAJ;AAAA,QAAMu5B,CAAN;AAAA,QAAQwmC,CAAC,GAAC,EAAV;;AAAa,SAAI,IAAIp8C,CAAR,IAAa1kB,CAAb,EAAe;AAAC,UAAIob,CAAC,GAACpb,CAAC,CAAC0kB,CAAD,CAAD,CAAK28F,IAAX;;AAAgB,UAAGjmG,CAAH,EAAK;AAAC,YAAIulD,CAAC,GAACmuE,EAAE,CAAC1zH,CAAD,CAAR;AAAY,YAAG,CAACurB,CAAC,CAACg6B,CAAD,CAAL,EAAS;AAAM,YAAIC,CAAC,GAACj6B,CAAC,CAACg6B,CAAD,CAAD,CAAKquE,QAAX;AAAoBjuI,SAAC,GAAC6/D,CAAF,EAAItmC,CAAC,GAAClf,CAAN,EAAQ,CAACqmD,OAAO,CAAC,CAAC1gE,CAAC,CAACkoB,GAAH,IAAQ,CAACqR,CAAC,CAACrR,GAAZ,CAAP,IAAyBw4C,OAAO,CAAC1gE,CAAC,CAACkoB,GAAF,IAAOqR,CAAC,CAACrR,GAAT,IAAcloB,CAAC,CAACkoB,GAAF,CAAM8mF,SAAN,CAAgB/7F,MAAhB,KAAyBsmB,CAAC,CAACrR,GAAF,CAAM8mF,SAAN,CAAgB/7F,MAAvD,IAA+DjT,CAAC,CAACkoB,GAAF,CAAM8mF,SAAN,CAAgB7sG,MAAhB,KAAyBo3B,CAAC,CAACrR,GAAF,CAAM8mF,SAAN,CAAgB7sG,MAAzG,CAAjC,KAAoJnC,CAAC,CAACg4E,GAAF,KAAQz+C,CAAC,CAACy+C,GAA9J,IAAmKh4E,CAAC,CAACgvG,SAAF,CAAY/7F,MAAZ,KAAqBsmB,CAAC,CAACy1E,SAAF,CAAY/7F,MAApM,IAA4MjT,CAAC,CAACgvG,SAAF,CAAY7sG,MAAZ,KAAqBo3B,CAAC,CAACy1E,SAAF,CAAY7sG,MAA7O,KAAsP49D,CAAC,CAACH,CAAD,CAAD,GAAKh6B,CAAC,CAACg6B,CAAD,CAA5P,CAAR;AAAyQ;AAAC;;AAAA,WAAOG,CAAP;AAAS;;AAAA,WAASmuE,EAAT,CAAYjvI,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoBwmC,CAApB,EAAsB;AAAC,QAAIp8C,CAAC,GAAC;AAACq0D,SAAG,EAAC8gD,EAAE,CAACv/F,CAAC,CAACihG,uBAAH,EAA2Bv7H,CAAC,CAAC0gH,WAA7B,CAAP;AAAiD3Q,eAAS,EAAC/vG,CAAC,CAAC+vG,SAA7D;AAAuE95F,cAAQ,EAAC0wB;AAAhF,KAAN;AAAyF,WAAO5lC,CAAC,CAAC6rG,EAAE,CAACa,YAAH,CAAgB/oF,CAAhB,EAAkB;AAACg8B,kBAAY,EAAC,aAAd;AAA4BvB,aAAO,EAACm+E,EAAE,CAAC54G,CAAD;AAAtC,KAAlB,CAAD,EAA+Do8C,CAA/D,CAAR;AAA0E;;AAAA,MAAI+tE,EAAE,GAACjiC,EAAE,CAACa,YAAV;AAAA,MAAuByhC,EAAE,IAAEhV,EAAE,CAACiV,EAAD,EAAIviC,EAAE,CAACoB,WAAP,CAAF,EAAsBgsB,EAAE,CAACmV,EAAD,EAAI,CAAC;AAAC/pH,OAAG,EAAC,kBAAL;AAAwBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAKyoG,qBAAL,GAA2BpvI,CAA3B,EAA6B,KAAKqvI,cAAL,GAAoB1oG,CAAjD;AAAmD;AAA/F,GAAD,EAAkG;AAACvhB,OAAG,EAAC,SAAL;AAAeC,SAAK,EAAC,iBAAU;AAAC,WAAK9f,OAAL,CAAa,SAAb,GAAwB,KAAK61H,WAAL,EAAxB,EAA2C,KAAKkU,gBAAL,GAAsB,EAAjE,EAAoEhtH,CAAC,CAACy0B,YAAF,CAAe,KAAKw4F,2BAApB,CAApE,EAAqHjtH,CAAC,CAACy0B,YAAF,CAAe,KAAKy4F,aAApB,CAArH,EAAwJltH,CAAC,CAACy0B,YAAF,CAAe,KAAKokF,kBAApB,CAAxJ,EAAgM,KAAK/4H,GAAL,EAAhM;AAA2M;AAA3O,GAAlG,EAA+U;AAACgjB,OAAG,EAAC,mBAAL;AAAyBC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAK3hB,OAAL,IAAc,KAAK8rI,aAA1B;AAAwC;AAAlF,GAA/U,EAAma;AAACpqH,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,iBAAU;AAAC,UAAG,KAAK3hB,OAAR,EAAgB;AAAC,YAAI1D,CAAC,GAAC,KAAK0D,OAAX;AAAmB,aAAKA,OAAL,GAAa,IAAb,EAAkB1D,CAAC,CAACygD,kBAAF,GAAqB,IAAvC,EAA4CzgD,CAAC,CAAC6+C,KAAF,EAA5C;AAAsD;AAAC;AAA/H,GAAna,EAAoiB;AAACz5B,OAAG,EAAC,sBAAL;AAA4BC,SAAK,EAAC,eAASy7C,CAAT,EAAWp8C,CAAX,EAAatJ,CAAb,EAAeulD,CAAf,EAAiB;AAAC,UAAIC,CAAC,GAAC,IAAN;AAAW,aAAO,UAAS5gE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAGi6B,CAAC,CAACl9D,OAAL,EAAa;AAAC,cAAGk9D,CAAC,CAACl9D,OAAF,GAAU,IAAV,EAAe1D,CAAlB,EAAoB,OAAO4gE,CAAC,CAAC37D,KAAF,GAAQ;AAACtD,kBAAM,EAACglC,CAAC,CAAChlC,MAAV;AAAiBsc,mBAAO,EAAC,yCAAuC6iD,CAAC,CAACiY,GAAlE;AAAsEl4E,oBAAQ,EAAC8lC,CAAC,CAAC9lC,QAAjF;AAA0F8mB,gBAAI,EAAC;AAA/F,WAAR,EAA0GvM,CAAC,KAAGwlD,CAAC,CAACrzD,KAAF,GAAQ6N,CAAX,CAA3G,EAAyHwlD,CAAC,CAACr7D,OAAF,CAAU,OAAV,CAAzH,EAA4Io7D,CAAC,CAACj8C,CAAD,EAAG,IAAH,CAApJ;AAA6J,cAAI3jB,CAAC,GAAC,IAAIqxG,UAAJ,CAAezrE,CAAC,CAAC9lC,QAAjB,CAAN;AAAA,cAAiCy5B,CAAC,GAACw0F,EAAE,CAACU,SAAH,CAAazuH,CAAC,CAAC0mH,QAAF,CAAW,CAAX,CAAb,CAAnC;AAA+D,iBAAO9mD,CAAC,CAACj8C,CAAD,EAAG4V,CAAH,CAAR;AAAc;AAAC,OAAlS;AAAmS;AAAlW,GAApiB,EAAw4B;AAAClV,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,eAAStkB,CAAT,EAAW;AAAC,UAAIu5B,CAAC,GAAC,IAAN;AAAW,UAAG,CAACv5B,CAAJ,EAAM,OAAO,KAAKm6H,MAAZ;AAAmB,UAAG,mBAAiB,KAAK3tH,KAAzB,EAA+B,MAAM,IAAI2F,KAAJ,CAAU,uCAAqC,KAAK3F,KAApD,CAAN;AAAiE,UAAIuzD,CAAC,GAAC,KAAKvzD,KAAX;;AAAiB,UAAG,YAAU,OAAOxM,CAApB,EAAsB;AAAC,YAAG,CAAC,KAAKg6H,MAAL,CAAYzoB,SAAZ,CAAsBvxG,CAAtB,CAAJ,EAA6B,MAAM,IAAImS,KAAJ,CAAU,2BAAyBnS,CAAnC,CAAN;AAA4CA,SAAC,GAAC,KAAKg6H,MAAL,CAAYzoB,SAAZ,CAAsBvxG,CAAtB,CAAF;AAA2B;;AAAA,UAAIf,CAAC,GAAC,CAAC,KAAKk7H,MAAN,IAAcn6H,CAAC,CAACE,EAAF,KAAO,KAAKi6H,MAAL,CAAYj6H,EAAvC;AAA0C,UAAGjB,CAAC,IAAE,KAAKsvI,gBAAL,CAAsBvuI,CAAC,CAACE,EAAxB,CAAH,IAAgC,KAAKquI,gBAAL,CAAsBvuI,CAAC,CAACE,EAAxB,EAA4BuwG,OAA/D,EAAuE,OAAO,KAAKjkG,KAAL,GAAW,eAAX,EAA2B,KAAK2tH,MAAL,GAAYn6H,CAAvC,EAAyC,MAAKf,CAAC,KAAG,KAAKuF,OAAL,CAAa,eAAb,GAA8B,KAAKA,OAAL,CAAa,aAAb,CAAjC,CAAN,CAAhD;AAAqH,UAAGvF,CAAH,EAAK,IAAG,KAAKk7H,MAAL,IAAa,KAAK31H,OAAL,CAAa,eAAb,CAAb,EAA2CxE,CAAC,CAACsgH,IAAhD,EAAqD;AAAC,YAAI16E,CAAC,GAAC,KAAK,CAAX;AAAA,YAAajiB,CAAC,GAAC,KAAK,CAApB;AAAsBA,SAAC,GAAC,KAAK0qH,qBAAL,IAA4BzoG,CAAC,GAAC,KAAKyoG,qBAAL,CAA2BrU,MAA7B,EAAoC,KAAKqU,qBAAL,CAA2BK,YAA3F,KAA0G9oG,CAAC,GAAC,KAAKo0F,MAAP,EAAc,KAAK0U,YAA7H,CAAF;AAA6I,YAAIr0H,CAAC,GAAC0zH,EAAE,CAAC/tI,CAAC,CAACsgH,IAAH,CAAR;AAAiB38F,SAAC,CAACtJ,CAAD,CAAD,GAAK;AAAC4zH,kBAAQ,EAACjuI,CAAC,CAACsgH;AAAZ,SAAL,EAAuB,KAAK39G,OAAL,GAAaurI,EAAE,CAACluI,CAAC,CAACsgH,IAAH,EAAQtgH,CAAR,EAAU,KAAKu6H,IAAL,CAAUx7E,GAApB,EAAwB;AAACy7E,iCAAuB,EAAC,KAAKA;AAA9B,SAAxB,EAA+E,KAAKmU,oBAAL,CAA0B3uI,CAA1B,EAA4B4lC,CAA5B,EAA8Bm6B,CAA9B,EAAgC,UAAS9gE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAG,CAAC3mC,CAAD,IAAI,CAAC2mC,CAAR,EAAU,MAAM,IAAIzzB,KAAJ,CAAU,wBAAV,CAAN;AAA0CwR,WAAC,CAACtJ,CAAD,CAAD,CAAKimG,IAAL,GAAU16E,CAAV,EAAYrM,CAAC,CAACmhG,YAAF,CAAe;AAACkU,yBAAa,EAAC7uE,CAAf;AAAiB7qD,oBAAQ,EAACjW,CAAC,CAACsyG,SAAF,CAAYvxG,CAAC,CAACE,EAAd;AAA1B,WAAf,CAAZ;AAAyE,SAA3K,CAA/E,CAAtC;AAAmS,OAA7gB,MAAkhB,KAAKuuI,aAAL,GAAmBltH,CAAC,CAACxM,UAAF,CAAa,KAAK2lH,YAAL,CAAkBl/G,IAAlB,CAAuB,IAAvB,EAA4B;AAACozH,qBAAa,EAAC7uE,CAAf;AAAiB7qD,gBAAQ,EAAClV;AAA1B,OAA5B,CAAb,EAAuE,CAAvE,CAAnB;AAA6F;AAAzoC,GAAx4B,EAAmhE;AAACqkB,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC2vI,aAAR;AAAA,UAAsB5uI,CAAC,GAACf,CAAC,CAACiW,QAA1B;AAAmC,WAAK1I,KAAL,GAAW,eAAX,EAA2B,KAAK+hI,gBAAL,CAAsBvuI,CAAC,CAACE,EAAxB,IAA4BF,CAAvD,EAAyD,KAAKyuI,aAAL,GAAmB,IAA5E,EAAiF,KAAKI,aAAL,CAAmB7uI,CAAC,CAACE,EAArB,CAAjF,EAA0G,kBAAgB0lC,CAAhB,GAAkB,KAAKphC,OAAL,CAAa,gBAAb,CAAlB,GAAiD,KAAKA,OAAL,CAAa,aAAb,CAA3J;AAAuL;AAAhQ,GAAnhE,EAAqxE;AAAC6f,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,iBAAU;AAAC,WAAK+1G,WAAL,IAAmB94G,CAAC,CAACy0B,YAAF,CAAe,KAAKokF,kBAApB,CAAnB,EAA2D74G,CAAC,CAACy0B,YAAF,CAAe,KAAKw4F,2BAApB,CAA3D,EAA4G,mBAAiB,KAAKhiI,KAAtB,KAA8B,KAAKmuH,OAAL,GAAa,CAAC,CAA5C,CAA5G;AAA2J;AAAzL,GAArxE,EAAg9E;AAACt2G,OAAG,EAAC,MAAL;AAAYC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAWrkB,OAAC,CAACy0B,YAAF,CAAe,KAAKokF,kBAApB,GAAwC74G,CAAC,CAACy0B,YAAF,CAAe,KAAKw4F,2BAApB,CAAxC;AAAyF,UAAIxuI,CAAC,GAAC,KAAK0kD,KAAL,EAAN;;AAAmB,UAAGzlD,CAAH,EAAK;AAAC,YAAIs6B,CAAC,GAACv5B,CAAC,GAACA,CAAC,CAACqyG,cAAF,GAAiB,CAAjB,GAAmB,GAApB,GAAwB,GAA/B;AAAmC,aAAK+nB,kBAAL,GAAwB74G,CAAC,CAACxM,UAAF,CAAa,YAAU;AAAC,iBAAO6wB,CAAC,CAACmC,IAAF,EAAP;AAAgB,SAAxC,EAAyCxO,CAAzC,CAAxB;AAAoE,OAA7G,MAAkH,KAAKohG,OAAL,GAAa36H,CAAC,IAAE,CAACA,CAAC,CAACywG,OAAN,GAAc,KAAKjsG,OAAL,CAAa,oBAAb,CAAd,GAAiD,KAAKA,OAAL,CAAa,gBAAb,CAA9D,GAA6F,KAAKic,KAAL,EAA7F;AAA0G;AAAjX,GAAh9E,EAAm0F;AAAC4D,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,iBAAU;AAAC,UAAIjK,CAAC,GAACmpG,EAAE,CAAC,KAAKsrB,UAAN,EAAiB;AAAC7rB,mBAAW,EAAC,KAAK2X,MAAlB;AAAyBpZ,oBAAY,EAAC,KAAKutB,aAA3C;AAAyDtrB,mBAAW,EAAC,KAAKirB;AAA1E,OAAjB,CAAR;AAAkHr0H,OAAC,CAAC29D,GAAF,GAAM,KAAK4iD,MAAX;;AAAkB,WAAI,IAAI37H,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACob,CAAC,CAACk3F,SAAF,CAAYpvG,MAA1B,EAAiClD,CAAC,EAAlC,EAAqC;AAAC,YAAI2mC,CAAC,GAAC,qBAAmB3mC,CAAzB;AAA2Bob,SAAC,CAACk3F,SAAF,CAAYtyG,CAAZ,EAAe+4E,GAAf,GAAmBpyC,CAAnB;AAAqB;;AAAA,aAAOyzF,EAAE,CAACh/G,CAAD,EAAG,UAASpb,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,YAAGt6B,CAAC,CAACsyG,SAAF,IAAatyG,CAAC,CAACsyG,SAAF,CAAYpvG,MAA5B,EAAmC;AAAC,cAAI49D,CAAC,GAAC,qBAAmBn6B,CAAnB,GAAqB,GAArB,GAAyB5lC,CAAzB,GAA2B,GAA3B,GAA+Bu5B,CAArC;AAAA,cAAuC5V,CAAC,GAAC61G,EAAE,CAAC,CAAD,EAAGz5D,CAAH,CAA3C;AAAiD9gE,WAAC,CAACsyG,SAAF,CAAY,CAAZ,EAAev5B,GAAf,GAAmBjY,CAAnB,EAAqB9gE,CAAC,CAACsyG,SAAF,CAAY,CAAZ,EAAerxG,EAAf,GAAkByjB,CAAvC,EAAyCtJ,CAAC,CAACk3F,SAAF,CAAY5tF,CAAZ,IAAe1kB,CAAC,CAACsyG,SAAF,CAAY,CAAZ,CAAxD,EAAuEl3F,CAAC,CAACk3F,SAAF,CAAYxxC,CAAZ,IAAe9gE,CAAC,CAACsyG,SAAF,CAAY,CAAZ,CAAtF;AAAqG;AAAC,OAAhN,CAAF,EAAoNkoB,EAAE,CAACp/G,CAAD,CAAtN,EAA0Ns/G,EAAE,CAACt/G,CAAD,CAA5N,EAAgOA,CAAvO;AAAyO;AAA1e,GAAn0F,EAA+yG;AAACgK,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,iBAAU;AAAC,UAAItkB,CAAC,GAAC,IAAN;AAAW,WAAK26H,OAAL,GAAa,CAAC,CAAd,EAAgB,KAAK0T,qBAAL,GAA2B,KAAKI,aAAL,GAAmBltH,CAAC,CAACxM,UAAF,CAAa,KAAKi6H,WAAL,CAAiBxzH,IAAjB,CAAsB,IAAtB,CAAb,EAAyC,CAAzC,CAA9C,GAA0F,KAAK7Y,OAAL,GAAa,KAAK43H,IAAL,CAAUx7E,GAAV,CAAc;AAACi5B,WAAG,EAAC,KAAK4iD,MAAV;AAAiBliD,uBAAe,EAAC,KAAKA;AAAtC,OAAd,EAAqE,UAASz5E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAG5lC,CAAC,CAAC2C,OAAL,EAAa;AAAC,cAAG3C,CAAC,CAAC2C,OAAF,GAAU,IAAV,EAAe1D,CAAlB,EAAoB,OAAOe,CAAC,CAACkE,KAAF,GAAQ;AAACtD,kBAAM,EAACglC,CAAC,CAAChlC,MAAV;AAAiBsc,mBAAO,EAAC,yCAAuCld,CAAC,CAAC46H,MAAlE;AAAyEh7E,wBAAY,EAACha,CAAC,CAACga,YAAxF;AAAqGh5B,gBAAI,EAAC;AAA1G,WAAR,EAAqH,mBAAiB5mB,CAAC,CAACwM,KAAnB,KAA2BxM,CAAC,CAAC26H,OAAF,GAAU,CAAC,CAAtC,CAArH,EAA8J36H,CAAC,CAACwE,OAAF,CAAU,OAAV,CAArK;AAAwLxE,WAAC,CAAC8uI,UAAF,GAAalpG,CAAC,CAACga,YAAf,EAA4Bha,CAAC,CAACmX,eAAF,IAAmBnX,CAAC,CAACmX,eAAF,CAAkBkyF,IAArC,GAA0CjvI,CAAC,CAACkvI,aAAF,GAAgB7jH,IAAI,CAACrd,KAAL,CAAW43B,CAAC,CAACmX,eAAF,CAAkBkyF,IAA7B,CAA1D,GAA6FjvI,CAAC,CAACkvI,aAAF,GAAgB7jH,IAAI,CAACrH,GAAL,EAAzI,EAAoJhkB,CAAC,CAAC46H,MAAF,GAAS9B,EAAE,CAAC94H,CAAC,CAACw6H,uBAAH,EAA2Bx6H,CAAC,CAAC46H,MAA7B,EAAoCh1F,CAApC,CAA/J,EAAsM5lC,CAAC,CAACmvI,sBAAF,CAAyBnvI,CAAC,CAACovI,wBAAF,CAA2B5zH,IAA3B,CAAgCxb,CAAhC,CAAzB,CAAtM;AAAmQ;AAAC,OAAjjB,CAAvH;AAA0qB;AAAntB,GAA/yG,EAAogI;AAACqkB,OAAG,EAAC,wBAAL;AAA8BC,SAAK,EAAC,eAASiV,CAAT,EAAW;AAAC,UAAIwmC,CAAC,GAAC,IAAN;AAAA,UAAWp8C,CAAC,GAAC+/F,EAAE,CAAC,KAAKorB,UAAN,CAAf;AAAiC,aAAO,SAAOnrH,CAAP,IAAU,KAAKorH,aAAL,GAAmB,KAAKG,aAAL,GAAmB7jH,IAAI,CAACrH,GAAL,EAAtC,EAAiDuV,CAAC,EAA5D,IAAgE,aAAW5V,CAAC,CAAC5a,MAAb,IAAqB,KAAKgmI,aAAL,GAAmBprH,CAAC,CAACW,KAAF,GAAQ+G,IAAI,CAACrH,GAAL,EAA3B,EAAsCuV,CAAC,EAA5D,IAAgE,MAAK,KAAK52B,OAAL,GAAa,KAAK43H,IAAL,CAAUx7E,GAAV,CAAc;AAACi5B,WAAG,EAACgJ,EAAE,CAAC,KAAK45C,MAAN,EAAaj3G,CAAC,CAACW,KAAf,CAAP;AAA6Bvb,cAAM,EAAC4a,CAAC,CAAC5a,MAAtC;AAA6C2vE,uBAAe,EAAC,KAAKA;AAAlE,OAAd,EAAiG,UAASz5E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAGm6B,CAAC,CAACp9D,OAAL,EAAa;AAAC,cAAG1D,CAAH,EAAK,OAAO8gE,CAAC,CAACgvE,aAAF,GAAgBhvE,CAAC,CAACmvE,aAAF,GAAgB7jH,IAAI,CAACrH,GAAL,EAAhC,EAA2CuV,CAAC,EAAnD;AAAsD,cAAIv5B,CAAC,GAAC,KAAK,CAAX;AAAaA,WAAC,GAAC,WAAS2jB,CAAC,CAAC5a,MAAX,GAAkB68B,CAAC,CAACmX,eAAF,IAAmBnX,CAAC,CAACmX,eAAF,CAAkBkyF,IAArC,GAA0C5jH,IAAI,CAACrd,KAAL,CAAW43B,CAAC,CAACmX,eAAF,CAAkBkyF,IAA7B,CAA1C,GAA6ElvE,CAAC,CAACmvE,aAAjG,GAA+G7jH,IAAI,CAACrd,KAAL,CAAW43B,CAAC,CAACga,YAAb,CAAjH,EAA4ImgB,CAAC,CAACgvE,aAAF,GAAgB/uI,CAAC,GAACqrB,IAAI,CAACrH,GAAL,EAA9J,EAAyKuV,CAAC,EAA1K;AAA6K;AAAC,OAAnX,CAAlB,CAAvI;AAA+gB;AAAhmB,GAApgI,EAAsmJ;AAAClV,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,iBAAU;AAAC,WAAK9X,KAAL,GAAW,aAAX,EAAyB,KAAKiiI,aAAL,GAAmB,IAA5C,EAAiD,KAAKJ,qBAAL,GAA2B,KAAKlU,MAAL,IAAa,KAAKz1E,KAAL,CAAW,KAAK4pF,cAAhB,CAAxC,IAAyE,KAAKtU,MAAL,GAAY,KAAKqV,cAAL,EAAZ,EAAkC,KAAK7qI,OAAL,CAAa,gBAAb,CAA3G,CAAjD;AAA4L;AAAhO,GAAtmJ,EAAw0J;AAAC6f,OAAG,EAAC,0BAAL;AAAgCC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,IAAN;AAAW,WAAK+vI,WAAL,IAAmB,KAAKM,iBAAL,MAA0B,KAAKnV,MAA/B,IAAuC,KAAKz1E,KAAL,CAAW,KAAKs1E,MAAL,CAAYzoB,SAAZ,CAAsB,CAAtB,CAAX,CAA1D,EAA+F,KAAKyoB,MAAL,IAAa,KAAKA,MAAL,CAAY5Y,mBAAzB,KAA+C,KAAKotB,2BAAL,GAAiCjtH,CAAC,CAACxM,UAAF,CAAa,YAAU;AAAC9V,SAAC,CAACuF,OAAF,CAAU,qBAAV;AAAiC,OAAzD,EAA0D,KAAKw1H,MAAL,CAAY5Y,mBAAtE,CAAhF,CAA/F;AAA2Q;AAAvU,GAAx0J,EAAipK;AAAC/8F,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,iBAAU;AAAC,UAAIs7C,CAAC,GAAC,IAAN;AAAW,WAAKj9D,OAAL,GAAa,KAAK43H,IAAL,CAAUx7E,GAAV,CAAc;AAACi5B,WAAG,EAAC,KAAK4iD,MAAV;AAAiBliD,uBAAe,EAAC,KAAKA;AAAtC,OAAd,EAAqE,UAASz5E,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAGg6B,CAAC,CAACj9D,OAAL,EAAa;AAAC,cAAGi9D,CAAC,CAACj9D,OAAF,GAAU,IAAV,EAAe1D,CAAlB,EAAoB,OAAO2gE,CAAC,CAAC17D,KAAF,GAAQ;AAACtD,kBAAM,EAACglC,CAAC,CAAChlC,MAAV;AAAiBsc,mBAAO,EAAC,yCAAuC0iD,CAAC,CAACg7D,MAAlE;AAAyEh7E,wBAAY,EAACha,CAAC,CAACga,YAAxF;AAAqGh5B,gBAAI,EAAC;AAA1G,WAAR,EAAqH,mBAAiBg5C,CAAC,CAACpzD,KAAnB,KAA2BozD,CAAC,CAAC+6D,OAAF,GAAU,CAAC,CAAtC,CAArH,EAA8J/6D,CAAC,CAACp7D,OAAF,CAAU,OAAV,CAArK;AAAwLo7D,WAAC,CAACkvE,UAAF,GAAalpG,CAAC,CAACga,YAAf,EAA4BggB,CAAC,CAAC8uE,YAAF,GAAe,UAASzvI,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe2jB,CAAf,EAAiB;AAAC,gBAAI4V,CAAC,GAACiqF,EAAE,CAACvkH,CAAD,EAAG;AAACgkH,yBAAW,EAACr9E,CAAb;AAAe47E,0BAAY,EAACxhH;AAA5B,aAAH,CAAR;AAAA,gBAA2Cqa,CAAC,GAAC2zH,EAAE,CAACz0G,CAAC,CAACg4E,SAAH,EAAa5tF,CAAb,CAA/C;AAA+D,mBAAO01G,EAAE,CAAC9/F,CAAD,EAAG,UAASt6B,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,kBAAGt6B,CAAC,CAACsyG,SAAF,IAAatyG,CAAC,CAACsyG,SAAF,CAAYpvG,MAA5B,EAAmC;AAAC,oBAAI49D,CAAC,GAAC9gE,CAAC,CAACsyG,SAAR;AAAkBl3F,iBAAC,GAACyzH,EAAE,CAACzzH,CAAD,EAAG2zH,EAAE,CAACjuE,CAAD,EAAGp8C,CAAH,CAAL,CAAJ;AAAgB;AAAC,aAA5F,CAAF,EAAgGtJ,CAAvG;AAAyG,WAA1L,CAA2LulD,CAAC,CAACkvE,UAA7L,EAAwMlvE,CAAC,CAACg7D,MAA1M,EAAiNh7D,CAAC,CAACmvE,aAAnN,EAAiOnvE,CAAC,CAAC8uE,YAAnO,CAA3C;AAA4R,cAAI1uI,CAAC,GAAC4/D,CAAC,CAACyvE,cAAF,EAAN;AAAA,cAAyB91G,CAAC,GAACs0G,EAAE,CAACjuE,CAAC,CAACo6D,MAAH,EAAUh6H,CAAV,CAA7B;AAAA,cAA0C+/D,CAAC,GAACH,CAAC,CAAClb,KAAF,GAAU47D,IAAtD;AAA2D,cAAG/mF,CAAH,EAAK,IAAGwmC,CAAH,EAAK;AAAC,gBAAIp8C,CAAC,GAACoqH,EAAE,CAAChuE,CAAD,CAAR;;AAAY,gBAAG,CAACH,CAAC,CAAC8uE,YAAF,CAAe/qH,CAAf,CAAJ,EAAsB;AAAC,kBAAItJ,CAAC,GAACulD,CAAC,CAAClb,KAAF,EAAN;AAAgBkb,eAAC,CAACj9D,OAAF,GAAUurI,EAAE,CAAC7zH,CAAC,CAACimG,IAAH,EAAQjmG,CAAR,EAAUulD,CAAC,CAAC26D,IAAF,CAAOx7E,GAAjB,EAAqB;AAACy7E,uCAAuB,EAAC56D,CAAC,CAAC46D;AAA3B,eAArB,EAAyE56D,CAAC,CAAC+uE,oBAAF,CAAuBt0H,CAAvB,EAAyBra,CAAzB,EAA2B4/D,CAAC,CAACpzD,KAA7B,EAAmC,UAASvN,CAAT,EAAW2mC,CAAX,EAAa;AAAC,oBAAG,CAAC3mC,CAAD,IAAI,CAAC2mC,CAAR,EAAU,MAAM,IAAIzzB,KAAJ,CAAU,+CAAV,CAAN;AAAiEytD,iBAAC,CAAC8uE,YAAF,CAAe/qH,CAAf,EAAkB28F,IAAlB,GAAuB16E,CAAvB,EAAyBg6B,CAAC,CAAC4uE,2BAAF,GAA8BjtH,CAAC,CAACxM,UAAF,CAAa,YAAU;AAAC6qD,mBAAC,CAACp7D,OAAF,CAAU,qBAAV;AAAiC,iBAAzD,EAA0Do7D,CAAC,CAACo6D,MAAF,CAAS5Y,mBAAnE,CAAvD,EAA+IxhD,CAAC,CAACivE,aAAF,CAAgBjvE,CAAC,CAAClb,KAAF,GAAUxkD,EAA1B,CAA/I;AAA6K,eAAzS,CAAzE,CAAZ;AAAiY;AAAC,WAA3b,MAAgc0/D,CAAC,CAACo6D,MAAF,GAASzgG,CAAT;AAAWqmC,WAAC,CAAC4uE,2BAAF,GAA8BjtH,CAAC,CAACxM,UAAF,CAAa,YAAU;AAAC6qD,aAAC,CAACp7D,OAAF,CAAU,qBAAV;AAAiC,WAAzD,EAA0Do7D,CAAC,CAACo6D,MAAF,CAAS5Y,mBAAnE,CAA9B;AAAsH;AAAC,OAA3sC,CAAb;AAA0tC;AAAzwC,GAAjpK,EAA45M;AAAC/8F,OAAG,EAAC,eAAL;AAAqBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAW,UAAG,CAAC3mC,CAAJ,EAAM,MAAM,IAAIkT,KAAJ,CAAU,oCAAV,CAAN;AAAsD,UAAInS,CAAC,GAAC,KAAK,CAAX;AAAA,UAAau5B,CAAC,GAAC,KAAK,CAApB;AAAsBA,OAAC,GAAC,KAAK80G,qBAAL,IAA4BruI,CAAC,GAAC,KAAKquI,qBAAL,CAA2BrU,MAA7B,EAAoC,KAAKqU,qBAAL,CAA2BgB,cAA3B,EAAhE,KAA8GrvI,CAAC,GAAC,KAAKg6H,MAAP,EAAc,KAAKqV,cAAL,EAA5H,CAAF;AAAqJ,UAAItvE,CAAC,GAAC8tE,EAAE,CAAC7tI,CAAD,EAAGu5B,CAAH,CAAR;AAAcwmC,OAAC,IAAE,KAAKsuE,qBAAL,GAA2B,KAAKA,qBAAL,CAA2BrU,MAA3B,GAAkCj6D,CAA7D,GAA+D,KAAKi6D,MAAL,GAAYj6D,CAA3E,EAA6E,KAAKo6D,MAAL,GAAYp6D,CAAC,CAACwxC,SAAF,CAAYtyG,CAAZ,CAA3F,KAA4G,KAAKk7H,MAAL,GAAY5gG,CAAC,CAACg4E,SAAF,CAAYtyG,CAAZ,CAAZ,EAA2B,KAAKuF,OAAL,CAAa,mBAAb,CAAvI,CAAD,EAA2K,KAAKkgD,KAAL,GAAa+rD,OAAb,KAAuB,KAAK2pB,kBAAL,GAAwB74G,CAAC,CAACxM,UAAF,CAAa,YAAU;AAAC6wB,SAAC,CAACphC,OAAF,CAAU,oBAAV;AAAgC,OAAxD,EAAyDo1H,EAAE,CAAC,KAAKl1E,KAAL,EAAD,EAAc,CAAC,CAACqb,CAAhB,CAA3D,CAA/C,CAA3K,EAA0S,KAAKv7D,OAAL,CAAa,gBAAb,CAA1S;AAAyU;AAAhnB,GAA55M,CAAJ,CAAxB,EAA4iO4pI,EAA9iO,CAAzB;;AAA2kO,WAASA,EAAT,CAAYnvI,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAAC,IAAEmoB,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASgmB,SAAS,CAAC,CAAD,CAAtC,GAA0CA,SAAS,CAAC,CAAD,CAAnD,GAAuD,EAA7D;AAAA,QAAgEoR,CAAC,GAACpR,SAAS,CAAC,CAAD,CAA3E;AAA+E6wG,MAAE,CAAC,IAAD,EAAMoV,EAAN,CAAF;AAAY,QAAIruE,CAAC,GAACq5D,EAAE,CAAC,IAAD,EAAM,CAACgV,EAAE,CAAC1rE,SAAH,IAAcj9D,MAAM,CAACogB,cAAP,CAAsBuoH,EAAtB,CAAf,EAA0CxpI,IAA1C,CAA+C,IAA/C,CAAN,CAAR;AAAA,QAAoE+e,CAAC,GAAC3jB,CAAC,CAAC04E,eAAxE;AAAA,QAAwFr+D,CAAC,GAAC,KAAK,CAAL,KAASsJ,CAAT,IAAYA,CAAtG;AAAA,QAAwGi8C,CAAC,GAAC5/D,CAAC,CAACw6H,uBAA5G;AAAA,QAAoI36D,CAAC,GAAC,KAAK,CAAL,KAASD,CAAT,IAAYA,CAAlJ;AAAoJ,QAAGG,CAAC,CAACw6D,IAAF,GAAO30F,CAAP,EAASm6B,CAAC,CAAC2Y,eAAF,GAAkBr+D,CAA3B,EAA6B0lD,CAAC,CAACy6D,uBAAF,GAA0B36D,CAAvD,EAAyD,CAAC5gE,CAA7D,EAA+D,MAAM,IAAIkT,KAAJ,CAAU,kDAAV,CAAN;AAAoE,WAAO4tD,CAAC,CAACz+D,EAAF,CAAK,qBAAL,EAA2B,YAAU;AAACy+D,OAAC,CAACwvE,WAAF;AAAgB,KAAtD,GAAwDxvE,CAAC,CAACz+D,EAAF,CAAK,oBAAL,EAA0B,YAAU;AAACy+D,OAAC,CAAC8uE,aAAF,CAAgB9uE,CAAC,CAACrb,KAAF,GAAUxkD,EAA1B;AAA8B,KAAnE,CAAxD,EAA6H6/D,CAAC,CAACvzD,KAAF,GAAQ,cAArI,EAAoJuzD,CAAC,CAACwuE,gBAAF,GAAmB,EAAvK,EAA0K,YAAU,OAAOtvI,CAAjB,IAAoB8gE,CAAC,CAAC66D,MAAF,GAAS37H,CAAT,EAAW8gE,CAAC,CAAC2uE,YAAF,GAAe,EAA1B,EAA6BtV,EAAE,CAACr5D,CAAD,CAAnD,KAAyDA,CAAC,CAACyvE,gBAAF,CAAmBj2G,CAAnB,EAAqBt6B,CAArB,GAAwB8gE,CAAjF,CAAjL;AAAqQ;;AAAA,WAAS0vE,EAAT,CAAYxwI,CAAZ,EAAc;AAAC,WAAO4sG,EAAE,CAACtuF,GAAH,CAAOD,KAAP,GAAauuF,EAAE,CAACtuF,GAAH,CAAOD,KAAP,CAAa9B,IAAb,CAAkBqwF,EAAlB,EAAqB,MAArB,EAA4B5sG,CAAC,GAAC,IAA9B,CAAb,GAAiD,YAAU,CAAE,CAApE;AAAqE;;AAAA,WAASywI,EAAT,GAAa,CAAE;;AAAA,MAAIC,EAAE,IAAE1W,EAAE,CAAC2W,EAAD,EAAI,CAAC;AAACvrH,OAAG,EAAC,qBAAL;AAA2BC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAN;AAAW,WAAK6vI,aAAL,GAAmB,KAAKC,WAAL,CAAiB9E,eAAjB,CAAiC/rI,CAAjC,CAAnB,EAAuD,KAAK8wI,OAAL,CAAa,sBAAb,CAAvD,EAA4FnqG,CAAC,KAAGA,CAAC,CAACphC,OAAF,CAAU,mBAAV,GAA+B,KAAKsrI,WAAL,CAAiBnD,aAAjB,CAA+BxqI,MAA/B,GAAsC,CAAxE,CAAD,GAA4EyjC,CAAC,CAACtkC,EAAF,CAAK,mBAAL,EAAyB,YAAU;AAACtB,SAAC,CAACgwI,MAAF;AAAW,OAA/C,CAA5E,GAA6H,KAAKA,MAAL,EAAzN;AAAuO;AAAjS,GAAD,EAAoS;AAAC3rH,OAAG,EAAC,QAAL;AAAcC,SAAK,EAAC,iBAAU;AAAC,UAAIshB,CAAC,GAAC,IAAN;AAAW,WAAKqqG,QAAL,GAAc,CAAC,CAAf,EAAiB,KAAKC,oBAAL,GAA0B,YAAU;AAAC,YAAIjxI,CAAC,GAAC2mC,CAAC,CAACuqG,gBAAR;AAAyBvqG,SAAC,CAACuqG,gBAAF,GAAmB,IAAnB,EAAwBvqG,CAAC,CAACiqG,aAAF,CAAgBO,QAAhB,GAAyB,CAAC,CAAlD,EAAoDxqG,CAAC,CAACmqG,OAAF,CAAU,eAAa3R,EAAE,CAACx4F,CAAC,CAACy9C,QAAF,EAAD,CAAf,GAA8B,GAAxC,CAApD,EAAiGpkF,CAAC,IAAEA,CAAC,EAArG,EAAwG2mC,CAAC,CAACyqG,YAAF,EAAxG;AAAyH,OAAxM,EAAyM,KAAKR,aAAL,CAAmBh4H,gBAAnB,CAAoC,WAApC,EAAgD,KAAKq4H,oBAArD,CAAzM,EAAoR,KAAKG,YAAL,EAApR;AAAwS;AAAlV,GAApS,EAAwnB;AAAChsH,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAW,WAAK0qG,gBAAL,IAAuB,KAAKC,cAAL,CAAoB,YAAU;AAAC3qG,SAAC,CAACiqG,aAAF,CAAgB/xF,KAAhB;AAAwB,OAAvD,EAAwD7+C,CAAxD,CAAvB;AAAkF;AAA5H,GAAxnB,EAAsvB;AAAColB,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAN;AAAW,WAAKswI,gBAAL,GAAsB,CAAC,CAAvB,EAAyB,KAAKC,cAAL,CAAoB,YAAU;AAACtxI,SAAC,CAACuxI,8BAAF,IAAkCxwI,CAAC,CAAC6vI,aAAF,CAAgBh4H,gBAAhB,CAAiC,wBAAjC,EAA0D5Y,CAAC,CAACuxI,8BAA5D,CAAlC,EAA8HxwI,CAAC,CAAC6vI,aAAF,CAAgB7D,YAAhB,CAA6B/sI,CAAC,CAAC49H,KAA/B,CAA9H;AAAoK,OAAnM,EAAoM,YAAU;AAAC59H,SAAC,CAACuxI,8BAAF,IAAkCxwI,CAAC,CAAC6vI,aAAF,CAAgB5xH,mBAAhB,CAAoC,wBAApC,EAA6Dhf,CAAC,CAACuxI,8BAA/D,CAAlC,EAAiI5qG,CAAC,EAAlI;AAAqI,OAApV,CAAzB;AAA+W;AAAla,GAAtvB,EAA0pC;AAACvhB,OAAG,EAAC,UAAL;AAAgBC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAKurH,aAAL,GAAmB,KAAKA,aAAL,CAAmBxsD,QAAtC,GAA+CwoB,EAAE,CAACgB,gBAAH,EAAtD;AAA4E;AAA7G,GAA1pC,EAAywC;AAACxoF,OAAG,EAAC,QAAL;AAAcC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAAC,IAAN;AAAA,UAAWwmC,CAAC,GAAC,IAAE53C,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASnC,CAA7B,GAA+BA,CAA/B,GAAiC0vI,EAA9C;AAAiD,WAAKY,gBAAL,IAAuB,KAAKC,cAAL,CAAoB,YAAU;AAACh3G,SAAC,CAACw2G,OAAF,CAAU,aAAW9wI,CAAX,GAAa,MAAb,GAAoB2mC,CAApB,GAAsB,GAAhC,GAAqCrM,CAAC,CAACs2G,aAAF,CAAgBO,QAAhB,GAAyB,CAAC,CAA/D,EAAiE72G,CAAC,CAACs2G,aAAF,CAAgBtvI,MAAhB,CAAuBtB,CAAvB,EAAyB2mC,CAAzB,CAAjE;AAA6F,OAA5H,EAA6Hm6B,CAA7H,CAAvB;AAAuJ;AAA5O,GAAzwC,EAAu/C;AAAC17C,OAAG,EAAC,UAAL;AAAgBC,SAAK,EAAC,iBAAU;AAAC,aAAM,CAAC,KAAKurH,aAAN,IAAqB,KAAKA,aAAL,CAAmB9E,QAAxC,IAAkD,CAAC,CAAC,KAAKoF,gBAAP,IAAyB,KAAKA,gBAAL,KAAwBT,EAAzG;AAA4G;AAA7I,GAAv/C,EAAsoD;AAACrrH,OAAG,EAAC,iBAAL;AAAuBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAW,aAAM,eAAa,OAAO3mC,CAApB,KAAwB,KAAKsxI,cAAL,CAAoB,YAAU;AAAC3qG,SAAC,CAACiqG,aAAF,CAAgBlR,eAAhB,GAAgC1/H,CAAhC,EAAkC2mC,CAAC,CAACyqG,YAAF,EAAlC;AAAmD,OAAlF,GAAoF,KAAKnE,gBAAL,GAAsBjtI,CAAlI,GAAqI,KAAKitI,gBAAhJ;AAAiK;AAArN,GAAtoD,EAA61D;AAAC7nH,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAK6qG,UAAL,CAAgBjuI,IAAhB,CAAqB,CAACvD,CAAC,CAACuc,IAAF,CAAO,IAAP,CAAD,EAAcoqB,CAAd,CAArB,GAAuC,KAAKyqG,YAAL,EAAvC;AAA2D;AAArG,GAA71D,EAAo8D;AAAChsH,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,KAAK,CAAX;AAAa,OAAC,KAAK8rI,QAAL,EAAD,IAAkB,KAAK0F,UAAL,CAAgBtuI,MAAlC,IAA0C,KAAK8tI,QAA/C,KAA0DhxI,CAAC,GAAC,KAAKwxI,UAAL,CAAgBhhH,KAAhB,EAAF,EAA0B,KAAK0gH,gBAAL,GAAsBlxI,CAAC,CAAC,CAAD,CAAjD,EAAqDA,CAAC,CAAC,CAAD,CAAD,EAA/G;AAAuH;AAAzK,GAAp8D,EAA+mE;AAAColB,OAAG,EAAC,SAAL;AAAeC,SAAK,EAAC,iBAAU;AAAC,eAASrlB,CAAT,GAAY;AAAC2mC,SAAC,CAACiqG,aAAF,IAAiB,WAASjqG,CAAC,CAACkqG,WAAF,CAAc/wG,UAAxC,IAAoD6G,CAAC,CAACiqG,aAAF,CAAgB/xF,KAAhB,EAApD,EAA4ElY,CAAC,CAACiqG,aAAF,CAAgB5xH,mBAAhB,CAAoC,WAApC,EAAgDhf,CAAhD,CAA5E;AAA+H;;AAAA,UAAI2mC,CAAC,GAAC,IAAN;AAAW,WAAKiqG,aAAL,CAAmB5xH,mBAAnB,CAAuC,WAAvC,EAAmD,KAAKiyH,oBAAxD,GAA8E,KAAKL,aAAL,CAAmBO,QAAnB,GAA4B,KAAKP,aAAL,CAAmBh4H,gBAAnB,CAAoC,WAApC,EAAgD5Y,CAAhD,CAA5B,GAA+EA,CAAC,EAA9J;AAAiK;AAAxV,GAA/mE,CAAJ,CAAF,EAAi9E2wI,EAAn9E,CAAN;;AAA69E,WAASA,EAAT,CAAY3wI,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoB;AAACy/F,MAAE,CAAC,IAAD,EAAM4W,EAAN,CAAF,EAAY,KAAKa,UAAL,GAAgB,EAA5B,EAA+B,KAAKN,gBAAL,GAAsB,IAArD,EAA0D,KAAKjE,gBAAL,GAAsB,CAAhF,EAAkF,KAAK4D,WAAL,GAAiB7wI,CAAnG,EAAqG,KAAKqxI,gBAAL,GAAsB,CAAC,CAA5H,EAA8H,KAAKxM,KAAL,GAAW9jI,CAAzI,EAA2I,KAAK0wI,SAAL,GAAe9qG,CAA1J,EAA4J,KAAKmqG,OAAL,GAAaN,EAAE,CAAC,mBAAiBzvI,CAAjB,GAAmB,IAAnB,GAAwB4lC,CAAxB,GAA0B,GAA3B,CAA3K,EAA2M,aAAW3mC,CAAC,CAAC8/B,UAAb,GAAwB9/B,CAAC,CAAC4Y,gBAAF,CAAmB,YAAnB,EAAgC,KAAK84H,mBAAL,CAAyBn1H,IAAzB,CAA8B,IAA9B,EAAmCoqB,CAAnC,EAAqCrM,CAArC,CAAhC,CAAxB,GAAiG,KAAKo3G,mBAAL,CAAyB/qG,CAAzB,EAA2BrM,CAA3B,CAA5S;AAA0U;;AAAA,WAASq3G,EAAT,CAAY3xI,CAAZ,EAAc;AAACA,KAAC,CAAC+I,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAACA,OAAC,CAAC6+C,KAAF;AAAU,KAAhC;AAAkC;;AAAA,WAAS+yF,EAAT,CAAY5xI,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,WAAOA,CAAC,CAACy2F,QAAF,GAAW;AAACz7H,YAAM,EAACglC,CAAC,CAAChlC,MAAV;AAAiBsc,aAAO,EAAC,mCAAiC0oB,CAAC,CAACoyC,GAA5D;AAAgEpxD,UAAI,EAACkqH,EAArE;AAAwE/xF,SAAG,EAACnZ;AAA5E,KAAX,GAA0FA,CAAC,CAAC02F,OAAF,GAAU;AAAC17H,YAAM,EAACglC,CAAC,CAAChlC,MAAV;AAAiBsc,aAAO,EAAC,iCAA+B0oB,CAAC,CAACoyC,GAA1D;AAA8DpxD,UAAI,EAACmqH,EAAnE;AAAsEhyF,SAAG,EAACnZ;AAA1E,KAAV,GAAuF3mC,CAAC,GAAC;AAAC2B,YAAM,EAACglC,CAAC,CAAChlC,MAAV;AAAiBsc,aAAO,EAAC,iCAA+B0oB,CAAC,CAACoyC,GAA1D;AAA8DpxD,UAAI,EAACyd,EAAnE;AAAsE0a,SAAG,EAACnZ;AAA1E,KAAD,GAA8E,IAAvQ;AAA4Q;;AAAA,WAASorG,EAAT,CAAYhxI,CAAZ,EAAcu5B,CAAd,EAAgBwmC,CAAhB,EAAkB;AAAC,QAAIp8C,CAAC,GAAC,CAAN;AAAA,QAAQtJ,CAAC,GAAC,CAAC,CAAX;AAAa,WAAO,UAASpb,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,CAACvrB,CAAJ,EAAM,OAAOpb,CAAC,IAAEob,CAAC,GAAC,CAAC,CAAH,EAAKu2H,EAAE,CAAC5wI,CAAD,CAAP,EAAW+/D,CAAC,CAAC9gE,CAAD,EAAG2mC,CAAH,CAAd,IAAqB,CAACjiB,CAAC,IAAE,CAAJ,MAAS3jB,CAAC,CAACmC,MAAX,IAAmByjC,CAAC,CAACqrG,gBAAF,GAAmB5lH,IAAI,CAACrH,GAAL,EAAnB,EAA8B4hB,CAAC,CAACsrG,cAAF,GAAiB,UAAS33G,CAAT,EAAWwmC,CAAX,EAAap8C,CAAb,EAAe;AAAC4V,SAAC,CAAC1hB,gBAAF,CAAmB,SAAnB,EAA6B,SAAS5Y,CAAT,CAAW2mC,CAAX,EAAa;AAAC,cAAGA,CAAC,CAACnmC,IAAF,CAAOif,MAAP,KAAgBqhD,CAAC,CAACoxE,SAArB,EAA+B;AAAC53G,aAAC,CAACtb,mBAAF,CAAsB,SAAtB,EAAgChf,CAAhC;AAAmC,gBAAIe,CAAC,GAAC4lC,CAAC,CAACnmC,IAAF,CAAO2xI,SAAb;AAAuB,mBAAOrxE,CAAC,CAAC88D,KAAF,GAAQ,IAAIxrB,UAAJ,CAAerxG,CAAC,CAAC68H,KAAjB,EAAuB78H,CAAC,CAACmmH,UAAzB,EAAoCnmH,CAAC,CAAComH,UAAtC,CAAR,EAA0DziG,CAAC,CAAC,IAAD,EAAMo8C,CAAN,CAAlE;AAA2E;AAAC,SAAjN;AAAmN,YAAI9gE,CAAC,GAAC,KAAK,CAAX;AAAaA,SAAC,GAAC8gE,CAAC,CAAC17C,GAAF,CAAMw4G,KAAN,CAAYjjH,KAAZ,GAAkBmmD,CAAC,CAAC17C,GAAF,CAAMw4G,KAAN,CAAYjjH,KAAZ,EAAlB,GAAsC,IAAI01F,WAAJ,CAAgB70F,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2Bm7D,CAAC,CAAC17C,GAAF,CAAMw4G,KAAjC,CAAhB,CAAxC,EAAiGtjG,CAAC,CAACmoG,WAAF,CAAc/E,EAAE,CAAC;AAACj+G,gBAAM,EAACqhD,CAAC,CAACoxE,SAAV;AAAoBE,mBAAS,EAACtxE,CAAC,CAACmxE,cAAhC;AAA+C7sH,aAAG,EAACplB,CAAnD;AAAqDqyG,YAAE,EAACvxC,CAAC,CAAC17C,GAAF,CAAMitF;AAA9D,SAAD,CAAhB,EAAoF,CAACvxC,CAAC,CAACmxE,cAAF,CAAiBtmI,MAAlB,EAAyB3L,CAAC,CAAC2L,MAA3B,CAApF,CAAjG;AAAyN,OAAzc,CAA0c2uB,CAA1c,EAA4cqM,CAA5c,EAA8cm6B,CAA9c,CAAjB,GAAkeA,CAAC,CAAC,IAAD,EAAMn6B,CAAN,CAAphB,IAA8hB,KAAK,CAAhkB;AAAkkB,KAA7lB;AAA8lB;;AAAA,WAAS0rG,EAAT,CAAY1rG,CAAZ,EAAc5lC,CAAd,EAAgB;AAAC,WAAO,UAASf,CAAT,EAAW;AAAC,aAAO2mC,CAAC,CAAC2rG,KAAF,GAAQ1lC,EAAE,CAACa,YAAH,CAAgB9mE,CAAC,CAAC2rG,KAAlB,EAAwB,UAAStyI,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC3mC,CAAC,CAACsK,MAAR;AAAA,YAAevJ,CAAC,GAAC;AAACihH,mBAAS,EAAC,IAAE,CAAb;AAAemb,uBAAa,EAAC,CAA7B;AAA+BF,uBAAa,EAAC7wG,IAAI,CAACrH,GAAL,KAAW4hB,CAAC,CAACu2F,WAAb,IAA0B;AAAvE,SAAjB;AAA2F,eAAOn8H,CAAC,CAACo8H,aAAF,GAAgBn9H,CAAC,CAACuyI,MAAlB,EAAyBxxI,CAAC,CAACihH,SAAF,GAAYrhG,IAAI,CAACuE,KAAL,CAAWnkB,CAAC,CAACo8H,aAAF,GAAgBp8H,CAAC,CAACk8H,aAAlB,GAAgC,CAAhC,GAAkC,GAA7C,CAArC,EAAuFl8H,CAA9F;AAAgG,OAAvM,CAAwMf,CAAxM,CAAxB,CAAR,EAA4O,CAAC2mC,CAAC,CAAC2rG,KAAF,CAAQE,oBAAT,IAA+B7rG,CAAC,CAAC2rG,KAAF,CAAQnV,aAAvC,KAAuDx2F,CAAC,CAAC2rG,KAAF,CAAQE,oBAAR,GAA6BpmH,IAAI,CAACrH,GAAL,EAApF,CAA5O,EAA4UhkB,CAAC,CAACf,CAAD,EAAG2mC,CAAH,CAApV;AAA0V,KAA7W;AAA8W;;AAAA,WAAS8rG,EAAT,CAAYzyI,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkBu5B,CAAlB,EAAoBwmC,CAApB,EAAsBp8C,CAAtB,EAAwBtJ,CAAxB,EAA0B;AAAC,QAAIulD,CAAC,GAAC,EAAN;AAAA,QAASC,CAAC,GAACmxE,EAAE,CAACpxE,CAAD,EAAG5/D,CAAH,EAAKqa,CAAL,CAAb;;AAAqB,QAAG0lD,CAAC,CAAC17C,GAAF,IAAO,CAAC07C,CAAC,CAAC17C,GAAF,CAAMw4G,KAAjB,EAAuB;AAAC,UAAIxiG,CAAC,GAACp7B,CAAC,CAAC4sG,EAAE,CAACa,YAAH,CAAgB9mE,CAAhB,EAAkB;AAACoyC,WAAG,EAACjY,CAAC,CAAC17C,GAAF,CAAMs7F,WAAX;AAAuBhgE,oBAAY,EAAC;AAApC,OAAlB,CAAD,EAAuE,UAASh8B,CAAT,EAAWtJ,CAAX,EAAa;AAAC,eAAO,UAASpb,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAI5lC,CAAC,GAAC4lC,CAAC,CAAC9lC,QAAR;AAAA,cAAiBy5B,CAAC,GAACs3G,EAAE,CAAC5xI,CAAD,EAAG2mC,CAAH,CAArB;AAA2B,cAAGrM,CAAH,EAAK,OAAOlf,CAAC,CAACkf,CAAD,EAAG5V,CAAH,CAAR;AAAc,cAAG,OAAK3jB,CAAC,CAAComH,UAAV,EAAqB,OAAO/rG,CAAC,CAAC;AAACzZ,kBAAM,EAACglC,CAAC,CAAChlC,MAAV;AAAiBsc,mBAAO,EAAC,6BAA2B0oB,CAAC,CAACoyC,GAAtD;AAA0DpxD,gBAAI,EAACyd,EAA/D;AAAkE0a,eAAG,EAACnZ;AAAtE,WAAD,EAA0EjiB,CAA1E,CAAR;AAAqF,cAAIo8C,CAAC,GAAC,IAAImmD,QAAJ,CAAalmH,CAAb,CAAN;AAAsB,iBAAO2jB,CAAC,CAACU,GAAF,CAAMw4G,KAAN,GAAY,IAAIvtB,WAAJ,CAAgB,CAACvvC,CAAC,CAACsnD,SAAF,CAAY,CAAZ,CAAD,EAAgBtnD,CAAC,CAACsnD,SAAF,CAAY,CAAZ,CAAhB,EAA+BtnD,CAAC,CAACsnD,SAAF,CAAY,CAAZ,CAA/B,EAA8CtnD,CAAC,CAACsnD,SAAF,CAAY,EAAZ,CAA9C,CAAhB,CAAZ,EAA4FhtG,CAAC,CAAC,IAAD,EAAMsJ,CAAN,CAApG;AAA6G,SAAhT;AAAiT,OAA/T,CAAgUo8C,CAAhU,EAAkUF,CAAlU,CAAvE,CAAP;AAAoZD,OAAC,CAACp9D,IAAF,CAAO63B,CAAP;AAAU;;AAAA,QAAG0lC,CAAC,CAAC73C,GAAF,IAAO,CAAC63C,CAAC,CAAC73C,GAAF,CAAM20G,KAAjB,EAAuB;AAAC,UAAIp8D,CAAC,GAACxhE,CAAC,CAAC4sG,EAAE,CAACa,YAAH,CAAgB9mE,CAAhB,EAAkB;AAACoyC,WAAG,EAACjY,CAAC,CAAC73C,GAAF,CAAMy3F,WAAX;AAAuBhgE,oBAAY,EAAC,aAApC;AAAkDvB,eAAO,EAACm+E,EAAE,CAACx8D,CAAC,CAAC73C,GAAH;AAA5D,OAAlB,CAAD,EAAyF,UAAS63C,CAAT,EAAWp8C,CAAX,EAAatJ,CAAb,EAAe;AAAC,eAAO,UAASpb,CAAT,EAAW2mC,CAAX,EAAa;AAAC,cAAI5lC,CAAC,GAAC4lC,CAAC,CAAC9lC,QAAR;AAAA,cAAiBy5B,CAAC,GAACs3G,EAAE,CAAC5xI,CAAD,EAAG2mC,CAAH,CAArB;AAA2B,iBAAOrM,CAAC,GAAClf,CAAC,CAACkf,CAAD,EAAGwmC,CAAH,CAAF,GAAQ,MAAI//D,CAAC,CAAComH,UAAN,GAAiB/rG,CAAC,CAAC;AAACzZ,kBAAM,EAACglC,CAAC,CAAChlC,MAAV;AAAiBsc,mBAAO,EAAC,uCAAqC0oB,CAAC,CAACoyC,GAAhE;AAAoEpxD,gBAAI,EAACyd,EAAzE;AAA4E0a,eAAG,EAACnZ;AAAhF,WAAD,EAAoFm6B,CAApF,CAAlB,IAA0GA,CAAC,CAAC73C,GAAF,CAAM20G,KAAN,GAAY,IAAIxrB,UAAJ,CAAezrE,CAAC,CAAC9lC,QAAjB,CAAZ,EAAuC6jB,CAAC,IAAE,CAACA,CAAC,CAAC4wG,aAAF,EAAJ,IAAuB5wG,CAAC,CAAChjB,IAAF,EAA9D,EAAuEo/D,CAAC,CAAC73C,GAAF,CAAMypH,UAAN,GAAiB7iB,EAAE,CAACjP,SAAH,CAAa9/C,CAAC,CAAC73C,GAAF,CAAM20G,KAAnB,CAAxF,EAAkH98D,CAAC,CAAC73C,GAAF,CAAM8mG,aAAN,GAAoBF,EAAE,CAACE,aAAH,CAAiBjvD,CAAC,CAAC73C,GAAF,CAAM20G,KAAvB,CAAtI,EAAoKxiH,CAAC,CAAC,IAAD,EAAM0lD,CAAN,CAA/Q,CAAhB;AAAyS,SAAzV;AAA0V,OAA1W,CAA2WA,CAA3W,EAA6WxmC,CAA7W,EAA+WsmC,CAA/W,CAAzF,CAAP;AAAmdD,OAAC,CAACp9D,IAAF,CAAOi+D,CAAP;AAAU;;AAAA,QAAIf,CAAC,GAACzgE,CAAC,CAAC4sG,EAAE,CAACa,YAAH,CAAgB9mE,CAAhB,EAAkB;AAACoyC,SAAG,EAACjY,CAAC,CAAC4/C,WAAP;AAAmBhgE,kBAAY,EAAC,aAAhC;AAA8CvB,aAAO,EAACm+E,EAAE,CAACx8D,CAAD;AAAxD,KAAlB,CAAD,EAAiF,UAASp8C,CAAT,EAAWtJ,CAAX,EAAaulD,CAAb,EAAe;AAAC,aAAO,UAAS3gE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAI5lC,CAAC,GAAC4lC,CAAC,CAAC9lC,QAAR;AAAA,YAAiBy5B,CAAC,GAACs3G,EAAE,CAAC5xI,CAAD,EAAG2mC,CAAH,CAArB;AAAA,YAA2Bm6B,CAAC,GAAC,KAAK,CAAlC;AAAoC,eAAOxmC,CAAC,GAACqmC,CAAC,CAACrmC,CAAD,EAAG5V,CAAH,CAAF,GAAQ,MAAI3jB,CAAC,CAAComH,UAAN,GAAiBxmD,CAAC,CAAC;AAACh/D,gBAAM,EAACglC,CAAC,CAAChlC,MAAV;AAAiBsc,iBAAO,EAAC,uCAAqC0oB,CAAC,CAACoyC,GAAhE;AAAoEpxD,cAAI,EAACyd,EAAzE;AAA4E0a,aAAG,EAACnZ;AAAhF,SAAD,EAAoFjiB,CAApF,CAAlB,IAA0GA,CAAC,CAAC4tH,KAAF,GAAQ,UAAStyI,CAAT,EAAW;AAAC,iBAAM;AAACgiH,qBAAS,EAAChiH,CAAC,CAACgiH,SAAb;AAAuBmb,yBAAa,EAACn9H,CAAC,CAACm9H,aAAF,IAAiB,CAAtD;AAAwDF,yBAAa,EAACj9H,CAAC,CAACi9H,aAAF,IAAiB;AAAvF,WAAN;AAAgG,SAA5G,CAA6Gt2F,CAA7G,CAAR,EAAwHjiB,CAAC,CAACU,GAAF,GAAMV,CAAC,CAACutH,cAAF,GAAiB,IAAI7/B,UAAJ,CAAezrE,CAAC,CAAC9lC,QAAjB,CAAvB,GAAkD6jB,CAAC,CAACk5G,KAAF,GAAQ,IAAIxrB,UAAJ,CAAezrE,CAAC,CAAC9lC,QAAjB,CAAlL,EAA6Mua,CAAC,IAAEsJ,CAAC,CAACuE,GAAL,IAAUvE,CAAC,CAACuE,GAAF,CAAM20G,KAAhB,KAAwBxiH,CAAC,CAACk6G,aAAF,MAAmBl6G,CAAC,CAAC1Z,IAAF,EAAnB,EAA4B,CAACo/D,CAAC,GAAC1lD,CAAC,CAACrM,KAAF,CAAQ2V,CAAC,CAACk5G,KAAV,EAAgBl5G,CAAC,CAACuE,GAAF,CAAM8mG,aAAtB,EAAoCrrG,CAAC,CAACuE,GAAF,CAAMypH,UAA1C,CAAH,KAA2D5xE,CAAC,CAACqW,QAA7D,KAAwEzyD,CAAC,CAAC8wG,cAAF,GAAiB10D,CAAC,CAAC00D,cAAnB,EAAkC9wG,CAAC,CAACiuH,YAAF,GAAe7xE,CAAC,CAACqW,QAA3H,CAApD,CAA7M,EAAuYxW,CAAC,CAAC,IAAD,EAAMj8C,CAAN,CAAlf,CAAhB;AAA4gB,OAArkB;AAAskB,KAAtlB,CAAulBo8C,CAAvlB,EAAylBxmC,CAAzlB,EAA2lBsmC,CAA3lB,CAAjF,CAAP;AAAurB,WAAOH,CAAC,CAAC7nD,gBAAF,CAAmB,UAAnB,EAA8By5H,EAAE,CAACvxE,CAAD,EAAGp8C,CAAH,CAAhC,GAAuCi8C,CAAC,CAACp9D,IAAF,CAAOk9D,CAAP,CAAvC,EAAiD,YAAU;AAAC,aAAOkxE,EAAE,CAAChxE,CAAD,CAAT;AAAa,KAAhF;AAAiF;;AAAA,WAASiyE,EAAT,CAAY5yI,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAJ;AAAM,WAAOf,CAAC,KAAGe,CAAC,GAACuhB,CAAC,CAAClF,gBAAF,CAAmBpd,CAAnB,CAAL,CAAD,GAA6Be,CAAC,CAAC4lC,CAAD,CAA9B,GAAkC,EAAzC;AAA4C;;AAAA,WAASksG,EAAT,CAAY7yI,CAAZ,EAAcs6B,CAAd,EAAgB;AAAC,QAAIwmC,CAAC,GAAC9gE,CAAC,CAAC2a,KAAF,EAAN;AAAgB3a,KAAC,CAAC2pB,IAAF,CAAO,UAAS3pB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAACu5B,CAAC,CAACt6B,CAAD,EAAG2mC,CAAH,CAAP;AAAa,aAAO,MAAI5lC,CAAJ,GAAM+/D,CAAC,CAAC3/D,OAAF,CAAUnB,CAAV,IAAa8gE,CAAC,CAAC3/D,OAAF,CAAUwlC,CAAV,CAAnB,GAAgC5lC,CAAvC;AAAyC,KAA3E;AAA6E;;AAAA,WAAS+xI,EAAT,CAAY9yI,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,QAAI5lC,CAAC,GAAC,KAAK,CAAX;AAAA,QAAau5B,CAAC,GAAC,KAAK,CAApB;AAAsB,WAAOt6B,CAAC,CAACuG,UAAF,CAAa0pG,SAAb,KAAyBlvG,CAAC,GAACf,CAAC,CAACuG,UAAF,CAAa0pG,SAAxC,GAAmDlvG,CAAC,GAACA,CAAC,IAAEuhB,CAAC,CAACmlC,MAAF,CAASi1E,SAAjE,EAA2E/1F,CAAC,CAACpgC,UAAF,CAAa0pG,SAAb,KAAyB31E,CAAC,GAACqM,CAAC,CAACpgC,UAAF,CAAa0pG,SAAxC,CAA3E,EAA8HlvG,CAAC,IAAEu5B,CAAC,GAACA,CAAC,IAAEhY,CAAC,CAACmlC,MAAF,CAASi1E,SAAhB,CAAtI;AAAiK;;AAAA,WAASqW,EAAT,CAAY/yI,CAAZ,EAAc;AAAC,WAAM,YAAU,OAAOA,CAAjB,IAAoBkyC,QAAQ,CAAClyC,CAAD,CAAlC;AAAsC;;AAAA,MAAIgzI,EAAE,GAAC;AAACC,sBAAkB,EAAC,EAApB;AAAuBC,0BAAsB,EAAC,EAA9C;AAAiDC,2BAAuB,EAAC,CAAzE;AAA2EC,qBAAiB,EAAC,OAA7F;AAAqGC,sBAAkB,EAAC,GAAxH;AAA4HC,yBAAqB,EAAC,CAAlJ;AAAoJC,6BAAyB,EAAC,EAA9K;AAAiLC,8BAA0B,EAAC;AAA5M,GAAP;AAAA,MAAsNpuG,EAAE,GAAC,CAAzN;AAAA,MAA2NysG,EAAE,GAAC,CAAC,GAA/N;AAAA,MAAmOC,EAAE,GAAC,CAAC,GAAvO;AAAA,MAA2O2B,EAAE,IAAEvZ,EAAE,CAACwZ,EAAD,EAAI9mC,EAAE,CAACoB,WAAP,CAAF,EAAsBgsB,EAAE,CAAC0Z,EAAD,EAAI,CAAC;AAACtuH,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,iBAAU;AAAC,WAAKsuH,qBAAL,GAA2B,CAA3B,EAA6B,KAAKC,aAAL,GAAmB,CAAhD,EAAkD,KAAKC,oBAAL,GAA0B,CAA5E,EAA8E,KAAKC,qBAAL,GAA2B,CAAzG,EAA2G,KAAKC,oBAAL,GAA0B,CAArI,EAAuI,KAAKC,qBAAL,GAA2B,CAAlK,EAAoK,KAAKC,kBAAL,GAAwB,CAA5L;AAA8L;AAAlO,GAAD,EAAqO;AAAC7uH,OAAG,EAAC,SAAL;AAAeC,SAAK,EAAC,iBAAU;AAAC,WAAK9f,OAAL,CAAa,SAAb,GAAwB,KAAKgI,KAAL,GAAW,UAAnC,EAA8C,KAAKb,KAAL,EAA9C,EAA2D,KAAKwnI,MAAL,EAA3D,EAAyE,KAAKC,cAAL,IAAqB,KAAKA,cAAL,CAAoB1iI,OAApB,EAA9F,EAA4H,KAAK2iI,WAAL,EAA5H,EAA+I,KAAKC,cAAL,IAAqB,KAAKA,cAAL,CAAoBx9G,KAApB,EAApK,EAAgM,KAAKy9G,mBAAL,IAA0BhyH,CAAC,CAACy0B,YAAF,CAAe,KAAKu9F,mBAApB,CAA1N,EAAmQ,KAAKC,eAAL,IAAsB,KAAKC,sBAA3B,IAAmD,KAAKD,eAAL,CAAqBnyI,GAArB,CAAyB,gBAAzB,EAA0C,KAAKoyI,sBAA/C,CAAtT,EAA6X,KAAKpyI,GAAL,EAA7X;AAAwY;AAAxa,GAArO,EAA+oB;AAACgjB,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,iBAAU;AAAC,oBAAY,KAAK9X,KAAjB,IAAwB,KAAK2mI,MAAL,IAAc,KAAK3mI,KAAL,GAAW,OAAzB,EAAiC,KAAK0C,MAAL,MAAe,KAAKwkI,cAAL,EAAxE,IAA+F,KAAKC,eAAL,KAAuB,KAAKA,eAAL,GAAqB,IAA5C,CAA/F;AAAiJ;AAA/K,GAA/oB,EAAg0B;AAACtvH,OAAG,EAAC,QAAL;AAAcC,SAAK,EAAC,iBAAU;AAAC,WAAKqvH,eAAL,IAAsB,KAAKA,eAAL,CAAqBC,aAArB,EAAtB,EAA2D,KAAKD,eAAL,GAAqB,IAAhF;AAAqF;AAApH,GAAh0B,EAAs7B;AAACtvH,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,aAAM,eAAa,OAAOA,CAApB,KAAwB,KAAK8kF,MAAL,GAAY9kF,CAApC,GAAuC,KAAK00I,eAAL,GAAqB,IAA5D,EAAiE,KAAK5vD,MAA5E;AAAmF;AAAlH,GAAt7B,EAA0iC;AAAC1/D,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,iBAAU;AAAC,WAAKuvH,MAAL,GAAY,CAAC,CAAb,EAAe,KAAKloI,KAAL,EAAf,EAA4B,KAAKnH,OAAL,CAAa,OAAb,CAA5B;AAAkD;AAAtF,GAA1iC,EAAkoC;AAAC6f,OAAG,EAAC,WAAL;AAAiBC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAK8uH,cAAL,GAAoB,KAAKA,cAAL,CAAoB/vD,QAApB,EAApB,GAAmDwoB,EAAE,CAACgB,gBAAH,EAA1D;AAAgF;AAAlH,GAAloC,EAAsvC;AAACxoF,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAEmoB,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASyjC,CAA7B,IAAgCA,CAAtC;AAAwC,UAAG,CAAC3mC,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAIs6B,CAAC,GAACujG,EAAE,CAAC79H,CAAD,CAAR;AAAA,UAAY8gE,CAAC,GAAC,KAAK+zE,aAAL,CAAmBv6G,CAAnB,CAAd;AAAoC,aAAOv5B,CAAC,IAAE,CAAC+/D,CAAJ,IAAO9gE,CAAC,CAAC49H,KAAT,KAAiB,KAAKiX,aAAL,CAAmBv6G,CAAnB,IAAsBwmC,CAAC,GAAC;AAAC4/C,mBAAW,EAAC1gH,CAAC,CAAC0gH,WAAf;AAA2B3Q,iBAAS,EAAC/vG,CAAC,CAAC+vG,SAAvC;AAAiD6tB,aAAK,EAAC59H,CAAC,CAAC49H,KAAzD;AAA+D8U,kBAAU,EAAC1yI,CAAC,CAAC0yI,UAA5E;AAAuF3iB,qBAAa,EAAC/vH,CAAC,CAAC+vH;AAAvG,OAAzC,GAAgKjvD,CAAC,IAAE9gE,CAA1K;AAA4K;AAAjT,GAAtvC,EAAyiD;AAAColB,OAAG,EAAC,YAAL;AAAkBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAEmoB,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASyjC,CAA7B,IAAgCA,CAAtC;AAAwC,UAAG,CAAC3mC,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAIs6B,CAAC,GAACwjG,EAAE,CAAC99H,CAAD,CAAR;AAAA,UAAY8gE,CAAC,GAAC,KAAKg0E,SAAL,CAAex6G,CAAf,CAAd;AAAgC,WAAKy6G,oBAAL,IAA2Bh0I,CAA3B,IAA8B,CAAC+/D,CAA/B,IAAkC9gE,CAAC,CAAC49H,KAApC,KAA4C,KAAKkX,SAAL,CAAex6G,CAAf,IAAkBwmC,CAAC,GAAC;AAAC4/C,mBAAW,EAAC1gH,CAAC,CAAC0gH,WAAf;AAA2Bkd,aAAK,EAAC59H,CAAC,CAAC49H;AAAnC,OAAhE;AAA2G,UAAIl5G,CAAC,GAAC;AAACg8F,mBAAW,EAAC,CAAC5/C,CAAC,IAAE9gE,CAAJ,EAAO0gH;AAApB,OAAN;AAAuC,aAAO5/C,CAAC,KAAGp8C,CAAC,CAACk5G,KAAF,GAAQ98D,CAAC,CAAC88D,KAAb,CAAD,EAAqBl5G,CAA5B;AAA8B;AAAhT,GAAziD,EAA21D;AAACU,OAAG,EAAC,oBAAL;AAA0BC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAK2vH,SAAL,KAAiB,KAAKb,cAAL,IAAqB,KAAK1C,SAAL,IAAgB,WAAS,KAAKlkI,KAApE,KAA4E,CAAC,KAAK0C,MAAL,EAApF;AAAkG;AAA7I,GAA31D,EAA0+D;AAACmV,OAAG,EAAC,MAAL;AAAYC,SAAK,EAAC,iBAAU;AAAC,UAAG,KAAKovH,cAAL,IAAsB,KAAKO,SAA9B,EAAwC;AAAC,YAAG,KAAKT,eAAL,CAAqBU,kBAArB,CAAwC,KAAKD,SAA7C,GAAwD,WAAS,KAAKznI,KAAd,IAAqB,KAAK2nI,kBAAL,EAAhF,EAA0G,OAAO,KAAKC,KAAL,EAAP;AAAoB,SAAC,KAAKD,kBAAL,EAAD,IAA4B,YAAU,KAAK3nI,KAAf,IAAsB,WAAS,KAAKA,KAAhE,KAAwE,KAAKA,KAAL,GAAW,OAAnF;AAA4F;AAAC;AAAjS,GAA1+D,EAA6wE;AAAC6X,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAK9X,KAAL,GAAW,OAAX,EAAmB,KAAK4mI,cAAL,GAAoB,IAAIzD,EAAJ,CAAO,KAAK/Q,YAAZ,EAAyB,KAAK8R,SAA9B,EAAwC,KAAK2D,WAA7C,EAAyD,KAAKC,oBAA9D,CAAvC,EAA2H,KAAKC,eAAL,EAA3H,EAAkJ,KAAKb,cAAL,EAAzJ;AAA+K;AAA7M,GAA7wE,EAA49E;AAACrvH,OAAG,EAAC,UAAL;AAAgBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAEmoB,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASyjC,CAA7B,GAA+BA,CAA/B,GAAiC,EAAvC;;AAA0C,UAAG3mC,CAAH,EAAK;AAAC,YAAIs6B,CAAC,GAAC,KAAK06G,SAAX;AAAA,YAAqBl0E,CAAC,GAAC,KAAK4zE,eAA5B;AAA4C,aAAKM,SAAL,GAAeh1I,CAAf,EAAiB,KAAKu1I,WAAL,GAAiBx0I,CAAlC,EAAoC,WAAS,KAAKwM,KAAd,KAAsBvN,CAAC,CAACw1I,QAAF,GAAW;AAAC9jC,uBAAa,EAAC1xG,CAAC,CAAC0xG,aAAjB;AAA+B9hG,cAAI,EAAC;AAApC,SAAjC,CAApC;AAA6G,YAAI8U,CAAC,GAAC,IAAN;AAAW,YAAG4V,CAAC,KAAGA,CAAC,CAACr5B,EAAF,GAAKyjB,CAAC,GAAC4V,CAAC,CAACr5B,EAAT,GAAYq5B,CAAC,CAACy+C,GAAF,KAAQr0D,CAAC,GAAC4V,CAAC,CAACy+C,GAAZ,CAAf,CAAD,EAAkC,KAAK+3D,OAAL,CAAa,sBAAoBpsH,CAApB,GAAsB,MAAtB,IAA8B1kB,CAAC,CAACiB,EAAF,IAAMjB,CAAC,CAAC+4E,GAAtC,IAA2C,GAAxD,CAAlC,EAA+F,KAAKxzE,OAAL,CAAa,gBAAb,CAA/F,EAA8H,WAAS,KAAKgI,KAAd,IAAqB,KAAK2nI,kBAAL,EAAtJ,EAAgL,OAAO,KAAKC,KAAL,EAAP;;AAAoB,YAAG76G,CAAC,IAAEA,CAAC,CAACy+C,GAAF,KAAQ/4E,CAAC,CAAC+4E,GAAhB,EAAoB;AAAC,cAAI39D,CAAC,GAACpb,CAAC,CAAC0xG,aAAF,GAAgBp3E,CAAC,CAACo3E,aAAxB;AAAsC,eAAKo/B,OAAL,CAAa,wBAAsB11H,CAAtB,GAAwB,GAArC,GAA0C,SAAO,KAAKklH,UAAZ,KAAyB,KAAKA,UAAL,IAAiBllH,CAA1C,CAA1C,EAAuF0lD,CAAC,KAAGA,CAAC,CAACw/D,UAAF,IAAcllH,CAAd,EAAgB,KAAG0lD,CAAC,CAACw/D,UAAL,KAAkBx/D,CAAC,CAAC6vC,OAAF,GAAU3wG,CAAC,CAACsxG,QAAF,CAAWxwC,CAAC,CAACw/D,UAAb,CAA5B,CAAnB,CAAxF,EAAkK,KAAKiU,eAAL,CAAqBkB,sBAArB,CAA4Cn7G,CAA5C,EAA8Ct6B,CAA9C,CAAlK;AAAmN,SAA9Q,MAAmR,SAAO,KAAKsgI,UAAZ,IAAwB,KAAKoV,YAAL,EAAxB;AAA4C;AAAC;AAA5vB,GAA59E,EAA0tG;AAACtwH,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,iBAAU;AAAC,WAAKivH,mBAAL,KAA2BhyH,CAAC,CAACy0B,YAAF,CAAe,KAAKu9F,mBAApB,GAAyC,KAAKA,mBAAL,GAAyB,IAA7F;AAAmG;AAAjI,GAA1tG,EAA61G;AAAClvH,OAAG,EAAC,QAAL;AAAcC,SAAK,EAAC,iBAAU;AAAC,aAAO,SAAO,KAAKivH,mBAAnB;AAAuC;AAAtE,GAA71G,EAAq6G;AAAClvH,OAAG,EAAC,UAAL;AAAgBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAK8qG,SAAL,KAAiB,KAAKA,SAAL,GAAezxI,CAAf,EAAiB,KAAKq1I,oBAAL,GAA0B1uG,CAA3C,EAA6C,WAAS,KAAKp5B,KAAd,IAAqB,KAAK2nI,kBAAL,EAArB,IAAgD,KAAKC,KAAL,EAA9G;AAA4H;AAAhK,GAAr6G,EAAukH;AAAC/vH,OAAG,EAAC,iBAAL;AAAuBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,WAAK40I,MAAL,GAAY,CAAC,CAAb,EAAe,KAAKe,WAAL,EAAf,EAAkC,KAAKr0I,MAAL,CAAY,CAAZ,EAAc,IAAE,CAAhB,EAAkBtB,CAAlB,CAAlC,EAAuD,KAAKq0I,cAAL,IAAqB,KAAKA,cAAL,CAAoBve,gBAApB,EAA5E,EAAmH,KAAKvwH,OAAL,CAAa,iBAAb,CAAnH;AAAmJ;AAA5L,GAAvkH,EAAqwH;AAAC6f,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,iBAAU;AAAC,WAAKuwH,cAAL,GAAoB,CAAC,CAArB,EAAuB,KAAKF,YAAL,EAAvB;AAA2C;AAA/E,GAArwH,EAAs1H;AAACtwH,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,iBAAU;AAAC,WAAKi7G,UAAL,GAAgB,IAAhB,EAAqB,KAAKuV,UAAL,GAAgB,IAArC,EAA0C,KAAKh3F,KAAL,EAA1C;AAAuD;AAA5F,GAAt1H,EAAo7H;AAACz5B,OAAG,EAAC,QAAL;AAAcC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAG4lC,CAAC,KAAG,IAAE,CAAN,KAAUA,CAAC,GAAC,KAAKw9C,SAAL,EAAZ,GAA8B,KAAKgwD,cAAL,IAAqB,KAAKA,cAAL,CAAoB7yI,MAApB,CAA2BtB,CAA3B,EAA6B2mC,CAA7B,EAA+B5lC,CAA/B,CAAnD,EAAqFs+H,EAAE,CAACr/H,CAAD,EAAG2mC,CAAH,EAAK,KAAKmvG,qBAAV,CAAvF,EAAwH,KAAKrW,iBAAhI,EAAkJ,KAAI,IAAInlG,CAAR,IAAa,KAAKmlG,iBAAlB;AAAoCJ,UAAE,CAACr/H,CAAD,EAAG2mC,CAAH,EAAK,KAAK84F,iBAAL,CAAuBnlG,CAAvB,CAAL,CAAF;AAApC;AAAsE;AAA5P,GAAp7H,EAAkrI;AAAClV,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,iBAAU;AAAC,WAAKivH,mBAAL,IAA0BhyH,CAAC,CAACy0B,YAAF,CAAe,KAAKu9F,mBAApB,CAA1B,EAAmE,KAAKA,mBAAL,GAAyBhyH,CAAC,CAACxM,UAAF,CAAa,KAAKigI,kBAAL,CAAwBx5H,IAAxB,CAA6B,IAA7B,CAAb,EAAgD,CAAhD,CAA5F;AAA+I;AAAtL,GAAlrI,EAA02I;AAAC6I,OAAG,EAAC,oBAAL;AAA0BC,SAAK,EAAC,iBAAU;AAAC,kBAAU,KAAK9X,KAAf,IAAsB,KAAKyoI,WAAL,EAAtB,EAAyC,KAAK1B,mBAAL,IAA0BhyH,CAAC,CAACy0B,YAAF,CAAe,KAAKu9F,mBAApB,CAAnE,EAA4G,KAAKA,mBAAL,GAAyBhyH,CAAC,CAACxM,UAAF,CAAa,KAAKigI,kBAAL,CAAwBx5H,IAAxB,CAA6B,IAA7B,CAAb,EAAgD,GAAhD,CAArI;AAA0L;AAArO,GAA12I,EAAilJ;AAAC6I,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,iBAAU;AAAC,UAAG,CAAC,KAAK8uH,cAAL,CAAoBrI,QAApB,EAAJ,EAAmC;AAAC,aAAK+J,UAAL,KAAkB,KAAKA,UAAL,GAAgB,KAAKtB,eAAL,CAAqB0B,YAArB,CAAkC,KAAKjB,SAAvC,EAAiD,KAAK7wD,SAAL,EAAjD,EAAkE,KAAK+xD,gBAAvE,EAAwF,KAAK3kD,YAAL,EAAxF,CAAlC;AAAgJ,YAAIvxF,CAAC,GAAC,KAAKm2I,YAAL,CAAkB,KAAKC,SAAL,EAAlB,EAAmC,KAAKpB,SAAxC,EAAkD,KAAK1U,UAAvD,EAAkE,KAAK+V,UAAL,EAAlE,EAAoF,KAAK9kD,YAAL,EAApF,EAAwG,KAAKskD,UAA7G,CAAN;AAA+H71I,SAAC,KAAG,KAAKs2I,cAAL,CAAoBt2I,CAAC,CAACsgI,UAAtB,IAAkC,KAAKiW,WAAL,EAAlC,GAAqDv2I,CAAC,CAACsgI,UAAF,KAAe,KAAK0U,SAAL,CAAe1jC,QAAf,CAAwBpuG,MAAxB,GAA+B,CAA9C,IAAiD,YAAU,KAAKy8H,YAAL,CAAkB7/F,UAA7E,IAAyF,CAAC,KAAK02G,QAAL,EAA1F,KAA4Gx2I,CAAC,CAAC4zG,QAAF,KAAa,KAAKsiC,gBAAlB,KAAqC,KAAK3B,eAAL,CAAqB19G,KAArB,IAA6B72B,CAAC,CAAC0/H,eAAF,GAAkB1/H,CAAC,CAACy2I,cAAjD,EAAgE,KAAKpC,cAAL,IAAqB,KAAKA,cAAL,CAAoBve,gBAApB,EAA1H,GAAkK,KAAK4gB,YAAL,CAAkB12I,CAAlB,CAA9Q,CAAxD,CAAD;AAA8V;AAAC;AAAtrB,GAAjlJ,EAAywK;AAAColB,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAO,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAG,CAACf,CAAD,IAAI,CAAC2mC,CAAR,EAAU,OAAM,CAAC,CAAP;AAAS,YAAIrM,CAAC,GAACv5B,CAAC,KAAGf,CAAC,CAACsxG,QAAF,CAAWpuG,MAArB;AAA4B,eAAOlD,CAAC,CAACwxG,OAAF,IAAW,WAAS7qE,CAAC,CAAC7G,UAAtB,IAAkCxF,CAAzC;AAA2C,OAA1G,CAA2G,IAAEpR,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASyjC,CAA7B,GAA+BA,CAA/B,GAAiC,KAAKquG,SAAjJ,EAA2J,KAAKrV,YAAhK,EAA6K3/H,CAA7K,KAAiL,CAAC,KAAKm0I,cAAL,CAAoBrI,QAApB,EAAzL;AAAwN;AAAlQ,GAAzwK,EAA6gL;AAAC1mH,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiBwmC,CAAjB,EAAmBp8C,CAAnB,EAAqB;AAAC,UAAItJ,CAAC,GAAC,CAAN;AAAA,UAAQulD,CAAC,GAAC,KAAK,CAAf;AAAiB3gE,OAAC,CAACkD,MAAF,KAAWkY,CAAC,GAACpb,CAAC,CAAC0pB,GAAF,CAAM1pB,CAAC,CAACkD,MAAF,GAAS,CAAf,CAAb;AAAgC,UAAI09D,CAAC,GAACjgD,IAAI,CAACC,GAAL,CAAS,CAAT,EAAWxF,CAAC,GAAC0lD,CAAb,CAAN;AAAsB,UAAG,CAACn6B,CAAC,CAAC2qE,QAAF,CAAWpuG,MAAf,EAAsB,OAAO,IAAP;AAAY,UAAG09D,CAAC,IAAE,KAAK+1E,iBAAL,EAAN,EAA+B,OAAO,IAAP;AAAY,UAAG,CAACr8G,CAAD,IAAI,KAAGsmC,CAAV,EAAY,OAAO,IAAP;AAAY,UAAG,SAAOl8C,CAAV,EAAY,OAAO3jB,CAAC,GAAC,KAAK61I,wBAAL,CAA8BjwG,CAA9B,CAAF,EAAmC,KAAKkwG,oBAAL,CAA0BlwG,CAA1B,EAA4B5lC,CAA5B,EAA8B,IAA9B,EAAmC,CAAC,CAApC,CAA1C;AAAiF,UAAG,SAAOA,CAAV,EAAY,OAAO4lC,CAAC,CAAC2qE,QAAF,CAAWvwG,CAAX,GAAc4/D,CAAC,GAACvlD,CAAhB,EAAkB,KAAKy7H,oBAAL,CAA0BlwG,CAA1B,EAA4B5lC,CAAC,GAAC,CAA9B,EAAgC4/D,CAAhC,EAAkC,CAAC,CAAnC,CAAzB;;AAA+D,UAAG,KAAKi1E,cAAR,EAAuB;AAAC,YAAIx6G,CAAC,GAAC2jG,EAAE,CAACsB,mBAAH,CAAuB15F,CAAvB,EAAyBvrB,CAAzB,EAA2BsJ,CAAC,CAACoyH,YAA7B,EAA0CpyH,CAAC,CAAC9U,IAA5C,CAAN;AAAwD7O,SAAC,GAACq6B,CAAC,CAACklG,UAAJ,EAAe3/D,CAAC,GAACvlC,CAAC,CAACia,SAAnB;AAA6B,OAA7G,MAAiH;AAAC,YAAImsB,CAAC,GAACu9D,EAAE,CAACsB,mBAAH,CAAuB15F,CAAvB,EAAyBm6B,CAAzB,EAA2Bp8C,CAAC,CAACoyH,YAA7B,EAA0CpyH,CAAC,CAAC9U,IAA5C,CAAN;AAAwD7O,SAAC,GAACygE,CAAC,CAAC8+D,UAAJ,EAAe3/D,CAAC,GAACa,CAAC,CAACnsB,SAAnB;AAA6B;;AAAA,aAAO,KAAKwhG,oBAAL,CAA0BlwG,CAA1B,EAA4B5lC,CAA5B,EAA8B4/D,CAA9B,EAAgC,CAAC,CAAjC,CAAP;AAA2C;AAAtnB,GAA7gL,EAAqoM;AAACv7C,OAAG,EAAC,0BAAL;AAAgCC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAN;AAAW,UAAG,CAAC,CAAD,KAAK,KAAKuvG,gBAAb,EAA8B,OAAO,CAAP;AAAS,UAAIn1I,CAAC,GAACf,CAAC,CAACsxG,QAAF,CAAWroF,GAAX,CAAe,UAASjpB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAM;AAACitE,kBAAQ,EAAC5zG,CAAC,CAAC4zG,QAAZ;AAAqBkjC,sBAAY,EAACnwG;AAAlC,SAAN;AAA2C,OAAxE,EAA0EviC,MAA1E,CAAiF,UAASpE,CAAT,EAAW;AAAC,eAAOA,CAAC,CAAC4zG,QAAF,KAAajtE,CAAC,CAACuvG,gBAAtB;AAAuC,OAApI,CAAN;AAA4I,aAAOn1I,CAAC,CAACmC,MAAF,GAASnC,CAAC,CAAC4f,IAAI,CAACE,GAAL,CAAS9f,CAAC,CAACmC,MAAF,GAAS,CAAlB,EAAoB,CAApB,CAAD,CAAD,CAA0B4zI,YAAnC,GAAgDn2H,IAAI,CAACC,GAAL,CAAS5gB,CAAC,CAACsxG,QAAF,CAAWpuG,MAAX,GAAkB,CAA3B,EAA6B,CAA7B,CAAvD;AAAuF;AAAvU,GAAroM,EAA88M;AAACkiB,OAAG,EAAC,sBAAL;AAA4BC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,UAAGqM,CAAC,GAAC,CAAF,IAAKA,CAAC,IAAE3mC,CAAC,CAACsxG,QAAF,CAAWpuG,MAAtB,EAA6B,OAAO,IAAP;AAAY,UAAI49D,CAAC,GAAC9gE,CAAC,CAACsxG,QAAF,CAAW3qE,CAAX,CAAN;AAAoB,aAAM;AAACurG,iBAAS,EAAC,oBAAkBvxH,IAAI,CAACwJ,MAAL,EAA7B;AAA2C4uD,WAAG,EAACjY,CAAC,CAAC4/C,WAAjD;AAA6D4f,kBAAU,EAAC35F,CAAxE;AAA0EowG,qBAAa,EAACz8G,CAAxF;AAA0Fm8G,sBAAc,EAAC11I,CAAzG;AAA2GkV,gBAAQ,EAACjW,CAApH;AAAsH49H,aAAK,EAAC,IAA5H;AAAiIqU,sBAAc,EAAC,IAAhJ;AAAqJvS,uBAAe,EAAC,IAArK;AAA0K9rB,gBAAQ,EAAC9yC,CAAC,CAAC8yC,QAArL;AAA8Lt0F,gBAAQ,EAACwhD,CAAC,CAACxhD,QAAzM;AAAkNqxF,eAAO,EAAC7vC;AAA1N,OAAN;AAAmO;AAApV,GAA98M,EAAoyN;AAAC17C,OAAG,EAAC,oBAAL;AAA0BC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAG,KAAKs7H,IAAL,CAAU/gD,KAAV,CAAgBtqE,MAAhB,MAA0B,CAAC,KAAKslI,WAAL,CAAiBzwI,OAA5C,IAAqD,CAAC,KAAKkwI,SAAL,CAAezuI,UAAf,CAA0B0pG,SAAnF,EAA6F,OAAM,CAAC,CAAP;AAAS,UAAG7jF,IAAI,CAACrH,GAAL,MAAY/kB,CAAC,CAACwyI,oBAAF,IAAwBpmH,IAAI,CAACrH,GAAL,EAApC,IAAgD,GAAnD,EAAuD,OAAM,CAAC,CAAP;;AAAS,UAAI4hB,CAAC,GAAC,KAAK4qD,YAAL,EAAN;AAAA,UAA0BxwF,CAAC,GAACf,CAAC,CAACgiH,SAA9B;AAAA,UAAwC1nF,CAAC,GAAC,KAAKo6G,eAAL,CAAqBp1H,QAA/D;AAAA,UAAwEwhD,CAAC,GAACi+D,EAAE,CAAC8B,0BAAH,CAA8BvmG,CAA9B,EAAgCv5B,CAAhC,EAAkC,KAAKi0I,SAAvC,EAAiDh1I,CAAC,CAACm9H,aAAnD,CAA1E;AAAA,UAA4Iz4G,CAAC,GAAC,UAAS1kB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAIu5B,CAAC,GAAC,IAAEpR,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASnC,CAA7B,GAA+BA,CAA/B,GAAiC,CAAvC;AAAyC,eAAM,CAAC,CAACf,CAAC,CAACkD,MAAF,GAASlD,CAAC,CAAC0pB,GAAF,CAAM1pB,CAAC,CAACkD,MAAF,GAAS,CAAf,CAAT,GAA2B,CAA5B,IAA+ByjC,CAAhC,IAAmCrM,CAAzC;AAA2C,OAApG,CAAqG,KAAK87G,SAAL,EAArG,EAAsHzvG,CAAtH,EAAwH,KAAK20F,IAAL,CAAU/gD,KAAV,CAAgBqd,YAAhB,EAAxH,IAAwJ,CAAtS;;AAAwS,UAAG92B,CAAC,IAAEp8C,CAAN,EAAQ,OAAM,CAAC,CAAP;;AAAS,UAAItJ,CAAC,GAAC,UAASpb,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC3mC,CAAC,CAAC+6H,MAAR;AAAA,YAAeh6H,CAAC,GAACf,CAAC,CAAC6P,WAAnB;AAAA,YAA+ByqB,CAAC,GAACt6B,CAAC,CAACgiH,SAAnC;AAAA,YAA6ClhD,CAAC,GAAC9gE,CAAC,CAACsf,QAAjD;AAAA,YAA0DoF,CAAC,GAAC1kB,CAAC,CAACg3I,eAA9D;AAAA,YAA8E57H,CAAC,GAACpb,CAAC,CAACi3I,iBAAlF;AAAA,YAAoGt2E,CAAC,GAAC3gE,CAAC,CAACk3I,eAAxG;AAAA,YAAwHt2E,CAAC,GAAC5gE,CAAC,CAACm3I,cAA5H;AAAA,YAA2I/7G,CAAC,GAACuL,CAAC,CAAC2rE,SAAF,CAAYluG,MAAZ,CAAmB,UAASpE,CAAT,EAAW;AAAC,iBAAM,CAAC++H,EAAE,CAAC0B,cAAH,CAAkBzgI,CAAlB,CAAP;AAA4B,SAA3D,CAA7I;AAAA,YAA0MwhE,CAAC,GAACpmC,CAAC,CAACh3B,MAAF,CAAS26H,EAAE,CAACwB,SAAZ,CAA5M;AAAmO/+D,SAAC,CAACt+D,MAAF,KAAWs+D,CAAC,GAACpmC,CAAC,CAACh3B,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAM,CAAC++H,EAAE,CAACxtG,UAAH,CAAcvxB,CAAd,CAAP;AAAwB,SAA7C,CAAb;AAA6D,YAAIygE,CAAC,GAACe,CAAC,CAACp9D,MAAF,CAAS26H,EAAE,CAAChyH,YAAH,CAAgBwP,IAAhB,CAAqB,IAArB,EAA0B,WAA1B,CAAT,EAAiD0M,GAAjD,CAAqD,UAASjpB,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAACi6B,CAAC,CAACq1E,YAAF,CAAej2I,CAAf,EAAiB8gE,CAAjB,EAAmBH,CAAnB,EAAqB5/D,CAArB,IAAwB,CAAxB,GAA0B,CAAhC;AAAkC,iBAAM;AAACkV,oBAAQ,EAACjW,CAAV;AAAYo3I,6BAAiB,EAACrY,EAAE,CAAC8B,0BAAH,CAA8Bn8G,CAA9B,EAAgC4V,CAAhC,EAAkCt6B,CAAlC,IAAqC2mC,CAArC,GAAuCvrB;AAArE,WAAN;AAA8E,SAAjL,CAAN;AAAA,YAAyLslD,CAAC,GAACD,CAAC,CAACr8D,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACo3I,iBAAF,IAAqB,CAA5B;AAA8B,SAAnD,CAA3L;AAAgP,eAAOvE,EAAE,CAACnyE,CAAD,EAAG,UAAS1gE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,iBAAOmsG,EAAE,CAACnsG,CAAC,CAAC1wB,QAAH,EAAYjW,CAAC,CAACiW,QAAd,CAAT;AAAiC,SAAlD,CAAF,EAAsDyqD,CAAC,CAACx9D,MAAF,GAASw9D,CAAC,CAAC,CAAD,CAAV,IAAemyE,EAAE,CAACpyE,CAAD,EAAG,UAASzgE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,iBAAO3mC,CAAC,CAACo3I,iBAAF,GAAoBzwG,CAAC,CAACywG,iBAA7B;AAA+C,SAAhE,CAAF,EAAoE32E,CAAC,CAAC,CAAD,CAAD,IAAM,IAAzF,CAA7D;AAA4J,OAAxrB,CAAyrB;AAACs6D,cAAM,EAAC,KAAKO,IAAL,CAAUhpB,SAAV,CAAoByoB,MAA5B;AAAmClrH,mBAAW,EAAC82B,CAA/C;AAAiDq7E,iBAAS,EAACjhH,CAA3D;AAA6Due,gBAAQ,EAAC,KAAK6kE,SAAL,EAAtE;AAAuF6yD,uBAAe,EAAC18G,CAAvG;AAAyG28G,yBAAiB,EAACvyH,CAA3H;AAA6HwyH,uBAAe,EAAC,KAAKhB,gBAAlJ;AAAmKiB,sBAAc,EAAC,KAAK5C;AAAvL,OAAzrB,CAAN;;AAAw4B,UAAGn5H,CAAH,EAAK;AAAC,YAAIulD,CAAC,GAACG,CAAC,GAACp8C,CAAF,GAAItJ,CAAC,CAACg8H,iBAAZ;AAAA,YAA8Bx2E,CAAC,GAAC,EAAhC;AAAmC,eAAOl8C,CAAC,IAAE,IAAE,EAAL,KAAUk8C,CAAC,GAAC,CAAZ,GAAe,EAAE,CAACxlD,CAAC,CAACnF,QAAH,IAAamF,CAAC,CAACnF,QAAF,CAAW8iE,GAAX,KAAiB,KAAKi8D,SAAL,CAAej8D,GAA7C,IAAkDpY,CAAC,GAACC,CAAtD,MAA2D,KAAKohD,SAAL,GAAe5mG,CAAC,CAACnF,QAAF,CAAW1P,UAAX,CAAsB0pG,SAAtB,GAAgC+iC,EAAE,CAACK,kBAAnC,GAAsD,CAArE,EAAuE,KAAKx0F,KAAL,EAAvE,EAAoF,KAAKt5C,OAAL,CAAa,YAAb,CAApF,EAA+G,CAAC,CAA3K,CAAtB;AAAoM;AAAC;AAAjoD,GAApyN,EAAu6Q;AAAC6f,OAAG,EAAC,iBAAL;AAAuBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAK+tG,eAAL,IAAsB/tG,CAAC,CAACurG,SAAF,KAAc,KAAKwC,eAAL,CAAqBxC,SAAzD,IAAoE,CAAC,KAAKmF,kBAAL,CAAwB1wG,CAAC,CAAC2rG,KAA1B,CAArE,IAAuG,KAAK/sI,OAAL,CAAa,UAAb,CAAvG;AAAgI;AAA3K,GAAv6Q,EAAolR;AAAC6f,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,WAAKuN,KAAL,GAAW,SAAX,EAAqB,KAAKmnI,eAAL,GAAqB10I,CAA1C,EAA4C,KAAKs3I,eAAL,CAAqBt3I,CAArB,CAA5C,EAAoEA,CAAC,CAAC20I,aAAF,GAAgBlC,EAAE,CAAC,KAAKnX,IAAL,CAAUx7E,GAAX,EAAe,KAAKy1F,WAApB,EAAgC,KAAKgC,UAArC,EAAgD,KAAKlD,cAArD,EAAoE,KAAKmD,2BAAL,CAAiCx3I,CAAjC,CAApE,EAAwG,KAAKy3I,eAAL,CAAqBl7H,IAArB,CAA0B,IAA1B,CAAxG,EAAwI,KAAKm7H,uBAAL,CAA6Bn7H,IAA7B,CAAkC,IAAlC,CAAxI,CAAtF;AAAuQ;AAA7S,GAAplR,EAAm4R;AAAC6I,OAAG,EAAC,iBAAL;AAAuBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,UAAS3mC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAIu5B,CAAC,GAACqM,CAAC,GAAC,EAAR;AAAW3mC,SAAC,CAACkD,MAAF,KAAWo3B,CAAC,GAAC3Z,IAAI,CAACC,GAAL,CAAS0Z,CAAT,EAAWt6B,CAAC,CAACwhB,KAAF,CAAQ,CAAR,CAAX,CAAb;AAAqC,YAAIs/C,CAAC,GAACn6B,CAAC,GAAC5lC,CAAR;AAAU,eAAO4f,IAAI,CAACE,GAAL,CAASigD,CAAT,EAAWxmC,CAAX,CAAP;AAAqB,OAA/F,CAAgG,KAAKq9G,SAAL,EAAhG,EAAiH,KAAKpmD,YAAL,EAAjH,EAAqI,KAAKyjD,SAAL,CAAe5hC,cAAf,IAA+B,EAApK,CAAN;;AAA8K,UAAEzsE,CAAF,IAAK,KAAKrlC,MAAL,CAAY,CAAZ,EAAcqlC,CAAd,CAAL;AAAsB;AAA7O,GAAn4R,EAAknS;AAACvhB,OAAG,EAAC,6BAAL;AAAmCC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC2wG,OAAR;AAAA,UAAgB5vG,CAAC,GAAC;AAAC2/G,mBAAW,EAAC/5E,CAAC,CAAC+5E,WAAf;AAA2B3Q,iBAAS,EAACppE,CAAC,CAACopE,SAAvC;AAAiDmiC,iBAAS,EAAClyI,CAAC,CAACkyI;AAA7D,OAAlB;;AAA0F,UAAGvrG,CAAC,CAACvhB,GAAL,EAAS;AAAC,YAAIkV,CAAC,GAACqM,CAAC,CAACvhB,GAAF,CAAMitF,EAAN,IAAU,IAAIhC,WAAJ,CAAgB,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAOrwG,CAAC,CAACsgI,UAAF,GAAatgI,CAAC,CAACiW,QAAF,CAAWy7F,aAA/B,CAAhB,CAAhB;AAA+E3wG,SAAC,CAACqkB,GAAF,GAAM,KAAKwyH,UAAL,CAAgBjxG,CAAC,CAACvhB,GAAlB,CAAN,EAA6BrkB,CAAC,CAACqkB,GAAF,CAAMitF,EAAN,GAAS/3E,CAAtC;AAAwC;;AAAA,aAAOqM,CAAC,CAAC1d,GAAF,KAAQloB,CAAC,CAACkoB,GAAF,GAAM,KAAKsgH,WAAL,CAAiB5iG,CAAC,CAAC1d,GAAnB,CAAd,GAAuCloB,CAA9C;AAAgD;AAAhU,GAAlnS,EAAo7S;AAACqkB,OAAG,EAAC,yBAAL;AAA+BC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,KAAKitG,aAAL,IAAoB,CAApB,EAAsBjtG,CAAC,CAAC2rG,KAAF,KAAU,KAAKqB,qBAAL,IAA4BhtG,CAAC,CAAC2rG,KAAF,CAAQnV,aAApC,EAAkD,KAAK6W,qBAAL,IAA4BrtG,CAAC,CAAC2rG,KAAF,CAAQrV,aAAhG,CAAtB,EAAqI,KAAKyX,eAA7I,EAA6J;AAAC,YAAG/tG,CAAC,CAACurG,SAAF,KAAc,KAAKwC,eAAL,CAAqBxC,SAAtC,EAAgD;AAAC,cAAGlyI,CAAH,EAAK,OAAO,KAAK00I,eAAL,GAAqB,IAArB,EAA0B,KAAKnnI,KAAL,GAAW,OAArC,EAA6CvN,CAAC,CAAC2nB,IAAF,KAASmqH,EAAT,GAAY,MAAK,KAAK+B,oBAAL,IAA2B,CAAhC,CAAZ,IAAgD,KAAKnnI,KAAL,IAAa1M,CAAC,CAAC2nB,IAAF,KAASkqH,EAAT,IAAa,KAAKiC,qBAAL,IAA4B,CAA5B,EAA8B,KAAK9xB,SAAL,GAAe,CAA7C,EAA+C,KAAK61B,SAAL,GAAen5C,GAA9D,EAAkE,KAAK,KAAKn5F,OAAL,CAAa,iBAAb,CAApF,KAAsH,KAAKwuI,oBAAL,IAA2B,CAA3B,EAA6B,KAAK9uI,KAAL,CAAWjF,CAAX,CAA7B,EAA2C,KAAK,KAAKuF,OAAL,CAAa,OAAb,CAAtK,CAA7D,CAApD;AAA+S,eAAKy8G,SAAL,GAAer7E,CAAC,CAAC2rG,KAAF,CAAQtwB,SAAvB,EAAiC,KAAK61B,SAAL,GAAelxG,CAAC,CAAC2rG,KAAF,CAAQrV,aAAxD,EAAsEt2F,CAAC,CAAC1d,GAAF,KAAQ0d,CAAC,CAAC1d,GAAF,GAAM,KAAKsgH,WAAL,CAAiB5iG,CAAC,CAAC1d,GAAnB,EAAuB,CAAC,CAAxB,CAAd,CAAtE,EAAgH0d,CAAC,CAACvhB,GAAF,IAAO,KAAKwyH,UAAL,CAAgBjxG,CAAC,CAACvhB,GAAlB,EAAsB,CAAC,CAAvB,CAAvH,EAAiJ,KAAK0yH,uBAAL,CAA6BnxG,CAA7B,CAAjJ;AAAiL;AAAC,OAArrB,MAA0rB,KAAKktG,oBAAL,IAA2B,CAA3B;AAA6B;AAA1wB,GAAp7S,EAAgsU;AAACzuH,OAAG,EAAC,yBAAL;AAA+BC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK+tG,eAAX;AAA2B/tG,OAAC,CAACi3F,KAAF,GAAQ59H,CAAC,CAAC49H,KAAV,EAAgB59H,CAAC,CAACipB,GAAF,KAAQ0d,CAAC,CAACgqE,OAAF,CAAU1nF,GAAV,CAAc20G,KAAd,GAAoB59H,CAAC,CAACipB,GAAF,CAAM20G,KAAlC,CAAhB,EAAyDj3F,CAAC,CAACqrG,gBAAF,GAAmBhyI,CAAC,CAACgyI,gBAA9E,EAA+FhyI,CAAC,CAAC2yI,YAAF,KAAiB,UAAS3yI,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,aAAI,IAAIu5B,CAAR,IAAav5B,CAAb;AAAe,cAAG,CAACf,CAAC,CAACs6B,CAAD,CAAL,EAAS;AAACqM,aAAC,CAACphC,OAAF,CAAU;AAACgL,kBAAI,EAAC,OAAN;AAAcqZ,kBAAI,EAAC;AAAnB,aAAV;AAAyC,gBAAIk3C,CAAC,GAACn6B,CAAC,CAAC8pC,UAAF,GAAeuE,YAAf,CAA4B16C,CAA5B,CAAN;AAAqCt6B,aAAC,CAACs6B,CAAD,CAAD,GAAKwmC,CAAC,IAAEn6B,CAAC,CAACgqC,kBAAF,CAAqB;AAAC0F,kBAAI,EAAC,UAAN;AAAiBp1E,gBAAE,EAACq5B,CAApB;AAAsB44C,mBAAK,EAAC54C;AAA5B,aAArB,EAAoD,CAAC,CAArD,EAAwDk2C,KAAhE;AAAsE;AAA7K;AAA8K,OAA9L,CAA+L,KAAKivD,iBAApM,EAAsN,KAAKnE,IAAL,CAAU/gD,KAAhO,EAAsOv6E,CAAC,CAACw1H,cAAxO,GAAwP,UAASx1H,CAAT,EAAW;AAAC,YAAI8gE,CAAC,GAAC9gE,CAAC,CAAC+3I,gBAAR;AAAA,YAAyBpxG,CAAC,GAAC3mC,CAAC,CAACg4I,YAA7B;AAAA,YAA0CtzH,CAAC,GAAC1kB,CAAC,CAAC0/H,eAA9C;;AAA8D,YAAG/4F,CAAH,EAAK;AAAC,cAAIvrB,CAAC,GAAC5Y,MAAM,CAACg9H,aAAP,IAAsBh9H,MAAM,CAACw4E,MAAnC;AAA0Cr0C,WAAC,CAAC59B,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAAC,gBAAI2mC,CAAC,GAAC3mC,CAAC,CAAC2hF,MAAR;AAAA,gBAAe5gF,CAAC,GAACf,CAAC,CAACq1C,SAAnB;AAAA,gBAA6B/a,CAAC,GAACt6B,CAAC,CAACswE,OAAjC;AAAyCxP,aAAC,CAACn6B,CAAD,CAAD,KAAO5lC,CAAC,IAAE2jB,CAAH,EAAK4V,CAAC,IAAE5V,CAAR,EAAUo8C,CAAC,CAACn6B,CAAD,CAAD,CAAKiqC,MAAL,CAAY,IAAIx1D,CAAJ,CAAMra,CAAN,EAAQu5B,CAAR,EAAUt6B,CAAC,CAACgoB,IAAZ,CAAZ,CAAjB;AAAiD,WAAhH;AAAkH;AAAC,OAA7O,CAA8O;AAAC+vH,wBAAgB,EAAC,KAAKtY,iBAAvB;AAAyCuY,oBAAY,EAACh4I,CAAC,CAAC2yI,YAAxD;AAAqEjT,uBAAe,EAAC;AAArF,OAA9O,CAAxP,EAA+jB,KAAK2U,cAAL,IAAqB,KAAKA,cAAL,CAAoBze,mBAApB,EAArmB,CAA/F,EAA+uB,KAAKqiB,cAAL,EAA/uB;AAAqwB;AAAj1B,GAAhsU,EAAmhW;AAAC7yH,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,IAAN;;AAAW,UAAG,KAAK00I,eAAR,EAAwB;AAAC,YAAI/tG,CAAC,GAAC,KAAK+tG,eAAX;AAAA,YAA2B3zI,CAAC,GAAC4lC,CAAC,CAACgqE,OAA/B;AAAA,YAAuCr2E,CAAC,GAAC,KAAKi6G,eAAL,CAAqB2D,gBAArB,CAAsCvxG,CAAtC,CAAzC;AAAkF,uBAAa,OAAO,KAAKwxG,cAAzB,IAAyC79G,CAAzC,KAA6CA,CAAC,CAAC89G,aAAF,IAAiB99G,CAAC,CAAC+9G,aAAhE,MAAiF,KAAKF,cAAL,GAAoB;AAACC,uBAAa,EAAC99G,CAAC,CAAC89G,aAAjB;AAA+BC,uBAAa,EAAC/9G,CAAC,CAAC+9G;AAA/C,SAArG;;AAAoK,YAAIv3E,CAAC,GAAC,UAAS9gE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,iBAAM,WAASf,CAAT,IAAY2mC,CAAZ,IAAe5lC,CAAf,GAAiBA,CAAC,CAACq3I,aAAF,IAAiBr3I,CAAC,CAACs3I,aAAnB,GAAiC1xG,CAAC,CAAC0xG,aAAF,IAAiB,CAACt3I,CAAC,CAACs3I,aAApB,GAAkC,2LAAlC,GAA8N,CAAC1xG,CAAC,CAAC0xG,aAAH,IAAkBt3I,CAAC,CAACs3I,aAApB,GAAkC,iMAAlC,GAAoO,IAAne,GAAwe,2CAAzf,GAAqiB,IAA3iB;AAAgjB,SAAhkB,CAAikB,KAAKjD,WAAtkB,EAAklB,KAAK+C,cAAvlB,EAAsmB79G,CAAtmB,CAAN;;AAA+mB,YAAGwmC,CAAH,EAAK,OAAO,KAAK77D,KAAL,CAAW;AAACgZ,iBAAO,EAAC6iD,CAAT;AAAWw3E,2BAAiB,EAAC,IAAE;AAA/B,SAAX,GAA8C,KAAK,KAAK/yI,OAAL,CAAa,OAAb,CAA1D;AAAgF,YAAGohC,CAAC,CAACowG,aAAL,EAAmB,OAAO,KAAKxxI,OAAL,CAAa,gBAAb,GAA+B,KAAKmvI,eAAL,GAAqB,IAApD,EAAyD,MAAK,KAAKnnI,KAAL,GAAW,OAAhB,CAAhE;;AAAyF,YAAG,SAAOo5B,CAAC,CAAC+4F,eAAT,IAA0B/4F,CAAC,CAAC+4F,eAAF,KAAoB,KAAKyU,cAAL,CAAoBzU,eAApB,EAAjD,EAAuF;AAAC,cAAGplG,CAAC,IAAEA,CAAC,CAACi+G,oBAAR,EAA6B;AAAC,gBAAI7zH,CAAC,GAAC4V,CAAC,CAACi+G,oBAAF,CAAuB,CAAvB,EAA0BjgB,OAAhC;AAAA,gBAAwCl9G,CAAC,GAACkf,CAAC,CAACi+G,oBAAF,CAAuB,CAAvB,EAA0BlgB,OAApE;AAA4E1xF,aAAC,CAAC+4F,eAAF,IAAmBh7G,CAAC,GAACtJ,CAArB;AAAuB;;AAAA,eAAK+4H,cAAL,CAAoBzU,eAApB,CAAoC/4F,CAAC,CAAC+4F,eAAtC,GAAuD,KAAKn6H,OAAL,CAAa,iBAAb,CAAvD;AAAuF;;AAAA,YAAIo7D,CAAC,GAAC,KAAK4zE,eAAL,CAAqBiE,kBAArB,CAAwC7xG,CAAC,CAACitE,QAA1C,CAAN;;AAA0D,YAAG,SAAOjzC,CAAP,IAAU,KAAKp7D,OAAL,CAAa;AAACgL,cAAI,EAAC,oBAAN;AAA2B09H,iBAAO,EAACttE;AAAnC,SAAb,CAAV,EAA8D,KAAKpzD,KAAL,GAAW,WAAzE,EAAqFxM,CAAC,CAACkoB,GAA1F,EAA8F;AAAC,cAAI23C,CAAC,GAACi9D,EAAE,CAAC98H,CAAC,CAACkoB,GAAH,CAAR;;AAAgB,cAAG,CAAC,KAAKwvH,oBAAN,IAA4B,KAAKA,oBAAL,KAA4B73E,CAA3D,EAA6D;AAAC,gBAAIxlC,CAAC,GAAC,KAAKmuG,WAAL,CAAiBxoI,CAAC,CAACkoB,GAAnB,CAAN;AAA8B,iBAAKkrH,cAAL,CAAoBpH,YAApB,CAAiC;AAACnP,mBAAK,EAACxiG,CAAC,CAACwiG;AAAT,aAAjC,EAAiD,YAAU;AAAC59H,eAAC,CAACy4I,oBAAF,GAAuB73E,CAAvB;AAAyB,aAArF;AAAuF;AAAC;;AAAAj6B,SAAC,CAACwgF,UAAF,GAAaxgF,CAAC,CAACi3F,KAAF,CAAQzW,UAArB,EAAgC,YAAU,OAAOpmH,CAAC,CAACygB,KAAnB,IAA0B,YAAU,OAAOzgB,CAAC,CAAC2oB,GAA7C,GAAiD,KAAKuqH,kBAAL,IAAyBlzI,CAAC,CAAC2oB,GAAF,GAAM3oB,CAAC,CAACygB,KAAlF,GAAwF,KAAKyyH,kBAAL,IAAyBlzI,CAAC,CAACue,QAAnJ,EAA4J,KAAKwxH,OAAL,CAAa,UAAS9wI,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC3mC,CAAC,CAAC2wG,OAAR;AAAA,cAAgB5vG,CAAC,GAAC4lC,CAAC,CAACnlB,KAApB;AAAA,cAA0B8Y,CAAC,GAACqM,CAAC,CAACjd,GAA9B;AAAA,cAAkCo3C,CAAC,GAAC9gE,CAAC,CAACiW,QAAtC;AAAA,cAA+CyO,CAAC,GAACo8C,CAAC,CAAC4wC,aAAnD;AAAA,cAAiEt2F,CAAC,GAAC0lD,CAAC,CAAC7/D,EAArE;AAAA,cAAwE0/D,CAAC,GAACG,CAAC,CAACwwC,QAA5E;AAAA,cAAqF1wC,CAAC,GAAC,KAAK,CAAL,KAASD,CAAT,GAAW,EAAX,GAAcA,CAArG;AAAA,cAAuGvlC,CAAC,GAACp7B,CAAC,CAACsgI,UAA3G;AAAA,cAAsH9+D,CAAC,GAACxhE,CAAC,CAAC4zG,QAA1H;AAAmI,iBAAM,CAAC,gBAAcx4E,CAAd,GAAgB,QAAhB,GAAyB1W,CAAzB,GAA2B,IAA3B,IAAiCA,CAAC,GAACk8C,CAAC,CAAC19D,MAArC,IAA6C,mBAA7C,GAAiEkY,CAAjE,GAAmE,GAApE,EAAwE,MAAIra,CAAJ,GAAM,MAAN,GAAau5B,CAAb,GAAe,iBAAf,GAAiCknC,CAAjC,GAAmC,GAA3G,EAAgHrxC,IAAhH,CAAqH,GAArH,CAAN;AAAgI,SAA/Q,CAAgRwW,CAAhR,CAAb,CAA5J,EAA6b,KAAKwtG,cAAL,CAAoBpH,YAApB,CAAiC;AAACnP,eAAK,EAACj3F,CAAC,CAACi3F,KAAT;AAAe2T,wCAA8B,EAAC,KAAKmH,6BAAL,CAAmCn8H,IAAnC,CAAwC,IAAxC,EAA6CoqB,CAAC,CAACurG,SAA/C;AAA9C,SAAjC,EAA0I,KAAKyG,gBAAL,CAAsBp8H,IAAtB,CAA2B,IAA3B,CAA1I,CAA7b;AAAymB,OAArzE,MAA0zE,KAAKhP,KAAL,GAAW,OAAX;AAAmB;AAA/3E,GAAnhW,EAAo5a;AAAC6X,OAAG,EAAC,+BAAL;AAAqCC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,KAAK+tG,eAAL,IAAsB10I,CAAC,KAAG,KAAK00I,eAAL,CAAqBxC,SAAlD,EAA4D;AAAC,YAAInxI,CAAC,GAAC,KAAK2zI,eAAL,CAAqB/jC,OAA3B;AAAmC5vG,SAAC,CAACk9H,eAAF,KAAoBl9H,CAAC,CAACk9H,eAAF,GAAkB,EAAtC,GAA0Cl9H,CAAC,CAACk9H,eAAF,CAAkBM,0BAAlB,GAA6C53F,CAAC,CAACykG,sBAAF,CAAyBvD,wBAAzB,IAAmD,CAA1I,EAA4I9mI,CAAC,CAACk9H,eAAF,CAAkBG,2BAAlB,GAA8Cz3F,CAAC,CAACykG,sBAAF,CAAyB5pH,KAAzB,CAA+BqqH,YAAzN,EAAsO9qI,CAAC,CAACk9H,eAAF,CAAkBC,yBAAlB,GAA4Cv3F,CAAC,CAACykG,sBAAF,CAAyB1hH,GAAzB,CAA6BmiH,YAA/S,EAA4T9qI,CAAC,CAACk9H,eAAF,CAAkBlR,mBAAlB,GAAsCpmF,CAAC,CAACykG,sBAAF,CAAyBre,mBAA3X;AAA+Y;AAAC;AAAziB,GAAp5a,EAA+7b;AAAC3nG,OAAG,EAAC,kBAAL;AAAwBC,SAAK,EAAC,iBAAU;AAAC,UAAG,CAAC,KAAKqvH,eAAT,EAAyB,OAAO,KAAKnnI,KAAL,GAAW,OAAX,EAAmB,MAAK,KAAK0C,MAAL,MAAe,KAAKwkI,cAAL,EAApB,CAA1B;AAAqE,UAAIz0I,CAAC,GAAC,KAAK00I,eAAX;AAAA,UAA2B/tG,CAAC,GAAC3mC,CAAC,CAAC2wG,OAA/B;AAAA,UAAuC5vG,CAAC,GAAC,SAAO,KAAKu/H,UAArD;AAAgE,WAAKoU,eAAL,GAAqB,IAArB,EAA0B,KAAKkE,iBAAL,CAAuB54I,CAAvB,CAA1B,EAAoD,KAAK64I,sBAAL,CAA4B74I,CAA5B,CAApD,EAAmF,KAAKuN,KAAL,GAAW,OAA9F,EAAsG,KAAK+yH,UAAL,GAAgBtgI,CAAC,CAACsgI,UAAxH,EAAmI,KAAKsV,cAAL,GAAoB,CAAC,CAAxJ,EAA0J,KAAKM,gBAAL,GAAsBl2I,CAAC,CAAC4zG,QAAlL,EAA2L,KAAKruG,OAAL,CAAa,gBAAb,CAA3L,EAA0NohC,CAAC,CAACjd,GAAF,IAAO,KAAK6nE,YAAL,KAAoB5qD,CAAC,CAACjd,GAAtB,GAA0B,IAAE1pB,CAAC,CAACiW,QAAF,CAAWm9F,cAA9C,GAA6D,KAAKkiC,eAAL,EAA7D,IAAqFv0I,CAAC,IAAE,KAAKwE,OAAL,CAAa,iBAAb,CAAH,EAAmC,KAAKA,OAAL,CAAa,UAAb,CAAnC,EAA4D,KAAK+wI,cAAL,CAAoBt2I,CAAC,CAACsgI,UAAF,GAAa,CAAjC,EAAmCtgI,CAAC,CAACiW,QAArC,KAAgD,KAAKsgI,WAAL,EAA5G,EAA+H,KAAKtmI,MAAL,MAAe,KAAKwkI,cAAL,EAAnO,CAA1N;AAAod;AAA3pB,GAA/7b,EAA4ld;AAACrvH,OAAG,EAAC,mBAAL;AAAyBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAKmyG,UAAL,CAAgBnhD,IAAtB;AAAA,UAA2B52F,CAAC,GAACqrB,IAAI,CAACrH,GAAL,KAAW/kB,CAAC,CAACgyI,gBAAb,GAA8B,CAA3D;AAAA,UAA6D13G,CAAC,GAAC3Z,IAAI,CAACuE,KAAL,CAAWllB,CAAC,CAACmnH,UAAF,GAAapmH,CAAb,GAAe,CAAf,GAAiB,GAA5B,CAA/D;AAAgG,WAAK+3I,UAAL,CAAgBnhD,IAAhB,IAAsB,CAACr9D,CAAC,GAACqM,CAAH,IAAM,EAAE,KAAKmyG,UAAL,CAAgB12G,KAA9C;AAAoD;AAA/L,GAA5ld,EAA6xd;AAAChd,OAAG,EAAC,wBAAL;AAA8BC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAG,KAAK81I,qBAAR,EAA8B;AAAC,YAAInvG,CAAC,GAAC3mC,CAAC,CAAC2wG,OAAR;AAAA,YAAgB5vG,CAAC,GAAC4lC,CAAC,CAACnlB,KAApB;AAAA,YAA0B8Y,CAAC,GAACqM,CAAC,CAACjd,GAA9B;;AAAkC,YAAGqpH,EAAE,CAAChyI,CAAD,CAAF,IAAOgyI,EAAE,CAACz4G,CAAD,CAAZ,EAAgB;AAAC+kG,YAAE,CAACt+H,CAAD,EAAGu5B,CAAH,EAAK,KAAKw7G,qBAAV,CAAF;AAAmC,cAAIh1E,CAAC,GAACx+C,CAAC,CAACk9G,aAAF,IAAiBl9G,CAAC,CAAC04D,MAAzB;AAAA,cAAgCt2D,CAAC,GAAC;AAACovF,kBAAM,EAACntE,CAAC,CAACmtE,MAAV;AAAiB3D,0BAAc,EAACxpE,CAAC,CAACwpE,cAAlC;AAAiDD,0BAAc,EAACvpE,CAAC,CAACupE,cAAlE;AAAiF8R,qBAAS,EAAChiH,CAAC,CAACiW,QAAF,CAAW1P,UAAX,CAAsB0pG,SAAjH;AAA2H8oC,sBAAU,EAAC/4I,CAAC,CAACiW,QAAF,CAAW1P,UAAX,CAAsBypG,UAA5J;AAAuK+R,kBAAM,EAAC/hH,CAAC,CAACiW,QAAF,CAAW1P,UAAX,CAAsBu7G,MAApM;AAA2MqF,sBAAU,EAACnnH,CAAC,CAACmnH,UAAxN;AAAmOpuC,eAAG,EAAC/4E,CAAC,CAAC+4E,GAAzO;AAA6O66B,oBAAQ,EAAC5zG,CAAC,CAAC4zG,QAAxP;AAAiQ39F,oBAAQ,EAACjW,CAAC,CAACiW,QAAF,CAAWhV,EAArR;AAAwRugB,iBAAK,EAACzgB,CAA9R;AAAgS2oB,eAAG,EAAC4Q;AAApS,WAAlC;AAAA,cAAyUlf,CAAC,GAAC,IAAI0lD,CAAJ,CAAM//D,CAAN,EAAQu5B,CAAR,EAAUxrB,IAAI,CAAC6C,SAAL,CAAe+S,CAAf,CAAV,CAA3U;AAAwWtJ,WAAC,CAACiK,KAAF,GAAQX,CAAR,EAAU,KAAKoxH,qBAAL,CAA2BllE,MAA3B,CAAkCx1D,CAAlC,CAAV;AAA+C;AAAC;AAAC;AAA9jB,GAA7xd,CAAJ,CAAxB,EAA23es4H,EAA73e,CAA7O;;AAA8mf,WAASA,EAAT,CAAY1zI,CAAZ,EAAc;AAAC+5H,MAAE,CAAC,IAAD,EAAM2Z,EAAN,CAAF;AAAY,QAAI/sG,CAAC,GAACwzF,EAAE,CAAC,IAAD,EAAM,CAACuZ,EAAE,CAACjwE,SAAH,IAAcj9D,MAAM,CAACogB,cAAP,CAAsB8sH,EAAtB,CAAf,EAA0C/tI,IAA1C,CAA+C,IAA/C,CAAN,CAAR;AAAoE,QAAG,CAAC3F,CAAJ,EAAM,MAAM,IAAIu+B,SAAJ,CAAc,sCAAd,CAAN;AAA4D,QAAG,cAAY,OAAOv+B,CAAC,CAAC6P,WAAxB,EAAoC,MAAM,IAAI0uB,SAAJ,CAAc,iCAAd,CAAN;AAAuD,QAAG,CAACv+B,CAAC,CAAC6wI,WAAN,EAAkB,MAAM,IAAItyG,SAAJ,CAAc,0BAAd,CAAN;AAAgD,WAAOoI,CAAC,CAACq7E,SAAF,GAAYhiH,CAAC,CAACgiH,SAAd,EAAwBr7E,CAAC,CAACmyG,UAAF,GAAa;AAACnhD,UAAI,EAAC,CAAN;AAAQv1D,WAAK,EAAC;AAAd,KAArC,EAAsDuE,CAAC,CAACkxG,SAAF,GAAYn5C,GAAlE,EAAsE/3D,CAAC,CAACytG,WAAF,EAAtE,EAAsFztG,CAAC,CAAC25F,UAAF,GAAa,IAAnG,EAAwG35F,CAAC,CAAC0vG,UAAF,GAAar2I,CAAC,CAACg5I,SAAvH,EAAiIryG,CAAC,CAAC4qD,YAAF,GAAevxF,CAAC,CAAC6P,WAAlJ,EAA8J82B,CAAC,CAACgxG,SAAF,GAAY33I,CAAC,CAACynF,QAA5K,EAAqL9gD,CAAC,CAAC6vG,QAAF,GAAWx2I,CAAC,CAACukG,OAAlM,EAA0M59D,CAAC,CAACw9C,SAAF,GAAYnkF,CAAC,CAACsf,QAAxN,EAAiOqnB,CAAC,CAACg5F,YAAF,GAAe3/H,CAAC,CAAC6wI,WAAlP,EAA8PlqG,CAAC,CAAC20F,IAAF,GAAOt7H,CAAC,CAACi5I,GAAvQ,EAA2QtyG,CAAC,CAACyuG,WAAF,GAAcp1I,CAAC,CAACk5I,UAA3R,EAAsSvyG,CAAC,CAACwxG,cAAF,GAAiB,KAAK,CAA5T,EAA8TxxG,CAAC,CAACmvG,qBAAF,GAAwB91I,CAAC,CAACm5I,oBAAxV,EAA6WxyG,CAAC,CAACgwG,iBAAF,GAAoB32I,CAAC,CAACo5I,gBAAnY,EAAoZzyG,CAAC,CAAC0yG,WAAF,GAAcr5I,CAAC,CAACs5I,UAApa,EAA+a3yG,CAAC,CAAC84F,iBAAF,GAAoBz/H,CAAC,CAAC+3I,gBAArc,EAAsdpxG,CAAC,CAAC4yG,MAAF,GAAS,MAA/d,EAAse5yG,CAAC,CAAC2tG,mBAAF,GAAsB,IAA5f,EAAigB3tG,CAAC,CAACm+C,MAAF,GAAS,KAAK,CAA/gB,EAAihBn+C,CAAC,CAACuvG,gBAAF,GAAmB,CAAC,CAAriB,EAAuiBvvG,CAAC,CAAC+tG,eAAF,GAAkB,IAAzjB,EAA8jB/tG,CAAC,CAAC8qG,SAAF,GAAY,IAA1kB,EAA+kB9qG,CAAC,CAACwtG,cAAF,GAAiB,IAAhmB,EAAqmBxtG,CAAC,CAAC4uG,WAAF,GAAc,IAAnnB,EAAwnB5uG,CAAC,CAAC8xG,oBAAF,GAAuB,IAA/oB,EAAopB9xG,CAAC,CAACkuG,aAAF,GAAgB,EAApqB,EAAuqBluG,CAAC,CAACouG,oBAAF,GAAuB/0I,CAAC,CAACw5I,mBAAhsB,EAAotB7yG,CAAC,CAACmuG,SAAF,GAAY,EAAhuB,EAAmuB,WAASnuG,CAAC,CAACyuG,WAAX,GAAuBzuG,CAAC,CAAC0tG,cAAF,GAAiB,IAAIhf,EAAJ,EAAxC,GAA+C1uF,CAAC,CAAC0tG,cAAF,GAAiB,IAAnyB,EAAwyB1tG,CAAC,CAAC4wG,UAAF,GAAav3I,CAAC,CAACy5I,SAAvzB,EAAi0B9yG,CAAC,CAAC4tG,eAAF,GAAkBv0I,CAAC,CAACm3I,cAAr1B,EAAo2BxwG,CAAC,CAACkvG,UAAF,GAAa;AAACiB,kBAAY,EAAC,CAAd;AAAgBlnI,UAAI,EAAC;AAArB,KAAj3B,EAAy4B+2B,CAAC,CAAC6tG,sBAAF,GAAyB,YAAU;AAAC,aAAO7tG,CAAC,CAACphC,OAAF,CAAU,gBAAV,CAAP;AAAmC,KAAh9B,EAAi9BohC,CAAC,CAAC4tG,eAAF,CAAkBlyI,EAAlB,CAAqB,gBAArB,EAAsCskC,CAAC,CAAC6tG,sBAAxC,CAAj9B,EAAihC7tG,CAAC,CAACg5F,YAAF,CAAe/mH,gBAAf,CAAgC,YAAhC,EAA6C,YAAU;AAAC,aAAO+tB,CAAC,CAACiuG,MAAF,GAAS,CAAC,CAAjB;AAAmB,KAA3E,CAAjhC,EAA8lCjuG,CAAC,CAACivG,cAAF,GAAiB,CAAC,CAAhnC,EAAknCjvG,CAAC,CAACmqG,OAAF,GAAUN,EAAE,CAAC,mBAAiB7pG,CAAC,CAACyuG,WAAnB,GAA+B,GAAhC,CAA9nC,EAAmqC5uI,MAAM,CAAC06B,cAAP,CAAsByF,CAAtB,EAAwB,OAAxB,EAAgC;AAACje,SAAG,EAAC,eAAU;AAAC,eAAO,KAAK6wH,MAAZ;AAAmB,OAAnC;AAAoCn4G,SAAG,EAAC,aAASphC,CAAT,EAAW;AAACA,SAAC,KAAG,KAAKu5I,MAAT,KAAkB,KAAKzI,OAAL,CAAa,KAAKyI,MAAL,GAAY,MAAZ,GAAmBv5I,CAAhC,GAAmC,KAAKu5I,MAAL,GAAYv5I,CAAjE;AAAoE;AAAxH,KAAhC,CAAnqC,EAA8zC2mC,CAAr0C;AAAu0C;;AAAA,WAAS+yG,EAAT,CAAY15I,CAAZ,EAAc;AAAC,WAAOwgF,kBAAkB,CAACnyD,MAAM,CAACG,MAAM,CAACC,YAAP,CAAoB/oB,KAApB,CAA0B,IAA1B,EAA+B1F,CAA/B,CAAD,CAAP,CAAzB;AAAqE;;AAAA,MAAI25I,EAAE,GAAC,IAAIvnC,UAAJ,CAAe,OAAOjnF,KAAP,CAAa,EAAb,EAAiBlC,GAAjB,CAAqB,UAASjpB,CAAT,EAAW;AAAC,WAAOA,CAAC,CAAC8uB,UAAF,CAAa,CAAb,CAAP;AAAuB,GAAxD,CAAf,CAAP;AAAA,MAAiF8qH,EAAE,IAAE1f,EAAE,CAAC2f,EAAD,EAAIpG,EAAJ,CAAF,EAAUzZ,EAAE,CAAC6f,EAAD,EAAI,CAAC;AAACz0H,OAAG,EAAC,WAAL;AAAiBC,SAAK,EAAC,iBAAU;AAAC,UAAG,CAAC,KAAKy0H,eAAN,IAAuB,CAAC,KAAKA,eAAL,CAAqBzpE,IAArB,CAA0BntE,MAArD,EAA4D,OAAO0pG,EAAE,CAACgB,gBAAH,EAAP;AAA6B,UAAI5tG,CAAC,GAAC,KAAK85I,eAAL,CAAqBzpE,IAA3B;AAAA,UAAgC1pC,CAAC,GAAC3mC,CAAC,CAAC,CAAD,CAAD,CAAKq1C,SAAvC;AAAA,UAAiDt0C,CAAC,GAACf,CAAC,CAACA,CAAC,CAACkD,MAAF,GAAS,CAAV,CAAD,CAAcmyC,SAAjE;AAA2E,aAAOu3D,EAAE,CAACgB,gBAAH,CAAoB,CAAC,CAACjnE,CAAD,EAAG5lC,CAAH,CAAD,CAApB,CAAP;AAAoC;AAA1O,GAAD,EAA6O;AAACqkB,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAEmoB,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASyjC,CAA7B,IAAgCA,CAAtC;AAAwC,UAAG,CAAC3mC,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAIs6B,CAAC,GAACujG,EAAE,CAAC79H,CAAD,CAAR;AAAA,UAAY8gE,CAAC,GAAC,KAAK+zE,aAAL,CAAmBv6G,CAAnB,CAAd;;AAAoC,UAAGv5B,CAAC,IAAE,CAAC+/D,CAAJ,IAAO9gE,CAAC,CAAC49H,KAAZ,EAAkB;AAAC,YAAIl5G,CAAC,GAACi1H,EAAE,CAACxyB,UAAH,GAAcnnH,CAAC,CAAC49H,KAAF,CAAQzW,UAA5B;AAAA,YAAuC/rG,CAAC,GAAC,IAAIg3F,UAAJ,CAAe1tF,CAAf,CAAzC;AAA2DtJ,SAAC,CAACgmB,GAAF,CAAMphC,CAAC,CAAC49H,KAAR,GAAexiH,CAAC,CAACgmB,GAAF,CAAMu4G,EAAN,EAAS35I,CAAC,CAAC49H,KAAF,CAAQzW,UAAjB,CAAf,EAA4C,KAAK0tB,aAAL,CAAmBv6G,CAAnB,IAAsBwmC,CAAC,GAAC;AAAC4/C,qBAAW,EAAC1gH,CAAC,CAAC0gH,WAAf;AAA2B3Q,mBAAS,EAAC/vG,CAAC,CAAC+vG,SAAvC;AAAiD6tB,eAAK,EAACxiH;AAAvD,SAApE;AAA8H;;AAAA,aAAO0lD,CAAC,IAAE9gE,CAAV;AAAY;AAA7V,GAA7O,EAA4kB;AAAColB,OAAG,EAAC,oBAAL;AAA0BC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAK2vH,SAAL,IAAgB,KAAK8E,eAArB,IAAsC,CAAC,KAAK7pI,MAAL,EAA9C;AAA4D;AAAvG,GAA5kB,EAAqrB;AAACmV,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAK9X,KAAL,GAAW,OAAX,EAAmB,KAAK+nI,eAAL,EAAnB,EAA0C,KAAKb,cAAL,EAAjD;AAAuE;AAArG,GAArrB,EAA4xB;AAACrvH,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,aAAM,eAAa,OAAOA,CAApB,KAAwB,KAAK85I,eAAL,GAAqB95I,CAArB,EAAuB,WAAS,KAAKuN,KAAd,IAAqB,KAAK2nI,kBAAL,EAArB,IAAgD,KAAKC,KAAL,EAA/F,GAA6G,KAAK2E,eAAxH;AAAwI;AAAvK,GAA5xB,EAAq8B;AAAC10H,OAAG,EAAC,QAAL;AAAcC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC04F,QAAE,CAACr/H,CAAD,EAAG2mC,CAAH,EAAK,KAAKmzG,eAAV,CAAF;AAA6B;AAA/D,GAAr8B,EAAsgC;AAAC10H,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,IAAN;AAAW,WAAK61I,UAAL,KAAkB,KAAKA,UAAL,GAAgB,KAAKtB,eAAL,CAAqB0B,YAArB,CAAkC,KAAKjB,SAAvC,EAAiD,KAAK7wD,SAAL,EAAjD,EAAkE,KAAK+xD,gBAAvE,EAAwF,KAAK3kD,YAAL,EAAxF,CAAlC;AAAgJ,UAAI5qD,CAAC,GAAC,KAAKwvG,YAAL,CAAkB,KAAKC,SAAL,EAAlB,EAAmC,KAAKpB,SAAxC,EAAkD,KAAK1U,UAAvD,EAAkE,KAAK+V,UAAL,EAAlE,EAAoF,KAAK9kD,YAAL,EAApF,EAAwG,KAAKskD,UAA7G,CAAN;;AAA+H,UAAGlvG,CAAC,GAAC,KAAKozG,kBAAL,CAAwBpzG,CAAxB,CAAL,EAAgC;AAAC,YAAG,SAAO,KAAK4tG,eAAL,CAAqByF,0BAArB,CAAgDrzG,CAAC,CAACitE,QAAlD,CAAV,EAAsE,OAAO,KAAK2gC,eAAL,CAAqBhzH,GAArB,CAAyB,iBAAzB,EAA2C,YAAU;AAACvhB,WAAC,CAACuN,KAAF,GAAQ,OAAR,EAAgBvN,CAAC,CAACiQ,MAAF,MAAYjQ,CAAC,CAACy0I,cAAF,EAA5B;AAA+C,SAArG,GAAuG,MAAK,KAAKlnI,KAAL,GAAW,qBAAhB,CAA9G;AAAqJ,aAAKmpI,YAAL,CAAkB/vG,CAAlB;AAAqB;AAAC;AAAhlB,GAAtgC,EAAwlD;AAACvhB,OAAG,EAAC,oBAAL;AAA0BC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,aAAKA,CAAC,IAAEA,CAAC,CAAC2wG,OAAF,CAAUn/F,KAAlB;AAAyBxR,SAAC,GAAC,KAAK62I,oBAAL,CAA0B72I,CAAC,CAACiW,QAA5B,EAAqCjW,CAAC,CAACsgI,UAAF,GAAa,CAAlD,EAAoDtgI,CAAC,CAACy2I,cAAF,GAAiBz2I,CAAC,CAACsf,QAAvE,EAAgFtf,CAAC,CAAC+2I,aAAlF,CAAF;AAAzB;;AAA4H,aAAO/2I,CAAP;AAAS;AAAjL,GAAxlD,EAA2wD;AAAColB,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,iBAAU;AAAC,UAAIshB,CAAC,GAAC,IAAN;;AAAW,UAAG,KAAK+tG,eAAL,IAAsB,KAAKoF,eAA9B,EAA8C;AAAC,aAAKvsI,KAAL,GAAW,WAAX;AAAuB,YAAIvN,CAAC,GAAC,KAAK00I,eAAX;AAAA,YAA2B3zI,CAAC,GAACf,CAAC,CAAC2wG,OAA/B;;AAAuC,YAAG,cAAY,OAAOruF,CAAC,CAACq3D,MAArB,IAA6B,KAAKmgE,eAAlC,IAAmD,KAAKA,eAAL,CAAqBv/D,KAA3E,EAAiF;AAAC,cAAIjgD,CAAC,GAAC,KAAK,CAAX;AAAA,cAAawmC,CAAC,GAAC,SAAFA,CAAE,GAAU;AAACn6B,aAAC,CAACmzG,eAAF,CAAkBv/D,KAAlB,CAAwBn4E,GAAxB,CAA4B,aAA5B,EAA0Ck4B,CAA1C,GAA6CqM,CAAC,CAAC1hC,KAAF,CAAQ;AAACgZ,qBAAO,EAAC;AAAT,aAAR,CAA7C,EAAuF0oB,CAAC,CAACp5B,KAAF,GAAQ,OAA/F,EAAuGo5B,CAAC,CAACj6B,KAAF,EAAvG,EAAiHi6B,CAAC,CAACphC,OAAF,CAAU,OAAV,CAAjH;AAAoI,WAA9J;;AAA+J,iBAAO+0B,CAAC,GAAC,aAAU;AAACqM,aAAC,CAACmzG,eAAF,CAAkBv/D,KAAlB,CAAwBn4E,GAAxB,CAA4B,YAA5B,EAAyC0+D,CAAzC,GAA4Cn6B,CAAC,CAACsxG,cAAF,EAA5C;AAA+D,WAA5E,EAA6E,KAAK1qI,KAAL,GAAW,kBAAxF,EAA2G,KAAKusI,eAAL,CAAqBv/D,KAArB,CAA2Bh5D,GAA3B,CAA+B,aAA/B,EAA6C+Y,CAA7C,CAA3G,EAA2J,KAAK,KAAKw/G,eAAL,CAAqBv/D,KAArB,CAA2Bh5D,GAA3B,CAA+B,YAA/B,EAA4Cu/C,CAA5C,CAAvK;AAAsN;;AAAA//D,SAAC,CAACk5I,SAAF,GAAY,CAAC,CAAb;;AAAe,YAAG;AAAC,eAAKC,aAAL,CAAmBl6I,CAAnB;AAAsB,SAA1B,CAA0B,OAAMA,CAAN,EAAQ;AAAC,iBAAO,KAAKiF,KAAL,CAAW;AAACgZ,mBAAO,EAACje,CAAC,CAACie;AAAX,WAAX,GAAgC,KAAK1Q,KAAL,GAAW,OAA3C,EAAmD,KAAKb,KAAL,EAAnD,EAAgE,KAAKnH,OAAL,CAAa,OAAb,CAAvE;AAA6F;;AAAA,YAAG,KAAK40I,kBAAL,CAAwBn6I,CAAxB,EAA0B,KAAKu0I,eAAL,CAAqB6F,SAArB,CAA+Bp6I,CAAC,CAAC4zG,QAAjC,CAA1B,EAAqE,KAAKohC,SAA1E,GAAqFh1I,CAAC,CAAC+2I,aAA1F,EAAwG,OAAO,KAAKxxI,OAAL,CAAa,gBAAb,GAA+B,KAAKmvI,eAAL,GAAqB,IAApD,EAAyD,MAAK,KAAKnnI,KAAL,GAAW,OAAhB,CAAhE;AAAyFvN,SAAC,CAACmnH,UAAF,GAAannH,CAAC,CAAC49H,KAAF,CAAQzW,UAArB,EAAgC,KAAK8sB,kBAAL,IAAyBlzI,CAAC,CAACue,QAA3D,EAAoEtf,CAAC,CAACqwE,IAAF,CAAOntE,MAAP,IAAe,KAAK5B,MAAL,CAAYtB,CAAC,CAACqwE,IAAF,CAAO,CAAP,EAAUC,OAAtB,EAA8BtwE,CAAC,CAACqwE,IAAF,CAAOrwE,CAAC,CAACqwE,IAAF,CAAOntE,MAAP,GAAc,CAArB,EAAwBotE,OAAtD,CAAnF,EAAkJtwE,CAAC,CAACqwE,IAAF,CAAOtnE,OAAP,CAAe,UAAS/I,CAAT,EAAW;AAAC2mC,WAAC,CAACmzG,eAAF,CAAkBlpE,MAAlB,CAAyBjqC,CAAC,CAAC0zG,yBAAF,GAA4B,IAAI/3H,CAAC,CAAC04D,MAAN,CAAah7E,CAAC,CAACq1C,SAAf,EAAyBr1C,CAAC,CAACswE,OAA3B,EAAmCtwE,CAAC,CAACgoB,IAArC,CAA5B,GAAuEhoB,CAAhG;AAAmG,SAA9H,CAAlJ,EAAkR,KAAK24I,gBAAL,EAAlR;AAA0S,OAA9qC,MAAmrC,KAAKprI,KAAL,GAAW,OAAX;AAAmB;AAAxvC,GAA3wD,EAAqgG;AAAC6X,OAAG,EAAC,eAAL;AAAqBC,SAAK,EAAC,eAASshB,CAAT,EAAW;AAAC,UAAI3mC,CAAC,GAAC,KAAK,CAAX;AAAA,UAAae,CAAC,GAAC,CAAC,CAAhB;AAAkB,oBAAY,OAAOuhB,CAAC,CAACw+D,WAArB,GAAiC9gF,CAAC,GAAC,IAAIsiB,CAAC,CAACw+D,WAAN,CAAkB,MAAlB,CAAnC,IAA8D9gF,CAAC,GAACsiB,CAAC,CAACq3D,MAAF,CAASG,aAAT,EAAF,EAA2B/4E,CAAC,GAAC,CAAC,CAA5F;AAA+F,UAAIu5B,CAAC,GAAC,IAAIhY,CAAC,CAACq3D,MAAF,CAASC,MAAb,CAAoBt3D,CAApB,EAAsBA,CAAC,CAACu3D,KAAxB,EAA8B75E,CAA9B,CAAN;;AAAuC,UAAG2mC,CAAC,CAAC0pC,IAAF,GAAO,EAAP,EAAU1pC,CAAC,CAAC2zG,YAAF,GAAe;AAACp5D,cAAM,EAAC,CAAR;AAAUC,aAAK,EAAC;AAAhB,OAAzB,EAA4C7mD,CAAC,CAACy/C,KAAF,GAAQpzC,CAAC,CAAC0pC,IAAF,CAAO9sE,IAAP,CAAYgZ,IAAZ,CAAiBoqB,CAAC,CAAC0pC,IAAnB,CAApD,EAA6E/1C,CAAC,CAAC2mD,cAAF,GAAiB,UAASjhF,CAAT,EAAW;AAAC,eAAO2mC,CAAC,CAAC2zG,YAAF,GAAet6I,CAAtB;AAAwB,OAAlI,EAAmIs6B,CAAC,CAAC0/C,cAAF,GAAiB,UAASh6E,CAAT,EAAW;AAAC4sG,UAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,0CAAwCx/B,CAAC,CAACie,OAAtD;AAA+D,OAA/N,EAAgO0oB,CAAC,CAACgqE,OAAF,CAAU1nF,GAA7O,EAAiP;AAAC,YAAI63C,CAAC,GAACn6B,CAAC,CAACgqE,OAAF,CAAU1nF,GAAV,CAAc20G,KAApB;AAA0B78H,SAAC,KAAG+/D,CAAC,GAAC44E,EAAE,CAAC54E,CAAD,CAAP,CAAD,EAAaxmC,CAAC,CAACvrB,KAAF,CAAQ+xD,CAAR,CAAb;AAAwB;;AAAA,UAAIp8C,CAAC,GAACiiB,CAAC,CAACi3F,KAAR;AAAc78H,OAAC,KAAG2jB,CAAC,GAACg1H,EAAE,CAACh1H,CAAD,CAAP,CAAD,EAAa4V,CAAC,CAACvrB,KAAF,CAAQ2V,CAAR,CAAb,EAAwB4V,CAAC,CAAC8/C,KAAF,EAAxB;AAAkC;AAAnhB,GAArgG,EAA0hH;AAACh1D,OAAG,EAAC,oBAAL;AAA0BC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAACt6B,CAAC,CAAC2wG,OAAR;AAAgB,UAAGhqE,CAAH,EAAK,IAAG3mC,CAAC,CAACqwE,IAAF,CAAOntE,MAAV,EAAiB;AAAC,YAAI49D,CAAC,GAAC9gE,CAAC,CAACs6I,YAAR;AAAA,YAAqB51H,CAAC,GAACo8C,CAAC,CAACogB,MAAF,GAAS,GAAT,GAAapgB,CAAC,CAACqgB,KAAf,GAAqBx6C,CAAC,CAACsnG,OAA9C;;AAAsD,YAAGjuI,CAAC,CAACqwE,IAAF,CAAOtnE,OAAP,CAAe,UAAS/I,CAAT,EAAW;AAACA,WAAC,CAACq1C,SAAF,IAAa3wB,CAAb,EAAe1kB,CAAC,CAACswE,OAAF,IAAW5rD,CAA1B;AAA4B,SAAvD,GAAyD,CAAC3jB,CAAC,CAACy0I,QAA/D,EAAwE;AAAC,cAAIp6H,CAAC,GAACpb,CAAC,CAACqwE,IAAF,CAAO,CAAP,EAAUh7B,SAAhB;AAAA,cAA0BsrB,CAAC,GAAC3gE,CAAC,CAACqwE,IAAF,CAAOrwE,CAAC,CAACqwE,IAAF,CAAOntE,MAAP,GAAc,CAArB,EAAwBmyC,SAApD;AAA8Dt0C,WAAC,CAACy0I,QAAF,GAAW;AAAC9jC,yBAAa,EAAC3wG,CAAC,CAAC2wG,aAAF,GAAgB1xG,CAAC,CAACsgI,UAAjC;AAA4C1wH,gBAAI,EAAC+Q,IAAI,CAACE,GAAL,CAASzF,CAAT,EAAWulD,CAAC,GAACrmC,CAAC,CAAChb,QAAf;AAAjD,WAAX;AAAsF;AAAC,OAAtS,MAA2Sgb,CAAC,CAAC9oB,KAAF,GAAQ,CAAC,CAAT;AAAW;AAA3X,GAA1hH,CAAJ,CAAZ,EAAy6HqoI,EAA36H,CAAnF;;AAAkgI,WAASA,EAAT,CAAY75I,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC,IAAEzd,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASgmB,SAAS,CAAC,CAAD,CAAtC,GAA0CA,SAAS,CAAC,CAAD,CAAnD,GAAuD,EAA7D;AAAgE6wG,MAAE,CAAC,IAAD,EAAM8f,EAAN,CAAF;AAAY,QAAI94I,CAAC,GAACo5H,EAAE,CAAC,IAAD,EAAM,CAAC0f,EAAE,CAACp2E,SAAH,IAAcj9D,MAAM,CAACogB,cAAP,CAAsBizH,EAAtB,CAAf,EAA0Cl0I,IAA1C,CAA+C,IAA/C,EAAoD3F,CAApD,EAAsD2mC,CAAtD,CAAN,CAAR;AAAwE,WAAO5lC,CAAC,CAAC4+H,YAAF,GAAe,IAAf,EAAoB5+H,CAAC,CAAC+4I,eAAF,GAAkB,IAAtC,EAA2C/4I,CAAC,CAACs5I,yBAAF,GAA4Br6I,CAAC,CAACqjF,wBAAzE,EAAkGtiF,CAAzG;AAA2G;;AAAA,WAAS6tB,EAAT,CAAY5uB,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAC,GAACf,CAAC,CAACqwE,IAAR,EAAa/1C,CAAC,GAAC,CAAnB,EAAqBA,CAAC,GAACv5B,CAAC,CAACmC,MAAzB,EAAgCo3B,CAAC,EAAjC,EAAoC;AAAC,UAAIwmC,CAAC,GAAC//D,CAAC,CAACu5B,CAAD,CAAP;AAAW,UAAGqM,CAAC,IAAEm6B,CAAC,CAACy5E,WAAL,IAAkB5zG,CAAC,IAAEm6B,CAAC,CAAC05E,SAA1B,EAAoC,OAAO15E,CAAP;AAAS;;AAAA,WAAO,IAAP;AAAY;;AAAA,MAAI25E,EAAE,GAACriB,EAAP;AAAA,MAAUsiB,EAAE,GAAC,CAAC;AAAC9wH,QAAI,EAAC,KAAN;AAAYkpB,OAAG,EAAC,aAAS9yC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiBwmC,CAAjB,EAAmB;AAAC,UAAG//D,CAAC,KAAG,IAAE,CAAT,EAAW,OAAO,IAAP;AAAY,aAAM;AAAC6O,YAAI,EAAC,CAAN;AAAQknI,oBAAY,EAAC;AAArB,OAAN;AAA8B;AAAzF,GAAD,EAA4F;AAACltH,QAAI,EAAC,iBAAN;AAAwBkpB,OAAG,EAAC,aAAS9yC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiBwmC,CAAjB,EAAmB;AAAC,UAAG,CAAC9gE,CAAC,CAAC26I,qBAAN,EAA4B,OAAO,IAAP;AAAY,UAAIj2H,CAAC,GAACiiB,CAAC,CAAC2qE,QAAF,IAAY,EAAlB;AAAA,UAAqBl2F,CAAC,GAAC,IAAvB;AAAA,UAA4BulD,CAAC,GAAC,IAA9B;AAAmCG,OAAC,GAACA,CAAC,IAAE,CAAL;;AAAO,WAAI,IAAIF,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACl8C,CAAC,CAACxhB,MAAhB,EAAuB09D,CAAC,EAAxB,EAA2B;AAAC,YAAIxlC,CAAC,GAAC1W,CAAC,CAACk8C,CAAD,CAAP;;AAAW,YAAGxlC,CAAC,CAAC+0E,cAAL,EAAoB;AAAC,cAAI3uC,CAAC,GAACpmC,CAAC,CAAC+0E,cAAF,CAAiBquB,OAAjB,KAA2B,GAA3B,GAA+Bx+H,CAAC,CAAC26I,qBAAvC;AAAA,cAA6Dl6E,CAAC,GAAC9/C,IAAI,CAACkmC,GAAL,CAASia,CAAC,GAACU,CAAX,CAA/D;AAA6E,cAAG,SAAOb,CAAP,KAAW,MAAIF,CAAJ,IAAOE,CAAC,GAACF,CAApB,CAAH,EAA0B;AAAME,WAAC,GAACF,CAAF,EAAIrlD,CAAC,GAAC;AAACxL,gBAAI,EAAC4xD,CAAN;AAAQs1E,wBAAY,EAACl2E;AAArB,WAAN;AAA8B;AAAC;;AAAA,aAAOxlD,CAAP;AAAS;AAAnV,GAA5F,EAAib;AAACwO,QAAI,EAAC,SAAN;AAAgBkpB,OAAG,EAAC,aAAS9yC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiBwmC,CAAjB,EAAmB;AAAC,UAAIp8C,CAAC,GAACiiB,CAAC,CAAC2qE,QAAF,IAAY,EAAlB;AAAA,UAAqBl2F,CAAC,GAAC,IAAvB;AAAA,UAA4BulD,CAAC,GAAC,IAA9B;AAAmCG,OAAC,GAACA,CAAC,IAAE,CAAL;;AAAO,WAAI,IAAIF,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACl8C,CAAC,CAACxhB,MAAhB,EAAuB09D,CAAC,EAAxB,EAA2B;AAAC,YAAIxlC,CAAC,GAAC1W,CAAC,CAACk8C,CAAD,CAAP;;AAAW,YAAGxlC,CAAC,CAACw4E,QAAF,KAAat5E,CAAb,IAAgB,eAAa,OAAOc,CAAC,CAAC5Z,KAAzC,EAA+C;AAAC,cAAIggD,CAAC,GAAC7gD,IAAI,CAACkmC,GAAL,CAASia,CAAC,GAAC1lC,CAAC,CAAC5Z,KAAb,CAAN;AAA0B,cAAG,SAAOm/C,CAAP,IAAUA,CAAC,GAACa,CAAf,EAAiB;AAAM,WAAC,CAACpmD,CAAD,IAAI,SAAOulD,CAAX,IAAca,CAAC,IAAEb,CAAlB,MAAuBA,CAAC,GAACa,CAAF,EAAIpmD,CAAC,GAAC;AAACxL,gBAAI,EAACwrB,CAAC,CAAC5Z,KAAR;AAAcs1H,wBAAY,EAACl2E;AAA3B,WAA7B;AAA4D;AAAC;;AAAA,aAAOxlD,CAAP;AAAS;AAAhS,GAAjb,EAAmtB;AAACwO,QAAI,EAAC,eAAN;AAAsBkpB,OAAG,EAAC,aAAS9yC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiBwmC,CAAjB,EAAmB;AAAC,UAAIp8C,CAAC,GAAC,IAAN;AAAW,UAAGo8C,CAAC,GAACA,CAAC,IAAE,CAAL,EAAOn6B,CAAC,CAAC0qE,mBAAF,IAAuB1qE,CAAC,CAAC0qE,mBAAF,CAAsBnuG,MAAvD,EAA8D,KAAI,IAAIkY,CAAC,GAAC,IAAN,EAAWulD,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAACh6B,CAAC,CAAC0qE,mBAAF,CAAsBnuG,MAA3C,EAAkDy9D,CAAC,EAAnD,EAAsD;AAAC,YAAIC,CAAC,GAACj6B,CAAC,CAAC0qE,mBAAF,CAAsB1wC,CAAtB,CAAN;AAAA,YAA+BvlC,CAAC,GAACuL,CAAC,CAACgrE,qBAAF,GAAwBhxC,CAAxB,GAA0B,CAA3D;AAAA,YAA6Da,CAAC,GAACxhE,CAAC,CAAC46I,eAAF,CAAkBx/G,CAAlB,CAA/D;;AAAoF,YAAGomC,CAAH,EAAK;AAAC,cAAIf,CAAC,GAAC9/C,IAAI,CAACkmC,GAAL,CAASia,CAAC,GAACU,CAAC,CAAC5xD,IAAb,CAAN;AAAyB,cAAG,SAAOwL,CAAP,IAAUA,CAAC,GAACqlD,CAAf,EAAiB;AAAM,WAAC,CAAC/7C,CAAD,IAAI,SAAOtJ,CAAX,IAAcqlD,CAAC,IAAErlD,CAAlB,MAAuBA,CAAC,GAACqlD,CAAF,EAAI/7C,CAAC,GAAC;AAAC9U,gBAAI,EAAC4xD,CAAC,CAAC5xD,IAAR;AAAaknI,wBAAY,EAACl2E;AAA1B,WAA7B;AAA2D;AAAC;AAAA,aAAOl8C,CAAP;AAAS;AAA7X,GAAntB,EAAklC;AAACkF,QAAI,EAAC,UAAN;AAAiBkpB,OAAG,EAAC,aAAS9yC,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiBwmC,CAAjB,EAAmB;AAAC,aAAOn6B,CAAC,CAAC6uG,QAAF,GAAW;AAAC5lI,YAAI,EAAC+2B,CAAC,CAAC6uG,QAAF,CAAW5lI,IAAjB;AAAsBknI,oBAAY,EAACnwG,CAAC,CAAC6uG,QAAF,CAAW9jC,aAAX,GAAyB/qE,CAAC,CAAC+qE;AAA9D,OAAX,GAAwF,IAA/F;AAAoG;AAA7I,GAAllC,CAAb;AAAA,MAA+uCmpC,EAAE,IAAE3gB,EAAE,CAAC4gB,EAAD,EAAIluC,EAAE,CAACoB,WAAP,CAAF,EAAsBgsB,EAAE,CAAC8gB,EAAD,EAAI,CAAC;AAAC11H,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,UAAIwmC,CAAC,GAAC,KAAKi6E,cAAL,CAAoB/6I,CAApB,EAAsB2mC,CAAtB,EAAwB5lC,CAAxB,EAA0Bu5B,CAA1B,CAAN;AAAmC,aAAOwmC,CAAC,CAAC59D,MAAF,GAAS,KAAK83I,gBAAL,CAAsBl6E,CAAtB,EAAwB;AAAC17C,WAAG,EAAC,MAAL;AAAYC,aAAK,EAACiV;AAAlB,OAAxB,CAAT,GAAuD,IAA9D;AAAmE;AAAlJ,GAAD,EAAqJ;AAAClV,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,CAAC3mC,CAAD,IAAI,CAACA,CAAC,CAACsxG,QAAV,EAAmB,OAAO,IAAP;AAAY,UAAIvwG,CAAC,GAAC,KAAKg6I,cAAL,CAAoB/6I,CAApB,EAAsB2mC,CAAtB,EAAwB3mC,CAAC,CAAC2xG,qBAA1B,EAAgD,CAAhD,CAAN;AAAyD,UAAG,CAAC5wG,CAAC,CAACmC,MAAN,EAAa,OAAO,IAAP;AAAY,UAAIo3B,CAAC,GAAC,KAAK0gH,gBAAL,CAAsBj6I,CAAtB,EAAwB;AAACqkB,WAAG,EAAC,cAAL;AAAoBC,aAAK,EAAC;AAA1B,OAAxB,CAAN;AAA4D,aAAO,IAAEiV,CAAC,CAACw8G,YAAJ,KAAmBx8G,CAAC,CAAC1qB,IAAF,IAAQ,CAAC,CAA5B,GAA+B+Q,IAAI,CAACkmC,GAAL,CAASvsB,CAAC,CAAC1qB,IAAF,GAAOmsH,EAAE,CAAC/7H,CAAD,EAAGs6B,CAAC,CAACw8G,YAAL,EAAkB,CAAlB,CAAlB,CAAtC;AAA8E;AAArS,GAArJ,EAA4b;AAAC1xH,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,WAAI,IAAIwmC,CAAC,GAAC,EAAN,EAASp8C,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACg2H,EAAE,CAACx3I,MAAtB,EAA6BwhB,CAAC,EAA9B,EAAiC;AAAC,YAAItJ,CAAC,GAACs/H,EAAE,CAACh2H,CAAD,CAAR;AAAA,YAAYi8C,CAAC,GAACvlD,CAAC,CAAC03B,GAAF,CAAM,IAAN,EAAW9yC,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiBu5B,CAAjB,CAAd;AAAkCqmC,SAAC,KAAGA,CAAC,CAACs6E,QAAF,GAAW7/H,CAAC,CAACwO,IAAb,EAAkBk3C,CAAC,CAACv9D,IAAF,CAAO;AAAC03I,kBAAQ,EAAC7/H,CAAC,CAACwO,IAAZ;AAAiBsxH,mBAAS,EAACv6E;AAA3B,SAAP,CAArB,CAAD;AAA6D;;AAAA,aAAOG,CAAP;AAAS;AAAxL,GAA5b,EAAsnB;AAAC17C,OAAG,EAAC,kBAAL;AAAwBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAI,IAAI5lC,CAAC,GAACf,CAAC,CAAC,CAAD,CAAD,CAAKk7I,SAAX,EAAqB5gH,CAAC,GAAC3Z,IAAI,CAACkmC,GAAL,CAAS7mD,CAAC,CAAC,CAAD,CAAD,CAAKk7I,SAAL,CAAev0G,CAAC,CAACvhB,GAAjB,IAAsBuhB,CAAC,CAACthB,KAAjC,CAAvB,EAA+Dy7C,CAAC,GAAC9gE,CAAC,CAAC,CAAD,CAAD,CAAKi7I,QAAtE,EAA+Ev2H,CAAC,GAAC,CAArF,EAAuFA,CAAC,GAAC1kB,CAAC,CAACkD,MAA3F,EAAkGwhB,CAAC,EAAnG,EAAsG;AAAC,YAAItJ,CAAC,GAACuF,IAAI,CAACkmC,GAAL,CAAS7mD,CAAC,CAAC0kB,CAAD,CAAD,CAAKw2H,SAAL,CAAev0G,CAAC,CAACvhB,GAAjB,IAAsBuhB,CAAC,CAACthB,KAAjC,CAAN;AAA8CjK,SAAC,GAACkf,CAAF,KAAMA,CAAC,GAAClf,CAAF,EAAIra,CAAC,GAACf,CAAC,CAAC0kB,CAAD,CAAD,CAAKw2H,SAAX,EAAqBp6E,CAAC,GAAC9gE,CAAC,CAAC0kB,CAAD,CAAD,CAAKu2H,QAAlC;AAA4C;;AAAA,aAAO,KAAKnK,OAAL,CAAa,oBAAkBnqG,CAAC,CAACvhB,GAApB,GAAwB,IAAxB,GAA6BuhB,CAAC,CAACthB,KAA/B,GAAqC,0BAArC,GAAgEy7C,CAAhE,GAAkE,WAAlE,GAA8E//D,CAAC,CAAC6O,IAAhF,GAAqF,iBAArF,GAAuG7O,CAAC,CAAC+1I,YAAzG,GAAsH,GAAnI,GAAwI/1I,CAA/I;AAAiJ;AAA9X,GAAtnB,EAAs/B;AAACqkB,OAAG,EAAC,wBAAL;AAA8BC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAI,IAAI5lC,CAAC,GAAC4lC,CAAC,CAAC+qE,aAAF,GAAgB1xG,CAAC,CAAC0xG,aAAlB,GAAgC,CAA1C,EAA4C,KAAG3wG,CAA/C,EAAiDA,CAAC,EAAlD,EAAqD;AAAC,YAAIu5B,CAAC,GAACt6B,CAAC,CAACsxG,QAAF,CAAWvwG,CAAX,CAAN;;AAAoB,YAAGu5B,CAAC,IAAE,eAAa,OAAOA,CAAC,CAAC9Y,KAA5B,EAAkC;AAACmlB,WAAC,CAAC6uG,QAAF,GAAW;AAAC9jC,yBAAa,EAAC1xG,CAAC,CAAC0xG,aAAF,GAAgB3wG,CAA/B;AAAiC6O,gBAAI,EAAC0qB,CAAC,CAAC9Y;AAAxC,WAAX,EAA0D,KAAKsvH,OAAL,CAAa,kCAAgCnqG,CAAC,CAAC6uG,QAAF,CAAW5lI,IAA3C,GAAgD,mBAAhD,GAAoE+2B,CAAC,CAAC6uG,QAAF,CAAW9jC,aAA/E,GAA6F,GAA1G,CAA1D,EAAyK,KAAKnsG,OAAL,CAAa,gBAAb,CAAzK;AAAwM;AAAM;AAAC;AAAC;AAA/W,GAAt/B,EAAu2C;AAAC6f,OAAG,EAAC,oBAAL;AAA0BC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAG,CAAC,KAAK26I,qBAAN,IAA6B36I,CAAC,CAACsxG,QAA/B,IAAyCtxG,CAAC,CAACsxG,QAAF,CAAWpuG,MAApD,IAA4DlD,CAAC,CAACsxG,QAAF,CAAW,CAAX,EAAcnB,cAA7E,EAA4F;AAAC,YAAIxpE,CAAC,GAAC3mC,CAAC,CAACsxG,QAAF,CAAW,CAAX,EAAcnB,cAAd,CAA6BquB,OAA7B,KAAuC,GAA7C;AAAiD,aAAKmc,qBAAL,GAA2B,CAACh0G,CAA5B;AAA8B;AAAC;AAAzN,GAAv2C,EAAkkD;AAACvhB,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,iBAAU;AAAC,WAAK81H,aAAL,GAAmB,KAAK,CAAxB;AAA0B;AAAxD,GAAlkD,EAA4nD;AAAC/1H,OAAG,EAAC,kBAAL;AAAwBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC2wG,OAAR;AAAA,UAAgB5vG,CAAC,GAACf,CAAC,CAACiW,QAApB;AAAA,UAA6BqkB,CAAC,GAAC,KAAK,CAApC;AAAsC,aAAM,CAACA,CAAC,GAACqM,CAAC,CAAC1d,GAAF,GAAM,KAAKmyH,gBAAL,CAAsBp7I,CAAtB,CAAN,GAA+B,KAAKq7I,eAAL,CAAqBr7I,CAArB,CAAlC,KAA4D,KAAKs7I,4BAAL,CAAkCt7I,CAAlC,EAAoCs6B,CAApC,CAA5D,KAAqG,KAAKihH,0BAAL,CAAgCv7I,CAAhC,GAAmCe,CAAC,CAACy0I,QAAF,KAAaz0I,CAAC,CAACy0I,QAAF,GAAW;AAAC9jC,qBAAa,EAAC3wG,CAAC,CAAC2wG,aAAF,GAAgB1xG,CAAC,CAACsgI,UAAjC;AAA4C1wH,YAAI,EAAC+2B,CAAC,CAACnlB;AAAnD,OAAxB,CAAxI,GAA4N8Y,CAAlO;AAAoO;AAApT,GAA5nD,EAAk7D;AAAClV,OAAG,EAAC,kBAAL;AAAwBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAAC2wG,OAAR;AAAA,UAAgB5vG,CAAC,GAAC8uH,EAAE,CAACjP,SAAH,CAAaj6E,CAAC,CAAC1d,GAAF,CAAM20G,KAAnB,CAAlB;AAAA,UAA4CtjG,CAAC,GAACu1F,EAAE,CAACC,oBAAH,CAAwB/uH,CAAxB,EAA0Bf,CAAC,CAAC49H,KAA5B,CAA9C;AAAiF,aAAO,SAAO59H,CAAC,CAAC0/H,eAAT,KAA2B1/H,CAAC,CAAC0/H,eAAF,IAAmBplG,CAA9C,GAAiD;AAAC9Y,aAAK,EAAC8Y,CAAP;AAAS5Q,WAAG,EAAC4Q,CAAC,GAACqM,CAAC,CAACrnB;AAAjB,OAAxD;AAAmF;AAA9M,GAAl7D,EAAkoE;AAAC8F,OAAG,EAAC,iBAAL;AAAuBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC8zG,EAAE,CAACz6I,CAAC,CAAC49H,KAAH,EAAS,KAAKud,aAAd,CAAR;AAAA,UAAqCp6I,CAAC,GAAC,KAAK,CAA5C;AAAA,UAA8Cu5B,CAAC,GAAC,KAAK,CAArD;AAAA,UAAuDwmC,CAAC,GAAC,KAAK,CAA9D;AAAgE,aAAOn6B,CAAC,IAAEA,CAAC,CAACq1C,KAAF,IAAS,MAAIr1C,CAAC,CAACq1C,KAAF,CAAQ94E,MAArB,IAA6B,KAAKi4I,aAAL,GAAmBx0G,CAAC,CAACq1C,KAAF,CAAQ,CAAR,EAAWm1C,GAA9B,EAAkCpwH,CAAC,GAAC4lC,CAAC,CAACq1C,KAAF,CAAQ,CAAR,EAAWq8C,OAA/C,EAAuD/9F,CAAC,GAACqM,CAAC,CAACq1C,KAAF,CAAQ,CAAR,EAAWq8C,OAApE,EAA4Ev3D,CAAC,GAACn6B,CAAC,CAACq1C,KAA7G,IAAoHr1C,CAAC,CAACi1C,KAAF,IAAS,MAAIj1C,CAAC,CAACi1C,KAAF,CAAQ14E,MAArB,KAA8B,KAAKi4I,aAAL,GAAmBx0G,CAAC,CAACi1C,KAAF,CAAQ,CAAR,EAAWu1C,GAA9B,EAAkCpwH,CAAC,GAAC4lC,CAAC,CAACi1C,KAAF,CAAQ,CAAR,EAAWy8C,OAA/C,EAAuD/9F,CAAC,GAACqM,CAAC,CAACi1C,KAAF,CAAQ,CAAR,EAAWy8C,OAApE,EAA4Ev3D,CAAC,GAACn6B,CAAC,CAACi1C,KAA9G,CAApH,EAAyO;AAAC28D,4BAAoB,EAACz3E,CAAtB;AAAwBt/C,aAAK,EAACzgB,CAA9B;AAAgC2oB,WAAG,EAAC4Q,CAApC;AAAsC+9G,qBAAa,EAAC1xG,CAAC,CAACq1C,KAAF,IAAS,MAAIr1C,CAAC,CAACq1C,KAAF,CAAQ94E,MAAzE;AAAgFk1I,qBAAa,EAACzxG,CAAC,CAACi1C,KAAF,IAAS,MAAIj1C,CAAC,CAACi1C,KAAF,CAAQ14E;AAAnH,OAA3O,IAAuW,IAA/W;AAAoX;AAA7d,GAAloE,EAAimF;AAACkiB,OAAG,EAAC,4BAAL;AAAkCC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,aAAM,eAAa,OAAO,KAAKo6I,SAAL,CAAep6I,CAAf,CAApB,GAAsC,IAAtC,GAA2C,KAAKo6I,SAAL,CAAep6I,CAAf,EAAkB4P,IAAnE;AAAwE;AAA5H,GAAjmF,EAA+tF;AAACwV,OAAG,EAAC,oBAAL;AAA0BC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,aAAM,eAAa,OAAO,KAAKo6I,SAAL,CAAep6I,CAAf,CAApB,GAAsC,IAAtC,GAA2C,KAAKo6I,SAAL,CAAep6I,CAAf,EAAkBiuI,OAAnE;AAA2E;AAAvH,GAA/tF,EAAw1F;AAAC7oH,OAAG,EAAC,8BAAL;AAAoCC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAACf,CAAC,CAAC2wG,OAAR;AAAA,UAAgBr2E,CAAC,GAAC,KAAK8/G,SAAL,CAAep6I,CAAC,CAAC4zG,QAAjB,CAAlB;AAA6C,UAAG,SAAO5zG,CAAC,CAAC0/H,eAAZ,EAA4BplG,CAAC,GAAC;AAAC1qB,YAAI,EAAC5P,CAAC,CAACy2I,cAAR;AAAuBxI,eAAO,EAACjuI,CAAC,CAACy2I,cAAF,GAAiB9vG,CAAC,CAACnlB;AAAlD,OAAF,EAA2D,KAAK44H,SAAL,CAAep6I,CAAC,CAAC4zG,QAAjB,IAA2Bt5E,CAAtF,EAAwF,KAAK/0B,OAAL,CAAa,iBAAb,CAAxF,EAAwH,KAAKurI,OAAL,CAAa,+BAA6B9wI,CAAC,CAAC4zG,QAA/B,GAAwC,WAAxC,GAAoDt5E,CAAC,CAAC1qB,IAAtD,GAA2D,cAA3D,GAA0E0qB,CAAC,CAAC2zG,OAA5E,GAAoF,GAAjG,CAAxH,EAA8NltI,CAAC,CAACygB,KAAF,GAAQxhB,CAAC,CAACy2I,cAAxO,EAAuP11I,CAAC,CAAC2oB,GAAF,GAAMid,CAAC,CAACjd,GAAF,GAAM4Q,CAAC,CAAC2zG,OAArQ,CAA5B,KAA6S;AAAC,YAAG,CAAC3zG,CAAJ,EAAM,OAAM,CAAC,CAAP;AAASv5B,SAAC,CAACygB,KAAF,GAAQmlB,CAAC,CAACnlB,KAAF,GAAQ8Y,CAAC,CAAC2zG,OAAlB,EAA0BltI,CAAC,CAAC2oB,GAAF,GAAMid,CAAC,CAACjd,GAAF,GAAM4Q,CAAC,CAAC2zG,OAAxC;AAAgD;AAAA,aAAM,CAAC,CAAP;AAAS;AAA3d,GAAx1F,EAAqzG;AAAC7oH,OAAG,EAAC,4BAAL;AAAkCC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC3mC,CAAC,CAACiW,QAAR;AAAA,UAAiBlV,CAAC,GAACf,CAAC,CAAC2wG,OAArB;AAA6B,UAAG5vG,CAAC,CAACmyG,aAAL,EAAmB,KAAK0nC,eAAL,CAAqB75I,CAAC,CAAC6yG,QAAvB,IAAiC;AAAChkG,YAAI,EAAC7O,CAAC,CAACygB,KAAR;AAAcg6H,gBAAQ,EAAC;AAAvB,OAAjC,CAAnB,KAAmF,IAAG70G,CAAC,CAAC0qE,mBAAF,IAAuB1qE,CAAC,CAAC0qE,mBAAF,CAAsBnuG,MAAhD,EAAuD,KAAI,IAAIo3B,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACqM,CAAC,CAAC0qE,mBAAF,CAAsBnuG,MAApC,EAA2Co3B,CAAC,EAA5C,EAA+C;AAAC,YAAIwmC,CAAC,GAACn6B,CAAC,CAAC0qE,mBAAF,CAAsB/2E,CAAtB,CAAN;AAAA,YAA+B5V,CAAC,GAACiiB,CAAC,CAACgrE,qBAAF,GAAwBr3E,CAAxB,GAA0B,CAA3D;AAAA,YAA6Dlf,CAAC,GAAC0lD,CAAC,GAAC9gE,CAAC,CAACsgI,UAAnE;AAAA,YAA8E3/D,CAAC,GAAChgD,IAAI,CAACkmC,GAAL,CAASzrC,CAAT,CAAhF;;AAA4F,YAAG,CAAC,KAAKw/H,eAAL,CAAqBl2H,CAArB,CAAD,IAA0B,KAAKk2H,eAAL,CAAqBl2H,CAArB,EAAwB82H,QAAxB,GAAiC76E,CAA9D,EAAgE;AAAC,cAAIC,CAAC,GAAC,KAAK,CAAX;AAAaA,WAAC,GAACxlD,CAAC,GAAC,CAAF,GAAIra,CAAC,CAACygB,KAAF,GAAQu6G,EAAE,CAACp1F,CAAD,EAAG3mC,CAAC,CAACsgI,UAAL,EAAgBx/D,CAAhB,CAAd,GAAiC//D,CAAC,CAAC2oB,GAAF,GAAMqyG,EAAE,CAACp1F,CAAD,EAAG3mC,CAAC,CAACsgI,UAAF,GAAa,CAAhB,EAAkBx/D,CAAlB,CAA3C,EAAgE,KAAK85E,eAAL,CAAqBl2H,CAArB,IAAwB;AAAC9U,gBAAI,EAACgxD,CAAN;AAAQ46E,oBAAQ,EAAC76E;AAAjB,WAAxF;AAA4G;AAAC;AAAC;AAAniB,GAArzG,EAA01H;AAACv7C,OAAG,EAAC,SAAL;AAAeC,SAAK,EAAC,iBAAU;AAAC,WAAK9f,OAAL,CAAa,SAAb,GAAwB,KAAKnD,GAAL,EAAxB;AAAmC;AAAnE,GAA11H,CAAJ,CAAxB,EAA67H04I,EAA/7H,CAAjvC;;AAAorK,WAASA,EAAT,GAAa;AAAC/gB,MAAE,CAAC,IAAD,EAAM+gB,EAAN,CAAF;AAAY,QAAI96I,CAAC,GAACm6H,EAAE,CAAC,IAAD,EAAM,CAAC2gB,EAAE,CAACr3E,SAAH,IAAcj9D,MAAM,CAACogB,cAAP,CAAsBk0H,EAAtB,CAAf,EAA0Cn1I,IAA1C,CAA+C,IAA/C,CAAN,CAAR;AAAoE,WAAO3F,CAAC,CAACm7I,aAAF,GAAgB,KAAK,CAArB,EAAuBn7I,CAAC,CAACo6I,SAAF,GAAY,EAAnC,EAAsCp6I,CAAC,CAAC46I,eAAF,GAAkB,EAAxD,EAA2D56I,CAAC,CAAC26I,qBAAF,GAAwB,IAAnF,EAAwF36I,CAAC,CAAC8wI,OAAF,GAAUN,EAAE,CAAC,gBAAD,CAApG,EAAuHxwI,CAA9H;AAAgI;;AAAA,WAASy7I,EAAT,CAAYz7I,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC3mC,KAAC,CAAC6+C,KAAF,IAAU7+C,CAAC,CAAC0M,KAAF,EAAV,EAAoBi6B,CAAC,IAAEA,CAAC,CAAC+0G,oBAAL,KAA4B/0G,CAAC,CAAC+0G,oBAAF,CAAuBhvI,KAAvB,IAA+Bi6B,CAAC,CAAC+0G,oBAAF,GAAuB,IAAlF,CAApB;AAA4G;;AAAA,WAASC,EAAT,CAAY37I,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,KAACA,CAAC,CAAC+0G,oBAAF,GAAuB17I,CAAxB,EAA2B8oC,IAA3B;AAAkC;;AAAA,WAAS8yG,EAAT,CAAYj1G,CAAZ,EAAc;AAAC,KAAC,OAAD,EAAS,WAAT,EAAqB,iBAArB,EAAwC59B,OAAxC,CAAgD,UAAS/I,CAAT,EAAW;AAAC67I,QAAE,CAAC77I,CAAD,CAAF,CAAMA,CAAN,EAAQ2mC,CAAR;AAAW,KAAvE;AAAyE,QAAI5lC,CAAC,GAAC4lC,CAAC,CAACm1G,UAAR;AAAA,QAAmB97I,CAAC,GAAC2mC,CAAC,CAACo1G,oBAAvB;AAAA,QAA4CzhH,CAAC,GAACqM,CAAC,CAAC8zC,IAAhD;AAAA,QAAqD3Z,CAAC,GAACn6B,CAAC,CAACsyG,GAAzD;AAA6D,KAAC,OAAD,EAAS,WAAT,EAAsBlwI,OAAtB,CAA8B,UAAS/I,CAAT,EAAW;AAACe,OAAC,CAACf,CAAD,CAAD,CAAKg8I,WAAL,GAAiB,UAASt3H,CAAT,EAAWtJ,CAAX,EAAa;AAAC,eAAO,UAASurB,CAAT,EAAW;AAAC,cAAI3mC,CAAC,GAACob,CAAC,CAAC2gI,oBAAR;AAAA,cAA6Bh7I,CAAC,GAACqa,CAAC,CAAC0gI,UAAF,CAAap3H,CAAb,EAAgBgL,MAA/C;AAAA,cAAsD4K,CAAC,GAACt6B,CAAC,CAACylD,KAAF,EAAxD;AAAkE,cAAG,CAACnrB,CAAJ,EAAM,OAAO,IAAP;AAAY,cAAIwmC,CAAC,GAAC,IAAN;AAAW,iBAAOxmC,CAAC,CAAC/zB,UAAF,CAAame,CAAb,MAAkBo8C,CAAC,GAAC//D,CAAC,CAACu5B,CAAC,CAAC/zB,UAAF,CAAame,CAAb,CAAD,CAArB,GAAwCo8C,CAAC,GAACA,CAAC,IAAE//D,CAAC,CAACq2E,IAA/C,EAAoD,eAAa,OAAOzwC,CAApB,GAAsBm6B,CAAtB,GAAwB,SAAOn6B,CAAP,GAAS,IAAT,GAAcm6B,CAAC,CAAC18D,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,mBAAOA,CAAC,CAACiB,EAAF,KAAO0lC,CAAC,CAAC1lC,EAAhB;AAAmB,WAAxC,EAA0C,CAA1C,KAA8C,IAA/I;AAAoJ,SAAtQ;AAAuQ,OAArR,CAAsRjB,CAAtR,EAAwR2mC,CAAxR,CAAjB,EAA4S5lC,CAAC,CAACf,CAAD,CAAD,CAAKi8I,WAAL,GAAiBC,EAAE,CAACl8I,CAAD,CAAF,CAAMA,CAAN,EAAQ2mC,CAAR,CAA7T,EAAwU5lC,CAAC,CAACf,CAAD,CAAD,CAAKm8I,cAAL,GAAoB,UAASx7E,CAAT,EAAWC,CAAX,EAAa;AAAC,eAAO,YAAU;AAAC,cAAI5gE,CAAC,GAAC4gE,CAAC,CAACw7E,cAAR;AAAA,cAAuBz1G,CAAC,GAAC3mC,CAAC,CAAC2gE,CAAD,CAA1B;AAAA,cAA8B5/D,CAAC,GAACf,CAAC,CAACo3E,IAAlC;AAAA,cAAuC98C,CAAC,GAACsmC,CAAC,CAACk7E,UAAF,CAAan7E,CAAb,CAAzC;AAAA,cAAyDG,CAAC,GAACxmC,CAAC,CAAC2hH,WAAF,EAA3D;AAAA,cAA2Ev3H,CAAC,GAAC4V,CAAC,CAAC0hH,WAAF,CAAcl7E,CAAd,CAA7E;AAAA,cAA8F1lD,CAAC,GAACkf,CAAC,CAACohH,oBAAlG;AAAuHD,YAAE,CAAC90G,CAAD,EAAGrM,CAAH,CAAF,EAAQ5V,CAAC,KAAGA,CAAC,CAAC23H,cAAF,IAAkB11G,CAAC,CAAC+uG,YAAF,IAAiBiG,EAAE,CAACj3H,CAAC,CAAC23H,cAAH,EAAkB/hH,CAAlB,CAArC,IAA2Dlf,CAAC,IAAEra,CAAC,CAACu0I,eAAF,EAAjE,CAAT;AAA+F,SAAxO;AAAyO,OAAvP,CAAwPt1I,CAAxP,EAA0P2mC,CAA1P,CAA5V,EAAylB5lC,CAAC,CAACf,CAAD,CAAD,CAAKs8I,cAAL,GAAoB,UAAS37E,CAAT,EAAWC,CAAX,EAAa;AAAC,eAAO,YAAU;AAAC,cAAI5gE,CAAC,GAAC4gE,CAAC,CAACw7E,cAAR;AAAA,cAAuBz1G,CAAC,GAAC3mC,CAAC,CAAC2gE,CAAD,CAA1B;AAAA,cAA8B5/D,CAAC,GAACf,CAAC,CAACo3E,IAAlC;AAAA,cAAuC98C,CAAC,GAACsmC,CAAC,CAACk7E,UAAF,CAAan7E,CAAb,CAAzC;AAAA,cAAyDG,CAAC,GAACxmC,CAAC,CAAC2hH,WAAF,EAA3D;AAAA,cAA2Ev3H,CAAC,GAAC4V,CAAC,CAAC0hH,WAAF,CAAcl7E,CAAd,CAA7E;AAAA,cAA8F1lD,CAAC,GAACkf,CAAC,CAACohH,oBAAlG;AAAuHD,YAAE,CAAC90G,CAAD,EAAGrM,CAAH,CAAF,EAAQ5V,CAAC,KAAGA,CAAC,CAAC23H,cAAF,IAAkBjhI,CAAC,KAAGsJ,CAAC,CAAC23H,cAAN,KAAuB11G,CAAC,CAAC6pC,KAAF,IAAS7pC,CAAC,CAAC6pC,KAAF,CAAQ1P,CAAR,CAAT,EAAoBn6B,CAAC,CAAC2uG,eAAF,EAA3C,GAAgEqG,EAAE,CAACj3H,CAAC,CAAC23H,cAAH,EAAkB/hH,CAAlB,CAApF,IAA0Gv5B,CAAC,CAACu0I,eAAF,EAA7G,CAAT;AAA2I,SAApR;AAAqR,OAAnS,CAAoSt1I,CAApS,EAAsS2mC,CAAtS,CAA7mB;AAAs5B,KAAh8B;AAAk8B,QAAIjiB,CAAC,GAAC3jB,CAAC,CAACiwG,KAAF,CAAQgrC,WAAR,EAAN;AAAA,QAA4B5gI,CAAC,GAAC,CAACsJ,CAAC,CAACtgB,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,aAAOA,CAAC,WAAR;AAAiB,KAAtC,EAAwC,CAAxC,KAA4C0kB,CAAC,CAAC,CAAD,CAA9C,EAAmDzjB,EAAjF;;AAAoF,aAAS0/D,CAAT,GAAY;AAAC5/D,OAAC,CAACiwG,KAAF,CAAQsrC,cAAR,IAAyBhiH,CAAC,CAAC/0B,OAAF,CAAU;AAACgL,YAAI,EAAC,OAAN;AAAcqZ,YAAI,EAAC;AAAnB,OAAV,CAAzB;AAA2E;;AAAA,SAAI,IAAIg3C,CAAR,IAAa7/D,CAAC,CAACiwG,KAAF,CAAQxlB,MAAR,CAAepwE,CAAf,EAAkBk6D,OAAlB,GAA0B,CAAC,CAA3B,EAA6Bv0E,CAAC,CAACiwG,KAAF,CAAQsrC,cAAR,EAA7B,EAAsDt8I,CAAC,CAACqC,EAAF,CAAK,aAAL,EAAmB,YAAU;AAAC,OAAC,OAAD,EAAS,WAAT,EAAsB0G,OAAtB,CAA8B,UAAS/I,CAAT,EAAW;AAAC,eAAOe,CAAC,CAACf,CAAD,CAAD,CAAKm8I,cAAL,EAAP;AAA6B,OAAvE;AAAyE,KAAvG,CAAtD,EAA+J7hH,CAAC,CAACk9D,WAAF,GAAgB5+E,gBAAhB,CAAiC,QAAjC,EAA0C+nD,CAA1C,CAA/J,EAA4MrmC,CAAC,CAAC2qD,gBAAF,GAAqBrsE,gBAArB,CAAsC,QAAtC,EAA+C7X,CAAC,CAACmwG,SAAF,CAAYorC,cAA3D,CAA5M,EAAuRx7E,CAAC,CAACz+D,EAAF,CAAK,SAAL,EAAe,YAAU;AAACi4B,OAAC,CAACk9D,WAAF,GAAgBx4E,mBAAhB,CAAoC,QAApC,EAA6C2hD,CAA7C,GAAgDrmC,CAAC,CAAC2qD,gBAAF,GAAqBjmE,mBAArB,CAAyC,QAAzC,EAAkDje,CAAC,CAACmwG,SAAF,CAAYorC,cAA9D,CAAhD;AAA8H,KAAxJ,CAAvR,EAAibhiH,CAAC,CAACqqD,WAAF,CAAc,OAAd,CAAjb,EAAwc5jF,CAAC,CAACiwG,KAAF,CAAQxlB,MAA7d;AAAoelxD,OAAC,CAACk9D,WAAF,GAAgB1iB,QAAhB,CAAyB/zE,CAAC,CAACiwG,KAAF,CAAQxlB,MAAR,CAAe5qB,CAAf,CAAzB;AAApe;AAAghB;;AAAA,MAAI27E,EAAE,GAAC,IAAIna,EAAJ,CAAO,8BAAP,EAAsC,UAASpiI,CAAT,EAAW2mC,CAAX,EAAa;AAAC,QAAI5lC,CAAJ;AAAA,QAAMygE,CAAN;AAAA,QAAQE,CAAR;AAAA,QAAUpnC,CAAV;AAAA,QAAYwmC,CAAZ;AAAA,QAAcF,CAAd;AAAA,QAAgBxlD,CAAhB;AAAA,QAAkBsJ,CAAC,GAAC,IAApB;AAAyB3jB,KAAC,GAAC,WAASf,CAAT,EAAW2mC,CAAX,EAAa5lC,GAAb,EAAe;AAAC,aAAO4lC,CAAC,IAAEg6B,CAAC,CAAC3gE,CAAC,CAAC+Z,SAAH,EAAa4sB,CAAb,CAAJ,EAAoB5lC,GAAC,IAAE4/D,CAAC,CAAC3gE,CAAD,EAAGe,GAAH,CAAxB,EAA8Bf,CAArC;AAAuC,KAAzD,EAA0DwhE,CAAC,GAAC,IAA5D,EAAiEd,CAAC,CAAC3mD,SAAF,CAAY8+G,OAAZ,GAAoB,UAAS74H,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiBwmC,CAAjB,EAAmBp8C,CAAnB,EAAqB;AAAC,UAAItJ,CAAC,GAAC,KAAKilB,IAAL,CAAU,CAAV,CAAN;AAAA,UAAmBsgC,CAAC,GAAC3gE,CAAC,GAACob,CAAC,CAAC,CAAD,CAAxB;AAAA,UAA4BwlD,CAAC,GAACtmC,CAAC,GAAClf,CAAC,CAAC,CAAD,CAAjC;AAAA,UAAqCggB,CAAC,GAACr6B,CAAC,GAACqa,CAAC,CAAC,CAAD,CAA1C;AAAA,UAA8ComD,CAAC,GAAC76B,CAAC,GAACvrB,CAAC,CAAC,CAAD,CAAnD;AAAA,UAAuDqlD,CAAC,GAAC,KAAK,CAA9D;AAAA,UAAgEC,CAAC,GAAC,KAAK,CAAvE;AAAA,UAAyEttB,CAAC,GAAC,KAAK,CAAhF;AAAA,UAAkFkuB,CAAC,GAAClmD,CAAC,CAAClY,MAAF,GAAS,CAAT,GAAW,CAA/F;AAAA,UAAiGqsB,CAAC,GAAC,KAAK,CAAxG;AAAA,UAA0GmyC,CAAC,GAAC,CAA5G;AAAA,UAA8GzkC,CAAC,GAAC,KAAK67F,OAAL,CAAa,CAAb,CAAhH;AAAA,UAAgIx2G,CAAC,GAAC2a,CAAC,CAAC,CAAD,CAAnI;AAAA,UAAuId,CAAC,GAACc,CAAC,CAAC,CAAD,CAA1I;AAAA,UAA8I5hB,CAAC,GAAC4hB,CAAC,CAAC,CAAD,CAAjJ;AAAA,UAAqJ0kC,CAAC,GAAC1kC,CAAC,CAAC,CAAD,CAAxJ;AAAA,UAA4J2kC,CAAC,GAAC3kC,CAAC,CAAC,CAAD,CAA/J;;AAAmK,WAAI1N,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC+xC,CAAV,EAAY/xC,CAAC,EAAb;AAAgBkxC,SAAC,GAACn+C,CAAC,CAACq+C,CAAC,KAAG,EAAL,CAAD,GAAUxkC,CAAC,CAACykC,CAAC,IAAE,EAAH,GAAM,GAAP,CAAX,GAAuBvlD,CAAC,CAAC+f,CAAC,IAAE,CAAH,GAAK,GAAN,CAAxB,GAAmCumC,CAAC,CAAC,MAAIH,CAAL,CAApC,GAA4CpmD,CAAC,CAACsmD,CAAD,CAA/C,EAAmDhB,CAAC,GAACp+C,CAAC,CAACs+C,CAAC,KAAG,EAAL,CAAD,GAAUzkC,CAAC,CAACf,CAAC,IAAE,EAAH,GAAM,GAAP,CAAX,GAAuB/f,CAAC,CAACmmD,CAAC,IAAE,CAAH,GAAK,GAAN,CAAxB,GAAmCG,CAAC,CAAC,MAAIhB,CAAL,CAApC,GAA4CvlD,CAAC,CAACsmD,CAAC,GAAC,CAAH,CAAlG,EAAwGtuB,CAAC,GAAC9wB,CAAC,CAAC8Y,CAAC,KAAG,EAAL,CAAD,GAAUe,CAAC,CAACqlC,CAAC,IAAE,EAAH,GAAM,GAAP,CAAX,GAAuBnmD,CAAC,CAACslD,CAAC,IAAE,CAAH,GAAK,GAAN,CAAxB,GAAmCgB,CAAC,CAAC,MAAIf,CAAL,CAApC,GAA4CxlD,CAAC,CAACsmD,CAAC,GAAC,CAAH,CAAvJ,EAA6JF,CAAC,GAACl/C,CAAC,CAACk/C,CAAC,KAAG,EAAL,CAAD,GAAUrlC,CAAC,CAACwkC,CAAC,IAAE,EAAH,GAAM,GAAP,CAAX,GAAuBtlD,CAAC,CAACulD,CAAC,IAAE,CAAH,GAAK,GAAN,CAAxB,GAAmCe,CAAC,CAAC,MAAIvmC,CAAL,CAApC,GAA4ChgB,CAAC,CAACsmD,CAAC,GAAC,CAAH,CAA5M,EAAkNA,CAAC,IAAE,CAArN,EAAuNf,CAAC,GAACF,CAAzN,EAA2NG,CAAC,GAACF,CAA7N,EAA+NtlC,CAAC,GAACgY,CAAjO;AAAhB;;AAAmP,WAAI7jB,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,CAAV,EAAYA,CAAC,EAAb;AAAgBuxC,SAAC,CAAC,CAAC,IAAE,CAACvxC,CAAJ,IAAO7K,CAAR,CAAD,GAAYk9C,CAAC,CAACjB,CAAC,KAAG,EAAL,CAAD,IAAW,EAAX,GAAciB,CAAC,CAAChB,CAAC,IAAE,EAAH,GAAM,GAAP,CAAD,IAAc,EAA5B,GAA+BgB,CAAC,CAACxmC,CAAC,IAAE,CAAH,GAAK,GAAN,CAAD,IAAa,CAA5C,GAA8CwmC,CAAC,CAAC,MAAIJ,CAAL,CAA/C,GAAuDpmD,CAAC,CAACsmD,CAAC,EAAF,CAApE,EAA0EjB,CAAC,GAACE,CAA5E,EAA8EA,CAAC,GAACC,CAAhF,EAAkFA,CAAC,GAACxlC,CAApF,EAAsFA,CAAC,GAAComC,CAAxF,EAA0FA,CAAC,GAACf,CAA5F;AAAhB;AAA8G,KAA/mB,EAAgnBiB,CAAC,GAAChB,CAAlnB,EAAonBtlC,CAAC,CAACrhB,SAAF,CAAY1X,EAAZ,GAAe,UAASrC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAKxsB,SAAL,CAAena,CAAf,MAAoB,KAAKma,SAAL,CAAena,CAAf,IAAkB,EAAtC,GAA0C,KAAKma,SAAL,CAAena,CAAf,EAAkBuD,IAAlB,CAAuBojC,CAAvB,CAA1C;AAAoE,KAArtB,EAAstBvL,CAAC,CAACrhB,SAAF,CAAY3X,GAAZ,GAAgB,UAASpC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,CAAC,KAAKxsB,SAAL,CAAena,CAAf,CAAJ,EAAsB,OAAM,CAAC,CAAP;AAAS,UAAIe,CAAC,GAAC,KAAKoZ,SAAL,CAAena,CAAf,EAAkBmB,OAAlB,CAA0BwlC,CAA1B,CAAN;AAAmC,aAAO,KAAKxsB,SAAL,CAAena,CAAf,EAAkBwa,MAAlB,CAAyBzZ,CAAzB,EAA2B,CAA3B,GAA8B,CAAC,CAAD,GAAGA,CAAxC;AAA0C,KAAh2B,EAAi2Bq6B,CAAC,CAACrhB,SAAF,CAAYxU,OAAZ,GAAoB,UAASvF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAKoZ,SAAL,CAAena,CAAf,CAAN;AAAwB,UAAGe,CAAH,EAAK,IAAG,MAAImoB,SAAS,CAAChmB,MAAjB,EAAwB,KAAI,IAAIo3B,CAAC,GAACv5B,CAAC,CAACmC,MAAR,EAAe49D,CAAC,GAAC,CAArB,EAAuBA,CAAC,GAACxmC,CAAzB,EAA2B,EAAEwmC,CAA7B;AAA+B//D,SAAC,CAAC+/D,CAAD,CAAD,CAAKn7D,IAAL,CAAU,IAAV,EAAeghC,CAAf;AAA/B,OAAxB,MAA8E,KAAI,IAAIjiB,CAAC,GAAClJ,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2BujB,SAA3B,EAAqC,CAArC,CAAN,EAA8C9N,CAAC,GAACra,CAAC,CAACmC,MAAlD,EAAyDy9D,CAAC,GAAC,CAA/D,EAAiEA,CAAC,GAACvlD,CAAnE,EAAqE,EAAEulD,CAAvE;AAAyE5/D,SAAC,CAAC4/D,CAAD,CAAD,CAAKj7D,KAAL,CAAW,IAAX,EAAgBgf,CAAhB;AAAzE;AAA4F,KAA1kC,EAA2kC0W,CAAC,CAACrhB,SAAF,CAAYtI,OAAZ,GAAoB,YAAU;AAAC,WAAK0I,SAAL,GAAe,EAAf;AAAkB,KAA5nC,EAA6nCihB,CAAC,CAACrhB,SAAF,CAAY4jB,IAAZ,GAAiB,UAASgJ,CAAT,EAAW;AAAC,WAAKtkC,EAAL,CAAQ,MAAR,EAAe,UAASrC,CAAT,EAAW;AAAC2mC,SAAC,CAACpjC,IAAF,CAAOvD,CAAP;AAAU,OAArC;AAAuC,KAAjsC,EAAksC,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAG,cAAY,OAAOA,CAAnB,IAAsB,SAAOA,CAAhC,EAAkC,MAAM,IAAIpI,SAAJ,CAAc,qEAAkEoI,CAAlE,CAAd,CAAN;AAAyF3mC,OAAC,CAAC+Z,SAAF,GAAYvT,MAAM,CAACgW,MAAP,CAAcmqB,CAAC,IAAEA,CAAC,CAAC5sB,SAAnB,EAA6B;AAACyO,mBAAW,EAAC;AAACnD,eAAK,EAACrlB,CAAP;AAAS4oC,oBAAU,EAAC,CAAC,CAArB;AAAuBC,kBAAQ,EAAC,CAAC,CAAjC;AAAmC1H,sBAAY,EAAC,CAAC;AAAjD;AAAb,OAA7B,CAAZ,EAA4GwF,CAAC,KAAGngC,MAAM,CAAC6lE,cAAP,GAAsB7lE,MAAM,CAAC6lE,cAAP,CAAsBrsE,CAAtB,EAAwB2mC,CAAxB,CAAtB,GAAiD3mC,CAAC,CAACyjE,SAAF,GAAY98B,CAAhE,CAA7G;AAAgL,KAAzT,CAA0TyM,CAA1T,EAA4T0tB,CAAC,GAACxmC,CAAC,GAACc,CAAhU,CAAlsC,EAAqgDgY,CAAC,CAACr5B,SAAF,CAAYq/G,WAAZ,GAAwB,YAAU;AAAC,WAAKC,IAAL,CAAU7oG,KAAV,MAAoB,KAAK6oG,IAAL,CAAUn2H,MAAV,GAAiB,KAAKo2H,QAAL,GAAcxjH,UAAU,CAAC,KAAKsjH,WAAL,CAAiB78G,IAAjB,CAAsB,IAAtB,CAAD,EAA6B,KAAKu6B,KAAlC,CAAzC,GAAkF,KAAKwiF,QAAL,GAAc,IAApH;AAAyH,KAAjqD,EAAkqDlmF,CAAC,CAACr5B,SAAF,CAAYxW,IAAZ,GAAiB,UAASvD,CAAT,EAAW;AAAC,WAAKq5H,IAAL,CAAU91H,IAAV,CAAevD,CAAf,GAAkB,KAAKs5H,QAAL,KAAgB,KAAKA,QAAL,GAAcxjH,UAAU,CAAC,KAAKsjH,WAAL,CAAiB78G,IAAjB,CAAsB,IAAtB,CAAD,EAA6B,KAAKu6B,KAAlC,CAAxC,CAAlB;AAAoG,KAAnyD,EAAoyD8pB,CAAC,GAACxtB,CAAtyD,EAAwyDkuB,CAAC,CAACvnD,SAAF,CAAY2/G,aAAZ,GAA0B,UAAS/yF,CAAT,EAAW5lC,CAAX,EAAau5B,CAAb,EAAewmC,CAAf,EAAiB;AAAC,aAAO,YAAU;AAAC,YAAI9gE,CAAC,GAAC,UAASA,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,cAAIu5B,CAAC,GAAC,IAAIk/F,UAAJ,CAAex5H,CAAC,CAAC2L,MAAjB,EAAwB3L,CAAC,CAACknH,UAA1B,EAAqClnH,CAAC,CAACmnH,UAAF,IAAc,CAAnD,CAAN;AAAA,cAA4DrmD,CAAC,GAAC,IAAIY,CAAJ,CAAMlmD,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2BghC,CAA3B,CAAN,CAA9D;AAAA,cAAmGjiB,CAAC,GAAC,IAAI0tF,UAAJ,CAAepyG,CAAC,CAACmnH,UAAjB,CAArG;AAAA,cAAkI/rG,CAAC,GAAC,IAAIo+G,UAAJ,CAAe90G,CAAC,CAAC/Y,MAAjB,CAApI;AAAA,cAA6Jg1D,CAAC,GAAC,KAAK,CAApK;AAAA,cAAsKC,CAAC,GAAC,KAAK,CAA7K;AAAA,cAA+KxlC,CAAC,GAAC,KAAK,CAAtL;AAAA,cAAwLomC,CAAC,GAAC,KAAK,CAA/L;AAAA,cAAiMf,CAAC,GAAC,KAAK,CAAxM;AAAA,cAA0MC,CAAC,GAAC,KAAK,CAAjN;AAAA,cAAmNttB,CAAC,GAAC,KAAK,CAA1N;AAAA,cAA4NkuB,CAAC,GAAC,KAAK,CAAnO;AAAA,cAAqO/xC,CAAC,GAAC,KAAK,CAA5O;;AAA8O,eAAIoxC,CAAC,GAAC5/D,CAAC,CAAC,CAAD,CAAH,EAAO6/D,CAAC,GAAC7/D,CAAC,CAAC,CAAD,CAAV,EAAcq6B,CAAC,GAACr6B,CAAC,CAAC,CAAD,CAAjB,EAAqBygE,CAAC,GAACzgE,CAAC,CAAC,CAAD,CAAxB,EAA4BwuB,CAAC,GAAC,CAAlC,EAAoCA,CAAC,GAAC+K,CAAC,CAACp3B,MAAxC,EAA+CqsB,CAAC,IAAE,CAAlD;AAAoDkxC,aAAC,GAACxjC,CAAC,CAAC3C,CAAC,CAAC/K,CAAD,CAAF,CAAH,EAAUmxC,CAAC,GAACzjC,CAAC,CAAC3C,CAAC,CAAC/K,CAAC,GAAC,CAAH,CAAF,CAAb,EAAsB6jB,CAAC,GAACnW,CAAC,CAAC3C,CAAC,CAAC/K,CAAC,GAAC,CAAH,CAAF,CAAzB,EAAkC+xC,CAAC,GAACrkC,CAAC,CAAC3C,CAAC,CAAC/K,CAAC,GAAC,CAAH,CAAF,CAArC,EAA8CuxC,CAAC,CAAC+3D,OAAF,CAAUp4D,CAAV,EAAYC,CAAZ,EAActtB,CAAd,EAAgBkuB,CAAhB,EAAkBlmD,CAAlB,EAAoBmU,CAApB,CAA9C,EAAqEnU,CAAC,CAACmU,CAAD,CAAD,GAAK0N,CAAC,CAAC7hB,CAAC,CAACmU,CAAD,CAAD,GAAKoxC,CAAN,CAA3E,EAAoFvlD,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAO0N,CAAC,CAAC7hB,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAOqxC,CAAR,CAA5F,EAAuGxlD,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAO0N,CAAC,CAAC7hB,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAO6L,CAAR,CAA/G,EAA0HhgB,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAO0N,CAAC,CAAC7hB,CAAC,CAACmU,CAAC,GAAC,CAAH,CAAD,GAAOiyC,CAAR,CAAlI,EAA6Ib,CAAC,GAACF,CAA/I,EAAiJG,CAAC,GAACF,CAAnJ,EAAqJtlC,CAAC,GAACgY,CAAvJ,EAAyJouB,CAAC,GAACF,CAA3J;AAApD;;AAAiN,iBAAO58C,CAAP;AAAS,SAAxd,CAAydiiB,CAAzd,EAA2d5lC,CAA3d,EAA6du5B,CAA7d,CAAN;;AAAsewmC,SAAC,CAAC1/B,GAAF,CAAMphC,CAAN,EAAQ2mC,CAAC,CAACugF,UAAV;AAAsB,OAA9gB;AAA+gB,KAAn2E,EAAo2EnmH,CAAC,CAACugE,CAAD,EAAG,IAAH,EAAQ,CAAC;AAACl8C,SAAG,EAAC,MAAL;AAAYsD,SAAG,EAAC,eAAU;AAAC,eAAO,IAAP;AAAY;AAAvC,KAAD,CAAR,CAAr2E,EAAy5EtN,CAAC,GAACkmD,CAA35E,EAA65E,IAAI,UAAS58C,CAAT,EAAW;AAACA,OAAC,CAACg+G,SAAF,GAAY,UAAS1iI,CAAT,EAAW;AAAC,YAAIe,CAAC,GAACf,CAAC,CAACQ,IAAR;AAAA,YAAammC,CAAC,GAAC,IAAIyrE,UAAJ,CAAerxG,CAAC,CAACqxI,SAAF,CAAYxU,KAA3B,EAAiC78H,CAAC,CAACqxI,SAAF,CAAYlrB,UAA7C,EAAwDnmH,CAAC,CAACqxI,SAAF,CAAYjrB,UAApE,CAAf;AAAA,YAA+F7sF,CAAC,GAAC,IAAI+1E,WAAJ,CAAgBtvG,CAAC,CAACqkB,GAAF,CAAMw4G,KAAtB,EAA4B78H,CAAC,CAACqkB,GAAF,CAAM8hG,UAAlC,EAA6CnmH,CAAC,CAACqkB,GAAF,CAAM+hG,UAAN,GAAiB,CAA9D,CAAjG;AAAA,YAAkKrmD,CAAC,GAAC,IAAIuvC,WAAJ,CAAgBtvG,CAAC,CAACsxG,EAAF,CAAKurB,KAArB,EAA2B78H,CAAC,CAACsxG,EAAF,CAAK6U,UAAhC,EAA2CnmH,CAAC,CAACsxG,EAAF,CAAK8U,UAAL,GAAgB,CAA3D,CAApK;AAAkO,YAAI/rG,CAAJ,CAAMurB,CAAN,EAAQrM,CAAR,EAAUwmC,CAAV,EAAY,UAAS9gE,CAAT,EAAW2mC,CAAX,EAAa;AAACjiB,WAAC,CAAC+9G,WAAF,CAAc,UAAS1hI,CAAT,EAAW;AAAC,gBAAIu5B,CAAC,GAAC,EAAN;AAAS,mBAAO9zB,MAAM,CAAC8pB,IAAP,CAAYvvB,CAAZ,EAAegI,OAAf,CAAuB,UAAS/I,CAAT,EAAW;AAAC,kBAAI2mC,CAAC,GAAC5lC,CAAC,CAACf,CAAD,CAAP;AAAW+uH,yBAAW,CAAC4O,MAAZ,CAAmBh3F,CAAnB,IAAsBrM,CAAC,CAACt6B,CAAD,CAAD,GAAK;AAAC49H,qBAAK,EAACj3F,CAAC,CAACh7B,MAAT;AAAgBu7G,0BAAU,EAACvgF,CAAC,CAACugF,UAA7B;AAAwCC,0BAAU,EAACxgF,CAAC,CAACwgF;AAArD,eAA3B,GAA4F7sF,CAAC,CAACt6B,CAAD,CAAD,GAAK2mC,CAAjG;AAAmG,aAAjJ,GAAmJrM,CAA1J;AAA4J,WAAjL,CAAkL;AAAC7a,kBAAM,EAAC1e,CAAC,CAAC0e,MAAV;AAAiB0yH,qBAAS,EAACxrG;AAA3B,WAAlL,CAAd,EAA+N,CAACA,CAAC,CAACh7B,MAAH,CAA/N;AAA2O,SAArQ;AAAuQ,OAAjgB;AAAkgB,KAAlhB,CAAmhB+Y,CAAnhB,CAA75E;;AAAm7F,aAAS+7C,CAAT,CAAWzgE,CAAX,EAAa2mC,CAAb,EAAe;AAAC,UAAG,EAAE3mC,CAAC,YAAY2mC,CAAf,CAAH,EAAqB,MAAM,IAAIpI,SAAJ,CAAc,mCAAd,CAAN;AAAyD;;AAAA,aAASoiC,CAAT,CAAW3gE,CAAX,EAAa2mC,CAAb,EAAe;AAAC,WAAI,IAAI5lC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC4lC,CAAC,CAACzjC,MAAhB,EAAuBnC,CAAC,EAAxB,EAA2B;AAAC,YAAIu5B,CAAC,GAACqM,CAAC,CAAC5lC,CAAD,CAAP;AAAWu5B,SAAC,CAACsO,UAAF,GAAatO,CAAC,CAACsO,UAAF,IAAc,CAAC,CAA5B,EAA8BtO,CAAC,CAAC6G,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU7G,CAAV,KAAcA,CAAC,CAACuO,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6EriC,MAAM,CAAC06B,cAAP,CAAsBlhC,CAAtB,EAAwBs6B,CAAC,CAAClV,GAA1B,EAA8BkV,CAA9B,CAA7E;AAA8G;AAAC;;AAAA,aAASomC,CAAT,CAAW1gE,CAAX,EAAa;AAACygE,OAAC,CAAC,IAAD,EAAMC,CAAN,CAAD,EAAUc,CAAC,GAACA,CAAC,IAAE,YAAU;AAAC,YAAIxhE,CAAC,GAAC,CAAC,CAAC,EAAD,EAAI,EAAJ,EAAO,EAAP,EAAU,EAAV,EAAa,EAAb,CAAD,EAAkB,CAAC,EAAD,EAAI,EAAJ,EAAO,EAAP,EAAU,EAAV,EAAa,EAAb,CAAlB,CAAN;AAAA,YAA0C2mC,CAAC,GAAC3mC,CAAC,CAAC,CAAD,CAA7C;AAAA,YAAiDe,CAAC,GAACf,CAAC,CAAC,CAAD,CAApD;AAAA,YAAwDs6B,CAAC,GAACqM,CAAC,CAAC,CAAD,CAA3D;AAAA,YAA+Dm6B,CAAC,GAAC//D,CAAC,CAAC,CAAD,CAAlE;AAAA,YAAsE2jB,CAAC,GAAC,KAAK,CAA7E;AAAA,YAA+EtJ,CAAC,GAAC,KAAK,CAAtF;AAAA,YAAwFulD,CAAC,GAAC,KAAK,CAA/F;AAAA,YAAiGC,CAAC,GAAC,EAAnG;AAAA,YAAsGxlC,CAAC,GAAC,EAAxG;AAAA,YAA2GomC,CAAC,GAAC,KAAK,CAAlH;AAAA,YAAoHf,CAAC,GAAC,KAAK,CAA3H;AAAA,YAA6HC,CAAC,GAAC,KAAK,CAApI;AAAA,YAAsIttB,CAAC,GAAC,KAAK,CAA7I;AAAA,YAA+IkuB,CAAC,GAAC,KAAK,CAAtJ;;AAAwJ,aAAI58C,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,GAAV,EAAcA,CAAC,EAAf;AAAkB0W,WAAC,CAAC,CAACwlC,CAAC,CAACl8C,CAAD,CAAD,GAAKA,CAAC,IAAE,CAAH,GAAK,OAAKA,CAAC,IAAE,CAAR,CAAX,IAAuBA,CAAxB,CAAD,GAA4BA,CAA5B;AAAlB;;AAAgD,aAAItJ,CAAC,GAACulD,CAAC,GAAC,CAAR,EAAU,CAACrmC,CAAC,CAAClf,CAAD,CAAZ,EAAgBA,CAAC,IAAEomD,CAAC,IAAE,CAAN,EAAQb,CAAC,GAACvlC,CAAC,CAACulC,CAAD,CAAD,IAAM,CAAhC;AAAkC,eAAID,CAAC,GAAC,CAACA,CAAC,GAACC,CAAC,GAACA,CAAC,IAAE,CAAL,GAAOA,CAAC,IAAE,CAAV,GAAYA,CAAC,IAAE,CAAf,GAAiBA,CAAC,IAAE,CAAvB,KAA2B,CAA3B,GAA6B,MAAID,CAAjC,GAAmC,EAArC,EAAwCY,CAAC,GAAC,WAASV,CAAC,CAACH,CAAC,GAACG,CAAC,CAACY,CAAC,GAACZ,CAAC,CAACE,CAAC,CAACxmC,CAAC,CAAClf,CAAD,CAAD,GAAKslD,CAAN,CAAD,GAAUtlD,CAAX,CAAJ,CAAJ,CAAV,GAAkC,QAAMqlD,CAAxC,GAA0C,MAAIe,CAA9C,GAAgD,WAASpmD,CAAnG,EAAqGg4B,CAAC,GAAC,MAAIwtB,CAAC,CAACF,CAAD,CAAL,GAAS,WAASA,CAAzH,EAA2Hh8C,CAAC,GAAC,CAAjI,EAAmIA,CAAC,GAAC,CAArI,EAAuIA,CAAC,EAAxI;AAA2IiiB,aAAC,CAACjiB,CAAD,CAAD,CAAKtJ,CAAL,IAAQg4B,CAAC,GAACA,CAAC,IAAE,EAAH,GAAMA,CAAC,KAAG,CAApB,EAAsBryC,CAAC,CAAC2jB,CAAD,CAAD,CAAKg8C,CAAL,IAAQY,CAAC,GAACA,CAAC,IAAE,EAAH,GAAMA,CAAC,KAAG,CAA1C;AAA3I;AAAlC;;AAAyN,aAAI58C,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC,CAAV,EAAYA,CAAC,EAAb;AAAgBiiB,WAAC,CAACjiB,CAAD,CAAD,GAAKiiB,CAAC,CAACjiB,CAAD,CAAD,CAAK/J,KAAL,CAAW,CAAX,CAAL,EAAmB5Z,CAAC,CAAC2jB,CAAD,CAAD,GAAK3jB,CAAC,CAAC2jB,CAAD,CAAD,CAAK/J,KAAL,CAAW,CAAX,CAAxB;AAAhB;;AAAsD,eAAO3a,CAAP;AAAS,OAA3e,EAAf,EAA6f,KAAK84H,OAAL,GAAa,CAAC,CAACt3D,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQ7mD,KAAR,EAAD,EAAiB6mD,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQ7mD,KAAR,EAAjB,EAAiC6mD,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQ7mD,KAAR,EAAjC,EAAiD6mD,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQ7mD,KAAR,EAAjD,EAAiE6mD,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQ7mD,KAAR,EAAjE,CAAD,EAAmF,CAAC6mD,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQ7mD,KAAR,EAAD,EAAiB6mD,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQ7mD,KAAR,EAAjB,EAAiC6mD,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQ7mD,KAAR,EAAjC,EAAiD6mD,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQ7mD,KAAR,EAAjD,EAAiE6mD,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,EAAQ7mD,KAAR,EAAjE,CAAnF,CAA1gB;AAAgrB,UAAIgsB,CAAC,GAAC,KAAK,CAAX;AAAA,UAAa5lC,CAAC,GAAC,KAAK,CAApB;AAAA,UAAsBu5B,CAAC,GAAC,KAAK,CAA7B;AAAA,UAA+BwmC,CAAC,GAAC,KAAK,CAAtC;AAAA,UAAwCp8C,CAAC,GAAC,KAAK,CAA/C;AAAA,UAAiDtJ,CAAC,GAAC,KAAK09G,OAAL,CAAa,CAAb,EAAgB,CAAhB,CAAnD;AAAA,UAAsEn4D,CAAC,GAAC,KAAKm4D,OAAL,CAAa,CAAb,CAAxE;AAAA,UAAwFl4D,CAAC,GAAC5gE,CAAC,CAACkD,MAA5F;AAAA,UAAmGk4B,CAAC,GAAC,CAArG;AAAuG,UAAG,MAAIwlC,CAAJ,IAAO,MAAIA,CAAX,IAAc,MAAIA,CAArB,EAAuB,MAAM,IAAI1tD,KAAJ,CAAU,sBAAV,CAAN;;AAAwC,WAAI4tD,CAAC,GAAC9gE,CAAC,CAAC2a,KAAF,CAAQ,CAAR,CAAF,EAAa+J,CAAC,GAAC,EAAf,EAAkB,KAAK2b,IAAL,GAAU,CAACygC,CAAD,EAAGp8C,CAAH,CAA5B,EAAkCiiB,CAAC,GAACi6B,CAAxC,EAA0Cj6B,CAAC,GAAC,IAAEi6B,CAAF,GAAI,EAAhD,EAAmDj6B,CAAC,EAApD;AAAuDrM,SAAC,GAACwmC,CAAC,CAACn6B,CAAC,GAAC,CAAH,CAAH,EAAS,CAACA,CAAC,GAACi6B,CAAF,IAAK,CAAL,IAAQ,MAAIA,CAAJ,IAAOj6B,CAAC,GAACi6B,CAAF,IAAK,CAArB,MAA0BtmC,CAAC,GAAClf,CAAC,CAACkf,CAAC,KAAG,EAAL,CAAD,IAAW,EAAX,GAAclf,CAAC,CAACkf,CAAC,IAAE,EAAH,GAAM,GAAP,CAAD,IAAc,EAA5B,GAA+Blf,CAAC,CAACkf,CAAC,IAAE,CAAH,GAAK,GAAN,CAAD,IAAa,CAA5C,GAA8Clf,CAAC,CAAC,MAAIkf,CAAL,CAAjD,EAAyDqM,CAAC,GAACi6B,CAAF,IAAK,CAAL,KAAStmC,CAAC,GAACA,CAAC,IAAE,CAAH,GAAKA,CAAC,KAAG,EAAT,GAAYc,CAAC,IAAE,EAAjB,EAAoBA,CAAC,GAACA,CAAC,IAAE,CAAH,GAAK,OAAKA,CAAC,IAAE,CAAR,CAApC,CAAnF,CAAT,EAA6I0lC,CAAC,CAACn6B,CAAD,CAAD,GAAKm6B,CAAC,CAACn6B,CAAC,GAACi6B,CAAH,CAAD,GAAOtmC,CAAzJ;AAAvD;;AAAkN,WAAIv5B,CAAC,GAAC,CAAN,EAAQ4lC,CAAR,EAAU5lC,CAAC,IAAG4lC,CAAC,EAAf;AAAkBrM,SAAC,GAACwmC,CAAC,CAAC,IAAE//D,CAAF,GAAI4lC,CAAJ,GAAMA,CAAC,GAAC,CAAT,CAAH,EAAejiB,CAAC,CAAC3jB,CAAD,CAAD,GAAK4lC,CAAC,IAAE,CAAH,IAAM5lC,CAAC,GAAC,CAAR,GAAUu5B,CAAV,GAAYqmC,CAAC,CAAC,CAAD,CAAD,CAAKvlD,CAAC,CAACkf,CAAC,KAAG,EAAL,CAAN,IAAgBqmC,CAAC,CAAC,CAAD,CAAD,CAAKvlD,CAAC,CAACkf,CAAC,IAAE,EAAH,GAAM,GAAP,CAAN,CAAhB,GAAmCqmC,CAAC,CAAC,CAAD,CAAD,CAAKvlD,CAAC,CAACkf,CAAC,IAAE,CAAH,GAAK,GAAN,CAAN,CAAnC,GAAqDqmC,CAAC,CAAC,CAAD,CAAD,CAAKvlD,CAAC,CAAC,MAAIkf,CAAL,CAAN,CAArF;AAAlB;AAAsH;;AAAA,aAASc,CAAT,GAAY;AAACqlC,OAAC,CAAC,IAAD,EAAMrlC,CAAN,CAAD,EAAU,KAAKjhB,SAAL,GAAe,EAAzB;AAA4B;;AAAA,aAASi5B,CAAT,GAAY;AAACqtB,OAAC,CAAC,IAAD,EAAMrtB,CAAN,CAAD;;AAAU,UAAIpzC,CAAC,GAAC,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,YAAG,CAAC3mC,CAAJ,EAAM,MAAM,IAAIosE,cAAJ,CAAmB,2DAAnB,CAAN;AAAsF,eAAM,CAACzlC,CAAD,IAAI,oBAAiBA,CAAjB,KAAoB,cAAY,OAAOA,CAA3C,GAA6C3mC,CAA7C,GAA+C2mC,CAArD;AAAuD,OAAjK,CAAkK,IAAlK,EAAuKm6B,CAAC,CAACn7D,IAAF,CAAO,IAAP,EAAY20B,CAAZ,CAAvK,CAAN;;AAA6L,aAAOt6B,CAAC,CAACq5H,IAAF,GAAO,EAAP,EAAUr5H,CAAC,CAAC82C,KAAF,GAAQ,CAAlB,EAAoB92C,CAAC,CAACs5H,QAAF,GAAW,IAA/B,EAAoCt5H,CAA3C;AAA6C;;AAAA,aAASi9B,CAAT,CAAWj9B,CAAX,EAAa;AAAC,aAAOA,CAAC,IAAE,EAAH,GAAM,CAAC,QAAMA,CAAP,KAAW,CAAjB,GAAmB,CAAC,WAASA,CAAV,KAAc,CAAjC,GAAmCA,CAAC,KAAG,EAA9C;AAAiD;;AAAA,aAASshE,CAAT,CAAWthE,CAAX,EAAa2mC,CAAb,EAAe5lC,CAAf,EAAiBu5B,CAAjB,EAAmB;AAACmmC,OAAC,CAAC,IAAD,EAAMa,CAAN,CAAD;AAAU,UAAIR,CAAC,GAACQ,CAAC,CAACq4D,IAAR;AAAA,UAAaj1G,CAAC,GAAC,IAAI80G,UAAJ,CAAex5H,CAAC,CAAC2L,MAAjB,CAAf;AAAA,UAAwCyP,CAAC,GAAC,IAAIg3F,UAAJ,CAAepyG,CAAC,CAACmnH,UAAjB,CAA1C;AAAA,UAAuExmD,CAAC,GAAC,CAAzE;;AAA2E,WAAI,KAAKi5D,YAAL,GAAkB,IAAIh5D,CAAJ,EAAlB,EAAwB,KAAKg5D,YAAL,CAAkBr2H,IAAlB,CAAuB,KAAKm2H,aAAL,CAAmBh1G,CAAC,CAAC+iG,QAAF,CAAW9mD,CAAX,EAAaA,CAAC,GAACG,CAAf,CAAnB,EAAqCn6B,CAArC,EAAuC5lC,CAAvC,EAAyCqa,CAAzC,CAAvB,CAAxB,EAA4FulD,CAAC,GAACG,CAAlG,EAAoGH,CAAC,GAACj8C,CAAC,CAACxhB,MAAxG,EAA+Gy9D,CAAC,IAAEG,CAAlH;AAAoH//D,SAAC,GAAC,IAAIsvG,WAAJ,CAAgB,CAACpzE,CAAC,CAACvY,CAAC,CAACi8C,CAAC,GAAC,CAAH,CAAF,CAAF,EAAW1jC,CAAC,CAACvY,CAAC,CAACi8C,CAAC,GAAC,CAAH,CAAF,CAAZ,EAAqB1jC,CAAC,CAACvY,CAAC,CAACi8C,CAAC,GAAC,CAAH,CAAF,CAAtB,EAA+B1jC,CAAC,CAACvY,CAAC,CAACi8C,CAAC,GAAC,CAAH,CAAF,CAAhC,CAAhB,CAAF,EAA6D,KAAKi5D,YAAL,CAAkBr2H,IAAlB,CAAuB,KAAKm2H,aAAL,CAAmBh1G,CAAC,CAAC+iG,QAAF,CAAW9mD,CAAX,EAAaA,CAAC,GAACG,CAAf,CAAnB,EAAqCn6B,CAArC,EAAuC5lC,CAAvC,EAAyCqa,CAAzC,CAAvB,CAA7D;AAApH;;AAAqP,WAAKw+G,YAAL,CAAkBr2H,IAAlB,CAAuB,YAAU;AAAC+2B,SAAC,CAAC,IAAD,EAAM,UAASt6B,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACynH,QAAF,CAAW,CAAX,EAAaznH,CAAC,CAACmnH,UAAF,GAAannH,CAAC,CAACA,CAAC,CAACmnH,UAAF,GAAa,CAAd,CAA3B,CAAP;AAAoD,SAAhE,CAAiE/rG,CAAjE,CAAN,CAAD;AAA4E,OAA9G;AAAgH;AAAC,GAAxuK,CAAP;AAAA,MAAivKohI,EAAE,GAAC;AAACxrC,SAAK,EAAC,eAASpwC,CAAT,EAAWxlC,CAAX,EAAa;AAAC,aAAO,YAAU;AAAC,YAAIp7B,CAAC,GAACo7B,CAAC,CAACghH,cAAF,CAAiBx7E,CAAjB,CAAN;AAAA,YAA0Bj6B,CAAC,GAACvL,CAAC,CAAC0gH,UAAF,CAAal7E,CAAb,CAA5B;AAAA,YAA4C7/D,CAAC,GAACq6B,CAAC,CAACqhH,wBAAhD;AAAyEhB,UAAE,CAACz7I,CAAD,EAAG2mC,CAAH,CAAF;AAAQ,YAAIrM,CAAC,GAACqM,CAAC,CAACs1G,WAAF,EAAN;AAAA,YAAsBn7E,CAAC,GAACn6B,CAAC,CAACq1G,WAAF,EAAxB;AAAA,YAAwCt3H,CAAC,GAAC,CAACo8C,CAAC,CAAC18D,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,WAAR;AAAiB,SAAtC,EAAwC,CAAxC,KAA4C8gE,CAAC,CAAC,CAAD,CAA9C,EAAmD7/D,EAA7F;AAAA,YAAgGma,CAAC,GAACurB,CAAC,CAAC6kD,MAAF,CAAS9mE,CAAT,CAAlG;;AAA8G,YAAG4V,CAAC,KAAGlf,CAAP,EAAS;AAAC,eAAI,IAAIulD,CAAR,IAAaisC,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,kFAAZ,GAAgGmH,CAAC,CAAC6kD,MAA/G;AAAsH7kD,aAAC,CAAC6kD,MAAF,CAAS7qB,CAAT,EAAY2U,OAAZ,GAAoB3uC,CAAC,CAAC6kD,MAAF,CAAS7qB,CAAT,MAAcvlD,CAAlC;AAAtH;;AAA0JurB,WAAC,CAAC21G,cAAF;AAAmB,SAAvL,MAA4Lv7I,CAAC,CAAC;AAACkd,iBAAO,EAAC;AAAT,SAAD,CAAD;AAAoE,OAAjd;AAAkd,KAAve;AAAweizF,aAAS,EAAC,mBAAS52E,CAAT,EAAWwmC,CAAX,EAAa;AAAC,aAAO,YAAU;AAAC,YAAI9gE,CAAC,GAAC8gE,CAAC,CAACs7E,cAAF,CAAiB9hH,CAAjB,CAAN;AAAA,YAA0BqM,CAAC,GAACm6B,CAAC,CAACg7E,UAAF,CAAaxhH,CAAb,CAA5B;AAA4CsyE,UAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,0EAAZ,GAAwFi8G,EAAE,CAACz7I,CAAD,EAAG2mC,CAAH,CAA1F;AAAgG,YAAI5lC,CAAC,GAAC4lC,CAAC,CAACs1G,WAAF,EAAN;AAAsBl7I,SAAC,KAAGA,CAAC,CAAC0G,IAAF,GAAO,UAAV,CAAD,EAAuBk/B,CAAC,CAAC21G,cAAF,EAAvB;AAA0C,OAA9N;AAA+N;AAA/tB,GAApvK;AAAA,MAAq9LI,EAAE,GAAC;AAAC1rC,SAAK,EAAC,eAAShxG,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAG4lC,CAAH,EAAK;AAAC,YAAIrM,CAAC,GAACv5B,CAAC,CAAC05E,IAAR;AAAA,YAAa3Z,CAAC,GAAC//D,CAAC,CAAC47I,cAAjB;AAAA,YAAgCj4H,CAAC,GAAC3jB,CAAC,CAACq7I,cAAF,CAAiBp8I,CAAjB,CAAlC;AAAsD2mC,SAAC,CAACtkC,EAAF,CAAK,gBAAL,EAAsB,YAAU;AAAC,cAAIrC,CAAC,GAAC2mC,CAAC,CAAC8e,KAAF,EAAN;AAAgB/gC,WAAC,CAACzO,QAAF,CAAWjW,CAAX,EAAa8gE,CAAb,GAAgB,CAAC,CAACxmC,CAAC,CAACrqB,MAAF,EAAD,IAAajQ,CAAC,CAACwxG,OAAF,IAAW,WAASl3E,CAAC,CAACkkE,OAAF,EAAlC,KAAgD95E,CAAC,CAACokB,IAAF,EAAhE;AAAyE,SAA1H,GAA4HnC,CAAC,CAACtkC,EAAF,CAAK,gBAAL,EAAsB,YAAU;AAACqiB,WAAC,CAACzO,QAAF,CAAW0wB,CAAC,CAAC8e,KAAF,EAAX,EAAqBqb,CAArB,GAAwBxmC,CAAC,CAACrqB,MAAF,MAAYyU,CAAC,CAACokB,IAAF,EAApC;AAA6C,SAA9E,CAA5H,EAA4MnC,CAAC,CAACtkC,EAAF,CAAK,OAAL,EAAam6I,EAAE,CAACx8I,CAAD,CAAF,CAAMA,CAAN,EAAQe,CAAR,CAAb,CAA5M;AAAqO;AAAC,KAAzT;AAA0TmwG,aAAS,EAAC,mBAASlxG,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAACv5B,CAAC,CAAC05E,IAAR;AAAA,UAAa3Z,CAAC,GAAC//D,CAAC,CAAC47I,cAAjB;AAAA,UAAgCj4H,CAAC,GAAC3jB,CAAC,CAACq7I,cAAF,CAAiBp8I,CAAjB,CAAlC;AAAA,UAAsDob,CAAC,GAACra,CAAC,CAAC+6I,UAAF,CAAa97I,CAAb,CAAxD;AAAwE2mC,OAAC,CAACtkC,EAAF,CAAK,gBAAL,EAAsB,YAAU;AAAC,YAAIrC,CAAC,GAAC2mC,CAAC,CAAC8e,KAAF,EAAN;AAAgB/gC,SAAC,CAACzO,QAAF,CAAWjW,CAAX,EAAa8gE,CAAb,GAAgBp8C,CAAC,CAAC8rD,KAAF,CAAQp1D,CAAC,CAAC6gI,WAAF,EAAR,CAAhB,EAAyC,CAAC,CAAC3hH,CAAC,CAACrqB,MAAF,EAAD,IAAajQ,CAAC,CAACwxG,OAAF,IAAW,WAASl3E,CAAC,CAACkkE,OAAF,EAAlC,KAAgD95E,CAAC,CAACokB,IAAF,EAAzF;AAAkG,OAAnJ,GAAqJnC,CAAC,CAACtkC,EAAF,CAAK,gBAAL,EAAsB,YAAU;AAACqiB,SAAC,CAACzO,QAAF,CAAW0wB,CAAC,CAAC8e,KAAF,EAAX,EAAqBqb,CAArB,GAAwBxmC,CAAC,CAACrqB,MAAF,MAAYyU,CAAC,CAACokB,IAAF,EAApC;AAA6C,OAA9E,CAArJ,EAAqOnC,CAAC,CAACtkC,EAAF,CAAK,OAAL,EAAam6I,EAAE,CAACx8I,CAAD,CAAF,CAAMA,CAAN,EAAQe,CAAR,CAAb,CAArO;AAA8P;AAA1pB,GAAx9L;AAAA,MAAonN86I,EAAE,GAAC;AAAC7qC,SAAK,EAAC,eAAShxG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAJ;AAAA,UAAMu5B,CAAN;AAAA,UAAQwmC,CAAC,GAACn6B,CAAC,CAACsyG,GAAZ;AAAA,UAAgBv0H,CAAC,GAACiiB,CAAC,CAAC2yG,UAApB;AAAA,UAA+Bl+H,CAAC,GAACurB,CAAC,CAACy1G,cAAF,CAAiBp8I,CAAjB,CAAjC;AAAA,UAAqD2gE,CAAC,GAACh6B,CAAC,CAACg2G,cAAzD;AAAA,UAAwE/7E,CAAC,GAACj6B,CAAC,CAACo0F,MAAF,CAASxoB,WAAnF;AAAA,UAA+Fn3E,CAAC,GAACuL,CAAC,CAACm1G,UAAF,CAAa97I,CAAb,CAAjG;AAAA,UAAiHwhE,CAAC,GAACpmC,CAAC,CAAC1L,MAArH;AAAA,UAA4H+wC,CAAC,GAACrlC,CAAC,CAACowD,MAAhI;AAAA,UAAuI9qB,CAAC,GAAC/5B,CAAC,CAACo1G,oBAA3I;;AAAgK,WAAI,IAAI3oG,CAAR,IAAawtB,CAAC,CAAC5gE,CAAD,CAAD,IAAM,MAAIwG,MAAM,CAAC8pB,IAAP,CAAYswC,CAAC,CAAC5gE,CAAD,CAAb,EAAkBkD,MAA5B,KAAqC09D,CAAC,CAAC5gE,CAAD,CAAD,GAAK;AAACo3E,YAAI,EAAC;AAAC,qBAAQ;AAAC,uBAAQ,CAAC;AAAV;AAAT;AAAN,OAA1C,GAAyExW,CAAC,CAAC5gE,CAAD,CAAvF;AAA2F,aAAI,IAAIshE,CAAR,IAAaE,CAAC,CAACpuB,CAAD,CAAD,KAAOouB,CAAC,CAACpuB,CAAD,CAAD,GAAK,EAAZ,GAAgBwtB,CAAC,CAAC5gE,CAAD,CAAD,CAAKozC,CAAL,CAA7B,EAAqC;AAAC,cAAI7jB,CAAC,GAACqxC,CAAC,CAAC5gE,CAAD,CAAD,CAAKozC,CAAL,EAAQkuB,CAAR,CAAN;AAAA,cAAiBI,CAAC,GAAC,KAAK,CAAxB;;AAA0B,cAAGA,CAAC,GAACnyC,CAAC,CAACmxF,WAAF,GAAc,IAAIma,EAAJ,CAAOtrG,CAAC,CAACmxF,WAAT,EAAqB5/C,CAArB,EAAuBH,CAAvB,CAAd,GAAwCpxC,CAAC,CAAC+iF,SAAF,IAAa,WAAS5tF,CAAtB,GAAwB,IAAIwqH,EAAJ,CAAO3/G,CAAC,CAAC+iF,SAAF,CAAY,CAAZ,CAAP,EAAsBxxC,CAAtB,EAAwBH,CAAxB,EAA0BD,CAA1B,CAAxB,GAAqD,IAA/F,EAAoGnxC,CAAC,GAACq9E,EAAE,CAACa,YAAH,CAAgB;AAACxsG,cAAE,EAACqgE,CAAJ;AAAM+6E,0BAAc,EAAC36E;AAArB,WAAhB,EAAwCnyC,CAAxC,CAAtG,EAAiJmtH,EAAE,CAAC18I,CAAD,CAAF,CAAMA,CAAN,EAAQuvB,CAAC,CAAC8sH,cAAV,EAAyB11G,CAAzB,CAAjJ,EAA6K66B,CAAC,CAACpuB,CAAD,CAAD,CAAK7vC,IAAL,CAAUgsB,CAAV,CAA7K,EAA0L,eAAa,OAAOkxC,CAAC,CAACa,CAAD,CAAlN,EAAsN;AAAC,gBAAIrkC,CAAC,GAAC,IAAI2vE,EAAE,CAACsB,UAAP,CAAkB;AAACjtG,gBAAE,EAACqgE,CAAJ;AAAM+U,kBAAI,GAAEt1E,CAAC,GAACwuB,CAAF,EAAI+K,CAAC,GAAC,KAAK,CAAX,EAAaA,CAAC,GAACv5B,CAAC,WAAD,GAAU,MAAV,GAAiB,aAAhC,EAA8CA,CAAC,CAACgyG,eAAF,IAAmB,KAAGhyG,CAAC,CAACgyG,eAAF,CAAkB5xG,OAAlB,CAA0B,sCAA1B,CAAtB,KAA0Fm5B,CAAC,GAAC,WAA5F,CAA9C,EAAuJA,CAAzJ,CAAV;AAAsKg7C,qBAAO,EAAC,CAAC,CAA/K;AAAiLtL,sBAAQ,EAACz6C,CAAC,CAACy6C,QAA5L;AAAqM,yBAAQz6C,CAAC,WAA9M;AAAuN2jD,mBAAK,EAAC5R;AAA7N,aAAlB,CAAN;AAAyPb,aAAC,CAACa,CAAD,CAAD,GAAKrkC,CAAL;AAAO;AAAC;AAAnnB;;AAAmnB7hB,OAAC,CAAC/Y,EAAF,CAAK,OAAL,EAAam6I,EAAE,CAACx8I,CAAD,CAAF,CAAMA,CAAN,EAAQ2mC,CAAR,CAAb;AAAyB,KAAj0B;AAAk0BuqE,aAAS,EAAC,mBAASlxG,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC4lC,CAAC,CAAC8zC,IAAR;AAAA,UAAangD,CAAC,GAACqM,CAAC,CAACsyG,GAAjB;AAAA,UAAqBn4E,CAAC,GAACn6B,CAAC,CAAC2yG,UAAzB;AAAA,UAAoC50H,CAAC,GAACiiB,CAAC,CAACy1G,cAAF,CAAiBp8I,CAAjB,CAAtC;AAAA,UAA0Dob,CAAC,GAACurB,CAAC,CAACg2G,cAA9D;AAAA,UAA6Eh8E,CAAC,GAACh6B,CAAC,CAACo0F,MAAF,CAASxoB,WAAxF;AAAA,UAAoG3xC,CAAC,GAACj6B,CAAC,CAACm1G,UAAF,CAAa97I,CAAb,CAAtG;AAAA,UAAsHo7B,CAAC,GAACwlC,CAAC,CAAClxC,MAA1H;AAAA,UAAiI8xC,CAAC,GAACZ,CAAC,CAAC4qB,MAArI;AAAA,UAA4I/qB,CAAC,GAAC95B,CAAC,CAACo1G,oBAAhJ;;AAAqK,WAAI,IAAIr7E,CAAR,IAAaC,CAAC,CAAC3gE,CAAD,CAAd;AAAkB,aAAI,IAAIozC,CAAR,IAAahY,CAAC,CAACslC,CAAD,CAAD,KAAOtlC,CAAC,CAACslC,CAAD,CAAD,GAAK,EAAZ,GAAgBC,CAAC,CAAC3gE,CAAD,CAAD,CAAK0gE,CAAL,CAA7B;AAAqC,cAAG,CAACC,CAAC,CAAC3gE,CAAD,CAAD,CAAK0gE,CAAL,EAAQttB,CAAR,EAAW6/D,MAAf,EAAsB;AAAC,gBAAI3xC,CAAC,GAACX,CAAC,CAAC3gE,CAAD,CAAD,CAAK0gE,CAAL,EAAQttB,CAAR,CAAN;AAAA,gBAAiB7jB,CAAC,GAAC,KAAK,CAAxB;;AAA0B,gBAAG,UAAQuxC,CAAR,GAAUvxC,CAAC,GAAC,IAAIsrG,EAAJ,CAAOv5D,CAAC,CAACo/C,WAAT,EAAqBpmF,CAArB,EAAuBlf,CAAvB,CAAZ,GAAsC,WAAS0lD,CAAT,KAAavxC,CAAC,GAAC,IAAI2/G,EAAJ,CAAO5tE,CAAC,CAACgxC,SAAF,CAAY,CAAZ,CAAP,EAAsBh4E,CAAtB,EAAwBlf,CAAxB,EAA0BqlD,CAA1B,CAAf,CAAtC,EAAmFa,CAAC,GAACsrC,EAAE,CAACa,YAAH,CAAgB;AAACxsG,gBAAE,EAACmyC,CAAJ;AAAMipG,4BAAc,EAAC9sH;AAArB,aAAhB,EAAwC+xC,CAAxC,CAArF,EAAgIo7E,EAAE,CAAC18I,CAAD,CAAF,CAAMA,CAAN,EAAQshE,CAAC,CAAC+6E,cAAV,EAAyB11G,CAAzB,CAAhI,EAA4JvL,CAAC,CAACslC,CAAD,CAAD,CAAKn9D,IAAL,CAAU+9D,CAAV,CAA5J,EAAyK,eAAa,OAAOE,CAAC,CAACpuB,CAAD,CAAjM,EAAqM;AAAC,kBAAIsuB,CAAC,GAAC3gE,CAAC,CAAC4vE,kBAAF,CAAqB;AAAC1vE,kBAAE,EAACmyC,CAAJ;AAAMijC,oBAAI,EAAC,WAAX;AAAuB,2BAAQ/U,CAAC,WAAD,IAAWA,CAAC,CAACoxC,UAA5C;AAAuD1oC,wBAAQ,EAAC1I,CAAC,CAAC0I,QAAlE;AAA2EkJ,qBAAK,EAAC9/B;AAAjF,eAArB,EAAyG,CAAC,CAA1G,EAA6Go9B,KAAnH;AAAyHhP,eAAC,CAACpuB,CAAD,CAAD,GAAKsuB,CAAL;AAAO;AAAC;AAA7Z;AAAlB;;AAA+ah9C,OAAC,CAACriB,EAAF,CAAK,OAAL,EAAam6I,EAAE,CAACx8I,CAAD,CAAF,CAAMA,CAAN,EAAQ2mC,CAAR,CAAb;AAAyB,KAAv8C;AAAw8C,uBAAkB,wBAAS3mC,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC4lC,CAAC,CAAC8zC,IAAR;AAAA,UAAangD,CAAC,GAACqM,CAAC,CAACo0F,MAAF,CAASxoB,WAAxB;AAAA,UAAoCzxC,CAAC,GAACn6B,CAAC,CAACm1G,UAAF,CAAa97I,CAAb,CAAtC;AAAA,UAAsD0kB,CAAC,GAACo8C,CAAC,CAACpxC,MAA1D;AAAA,UAAiEtU,CAAC,GAAC0lD,CAAC,CAAC0qB,MAArE;;AAA4E,WAAI,IAAI7qB,CAAR,IAAarmC,CAAC,CAACt6B,CAAD,CAAd;AAAkB,aAAI,IAAI4gE,CAAR,IAAal8C,CAAC,CAACi8C,CAAD,CAAD,KAAOj8C,CAAC,CAACi8C,CAAD,CAAD,GAAK,EAAZ,GAAgBrmC,CAAC,CAACt6B,CAAD,CAAD,CAAK2gE,CAAL,CAA7B,EAAqC;AAAC,cAAIvlC,CAAC,GAACd,CAAC,CAACt6B,CAAD,CAAD,CAAK2gE,CAAL,EAAQC,CAAR,CAAN;;AAAiB,cAAGxlC,CAAC,CAACy3E,UAAF,CAAapjF,KAAb,CAAmB,MAAnB,MAA6B/K,CAAC,CAACi8C,CAAD,CAAD,CAAKp9D,IAAL,CAAUqpG,EAAE,CAACa,YAAH,CAAgB;AAACxsG,cAAE,EAAC2/D;AAAJ,WAAhB,EAAuBxlC,CAAvB,CAAV,GAAqC,eAAa,OAAOhgB,CAAC,CAACwlD,CAAD,CAAvF,CAAH,EAA+F;AAAC,gBAAIY,CAAC,GAACzgE,CAAC,CAAC4vE,kBAAF,CAAqB;AAAC1vE,gBAAE,EAACm6B,CAAC,CAACy3E,UAAN;AAAiBx8B,kBAAI,EAAC,UAAtB;AAAiC,yBAAQj7C,CAAC,WAAD,IAAWA,CAAC,CAACs3E,UAAtD;AAAiE1oC,sBAAQ,EAAC5uC,CAAC,CAAC4uC,QAA5E;AAAqFkJ,mBAAK,EAACtS;AAA3F,aAArB,EAAmH,CAAC,CAApH,EAAuH4P,KAA7H;AAAmIp1D,aAAC,CAACwlD,CAAD,CAAD,GAAKY,CAAL;AAAO;AAAC;AAApT;AAAqT;AAAz2D,GAAvnN;AAAA,MAAk+Q06E,EAAE,GAAC;AAAClrC,SAAK,EAAC,eAASjwG,CAAT,EAAWu5B,CAAX,EAAa;AAAC,aAAO,YAAU;AAAC,YAAIt6B,CAAC,GAACs6B,CAAC,CAACwhH,UAAF,CAAa/6I,CAAb,EAAgByqF,MAAtB;;AAA6B,aAAI,IAAI7kD,CAAR,IAAa3mC,CAAb;AAAe,cAAGA,CAAC,CAAC2mC,CAAD,CAAD,CAAK2uC,OAAR,EAAgB,OAAOt1E,CAAC,CAAC2mC,CAAD,CAAR;AAA/B;;AAA2C,eAAO,IAAP;AAAY,OAAtG;AAAuG,KAA5H;AAA6HuqE,aAAS,EAAC,mBAASnwG,CAAT,EAAWu5B,CAAX,EAAa;AAAC,aAAO,YAAU;AAAC,YAAIt6B,CAAC,GAACs6B,CAAC,CAACwhH,UAAF,CAAa/6I,CAAb,EAAgByqF,MAAtB;;AAA6B,aAAI,IAAI7kD,CAAR,IAAa3mC,CAAb;AAAe,cAAG,cAAYA,CAAC,CAAC2mC,CAAD,CAAD,CAAKl/B,IAAjB,IAAuB,aAAWzH,CAAC,CAAC2mC,CAAD,CAAD,CAAKl/B,IAA1C,EAA+C,OAAOzH,CAAC,CAAC2mC,CAAD,CAAR;AAA9D;;AAA0E,eAAO,IAAP;AAAY,OAArI;AAAsI;AAA3R,GAAr+Q;AAAA,MAAkwRi2G,EAAE,GAAC,KAAK,CAA1wR;AAAA,MAA4wRC,EAAE,GAAC,CAAC,eAAD,EAAiB,sBAAjB,EAAwC,uBAAxC,EAAgE,sBAAhE,EAAuF,uBAAvF,EAA+G,uBAA/G,CAA/wR;AAAA,MAAu5RC,EAAE,IAAE5iB,EAAE,CAAC6iB,EAAD,EAAInwC,EAAE,CAACoB,WAAP,CAAF,EAAsBgsB,EAAE,CAAC+iB,EAAD,EAAI,CAAC;AAAC33H,OAAG,EAAC,qCAAL;AAA2CC,SAAK,EAAC,iBAAU;AAAC,UAAIiV,CAAC,GAAC,IAAN;AAAW,WAAK80G,qBAAL,CAA2B/sI,EAA3B,CAA8B,gBAA9B,EAA+C,YAAU;AAAC,YAAIrC,CAAC,GAACs6B,CAAC,CAAC80G,qBAAF,CAAwB3pF,KAAxB,EAAN;AAAA,YAAsC9e,CAAC,GAAC,MAAI3mC,CAAC,CAACozG,cAAN,GAAqB,GAA7D;AAAiEqpB,UAAE,CAACniG,CAAC,CAAC80G,qBAAF,CAAwBrU,MAAzB,EAAgCzgG,CAAC,CAAC80G,qBAAF,CAAwB3pF,KAAxB,EAAhC,CAAF,GAAmEnrB,CAAC,CAAC0iH,eAAF,CAAkBl4I,OAAlB,GAA0B,CAA7F,GAA+Fw1B,CAAC,CAAC0iH,eAAF,CAAkBl4I,OAAlB,GAA0B6hC,CAAzH,EAA2H3mC,CAAC,CAACwxG,OAAF,IAAW,WAASl3E,CAAC,CAACigD,KAAF,CAAQikB,OAAR,EAApB,KAAwClkE,CAAC,CAAC2iH,kBAAF,CAAqBhnI,QAArB,CAA8BjW,CAA9B,EAAgCs6B,CAAC,CAAC0iH,eAAlC,GAAmD1iH,CAAC,CAAC2iH,kBAAF,CAAqBn0G,IAArB,EAA3F,CAA3H,EAAmP8yG,EAAE,CAAC;AAACtC,oBAAU,EAACh/G,CAAC,CAAC++G,WAAd;AAA0B+C,wBAAc,EAAC;AAACprC,iBAAK,EAAC12E,CAAC,CAAC4iH,mBAAT;AAA6BhsC,qBAAS,EAAC52E,CAAC,CAAC6iH,sBAAzC;AAAgE/lE,gBAAI,EAAC98C,CAAC,CAAC2iH;AAAvE,WAAzC;AAAoIxiE,cAAI,EAACngD,CAAC,CAACigD,KAA3I;AAAiJoiE,wBAAc,EAACriH,CAAC,CAAC0iH,eAAlK;AAAkLjB,8BAAoB,EAACzhH,CAAC,CAAC80G,qBAAzM;AAA+N6J,aAAG,EAAC3+G,CAAC,CAACghG,IAArO;AAA0OP,gBAAM,EAACzgG,CAAC,CAACygG,MAAF,EAAjP;AAA4P+gB,oBAAU,EAACxhH,CAAC,CAAC8iH,WAAzQ;AAAqRX,kCAAwB,EAACniH,CAAC,CAACmiH,wBAAF,CAA2BlgI,IAA3B,CAAgC+d,CAAhC;AAA9S,SAAD,CAArP,EAAykBA,CAAC,CAAC+iH,qBAAF,CAAwB/iH,CAAC,CAACygG,MAAF,EAAxB,EAAmC/6H,CAAnC,CAAzkB;;AAA+mB,YAAG;AAACs6B,WAAC,CAACgjH,mBAAF;AAAwB,SAA5B,CAA4B,OAAMt9I,CAAN,EAAQ;AAAC,iBAAO4sG,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,gCAAZ,EAA6Cx/B,CAA7C,GAAgDs6B,CAAC,CAACu2G,WAAF,CAAc0F,WAAd,CAA0B,QAA1B,CAAvD;AAA2F;;AAAAj8G,SAAC,CAACijH,cAAF,IAAmB,CAACjjH,CAAC,CAAC8iH,WAAF,CAAcpsC,KAAd,CAAoB0qC,oBAArB,IAA2CphH,CAAC,CAAC8iH,WAAF,CAAcpsC,KAAd,CAAoB0qC,oBAApB,CAAyCj2F,KAAzC,EAA3C,GAA4FnrB,CAAC,CAAC/0B,OAAF,CAAU,sBAAV,CAA5F,GAA8H+0B,CAAC,CAAC8iH,WAAF,CAAcpsC,KAAd,CAAoB0qC,oBAApB,CAAyCn6H,GAAzC,CAA6C,gBAA7C,EAA8D,YAAU;AAAC+Y,WAAC,CAAC/0B,OAAF,CAAU,sBAAV;AAAkC,SAA3G,CAAjJ;AAA8P,OAAxmC,GAA0mC,KAAK6pI,qBAAL,CAA2B/sI,EAA3B,CAA8B,gBAA9B,EAA+C,YAAU;AAAC,YAAIrC,CAAC,GAACs6B,CAAC,CAAC80G,qBAAF,CAAwB3pF,KAAxB,EAAN;;AAAsC,YAAG,CAACzlD,CAAJ,EAAM;AAACs6B,WAAC,CAACkjH,2BAAF;AAAgC,cAAI72G,CAAC,GAAC,KAAK,CAAX;AAAa,iBAAOrM,CAAC,CAACmjH,wBAAF,KAA6B92G,CAAC,GAACrM,CAAC,CAACojH,qBAAF,EAA/B,GAA0D/2G,CAAC,GAACA,CAAC,IAAErM,CAAC,CAACqjH,cAAF,EAA/D,EAAkFrjH,CAAC,CAACsjH,aAAF,GAAgBj3G,CAAlG,EAAoG,KAAKrM,CAAC,CAAC80G,qBAAF,CAAwB3pF,KAAxB,CAA8BnrB,CAAC,CAACsjH,aAAhC,CAAhH;AAA+J;;AAAA,YAAGtjH,CAAC,CAACujH,WAAF,IAAevjH,CAAC,CAACwjH,aAAF,CAAgB99I,CAAhB,CAAf,EAAkCs6B,CAAC,CAAC2iH,kBAAF,CAAqBhnI,QAArB,CAA8BjW,CAA9B,EAAgCs6B,CAAC,CAAC0iH,eAAlC,CAAlC,EAAqF1iH,CAAC,CAACyjH,cAAF,EAArF,EAAwGzjH,CAAC,CAACigD,KAAF,CAAQtqE,MAAR,OAAmBqqB,CAAC,CAAC2iH,kBAAF,CAAqBn0G,IAArB,IAA4BxO,CAAC,CAAC4iH,mBAAF,IAAuB5iH,CAAC,CAAC4iH,mBAAF,CAAsBp0G,IAAtB,EAAtE,CAAxG,EAA4M,CAAC9oC,CAAC,CAACwxG,OAAlN,EAA0N;AAAC,cAAIzwG,CAAC,GAAC,SAAFA,CAAE,GAAU;AAAC,gBAAIf,CAAC,GAACs6B,CAAC,CAACmtD,QAAF,EAAN;AAAmB,kBAAIznF,CAAC,CAACkD,MAAN,IAAco3B,CAAC,CAACu2G,WAAF,CAAcmN,iBAAd,CAAgCh+I,CAAC,CAACwhB,KAAF,CAAQ,CAAR,CAAhC,EAA2CxhB,CAAC,CAAC0pB,GAAF,CAAM,CAAN,CAA3C,CAAd;AAAmE,WAAvG;;AAAwG4Q,WAAC,CAAChb,QAAF,OAAe,IAAE,CAAjB,GAAmBgb,CAAC,CAACigD,KAAF,CAAQh5D,GAAR,CAAY,gBAAZ,EAA6B,SAASvhB,CAAT,GAAY;AAACs6B,aAAC,CAAChb,QAAF,OAAe,IAAE,CAAjB,GAAmBve,CAAC,EAApB,GAAuBu5B,CAAC,CAACigD,KAAF,CAAQh5D,GAAR,CAAY,gBAAZ,EAA6BvhB,CAA7B,CAAvB;AAAuD,WAAjG,CAAnB,GAAsHe,CAAC,EAAvH;AAA0H;AAAC,OAAjvB,CAA1mC,EAA61D,KAAKquI,qBAAL,CAA2B/sI,EAA3B,CAA8B,OAA9B,EAAsC,YAAU;AAACi4B,SAAC,CAACmiH,wBAAF,CAA2BniH,CAAC,CAAC80G,qBAAF,CAAwBnqI,KAAnD;AAA0D,OAA3G,CAA71D,EAA08D,KAAKmqI,qBAAL,CAA2B/sI,EAA3B,CAA8B,eAA9B,EAA8C,YAAU;AAACi4B,SAAC,CAAC2iH,kBAAF,CAAqBp+F,KAArB,IAA6BvkB,CAAC,CAAC2iH,kBAAF,CAAqBvwI,KAArB,EAA7B;AAA0D,OAAnH,CAA18D,EAA+jE,KAAK0iI,qBAAL,CAA2B/sI,EAA3B,CAA8B,aAA9B,EAA4C,YAAU;AAAC,YAAIrC,CAAC,GAACs6B,CAAC,CAAC80G,qBAAF,CAAwB3pF,KAAxB,EAAN;AAAA,YAAsC9e,CAAC,GAAC,MAAI3mC,CAAC,CAACozG,cAAN,GAAqB,GAA7D;AAAiEqpB,UAAE,CAACniG,CAAC,CAAC80G,qBAAF,CAAwBrU,MAAzB,EAAgCzgG,CAAC,CAAC80G,qBAAF,CAAwB3pF,KAAxB,EAAhC,CAAF,GAAmEnrB,CAAC,CAAC0iH,eAAF,CAAkBl4I,OAAlB,GAA0B,CAA7F,GAA+Fw1B,CAAC,CAAC0iH,eAAF,CAAkBl4I,OAAlB,GAA0B6hC,CAAzH,EAA2HrM,CAAC,CAAC2iH,kBAAF,CAAqBhnI,QAArB,CAA8BjW,CAA9B,EAAgCs6B,CAAC,CAAC0iH,eAAlC,CAA3H,EAA8K1iH,CAAC,CAAC2iH,kBAAF,CAAqBn0G,IAArB,EAA9K,EAA0MxO,CAAC,CAACigD,KAAF,CAAQh1E,OAAR,CAAgB;AAACgL,cAAI,EAAC,aAAN;AAAoBu5B,iBAAO,EAAC,CAAC;AAA7B,SAAhB,CAA1M;AAA2P,OAAnX,CAA/jE,EAAo7E,KAAKslG,qBAAL,CAA2B/sI,EAA3B,CAA8B,mBAA9B,EAAkD,YAAU;AAAC,YAAIrC,CAAC,GAACs6B,CAAC,CAAC80G,qBAAF,CAAwB3pF,KAAxB,EAAN;AAAsCnrB,SAAC,CAAC2jH,mBAAF,CAAsBj+I,CAAtB,MAA2Bs6B,CAAC,CAACmiH,wBAAF,CAA2B;AAACx+H,iBAAO,EAAC;AAAT,SAA3B,GAAqEqc,CAAC,CAACigD,KAAF,CAAQh1E,OAAR,CAAgB,eAAhB,CAAhG;AAAkI,OAArO,CAAp7E,EAA2pF,KAAK6pI,qBAAL,CAA2B/sI,EAA3B,CAA8B,mBAA9B,EAAkD,YAAU;AAACi4B,SAAC,CAACigD,KAAF,CAAQh1E,OAAR,CAAgB;AAACgL,cAAI,EAAC,OAAN;AAAcqZ,cAAI,EAAC;AAAnB,SAAhB;AAA8D,OAA3H,CAA3pF,EAAwxF,KAAKwlH,qBAAL,CAA2B/sI,EAA3B,CAA8B,kBAA9B,EAAiD,YAAU;AAACi4B,SAAC,CAACigD,KAAF,CAAQh1E,OAAR,CAAgB;AAACgL,cAAI,EAAC,OAAN;AAAcqZ,cAAI,EAAC;AAAnB,SAAhB;AAA6D,OAAzH,CAAxxF;AAAm5F;AAA19F,GAAD,EAA69F;AAACxE,OAAG,EAAC,uBAAL;AAA6BC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAACf,CAAC,CAACuyG,WAAF,IAAe,EAArB;AAAA,UAAwBj4E,CAAC,GAAC,CAAC,CAA3B;AAAA,UAA6BwmC,CAAC,GAACt6D,MAAM,CAAC8pB,IAAP,CAAYvvB,CAAC,CAACiwG,KAAd,CAA/B;;AAAoD,WAAI,IAAItsF,CAAR,IAAa3jB,CAAC,CAACiwG,KAAf;AAAqB,aAAI,IAAI51F,CAAR,IAAara,CAAC,CAACiwG,KAAF,CAAQtsF,CAAR,CAAb;AAAwB3jB,WAAC,CAACiwG,KAAF,CAAQtsF,CAAR,EAAWtJ,CAAX,EAAc29D,GAAd,KAAoBz+C,CAAC,GAAC,CAAC,CAAvB;AAAxB;AAArB;;AAAuEA,OAAC,IAAE,KAAKigD,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,YAAI,EAAC,OAAN;AAAcqZ,YAAI,EAAC;AAAnB,OAAnB,CAAH,EAAyDpjB,MAAM,CAAC8pB,IAAP,CAAYvvB,CAAC,CAACmwG,SAAd,EAAyBhuG,MAAzB,IAAiC,KAAKq3E,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,YAAI,EAAC,OAAN;AAAcqZ,YAAI,EAAC;AAAnB,OAAnB,CAA1F,EAA+IgzH,EAAE,CAACsB,QAAH,CAAYvd,KAAZ,CAAkBh6F,CAAlB,KAAsB,KAAK4zC,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,YAAI,EAAC,OAAN;AAAcqZ,YAAI,EAAC;AAAnB,OAAnB,CAArK,EAAuNgzH,EAAE,CAACsB,QAAH,CAAYtd,MAAZ,CAAmBj6F,CAAnB,KAAuB,KAAK4zC,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,YAAI,EAAC,OAAN;AAAcqZ,YAAI,EAAC;AAAnB,OAAnB,CAA9O,EAAiSk3C,CAAC,CAAC59D,MAAF,IAAU,IAAEsD,MAAM,CAAC8pB,IAAP,CAAYvvB,CAAC,CAACiwG,KAAF,CAAQlwC,CAAC,CAAC,CAAD,CAAT,CAAZ,EAA2B59D,MAAvC,IAA+C,KAAKq3E,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,YAAI,EAAC,OAAN;AAAcqZ,YAAI,EAAC;AAAnB,OAAnB,CAAhV,EAA8Y,KAAKi0H,WAAL,IAAkB,KAAKtjE,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,YAAI,EAAC,OAAN;AAAcqZ,YAAI,EAAC;AAAnB,OAAnB,CAAha;AAAge;AAA5oB,GAA79F,EAA2mH;AAACxE,OAAG,EAAC,8BAAL;AAAoCC,SAAK,EAAC,iBAAU;AAAC,UAAIiV,CAAC,GAAC,IAAN;AAAW,WAAK2iH,kBAAL,CAAwB56I,EAAxB,CAA2B,iBAA3B,EAA6C,YAAU;AAAC,YAAIrC,CAAC,GAACs6B,CAAC,CAACqjH,cAAF,EAAN;AAAA,YAAyBh3G,CAAC,GAACrM,CAAC,CAAC80G,qBAAF,CAAwB3pF,KAAxB,EAA3B;AAAA,YAA2D1kD,CAAC,GAACu5B,CAAC,CAACigD,KAAF,CAAQ6J,QAAR,EAA7D;AAAgF,SAAC,UAASpkF,CAAT,EAAW;AAAC,cAAI2mC,CAAC,GAAC3mC,CAAC,CAACm+I,eAAR;AAAA,cAAwBp9I,CAAC,GAACf,CAAC,CAACo+I,YAA5B;AAAA,cAAyC9jH,CAAC,GAACt6B,CAAC,CAACq+I,aAA7C;AAAA,cAA2Dv9E,CAAC,GAAC9gE,CAAC,CAACs+I,kBAA/D;AAAA,cAAkF55H,CAAC,GAAC1kB,CAAC,CAACsf,QAAtF;AAA+F,iBAAOtf,CAAC,CAACse,GAAF,EAAMvd,CAAC,GAAC,CAAC4lC,CAAC,CAAC6qE,OAAH,IAAY9sF,CAAC,GAACsuH,EAAE,CAACO,yBAAjB,IAA4CxyI,CAAC,CAACwF,UAAF,CAAa0pG,SAAb,GAAuBtpE,CAAC,CAACpgC,UAAF,CAAa0pG,SAAhF,IAA2FnvC,CAAC,IAAExmC,CAA/F,IAAkGsyE,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,iEAAZ,GAA+E,CAAC,CAAlL,CAAd;AAAmM,SAA9S,CAA+S;AAAC2+G,yBAAe,EAACx3G,CAAjB;AAAmBy3G,sBAAY,EAACp+I,CAAhC;AAAkCq+I,uBAAa,EAACt9I,CAAC,CAACmC,MAAF,GAASnC,CAAC,CAAC2oB,GAAF,CAAM3oB,CAAC,CAACmC,MAAF,GAAS,CAAf,IAAkBo3B,CAAC,CAACigD,KAAF,CAAQ1qE,WAAR,EAA3B,GAAiD,CAAjG;AAAmGyuI,4BAAkB,EAAChkH,CAAC,CAACgkH,kBAAF,EAAtH;AAA6Ih/H,kBAAQ,EAACgb,CAAC,CAAChb,QAAF,EAAtJ;AAAmKhB,aAAG,EAACgc,CAAC,CAACw2G;AAAzK,SAA/S,CAAD,IAAoex2G,CAAC,CAAC80G,qBAAF,CAAwB3pF,KAAxB,CAA8BzlD,CAA9B,CAApe,EAAqgBs6B,CAAC,CAACigD,KAAF,CAAQh1E,OAAR,CAAgB,iBAAhB,CAArgB;AAAwiB,OAAhrB,GAAkrB,KAAK03I,kBAAL,CAAwB56I,EAAxB,CAA2B,UAA3B,EAAsC,YAAU;AAACi4B,SAAC,CAAC/0B,OAAF,CAAU,UAAV;AAAsB,OAAvE,CAAlrB,EAA2vB,KAAK03I,kBAAL,CAAwB56I,EAAxB,CAA2B,OAA3B,EAAmC,YAAU;AAACi4B,SAAC,CAACmiH,wBAAF,CAA2BniH,CAAC,CAAC2iH,kBAAF,CAAqBh4I,KAArB,EAA3B;AAAyD,OAAvG,CAA3vB,EAAo2B,KAAKg4I,kBAAL,CAAwB56I,EAAxB,CAA2B,gBAA3B,EAA4C,YAAU;AAACi4B,SAAC,CAACikH,iBAAF;AAAsB,OAA7E,CAAp2B,EAAm7B,KAAKtB,kBAAL,CAAwB56I,EAAxB,CAA2B,iBAA3B,EAA6C,YAAU;AAACi4B,SAAC,CAACigD,KAAF,CAAQh1E,OAAR,CAAgB;AAACgL,cAAI,EAAC,OAAN;AAAcqZ,cAAI,EAAC;AAAnB,SAAhB;AAA4D,OAApH,CAAn7B,EAAyiC,KAAKszH,mBAAL,CAAyB76I,EAAzB,CAA4B,gBAA5B,EAA6C,YAAU;AAACi4B,SAAC,CAACikH,iBAAF;AAAsB,OAA9E,CAAziC,EAAynC,KAAKtB,kBAAL,CAAwB56I,EAAxB,CAA2B,OAA3B,EAAmC,YAAU;AAACi4B,SAAC,CAACkkH,aAAF;AAAkB,OAAhE,CAAznC,EAA2rC,KAAKvB,kBAAL,CAAwB56I,EAAxB,CAA2B,YAA3B,EAAwC,YAAU;AAACi4B,SAAC,CAACmiH,wBAAF,CAA2B;AAACx+H,iBAAO,EAAC;AAAT,SAA3B,EAAuI,GAAvI;AAA4I,OAA/L,CAA3rC,EAA43C,KAAKg/H,kBAAL,CAAwB56I,EAAxB,CAA2B,iBAA3B,EAA6C,YAAU;AAACi4B,SAAC,CAACigD,KAAF,CAAQh1E,OAAR,CAAgB,WAAhB;AAA6B,OAArF,CAA53C,EAAm9C,KAAK03I,kBAAL,CAAwB56I,EAAxB,CAA2B,oBAA3B,EAAgD,UAASrC,CAAT,EAAW;AAACs6B,SAAC,CAACigD,KAAF,CAAQh1E,OAAR,CAAgB;AAACgL,cAAI,EAAC,0BAAN;AAAiC09H,iBAAO,EAACjuI,CAAC,CAACiuI;AAA3C,SAAhB;AAAqE,OAAjI,CAAn9C,EAAslD,KAAKiP,mBAAL,CAAyB76I,EAAzB,CAA4B,OAA5B,EAAoC,YAAU;AAACi4B,SAAC,CAACkkH,aAAF;AAAkB,OAAjE,CAAtlD;AAAypD;AAAztD,GAA3mH,EAAs0K;AAACp5H,OAAG,EAAC,qBAAL;AAA2BC,SAAK,EAAC,iBAAU;AAAC,aAAO1E,IAAI,CAACC,GAAL,CAAS,KAAKs8H,mBAAL,CAAyBjJ,kBAAzB,GAA4C,KAAKgJ,kBAAL,CAAwBhJ,kBAA7E,CAAP;AAAwG;AAApJ,GAAt0K,EAA49K;AAAC7uH,OAAG,EAAC,MAAL;AAAYC,SAAK,EAAC,iBAAU;AAAC,WAAK43H,kBAAL,CAAwBn0G,IAAxB,IAA+B,KAAKs0G,WAAL,CAAiBpsC,KAAjB,CAAuB0qC,oBAAvB,IAA6C,KAAKwB,mBAAL,CAAyBp0G,IAAzB,EAA5E,EAA4G,KAAKs0G,WAAL,CAAiBlsC,SAAjB,CAA2BwqC,oBAA3B,IAAiD,KAAKyB,sBAAL,CAA4Br0G,IAA5B,EAA7J;AAAgM;AAA7N,GAA59K,EAA2rL;AAAC1jB,OAAG,EAAC,sBAAL;AAA4BC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,KAAK29I,cAAL,EAAN;AAA4B39I,OAAC,KAAG,KAAKovI,qBAAL,CAA2B3pF,KAA3B,EAAJ,KAAyC,KAAK2pF,qBAAL,CAA2B3pF,KAA3B,CAAiCzlD,CAAjC,GAAoC,KAAKi9I,kBAAL,CAAwBtH,WAAxB,EAA7E;AAAoH;AAA7L,GAA3rL,EAA03L;AAACvwH,OAAG,EAAC,oBAAL;AAA0BC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,IAAN;AAAA,UAAW2mC,CAAC,GAAC,KAAKg3G,cAAL,EAAb;AAAmCh3G,OAAC,KAAG,KAAKyoG,qBAAL,CAA2B3pF,KAA3B,EAAJ,KAAyC,KAAK2pF,qBAAL,CAA2B3pF,KAA3B,CAAiC9e,CAAjC,GAAoC,KAAKs2G,kBAAL,CAAwB3H,eAAxB,CAAwC,YAAU;AAAC1oC,UAAE,CAACW,OAAH,CAAW5+B,UAAX,IAAuBi+B,EAAE,CAACW,OAAH,CAAW/+B,OAAlC,GAA0CxuE,CAAC,CAACu6E,KAAF,CAAQxkE,cAAR,CAAuB/V,CAAC,CAACu6E,KAAF,CAAQ1qE,WAAR,KAAsB,GAA7C,CAA1C,GAA4F7P,CAAC,CAACu6E,KAAF,CAAQxkE,cAAR,CAAuB/V,CAAC,CAACu6E,KAAF,CAAQ1qE,WAAR,EAAvB,CAA5F;AAA0I,OAA7L,CAA7E;AAA6Q;AAA3V,GAA13L,EAAutM;AAACuV,OAAG,EAAC,MAAL;AAAYC,SAAK,EAAC,iBAAU;AAAC,UAAG,CAAC,KAAKk4H,cAAL,EAAJ,EAA0B;AAAC,aAAKhjE,KAAL,CAAWyT,KAAX,MAAoB,KAAKzT,KAAL,CAAWxkE,cAAX,CAA0B,CAA1B,CAApB,EAAiD,KAAKsgI,UAAL,IAAiB,KAAKvtG,IAAL,EAAlE;AAA8E,YAAI9oC,CAAC,GAAC,KAAKu6E,KAAL,CAAWkN,QAAX,EAAN;AAA4B,eAAO,KAAKlN,KAAL,CAAWj7D,QAAX,OAAwB,IAAE,CAA1B,IAA6B,KAAKi7D,KAAL,CAAW1qE,WAAX,KAAyB7P,CAAC,CAACwhB,KAAF,CAAQ,CAAR,CAAtD,GAAiE,KAAK+4D,KAAL,CAAWxkE,cAAX,CAA0B/V,CAAC,CAAC0pB,GAAF,CAAM1pB,CAAC,CAACkD,MAAF,GAAS,CAAf,CAA1B,CAAjE,GAA8G,KAAK,CAA1H;AAA4H;AAAC;AAA/R,GAAvtM,EAAw/M;AAACkiB,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,IAAN;AAAA,UAAW2mC,CAAC,GAAC,KAAKyoG,qBAAL,CAA2B3pF,KAA3B,EAAb;AAAgD,UAAG,CAAC9e,CAAD,IAAI,KAAK4zC,KAAL,CAAWtqE,MAAX,EAAJ,IAAyB,KAAKomI,UAAjC,EAA4C,OAAM,CAAC,CAAP;;AAAS,UAAG,CAAC1vG,CAAC,CAAC6qE,OAAN,EAAc;AAAC,YAAIzwG,CAAC,GAAC,KAAK0mF,QAAL,EAAN;AAAsB,YAAG,CAAC1mF,CAAC,CAACmC,MAAN,EAAa,OAAM,CAAC,CAAP;AAAS,YAAG0pG,EAAE,CAACW,OAAH,CAAW5+B,UAAX,IAAuB,MAAI,KAAK4L,KAAL,CAAWz6C,UAAX,EAA9B,EAAsD,OAAO,KAAKy6C,KAAL,CAAWh5D,GAAX,CAAe,gBAAf,EAAgC,YAAU;AAACvhB,WAAC,CAACuF,OAAF,CAAU,WAAV,GAAuBvF,CAAC,CAACu6E,KAAF,CAAQxkE,cAAR,CAAuBhV,CAAC,CAAC2oB,GAAF,CAAM,CAAN,CAAvB,CAAvB,EAAwD1pB,CAAC,CAACq2I,UAAF,GAAa,CAAC,CAAtE;AAAwE,SAAnH,GAAqH,CAAC,CAA7H;AAA+H,aAAK9wI,OAAL,CAAa,WAAb,GAA0B,KAAKg1E,KAAL,CAAWxkE,cAAX,CAA0BhV,CAAC,CAAC2oB,GAAF,CAAM,CAAN,CAA1B,CAA1B;AAA8D;;AAAA,aAAO,KAAK2sH,UAAL,GAAgB,CAAC,CAAjB,EAAmB,KAAKvtG,IAAL,EAAnB,EAA+B,CAAC,CAAvC;AAAyC;AAAne,GAAx/M,EAA69N;AAAC1jB,OAAG,EAAC,mBAAL;AAAyBC,SAAK,EAAC,iBAAU;AAAC,UAAG;AAAC,aAAKi4H,mBAAL;AAA2B,OAA/B,CAA+B,OAAMt9I,CAAN,EAAQ;AAAC,eAAO4sG,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,iCAAZ,EAA8Cx/B,CAA9C,GAAiD,KAAK6wI,WAAL,CAAiB0F,WAAjB,CAA6B,QAA7B,CAAxD;AAA+F;;AAAA,UAAG,KAAKh8D,KAAL,CAAW5zE,QAAX,EAAH,EAAyB;AAAC,YAAI3G,CAAC,GAAC,KAAKu6E,KAAL,CAAW3tE,IAAX,EAAN;AAAwB,uBAAa,OAAO5M,CAApB,IAAuB,cAAY,OAAOA,CAAC,CAAC2E,IAA5C,IAAkD3E,CAAC,CAAC2E,IAAF,CAAO,IAAP,EAAY,UAAS3E,CAAT,EAAW,CAAE,CAAzB,CAAlD;AAA6E;;AAAA,WAAKuF,OAAL,CAAa,YAAb;AAA2B;AAA3U,GAA79N,EAA0yO;AAAC6f,OAAG,EAAC,eAAL;AAAqBC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,KAAKi9I,kBAAL,CAAwBrI,MAA9B;;AAAqC,UAAG,KAAKwI,WAAL,CAAiBpsC,KAAjB,CAAuB0qC,oBAAvB,KAA8C17I,CAAC,GAAC,CAAC,KAAKi9I,kBAAL,CAAwB9E,cAAzB,IAAyC,KAAK8E,kBAAL,CAAwB9E,cAAxB,CAAuCE,aAAhF,GAA8Fr4I,CAAC,IAAE,KAAKk9I,mBAAL,CAAyBtI,MAA1H,GAAiI,KAAKsI,mBAAL,CAAyBtI,MAA1M,GAAkN50I,CAArN,EAAuN;AAAC,aAAK8wI,OAAL,CAAa,mCAAb;;AAAkD,YAAG;AAAC,eAAKD,WAAL,CAAiB0F,WAAjB;AAA+B,SAAnC,CAAmC,OAAMv2I,CAAN,EAAQ;AAAC4sG,YAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,yCAAZ,EAAsDx/B,CAAtD;AAAyD;AAAC;AAAC;AAA5b,GAA1yO,EAAwuP;AAAColB,OAAG,EAAC,qBAAL;AAA2BC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAG,CAAC,KAAKynF,QAAL,GAAgBvkF,MAApB,EAA2B,OAAM,CAAC,CAAP;AAAS,UAAIyjC,CAAC,GAAC,KAAK4tG,eAAL,CAAqBkK,cAArB,CAAoCz+I,CAApC,EAAsC,KAAK6wI,WAAL,CAAiBvxH,QAAvD,CAAN;AAAuE,UAAG,SAAOqnB,CAAV,EAAY,OAAM,CAAC,CAAP;AAAS,UAAI5lC,CAAC,GAAC67I,EAAE,CAACsB,QAAH,CAAYxd,WAAZ,CAAwB1gI,CAAxB,EAA0B2mC,CAA1B,CAAN;AAAA,UAAmCrM,CAAC,GAAC,KAAKigD,KAAL,CAAW1qE,WAAX,EAArC;AAAA,UAA8DixD,CAAC,GAAC,KAAKyZ,KAAL,CAAW6J,QAAX,EAAhE;AAAsF,UAAG,CAACtjB,CAAC,CAAC59D,MAAN,EAAa,OAAOnC,CAAC,GAACu5B,CAAF,IAAK,EAAZ;AAAe,UAAI5V,CAAC,GAACo8C,CAAC,CAACp3C,GAAF,CAAMo3C,CAAC,CAAC59D,MAAF,GAAS,CAAf,CAAN;AAAwB,aAAOwhB,CAAC,GAAC4V,CAAF,IAAK,EAAL,IAASv5B,CAAC,GAAC2jB,CAAF,IAAK,EAArB;AAAwB;AAA/U,GAAxuP,EAAyjQ;AAACU,OAAG,EAAC,0BAAL;AAAgCC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAJ;AAAA,UAAMu5B,CAAC,GAAC,IAAEpR,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASlD,CAA7B,GAA+BA,CAA/B,GAAiC,EAAzC;AAAA,UAA4C8gE,CAAC,GAACn6B,CAA9C;AAAA,UAAgDjiB,CAAC,GAAC,KAAK,CAAvD;;AAAyD,UAAGA,CAAC,GAAC4V,CAAC,CAACrkB,QAAF,IAAY,KAAKm5H,qBAAL,CAA2B3pF,KAA3B,EAAd,EAAiDqb,CAAC,GAACA,CAAC,IAAExmC,CAAC,CAACg+G,iBAAL,IAAwB,KAAKA,iBAAhF,EAAkG,CAAC5zH,CAAtG,EAAwG;AAAC,aAAKzf,KAAL,GAAWq1B,CAAX;;AAAa,YAAG;AAAC,iBAAO,KAAKu2G,WAAL,CAAiB0F,WAAjB,CAA6B,SAA7B,CAAP;AAA+C,SAAnD,CAAmD,OAAMv2I,CAAN,EAAQ;AAAC,iBAAO,KAAKuF,OAAL,CAAa,OAAb,CAAP;AAA6B;AAAC;;AAAA,UAAI6V,CAAC,GAAC,MAAI,KAAKg0H,qBAAL,CAA2BrU,MAA3B,CAAkCzoB,SAAlC,CAA4CluG,MAA5C,CAAmDm4H,EAAnD,EAAuDr5H,MAAjE;AAAA,UAAwEy9D,CAAC,GAAC,KAAKyuE,qBAAL,CAA2BrU,MAA3B,CAAkCzoB,SAA5G;AAAsH,aAAO,MAAI3xC,CAAC,CAACz9D,MAAN,IAAc0pG,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,gGAAZ,GAA8G,KAAK+6C,KAAL,CAAWh1E,OAAX,CAAmB,eAAnB,CAA9G,EAAkJ,KAAK6pI,qBAAL,CAA2BtmG,IAA3B,CAAgC1tB,CAAhC,CAAhK,KAAqMA,CAAC,KAAGwxF,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,kGAAZ,GAAgHmhC,CAAC,CAAC53D,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAACA,SAAC,CAACq8H,YAAF,KAAiB,IAAE,CAAnB,IAAsB,OAAOr8H,CAAC,CAACq8H,YAA/B;AAA4C,OAAlE,CAAhH,EAAoL,KAAK9hD,KAAL,CAAWh1E,OAAX,CAAmB,eAAnB,CAAvL,CAAD,EAA6Nmf,CAAC,CAAC23G,YAAF,GAAejwG,IAAI,CAACrH,GAAL,KAAW,MAAI+7C,CAA3P,EAA6P,KAAKyZ,KAAL,CAAWh1E,OAAX,CAAmB,mBAAnB,CAA7P,EAAqS,KAAKg1E,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,YAAI,EAAC,OAAN;AAAcqZ,YAAI,EAAC;AAAnB,OAAnB,CAArS,EAAyW7oB,CAAC,GAAC,KAAK48I,cAAL,EAA3W,EAAiY/wC,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,wDAAsDlF,CAAC,CAACrc,OAAF,GAAU,MAAIqc,CAAC,CAACrc,OAAhB,GAAwB,EAA9E,IAAkF,iCAA9F,CAAjY,EAAkgB,KAAKmxH,qBAAL,CAA2B3pF,KAA3B,CAAiC1kD,CAAjC,EAAmCqa,CAAnC,CAAvsB,CAAP;AAAqvB;AAAxqC,GAAzjQ,EAAmuS;AAACgK,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,iBAAU;AAAC,WAAK43H,kBAAL,CAAwBvwI,KAAxB,IAAgC,KAAK0wI,WAAL,CAAiBpsC,KAAjB,CAAuB0qC,oBAAvB,IAA6C,KAAKwB,mBAAL,CAAyBxwI,KAAzB,EAA7E,EAA8G,KAAK0wI,WAAL,CAAiBlsC,SAAjB,CAA2BwqC,oBAA3B,IAAiD,KAAKyB,sBAAL,CAA4BzwI,KAA5B,EAA/J;AAAmM;AAAxO,GAAnuS,EAA68S;AAAC0Y,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAACs4F,EAAE,CAAC,KAAK1kD,KAAL,CAAW6J,QAAX,EAAD,EAAuBpkF,CAAvB,CAAR;AAAkC,aAAO,KAAKovI,qBAAL,IAA4B,KAAKA,qBAAL,CAA2B3pF,KAA3B,EAA5B,IAAgE,KAAK2pF,qBAAL,CAA2B3pF,KAA3B,GAAmC6rD,QAAnG,GAA4G3qE,CAAC,IAAEA,CAAC,CAACzjC,MAAL,GAAYlD,CAAZ,IAAe,KAAKi9I,kBAAL,CAAwB3H,eAAxB,IAA0C,KAAK2H,kBAAL,CAAwBp+F,KAAxB,EAA1C,EAA0E,KAAKu+F,WAAL,CAAiBpsC,KAAjB,CAAuB0qC,oBAAvB,KAA8C,KAAKwB,mBAAL,CAAyB5H,eAAzB,IAA2C,KAAK4H,mBAAL,CAAyBr+F,KAAzB,EAAzF,CAA1E,EAAqM,KAAKu+F,WAAL,CAAiBlsC,SAAjB,CAA2BwqC,oBAA3B,KAAkD,KAAKyB,sBAAL,CAA4B7H,eAA5B,IAA8C,KAAK6H,sBAAL,CAA4Bt+F,KAA5B,EAAhG,CAArM,EAA0U,KAAK,KAAK/V,IAAL,EAA9V,CAA5G,GAAud,CAA9d;AAAge;AAA1iB,GAA78S,EAAy/T;AAAC1jB,OAAG,EAAC,UAAL;AAAgBC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAK+pH,qBAAL,GAA2B,KAAKyB,WAAL,GAAiB,KAAKA,WAAL,CAAiBvxH,QAAlC,GAA2Cs9H,EAAE,CAACsB,QAAH,CAAY5+H,QAAZ,CAAqB,KAAK8vH,qBAAL,CAA2B3pF,KAA3B,EAArB,CAAtE,GAA+H,CAAtI;AAAwI;AAAzK,GAAz/T,EAAoqU;AAACrgC,OAAG,EAAC,UAAL;AAAgBC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAKsyH,SAAZ;AAAsB;AAAvD,GAApqU,EAA6tU;AAACvyH,OAAG,EAAC,mBAAL;AAAyBC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,KAAK,CAAX;;AAAa,UAAG,KAAKovI,qBAAR,EAA8B;AAAC,YAAIzoG,CAAC,GAAC,KAAKyoG,qBAAL,CAA2B3pF,KAA3B,EAAN;;AAAyC,YAAG9e,CAAH,EAAK;AAAC,cAAI5lC,CAAC,GAAC,KAAKwzI,eAAL,CAAqBkK,cAArB,CAAoC93G,CAApC,EAAsC,KAAKkqG,WAAL,CAAiBvxH,QAAvD,CAAN;;AAAuE,cAAG,SAAOve,CAAV,EAAY;AAAC,gBAAIu5B,CAAC,GAAC,KAAK80G,qBAAL,CAA2BrU,MAA3B,CAAkC7Y,0BAAxC;AAAA,gBAAmEphD,CAAC,GAAC87E,EAAE,CAACsB,QAAH,CAAYz2D,QAAZ,CAAqB9gD,CAArB,EAAuB5lC,CAAvB,EAAyBu5B,CAAzB,CAArE;;AAAiG,gBAAG,MAAIwmC,CAAC,CAAC59D,MAAT,EAAgB;AAAC,kBAAG,KAAKk6I,WAAL,CAAiBpsC,KAAjB,CAAuB0qC,oBAA1B,EAA+C;AAAC,oBAAG/0G,CAAC,GAAC,KAAKy2G,WAAL,CAAiBpsC,KAAjB,CAAuB0qC,oBAAvB,CAA4Cj2F,KAA5C,EAAF,EAAsD,UAAQ1kD,CAAC,GAAC,KAAKwzI,eAAL,CAAqBkK,cAArB,CAAoC93G,CAApC,EAAsC,KAAKkqG,WAAL,CAAiBvxH,QAAvD,CAAV,CAAzD,EAAqI;AAAO,oBAAG,MAAI,CAACtf,CAAC,GAAC48I,EAAE,CAACsB,QAAH,CAAYz2D,QAAZ,CAAqB9gD,CAArB,EAAuB5lC,CAAvB,EAAyBu5B,CAAzB,CAAH,EAAgCp3B,MAAvC,EAA8C;AAAO;;AAAA,kBAAIwhB,CAAC,GAAC,KAAK,CAAX;AAAA,kBAAatJ,CAAC,GAAC,KAAK,CAApB;AAAsB,mBAAKu8H,SAAL,IAAgB,KAAKA,SAAL,CAAez0I,MAA/B,KAAwCwhB,CAAC,GAAC,KAAKizH,SAAL,CAAejuH,GAAf,CAAmB,CAAnB,CAAF,EAAwBtO,CAAC,GAAC,KAAKu8H,SAAL,CAAen2H,KAAf,CAAqB,CAArB,CAAlE,GAA2FxhB,CAAC,GAACA,CAAC,CAACwhB,KAAF,CAAQ,CAAR,IAAWs/C,CAAC,CAACp3C,GAAF,CAAM,CAAN,CAAX,IAAqBo3C,CAAC,CAACt/C,KAAF,CAAQ,CAAR,IAAWxhB,CAAC,CAAC0pB,GAAF,CAAM,CAAN,CAAhC,GAAyC,KAAKiuH,SAAL,GAAe72E,CAAxD,GAA0D,KAAK62E,SAAL,GAAe/qC,EAAE,CAACgB,gBAAH,CAAoB,CAAC,CAAC5tG,CAAC,CAACwhB,KAAF,CAAQ,CAAR,IAAWs/C,CAAC,CAACt/C,KAAF,CAAQ,CAAR,CAAX,GAAsBxhB,CAAC,CAACwhB,KAAF,CAAQ,CAAR,CAAtB,GAAiCs/C,CAAC,CAACt/C,KAAF,CAAQ,CAAR,CAAlC,EAA6CxhB,CAAC,CAAC0pB,GAAF,CAAM,CAAN,IAASo3C,CAAC,CAACp3C,GAAF,CAAM,CAAN,CAAT,GAAkB1pB,CAAC,CAAC0pB,GAAF,CAAM,CAAN,CAAlB,GAA2Bo3C,CAAC,CAACp3C,GAAF,CAAM,CAAN,CAAxE,CAAD,CAApB,CAA1E,GAAmL,KAAKiuH,SAAL,GAAe72E,CAA9R,EAAgS,KAAK62E,SAAL,IAAgB,KAAKA,SAAL,CAAez0I,MAA/B,IAAuC,KAAKy0I,SAAL,CAAejuH,GAAf,CAAmB,CAAnB,MAAwBhF,CAA/D,IAAkE,KAAKizH,SAAL,CAAen2H,KAAf,CAAqB,CAArB,MAA0BpG,CAA5F,KAAgG,KAAK01H,OAAL,CAAa,uBAAqB3R,EAAE,CAAC,KAAKwY,SAAN,CAAvB,GAAwC,GAArD,GAA0D,KAAKp9D,KAAL,CAAWh1E,OAAX,CAAmB,iBAAnB,CAA1J,CAAhS;AAAie;AAAC;AAAC;AAAC;AAAC;AAAvjC,GAA7tU,EAAsxW;AAAC6f,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,iBAAU;AAAC,eAASrlB,CAAT,GAAY;AAAC2mC,SAAC,CAACmqG,OAAF,CAAU,2BAAyBnqG,CAAC,CAACkqG,WAAF,CAAcvxH,QAAvC,GAAgD,MAAhD,GAAuDgb,CAAjE;;AAAoE,YAAG;AAACqM,WAAC,CAACkqG,WAAF,CAAcvxH,QAAd,GAAuBgb,CAAvB;AAAyB,SAA7B,CAA6B,OAAMt6B,CAAN,EAAQ;AAAC4sG,YAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,qCAAZ,EAAkDx/B,CAAlD;AAAqD;;AAAA2mC,SAAC,CAAC4zC,KAAF,CAAQh1E,OAAR,CAAgB,gBAAhB,GAAkCohC,CAAC,CAACkqG,WAAF,CAAc7xH,mBAAd,CAAkC,YAAlC,EAA+Chf,CAA/C,CAAlC;AAAoF;;AAAA,UAAI2mC,CAAC,GAAC,IAAN;AAAA,UAAW5lC,CAAC,GAAC,KAAK8vI,WAAL,CAAiBvxH,QAA9B;AAAA,UAAuCgb,CAAC,GAACsiH,EAAE,CAACsB,QAAH,CAAY5+H,QAAZ,CAAqB,KAAK8vH,qBAAL,CAA2B3pF,KAA3B,EAArB,CAAzC;AAAA,UAAkGqb,CAAC,GAAC,KAAKyZ,KAAL,CAAW6J,QAAX,EAApG;AAA0H,UAAEtjB,CAAC,CAAC59D,MAAJ,KAAao3B,CAAC,GAAC3Z,IAAI,CAACC,GAAL,CAAS0Z,CAAT,EAAWwmC,CAAC,CAACp3C,GAAF,CAAMo3C,CAAC,CAAC59D,MAAF,GAAS,CAAf,CAAX,CAAf,GAA8CnC,CAAC,KAAGu5B,CAAJ,KAAQ,WAAS,KAAKu2G,WAAL,CAAiB/wG,UAA1B,GAAqC,KAAK+wG,WAAL,CAAiBj4H,gBAAjB,CAAkC,YAAlC,EAA+C5Y,CAA/C,CAArC,GAAuFA,CAAC,EAAhG,CAA9C;AAAkJ;AAAnjB,GAAtxW,EAA20X;AAAColB,OAAG,EAAC,SAAL;AAAeC,SAAK,EAAC,iBAAU;AAAC,UAAIiV,CAAC,GAAC,IAAN;AAAW,WAAK/0B,OAAL,CAAa,SAAb,GAAwB,KAAKgyI,UAAL,IAAiB,KAAKA,UAAL,CAAgBjV,SAAhB,EAAzC,EAAqE,KAAK8M,qBAAL,CAA2B39H,OAA3B,EAArE,EAA0G,KAAKwrI,kBAAL,CAAwBxrI,OAAxB,EAA1G,EAA4I,CAAC,OAAD,EAAS,WAAT,EAAsB1I,OAAtB,CAA8B,UAAS/I,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAACrM,CAAC,CAAC8iH,WAAF,CAAcp9I,CAAd,EAAiB0vB,MAAvB;;AAA8B,aAAI,IAAI3uB,CAAR,IAAa4lC,CAAb;AAAeA,WAAC,CAAC5lC,CAAD,CAAD,CAAKgI,OAAL,CAAa,UAAS/I,CAAT,EAAW;AAACA,aAAC,CAACq8I,cAAF,IAAkBr8I,CAAC,CAACq8I,cAAF,CAAiB5qI,OAAjB,EAAlB;AAA6C,WAAtE;AAAf;AAAuF,OAA/J,CAA5I,EAA6S,KAAKyrI,mBAAL,CAAyBzrI,OAAzB,EAA7S,EAAgV,KAAK0rI,sBAAL,CAA4B1rI,OAA5B,EAAhV,EAAsX,KAAKrP,GAAL,EAAtX,EAAiY,KAAKyuI,WAAL,CAAiBp/H,OAAjB,IAA0B,KAAKo/H,WAAL,CAAiBp/H,OAAjB,EAA3Z;AAAsb;AAAje,GAA30X,EAA8yY;AAAC2T,OAAG,EAAC,QAAL;AAAcC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAK+pH,qBAAL,CAA2BrU,MAAlC;AAAyC;AAAxE,GAA9yY,EAAw3Y;AAAC31G,OAAG,EAAC,OAAL;AAAaC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAK+pH,qBAAL,CAA2B3pF,KAA3B,MAAoC,KAAKm4F,aAAhD;AAA8D;AAA5F,GAAx3Y,EAAs9Y;AAACx4H,OAAG,EAAC,qBAAL;AAA2BC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAJ;AAAA,UAAM2mC,CAAC,GAAC,KAAKyoG,qBAAL,CAA2B3pF,KAA3B,EAAR;;AAA2C,UAAG9e,CAAC,IAAE,WAAS,KAAKkqG,WAAL,CAAiB/wG,UAAhC,EAA2C;AAAC,YAAG,CAAC9/B,CAAC,GAACyjI,EAAE,CAAC,KAAK2L,qBAAL,CAA2BrU,MAA5B,EAAmCp0F,CAAnC,CAAL,EAA4CzjC,MAA5C,GAAmD,CAAtD,EAAwD,OAAO,KAAK+B,KAAL,GAAW,qEAAmE0hC,CAAC,CAAC+5E,WAAhF,EAA4F,KAAKmwB,WAAL,CAAiB0F,WAAjB,CAA6B,QAA7B,CAAnG;AAA0I,aAAKmI,yBAAL,CAA+B1+I,CAA/B,GAAkC,KAAK2+I,4BAAL,CAAkCh4G,CAAlC,CAAlC;AAAuE;AAAC;AAA7Y,GAAt9Y,EAAq2Z;AAACvhB,OAAG,EAAC,2BAAL;AAAiCC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,IAAE3mC,CAAC,CAACkD,MAAJ,IAAY,CAAC,CAAD,KAAKlD,CAAC,CAAC,CAAD,CAAD,CAAKmB,OAAL,CAAa,GAAb,CAAjB,IAAoCnB,CAAC,CAAC,CAAD,CAAD,KAAOA,CAAC,CAAC,CAAD,CAA5C,GAAgD,IAAI4sG,EAAE,CAACoB,WAAP,EAAhD,GAAmE,IAAzE;AAA8E,WAAKivC,kBAAL,CAAwB5gG,QAAxB,CAAiCr8C,CAAC,CAAC,CAAD,CAAlC,EAAsC2mC,CAAtC,GAAyC3mC,CAAC,CAAC,CAAD,CAAD,IAAM,KAAKk9I,mBAAL,CAAyB7gG,QAAzB,CAAkCr8C,CAAC,CAAC,CAAD,CAAnC,EAAuC2mC,CAAvC,CAA/C;AAAyF;AAA1N,GAAr2Z,EAAika;AAACvhB,OAAG,EAAC,6BAAL;AAAmCC,SAAK,EAAC,iBAAU;AAAC,WAAK01G,MAAL,GAAczoB,SAAd,CAAwBvpG,OAAxB,CAAgC,UAAS/I,CAAT,EAAW;AAACA,SAAC,CAACuG,UAAF,CAAau7G,MAAb,IAAqBx/F,CAAC,CAACqrH,WAAvB,IAAoCrrH,CAAC,CAACqrH,WAAF,CAAca,eAAlD,IAAmE,CAAClsH,CAAC,CAACqrH,WAAF,CAAca,eAAd,CAA8B,wBAAsB,UAASxuI,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACqE,OAAF,CAAU,qBAAV,EAAgC,UAASrE,CAAT,EAAW;AAAC,mBAAOkjI,EAAE,CAAC,CAACljI,CAAD,CAAD,CAAF,CAAQ,CAAR,CAAP;AAAkB,WAA9D,CAAP;AAAuE,SAAnF,CAAoFA,CAAC,CAACuG,UAAF,CAAau7G,MAAjG,CAAtB,GAA+H,GAA7J,CAApE,KAAwO9hH,CAAC,CAACq8H,YAAF,GAAe,IAAE,CAAzP;AAA4P,OAAxS;AAA0S;AAA9V,GAAjka,EAAi6a;AAACj3G,OAAG,EAAC,8BAAL;AAAoCC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAIe,CAAC,GAAC,CAAN;AAAA,UAAQu5B,CAAC,GAAC,IAAV;AAAA,UAAeqM,CAAC,GAAC,KAAK,CAAtB;AAAwB3mC,OAAC,CAACuG,UAAF,CAAau7G,MAAb,KAAsBn7E,CAAC,GAACw8F,EAAE,CAACnjI,CAAC,CAACuG,UAAF,CAAau7G,MAAd,CAAJ,EAA0BxnF,CAAC,GAACqM,CAAC,CAAC08F,UAA9B,EAAyCtiI,CAAC,GAAC4lC,CAAC,CAACy8F,UAAnE,GAA+E,KAAKrI,MAAL,GAAczoB,SAAd,CAAwBvpG,OAAxB,CAAgC,UAAS/I,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAAC;AAACy8F,oBAAU,EAAC,CAAZ;AAAcC,oBAAU,EAAC;AAAzB,SAAN;AAAqCrjI,SAAC,CAACuG,UAAF,CAAau7G,MAAb,KAAsBn7E,CAAC,GAACw8F,EAAE,CAACnjI,CAAC,CAACuG,UAAF,CAAau7G,MAAd,CAA1B,GAAiDn7E,CAAC,CAACy8F,UAAF,KAAeriI,CAAf,KAAmBf,CAAC,CAACq8H,YAAF,GAAe,IAAE,CAApC,CAAjD,EAAwF11F,CAAC,CAAC08F,UAAF,KAAe/oG,CAAf,KAAmBt6B,CAAC,CAACq8H,YAAF,GAAe,IAAE,CAApC,CAAxF;AAA+H,OAAhN,CAA/E;AAAiS;AAA/W,GAAj6a,EAAkxb;AAACj3G,OAAG,EAAC,eAAL;AAAqBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,CAAN;AAAA,UAAQ5lC,CAAC,GAAC,KAAK0mF,QAAL,EAAV;AAA0B1mF,OAAC,CAACmC,MAAF,KAAWyjC,CAAC,GAAC5lC,CAAC,CAACygB,KAAF,CAAQ,CAAR,CAAb,GAAyB,UAASxhB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAIu5B,CAAC,GAAC,IAAEpR,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASnC,CAA7B,GAA+BA,CAA/B,GAAiC,CAAvC;AAAyC,YAAGf,CAAC,CAACsxG,QAAL,EAAc,KAAI,IAAIxwC,CAAC,GAACxmC,CAAN,EAAQ5V,CAAC,GAAC,KAAK,CAAf,EAAiBtJ,CAAC,GAAC,CAAvB,EAAyBA,CAAC,GAACpb,CAAC,CAACsxG,QAAF,CAAWpuG,MAAtC,EAA6CkY,CAAC,EAA9C,EAAiD;AAAC,cAAIulD,CAAC,GAAC3gE,CAAC,CAACsxG,QAAF,CAAWl2F,CAAX,CAAN;;AAAoB,cAAGsJ,CAAC,GAACA,CAAC,IAAEkK,EAAE,CAAC+X,CAAD,EAAGm6B,CAAC,GAACH,CAAC,CAACrhD,QAAF,GAAW,CAAhB,CAAV,EAA6B;AAAC,gBAAG,WAAUqhD,CAAb,EAAe;AAACj8C,eAAC,CAAC4rD,OAAF,GAAUxP,CAAV,EAAYp8C,CAAC,CAAC81H,SAAF,GAAY15E,CAAxB,EAA0BA,CAAC,IAAEH,CAAC,CAACrhD,QAA/B,EAAwCoF,CAAC,GAAC,IAA1C;AAA+C;AAAS;;AAAA,gBAAGo8C,CAAC,GAACp8C,CAAC,CAAC4rD,OAAP,EAAe;AAACxP,eAAC,IAAEH,CAAC,CAACrhD,QAAL;AAAc;AAAS;;AAAAoF,aAAC,CAAC4rD,OAAF,IAAW3P,CAAC,CAACrhD,QAAb;AAAsB,WAAnK,MAAwK,IAAG,YAAWqhD,CAAX,KAAe,CAACj8C,CAAC,GAAC,IAAIpC,CAAC,CAAC04D,MAAN,CAAala,CAAb,EAAeA,CAAC,GAACH,CAAC,CAACrhD,QAAnB,EAA4BqhD,CAAC,CAAC8yC,MAA9B,CAAH,EAA0C8mC,WAA1C,GAAsDz5E,CAAtD,EAAwDp8C,CAAC,CAAC81H,SAAF,GAAY15E,CAAC,GAAC79C,UAAU,CAAC09C,CAAC,CAAC8yC,MAAH,CAAhF,EAA2F9sE,CAAC,CAACiqC,MAAF,CAASlsD,CAAT,CAA1G,GAAuH,gBAAei8C,CAAzI,EAA2I;AAAC,gBAAIC,CAAJ;AAAA,gBAAMxlC,CAAN;AAAA,gBAAQomC,CAAC,GAACb,CAAC,CAAC+yC,UAAF,CAAavoF,KAAb,CAAmB,GAAnB,EAAwBlC,GAAxB,CAA4BhG,UAA5B,CAAV;AAAA,gBAAkDw9C,CAAC,GAACm6D,EAAE,CAACp5D,CAAD,EAAG,CAAH,CAAtD;AAA4DZ,aAAC,GAACH,CAAC,CAAC,CAAD,CAAH,EAAOrlC,CAAC,GAACqlC,CAAC,CAAC,CAAD,CAAV,EAAc,CAAC/7C,CAAC,GAAC,IAAIpC,CAAC,CAAC04D,MAAN,CAAala,CAAb,EAAeA,CAAC,GAACH,CAAC,CAACrhD,QAAnB,EAA4B,EAA5B,CAAH,EAAoCi7H,WAApC,GAAgDz5E,CAAC,GAACF,CAAhE,EAAkEl8C,CAAC,CAAC81H,SAAF,GAAY91H,CAAC,CAAC61H,WAAF,GAAcn/G,CAA5F,EAA8FuL,CAAC,CAACiqC,MAAF,CAASlsD,CAAT,CAA9F;AAA0G;;AAAAo8C,WAAC,IAAEH,CAAC,CAACrhD,QAAL;AAAc;AAAC,OAAtnB,CAAunBtf,CAAvnB,EAAynB,KAAK4+I,aAA9nB,EAA4oBj4G,CAA5oB,CAAzB;AAAwqB;AAAzuB,GAAlxb,EAA6/c;AAACvhB,OAAG,EAAC,kBAAL;AAAwBC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,KAAKu6E,KAAL,CAAW1qE,WAAX,EAAN;AAAA,UAA+B82B,CAAC,GAACqsG,EAAE,CAACC,kBAApC;AAAA,UAAuDlyI,CAAC,GAACiyI,EAAE,CAACG,uBAA5D;AAAA,UAAoF74G,CAAC,GAAC3Z,IAAI,CAACC,GAAL,CAAS+lB,CAAT,EAAWqsG,EAAE,CAACE,sBAAd,CAAtF;AAA4H,aAAOvyH,IAAI,CAACE,GAAL,CAAS8lB,CAAC,GAAC3mC,CAAC,GAACe,CAAb,EAAeu5B,CAAf,CAAP;AAAyB;AAA9L,GAA7/c,EAA6rd;AAAClV,OAAG,EAAC,oBAAL;AAA0BC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,KAAKu6E,KAAL,CAAW1qE,WAAX,EAAN;AAAA,UAA+B82B,CAAC,GAACqsG,EAAE,CAACM,qBAApC;AAAA,UAA0DvyI,CAAC,GAACiyI,EAAE,CAACQ,0BAA/D;AAAA,UAA0Fl5G,CAAC,GAAC3Z,IAAI,CAACC,GAAL,CAAS+lB,CAAT,EAAWqsG,EAAE,CAACO,yBAAd,CAA5F;AAAqI,aAAO5yH,IAAI,CAACE,GAAL,CAAS8lB,CAAC,GAAC3mC,CAAC,GAACe,CAAb,EAAeu5B,CAAf,CAAP;AAAyB;AAAzM,GAA7rd,CAAJ,CAAxB,EAAs6dyiH,EAAx6d,CAAz5R;;AAAq0vB,WAASA,EAAT,CAAY/8I,CAAZ,EAAc;AAAC+5H,MAAE,CAAC,IAAD,EAAMgjB,EAAN,CAAF;AAAY,QAAIp2G,CAAC,GAACwzF,EAAE,CAAC,IAAD,EAAM,CAAC4iB,EAAE,CAACt5E,SAAH,IAAcj9D,MAAM,CAACogB,cAAP,CAAsBm2H,EAAtB,CAAf,EAA0Cp3I,IAA1C,CAA+C,IAA/C,CAAN,CAAR;AAAA,QAAoE5E,CAAC,GAACf,CAAC,CAACU,GAAxE;AAAA,QAA4E45B,CAAC,GAACt6B,CAAC,CAACu7H,uBAAhF;AAAA,QAAwGz6D,CAAC,GAAC9gE,CAAC,CAACy5E,eAA5G;AAAA,QAA4H/0D,CAAC,GAAC1kB,CAAC,CAACy6E,IAAhI;AAAA,QAAqIr/D,CAAC,GAACpb,CAAC,CAACgiH,SAAzI;AAAA,QAAmJrhD,CAAC,GAAC3gE,CAAC,CAAC6+I,SAAvJ;AAAA,QAAiKj+E,CAAC,GAAC5gE,CAAC,CAAC8+I,UAArK;AAAA,QAAgL1jH,CAAC,GAACp7B,CAAC,CAACs4I,iBAApL;AAAA,QAAsM92E,CAAC,GAACxhE,CAAC,CAACy9I,wBAA1M;AAAA,QAAmOh9E,CAAC,GAACzgE,CAAC,CAACw5I,mBAAvO;AAAA,QAA2P94E,CAAC,GAAC1gE,CAAC,CAACs5I,UAA/P;AAA0Q,QAAG,CAACv4I,CAAJ,EAAM,MAAM,IAAImS,KAAJ,CAAU,sCAAV,CAAN;AAAwD0pI,MAAE,GAACj8E,CAAH,EAAKh6B,CAAC,CAAC8yC,eAAF,GAAkB3Y,CAAvB,EAAyBn6B,CAAC,CAAC4zC,KAAF,GAAQ71D,CAAjC,EAAmCiiB,CAAC,CAAC20F,IAAF,GAAO52G,CAAC,CAACu0H,GAA5C,EAAgDtyG,CAAC,CAAC0yG,WAAF,GAAc34E,CAA9D,EAAgE/5B,CAAC,CAACk3G,WAAF,GAAcj9E,CAA9E,EAAgFj6B,CAAC,CAAC2xG,iBAAF,GAAoBl9G,CAApG,EAAsGuL,CAAC,CAAC82G,wBAAF,GAA2Bj8E,CAAjI,EAAmI76B,CAAC,CAACk3G,WAAF,KAAgBl3G,CAAC,CAACi4G,aAAF,GAAgBj4G,CAAC,CAAC4zC,KAAF,CAAQ2K,YAAR,CAAqB,UAArB,EAAgC,SAAhC,CAAhB,EAA2Dv+C,CAAC,CAACi4G,aAAF,CAAgBlT,+BAAhB,GAAgD,EAA3H,CAAnI,EAAkQ/kG,CAAC,CAACq2G,eAAF,GAAkB;AAACvjE,qBAAe,EAAC3Y,CAAjB;AAAmBy6D,6BAAuB,EAACjhG,CAA3C;AAA6Cx1B,aAAO,EAAC;AAArD,KAApR,EAA+U6hC,CAAC,CAACy2G,WAAF,GAAc,YAAU;AAAC,UAAIz2G,CAAC,GAAC,EAAN;AAAS,aAAM,CAAC,OAAD,EAAS,WAAT,EAAqB,iBAArB,EAAwC59B,OAAxC,CAAgD,UAAS/I,CAAT,EAAW;AAAC2mC,SAAC,CAAC3mC,CAAD,CAAD,GAAK;AAAC0vB,gBAAM,EAAC,EAAR;AAAW87D,gBAAM,EAAC,EAAlB;AAAqBkwD,8BAAoB,EAAC,IAA1C;AAA+CM,qBAAW,EAACvL,EAA3D;AAA8DwL,qBAAW,EAACxL,EAA1E;AAA6E0L,wBAAc,EAAC1L,EAA5F;AAA+F6L,wBAAc,EAAC7L;AAA9G,SAAL;AAAuH,OAAnL,GAAqL9pG,CAA3L;AAA6L,KAAjN,EAA7V,EAAijBA,CAAC,CAACkqG,WAAF,GAAc,IAAIjkC,EAAE,CAAC+gC,WAAP,EAA/jB,EAAklBhnG,CAAC,CAACkqG,WAAF,CAAcj4H,gBAAd,CAA+B,YAA/B,EAA4C+tB,CAAC,CAACo4G,iBAAF,CAAoBxiI,IAApB,CAAyBoqB,CAAzB,CAA5C,CAAllB,EAA2pBA,CAAC,CAACgxG,SAAF,GAAY/qC,EAAE,CAACgB,gBAAH,EAAvqB,EAA6rBjnE,CAAC,CAAC0vG,UAAF,GAAa,CAAC,CAA3sB,EAA6sB1vG,CAAC,CAAC4tG,eAAF,GAAkB,IAAIsG,EAAJ,CAAO76I,CAAP,CAA/tB,EAAyuB2mC,CAAC,CAACmvG,qBAAF,GAAwBpxH,CAAC,CAACisD,kBAAF,CAAqB;AAAC0F,UAAI,EAAC,UAAN;AAAiBnD,WAAK,EAAC;AAAvB,KAArB,EAAgE,CAAC,CAAjE,EAAoE1C,KAAr0B,EAA20B7pC,CAAC,CAAC4wG,UAAF,GAAa,IAAIgF,EAAJ,EAAx1B,EAA+1B51G,CAAC,CAAC84F,iBAAF,GAAoB,EAAn3B;AAAs3B,QAAIrsF,CAAC,GAAC;AAAC6lG,SAAG,EAACtyG,CAAC,CAAC20F,IAAP;AAAYuV,iBAAW,EAAClqG,CAAC,CAACkqG,WAA1B;AAAsChhI,iBAAW,EAAC82B,CAAC,CAAC4zC,KAAF,CAAQ1qE,WAAR,CAAoB0M,IAApB,CAAyBoqB,CAAC,CAAC4zC,KAA3B,CAAlD;AAAoFkN,cAAQ,EAAC,oBAAU;AAAC,eAAO9gD,CAAC,CAAC8gD,QAAF,EAAP;AAAoB,OAA5H;AAA6H8c,aAAO,EAAC,mBAAU;AAAC,eAAO59D,CAAC,CAAC4zC,KAAF,CAAQgqB,OAAR,EAAP;AAAyB,OAAzK;AAA0KjlF,cAAQ,EAAC,oBAAU;AAAC,eAAOqnB,CAAC,CAACkqG,WAAF,CAAcvxH,QAArB;AAA8B,OAA5N;AAA6N05H,eAAS,EAAC,qBAAU;AAAC,eAAOryG,CAAC,CAAC0vG,UAAT;AAAoB,OAAtQ;AAAuQ+C,sBAAgB,EAAC,4BAAU;AAAC,eAAOzyG,CAAC,CAACyyG,gBAAF,EAAP;AAA4B,OAA/T;AAAgUp3B,eAAS,EAAC5mG,CAA1U;AAA4U+7H,oBAAc,EAACxwG,CAAC,CAAC4tG,eAA7V;AAA6WkF,eAAS,EAAC9yG,CAAC,CAAC4wG,UAAzX;AAAoY+B,gBAAU,EAAC3yG,CAAC,CAAC0yG,WAAjZ;AAA6ZtB,sBAAgB,EAACpxG,CAAC,CAAC84F,iBAAhb;AAAkc+Z,yBAAmB,EAAC/4E;AAAtd,KAAN;AAA+d,WAAO95B,CAAC,CAACyoG,qBAAF,GAAwB,WAASzoG,CAAC,CAAC0yG,WAAX,GAAuB,IAAInK,EAAJ,CAAOnuI,CAAP,EAAS4lC,CAAC,CAAC20F,IAAX,EAAgB30F,CAAC,CAACq2G,eAAlB,CAAvB,GAA0D,IAAIniB,EAAJ,CAAO95H,CAAP,EAAS4lC,CAAC,CAAC20F,IAAX,EAAgB30F,CAAC,CAACq2G,eAAlB,CAAlF,EAAqHr2G,CAAC,CAACq4G,mCAAF,EAArH,EAA6Jr4G,CAAC,CAACs2G,kBAAF,GAAqB,IAAIxJ,EAAJ,CAAO7mC,EAAE,CAACa,YAAH,CAAgBr6D,CAAhB,EAAkB;AAAC+lG,0BAAoB,EAACxyG,CAAC,CAACmvG,qBAAxB;AAA8CoD,gBAAU,EAAC;AAAzD,KAAlB,CAAP,EAA2Fl5I,CAA3F,CAAlL,EAAgR2mC,CAAC,CAACu2G,mBAAF,GAAsB,IAAIzJ,EAAJ,CAAO7mC,EAAE,CAACa,YAAH,CAAgBr6D,CAAhB,EAAkB;AAAC8lG,gBAAU,EAAC;AAAZ,KAAlB,CAAP,EAA+Cl5I,CAA/C,CAAtS,EAAwV2mC,CAAC,CAACw2G,sBAAF,GAAyB,IAAIvD,EAAJ,CAAOhtC,EAAE,CAACa,YAAH,CAAgBr6D,CAAhB,EAAkB;AAAC8lG,gBAAU,EAAC,KAAZ;AAAkB71D,8BAAwB,EAAC18C,CAAC,CAAC4zC,KAAF,CAAQ8I;AAAnD,KAAlB,CAAP,EAAuGrjF,CAAvG,CAAjX,EAA2d2mC,CAAC,CAACs4G,4BAAF,EAA3d,EAA4fpC,EAAE,CAAC9zI,OAAH,CAAW,UAAS/I,CAAT,EAAW;AAAC2mC,OAAC,CAAC3mC,CAAC,GAAC,GAAH,CAAD,GAAS,UAASA,CAAT,EAAW;AAAC,eAAO,KAAKk9I,mBAAL,CAAyBl9I,CAAzB,IAA4B,KAAKi9I,kBAAL,CAAwBj9I,CAAxB,CAAnC;AAA8D,OAA1E,CAA2Euc,IAA3E,CAAgFoqB,CAAhF,EAAkF3mC,CAAlF,CAAT;AAA8F,KAArH,CAA5f,EAAmnB2mC,CAAC,CAACmqG,OAAF,GAAUN,EAAE,CAAC,KAAD,CAA/nB,EAAuoB7pG,CAAC,CAACyoG,qBAAF,CAAwBtmG,IAAxB,EAAvoB,EAAsqBnC,CAA7qB;AAA+qB;;AAAA,WAASu4G,EAAT,CAAYl/I,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAACg5H,MAAE,CAAC,IAAD,EAAMmlB,EAAN,CAAF;AAAY,QAAI5kH,CAAC,GAACt6B,CAAC,CAACm/I,yBAAR;AAAA,QAAkCr+E,CAAC,GAACxmC,CAAC,CAAC,CAACt6B,CAAC,CAAC4oE,QAAF,CAAWw2E,mBAAX,GAA+B,QAA/B,GAAwC,MAAzC,IAAiD,gBAAlD,CAAD,CAAqE7iI,IAArE,CAA0E+d,CAA1E,CAApC;;AAAiH,QAAGqM,CAAC,CAACpgC,UAAF,CAAaypG,UAAhB,EAA2B;AAAC,UAAItrF,CAAC,GAACiiB,CAAC,CAACpgC,UAAF,CAAaypG,UAAnB;AAA8B,WAAKh/F,KAAL,GAAW0T,CAAC,CAAC1T,KAAb,EAAmB,KAAKD,MAAL,GAAY2T,CAAC,CAAC3T,MAAjC;AAAwC;;AAAA,SAAKixG,SAAL,GAAer7E,CAAC,CAACpgC,UAAF,CAAa0pG,SAA5B,EAAsC,KAAKhvG,EAAL,GAAQF,CAA9C,EAAgD,KAAKu0E,OAAL,GAAa,UAASxU,CAAT,EAAWp8C,CAAX,EAAatJ,CAAb,EAAe;AAAC,aAAO,UAASpb,CAAT,EAAW;AAAC,YAAI2mC,CAAC,GAACm6B,CAAC,CAACi6D,MAAF,CAASzoB,SAAT,CAAmB5tF,CAAnB,CAAN;AAAA,YAA4B3jB,CAAC,GAACu7H,EAAE,CAAC31F,CAAD,CAAhC;AAAA,YAAoCrM,CAAC,GAACiiG,EAAE,CAAC51F,CAAD,CAAxC;AAA4C,eAAM,eAAa,OAAO3mC,CAApB,GAAsBs6B,CAAtB,IAAyBt6B,CAAC,GAAC,OAAO2mC,CAAC,CAACzX,QAAV,GAAmByX,CAAC,CAACzX,QAAF,GAAW,CAAC,CAAhC,EAAkClvB,CAAC,KAAGs6B,CAAJ,IAAOv5B,CAAP,KAAWqa,CAAC,IAAGpb,CAAC,GAAC8gE,CAAC,CAACv7D,OAAF,CAAU,kBAAV,CAAD,GAA+Bu7D,CAAC,CAACv7D,OAAF,CAAU,mBAAV,CAA/C,CAAlC,EAAiHvF,CAA1I,CAAN;AAAmJ,OAAlN;AAAmN,KAAnO,CAAoOA,CAAC,CAACsyG,SAAtO,EAAgP3rE,CAAC,CAAC1lC,EAAlP,EAAqP6/D,CAArP,CAA7D;AAAqT;;AAAA,MAAIu+E,EAAE,GAAC,CAAC,SAAD,EAAW,QAAX,EAAoB,OAApB,EAA4B,SAA5B,EAAsC,OAAtC,CAAP;AAAA,MAAsDC,EAAE,IAAEtlB,EAAE,CAACulB,EAAD,EAAI,CAAC;AAACn6H,OAAG,EAAC,qBAAL;AAA2BC,SAAK,EAAC,iBAAU;AAAC,WAAKm6H,iBAAL,IAAyB,KAAKC,wBAAL,IAA+Bn9H,CAAC,CAACy0B,YAAF,CAAe,KAAK0oG,wBAApB,CAAxD,EAAsG,KAAKA,wBAAL,GAA8Bn9H,CAAC,CAACxM,UAAF,CAAa,KAAK4pI,mBAAL,CAAyBnjI,IAAzB,CAA8B,IAA9B,CAAb,EAAiD,GAAjD,CAApI;AAA0L;AAAtO,GAAD,EAAyO;AAAC6I,OAAG,EAAC,mBAAL;AAAyBC,SAAK,EAAC,iBAAU;AAAC,UAAG,KAAKk1D,KAAL,CAAWgqB,OAAX,MAAsB,KAAKo7C,cAAL,EAAzB,EAA+C,OAAO,KAAKC,kBAAL,GAAwB,CAAxB,EAA0B,MAAK,KAAKC,gBAAL,GAAsB,KAAKtlE,KAAL,CAAW1qE,WAAX,EAA3B,CAAjC;;AAAsF,UAAG,CAAC,KAAK0qE,KAAL,CAAWtqE,MAAX,EAAD,IAAsB,CAAC,KAAKsqE,KAAL,CAAWgqB,OAAX,EAA1B,EAA+C;AAAC,YAAIvkG,CAAC,GAAC,KAAKu6E,KAAL,CAAW1qE,WAAX,EAAN;AAAA,YAA+B82B,CAAC,GAAC,KAAK4zC,KAAL,CAAW6J,QAAX,EAAjC;AAAuD,YAAG,KAAKy7D,gBAAL,KAAwB7/I,CAAxB,KAA4B,CAAC2mC,CAAC,CAACzjC,MAAH,IAAWlD,CAAC,GAAC,EAAF,IAAM2mC,CAAC,CAACjd,GAAF,CAAMid,CAAC,CAACzjC,MAAF,GAAS,CAAf,CAA7C,CAAH,EAAmE,OAAO,KAAK48I,YAAL,EAAP;AAA2B,aAAG,KAAKF,kBAAR,IAA4B5/I,CAAC,KAAG,KAAK6/I,gBAArC,IAAuD,KAAKD,kBAAL,IAA0B,KAAKG,QAAL,EAAjF,IAAkG//I,CAAC,KAAG,KAAK6/I,gBAAT,GAA0B,KAAKD,kBAAL,EAA1B,IAAqD,KAAKA,kBAAL,GAAwB,CAAxB,EAA0B,KAAKC,gBAAL,GAAsB7/I,CAArG,CAAlG;AAA0M;AAAC;AAA/jB,GAAzO,EAA0yB;AAAColB,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,iBAAU;AAAC,WAAKu6H,kBAAL,GAAwB,CAAxB,EAA0B,KAAKI,MAAL,KAAc,KAAKlP,OAAL,CAAa,cAAb,GAA6B/5F,YAAY,CAAC,KAAKipG,MAAN,CAAvD,CAA1B,EAAgG,KAAKA,MAAL,GAAY,IAA5G;AAAiH;AAAtJ,GAA1yB,EAAk8B;AAAC56H,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,iBAAU;AAAC,UAAG,CAAC,KAAKk1D,KAAL,CAAWgqB,OAAX,EAAJ,EAAyB,OAAM,CAAC,CAAP;AAAS,UAAIvkG,CAAC,GAAC,KAAKynF,QAAL,EAAN;AAAA,UAAsB9gD,CAAC,GAAC,KAAK4zC,KAAL,CAAW1qE,WAAX,EAAxB;AAAA,UAAiD9O,CAAC,GAAC,KAAK,CAAxD;AAA0D,aAAO,KAAKk/I,oBAAL,CAA0BjgJ,CAA1B,EAA4B2mC,CAA5B,EAA8B,KAAK8e,KAAL,EAA9B,EAA2C,KAAKy6F,gCAAhD,MAAoFn/I,CAAC,GAACf,CAAC,CAAC0pB,GAAF,CAAM1pB,CAAC,CAACkD,MAAF,GAAS,CAAf,CAAtF,GAAyG,KAAKi9I,qBAAL,CAA2BngJ,CAA3B,EAA6B2mC,CAA7B,MAAkC5lC,CAAC,GAACf,CAAC,CAACwhB,KAAF,CAAQ,CAAR,IAAW,EAA/C,CAAzG,EAA4J,eAAa,OAAOzgB,CAApB,KAAwB,KAAK+vI,OAAL,CAAa,gDAA8CnqG,CAA9C,GAAgD,uBAAhD,GAAwEw4F,EAAE,CAACn/H,CAAD,CAA1E,GAA8E,eAA9E,GAA8Fe,CAA9F,GAAgG,GAA7G,GAAkH,KAAKw5E,KAAL,CAAWxkE,cAAX,CAA0BhV,CAA1B,CAAlH,EAA+I,CAAC,CAAxK,CAAnK;AAA8U;AAAjd,GAAl8B,EAAq5C;AAACqkB,OAAG,EAAC,UAAL;AAAgBC,SAAK,EAAC,iBAAU;AAAC,UAAG,CAAC,KAAKy6H,YAAL,EAAJ,EAAwB;AAAC,YAAI9/I,CAAC,GAAC,KAAKu6E,KAAL,CAAW1qE,WAAX,EAAN;AAAA,YAA+B82B,CAAC,GAAC,KAAK4zC,KAAL,CAAW6J,QAAX,EAAjC;AAAA,YAAuDrjF,CAAC,GAACk+H,EAAE,CAACt4F,CAAD,EAAG3mC,CAAH,CAA3D;AAAiE,eAAOe,CAAC,CAACmC,MAAF,IAAUlD,CAAC,GAAC,CAAF,IAAKe,CAAC,CAAC2oB,GAAF,CAAM,CAAN,CAAf,IAAyB,KAAK02H,YAAL,IAAoB,KAAK7lE,KAAL,CAAWxkE,cAAX,CAA0B/V,CAA1B,CAApB,EAAiD,KAAK8wI,OAAL,CAAa,gBAAc9wI,CAAd,GAAgB,mCAAhB,GAAoDe,CAAC,CAACygB,KAAF,CAAQ,CAAR,CAApD,GAA+D,MAA/D,GAAsEzgB,CAAC,CAAC2oB,GAAF,CAAM,CAAN,CAAtE,GAA+E,kEAA5F,CAAjD,EAAiN,KAAK,KAAK6wD,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,cAAI,EAAC,OAAN;AAAcqZ,cAAI,EAAC;AAAnB,SAAnB,CAA/O,IAA8S,KAAK,CAA1T;AAA4T;AAAC;AAAxb,GAAr5C,EAA+0D;AAACxE,OAAG,EAAC,cAAL;AAAoBC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,KAAKynF,QAAL,EAAN;AAAA,UAAsB9gD,CAAC,GAAC,KAAK4zC,KAAL,CAAW1qE,WAAX,EAAxB;AAAiD,UAAG,KAAK0qE,KAAL,CAAWgqB,OAAX,MAAsB,KAAKo7C,cAAL,EAAzB,EAA+C,OAAM,CAAC,CAAP;AAAS,UAAG,KAAKplE,KAAL,CAAWgqB,OAAX,MAAsB,SAAO,KAAKy7C,MAArC,EAA4C,OAAM,CAAC,CAAP;;AAAS,UAAG,KAAKG,qBAAL,CAA2BngJ,CAA3B,EAA6B2mC,CAA7B,CAAH,EAAmC;AAAC,YAAI5lC,CAAC,GAACf,CAAC,CAAC0pB,GAAF,CAAM1pB,CAAC,CAACkD,MAAF,GAAS,CAAf,CAAN;AAAwB,eAAO,KAAK4tI,OAAL,CAAa,qCAAmCnqG,CAAnC,GAAqC,yCAArC,GAA+E5lC,CAA5F,GAA+F,KAAKq/I,YAAL,EAA/F,EAAmH,KAAK7lE,KAAL,CAAWxkE,cAAX,CAA0BhV,CAA1B,CAAnH,EAAgJ,KAAKw5E,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,cAAI,EAAC,OAAN;AAAcqZ,cAAI,EAAC;AAAnB,SAAnB,CAAhJ,EAA0M,CAAC,CAAlN;AAAoN;;AAAA,UAAI0Q,CAAC,GAAC,KAAKigD,KAAL,CAAW6J,QAAX,EAAN;AAAA,UAA4BtjB,CAAC,GAACo+D,EAAE,CAAC5kG,CAAD,EAAGqM,CAAH,CAAhC;AAAsC,UAAG,KAAK05G,eAAL,CAAqBv/E,CAArB,EAAuBxmC,CAAvB,EAAyBqM,CAAzB,CAAH,EAA+B,OAAO,KAAKy5G,YAAL,IAAoB,KAAK7lE,KAAL,CAAWxkE,cAAX,CAA0B4wB,CAA1B,CAApB,EAAiD,KAAK4zC,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,YAAI,EAAC,OAAN;AAAcqZ,YAAI,EAAC;AAAnB,OAAnB,CAAjD,EAA+G,CAAC,CAAvH;;AAAyH,UAAG,IAAEk3C,CAAC,CAAC59D,MAAP,EAAc;AAAC,YAAIwhB,CAAC,GAACo8C,CAAC,CAACt/C,KAAF,CAAQ,CAAR,IAAWmlB,CAAjB;AAAmB,eAAO,KAAKmqG,OAAL,CAAa,gBAAcnqG,CAAd,GAAgB,sBAAhB,GAAuCjiB,CAAvC,GAAyC,eAAzC,GAAyDo8C,CAAC,CAACt/C,KAAF,CAAQ,CAAR,CAAtE,GAAkF,KAAKw+H,MAAL,GAAYlqI,UAAU,CAAC,KAAKwqI,WAAL,CAAiB/jI,IAAjB,CAAsB,IAAtB,CAAD,EAA6B,MAAImI,CAAjC,EAAmCiiB,CAAnC,CAAxG,EAA8I,CAAC,CAAtJ;AAAwJ;;AAAA,aAAM,CAAC,CAAP;AAAS;AAAp1B,GAA/0D,EAAqqF;AAACvhB,OAAG,EAAC,sBAAL;AAA4BC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,UAAIwmC,CAAC,GAAC,IAAE53C,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASo3B,CAA7B,IAAgCA,CAAtC;AAAwC,UAAG,CAACt6B,CAAC,CAACkD,MAAN,EAAa,OAAM,CAAC,CAAP;AAAS,UAAIwhB,CAAC,GAAC1kB,CAAC,CAAC0pB,GAAF,CAAM1pB,CAAC,CAACkD,MAAF,GAAS,CAAf,IAAkB,EAAxB;AAA2B,aAAM,CAACnC,CAAC,CAACywG,OAAH,IAAY1wC,CAAZ,KAAgBp8C,CAAC,GAAC1kB,CAAC,CAAC0pB,GAAF,CAAM1pB,CAAC,CAACkD,MAAF,GAAS,CAAf,IAAkB,IAAEnC,CAAC,CAACqyG,cAAxC,GAAwD1uF,CAAC,GAACiiB,CAAhE;AAAkE;AAA/M,GAArqF,EAAs3F;AAACvhB,OAAG,EAAC,uBAAL;AAA6BC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAM,CAAC,EAAE3mC,CAAC,CAACkD,MAAF,IAAU,IAAElD,CAAC,CAACwhB,KAAF,CAAQ,CAAR,CAAZ,IAAwBmlB,CAAC,GAAC3mC,CAAC,CAACwhB,KAAF,CAAQ,CAAR,IAAW,EAAvC,CAAP;AAAkD;AAAnG,GAAt3F,EAA29F;AAAC4D,OAAG,EAAC,iBAAL;AAAuBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAG,MAAIf,CAAC,CAACkD,MAAT,EAAgB;AAAC,YAAIo3B,CAAC,GAAC,KAAKimH,sBAAL,CAA4B55G,CAA5B,EAA8B5lC,CAA9B,CAAN;AAAuC,YAAGu5B,CAAH,EAAK,OAAO,KAAKw2G,OAAL,CAAa,qCAAmCx2G,CAAC,CAAC9Y,KAArC,GAA2C,MAA3C,GAAkD8Y,CAAC,CAAC5Q,GAApD,GAAwD,4BAAxD,GAAqF3oB,CAAlG,GAAqG,CAAC,CAA7G;AAA+G;;AAAA,aAAM,CAAC,CAAP;AAAS;AAAlO,GAA39F,EAA+rG;AAACqkB,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC,KAAK4zC,KAAL,CAAW6J,QAAX,EAAN;AAAA,UAA4BrjF,CAAC,GAAC,KAAKw5E,KAAL,CAAW1qE,WAAX,EAA9B;AAAA,UAAuDyqB,CAAC,GAAC4kG,EAAE,CAACv4F,CAAD,EAAG5lC,CAAH,CAA3D;AAAiE,WAAKq/I,YAAL,IAAoB,MAAI9lH,CAAC,CAACp3B,MAAN,IAAcnC,CAAC,KAAGf,CAAlB,KAAsB,KAAK8wI,OAAL,CAAa,cAAb,EAA4B,cAA5B,EAA2C/vI,CAA3C,EAA6C,wBAA7C,EAAsEf,CAAtE,EAAwE,kBAAxE,EAA2Fs6B,CAAC,CAAC9Y,KAAF,CAAQ,CAAR,CAA3F,GAAuG,KAAK+4D,KAAL,CAAWxkE,cAAX,CAA0BukB,CAAC,CAAC9Y,KAAF,CAAQ,CAAR,IAAW,IAAE,EAAvC,CAAvG,EAAkJ,KAAK+4D,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,YAAI,EAAC,OAAN;AAAcqZ,YAAI,EAAC;AAAnB,OAAnB,CAAxK,CAApB;AAAoP;AAA1V,GAA/rG,EAA2hH;AAACxE,OAAG,EAAC,wBAAL;AAA8BC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,WAAI,IAAI5lC,CAAC,GAAC,UAASf,CAAT,EAAW;AAAC,YAAGA,CAAC,CAACkD,MAAF,GAAS,CAAZ,EAAc,OAAO0pG,EAAE,CAACgB,gBAAH,EAAP;;AAA6B,aAAI,IAAIjnE,CAAC,GAAC,EAAN,EAAS5lC,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACf,CAAC,CAACkD,MAArB,EAA4BnC,CAAC,EAA7B,EAAgC;AAAC,cAAIu5B,CAAC,GAACt6B,CAAC,CAAC0pB,GAAF,CAAM3oB,CAAC,GAAC,CAAR,CAAN;AAAA,cAAiB+/D,CAAC,GAAC9gE,CAAC,CAACwhB,KAAF,CAAQzgB,CAAR,CAAnB;AAA8B4lC,WAAC,CAACpjC,IAAF,CAAO,CAAC+2B,CAAD,EAAGwmC,CAAH,CAAP;AAAc;;AAAA,eAAO8rC,EAAE,CAACgB,gBAAH,CAAoBjnE,CAApB,CAAP;AAA8B,OAAlK,CAAmK3mC,CAAnK,CAAN,EAA4Ks6B,CAAC,GAAC,CAAlL,EAAoLA,CAAC,GAACv5B,CAAC,CAACmC,MAAxL,EAA+Lo3B,CAAC,EAAhM,EAAmM;AAAC,YAAIwmC,CAAC,GAAC//D,CAAC,CAACygB,KAAF,CAAQ8Y,CAAR,CAAN;AAAA,YAAiB5V,CAAC,GAAC3jB,CAAC,CAAC2oB,GAAF,CAAM4Q,CAAN,CAAnB;AAA4B,YAAGqM,CAAC,GAACm6B,CAAF,GAAI,CAAJ,IAAO,IAAEn6B,CAAC,GAACm6B,CAAd,EAAgB,OAAM;AAACt/C,eAAK,EAACs/C,CAAP;AAASp3C,aAAG,EAAChF;AAAb,SAAN;AAAsB;;AAAA,aAAO,IAAP;AAAY;AAApU,GAA3hH,CAAJ,CAAF,EAAy2H66H,EAA32H,CAAxD;;AAAu6H,WAASA,EAAT,CAAYv/I,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC,IAAN;AAAWozF,MAAE,CAAC,IAAD,EAAMwlB,EAAN,CAAF,EAAY,KAAKhlE,KAAL,GAAWv6E,CAAC,CAACy6E,IAAzB,EAA8B,KAAKgN,QAAL,GAAcznF,CAAC,CAACynF,QAA9C,EAAuD,KAAKy4D,gCAAL,GAAsClgJ,CAAC,CAACkgJ,gCAA/F,EAAgI,KAAKz6F,KAAL,GAAWzlD,CAAC,CAACylD,KAA7I,EAAmJ,KAAKm6F,kBAAL,GAAwB,CAA3K,EAA6K,KAAKC,gBAAL,GAAsB,IAAnM,EAAwM,KAAKG,MAAL,GAAY,IAApN,EAAyN,KAAKP,wBAAL,GAA8B,IAAvP,EAA4P,KAAK3O,OAAL,GAAaN,EAAE,CAAC,iBAAD,CAA3Q,EAA+R,KAAKM,OAAL,CAAa,YAAb,CAA/R;;AAA0T,aAAS/vI,CAAT,GAAY;AAAC,aAAO4lC,CAAC,CAAC+4G,mBAAF,EAAP;AAA+B;;AAAA,aAASplH,CAAT,GAAY;AAAC,aAAOqM,CAAC,CAACm5G,YAAF,EAAP;AAAwB;;AAAA,aAASh/E,CAAT,GAAY;AAAC,aAAOn6B,CAAC,CAACy5G,YAAF,EAAP;AAAwB;;AAAA,aAAS17H,CAAT,GAAY;AAAC,aAAOiiB,CAAC,CAACg5G,cAAF,EAAP;AAA0B;;AAAA,SAAKplE,KAAL,CAAWl4E,EAAX,CAAc,iBAAd,EAAgCqiB,CAAhC,GAAmC,KAAK61D,KAAL,CAAWl4E,EAAX,CAAc,SAAd,EAAwBi4B,CAAxB,CAAnC,EAA8D,KAAKigD,KAAL,CAAWl4E,EAAX,CAAcg9I,EAAd,EAAiBv+E,CAAjB,CAA9D,EAAkF,KAAKyZ,KAAL,CAAWl4E,EAAX,CAAc,SAAd,EAAwBtB,CAAxB,CAAlF,EAA6G,KAAK0Q,OAAL,GAAa,YAAU;AAACk1B,OAAC,CAACmqG,OAAF,CAAU,SAAV,GAAqBnqG,CAAC,CAAC4zC,KAAF,CAAQn4E,GAAR,CAAY,iBAAZ,EAA8BsiB,CAA9B,CAArB,EAAsDiiB,CAAC,CAAC4zC,KAAF,CAAQn4E,GAAR,CAAY,SAAZ,EAAsBk4B,CAAtB,CAAtD,EAA+EqM,CAAC,CAAC4zC,KAAF,CAAQn4E,GAAR,CAAYi9I,EAAZ,EAAev+E,CAAf,CAA/E,EAAiGn6B,CAAC,CAAC4zC,KAAF,CAAQn4E,GAAR,CAAY,SAAZ,EAAsBrB,CAAtB,CAAjG,EAA0H4lC,CAAC,CAAC84G,wBAAF,IAA4Bn9H,CAAC,CAACy0B,YAAF,CAAepQ,CAAC,CAAC84G,wBAAjB,CAAtJ,EAAiM94G,CAAC,CAACy5G,YAAF,EAAjM;AAAkN,KAAvV;AAAwV;;AAAA,WAASI,EAAT,CAAYxgJ,CAAZ,EAAc;AAAC,KAAC,SAAS2mC,CAAT,CAAW5lC,CAAX,EAAaf,CAAb,EAAe;AAAC,UAAIs6B,CAAC,GAAC,CAAN;AAAA,UAAQwmC,CAAC,GAAC,CAAV;AAAA,UAAYp8C,CAAC,GAACkoF,EAAE,CAACa,YAAH,CAAgBgzC,EAAhB,EAAmBzgJ,CAAnB,CAAd;AAAoCe,OAAC,CAAC0U,KAAF,CAAQ,YAAU;AAAC1U,SAAC,CAACwE,OAAF,CAAU;AAACgL,cAAI,EAAC,OAAN;AAAcqZ,cAAI,EAAC;AAAnB,SAAV;AAA8D,OAAjF;;AAAmF,eAASxO,CAAT,GAAY;AAAC0lD,SAAC,IAAE//D,CAAC,CAAC8O,WAAF,CAAcixD,CAAd,CAAH;AAAoB;;AAAA,eAASH,CAAT,CAAW3gE,CAAX,EAAa;AAAC,gBAAMA,CAAN,KAAU8gE,CAAC,GAAC//D,CAAC,CAACue,QAAF,OAAe,IAAE,CAAjB,IAAoBve,CAAC,CAAC8O,WAAF,EAApB,IAAqC,CAAvC,EAAyC9O,CAAC,CAACwgB,GAAF,CAAM,gBAAN,EAAuBnG,CAAvB,CAAzC,EAAmEra,CAAC,CAACiS,GAAF,CAAMhT,CAAN,CAAnE,EAA4Ee,CAAC,CAACwE,OAAF,CAAU;AAACgL,cAAI,EAAC,OAAN;AAAcqZ,cAAI,EAAC;AAAnB,SAAV,CAA5E,EAA8H7oB,CAAC,CAAC6L,IAAF,EAAxI;AAAkJ;;AAAA,eAASg0D,CAAT,GAAY;AAAC,YAAGx0C,IAAI,CAACrH,GAAL,KAAWuV,CAAX,GAAa,MAAI5V,CAAC,CAACg8H,aAAtB,EAAoC3/I,CAAC,CAACwE,OAAF,CAAU;AAACgL,cAAI,EAAC,OAAN;AAAcqZ,cAAI,EAAC;AAAnB,SAAV,EAApC,KAAmG;AAAC,cAAGlF,CAAC,CAACi8H,SAAF,IAAa,cAAY,OAAOj8H,CAAC,CAACi8H,SAArC,EAA+C,OAAOrmH,CAAC,GAAClO,IAAI,CAACrH,GAAL,EAAF,EAAaL,CAAC,CAACi8H,SAAF,CAAYh7I,IAAZ,CAAiB5E,CAAjB,EAAmB4/D,CAAnB,CAApB;AAA0CisC,YAAE,CAACtuF,GAAH,CAAOrZ,KAAP,CAAa,uEAAb;AAAsF;AAAC;;AAAA,eAASm2B,CAAT,GAAY;AAACr6B,SAAC,CAACqB,GAAF,CAAM,gBAAN,EAAuBgZ,CAAvB,GAA0Bra,CAAC,CAACqB,GAAF,CAAM,OAAN,EAAcw+D,CAAd,CAA1B,EAA2C7/D,CAAC,CAACqB,GAAF,CAAM,SAAN,EAAgBg5B,CAAhB,CAA3C;AAA8D;;AAAAr6B,OAAC,CAACsB,EAAF,CAAK,OAAL,EAAau+D,CAAb,GAAgB7/D,CAAC,CAACsB,EAAF,CAAK,SAAL,EAAe+4B,CAAf,CAAhB,EAAkCr6B,CAAC,CAAC6/I,mBAAF,GAAsB,UAAS5gJ,CAAT,EAAW;AAACo7B,SAAC,IAAGuL,CAAC,CAAC5lC,CAAD,EAAGf,CAAH,CAAL;AAAW,OAA/E;AAAgF,KAApwB,CAAqwB,IAArwB,EAA0wBA,CAA1wB,CAAD;AAA8wB;;AAAA,MAAIygJ,EAAE,GAAC;AAACC,iBAAa,EAAC,EAAf;AAAkBC,aAAS,EAAC,mBAAS3gJ,CAAT,EAAW;AAAC,aAAOA,CAAC,CAAC,KAAKy6E,IAAL,CAAU;AAAComE,gCAAwB,EAAC,CAAC;AAA3B,OAAV,EAAyC95D,cAA1C,CAAR;AAAkE;AAA1G,GAAP;AAAA,MAAmH+5D,EAAE,GAAC;AAACC,kBAAc,EAAClmB,EAAhB;AAAmBqjB,YAAQ,EAACnf,EAA5B;AAA+BiiB,aAAS,EAACvnB,EAAzC;AAA4CwnB,eAAW,EAAC/nB,EAAxD;AAA2DL,WAAO,EAACU,EAAnE;AAAsE2nB,SAAK,EAACngB,EAA5E;AAA+EogB,8BAA0B,EAAC,sCAAU;AAAC,UAAInhJ,CAAC,GAAC,KAAKohJ,mBAAL,IAA0B9+H,CAAC,CAAC++H,gBAA5B,IAA8C,CAApD;AAAsD,aAAO,UAASrhJ,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiBwmC,CAAjB,EAAmB;AAAC,YAAIp8C,CAAC,GAAC1kB,CAAC,CAACsyG,SAAF,CAAYrpF,GAAZ,CAAgB,UAASjpB,CAAT,EAAW;AAAC,cAAI2mC,CAAJ,EAAM5lC,CAAN;AAAQ,iBAAO4lC,CAAC,GAAC3mC,CAAC,CAACuG,UAAF,CAAaypG,UAAb,IAAyBhwG,CAAC,CAACuG,UAAF,CAAaypG,UAAb,CAAwBh/F,KAAnD,EAAyDjQ,CAAC,GAACf,CAAC,CAACuG,UAAF,CAAaypG,UAAb,IAAyBhwG,CAAC,CAACuG,UAAF,CAAaypG,UAAb,CAAwBj/F,MAA5G,EAAmH;AAACixG,qBAAS,EAAChiH,CAAC,CAACuG,UAAF,CAAa0pG,SAAb,IAAwB3tF,CAAC,CAACmlC,MAAF,CAASi1E,SAA5C;AAAsD1rH,iBAAK,EAAC21B,CAA5D;AAA8D51B,kBAAM,EAAChQ,CAArE;AAAuEkV,oBAAQ,EAACjW;AAAhF,WAA1H;AAA6M,SAAjP,CAAN;AAAyP6yI,UAAE,CAACnuH,CAAD,EAAG,UAAS1kB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,iBAAO3mC,CAAC,CAACgiH,SAAF,GAAYr7E,CAAC,CAACq7E,SAArB;AAA+B,SAAhD,CAAF;AAAoD,YAAI5mG,CAAC,GAAC,CAACsJ,CAAC,GAACA,CAAC,CAACtgB,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAM,CAAC++H,EAAE,CAAC0B,cAAH,CAAkBzgI,CAAC,CAACiW,QAApB,CAAP;AAAqC,SAA1D,CAAH,EAAgE7R,MAAhE,CAAuE,UAASpE,CAAT,EAAW;AAAC,iBAAO++H,EAAE,CAACwB,SAAH,CAAavgI,CAAC,CAACiW,QAAf,CAAP;AAAgC,SAAnH,CAAN;AAA2HmF,SAAC,CAAClY,MAAF,KAAWkY,CAAC,GAACsJ,CAAC,CAACtgB,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAM,CAAC++H,EAAE,CAACxtG,UAAH,CAAcvxB,CAAC,CAACiW,QAAhB,CAAP;AAAiC,SAAtD,CAAb;AAAsE,YAAI0qD,CAAC,GAACvlD,CAAC,CAAChX,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACgiH,SAAF,GAAYgxB,EAAE,CAACK,kBAAf,GAAkC1sG,CAAzC;AAA2C,SAAhE,CAAN;AAAA,YAAwEi6B,CAAC,GAACD,CAAC,CAACA,CAAC,CAACz9D,MAAF,GAAS,CAAV,CAA3E;AAAA,YAAwFk4B,CAAC,GAACulC,CAAC,CAACv8D,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACgiH,SAAF,KAAcphD,CAAC,CAACohD,SAAvB;AAAiC,SAAtD,EAAwD,CAAxD,CAA1F;;AAAqJ,YAAG,CAAC,CAAD,KAAKlhD,CAAR,EAAU;AAAC,cAAIU,CAAC,GAACpmC,CAAC,IAAEhgB,CAAC,CAAC,CAAD,CAAJ,IAASsJ,CAAC,CAAC,CAAD,CAAhB;AAAoB,iBAAO88C,CAAC,GAACA,CAAC,CAACvrD,QAAH,GAAY,IAApB;AAAyB;;AAAA,YAAIwqD,CAAC,GAACE,CAAC,CAACv8D,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACgR,KAAF,IAAShR,CAAC,CAAC+Q,MAAlB;AAAyB,SAA9C,CAAN;AAAsD8hI,UAAE,CAACpyE,CAAD,EAAG,UAASzgE,CAAT,EAAW2mC,CAAX,EAAa;AAAC,iBAAO3mC,CAAC,CAACgR,KAAF,GAAQ21B,CAAC,CAAC31B,KAAjB;AAAuB,SAAxC,CAAF;AAA4C,YAAI0vD,CAAC,GAACD,CAAC,CAACr8D,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACgR,KAAF,KAAUjQ,CAAV,IAAaf,CAAC,CAAC+Q,MAAF,KAAWupB,CAA/B;AAAiC,SAAtD,CAAN;AAA8DsmC,SAAC,GAACF,CAAC,CAACA,CAAC,CAACx9D,MAAF,GAAS,CAAV,CAAH;AAAgB,YAAIkwC,CAAC,GAACstB,CAAC,CAACt8D,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACgiH,SAAF,KAAcphD,CAAC,CAACohD,SAAvB;AAAiC,SAAtD,EAAwD,CAAxD,CAAN;AAAA,YAAiE1gD,CAAC,GAAC,KAAK,CAAxE;AAAA,YAA0E/xC,CAAC,GAAC,KAAK,CAAjF;AAAA,YAAmFmyC,CAAC,GAAC,KAAK,CAA1F;AAA4FtuB,SAAC,KAAG7jB,CAAC,GAAC,CAAC+xC,CAAC,GAACb,CAAC,CAACr8D,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACgR,KAAF,GAAQjQ,CAAR,IAAWf,CAAC,CAAC+Q,MAAF,GAASupB,CAA3B;AAA6B,SAAlD,CAAH,EAAwDl2B,MAAxD,CAA+D,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACgR,KAAF,KAAUswD,CAAC,CAAC,CAAD,CAAD,CAAKtwD,KAAf,IAAsBhR,CAAC,CAAC+Q,MAAF,KAAWuwD,CAAC,CAAC,CAAD,CAAD,CAAKvwD,MAA7C;AAAoD,SAA/H,CAAF,EAAmI6vD,CAAC,GAACrxC,CAAC,CAACA,CAAC,CAACrsB,MAAF,GAAS,CAAV,CAAtI,EAAmJw+D,CAAC,GAACnyC,CAAC,CAACnrB,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACgiH,SAAF,KAAcphD,CAAC,CAACohD,SAAvB;AAAiC,SAAtD,EAAwD,CAAxD,CAAxJ,CAAD;AAAqN,YAAI/kF,CAAC,GAACykC,CAAC,IAAEtuB,CAAH,IAAMhY,CAAN,IAAShgB,CAAC,CAAC,CAAD,CAAV,IAAesJ,CAAC,CAAC,CAAD,CAAtB;AAA0B,eAAOuY,CAAC,GAACA,CAAC,CAAChnB,QAAH,GAAY,IAApB;AAAyB,OAAnuC,CAAouC,KAAKq8F,SAAL,CAAeyoB,MAAnvC,EAA0vC,KAAKumB,eAA/vC,EAA+wC56I,QAAQ,CAACksI,EAAE,CAAC,KAAKr4D,KAAL,CAAWh2D,EAAX,EAAD,EAAiB,OAAjB,CAAH,EAA6B,EAA7B,CAAR,GAAyCvkB,CAAxzC,EAA0zC0G,QAAQ,CAACksI,EAAE,CAAC,KAAKr4D,KAAL,CAAWh2D,EAAX,EAAD,EAAiB,QAAjB,CAAH,EAA8B,EAA9B,CAAR,GAA0CvkB,CAAp2C,EAAs2C,KAAKuhJ,gCAA32C,CAAP;AAAo5C,KAA/jD;AAAgkDC,6BAAyB,EAAC,qCAAU;AAAC,UAAIxhJ,CAAC,GAAC,KAAKsyG,SAAL,CAAeyoB,MAAf,CAAsBzoB,SAAtB,CAAgCluG,MAAhC,CAAuC26H,EAAE,CAACwB,SAA1C,CAAN;AAA2D,aAAOsS,EAAE,CAAC7yI,CAAD,EAAG,UAASA,CAAT,EAAW2mC,CAAX,EAAa;AAAC,eAAOmsG,EAAE,CAAC9yI,CAAD,EAAG2mC,CAAH,CAAT;AAAe,OAAhC,CAAF,EAAoC3mC,CAAC,CAACoE,MAAF,CAAS,UAASpE,CAAT,EAAW;AAAC,eAAOmjI,EAAE,CAACnjI,CAAC,CAACuG,UAAF,CAAau7G,MAAd,CAAF,CAAwBuhB,UAA/B;AAA0C,OAA/D,EAAiE,CAAjE,KAAqE,IAAhH;AAAqH,KAArxD;AAAsxDoe,4BAAwB,EAAC3O,EAA/yD;AAAkzD4O,6BAAyB,EAAC,mCAAS1hJ,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,KAAK,CAAX;AAAA,UAAau5B,CAAC,GAAC,KAAK,CAApB;AAAsB,aAAOt6B,CAAC,CAACuG,UAAF,CAAaypG,UAAb,IAAyBhwG,CAAC,CAACuG,UAAF,CAAaypG,UAAb,CAAwBh/F,KAAjD,KAAyDjQ,CAAC,GAACf,CAAC,CAACuG,UAAF,CAAaypG,UAAb,CAAwBh/F,KAAnF,GAA0FjQ,CAAC,GAACA,CAAC,IAAEuhB,CAAC,CAACmlC,MAAF,CAASi1E,SAAxG,EAAkH/1F,CAAC,CAACpgC,UAAF,CAAaypG,UAAb,IAAyBrpE,CAAC,CAACpgC,UAAF,CAAaypG,UAAb,CAAwBh/F,KAAjD,KAAyDspB,CAAC,GAACqM,CAAC,CAACpgC,UAAF,CAAaypG,UAAb,CAAwBh/F,KAAnF,CAAlH,EAA4MjQ,CAAC,MAAIu5B,CAAC,GAACA,CAAC,IAAEhY,CAAC,CAACmlC,MAAF,CAASi1E,SAAlB,CAAD,IAA+B18H,CAAC,CAACuG,UAAF,CAAa0pG,SAA5C,IAAuDtpE,CAAC,CAACpgC,UAAF,CAAa0pG,SAApE,GAA8EjwG,CAAC,CAACuG,UAAF,CAAa0pG,SAAb,GAAuBtpE,CAAC,CAACpgC,UAAF,CAAa0pG,SAAlH,GAA4HlvG,CAAC,GAACu5B,CAAjV;AAAmV,KAAnsE;AAAosEwlB,OAAG,EAAC68E,EAAE;AAA1sE,GAAtH;AAAo0E,GAAC,oBAAD,EAAsB,wBAAtB,EAA+C,yBAA/C,EAAyE,uBAAzE,EAAiG,2BAAjG,EAA6H,4BAA7H,EAA0J,oBAA1J,EAAgL5zH,OAAhL,CAAwL,UAAS49B,CAAT,EAAW;AAACngC,UAAM,CAAC06B,cAAP,CAAsB4/G,EAAtB,EAAyBn6G,CAAzB,EAA2B;AAACje,SAAG,EAAC,eAAU;AAAC,eAAOkkF,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,eAAamH,CAAb,GAAe,gDAA3B,GAA6EqsG,EAAE,CAACrsG,CAAD,CAAtF;AAA0F,OAA1G;AAA2GvF,SAAG,EAAC,aAASphC,CAAT,EAAW;AAAC4sG,UAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,eAAamH,CAAb,GAAe,gDAA3B,GAA6E,YAAU,OAAO3mC,CAAjB,IAAoBA,CAAC,GAAC,CAAtB,GAAwB4sG,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,kBAAgBmH,CAAhB,GAAkB,qCAA9B,CAAxB,GAA6FqsG,EAAE,CAACrsG,CAAD,CAAF,GAAM3mC,CAAhL;AAAkL;AAA7S,KAA3B;AAA2U,GAA/gB;;AAAihB,WAAS2hJ,EAAT,CAAY3hJ,CAAZ,EAAc;AAAC,WAAM,yDAAyD2V,IAAzD,CAA8D3V,CAA9D,IAAiE,KAAjE,GAAuE,2BAA2B2V,IAA3B,CAAgC3V,CAAhC,IAAmC,MAAnC,GAA0C,IAAvH;AAA4H;;AAAA,WAAS4hJ,EAAT,CAAY5hJ,CAAZ,EAAc2mC,CAAd,EAAgB;AAAC,SAAI,IAAI5lC,CAAC,GAAC4lC,CAAC,CAAC8e,KAAF,EAAN,EAAgBnrB,CAAC,GAAC,CAAC,CAAnB,EAAqBwmC,CAAC,GAAC,CAA3B,EAA6BA,CAAC,GAAC9gE,CAAC,CAACkD,MAAjC,EAAwC49D,CAAC,EAAzC;AAA4C,UAAG9gE,CAAC,CAAC8gE,CAAD,CAAD,CAAK7/D,EAAL,KAAUF,CAAC,CAACE,EAAf,EAAkB;AAACq5B,SAAC,GAACwmC,CAAF;AAAI;AAAM;AAAzE;;AAAyE9gE,KAAC,CAAC6hJ,cAAF,GAAiBvnH,CAAjB,EAAmBt6B,CAAC,CAACuF,OAAF,CAAU;AAAC+wB,mBAAa,EAACgE,CAAf;AAAiB/pB,UAAI,EAAC;AAAtB,KAAV,CAAnB;AAA8D;;AAAA,MAAIuxI,EAAE,GAAC,aAAP;;AAAqBhB,IAAE,CAACl7D,aAAH,GAAiB,YAAU;AAAC,WAAOgnB,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,yEAAZ,CAAP;AAA8F,GAA1H;;AAA2H,WAASuiH,EAAT,CAAY/hJ,CAAZ,EAAc;AAAC,QAAI2mC,CAAC,GAAC3mC,CAAC,CAACm/I,yBAAF,CAA4BlC,kBAAlC;AAAA,QAAqDl8I,CAAC,GAACf,CAAC,CAACm/I,yBAAF,CAA4BjC,mBAAnF;AAAA,QAAuG5iH,CAAC,GAACsyE,EAAE,CAAC1gC,OAAH,CAAWlsE,CAAC,CAACu6E,KAAF,CAAQ3R,QAAR,CAAiBt4D,QAA5B,CAAzG;;AAA+I,QAAGgqB,CAAC,CAACgwD,GAAL,EAAS;AAAC,UAAIxpB,CAAC,GAAC,UAAS9gE,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,YAAG,CAACf,CAAJ,EAAM,OAAOA,CAAP;AAAS,YAAIs6B,CAAC,GAAC,KAAK,CAAX;AAAA,YAAawmC,CAAC,GAAC,KAAK,CAApB;AAAsB,YAAG//D,CAAC,CAAC0wI,SAAL,EAAen3G,CAAC,GAACqM,CAAC,CAAC8qG,SAAJ,EAAc3wE,CAAC,GAAC//D,CAAC,CAAC0wI,SAAlB,CAAf,KAA+C;AAAC,cAAI/sH,CAAC,GAACi/G,EAAE,CAACh9F,CAAC,CAAC8qG,SAAH,CAAR;AAAA,cAAsBr2H,CAAC,GAACsJ,CAAC,CAACjhB,UAAF,CAAas+G,MAAb,CAAoB52F,KAApB,CAA0B,GAA1B,CAAxB;AAAA,cAAuDw1C,CAAC,GAAC,KAAK,CAA9D;AAAA,cAAgEC,CAAC,GAAC,KAAK,CAAvE;AAAyExlD,WAAC,CAACrS,OAAF,CAAU,UAAS/I,CAAT,EAAW;AAACA,aAAC,GAACA,CAAC,CAAC6jD,IAAF,EAAF,EAAW+/E,EAAE,CAAC5jI,CAAD,CAAF,GAAM2gE,CAAC,GAAC3gE,CAAR,GAAU6jI,EAAE,CAAC7jI,CAAD,CAAF,KAAQ4gE,CAAC,GAAC5gE,CAAV,CAArB;AAAkC,WAAxD,GAA0Ds6B,CAAC,GAAC5V,CAAC,CAACnU,IAAF,GAAO,YAAP,GAAoBqwD,CAApB,GAAsB,GAAlF,EAAsFE,CAAC,GAACp8C,CAAC,CAACnU,IAAF,CAAOlM,OAAP,CAAe,OAAf,EAAuB,OAAvB,IAAgC,YAAhC,GAA6Cs8D,CAA7C,GAA+C,GAAvI;AAA2I;AAAA,YAAIvlC,CAAC,GAAC,EAAN;AAAA,YAASomC,CAAC,GAAC76B,CAAC,CAACquG,SAAb;;AAAuB,aAAI,IAAIv0E,CAAR,IAAazgE,CAAb;AAAeo7B,WAAC,CAACqlC,CAAD,CAAD,GAAK;AAACuhF,4BAAgB,EAAClhF,CAAlB;AAAoBmhF,4BAAgB,EAAC3nH;AAArC,WAAL,EAA6CknC,CAAC,CAACuwC,iBAAF,IAAqBvwC,CAAC,CAACuwC,iBAAF,CAAoBtxC,CAApB,CAArB,IAA6Ce,CAAC,CAACuwC,iBAAF,CAAoBtxC,CAApB,EAAuByxC,IAApE,KAA2E92E,CAAC,CAACqlC,CAAD,CAAD,CAAKyxC,IAAL,GAAU1wC,CAAC,CAACuwC,iBAAF,CAAoBtxC,CAApB,EAAuByxC,IAA5G,CAA7C,EAA+J,YAAU,OAAOlyG,CAAC,CAACygE,CAAD,CAAlB,KAAwBrlC,CAAC,CAACqlC,CAAD,CAAD,CAAK//D,GAAL,GAASV,CAAC,CAACygE,CAAD,CAAlC,CAA/J;AAAf;;AAAqN,eAAOmsC,EAAE,CAACa,YAAH,CAAgBztG,CAAhB,EAAkBo7B,CAAlB,CAAP;AAA4B,OAAjkB,CAAkkBp7B,CAAC,CAACkiJ,OAAF,CAAUC,UAA5kB,EAAulBx7G,CAAvlB,EAAylB5lC,CAAzlB,CAAN;;AAAkmB+/D,OAAC,KAAGxmC,CAAC,CAAC8rE,aAAF,GAAkB+7C,UAAlB,GAA6BrhF,CAA7B,EAA+B,OAAK8rC,EAAE,CAACW,OAAH,CAAW5+B,UAAhB,IAA4Br0C,CAAC,CAACgwD,GAAF,CAAM83D,mBAAlC,IAAuD9nH,CAAC,CAACgwD,GAAF,CAAM83D,mBAAN,EAAzF,CAAD;AAAuH;AAAC;;AAAA,WAASC,EAAT,GAAa;AAAC,QAAG,CAAC7/I,MAAM,CAACgqD,YAAX,EAAwB,OAAO,IAAP;AAAY,QAAIxsD,CAAC,GAACwC,MAAM,CAACgqD,YAAP,CAAoBC,OAApB,CAA4Bq1F,EAA5B,CAAN;AAAsC,QAAG,CAAC9hJ,CAAJ,EAAM,OAAO,IAAP;;AAAY,QAAG;AAAC,aAAO8O,IAAI,CAACC,KAAL,CAAW/O,CAAX,CAAP;AAAqB,KAAzB,CAAyB,OAAMA,CAAN,EAAQ;AAAC,aAAO,IAAP;AAAY;AAAC;;AAAA8gJ,IAAE,CAACwB,iBAAH,GAAqB,YAAU;AAAC,QAAI37G,CAAC,GAAC85B,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,CAAN;AAA+B,QAAG,CAAC65F,EAAE,CAAC5mB,OAAH,CAAW,OAAX,EAAoBoD,WAApB,EAAJ,EAAsC,OAAM,CAAC,CAAP;AAAS,WAAM,CAAC,+BAAD,EAAiC,eAAjC,EAAiD,iBAAjD,EAAmE,uBAAnE,EAA2F,iBAA3F,EAA6G,eAA7G,EAA6H,qBAA7H,EAAoJze,IAApJ,CAAyJ,UAAS3qE,CAAT,EAAW;AAAC,aAAM,kBAAkB2V,IAAlB,CAAuBgxB,CAAC,CAACg/C,WAAF,CAAc3lF,CAAd,CAAvB,CAAN;AAA+C,KAApN,CAAN;AAA4N,GAArT,EAArB,EAA6U8gJ,EAAE,CAACyB,kBAAH,GAAsB,CAAC,CAAC31C,EAAE,CAAC5mB,OAAH,CAAW,OAAX,EAAoBoD,WAApB,EAAF,IAAqC,kBAAkBzzE,IAAlB,CAAuB8qD,CAAC,CAAC1tD,aAAF,CAAgB,OAAhB,EAAyB4yE,WAAzB,CAAqC,sBAArC,CAAvB,CAAxY,EAA6dm7D,EAAE,CAAC0B,oBAAH,GAAwB,UAASxiJ,CAAT,EAAW;AAAC,WAAM,UAAQA,CAAR,GAAU8gJ,EAAE,CAACwB,iBAAb,GAA+B,WAAStiJ,CAAT,IAAY8gJ,EAAE,CAACyB,kBAApD;AAAuE,GAAxkB,EAAykBzB,EAAE,CAAC13D,WAAH,GAAe,YAAU;AAAC,WAAOwjB,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,yEAAZ,CAAP;AAA8F,GAAjsB;AAAksB,MAAIijH,EAAE,GAAC71C,EAAE,CAACliC,YAAH,CAAgB,WAAhB,CAAP;AAAA,MAAoCg4E,EAAE,IAAExoB,EAAE,CAACyoB,EAAD,EAAIF,EAAJ,CAAF,EAAUzoB,EAAE,CAAC2oB,EAAD,EAAI,CAAC;AAACv9H,OAAG,EAAC,aAAL;AAAmBC,SAAK,EAAC,iBAAU;AAAC,UAAIshB,CAAC,GAAC,IAAN;;AAAW,UAAG,KAAKiiC,QAAL,CAAc6Q,eAAd,GAA8B,KAAK7Q,QAAL,CAAc6Q,eAAd,IAA+B,CAAC,CAA9D,EAAgE,KAAK7Q,QAAL,CAAc2yD,uBAAd,GAAsC,KAAK3yD,QAAL,CAAc2yD,uBAAd,IAAuC,CAAC,CAA9I,EAAgJ,KAAK3yD,QAAL,CAAc24E,gCAAd,GAA+C,CAAC,CAAD,KAAK,KAAK34E,QAAL,CAAc24E,gCAAlN,EAAmP,KAAK34E,QAAL,CAAcw4E,mBAAd,GAAkC,KAAKx4E,QAAL,CAAcw4E,mBAAd,IAAmC,CAAC,CAAzT,EAA2T,KAAKx4E,QAAL,CAAcw2E,mBAAd,GAAkC,KAAKx2E,QAAL,CAAcw2E,mBAAd,IAAmC,CAAC,CAAjY,EAAmY,KAAKx2E,QAAL,CAAcg6E,4BAAd,GAA2C,eAAa,OAAO,KAAKV,OAAL,CAAaU,4BAAjC,GAA8D,KAAKV,OAAL,CAAaU,4BAA3E,GAAwG,KAAKh6E,QAAL,CAAcg6E,4BAAd,IAA4C,CAAC,CAAnkB,EAAqkB,KAAKh6E,QAAL,CAAcoyD,gBAAd,GAA+B,KAAKpyD,QAAL,CAAcoyD,gBAAd,IAAgC,EAApoB,EAAuoB,KAAKpyD,QAAL,CAAcqyD,gBAAd,GAA+B,KAAKryD,QAAL,CAAcqyD,gBAAd,IAAgC,EAAtsB,EAAysB,KAAKryD,QAAL,CAAc4wE,mBAAd,GAAkC,KAAK5wE,QAAL,CAAc4wE,mBAAd,IAAmC,CAAC,CAA/wB,EAAixB,YAAU,OAAO,KAAK5wE,QAAL,CAAc0vE,iBAA/B,KAAmD,KAAK1vE,QAAL,CAAc0vE,iBAAd,GAAgC,GAAnF,CAAjxB,EAAy2B,YAAU,OAAO,KAAK1vE,QAAL,CAAco5C,SAA/B,IAA0C,KAAKp5C,QAAL,CAAcg6E,4BAAp6B,EAAi8B;AAAC,YAAI5iJ,CAAC,GAACqiJ,EAAE,EAAR;AAAWriJ,SAAC,IAAEA,CAAC,CAACgiH,SAAL,KAAiB,KAAKp5C,QAAL,CAAco5C,SAAd,GAAwBhiH,CAAC,CAACgiH,SAA1B,EAAoC,KAAKznC,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,cAAI,EAAC,OAAN;AAAcqZ,cAAI,EAAC;AAAnB,SAAnB,CAArD,GAAiI5pB,CAAC,IAAEA,CAAC,CAAC84I,UAAL,KAAkB,KAAKlwE,QAAL,CAAckwE,UAAd,GAAyB94I,CAAC,CAAC84I,UAA3B,EAAsC,KAAKv+D,KAAL,CAAWh1E,OAAX,CAAmB;AAACgL,cAAI,EAAC,OAAN;AAAcqZ,cAAI,EAAC;AAAnB,SAAnB,CAAxD,CAAjI;AAAsQ;;AAAA,kBAAU,OAAO,KAAKg/C,QAAL,CAAco5C,SAA/B,KAA2C,KAAKp5C,QAAL,CAAco5C,SAAd,GAAwBgxB,EAAE,CAACI,iBAAtE,GAAyF,KAAKxqE,QAAL,CAAc60E,wBAAd,GAAuC,KAAK70E,QAAL,CAAc60E,wBAAd,IAAwC,KAAK70E,QAAL,CAAco5C,SAAd,KAA0BgxB,EAAE,CAACI,iBAArM,EAAuN,CAAC,iBAAD,EAAmB,qBAAnB,EAAyC,kCAAzC,EAA4E,WAA5E,EAAwF,qBAAxF,EAA8G,kBAA9G,EAAiI,kBAAjI,EAAoJ,yBAApJ,EAA8K,qBAA9K,EAAqMrqI,OAArM,CAA6M,UAAS/I,CAAT,EAAW;AAAC,uBAAa,OAAO2mC,CAAC,CAACu7G,OAAF,CAAUliJ,CAAV,CAApB,KAAmC2mC,CAAC,CAACiiC,QAAF,CAAW5oE,CAAX,IAAc2mC,CAAC,CAACu7G,OAAF,CAAUliJ,CAAV,CAAjD;AAA+D,OAAxR,CAAvN,EAAif,KAAKuhJ,gCAAL,GAAsC,KAAK34E,QAAL,CAAc24E,gCAAriB,EAAskB,KAAKH,mBAAL,GAAyB,KAAKx4E,QAAL,CAAcw4E,mBAA7mB;AAAioB;AAAn4D,GAAD,EAAs4D;AAACh8H,OAAG,EAAC,KAAL;AAAWC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC,IAAN;AAAWf,OAAC,KAAG,KAAK6iJ,WAAL,IAAmB,KAAKj6E,QAAL,CAAcloE,GAAd,GAAkB,KAAKwhJ,OAAL,CAAalvI,GAAlD,EAAsD,KAAK41D,QAAL,CAAc6R,IAAd,GAAmB,KAAKF,KAA9E,EAAoF,KAAK3R,QAAL,CAAci2E,SAAd,GAAwBiC,EAA5G,EAA+G,KAAKl4E,QAAL,CAAc0wE,UAAd,GAAyBqI,EAAE,CAACh7G,CAAD,CAA1I,EAA8I,KAAKiiC,QAAL,CAAcrxD,MAAd,GAAqB,UAASvX,CAAT,EAAW;AAACe,SAAC,CAACw5E,KAAF,CAAQxkE,cAAR,CAAuB/V,CAAvB;AAA0B,OAAzM,EAA0M,KAAKm/I,yBAAL,GAA+B,IAAIrC,EAAJ,CAAO,KAAKl0E,QAAZ,CAAzO,EAA+P,KAAKk6E,gBAAL,GAAsB,IAAIxD,EAAJ,CAAO1yC,EAAE,CAACa,YAAH,CAAgB,KAAK7kC,QAArB,EAA8B;AAAC6e,gBAAQ,EAAC,oBAAU;AAAC,iBAAO1mF,CAAC,CAAC0mF,QAAF,EAAP;AAAoB,SAAzC;AAA0ChiC,aAAK,EAAC,iBAAU;AAAC,iBAAO1kD,CAAC,CAACo+I,yBAAF,CAA4B15F,KAA5B,EAAP;AAA2C;AAAtG,OAA9B,CAAP,CAArR,EAAoa,KAAK05F,yBAAL,CAA+B98I,EAA/B,CAAkC,OAAlC,EAA0C,YAAU;AAACuqG,UAAE,CAAC1gC,OAAH,CAAWnrE,CAAC,CAACw5E,KAAF,CAAQ3R,QAAR,CAAiBt4D,QAA5B,EAAsCrL,KAAtC,CAA4ClE,CAAC,CAACo+I,yBAAF,CAA4Bl6I,KAAxE;AAA+E,OAApI,CAApa,EAA0iB,KAAKk6I,yBAAL,CAA+BxB,cAA/B,GAA8C,KAAKA,cAAL,GAAoB,KAAKA,cAAL,CAAoBphI,IAApB,CAAyB,IAAzB,CAApB,GAAmDukI,EAAE,CAACK,0BAAH,CAA8B5kI,IAA9B,CAAmC,IAAnC,CAA3oB,EAAorB,KAAK4iI,yBAAL,CAA+BzB,qBAA/B,GAAqDoD,EAAE,CAACU,yBAAH,CAA6BjlI,IAA7B,CAAkC,IAAlC,CAAzuB,EAAixB,KAAK+1F,SAAL,GAAe,KAAK6sC,yBAAL,CAA+B/P,qBAA/zB,EAAq1B,KAAKyB,WAAL,GAAiB,KAAKsO,yBAAL,CAA+BtO,WAAr4B,EAAi5BrqI,MAAM,CAACu0E,gBAAP,CAAwB,IAAxB,EAA6B;AAAC4iE,sBAAc,EAAC;AAACj1H,aAAG,EAAC,eAAU;AAAC,mBAAO,KAAKy2H,yBAAL,CAA+BxB,cAAtC;AAAqD,WAArE;AAAsEv8G,aAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,iBAAKm/I,yBAAL,CAA+BxB,cAA/B,GAA8C39I,CAAC,CAACuc,IAAF,CAAO,IAAP,CAA9C;AAA2D;AAAjJ,SAAhB;AAAmKu8H,kBAAU,EAAC;AAACpwH,aAAG,EAAC,eAAU;AAAC,mBAAO,KAAKy2H,yBAAL,CAA+BlC,kBAA/B,CAAkDnE,UAAlD,CAA6DnhD,IAApE;AAAyE,WAAzF;AAA0Fv2D,aAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,iBAAKm/I,yBAAL,CAA+BlC,kBAA/B,CAAkDnE,UAAlD,CAA6DnhD,IAA7D,GAAkE33F,CAAlE,EAAoE,KAAKm/I,yBAAL,CAA+BlC,kBAA/B,CAAkDnE,UAAlD,CAA6D12G,KAA7D,GAAmE,CAAvI;AAAyI;AAAnP,SAA9K;AAAma4/E,iBAAS,EAAC;AAACt5F,aAAG,EAAC,eAAU;AAAC,mBAAO,KAAKy2H,yBAAL,CAA+BlC,kBAA/B,CAAkDj7B,SAAzD;AAAmE,WAAnF;AAAoF5gF,aAAG,EAAC,aAASphC,CAAT,EAAW;AAAC,iBAAKm/I,yBAAL,CAA+BlC,kBAA/B,CAAkDj7B,SAAlD,GAA4DhiH,CAA5D,EAA8D,KAAKm/I,yBAAL,CAA+BlC,kBAA/B,CAAkDnE,UAAlD,GAA6D;AAACnhD,kBAAI,EAAC,CAAN;AAAQv1D,mBAAK,EAAC;AAAd,aAA3H;AAA4I;AAAhP,SAA7a;AAA+pBk/G,uBAAe,EAAC;AAAC54H,aAAG,EAAC,eAAU;AAAC,gBAAI1oB,CAAC,GAAC,KAAG,KAAKgiH,SAAL,IAAgB,CAAnB,CAAN;AAAA,gBAA4Br7E,CAAC,GAAC,KAAK,CAAnC;AAAqC,mBAAOA,CAAC,GAAC,IAAE,KAAKmyG,UAAP,GAAkB,IAAE,KAAKA,UAAzB,GAAoC,CAAtC,EAAwCn4H,IAAI,CAACuE,KAAL,CAAW,KAAGllB,CAAC,GAAC2mC,CAAL,CAAX,CAA/C;AAAmE,WAAxH;AAAyHvF,aAAG,EAAC,eAAU;AAACwrE,cAAE,CAACtuF,GAAH,CAAOrZ,KAAP,CAAa,6CAAb;AAA4D;AAApM;AAA/qB,OAA7B,CAAj5B,EAAqyD,KAAK2jE,QAAL,CAAco5C,SAAd,KAA0B,KAAKA,SAAL,GAAe,KAAKp5C,QAAL,CAAco5C,SAAvD,CAAryD,EAAu2D,KAAKp5C,QAAL,CAAckwE,UAAd,KAA2B,KAAKA,UAAL,GAAgB,KAAKlwE,QAAL,CAAckwE,UAAzD,CAAv2D,EAA46DtyI,MAAM,CAACu0E,gBAAP,CAAwB,KAAKu3D,KAA7B,EAAmC;AAACtwB,iBAAS,EAAC;AAACt5F,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACihH,SAAF,IAAa,CAApB;AAAsB,WAAtC;AAAuCp5E,oBAAU,EAAC,CAAC;AAAnD,SAAX;AAAiEgrG,qBAAa,EAAC;AAAClrH,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACo+I,yBAAF,CAA4B4D,cAA5B,MAA8C,CAArD;AAAuD,WAAvE;AAAwEn6G,oBAAU,EAAC,CAAC;AAApF,SAA/E;AAAsKirG,4BAAoB,EAAC;AAACnrH,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACo+I,yBAAF,CAA4B6D,qBAA5B,MAAqD,CAA5D;AAA8D,WAA9E;AAA+Ep6G,oBAAU,EAAC,CAAC;AAA3F,SAA3L;AAAyRkrG,6BAAqB,EAAC;AAACprH,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACo+I,yBAAF,CAA4B8D,sBAA5B,MAAsD,CAA7D;AAA+D,WAA/E;AAAgFr6G,oBAAU,EAAC,CAAC;AAA5F,SAA/S;AAA8YmrG,4BAAoB,EAAC;AAACrrH,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACo+I,yBAAF,CAA4B+D,qBAA5B,MAAqD,CAA5D;AAA8D,WAA9E;AAA+Et6G,oBAAU,EAAC,CAAC;AAA3F,SAAna;AAAigBorG,6BAAqB,EAAC;AAACtrH,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACo+I,yBAAF,CAA4BgE,sBAA5B,MAAsD,CAA7D;AAA+D,WAA/E;AAAgFv6G,oBAAU,EAAC,CAAC;AAA5F,SAAvhB;AAAsnB+qG,6BAAqB,EAAC;AAACjrH,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACo+I,yBAAF,CAA4BiE,sBAA5B,MAAsD,CAA7D;AAA+D,WAA/E;AAAgFx6G,oBAAU,EAAC,CAAC;AAA5F,SAA5oB;AAA2uBqrG,0BAAkB,EAAC;AAACvrH,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACo+I,yBAAF,CAA4BkE,mBAA5B,MAAmD,CAA1D;AAA4D,WAA5E;AAA6Ez6G,oBAAU,EAAC,CAAC;AAAzF,SAA9vB;AAA01Bw7C,gBAAQ,EAAC;AAAC17D,aAAG,EAAC,eAAU;AAAC,mBAAO02G,EAAE,CAACr+H,CAAC,CAACw5E,KAAF,CAAQ6J,QAAR,EAAD,CAAT;AAA8B,WAA9C;AAA+Cx7C,oBAAU,EAAC,CAAC;AAA3D,SAAn2B;AAAi6B/4B,mBAAW,EAAC;AAAC6Y,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACw5E,KAAF,CAAQ1qE,WAAR,EAAP;AAA6B,WAA7C;AAA8C+4B,oBAAU,EAAC,CAAC;AAA1D,SAA76B;AAA0+Bw9D,qBAAa,EAAC;AAAC19E,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACw5E,KAAF,CAAQwM,cAAf;AAA8B,WAA9C;AAA+Cn+C,oBAAU,EAAC,CAAC;AAA3D,SAAx/B;AAAsjC06G,mBAAW,EAAC;AAAC56H,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACw5E,KAAF,CAAQzR,KAAf;AAAqB,WAArC;AAAsClgC,oBAAU,EAAC,CAAC;AAAlD,SAAlkC;AAAunCtpB,gBAAQ,EAAC;AAACoJ,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACw5E,KAAF,CAAQj7D,QAAR,EAAP;AAA0B,WAA1C;AAA2CspB,oBAAU,EAAC,CAAC;AAAvD,SAAhoC;AAA0rCmyF,cAAM,EAAC;AAACryG,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACuxG,SAAF,CAAYyoB,MAAnB;AAA0B,WAA1C;AAA2CnyF,oBAAU,EAAC,CAAC;AAAvD,SAAjsC;AAA2vC26G,wBAAgB,EAAC;AAAC76H,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACw5E,KAAF,CAAQlP,iBAAR,EAAP;AAAmC,WAAnD;AAAoDziC,oBAAU,EAAC,CAAC;AAAhE,SAA5wC;AAA+0C6+C,gBAAQ,EAAC;AAAC/+D,aAAG,EAAC,eAAU;AAAC,mBAAO02G,EAAE,CAACr+H,CAAC,CAACw5E,KAAF,CAAQkN,QAAR,EAAD,CAAT;AAA8B,WAA9C;AAA+C7+C,oBAAU,EAAC,CAAC;AAA3D,SAAx1C;AAAs5C46G,iBAAS,EAAC;AAAC96H,aAAG,EAAC,eAAU;AAAC,mBAAO0D,IAAI,CAACrH,GAAL,EAAP;AAAkB,WAAlC;AAAmC6jB,oBAAU,EAAC,CAAC;AAA/C,SAAh6C;AAAk9C66G,4BAAoB,EAAC;AAAC/6H,aAAG,EAAC,eAAU;AAAC,mBAAO3nB,CAAC,CAACw5E,KAAF,CAAQ8K,uBAAR,EAAP;AAAyC,WAAzD;AAA0Dz8C,oBAAU,EAAC,CAAC;AAAtE;AAAv+C,OAAnC,CAA56D,EAAigH,KAAK2xC,KAAL,CAAWh5D,GAAX,CAAe,SAAf,EAAyB,KAAK49H,yBAAL,CAA+B5B,cAA/B,CAA8ChhI,IAA9C,CAAmD,KAAK4iI,yBAAxD,CAAzB,CAAjgH,EAA8mH,KAAK5kE,KAAL,CAAWl4E,EAAX,CAAc,iBAAd,EAAgC,YAAU;AAACtB,SAAC,CAAC6nE,QAAF,CAAWg6E,4BAAX,IAAyC,UAAS5iJ,CAAT,EAAW;AAAC,cAAGwC,MAAM,CAACgqD,YAAV,EAAuB;AAAC,gBAAI7lB,CAAC,GAAC07G,EAAE,EAAR;AAAW17G,aAAC,GAACA,CAAC,GAACimE,EAAE,CAACa,YAAH,CAAgB9mE,CAAhB,EAAkB3mC,CAAlB,CAAD,GAAsBA,CAAzB;;AAA2B,gBAAG;AAACwC,oBAAM,CAACgqD,YAAP,CAAoBnD,OAApB,CAA4By4F,EAA5B,EAA+BhzI,IAAI,CAAC6C,SAAL,CAAeg1B,CAAf,CAA/B;AAAkD,aAAtD,CAAsD,OAAM3mC,CAAN,EAAQ;AAAC;AAAO;AAAC;AAAC,SAAlJ,CAAmJ;AAACgiH,mBAAS,EAACjhH,CAAC,CAACihH,SAAb;AAAuB82B,oBAAU,EAACn4H,IAAI,CAACguB,KAAL,CAAW5tC,CAAC,CAAC+3I,UAAb;AAAlC,SAAnJ,CAAzC;AAAyP,OAApS,CAA9mH,EAAo5H,KAAKqG,yBAAL,CAA+B98I,EAA/B,CAAkC,sBAAlC,EAAyD,YAAU;AAAC,SAAC,UAAStB,CAAT,EAAW;AAAC,cAAIf,CAAC,GAACe,CAAC,CAACuxG,SAAR;;AAAkBvxG,WAAC,CAAC2iJ,eAAF,GAAkB,YAAU;AAAC,mBAAO1jJ,CAAC,IAAEA,CAAC,CAAC+6H,MAAL,IAAa/6H,CAAC,CAAC+6H,MAAF,CAASzoB,SAAtB,GAAgCtyG,CAAC,CAAC+6H,MAAF,CAASzoB,SAAT,CAAmBluG,MAAnB,CAA0B,UAASpE,CAAT,EAAW;AAAC,qBAAM,CAACs8H,EAAE,CAACt8H,CAAD,CAAT;AAAa,aAAnD,EAAqDipB,GAArD,CAAyD,UAASjpB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,qBAAO,IAAIu4G,EAAJ,CAAOn+I,CAAP,EAASf,CAAT,EAAWA,CAAC,CAACiB,EAAb,CAAP;AAAwB,aAA/F,CAAhC,GAAiI,EAAxI;AAA2I,WAAxK;AAAyK,SAAvM,CAAwMF,CAAxM,CAAD,EAA4MghJ,EAAE,CAAChhJ,CAAD,CAA9M;AAAkN,OAAtR,CAAp5H,EAA4qI,KAAKsB,EAAL,CAAQ,KAAK88I,yBAAb,EAAuC,UAAvC,EAAkD,YAAU;AAAC,aAAK5kE,KAAL,CAAWh1E,OAAX,CAAmB,UAAnB;AAA+B,OAA5F,CAA5qI,EAA0wI,KAAKlD,EAAL,CAAQ,KAAK88I,yBAAb,EAAuC,WAAvC,EAAmD,YAAU;AAAC,aAAKwE,uBAAL,GAA6B,CAAC,CAA9B;AAAgC,OAA9F,CAA1wI,EAA02I,KAAKC,mBAAL,EAA12I,EAAq4I,KAAKrpE,KAAL,CAAWh2D,EAAX,MAAiB,KAAKg2D,KAAL,CAAWvnE,GAAX,CAAe45F,EAAE,CAACm1B,GAAH,CAAOgB,eAAP,CAAuB,KAAKoc,yBAAL,CAA+BtO,WAAtD,CAAf,CAAz5I,CAAD;AAA8+I;AAAxhJ,GAAt4D,EAAg6M;AAACzrH,OAAG,EAAC,qBAAL;AAA2BC,SAAK,EAAC,iBAAU;AAAC,UAAIrlB,CAAC,GAAC,IAAN;AAAA,UAAW2mC,CAAC,GAACimE,EAAE,CAAC1gC,OAAH,CAAW,KAAKqO,KAAL,CAAW3R,QAAX,CAAoBt4D,QAA/B,CAAb;AAAsDq2B,OAAC,IAAEA,CAAC,CAACk9G,aAAL,IAAoB,CAAC,KAAKC,cAA1B,KAA2C,KAAKA,cAAL,GAAoBn9G,CAAC,CAACk9G,aAAF,EAApB,EAAsC,KAAK1E,yBAAL,CAA+B98I,EAA/B,CAAkC,sBAAlC,EAAyD,YAAU;AAAC,SAAC,UAASskC,CAAT,EAAW3mC,CAAX,EAAa;AAACA,WAAC,CAAC0jJ,eAAF,GAAoB36I,OAApB,CAA4B,UAAS/I,CAAT,EAAW;AAAC2mC,aAAC,CAACo9G,eAAF,CAAkB/jJ,CAAlB;AAAqB,WAA7D,GAA+D4hJ,EAAE,CAACj7G,CAAD,EAAG3mC,CAAC,CAACsyG,SAAL,CAAjE;AAAiF,SAA/F,CAAgGtyG,CAAC,CAAC8jJ,cAAlG,EAAiH9jJ,CAAjH,CAAD;AAAqH,OAAzL,CAAtC,EAAiO,KAAKsyG,SAAL,CAAejwG,EAAf,CAAkB,aAAlB,EAAgC,YAAU;AAACu/I,UAAE,CAAC5hJ,CAAC,CAAC8jJ,cAAH,EAAkB9jJ,CAAC,CAACsyG,SAApB,CAAF;AAAiC,OAA5E,CAA5Q;AAA2V;AAA7b,GAAh6M,EAA+1N;AAACltF,OAAG,EAAC,MAAL;AAAYC,SAAK,EAAC,iBAAU;AAAC,WAAK85H,yBAAL,CAA+BvyI,IAA/B;AAAsC;AAAnE,GAA/1N,EAAo6N;AAACwY,OAAG,EAAC,gBAAL;AAAsBC,SAAK,EAAC,eAASrlB,CAAT,EAAW;AAAC,WAAKm/I,yBAAL,CAA+BppI,cAA/B,CAA8C/V,CAA9C;AAAiD;AAAzF,GAAp6N,EAA+/N;AAAColB,OAAG,EAAC,UAAL;AAAgBC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAK85H,yBAAL,CAA+B7/H,QAA/B,EAAP;AAAiD;AAAlF,GAA//N,EAAmlO;AAAC8F,OAAG,EAAC,UAAL;AAAgBC,SAAK,EAAC,iBAAU;AAAC,aAAO,KAAK85H,yBAAL,CAA+B13D,QAA/B,EAAP;AAAiD;AAAlF,GAAnlO,EAAuqO;AAACriE,OAAG,EAAC,SAAL;AAAeC,SAAK,EAAC,iBAAU;AAAC,WAAKy9H,gBAAL,IAAuB,KAAKA,gBAAL,CAAsBrxI,OAAtB,EAAvB,EAAuD,KAAK0tI,yBAAL,IAAgC,KAAKA,yBAAL,CAA+B1tI,OAA/B,EAAvF,EAAgI,KAAKqyI,cAAL,IAAqB,KAAKA,cAAL,CAAoBryI,OAApB,EAArJ,EAAmL,KAAKg3D,OAAL,KAAe,OAAO,KAAKA,OAAL,CAAau7E,GAApB,EAAwB,OAAO,KAAKv7E,OAAL,CAAaw7E,IAA5C,EAAiD,OAAO,KAAKx7E,OAAL,CAAawwE,GAApF,CAAnL,EAA4Q,KAAK1+D,KAAL,IAAY,KAAKA,KAAL,CAAW0+D,GAAvB,IAA4B,OAAO,KAAK1+D,KAAL,CAAW0+D,GAA1T,EAA8T,SAASj5I,CAAT,CAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,iBAAOqM,CAAP,KAAWA,CAAC,GAACmlE,QAAQ,CAAC/xF,SAAtB;AAAiC,YAAI+mD,CAAC,GAACt6D,MAAM,CAACq2F,wBAAP,CAAgCl2D,CAAhC,EAAkC5lC,CAAlC,CAAN;;AAA2C,YAAG,KAAK,CAAL,KAAS+/D,CAAZ,EAAc;AAAC,cAAIp8C,CAAC,GAACle,MAAM,CAACogB,cAAP,CAAsB+f,CAAtB,CAAN;AAA+B,iBAAO,SAAOjiB,CAAP,GAAS,KAAK,CAAd,GAAgB1kB,CAAC,CAAC0kB,CAAD,EAAG3jB,CAAH,EAAKu5B,CAAL,CAAxB;AAAgC;;AAAA,YAAG,WAAUwmC,CAAb,EAAe,OAAOA,CAAC,CAACz7C,KAAT;AAAe,YAAIjK,CAAC,GAAC0lD,CAAC,CAACp4C,GAAR;AAAY,eAAO,KAAK,CAAL,KAAStN,CAAT,GAAWA,CAAC,CAACzV,IAAF,CAAO20B,CAAP,CAAX,GAAqB,KAAK,CAAjC;AAAmC,OAAzP,CAA0PqoH,EAAE,CAAC5oI,SAAH,CAAa0pD,SAAb,IAAwBj9D,MAAM,CAACogB,cAAP,CAAsB+7H,EAAE,CAAC5oI,SAAzB,CAAlR,EAAsT,SAAtT,EAAgU,IAAhU,EAAsUpU,IAAtU,CAA2U,IAA3U,CAA9T;AAA+oB;AAA/qB,GAAvqO,EAAw1P;AAACyf,OAAG,EAAC,sBAAL;AAA4BC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa;AAAC,aAAOq3F,EAAE,CAAC;AAAC/nH,gBAAQ,EAAC,KAAKkpI,yBAAL,CAA+B15F,KAA/B,EAAV;AAAiD71C,YAAI,EAAC5P,CAAtD;AAAwD4C,gBAAQ,EAAC+jC;AAAjE,OAAD,CAAT;AAA+E;AAA/H,GAAx1P,EAAy9P;AAACvhB,OAAG,EAAC,mBAAL;AAAyBC,SAAK,EAAC,eAASrlB,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAeu5B,CAAf,EAAiB;AAAC,UAAIwmC,CAAC,GAAC,EAAE,IAAE53C,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASnC,CAA/B,KAAmCA,CAAzC;AAAA,UAA2C2jB,CAAC,GAAC,IAAEwE,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASo3B,CAA7B,GAA+BA,CAA/B,GAAiC,CAA9E;AAAgF,aAAOqkG,EAAE,CAAC;AAACC,mBAAW,EAAC5+H,CAAb;AAAeiW,gBAAQ,EAAC,KAAKkpI,yBAAL,CAA+B15F,KAA/B,EAAxB;AAA+Do5E,kBAAU,EAACn6G,CAA1E;AAA4Eo6G,sBAAc,EAACh+D,CAA3F;AAA6FvpD,cAAM,EAAC,KAAKqxD,QAAL,CAAcrxD,MAAlH;AAAyHkjE,YAAI,EAAC,KAAK7R,QAAL,CAAc6R,IAA5I;AAAiJ73E,gBAAQ,EAAC+jC;AAA1J,OAAD,CAAT;AAAwK;AAAzS,GAAz9P,CAAJ,CAAZ,EAAsxQg8G,EAAxxQ,CAAtC;;AAAk0Q,WAASA,EAAT,CAAY3iJ,CAAZ,EAAc2mC,CAAd,EAAgB5lC,CAAhB,EAAkB;AAACg5H,MAAE,CAAC,IAAD,EAAM4oB,EAAN,CAAF;AAAY,QAAIroH,CAAC,GAAC6/F,EAAE,CAAC,IAAD,EAAM,CAACwoB,EAAE,CAACl/E,SAAH,IAAcj9D,MAAM,CAACogB,cAAP,CAAsB+7H,EAAtB,CAAf,EAA0Ch9I,IAA1C,CAA+C,IAA/C,EAAoDghC,CAApD,EAAsD5lC,CAAC,CAACk4I,GAAxD,CAAN,CAAR;;AAA4E,QAAGtyG,CAAC,CAACiiC,QAAF,IAAYjiC,CAAC,CAACiiC,QAAF,CAAWt4D,QAA1B,EAAmC;AAAC,UAAIwwD,CAAC,GAAC8rC,EAAE,CAACjmE,CAAC,CAACiiC,QAAF,CAAWt4D,QAAZ,CAAR;AAA8BwwD,OAAC,CAACpuD,cAAF,CAAiB,KAAjB,KAAyBlM,MAAM,CAAC06B,cAAP,CAAsB4/B,CAAtB,EAAwB,KAAxB,EAA8B;AAACp4C,WAAG,EAAC,eAAU;AAAC,iBAAOkkF,EAAE,CAACtuF,GAAH,CAAOkhB,IAAP,CAAY,0DAAZ,GAAwEmH,CAAC,CAACphC,OAAF,CAAU;AAACgL,gBAAI,EAAC,OAAN;AAAcqZ,gBAAI,EAAC;AAAnB,WAAV,CAAxE,EAA2H0Q,CAAlI;AAAoI,SAApJ;AAAqJ6G,oBAAY,EAAC,CAAC;AAAnK,OAA9B,CAAzB,EAA8N2/B,CAAC,CAACkjF,GAAF,GAAM1pH,CAApO,EAAsO,CAACwmC,CAAC,CAACmjF,IAAF,GAAO3pH,CAAR,EAAWmuC,OAAX,GAAmB3H,CAAzP;AAA2P;;AAAA,QAAGxmC,CAAC,CAACigD,KAAF,GAAQ5zC,CAAR,EAAUrM,CAAC,CAAC4nH,OAAF,GAAUliJ,CAApB,EAAsBs6B,CAAC,CAACg4G,KAAF,GAAQ,EAA9B,EAAiCh4G,CAAC,CAACqpH,uBAAF,GAA0B,CAAC,CAA5D,EAA8DrpH,CAAC,CAACuoH,WAAF,EAA9D,EAA8EvoH,CAAC,CAACsuC,QAAF,CAAWs7E,cAAX,IAA2Bv9G,CAAC,CAAC8+C,yBAA7B,IAAwD9+C,CAAC,CAAC++C,yBAA3I,EAAqK/+C,CAAC,CAAC8+C,yBAAF,CAA4B,CAAC,CAA7B,GAAgC9+C,CAAC,CAAC++C,yBAAF,CAA4B,CAAC,CAA7B,CAAhC,CAArK,KAA0O,IAAGprD,CAAC,CAACsuC,QAAF,CAAWs7E,cAAX,KAA4Bv9G,CAAC,CAACw9G,yBAAF,IAA6Bx9G,CAAC,CAACy9G,yBAA3D,CAAH,EAAyF,MAAM,IAAIlxI,KAAJ,CAAU,0EAAV,CAAN;AAA4F,WAAOonB,CAAC,CAACj4B,EAAF,CAAKo+D,CAAL,EAAO,CAAC,kBAAD,EAAoB,wBAApB,EAA6C,qBAA7C,EAAmE,oBAAnE,CAAP,EAAgG,UAASzgE,CAAT,EAAW;AAAC,UAAI2mC,CAAC,GAAC85B,CAAC,CAACwmC,iBAAF,IAAqBxmC,CAAC,CAAC4jF,uBAAvB,IAAgD5jF,CAAC,CAAC6jF,oBAAlD,IAAwE7jF,CAAC,CAAC8jF,mBAAhF;AAAoG59G,OAAC,IAAEA,CAAC,CAACxa,QAAF,CAAWmO,CAAC,CAACigD,KAAF,CAAQh2D,EAAR,EAAX,CAAH,IAA6B+V,CAAC,CAAC6kH,yBAAF,CAA4BqF,oBAA5B,EAA7B;AAAgF,KAAhS,GAAkSlqH,CAAC,CAACj4B,EAAF,CAAKi4B,CAAC,CAACigD,KAAP,EAAa,SAAb,EAAuB,YAAU;AAAC,WAAKopE,uBAAL,GAA6B,KAAKA,uBAAL,GAA6B,CAAC,CAA3D,GAA6D,KAAK5tI,cAAL,CAAoB,KAAKwkE,KAAL,CAAW1qE,WAAX,EAApB,CAA7D;AAA2G,KAA7I,CAAlS,EAAibyqB,CAAC,CAACj4B,EAAF,CAAKi4B,CAAC,CAACigD,KAAP,EAAa,OAAb,EAAqB,YAAU;AAAC,WAAK4kE,yBAAL,IAAgC,KAAKA,yBAAL,CAA+BsF,YAA/B,EAAhC;AAA8E,KAA9G,CAAjb,EAAiiBnqH,CAAC,CAACj4B,EAAF,CAAKi4B,CAAC,CAACigD,KAAP,EAAa,MAAb,EAAoBjgD,CAAC,CAAC1tB,IAAtB,CAAjiB,EAA6jB0tB,CAApkB;AAAskB;;AAAA,MAAIoqH,EAAE,GAAC;AAAC96H,QAAI,EAAC,wBAAN;AAA+BqiF,WAAO,EAAC,QAAvC;AAAgDvlB,mBAAe,EAAC,yBAAS1mF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC6rG,EAAE,CAACa,YAAH,CAAgBb,EAAE,CAAC7wF,OAAnB,EAA2B,IAAEmN,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASyjC,CAA7B,GAA+BA,CAA/B,GAAiC,EAA5D,CAAN;AAAsE,aAAO+9G,EAAE,CAAC/+D,WAAH,CAAe3lF,CAAC,CAACuQ,IAAjB,EAAsBxP,CAAtB,CAAP;AAAgC,KAApL;AAAqLimF,gBAAY,EAAC,sBAAShnF,CAAT,EAAW2mC,CAAX,EAAa5lC,CAAb,EAAe;AAAC,UAAIu5B,CAAC,GAACsyE,EAAE,CAACa,YAAH,CAAgBb,EAAE,CAAC7wF,OAAnB,EAA2B,IAAEmN,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASnC,CAA7B,GAA+BA,CAA/B,GAAiC,EAA5D,CAAN;AAAsE,aAAO4lC,CAAC,CAACsyG,GAAF,GAAM,IAAIyJ,EAAJ,CAAO1iJ,CAAP,EAAS2mC,CAAT,EAAWrM,CAAX,CAAN,EAAoBqM,CAAC,CAACsyG,GAAF,CAAMn5F,GAAN,GAAU68E,EAAE,EAAhC,EAAmCh2F,CAAC,CAACsyG,GAAF,CAAMjmI,GAAN,CAAUhT,CAAC,CAACgT,GAAZ,EAAgBhT,CAAC,CAACuQ,IAAlB,CAAnC,EAA2Do2B,CAAC,CAACsyG,GAApE;AAAwE,KAAhW;AAAiWtzD,eAAW,EAAC,qBAAS3lF,CAAT,EAAW2mC,CAAX,EAAa;AAAC,UAAI5lC,CAAC,GAAC6rG,EAAE,CAACa,YAAH,CAAgBb,EAAE,CAAC7wF,OAAnB,EAA2B,IAAEmN,SAAS,CAAChmB,MAAZ,IAAoB,KAAK,CAAL,KAASyjC,CAA7B,GAA+BA,CAA/B,GAAiC,EAA5D,EAAgEsyG,GAAhE,CAAoEiL,cAA1E;AAAA,UAAyF5pH,CAAC,GAACqnH,EAAE,CAAC3hJ,CAAD,CAA7F;AAAiG,aAAOs6B,CAAC,KAAG,CAACwmH,EAAE,CAAC0B,oBAAH,CAAwBloH,CAAxB,CAAD,IAA6Bv5B,CAAhC,CAAD,GAAoC,OAApC,GAA4C,EAAnD;AAAsD;AAAlhB,GAAP;AAA2hB,SAAM,eAAa,OAAO6rG,EAAE,CAAC+gC,WAAvB,IAAoC,eAAa,OAAO/gC,EAAE,CAACm1B,GAA3D,KAAiEn1B,EAAE,CAAC+gC,WAAH,GAAec,EAAf,EAAkB7hC,EAAE,CAACm1B,GAAH,GAAO4M,EAA1F,GAA8FF,EAAE,CAACC,0BAAH,MAAiC9hC,EAAE,CAAC5mB,OAAH,CAAW,OAAX,EAAoBO,qBAApB,CAA0Cm+D,EAA1C,EAA6C,CAA7C,CAA/H,EAA+K93C,EAAE,CAAC+3C,UAAH,GAAcjC,EAA7L,EAAgM91C,EAAE,CAACg4C,gBAAH,GAAoBF,EAApN,EAAuN93C,EAAE,CAACkwB,GAAH,GAAOgkB,EAA9N,EAAiOl0C,EAAE,CAACQ,GAAH,IAAQR,EAAE,CAAC7gC,iBAAH,CAAqB,KAArB,EAA2B+0E,EAA3B,CAAzO,EAAwQl0C,EAAE,CAAC7wF,OAAH,CAAWk9H,GAAX,GAAersC,EAAE,CAAC7wF,OAAH,CAAWk9H,GAAX,IAAgB,EAAvS,EAA0SrsC,EAAE,CAACT,cAAH,GAAkBS,EAAE,CAACT,cAAH,CAAkB,qBAAlB,EAAwCq0C,EAAxC,CAAlB,GAA8D5zC,EAAE,CAACtB,MAAH,CAAU,qBAAV,EAAgCk1C,EAAhC,CAAxW,EAA4Y5zC,EAAlZ;AAAqZ,CAfzlkL,CAAD,C;;;;;;;;;;;;ACXA,IAAIi4C,cAAc,GAAGnlJ,mBAAO,CAAC,0HAAD,CAA5B,C,CACA;;;AACA,IAAIolJ,SAAS,GAAG;AACZC,UAAQ,EAAErlJ,mBAAO,CAAC,8IAAD,CADL;AAEZC,aAAW,EAAED,mBAAO,CAAC,4IAAD,CAFR;AAGZs8E,OAAK,EAAEt8E,mBAAO,CAAC,sIAAD,CAHF;AAIZ8I,QAAM,EAAE9I,mBAAO,CAAC,kIAAD,CAJH;AAKZslJ,cAAY,EAAEtlJ,mBAAO,CAAC,8HAAD;AALT,CAAhB;AAQAQ,CAAC,CAACiC,QAAD,CAAD,CAAYsT,KAAZ,CAAkB,YAAM;AAEpB;AACA,MAAIvV,CAAC,CAAC,kBAAD,CAAD,CAAsBgD,MAA1B,EAAkC;AAC9B,QAAM+hJ,gBAAgB,GAAG/kJ,CAAC,CAAC,kBAAD,CAA1B;AACA,QAAMQ,GAAG,GAAGukJ,gBAAgB,CAACzkJ,IAAjB,CAAsB,KAAtB,CAAZ;AACA,QAAM0kJ,cAAc,GAAG,IAAIryI,OAAJ,CAAY,UAAApN,OAAO,EAAI;AAC1C;AACAvF,OAAC,CAAC0E,IAAF,CAAO;AACHlE,WAAG,EAAEA,GADF;AAEHoJ,cAAM,EAAE,KAFL;AAGHzE,eAAO,EAAE,iBAAAxE,QAAQ,EAAI;AACjBokJ,0BAAgB,CAACl7I,IAAjB,CAAsBlJ,QAAtB;AACA4E,iBAAO;AACV,SANE;AAOHR,aAAK,EAAE,eAAA+E,GAAG,EAAI;AACVC,iBAAO,CAAChF,KAAR,CAAc,qCAAd,EAAqD+E,GAArD;AACH;AATE,OAAP;AAWH,KAbsB,CAAvB;AAeAk7I,kBAAc,CAACvgJ,IAAf,CAAoB,YAAM;AACtB6B,YAAM,CAAC8pB,IAAP,CAAYw0H,SAAZ,EAAuB/7I,OAAvB,CAA+B,UAAUqc,GAAV,EAAe;AAC1C,YAAIA,GAAG,KAAK,QAAZ,EAAsB;AAClB0/H,mBAAS,CAAC1/H,GAAD,CAAT,CAAepjB,iBAAf,CAAiCijJ,gBAAjC;AACH,SAFD,MAEO;AACHJ,wBAAc,CAACC,SAAS,CAAC1/H,GAAD,CAAV,CAAd;AACH;AACJ,OAND;AAOH,KARD;AASH,GA9BmB,CAgCpB;;;AACAllB,GAAC,CAAC,MAAD,CAAD,CAAUmC,EAAV,CAAa,OAAb,EAAsB,2BAAtB,EAAmD,UAAUrC,CAAV,EAAa;AAC5DA,KAAC,CAACqoC,eAAF;AACA,QAAI/jC,OAAO,GAAGpE,CAAC,CAACkK,KAAK,CAACE,MAAP,CAAf;AACA,QAAI66I,WAAW,GAAGjlJ,CAAC,CAAC,IAAD,CAAD,CAAQM,IAAR,CAAa,KAAb,CAAlB;AACAR,KAAC,CAACiN,cAAF;AACA/M,KAAC,CAACklJ,OAAF,GAAY5jI,KAAZ;AAEAthB,KAAC,CAAC0E,IAAF,CAAO;AACHlE,SAAG,EAAEykJ,WADF;AAEH3kJ,UAAI,EAAE;AAAE6kJ,mBAAW,EAAEF;AAAf,OAFH;AAGHr7I,YAAM,EAAE,KAHL;AAIHzE,aAAO,EAAE,iBAAUxE,QAAV,EAAoB;AACzByD,eAAO,CAAC9C,OAAR,CAAgB,sBAAhB,EAAwC8D,WAAxC,CAAoDzE,QAApD;AACAX,SAAC,CAACklJ,OAAF,GAAY3jI,IAAZ;AACH,OAPE;AAQHxc,WAAK,EAAE,iBAAY;AACf/E,SAAC,CAACklJ,OAAF,GAAY3jI,IAAZ;AACH;AAVE,KAAP;AAYH,GAnBD;AAqBH,CAtDD,E;;;;;;;;;;;;ACVa;;;;AAEb5hB,MAAM,CAACC,OAAP,GAAiB,UAAUwlJ,OAAV,EAAmB;AAChC,MAAI,OAAOA,OAAP,KAAmB,UAAvB,EAAmC;AAC/BA,WAAO,CAAC3/I,IAAR,CAAa,IAAb;AACH,GAFD,MAEO,IAAI,QAAO2/I,OAAP,MAAmB,QAAvB,EAAiC;AACpC9+I,UAAM,CAAC8pB,IAAP,CAAYg1H,OAAZ,EAAqBv8I,OAArB,CAA6B,UAAUqc,GAAV,EAAe;AACxC,UAAI,OAAOkgI,OAAO,CAAClgI,GAAD,CAAd,KAAwB,UAA5B,EAAwC;AACpCkgI,eAAO,CAAClgI,GAAD,CAAP,CAAazf,IAAb,CAAkB2/I,OAAlB;AACH;AACJ,KAJD;AAKH;AACJ,CAVD,C;;;;;;;;;;;;ACFA;;AAEAxlJ,OAAO,CAACqnH,UAAR,GAAqBA,UAArB;AACArnH,OAAO,CAACylJ,WAAR,GAAsBA,WAAtB;AACAzlJ,OAAO,CAAC0lJ,aAAR,GAAwBA,aAAxB;AAEA,IAAIC,MAAM,GAAG,EAAb;AACA,IAAIC,SAAS,GAAG,EAAhB;AACA,IAAIC,GAAG,GAAG,OAAOvzC,UAAP,KAAsB,WAAtB,GAAoCA,UAApC,GAAiD52F,KAA3D;AAEA,IAAImM,IAAI,GAAG,kEAAX;;AACA,KAAK,IAAI5mB,CAAC,GAAG,CAAR,EAAWyoB,GAAG,GAAG7B,IAAI,CAACzkB,MAA3B,EAAmCnC,CAAC,GAAGyoB,GAAvC,EAA4C,EAAEzoB,CAA9C,EAAiD;AAC/C0kJ,QAAM,CAAC1kJ,CAAD,CAAN,GAAY4mB,IAAI,CAAC5mB,CAAD,CAAhB;AACA2kJ,WAAS,CAAC/9H,IAAI,CAACmH,UAAL,CAAgB/tB,CAAhB,CAAD,CAAT,GAAgCA,CAAhC;AACD,C,CAED;AACA;;;AACA2kJ,SAAS,CAAC,IAAI52H,UAAJ,CAAe,CAAf,CAAD,CAAT,GAA+B,EAA/B;AACA42H,SAAS,CAAC,IAAI52H,UAAJ,CAAe,CAAf,CAAD,CAAT,GAA+B,EAA/B;;AAEA,SAAS82H,OAAT,CAAkBC,GAAlB,EAAuB;AACrB,MAAIr8H,GAAG,GAAGq8H,GAAG,CAAC3iJ,MAAd;;AAEA,MAAIsmB,GAAG,GAAG,CAAN,GAAU,CAAd,EAAiB;AACf,UAAM,IAAItW,KAAJ,CAAU,gDAAV,CAAN;AACD,GALoB,CAOrB;AACA;;;AACA,MAAI4yI,QAAQ,GAAGD,GAAG,CAAC1kJ,OAAJ,CAAY,GAAZ,CAAf;AACA,MAAI2kJ,QAAQ,KAAK,CAAC,CAAlB,EAAqBA,QAAQ,GAAGt8H,GAAX;AAErB,MAAIu8H,eAAe,GAAGD,QAAQ,KAAKt8H,GAAb,GAClB,CADkB,GAElB,IAAKs8H,QAAQ,GAAG,CAFpB;AAIA,SAAO,CAACA,QAAD,EAAWC,eAAX,CAAP;AACD,C,CAED;;;AACA,SAAS5+B,UAAT,CAAqB0+B,GAArB,EAA0B;AACxB,MAAIG,IAAI,GAAGJ,OAAO,CAACC,GAAD,CAAlB;AACA,MAAIC,QAAQ,GAAGE,IAAI,CAAC,CAAD,CAAnB;AACA,MAAID,eAAe,GAAGC,IAAI,CAAC,CAAD,CAA1B;AACA,SAAQ,CAACF,QAAQ,GAAGC,eAAZ,IAA+B,CAA/B,GAAmC,CAApC,GAAyCA,eAAhD;AACD;;AAED,SAASE,WAAT,CAAsBJ,GAAtB,EAA2BC,QAA3B,EAAqCC,eAArC,EAAsD;AACpD,SAAQ,CAACD,QAAQ,GAAGC,eAAZ,IAA+B,CAA/B,GAAmC,CAApC,GAAyCA,eAAhD;AACD;;AAED,SAASR,WAAT,CAAsBM,GAAtB,EAA2B;AACzB,MAAItzH,GAAJ;AACA,MAAIyzH,IAAI,GAAGJ,OAAO,CAACC,GAAD,CAAlB;AACA,MAAIC,QAAQ,GAAGE,IAAI,CAAC,CAAD,CAAnB;AACA,MAAID,eAAe,GAAGC,IAAI,CAAC,CAAD,CAA1B;AAEA,MAAIt/H,GAAG,GAAG,IAAIi/H,GAAJ,CAAQM,WAAW,CAACJ,GAAD,EAAMC,QAAN,EAAgBC,eAAhB,CAAnB,CAAV;AAEA,MAAIG,OAAO,GAAG,CAAd,CARyB,CAUzB;;AACA,MAAI18H,GAAG,GAAGu8H,eAAe,GAAG,CAAlB,GACND,QAAQ,GAAG,CADL,GAENA,QAFJ;AAIA,MAAI/kJ,CAAJ;;AACA,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGyoB,GAAhB,EAAqBzoB,CAAC,IAAI,CAA1B,EAA6B;AAC3BwxB,OAAG,GACAmzH,SAAS,CAACG,GAAG,CAAC/2H,UAAJ,CAAe/tB,CAAf,CAAD,CAAT,IAAgC,EAAjC,GACC2kJ,SAAS,CAACG,GAAG,CAAC/2H,UAAJ,CAAe/tB,CAAC,GAAG,CAAnB,CAAD,CAAT,IAAoC,EADrC,GAEC2kJ,SAAS,CAACG,GAAG,CAAC/2H,UAAJ,CAAe/tB,CAAC,GAAG,CAAnB,CAAD,CAAT,IAAoC,CAFrC,GAGA2kJ,SAAS,CAACG,GAAG,CAAC/2H,UAAJ,CAAe/tB,CAAC,GAAG,CAAnB,CAAD,CAJX;AAKA2lB,OAAG,CAACw/H,OAAO,EAAR,CAAH,GAAkB3zH,GAAG,IAAI,EAAR,GAAc,IAA/B;AACA7L,OAAG,CAACw/H,OAAO,EAAR,CAAH,GAAkB3zH,GAAG,IAAI,CAAR,GAAa,IAA9B;AACA7L,OAAG,CAACw/H,OAAO,EAAR,CAAH,GAAiB3zH,GAAG,GAAG,IAAvB;AACD;;AAED,MAAIwzH,eAAe,KAAK,CAAxB,EAA2B;AACzBxzH,OAAG,GACAmzH,SAAS,CAACG,GAAG,CAAC/2H,UAAJ,CAAe/tB,CAAf,CAAD,CAAT,IAAgC,CAAjC,GACC2kJ,SAAS,CAACG,GAAG,CAAC/2H,UAAJ,CAAe/tB,CAAC,GAAG,CAAnB,CAAD,CAAT,IAAoC,CAFvC;AAGA2lB,OAAG,CAACw/H,OAAO,EAAR,CAAH,GAAiB3zH,GAAG,GAAG,IAAvB;AACD;;AAED,MAAIwzH,eAAe,KAAK,CAAxB,EAA2B;AACzBxzH,OAAG,GACAmzH,SAAS,CAACG,GAAG,CAAC/2H,UAAJ,CAAe/tB,CAAf,CAAD,CAAT,IAAgC,EAAjC,GACC2kJ,SAAS,CAACG,GAAG,CAAC/2H,UAAJ,CAAe/tB,CAAC,GAAG,CAAnB,CAAD,CAAT,IAAoC,CADrC,GAEC2kJ,SAAS,CAACG,GAAG,CAAC/2H,UAAJ,CAAe/tB,CAAC,GAAG,CAAnB,CAAD,CAAT,IAAoC,CAHvC;AAIA2lB,OAAG,CAACw/H,OAAO,EAAR,CAAH,GAAkB3zH,GAAG,IAAI,CAAR,GAAa,IAA9B;AACA7L,OAAG,CAACw/H,OAAO,EAAR,CAAH,GAAiB3zH,GAAG,GAAG,IAAvB;AACD;;AAED,SAAO7L,GAAP;AACD;;AAED,SAASy/H,eAAT,CAA0Bx9H,GAA1B,EAA+B;AAC7B,SAAO88H,MAAM,CAAC98H,GAAG,IAAI,EAAP,GAAY,IAAb,CAAN,GACL88H,MAAM,CAAC98H,GAAG,IAAI,EAAP,GAAY,IAAb,CADD,GAEL88H,MAAM,CAAC98H,GAAG,IAAI,CAAP,GAAW,IAAZ,CAFD,GAGL88H,MAAM,CAAC98H,GAAG,GAAG,IAAP,CAHR;AAID;;AAED,SAASy9H,WAAT,CAAsBC,KAAtB,EAA6B7kI,KAA7B,EAAoCkI,GAApC,EAAyC;AACvC,MAAI6I,GAAJ;AACA,MAAI+zH,MAAM,GAAG,EAAb;;AACA,OAAK,IAAIvlJ,CAAC,GAAGygB,KAAb,EAAoBzgB,CAAC,GAAG2oB,GAAxB,EAA6B3oB,CAAC,IAAI,CAAlC,EAAqC;AACnCwxB,OAAG,GACD,CAAE8zH,KAAK,CAACtlJ,CAAD,CAAL,IAAY,EAAb,GAAmB,QAApB,KACEslJ,KAAK,CAACtlJ,CAAC,GAAG,CAAL,CAAL,IAAgB,CAAjB,GAAsB,MADvB,KAECslJ,KAAK,CAACtlJ,CAAC,GAAG,CAAL,CAAL,GAAe,IAFhB,CADF;AAIAulJ,UAAM,CAAC/iJ,IAAP,CAAY4iJ,eAAe,CAAC5zH,GAAD,CAA3B;AACD;;AACD,SAAO+zH,MAAM,CAACn2H,IAAP,CAAY,EAAZ,CAAP;AACD;;AAED,SAASq1H,aAAT,CAAwBa,KAAxB,EAA+B;AAC7B,MAAI9zH,GAAJ;AACA,MAAI/I,GAAG,GAAG68H,KAAK,CAACnjJ,MAAhB;AACA,MAAIqjJ,UAAU,GAAG/8H,GAAG,GAAG,CAAvB,CAH6B,CAGJ;;AACzB,MAAIkpB,KAAK,GAAG,EAAZ;AACA,MAAI8zG,cAAc,GAAG,KAArB,CAL6B,CAKF;AAE3B;;AACA,OAAK,IAAIzlJ,CAAC,GAAG,CAAR,EAAW0lJ,IAAI,GAAGj9H,GAAG,GAAG+8H,UAA7B,EAAyCxlJ,CAAC,GAAG0lJ,IAA7C,EAAmD1lJ,CAAC,IAAIylJ,cAAxD,EAAwE;AACtE9zG,SAAK,CAACnvC,IAAN,CAAW6iJ,WAAW,CAACC,KAAD,EAAQtlJ,CAAR,EAAYA,CAAC,GAAGylJ,cAAL,GAAuBC,IAAvB,GAA8BA,IAA9B,GAAsC1lJ,CAAC,GAAGylJ,cAArD,CAAtB;AACD,GAV4B,CAY7B;;;AACA,MAAID,UAAU,KAAK,CAAnB,EAAsB;AACpBh0H,OAAG,GAAG8zH,KAAK,CAAC78H,GAAG,GAAG,CAAP,CAAX;AACAkpB,SAAK,CAACnvC,IAAN,CACEkiJ,MAAM,CAAClzH,GAAG,IAAI,CAAR,CAAN,GACAkzH,MAAM,CAAElzH,GAAG,IAAI,CAAR,GAAa,IAAd,CADN,GAEA,IAHF;AAKD,GAPD,MAOO,IAAIg0H,UAAU,KAAK,CAAnB,EAAsB;AAC3Bh0H,OAAG,GAAG,CAAC8zH,KAAK,CAAC78H,GAAG,GAAG,CAAP,CAAL,IAAkB,CAAnB,IAAwB68H,KAAK,CAAC78H,GAAG,GAAG,CAAP,CAAnC;AACAkpB,SAAK,CAACnvC,IAAN,CACEkiJ,MAAM,CAAClzH,GAAG,IAAI,EAAR,CAAN,GACAkzH,MAAM,CAAElzH,GAAG,IAAI,CAAR,GAAa,IAAd,CADN,GAEAkzH,MAAM,CAAElzH,GAAG,IAAI,CAAR,GAAa,IAAd,CAFN,GAGA,GAJF;AAMD;;AAED,SAAOmgB,KAAK,CAACviB,IAAN,CAAW,EAAX,CAAP;AACD,C;;;;;;;;;;;ACrJD;AACArwB,OAAO,CAAC4mJ,IAAR,GAAe,UAAU/6I,MAAV,EAAkBqI,MAAlB,EAA0B2yI,IAA1B,EAAgCC,IAAhC,EAAsCC,MAAtC,EAA8C;AAC3D,MAAI7mJ,CAAJ,EAAOuvB,CAAP;AACA,MAAIu3H,IAAI,GAAID,MAAM,GAAG,CAAV,GAAeD,IAAf,GAAsB,CAAjC;AACA,MAAIG,IAAI,GAAG,CAAC,KAAKD,IAAN,IAAc,CAAzB;AACA,MAAIE,KAAK,GAAGD,IAAI,IAAI,CAApB;AACA,MAAIE,KAAK,GAAG,CAAC,CAAb;AACA,MAAIlmJ,CAAC,GAAG4lJ,IAAI,GAAIE,MAAM,GAAG,CAAb,GAAkB,CAA9B;AACA,MAAInmF,CAAC,GAAGimF,IAAI,GAAG,CAAC,CAAJ,GAAQ,CAApB;AACA,MAAIjiI,CAAC,GAAG/Y,MAAM,CAACqI,MAAM,GAAGjT,CAAV,CAAd;AAEAA,GAAC,IAAI2/D,CAAL;AAEA1gE,GAAC,GAAG0kB,CAAC,GAAI,CAAC,KAAM,CAACuiI,KAAR,IAAkB,CAA3B;AACAviI,GAAC,KAAM,CAACuiI,KAAR;AACAA,OAAK,IAAIH,IAAT;;AACA,SAAOG,KAAK,GAAG,CAAf,EAAkBjnJ,CAAC,GAAIA,CAAC,GAAG,GAAL,GAAY2L,MAAM,CAACqI,MAAM,GAAGjT,CAAV,CAAtB,EAAoCA,CAAC,IAAI2/D,CAAzC,EAA4CumF,KAAK,IAAI,CAAvE,EAA0E,CAAE;;AAE5E13H,GAAC,GAAGvvB,CAAC,GAAI,CAAC,KAAM,CAACinJ,KAAR,IAAkB,CAA3B;AACAjnJ,GAAC,KAAM,CAACinJ,KAAR;AACAA,OAAK,IAAIL,IAAT;;AACA,SAAOK,KAAK,GAAG,CAAf,EAAkB13H,CAAC,GAAIA,CAAC,GAAG,GAAL,GAAY5jB,MAAM,CAACqI,MAAM,GAAGjT,CAAV,CAAtB,EAAoCA,CAAC,IAAI2/D,CAAzC,EAA4CumF,KAAK,IAAI,CAAvE,EAA0E,CAAE;;AAE5E,MAAIjnJ,CAAC,KAAK,CAAV,EAAa;AACXA,KAAC,GAAG,IAAIgnJ,KAAR;AACD,GAFD,MAEO,IAAIhnJ,CAAC,KAAK+mJ,IAAV,EAAgB;AACrB,WAAOx3H,CAAC,GAAGmvE,GAAH,GAAU,CAACh6E,CAAC,GAAG,CAAC,CAAJ,GAAQ,CAAV,IAAeo3G,QAAjC;AACD,GAFM,MAEA;AACLvsG,KAAC,GAAGA,CAAC,GAAG5O,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY45B,IAAZ,CAAR;AACA5mJ,KAAC,GAAGA,CAAC,GAAGgnJ,KAAR;AACD;;AACD,SAAO,CAACtiI,CAAC,GAAG,CAAC,CAAJ,GAAQ,CAAV,IAAe6K,CAAf,GAAmB5O,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAYhtH,CAAC,GAAG4mJ,IAAhB,CAA1B;AACD,CA/BD;;AAiCA9mJ,OAAO,CAAC0wF,KAAR,GAAgB,UAAU7kF,MAAV,EAAkB0Z,KAAlB,EAAyBrR,MAAzB,EAAiC2yI,IAAjC,EAAuCC,IAAvC,EAA6CC,MAA7C,EAAqD;AACnE,MAAI7mJ,CAAJ,EAAOuvB,CAAP,EAAUiyC,CAAV;AACA,MAAIslF,IAAI,GAAID,MAAM,GAAG,CAAV,GAAeD,IAAf,GAAsB,CAAjC;AACA,MAAIG,IAAI,GAAG,CAAC,KAAKD,IAAN,IAAc,CAAzB;AACA,MAAIE,KAAK,GAAGD,IAAI,IAAI,CAApB;AACA,MAAIl5E,EAAE,GAAI+4E,IAAI,KAAK,EAAT,GAAcjmI,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY,CAAC,EAAb,IAAmBrsG,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY,CAAC,EAAb,CAAjC,GAAoD,CAA9D;AACA,MAAIjsH,CAAC,GAAG4lJ,IAAI,GAAG,CAAH,GAAQE,MAAM,GAAG,CAA7B;AACA,MAAInmF,CAAC,GAAGimF,IAAI,GAAG,CAAH,GAAO,CAAC,CAApB;AACA,MAAIjiI,CAAC,GAAGW,KAAK,GAAG,CAAR,IAAcA,KAAK,KAAK,CAAV,IAAe,IAAIA,KAAJ,GAAY,CAAzC,GAA8C,CAA9C,GAAkD,CAA1D;AAEAA,OAAK,GAAG1E,IAAI,CAACkmC,GAAL,CAASxhC,KAAT,CAAR;;AAEA,MAAIze,KAAK,CAACye,KAAD,CAAL,IAAgBA,KAAK,KAAKy2G,QAA9B,EAAwC;AACtCvsG,KAAC,GAAG3oB,KAAK,CAACye,KAAD,CAAL,GAAe,CAAf,GAAmB,CAAvB;AACArlB,KAAC,GAAG+mJ,IAAJ;AACD,GAHD,MAGO;AACL/mJ,KAAC,GAAG2gB,IAAI,CAACuE,KAAL,CAAWvE,IAAI,CAACrC,GAAL,CAAS+G,KAAT,IAAkB1E,IAAI,CAACumI,GAAlC,CAAJ;;AACA,QAAI7hI,KAAK,IAAIm8C,CAAC,GAAG7gD,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY,CAAChtH,CAAb,CAAR,CAAL,GAAgC,CAApC,EAAuC;AACrCA,OAAC;AACDwhE,OAAC,IAAI,CAAL;AACD;;AACD,QAAIxhE,CAAC,GAAGgnJ,KAAJ,IAAa,CAAjB,EAAoB;AAClB3hI,WAAK,IAAIwoD,EAAE,GAAGrM,CAAd;AACD,KAFD,MAEO;AACLn8C,WAAK,IAAIwoD,EAAE,GAAGltD,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY,IAAIg6B,KAAhB,CAAd;AACD;;AACD,QAAI3hI,KAAK,GAAGm8C,CAAR,IAAa,CAAjB,EAAoB;AAClBxhE,OAAC;AACDwhE,OAAC,IAAI,CAAL;AACD;;AAED,QAAIxhE,CAAC,GAAGgnJ,KAAJ,IAAaD,IAAjB,EAAuB;AACrBx3H,OAAC,GAAG,CAAJ;AACAvvB,OAAC,GAAG+mJ,IAAJ;AACD,KAHD,MAGO,IAAI/mJ,CAAC,GAAGgnJ,KAAJ,IAAa,CAAjB,EAAoB;AACzBz3H,OAAC,GAAG,CAAElK,KAAK,GAAGm8C,CAAT,GAAc,CAAf,IAAoB7gD,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY45B,IAAZ,CAAxB;AACA5mJ,OAAC,GAAGA,CAAC,GAAGgnJ,KAAR;AACD,KAHM,MAGA;AACLz3H,OAAC,GAAGlK,KAAK,GAAG1E,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAYg6B,KAAK,GAAG,CAApB,CAAR,GAAiCrmI,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY45B,IAAZ,CAArC;AACA5mJ,OAAC,GAAG,CAAJ;AACD;AACF;;AAED,SAAO4mJ,IAAI,IAAI,CAAf,EAAkBj7I,MAAM,CAACqI,MAAM,GAAGjT,CAAV,CAAN,GAAqBwuB,CAAC,GAAG,IAAzB,EAA+BxuB,CAAC,IAAI2/D,CAApC,EAAuCnxC,CAAC,IAAI,GAA5C,EAAiDq3H,IAAI,IAAI,CAA3E,EAA8E,CAAE;;AAEhF5mJ,GAAC,GAAIA,CAAC,IAAI4mJ,IAAN,GAAcr3H,CAAlB;AACAu3H,MAAI,IAAIF,IAAR;;AACA,SAAOE,IAAI,GAAG,CAAd,EAAiBn7I,MAAM,CAACqI,MAAM,GAAGjT,CAAV,CAAN,GAAqBf,CAAC,GAAG,IAAzB,EAA+Be,CAAC,IAAI2/D,CAApC,EAAuC1gE,CAAC,IAAI,GAA5C,EAAiD8mJ,IAAI,IAAI,CAA1E,EAA6E,CAAE;;AAE/En7I,QAAM,CAACqI,MAAM,GAAGjT,CAAT,GAAa2/D,CAAd,CAAN,IAA0Bh8C,CAAC,GAAG,GAA9B;AACD,CAlDD,C;;;;;;;;;;;AClCA,IAAIuC,QAAQ,GAAG,GAAGA,QAAlB;;AAEApnB,MAAM,CAACC,OAAP,GAAiB0b,KAAK,CAACG,OAAN,IAAiB,UAAU+K,GAAV,EAAe;AAC/C,SAAOO,QAAQ,CAACthB,IAAT,CAAc+gB,GAAd,KAAsB,gBAA7B;AACD,CAFD,C;;;;;;;;;;;ACFA,IAAIxE,IAAI,GAAGxiB,mBAAO,CAAC,kFAAD,CAAlB;AAEA;;;AACA,IAAIurB,OAAM,GAAG/I,IAAI,CAAC+I,MAAlB;AAEAprB,MAAM,CAACC,OAAP,GAAiBmrB,OAAjB,C;;;;;;;;;;;ACLA,IAAIA,OAAM,GAAGvrB,mBAAO,CAAC,sFAAD,CAApB;AAAA,IACIynJ,SAAS,GAAGznJ,mBAAO,CAAC,4FAAD,CADvB;AAAA,IAEI0nJ,cAAc,GAAG1nJ,mBAAO,CAAC,sGAAD,CAF5B;AAIA;;;AACA,IAAI2nJ,OAAO,GAAG,eAAd;AAAA,IACIC,YAAY,GAAG,oBADnB;AAGA;;AACA,IAAIC,cAAc,GAAGt8H,OAAM,GAAGA,OAAM,CAACu8H,WAAV,GAAwB/iJ,SAAnD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASgjJ,UAAT,CAAoBpiI,KAApB,EAA2B;AACzB,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACjB,WAAOA,KAAK,KAAK5gB,SAAV,GAAsB6iJ,YAAtB,GAAqCD,OAA5C;AACD;;AACD,SAAQE,cAAc,IAAIA,cAAc,IAAI/gJ,MAAM,CAAC6e,KAAD,CAA3C,GACH8hI,SAAS,CAAC9hI,KAAD,CADN,GAEH+hI,cAAc,CAAC/hI,KAAD,CAFlB;AAGD;;AAEDxlB,MAAM,CAACC,OAAP,GAAiB2nJ,UAAjB,C;;;;;;;;;;;AC3BA,IAAIC,eAAe,GAAGhoJ,mBAAO,CAAC,wGAAD,CAA7B;AAEA;;;AACA,IAAIioJ,WAAW,GAAG,MAAlB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,QAAT,CAAkB/mH,MAAlB,EAA0B;AACxB,SAAOA,MAAM,GACTA,MAAM,CAAClmB,KAAP,CAAa,CAAb,EAAgB+sI,eAAe,CAAC7mH,MAAD,CAAf,GAA0B,CAA1C,EAA6Cx8B,OAA7C,CAAqDsjJ,WAArD,EAAkE,EAAlE,CADS,GAET9mH,MAFJ;AAGD;;AAEDhhC,MAAM,CAACC,OAAP,GAAiB8nJ,QAAjB,C;;;;;;;;;;;;;AClBA;AACA,IAAIC,UAAU,GAAG,QAAOnuI,MAAP,yCAAOA,MAAP,MAAiB,QAAjB,IAA6BA,MAA7B,IAAuCA,MAAM,CAAClT,MAAP,KAAkBA,MAAzD,IAAmEkT,MAApF;AAEA7Z,MAAM,CAACC,OAAP,GAAiB+nJ,UAAjB,C;;;;;;;;;;;;ACHA,IAAI58H,OAAM,GAAGvrB,mBAAO,CAAC,sFAAD,CAApB;AAEA;;;AACA,IAAIooJ,WAAW,GAAGthJ,MAAM,CAACuT,SAAzB;AAEA;;AACA,IAAIrH,cAAc,GAAGo1I,WAAW,CAACp1I,cAAjC;AAEA;AACA;AACA;AACA;AACA;;AACA,IAAIq1I,oBAAoB,GAAGD,WAAW,CAAC7gI,QAAvC;AAEA;;AACA,IAAIsgI,cAAc,GAAGt8H,OAAM,GAAGA,OAAM,CAACu8H,WAAV,GAAwB/iJ,SAAnD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS0iJ,SAAT,CAAmB9hI,KAAnB,EAA0B;AACxB,MAAI2iI,KAAK,GAAGt1I,cAAc,CAAC/M,IAAf,CAAoB0f,KAApB,EAA2BkiI,cAA3B,CAAZ;AAAA,MACIz0I,GAAG,GAAGuS,KAAK,CAACkiI,cAAD,CADf;;AAGA,MAAI;AACFliI,SAAK,CAACkiI,cAAD,CAAL,GAAwB9iJ,SAAxB;AACA,QAAIwjJ,QAAQ,GAAG,IAAf;AACD,GAHD,CAGE,OAAOjoJ,CAAP,EAAU,CAAE;;AAEd,MAAIy0B,MAAM,GAAGszH,oBAAoB,CAACpiJ,IAArB,CAA0B0f,KAA1B,CAAb;;AACA,MAAI4iI,QAAJ,EAAc;AACZ,QAAID,KAAJ,EAAW;AACT3iI,WAAK,CAACkiI,cAAD,CAAL,GAAwBz0I,GAAxB;AACD,KAFD,MAEO;AACL,aAAOuS,KAAK,CAACkiI,cAAD,CAAZ;AACD;AACF;;AACD,SAAO9yH,MAAP;AACD;;AAED50B,MAAM,CAACC,OAAP,GAAiBqnJ,SAAjB,C;;;;;;;;;;;AC7CA;AACA,IAAIW,WAAW,GAAGthJ,MAAM,CAACuT,SAAzB;AAEA;AACA;AACA;AACA;AACA;;AACA,IAAIguI,oBAAoB,GAAGD,WAAW,CAAC7gI,QAAvC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASmgI,cAAT,CAAwB/hI,KAAxB,EAA+B;AAC7B,SAAO0iI,oBAAoB,CAACpiJ,IAArB,CAA0B0f,KAA1B,CAAP;AACD;;AAEDxlB,MAAM,CAACC,OAAP,GAAiBsnJ,cAAjB,C;;;;;;;;;;;;;ACrBA,IAAIS,UAAU,GAAGnoJ,mBAAO,CAAC,8FAAD,CAAxB;AAEA;;;AACA,IAAIwoJ,QAAQ,GAAG,QAAOhtI,IAAP,yCAAOA,IAAP,MAAe,QAAf,IAA2BA,IAA3B,IAAmCA,IAAI,CAAC1U,MAAL,KAAgBA,MAAnD,IAA6D0U,IAA5E;AAEA;;AACA,IAAIgH,IAAI,GAAG2lI,UAAU,IAAIK,QAAd,IAA0Bp8C,QAAQ,CAAC,aAAD,CAAR,EAArC;AAEAjsG,MAAM,CAACC,OAAP,GAAiBoiB,IAAjB,C;;;;;;;;;;;ACRA;AACA,IAAIimI,YAAY,GAAG,IAAnB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAST,eAAT,CAAyB7mH,MAAzB,EAAiC;AAC/B,MAAI13B,KAAK,GAAG03B,MAAM,CAAC39B,MAAnB;;AAEA,SAAOiG,KAAK,MAAMg/I,YAAY,CAACxyI,IAAb,CAAkBkrB,MAAM,CAAC8oB,MAAP,CAAcxgD,KAAd,CAAlB,CAAlB,EAA2D,CAAE;;AAC7D,SAAOA,KAAP;AACD;;AAEDtJ,MAAM,CAACC,OAAP,GAAiB4nJ,eAAjB,C;;;;;;;;;;;AClBA,IAAIU,QAAQ,GAAG1oJ,mBAAO,CAAC,wFAAD,CAAtB;AAAA,IACIqlB,GAAG,GAAGrlB,mBAAO,CAAC,8EAAD,CADjB;AAAA,IAEI2oJ,QAAQ,GAAG3oJ,mBAAO,CAAC,wFAAD,CAFtB;AAIA;;;AACA,IAAI4oJ,eAAe,GAAG,qBAAtB;AAEA;;AACA,IAAIC,SAAS,GAAG5nI,IAAI,CAACC,GAArB;AAAA,IACI4nI,SAAS,GAAG7nI,IAAI,CAACE,GADrB;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS9S,QAAT,CAAkBwvB,IAAlB,EAAwBqC,IAAxB,EAA8B7jB,OAA9B,EAAuC;AACrC,MAAI0sI,QAAJ;AAAA,MACIC,QADJ;AAAA,MAEIC,OAFJ;AAAA,MAGIl0H,MAHJ;AAAA,MAIIm0H,OAJJ;AAAA,MAKIC,YALJ;AAAA,MAMIC,cAAc,GAAG,CANrB;AAAA,MAOIC,OAAO,GAAG,KAPd;AAAA,MAQIC,MAAM,GAAG,KARb;AAAA,MASIC,QAAQ,GAAG,IATf;;AAWA,MAAI,OAAO1rH,IAAP,IAAe,UAAnB,EAA+B;AAC7B,UAAM,IAAIgB,SAAJ,CAAc+pH,eAAd,CAAN;AACD;;AACD1oH,MAAI,GAAGyoH,QAAQ,CAACzoH,IAAD,CAAR,IAAkB,CAAzB;;AACA,MAAIwoH,QAAQ,CAACrsI,OAAD,CAAZ,EAAuB;AACrBgtI,WAAO,GAAG,CAAC,CAAChtI,OAAO,CAACgtI,OAApB;AACAC,UAAM,GAAG,aAAajtI,OAAtB;AACA4sI,WAAO,GAAGK,MAAM,GAAGT,SAAS,CAACF,QAAQ,CAACtsI,OAAO,CAAC4sI,OAAT,CAAR,IAA6B,CAA9B,EAAiC/oH,IAAjC,CAAZ,GAAqD+oH,OAArE;AACAM,YAAQ,GAAG,cAAcltI,OAAd,GAAwB,CAAC,CAACA,OAAO,CAACktI,QAAlC,GAA6CA,QAAxD;AACD;;AAED,WAASC,UAAT,CAAoBt5I,IAApB,EAA0B;AACxB,QAAI8K,IAAI,GAAG+tI,QAAX;AAAA,QACIU,OAAO,GAAGT,QADd;AAGAD,YAAQ,GAAGC,QAAQ,GAAGjkJ,SAAtB;AACAqkJ,kBAAc,GAAGl5I,IAAjB;AACA6kB,UAAM,GAAG8I,IAAI,CAAC73B,KAAL,CAAWyjJ,OAAX,EAAoBzuI,IAApB,CAAT;AACA,WAAO+Z,MAAP;AACD;;AAED,WAAS20H,WAAT,CAAqBx5I,IAArB,EAA2B;AACzB;AACAk5I,kBAAc,GAAGl5I,IAAjB,CAFyB,CAGzB;;AACAg5I,WAAO,GAAG9yI,UAAU,CAACuzI,YAAD,EAAezpH,IAAf,CAApB,CAJyB,CAKzB;;AACA,WAAOmpH,OAAO,GAAGG,UAAU,CAACt5I,IAAD,CAAb,GAAsB6kB,MAApC;AACD;;AAED,WAAS60H,aAAT,CAAuB15I,IAAvB,EAA6B;AAC3B,QAAI25I,iBAAiB,GAAG35I,IAAI,GAAGi5I,YAA/B;AAAA,QACIW,mBAAmB,GAAG55I,IAAI,GAAGk5I,cADjC;AAAA,QAEIW,WAAW,GAAG7pH,IAAI,GAAG2pH,iBAFzB;AAIA,WAAOP,MAAM,GACTR,SAAS,CAACiB,WAAD,EAAcd,OAAO,GAAGa,mBAAxB,CADA,GAETC,WAFJ;AAGD;;AAED,WAASC,YAAT,CAAsB95I,IAAtB,EAA4B;AAC1B,QAAI25I,iBAAiB,GAAG35I,IAAI,GAAGi5I,YAA/B;AAAA,QACIW,mBAAmB,GAAG55I,IAAI,GAAGk5I,cADjC,CAD0B,CAI1B;AACA;AACA;;AACA,WAAQD,YAAY,KAAKpkJ,SAAjB,IAA+B8kJ,iBAAiB,IAAI3pH,IAApD,IACL2pH,iBAAiB,GAAG,CADf,IACsBP,MAAM,IAAIQ,mBAAmB,IAAIb,OAD/D;AAED;;AAED,WAASU,YAAT,GAAwB;AACtB,QAAIz5I,IAAI,GAAGmV,GAAG,EAAd;;AACA,QAAI2kI,YAAY,CAAC95I,IAAD,CAAhB,EAAwB;AACtB,aAAO+5I,YAAY,CAAC/5I,IAAD,CAAnB;AACD,KAJqB,CAKtB;;;AACAg5I,WAAO,GAAG9yI,UAAU,CAACuzI,YAAD,EAAeC,aAAa,CAAC15I,IAAD,CAA5B,CAApB;AACD;;AAED,WAAS+5I,YAAT,CAAsB/5I,IAAtB,EAA4B;AAC1Bg5I,WAAO,GAAGnkJ,SAAV,CAD0B,CAG1B;AACA;;AACA,QAAIwkJ,QAAQ,IAAIR,QAAhB,EAA0B;AACxB,aAAOS,UAAU,CAACt5I,IAAD,CAAjB;AACD;;AACD64I,YAAQ,GAAGC,QAAQ,GAAGjkJ,SAAtB;AACA,WAAOgwB,MAAP;AACD;;AAED,WAASkmE,MAAT,GAAkB;AAChB,QAAIiuD,OAAO,KAAKnkJ,SAAhB,EAA2B;AACzBsyC,kBAAY,CAAC6xG,OAAD,CAAZ;AACD;;AACDE,kBAAc,GAAG,CAAjB;AACAL,YAAQ,GAAGI,YAAY,GAAGH,QAAQ,GAAGE,OAAO,GAAGnkJ,SAA/C;AACD;;AAED,WAAS21E,KAAT,GAAiB;AACf,WAAOwuE,OAAO,KAAKnkJ,SAAZ,GAAwBgwB,MAAxB,GAAiCk1H,YAAY,CAAC5kI,GAAG,EAAJ,CAApD;AACD;;AAED,WAAS6kI,SAAT,GAAqB;AACnB,QAAIh6I,IAAI,GAAGmV,GAAG,EAAd;AAAA,QACI8kI,UAAU,GAAGH,YAAY,CAAC95I,IAAD,CAD7B;AAGA64I,YAAQ,GAAGv/H,SAAX;AACAw/H,YAAQ,GAAG,IAAX;AACAG,gBAAY,GAAGj5I,IAAf;;AAEA,QAAIi6I,UAAJ,EAAgB;AACd,UAAIjB,OAAO,KAAKnkJ,SAAhB,EAA2B;AACzB,eAAO2kJ,WAAW,CAACP,YAAD,CAAlB;AACD;;AACD,UAAIG,MAAJ,EAAY;AACV;AACAjyG,oBAAY,CAAC6xG,OAAD,CAAZ;AACAA,eAAO,GAAG9yI,UAAU,CAACuzI,YAAD,EAAezpH,IAAf,CAApB;AACA,eAAOspH,UAAU,CAACL,YAAD,CAAjB;AACD;AACF;;AACD,QAAID,OAAO,KAAKnkJ,SAAhB,EAA2B;AACzBmkJ,aAAO,GAAG9yI,UAAU,CAACuzI,YAAD,EAAezpH,IAAf,CAApB;AACD;;AACD,WAAOnL,MAAP;AACD;;AACDm1H,WAAS,CAACjvD,MAAV,GAAmBA,MAAnB;AACAivD,WAAS,CAACxvE,KAAV,GAAkBA,KAAlB;AACA,SAAOwvE,SAAP;AACD;;AAED/pJ,MAAM,CAACC,OAAP,GAAiBiO,QAAjB,C;;;;;;;;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASq6I,QAAT,CAAkB/iI,KAAlB,EAAyB;AACvB,MAAI9U,IAAI,WAAU8U,KAAV,CAAR;;AACA,SAAOA,KAAK,IAAI,IAAT,KAAkB9U,IAAI,IAAI,QAAR,IAAoBA,IAAI,IAAI,UAA9C,CAAP;AACD;;AAED1Q,MAAM,CAACC,OAAP,GAAiBsoJ,QAAjB,C;;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS0B,YAAT,CAAsBzkI,KAAtB,EAA6B;AAC3B,SAAOA,KAAK,IAAI,IAAT,IAAiB,QAAOA,KAAP,KAAgB,QAAxC;AACD;;AAEDxlB,MAAM,CAACC,OAAP,GAAiBgqJ,YAAjB,C;;;;;;;;;;;;;AC5BA,IAAIrC,UAAU,GAAG/nJ,mBAAO,CAAC,8FAAD,CAAxB;AAAA,IACIoqJ,YAAY,GAAGpqJ,mBAAO,CAAC,gGAAD,CAD1B;AAGA;;;AACA,IAAIqqJ,SAAS,GAAG,iBAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,QAAT,CAAkB3kI,KAAlB,EAAyB;AACvB,SAAO,QAAOA,KAAP,KAAgB,QAAhB,IACJykI,YAAY,CAACzkI,KAAD,CAAZ,IAAuBoiI,UAAU,CAACpiI,KAAD,CAAV,IAAqB0kI,SAD/C;AAED;;AAEDlqJ,MAAM,CAACC,OAAP,GAAiBkqJ,QAAjB,C;;;;;;;;;;;AC5BA,IAAI9nI,IAAI,GAAGxiB,mBAAO,CAAC,kFAAD,CAAlB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIqlB,GAAG,GAAG,SAANA,GAAM,GAAW;AACnB,SAAO7C,IAAI,CAACkK,IAAL,CAAUrH,GAAV,EAAP;AACD,CAFD;;AAIAllB,MAAM,CAACC,OAAP,GAAiBilB,GAAjB,C;;;;;;;;;;;ACtBA,IAAI6iI,QAAQ,GAAGloJ,mBAAO,CAAC,0FAAD,CAAtB;AAAA,IACI0oJ,QAAQ,GAAG1oJ,mBAAO,CAAC,wFAAD,CADtB;AAAA,IAEIsqJ,QAAQ,GAAGtqJ,mBAAO,CAAC,wFAAD,CAFtB;AAIA;;;AACA,IAAIuqJ,GAAG,GAAG,IAAI,CAAd;AAEA;;AACA,IAAIC,UAAU,GAAG,oBAAjB;AAEA;;AACA,IAAIC,UAAU,GAAG,YAAjB;AAEA;;AACA,IAAIC,SAAS,GAAG,aAAhB;AAEA;;AACA,IAAIC,YAAY,GAAG3jJ,QAAnB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS2hJ,QAAT,CAAkBhjI,KAAlB,EAAyB;AACvB,MAAI,OAAOA,KAAP,IAAgB,QAApB,EAA8B;AAC5B,WAAOA,KAAP;AACD;;AACD,MAAI2kI,QAAQ,CAAC3kI,KAAD,CAAZ,EAAqB;AACnB,WAAO4kI,GAAP;AACD;;AACD,MAAI7B,QAAQ,CAAC/iI,KAAD,CAAZ,EAAqB;AACnB,QAAIilI,KAAK,GAAG,OAAOjlI,KAAK,CAACklI,OAAb,IAAwB,UAAxB,GAAqCllI,KAAK,CAACklI,OAAN,EAArC,GAAuDllI,KAAnE;AACAA,SAAK,GAAG+iI,QAAQ,CAACkC,KAAD,CAAR,GAAmBA,KAAK,GAAG,EAA3B,GAAiCA,KAAzC;AACD;;AACD,MAAI,OAAOjlI,KAAP,IAAgB,QAApB,EAA8B;AAC5B,WAAOA,KAAK,KAAK,CAAV,GAAcA,KAAd,GAAsB,CAACA,KAA9B;AACD;;AACDA,OAAK,GAAGuiI,QAAQ,CAACviI,KAAD,CAAhB;AACA,MAAImlI,QAAQ,GAAGL,UAAU,CAACx0I,IAAX,CAAgB0P,KAAhB,CAAf;AACA,SAAQmlI,QAAQ,IAAIJ,SAAS,CAACz0I,IAAV,CAAe0P,KAAf,CAAb,GACHglI,YAAY,CAAChlI,KAAK,CAAC1K,KAAN,CAAY,CAAZ,CAAD,EAAiB6vI,QAAQ,GAAG,CAAH,GAAO,CAAhC,CADT,GAEFN,UAAU,CAACv0I,IAAX,CAAgB0P,KAAhB,IAAyB4kI,GAAzB,GAA+B,CAAC5kI,KAFrC;AAGD;;AAEDxlB,MAAM,CAACC,OAAP,GAAiBuoJ,QAAjB,C;;;;;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;;AACA;AAEA;;AAEA,IAAIoC,MAAM,GAAG/qJ,mBAAO,CAAC,uFAAD,CAApB;;AACA,IAAIgrJ,OAAO,GAAGhrJ,mBAAO,CAAC,mFAAD,CAArB;;AACA,IAAIic,OAAO,GAAGjc,mBAAO,CAAC,mFAAD,CAArB;;AAEAI,OAAO,CAACw0G,MAAR,GAAiBA,MAAjB;AACAx0G,OAAO,CAAC6qJ,UAAR,GAAqBA,UAArB;AACA7qJ,OAAO,CAAC8qJ,iBAAR,GAA4B,EAA5B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACAt2C,MAAM,CAACu2C,mBAAP,GAA6BnxI,MAAM,CAACmxI,mBAAP,KAA+BpmJ,SAA/B,GACzBiV,MAAM,CAACmxI,mBADkB,GAEzBC,iBAAiB,EAFrB;AAIA;AACA;AACA;;AACAhrJ,OAAO,CAACirJ,UAAR,GAAqBA,UAAU,EAA/B;;AAEA,SAASD,iBAAT,GAA8B;AAC5B,MAAI;AACF,QAAIpkI,GAAG,GAAG,IAAI0rF,UAAJ,CAAe,CAAf,CAAV;AACA1rF,OAAG,CAAC+8C,SAAJ,GAAgB;AAACA,eAAS,EAAE2uC,UAAU,CAACr4F,SAAvB;AAAkCixI,SAAG,EAAE,eAAY;AAAE,eAAO,EAAP;AAAW;AAAhE,KAAhB;AACA,WAAOtkI,GAAG,CAACskI,GAAJ,OAAc,EAAd,IAAoB;AACvB,WAAOtkI,GAAG,CAAC+gG,QAAX,KAAwB,UADrB,IACmC;AACtC/gG,OAAG,CAAC+gG,QAAJ,CAAa,CAAb,EAAgB,CAAhB,EAAmBN,UAAnB,KAAkC,CAFtC,CAHE,CAKsC;AACzC,GAND,CAME,OAAOnnH,CAAP,EAAU;AACV,WAAO,KAAP;AACD;AACF;;AAED,SAAS+qJ,UAAT,GAAuB;AACrB,SAAOz2C,MAAM,CAACu2C,mBAAP,GACH,UADG,GAEH,UAFJ;AAGD;;AAED,SAASI,YAAT,CAAuB5sH,IAAvB,EAA6Bn7B,MAA7B,EAAqC;AACnC,MAAI6nJ,UAAU,KAAK7nJ,MAAnB,EAA2B;AACzB,UAAM,IAAIgoJ,UAAJ,CAAe,4BAAf,CAAN;AACD;;AACD,MAAI52C,MAAM,CAACu2C,mBAAX,EAAgC;AAC9B;AACAxsH,QAAI,GAAG,IAAI+zE,UAAJ,CAAelvG,MAAf,CAAP;AACAm7B,QAAI,CAAColC,SAAL,GAAiB6wC,MAAM,CAACv6F,SAAxB;AACD,GAJD,MAIO;AACL;AACA,QAAIskB,IAAI,KAAK,IAAb,EAAmB;AACjBA,UAAI,GAAG,IAAIi2E,MAAJ,CAAWpxG,MAAX,CAAP;AACD;;AACDm7B,QAAI,CAACn7B,MAAL,GAAcA,MAAd;AACD;;AAED,SAAOm7B,IAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,SAASi2E,MAAT,CAAiBvpF,GAAjB,EAAsBogI,gBAAtB,EAAwCjoJ,MAAxC,EAAgD;AAC9C,MAAI,CAACoxG,MAAM,CAACu2C,mBAAR,IAA+B,EAAE,gBAAgBv2C,MAAlB,CAAnC,EAA8D;AAC5D,WAAO,IAAIA,MAAJ,CAAWvpF,GAAX,EAAgBogI,gBAAhB,EAAkCjoJ,MAAlC,CAAP;AACD,GAH6C,CAK9C;;;AACA,MAAI,OAAO6nB,GAAP,KAAe,QAAnB,EAA6B;AAC3B,QAAI,OAAOogI,gBAAP,KAA4B,QAAhC,EAA0C;AACxC,YAAM,IAAIj4I,KAAJ,CACJ,mEADI,CAAN;AAGD;;AACD,WAAOk4I,WAAW,CAAC,IAAD,EAAOrgI,GAAP,CAAlB;AACD;;AACD,SAAOy8B,IAAI,CAAC,IAAD,EAAOz8B,GAAP,EAAYogI,gBAAZ,EAA8BjoJ,MAA9B,CAAX;AACD;;AAEDoxG,MAAM,CAAC+2C,QAAP,GAAkB,IAAlB,C,CAAuB;AAEvB;;AACA/2C,MAAM,CAACg3C,QAAP,GAAkB,UAAU5kI,GAAV,EAAe;AAC/BA,KAAG,CAAC+8C,SAAJ,GAAgB6wC,MAAM,CAACv6F,SAAvB;AACA,SAAO2M,GAAP;AACD,CAHD;;AAKA,SAAS8gC,IAAT,CAAenpB,IAAf,EAAqBhZ,KAArB,EAA4B8lI,gBAA5B,EAA8CjoJ,MAA9C,EAAsD;AACpD,MAAI,OAAOmiB,KAAP,KAAiB,QAArB,EAA+B;AAC7B,UAAM,IAAIkZ,SAAJ,CAAc,uCAAd,CAAN;AACD;;AAED,MAAI,OAAOwwF,WAAP,KAAuB,WAAvB,IAAsC1pG,KAAK,YAAY0pG,WAA3D,EAAwE;AACtE,WAAOw8B,eAAe,CAACltH,IAAD,EAAOhZ,KAAP,EAAc8lI,gBAAd,EAAgCjoJ,MAAhC,CAAtB;AACD;;AAED,MAAI,OAAOmiB,KAAP,KAAiB,QAArB,EAA+B;AAC7B,WAAOmmI,UAAU,CAACntH,IAAD,EAAOhZ,KAAP,EAAc8lI,gBAAd,CAAjB;AACD;;AAED,SAAOM,UAAU,CAACptH,IAAD,EAAOhZ,KAAP,CAAjB;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAivF,MAAM,CAAC9sD,IAAP,GAAc,UAAUniC,KAAV,EAAiB8lI,gBAAjB,EAAmCjoJ,MAAnC,EAA2C;AACvD,SAAOskD,IAAI,CAAC,IAAD,EAAOniC,KAAP,EAAc8lI,gBAAd,EAAgCjoJ,MAAhC,CAAX;AACD,CAFD;;AAIA,IAAIoxG,MAAM,CAACu2C,mBAAX,EAAgC;AAC9Bv2C,QAAM,CAACv6F,SAAP,CAAiB0pD,SAAjB,GAA6B2uC,UAAU,CAACr4F,SAAxC;AACAu6F,QAAM,CAAC7wC,SAAP,GAAmB2uC,UAAnB;;AACA,MAAI,OAAOnnF,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACygI,OAAxC,IACAp3C,MAAM,CAACrpF,MAAM,CAACygI,OAAR,CAAN,KAA2Bp3C,MAD/B,EACuC;AACrC;AACA9tG,UAAM,CAAC06B,cAAP,CAAsBozE,MAAtB,EAA8BrpF,MAAM,CAACygI,OAArC,EAA8C;AAC5CrmI,WAAK,EAAE,IADqC;AAE5C8b,kBAAY,EAAE;AAF8B,KAA9C;AAID;AACF;;AAED,SAASwqH,UAAT,CAAqB1lI,IAArB,EAA2B;AACzB,MAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC5B,UAAM,IAAIsY,SAAJ,CAAc,kCAAd,CAAN;AACD,GAFD,MAEO,IAAItY,IAAI,GAAG,CAAX,EAAc;AACnB,UAAM,IAAIilI,UAAJ,CAAe,sCAAf,CAAN;AACD;AACF;;AAED,SAASU,KAAT,CAAgBvtH,IAAhB,EAAsBpY,IAAtB,EAA4BotD,IAA5B,EAAkCw4E,QAAlC,EAA4C;AAC1CF,YAAU,CAAC1lI,IAAD,CAAV;;AACA,MAAIA,IAAI,IAAI,CAAZ,EAAe;AACb,WAAOglI,YAAY,CAAC5sH,IAAD,EAAOpY,IAAP,CAAnB;AACD;;AACD,MAAIotD,IAAI,KAAK5uE,SAAb,EAAwB;AACtB;AACA;AACA;AACA,WAAO,OAAOonJ,QAAP,KAAoB,QAApB,GACHZ,YAAY,CAAC5sH,IAAD,EAAOpY,IAAP,CAAZ,CAAyBotD,IAAzB,CAA8BA,IAA9B,EAAoCw4E,QAApC,CADG,GAEHZ,YAAY,CAAC5sH,IAAD,EAAOpY,IAAP,CAAZ,CAAyBotD,IAAzB,CAA8BA,IAA9B,CAFJ;AAGD;;AACD,SAAO43E,YAAY,CAAC5sH,IAAD,EAAOpY,IAAP,CAAnB;AACD;AAED;AACA;AACA;AACA;;;AACAquF,MAAM,CAACs3C,KAAP,GAAe,UAAU3lI,IAAV,EAAgBotD,IAAhB,EAAsBw4E,QAAtB,EAAgC;AAC7C,SAAOD,KAAK,CAAC,IAAD,EAAO3lI,IAAP,EAAaotD,IAAb,EAAmBw4E,QAAnB,CAAZ;AACD,CAFD;;AAIA,SAAST,WAAT,CAAsB/sH,IAAtB,EAA4BpY,IAA5B,EAAkC;AAChC0lI,YAAU,CAAC1lI,IAAD,CAAV;AACAoY,MAAI,GAAG4sH,YAAY,CAAC5sH,IAAD,EAAOpY,IAAI,GAAG,CAAP,GAAW,CAAX,GAAemQ,OAAO,CAACnQ,IAAD,CAAP,GAAgB,CAAtC,CAAnB;;AACA,MAAI,CAACquF,MAAM,CAACu2C,mBAAZ,EAAiC;AAC/B,SAAK,IAAI9pJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGklB,IAApB,EAA0B,EAAEllB,CAA5B,EAA+B;AAC7Bs9B,UAAI,CAACt9B,CAAD,CAAJ,GAAU,CAAV;AACD;AACF;;AACD,SAAOs9B,IAAP;AACD;AAED;AACA;AACA;;;AACAi2E,MAAM,CAAC82C,WAAP,GAAqB,UAAUnlI,IAAV,EAAgB;AACnC,SAAOmlI,WAAW,CAAC,IAAD,EAAOnlI,IAAP,CAAlB;AACD,CAFD;AAGA;AACA;AACA;;;AACAquF,MAAM,CAACw3C,eAAP,GAAyB,UAAU7lI,IAAV,EAAgB;AACvC,SAAOmlI,WAAW,CAAC,IAAD,EAAOnlI,IAAP,CAAlB;AACD,CAFD;;AAIA,SAASulI,UAAT,CAAqBntH,IAArB,EAA2BwC,MAA3B,EAAmCgrH,QAAnC,EAA6C;AAC3C,MAAI,OAAOA,QAAP,KAAoB,QAApB,IAAgCA,QAAQ,KAAK,EAAjD,EAAqD;AACnDA,YAAQ,GAAG,MAAX;AACD;;AAED,MAAI,CAACv3C,MAAM,CAACy3C,UAAP,CAAkBF,QAAlB,CAAL,EAAkC;AAChC,UAAM,IAAIttH,SAAJ,CAAc,4CAAd,CAAN;AACD;;AAED,MAAIr7B,MAAM,GAAGikH,UAAU,CAACtmF,MAAD,EAASgrH,QAAT,CAAV,GAA+B,CAA5C;AACAxtH,MAAI,GAAG4sH,YAAY,CAAC5sH,IAAD,EAAOn7B,MAAP,CAAnB;AAEA,MAAI8oJ,MAAM,GAAG3tH,IAAI,CAACmyD,KAAL,CAAW3vD,MAAX,EAAmBgrH,QAAnB,CAAb;;AAEA,MAAIG,MAAM,KAAK9oJ,MAAf,EAAuB;AACrB;AACA;AACA;AACAm7B,QAAI,GAAGA,IAAI,CAAC1jB,KAAL,CAAW,CAAX,EAAcqxI,MAAd,CAAP;AACD;;AAED,SAAO3tH,IAAP;AACD;;AAED,SAAS4tH,aAAT,CAAwB5tH,IAAxB,EAA8BvX,KAA9B,EAAqC;AACnC,MAAI5jB,MAAM,GAAG4jB,KAAK,CAAC5jB,MAAN,GAAe,CAAf,GAAmB,CAAnB,GAAuBkzB,OAAO,CAACtP,KAAK,CAAC5jB,MAAP,CAAP,GAAwB,CAA5D;AACAm7B,MAAI,GAAG4sH,YAAY,CAAC5sH,IAAD,EAAOn7B,MAAP,CAAnB;;AACA,OAAK,IAAInC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmC,MAApB,EAA4BnC,CAAC,IAAI,CAAjC,EAAoC;AAClCs9B,QAAI,CAACt9B,CAAD,CAAJ,GAAU+lB,KAAK,CAAC/lB,CAAD,CAAL,GAAW,GAArB;AACD;;AACD,SAAOs9B,IAAP;AACD;;AAED,SAASktH,eAAT,CAA0BltH,IAA1B,EAAgCvX,KAAhC,EAAuCogG,UAAvC,EAAmDhkH,MAAnD,EAA2D;AACzD4jB,OAAK,CAACqgG,UAAN,CADyD,CACxC;;AAEjB,MAAID,UAAU,GAAG,CAAb,IAAkBpgG,KAAK,CAACqgG,UAAN,GAAmBD,UAAzC,EAAqD;AACnD,UAAM,IAAIgkC,UAAJ,CAAe,6BAAf,CAAN;AACD;;AAED,MAAIpkI,KAAK,CAACqgG,UAAN,GAAmBD,UAAU,IAAIhkH,MAAM,IAAI,CAAd,CAAjC,EAAmD;AACjD,UAAM,IAAIgoJ,UAAJ,CAAe,6BAAf,CAAN;AACD;;AAED,MAAIhkC,UAAU,KAAKziH,SAAf,IAA4BvB,MAAM,KAAKuB,SAA3C,EAAsD;AACpDqiB,SAAK,GAAG,IAAIsrF,UAAJ,CAAetrF,KAAf,CAAR;AACD,GAFD,MAEO,IAAI5jB,MAAM,KAAKuB,SAAf,EAA0B;AAC/BqiB,SAAK,GAAG,IAAIsrF,UAAJ,CAAetrF,KAAf,EAAsBogG,UAAtB,CAAR;AACD,GAFM,MAEA;AACLpgG,SAAK,GAAG,IAAIsrF,UAAJ,CAAetrF,KAAf,EAAsBogG,UAAtB,EAAkChkH,MAAlC,CAAR;AACD;;AAED,MAAIoxG,MAAM,CAACu2C,mBAAX,EAAgC;AAC9B;AACAxsH,QAAI,GAAGvX,KAAP;AACAuX,QAAI,CAAColC,SAAL,GAAiB6wC,MAAM,CAACv6F,SAAxB;AACD,GAJD,MAIO;AACL;AACAskB,QAAI,GAAG4tH,aAAa,CAAC5tH,IAAD,EAAOvX,KAAP,CAApB;AACD;;AACD,SAAOuX,IAAP;AACD;;AAED,SAASotH,UAAT,CAAqBptH,IAArB,EAA2B3iB,GAA3B,EAAgC;AAC9B,MAAI44F,MAAM,CAAC43C,QAAP,CAAgBxwI,GAAhB,CAAJ,EAA0B;AACxB,QAAI8N,GAAG,GAAG4M,OAAO,CAAC1a,GAAG,CAACxY,MAAL,CAAP,GAAsB,CAAhC;AACAm7B,QAAI,GAAG4sH,YAAY,CAAC5sH,IAAD,EAAO7U,GAAP,CAAnB;;AAEA,QAAI6U,IAAI,CAACn7B,MAAL,KAAgB,CAApB,EAAuB;AACrB,aAAOm7B,IAAP;AACD;;AAED3iB,OAAG,CAACmO,IAAJ,CAASwU,IAAT,EAAe,CAAf,EAAkB,CAAlB,EAAqB7U,GAArB;AACA,WAAO6U,IAAP;AACD;;AAED,MAAI3iB,GAAJ,EAAS;AACP,QAAK,OAAOqzG,WAAP,KAAuB,WAAvB,IACDrzG,GAAG,CAAC/P,MAAJ,YAAsBojH,WADtB,IACsC,YAAYrzG,GADtD,EAC2D;AACzD,UAAI,OAAOA,GAAG,CAACxY,MAAX,KAAsB,QAAtB,IAAkCipJ,KAAK,CAACzwI,GAAG,CAACxY,MAAL,CAA3C,EAAyD;AACvD,eAAO+nJ,YAAY,CAAC5sH,IAAD,EAAO,CAAP,CAAnB;AACD;;AACD,aAAO4tH,aAAa,CAAC5tH,IAAD,EAAO3iB,GAAP,CAApB;AACD;;AAED,QAAIA,GAAG,CAACnL,IAAJ,KAAa,QAAb,IAAyBoL,OAAO,CAACD,GAAG,CAAClb,IAAL,CAApC,EAAgD;AAC9C,aAAOyrJ,aAAa,CAAC5tH,IAAD,EAAO3iB,GAAG,CAAClb,IAAX,CAApB;AACD;AACF;;AAED,QAAM,IAAI+9B,SAAJ,CAAc,oFAAd,CAAN;AACD;;AAED,SAASnI,OAAT,CAAkBlzB,MAAlB,EAA0B;AACxB;AACA;AACA,MAAIA,MAAM,IAAI6nJ,UAAU,EAAxB,EAA4B;AAC1B,UAAM,IAAIG,UAAJ,CAAe,oDACA,UADA,GACaH,UAAU,GAAG9jI,QAAb,CAAsB,EAAtB,CADb,GACyC,QADxD,CAAN;AAED;;AACD,SAAO/jB,MAAM,GAAG,CAAhB;AACD;;AAED,SAASynJ,UAAT,CAAqBznJ,MAArB,EAA6B;AAC3B,MAAI,CAACA,MAAD,IAAWA,MAAf,EAAuB;AAAE;AACvBA,UAAM,GAAG,CAAT;AACD;;AACD,SAAOoxG,MAAM,CAACs3C,KAAP,CAAa,CAAC1oJ,MAAd,CAAP;AACD;;AAEDoxG,MAAM,CAAC43C,QAAP,GAAkB,SAASA,QAAT,CAAmB7wI,CAAnB,EAAsB;AACtC,SAAO,CAAC,EAAEA,CAAC,IAAI,IAAL,IAAaA,CAAC,CAAC+wI,SAAjB,CAAR;AACD,CAFD;;AAIA93C,MAAM,CAACnhF,OAAP,GAAiB,SAASA,OAAT,CAAkB/X,CAAlB,EAAqBC,CAArB,EAAwB;AACvC,MAAI,CAACi5F,MAAM,CAAC43C,QAAP,CAAgB9wI,CAAhB,CAAD,IAAuB,CAACk5F,MAAM,CAAC43C,QAAP,CAAgB7wI,CAAhB,CAA5B,EAAgD;AAC9C,UAAM,IAAIkjB,SAAJ,CAAc,2BAAd,CAAN;AACD;;AAED,MAAInjB,CAAC,KAAKC,CAAV,EAAa,OAAO,CAAP;AAEb,MAAIgH,CAAC,GAAGjH,CAAC,CAAClY,MAAV;AACA,MAAIof,CAAC,GAAGjH,CAAC,CAACnY,MAAV;;AAEA,OAAK,IAAInC,CAAC,GAAG,CAAR,EAAWyoB,GAAG,GAAG7I,IAAI,CAACE,GAAL,CAASwB,CAAT,EAAYC,CAAZ,CAAtB,EAAsCvhB,CAAC,GAAGyoB,GAA1C,EAA+C,EAAEzoB,CAAjD,EAAoD;AAClD,QAAIqa,CAAC,CAACra,CAAD,CAAD,KAASsa,CAAC,CAACta,CAAD,CAAd,EAAmB;AACjBshB,OAAC,GAAGjH,CAAC,CAACra,CAAD,CAAL;AACAuhB,OAAC,GAAGjH,CAAC,CAACta,CAAD,CAAL;AACA;AACD;AACF;;AAED,MAAIshB,CAAC,GAAGC,CAAR,EAAW,OAAO,CAAC,CAAR;AACX,MAAIA,CAAC,GAAGD,CAAR,EAAW,OAAO,CAAP;AACX,SAAO,CAAP;AACD,CArBD;;AAuBAiyF,MAAM,CAACy3C,UAAP,GAAoB,SAASA,UAAT,CAAqBF,QAArB,EAA+B;AACjD,UAAQr9H,MAAM,CAACq9H,QAAD,CAAN,CAAiBxnI,WAAjB,EAAR;AACE,SAAK,KAAL;AACA,SAAK,MAAL;AACA,SAAK,OAAL;AACA,SAAK,OAAL;AACA,SAAK,QAAL;AACA,SAAK,QAAL;AACA,SAAK,QAAL;AACA,SAAK,MAAL;AACA,SAAK,OAAL;AACA,SAAK,SAAL;AACA,SAAK,UAAL;AACE,aAAO,IAAP;;AACF;AACE,aAAO,KAAP;AAdJ;AAgBD,CAjBD;;AAmBAiwF,MAAM,CAACvtF,MAAP,GAAgB,SAASA,MAAT,CAAiBgG,IAAjB,EAAuB7pB,MAAvB,EAA+B;AAC7C,MAAI,CAACyY,OAAO,CAACoR,IAAD,CAAZ,EAAoB;AAClB,UAAM,IAAIwR,SAAJ,CAAc,6CAAd,CAAN;AACD;;AAED,MAAIxR,IAAI,CAAC7pB,MAAL,KAAgB,CAApB,EAAuB;AACrB,WAAOoxG,MAAM,CAACs3C,KAAP,CAAa,CAAb,CAAP;AACD;;AAED,MAAI7qJ,CAAJ;;AACA,MAAImC,MAAM,KAAKuB,SAAf,EAA0B;AACxBvB,UAAM,GAAG,CAAT;;AACA,SAAKnC,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGgsB,IAAI,CAAC7pB,MAArB,EAA6B,EAAEnC,CAA/B,EAAkC;AAChCmC,YAAM,IAAI6pB,IAAI,CAAChsB,CAAD,CAAJ,CAAQmC,MAAlB;AACD;AACF;;AAED,MAAIyI,MAAM,GAAG2oG,MAAM,CAAC82C,WAAP,CAAmBloJ,MAAnB,CAAb;AACA,MAAI+vC,GAAG,GAAG,CAAV;;AACA,OAAKlyC,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGgsB,IAAI,CAAC7pB,MAArB,EAA6B,EAAEnC,CAA/B,EAAkC;AAChC,QAAIsrJ,GAAG,GAAGt/H,IAAI,CAAChsB,CAAD,CAAd;;AACA,QAAI,CAACuzG,MAAM,CAAC43C,QAAP,CAAgBG,GAAhB,CAAL,EAA2B;AACzB,YAAM,IAAI9tH,SAAJ,CAAc,6CAAd,CAAN;AACD;;AACD8tH,OAAG,CAACxiI,IAAJ,CAASle,MAAT,EAAiBsnC,GAAjB;AACAA,OAAG,IAAIo5G,GAAG,CAACnpJ,MAAX;AACD;;AACD,SAAOyI,MAAP;AACD,CA5BD;;AA8BA,SAASw7G,UAAT,CAAqBtmF,MAArB,EAA6BgrH,QAA7B,EAAuC;AACrC,MAAIv3C,MAAM,CAAC43C,QAAP,CAAgBrrH,MAAhB,CAAJ,EAA6B;AAC3B,WAAOA,MAAM,CAAC39B,MAAd;AACD;;AACD,MAAI,OAAO6rH,WAAP,KAAuB,WAAvB,IAAsC,OAAOA,WAAW,CAAC4O,MAAnB,KAA8B,UAApE,KACC5O,WAAW,CAAC4O,MAAZ,CAAmB98F,MAAnB,KAA8BA,MAAM,YAAYkuF,WADjD,CAAJ,EACmE;AACjE,WAAOluF,MAAM,CAACsmF,UAAd;AACD;;AACD,MAAI,OAAOtmF,MAAP,KAAkB,QAAtB,EAAgC;AAC9BA,UAAM,GAAG,KAAKA,MAAd;AACD;;AAED,MAAIrX,GAAG,GAAGqX,MAAM,CAAC39B,MAAjB;AACA,MAAIsmB,GAAG,KAAK,CAAZ,EAAe,OAAO,CAAP,CAbsB,CAerC;;AACA,MAAI8iI,WAAW,GAAG,KAAlB;;AACA,WAAS;AACP,YAAQT,QAAR;AACE,WAAK,OAAL;AACA,WAAK,QAAL;AACA,WAAK,QAAL;AACE,eAAOriI,GAAP;;AACF,WAAK,MAAL;AACA,WAAK,OAAL;AACA,WAAK/kB,SAAL;AACE,eAAO8nJ,WAAW,CAAC1rH,MAAD,CAAX,CAAoB39B,MAA3B;;AACF,WAAK,MAAL;AACA,WAAK,OAAL;AACA,WAAK,SAAL;AACA,WAAK,UAAL;AACE,eAAOsmB,GAAG,GAAG,CAAb;;AACF,WAAK,KAAL;AACE,eAAOA,GAAG,KAAK,CAAf;;AACF,WAAK,QAAL;AACE,eAAOgjI,aAAa,CAAC3rH,MAAD,CAAb,CAAsB39B,MAA7B;;AACF;AACE,YAAIopJ,WAAJ,EAAiB,OAAOC,WAAW,CAAC1rH,MAAD,CAAX,CAAoB39B,MAA3B,CADnB,CACqD;;AACnD2oJ,gBAAQ,GAAG,CAAC,KAAKA,QAAN,EAAgBxnI,WAAhB,EAAX;AACAioI,mBAAW,GAAG,IAAd;AArBJ;AAuBD;AACF;;AACDh4C,MAAM,CAAC6S,UAAP,GAAoBA,UAApB;;AAEA,SAASslC,YAAT,CAAuBZ,QAAvB,EAAiCrqI,KAAjC,EAAwCkI,GAAxC,EAA6C;AAC3C,MAAI4iI,WAAW,GAAG,KAAlB,CAD2C,CAG3C;AACA;AAEA;AACA;AACA;AACA;;AACA,MAAI9qI,KAAK,KAAK/c,SAAV,IAAuB+c,KAAK,GAAG,CAAnC,EAAsC;AACpCA,SAAK,GAAG,CAAR;AACD,GAZ0C,CAa3C;AACA;;;AACA,MAAIA,KAAK,GAAG,KAAKte,MAAjB,EAAyB;AACvB,WAAO,EAAP;AACD;;AAED,MAAIwmB,GAAG,KAAKjlB,SAAR,IAAqBilB,GAAG,GAAG,KAAKxmB,MAApC,EAA4C;AAC1CwmB,OAAG,GAAG,KAAKxmB,MAAX;AACD;;AAED,MAAIwmB,GAAG,IAAI,CAAX,EAAc;AACZ,WAAO,EAAP;AACD,GAzB0C,CA2B3C;;;AACAA,KAAG,MAAM,CAAT;AACAlI,OAAK,MAAM,CAAX;;AAEA,MAAIkI,GAAG,IAAIlI,KAAX,EAAkB;AAChB,WAAO,EAAP;AACD;;AAED,MAAI,CAACqqI,QAAL,EAAeA,QAAQ,GAAG,MAAX;;AAEf,SAAO,IAAP,EAAa;AACX,YAAQA,QAAR;AACE,WAAK,KAAL;AACE,eAAOa,QAAQ,CAAC,IAAD,EAAOlrI,KAAP,EAAckI,GAAd,CAAf;;AAEF,WAAK,MAAL;AACA,WAAK,OAAL;AACE,eAAOijI,SAAS,CAAC,IAAD,EAAOnrI,KAAP,EAAckI,GAAd,CAAhB;;AAEF,WAAK,OAAL;AACE,eAAOkjI,UAAU,CAAC,IAAD,EAAOprI,KAAP,EAAckI,GAAd,CAAjB;;AAEF,WAAK,QAAL;AACA,WAAK,QAAL;AACE,eAAOmjI,WAAW,CAAC,IAAD,EAAOrrI,KAAP,EAAckI,GAAd,CAAlB;;AAEF,WAAK,QAAL;AACE,eAAOojI,WAAW,CAAC,IAAD,EAAOtrI,KAAP,EAAckI,GAAd,CAAlB;;AAEF,WAAK,MAAL;AACA,WAAK,OAAL;AACA,WAAK,SAAL;AACA,WAAK,UAAL;AACE,eAAOqjI,YAAY,CAAC,IAAD,EAAOvrI,KAAP,EAAckI,GAAd,CAAnB;;AAEF;AACE,YAAI4iI,WAAJ,EAAiB,MAAM,IAAI/tH,SAAJ,CAAc,uBAAuBstH,QAArC,CAAN;AACjBA,gBAAQ,GAAG,CAACA,QAAQ,GAAG,EAAZ,EAAgBxnI,WAAhB,EAAX;AACAioI,mBAAW,GAAG,IAAd;AA3BJ;AA6BD;AACF,C,CAED;AACA;;;AACAh4C,MAAM,CAACv6F,SAAP,CAAiBqyI,SAAjB,GAA6B,IAA7B;;AAEA,SAASv+G,IAAT,CAAexyB,CAAf,EAAkBif,CAAlB,EAAqB/K,CAArB,EAAwB;AACtB,MAAIxuB,CAAC,GAAGsa,CAAC,CAACif,CAAD,CAAT;AACAjf,GAAC,CAACif,CAAD,CAAD,GAAOjf,CAAC,CAACkU,CAAD,CAAR;AACAlU,GAAC,CAACkU,CAAD,CAAD,GAAOxuB,CAAP;AACD;;AAEDuzG,MAAM,CAACv6F,SAAP,CAAiBizI,MAAjB,GAA0B,SAASA,MAAT,GAAmB;AAC3C,MAAIxjI,GAAG,GAAG,KAAKtmB,MAAf;;AACA,MAAIsmB,GAAG,GAAG,CAAN,KAAY,CAAhB,EAAmB;AACjB,UAAM,IAAI0hI,UAAJ,CAAe,2CAAf,CAAN;AACD;;AACD,OAAK,IAAInqJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyoB,GAApB,EAAyBzoB,CAAC,IAAI,CAA9B,EAAiC;AAC/B8sC,QAAI,CAAC,IAAD,EAAO9sC,CAAP,EAAUA,CAAC,GAAG,CAAd,CAAJ;AACD;;AACD,SAAO,IAAP;AACD,CATD;;AAWAuzG,MAAM,CAACv6F,SAAP,CAAiBkzI,MAAjB,GAA0B,SAASA,MAAT,GAAmB;AAC3C,MAAIzjI,GAAG,GAAG,KAAKtmB,MAAf;;AACA,MAAIsmB,GAAG,GAAG,CAAN,KAAY,CAAhB,EAAmB;AACjB,UAAM,IAAI0hI,UAAJ,CAAe,2CAAf,CAAN;AACD;;AACD,OAAK,IAAInqJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyoB,GAApB,EAAyBzoB,CAAC,IAAI,CAA9B,EAAiC;AAC/B8sC,QAAI,CAAC,IAAD,EAAO9sC,CAAP,EAAUA,CAAC,GAAG,CAAd,CAAJ;AACA8sC,QAAI,CAAC,IAAD,EAAO9sC,CAAC,GAAG,CAAX,EAAcA,CAAC,GAAG,CAAlB,CAAJ;AACD;;AACD,SAAO,IAAP;AACD,CAVD;;AAYAuzG,MAAM,CAACv6F,SAAP,CAAiBmzI,MAAjB,GAA0B,SAASA,MAAT,GAAmB;AAC3C,MAAI1jI,GAAG,GAAG,KAAKtmB,MAAf;;AACA,MAAIsmB,GAAG,GAAG,CAAN,KAAY,CAAhB,EAAmB;AACjB,UAAM,IAAI0hI,UAAJ,CAAe,2CAAf,CAAN;AACD;;AACD,OAAK,IAAInqJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyoB,GAApB,EAAyBzoB,CAAC,IAAI,CAA9B,EAAiC;AAC/B8sC,QAAI,CAAC,IAAD,EAAO9sC,CAAP,EAAUA,CAAC,GAAG,CAAd,CAAJ;AACA8sC,QAAI,CAAC,IAAD,EAAO9sC,CAAC,GAAG,CAAX,EAAcA,CAAC,GAAG,CAAlB,CAAJ;AACA8sC,QAAI,CAAC,IAAD,EAAO9sC,CAAC,GAAG,CAAX,EAAcA,CAAC,GAAG,CAAlB,CAAJ;AACA8sC,QAAI,CAAC,IAAD,EAAO9sC,CAAC,GAAG,CAAX,EAAcA,CAAC,GAAG,CAAlB,CAAJ;AACD;;AACD,SAAO,IAAP;AACD,CAZD;;AAcAuzG,MAAM,CAACv6F,SAAP,CAAiBkN,QAAjB,GAA4B,SAASA,QAAT,GAAqB;AAC/C,MAAI/jB,MAAM,GAAG,KAAKA,MAAL,GAAc,CAA3B;AACA,MAAIA,MAAM,KAAK,CAAf,EAAkB,OAAO,EAAP;AAClB,MAAIgmB,SAAS,CAAChmB,MAAV,KAAqB,CAAzB,EAA4B,OAAOypJ,SAAS,CAAC,IAAD,EAAO,CAAP,EAAUzpJ,MAAV,CAAhB;AAC5B,SAAOupJ,YAAY,CAAC/mJ,KAAb,CAAmB,IAAnB,EAAyBwjB,SAAzB,CAAP;AACD,CALD;;AAOAorF,MAAM,CAACv6F,SAAP,CAAiBozI,MAAjB,GAA0B,SAASA,MAAT,CAAiB9xI,CAAjB,EAAoB;AAC5C,MAAI,CAACi5F,MAAM,CAAC43C,QAAP,CAAgB7wI,CAAhB,CAAL,EAAyB,MAAM,IAAIkjB,SAAJ,CAAc,2BAAd,CAAN;AACzB,MAAI,SAASljB,CAAb,EAAgB,OAAO,IAAP;AAChB,SAAOi5F,MAAM,CAACnhF,OAAP,CAAe,IAAf,EAAqB9X,CAArB,MAA4B,CAAnC;AACD,CAJD;;AAMAi5F,MAAM,CAACv6F,SAAP,CAAiB2hC,OAAjB,GAA2B,SAASA,OAAT,GAAoB;AAC7C,MAAI6I,GAAG,GAAG,EAAV;AACA,MAAI3jC,GAAG,GAAG9gB,OAAO,CAAC8qJ,iBAAlB;;AACA,MAAI,KAAK1nJ,MAAL,GAAc,CAAlB,EAAqB;AACnBqhD,OAAG,GAAG,KAAKt9B,QAAL,CAAc,KAAd,EAAqB,CAArB,EAAwBrG,GAAxB,EAA6B6O,KAA7B,CAAmC,OAAnC,EAA4CU,IAA5C,CAAiD,GAAjD,CAAN;AACA,QAAI,KAAKjtB,MAAL,GAAc0d,GAAlB,EAAuB2jC,GAAG,IAAI,OAAP;AACxB;;AACD,SAAO,aAAaA,GAAb,GAAmB,GAA1B;AACD,CARD;;AAUA+vD,MAAM,CAACv6F,SAAP,CAAiBoZ,OAAjB,GAA2B,SAASA,OAAT,CAAkB7oB,MAAlB,EAA0BkX,KAA1B,EAAiCkI,GAAjC,EAAsC0jI,SAAtC,EAAiDC,OAAjD,EAA0D;AACnF,MAAI,CAAC/4C,MAAM,CAAC43C,QAAP,CAAgB5hJ,MAAhB,CAAL,EAA8B;AAC5B,UAAM,IAAIi0B,SAAJ,CAAc,2BAAd,CAAN;AACD;;AAED,MAAI/c,KAAK,KAAK/c,SAAd,EAAyB;AACvB+c,SAAK,GAAG,CAAR;AACD;;AACD,MAAIkI,GAAG,KAAKjlB,SAAZ,EAAuB;AACrBilB,OAAG,GAAGpf,MAAM,GAAGA,MAAM,CAACpH,MAAV,GAAmB,CAA/B;AACD;;AACD,MAAIkqJ,SAAS,KAAK3oJ,SAAlB,EAA6B;AAC3B2oJ,aAAS,GAAG,CAAZ;AACD;;AACD,MAAIC,OAAO,KAAK5oJ,SAAhB,EAA2B;AACzB4oJ,WAAO,GAAG,KAAKnqJ,MAAf;AACD;;AAED,MAAIse,KAAK,GAAG,CAAR,IAAakI,GAAG,GAAGpf,MAAM,CAACpH,MAA1B,IAAoCkqJ,SAAS,GAAG,CAAhD,IAAqDC,OAAO,GAAG,KAAKnqJ,MAAxE,EAAgF;AAC9E,UAAM,IAAIgoJ,UAAJ,CAAe,oBAAf,CAAN;AACD;;AAED,MAAIkC,SAAS,IAAIC,OAAb,IAAwB7rI,KAAK,IAAIkI,GAArC,EAA0C;AACxC,WAAO,CAAP;AACD;;AACD,MAAI0jI,SAAS,IAAIC,OAAjB,EAA0B;AACxB,WAAO,CAAC,CAAR;AACD;;AACD,MAAI7rI,KAAK,IAAIkI,GAAb,EAAkB;AAChB,WAAO,CAAP;AACD;;AAEDlI,OAAK,MAAM,CAAX;AACAkI,KAAG,MAAM,CAAT;AACA0jI,WAAS,MAAM,CAAf;AACAC,SAAO,MAAM,CAAb;AAEA,MAAI,SAAS/iJ,MAAb,EAAqB,OAAO,CAAP;AAErB,MAAI+X,CAAC,GAAGgrI,OAAO,GAAGD,SAAlB;AACA,MAAI9qI,CAAC,GAAGoH,GAAG,GAAGlI,KAAd;AACA,MAAIgI,GAAG,GAAG7I,IAAI,CAACE,GAAL,CAASwB,CAAT,EAAYC,CAAZ,CAAV;AAEA,MAAIgrI,QAAQ,GAAG,KAAK3yI,KAAL,CAAWyyI,SAAX,EAAsBC,OAAtB,CAAf;AACA,MAAIE,UAAU,GAAGjjJ,MAAM,CAACqQ,KAAP,CAAa6G,KAAb,EAAoBkI,GAApB,CAAjB;;AAEA,OAAK,IAAI3oB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyoB,GAApB,EAAyB,EAAEzoB,CAA3B,EAA8B;AAC5B,QAAIusJ,QAAQ,CAACvsJ,CAAD,CAAR,KAAgBwsJ,UAAU,CAACxsJ,CAAD,CAA9B,EAAmC;AACjCshB,OAAC,GAAGirI,QAAQ,CAACvsJ,CAAD,CAAZ;AACAuhB,OAAC,GAAGirI,UAAU,CAACxsJ,CAAD,CAAd;AACA;AACD;AACF;;AAED,MAAIshB,CAAC,GAAGC,CAAR,EAAW,OAAO,CAAC,CAAR;AACX,MAAIA,CAAC,GAAGD,CAAR,EAAW,OAAO,CAAP;AACX,SAAO,CAAP;AACD,CAzDD,C,CA2DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmrI,oBAAT,CAA+B7hJ,MAA/B,EAAuCmc,GAAvC,EAA4Co/F,UAA5C,EAAwD2kC,QAAxD,EAAkE18H,GAAlE,EAAuE;AACrE;AACA,MAAIxjB,MAAM,CAACzI,MAAP,KAAkB,CAAtB,EAAyB,OAAO,CAAC,CAAR,CAF4C,CAIrE;;AACA,MAAI,OAAOgkH,UAAP,KAAsB,QAA1B,EAAoC;AAClC2kC,YAAQ,GAAG3kC,UAAX;AACAA,cAAU,GAAG,CAAb;AACD,GAHD,MAGO,IAAIA,UAAU,GAAG,UAAjB,EAA6B;AAClCA,cAAU,GAAG,UAAb;AACD,GAFM,MAEA,IAAIA,UAAU,GAAG,CAAC,UAAlB,EAA8B;AACnCA,cAAU,GAAG,CAAC,UAAd;AACD;;AACDA,YAAU,GAAG,CAACA,UAAd,CAbqE,CAa3C;;AAC1B,MAAItgH,KAAK,CAACsgH,UAAD,CAAT,EAAuB;AACrB;AACAA,cAAU,GAAG/3F,GAAG,GAAG,CAAH,GAAQxjB,MAAM,CAACzI,MAAP,GAAgB,CAAxC;AACD,GAjBoE,CAmBrE;;;AACA,MAAIgkH,UAAU,GAAG,CAAjB,EAAoBA,UAAU,GAAGv7G,MAAM,CAACzI,MAAP,GAAgBgkH,UAA7B;;AACpB,MAAIA,UAAU,IAAIv7G,MAAM,CAACzI,MAAzB,EAAiC;AAC/B,QAAIisB,GAAJ,EAAS,OAAO,CAAC,CAAR,CAAT,KACK+3F,UAAU,GAAGv7G,MAAM,CAACzI,MAAP,GAAgB,CAA7B;AACN,GAHD,MAGO,IAAIgkH,UAAU,GAAG,CAAjB,EAAoB;AACzB,QAAI/3F,GAAJ,EAAS+3F,UAAU,GAAG,CAAb,CAAT,KACK,OAAO,CAAC,CAAR;AACN,GA3BoE,CA6BrE;;;AACA,MAAI,OAAOp/F,GAAP,KAAe,QAAnB,EAA6B;AAC3BA,OAAG,GAAGwsF,MAAM,CAAC9sD,IAAP,CAAY1/B,GAAZ,EAAiB+jI,QAAjB,CAAN;AACD,GAhCoE,CAkCrE;;;AACA,MAAIv3C,MAAM,CAAC43C,QAAP,CAAgBpkI,GAAhB,CAAJ,EAA0B;AACxB;AACA,QAAIA,GAAG,CAAC5kB,MAAJ,KAAe,CAAnB,EAAsB;AACpB,aAAO,CAAC,CAAR;AACD;;AACD,WAAOuqJ,YAAY,CAAC9hJ,MAAD,EAASmc,GAAT,EAAco/F,UAAd,EAA0B2kC,QAA1B,EAAoC18H,GAApC,CAAnB;AACD,GAND,MAMO,IAAI,OAAOrH,GAAP,KAAe,QAAnB,EAA6B;AAClCA,OAAG,GAAGA,GAAG,GAAG,IAAZ,CADkC,CACjB;;AACjB,QAAIwsF,MAAM,CAACu2C,mBAAP,IACA,OAAOz4C,UAAU,CAACr4F,SAAX,CAAqB5Y,OAA5B,KAAwC,UAD5C,EACwD;AACtD,UAAIguB,GAAJ,EAAS;AACP,eAAOijF,UAAU,CAACr4F,SAAX,CAAqB5Y,OAArB,CAA6BwE,IAA7B,CAAkCgG,MAAlC,EAA0Cmc,GAA1C,EAA+Co/F,UAA/C,CAAP;AACD,OAFD,MAEO;AACL,eAAO9U,UAAU,CAACr4F,SAAX,CAAqBk1F,WAArB,CAAiCtpG,IAAjC,CAAsCgG,MAAtC,EAA8Cmc,GAA9C,EAAmDo/F,UAAnD,CAAP;AACD;AACF;;AACD,WAAOumC,YAAY,CAAC9hJ,MAAD,EAAS,CAAEmc,GAAF,CAAT,EAAkBo/F,UAAlB,EAA8B2kC,QAA9B,EAAwC18H,GAAxC,CAAnB;AACD;;AAED,QAAM,IAAIoP,SAAJ,CAAc,sCAAd,CAAN;AACD;;AAED,SAASkvH,YAAT,CAAuB/mI,GAAvB,EAA4BoB,GAA5B,EAAiCo/F,UAAjC,EAA6C2kC,QAA7C,EAAuD18H,GAAvD,EAA4D;AAC1D,MAAIu+H,SAAS,GAAG,CAAhB;AACA,MAAIC,SAAS,GAAGjnI,GAAG,CAACxjB,MAApB;AACA,MAAI0qJ,SAAS,GAAG9lI,GAAG,CAAC5kB,MAApB;;AAEA,MAAI2oJ,QAAQ,KAAKpnJ,SAAjB,EAA4B;AAC1BonJ,YAAQ,GAAGr9H,MAAM,CAACq9H,QAAD,CAAN,CAAiBxnI,WAAjB,EAAX;;AACA,QAAIwnI,QAAQ,KAAK,MAAb,IAAuBA,QAAQ,KAAK,OAApC,IACAA,QAAQ,KAAK,SADb,IAC0BA,QAAQ,KAAK,UAD3C,EACuD;AACrD,UAAInlI,GAAG,CAACxjB,MAAJ,GAAa,CAAb,IAAkB4kB,GAAG,CAAC5kB,MAAJ,GAAa,CAAnC,EAAsC;AACpC,eAAO,CAAC,CAAR;AACD;;AACDwqJ,eAAS,GAAG,CAAZ;AACAC,eAAS,IAAI,CAAb;AACAC,eAAS,IAAI,CAAb;AACA1mC,gBAAU,IAAI,CAAd;AACD;AACF;;AAED,WAASw/B,IAAT,CAAe2F,GAAf,EAAoBtrJ,CAApB,EAAuB;AACrB,QAAI2sJ,SAAS,KAAK,CAAlB,EAAqB;AACnB,aAAOrB,GAAG,CAACtrJ,CAAD,CAAV;AACD,KAFD,MAEO;AACL,aAAOsrJ,GAAG,CAACwB,YAAJ,CAAiB9sJ,CAAC,GAAG2sJ,SAArB,CAAP;AACD;AACF;;AAED,MAAI3sJ,CAAJ;;AACA,MAAIouB,GAAJ,EAAS;AACP,QAAI2+H,UAAU,GAAG,CAAC,CAAlB;;AACA,SAAK/sJ,CAAC,GAAGmmH,UAAT,EAAqBnmH,CAAC,GAAG4sJ,SAAzB,EAAoC5sJ,CAAC,EAArC,EAAyC;AACvC,UAAI2lJ,IAAI,CAAChgI,GAAD,EAAM3lB,CAAN,CAAJ,KAAiB2lJ,IAAI,CAAC5+H,GAAD,EAAMgmI,UAAU,KAAK,CAAC,CAAhB,GAAoB,CAApB,GAAwB/sJ,CAAC,GAAG+sJ,UAAlC,CAAzB,EAAwE;AACtE,YAAIA,UAAU,KAAK,CAAC,CAApB,EAAuBA,UAAU,GAAG/sJ,CAAb;AACvB,YAAIA,CAAC,GAAG+sJ,UAAJ,GAAiB,CAAjB,KAAuBF,SAA3B,EAAsC,OAAOE,UAAU,GAAGJ,SAApB;AACvC,OAHD,MAGO;AACL,YAAII,UAAU,KAAK,CAAC,CAApB,EAAuB/sJ,CAAC,IAAIA,CAAC,GAAG+sJ,UAAT;AACvBA,kBAAU,GAAG,CAAC,CAAd;AACD;AACF;AACF,GAXD,MAWO;AACL,QAAI5mC,UAAU,GAAG0mC,SAAb,GAAyBD,SAA7B,EAAwCzmC,UAAU,GAAGymC,SAAS,GAAGC,SAAzB;;AACxC,SAAK7sJ,CAAC,GAAGmmH,UAAT,EAAqBnmH,CAAC,IAAI,CAA1B,EAA6BA,CAAC,EAA9B,EAAkC;AAChC,UAAIgtJ,KAAK,GAAG,IAAZ;;AACA,WAAK,IAAItkI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmkI,SAApB,EAA+BnkI,CAAC,EAAhC,EAAoC;AAClC,YAAIi9H,IAAI,CAAChgI,GAAD,EAAM3lB,CAAC,GAAG0oB,CAAV,CAAJ,KAAqBi9H,IAAI,CAAC5+H,GAAD,EAAM2B,CAAN,CAA7B,EAAuC;AACrCskI,eAAK,GAAG,KAAR;AACA;AACD;AACF;;AACD,UAAIA,KAAJ,EAAW,OAAOhtJ,CAAP;AACZ;AACF;;AAED,SAAO,CAAC,CAAR;AACD;;AAEDuzG,MAAM,CAACv6F,SAAP,CAAiBi0I,QAAjB,GAA4B,SAASA,QAAT,CAAmBlmI,GAAnB,EAAwBo/F,UAAxB,EAAoC2kC,QAApC,EAA8C;AACxE,SAAO,KAAK1qJ,OAAL,CAAa2mB,GAAb,EAAkBo/F,UAAlB,EAA8B2kC,QAA9B,MAA4C,CAAC,CAApD;AACD,CAFD;;AAIAv3C,MAAM,CAACv6F,SAAP,CAAiB5Y,OAAjB,GAA2B,SAASA,OAAT,CAAkB2mB,GAAlB,EAAuBo/F,UAAvB,EAAmC2kC,QAAnC,EAA6C;AACtE,SAAO2B,oBAAoB,CAAC,IAAD,EAAO1lI,GAAP,EAAYo/F,UAAZ,EAAwB2kC,QAAxB,EAAkC,IAAlC,CAA3B;AACD,CAFD;;AAIAv3C,MAAM,CAACv6F,SAAP,CAAiBk1F,WAAjB,GAA+B,SAASA,WAAT,CAAsBnnF,GAAtB,EAA2Bo/F,UAA3B,EAAuC2kC,QAAvC,EAAiD;AAC9E,SAAO2B,oBAAoB,CAAC,IAAD,EAAO1lI,GAAP,EAAYo/F,UAAZ,EAAwB2kC,QAAxB,EAAkC,KAAlC,CAA3B;AACD,CAFD;;AAIA,SAASoC,QAAT,CAAmB5B,GAAnB,EAAwBxrH,MAAxB,EAAgC7sB,MAAhC,EAAwC9Q,MAAxC,EAAgD;AAC9C8Q,QAAM,GAAGyzC,MAAM,CAACzzC,MAAD,CAAN,IAAkB,CAA3B;AACA,MAAIirB,SAAS,GAAGotH,GAAG,CAACnpJ,MAAJ,GAAa8Q,MAA7B;;AACA,MAAI,CAAC9Q,MAAL,EAAa;AACXA,UAAM,GAAG+7B,SAAT;AACD,GAFD,MAEO;AACL/7B,UAAM,GAAGukD,MAAM,CAACvkD,MAAD,CAAf;;AACA,QAAIA,MAAM,GAAG+7B,SAAb,EAAwB;AACtB/7B,YAAM,GAAG+7B,SAAT;AACD;AACF,GAV6C,CAY9C;;;AACA,MAAIivH,MAAM,GAAGrtH,MAAM,CAAC39B,MAApB;AACA,MAAIgrJ,MAAM,GAAG,CAAT,KAAe,CAAnB,EAAsB,MAAM,IAAI3vH,SAAJ,CAAc,oBAAd,CAAN;;AAEtB,MAAIr7B,MAAM,GAAGgrJ,MAAM,GAAG,CAAtB,EAAyB;AACvBhrJ,UAAM,GAAGgrJ,MAAM,GAAG,CAAlB;AACD;;AACD,OAAK,IAAIntJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmC,MAApB,EAA4B,EAAEnC,CAA9B,EAAiC;AAC/B,QAAI8gD,MAAM,GAAGn7C,QAAQ,CAACm6B,MAAM,CAAC+oB,MAAP,CAAc7oD,CAAC,GAAG,CAAlB,EAAqB,CAArB,CAAD,EAA0B,EAA1B,CAArB;AACA,QAAI6F,KAAK,CAACi7C,MAAD,CAAT,EAAmB,OAAO9gD,CAAP;AACnBsrJ,OAAG,CAACr4I,MAAM,GAAGjT,CAAV,CAAH,GAAkB8gD,MAAlB;AACD;;AACD,SAAO9gD,CAAP;AACD;;AAED,SAASotJ,SAAT,CAAoB9B,GAApB,EAAyBxrH,MAAzB,EAAiC7sB,MAAjC,EAAyC9Q,MAAzC,EAAiD;AAC/C,SAAOkrJ,UAAU,CAAC7B,WAAW,CAAC1rH,MAAD,EAASwrH,GAAG,CAACnpJ,MAAJ,GAAa8Q,MAAtB,CAAZ,EAA2Cq4I,GAA3C,EAAgDr4I,MAAhD,EAAwD9Q,MAAxD,CAAjB;AACD;;AAED,SAASmrJ,UAAT,CAAqBhC,GAArB,EAA0BxrH,MAA1B,EAAkC7sB,MAAlC,EAA0C9Q,MAA1C,EAAkD;AAChD,SAAOkrJ,UAAU,CAACE,YAAY,CAACztH,MAAD,CAAb,EAAuBwrH,GAAvB,EAA4Br4I,MAA5B,EAAoC9Q,MAApC,CAAjB;AACD;;AAED,SAASqrJ,WAAT,CAAsBlC,GAAtB,EAA2BxrH,MAA3B,EAAmC7sB,MAAnC,EAA2C9Q,MAA3C,EAAmD;AACjD,SAAOmrJ,UAAU,CAAChC,GAAD,EAAMxrH,MAAN,EAAc7sB,MAAd,EAAsB9Q,MAAtB,CAAjB;AACD;;AAED,SAASsrJ,WAAT,CAAsBnC,GAAtB,EAA2BxrH,MAA3B,EAAmC7sB,MAAnC,EAA2C9Q,MAA3C,EAAmD;AACjD,SAAOkrJ,UAAU,CAAC5B,aAAa,CAAC3rH,MAAD,CAAd,EAAwBwrH,GAAxB,EAA6Br4I,MAA7B,EAAqC9Q,MAArC,CAAjB;AACD;;AAED,SAASurJ,SAAT,CAAoBpC,GAApB,EAAyBxrH,MAAzB,EAAiC7sB,MAAjC,EAAyC9Q,MAAzC,EAAiD;AAC/C,SAAOkrJ,UAAU,CAACM,cAAc,CAAC7tH,MAAD,EAASwrH,GAAG,CAACnpJ,MAAJ,GAAa8Q,MAAtB,CAAf,EAA8Cq4I,GAA9C,EAAmDr4I,MAAnD,EAA2D9Q,MAA3D,CAAjB;AACD;;AAEDoxG,MAAM,CAACv6F,SAAP,CAAiBy2E,KAAjB,GAAyB,SAASA,KAAT,CAAgB3vD,MAAhB,EAAwB7sB,MAAxB,EAAgC9Q,MAAhC,EAAwC2oJ,QAAxC,EAAkD;AACzE;AACA,MAAI73I,MAAM,KAAKvP,SAAf,EAA0B;AACxBonJ,YAAQ,GAAG,MAAX;AACA3oJ,UAAM,GAAG,KAAKA,MAAd;AACA8Q,UAAM,GAAG,CAAT,CAHwB,CAI1B;AACC,GALD,MAKO,IAAI9Q,MAAM,KAAKuB,SAAX,IAAwB,OAAOuP,MAAP,KAAkB,QAA9C,EAAwD;AAC7D63I,YAAQ,GAAG73I,MAAX;AACA9Q,UAAM,GAAG,KAAKA,MAAd;AACA8Q,UAAM,GAAG,CAAT,CAH6D,CAI/D;AACC,GALM,MAKA,IAAIk+B,QAAQ,CAACl+B,MAAD,CAAZ,EAAsB;AAC3BA,UAAM,GAAGA,MAAM,GAAG,CAAlB;;AACA,QAAIk+B,QAAQ,CAAChvC,MAAD,CAAZ,EAAsB;AACpBA,YAAM,GAAGA,MAAM,GAAG,CAAlB;AACA,UAAI2oJ,QAAQ,KAAKpnJ,SAAjB,EAA4BonJ,QAAQ,GAAG,MAAX;AAC7B,KAHD,MAGO;AACLA,cAAQ,GAAG3oJ,MAAX;AACAA,YAAM,GAAGuB,SAAT;AACD,KAR0B,CAS7B;;AACC,GAVM,MAUA;AACL,UAAM,IAAIyO,KAAJ,CACJ,yEADI,CAAN;AAGD;;AAED,MAAI+rB,SAAS,GAAG,KAAK/7B,MAAL,GAAc8Q,MAA9B;AACA,MAAI9Q,MAAM,KAAKuB,SAAX,IAAwBvB,MAAM,GAAG+7B,SAArC,EAAgD/7B,MAAM,GAAG+7B,SAAT;;AAEhD,MAAK4B,MAAM,CAAC39B,MAAP,GAAgB,CAAhB,KAAsBA,MAAM,GAAG,CAAT,IAAc8Q,MAAM,GAAG,CAA7C,CAAD,IAAqDA,MAAM,GAAG,KAAK9Q,MAAvE,EAA+E;AAC7E,UAAM,IAAIgoJ,UAAJ,CAAe,wCAAf,CAAN;AACD;;AAED,MAAI,CAACW,QAAL,EAAeA,QAAQ,GAAG,MAAX;AAEf,MAAIS,WAAW,GAAG,KAAlB;;AACA,WAAS;AACP,YAAQT,QAAR;AACE,WAAK,KAAL;AACE,eAAOoC,QAAQ,CAAC,IAAD,EAAOptH,MAAP,EAAe7sB,MAAf,EAAuB9Q,MAAvB,CAAf;;AAEF,WAAK,MAAL;AACA,WAAK,OAAL;AACE,eAAOirJ,SAAS,CAAC,IAAD,EAAOttH,MAAP,EAAe7sB,MAAf,EAAuB9Q,MAAvB,CAAhB;;AAEF,WAAK,OAAL;AACE,eAAOmrJ,UAAU,CAAC,IAAD,EAAOxtH,MAAP,EAAe7sB,MAAf,EAAuB9Q,MAAvB,CAAjB;;AAEF,WAAK,QAAL;AACA,WAAK,QAAL;AACE,eAAOqrJ,WAAW,CAAC,IAAD,EAAO1tH,MAAP,EAAe7sB,MAAf,EAAuB9Q,MAAvB,CAAlB;;AAEF,WAAK,QAAL;AACE;AACA,eAAOsrJ,WAAW,CAAC,IAAD,EAAO3tH,MAAP,EAAe7sB,MAAf,EAAuB9Q,MAAvB,CAAlB;;AAEF,WAAK,MAAL;AACA,WAAK,OAAL;AACA,WAAK,SAAL;AACA,WAAK,UAAL;AACE,eAAOurJ,SAAS,CAAC,IAAD,EAAO5tH,MAAP,EAAe7sB,MAAf,EAAuB9Q,MAAvB,CAAhB;;AAEF;AACE,YAAIopJ,WAAJ,EAAiB,MAAM,IAAI/tH,SAAJ,CAAc,uBAAuBstH,QAArC,CAAN;AACjBA,gBAAQ,GAAG,CAAC,KAAKA,QAAN,EAAgBxnI,WAAhB,EAAX;AACAioI,mBAAW,GAAG,IAAd;AA5BJ;AA8BD;AACF,CAtED;;AAwEAh4C,MAAM,CAACv6F,SAAP,CAAiB+vF,MAAjB,GAA0B,SAASA,MAAT,GAAmB;AAC3C,SAAO;AACLv5F,QAAI,EAAE,QADD;AAEL/P,QAAI,EAAEgb,KAAK,CAACzB,SAAN,CAAgBY,KAAhB,CAAsBhV,IAAtB,CAA2B,KAAKgpJ,IAAL,IAAa,IAAxC,EAA8C,CAA9C;AAFD,GAAP;AAID,CALD;;AAOA,SAAS7B,WAAT,CAAsBT,GAAtB,EAA2B7qI,KAA3B,EAAkCkI,GAAlC,EAAuC;AACrC,MAAIlI,KAAK,KAAK,CAAV,IAAekI,GAAG,KAAK2iI,GAAG,CAACnpJ,MAA/B,EAAuC;AACrC,WAAOunJ,MAAM,CAACjF,aAAP,CAAqB6G,GAArB,CAAP;AACD,GAFD,MAEO;AACL,WAAO5B,MAAM,CAACjF,aAAP,CAAqB6G,GAAG,CAAC1xI,KAAJ,CAAU6G,KAAV,EAAiBkI,GAAjB,CAArB,CAAP;AACD;AACF;;AAED,SAASijI,SAAT,CAAoBN,GAApB,EAAyB7qI,KAAzB,EAAgCkI,GAAhC,EAAqC;AACnCA,KAAG,GAAG/I,IAAI,CAACE,GAAL,CAASwrI,GAAG,CAACnpJ,MAAb,EAAqBwmB,GAArB,CAAN;AACA,MAAIklI,GAAG,GAAG,EAAV;AAEA,MAAI7tJ,CAAC,GAAGygB,KAAR;;AACA,SAAOzgB,CAAC,GAAG2oB,GAAX,EAAgB;AACd,QAAImlI,SAAS,GAAGxC,GAAG,CAACtrJ,CAAD,CAAnB;AACA,QAAI+tJ,SAAS,GAAG,IAAhB;AACA,QAAIC,gBAAgB,GAAIF,SAAS,GAAG,IAAb,GAAqB,CAArB,GAClBA,SAAS,GAAG,IAAb,GAAqB,CAArB,GACCA,SAAS,GAAG,IAAb,GAAqB,CAArB,GACA,CAHJ;;AAKA,QAAI9tJ,CAAC,GAAGguJ,gBAAJ,IAAwBrlI,GAA5B,EAAiC;AAC/B,UAAIslI,UAAJ,EAAgBC,SAAhB,EAA2BC,UAA3B,EAAuCC,aAAvC;;AAEA,cAAQJ,gBAAR;AACE,aAAK,CAAL;AACE,cAAIF,SAAS,GAAG,IAAhB,EAAsB;AACpBC,qBAAS,GAAGD,SAAZ;AACD;;AACD;;AACF,aAAK,CAAL;AACEG,oBAAU,GAAG3C,GAAG,CAACtrJ,CAAC,GAAG,CAAL,CAAhB;;AACA,cAAI,CAACiuJ,UAAU,GAAG,IAAd,MAAwB,IAA5B,EAAkC;AAChCG,yBAAa,GAAG,CAACN,SAAS,GAAG,IAAb,KAAsB,GAAtB,GAA6BG,UAAU,GAAG,IAA1D;;AACA,gBAAIG,aAAa,GAAG,IAApB,EAA0B;AACxBL,uBAAS,GAAGK,aAAZ;AACD;AACF;;AACD;;AACF,aAAK,CAAL;AACEH,oBAAU,GAAG3C,GAAG,CAACtrJ,CAAC,GAAG,CAAL,CAAhB;AACAkuJ,mBAAS,GAAG5C,GAAG,CAACtrJ,CAAC,GAAG,CAAL,CAAf;;AACA,cAAI,CAACiuJ,UAAU,GAAG,IAAd,MAAwB,IAAxB,IAAgC,CAACC,SAAS,GAAG,IAAb,MAAuB,IAA3D,EAAiE;AAC/DE,yBAAa,GAAG,CAACN,SAAS,GAAG,GAAb,KAAqB,GAArB,GAA2B,CAACG,UAAU,GAAG,IAAd,KAAuB,GAAlD,GAAyDC,SAAS,GAAG,IAArF;;AACA,gBAAIE,aAAa,GAAG,KAAhB,KAA0BA,aAAa,GAAG,MAAhB,IAA0BA,aAAa,GAAG,MAApE,CAAJ,EAAiF;AAC/EL,uBAAS,GAAGK,aAAZ;AACD;AACF;;AACD;;AACF,aAAK,CAAL;AACEH,oBAAU,GAAG3C,GAAG,CAACtrJ,CAAC,GAAG,CAAL,CAAhB;AACAkuJ,mBAAS,GAAG5C,GAAG,CAACtrJ,CAAC,GAAG,CAAL,CAAf;AACAmuJ,oBAAU,GAAG7C,GAAG,CAACtrJ,CAAC,GAAG,CAAL,CAAhB;;AACA,cAAI,CAACiuJ,UAAU,GAAG,IAAd,MAAwB,IAAxB,IAAgC,CAACC,SAAS,GAAG,IAAb,MAAuB,IAAvD,IAA+D,CAACC,UAAU,GAAG,IAAd,MAAwB,IAA3F,EAAiG;AAC/FC,yBAAa,GAAG,CAACN,SAAS,GAAG,GAAb,KAAqB,IAArB,GAA4B,CAACG,UAAU,GAAG,IAAd,KAAuB,GAAnD,GAAyD,CAACC,SAAS,GAAG,IAAb,KAAsB,GAA/E,GAAsFC,UAAU,GAAG,IAAnH;;AACA,gBAAIC,aAAa,GAAG,MAAhB,IAA0BA,aAAa,GAAG,QAA9C,EAAwD;AACtDL,uBAAS,GAAGK,aAAZ;AACD;AACF;;AAlCL;AAoCD;;AAED,QAAIL,SAAS,KAAK,IAAlB,EAAwB;AACtB;AACA;AACAA,eAAS,GAAG,MAAZ;AACAC,sBAAgB,GAAG,CAAnB;AACD,KALD,MAKO,IAAID,SAAS,GAAG,MAAhB,EAAwB;AAC7B;AACAA,eAAS,IAAI,OAAb;AACAF,SAAG,CAACrrJ,IAAJ,CAASurJ,SAAS,KAAK,EAAd,GAAmB,KAAnB,GAA2B,MAApC;AACAA,eAAS,GAAG,SAASA,SAAS,GAAG,KAAjC;AACD;;AAEDF,OAAG,CAACrrJ,IAAJ,CAASurJ,SAAT;AACA/tJ,KAAC,IAAIguJ,gBAAL;AACD;;AAED,SAAOK,qBAAqB,CAACR,GAAD,CAA5B;AACD,C,CAED;AACA;AACA;;;AACA,IAAIS,oBAAoB,GAAG,MAA3B;;AAEA,SAASD,qBAAT,CAAgCE,UAAhC,EAA4C;AAC1C,MAAI9lI,GAAG,GAAG8lI,UAAU,CAACpsJ,MAArB;;AACA,MAAIsmB,GAAG,IAAI6lI,oBAAX,EAAiC;AAC/B,WAAO7gI,MAAM,CAACC,YAAP,CAAoB/oB,KAApB,CAA0B8oB,MAA1B,EAAkC8gI,UAAlC,CAAP,CAD+B,CACsB;AACtD,GAJyC,CAM1C;;;AACA,MAAIV,GAAG,GAAG,EAAV;AACA,MAAI7tJ,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGyoB,GAAX,EAAgB;AACdolI,OAAG,IAAIpgI,MAAM,CAACC,YAAP,CAAoB/oB,KAApB,CACL8oB,MADK,EAEL8gI,UAAU,CAAC30I,KAAX,CAAiB5Z,CAAjB,EAAoBA,CAAC,IAAIsuJ,oBAAzB,CAFK,CAAP;AAID;;AACD,SAAOT,GAAP;AACD;;AAED,SAAShC,UAAT,CAAqBP,GAArB,EAA0B7qI,KAA1B,EAAiCkI,GAAjC,EAAsC;AACpC,MAAIZ,GAAG,GAAG,EAAV;AACAY,KAAG,GAAG/I,IAAI,CAACE,GAAL,CAASwrI,GAAG,CAACnpJ,MAAb,EAAqBwmB,GAArB,CAAN;;AAEA,OAAK,IAAI3oB,CAAC,GAAGygB,KAAb,EAAoBzgB,CAAC,GAAG2oB,GAAxB,EAA6B,EAAE3oB,CAA/B,EAAkC;AAChC+nB,OAAG,IAAI0F,MAAM,CAACC,YAAP,CAAoB49H,GAAG,CAACtrJ,CAAD,CAAH,GAAS,IAA7B,CAAP;AACD;;AACD,SAAO+nB,GAAP;AACD;;AAED,SAAS+jI,WAAT,CAAsBR,GAAtB,EAA2B7qI,KAA3B,EAAkCkI,GAAlC,EAAuC;AACrC,MAAIZ,GAAG,GAAG,EAAV;AACAY,KAAG,GAAG/I,IAAI,CAACE,GAAL,CAASwrI,GAAG,CAACnpJ,MAAb,EAAqBwmB,GAArB,CAAN;;AAEA,OAAK,IAAI3oB,CAAC,GAAGygB,KAAb,EAAoBzgB,CAAC,GAAG2oB,GAAxB,EAA6B,EAAE3oB,CAA/B,EAAkC;AAChC+nB,OAAG,IAAI0F,MAAM,CAACC,YAAP,CAAoB49H,GAAG,CAACtrJ,CAAD,CAAvB,CAAP;AACD;;AACD,SAAO+nB,GAAP;AACD;;AAED,SAAS4jI,QAAT,CAAmBL,GAAnB,EAAwB7qI,KAAxB,EAA+BkI,GAA/B,EAAoC;AAClC,MAAIF,GAAG,GAAG6iI,GAAG,CAACnpJ,MAAd;AAEA,MAAI,CAACse,KAAD,IAAUA,KAAK,GAAG,CAAtB,EAAyBA,KAAK,GAAG,CAAR;AACzB,MAAI,CAACkI,GAAD,IAAQA,GAAG,GAAG,CAAd,IAAmBA,GAAG,GAAGF,GAA7B,EAAkCE,GAAG,GAAGF,GAAN;AAElC,MAAI+lI,GAAG,GAAG,EAAV;;AACA,OAAK,IAAIxuJ,CAAC,GAAGygB,KAAb,EAAoBzgB,CAAC,GAAG2oB,GAAxB,EAA6B,EAAE3oB,CAA/B,EAAkC;AAChCwuJ,OAAG,IAAIC,KAAK,CAACnD,GAAG,CAACtrJ,CAAD,CAAJ,CAAZ;AACD;;AACD,SAAOwuJ,GAAP;AACD;;AAED,SAASxC,YAAT,CAAuBV,GAAvB,EAA4B7qI,KAA5B,EAAmCkI,GAAnC,EAAwC;AACtC,MAAIk0G,KAAK,GAAGyuB,GAAG,CAAC1xI,KAAJ,CAAU6G,KAAV,EAAiBkI,GAAjB,CAAZ;AACA,MAAIklI,GAAG,GAAG,EAAV;;AACA,OAAK,IAAI7tJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG68H,KAAK,CAAC16H,MAA1B,EAAkCnC,CAAC,IAAI,CAAvC,EAA0C;AACxC6tJ,OAAG,IAAIpgI,MAAM,CAACC,YAAP,CAAoBmvG,KAAK,CAAC78H,CAAD,CAAL,GAAW68H,KAAK,CAAC78H,CAAC,GAAG,CAAL,CAAL,GAAe,GAA9C,CAAP;AACD;;AACD,SAAO6tJ,GAAP;AACD;;AAEDt6C,MAAM,CAACv6F,SAAP,CAAiBY,KAAjB,GAAyB,SAASA,KAAT,CAAgB6G,KAAhB,EAAuBkI,GAAvB,EAA4B;AACnD,MAAIF,GAAG,GAAG,KAAKtmB,MAAf;AACAse,OAAK,GAAG,CAAC,CAACA,KAAV;AACAkI,KAAG,GAAGA,GAAG,KAAKjlB,SAAR,GAAoB+kB,GAApB,GAA0B,CAAC,CAACE,GAAlC;;AAEA,MAAIlI,KAAK,GAAG,CAAZ,EAAe;AACbA,SAAK,IAAIgI,GAAT;AACA,QAAIhI,KAAK,GAAG,CAAZ,EAAeA,KAAK,GAAG,CAAR;AAChB,GAHD,MAGO,IAAIA,KAAK,GAAGgI,GAAZ,EAAiB;AACtBhI,SAAK,GAAGgI,GAAR;AACD;;AAED,MAAIE,GAAG,GAAG,CAAV,EAAa;AACXA,OAAG,IAAIF,GAAP;AACA,QAAIE,GAAG,GAAG,CAAV,EAAaA,GAAG,GAAG,CAAN;AACd,GAHD,MAGO,IAAIA,GAAG,GAAGF,GAAV,EAAe;AACpBE,OAAG,GAAGF,GAAN;AACD;;AAED,MAAIE,GAAG,GAAGlI,KAAV,EAAiBkI,GAAG,GAAGlI,KAAN;AAEjB,MAAIiuI,MAAJ;;AACA,MAAIn7C,MAAM,CAACu2C,mBAAX,EAAgC;AAC9B4E,UAAM,GAAG,KAAKhoC,QAAL,CAAcjmG,KAAd,EAAqBkI,GAArB,CAAT;AACA+lI,UAAM,CAAChsF,SAAP,GAAmB6wC,MAAM,CAACv6F,SAA1B;AACD,GAHD,MAGO;AACL,QAAI21I,QAAQ,GAAGhmI,GAAG,GAAGlI,KAArB;AACAiuI,UAAM,GAAG,IAAIn7C,MAAJ,CAAWo7C,QAAX,EAAqBjrJ,SAArB,CAAT;;AACA,SAAK,IAAI1D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2uJ,QAApB,EAA8B,EAAE3uJ,CAAhC,EAAmC;AACjC0uJ,YAAM,CAAC1uJ,CAAD,CAAN,GAAY,KAAKA,CAAC,GAAGygB,KAAT,CAAZ;AACD;AACF;;AAED,SAAOiuI,MAAP;AACD,CAlCD;AAoCA;AACA;AACA;;;AACA,SAASE,WAAT,CAAsB37I,MAAtB,EAA8B47I,GAA9B,EAAmC1sJ,MAAnC,EAA2C;AACzC,MAAK8Q,MAAM,GAAG,CAAV,KAAiB,CAAjB,IAAsBA,MAAM,GAAG,CAAnC,EAAsC,MAAM,IAAIk3I,UAAJ,CAAe,oBAAf,CAAN;AACtC,MAAIl3I,MAAM,GAAG47I,GAAT,GAAe1sJ,MAAnB,EAA2B,MAAM,IAAIgoJ,UAAJ,CAAe,uCAAf,CAAN;AAC5B;;AAED52C,MAAM,CAACv6F,SAAP,CAAiB81I,UAAjB,GAA8B,SAASA,UAAT,CAAqB77I,MAArB,EAA6BmzG,UAA7B,EAAyC2oC,QAAzC,EAAmD;AAC/E97I,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACAmzG,YAAU,GAAGA,UAAU,GAAG,CAA1B;AACA,MAAI,CAAC2oC,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAASmzG,UAAT,EAAqB,KAAKjkH,MAA1B,CAAX;AAEf,MAAI4kB,GAAG,GAAG,KAAK9T,MAAL,CAAV;AACA,MAAI+7I,GAAG,GAAG,CAAV;AACA,MAAIhvJ,CAAC,GAAG,CAAR;;AACA,SAAO,EAAEA,CAAF,GAAMomH,UAAN,KAAqB4oC,GAAG,IAAI,KAA5B,CAAP,EAA2C;AACzCjoI,OAAG,IAAI,KAAK9T,MAAM,GAAGjT,CAAd,IAAmBgvJ,GAA1B;AACD;;AAED,SAAOjoI,GAAP;AACD,CAbD;;AAeAwsF,MAAM,CAACv6F,SAAP,CAAiBi2I,UAAjB,GAA8B,SAASA,UAAT,CAAqBh8I,MAArB,EAA6BmzG,UAA7B,EAAyC2oC,QAAzC,EAAmD;AAC/E97I,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACAmzG,YAAU,GAAGA,UAAU,GAAG,CAA1B;;AACA,MAAI,CAAC2oC,QAAL,EAAe;AACbH,eAAW,CAAC37I,MAAD,EAASmzG,UAAT,EAAqB,KAAKjkH,MAA1B,CAAX;AACD;;AAED,MAAI4kB,GAAG,GAAG,KAAK9T,MAAM,GAAG,EAAEmzG,UAAhB,CAAV;AACA,MAAI4oC,GAAG,GAAG,CAAV;;AACA,SAAO5oC,UAAU,GAAG,CAAb,KAAmB4oC,GAAG,IAAI,KAA1B,CAAP,EAAyC;AACvCjoI,OAAG,IAAI,KAAK9T,MAAM,GAAG,EAAEmzG,UAAhB,IAA8B4oC,GAArC;AACD;;AAED,SAAOjoI,GAAP;AACD,CAdD;;AAgBAwsF,MAAM,CAACv6F,SAAP,CAAiBk2I,SAAjB,GAA6B,SAASA,SAAT,CAAoBj8I,MAApB,EAA4B87I,QAA5B,EAAsC;AACjE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AACf,SAAO,KAAK8Q,MAAL,CAAP;AACD,CAHD;;AAKAsgG,MAAM,CAACv6F,SAAP,CAAiBm2I,YAAjB,GAAgC,SAASA,YAAT,CAAuBl8I,MAAvB,EAA+B87I,QAA/B,EAAyC;AACvE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AACf,SAAO,KAAK8Q,MAAL,IAAgB,KAAKA,MAAM,GAAG,CAAd,KAAoB,CAA3C;AACD,CAHD;;AAKAsgG,MAAM,CAACv6F,SAAP,CAAiB8zI,YAAjB,GAAgC,SAASA,YAAT,CAAuB75I,MAAvB,EAA+B87I,QAA/B,EAAyC;AACvE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AACf,SAAQ,KAAK8Q,MAAL,KAAgB,CAAjB,GAAsB,KAAKA,MAAM,GAAG,CAAd,CAA7B;AACD,CAHD;;AAKAsgG,MAAM,CAACv6F,SAAP,CAAiBo2I,YAAjB,GAAgC,SAASA,YAAT,CAAuBn8I,MAAvB,EAA+B87I,QAA/B,EAAyC;AACvE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AAEf,SAAO,CAAE,KAAK8Q,MAAL,CAAD,GACH,KAAKA,MAAM,GAAG,CAAd,KAAoB,CADjB,GAEH,KAAKA,MAAM,GAAG,CAAd,KAAoB,EAFlB,IAGF,KAAKA,MAAM,GAAG,CAAd,IAAmB,SAHxB;AAID,CAPD;;AASAsgG,MAAM,CAACv6F,SAAP,CAAiBq2I,YAAjB,GAAgC,SAASA,YAAT,CAAuBp8I,MAAvB,EAA+B87I,QAA/B,EAAyC;AACvE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AAEf,SAAQ,KAAK8Q,MAAL,IAAe,SAAhB,IACH,KAAKA,MAAM,GAAG,CAAd,KAAoB,EAArB,GACA,KAAKA,MAAM,GAAG,CAAd,KAAoB,CADpB,GAED,KAAKA,MAAM,GAAG,CAAd,CAHK,CAAP;AAID,CAPD;;AASAsgG,MAAM,CAACv6F,SAAP,CAAiBs2I,SAAjB,GAA6B,SAASA,SAAT,CAAoBr8I,MAApB,EAA4BmzG,UAA5B,EAAwC2oC,QAAxC,EAAkD;AAC7E97I,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACAmzG,YAAU,GAAGA,UAAU,GAAG,CAA1B;AACA,MAAI,CAAC2oC,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAASmzG,UAAT,EAAqB,KAAKjkH,MAA1B,CAAX;AAEf,MAAI4kB,GAAG,GAAG,KAAK9T,MAAL,CAAV;AACA,MAAI+7I,GAAG,GAAG,CAAV;AACA,MAAIhvJ,CAAC,GAAG,CAAR;;AACA,SAAO,EAAEA,CAAF,GAAMomH,UAAN,KAAqB4oC,GAAG,IAAI,KAA5B,CAAP,EAA2C;AACzCjoI,OAAG,IAAI,KAAK9T,MAAM,GAAGjT,CAAd,IAAmBgvJ,GAA1B;AACD;;AACDA,KAAG,IAAI,IAAP;AAEA,MAAIjoI,GAAG,IAAIioI,GAAX,EAAgBjoI,GAAG,IAAInH,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY,IAAI7F,UAAhB,CAAP;AAEhB,SAAOr/F,GAAP;AACD,CAhBD;;AAkBAwsF,MAAM,CAACv6F,SAAP,CAAiBu2I,SAAjB,GAA6B,SAASA,SAAT,CAAoBt8I,MAApB,EAA4BmzG,UAA5B,EAAwC2oC,QAAxC,EAAkD;AAC7E97I,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACAmzG,YAAU,GAAGA,UAAU,GAAG,CAA1B;AACA,MAAI,CAAC2oC,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAASmzG,UAAT,EAAqB,KAAKjkH,MAA1B,CAAX;AAEf,MAAInC,CAAC,GAAGomH,UAAR;AACA,MAAI4oC,GAAG,GAAG,CAAV;AACA,MAAIjoI,GAAG,GAAG,KAAK9T,MAAM,GAAG,EAAEjT,CAAhB,CAAV;;AACA,SAAOA,CAAC,GAAG,CAAJ,KAAUgvJ,GAAG,IAAI,KAAjB,CAAP,EAAgC;AAC9BjoI,OAAG,IAAI,KAAK9T,MAAM,GAAG,EAAEjT,CAAhB,IAAqBgvJ,GAA5B;AACD;;AACDA,KAAG,IAAI,IAAP;AAEA,MAAIjoI,GAAG,IAAIioI,GAAX,EAAgBjoI,GAAG,IAAInH,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY,IAAI7F,UAAhB,CAAP;AAEhB,SAAOr/F,GAAP;AACD,CAhBD;;AAkBAwsF,MAAM,CAACv6F,SAAP,CAAiBw2I,QAAjB,GAA4B,SAASA,QAAT,CAAmBv8I,MAAnB,EAA2B87I,QAA3B,EAAqC;AAC/D,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AACf,MAAI,EAAE,KAAK8Q,MAAL,IAAe,IAAjB,CAAJ,EAA4B,OAAQ,KAAKA,MAAL,CAAR;AAC5B,SAAQ,CAAC,OAAO,KAAKA,MAAL,CAAP,GAAsB,CAAvB,IAA4B,CAAC,CAArC;AACD,CAJD;;AAMAsgG,MAAM,CAACv6F,SAAP,CAAiBy2I,WAAjB,GAA+B,SAASA,WAAT,CAAsBx8I,MAAtB,EAA8B87I,QAA9B,EAAwC;AACrE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AACf,MAAI4kB,GAAG,GAAG,KAAK9T,MAAL,IAAgB,KAAKA,MAAM,GAAG,CAAd,KAAoB,CAA9C;AACA,SAAQ8T,GAAG,GAAG,MAAP,GAAiBA,GAAG,GAAG,UAAvB,GAAoCA,GAA3C;AACD,CAJD;;AAMAwsF,MAAM,CAACv6F,SAAP,CAAiB02I,WAAjB,GAA+B,SAASA,WAAT,CAAsBz8I,MAAtB,EAA8B87I,QAA9B,EAAwC;AACrE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AACf,MAAI4kB,GAAG,GAAG,KAAK9T,MAAM,GAAG,CAAd,IAAoB,KAAKA,MAAL,KAAgB,CAA9C;AACA,SAAQ8T,GAAG,GAAG,MAAP,GAAiBA,GAAG,GAAG,UAAvB,GAAoCA,GAA3C;AACD,CAJD;;AAMAwsF,MAAM,CAACv6F,SAAP,CAAiB22I,WAAjB,GAA+B,SAASA,WAAT,CAAsB18I,MAAtB,EAA8B87I,QAA9B,EAAwC;AACrE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AAEf,SAAQ,KAAK8Q,MAAL,CAAD,GACJ,KAAKA,MAAM,GAAG,CAAd,KAAoB,CADhB,GAEJ,KAAKA,MAAM,GAAG,CAAd,KAAoB,EAFhB,GAGJ,KAAKA,MAAM,GAAG,CAAd,KAAoB,EAHvB;AAID,CAPD;;AASAsgG,MAAM,CAACv6F,SAAP,CAAiB42I,WAAjB,GAA+B,SAASA,WAAT,CAAsB38I,MAAtB,EAA8B87I,QAA9B,EAAwC;AACrE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AAEf,SAAQ,KAAK8Q,MAAL,KAAgB,EAAjB,GACJ,KAAKA,MAAM,GAAG,CAAd,KAAoB,EADhB,GAEJ,KAAKA,MAAM,GAAG,CAAd,KAAoB,CAFhB,GAGJ,KAAKA,MAAM,GAAG,CAAd,CAHH;AAID,CAPD;;AASAsgG,MAAM,CAACv6F,SAAP,CAAiB62I,WAAjB,GAA+B,SAASA,WAAT,CAAsB58I,MAAtB,EAA8B87I,QAA9B,EAAwC;AACrE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AACf,SAAOwnJ,OAAO,CAAChE,IAAR,CAAa,IAAb,EAAmB1yI,MAAnB,EAA2B,IAA3B,EAAiC,EAAjC,EAAqC,CAArC,CAAP;AACD,CAHD;;AAKAsgG,MAAM,CAACv6F,SAAP,CAAiB82I,WAAjB,GAA+B,SAASA,WAAT,CAAsB78I,MAAtB,EAA8B87I,QAA9B,EAAwC;AACrE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AACf,SAAOwnJ,OAAO,CAAChE,IAAR,CAAa,IAAb,EAAmB1yI,MAAnB,EAA2B,KAA3B,EAAkC,EAAlC,EAAsC,CAAtC,CAAP;AACD,CAHD;;AAKAsgG,MAAM,CAACv6F,SAAP,CAAiB+2I,YAAjB,GAAgC,SAASA,YAAT,CAAuB98I,MAAvB,EAA+B87I,QAA/B,EAAyC;AACvE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AACf,SAAOwnJ,OAAO,CAAChE,IAAR,CAAa,IAAb,EAAmB1yI,MAAnB,EAA2B,IAA3B,EAAiC,EAAjC,EAAqC,CAArC,CAAP;AACD,CAHD;;AAKAsgG,MAAM,CAACv6F,SAAP,CAAiBg3I,YAAjB,GAAgC,SAASA,YAAT,CAAuB/8I,MAAvB,EAA+B87I,QAA/B,EAAyC;AACvE,MAAI,CAACA,QAAL,EAAeH,WAAW,CAAC37I,MAAD,EAAS,CAAT,EAAY,KAAK9Q,MAAjB,CAAX;AACf,SAAOwnJ,OAAO,CAAChE,IAAR,CAAa,IAAb,EAAmB1yI,MAAnB,EAA2B,KAA3B,EAAkC,EAAlC,EAAsC,CAAtC,CAAP;AACD,CAHD;;AAKA,SAASg9I,QAAT,CAAmB3E,GAAnB,EAAwBhnI,KAAxB,EAA+BrR,MAA/B,EAAuC47I,GAAvC,EAA4ChvI,GAA5C,EAAiDC,GAAjD,EAAsD;AACpD,MAAI,CAACyzF,MAAM,CAAC43C,QAAP,CAAgBG,GAAhB,CAAL,EAA2B,MAAM,IAAI9tH,SAAJ,CAAc,6CAAd,CAAN;AAC3B,MAAIlZ,KAAK,GAAGzE,GAAR,IAAeyE,KAAK,GAAGxE,GAA3B,EAAgC,MAAM,IAAIqqI,UAAJ,CAAe,mCAAf,CAAN;AAChC,MAAIl3I,MAAM,GAAG47I,GAAT,GAAevD,GAAG,CAACnpJ,MAAvB,EAA+B,MAAM,IAAIgoJ,UAAJ,CAAe,oBAAf,CAAN;AAChC;;AAED52C,MAAM,CAACv6F,SAAP,CAAiBk3I,WAAjB,GAA+B,SAASA,WAAT,CAAsB5rI,KAAtB,EAA6BrR,MAA7B,EAAqCmzG,UAArC,EAAiD2oC,QAAjD,EAA2D;AACxFzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACAmzG,YAAU,GAAGA,UAAU,GAAG,CAA1B;;AACA,MAAI,CAAC2oC,QAAL,EAAe;AACb,QAAIoB,QAAQ,GAAGvwI,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY,IAAI7F,UAAhB,IAA8B,CAA7C;AACA6pC,YAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsBmzG,UAAtB,EAAkC+pC,QAAlC,EAA4C,CAA5C,CAAR;AACD;;AAED,MAAInB,GAAG,GAAG,CAAV;AACA,MAAIhvJ,CAAC,GAAG,CAAR;AACA,OAAKiT,MAAL,IAAeqR,KAAK,GAAG,IAAvB;;AACA,SAAO,EAAEtkB,CAAF,GAAMomH,UAAN,KAAqB4oC,GAAG,IAAI,KAA5B,CAAP,EAA2C;AACzC,SAAK/7I,MAAM,GAAGjT,CAAd,IAAoBskB,KAAK,GAAG0qI,GAAT,GAAgB,IAAnC;AACD;;AAED,SAAO/7I,MAAM,GAAGmzG,UAAhB;AACD,CAjBD;;AAmBA7S,MAAM,CAACv6F,SAAP,CAAiBo3I,WAAjB,GAA+B,SAASA,WAAT,CAAsB9rI,KAAtB,EAA6BrR,MAA7B,EAAqCmzG,UAArC,EAAiD2oC,QAAjD,EAA2D;AACxFzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACAmzG,YAAU,GAAGA,UAAU,GAAG,CAA1B;;AACA,MAAI,CAAC2oC,QAAL,EAAe;AACb,QAAIoB,QAAQ,GAAGvwI,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY,IAAI7F,UAAhB,IAA8B,CAA7C;AACA6pC,YAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsBmzG,UAAtB,EAAkC+pC,QAAlC,EAA4C,CAA5C,CAAR;AACD;;AAED,MAAInwJ,CAAC,GAAGomH,UAAU,GAAG,CAArB;AACA,MAAI4oC,GAAG,GAAG,CAAV;AACA,OAAK/7I,MAAM,GAAGjT,CAAd,IAAmBskB,KAAK,GAAG,IAA3B;;AACA,SAAO,EAAEtkB,CAAF,IAAO,CAAP,KAAagvJ,GAAG,IAAI,KAApB,CAAP,EAAmC;AACjC,SAAK/7I,MAAM,GAAGjT,CAAd,IAAoBskB,KAAK,GAAG0qI,GAAT,GAAgB,IAAnC;AACD;;AAED,SAAO/7I,MAAM,GAAGmzG,UAAhB;AACD,CAjBD;;AAmBA7S,MAAM,CAACv6F,SAAP,CAAiBq3I,UAAjB,GAA8B,SAASA,UAAT,CAAqB/rI,KAArB,EAA4BrR,MAA5B,EAAoC87I,QAApC,EAA8C;AAC1EzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACA,MAAI,CAAC87I,QAAL,EAAekB,QAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAA/B,CAAR;AACf,MAAI,CAACsgG,MAAM,CAACu2C,mBAAZ,EAAiCxlI,KAAK,GAAG1E,IAAI,CAACuE,KAAL,CAAWG,KAAX,CAAR;AACjC,OAAKrR,MAAL,IAAgBqR,KAAK,GAAG,IAAxB;AACA,SAAOrR,MAAM,GAAG,CAAhB;AACD,CAPD;;AASA,SAASq9I,iBAAT,CAA4BhF,GAA5B,EAAiChnI,KAAjC,EAAwCrR,MAAxC,EAAgDs9I,YAAhD,EAA8D;AAC5D,MAAIjsI,KAAK,GAAG,CAAZ,EAAeA,KAAK,GAAG,SAASA,KAAT,GAAiB,CAAzB;;AACf,OAAK,IAAItkB,CAAC,GAAG,CAAR,EAAW0oB,CAAC,GAAG9I,IAAI,CAACE,GAAL,CAASwrI,GAAG,CAACnpJ,MAAJ,GAAa8Q,MAAtB,EAA8B,CAA9B,CAApB,EAAsDjT,CAAC,GAAG0oB,CAA1D,EAA6D,EAAE1oB,CAA/D,EAAkE;AAChEsrJ,OAAG,CAACr4I,MAAM,GAAGjT,CAAV,CAAH,GAAkB,CAACskB,KAAK,GAAI,QAAS,KAAKisI,YAAY,GAAGvwJ,CAAH,GAAO,IAAIA,CAA5B,CAAnB,MAChB,CAACuwJ,YAAY,GAAGvwJ,CAAH,GAAO,IAAIA,CAAxB,IAA6B,CAD/B;AAED;AACF;;AAEDuzG,MAAM,CAACv6F,SAAP,CAAiBw3I,aAAjB,GAAiC,SAASA,aAAT,CAAwBlsI,KAAxB,EAA+BrR,MAA/B,EAAuC87I,QAAvC,EAAiD;AAChFzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACA,MAAI,CAAC87I,QAAL,EAAekB,QAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC,CAAR;;AACf,MAAIsgG,MAAM,CAACu2C,mBAAX,EAAgC;AAC9B,SAAK72I,MAAL,IAAgBqR,KAAK,GAAG,IAAxB;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,CAA9B;AACD,GAHD,MAGO;AACLgsI,qBAAiB,CAAC,IAAD,EAAOhsI,KAAP,EAAcrR,MAAd,EAAsB,IAAtB,CAAjB;AACD;;AACD,SAAOA,MAAM,GAAG,CAAhB;AACD,CAXD;;AAaAsgG,MAAM,CAACv6F,SAAP,CAAiBy3I,aAAjB,GAAiC,SAASA,aAAT,CAAwBnsI,KAAxB,EAA+BrR,MAA/B,EAAuC87I,QAAvC,EAAiD;AAChFzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACA,MAAI,CAAC87I,QAAL,EAAekB,QAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC,CAAR;;AACf,MAAIsgG,MAAM,CAACu2C,mBAAX,EAAgC;AAC9B,SAAK72I,MAAL,IAAgBqR,KAAK,KAAK,CAA1B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,GAAG,IAA5B;AACD,GAHD,MAGO;AACLgsI,qBAAiB,CAAC,IAAD,EAAOhsI,KAAP,EAAcrR,MAAd,EAAsB,KAAtB,CAAjB;AACD;;AACD,SAAOA,MAAM,GAAG,CAAhB;AACD,CAXD;;AAaA,SAASy9I,iBAAT,CAA4BpF,GAA5B,EAAiChnI,KAAjC,EAAwCrR,MAAxC,EAAgDs9I,YAAhD,EAA8D;AAC5D,MAAIjsI,KAAK,GAAG,CAAZ,EAAeA,KAAK,GAAG,aAAaA,KAAb,GAAqB,CAA7B;;AACf,OAAK,IAAItkB,CAAC,GAAG,CAAR,EAAW0oB,CAAC,GAAG9I,IAAI,CAACE,GAAL,CAASwrI,GAAG,CAACnpJ,MAAJ,GAAa8Q,MAAtB,EAA8B,CAA9B,CAApB,EAAsDjT,CAAC,GAAG0oB,CAA1D,EAA6D,EAAE1oB,CAA/D,EAAkE;AAChEsrJ,OAAG,CAACr4I,MAAM,GAAGjT,CAAV,CAAH,GAAmBskB,KAAK,KAAK,CAACisI,YAAY,GAAGvwJ,CAAH,GAAO,IAAIA,CAAxB,IAA6B,CAAxC,GAA6C,IAA/D;AACD;AACF;;AAEDuzG,MAAM,CAACv6F,SAAP,CAAiB23I,aAAjB,GAAiC,SAASA,aAAT,CAAwBrsI,KAAxB,EAA+BrR,MAA/B,EAAuC87I,QAAvC,EAAiD;AAChFzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACA,MAAI,CAAC87I,QAAL,EAAekB,QAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsB,CAAtB,EAAyB,UAAzB,EAAqC,CAArC,CAAR;;AACf,MAAIsgG,MAAM,CAACu2C,mBAAX,EAAgC;AAC9B,SAAK72I,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,EAA9B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,EAA9B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,CAA9B;AACA,SAAKrR,MAAL,IAAgBqR,KAAK,GAAG,IAAxB;AACD,GALD,MAKO;AACLosI,qBAAiB,CAAC,IAAD,EAAOpsI,KAAP,EAAcrR,MAAd,EAAsB,IAAtB,CAAjB;AACD;;AACD,SAAOA,MAAM,GAAG,CAAhB;AACD,CAbD;;AAeAsgG,MAAM,CAACv6F,SAAP,CAAiB43I,aAAjB,GAAiC,SAASA,aAAT,CAAwBtsI,KAAxB,EAA+BrR,MAA/B,EAAuC87I,QAAvC,EAAiD;AAChFzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACA,MAAI,CAAC87I,QAAL,EAAekB,QAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsB,CAAtB,EAAyB,UAAzB,EAAqC,CAArC,CAAR;;AACf,MAAIsgG,MAAM,CAACu2C,mBAAX,EAAgC;AAC9B,SAAK72I,MAAL,IAAgBqR,KAAK,KAAK,EAA1B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,EAA9B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,CAA9B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,GAAG,IAA5B;AACD,GALD,MAKO;AACLosI,qBAAiB,CAAC,IAAD,EAAOpsI,KAAP,EAAcrR,MAAd,EAAsB,KAAtB,CAAjB;AACD;;AACD,SAAOA,MAAM,GAAG,CAAhB;AACD,CAbD;;AAeAsgG,MAAM,CAACv6F,SAAP,CAAiB63I,UAAjB,GAA8B,SAASA,UAAT,CAAqBvsI,KAArB,EAA4BrR,MAA5B,EAAoCmzG,UAApC,EAAgD2oC,QAAhD,EAA0D;AACtFzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;;AACA,MAAI,CAAC87I,QAAL,EAAe;AACb,QAAI+B,KAAK,GAAGlxI,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY,IAAI7F,UAAJ,GAAiB,CAA7B,CAAZ;AAEA6pC,YAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsBmzG,UAAtB,EAAkC0qC,KAAK,GAAG,CAA1C,EAA6C,CAACA,KAA9C,CAAR;AACD;;AAED,MAAI9wJ,CAAC,GAAG,CAAR;AACA,MAAIgvJ,GAAG,GAAG,CAAV;AACA,MAAI+B,GAAG,GAAG,CAAV;AACA,OAAK99I,MAAL,IAAeqR,KAAK,GAAG,IAAvB;;AACA,SAAO,EAAEtkB,CAAF,GAAMomH,UAAN,KAAqB4oC,GAAG,IAAI,KAA5B,CAAP,EAA2C;AACzC,QAAI1qI,KAAK,GAAG,CAAR,IAAaysI,GAAG,KAAK,CAArB,IAA0B,KAAK99I,MAAM,GAAGjT,CAAT,GAAa,CAAlB,MAAyB,CAAvD,EAA0D;AACxD+wJ,SAAG,GAAG,CAAN;AACD;;AACD,SAAK99I,MAAM,GAAGjT,CAAd,IAAmB,CAAEskB,KAAK,GAAG0qI,GAAT,IAAiB,CAAlB,IAAuB+B,GAAvB,GAA6B,IAAhD;AACD;;AAED,SAAO99I,MAAM,GAAGmzG,UAAhB;AACD,CArBD;;AAuBA7S,MAAM,CAACv6F,SAAP,CAAiBg4I,UAAjB,GAA8B,SAASA,UAAT,CAAqB1sI,KAArB,EAA4BrR,MAA5B,EAAoCmzG,UAApC,EAAgD2oC,QAAhD,EAA0D;AACtFzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;;AACA,MAAI,CAAC87I,QAAL,EAAe;AACb,QAAI+B,KAAK,GAAGlxI,IAAI,CAACqsG,GAAL,CAAS,CAAT,EAAY,IAAI7F,UAAJ,GAAiB,CAA7B,CAAZ;AAEA6pC,YAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsBmzG,UAAtB,EAAkC0qC,KAAK,GAAG,CAA1C,EAA6C,CAACA,KAA9C,CAAR;AACD;;AAED,MAAI9wJ,CAAC,GAAGomH,UAAU,GAAG,CAArB;AACA,MAAI4oC,GAAG,GAAG,CAAV;AACA,MAAI+B,GAAG,GAAG,CAAV;AACA,OAAK99I,MAAM,GAAGjT,CAAd,IAAmBskB,KAAK,GAAG,IAA3B;;AACA,SAAO,EAAEtkB,CAAF,IAAO,CAAP,KAAagvJ,GAAG,IAAI,KAApB,CAAP,EAAmC;AACjC,QAAI1qI,KAAK,GAAG,CAAR,IAAaysI,GAAG,KAAK,CAArB,IAA0B,KAAK99I,MAAM,GAAGjT,CAAT,GAAa,CAAlB,MAAyB,CAAvD,EAA0D;AACxD+wJ,SAAG,GAAG,CAAN;AACD;;AACD,SAAK99I,MAAM,GAAGjT,CAAd,IAAmB,CAAEskB,KAAK,GAAG0qI,GAAT,IAAiB,CAAlB,IAAuB+B,GAAvB,GAA6B,IAAhD;AACD;;AAED,SAAO99I,MAAM,GAAGmzG,UAAhB;AACD,CArBD;;AAuBA7S,MAAM,CAACv6F,SAAP,CAAiBi4I,SAAjB,GAA6B,SAASA,SAAT,CAAoB3sI,KAApB,EAA2BrR,MAA3B,EAAmC87I,QAAnC,EAA6C;AACxEzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACA,MAAI,CAAC87I,QAAL,EAAekB,QAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAAC,IAAhC,CAAR;AACf,MAAI,CAACsgG,MAAM,CAACu2C,mBAAZ,EAAiCxlI,KAAK,GAAG1E,IAAI,CAACuE,KAAL,CAAWG,KAAX,CAAR;AACjC,MAAIA,KAAK,GAAG,CAAZ,EAAeA,KAAK,GAAG,OAAOA,KAAP,GAAe,CAAvB;AACf,OAAKrR,MAAL,IAAgBqR,KAAK,GAAG,IAAxB;AACA,SAAOrR,MAAM,GAAG,CAAhB;AACD,CARD;;AAUAsgG,MAAM,CAACv6F,SAAP,CAAiBk4I,YAAjB,GAAgC,SAASA,YAAT,CAAuB5sI,KAAvB,EAA8BrR,MAA9B,EAAsC87I,QAAtC,EAAgD;AAC9EzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACA,MAAI,CAAC87I,QAAL,EAAekB,QAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAC,MAAlC,CAAR;;AACf,MAAIsgG,MAAM,CAACu2C,mBAAX,EAAgC;AAC9B,SAAK72I,MAAL,IAAgBqR,KAAK,GAAG,IAAxB;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,CAA9B;AACD,GAHD,MAGO;AACLgsI,qBAAiB,CAAC,IAAD,EAAOhsI,KAAP,EAAcrR,MAAd,EAAsB,IAAtB,CAAjB;AACD;;AACD,SAAOA,MAAM,GAAG,CAAhB;AACD,CAXD;;AAaAsgG,MAAM,CAACv6F,SAAP,CAAiBm4I,YAAjB,GAAgC,SAASA,YAAT,CAAuB7sI,KAAvB,EAA8BrR,MAA9B,EAAsC87I,QAAtC,EAAgD;AAC9EzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACA,MAAI,CAAC87I,QAAL,EAAekB,QAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAC,MAAlC,CAAR;;AACf,MAAIsgG,MAAM,CAACu2C,mBAAX,EAAgC;AAC9B,SAAK72I,MAAL,IAAgBqR,KAAK,KAAK,CAA1B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,GAAG,IAA5B;AACD,GAHD,MAGO;AACLgsI,qBAAiB,CAAC,IAAD,EAAOhsI,KAAP,EAAcrR,MAAd,EAAsB,KAAtB,CAAjB;AACD;;AACD,SAAOA,MAAM,GAAG,CAAhB;AACD,CAXD;;AAaAsgG,MAAM,CAACv6F,SAAP,CAAiBo4I,YAAjB,GAAgC,SAASA,YAAT,CAAuB9sI,KAAvB,EAA8BrR,MAA9B,EAAsC87I,QAAtC,EAAgD;AAC9EzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACA,MAAI,CAAC87I,QAAL,EAAekB,QAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsB,CAAtB,EAAyB,UAAzB,EAAqC,CAAC,UAAtC,CAAR;;AACf,MAAIsgG,MAAM,CAACu2C,mBAAX,EAAgC;AAC9B,SAAK72I,MAAL,IAAgBqR,KAAK,GAAG,IAAxB;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,CAA9B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,EAA9B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,EAA9B;AACD,GALD,MAKO;AACLosI,qBAAiB,CAAC,IAAD,EAAOpsI,KAAP,EAAcrR,MAAd,EAAsB,IAAtB,CAAjB;AACD;;AACD,SAAOA,MAAM,GAAG,CAAhB;AACD,CAbD;;AAeAsgG,MAAM,CAACv6F,SAAP,CAAiBq4I,YAAjB,GAAgC,SAASA,YAAT,CAAuB/sI,KAAvB,EAA8BrR,MAA9B,EAAsC87I,QAAtC,EAAgD;AAC9EzqI,OAAK,GAAG,CAACA,KAAT;AACArR,QAAM,GAAGA,MAAM,GAAG,CAAlB;AACA,MAAI,CAAC87I,QAAL,EAAekB,QAAQ,CAAC,IAAD,EAAO3rI,KAAP,EAAcrR,MAAd,EAAsB,CAAtB,EAAyB,UAAzB,EAAqC,CAAC,UAAtC,CAAR;AACf,MAAIqR,KAAK,GAAG,CAAZ,EAAeA,KAAK,GAAG,aAAaA,KAAb,GAAqB,CAA7B;;AACf,MAAIivF,MAAM,CAACu2C,mBAAX,EAAgC;AAC9B,SAAK72I,MAAL,IAAgBqR,KAAK,KAAK,EAA1B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,EAA9B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,KAAK,CAA9B;AACA,SAAKrR,MAAM,GAAG,CAAd,IAAoBqR,KAAK,GAAG,IAA5B;AACD,GALD,MAKO;AACLosI,qBAAiB,CAAC,IAAD,EAAOpsI,KAAP,EAAcrR,MAAd,EAAsB,KAAtB,CAAjB;AACD;;AACD,SAAOA,MAAM,GAAG,CAAhB;AACD,CAdD;;AAgBA,SAASq+I,YAAT,CAAuBhG,GAAvB,EAA4BhnI,KAA5B,EAAmCrR,MAAnC,EAA2C47I,GAA3C,EAAgDhvI,GAAhD,EAAqDC,GAArD,EAA0D;AACxD,MAAI7M,MAAM,GAAG47I,GAAT,GAAevD,GAAG,CAACnpJ,MAAvB,EAA+B,MAAM,IAAIgoJ,UAAJ,CAAe,oBAAf,CAAN;AAC/B,MAAIl3I,MAAM,GAAG,CAAb,EAAgB,MAAM,IAAIk3I,UAAJ,CAAe,oBAAf,CAAN;AACjB;;AAED,SAASoH,UAAT,CAAqBjG,GAArB,EAA0BhnI,KAA1B,EAAiCrR,MAAjC,EAAyCs9I,YAAzC,EAAuDxB,QAAvD,EAAiE;AAC/D,MAAI,CAACA,QAAL,EAAe;AACbuC,gBAAY,CAAChG,GAAD,EAAMhnI,KAAN,EAAarR,MAAb,EAAqB,CAArB,EAAwB,sBAAxB,EAAgD,CAAC,sBAAjD,CAAZ;AACD;;AACD02I,SAAO,CAACl6D,KAAR,CAAc67D,GAAd,EAAmBhnI,KAAnB,EAA0BrR,MAA1B,EAAkCs9I,YAAlC,EAAgD,EAAhD,EAAoD,CAApD;AACA,SAAOt9I,MAAM,GAAG,CAAhB;AACD;;AAEDsgG,MAAM,CAACv6F,SAAP,CAAiBw4I,YAAjB,GAAgC,SAASA,YAAT,CAAuBltI,KAAvB,EAA8BrR,MAA9B,EAAsC87I,QAAtC,EAAgD;AAC9E,SAAOwC,UAAU,CAAC,IAAD,EAAOjtI,KAAP,EAAcrR,MAAd,EAAsB,IAAtB,EAA4B87I,QAA5B,CAAjB;AACD,CAFD;;AAIAx7C,MAAM,CAACv6F,SAAP,CAAiBy4I,YAAjB,GAAgC,SAASA,YAAT,CAAuBntI,KAAvB,EAA8BrR,MAA9B,EAAsC87I,QAAtC,EAAgD;AAC9E,SAAOwC,UAAU,CAAC,IAAD,EAAOjtI,KAAP,EAAcrR,MAAd,EAAsB,KAAtB,EAA6B87I,QAA7B,CAAjB;AACD,CAFD;;AAIA,SAAS2C,WAAT,CAAsBpG,GAAtB,EAA2BhnI,KAA3B,EAAkCrR,MAAlC,EAA0Cs9I,YAA1C,EAAwDxB,QAAxD,EAAkE;AAChE,MAAI,CAACA,QAAL,EAAe;AACbuC,gBAAY,CAAChG,GAAD,EAAMhnI,KAAN,EAAarR,MAAb,EAAqB,CAArB,EAAwB,uBAAxB,EAAiD,CAAC,uBAAlD,CAAZ;AACD;;AACD02I,SAAO,CAACl6D,KAAR,CAAc67D,GAAd,EAAmBhnI,KAAnB,EAA0BrR,MAA1B,EAAkCs9I,YAAlC,EAAgD,EAAhD,EAAoD,CAApD;AACA,SAAOt9I,MAAM,GAAG,CAAhB;AACD;;AAEDsgG,MAAM,CAACv6F,SAAP,CAAiB24I,aAAjB,GAAiC,SAASA,aAAT,CAAwBrtI,KAAxB,EAA+BrR,MAA/B,EAAuC87I,QAAvC,EAAiD;AAChF,SAAO2C,WAAW,CAAC,IAAD,EAAOptI,KAAP,EAAcrR,MAAd,EAAsB,IAAtB,EAA4B87I,QAA5B,CAAlB;AACD,CAFD;;AAIAx7C,MAAM,CAACv6F,SAAP,CAAiB44I,aAAjB,GAAiC,SAASA,aAAT,CAAwBttI,KAAxB,EAA+BrR,MAA/B,EAAuC87I,QAAvC,EAAiD;AAChF,SAAO2C,WAAW,CAAC,IAAD,EAAOptI,KAAP,EAAcrR,MAAd,EAAsB,KAAtB,EAA6B87I,QAA7B,CAAlB;AACD,CAFD,C,CAIA;;;AACAx7C,MAAM,CAACv6F,SAAP,CAAiB8P,IAAjB,GAAwB,SAASA,IAAT,CAAevf,MAAf,EAAuBsoJ,WAAvB,EAAoCpxI,KAApC,EAA2CkI,GAA3C,EAAgD;AACtE,MAAI,CAAClI,KAAL,EAAYA,KAAK,GAAG,CAAR;AACZ,MAAI,CAACkI,GAAD,IAAQA,GAAG,KAAK,CAApB,EAAuBA,GAAG,GAAG,KAAKxmB,MAAX;AACvB,MAAI0vJ,WAAW,IAAItoJ,MAAM,CAACpH,MAA1B,EAAkC0vJ,WAAW,GAAGtoJ,MAAM,CAACpH,MAArB;AAClC,MAAI,CAAC0vJ,WAAL,EAAkBA,WAAW,GAAG,CAAd;AAClB,MAAIlpI,GAAG,GAAG,CAAN,IAAWA,GAAG,GAAGlI,KAArB,EAA4BkI,GAAG,GAAGlI,KAAN,CAL0C,CAOtE;;AACA,MAAIkI,GAAG,KAAKlI,KAAZ,EAAmB,OAAO,CAAP;AACnB,MAAIlX,MAAM,CAACpH,MAAP,KAAkB,CAAlB,IAAuB,KAAKA,MAAL,KAAgB,CAA3C,EAA8C,OAAO,CAAP,CATwB,CAWtE;;AACA,MAAI0vJ,WAAW,GAAG,CAAlB,EAAqB;AACnB,UAAM,IAAI1H,UAAJ,CAAe,2BAAf,CAAN;AACD;;AACD,MAAI1pI,KAAK,GAAG,CAAR,IAAaA,KAAK,IAAI,KAAKte,MAA/B,EAAuC,MAAM,IAAIgoJ,UAAJ,CAAe,2BAAf,CAAN;AACvC,MAAIxhI,GAAG,GAAG,CAAV,EAAa,MAAM,IAAIwhI,UAAJ,CAAe,yBAAf,CAAN,CAhByD,CAkBtE;;AACA,MAAIxhI,GAAG,GAAG,KAAKxmB,MAAf,EAAuBwmB,GAAG,GAAG,KAAKxmB,MAAX;;AACvB,MAAIoH,MAAM,CAACpH,MAAP,GAAgB0vJ,WAAhB,GAA8BlpI,GAAG,GAAGlI,KAAxC,EAA+C;AAC7CkI,OAAG,GAAGpf,MAAM,CAACpH,MAAP,GAAgB0vJ,WAAhB,GAA8BpxI,KAApC;AACD;;AAED,MAAIgI,GAAG,GAAGE,GAAG,GAAGlI,KAAhB;AACA,MAAIzgB,CAAJ;;AAEA,MAAI,SAASuJ,MAAT,IAAmBkX,KAAK,GAAGoxI,WAA3B,IAA0CA,WAAW,GAAGlpI,GAA5D,EAAiE;AAC/D;AACA,SAAK3oB,CAAC,GAAGyoB,GAAG,GAAG,CAAf,EAAkBzoB,CAAC,IAAI,CAAvB,EAA0B,EAAEA,CAA5B,EAA+B;AAC7BuJ,YAAM,CAACvJ,CAAC,GAAG6xJ,WAAL,CAAN,GAA0B,KAAK7xJ,CAAC,GAAGygB,KAAT,CAA1B;AACD;AACF,GALD,MAKO,IAAIgI,GAAG,GAAG,IAAN,IAAc,CAAC8qF,MAAM,CAACu2C,mBAA1B,EAA+C;AACpD;AACA,SAAK9pJ,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGyoB,GAAhB,EAAqB,EAAEzoB,CAAvB,EAA0B;AACxBuJ,YAAM,CAACvJ,CAAC,GAAG6xJ,WAAL,CAAN,GAA0B,KAAK7xJ,CAAC,GAAGygB,KAAT,CAA1B;AACD;AACF,GALM,MAKA;AACL4wF,cAAU,CAACr4F,SAAX,CAAqBqnB,GAArB,CAAyBz7B,IAAzB,CACE2E,MADF,EAEE,KAAKm9G,QAAL,CAAcjmG,KAAd,EAAqBA,KAAK,GAAGgI,GAA7B,CAFF,EAGEopI,WAHF;AAKD;;AAED,SAAOppI,GAAP;AACD,CA9CD,C,CAgDA;AACA;AACA;AACA;;;AACA8qF,MAAM,CAACv6F,SAAP,CAAiBs5D,IAAjB,GAAwB,SAASA,IAAT,CAAevrD,GAAf,EAAoBtG,KAApB,EAA2BkI,GAA3B,EAAgCmiI,QAAhC,EAA0C;AAChE;AACA,MAAI,OAAO/jI,GAAP,KAAe,QAAnB,EAA6B;AAC3B,QAAI,OAAOtG,KAAP,KAAiB,QAArB,EAA+B;AAC7BqqI,cAAQ,GAAGrqI,KAAX;AACAA,WAAK,GAAG,CAAR;AACAkI,SAAG,GAAG,KAAKxmB,MAAX;AACD,KAJD,MAIO,IAAI,OAAOwmB,GAAP,KAAe,QAAnB,EAA6B;AAClCmiI,cAAQ,GAAGniI,GAAX;AACAA,SAAG,GAAG,KAAKxmB,MAAX;AACD;;AACD,QAAI4kB,GAAG,CAAC5kB,MAAJ,KAAe,CAAnB,EAAsB;AACpB,UAAIykB,IAAI,GAAGG,GAAG,CAACgH,UAAJ,CAAe,CAAf,CAAX;;AACA,UAAInH,IAAI,GAAG,GAAX,EAAgB;AACdG,WAAG,GAAGH,IAAN;AACD;AACF;;AACD,QAAIkkI,QAAQ,KAAKpnJ,SAAb,IAA0B,OAAOonJ,QAAP,KAAoB,QAAlD,EAA4D;AAC1D,YAAM,IAAIttH,SAAJ,CAAc,2BAAd,CAAN;AACD;;AACD,QAAI,OAAOstH,QAAP,KAAoB,QAApB,IAAgC,CAACv3C,MAAM,CAACy3C,UAAP,CAAkBF,QAAlB,CAArC,EAAkE;AAChE,YAAM,IAAIttH,SAAJ,CAAc,uBAAuBstH,QAArC,CAAN;AACD;AACF,GArBD,MAqBO,IAAI,OAAO/jI,GAAP,KAAe,QAAnB,EAA6B;AAClCA,OAAG,GAAGA,GAAG,GAAG,GAAZ;AACD,GAzB+D,CA2BhE;;;AACA,MAAItG,KAAK,GAAG,CAAR,IAAa,KAAKte,MAAL,GAAcse,KAA3B,IAAoC,KAAKte,MAAL,GAAcwmB,GAAtD,EAA2D;AACzD,UAAM,IAAIwhI,UAAJ,CAAe,oBAAf,CAAN;AACD;;AAED,MAAIxhI,GAAG,IAAIlI,KAAX,EAAkB;AAChB,WAAO,IAAP;AACD;;AAEDA,OAAK,GAAGA,KAAK,KAAK,CAAlB;AACAkI,KAAG,GAAGA,GAAG,KAAKjlB,SAAR,GAAoB,KAAKvB,MAAzB,GAAkCwmB,GAAG,KAAK,CAAhD;AAEA,MAAI,CAAC5B,GAAL,EAAUA,GAAG,GAAG,CAAN;AAEV,MAAI/mB,CAAJ;;AACA,MAAI,OAAO+mB,GAAP,KAAe,QAAnB,EAA6B;AAC3B,SAAK/mB,CAAC,GAAGygB,KAAT,EAAgBzgB,CAAC,GAAG2oB,GAApB,EAAyB,EAAE3oB,CAA3B,EAA8B;AAC5B,WAAKA,CAAL,IAAU+mB,GAAV;AACD;AACF,GAJD,MAIO;AACL,QAAI81G,KAAK,GAAGtpB,MAAM,CAAC43C,QAAP,CAAgBpkI,GAAhB,IACRA,GADQ,GAERykI,WAAW,CAAC,IAAIj4C,MAAJ,CAAWxsF,GAAX,EAAgB+jI,QAAhB,EAA0B5kI,QAA1B,EAAD,CAFf;AAGA,QAAIuC,GAAG,GAAGo0G,KAAK,CAAC16H,MAAhB;;AACA,SAAKnC,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG2oB,GAAG,GAAGlI,KAAtB,EAA6B,EAAEzgB,CAA/B,EAAkC;AAChC,WAAKA,CAAC,GAAGygB,KAAT,IAAkBo8G,KAAK,CAAC78H,CAAC,GAAGyoB,GAAL,CAAvB;AACD;AACF;;AAED,SAAO,IAAP;AACD,CAzDD,C,CA2DA;AACA;;;AAEA,IAAIqpI,iBAAiB,GAAG,oBAAxB;;AAEA,SAASC,WAAT,CAAsBvuG,GAAtB,EAA2B;AACzB;AACAA,KAAG,GAAGwuG,UAAU,CAACxuG,GAAD,CAAV,CAAgBlgD,OAAhB,CAAwBwuJ,iBAAxB,EAA2C,EAA3C,CAAN,CAFyB,CAGzB;;AACA,MAAItuG,GAAG,CAACrhD,MAAJ,GAAa,CAAjB,EAAoB,OAAO,EAAP,CAJK,CAKzB;;AACA,SAAOqhD,GAAG,CAACrhD,MAAJ,GAAa,CAAb,KAAmB,CAA1B,EAA6B;AAC3BqhD,OAAG,GAAGA,GAAG,GAAG,GAAZ;AACD;;AACD,SAAOA,GAAP;AACD;;AAED,SAASwuG,UAAT,CAAqBxuG,GAArB,EAA0B;AACxB,MAAIA,GAAG,CAACV,IAAR,EAAc,OAAOU,GAAG,CAACV,IAAJ,EAAP;AACd,SAAOU,GAAG,CAAClgD,OAAJ,CAAY,YAAZ,EAA0B,EAA1B,CAAP;AACD;;AAED,SAASmrJ,KAAT,CAAgBl1H,CAAhB,EAAmB;AACjB,MAAIA,CAAC,GAAG,EAAR,EAAY,OAAO,MAAMA,CAAC,CAACrT,QAAF,CAAW,EAAX,CAAb;AACZ,SAAOqT,CAAC,CAACrT,QAAF,CAAW,EAAX,CAAP;AACD;;AAED,SAASslI,WAAT,CAAsB1rH,MAAtB,EAA8BmyH,KAA9B,EAAqC;AACnCA,OAAK,GAAGA,KAAK,IAAIl3B,QAAjB;AACA,MAAIgzB,SAAJ;AACA,MAAI5rJ,MAAM,GAAG29B,MAAM,CAAC39B,MAApB;AACA,MAAI+vJ,aAAa,GAAG,IAApB;AACA,MAAIr1B,KAAK,GAAG,EAAZ;;AAEA,OAAK,IAAI78H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmC,MAApB,EAA4B,EAAEnC,CAA9B,EAAiC;AAC/B+tJ,aAAS,GAAGjuH,MAAM,CAAC/R,UAAP,CAAkB/tB,CAAlB,CAAZ,CAD+B,CAG/B;;AACA,QAAI+tJ,SAAS,GAAG,MAAZ,IAAsBA,SAAS,GAAG,MAAtC,EAA8C;AAC5C;AACA,UAAI,CAACmE,aAAL,EAAoB;AAClB;AACA,YAAInE,SAAS,GAAG,MAAhB,EAAwB;AACtB;AACA,cAAI,CAACkE,KAAK,IAAI,CAAV,IAAe,CAAC,CAApB,EAAuBp1B,KAAK,CAACr6H,IAAN,CAAW,IAAX,EAAiB,IAAjB,EAAuB,IAAvB;AACvB;AACD,SAJD,MAIO,IAAIxC,CAAC,GAAG,CAAJ,KAAUmC,MAAd,EAAsB;AAC3B;AACA,cAAI,CAAC8vJ,KAAK,IAAI,CAAV,IAAe,CAAC,CAApB,EAAuBp1B,KAAK,CAACr6H,IAAN,CAAW,IAAX,EAAiB,IAAjB,EAAuB,IAAvB;AACvB;AACD,SAViB,CAYlB;;;AACA0vJ,qBAAa,GAAGnE,SAAhB;AAEA;AACD,OAlB2C,CAoB5C;;;AACA,UAAIA,SAAS,GAAG,MAAhB,EAAwB;AACtB,YAAI,CAACkE,KAAK,IAAI,CAAV,IAAe,CAAC,CAApB,EAAuBp1B,KAAK,CAACr6H,IAAN,CAAW,IAAX,EAAiB,IAAjB,EAAuB,IAAvB;AACvB0vJ,qBAAa,GAAGnE,SAAhB;AACA;AACD,OAzB2C,CA2B5C;;;AACAA,eAAS,GAAG,CAACmE,aAAa,GAAG,MAAhB,IAA0B,EAA1B,GAA+BnE,SAAS,GAAG,MAA5C,IAAsD,OAAlE;AACD,KA7BD,MA6BO,IAAImE,aAAJ,EAAmB;AACxB;AACA,UAAI,CAACD,KAAK,IAAI,CAAV,IAAe,CAAC,CAApB,EAAuBp1B,KAAK,CAACr6H,IAAN,CAAW,IAAX,EAAiB,IAAjB,EAAuB,IAAvB;AACxB;;AAED0vJ,iBAAa,GAAG,IAAhB,CAtC+B,CAwC/B;;AACA,QAAInE,SAAS,GAAG,IAAhB,EAAsB;AACpB,UAAI,CAACkE,KAAK,IAAI,CAAV,IAAe,CAAnB,EAAsB;AACtBp1B,WAAK,CAACr6H,IAAN,CAAWurJ,SAAX;AACD,KAHD,MAGO,IAAIA,SAAS,GAAG,KAAhB,EAAuB;AAC5B,UAAI,CAACkE,KAAK,IAAI,CAAV,IAAe,CAAnB,EAAsB;AACtBp1B,WAAK,CAACr6H,IAAN,CACEurJ,SAAS,IAAI,GAAb,GAAmB,IADrB,EAEEA,SAAS,GAAG,IAAZ,GAAmB,IAFrB;AAID,KANM,MAMA,IAAIA,SAAS,GAAG,OAAhB,EAAyB;AAC9B,UAAI,CAACkE,KAAK,IAAI,CAAV,IAAe,CAAnB,EAAsB;AACtBp1B,WAAK,CAACr6H,IAAN,CACEurJ,SAAS,IAAI,GAAb,GAAmB,IADrB,EAEEA,SAAS,IAAI,GAAb,GAAmB,IAAnB,GAA0B,IAF5B,EAGEA,SAAS,GAAG,IAAZ,GAAmB,IAHrB;AAKD,KAPM,MAOA,IAAIA,SAAS,GAAG,QAAhB,EAA0B;AAC/B,UAAI,CAACkE,KAAK,IAAI,CAAV,IAAe,CAAnB,EAAsB;AACtBp1B,WAAK,CAACr6H,IAAN,CACEurJ,SAAS,IAAI,IAAb,GAAoB,IADtB,EAEEA,SAAS,IAAI,GAAb,GAAmB,IAAnB,GAA0B,IAF5B,EAGEA,SAAS,IAAI,GAAb,GAAmB,IAAnB,GAA0B,IAH5B,EAIEA,SAAS,GAAG,IAAZ,GAAmB,IAJrB;AAMD,KARM,MAQA;AACL,YAAM,IAAI57I,KAAJ,CAAU,oBAAV,CAAN;AACD;AACF;;AAED,SAAO0qH,KAAP;AACD;;AAED,SAAS0wB,YAAT,CAAuB/pG,GAAvB,EAA4B;AAC1B,MAAI2uG,SAAS,GAAG,EAAhB;;AACA,OAAK,IAAInyJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwjD,GAAG,CAACrhD,MAAxB,EAAgC,EAAEnC,CAAlC,EAAqC;AACnC;AACAmyJ,aAAS,CAAC3vJ,IAAV,CAAeghD,GAAG,CAACz1B,UAAJ,CAAe/tB,CAAf,IAAoB,IAAnC;AACD;;AACD,SAAOmyJ,SAAP;AACD;;AAED,SAASxE,cAAT,CAAyBnqG,GAAzB,EAA8ByuG,KAA9B,EAAqC;AACnC,MAAIxxF,CAAJ,EAAO8a,EAAP,EAAWymC,EAAX;AACA,MAAImwC,SAAS,GAAG,EAAhB;;AACA,OAAK,IAAInyJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwjD,GAAG,CAACrhD,MAAxB,EAAgC,EAAEnC,CAAlC,EAAqC;AACnC,QAAI,CAACiyJ,KAAK,IAAI,CAAV,IAAe,CAAnB,EAAsB;AAEtBxxF,KAAC,GAAGjd,GAAG,CAACz1B,UAAJ,CAAe/tB,CAAf,CAAJ;AACAu7E,MAAE,GAAG9a,CAAC,IAAI,CAAV;AACAuhD,MAAE,GAAGvhD,CAAC,GAAG,GAAT;AACA0xF,aAAS,CAAC3vJ,IAAV,CAAew/G,EAAf;AACAmwC,aAAS,CAAC3vJ,IAAV,CAAe+4E,EAAf;AACD;;AAED,SAAO42E,SAAP;AACD;;AAED,SAAS1G,aAAT,CAAwBjoG,GAAxB,EAA6B;AAC3B,SAAOkmG,MAAM,CAAClF,WAAP,CAAmBuN,WAAW,CAACvuG,GAAD,CAA9B,CAAP;AACD;;AAED,SAAS6pG,UAAT,CAAqBp7I,GAArB,EAA0BmgJ,GAA1B,EAA+Bn/I,MAA/B,EAAuC9Q,MAAvC,EAA+C;AAC7C,OAAK,IAAInC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmC,MAApB,EAA4B,EAAEnC,CAA9B,EAAiC;AAC/B,QAAKA,CAAC,GAAGiT,MAAJ,IAAcm/I,GAAG,CAACjwJ,MAAnB,IAA+BnC,CAAC,IAAIiS,GAAG,CAAC9P,MAA5C,EAAqD;AACrDiwJ,OAAG,CAACpyJ,CAAC,GAAGiT,MAAL,CAAH,GAAkBhB,GAAG,CAACjS,CAAD,CAArB;AACD;;AACD,SAAOA,CAAP;AACD;;AAED,SAASorJ,KAAT,CAAgBrkI,GAAhB,EAAqB;AACnB,SAAOA,GAAG,KAAKA,GAAf,CADmB,CACA;AACpB,C;;;;;;;;;;;;;;AC5vDD,IAAI45C,CAAJ,C,CAEA;;AACAA,CAAC,GAAI,YAAW;AACf,SAAO,IAAP;AACA,CAFG,EAAJ;;AAIA,IAAI;AACH;AACAA,GAAC,GAAGA,CAAC,IAAI,IAAIoqC,QAAJ,CAAa,aAAb,GAAT;AACA,CAHD,CAGE,OAAO9rG,CAAP,EAAU;AACX;AACA,MAAI,QAAOwC,MAAP,yCAAOA,MAAP,OAAkB,QAAtB,EAAgCk/D,CAAC,GAAGl/D,MAAJ;AAChC,C,CAED;AACA;AACA;;;AAEA3C,MAAM,CAACC,OAAP,GAAiB4hE,CAAjB,C;;;;;;;;;;;ACnBA7hE,MAAM,CAACC,OAAP,GAAiB,UAASD,MAAT,EAAiB;AACjC,MAAI,CAACA,MAAM,CAACuzJ,eAAZ,EAA6B;AAC5BvzJ,UAAM,CAACwzJ,SAAP,GAAmB,YAAW,CAAE,CAAhC;;AACAxzJ,UAAM,CAACyzJ,KAAP,GAAe,EAAf,CAF4B,CAG5B;;AACA,QAAI,CAACzzJ,MAAM,CAACod,QAAZ,EAAsBpd,MAAM,CAACod,QAAP,GAAkB,EAAlB;AACtBzW,UAAM,CAAC06B,cAAP,CAAsBrhC,MAAtB,EAA8B,QAA9B,EAAwC;AACvC+oC,gBAAU,EAAE,IAD2B;AAEvClgB,SAAG,EAAE,eAAW;AACf,eAAO7oB,MAAM,CAACu7B,CAAd;AACA;AAJsC,KAAxC;AAMA50B,UAAM,CAAC06B,cAAP,CAAsBrhC,MAAtB,EAA8B,IAA9B,EAAoC;AACnC+oC,gBAAU,EAAE,IADuB;AAEnClgB,SAAG,EAAE,eAAW;AACf,eAAO7oB,MAAM,CAACkB,CAAd;AACA;AAJkC,KAApC;AAMAlB,UAAM,CAACuzJ,eAAP,GAAyB,CAAzB;AACA;;AACD,SAAOvzJ,MAAP;AACA,CArBD,C;;;;;;;;;;;ACAA,e","file":"default/js/pageDesigner.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"../rvw_pagedesigner_core/cartridges/rvw_pagedesigner_core/cartridge/client/default/js/pageDesigner.js\");\n","'use strict';\n\nvar einsteinUtils = require('./einsteinUtils');\nvar productTile = require('./productTile');\nvar abSlider = require('./slider');\n\nmodule.exports = {};\n\n/**\n * Gets all placeholder elements, which hold einstein recommendations queries the details from the\n * einstein engine and feeds them back to the dom element\n * @param {Object} e jquery event\n * @returns {Object} jquery targets\n */\nmodule.exports.loadRecommendations = function (e) {\n var $context = $(this);\n var $recommendationTargets = $context.hasClass('.einstein-data') ? $context : $context.find('.einstein-data');\n\n return $recommendationTargets.each(function () {\n var $recTrigger = $(this);\n var data = $recTrigger.data() || {};\n var asyncUrl = data.url;\n\n einsteinUtils.getRecommendations(data, function (einsteinResponse) {\n var response = einsteinUtils.interpretResponse(data, einsteinResponse);\n\n // Add replace content URL\n $.each(response, function (i, rec) {\n if (!rec || !rec.id) return null;\n\n var pidURL = asyncUrl;\n pidURL += (pidURL.indexOf('?') === -1 ? '?' : '&') + 'pid=' + rec.id;\n $recTrigger.find('.product[data-pid=\"placeholder\"]:not([data-replace-content])')\n .first()\n .attr('data-replace-content', pidURL); //Must be attr to allow productTile.js async selector rule to catch recommendation\n });\n\n // Remove empty slides\n $recTrigger.find('.slide:has(.product[data-pid=\"placeholder\"]:not([data-replace-content]))').remove();\n\n // Prepare Slider Container\n var $sliderContainer = $recTrigger.closest('.slider-container').removeClass('delay-init');\n\n productTile.init($recTrigger.find('.product'), function (status) {\n // Re Initialize sliders to account for TileInclude Errors\n var tns = status.errors > 0 ? $sliderContainer.data('tns') : null;\n\n if (tns) {\n tns.destroy();\n tns.rebuild();\n }\n });\n\n // Initialize sliders\n abSlider.initializeSliders($sliderContainer.parent());\n });\n });\n}\n\nmodule.exports.init = function (context) {\n // Re-triggerable dom event\n $(document).off('load.einstein')\n .on('load.einstein', module.exports.loadRecommendations);\n\n context = context && 'trigger' in context ? context : $(document);\n\n return context.triggerHandler('load.einstein');\n};\n","'use strict';\n\nmodule.exports = {};\n\n/**\n * Validates and Return the cquotient namespace provided by the commerce cloud platform\n * @returns {Object} - einsteinUtils or null\n */\nmodule.exports.getEinsteinUtils = function () {\n var einsteinUtils = window.CQuotient;\n if (einsteinUtils && (typeof einsteinUtils.getCQUserId === 'function') && (typeof einsteinUtils.getCQCookieId === 'function')) {\n return einsteinUtils;\n }\n return null;\n}\n\n /**\n * Processes a recommendation tile, with an already initialized category specific anchors array\n * @param {Object} data object to carry info to CQuotient calls\n * @param {Function} callback handler function\n */\nmodule.exports.getRecommendations = function(data, callback) {\n var einsteinUtils = module.exports.getEinsteinUtils();\n\n var params = {\n userId: einsteinUtils.getCQUserId(),\n cookieId: einsteinUtils.getCQCookieId(),\n ccver: '1.01'\n };\n\n if (data.anchors && data.anchors.length > 0) {\n params.anchors = data.anchors;\n }\n\n if (einsteinUtils.getRecs) {\n einsteinUtils.getRecs(einsteinUtils.clientId, data.recommender, params, callback);\n } else {\n einsteinUtils.widgets = einsteinUtils.widgets || []; // eslint-disable-line no-param-reassign\n einsteinUtils.widgets.push({\n recommenderName: data.recommender,\n parameters: params,\n callback: callback\n });\n }\n}\n\n/**\n * Processes a response and format data structure\n * @param {Object} request object to carry info to CQuotient calls\n * @param {Object} response data returned from CQuotient calls\n * @returns {Object}\n */\nmodule.exports.interpretResponse = function (request, response) {\n return response[request.recommender].recs;\n}\n","'use strict';\n\nvar promiseChains = [null, null, null, null, null, null, null],\n promiseIndex = 0;\n\nmodule.exports = {\n selectors: {\n processing: '.processing',\n sending: '.sending'\n },\n init: function ($context = $('.product[data-replace-content], .product [data-replace-content]'), callbackfn) {\n var scope = this,\n initErrors = 0;\n\n $context\n .filter(':not(' + scope.selectors.processing + ')')\n .each(function (i, replace) {\n var $target = $(replace);\n var asyncUrl = $target.data('replace-content') || $target.attr('data-replace-content');\n var deferment = $.Deferred();\n\n if (['', null, undefined].indexOf(asyncUrl) === -1) {\n // Only track deferment if url is requestable\n $target.data('deferment', deferment);\n\n promiseChains[promiseIndex] = (promiseChains[promiseIndex] || $.when()).then(function () {\n // Seperate deferment-ness of ajax request from actual deferment to allow failures to progress current promise group\n $target.data('$xhr', $.ajax({\n url: asyncUrl,\n dataType: 'html',\n timeout: 60000,\n context: $target,\n beforeSend: function () {\n this.addClass(scope.selectors.sending.replace(/\\./gi,' '));\n },\n error: function () {\n var $slide = this.parent('.slide').add(this);\n\n $slide.eq(0).remove();\n\n initErrors++;\n },\n success: function (data) {\n // Per AJAX response populate the product tile placeholder\n this.replaceWith(data);\n //reinit tooltips for quick add to cart popover\n $('body').trigger('tooltip:init');\n },\n complete: function () {\n deferment.resolve();\n }\n }));\n\n return deferment;\n });\n\n promiseIndex = (promiseIndex + 1) % promiseChains.length;\n }\n });\n\n if (callbackfn) {\n $.when.apply($, promiseChains).then(function () {\n return callbackfn.call(null, {errors: initErrors});\n });\n }\n }\n}\n","'use strict';\n\nvar tinySlider = require('tiny-slider/src/tiny-slider');\nvar zoom = require('jquery-zoom');\nvar imagesLoaded = require('imagesloaded');\nrequire('jquery.scrollintoview');\n\nvar SiteConstants = require('constants/SiteConstants');\nvar mediumBreakpoint = SiteConstants.BreakpointSizes.md;\nvar largeBreakpoint = SiteConstants.BreakpointSizes.lg;\n\nvar abSlider = {};\n\n// Check custom attributes on slider element to get settings, falling back to defaults if not populated\nabSlider.getSliderAttributes = function($slider) {\n var attributes = new Object();\n\n // Autoplay (defaults to false)\n attributes.autoplayDelay = parseInt($slider.attr('data-slider-autoplay'));\n attributes.autoplay = isNaN(attributes.autoplayDelay) ? false : true;\n attributes.autoplayTimeout = attributes.autoplay ? attributes.autoplayDelay : 5000;\n\n // Loop (defaults to true)\n attributes.loop = $slider.attr('data-slider-loop') === 'false' ? false : true;\n\n // Number of items to show (defaults to 1 at all breakpoints)\n attributes.itemsNumber = parseInt($slider.attr('data-slider-items'));\n attributes.items = isNaN(attributes.itemsNumber) ? 1 : attributes.itemsNumber;\n attributes.itemsNumberMedium = parseInt($slider.attr('data-slider-items-md'));\n attributes.itemsMedium = isNaN(attributes.itemsNumberMedium) ? 1 : attributes.itemsNumberMedium;\n attributes.itemsNumberLarge = parseInt($slider.attr('data-slider-items-lg'));\n attributes.itemsLarge = isNaN(attributes.itemsNumberLarge) ? 1 : attributes.itemsNumberLarge;\n\n // Gutter space between items (defaults to 0px)\n attributes.gutter = parseInt($slider.attr('data-slider-gutter')) || 0;\n attributes.gutterMedium = parseInt($slider.attr('data-slider-gutter-md')) || 0;\n attributes.gutterLarge = parseInt($slider.attr('data-slider-gutter-lg')) || 0;\n\n // Slide animation speed (defaults to 300ms)\n attributes.speed = parseInt($slider.attr('data-slider-speed')) || 300;\n\n // Slide animation (defaults to standard Carousel behavior)\n attributes.mode = $slider.attr('data-slider-mode') || 'carousel';\n attributes.animateIn = $slider.attr('data-slider-animatein') || 'no-animation';\n attributes.animateOut = $slider.attr('data-slider-animateout') || 'no-animation';\n\n // Thumbnail settings (defaults to false)\n // If a selector is set for [data-slider-thumbnail container], the rest of the settings populate automatically\n var $thumbnailSlider = $($slider.attr('data-slider-thumbnail-container'));\n attributes.thumbnailContainer = $slider.attr('data-slider-thumbnail-container') || false;\n attributes.navContainer = $thumbnailSlider.length ? $thumbnailSlider.find('.slider')[0] : false;\n attributes.navAsThumbnails = attributes.navContainer === false ? false : true;\n attributes.controlsContainer = $thumbnailSlider.length ? $thumbnailSlider.find('.slider-thumbnail-controls')[0] : false;\n\n return attributes;\n}\n\n// Build parameter object to create a slider\nabSlider.getSliderParams = function($slider, slideItems) {\n var attributes = abSlider.getSliderAttributes($slider);\n var params = {\n container: $slider.find('.slider')[0],\n loop: attributes.loop,\n items: attributes.items,\n autoplay: attributes.autoplay,\n autoplayTimeout: attributes.autoplayTimeout,\n autoplayHoverPause: true,\n mode: attributes.mode,\n gutter: attributes.gutter,\n speed: attributes.speed,\n navContainer: attributes.navContainer,\n navAsThumbnails: attributes.navAsThumbnails,\n controlsContainer: attributes.controlsContainer,\n preventScrollOnTouch: 'auto', // prevents mobile errors in chrome\n responsive: {\n [mediumBreakpoint]: {\n items: attributes.itemsMedium,\n gutter: attributes.gutterMedium,\n },\n [largeBreakpoint]: {\n items: attributes.itemsLarge,\n gutter: attributes.gutterLarge,\n }\n }\n }\n\n if (slideItems) {\n params.slideItems = slideItems;\n }\n\n if (params.mode === 'gallery') {\n params.animateIn = attributes.animateIn;\n params.animateOut = attributes.animateOut;\n }\n\n return params;\n}\n\n// Uses scrollintoview jQuery plugin (needed for IE11 support) to scroll the active thumbnail into view\n// Note: Thumbnail container needs to be scrollable (overflow: auto) for this to work\nabSlider.slideIntoView = function(slider) {\n if (slider.navContainer !== false && $(slider.navContainer).hasClass('slider')) {\n var $activeThumbnail = $(slider.navContainer).find('.tns-nav-active');\n $activeThumbnail.scrollintoview();\n }\n}\n\n// Build out slide html for replacing images on variant selection\nabSlider.getUpdatedSlideItems = function(images, assets, isThumbnail) {\n var slideItems = [];\n\n images['large'].forEach(image => {\n var $slideElement = $('<div></div>').attr('class', 'slide');\n var $imageElement = $('<img/>');\n\n if (!isThumbnail) {\n $slideElement.attr('data-zoom-image', images['hi-res'].length ? images['hi-res'][image.index].url : images['large'][image.index].url);\n }\n\n $imageElement.attr({\n 'src': image.url,\n 'alt': image.alt + ' image number ' + (parseInt(image.index) + 1).toFixed(0),\n 'class': 'd-block img-fluid',\n 'itemprop': 'image'\n });\n\n $slideElement.append($imageElement);\n slideItems.push($slideElement[0]);\n });\n\n abSlider.getPDPGalleryAssetSlides(slideItems, assets, isThumbnail);\n\n return slideItems;\n}\n\n// Fetch any additional slides needed from PDP Gallery Asset IDs attribute\nabSlider.getPDPGalleryAssetSlides = function(slideItems, assets, isThumbnail) {\n let slideCount = slideItems.length;\n let hasVideo = false;\n\n assets.forEach((asset, index) => {\n var $slideElement = $('<div class=\"pdp-gallery-asset\"></div>');\n var $imageElement = $('<img/>');\n var $videoButton = $('<span class=\"video-thumbnail-button\"></span>');\n\n if (asset.isVideo) {\n hasVideo = true;\n }\n\n if (!isThumbnail) {\n $slideElement.attr('class', 'slide no-zoom');\n // ajax call to get html for asset\n $.ajax({\n url: asset.assetRenderUrl,\n method: 'GET',\n success: data => {\n var $sliderContainer = $slideElement.closest('.slider-container');\n $slideElement.html(data);\n\n // after all assets are added, reinit any necessary javascript\n if (index + 1 >= assets.length) {\n $slideElement.trigger('tooltip:init'); // reinit tooltips in case of hotspot asset\n\n if (hasVideo) {\n $('body').trigger('ajax:load.ajaxEvents', [$sliderContainer]); // reinit videos in video/index.js\n $('body').trigger('slider:videosLoaded'); // trigger custom event set up in bindSliderUpdateEvent\n }\n }\n },\n error: err => {\n console.error('There was an issue retrieving this asset: ', err);\n }\n });\n } else {\n $slideElement.attr('class', 'slide video-container');\n $imageElement.attr({\n 'src': asset.thumbnail,\n 'alt': 'image number ' + (slideCount + 1).toFixed(0),\n 'class': 'd-block img-fluid',\n 'itemprop': 'image'\n });\n }\n\n slideCount++;\n $slideElement.append($imageElement);\n\n if (asset.isVideo) {\n $slideElement.append($videoButton);\n }\n\n slideItems.push($slideElement[0]);\n });\n}\n\n// Listen for the slider:update event and reinitialize slider with new slides\nabSlider.bindSliderUpdateEvent = function($sliderContainer, slider) {\n $sliderContainer.off('slider:update').on('slider:update', '.slider', (event, data) => {\n var $updatedSliderContainer = $(event.target).closest('.slider-container');\n var isThumbnail = $updatedSliderContainer.hasClass('slider-thumbnails');\n var updatedSlideItems = data !== undefined ? abSlider.getUpdatedSlideItems(data.images, data.assets, isThumbnail) : null;\n var updatedParams = abSlider.getSliderParams($updatedSliderContainer, updatedSlideItems);\n\n // Update carousel classes to handle number of images changing\n if (isThumbnail) {\n var $thumbnailContainer = $updatedSliderContainer.closest('.primary-images-thumbnails');\n var $mainImageContainer = $thumbnailContainer.prev('.primary-images-main');\n\n if (data.images.small && data.images.small.length > 1) {\n $thumbnailContainer.removeClass('d-none');\n $mainImageContainer.addClass('product-has-thumbnails col-lg-9');\n } else {\n $thumbnailContainer.addClass('d-none');\n $mainImageContainer.removeClass('product-has-thumbnails col-lg-9');\n }\n }\n\n // Remove and re-add slider markup if there are new slides to show\n if (updatedParams.slideItems) {\n var $newSliderElement = $('<div></div>').attr({\n 'class': 'slider',\n 'id': updatedParams.container.id\n });\n var $newSliderControls = $updatedSliderContainer.find('.slider-thumbnail-controls').addClass('d-none');\n $newSliderElement.html(updatedParams.slideItems);\n $updatedSliderContainer.html($newSliderElement);\n updatedParams.container = $newSliderElement[0];\n\n // If this is a thumbnails slider, also add the arrow controls and update the item count\n if (isThumbnail) {\n $updatedSliderContainer.append($newSliderControls);\n updatedParams.items = updatedParams.slideItems.length;\n updatedParams.responsive[mediumBreakpoint].items = updatedParams.slideItems.length;\n updatedParams.responsive[largeBreakpoint].items = updatedParams.slideItems.length;\n }\n }\n\n // Reinitialize slider using new params\n slider = tinySlider.tns(updatedParams);\n slider.events.on('transitionEnd', abSlider.slideIntoView);\n abSlider.enableImageZoom($updatedSliderContainer);\n\n if (isThumbnail) {\n abSlider.handleThumbnailArrows($updatedSliderContainer, slider);\n } else {\n // listen for videos getting updated from getUpdatedSlideItems function\n $('body').on('slider:videosLoaded', () => {\n abSlider.handleSliderVideos($updatedSliderContainer, slider);\n });\n }\n });\n}\n\n// Listen for the slider:destroy event\nabSlider.bindSliderDestroyEvent = function($sliderContainer, slider) {\n $sliderContainer.off('slider:destroy').on('slider:destroy', '.slider', () => {\n slider.destroy();\n });\n}\n\n// Enables zoomed images using jquery-zoom\nabSlider.enableImageZoom = function($sliderContainer) {\n if ($sliderContainer.closest('.primary-images').length\n && !$sliderContainer.hasClass('slider-thumbnails')\n && !window.isMobile()) {\n var $slides = $sliderContainer.find('.slide');\n $slides.each((index, slide) => {\n var $slide = $(slide);\n\n if (!$slide.hasClass('no-zoom')) {\n var zoomImageUrl = $slide.data('zoom-image') || $slide.find('img').attr('src');\n $slide.zoom({\n url: zoomImageUrl,\n magnify: 1,\n touch: false\n });\n }\n });\n }\n}\n\n// Determine whether to show thumbnail arrows based on overflow state\nabSlider.handleThumbnailArrows = function($sliderContainer, slider) {\n if ($sliderContainer.hasClass('slider-thumbnails')) {\n var $slider = $sliderContainer.find('.slider');\n var $arrows = $sliderContainer.find('.slider-thumbnail-controls');\n var buffer = 5; // adding a buffer to prevent arrows from showing if the last slide is mostly visible\n var containerSize;\n var sliderSize;\n\n $slider.imagesLoaded().done(() => {\n if (window.isMobile()) {\n containerSize = $sliderContainer.outerWidth();\n sliderSize = $slider[0].scrollWidth;\n } else {\n containerSize = $sliderContainer.outerHeight();\n sliderSize = $slider[0].scrollHeight;\n }\n\n if (sliderSize - buffer >= containerSize) {\n $arrows.removeClass('d-none');\n }\n });\n }\n}\n\n// Check for videos and pause them when they're not in the active slide\nabSlider.handleSliderVideos = function($sliderContainer, slider) {\n var $videos = $sliderContainer.find('.hero-media.video-container, .experience-commerce_assets-video>.video-container');\n\n if ($videos.length) {\n slider.events.on('indexChanged', () => {\n $videos.each((_i, element) => {\n var $videoContainer = $(element);\n var videoID = $videoContainer.find('.video-player').attr('id');\n var player = window.Players[videoID];\n\n if (player) {\n if (!$videoContainer.closest('.tns-slide-active').length) {\n player.pause();\n } else if (player.config.autoplay) {\n player.play();\n }\n }\n });\n });\n }\n}\n\n// Handle Pause/Play Button\nabSlider.bindPauseButton = function($sliderContainer, slider) {\n var sliderButtonPlacement = $sliderContainer.attr('data-slider-pause-button-placement');\n\n if ($sliderContainer[0].hasAttribute('data-slider-autoplay') && $sliderContainer.attr('data-slider-autoplay') != 'false' && $sliderContainer[0].hasAttribute('data-slider-pause-button-placement') && $sliderContainer.attr('data-slider-pause-button-placement') != \"none\") {\n if (sliderButtonPlacement == 'with-pagination') {\n $sliderContainer.find('.tns-nav').addClass('with-pagination-btn').append('<a href=\"#\" class=\"tns-nav-controller\"><span class=\"sr-only\">stop and start slider</span></a>');\n } else {\n $sliderContainer.prepend('<a href=\"#\" class=\"tns-nav-controller\"><span class=\"sr-only\">stop and start slider</span></a>');\n };\n\n $('.tns-nav-controller').addClass(sliderButtonPlacement);\n\n $sliderContainer.on('click', '.tns-nav-controller', function() {\n event.preventDefault();\n $(this).toggleClass('pause');\n $sliderContainer.toggleClass('slider-pause');\n\n if ($sliderContainer.hasClass('slider-pause')) {\n slider.pause();\n } else {\n slider.play();\n }\n });\n }\n};\n\nabSlider.initializeSliders = function($context = $('body')) {\n var scope = this;\n // delay-init is different from replace-content\n var $sliderContainers = $context.find('.slider-container:not(.delay-init)');\n\n $sliderContainers.each((i, slider) => {\n var $sliderContainer = $(slider);\n var params = scope.getSliderParams($sliderContainer);\n var promisegroup = [];\n var $replace = $sliderContainer.find('[data-replace-content]');\n\n $replace.each(function (i, replace) {\n var $target = $(replace);\n var deferment = $target.data('deferment');\n\n if (deferment && !deferment.isResolved && deferment.state() === 'pending') {\n promisegroup.push(deferment);\n }\n });\n\n // Done will also execute if promisegroup is empty []\n $.when.apply($, promisegroup).done(function () {\n scope.applyTinySlider($sliderContainer, params);\n });\n });\n}\n\nabSlider.applyTinySlider = function ($container, params) {\n if (!$container) return;\n\n var tslider = tinySlider.tns(params);\n\n if (!!tslider) {\n tslider.events.on('transitionStart', this.slideIntoView);\n\n this.bindPauseButton($container, tslider);\n this.bindSliderUpdateEvent($container, tslider);\n this.bindSliderDestroyEvent($container, tslider);\n this.enableImageZoom($container);\n this.handleThumbnailArrows($container, tslider);\n this.handleSliderVideos($container, tslider);\n\n $('body').trigger('slider:init.sliderEvents', [$container]);\n }\n\n $container.data('tns', tslider);\n $container.trigger('tooltip:init');\n}\n\nabSlider.initializeQuickviewModalSliders = function() {\n $('body').off('quickview:ready').on('quickview:ready', (event, modal) => {\n abSlider.initializeSliders($(modal));\n });\n}\n\nabSlider.initializeWishlistModalSliders = function() {\n $('body').off('editwishlistproduct:ready').on('editwishlistproduct:ready', (event, modal) => {\n abSlider.initializeSliders($(modal));\n });\n}\n\nabSlider.initializeTargetSliders = function() {\n $('body').off('targetslider:ready').on('targetslider:ready', (event, target) => {\n abSlider.initializeSliders($(target));\n });\n}\n\nabSlider.init = function() {\n abSlider.initializeSliders();\n abSlider.initializeQuickviewModalSliders();\n abSlider.initializeWishlistModalSliders();\n abSlider.initializeTargetSliders();\n}\n\nmodule.exports = abSlider;\n","'use strict';\n\nconst debounce = require('lodash/debounce');\nconst VideoHelper = require('./videoHelper');\n\nconst PlayerDefaults = {\n autoplay: false,\n controls: true,\n muted: false,\n loop: false,\n modal: false,\n hasThumb: false\n};\n\n/**\n * initDomElements()\n * \n * Saves generalized references to DOM elements needed by the player to operate. \n * \n * player.domElements.$player - div used to init the player API, also holds the configuration data\n * player.domElements.$thumb - thumbnail/preview image that masks the player on screen while not playing\n * player.domElements.$cntr - outer div container used to attach dimensions when needed\n */\nfunction initDomElements() {\n let player = this;\n let $elem = $('#' + player.id);\n \n player.domElements = {\n $player: $elem,\n $thumb: $elem.siblings('.video-thumbnail'),\n $cntr: $elem.closest('.video-container')\n };\n}\n\n/**\n * initConfig()\n * \n * Parses and stores the configuration data attributes set by the content asset.\n * In case of parse error, fallback to this module's PlayerDefaults.\n */\nfunction initConfig() {\n let player = this;\n \n let playerAttrData = {};\n try {\n playerAttrData = JSON.parse(player.domElements.$player.attr('data-player-attr'));\n } catch (ex) {\n playerAttrData = PlayerDefaults;\n }\n\n player.config = {\n autoplay: !!playerAttrData.autoplay,\n controls: !!playerAttrData.controls,\n muted: !!playerAttrData.mute,\n loop: !!playerAttrData.loop,\n hasThumb: playerAttrData.hasThumb,\n modal: !!playerAttrData.modal,\n videoId: player.domElements.$player.attr('data-video-id')\n };\n}\n\n/**\n * createApiPlayer()\n * \n * Create and store the vendor specific API Player.\n * The configurations set in the content asset can be overridden for specific use cases, like turning off autoplay when closing the modal.\n * \n * Also attaches any needed playback events to the player. \n * \n * @param {object} overrides - attributes that can override the defined player.config attributes\n * @returns {Promise} - Vimeo player ready() Promise is returned so we don't make any calls too early\n */\nfunction createApiPlayer(overrides) {\n let player = this;\n let config = player.config;\n\n let onReadyCallback = (e) => {\n if (overrides.onReady) {\n overrides.onReady(e);\n delete overrides['onReady'];\n }\n };\n \n // apply overrides attributes\n if (overrides) {\n config = $.extend({}, player.config, overrides);\n }\n\n player.apiObj = new videojs(player.id, {\n autoplay: config.autoplay,\n playsinline: config.autoplay,\n controls: config.controls,\n loop: config.loop,\n muted: config.muted\n }, onReadyCallback);\n\n player.apiObj.on('pause', () => {\n // save the current location\n player.cache.time = player.apiObj.currentTime();\n });\n\n player.apiObj.on('ended', () => {\n $('body').trigger('video:ended', player);\n });\n}\n\n/**\n * initPageEvents()\n * \n * Initializes any page load event logic for the player. \n */\nfunction initPageEvents() {\n let player = this;\n let $playerContainer = player.domElements.$cntr;\n\n // pause all players at init, before deciding if they should play\n player.pause();\n\n if (player.config.hasThumb) {\n //handle thumbnail click\n player.domElements.$thumb.on('click', event => {\n event.preventDefault();\n\n if (player.config.modal) {\n player.launchModal();\n } else {\n let paused = player.apiObj.paused();\n\n if (!paused) {\n player.pause();\n } else {\n var playPromise = player.domElements.$player[0].play();\n\n if (playPromise !== undefined) {\n playPromise.then(() => {\n player.domElements.$thumb.addClass('faded');\n }).catch(error => {\n console.error('play error:', error);\n });\n }\n }\n }\n });\n }\n\n if (player.domElements.$cntr.closest('.modal').length) {\n $(window).on('resize', debounce(() => player.removeSize(), 100));\n }\n\n if (VideoHelper.shouldPlay($playerContainer) && player.config.autoplay && !player.config.modal) {\n let autoplayPromise = player.domElements.$player[0].play();\n\n if (autoplayPromise !== undefined) {\n player.play();\n }\n }\n\n $(window).on('scrollUpdate', () => {\n if (VideoHelper.shouldPlay($playerContainer)) {\n if (player.config.autoplay && !player.config.modal) {\n let autoplayPromise = player.domElements.$player[0].play();\n\n if (autoplayPromise !== undefined) {\n player.play();\n }\n }\n } else {\n if (!player.apiObj.paused()) {\n player.pause();\n }\n }\n });\n}\n\nmodule.exports = function(playerId) {\n var player = this;\n this.id = playerId;\n this.type = 'hosted';\n this.cache = {};\n \n /**********************************************************\n ** Calls to initialize the player and event listeners **\n **********************************************************/\n \n initDomElements.call(player);\n \n initConfig.call(player);\n\n createApiPlayer.call(player, {onReady: () => initPageEvents.call(player)});\n\n\n /**************************************\n ** Generalized playback functions **\n **************************************/\n \n this.play = () => {\n player.apiObj.play();\n if (player.domElements.$thumb.length && !player.config.modal) {\n player.domElements.$thumb.addClass('faded');\n }\n }\n \n this.pause = () => {\n player.apiObj.pause();\n if (player.domElements.$thumb.length) {\n player.domElements.$thumb.removeClass('faded');\n }\n }\n \n this.mute = () => {\n player.apiObj.getVolume().then((volume) => {\n player.cache.volume = volume;\n });\n \n player.apiObj.setVolume(0);\n };\n \n this.unmute = () => {\n let volume = 1;\n if (player.cachedVolume) {\n volume = player.cache.volume;\n }\n \n player.apiObj.setVolume(volume);\n };\n \n \n /*********************************************************\n ** Functions to support playing the video in a modal **\n *********************************************************/\n \n this.setSize = () => {\n player.domElements.$cntr.css({\n height: player.domElements.$cntr.outerHeight(),\n width: player.domElements.$cntr.outerWidth()\n });\n };\n \n this.removeSize = () => {\n player.domElements.$cntr.css({\n height: 'auto',\n width: 'auto'\n });\n };\n \n this.setModal = (VideoModal) => {\n player.modal = VideoModal;\n };\n \n this.launchModal = () => {\n player.setSize();\n player.modal.launch(player);\n };\n \n \n /*****************************************************\n ** Event Handlers for the modal events **\n *****************************************************/\n \n this.getShowEventHandler = () => {\n let $modal = player.modal.getModalObj();\n let $body = $('.modal-body', $modal).empty().removeClass();\n $body.addClass('modal-body ' + player.domElements.$cntr.attr('class'));\n\n if (player.apiObj && player.apiObj.dispose) {\n var $player = player.domElements.$player;\n\n // create new, uninitialized video element for use in modal\n var $newPlayer = $('<video/>', {\n 'data-asset-id': $player.data('asset-id'),\n 'data-video': $player.data('video'),\n 'data-player-attr': JSON.stringify($player.data('player-attr')),\n 'data-video-id': $player.data('video-id'),\n 'class': 'video-player video-js',\n 'id': $player.attr('id')\n });\n\n var $newPlayerSource = $('<source/>', {\n 'src': $player.attr('data-video-id'),\n 'type': $player.attr('data-filetype')\n });\n\n // remove old player\n delete player.apiObj;\n videojs($player[0]).dispose();\n\n // add new player and update player properties\n $newPlayer.append($newPlayerSource);\n $body.append($newPlayer);\n player.domElements.$player = $newPlayer;\n player.id = $newPlayer.attr('id');\n }\n\n createApiPlayer.call(player, {\n onReady: (e) => {\n // set the current location if one is saved\n if (player.cache.time) {\n player.apiObj.currentTime(player.cache.time);\n }\n player.play();\n }\n });\n };\n \n this.getHideEventHandler = () => {\n // save the current location\n player.cache.time = player.apiObj.currentTime();\n\n if (videojs.getPlayers()[player.id]) {\n delete videojs.getPlayers()[player.id];\n }\n\n createApiPlayer.call(player, {autoplay: false});\n };\n \n return this;\n}\n","'use strict';\n\nconst YouTube = require('./youtube');\nconst Vimeo = require('./vimeo');\nconst Hosted = require('./hosted');\nconst VideoModal = require('./videoModal');\nconst videojs = require('video.js/dist/video.min.js');\n\nwindow.Players = {};\n\nvar initPlayers = ($context = $('body'), isAjaxEvent = false) => {\n let $ytElements = $context.find('.video-player[data-video=youtube]');\n let $vimeoElements = $context.find('.video-player[data-video=vimeo]');\n let $hostedElements = $context.find('video[data-video=hosted]');\n\n if ($vimeoElements.length) {\n loadVimeoAPI().then(() => {\n $vimeoElements.each((index, element) => {\n // don't create player for videos in sliders until slider has been initialized\n if (!$(element).closest('.slider-container').length\n || $context.is('.slider-container') && $(element).closest($context).length) {\n let playerId = getUniquePlayerId(index, element, isAjaxEvent);\n\n if (!window.Players.hasOwnProperty(playerId) || isAjaxEvent) {\n window.Players[playerId] = new Vimeo(playerId);\n window.Players[playerId].setModal(VideoModal);\n }\n }\n });\n }).catch((err) => {\n if (console && console.error) {\n console.error(err);\n }\n });\n }\n\n if ($ytElements.length) {\n loadYouTubeAPI().then(() => {\n $ytElements.each((index, element) => {\n // don't create player for videos in sliders until slider has been initialized\n if (!$(element).closest('.slider-container').length\n || $context.is('.slider-container') && $(element).closest($context).length) {\n let playerId = getUniquePlayerId(index, element, isAjaxEvent);\n\n if (!window.Players.hasOwnProperty(playerId) || isAjaxEvent) {\n window.Players[playerId] = new YouTube(playerId);\n window.Players[playerId].setModal(VideoModal);\n }\n }\n });\n }).catch((err) => {\n if (console && console.error) {\n console.error(err);\n }\n });\n }\n\n if ($hostedElements.length) {\n window.videojs = videojs;\n\n $hostedElements.each((index, element) => {\n // don't create player for videos in sliders until slider has been initialized\n if (!$(element).closest('.slider-container').length\n || $context.is('.slider-container') && $(element).closest($context).length) {\n let playerId = getUniquePlayerId(index, element, isAjaxEvent);\n\n if (!window.Players.hasOwnProperty(playerId) || isAjaxEvent) {\n window.Players[playerId] = new Hosted(playerId);\n window.Players[playerId].setModal(VideoModal);\n }\n }\n });\n }\n\n if ($vimeoElements.length || $ytElements.length || $hostedElements.length) {\n $('body').on('video:ended', (event, player) => {\n if (player.domElements.$thumb.length) {\n player.domElements.$thumb.removeClass('faded');\n }\n\n // prevent videos from replaying on scroll if they've already finished\n player.config.autoplay = false;\n });\n\n // Reinitialze videos if slider loads, to allow creation of unique IDs\n $('body').off('.sliderEvents').on('slider:init.sliderEvents', (event, $sliderContainer) => {\n initPlayers($sliderContainer);\n });\n }\n\n // Initialize/reinitialize videos in case of ajax partial page load \n $('body').off('.ajaxEvents').on('ajax:load.ajaxEvents', (event, $container) => {\n initPlayers($container, true);\n });\n}\n\nlet ytPromise = null;\n\nvar loadYouTubeAPI = () => {\n if (ytPromise) {\n return ytPromise;\n }\n\n return ytPromise = new Promise((resolve) => {\n let tag = document.createElement('script');\n tag.src = \"https://www.youtube.com/iframe_api\";\n tag.onerror = () => {\n throw new Error('YouTube iframe API load error');\n };\n\n let firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\n window.onYouTubeIframeAPIReady = () => resolve();\n });\n}\n\nvar loadVimeoAPI = () => {\n return new Promise(function(resolve) {\n let tag = document.createElement('script');\n tag.src = \"https://player.vimeo.com/api/player.js\";\n tag.onload = resolve;\n tag.onerror = () => {\n throw new Error('Vimeo player SDK load error');\n };\n\n let firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n });\n}\n\n// handle cases where multiple videos with the same ID exist, like looping sliders\nvar getUniquePlayerId = (index, element, isAjaxEvent) => {\n let playerId = $(element).attr('id');\n\n if (window.Players.hasOwnProperty(playerId) && !isAjaxEvent) {\n playerId = playerId + '-' + index;\n $(element).attr('id', playerId);\n }\n\n return playerId;\n}\n\n/**\n * TODO:\n * - document everything\n * - Youtube API pageload errors\n */\nmodule.exports = () => initPlayers();\n","'use strict';\n\n// Checks if a video player is visible in the viewport\nfunction isPlayerVisible($playerContainer, onlyPlayWhenFullyInView) {\n let fitsInViewport = ($playerContainer.height() - 10) <= $(window).height();\n let pageTop = $(window).scrollTop();\n let pageBottom = pageTop + $(window).height();\n let elementTop = $playerContainer.offset().top;\n let elementBottom = elementTop + $playerContainer.height();\n\n if (onlyPlayWhenFullyInView && fitsInViewport) {\n return ((pageTop <= elementTop) && (pageBottom >= elementBottom));\n } else {\n return ((elementTop <= pageBottom) && (elementBottom >= pageTop));\n }\n}\n\n// Checks if a video player is inside an inactive slide within a slider\nfunction isPlayerInInactiveSlide($playerContainer) {\n return !!$playerContainer.closest('.slider').length\n && !$playerContainer.closest('.tns-slide-active').length\n && !$playerContainer.closest('.hero-button').length;\n}\n\n// Checks if a video player is inside an inactive tab within a tab component\nfunction isPlayerInInactiveTab($playerContainer) {\n return !!$playerContainer.closest('.tab-pane').length\n && !$playerContainer.closest('.tab-pane.active').length;\n}\n\n// Check if a video should be played\nfunction shouldPlay($playerContainer) {\n let onlyPlayWhenFullyInView = $playerContainer.data('play-when-fully-in-view');\n\n return isPlayerVisible($playerContainer, onlyPlayWhenFullyInView) \n && !isPlayerInInactiveSlide($playerContainer)\n && !isPlayerInInactiveTab($playerContainer);\n}\n\n\nmodule.exports = {\n shouldPlay: shouldPlay\n}\n","'use strict';\n\nconst ModalTemplate = `<div id=\"videoModal\" class=\"video-modal modal fade\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"videoModal\">\n <div class=\"modal-dialog modal-lg\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\"></h5>\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\"></div>\n </div>\n </div>\n </div>`;\n\nconst ModalStates = {\n NOT_READY: 0,\n READY: 1,\n OPEN: 2,\n CLOSED: 3\n};\n\nmodule.exports = (() => {\n var myState = ModalStates.NOT_READY;\n var currentVideo = '';\n \n if (!$('#videoModal').length) {\n $(ModalTemplate).appendTo('body');\n myState = ModalStates.READY;\n }\n\n const $modal = $('#videoModal');\n\n return {\n States: ModalStates,\n\n launch: (player) => {\n $modal.detach().appendTo('body'); // keep video modal on top of any other open modals\n\n //test if modal is already in use\n if (myState === ModalStates.OPEN) {\n console.error('Cannot launch' + player.id + ', Modal is already in use for: ' + currentVideo);\n } else {\n $modal.on('show.bs.modal', () => {\n if(typeof player.getShowEventHandler === 'function') {\n player.getShowEventHandler();\n }\n myState = ModalStates.OPEN;\n currentVideo = player.id;\n\n }).on('shown.bs.modal', () => {\n if(typeof player.getShownEventHandler === 'function') {\n player.getShownEventHandler();\n }\n \n }).on('hide.bs.modal', () => {\n if(typeof player.getHideEventHandler === 'function') {\n player.getHideEventHandler();\n }\n myState = ModalStates.CLOSED;\n \n }).on('hidden.bs.modal', () => {\n if(typeof player.getHiddenEventHandler === 'function') {\n player.getHiddenEventHandler();\n }\n \n $modal.modal('dispose');\n }).modal();\n }\n },\n \n setState: (state) => {\n if (ModalStates[state]) {\n myState = state;\n }\n },\n \n getState: () => myState,\n \n is: (state) => (myState === state),\n \n getModalObj: () => $modal\n };\n})();","'use strict';\n\nconst debounce = require('lodash/debounce');\nconst VideoHelper = require('./videoHelper');\n\nconst PlayerDefaults = {\n autoplay: false,\n controls: true,\n muted: false,\n loop: false,\n modal: false,\n hasThumb: false\n};\n\n/**\n * initDomElements()\n *\n * Saves generalized references to DOM elements needed by the player to operate.\n *\n * player.domElements.$player - div used to init the player API, also holds the configuration data\n * player.domElements.$thumb - thumbnail/preview image that masks the player on screen while not playing\n * player.domElements.$cntr - outer div container used to attach dimensions when needed\n */\nfunction initDomElements() {\n let player = this;\n let $elem = $('#' + player.id);\n\n player.domElements = {\n $player: $elem,\n $thumb: $elem.siblings('.video-thumbnail'),\n $cntr: $elem.closest('.video-container')\n };\n}\n\n/**\n * initConfig()\n *\n * Parses and stores the configuration data attributes set by the content asset.\n * In case of parse error, fallback to this module's PlayerDefaults.\n */\nfunction initConfig() {\n let player = this;\n\n let playerAttrData = {};\n try {\n playerAttrData = JSON.parse(player.domElements.$player.attr('data-player-attr'));\n } catch (ex) {\n playerAttrData = PlayerDefaults;\n }\n\n player.config = {\n autoplay: !!playerAttrData.autoplay,\n controls: !!playerAttrData.controls,\n muted: !!playerAttrData.mute,\n loop: !!playerAttrData.loop,\n background: !!playerAttrData.autoplay && !playerAttrData.controls && !!playerAttrData.mute && !!playerAttrData.loop,\n autopause: !(!!playerAttrData.autoplay && !playerAttrData.controls && !!playerAttrData.mute),\n hasThumb: playerAttrData.hasThumb,\n modal: !!playerAttrData.modal,\n videoId: player.domElements.$player.attr('data-video-id')\n };\n}\n\n/**\n * createApiPlayer()\n *\n * Create and store the vendor specific API Player.\n * The configurations set in the content asset can be overridden for specific use cases, like turning off autoplay when closing the modal.\n *\n * Also attaches any needed playback events to the player.\n *\n * @param {object} overrides - attributes that can override the defined player.config attributes\n * @returns {Promise} - Vimeo player ready() Promise is returned so we don't make any calls too early\n */\nfunction createApiPlayer(overrides) {\n let player = this;\n let config = player.config;\n\n // apply overrides attributes\n if (overrides) {\n config = $.extend({}, player.config, overrides);\n }\n\n player.apiObj = new Vimeo.Player(player.id, {\n id: config.videoId,\n autoplay: config.autoplay,\n controls: config.controls,\n loop: config.loop,\n muted: config.muted,\n background: config.background,\n autopause: config.autopause\n });\n\n player.apiObj.on('pause', () => {\n // save the current location\n player.apiObj.getCurrentTime().then((seconds) => {\n player.cache.time = seconds;\n });\n });\n\n player.apiObj.on('ended', () => {\n $('body').trigger('video:ended', player);\n });\n\n return player.apiObj.ready();\n}\n\n/**\n * initPageEvents()\n *\n * Initializes any page load event logic for the player.\n */\nfunction initPageEvents() {\n let player = this;\n let $playerContainer = player.domElements.$player.closest('.video-container');\n\n // pause all players at init, before deciding if they should play\n player.pause();\n\n if (player.config.hasThumb) {\n //handle thumbnail click\n player.domElements.$thumb.on('click', event => {\n event.preventDefault();\n\n if (player.config.modal) {\n player.launchModal();\n } else {\n player.apiObj.getPaused().then(paused => {\n if (!paused) {\n player.pause();\n } else {\n player.play();\n }\n }).catch(error => console.error('error getting paused status:', error));\n }\n });\n }\n\n if (player.domElements.$cntr.closest('.modal').length) {\n $(window).on('resize', debounce(() => player.removeSize(), 100));\n }\n\n if (VideoHelper.shouldPlay($playerContainer) && player.config.autoplay && !player.config.modal) {\n player.play();\n\n // retrigger play method to ensure iOS autoplays\n if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {\n setTimeout(() => {\n player.play();\n }, 500);\n }\n }\n\n $(window).on('scrollUpdate', () => {\n if (VideoHelper.shouldPlay($playerContainer)) {\n if (player.config.autoplay && !player.config.modal) {\n player.apiObj.getPaused().then(paused => {\n if (paused) {\n player.play();\n }\n }).catch(error => console.error('error getting paused status:', error));\n }\n } else {\n player.apiObj.getPaused().then(paused => {\n if (!paused) {\n player.pause();\n }\n }).catch(error => console.error('error getting paused status:', error));\n }\n });\n}\n\nmodule.exports = function(playerId) {\n var player = this;\n this.id = playerId;\n this.type = 'vimeo';\n this.cache = {};\n\n /**********************************************************\n ** Calls to initialize the player and event listeners **\n **********************************************************/\n\n initDomElements.call(player);\n\n initConfig.call(player);\n\n createApiPlayer.call(player).then(() => initPageEvents.call(player));\n\n\n /**************************************\n ** Generalized playback functions **\n **************************************/\n\n this.play = () => {\n player.apiObj.play()\n if (player.domElements.$thumb.length && !player.config.modal) {\n player.domElements.$thumb.addClass('faded');\n }\n };\n\n this.pause = () => {\n player.apiObj.pause();\n if (player.domElements.$thumb.length) {\n player.domElements.$thumb.removeClass('faded');\n }\n }\n\n this.mute = () => {\n player.apiObj.getVolume().then((volume) => {\n player.cache.volume = volume;\n });\n\n player.apiObj.setVolume(0);\n };\n\n this.unmute = () => {\n let volume = 1;\n if (player.cachedVolume) {\n volume = player.cache.volume;\n }\n\n player.apiObj.setVolume(volume);\n };\n\n\n /*********************************************************\n ** Functions to support playing the video in a modal **\n *********************************************************/\n\n this.setSize = () => {\n player.domElements.$cntr.css({\n height: player.domElements.$cntr.outerHeight(),\n width: player.domElements.$cntr.outerWidth()\n });\n };\n\n this.removeSize = () => {\n player.domElements.$cntr.css({\n height: 'auto',\n width: 'auto'\n });\n };\n\n this.setModal = (VideoModal) => {\n player.modal = VideoModal;\n };\n\n this.launchModal = () => {\n player.setSize();\n player.modal.launch(player);\n };\n\n\n /*****************************************************\n ** Event Handlers for the Bootstrap modal events **\n *****************************************************/\n\n this.getShowEventHandler = () => {\n let $modal = player.modal.getModalObj();\n let $body = $('.modal-body', $modal).empty().removeClass();\n $body.addClass('modal-body ' + player.domElements.$cntr.attr('class'));\n player.domElements.$player.appendTo($body);\n\n player.apiObj.destroy().then(() => createApiPlayer.call(player)).then(() => {\n // set the current location if one is saved\n if (player.cache.time) {\n player.apiObj.setCurrentTime(player.cache.time);\n }\n player.play();\n });\n };\n\n this.getHideEventHandler = () => {\n // save the current location\n player.apiObj.getCurrentTime().then((seconds) => {\n player.cache.time = seconds;\n }).then(() => {\n // vimeo doesnt like to be moved around the DOM, and loses all its event listeners\n // so lets destroy and re-init whenever we move it to and from a modal\n player.domElements.$player.prependTo(player.domElements.$cntr);\n\n player.apiObj.destroy().then(() => {\n //create a new api player but dont let it autoplay\n createApiPlayer.call(player, {autoplay: false});\n });\n });\n };\n\n return this;\n}\n","'use strict';\n\nconst debounce = require('lodash/debounce');\nconst VideoHelper = require('./videoHelper');\n\nconst PlayerDefaults = {\n autoplay: 0,\n playsinline: 0,\n controls: 1,\n mute: 0,\n loop: 0,\n modal: false,\n hasThumb: false,\n playlist: ''\n};\n\nconst origin = window.location.protocol + '//' + window.location.host;\n\n/**\n * initDomElements()\n * \n * Saves generalized references to DOM elements needed by the player to operate. \n * \n * player.domElements.$player - div used to init the player API, also holds the configuration data\n * player.domElements.$thumb - thumbnail/preview image that masks the player on screen while not playing\n * player.domElements.$cntr - outer div container used to attach dimensions when needed\n */\nfunction initDomElements() {\n let player = this;\n let $elem = $('#' + player.id);\n \n player.domElements = {\n $player: $elem,\n $thumb: $elem.siblings('.video-thumbnail'),\n $cntr: $elem.closest('.video-container'),\n };\n}\n\n/**\n * initConfig()\n * \n * Parses and stores the configuration data attributes set by the content asset.\n * In case of parse error, fallback to this module's PlayerDefaults.\n */\nfunction initConfig() {\n let player = this;\n \n let playerAttrData = {};\n try {\n playerAttrData = JSON.parse(player.domElements.$player.attr('data-player-attr'));\n } catch (ex) {\n playerAttrData = PlayerDefaults;\n }\n \n let videoId = player.domElements.$player.attr('data-video-id');\n let playlist = playerAttrData.loop === 1 ? videoId : '';\n \n player.config = {\n autoplay: playerAttrData.autoplay,\n playsinline: playerAttrData.autoplay === 1 ? 1 : 0,\n controls: playerAttrData.controls,\n mute: playerAttrData.mute,\n loop: playerAttrData.loop,\n hasThumb: playerAttrData.hasThumb,\n modal: playerAttrData.modal,\n videoId: videoId,\n modestbranding: 1\n };\n if (playlist != '') {\n player.config.playlist = playlist\n } \n}\n\n/**\n * createApiPlayer()\n * \n * Create and store the vendor specific API Player.\n * The configurations set in the content asset can be overridden for specific use cases, like turning off autoplay when closing the modal.\n * \n * Also attaches any needed playback events to the player. \n * \n * @param {object} overrides - attributes that can override the defined player.config attributes\n */\nfunction createApiPlayer(overrides) {\n let player = this;\n let config = player.config;\n\n let onReadyCallback = (e) => {\n commonOnReady.call(player, e);\n\n if (overrides.onReady) {\n overrides.onReady(e);\n delete overrides['onReady'];\n }\n };\n\n // apply overrides attributes\n if (overrides) {\n config = $.extend({}, player.config, overrides);\n }\n\n player.apiObj = new YT.Player(player.id, {\n videoId: config.videoId,\n playerVars: {\n autoplay: config.autoplay,\n playsinline: config.playsinline,\n controls: config.controls,\n mute: config.mute,\n loop: config.loop,\n playlist: config.playlist,\n enablejsapi: 1,\n origin: origin,\n widget_referrer: origin\n },\n host: 'https://www.youtube.com', // prevents 'postMessage' origin mismatch error\n events: {\n onReady: onReadyCallback,\n onStateChange: (e) => {\n if (e.data === YT.PlayerState.PAUSED) {\n // save the current location\n player.cache.time = e.target.getCurrentTime();\n } else if (e.data === YT.PlayerState.PLAYING) {\n // not currently using the on play event, but it's here for future use\n }\n\n if (e.data === 0) {\n $('body').trigger('video:ended', player);\n }\n },\n onError: (e) => {\n if (console && console.error) {\n console.error('onError: ' + e.data);\n }\n }\n }\n });\n}\n\n/**\n * initPageEvents()\n * \n * Initializes any page event logic for the player. \n */\nfunction initPageEvents() {\n let player = this;\n let $playerContainer = player.domElements.$player.closest('.video-container');\n\n // pause all players at init, before deciding if they should play\n player.pause();\n \n // honor the auto mute settings when launching modal\n if (player.config.mute === 1) {\n player.mute();\n } else {\n player.unmute();\n }\n \n if (player.config.hasThumb) {\n //handle thumbnail click\n player.domElements.$thumb.on('click', event => {\n event.preventDefault();\n\n if (player.config.modal) {\n player.launchModal();\n } else {\n let playerState = player.apiObj.getPlayerState();\n let playing = playerState === 1;\n\n if (playing) {\n player.pause();\n } else {\n player.play();\n }\n }\n });\n }\n\n if (player.domElements.$cntr.closest('.modal').length) {\n $(window).on('resize', debounce(() => player.removeSize(), 100));\n }\n\n if (VideoHelper.shouldPlay($playerContainer) && player.config.autoplay && !player.config.modal) {\n player.play();\n }\n\n $(window).on('scrollUpdate', () => {\n let playerState = player.apiObj.getPlayerState();\n let playing = playerState === 1;\n\n if (VideoHelper.shouldPlay($playerContainer)) {\n if (player.config.autoplay && !playing && !player.config.modal) {\n player.play();\n }\n } else if (playing) {\n player.pause();\n }\n });\n}\n\nfunction commonOnReady(e) {\n let player = this;\n\n // update player dom reference\n player.domElements.$player = $('#' + player.id);\n \n // if we have an auto play, auto mute, modal, then honor the config,\n // else let the app maintain the volume state\n if (typeof player.cache.mute !== 'undefined') {\n if (player.cache.mute === 1) {\n e.target.mute();\n } else {\n e.target.unMute();\n }\n\n delete player.cache.mute;\n }\n}\n\n\nmodule.exports = function(playerId) {\n var player = this;\n this.id = playerId;\n this.type = 'youtube';\n this.cache = {};\n \n /**********************************************************\n ** Calls to initialize the player and event listeners **\n **********************************************************/\n \n initDomElements.call(player);\n \n initConfig.call(player);\n \n createApiPlayer.call(player, {onReady: () => initPageEvents.call(player)});\n \n \n /***************************************\n ** Generalized playback functions **\n ***************************************/\n \n this.play = () => {\n player.apiObj.playVideo();\n if (player.domElements.$thumb.length && !player.config.modal) {\n player.domElements.$thumb.addClass('faded');\n }\n }\n \n this.pause = () => {\n player.apiObj.pauseVideo();\n if (player.domElements.$thumb.length) {\n player.domElements.$thumb.removeClass('faded');\n }\n }\n \n this.mute = () => {\n player.apiObj.mute();\n player.cache.mute = 1;\n };\n \n this.unmute = () => {\n player.apiObj.unMute();\n player.cache.mute = 0;\n };\n \n \n /*********************************************************\n ** Functions to support playing the video in a modal **\n *********************************************************/\n \n this.setSize = () => player.domElements.$cntr.css({\n height: player.domElements.$cntr.outerHeight(),\n width: player.domElements.$cntr.outerWidth()\n });\n \n this.removeSize = () => player.domElements.$cntr.css({\n height: 'auto',\n width: 'auto'\n });\n \n this.setModal = (VideoModal) => {\n player.modal = VideoModal;\n };\n \n this.launchModal = () => {\n player.setSize();\n player.modal.launch(player);\n };\n \n \n /*****************************************************\n ** Event Handlers for the Bootstrap modal events **\n *****************************************************/\n \n this.getShowEventHandler = () => {\n // move the video player to the modal body\n let $modal = player.modal.getModalObj();\n let $body = $('.modal-body', $modal).empty().removeClass();\n $body.addClass('modal-body ' + player.domElements.$cntr.attr('class'));\n player.domElements.$player.appendTo($body);\n \n // rebuild the API player to maintain event handlers\n if (player.apiObj && player.apiObj.destroy) {\n player.apiObj.destroy();\n }\n createApiPlayer.call(player, {\n onReady: (e) => {\n // set the current location if one is saved\n if (player.cache.time) {\n player.apiObj.seekTo(player.cache.time, true);\n }\n player.play();\n }\n });\n };\n \n this.getHideEventHandler = () => {\n // save current location\n player.cache.time = player.apiObj.getCurrentTime();\n \n // move the video player from the modal back to its page container\n player.domElements.$player.prependTo(player.domElements.$cntr);\n \n // rebuild the API player to maintain event handlers\n if (player.apiObj && player.apiObj.destroy) {\n player.apiObj.destroy();\n }\n createApiPlayer.call(player, {autoplay: 0});\n };\n \n return this;\n}","'use strict';\n\nmodule.exports = function() {\n\n // Move modal from button to body to prevent overflow issues, eliminating any duplicates\n if ($('.button.has-modal').length > 0) {\n $('.button.has-modal').each((index, button) => {\n var $modal = $(button).find('.modal');\n\n if (!$('body > #' + $modal.attr('id')).length > 0) {\n $(button).find('.modal').appendTo('body');\n } else {\n $modal.remove();\n }\n });\n }\n\n};\n","'use strict';\n\nmodule.exports = function() {\n\n // add class to sliders containing animated hero banners\n if ($('.slider').find('.hero-text[data-animation]')) {\n var heroAnimationSliders = $('.slider').find('.hero-text[data-animation]').closest('.slider-container');\n \n for (var i = 0; i < heroAnimationSliders.length; i++) {\n heroAnimationSliders[i].classList.add('hero-has-animation');\n }\n }\n\n // if hero background video is set to play once, hide when finished and show replay button\n $('body').on('video:ended', (event, player) => {\n var $playerContainer = player.domElements.$cntr;\n \n if ($playerContainer.hasClass('hero-media') && $playerContainer.data('play-once') === true) {\n var $replayButton = $playerContainer.next('.replay-video');\n $playerContainer.addClass('video-stopped');\n\n $replayButton.click(event => {\n $playerContainer.removeClass('video-stopped');\n player.config.autoplay = true;\n if (player.type === 'youtube') {\n player.apiObj.seekTo(0);\n }\n if (player.type === 'hosted') {\n player.apiObj.currentTime(0);\n }\n if (player.type === 'vimeo') {\n player.apiObj.setCurrentTime(0);\n }\n player.play();\n });\n }\n });\n\n};\n","'use strict';\n\nconst Button = require('./button');\nconst Hero = require('./hero');\n\nfunction checkIfVisible($element, context) {\n var pageTop = $(window).scrollTop();\n var pageBottom = pageTop + $(window).height();\n var elementHeight = $element.height();\n var elementTop = $element.offset().top;\n var elementBottom = elementTop + elementHeight;\n\n // on ititial load if animated element is already in or above viewable area, animate immediately\n if (context === 'initialPageLoad' && elementTop <= pageBottom) {\n return true;\n }\n\n if (context === 'reset') {\n // element is above fold\n return (elementTop <= pageBottom);\n } else {\n // any portion of element is in viewport\n return ((elementTop <= pageBottom) && (elementBottom >= pageTop));\n }\n}\n\nfunction animateIfVisible($elements, context) {\n $elements.each((index, element) => {\n var $element = $(element);\n var animationClass = $element.data('animation');\n var isVisible = checkIfVisible($element, context);\n\n if (isVisible) {\n $element.removeClass('animation-initial-state').addClass(animationClass);\n }\n });\n}\n\nfunction resetAnimationElement($elements) {\n $elements.each((index, element) => {\n var $element = $(element);\n var shouldReset = !$element.data('animation-play-once');\n\n if (shouldReset) {\n var animationClass = $element.data('animation');\n var isVisible = checkIfVisible($element, 'reset');\n\n if (!isVisible) {\n $element.removeClass(animationClass).addClass('animation-initial-state');\n void element.offsetWidth; // allows animation to retrigger\n }\n }\n });\n}\n\nfunction initScrollEvents() {\n\n // trigger animations when animated component is scrolled to\n var $animationElements = $('[data-animation]');\n\n if ($animationElements.length) {\n animateIfVisible($animationElements, 'initialPageLoad');\n\n window.addEventListener('scrollUpdate', event => {\n var direction = event.detail.direction;\n\n if (direction === 'down') {\n animateIfVisible($animationElements, null);\n }\n\n if (direction === 'up') {\n resetAnimationElement($animationElements);\n }\n });\n }\n\n};\n\n\nmodule.exports = {\n initScrollEvents: initScrollEvents,\n button: Button,\n hero: Hero\n};\n","'use strict';\n\n// These values should always match the variables set in _variables.scss and the contentImageBreakpoints site pref\nmodule.exports.BreakpointSizes = {\n 'sm': 544,\n 'md': 769,\n 'lg': 1024,\n 'xl': 1440\n};\n\nmodule.exports.TransitionSpeed = 200;\n\nmodule.exports.ComponentAnimationDelay = 0;\n\nmodule.exports.Spacer = 16;\n\nmodule.exports.placeholderImagePaths = {\n 'thumbnail': '/images/gray.png',\n 'imageMissing': '/images/placeholder.png'\n}\n\nmodule.exports.defaultMapMarker = {\n 'color': 'white',\n 'backgroundImage': '/images/icons/map-marker-default.svg'\n}\n\nmodule.exports.defaultStoreType = {\n 'id': 0,\n 'displayValue': 'Retail',\n 'value': 'retail'\n}\n\n// These are used in cartridge/client/default/js/components/search.js\nmodule.exports.UP_KEY = 38;\nmodule.exports.DOWN_KEY = 40;\nmodule.exports.DIRECTION_DOWN = 1;\nmodule.exports.DIRECTION_UP = -1;\n","/**\n * EvEmitter v1.1.0\n * Lil' event emitter\n * MIT License\n */\n\n/* jshint unused: true, undef: true, strict: true */\n\n( function( global, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define, module, window */\n if ( typeof define == 'function' && define.amd ) {\n // AMD - RequireJS\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS - Browserify, Webpack\n module.exports = factory();\n } else {\n // Browser globals\n global.EvEmitter = factory();\n }\n\n}( typeof window != 'undefined' ? window : this, function() {\n\n\"use strict\";\n\nfunction EvEmitter() {}\n\nvar proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // set events hash\n var events = this._events = this._events || {};\n // set listeners array\n var listeners = events[ eventName ] = events[ eventName ] || [];\n // only add once\n if ( listeners.indexOf( listener ) == -1 ) {\n listeners.push( listener );\n }\n\n return this;\n};\n\nproto.once = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // add event\n this.on( eventName, listener );\n // set once flag\n // set onceEvents hash\n var onceEvents = this._onceEvents = this._onceEvents || {};\n // set onceListeners object\n var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\n // set flag\n onceListeners[ listener ] = true;\n\n return this;\n};\n\nproto.off = function( eventName, listener ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n var index = listeners.indexOf( listener );\n if ( index != -1 ) {\n listeners.splice( index, 1 );\n }\n\n return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n // copy over to avoid interference if .off() in listener\n listeners = listeners.slice(0);\n args = args || [];\n // once stuff\n var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n for ( var i=0; i < listeners.length; i++ ) {\n var listener = listeners[i]\n var isOnce = onceListeners && onceListeners[ listener ];\n if ( isOnce ) {\n // remove listener\n // remove before trigger to prevent recursion\n this.off( eventName, listener );\n // unset once flag\n delete onceListeners[ listener ];\n }\n // trigger listener\n listener.apply( this, args );\n }\n\n return this;\n};\n\nproto.allOff = function() {\n delete this._events;\n delete this._onceEvents;\n};\n\nreturn EvEmitter;\n\n}));\n","var topLevel = typeof global !== 'undefined' ? global :\n typeof window !== 'undefined' ? window : {}\nvar minDoc = require('min-document');\n\nvar doccy;\n\nif (typeof document !== 'undefined') {\n doccy = document;\n} else {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];\n\n if (!doccy) {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;\n }\n}\n\nmodule.exports = doccy;\n","var win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\"){\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n","/*!\n * imagesLoaded v4.1.4\n * JavaScript is all like \"You images are done yet or what?\"\n * MIT License\n */\n\n( function( window, factory ) { 'use strict';\n // universal module definition\n\n /*global define: false, module: false, require: false */\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'ev-emitter/ev-emitter'\n ], function( EvEmitter ) {\n return factory( window, EvEmitter );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('ev-emitter')\n );\n } else {\n // browser global\n window.imagesLoaded = factory(\n window,\n window.EvEmitter\n );\n }\n\n})( typeof window !== 'undefined' ? window : this,\n\n// -------------------------- factory -------------------------- //\n\nfunction factory( window, EvEmitter ) {\n\n'use strict';\n\nvar $ = window.jQuery;\nvar console = window.console;\n\n// -------------------------- helpers -------------------------- //\n\n// extend objects\nfunction extend( a, b ) {\n for ( var prop in b ) {\n a[ prop ] = b[ prop ];\n }\n return a;\n}\n\nvar arraySlice = Array.prototype.slice;\n\n// turn element or nodeList into an array\nfunction makeArray( obj ) {\n if ( Array.isArray( obj ) ) {\n // use object if already an array\n return obj;\n }\n\n var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';\n if ( isArrayLike ) {\n // convert nodeList to array\n return arraySlice.call( obj );\n }\n\n // array of single index\n return [ obj ];\n}\n\n// -------------------------- imagesLoaded -------------------------- //\n\n/**\n * @param {Array, Element, NodeList, String} elem\n * @param {Object or Function} options - if function, use as callback\n * @param {Function} onAlways - callback function\n */\nfunction ImagesLoaded( elem, options, onAlways ) {\n // coerce ImagesLoaded() without new, to be new ImagesLoaded()\n if ( !( this instanceof ImagesLoaded ) ) {\n return new ImagesLoaded( elem, options, onAlways );\n }\n // use elem as selector string\n var queryElem = elem;\n if ( typeof elem == 'string' ) {\n queryElem = document.querySelectorAll( elem );\n }\n // bail if bad element\n if ( !queryElem ) {\n console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) );\n return;\n }\n\n this.elements = makeArray( queryElem );\n this.options = extend( {}, this.options );\n // shift arguments if no options set\n if ( typeof options == 'function' ) {\n onAlways = options;\n } else {\n extend( this.options, options );\n }\n\n if ( onAlways ) {\n this.on( 'always', onAlways );\n }\n\n this.getImages();\n\n if ( $ ) {\n // add jQuery Deferred object\n this.jqDeferred = new $.Deferred();\n }\n\n // HACK check async to allow time to bind listeners\n setTimeout( this.check.bind( this ) );\n}\n\nImagesLoaded.prototype = Object.create( EvEmitter.prototype );\n\nImagesLoaded.prototype.options = {};\n\nImagesLoaded.prototype.getImages = function() {\n this.images = [];\n\n // filter & find items if we have an item selector\n this.elements.forEach( this.addElementImages, this );\n};\n\n/**\n * @param {Node} element\n */\nImagesLoaded.prototype.addElementImages = function( elem ) {\n // filter siblings\n if ( elem.nodeName == 'IMG' ) {\n this.addImage( elem );\n }\n // get background image on element\n if ( this.options.background === true ) {\n this.addElementBackgroundImages( elem );\n }\n\n // find children\n // no non-element nodes, #143\n var nodeType = elem.nodeType;\n if ( !nodeType || !elementNodeTypes[ nodeType ] ) {\n return;\n }\n var childImgs = elem.querySelectorAll('img');\n // concat childElems to filterFound array\n for ( var i=0; i < childImgs.length; i++ ) {\n var img = childImgs[i];\n this.addImage( img );\n }\n\n // get child background images\n if ( typeof this.options.background == 'string' ) {\n var children = elem.querySelectorAll( this.options.background );\n for ( i=0; i < children.length; i++ ) {\n var child = children[i];\n this.addElementBackgroundImages( child );\n }\n }\n};\n\nvar elementNodeTypes = {\n 1: true,\n 9: true,\n 11: true\n};\n\nImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {\n var style = getComputedStyle( elem );\n if ( !style ) {\n // Firefox returns null if in a hidden iframe https://bugzil.la/548397\n return;\n }\n // get url inside url(\"...\")\n var reURL = /url\\((['\"])?(.*?)\\1\\)/gi;\n var matches = reURL.exec( style.backgroundImage );\n while ( matches !== null ) {\n var url = matches && matches[2];\n if ( url ) {\n this.addBackground( url, elem );\n }\n matches = reURL.exec( style.backgroundImage );\n }\n};\n\n/**\n * @param {Image} img\n */\nImagesLoaded.prototype.addImage = function( img ) {\n var loadingImage = new LoadingImage( img );\n this.images.push( loadingImage );\n};\n\nImagesLoaded.prototype.addBackground = function( url, elem ) {\n var background = new Background( url, elem );\n this.images.push( background );\n};\n\nImagesLoaded.prototype.check = function() {\n var _this = this;\n this.progressedCount = 0;\n this.hasAnyBroken = false;\n // complete if no images\n if ( !this.images.length ) {\n this.complete();\n return;\n }\n\n function onProgress( image, elem, message ) {\n // HACK - Chrome triggers event before object properties have changed. #83\n setTimeout( function() {\n _this.progress( image, elem, message );\n });\n }\n\n this.images.forEach( function( loadingImage ) {\n loadingImage.once( 'progress', onProgress );\n loadingImage.check();\n });\n};\n\nImagesLoaded.prototype.progress = function( image, elem, message ) {\n this.progressedCount++;\n this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;\n // progress event\n this.emitEvent( 'progress', [ this, image, elem ] );\n if ( this.jqDeferred && this.jqDeferred.notify ) {\n this.jqDeferred.notify( this, image );\n }\n // check if completed\n if ( this.progressedCount == this.images.length ) {\n this.complete();\n }\n\n if ( this.options.debug && console ) {\n console.log( 'progress: ' + message, image, elem );\n }\n};\n\nImagesLoaded.prototype.complete = function() {\n var eventName = this.hasAnyBroken ? 'fail' : 'done';\n this.isComplete = true;\n this.emitEvent( eventName, [ this ] );\n this.emitEvent( 'always', [ this ] );\n if ( this.jqDeferred ) {\n var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';\n this.jqDeferred[ jqMethod ]( this );\n }\n};\n\n// -------------------------- -------------------------- //\n\nfunction LoadingImage( img ) {\n this.img = img;\n}\n\nLoadingImage.prototype = Object.create( EvEmitter.prototype );\n\nLoadingImage.prototype.check = function() {\n // If complete is true and browser supports natural sizes,\n // try to check for image status manually.\n var isComplete = this.getIsImageComplete();\n if ( isComplete ) {\n // report based on naturalWidth\n this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n return;\n }\n\n // If none of the checks above matched, simulate loading on detached element.\n this.proxyImage = new Image();\n this.proxyImage.addEventListener( 'load', this );\n this.proxyImage.addEventListener( 'error', this );\n // bind to image as well for Firefox. #191\n this.img.addEventListener( 'load', this );\n this.img.addEventListener( 'error', this );\n this.proxyImage.src = this.img.src;\n};\n\nLoadingImage.prototype.getIsImageComplete = function() {\n // check for non-zero, non-undefined naturalWidth\n // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671\n return this.img.complete && this.img.naturalWidth;\n};\n\nLoadingImage.prototype.confirm = function( isLoaded, message ) {\n this.isLoaded = isLoaded;\n this.emitEvent( 'progress', [ this, this.img, message ] );\n};\n\n// ----- events ----- //\n\n// trigger specified handler for event type\nLoadingImage.prototype.handleEvent = function( event ) {\n var method = 'on' + event.type;\n if ( this[ method ] ) {\n this[ method ]( event );\n }\n};\n\nLoadingImage.prototype.onload = function() {\n this.confirm( true, 'onload' );\n this.unbindEvents();\n};\n\nLoadingImage.prototype.onerror = function() {\n this.confirm( false, 'onerror' );\n this.unbindEvents();\n};\n\nLoadingImage.prototype.unbindEvents = function() {\n this.proxyImage.removeEventListener( 'load', this );\n this.proxyImage.removeEventListener( 'error', this );\n this.img.removeEventListener( 'load', this );\n this.img.removeEventListener( 'error', this );\n};\n\n// -------------------------- Background -------------------------- //\n\nfunction Background( url, element ) {\n this.url = url;\n this.element = element;\n this.img = new Image();\n}\n\n// inherit LoadingImage prototype\nBackground.prototype = Object.create( LoadingImage.prototype );\n\nBackground.prototype.check = function() {\n this.img.addEventListener( 'load', this );\n this.img.addEventListener( 'error', this );\n this.img.src = this.url;\n // check if image is already complete\n var isComplete = this.getIsImageComplete();\n if ( isComplete ) {\n this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n this.unbindEvents();\n }\n};\n\nBackground.prototype.unbindEvents = function() {\n this.img.removeEventListener( 'load', this );\n this.img.removeEventListener( 'error', this );\n};\n\nBackground.prototype.confirm = function( isLoaded, message ) {\n this.isLoaded = isLoaded;\n this.emitEvent( 'progress', [ this, this.element, message ] );\n};\n\n// -------------------------- jQuery -------------------------- //\n\nImagesLoaded.makeJQueryPlugin = function( jQuery ) {\n jQuery = jQuery || window.jQuery;\n if ( !jQuery ) {\n return;\n }\n // set local variable\n $ = jQuery;\n // $().imagesLoaded()\n $.fn.imagesLoaded = function( options, callback ) {\n var instance = new ImagesLoaded( this, options, callback );\n return instance.jqDeferred.promise( $(this) );\n };\n};\n// try making plugin\nImagesLoaded.makeJQueryPlugin();\n\n// -------------------------- -------------------------- //\n\nreturn ImagesLoaded;\n\n});\n","/*!\n\tZoom 1.7.21\n\tlicense: MIT\n\thttp://www.jacklmoore.com/zoom\n*/\n(function ($) {\n\tvar defaults = {\n\t\turl: false,\n\t\tcallback: false,\n\t\ttarget: false,\n\t\tduration: 120,\n\t\ton: 'mouseover', // other options: grab, click, toggle\n\t\ttouch: true, // enables a touch fallback\n\t\tonZoomIn: false,\n\t\tonZoomOut: false,\n\t\tmagnify: 1\n\t};\n\n\t// Core Zoom Logic, independent of event listeners.\n\t$.zoom = function(target, source, img, magnify) {\n\t\tvar targetHeight,\n\t\t\ttargetWidth,\n\t\t\tsourceHeight,\n\t\t\tsourceWidth,\n\t\t\txRatio,\n\t\t\tyRatio,\n\t\t\toffset,\n\t\t\t$target = $(target),\n\t\t\tposition = $target.css('position'),\n\t\t\t$source = $(source);\n\n\t\t// The parent element needs positioning so that the zoomed element can be correctly positioned within.\n\t\ttarget.style.position = /(absolute|fixed)/.test(position) ? position : 'relative';\n\t\ttarget.style.overflow = 'hidden';\n\t\timg.style.width = img.style.height = '';\n\n\t\t$(img)\n\t\t\t.addClass('zoomImg')\n\t\t\t.css({\n\t\t\t\tposition: 'absolute',\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\topacity: 0,\n\t\t\t\twidth: img.width * magnify,\n\t\t\t\theight: img.height * magnify,\n\t\t\t\tborder: 'none',\n\t\t\t\tmaxWidth: 'none',\n\t\t\t\tmaxHeight: 'none'\n\t\t\t})\n\t\t\t.appendTo(target);\n\n\t\treturn {\n\t\t\tinit: function() {\n\t\t\t\ttargetWidth = $target.outerWidth();\n\t\t\t\ttargetHeight = $target.outerHeight();\n\n\t\t\t\tif (source === target) {\n\t\t\t\t\tsourceWidth = targetWidth;\n\t\t\t\t\tsourceHeight = targetHeight;\n\t\t\t\t} else {\n\t\t\t\t\tsourceWidth = $source.outerWidth();\n\t\t\t\t\tsourceHeight = $source.outerHeight();\n\t\t\t\t}\n\n\t\t\t\txRatio = (img.width - targetWidth) / sourceWidth;\n\t\t\t\tyRatio = (img.height - targetHeight) / sourceHeight;\n\n\t\t\t\toffset = $source.offset();\n\t\t\t},\n\t\t\tmove: function (e) {\n\t\t\t\tvar left = (e.pageX - offset.left),\n\t\t\t\t\ttop = (e.pageY - offset.top);\n\n\t\t\t\ttop = Math.max(Math.min(top, sourceHeight), 0);\n\t\t\t\tleft = Math.max(Math.min(left, sourceWidth), 0);\n\n\t\t\t\timg.style.left = (left * -xRatio) + 'px';\n\t\t\t\timg.style.top = (top * -yRatio) + 'px';\n\t\t\t}\n\t\t};\n\t};\n\n\t$.fn.zoom = function (options) {\n\t\treturn this.each(function () {\n\t\t\tvar\n\t\t\tsettings = $.extend({}, defaults, options || {}),\n\t\t\t//target will display the zoomed image\n\t\t\ttarget = settings.target && $(settings.target)[0] || this,\n\t\t\t//source will provide zoom location info (thumbnail)\n\t\t\tsource = this,\n\t\t\t$source = $(source),\n\t\t\timg = document.createElement('img'),\n\t\t\t$img = $(img),\n\t\t\tmousemove = 'mousemove.zoom',\n\t\t\tclicked = false,\n\t\t\ttouched = false;\n\n\t\t\t// If a url wasn't specified, look for an image element.\n\t\t\tif (!settings.url) {\n\t\t\t\tvar srcElement = source.querySelector('img');\n\t\t\t\tif (srcElement) {\n\t\t\t\t\tsettings.url = srcElement.getAttribute('data-src') || srcElement.currentSrc || srcElement.src;\n\t\t\t\t}\n\t\t\t\tif (!settings.url) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$source.one('zoom.destroy', function(position, overflow){\n\t\t\t\t$source.off(\".zoom\");\n\t\t\t\ttarget.style.position = position;\n\t\t\t\ttarget.style.overflow = overflow;\n\t\t\t\timg.onload = null;\n\t\t\t\t$img.remove();\n\t\t\t}.bind(this, target.style.position, target.style.overflow));\n\n\t\t\timg.onload = function () {\n\t\t\t\tvar zoom = $.zoom(target, source, img, settings.magnify);\n\n\t\t\t\tfunction start(e) {\n\t\t\t\t\tzoom.init();\n\t\t\t\t\tzoom.move(e);\n\n\t\t\t\t\t// Skip the fade-in for IE8 and lower since it chokes on fading-in\n\t\t\t\t\t// and changing position based on mousemovement at the same time.\n\t\t\t\t\t$img.stop()\n\t\t\t\t\t.fadeTo($.support.opacity ? settings.duration : 0, 1, $.isFunction(settings.onZoomIn) ? settings.onZoomIn.call(img) : false);\n\t\t\t\t}\n\n\t\t\t\tfunction stop() {\n\t\t\t\t\t$img.stop()\n\t\t\t\t\t.fadeTo(settings.duration, 0, $.isFunction(settings.onZoomOut) ? settings.onZoomOut.call(img) : false);\n\t\t\t\t}\n\n\t\t\t\t// Mouse events\n\t\t\t\tif (settings.on === 'grab') {\n\t\t\t\t\t$source\n\t\t\t\t\t\t.on('mousedown.zoom',\n\t\t\t\t\t\t\tfunction (e) {\n\t\t\t\t\t\t\t\tif (e.which === 1) {\n\t\t\t\t\t\t\t\t\t$(document).one('mouseup.zoom',\n\t\t\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\t\t\tstop();\n\n\t\t\t\t\t\t\t\t\t\t\t$(document).off(mousemove, zoom.move);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tstart(e);\n\n\t\t\t\t\t\t\t\t\t$(document).on(mousemove, zoom.move);\n\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t} else if (settings.on === 'click') {\n\t\t\t\t\t$source.on('click.zoom',\n\t\t\t\t\t\tfunction (e) {\n\t\t\t\t\t\t\tif (clicked) {\n\t\t\t\t\t\t\t\t// bubble the event up to the document to trigger the unbind.\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tclicked = true;\n\t\t\t\t\t\t\t\tstart(e);\n\t\t\t\t\t\t\t\t$(document).on(mousemove, zoom.move);\n\t\t\t\t\t\t\t\t$(document).one('click.zoom',\n\t\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t\t\t\tclicked = false;\n\t\t\t\t\t\t\t\t\t\t$(document).off(mousemove, zoom.move);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else if (settings.on === 'toggle') {\n\t\t\t\t\t$source.on('click.zoom',\n\t\t\t\t\t\tfunction (e) {\n\t\t\t\t\t\t\tif (clicked) {\n\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstart(e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclicked = !clicked;\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else if (settings.on === 'mouseover') {\n\t\t\t\t\tzoom.init(); // Preemptively call init because IE7 will fire the mousemove handler before the hover handler.\n\n\t\t\t\t\t$source\n\t\t\t\t\t\t.on('mouseenter.zoom', start)\n\t\t\t\t\t\t.on('mouseleave.zoom', stop)\n\t\t\t\t\t\t.on(mousemove, zoom.move);\n\t\t\t\t}\n\n\t\t\t\t// Touch fallback\n\t\t\t\tif (settings.touch) {\n\t\t\t\t\t$source\n\t\t\t\t\t\t.on('touchstart.zoom', function (e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tif (touched) {\n\t\t\t\t\t\t\t\ttouched = false;\n\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ttouched = true;\n\t\t\t\t\t\t\t\tstart( e.originalEvent.touches[0] || e.originalEvent.changedTouches[0] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.on('touchmove.zoom', function (e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tzoom.move( e.originalEvent.touches[0] || e.originalEvent.changedTouches[0] );\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.on('touchend.zoom', function (e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tif (touched) {\n\t\t\t\t\t\t\t\ttouched = false;\n\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif ($.isFunction(settings.callback)) {\n\t\t\t\t\tsettings.callback.call(img);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\timg.setAttribute('role', 'presentation');\n\t\t\timg.alt = '';\n\t\t\timg.src = settings.url;\n\t\t});\n\t};\n\n\t$.fn.zoom.defaults = defaults;\n}(window.jQuery));\n","/*!\n * jQuery scrollintoview() plugin and :scrollable selector filter\n *\n * Version 1.9.4 (06 April 2016)\n * Requires jQuery 1.4 or newer\n *\n * Copyright (c) 2011 Robert Koritnik\n * Licensed under the terms of the MIT license\n * http://www.opensource.org/licenses/mit-license.php\n */\n\n!function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define(['jquery'], factory);\n } else if (typeof exports === 'object') {\n factory(require('jquery'));\n } else {\n factory(root.jQuery);\n }\n}\n(this, function($) {\n var converter = {\n vertical: { x: false, y: true },\n horizontal: { x: true, y: false },\n both: { x: true, y: true },\n x: { x: true, y: false },\n y: { x: false, y: true }\n };\n\n var settings = {\n duration: \"fast\",\n direction: \"both\",\n viewPadding: 0\n };\n\n var rootrx = /^(?:html)$/i;\n\n // gets border dimensions\n var borders = function(domElement, styles) {\n styles = styles || (document.defaultView && document.defaultView.getComputedStyle ? document.defaultView.getComputedStyle(domElement, null) : domElement.currentStyle);\n var px = document.defaultView && document.defaultView.getComputedStyle ? true : false;\n var b = {\n top: (parseFloat(px ? styles.borderTopWidth : $.css(domElement, \"borderTopWidth\")) || 0),\n left: (parseFloat(px ? styles.borderLeftWidth : $.css(domElement, \"borderLeftWidth\")) || 0),\n bottom: (parseFloat(px ? styles.borderBottomWidth : $.css(domElement, \"borderBottomWidth\")) || 0),\n right: (parseFloat(px ? styles.borderRightWidth : $.css(domElement, \"borderRightWidth\")) || 0)\n };\n return {\n top: b.top,\n left: b.left,\n bottom: b.bottom,\n right: b.right,\n vertical: b.top + b.bottom,\n horizontal: b.left + b.right\n };\n };\n\n var dimensions = function($element) {\n var elem = $element[0],\n isRoot = rootrx.test(elem.nodeName),\n $elem = isRoot ? $(window) : $element;\n return {\n border: isRoot ? { top: 0, left: 0, bottom: 0, right: 0 } : borders(elem),\n scroll: {\n top: $elem.scrollTop(),\n left: $elem.scrollLeft(),\n maxtop: elem.scrollHeight - elem.clientHeight,\n maxleft: elem.scrollWidth - elem.clientWidth\n },\n scrollbar: isRoot\n ? { right: 0, bottom: 0 }\n : {\n right: $elem.innerWidth() - elem.clientWidth,\n bottom: $elem.innerHeight() - elem.clientHeight\n },\n rect: isRoot ? { top: 0, left: 0, bottom: elem.clientHeight, right: elem.clientWidth } : elem.getBoundingClientRect()\n };\n };\n\n $.fn.extend({\n scrollintoview: function(options) {\n /// <summary>Scrolls the first element in the set into view by scrolling its closest scrollable parent.</summary>\n /// <param name=\"options\" type=\"Object\">Additional options that can configure scrolling:\n /// duration (default: \"fast\") - jQuery animation speed (can be a duration string or number of milliseconds)\n /// direction (default: \"both\") - select possible scrollings (\"vertical\" or \"y\", \"horizontal\" or \"x\", \"both\")\n /// complete (default: none) - a function to call when scrolling completes (called in context of the DOM element being scrolled)\n /// </param>\n /// <return type=\"jQuery\">Returns the same jQuery set that this function was run on.</return>\n\n options = $.extend({}, settings, options);\n options.direction = converter[typeof (options.direction) === \"string\" && options.direction.toLowerCase()] || converter.both;\n\n if (typeof options.viewPadding == \"number\") {\n options.viewPadding = { x: options.viewPadding, y: options.viewPadding };\n } else if (typeof options.viewPadding == \"object\") {\n if (options.viewPadding.x == undefined) {\n options.viewPadding.x = 0;\n }\n if (options.viewPadding.y == undefined) {\n options.viewPadding.y = 0;\n }\n }\n\n var dirStr = \"\";\n if (options.direction.x === true) dirStr = \"horizontal\";\n if (options.direction.y === true) dirStr = dirStr ? \"both\" : \"vertical\";\n\n var el = this.eq(0);\n var scroller = el.parent().closest(\":scrollable(\" + dirStr + \")\");\n\n // check if there's anything to scroll in the first place\n if (scroller.length > 0) {\n scroller = scroller.eq(0);\n\n var dim = {\n e: dimensions(el),\n s: dimensions(scroller)\n };\n\n var rel = {\n top: dim.e.rect.top - (dim.s.rect.top + dim.s.border.top),\n bottom: dim.s.rect.bottom - dim.s.border.bottom - dim.s.scrollbar.bottom - dim.e.rect.bottom,\n left: dim.e.rect.left - (dim.s.rect.left + dim.s.border.left),\n right: dim.s.rect.right - dim.s.border.right - dim.s.scrollbar.right - dim.e.rect.right\n };\n\n var animProperties = {};\n\n // vertical scroll\n if (options.direction.y === true) {\n if (rel.top < 0) {\n animProperties.scrollTop = Math.max(0, dim.s.scroll.top + rel.top - options.viewPadding.y);\n } else if (rel.top > 0 && rel.bottom < 0) {\n animProperties.scrollTop = Math.min(dim.s.scroll.top + Math.min(rel.top, -rel.bottom) + options.viewPadding.y, dim.s.scroll.maxtop);\n }\n }\n\n // horizontal scroll\n if (options.direction.x === true) {\n if (rel.left < 0) {\n animProperties.scrollLeft = Math.max(0, dim.s.scroll.left + rel.left - options.viewPadding.x);\n } else if (rel.left > 0 && rel.right < 0) {\n animProperties.scrollLeft = Math.min(dim.s.scroll.left + Math.min(rel.left, -rel.right) + options.viewPadding.x, dim.s.scroll.maxleft);\n }\n }\n\n // scroll if needed\n if (!$.isEmptyObject(animProperties)) {\n var scrollExpect = {},\n scrollListener = scroller;\n\n if (rootrx.test(scroller[0].nodeName)) {\n scroller = $(\"html,body\");\n scrollListener = $(window);\n }\n\n function animateStep(now, tween) {\n scrollExpect[tween.prop] = Math.floor(now);\n };\n\n function onscroll(event) {\n $.each(scrollExpect, function(key, value) {\n if (Math.floor(scrollListener[key]()) != Math.floor(value)) {\n options.complete = null; // don't run complete function if the scrolling was interrupted\n scroller.stop('scrollintoview');\n }\n });\n }\n\n scrollListener.on('scroll', onscroll);\n\n scroller\n .stop('scrollintoview')\n .animate(animProperties, { duration: options.duration, step: animateStep, queue: 'scrollintoview' })\n .eq(0) // we want function to be called just once (ref. \"html,body\")\n .queue('scrollintoview', function(next) {\n scrollListener.off('scroll', onscroll);\n $.isFunction(options.complete) && options.complete.call(scroller[0]);\n next();\n })\n\n scroller.dequeue('scrollintoview');\n } else {\n // when there's nothing to scroll, just call the \"complete\" function\n $.isFunction(options.complete) && options.complete.call(scroller[0]);\n }\n }\n\n // return set back\n return this;\n }\n });\n\n var scrollValue = {\n auto: true,\n scroll: true,\n visible: false,\n hidden: false\n };\n\n var scroll = function(element, direction) {\n direction = converter[typeof (direction) === \"string\" && direction.toLowerCase()] || converter.both;\n var styles = (document.defaultView && document.defaultView.getComputedStyle ? document.defaultView.getComputedStyle(element, null) : element.currentStyle);\n var overflow = {\n x: scrollValue[styles.overflowX.toLowerCase()] || false,\n y: scrollValue[styles.overflowY.toLowerCase()] || false,\n isRoot: rootrx.test(element.nodeName)\n };\n\n // check if completely unscrollable (exclude HTML element because it's special)\n if (!overflow.x && !overflow.y && !overflow.isRoot) {\n return false;\n }\n\n var size = {\n height: {\n scroll: element.scrollHeight,\n client: element.clientHeight\n },\n width: {\n scroll: element.scrollWidth,\n client: element.clientWidth\n },\n // check overflow.x/y because iPad (and possibly other tablets) don't dislay scrollbars\n scrollableX: function() {\n return (overflow.x || overflow.isRoot) && this.width.scroll > this.width.client;\n },\n scrollableY: function() {\n return (overflow.y || overflow.isRoot) && this.height.scroll > this.height.client;\n }\n };\n return direction.y && size.scrollableY() || direction.x && size.scrollableX();\n };\n\n $.expr[\":\"].scrollable = $.expr.createPseudo(function(direction) {\n return function(element) {\n return scroll(element, direction);\n };\n });\n});\n","/*!\n * jQuery JavaScript Library v3.6.0\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-03-02T17:08Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n\t\t// Support: Chrome <=57, Firefox <=52\n\t\t// In some browsers, typeof returns \"function\" for HTML <object> elements\n\t\t// (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n\t\t// We don't want to classify *any* DOM node as a function.\n\t\t// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n\t\t// Plus for old WebKit, typeof returns \"function\" for HTML collections\n\t\t// (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n\t\treturn typeof obj === \"function\" && typeof obj.nodeType !== \"number\" &&\n\t\t\ttypeof obj.item !== \"function\";\n\t};\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar\n\tversion = \"3.6.0\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teven: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn ( i + 1 ) % 2;\n\t\t} ) );\n\t},\n\n\todd: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn i % 2;\n\t\t} ) );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a provided context; falls back to the global one\n\t// if not specified.\n\tglobalEval: function( code, options, doc ) {\n\t\tDOMEval( code, { nonce: options && options.nonce }, doc );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn flat( ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.3.6\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2021-02-16\n */\n( function( window ) {\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// Instance methods\n\thasOwn = ( {} ).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpushNative = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\n\t// Use a stripped-down indexOf as it's faster than native\n\t// https://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[ i ] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|\" +\n\t\t\"ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\n\t\t// \"Attribute values must be CSS identifiers [capture 5]\n\t\t// or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\n\t\twhitespace + \"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" +\n\t\twhitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace +\n\t\t\"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" +\n\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\n\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace +\n\t\t\t\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trhtml = /HTML$/i,\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\n\tfunescape = function( escape, nonHex ) {\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\n\n\t\treturn nonHex ?\n\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\n\t\t\tnonHex :\n\n\t\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\n\t\t\t// Support: IE <=11+\n\t\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\n\t\t\t// surrogate pair\n\t\t\thigh < 0 ?\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\trcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n\tfcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" +\n\t\t\t\tch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && elem.nodeName.toLowerCase() === \"fieldset\";\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t( arr = slice.call( preferredDoc.childNodes ) ),\n\t\tpreferredDoc.childNodes\n\t);\n\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\t// eslint-disable-next-line no-unused-expressions\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpushNative.apply( target, slice.call( els ) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( ( target[ j++ ] = els[ i++ ] ) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\t\tsetDocument( context );\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( ( m = match[ 1 ] ) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( ( elem = context.getElementById( m ) ) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && ( elem = newContext.getElementById( m ) ) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[ 2 ] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&\n\n\t\t\t\t// Support: IE 8 only\n\t\t\t\t// Exclude object elements\n\t\t\t\t( nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\" ) ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 &&\n\t\t\t\t\t( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\n\t\t\t\t\t// supports it & if we're not changing the context.\n\t\t\t\t\tif ( newContext !== context || !support.scope ) {\n\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\n\t\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[ i ] = ( nid ? \"#\" + nid : \":scope\" ) + \" \" +\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn ( cache[ key + \" \" ] = value );\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement( \"fieldset\" );\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch ( e ) {\n\t\treturn false;\n\t} finally {\n\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split( \"|\" ),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[ i ] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\ta.sourceIndex - b.sourceIndex;\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( ( cur = cur.nextSibling ) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn ( name === \"input\" || name === \"button\" ) && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\t/* jshint -W018 */\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction( function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction( function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\n\t\t\t\t\tseed[ j ] = !( matches[ j ] = seed[ j ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t} );\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\tvar namespace = elem && elem.namespaceURI,\n\t\tdocElem = elem && ( elem.ownerDocument || elem ).documentElement;\n\n\t// Support: IE <=8\n\t// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n\t// https://bugs.jquery.com/ticket/4833\n\treturn !rhtml.test( namespace || docElem && docElem.nodeName || \"HTML\" );\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( preferredDoc != document &&\n\t\t( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 11, Edge\n\t\tif ( subWindow.addEventListener ) {\n\t\t\tsubWindow.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( subWindow.attachEvent ) {\n\t\t\tsubWindow.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,\n\t// Safari 4 - 5 only, Opera <=11.6 - 12.x only\n\t// IE/Edge & older browsers don't support the :scope pseudo-class.\n\t// Support: Safari 6.0 only\n\t// Safari 6.0 supports :scope but it's an alias of :root there.\n\tsupport.scope = assert( function( el ) {\n\t\tdocElem.appendChild( el ).appendChild( document.createElement( \"div\" ) );\n\t\treturn typeof el.querySelectorAll !== \"undefined\" &&\n\t\t\t!el.querySelectorAll( \":scope fieldset div\" ).length;\n\t} );\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert( function( el ) {\n\t\tel.className = \"i\";\n\t\treturn !el.getAttribute( \"className\" );\n\t} );\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert( function( el ) {\n\t\tel.appendChild( document.createComment( \"\" ) );\n\t\treturn !el.getElementsByTagName( \"*\" ).length;\n\t} );\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert( function( el ) {\n\t\tdocElem.appendChild( el ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t} );\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"id\" ) === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode( \"id\" );\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( ( elem = elems[ i++ ] ) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[ \"TAG\" ] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[ \"CLASS\" ] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See https://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {\n\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert( function( el ) {\n\n\t\t\tvar input;\n\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// https://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( el ).innerHTML = \"<a id='\" + expando + \"'></a>\" +\n\t\t\t\t\"<select id='\" + expando + \"-\\r\\\\' msallowcapture=''>\" +\n\t\t\t\t\"<option selected=''></option></select>\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( el.querySelectorAll( \"[msallowcapture^='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !el.querySelectorAll( \"[selected]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"~=\" );\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 15 - 18+\n\t\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\n\t\t\t// Adding a temporary attribute to the document before the selection works\n\t\t\t// around the issue.\n\t\t\t// Interestingly, IE 10 & older don't seem to have the issue.\n\t\t\tinput = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"name\", \"\" );\n\t\t\tel.appendChild( input );\n\t\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\n\t\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !el.querySelectorAll( \":checked\" ).length ) {\n\t\t\t\trbuggyQSA.push( \":checked\" );\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push( \".#.+[+~]\" );\n\t\t\t}\n\n\t\t\t// Support: Firefox <=3.6 - 5 only\n\t\t\t// Old Firefox doesn't throw on a badly-escaped identifier.\n\t\t\tel.querySelectorAll( \"\\\\\\f\" );\n\t\t\trbuggyQSA.push( \"[\\\\r\\\\n\\\\f]\" );\n\t\t} );\n\n\t\tassert( function( el ) {\n\t\t\tel.innerHTML = \"<a href='' disabled='disabled'></a>\" +\n\t\t\t\t\"<select disabled='disabled'><option/></select>\";\n\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( el.querySelectorAll( \"[name=d]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( el.querySelectorAll( \":enabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t\tdocElem.appendChild( el ).disabled = true;\n\t\t\tif ( el.querySelectorAll( \":disabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: Opera 10 - 11 only\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tel.querySelectorAll( \"*,:x\" );\n\t\t\trbuggyQSA.push( \",.*:\" );\n\t\t} );\n\t}\n\n\tif ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector ) ) ) ) {\n\n\t\tassert( function( el ) {\n\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( el, \"*\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( el, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t} );\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( \"|\" ) );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( \"|\" ) );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t) );\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( ( b = b.parentNode ) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( a == document || a.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, a ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( b == document || b.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, b ) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\treturn a == document ? -1 :\n\t\t\t\tb == document ? 1 :\n\t\t\t\t/* eslint-enable eqeqeq */\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[ i ] === bp[ i ] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[ i ], bp[ i ] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\tap[ i ] == preferredDoc ? -1 :\n\t\t\tbp[ i ] == preferredDoc ? 1 :\n\t\t\t/* eslint-enable eqeqeq */\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\tsetDocument( elem );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\n\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t// fragment in IE 9\n\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( context.ownerDocument || context ) != document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( elem.ownerDocument || elem ) != document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.escape = function( sel ) {\n\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( ( node = elem[ i++ ] ) ) {\n\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] ||\n\t\t\t\tmatch[ 5 ] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[ 2 ] === \"~=\" ) {\n\t\t\t\tmatch[ 3 ] = \" \" + match[ 3 ] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[ 1 ] = match[ 1 ].toLowerCase();\n\n\t\t\tif ( match[ 1 ].slice( 0, 3 ) === \"nth\" ) {\n\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[ 3 ] ) {\n\t\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[ 4 ] = +( match[ 4 ] ?\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" ) );\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\n\n\t\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[ 3 ] ) {\n\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[ 6 ] && match[ 2 ];\n\n\t\t\tif ( matchExpr[ \"CHILD\" ].test( match[ 0 ] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[ 3 ] ) {\n\t\t\t\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t( excess = tokenize( unquoted, true ) ) &&\n\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t( excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length ) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\n\t\t\t\tmatch[ 2 ] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() {\n\t\t\t\t\treturn true;\n\t\t\t\t} :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t( pattern = new RegExp( \"(^|\" + whitespace +\n\t\t\t\t\t\")\" + className + \"(\" + whitespace + \"|$)\" ) ) && classCache(\n\t\t\t\t\t\tclassName, function( elem ) {\n\t\t\t\t\t\t\treturn pattern.test(\n\t\t\t\t\t\t\t\ttypeof elem.className === \"string\" && elem.className ||\n\t\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" &&\n\t\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t);\n\t\t\t\t} );\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\t/* eslint-disable max-len */\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t\t/* eslint-enable max-len */\n\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, _argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( ( node = node[ dir ] ) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction( function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[ i ] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction( function( selector ) {\n\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction( function( seed, matches, _context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\t\t\t\t\tseed[ i ] = !( matches[ i ] = elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} ) :\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tinput[ 0 ] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[ 0 ] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t} ),\n\n\t\t\"has\": markFunction( function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t} ),\n\n\t\t\"contains\": markFunction( function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t} ),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test( lang || \"\" ) ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( ( elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute( \"xml:lang\" ) || elem.getAttribute( \"lang\" ) ) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t} ),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement &&\n\t\t\t\t( !document.hasFocus || document.hasFocus() ) &&\n\t\t\t\t!!( elem.type || elem.href || ~elem.tabIndex );\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": createDisabledPseudo( false ),\n\t\t\"disabled\": createDisabledPseudo( true ),\n\n\t\t\"checked\": function( elem ) {\n\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn ( nodeName === \"input\" && !!elem.checked ) ||\n\t\t\t\t( nodeName === \"option\" && !!elem.selected );\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[ \"empty\" ]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( ( attr = elem.getAttribute( \"type\" ) ) == null ||\n\t\t\t\t\tattr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo( function() {\n\t\t\treturn [ 0 ];\n\t\t} ),\n\n\t\t\"last\": createPositionalPseudo( function( _matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t} ),\n\n\t\t\"eq\": createPositionalPseudo( function( _matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t} ),\n\n\t\t\"even\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"odd\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"lt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ?\n\t\t\t\targument + length :\n\t\t\t\targument > length ?\n\t\t\t\t\tlength :\n\t\t\t\t\targument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"gt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} )\n\t}\n};\n\nExpr.pseudos[ \"nth\" ] = Expr.pseudos[ \"eq\" ];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\n\t\t\tif ( match ) {\n\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( ( tokens = [] ) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( ( match = rcombinators.exec( soFar ) ) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[ 0 ].replace( rtrim, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||\n\t\t\t\t( match = preFilters[ type ]( match ) ) ) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[ i ].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] ||\n\t\t\t\t\t\t\t( outerCache[ elem.uniqueID ] = {} );\n\n\t\t\t\t\t\tif ( skip && skip === elem.nodeName.toLowerCase() ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( ( oldCache = uniqueCache[ key ] ) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[ i ]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[ 0 ];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[ i ], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction( function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts(\n\t\t\t\tselector || \"*\",\n\t\t\t\tcontext.nodeType ? [ context ] : context,\n\t\t\t\t[]\n\t\t\t),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( ( elem = temp[ i ] ) ) {\n\t\t\t\t\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) ) {\n\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( ( matcherIn[ i ] = elem ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, ( matcherOut = [] ), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) &&\n\t\t\t\t\t\t( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {\n\n\t\t\t\t\t\tseed[ temp ] = !( results[ temp ] = elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t} );\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[ \" \" ],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t( checkContext = context ).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[ j ].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\n\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\ttokens\n\t\t\t\t\t\t.slice( 0, i - 1 )\n\t\t\t\t\t\t.concat( { value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" } )\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[ \"TAG\" ]( \"*\", outermost ),\n\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\toutermostContext = context == document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: <number>) matching elements by id\n\t\t\tfor ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( !context && elem.ownerDocument != document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( ( elem = !matcher && elem ) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\n\t\t\t\t\t\t\t\tsetMatched[ i ] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[ i ] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache(\n\t\t\tselector,\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers )\n\t\t);\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( ( selector = compiled.selector || selector ) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\n\t\tif ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === \"ID\" &&\n\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\n\n\t\t\tcontext = ( Expr.find[ \"ID\" ]( token.matches[ 0 ]\n\t\t\t\t.replace( runescape, funescape ), context ) || [] )[ 0 ];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[ \"needsContext\" ].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[ i ];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ ( type = token.type ) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( ( find = Expr.find[ type ] ) ) {\n\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( ( seed = find(\n\t\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext\n\t\t\t\t) ) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert( function( el ) {\n\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement( \"fieldset\" ) ) & 1;\n} );\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert( function( el ) {\n\tel.innerHTML = \"<a href='#'></a>\";\n\treturn el.firstChild.getAttribute( \"href\" ) === \"#\";\n} ) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert( function( el ) {\n\tel.innerHTML = \"<input/>\";\n\tel.firstChild.setAttribute( \"value\", \"\" );\n\treturn el.firstChild.getAttribute( \"value\" ) === \"\";\n} ) ) {\n\taddHandle( \"value\", function( elem, _name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert( function( el ) {\n\treturn el.getAttribute( \"disabled\" ) == null;\n} ) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\t\tnull;\n\t\t}\n\t} );\n}\n\nreturn Sizzle;\n\n} )( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\njQuery.escapeSelector = Sizzle.escape;\n\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\n\n\nfunction nodeName( elem, name ) {\n\n\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n}\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( elem.contentDocument != null &&\n\n\t\t\t// Support: IE 11+\n\t\t\t// <object> elements with no `data` attribute has an object\n\t\t\t// `contentDocument` with a `null` prototype.\n\t\t\tgetProto( elem.contentDocument ) ) {\n\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( _i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.stackTrace );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the stack, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.stackTrace = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the primary Deferred\n\t\t\tprimary = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tprimary.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( primary.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn primary.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );\n\t\t}\n\n\t\treturn primary.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\njQuery.Deferred.exceptionHook = function( error, stack ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message, error.stack, stack );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, _key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\t\tvalue :\n\t\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( _all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (#9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType &&\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"<textarea>x</textarea>\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// Support: IE <=9 only\n\t// IE <=9 replaces <option> tags with their contents when inserted outside of\n\t// the select element.\n\tdiv.innerHTML = \"<option></option>\";\n\tsupport.option = !!div.lastChild;\n} )();\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting <tbody> or other required elements.\n\tthead: [ 1, \"<table>\", \"</table>\" ],\n\tcol: [ 2, \"<table><colgroup>\", \"</colgroup></table>\" ],\n\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: IE <=9 only\nif ( !support.option ) {\n\twrapMap.optgroup = wrapMap.option = [ 1, \"<select multiple='multiple'>\", \"</select>\" ];\n}\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\nvar rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE <=9 - 11+\n// focus() and blur() are asynchronous, except when they are no-op.\n// So expect focus to be synchronous when the element is already active,\n// and blur to be synchronous when the element is not already active.\n// (focus and blur are always synchronous in other supported browsers,\n// this just defines when we can count on it).\nfunction expectSync( elem, type ) {\n\treturn ( elem === safeActiveElement() ) === ( type === \"focus\" );\n}\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Only attach events to objects that accept data\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = Object.create( null );\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\n\n\t\t\thandlers = (\n\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\n\t\t\t)[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG <use> instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", returnTrue );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, expectSync ) {\n\n\t// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !expectSync ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar notAsync, result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\t// Saved data should be false in such cases, but might be a leftover capture object\n\t\t\t\t// from an async native handler (gh-4350)\n\t\t\t\tif ( !saved.length ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t// focus() and blur() are asynchronous\n\t\t\t\t\tnotAsync = expectSync( this, type );\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tif ( saved !== result || notAsync ) {\n\t\t\t\t\t\tdataPriv.set( this, type, false );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t// Support: Chrome 86+\n\t\t\t\t\t\t// In Chrome, if an element having a focusout handler is blurred by\n\t\t\t\t\t\t// clicking outside of it, it invokes the handler synchronously. If\n\t\t\t\t\t\t// that handler calls `.remove()` on the element, the data is cleared,\n\t\t\t\t\t\t// leaving `result` undefined. We need to guard against this.\n\t\t\t\t\t\treturn result && result.value;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering the\n\t\t\t\t// native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved.length ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, {\n\t\t\t\t\tvalue: jQuery.event.trigger(\n\n\t\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t\t// Extend with the prototype to reset the above stopImmediatePropagation()\n\t\t\t\t\t\tjQuery.extend( saved[ 0 ], jQuery.Event.prototype ),\n\t\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\t\tthis\n\t\t\t\t\t)\n\t\t\t\t} );\n\n\t\t\t\t// Abort handling of the native event\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (#504, #13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\twhich: true\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, expectSync );\n\n\t\t\t// Return false to allow normal processing in the caller\n\t\t\treturn false;\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\t// Suppress native focus or blur as it's already being fired\n\t\t// in leverageNative.\n\t\t_default: function() {\n\t\t\treturn true;\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /<script|<style|<link/i,\n\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trcleanScript = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) &&\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.get( src );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdataPriv.remove( dest, \"handle events\" );\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = flat( args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src && ( node.type || \"\" ).toLowerCase() !== \"module\" ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl && !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t}, doc );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && isAttached( node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html;\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = isAttached( elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar swap = function( elem, options, callback ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.call( elem );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\n\n\n\n( function() {\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome <=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableTrDimensionsVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE <=9 - 11 only\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t},\n\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Behavior in IE 9 is more subtle than in newer versions & it passes\n\t\t// some versions of this test; make sure not to make it pass there!\n\t\t//\n\t\t// Support: Firefox 70+\n\t\t// Only Firefox includes border widths\n\t\t// in computed dimensions. (gh-4529)\n\t\treliableTrDimensions: function() {\n\t\t\tvar table, tr, trChild, trStyle;\n\t\t\tif ( reliableTrDimensionsVal == null ) {\n\t\t\t\ttable = document.createElement( \"table\" );\n\t\t\t\ttr = document.createElement( \"tr\" );\n\t\t\t\ttrChild = document.createElement( \"div\" );\n\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\n\t\t\t\ttr.style.cssText = \"border:1px solid\";\n\n\t\t\t\t// Support: Chrome 86+\n\t\t\t\t// Height set through cssText does not get applied.\n\t\t\t\t// Computed height then comes back as 0.\n\t\t\t\ttr.style.height = \"1px\";\n\t\t\t\ttrChild.style.height = \"9px\";\n\n\t\t\t\t// Support: Android 8 Chrome 86+\n\t\t\t\t// In our bodyBackground.html iframe,\n\t\t\t\t// display for all div elements is set to \"inline\",\n\t\t\t\t// which causes a problem only in Android 8 Chrome 86.\n\t\t\t\t// Ensuring the div is display: block\n\t\t\t\t// gets around this issue.\n\t\t\t\ttrChild.style.display = \"block\";\n\n\t\t\t\tdocumentElement\n\t\t\t\t\t.appendChild( table )\n\t\t\t\t\t.appendChild( tr )\n\t\t\t\t\t.appendChild( trChild );\n\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\n\t\t\t\treliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderTopWidth, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;\n\n\t\t\t\tdocumentElement.removeChild( table );\n\t\t\t}\n\t\t\treturn reliableTrDimensionsVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t// .css('filter') (IE 9 only, #12537)\n\t// .css('--customProperty) (#3144)\n\tif ( computed ) {\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\tif ( ret === \"\" && !isAttached( elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE <=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trcustomProp = /^--/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t};\n\nfunction setPositiveNumber( _elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\tif ( box === \"margin\" ) {\n\t\t\tdelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox && computedVal >= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox <=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Support: IE 9 - 11 only\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\n\t// In those cases, the computed value can be trusted to be border-box.\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\n\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\n\t\t!support.reliableTrDimensions() && nodeName( elem, \"tr\" ) ||\n\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\n\t\tval === \"auto\" ||\n\n\t\t// Support: Android <=4.1 - 4.3 only\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\n\n\t\t// Make sure the element is visible & connected\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"gridArea\": true,\n\t\t\"gridColumn\": true,\n\t\t\"gridColumnEnd\": true,\n\t\t\"gridColumnStart\": true,\n\t\t\"gridRow\": true,\n\t\t\"gridRowEnd\": true,\n\t\t\"gridRowStart\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( _i, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE <=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t} ) :\n\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded &&\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( prefix !== \"margin\" ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 && (\n\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = Date.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox && elem.nodeType === 1 ) {\n\n\t\t// Support: IE <=9 - 11, Edge 12 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow && dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tisFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !isFunction( easing ) && easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\n\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( _i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = Date.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android <=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE <=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE <=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( _i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE <=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value,\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( isValidValue ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = classesToArray( value );\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, valueIsFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalueIsFunction = isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE <=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\nsupport.focusin = \"onfocusin\" in window;\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = lastElement = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tlastElement = cur;\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || Object.create( null ) )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\n// Support: Firefox <=44\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\n\t\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\n\t\t\t\t// (via `this.document`) & document (via `this`).\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdataPriv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\nvar location = window.location;\n\nvar nonce = { guid: Date.now() };\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, parserErrorElem;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {}\n\n\tparserErrorElem = xml && xml.getElementsByTagName( \"parsererror\" )[ 0 ];\n\tif ( !xml || parserErrorElem ) {\n\t\tjQuery.error( \"Invalid XML: \" + (\n\t\t\tparserErrorElem ?\n\t\t\t\tjQuery.map( parserErrorElem.childNodes, function( el ) {\n\t\t\t\t\treturn el.textContent;\n\t\t\t\t} ).join( \"\\n\" ) :\n\t\t\t\tdata\n\t\t) );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && toType( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\tif ( a == null ) {\n\t\treturn \"\";\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} ).filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} ).map( function( _i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\noriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 15\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE <=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available and should be processed, append data to url\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce.guid++ ) +\n\t\t\t\t\tuncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data && s.processData &&\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Use a noop converter for missing script but not if jsonp\n\t\t\tif ( !isSuccess &&\n\t\t\t\tjQuery.inArray( \"script\", s.dataTypes ) > -1 &&\n\t\t\t\tjQuery.inArray( \"json\", s.dataTypes ) < 0 ) {\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( _i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\njQuery.ajaxPrefilter( function( s ) {\n\tvar i;\n\tfor ( i in s.headers ) {\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\n\t\t\ts.contentType = s.headers[ i ] || \"\";\n\t\t}\n\t}\n} );\n\n\njQuery._evalUrl = function( url, options, doc ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options, doc );\n\t\t}\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE <=9 only\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"<script>\" )\n\t\t\t\t\t.attr( s.scriptAttrs || {} )\n\t\t\t\t\t.prop( { charset: s.scriptCharset, src: s.url } )\n\t\t\t\t\t.on( \"load error\", callback = function( evt ) {\n\t\t\t\t\t\tscript.remove();\n\t\t\t\t\t\tcallback = null;\n\t\t\t\t\t\tif ( evt ) {\n\t\t\t\t\t\t\tcomplete( evt.type === \"error\" ? 404 : 200, evt.type );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t// Use native DOM manipulation to avoid our domManip AJAX trickery\n\t\t\t\tdocument.head.appendChild( script[ 0 ] );\n\t\t\t},\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup( {\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce.guid++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n} );\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" &&\n\t\t\t\t( s.contentType || \"\" )\n\t\t\t\t\t.indexOf( \"application/x-www-form-urlencoded\" ) === 0 &&\n\t\t\t\trjsonp.test( s.data ) && \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[ \"script json\" ] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// Force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always( function() {\n\n\t\t\t// If previous value didn't exist - remove it\n\t\t\tif ( overwritten === undefined ) {\n\t\t\t\tjQuery( window ).removeProp( callbackName );\n\n\t\t\t// Otherwise restore preexisting value\n\t\t\t} else {\n\t\t\t\twindow[ callbackName ] = overwritten;\n\t\t\t}\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\n\t\t\t\t// Make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// Save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t} );\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n} );\n\n\n\n\n// Support: Safari 8 only\n// In Safari 8 documents created via document.implementation.createHTMLDocument\n// collapse sibling forms: the second one becomes a child of the first one.\n// Because of that, this security measure has to be disabled in Safari 8.\n// https://bugs.webkit.org/show_bug.cgi?id=137337\nsupport.createHTMLDocument = ( function() {\n\tvar body = document.implementation.createHTMLDocument( \"\" ).body;\n\tbody.innerHTML = \"<form></form><form></form>\";\n\treturn body.childNodes.length === 2;\n} )();\n\n\n// Argument \"data\" should be string of html\n// context (optional): If specified, the fragment will be created in this context,\n// defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( typeof data !== \"string\" ) {\n\t\treturn [];\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\n\tvar base, parsed, scripts;\n\n\tif ( !context ) {\n\n\t\t// Stop scripts or inline event handlers from being executed immediately\n\t\t// by using document.implementation\n\t\tif ( support.createHTMLDocument ) {\n\t\t\tcontext = document.implementation.createHTMLDocument( \"\" );\n\n\t\t\t// Set the base href for the created document\n\t\t\t// so any parsed elements with URLs\n\t\t\t// are based on the document's URL (gh-2965)\n\t\t\tbase = context.createElement( \"base\" );\n\t\t\tbase.href = document.location.href;\n\t\t\tcontext.head.appendChild( base );\n\t\t} else {\n\t\t\tcontext = document;\n\t\t}\n\t}\n\n\tparsed = rsingleTag.exec( data );\n\tscripts = !keepScripts && [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[ 1 ] ) ];\n\t}\n\n\tparsed = buildFragment( [ data ], context, scripts );\n\n\tif ( scripts && scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf( \" \" );\n\n\tif ( off > -1 ) {\n\t\tselector = stripAndCollapse( url.slice( off ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length > 0 ) {\n\t\tjQuery.ajax( {\n\t\t\turl: url,\n\n\t\t\t// If \"type\" variable is undefined, then \"GET\" method will be used.\n\t\t\t// Make value of this field explicit since\n\t\t\t// user can override it through ajaxSetup method\n\t\t\ttype: type || \"GET\",\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t} ).done( function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery( \"<div>\" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t// If the request succeeds, this function gets \"data\", \"status\", \"jqXHR\"\n\t\t// but they are ignored because response was set above.\n\t\t// If it fails, this function gets \"jqXHR\", \"status\", \"error\"\n\t\t} ).always( callback && function( jqXHR, status ) {\n\t\t\tself.each( function() {\n\t\t\t\tcallback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn this;\n};\n\n\n\n\njQuery.expr.pseudos.animated = function( elem ) {\n\treturn jQuery.grep( jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t} ).length;\n};\n\n\n\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// Set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) &&\n\t\t\t( curCSSTop + curCSSLeft ).indexOf( \"auto\" ) > -1;\n\n\t\t// Need to be able to calculate position if either\n\t\t// top or left is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( isFunction( options ) ) {\n\n\t\t\t// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\n\t\t\toptions = options.call( elem, i, jQuery.extend( {}, curOffset ) );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend( {\n\n\t// offset() relates an element's border box to the document origin\n\toffset: function( options ) {\n\n\t\t// Preserve chaining for setter\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each( function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t} );\n\t\t}\n\n\t\tvar rect, win,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !elem ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Return zeros for disconnected and hidden (display: none) elements (gh-2310)\n\t\t// Support: IE <=11 only\n\t\t// Running getBoundingClientRect on a\n\t\t// disconnected node in IE throws an error\n\t\tif ( !elem.getClientRects().length ) {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t\t// Get document-relative position by adding viewport scroll to viewport-relative gBCR\n\t\trect = elem.getBoundingClientRect();\n\t\twin = elem.ownerDocument.defaultView;\n\t\treturn {\n\t\t\ttop: rect.top + win.pageYOffset,\n\t\t\tleft: rect.left + win.pageXOffset\n\t\t};\n\t},\n\n\t// position() relates an element's margin box to its offset parent's padding box\n\t// This corresponds to the behavior of CSS absolute positioning\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset, doc,\n\t\t\telem = this[ 0 ],\n\t\t\tparentOffset = { top: 0, left: 0 };\n\n\t\t// position:fixed elements are offset from the viewport, which itself always has zero offset\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\n\t\t\t// Assume position:fixed implies availability of getBoundingClientRect\n\t\t\toffset = elem.getBoundingClientRect();\n\n\t\t} else {\n\t\t\toffset = this.offset();\n\n\t\t\t// Account for the *real* offset parent, which can be the document or its root element\n\t\t\t// when a statically positioned element is identified\n\t\t\tdoc = elem.ownerDocument;\n\t\t\toffsetParent = elem.offsetParent || doc.documentElement;\n\t\t\twhile ( offsetParent &&\n\t\t\t\t( offsetParent === doc.body || offsetParent === doc.documentElement ) &&\n\t\t\t\tjQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\n\t\t\t\toffsetParent = offsetParent.parentNode;\n\t\t\t}\n\t\t\tif ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {\n\n\t\t\t\t// Incorporate borders into its offset, since they are outside its content origin\n\t\t\t\tparentOffset = jQuery( offsetParent ).offset();\n\t\t\t\tparentOffset.top += jQuery.css( offsetParent, \"borderTopWidth\", true );\n\t\t\t\tparentOffset.left += jQuery.css( offsetParent, \"borderLeftWidth\", true );\n\t\t\t}\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\t// This method will return documentElement in the following cases:\n\t// 1) For the element inside the iframe without offsetParent, this method will return\n\t// documentElement of the parent window\n\t// 2) For the hidden or detached element\n\t// 3) For body or html element, i.e. in case of the html node - it will return itself\n\t//\n\t// but those exceptions were never presented as a real life use-cases\n\t// and might be considered as more preferable results.\n\t//\n\t// This logic, however, is not guaranteed and can change at any point in the future\n\toffsetParent: function() {\n\t\treturn this.map( function() {\n\t\t\tvar offsetParent = this.offsetParent;\n\n\t\t\twhile ( offsetParent && jQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\n\t\t\treturn offsetParent || documentElement;\n\t\t} );\n\t}\n} );\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = \"pageYOffset\" === prop;\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\n\t\t\t// Coalesce documents and windows\n\t\t\tvar win;\n\t\t\tif ( isWindow( elem ) ) {\n\t\t\t\twin = elem;\n\t\t\t} else if ( elem.nodeType === 9 ) {\n\t\t\t\twin = elem.defaultView;\n\t\t\t}\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? win[ prop ] : elem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : win.pageXOffset,\n\t\t\t\t\ttop ? val : win.pageYOffset\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length );\n\t};\n} );\n\n// Support: Safari <=7 - 9.1, Chrome <=37 - 49\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347\n// getComputedStyle returns percent when specified for top/left/bottom/right;\n// rather than make the css module depend on the offset module, just check for it here\njQuery.each( [ \"top\", \"left\" ], function( _i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\n\t\t\t\t// If curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n} );\n\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( {\n\t\tpadding: \"inner\" + name,\n\t\tcontent: type,\n\t\t\"\": \"outer\" + name\n\t}, function( defaultExtra, funcName ) {\n\n\t\t// Margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( isWindow( elem ) ) {\n\n\t\t\t\t\t// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)\n\t\t\t\t\treturn funcName.indexOf( \"outer\" ) === 0 ?\n\t\t\t\t\t\telem[ \"inner\" + name ] :\n\t\t\t\t\t\telem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable );\n\t\t};\n\t} );\n} );\n\n\njQuery.each( [\n\t\"ajaxStart\",\n\t\"ajaxStop\",\n\t\"ajaxComplete\",\n\t\"ajaxError\",\n\t\"ajaxSuccess\",\n\t\"ajaxSend\"\n], function( _i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n} );\n\n\n\n\njQuery.fn.extend( {\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ?\n\t\t\tthis.off( selector, \"**\" ) :\n\t\t\tthis.off( types, selector || \"**\", fn );\n\t},\n\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t}\n} );\n\njQuery.each(\n\t( \"blur focus focusin focusout resize scroll click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup contextmenu\" ).split( \" \" ),\n\tfunction( _i, name ) {\n\n\t\t// Handle event binding\n\t\tjQuery.fn[ name ] = function( data, fn ) {\n\t\t\treturn arguments.length > 0 ?\n\t\t\t\tthis.on( name, null, data, fn ) :\n\t\t\t\tthis.trigger( name );\n\t\t};\n\t}\n);\n\n\n\n\n// Support: Android <=4.0 only\n// Make sure we trim BOM and NBSP\nvar rtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n\n// Bind a function to a context, optionally partially applying any\n// arguments.\n// jQuery.proxy is deprecated to promote standards (specifically Function#bind)\n// However, it is not slated for removal any time soon\njQuery.proxy = function( fn, context ) {\n\tvar tmp, args, proxy;\n\n\tif ( typeof context === \"string\" ) {\n\t\ttmp = fn[ context ];\n\t\tcontext = fn;\n\t\tfn = tmp;\n\t}\n\n\t// Quick check to determine if target is callable, in the spec\n\t// this throws a TypeError, but we will just return undefined.\n\tif ( !isFunction( fn ) ) {\n\t\treturn undefined;\n\t}\n\n\t// Simulated bind\n\targs = slice.call( arguments, 2 );\n\tproxy = function() {\n\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t};\n\n\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\treturn proxy;\n};\n\njQuery.holdReady = function( hold ) {\n\tif ( hold ) {\n\t\tjQuery.readyWait++;\n\t} else {\n\t\tjQuery.ready( true );\n\t}\n};\njQuery.isArray = Array.isArray;\njQuery.parseJSON = JSON.parse;\njQuery.nodeName = nodeName;\njQuery.isFunction = isFunction;\njQuery.isWindow = isWindow;\njQuery.camelCase = camelCase;\njQuery.type = toType;\n\njQuery.now = Date.now;\n\njQuery.isNumeric = function( obj ) {\n\n\t// As of jQuery 3.0, isNumeric is limited to\n\t// strings and numbers (primitives or objects)\n\t// that can be coerced to finite numbers (gh-2662)\n\tvar type = jQuery.type( obj );\n\treturn ( type === \"number\" || type === \"string\" ) &&\n\n\t\t// parseFloat NaNs numeric-cast false positives (\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t!isNaN( obj - parseFloat( obj ) );\n};\n\njQuery.trim = function( text ) {\n\treturn text == null ?\n\t\t\"\" :\n\t\t( text + \"\" ).replace( rtrim, \"\" );\n};\n\n\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( typeof define === \"function\" && define.amd ) {\n\tdefine( \"jquery\", [], function() {\n\t\treturn jQuery;\n\t} );\n}\n\n\n\n\nvar\n\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep && window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in AMD\n// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (#13566)\nif ( typeof noGlobal === \"undefined\" ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n\n\n\n\nreturn jQuery;\n} );\n","// cross browsers addRule method\nimport { raf } from './raf.js';\nexport function addCSSRule(sheet, selector, rules, index) {\n // return raf(function() {\n 'insertRule' in sheet ?\n sheet.insertRule(selector + '{' + rules + '}', index) :\n sheet.addRule(selector, rules, index);\n // });\n}","import { classListSupport, hasClass } from './hasClass.js';\nvar addClass = classListSupport ?\n function (el, str) {\n if (!hasClass(el, str)) { el.classList.add(str); }\n } :\n function (el, str) {\n if (!hasClass(el, str)) { el.className += ' ' + str; }\n };\n\nexport { addClass };","import { passiveOption } from './passiveOption.js';\n\nexport function addEvents(el, obj, preventScrolling) {\n for (var prop in obj) {\n var option = ['touchstart', 'touchmove'].indexOf(prop) >= 0 && !preventScrolling ? passiveOption : false;\n el.addEventListener(prop, obj[prop], option);\n }\n}","export function arrayFromNodeList (nl) {\n var arr = [];\n for (var i = 0, l = nl.length; i < l; i++) {\n arr.push(nl[i]);\n }\n return arr;\n}","var win = window;\n\nexport var caf = win.cancelAnimationFrame\n || win.mozCancelAnimationFrame\n || function(id){ clearTimeout(id); };\n","// get css-calc \n// @return - false | calc | -webkit-calc | -moz-calc\n// @usage - var calc = getCalc(); \nimport { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function calc() {\n var doc = document, \n body = getBody(),\n docOverflow = setFakeBody(body),\n div = doc.createElement('div'), \n result = false;\n\n body.appendChild(div);\n try {\n var str = '(10px * 10)',\n vals = ['calc' + str, '-moz-calc' + str, '-webkit-calc' + str],\n val;\n for (var i = 0; i < 3; i++) {\n val = vals[i];\n div.style.width = val;\n if (div.offsetWidth === 100) { \n result = val.replace(str, ''); \n break;\n }\n }\n } catch (e) {}\n \n body.fake ? resetFakeBody(body, docOverflow) : div.remove();\n\n return result;\n}","export function checkStorageValue (value) {\n return ['true', 'false'].indexOf(value) >= 0 ? JSON.parse(value) : value;\n}","export var classListSupport = 'classList' in document.createElement('_');","// create and append style sheet\nexport function createStyleSheet (media, nonce) {\n // Create the <style> tag\n var style = document.createElement(\"style\");\n // style.setAttribute(\"type\", \"text/css\");\n\n // Add a media (and/or media query) here if you'd like!\n // style.setAttribute(\"media\", \"screen\")\n // style.setAttribute(\"media\", \"only screen and (max-width : 1024px)\")\n if (media) { style.setAttribute(\"media\", media); }\n\n // Add nonce attribute for Content Security Policy\n if (nonce) { style.setAttribute(\"nonce\", nonce); }\n\n // WebKit hack :(\n // style.appendChild(document.createTextNode(\"\"));\n\n // Add the <style> element to the page\n document.querySelector('head').appendChild(style);\n\n return style.sheet ? style.sheet : style.styleSheet;\n};","export var docElement = document.documentElement;","export function Events() {\n return {\n topics: {},\n on: function (eventName, fn) {\n this.topics[eventName] = this.topics[eventName] || [];\n this.topics[eventName].push(fn);\n },\n off: function(eventName, fn) {\n if (this.topics[eventName]) {\n for (var i = 0; i < this.topics[eventName].length; i++) {\n if (this.topics[eventName][i] === fn) {\n this.topics[eventName].splice(i, 1);\n break;\n }\n }\n }\n },\n emit: function (eventName, data) {\n data.type = eventName;\n if (this.topics[eventName]) {\n this.topics[eventName].forEach(function(fn) {\n fn(data, eventName);\n });\n }\n }\n };\n};","export function extend() {\n var obj, name, copy,\n target = arguments[0] || {},\n i = 1,\n length = arguments.length;\n\n for (; i < length; i++) {\n if ((obj = arguments[i]) !== null) {\n for (name in obj) {\n copy = obj[name];\n\n if (target === copy) {\n continue;\n } else if (copy !== undefined) {\n target[name] = copy;\n }\n }\n }\n }\n return target;\n}","// https://toddmotto.com/ditch-the-array-foreach-call-nodelist-hack/\nexport function forEach (arr, callback, scope) {\n for (var i = 0, l = arr.length; i < l; i++) {\n callback.call(scope, arr[i], i);\n }\n}","export function getAttr(el, attr) {\n return el.getAttribute(attr);\n}","export function getBody () {\n var doc = document,\n body = doc.body;\n\n if (!body) {\n body = doc.createElement('body');\n body.fake = true;\n }\n\n return body;\n}","export function getCssRulesLength(sheet) {\n var rule = ('insertRule' in sheet) ? sheet.cssRules : sheet.rules;\n return rule.length;\n}","// get transitionend, animationend based on transitionDuration\n// @propin: string\n// @propOut: string, first-letter uppercase\n// Usage: getEndProperty('WebkitTransitionDuration', 'Transition') => webkitTransitionEnd\nexport function getEndProperty(propIn, propOut) {\n var endProp = false;\n if (/^Webkit/.test(propIn)) {\n endProp = 'webkit' + propOut + 'End';\n } else if (/^O/.test(propIn)) {\n endProp = 'o' + propOut + 'End';\n } else if (propIn) {\n endProp = propOut.toLowerCase() + 'end';\n }\n return endProp;\n}","export function getSlideId() {\n var id = window.tnsId;\n window.tnsId = !id ? 1 : id + 1;\n \n return 'tns' + window.tnsId;\n}","export function getTouchDirection(angle, range) {\n var direction = false,\n gap = Math.abs(90 - Math.abs(angle));\n \n if (gap >= 90 - range) {\n direction = 'horizontal';\n } else if (gap <= range) {\n direction = 'vertical';\n }\n\n return direction;\n}","import { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function has3DTransforms(tf){\n if (!tf) { return false; }\n if (!window.getComputedStyle) { return false; }\n \n var doc = document,\n body = getBody(),\n docOverflow = setFakeBody(body),\n el = doc.createElement('p'),\n has3d,\n cssTF = tf.length > 9 ? '-' + tf.slice(0, -9).toLowerCase() + '-' : '';\n\n cssTF += 'transform';\n\n // Add it to the body to get the computed style\n body.insertBefore(el, null);\n\n el.style[tf] = 'translate3d(1px,1px,1px)';\n has3d = window.getComputedStyle(el).getPropertyValue(cssTF);\n\n body.fake ? resetFakeBody(body, docOverflow) : el.remove();\n\n return (has3d !== undefined && has3d.length > 0 && has3d !== \"none\");\n}\n","export function hasAttr(el, attr) {\n return el.hasAttribute(attr);\n}","import { classListSupport } from './classListSupport.js';\n\nvar hasClass = classListSupport ?\n function (el, str) { return el.classList.contains(str); } :\n function (el, str) { return el.className.indexOf(str) >= 0; };\n\nexport { classListSupport, hasClass };","export function hideElement(el, forceHide) {\n if (el.style.display !== 'none') { el.style.display = 'none'; }\n}","export function isNodeList(el) {\n // Only NodeList has the \"item()\" function\n return typeof el.item !== \"undefined\"; \n}","export function isVisible(el) {\n return window.getComputedStyle(el).display !== 'none';\n}","export function jsTransform(element, attr, prefix, postfix, to, duration, callback) {\n var tick = Math.min(duration, 10),\n unit = (to.indexOf('%') >= 0) ? '%' : 'px',\n to = to.replace(unit, ''),\n from = Number(element.style[attr].replace(prefix, '').replace(postfix, '').replace(unit, '')),\n positionTick = (to - from) / duration * tick,\n running;\n\n setTimeout(moveElement, tick);\n function moveElement() {\n duration -= tick;\n from += positionTick;\n element.style[attr] = prefix + from + unit + postfix;\n if (duration > 0) { \n setTimeout(moveElement, tick); \n } else {\n callback();\n }\n }\n}","import { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function mediaquerySupport () {\n if (window.matchMedia || window.msMatchMedia) {\n return true;\n }\n \n var doc = document,\n body = getBody(),\n docOverflow = setFakeBody(body),\n div = doc.createElement('div'),\n style = doc.createElement('style'),\n rule = '@media all and (min-width:1px){.tns-mq-test{position:absolute}}',\n position;\n\n style.type = 'text/css';\n div.className = 'tns-mq-test';\n\n body.appendChild(style);\n body.appendChild(div);\n\n if (style.styleSheet) {\n style.styleSheet.cssText = rule;\n } else {\n style.appendChild(doc.createTextNode(rule));\n }\n\n position = window.getComputedStyle ? window.getComputedStyle(div).position : div.currentStyle['position'];\n\n body.fake ? resetFakeBody(body, docOverflow) : div.remove();\n\n return position === \"absolute\";\n}\n","// Test via a getter in the options object to see if the passive property is accessed\nvar supportsPassive = false;\ntry {\n var opts = Object.defineProperty({}, 'passive', {\n get: function() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n} catch (e) {}\nexport var passiveOption = supportsPassive ? { passive: true } : false;","// get subpixel support value\n// @return - boolean\nimport { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function percentageLayout() {\n // check subpixel layout supporting\n var doc = document,\n body = getBody(),\n docOverflow = setFakeBody(body),\n wrapper = doc.createElement('div'),\n outer = doc.createElement('div'),\n str = '',\n count = 70,\n perPage = 3,\n supported = false;\n\n wrapper.className = \"tns-t-subp2\";\n outer.className = \"tns-t-ct\";\n\n for (var i = 0; i < count; i++) {\n str += '<div></div>';\n }\n\n outer.innerHTML = str;\n wrapper.appendChild(outer);\n body.appendChild(wrapper);\n\n supported = Math.abs(wrapper.getBoundingClientRect().left - outer.children[count - perPage].getBoundingClientRect().left) < 2;\n\n body.fake ? resetFakeBody(body, docOverflow) : wrapper.remove();\n\n return supported;\n}","var win = window;\n\nexport var raf = win.requestAnimationFrame\n || win.webkitRequestAnimationFrame\n || win.mozRequestAnimationFrame\n || win.msRequestAnimationFrame\n || function(cb) { return setTimeout(cb, 16); };\n","import { isNodeList } from \"./isNodeList.js\";\n\nexport function removeAttrs(els, attrs) {\n els = (isNodeList(els) || els instanceof Array) ? els : [els];\n attrs = (attrs instanceof Array) ? attrs : [attrs];\n\n var attrLength = attrs.length;\n for (var i = els.length; i--;) {\n for (var j = attrLength; j--;) {\n els[i].removeAttribute(attrs[j]);\n }\n }\n}","// cross browsers addRule method\nimport { raf } from './raf.js';\nexport function removeCSSRule(sheet, index) {\n // return raf(function() {\n 'deleteRule' in sheet ?\n sheet.deleteRule(index) :\n sheet.removeRule(index);\n // });\n}","import { classListSupport, hasClass } from './hasClass.js';\nvar removeClass = classListSupport ?\n function (el, str) {\n if (hasClass(el, str)) { el.classList.remove(str); }\n } :\n function (el, str) {\n if (hasClass(el, str)) { el.className = el.className.replace(str, ''); }\n };\n\nexport { removeClass };","import { passiveOption } from './passiveOption.js';\n\nexport function removeEvents(el, obj) {\n for (var prop in obj) {\n var option = ['touchstart', 'touchmove'].indexOf(prop) >= 0 ? passiveOption : false;\n el.removeEventListener(prop, obj[prop], option);\n }\n}","import { docElement } from './docElement.js';\n\nexport function resetFakeBody (body, docOverflow) {\n if (body.fake) {\n body.remove();\n docElement.style.overflow = docOverflow;\n // Trigger layout so kinetic scrolling isn't disabled in iOS6+\n // eslint-disable-next-line\n docElement.offsetHeight;\n }\n}","import { isNodeList } from \"./isNodeList.js\";\n\nexport function setAttrs(els, attrs) {\n els = (isNodeList(els) || els instanceof Array) ? els : [els];\n if (Object.prototype.toString.call(attrs) !== '[object Object]') { return; }\n\n for (var i = els.length; i--;) {\n for(var key in attrs) {\n els[i].setAttribute(key, attrs[key]);\n }\n }\n}","import { docElement } from './docElement.js';\n\nexport function setFakeBody (body) {\n var docOverflow = '';\n if (body.fake) {\n docOverflow = docElement.style.overflow;\n //avoid crashing IE8, if background image is used\n body.style.background = '';\n //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible\n body.style.overflow = docElement.style.overflow = 'hidden';\n docElement.appendChild(body);\n }\n\n return docOverflow;\n}","export function setLocalStorage(storage, key, value, access) {\n if (access) {\n try { storage.setItem(key, value); } catch (e) {}\n }\n return value;\n}","export function showElement(el, forceHide) {\n if (el.style.display === 'none') { el.style.display = ''; }\n}","export function toDegree (y, x) {\n return Math.atan2(y, x) * (180 / Math.PI);\n}","export function whichProperty(props){\n if (typeof props === 'string') {\n var arr = [props],\n Props = props.charAt(0).toUpperCase() + props.substr(1),\n prefixes = ['Webkit', 'Moz', 'ms', 'O'];\n \n prefixes.forEach(function(prefix) {\n if (prefix !== 'ms' || props === 'transform') {\n arr.push(prefix + Props);\n }\n });\n\n props = arr;\n }\n\n var el = document.createElement('fakeelement'),\n len = props.length;\n for(var i = 0; i < props.length; i++){\n var prop = props[i];\n if( el.style[prop] !== undefined ){ return prop; }\n }\n\n return false; // explicit for ie9-\n}\n","// Object.keys\nif (!Object.keys) {\n Object.keys = function(object) {\n var keys = [];\n for (var name in object) {\n if (Object.prototype.hasOwnProperty.call(object, name)) {\n keys.push(name);\n }\n }\n return keys;\n };\n}\n\n// ChildNode.remove\nif(!(\"remove\" in Element.prototype)){\n Element.prototype.remove = function(){\n if(this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n}\n\nimport { raf } from './helpers/raf.js';\nimport { caf } from './helpers/caf.js';\nimport { extend } from './helpers/extend.js';\nimport { checkStorageValue } from './helpers/checkStorageValue.js';\nimport { setLocalStorage } from './helpers/setLocalStorage.js';\nimport { getSlideId } from './helpers/getSlideId.js';\nimport { calc } from './helpers/calc.js';\nimport { percentageLayout } from './helpers/percentageLayout.js';\nimport { mediaquerySupport } from './helpers/mediaquerySupport.js';\nimport { createStyleSheet } from './helpers/createStyleSheet.js';\nimport { addCSSRule } from './helpers/addCSSRule.js';\nimport { removeCSSRule } from './helpers/removeCSSRule.js';\nimport { getCssRulesLength } from './helpers/getCssRulesLength.js';\nimport { toDegree } from './helpers/toDegree.js';\nimport { getTouchDirection } from './helpers/getTouchDirection.js';\nimport { forEach } from './helpers/forEach.js';\nimport { hasClass } from './helpers/hasClass.js';\nimport { addClass } from './helpers/addClass.js';\nimport { removeClass } from './helpers/removeClass.js';\nimport { hasAttr } from './helpers/hasAttr.js';\nimport { getAttr } from './helpers/getAttr.js';\nimport { setAttrs } from './helpers/setAttrs.js';\nimport { removeAttrs } from './helpers/removeAttrs.js';\nimport { arrayFromNodeList } from './helpers/arrayFromNodeList.js';\nimport { hideElement } from './helpers/hideElement.js';\nimport { showElement } from './helpers/showElement.js';\nimport { isVisible } from './helpers/isVisible.js';\nimport { whichProperty } from './helpers/whichProperty.js';\nimport { has3DTransforms } from './helpers/has3DTransforms.js';\nimport { getEndProperty } from './helpers/getEndProperty.js';\nimport { addEvents } from './helpers/addEvents.js';\nimport { removeEvents } from './helpers/removeEvents.js';\nimport { Events } from './helpers/events.js';\nimport { jsTransform } from './helpers/jsTransform.js';\n\nexport var tns = function(options) {\n options = extend({\n container: '.slider',\n mode: 'carousel',\n axis: 'horizontal',\n items: 1,\n gutter: 0,\n edgePadding: 0,\n fixedWidth: false,\n autoWidth: false,\n viewportMax: false,\n slideBy: 1,\n center: false,\n controls: true,\n controlsPosition: 'top',\n controlsText: ['prev', 'next'],\n controlsContainer: false,\n prevButton: false,\n nextButton: false,\n nav: true,\n navPosition: 'top',\n navContainer: false,\n navAsThumbnails: false,\n arrowKeys: false,\n speed: 300,\n autoplay: false,\n autoplayPosition: 'top',\n autoplayTimeout: 5000,\n autoplayDirection: 'forward',\n autoplayText: ['start', 'stop'],\n autoplayHoverPause: false,\n autoplayButton: false,\n autoplayButtonOutput: true,\n autoplayResetOnVisibility: true,\n animateIn: 'tns-fadeIn',\n animateOut: 'tns-fadeOut',\n animateNormal: 'tns-normal',\n animateDelay: false,\n loop: true,\n rewind: false,\n autoHeight: false,\n responsive: false,\n lazyload: false,\n lazyloadSelector: '.tns-lazy-img',\n touch: true,\n mouseDrag: false,\n swipeAngle: 15,\n nested: false,\n preventActionWhenRunning: false,\n preventScrollOnTouch: false,\n freezable: true,\n onInit: false,\n useLocalStorage: true,\n nonce: false\n }, options || {});\n\n var doc = document,\n win = window,\n KEYS = {\n ENTER: 13,\n SPACE: 32,\n LEFT: 37,\n RIGHT: 39\n },\n tnsStorage = {},\n localStorageAccess = options.useLocalStorage;\n\n if (localStorageAccess) {\n // check browser version and local storage access\n var browserInfo = navigator.userAgent;\n var uid = new Date;\n\n try {\n tnsStorage = win.localStorage;\n if (tnsStorage) {\n tnsStorage.setItem(uid, uid);\n localStorageAccess = tnsStorage.getItem(uid) == uid;\n tnsStorage.removeItem(uid);\n } else {\n localStorageAccess = false;\n }\n if (!localStorageAccess) { tnsStorage = {}; }\n } catch(e) {\n localStorageAccess = false;\n }\n\n if (localStorageAccess) {\n // remove storage when browser version changes\n if (tnsStorage['tnsApp'] && tnsStorage['tnsApp'] !== browserInfo) {\n ['tC', 'tPL', 'tMQ', 'tTf', 't3D', 'tTDu', 'tTDe', 'tADu', 'tADe', 'tTE', 'tAE'].forEach(function(item) { tnsStorage.removeItem(item); });\n }\n // update browserInfo\n localStorage['tnsApp'] = browserInfo;\n }\n }\n\n var CALC = tnsStorage['tC'] ? checkStorageValue(tnsStorage['tC']) : setLocalStorage(tnsStorage, 'tC', calc(), localStorageAccess),\n PERCENTAGELAYOUT = tnsStorage['tPL'] ? checkStorageValue(tnsStorage['tPL']) : setLocalStorage(tnsStorage, 'tPL', percentageLayout(), localStorageAccess),\n CSSMQ = tnsStorage['tMQ'] ? checkStorageValue(tnsStorage['tMQ']) : setLocalStorage(tnsStorage, 'tMQ', mediaquerySupport(), localStorageAccess),\n TRANSFORM = tnsStorage['tTf'] ? checkStorageValue(tnsStorage['tTf']) : setLocalStorage(tnsStorage, 'tTf', whichProperty('transform'), localStorageAccess),\n HAS3DTRANSFORMS = tnsStorage['t3D'] ? checkStorageValue(tnsStorage['t3D']) : setLocalStorage(tnsStorage, 't3D', has3DTransforms(TRANSFORM), localStorageAccess),\n TRANSITIONDURATION = tnsStorage['tTDu'] ? checkStorageValue(tnsStorage['tTDu']) : setLocalStorage(tnsStorage, 'tTDu', whichProperty('transitionDuration'), localStorageAccess),\n TRANSITIONDELAY = tnsStorage['tTDe'] ? checkStorageValue(tnsStorage['tTDe']) : setLocalStorage(tnsStorage, 'tTDe', whichProperty('transitionDelay'), localStorageAccess),\n ANIMATIONDURATION = tnsStorage['tADu'] ? checkStorageValue(tnsStorage['tADu']) : setLocalStorage(tnsStorage, 'tADu', whichProperty('animationDuration'), localStorageAccess),\n ANIMATIONDELAY = tnsStorage['tADe'] ? checkStorageValue(tnsStorage['tADe']) : setLocalStorage(tnsStorage, 'tADe', whichProperty('animationDelay'), localStorageAccess),\n TRANSITIONEND = tnsStorage['tTE'] ? checkStorageValue(tnsStorage['tTE']) : setLocalStorage(tnsStorage, 'tTE', getEndProperty(TRANSITIONDURATION, 'Transition'), localStorageAccess),\n ANIMATIONEND = tnsStorage['tAE'] ? checkStorageValue(tnsStorage['tAE']) : setLocalStorage(tnsStorage, 'tAE', getEndProperty(ANIMATIONDURATION, 'Animation'), localStorageAccess);\n\n // get element nodes from selectors\n var supportConsoleWarn = win.console && typeof win.console.warn === \"function\",\n tnsList = ['container', 'controlsContainer', 'prevButton', 'nextButton', 'navContainer', 'autoplayButton'],\n optionsElements = {};\n\n tnsList.forEach(function(item) {\n if (typeof options[item] === 'string') {\n var str = options[item],\n el = doc.querySelector(str);\n optionsElements[item] = str;\n\n if (el && el.nodeName) {\n options[item] = el;\n } else {\n if (supportConsoleWarn) { console.warn('Can\\'t find', options[item]); }\n return;\n }\n }\n });\n\n // make sure at least 1 slide\n if (options.container.children.length < 1) {\n if (supportConsoleWarn) { console.warn('No slides found in', options.container); }\n return;\n }\n\n // update options\n var responsive = options.responsive,\n nested = options.nested,\n carousel = options.mode === 'carousel' ? true : false;\n\n if (responsive) {\n // apply responsive[0] to options and remove it\n if (0 in responsive) {\n options = extend(options, responsive[0]);\n delete responsive[0];\n }\n\n var responsiveTem = {};\n for (var key in responsive) {\n var val = responsive[key];\n // update responsive\n // from: 300: 2\n // to:\n // 300: {\n // items: 2\n // }\n val = typeof val === 'number' ? {items: val} : val;\n responsiveTem[key] = val;\n }\n responsive = responsiveTem;\n responsiveTem = null;\n }\n\n // update options\n function updateOptions (obj) {\n for (var key in obj) {\n if (!carousel) {\n if (key === 'slideBy') { obj[key] = 'page'; }\n if (key === 'edgePadding') { obj[key] = false; }\n if (key === 'autoHeight') { obj[key] = false; }\n }\n\n // update responsive options\n if (key === 'responsive') { updateOptions(obj[key]); }\n }\n }\n if (!carousel) { updateOptions(options); }\n\n\n // === define and set variables ===\n if (!carousel) {\n options.axis = 'horizontal';\n options.slideBy = 'page';\n options.edgePadding = false;\n\n var animateIn = options.animateIn,\n animateOut = options.animateOut,\n animateDelay = options.animateDelay,\n animateNormal = options.animateNormal;\n }\n\n var horizontal = options.axis === 'horizontal' ? true : false,\n outerWrapper = doc.createElement('div'),\n innerWrapper = doc.createElement('div'),\n middleWrapper,\n container = options.container,\n containerParent = container.parentNode,\n containerHTML = container.outerHTML,\n slideItems = container.children,\n slideCount = slideItems.length,\n breakpointZone,\n windowWidth = getWindowWidth(),\n isOn = false;\n if (responsive) { setBreakpointZone(); }\n if (carousel) { container.className += ' tns-vpfix'; }\n\n // fixedWidth: viewport > rightBoundary > indexMax\n var autoWidth = options.autoWidth,\n fixedWidth = getOption('fixedWidth'),\n edgePadding = getOption('edgePadding'),\n gutter = getOption('gutter'),\n viewport = getViewportWidth(),\n center = getOption('center'),\n items = !autoWidth ? Math.floor(getOption('items')) : 1,\n slideBy = getOption('slideBy'),\n viewportMax = options.viewportMax || options.fixedWidthViewportWidth,\n arrowKeys = getOption('arrowKeys'),\n speed = getOption('speed'),\n rewind = options.rewind,\n loop = rewind ? false : options.loop,\n autoHeight = getOption('autoHeight'),\n controls = getOption('controls'),\n controlsText = getOption('controlsText'),\n nav = getOption('nav'),\n touch = getOption('touch'),\n mouseDrag = getOption('mouseDrag'),\n autoplay = getOption('autoplay'),\n autoplayTimeout = getOption('autoplayTimeout'),\n autoplayText = getOption('autoplayText'),\n autoplayHoverPause = getOption('autoplayHoverPause'),\n autoplayResetOnVisibility = getOption('autoplayResetOnVisibility'),\n sheet = createStyleSheet(null, getOption('nonce')),\n lazyload = options.lazyload,\n lazyloadSelector = options.lazyloadSelector,\n slidePositions, // collection of slide positions\n slideItemsOut = [],\n cloneCount = loop ? getCloneCountForLoop() : 0,\n slideCountNew = !carousel ? slideCount + cloneCount : slideCount + cloneCount * 2,\n hasRightDeadZone = (fixedWidth || autoWidth) && !loop ? true : false,\n rightBoundary = fixedWidth ? getRightBoundary() : null,\n updateIndexBeforeTransform = (!carousel || !loop) ? true : false,\n // transform\n transformAttr = horizontal ? 'left' : 'top',\n transformPrefix = '',\n transformPostfix = '',\n // index\n getIndexMax = (function () {\n if (fixedWidth) {\n return function() { return center && !loop ? slideCount - 1 : Math.ceil(- rightBoundary / (fixedWidth + gutter)); };\n } else if (autoWidth) {\n return function() {\n for (var i = 0; i < slideCountNew; i++) {\n if (slidePositions[i] >= - rightBoundary) { return i; }\n }\n };\n } else {\n return function() {\n if (center && carousel && !loop) {\n return slideCount - 1;\n } else {\n return loop || carousel ? Math.max(0, slideCountNew - Math.ceil(items)) : slideCountNew - 1;\n }\n };\n }\n })(),\n index = getStartIndex(getOption('startIndex')),\n indexCached = index,\n displayIndex = getCurrentSlide(),\n indexMin = 0,\n indexMax = !autoWidth ? getIndexMax() : null,\n // resize\n resizeTimer,\n preventActionWhenRunning = options.preventActionWhenRunning,\n swipeAngle = options.swipeAngle,\n moveDirectionExpected = swipeAngle ? '?' : true,\n running = false,\n onInit = options.onInit,\n events = new Events(),\n // id, class\n newContainerClasses = ' tns-slider tns-' + options.mode,\n slideId = container.id || getSlideId(),\n disable = getOption('disable'),\n disabled = false,\n freezable = options.freezable,\n freeze = freezable && !autoWidth ? getFreeze() : false,\n frozen = false,\n controlsEvents = {\n 'click': onControlsClick,\n 'keydown': onControlsKeydown\n },\n navEvents = {\n 'click': onNavClick,\n 'keydown': onNavKeydown\n },\n hoverEvents = {\n 'mouseover': mouseoverPause,\n 'mouseout': mouseoutRestart\n },\n visibilityEvent = {'visibilitychange': onVisibilityChange},\n docmentKeydownEvent = {'keydown': onDocumentKeydown},\n touchEvents = {\n 'touchstart': onPanStart,\n 'touchmove': onPanMove,\n 'touchend': onPanEnd,\n 'touchcancel': onPanEnd\n }, dragEvents = {\n 'mousedown': onPanStart,\n 'mousemove': onPanMove,\n 'mouseup': onPanEnd,\n 'mouseleave': onPanEnd\n },\n hasControls = hasOption('controls'),\n hasNav = hasOption('nav'),\n navAsThumbnails = autoWidth ? true : options.navAsThumbnails,\n hasAutoplay = hasOption('autoplay'),\n hasTouch = hasOption('touch'),\n hasMouseDrag = hasOption('mouseDrag'),\n slideActiveClass = 'tns-slide-active',\n slideClonedClass = 'tns-slide-cloned',\n imgCompleteClass = 'tns-complete',\n imgEvents = {\n 'load': onImgLoaded,\n 'error': onImgFailed\n },\n imgsComplete,\n liveregionCurrent,\n preventScroll = options.preventScrollOnTouch === 'force' ? true : false;\n\n // controls\n if (hasControls) {\n var controlsContainer = options.controlsContainer,\n controlsContainerHTML = options.controlsContainer ? options.controlsContainer.outerHTML : '',\n prevButton = options.prevButton,\n nextButton = options.nextButton,\n prevButtonHTML = options.prevButton ? options.prevButton.outerHTML : '',\n nextButtonHTML = options.nextButton ? options.nextButton.outerHTML : '',\n prevIsButton,\n nextIsButton;\n }\n\n // nav\n if (hasNav) {\n var navContainer = options.navContainer,\n navContainerHTML = options.navContainer ? options.navContainer.outerHTML : '',\n navItems,\n pages = autoWidth ? slideCount : getPages(),\n pagesCached = 0,\n navClicked = -1,\n navCurrentIndex = getCurrentNavIndex(),\n navCurrentIndexCached = navCurrentIndex,\n navActiveClass = 'tns-nav-active',\n navStr = 'Carousel Page ',\n navStrCurrent = ' (Current Slide)';\n }\n\n // autoplay\n if (hasAutoplay) {\n var autoplayDirection = options.autoplayDirection === 'forward' ? 1 : -1,\n autoplayButton = options.autoplayButton,\n autoplayButtonHTML = options.autoplayButton ? options.autoplayButton.outerHTML : '',\n autoplayHtmlStrings = ['<span class=\\'tns-visually-hidden\\'>', ' animation</span>'],\n autoplayTimer,\n animating,\n autoplayHoverPaused,\n autoplayUserPaused,\n autoplayVisibilityPaused;\n }\n\n if (hasTouch || hasMouseDrag) {\n var initPosition = {},\n lastPosition = {},\n translateInit,\n disX,\n disY,\n panStart = false,\n rafIndex,\n getDist = horizontal ?\n function(a, b) { return a.x - b.x; } :\n function(a, b) { return a.y - b.y; };\n }\n\n // disable slider when slidecount <= items\n if (!autoWidth) { resetVariblesWhenDisable(disable || freeze); }\n\n if (TRANSFORM) {\n transformAttr = TRANSFORM;\n transformPrefix = 'translate';\n\n if (HAS3DTRANSFORMS) {\n transformPrefix += horizontal ? '3d(' : '3d(0px, ';\n transformPostfix = horizontal ? ', 0px, 0px)' : ', 0px)';\n } else {\n transformPrefix += horizontal ? 'X(' : 'Y(';\n transformPostfix = ')';\n }\n\n }\n\n if (carousel) { container.className = container.className.replace('tns-vpfix', ''); }\n initStructure();\n initSheet();\n initSliderTransform();\n\n // === COMMON FUNCTIONS === //\n function resetVariblesWhenDisable (condition) {\n if (condition) {\n controls = nav = touch = mouseDrag = arrowKeys = autoplay = autoplayHoverPause = autoplayResetOnVisibility = false;\n }\n }\n\n function getCurrentSlide () {\n var tem = carousel ? index - cloneCount : index;\n while (tem < 0) { tem += slideCount; }\n return tem%slideCount + 1;\n }\n\n function getStartIndex (ind) {\n ind = ind ? Math.max(0, Math.min(loop ? slideCount - 1 : slideCount - items, ind)) : 0;\n return carousel ? ind + cloneCount : ind;\n }\n\n function getAbsIndex (i) {\n if (i == null) { i = index; }\n\n if (carousel) { i -= cloneCount; }\n while (i < 0) { i += slideCount; }\n\n return Math.floor(i%slideCount);\n }\n\n function getCurrentNavIndex () {\n var absIndex = getAbsIndex(),\n result;\n\n result = navAsThumbnails ? absIndex :\n fixedWidth || autoWidth ? Math.ceil((absIndex + 1) * pages / slideCount - 1) :\n Math.floor(absIndex / items);\n\n // set active nav to the last one when reaches the right edge\n if (!loop && carousel && index === indexMax) { result = pages - 1; }\n\n return result;\n }\n\n function getItemsMax () {\n // fixedWidth or autoWidth while viewportMax is not available\n if (autoWidth || (fixedWidth && !viewportMax)) {\n return slideCount - 1;\n // most cases\n } else {\n var str = fixedWidth ? 'fixedWidth' : 'items',\n arr = [];\n\n if (fixedWidth || options[str] < slideCount) { arr.push(options[str]); }\n\n if (responsive) {\n for (var bp in responsive) {\n var tem = responsive[bp][str];\n if (tem && (fixedWidth || tem < slideCount)) { arr.push(tem); }\n }\n }\n\n if (!arr.length) { arr.push(0); }\n\n return Math.ceil(fixedWidth ? viewportMax / Math.min.apply(null, arr) : Math.max.apply(null, arr));\n }\n }\n\n function getCloneCountForLoop () {\n var itemsMax = getItemsMax(),\n result = carousel ? Math.ceil((itemsMax * 5 - slideCount)/2) : (itemsMax * 4 - slideCount);\n result = Math.max(itemsMax, result);\n\n return hasOption('edgePadding') ? result + 1 : result;\n }\n\n function getWindowWidth () {\n return win.innerWidth || doc.documentElement.clientWidth || doc.body.clientWidth;\n }\n\n function getInsertPosition (pos) {\n return pos === 'top' ? 'afterbegin' : 'beforeend';\n }\n\n function getClientWidth (el) {\n if (el == null) { return; }\n var div = doc.createElement('div'), rect, width;\n el.appendChild(div);\n rect = div.getBoundingClientRect();\n width = rect.right - rect.left;\n div.remove();\n if (width) {\n return width;\n } else if (el.parentNode.parentNode !== null) {\n getClientWidth(el.parentNode);\n } else {\n return;\n }\n }\n\n function getViewportWidth () {\n var gap = edgePadding ? edgePadding * 2 - gutter : 0;\n return getClientWidth(containerParent) - gap;\n }\n\n function hasOption (item) {\n if (options[item]) {\n return true;\n } else {\n if (responsive) {\n for (var bp in responsive) {\n if (responsive[bp][item]) { return true; }\n }\n }\n return false;\n }\n }\n\n // get option:\n // fixed width: viewport, fixedWidth, gutter => items\n // others: window width => all variables\n // all: items => slideBy\n function getOption (item, ww) {\n if (ww == null) { ww = windowWidth; }\n\n if (item === 'items' && fixedWidth) {\n return Math.floor((viewport + gutter) / (fixedWidth + gutter)) || 1;\n\n } else {\n var result = options[item];\n\n if (responsive) {\n for (var bp in responsive) {\n // bp: convert string to number\n if (ww >= parseInt(bp)) {\n if (item in responsive[bp]) { result = responsive[bp][item]; }\n }\n }\n }\n\n if (item === 'slideBy' && result === 'page') { result = getOption('items'); }\n if (!carousel && (item === 'slideBy' || item === 'items')) { result = Math.floor(result); }\n\n return result;\n }\n }\n\n function getSlideMarginLeft (i) {\n return CALC ?\n CALC + '(' + i * 100 + '% / ' + slideCountNew + ')' :\n i * 100 / slideCountNew + '%';\n }\n\n function getInnerWrapperStyles (edgePaddingTem, gutterTem, fixedWidthTem, speedTem, autoHeightBP) {\n var str = '';\n\n if (edgePaddingTem !== undefined) {\n var gap = edgePaddingTem;\n if (gutterTem) { gap -= gutterTem; }\n str = horizontal ?\n 'margin: 0 ' + gap + 'px 0 ' + edgePaddingTem + 'px;' :\n 'margin: ' + edgePaddingTem + 'px 0 ' + gap + 'px 0;';\n } else if (gutterTem && !fixedWidthTem) {\n var gutterTemUnit = '-' + gutterTem + 'px',\n dir = horizontal ? gutterTemUnit + ' 0 0' : '0 ' + gutterTemUnit + ' 0';\n str = 'margin: 0 ' + dir + ';'\n }\n\n if (!carousel && autoHeightBP && TRANSITIONDURATION && speedTem) { str += getTransitionDurationStyle(speedTem); }\n return str;\n }\n\n function getContainerWidth (fixedWidthTem, gutterTem, itemsTem) {\n if (fixedWidthTem) {\n return (fixedWidthTem + gutterTem) * slideCountNew + 'px';\n } else {\n return CALC ?\n CALC + '(' + slideCountNew * 100 + '% / ' + itemsTem + ')' :\n slideCountNew * 100 / itemsTem + '%';\n }\n }\n\n function getSlideWidthStyle (fixedWidthTem, gutterTem, itemsTem) {\n var width;\n\n if (fixedWidthTem) {\n width = (fixedWidthTem + gutterTem) + 'px';\n } else {\n if (!carousel) { itemsTem = Math.floor(itemsTem); }\n var dividend = carousel ? slideCountNew : itemsTem;\n width = CALC ?\n CALC + '(100% / ' + dividend + ')' :\n 100 / dividend + '%';\n }\n\n width = 'width:' + width;\n\n // inner slider: overwrite outer slider styles\n return nested !== 'inner' ? width + ';' : width + ' !important;';\n }\n\n function getSlideGutterStyle (gutterTem) {\n var str = '';\n\n // gutter maybe interger || 0\n // so can't use 'if (gutter)'\n if (gutterTem !== false) {\n var prop = horizontal ? 'padding-' : 'margin-',\n dir = horizontal ? 'right' : 'bottom';\n str = prop + dir + ': ' + gutterTem + 'px;';\n }\n\n return str;\n }\n\n function getCSSPrefix (name, num) {\n var prefix = name.substring(0, name.length - num).toLowerCase();\n if (prefix) { prefix = '-' + prefix + '-'; }\n\n return prefix;\n }\n\n function getTransitionDurationStyle (speed) {\n return getCSSPrefix(TRANSITIONDURATION, 18) + 'transition-duration:' + speed / 1000 + 's;';\n }\n\n function getAnimationDurationStyle (speed) {\n return getCSSPrefix(ANIMATIONDURATION, 17) + 'animation-duration:' + speed / 1000 + 's;';\n }\n\n function initStructure () {\n var classOuter = 'tns-outer',\n classInner = 'tns-inner',\n hasGutter = hasOption('gutter');\n\n outerWrapper.className = classOuter;\n innerWrapper.className = classInner;\n outerWrapper.id = slideId + '-ow';\n innerWrapper.id = slideId + '-iw';\n\n // set container properties\n if (container.id === '') { container.id = slideId; }\n newContainerClasses += PERCENTAGELAYOUT || autoWidth ? ' tns-subpixel' : ' tns-no-subpixel';\n newContainerClasses += CALC ? ' tns-calc' : ' tns-no-calc';\n if (autoWidth) { newContainerClasses += ' tns-autowidth'; }\n newContainerClasses += ' tns-' + options.axis;\n container.className += newContainerClasses;\n\n // add constrain layer for carousel\n if (carousel) {\n middleWrapper = doc.createElement('div');\n middleWrapper.id = slideId + '-mw';\n middleWrapper.className = 'tns-ovh';\n\n outerWrapper.appendChild(middleWrapper);\n middleWrapper.appendChild(innerWrapper);\n } else {\n outerWrapper.appendChild(innerWrapper);\n }\n\n if (autoHeight) {\n var wp = middleWrapper ? middleWrapper : innerWrapper;\n wp.className += ' tns-ah';\n }\n\n containerParent.insertBefore(outerWrapper, container);\n innerWrapper.appendChild(container);\n\n // add id, class, aria attributes\n // before clone slides\n forEach(slideItems, function(item, i) {\n addClass(item, 'tns-item');\n if (!item.id) { item.id = slideId + '-item' + i; }\n if (!carousel && animateNormal) { addClass(item, animateNormal); }\n setAttrs(item, {\n 'aria-hidden': 'true',\n 'tabindex': '-1'\n });\n setAttrs(item.querySelectorAll('a, button, details, input, textarea, select'), {\n 'aria-hidden': 'true',\n 'tabindex': '-1'\n });\n });\n\n // ## clone slides\n // carousel: n + slides + n\n // gallery: slides + n\n if (cloneCount) {\n var fragmentBefore = doc.createDocumentFragment(),\n fragmentAfter = doc.createDocumentFragment();\n\n for (var j = cloneCount; j--;) {\n var num = j%slideCount,\n cloneFirst = slideItems[num].cloneNode(true);\n addClass(cloneFirst, slideClonedClass);\n removeAttrs(cloneFirst, 'id');\n fragmentAfter.insertBefore(cloneFirst, fragmentAfter.firstChild);\n\n if (carousel) {\n var cloneLast = slideItems[slideCount - 1 - num].cloneNode(true);\n addClass(cloneLast, slideClonedClass);\n removeAttrs(cloneLast, 'id');\n fragmentBefore.appendChild(cloneLast);\n }\n }\n\n container.insertBefore(fragmentBefore, container.firstChild);\n container.appendChild(fragmentAfter);\n slideItems = container.children;\n }\n\n }\n\n function initSliderTransform () {\n // ## images loaded/failed\n if (hasOption('autoHeight') || autoWidth || !horizontal) {\n var imgs = container.querySelectorAll('img');\n\n // add img load event listener\n forEach(imgs, function(img) {\n var src = img.src;\n\n if (!lazyload) {\n // not data img\n if (src && src.indexOf('data:image') < 0) {\n img.src = '';\n addEvents(img, imgEvents);\n addClass(img, 'loading');\n\n img.src = src;\n // data img\n } else {\n imgLoaded(img);\n }\n }\n });\n\n // set imgsComplete\n raf(function(){ imgsLoadedCheck(arrayFromNodeList(imgs), function() { imgsComplete = true; }); });\n\n // reset imgs for auto height: check visible imgs only\n if (hasOption('autoHeight')) { imgs = getImageArray(index, Math.min(index + items - 1, slideCountNew - 1)); }\n\n lazyload ? initSliderTransformStyleCheck() : raf(function(){ imgsLoadedCheck(arrayFromNodeList(imgs), initSliderTransformStyleCheck); });\n\n } else {\n // set container transform property\n if (carousel) { doContainerTransformSilent(); }\n\n // update slider tools and events\n initTools();\n initEvents();\n }\n }\n\n function initSliderTransformStyleCheck () {\n if (autoWidth && slideCount > 1) {\n // check styles application\n var num = loop ? index : slideCount - 1;\n\n (function stylesApplicationCheck() {\n var left = slideItems[num].getBoundingClientRect().left;\n var right = slideItems[num - 1].getBoundingClientRect().right;\n\n (Math.abs(left - right) <= 1) ?\n initSliderTransformCore() :\n setTimeout(function(){ stylesApplicationCheck() }, 16);\n })();\n\n } else {\n initSliderTransformCore();\n }\n }\n\n\n function initSliderTransformCore () {\n // run Fn()s which are rely on image loading\n if (!horizontal || autoWidth) {\n setSlidePositions();\n\n if (autoWidth) {\n rightBoundary = getRightBoundary();\n if (freezable) { freeze = getFreeze(); }\n indexMax = getIndexMax(); // <= slidePositions, rightBoundary <=\n resetVariblesWhenDisable(disable || freeze);\n } else {\n updateContentWrapperHeight();\n }\n }\n\n // set container transform property\n if (carousel) { doContainerTransformSilent(); }\n\n // update slider tools and events\n initTools();\n initEvents();\n }\n\n function initSheet () {\n // gallery:\n // set animation classes and left value for gallery slider\n if (!carousel) {\n for (var i = index, l = index + Math.min(slideCount, items); i < l; i++) {\n var item = slideItems[i];\n item.style.left = (i - index) * 100 / items + '%';\n addClass(item, animateIn);\n removeClass(item, animateNormal);\n }\n }\n\n // #### LAYOUT\n\n // ## INLINE-BLOCK VS FLOAT\n\n // ## PercentageLayout:\n // slides: inline-block\n // remove blank space between slides by set font-size: 0\n\n // ## Non PercentageLayout:\n // slides: float\n // margin-right: -100%\n // margin-left: ~\n\n // Resource: https://docs.google.com/spreadsheets/d/147up245wwTXeQYve3BRSAD4oVcvQmuGsFteJOeA5xNQ/edit?usp=sharing\n if (horizontal) {\n if (PERCENTAGELAYOUT || autoWidth) {\n addCSSRule(sheet, '#' + slideId + ' > .tns-item', 'font-size:' + win.getComputedStyle(slideItems[0]).fontSize + ';', getCssRulesLength(sheet));\n addCSSRule(sheet, '#' + slideId, 'font-size:0;', getCssRulesLength(sheet));\n } else if (carousel) {\n forEach(slideItems, function (slide, i) {\n slide.style.marginLeft = getSlideMarginLeft(i);\n });\n }\n }\n\n\n // ## BASIC STYLES\n if (CSSMQ) {\n // middle wrapper style\n if (TRANSITIONDURATION) {\n var str = middleWrapper && options.autoHeight ? getTransitionDurationStyle(options.speed) : '';\n addCSSRule(sheet, '#' + slideId + '-mw', str, getCssRulesLength(sheet));\n }\n\n // inner wrapper styles\n str = getInnerWrapperStyles(options.edgePadding, options.gutter, options.fixedWidth, options.speed, options.autoHeight);\n addCSSRule(sheet, '#' + slideId + '-iw', str, getCssRulesLength(sheet));\n\n // container styles\n if (carousel) {\n str = horizontal && !autoWidth ? 'width:' + getContainerWidth(options.fixedWidth, options.gutter, options.items) + ';' : '';\n if (TRANSITIONDURATION) { str += getTransitionDurationStyle(speed); }\n addCSSRule(sheet, '#' + slideId, str, getCssRulesLength(sheet));\n }\n\n // slide styles\n str = horizontal && !autoWidth ? getSlideWidthStyle(options.fixedWidth, options.gutter, options.items) : '';\n if (options.gutter) { str += getSlideGutterStyle(options.gutter); }\n // set gallery items transition-duration\n if (!carousel) {\n if (TRANSITIONDURATION) { str += getTransitionDurationStyle(speed); }\n if (ANIMATIONDURATION) { str += getAnimationDurationStyle(speed); }\n }\n if (str) { addCSSRule(sheet, '#' + slideId + ' > .tns-item', str, getCssRulesLength(sheet)); }\n\n // non CSS mediaqueries: IE8\n // ## update inner wrapper, container, slides if needed\n // set inline styles for inner wrapper & container\n // insert stylesheet (one line) for slides only (since slides are many)\n } else {\n // middle wrapper styles\n update_carousel_transition_duration();\n\n // inner wrapper styles\n innerWrapper.style.cssText = getInnerWrapperStyles(edgePadding, gutter, fixedWidth, autoHeight);\n\n // container styles\n if (carousel && horizontal && !autoWidth) {\n container.style.width = getContainerWidth(fixedWidth, gutter, items);\n }\n\n // slide styles\n var str = horizontal && !autoWidth ? getSlideWidthStyle(fixedWidth, gutter, items) : '';\n if (gutter) { str += getSlideGutterStyle(gutter); }\n\n // append to the last line\n if (str) { addCSSRule(sheet, '#' + slideId + ' > .tns-item', str, getCssRulesLength(sheet)); }\n }\n\n // ## MEDIAQUERIES\n if (responsive && CSSMQ) {\n for (var bp in responsive) {\n // bp: convert string to number\n bp = parseInt(bp);\n\n var opts = responsive[bp],\n str = '',\n middleWrapperStr = '',\n innerWrapperStr = '',\n containerStr = '',\n slideStr = '',\n itemsBP = !autoWidth ? getOption('items', bp) : null,\n fixedWidthBP = getOption('fixedWidth', bp),\n speedBP = getOption('speed', bp),\n edgePaddingBP = getOption('edgePadding', bp),\n autoHeightBP = getOption('autoHeight', bp),\n gutterBP = getOption('gutter', bp);\n\n // middle wrapper string\n if (TRANSITIONDURATION && middleWrapper && getOption('autoHeight', bp) && 'speed' in opts) {\n middleWrapperStr = '#' + slideId + '-mw{' + getTransitionDurationStyle(speedBP) + '}';\n }\n\n // inner wrapper string\n if ('edgePadding' in opts || 'gutter' in opts) {\n innerWrapperStr = '#' + slideId + '-iw{' + getInnerWrapperStyles(edgePaddingBP, gutterBP, fixedWidthBP, speedBP, autoHeightBP) + '}';\n }\n\n // container string\n if (carousel && horizontal && !autoWidth && ('fixedWidth' in opts || 'items' in opts || (fixedWidth && 'gutter' in opts))) {\n containerStr = 'width:' + getContainerWidth(fixedWidthBP, gutterBP, itemsBP) + ';';\n }\n if (TRANSITIONDURATION && 'speed' in opts) {\n containerStr += getTransitionDurationStyle(speedBP);\n }\n if (containerStr) {\n containerStr = '#' + slideId + '{' + containerStr + '}';\n }\n\n // slide string\n if ('fixedWidth' in opts || (fixedWidth && 'gutter' in opts) || !carousel && 'items' in opts) {\n slideStr += getSlideWidthStyle(fixedWidthBP, gutterBP, itemsBP);\n }\n if ('gutter' in opts) {\n slideStr += getSlideGutterStyle(gutterBP);\n }\n // set gallery items transition-duration\n if (!carousel && 'speed' in opts) {\n if (TRANSITIONDURATION) { slideStr += getTransitionDurationStyle(speedBP); }\n if (ANIMATIONDURATION) { slideStr += getAnimationDurationStyle(speedBP); }\n }\n if (slideStr) { slideStr = '#' + slideId + ' > .tns-item{' + slideStr + '}'; }\n\n // add up\n str = middleWrapperStr + innerWrapperStr + containerStr + slideStr;\n\n if (str) {\n sheet.insertRule('@media (min-width: ' + bp / 16 + 'em) {' + str + '}', sheet.cssRules.length);\n }\n }\n }\n }\n\n function initTools () {\n // == slides ==\n updateSlideStatus();\n\n // == live region ==\n outerWrapper.insertAdjacentHTML('afterbegin', '<div class=\"tns-liveregion tns-visually-hidden\" aria-live=\"polite\" aria-atomic=\"true\">slide <span class=\"current\">' + getLiveRegionStr() + '</span> of ' + slideCount + '</div>');\n liveregionCurrent = outerWrapper.querySelector('.tns-liveregion .current');\n\n // == autoplayInit ==\n if (hasAutoplay) {\n var txt = autoplay ? 'stop' : 'start';\n if (autoplayButton) {\n setAttrs(autoplayButton, {'data-action': txt});\n } else if (options.autoplayButtonOutput) {\n outerWrapper.insertAdjacentHTML(getInsertPosition(options.autoplayPosition), '<button type=\"button\" data-action=\"' + txt + '\">' + autoplayHtmlStrings[0] + txt + autoplayHtmlStrings[1] + autoplayText[0] + '</button>');\n autoplayButton = outerWrapper.querySelector('[data-action]');\n }\n\n // add event\n if (autoplayButton) {\n addEvents(autoplayButton, {'click': toggleAutoplay});\n }\n\n if (autoplay) {\n startAutoplay();\n if (autoplayHoverPause) { addEvents(container, hoverEvents); }\n if (autoplayResetOnVisibility) { addEvents(container, visibilityEvent); }\n }\n }\n\n // == navInit ==\n if (hasNav) {\n var initIndex = !carousel ? 0 : cloneCount;\n // customized nav\n // will not hide the navs in case they're thumbnails\n if (navContainer) {\n setAttrs(navContainer, {'aria-label': 'Carousel Pagination'});\n navItems = navContainer.children;\n forEach(navItems, function(item, i) {\n setAttrs(item, {\n 'data-nav': i,\n 'tabindex': '-1',\n 'aria-label': navStr + (i + 1),\n 'aria-controls': slideId,\n });\n });\n\n // generated nav\n } else {\n var navHtml = '',\n hiddenStr = navAsThumbnails ? '' : 'style=\"display:none\"';\n for (var i = 0; i < slideCount; i++) {\n // hide nav items by default\n navHtml += '<button type=\"button\" data-nav=\"' + i +'\" tabindex=\"-1\" aria-controls=\"' + slideId + '\" ' + hiddenStr + ' aria-label=\"' + navStr + (i + 1) +'\"></button>';\n }\n navHtml = '<div class=\"tns-nav\" aria-label=\"Carousel Pagination\">' + navHtml + '</div>';\n outerWrapper.insertAdjacentHTML(getInsertPosition(options.navPosition), navHtml);\n\n navContainer = outerWrapper.querySelector('.tns-nav');\n navItems = navContainer.children;\n }\n\n updateNavVisibility();\n\n // add transition\n if (TRANSITIONDURATION) {\n var prefix = TRANSITIONDURATION.substring(0, TRANSITIONDURATION.length - 18).toLowerCase(),\n str = 'transition: all ' + speed / 1000 + 's';\n\n if (prefix) {\n str = '-' + prefix + '-' + str;\n }\n\n addCSSRule(sheet, '[aria-controls^=' + slideId + '-item]', str, getCssRulesLength(sheet));\n }\n\n setAttrs(navItems[navCurrentIndex], {'aria-label': navStr + (navCurrentIndex + 1) + navStrCurrent});\n removeAttrs(navItems[navCurrentIndex], 'tabindex');\n addClass(navItems[navCurrentIndex], navActiveClass);\n\n // add events\n addEvents(navContainer, navEvents);\n }\n\n\n\n // == controlsInit ==\n if (hasControls) {\n if (!controlsContainer && (!prevButton || !nextButton)) {\n outerWrapper.insertAdjacentHTML(getInsertPosition(options.controlsPosition), '<div class=\"tns-controls\" aria-label=\"Carousel Navigation\" tabindex=\"0\"><button type=\"button\" data-controls=\"prev\" tabindex=\"-1\" aria-controls=\"' + slideId +'\">' + controlsText[0] + '</button><button type=\"button\" data-controls=\"next\" tabindex=\"-1\" aria-controls=\"' + slideId +'\">' + controlsText[1] + '</button></div>');\n\n controlsContainer = outerWrapper.querySelector('.tns-controls');\n }\n\n if (!prevButton || !nextButton) {\n prevButton = controlsContainer.children[0];\n nextButton = controlsContainer.children[1];\n }\n\n if (options.controlsContainer) {\n setAttrs(controlsContainer, {\n 'aria-label': 'Carousel Navigation',\n 'tabindex': '0'\n });\n }\n\n if (options.controlsContainer || (options.prevButton && options.nextButton)) {\n setAttrs([prevButton, nextButton], {\n 'aria-controls': slideId,\n 'tabindex': '-1',\n });\n }\n\n if (options.controlsContainer || (options.prevButton && options.nextButton)) {\n setAttrs(prevButton, {'data-controls' : 'prev'});\n setAttrs(nextButton, {'data-controls' : 'next'});\n }\n\n prevIsButton = isButton(prevButton);\n nextIsButton = isButton(nextButton);\n\n updateControlsStatus();\n\n // add events\n if (controlsContainer) {\n addEvents(controlsContainer, controlsEvents);\n } else {\n addEvents(prevButton, controlsEvents);\n addEvents(nextButton, controlsEvents);\n }\n }\n\n // hide tools if needed\n disableUI();\n }\n\n function initEvents () {\n // add events\n if (carousel && TRANSITIONEND) {\n var eve = {};\n eve[TRANSITIONEND] = onTransitionEnd;\n addEvents(container, eve);\n }\n\n if (touch) { addEvents(container, touchEvents, options.preventScrollOnTouch); }\n if (mouseDrag) { addEvents(container, dragEvents); }\n if (arrowKeys) { addEvents(doc, docmentKeydownEvent); }\n\n if (nested === 'inner') {\n events.on('outerResized', function () {\n resizeTasks();\n events.emit('innerLoaded', info());\n });\n } else if (responsive || fixedWidth || autoWidth || autoHeight || !horizontal) {\n addEvents(win, {'resize': onResize});\n }\n\n if (autoHeight) {\n if (nested === 'outer') {\n events.on('innerLoaded', doAutoHeight);\n } else if (!disable) { doAutoHeight(); }\n }\n\n doLazyLoad();\n if (disable) { disableSlider(); } else if (freeze) { freezeSlider(); }\n\n events.on('indexChanged', additionalUpdates);\n if (nested === 'inner') { events.emit('innerLoaded', info()); }\n if (typeof onInit === 'function') { onInit(info()); }\n isOn = true;\n }\n\n function destroy () {\n // sheet\n sheet.disabled = true;\n if (sheet.ownerNode) { sheet.ownerNode.remove(); }\n\n // remove win event listeners\n removeEvents(win, {'resize': onResize});\n\n // arrowKeys, controls, nav\n if (arrowKeys) { removeEvents(doc, docmentKeydownEvent); }\n if (controlsContainer) { removeEvents(controlsContainer, controlsEvents); }\n if (navContainer) { removeEvents(navContainer, navEvents); }\n\n // autoplay\n removeEvents(container, hoverEvents);\n removeEvents(container, visibilityEvent);\n if (autoplayButton) { removeEvents(autoplayButton, {'click': toggleAutoplay}); }\n if (autoplay) { clearInterval(autoplayTimer); }\n\n // container\n if (carousel && TRANSITIONEND) {\n var eve = {};\n eve[TRANSITIONEND] = onTransitionEnd;\n removeEvents(container, eve);\n }\n if (touch) { removeEvents(container, touchEvents); }\n if (mouseDrag) { removeEvents(container, dragEvents); }\n\n // cache Object values in options && reset HTML\n var htmlList = [containerHTML, controlsContainerHTML, prevButtonHTML, nextButtonHTML, navContainerHTML, autoplayButtonHTML];\n\n tnsList.forEach(function(item, i) {\n var el = item === 'container' ? outerWrapper : options[item];\n\n if (typeof el === 'object' && el) {\n var prevEl = el.previousElementSibling ? el.previousElementSibling : false,\n parentEl = el.parentNode;\n el.outerHTML = htmlList[i];\n options[item] = prevEl ? prevEl.nextElementSibling : parentEl.firstElementChild;\n }\n });\n\n\n // reset variables\n tnsList = animateIn = animateOut = animateDelay = animateNormal = horizontal = outerWrapper = innerWrapper = container = containerParent = containerHTML = slideItems = slideCount = breakpointZone = windowWidth = autoWidth = fixedWidth = edgePadding = gutter = viewport = items = slideBy = viewportMax = arrowKeys = speed = rewind = loop = autoHeight = sheet = lazyload = slidePositions = slideItemsOut = cloneCount = slideCountNew = hasRightDeadZone = rightBoundary = updateIndexBeforeTransform = transformAttr = transformPrefix = transformPostfix = getIndexMax = index = indexCached = indexMin = indexMax = resizeTimer = swipeAngle = moveDirectionExpected = running = onInit = events = newContainerClasses = slideId = disable = disabled = freezable = freeze = frozen = controlsEvents = navEvents = hoverEvents = visibilityEvent = docmentKeydownEvent = touchEvents = dragEvents = hasControls = hasNav = navAsThumbnails = hasAutoplay = hasTouch = hasMouseDrag = slideActiveClass = imgCompleteClass = imgEvents = imgsComplete = controls = controlsText = controlsContainer = controlsContainerHTML = prevButton = nextButton = prevIsButton = nextIsButton = nav = navContainer = navContainerHTML = navItems = pages = pagesCached = navClicked = navCurrentIndex = navCurrentIndexCached = navActiveClass = navStr = navStrCurrent = autoplay = autoplayTimeout = autoplayDirection = autoplayText = autoplayHoverPause = autoplayButton = autoplayButtonHTML = autoplayResetOnVisibility = autoplayHtmlStrings = autoplayTimer = animating = autoplayHoverPaused = autoplayUserPaused = autoplayVisibilityPaused = initPosition = lastPosition = translateInit = disX = disY = panStart = rafIndex = getDist = touch = mouseDrag = null;\n // check variables\n // [animateIn, animateOut, animateDelay, animateNormal, horizontal, outerWrapper, innerWrapper, container, containerParent, containerHTML, slideItems, slideCount, breakpointZone, windowWidth, autoWidth, fixedWidth, edgePadding, gutter, viewport, items, slideBy, viewportMax, arrowKeys, speed, rewind, loop, autoHeight, sheet, lazyload, slidePositions, slideItemsOut, cloneCount, slideCountNew, hasRightDeadZone, rightBoundary, updateIndexBeforeTransform, transformAttr, transformPrefix, transformPostfix, getIndexMax, index, indexCached, indexMin, indexMax, resizeTimer, swipeAngle, moveDirectionExpected, running, onInit, events, newContainerClasses, slideId, disable, disabled, freezable, freeze, frozen, controlsEvents, navEvents, hoverEvents, visibilityEvent, docmentKeydownEvent, touchEvents, dragEvents, hasControls, hasNav, navAsThumbnails, hasAutoplay, hasTouch, hasMouseDrag, slideActiveClass, imgCompleteClass, imgEvents, imgsComplete, controls, controlsText, controlsContainer, controlsContainerHTML, prevButton, nextButton, prevIsButton, nextIsButton, nav, navContainer, navContainerHTML, navItems, pages, pagesCached, navClicked, navCurrentIndex, navCurrentIndexCached, navActiveClass, navStr, navStrCurrent, autoplay, autoplayTimeout, autoplayDirection, autoplayText, autoplayHoverPause, autoplayButton, autoplayButtonHTML, autoplayResetOnVisibility, autoplayHtmlStrings, autoplayTimer, animating, autoplayHoverPaused, autoplayUserPaused, autoplayVisibilityPaused, initPosition, lastPosition, translateInit, disX, disY, panStart, rafIndex, getDist, touch, mouseDrag ].forEach(function(item) { if (item !== null) { console.log(item); } });\n\n for (var a in this) {\n if (a !== 'rebuild') { this[a] = null; }\n }\n isOn = false;\n }\n\n// === ON RESIZE ===\n // responsive || fixedWidth || autoWidth || !horizontal\n function onResize (e) {\n raf(function(){ resizeTasks(getEvent(e)); });\n }\n\n function resizeTasks (e) {\n if (!isOn) { return; }\n if (nested === 'outer') { events.emit('outerResized', info(e)); }\n windowWidth = getWindowWidth();\n var bpChanged,\n breakpointZoneTem = breakpointZone,\n needContainerTransform = false;\n\n if (responsive) {\n setBreakpointZone();\n bpChanged = breakpointZoneTem !== breakpointZone;\n // if (hasRightDeadZone) { needContainerTransform = true; } // *?\n if (bpChanged) { events.emit('newBreakpointStart', info(e)); }\n }\n\n var indChanged,\n itemsChanged,\n itemsTem = items,\n disableTem = disable,\n freezeTem = freeze,\n arrowKeysTem = arrowKeys,\n controlsTem = controls,\n navTem = nav,\n touchTem = touch,\n mouseDragTem = mouseDrag,\n autoplayTem = autoplay,\n autoplayHoverPauseTem = autoplayHoverPause,\n autoplayResetOnVisibilityTem = autoplayResetOnVisibility,\n indexTem = index;\n\n if (bpChanged) {\n var fixedWidthTem = fixedWidth,\n autoHeightTem = autoHeight,\n controlsTextTem = controlsText,\n centerTem = center,\n autoplayTextTem = autoplayText;\n\n if (!CSSMQ) {\n var gutterTem = gutter,\n edgePaddingTem = edgePadding;\n }\n }\n\n // get option:\n // fixed width: viewport, fixedWidth, gutter => items\n // others: window width => all variables\n // all: items => slideBy\n arrowKeys = getOption('arrowKeys');\n controls = getOption('controls');\n nav = getOption('nav');\n touch = getOption('touch');\n center = getOption('center');\n mouseDrag = getOption('mouseDrag');\n autoplay = getOption('autoplay');\n autoplayHoverPause = getOption('autoplayHoverPause');\n autoplayResetOnVisibility = getOption('autoplayResetOnVisibility');\n\n if (bpChanged) {\n disable = getOption('disable');\n fixedWidth = getOption('fixedWidth');\n speed = getOption('speed');\n autoHeight = getOption('autoHeight');\n controlsText = getOption('controlsText');\n autoplayText = getOption('autoplayText');\n autoplayTimeout = getOption('autoplayTimeout');\n\n if (!CSSMQ) {\n edgePadding = getOption('edgePadding');\n gutter = getOption('gutter');\n }\n }\n // update options\n resetVariblesWhenDisable(disable);\n\n viewport = getViewportWidth(); // <= edgePadding, gutter\n if ((!horizontal || autoWidth) && !disable) {\n setSlidePositions();\n if (!horizontal) {\n updateContentWrapperHeight(); // <= setSlidePositions\n needContainerTransform = true;\n }\n }\n if (fixedWidth || autoWidth) {\n rightBoundary = getRightBoundary(); // autoWidth: <= viewport, slidePositions, gutter\n // fixedWidth: <= viewport, fixedWidth, gutter\n indexMax = getIndexMax(); // autoWidth: <= rightBoundary, slidePositions\n // fixedWidth: <= rightBoundary, fixedWidth, gutter\n }\n\n if (bpChanged || fixedWidth) {\n items = getOption('items');\n slideBy = getOption('slideBy');\n itemsChanged = items !== itemsTem;\n\n if (itemsChanged) {\n if (!fixedWidth && !autoWidth) { indexMax = getIndexMax(); } // <= items\n // check index before transform in case\n // slider reach the right edge then items become bigger\n updateIndex();\n }\n }\n\n if (bpChanged) {\n if (disable !== disableTem) {\n if (disable) {\n disableSlider();\n } else {\n enableSlider(); // <= slidePositions, rightBoundary, indexMax\n }\n }\n }\n\n if (freezable && (bpChanged || fixedWidth || autoWidth)) {\n freeze = getFreeze(); // <= autoWidth: slidePositions, gutter, viewport, rightBoundary\n // <= fixedWidth: fixedWidth, gutter, rightBoundary\n // <= others: items\n\n if (freeze !== freezeTem) {\n if (freeze) {\n doContainerTransform(getContainerTransformValue(getStartIndex(0)));\n freezeSlider();\n } else {\n unfreezeSlider();\n needContainerTransform = true;\n }\n }\n }\n\n resetVariblesWhenDisable(disable || freeze); // controls, nav, touch, mouseDrag, arrowKeys, autoplay, autoplayHoverPause, autoplayResetOnVisibility\n if (!autoplay) { autoplayHoverPause = autoplayResetOnVisibility = false; }\n\n if (arrowKeys !== arrowKeysTem) {\n arrowKeys ?\n addEvents(doc, docmentKeydownEvent) :\n removeEvents(doc, docmentKeydownEvent);\n }\n if (controls !== controlsTem) {\n if (controls) {\n if (controlsContainer) {\n showElement(controlsContainer);\n } else {\n if (prevButton) { showElement(prevButton); }\n if (nextButton) { showElement(nextButton); }\n }\n } else {\n if (controlsContainer) {\n hideElement(controlsContainer);\n } else {\n if (prevButton) { hideElement(prevButton); }\n if (nextButton) { hideElement(nextButton); }\n }\n }\n }\n if (nav !== navTem) {\n if (nav) {\n showElement(navContainer);\n updateNavVisibility();\n } else {\n hideElement(navContainer)\n }\n }\n if (touch !== touchTem) {\n touch ?\n addEvents(container, touchEvents, options.preventScrollOnTouch) :\n removeEvents(container, touchEvents);\n }\n if (mouseDrag !== mouseDragTem) {\n mouseDrag ?\n addEvents(container, dragEvents) :\n removeEvents(container, dragEvents);\n }\n if (autoplay !== autoplayTem) {\n if (autoplay) {\n if (autoplayButton) { showElement(autoplayButton); }\n if (!animating && !autoplayUserPaused) { startAutoplay(); }\n } else {\n if (autoplayButton) { hideElement(autoplayButton); }\n if (animating) { stopAutoplay(); }\n }\n }\n if (autoplayHoverPause !== autoplayHoverPauseTem) {\n autoplayHoverPause ?\n addEvents(container, hoverEvents) :\n removeEvents(container, hoverEvents);\n }\n if (autoplayResetOnVisibility !== autoplayResetOnVisibilityTem) {\n autoplayResetOnVisibility ?\n addEvents(doc, visibilityEvent) :\n removeEvents(doc, visibilityEvent);\n }\n\n if (bpChanged) {\n if (fixedWidth !== fixedWidthTem || center !== centerTem) { needContainerTransform = true; }\n\n if (autoHeight !== autoHeightTem) {\n if (!autoHeight) { innerWrapper.style.height = ''; }\n }\n\n if (controls && controlsText !== controlsTextTem) {\n prevButton.innerHTML = controlsText[0];\n nextButton.innerHTML = controlsText[1];\n }\n\n if (autoplayButton && autoplayText !== autoplayTextTem) {\n var i = autoplay ? 1 : 0,\n html = autoplayButton.innerHTML,\n len = html.length - autoplayTextTem[i].length;\n if (html.substring(len) === autoplayTextTem[i]) {\n autoplayButton.innerHTML = html.substring(0, len) + autoplayText[i];\n }\n }\n } else {\n if (center && (fixedWidth || autoWidth)) { needContainerTransform = true; }\n }\n\n if (itemsChanged || fixedWidth && !autoWidth) {\n pages = getPages();\n updateNavVisibility();\n }\n\n indChanged = index !== indexTem;\n if (indChanged) {\n events.emit('indexChanged', info());\n needContainerTransform = true;\n } else if (itemsChanged) {\n if (!indChanged) { additionalUpdates(); }\n } else if (fixedWidth || autoWidth) {\n doLazyLoad();\n updateSlideStatus();\n updateLiveRegion();\n }\n\n if (itemsChanged && !carousel) { updateGallerySlidePositions(); }\n\n if (!disable && !freeze) {\n // non-mediaqueries: IE8\n if (bpChanged && !CSSMQ) {\n // middle wrapper styles\n\n // inner wrapper styles\n if (edgePadding !== edgePaddingTem || gutter !== gutterTem) {\n innerWrapper.style.cssText = getInnerWrapperStyles(edgePadding, gutter, fixedWidth, speed, autoHeight);\n }\n\n if (horizontal) {\n // container styles\n if (carousel) {\n container.style.width = getContainerWidth(fixedWidth, gutter, items);\n }\n\n // slide styles\n var str = getSlideWidthStyle(fixedWidth, gutter, items) +\n getSlideGutterStyle(gutter);\n\n // remove the last line and\n // add new styles\n removeCSSRule(sheet, getCssRulesLength(sheet) - 1);\n addCSSRule(sheet, '#' + slideId + ' > .tns-item', str, getCssRulesLength(sheet));\n }\n }\n\n // auto height\n if (autoHeight) { doAutoHeight(); }\n\n if (needContainerTransform) {\n doContainerTransformSilent();\n indexCached = index;\n }\n }\n\n if (bpChanged) { events.emit('newBreakpointEnd', info(e)); }\n }\n\n\n\n\n\n // === INITIALIZATION FUNCTIONS === //\n function getFreeze () {\n if (!fixedWidth && !autoWidth) {\n var a = center ? items - (items - 1) / 2 : items;\n return slideCount <= a;\n }\n\n var width = fixedWidth ? (fixedWidth + gutter) * slideCount : slidePositions[slideCount],\n vp = edgePadding ? viewport + edgePadding * 2 : viewport + gutter;\n\n if (center) {\n vp -= fixedWidth ? (viewport - fixedWidth) / 2 : (viewport - (slidePositions[index + 1] - slidePositions[index] - gutter)) / 2;\n }\n\n return width <= vp;\n }\n\n function setBreakpointZone () {\n breakpointZone = 0;\n for (var bp in responsive) {\n bp = parseInt(bp); // convert string to number\n if (windowWidth >= bp) { breakpointZone = bp; }\n }\n }\n\n // (slideBy, indexMin, indexMax) => index\n var updateIndex = (function () {\n return loop ?\n carousel ?\n // loop + carousel\n function () {\n var leftEdge = indexMin,\n rightEdge = indexMax;\n\n leftEdge += slideBy;\n rightEdge -= slideBy;\n\n // adjust edges when has edge paddings\n // or fixed-width slider with extra space on the right side\n if (edgePadding) {\n leftEdge += 1;\n rightEdge -= 1;\n } else if (fixedWidth) {\n if ((viewport + gutter)%(fixedWidth + gutter)) { rightEdge -= 1; }\n }\n\n if (cloneCount) {\n if (index > rightEdge) {\n index -= slideCount;\n } else if (index < leftEdge) {\n index += slideCount;\n }\n }\n } :\n // loop + gallery\n function() {\n if (index > indexMax) {\n while (index >= indexMin + slideCount) { index -= slideCount; }\n } else if (index < indexMin) {\n while (index <= indexMax - slideCount) { index += slideCount; }\n }\n } :\n // non-loop\n function() {\n index = Math.max(indexMin, Math.min(indexMax, index));\n };\n })();\n\n function disableUI () {\n if (!autoplay && autoplayButton) { hideElement(autoplayButton); }\n if (!nav && navContainer) { hideElement(navContainer); }\n if (!controls) {\n if (controlsContainer) {\n hideElement(controlsContainer);\n } else {\n if (prevButton) { hideElement(prevButton); }\n if (nextButton) { hideElement(nextButton); }\n }\n }\n }\n\n function enableUI () {\n if (autoplay && autoplayButton) { showElement(autoplayButton); }\n if (nav && navContainer) { showElement(navContainer); }\n if (controls) {\n if (controlsContainer) {\n showElement(controlsContainer);\n } else {\n if (prevButton) { showElement(prevButton); }\n if (nextButton) { showElement(nextButton); }\n }\n }\n }\n\n function freezeSlider () {\n if (frozen) { return; }\n\n // remove edge padding from inner wrapper\n if (edgePadding) { innerWrapper.style.margin = '0px'; }\n\n // add class tns-transparent to cloned slides\n if (cloneCount) {\n var str = 'tns-transparent';\n for (var i = cloneCount; i--;) {\n if (carousel) { addClass(slideItems[i], str); }\n addClass(slideItems[slideCountNew - i - 1], str);\n }\n }\n\n // update tools\n disableUI();\n\n frozen = true;\n }\n\n function unfreezeSlider () {\n if (!frozen) { return; }\n\n // restore edge padding for inner wrapper\n // for mordern browsers\n if (edgePadding && CSSMQ) { innerWrapper.style.margin = ''; }\n\n // remove class tns-transparent to cloned slides\n if (cloneCount) {\n var str = 'tns-transparent';\n for (var i = cloneCount; i--;) {\n if (carousel) { removeClass(slideItems[i], str); }\n removeClass(slideItems[slideCountNew - i - 1], str);\n }\n }\n\n // update tools\n enableUI();\n\n frozen = false;\n }\n\n function disableSlider () {\n if (disabled) { return; }\n\n sheet.disabled = true;\n container.className = container.className.replace(newContainerClasses.substring(1), '');\n removeAttrs(container, ['style']);\n if (loop) {\n for (var j = cloneCount; j--;) {\n if (carousel) { hideElement(slideItems[j]); }\n hideElement(slideItems[slideCountNew - j - 1]);\n }\n }\n\n // vertical slider\n if (!horizontal || !carousel) { removeAttrs(innerWrapper, ['style']); }\n\n // gallery\n if (!carousel) {\n for (var i = index, l = index + slideCount; i < l; i++) {\n var item = slideItems[i];\n removeAttrs(item, ['style']);\n removeClass(item, animateIn);\n removeClass(item, animateNormal);\n }\n }\n\n // update tools\n disableUI();\n\n disabled = true;\n }\n\n function enableSlider () {\n if (!disabled) { return; }\n\n sheet.disabled = false;\n container.className += newContainerClasses;\n doContainerTransformSilent();\n\n if (loop) {\n for (var j = cloneCount; j--;) {\n if (carousel) { showElement(slideItems[j]); }\n showElement(slideItems[slideCountNew - j - 1]);\n }\n }\n\n // gallery\n if (!carousel) {\n for (var i = index, l = index + slideCount; i < l; i++) {\n var item = slideItems[i],\n classN = i < index + items ? animateIn : animateNormal;\n item.style.left = (i - index) * 100 / items + '%';\n addClass(item, classN);\n }\n }\n\n // update tools\n enableUI();\n\n disabled = false;\n }\n\n function updateLiveRegion () {\n var str = getLiveRegionStr();\n if (liveregionCurrent.innerHTML !== str) { liveregionCurrent.innerHTML = str; }\n }\n\n function getLiveRegionStr () {\n var arr = getVisibleSlideRange(),\n start = arr[0] + 1,\n end = arr[1] + 1;\n return start === end ? start + '' : start + ' to ' + end;\n }\n\n function getVisibleSlideRange (val) {\n if (val == null) { val = getContainerTransformValue(); }\n var start = index, end, rangestart, rangeend;\n\n // get range start, range end for autoWidth and fixedWidth\n if (center || edgePadding) {\n if (autoWidth || fixedWidth) {\n rangestart = - (parseFloat(val) + edgePadding);\n rangeend = rangestart + viewport + edgePadding * 2;\n }\n } else {\n if (autoWidth) {\n rangestart = slidePositions[index];\n rangeend = rangestart + viewport;\n }\n }\n\n // get start, end\n // - check auto width\n if (autoWidth) {\n slidePositions.forEach(function(point, i) {\n if (i < slideCountNew) {\n if ((center || edgePadding) && point <= rangestart + 0.5) { start = i; }\n if (rangeend - point >= 0.5) { end = i; }\n }\n });\n\n // - check percentage width, fixed width\n } else {\n\n if (fixedWidth) {\n var cell = fixedWidth + gutter;\n if (center || edgePadding) {\n start = Math.floor(rangestart/cell);\n end = Math.ceil(rangeend/cell - 1);\n } else {\n end = start + Math.ceil(viewport/cell) - 1;\n }\n\n } else {\n if (center || edgePadding) {\n var a = items - 1;\n if (center) {\n start -= a / 2;\n end = index + a / 2;\n } else {\n end = index + a;\n }\n\n if (edgePadding) {\n var b = edgePadding * items / viewport;\n start -= b;\n end += b;\n }\n\n start = Math.floor(start);\n end = Math.ceil(end);\n } else {\n end = start + items - 1;\n }\n }\n\n start = Math.max(start, 0);\n end = Math.min(end, slideCountNew - 1);\n }\n\n return [start, end];\n }\n\n function doLazyLoad () {\n if (lazyload && !disable) {\n var arg = getVisibleSlideRange();\n arg.push(lazyloadSelector);\n\n getImageArray.apply(null, arg).forEach(function (img) {\n if (!hasClass(img, imgCompleteClass)) {\n // stop propagation transitionend event to container\n var eve = {};\n eve[TRANSITIONEND] = function (e) { e.stopPropagation(); };\n addEvents(img, eve);\n\n addEvents(img, imgEvents);\n\n // update src\n img.src = getAttr(img, 'data-src');\n\n // update srcset\n var srcset = getAttr(img, 'data-srcset');\n if (srcset) { img.srcset = srcset; }\n\n addClass(img, 'loading');\n }\n });\n }\n }\n\n function onImgLoaded (e) {\n imgLoaded(getTarget(e));\n }\n\n function onImgFailed (e) {\n imgFailed(getTarget(e));\n }\n\n function imgLoaded (img) {\n addClass(img, 'loaded');\n imgCompleted(img);\n }\n\n function imgFailed (img) {\n addClass(img, 'failed');\n imgCompleted(img);\n }\n\n function imgCompleted (img) {\n addClass(img, imgCompleteClass);\n removeClass(img, 'loading');\n removeEvents(img, imgEvents);\n }\n\n function getImageArray (start, end, imgSelector) {\n var imgs = [];\n if (!imgSelector) { imgSelector = 'img'; }\n\n while (start <= end) {\n forEach(slideItems[start].querySelectorAll(imgSelector), function (img) { imgs.push(img); });\n start++;\n }\n\n return imgs;\n }\n\n // check if all visible images are loaded\n // and update container height if it's done\n function doAutoHeight () {\n var imgs = getImageArray.apply(null, getVisibleSlideRange());\n raf(function(){ imgsLoadedCheck(imgs, updateInnerWrapperHeight); });\n }\n\n function imgsLoadedCheck (imgs, cb) {\n // execute callback function if all images are complete\n if (imgsComplete) { return cb(); }\n\n // check image classes\n imgs.forEach(function (img, index) {\n if (!lazyload && img.complete) { imgCompleted(img); } // Check image.complete\n if (hasClass(img, imgCompleteClass)) { imgs.splice(index, 1); }\n });\n\n // execute callback function if selected images are all complete\n if (!imgs.length) { return cb(); }\n\n // otherwise execute this functiona again\n raf(function(){ imgsLoadedCheck(imgs, cb); });\n }\n\n function additionalUpdates () {\n doLazyLoad();\n updateSlideStatus();\n updateLiveRegion();\n updateControlsStatus();\n updateNavStatus();\n }\n\n\n function update_carousel_transition_duration () {\n if (carousel && autoHeight) {\n middleWrapper.style[TRANSITIONDURATION] = speed / 1000 + 's';\n }\n }\n\n function getMaxSlideHeight (slideStart, slideRange) {\n var heights = [];\n for (var i = slideStart, l = Math.min(slideStart + slideRange, slideCountNew); i < l; i++) {\n heights.push(slideItems[i].offsetHeight);\n }\n\n return Math.max.apply(null, heights);\n }\n\n // update inner wrapper height\n // 1. get the max-height of the visible slides\n // 2. set transitionDuration to speed\n // 3. update inner wrapper height to max-height\n // 4. set transitionDuration to 0s after transition done\n function updateInnerWrapperHeight () {\n var maxHeight = autoHeight ? getMaxSlideHeight(index, items) : getMaxSlideHeight(cloneCount, slideCount),\n wp = middleWrapper ? middleWrapper : innerWrapper;\n\n if (wp.style.height !== maxHeight) { wp.style.height = maxHeight + 'px'; }\n }\n\n // get the distance from the top edge of the first slide to each slide\n // (init) => slidePositions\n function setSlidePositions () {\n slidePositions = [0];\n var attr = horizontal ? 'left' : 'top',\n attr2 = horizontal ? 'right' : 'bottom',\n base = slideItems[0].getBoundingClientRect()[attr];\n\n forEach(slideItems, function(item, i) {\n // skip the first slide\n if (i) { slidePositions.push(item.getBoundingClientRect()[attr] - base); }\n // add the end edge\n if (i === slideCountNew - 1) { slidePositions.push(item.getBoundingClientRect()[attr2] - base); }\n });\n }\n\n // update slide\n function updateSlideStatus () {\n var range = getVisibleSlideRange(),\n start = range[0],\n end = range[1];\n\n forEach(slideItems, function(item, i) {\n // show slides\n if (i >= start && i <= end) {\n if (hasAttr(item, 'aria-hidden')) {\n removeAttrs(item, ['aria-hidden', 'tabindex']);\n removeAttrs(item.querySelectorAll('a, button, details, input, textarea, select'), ['aria-hidden', 'tabindex']);\n addClass(item, slideActiveClass);\n }\n // hide slides\n } else {\n if (!hasAttr(item, 'aria-hidden')) {\n setAttrs(item, {\n 'aria-hidden': 'true',\n 'tabindex': '-1'\n });\n setAttrs(item.querySelectorAll('a, button, details, input, textarea, select'), {\n 'aria-hidden': 'true',\n 'tabindex': '-1'\n });\n removeClass(item, slideActiveClass);\n }\n }\n });\n }\n\n // gallery: update slide position\n function updateGallerySlidePositions () {\n var l = index + Math.min(slideCount, items);\n for (var i = slideCountNew; i--;) {\n var item = slideItems[i];\n\n if (i >= index && i < l) {\n // add transitions to visible slides when adjusting their positions\n addClass(item, 'tns-moving');\n\n item.style.left = (i - index) * 100 / items + '%';\n addClass(item, animateIn);\n removeClass(item, animateNormal);\n } else if (item.style.left) {\n item.style.left = '';\n addClass(item, animateNormal);\n removeClass(item, animateIn);\n }\n\n // remove outlet animation\n removeClass(item, animateOut);\n }\n\n // removing '.tns-moving'\n setTimeout(function() {\n forEach(slideItems, function(el) {\n removeClass(el, 'tns-moving');\n });\n }, 300);\n }\n\n // set tabindex on Nav\n function updateNavStatus () {\n // get current nav\n if (nav) {\n navCurrentIndex = navClicked >= 0 ? navClicked : getCurrentNavIndex();\n navClicked = -1;\n\n if (navCurrentIndex !== navCurrentIndexCached) {\n var navPrev = navItems[navCurrentIndexCached],\n navCurrent = navItems[navCurrentIndex];\n\n setAttrs(navPrev, {\n 'tabindex': '-1',\n 'aria-label': navStr + (navCurrentIndexCached + 1)\n });\n removeClass(navPrev, navActiveClass);\n\n setAttrs(navCurrent, {'aria-label': navStr + (navCurrentIndex + 1) + navStrCurrent});\n removeAttrs(navCurrent, 'tabindex');\n addClass(navCurrent, navActiveClass);\n\n navCurrentIndexCached = navCurrentIndex;\n }\n }\n }\n\n function getLowerCaseNodeName (el) {\n return el.nodeName.toLowerCase();\n }\n\n function isButton (el) {\n return getLowerCaseNodeName(el) === 'button';\n }\n\n function isAriaDisabled (el) {\n return el.getAttribute('aria-disabled') === 'true';\n }\n\n function disEnableElement (isButton, el, val) {\n if (isButton) {\n el.disabled = val;\n } else {\n el.setAttribute('aria-disabled', val.toString());\n }\n }\n\n // set 'disabled' to true on controls when reach the edges\n function updateControlsStatus () {\n if (!controls || rewind || loop) { return; }\n\n var prevDisabled = (prevIsButton) ? prevButton.disabled : isAriaDisabled(prevButton),\n nextDisabled = (nextIsButton) ? nextButton.disabled : isAriaDisabled(nextButton),\n disablePrev = (index <= indexMin) ? true : false,\n disableNext = (!rewind && index >= indexMax) ? true : false;\n\n if (disablePrev && !prevDisabled) {\n disEnableElement(prevIsButton, prevButton, true);\n }\n if (!disablePrev && prevDisabled) {\n disEnableElement(prevIsButton, prevButton, false);\n }\n if (disableNext && !nextDisabled) {\n disEnableElement(nextIsButton, nextButton, true);\n }\n if (!disableNext && nextDisabled) {\n disEnableElement(nextIsButton, nextButton, false);\n }\n }\n\n // set duration\n function resetDuration (el, str) {\n if (TRANSITIONDURATION) { el.style[TRANSITIONDURATION] = str; }\n }\n\n function getSliderWidth () {\n return fixedWidth ? (fixedWidth + gutter) * slideCountNew : slidePositions[slideCountNew];\n }\n\n function getCenterGap (num) {\n if (num == null) { num = index; }\n\n var gap = edgePadding ? gutter : 0;\n return autoWidth ? ((viewport - gap) - (slidePositions[num + 1] - slidePositions[num] - gutter))/2 :\n fixedWidth ? (viewport - fixedWidth) / 2 :\n (items - 1) / 2;\n }\n\n function getRightBoundary () {\n var gap = edgePadding ? gutter : 0,\n result = (viewport + gap) - getSliderWidth();\n\n if (center && !loop) {\n result = fixedWidth ? - (fixedWidth + gutter) * (slideCountNew - 1) - getCenterGap() :\n getCenterGap(slideCountNew - 1) - slidePositions[slideCountNew - 1];\n }\n if (result > 0) { result = 0; }\n\n return result;\n }\n\n function getContainerTransformValue (num) {\n if (num == null) { num = index; }\n\n var val;\n if (horizontal && !autoWidth) {\n if (fixedWidth) {\n val = - (fixedWidth + gutter) * num;\n if (center) { val += getCenterGap(); }\n } else {\n var denominator = TRANSFORM ? slideCountNew : items;\n if (center) { num -= getCenterGap(); }\n val = - num * 100 / denominator;\n }\n } else {\n val = - slidePositions[num];\n if (center && autoWidth) {\n val += getCenterGap();\n }\n }\n\n if (hasRightDeadZone) { val = Math.max(val, rightBoundary); }\n\n val += (horizontal && !autoWidth && !fixedWidth) ? '%' : 'px';\n\n return val;\n }\n\n function doContainerTransformSilent (val) {\n resetDuration(container, '0s');\n doContainerTransform(val);\n }\n\n function doContainerTransform (val) {\n if (val == null) { val = getContainerTransformValue(); }\n container.style[transformAttr] = transformPrefix + val + transformPostfix;\n }\n\n function animateSlide (number, classOut, classIn, isOut) {\n var l = number + items;\n if (!loop) { l = Math.min(l, slideCountNew); }\n\n for (var i = number; i < l; i++) {\n var item = slideItems[i];\n\n // set item positions\n if (!isOut) { item.style.left = (i - index) * 100 / items + '%'; }\n\n if (animateDelay && TRANSITIONDELAY) {\n item.style[TRANSITIONDELAY] = item.style[ANIMATIONDELAY] = animateDelay * (i - number) / 1000 + 's';\n }\n removeClass(item, classOut);\n addClass(item, classIn);\n\n if (isOut) { slideItemsOut.push(item); }\n }\n }\n\n // make transfer after click/drag:\n // 1. change 'transform' property for mordern browsers\n // 2. change 'left' property for legacy browsers\n var transformCore = (function () {\n return carousel ?\n function () {\n resetDuration(container, '');\n if (TRANSITIONDURATION || !speed) {\n // for morden browsers with non-zero duration or\n // zero duration for all browsers\n doContainerTransform();\n // run fallback function manually\n // when duration is 0 / container is hidden\n if (!speed || !isVisible(container)) { onTransitionEnd(); }\n\n } else {\n // for old browser with non-zero duration\n jsTransform(container, transformAttr, transformPrefix, transformPostfix, getContainerTransformValue(), speed, onTransitionEnd);\n }\n\n if (!horizontal) { updateContentWrapperHeight(); }\n } :\n function () {\n slideItemsOut = [];\n\n var eve = {};\n eve[TRANSITIONEND] = eve[ANIMATIONEND] = onTransitionEnd;\n removeEvents(slideItems[indexCached], eve);\n addEvents(slideItems[index], eve);\n\n animateSlide(indexCached, animateIn, animateOut, true);\n animateSlide(index, animateNormal, animateIn);\n\n // run fallback function manually\n // when transition or animation not supported / duration is 0\n if (!TRANSITIONEND || !ANIMATIONEND || !speed || !isVisible(container)) { onTransitionEnd(); }\n };\n })();\n\n function render (e, sliderMoved) {\n if (updateIndexBeforeTransform) { updateIndex(); }\n\n // render when slider was moved (touch or drag) even though index may not change\n if (index !== indexCached || sliderMoved) {\n // events\n events.emit('indexChanged', info());\n events.emit('transitionStart', info());\n if (autoHeight) { doAutoHeight(); }\n\n // pause autoplay when click or keydown from user\n if (animating && e && ['click', 'keydown'].indexOf(e.type) >= 0) { stopAutoplay(); }\n\n running = true;\n transformCore();\n }\n }\n\n /*\n * Transfer prefixed properties to the same format\n * CSS: -Webkit-Transform => webkittransform\n * JS: WebkitTransform => webkittransform\n * @param {string} str - property\n *\n */\n function strTrans (str) {\n return str.toLowerCase().replace(/-/g, '');\n }\n\n // AFTER TRANSFORM\n // Things need to be done after a transfer:\n // 1. check index\n // 2. add classes to visible slide\n // 3. disable controls buttons when reach the first/last slide in non-loop slider\n // 4. update nav status\n // 5. lazyload images\n // 6. update container height\n function onTransitionEnd (event) {\n // check running on gallery mode\n // make sure trantionend/animationend events run only once\n if (carousel || running) {\n events.emit('transitionEnd', info(event));\n\n if (!carousel && slideItemsOut.length > 0) {\n for (var i = 0; i < slideItemsOut.length; i++) {\n var item = slideItemsOut[i];\n // set item positions\n item.style.left = '';\n\n if (ANIMATIONDELAY && TRANSITIONDELAY) {\n item.style[ANIMATIONDELAY] = '';\n item.style[TRANSITIONDELAY] = '';\n }\n removeClass(item, animateOut);\n addClass(item, animateNormal);\n }\n }\n\n /* update slides, nav, controls after checking ...\n * => legacy browsers who don't support 'event'\n * have to check event first, otherwise event.target will cause an error\n * => or 'gallery' mode:\n * + event target is slide item\n * => or 'carousel' mode:\n * + event target is container,\n * + event.property is the same with transform attribute\n */\n if (!event ||\n !carousel && event.target.parentNode === container ||\n event.target === container && strTrans(event.propertyName) === strTrans(transformAttr)) {\n\n if (!updateIndexBeforeTransform) {\n var indexTem = index;\n updateIndex();\n if (index !== indexTem) {\n events.emit('indexChanged', info());\n\n doContainerTransformSilent();\n }\n }\n\n if (nested === 'inner') { events.emit('innerLoaded', info()); }\n running = false;\n indexCached = index;\n }\n }\n\n }\n\n // # ACTIONS\n function goTo (targetIndex, e) {\n if (freeze) { return; }\n\n // prev slideBy\n if (targetIndex === 'prev') {\n onControlsClick(e, -1);\n\n // next slideBy\n } else if (targetIndex === 'next') {\n onControlsClick(e, 1);\n\n // go to exact slide\n } else {\n if (running) {\n if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n }\n\n var absIndex = getAbsIndex(),\n indexGap = 0;\n\n if (targetIndex === 'first') {\n indexGap = - absIndex;\n } else if (targetIndex === 'last') {\n indexGap = carousel ? slideCount - items - absIndex : slideCount - 1 - absIndex;\n } else {\n if (typeof targetIndex !== 'number') { targetIndex = parseInt(targetIndex); }\n\n if (!isNaN(targetIndex)) {\n // from directly called goTo function\n if (!e) { targetIndex = Math.max(0, Math.min(slideCount - 1, targetIndex)); }\n\n indexGap = targetIndex - absIndex;\n }\n }\n\n // gallery: make sure new page won't overlap with current page\n if (!carousel && indexGap && Math.abs(indexGap) < items) {\n var factor = indexGap > 0 ? 1 : -1;\n indexGap += (index + indexGap - slideCount) >= indexMin ? slideCount * factor : slideCount * 2 * factor * -1;\n }\n\n index += indexGap;\n\n // make sure index is in range\n if (carousel && loop) {\n if (index < indexMin) { index += slideCount; }\n if (index > indexMax) { index -= slideCount; }\n }\n\n // if index is changed, start rendering\n if (getAbsIndex(index) !== getAbsIndex(indexCached)) {\n render(e);\n }\n\n }\n }\n\n // on controls click\n function onControlsClick (e, dir) {\n if (running) {\n if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n }\n var passEventObject;\n\n if (!dir) {\n e = getEvent(e);\n var target = getTarget(e);\n\n while (target !== controlsContainer && [prevButton, nextButton].indexOf(target) < 0) { target = target.parentNode; }\n\n var targetIn = [prevButton, nextButton].indexOf(target);\n if (targetIn >= 0) {\n passEventObject = true;\n dir = targetIn === 0 ? -1 : 1;\n }\n }\n\n if (rewind) {\n if (index === indexMin && dir === -1) {\n goTo('last', e);\n return;\n } else if (index === indexMax && dir === 1) {\n goTo('first', e);\n return;\n }\n }\n\n if (dir) {\n index += slideBy * dir;\n if (autoWidth) { index = Math.floor(index); }\n // pass e when click control buttons or keydown\n render((passEventObject || (e && e.type === 'keydown')) ? e : null);\n }\n }\n\n // on nav click\n function onNavClick (e) {\n if (running) {\n if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n }\n\n e = getEvent(e);\n var target = getTarget(e), navIndex;\n\n // find the clicked nav item\n while (target !== navContainer && !hasAttr(target, 'data-nav')) { target = target.parentNode; }\n if (hasAttr(target, 'data-nav')) {\n var navIndex = navClicked = Number(getAttr(target, 'data-nav')),\n targetIndexBase = fixedWidth || autoWidth ? navIndex * slideCount / pages : navIndex * items,\n targetIndex = navAsThumbnails ? navIndex : Math.min(Math.ceil(targetIndexBase), slideCount - 1);\n goTo(targetIndex, e);\n\n if (navCurrentIndex === navIndex) {\n if (animating) { stopAutoplay(); }\n navClicked = -1; // reset navClicked\n }\n }\n }\n\n // autoplay functions\n function setAutoplayTimer () {\n autoplayTimer = setInterval(function () {\n onControlsClick(null, autoplayDirection);\n }, autoplayTimeout);\n\n animating = true;\n }\n\n function stopAutoplayTimer () {\n clearInterval(autoplayTimer);\n animating = false;\n }\n\n function updateAutoplayButton (action, txt) {\n setAttrs(autoplayButton, {'data-action': action});\n autoplayButton.innerHTML = autoplayHtmlStrings[0] + action + autoplayHtmlStrings[1] + txt;\n }\n\n function startAutoplay () {\n setAutoplayTimer();\n if (autoplayButton) { updateAutoplayButton('stop', autoplayText[1]); }\n }\n\n function stopAutoplay () {\n stopAutoplayTimer();\n if (autoplayButton) { updateAutoplayButton('start', autoplayText[0]); }\n }\n\n // programaitcally play/pause the slider\n function play () {\n if (autoplay && !animating) {\n startAutoplay();\n autoplayUserPaused = false;\n }\n }\n function pause () {\n if (animating) {\n stopAutoplay();\n autoplayUserPaused = true;\n }\n }\n\n function toggleAutoplay () {\n if (animating) {\n stopAutoplay();\n autoplayUserPaused = true;\n } else {\n startAutoplay();\n autoplayUserPaused = false;\n }\n }\n\n function onVisibilityChange () {\n if (doc.hidden) {\n if (animating) {\n stopAutoplayTimer();\n autoplayVisibilityPaused = true;\n }\n } else if (autoplayVisibilityPaused) {\n setAutoplayTimer();\n autoplayVisibilityPaused = false;\n }\n }\n\n function mouseoverPause () {\n if (animating) {\n stopAutoplayTimer();\n autoplayHoverPaused = true;\n }\n }\n\n function mouseoutRestart () {\n if (autoplayHoverPaused) {\n setAutoplayTimer();\n autoplayHoverPaused = false;\n }\n }\n\n // keydown events on document\n function onDocumentKeydown (e) {\n e = getEvent(e);\n var keyIndex = [KEYS.LEFT, KEYS.RIGHT].indexOf(e.keyCode);\n\n if (keyIndex >= 0) {\n onControlsClick(e, keyIndex === 0 ? -1 : 1);\n }\n }\n\n // on key control\n function onControlsKeydown (e) {\n e = getEvent(e);\n var keyIndex = [KEYS.LEFT, KEYS.RIGHT].indexOf(e.keyCode);\n\n if (keyIndex >= 0) {\n if (keyIndex === 0) {\n if (!prevButton.disabled) { onControlsClick(e, -1); }\n } else if (!nextButton.disabled) {\n onControlsClick(e, 1);\n }\n }\n }\n\n // set focus\n function setFocus (el) {\n el.focus();\n }\n\n // on key nav\n function onNavKeydown (e) {\n e = getEvent(e);\n var curElement = doc.activeElement;\n if (!hasAttr(curElement, 'data-nav')) { return; }\n\n // var code = e.keyCode,\n var keyIndex = [KEYS.LEFT, KEYS.RIGHT, KEYS.ENTER, KEYS.SPACE].indexOf(e.keyCode),\n navIndex = Number(getAttr(curElement, 'data-nav'));\n\n if (keyIndex >= 0) {\n if (keyIndex === 0) {\n if (navIndex > 0) { setFocus(navItems[navIndex - 1]); }\n } else if (keyIndex === 1) {\n if (navIndex < pages - 1) { setFocus(navItems[navIndex + 1]); }\n } else {\n navClicked = navIndex;\n goTo(navIndex, e);\n }\n }\n }\n\n function getEvent (e) {\n e = e || win.event;\n return isTouchEvent(e) ? e.changedTouches[0] : e;\n }\n function getTarget (e) {\n return e.target || win.event.srcElement;\n }\n\n function isTouchEvent (e) {\n return e.type.indexOf('touch') >= 0;\n }\n\n function preventDefaultBehavior (e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n }\n\n function getMoveDirectionExpected () {\n return getTouchDirection(toDegree(lastPosition.y - initPosition.y, lastPosition.x - initPosition.x), swipeAngle) === options.axis;\n }\n\n function onPanStart (e) {\n if (running) {\n if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n }\n\n if (autoplay && animating) { stopAutoplayTimer(); }\n\n panStart = true;\n if (rafIndex) {\n caf(rafIndex);\n rafIndex = null;\n }\n\n var $ = getEvent(e);\n events.emit(isTouchEvent(e) ? 'touchStart' : 'dragStart', info(e));\n\n if (!isTouchEvent(e) && ['img', 'a'].indexOf(getLowerCaseNodeName(getTarget(e))) >= 0) {\n preventDefaultBehavior(e);\n }\n\n lastPosition.x = initPosition.x = $.clientX;\n lastPosition.y = initPosition.y = $.clientY;\n if (carousel) {\n translateInit = parseFloat(container.style[transformAttr].replace(transformPrefix, ''));\n resetDuration(container, '0s');\n }\n }\n\n function onPanMove (e) {\n if (panStart) {\n var $ = getEvent(e);\n lastPosition.x = $.clientX;\n lastPosition.y = $.clientY;\n\n if (carousel) {\n if (!rafIndex) { rafIndex = raf(function(){ panUpdate(e); }); }\n } else {\n if (moveDirectionExpected === '?') { moveDirectionExpected = getMoveDirectionExpected(); }\n if (moveDirectionExpected) { preventScroll = true; }\n }\n\n if ((typeof e.cancelable !== 'boolean' || e.cancelable) && preventScroll) {\n e.preventDefault();\n }\n }\n }\n\n function panUpdate (e) {\n if (!moveDirectionExpected) {\n panStart = false;\n return;\n }\n caf(rafIndex);\n if (panStart) { rafIndex = raf(function(){ panUpdate(e); }); }\n\n if (moveDirectionExpected === '?') { moveDirectionExpected = getMoveDirectionExpected(); }\n if (moveDirectionExpected) {\n if (!preventScroll && isTouchEvent(e)) { preventScroll = true; }\n\n try {\n if (e.type) { events.emit(isTouchEvent(e) ? 'touchMove' : 'dragMove', info(e)); }\n } catch(err) {}\n\n var x = translateInit,\n dist = getDist(lastPosition, initPosition);\n if (!horizontal || fixedWidth || autoWidth) {\n x += dist;\n x += 'px';\n } else {\n var percentageX = TRANSFORM ? dist * items * 100 / ((viewport + gutter) * slideCountNew): dist * 100 / (viewport + gutter);\n x += percentageX;\n x += '%';\n }\n\n container.style[transformAttr] = transformPrefix + x + transformPostfix;\n }\n }\n\n function onPanEnd (e) {\n if (panStart) {\n if (rafIndex) {\n caf(rafIndex);\n rafIndex = null;\n }\n if (carousel) { resetDuration(container, ''); }\n panStart = false;\n\n var $ = getEvent(e);\n lastPosition.x = $.clientX;\n lastPosition.y = $.clientY;\n var dist = getDist(lastPosition, initPosition);\n\n if (Math.abs(dist)) {\n // drag vs click\n if (!isTouchEvent(e)) {\n // prevent \"click\"\n var target = getTarget(e);\n addEvents(target, {'click': function preventClick (e) {\n preventDefaultBehavior(e);\n removeEvents(target, {'click': preventClick});\n }});\n }\n\n if (carousel) {\n rafIndex = raf(function() {\n if (horizontal && !autoWidth) {\n var indexMoved = - dist * items / (viewport + gutter);\n indexMoved = dist > 0 ? Math.floor(indexMoved) : Math.ceil(indexMoved);\n index += indexMoved;\n } else {\n var moved = - (translateInit + dist);\n if (moved <= 0) {\n index = indexMin;\n } else if (moved >= slidePositions[slideCountNew - 1]) {\n index = indexMax;\n } else {\n var i = 0;\n while (i < slideCountNew && moved >= slidePositions[i]) {\n index = i;\n if (moved > slidePositions[i] && dist < 0) { index += 1; }\n i++;\n }\n }\n }\n\n render(e, dist);\n events.emit(isTouchEvent(e) ? 'touchEnd' : 'dragEnd', info(e));\n });\n } else {\n if (moveDirectionExpected) {\n onControlsClick(e, dist > 0 ? -1 : 1);\n }\n }\n }\n }\n\n // reset\n if (options.preventScrollOnTouch === 'auto') { preventScroll = false; }\n if (swipeAngle) { moveDirectionExpected = '?'; }\n if (autoplay && !animating) { setAutoplayTimer(); }\n }\n\n // === RESIZE FUNCTIONS === //\n // (slidePositions, index, items) => vertical_conentWrapper.height\n function updateContentWrapperHeight () {\n var wp = middleWrapper ? middleWrapper : innerWrapper;\n wp.style.height = slidePositions[index + items] - slidePositions[index] + 'px';\n }\n\n function getPages () {\n var rough = fixedWidth ? (fixedWidth + gutter) * slideCount / viewport : slideCount / items;\n return Math.min(Math.ceil(rough), slideCount);\n }\n\n /*\n * 1. update visible nav items list\n * 2. add \"hidden\" attributes to previous visible nav items\n * 3. remove \"hidden\" attrubutes to new visible nav items\n */\n function updateNavVisibility () {\n if (!nav || navAsThumbnails) { return; }\n\n if (pages !== pagesCached) {\n var min = pagesCached,\n max = pages,\n fn = showElement;\n\n if (pagesCached > pages) {\n min = pages;\n max = pagesCached;\n fn = hideElement;\n }\n\n while (min < max) {\n fn(navItems[min]);\n min++;\n }\n\n // cache pages\n pagesCached = pages;\n }\n }\n\n function info (e) {\n return {\n container: container,\n slideItems: slideItems,\n navContainer: navContainer,\n navItems: navItems,\n controlsContainer: controlsContainer,\n hasControls: hasControls,\n prevButton: prevButton,\n nextButton: nextButton,\n items: items,\n slideBy: slideBy,\n cloneCount: cloneCount,\n slideCount: slideCount,\n slideCountNew: slideCountNew,\n index: index,\n indexCached: indexCached,\n displayIndex: getCurrentSlide(),\n navCurrentIndex: navCurrentIndex,\n navCurrentIndexCached: navCurrentIndexCached,\n pages: pages,\n pagesCached: pagesCached,\n sheet: sheet,\n isOn: isOn,\n event: e || {},\n };\n }\n\n return {\n version: '2.9.3',\n getInfo: info,\n events: events,\n goTo: goTo,\n play: play,\n pause: pause,\n isOn: isOn,\n updateSliderHeight: updateInnerWrapperHeight,\n refresh: initSliderTransform,\n destroy: destroy,\n rebuild: function() {\n return tns(extend(options, optionsElements));\n }\n };\n};\n","/**\n * @license\n * Video.js 7.8.4 <http://videojs.com/>\n * Copyright Brightcove, Inc. <https://www.brightcove.com/>\n * Available under Apache License Version 2.0\n * <https://github.com/videojs/video.js/blob/master/LICENSE>\n *\n * Includes vtt.js <https://github.com/mozilla/vtt.js>\n * Available under Apache License Version 2.0\n * <https://github.com/mozilla/vtt.js/blob/master/LICENSE>\n */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"global/window\"),require(\"global/document\")):\"function\"==typeof define&&define.amd?define([\"global/window\",\"global/document\"],t):(e=e||self).videojs=t(e.window,e.document)}(this,function(y,h){\"use strict\";y=y&&Object.prototype.hasOwnProperty.call(y,\"default\")?y.default:y,h=h&&Object.prototype.hasOwnProperty.call(h,\"default\")?h.default:h;var d=\"7.8.4\",l=[],e=function(o,u){return function(e,t,i){var n=u.levels[t],r=new RegExp(\"^(\"+n+\")$\");if(\"log\"!==e&&i.unshift(e.toUpperCase()+\":\"),i.unshift(o+\":\"),l){l.push([].concat(i));var s=l.length-1e3;l.splice(0,0<s?s:0)}if(y.console){var a=y.console[e];a||\"debug\"!==e||(a=y.console.info||y.console.log),a&&n&&r.test(e)&&a[Array.isArray(i)?\"apply\":\"call\"](y.console,i)}}};var p=function t(i){function n(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];r(\"log\",s,t)}var r,s=\"info\";return r=e(i,n),n.createLogger=function(e){return t(i+\": \"+e)},n.levels={all:\"debug|log|warn|error\",off:\"\",debug:\"debug|log|warn|error\",info:\"log|warn|error\",warn:\"warn|error\",error:\"error\",DEFAULT:s},n.level=function(e){if(\"string\"==typeof e){if(!n.levels.hasOwnProperty(e))throw new Error('\"'+e+'\" in not a valid log level');s=e}return s},(n.history=function(){return l?[].concat(l):[]}).filter=function(t){return(l||[]).filter(function(e){return new RegExp(\".*\"+t+\".*\").test(e[0])})},n.history.clear=function(){l&&(l.length=0)},n.history.disable=function(){null!==l&&(l.length=0,l=null)},n.history.enable=function(){null===l&&(l=[])},n.error=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return r(\"error\",s,t)},n.warn=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return r(\"warn\",s,t)},n.debug=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return r(\"debug\",s,t)},n}(\"VIDEOJS\"),f=p.createLogger;function t(e,t){return e(t={exports:{}},t.exports),t.exports}var r=t(function(e){function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},t.apply(this,arguments)}e.exports=t}),i=Object.prototype.toString,s=function(e){return o(e)?Object.keys(e):[]};function a(t,i){s(t).forEach(function(e){return i(t[e],e)})}function m(i){for(var e=arguments.length,t=new Array(1<e?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Object.assign?r.apply(void 0,[i].concat(t)):(t.forEach(function(e){e&&a(e,function(e,t){i[t]=e})}),i)}function o(e){return!!e&&\"object\"==typeof e}function u(e){return o(e)&&\"[object Object]\"===i.call(e)&&e.constructor===Object}function n(e,t){if(!e||!t)return\"\";if(\"function\"!=typeof y.getComputedStyle)return\"\";var i=y.getComputedStyle(e);return i?i.getPropertyValue(t)||i[t]:\"\"}function c(e){return\"string\"==typeof e&&Boolean(e.trim())}function g(e){if(0<=e.indexOf(\" \"))throw new Error(\"class has illegal whitespace characters\")}function v(){return h===y.document}function _(e){return o(e)&&1===e.nodeType}function b(){try{return y.parent!==y.self}catch(e){return!0}}function T(n){return function(e,t){if(!c(e))return h[n](null);c(t)&&(t=h.querySelector(t));var i=_(t)?t:h;return i[n]&&i[n](e)}}function S(e,i,t,n){void 0===e&&(e=\"div\"),void 0===i&&(i={}),void 0===t&&(t={});var r=h.createElement(e);return Object.getOwnPropertyNames(i).forEach(function(e){var t=i[e];-1!==e.indexOf(\"aria-\")||\"role\"===e||\"type\"===e?(p.warn(\"Setting attributes in the second argument of createEl()\\nhas been deprecated. Use the third argument instead.\\ncreateEl(type, properties, attributes). Attempting to set \"+e+\" to \"+t+\".\"),r.setAttribute(e,t)):\"textContent\"===e?k(r,t):r[e]!==t&&(r[e]=t)}),Object.getOwnPropertyNames(t).forEach(function(e){r.setAttribute(e,t[e])}),n&&V(r,n),r}function k(e,t){return\"undefined\"==typeof e.textContent?e.innerText=t:e.textContent=t,e}function C(e,t){t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e)}function w(e,t){return g(t),e.classList?e.classList.contains(t):function(e){return new RegExp(\"(^|\\\\s)\"+e+\"($|\\\\s)\")}(t).test(e.className)}function E(e,t){return e.classList?e.classList.add(t):w(e,t)||(e.className=(e.className+\" \"+t).trim()),e}function x(e,t){return e.classList?e.classList.remove(t):(g(t),e.className=e.className.split(/\\s+/).filter(function(e){return e!==t}).join(\" \")),e}function A(e,t,i){var n=w(e,t);if(\"function\"==typeof i&&(i=i(e,t)),\"boolean\"!=typeof i&&(i=!n),i!==n)return i?E(e,t):x(e,t),e}function I(i,n){Object.getOwnPropertyNames(n).forEach(function(e){var t=n[e];null===t||\"undefined\"==typeof t||!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?\"\":t)})}function P(e){var t={},i=\",autoplay,controls,playsinline,loop,muted,default,defaultMuted,\";if(e&&e.attributes&&0<e.attributes.length)for(var n=e.attributes,r=n.length-1;0<=r;r--){var s=n[r].name,a=n[r].value;\"boolean\"!=typeof e[s]&&-1===i.indexOf(\",\"+s+\",\")||(a=null!==a),t[s]=a}return t}function L(e,t){return e.getAttribute(t)}function O(e,t,i){e.setAttribute(t,i)}function D(e,t){e.removeAttribute(t)}function N(){h.body.focus(),h.onselectstart=function(){return!1}}function R(){h.onselectstart=function(){return!0}}function U(e){if(e&&e.getBoundingClientRect&&e.parentNode){var t=e.getBoundingClientRect(),i={};return[\"bottom\",\"height\",\"left\",\"right\",\"top\",\"width\"].forEach(function(e){void 0!==t[e]&&(i[e]=t[e])}),i.height||(i.height=parseFloat(n(e,\"height\"))),i.width||(i.width=parseFloat(n(e,\"width\"))),i}}function M(e){var t;if(e.getBoundingClientRect&&e.parentNode&&(t=e.getBoundingClientRect()),!t)return{left:0,top:0};var i=h.documentElement,n=h.body,r=i.clientLeft||n.clientLeft||0,s=y.pageXOffset||n.scrollLeft,a=t.left+s-r,o=i.clientTop||n.clientTop||0,u=y.pageYOffset||n.scrollTop,l=t.top+u-o;return{left:Math.round(a),top:Math.round(l)}}function B(e,t){var i={},n=M(e),r=e.offsetWidth,s=e.offsetHeight,a=n.top,o=n.left,u=t.pageY,l=t.pageX;return t.changedTouches&&(l=t.changedTouches[0].pageX,u=t.changedTouches[0].pageY),i.y=Math.max(0,Math.min(1,(a-u+s)/s)),i.x=Math.max(0,Math.min(1,(l-o)/r)),i}function j(e){return o(e)&&3===e.nodeType}function F(e){for(;e.firstChild;)e.removeChild(e.firstChild);return e}function H(e){return\"function\"==typeof e&&(e=e()),(Array.isArray(e)?e:[e]).map(function(e){return\"function\"==typeof e&&(e=e()),_(e)||j(e)?e:\"string\"==typeof e&&/\\S/.test(e)?h.createTextNode(e):void 0}).filter(function(e){return e})}function V(t,e){return H(e).forEach(function(e){return t.appendChild(e)}),t}function q(e,t){return V(F(e),t)}function W(e){return void 0===e.button&&void 0===e.buttons||(0===e.button&&void 0===e.buttons||(\"mouseup\"===e.type&&0===e.button&&0===e.buttons||0===e.button&&1===e.buttons))}var z,G=T(\"querySelector\"),X=T(\"querySelectorAll\"),K=Object.freeze({__proto__:null,isReal:v,isEl:_,isInFrame:b,createEl:S,textContent:k,prependTo:C,hasClass:w,addClass:E,removeClass:x,toggleClass:A,setAttributes:I,getAttributes:P,getAttribute:L,setAttribute:O,removeAttribute:D,blockTextSelection:N,unblockTextSelection:R,getBoundingClientRect:U,findPosition:M,getPointerPosition:B,isTextNode:j,emptyEl:F,normalizeContent:H,appendContent:V,insertContent:q,isSingleLeftClick:W,$:G,$$:X}),Y=!1,$=function(){if(v()&&!1!==z.options.autoSetup){var e=Array.prototype.slice.call(h.getElementsByTagName(\"video\")),t=Array.prototype.slice.call(h.getElementsByTagName(\"audio\")),i=Array.prototype.slice.call(h.getElementsByTagName(\"video-js\")),n=e.concat(t,i);if(n&&0<n.length)for(var r=0,s=n.length;r<s;r++){var a=n[r];if(!a||!a.getAttribute){Q(1);break}void 0===a.player&&null!==a.getAttribute(\"data-setup\")&&z(a)}else Y||Q(1)}};function Q(e,t){t&&(z=t),y.setTimeout($,e)}function J(){Y=!0,y.removeEventListener(\"load\",J)}v()&&(\"complete\"===h.readyState?J():y.addEventListener(\"load\",J));function Z(e){var t=h.createElement(\"style\");return t.className=e,t}function ee(e,t){e.styleSheet?e.styleSheet.cssText=t:e.textContent=t}var te,ie=3;function ne(){return ie++}y.WeakMap||(te=function(){function e(){this.vdata=\"vdata\"+Math.floor(y.performance&&y.performance.now()||Date.now()),this.data={}}var t=e.prototype;return t.set=function(e,t){var i=e[this.vdata]||ne();return e[this.vdata]||(e[this.vdata]=i),this.data[i]=t,this},t.get=function(e){var t=e[this.vdata];if(t)return this.data[t];p(\"We have no data for this element\",e)},t.has=function(e){return e[this.vdata]in this.data},t.delete=function(e){var t=e[this.vdata];t&&(delete this.data[t],delete e[this.vdata])},e}());var re,se=y.WeakMap?new WeakMap:new te;function ae(e,t){if(se.has(e)){var i=se.get(e);0===i.handlers[t].length&&(delete i.handlers[t],e.removeEventListener?e.removeEventListener(t,i.dispatcher,!1):e.detachEvent&&e.detachEvent(\"on\"+t,i.dispatcher)),Object.getOwnPropertyNames(i.handlers).length<=0&&(delete i.handlers,delete i.dispatcher,delete i.disabled),0===Object.getOwnPropertyNames(i).length&&se.delete(e)}}function oe(t,i,e,n){e.forEach(function(e){t(i,e,n)})}function ue(e){if(e.fixed_)return e;function t(){return!0}function i(){return!1}if(!e||!e.isPropagationStopped){var n=e||y.event;for(var r in e={},n)\"layerX\"!==r&&\"layerY\"!==r&&\"keyLocation\"!==r&&\"webkitMovementX\"!==r&&\"webkitMovementY\"!==r&&(\"returnValue\"===r&&n.preventDefault||(e[r]=n[r]));if(e.target||(e.target=e.srcElement||h),e.relatedTarget||(e.relatedTarget=e.fromElement===e.target?e.toElement:e.fromElement),e.preventDefault=function(){n.preventDefault&&n.preventDefault(),e.returnValue=!1,n.returnValue=!1,e.defaultPrevented=!0},e.defaultPrevented=!1,e.stopPropagation=function(){n.stopPropagation&&n.stopPropagation(),e.cancelBubble=!0,n.cancelBubble=!0,e.isPropagationStopped=t},e.isPropagationStopped=i,e.stopImmediatePropagation=function(){n.stopImmediatePropagation&&n.stopImmediatePropagation(),e.isImmediatePropagationStopped=t,e.stopPropagation()},e.isImmediatePropagationStopped=i,null!==e.clientX&&void 0!==e.clientX){var s=h.documentElement,a=h.body;e.pageX=e.clientX+(s&&s.scrollLeft||a&&a.scrollLeft||0)-(s&&s.clientLeft||a&&a.clientLeft||0),e.pageY=e.clientY+(s&&s.scrollTop||a&&a.scrollTop||0)-(s&&s.clientTop||a&&a.clientTop||0)}e.which=e.charCode||e.keyCode,null!==e.button&&void 0!==e.button&&(e.button=1&e.button?0:4&e.button?1:2&e.button?2:0)}return e.fixed_=!0,e}var le=function(){if(\"boolean\"!=typeof re){re=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){re=!0}});y.addEventListener(\"test\",null,e),y.removeEventListener(\"test\",null,e)}catch(e){}}return re},ce=[\"touchstart\",\"touchmove\"];function he(a,e,t){if(Array.isArray(e))return oe(he,a,e,t);se.has(a)||se.set(a,{});var o=se.get(a);if(o.handlers||(o.handlers={}),o.handlers[e]||(o.handlers[e]=[]),t.guid||(t.guid=ne()),o.handlers[e].push(t),o.dispatcher||(o.disabled=!1,o.dispatcher=function(e,t){if(!o.disabled){e=ue(e);var i=o.handlers[e.type];if(i)for(var n=i.slice(0),r=0,s=n.length;r<s&&!e.isImmediatePropagationStopped();r++)try{n[r].call(a,e,t)}catch(e){p.error(e)}}}),1===o.handlers[e].length)if(a.addEventListener){var i=!1;le()&&-1<ce.indexOf(e)&&(i={passive:!0}),a.addEventListener(e,o.dispatcher,i)}else a.attachEvent&&a.attachEvent(\"on\"+e,o.dispatcher)}function de(e,t,i){if(se.has(e)){var n=se.get(e);if(n.handlers){if(Array.isArray(t))return oe(de,e,t,i);var r=function(e,t){n.handlers[t]=[],ae(e,t)};if(void 0!==t){var s=n.handlers[t];if(s)if(i){if(i.guid)for(var a=0;a<s.length;a++)s[a].guid===i.guid&&s.splice(a--,1);ae(e,t)}else r(e,t)}else for(var o in n.handlers)Object.prototype.hasOwnProperty.call(n.handlers||{},o)&&r(e,o)}}}function pe(e,t,i){var n=se.has(e)?se.get(e):{},r=e.parentNode||e.ownerDocument;if(\"string\"==typeof t?t={type:t,target:e}:t.target||(t.target=e),t=ue(t),n.dispatcher&&n.dispatcher.call(e,t,i),r&&!t.isPropagationStopped()&&!0===t.bubbles)pe.call(null,r,t,i);else if(!r&&!t.defaultPrevented&&t.target&&t.target[t.type]){se.has(t.target)||se.set(t.target,{});var s=se.get(t.target);t.target[t.type]&&(s.disabled=!0,\"function\"==typeof t.target[t.type]&&t.target[t.type](),s.disabled=!1)}return!t.defaultPrevented}function fe(e,t,i){if(Array.isArray(t))return oe(fe,e,t,i);function n(){de(e,t,n),i.apply(this,arguments)}n.guid=i.guid=i.guid||ne(),he(e,t,n)}function me(e,t,i){function n(){de(e,t,n),i.apply(this,arguments)}n.guid=i.guid=i.guid||ne(),he(e,t,n)}function ge(e,t,i){t.guid||(t.guid=ne());var n=t.bind(e);return n.guid=i?i+\"_\"+t.guid:t.guid,n}function ve(t,i){var n=y.performance.now();return function(){var e=y.performance.now();i<=e-n&&(t.apply(void 0,arguments),n=e)}}function ye(){}var _e,be=Object.freeze({__proto__:null,fixEvent:ue,on:he,off:de,trigger:pe,one:fe,any:me});ye.prototype.allowedEvents_={},ye.prototype.addEventListener=ye.prototype.on=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},he(this,e,t),this.addEventListener=i},ye.prototype.removeEventListener=ye.prototype.off=function(e,t){de(this,e,t)},ye.prototype.one=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},fe(this,e,t),this.addEventListener=i},ye.prototype.any=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},me(this,e,t),this.addEventListener=i},ye.prototype.dispatchEvent=ye.prototype.trigger=function(e){var t=e.type||e;\"string\"==typeof e&&(e={type:t}),e=ue(e),this.allowedEvents_[t]&&this[\"on\"+t]&&this[\"on\"+t](e),pe(this,e)},ye.prototype.queueTrigger=function(e){var t=this;_e=_e||new Map;var i=e.type||e,n=_e.get(this);n||(n=new Map,_e.set(this,n));var r=n.get(i);n.delete(i),y.clearTimeout(r);var s=y.setTimeout(function(){0===n.size&&(n=null,_e.delete(t)),t.trigger(e)},0);n.set(i,s)};function Te(e){return\"string\"==typeof e&&/\\S/.test(e)||Array.isArray(e)&&!!e.length}function Se(e){if(!e.nodeName&&!xe(e))throw new Error(\"Invalid target; must be a DOM node or evented object.\")}function ke(e){if(!Te(e))throw new Error(\"Invalid event type; must be a non-empty string or array.\")}function Ce(e){if(\"function\"!=typeof e)throw new Error(\"Invalid listener; must be a function.\")}function we(e,t){var i,n,r,s=t.length<3||t[0]===e||t[0]===e.eventBusEl_;return r=s?(i=e.eventBusEl_,3<=t.length&&t.shift(),n=t[0],t[1]):(i=t[0],n=t[1],t[2]),Se(i),ke(n),Ce(r),{isTargetingSelf:s,target:i,type:n,listener:r=ge(e,r)}}function Ee(e,t,i,n){Se(e),e.nodeName?be[t](e,i,n):e[t](i,n)}var xe=function(t){return t instanceof ye||!!t.eventBusEl_&&[\"on\",\"one\",\"off\",\"trigger\"].every(function(e){return\"function\"==typeof t[e]})},Ae={on:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];var r=we(this,i),s=r.isTargetingSelf,a=r.target,o=r.type,u=r.listener;if(Ee(a,\"on\",o,u),!s){var l=function(){return e.off(a,o,u)};l.guid=u.guid;var c=function(){return e.off(\"dispose\",l)};c.guid=u.guid,Ee(this,\"on\",\"dispose\",l),Ee(a,\"on\",\"dispose\",c)}},one:function(){for(var r=this,e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];var n=we(this,t),s=n.isTargetingSelf,a=n.target,o=n.type,u=n.listener;if(s)Ee(a,\"one\",o,u);else{var l=function e(){r.off(a,o,e);for(var t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];u.apply(null,i)};l.guid=u.guid,Ee(a,\"one\",o,l)}},any:function(){for(var r=this,e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];var n=we(this,t),s=n.isTargetingSelf,a=n.target,o=n.type,u=n.listener;if(s)Ee(a,\"any\",o,u);else{var l=function e(){r.off(a,o,e);for(var t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];u.apply(null,i)};l.guid=u.guid,Ee(a,\"any\",o,l)}},off:function(e,t,i){if(!e||Te(e))de(this.eventBusEl_,e,t);else{var n=e,r=t;Se(n),ke(r),Ce(i),i=ge(this,i),this.off(\"dispose\",i),n.nodeName?(de(n,r,i),de(n,\"dispose\",i)):xe(n)&&(n.off(r,i),n.off(\"dispose\",i))}},trigger:function(e,t){return pe(this.eventBusEl_,e,t)}};function Ie(e,t){void 0===t&&(t={});var i=t.eventBusKey;if(i){if(!e[i].nodeName)throw new Error('The eventBusKey \"'+i+'\" does not refer to an element.');e.eventBusEl_=e[i]}else e.eventBusEl_=S(\"span\",{className:\"vjs-event-bus\"});return m(e,Ae),e.eventedCallbacks&&e.eventedCallbacks.forEach(function(e){e()}),e.on(\"dispose\",function(){e.off(),y.setTimeout(function(){e.eventBusEl_=null},0)}),e}var Pe={state:{},setState:function(e){var i,n=this;return\"function\"==typeof e&&(e=e()),a(e,function(e,t){n.state[t]!==e&&((i=i||{})[t]={from:n.state[t],to:e}),n.state[t]=e}),i&&xe(this)&&this.trigger({changes:i,type:\"statechanged\"}),i}};function Le(e,t){return m(e,Pe),e.state=m({},e.state,t),\"function\"==typeof e.handleStateChanged&&xe(e)&&e.on(\"statechanged\",e.handleStateChanged),e}function Oe(e){return\"string\"!=typeof e?e:e.replace(/./,function(e){return e.toLowerCase()})}function De(e){return\"string\"!=typeof e?e:e.replace(/./,function(e){return e.toUpperCase()})}function Ne(){for(var i={},e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.forEach(function(e){e&&a(e,function(e,t){u(e)?(u(i[t])||(i[t]={}),i[t]=Ne(i[t],e)):i[t]=e})}),i}var Re=function(){function l(e,t,i){if(!e&&this.play?this.player_=e=this:this.player_=e,this.isDisposed_=!1,this.parentComponent_=null,this.options_=Ne({},this.options_),t=this.options_=Ne(this.options_,t),this.id_=t.id||t.el&&t.el.id,!this.id_){var n=e&&e.id&&e.id()||\"no_player\";this.id_=n+\"_component_\"+ne()}var r;this.name_=t.name||null,t.el?this.el_=t.el:!1!==t.createEl&&(this.el_=this.createEl()),!1!==t.evented&&Ie(this,{eventBusKey:this.el_?\"el_\":null}),Le(this,this.constructor.defaultState),this.children_=[],this.childIndex_={},this.childNameIndex_={},y.Set||(r=function(){function e(){this.set_={}}var t=e.prototype;return t.has=function(e){return e in this.set_},t.delete=function(e){var t=this.has(e);return delete this.set_[e],t},t.add=function(e){return this.set_[e]=1,this},t.forEach=function(e,t){for(var i in this.set_)e.call(t,i,i,this)},e}()),this.setTimeoutIds_=y.Set?new Set:new r,this.setIntervalIds_=y.Set?new Set:new r,this.rafIds_=y.Set?new Set:new r,(this.clearingTimersOnDispose_=!1)!==t.initChildren&&this.initChildren(),this.ready(i),!1!==t.reportTouchActivity&&this.enableTouchActivity()}var e=l.prototype;return e.dispose=function(){if(!this.isDisposed_){if(this.trigger({type:\"dispose\",bubbles:!1}),this.isDisposed_=!0,this.children_)for(var e=this.children_.length-1;0<=e;e--)this.children_[e].dispose&&this.children_[e].dispose();this.children_=null,this.childIndex_=null,this.childNameIndex_=null,this.parentComponent_=null,this.el_&&(this.el_.parentNode&&this.el_.parentNode.removeChild(this.el_),se.has(this.el_)&&se.delete(this.el_),this.el_=null),this.player_=null}},e.isDisposed=function(){return Boolean(this.isDisposed_)},e.player=function(){return this.player_},e.options=function(e){return e&&(this.options_=Ne(this.options_,e)),this.options_},e.el=function(){return this.el_},e.createEl=function(e,t,i){return S(e,t,i)},e.localize=function(e,r,t){void 0===t&&(t=e);var i=this.player_.language&&this.player_.language(),n=this.player_.languages&&this.player_.languages(),s=n&&n[i],a=i&&i.split(\"-\")[0],o=n&&n[a],u=t;return s&&s[e]?u=s[e]:o&&o[e]&&(u=o[e]),r&&(u=u.replace(/\\{(\\d+)\\}/g,function(e,t){var i=r[t-1],n=i;return\"undefined\"==typeof i&&(n=e),n})),u},e.contentEl=function(){return this.contentEl_||this.el_},e.id=function(){return this.id_},e.name=function(){return this.name_},e.children=function(){return this.children_},e.getChildById=function(e){return this.childIndex_[e]},e.getChild=function(e){if(e)return this.childNameIndex_[e]},e.getDescendant=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];t=t.reduce(function(e,t){return e.concat(t)},[]);for(var n=this,r=0;r<t.length;r++)if(!(n=n.getChild(t[r]))||!n.getChild)return;return n},e.addChild=function(e,t,i){var n,r;if(void 0===t&&(t={}),void 0===i&&(i=this.children_.length),\"string\"==typeof e){r=De(e);var s=t.componentClass||r;t.name=r;var a=l.getComponent(s);if(!a)throw new Error(\"Component \"+s+\" does not exist\");if(\"function\"!=typeof a)return null;n=new a(this.player_||this,t)}else n=e;if(n.parentComponent_&&n.parentComponent_.removeChild(n),this.children_.splice(i,0,n),n.parentComponent_=this,\"function\"==typeof n.id&&(this.childIndex_[n.id()]=n),(r=r||n.name&&De(n.name()))&&(this.childNameIndex_[r]=n,this.childNameIndex_[Oe(r)]=n),\"function\"==typeof n.el&&n.el()){var o=null;this.children_[i+1]&&(this.children_[i+1].el_?o=this.children_[i+1].el_:_(this.children_[i+1])&&(o=this.children_[i+1])),this.contentEl().insertBefore(n.el(),o)}return n},e.removeChild=function(e){if(\"string\"==typeof e&&(e=this.getChild(e)),e&&this.children_){for(var t=!1,i=this.children_.length-1;0<=i;i--)if(this.children_[i]===e){t=!0,this.children_.splice(i,1);break}if(t){e.parentComponent_=null,this.childIndex_[e.id()]=null,this.childNameIndex_[De(e.name())]=null,this.childNameIndex_[Oe(e.name())]=null;var n=e.el();n&&n.parentNode===this.contentEl()&&this.contentEl().removeChild(e.el())}}},e.initChildren=function(){var r=this,n=this.options_.children;if(n){var e,s=this.options_,i=l.getComponent(\"Tech\");(e=Array.isArray(n)?n:Object.keys(n)).concat(Object.keys(this.options_).filter(function(t){return!e.some(function(e){return\"string\"==typeof e?t===e:t===e.name})})).map(function(e){var t,i;return i=\"string\"==typeof e?n[t=e]||r.options_[t]||{}:(t=e.name,e),{name:t,opts:i}}).filter(function(e){var t=l.getComponent(e.opts.componentClass||De(e.name));return t&&!i.isTech(t)}).forEach(function(e){var t=e.name,i=e.opts;if(void 0!==s[t]&&(i=s[t]),!1!==i){!0===i&&(i={}),i.playerOptions=r.options_.playerOptions;var n=r.addChild(t,i);n&&(r[t]=n)}})}},e.buildCSSClass=function(){return\"\"},e.ready=function(e,t){if(void 0===t&&(t=!1),e)return this.isReady_?void(t?e.call(this):this.setTimeout(e,1)):(this.readyQueue_=this.readyQueue_||[],void this.readyQueue_.push(e))},e.triggerReady=function(){this.isReady_=!0,this.setTimeout(function(){var e=this.readyQueue_;this.readyQueue_=[],e&&0<e.length&&e.forEach(function(e){e.call(this)},this),this.trigger(\"ready\")},1)},e.$=function(e,t){return G(e,t||this.contentEl())},e.$$=function(e,t){return X(e,t||this.contentEl())},e.hasClass=function(e){return w(this.el_,e)},e.addClass=function(e){E(this.el_,e)},e.removeClass=function(e){x(this.el_,e)},e.toggleClass=function(e,t){A(this.el_,e,t)},e.show=function(){this.removeClass(\"vjs-hidden\")},e.hide=function(){this.addClass(\"vjs-hidden\")},e.lockShowing=function(){this.addClass(\"vjs-lock-showing\")},e.unlockShowing=function(){this.removeClass(\"vjs-lock-showing\")},e.getAttribute=function(e){return L(this.el_,e)},e.setAttribute=function(e,t){O(this.el_,e,t)},e.removeAttribute=function(e){D(this.el_,e)},e.width=function(e,t){return this.dimension(\"width\",e,t)},e.height=function(e,t){return this.dimension(\"height\",e,t)},e.dimensions=function(e,t){this.width(e,!0),this.height(t)},e.dimension=function(e,t,i){if(void 0!==t)return null!==t&&t==t||(t=0),-1!==(\"\"+t).indexOf(\"%\")||-1!==(\"\"+t).indexOf(\"px\")?this.el_.style[e]=t:this.el_.style[e]=\"auto\"===t?\"\":t+\"px\",void(i||this.trigger(\"componentresize\"));if(!this.el_)return 0;var n=this.el_.style[e],r=n.indexOf(\"px\");return-1!==r?parseInt(n.slice(0,r),10):parseInt(this.el_[\"offset\"+De(e)],10)},e.currentDimension=function(e){var t=0;if(\"width\"!==e&&\"height\"!==e)throw new Error(\"currentDimension only accepts width or height value\");if(t=n(this.el_,e),0===(t=parseFloat(t))||isNaN(t)){var i=\"offset\"+De(e);t=this.el_[i]}return t},e.currentDimensions=function(){return{width:this.currentDimension(\"width\"),height:this.currentDimension(\"height\")}},e.currentWidth=function(){return this.currentDimension(\"width\")},e.currentHeight=function(){return this.currentDimension(\"height\")},e.focus=function(){this.el_.focus()},e.blur=function(){this.el_.blur()},e.handleKeyDown=function(e){this.player_&&(e.stopPropagation(),this.player_.handleKeyDown(e))},e.handleKeyPress=function(e){this.handleKeyDown(e)},e.emitTapEvents=function(){var n,t=0,r=null;this.on(\"touchstart\",function(e){1===e.touches.length&&(r={pageX:e.touches[0].pageX,pageY:e.touches[0].pageY},t=y.performance.now(),n=!0)}),this.on(\"touchmove\",function(e){if(1<e.touches.length)n=!1;else if(r){var t=e.touches[0].pageX-r.pageX,i=e.touches[0].pageY-r.pageY;10<Math.sqrt(t*t+i*i)&&(n=!1)}});function e(){n=!1}this.on(\"touchleave\",e),this.on(\"touchcancel\",e),this.on(\"touchend\",function(e){!(r=null)===n&&y.performance.now()-t<200&&(e.preventDefault(),this.trigger(\"tap\"))})},e.enableTouchActivity=function(){if(this.player()&&this.player().reportUserActivity){var t,i=ge(this.player(),this.player().reportUserActivity);this.on(\"touchstart\",function(){i(),this.clearInterval(t),t=this.setInterval(i,250)});var e=function(e){i(),this.clearInterval(t)};this.on(\"touchmove\",i),this.on(\"touchend\",e),this.on(\"touchcancel\",e)}},e.setTimeout=function(e,t){var i,n=this;return e=ge(this,e),this.clearTimersOnDispose_(),i=y.setTimeout(function(){n.setTimeoutIds_.has(i)&&n.setTimeoutIds_.delete(i),e()},t),this.setTimeoutIds_.add(i),i},e.clearTimeout=function(e){return this.setTimeoutIds_.has(e)&&(this.setTimeoutIds_.delete(e),y.clearTimeout(e)),e},e.setInterval=function(e,t){e=ge(this,e),this.clearTimersOnDispose_();var i=y.setInterval(e,t);return this.setIntervalIds_.add(i),i},e.clearInterval=function(e){return this.setIntervalIds_.has(e)&&(this.setIntervalIds_.delete(e),y.clearInterval(e)),e},e.requestAnimationFrame=function(e){var t,i=this;return this.supportsRaf_?(this.clearTimersOnDispose_(),e=ge(this,e),t=y.requestAnimationFrame(function(){i.rafIds_.has(t)&&i.rafIds_.delete(t),e()}),this.rafIds_.add(t),t):this.setTimeout(e,1e3/60)},e.cancelAnimationFrame=function(e){return this.supportsRaf_?(this.rafIds_.has(e)&&(this.rafIds_.delete(e),y.cancelAnimationFrame(e)),e):this.clearTimeout(e)},e.clearTimersOnDispose_=function(){var n=this;this.clearingTimersOnDispose_||(this.clearingTimersOnDispose_=!0,this.one(\"dispose\",function(){[[\"rafIds_\",\"cancelAnimationFrame\"],[\"setTimeoutIds_\",\"clearTimeout\"],[\"setIntervalIds_\",\"clearInterval\"]].forEach(function(e){var t=e[0],i=e[1];n[t].forEach(n[i],n)}),n.clearingTimersOnDispose_=!1}))},l.registerComponent=function(e,t){if(\"string\"!=typeof e||!e)throw new Error('Illegal component name, \"'+e+'\"; must be a non-empty string.');var i,n=l.getComponent(\"Tech\"),r=n&&n.isTech(t),s=l===t||l.prototype.isPrototypeOf(t.prototype);if(r||!s)throw i=r?\"techs must be registered using Tech.registerTech()\":\"must be a Component subclass\",new Error('Illegal component, \"'+e+'\"; '+i+\".\");e=De(e),l.components_||(l.components_={});var a=l.getComponent(\"Player\");if(\"Player\"===e&&a&&a.players){var o=a.players,u=Object.keys(o);if(o&&0<u.length&&u.map(function(e){return o[e]}).every(Boolean))throw new Error(\"Can not register Player component after player has been created.\")}return l.components_[e]=t,l.components_[Oe(e)]=t},l.getComponent=function(e){if(e&&l.components_)return l.components_[e]},l}();Re.prototype.supportsRaf_=\"function\"==typeof y.requestAnimationFrame&&\"function\"==typeof y.cancelAnimationFrame,Re.registerComponent(\"Component\",Re);var Ue=function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e};t(function(t){function i(e){return\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?t.exports=i=function(e){return typeof e}:t.exports=i=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}t.exports=i}),t(function(t){function i(e){return t.exports=i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},i(e)}t.exports=i});var Me,Be,je,Fe,He=function(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t},Ve=y.navigator&&y.navigator.userAgent||\"\",qe=/AppleWebKit\\/([\\d.]+)/i.exec(Ve),We=qe?parseFloat(qe.pop()):null,ze=/iPod/i.test(Ve),Ge=(Me=Ve.match(/OS (\\d+)_/i))&&Me[1]?Me[1]:null,Xe=/Android/i.test(Ve),Ke=function(){var e=Ve.match(/Android (\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))*/i);if(!e)return null;var t=e[1]&&parseFloat(e[1]),i=e[2]&&parseFloat(e[2]);return t&&i?parseFloat(e[1]+\".\"+e[2]):t||null}(),Ye=Xe&&Ke<5&&We<537,$e=/Firefox/i.test(Ve),Qe=/Edg/i.test(Ve),Je=!Qe&&(/Chrome/i.test(Ve)||/CriOS/i.test(Ve)),Ze=(Be=Ve.match(/(Chrome|CriOS)\\/(\\d+)/))&&Be[2]?parseFloat(Be[2]):null,et=(je=/MSIE\\s(\\d+)\\.\\d/.exec(Ve),!(Fe=je&&parseFloat(je[1]))&&/Trident\\/7.0/i.test(Ve)&&/rv:11.0/.test(Ve)&&(Fe=11),Fe),tt=/Safari/i.test(Ve)&&!Je&&!Xe&&!Qe,it=/Windows/i.test(Ve),nt=v()&&(\"ontouchstart\"in y||y.navigator.maxTouchPoints||y.DocumentTouch&&y.document instanceof y.DocumentTouch),rt=/iPad/i.test(Ve)||tt&&nt&&!/iPhone/i.test(Ve),st=/iPhone/i.test(Ve)&&!rt,at=st||rt||ze,ot=(tt||at)&&!Je,ut=Object.freeze({__proto__:null,IS_IPOD:ze,IOS_VERSION:Ge,IS_ANDROID:Xe,ANDROID_VERSION:Ke,IS_NATIVE_ANDROID:Ye,IS_FIREFOX:$e,IS_EDGE:Qe,IS_CHROME:Je,CHROME_VERSION:Ze,IE_VERSION:et,IS_SAFARI:tt,IS_WINDOWS:it,TOUCH_ENABLED:nt,IS_IPAD:rt,IS_IPHONE:st,IS_IOS:at,IS_ANY_SAFARI:ot});function lt(e,t,i,n){return function(e,t,i){if(\"number\"!=typeof t||t<0||i<t)throw new Error(\"Failed to execute '\"+e+\"' on 'TimeRanges': The index provided (\"+t+\") is non-numeric or out of bounds (0-\"+i+\").\")}(e,n,i.length-1),i[n][t]}function ct(e){return void 0===e||0===e.length?{length:0,start:function(){throw new Error(\"This TimeRanges object is empty\")},end:function(){throw new Error(\"This TimeRanges object is empty\")}}:{length:e.length,start:lt.bind(null,\"start\",0,e),end:lt.bind(null,\"end\",1,e)}}function ht(e,t){return Array.isArray(e)?ct(e):void 0===e||void 0===t?ct():ct([[e,t]])}function dt(e,t){var i,n,r=0;if(!t)return 0;e&&e.length||(e=ht(0,0));for(var s=0;s<e.length;s++)i=e.start(s),t<(n=e.end(s))&&(n=t),r+=n-i;return r/t}for(var pt,ft={prefixed:!0},mt=[[\"requestFullscreen\",\"exitFullscreen\",\"fullscreenElement\",\"fullscreenEnabled\",\"fullscreenchange\",\"fullscreenerror\",\"fullscreen\"],[\"webkitRequestFullscreen\",\"webkitExitFullscreen\",\"webkitFullscreenElement\",\"webkitFullscreenEnabled\",\"webkitfullscreenchange\",\"webkitfullscreenerror\",\"-webkit-full-screen\"],[\"mozRequestFullScreen\",\"mozCancelFullScreen\",\"mozFullScreenElement\",\"mozFullScreenEnabled\",\"mozfullscreenchange\",\"mozfullscreenerror\",\"-moz-full-screen\"],[\"msRequestFullscreen\",\"msExitFullscreen\",\"msFullscreenElement\",\"msFullscreenEnabled\",\"MSFullscreenChange\",\"MSFullscreenError\",\"-ms-fullscreen\"]],gt=mt[0],vt=0;vt<mt.length;vt++)if(mt[vt][1]in h){pt=mt[vt];break}if(pt){for(var yt=0;yt<pt.length;yt++)ft[gt[yt]]=pt[yt];ft.prefixed=pt[0]!==gt[0]}function _t(e){if(e instanceof _t)return e;\"number\"==typeof e?this.code=e:\"string\"==typeof e?this.message=e:o(e)&&(\"number\"==typeof e.code&&(this.code=e.code),m(this,e)),this.message||(this.message=_t.defaultMessages[this.code]||\"\")}_t.prototype.code=0,_t.prototype.message=\"\",_t.prototype.status=null,_t.errorTypes=[\"MEDIA_ERR_CUSTOM\",\"MEDIA_ERR_ABORTED\",\"MEDIA_ERR_NETWORK\",\"MEDIA_ERR_DECODE\",\"MEDIA_ERR_SRC_NOT_SUPPORTED\",\"MEDIA_ERR_ENCRYPTED\"],_t.defaultMessages={1:\"You aborted the media playback\",2:\"A network error caused the media download to fail part-way.\",3:\"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.\",4:\"The media could not be loaded, either because the server or network failed or because the format is not supported.\",5:\"The media is encrypted and we do not have the keys to decrypt it.\"};for(var bt=0;bt<_t.errorTypes.length;bt++)_t[_t.errorTypes[bt]]=bt,_t.prototype[_t.errorTypes[bt]]=bt;var Tt=function(e,t){var i,n=null;try{i=JSON.parse(e,t)}catch(e){n=e}return[n,i]};function St(e){return null!=e&&\"function\"==typeof e.then}function kt(e){St(e)&&e.then(null,function(e){})}function Ct(n){return[\"kind\",\"label\",\"language\",\"id\",\"inBandMetadataTrackDispatchType\",\"mode\",\"src\"].reduce(function(e,t,i){return n[t]&&(e[t]=n[t]),e},{cues:n.cues&&Array.prototype.map.call(n.cues,function(e){return{startTime:e.startTime,endTime:e.endTime,text:e.text,id:e.id}})})}var wt=function(e){var t=e.$$(\"track\"),i=Array.prototype.map.call(t,function(e){return e.track});return Array.prototype.map.call(t,function(e){var t=Ct(e.track);return e.src&&(t.src=e.src),t}).concat(Array.prototype.filter.call(e.textTracks(),function(e){return-1===i.indexOf(e)}).map(Ct))},Et=function(e,i){return e.forEach(function(e){var t=i.addRemoteTextTrack(e).track;!e.src&&e.cues&&e.cues.forEach(function(e){return t.addCue(e)})}),i.textTracks()},xt=t(function(e,t){function i(e){if(e&&\"object\"==typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if(\"number\"==typeof e)return a[e];var i,n=String(e);return(i=r[n.toLowerCase()])?i:(i=s[n.toLowerCase()])||(1===n.length?n.charCodeAt(0):void 0)}i.isEventKey=function(e,t){if(e&&\"object\"==typeof e){var i=e.which||e.keyCode||e.charCode;if(null==i)return!1;if(\"string\"==typeof t){var n;if(n=r[t.toLowerCase()])return n===i;if(n=s[t.toLowerCase()])return n===i}else if(\"number\"==typeof t)return t===i;return!1}};var r=(t=e.exports=i).code=t.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,\"pause/break\":19,\"caps lock\":20,esc:27,space:32,\"page up\":33,\"page down\":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,\"left command\":91,\"right command\":93,\"numpad *\":106,\"numpad +\":107,\"numpad -\":109,\"numpad .\":110,\"numpad /\":111,\"num lock\":144,\"scroll lock\":145,\"my computer\":182,\"my calculator\":183,\";\":186,\"=\":187,\",\":188,\"-\":189,\".\":190,\"/\":191,\"`\":192,\"[\":219,\"\\\\\":220,\"]\":221,\"'\":222},s=t.aliases={windows:91,\"⇧\":16,\"⌥\":18,\"⌃\":17,\"⌘\":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(n=97;n<123;n++)r[String.fromCharCode(n)]=n-32;for(var n=48;n<58;n++)r[n-48]=n;for(n=1;n<13;n++)r[\"f\"+n]=n+111;for(n=0;n<10;n++)r[\"numpad \"+n]=n+96;var a=t.names=t.title={};for(n in r)a[r[n]]=n;for(var o in s)r[o]=s[o]}),At=(xt.code,xt.codes,xt.aliases,xt.names,xt.title,\"vjs-modal-dialog\"),It=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).opened_=i.hasBeenOpened_=i.hasBeenFilled_=!1,i.closeable(!i.options_.uncloseable),i.content(i.options_.content),i.contentEl_=S(\"div\",{className:At+\"-content\"},{role:\"document\"}),i.descEl_=S(\"p\",{className:At+\"-description vjs-control-text\",id:i.el().getAttribute(\"aria-describedby\")}),k(i.descEl_,i.description()),i.el_.appendChild(i.descEl_),i.el_.appendChild(i.contentEl_),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:this.buildCSSClass(),tabIndex:-1},{\"aria-describedby\":this.id()+\"_description\",\"aria-hidden\":\"true\",\"aria-label\":this.label(),role:\"dialog\"})},t.dispose=function(){this.contentEl_=null,this.descEl_=null,this.previouslyActiveEl_=null,n.prototype.dispose.call(this)},t.buildCSSClass=function(){return At+\" vjs-hidden \"+n.prototype.buildCSSClass.call(this)},t.label=function(){return this.localize(this.options_.label||\"Modal Window\")},t.description=function(){var e=this.options_.description||this.localize(\"This is a modal window.\");return this.closeable()&&(e+=\" \"+this.localize(\"This modal can be closed by pressing the Escape key or activating the close button.\")),e},t.open=function(){if(!this.opened_){var e=this.player();this.trigger(\"beforemodalopen\"),this.opened_=!0,!this.options_.fillAlways&&(this.hasBeenOpened_||this.hasBeenFilled_)||this.fill(),this.wasPlaying_=!e.paused(),this.options_.pauseOnOpen&&this.wasPlaying_&&e.pause(),this.on(\"keydown\",this.handleKeyDown),this.hadControls_=e.controls(),e.controls(!1),this.show(),this.conditionalFocus_(),this.el().setAttribute(\"aria-hidden\",\"false\"),this.trigger(\"modalopen\"),this.hasBeenOpened_=!0}},t.opened=function(e){return\"boolean\"==typeof e&&this[e?\"open\":\"close\"](),this.opened_},t.close=function(){if(this.opened_){var e=this.player();this.trigger(\"beforemodalclose\"),this.opened_=!1,this.wasPlaying_&&this.options_.pauseOnOpen&&e.play(),this.off(\"keydown\",this.handleKeyDown),this.hadControls_&&e.controls(!0),this.hide(),this.el().setAttribute(\"aria-hidden\",\"true\"),this.trigger(\"modalclose\"),this.conditionalBlur_(),this.options_.temporary&&this.dispose()}},t.closeable=function(e){if(\"boolean\"==typeof e){var t=this.closeable_=!!e,i=this.getChild(\"closeButton\");if(t&&!i){var n=this.contentEl_;this.contentEl_=this.el_,i=this.addChild(\"closeButton\",{controlText:\"Close Modal Dialog\"}),this.contentEl_=n,this.on(i,\"close\",this.close)}!t&&i&&(this.off(i,\"close\",this.close),this.removeChild(i),i.dispose())}return this.closeable_},t.fill=function(){this.fillWith(this.content())},t.fillWith=function(e){var t=this.contentEl(),i=t.parentNode,n=t.nextSibling;this.trigger(\"beforemodalfill\"),this.hasBeenFilled_=!0,i.removeChild(t),this.empty(),q(t,e),this.trigger(\"modalfill\"),n?i.insertBefore(t,n):i.appendChild(t);var r=this.getChild(\"closeButton\");r&&i.appendChild(r.el_)},t.empty=function(){this.trigger(\"beforemodalempty\"),F(this.contentEl()),this.trigger(\"modalempty\")},t.content=function(e){return\"undefined\"!=typeof e&&(this.content_=e),this.content_},t.conditionalFocus_=function(){var e=h.activeElement,t=this.player_.el_;this.previouslyActiveEl_=null,!t.contains(e)&&t!==e||(this.previouslyActiveEl_=e,this.focus())},t.conditionalBlur_=function(){this.previouslyActiveEl_&&(this.previouslyActiveEl_.focus(),this.previouslyActiveEl_=null)},t.handleKeyDown=function(e){if(e.stopPropagation(),xt.isEventKey(e,\"Escape\")&&this.closeable())return e.preventDefault(),void this.close();if(xt.isEventKey(e,\"Tab\")){for(var t,i=this.focusableEls_(),n=this.el_.querySelector(\":focus\"),r=0;r<i.length;r++)if(n===i[r]){t=r;break}h.activeElement===this.el_&&(t=0),e.shiftKey&&0===t?(i[i.length-1].focus(),e.preventDefault()):e.shiftKey||t!==i.length-1||(i[0].focus(),e.preventDefault())}},t.focusableEls_=function(){var e=this.el_.querySelectorAll(\"*\");return Array.prototype.filter.call(e,function(e){return(e instanceof y.HTMLAnchorElement||e instanceof y.HTMLAreaElement)&&e.hasAttribute(\"href\")||(e instanceof y.HTMLInputElement||e instanceof y.HTMLSelectElement||e instanceof y.HTMLTextAreaElement||e instanceof y.HTMLButtonElement)&&!e.hasAttribute(\"disabled\")||e instanceof y.HTMLIFrameElement||e instanceof y.HTMLObjectElement||e instanceof y.HTMLEmbedElement||e.hasAttribute(\"tabindex\")&&-1!==e.getAttribute(\"tabindex\")||e.hasAttribute(\"contenteditable\")})},e}(Re);It.prototype.options_={pauseOnOpen:!0,temporary:!0},Re.registerComponent(\"ModalDialog\",It);var Pt=function(n){function e(e){var t;void 0===e&&(e=[]),(t=n.call(this)||this).tracks_=[],Object.defineProperty(Ue(t),\"length\",{get:function(){return this.tracks_.length}});for(var i=0;i<e.length;i++)t.addTrack(e[i]);return t}He(e,n);var t=e.prototype;return t.addTrack=function(e){var t=this.tracks_.length;\"\"+t in this||Object.defineProperty(this,t,{get:function(){return this.tracks_[t]}}),-1===this.tracks_.indexOf(e)&&(this.tracks_.push(e),this.trigger({track:e,type:\"addtrack\",target:this}))},t.removeTrack=function(e){for(var t,i=0,n=this.length;i<n;i++)if(this[i]===e){(t=this[i]).off&&t.off(),this.tracks_.splice(i,1);break}t&&this.trigger({track:t,type:\"removetrack\",target:this})},t.getTrackById=function(e){for(var t=null,i=0,n=this.length;i<n;i++){var r=this[i];if(r.id===e){t=r;break}}return t},e}(ye);for(var Lt in Pt.prototype.allowedEvents_={change:\"change\",addtrack:\"addtrack\",removetrack:\"removetrack\"},Pt.prototype.allowedEvents_)Pt.prototype[\"on\"+Lt]=null;function Ot(e,t){for(var i=0;i<e.length;i++)Object.keys(e[i]).length&&t.id!==e[i].id&&(e[i].enabled=!1)}function Dt(e,t){for(var i=0;i<e.length;i++)Object.keys(e[i]).length&&t.id!==e[i].id&&(e[i].selected=!1)}function Nt(e){var t=[\"protocol\",\"hostname\",\"port\",\"pathname\",\"search\",\"hash\",\"host\"],i=h.createElement(\"a\");i.href=e;var n,r=\"\"===i.host&&\"file:\"!==i.protocol;r&&((n=h.createElement(\"div\")).innerHTML='<a href=\"'+e+'\"></a>',i=n.firstChild,n.setAttribute(\"style\",\"display:none; position:absolute;\"),h.body.appendChild(n));for(var s={},a=0;a<t.length;a++)s[t[a]]=i[t[a]];return\"http:\"===s.protocol&&(s.host=s.host.replace(/:80$/,\"\")),\"https:\"===s.protocol&&(s.host=s.host.replace(/:443$/,\"\")),s.protocol||(s.protocol=y.location.protocol),r&&h.body.removeChild(n),s}function Rt(e){if(!e.match(/^https?:\\/\\//)){var t=h.createElement(\"div\");t.innerHTML='<a href=\"'+e+'\">x</a>',e=t.firstChild.href}return e}function Ut(e){if(\"string\"==typeof e){var t=/^(\\/?)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?)(\\.([^\\.\\/\\?]+)))(?:[\\/]*|[\\?].*)$/.exec(e);if(t)return t.pop().toLowerCase()}return\"\"}function Mt(e,t){void 0===t&&(t=y.location);var i=Nt(e);return(\":\"===i.protocol?t.protocol:i.protocol)+i.host!==t.protocol+t.host}var Bt=function(n){function e(e){var t;void 0===e&&(e=[]);for(var i=e.length-1;0<=i;i--)if(e[i].enabled){Ot(e,e[i]);break}return(t=n.call(this,e)||this).changing_=!1,t}He(e,n);var t=e.prototype;return t.addTrack=function(e){var t=this;e.enabled&&Ot(this,e),n.prototype.addTrack.call(this,e),e.addEventListener&&(e.enabledChange_=function(){t.changing_||(t.changing_=!0,Ot(t,e),t.changing_=!1,t.trigger(\"change\"))},e.addEventListener(\"enabledchange\",e.enabledChange_))},t.removeTrack=function(e){n.prototype.removeTrack.call(this,e),e.removeEventListener&&e.enabledChange_&&(e.removeEventListener(\"enabledchange\",e.enabledChange_),e.enabledChange_=null)},e}(Pt),jt=function(n){function e(e){var t;void 0===e&&(e=[]);for(var i=e.length-1;0<=i;i--)if(e[i].selected){Dt(e,e[i]);break}return(t=n.call(this,e)||this).changing_=!1,Object.defineProperty(Ue(t),\"selectedIndex\",{get:function(){for(var e=0;e<this.length;e++)if(this[e].selected)return e;return-1},set:function(){}}),t}He(e,n);var t=e.prototype;return t.addTrack=function(e){var t=this;e.selected&&Dt(this,e),n.prototype.addTrack.call(this,e),e.addEventListener&&(e.selectedChange_=function(){t.changing_||(t.changing_=!0,Dt(t,e),t.changing_=!1,t.trigger(\"change\"))},e.addEventListener(\"selectedchange\",e.selectedChange_))},t.removeTrack=function(e){n.prototype.removeTrack.call(this,e),e.removeEventListener&&e.selectedChange_&&(e.removeEventListener(\"selectedchange\",e.selectedChange_),e.selectedChange_=null)},e}(Pt),Ft=function(i){function e(){return i.apply(this,arguments)||this}He(e,i);var t=e.prototype;return t.addTrack=function(e){var t=this;i.prototype.addTrack.call(this,e),this.queueChange_||(this.queueChange_=function(){return t.queueTrigger(\"change\")}),this.triggerSelectedlanguagechange||(this.triggerSelectedlanguagechange_=function(){return t.trigger(\"selectedlanguagechange\")}),e.addEventListener(\"modechange\",this.queueChange_);-1===[\"metadata\",\"chapters\"].indexOf(e.kind)&&e.addEventListener(\"modechange\",this.triggerSelectedlanguagechange_)},t.removeTrack=function(e){i.prototype.removeTrack.call(this,e),e.removeEventListener&&(this.queueChange_&&e.removeEventListener(\"modechange\",this.queueChange_),this.selectedlanguagechange_&&e.removeEventListener(\"modechange\",this.triggerSelectedlanguagechange_))},e}(Pt),Ht=function(){function e(e){void 0===e&&(e=[]),this.trackElements_=[],Object.defineProperty(this,\"length\",{get:function(){return this.trackElements_.length}});for(var t=0,i=e.length;t<i;t++)this.addTrackElement_(e[t])}var t=e.prototype;return t.addTrackElement_=function(e){var t=this.trackElements_.length;\"\"+t in this||Object.defineProperty(this,t,{get:function(){return this.trackElements_[t]}}),-1===this.trackElements_.indexOf(e)&&this.trackElements_.push(e)},t.getTrackElementByTrack_=function(e){for(var t,i=0,n=this.trackElements_.length;i<n;i++)if(e===this.trackElements_[i].track){t=this.trackElements_[i];break}return t},t.removeTrackElement_=function(e){for(var t=0,i=this.trackElements_.length;t<i;t++)if(e===this.trackElements_[t]){this.trackElements_[t].track&&\"function\"==typeof this.trackElements_[t].track.off&&this.trackElements_[t].track.off(),\"function\"==typeof this.trackElements_[t].off&&this.trackElements_[t].off(),this.trackElements_.splice(t,1);break}},e}(),Vt=function(){function t(e){t.prototype.setCues_.call(this,e),Object.defineProperty(this,\"length\",{get:function(){return this.length_}})}var e=t.prototype;return e.setCues_=function(e){var t=this.length||0,i=0,n=e.length;this.cues_=e,this.length_=e.length;function r(e){\"\"+e in this||Object.defineProperty(this,\"\"+e,{get:function(){return this.cues_[e]}})}if(t<n)for(i=t;i<n;i++)r.call(this,i)},e.getCueById=function(e){for(var t=null,i=0,n=this.length;i<n;i++){var r=this[i];if(r.id===e){t=r;break}}return t},t}(),qt={alternative:\"alternative\",captions:\"captions\",main:\"main\",sign:\"sign\",subtitles:\"subtitles\",commentary:\"commentary\"},Wt={alternative:\"alternative\",descriptions:\"descriptions\",main:\"main\",\"main-desc\":\"main-desc\",translation:\"translation\",commentary:\"commentary\"},zt={subtitles:\"subtitles\",captions:\"captions\",descriptions:\"descriptions\",chapters:\"chapters\",metadata:\"metadata\"},Gt={disabled:\"disabled\",hidden:\"hidden\",showing:\"showing\"},Xt=function(s){function e(e){var t;void 0===e&&(e={}),t=s.call(this)||this;function i(e){Object.defineProperty(Ue(t),e,{get:function(){return n[e]},set:function(){}})}var n={id:e.id||\"vjs_track_\"+ne(),kind:e.kind||\"\",label:e.label||\"\",language:e.language||\"\"};for(var r in n)i(r);return t}return He(e,s),e}(ye),Kt=Object.freeze({__proto__:null,parseUrl:Nt,getAbsoluteURL:Rt,getFileExtension:Ut,isCrossOrigin:Mt}),Yt=function(e){var t=$t.call(e);return\"[object Function]\"===t||\"function\"==typeof e&&\"[object RegExp]\"!==t||\"undefined\"!=typeof window&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)}\n/**\n * @license\n * slighly modified parse-headers 2.0.2 <https://github.com/kesla/parse-headers/>\n * Copyright (c) 2014 David Björklund\n * Available under the MIT license\n * <https://github.com/kesla/parse-headers/blob/master/LICENCE>\n */,$t=Object.prototype.toString;var Qt=function(e){var r={};return e&&e.trim().split(\"\\n\").forEach(function(e){var t=e.indexOf(\":\"),i=e.slice(0,t).trim().toLowerCase(),n=e.slice(t+1).trim();\"undefined\"==typeof r[i]?r[i]=n:Array.isArray(r[i])?r[i].push(n):r[i]=[r[i],n]}),r},Jt=ti,Zt=ti;function ei(e,t,i){var n=e;return Yt(t)?(i=t,\"string\"==typeof e&&(n={uri:e})):n=r({},t,{uri:e}),n.callback=i,n}function ti(e,t,i){return ii(t=ei(e,t,i))}function ii(n){if(\"undefined\"==typeof n.callback)throw new Error(\"callback argument missing\");var r=!1,s=function(e,t,i){r||(r=!0,n.callback(e,t,i))};function t(e){return clearTimeout(o),e instanceof Error||(e=new Error(\"\"+(e||\"Unknown XMLHttpRequest Error\"))),e.statusCode=0,s(e,m)}function e(){if(!a){var e;clearTimeout(o),e=n.useXDR&&void 0===u.status?200:1223===u.status?204:u.status;var t=m,i=null;return 0!==e?(t={body:function(){var e=void 0;if(e=u.response?u.response:u.responseText||function(e){try{if(\"document\"===e.responseType)return e.responseXML;var t=e.responseXML&&\"parsererror\"===e.responseXML.documentElement.nodeName;if(\"\"===e.responseType&&!t)return e.responseXML}catch(e){}return null}(u),f)try{e=JSON.parse(e)}catch(e){}return e}(),statusCode:e,method:c,headers:{},url:l,rawRequest:u},u.getAllResponseHeaders&&(t.headers=Qt(u.getAllResponseHeaders()))):i=new Error(\"Internal XMLHttpRequest Error\"),s(i,t,t.body)}}var i,a,o,u=n.xhr||null,l=(u=u||(n.cors||n.useXDR?new ti.XDomainRequest:new ti.XMLHttpRequest)).url=n.uri||n.url,c=u.method=n.method||\"GET\",h=n.body||n.data,d=u.headers=n.headers||{},p=!!n.sync,f=!1,m={body:void 0,headers:{},statusCode:0,method:c,url:l,rawRequest:u};if(\"json\"in n&&!1!==n.json&&(f=!0,d.accept||d.Accept||(d.Accept=\"application/json\"),\"GET\"!==c&&\"HEAD\"!==c&&(d[\"content-type\"]||d[\"Content-Type\"]||(d[\"Content-Type\"]=\"application/json\"),h=JSON.stringify(!0===n.json?h:n.json))),u.onreadystatechange=function(){4===u.readyState&&setTimeout(e,0)},u.onload=e,u.onerror=t,u.onprogress=function(){},u.onabort=function(){a=!0},u.ontimeout=t,u.open(c,l,!p,n.username,n.password),p||(u.withCredentials=!!n.withCredentials),!p&&0<n.timeout&&(o=setTimeout(function(){if(!a){a=!0,u.abort(\"timeout\");var e=new Error(\"XMLHttpRequest timeout\");e.code=\"ETIMEDOUT\",t(e)}},n.timeout)),u.setRequestHeader)for(i in d)d.hasOwnProperty(i)&&u.setRequestHeader(i,d[i]);else if(n.headers&&!function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}(n.headers))throw new Error(\"Headers cannot be set on an XDomainRequest object\");return\"responseType\"in n&&(u.responseType=n.responseType),\"beforeSend\"in n&&\"function\"==typeof n.beforeSend&&n.beforeSend(u),u.send(h||null),u}ti.XMLHttpRequest=y.XMLHttpRequest||function(){},ti.XDomainRequest=\"withCredentials\"in new ti.XMLHttpRequest?ti.XMLHttpRequest:y.XDomainRequest,function(e,t){for(var i=0;i<e.length;i++)t(e[i])}([\"get\",\"put\",\"post\",\"patch\",\"head\",\"delete\"],function(n){ti[\"delete\"===n?\"del\":n]=function(e,t,i){return(t=ei(e,t,i)).method=n.toUpperCase(),ii(t)}}),Jt.default=Zt;function ni(e,t){var i=new y.WebVTT.Parser(y,y.vttjs,y.WebVTT.StringDecoder()),n=[];i.oncue=function(e){t.addCue(e)},i.onparsingerror=function(e){n.push(e)},i.onflush=function(){t.trigger({type:\"loadeddata\",target:t})},i.parse(e),0<n.length&&(y.console&&y.console.groupCollapsed&&y.console.groupCollapsed(\"Text Track parsing errors for \"+t.src),n.forEach(function(e){return p.error(e)}),y.console&&y.console.groupEnd&&y.console.groupEnd()),i.flush()}function ri(e,n){var t={uri:e},i=Mt(e);i&&(t.cors=i),Jt(t,ge(this,function(e,t,i){if(e)return p.error(e,t);n.loaded_=!0,\"function\"!=typeof y.WebVTT?n.tech_&&n.tech_.any([\"vttjsloaded\",\"vttjserror\"],function(e){if(\"vttjserror\"!==e.type)return ni(i,n);p.error(\"vttjs failed to load, stopping trying to process \"+n.src)}):ni(i,n)}))}var si=function(l){function e(e){var t;if(void 0===e&&(e={}),!e.tech)throw new Error(\"A tech was not provided.\");var i=Ne(e,{kind:zt[e.kind]||\"subtitles\",language:e.language||e.srclang||\"\"}),n=Gt[i.mode]||\"disabled\",r=i.default;\"metadata\"!==i.kind&&\"chapters\"!==i.kind||(n=\"hidden\"),(t=l.call(this,i)||this).tech_=i.tech,t.cues_=[],t.activeCues_=[],t.preload_=!1!==t.tech_.preloadTextTracks;var s=new Vt(t.cues_),a=new Vt(t.activeCues_),o=!1,u=ge(Ue(t),function(){this.activeCues=this.activeCues,o&&(this.trigger(\"cuechange\"),o=!1)});return\"disabled\"!==n&&t.tech_.ready(function(){t.tech_.on(\"timeupdate\",u)},!0),Object.defineProperties(Ue(t),{default:{get:function(){return r},set:function(){}},mode:{get:function(){return n},set:function(e){var t=this;Gt[e]&&(n=e,this.preload_||\"disabled\"===n||0!==this.cues.length||ri(this.src,this),\"disabled\"!==n?this.tech_.ready(function(){t.tech_.on(\"timeupdate\",u)},!0):this.tech_.off(\"timeupdate\",u),this.trigger(\"modechange\"))}},cues:{get:function(){return this.loaded_?s:null},set:function(){}},activeCues:{get:function(){if(!this.loaded_)return null;if(0===this.cues.length)return a;for(var e=this.tech_.currentTime(),t=[],i=0,n=this.cues.length;i<n;i++){var r=this.cues[i];r.startTime<=e&&r.endTime>=e?t.push(r):r.startTime===r.endTime&&r.startTime<=e&&r.startTime+.5>=e&&t.push(r)}if(o=!1,t.length!==this.activeCues_.length)o=!0;else for(var s=0;s<t.length;s++)-1===this.activeCues_.indexOf(t[s])&&(o=!0);return this.activeCues_=t,a.setCues_(this.activeCues_),a},set:function(){}}}),i.src?(t.src=i.src,t.preload_||(t.loaded_=!0),(t.preload_||r||\"subtitles\"!==i.kind&&\"captions\"!==i.kind)&&ri(t.src,Ue(t))):t.loaded_=!0,t}He(e,l);var t=e.prototype;return t.addCue=function(e){var t=e;if(y.vttjs&&!(e instanceof y.vttjs.VTTCue)){for(var i in t=new y.vttjs.VTTCue(e.startTime,e.endTime,e.text),e)i in t||(t[i]=e[i]);t.id=e.id,t.originalCue_=e}for(var n=this.tech_.textTracks(),r=0;r<n.length;r++)n[r]!==this&&n[r].removeCue(t);this.cues_.push(t),this.cues.setCues_(this.cues_)},t.removeCue=function(e){for(var t=this.cues_.length;t--;){var i=this.cues_[t];if(i===e||i.originalCue_&&i.originalCue_===e){this.cues_.splice(t,1),this.cues.setCues_(this.cues_);break}}},e}(Xt);si.prototype.allowedEvents_={cuechange:\"cuechange\"};var ai=function(r){function e(e){var t;void 0===e&&(e={});var i=Ne(e,{kind:Wt[e.kind]||\"\"});t=r.call(this,i)||this;var n=!1;return Object.defineProperty(Ue(t),\"enabled\",{get:function(){return n},set:function(e){\"boolean\"==typeof e&&e!==n&&(n=e,this.trigger(\"enabledchange\"))}}),i.enabled&&(t.enabled=i.enabled),t.loaded_=!0,t}return He(e,r),e}(Xt),oi=function(r){function e(e){var t;void 0===e&&(e={});var i=Ne(e,{kind:qt[e.kind]||\"\"});t=r.call(this,i)||this;var n=!1;return Object.defineProperty(Ue(t),\"selected\",{get:function(){return n},set:function(e){\"boolean\"==typeof e&&e!==n&&(n=e,this.trigger(\"selectedchange\"))}}),i.selected&&(t.selected=i.selected),t}return He(e,r),e}(Xt),ui=function(r){function e(e){var t,i;void 0===e&&(e={}),t=r.call(this)||this;var n=new si(e);return t.kind=n.kind,t.src=n.src,t.srclang=n.language,t.label=n.label,t.default=n.default,Object.defineProperties(Ue(t),{readyState:{get:function(){return i}},track:{get:function(){return n}}}),i=0,n.addEventListener(\"loadeddata\",function(){i=2,t.trigger({type:\"load\",target:Ue(t)})}),t}return He(e,r),e}(ye);ui.prototype.allowedEvents_={load:\"load\"},ui.NONE=0,ui.LOADING=1,ui.LOADED=2,ui.ERROR=3;var li={audio:{ListClass:Bt,TrackClass:ai,capitalName:\"Audio\"},video:{ListClass:jt,TrackClass:oi,capitalName:\"Video\"},text:{ListClass:Ft,TrackClass:si,capitalName:\"Text\"}};Object.keys(li).forEach(function(e){li[e].getterName=e+\"Tracks\",li[e].privateName=e+\"Tracks_\"});var ci={remoteText:{ListClass:Ft,TrackClass:si,capitalName:\"RemoteText\",getterName:\"remoteTextTracks\",privateName:\"remoteTextTracks_\"},remoteTextEl:{ListClass:Ht,TrackClass:ui,capitalName:\"RemoteTextTrackEls\",getterName:\"remoteTextTrackEls\",privateName:\"remoteTextTrackEls_\"}},hi=r({},li,ci);ci.names=Object.keys(ci),li.names=Object.keys(li),hi.names=[].concat(ci.names).concat(li.names);var di=Object.create||function(e){if(1!==arguments.length)throw new Error(\"Object.create shim only accepts one parameter.\");return pi.prototype=e,new pi};function pi(){}function fi(e,t){this.name=\"ParsingError\",this.code=e.code,this.message=t||e.message}function mi(e){function t(e,t,i,n){return 3600*(0|e)+60*(0|t)+(0|i)+(0|n)/1e3}var i=e.match(/^(\\d+):(\\d{1,2})(:\\d{1,2})?\\.(\\d{3})/);return i?i[3]?t(i[1],i[2],i[3].replace(\":\",\"\"),i[4]):59<i[1]?t(i[1],i[2],0,i[4]):t(0,i[1],i[2],i[4]):null}function gi(){this.values=di(null)}function vi(e,t,i,n){var r=n?e.split(n):[e];for(var s in r)if(\"string\"==typeof r[s]){var a=r[s].split(i);if(2===a.length)t(a[0],a[1])}}function yi(t,e,a){var i=t;function n(){var e=mi(t);if(null===e)throw new fi(fi.Errors.BadTimeStamp,\"Malformed timestamp: \"+i);return t=t.replace(/^[^\\sa-zA-Z-]+/,\"\"),e}function r(){t=t.replace(/^\\s+/,\"\")}if(r(),e.startTime=n(),r(),\"--\\x3e\"!==t.substr(0,3))throw new fi(fi.Errors.BadTimeStamp,\"Malformed time stamp (time stamps must be separated by '--\\x3e'): \"+i);t=t.substr(3),r(),e.endTime=n(),r(),function(e,t){var s=new gi;vi(e,function(e,t){switch(e){case\"region\":for(var i=a.length-1;0<=i;i--)if(a[i].id===t){s.set(e,a[i].region);break}break;case\"vertical\":s.alt(e,t,[\"rl\",\"lr\"]);break;case\"line\":var n=t.split(\",\"),r=n[0];s.integer(e,r),s.percent(e,r)&&s.set(\"snapToLines\",!1),s.alt(e,r,[\"auto\"]),2===n.length&&s.alt(\"lineAlign\",n[1],[\"start\",\"center\",\"end\"]);break;case\"position\":n=t.split(\",\"),s.percent(e,n[0]),2===n.length&&s.alt(\"positionAlign\",n[1],[\"start\",\"center\",\"end\"]);break;case\"size\":s.percent(e,t);break;case\"align\":s.alt(e,t,[\"start\",\"center\",\"end\",\"left\",\"right\"])}},/:/,/\\s/),t.region=s.get(\"region\",null),t.vertical=s.get(\"vertical\",\"\");try{t.line=s.get(\"line\",\"auto\")}catch(e){}t.lineAlign=s.get(\"lineAlign\",\"start\"),t.snapToLines=s.get(\"snapToLines\",!0),t.size=s.get(\"size\",100);try{t.align=s.get(\"align\",\"center\")}catch(e){t.align=s.get(\"align\",\"middle\")}try{t.position=s.get(\"position\",\"auto\")}catch(e){t.position=s.get(\"position\",{start:0,left:0,center:50,middle:50,end:100,right:100},t.align)}t.positionAlign=s.get(\"positionAlign\",{start:\"start\",left:\"start\",center:\"center\",middle:\"center\",end:\"end\",right:\"end\"},t.align)}(t,e)}((fi.prototype=di(Error.prototype)).constructor=fi).Errors={BadSignature:{code:0,message:\"Malformed WebVTT signature.\"},BadTimeStamp:{code:1,message:\"Malformed time stamp.\"}},gi.prototype={set:function(e,t){this.get(e)||\"\"===t||(this.values[e]=t)},get:function(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t},has:function(e){return e in this.values},alt:function(e,t,i){for(var n=0;n<i.length;++n)if(t===i[n]){this.set(e,t);break}},integer:function(e,t){/^-?\\d+$/.test(t)&&this.set(e,parseInt(t,10))},percent:function(e,t){return!!(t.match(/^([\\d]{1,3})(\\.[\\d]*)?%$/)&&0<=(t=parseFloat(t))&&t<=100)&&(this.set(e,t),!0)}};var _i=h.createElement(\"textarea\"),bi={c:\"span\",i:\"i\",b:\"b\",u:\"u\",ruby:\"ruby\",rt:\"rt\",v:\"span\",lang:\"span\"},Ti={white:\"rgba(255,255,255,1)\",lime:\"rgba(0,255,0,1)\",cyan:\"rgba(0,255,255,1)\",red:\"rgba(255,0,0,1)\",yellow:\"rgba(255,255,0,1)\",magenta:\"rgba(255,0,255,1)\",blue:\"rgba(0,0,255,1)\",black:\"rgba(0,0,0,1)\"},Si={v:\"title\",lang:\"lang\"},ki={rt:\"ruby\"};function Ci(s,i){function e(){if(!i)return null;var e,t=i.match(/^([^<]*)(<[^>]*>?)?/);return e=t[1]?t[1]:t[2],i=i.substr(e.length),e}function t(e,t){var i=bi[e];if(!i)return null;var n=s.document.createElement(i),r=Si[e];return r&&t&&(n[r]=t.trim()),n}for(var n,r,a,o,u=s.document.createElement(\"div\"),l=u,c=[];null!==(n=e());)if(\"<\"!==n[0])l.appendChild(s.document.createTextNode((r=n,_i.innerHTML=r,r=_i.textContent,_i.textContent=\"\",r)));else{if(\"/\"===n[1]){c.length&&c[c.length-1]===n.substr(2).replace(\">\",\"\")&&(c.pop(),l=l.parentNode);continue}var h,d=mi(n.substr(1,n.length-2));if(d){h=s.document.createProcessingInstruction(\"timestamp\",d),l.appendChild(h);continue}var p=n.match(/^<([^.\\s/0-9>]+)(\\.[^\\s\\\\>]+)?([^>\\\\]+)?(\\\\?)>?$/);if(!p)continue;if(!(h=t(p[1],p[3])))continue;if(a=l,ki[(o=h).localName]&&ki[o.localName]!==a.localName)continue;if(p[2]){var f=p[2].split(\".\");f.forEach(function(e){var t=/^bg_/.test(e),i=t?e.slice(3):e;if(Ti.hasOwnProperty(i)){var n=t?\"background-color\":\"color\",r=Ti[i];h.style[n]=r}}),h.className=f.join(\" \")}c.push(p[1]),l.appendChild(h),l=h}return u}var wi=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];function Ei(e){for(var t=0;t<wi.length;t++){var i=wi[t];if(e>=i[0]&&e<=i[1])return!0}return!1}function xi(){}function Ai(e,t,i){xi.call(this),this.cue=t,this.cueDiv=Ci(e,t.text);var n={color:\"rgba(255, 255, 255, 1)\",backgroundColor:\"rgba(0, 0, 0, 0.8)\",position:\"relative\",left:0,right:0,top:0,bottom:0,display:\"inline\",writingMode:\"\"===t.vertical?\"horizontal-tb\":\"lr\"===t.vertical?\"vertical-lr\":\"vertical-rl\",unicodeBidi:\"plaintext\"};this.applyStyles(n,this.cueDiv),this.div=e.document.createElement(\"div\"),n={direction:function(e){var t=[],i=\"\";if(!e||!e.childNodes)return\"ltr\";function r(e,t){for(var i=t.childNodes.length-1;0<=i;i--)e.push(t.childNodes[i])}function s(e){if(!e||!e.length)return null;var t=e.pop(),i=t.textContent||t.innerText;if(i){var n=i.match(/^.*(\\n|\\r)/);return n?n[e.length=0]:i}return\"ruby\"===t.tagName?s(e):t.childNodes?(r(e,t),s(e)):void 0}for(r(t,e);i=s(t);)for(var n=0;n<i.length;n++)if(Ei(i.charCodeAt(n)))return\"rtl\";return\"ltr\"}(this.cueDiv),writingMode:\"\"===t.vertical?\"horizontal-tb\":\"lr\"===t.vertical?\"vertical-lr\":\"vertical-rl\",unicodeBidi:\"plaintext\",textAlign:\"middle\"===t.align?\"center\":t.align,font:i.font,whiteSpace:\"pre-line\",position:\"absolute\"},this.applyStyles(n),this.div.appendChild(this.cueDiv);var r=0;switch(t.positionAlign){case\"start\":r=t.position;break;case\"center\":r=t.position-t.size/2;break;case\"end\":r=t.position-t.size}\"\"===t.vertical?this.applyStyles({left:this.formatStyle(r,\"%\"),width:this.formatStyle(t.size,\"%\")}):this.applyStyles({top:this.formatStyle(r,\"%\"),height:this.formatStyle(t.size,\"%\")}),this.move=function(e){this.applyStyles({top:this.formatStyle(e.top,\"px\"),bottom:this.formatStyle(e.bottom,\"px\"),left:this.formatStyle(e.left,\"px\"),right:this.formatStyle(e.right,\"px\"),height:this.formatStyle(e.height,\"px\"),width:this.formatStyle(e.width,\"px\")})}}function Ii(e){var t,i,n,r;if(e.div){i=e.div.offsetHeight,n=e.div.offsetWidth,r=e.div.offsetTop;var s=(s=e.div.childNodes)&&(s=s[0])&&s.getClientRects&&s.getClientRects();e=e.div.getBoundingClientRect(),t=s?Math.max(s[0]&&s[0].height||0,e.height/s.length):0}this.left=e.left,this.right=e.right,this.top=e.top||r,this.height=e.height||i,this.bottom=e.bottom||r+(e.height||i),this.width=e.width||n,this.lineHeight=void 0!==t?t:e.lineHeight}function Pi(e,t,o,u){var i=new Ii(t),n=t.cue,r=function(e){if(\"number\"==typeof e.line&&(e.snapToLines||0<=e.line&&e.line<=100))return e.line;if(!e.track||!e.track.textTrackList||!e.track.textTrackList.mediaElement)return-1;for(var t=e.track,i=t.textTrackList,n=0,r=0;r<i.length&&i[r]!==t;r++)\"showing\"===i[r].mode&&n++;return-1*++n}(n),s=[];if(n.snapToLines){var a;switch(n.vertical){case\"\":s=[\"+y\",\"-y\"],a=\"height\";break;case\"rl\":s=[\"+x\",\"-x\"],a=\"width\";break;case\"lr\":s=[\"-x\",\"+x\"],a=\"width\"}var l=i.lineHeight,c=l*Math.round(r),h=o[a]+l,d=s[0];Math.abs(c)>h&&(c=c<0?-1:1,c*=Math.ceil(h/l)*l),r<0&&(c+=\"\"===n.vertical?o.height:o.width,s=s.reverse()),i.move(d,c)}else{var p=i.lineHeight/o.height*100;switch(n.lineAlign){case\"center\":r-=p/2;break;case\"end\":r-=p}switch(n.vertical){case\"\":t.applyStyles({top:t.formatStyle(r,\"%\")});break;case\"rl\":t.applyStyles({left:t.formatStyle(r,\"%\")});break;case\"lr\":t.applyStyles({right:t.formatStyle(r,\"%\")})}s=[\"+y\",\"-x\",\"+x\",\"-y\"],i=new Ii(t)}var f=function(e,t){for(var i,n=new Ii(e),r=1,s=0;s<t.length;s++){for(;e.overlapsOppositeAxis(o,t[s])||e.within(o)&&e.overlapsAny(u);)e.move(t[s]);if(e.within(o))return e;var a=e.intersectPercentage(o);a<r&&(i=new Ii(e),r=a),e=new Ii(n)}return i||n}(i,s);t.move(f.toCSSCompatValues(o))}function Li(){}xi.prototype.applyStyles=function(e,t){for(var i in t=t||this.div,e)e.hasOwnProperty(i)&&(t.style[i]=e[i])},xi.prototype.formatStyle=function(e,t){return 0===e?0:e+t},(Ai.prototype=di(xi.prototype)).constructor=Ai,Ii.prototype.move=function(e,t){switch(t=void 0!==t?t:this.lineHeight,e){case\"+x\":this.left+=t,this.right+=t;break;case\"-x\":this.left-=t,this.right-=t;break;case\"+y\":this.top+=t,this.bottom+=t;break;case\"-y\":this.top-=t,this.bottom-=t}},Ii.prototype.overlaps=function(e){return this.left<e.right&&this.right>e.left&&this.top<e.bottom&&this.bottom>e.top},Ii.prototype.overlapsAny=function(e){for(var t=0;t<e.length;t++)if(this.overlaps(e[t]))return!0;return!1},Ii.prototype.within=function(e){return this.top>=e.top&&this.bottom<=e.bottom&&this.left>=e.left&&this.right<=e.right},Ii.prototype.overlapsOppositeAxis=function(e,t){switch(t){case\"+x\":return this.left<e.left;case\"-x\":return this.right>e.right;case\"+y\":return this.top<e.top;case\"-y\":return this.bottom>e.bottom}},Ii.prototype.intersectPercentage=function(e){return Math.max(0,Math.min(this.right,e.right)-Math.max(this.left,e.left))*Math.max(0,Math.min(this.bottom,e.bottom)-Math.max(this.top,e.top))/(this.height*this.width)},Ii.prototype.toCSSCompatValues=function(e){return{top:this.top-e.top,bottom:e.bottom-this.bottom,left:this.left-e.left,right:e.right-this.right,height:this.height,width:this.width}},Ii.getSimpleBoxPosition=function(e){var t=e.div?e.div.offsetHeight:e.tagName?e.offsetHeight:0,i=e.div?e.div.offsetWidth:e.tagName?e.offsetWidth:0,n=e.div?e.div.offsetTop:e.tagName?e.offsetTop:0;return{left:(e=e.div?e.div.getBoundingClientRect():e.tagName?e.getBoundingClientRect():e).left,right:e.right,top:e.top||n,height:e.height||t,bottom:e.bottom||n+(e.height||t),width:e.width||i}},Li.StringDecoder=function(){return{decode:function(e){if(!e)return\"\";if(\"string\"!=typeof e)throw new Error(\"Error - expected string data.\");return decodeURIComponent(encodeURIComponent(e))}}},Li.convertCueToDOMTree=function(e,t){return e&&t?Ci(e,t):null};Li.processCues=function(n,r,e){if(!n||!r||!e)return null;for(;e.firstChild;)e.removeChild(e.firstChild);var s=n.document.createElement(\"div\");if(s.style.position=\"absolute\",s.style.left=\"0\",s.style.right=\"0\",s.style.top=\"0\",s.style.bottom=\"0\",s.style.margin=\"1.5%\",e.appendChild(s),function(e){for(var t=0;t<e.length;t++)if(e[t].hasBeenReset||!e[t].displayState)return!0;return!1}(r)){var a=[],o=Ii.getSimpleBoxPosition(s),u={font:Math.round(.05*o.height*100)/100+\"px sans-serif\"};!function(){for(var e,t,i=0;i<r.length;i++)t=r[i],e=new Ai(n,t,u),s.appendChild(e.div),Pi(0,e,o,a),t.displayState=e.div,a.push(Ii.getSimpleBoxPosition(e))}()}else for(var t=0;t<r.length;t++)s.appendChild(r[t].displayState)},(Li.Parser=function(e,t,i){i||(i=t,t={}),t=t||{},this.window=e,this.vttjs=t,this.state=\"INITIAL\",this.buffer=\"\",this.decoder=i||new TextDecoder(\"utf8\"),this.regionList=[]}).prototype={reportOrThrowError:function(e){if(!(e instanceof fi))throw e;this.onparsingerror&&this.onparsingerror(e)},parse:function(e){var n=this;function t(){for(var e=n.buffer,t=0;t<e.length&&\"\\r\"!==e[t]&&\"\\n\"!==e[t];)++t;var i=e.substr(0,t);return\"\\r\"===e[t]&&++t,\"\\n\"===e[t]&&++t,n.buffer=e.substr(t),i}function i(e){e.match(/X-TIMESTAMP-MAP/)?vi(e,function(e,t){switch(e){case\"X-TIMESTAMP-MAP\":!function(e){var i=new gi;vi(e,function(e,t){switch(e){case\"MPEGT\":i.integer(e+\"S\",t);break;case\"LOCA\":i.set(e+\"L\",mi(t))}},/[^\\d]:/,/,/),n.ontimestampmap&&n.ontimestampmap({MPEGTS:i.get(\"MPEGTS\"),LOCAL:i.get(\"LOCAL\")})}(t)}},/=/):vi(e,function(e,t){switch(e){case\"Region\":!function(e){var r=new gi;if(vi(e,function(e,t){switch(e){case\"id\":r.set(e,t);break;case\"width\":r.percent(e,t);break;case\"lines\":r.integer(e,t);break;case\"regionanchor\":case\"viewportanchor\":var i=t.split(\",\");if(2!==i.length)break;var n=new gi;if(n.percent(\"x\",i[0]),n.percent(\"y\",i[1]),!n.has(\"x\")||!n.has(\"y\"))break;r.set(e+\"X\",n.get(\"x\")),r.set(e+\"Y\",n.get(\"y\"));break;case\"scroll\":r.alt(e,t,[\"up\"])}},/=/,/\\s/),r.has(\"id\")){var t=new(n.vttjs.VTTRegion||n.window.VTTRegion);t.width=r.get(\"width\",100),t.lines=r.get(\"lines\",3),t.regionAnchorX=r.get(\"regionanchorX\",0),t.regionAnchorY=r.get(\"regionanchorY\",100),t.viewportAnchorX=r.get(\"viewportanchorX\",0),t.viewportAnchorY=r.get(\"viewportanchorY\",100),t.scroll=r.get(\"scroll\",\"\"),n.onregion&&n.onregion(t),n.regionList.push({id:r.get(\"id\"),region:t})}}(t)}},/:/)}e&&(n.buffer+=n.decoder.decode(e,{stream:!0}));try{var r;if(\"INITIAL\"===n.state){if(!/\\r\\n|\\n/.test(n.buffer))return this;var s=(r=t()).match(/^WEBVTT([ \\t].*)?$/);if(!s||!s[0])throw new fi(fi.Errors.BadSignature);n.state=\"HEADER\"}for(var a=!1;n.buffer;){if(!/\\r\\n|\\n/.test(n.buffer))return this;switch(a?a=!1:r=t(),n.state){case\"HEADER\":/:/.test(r)?i(r):r||(n.state=\"ID\");continue;case\"NOTE\":r||(n.state=\"ID\");continue;case\"ID\":if(/^NOTE($|[ \\t])/.test(r)){n.state=\"NOTE\";break}if(!r)continue;n.cue=new(n.vttjs.VTTCue||n.window.VTTCue)(0,0,\"\");try{n.cue.align=\"center\"}catch(e){n.cue.align=\"middle\"}if(n.state=\"CUE\",-1===r.indexOf(\"--\\x3e\")){n.cue.id=r;continue}case\"CUE\":try{yi(r,n.cue,n.regionList)}catch(e){n.reportOrThrowError(e),n.cue=null,n.state=\"BADCUE\";continue}n.state=\"CUETEXT\";continue;case\"CUETEXT\":var o=-1!==r.indexOf(\"--\\x3e\");if(!r||o&&(a=!0)){n.oncue&&n.oncue(n.cue),n.cue=null,n.state=\"ID\";continue}n.cue.text&&(n.cue.text+=\"\\n\"),n.cue.text+=r.replace(/\\u2028/g,\"\\n\").replace(/u2029/g,\"\\n\");continue;case\"BADCUE\":r||(n.state=\"ID\");continue}}}catch(e){n.reportOrThrowError(e),\"CUETEXT\"===n.state&&n.cue&&n.oncue&&n.oncue(n.cue),n.cue=null,n.state=\"INITIAL\"===n.state?\"BADWEBVTT\":\"BADCUE\"}return this},flush:function(){var t=this;try{if(t.buffer+=t.decoder.decode(),!t.cue&&\"HEADER\"!==t.state||(t.buffer+=\"\\n\\n\",t.parse()),\"INITIAL\"===t.state)throw new fi(fi.Errors.BadSignature)}catch(e){t.reportOrThrowError(e)}return t.onflush&&t.onflush(),this}};var Oi=Li,Di={\"\":1,lr:1,rl:1},Ni={start:1,center:1,end:1,left:1,right:1,auto:1,\"line-left\":1,\"line-right\":1};function Ri(e){return\"string\"==typeof e&&(!!Ni[e.toLowerCase()]&&e.toLowerCase())}function Ui(e,t,i){this.hasBeenReset=!1;var n=\"\",r=!1,s=e,a=t,o=i,u=null,l=\"\",c=!0,h=\"auto\",d=\"start\",p=\"auto\",f=\"auto\",m=100,g=\"center\";Object.defineProperties(this,{id:{enumerable:!0,get:function(){return n},set:function(e){n=\"\"+e}},pauseOnExit:{enumerable:!0,get:function(){return r},set:function(e){r=!!e}},startTime:{enumerable:!0,get:function(){return s},set:function(e){if(\"number\"!=typeof e)throw new TypeError(\"Start time must be set to a number.\");s=e,this.hasBeenReset=!0}},endTime:{enumerable:!0,get:function(){return a},set:function(e){if(\"number\"!=typeof e)throw new TypeError(\"End time must be set to a number.\");a=e,this.hasBeenReset=!0}},text:{enumerable:!0,get:function(){return o},set:function(e){o=\"\"+e,this.hasBeenReset=!0}},region:{enumerable:!0,get:function(){return u},set:function(e){u=e,this.hasBeenReset=!0}},vertical:{enumerable:!0,get:function(){return l},set:function(e){var t=function(e){return\"string\"==typeof e&&(!!Di[e.toLowerCase()]&&e.toLowerCase())}(e);if(!1===t)throw new SyntaxError(\"Vertical: an invalid or illegal direction string was specified.\");l=t,this.hasBeenReset=!0}},snapToLines:{enumerable:!0,get:function(){return c},set:function(e){c=!!e,this.hasBeenReset=!0}},line:{enumerable:!0,get:function(){return h},set:function(e){if(\"number\"!=typeof e&&\"auto\"!==e)throw new SyntaxError(\"Line: an invalid number or illegal string was specified.\");h=e,this.hasBeenReset=!0}},lineAlign:{enumerable:!0,get:function(){return d},set:function(e){var t=Ri(e);t&&(d=t,this.hasBeenReset=!0)}},position:{enumerable:!0,get:function(){return p},set:function(e){if(e<0||100<e)throw new Error(\"Position must be between 0 and 100.\");p=e,this.hasBeenReset=!0}},positionAlign:{enumerable:!0,get:function(){return f},set:function(e){var t=Ri(e);t&&(f=t,this.hasBeenReset=!0)}},size:{enumerable:!0,get:function(){return m},set:function(e){if(e<0||100<e)throw new Error(\"Size must be between 0 and 100.\");m=e,this.hasBeenReset=!0}},align:{enumerable:!0,get:function(){return g},set:function(e){var t=Ri(e);if(!t)throw new SyntaxError(\"align: an invalid or illegal alignment string was specified.\");g=t,this.hasBeenReset=!0}}}),this.displayState=void 0}Ui.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text)};var Mi=Ui,Bi={\"\":!0,up:!0};function ji(e){return\"number\"==typeof e&&0<=e&&e<=100}function Fi(){var t=100,i=3,n=0,r=100,s=0,a=100,o=\"\";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return t},set:function(e){if(!ji(e))throw new Error(\"Width must be between 0 and 100.\");t=e}},lines:{enumerable:!0,get:function(){return i},set:function(e){if(\"number\"!=typeof e)throw new TypeError(\"Lines must be set to a number.\");i=e}},regionAnchorY:{enumerable:!0,get:function(){return r},set:function(e){if(!ji(e))throw new Error(\"RegionAnchorX must be between 0 and 100.\");r=e}},regionAnchorX:{enumerable:!0,get:function(){return n},set:function(e){if(!ji(e))throw new Error(\"RegionAnchorY must be between 0 and 100.\");n=e}},viewportAnchorY:{enumerable:!0,get:function(){return a},set:function(e){if(!ji(e))throw new Error(\"ViewportAnchorY must be between 0 and 100.\");a=e}},viewportAnchorX:{enumerable:!0,get:function(){return s},set:function(e){if(!ji(e))throw new Error(\"ViewportAnchorX must be between 0 and 100.\");s=e}},scroll:{enumerable:!0,get:function(){return o},set:function(e){var t=function(e){return\"string\"==typeof e&&(!!Bi[e.toLowerCase()]&&e.toLowerCase())}(e);!1===t||(o=t)}}})}var Hi=t(function(e){var t=e.exports={WebVTT:Oi,VTTCue:Mi,VTTRegion:Fi};y.vttjs=t,y.WebVTT=t.WebVTT;var i=t.VTTCue,n=t.VTTRegion,r=y.VTTCue,s=y.VTTRegion;t.shim=function(){y.VTTCue=i,y.VTTRegion=n},t.restore=function(){y.VTTCue=r,y.VTTRegion=s},y.VTTCue||t.shim()});Hi.WebVTT,Hi.VTTCue,Hi.VTTRegion;var Vi=function(t){function i(i,e){var n;return void 0===i&&(i={}),void 0===e&&(e=function(){}),i.reportTouchActivity=!1,(n=t.call(this,null,i,e)||this).hasStarted_=!1,n.on(\"playing\",function(){this.hasStarted_=!0}),n.on(\"loadstart\",function(){this.hasStarted_=!1}),hi.names.forEach(function(e){var t=hi[e];i&&i[t.getterName]&&(n[t.privateName]=i[t.getterName])}),n.featuresProgressEvents||n.manualProgressOn(),n.featuresTimeupdateEvents||n.manualTimeUpdatesOn(),[\"Text\",\"Audio\",\"Video\"].forEach(function(e){!1===i[\"native\"+e+\"Tracks\"]&&(n[\"featuresNative\"+e+\"Tracks\"]=!1)}),!1===i.nativeCaptions||!1===i.nativeTextTracks?n.featuresNativeTextTracks=!1:!0!==i.nativeCaptions&&!0!==i.nativeTextTracks||(n.featuresNativeTextTracks=!0),n.featuresNativeTextTracks||n.emulateTextTracks(),n.preloadTextTracks=!1!==i.preloadTextTracks,n.autoRemoteTextTracks_=new hi.text.ListClass,n.initTrackListeners(),i.nativeControlsForTouch||n.emitTapEvents(),n.constructor&&(n.name_=n.constructor.name||\"Unknown Tech\"),n}He(i,t);var e=i.prototype;return e.triggerSourceset=function(e){var t=this;this.isReady_||this.one(\"ready\",function(){return t.setTimeout(function(){return t.triggerSourceset(e)},1)}),this.trigger({src:e,type:\"sourceset\"})},e.manualProgressOn=function(){this.on(\"durationchange\",this.onDurationChange),this.manualProgress=!0,this.one(\"ready\",this.trackProgress)},e.manualProgressOff=function(){this.manualProgress=!1,this.stopTrackingProgress(),this.off(\"durationchange\",this.onDurationChange)},e.trackProgress=function(e){this.stopTrackingProgress(),this.progressInterval=this.setInterval(ge(this,function(){var e=this.bufferedPercent();this.bufferedPercent_!==e&&this.trigger(\"progress\"),1===(this.bufferedPercent_=e)&&this.stopTrackingProgress()}),500)},e.onDurationChange=function(e){this.duration_=this.duration()},e.buffered=function(){return ht(0,0)},e.bufferedPercent=function(){return dt(this.buffered(),this.duration_)},e.stopTrackingProgress=function(){this.clearInterval(this.progressInterval)},e.manualTimeUpdatesOn=function(){this.manualTimeUpdates=!0,this.on(\"play\",this.trackCurrentTime),this.on(\"pause\",this.stopTrackingCurrentTime)},e.manualTimeUpdatesOff=function(){this.manualTimeUpdates=!1,this.stopTrackingCurrentTime(),this.off(\"play\",this.trackCurrentTime),this.off(\"pause\",this.stopTrackingCurrentTime)},e.trackCurrentTime=function(){this.currentTimeInterval&&this.stopTrackingCurrentTime(),this.currentTimeInterval=this.setInterval(function(){this.trigger({type:\"timeupdate\",target:this,manuallyTriggered:!0})},250)},e.stopTrackingCurrentTime=function(){this.clearInterval(this.currentTimeInterval),this.trigger({type:\"timeupdate\",target:this,manuallyTriggered:!0})},e.dispose=function(){this.clearTracks(li.names),this.manualProgress&&this.manualProgressOff(),this.manualTimeUpdates&&this.manualTimeUpdatesOff(),t.prototype.dispose.call(this)},e.clearTracks=function(e){var r=this;(e=[].concat(e)).forEach(function(e){for(var t=r[e+\"Tracks\"]()||[],i=t.length;i--;){var n=t[i];\"text\"===e&&r.removeRemoteTextTrack(n),t.removeTrack(n)}})},e.cleanupAutoTextTracks=function(){for(var e=this.autoRemoteTextTracks_||[],t=e.length;t--;){var i=e[t];this.removeRemoteTextTrack(i)}},e.reset=function(){},e.error=function(e){return void 0!==e&&(this.error_=new _t(e),this.trigger(\"error\")),this.error_},e.played=function(){return this.hasStarted_?ht(0,0):ht()},e.setCurrentTime=function(){this.manualTimeUpdates&&this.trigger({type:\"timeupdate\",target:this,manuallyTriggered:!0})},e.initTrackListeners=function(){var r=this;li.names.forEach(function(e){function t(){r.trigger(e+\"trackchange\")}var i=li[e],n=r[i.getterName]();n.addEventListener(\"removetrack\",t),n.addEventListener(\"addtrack\",t),r.on(\"dispose\",function(){n.removeEventListener(\"removetrack\",t),n.removeEventListener(\"addtrack\",t)})})},e.addWebVttScript_=function(){var e=this;if(!y.WebVTT)if(h.body.contains(this.el())){if(!this.options_[\"vtt.js\"]&&u(Hi)&&0<Object.keys(Hi).length)return void this.trigger(\"vttjsloaded\");var t=h.createElement(\"script\");t.src=this.options_[\"vtt.js\"]||\"https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js\",t.onload=function(){e.trigger(\"vttjsloaded\")},t.onerror=function(){e.trigger(\"vttjserror\")},this.on(\"dispose\",function(){t.onload=null,t.onerror=null}),y.WebVTT=!0,this.el().parentNode.appendChild(t)}else this.ready(this.addWebVttScript_)},e.emulateTextTracks=function(){function t(e){return n.addTrack(e.track)}function i(e){return n.removeTrack(e.track)}var e=this,n=this.textTracks(),r=this.remoteTextTracks();r.on(\"addtrack\",t),r.on(\"removetrack\",i),this.addWebVttScript_();function s(){return e.trigger(\"texttrackchange\")}function a(){s();for(var e=0;e<n.length;e++){var t=n[e];t.removeEventListener(\"cuechange\",s),\"showing\"===t.mode&&t.addEventListener(\"cuechange\",s)}}a(),n.addEventListener(\"change\",a),n.addEventListener(\"addtrack\",a),n.addEventListener(\"removetrack\",a),this.on(\"dispose\",function(){r.off(\"addtrack\",t),r.off(\"removetrack\",i),n.removeEventListener(\"change\",a),n.removeEventListener(\"addtrack\",a),n.removeEventListener(\"removetrack\",a);for(var e=0;e<n.length;e++){n[e].removeEventListener(\"cuechange\",s)}})},e.addTextTrack=function(e,t,i){if(!e)throw new Error(\"TextTrack kind is required but was not provided\");return function(e,t,i,n,r){void 0===r&&(r={});var s=e.textTracks();r.kind=t,i&&(r.label=i),n&&(r.language=n),r.tech=e;var a=new hi.text.TrackClass(r);return s.addTrack(a),a}(this,e,t,i)},e.createRemoteTextTrack=function(e){var t=Ne(e,{tech:this});return new ci.remoteTextEl.TrackClass(t)},e.addRemoteTextTrack=function(e,t){var i=this;void 0===e&&(e={});var n=this.createRemoteTextTrack(e);return!0!==t&&!1!==t&&(p.warn('Calling addRemoteTextTrack without explicitly setting the \"manualCleanup\" parameter to `true` is deprecated and default to `false` in future version of video.js'),t=!0),this.remoteTextTrackEls().addTrackElement_(n),this.remoteTextTracks().addTrack(n.track),!0!==t&&this.ready(function(){return i.autoRemoteTextTracks_.addTrack(n.track)}),n},e.removeRemoteTextTrack=function(e){var t=this.remoteTextTrackEls().getTrackElementByTrack_(e);this.remoteTextTrackEls().removeTrackElement_(t),this.remoteTextTracks().removeTrack(e),this.autoRemoteTextTracks_.removeTrack(e)},e.getVideoPlaybackQuality=function(){return{}},e.requestPictureInPicture=function(){var e=this.options_.Promise||y.Promise;if(e)return e.reject()},e.setPoster=function(){},e.playsinline=function(){},e.setPlaysinline=function(){},e.overrideNativeAudioTracks=function(){},e.overrideNativeVideoTracks=function(){},e.canPlayType=function(){return\"\"},i.canPlayType=function(){return\"\"},i.canPlaySource=function(e,t){return i.canPlayType(e.type)},i.isTech=function(e){return e.prototype instanceof i||e instanceof i||e===i},i.registerTech=function(e,t){if(i.techs_||(i.techs_={}),!i.isTech(t))throw new Error(\"Tech \"+e+\" must be a Tech\");if(!i.canPlayType)throw new Error(\"Techs must have a static canPlayType method on them\");if(!i.canPlaySource)throw new Error(\"Techs must have a static canPlaySource method on them\");return e=De(e),i.techs_[e]=t,i.techs_[Oe(e)]=t,\"Tech\"!==e&&i.defaultTechOrder_.push(e),t},i.getTech=function(e){if(e)return i.techs_&&i.techs_[e]?i.techs_[e]:(e=De(e),y&&y.videojs&&y.videojs[e]?(p.warn(\"The \"+e+\" tech was added to the videojs object when it should be registered using videojs.registerTech(name, tech)\"),y.videojs[e]):void 0)},i}(Re);hi.names.forEach(function(e){var t=hi[e];Vi.prototype[t.getterName]=function(){return this[t.privateName]=this[t.privateName]||new t.ListClass,this[t.privateName]}}),Vi.prototype.featuresVolumeControl=!0,Vi.prototype.featuresMuteControl=!0,Vi.prototype.featuresFullscreenResize=!1,Vi.prototype.featuresPlaybackRate=!1,Vi.prototype.featuresProgressEvents=!1,Vi.prototype.featuresSourceset=!1,Vi.prototype.featuresTimeupdateEvents=!1,Vi.prototype.featuresNativeTextTracks=!1,Vi.withSourceHandlers=function(r){r.registerSourceHandler=function(e,t){var i=r.sourceHandlers;i=i||(r.sourceHandlers=[]),void 0===t&&(t=i.length),i.splice(t,0,e)},r.canPlayType=function(e){for(var t,i=r.sourceHandlers||[],n=0;n<i.length;n++)if(t=i[n].canPlayType(e))return t;return\"\"},r.selectSourceHandler=function(e,t){for(var i=r.sourceHandlers||[],n=0;n<i.length;n++)if(i[n].canHandleSource(e,t))return i[n];return null},r.canPlaySource=function(e,t){var i=r.selectSourceHandler(e,t);return i?i.canHandleSource(e,t):\"\"};[\"seekable\",\"seeking\",\"duration\"].forEach(function(e){var t=this[e];\"function\"==typeof t&&(this[e]=function(){return this.sourceHandler_&&this.sourceHandler_[e]?this.sourceHandler_[e].apply(this.sourceHandler_,arguments):t.apply(this,arguments)})},r.prototype),r.prototype.setSource=function(e){var t=r.selectSourceHandler(e,this.options_);t||(r.nativeSourceHandler?t=r.nativeSourceHandler:p.error(\"No source handler found for the current source.\")),this.disposeSourceHandler(),this.off(\"dispose\",this.disposeSourceHandler),t!==r.nativeSourceHandler&&(this.currentSource_=e),this.sourceHandler_=t.handleSource(e,this,this.options_),this.one(\"dispose\",this.disposeSourceHandler)},r.prototype.disposeSourceHandler=function(){this.currentSource_&&(this.clearTracks([\"audio\",\"video\"]),this.currentSource_=null),this.cleanupAutoTextTracks(),this.sourceHandler_&&(this.sourceHandler_.dispose&&this.sourceHandler_.dispose(),this.sourceHandler_=null)}},Re.registerComponent(\"Tech\",Vi),Vi.registerTech(\"Tech\",Vi),Vi.defaultTechOrder_=[];var qi={},Wi={},zi={};function Gi(e,t,i){e.setTimeout(function(){return function i(n,e,r,s,a,o){void 0===n&&(n={});void 0===e&&(e=[]);void 0===a&&(a=[]);void 0===o&&(o=!1);var t=e,u=t[0],l=t.slice(1);if(\"string\"==typeof u)i(n,qi[u],r,s,a,o);else if(u){var c=Ji(s,u);if(!c.setSource)return a.push(c),i(n,l,r,s,a,o);c.setSource(m({},n),function(e,t){if(e)return i(n,l,r,s,a,o);a.push(c),i(t,n.type===t.type?l:qi[t.type],r,s,a,o)})}else l.length?i(n,l,r,s,a,o):o?r(n,a):i(n,qi[\"*\"],r,s,a,!0)}(t,qi[t.type],i,e)},1)}function Xi(e,t,i,n){void 0===n&&(n=null);var r=\"call\"+De(i),s=e.reduce(Qi(r),n),a=s===zi,o=a?null:t[i](s);return function(e,t,i,n){for(var r=e.length-1;0<=r;r--){var s=e[r];s[t]&&s[t](n,i)}}(e,i,o,a),o}var Ki={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1},Yi={setCurrentTime:1,setMuted:1,setVolume:1},$i={play:1,pause:1};function Qi(i){return function(e,t){return e===zi?zi:t[i]?t[i](e):e}}function Ji(e,t){var i=Wi[e.id()],n=null;if(null==i)return n=t(e),Wi[e.id()]=[[t,n]],n;for(var r=0;r<i.length;r++){var s=i[r],a=s[0],o=s[1];a===t&&(n=o)}return null===n&&(n=t(e),i.push([t,n])),n}function Zi(e){void 0===e&&(e=\"\");var t=Ut(e);return en[t.toLowerCase()]||\"\"}var en={opus:\"video/ogg\",ogv:\"video/ogg\",mp4:\"video/mp4\",mov:\"video/mp4\",m4v:\"video/mp4\",mkv:\"video/x-matroska\",m4a:\"audio/mp4\",mp3:\"audio/mpeg\",aac:\"audio/aac\",oga:\"audio/ogg\",m3u8:\"application/x-mpegURL\",jpg:\"image/jpeg\",jpeg:\"image/jpeg\",gif:\"image/gif\",png:\"image/png\",svg:\"image/svg+xml\",webp:\"image/webp\"};function tn(e){if(!e.type){var t=Zi(e.src);t&&(e.type=t)}return e}var nn=function(l){function e(e,t,i){var n,r=Ne({createEl:!1},t);if(n=l.call(this,e,r,i)||this,t.playerOptions.sources&&0!==t.playerOptions.sources.length)e.src(t.playerOptions.sources);else for(var s=0,a=t.playerOptions.techOrder;s<a.length;s++){var o=De(a[s]),u=Vi.getTech(o);if(o||(u=Re.getComponent(o)),u&&u.isSupported()){e.loadTech_(o);break}}return n}return He(e,l),e}(Re);Re.registerComponent(\"MediaLoader\",nn);var rn=function(r){function e(e,t){var i;return(i=r.call(this,e,t)||this).emitTapEvents(),i.enable(),i}He(e,r);var t=e.prototype;return t.createEl=function(e,t,i){void 0===e&&(e=\"div\"),void 0===t&&(t={}),void 0===i&&(i={}),t=m({innerHTML:'<span aria-hidden=\"true\" class=\"vjs-icon-placeholder\"></span>',className:this.buildCSSClass(),tabIndex:0},t),\"button\"===e&&p.error(\"Creating a ClickableComponent with an HTML element of \"+e+\" is not supported; use a Button instead.\"),i=m({role:\"button\"},i),this.tabIndex_=t.tabIndex;var n=r.prototype.createEl.call(this,e,t,i);return this.createControlTextEl(n),n},t.dispose=function(){this.controlTextEl_=null,r.prototype.dispose.call(this)},t.createControlTextEl=function(e){return this.controlTextEl_=S(\"span\",{className:\"vjs-control-text\"},{\"aria-live\":\"polite\"}),e&&e.appendChild(this.controlTextEl_),this.controlText(this.controlText_,e),this.controlTextEl_},t.controlText=function(e,t){if(void 0===t&&(t=this.el()),void 0===e)return this.controlText_||\"Need Text\";var i=this.localize(e);this.controlText_=e,k(this.controlTextEl_,i),this.nonIconControl||t.setAttribute(\"title\",i)},t.buildCSSClass=function(){return\"vjs-control vjs-button \"+r.prototype.buildCSSClass.call(this)},t.enable=function(){this.enabled_||(this.enabled_=!0,this.removeClass(\"vjs-disabled\"),this.el_.setAttribute(\"aria-disabled\",\"false\"),\"undefined\"!=typeof this.tabIndex_&&this.el_.setAttribute(\"tabIndex\",this.tabIndex_),this.on([\"tap\",\"click\"],this.handleClick),this.on(\"keydown\",this.handleKeyDown))},t.disable=function(){this.enabled_=!1,this.addClass(\"vjs-disabled\"),this.el_.setAttribute(\"aria-disabled\",\"true\"),\"undefined\"!=typeof this.tabIndex_&&this.el_.removeAttribute(\"tabIndex\"),this.off(\"mouseover\",this.handleMouseOver),this.off(\"mouseout\",this.handleMouseOut),this.off([\"tap\",\"click\"],this.handleClick),this.off(\"keydown\",this.handleKeyDown)},t.handleClick=function(e){this.options_.clickHandler&&this.options_.clickHandler.call(this,arguments)},t.handleKeyDown=function(e){xt.isEventKey(e,\"Space\")||xt.isEventKey(e,\"Enter\")?(e.preventDefault(),e.stopPropagation(),this.trigger(\"click\")):r.prototype.handleKeyDown.call(this,e)},e}(Re);Re.registerComponent(\"ClickableComponent\",rn);var sn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).update(),e.on(\"posterchange\",ge(Ue(i),i.update)),i}He(e,n);var t=e.prototype;return t.dispose=function(){this.player().off(\"posterchange\",this.update),n.prototype.dispose.call(this)},t.createEl=function(){return S(\"div\",{className:\"vjs-poster\",tabIndex:-1})},t.update=function(e){var t=this.player().poster();this.setSrc(t),t?this.show():this.hide()},t.setSrc=function(e){var t=\"\";e&&(t='url(\"'+e+'\")'),this.el_.style.backgroundImage=t},t.handleClick=function(e){if(this.player_.controls()){var t=this.player_.usingPlugin(\"eme\")&&this.player_.eme.sessions&&0<this.player_.eme.sessions.length;!this.player_.tech(!0)||(et||Qe)&&t||this.player_.tech(!0).focus(),this.player_.paused()?kt(this.player_.play()):this.player_.pause()}},e}(rn);Re.registerComponent(\"PosterImage\",sn);var an=\"#222\",on={monospace:\"monospace\",sansSerif:\"sans-serif\",serif:\"serif\",monospaceSansSerif:'\"Andale Mono\", \"Lucida Console\", monospace',monospaceSerif:'\"Courier New\", monospace',proportionalSansSerif:\"sans-serif\",proportionalSerif:\"serif\",casual:'\"Comic Sans MS\", Impact, fantasy',script:'\"Monotype Corsiva\", cursive',smallcaps:'\"Andale Mono\", \"Lucida Console\", monospace, sans-serif'};function un(e,t){var i;if(4===e.length)i=e[1]+e[1]+e[2]+e[2]+e[3]+e[3];else{if(7!==e.length)throw new Error(\"Invalid color code provided, \"+e+\"; must be formatted as e.g. #f0e or #f604e2.\");i=e.slice(1)}return\"rgba(\"+parseInt(i.slice(0,2),16)+\",\"+parseInt(i.slice(2,4),16)+\",\"+parseInt(i.slice(4,6),16)+\",\"+t+\")\"}function ln(e,t,i){try{e.style[t]=i}catch(e){return}}var cn=function(s){function e(i,e,t){var n;n=s.call(this,i,e,t)||this;var r=ge(Ue(n),n.updateDisplay);return i.on(\"loadstart\",ge(Ue(n),n.toggleDisplay)),i.on(\"texttrackchange\",r),i.on(\"loadedmetadata\",ge(Ue(n),n.preselectTrack)),i.ready(ge(Ue(n),function(){if(i.tech_&&i.tech_.featuresNativeTextTracks)this.hide();else{i.on(\"fullscreenchange\",r),i.on(\"playerresize\",r),y.addEventListener(\"orientationchange\",r),i.on(\"dispose\",function(){return y.removeEventListener(\"orientationchange\",r)});for(var e=this.options_.playerOptions.tracks||[],t=0;t<e.length;t++)this.player_.addRemoteTextTrack(e[t],!0);this.preselectTrack()}})),n}He(e,s);var t=e.prototype;return t.preselectTrack=function(){for(var e,t,i,n={captions:1,subtitles:1},r=this.player_.textTracks(),s=this.player_.cache_.selectedLanguage,a=0;a<r.length;a++){var o=r[a];s&&s.enabled&&s.language&&s.language===o.language&&o.kind in n?i=o.kind===s.kind?o:i||o:s&&!s.enabled?t=e=i=null:o.default&&(\"descriptions\"!==o.kind||e?o.kind in n&&!t&&(t=o):e=o)}i?i.mode=\"showing\":t?t.mode=\"showing\":e&&(e.mode=\"showing\")},t.toggleDisplay=function(){this.player_.tech_&&this.player_.tech_.featuresNativeTextTracks?this.hide():this.show()},t.createEl=function(){return s.prototype.createEl.call(this,\"div\",{className:\"vjs-text-track-display\"},{\"aria-live\":\"off\",\"aria-atomic\":\"true\"})},t.clearDisplay=function(){\"function\"==typeof y.WebVTT&&y.WebVTT.processCues(y,[],this.el_)},t.updateDisplay=function(){var e=this.player_.textTracks(),t=this.options_.allowMultipleShowingTracks;if(this.clearDisplay(),t){for(var i=[],n=0;n<e.length;++n){var r=e[n];\"showing\"===r.mode&&i.push(r)}this.updateForTrack(i)}else{for(var s=null,a=null,o=e.length;o--;){var u=e[o];\"showing\"===u.mode&&(\"descriptions\"===u.kind?s=u:a=u)}a?(\"off\"!==this.getAttribute(\"aria-live\")&&this.setAttribute(\"aria-live\",\"off\"),this.updateForTrack(a)):s&&(\"assertive\"!==this.getAttribute(\"aria-live\")&&this.setAttribute(\"aria-live\",\"assertive\"),this.updateForTrack(s))}},t.updateDisplayState=function(e){for(var t=this.player_.textTrackSettings.getValues(),i=e.activeCues,n=i.length;n--;){var r=i[n];if(r){var s=r.displayState;if(t.color&&(s.firstChild.style.color=t.color),t.textOpacity&&ln(s.firstChild,\"color\",un(t.color||\"#fff\",t.textOpacity)),t.backgroundColor&&(s.firstChild.style.backgroundColor=t.backgroundColor),t.backgroundOpacity&&ln(s.firstChild,\"backgroundColor\",un(t.backgroundColor||\"#000\",t.backgroundOpacity)),t.windowColor&&(t.windowOpacity?ln(s,\"backgroundColor\",un(t.windowColor,t.windowOpacity)):s.style.backgroundColor=t.windowColor),t.edgeStyle&&(\"dropshadow\"===t.edgeStyle?s.firstChild.style.textShadow=\"2px 2px 3px #222, 2px 2px 4px #222, 2px 2px 5px \"+an:\"raised\"===t.edgeStyle?s.firstChild.style.textShadow=\"1px 1px #222, 2px 2px #222, 3px 3px \"+an:\"depressed\"===t.edgeStyle?s.firstChild.style.textShadow=\"1px 1px #ccc, 0 1px #ccc, -1px -1px #222, 0 -1px \"+an:\"uniform\"===t.edgeStyle&&(s.firstChild.style.textShadow=\"0 0 4px #222, 0 0 4px #222, 0 0 4px #222, 0 0 4px \"+an)),t.fontPercent&&1!==t.fontPercent){var a=y.parseFloat(s.style.fontSize);s.style.fontSize=a*t.fontPercent+\"px\",s.style.height=\"auto\",s.style.top=\"auto\",s.style.bottom=\"2px\"}t.fontFamily&&\"default\"!==t.fontFamily&&(\"small-caps\"===t.fontFamily?s.firstChild.style.fontVariant=\"small-caps\":s.firstChild.style.fontFamily=on[t.fontFamily])}}},t.updateForTrack=function(e){if(Array.isArray(e)||(e=[e]),\"function\"==typeof y.WebVTT&&!e.every(function(e){return!e.activeCues})){for(var t=[],i=0;i<e.length;++i)for(var n=e[i],r=0;r<n.activeCues.length;++r)t.push(n.activeCues[r]);y.WebVTT.processCues(y,t,this.el_);for(var s=0;s<e.length;++s){for(var a=e[s],o=0;o<a.activeCues.length;++o){var u=a.activeCues[o].displayState;E(u,\"vjs-text-track-cue\"),E(u,\"vjs-text-track-cue-\"+(a.language?a.language:s))}this.player_.textTrackSettings&&this.updateDisplayState(a)}}},e}(Re);Re.registerComponent(\"TextTrackDisplay\",cn);var hn=function(r){function e(){return r.apply(this,arguments)||this}return He(e,r),e.prototype.createEl=function(){var e=this.player_.isAudio(),t=this.localize(e?\"Audio Player\":\"Video Player\"),i=S(\"span\",{className:\"vjs-control-text\",innerHTML:this.localize(\"{1} is loading.\",[t])}),n=r.prototype.createEl.call(this,\"div\",{className:\"vjs-loading-spinner\",dir:\"ltr\"});return n.appendChild(i),n},e}(Re);Re.registerComponent(\"LoadingSpinner\",hn);var dn=function(t){function e(){return t.apply(this,arguments)||this}He(e,t);var i=e.prototype;return i.createEl=function(e,t,i){void 0===t&&(t={}),void 0===i&&(i={}),t=m({innerHTML:'<span aria-hidden=\"true\" class=\"vjs-icon-placeholder\"></span>',className:this.buildCSSClass()},t),i=m({type:\"button\"},i);var n=Re.prototype.createEl.call(this,\"button\",t,i);return this.createControlTextEl(n),n},i.addChild=function(e,t){void 0===t&&(t={});var i=this.constructor.name;return p.warn(\"Adding an actionable (user controllable) child to a Button (\"+i+\") is not supported; use a ClickableComponent instead.\"),Re.prototype.addChild.call(this,e,t)},i.enable=function(){t.prototype.enable.call(this),this.el_.removeAttribute(\"disabled\")},i.disable=function(){t.prototype.disable.call(this),this.el_.setAttribute(\"disabled\",\"disabled\")},i.handleKeyDown=function(e){xt.isEventKey(e,\"Space\")||xt.isEventKey(e,\"Enter\")?e.stopPropagation():t.prototype.handleKeyDown.call(this,e)},e}(rn);Re.registerComponent(\"Button\",dn);var pn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).mouseused_=!1,i.on(\"mousedown\",i.handleMouseDown),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-big-play-button\"},t.handleClick=function(e){var t=this.player_.play();if(this.mouseused_&&e.clientX&&e.clientY){var i=this.player_.usingPlugin(\"eme\")&&this.player_.eme.sessions&&0<this.player_.eme.sessions.length;return kt(t),void(!this.player_.tech(!0)||(et||Qe)&&i||this.player_.tech(!0).focus())}var n=this.player_.getChild(\"controlBar\"),r=n&&n.getChild(\"playToggle\");if(r){var s=function(){return r.focus()};St(t)?t.then(s,function(){}):this.setTimeout(s,1)}else this.player_.tech(!0).focus()},t.handleKeyDown=function(e){this.mouseused_=!1,n.prototype.handleKeyDown.call(this,e)},t.handleMouseDown=function(e){this.mouseused_=!0},e}(dn);pn.prototype.controlText_=\"Play Video\",Re.registerComponent(\"BigPlayButton\",pn);var fn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).controlText(t&&t.controlText||i.localize(\"Close\")),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-close-button \"+n.prototype.buildCSSClass.call(this)},t.handleClick=function(e){this.trigger({type:\"close\",bubbles:!1})},t.handleKeyDown=function(e){xt.isEventKey(e,\"Esc\")?(e.preventDefault(),e.stopPropagation(),this.trigger(\"click\")):n.prototype.handleKeyDown.call(this,e)},e}(dn);Re.registerComponent(\"CloseButton\",fn);var mn=function(n){function e(e,t){var i;return void 0===t&&(t={}),i=n.call(this,e,t)||this,t.replay=void 0===t.replay||t.replay,i.on(e,\"play\",i.handlePlay),i.on(e,\"pause\",i.handlePause),t.replay&&i.on(e,\"ended\",i.handleEnded),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-play-control \"+n.prototype.buildCSSClass.call(this)},t.handleClick=function(e){this.player_.paused()?this.player_.play():this.player_.pause()},t.handleSeeked=function(e){this.removeClass(\"vjs-ended\"),this.player_.paused()?this.handlePause(e):this.handlePlay(e)},t.handlePlay=function(e){this.removeClass(\"vjs-ended\"),this.removeClass(\"vjs-paused\"),this.addClass(\"vjs-playing\"),this.controlText(\"Pause\")},t.handlePause=function(e){this.removeClass(\"vjs-playing\"),this.addClass(\"vjs-paused\"),this.controlText(\"Play\")},t.handleEnded=function(e){this.removeClass(\"vjs-playing\"),this.addClass(\"vjs-ended\"),this.controlText(\"Replay\"),this.one(this.player_,\"seeked\",this.handleSeeked)},e}(dn);mn.prototype.controlText_=\"Play\",Re.registerComponent(\"PlayToggle\",mn);function gn(e,t){e=e<0?0:e;var i=Math.floor(e%60),n=Math.floor(e/60%60),r=Math.floor(e/3600),s=Math.floor(t/60%60),a=Math.floor(t/3600);return!isNaN(e)&&e!==1/0||(r=n=i=\"-\"),(r=0<r||0<a?r+\":\":\"\")+(n=((r||10<=s)&&n<10?\"0\"+n:n)+\":\")+(i=i<10?\"0\"+i:i)}var vn=gn;function yn(e,t){return void 0===t&&(t=e),vn(e,t)}var _n=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,[\"timeupdate\",\"ended\"],i.updateContent),i.updateTextNode_(),i}He(e,n);var t=e.prototype;return t.createEl=function(){var e=this.buildCSSClass(),t=n.prototype.createEl.call(this,\"div\",{className:e+\" vjs-time-control vjs-control\",innerHTML:'<span class=\"vjs-control-text\" role=\"presentation\">'+this.localize(this.labelText_)+\" </span>\"});return this.contentEl_=S(\"span\",{className:e+\"-display\"},{\"aria-live\":\"off\",role:\"presentation\"}),t.appendChild(this.contentEl_),t},t.dispose=function(){this.contentEl_=null,this.textNode_=null,n.prototype.dispose.call(this)},t.updateTextNode_=function(e){var t=this;void 0===e&&(e=0),e=yn(e),this.formattedTime_!==e&&(this.formattedTime_=e,this.requestAnimationFrame(function(){if(t.contentEl_){var e=t.textNode_;t.textNode_=h.createTextNode(t.formattedTime_),t.textNode_&&(e?t.contentEl_.replaceChild(t.textNode_,e):t.contentEl_.appendChild(t.textNode_))}}))},t.updateContent=function(e){},e}(Re);_n.prototype.labelText_=\"Time\",_n.prototype.controlText_=\"Time\",Re.registerComponent(\"TimeDisplay\",_n);var bn=function(e){function t(){return e.apply(this,arguments)||this}He(t,e);var i=t.prototype;return i.buildCSSClass=function(){return\"vjs-current-time\"},i.updateContent=function(e){var t;t=this.player_.ended()?this.player_.duration():this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime(),this.updateTextNode_(t)},t}(_n);bn.prototype.labelText_=\"Current Time\",bn.prototype.controlText_=\"Current Time\",Re.registerComponent(\"CurrentTimeDisplay\",bn);var Tn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,\"durationchange\",i.updateContent),i.on(e,\"loadstart\",i.updateContent),i.on(e,\"loadedmetadata\",i.updateContent),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-duration\"},t.updateContent=function(e){var t=this.player_.duration();this.updateTextNode_(t)},e}(_n);Tn.prototype.labelText_=\"Duration\",Tn.prototype.controlText_=\"Duration\",Re.registerComponent(\"DurationDisplay\",Tn);var Sn=function(e){function t(){return e.apply(this,arguments)||this}return He(t,e),t.prototype.createEl=function(){return e.prototype.createEl.call(this,\"div\",{className:\"vjs-time-control vjs-time-divider\",innerHTML:\"<div><span>/</span></div>\"},{\"aria-hidden\":!0})},t}(Re);Re.registerComponent(\"TimeDivider\",Sn);var kn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,\"durationchange\",i.updateContent),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-remaining-time\"},t.createEl=function(){var e=n.prototype.createEl.call(this);return e.insertBefore(S(\"span\",{},{\"aria-hidden\":!0},\"-\"),this.contentEl_),e},t.updateContent=function(e){var t;\"number\"==typeof this.player_.duration()&&(t=this.player_.ended()?0:this.player_.remainingTimeDisplay?this.player_.remainingTimeDisplay():this.player_.remainingTime(),this.updateTextNode_(t))},e}(_n);kn.prototype.labelText_=\"Remaining Time\",kn.prototype.controlText_=\"Remaining Time\",Re.registerComponent(\"RemainingTimeDisplay\",kn);var Cn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).updateShowing(),i.on(i.player(),\"durationchange\",i.updateShowing),i}He(e,n);var t=e.prototype;return t.createEl=function(){var e=n.prototype.createEl.call(this,\"div\",{className:\"vjs-live-control vjs-control\"});return this.contentEl_=S(\"div\",{className:\"vjs-live-display\",innerHTML:'<span class=\"vjs-control-text\">'+this.localize(\"Stream Type\")+\" </span>\"+this.localize(\"LIVE\")},{\"aria-live\":\"off\"}),e.appendChild(this.contentEl_),e},t.dispose=function(){this.contentEl_=null,n.prototype.dispose.call(this)},t.updateShowing=function(e){this.player().duration()===1/0?this.show():this.hide()},e}(Re);Re.registerComponent(\"LiveDisplay\",Cn);var wn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).updateLiveEdgeStatus(),i.player_.liveTracker&&i.on(i.player_.liveTracker,\"liveedgechange\",i.updateLiveEdgeStatus),i}He(e,n);var t=e.prototype;return t.createEl=function(){var e=n.prototype.createEl.call(this,\"button\",{className:\"vjs-seek-to-live-control vjs-control\"});return this.textEl_=S(\"span\",{className:\"vjs-seek-to-live-text\",innerHTML:this.localize(\"LIVE\")},{\"aria-hidden\":\"true\"}),e.appendChild(this.textEl_),e},t.updateLiveEdgeStatus=function(){!this.player_.liveTracker||this.player_.liveTracker.atLiveEdge()?(this.setAttribute(\"aria-disabled\",!0),this.addClass(\"vjs-at-live-edge\"),this.controlText(\"Seek to live, currently playing live\")):(this.setAttribute(\"aria-disabled\",!1),this.removeClass(\"vjs-at-live-edge\"),this.controlText(\"Seek to live, currently behind live\"))},t.handleClick=function(){this.player_.liveTracker.seekToLiveEdge()},t.dispose=function(){this.player_.liveTracker&&this.off(this.player_.liveTracker,\"liveedgechange\",this.updateLiveEdgeStatus),this.textEl_=null,n.prototype.dispose.call(this)},e}(dn);wn.prototype.controlText_=\"Seek to live, currently playing live\",Re.registerComponent(\"SeekToLive\",wn);function En(e,t,i){return e=Number(e),Math.min(i,Math.max(t,isNaN(e)?t:e))}var xn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).bar=i.getChild(i.options_.barName),i.vertical(!!i.options_.vertical),i.enable(),i}He(e,n);var t=e.prototype;return t.enabled=function(){return this.enabled_},t.enable=function(){this.enabled()||(this.on(\"mousedown\",this.handleMouseDown),this.on(\"touchstart\",this.handleMouseDown),this.on(\"keydown\",this.handleKeyDown),this.on(\"click\",this.handleClick),this.on(this.player_,\"controlsvisible\",this.update),this.playerEvent&&this.on(this.player_,this.playerEvent,this.update),this.removeClass(\"disabled\"),this.setAttribute(\"tabindex\",0),this.enabled_=!0)},t.disable=function(){if(this.enabled()){var e=this.bar.el_.ownerDocument;this.off(\"mousedown\",this.handleMouseDown),this.off(\"touchstart\",this.handleMouseDown),this.off(\"keydown\",this.handleKeyDown),this.off(\"click\",this.handleClick),this.off(this.player_,\"controlsvisible\",this.update),this.off(e,\"mousemove\",this.handleMouseMove),this.off(e,\"mouseup\",this.handleMouseUp),this.off(e,\"touchmove\",this.handleMouseMove),this.off(e,\"touchend\",this.handleMouseUp),this.removeAttribute(\"tabindex\"),this.addClass(\"disabled\"),this.playerEvent&&this.off(this.player_,this.playerEvent,this.update),this.enabled_=!1}},t.createEl=function(e,t,i){return void 0===t&&(t={}),void 0===i&&(i={}),t.className=t.className+\" vjs-slider\",t=m({tabIndex:0},t),i=m({role:\"slider\",\"aria-valuenow\":0,\"aria-valuemin\":0,\"aria-valuemax\":100,tabIndex:0},i),n.prototype.createEl.call(this,e,t,i)},t.handleMouseDown=function(e){var t=this.bar.el_.ownerDocument;\"mousedown\"===e.type&&e.preventDefault(),\"touchstart\"!==e.type||Je||e.preventDefault(),N(),this.addClass(\"vjs-sliding\"),this.trigger(\"slideractive\"),this.on(t,\"mousemove\",this.handleMouseMove),this.on(t,\"mouseup\",this.handleMouseUp),this.on(t,\"touchmove\",this.handleMouseMove),this.on(t,\"touchend\",this.handleMouseUp),this.handleMouseMove(e)},t.handleMouseMove=function(e){},t.handleMouseUp=function(){var e=this.bar.el_.ownerDocument;R(),this.removeClass(\"vjs-sliding\"),this.trigger(\"sliderinactive\"),this.off(e,\"mousemove\",this.handleMouseMove),this.off(e,\"mouseup\",this.handleMouseUp),this.off(e,\"touchmove\",this.handleMouseMove),this.off(e,\"touchend\",this.handleMouseUp),this.update()},t.update=function(){var t=this;if(this.el_&&this.bar){var i=this.getProgress();return i===this.progress_||(this.progress_=i,this.requestAnimationFrame(function(){var e=t.vertical()?\"height\":\"width\";t.bar.el().style[e]=(100*i).toFixed(2)+\"%\"})),i}},t.getProgress=function(){return Number(En(this.getPercent(),0,1).toFixed(4))},t.calculateDistance=function(e){var t=B(this.el_,e);return this.vertical()?t.y:t.x},t.handleKeyDown=function(e){xt.isEventKey(e,\"Left\")||xt.isEventKey(e,\"Down\")?(e.preventDefault(),e.stopPropagation(),this.stepBack()):xt.isEventKey(e,\"Right\")||xt.isEventKey(e,\"Up\")?(e.preventDefault(),e.stopPropagation(),this.stepForward()):n.prototype.handleKeyDown.call(this,e)},t.handleClick=function(e){e.stopPropagation(),e.preventDefault()},t.vertical=function(e){if(void 0===e)return this.vertical_||!1;this.vertical_=!!e,this.vertical_?this.addClass(\"vjs-slider-vertical\"):this.addClass(\"vjs-slider-horizontal\")},e}(Re);Re.registerComponent(\"Slider\",xn);function An(e,t){return En(e/t*100,0,100).toFixed(2)+\"%\"}var In=function(r){function e(e,t){var i;return(i=r.call(this,e,t)||this).partEls_=[],i.on(e,\"progress\",i.update),i}He(e,r);var t=e.prototype;return t.createEl=function(){var e=r.prototype.createEl.call(this,\"div\",{className:\"vjs-load-progress\"}),t=S(\"span\",{className:\"vjs-control-text\"}),i=S(\"span\",{textContent:this.localize(\"Loaded\")}),n=h.createTextNode(\": \");return this.percentageEl_=S(\"span\",{className:\"vjs-control-text-loaded-percentage\",textContent:\"0%\"}),e.appendChild(t),t.appendChild(i),t.appendChild(n),t.appendChild(this.percentageEl_),e},t.dispose=function(){this.partEls_=null,this.percentageEl_=null,r.prototype.dispose.call(this)},t.update=function(e){var h=this;this.requestAnimationFrame(function(){var e=h.player_.liveTracker,t=h.player_.buffered(),i=e&&e.isLive()?e.seekableEnd():h.player_.duration(),n=h.player_.bufferedEnd(),r=h.partEls_,s=An(n,i);h.percent_!==s&&(h.el_.style.width=s,k(h.percentageEl_,s),h.percent_=s);for(var a=0;a<t.length;a++){var o=t.start(a),u=t.end(a),l=r[a];l||(l=h.el_.appendChild(S()),r[a]=l),l.dataset.start===o&&l.dataset.end===u||(l.dataset.start=o,l.dataset.end=u,l.style.left=An(o,n),l.style.width=An(u-o,n))}for(var c=r.length;c>t.length;c--)h.el_.removeChild(r[c-1]);r.length=t.length})},e}(Re);Re.registerComponent(\"LoadProgressBar\",In);var Pn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).update=ve(ge(Ue(i),i.update),30),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:\"vjs-time-tooltip\"},{\"aria-hidden\":\"true\"})},t.update=function(e,t,i){var n=U(this.el_),r=U(this.player_.el()),s=e.width*t;if(r&&n){var a=e.left-r.left+s,o=e.width-s+(r.right-e.right),u=n.width/2;a<u?u+=u-a:o<u&&(u=o),u<0?u=0:u>n.width&&(u=n.width),this.el_.style.right=\"-\"+u+\"px\",this.write(i)}},t.write=function(e){k(this.el_,e)},t.updateTime=function(r,s,a,o){var u=this;this.rafId_&&this.cancelAnimationFrame(this.rafId_),this.rafId_=this.requestAnimationFrame(function(){var e,t=u.player_.duration();if(u.player_.liveTracker&&u.player_.liveTracker.isLive()){var i=u.player_.liveTracker.liveWindow(),n=i-s*i;e=(n<1?\"\":\"-\")+yn(n,i)}else e=yn(a,t);u.update(r,s,e),o&&o()})},e}(Re);Re.registerComponent(\"TimeTooltip\",Pn);var Ln=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).update=ve(ge(Ue(i),i.update),30),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:\"vjs-play-progress vjs-slider-bar\"},{\"aria-hidden\":\"true\"})},t.update=function(e,t){var i=this.getChild(\"timeTooltip\");if(i){var n=this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime();i.updateTime(e,t,n)}},e}(Re);Ln.prototype.options_={children:[]},at||Xe||Ln.prototype.options_.children.push(\"timeTooltip\"),Re.registerComponent(\"PlayProgressBar\",Ln);var On=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).update=ve(ge(Ue(i),i.update),30),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:\"vjs-mouse-display\"})},t.update=function(e,t){var i=this,n=t*this.player_.duration();this.getChild(\"timeTooltip\").updateTime(e,t,n,function(){i.el_.style.left=e.width*t+\"px\"})},e}(Re);On.prototype.options_={children:[\"timeTooltip\"]},Re.registerComponent(\"MouseTimeDisplay\",On);var Dn=function(s){function e(e,t){var i;return(i=s.call(this,e,t)||this).setEventHandlers_(),i}He(e,s);var t=e.prototype;return t.setEventHandlers_=function(){this.update_=ge(this,this.update),this.update=ve(this.update_,30),this.on(this.player_,[\"ended\",\"durationchange\",\"timeupdate\"],this.update),this.player_.liveTracker&&this.on(this.player_.liveTracker,\"liveedgechange\",this.update),this.updateInterval=null,this.on(this.player_,[\"playing\"],this.enableInterval_),this.on(this.player_,[\"ended\",\"pause\",\"waiting\"],this.disableInterval_),\"hidden\"in h&&\"visibilityState\"in h&&this.on(h,\"visibilitychange\",this.toggleVisibility_)},t.toggleVisibility_=function(e){h.hidden?this.disableInterval_(e):(this.enableInterval_(),this.update())},t.enableInterval_=function(){this.updateInterval||(this.updateInterval=this.setInterval(this.update,30))},t.disableInterval_=function(e){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&e&&\"ended\"!==e.type||this.updateInterval&&(this.clearInterval(this.updateInterval),this.updateInterval=null)},t.createEl=function(){return s.prototype.createEl.call(this,\"div\",{className:\"vjs-progress-holder\"},{\"aria-label\":this.localize(\"Progress Bar\")})},t.update=function(e){var n=this,r=s.prototype.update.call(this);return this.requestAnimationFrame(function(){var e=n.player_.ended()?n.player_.duration():n.getCurrentTime_(),t=n.player_.liveTracker,i=n.player_.duration();t&&t.isLive()&&(i=n.player_.liveTracker.liveCurrentTime()),n.percent_!==r&&(n.el_.setAttribute(\"aria-valuenow\",(100*r).toFixed(2)),n.percent_=r),n.currentTime_===e&&n.duration_===i||(n.el_.setAttribute(\"aria-valuetext\",n.localize(\"progress bar timing: currentTime={1} duration={2}\",[yn(e,i),yn(i,i)],\"{1} of {2}\")),n.currentTime_=e,n.duration_=i),n.bar&&n.bar.update(U(n.el()),n.getProgress())}),r},t.getCurrentTime_=function(){return this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime()},t.getPercent=function(){var e,t=this.getCurrentTime_(),i=this.player_.liveTracker;return i&&i.isLive()?(e=(t-i.seekableStart())/i.liveWindow(),i.atLiveEdge()&&(e=1)):e=t/this.player_.duration(),e},t.handleMouseDown=function(e){W(e)&&(e.stopPropagation(),this.player_.scrubbing(!0),this.videoWasPlaying=!this.player_.paused(),this.player_.pause(),s.prototype.handleMouseDown.call(this,e))},t.handleMouseMove=function(e){if(W(e)){var t,i=this.calculateDistance(e),n=this.player_.liveTracker;if(n&&n.isLive()){if(.99<=i)return void n.seekToLiveEdge();var r=n.seekableStart(),s=n.liveCurrentTime();if(s<=(t=r+i*n.liveWindow())&&(t=s),t<=r&&(t=r+.1),t===1/0)return}else(t=i*this.player_.duration())===this.player_.duration()&&(t-=.1);this.player_.currentTime(t)}},t.enable=function(){s.prototype.enable.call(this);var e=this.getChild(\"mouseTimeDisplay\");e&&e.show()},t.disable=function(){s.prototype.disable.call(this);var e=this.getChild(\"mouseTimeDisplay\");e&&e.hide()},t.handleMouseUp=function(e){s.prototype.handleMouseUp.call(this,e),e&&e.stopPropagation(),this.player_.scrubbing(!1),this.player_.trigger({type:\"timeupdate\",target:this,manuallyTriggered:!0}),this.videoWasPlaying?kt(this.player_.play()):this.update_()},t.stepForward=function(){this.player_.currentTime(this.player_.currentTime()+5)},t.stepBack=function(){this.player_.currentTime(this.player_.currentTime()-5)},t.handleAction=function(e){this.player_.paused()?this.player_.play():this.player_.pause()},t.handleKeyDown=function(e){if(xt.isEventKey(e,\"Space\")||xt.isEventKey(e,\"Enter\"))e.preventDefault(),e.stopPropagation(),this.handleAction(e);else if(xt.isEventKey(e,\"Home\"))e.preventDefault(),e.stopPropagation(),this.player_.currentTime(0);else if(xt.isEventKey(e,\"End\"))e.preventDefault(),e.stopPropagation(),this.player_.currentTime(this.player_.duration());else if(/^[0-9]$/.test(xt(e))){e.preventDefault(),e.stopPropagation();var t=10*(xt.codes[xt(e)]-xt.codes[0])/100;this.player_.currentTime(this.player_.duration()*t)}else xt.isEventKey(e,\"PgDn\")?(e.preventDefault(),e.stopPropagation(),this.player_.currentTime(this.player_.currentTime()-60)):xt.isEventKey(e,\"PgUp\")?(e.preventDefault(),e.stopPropagation(),this.player_.currentTime(this.player_.currentTime()+60)):s.prototype.handleKeyDown.call(this,e)},t.dispose=function(){this.disableInterval_(),this.off(this.player_,[\"ended\",\"durationchange\",\"timeupdate\"],this.update),this.player_.liveTracker&&this.on(this.player_.liveTracker,\"liveedgechange\",this.update),this.off(this.player_,[\"playing\"],this.enableInterval_),this.off(this.player_,[\"ended\",\"pause\",\"waiting\"],this.disableInterval_),\"hidden\"in h&&\"visibilityState\"in h&&this.off(h,\"visibilitychange\",this.toggleVisibility_),s.prototype.dispose.call(this)},e}(xn);Dn.prototype.options_={children:[\"loadProgressBar\",\"playProgressBar\"],barName:\"playProgressBar\"},at||Xe||Dn.prototype.options_.children.splice(1,0,\"mouseTimeDisplay\"),Re.registerComponent(\"SeekBar\",Dn);var Nn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).handleMouseMove=ve(ge(Ue(i),i.handleMouseMove),30),i.throttledHandleMouseSeek=ve(ge(Ue(i),i.handleMouseSeek),30),i.enable(),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:\"vjs-progress-control vjs-control\"})},t.handleMouseMove=function(e){var t=this.getChild(\"seekBar\");if(t){var i=t.getChild(\"playProgressBar\"),n=t.getChild(\"mouseTimeDisplay\");if(i||n){var r=t.el(),s=U(r),a=B(r,e).x;a=En(0,1,a),n&&n.update(s,a),i&&i.update(s,t.getProgress())}}},t.handleMouseSeek=function(e){var t=this.getChild(\"seekBar\");t&&t.handleMouseMove(e)},t.enabled=function(){return this.enabled_},t.disable=function(){this.children().forEach(function(e){return e.disable&&e.disable()}),this.enabled()&&(this.off([\"mousedown\",\"touchstart\"],this.handleMouseDown),this.off(this.el_,\"mousemove\",this.handleMouseMove),this.handleMouseUp(),this.addClass(\"disabled\"),this.enabled_=!1)},t.enable=function(){this.children().forEach(function(e){return e.enable&&e.enable()}),this.enabled()||(this.on([\"mousedown\",\"touchstart\"],this.handleMouseDown),this.on(this.el_,\"mousemove\",this.handleMouseMove),this.removeClass(\"disabled\"),this.enabled_=!0)},t.handleMouseDown=function(e){var t=this.el_.ownerDocument,i=this.getChild(\"seekBar\");i&&i.handleMouseDown(e),this.on(t,\"mousemove\",this.throttledHandleMouseSeek),this.on(t,\"touchmove\",this.throttledHandleMouseSeek),this.on(t,\"mouseup\",this.handleMouseUp),this.on(t,\"touchend\",this.handleMouseUp)},t.handleMouseUp=function(e){var t=this.el_.ownerDocument,i=this.getChild(\"seekBar\");i&&i.handleMouseUp(e),this.off(t,\"mousemove\",this.throttledHandleMouseSeek),this.off(t,\"touchmove\",this.throttledHandleMouseSeek),this.off(t,\"mouseup\",this.handleMouseUp),this.off(t,\"touchend\",this.handleMouseUp)},e}(Re);Nn.prototype.options_={children:[\"seekBar\"]},Re.registerComponent(\"ProgressControl\",Nn);var Rn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,[\"enterpictureinpicture\",\"leavepictureinpicture\"],i.handlePictureInPictureChange),h.pictureInPictureEnabled||i.disable(),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-picture-in-picture-control \"+n.prototype.buildCSSClass.call(this)},t.handlePictureInPictureChange=function(e){this.player_.isInPictureInPicture()?this.controlText(\"Exit Picture-in-Picture\"):this.controlText(\"Picture-in-Picture\")},t.handleClick=function(e){this.player_.isInPictureInPicture()?this.player_.exitPictureInPicture():this.player_.requestPictureInPicture()},e}(dn);Rn.prototype.controlText_=\"Picture-in-Picture\",Re.registerComponent(\"PictureInPictureToggle\",Rn);var Un=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,\"fullscreenchange\",i.handleFullscreenChange),!1===h[e.fsApi_.fullscreenEnabled]&&i.disable(),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-fullscreen-control \"+n.prototype.buildCSSClass.call(this)},t.handleFullscreenChange=function(e){this.player_.isFullscreen()?this.controlText(\"Non-Fullscreen\"):this.controlText(\"Fullscreen\")},t.handleClick=function(e){this.player_.isFullscreen()?this.player_.exitFullscreen():this.player_.requestFullscreen()},e}(dn);Un.prototype.controlText_=\"Fullscreen\",Re.registerComponent(\"FullscreenToggle\",Un);var Mn=function(e){function t(){return e.apply(this,arguments)||this}return He(t,e),t.prototype.createEl=function(){return e.prototype.createEl.call(this,\"div\",{className:\"vjs-volume-level\",innerHTML:'<span class=\"vjs-control-text\"></span>'})},t}(Re);Re.registerComponent(\"VolumeLevel\",Mn);var Bn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(\"slideractive\",i.updateLastVolume_),i.on(e,\"volumechange\",i.updateARIAAttributes),e.ready(function(){return i.updateARIAAttributes()}),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:\"vjs-volume-bar vjs-slider-bar\"},{\"aria-label\":this.localize(\"Volume Level\"),\"aria-live\":\"polite\"})},t.handleMouseDown=function(e){W(e)&&n.prototype.handleMouseDown.call(this,e)},t.handleMouseMove=function(e){W(e)&&(this.checkMuted(),this.player_.volume(this.calculateDistance(e)))},t.checkMuted=function(){this.player_.muted()&&this.player_.muted(!1)},t.getPercent=function(){return this.player_.muted()?0:this.player_.volume()},t.stepForward=function(){this.checkMuted(),this.player_.volume(this.player_.volume()+.1)},t.stepBack=function(){this.checkMuted(),this.player_.volume(this.player_.volume()-.1)},t.updateARIAAttributes=function(e){var t=this.player_.muted()?0:this.volumeAsPercentage_();this.el_.setAttribute(\"aria-valuenow\",t),this.el_.setAttribute(\"aria-valuetext\",t+\"%\")},t.volumeAsPercentage_=function(){return Math.round(100*this.player_.volume())},t.updateLastVolume_=function(){var e=this,t=this.player_.volume();this.one(\"sliderinactive\",function(){0===e.player_.volume()&&e.player_.lastVolume_(t)})},e}(xn);Bn.prototype.options_={children:[\"volumeLevel\"],barName:\"volumeLevel\"},Bn.prototype.playerEvent=\"volumechange\",Re.registerComponent(\"VolumeBar\",Bn);var jn=function(n){function e(e,t){var i;return void 0===t&&(t={}),t.vertical=t.vertical||!1,\"undefined\"!=typeof t.volumeBar&&!u(t.volumeBar)||(t.volumeBar=t.volumeBar||{},t.volumeBar.vertical=t.vertical),i=n.call(this,e,t)||this,function(e,t){t.tech_&&!t.tech_.featuresVolumeControl&&e.addClass(\"vjs-hidden\"),e.on(t,\"loadstart\",function(){t.tech_.featuresVolumeControl?e.removeClass(\"vjs-hidden\"):e.addClass(\"vjs-hidden\")})}(Ue(i),e),i.throttledHandleMouseMove=ve(ge(Ue(i),i.handleMouseMove),30),i.on(\"mousedown\",i.handleMouseDown),i.on(\"touchstart\",i.handleMouseDown),i.on(i.volumeBar,[\"focus\",\"slideractive\"],function(){i.volumeBar.addClass(\"vjs-slider-active\"),i.addClass(\"vjs-slider-active\"),i.trigger(\"slideractive\")}),i.on(i.volumeBar,[\"blur\",\"sliderinactive\"],function(){i.volumeBar.removeClass(\"vjs-slider-active\"),i.removeClass(\"vjs-slider-active\"),i.trigger(\"sliderinactive\")}),i}He(e,n);var t=e.prototype;return t.createEl=function(){var e=\"vjs-volume-horizontal\";return this.options_.vertical&&(e=\"vjs-volume-vertical\"),n.prototype.createEl.call(this,\"div\",{className:\"vjs-volume-control vjs-control \"+e})},t.handleMouseDown=function(e){var t=this.el_.ownerDocument;this.on(t,\"mousemove\",this.throttledHandleMouseMove),this.on(t,\"touchmove\",this.throttledHandleMouseMove),this.on(t,\"mouseup\",this.handleMouseUp),this.on(t,\"touchend\",this.handleMouseUp)},t.handleMouseUp=function(e){var t=this.el_.ownerDocument;this.off(t,\"mousemove\",this.throttledHandleMouseMove),this.off(t,\"touchmove\",this.throttledHandleMouseMove),this.off(t,\"mouseup\",this.handleMouseUp),this.off(t,\"touchend\",this.handleMouseUp)},t.handleMouseMove=function(e){this.volumeBar.handleMouseMove(e)},e}(Re);jn.prototype.options_={children:[\"volumeBar\"]},Re.registerComponent(\"VolumeControl\",jn);var Fn=function(n){function e(e,t){var i;return i=n.call(this,e,t)||this,function(e,t){t.tech_&&!t.tech_.featuresMuteControl&&e.addClass(\"vjs-hidden\"),e.on(t,\"loadstart\",function(){t.tech_.featuresMuteControl?e.removeClass(\"vjs-hidden\"):e.addClass(\"vjs-hidden\")})}(Ue(i),e),i.on(e,[\"loadstart\",\"volumechange\"],i.update),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-mute-control \"+n.prototype.buildCSSClass.call(this)},t.handleClick=function(e){var t=this.player_.volume(),i=this.player_.lastVolume_();if(0===t){var n=i<.1?.1:i;this.player_.volume(n),this.player_.muted(!1)}else this.player_.muted(!this.player_.muted())},t.update=function(e){this.updateIcon_(),this.updateControlText_()},t.updateIcon_=function(){var e=this.player_.volume(),t=3;at&&this.player_.tech_&&this.player_.tech_.el_&&this.player_.muted(this.player_.tech_.el_.muted),0===e||this.player_.muted()?t=0:e<.33?t=1:e<.67&&(t=2);for(var i=0;i<4;i++)x(this.el_,\"vjs-vol-\"+i);E(this.el_,\"vjs-vol-\"+t)},t.updateControlText_=function(){var e=this.player_.muted()||0===this.player_.volume()?\"Unmute\":\"Mute\";this.controlText()!==e&&this.controlText(e)},e}(dn);Fn.prototype.controlText_=\"Mute\",Re.registerComponent(\"MuteToggle\",Fn);var Hn=function(n){function e(e,t){var i;return void 0===t&&(t={}),\"undefined\"!=typeof t.inline?t.inline=t.inline:t.inline=!0,\"undefined\"!=typeof t.volumeControl&&!u(t.volumeControl)||(t.volumeControl=t.volumeControl||{},t.volumeControl.vertical=!t.inline),(i=n.call(this,e,t)||this).on(e,[\"loadstart\"],i.volumePanelState_),i.on(i.muteToggle,\"keyup\",i.handleKeyPress),i.on(i.volumeControl,\"keyup\",i.handleVolumeControlKeyUp),i.on(\"keydown\",i.handleKeyPress),i.on(\"mouseover\",i.handleMouseOver),i.on(\"mouseout\",i.handleMouseOut),i.on(i.volumeControl,[\"slideractive\"],i.sliderActive_),i.on(i.volumeControl,[\"sliderinactive\"],i.sliderInactive_),i}He(e,n);var t=e.prototype;return t.sliderActive_=function(){this.addClass(\"vjs-slider-active\")},t.sliderInactive_=function(){this.removeClass(\"vjs-slider-active\")},t.volumePanelState_=function(){this.volumeControl.hasClass(\"vjs-hidden\")&&this.muteToggle.hasClass(\"vjs-hidden\")&&this.addClass(\"vjs-hidden\"),this.volumeControl.hasClass(\"vjs-hidden\")&&!this.muteToggle.hasClass(\"vjs-hidden\")&&this.addClass(\"vjs-mute-toggle-only\")},t.createEl=function(){var e=\"vjs-volume-panel-horizontal\";return this.options_.inline||(e=\"vjs-volume-panel-vertical\"),n.prototype.createEl.call(this,\"div\",{className:\"vjs-volume-panel vjs-control \"+e})},t.dispose=function(){this.handleMouseOut(),n.prototype.dispose.call(this)},t.handleVolumeControlKeyUp=function(e){xt.isEventKey(e,\"Esc\")&&this.muteToggle.focus()},t.handleMouseOver=function(e){this.addClass(\"vjs-hover\"),he(h,\"keyup\",ge(this,this.handleKeyPress))},t.handleMouseOut=function(e){this.removeClass(\"vjs-hover\"),de(h,\"keyup\",ge(this,this.handleKeyPress))},t.handleKeyPress=function(e){xt.isEventKey(e,\"Esc\")&&this.handleMouseOut()},e}(Re);Hn.prototype.options_={children:[\"muteToggle\",\"volumeControl\"]},Re.registerComponent(\"VolumePanel\",Hn);var Vn=function(n){function e(e,t){var i;return i=n.call(this,e,t)||this,t&&(i.menuButton_=t.menuButton),i.focusedChild_=-1,i.on(\"keydown\",i.handleKeyDown),i.boundHandleBlur_=ge(Ue(i),i.handleBlur),i.boundHandleTapClick_=ge(Ue(i),i.handleTapClick),i}He(e,n);var t=e.prototype;return t.addEventListenerForItem=function(e){e instanceof Re&&(this.on(e,\"blur\",this.boundHandleBlur_),this.on(e,[\"tap\",\"click\"],this.boundHandleTapClick_))},t.removeEventListenerForItem=function(e){e instanceof Re&&(this.off(e,\"blur\",this.boundHandleBlur_),this.off(e,[\"tap\",\"click\"],this.boundHandleTapClick_))},t.removeChild=function(e){\"string\"==typeof e&&(e=this.getChild(e)),this.removeEventListenerForItem(e),n.prototype.removeChild.call(this,e)},t.addItem=function(e){var t=this.addChild(e);t&&this.addEventListenerForItem(t)},t.createEl=function(){var e=this.options_.contentElType||\"ul\";this.contentEl_=S(e,{className:\"vjs-menu-content\"}),this.contentEl_.setAttribute(\"role\",\"menu\");var t=n.prototype.createEl.call(this,\"div\",{append:this.contentEl_,className:\"vjs-menu\"});return t.appendChild(this.contentEl_),he(t,\"click\",function(e){e.preventDefault(),e.stopImmediatePropagation()}),t},t.dispose=function(){this.contentEl_=null,this.boundHandleBlur_=null,this.boundHandleTapClick_=null,n.prototype.dispose.call(this)},t.handleBlur=function(e){var t=e.relatedTarget||h.activeElement;if(!this.children().some(function(e){return e.el()===t})){var i=this.menuButton_;i&&i.buttonPressed_&&t!==i.el().firstChild&&i.unpressButton()}},t.handleTapClick=function(t){if(this.menuButton_){this.menuButton_.unpressButton();var e=this.children();if(!Array.isArray(e))return;var i=e.filter(function(e){return e.el()===t.target})[0];if(!i)return;\"CaptionSettingsMenuItem\"!==i.name()&&this.menuButton_.focus()}},t.handleKeyDown=function(e){xt.isEventKey(e,\"Left\")||xt.isEventKey(e,\"Down\")?(e.preventDefault(),e.stopPropagation(),this.stepForward()):(xt.isEventKey(e,\"Right\")||xt.isEventKey(e,\"Up\"))&&(e.preventDefault(),e.stopPropagation(),this.stepBack())},t.stepForward=function(){var e=0;void 0!==this.focusedChild_&&(e=this.focusedChild_+1),this.focus(e)},t.stepBack=function(){var e=0;void 0!==this.focusedChild_&&(e=this.focusedChild_-1),this.focus(e)},t.focus=function(e){void 0===e&&(e=0);var t=this.children().slice();t.length&&t[0].className&&/vjs-menu-title/.test(t[0].className)&&t.shift(),0<t.length&&(e<0?e=0:e>=t.length&&(e=t.length-1),t[this.focusedChild_=e].el_.focus())},e}(Re);Re.registerComponent(\"Menu\",Vn);var qn=function(r){function e(e,t){var i;void 0===t&&(t={}),(i=r.call(this,e,t)||this).menuButton_=new dn(e,t),i.menuButton_.controlText(i.controlText_),i.menuButton_.el_.setAttribute(\"aria-haspopup\",\"true\");var n=dn.prototype.buildCSSClass();return i.menuButton_.el_.className=i.buildCSSClass()+\" \"+n,i.menuButton_.removeClass(\"vjs-control\"),i.addChild(i.menuButton_),i.update(),i.enabled_=!0,i.on(i.menuButton_,\"tap\",i.handleClick),i.on(i.menuButton_,\"click\",i.handleClick),i.on(i.menuButton_,\"keydown\",i.handleKeyDown),i.on(i.menuButton_,\"mouseenter\",function(){i.addClass(\"vjs-hover\"),i.menu.show(),he(h,\"keyup\",ge(Ue(i),i.handleMenuKeyUp))}),i.on(\"mouseleave\",i.handleMouseLeave),i.on(\"keydown\",i.handleSubmenuKeyDown),i}He(e,r);var t=e.prototype;return t.update=function(){var e=this.createMenu();this.menu&&(this.menu.dispose(),this.removeChild(this.menu)),this.menu=e,this.addChild(e),this.buttonPressed_=!1,this.menuButton_.el_.setAttribute(\"aria-expanded\",\"false\"),this.items&&this.items.length<=this.hideThreshold_?this.hide():this.show()},t.createMenu=function(){var e=new Vn(this.player_,{menuButton:this});if(this.hideThreshold_=0,this.options_.title){var t=S(\"li\",{className:\"vjs-menu-title\",innerHTML:De(this.options_.title),tabIndex:-1});this.hideThreshold_+=1;var i=new Re(this.player_,{el:t});e.addItem(i)}if(this.items=this.createItems(),this.items)for(var n=0;n<this.items.length;n++)e.addItem(this.items[n]);return e},t.createItems=function(){},t.createEl=function(){return r.prototype.createEl.call(this,\"div\",{className:this.buildWrapperCSSClass()},{})},t.buildWrapperCSSClass=function(){var e=\"vjs-menu-button\";return!0===this.options_.inline?e+=\"-inline\":e+=\"-popup\",\"vjs-menu-button \"+e+\" \"+dn.prototype.buildCSSClass()+\" \"+r.prototype.buildCSSClass.call(this)},t.buildCSSClass=function(){var e=\"vjs-menu-button\";return!0===this.options_.inline?e+=\"-inline\":e+=\"-popup\",\"vjs-menu-button \"+e+\" \"+r.prototype.buildCSSClass.call(this)},t.controlText=function(e,t){return void 0===t&&(t=this.menuButton_.el()),this.menuButton_.controlText(e,t)},t.dispose=function(){this.handleMouseLeave(),r.prototype.dispose.call(this)},t.handleClick=function(e){this.buttonPressed_?this.unpressButton():this.pressButton()},t.handleMouseLeave=function(e){this.removeClass(\"vjs-hover\"),de(h,\"keyup\",ge(this,this.handleMenuKeyUp))},t.focus=function(){this.menuButton_.focus()},t.blur=function(){this.menuButton_.blur()},t.handleKeyDown=function(e){xt.isEventKey(e,\"Esc\")||xt.isEventKey(e,\"Tab\")?(this.buttonPressed_&&this.unpressButton(),xt.isEventKey(e,\"Tab\")||(e.preventDefault(),this.menuButton_.focus())):(xt.isEventKey(e,\"Up\")||xt.isEventKey(e,\"Down\"))&&(this.buttonPressed_||(e.preventDefault(),this.pressButton()))},t.handleMenuKeyUp=function(e){(xt.isEventKey(e,\"Esc\")||xt.isEventKey(e,\"Tab\"))&&this.removeClass(\"vjs-hover\")},t.handleSubmenuKeyPress=function(e){this.handleSubmenuKeyDown(e)},t.handleSubmenuKeyDown=function(e){(xt.isEventKey(e,\"Esc\")||xt.isEventKey(e,\"Tab\"))&&(this.buttonPressed_&&this.unpressButton(),xt.isEventKey(e,\"Tab\")||(e.preventDefault(),this.menuButton_.focus()))},t.pressButton=function(){if(this.enabled_){if(this.buttonPressed_=!0,this.menu.show(),this.menu.lockShowing(),this.menuButton_.el_.setAttribute(\"aria-expanded\",\"true\"),at&&b())return;this.menu.focus()}},t.unpressButton=function(){this.enabled_&&(this.buttonPressed_=!1,this.menu.unlockShowing(),this.menu.hide(),this.menuButton_.el_.setAttribute(\"aria-expanded\",\"false\"))},t.disable=function(){this.unpressButton(),this.enabled_=!1,this.addClass(\"vjs-disabled\"),this.menuButton_.disable()},t.enable=function(){this.enabled_=!0,this.removeClass(\"vjs-disabled\"),this.menuButton_.enable()},e}(Re);Re.registerComponent(\"MenuButton\",qn);var Wn=function(s){function e(e,t){var i,n=t.tracks;if((i=s.call(this,e,t)||this).items.length<=1&&i.hide(),!n)return Ue(i);var r=ge(Ue(i),i.update);return n.addEventListener(\"removetrack\",r),n.addEventListener(\"addtrack\",r),i.player_.on(\"ready\",r),i.player_.on(\"dispose\",function(){n.removeEventListener(\"removetrack\",r),n.removeEventListener(\"addtrack\",r)}),i}return He(e,s),e}(qn);Re.registerComponent(\"TrackButton\",Wn);var zn=[\"Tab\",\"Esc\",\"Up\",\"Down\",\"Right\",\"Left\"],Gn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).selectable=t.selectable,i.isSelected_=t.selected||!1,i.multiSelectable=t.multiSelectable,i.selected(i.isSelected_),i.selectable?i.multiSelectable?i.el_.setAttribute(\"role\",\"menuitemcheckbox\"):i.el_.setAttribute(\"role\",\"menuitemradio\"):i.el_.setAttribute(\"role\",\"menuitem\"),i}He(e,n);var t=e.prototype;return t.createEl=function(e,t,i){return this.nonIconControl=!0,n.prototype.createEl.call(this,\"li\",m({className:\"vjs-menu-item\",innerHTML:'<span class=\"vjs-menu-item-text\">'+this.localize(this.options_.label)+\"</span>\",tabIndex:-1},t),i)},t.handleKeyDown=function(t){zn.some(function(e){return xt.isEventKey(t,e)})||n.prototype.handleKeyDown.call(this,t)},t.handleClick=function(e){this.selected(!0)},t.selected=function(e){this.selectable&&(e?(this.addClass(\"vjs-selected\"),this.el_.setAttribute(\"aria-checked\",\"true\"),this.controlText(\", selected\"),this.isSelected_=!0):(this.removeClass(\"vjs-selected\"),this.el_.setAttribute(\"aria-checked\",\"false\"),this.controlText(\"\"),this.isSelected_=!1))},e}(rn);Re.registerComponent(\"MenuItem\",Gn);var Xn=function(u){function e(e,t){var n,i=t.track,r=e.textTracks();t.label=i.label||i.language||\"Unknown\",t.selected=\"showing\"===i.mode,(n=u.call(this,e,t)||this).track=i,n.kinds=(t.kinds||[t.kind||n.track.kind]).filter(Boolean);function s(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];n.handleTracksChange.apply(Ue(n),t)}function a(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];n.handleSelectedLanguageChange.apply(Ue(n),t)}var o;e.on([\"loadstart\",\"texttrackchange\"],s),r.addEventListener(\"change\",s),r.addEventListener(\"selectedlanguagechange\",a),n.on(\"dispose\",function(){e.off([\"loadstart\",\"texttrackchange\"],s),r.removeEventListener(\"change\",s),r.removeEventListener(\"selectedlanguagechange\",a)}),void 0===r.onchange&&n.on([\"tap\",\"click\"],function(){if(\"object\"!=typeof y.Event)try{o=new y.Event(\"change\")}catch(e){}o||(o=h.createEvent(\"Event\")).initEvent(\"change\",!0,!0),r.dispatchEvent(o)});return n.handleTracksChange(),n}He(e,u);var t=e.prototype;return t.handleClick=function(e){var t=this.track,i=this.player_.textTracks();if(u.prototype.handleClick.call(this,e),i)for(var n=0;n<i.length;n++){var r=i[n];-1!==this.kinds.indexOf(r.kind)&&(r===t?\"showing\"!==r.mode&&(r.mode=\"showing\"):\"disabled\"!==r.mode&&(r.mode=\"disabled\"))}},t.handleTracksChange=function(e){var t=\"showing\"===this.track.mode;t!==this.isSelected_&&this.selected(t)},t.handleSelectedLanguageChange=function(e){if(\"showing\"===this.track.mode){var t=this.player_.cache_.selectedLanguage;if(t&&t.enabled&&t.language===this.track.language&&t.kind!==this.track.kind)return;this.player_.cache_.selectedLanguage={enabled:!0,language:this.track.language,kind:this.track.kind}}},t.dispose=function(){this.track=null,u.prototype.dispose.call(this)},e}(Gn);Re.registerComponent(\"TextTrackMenuItem\",Xn);var Kn=function(i){function e(e,t){return t.track={player:e,kind:t.kind,kinds:t.kinds,default:!1,mode:\"disabled\"},t.kinds||(t.kinds=[t.kind]),t.label?t.track.label=t.label:t.track.label=t.kinds.join(\" and \")+\" off\",t.selectable=!0,t.multiSelectable=!1,i.call(this,e,t)||this}He(e,i);var t=e.prototype;return t.handleTracksChange=function(e){for(var t=this.player().textTracks(),i=!0,n=0,r=t.length;n<r;n++){var s=t[n];if(-1<this.options_.kinds.indexOf(s.kind)&&\"showing\"===s.mode){i=!1;break}}i!==this.isSelected_&&this.selected(i)},t.handleSelectedLanguageChange=function(e){for(var t=this.player().textTracks(),i=!0,n=0,r=t.length;n<r;n++){var s=t[n];if(-1<[\"captions\",\"descriptions\",\"subtitles\"].indexOf(s.kind)&&\"showing\"===s.mode){i=!1;break}}i&&(this.player_.cache_.selectedLanguage={enabled:!1})},e}(Xn);Re.registerComponent(\"OffTextTrackMenuItem\",Kn);var Yn=function(i){function e(e,t){return void 0===t&&(t={}),t.tracks=e.textTracks(),i.call(this,e,t)||this}return He(e,i),e.prototype.createItems=function(e,t){var i;void 0===e&&(e=[]),void 0===t&&(t=Xn),this.label_&&(i=this.label_+\" off\"),e.push(new Kn(this.player_,{kinds:this.kinds_,kind:this.kind_,label:i})),this.hideThreshold_+=1;var n=this.player_.textTracks();Array.isArray(this.kinds_)||(this.kinds_=[this.kind_]);for(var r=0;r<n.length;r++){var s=n[r];if(-1<this.kinds_.indexOf(s.kind)){var a=new t(this.player_,{track:s,kinds:this.kinds_,kind:this.kind_,selectable:!0,multiSelectable:!1});a.addClass(\"vjs-\"+s.kind+\"-menu-item\"),e.push(a)}}return e},e}(Wn);Re.registerComponent(\"TextTrackButton\",Yn);var $n=function(a){function e(e,t){var i,n=t.track,r=t.cue,s=e.currentTime();return t.selectable=!0,t.multiSelectable=!1,t.label=r.text,t.selected=r.startTime<=s&&s<r.endTime,(i=a.call(this,e,t)||this).track=n,i.cue=r,n.addEventListener(\"cuechange\",ge(Ue(i),i.update)),i}He(e,a);var t=e.prototype;return t.handleClick=function(e){a.prototype.handleClick.call(this),this.player_.currentTime(this.cue.startTime),this.update(this.cue.startTime)},t.update=function(e){var t=this.cue,i=this.player_.currentTime();this.selected(t.startTime<=i&&i<t.endTime)},e}(Gn);Re.registerComponent(\"ChaptersTrackMenuItem\",$n);var Qn=function(n){function e(e,t,i){return n.call(this,e,t,i)||this}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-chapters-button \"+n.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-chapters-button \"+n.prototype.buildWrapperCSSClass.call(this)},t.update=function(e){this.track_&&(!e||\"addtrack\"!==e.type&&\"removetrack\"!==e.type)||this.setTrack(this.findChaptersTrack()),n.prototype.update.call(this)},t.setTrack=function(e){if(this.track_!==e){if(this.updateHandler_||(this.updateHandler_=this.update.bind(this)),this.track_){var t=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);t&&t.removeEventListener(\"load\",this.updateHandler_),this.track_=null}if(this.track_=e,this.track_){this.track_.mode=\"hidden\";var i=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);i&&i.addEventListener(\"load\",this.updateHandler_)}}},t.findChaptersTrack=function(){for(var e=this.player_.textTracks()||[],t=e.length-1;0<=t;t--){var i=e[t];if(i.kind===this.kind_)return i}},t.getMenuCaption=function(){return this.track_&&this.track_.label?this.track_.label:this.localize(De(this.kind_))},t.createMenu=function(){return this.options_.title=this.getMenuCaption(),n.prototype.createMenu.call(this)},t.createItems=function(){var e=[];if(!this.track_)return e;var t=this.track_.cues;if(!t)return e;for(var i=0,n=t.length;i<n;i++){var r=t[i],s=new $n(this.player_,{track:this.track_,cue:r});e.push(s)}return e},e}(Yn);Qn.prototype.kind_=\"chapters\",Qn.prototype.controlText_=\"Chapters\",Re.registerComponent(\"ChaptersButton\",Qn);var Jn=function(a){function e(e,t,i){var n;n=a.call(this,e,t,i)||this;var r=e.textTracks(),s=ge(Ue(n),n.handleTracksChange);return r.addEventListener(\"change\",s),n.on(\"dispose\",function(){r.removeEventListener(\"change\",s)}),n}He(e,a);var t=e.prototype;return t.handleTracksChange=function(e){for(var t=this.player().textTracks(),i=!1,n=0,r=t.length;n<r;n++){var s=t[n];if(s.kind!==this.kind_&&\"showing\"===s.mode){i=!0;break}}i?this.disable():this.enable()},t.buildCSSClass=function(){return\"vjs-descriptions-button \"+a.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-descriptions-button \"+a.prototype.buildWrapperCSSClass.call(this)},e}(Yn);Jn.prototype.kind_=\"descriptions\",Jn.prototype.controlText_=\"Descriptions\",Re.registerComponent(\"DescriptionsButton\",Jn);var Zn=function(n){function e(e,t,i){return n.call(this,e,t,i)||this}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-subtitles-button \"+n.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-subtitles-button \"+n.prototype.buildWrapperCSSClass.call(this)},e}(Yn);Zn.prototype.kind_=\"subtitles\",Zn.prototype.controlText_=\"Subtitles\",Re.registerComponent(\"SubtitlesButton\",Zn);var er=function(n){function e(e,t){var i;return t.track={player:e,kind:t.kind,label:t.kind+\" settings\",selectable:!1,default:!1,mode:\"disabled\"},t.selectable=!1,t.name=\"CaptionSettingsMenuItem\",(i=n.call(this,e,t)||this).addClass(\"vjs-texttrack-settings\"),i.controlText(\", opens \"+t.kind+\" settings dialog\"),i}return He(e,n),e.prototype.handleClick=function(e){this.player().getChild(\"textTrackSettings\").open()},e}(Xn);Re.registerComponent(\"CaptionSettingsMenuItem\",er);var tr=function(n){function e(e,t,i){return n.call(this,e,t,i)||this}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-captions-button \"+n.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-captions-button \"+n.prototype.buildWrapperCSSClass.call(this)},t.createItems=function(){var e=[];return this.player().tech_&&this.player().tech_.featuresNativeTextTracks||!this.player().getChild(\"textTrackSettings\")||(e.push(new er(this.player_,{kind:this.kind_})),this.hideThreshold_+=1),n.prototype.createItems.call(this,e)},e}(Yn);tr.prototype.kind_=\"captions\",tr.prototype.controlText_=\"Captions\",Re.registerComponent(\"CaptionsButton\",tr);var ir=function(r){function e(){return r.apply(this,arguments)||this}return He(e,r),e.prototype.createEl=function(e,t,i){var n='<span class=\"vjs-menu-item-text\">'+this.localize(this.options_.label);return\"captions\"===this.options_.track.kind&&(n+='\\n <span aria-hidden=\"true\" class=\"vjs-icon-placeholder\"></span>\\n <span class=\"vjs-control-text\"> '+this.localize(\"Captions\")+\"</span>\\n \"),n+=\"</span>\",r.prototype.createEl.call(this,e,m({innerHTML:n},t),i)},e}(Xn);Re.registerComponent(\"SubsCapsMenuItem\",ir);var nr=function(n){function e(e,t){var i;return void 0===t&&(t={}),(i=n.call(this,e,t)||this).label_=\"subtitles\",-1<[\"en\",\"en-us\",\"en-ca\",\"fr-ca\"].indexOf(i.player_.language_)&&(i.label_=\"captions\"),i.menuButton_.controlText(De(i.label_)),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-subs-caps-button \"+n.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-subs-caps-button \"+n.prototype.buildWrapperCSSClass.call(this)},t.createItems=function(){var e=[];return this.player().tech_&&this.player().tech_.featuresNativeTextTracks||!this.player().getChild(\"textTrackSettings\")||(e.push(new er(this.player_,{kind:this.label_})),this.hideThreshold_+=1),e=n.prototype.createItems.call(this,e,ir)},e}(Yn);nr.prototype.kinds_=[\"captions\",\"subtitles\"],nr.prototype.controlText_=\"Subtitles\",Re.registerComponent(\"SubsCapsButton\",nr);var rr=function(a){function e(e,t){var n,i=t.track,r=e.audioTracks();t.label=i.label||i.language||\"Unknown\",t.selected=i.enabled,(n=a.call(this,e,t)||this).track=i,n.addClass(\"vjs-\"+i.kind+\"-menu-item\");function s(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];n.handleTracksChange.apply(Ue(n),t)}return r.addEventListener(\"change\",s),n.on(\"dispose\",function(){r.removeEventListener(\"change\",s)}),n}He(e,a);var t=e.prototype;return t.createEl=function(e,t,i){var n='<span class=\"vjs-menu-item-text\">'+this.localize(this.options_.label);return\"main-desc\"===this.options_.track.kind&&(n+='\\n <span aria-hidden=\"true\" class=\"vjs-icon-placeholder\"></span>\\n <span class=\"vjs-control-text\"> '+this.localize(\"Descriptions\")+\"</span>\\n \"),n+=\"</span>\",a.prototype.createEl.call(this,e,m({innerHTML:n},t),i)},t.handleClick=function(e){var t=this.player_.audioTracks();a.prototype.handleClick.call(this,e);for(var i=0;i<t.length;i++){var n=t[i];n.enabled=n===this.track}},t.handleTracksChange=function(e){this.selected(this.track.enabled)},e}(Gn);Re.registerComponent(\"AudioTrackMenuItem\",rr);var sr=function(i){function e(e,t){return void 0===t&&(t={}),t.tracks=e.audioTracks(),i.call(this,e,t)||this}He(e,i);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-audio-button \"+i.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-audio-button \"+i.prototype.buildWrapperCSSClass.call(this)},t.createItems=function(e){void 0===e&&(e=[]),this.hideThreshold_=1;for(var t=this.player_.audioTracks(),i=0;i<t.length;i++){var n=t[i];e.push(new rr(this.player_,{track:n,selectable:!0,multiSelectable:!1}))}return e},e}(Wn);sr.prototype.controlText_=\"Audio Track\",Re.registerComponent(\"AudioTrackButton\",sr);var ar=function(s){function e(e,t){var i,n=t.rate,r=parseFloat(n,10);return t.label=n,t.selected=1===r,t.selectable=!0,t.multiSelectable=!1,(i=s.call(this,e,t)||this).label=n,i.rate=r,i.on(e,\"ratechange\",i.update),i}He(e,s);var t=e.prototype;return t.handleClick=function(e){s.prototype.handleClick.call(this),this.player().playbackRate(this.rate)},t.update=function(e){this.selected(this.player().playbackRate()===this.rate)},e}(Gn);ar.prototype.contentElType=\"button\",Re.registerComponent(\"PlaybackRateMenuItem\",ar);var or=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).updateVisibility(),i.updateLabel(),i.on(e,\"loadstart\",i.updateVisibility),i.on(e,\"ratechange\",i.updateLabel),i}He(e,n);var t=e.prototype;return t.createEl=function(){var e=n.prototype.createEl.call(this);return this.labelEl_=S(\"div\",{className:\"vjs-playback-rate-value\",innerHTML:\"1x\"}),e.appendChild(this.labelEl_),e},t.dispose=function(){this.labelEl_=null,n.prototype.dispose.call(this)},t.buildCSSClass=function(){return\"vjs-playback-rate \"+n.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-playback-rate \"+n.prototype.buildWrapperCSSClass.call(this)},t.createMenu=function(){var e=new Vn(this.player()),t=this.playbackRates();if(t)for(var i=t.length-1;0<=i;i--)e.addChild(new ar(this.player(),{rate:t[i]+\"x\"}));return e},t.updateARIAAttributes=function(){this.el().setAttribute(\"aria-valuenow\",this.player().playbackRate())},t.handleClick=function(e){for(var t=this.player().playbackRate(),i=this.playbackRates(),n=i[0],r=0;r<i.length;r++)if(i[r]>t){n=i[r];break}this.player().playbackRate(n)},t.playbackRates=function(){return this.options_.playbackRates||this.options_.playerOptions&&this.options_.playerOptions.playbackRates},t.playbackRateSupported=function(){return this.player().tech_&&this.player().tech_.featuresPlaybackRate&&this.playbackRates()&&0<this.playbackRates().length},t.updateVisibility=function(e){this.playbackRateSupported()?this.removeClass(\"vjs-hidden\"):this.addClass(\"vjs-hidden\")},t.updateLabel=function(e){this.playbackRateSupported()&&(this.labelEl_.innerHTML=this.player().playbackRate()+\"x\")},e}(qn);or.prototype.controlText_=\"Playback Rate\",Re.registerComponent(\"PlaybackRateMenuButton\",or);var ur=function(e){function t(){return e.apply(this,arguments)||this}He(t,e);var i=t.prototype;return i.buildCSSClass=function(){return\"vjs-spacer \"+e.prototype.buildCSSClass.call(this)},i.createEl=function(){return e.prototype.createEl.call(this,\"div\",{className:this.buildCSSClass()})},t}(Re);Re.registerComponent(\"Spacer\",ur);var lr=function(t){function e(){return t.apply(this,arguments)||this}He(e,t);var i=e.prototype;return i.buildCSSClass=function(){return\"vjs-custom-control-spacer \"+t.prototype.buildCSSClass.call(this)},i.createEl=function(){var e=t.prototype.createEl.call(this,{className:this.buildCSSClass()});return e.innerHTML=\" \",e},e}(ur);Re.registerComponent(\"CustomControlSpacer\",lr);var cr=function(e){function t(){return e.apply(this,arguments)||this}return He(t,e),t.prototype.createEl=function(){return e.prototype.createEl.call(this,\"div\",{className:\"vjs-control-bar\",dir:\"ltr\"})},t}(Re);cr.prototype.options_={children:[\"playToggle\",\"volumePanel\",\"currentTimeDisplay\",\"timeDivider\",\"durationDisplay\",\"progressControl\",\"liveDisplay\",\"seekToLive\",\"remainingTimeDisplay\",\"customControlSpacer\",\"playbackRateMenuButton\",\"chaptersButton\",\"descriptionsButton\",\"subsCapsButton\",\"audioTrackButton\",\"fullscreenToggle\"]},\"exitPictureInPicture\"in h&&cr.prototype.options_.children.splice(cr.prototype.options_.children.length-1,0,\"pictureInPictureToggle\"),Re.registerComponent(\"ControlBar\",cr);var hr=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,\"error\",i.open),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-error-display \"+n.prototype.buildCSSClass.call(this)},t.content=function(){var e=this.player().error();return e?this.localize(e.message):\"\"},e}(It);hr.prototype.options_=r({},It.prototype.options_,{pauseOnOpen:!1,fillAlways:!0,temporary:!1,uncloseable:!0}),Re.registerComponent(\"ErrorDisplay\",hr);var dr=\"vjs-text-track-settings\",pr=[\"#000\",\"Black\"],fr=[\"#00F\",\"Blue\"],mr=[\"#0FF\",\"Cyan\"],gr=[\"#0F0\",\"Green\"],vr=[\"#F0F\",\"Magenta\"],yr=[\"#F00\",\"Red\"],_r=[\"#FFF\",\"White\"],br=[\"#FF0\",\"Yellow\"],Tr=[\"1\",\"Opaque\"],Sr=[\"0.5\",\"Semi-Transparent\"],kr=[\"0\",\"Transparent\"],Cr={backgroundColor:{selector:\".vjs-bg-color > select\",id:\"captions-background-color-%s\",label:\"Color\",options:[pr,_r,yr,gr,fr,br,vr,mr]},backgroundOpacity:{selector:\".vjs-bg-opacity > select\",id:\"captions-background-opacity-%s\",label:\"Transparency\",options:[Tr,Sr,kr]},color:{selector:\".vjs-fg-color > select\",id:\"captions-foreground-color-%s\",label:\"Color\",options:[_r,pr,yr,gr,fr,br,vr,mr]},edgeStyle:{selector:\".vjs-edge-style > select\",id:\"%s\",label:\"Text Edge Style\",options:[[\"none\",\"None\"],[\"raised\",\"Raised\"],[\"depressed\",\"Depressed\"],[\"uniform\",\"Uniform\"],[\"dropshadow\",\"Dropshadow\"]]},fontFamily:{selector:\".vjs-font-family > select\",id:\"captions-font-family-%s\",label:\"Font Family\",options:[[\"proportionalSansSerif\",\"Proportional Sans-Serif\"],[\"monospaceSansSerif\",\"Monospace Sans-Serif\"],[\"proportionalSerif\",\"Proportional Serif\"],[\"monospaceSerif\",\"Monospace Serif\"],[\"casual\",\"Casual\"],[\"script\",\"Script\"],[\"small-caps\",\"Small Caps\"]]},fontPercent:{selector:\".vjs-font-percent > select\",id:\"captions-font-size-%s\",label:\"Font Size\",options:[[\"0.50\",\"50%\"],[\"0.75\",\"75%\"],[\"1.00\",\"100%\"],[\"1.25\",\"125%\"],[\"1.50\",\"150%\"],[\"1.75\",\"175%\"],[\"2.00\",\"200%\"],[\"3.00\",\"300%\"],[\"4.00\",\"400%\"]],default:2,parser:function(e){return\"1.00\"===e?null:Number(e)}},textOpacity:{selector:\".vjs-text-opacity > select\",id:\"captions-foreground-opacity-%s\",label:\"Transparency\",options:[Tr,Sr]},windowColor:{selector:\".vjs-window-color > select\",id:\"captions-window-color-%s\",label:\"Color\"},windowOpacity:{selector:\".vjs-window-opacity > select\",id:\"captions-window-opacity-%s\",label:\"Transparency\",options:[kr,Sr,Tr]}};function wr(e,t){if(t&&(e=t(e)),e&&\"none\"!==e)return e}Cr.windowColor.options=Cr.backgroundColor.options;var Er=function(n){function e(e,t){var i;return t.temporary=!1,(i=n.call(this,e,t)||this).updateDisplay=ge(Ue(i),i.updateDisplay),i.fill(),i.hasBeenOpened_=i.hasBeenFilled_=!0,i.endDialog=S(\"p\",{className:\"vjs-control-text\",textContent:i.localize(\"End of dialog window.\")}),i.el().appendChild(i.endDialog),i.setDefaults(),void 0===t.persistTextTrackSettings&&(i.options_.persistTextTrackSettings=i.options_.playerOptions.persistTextTrackSettings),i.on(i.$(\".vjs-done-button\"),\"click\",function(){i.saveSettings(),i.close()}),i.on(i.$(\".vjs-default-button\"),\"click\",function(){i.setDefaults(),i.updateDisplay()}),a(Cr,function(e){i.on(i.$(e.selector),\"change\",i.updateDisplay)}),i.options_.persistTextTrackSettings&&i.restoreSettings(),i}He(e,n);var t=e.prototype;return t.dispose=function(){this.endDialog=null,n.prototype.dispose.call(this)},t.createElSelect_=function(e,t,i){var n=this;void 0===t&&(t=\"\"),void 0===i&&(i=\"label\");var r=Cr[e],s=r.id.replace(\"%s\",this.id_),a=[t,s].join(\" \").trim();return[\"<\"+i+' id=\"'+s+'\" class=\"'+(\"label\"===i?\"vjs-label\":\"\")+'\">',this.localize(r.label),\"</\"+i+\">\",'<select aria-labelledby=\"'+a+'\">'].concat(r.options.map(function(e){var t=s+\"-\"+e[1].replace(/\\W+/g,\"\");return['<option id=\"'+t+'\" value=\"'+e[0]+'\" ','aria-labelledby=\"'+a+\" \"+t+'\">',n.localize(e[1]),\"</option>\"].join(\"\")})).concat(\"</select>\").join(\"\")},t.createElFgColor_=function(){var e=\"captions-text-legend-\"+this.id_;return['<fieldset class=\"vjs-fg-color vjs-track-setting\">','<legend id=\"'+e+'\">',this.localize(\"Text\"),\"</legend>\",this.createElSelect_(\"color\",e),'<span class=\"vjs-text-opacity vjs-opacity\">',this.createElSelect_(\"textOpacity\",e),\"</span>\",\"</fieldset>\"].join(\"\")},t.createElBgColor_=function(){var e=\"captions-background-\"+this.id_;return['<fieldset class=\"vjs-bg-color vjs-track-setting\">','<legend id=\"'+e+'\">',this.localize(\"Background\"),\"</legend>\",this.createElSelect_(\"backgroundColor\",e),'<span class=\"vjs-bg-opacity vjs-opacity\">',this.createElSelect_(\"backgroundOpacity\",e),\"</span>\",\"</fieldset>\"].join(\"\")},t.createElWinColor_=function(){var e=\"captions-window-\"+this.id_;return['<fieldset class=\"vjs-window-color vjs-track-setting\">','<legend id=\"'+e+'\">',this.localize(\"Window\"),\"</legend>\",this.createElSelect_(\"windowColor\",e),'<span class=\"vjs-window-opacity vjs-opacity\">',this.createElSelect_(\"windowOpacity\",e),\"</span>\",\"</fieldset>\"].join(\"\")},t.createElColors_=function(){return S(\"div\",{className:\"vjs-track-settings-colors\",innerHTML:[this.createElFgColor_(),this.createElBgColor_(),this.createElWinColor_()].join(\"\")})},t.createElFont_=function(){return S(\"div\",{className:\"vjs-track-settings-font\",innerHTML:['<fieldset class=\"vjs-font-percent vjs-track-setting\">',this.createElSelect_(\"fontPercent\",\"\",\"legend\"),\"</fieldset>\",'<fieldset class=\"vjs-edge-style vjs-track-setting\">',this.createElSelect_(\"edgeStyle\",\"\",\"legend\"),\"</fieldset>\",'<fieldset class=\"vjs-font-family vjs-track-setting\">',this.createElSelect_(\"fontFamily\",\"\",\"legend\"),\"</fieldset>\"].join(\"\")})},t.createElControls_=function(){var e=this.localize(\"restore all settings to the default values\");return S(\"div\",{className:\"vjs-track-settings-controls\",innerHTML:['<button type=\"button\" class=\"vjs-default-button\" title=\"'+e+'\">',this.localize(\"Reset\"),'<span class=\"vjs-control-text\"> '+e+\"</span>\",\"</button>\",'<button type=\"button\" class=\"vjs-done-button\">'+this.localize(\"Done\")+\"</button>\"].join(\"\")})},t.content=function(){return[this.createElColors_(),this.createElFont_(),this.createElControls_()]},t.label=function(){return this.localize(\"Caption Settings Dialog\")},t.description=function(){return this.localize(\"Beginning of dialog window. Escape will cancel and close the window.\")},t.buildCSSClass=function(){return n.prototype.buildCSSClass.call(this)+\" vjs-text-track-settings\"},t.getValues=function(){var r=this;return function(i,n,e){return void 0===e&&(e=0),s(i).reduce(function(e,t){return n(e,i[t],t)},e)}(Cr,function(e,t,i){var n=function(e,t){return wr(e.options[e.options.selectedIndex].value,t)}(r.$(t.selector),t.parser);return void 0!==n&&(e[i]=n),e},{})},t.setValues=function(i){var n=this;a(Cr,function(e,t){!function(e,t,i){if(t)for(var n=0;n<e.options.length;n++)if(wr(e.options[n].value,i)===t){e.selectedIndex=n;break}}(n.$(e.selector),i[t],e.parser)})},t.setDefaults=function(){var i=this;a(Cr,function(e){var t=e.hasOwnProperty(\"default\")?e.default:0;i.$(e.selector).selectedIndex=t})},t.restoreSettings=function(){var e;try{e=JSON.parse(y.localStorage.getItem(dr))}catch(e){p.warn(e)}e&&this.setValues(e)},t.saveSettings=function(){if(this.options_.persistTextTrackSettings){var e=this.getValues();try{Object.keys(e).length?y.localStorage.setItem(dr,JSON.stringify(e)):y.localStorage.removeItem(dr)}catch(e){p.warn(e)}}},t.updateDisplay=function(){var e=this.player_.getChild(\"textTrackDisplay\");e&&e.updateDisplay()},t.conditionalBlur_=function(){this.previouslyActiveEl_=null;var e=this.player_.controlBar,t=e&&e.subsCapsButton,i=e&&e.captionsButton;t?t.focus():i&&i.focus()},e}(It);Re.registerComponent(\"TextTrackSettings\",Er);var xr=function(s){function e(e,t){var i,n=t.ResizeObserver||y.ResizeObserver;null===t.ResizeObserver&&(n=!1);var r=Ne({createEl:!n,reportTouchActivity:!1},t);return(i=s.call(this,e,r)||this).ResizeObserver=t.ResizeObserver||y.ResizeObserver,i.loadListener_=null,i.resizeObserver_=null,i.debouncedHandler_=function(n,r,s,a){var o;void 0===a&&(a=y);function e(){var e=this,t=arguments,i=function(){i=o=null,s||n.apply(e,t)};!o&&s&&n.apply(e,t),a.clearTimeout(o),o=a.setTimeout(i,r)}return e.cancel=function(){a.clearTimeout(o),o=null},e}(function(){i.resizeHandler()},100,!1,Ue(i)),n?(i.resizeObserver_=new i.ResizeObserver(i.debouncedHandler_),i.resizeObserver_.observe(e.el())):(i.loadListener_=function(){if(i.el_&&i.el_.contentWindow){var e=i.debouncedHandler_,t=i.unloadListener_=function(){de(this,\"resize\",e),de(this,\"unload\",t),t=null};he(i.el_.contentWindow,\"unload\",t),he(i.el_.contentWindow,\"resize\",e)}},i.one(\"load\",i.loadListener_)),i}He(e,s);var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,\"iframe\",{className:\"vjs-resize-manager\",tabIndex:-1},{\"aria-hidden\":\"true\"})},t.resizeHandler=function(){this.player_&&this.player_.trigger&&this.player_.trigger(\"playerresize\")},t.dispose=function(){this.debouncedHandler_&&this.debouncedHandler_.cancel(),this.resizeObserver_&&(this.player_.el()&&this.resizeObserver_.unobserve(this.player_.el()),this.resizeObserver_.disconnect()),this.loadListener_&&this.off(\"load\",this.loadListener_),this.el_&&this.el_.contentWindow&&this.unloadListener_&&this.unloadListener_.call(this.el_.contentWindow),this.ResizeObserver=null,this.resizeObserver=null,this.debouncedHandler_=null,this.loadListener_=null,s.prototype.dispose.call(this)},e}(Re);Re.registerComponent(\"ResizeManager\",xr);var Ar={trackingThreshold:30,liveTolerance:15},Ir=function(r){function e(e,t){var i,n=Ne(Ar,t,{createEl:!1});return(i=r.call(this,e,n)||this).reset_(),i.on(i.player_,\"durationchange\",i.handleDurationchange),et&&\"hidden\"in h&&\"visibilityState\"in h&&i.on(h,\"visibilitychange\",i.handleVisibilityChange),i}He(e,r);var t=e.prototype;return t.handleVisibilityChange=function(){this.player_.duration()===1/0&&(h.hidden?this.stopTracking():this.startTracking())},t.trackLive_=function(){var e=this.player_.seekable();if(e&&e.length){var t=Number(y.performance.now().toFixed(4)),i=-1===this.lastTime_?0:(t-this.lastTime_)/1e3;this.lastTime_=t,this.pastSeekEnd_=this.pastSeekEnd()+i;var n=this.liveCurrentTime(),r=this.player_.currentTime(),s=this.player_.paused()||this.seekedBehindLive_||Math.abs(n-r)>this.options_.liveTolerance;this.timeupdateSeen_&&n!==1/0||(s=!1),s!==this.behindLiveEdge_&&(this.behindLiveEdge_=s,this.trigger(\"liveedgechange\"))}},t.handleDurationchange=function(){this.player_.duration()===1/0&&this.liveWindow()>=this.options_.trackingThreshold?(this.player_.options_.liveui&&this.player_.addClass(\"vjs-liveui\"),this.startTracking()):(this.player_.removeClass(\"vjs-liveui\"),this.stopTracking())},t.startTracking=function(){this.isTracking()||(this.timeupdateSeen_||(this.timeupdateSeen_=this.player_.hasStarted()),this.trackingInterval_=this.setInterval(this.trackLive_,30),this.trackLive_(),this.on(this.player_,[\"play\",\"pause\"],this.trackLive_),this.timeupdateSeen_?this.on(this.player_,\"seeked\",this.handleSeeked):(this.one(this.player_,\"play\",this.handlePlay),this.one(this.player_,\"timeupdate\",this.handleFirstTimeupdate)))},t.handleFirstTimeupdate=function(){this.timeupdateSeen_=!0,this.on(this.player_,\"seeked\",this.handleSeeked)},t.handleSeeked=function(){var e=Math.abs(this.liveCurrentTime()-this.player_.currentTime());this.seekedBehindLive_=!this.skipNextSeeked_&&2<e,this.skipNextSeeked_=!1,this.trackLive_()},t.handlePlay=function(){this.one(this.player_,\"timeupdate\",this.seekToLiveEdge)},t.reset_=function(){this.lastTime_=-1,this.pastSeekEnd_=0,this.lastSeekEnd_=-1,this.behindLiveEdge_=!0,this.timeupdateSeen_=!1,this.seekedBehindLive_=!1,this.skipNextSeeked_=!1,this.clearInterval(this.trackingInterval_),this.trackingInterval_=null,this.off(this.player_,[\"play\",\"pause\"],this.trackLive_),this.off(this.player_,\"seeked\",this.handleSeeked),this.off(this.player_,\"play\",this.handlePlay),this.off(this.player_,\"timeupdate\",this.handleFirstTimeupdate),this.off(this.player_,\"timeupdate\",this.seekToLiveEdge)},t.stopTracking=function(){this.isTracking()&&(this.reset_(),this.trigger(\"liveedgechange\"))},t.seekableEnd=function(){for(var e=this.player_.seekable(),t=[],i=e?e.length:0;i--;)t.push(e.end(i));return t.length?t.sort()[t.length-1]:1/0},t.seekableStart=function(){for(var e=this.player_.seekable(),t=[],i=e?e.length:0;i--;)t.push(e.start(i));return t.length?t.sort()[0]:0},t.liveWindow=function(){var e=this.liveCurrentTime();return e===1/0?1/0:e-this.seekableStart()},t.isLive=function(){return this.isTracking()},t.atLiveEdge=function(){return!this.behindLiveEdge()},t.liveCurrentTime=function(){return this.pastSeekEnd()+this.seekableEnd()},t.pastSeekEnd=function(){var e=this.seekableEnd();return-1!==this.lastSeekEnd_&&e!==this.lastSeekEnd_&&(this.pastSeekEnd_=0),this.lastSeekEnd_=e,this.pastSeekEnd_},t.behindLiveEdge=function(){return this.behindLiveEdge_},t.isTracking=function(){return\"number\"==typeof this.trackingInterval_},t.seekToLiveEdge=function(){this.seekedBehindLive_=!1,this.atLiveEdge()||(this.skipNextSeeked_=!0,this.player_.currentTime(this.liveCurrentTime()))},t.dispose=function(){this.off(h,\"visibilitychange\",this.handleVisibilityChange),this.stopTracking(),r.prototype.dispose.call(this)},e}(Re);Re.registerComponent(\"LiveTracker\",Ir);function Pr(e){var t=e.el();if(t.hasAttribute(\"src\"))return e.triggerSourceset(t.src),!0;var i=e.$$(\"source\"),n=[],r=\"\";if(!i.length)return!1;for(var s=0;s<i.length;s++){var a=i[s].src;a&&-1===n.indexOf(a)&&n.push(a)}return!!n.length&&(1===n.length&&(r=n[0]),e.triggerSourceset(r),!0)}function Lr(e,t){for(var i={},n=0;n<e.length&&!((i=Object.getOwnPropertyDescriptor(e[n],t))&&i.set&&i.get);n++);return i.enumerable=!0,i.configurable=!0,i}function Or(s){var a=s.el();if(!a.resetSourceWatch_){var t={},e=function(e){return Lr([e.el(),y.HTMLMediaElement.prototype,y.Element.prototype,Ur],\"innerHTML\")}(s),i=function(r){return function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];var n=r.apply(a,t);return Pr(s),n}};[\"append\",\"appendChild\",\"insertAdjacentHTML\"].forEach(function(e){a[e]&&(t[e]=a[e],a[e]=i(t[e]))}),Object.defineProperty(a,\"innerHTML\",Ne(e,{set:i(e.set)})),a.resetSourceWatch_=function(){a.resetSourceWatch_=null,Object.keys(t).forEach(function(e){a[e]=t[e]}),Object.defineProperty(a,\"innerHTML\",e)},s.one(\"sourceset\",a.resetSourceWatch_)}}function Dr(n){if(n.featuresSourceset){var r=n.el();if(!r.resetSourceset_){var i=function(e){return Lr([e.el(),y.HTMLMediaElement.prototype,Mr],\"src\")}(n),s=r.setAttribute,t=r.load;Object.defineProperty(r,\"src\",Ne(i,{set:function(e){var t=i.set.call(r,e);return n.triggerSourceset(r.src),t}})),r.setAttribute=function(e,t){var i=s.call(r,e,t);return/src/i.test(e)&&n.triggerSourceset(r.src),i},r.load=function(){var e=t.call(r);return Pr(n)||(n.triggerSourceset(\"\"),Or(n)),e},r.currentSrc?n.triggerSourceset(r.currentSrc):Pr(n)||Or(n),r.resetSourceset_=function(){r.resetSourceset_=null,r.load=t,r.setAttribute=s,Object.defineProperty(r,\"src\",i),r.resetSourceWatch_&&r.resetSourceWatch_()}}}}function Nr(t,i,n,e){function r(e){return Object.defineProperty(t,i,{value:e,enumerable:!0,writable:!0})}void 0===e&&(e=!0);var s={configurable:!0,enumerable:!0,get:function(){var e=n();return r(e),e}};return e&&(s.set=r),Object.defineProperty(t,i,s)}var Rr,Ur=Object.defineProperty({},\"innerHTML\",{get:function(){return this.cloneNode(!0).innerHTML},set:function(e){var t=h.createElement(this.nodeName.toLowerCase());t.innerHTML=e;for(var i=h.createDocumentFragment();t.childNodes.length;)i.appendChild(t.childNodes[0]);return this.innerText=\"\",y.Element.prototype.appendChild.call(this,i),this.innerHTML}}),Mr=Object.defineProperty({},\"src\",{get:function(){return this.hasAttribute(\"src\")?Rt(y.Element.prototype.getAttribute.call(this,\"src\")):\"\"},set:function(e){return y.Element.prototype.setAttribute.call(this,\"src\",e),e}}),Br=function(c){function o(e,t){var i;i=c.call(this,e,t)||this;var n=e.source,r=!1;if(n&&(i.el_.currentSrc!==n.src||e.tag&&3===e.tag.initNetworkState_)?i.setSource(n):i.handleLateInit_(i.el_),e.enableSourceset&&i.setupSourcesetHandling_(),i.el_.hasChildNodes()){for(var s=i.el_.childNodes,a=s.length,o=[];a--;){var u=s[a];\"track\"===u.nodeName.toLowerCase()&&(i.featuresNativeTextTracks?(i.remoteTextTrackEls().addTrackElement_(u),i.remoteTextTracks().addTrack(u.track),i.textTracks().addTrack(u.track),r||i.el_.hasAttribute(\"crossorigin\")||!Mt(u.src)||(r=!0)):o.push(u))}for(var l=0;l<o.length;l++)i.el_.removeChild(o[l])}return i.proxyNativeTracks_(),i.featuresNativeTextTracks&&r&&p.warn(\"Text Tracks are being loaded from another origin but the crossorigin attribute isn't used.\\nThis may prevent text tracks from loading.\"),i.restoreMetadataTracksInIOSNativePlayer_(),(nt||st||Ye)&&!0===e.nativeControlsForTouch&&i.setControls(!0),i.proxyWebkitFullscreen_(),i.triggerReady(),i}He(o,c);var e=o.prototype;return e.dispose=function(){this.el_&&this.el_.resetSourceset_&&this.el_.resetSourceset_(),o.disposeMediaElement(this.el_),this.options_=null,c.prototype.dispose.call(this)},e.setupSourcesetHandling_=function(){Dr(this)},e.restoreMetadataTracksInIOSNativePlayer_=function(){function e(){i=[];for(var e=0;e<n.length;e++){var t=n[e];\"metadata\"===t.kind&&i.push({track:t,storedMode:t.mode})}}var i,n=this.textTracks();e(),n.addEventListener(\"change\",e),this.on(\"dispose\",function(){return n.removeEventListener(\"change\",e)});function r(){for(var e=0;e<i.length;e++){var t=i[e];\"disabled\"===t.track.mode&&t.track.mode!==t.storedMode&&(t.track.mode=t.storedMode)}n.removeEventListener(\"change\",r)}this.on(\"webkitbeginfullscreen\",function(){n.removeEventListener(\"change\",e),n.removeEventListener(\"change\",r),n.addEventListener(\"change\",r)}),this.on(\"webkitendfullscreen\",function(){n.removeEventListener(\"change\",e),n.addEventListener(\"change\",e),n.removeEventListener(\"change\",r)})},e.overrideNative_=function(e,t){var i=this;if(t===this[\"featuresNative\"+e+\"Tracks\"]){var n=e.toLowerCase();this[n+\"TracksListeners_\"]&&Object.keys(this[n+\"TracksListeners_\"]).forEach(function(e){i.el()[n+\"Tracks\"].removeEventListener(e,i[n+\"TracksListeners_\"][e])}),this[\"featuresNative\"+e+\"Tracks\"]=!t,this[n+\"TracksListeners_\"]=null,this.proxyNativeTracksForType_(n)}},e.overrideNativeAudioTracks=function(e){this.overrideNative_(\"Audio\",e)},e.overrideNativeVideoTracks=function(e){this.overrideNative_(\"Video\",e)},e.proxyNativeTracksForType_=function(i){var n=this,e=li[i],r=this.el()[e.getterName],s=this[e.getterName]();if(this[\"featuresNative\"+e.capitalName+\"Tracks\"]&&r&&r.addEventListener){var a={change:function(e){var t={type:\"change\",target:s,currentTarget:s,srcElement:s};s.trigger(t),\"text\"===i&&n[ci.remoteText.getterName]().trigger(t)},addtrack:function(e){s.addTrack(e.track)},removetrack:function(e){s.removeTrack(e.track)}},t=function(){for(var e=[],t=0;t<s.length;t++){for(var i=!1,n=0;n<r.length;n++)if(r[n]===s[t]){i=!0;break}i||e.push(s[t])}for(;e.length;)s.removeTrack(e.shift())};this[e.getterName+\"Listeners_\"]=a,Object.keys(a).forEach(function(t){var i=a[t];r.addEventListener(t,i),n.on(\"dispose\",function(e){return r.removeEventListener(t,i)})}),this.on(\"loadstart\",t),this.on(\"dispose\",function(e){return n.off(\"loadstart\",t)})}},e.proxyNativeTracks_=function(){var t=this;li.names.forEach(function(e){t.proxyNativeTracksForType_(e)})},e.createEl=function(){var e=this.options_.tag;if(!e||!this.options_.playerElIngest&&!this.movingMediaElementInDOM){if(e){var t=e.cloneNode(!0);e.parentNode&&e.parentNode.insertBefore(t,e),o.disposeMediaElement(e),e=t}else{e=h.createElement(\"video\");var i=Ne({},this.options_.tag&&P(this.options_.tag));nt&&!0===this.options_.nativeControlsForTouch||delete i.controls,I(e,m(i,{id:this.options_.techId,class:\"vjs-tech\"}))}e.playerId=this.options_.playerId}\"undefined\"!=typeof this.options_.preload&&O(e,\"preload\",this.options_.preload);for(var n=[\"loop\",\"muted\",\"playsinline\",\"autoplay\"],r=0;r<n.length;r++){var s=n[r],a=this.options_[s];\"undefined\"!=typeof a&&(a?O(e,s,s):D(e,s),e[s]=a)}return e},e.handleLateInit_=function(e){if(0!==e.networkState&&3!==e.networkState){if(0===e.readyState){var t=!1,i=function(){t=!0};this.on(\"loadstart\",i);var n=function(){t||this.trigger(\"loadstart\")};return this.on(\"loadedmetadata\",n),void this.ready(function(){this.off(\"loadstart\",i),this.off(\"loadedmetadata\",n),t||this.trigger(\"loadstart\")})}var r=[\"loadstart\"];r.push(\"loadedmetadata\"),2<=e.readyState&&r.push(\"loadeddata\"),3<=e.readyState&&r.push(\"canplay\"),4<=e.readyState&&r.push(\"canplaythrough\"),this.ready(function(){r.forEach(function(e){this.trigger(e)},this)})}},e.setCurrentTime=function(e){try{this.el_.currentTime=e}catch(e){p(e,\"Video is not ready. (Video.js)\")}},e.duration=function(){var t=this;if(this.el_.duration===1/0&&Xe&&Je&&0===this.el_.currentTime){return this.on(\"timeupdate\",function e(){0<t.el_.currentTime&&(t.el_.duration===1/0&&t.trigger(\"durationchange\"),t.off(\"timeupdate\",e))}),NaN}return this.el_.duration||NaN},e.width=function(){return this.el_.offsetWidth},e.height=function(){return this.el_.offsetHeight},e.proxyWebkitFullscreen_=function(){var e=this;if(\"webkitDisplayingFullscreen\"in this.el_){var t=function(){this.trigger(\"fullscreenchange\",{isFullscreen:!1})},i=function(){\"webkitPresentationMode\"in this.el_&&\"picture-in-picture\"!==this.el_.webkitPresentationMode&&(this.one(\"webkitendfullscreen\",t),this.trigger(\"fullscreenchange\",{isFullscreen:!0,nativeIOSFullscreen:!0}))};this.on(\"webkitbeginfullscreen\",i),this.on(\"dispose\",function(){e.off(\"webkitbeginfullscreen\",i),e.off(\"webkitendfullscreen\",t)})}},e.supportsFullScreen=function(){if(\"function\"==typeof this.el_.webkitEnterFullScreen){var e=y.navigator&&y.navigator.userAgent||\"\";if(/Android/.test(e)||!/Chrome|Mac OS X 10.5/.test(e))return!0}return!1},e.enterFullScreen=function(){var e=this.el_;if(e.paused&&e.networkState<=e.HAVE_METADATA)kt(this.el_.play()),this.setTimeout(function(){e.pause();try{e.webkitEnterFullScreen()}catch(e){this.trigger(\"fullscreenerror\",e)}},0);else try{e.webkitEnterFullScreen()}catch(e){this.trigger(\"fullscreenerror\",e)}},e.exitFullScreen=function(){this.el_.webkitDisplayingFullscreen?this.el_.webkitExitFullScreen():this.trigger(\"fullscreenerror\",new Error(\"The video is not fullscreen\"))},e.requestPictureInPicture=function(){return this.el_.requestPictureInPicture()},e.src=function(e){if(void 0===e)return this.el_.src;this.setSrc(e)},e.reset=function(){o.resetMediaElement(this.el_)},e.currentSrc=function(){return this.currentSource_?this.currentSource_.src:this.el_.currentSrc},e.setControls=function(e){this.el_.controls=!!e},e.addTextTrack=function(e,t,i){return this.featuresNativeTextTracks?this.el_.addTextTrack(e,t,i):c.prototype.addTextTrack.call(this,e,t,i)},e.createRemoteTextTrack=function(e){if(!this.featuresNativeTextTracks)return c.prototype.createRemoteTextTrack.call(this,e);var t=h.createElement(\"track\");return e.kind&&(t.kind=e.kind),e.label&&(t.label=e.label),(e.language||e.srclang)&&(t.srclang=e.language||e.srclang),e.default&&(t.default=e.default),e.id&&(t.id=e.id),e.src&&(t.src=e.src),t},e.addRemoteTextTrack=function(e,t){var i=c.prototype.addRemoteTextTrack.call(this,e,t);return this.featuresNativeTextTracks&&this.el().appendChild(i),i},e.removeRemoteTextTrack=function(e){if(c.prototype.removeRemoteTextTrack.call(this,e),this.featuresNativeTextTracks)for(var t=this.$$(\"track\"),i=t.length;i--;)e!==t[i]&&e!==t[i].track||this.el().removeChild(t[i])},e.getVideoPlaybackQuality=function(){if(\"function\"==typeof this.el().getVideoPlaybackQuality)return this.el().getVideoPlaybackQuality();var e={};return\"undefined\"!=typeof this.el().webkitDroppedFrameCount&&\"undefined\"!=typeof this.el().webkitDecodedFrameCount&&(e.droppedVideoFrames=this.el().webkitDroppedFrameCount,e.totalVideoFrames=this.el().webkitDecodedFrameCount),y.performance&&\"function\"==typeof y.performance.now?e.creationTime=y.performance.now():y.performance&&y.performance.timing&&\"number\"==typeof y.performance.timing.navigationStart&&(e.creationTime=y.Date.now()-y.performance.timing.navigationStart),e},o}(Vi);Nr(Br,\"TEST_VID\",function(){if(v()){var e=h.createElement(\"video\"),t=h.createElement(\"track\");return t.kind=\"captions\",t.srclang=\"en\",t.label=\"English\",e.appendChild(t),e}}),Br.isSupported=function(){try{Br.TEST_VID.volume=.5}catch(e){return!1}return!(!Br.TEST_VID||!Br.TEST_VID.canPlayType)},Br.canPlayType=function(e){return Br.TEST_VID.canPlayType(e)},Br.canPlaySource=function(e,t){return Br.canPlayType(e.type)},Br.canControlVolume=function(){try{var e=Br.TEST_VID.volume;return Br.TEST_VID.volume=e/2+.1,e!==Br.TEST_VID.volume}catch(e){return!1}},Br.canMuteVolume=function(){try{var e=Br.TEST_VID.muted;return Br.TEST_VID.muted=!e,Br.TEST_VID.muted?O(Br.TEST_VID,\"muted\",\"muted\"):D(Br.TEST_VID,\"muted\"),e!==Br.TEST_VID.muted}catch(e){return!1}},Br.canControlPlaybackRate=function(){if(Xe&&Je&&Ze<58)return!1;try{var e=Br.TEST_VID.playbackRate;return Br.TEST_VID.playbackRate=e/2+.1,e!==Br.TEST_VID.playbackRate}catch(e){return!1}},Br.canOverrideAttributes=function(){try{var e=function(){};Object.defineProperty(h.createElement(\"video\"),\"src\",{get:e,set:e}),Object.defineProperty(h.createElement(\"audio\"),\"src\",{get:e,set:e}),Object.defineProperty(h.createElement(\"video\"),\"innerHTML\",{get:e,set:e}),Object.defineProperty(h.createElement(\"audio\"),\"innerHTML\",{get:e,set:e})}catch(e){return!1}return!0},Br.supportsNativeTextTracks=function(){return ot||at&&Je},Br.supportsNativeVideoTracks=function(){return!(!Br.TEST_VID||!Br.TEST_VID.videoTracks)},Br.supportsNativeAudioTracks=function(){return!(!Br.TEST_VID||!Br.TEST_VID.audioTracks)},Br.Events=[\"loadstart\",\"suspend\",\"abort\",\"error\",\"emptied\",\"stalled\",\"loadedmetadata\",\"loadeddata\",\"canplay\",\"canplaythrough\",\"playing\",\"waiting\",\"seeking\",\"seeked\",\"ended\",\"durationchange\",\"timeupdate\",\"progress\",\"play\",\"pause\",\"ratechange\",\"resize\",\"volumechange\"],[[\"featuresVolumeControl\",\"canControlVolume\"],[\"featuresMuteControl\",\"canMuteVolume\"],[\"featuresPlaybackRate\",\"canControlPlaybackRate\"],[\"featuresSourceset\",\"canOverrideAttributes\"],[\"featuresNativeTextTracks\",\"supportsNativeTextTracks\"],[\"featuresNativeVideoTracks\",\"supportsNativeVideoTracks\"],[\"featuresNativeAudioTracks\",\"supportsNativeAudioTracks\"]].forEach(function(e){var t=e[0],i=e[1];Nr(Br.prototype,t,function(){return Br[i]()},!0)}),Br.prototype.movingMediaElementInDOM=!at,Br.prototype.featuresFullscreenResize=!0,Br.prototype.featuresProgressEvents=!0,Br.prototype.featuresTimeupdateEvents=!0,Br.patchCanPlayType=function(){4<=Ke&&!$e&&!Je&&(Rr=Br.TEST_VID&&Br.TEST_VID.constructor.prototype.canPlayType,Br.TEST_VID.constructor.prototype.canPlayType=function(e){return e&&/^application\\/(?:x-|vnd\\.apple\\.)mpegurl/i.test(e)?\"maybe\":Rr.call(this,e)})},Br.unpatchCanPlayType=function(){var e=Br.TEST_VID.constructor.prototype.canPlayType;return Rr&&(Br.TEST_VID.constructor.prototype.canPlayType=Rr),e},Br.patchCanPlayType(),Br.disposeMediaElement=function(e){if(e){for(e.parentNode&&e.parentNode.removeChild(e);e.hasChildNodes();)e.removeChild(e.firstChild);e.removeAttribute(\"src\"),\"function\"==typeof e.load&&function(){try{e.load()}catch(e){}}()}},Br.resetMediaElement=function(e){if(e){for(var t=e.querySelectorAll(\"source\"),i=t.length;i--;)e.removeChild(t[i]);e.removeAttribute(\"src\"),\"function\"==typeof e.load&&function(){try{e.load()}catch(e){}}()}},[\"muted\",\"defaultMuted\",\"autoplay\",\"controls\",\"loop\",\"playsinline\"].forEach(function(e){Br.prototype[e]=function(){return this.el_[e]||this.el_.hasAttribute(e)}}),[\"muted\",\"defaultMuted\",\"autoplay\",\"loop\",\"playsinline\"].forEach(function(t){Br.prototype[\"set\"+De(t)]=function(e){(this.el_[t]=e)?this.el_.setAttribute(t,t):this.el_.removeAttribute(t)}}),[\"paused\",\"currentTime\",\"buffered\",\"volume\",\"poster\",\"preload\",\"error\",\"seeking\",\"seekable\",\"ended\",\"playbackRate\",\"defaultPlaybackRate\",\"played\",\"networkState\",\"readyState\",\"videoWidth\",\"videoHeight\",\"crossOrigin\"].forEach(function(e){Br.prototype[e]=function(){return this.el_[e]}}),[\"volume\",\"src\",\"poster\",\"preload\",\"playbackRate\",\"defaultPlaybackRate\",\"crossOrigin\"].forEach(function(t){Br.prototype[\"set\"+De(t)]=function(e){this.el_[t]=e}}),[\"pause\",\"load\",\"play\"].forEach(function(e){Br.prototype[e]=function(){return this.el_[e]()}}),Vi.withSourceHandlers(Br),Br.nativeSourceHandler={},Br.nativeSourceHandler.canPlayType=function(e){try{return Br.TEST_VID.canPlayType(e)}catch(e){return\"\"}},Br.nativeSourceHandler.canHandleSource=function(e,t){if(e.type)return Br.nativeSourceHandler.canPlayType(e.type);if(e.src){var i=Ut(e.src);return Br.nativeSourceHandler.canPlayType(\"video/\"+i)}return\"\"},Br.nativeSourceHandler.handleSource=function(e,t,i){t.setSrc(e.src)},Br.nativeSourceHandler.dispose=function(){},Br.registerSourceHandler(Br.nativeSourceHandler),Vi.registerTech(\"Html5\",Br);var jr=[\"progress\",\"abort\",\"suspend\",\"emptied\",\"stalled\",\"loadedmetadata\",\"loadeddata\",\"timeupdate\",\"resize\",\"volumechange\",\"texttrackchange\"],Fr={canplay:\"CanPlay\",canplaythrough:\"CanPlayThrough\",playing:\"Playing\",seeked:\"Seeked\"},Hr=[\"tiny\",\"xsmall\",\"small\",\"medium\",\"large\",\"xlarge\",\"huge\"],Vr={};Hr.forEach(function(e){var t=\"x\"===e.charAt(0)?\"x-\"+e.substring(1):e;Vr[e]=\"vjs-layout-\"+t});var qr={tiny:210,xsmall:320,small:425,medium:768,large:1440,xlarge:2560,huge:1/0},Wr=function(c){function l(e,t,i){var n;if(e.id=e.id||t.id||\"vjs_video_\"+ne(),(t=m(l.getTagSettings(e),t)).initChildren=!1,t.createEl=!1,t.evented=!1,t.reportTouchActivity=!1,!t.language)if(\"function\"==typeof e.closest){var r=e.closest(\"[lang]\");r&&r.getAttribute&&(t.language=r.getAttribute(\"lang\"))}else for(var s=e;s&&1===s.nodeType;){if(P(s).hasOwnProperty(\"lang\")){t.language=s.getAttribute(\"lang\");break}s=s.parentNode}if((n=c.call(this,null,t,i)||this).boundDocumentFullscreenChange_=ge(Ue(n),n.documentFullscreenChange_),n.boundFullWindowOnEscKey_=ge(Ue(n),n.fullWindowOnEscKey),n.isFullscreen_=!1,n.log=f(n.id_),n.fsApi_=ft,n.isPosterFromTech_=!1,n.queuedCallbacks_=[],n.isReady_=!1,n.hasStarted_=!1,n.userActive_=!1,!n.options_||!n.options_.techOrder||!n.options_.techOrder.length)throw new Error(\"No techOrder specified. Did you overwrite videojs.options instead of just changing the properties you want to override?\");if(n.tag=e,n.tagAttributes=e&&P(e),n.language(n.options_.language),t.languages){var a={};Object.getOwnPropertyNames(t.languages).forEach(function(e){a[e.toLowerCase()]=t.languages[e]}),n.languages_=a}else n.languages_=l.prototype.options_.languages;n.resetCache_(),n.poster_=t.poster||\"\",n.controls_=!!t.controls,e.controls=!1,e.removeAttribute(\"controls\"),n.changingSrc_=!1,n.playCallbacks_=[],n.playTerminatedQueue_=[],e.hasAttribute(\"autoplay\")?n.autoplay(!0):n.autoplay(n.options_.autoplay),t.plugins&&Object.keys(t.plugins).forEach(function(e){if(\"function\"!=typeof n[e])throw new Error('plugin \"'+e+'\" does not exist')}),n.scrubbing_=!1,n.el_=n.createEl(),Ie(Ue(n),{eventBusKey:\"el_\"}),n.fsApi_.requestFullscreen&&(he(h,n.fsApi_.fullscreenchange,n.boundDocumentFullscreenChange_),n.on(n.fsApi_.fullscreenchange,n.boundDocumentFullscreenChange_)),n.fluid_&&n.on(\"playerreset\",n.updateStyleEl_);var o=Ne(n.options_);t.plugins&&Object.keys(t.plugins).forEach(function(e){n[e](t.plugins[e])}),n.options_.playerOptions=o,n.middleware_=[],n.initChildren(),n.isAudio(\"audio\"===e.nodeName.toLowerCase()),n.controls()?n.addClass(\"vjs-controls-enabled\"):n.addClass(\"vjs-controls-disabled\"),n.el_.setAttribute(\"role\",\"region\"),n.isAudio()?n.el_.setAttribute(\"aria-label\",n.localize(\"Audio Player\")):n.el_.setAttribute(\"aria-label\",n.localize(\"Video Player\")),n.isAudio()&&n.addClass(\"vjs-audio\"),n.flexNotSupported_()&&n.addClass(\"vjs-no-flex\"),nt&&n.addClass(\"vjs-touch-enabled\"),at||n.addClass(\"vjs-workinghover\"),l.players[n.id_]=Ue(n);var u=d.split(\".\")[0];return n.addClass(\"vjs-v\"+u),n.userActive(!0),n.reportUserActivity(),n.one(\"play\",n.listenForUserActivity_),n.on(\"stageclick\",n.handleStageClick_),n.on(\"keydown\",n.handleKeyDown),n.breakpoints(n.options_.breakpoints),n.responsive(n.options_.responsive),n}He(l,c);var e=l.prototype;return e.dispose=function(){var n=this;this.trigger(\"dispose\"),this.off(\"dispose\"),de(h,this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_),de(h,\"keydown\",this.boundFullWindowOnEscKey_),this.styleEl_&&this.styleEl_.parentNode&&(this.styleEl_.parentNode.removeChild(this.styleEl_),this.styleEl_=null),l.players[this.id_]=null,this.tag&&this.tag.player&&(this.tag.player=null),this.el_&&this.el_.player&&(this.el_.player=null),this.tech_&&(this.tech_.dispose(),this.isPosterFromTech_=!1,this.poster_=\"\"),this.playerElIngest_&&(this.playerElIngest_=null),this.tag&&(this.tag=null),function(e){Wi[e.id()]=null}(this),hi.names.forEach(function(e){var t=hi[e],i=n[t.getterName]();i&&i.off&&i.off()}),c.prototype.dispose.call(this)},e.createEl=function(){var t,i=this.tag,e=this.playerElIngest_=i.parentNode&&i.parentNode.hasAttribute&&i.parentNode.hasAttribute(\"data-vjs-player\"),n=\"video-js\"===this.tag.tagName.toLowerCase();e?t=this.el_=i.parentNode:n||(t=this.el_=c.prototype.createEl.call(this,\"div\"));var r=P(i);if(n){for(t=this.el_=i,i=this.tag=h.createElement(\"video\");t.children.length;)i.appendChild(t.firstChild);w(t,\"video-js\")||E(t,\"video-js\"),t.appendChild(i),e=this.playerElIngest_=t,Object.keys(t).forEach(function(e){try{i[e]=t[e]}catch(e){}})}if(i.setAttribute(\"tabindex\",\"-1\"),r.tabindex=\"-1\",(et||Je&&it)&&(i.setAttribute(\"role\",\"application\"),r.role=\"application\"),i.removeAttribute(\"width\"),i.removeAttribute(\"height\"),\"width\"in r&&delete r.width,\"height\"in r&&delete r.height,Object.getOwnPropertyNames(r).forEach(function(e){n&&\"class\"===e||t.setAttribute(e,r[e]),n&&i.setAttribute(e,r[e])}),i.playerId=i.id,i.id+=\"_html5_api\",i.className=\"vjs-tech\",i.player=t.player=this,this.addClass(\"vjs-paused\"),!0!==y.VIDEOJS_NO_DYNAMIC_STYLE){this.styleEl_=Z(\"vjs-styles-dimensions\");var s=G(\".vjs-styles-defaults\"),a=G(\"head\");a.insertBefore(this.styleEl_,s?s.nextSibling:a.firstChild)}this.fill_=!1,this.fluid_=!1,this.width(this.options_.width),this.height(this.options_.height),this.fill(this.options_.fill),this.fluid(this.options_.fluid),this.aspectRatio(this.options_.aspectRatio),this.crossOrigin(this.options_.crossOrigin||this.options_.crossorigin);for(var o=i.getElementsByTagName(\"a\"),u=0;u<o.length;u++){var l=o.item(u);E(l,\"vjs-hidden\"),l.setAttribute(\"hidden\",\"hidden\")}return i.initNetworkState_=i.networkState,i.parentNode&&!e&&i.parentNode.insertBefore(t,i),C(i,t),this.children_.unshift(i),this.el_.setAttribute(\"lang\",this.language_),this.el_=t},e.crossOrigin=function(e){if(!e)return this.techGet_(\"crossOrigin\");\"anonymous\"===e||\"use-credentials\"===e?this.techCall_(\"setCrossOrigin\",e):p.warn('crossOrigin must be \"anonymous\" or \"use-credentials\", given \"'+e+'\"')},e.width=function(e){return this.dimension(\"width\",e)},e.height=function(e){return this.dimension(\"height\",e)},e.dimension=function(e,t){var i=e+\"_\";if(void 0===t)return this[i]||0;if(\"\"===t||\"auto\"===t)return this[i]=void 0,void this.updateStyleEl_();var n=parseFloat(t);isNaN(n)?p.error('Improper value \"'+t+'\" supplied for for '+e):(this[i]=n,this.updateStyleEl_())},e.fluid=function(e){if(void 0===e)return!!this.fluid_;this.fluid_=!!e,xe(this)&&this.off(\"playerreset\",this.updateStyleEl_),e?(this.addClass(\"vjs-fluid\"),this.fill(!1),function(e,t){xe(e)?t():(e.eventedCallbacks||(e.eventedCallbacks=[]),e.eventedCallbacks.push(t))}(function(){this.on(\"playerreset\",this.updateStyleEl_)})):this.removeClass(\"vjs-fluid\"),this.updateStyleEl_()},e.fill=function(e){if(void 0===e)return!!this.fill_;this.fill_=!!e,e?(this.addClass(\"vjs-fill\"),this.fluid(!1)):this.removeClass(\"vjs-fill\")},e.aspectRatio=function(e){if(void 0===e)return this.aspectRatio_;if(!/^\\d+\\:\\d+$/.test(e))throw new Error(\"Improper value supplied for aspect ratio. The format should be width:height, for example 16:9.\");this.aspectRatio_=e,this.fluid(!0),this.updateStyleEl_()},e.updateStyleEl_=function(){if(!0!==y.VIDEOJS_NO_DYNAMIC_STYLE){var e,t,i,n=(void 0!==this.aspectRatio_&&\"auto\"!==this.aspectRatio_?this.aspectRatio_:0<this.videoWidth()?this.videoWidth()+\":\"+this.videoHeight():\"16:9\").split(\":\"),r=n[1]/n[0];e=void 0!==this.width_?this.width_:void 0!==this.height_?this.height_/r:this.videoWidth()||300,t=void 0!==this.height_?this.height_:e*r,i=/^[^a-zA-Z]/.test(this.id())?\"dimensions-\"+this.id():this.id()+\"-dimensions\",this.addClass(i),ee(this.styleEl_,\"\\n .\"+i+\" {\\n width: \"+e+\"px;\\n height: \"+t+\"px;\\n }\\n\\n .\"+i+\".vjs-fluid {\\n padding-top: \"+100*r+\"%;\\n }\\n \")}else{var s=\"number\"==typeof this.width_?this.width_:this.options_.width,a=\"number\"==typeof this.height_?this.height_:this.options_.height,o=this.tech_&&this.tech_.el();o&&(0<=s&&(o.width=s),0<=a&&(o.height=a))}},e.loadTech_=function(e,t){var i=this;this.tech_&&this.unloadTech_();var n=De(e),r=e.charAt(0).toLowerCase()+e.slice(1);\"Html5\"!==n&&this.tag&&(Vi.getTech(\"Html5\").disposeMediaElement(this.tag),this.tag.player=null,this.tag=null),this.techName_=n,this.isReady_=!1;var s={source:t,autoplay:\"string\"!=typeof this.autoplay()&&this.autoplay(),nativeControlsForTouch:this.options_.nativeControlsForTouch,playerId:this.id(),techId:this.id()+\"_\"+r+\"_api\",playsinline:this.options_.playsinline,preload:this.options_.preload,loop:this.options_.loop,muted:this.options_.muted,poster:this.poster(),language:this.language(),playerElIngest:this.playerElIngest_||!1,\"vtt.js\":this.options_[\"vtt.js\"],canOverridePoster:!!this.options_.techCanOverridePoster,enableSourceset:this.options_.enableSourceset,Promise:this.options_.Promise};hi.names.forEach(function(e){var t=hi[e];s[t.getterName]=i[t.privateName]}),m(s,this.options_[n]),m(s,this.options_[r]),m(s,this.options_[e.toLowerCase()]),this.tag&&(s.tag=this.tag),t&&t.src===this.cache_.src&&0<this.cache_.currentTime&&(s.startTime=this.cache_.currentTime);var a=Vi.getTech(e);if(!a)throw new Error(\"No Tech named '\"+n+\"' exists! '\"+n+\"' should be registered using videojs.registerTech()'\");this.tech_=new a(s),this.tech_.ready(ge(this,this.handleTechReady_),!0),Et(this.textTracksJson_||[],this.tech_),jr.forEach(function(e){i.on(i.tech_,e,i[\"handleTech\"+De(e)+\"_\"])}),Object.keys(Fr).forEach(function(t){i.on(i.tech_,t,function(e){0===i.tech_.playbackRate()&&i.tech_.seeking()?i.queuedCallbacks_.push({callback:i[\"handleTech\"+Fr[t]+\"_\"].bind(i),event:e}):i[\"handleTech\"+Fr[t]+\"_\"](e)})}),this.on(this.tech_,\"loadstart\",this.handleTechLoadStart_),this.on(this.tech_,\"sourceset\",this.handleTechSourceset_),this.on(this.tech_,\"waiting\",this.handleTechWaiting_),this.on(this.tech_,\"ended\",this.handleTechEnded_),this.on(this.tech_,\"seeking\",this.handleTechSeeking_),this.on(this.tech_,\"play\",this.handleTechPlay_),this.on(this.tech_,\"firstplay\",this.handleTechFirstPlay_),this.on(this.tech_,\"pause\",this.handleTechPause_),this.on(this.tech_,\"durationchange\",this.handleTechDurationChange_),this.on(this.tech_,\"fullscreenchange\",this.handleTechFullscreenChange_),this.on(this.tech_,\"fullscreenerror\",this.handleTechFullscreenError_),this.on(this.tech_,\"enterpictureinpicture\",this.handleTechEnterPictureInPicture_),this.on(this.tech_,\"leavepictureinpicture\",this.handleTechLeavePictureInPicture_),this.on(this.tech_,\"error\",this.handleTechError_),this.on(this.tech_,\"loadedmetadata\",this.updateStyleEl_),this.on(this.tech_,\"posterchange\",this.handleTechPosterChange_),this.on(this.tech_,\"textdata\",this.handleTechTextData_),this.on(this.tech_,\"ratechange\",this.handleTechRateChange_),this.usingNativeControls(this.techGet_(\"controls\")),this.controls()&&!this.usingNativeControls()&&this.addTechControlsListeners_(),this.tech_.el().parentNode===this.el()||\"Html5\"===n&&this.tag||C(this.tech_.el(),this.el()),this.tag&&(this.tag.player=null,this.tag=null)},e.unloadTech_=function(){var i=this;hi.names.forEach(function(e){var t=hi[e];i[t.privateName]=i[t.getterName]()}),this.textTracksJson_=wt(this.tech_),this.isReady_=!1,this.tech_.dispose(),this.tech_=!1,this.isPosterFromTech_&&(this.poster_=\"\",this.trigger(\"posterchange\")),this.isPosterFromTech_=!1},e.tech=function(e){return void 0===e&&p.warn(\"Using the tech directly can be dangerous. I hope you know what you're doing.\\nSee https://github.com/videojs/video.js/issues/2617 for more info.\\n\"),this.tech_},e.addTechControlsListeners_=function(){this.removeTechControlsListeners_(),this.on(this.tech_,\"mouseup\",this.handleTechClick_),this.on(this.tech_,\"dblclick\",this.handleTechDoubleClick_),this.on(this.tech_,\"touchstart\",this.handleTechTouchStart_),this.on(this.tech_,\"touchmove\",this.handleTechTouchMove_),this.on(this.tech_,\"touchend\",this.handleTechTouchEnd_),this.on(this.tech_,\"tap\",this.handleTechTap_)},e.removeTechControlsListeners_=function(){this.off(this.tech_,\"tap\",this.handleTechTap_),this.off(this.tech_,\"touchstart\",this.handleTechTouchStart_),this.off(this.tech_,\"touchmove\",this.handleTechTouchMove_),this.off(this.tech_,\"touchend\",this.handleTechTouchEnd_),this.off(this.tech_,\"mouseup\",this.handleTechClick_),this.off(this.tech_,\"dblclick\",this.handleTechDoubleClick_)},e.handleTechReady_=function(){this.triggerReady(),this.cache_.volume&&this.techCall_(\"setVolume\",this.cache_.volume),this.handleTechPosterChange_(),this.handleTechDurationChange_()},e.handleTechLoadStart_=function(){this.removeClass(\"vjs-ended\"),this.removeClass(\"vjs-seeking\"),this.error(null),this.handleTechDurationChange_(),this.paused()?(this.hasStarted(!1),this.trigger(\"loadstart\")):(this.trigger(\"loadstart\"),this.trigger(\"firstplay\")),this.manualAutoplay_(this.autoplay())},e.manualAutoplay_=function(t){var n=this;if(this.tech_&&\"string\"==typeof t){var e,i=function(){var e=n.muted();n.muted(!0);function t(){n.muted(e)}n.playTerminatedQueue_.push(t);var i=n.play();if(St(i))return i.catch(t)};if(\"any\"===t&&!0!==this.muted()?St(e=this.play())&&(e=e.catch(i)):e=\"muted\"===t&&!0!==this.muted()?i():this.play(),St(e))return e.then(function(){n.trigger({type:\"autoplay-success\",autoplay:t})}).catch(function(e){n.trigger({type:\"autoplay-failure\",autoplay:t})})}},e.updateSourceCaches_=function(e){void 0===e&&(e=\"\");var t=e,i=\"\";\"string\"!=typeof t&&(t=e.src,i=e.type),this.cache_.source=this.cache_.source||{},this.cache_.sources=this.cache_.sources||[],t&&!i&&(i=function(e,t){if(!t)return\"\";if(e.cache_.source.src===t&&e.cache_.source.type)return e.cache_.source.type;var i=e.cache_.sources.filter(function(e){return e.src===t});if(i.length)return i[0].type;for(var n=e.$$(\"source\"),r=0;r<n.length;r++){var s=n[r];if(s.type&&s.src&&s.src===t)return s.type}return Zi(t)}(this,t)),this.cache_.source=Ne({},e,{src:t,type:i});for(var n=this.cache_.sources.filter(function(e){return e.src&&e.src===t}),r=[],s=this.$$(\"source\"),a=[],o=0;o<s.length;o++){var u=P(s[o]);r.push(u),u.src&&u.src===t&&a.push(u.src)}a.length&&!n.length?this.cache_.sources=r:n.length||(this.cache_.sources=[this.cache_.source]),this.cache_.src=t},e.handleTechSourceset_=function(e){var i=this;if(!this.changingSrc_){var t=function(e){return i.updateSourceCaches_(e)},n=this.currentSource().src,r=e.src;n&&!/^blob:/.test(n)&&/^blob:/.test(r)&&(this.lastSource_&&(this.lastSource_.tech===r||this.lastSource_.player===n)||(t=function(){})),t(r),e.src||this.tech_.any([\"sourceset\",\"loadstart\"],function(e){if(\"sourceset\"!==e.type){var t=i.techGet(\"currentSrc\");i.lastSource_.tech=t,i.updateSourceCaches_(t)}})}this.lastSource_={player:this.currentSource().src,tech:e.src},this.trigger({src:e.src,type:\"sourceset\"})},e.hasStarted=function(e){if(void 0===e)return this.hasStarted_;e!==this.hasStarted_&&(this.hasStarted_=e,this.hasStarted_?(this.addClass(\"vjs-has-started\"),this.trigger(\"firstplay\")):this.removeClass(\"vjs-has-started\"))},e.handleTechPlay_=function(){this.removeClass(\"vjs-ended\"),this.removeClass(\"vjs-paused\"),this.addClass(\"vjs-playing\"),this.hasStarted(!0),this.trigger(\"play\")},e.handleTechRateChange_=function(){0<this.tech_.playbackRate()&&0===this.cache_.lastPlaybackRate&&(this.queuedCallbacks_.forEach(function(e){return e.callback(e.event)}),this.queuedCallbacks_=[]),this.cache_.lastPlaybackRate=this.tech_.playbackRate(),this.trigger(\"ratechange\")},e.handleTechWaiting_=function(){var t=this;this.addClass(\"vjs-waiting\"),this.trigger(\"waiting\");var i=this.currentTime();this.on(\"timeupdate\",function e(){i!==t.currentTime()&&(t.removeClass(\"vjs-waiting\"),t.off(\"timeupdate\",e))})},e.handleTechCanPlay_=function(){this.removeClass(\"vjs-waiting\"),this.trigger(\"canplay\")},e.handleTechCanPlayThrough_=function(){this.removeClass(\"vjs-waiting\"),this.trigger(\"canplaythrough\")},e.handleTechPlaying_=function(){this.removeClass(\"vjs-waiting\"),this.trigger(\"playing\")},e.handleTechSeeking_=function(){this.addClass(\"vjs-seeking\"),this.trigger(\"seeking\")},e.handleTechSeeked_=function(){this.removeClass(\"vjs-seeking\"),this.removeClass(\"vjs-ended\"),this.trigger(\"seeked\")},e.handleTechFirstPlay_=function(){this.options_.starttime&&(p.warn(\"Passing the `starttime` option to the player will be deprecated in 6.0\"),this.currentTime(this.options_.starttime)),this.addClass(\"vjs-has-started\"),this.trigger(\"firstplay\")},e.handleTechPause_=function(){this.removeClass(\"vjs-playing\"),this.addClass(\"vjs-paused\"),this.trigger(\"pause\")},e.handleTechEnded_=function(){this.addClass(\"vjs-ended\"),this.options_.loop?(this.currentTime(0),this.play()):this.paused()||this.pause(),this.trigger(\"ended\")},e.handleTechDurationChange_=function(){this.duration(this.techGet_(\"duration\"))},e.handleTechClick_=function(e){W(e)&&this.controls_&&(this.paused()?kt(this.play()):this.pause())},e.handleTechDoubleClick_=function(t){this.controls_&&(Array.prototype.some.call(this.$$(\".vjs-control-bar, .vjs-modal-dialog\"),function(e){return e.contains(t.target)})||void 0!==this.options_&&void 0!==this.options_.userActions&&void 0!==this.options_.userActions.doubleClick&&!1===this.options_.userActions.doubleClick||(void 0!==this.options_&&void 0!==this.options_.userActions&&\"function\"==typeof this.options_.userActions.doubleClick?this.options_.userActions.doubleClick.call(this,t):this.isFullscreen()?this.exitFullscreen():this.requestFullscreen()))},e.handleTechTap_=function(){this.userActive(!this.userActive())},e.handleTechTouchStart_=function(){this.userWasActive=this.userActive()},e.handleTechTouchMove_=function(){this.userWasActive&&this.reportUserActivity()},e.handleTechTouchEnd_=function(e){e.preventDefault()},e.handleStageClick_=function(){this.reportUserActivity()},e.toggleFullscreenClass_=function(){this.isFullscreen()?this.addClass(\"vjs-fullscreen\"):this.removeClass(\"vjs-fullscreen\")},e.documentFullscreenChange_=function(e){var t=e.target.player;if(!t||t===this){var i=this.el(),n=h[this.fsApi_.fullscreenElement]===i;!n&&i.matches?n=i.matches(\":\"+this.fsApi_.fullscreen):!n&&i.msMatchesSelector&&(n=i.msMatchesSelector(\":\"+this.fsApi_.fullscreen)),this.isFullscreen(n)}},e.handleTechFullscreenChange_=function(e,t){t&&(t.nativeIOSFullscreen&&this.toggleClass(\"vjs-ios-native-fs\"),this.isFullscreen(t.isFullscreen))},e.handleTechFullscreenError_=function(e,t){this.trigger(\"fullscreenerror\",t)},e.togglePictureInPictureClass_=function(){this.isInPictureInPicture()?this.addClass(\"vjs-picture-in-picture\"):this.removeClass(\"vjs-picture-in-picture\")},e.handleTechEnterPictureInPicture_=function(e){this.isInPictureInPicture(!0)},e.handleTechLeavePictureInPicture_=function(e){this.isInPictureInPicture(!1)},e.handleTechError_=function(){var e=this.tech_.error();this.error(e)},e.handleTechTextData_=function(e,t){var i=null;1<arguments.length&&(i=t),this.trigger(\"textdata\",i)},e.getCache=function(){return this.cache_},e.resetCache_=function(){this.cache_={currentTime:0,initTime:0,inactivityTimeout:this.options_.inactivityTimeout,duration:NaN,lastVolume:1,lastPlaybackRate:this.defaultPlaybackRate(),media:null,src:\"\",source:{},sources:[],volume:1}},e.techCall_=function(e,t){this.ready(function(){if(e in Yi)return function(e,t,i,n){return t[i](e.reduce(Qi(i),n))}(this.middleware_,this.tech_,e,t);if(e in $i)return Xi(this.middleware_,this.tech_,e,t);try{this.tech_&&this.tech_[e](t)}catch(e){throw p(e),e}},!0)},e.techGet_=function(t){if(this.tech_&&this.tech_.isReady_){if(t in Ki)return function(e,t,i){return e.reduceRight(Qi(i),t[i]())}(this.middleware_,this.tech_,t);if(t in $i)return Xi(this.middleware_,this.tech_,t);try{return this.tech_[t]()}catch(e){if(void 0===this.tech_[t])throw p(\"Video.js: \"+t+\" method not defined for \"+this.techName_+\" playback technology.\",e),e;if(\"TypeError\"===e.name)throw p(\"Video.js: \"+t+\" unavailable on \"+this.techName_+\" playback technology element.\",e),this.tech_.isReady_=!1,e;throw p(e),e}}},e.play=function(){var t=this,e=this.options_.Promise||y.Promise;return e?new e(function(e){t.play_(e)}):this.play_()},e.play_=function(e){var t=this;void 0===e&&(e=kt),this.playCallbacks_.push(e);var i=Boolean(!this.changingSrc_&&(this.src()||this.currentSrc()));if(this.waitToPlay_&&(this.off([\"ready\",\"loadstart\"],this.waitToPlay_),this.waitToPlay_=null),!this.isReady_||!i)return this.waitToPlay_=function(e){t.play_()},this.one([\"ready\",\"loadstart\"],this.waitToPlay_),void(i||!ot&&!at||this.load());var n=this.techGet_(\"play\");null===n?this.runPlayTerminatedQueue_():this.runPlayCallbacks_(n)},e.runPlayTerminatedQueue_=function(){var e=this.playTerminatedQueue_.slice(0);this.playTerminatedQueue_=[],e.forEach(function(e){e()})},e.runPlayCallbacks_=function(t){var e=this.playCallbacks_.slice(0);this.playCallbacks_=[],this.playTerminatedQueue_=[],e.forEach(function(e){e(t)})},e.pause=function(){this.techCall_(\"pause\")},e.paused=function(){return!1!==this.techGet_(\"paused\")},e.played=function(){return this.techGet_(\"played\")||ht(0,0)},e.scrubbing=function(e){if(\"undefined\"==typeof e)return this.scrubbing_;this.scrubbing_=!!e,e?this.addClass(\"vjs-scrubbing\"):this.removeClass(\"vjs-scrubbing\")},e.currentTime=function(e){return\"undefined\"!=typeof e?(e<0&&(e=0),this.isReady_&&!this.changingSrc_&&this.tech_&&this.tech_.isReady_?(this.techCall_(\"setCurrentTime\",e),void(this.cache_.initTime=0)):(this.cache_.initTime=e,this.off(\"canplay\",this.applyInitTime_),void this.one(\"canplay\",this.applyInitTime_))):(this.cache_.currentTime=this.techGet_(\"currentTime\")||0,this.cache_.currentTime)},e.applyInitTime_=function(){this.currentTime(this.cache_.initTime)},e.duration=function(e){if(void 0===e)return void 0!==this.cache_.duration?this.cache_.duration:NaN;(e=parseFloat(e))<0&&(e=1/0),e!==this.cache_.duration&&((this.cache_.duration=e)===1/0?this.addClass(\"vjs-live\"):this.removeClass(\"vjs-live\"),isNaN(e)||this.trigger(\"durationchange\"))},e.remainingTime=function(){return this.duration()-this.currentTime()},e.remainingTimeDisplay=function(){return Math.floor(this.duration())-Math.floor(this.currentTime())},e.buffered=function(){var e=this.techGet_(\"buffered\");return e&&e.length||(e=ht(0,0)),e},e.bufferedPercent=function(){return dt(this.buffered(),this.duration())},e.bufferedEnd=function(){var e=this.buffered(),t=this.duration(),i=e.end(e.length-1);return t<i&&(i=t),i},e.volume=function(e){var t;return void 0!==e?(t=Math.max(0,Math.min(1,parseFloat(e))),this.cache_.volume=t,this.techCall_(\"setVolume\",t),void(0<t&&this.lastVolume_(t))):(t=parseFloat(this.techGet_(\"volume\")),isNaN(t)?1:t)},e.muted=function(e){if(void 0===e)return this.techGet_(\"muted\")||!1;this.techCall_(\"setMuted\",e)},e.defaultMuted=function(e){return void 0!==e?this.techCall_(\"setDefaultMuted\",e):this.techGet_(\"defaultMuted\")||!1},e.lastVolume_=function(e){if(void 0===e||0===e)return this.cache_.lastVolume;this.cache_.lastVolume=e},e.supportsFullScreen=function(){return this.techGet_(\"supportsFullScreen\")||!1},e.isFullscreen=function(e){if(void 0===e)return this.isFullscreen_;var t=this.isFullscreen_;return this.isFullscreen_=Boolean(e),this.isFullscreen_!==t&&this.fsApi_.prefixed&&this.trigger(\"fullscreenchange\"),void this.toggleFullscreenClass_()},e.requestFullscreen=function(a){var e=this.options_.Promise||y.Promise;if(e){var o=this;return new e(function(e,i){function n(){o.off(\"fullscreenerror\",r),o.off(\"fullscreenchange\",t)}function t(){n(),e()}function r(e,t){n(),i(t)}o.one(\"fullscreenchange\",t),o.one(\"fullscreenerror\",r);var s=o.requestFullscreenHelper_(a);if(s)return s.then(n,n),s})}return this.requestFullscreenHelper_()},e.requestFullscreenHelper_=function(e){var t,i=this;if(this.fsApi_.prefixed||(t=this.options_.fullscreen&&this.options_.fullscreen.options||{},void 0!==e&&(t=e)),this.fsApi_.requestFullscreen){var n=this.el_[this.fsApi_.requestFullscreen](t);return n&&n.then(function(){return i.isFullscreen(!0)},function(){return i.isFullscreen(!1)}),n}this.tech_.supportsFullScreen()?this.techCall_(\"enterFullScreen\"):this.enterFullWindow()},e.exitFullscreen=function(){var e=this.options_.Promise||y.Promise;if(e){var a=this;return new e(function(e,i){function n(){a.off(\"fullscreenerror\",r),a.off(\"fullscreenchange\",t)}function t(){n(),e()}function r(e,t){n(),i(t)}a.one(\"fullscreenchange\",t),a.one(\"fullscreenerror\",r);var s=a.exitFullscreenHelper_();if(s)return s.then(n,n),s})}return this.exitFullscreenHelper_()},e.exitFullscreenHelper_=function(){var e=this;if(this.fsApi_.requestFullscreen){var t=h[this.fsApi_.exitFullscreen]();return t&&t.then(function(){return e.isFullscreen(!1)}),t}this.tech_.supportsFullScreen()?this.techCall_(\"exitFullScreen\"):this.exitFullWindow()},e.enterFullWindow=function(){this.isFullscreen(!0),this.isFullWindow=!0,this.docOrigOverflow=h.documentElement.style.overflow,he(h,\"keydown\",this.boundFullWindowOnEscKey_),h.documentElement.style.overflow=\"hidden\",E(h.body,\"vjs-full-window\"),this.trigger(\"enterFullWindow\")},e.fullWindowOnEscKey=function(e){xt.isEventKey(e,\"Esc\")&&(!0===this.isFullscreen()?this.exitFullscreen():this.exitFullWindow())},e.exitFullWindow=function(){this.isFullscreen(!1),this.isFullWindow=!1,de(h,\"keydown\",this.boundFullWindowOnEscKey_),h.documentElement.style.overflow=this.docOrigOverflow,x(h.body,\"vjs-full-window\"),this.trigger(\"exitFullWindow\")},e.isInPictureInPicture=function(e){return void 0!==e?(this.isInPictureInPicture_=!!e,void this.togglePictureInPictureClass_()):!!this.isInPictureInPicture_},e.requestPictureInPicture=function(){if(\"pictureInPictureEnabled\"in h)return this.techGet_(\"requestPictureInPicture\")},e.exitPictureInPicture=function(){if(\"pictureInPictureEnabled\"in h)return h.exitPictureInPicture()},e.handleKeyDown=function(e){var t=this.options_.userActions;if(t&&t.hotkeys){!function(e){var t=e.tagName.toLowerCase();if(e.isContentEditable)return!0;if(\"input\"===t)return-1===[\"button\",\"checkbox\",\"hidden\",\"radio\",\"reset\",\"submit\"].indexOf(e.type);return-1!==[\"textarea\"].indexOf(t)}(this.el_.ownerDocument.activeElement)&&(\"function\"==typeof t.hotkeys?t.hotkeys.call(this,e):this.handleHotkeys(e))}},e.handleHotkeys=function(e){var t=this.options_.userActions?this.options_.userActions.hotkeys:{},i=t.fullscreenKey,n=void 0===i?function(e){return xt.isEventKey(e,\"f\")}:i,r=t.muteKey,s=void 0===r?function(e){return xt.isEventKey(e,\"m\")}:r,a=t.playPauseKey,o=void 0===a?function(e){return xt.isEventKey(e,\"k\")||xt.isEventKey(e,\"Space\")}:a;if(n.call(this,e)){e.preventDefault(),e.stopPropagation();var u=Re.getComponent(\"FullscreenToggle\");!1!==h[this.fsApi_.fullscreenEnabled]&&u.prototype.handleClick.call(this,e)}else if(s.call(this,e)){e.preventDefault(),e.stopPropagation(),Re.getComponent(\"MuteToggle\").prototype.handleClick.call(this,e)}else if(o.call(this,e)){e.preventDefault(),e.stopPropagation(),Re.getComponent(\"PlayToggle\").prototype.handleClick.call(this,e)}},e.canPlayType=function(e){for(var t,i=0,n=this.options_.techOrder;i<n.length;i++){var r=n[i],s=Vi.getTech(r);if(s=s||Re.getComponent(r)){if(s.isSupported()&&(t=s.canPlayType(e)))return t}else p.error('The \"'+r+'\" tech is undefined. Skipped browser support check for that tech.')}return\"\"},e.selectSource=function(e){function t(e,i,n){var r;return e.some(function(t){return i.some(function(e){if(r=n(t,e))return!0})}),r}function i(e,t){var i=e[0];if(e[1].canPlaySource(t,r.options_[i.toLowerCase()]))return{source:t,tech:i}}var n,r=this,s=this.options_.techOrder.map(function(e){return[e,Vi.getTech(e)]}).filter(function(e){var t=e[0],i=e[1];return i?i.isSupported():(p.error('The \"'+t+'\" tech is undefined. Skipped browser support check for that tech.'),!1)});return(this.options_.sourceOrder?t(e,s,(n=i,function(e,t){return n(t,e)})):t(s,e,i))||!1},e.src=function(e){var i=this;if(\"undefined\"==typeof e)return this.cache_.src||\"\";var n=function t(e){if(Array.isArray(e)){var i=[];e.forEach(function(e){e=t(e),Array.isArray(e)?i=i.concat(e):o(e)&&i.push(e)}),e=i}else e=\"string\"==typeof e&&e.trim()?[tn({src:e})]:o(e)&&\"string\"==typeof e.src&&e.src&&e.src.trim()?[tn(e)]:[];return e}(e);n.length?(this.changingSrc_=!0,this.cache_.sources=n,this.updateSourceCaches_(n[0]),Gi(this,n[0],function(e,t){if(i.middleware_=t,i.cache_.sources=n,i.updateSourceCaches_(e),i.src_(e))return 1<n.length?i.src(n.slice(1)):(i.changingSrc_=!1,i.setTimeout(function(){this.error({code:4,message:this.localize(this.options_.notSupportedMessage)})},0),void i.triggerReady());!function(e,t){e.forEach(function(e){return e.setTech&&e.setTech(t)})}(t,i.tech_)})):this.setTimeout(function(){this.error({code:4,message:this.localize(this.options_.notSupportedMessage)})},0)},e.src_=function(e){var t=this,i=this.selectSource([e]);return!i||(function(e,t){return De(e)===De(t)}(i.tech,this.techName_)?this.ready(function(){this.tech_.constructor.prototype.hasOwnProperty(\"setSource\")?this.techCall_(\"setSource\",e):this.techCall_(\"src\",e.src),this.changingSrc_=!1},!0):(this.changingSrc_=!0,this.loadTech_(i.tech,i.source),this.tech_.ready(function(){t.changingSrc_=!1})),!1)},e.load=function(){this.techCall_(\"load\")},e.reset=function(){var e=this,t=this.options_.Promise||y.Promise;this.paused()||!t?this.doReset_():kt(this.play().then(function(){return e.doReset_()}))},e.doReset_=function(){this.tech_&&this.tech_.clearTracks(\"text\"),this.resetCache_(),this.poster(\"\"),this.loadTech_(this.options_.techOrder[0],null),this.techCall_(\"reset\"),this.resetControlBarUI_(),xe(this)&&this.trigger(\"playerreset\")},e.resetControlBarUI_=function(){this.resetProgressBar_(),this.resetPlaybackRate_(),this.resetVolumeBar_()},e.resetProgressBar_=function(){this.currentTime(0);var e=this.controlBar,t=e.durationDisplay,i=e.remainingTimeDisplay;t&&t.updateContent(),i&&i.updateContent()},e.resetPlaybackRate_=function(){this.playbackRate(this.defaultPlaybackRate()),this.handleTechRateChange_()},e.resetVolumeBar_=function(){this.volume(1),this.trigger(\"volumechange\")},e.currentSources=function(){var e=this.currentSource(),t=[];return 0!==Object.keys(e).length&&t.push(e),this.cache_.sources||t},e.currentSource=function(){return this.cache_.source||{}},e.currentSrc=function(){return this.currentSource()&&this.currentSource().src||\"\"},e.currentType=function(){return this.currentSource()&&this.currentSource().type||\"\"},e.preload=function(e){return void 0!==e?(this.techCall_(\"setPreload\",e),void(this.options_.preload=e)):this.techGet_(\"preload\")},e.autoplay=function(e){if(void 0===e)return this.options_.autoplay||!1;var t;\"string\"==typeof e&&/(any|play|muted)/.test(e)?(this.options_.autoplay=e,this.manualAutoplay_(e),t=!1):this.options_.autoplay=!!e,t=\"undefined\"==typeof t?this.options_.autoplay:t,this.tech_&&this.techCall_(\"setAutoplay\",t)},e.playsinline=function(e){return void 0!==e?(this.techCall_(\"setPlaysinline\",e),this.options_.playsinline=e,this):this.techGet_(\"playsinline\")},e.loop=function(e){return void 0!==e?(this.techCall_(\"setLoop\",e),void(this.options_.loop=e)):this.techGet_(\"loop\")},e.poster=function(e){if(void 0===e)return this.poster_;(e=e||\"\")!==this.poster_&&(this.poster_=e,this.techCall_(\"setPoster\",e),this.isPosterFromTech_=!1,this.trigger(\"posterchange\"))},e.handleTechPosterChange_=function(){if((!this.poster_||this.options_.techCanOverridePoster)&&this.tech_&&this.tech_.poster){var e=this.tech_.poster()||\"\";e!==this.poster_&&(this.poster_=e,this.isPosterFromTech_=!0,this.trigger(\"posterchange\"))}},e.controls=function(e){if(void 0===e)return!!this.controls_;e=!!e,this.controls_!==e&&(this.controls_=e,this.usingNativeControls()&&this.techCall_(\"setControls\",e),this.controls_?(this.removeClass(\"vjs-controls-disabled\"),this.addClass(\"vjs-controls-enabled\"),this.trigger(\"controlsenabled\"),this.usingNativeControls()||this.addTechControlsListeners_()):(this.removeClass(\"vjs-controls-enabled\"),this.addClass(\"vjs-controls-disabled\"),this.trigger(\"controlsdisabled\"),this.usingNativeControls()||this.removeTechControlsListeners_()))},e.usingNativeControls=function(e){if(void 0===e)return!!this.usingNativeControls_;e=!!e,this.usingNativeControls_!==e&&(this.usingNativeControls_=e,this.usingNativeControls_?(this.addClass(\"vjs-using-native-controls\"),this.trigger(\"usingnativecontrols\")):(this.removeClass(\"vjs-using-native-controls\"),this.trigger(\"usingcustomcontrols\")))},e.error=function(e){if(void 0===e)return this.error_||null;if(this.options_.suppressNotSupportedError&&e&&4===e.code){var t=function(){this.error(e)};return this.options_.suppressNotSupportedError=!1,this.any([\"click\",\"touchstart\"],t),void this.one(\"loadstart\",function(){this.off([\"click\",\"touchstart\"],t)})}if(null===e)return this.error_=e,this.removeClass(\"vjs-error\"),void(this.errorDisplay&&this.errorDisplay.close());this.error_=new _t(e),this.addClass(\"vjs-error\"),p.error(\"(CODE:\"+this.error_.code+\" \"+_t.errorTypes[this.error_.code]+\")\",this.error_.message,this.error_),this.trigger(\"error\")},e.reportUserActivity=function(e){this.userActivity_=!0},e.userActive=function(e){if(void 0===e)return this.userActive_;if((e=!!e)!==this.userActive_){if(this.userActive_=e,this.userActive_)return this.userActivity_=!0,this.removeClass(\"vjs-user-inactive\"),this.addClass(\"vjs-user-active\"),void this.trigger(\"useractive\");this.tech_&&this.tech_.one(\"mousemove\",function(e){e.stopPropagation(),e.preventDefault()}),this.userActivity_=!1,this.removeClass(\"vjs-user-active\"),this.addClass(\"vjs-user-inactive\"),this.trigger(\"userinactive\")}},e.listenForUserActivity_=function(){function e(e){r(),this.clearInterval(t)}var t,i,n,r=ge(this,this.reportUserActivity);this.on(\"mousedown\",function(){r(),this.clearInterval(t),t=this.setInterval(r,250)}),this.on(\"mousemove\",function(e){e.screenX===i&&e.screenY===n||(i=e.screenX,n=e.screenY,r())}),this.on(\"mouseup\",e),this.on(\"mouseleave\",e);var s,a=this.getChild(\"controlBar\");!a||at||Xe||(a.on(\"mouseenter\",function(e){this.player().cache_.inactivityTimeout=this.player().options_.inactivityTimeout,this.player().options_.inactivityTimeout=0}),a.on(\"mouseleave\",function(e){this.player().options_.inactivityTimeout=this.player().cache_.inactivityTimeout})),this.on(\"keydown\",r),this.on(\"keyup\",r),this.setInterval(function(){if(this.userActivity_){this.userActivity_=!1,this.userActive(!0),this.clearTimeout(s);var e=this.options_.inactivityTimeout;e<=0||(s=this.setTimeout(function(){this.userActivity_||this.userActive(!1)},e))}},250)},e.playbackRate=function(e){if(void 0===e)return this.tech_&&this.tech_.featuresPlaybackRate?this.cache_.lastPlaybackRate||this.techGet_(\"playbackRate\"):1;this.techCall_(\"setPlaybackRate\",e)},e.defaultPlaybackRate=function(e){return void 0!==e?this.techCall_(\"setDefaultPlaybackRate\",e):this.tech_&&this.tech_.featuresPlaybackRate?this.techGet_(\"defaultPlaybackRate\"):1},e.isAudio=function(e){if(void 0===e)return!!this.isAudio_;this.isAudio_=!!e},e.addTextTrack=function(e,t,i){if(this.tech_)return this.tech_.addTextTrack(e,t,i)},e.addRemoteTextTrack=function(e,t){if(this.tech_)return this.tech_.addRemoteTextTrack(e,t)},e.removeRemoteTextTrack=function(e){void 0===e&&(e={});var t=e.track;if(t=t||e,this.tech_)return this.tech_.removeRemoteTextTrack(t)},e.getVideoPlaybackQuality=function(){return this.techGet_(\"getVideoPlaybackQuality\")},e.videoWidth=function(){return this.tech_&&this.tech_.videoWidth&&this.tech_.videoWidth()||0},e.videoHeight=function(){return this.tech_&&this.tech_.videoHeight&&this.tech_.videoHeight()||0},e.language=function(e){if(void 0===e)return this.language_;this.language_=String(e).toLowerCase()},e.languages=function(){return Ne(l.prototype.options_.languages,this.languages_)},e.toJSON=function(){var e=Ne(this.options_),t=e.tracks;e.tracks=[];for(var i=0;i<t.length;i++){var n=t[i];(n=Ne(n)).player=void 0,e.tracks[i]=n}return e},e.createModal=function(e,t){var i=this;(t=t||{}).content=e||\"\";var n=new It(this,t);return this.addChild(n),n.on(\"dispose\",function(){i.removeChild(n)}),n.open(),n},e.updateCurrentBreakpoint_=function(){if(this.responsive())for(var e=this.currentBreakpoint(),t=this.currentWidth(),i=0;i<Hr.length;i++){var n=Hr[i];if(t<=this.breakpoints_[n]){if(e===n)return;e&&this.removeClass(Vr[e]),this.addClass(Vr[n]),this.breakpoint_=n;break}}},e.removeCurrentBreakpoint_=function(){var e=this.currentBreakpointClass();this.breakpoint_=\"\",e&&this.removeClass(e)},e.breakpoints=function(e){return void 0===e||(this.breakpoint_=\"\",this.breakpoints_=m({},qr,e),this.updateCurrentBreakpoint_()),m(this.breakpoints_)},e.responsive=function(e){return void 0===e?this.responsive_:(e=Boolean(e))!==this.responsive_?((this.responsive_=e)?(this.on(\"playerresize\",this.updateCurrentBreakpoint_),this.updateCurrentBreakpoint_()):(this.off(\"playerresize\",this.updateCurrentBreakpoint_),this.removeCurrentBreakpoint_()),e):void 0},e.currentBreakpoint=function(){return this.breakpoint_},e.currentBreakpointClass=function(){return Vr[this.breakpoint_]||\"\"},e.loadMedia=function(e,t){var i=this;if(e&&\"object\"==typeof e){this.reset(),this.cache_.media=Ne(e);var n=this.cache_.media,r=n.artwork,s=n.poster,a=n.src,o=n.textTracks;!r&&s&&(this.cache_.media.artwork=[{src:s,type:Zi(s)}]),a&&this.src(a),s&&this.poster(s),Array.isArray(o)&&o.forEach(function(e){return i.addRemoteTextTrack(e,!1)}),this.ready(t)}},e.getMedia=function(){if(this.cache_.media)return Ne(this.cache_.media);var e=this.poster(),t={src:this.currentSources(),textTracks:Array.prototype.map.call(this.remoteTextTracks(),function(e){return{kind:e.kind,label:e.label,language:e.language,src:e.src}})};return e&&(t.poster=e,t.artwork=[{src:t.poster,type:Zi(t.poster)}]),t},l.getTagSettings=function(e){var t={sources:[],tracks:[]},i=P(e),n=i[\"data-setup\"];if(w(e,\"vjs-fill\")&&(i.fill=!0),w(e,\"vjs-fluid\")&&(i.fluid=!0),null!==n){var r=Tt(n||\"{}\"),s=r[0],a=r[1];s&&p.error(s),m(i,a)}if(m(t,i),e.hasChildNodes())for(var o=e.childNodes,u=0,l=o.length;u<l;u++){var c=o[u],h=c.nodeName.toLowerCase();\"source\"===h?t.sources.push(P(c)):\"track\"===h&&t.tracks.push(P(c))}return t},e.flexNotSupported_=function(){var e=h.createElement(\"i\");return!(\"flexBasis\"in e.style||\"webkitFlexBasis\"in e.style||\"mozFlexBasis\"in e.style||\"msFlexBasis\"in e.style||\"msFlexOrder\"in e.style)},l}(Re);hi.names.forEach(function(e){var t=hi[e];Wr.prototype[t.getterName]=function(){return this.tech_?this.tech_[t.getterName]():(this[t.privateName]=this[t.privateName]||new t.ListClass,this[t.privateName])}}),Wr.prototype.crossorigin=Wr.prototype.crossOrigin,Wr.players={};var zr=y.navigator;Wr.prototype.options_={techOrder:Vi.defaultTechOrder_,html5:{},flash:{},inactivityTimeout:2e3,playbackRates:[],liveui:!1,children:[\"mediaLoader\",\"posterImage\",\"textTrackDisplay\",\"loadingSpinner\",\"bigPlayButton\",\"liveTracker\",\"controlBar\",\"errorDisplay\",\"textTrackSettings\",\"resizeManager\"],language:zr&&(zr.languages&&zr.languages[0]||zr.userLanguage||zr.language)||\"en\",languages:{},notSupportedMessage:\"No compatible source was found for this media.\",fullscreen:{options:{navigationUI:\"hide\"}},breakpoints:{},responsive:!1},[\"ended\",\"seeking\",\"seekable\",\"networkState\",\"readyState\"].forEach(function(e){Wr.prototype[e]=function(){return this.techGet_(e)}}),jr.forEach(function(e){Wr.prototype[\"handleTech\"+De(e)+\"_\"]=function(){return this.trigger(e)}}),Re.registerComponent(\"Player\",Wr);var Gr=t(function(i){function n(e,t){return i.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(e,t)}i.exports=n});function Xr(e){return is.hasOwnProperty(e)}function Kr(e){return Xr(e)?is[e]:void 0}function Yr(e,t){e[ts]=e[ts]||{},e[ts][t]=!0}function $r(e,t,i){var n=(i?\"before\":\"\")+\"pluginsetup\";e.trigger(n,t),e.trigger(n+\":\"+t.name,t)}function Qr(r,s){return s.prototype.name=r,function(){$r(this,{name:r,plugin:s,instance:null},!0);for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];var n=Zr(s,[this].concat(t));return this[r]=function(){return n},$r(this,n.getEventHash()),n}}var Jr=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}},Zr=t(function(n){function r(e,t,i){return Jr()?n.exports=r=Reflect.construct:n.exports=r=function(e,t,i){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(e,n));return i&&Gr(r,i.prototype),r},r.apply(null,arguments)}n.exports=r}),es=\"plugin\",ts=\"activePlugins_\",is={},ns=function(){function i(e){if(this.constructor===i)throw new Error(\"Plugin must be sub-classed; not directly instantiated.\");this.player=e,Ie(this),delete this.trigger,Le(this,this.constructor.defaultState),Yr(e,this.name),this.dispose=ge(this,this.dispose),e.on(\"dispose\",this.dispose)}var e=i.prototype;return e.version=function(){return this.constructor.VERSION},e.getEventHash=function(e){return void 0===e&&(e={}),e.name=this.name,e.plugin=this.constructor,e.instance=this,e},e.trigger=function(e,t){return void 0===t&&(t={}),pe(this.eventBusEl_,e,this.getEventHash(t))},e.handleStateChanged=function(e){},e.dispose=function(){var e=this.name,t=this.player;this.trigger(\"dispose\"),this.off(),t.off(\"dispose\",this.dispose),t[ts][e]=!1,this.player=this.state=null,t[e]=Qr(e,is[e])},i.isBasic=function(e){var t=\"string\"==typeof e?Kr(e):e;return\"function\"==typeof t&&!i.prototype.isPrototypeOf(t.prototype)},i.registerPlugin=function(e,t){if(\"string\"!=typeof e)throw new Error('Illegal plugin name, \"'+e+'\", must be a string, was '+typeof e+\".\");if(Xr(e))p.warn('A plugin named \"'+e+'\" already exists. You may want to avoid re-registering plugins!');else if(Wr.prototype.hasOwnProperty(e))throw new Error('Illegal plugin name, \"'+e+'\", cannot share a name with an existing player method!');if(\"function\"!=typeof t)throw new Error('Illegal plugin for \"'+e+'\", must be a function, was '+typeof t+\".\");return is[e]=t,e!==es&&(i.isBasic(t)?Wr.prototype[e]=function(t,i){function n(){$r(this,{name:t,plugin:i,instance:null},!0);var e=i.apply(this,arguments);return Yr(this,t),$r(this,{name:t,plugin:i,instance:e}),e}return Object.keys(i).forEach(function(e){n[e]=i[e]}),n}(e,t):Wr.prototype[e]=Qr(e,t)),t},i.deregisterPlugin=function(e){if(e===es)throw new Error(\"Cannot de-register base plugin.\");Xr(e)&&(delete is[e],delete Wr.prototype[e])},i.getPlugins=function(e){var i;return void 0===e&&(e=Object.keys(is)),e.forEach(function(e){var t=Kr(e);t&&((i=i||{})[e]=t)}),i},i.getPluginVersion=function(e){var t=Kr(e);return t&&t.VERSION||\"\"},i}();ns.getPlugin=Kr,ns.BASE_PLUGIN_NAME=es,ns.registerPlugin(es,ns),Wr.prototype.usingPlugin=function(e){return!!this[ts]&&!0===this[ts][e]},Wr.prototype.hasPlugin=function(e){return!!Xr(e)};var rs=function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Gr(e,t)},ss=function(e){return 0===e.indexOf(\"#\")?e.slice(1):e};function as(e,i,t){var n=as.getPlayer(e);if(n)return i&&p.warn('Player \"'+e+'\" is already initialised. Options will not be applied.'),t&&n.ready(t),n;var r=\"string\"==typeof e?G(\"#\"+ss(e)):e;if(!_(r))throw new TypeError(\"The element or ID supplied is not valid. (videojs)\");r.ownerDocument.defaultView&&r.ownerDocument.body.contains(r)||p.warn(\"The element supplied is not included in the DOM\"),i=i||{},as.hooks(\"beforesetup\").forEach(function(e){var t=e(r,Ne(i));o(t)&&!Array.isArray(t)?i=Ne(i,t):p.error(\"please return an object in beforesetup hooks\")});var s=Re.getComponent(\"Player\");return n=new s(r,i,t),as.hooks(\"setup\").forEach(function(e){return e(n)}),n}if(as.hooks_={},as.hooks=function(e,t){return as.hooks_[e]=as.hooks_[e]||[],t&&(as.hooks_[e]=as.hooks_[e].concat(t)),as.hooks_[e]},as.hook=function(e,t){as.hooks(e,t)},as.hookOnce=function(i,e){as.hooks(i,[].concat(e).map(function(t){return function e(){return as.removeHook(i,e),t.apply(void 0,arguments)}}))},as.removeHook=function(e,t){var i=as.hooks(e).indexOf(t);return!(i<=-1)&&(as.hooks_[e]=as.hooks_[e].slice(),as.hooks_[e].splice(i,1),!0)},!0!==y.VIDEOJS_NO_DYNAMIC_STYLE&&v()){var os=G(\".vjs-styles-defaults\");if(!os){os=Z(\"vjs-styles-defaults\");var us=G(\"head\");us&&us.insertBefore(os,us.firstChild),ee(os,\"\\n .video-js {\\n width: 300px;\\n height: 150px;\\n }\\n\\n .vjs-fluid {\\n padding-top: 56.25%\\n }\\n \")}}Q(1,as),as.VERSION=d,as.options=Wr.prototype.options_,as.getPlayers=function(){return Wr.players},as.getPlayer=function(e){var t,i=Wr.players;if(\"string\"==typeof e){var n=ss(e),r=i[n];if(r)return r;t=G(\"#\"+n)}else t=e;if(_(t)){var s=t,a=s.player,o=s.playerId;if(a||i[o])return a||i[o]}},as.getAllPlayers=function(){return Object.keys(Wr.players).map(function(e){return Wr.players[e]}).filter(Boolean)},as.players=Wr.players,as.getComponent=Re.getComponent,as.registerComponent=function(e,t){Vi.isTech(t)&&p.warn(\"The \"+e+\" tech was registered as a component. It should instead be registered using videojs.registerTech(name, tech)\"),Re.registerComponent.call(Re,e,t)},as.getTech=Vi.getTech,as.registerTech=Vi.registerTech,as.use=function(e,t){qi[e]=qi[e]||[],qi[e].push(t)},Object.defineProperty(as,\"middleware\",{value:{},writeable:!1,enumerable:!0}),Object.defineProperty(as.middleware,\"TERMINATOR\",{value:zi,writeable:!1,enumerable:!0}),as.browser=ut,as.TOUCH_ENABLED=nt,as.extend=function(e,t){void 0===t&&(t={});var i=function(){e.apply(this,arguments)},n={};for(var r in\"object\"==typeof t?(t.constructor!==Object.prototype.constructor&&(i=t.constructor),n=t):\"function\"==typeof t&&(i=t),rs(i,e),e&&(i.super_=e),n)n.hasOwnProperty(r)&&(i.prototype[r]=n[r]);return i},as.mergeOptions=Ne,as.bind=ge,as.registerPlugin=ns.registerPlugin,as.deregisterPlugin=ns.deregisterPlugin,as.plugin=function(e,t){return p.warn(\"videojs.plugin() is deprecated; use videojs.registerPlugin() instead\"),ns.registerPlugin(e,t)},as.getPlugins=ns.getPlugins,as.getPlugin=ns.getPlugin,as.getPluginVersion=ns.getPluginVersion,as.addLanguage=function(e,t){var i;return e=(\"\"+e).toLowerCase(),as.options.languages=Ne(as.options.languages,((i={})[e]=t,i)),as.options.languages[e]},as.log=p,as.createLogger=f,as.createTimeRange=as.createTimeRanges=ht,as.formatTime=yn,as.setFormatTime=function(e){vn=e},as.resetFormatTime=function(){vn=gn},as.parseUrl=Nt,as.isCrossOrigin=Mt,as.EventTarget=ye,as.on=he,as.one=fe,as.off=de,as.trigger=pe,as.xhr=Jt,as.TextTrack=si,as.AudioTrack=ai,as.VideoTrack=oi,[\"isEl\",\"isTextNode\",\"createEl\",\"hasClass\",\"addClass\",\"removeClass\",\"toggleClass\",\"setAttributes\",\"getAttributes\",\"emptyEl\",\"appendContent\",\"insertContent\"].forEach(function(e){as[e]=function(){return p.warn(\"videojs.\"+e+\"() is deprecated; use videojs.dom.\"+e+\"() instead\"),K[e].apply(null,arguments)}}),as.computedStyle=n,as.dom=K,as.url=Kt,as.defineLazyProperty=Nr;var ls=t(function(e,t){var i,c,n,r,h;i=/^((?:[a-zA-Z0-9+\\-.]+:)?)(\\/\\/[^\\/?#]*)?((?:[^\\/\\?#]*\\/)*.*?)??(;.*?)?(\\?.*?)?(#.*?)?$/,c=/^([^\\/?#]*)(.*)$/,n=/(?:\\/|^)\\.(?=\\/)/g,r=/(?:\\/|^)\\.\\.\\/(?!\\.\\.\\/).*?(?=\\/)/g,h={buildAbsoluteURL:function(e,t,i){if(i=i||{},e=e.trim(),!(t=t.trim())){if(!i.alwaysNormalize)return e;var n=h.parseURL(e);if(!n)throw new Error(\"Error trying to parse base URL.\");return n.path=h.normalizePath(n.path),h.buildURLFromParts(n)}var r=h.parseURL(t);if(!r)throw new Error(\"Error trying to parse relative URL.\");if(r.scheme)return i.alwaysNormalize?(r.path=h.normalizePath(r.path),h.buildURLFromParts(r)):t;var s=h.parseURL(e);if(!s)throw new Error(\"Error trying to parse base URL.\");if(!s.netLoc&&s.path&&\"/\"!==s.path[0]){var a=c.exec(s.path);s.netLoc=a[1],s.path=a[2]}s.netLoc&&!s.path&&(s.path=\"/\");var o={scheme:s.scheme,netLoc:r.netLoc,path:null,params:r.params,query:r.query,fragment:r.fragment};if(!r.netLoc&&(o.netLoc=s.netLoc,\"/\"!==r.path[0]))if(r.path){var u=s.path,l=u.substring(0,u.lastIndexOf(\"/\")+1)+r.path;o.path=h.normalizePath(l)}else o.path=s.path,r.params||(o.params=s.params,r.query||(o.query=s.query));return null===o.path&&(o.path=i.alwaysNormalize?h.normalizePath(r.path):r.path),h.buildURLFromParts(o)},parseURL:function(e){var t=i.exec(e);return t?{scheme:t[1]||\"\",netLoc:t[2]||\"\",path:t[3]||\"\",params:t[4]||\"\",query:t[5]||\"\",fragment:t[6]||\"\"}:null},normalizePath:function(e){for(e=e.split(\"\").reverse().join(\"\").replace(n,\"\");e.length!==(e=e.replace(r,\"\")).length;);return e.split(\"\").reverse().join(\"\")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}},e.exports=h});\n/*! @name m3u8-parser @version 4.4.0 @license Apache-2.0 */function cs(){return(cs=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e}).apply(this,arguments)}function hs(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t}function ds(e){for(var t,i=e.split(new RegExp('(?:^|,)((?:[^=]*)=(?:\"[^\"]*\"|[^,]*))')),n={},r=i.length;r--;)\"\"!==i[r]&&((t=/([^=]*)=(.*)/.exec(i[r]).slice(1))[0]=t[0].replace(/^\\s+|\\s+$/g,\"\"),t[1]=t[1].replace(/^\\s+|\\s+$/g,\"\"),t[1]=t[1].replace(/^['\"](.*)['\"]$/g,\"$1\"),n[t[0]]=t[1]);return n}var ps=function(){function e(){this.listeners={}}var t=e.prototype;return t.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},t.off=function(e,t){if(!this.listeners[e])return!1;var i=this.listeners[e].indexOf(t);return this.listeners[e].splice(i,1),-1<i},t.trigger=function(e,t){var i,n,r,s=this.listeners[e];if(s)if(2===arguments.length)for(n=s.length,i=0;i<n;++i)s[i].call(this,t);else for(r=Array.prototype.slice.call(arguments,1),n=s.length,i=0;i<n;++i)s[i].apply(this,r)},t.dispose=function(){this.listeners={}},t.pipe=function(t){this.on(\"data\",function(e){t.push(e)})},e}(),fs=function(t){function e(){var e;return(e=t.call(this)||this).buffer=\"\",e}return hs(e,t),e.prototype.push=function(e){var t;for(this.buffer+=e,t=this.buffer.indexOf(\"\\n\");-1<t;t=this.buffer.indexOf(\"\\n\"))this.trigger(\"data\",this.buffer.substring(0,t)),this.buffer=this.buffer.substring(t+1)},e}(ps),ms=function(t){function e(){var e;return(e=t.call(this)||this).customParsers=[],e.tagMappers=[],e}hs(e,t);var i=e.prototype;return i.push=function(n){var u,l,c=this;0!==(n=n.trim()).length&&(\"#\"===n[0]?this.tagMappers.reduce(function(e,t){var i=t(n);return i===n?e:e.concat([i])},[n]).forEach(function(e){for(var t=0;t<c.customParsers.length;t++)if(c.customParsers[t].call(c,e))return;if(0===e.indexOf(\"#EXT\"))if(e=e.replace(\"\\r\",\"\"),u=/^#EXTM3U/.exec(e))c.trigger(\"data\",{type:\"tag\",tagType:\"m3u\"});else{if(u=/^#EXTINF:?([0-9\\.]*)?,?(.*)?$/.exec(e))return l={type:\"tag\",tagType:\"inf\"},u[1]&&(l.duration=parseFloat(u[1])),u[2]&&(l.title=u[2]),void c.trigger(\"data\",l);if(u=/^#EXT-X-TARGETDURATION:?([0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"targetduration\"},u[1]&&(l.duration=parseInt(u[1],10)),void c.trigger(\"data\",l);if(u=/^#ZEN-TOTAL-DURATION:?([0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"totalduration\"},u[1]&&(l.duration=parseInt(u[1],10)),void c.trigger(\"data\",l);if(u=/^#EXT-X-VERSION:?([0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"version\"},u[1]&&(l.version=parseInt(u[1],10)),void c.trigger(\"data\",l);if(u=/^#EXT-X-MEDIA-SEQUENCE:?(\\-?[0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"media-sequence\"},u[1]&&(l.number=parseInt(u[1],10)),void c.trigger(\"data\",l);if(u=/^#EXT-X-DISCONTINUITY-SEQUENCE:?(\\-?[0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"discontinuity-sequence\"},u[1]&&(l.number=parseInt(u[1],10)),void c.trigger(\"data\",l);if(u=/^#EXT-X-PLAYLIST-TYPE:?(.*)?$/.exec(e))return l={type:\"tag\",tagType:\"playlist-type\"},u[1]&&(l.playlistType=u[1]),void c.trigger(\"data\",l);if(u=/^#EXT-X-BYTERANGE:?([0-9.]*)?@?([0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"byterange\"},u[1]&&(l.length=parseInt(u[1],10)),u[2]&&(l.offset=parseInt(u[2],10)),void c.trigger(\"data\",l);if(u=/^#EXT-X-ALLOW-CACHE:?(YES|NO)?/.exec(e))return l={type:\"tag\",tagType:\"allow-cache\"},u[1]&&(l.allowed=!/NO/.test(u[1])),void c.trigger(\"data\",l);if(u=/^#EXT-X-MAP:?(.*)$/.exec(e)){if(l={type:\"tag\",tagType:\"map\"},u[1]){var i=ds(u[1]);if(i.URI&&(l.uri=i.URI),i.BYTERANGE){var n=i.BYTERANGE.split(\"@\"),r=n[0],s=n[1];l.byterange={},r&&(l.byterange.length=parseInt(r,10)),s&&(l.byterange.offset=parseInt(s,10))}}c.trigger(\"data\",l)}else if(u=/^#EXT-X-STREAM-INF:?(.*)$/.exec(e)){if(l={type:\"tag\",tagType:\"stream-inf\"},u[1]){if(l.attributes=ds(u[1]),l.attributes.RESOLUTION){var a=l.attributes.RESOLUTION.split(\"x\"),o={};a[0]&&(o.width=parseInt(a[0],10)),a[1]&&(o.height=parseInt(a[1],10)),l.attributes.RESOLUTION=o}l.attributes.BANDWIDTH&&(l.attributes.BANDWIDTH=parseInt(l.attributes.BANDWIDTH,10)),l.attributes[\"PROGRAM-ID\"]&&(l.attributes[\"PROGRAM-ID\"]=parseInt(l.attributes[\"PROGRAM-ID\"],10))}c.trigger(\"data\",l)}else{if(u=/^#EXT-X-MEDIA:?(.*)$/.exec(e))return l={type:\"tag\",tagType:\"media\"},u[1]&&(l.attributes=ds(u[1])),void c.trigger(\"data\",l);if(u=/^#EXT-X-ENDLIST/.exec(e))c.trigger(\"data\",{type:\"tag\",tagType:\"endlist\"});else if(u=/^#EXT-X-DISCONTINUITY/.exec(e))c.trigger(\"data\",{type:\"tag\",tagType:\"discontinuity\"});else{if(u=/^#EXT-X-PROGRAM-DATE-TIME:?(.*)$/.exec(e))return l={type:\"tag\",tagType:\"program-date-time\"},u[1]&&(l.dateTimeString=u[1],l.dateTimeObject=new Date(u[1])),void c.trigger(\"data\",l);if(u=/^#EXT-X-KEY:?(.*)$/.exec(e))return l={type:\"tag\",tagType:\"key\"},u[1]&&(l.attributes=ds(u[1]),l.attributes.IV&&(\"0x\"===l.attributes.IV.substring(0,2).toLowerCase()&&(l.attributes.IV=l.attributes.IV.substring(2)),l.attributes.IV=l.attributes.IV.match(/.{8}/g),l.attributes.IV[0]=parseInt(l.attributes.IV[0],16),l.attributes.IV[1]=parseInt(l.attributes.IV[1],16),l.attributes.IV[2]=parseInt(l.attributes.IV[2],16),l.attributes.IV[3]=parseInt(l.attributes.IV[3],16),l.attributes.IV=new Uint32Array(l.attributes.IV))),void c.trigger(\"data\",l);if(u=/^#EXT-X-START:?(.*)$/.exec(e))return l={type:\"tag\",tagType:\"start\"},u[1]&&(l.attributes=ds(u[1]),l.attributes[\"TIME-OFFSET\"]=parseFloat(l.attributes[\"TIME-OFFSET\"]),l.attributes.PRECISE=/YES/.test(l.attributes.PRECISE)),void c.trigger(\"data\",l);if(u=/^#EXT-X-CUE-OUT-CONT:?(.*)?$/.exec(e))return l={type:\"tag\",tagType:\"cue-out-cont\"},u[1]?l.data=u[1]:l.data=\"\",void c.trigger(\"data\",l);if(u=/^#EXT-X-CUE-OUT:?(.*)?$/.exec(e))return l={type:\"tag\",tagType:\"cue-out\"},u[1]?l.data=u[1]:l.data=\"\",void c.trigger(\"data\",l);if(u=/^#EXT-X-CUE-IN:?(.*)?$/.exec(e))return l={type:\"tag\",tagType:\"cue-in\"},u[1]?l.data=u[1]:l.data=\"\",void c.trigger(\"data\",l);c.trigger(\"data\",{type:\"tag\",data:e.slice(4)})}}}else c.trigger(\"data\",{type:\"comment\",text:e.slice(1)})}):this.trigger(\"data\",{type:\"uri\",uri:n}))},i.addParser=function(e){var t=this,i=e.expression,n=e.customType,r=e.dataParser,s=e.segment;\"function\"!=typeof r&&(r=function(e){return e}),this.customParsers.push(function(e){if(i.exec(e))return t.trigger(\"data\",{type:\"custom\",data:r(e),customType:n,segment:s}),!0})},i.addTagMapper=function(e){var t=e.expression,i=e.map;this.tagMappers.push(function(e){return t.test(e)?i(e):e})},e}(ps);var gs=function(t){function e(){var e;(e=t.call(this)||this).lineStream=new fs,e.parseStream=new ms,e.lineStream.pipe(e.parseStream);var r,s,a=function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e),o=[],u={},l={AUDIO:{},VIDEO:{},\"CLOSED-CAPTIONS\":{},SUBTITLES:{}},c=0;return e.manifest={allowCache:!0,discontinuityStarts:[],segments:[]},e.parseStream.on(\"data\",function(t){var i,n;({tag:function(){({\"allow-cache\":function(){this.manifest.allowCache=t.allowed,\"allowed\"in t||(this.trigger(\"info\",{message:\"defaulting allowCache to YES\"}),this.manifest.allowCache=!0)},byterange:function(){var e={};\"length\"in t&&((u.byterange=e).length=t.length,\"offset\"in t||(this.trigger(\"info\",{message:\"defaulting offset to zero\"}),t.offset=0)),\"offset\"in t&&((u.byterange=e).offset=t.offset)},endlist:function(){this.manifest.endList=!0},inf:function(){\"mediaSequence\"in this.manifest||(this.manifest.mediaSequence=0,this.trigger(\"info\",{message:\"defaulting media sequence to zero\"})),\"discontinuitySequence\"in this.manifest||(this.manifest.discontinuitySequence=0,this.trigger(\"info\",{message:\"defaulting discontinuity sequence to zero\"})),0<t.duration&&(u.duration=t.duration),0===t.duration&&(u.duration=.01,this.trigger(\"info\",{message:\"updating zero segment duration to a small value\"})),this.manifest.segments=o},key:function(){if(t.attributes)if(\"NONE\"!==t.attributes.METHOD)if(t.attributes.URI){if(\"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed\"===t.attributes.KEYFORMAT){return-1===[\"SAMPLE-AES\",\"SAMPLE-AES-CTR\",\"SAMPLE-AES-CENC\"].indexOf(t.attributes.METHOD)?void this.trigger(\"warn\",{message:\"invalid key method provided for Widevine\"}):(\"SAMPLE-AES-CENC\"===t.attributes.METHOD&&this.trigger(\"warn\",{message:\"SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead\"}),\"data:text/plain;base64,\"!==t.attributes.URI.substring(0,23)?void this.trigger(\"warn\",{message:\"invalid key URI provided for Widevine\"}):t.attributes.KEYID&&\"0x\"===t.attributes.KEYID.substring(0,2)?void(this.manifest.contentProtection={\"com.widevine.alpha\":{attributes:{schemeIdUri:t.attributes.KEYFORMAT,keyId:t.attributes.KEYID.substring(2)},pssh:function(e){for(var t=y.atob(e||\"\"),i=new Uint8Array(t.length),n=0;n<t.length;n++)i[n]=t.charCodeAt(n);return i}(t.attributes.URI.split(\",\")[1])}}):void this.trigger(\"warn\",{message:\"invalid key ID provided for Widevine\"}))}t.attributes.METHOD||this.trigger(\"warn\",{message:\"defaulting key method to AES-128\"}),s={method:t.attributes.METHOD||\"AES-128\",uri:t.attributes.URI},\"undefined\"!=typeof t.attributes.IV&&(s.iv=t.attributes.IV)}else this.trigger(\"warn\",{message:\"ignoring key declaration without URI\"});else s=null;else this.trigger(\"warn\",{message:\"ignoring key declaration without attribute list\"})},\"media-sequence\":function(){isFinite(t.number)?this.manifest.mediaSequence=t.number:this.trigger(\"warn\",{message:\"ignoring invalid media sequence: \"+t.number})},\"discontinuity-sequence\":function(){isFinite(t.number)?(this.manifest.discontinuitySequence=t.number,c=t.number):this.trigger(\"warn\",{message:\"ignoring invalid discontinuity sequence: \"+t.number})},\"playlist-type\":function(){/VOD|EVENT/.test(t.playlistType)?this.manifest.playlistType=t.playlistType:this.trigger(\"warn\",{message:\"ignoring unknown playlist type: \"+t.playlist})},map:function(){r={},t.uri&&(r.uri=t.uri),t.byterange&&(r.byterange=t.byterange)},\"stream-inf\":function(){this.manifest.playlists=o,this.manifest.mediaGroups=this.manifest.mediaGroups||l,t.attributes?(u.attributes||(u.attributes={}),cs(u.attributes,t.attributes)):this.trigger(\"warn\",{message:\"ignoring empty stream-inf attributes\"})},media:function(){if(this.manifest.mediaGroups=this.manifest.mediaGroups||l,t.attributes&&t.attributes.TYPE&&t.attributes[\"GROUP-ID\"]&&t.attributes.NAME){var e=this.manifest.mediaGroups[t.attributes.TYPE];e[t.attributes[\"GROUP-ID\"]]=e[t.attributes[\"GROUP-ID\"]]||{},i=e[t.attributes[\"GROUP-ID\"]],(n={default:/yes/i.test(t.attributes.DEFAULT)}).default?n.autoselect=!0:n.autoselect=/yes/i.test(t.attributes.AUTOSELECT),t.attributes.LANGUAGE&&(n.language=t.attributes.LANGUAGE),t.attributes.URI&&(n.uri=t.attributes.URI),t.attributes[\"INSTREAM-ID\"]&&(n.instreamId=t.attributes[\"INSTREAM-ID\"]),t.attributes.CHARACTERISTICS&&(n.characteristics=t.attributes.CHARACTERISTICS),t.attributes.FORCED&&(n.forced=/yes/i.test(t.attributes.FORCED)),i[t.attributes.NAME]=n}else this.trigger(\"warn\",{message:\"ignoring incomplete or missing media group\"})},discontinuity:function(){c+=1,u.discontinuity=!0,this.manifest.discontinuityStarts.push(o.length)},\"program-date-time\":function(){\"undefined\"==typeof this.manifest.dateTimeString&&(this.manifest.dateTimeString=t.dateTimeString,this.manifest.dateTimeObject=t.dateTimeObject),u.dateTimeString=t.dateTimeString,u.dateTimeObject=t.dateTimeObject},targetduration:function(){!isFinite(t.duration)||t.duration<0?this.trigger(\"warn\",{message:\"ignoring invalid target duration: \"+t.duration}):this.manifest.targetDuration=t.duration},totalduration:function(){!isFinite(t.duration)||t.duration<0?this.trigger(\"warn\",{message:\"ignoring invalid total duration: \"+t.duration}):this.manifest.totalDuration=t.duration},start:function(){t.attributes&&!isNaN(t.attributes[\"TIME-OFFSET\"])?this.manifest.start={timeOffset:t.attributes[\"TIME-OFFSET\"],precise:t.attributes.PRECISE}:this.trigger(\"warn\",{message:\"ignoring start declaration without appropriate attribute list\"})},\"cue-out\":function(){u.cueOut=t.data},\"cue-out-cont\":function(){u.cueOutCont=t.data},\"cue-in\":function(){u.cueIn=t.data}}[t.tagType]||function(){}).call(a)},uri:function(){u.uri=t.uri,o.push(u),!this.manifest.targetDuration||\"duration\"in u||(this.trigger(\"warn\",{message:\"defaulting segment duration to the target duration\"}),u.duration=this.manifest.targetDuration),s&&(u.key=s),u.timeline=c,r&&(u.map=r),u={}},comment:function(){},custom:function(){t.segment?(u.custom=u.custom||{},u.custom[t.customType]=t.data):(this.manifest.custom=this.manifest.custom||{},this.manifest.custom[t.customType]=t.data)}})[t.type].call(a)}),e}hs(e,t);var i=e.prototype;return i.push=function(e){this.lineStream.push(e)},i.end=function(){this.lineStream.push(\"\\n\")},i.addParser=function(e){this.parseStream.addParser(e)},i.addTagMapper=function(e){this.parseStream.addTagMapper(e)},e}(ps);function vs(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var ys=vs(ls),_s=vs(y),bs=function(e,t){return/^[a-z]+:/i.test(t)?t:(/\\/\\//i.test(e)||(e=ys.buildAbsoluteURL(_s.location&&_s.location.href||\"\",e)),ys.buildAbsoluteURL(e,t))};var Ts,Ss=(Ts=y)&&\"object\"==typeof Ts&&\"default\"in Ts?Ts.default:Ts;var ks=function(e){for(var t=function(e){return Ss.atob?Ss.atob(e):Buffer.from(e,\"base64\").toString(\"binary\")}(e),i=new Uint8Array(t.length),n=0;n<t.length;n++)i[n]=t.charCodeAt(n);return i},Cs=/[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/,ws=new RegExp(\"[\\\\-\\\\.0-9\"+Cs.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\"),Es=new RegExp(\"^\"+Cs.source+ws.source+\"*(?::\"+Cs.source+ws.source+\"*)?$\"),xs=0,As=1,Is=2,Ps=3,Ls=4,Os=5,Ds=6,Ns=7;function Rs(){}function Us(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber,t}function Ms(e,t,i,n,r,s){for(var a,o=++t,u=xs;;){var l=e.charAt(o);switch(l){case\"=\":if(u===As)a=e.slice(t,o),u=Ps;else{if(u!==Is)throw new Error(\"attribute equal must after attrName\");u=Ps}break;case\"'\":case'\"':if(u===Ps||u===As){if(u===As&&(s.warning('attribute value must after \"=\"'),a=e.slice(t,o)),t=o+1,!(0<(o=e.indexOf(l,t))))throw new Error(\"attribute value no end '\"+l+\"' match\");c=e.slice(t,o).replace(/&#?\\w+;/g,r),i.add(a,c,t-1),u=Os}else{if(u!=Ls)throw new Error('attribute value must after \"=\"');c=e.slice(t,o).replace(/&#?\\w+;/g,r),i.add(a,c,t),s.warning('attribute \"'+a+'\" missed start quot('+l+\")!!\"),t=o+1,u=Os}break;case\"/\":switch(u){case xs:i.setTagName(e.slice(t,o));case Os:case Ds:case Ns:u=Ns,i.closed=!0;case Ls:case As:case Is:break;default:throw new Error(\"attribute invalid close char('/')\")}break;case\"\":return s.error(\"unexpected end of input\"),u==xs&&i.setTagName(e.slice(t,o)),o;case\">\":switch(u){case xs:i.setTagName(e.slice(t,o));case Os:case Ds:case Ns:break;case Ls:case As:\"/\"===(c=e.slice(t,o)).slice(-1)&&(i.closed=!0,c=c.slice(0,-1));case Is:u===Is&&(c=a),u==Ls?(s.warning('attribute \"'+c+'\" missed quot(\")!!'),i.add(a,c.replace(/&#?\\w+;/g,r),t)):(\"http://www.w3.org/1999/xhtml\"===n[\"\"]&&c.match(/^(?:disabled|checked|selected)$/i)||s.warning('attribute \"'+c+'\" missed value!! \"'+c+'\" instead!!'),i.add(c,c,t));break;case Ps:throw new Error(\"attribute value missed!!\")}return o;case\"€\":l=\" \";default:if(l<=\" \")switch(u){case xs:i.setTagName(e.slice(t,o)),u=Ds;break;case As:a=e.slice(t,o),u=Is;break;case Ls:var c=e.slice(t,o).replace(/&#?\\w+;/g,r);s.warning('attribute \"'+c+'\" missed quot(\")!!'),i.add(a,c,t);case Os:u=Ds}else switch(u){case Is:i.tagName;\"http://www.w3.org/1999/xhtml\"===n[\"\"]&&a.match(/^(?:disabled|checked|selected)$/i)||s.warning('attribute \"'+a+'\" missed value!! \"'+a+'\" instead2!!'),i.add(a,a,t),t=o,u=As;break;case Os:s.warning('attribute space is required\"'+a+'\"!!');case Ds:u=As,t=o;break;case Ps:u=Ls,t=o;break;case Ns:throw new Error(\"elements closed character '/' and '>' must be connected to\")}}o++}}function Bs(e,t,i){for(var n=e.tagName,r=null,s=e.length;s--;){var a=e[s],o=a.qName,u=a.value;if(0<(d=o.indexOf(\":\")))var l=a.prefix=o.slice(0,d),c=o.slice(d+1),h=\"xmlns\"===l&&c;else l=null,h=\"xmlns\"===(c=o)&&\"\";a.localName=c,!1!==h&&(null==r&&(r={},Hs(i,i={})),i[h]=r[h]=u,a.uri=\"http://www.w3.org/2000/xmlns/\",t.startPrefixMapping(h,u))}for(s=e.length;s--;){(l=(a=e[s]).prefix)&&(\"xml\"===l&&(a.uri=\"http://www.w3.org/XML/1998/namespace\"),\"xmlns\"!==l&&(a.uri=i[l||\"\"]))}var d;c=0<(d=n.indexOf(\":\"))?(l=e.prefix=n.slice(0,d),e.localName=n.slice(d+1)):(l=null,e.localName=n);var p=e.uri=i[l||\"\"];if(t.startElement(p,c,n,e),!e.closed)return e.currentNSMap=i,e.localNSMap=r,!0;if(t.endElement(p,c,n),r)for(l in r)t.endPrefixMapping(l)}function js(e,t,i,n,r){if(/^(?:script|textarea)$/i.test(i)){var s=e.indexOf(\"</\"+i+\">\",t),a=e.substring(t+1,s);if(/[&<]/.test(a))return/^script$/i.test(i)||(a=a.replace(/&#?\\w+;/g,n)),r.characters(a,0,a.length),s}return t+1}function Fs(e,t,i,n){var r=n[i];return null==r&&((r=e.lastIndexOf(\"</\"+i+\">\"))<t&&(r=e.lastIndexOf(\"</\"+i)),n[i]=r),r<t}function Hs(e,t){for(var i in e)t[i]=e[i]}function Vs(e,t,i,n){switch(e.charAt(t+2)){case\"-\":return\"-\"!==e.charAt(t+3)?-1:t<(r=e.indexOf(\"--\\x3e\",t+4))?(i.comment(e,t+4,r-t-4),r+3):(n.error(\"Unclosed comment\"),-1);default:if(\"CDATA[\"==e.substr(t+3,6)){var r=e.indexOf(\"]]>\",t+9);return i.startCDATA(),i.characters(e,t+9,r-t-9),i.endCDATA(),r+3}var s=function(e,t){var i,n=[],r=/'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;r.lastIndex=t,r.exec(e);for(;i=r.exec(e);)if(n.push(i),i[1])return n}(e,t),a=s.length;if(1<a&&/!doctype/i.test(s[0][0])){var o=s[1][0],u=3<a&&/^public$/i.test(s[2][0])&&s[3][0],l=4<a&&s[4][0],c=s[a-1];return i.startDTD(o,u&&u.replace(/^(['\"])(.*?)\\1$/,\"$2\"),l&&l.replace(/^(['\"])(.*?)\\1$/,\"$2\")),i.endDTD(),c.index+c[0].length}}return-1}function qs(e,t,i){var n=e.indexOf(\"?>\",t);if(n){var r=e.substring(t,n).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);if(r){r[0].length;return i.processingInstruction(r[1],r[2]),n+2}return-1}return-1}function Ws(e){}function zs(e,t){return e.__proto__=t,e}Rs.prototype={parse:function(e,t,i){var n=this.domBuilder;n.startDocument(),Hs(t,t={}),function(i,e,n,r,s){function a(e){var t=e.slice(1,-1);return t in n?n[t]:\"#\"===t.charAt(0)?function(e){if(65535<e){var t=55296+((e-=65536)>>10),i=56320+(1023&e);return String.fromCharCode(t,i)}return String.fromCharCode(e)}(parseInt(t.substr(1).replace(\"x\",\"0x\"))):(s.error(\"entity not found:\"+e),e)}function t(e){if(f<e){var t=i.substring(f,e).replace(/&#?\\w+;/g,a);h&&o(f),r.characters(t,0,e-f),f=e}}function o(e,t){for(;l<=e&&(t=c.exec(i));)u=t.index,l=u+t[0].length,h.lineNumber++;h.columnNumber=e-u+1}var u=0,l=0,c=/.*(?:\\r\\n?|\\n)|.*$/g,h=r.locator,d=[{currentNSMap:e}],p={},f=0;for(;;){try{var m=i.indexOf(\"<\",f);if(m<0){if(!i.substr(f).match(/^\\s*$/)){var g=r.doc,v=g.createTextNode(i.substr(f));g.appendChild(v),r.currentElement=v}return}switch(f<m&&t(m),i.charAt(m+1)){case\"/\":var y=i.indexOf(\">\",m+3),_=i.substring(m+2,y),b=d.pop();y<0?(_=i.substring(m+2).replace(/[\\s<].*/,\"\"),s.error(\"end tag name: \"+_+\" is not complete:\"+b.tagName),y=m+1+_.length):_.match(/\\s</)&&(_=_.replace(/[\\s<].*/,\"\"),s.error(\"end tag name: \"+_+\" maybe not complete\"),y=m+1+_.length);var T=b.localNSMap,S=b.tagName==_;if(S||b.tagName&&b.tagName.toLowerCase()==_.toLowerCase()){if(r.endElement(b.uri,b.localName,_),T)for(var k in T)r.endPrefixMapping(k);S||s.fatalError(\"end tag name: \"+_+\" is not match the current start tagName:\"+b.tagName)}else d.push(b);y++;break;case\"?\":h&&o(m),y=qs(i,m,r);break;case\"!\":h&&o(m),y=Vs(i,m,r,s);break;default:h&&o(m);var C=new Ws,w=d[d.length-1].currentNSMap,E=(y=Ms(i,m,C,w,a,s),C.length);if(!C.closed&&Fs(i,y,C.tagName,p)&&(C.closed=!0,n.nbsp||s.warning(\"unclosed xml attribute\")),h&&E){for(var x=Us(h,{}),A=0;A<E;A++){var I=C[A];o(I.offset),I.locator=Us(h,{})}r.locator=x,Bs(C,r,w)&&d.push(C),r.locator=h}else Bs(C,r,w)&&d.push(C);\"http://www.w3.org/1999/xhtml\"!==C.uri||C.closed?y++:y=js(i,y,C.tagName,a,r)}}catch(e){s.error(\"element parse error: \"+e),y=-1}f<y?f=y:t(Math.max(m,f)+1)}}(e,t,i,n,this.errorHandler),n.endDocument()}},Ws.prototype={setTagName:function(e){if(!Es.test(e))throw new Error(\"invalid tagName:\"+e);this.tagName=e},add:function(e,t,i){if(!Es.test(e))throw new Error(\"invalid attribute:\"+e);this[this.length++]={qName:e,value:t,offset:i}},length:0,getLocalName:function(e){return this[e].localName},getLocator:function(e){return this[e].locator},getQName:function(e){return this[e].qName},getURI:function(e){return this[e].uri},getValue:function(e){return this[e].value}},zs({},zs.prototype)instanceof zs||(zs=function(e,t){function i(){}for(t in i.prototype=t,i=new i,e)i[t]=e[t];return i});var Gs={XMLReader:Rs};function Xs(e,t){for(var i in e)t[i]=e[i]}function Ks(e,t){var i=e.prototype;if(Object.create){var n=Object.create(t.prototype);i.__proto__=n}if(!(i instanceof t)){var r=function(){};r.prototype=t.prototype,Xs(i,r=new r),e.prototype=i=r}i.constructor!=e&&(i.constructor=e)}var Ys=\"http://www.w3.org/1999/xhtml\",$s={},Qs=$s.ELEMENT_NODE=1,Js=$s.ATTRIBUTE_NODE=2,Zs=$s.TEXT_NODE=3,ea=$s.CDATA_SECTION_NODE=4,ta=$s.ENTITY_REFERENCE_NODE=5,ia=$s.ENTITY_NODE=6,na=$s.PROCESSING_INSTRUCTION_NODE=7,ra=$s.COMMENT_NODE=8,sa=$s.DOCUMENT_NODE=9,aa=$s.DOCUMENT_TYPE_NODE=10,oa=$s.DOCUMENT_FRAGMENT_NODE=11,ua=$s.NOTATION_NODE=12,la={},ca={},ha=(la.INDEX_SIZE_ERR=(ca[1]=\"Index size error\",1),la.DOMSTRING_SIZE_ERR=(ca[2]=\"DOMString size error\",2),la.HIERARCHY_REQUEST_ERR=(ca[3]=\"Hierarchy request error\",3)),da=(la.WRONG_DOCUMENT_ERR=(ca[4]=\"Wrong document\",4),la.INVALID_CHARACTER_ERR=(ca[5]=\"Invalid character\",5),la.NO_DATA_ALLOWED_ERR=(ca[6]=\"No data allowed\",6),la.NO_MODIFICATION_ALLOWED_ERR=(ca[7]=\"No modification allowed\",7),la.NOT_FOUND_ERR=(ca[8]=\"Not found\",8)),pa=(la.NOT_SUPPORTED_ERR=(ca[9]=\"Not supported\",9),la.INUSE_ATTRIBUTE_ERR=(ca[10]=\"Attribute in use\",10));la.INVALID_STATE_ERR=(ca[11]=\"Invalid state\",11),la.SYNTAX_ERR=(ca[12]=\"Syntax error\",12),la.INVALID_MODIFICATION_ERR=(ca[13]=\"Invalid modification\",13),la.NAMESPACE_ERR=(ca[14]=\"Invalid namespace\",14),la.INVALID_ACCESS_ERR=(ca[15]=\"Invalid access\",15);function fa(e,t){if(t instanceof Error)var i=t;else i=this,Error.call(this,ca[e]),this.message=ca[e],Error.captureStackTrace&&Error.captureStackTrace(this,fa);return i.code=e,t&&(this.message=this.message+\": \"+t),i}function ma(){}function ga(e,t){this._node=e,this._refresh=t,va(this)}function va(e){var t=e._node._inc||e._node.ownerDocument._inc;if(e._inc!=t){var i=e._refresh(e._node);Xa(e,\"length\",i.length),Xs(i,e),e._inc=t}}function ya(){}function _a(e,t){for(var i=e.length;i--;)if(e[i]===t)return i}function ba(e,t,i,n){if(n?t[_a(t,n)]=i:t[t.length++]=i,e){var r=(i.ownerElement=e).ownerDocument;r&&(n&&xa(r,e,n),function(e,t,i){e&&e._inc++,\"http://www.w3.org/2000/xmlns/\"==i.namespaceURI&&(t._nsMap[i.prefix?i.localName:\"\"]=i.value)}(r,e,i))}}function Ta(e,t,i){var n=_a(t,i);if(!(0<=n))throw fa(da,new Error(e.tagName+\"@\"+i));for(var r=t.length-1;n<r;)t[n]=t[++n];if(t.length=r,e){var s=e.ownerDocument;s&&(xa(s,e,i),i.ownerElement=null)}}function Sa(e){if(this._features={},e)for(var t in e)this._features=e[t]}function ka(){}function Ca(e){return(\"<\"==e?\"<\":\">\"==e&&\">\")||\"&\"==e&&\"&\"||'\"'==e&&\""\"||\"&#\"+e.charCodeAt()+\";\"}function wa(e,t){if(t(e))return!0;if(e=e.firstChild)do{if(wa(e,t))return!0}while(e=e.nextSibling)}function Ea(){}function xa(e,t,i){e&&e._inc++,\"http://www.w3.org/2000/xmlns/\"==i.namespaceURI&&delete t._nsMap[i.prefix?i.localName:\"\"]}function Aa(e,t,i){if(e&&e._inc){e._inc++;var n=t.childNodes;if(i)n[n.length++]=i;else{for(var r=t.firstChild,s=0;r;)r=(n[s++]=r).nextSibling;n.length=s}}}function Ia(e,t){var i=t.previousSibling,n=t.nextSibling;return i?i.nextSibling=n:e.firstChild=n,n?n.previousSibling=i:e.lastChild=i,Aa(e.ownerDocument,e),t}function Pa(e,t,i){var n=t.parentNode;if(n&&n.removeChild(t),t.nodeType===oa){var r=t.firstChild;if(null==r)return t;var s=t.lastChild}else r=s=t;var a=i?i.previousSibling:e.lastChild;for(r.previousSibling=a,s.nextSibling=i,a?a.nextSibling=r:e.firstChild=r,null==i?e.lastChild=s:i.previousSibling=s;r.parentNode=e,r!==s&&(r=r.nextSibling););return Aa(e.ownerDocument||e,e),t.nodeType==oa&&(t.firstChild=t.lastChild=null),t}function La(){this._nsMap={}}function Oa(){}function Da(){}function Na(){}function Ra(){}function Ua(){}function Ma(){}function Ba(){}function ja(){}function Fa(){}function Ha(){}function Va(){}function qa(){}function Wa(e,t){var i=[],n=9==this.nodeType?this.documentElement:this,r=n.prefix,s=n.namespaceURI;if(s&&null==r&&null==(r=n.lookupPrefix(s)))var a=[{namespace:s,prefix:null}];return Ga(this,i,e,t,a),i.join(\"\")}function za(e,t,i){var n=e.prefix||\"\",r=e.namespaceURI;if(!n&&!r)return!1;if(\"xml\"===n&&\"http://www.w3.org/XML/1998/namespace\"===r||\"http://www.w3.org/2000/xmlns/\"==r)return!1;for(var s=i.length;s--;){var a=i[s];if(a.prefix==n)return a.namespace!=r}return!0}function Ga(e,t,i,n,r){if(n){if(!(e=n(e)))return;if(\"string\"==typeof e)return void t.push(e)}switch(e.nodeType){case Qs:r=r||[];var s=e.attributes,a=s.length,o=e.firstChild,u=e.tagName;i=Ys===e.namespaceURI||i,t.push(\"<\",u);for(var l=0;l<a;l++){\"xmlns\"==(c=s.item(l)).prefix?r.push({prefix:c.localName,namespace:c.value}):\"xmlns\"==c.nodeName&&r.push({prefix:\"\",namespace:c.value})}for(l=0;l<a;l++){var c;if(za(c=s.item(l),0,r)){var h=c.prefix||\"\",d=c.namespaceURI,p=h?\" xmlns:\"+h:\" xmlns\";t.push(p,'=\"',d,'\"'),r.push({prefix:h,namespace:d})}Ga(c,t,i,n,r)}if(za(e,0,r)){h=e.prefix||\"\",d=e.namespaceURI,p=h?\" xmlns:\"+h:\" xmlns\";t.push(p,'=\"',d,'\"'),r.push({prefix:h,namespace:d})}if(o||i&&!/^(?:meta|link|img|br|hr|input)$/i.test(u)){if(t.push(\">\"),i&&/^script$/i.test(u))for(;o;)o.data?t.push(o.data):Ga(o,t,i,n,r),o=o.nextSibling;else for(;o;)Ga(o,t,i,n,r),o=o.nextSibling;t.push(\"</\",u,\">\")}else t.push(\"/>\");return;case sa:case oa:for(o=e.firstChild;o;)Ga(o,t,i,n,r),o=o.nextSibling;return;case Js:return t.push(\" \",e.name,'=\"',e.value.replace(/[<&\"]/g,Ca),'\"');case Zs:return t.push(e.data.replace(/[<&]/g,Ca));case ea:return t.push(\"<![CDATA[\",e.data,\"]]>\");case ra:return t.push(\"\\x3c!--\",e.data,\"--\\x3e\");case aa:var f=e.publicId,m=e.systemId;if(t.push(\"<!DOCTYPE \",e.name),f)t.push(' PUBLIC \"',f),m&&\".\"!=m&&t.push('\" \"',m),t.push('\">');else if(m&&\".\"!=m)t.push(' SYSTEM \"',m,'\">');else{var g=e.internalSubset;g&&t.push(\" [\",g,\"]\"),t.push(\">\")}return;case na:return t.push(\"<?\",e.target,\" \",e.data,\"?>\");case ta:return t.push(\"&\",e.nodeName,\";\");default:t.push(\"??\",e.nodeName)}}function Xa(e,t,i){e[t]=i}fa.prototype=Error.prototype,Xs(la,fa),ma.prototype={length:0,item:function(e){return this[e]||null},toString:function(e,t){for(var i=[],n=0;n<this.length;n++)Ga(this[n],i,e,t);return i.join(\"\")}},ga.prototype.item=function(e){return va(this),this[e]},Ks(ga,ma),ya.prototype={length:0,item:ma.prototype.item,getNamedItem:function(e){for(var t=this.length;t--;){var i=this[t];if(i.nodeName==e)return i}},setNamedItem:function(e){var t=e.ownerElement;if(t&&t!=this._ownerElement)throw new fa(pa);var i=this.getNamedItem(e.nodeName);return ba(this._ownerElement,this,e,i),i},setNamedItemNS:function(e){var t,i=e.ownerElement;if(i&&i!=this._ownerElement)throw new fa(pa);return t=this.getNamedItemNS(e.namespaceURI,e.localName),ba(this._ownerElement,this,e,t),t},removeNamedItem:function(e){var t=this.getNamedItem(e);return Ta(this._ownerElement,this,t),t},removeNamedItemNS:function(e,t){var i=this.getNamedItemNS(e,t);return Ta(this._ownerElement,this,i),i},getNamedItemNS:function(e,t){for(var i=this.length;i--;){var n=this[i];if(n.localName==t&&n.namespaceURI==e)return n}return null}},Sa.prototype={hasFeature:function(e,t){var i=this._features[e.toLowerCase()];return!(!i||t&&!(t in i))},createDocument:function(e,t,i){var n=new Ea;if(n.implementation=this,n.childNodes=new ma,(n.doctype=i)&&n.appendChild(i),t){var r=n.createElementNS(e,t);n.appendChild(r)}return n},createDocumentType:function(e,t,i){var n=new Ma;return n.name=e,n.nodeName=e,n.publicId=t,n.systemId=i,n}},ka.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(e,t){return Pa(this,e,t)},replaceChild:function(e,t){this.insertBefore(e,t),t&&this.removeChild(t)},removeChild:function(e){return Ia(this,e)},appendChild:function(e){return this.insertBefore(e,null)},hasChildNodes:function(){return null!=this.firstChild},cloneNode:function(e){return function e(t,i,n){var r=new i.constructor;for(var s in i){var a=i[s];\"object\"!=typeof a&&a!=r[s]&&(r[s]=a)}i.childNodes&&(r.childNodes=new ma);r.ownerDocument=t;switch(r.nodeType){case Qs:var o=i.attributes,u=r.attributes=new ya,l=o.length;u._ownerElement=r;for(var c=0;c<l;c++)r.setAttributeNode(e(t,o.item(c),!0));break;case Js:n=!0}if(n)for(var h=i.firstChild;h;)r.appendChild(e(t,h,n)),h=h.nextSibling;return r}(this.ownerDocument||this,this,e)},normalize:function(){for(var e=this.firstChild;e;){var t=e.nextSibling;t&&t.nodeType==Zs&&e.nodeType==Zs?(this.removeChild(t),e.appendData(t.data)):(e.normalize(),e=t)}},isSupported:function(e,t){return this.ownerDocument.implementation.hasFeature(e,t)},hasAttributes:function(){return 0<this.attributes.length},lookupPrefix:function(e){for(var t=this;t;){var i=t._nsMap;if(i)for(var n in i)if(i[n]==e)return n;t=t.nodeType==Js?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(e){for(var t=this;t;){var i=t._nsMap;if(i&&e in i)return i[e];t=t.nodeType==Js?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(e){return null==this.lookupPrefix(e)}},Xs($s,ka),Xs($s,ka.prototype),Ea.prototype={nodeName:\"#document\",nodeType:sa,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType!=oa)return null==this.documentElement&&e.nodeType==Qs&&(this.documentElement=e),Pa(this,e,t),e.ownerDocument=this,e;for(var i=e.firstChild;i;){var n=i.nextSibling;this.insertBefore(i,t),i=n}return e},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),Ia(this,e)},importNode:function(e,t){return function e(t,i,n){var r;switch(i.nodeType){case Qs:(r=i.cloneNode(!1)).ownerDocument=t;case oa:break;case Js:n=!0}r=r||i.cloneNode(!1);r.ownerDocument=t;r.parentNode=null;if(n)for(var s=i.firstChild;s;)r.appendChild(e(t,s,n)),s=s.nextSibling;return r}(this,e,t)},getElementById:function(t){var i=null;return wa(this.documentElement,function(e){if(e.nodeType==Qs&&e.getAttribute(\"id\")==t)return i=e,!0}),i},createElement:function(e){var t=new La;return t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.childNodes=new ma,(t.attributes=new ya)._ownerElement=t},createDocumentFragment:function(){var e=new Ha;return e.ownerDocument=this,e.childNodes=new ma,e},createTextNode:function(e){var t=new Na;return t.ownerDocument=this,t.appendData(e),t},createComment:function(e){var t=new Ra;return t.ownerDocument=this,t.appendData(e),t},createCDATASection:function(e){var t=new Ua;return t.ownerDocument=this,t.appendData(e),t},createProcessingInstruction:function(e,t){var i=new Va;return i.ownerDocument=this,i.tagName=i.target=e,i.nodeValue=i.data=t,i},createAttribute:function(e){var t=new Oa;return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t},createEntityReference:function(e){var t=new Fa;return t.ownerDocument=this,t.nodeName=e,t},createElementNS:function(e,t){var i=new La,n=t.split(\":\"),r=i.attributes=new ya;return i.childNodes=new ma,i.ownerDocument=this,i.nodeName=t,i.tagName=t,i.namespaceURI=e,2==n.length?(i.prefix=n[0],i.localName=n[1]):i.localName=t,r._ownerElement=i},createAttributeNS:function(e,t){var i=new Oa,n=t.split(\":\");return i.ownerDocument=this,i.nodeName=t,i.name=t,i.namespaceURI=e,i.specified=!0,2==n.length?(i.prefix=n[0],i.localName=n[1]):i.localName=t,i}},Ks(Ea,ka),Ea.prototype.getElementsByTagName=(La.prototype={nodeType:Qs,hasAttribute:function(e){return null!=this.getAttributeNode(e)},getAttribute:function(e){var t=this.getAttributeNode(e);return t&&t.value||\"\"},getAttributeNode:function(e){return this.attributes.getNamedItem(e)},setAttribute:function(e,t){var i=this.ownerDocument.createAttribute(e);i.value=i.nodeValue=\"\"+t,this.setAttributeNode(i)},removeAttribute:function(e){var t=this.getAttributeNode(e);t&&this.removeAttributeNode(t)},appendChild:function(e){return e.nodeType===oa?this.insertBefore(e,null):function(e,t){var i=t.parentNode;if(i){var n=e.lastChild;i.removeChild(t);n=e.lastChild}return n=e.lastChild,t.parentNode=e,t.previousSibling=n,t.nextSibling=null,n?n.nextSibling=t:e.firstChild=t,e.lastChild=t,Aa(e.ownerDocument,e,t),t}(this,e)},setAttributeNode:function(e){return this.attributes.setNamedItem(e)},setAttributeNodeNS:function(e){return this.attributes.setNamedItemNS(e)},removeAttributeNode:function(e){return this.attributes.removeNamedItem(e.nodeName)},removeAttributeNS:function(e,t){var i=this.getAttributeNodeNS(e,t);i&&this.removeAttributeNode(i)},hasAttributeNS:function(e,t){return null!=this.getAttributeNodeNS(e,t)},getAttributeNS:function(e,t){var i=this.getAttributeNodeNS(e,t);return i&&i.value||\"\"},setAttributeNS:function(e,t,i){var n=this.ownerDocument.createAttributeNS(e,t);n.value=n.nodeValue=\"\"+i,this.setAttributeNode(n)},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t)},getElementsByTagName:function(n){return new ga(this,function(t){var i=[];return wa(t,function(e){e===t||e.nodeType!=Qs||\"*\"!==n&&e.tagName!=n||i.push(e)}),i})},getElementsByTagNameNS:function(n,r){return new ga(this,function(t){var i=[];return wa(t,function(e){e===t||e.nodeType!==Qs||\"*\"!==n&&e.namespaceURI!==n||\"*\"!==r&&e.localName!=r||i.push(e)}),i})}}).getElementsByTagName,Ea.prototype.getElementsByTagNameNS=La.prototype.getElementsByTagNameNS,Ks(La,ka),Oa.prototype.nodeType=Js,Ks(Oa,ka),Da.prototype={data:\"\",substringData:function(e,t){return this.data.substring(e,e+t)},appendData:function(e){e=this.data+e,this.nodeValue=this.data=e,this.length=e.length},insertData:function(e,t){this.replaceData(e,0,t)},appendChild:function(e){throw new Error(ca[ha])},deleteData:function(e,t){this.replaceData(e,t,\"\")},replaceData:function(e,t,i){i=this.data.substring(0,e)+i+this.data.substring(e+t),this.nodeValue=this.data=i,this.length=i.length}},Ks(Da,ka),Na.prototype={nodeName:\"#text\",nodeType:Zs,splitText:function(e){var t=this.data,i=t.substring(e);t=t.substring(0,e),this.data=this.nodeValue=t,this.length=t.length;var n=this.ownerDocument.createTextNode(i);return this.parentNode&&this.parentNode.insertBefore(n,this.nextSibling),n}},Ks(Na,Da),Ra.prototype={nodeName:\"#comment\",nodeType:ra},Ks(Ra,Da),Ua.prototype={nodeName:\"#cdata-section\",nodeType:ea},Ks(Ua,Da),Ma.prototype.nodeType=aa,Ks(Ma,ka),Ba.prototype.nodeType=ua,Ks(Ba,ka),ja.prototype.nodeType=ia,Ks(ja,ka),Fa.prototype.nodeType=ta,Ks(Fa,ka),Ha.prototype.nodeName=\"#document-fragment\",Ha.prototype.nodeType=oa,Ks(Ha,ka),Va.prototype.nodeType=na,Ks(Va,ka),qa.prototype.serializeToString=function(e,t,i){return Wa.call(e,t,i)},ka.prototype.toString=Wa;try{if(Object.defineProperty){Object.defineProperty(ga.prototype,\"length\",{get:function(){return va(this),this.$$length}}),Object.defineProperty(ka.prototype,\"textContent\",{get:function(){return function e(t){switch(t.nodeType){case Qs:case oa:var i=[];for(t=t.firstChild;t;)7!==t.nodeType&&8!==t.nodeType&&i.push(e(t)),t=t.nextSibling;return i.join(\"\");default:return t.nodeValue}}(this)},set:function(e){switch(this.nodeType){case Qs:case oa:for(;this.firstChild;)this.removeChild(this.firstChild);(e||String(e))&&this.appendChild(this.ownerDocument.createTextNode(e));break;default:this.data=e,this.value=e,this.nodeValue=e}}}),Xa=function(e,t,i){e[\"$$\"+t]=i}}}catch(e){}function Ka(e){return!!e&&\"object\"==typeof e}function Ya(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return t.reduce(function(t,i){return Object.keys(i).forEach(function(e){Array.isArray(t[e])&&Array.isArray(i[e])?t[e]=t[e].concat(i[e]):Ka(t[e])&&Ka(i[e])?t[e]=Ya(t[e],i[e]):t[e]=i[e]}),t},{})}function $a(e){return e.reduce(function(e,t){return e.concat(t)},[])}function Qa(e){if(!e.length)return[];for(var t=[],i=0;i<e.length;i++)t.push(e[i]);return t}function Ja(e){var t=e.baseUrl,i=void 0===t?\"\":t,n=e.source,r=void 0===n?\"\":n,s=e.range,a=void 0===s?\"\":s,o=e.indexRange,u=void 0===o?\"\":o,l={uri:r,resolvedUri:bs(i||\"\",r)};if(a||u){var c=(a||u).split(\"-\"),h=parseInt(c[0],10),d=parseInt(c[1],10);l.byterange={length:d-h+1,offset:h}}return l}function Za(e){var t=e.type,i=void 0===t?\"static\":t,n=e.duration,r=e.timescale,s=void 0===r?1:r,a=e.sourceDuration,o=Vo[i](e),u=function(e,t){for(var i=[],n=e;n<t;n++)i.push(n);return i}(o.start,o.end).map(function(o){return function(e,t){var i=o.duration,n=o.timescale,r=void 0===n?1:n,s=o.periodIndex,a=o.startNumber;return{number:(void 0===a?1:a)+e,duration:i/r,timeline:s,time:t*i}}}(e));if(\"static\"===i){var l=u.length-1;u[l].duration=a-n/s*l}return u}function eo(e){var t=e.baseUrl,i=e.initialization,n=void 0===i?{}:i,r=e.sourceDuration,s=e.timescale,a=void 0===s?1:s,o=e.indexRange,u=void 0===o?\"\":o,l=e.duration;if(!t)throw new Error(jo);var c=Ja({baseUrl:t,source:n.sourceURL,range:n.range}),h=Ja({baseUrl:t,source:t,indexRange:u});if(h.map=c,l){var d=Za(e);d.length&&(h.duration=d[0].duration,h.timeline=d[0].timeline)}else r&&(h.duration=r/a,h.timeline=0);return h.number=0,[h]}function to(e,t,i){for(var n=e.sidx.map?e.sidx.map:null,r=e.sidx.duration,s=e.timeline||0,a=e.sidx.byterange,o=a.offset+a.length,u=t.timescale,l=t.references.filter(function(e){return 1!==e.referenceType}),c=[],h=o+t.firstOffset,d=0;d<l.length;d++){var p=t.references[d],f=p.referencedSize,m=p.subsegmentDuration,g=eo({baseUrl:i,timescale:u,timeline:s,periodIndex:s,duration:m,sourceDuration:r,indexRange:h+\"-\"+(h+f-1)})[0];n&&(g.map=n),c.push(g),h+=f}return e.segments=c,e}function io(e){return function(t){return Object.keys(t).map(function(e){return t[e]})}(e.reduce(function(e,t){var i,n=t.attributes.id+(t.attributes.lang||\"\");e[n]?(t.segments[0]&&(t.segments[0].discontinuity=!0),(i=e[n].segments).push.apply(i,t.segments),t.attributes.contentProtection&&(e[n].attributes.contentProtection=t.attributes.contentProtection)):e[n]=t;return e},{})).map(function(e){return e.discontinuityStarts=function(e,n){return e.reduce(function(e,t,i){return t[n]&&e.push(i),e},[])}(e.segments,\"discontinuity\"),e})}function no(e,t){if(void 0===t&&(t={}),!Object.keys(t).length)return e;for(var i in e){var n=e[i];if(n.sidx){var r=n.sidx.uri+\"-\"+(a=n.sidx.byterange,void 0,o=a.offset+a.length-1,a.offset+\"-\"+o),s=t[r]&&t[r].sidx;n.sidx&&s&&to(n,s,n.sidx.resolvedUri)}}var a,o;return e}function ro(e){var t,i=e.attributes,n=e.segments,r=e.sidx,s={attributes:(t={NAME:i.id,AUDIO:\"audio\",SUBTITLES:\"subs\",RESOLUTION:{width:i.width,height:i.height},CODECS:i.codecs,BANDWIDTH:i.bandwidth},t[\"PROGRAM-ID\"]=1,t),uri:\"\",endList:\"static\"===(i.type||\"static\"),timeline:i.periodIndex,resolvedUri:\"\",targetDuration:i.duration,segments:n,mediaSequence:n.length?n[0].number:1};return i.contentProtection&&(s.contentProtection=i.contentProtection),r&&(s.sidx=r),s}function so(e,t){var i;if(void 0===t&&(t={}),!e.length)return{};var n=e[0].attributes,r=n.sourceDuration,s=n.type,a=void 0===s?\"static\":s,o=n.suggestedPresentationDelay,u=n.minimumUpdatePeriod,l=void 0===u?0:u,c=io(e.filter(function(e){var t=e.attributes;return\"video/mp4\"===t.mimeType||\"video\"===t.contentType})).map(ro),h=io(e.filter(function(e){var t=e.attributes;return\"audio/mp4\"===t.mimeType||\"audio\"===t.contentType})),d=e.filter(function(e){var t=e.attributes;return\"text/vtt\"===t.mimeType||\"text\"===t.contentType}),p={allowCache:!0,discontinuityStarts:[],segments:[],endList:!0,mediaGroups:(i={AUDIO:{},VIDEO:{}},i[\"CLOSED-CAPTIONS\"]={},i.SUBTITLES={},i),uri:\"\",duration:r,playlists:no(c,t),minimumUpdatePeriod:1e3*l};return\"dynamic\"===a&&(p.suggestedPresentationDelay=o),h.length&&(p.mediaGroups.AUDIO.audio=function(e,a){var o;void 0===a&&(a={});var t=e.reduce(function(e,t){var i=t.attributes.role&&t.attributes.role.value||\"\",n=t.attributes.lang||\"\",r=\"main\";if(n){var s=i?\" (\"+i+\")\":\"\";r=t.attributes.lang+s}return e[r]&&e[r].playlists[0].attributes.BANDWIDTH>t.attributes.bandwidth||(e[r]={language:n,autoselect:!0,default:\"main\"===i,playlists:no([function(e){var t,i=e.attributes,n=e.segments,r=e.sidx,s={attributes:(t={NAME:i.id,BANDWIDTH:i.bandwidth,CODECS:i.codecs},t[\"PROGRAM-ID\"]=1,t),uri:\"\",endList:\"static\"===(i.type||\"static\"),timeline:i.periodIndex,resolvedUri:\"\",targetDuration:i.duration,segments:n,mediaSequence:n.length?n[0].number:1};return i.contentProtection&&(s.contentProtection=i.contentProtection),r&&(s.sidx=r),s}(t)],a),uri:\"\"},\"undefined\"==typeof o&&\"main\"===i&&((o=t).default=!0)),e},{});o||(t[Object.keys(t)[0]].default=!0);return t}(h,t)),d.length&&(p.mediaGroups.SUBTITLES.subs=function(e,n){return void 0===n&&(n={}),e.reduce(function(e,t){var i=t.attributes.lang||\"text\";return e[i]||(e[i]={language:i,default:!1,autoselect:!1,playlists:no([function(e){var t,i=e.attributes,n=e.segments;return\"undefined\"==typeof n&&(n=[{uri:i.baseUrl,timeline:i.periodIndex,resolvedUri:i.baseUrl||\"\",duration:i.sourceDuration,number:0}],i.duration=i.sourceDuration),{attributes:(t={NAME:i.id,BANDWIDTH:i.bandwidth},t[\"PROGRAM-ID\"]=1,t),uri:\"\",endList:\"static\"===(i.type||\"static\"),timeline:i.periodIndex,resolvedUri:i.baseUrl||\"\",targetDuration:i.duration,segments:n,mediaSequence:n.length?n[0].number:1}}(t)],n),uri:\"\"}),e},{})}(d,t)),p}function ao(e,t){for(var i,n,r,s,a,o,u,l,c,h,d,p,f=e.type,m=void 0===f?\"static\":f,g=e.minimumUpdatePeriod,v=void 0===g?0:g,y=e.media,_=void 0===y?\"\":y,b=e.sourceDuration,T=e.timescale,S=void 0===T?1:T,k=e.startNumber,C=void 0===k?1:k,w=e.periodIndex,E=[],x=-1,A=0;A<t.length;A++){var I=t[A],P=I.d,L=I.r||0,O=I.t||0;x<0&&(x=O),O&&x<O&&(x=O);var D=void 0;if(L<0){var N=A+1;D=N===t.length?\"dynamic\"===m&&0<v&&0<_.indexOf(\"$Number$\")?(n=x,r=P,void 0,s=(i=e).NOW,a=i.clientOffset,o=i.availabilityStartTime,u=i.timescale,l=void 0===u?1:u,c=i.start,h=void 0===c?0:c,d=i.minimumUpdatePeriod,p=(s+a)/1e3+(void 0===d?0:d)-(o+h),Math.ceil((p*l-n)/r)):(b*S-x)/P:(t[N].t-x)/P}else D=L+1;for(var R=C+E.length+D,U=C+E.length;U<R;)E.push({number:U,duration:P/S,time:x,timeline:w}),x+=P,U++}return E}function oo(e,t){return e.replace(qo,function(s){return function(e,t,i,n){if(\"$$\"===e)return\"$\";if(\"undefined\"==typeof s[t])return e;var r=\"\"+s[t];return\"RepresentationID\"===t?r:(n=i?parseInt(n,10):1)<=r.length?r:new Array(n-r.length+1).join(\"0\")+r}}(t))}function uo(i,e){var n={RepresentationID:i.id,Bandwidth:i.bandwidth||0},t=i.initialization,r=void 0===t?{sourceURL:\"\",range:\"\"}:t,s=Ja({baseUrl:i.baseUrl,source:oo(r.sourceURL,n),range:r.range});return function(e,t){return e.duration||t?e.duration?Za(e):ao(e,t):[{number:e.startNumber||1,duration:e.sourceDuration,time:0,timeline:e.periodIndex}]}(i,e).map(function(e){n.Number=e.number,n.Time=e.time;var t=oo(i.media||\"\",n);return{uri:t,timeline:e.timeline,duration:e.duration,resolvedUri:bs(i.baseUrl||\"\",t),map:s,number:e.number}})}function lo(t,e){var i=t.duration,n=t.segmentUrls,r=void 0===n?[]:n;if(!i&&!e||i&&e)throw new Error(Fo);var s,a=r.map(function(e){return function(e,t){var i=e.baseUrl,n=e.initialization,r=void 0===n?{}:n,s=Ja({baseUrl:i,source:r.sourceURL,range:r.range}),a=Ja({baseUrl:i,source:t.media,range:t.mediaRange});return a.map=s,a}(t,e)});return i&&(s=Za(t)),e&&(s=ao(t,e)),s.map(function(e,t){if(a[t]){var i=a[t];return i.timeline=e.timeline,i.duration=e.duration,i.number=e.number,i}}).filter(function(e){return e})}function co(e){var t,i,n=e.attributes,r=e.segmentInfo;r.template?(i=uo,t=Ya(n,r.template)):r.base?(i=eo,t=Ya(n,r.base)):r.list&&(i=lo,t=Ya(n,r.list));var s={attributes:n};if(!i)return s;var a=i(t,r.timeline);if(t.duration){var o=t,u=o.duration,l=o.timescale,c=void 0===l?1:l;t.duration=u/c}else a.length?t.duration=a.reduce(function(e,t){return Math.max(e,Math.ceil(t.duration))},0):t.duration=0;return s.attributes=t,s.segments=a,r.base&&t.indexRange&&(s.sidx=a[0],s.segments=[]),s}function ho(e,t){return Qa(e.childNodes).filter(function(e){return e.tagName===t})}function po(e){return e.textContent.trim()}function fo(e){var t=/P(?:(\\d*)Y)?(?:(\\d*)M)?(?:(\\d*)D)?(?:T(?:(\\d*)H)?(?:(\\d*)M)?(?:([\\d.]*)S)?)?/.exec(e);if(!t)return 0;var i=t.slice(1),n=i[0],r=i[1],s=i[2],a=i[3],o=i[4],u=i[5];return 31536e3*parseFloat(n||0)+2592e3*parseFloat(r||0)+86400*parseFloat(s||0)+3600*parseFloat(a||0)+60*parseFloat(o||0)+parseFloat(u||0)}function mo(e){return e&&e.attributes?Qa(e.attributes).reduce(function(e,t){var i=Wo[t.name]||Wo.DEFAULT;return e[t.name]=i(t.value),e},{}):{}}function go(e,i){return i.length?$a(e.map(function(t){return i.map(function(e){return bs(t,po(e))})})):e}function vo(e){var t=ho(e,\"SegmentTemplate\")[0],i=ho(e,\"SegmentList\")[0],n=i&&ho(i,\"SegmentURL\").map(function(e){return Ya({tag:\"SegmentURL\"},mo(e))}),r=ho(e,\"SegmentBase\")[0],s=i||t,a=s&&ho(s,\"SegmentTimeline\")[0],o=i||r||t,u=o&&ho(o,\"Initialization\")[0],l=t&&mo(t);l&&u?l.initialization=u&&mo(u):l&&l.initialization&&(l.initialization={sourceURL:l.initialization});var c={template:l,timeline:a&&ho(a,\"S\").map(function(e){return mo(e)}),list:i&&Ya(mo(i),{segmentUrls:n,initialization:mo(u)}),base:r&&Ya(mo(r),{initialization:mo(u)})};return Object.keys(c).forEach(function(e){c[e]||delete c[e]}),c}function yo(c,h,d){return function(e){var t=mo(e),i=go(h,ho(e,\"BaseURL\")),n=ho(e,\"Role\")[0],r={role:mo(n)},s=Ya(c,t,r),a=function(e){return e.reduce(function(e,t){var i=mo(t),n=zo[i.schemeIdUri];if(n){e[n]={attributes:i};var r=ho(t,\"cenc:pssh\")[0];if(r){var s=po(r),a=s&&ks(s);e[n].pssh=a}}return e},{})}(ho(e,\"ContentProtection\"));Object.keys(a).length&&(s=Ya(s,{contentProtection:a}));var o=vo(e),u=ho(e,\"Representation\"),l=Ya(d,o);return $a(u.map(function(s,a,o){return function(e){var t=ho(e,\"BaseURL\"),i=go(a,t),n=Ya(s,mo(e)),r=vo(e);return i.map(function(e){return{segmentInfo:Ya(o,r),attributes:Ya(n,{baseUrl:e})}})}}(s,i,l)))}}function _o(e,t){void 0===t&&(t={});var i=t,n=i.manifestUri,r=void 0===n?\"\":n,s=i.NOW,a=void 0===s?Date.now():s,o=i.clientOffset,u=void 0===o?0:o,l=ho(e,\"Period\");if(!l.length)throw new Error(Uo);var c=mo(e),h=go([r],ho(e,\"BaseURL\"));return c.sourceDuration=c.mediaPresentationDuration||0,c.NOW=a,c.clientOffset=u,$a(l.map(function(l,c){return function(e,t){var i=go(c,ho(e,\"BaseURL\")),n=mo(e),r=parseInt(n.id,10),s=y.isNaN(r)?t:r,a=Ya(l,{periodIndex:s}),o=ho(e,\"AdaptationSet\"),u=vo(e);return $a(o.map(yo(a,i,u)))}}(c,h)))}function bo(e){if(\"\"===e)throw new Error(Mo);var t=(new Ro).parseFromString(e,\"application/xml\"),i=t&&\"MPD\"===t.documentElement.tagName?t.documentElement:null;if(!i||i&&0<i.getElementsByTagName(\"parsererror\").length)throw new Error(Bo);return i}function To(e,t){return void 0===t&&(t={}),so(function(e){return e.map(co)}(_o(bo(e),t)),t.sidxMapping)}function So(e){return function(e){var t=ho(e,\"UTCTiming\")[0];if(!t)return null;var i=mo(t);switch(i.schemeIdUri){case\"urn:mpeg:dash:utc:http-head:2014\":case\"urn:mpeg:dash:utc:http-head:2012\":i.method=\"HEAD\";break;case\"urn:mpeg:dash:utc:http-xsdate:2014\":case\"urn:mpeg:dash:utc:http-iso:2014\":case\"urn:mpeg:dash:utc:http-xsdate:2012\":case\"urn:mpeg:dash:utc:http-iso:2012\":i.method=\"GET\";break;case\"urn:mpeg:dash:utc:direct:2014\":case\"urn:mpeg:dash:utc:direct:2012\":i.method=\"DIRECT\",i.value=Date.parse(i.value);break;case\"urn:mpeg:dash:utc:http-ntp:2014\":case\"urn:mpeg:dash:utc:ntp:2014\":case\"urn:mpeg:dash:utc:sntp:2014\":default:throw new Error(Ho)}return i}(bo(e))}function ko(e){return new Date(1e3*e-20828448e5)}function Co(e){return{isLeading:(12&e[0])>>>2,dependsOn:3&e[0],isDependedOn:(192&e[1])>>>6,hasRedundancy:(48&e[1])>>>4,paddingValue:(14&e[1])>>>1,isNonSyncSample:1&e[1],degradationPriority:e[2]<<8|e[3]}}function wo(e){var t=\"\";return t+=String.fromCharCode(e[0]),t+=String.fromCharCode(e[1]),t+=String.fromCharCode(e[2]),t+=String.fromCharCode(e[3])}var Eo,xo,Ao,Io,Po,Lo,Oo,Do={DOMImplementation:Sa,XMLSerializer:qa},No=t(function(e,t){function i(e){this.options=e||{locator:{}}}function l(){this.cdata=!1}function c(e,t){t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber}function h(e){if(e)return\"\\n@\"+(e.systemId||\"\")+\"#[line:\"+e.lineNumber+\",col:\"+e.columnNumber+\"]\"}function r(e,t,i){return\"string\"==typeof e?e.substr(t,i):e.length>=t+i||t?new java.lang.String(e,t,i)+\"\":e}function d(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t)}i.prototype.parseFromString=function(e,t){var i=this.options,n=new p,r=i.domBuilder||new l,s=i.errorHandler,a=i.locator,o=i.xmlns||{},u={lt:\"<\",gt:\">\",amp:\"&\",quot:'\"',apos:\"'\"};return a&&r.setDocumentLocator(a),n.errorHandler=function(n,e,r){if(!n){if(e instanceof l)return e;n=e}var s={},a=n instanceof Function;function t(t){var i=n[t];!i&&a&&(i=2==n.length?function(e){n(t,e)}:n),s[t]=i&&function(e){i(\"[xmldom \"+t+\"]\\t\"+e+h(r))}||function(){}}return r=r||{},t(\"warning\"),t(\"error\"),t(\"fatalError\"),s}(s,r,a),n.domBuilder=i.domBuilder||r,/\\/x?html?$/.test(t)&&(u.nbsp=\" \",u.copy=\"©\",o[\"\"]=\"http://www.w3.org/1999/xhtml\"),o.xml=o.xml||\"http://www.w3.org/XML/1998/namespace\",e?n.parse(e,o,u):n.errorHandler.error(\"invalid doc source\"),r.doc},l.prototype={startDocument:function(){this.doc=(new n).createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(e,t,i,n){var r=this.doc,s=r.createElementNS(e,i||t),a=n.length;d(this,s),this.currentElement=s,this.locator&&c(this.locator,s);for(var o=0;o<a;o++){e=n.getURI(o);var u=n.getValue(o),l=(i=n.getQName(o),r.createAttributeNS(e,i));this.locator&&c(n.getLocator(o),l),l.value=l.nodeValue=u,s.setAttributeNode(l)}},endElement:function(e,t,i){var n=this.currentElement;n.tagName;this.currentElement=n.parentNode},startPrefixMapping:function(e,t){},endPrefixMapping:function(e){},processingInstruction:function(e,t){var i=this.doc.createProcessingInstruction(e,t);this.locator&&c(this.locator,i),d(this,i)},ignorableWhitespace:function(e,t,i){},characters:function(e,t,i){if(e=r.apply(this,arguments)){if(this.cdata)var n=this.doc.createCDATASection(e);else n=this.doc.createTextNode(e);this.currentElement?this.currentElement.appendChild(n):/^\\s*$/.test(e)&&this.doc.appendChild(n),this.locator&&c(this.locator,n)}},skippedEntity:function(e){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(e){(this.locator=e)&&(e.lineNumber=0)},comment:function(e,t,i){e=r.apply(this,arguments);var n=this.doc.createComment(e);this.locator&&c(this.locator,n),d(this,n)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(e,t,i){var n=this.doc.implementation;if(n&&n.createDocumentType){var r=n.createDocumentType(e,t,i);this.locator&&c(this.locator,r),d(this,r)}},warning:function(e){},error:function(e){},fatalError:function(e){throw e}},\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(e){l.prototype[e]=function(){return null}});var p=Gs.XMLReader,n=t.DOMImplementation=Do.DOMImplementation;t.XMLSerializer=Do.XMLSerializer,t.DOMParser=i}),Ro=(No.DOMImplementation,No.XMLSerializer,No.DOMParser),Uo=\"INVALID_NUMBER_OF_PERIOD\",Mo=\"DASH_EMPTY_MANIFEST\",Bo=\"DASH_INVALID_XML\",jo=\"NO_BASE_URL\",Fo=\"SEGMENT_TIME_UNSPECIFIED\",Ho=\"UNSUPPORTED_UTC_TIMING_SCHEME\",Vo={static:function(e){var t=e.duration,i=e.timescale,n=void 0===i?1:i,r=e.sourceDuration;return{start:0,end:Math.ceil(r/(t/n))}},dynamic:function(e){var t=e.NOW,i=e.clientOffset,n=e.availabilityStartTime,r=e.timescale,s=void 0===r?1:r,a=e.duration,o=e.start,u=void 0===o?0:o,l=e.minimumUpdatePeriod,c=void 0===l?0:l,h=e.timeShiftBufferDepth,d=void 0===h?1/0:h,p=(t+i)/1e3,f=n+u,m=p+c-f,g=Math.ceil(m*s/a),v=Math.floor((p-f-d)*s/a),y=Math.floor((p-f)*s/a);return{start:Math.max(0,v),end:Math.min(g,y)}}},qo=/\\$([A-z]*)(?:(%0)([0-9]+)d)?\\$/g,Wo={mediaPresentationDuration:function(e){return fo(e)},availabilityStartTime:function(e){return function(e){return/^\\d+-\\d+-\\d+T\\d+:\\d+:\\d+(\\.\\d+)?$/.test(e)&&(e+=\"Z\"),Date.parse(e)}(e)/1e3},minimumUpdatePeriod:function(e){return fo(e)},suggestedPresentationDelay:function(e){return fo(e)},type:function(e){return e},timeShiftBufferDepth:function(e){return fo(e)},start:function(e){return fo(e)},width:function(e){return parseInt(e,10)},height:function(e){return parseInt(e,10)},bandwidth:function(e){return parseInt(e,10)},startNumber:function(e){return parseInt(e,10)},timescale:function(e){return parseInt(e,10)},duration:function(e){var t=parseInt(e,10);return isNaN(t)?fo(e):t},d:function(e){return parseInt(e,10)},t:function(e){return parseInt(e,10)},r:function(e){return parseInt(e,10)},DEFAULT:function(e){return e}},zo={\"urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b\":\"org.w3.clearkey\",\"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed\":\"com.widevine.alpha\",\"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95\":\"com.microsoft.playready\",\"urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb\":\"com.adobe.primetime\"},Go=function(e){return e>>>0},Xo=function(e){return(\"00\"+e.toString(16)).slice(-2)},Ko=Go,Yo={avc1:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{dataReferenceIndex:t.getUint16(6),width:t.getUint16(24),height:t.getUint16(26),horizresolution:t.getUint16(28)+t.getUint16(30)/16,vertresolution:t.getUint16(32)+t.getUint16(34)/16,frameCount:t.getUint16(40),depth:t.getUint16(74),config:Eo(e.subarray(78,e.byteLength))}},avcC:function(e){var t,i,n,r,s=new DataView(e.buffer,e.byteOffset,e.byteLength),a={configurationVersion:e[0],avcProfileIndication:e[1],profileCompatibility:e[2],avcLevelIndication:e[3],lengthSizeMinusOne:3&e[4],sps:[],pps:[]},o=31&e[5];for(n=6,r=0;r<o;r++)i=s.getUint16(n),n+=2,a.sps.push(new Uint8Array(e.subarray(n,n+i))),n+=i;for(t=e[n],n++,r=0;r<t;r++)i=s.getUint16(n),n+=2,a.pps.push(new Uint8Array(e.subarray(n,n+i))),n+=i;return a},btrt:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{bufferSizeDB:t.getUint32(0),maxBitrate:t.getUint32(4),avgBitrate:t.getUint32(8)}},esds:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),esId:e[6]<<8|e[7],streamPriority:31&e[8],decoderConfig:{objectProfileIndication:e[11],streamType:e[12]>>>2&63,bufferSize:e[13]<<16|e[14]<<8|e[15],maxBitrate:e[16]<<24|e[17]<<16|e[18]<<8|e[19],avgBitrate:e[20]<<24|e[21]<<16|e[22]<<8|e[23],decoderConfigDescriptor:{tag:e[24],length:e[25],audioObjectType:e[26]>>>3&31,samplingFrequencyIndex:(7&e[26])<<1|e[27]>>>7&1,channelConfiguration:e[27]>>>3&15}}}},ftyp:function(e){for(var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i={majorBrand:wo(e.subarray(0,4)),minorVersion:t.getUint32(4),compatibleBrands:[]},n=8;n<e.byteLength;)i.compatibleBrands.push(wo(e.subarray(n,n+4))),n+=4;return i},dinf:function(e){return{boxes:Eo(e)}},dref:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),dataReferences:Eo(e.subarray(8))}},hdlr:function(e){var t={version:new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0),flags:new Uint8Array(e.subarray(1,4)),handlerType:wo(e.subarray(8,12)),name:\"\"},i=8;for(i=24;i<e.byteLength;i++){if(0===e[i]){i++;break}t.name+=String.fromCharCode(e[i])}return t.name=decodeURIComponent(escape(t.name)),t},mdat:function(e){return{byteLength:e.byteLength,nals:function(e){var t,i,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=[];for(t=0;t+4<e.length;t+=i)if(i=n.getUint32(t),t+=4,i<=0)r.push(\"<span style='color:red;'>MALFORMED DATA</span>\");else switch(31&e[t]){case 1:r.push(\"slice_layer_without_partitioning_rbsp\");break;case 5:r.push(\"slice_layer_without_partitioning_rbsp_idr\");break;case 6:r.push(\"sei_rbsp\");break;case 7:r.push(\"seq_parameter_set_rbsp\");break;case 8:r.push(\"pic_parameter_set_rbsp\");break;case 9:r.push(\"access_unit_delimiter_rbsp\");break;default:r.push(\"UNKNOWN NAL - \"+e[t]&31)}return r}(e)}},mdhd:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n=4,r={version:i.getUint8(0),flags:new Uint8Array(e.subarray(1,4)),language:\"\"};return 1===r.version?(n+=4,r.creationTime=ko(i.getUint32(n)),n+=8,r.modificationTime=ko(i.getUint32(n)),n+=4,r.timescale=i.getUint32(n),n+=8):(r.creationTime=ko(i.getUint32(n)),n+=4,r.modificationTime=ko(i.getUint32(n)),n+=4,r.timescale=i.getUint32(n),n+=4),r.duration=i.getUint32(n),n+=4,t=i.getUint16(n),r.language+=String.fromCharCode(96+(t>>10)),r.language+=String.fromCharCode(96+((992&t)>>5)),r.language+=String.fromCharCode(96+(31&t)),r},mdia:function(e){return{boxes:Eo(e)}},mfhd:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),sequenceNumber:e[4]<<24|e[5]<<16|e[6]<<8|e[7]}},minf:function(e){return{boxes:Eo(e)}},mp4a:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i={dataReferenceIndex:t.getUint16(6),channelcount:t.getUint16(16),samplesize:t.getUint16(18),samplerate:t.getUint16(24)+t.getUint16(26)/65536};return 28<e.byteLength&&(i.streamDescriptor=Eo(e.subarray(28))[0]),i},moof:function(e){return{boxes:Eo(e)}},moov:function(e){return{boxes:Eo(e)}},mvex:function(e){return{boxes:Eo(e)}},mvhd:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i=4,n={version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4))};return 1===n.version?(i+=4,n.creationTime=ko(t.getUint32(i)),i+=8,n.modificationTime=ko(t.getUint32(i)),i+=4,n.timescale=t.getUint32(i),i+=8):(n.creationTime=ko(t.getUint32(i)),i+=4,n.modificationTime=ko(t.getUint32(i)),i+=4,n.timescale=t.getUint32(i),i+=4),n.duration=t.getUint32(i),i+=4,n.rate=t.getUint16(i)+t.getUint16(i+2)/16,i+=4,n.volume=t.getUint8(i)+t.getUint8(i+1)/8,i+=2,i+=2,i+=8,n.matrix=new Uint32Array(e.subarray(i,i+36)),i+=36,i+=24,n.nextTrackId=t.getUint32(i),n},pdin:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4)),rate:t.getUint32(4),initialDelay:t.getUint32(8)}},sdtp:function(e){var t,i={version:e[0],flags:new Uint8Array(e.subarray(1,4)),samples:[]};for(t=4;t<e.byteLength;t++)i.samples.push({dependsOn:(48&e[t])>>4,isDependedOn:(12&e[t])>>2,hasRedundancy:3&e[t]});return i},sidx:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),references:[],referenceId:i.getUint32(4),timescale:i.getUint32(8),earliestPresentationTime:i.getUint32(12),firstOffset:i.getUint32(16)},r=i.getUint16(22);for(t=24;r;t+=12,r--)n.references.push({referenceType:(128&e[t])>>>7,referencedSize:2147483647&i.getUint32(t),subsegmentDuration:i.getUint32(t+4),startsWithSap:!!(128&e[t+8]),sapType:(112&e[t+8])>>>4,sapDeltaTime:268435455&i.getUint32(t+8)});return n},smhd:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),balance:e[4]+e[5]/256}},stbl:function(e){return{boxes:Eo(e)}},stco:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),chunkOffsets:[]},r=i.getUint32(4);for(t=8;r;t+=4,r--)n.chunkOffsets.push(i.getUint32(t));return n},stsc:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n=i.getUint32(4),r={version:e[0],flags:new Uint8Array(e.subarray(1,4)),sampleToChunks:[]};for(t=8;n;t+=12,n--)r.sampleToChunks.push({firstChunk:i.getUint32(t),samplesPerChunk:i.getUint32(t+4),sampleDescriptionIndex:i.getUint32(t+8)});return r},stsd:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),sampleDescriptions:Eo(e.subarray(8))}},stsz:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),sampleSize:i.getUint32(4),entries:[]};for(t=12;t<e.byteLength;t+=4)n.entries.push(i.getUint32(t));return n},stts:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),timeToSamples:[]},r=i.getUint32(4);for(t=8;r;t+=8,r--)n.timeToSamples.push({sampleCount:i.getUint32(t),sampleDelta:i.getUint32(t+4)});return n},styp:function(e){return Yo.ftyp(e)},tfdt:function(e){var t={version:e[0],flags:new Uint8Array(e.subarray(1,4)),baseMediaDecodeTime:Ko(e[4]<<24|e[5]<<16|e[6]<<8|e[7])};return 1===t.version&&(t.baseMediaDecodeTime*=Math.pow(2,32),t.baseMediaDecodeTime+=Ko(e[8]<<24|e[9]<<16|e[10]<<8|e[11])),t},tfhd:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),trackId:i.getUint32(4)},r=1&n.flags[2],s=2&n.flags[2],a=8&n.flags[2],o=16&n.flags[2],u=32&n.flags[2],l=65536&n.flags[0],c=131072&n.flags[0];return t=8,r&&(t+=4,n.baseDataOffset=i.getUint32(12),t+=4),s&&(n.sampleDescriptionIndex=i.getUint32(t),t+=4),a&&(n.defaultSampleDuration=i.getUint32(t),t+=4),o&&(n.defaultSampleSize=i.getUint32(t),t+=4),u&&(n.defaultSampleFlags=i.getUint32(t)),l&&(n.durationIsEmpty=!0),!r&&c&&(n.baseDataOffsetIsMoof=!0),n},tkhd:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i=4,n={version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4))};return 1===n.version?(i+=4,n.creationTime=ko(t.getUint32(i)),i+=8,n.modificationTime=ko(t.getUint32(i)),i+=4,n.trackId=t.getUint32(i),i+=4,i+=8):(n.creationTime=ko(t.getUint32(i)),i+=4,n.modificationTime=ko(t.getUint32(i)),i+=4,n.trackId=t.getUint32(i),i+=4,i+=4),n.duration=t.getUint32(i),i+=4,i+=8,n.layer=t.getUint16(i),i+=2,n.alternateGroup=t.getUint16(i),i+=2,n.volume=t.getUint8(i)+t.getUint8(i+1)/8,i+=2,i+=2,n.matrix=new Uint32Array(e.subarray(i,i+36)),i+=36,n.width=t.getUint16(i)+t.getUint16(i+2)/16,i+=4,n.height=t.getUint16(i)+t.getUint16(i+2)/16,n},traf:function(e){return{boxes:Eo(e)}},trak:function(e){return{boxes:Eo(e)}},trex:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),trackId:t.getUint32(4),defaultSampleDescriptionIndex:t.getUint32(8),defaultSampleDuration:t.getUint32(12),defaultSampleSize:t.getUint32(16),sampleDependsOn:3&e[20],sampleIsDependedOn:(192&e[21])>>6,sampleHasRedundancy:(48&e[21])>>4,samplePaddingValue:(14&e[21])>>1,sampleIsDifferenceSample:!!(1&e[21]),sampleDegradationPriority:t.getUint16(22)}},trun:function(e){var t,i={version:e[0],flags:new Uint8Array(e.subarray(1,4)),samples:[]},n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=1&i.flags[2],s=4&i.flags[2],a=1&i.flags[1],o=2&i.flags[1],u=4&i.flags[1],l=8&i.flags[1],c=n.getUint32(4),h=8;for(r&&(i.dataOffset=n.getInt32(h),h+=4),s&&c&&(t={flags:Co(e.subarray(h,h+4))},h+=4,a&&(t.duration=n.getUint32(h),h+=4),o&&(t.size=n.getUint32(h),h+=4),l&&(t.compositionTimeOffset=n.getUint32(h),h+=4),i.samples.push(t),c--);c--;)t={},a&&(t.duration=n.getUint32(h),h+=4),o&&(t.size=n.getUint32(h),h+=4),u&&(t.flags=Co(e.subarray(h,h+4)),h+=4),l&&(t.compositionTimeOffset=n.getUint32(h),h+=4),i.samples.push(t);return i},\"url \":function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4))}},vmhd:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),graphicsmode:t.getUint16(4),opcolor:new Uint16Array([t.getUint16(6),t.getUint16(8),t.getUint16(10)])}}},$o={inspect:Eo=function(e){for(var t,i,n,r,s,a=0,o=[],u=new ArrayBuffer(e.length),l=new Uint8Array(u),c=0;c<e.length;++c)l[c]=e[c];for(t=new DataView(u);a<e.byteLength;)i=t.getUint32(a),n=wo(e.subarray(a+4,a+8)),r=1<i?a+i:e.byteLength,(s=(Yo[n]||function(e){return{data:e}})(e.subarray(a+8,r))).size=i,s.type=n,o.push(s),a=r;return o},textify:xo=function(e,t){var s;return t=t||0,s=new Array(2*t+1).join(\" \"),e.map(function(r,e){return s+r.type+\"\\n\"+Object.keys(r).filter(function(e){return\"type\"!==e&&\"boxes\"!==e}).map(function(e){var t=s+\" \"+e+\": \",i=r[e];if(i instanceof Uint8Array||i instanceof Uint32Array){var n=Array.prototype.slice.call(new Uint8Array(i.buffer,i.byteOffset,i.byteLength)).map(function(e){return\" \"+(\"00\"+e.toString(16)).slice(-2)}).join(\"\").match(/.{1,24}/g);return n?1===n.length?t+\"<\"+n.join(\"\").slice(1)+\">\":t+\"<\\n\"+n.map(function(e){return s+\" \"+e}).join(\"\\n\")+\"\\n\"+s+\" >\":t+\"<>\"}return t+JSON.stringify(i,null,2).split(\"\\n\").map(function(e,t){return 0===t?e:s+\" \"+e}).join(\"\\n\")}).join(\"\\n\")+(r.boxes?\"\\n\"+xo(r.boxes,t+1):\"\")}).join(\"\\n\")},parseType:wo,findBox:function e(t,i){var n,r,s,a,o,u=[];if(!i.length)return null;for(n=0;n<t.byteLength;)r=Ko(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3]),s=wo(t.subarray(n+4,n+8)),a=1<r?n+r:t.byteLength,s===i[0]&&(1===i.length?u.push(t.subarray(n+8,a)):(o=e(t.subarray(n+8,a),i.slice(1))).length&&(u=u.concat(o))),n=a;return u},parseTraf:Yo.traf,parseTfdt:Yo.tfdt,parseHdlr:Yo.hdlr,parseTfhd:Yo.tfhd,parseTrun:Yo.trun,parseSidx:Yo.sidx},Qo=Go,Jo=Xo;Ao=function(e){return $o.findBox(e,[\"moov\",\"trak\"]).reduce(function(e,t){var i,n,r,s,a;return(i=$o.findBox(t,[\"tkhd\"])[0])?(n=i[0],s=Qo(i[r=0===n?12:20]<<24|i[r+1]<<16|i[r+2]<<8|i[r+3]),(a=$o.findBox(t,[\"mdia\",\"mdhd\"])[0])?(r=0===(n=a[0])?12:20,e[s]=Qo(a[r]<<24|a[r+1]<<16|a[r+2]<<8|a[r+3]),e):null):null},{})},Io=function(r,e){var t,i,n;return t=$o.findBox(e,[\"moof\",\"traf\"]),i=[].concat.apply([],t.map(function(n){return $o.findBox(n,[\"tfhd\"]).map(function(e){var t,i;return t=Qo(e[4]<<24|e[5]<<16|e[6]<<8|e[7]),i=r[t]||9e4,($o.findBox(n,[\"tfdt\"]).map(function(e){var t,i;return t=e[0],i=Qo(e[4]<<24|e[5]<<16|e[6]<<8|e[7]),1===t&&(i*=Math.pow(2,32),i+=Qo(e[8]<<24|e[9]<<16|e[10]<<8|e[11])),i})[0]||1/0)/i})})),n=Math.min.apply(null,i),isFinite(n)?n:0},Po=function(e,t){var i,n=$o.findBox(t,[\"moof\",\"traf\"]),r=0,s=0;if(n&&n.length)for(var a=$o.parseTraf(n[0]),o=0;o<a.boxes.length;o++)\"tfhd\"===a.boxes[o].type?i=a.boxes[o].trackId:\"tfdt\"===a.boxes[o].type?r=a.boxes[o].baseMediaDecodeTime:\"trun\"===a.boxes[o].type&&a.boxes[o].samples.length&&(s=a.boxes[o].samples[0].compositionTimeOffset||0);return(r+s)/(e[i]||9e4)},Lo=function(e){var t=$o.findBox(e,[\"moov\",\"trak\"]),o=[];return t.forEach(function(e){var t=$o.findBox(e,[\"mdia\",\"hdlr\"]),a=$o.findBox(e,[\"tkhd\"]);t.forEach(function(e,t){var i,n,r=$o.parseType(e.subarray(8,12)),s=a[t];\"vide\"===r&&(n=0===(i=new DataView(s.buffer,s.byteOffset,s.byteLength)).getUint8(0)?i.getUint32(12):i.getUint32(20),o.push(n))})}),o},Oo=function(e){var t=$o.findBox(e,[\"moov\",\"trak\"]),p=[];return t.forEach(function(e){var t,i,n={},r=$o.findBox(e,[\"tkhd\"])[0];r&&(i=(t=new DataView(r.buffer,r.byteOffset,r.byteLength)).getUint8(0),n.id=0===i?t.getUint32(12):t.getUint32(20));var s=$o.findBox(e,[\"mdia\",\"hdlr\"])[0];if(s){var a=$o.parseType(s.subarray(8,12));n.type=\"vide\"===a?\"video\":\"soun\"===a?\"audio\":a}var o=$o.findBox(e,[\"mdia\",\"minf\",\"stbl\",\"stsd\"])[0];if(o){var u=o.subarray(8);n.codec=$o.parseType(u.subarray(4,8));var l,c=$o.findBox(u,[n.codec])[0];c&&(/^[a-z]vc[1-9]$/i.test(n.codec)?(l=c.subarray(78),\"avcC\"===$o.parseType(l.subarray(4,8))&&11<l.length?(n.codec+=\".\",n.codec+=Jo(l[9]),n.codec+=Jo(l[10]),n.codec+=Jo(l[11])):n.codec=\"avc1.4d400d\"):/^mp4[a,v]$/i.test(n.codec)&&(l=c.subarray(28),\"esds\"===$o.parseType(l.subarray(4,8))&&20<l.length&&0!==l[19]?(n.codec+=\".\"+Jo(l[19]),n.codec+=\".\"+Jo(l[20]>>>2&63).replace(/^0/,\"\")):n.codec=\"mp4a.40.2\"))}var h=$o.findBox(e,[\"mdia\",\"mdhd\"])[0];if(h&&r){var d=0===i?12:20;n.timescale=Qo(h[d]<<24|h[1+d]<<16|h[2+d]<<8|h[3+d])}p.push(n)}),p};function Zo(){this.init=function(){var s={};this.on=function(e,t){s[e]||(s[e]=[]),s[e]=s[e].concat(t)},this.off=function(e,t){var i;return!!s[e]&&(i=s[e].indexOf(t),s[e]=s[e].slice(),s[e].splice(i,1),-1<i)},this.trigger=function(e){var t,i,n,r;if(t=s[e])if(2===arguments.length)for(n=t.length,i=0;i<n;++i)t[i].call(this,arguments[1]);else{for(r=[],i=arguments.length,i=1;i<arguments.length;++i)r.push(arguments[i]);for(n=t.length,i=0;i<n;++i)t[i].apply(this,r)}},this.dispose=function(){s={}}}}var eu={findBox:$o.findBox,parseType:$o.parseType,timescale:Ao,startTime:Io,compositionStartTime:Po,videoTrackIds:Lo,tracks:Oo},tu=function(e){for(var t=0,i={payloadType:-1,payloadSize:0},n=0,r=0;t<e.byteLength&&128!==e[t];){for(;255===e[t];)n+=255,t++;for(n+=e[t++];255===e[t];)r+=255,t++;if(r+=e[t++],!i.payload&&4===n){i.payloadType=n,i.payloadSize=r,i.payload=e.subarray(t,t+r);break}t+=r,r=n=0}return i},iu=function(e){return 181!==e.payload[0]?null:49!=(e.payload[1]<<8|e.payload[2])?null:\"GA94\"!==String.fromCharCode(e.payload[3],e.payload[4],e.payload[5],e.payload[6])?null:3!==e.payload[7]?null:e.payload.subarray(8,e.payload.length-1)},nu=function(e,t){var i,n,r,s,a=[];if(!(64&t[0]))return a;for(n=31&t[0],i=0;i<n;i++)s={type:3&t[2+(r=3*i)],pts:e},4&t[2+r]&&(s.ccData=t[3+r]<<8|t[4+r],a.push(s));return a},ru=function(e){for(var t,i,n=e.byteLength,r=[],s=1;s<n-2;)0===e[s]&&0===e[s+1]&&3===e[s+2]?(r.push(s+2),s+=2):s++;if(0===r.length)return e;t=n-r.length,i=new Uint8Array(t);var a=0;for(s=0;s<t;a++,s++)a===r[0]&&(a++,r.shift()),i[s]=e[a];return i},su=4;Zo.prototype.pipe=function(t){return this.on(\"data\",function(e){t.push(e)}),this.on(\"done\",function(e){t.flush(e)}),this.on(\"partialdone\",function(e){t.partialFlush(e)}),this.on(\"endedtimeline\",function(e){t.endTimeline(e)}),this.on(\"reset\",function(e){t.reset(e)}),t},Zo.prototype.push=function(e){this.trigger(\"data\",e)},Zo.prototype.flush=function(e){this.trigger(\"done\",e)},Zo.prototype.partialFlush=function(e){this.trigger(\"partialdone\",e)},Zo.prototype.endTimeline=function(e){this.trigger(\"endedtimeline\",e)},Zo.prototype.reset=function(e){this.trigger(\"reset\",e)};function au(){au.prototype.init.call(this),this.captionPackets_=[],this.ccStreams_=[new du(0,0),new du(0,1),new du(1,0),new du(1,1)],this.reset(),this.ccStreams_.forEach(function(e){e.on(\"data\",this.trigger.bind(this,\"data\")),e.on(\"partialdone\",this.trigger.bind(this,\"partialdone\")),e.on(\"done\",this.trigger.bind(this,\"done\"))},this)}var ou=Zo;(au.prototype=new ou).push=function(e){var t,i,n;if(\"sei_rbsp\"===e.nalUnitType&&(t=tu(e.escapedRBSP)).payloadType===su&&(i=iu(t)))if(e.dts<this.latestDts_)this.ignoreNextEqualDts_=!0;else{if(e.dts===this.latestDts_&&this.ignoreNextEqualDts_)return this.numSameDts_--,void(this.numSameDts_||(this.ignoreNextEqualDts_=!1));n=nu(e.pts,i),this.captionPackets_=this.captionPackets_.concat(n),this.latestDts_!==e.dts&&(this.numSameDts_=0),this.numSameDts_++,this.latestDts_=e.dts}},au.prototype.flushCCStreams=function(t){this.ccStreams_.forEach(function(e){return\"flush\"===t?e.flush():e.partialFlush()},this)},au.prototype.flushStream=function(e){this.captionPackets_.length&&(this.captionPackets_.forEach(function(e,t){e.presortIndex=t}),this.captionPackets_.sort(function(e,t){return e.pts===t.pts?e.presortIndex-t.presortIndex:e.pts-t.pts}),this.captionPackets_.forEach(function(e){e.type<2&&this.dispatchCea608Packet(e)},this),this.captionPackets_.length=0),this.flushCCStreams(e)},au.prototype.flush=function(){return this.flushStream(\"flush\")},au.prototype.partialFlush=function(){return this.flushStream(\"partialFlush\")},au.prototype.reset=function(){this.latestDts_=null,this.ignoreNextEqualDts_=!1,this.numSameDts_=0,this.activeCea608Channel_=[null,null],this.ccStreams_.forEach(function(e){e.reset()})},au.prototype.dispatchCea608Packet=function(e){this.setsTextOrXDSActive(e)?this.activeCea608Channel_[e.type]=null:this.setsChannel1Active(e)?this.activeCea608Channel_[e.type]=0:this.setsChannel2Active(e)&&(this.activeCea608Channel_[e.type]=1),null!==this.activeCea608Channel_[e.type]&&this.ccStreams_[(e.type<<1)+this.activeCea608Channel_[e.type]].push(e)},au.prototype.setsChannel1Active=function(e){return 4096==(30720&e.ccData)},au.prototype.setsChannel2Active=function(e){return 6144==(30720&e.ccData)},au.prototype.setsTextOrXDSActive=function(e){return 256==(28928&e.ccData)||4138==(30974&e.ccData)||6186==(30974&e.ccData)};function uu(e){return null===e?\"\":(e=cu[e]||e,String.fromCharCode(e))}function lu(){for(var e=[],t=15;t--;)e.push(\"\");return e}var cu={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,304:174,305:176,306:189,307:191,308:8482,309:162,310:163,311:9834,312:224,313:160,314:232,315:226,316:234,317:238,318:244,319:251,544:193,545:201,546:211,547:218,548:220,549:252,550:8216,551:161,552:42,553:39,554:8212,555:169,556:8480,557:8226,558:8220,559:8221,560:192,561:194,562:199,563:200,564:202,565:203,566:235,567:206,568:207,569:239,570:212,571:217,572:249,573:219,574:171,575:187,800:195,801:227,802:205,803:204,804:236,805:210,806:242,807:213,808:245,809:123,810:125,811:92,812:94,813:95,814:124,815:126,816:196,817:228,818:214,819:246,820:223,821:165,822:164,823:9474,824:197,825:229,826:216,827:248,828:9484,829:9488,830:9492,831:9496},hu=[4352,4384,4608,4640,5376,5408,5632,5664,5888,5920,4096,4864,4896,5120,5152],du=function e(t,i){e.prototype.init.call(this),this.field_=t||0,this.dataChannel_=i||0,this.name_=\"CC\"+(1+(this.field_<<1|this.dataChannel_)),this.setConstants(),this.reset(),this.push=function(e){var t,i,n,r,s;if((t=32639&e.ccData)!==this.lastControlCode_){if(4096==(61440&t)?this.lastControlCode_=t:t!==this.PADDING_&&(this.lastControlCode_=null),n=t>>>8,r=255&t,t!==this.PADDING_)if(t===this.RESUME_CAPTION_LOADING_)this.mode_=\"popOn\";else if(t===this.END_OF_CAPTION_)this.mode_=\"popOn\",this.clearFormatting(e.pts),this.flushDisplayed(e.pts),i=this.displayed_,this.displayed_=this.nonDisplayed_,this.nonDisplayed_=i,this.startPts_=e.pts;else if(t===this.ROLL_UP_2_ROWS_)this.rollUpRows_=2,this.setRollUp(e.pts);else if(t===this.ROLL_UP_3_ROWS_)this.rollUpRows_=3,this.setRollUp(e.pts);else if(t===this.ROLL_UP_4_ROWS_)this.rollUpRows_=4,this.setRollUp(e.pts);else if(t===this.CARRIAGE_RETURN_)this.clearFormatting(e.pts),this.flushDisplayed(e.pts),this.shiftRowsUp_(),this.startPts_=e.pts;else if(t===this.BACKSPACE_)\"popOn\"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1);else if(t===this.ERASE_DISPLAYED_MEMORY_)this.flushDisplayed(e.pts),this.displayed_=lu();else if(t===this.ERASE_NON_DISPLAYED_MEMORY_)this.nonDisplayed_=lu();else if(t===this.RESUME_DIRECT_CAPTIONING_)\"paintOn\"!==this.mode_&&(this.flushDisplayed(e.pts),this.displayed_=lu()),this.mode_=\"paintOn\",this.startPts_=e.pts;else if(this.isSpecialCharacter(n,r))s=uu((n=(3&n)<<8)|r),this[this.mode_](e.pts,s),this.column_++;else if(this.isExtCharacter(n,r))\"popOn\"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1),s=uu((n=(3&n)<<8)|r),this[this.mode_](e.pts,s),this.column_++;else if(this.isMidRowCode(n,r))this.clearFormatting(e.pts),this[this.mode_](e.pts,\" \"),this.column_++,14==(14&r)&&this.addFormatting(e.pts,[\"i\"]),1==(1&r)&&this.addFormatting(e.pts,[\"u\"]);else if(this.isOffsetControlCode(n,r))this.column_+=3&r;else if(this.isPAC(n,r)){var a=hu.indexOf(7968&t);\"rollUp\"===this.mode_&&(a-this.rollUpRows_+1<0&&(a=this.rollUpRows_-1),this.setRollUp(e.pts,a)),a!==this.row_&&(this.clearFormatting(e.pts),this.row_=a),1&r&&-1===this.formatting_.indexOf(\"u\")&&this.addFormatting(e.pts,[\"u\"]),16==(16&t)&&(this.column_=4*((14&t)>>1)),this.isColorPAC(r)&&14==(14&r)&&this.addFormatting(e.pts,[\"i\"])}else this.isNormalChar(n)&&(0===r&&(r=null),s=uu(n),s+=uu(r),this[this.mode_](e.pts,s),this.column_+=s.length)}else this.lastControlCode_=null}};du.prototype=new ou,du.prototype.flushDisplayed=function(e){var t=this.displayed_.map(function(e){try{return e.trim()}catch(e){return\"\"}}).join(\"\\n\").replace(/^\\n+|\\n+$/g,\"\");t.length&&this.trigger(\"data\",{startPts:this.startPts_,endPts:e,text:t,stream:this.name_})},du.prototype.reset=function(){this.mode_=\"popOn\",this.topRow_=0,this.startPts_=0,this.displayed_=lu(),this.nonDisplayed_=lu(),this.lastControlCode_=null,this.column_=0,this.row_=14,this.rollUpRows_=2,this.formatting_=[]},du.prototype.setConstants=function(){0===this.dataChannel_?(this.BASE_=16,this.EXT_=17,this.CONTROL_=(20|this.field_)<<8,this.OFFSET_=23):1===this.dataChannel_&&(this.BASE_=24,this.EXT_=25,this.CONTROL_=(28|this.field_)<<8,this.OFFSET_=31),this.PADDING_=0,this.RESUME_CAPTION_LOADING_=32|this.CONTROL_,this.END_OF_CAPTION_=47|this.CONTROL_,this.ROLL_UP_2_ROWS_=37|this.CONTROL_,this.ROLL_UP_3_ROWS_=38|this.CONTROL_,this.ROLL_UP_4_ROWS_=39|this.CONTROL_,this.CARRIAGE_RETURN_=45|this.CONTROL_,this.RESUME_DIRECT_CAPTIONING_=41|this.CONTROL_,this.BACKSPACE_=33|this.CONTROL_,this.ERASE_DISPLAYED_MEMORY_=44|this.CONTROL_,this.ERASE_NON_DISPLAYED_MEMORY_=46|this.CONTROL_},du.prototype.isSpecialCharacter=function(e,t){return e===this.EXT_&&48<=t&&t<=63},du.prototype.isExtCharacter=function(e,t){return(e===this.EXT_+1||e===this.EXT_+2)&&32<=t&&t<=63},du.prototype.isMidRowCode=function(e,t){return e===this.EXT_&&32<=t&&t<=47},du.prototype.isOffsetControlCode=function(e,t){return e===this.OFFSET_&&33<=t&&t<=35},du.prototype.isPAC=function(e,t){return e>=this.BASE_&&e<this.BASE_+8&&64<=t&&t<=127},du.prototype.isColorPAC=function(e){return 64<=e&&e<=79||96<=e&&e<=127},du.prototype.isNormalChar=function(e){return 32<=e&&e<=127},du.prototype.setRollUp=function(e,t){if(\"rollUp\"!==this.mode_&&(this.row_=14,this.mode_=\"rollUp\",this.flushDisplayed(e),this.nonDisplayed_=lu(),this.displayed_=lu()),void 0!==t&&t!==this.row_)for(var i=0;i<this.rollUpRows_;i++)this.displayed_[t-i]=this.displayed_[this.row_-i],this.displayed_[this.row_-i]=\"\";void 0===t&&(t=this.row_),this.topRow_=t-this.rollUpRows_+1},du.prototype.addFormatting=function(e,t){this.formatting_=this.formatting_.concat(t);var i=t.reduce(function(e,t){return e+\"<\"+t+\">\"},\"\");this[this.mode_](e,i)},du.prototype.clearFormatting=function(e){if(this.formatting_.length){var t=this.formatting_.reverse().reduce(function(e,t){return e+\"</\"+t+\">\"},\"\");this.formatting_=[],this[this.mode_](e,t)}},du.prototype.popOn=function(e,t){var i=this.nonDisplayed_[this.row_];i+=t,this.nonDisplayed_[this.row_]=i},du.prototype.rollUp=function(e,t){var i=this.displayed_[this.row_];i+=t,this.displayed_[this.row_]=i},du.prototype.shiftRowsUp_=function(){var e;for(e=0;e<this.topRow_;e++)this.displayed_[e]=\"\";for(e=this.row_+1;e<15;e++)this.displayed_[e]=\"\";for(e=this.topRow_;e<this.row_;e++)this.displayed_[e]=this.displayed_[e+1];this.displayed_[this.row_]=\"\"},du.prototype.paintOn=function(e,t){var i=this.displayed_[this.row_];i+=t,this.displayed_[this.row_]=i};function pu(e,t){for(var i=e,n=0;n<t.length;n++){var r=t[n];if(i<r.size)return r;i-=r.size}return null}function fu(e,c){var n=eu.findBox(e,[\"moof\",\"traf\"]),t=eu.findBox(e,[\"mdat\"]),h={},r=[];return t.forEach(function(e,t){var i=n[t];r.push({mdat:e,traf:i})}),r.forEach(function(e){var t,i=e.mdat,n=e.traf,r=eu.findBox(n,[\"tfhd\"]),s=$o.parseTfhd(r[0]),a=s.trackId,o=eu.findBox(n,[\"tfdt\"]),u=0<o.length?$o.parseTfdt(o[0]).baseMediaDecodeTime:0,l=eu.findBox(n,[\"trun\"]);c===a&&0<l.length&&(t=function(e,t,i){var n,r,s,a,o=new DataView(e.buffer,e.byteOffset,e.byteLength),u=[];for(r=0;r+4<e.length;r+=s)if(s=o.getUint32(r),r+=4,!(s<=0))switch(31&e[r]){case 6:var l=e.subarray(r+1,r+1+s),c=pu(r,t);n={nalUnitType:\"sei_rbsp\",size:s,data:l,escapedRBSP:gu(l),trackId:i},c?(n.pts=c.pts,n.dts=c.dts,a=c):(n.pts=a.pts,n.dts=a.dts),u.push(n)}return u}(i,function(e,t,i){var n=t,r=i.defaultSampleDuration||0,s=i.defaultSampleSize||0,a=i.trackId,o=[];return e.forEach(function(e){var t=$o.parseTrun(e).samples;t.forEach(function(e){void 0===e.duration&&(e.duration=r),void 0===e.size&&(e.size=s),e.trackId=a,e.dts=n,void 0===e.compositionTimeOffset&&(e.compositionTimeOffset=0),e.pts=n+e.compositionTimeOffset,n+=e.duration}),o=o.concat(t)}),o}(l,u,s),a),h[a]||(h[a]=[]),h[a]=h[a].concat(t))}),h}function mu(e,t){var i=1;for(t<e&&(i=-1);4294967296<Math.abs(t-e);)e+=8589934592*i;return e}var gu=ru,vu=au,yu=function(){var t,s,a,o,u,i,n=!1;this.isInitialized=function(){return n},this.init=function(e){t=new vu,n=!0,i=!!e&&e.isPartial,t.on(\"data\",function(e){e.startTime=e.startPts/o,e.endTime=e.endPts/o,u.captions.push(e),u.captionStreams[e.stream]=!0})},this.isNewInit=function(e,t){return!(e&&0===e.length||t&&\"object\"==typeof t&&0===Object.keys(t).length)&&(a!==e[0]||o!==t[a])},this.parse=function(e,t,i){var n;if(!this.isInitialized())return null;if(!t||!i)return null;if(this.isNewInit(t,i))a=t[0],o=i[a];else if(null===a||!o)return s.push(e),null;for(;0<s.length;){var r=s.shift();this.parse(r,t,i)}return null!==(n=function(e,t,i){return null===t?null:{seiNals:fu(e,t)[t],timescale:i}}(e,a,o))&&n.seiNals?(this.pushNals(n.seiNals),this.flushStream(),u):null},this.pushNals=function(e){if(!this.isInitialized()||!e||0===e.length)return null;e.forEach(function(e){t.push(e)})},this.flushStream=function(){if(!this.isInitialized())return null;i?t.partialFlush():t.flush()},this.clearParsedCaptions=function(){u.captions=[],u.captionStreams={}},this.resetCaptionStream=function(){if(!this.isInitialized())return null;t.reset()},this.clearAllCaptions=function(){this.clearParsedCaptions(),this.resetCaptionStream()},this.reset=function(){s=[],o=a=null,u?this.clearParsedCaptions():u={captions:[],captionStreams:{}},this.resetCaptionStream()},this.reset()},_u=27,bu=15,Tu=21;new ou;function Su(e){var t=31&e[1];return t<<=8,t|=e[2]}function ku(e){return!!(64&e[1])}function Cu(e){var t=0;return 1<(48&e[3])>>>4&&(t+=e[4]+1),t}function wu(e){switch(e){case 5:return\"slice_layer_without_partitioning_rbsp_idr\";case 6:return\"sei_rbsp\";case 7:return\"seq_parameter_set_rbsp\";case 8:return\"pic_parameter_set_rbsp\";case 9:return\"access_unit_delimiter_rbsp\";default:return null}}function Eu(e){return e[0]<<21|e[1]<<14|e[2]<<7|e[3]}var xu,Au,Iu,Pu,Lu={parseType:function(e,t){var i=Su(e);return 0===i?\"pat\":i===t?\"pmt\":t?\"pes\":null},parsePat:function(e){var t=ku(e),i=4+Cu(e);return t&&(i+=e[i]+1),(31&e[i+10])<<8|e[i+11]},parsePmt:function(e){var t={},i=ku(e),n=4+Cu(e);if(i&&(n+=e[n]+1),1&e[n+5]){var r;r=3+((15&e[n+1])<<8|e[n+2])-4;for(var s=12+((15&e[n+10])<<8|e[n+11]);s<r;){var a=n+s;t[(31&e[a+1])<<8|e[a+2]]=e[a],s+=5+((15&e[a+3])<<8|e[a+4])}return t}},parsePayloadUnitStartIndicator:ku,parsePesType:function(e,t){switch(t[Su(e)]){case _u:return\"video\";case bu:return\"audio\";case Tu:return\"timed-metadata\";default:return null}},parsePesTime:function(e){if(!ku(e))return null;var t=4+Cu(e);if(t>=e.byteLength)return null;var i,n=null;return 192&(i=e[t+7])&&((n={}).pts=(14&e[t+9])<<27|(255&e[t+10])<<20|(254&e[t+11])<<12|(255&e[t+12])<<5|(254&e[t+13])>>>3,n.pts*=4,n.pts+=(6&e[t+13])>>>1,n.dts=n.pts,64&i&&(n.dts=(14&e[t+14])<<27|(255&e[t+15])<<20|(254&e[t+16])<<12|(255&e[t+17])<<5|(254&e[t+18])>>>3,n.dts*=4,n.dts+=(6&e[t+18])>>>1)),n},videoPacketContainsKeyFrame:function(e){for(var t=4+Cu(e),i=e.subarray(t),n=0,r=0,s=!1;r<i.byteLength-3;r++)if(1===i[r+2]){n=r+5;break}for(;n<i.byteLength;)switch(i[n]){case 0:if(0!==i[n-1]){n+=2;break}if(0!==i[n-2]){n++;break}for(r+3!==n-2&&\"slice_layer_without_partitioning_rbsp_idr\"===wu(31&i[r+3])&&(s=!0);1!==i[++n]&&n<i.length;);r=n-2,n+=3;break;case 1:if(0!==i[n-1]||0!==i[n-2]){n+=3;break}\"slice_layer_without_partitioning_rbsp_idr\"===wu(31&i[r+3])&&(s=!0),r=n-2,n+=3;break;default:n+=3}return i=i.subarray(r),n-=r,r=0,i&&3<i.byteLength&&\"slice_layer_without_partitioning_rbsp_idr\"===wu(31&i[r+3])&&(s=!0),s}},Ou=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],Du={isLikelyAacData:function(e){return e[0]===\"I\".charCodeAt(0)&&e[1]===\"D\".charCodeAt(0)&&e[2]===\"3\".charCodeAt(0)},parseId3TagSize:function(e,t){var i=e[t+6]<<21|e[t+7]<<14|e[t+8]<<7|e[t+9];return(16&e[t+5])>>4?20+i:10+i},parseAdtsSize:function(e,t){var i=(224&e[t+5])>>5,n=e[t+4]<<3;return 6144&e[t+3]|n|i},parseType:function(e,t){return e[t]===\"I\".charCodeAt(0)&&e[t+1]===\"D\".charCodeAt(0)&&e[t+2]===\"3\".charCodeAt(0)?\"timed-metadata\":!0&e[t]&&240==(240&e[t+1])?\"audio\":null},parseSampleRate:function(e){for(var t=0;t+5<e.length;){if(255===e[t]&&240==(246&e[t+1]))return Ou[(60&e[t+2])>>>2];t++}return null},parseAacTimestamp:function(e){var t,i,n;t=10,64&e[5]&&(t+=4,t+=Eu(e.subarray(10,14)));do{if((i=Eu(e.subarray(t+4,t+8)))<1)return null;if(\"PRIV\"===String.fromCharCode(e[t],e[t+1],e[t+2],e[t+3])){n=e.subarray(t+10,t+i+10);for(var r=0;r<n.byteLength;r++)if(0===n[r]){if(\"com.apple.streaming.transportStreamTimestamp\"!==unescape(function(e,t,i){var n,r=\"\";for(n=t;n<i;n++)r+=\"%\"+(\"00\"+e[n].toString(16)).slice(-2);return r}(n,0,r)))break;var s=n.subarray(r+1),a=(1&s[3])<<30|s[4]<<22|s[5]<<14|s[6]<<6|s[7]>>>2;return a*=4,a+=3&s[7]}}t+=10,t+=i}while(t<e.byteLength);return null}},Nu=9e4,Ru=(xu=function(e){return 9e4*e},Au=function(e,t){return e*t},Iu=function(e){return e/9e4},Pu=function(e,t){return e/t},mu),Uu={};Uu.ts=Lu,Uu.aac=Du;function Mu(e,t,i){for(var n,r,s,a,o=0,u=Hu,l=!1;u<=e.byteLength;)if(71!==e[o]||71!==e[u]&&u!==e.byteLength)o++,u++;else{switch(n=e.subarray(o,u),Uu.ts.parseType(n,t.pid)){case\"pes\":r=Uu.ts.parsePesType(n,t.table),s=Uu.ts.parsePayloadUnitStartIndicator(n),\"audio\"===r&&s&&(a=Uu.ts.parsePesTime(n))&&(a.type=\"audio\",i.audio.push(a),l=!0)}if(l)break;o+=Hu,u+=Hu}for(o=(u=e.byteLength)-Hu,l=!1;0<=o;)if(71!==e[o]||71!==e[u]&&u!==e.byteLength)o--,u--;else{switch(n=e.subarray(o,u),Uu.ts.parseType(n,t.pid)){case\"pes\":r=Uu.ts.parsePesType(n,t.table),s=Uu.ts.parsePayloadUnitStartIndicator(n),\"audio\"===r&&s&&(a=Uu.ts.parsePesTime(n))&&(a.type=\"audio\",i.audio.push(a),l=!0)}if(l)break;o-=Hu,u-=Hu}}function Bu(e,t,i){for(var n,r,s,a,o,u,l,c=0,h=Hu,d=!1,p={data:[],size:0};h<e.byteLength;)if(71!==e[c]||71!==e[h])c++,h++;else{switch(n=e.subarray(c,h),Uu.ts.parseType(n,t.pid)){case\"pes\":if(r=Uu.ts.parsePesType(n,t.table),s=Uu.ts.parsePayloadUnitStartIndicator(n),\"video\"===r&&(s&&!d&&(a=Uu.ts.parsePesTime(n))&&(a.type=\"video\",i.video.push(a),d=!0),!i.firstKeyFrame)){if(s&&0!==p.size){for(o=new Uint8Array(p.size),u=0;p.data.length;)l=p.data.shift(),o.set(l,u),u+=l.byteLength;if(Uu.ts.videoPacketContainsKeyFrame(o)){var f=Uu.ts.parsePesTime(o);f&&(i.firstKeyFrame=f,i.firstKeyFrame.type=\"video\")}p.size=0}p.data.push(n),p.size+=n.byteLength}}if(d&&i.firstKeyFrame)break;c+=Hu,h+=Hu}for(c=(h=e.byteLength)-Hu,d=!1;0<=c;)if(71!==e[c]||71!==e[h])c--,h--;else{switch(n=e.subarray(c,h),Uu.ts.parseType(n,t.pid)){case\"pes\":r=Uu.ts.parsePesType(n,t.table),s=Uu.ts.parsePayloadUnitStartIndicator(n),\"video\"===r&&s&&(a=Uu.ts.parsePesTime(n))&&(a.type=\"video\",i.video.push(a),d=!0)}if(d)break;c-=Hu,h-=Hu}}function ju(e){var t={pid:null,table:null},i={};for(var n in function(e,t){for(var i,n=0,r=Hu;r<e.byteLength;)if(71!==e[n]||71!==e[r])n++,r++;else{switch(i=e.subarray(n,r),Uu.ts.parseType(i,t.pid)){case\"pat\":t.pid||(t.pid=Uu.ts.parsePat(i));break;case\"pmt\":t.table||(t.table=Uu.ts.parsePmt(i))}if(t.pid&&t.table)return;n+=Hu,r+=Hu}}(e,t),t.table){if(t.table.hasOwnProperty(n))switch(t.table[n]){case _u:i.video=[],Bu(e,t,i),0===i.video.length&&delete i.video;break;case bu:i.audio=[],Mu(e,t,i),0===i.audio.length&&delete i.audio}}return i}var Fu=Nu,Hu=188,Vu=function(e,t){var i;return(i=Uu.aac.isLikelyAacData(e)?function(e){for(var t,i=!1,n=0,r=null,s=null,a=0,o=0;3<=e.length-o;){switch(Uu.aac.parseType(e,o)){case\"timed-metadata\":if(e.length-o<10){i=!0;break}if((a=Uu.aac.parseId3TagSize(e,o))>e.length){i=!0;break}null===s&&(t=e.subarray(o,o+a),s=Uu.aac.parseAacTimestamp(t)),o+=a;break;case\"audio\":if(e.length-o<7){i=!0;break}if((a=Uu.aac.parseAdtsSize(e,o))>e.length){i=!0;break}null===r&&(t=e.subarray(o,o+a),r=Uu.aac.parseSampleRate(t)),n++,o+=a;break;default:o++}if(i)return null}if(null===r||null===s)return null;var u=Fu/r;return{audio:[{type:\"audio\",dts:s,pts:s},{type:\"audio\",dts:s+1024*n*u,pts:s+1024*n*u}]}}(e):ju(e))&&(i.audio||i.video)?(function(e,t){if(e.audio&&e.audio.length){var i=t;\"undefined\"==typeof i&&(i=e.audio[0].dts),e.audio.forEach(function(e){e.dts=Ru(e.dts,i),e.pts=Ru(e.pts,i),e.dtsTime=e.dts/Fu,e.ptsTime=e.pts/Fu})}if(e.video&&e.video.length){var n=t;if(\"undefined\"==typeof n&&(n=e.video[0].dts),e.video.forEach(function(e){e.dts=Ru(e.dts,n),e.pts=Ru(e.pts,n),e.dtsTime=e.dts/Fu,e.ptsTime=e.pts/Fu}),e.firstKeyFrame){var r=e.firstKeyFrame;r.dts=Ru(r.dts,n),r.pts=Ru(r.pts,n),r.dtsTime=r.dts/Fu,r.ptsTime=r.dts/Fu}}}(i,t),i):null};function qu(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var Wu=function(e,t,i){return t&&zu(e.prototype,t),i&&zu(e,i),e};function zu(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var Gu=null,Xu=(Ku.prototype.decrypt=function(e,t,i,n,r,s){var a=this._key[1],o=e^a[0],u=n^a[1],l=i^a[2],c=t^a[3],h=void 0,d=void 0,p=void 0,f=a.length/4-2,m=void 0,g=4,v=this._tables[1],y=v[0],_=v[1],b=v[2],T=v[3],S=v[4];for(m=0;m<f;m++)h=y[o>>>24]^_[u>>16&255]^b[l>>8&255]^T[255&c]^a[g],d=y[u>>>24]^_[l>>16&255]^b[c>>8&255]^T[255&o]^a[g+1],p=y[l>>>24]^_[c>>16&255]^b[o>>8&255]^T[255&u]^a[g+2],c=y[c>>>24]^_[o>>16&255]^b[u>>8&255]^T[255&l]^a[g+3],g+=4,o=h,u=d,l=p;for(m=0;m<4;m++)r[(3&-m)+s]=S[o>>>24]<<24^S[u>>16&255]<<16^S[l>>8&255]<<8^S[255&c]^a[g++],h=o,o=u,u=l,l=c,c=h},Ku);function Ku(e){qu(this,Ku),Gu=Gu||function(){var e=[[[],[],[],[],[]],[[],[],[],[],[]]],t=e[0],i=e[1],n=t[4],r=i[4],s=void 0,a=void 0,o=void 0,u=[],l=[],c=void 0,h=void 0,d=void 0,p=void 0,f=void 0;for(s=0;s<256;s++)l[(u[s]=s<<1^283*(s>>7))^s]=s;for(a=o=0;!n[a];a^=c||1,o=l[o]||1)for(d=(d=o^o<<1^o<<2^o<<3^o<<4)>>8^255&d^99,f=16843009*u[h=u[c=u[r[n[a]=d]=a]]]^65537*h^257*c^16843008*a,p=257*u[d]^16843008*d,s=0;s<4;s++)t[s][a]=p=p<<24^p>>>8,i[s][d]=f=f<<24^f>>>8;for(s=0;s<5;s++)t[s]=t[s].slice(0),i[s]=i[s].slice(0);return e}(),this._tables=[[Gu[0][0].slice(),Gu[0][1].slice(),Gu[0][2].slice(),Gu[0][3].slice(),Gu[0][4].slice()],[Gu[1][0].slice(),Gu[1][1].slice(),Gu[1][2].slice(),Gu[1][3].slice(),Gu[1][4].slice()]];var t=void 0,i=void 0,n=void 0,r=void 0,s=void 0,a=this._tables[0][4],o=this._tables[1],u=e.length,l=1;if(4!==u&&6!==u&&8!==u)throw new Error(\"Invalid aes key size\");for(r=e.slice(0),s=[],this._key=[r,s],t=u;t<4*u+28;t++)n=r[t-1],(t%u==0||8===u&&t%u==4)&&(n=a[n>>>24]<<24^a[n>>16&255]<<16^a[n>>8&255]<<8^a[255&n],t%u==0&&(n=n<<8^n>>>24^l<<24,l=l<<1^283*(l>>7))),r[t]=r[t-u]^n;for(i=0;t;i++,t--)n=r[3&i?t:t-4],s[i]=t<=4||i<4?n:o[0][a[n>>>24]]^o[1][a[n>>16&255]]^o[2][a[n>>8&255]]^o[3][a[255&n]]}var Yu=($u.prototype.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},$u.prototype.off=function(e,t){if(!this.listeners[e])return!1;var i=this.listeners[e].indexOf(t);return this.listeners[e].splice(i,1),-1<i},$u.prototype.trigger=function(e,t){var i=this.listeners[e];if(i)if(2===arguments.length)for(var n=i.length,r=0;r<n;++r)i[r].call(this,t);else for(var s=Array.prototype.slice.call(arguments,1),a=i.length,o=0;o<a;++o)i[o].apply(this,s)},$u.prototype.dispose=function(){this.listeners={}},$u.prototype.pipe=function(t){this.on(\"data\",function(e){t.push(e)})},$u);function $u(){qu(this,$u),this.listeners={}}var Qu,Ju=(function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Zu,Qu=Yu),Zu.prototype.processJob_=function(){this.jobs.shift()(),this.jobs.length?this.timeout_=setTimeout(this.processJob_.bind(this),this.delay):this.timeout_=null},Zu.prototype.push=function(e){this.jobs.push(e),this.timeout_||(this.timeout_=setTimeout(this.processJob_.bind(this),this.delay))},Zu);function Zu(){qu(this,Zu);var e=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,Qu.call(this,Yu));return e.jobs=[],e.delay=1,e.timeout_=null,e}function el(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24}function tl(e,t,i){var n=new Int32Array(e.buffer,e.byteOffset,e.byteLength>>2),r=new Xu(Array.prototype.slice.call(t)),s=new Uint8Array(e.byteLength),a=new Int32Array(s.buffer),o=void 0,u=void 0,l=void 0,c=void 0,h=void 0,d=void 0,p=void 0,f=void 0,m=void 0;for(o=i[0],u=i[1],l=i[2],c=i[3],m=0;m<n.length;m+=4)h=el(n[m]),d=el(n[m+1]),p=el(n[m+2]),f=el(n[m+3]),r.decrypt(h,d,p,f,a,m),a[m]=el(a[m]^o),a[m+1]=el(a[m+1]^u),a[m+2]=el(a[m+2]^l),a[m+3]=el(a[m+3]^c),o=h,u=d,l=p,c=f;return s}var il=(nl.prototype.decryptChunk_=function(t,i,n,r){return function(){var e=tl(t,i,n);r.set(e,t.byteOffset)}},Wu(nl,null,[{key:\"STEP\",get:function(){return 32e3}}]),nl);function nl(e,t,i,n){qu(this,nl);var r=nl.STEP,s=new Int32Array(e.buffer),a=new Uint8Array(e.byteLength),o=0;for(this.asyncStream_=new Ju,this.asyncStream_.push(this.decryptChunk_(s.subarray(o,o+r),t,i,a)),o=r;o<s.length;o+=r)i=new Uint32Array([el(s[o-4]),el(s[o-3]),el(s[o-2]),el(s[o-1])]),this.asyncStream_.push(this.decryptChunk_(s.subarray(o,o+r),t,i,a));this.asyncStream_.push(function(){n(null,function(e){return e.subarray(0,e.byteLength-e[e.byteLength-1])}(a))})}function rl(e,t){return/^[a-z]+:/i.test(t)?t:(/\\/\\//i.test(e)||(e=ls.buildAbsoluteURL(y.location.href,e)),ls.buildAbsoluteURL(e,t))}function sl(e,t,i){return e&&i.responseURL&&t!==i.responseURL?i.responseURL:t}function al(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}\n/**\n * @videojs/http-streaming\n * @version 1.13.2\n * @copyright 2020 Brightcove, Inc\n * @license Apache-2.0\n */\nvar ol=function(e,t,i){return t&&ul(e.prototype,t),i&&ul(e,i),e};function ul(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ll(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function cl(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function hl(r,s){[\"AUDIO\",\"SUBTITLES\"].forEach(function(e){for(var t in r.mediaGroups[e])for(var i in r.mediaGroups[e][t]){var n=r.mediaGroups[e][t][i];s(n,e,t,i)}})}function dl(e,t){var i=yl(e,{}),n=i.playlists[t.id];if(!n)return null;if(n.segments&&t.segments&&n.segments.length===t.segments.length&&n.endList===t.endList&&n.mediaSequence===t.mediaSequence)return null;var r=yl(n,t);n.segments&&(r.segments=function(e,t,i){var n=t.slice();i=i||0;for(var r=Math.min(e.length,t.length+i),s=i;s<r;s++)n[s-i]=yl(e[s],n[s-i]);return n}(n.segments,t.segments,t.mediaSequence-n.mediaSequence)),r.segments.forEach(function(e){!function(e,t){e.resolvedUri||(e.resolvedUri=rl(t,e.uri)),e.key&&!e.key.resolvedUri&&(e.key.resolvedUri=rl(t,e.key.uri)),e.map&&!e.map.resolvedUri&&(e.map.resolvedUri=rl(t,e.map.uri))}(e,r.resolvedUri)});for(var s=0;s<i.playlists.length;s++)i.playlists[s].id===t.id&&(i.playlists[s]=r);return i.playlists[t.id]=r,i.playlists[t.uri]=r,i}function pl(e,t){return e+\"-\"+t}function fl(e){for(var t=e.playlists.length;t--;){var i=e.playlists[t];i.resolvedUri=rl(e.uri,i.uri),i.id=pl(t,i.uri),e.playlists[i.id]=i,(e.playlists[i.uri]=i).attributes||(i.attributes={},_l.warn(\"Invalid playlist STREAM-INF detected. Missing BANDWIDTH attribute.\"))}}function ml(t){hl(t,function(e){e.uri&&(e.resolvedUri=rl(t.uri,e.uri))})}function gl(e,t){var i=e.segments[e.segments.length-1];return t&&i&&i.duration?1e3*i.duration:500*(e.targetDuration||10)}var vl=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],n=!0,r=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done)&&(i.push(a.value),!t||i.length!==t);n=!0);}catch(e){r=!0,s=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw s}}return i}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},yl=as.mergeOptions,_l=as.log,bl=(ll(Tl,as.EventTarget),ol(Tl,[{key:\"playlistRequestError\",value:function(e,t,i){var n=t.uri,r=t.id;this.request=null,i&&(this.state=i),this.error={playlist:this.master.playlists[r],status:e.status,message:\"HLS playlist request error at URL: \"+n+\".\",responseText:e.responseText,code:500<=e.status?4:2},this.trigger(\"error\")}},{key:\"haveMetadata\",value:function(e,t,i){var n=this;this.request=null,this.state=\"HAVE_METADATA\";var r=new gs;this.customTagParsers.forEach(function(e){return r.addParser(e)}),this.customTagMappers.forEach(function(e){return r.addTagMapper(e)}),r.push(e.responseText),r.end(),r.manifest.uri=t,r.manifest.id=i,r.manifest.attributes=r.manifest.attributes||{};var s=dl(this.master,r.manifest);this.targetDuration=r.manifest.targetDuration,s?(this.master=s,this.media_=this.master.playlists[i]):this.trigger(\"playlistunchanged\"),this.media().endList||(y.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=y.setTimeout(function(){n.trigger(\"mediaupdatetimeout\")},gl(this.media(),!!s))),this.trigger(\"loadedplaylist\")}},{key:\"dispose\",value:function(){this.trigger(\"dispose\"),this.stopRequest(),y.clearTimeout(this.mediaUpdateTimeout),y.clearTimeout(this.finalRenditionTimeout),this.off()}},{key:\"stopRequest\",value:function(){if(this.request){var e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}}},{key:\"media\",value:function(i,e){var n=this;if(!i)return this.media_;if(\"HAVE_NOTHING\"===this.state)throw new Error(\"Cannot switch media playlist from \"+this.state);if(\"string\"==typeof i){if(!this.master.playlists[i])throw new Error(\"Unknown playlist URI: \"+i);i=this.master.playlists[i]}if(y.clearTimeout(this.finalRenditionTimeout),e){var t=i.targetDuration/2*1e3||5e3;this.finalRenditionTimeout=y.setTimeout(this.media.bind(this,i,!1),t)}else{var r=this.state,s=!this.media_||i.id!==this.media_.id;if(this.master.playlists[i.id].endList)return this.request&&(this.request.onreadystatechange=null,this.request.abort(),this.request=null),this.state=\"HAVE_METADATA\",this.media_=i,void(s&&(this.trigger(\"mediachanging\"),this.trigger(\"mediachange\")));if(s){if(this.state=\"SWITCHING_MEDIA\",this.request){if(i.resolvedUri===this.request.url)return;this.request.onreadystatechange=null,this.request.abort(),this.request=null}this.media_&&this.trigger(\"mediachanging\"),this.request=this.hls_.xhr({uri:i.resolvedUri,withCredentials:this.withCredentials},function(e,t){if(n.request){if(i.resolvedUri=sl(n.handleManifestRedirects,i.resolvedUri,t),e)return n.playlistRequestError(n.request,i,r);n.haveMetadata(t,i.uri,i.id),\"HAVE_MASTER\"===r?n.trigger(\"loadedmetadata\"):n.trigger(\"mediachange\")}})}}}},{key:\"pause\",value:function(){this.stopRequest(),y.clearTimeout(this.mediaUpdateTimeout),\"HAVE_NOTHING\"===this.state&&(this.started=!1),\"SWITCHING_MEDIA\"===this.state?this.media_?this.state=\"HAVE_METADATA\":this.state=\"HAVE_MASTER\":\"HAVE_CURRENT_METADATA\"===this.state&&(this.state=\"HAVE_METADATA\")}},{key:\"load\",value:function(e){var t=this;y.clearTimeout(this.mediaUpdateTimeout);var i=this.media();if(e){var n=i?i.targetDuration/2*1e3:5e3;this.mediaUpdateTimeout=y.setTimeout(function(){return t.load()},n)}else this.started?i&&!i.endList?this.trigger(\"mediaupdatetimeout\"):this.trigger(\"loadedplaylist\"):this.start()}},{key:\"start\",value:function(){var r=this;this.started=!0,this.request=this.hls_.xhr({uri:this.srcUrl,withCredentials:this.withCredentials},function(e,t){if(r.request){if(r.request=null,e)return r.error={status:t.status,message:\"HLS playlist request error at URL: \"+r.srcUrl+\".\",responseText:t.responseText,code:2},\"HAVE_NOTHING\"===r.state&&(r.started=!1),r.trigger(\"error\");var i=new gs;if(r.customTagParsers.forEach(function(e){return i.addParser(e)}),r.customTagMappers.forEach(function(e){return i.addTagMapper(e)}),i.push(t.responseText),i.end(),r.state=\"HAVE_MASTER\",r.srcUrl=sl(r.handleManifestRedirects,r.srcUrl,t),i.manifest.uri=r.srcUrl,i.manifest.playlists)return r.master=i.manifest,fl(r.master),ml(r.master),r.trigger(\"loadedplaylist\"),void(r.request||r.media(i.manifest.playlists[0]));var n=pl(0,r.srcUrl);return r.master={mediaGroups:{AUDIO:{},VIDEO:{},\"CLOSED-CAPTIONS\":{},SUBTITLES:{}},uri:y.location.href,playlists:[{uri:r.srcUrl,id:n,resolvedUri:r.srcUrl,attributes:{}}]},r.master.playlists[n]=r.master.playlists[0],r.master.playlists[r.srcUrl]=r.master.playlists[0],r.haveMetadata(t,r.srcUrl,n),r.trigger(\"loadedmetadata\")}})}}]),Tl);function Tl(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};al(this,Tl);var n=cl(this,(Tl.__proto__||Object.getPrototypeOf(Tl)).call(this)),r=i.withCredentials,s=void 0!==r&&r,a=i.handleManifestRedirects,o=void 0!==a&&a;n.srcUrl=e,n.hls_=t,n.withCredentials=s,n.handleManifestRedirects=o;var u=t.options_;if(n.customTagParsers=u&&u.customTagParsers||[],n.customTagMappers=u&&u.customTagMappers||[],!n.srcUrl)throw new Error(\"A non-empty playlist URL is required\");return n.state=\"HAVE_NOTHING\",n.on(\"mediaupdatetimeout\",function(){\"HAVE_METADATA\"===n.state&&(n.state=\"HAVE_CURRENT_METADATA\",n.request=n.hls_.xhr({uri:rl(n.master.uri,n.media().uri),withCredentials:n.withCredentials},function(e,t){if(n.request)return e?n.playlistRequestError(n.request,n.media(),\"HAVE_METADATA\"):void n.haveMetadata(n.request,n.media().uri,n.media().id)}))}),n}function Sl(e,t,i){var n,r;return\"undefined\"==typeof t&&(t=e.mediaSequence+e.segments.length),t<e.mediaSequence?0:(n=function(e,t){var i=0,n=t-e.mediaSequence,r=e.segments[n];if(r){if(\"undefined\"!=typeof r.start)return{result:r.start,precise:!0};if(\"undefined\"!=typeof r.end)return{result:r.end-r.duration,precise:!0}}for(;n--;){if(\"undefined\"!=typeof(r=e.segments[n]).end)return{result:i+r.end,precise:!0};if(i+=r.duration,\"undefined\"!=typeof r.start)return{result:i+r.start,precise:!0}}return{result:i,precise:!1}}(e,t)).precise?n.result:(r=function(e,t){for(var i=0,n=void 0,r=t-e.mediaSequence;r<e.segments.length;r++){if(\"undefined\"!=typeof(n=e.segments[r]).start)return{result:n.start-i,precise:!0};if(i+=n.duration,\"undefined\"!=typeof n.end)return{result:n.end-i,precise:!0}}return{result:-1,precise:!1}}(e,t)).precise?r.result:n.result+i}function kl(e,t,i){if(!e)return 0;if(\"number\"!=typeof i&&(i=0),\"undefined\"==typeof t){if(e.totalDuration)return e.totalDuration;if(!e.endList)return y.Infinity}return Sl(e,t,i)}function Cl(e,t,i){var n=0;if(i<t){var r=[i,t];t=r[0],i=r[1]}if(t<0){for(var s=t;s<Math.min(0,i);s++)n+=e.targetDuration;t=0}for(var a=t;a<i;a++)n+=e.segments[a].duration;return n}function wl(e,t){if(!e.segments.length)return 0;var i=e.segments.length,n=e.segments[i-1].duration||e.targetDuration,r=\"number\"==typeof t?t:n+2*e.targetDuration;if(0===r)return i;for(var s=0;i--&&!(r<=(s+=e.segments[i].duration)););return Math.max(0,i)}function El(e,t,i,n){if(!e||!e.segments)return null;if(e.endList)return kl(e);if(null===t)return null;t=t||0;var r=i?wl(e,n):e.segments.length;return Sl(e,e.mediaSequence+r,t)}function xl(e){return e-Math.floor(e)==0}function Al(e,t){if(xl(t))return t+.1*e;for(var i=t.toString().split(\".\")[1].length,n=1;n<=i;n++){var r=Math.pow(10,n),s=t*r;if(xl(s)||n===i)return(s+e)/r}}function Il(e){return e.excludeUntil&&e.excludeUntil>Date.now()}function Pl(e){return e.excludeUntil&&e.excludeUntil===1/0}function Ll(e){var t=Il(e);return!e.disabled&&!t}function Ol(e,t){return t.attributes&&t.attributes[e]}function Dl(e,t){if(1===e.playlists.length)return!0;var i=t.attributes.BANDWIDTH||Number.MAX_VALUE;return 0===e.playlists.filter(function(e){return!!Ll(e)&&(e.attributes.BANDWIDTH||0)<i}).length}function Nl(){return function e(t,n){t=nc({timeout:45e3},t);var i=e.beforeRequest||as.Hls.xhr.beforeRequest;if(i&&\"function\"==typeof i){var r=i(t);r&&(t=r)}var s=ic(t,function(e,t){var i=s.response;!e&&i&&(s.responseTime=Date.now(),s.roundTripTime=s.responseTime-s.requestTime,s.bytesReceived=i.byteLength||i.length,s.bandwidth||(s.bandwidth=Math.floor(s.bytesReceived/s.roundTripTime*8*1e3))),t.headers&&(s.responseHeaders=t.headers),e&&\"ETIMEDOUT\"===e.code&&(s.timedout=!0),e||s.aborted||200===t.statusCode||206===t.statusCode||0===t.statusCode||(e=new Error(\"XHR Failed with a response of: \"+(s&&(i||s.responseText)))),n(e,s)}),a=s.abort;return s.abort=function(){return s.aborted=!0,a.apply(s,arguments)},s.uri=t.uri,s.requestTime=Date.now(),s}}function Rl(e){var t={};return e.byterange&&(t.Range=function(e){var t;return t=e.offset+e.length-1,\"bytes=\"+e.offset+\"-\"+t}(e.byterange)),t}function Ul(e,t){var i=e.toString(16);return\"00\".substring(0,2-i.length)+i+(t%2?\" \":\"\")}function Ml(e){return 32<=e&&e<126?String.fromCharCode(e):\".\"}function Bl(i){var n={};return Object.keys(i).forEach(function(e){var t=i[e];ArrayBuffer.isView(t)?n[e]={bytes:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength}:n[e]=t}),n}function jl(e){var t=e.byterange||{length:1/0,offset:0};return[t.length,t.offset,e.resolvedUri].join(\",\")}function Fl(e){return e.resolvedUri}function Hl(e){for(var t=Array.prototype.slice.call(e),i=\"\",n=0;n<t.length/16;n++)i+=t.slice(16*n,16*n+16).map(Ul).join(\"\")+\" \"+t.slice(16*n,16*n+16).map(Ml).join(\"\")+\"\\n\";return i}function Vl(e){var t=e.playlist,i=e.time,n=void 0===i?void 0:i,r=e.callback;if(!r)throw new Error(\"getProgramTime: callback must be provided\");if(!t||void 0===n)return r({message:\"getProgramTime: playlist and time must be provided\"});var s=function(e,t){if(!t||!t.segments||0===t.segments.length)return null;for(var i=0,n=void 0,r=0;r<t.segments.length&&!(e<=(i=(n=t.segments[r]).videoTimingInfo?n.videoTimingInfo.transmuxedPresentationEnd:i+n.duration));r++);var s=t.segments[t.segments.length-1];if(s.videoTimingInfo&&s.videoTimingInfo.transmuxedPresentationEnd<e)return null;if(i<e){if(e>i+.25*s.duration)return null;n=s}return{segment:n,estimatedStart:n.videoTimingInfo?n.videoTimingInfo.transmuxedPresentationStart:i-n.duration,type:n.videoTimingInfo?\"accurate\":\"estimate\"}}(n,t);if(!s)return r({message:\"valid programTime was not found\"});if(\"estimate\"===s.type)return r({message:\"Accurate programTime could not be determined. Please seek to e.seekTime and try again\",seekTime:s.estimatedStart});var a={mediaSeconds:n},o=function(e,t){if(!t.dateTimeObject)return null;var i=t.videoTimingInfo.transmuxerPrependedSeconds,n=e-(t.videoTimingInfo.transmuxedPresentationStart+i);return new Date(t.dateTimeObject.getTime()+1e3*n)}(n,s.segment);return o&&(a.programDateTime=o.toISOString()),r(null,a)}function ql(e){var t=e.programTime,i=e.playlist,n=e.retryCount,r=void 0===n?2:n,s=e.seekTo,a=e.pauseAfterSeek,o=void 0===a||a,u=e.tech,l=e.callback;if(!l)throw new Error(\"seekToProgramTime: callback must be provided\");if(\"undefined\"==typeof t||!i||!s)return l({message:\"seekToProgramTime: programTime, seekTo and playlist must be provided\"});if(!i.endList&&!u.hasStarted_)return l({message:\"player must be playing a live stream to start buffering\"});if(!function(e){if(!e.segments||0===e.segments.length)return!1;for(var t=0;t<e.segments.length;t++){if(!e.segments[t].dateTimeObject)return!1}return!0}(i))return l({message:\"programDateTime tags must be provided in the manifest \"+i.resolvedUri});var c=function(e,t){var i=void 0;try{i=new Date(e)}catch(e){return null}if(!t||!t.segments||0===t.segments.length)return null;var n=t.segments[0];if(i<n.dateTimeObject)return null;for(var r=0;r<t.segments.length-1;r++){if(n=t.segments[r],i<t.segments[r+1].dateTimeObject)break}var s=t.segments[t.segments.length-1],a=s.dateTimeObject,o=s.videoTimingInfo?function(e){return e.transmuxedPresentationEnd-e.transmuxedPresentationStart-e.transmuxerPrependedSeconds}(s.videoTimingInfo):s.duration+.25*s.duration;return new Date(a.getTime()+1e3*o)<i?null:(a<i&&(n=s),{segment:n,estimatedStart:n.videoTimingInfo?n.videoTimingInfo.transmuxedPresentationStart:tc.duration(t,t.mediaSequence+t.segments.indexOf(n)),type:n.videoTimingInfo?\"accurate\":\"estimate\"})}(t,i);if(!c)return l({message:t+\" was not found in the stream\"});var h=c.segment,d=function(e,t){var i=void 0,n=void 0;try{i=new Date(e),n=new Date(t)}catch(e){}var r=i.getTime();return(n.getTime()-r)/1e3}(h.dateTimeObject,t);if(\"estimate\"===c.type)return 0===r?l({message:t+\" is not buffered yet. Try again\"}):(s(c.estimatedStart+d),void u.one(\"seeked\",function(){ql({programTime:t,playlist:i,retryCount:r-1,seekTo:s,pauseAfterSeek:o,tech:u,callback:l})}));var p=h.start+d;u.one(\"seeked\",function(){return l(null,u.currentTime())}),o&&u.pause(),s(p)}function Wl(e,t){var i=[],n=void 0;if(e&&e.length)for(n=0;n<e.length;n++)t(e.start(n),e.end(n))&&i.push([e.start(n),e.end(n)]);return as.createTimeRanges(i)}function zl(e,i){return Wl(e,function(e,t){return e-.1<=i&&i<=t+.1})}function Gl(e,t){return Wl(e,function(e){return t<=e-1/30})}function Xl(e){var t=[];if(!e||!e.length)return\"\";for(var i=0;i<e.length;i++)t.push(e.start(i)+\" => \"+e.end(i));return t.join(\", \")}function Kl(e){for(var t=[],i=0;i<e.length;i++)t.push({start:e.start(i),end:e.end(i)});return t}function Yl(e,t,i){var n=void 0,r=void 0;if(i&&i.cues)for(n=i.cues.length;n--;)(r=i.cues[n]).startTime<=t&&r.endTime>=e&&i.removeCue(r)}function $l(e){return isNaN(e)||Math.abs(e)===1/0?Number.MAX_VALUE:e}function Ql(e,t,i){var n=y.WebKitDataCue||y.VTTCue;if(t&&t.forEach(function(e){var t=e.stream;this.inbandTextTracks_[t].addCue(new n(e.startTime+this.timestampOffset,e.endTime+this.timestampOffset,e.text))},e),i){var r=$l(e.mediaSource_.duration);if(i.forEach(function(e){var i=e.cueTime+this.timestampOffset;!(\"number\"!=typeof i||y.isNaN(i)||i<0)&&i<1/0&&e.frames.forEach(function(e){var t=new n(i,i,e.value||e.url||e.data||\"\");t.frame=e,t.value=e,function(e){Object.defineProperties(e.frame,{id:{get:function(){return as.log.warn(\"cue.frame.id is deprecated. Use cue.value.key instead.\"),e.value.key}},value:{get:function(){return as.log.warn(\"cue.frame.value is deprecated. Use cue.value.data instead.\"),e.value.data}},privateData:{get:function(){return as.log.warn(\"cue.frame.privateData is deprecated. Use cue.value.data instead.\"),e.value.data}}})}(t),this.metadataTrack_.addCue(t)},this)},e),e.metadataTrack_&&e.metadataTrack_.cues&&e.metadataTrack_.cues.length){for(var s=e.metadataTrack_.cues,a=[],o=0;o<s.length;o++)s[o]&&a.push(s[o]);var u=a.reduce(function(e,t){var i=e[t.startTime]||[];return i.push(t),e[t.startTime]=i,e},{}),l=Object.keys(u).sort(function(e,t){return Number(e)-Number(t)});l.forEach(function(e,t){var i=u[e],n=Number(l[t+1])||r;i.forEach(function(e){e.endTime=n})})}}}var Jl=as.createTimeRange,Zl=Al.bind(null,1),ec=Al.bind(null,-1),tc={duration:kl,seekable:function(e,t,i){var n=t||0,r=El(e,t,!0,i);return null===r?Jl():Jl(n,r)},safeLiveIndex:wl,getMediaInfoForTime:function(e,t,i,n){var r=void 0,s=void 0,a=e.segments.length,o=t-n;if(o<0){if(0<i)for(r=i-1;0<=r;r--)if(s=e.segments[r],0<(o+=ec(s.duration)))return{mediaIndex:r,startTime:n-Cl(e,i,r)};return{mediaIndex:0,startTime:t}}if(i<0){for(r=i;r<0;r++)if((o-=e.targetDuration)<0)return{mediaIndex:0,startTime:t};i=0}for(r=i;r<a;r++)if(s=e.segments[r],(o-=Zl(s.duration))<0)return{mediaIndex:r,startTime:n+Cl(e,i,r)};return{mediaIndex:a-1,startTime:t}},isEnabled:Ll,isDisabled:function(e){return e.disabled},isBlacklisted:Il,isIncompatible:Pl,playlistEnd:El,isAes:function(e){for(var t=0;t<e.segments.length;t++)if(e.segments[t].key)return!0;return!1},isFmp4:function(e){for(var t=0;t<e.segments.length;t++)if(e.segments[t].map)return!0;return!1},hasAttribute:Ol,estimateSegmentRequestTime:function(e,t,i,n){var r=3<arguments.length&&void 0!==n?n:0;return Ol(\"BANDWIDTH\",i)?(e*i.attributes.BANDWIDTH-8*r)/t:NaN},isLowestEnabledRendition:Dl},ic=as.xhr,nc=as.mergeOptions,rc=Object.freeze({createTransferableMessage:Bl,initSegmentId:jl,segmentKeyId:Fl,hexDump:Hl,tagDump:function(e){var t=e.bytes;return Hl(t)},textRanges:function(e){var t,i,n=\"\",r=void 0;for(r=0;r<e.length;r++)n+=(i=r,(t=e).start(i)+\"-\"+t.end(i)+\" \");return n}}),sc=\"undefined\"!=typeof window?window:{},ac=\"undefined\"==typeof Symbol?\"__target\":Symbol(),oc=\"application/javascript\",uc=sc.BlobBuilder||sc.WebKitBlobBuilder||sc.MozBlobBuilder||sc.MSBlobBuilder,lc=sc.URL||sc.webkitURL||lc&&lc.msURL,cc=sc.Worker;function hc(r,s){return function(e){var t=this;if(!s)return new cc(r);if(cc&&!e){var i=mc(s.toString().replace(/^function.+?{/,\"\").slice(0,-1));return this[ac]=new cc(i),function(e,t){if(!e||!t)return;var i=e.terminate;e.objURL=t,e.terminate=function(){e.objURL&&lc.revokeObjectURL(e.objURL),i.call(e)}}(this[ac],i),this[ac]}var n={postMessage:function(e){t.onmessage&&setTimeout(function(){t.onmessage({data:e,target:n})})}};s.call(n),this.postMessage=function(e){setTimeout(function(){n.onmessage({data:e,target:t})})},this.isThisThread=!0}}if(cc){var dc,pc=mc(\"self.onmessage = function () {}\"),fc=new Uint8Array(1);try{(dc=new cc(pc)).postMessage(fc,[fc.buffer])}catch(e){cc=null}finally{lc.revokeObjectURL(pc),dc&&dc.terminate()}}function mc(t){try{return lc.createObjectURL(new Blob([t],{type:oc}))}catch(e){var i=new uc;return i.append(t),lc.createObjectURL(i.getBlob(type))}}function gc(e){return e.map(function(e){return e.replace(/avc1\\.(\\d+)\\.(\\d+)/i,function(e,t,i){return\"avc1.\"+(\"00\"+Number(t).toString(16)).slice(-2)+\"00\"+(\"00\"+Number(i).toString(16)).slice(-2)})})}function vc(e){var t,i=0<arguments.length&&void 0!==e?e:\"\",n={codecCount:0};return n.codecCount=i.split(\",\").length,n.codecCount=n.codecCount||2,(t=/(^|\\s|,)+(avc[13])([^ ,]*)/i.exec(i))&&(n.videoCodec=t[2],n.videoObjectTypeIndicator=t[3]),n.audioProfile=/(^|\\s|,)+mp4a.[0-9A-Fa-f]+\\.([0-9A-Fa-f]+)/i.exec(i),n.audioProfile=n.audioProfile&&n.audioProfile[2],n}function yc(e,t,i){return e+\"/\"+t+'; codecs=\"'+i.filter(function(e){return!!e}).join(\", \")+'\"'}function _c(e,t){var i=function(e){return e.segments&&e.segments.length&&e.segments[0].map?\"mp4\":\"mp2t\"}(t),n=function(e){var t=e.attributes||{};return t.CODECS?vc(t.CODECS):Cc}(t),r=t.attributes||{},s=!0,a=!1;if(!t)return[];if(e.mediaGroups.AUDIO&&r.AUDIO){var o=e.mediaGroups.AUDIO[r.AUDIO];if(o)for(var u in s=!(a=!0),o)if(!o[u].uri&&!o[u].playlists){s=!0;break}}a&&!n.audioProfile&&(s||(n.audioProfile=function(e,t){if(!e.mediaGroups.AUDIO||!t)return null;var i=e.mediaGroups.AUDIO[t];if(!i)return null;for(var n in i){var r=i[n];if(r.default&&r.playlists)return vc(r.playlists[0].attributes.CODECS).audioProfile}return null}(e,r.AUDIO)),n.audioProfile||(as.log.warn(\"Multiple audio tracks present but no audio codec string is specified. Attempting to use the default audio codec (mp4a.40.2)\"),n.audioProfile=Cc.audioProfile));var l={};n.videoCodec&&(l.video=\"\"+n.videoCodec+n.videoObjectTypeIndicator),n.audioProfile&&(l.audio=\"mp4a.40.\"+n.audioProfile);var c=yc(\"audio\",i,[l.audio]),h=yc(\"video\",i,[l.video]),d=yc(\"video\",i,[l.video,l.audio]);return a?!s&&l.video?[h,c]:s||l.video?[d,c]:[c,c]:l.video?[d]:[c]}function bc(e){var r={type:\"\",parameters:{}},t=e.trim().split(\";\");return r.type=t.shift().trim(),t.forEach(function(e){var t=e.trim().split(\"=\");if(1<t.length){var i=t[0].replace(/\"/g,\"\").trim(),n=t[1].replace(/\"/g,\"\").trim();r.parameters[i]=n}}),r}function Tc(e){return/mp4a\\.\\d+.\\d+/i.test(e)}function Sc(e){return/avc1\\.[\\da-f]+/i.test(e)}var kc=new hc(\"./transmuxer-worker.worker.js\",function(e,t){var kt=this;!function(){function e(){this.init=function(){var s={};this.on=function(e,t){s[e]||(s[e]=[]),s[e]=s[e].concat(t)},this.off=function(e,t){var i;return!!s[e]&&(i=s[e].indexOf(t),s[e]=s[e].slice(),s[e].splice(i,1),-1<i)},this.trigger=function(e){var t,i,n,r;if(t=s[e])if(2===arguments.length)for(n=t.length,i=0;i<n;++i)t[i].call(this,arguments[1]);else{for(r=[],i=arguments.length,i=1;i<arguments.length;++i)r.push(arguments[i]);for(n=t.length,i=0;i<n;++i)t[i].apply(this,r)}},this.dispose=function(){s={}}}}e.prototype.pipe=function(t){return this.on(\"data\",function(e){t.push(e)}),this.on(\"done\",function(e){t.flush(e)}),this.on(\"partialdone\",function(e){t.partialFlush(e)}),this.on(\"endedtimeline\",function(e){t.endTimeline(e)}),this.on(\"reset\",function(e){t.reset(e)}),t},e.prototype.push=function(e){this.trigger(\"data\",e)},e.prototype.flush=function(e){this.trigger(\"done\",e)},e.prototype.partialFlush=function(e){this.trigger(\"partialdone\",e)},e.prototype.endTimeline=function(e){this.trigger(\"endedtimeline\",e)},e.prototype.reset=function(e){this.trigger(\"reset\",e)};var l,t,i,r,s,n,a,o,u,c,h,d,p,f,m,g,v,y,_,b,T,S,k,C,w,E,x,A,I,P,L,O,D,N,R,U,M,B,j,F,H=e,V=Math.pow(2,32)-1;!function(){var e;if(S={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],pasp:[],sdtp:[],smhd:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],styp:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[]},\"undefined\"!=typeof Uint8Array){for(e in S)S.hasOwnProperty(e)&&(S[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);k=new Uint8Array([\"i\".charCodeAt(0),\"s\".charCodeAt(0),\"o\".charCodeAt(0),\"m\".charCodeAt(0)]),w=new Uint8Array([\"a\".charCodeAt(0),\"v\".charCodeAt(0),\"c\".charCodeAt(0),\"1\".charCodeAt(0)]),C=new Uint8Array([0,0,0,1]),E=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),x=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),A={video:E,audio:x},L=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),P=new Uint8Array([0,0,0,0,0,0,0,0]),O=new Uint8Array([0,0,0,0,0,0,0,0]),D=O,N=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),R=O,I=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}}(),l=function(e){var t,i,n=[],r=0;for(t=1;t<arguments.length;t++)n.push(arguments[t]);for(t=n.length;t--;)r+=n[t].byteLength;for(i=new Uint8Array(r+8),new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,i.byteLength),i.set(e,4),t=0,r=8;t<n.length;t++)i.set(n[t],r),r+=n[t].byteLength;return i},t=function(){return l(S.dinf,l(S.dref,L))},i=function(e){return l(S.esds,new Uint8Array([0,0,0,0,3,25,0,0,0,4,17,64,21,0,6,0,0,0,218,192,0,0,218,192,5,2,e.audioobjecttype<<3|e.samplingfrequencyindex>>>1,e.samplingfrequencyindex<<7|e.channelcount<<3,6,1,2]))},m=function(e){return l(S.hdlr,A[e])},f=function(e){var t=new Uint8Array([0,0,0,0,0,0,0,2,0,0,0,3,0,1,95,144,e.duration>>>24&255,e.duration>>>16&255,e.duration>>>8&255,255&e.duration,85,196,0,0]);return e.samplerate&&(t[12]=e.samplerate>>>24&255,t[13]=e.samplerate>>>16&255,t[14]=e.samplerate>>>8&255,t[15]=255&e.samplerate),l(S.mdhd,t)},p=function(e){return l(S.mdia,f(e),m(e.type),n(e))},s=function(e){return l(S.mfhd,new Uint8Array([0,0,0,0,(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e]))},n=function(e){return l(S.minf,\"video\"===e.type?l(S.vmhd,I):l(S.smhd,P),t(),v(e))},a=function(e,t){for(var i=[],n=t.length;n--;)i[n]=_(t[n]);return l.apply(null,[S.moof,s(e)].concat(i))},o=function(e){for(var t=e.length,i=[];t--;)i[t]=h(e[t]);return l.apply(null,[S.moov,c(4294967295)].concat(i).concat(u(e)))},u=function(e){for(var t=e.length,i=[];t--;)i[t]=b(e[t]);return l.apply(null,[S.mvex].concat(i))},c=function(e){var t=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,2,0,1,95,144,(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return l(S.mvhd,t)},g=function(e){var t,i,n=e.samples||[],r=new Uint8Array(4+n.length);for(i=0;i<n.length;i++)t=n[i].flags,r[i+4]=t.dependsOn<<4|t.isDependedOn<<2|t.hasRedundancy;return l(S.sdtp,r)},v=function(e){return l(S.stbl,y(e),l(S.stts,R),l(S.stsc,D),l(S.stsz,N),l(S.stco,O))},y=function(e){return l(S.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),\"video\"===e.type?U(e):M(e))},U=function(e){var t,i,n=e.sps||[],r=e.pps||[],s=[],a=[];for(t=0;t<n.length;t++)s.push((65280&n[t].byteLength)>>>8),s.push(255&n[t].byteLength),s=s.concat(Array.prototype.slice.call(n[t]));for(t=0;t<r.length;t++)a.push((65280&r[t].byteLength)>>>8),a.push(255&r[t].byteLength),a=a.concat(Array.prototype.slice.call(r[t]));if(i=[S.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,(65280&e.width)>>8,255&e.width,(65280&e.height)>>8,255&e.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,19,118,105,100,101,111,106,115,45,99,111,110,116,114,105,98,45,104,108,115,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),l(S.avcC,new Uint8Array([1,e.profileIdc,e.profileCompatibility,e.levelIdc,255].concat([n.length],s,[r.length],a))),l(S.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192]))],e.sarRatio){var o=e.sarRatio[0],u=e.sarRatio[1];i.push(l(S.pasp,new Uint8Array([(4278190080&o)>>24,(16711680&o)>>16,(65280&o)>>8,255&o,(4278190080&u)>>24,(16711680&u)>>16,(65280&u)>>8,255&u])))}return l.apply(null,i)},M=function(e){return l(S.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,(65280&e.channelcount)>>8,255&e.channelcount,(65280&e.samplesize)>>8,255&e.samplesize,0,0,0,0,(65280&e.samplerate)>>8,255&e.samplerate,0,0]),i(e))},d=function(e){var t=new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,0,(4278190080&e.duration)>>24,(16711680&e.duration)>>16,(65280&e.duration)>>8,255&e.duration,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,(65280&e.width)>>8,255&e.width,0,0,(65280&e.height)>>8,255&e.height,0,0]);return l(S.tkhd,t)},_=function(e){var t,i,n,r,s,a;return t=l(S.tfhd,new Uint8Array([0,0,0,58,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0])),s=Math.floor(e.baseMediaDecodeTime/(1+V)),a=Math.floor(e.baseMediaDecodeTime%(1+V)),i=l(S.tfdt,new Uint8Array([1,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,a>>>24&255,a>>>16&255,a>>>8&255,255&a])),92,\"audio\"===e.type?(n=T(e,92),l(S.traf,t,i,n)):(r=g(e),n=T(e,r.length+92),l(S.traf,t,i,n,r))},h=function(e){return e.duration=e.duration||4294967295,l(S.trak,d(e),p(e))},b=function(e){var t=new Uint8Array([0,0,0,0,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return\"video\"!==e.type&&(t[t.length-1]=0),l(S.trex,t)},F=function(e,t){var i=0,n=0,r=0,s=0;return e.length&&(void 0!==e[0].duration&&(i=1),void 0!==e[0].size&&(n=2),void 0!==e[0].flags&&(r=4),void 0!==e[0].compositionTimeOffset&&(s=8)),[0,0,i|n|r|s,1,(4278190080&e.length)>>>24,(16711680&e.length)>>>16,(65280&e.length)>>>8,255&e.length,(4278190080&t)>>>24,(16711680&t)>>>16,(65280&t)>>>8,255&t]},j=function(e,t){var i,n,r,s;for(t+=20+16*(n=e.samples||[]).length,i=F(n,t),s=0;s<n.length;s++)r=n[s],i=i.concat([(4278190080&r.duration)>>>24,(16711680&r.duration)>>>16,(65280&r.duration)>>>8,255&r.duration,(4278190080&r.size)>>>24,(16711680&r.size)>>>16,(65280&r.size)>>>8,255&r.size,r.flags.isLeading<<2|r.flags.dependsOn,r.flags.isDependedOn<<6|r.flags.hasRedundancy<<4|r.flags.paddingValue<<1|r.flags.isNonSyncSample,61440&r.flags.degradationPriority,15&r.flags.degradationPriority,(4278190080&r.compositionTimeOffset)>>>24,(16711680&r.compositionTimeOffset)>>>16,(65280&r.compositionTimeOffset)>>>8,255&r.compositionTimeOffset]);return l(S.trun,new Uint8Array(i))},B=function(e,t){var i,n,r,s;for(t+=20+8*(n=e.samples||[]).length,i=F(n,t),s=0;s<n.length;s++)r=n[s],i=i.concat([(4278190080&r.duration)>>>24,(16711680&r.duration)>>>16,(65280&r.duration)>>>8,255&r.duration,(4278190080&r.size)>>>24,(16711680&r.size)>>>16,(65280&r.size)>>>8,255&r.size]);return l(S.trun,new Uint8Array(i))},T=function(e,t){return\"audio\"===e.type?B(e,t):j(e,t)};r=function(){return l(S.ftyp,k,C,k,w)};function q(e,t){var i={size:0,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0,degradationPriority:0,isNonSyncSample:1}};return i.dataOffset=t,i.compositionTimeOffset=e.pts-e.dts,i.duration=e.duration,i.size=4*e.length,i.size+=e.byteLength,e.keyFrame&&(i.flags.dependsOn=2,i.flags.isNonSyncSample=0),i}function W(e){for(var t=[];e--;)t.push(0);return t}function z(){z.prototype.init.call(this),this.captionPackets_=[],this.ccStreams_=[new Ie(0,0),new Ie(0,1),new Ie(1,0),new Ie(1,1)],this.reset(),this.ccStreams_.forEach(function(e){e.on(\"data\",this.trigger.bind(this,\"data\")),e.on(\"partialdone\",this.trigger.bind(this,\"partialdone\")),e.on(\"done\",this.trigger.bind(this,\"done\"))},this)}var G,X,K,Y,$,Q=function(e){return l(S.mdat,e)},J=a,Z=function(e){var t,i=r(),n=o(e);return(t=new Uint8Array(i.byteLength+n.byteLength)).set(i),t.set(n,i.byteLength),t},ee=function(e){var t,i,n=[],r=[];for(r.byteLength=0,r.nalCount=0,r.duration=0,t=n.byteLength=0;t<e.length;t++)\"access_unit_delimiter_rbsp\"===(i=e[t]).nalUnitType?(n.length&&(n.duration=i.dts-n.dts,r.byteLength+=n.byteLength,r.nalCount+=n.length,r.duration+=n.duration,r.push(n)),(n=[i]).byteLength=i.data.byteLength,n.pts=i.pts,n.dts=i.dts):(\"slice_layer_without_partitioning_rbsp_idr\"===i.nalUnitType&&(n.keyFrame=!0),n.duration=i.dts-n.dts,n.byteLength+=i.data.byteLength,n.push(i));return r.length&&(!n.duration||n.duration<=0)&&(n.duration=r[r.length-1].duration),r.byteLength+=n.byteLength,r.nalCount+=n.length,r.duration+=n.duration,r.push(n),r},te=function(e){var t,i,n=[],r=[];for(n.byteLength=0,n.nalCount=0,n.duration=0,n.pts=e[0].pts,n.dts=e[0].dts,r.byteLength=0,r.nalCount=0,r.duration=0,r.pts=e[0].pts,r.dts=e[0].dts,t=0;t<e.length;t++)(i=e[t]).keyFrame?(n.length&&(r.push(n),r.byteLength+=n.byteLength,r.nalCount+=n.nalCount,r.duration+=n.duration),(n=[i]).nalCount=i.length,n.byteLength=i.byteLength,n.pts=i.pts,n.dts=i.dts,n.duration=i.duration):(n.duration+=i.duration,n.nalCount+=i.length,n.byteLength+=i.byteLength,n.push(i));return r.length&&n.duration<=0&&(n.duration=r[r.length-1].duration),r.byteLength+=n.byteLength,r.nalCount+=n.nalCount,r.duration+=n.duration,r.push(n),r},ie=function(e){var t;return!e[0][0].keyFrame&&1<e.length&&(t=e.shift(),e.byteLength-=t.byteLength,e.nalCount-=t.nalCount,e[0][0].dts=t.dts,e[0][0].pts=t.pts,e[0][0].duration+=t.duration),e},ne=function(e,t){var i,n,r,s,a,o=t||0,u=[];for(i=0;i<e.length;i++)for(s=e[i],n=0;n<s.length;n++)a=s[n],o+=(r=q(a,o)).size,u.push(r);return u},re=function(e){var t,i,n,r,s,a,o=0,u=e.byteLength,l=e.nalCount,c=new Uint8Array(u+4*l),h=new DataView(c.buffer);for(t=0;t<e.length;t++)for(r=e[t],i=0;i<r.length;i++)for(s=r[i],n=0;n<s.length;n++)a=s[n],h.setUint32(o,a.data.byteLength),o+=4,c.set(a.data,o),o+=a.data.byteLength;return c},se=[33,16,5,32,164,27],ae=[33,65,108,84,1,2,4,8,168,2,4,8,17,191,252],oe={96e3:[se,[227,64],W(154),[56]],88200:[se,[231],W(170),[56]],64e3:[se,[248,192],W(240),[56]],48e3:[se,[255,192],W(268),[55,148,128],W(54),[112]],44100:[se,[255,192],W(268),[55,163,128],W(84),[112]],32e3:[se,[255,192],W(268),[55,234],W(226),[112]],24e3:[se,[255,192],W(268),[55,255,128],W(268),[111,112],W(126),[224]],16e3:[se,[255,192],W(268),[55,255,128],W(268),[111,255],W(269),[223,108],W(195),[1,192]],12e3:[ae,W(268),[3,127,248],W(268),[6,255,240],W(268),[13,255,224],W(268),[27,253,128],W(259),[56]],11025:[ae,W(268),[3,127,248],W(268),[6,255,240],W(268),[13,255,224],W(268),[27,255,192],W(268),[55,175,128],W(108),[112]],8e3:[ae,W(268),[3,121,16],W(47),[7]]},ue=(G=oe,Object.keys(G).reduce(function(e,t){return e[t]=new Uint8Array(G[t].reduce(function(e,t){return e.concat(t)},[])),e},{})),le=9e4,ce=(X=function(e){return 9e4*e},K=function(e,t){return e*t},Y=function(e){return e/9e4},$=function(e,t){return e/t},function(e,t){return X($(e,t))}),he=function(e,t){return K(Y(e),t)},de=function(e,t,i){return Y(i?e:e-t)},pe=function(e,t,i,n){var r,s,a,o,u,l=0,c=0,h=0;if(t.length&&(r=ce(e.baseMediaDecodeTime,e.samplerate),s=Math.ceil(le/(e.samplerate/1024)),i&&n&&(l=r-Math.max(i,n),h=(c=Math.floor(l/s))*s),!(c<1||le/2<h))){for(a=(a=ue[e.samplerate])||t[0].data,o=0;o<c;o++)u=t[0],t.splice(0,0,{data:a,dts:u.dts-s,pts:u.pts-s});e.baseMediaDecodeTime-=Math.floor(he(h,e.samplerate))}},fe=function(e,t,i){return t.minSegmentDts>=i?e:(t.minSegmentDts=1/0,e.filter(function(e){return e.dts>=i&&(t.minSegmentDts=Math.min(t.minSegmentDts,e.dts),t.minSegmentPts=t.minSegmentDts,!0)}))},me=function(e){var t,i,n=[];for(t=0;t<e.length;t++)i=e[t],n.push({size:i.data.byteLength,duration:1024});return n},ge=function(e){var t,i,n=0,r=new Uint8Array(function(e){var t,i=0;for(t=0;t<e.length;t++)i+=e[t].data.byteLength;return i}(e));for(t=0;t<e.length;t++)i=e[t],r.set(i.data,n),n+=i.data.byteLength;return r},ve=le,ye=function(e){delete e.minSegmentDts,delete e.maxSegmentDts,delete e.minSegmentPts,delete e.maxSegmentPts},_e=function(e,t){var i,n=e.minSegmentDts;return t||(n-=e.timelineStartInfo.dts),i=e.timelineStartInfo.baseMediaDecodeTime,i+=n,i=Math.max(0,i),\"audio\"===e.type&&(i*=e.samplerate/ve,i=Math.floor(i)),i},be=function(e,t){\"number\"==typeof t.pts&&(void 0===e.timelineStartInfo.pts&&(e.timelineStartInfo.pts=t.pts),void 0===e.minSegmentPts?e.minSegmentPts=t.pts:e.minSegmentPts=Math.min(e.minSegmentPts,t.pts),void 0===e.maxSegmentPts?e.maxSegmentPts=t.pts:e.maxSegmentPts=Math.max(e.maxSegmentPts,t.pts)),\"number\"==typeof t.dts&&(void 0===e.timelineStartInfo.dts&&(e.timelineStartInfo.dts=t.dts),void 0===e.minSegmentDts?e.minSegmentDts=t.dts:e.minSegmentDts=Math.min(e.minSegmentDts,t.dts),void 0===e.maxSegmentDts?e.maxSegmentDts=t.dts:e.maxSegmentDts=Math.max(e.maxSegmentDts,t.dts))},Te=function(e){for(var t=0,i={payloadType:-1,payloadSize:0},n=0,r=0;t<e.byteLength&&128!==e[t];){for(;255===e[t];)n+=255,t++;for(n+=e[t++];255===e[t];)r+=255,t++;if(r+=e[t++],!i.payload&&4===n){i.payloadType=n,i.payloadSize=r,i.payload=e.subarray(t,t+r);break}t+=r,r=n=0}return i},Se=function(e){return 181!==e.payload[0]?null:49!=(e.payload[1]<<8|e.payload[2])?null:\"GA94\"!==String.fromCharCode(e.payload[3],e.payload[4],e.payload[5],e.payload[6])?null:3!==e.payload[7]?null:e.payload.subarray(8,e.payload.length-1)},ke=function(e,t){var i,n,r,s,a=[];if(!(64&t[0]))return a;for(n=31&t[0],i=0;i<n;i++)s={type:3&t[2+(r=3*i)],pts:e},4&t[2+r]&&(s.ccData=t[3+r]<<8|t[4+r],a.push(s));return a},Ce=4;(z.prototype=new H).push=function(e){var t,i,n;if(\"sei_rbsp\"===e.nalUnitType&&(t=Te(e.escapedRBSP)).payloadType===Ce&&(i=Se(t)))if(e.dts<this.latestDts_)this.ignoreNextEqualDts_=!0;else{if(e.dts===this.latestDts_&&this.ignoreNextEqualDts_)return this.numSameDts_--,void(this.numSameDts_||(this.ignoreNextEqualDts_=!1));n=ke(e.pts,i),this.captionPackets_=this.captionPackets_.concat(n),this.latestDts_!==e.dts&&(this.numSameDts_=0),this.numSameDts_++,this.latestDts_=e.dts}},z.prototype.flushCCStreams=function(t){this.ccStreams_.forEach(function(e){return\"flush\"===t?e.flush():e.partialFlush()},this)},z.prototype.flushStream=function(e){this.captionPackets_.length&&(this.captionPackets_.forEach(function(e,t){e.presortIndex=t}),this.captionPackets_.sort(function(e,t){return e.pts===t.pts?e.presortIndex-t.presortIndex:e.pts-t.pts}),this.captionPackets_.forEach(function(e){e.type<2&&this.dispatchCea608Packet(e)},this),this.captionPackets_.length=0),this.flushCCStreams(e)},z.prototype.flush=function(){return this.flushStream(\"flush\")},z.prototype.partialFlush=function(){return this.flushStream(\"partialFlush\")},z.prototype.reset=function(){this.latestDts_=null,this.ignoreNextEqualDts_=!1,this.numSameDts_=0,this.activeCea608Channel_=[null,null],this.ccStreams_.forEach(function(e){e.reset()})},z.prototype.dispatchCea608Packet=function(e){this.setsTextOrXDSActive(e)?this.activeCea608Channel_[e.type]=null:this.setsChannel1Active(e)?this.activeCea608Channel_[e.type]=0:this.setsChannel2Active(e)&&(this.activeCea608Channel_[e.type]=1),null!==this.activeCea608Channel_[e.type]&&this.ccStreams_[(e.type<<1)+this.activeCea608Channel_[e.type]].push(e)},z.prototype.setsChannel1Active=function(e){return 4096==(30720&e.ccData)},z.prototype.setsChannel2Active=function(e){return 6144==(30720&e.ccData)},z.prototype.setsTextOrXDSActive=function(e){return 256==(28928&e.ccData)||4138==(30974&e.ccData)||6186==(30974&e.ccData)};function we(e){return null===e?\"\":(e=xe[e]||e,String.fromCharCode(e))}function Ee(){for(var e=[],t=15;t--;)e.push(\"\");return e}var xe={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,304:174,305:176,306:189,307:191,308:8482,309:162,310:163,311:9834,312:224,313:160,314:232,315:226,316:234,317:238,318:244,319:251,544:193,545:201,546:211,547:218,548:220,549:252,550:8216,551:161,552:42,553:39,554:8212,555:169,556:8480,557:8226,558:8220,559:8221,560:192,561:194,562:199,563:200,564:202,565:203,566:235,567:206,568:207,569:239,570:212,571:217,572:249,573:219,574:171,575:187,800:195,801:227,802:205,803:204,804:236,805:210,806:242,807:213,808:245,809:123,810:125,811:92,812:94,813:95,814:124,815:126,816:196,817:228,818:214,819:246,820:223,821:165,822:164,823:9474,824:197,825:229,826:216,827:248,828:9484,829:9488,830:9492,831:9496},Ae=[4352,4384,4608,4640,5376,5408,5632,5664,5888,5920,4096,4864,4896,5120,5152],Ie=function e(t,i){e.prototype.init.call(this),this.field_=t||0,this.dataChannel_=i||0,this.name_=\"CC\"+(1+(this.field_<<1|this.dataChannel_)),this.setConstants(),this.reset(),this.push=function(e){var t,i,n,r,s;if((t=32639&e.ccData)!==this.lastControlCode_){if(4096==(61440&t)?this.lastControlCode_=t:t!==this.PADDING_&&(this.lastControlCode_=null),n=t>>>8,r=255&t,t!==this.PADDING_)if(t===this.RESUME_CAPTION_LOADING_)this.mode_=\"popOn\";else if(t===this.END_OF_CAPTION_)this.mode_=\"popOn\",this.clearFormatting(e.pts),this.flushDisplayed(e.pts),i=this.displayed_,this.displayed_=this.nonDisplayed_,this.nonDisplayed_=i,this.startPts_=e.pts;else if(t===this.ROLL_UP_2_ROWS_)this.rollUpRows_=2,this.setRollUp(e.pts);else if(t===this.ROLL_UP_3_ROWS_)this.rollUpRows_=3,this.setRollUp(e.pts);else if(t===this.ROLL_UP_4_ROWS_)this.rollUpRows_=4,this.setRollUp(e.pts);else if(t===this.CARRIAGE_RETURN_)this.clearFormatting(e.pts),this.flushDisplayed(e.pts),this.shiftRowsUp_(),this.startPts_=e.pts;else if(t===this.BACKSPACE_)\"popOn\"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1);else if(t===this.ERASE_DISPLAYED_MEMORY_)this.flushDisplayed(e.pts),this.displayed_=Ee();else if(t===this.ERASE_NON_DISPLAYED_MEMORY_)this.nonDisplayed_=Ee();else if(t===this.RESUME_DIRECT_CAPTIONING_)\"paintOn\"!==this.mode_&&(this.flushDisplayed(e.pts),this.displayed_=Ee()),this.mode_=\"paintOn\",this.startPts_=e.pts;else if(this.isSpecialCharacter(n,r))s=we((n=(3&n)<<8)|r),this[this.mode_](e.pts,s),this.column_++;else if(this.isExtCharacter(n,r))\"popOn\"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1),s=we((n=(3&n)<<8)|r),this[this.mode_](e.pts,s),this.column_++;else if(this.isMidRowCode(n,r))this.clearFormatting(e.pts),this[this.mode_](e.pts,\" \"),this.column_++,14==(14&r)&&this.addFormatting(e.pts,[\"i\"]),1==(1&r)&&this.addFormatting(e.pts,[\"u\"]);else if(this.isOffsetControlCode(n,r))this.column_+=3&r;else if(this.isPAC(n,r)){var a=Ae.indexOf(7968&t);\"rollUp\"===this.mode_&&(a-this.rollUpRows_+1<0&&(a=this.rollUpRows_-1),this.setRollUp(e.pts,a)),a!==this.row_&&(this.clearFormatting(e.pts),this.row_=a),1&r&&-1===this.formatting_.indexOf(\"u\")&&this.addFormatting(e.pts,[\"u\"]),16==(16&t)&&(this.column_=4*((14&t)>>1)),this.isColorPAC(r)&&14==(14&r)&&this.addFormatting(e.pts,[\"i\"])}else this.isNormalChar(n)&&(0===r&&(r=null),s=we(n),s+=we(r),this[this.mode_](e.pts,s),this.column_+=s.length)}else this.lastControlCode_=null}};Ie.prototype=new H,Ie.prototype.flushDisplayed=function(e){var t=this.displayed_.map(function(e){try{return e.trim()}catch(e){return\"\"}}).join(\"\\n\").replace(/^\\n+|\\n+$/g,\"\");t.length&&this.trigger(\"data\",{startPts:this.startPts_,endPts:e,text:t,stream:this.name_})},Ie.prototype.reset=function(){this.mode_=\"popOn\",this.topRow_=0,this.startPts_=0,this.displayed_=Ee(),this.nonDisplayed_=Ee(),this.lastControlCode_=null,this.column_=0,this.row_=14,this.rollUpRows_=2,this.formatting_=[]},Ie.prototype.setConstants=function(){0===this.dataChannel_?(this.BASE_=16,this.EXT_=17,this.CONTROL_=(20|this.field_)<<8,this.OFFSET_=23):1===this.dataChannel_&&(this.BASE_=24,this.EXT_=25,this.CONTROL_=(28|this.field_)<<8,this.OFFSET_=31),this.PADDING_=0,this.RESUME_CAPTION_LOADING_=32|this.CONTROL_,this.END_OF_CAPTION_=47|this.CONTROL_,this.ROLL_UP_2_ROWS_=37|this.CONTROL_,this.ROLL_UP_3_ROWS_=38|this.CONTROL_,this.ROLL_UP_4_ROWS_=39|this.CONTROL_,this.CARRIAGE_RETURN_=45|this.CONTROL_,this.RESUME_DIRECT_CAPTIONING_=41|this.CONTROL_,this.BACKSPACE_=33|this.CONTROL_,this.ERASE_DISPLAYED_MEMORY_=44|this.CONTROL_,this.ERASE_NON_DISPLAYED_MEMORY_=46|this.CONTROL_},Ie.prototype.isSpecialCharacter=function(e,t){return e===this.EXT_&&48<=t&&t<=63},Ie.prototype.isExtCharacter=function(e,t){return(e===this.EXT_+1||e===this.EXT_+2)&&32<=t&&t<=63},Ie.prototype.isMidRowCode=function(e,t){return e===this.EXT_&&32<=t&&t<=47},Ie.prototype.isOffsetControlCode=function(e,t){return e===this.OFFSET_&&33<=t&&t<=35},Ie.prototype.isPAC=function(e,t){return e>=this.BASE_&&e<this.BASE_+8&&64<=t&&t<=127},Ie.prototype.isColorPAC=function(e){return 64<=e&&e<=79||96<=e&&e<=127},Ie.prototype.isNormalChar=function(e){return 32<=e&&e<=127},Ie.prototype.setRollUp=function(e,t){if(\"rollUp\"!==this.mode_&&(this.row_=14,this.mode_=\"rollUp\",this.flushDisplayed(e),this.nonDisplayed_=Ee(),this.displayed_=Ee()),void 0!==t&&t!==this.row_)for(var i=0;i<this.rollUpRows_;i++)this.displayed_[t-i]=this.displayed_[this.row_-i],this.displayed_[this.row_-i]=\"\";void 0===t&&(t=this.row_),this.topRow_=t-this.rollUpRows_+1},Ie.prototype.addFormatting=function(e,t){this.formatting_=this.formatting_.concat(t);var i=t.reduce(function(e,t){return e+\"<\"+t+\">\"},\"\");this[this.mode_](e,i)},Ie.prototype.clearFormatting=function(e){if(this.formatting_.length){var t=this.formatting_.reverse().reduce(function(e,t){return e+\"</\"+t+\">\"},\"\");this.formatting_=[],this[this.mode_](e,t)}},Ie.prototype.popOn=function(e,t){var i=this.nonDisplayed_[this.row_];i+=t,this.nonDisplayed_[this.row_]=i},Ie.prototype.rollUp=function(e,t){var i=this.displayed_[this.row_];i+=t,this.displayed_[this.row_]=i},Ie.prototype.shiftRowsUp_=function(){var e;for(e=0;e<this.topRow_;e++)this.displayed_[e]=\"\";for(e=this.row_+1;e<15;e++)this.displayed_[e]=\"\";for(e=this.topRow_;e<this.row_;e++)this.displayed_[e]=this.displayed_[e+1];this.displayed_[this.row_]=\"\"},Ie.prototype.paintOn=function(e,t){var i=this.displayed_[this.row_];i+=t,this.displayed_[this.row_]=i};function Pe(e,t){var i=1;for(t<e&&(i=-1);4294967296<Math.abs(t-e);)e+=8589934592*i;return e}function Le(e){var t,i;Le.prototype.init.call(this),this.type_=e||\"shared\",this.push=function(e){\"shared\"!==this.type_&&e.type!==this.type_||(void 0===i&&(i=e.dts),e.dts=Pe(e.dts,i),e.pts=Pe(e.pts,i),t=e.dts,this.trigger(\"data\",e))},this.flush=function(){i=t,this.trigger(\"done\")},this.endTimeline=function(){this.flush(),this.trigger(\"endedtimeline\")},this.discontinuity=function(){t=i=void 0},this.reset=function(){this.discontinuity(),this.trigger(\"reset\")}}var Oe={CaptionStream:z,Cea608Stream:Ie},De={H264_STREAM_TYPE:27,ADTS_STREAM_TYPE:15,METADATA_STREAM_TYPE:21};Le.prototype=new H;function Ne(e,t,i){var n,r=\"\";for(n=t;n<i;n++)r+=\"%\"+(\"00\"+e[n].toString(16)).slice(-2);return r}function Re(e,t,i){return decodeURIComponent(Ne(e,t,i))}function Ue(e){return e[0]<<21|e[1]<<14|e[2]<<7|e[3]}var Me,Be=Le,je={TXXX:function(e){var t;if(3===e.data[0]){for(t=1;t<e.data.length;t++)if(0===e.data[t]){e.description=Re(e.data,1,t),e.value=Re(e.data,t+1,e.data.length).replace(/\\0*$/,\"\");break}e.data=e.value}},WXXX:function(e){var t;if(3===e.data[0])for(t=1;t<e.data.length;t++)if(0===e.data[t]){e.description=Re(e.data,1,t),e.url=Re(e.data,t+1,e.data.length);break}},PRIV:function(e){var t,i;for(t=0;t<e.data.length;t++)if(0===e.data[t]){e.owner=(i=e.data,unescape(Ne(i,0,t)));break}e.privateData=e.data.subarray(t+1),e.data=e.privateData}};(Me=function(e){var t,u={debug:!(!e||!e.debug),descriptor:e&&e.descriptor},l=0,c=[],h=0;if(Me.prototype.init.call(this),this.dispatchType=De.METADATA_STREAM_TYPE.toString(16),u.descriptor)for(t=0;t<u.descriptor.length;t++)this.dispatchType+=(\"00\"+u.descriptor[t].toString(16)).slice(-2);this.push=function(e){var t,i,n,r,s;if(\"timed-metadata\"===e.type)if(e.dataAlignmentIndicator&&(h=0,c.length=0),0===c.length&&(e.data.length<10||e.data[0]!==\"I\".charCodeAt(0)||e.data[1]!==\"D\".charCodeAt(0)||e.data[2]!==\"3\".charCodeAt(0)))u.debug;else if(c.push(e),h+=e.data.byteLength,1===c.length&&(l=Ue(e.data.subarray(6,10)),l+=10),!(h<l)){for(t={data:new Uint8Array(l),frames:[],pts:c[0].pts,dts:c[0].dts},s=0;s<l;)t.data.set(c[0].data.subarray(0,l-s),s),s+=c[0].data.byteLength,h-=c[0].data.byteLength,c.shift();i=10,64&t.data[5]&&(i+=4,i+=Ue(t.data.subarray(10,14)),l-=Ue(t.data.subarray(16,20)));do{if((n=Ue(t.data.subarray(i+4,i+8)))<1)return;if((r={id:String.fromCharCode(t.data[i],t.data[i+1],t.data[i+2],t.data[i+3]),data:t.data.subarray(i+10,i+n+10)}).key=r.id,je[r.id]&&(je[r.id](r),\"com.apple.streaming.transportStreamTimestamp\"===r.owner)){var a=r.data,o=(1&a[3])<<30|a[4]<<22|a[5]<<14|a[6]<<6|a[7]>>>2;o*=4,o+=3&a[7],r.timeStamp=o,void 0===t.pts&&void 0===t.dts&&(t.pts=r.timeStamp,t.dts=r.timeStamp),this.trigger(\"timestamp\",r)}t.frames.push(r),i+=10,i+=n}while(i<l);this.trigger(\"data\",t)}}}).prototype=new H;var Fe,He,Ve,qe=Me,We=Be;(Fe=function(){var r=new Uint8Array(188),s=0;Fe.prototype.init.call(this),this.push=function(e){var t,i=0,n=188;for(s?((t=new Uint8Array(e.byteLength+s)).set(r.subarray(0,s)),t.set(e,s),s=0):t=e;n<t.byteLength;)71!==t[i]||71!==t[n]?(i++,n++):(this.trigger(\"data\",t.subarray(i,n)),i+=188,n+=188);i<t.byteLength&&(r.set(t.subarray(i),0),s=t.byteLength-i)},this.flush=function(){188===s&&71===r[0]&&(this.trigger(\"data\",r),s=0),this.trigger(\"done\")},this.endTimeline=function(){this.flush(),this.trigger(\"endedtimeline\")},this.reset=function(){s=0,this.trigger(\"reset\")}}).prototype=new H,(He=function(){var n,r,s,a;He.prototype.init.call(this),(a=this).packetsWaitingForPmt=[],this.programMapTable=void 0,n=function(e,t){var i=0;t.payloadUnitStartIndicator&&(i+=e[i]+1),\"pat\"===t.type?r(e.subarray(i),t):s(e.subarray(i),t)},r=function(e,t){t.section_number=e[7],t.last_section_number=e[8],a.pmtPid=(31&e[10])<<8|e[11],t.pmtPid=a.pmtPid},s=function(e,t){var i,n;if(1&e[5]){for(a.programMapTable={video:null,audio:null,\"timed-metadata\":{}},i=3+((15&e[1])<<8|e[2])-4,n=12+((15&e[10])<<8|e[11]);n<i;){var r=e[n],s=(31&e[n+1])<<8|e[n+2];r===De.H264_STREAM_TYPE&&null===a.programMapTable.video?a.programMapTable.video=s:r===De.ADTS_STREAM_TYPE&&null===a.programMapTable.audio?a.programMapTable.audio=s:r===De.METADATA_STREAM_TYPE&&(a.programMapTable[\"timed-metadata\"][s]=r),n+=5+((15&e[n+3])<<8|e[n+4])}t.programMapTable=a.programMapTable}},this.push=function(e){var t={},i=4;if(t.payloadUnitStartIndicator=!!(64&e[1]),t.pid=31&e[1],t.pid<<=8,t.pid|=e[2],1<(48&e[3])>>>4&&(i+=e[i]+1),0===t.pid)t.type=\"pat\",n(e.subarray(i),t),this.trigger(\"data\",t);else if(t.pid===this.pmtPid)for(t.type=\"pmt\",n(e.subarray(i),t),this.trigger(\"data\",t);this.packetsWaitingForPmt.length;)this.processPes_.apply(this,this.packetsWaitingForPmt.shift());else void 0===this.programMapTable?this.packetsWaitingForPmt.push([e,i,t]):this.processPes_(e,i,t)},this.processPes_=function(e,t,i){i.pid===this.programMapTable.video?i.streamType=De.H264_STREAM_TYPE:i.pid===this.programMapTable.audio?i.streamType=De.ADTS_STREAM_TYPE:i.streamType=this.programMapTable[\"timed-metadata\"][i.pid],i.type=\"pes\",i.data=e.subarray(t),this.trigger(\"data\",i)}}).prototype=new H,He.STREAM_TYPES={h264:27,adts:15},(Ve=function(){function n(e,t,i){var n,r,s=new Uint8Array(e.size),a={type:t},o=0,u=0;if(e.data.length&&!(e.size<9)){for(a.trackId=e.data[0].pid,o=0;o<e.data.length;o++)r=e.data[o],s.set(r.data,u),u+=r.data.byteLength;!function(e,t){var i;t.packetLength=6+(e[4]<<8|e[5]),t.dataAlignmentIndicator=0!=(4&e[6]),192&(i=e[7])&&(t.pts=(14&e[9])<<27|(255&e[10])<<20|(254&e[11])<<12|(255&e[12])<<5|(254&e[13])>>>3,t.pts*=4,t.pts+=(6&e[13])>>>1,t.dts=t.pts,64&i&&(t.dts=(14&e[14])<<27|(255&e[15])<<20|(254&e[16])<<12|(255&e[17])<<5|(254&e[18])>>>3,t.dts*=4,t.dts+=(6&e[18])>>>1)),t.data=e.subarray(9+e[8])}(s,a),n=\"video\"===t||a.packetLength<=e.size,(i||n)&&(e.size=0,e.data.length=0),n&&l.trigger(\"data\",a)}}var t,l=this,r={data:[],size:0},s={data:[],size:0},a={data:[],size:0};Ve.prototype.init.call(this),this.push=function(i){({pat:function(){},pes:function(){var e,t;switch(i.streamType){case De.H264_STREAM_TYPE:case De.H264_STREAM_TYPE:e=r,t=\"video\";break;case De.ADTS_STREAM_TYPE:e=s,t=\"audio\";break;case De.METADATA_STREAM_TYPE:e=a,t=\"timed-metadata\";break;default:return}i.payloadUnitStartIndicator&&n(e,t,!0),e.data.push(i),e.size+=i.data.byteLength},pmt:function(){var e={type:\"metadata\",tracks:[]};null!==(t=i.programMapTable).video&&e.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+t.video,codec:\"avc\",type:\"video\"}),null!==t.audio&&e.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+t.audio,codec:\"adts\",type:\"audio\"}),l.trigger(\"data\",e)}})[i.type]()},this.reset=function(){r.size=0,r.data.length=0,s.size=0,s.data.length=0,this.trigger(\"reset\")},this.flushStreams_=function(){n(r,\"video\"),n(s,\"audio\"),n(a,\"timed-metadata\")},this.flush=function(){this.flushStreams_(),this.trigger(\"done\")}}).prototype=new H;var ze={PAT_PID:0,MP2T_PACKET_LENGTH:188,TransportPacketStream:Fe,TransportParseStream:He,ElementaryStream:Ve,TimestampRolloverStream:We,CaptionStream:Oe.CaptionStream,Cea608Stream:Oe.Cea608Stream,MetadataStream:qe};for(var Ge in De)De.hasOwnProperty(Ge)&&(ze[Ge]=De[Ge]);var Xe,Ke=ze,Ye=le,$e=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];(Xe=function(u){var l,c=0;Xe.prototype.init.call(this),this.push=function(e){var t,i,n,r,s,a,o=0;if(u||(c=0),\"audio\"===e.type)for(l?(r=l,(l=new Uint8Array(r.byteLength+e.data.byteLength)).set(r),l.set(e.data,r.byteLength)):l=e.data;o+5<l.length;)if(255===l[o]&&240==(246&l[o+1])){if(i=2*(1&~l[o+1]),t=(3&l[o+3])<<11|l[o+4]<<3|(224&l[o+5])>>5,a=(s=1024*(1+(3&l[o+6])))*Ye/$e[(60&l[o+2])>>>2],n=o+t,l.byteLength<n)return;if(this.trigger(\"data\",{pts:e.pts+c*a,dts:e.dts+c*a,sampleCount:s,audioobjecttype:1+(l[o+2]>>>6&3),channelcount:(1&l[o+2])<<2|(192&l[o+3])>>>6,samplerate:$e[(60&l[o+2])>>>2],samplingfrequencyindex:(60&l[o+2])>>>2,samplesize:16,data:l.subarray(o+7+i,n)}),c++,l.byteLength===n)return void(l=void 0);l=l.subarray(n)}else o++},this.flush=function(){c=0,this.trigger(\"done\")},this.reset=function(){l=void 0,this.trigger(\"reset\")},this.endTimeline=function(){l=void 0,this.trigger(\"endedtimeline\")}}).prototype=new H;var Qe,Je,Ze,et=Xe,tt=function(n){var r=n.byteLength,s=0,a=0;this.length=function(){return 8*r},this.bitsAvailable=function(){return 8*r+a},this.loadWord=function(){var e=n.byteLength-r,t=new Uint8Array(4),i=Math.min(4,r);if(0===i)throw new Error(\"no bytes available\");t.set(n.subarray(e,e+i)),s=new DataView(t.buffer).getUint32(0),a=8*i,r-=i},this.skipBits=function(e){var t;e<a||(e-=a,e-=8*(t=Math.floor(e/8)),r-=t,this.loadWord()),s<<=e,a-=e},this.readBits=function(e){var t=Math.min(a,e),i=s>>>32-t;return 0<(a-=t)?s<<=t:0<r&&this.loadWord(),0<(t=e-t)?i<<t|this.readBits(t):i},this.skipLeadingZeros=function(){var e;for(e=0;e<a;++e)if(0!=(s&2147483648>>>e))return s<<=e,a-=e,e;return this.loadWord(),e+this.skipLeadingZeros()},this.skipUnsignedExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.skipExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.readUnsignedExpGolomb=function(){var e=this.skipLeadingZeros();return this.readBits(e+1)-1},this.readExpGolomb=function(){var e=this.readUnsignedExpGolomb();return 1&e?1+e>>>1:-1*(e>>>1)},this.readBoolean=function(){return 1===this.readBits(1)},this.readUnsignedByte=function(){return this.readBits(8)},this.loadWord()};(Je=function(){var n,r,s=0;Je.prototype.init.call(this),this.push=function(e){for(var t,i=(r=r?((t=new Uint8Array(r.byteLength+e.data.byteLength)).set(r),t.set(e.data,r.byteLength),t):e.data).byteLength;s<i-3;s++)if(1===r[s+2]){n=s+5;break}for(;n<i;)switch(r[n]){case 0:if(0!==r[n-1]){n+=2;break}if(0!==r[n-2]){n++;break}for(s+3!==n-2&&this.trigger(\"data\",r.subarray(s+3,n-2));1!==r[++n]&&n<i;);s=n-2,n+=3;break;case 1:if(0!==r[n-1]||0!==r[n-2]){n+=3;break}this.trigger(\"data\",r.subarray(s+3,n-2)),s=n-2,n+=3;break;default:n+=3}r=r.subarray(s),n-=s,s=0},this.reset=function(){r=null,s=0,this.trigger(\"reset\")},this.flush=function(){r&&3<r.byteLength&&this.trigger(\"data\",r.subarray(s+3)),r=null,s=0,this.trigger(\"done\")},this.endTimeline=function(){this.flush(),this.trigger(\"endedtimeline\")}}).prototype=new H,Ze={100:!0,110:!0,122:!0,244:!0,44:!0,83:!0,86:!0,118:!0,128:!0,138:!0,139:!0,134:!0},(Qe=function(){var i,n,r,s,a,o,_,t=new Je;Qe.prototype.init.call(this),(i=this).push=function(e){\"video\"===e.type&&(n=e.trackId,r=e.pts,s=e.dts,t.push(e))},t.on(\"data\",function(e){var t={trackId:n,pts:r,dts:s,data:e};switch(31&e[0]){case 5:t.nalUnitType=\"slice_layer_without_partitioning_rbsp_idr\";break;case 6:t.nalUnitType=\"sei_rbsp\",t.escapedRBSP=a(e.subarray(1));break;case 7:t.nalUnitType=\"seq_parameter_set_rbsp\",t.escapedRBSP=a(e.subarray(1)),t.config=o(t.escapedRBSP);break;case 8:t.nalUnitType=\"pic_parameter_set_rbsp\";break;case 9:t.nalUnitType=\"access_unit_delimiter_rbsp\"}i.trigger(\"data\",t)}),t.on(\"done\",function(){i.trigger(\"done\")}),t.on(\"partialdone\",function(){i.trigger(\"partialdone\")}),t.on(\"reset\",function(){i.trigger(\"reset\")}),t.on(\"endedtimeline\",function(){i.trigger(\"endedtimeline\")}),this.flush=function(){t.flush()},this.partialFlush=function(){t.partialFlush()},this.reset=function(){t.reset()},this.endTimeline=function(){t.endTimeline()},_=function(e,t){var i,n=8,r=8;for(i=0;i<e;i++)0!==r&&(r=(n+t.readExpGolomb()+256)%256),n=0===r?n:r},a=function(e){for(var t,i,n=e.byteLength,r=[],s=1;s<n-2;)0===e[s]&&0===e[s+1]&&3===e[s+2]?(r.push(s+2),s+=2):s++;if(0===r.length)return e;t=n-r.length,i=new Uint8Array(t);var a=0;for(s=0;s<t;a++,s++)a===r[0]&&(a++,r.shift()),i[s]=e[a];return i},o=function(e){var t,i,n,r,s,a,o,u,l,c,h,d,p,f=0,m=0,g=0,v=0,y=1;if(i=(t=new tt(e)).readUnsignedByte(),r=t.readUnsignedByte(),n=t.readUnsignedByte(),t.skipUnsignedExpGolomb(),Ze[i]&&(3===(s=t.readUnsignedExpGolomb())&&t.skipBits(1),t.skipUnsignedExpGolomb(),t.skipUnsignedExpGolomb(),t.skipBits(1),t.readBoolean()))for(h=3!==s?8:12,p=0;p<h;p++)t.readBoolean()&&_(p<6?16:64,t);if(t.skipUnsignedExpGolomb(),0===(a=t.readUnsignedExpGolomb()))t.readUnsignedExpGolomb();else if(1===a)for(t.skipBits(1),t.skipExpGolomb(),t.skipExpGolomb(),o=t.readUnsignedExpGolomb(),p=0;p<o;p++)t.skipExpGolomb();if(t.skipUnsignedExpGolomb(),t.skipBits(1),u=t.readUnsignedExpGolomb(),l=t.readUnsignedExpGolomb(),0===(c=t.readBits(1))&&t.skipBits(1),t.skipBits(1),t.readBoolean()&&(f=t.readUnsignedExpGolomb(),m=t.readUnsignedExpGolomb(),g=t.readUnsignedExpGolomb(),v=t.readUnsignedExpGolomb()),t.readBoolean()&&t.readBoolean()){switch(t.readUnsignedByte()){case 1:d=[1,1];break;case 2:d=[12,11];break;case 3:d=[10,11];break;case 4:d=[16,11];break;case 5:d=[40,33];break;case 6:d=[24,11];break;case 7:d=[20,11];break;case 8:d=[32,11];break;case 9:d=[80,33];break;case 10:d=[18,11];break;case 11:d=[15,11];break;case 12:d=[64,33];break;case 13:d=[160,99];break;case 14:d=[4,3];break;case 15:d=[3,2];break;case 16:d=[2,1];break;case 255:d=[t.readUnsignedByte()<<8|t.readUnsignedByte(),t.readUnsignedByte()<<8|t.readUnsignedByte()]}d&&(y=d[0]/d[1])}return{profileIdc:i,levelIdc:n,profileCompatibility:r,width:Math.ceil((16*(u+1)-2*f-2*m)*y),height:(2-c)*(l+1)*16-2*g-2*v,sarRatio:d}}}).prototype=new H;var it,nt={H264Stream:Qe,NalByteStream:Je},rt=function(e){return e[0]===\"I\".charCodeAt(0)&&e[1]===\"D\".charCodeAt(0)&&e[2]===\"3\".charCodeAt(0)},st=function(e,t){var i=e[t+6]<<21|e[t+7]<<14|e[t+8]<<7|e[t+9];return(16&e[t+5])>>4?20+i:10+i},at=function(e,t){var i=(224&e[t+5])>>5,n=e[t+4]<<3;return 6144&e[t+3]|n|i};(it=function(){var o=new Uint8Array,u=0;it.prototype.init.call(this),this.setTimestamp=function(e){u=e},this.push=function(e){var t,i,n,r,s=0,a=0;for(o.length?(r=o.length,(o=new Uint8Array(e.byteLength+r)).set(o.subarray(0,r)),o.set(e,r)):o=e;3<=o.length-a;)if(o[a]!==\"I\".charCodeAt(0)||o[a+1]!==\"D\".charCodeAt(0)||o[a+2]!==\"3\".charCodeAt(0))if(255!=(255&o[a])||240!=(240&o[a+1]))a++;else{if(o.length-a<7)break;if(a+(s=at(o,a))>o.length)break;n={type:\"audio\",data:o.subarray(a,a+s),pts:u,dts:u},this.trigger(\"data\",n),a+=s}else{if(o.length-a<10)break;if(a+(s=st(o,a))>o.length)break;i={type:\"timed-metadata\",data:o.subarray(a,a+s)},this.trigger(\"data\",i),a+=s}t=o.length-a,o=0<t?o.subarray(a):new Uint8Array},this.reset=function(){o=new Uint8Array,this.trigger(\"reset\")},this.endTimeline=function(){o=new Uint8Array,this.trigger(\"endedtimeline\")}}).prototype=new H;function ot(e,t){var i;if(e.length!==t.length)return!1;for(i=0;i<e.length;i++)if(e[i]!==t[i])return!1;return!0}function ut(e,t,i,n,r,s){return{start:{dts:e,pts:e+(i-t)},end:{dts:e+(n-t),pts:e+(r-i)},prependedContentDuration:s,baseMediaDecodeTime:e}}var lt,ct,ht,dt,pt=it,ft=nt.H264Stream,mt=rt,gt=le,vt=[\"audioobjecttype\",\"channelcount\",\"samplerate\",\"samplingfrequencyindex\",\"samplesize\"],yt=[\"width\",\"height\",\"profileIdc\",\"levelIdc\",\"profileCompatibility\",\"sarRatio\"];(ct=function(s,a){var o=[],u=0,l=0,c=0,h=1/0;a=a||{},ct.prototype.init.call(this),this.push=function(t){be(s,t),s&&vt.forEach(function(e){s[e]=t[e]}),o.push(t)},this.setEarliestDts=function(e){l=e-s.timelineStartInfo.baseMediaDecodeTime},this.setVideoBaseMediaDecodeTime=function(e){h=e},this.setAudioAppendStart=function(e){c=e},this.flush=function(){var e,t,i,n,r;0!==o.length&&(e=fe(o,s,l),s.baseMediaDecodeTime=_e(s,a.keepOriginalTimestamps),pe(s,e,c,h),s.samples=me(e),i=Q(ge(e)),o=[],t=J(u,[s]),n=new Uint8Array(t.byteLength+i.byteLength),u++,n.set(t),n.set(i,t.byteLength),ye(s),r=Math.ceil(1024*gt/s.samplerate),e.length&&this.trigger(\"timingInfo\",{start:e[0].pts,end:e[0].pts+e.length*r}),this.trigger(\"data\",{track:s,boxes:n})),this.trigger(\"done\",\"AudioSegmentStream\")},this.reset=function(){ye(s),o=[],this.trigger(\"reset\")}}).prototype=new H,(lt=function(c,h){var t,i,d=0,p=[],f=[];h=h||{},lt.prototype.init.call(this),delete c.minPTS,this.gopCache_=[],this.push=function(e){be(c,e),\"seq_parameter_set_rbsp\"!==e.nalUnitType||t||(t=e.config,c.sps=[e.data],yt.forEach(function(e){c[e]=t[e]},this)),\"pic_parameter_set_rbsp\"!==e.nalUnitType||i||(i=e.data,c.pps=[e.data]),p.push(e)},this.flush=function(){for(var e,t,i,n,r,s,a,o,u=0;p.length&&\"access_unit_delimiter_rbsp\"!==p[0].nalUnitType;)p.shift();if(0===p.length)return this.resetStream_(),void this.trigger(\"done\",\"VideoSegmentStream\");if(e=ee(p),(i=te(e))[0][0].keyFrame||((t=this.getGopForFusion_(p[0],c))?(u=t.duration,i.unshift(t),i.byteLength+=t.byteLength,i.nalCount+=t.nalCount,i.pts=t.pts,i.dts=t.dts,i.duration+=t.duration):i=ie(i)),f.length){var l;if(!(l=h.alignGopsAtEnd?this.alignGopsAtEnd_(i):this.alignGopsAtStart_(i)))return this.gopCache_.unshift({gop:i.pop(),pps:c.pps,sps:c.sps}),this.gopCache_.length=Math.min(6,this.gopCache_.length),p=[],this.resetStream_(),void this.trigger(\"done\",\"VideoSegmentStream\");ye(c),i=l}be(c,i),c.samples=ne(i),r=Q(re(i)),c.baseMediaDecodeTime=_e(c,h.keepOriginalTimestamps),this.trigger(\"processedGopsInfo\",i.map(function(e){return{pts:e.pts,dts:e.dts,byteLength:e.byteLength}})),a=i[0],o=i[i.length-1],this.trigger(\"segmentTimingInfo\",ut(c.baseMediaDecodeTime,a.dts,a.pts,o.dts+o.duration,o.pts+o.duration,u)),this.trigger(\"timingInfo\",{start:i[0].pts,end:i[i.length-1].pts+i[i.length-1].duration}),this.gopCache_.unshift({gop:i.pop(),pps:c.pps,sps:c.sps}),this.gopCache_.length=Math.min(6,this.gopCache_.length),p=[],this.trigger(\"baseMediaDecodeTime\",c.baseMediaDecodeTime),this.trigger(\"timelineStartInfo\",c.timelineStartInfo),n=J(d,[c]),s=new Uint8Array(n.byteLength+r.byteLength),d++,s.set(n),s.set(r,n.byteLength),this.trigger(\"data\",{track:c,boxes:s}),this.resetStream_(),this.trigger(\"done\",\"VideoSegmentStream\")},this.reset=function(){this.resetStream_(),p=[],this.gopCache_.length=0,f.length=0,this.trigger(\"reset\")},this.resetStream_=function(){ye(c),i=t=void 0},this.getGopForFusion_=function(e){var t,i,n,r,s,a=1/0;for(s=0;s<this.gopCache_.length;s++)n=(r=this.gopCache_[s]).gop,c.pps&&ot(c.pps[0],r.pps[0])&&c.sps&&ot(c.sps[0],r.sps[0])&&(n.dts<c.timelineStartInfo.dts||-1e4<=(t=e.dts-n.dts-n.duration)&&t<=45e3&&(!i||t<a)&&(i=r,a=t));return i?i.gop:null},this.alignGopsAtStart_=function(e){var t,i,n,r,s,a,o,u;for(s=e.byteLength,a=e.nalCount,o=e.duration,t=i=0;t<f.length&&i<e.length&&(n=f[t],r=e[i],n.pts!==r.pts);)r.pts>n.pts?t++:(i++,s-=r.byteLength,a-=r.nalCount,o-=r.duration);return 0===i?e:i===e.length?null:((u=e.slice(i)).byteLength=s,u.duration=o,u.nalCount=a,u.pts=u[0].pts,u.dts=u[0].dts,u)},this.alignGopsAtEnd_=function(e){var t,i,n,r,s,a,o;for(t=f.length-1,i=e.length-1,s=null,a=!1;0<=t&&0<=i;){if(n=f[t],r=e[i],n.pts===r.pts){a=!0;break}n.pts>r.pts?t--:(t===f.length-1&&(s=i),i--)}if(!a&&null===s)return null;if(0===(o=a?i:s))return e;var u=e.slice(o),l=u.reduce(function(e,t){return e.byteLength+=t.byteLength,e.duration+=t.duration,e.nalCount+=t.nalCount,e},{byteLength:0,duration:0,nalCount:0});return u.byteLength=l.byteLength,u.duration=l.duration,u.nalCount=l.nalCount,u.pts=u[0].pts,u.dts=u[0].dts,u},this.alignGopsWith=function(e){f=e}}).prototype=new H,(dt=function(e,t){this.numberOfTracks=0,this.metadataStream=t,\"undefined\"!=typeof(e=e||{}).remux?this.remuxTracks=!!e.remux:this.remuxTracks=!0,\"boolean\"==typeof e.keepOriginalTimestamps?this.keepOriginalTimestamps=e.keepOriginalTimestamps:this.keepOriginalTimestamps=!1,this.pendingTracks=[],this.videoTrack=null,this.pendingBoxes=[],this.pendingCaptions=[],this.pendingMetadata=[],this.pendingBytes=0,this.emittedTracks=0,dt.prototype.init.call(this),this.push=function(e){return e.text?this.pendingCaptions.push(e):e.frames?this.pendingMetadata.push(e):(this.pendingTracks.push(e.track),this.pendingBytes+=e.boxes.byteLength,\"video\"===e.track.type&&(this.videoTrack=e.track,this.pendingBoxes.push(e.boxes)),void(\"audio\"===e.track.type&&(this.audioTrack=e.track,this.pendingBoxes.unshift(e.boxes))))}}).prototype=new H,dt.prototype.flush=function(e){var t,i,n,r,s=0,a={captions:[],captionStreams:{},metadata:[],info:{}},o=0;if(this.pendingTracks.length<this.numberOfTracks){if(\"VideoSegmentStream\"!==e&&\"AudioSegmentStream\"!==e)return;if(this.remuxTracks)return;if(0===this.pendingTracks.length)return this.emittedTracks++,void(this.emittedTracks>=this.numberOfTracks&&(this.trigger(\"done\"),this.emittedTracks=0))}if(this.videoTrack?(o=this.videoTrack.timelineStartInfo.pts,yt.forEach(function(e){a.info[e]=this.videoTrack[e]},this)):this.audioTrack&&(o=this.audioTrack.timelineStartInfo.pts,vt.forEach(function(e){a.info[e]=this.audioTrack[e]},this)),this.videoTrack||this.audioTrack){for(1===this.pendingTracks.length?a.type=this.pendingTracks[0].type:a.type=\"combined\",this.emittedTracks+=this.pendingTracks.length,n=Z(this.pendingTracks),a.initSegment=new Uint8Array(n.byteLength),a.initSegment.set(n),a.data=new Uint8Array(this.pendingBytes),r=0;r<this.pendingBoxes.length;r++)a.data.set(this.pendingBoxes[r],s),s+=this.pendingBoxes[r].byteLength;for(r=0;r<this.pendingCaptions.length;r++)(t=this.pendingCaptions[r]).startTime=de(t.startPts,o,this.keepOriginalTimestamps),t.endTime=de(t.endPts,o,this.keepOriginalTimestamps),a.captionStreams[t.stream]=!0,a.captions.push(t);for(r=0;r<this.pendingMetadata.length;r++)(i=this.pendingMetadata[r]).cueTime=de(i.pts,o,this.keepOriginalTimestamps),a.metadata.push(i);for(a.metadata.dispatchType=this.metadataStream.dispatchType,this.pendingTracks.length=0,this.videoTrack=null,this.pendingBoxes.length=0,this.pendingCaptions.length=0,this.pendingBytes=0,this.pendingMetadata.length=0,this.trigger(\"data\",a),r=0;r<a.captions.length;r++)t=a.captions[r],this.trigger(\"caption\",t);for(r=0;r<a.metadata.length;r++)i=a.metadata[r],this.trigger(\"id3Frame\",i)}this.emittedTracks>=this.numberOfTracks&&(this.trigger(\"done\"),this.emittedTracks=0)},dt.prototype.setRemux=function(e){this.remuxTracks=e},(ht=function(n){var r,s,a=this,i=!0;ht.prototype.init.call(this),n=n||{},this.baseMediaDecodeTime=n.baseMediaDecodeTime||0,this.transmuxPipeline_={},this.setupAacPipeline=function(){var t={};(this.transmuxPipeline_=t).type=\"aac\",t.metadataStream=new Ke.MetadataStream,t.aacStream=new pt,t.audioTimestampRolloverStream=new Ke.TimestampRolloverStream(\"audio\"),t.timedMetadataTimestampRolloverStream=new Ke.TimestampRolloverStream(\"timed-metadata\"),t.adtsStream=new et,t.coalesceStream=new dt(n,t.metadataStream),t.headOfPipeline=t.aacStream,t.aacStream.pipe(t.audioTimestampRolloverStream).pipe(t.adtsStream),t.aacStream.pipe(t.timedMetadataTimestampRolloverStream).pipe(t.metadataStream).pipe(t.coalesceStream),t.metadataStream.on(\"timestamp\",function(e){t.aacStream.setTimestamp(e.timeStamp)}),t.aacStream.on(\"data\",function(e){\"timed-metadata\"!==e.type||t.audioSegmentStream||(s=s||{timelineStartInfo:{baseMediaDecodeTime:a.baseMediaDecodeTime},codec:\"adts\",type:\"audio\"},t.coalesceStream.numberOfTracks++,t.audioSegmentStream=new ct(s,n),t.audioSegmentStream.on(\"timingInfo\",a.trigger.bind(a,\"audioTimingInfo\")),t.adtsStream.pipe(t.audioSegmentStream).pipe(t.coalesceStream)),a.trigger(\"trackinfo\",{hasAudio:!!s,hasVideo:!!r})}),t.coalesceStream.on(\"data\",this.trigger.bind(this,\"data\")),t.coalesceStream.on(\"done\",this.trigger.bind(this,\"done\"))},this.setupTsPipeline=function(){var i={};(this.transmuxPipeline_=i).type=\"ts\",i.metadataStream=new Ke.MetadataStream,i.packetStream=new Ke.TransportPacketStream,i.parseStream=new Ke.TransportParseStream,i.elementaryStream=new Ke.ElementaryStream,i.timestampRolloverStream=new Ke.TimestampRolloverStream,i.adtsStream=new et,i.h264Stream=new ft,i.captionStream=new Ke.CaptionStream,i.coalesceStream=new dt(n,i.metadataStream),i.headOfPipeline=i.packetStream,i.packetStream.pipe(i.parseStream).pipe(i.elementaryStream).pipe(i.timestampRolloverStream),i.timestampRolloverStream.pipe(i.h264Stream),i.timestampRolloverStream.pipe(i.adtsStream),i.timestampRolloverStream.pipe(i.metadataStream).pipe(i.coalesceStream),i.h264Stream.pipe(i.captionStream).pipe(i.coalesceStream),i.elementaryStream.on(\"data\",function(e){var t;if(\"metadata\"===e.type){for(t=e.tracks.length;t--;)r||\"video\"!==e.tracks[t].type?s||\"audio\"!==e.tracks[t].type||((s=e.tracks[t]).timelineStartInfo.baseMediaDecodeTime=a.baseMediaDecodeTime):(r=e.tracks[t]).timelineStartInfo.baseMediaDecodeTime=a.baseMediaDecodeTime;r&&!i.videoSegmentStream&&(i.coalesceStream.numberOfTracks++,i.videoSegmentStream=new lt(r,n),i.videoSegmentStream.on(\"timelineStartInfo\",function(e){s&&(s.timelineStartInfo=e,i.audioSegmentStream.setEarliestDts(e.dts))}),i.videoSegmentStream.on(\"processedGopsInfo\",a.trigger.bind(a,\"gopInfo\")),i.videoSegmentStream.on(\"segmentTimingInfo\",a.trigger.bind(a,\"videoSegmentTimingInfo\")),i.videoSegmentStream.on(\"baseMediaDecodeTime\",function(e){s&&i.audioSegmentStream.setVideoBaseMediaDecodeTime(e)}),i.videoSegmentStream.on(\"timingInfo\",a.trigger.bind(a,\"videoTimingInfo\")),i.h264Stream.pipe(i.videoSegmentStream).pipe(i.coalesceStream)),s&&!i.audioSegmentStream&&(i.coalesceStream.numberOfTracks++,i.audioSegmentStream=new ct(s,n),i.audioSegmentStream.on(\"timingInfo\",a.trigger.bind(a,\"audioTimingInfo\")),i.adtsStream.pipe(i.audioSegmentStream).pipe(i.coalesceStream)),a.trigger(\"trackinfo\",{hasAudio:!!s,hasVideo:!!r})}}),i.coalesceStream.on(\"data\",this.trigger.bind(this,\"data\")),i.coalesceStream.on(\"id3Frame\",function(e){e.dispatchType=i.metadataStream.dispatchType,a.trigger(\"id3Frame\",e)}),i.coalesceStream.on(\"caption\",this.trigger.bind(this,\"caption\")),i.coalesceStream.on(\"done\",this.trigger.bind(this,\"done\"))},this.setBaseMediaDecodeTime=function(e){var t=this.transmuxPipeline_;n.keepOriginalTimestamps||(this.baseMediaDecodeTime=e),s&&(s.timelineStartInfo.dts=void 0,s.timelineStartInfo.pts=void 0,ye(s),n.keepOriginalTimestamps||(s.timelineStartInfo.baseMediaDecodeTime=e),t.audioTimestampRolloverStream&&t.audioTimestampRolloverStream.discontinuity()),r&&(t.videoSegmentStream&&(t.videoSegmentStream.gopCache_=[]),r.timelineStartInfo.dts=void 0,r.timelineStartInfo.pts=void 0,ye(r),t.captionStream.reset(),n.keepOriginalTimestamps||(r.timelineStartInfo.baseMediaDecodeTime=e)),t.timestampRolloverStream&&t.timestampRolloverStream.discontinuity()},this.setAudioAppendStart=function(e){s&&this.transmuxPipeline_.audioSegmentStream.setAudioAppendStart(e)},this.setRemux=function(e){var t=this.transmuxPipeline_;n.remux=e,t&&t.coalesceStream&&t.coalesceStream.setRemux(e)},this.alignGopsWith=function(e){r&&this.transmuxPipeline_.videoSegmentStream&&this.transmuxPipeline_.videoSegmentStream.alignGopsWith(e)},this.push=function(e){if(i){var t=mt(e);t&&\"aac\"!==this.transmuxPipeline_.type?this.setupAacPipeline():t||\"ts\"===this.transmuxPipeline_.type||this.setupTsPipeline(),i=!1}this.transmuxPipeline_.headOfPipeline.push(e)},this.flush=function(){i=!0,this.transmuxPipeline_.headOfPipeline.flush()},this.endTimeline=function(){this.transmuxPipeline_.headOfPipeline.endTimeline()},this.reset=function(){this.transmuxPipeline_.headOfPipeline&&this.transmuxPipeline_.headOfPipeline.reset()},this.resetCaptions=function(){this.transmuxPipeline_.captionStream&&this.transmuxPipeline_.captionStream.reset()}}).prototype=new H;var _t={Transmuxer:ht,VideoSegmentStream:lt,AudioSegmentStream:ct,AUDIO_PROPERTIES:vt,VIDEO_PROPERTIES:yt,generateVideoSegmentTimingInfo:ut};function bt(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var Tt=(function(e,t,i){return t&&bt(e.prototype,t),i&&bt(e,i),e}(St,[{key:\"init\",value:function(){this.transmuxer&&this.transmuxer.dispose(),this.transmuxer=new _t.Transmuxer(this.options),function(n,e){e.on(\"data\",function(e){var t=e.initSegment;e.initSegment={data:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength};var i=e.data;e.data=i.buffer,n.postMessage({action:\"data\",segment:e,byteOffset:i.byteOffset,byteLength:i.byteLength},[e.data])}),e.captionStream&&e.captionStream.on(\"data\",function(e){n.postMessage({action:\"caption\",data:e})}),e.on(\"done\",function(e){n.postMessage({action:\"done\"})}),e.on(\"gopInfo\",function(e){n.postMessage({action:\"gopInfo\",gopInfo:e})}),e.on(\"videoSegmentTimingInfo\",function(e){n.postMessage({action:\"videoSegmentTimingInfo\",videoSegmentTimingInfo:e})})}(this.self,this.transmuxer)}},{key:\"push\",value:function(e){var t=new Uint8Array(e.data,e.byteOffset,e.byteLength);this.transmuxer.push(t)}},{key:\"reset\",value:function(){this.init()}},{key:\"setTimestampOffset\",value:function(e){var t=e.timestampOffset||0;this.transmuxer.setBaseMediaDecodeTime(Math.round(9e4*t))}},{key:\"setAudioAppendStart\",value:function(e){this.transmuxer.setAudioAppendStart(Math.ceil(9e4*e.appendStart))}},{key:\"flush\",value:function(e){this.transmuxer.flush()}},{key:\"resetCaptions\",value:function(){this.transmuxer.resetCaptions()}},{key:\"alignGopsWith\",value:function(e){this.transmuxer.alignGopsWith(e.gopsToAlignWith.slice())}}]),St);function St(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,St),this.options=t||{},this.self=e,this.init()}new function(t){t.onmessage=function(e){\"init\"===e.data.action&&e.data.options?this.messageHandlers=new Tt(t,e.data.options):(this.messageHandlers||(this.messageHandlers=new Tt(t)),e.data&&e.data.action&&\"init\"!==e.data.action&&this.messageHandlers[e.data.action]&&this.messageHandlers[e.data.action](e.data))}}(kt)}()}),Cc={videoCodec:\"avc1\",videoObjectTypeIndicator:\".4d400d\",audioProfile:\"2\"},wc=(ll(Ec,as.EventTarget),ol(Ec,[{key:\"data_\",value:function(e){var t=e.data.segment;t.data=new Uint8Array(t.data,e.data.byteOffset,e.data.byteLength),t.initSegment=new Uint8Array(t.initSegment.data,t.initSegment.byteOffset,t.initSegment.byteLength),function(e,t,i){var n=t.player_;if(i.captions&&i.captions.length)for(var r in e.inbandTextTracks_||(e.inbandTextTracks_={}),i.captionStreams)if(!e.inbandTextTracks_[r]){n.tech_.trigger({type:\"usage\",name:\"hls-608\"});var s=n.textTracks().getTrackById(r);e.inbandTextTracks_[r]=s||n.addRemoteTextTrack({kind:\"captions\",id:r,label:r},!1).track}i.metadata&&i.metadata.length&&!e.metadataTrack_&&(e.metadataTrack_=n.addRemoteTextTrack({kind:\"metadata\",label:\"Timed Metadata\"},!1).track,e.metadataTrack_.inBandMetadataTrackDispatchType=i.metadata.dispatchType)}(this,this.mediaSource_,t),this.pendingBuffers_.push(t)}},{key:\"done_\",value:function(e){\"closed\"!==this.mediaSource_.readyState?this.processPendingSegments_():this.pendingBuffers_.length=0}},{key:\"videoSegmentTimingInfo_\",value:function(e){var t={start:{decode:e.start.dts/9e4,presentation:e.start.pts/9e4},end:{decode:e.end.dts/9e4,presentation:e.end.pts/9e4},baseMediaDecodeTime:e.baseMediaDecodeTime/9e4};e.prependedContentDuration&&(t.prependedContentDuration=e.prependedContentDuration/9e4),this.trigger({type:\"videoSegmentTimingInfo\",videoSegmentTimingInfo:t})}},{key:\"createRealSourceBuffers_\",value:function(){var n=this,r=[\"audio\",\"video\"];r.forEach(function(t){if(n[t+\"Codec_\"]&&!n[t+\"Buffer_\"]){var i=null;if(n.mediaSource_[t+\"Buffer_\"])(i=n.mediaSource_[t+\"Buffer_\"]).updating=!1;else{var e=t+'/mp4;codecs=\"'+n[t+\"Codec_\"]+'\"';i=function(e,t){var i=e.addSourceBuffer(t),n=Object.create(null);function r(t){\"function\"==typeof i[t]?n[t]=function(){return i[t].apply(i,arguments)}:\"undefined\"==typeof n[t]&&Object.defineProperty(n,t,{get:function(){return i[t]},set:function(e){return i[t]=e}})}for(var s in n.updating=!1,n.realBuffer_=i)r(s);return n}(n.mediaSource_.nativeMediaSource_,e),n.mediaSource_[t+\"Buffer_\"]=i}n[t+\"Buffer_\"]=i,[\"update\",\"updatestart\",\"updateend\"].forEach(function(e){i.addEventListener(e,function(){if(\"audio\"!==t||!n.audioDisabled_)return\"updateend\"===e&&(n[t+\"Buffer_\"].updating=!1),r.every(function(e){return!(\"audio\"!==e||!n.audioDisabled_)||t===e||!n[e+\"Buffer_\"]||!n[e+\"Buffer_\"].updating})?n.trigger(e):void 0})})}})}},{key:\"appendBuffer\",value:function(e){if(this.bufferUpdating_=!0,this.audioBuffer_&&this.audioBuffer_.buffered.length){var t=this.audioBuffer_.buffered;this.transmuxer_.postMessage({action:\"setAudioAppendStart\",appendStart:t.end(t.length-1)})}this.videoBuffer_&&this.transmuxer_.postMessage({action:\"alignGopsWith\",gopsToAlignWith:function(e,t,i){if(\"undefined\"==typeof t||null===t||!e.length)return[];var n=Math.ceil(9e4*(t-i+3)),r=void 0;for(r=0;r<e.length&&!(e[r].pts>n);r++);return e.slice(r)}(this.gopBuffer_,this.mediaSource_.player_?this.mediaSource_.player_.currentTime():null,this.timeMapping_)}),this.transmuxer_.postMessage({action:\"push\",data:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength},[e.buffer]),this.transmuxer_.postMessage({action:\"flush\"})}},{key:\"appendGopInfo_\",value:function(e){this.gopBuffer_=function(e,t,i){if(!t.length)return e;if(i)return t.slice();for(var n=t[0].pts,r=0;r<e.length&&!(e[r].pts>=n);r++);return e.slice(0,r).concat(t)}(this.gopBuffer_,e.data.gopInfo,this.safeAppend_)}},{key:\"remove\",value:function(e,t){if(this.videoBuffer_&&(this.videoBuffer_.updating=!0,this.videoBuffer_.remove(e,t),this.gopBuffer_=function(e,t,i,n){for(var r=Math.ceil(9e4*(t-n)),s=Math.ceil(9e4*(i-n)),a=e.slice(),o=e.length;o--&&!(e[o].pts<=s););if(-1===o)return a;for(var u=o+1;u--&&!(e[u].pts<=r););return u=Math.max(u,0),a.splice(u,o-u+1),a}(this.gopBuffer_,e,t,this.timeMapping_)),!this.audioDisabled_&&this.audioBuffer_&&(this.audioBuffer_.updating=!0,this.audioBuffer_.remove(e,t)),Yl(e,t,this.metadataTrack_),this.inbandTextTracks_)for(var i in this.inbandTextTracks_)Yl(e,t,this.inbandTextTracks_[i])}},{key:\"processPendingSegments_\",value:function(){var e={video:{segments:[],bytes:0},audio:{segments:[],bytes:0},captions:[],metadata:[]};if(!this.pendingBuffers_.length)return this.trigger(\"updateend\"),void(this.bufferUpdating_=!1);e=this.pendingBuffers_.reduce(function(e,t){var i=t.type,n=t.data,r=t.initSegment;return e[i].segments.push(n),e[i].bytes+=n.byteLength,e[i].initSegment=r,t.captions&&(e.captions=e.captions.concat(t.captions)),t.info&&(e[i].info=t.info),t.metadata&&(e.metadata=e.metadata.concat(t.metadata)),e},e),this.videoBuffer_||this.audioBuffer_||(0===e.video.bytes&&(this.videoCodec_=null),0===e.audio.bytes&&(this.audioCodec_=null),this.createRealSourceBuffers_()),e.audio.info&&this.mediaSource_.trigger({type:\"audioinfo\",info:e.audio.info}),e.video.info&&this.mediaSource_.trigger({type:\"videoinfo\",info:e.video.info}),this.appendAudioInitSegment_&&(!this.audioDisabled_&&this.audioBuffer_&&(e.audio.segments.unshift(e.audio.initSegment),e.audio.bytes+=e.audio.initSegment.byteLength),this.appendAudioInitSegment_=!1);var t=!1;this.videoBuffer_&&e.video.bytes?(e.video.segments.unshift(e.video.initSegment),e.video.bytes+=e.video.initSegment.byteLength,this.concatAndAppendSegments_(e.video,this.videoBuffer_)):!this.videoBuffer_||!this.audioDisabled_&&this.audioBuffer_||(t=!0),Ql(this,e.captions,e.metadata),!this.audioDisabled_&&this.audioBuffer_&&this.concatAndAppendSegments_(e.audio,this.audioBuffer_),this.pendingBuffers_.length=0,t&&this.trigger(\"updateend\"),this.bufferUpdating_=!1}},{key:\"concatAndAppendSegments_\",value:function(e,t){var i=0,n=void 0;if(e.bytes){n=new Uint8Array(e.bytes),e.segments.forEach(function(e){n.set(e,i),i+=e.byteLength});try{t.updating=!0,t.appendBuffer(n)}catch(e){this.mediaSource_.player_&&this.mediaSource_.player_.error({code:-3,type:\"APPEND_BUFFER_ERR\",message:e.message,originalError:e})}}}},{key:\"abort\",value:function(){this.videoBuffer_&&this.videoBuffer_.abort(),!this.audioDisabled_&&this.audioBuffer_&&this.audioBuffer_.abort(),this.transmuxer_&&this.transmuxer_.postMessage({action:\"reset\"}),this.pendingBuffers_.length=0,this.bufferUpdating_=!1}},{key:\"dispose\",value:function(){this.transmuxer_&&this.transmuxer_.terminate(),this.trigger(\"dispose\"),this.off()}}]),Ec);function Ec(e,t){al(this,Ec);var i=cl(this,(Ec.__proto__||Object.getPrototypeOf(Ec)).call(this,as.EventTarget));i.timestampOffset_=0,i.pendingBuffers_=[],i.bufferUpdating_=!1,i.mediaSource_=e,i.codecs_=t,i.audioCodec_=null,i.videoCodec_=null,i.audioDisabled_=!1,i.appendAudioInitSegment_=!0,i.gopBuffer_=[],i.timeMapping_=0,i.safeAppend_=11<=as.browser.IE_VERSION;var n={remux:!1,alignGopsAtEnd:i.safeAppend_};return i.codecs_.forEach(function(e){Tc(e)?i.audioCodec_=e:Sc(e)&&(i.videoCodec_=e)}),i.transmuxer_=new kc,i.transmuxer_.postMessage({action:\"init\",options:n}),i.transmuxer_.onmessage=function(e){return\"data\"===e.data.action?i.data_(e):\"done\"===e.data.action?i.done_(e):\"gopInfo\"===e.data.action?i.appendGopInfo_(e):\"videoSegmentTimingInfo\"===e.data.action?i.videoSegmentTimingInfo_(e.data.videoSegmentTimingInfo):void 0},Object.defineProperty(i,\"timestampOffset\",{get:function(){return this.timestampOffset_},set:function(e){\"number\"==typeof e&&0<=e&&(this.timestampOffset_=e,this.appendAudioInitSegment_=!0,this.gopBuffer_.length=0,this.timeMapping_=0,this.transmuxer_.postMessage({action:\"setTimestampOffset\",timestampOffset:e}))}}),Object.defineProperty(i,\"appendWindowStart\",{get:function(){return(this.videoBuffer_||this.audioBuffer_).appendWindowStart},set:function(e){this.videoBuffer_&&(this.videoBuffer_.appendWindowStart=e),this.audioBuffer_&&(this.audioBuffer_.appendWindowStart=e)}}),Object.defineProperty(i,\"updating\",{get:function(){return!!(this.bufferUpdating_||!this.audioDisabled_&&this.audioBuffer_&&this.audioBuffer_.updating||this.videoBuffer_&&this.videoBuffer_.updating)}}),Object.defineProperty(i,\"buffered\",{get:function(){return function(e,t,i){var n=null,r=null,s=0,a=[],o=[];if(!e&&!t)return as.createTimeRange();if(!e)return t.buffered;if(!t)return e.buffered;if(i)return e.buffered;if(0===e.buffered.length&&0===t.buffered.length)return as.createTimeRange();for(var u=e.buffered,l=t.buffered,c=u.length;c--;)a.push({time:u.start(c),type:\"start\"}),a.push({time:u.end(c),type:\"end\"});for(c=l.length;c--;)a.push({time:l.start(c),type:\"start\"}),a.push({time:l.end(c),type:\"end\"});for(a.sort(function(e,t){return e.time-t.time}),c=0;c<a.length;c++)\"start\"===a[c].type?2===++s&&(n=a[c].time):\"end\"===a[c].type&&1===--s&&(r=a[c].time),null!==n&&null!==r&&(o.push([n,r]),r=n=null);return as.createTimeRanges(o)}(this.videoBuffer_,this.audioBuffer_,this.audioDisabled_)}}),i}var xc=(ll(Ac,as.EventTarget),ol(Ac,[{key:\"addSeekableRange_\",value:function(e,t){var i=void 0;if(this.duration!==1/0)throw(i=new Error(\"MediaSource.addSeekableRange() can only be invoked when the duration is Infinity\")).name=\"InvalidStateError\",i.code=11,i;(t>this.nativeMediaSource_.duration||isNaN(this.nativeMediaSource_.duration))&&(this.nativeMediaSource_.duration=t)}},{key:\"addSourceBuffer\",value:function(e){var t=void 0,i=bc(e);if(/^(video|audio)\\/mp2t$/i.test(i.type)){var n=[];i.parameters&&i.parameters.codecs&&(n=i.parameters.codecs.split(\",\"),n=(n=gc(n)).filter(function(e){return Tc(e)||Sc(e)})),0===n.length&&(n=[\"avc1.4d400d\",\"mp4a.40.2\"]),t=new wc(this,n),0!==this.sourceBuffers.length&&(this.sourceBuffers[0].createRealSourceBuffers_(),t.createRealSourceBuffers_(),this.sourceBuffers[0].audioDisabled_=!0)}else t=this.nativeMediaSource_.addSourceBuffer(e);return this.sourceBuffers.push(t),t}},{key:\"dispose\",value:function(){this.trigger(\"dispose\"),this.off(),this.sourceBuffers.forEach(function(e){e.dispose&&e.dispose()}),this.sourceBuffers.length=0}}]),Ac);function Ac(){al(this,Ac);var s=cl(this,(Ac.__proto__||Object.getPrototypeOf(Ac)).call(this)),e=void 0;for(e in s.nativeMediaSource_=new y.MediaSource,s.nativeMediaSource_)e in Ac.prototype||\"function\"!=typeof s.nativeMediaSource_[e]||(s[e]=s.nativeMediaSource_[e].bind(s.nativeMediaSource_));return s.duration_=NaN,Object.defineProperty(s,\"duration\",{get:function(){return this.duration_===1/0?this.duration_:this.nativeMediaSource_.duration},set:function(e){(this.duration_=e)===1/0||(this.nativeMediaSource_.duration=e)}}),Object.defineProperty(s,\"seekable\",{get:function(){return this.duration_===1/0?as.createTimeRanges([[0,this.nativeMediaSource_.duration]]):this.nativeMediaSource_.seekable}}),Object.defineProperty(s,\"readyState\",{get:function(){return this.nativeMediaSource_.readyState}}),Object.defineProperty(s,\"activeSourceBuffers\",{get:function(){return this.activeSourceBuffers_}}),s.sourceBuffers=[],s.activeSourceBuffers_=[],s.updateActiveSourceBuffers_=function(){if(s.activeSourceBuffers_.length=0,1===s.sourceBuffers.length){var e=s.sourceBuffers[0];return e.appendAudioInitSegment_=!0,e.audioDisabled_=!e.audioCodec_,void s.activeSourceBuffers_.push(e)}for(var i=!1,n=!0,t=0;t<s.player_.audioTracks().length;t++){var r=s.player_.audioTracks()[t];if(r.enabled&&\"main\"!==r.kind){n=!(i=!0);break}}s.sourceBuffers.forEach(function(e,t){if(e.appendAudioInitSegment_=!0,e.videoCodec_&&e.audioCodec_)e.audioDisabled_=i;else if(e.videoCodec_&&!e.audioCodec_)e.audioDisabled_=!0,n=!1;else if(!e.videoCodec_&&e.audioCodec_&&(e.audioDisabled_=t?n:!n,e.audioDisabled_))return;s.activeSourceBuffers_.push(e)})},s.onPlayerMediachange_=function(){s.sourceBuffers.forEach(function(e){e.appendAudioInitSegment_=!0})},s.onHlsReset_=function(){s.sourceBuffers.forEach(function(e){e.transmuxer_&&e.transmuxer_.postMessage({action:\"resetCaptions\"})})},s.onHlsSegmentTimeMapping_=function(t){s.sourceBuffers.forEach(function(e){return e.timeMapping_=t.mapping})},[\"sourceopen\",\"sourceclose\",\"sourceended\"].forEach(function(e){this.nativeMediaSource_.addEventListener(e,this.trigger.bind(this))},s),s.on(\"sourceopen\",function(e){var t=h.querySelector('[src=\"'+s.url_+'\"]');t&&(s.player_=as(t.parentNode),s.player_&&(s.player_.tech_.on(\"hls-reset\",s.onHlsReset_),s.player_.tech_.on(\"hls-segment-time-mapping\",s.onHlsSegmentTimeMapping_),s.player_.audioTracks&&s.player_.audioTracks()&&(s.player_.audioTracks().on(\"change\",s.updateActiveSourceBuffers_),s.player_.audioTracks().on(\"addtrack\",s.updateActiveSourceBuffers_),s.player_.audioTracks().on(\"removetrack\",s.updateActiveSourceBuffers_)),s.player_.on(\"mediachange\",s.onPlayerMediachange_)))}),s.on(\"sourceended\",function(e){for(var t=$l(s.duration),i=0;i<s.sourceBuffers.length;i++){var n=s.sourceBuffers[i],r=n.metadataTrack_&&n.metadataTrack_.cues;r&&r.length&&(r[r.length-1].endTime=t)}}),s.on(\"sourceclose\",function(e){this.sourceBuffers.forEach(function(e){e.transmuxer_&&e.transmuxer_.terminate()}),this.sourceBuffers.length=0,this.player_&&(this.player_.audioTracks&&this.player_.audioTracks()&&(this.player_.audioTracks().off(\"change\",this.updateActiveSourceBuffers_),this.player_.audioTracks().off(\"addtrack\",this.updateActiveSourceBuffers_),this.player_.audioTracks().off(\"removetrack\",this.updateActiveSourceBuffers_)),this.player_.el_&&this.player_.off(\"mediachange\",this.onPlayerMediachange_),this.player_.tech_&&this.player_.tech_.el_&&(this.player_.tech_.off(\"hls-reset\",this.onHlsReset_),this.player_.tech_.off(\"hls-segment-time-mapping\",this.onHlsSegmentTimeMapping_)))}),s}var Ic=0;as.mediaSources={};function Pc(e,t){var i=as.mediaSources[e];if(!i)throw new Error(\"Media Source not found (Video.js)\");i.trigger({type:\"sourceopen\",swfId:t})}function Lc(){return!!y.MediaSource&&!!y.MediaSource.isTypeSupported&&y.MediaSource.isTypeSupported('video/mp4;codecs=\"avc1.4d400d,mp4a.40.2\"')}function Oc(){if(this.MediaSource={open:Pc,supportsNativeMediaSources:Lc},Lc())return new xc;throw new Error(\"Cannot use create a virtual MediaSource for this video\")}Oc.open=Pc,Oc.supportsNativeMediaSources=Lc;var Dc={createObjectURL:function(e){var t=void 0;return e instanceof xc?(t=y.URL.createObjectURL(e.nativeMediaSource_),e.url_=t):e instanceof xc?(t=\"blob:vjs-media-source/\"+Ic,Ic++,as.mediaSources[t]=e,t):(t=y.URL.createObjectURL(e),e.url_=t)}};as.MediaSource=Oc,as.URL=Dc;function Nc(e,t){for(var a=void 0,o=Bc(e,{duration:t.duration,minimumUpdatePeriod:t.minimumUpdatePeriod}),i=0;i<t.playlists.length;i++){var n=dl(o,t.playlists[i]);n?o=n:a=!0}return hl(t,function(e,t,i,n){if(e.playlists&&e.playlists.length){var r=e.playlists[0].id,s=dl(o,e.playlists[0]);s&&((o=s).mediaGroups[t][i][n].playlists[0]=o.playlists[r],a=!1)}}),a?null:o}function Rc(e){var t=e.byterange.offset+e.byterange.length-1;return e.uri+\"-\"+e.byterange.offset+\"-\"+t}function Uc(e,t){var i,n,r={};for(var s in e){var a=e[s].sidx;if(a){var o=Rc(a);if(!t[o])break;var u=t[o].sidxInfo;i=u,n=a,(Boolean(!i.map&&!n.map)||Boolean(i.map&&n.map&&i.map.byterange.offset===n.map.byterange.offset&&i.map.byterange.length===n.map.byterange.length))&&i.uri===n.uri&&i.byterange.offset===n.byterange.offset&&i.byterange.length===n.byterange.length&&(r[o]=t[o])}}return r}function Mc(e,t,i,n,r){var s={uri:sl(n.handleManifestRedirects,e.resolvedUri),byterange:e.byterange,playlist:t};return i(as.mergeOptions(s,{responseType:\"arraybuffer\",headers:Rl(s)}),r)}var Bc=as.mergeOptions,jc=(ll(Fc,as.EventTarget),ol(Fc,[{key:\"setupChildLoader\",value:function(e,t){this.masterPlaylistLoader_=e,this.childPlaylist_=t}},{key:\"dispose\",value:function(){this.trigger(\"dispose\"),this.stopRequest(),this.loadedPlaylists_={},y.clearTimeout(this.minimumUpdatePeriodTimeout_),y.clearTimeout(this.mediaRequest_),y.clearTimeout(this.mediaUpdateTimeout),this.off()}},{key:\"hasPendingRequest\",value:function(){return this.request||this.mediaRequest_}},{key:\"stopRequest\",value:function(){if(this.request){var e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}}},{key:\"sidxRequestFinished_\",value:function(r,s,a,o){var u=this;return function(e,t){if(u.request){if(u.request=null,e)return u.error={status:t.status,message:\"DASH playlist request error at URL: \"+r.uri,response:t.response,code:2},a&&(u.state=a),u.trigger(\"error\"),o(s,null);var i=new Uint8Array(t.response),n=$o.parseSidx(i.subarray(8));return o(s,n)}}}},{key:\"media\",value:function(i){var n=this;if(!i)return this.media_;if(\"HAVE_NOTHING\"===this.state)throw new Error(\"Cannot switch media playlist from \"+this.state);var r=this.state;if(\"string\"==typeof i){if(!this.master.playlists[i])throw new Error(\"Unknown playlist URI: \"+i);i=this.master.playlists[i]}var e=!this.media_||i.id!==this.media_.id;if(e&&this.loadedPlaylists_[i.id]&&this.loadedPlaylists_[i.id].endList)return this.state=\"HAVE_METADATA\",this.media_=i,void(e&&(this.trigger(\"mediachanging\"),this.trigger(\"mediachange\")));if(e)if(this.media_&&this.trigger(\"mediachanging\"),i.sidx){var t=void 0,s=void 0;s=this.masterPlaylistLoader_?(t=this.masterPlaylistLoader_.master,this.masterPlaylistLoader_.sidxMapping_):(t=this.master,this.sidxMapping_);var a=Rc(i.sidx);s[a]={sidxInfo:i.sidx},this.request=Mc(i.sidx,i,this.hls_.xhr,{handleManifestRedirects:this.handleManifestRedirects},this.sidxRequestFinished_(i,t,r,function(e,t){if(!e||!t)throw new Error(\"failed to request sidx\");s[a].sidx=t,n.haveMetadata({startingState:r,playlist:e.playlists[i.id]})}))}else this.mediaRequest_=y.setTimeout(this.haveMetadata.bind(this,{startingState:r,playlist:i}),0)}},{key:\"haveMetadata\",value:function(e){var t=e.startingState,i=e.playlist;this.state=\"HAVE_METADATA\",this.loadedPlaylists_[i.id]=i,this.mediaRequest_=null,this.refreshMedia_(i.id),\"HAVE_MASTER\"===t?this.trigger(\"loadedmetadata\"):this.trigger(\"mediachange\")}},{key:\"pause\",value:function(){this.stopRequest(),y.clearTimeout(this.mediaUpdateTimeout),y.clearTimeout(this.minimumUpdatePeriodTimeout_),\"HAVE_NOTHING\"===this.state&&(this.started=!1)}},{key:\"load\",value:function(e){var t=this;y.clearTimeout(this.mediaUpdateTimeout),y.clearTimeout(this.minimumUpdatePeriodTimeout_);var i=this.media();if(e){var n=i?i.targetDuration/2*1e3:5e3;this.mediaUpdateTimeout=y.setTimeout(function(){return t.load()},n)}else this.started?i&&!i.endList?this.trigger(\"mediaupdatetimeout\"):this.trigger(\"loadedplaylist\"):this.start()}},{key:\"parseMasterXml\",value:function(){var a=To(this.masterXml_,{manifestUri:this.srcUrl,clientOffset:this.clientOffset_,sidxMapping:this.sidxMapping_});a.uri=this.srcUrl;for(var e=0;e<a.playlists.length;e++){var t=\"placeholder-uri-\"+e;a.playlists[e].uri=t}return hl(a,function(e,t,i,n){if(e.playlists&&e.playlists.length){var r=\"placeholder-uri-\"+t+\"-\"+i+\"-\"+n,s=pl(0,r);e.playlists[0].uri=r,e.playlists[0].id=s,a.playlists[s]=e.playlists[0],a.playlists[r]=e.playlists[0]}}),fl(a),ml(a),a}},{key:\"start\",value:function(){var i=this;this.started=!0,this.masterPlaylistLoader_?this.mediaRequest_=y.setTimeout(this.haveMaster_.bind(this),0):this.request=this.hls_.xhr({uri:this.srcUrl,withCredentials:this.withCredentials},function(e,t){if(i.request){if(i.request=null,e)return i.error={status:t.status,message:\"DASH playlist request error at URL: \"+i.srcUrl,responseText:t.responseText,code:2},\"HAVE_NOTHING\"===i.state&&(i.started=!1),i.trigger(\"error\");i.masterXml_=t.responseText,t.responseHeaders&&t.responseHeaders.date?i.masterLoaded_=Date.parse(t.responseHeaders.date):i.masterLoaded_=Date.now(),i.srcUrl=sl(i.handleManifestRedirects,i.srcUrl,t),i.syncClientServerClock_(i.onClientServerClockSync_.bind(i))}})}},{key:\"syncClientServerClock_\",value:function(n){var r=this,s=So(this.masterXml_);return null===s?(this.clientOffset_=this.masterLoaded_-Date.now(),n()):\"DIRECT\"===s.method?(this.clientOffset_=s.value-Date.now(),n()):void(this.request=this.hls_.xhr({uri:rl(this.srcUrl,s.value),method:s.method,withCredentials:this.withCredentials},function(e,t){if(r.request){if(e)return r.clientOffset_=r.masterLoaded_-Date.now(),n();var i=void 0;i=\"HEAD\"===s.method?t.responseHeaders&&t.responseHeaders.date?Date.parse(t.responseHeaders.date):r.masterLoaded_:Date.parse(t.responseText),r.clientOffset_=i-Date.now(),n()}}))}},{key:\"haveMaster_\",value:function(){this.state=\"HAVE_MASTER\",this.mediaRequest_=null,this.masterPlaylistLoader_?this.media_||this.media(this.childPlaylist_):(this.master=this.parseMasterXml(),this.trigger(\"loadedplaylist\"))}},{key:\"onClientServerClockSync_\",value:function(){var e=this;this.haveMaster_(),this.hasPendingRequest()||this.media_||this.media(this.master.playlists[0]),this.master&&this.master.minimumUpdatePeriod&&(this.minimumUpdatePeriodTimeout_=y.setTimeout(function(){e.trigger(\"minimumUpdatePeriod\")},this.master.minimumUpdatePeriod))}},{key:\"refreshXml_\",value:function(){var o=this;this.request=this.hls_.xhr({uri:this.srcUrl,withCredentials:this.withCredentials},function(e,t){if(o.request){if(o.request=null,e)return o.error={status:t.status,message:\"DASH playlist request error at URL: \"+o.srcUrl,responseText:t.responseText,code:2},\"HAVE_NOTHING\"===o.state&&(o.started=!1),o.trigger(\"error\");o.masterXml_=t.responseText,o.sidxMapping_=function(e,t,i,s){var n=To(e,{manifestUri:t,clientOffset:i}),a=Uc(n.playlists,s);return hl(n,function(e,t,i,n){if(e.playlists&&e.playlists.length){var r=e.playlists;a=Bc(a,Uc(r,s))}}),a}(o.masterXml_,o.srcUrl,o.clientOffset_,o.sidxMapping_);var i=o.parseMasterXml(),n=Nc(o.master,i),r=o.media().sidx;if(n)if(r){var s=Rc(r);if(!o.sidxMapping_[s]){var a=o.media();o.request=Mc(a.sidx,a,o.hls_.xhr,{handleManifestRedirects:o.handleManifestRedirects},o.sidxRequestFinished_(a,i,o.state,function(e,t){if(!e||!t)throw new Error(\"failed to request sidx on minimumUpdatePeriod\");o.sidxMapping_[s].sidx=t,o.minimumUpdatePeriodTimeout_=y.setTimeout(function(){o.trigger(\"minimumUpdatePeriod\")},o.master.minimumUpdatePeriod),o.refreshMedia_(o.media().id)}))}}else o.master=n;o.minimumUpdatePeriodTimeout_=y.setTimeout(function(){o.trigger(\"minimumUpdatePeriod\")},o.master.minimumUpdatePeriod)}})}},{key:\"refreshMedia_\",value:function(e){var t=this;if(!e)throw new Error(\"refreshMedia_ must take a media id\");var i=void 0,n=void 0;n=this.masterPlaylistLoader_?(i=this.masterPlaylistLoader_.master,this.masterPlaylistLoader_.parseMasterXml()):(i=this.master,this.parseMasterXml());var r=Nc(i,n);r?(this.masterPlaylistLoader_?this.masterPlaylistLoader_.master=r:this.master=r,this.media_=r.playlists[e]):(this.media_=n.playlists[e],this.trigger(\"playlistunchanged\")),this.media().endList||(this.mediaUpdateTimeout=y.setTimeout(function(){t.trigger(\"mediaupdatetimeout\")},gl(this.media(),!!r))),this.trigger(\"loadedplaylist\")}}]),Fc);function Fc(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},n=arguments[3];al(this,Fc);var r=cl(this,(Fc.__proto__||Object.getPrototypeOf(Fc)).call(this)),s=i.withCredentials,a=void 0!==s&&s,o=i.handleManifestRedirects,u=void 0!==o&&o;if(r.hls_=t,r.withCredentials=a,r.handleManifestRedirects=u,!e)throw new Error(\"A non-empty playlist URL or playlist is required\");return r.on(\"minimumUpdatePeriod\",function(){r.refreshXml_()}),r.on(\"mediaupdatetimeout\",function(){r.refreshMedia_(r.media().id)}),r.state=\"HAVE_NOTHING\",r.loadedPlaylists_={},\"string\"==typeof e?(r.srcUrl=e,r.sidxMapping_={},cl(r)):(r.setupChildLoader(n,e),r)}function Hc(e){return as.log.debug?as.log.debug.bind(as,\"VHS:\",e+\" >\"):function(){}}function Vc(){}var qc=(ol(Wc,[{key:\"createSourceBuffer_\",value:function(e,t){var i=this;this.sourceBuffer_=this.mediaSource.addSourceBuffer(e),this.logger_(\"created SourceBuffer\"),t&&(t.trigger(\"sourcebufferadded\"),this.mediaSource.sourceBuffers.length<2)?t.on(\"sourcebufferadded\",function(){i.start_()}):this.start_()}},{key:\"start_\",value:function(){var t=this;this.started_=!0,this.onUpdateendCallback_=function(){var e=t.pendingCallback_;t.pendingCallback_=null,t.sourceBuffer_.removing=!1,t.logger_(\"buffered [\"+Xl(t.buffered())+\"]\"),e&&e(),t.runCallback_()},this.sourceBuffer_.addEventListener(\"updateend\",this.onUpdateendCallback_),this.runCallback_()}},{key:\"abort\",value:function(e){var t=this;this.processedAppend_&&this.queueCallback_(function(){t.sourceBuffer_.abort()},e)}},{key:\"appendBuffer\",value:function(e,t){var i=this;this.processedAppend_=!0,this.queueCallback_(function(){e.videoSegmentTimingInfoCallback&&i.sourceBuffer_.addEventListener(\"videoSegmentTimingInfo\",e.videoSegmentTimingInfoCallback),i.sourceBuffer_.appendBuffer(e.bytes)},function(){e.videoSegmentTimingInfoCallback&&i.sourceBuffer_.removeEventListener(\"videoSegmentTimingInfo\",e.videoSegmentTimingInfoCallback),t()})}},{key:\"buffered\",value:function(){return this.sourceBuffer_?this.sourceBuffer_.buffered:as.createTimeRanges()}},{key:\"remove\",value:function(e,t,i){var n=this,r=2<arguments.length&&void 0!==i?i:Vc;this.processedAppend_&&this.queueCallback_(function(){n.logger_(\"remove [\"+e+\" => \"+t+\"]\"),n.sourceBuffer_.removing=!0,n.sourceBuffer_.remove(e,t)},r)}},{key:\"updating\",value:function(){return!this.sourceBuffer_||this.sourceBuffer_.updating||!!this.pendingCallback_&&this.pendingCallback_!==Vc}},{key:\"timestampOffset\",value:function(e){var t=this;return\"undefined\"!=typeof e&&(this.queueCallback_(function(){t.sourceBuffer_.timestampOffset=e,t.runCallback_()}),this.timestampOffset_=e),this.timestampOffset_}},{key:\"queueCallback_\",value:function(e,t){this.callbacks_.push([e.bind(this),t]),this.runCallback_()}},{key:\"runCallback_\",value:function(){var e=void 0;!this.updating()&&this.callbacks_.length&&this.started_&&(e=this.callbacks_.shift(),this.pendingCallback_=e[1],e[0]())}},{key:\"dispose\",value:function(){function e(){t.sourceBuffer_&&\"open\"===t.mediaSource.readyState&&t.sourceBuffer_.abort(),t.sourceBuffer_.removeEventListener(\"updateend\",e)}var t=this;this.sourceBuffer_.removeEventListener(\"updateend\",this.onUpdateendCallback_),this.sourceBuffer_.removing?this.sourceBuffer_.addEventListener(\"updateend\",e):e()}}]),Wc);function Wc(e,t,i,n){al(this,Wc),this.callbacks_=[],this.pendingCallback_=null,this.timestampOffset_=0,this.mediaSource=e,this.processedAppend_=!1,this.type_=i,this.mimeType_=t,this.logger_=Hc(\"SourceUpdater[\"+i+\"][\"+t+\"]\"),\"closed\"===e.readyState?e.addEventListener(\"sourceopen\",this.createSourceBuffer_.bind(this,t,n)):this.createSourceBuffer_(t,n)}function zc(e){e.forEach(function(e){e.abort()})}function Gc(e,t){return t.timedout?{status:t.status,message:\"HLS request timed-out at URL: \"+t.uri,code:ih,xhr:t}:t.aborted?{status:t.status,message:\"HLS request aborted at URL: \"+t.uri,code:nh,xhr:t}:e?{status:t.status,message:\"HLS request errored at URL: \"+t.uri,code:th,xhr:t}:null}function Xc(i,n,r){var s=0,a=!1;return function(e,t){if(!a)return e?(a=!0,zc(i),r(e,t)):(s+=1)===i.length?(t.endOfAllRequests=Date.now(),t.encryptedBytes?function(n,r,s){n.addEventListener(\"message\",function e(t){if(t.data.source===r.requestId){n.removeEventListener(\"message\",e);var i=t.data.decrypted;return r.bytes=new Uint8Array(i.bytes,i.byteOffset,i.byteLength),s(null,r)}});var e=void 0;e=r.key.bytes.slice?r.key.bytes.slice():new Uint32Array(Array.prototype.slice.call(r.key.bytes)),n.postMessage(Bl({source:r.requestId,encrypted:r.encryptedBytes,key:e,iv:r.key.iv}),[r.encryptedBytes.buffer,e.buffer])}(n,t,r):r(null,t)):void 0}}function Kc(t,i){return function(e){return t.stats=as.mergeOptions(t.stats,function(e){var t=e.target,i={bandwidth:1/0,bytesReceived:0,roundTripTime:Date.now()-t.requestTime||0};return i.bytesReceived=e.loaded,i.bandwidth=Math.floor(i.bytesReceived/i.roundTripTime*8*1e3),i}(e)),!t.stats.firstBytesReceivedAt&&t.stats.bytesReceived&&(t.stats.firstBytesReceivedAt=Date.now()),i(e,t)}}function Yc(e,t,i,n,r,s,a){var o=[],u=Xc(o,i,a);if(r.key&&!r.key.bytes){var l=e(as.mergeOptions(t,{uri:r.key.resolvedUri,responseType:\"arraybuffer\"}),function(s,a){return function(e,t){var i=t.response,n=Gc(e,t);if(n)return a(n,s);if(16!==i.byteLength)return a({status:t.status,message:\"Invalid HLS key at URL: \"+t.uri,code:th,xhr:t},s);var r=new DataView(i);return s.key.bytes=new Uint32Array([r.getUint32(0),r.getUint32(4),r.getUint32(8),r.getUint32(12)]),a(null,s)}}(r,u));o.push(l)}if(r.map&&!r.map.bytes){var c=e(as.mergeOptions(t,{uri:r.map.resolvedUri,responseType:\"arraybuffer\",headers:Rl(r.map)}),function(r,s,a){return function(e,t){var i=t.response,n=Gc(e,t);return n?a(n,r):0===i.byteLength?a({status:t.status,message:\"Empty HLS segment content at URL: \"+t.uri,code:th,xhr:t},r):(r.map.bytes=new Uint8Array(t.response),s&&!s.isInitialized()&&s.init(),r.map.timescales=eu.timescale(r.map.bytes),r.map.videoTrackIds=eu.videoTrackIds(r.map.bytes),a(null,r))}}(r,n,u));o.push(c)}var h=e(as.mergeOptions(t,{uri:r.resolvedUri,responseType:\"arraybuffer\",headers:Rl(r)}),function(s,a,o){return function(e,t){var i=t.response,n=Gc(e,t),r=void 0;return n?o(n,s):0===i.byteLength?o({status:t.status,message:\"Empty HLS segment content at URL: \"+t.uri,code:th,xhr:t},s):(s.stats=function(e){return{bandwidth:e.bandwidth,bytesReceived:e.bytesReceived||0,roundTripTime:e.roundTripTime||0}}(t),s.key?s.encryptedBytes=new Uint8Array(t.response):s.bytes=new Uint8Array(t.response),a&&s.map&&s.map.bytes&&(a.isInitialized()||a.init(),(r=a.parse(s.bytes,s.map.videoTrackIds,s.map.timescales))&&r.captions&&(s.captionStreams=r.captionStreams,s.fmp4Captions=r.captions)),o(null,s))}}(r,n,u));return h.addEventListener(\"progress\",Kc(r,s)),o.push(h),function(){return zc(o)}}function $c(e,t){var i;return e&&(i=y.getComputedStyle(e))?i[t]:\"\"}function Qc(e,n){var r=e.slice();e.sort(function(e,t){var i=n(e,t);return 0===i?r.indexOf(e)-r.indexOf(t):i})}function Jc(e,t){var i=void 0,n=void 0;return e.attributes.BANDWIDTH&&(i=e.attributes.BANDWIDTH),i=i||y.Number.MAX_VALUE,t.attributes.BANDWIDTH&&(n=t.attributes.BANDWIDTH),i-(n=n||y.Number.MAX_VALUE)}function Zc(e){return\"number\"==typeof e&&isFinite(e)}var eh={GOAL_BUFFER_LENGTH:30,MAX_GOAL_BUFFER_LENGTH:60,GOAL_BUFFER_LENGTH_RATE:1,INITIAL_BANDWIDTH:4194304,BANDWIDTH_VARIANCE:1.2,BUFFER_LOW_WATER_LINE:0,MAX_BUFFER_LOW_WATER_LINE:30,BUFFER_LOW_WATER_LINE_RATE:1},th=2,ih=-101,nh=-102,rh=(ll(sh,as.EventTarget),ol(sh,[{key:\"resetStats_\",value:function(){this.mediaBytesTransferred=0,this.mediaRequests=0,this.mediaRequestsAborted=0,this.mediaRequestsTimedout=0,this.mediaRequestsErrored=0,this.mediaTransferDuration=0,this.mediaSecondsLoaded=0}},{key:\"dispose\",value:function(){this.trigger(\"dispose\"),this.state=\"DISPOSED\",this.pause(),this.abort_(),this.sourceUpdater_&&this.sourceUpdater_.dispose(),this.resetStats_(),this.captionParser_&&this.captionParser_.reset(),this.checkBufferTimeout_&&y.clearTimeout(this.checkBufferTimeout_),this.syncController_&&this.triggerSyncInfoUpdate_&&this.syncController_.off(\"syncinfoupdate\",this.triggerSyncInfoUpdate_),this.off()}},{key:\"abort\",value:function(){\"WAITING\"===this.state?(this.abort_(),this.state=\"READY\",this.paused()||this.monitorBuffer_()):this.pendingSegment_&&(this.pendingSegment_=null)}},{key:\"abort_\",value:function(){this.pendingSegment_&&this.pendingSegment_.abortRequests(),this.pendingSegment_=null}},{key:\"error\",value:function(e){return\"undefined\"!=typeof e&&(this.error_=e),this.pendingSegment_=null,this.error_}},{key:\"endOfStream\",value:function(){this.ended_=!0,this.pause(),this.trigger(\"ended\")}},{key:\"buffered_\",value:function(){return this.sourceUpdater_?this.sourceUpdater_.buffered():as.createTimeRanges()}},{key:\"initSegment\",value:function(e,t){var i=1<arguments.length&&void 0!==t&&t;if(!e)return null;var n=jl(e),r=this.initSegments_[n];return i&&!r&&e.bytes&&(this.initSegments_[n]=r={resolvedUri:e.resolvedUri,byterange:e.byterange,bytes:e.bytes,timescales:e.timescales,videoTrackIds:e.videoTrackIds}),r||e}},{key:\"segmentKey\",value:function(e,t){var i=1<arguments.length&&void 0!==t&&t;if(!e)return null;var n=Fl(e),r=this.keyCache_[n];this.cacheEncryptionKeys_&&i&&!r&&e.bytes&&(this.keyCache_[n]=r={resolvedUri:e.resolvedUri,bytes:e.bytes});var s={resolvedUri:(r||e).resolvedUri};return r&&(s.bytes=r.bytes),s}},{key:\"couldBeginLoading_\",value:function(){return this.playlist_&&(this.sourceUpdater_||this.mimeType_&&\"INIT\"===this.state)&&!this.paused()}},{key:\"load\",value:function(){if(this.monitorBuffer_(),this.playlist_){if(this.syncController_.setDateTimeMapping(this.playlist_),\"INIT\"===this.state&&this.couldBeginLoading_())return this.init_();!this.couldBeginLoading_()||\"READY\"!==this.state&&\"INIT\"!==this.state||(this.state=\"READY\")}}},{key:\"init_\",value:function(){return this.state=\"READY\",this.sourceUpdater_=new qc(this.mediaSource_,this.mimeType_,this.loaderType_,this.sourceBufferEmitter_),this.resetEverything(),this.monitorBuffer_()}},{key:\"playlist\",value:function(e,t){var i=1<arguments.length&&void 0!==t?t:{};if(e){var n=this.playlist_,r=this.pendingSegment_;this.playlist_=e,this.xhrOptions_=i,\"INIT\"===this.state&&(e.syncInfo={mediaSequence:e.mediaSequence,time:0});var s=null;if(n&&(n.id?s=n.id:n.uri&&(s=n.uri)),this.logger_(\"playlist update [\"+s+\" => \"+(e.id||e.uri)+\"]\"),this.trigger(\"syncinfoupdate\"),\"INIT\"===this.state&&this.couldBeginLoading_())return this.init_();if(n&&n.uri===e.uri){var a=e.mediaSequence-n.mediaSequence;this.logger_(\"live window shift [\"+a+\"]\"),null!==this.mediaIndex&&(this.mediaIndex-=a),r&&(r.mediaIndex-=a,0<=r.mediaIndex&&(r.segment=e.segments[r.mediaIndex])),this.syncController_.saveExpiredSegmentInfo(n,e)}else null!==this.mediaIndex&&this.resyncLoader()}}},{key:\"pause\",value:function(){this.checkBufferTimeout_&&(y.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=null)}},{key:\"paused\",value:function(){return null===this.checkBufferTimeout_}},{key:\"mimeType\",value:function(e,t){this.mimeType_||(this.mimeType_=e,this.sourceBufferEmitter_=t,\"INIT\"===this.state&&this.couldBeginLoading_()&&this.init_())}},{key:\"resetEverything\",value:function(e){this.ended_=!1,this.resetLoader(),this.remove(0,1/0,e),this.captionParser_&&this.captionParser_.clearAllCaptions(),this.trigger(\"reseteverything\")}},{key:\"resetLoader\",value:function(){this.fetchAtBuffer_=!1,this.resyncLoader()}},{key:\"resyncLoader\",value:function(){this.mediaIndex=null,this.syncPoint_=null,this.abort()}},{key:\"remove\",value:function(e,t,i){if(t===1/0&&(t=this.duration_()),this.sourceUpdater_&&this.sourceUpdater_.remove(e,t,i),Yl(e,t,this.segmentMetadataTrack_),this.inbandTextTracks_)for(var n in this.inbandTextTracks_)Yl(e,t,this.inbandTextTracks_[n])}},{key:\"monitorBuffer_\",value:function(){this.checkBufferTimeout_&&y.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=y.setTimeout(this.monitorBufferTick_.bind(this),1)}},{key:\"monitorBufferTick_\",value:function(){\"READY\"===this.state&&this.fillBuffer_(),this.checkBufferTimeout_&&y.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=y.setTimeout(this.monitorBufferTick_.bind(this),500)}},{key:\"fillBuffer_\",value:function(){if(!this.sourceUpdater_.updating()){this.syncPoint_||(this.syncPoint_=this.syncController_.getSyncPoint(this.playlist_,this.duration_(),this.currentTimeline_,this.currentTime_()));var e=this.checkBuffer_(this.buffered_(),this.playlist_,this.mediaIndex,this.hasPlayed_(),this.currentTime_(),this.syncPoint_);e&&(this.isEndOfStream_(e.mediaIndex)?this.endOfStream():e.mediaIndex===this.playlist_.segments.length-1&&\"ended\"===this.mediaSource_.readyState&&!this.seeking_()||(e.timeline!==this.currentTimeline_&&(this.syncController_.reset(),e.timestampOffset=e.startOfSegment,this.captionParser_&&this.captionParser_.clearAllCaptions()),this.loadSegment_(e)))}}},{key:\"isEndOfStream_\",value:function(e,t){return function(e,t,i){if(!e||!t)return!1;var n=i===e.segments.length;return e.endList&&\"open\"===t.readyState&&n}(1<arguments.length&&void 0!==t?t:this.playlist_,this.mediaSource_,e)&&!this.sourceUpdater_.updating()}},{key:\"checkBuffer_\",value:function(e,t,i,n,r,s){var a=0,o=void 0;e.length&&(a=e.end(e.length-1));var u=Math.max(0,a-r);if(!t.segments.length)return null;if(u>=this.goalBufferLength_())return null;if(!n&&1<=u)return null;if(null===s)return i=this.getSyncSegmentCandidate_(t),this.generateSegmentInfo_(t,i,null,!0);if(null!==i)return t.segments[i],o=a,this.generateSegmentInfo_(t,i+1,o,!1);if(this.fetchAtBuffer_){var l=tc.getMediaInfoForTime(t,a,s.segmentIndex,s.time);i=l.mediaIndex,o=l.startTime}else{var c=tc.getMediaInfoForTime(t,r,s.segmentIndex,s.time);i=c.mediaIndex,o=c.startTime}return this.generateSegmentInfo_(t,i,o,!1)}},{key:\"getSyncSegmentCandidate_\",value:function(e){var t=this;if(-1===this.currentTimeline_)return 0;var i=e.segments.map(function(e,t){return{timeline:e.timeline,segmentIndex:t}}).filter(function(e){return e.timeline===t.currentTimeline_});return i.length?i[Math.min(i.length-1,1)].segmentIndex:Math.max(e.segments.length-1,0)}},{key:\"generateSegmentInfo_\",value:function(e,t,i,n){if(t<0||t>=e.segments.length)return null;var r=e.segments[t];return{requestId:\"segment-loader-\"+Math.random(),uri:r.resolvedUri,mediaIndex:t,isSyncRequest:n,startOfSegment:i,playlist:e,bytes:null,encryptedBytes:null,timestampOffset:null,timeline:r.timeline,duration:r.duration,segment:r}}},{key:\"abortRequestEarly_\",value:function(e){if(this.hls_.tech_.paused()||!this.xhrOptions_.timeout||!this.playlist_.attributes.BANDWIDTH)return!1;if(Date.now()-(e.firstBytesReceivedAt||Date.now())<1e3)return!1;var t=this.currentTime_(),i=e.bandwidth,n=this.pendingSegment_.duration,r=tc.estimateSegmentRequestTime(n,i,this.playlist_,e.bytesReceived),s=function(e,t,i){var n=2<arguments.length&&void 0!==i?i:1;return((e.length?e.end(e.length-1):0)-t)/n}(this.buffered_(),t,this.hls_.tech_.playbackRate())-1;if(r<=s)return!1;var a=function(e){var t=e.master,i=e.currentTime,n=e.bandwidth,r=e.duration,s=e.segmentDuration,a=e.timeUntilRebuffer,o=e.currentTimeline,u=e.syncController,l=t.playlists.filter(function(e){return!tc.isIncompatible(e)}),c=l.filter(tc.isEnabled);c.length||(c=l.filter(function(e){return!tc.isDisabled(e)}));var h=c.filter(tc.hasAttribute.bind(null,\"BANDWIDTH\")).map(function(e){var t=u.getSyncPoint(e,r,o,i)?1:2;return{playlist:e,rebufferingImpact:tc.estimateSegmentRequestTime(s,n,e)*t-a}}),d=h.filter(function(e){return e.rebufferingImpact<=0});return Qc(d,function(e,t){return Jc(t.playlist,e.playlist)}),d.length?d[0]:(Qc(h,function(e,t){return e.rebufferingImpact-t.rebufferingImpact}),h[0]||null)}({master:this.hls_.playlists.master,currentTime:t,bandwidth:i,duration:this.duration_(),segmentDuration:n,timeUntilRebuffer:s,currentTimeline:this.currentTimeline_,syncController:this.syncController_});if(a){var o=r-s-a.rebufferingImpact,u=.5;return s<=1/30&&(u=1),!(!a.playlist||a.playlist.uri===this.playlist_.uri||o<u)&&(this.bandwidth=a.playlist.attributes.BANDWIDTH*eh.BANDWIDTH_VARIANCE+1,this.abort(),this.trigger(\"earlyabort\"),!0)}}},{key:\"handleProgress_\",value:function(e,t){this.pendingSegment_&&t.requestId===this.pendingSegment_.requestId&&!this.abortRequestEarly_(t.stats)&&this.trigger(\"progress\")}},{key:\"loadSegment_\",value:function(e){this.state=\"WAITING\",this.pendingSegment_=e,this.trimBackBuffer_(e),e.abortRequests=Yc(this.hls_.xhr,this.xhrOptions_,this.decrypter_,this.captionParser_,this.createSimplifiedSegmentObj_(e),this.handleProgress_.bind(this),this.segmentRequestFinished_.bind(this))}},{key:\"trimBackBuffer_\",value:function(e){var t=function(e,t,i){var n=t-30;e.length&&(n=Math.max(n,e.start(0)));var r=t-i;return Math.min(r,n)}(this.seekable_(),this.currentTime_(),this.playlist_.targetDuration||10);0<t&&this.remove(0,t)}},{key:\"createSimplifiedSegmentObj_\",value:function(e){var t=e.segment,i={resolvedUri:t.resolvedUri,byterange:t.byterange,requestId:e.requestId};if(t.key){var n=t.key.iv||new Uint32Array([0,0,0,e.mediaIndex+e.playlist.mediaSequence]);i.key=this.segmentKey(t.key),i.key.iv=n}return t.map&&(i.map=this.initSegment(t.map)),i}},{key:\"segmentRequestFinished_\",value:function(e,t){if(this.mediaRequests+=1,t.stats&&(this.mediaBytesTransferred+=t.stats.bytesReceived,this.mediaTransferDuration+=t.stats.roundTripTime),this.pendingSegment_){if(t.requestId===this.pendingSegment_.requestId){if(e)return this.pendingSegment_=null,this.state=\"READY\",e.code===nh?void(this.mediaRequestsAborted+=1):(this.pause(),e.code===ih?(this.mediaRequestsTimedout+=1,this.bandwidth=1,this.roundTrip=NaN,void this.trigger(\"bandwidthupdate\")):(this.mediaRequestsErrored+=1,this.error(e),void this.trigger(\"error\")));this.bandwidth=t.stats.bandwidth,this.roundTrip=t.stats.roundTripTime,t.map&&(t.map=this.initSegment(t.map,!0)),t.key&&this.segmentKey(t.key,!0),this.processSegmentResponse_(t)}}else this.mediaRequestsAborted+=1}},{key:\"processSegmentResponse_\",value:function(e){var t=this.pendingSegment_;t.bytes=e.bytes,e.map&&(t.segment.map.bytes=e.map.bytes),t.endOfAllRequests=e.endOfAllRequests,e.fmp4Captions&&(function(e,t,i){for(var n in i)if(!e[n]){t.trigger({type:\"usage\",name:\"hls-608\"});var r=t.textTracks().getTrackById(n);e[n]=r||t.addRemoteTextTrack({kind:\"captions\",id:n,label:n},!1).track}}(this.inbandTextTracks_,this.hls_.tech_,e.captionStreams),function(e){var r=e.inbandTextTracks,t=e.captionArray,s=e.timestampOffset;if(t){var a=window.WebKitDataCue||window.VTTCue;t.forEach(function(e){var t=e.stream,i=e.startTime,n=e.endTime;r[t]&&(i+=s,n+=s,r[t].addCue(new a(i,n,e.text)))})}}({inbandTextTracks:this.inbandTextTracks_,captionArray:e.fmp4Captions,timestampOffset:0}),this.captionParser_&&this.captionParser_.clearParsedCaptions()),this.handleSegment_()}},{key:\"handleSegment_\",value:function(){var e=this;if(this.pendingSegment_){var t=this.pendingSegment_,i=t.segment,n=this.syncController_.probeSegmentInfo(t);\"undefined\"==typeof this.startingMedia_&&n&&(n.containsAudio||n.containsVideo)&&(this.startingMedia_={containsAudio:n.containsAudio,containsVideo:n.containsVideo});var r=function(e,t,i){return\"main\"===e&&t&&i?i.containsAudio||i.containsVideo?t.containsVideo&&!i.containsVideo?\"Only audio found in segment when we expected video. We can't switch to audio only from a stream that had video. To get rid of this message, please add codec information to the manifest.\":!t.containsVideo&&i.containsVideo?\"Video found in segment when we expected only audio. We can't switch to a stream with video from an audio only stream. To get rid of this message, please add codec information to the manifest.\":null:\"Neither audio nor video found in segment.\":null}(this.loaderType_,this.startingMedia_,n);if(r)return this.error({message:r,blacklistDuration:1/0}),void this.trigger(\"error\");if(t.isSyncRequest)return this.trigger(\"syncinfoupdate\"),this.pendingSegment_=null,void(this.state=\"READY\");if(null!==t.timestampOffset&&t.timestampOffset!==this.sourceUpdater_.timestampOffset()){if(n&&n.segmentTimestampInfo){var s=n.segmentTimestampInfo[0].ptsTime,a=n.segmentTimestampInfo[0].dtsTime;t.timestampOffset-=s-a}this.sourceUpdater_.timestampOffset(t.timestampOffset),this.trigger(\"timestampoffset\")}var o=this.syncController_.mappingForTimeline(t.timeline);if(null!==o&&this.trigger({type:\"segmenttimemapping\",mapping:o}),this.state=\"APPENDING\",i.map){var u=jl(i.map);if(!this.activeInitSegmentId_||this.activeInitSegmentId_!==u){var l=this.initSegment(i.map);this.sourceUpdater_.appendBuffer({bytes:l.bytes},function(){e.activeInitSegmentId_=u})}}t.byteLength=t.bytes.byteLength,\"number\"==typeof i.start&&\"number\"==typeof i.end?this.mediaSecondsLoaded+=i.end-i.start:this.mediaSecondsLoaded+=i.duration,this.logger_(function(e){var t=e.segment,i=t.start,n=t.end,r=e.playlist,s=r.mediaSequence,a=r.id,o=r.segments,u=void 0===o?[]:o,l=e.mediaIndex,c=e.timeline;return[\"appending [\"+l+\"] of [\"+s+\", \"+(s+u.length)+\"] from playlist [\"+a+\"]\",\"[\"+i+\" => \"+n+\"] in timeline [\"+c+\"]\"].join(\" \")}(t)),this.sourceUpdater_.appendBuffer({bytes:t.bytes,videoSegmentTimingInfoCallback:this.handleVideoSegmentTimingInfo_.bind(this,t.requestId)},this.handleUpdateEnd_.bind(this))}else this.state=\"READY\"}},{key:\"handleVideoSegmentTimingInfo_\",value:function(e,t){if(this.pendingSegment_&&e===this.pendingSegment_.requestId){var i=this.pendingSegment_.segment;i.videoTimingInfo||(i.videoTimingInfo={}),i.videoTimingInfo.transmuxerPrependedSeconds=t.videoSegmentTimingInfo.prependedContentDuration||0,i.videoTimingInfo.transmuxedPresentationStart=t.videoSegmentTimingInfo.start.presentation,i.videoTimingInfo.transmuxedPresentationEnd=t.videoSegmentTimingInfo.end.presentation,i.videoTimingInfo.baseMediaDecodeTime=t.videoSegmentTimingInfo.baseMediaDecodeTime}}},{key:\"handleUpdateEnd_\",value:function(){if(!this.pendingSegment_)return this.state=\"READY\",void(this.paused()||this.monitorBuffer_());var e=this.pendingSegment_,t=e.segment,i=null!==this.mediaIndex;this.pendingSegment_=null,this.recordThroughput_(e),this.addSegmentMetadataCue_(e),this.state=\"READY\",this.mediaIndex=e.mediaIndex,this.fetchAtBuffer_=!0,this.currentTimeline_=e.timeline,this.trigger(\"syncinfoupdate\"),t.end&&this.currentTime_()-t.end>3*e.playlist.targetDuration?this.resetEverything():(i&&this.trigger(\"bandwidthupdate\"),this.trigger(\"progress\"),this.isEndOfStream_(e.mediaIndex+1,e.playlist)&&this.endOfStream(),this.paused()||this.monitorBuffer_())}},{key:\"recordThroughput_\",value:function(e){var t=this.throughput.rate,i=Date.now()-e.endOfAllRequests+1,n=Math.floor(e.byteLength/i*8*1e3);this.throughput.rate+=(n-t)/++this.throughput.count}},{key:\"addSegmentMetadataCue_\",value:function(e){if(this.segmentMetadataTrack_){var t=e.segment,i=t.start,n=t.end;if(Zc(i)&&Zc(n)){Yl(i,n,this.segmentMetadataTrack_);var r=y.WebKitDataCue||y.VTTCue,s={custom:t.custom,dateTimeObject:t.dateTimeObject,dateTimeString:t.dateTimeString,bandwidth:e.playlist.attributes.BANDWIDTH,resolution:e.playlist.attributes.RESOLUTION,codecs:e.playlist.attributes.CODECS,byteLength:e.byteLength,uri:e.uri,timeline:e.timeline,playlist:e.playlist.id,start:i,end:n},a=new r(i,n,JSON.stringify(s));a.value=s,this.segmentMetadataTrack_.addCue(a)}}}}]),sh);function sh(e){al(this,sh);var t=cl(this,(sh.__proto__||Object.getPrototypeOf(sh)).call(this));if(!e)throw new TypeError(\"Initialization settings are required\");if(\"function\"!=typeof e.currentTime)throw new TypeError(\"No currentTime getter specified\");if(!e.mediaSource)throw new TypeError(\"No MediaSource specified\");return t.bandwidth=e.bandwidth,t.throughput={rate:0,count:0},t.roundTrip=NaN,t.resetStats_(),t.mediaIndex=null,t.hasPlayed_=e.hasPlayed,t.currentTime_=e.currentTime,t.seekable_=e.seekable,t.seeking_=e.seeking,t.duration_=e.duration,t.mediaSource_=e.mediaSource,t.hls_=e.hls,t.loaderType_=e.loaderType,t.startingMedia_=void 0,t.segmentMetadataTrack_=e.segmentMetadataTrack,t.goalBufferLength_=e.goalBufferLength,t.sourceType_=e.sourceType,t.inbandTextTracks_=e.inbandTextTracks,t.state_=\"INIT\",t.checkBufferTimeout_=null,t.error_=void 0,t.currentTimeline_=-1,t.pendingSegment_=null,t.mimeType_=null,t.sourceUpdater_=null,t.xhrOptions_=null,t.activeInitSegmentId_=null,t.initSegments_={},t.cacheEncryptionKeys_=e.cacheEncryptionKeys,t.keyCache_={},\"main\"===t.loaderType_?t.captionParser_=new yu:t.captionParser_=null,t.decrypter_=e.decrypter,t.syncController_=e.syncController,t.syncPoint_={segmentIndex:0,time:0},t.triggerSyncInfoUpdate_=function(){return t.trigger(\"syncinfoupdate\")},t.syncController_.on(\"syncinfoupdate\",t.triggerSyncInfoUpdate_),t.mediaSource_.addEventListener(\"sourceopen\",function(){return t.ended_=!1}),t.fetchAtBuffer_=!1,t.logger_=Hc(\"SegmentLoader[\"+t.loaderType_+\"]\"),Object.defineProperty(t,\"state\",{get:function(){return this.state_},set:function(e){e!==this.state_&&(this.logger_(this.state_+\" -> \"+e),this.state_=e)}}),t}function ah(e){return decodeURIComponent(escape(String.fromCharCode.apply(null,e)))}var oh=new Uint8Array(\"\\n\\n\".split(\"\").map(function(e){return e.charCodeAt(0)})),uh=(ll(lh,rh),ol(lh,[{key:\"buffered_\",value:function(){if(!this.subtitlesTrack_||!this.subtitlesTrack_.cues.length)return as.createTimeRanges();var e=this.subtitlesTrack_.cues,t=e[0].startTime,i=e[e.length-1].startTime;return as.createTimeRanges([[t,i]])}},{key:\"initSegment\",value:function(e,t){var i=1<arguments.length&&void 0!==t&&t;if(!e)return null;var n=jl(e),r=this.initSegments_[n];if(i&&!r&&e.bytes){var s=oh.byteLength+e.bytes.byteLength,a=new Uint8Array(s);a.set(e.bytes),a.set(oh,e.bytes.byteLength),this.initSegments_[n]=r={resolvedUri:e.resolvedUri,byterange:e.byterange,bytes:a}}return r||e}},{key:\"couldBeginLoading_\",value:function(){return this.playlist_&&this.subtitlesTrack_&&!this.paused()}},{key:\"init_\",value:function(){return this.state=\"READY\",this.resetEverything(),this.monitorBuffer_()}},{key:\"track\",value:function(e){return\"undefined\"==typeof e||(this.subtitlesTrack_=e,\"INIT\"===this.state&&this.couldBeginLoading_()&&this.init_()),this.subtitlesTrack_}},{key:\"remove\",value:function(e,t){Yl(e,t,this.subtitlesTrack_)}},{key:\"fillBuffer_\",value:function(){var e=this;this.syncPoint_||(this.syncPoint_=this.syncController_.getSyncPoint(this.playlist_,this.duration_(),this.currentTimeline_,this.currentTime_()));var t=this.checkBuffer_(this.buffered_(),this.playlist_,this.mediaIndex,this.hasPlayed_(),this.currentTime_(),this.syncPoint_);if(t=this.skipEmptySegments_(t)){if(null===this.syncController_.timestampOffsetForTimeline(t.timeline))return this.syncController_.one(\"timestampoffset\",function(){e.state=\"READY\",e.paused()||e.monitorBuffer_()}),void(this.state=\"WAITING_ON_TIMELINE\");this.loadSegment_(t)}}},{key:\"skipEmptySegments_\",value:function(e){for(;e&&e.segment.empty;)e=this.generateSegmentInfo_(e.playlist,e.mediaIndex+1,e.startOfSegment+e.duration,e.isSyncRequest);return e}},{key:\"handleSegment_\",value:function(){var t=this;if(this.pendingSegment_&&this.subtitlesTrack_){this.state=\"APPENDING\";var e=this.pendingSegment_,i=e.segment;if(\"function\"!=typeof y.WebVTT&&this.subtitlesTrack_&&this.subtitlesTrack_.tech_){var n=void 0,r=function(){t.subtitlesTrack_.tech_.off(\"vttjsloaded\",n),t.error({message:\"Error loading vtt.js\"}),t.state=\"READY\",t.pause(),t.trigger(\"error\")};return n=function(){t.subtitlesTrack_.tech_.off(\"vttjserror\",r),t.handleSegment_()},this.state=\"WAITING_ON_VTTJS\",this.subtitlesTrack_.tech_.one(\"vttjsloaded\",n),void this.subtitlesTrack_.tech_.one(\"vttjserror\",r)}i.requested=!0;try{this.parseVTTCues_(e)}catch(e){return this.error({message:e.message}),this.state=\"READY\",this.pause(),this.trigger(\"error\")}if(this.updateTimeMapping_(e,this.syncController_.timelines[e.timeline],this.playlist_),e.isSyncRequest)return this.trigger(\"syncinfoupdate\"),this.pendingSegment_=null,void(this.state=\"READY\");e.byteLength=e.bytes.byteLength,this.mediaSecondsLoaded+=i.duration,e.cues.length&&this.remove(e.cues[0].endTime,e.cues[e.cues.length-1].endTime),e.cues.forEach(function(e){t.subtitlesTrack_.addCue(t.featuresNativeTextTracks_?new y.VTTCue(e.startTime,e.endTime,e.text):e)}),this.handleUpdateEnd_()}else this.state=\"READY\"}},{key:\"parseVTTCues_\",value:function(t){var e=void 0,i=!1;\"function\"==typeof y.TextDecoder?e=new y.TextDecoder(\"utf8\"):(e=y.WebVTT.StringDecoder(),i=!0);var n=new y.WebVTT.Parser(y,y.vttjs,e);if(t.cues=[],t.timestampmap={MPEGTS:0,LOCAL:0},n.oncue=t.cues.push.bind(t.cues),n.ontimestampmap=function(e){return t.timestampmap=e},n.onparsingerror=function(e){as.log.warn(\"Error encountered when parsing cues: \"+e.message)},t.segment.map){var r=t.segment.map.bytes;i&&(r=ah(r)),n.parse(r)}var s=t.bytes;i&&(s=ah(s)),n.parse(s),n.flush()}},{key:\"updateTimeMapping_\",value:function(e,t,i){var n=e.segment;if(t)if(e.cues.length){var r=e.timestampmap,s=r.MPEGTS/9e4-r.LOCAL+t.mapping;if(e.cues.forEach(function(e){e.startTime+=s,e.endTime+=s}),!i.syncInfo){var a=e.cues[0].startTime,o=e.cues[e.cues.length-1].startTime;i.syncInfo={mediaSequence:i.mediaSequence+e.mediaIndex,time:Math.min(a,o-n.duration)}}}else n.empty=!0}}]),lh);function lh(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};al(this,lh);var i=cl(this,(lh.__proto__||Object.getPrototypeOf(lh)).call(this,e,t));return i.mediaSource_=null,i.subtitlesTrack_=null,i.featuresNativeTextTracks_=e.featuresNativeTextTracks,i}function ch(e,t){for(var i=e.cues,n=0;n<i.length;n++){var r=i[n];if(t>=r.adStartTime&&t<=r.adEndTime)return r}return null}var hh=Vu,dh=[{name:\"VOD\",run:function(e,t,i,n,r){if(i===1/0)return null;return{time:0,segmentIndex:0}}},{name:\"ProgramDateTime\",run:function(e,t,i,n,r){if(!e.datetimeToDisplayTime)return null;var s=t.segments||[],a=null,o=null;r=r||0;for(var u=0;u<s.length;u++){var l=s[u];if(l.dateTimeObject){var c=l.dateTimeObject.getTime()/1e3+e.datetimeToDisplayTime,h=Math.abs(r-c);if(null!==o&&(0===h||o<h))break;o=h,a={time:c,segmentIndex:u}}}return a}},{name:\"Segment\",run:function(e,t,i,n,r){var s=t.segments||[],a=null,o=null;r=r||0;for(var u=0;u<s.length;u++){var l=s[u];if(l.timeline===n&&\"undefined\"!=typeof l.start){var c=Math.abs(r-l.start);if(null!==o&&o<c)break;(!a||null===o||c<=o)&&(o=c,a={time:l.start,segmentIndex:u})}}return a}},{name:\"Discontinuity\",run:function(e,t,i,n,r){var s=null;if(r=r||0,t.discontinuityStarts&&t.discontinuityStarts.length)for(var a=null,o=0;o<t.discontinuityStarts.length;o++){var u=t.discontinuityStarts[o],l=t.discontinuitySequence+o+1,c=e.discontinuities[l];if(c){var h=Math.abs(r-c.time);if(null!==a&&a<h)break;(!s||null===a||h<=a)&&(a=h,s={time:c.time,segmentIndex:u})}}return s}},{name:\"Playlist\",run:function(e,t,i,n,r){return t.syncInfo?{time:t.syncInfo.time,segmentIndex:t.syncInfo.mediaSequence-t.mediaSequence}:null}}],ph=(ll(fh,as.EventTarget),ol(fh,[{key:\"getSyncPoint\",value:function(e,t,i,n){var r=this.runStrategies_(e,t,i,n);return r.length?this.selectSyncPoint_(r,{key:\"time\",value:n}):null}},{key:\"getExpiredTime\",value:function(e,t){if(!e||!e.segments)return null;var i=this.runStrategies_(e,t,e.discontinuitySequence,0);if(!i.length)return null;var n=this.selectSyncPoint_(i,{key:\"segmentIndex\",value:0});return 0<n.segmentIndex&&(n.time*=-1),Math.abs(n.time+Cl(e,n.segmentIndex,0))}},{key:\"runStrategies_\",value:function(e,t,i,n){for(var r=[],s=0;s<dh.length;s++){var a=dh[s],o=a.run(this,e,t,i,n);o&&(o.strategy=a.name,r.push({strategy:a.name,syncPoint:o}))}return r}},{key:\"selectSyncPoint_\",value:function(e,t){for(var i=e[0].syncPoint,n=Math.abs(e[0].syncPoint[t.key]-t.value),r=e[0].strategy,s=1;s<e.length;s++){var a=Math.abs(e[s].syncPoint[t.key]-t.value);a<n&&(n=a,i=e[s].syncPoint,r=e[s].strategy)}return this.logger_(\"syncPoint for [\"+t.key+\": \"+t.value+\"] chosen with strategy [\"+r+\"]: [time:\"+i.time+\", segmentIndex:\"+i.segmentIndex+\"]\"),i}},{key:\"saveExpiredSegmentInfo\",value:function(e,t){for(var i=t.mediaSequence-e.mediaSequence-1;0<=i;i--){var n=e.segments[i];if(n&&\"undefined\"!=typeof n.start){t.syncInfo={mediaSequence:e.mediaSequence+i,time:n.start},this.logger_(\"playlist refresh sync: [time:\"+t.syncInfo.time+\", mediaSequence: \"+t.syncInfo.mediaSequence+\"]\"),this.trigger(\"syncinfoupdate\");break}}}},{key:\"setDateTimeMapping\",value:function(e){if(!this.datetimeToDisplayTime&&e.segments&&e.segments.length&&e.segments[0].dateTimeObject){var t=e.segments[0].dateTimeObject.getTime()/1e3;this.datetimeToDisplayTime=-t}}},{key:\"reset\",value:function(){this.inspectCache_=void 0}},{key:\"probeSegmentInfo\",value:function(e){var t=e.segment,i=e.playlist,n=void 0;return(n=t.map?this.probeMp4Segment_(e):this.probeTsSegment_(e))&&this.calculateSegmentTimeMapping_(e,n)&&(this.saveDiscontinuitySyncInfo_(e),i.syncInfo||(i.syncInfo={mediaSequence:i.mediaSequence+e.mediaIndex,time:t.start})),n}},{key:\"probeMp4Segment_\",value:function(e){var t=e.segment,i=eu.timescale(t.map.bytes),n=eu.compositionStartTime(i,e.bytes);return null!==e.timestampOffset&&(e.timestampOffset-=n),{start:n,end:n+t.duration}}},{key:\"probeTsSegment_\",value:function(e){var t=hh(e.bytes,this.inspectCache_),i=void 0,n=void 0,r=void 0;return t?(t.video&&2===t.video.length?(this.inspectCache_=t.video[1].dts,i=t.video[0].dtsTime,n=t.video[1].dtsTime,r=t.video):t.audio&&2===t.audio.length&&(this.inspectCache_=t.audio[1].dts,i=t.audio[0].dtsTime,n=t.audio[1].dtsTime,r=t.audio),{segmentTimestampInfo:r,start:i,end:n,containsVideo:t.video&&2===t.video.length,containsAudio:t.audio&&2===t.audio.length}):null}},{key:\"timestampOffsetForTimeline\",value:function(e){return\"undefined\"==typeof this.timelines[e]?null:this.timelines[e].time}},{key:\"mappingForTimeline\",value:function(e){return\"undefined\"==typeof this.timelines[e]?null:this.timelines[e].mapping}},{key:\"calculateSegmentTimeMapping_\",value:function(e,t){var i=e.segment,n=this.timelines[e.timeline];if(null!==e.timestampOffset)n={time:e.startOfSegment,mapping:e.startOfSegment-t.start},this.timelines[e.timeline]=n,this.trigger(\"timestampoffset\"),this.logger_(\"time mapping for timeline \"+e.timeline+\": [time: \"+n.time+\"] [mapping: \"+n.mapping+\"]\"),i.start=e.startOfSegment,i.end=t.end+n.mapping;else{if(!n)return!1;i.start=t.start+n.mapping,i.end=t.end+n.mapping}return!0}},{key:\"saveDiscontinuitySyncInfo_\",value:function(e){var t=e.playlist,i=e.segment;if(i.discontinuity)this.discontinuities[i.timeline]={time:i.start,accuracy:0};else if(t.discontinuityStarts&&t.discontinuityStarts.length)for(var n=0;n<t.discontinuityStarts.length;n++){var r=t.discontinuityStarts[n],s=t.discontinuitySequence+n+1,a=r-e.mediaIndex,o=Math.abs(a);if(!this.discontinuities[s]||this.discontinuities[s].accuracy>o){var u=void 0;u=a<0?i.start-Cl(t,e.mediaIndex,r):i.end+Cl(t,e.mediaIndex+1,r),this.discontinuities[s]={time:u,accuracy:o}}}}},{key:\"dispose\",value:function(){this.trigger(\"dispose\"),this.off()}}]),fh);function fh(){al(this,fh);var e=cl(this,(fh.__proto__||Object.getPrototypeOf(fh)).call(this));return e.inspectCache_=void 0,e.timelines=[],e.discontinuities=[],e.datetimeToDisplayTime=null,e.logger_=Hc(\"SyncController\"),e}function mh(e,t){e.abort(),e.pause(),t&&t.activePlaylistLoader&&(t.activePlaylistLoader.pause(),t.activePlaylistLoader=null)}function gh(e,t){(t.activePlaylistLoader=e).load()}function vh(t){[\"AUDIO\",\"SUBTITLES\",\"CLOSED-CAPTIONS\"].forEach(function(e){Th[e](e,t)});var i=t.mediaTypes,e=t.masterPlaylistLoader,n=t.tech,r=t.hls;[\"AUDIO\",\"SUBTITLES\"].forEach(function(e){i[e].activeGroup=function(s,a){return function(t){var e=a.masterPlaylistLoader,i=a.mediaTypes[s].groups,n=e.media();if(!n)return null;var r=null;return n.attributes[s]&&(r=i[n.attributes[s]]),r=r||i.main,\"undefined\"==typeof t?r:null===t?null:r.filter(function(e){return e.id===t.id})[0]||null}}(e,t),i[e].activeTrack=Sh[e](e,t),i[e].onGroupChanged=function(o,u){return function(){var e=u.segmentLoaders,t=e[o],i=e.main,n=u.mediaTypes[o],r=n.activeTrack(),s=n.activeGroup(r),a=n.activePlaylistLoader;mh(t,n),s&&(s.playlistLoader?(t.resyncLoader(),gh(s.playlistLoader,n)):a&&i.resetEverything())}}(e,t),i[e].onTrackChanged=function(o,u){return function(){var e=u.segmentLoaders,t=e[o],i=e.main,n=u.mediaTypes[o],r=n.activeTrack(),s=n.activeGroup(r),a=n.activePlaylistLoader;mh(t,n),s&&(s.playlistLoader?(a!==s.playlistLoader&&(t.track&&t.track(r),t.resetEverything()),gh(s.playlistLoader,n)):i.resetEverything())}}(e,t)});var s=i.AUDIO.activeGroup(),a=(s.filter(function(e){return e.default})[0]||s[0]).id;function o(){i.AUDIO.onTrackChanged(),n.trigger({type:\"usage\",name:\"hls-audio-change\"})}for(var u in i.AUDIO.tracks[a].enabled=!0,i.AUDIO.onTrackChanged(),e.on(\"mediachange\",function(){[\"AUDIO\",\"SUBTITLES\"].forEach(function(e){return i[e].onGroupChanged()})}),n.audioTracks().addEventListener(\"change\",o),n.remoteTextTracks().addEventListener(\"change\",i.SUBTITLES.onTrackChanged),r.on(\"dispose\",function(){n.audioTracks().removeEventListener(\"change\",o),n.remoteTextTracks().removeEventListener(\"change\",i.SUBTITLES.onTrackChanged)}),n.clearTracks(\"audio\"),i.AUDIO.tracks)n.audioTracks().addTrack(i.AUDIO.tracks[u])}var yh=new hc(\"./decrypter-worker.worker.js\",function(e,t){var i,c,g,n,r,u,a,s=this;i=function(e,t,i){return t&&o(e.prototype,t),i&&o(e,i),e},c=null,d.prototype.decrypt=function(e,t,i,n,r,s){var a=this._key[1],o=e^a[0],u=n^a[1],l=i^a[2],c=t^a[3],h=void 0,d=void 0,p=void 0,f=a.length/4-2,m=void 0,g=4,v=this._tables[1],y=v[0],_=v[1],b=v[2],T=v[3],S=v[4];for(m=0;m<f;m++)h=y[o>>>24]^_[u>>16&255]^b[l>>8&255]^T[255&c]^a[g],d=y[u>>>24]^_[l>>16&255]^b[c>>8&255]^T[255&o]^a[g+1],p=y[l>>>24]^_[c>>16&255]^b[o>>8&255]^T[255&u]^a[g+2],c=y[c>>>24]^_[o>>16&255]^b[u>>8&255]^T[255&l]^a[g+3],g+=4,o=h,u=d,l=p;for(m=0;m<4;m++)r[(3&-m)+s]=S[o>>>24]<<24^S[u>>16&255]<<16^S[l>>8&255]<<8^S[255&c]^a[g++],h=o,o=u,u=l,l=c,c=h},g=d,l.prototype.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},l.prototype.off=function(e,t){if(!this.listeners[e])return!1;var i=this.listeners[e].indexOf(t);return this.listeners[e].splice(i,1),-1<i},l.prototype.trigger=function(e,t){var i=this.listeners[e];if(i)if(2===arguments.length)for(var n=i.length,r=0;r<n;++r)i[r].call(this,t);else for(var s=Array.prototype.slice.call(arguments,1),a=i.length,o=0;o<a;++o)i[o].apply(this,s)},l.prototype.dispose=function(){this.listeners={}},l.prototype.pipe=function(t){this.on(\"data\",function(e){t.push(e)})},function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(p,r=n=l),p.prototype.processJob_=function(){this.jobs.shift()(),this.jobs.length?this.timeout_=setTimeout(this.processJob_.bind(this),this.delay):this.timeout_=null},p.prototype.push=function(e){this.jobs.push(e),this.timeout_||(this.timeout_=setTimeout(this.processJob_.bind(this),this.delay))},u=p,f.prototype.decryptChunk_=function(t,i,n,r){return function(){var e=function(e,t,i){var n=new Int32Array(e.buffer,e.byteOffset,e.byteLength>>2),r=new g(Array.prototype.slice.call(t)),s=new Uint8Array(e.byteLength),a=new Int32Array(s.buffer),o=void 0,u=void 0,l=void 0,c=void 0,h=void 0,d=void 0,p=void 0,f=void 0,m=void 0;for(o=i[0],u=i[1],l=i[2],c=i[3],m=0;m<n.length;m+=4)h=v(n[m]),d=v(n[m+1]),p=v(n[m+2]),f=v(n[m+3]),r.decrypt(h,d,p,f,a,m),a[m]=v(a[m]^o),a[m+1]=v(a[m+1]^u),a[m+2]=v(a[m+2]^l),a[m+3]=v(a[m+3]^c),o=h,u=d,l=p,c=f;return s}(t,i,n);r.set(e,t.byteOffset)}},i(f,null,[{key:\"STEP\",get:function(){return 32e3}}]),a=f,new function(s){s.onmessage=function(e){var i=e.data,t=new Uint8Array(i.encrypted.bytes,i.encrypted.byteOffset,i.encrypted.byteLength),n=new Uint32Array(i.key.bytes,i.key.byteOffset,i.key.byteLength/4),r=new Uint32Array(i.iv.bytes,i.iv.byteOffset,i.iv.byteLength/4);new a(t,n,r,function(e,t){s.postMessage(function(i){var n={};return Object.keys(i).forEach(function(e){var t=i[e];ArrayBuffer.isView(t)?n[e]={bytes:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength}:n[e]=t}),n}({source:i.source,decrypted:t}),[t.buffer])})}}(s);function h(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function d(e){h(this,d),c=c||function(){var e=[[[],[],[],[],[]],[[],[],[],[],[]]],t=e[0],i=e[1],n=t[4],r=i[4],s=void 0,a=void 0,o=void 0,u=[],l=[],c=void 0,h=void 0,d=void 0,p=void 0,f=void 0;for(s=0;s<256;s++)l[(u[s]=s<<1^283*(s>>7))^s]=s;for(a=o=0;!n[a];a^=c||1,o=l[o]||1)for(d=(d=o^o<<1^o<<2^o<<3^o<<4)>>8^255&d^99,f=16843009*u[h=u[c=u[r[n[a]=d]=a]]]^65537*h^257*c^16843008*a,p=257*u[d]^16843008*d,s=0;s<4;s++)t[s][a]=p=p<<24^p>>>8,i[s][d]=f=f<<24^f>>>8;for(s=0;s<5;s++)t[s]=t[s].slice(0),i[s]=i[s].slice(0);return e}(),this._tables=[[c[0][0].slice(),c[0][1].slice(),c[0][2].slice(),c[0][3].slice(),c[0][4].slice()],[c[1][0].slice(),c[1][1].slice(),c[1][2].slice(),c[1][3].slice(),c[1][4].slice()]];var t=void 0,i=void 0,n=void 0,r=void 0,s=void 0,a=this._tables[0][4],o=this._tables[1],u=e.length,l=1;if(4!==u&&6!==u&&8!==u)throw new Error(\"Invalid aes key size\");for(r=e.slice(0),s=[],this._key=[r,s],t=u;t<4*u+28;t++)n=r[t-1],(t%u==0||8===u&&t%u==4)&&(n=a[n>>>24]<<24^a[n>>16&255]<<16^a[n>>8&255]<<8^a[255&n],t%u==0&&(n=n<<8^n>>>24^l<<24,l=l<<1^283*(l>>7))),r[t]=r[t-u]^n;for(i=0;t;i++,t--)n=r[3&i?t:t-4],s[i]=t<=4||i<4?n:o[0][a[n>>>24]]^o[1][a[n>>16&255]]^o[2][a[n>>8&255]]^o[3][a[255&n]]}function l(){h(this,l),this.listeners={}}function p(){h(this,p);var e=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,r.call(this,n));return e.jobs=[],e.delay=1,e.timeout_=null,e}function v(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24}function f(e,t,i,n){h(this,f);var r=f.STEP,s=new Int32Array(e.buffer),a=new Uint8Array(e.byteLength),o=0;for(this.asyncStream_=new u,this.asyncStream_.push(this.decryptChunk_(s.subarray(o,o+r),t,i,a)),o=r;o<s.length;o+=r)i=new Uint32Array([v(s[o-4]),v(s[o-3]),v(s[o-2]),v(s[o-1])]),this.asyncStream_.push(this.decryptChunk_(s.subarray(o,o+r),t,i,a));this.asyncStream_.push(function(){n(null,function(e){return e.subarray(0,e.byteLength-e[e.byteLength-1])}(a))})}}),_h={AUDIO:function(u,l){return function(){var e=l.segmentLoaders[u],t=l.mediaTypes[u],i=l.blacklistCurrentPlaylist;mh(e,t);var n=t.activeTrack(),r=t.activeGroup(),s=(r.filter(function(e){return e.default})[0]||r[0]).id,a=t.tracks[s];if(n!==a){for(var o in as.log.warn(\"Problem encountered loading the alternate audio track.Switching back to default.\"),t.tracks)t.tracks[o].enabled=t.tracks[o]===a;t.onTrackChanged()}else i({message:\"Problem encountered loading the default audio track.\"})}},SUBTITLES:function(n,r){return function(){var e=r.segmentLoaders[n],t=r.mediaTypes[n];as.log.warn(\"Problem encountered loading the subtitle track.Disabling subtitle track.\"),mh(e,t);var i=t.activeTrack();i&&(i.mode=\"disabled\"),t.onTrackChanged()}}},bh={AUDIO:function(e,t,i){if(t){var n=i.tech,r=i.requestOptions,s=i.segmentLoaders[e];t.on(\"loadedmetadata\",function(){var e=t.media();s.playlist(e,r),(!n.paused()||e.endList&&\"none\"!==n.preload())&&s.load()}),t.on(\"loadedplaylist\",function(){s.playlist(t.media(),r),n.paused()||s.load()}),t.on(\"error\",_h[e](e,i))}},SUBTITLES:function(e,t,i){var n=i.tech,r=i.requestOptions,s=i.segmentLoaders[e],a=i.mediaTypes[e];t.on(\"loadedmetadata\",function(){var e=t.media();s.playlist(e,r),s.track(a.activeTrack()),(!n.paused()||e.endList&&\"none\"!==n.preload())&&s.load()}),t.on(\"loadedplaylist\",function(){s.playlist(t.media(),r),n.paused()||s.load()}),t.on(\"error\",_h[e](e,i))}},Th={AUDIO:function(e,t){var i,n,r=t.hls,s=t.sourceType,a=t.segmentLoaders[e],o=t.requestOptions,u=t.master.mediaGroups,l=t.mediaTypes[e],c=l.groups,h=l.tracks,d=t.masterPlaylistLoader;for(var p in u[e]&&0!==Object.keys(u[e]).length||(u[e]={main:{default:{default:!0}}}),u[e])for(var f in c[p]||(c[p]=[]),u[e][p]){var m=u[e][p][f],g=void 0;if(g=m.resolvedUri?new bl(m.resolvedUri,r,o):m.playlists&&\"dash\"===s?new jc(m.playlists[0],r,o,d):null,m=as.mergeOptions({id:f,playlistLoader:g},m),bh[e](e,m.playlistLoader,t),c[p].push(m),\"undefined\"==typeof h[f]){var v=new as.AudioTrack({id:f,kind:(i=m,n=void 0,n=i.default?\"main\":\"alternative\",i.characteristics&&0<=i.characteristics.indexOf(\"public.accessibility.describes-video\")&&(n=\"main-desc\"),n),enabled:!1,language:m.language,default:m.default,label:f});h[f]=v}}a.on(\"error\",_h[e](e,t))},SUBTITLES:function(e,t){var i=t.tech,n=t.hls,r=t.sourceType,s=t.segmentLoaders[e],a=t.requestOptions,o=t.master.mediaGroups,u=t.mediaTypes[e],l=u.groups,c=u.tracks,h=t.masterPlaylistLoader;for(var d in o[e])for(var p in l[d]||(l[d]=[]),o[e][d])if(!o[e][d][p].forced){var f=o[e][d][p],m=void 0;if(\"hls\"===r?m=new bl(f.resolvedUri,n,a):\"dash\"===r&&(m=new jc(f.playlists[0],n,a,h)),f=as.mergeOptions({id:p,playlistLoader:m},f),bh[e](e,f.playlistLoader,t),l[d].push(f),\"undefined\"==typeof c[p]){var g=i.addRemoteTextTrack({id:p,kind:\"subtitles\",default:f.default&&f.autoselect,language:f.language,label:p},!1).track;c[p]=g}}s.on(\"error\",_h[e](e,t))},\"CLOSED-CAPTIONS\":function(e,t){var i=t.tech,n=t.master.mediaGroups,r=t.mediaTypes[e],s=r.groups,a=r.tracks;for(var o in n[e])for(var u in s[o]||(s[o]=[]),n[e][o]){var l=n[e][o][u];if(l.instreamId.match(/CC\\d/)&&(s[o].push(as.mergeOptions({id:u},l)),\"undefined\"==typeof a[u])){var c=i.addRemoteTextTrack({id:l.instreamId,kind:\"captions\",default:l.default&&l.autoselect,language:l.language,label:u},!1).track;a[u]=c}}}},Sh={AUDIO:function(i,n){return function(){var e=n.mediaTypes[i].tracks;for(var t in e)if(e[t].enabled)return e[t];return null}},SUBTITLES:function(i,n){return function(){var e=n.mediaTypes[i].tracks;for(var t in e)if(\"showing\"===e[t].mode||\"hidden\"===e[t].mode)return e[t];return null}}},kh=void 0,Ch=[\"mediaRequests\",\"mediaRequestsAborted\",\"mediaRequestsTimedout\",\"mediaRequestsErrored\",\"mediaTransferDuration\",\"mediaBytesTransferred\"],wh=(ll(Eh,as.EventTarget),ol(Eh,[{key:\"setupMasterPlaylistLoaderListeners_\",value:function(){var n=this;this.masterPlaylistLoader_.on(\"loadedmetadata\",function(){var e=n.masterPlaylistLoader_.media(),t=1.5*e.targetDuration*1e3;Dl(n.masterPlaylistLoader_.master,n.masterPlaylistLoader_.media())?n.requestOptions_.timeout=0:n.requestOptions_.timeout=t,e.endList&&\"none\"!==n.tech_.preload()&&(n.mainSegmentLoader_.playlist(e,n.requestOptions_),n.mainSegmentLoader_.load()),vh({sourceType:n.sourceType_,segmentLoaders:{AUDIO:n.audioSegmentLoader_,SUBTITLES:n.subtitleSegmentLoader_,main:n.mainSegmentLoader_},tech:n.tech_,requestOptions:n.requestOptions_,masterPlaylistLoader:n.masterPlaylistLoader_,hls:n.hls_,master:n.master(),mediaTypes:n.mediaTypes_,blacklistCurrentPlaylist:n.blacklistCurrentPlaylist.bind(n)}),n.triggerPresenceUsage_(n.master(),e);try{n.setupSourceBuffers_()}catch(e){return as.log.warn(\"Failed to create SourceBuffers\",e),n.mediaSource.endOfStream(\"decode\")}n.setupFirstPlay(),!n.mediaTypes_.AUDIO.activePlaylistLoader||n.mediaTypes_.AUDIO.activePlaylistLoader.media()?n.trigger(\"selectedinitialmedia\"):n.mediaTypes_.AUDIO.activePlaylistLoader.one(\"loadedmetadata\",function(){n.trigger(\"selectedinitialmedia\")})}),this.masterPlaylistLoader_.on(\"loadedplaylist\",function(){var e=n.masterPlaylistLoader_.media();if(!e){n.excludeUnsupportedVariants_();var t=void 0;return n.enableLowInitialPlaylist&&(t=n.selectInitialPlaylist()),t=t||n.selectPlaylist(),n.initialMedia_=t,void n.masterPlaylistLoader_.media(n.initialMedia_)}if(n.useCueTags_&&n.updateAdCues_(e),n.mainSegmentLoader_.playlist(e,n.requestOptions_),n.updateDuration(),n.tech_.paused()||(n.mainSegmentLoader_.load(),n.audioSegmentLoader_&&n.audioSegmentLoader_.load()),!e.endList){var i=function(){var e=n.seekable();0!==e.length&&n.mediaSource.addSeekableRange_(e.start(0),e.end(0))};n.duration()!==1/0?n.tech_.one(\"durationchange\",function e(){n.duration()===1/0?i():n.tech_.one(\"durationchange\",e)}):i()}}),this.masterPlaylistLoader_.on(\"error\",function(){n.blacklistCurrentPlaylist(n.masterPlaylistLoader_.error)}),this.masterPlaylistLoader_.on(\"mediachanging\",function(){n.mainSegmentLoader_.abort(),n.mainSegmentLoader_.pause()}),this.masterPlaylistLoader_.on(\"mediachange\",function(){var e=n.masterPlaylistLoader_.media(),t=1.5*e.targetDuration*1e3;Dl(n.masterPlaylistLoader_.master,n.masterPlaylistLoader_.media())?n.requestOptions_.timeout=0:n.requestOptions_.timeout=t,n.mainSegmentLoader_.playlist(e,n.requestOptions_),n.mainSegmentLoader_.load(),n.tech_.trigger({type:\"mediachange\",bubbles:!0})}),this.masterPlaylistLoader_.on(\"playlistunchanged\",function(){var e=n.masterPlaylistLoader_.media();n.stuckAtPlaylistEnd_(e)&&(n.blacklistCurrentPlaylist({message:\"Playlist no longer updating.\"}),n.tech_.trigger(\"playliststuck\"))}),this.masterPlaylistLoader_.on(\"renditiondisabled\",function(){n.tech_.trigger({type:\"usage\",name:\"hls-rendition-disabled\"})}),this.masterPlaylistLoader_.on(\"renditionenabled\",function(){n.tech_.trigger({type:\"usage\",name:\"hls-rendition-enabled\"})})}},{key:\"triggerPresenceUsage_\",value:function(e,t){var i=e.mediaGroups||{},n=!0,r=Object.keys(i.AUDIO);for(var s in i.AUDIO)for(var a in i.AUDIO[s])i.AUDIO[s][a].uri||(n=!1);n&&this.tech_.trigger({type:\"usage\",name:\"hls-demuxed\"}),Object.keys(i.SUBTITLES).length&&this.tech_.trigger({type:\"usage\",name:\"hls-webvtt\"}),kh.Playlist.isAes(t)&&this.tech_.trigger({type:\"usage\",name:\"hls-aes\"}),kh.Playlist.isFmp4(t)&&this.tech_.trigger({type:\"usage\",name:\"hls-fmp4\"}),r.length&&1<Object.keys(i.AUDIO[r[0]]).length&&this.tech_.trigger({type:\"usage\",name:\"hls-alternate-audio\"}),this.useCueTags_&&this.tech_.trigger({type:\"usage\",name:\"hls-playlist-cue-tags\"})}},{key:\"setupSegmentLoaderListeners_\",value:function(){var n=this;this.mainSegmentLoader_.on(\"bandwidthupdate\",function(){var e=n.selectPlaylist(),t=n.masterPlaylistLoader_.media(),i=n.tech_.buffered();!function(e){var t=e.currentPlaylist,i=e.nextPlaylist,n=e.forwardBuffer,r=e.bufferLowWaterLine,s=e.duration;return e.log,i?!t.endList||s<eh.MAX_BUFFER_LOW_WATER_LINE||i.attributes.BANDWIDTH<t.attributes.BANDWIDTH||r<=n:(as.log.warn(\"We received no playlist to switch to. Please check your stream.\"),!1)}({currentPlaylist:t,nextPlaylist:e,forwardBuffer:i.length?i.end(i.length-1)-n.tech_.currentTime():0,bufferLowWaterLine:n.bufferLowWaterLine(),duration:n.duration(),log:n.logger_})||n.masterPlaylistLoader_.media(e),n.tech_.trigger(\"bandwidthupdate\")}),this.mainSegmentLoader_.on(\"progress\",function(){n.trigger(\"progress\")}),this.mainSegmentLoader_.on(\"error\",function(){n.blacklistCurrentPlaylist(n.mainSegmentLoader_.error())}),this.mainSegmentLoader_.on(\"syncinfoupdate\",function(){n.onSyncInfoUpdate_()}),this.mainSegmentLoader_.on(\"timestampoffset\",function(){n.tech_.trigger({type:\"usage\",name:\"hls-timestamp-offset\"})}),this.audioSegmentLoader_.on(\"syncinfoupdate\",function(){n.onSyncInfoUpdate_()}),this.mainSegmentLoader_.on(\"ended\",function(){n.onEndOfStream()}),this.mainSegmentLoader_.on(\"earlyabort\",function(){n.blacklistCurrentPlaylist({message:\"Aborted early because there isn't enough bandwidth to complete the request without rebuffering.\"},120)}),this.mainSegmentLoader_.on(\"reseteverything\",function(){n.tech_.trigger(\"hls-reset\")}),this.mainSegmentLoader_.on(\"segmenttimemapping\",function(e){n.tech_.trigger({type:\"hls-segment-time-mapping\",mapping:e.mapping})}),this.audioSegmentLoader_.on(\"ended\",function(){n.onEndOfStream()})}},{key:\"mediaSecondsLoaded_\",value:function(){return Math.max(this.audioSegmentLoader_.mediaSecondsLoaded+this.mainSegmentLoader_.mediaSecondsLoaded)}},{key:\"load\",value:function(){this.mainSegmentLoader_.load(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.load(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.load()}},{key:\"smoothQualityChange_\",value:function(){var e=this.selectPlaylist();e!==this.masterPlaylistLoader_.media()&&(this.masterPlaylistLoader_.media(e),this.mainSegmentLoader_.resetLoader())}},{key:\"fastQualityChange_\",value:function(){var e=this,t=this.selectPlaylist();t!==this.masterPlaylistLoader_.media()&&(this.masterPlaylistLoader_.media(t),this.mainSegmentLoader_.resetEverything(function(){as.browser.IE_VERSION||as.browser.IS_EDGE?e.tech_.setCurrentTime(e.tech_.currentTime()+.04):e.tech_.setCurrentTime(e.tech_.currentTime())}))}},{key:\"play\",value:function(){if(!this.setupFirstPlay()){this.tech_.ended()&&this.tech_.setCurrentTime(0),this.hasPlayed_&&this.load();var e=this.tech_.seekable();return this.tech_.duration()===1/0&&this.tech_.currentTime()<e.start(0)?this.tech_.setCurrentTime(e.end(e.length-1)):void 0}}},{key:\"setupFirstPlay\",value:function(){var e=this,t=this.masterPlaylistLoader_.media();if(!t||this.tech_.paused()||this.hasPlayed_)return!1;if(!t.endList){var i=this.seekable();if(!i.length)return!1;if(as.browser.IE_VERSION&&0===this.tech_.readyState())return this.tech_.one(\"loadedmetadata\",function(){e.trigger(\"firstplay\"),e.tech_.setCurrentTime(i.end(0)),e.hasPlayed_=!0}),!1;this.trigger(\"firstplay\"),this.tech_.setCurrentTime(i.end(0))}return this.hasPlayed_=!0,this.load(),!0}},{key:\"handleSourceOpen_\",value:function(){try{this.setupSourceBuffers_()}catch(e){return as.log.warn(\"Failed to create Source Buffers\",e),this.mediaSource.endOfStream(\"decode\")}if(this.tech_.autoplay()){var e=this.tech_.play();\"undefined\"!=typeof e&&\"function\"==typeof e.then&&e.then(null,function(e){})}this.trigger(\"sourceopen\")}},{key:\"onEndOfStream\",value:function(){var e=this.mainSegmentLoader_.ended_;if(this.mediaTypes_.AUDIO.activePlaylistLoader&&(e=!this.mainSegmentLoader_.startingMedia_||this.mainSegmentLoader_.startingMedia_.containsVideo?e&&this.audioSegmentLoader_.ended_:this.audioSegmentLoader_.ended_),e){this.logger_(\"calling mediaSource.endOfStream()\");try{this.mediaSource.endOfStream()}catch(e){as.log.warn(\"Failed to call media source endOfStream\",e)}}}},{key:\"stuckAtPlaylistEnd_\",value:function(e){if(!this.seekable().length)return!1;var t=this.syncController_.getExpiredTime(e,this.mediaSource.duration);if(null===t)return!1;var i=kh.Playlist.playlistEnd(e,t),n=this.tech_.currentTime(),r=this.tech_.buffered();if(!r.length)return i-n<=.1;var s=r.end(r.length-1);return s-n<=.1&&i-s<=.1}},{key:\"blacklistCurrentPlaylist\",value:function(e,t){var i,n=0<arguments.length&&void 0!==e?e:{},r=t,s=void 0;if(s=n.playlist||this.masterPlaylistLoader_.media(),r=r||n.blacklistDuration||this.blacklistDuration,!s){this.error=n;try{return this.mediaSource.endOfStream(\"network\")}catch(e){return this.trigger(\"error\")}}var a=1===this.masterPlaylistLoader_.master.playlists.filter(Ll).length,o=this.masterPlaylistLoader_.master.playlists;return 1===o.length?(as.log.warn(\"Problem encountered with the current HLS playlist. Trying again since it is the only playlist.\"),this.tech_.trigger(\"retryplaylist\"),this.masterPlaylistLoader_.load(a)):(a&&(as.log.warn(\"Removing all playlists from the blacklist because the last rendition is about to be blacklisted.\"),o.forEach(function(e){e.excludeUntil!==1/0&&delete e.excludeUntil}),this.tech_.trigger(\"retryplaylist\")),s.excludeUntil=Date.now()+1e3*r,this.tech_.trigger(\"blacklistplaylist\"),this.tech_.trigger({type:\"usage\",name:\"hls-rendition-blacklisted\"}),i=this.selectPlaylist(),as.log.warn(\"Problem encountered with the current HLS playlist.\"+(n.message?\" \"+n.message:\"\")+\" Switching to another playlist.\"),this.masterPlaylistLoader_.media(i,a))}},{key:\"pauseLoading\",value:function(){this.mainSegmentLoader_.pause(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.pause(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.pause()}},{key:\"setCurrentTime\",value:function(e){var t=zl(this.tech_.buffered(),e);return this.masterPlaylistLoader_&&this.masterPlaylistLoader_.media()&&this.masterPlaylistLoader_.media().segments?t&&t.length?e:(this.mainSegmentLoader_.resetEverything(),this.mainSegmentLoader_.abort(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.resetEverything(),this.audioSegmentLoader_.abort()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.resetEverything(),this.subtitleSegmentLoader_.abort()),void this.load()):0}},{key:\"duration\",value:function(){return this.masterPlaylistLoader_?this.mediaSource?this.mediaSource.duration:kh.Playlist.duration(this.masterPlaylistLoader_.media()):0}},{key:\"seekable\",value:function(){return this.seekable_}},{key:\"onSyncInfoUpdate_\",value:function(){var e=void 0;if(this.masterPlaylistLoader_){var t=this.masterPlaylistLoader_.media();if(t){var i=this.syncController_.getExpiredTime(t,this.mediaSource.duration);if(null!==i){var n=this.masterPlaylistLoader_.master.suggestedPresentationDelay,r=kh.Playlist.seekable(t,i,n);if(0!==r.length){if(this.mediaTypes_.AUDIO.activePlaylistLoader){if(t=this.mediaTypes_.AUDIO.activePlaylistLoader.media(),null===(i=this.syncController_.getExpiredTime(t,this.mediaSource.duration)))return;if(0===(e=kh.Playlist.seekable(t,i,n)).length)return}var s=void 0,a=void 0;this.seekable_&&this.seekable_.length&&(s=this.seekable_.end(0),a=this.seekable_.start(0)),e?e.start(0)>r.end(0)||r.start(0)>e.end(0)?this.seekable_=r:this.seekable_=as.createTimeRanges([[e.start(0)>r.start(0)?e.start(0):r.start(0),e.end(0)<r.end(0)?e.end(0):r.end(0)]]):this.seekable_=r,this.seekable_&&this.seekable_.length&&this.seekable_.end(0)===s&&this.seekable_.start(0)===a||(this.logger_(\"seekable updated [\"+Xl(this.seekable_)+\"]\"),this.tech_.trigger(\"seekablechanged\"))}}}}}},{key:\"updateDuration\",value:function(){function e(){t.logger_(\"Setting duration from \"+t.mediaSource.duration+\" => \"+n);try{t.mediaSource.duration=n}catch(e){as.log.warn(\"Failed to set media source duration\",e)}t.tech_.trigger(\"durationchange\"),t.mediaSource.removeEventListener(\"sourceopen\",e)}var t=this,i=this.mediaSource.duration,n=kh.Playlist.duration(this.masterPlaylistLoader_.media()),r=this.tech_.buffered();0<r.length&&(n=Math.max(n,r.end(r.length-1))),i!==n&&(\"open\"!==this.mediaSource.readyState?this.mediaSource.addEventListener(\"sourceopen\",e):e())}},{key:\"dispose\",value:function(){var n=this;this.trigger(\"dispose\"),this.decrypter_&&this.decrypter_.terminate(),this.masterPlaylistLoader_.dispose(),this.mainSegmentLoader_.dispose(),[\"AUDIO\",\"SUBTITLES\"].forEach(function(e){var t=n.mediaTypes_[e].groups;for(var i in t)t[i].forEach(function(e){e.playlistLoader&&e.playlistLoader.dispose()})}),this.audioSegmentLoader_.dispose(),this.subtitleSegmentLoader_.dispose(),this.off(),this.mediaSource.dispose&&this.mediaSource.dispose()}},{key:\"master\",value:function(){return this.masterPlaylistLoader_.master}},{key:\"media\",value:function(){return this.masterPlaylistLoader_.media()||this.initialMedia_}},{key:\"setupSourceBuffers_\",value:function(){var e,t=this.masterPlaylistLoader_.media();if(t&&\"open\"===this.mediaSource.readyState){if((e=_c(this.masterPlaylistLoader_.master,t)).length<1)return this.error=\"No compatible SourceBuffer configuration for the variant stream:\"+t.resolvedUri,this.mediaSource.endOfStream(\"decode\");this.configureLoaderMimeTypes_(e),this.excludeIncompatibleVariants_(t)}}},{key:\"configureLoaderMimeTypes_\",value:function(e){var t=1<e.length&&-1===e[0].indexOf(\",\")&&e[0]!==e[1]?new as.EventTarget:null;this.mainSegmentLoader_.mimeType(e[0],t),e[1]&&this.audioSegmentLoader_.mimeType(e[1],t)}},{key:\"excludeUnsupportedVariants_\",value:function(){this.master().playlists.forEach(function(e){e.attributes.CODECS&&y.MediaSource&&y.MediaSource.isTypeSupported&&!y.MediaSource.isTypeSupported('video/mp4; codecs=\"'+function(e){return e.replace(/avc1\\.(\\d+)\\.(\\d+)/i,function(e){return gc([e])[0]})}(e.attributes.CODECS)+'\"')&&(e.excludeUntil=1/0)})}},{key:\"excludeIncompatibleVariants_\",value:function(e){var i=2,n=null,t=void 0;e.attributes.CODECS&&(t=vc(e.attributes.CODECS),n=t.videoCodec,i=t.codecCount),this.master().playlists.forEach(function(e){var t={codecCount:2,videoCodec:null};e.attributes.CODECS&&(t=vc(e.attributes.CODECS)),t.codecCount!==i&&(e.excludeUntil=1/0),t.videoCodec!==n&&(e.excludeUntil=1/0)})}},{key:\"updateAdCues_\",value:function(e){var t=0,i=this.seekable();i.length&&(t=i.start(0)),function(e,t,i){var n=2<arguments.length&&void 0!==i?i:0;if(e.segments)for(var r=n,s=void 0,a=0;a<e.segments.length;a++){var o=e.segments[a];if(s=s||ch(t,r+o.duration/2)){if(\"cueIn\"in o){s.endTime=r,s.adEndTime=r,r+=o.duration,s=null;continue}if(r<s.endTime){r+=o.duration;continue}s.endTime+=o.duration}else if(\"cueOut\"in o&&((s=new y.VTTCue(r,r+o.duration,o.cueOut)).adStartTime=r,s.adEndTime=r+parseFloat(o.cueOut),t.addCue(s)),\"cueOutCont\"in o){var u,l,c=o.cueOutCont.split(\"/\").map(parseFloat),h=vl(c,2);u=h[0],l=h[1],(s=new y.VTTCue(r,r+o.duration,\"\")).adStartTime=r-u,s.adEndTime=s.adStartTime+l,t.addCue(s)}r+=o.duration}}(e,this.cueTagsTrack_,t)}},{key:\"goalBufferLength\",value:function(){var e=this.tech_.currentTime(),t=eh.GOAL_BUFFER_LENGTH,i=eh.GOAL_BUFFER_LENGTH_RATE,n=Math.max(t,eh.MAX_GOAL_BUFFER_LENGTH);return Math.min(t+e*i,n)}},{key:\"bufferLowWaterLine\",value:function(){var e=this.tech_.currentTime(),t=eh.BUFFER_LOW_WATER_LINE,i=eh.BUFFER_LOW_WATER_LINE_RATE,n=Math.max(t,eh.MAX_BUFFER_LOW_WATER_LINE);return Math.min(t+e*i,n)}}]),Eh);function Eh(e){al(this,Eh);var t=cl(this,(Eh.__proto__||Object.getPrototypeOf(Eh)).call(this)),i=e.url,n=e.handleManifestRedirects,r=e.withCredentials,s=e.tech,a=e.bandwidth,o=e.externHls,u=e.useCueTags,l=e.blacklistDuration,c=e.enableLowInitialPlaylist,h=e.cacheEncryptionKeys,d=e.sourceType;if(!i)throw new Error(\"A non-empty playlist URL is required\");kh=o,t.withCredentials=r,t.tech_=s,t.hls_=s.hls,t.sourceType_=d,t.useCueTags_=u,t.blacklistDuration=l,t.enableLowInitialPlaylist=c,t.useCueTags_&&(t.cueTagsTrack_=t.tech_.addTextTrack(\"metadata\",\"ad-cues\"),t.cueTagsTrack_.inBandMetadataTrackDispatchType=\"\"),t.requestOptions_={withCredentials:r,handleManifestRedirects:n,timeout:null},t.mediaTypes_=function(){var t={};return[\"AUDIO\",\"SUBTITLES\",\"CLOSED-CAPTIONS\"].forEach(function(e){t[e]={groups:{},tracks:{},activePlaylistLoader:null,activeGroup:Vc,activeTrack:Vc,onGroupChanged:Vc,onTrackChanged:Vc}}),t}(),t.mediaSource=new as.MediaSource,t.mediaSource.addEventListener(\"sourceopen\",t.handleSourceOpen_.bind(t)),t.seekable_=as.createTimeRanges(),t.hasPlayed_=!1,t.syncController_=new ph(e),t.segmentMetadataTrack_=s.addRemoteTextTrack({kind:\"metadata\",label:\"segment-metadata\"},!1).track,t.decrypter_=new yh,t.inbandTextTracks_={};var p={hls:t.hls_,mediaSource:t.mediaSource,currentTime:t.tech_.currentTime.bind(t.tech_),seekable:function(){return t.seekable()},seeking:function(){return t.tech_.seeking()},duration:function(){return t.mediaSource.duration},hasPlayed:function(){return t.hasPlayed_},goalBufferLength:function(){return t.goalBufferLength()},bandwidth:a,syncController:t.syncController_,decrypter:t.decrypter_,sourceType:t.sourceType_,inbandTextTracks:t.inbandTextTracks_,cacheEncryptionKeys:h};return t.masterPlaylistLoader_=\"dash\"===t.sourceType_?new jc(i,t.hls_,t.requestOptions_):new bl(i,t.hls_,t.requestOptions_),t.setupMasterPlaylistLoaderListeners_(),t.mainSegmentLoader_=new rh(as.mergeOptions(p,{segmentMetadataTrack:t.segmentMetadataTrack_,loaderType:\"main\"}),e),t.audioSegmentLoader_=new rh(as.mergeOptions(p,{loaderType:\"audio\"}),e),t.subtitleSegmentLoader_=new uh(as.mergeOptions(p,{loaderType:\"vtt\",featuresNativeTextTracks:t.tech_.featuresNativeTextTracks}),e),t.setupSegmentLoaderListeners_(),Ch.forEach(function(e){t[e+\"_\"]=function(e){return this.audioSegmentLoader_[e]+this.mainSegmentLoader_[e]}.bind(t,e)}),t.logger_=Hc(\"MPC\"),t.masterPlaylistLoader_.load(),t}function xh(e,t,i){al(this,xh);var n=e.masterPlaylistController_,r=n[(e.options_.smoothQualityChange?\"smooth\":\"fast\")+\"QualityChange_\"].bind(n);if(t.attributes.RESOLUTION){var s=t.attributes.RESOLUTION;this.width=s.width,this.height=s.height}this.bandwidth=t.attributes.BANDWIDTH,this.id=i,this.enabled=function(r,s,a){return function(e){var t=r.master.playlists[s],i=Pl(t),n=Ll(t);return\"undefined\"==typeof e?n:(e?delete t.disabled:t.disabled=!0,e===n||i||(a(),e?r.trigger(\"renditionenabled\"):r.trigger(\"renditiondisabled\")),e)}}(e.playlists,t.id,r)}var Ah=[\"seeking\",\"seeked\",\"pause\",\"playing\",\"error\"],Ih=(ol(Ph,[{key:\"monitorCurrentTime_\",value:function(){this.checkCurrentTime_(),this.checkCurrentTimeTimeout_&&y.clearTimeout(this.checkCurrentTimeTimeout_),this.checkCurrentTimeTimeout_=y.setTimeout(this.monitorCurrentTime_.bind(this),250)}},{key:\"checkCurrentTime_\",value:function(){if(this.tech_.seeking()&&this.fixesBadSeeks_())return this.consecutiveUpdates=0,void(this.lastRecordedTime=this.tech_.currentTime());if(!this.tech_.paused()&&!this.tech_.seeking()){var e=this.tech_.currentTime(),t=this.tech_.buffered();if(this.lastRecordedTime===e&&(!t.length||e+.1>=t.end(t.length-1)))return this.techWaiting_();5<=this.consecutiveUpdates&&e===this.lastRecordedTime?(this.consecutiveUpdates++,this.waiting_()):e===this.lastRecordedTime?this.consecutiveUpdates++:(this.consecutiveUpdates=0,this.lastRecordedTime=e)}}},{key:\"cancelTimer_\",value:function(){this.consecutiveUpdates=0,this.timer_&&(this.logger_(\"cancelTimer_\"),clearTimeout(this.timer_)),this.timer_=null}},{key:\"fixesBadSeeks_\",value:function(){if(!this.tech_.seeking())return!1;var e=this.seekable(),t=this.tech_.currentTime(),i=void 0;return this.afterSeekableWindow_(e,t,this.media(),this.allowSeeksWithinUnsafeLiveWindow)&&(i=e.end(e.length-1)),this.beforeSeekableWindow_(e,t)&&(i=e.start(0)+.1),\"undefined\"!=typeof i&&(this.logger_(\"Trying to seek outside of seekable at time \"+t+\" with seekable range \"+Xl(e)+\". Seeking to \"+i+\".\"),this.tech_.setCurrentTime(i),!0)}},{key:\"waiting_\",value:function(){if(!this.techWaiting_()){var e=this.tech_.currentTime(),t=this.tech_.buffered(),i=zl(t,e);return i.length&&e+3<=i.end(0)?(this.cancelTimer_(),this.tech_.setCurrentTime(e),this.logger_(\"Stopped at \"+e+\" while inside a buffered region [\"+i.start(0)+\" -> \"+i.end(0)+\"]. Attempting to resume playback by seeking to the current time.\"),void this.tech_.trigger({type:\"usage\",name:\"hls-unknown-waiting\"})):void 0}}},{key:\"techWaiting_\",value:function(){var e=this.seekable(),t=this.tech_.currentTime();if(this.tech_.seeking()&&this.fixesBadSeeks_())return!0;if(this.tech_.seeking()||null!==this.timer_)return!0;if(this.beforeSeekableWindow_(e,t)){var i=e.end(e.length-1);return this.logger_(\"Fell out of live window at time \"+t+\". Seeking to live point (seekable end) \"+i),this.cancelTimer_(),this.tech_.setCurrentTime(i),this.tech_.trigger({type:\"usage\",name:\"hls-live-resync\"}),!0}var n=this.tech_.buffered(),r=Gl(n,t);if(this.videoUnderflow_(r,n,t))return this.cancelTimer_(),this.tech_.setCurrentTime(t),this.tech_.trigger({type:\"usage\",name:\"hls-video-underflow\"}),!0;if(0<r.length){var s=r.start(0)-t;return this.logger_(\"Stopped at \"+t+\", setting timer for \"+s+\", seeking to \"+r.start(0)),this.timer_=setTimeout(this.skipTheGap_.bind(this),1e3*s,t),!0}return!1}},{key:\"afterSeekableWindow_\",value:function(e,t,i,n){var r=3<arguments.length&&void 0!==n&&n;if(!e.length)return!1;var s=e.end(e.length-1)+.1;return!i.endList&&r&&(s=e.end(e.length-1)+3*i.targetDuration),s<t}},{key:\"beforeSeekableWindow_\",value:function(e,t){return!!(e.length&&0<e.start(0)&&t<e.start(0)-.1)}},{key:\"videoUnderflow_\",value:function(e,t,i){if(0===e.length){var n=this.gapFromVideoUnderflow_(t,i);if(n)return this.logger_(\"Encountered a gap in video from \"+n.start+\" to \"+n.end+\". Seeking to current time \"+i),!0}return!1}},{key:\"skipTheGap_\",value:function(e){var t=this.tech_.buffered(),i=this.tech_.currentTime(),n=Gl(t,i);this.cancelTimer_(),0!==n.length&&i===e&&(this.logger_(\"skipTheGap_:\",\"currentTime:\",i,\"scheduled currentTime:\",e,\"nextRange start:\",n.start(0)),this.tech_.setCurrentTime(n.start(0)+1/30),this.tech_.trigger({type:\"usage\",name:\"hls-gap-skip\"}))}},{key:\"gapFromVideoUnderflow_\",value:function(e,t){for(var i=function(e){if(e.length<2)return as.createTimeRanges();for(var t=[],i=1;i<e.length;i++){var n=e.end(i-1),r=e.start(i);t.push([n,r])}return as.createTimeRanges(t)}(e),n=0;n<i.length;n++){var r=i.start(n),s=i.end(n);if(t-r<4&&2<t-r)return{start:r,end:s}}return null}}]),Ph);function Ph(e){var t=this;al(this,Ph),this.tech_=e.tech,this.seekable=e.seekable,this.allowSeeksWithinUnsafeLiveWindow=e.allowSeeksWithinUnsafeLiveWindow,this.media=e.media,this.consecutiveUpdates=0,this.lastRecordedTime=null,this.timer_=null,this.checkCurrentTimeTimeout_=null,this.logger_=Hc(\"PlaybackWatcher\"),this.logger_(\"initialize\");function i(){return t.monitorCurrentTime_()}function n(){return t.techWaiting_()}function r(){return t.cancelTimer_()}function s(){return t.fixesBadSeeks_()}this.tech_.on(\"seekablechanged\",s),this.tech_.on(\"waiting\",n),this.tech_.on(Ah,r),this.tech_.on(\"canplay\",i),this.dispose=function(){t.logger_(\"dispose\"),t.tech_.off(\"seekablechanged\",s),t.tech_.off(\"waiting\",n),t.tech_.off(Ah,r),t.tech_.off(\"canplay\",i),t.checkCurrentTimeTimeout_&&y.clearTimeout(t.checkCurrentTimeTimeout_),t.cancelTimer_()}}function Lh(e){!function t(i,e){var n=0,r=0,s=as.mergeOptions(Oh,e);i.ready(function(){i.trigger({type:\"usage\",name:\"hls-error-reload-initialized\"})});function a(){r&&i.currentTime(r)}function o(e){null!=e&&(r=i.duration()!==1/0&&i.currentTime()||0,i.one(\"loadedmetadata\",a),i.src(e),i.trigger({type:\"usage\",name:\"hls-error-reload\"}),i.play())}function u(){if(Date.now()-n<1e3*s.errorInterval)i.trigger({type:\"usage\",name:\"hls-error-reload-canceled\"});else{if(s.getSource&&\"function\"==typeof s.getSource)return n=Date.now(),s.getSource.call(i,o);as.log.error(\"ERROR: reloadSourceOnError - The option getSource must be a function!\")}}function l(){i.off(\"loadedmetadata\",a),i.off(\"error\",u),i.off(\"dispose\",l)}i.on(\"error\",u),i.on(\"dispose\",l),i.reloadSourceOnError=function(e){l(),t(i,e)}}(this,e)}var Oh={errorInterval:30,getSource:function(e){return e(this.tech({IWillNotUseThisInPlugins:!0}).currentSource_)}},Dh={PlaylistLoader:bl,Playlist:tc,Decrypter:il,AsyncStream:Ju,decrypt:tl,utils:rc,STANDARD_PLAYLIST_SELECTOR:function(){var e=this.useDevicePixelRatio&&y.devicePixelRatio||1;return function(e,t,i,n,r){var s=e.playlists.map(function(e){var t,i;return t=e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width,i=e.attributes.RESOLUTION&&e.attributes.RESOLUTION.height,{bandwidth:e.attributes.BANDWIDTH||y.Number.MAX_VALUE,width:t,height:i,playlist:e}});Qc(s,function(e,t){return e.bandwidth-t.bandwidth});var a=(s=s.filter(function(e){return!tc.isIncompatible(e.playlist)})).filter(function(e){return tc.isEnabled(e.playlist)});a.length||(a=s.filter(function(e){return!tc.isDisabled(e.playlist)}));var o=a.filter(function(e){return e.bandwidth*eh.BANDWIDTH_VARIANCE<t}),u=o[o.length-1],l=o.filter(function(e){return e.bandwidth===u.bandwidth})[0];if(!1===r){var c=l||a[0]||s[0];return c?c.playlist:null}var h=o.filter(function(e){return e.width&&e.height});Qc(h,function(e,t){return e.width-t.width});var d=h.filter(function(e){return e.width===i&&e.height===n});u=d[d.length-1];var p=d.filter(function(e){return e.bandwidth===u.bandwidth})[0],f=void 0,m=void 0,g=void 0;p||(m=(f=h.filter(function(e){return e.width>i||e.height>n})).filter(function(e){return e.width===f[0].width&&e.height===f[0].height}),u=m[m.length-1],g=m.filter(function(e){return e.bandwidth===u.bandwidth})[0]);var v=g||p||l||a[0]||s[0];return v?v.playlist:null}(this.playlists.master,this.systemBandwidth,parseInt($c(this.tech_.el(),\"width\"),10)*e,parseInt($c(this.tech_.el(),\"height\"),10)*e,this.limitRenditionByPlayerDimensions)},INITIAL_PLAYLIST_SELECTOR:function(){var e=this.playlists.master.playlists.filter(tc.isEnabled);return Qc(e,function(e,t){return Jc(e,t)}),e.filter(function(e){return vc(e.attributes.CODECS).videoCodec})[0]||null},comparePlaylistBandwidth:Jc,comparePlaylistResolution:function(e,t){var i=void 0,n=void 0;return e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width&&(i=e.attributes.RESOLUTION.width),i=i||y.Number.MAX_VALUE,t.attributes.RESOLUTION&&t.attributes.RESOLUTION.width&&(n=t.attributes.RESOLUTION.width),i===(n=n||y.Number.MAX_VALUE)&&e.attributes.BANDWIDTH&&t.attributes.BANDWIDTH?e.attributes.BANDWIDTH-t.attributes.BANDWIDTH:i-n},xhr:Nl()};[\"GOAL_BUFFER_LENGTH\",\"MAX_GOAL_BUFFER_LENGTH\",\"GOAL_BUFFER_LENGTH_RATE\",\"BUFFER_LOW_WATER_LINE\",\"MAX_BUFFER_LOW_WATER_LINE\",\"BUFFER_LOW_WATER_LINE_RATE\",\"BANDWIDTH_VARIANCE\"].forEach(function(t){Object.defineProperty(Dh,t,{get:function(){return as.log.warn(\"using Hls.\"+t+\" is UNSAFE be sure you know what you are doing\"),eh[t]},set:function(e){as.log.warn(\"using Hls.\"+t+\" is UNSAFE be sure you know what you are doing\"),\"number\"!=typeof e||e<0?as.log.warn(\"value of Hls.\"+t+\" must be greater than or equal to 0\"):eh[t]=e}})});function Nh(e){return/^(audio|video|application)\\/(x-|vnd\\.apple\\.)?mpegurl/i.test(e)?\"hls\":/^application\\/dash\\+xml/i.test(e)?\"dash\":null}function Rh(e,t){for(var i=t.media(),n=-1,r=0;r<e.length;r++)if(e[r].id===i.id){n=r;break}e.selectedIndex_=n,e.trigger({selectedIndex:n,type:\"change\"})}var Uh=\"videojs-vhs\";Dh.canPlaySource=function(){return as.log.warn(\"HLS is no longer a tech. Please remove it from your player's techOrder.\")};function Mh(e){var t=e.masterPlaylistController_.mainSegmentLoader_,i=e.masterPlaylistController_.audioSegmentLoader_,n=as.players[e.tech_.options_.playerId];if(n.eme){var r=function(e,t,i){if(!e)return e;var n=void 0,r=void 0;if(i.mimeType_)n=t.mimeType_,r=i.mimeType_;else{var s=bc(t.mimeType_),a=s.parameters.codecs.split(\",\"),o=void 0,u=void 0;a.forEach(function(e){e=e.trim(),Tc(e)?o=e:Sc(e)&&(u=e)}),n=s.type+'; codecs=\"'+u+'\"',r=s.type.replace(\"video\",\"audio\")+'; codecs=\"'+o+'\"'}var l={},c=t.playlist_;for(var h in e)l[h]={audioContentType:r,videoContentType:n},c.contentProtection&&c.contentProtection[h]&&c.contentProtection[h].pssh&&(l[h].pssh=c.contentProtection[h].pssh),\"string\"==typeof e[h]&&(l[h].url=e[h]);return as.mergeOptions(e,l)}(e.source_.keySystems,t,i);r&&(n.currentSource().keySystems=r,11!==as.browser.IE_VERSION&&n.eme.initializeMediaKeys&&n.eme.initializeMediaKeys())}}function Bh(){if(!window.localStorage)return null;var e=window.localStorage.getItem(Uh);if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}Dh.supportsNativeHls=function(){var t=h.createElement(\"video\");if(!as.getTech(\"Html5\").isSupported())return!1;return[\"application/vnd.apple.mpegurl\",\"audio/mpegurl\",\"audio/x-mpegurl\",\"application/x-mpegurl\",\"video/x-mpegurl\",\"video/mpegurl\",\"application/mpegurl\"].some(function(e){return/maybe|probably/i.test(t.canPlayType(e))})}(),Dh.supportsNativeDash=!!as.getTech(\"Html5\").isSupported()&&/maybe|probably/i.test(h.createElement(\"video\").canPlayType(\"application/dash+xml\")),Dh.supportsTypeNatively=function(e){return\"hls\"===e?Dh.supportsNativeHls:\"dash\"===e&&Dh.supportsNativeDash},Dh.isSupported=function(){return as.log.warn(\"HLS is no longer a tech. Please remove it from your player's techOrder.\")};var jh=as.getComponent(\"Component\"),Fh=(ll(Hh,jh),ol(Hh,[{key:\"setOptions_\",value:function(){var t=this;if(this.options_.withCredentials=this.options_.withCredentials||!1,this.options_.handleManifestRedirects=this.options_.handleManifestRedirects||!1,this.options_.limitRenditionByPlayerDimensions=!1!==this.options_.limitRenditionByPlayerDimensions,this.options_.useDevicePixelRatio=this.options_.useDevicePixelRatio||!1,this.options_.smoothQualityChange=this.options_.smoothQualityChange||!1,this.options_.useBandwidthFromLocalStorage=\"undefined\"!=typeof this.source_.useBandwidthFromLocalStorage?this.source_.useBandwidthFromLocalStorage:this.options_.useBandwidthFromLocalStorage||!1,this.options_.customTagParsers=this.options_.customTagParsers||[],this.options_.customTagMappers=this.options_.customTagMappers||[],this.options_.cacheEncryptionKeys=this.options_.cacheEncryptionKeys||!1,\"number\"!=typeof this.options_.blacklistDuration&&(this.options_.blacklistDuration=300),\"number\"!=typeof this.options_.bandwidth&&this.options_.useBandwidthFromLocalStorage){var e=Bh();e&&e.bandwidth&&(this.options_.bandwidth=e.bandwidth,this.tech_.trigger({type:\"usage\",name:\"hls-bandwidth-from-local-storage\"})),e&&e.throughput&&(this.options_.throughput=e.throughput,this.tech_.trigger({type:\"usage\",name:\"hls-throughput-from-local-storage\"}))}\"number\"!=typeof this.options_.bandwidth&&(this.options_.bandwidth=eh.INITIAL_BANDWIDTH),this.options_.enableLowInitialPlaylist=this.options_.enableLowInitialPlaylist&&this.options_.bandwidth===eh.INITIAL_BANDWIDTH,[\"withCredentials\",\"useDevicePixelRatio\",\"limitRenditionByPlayerDimensions\",\"bandwidth\",\"smoothQualityChange\",\"customTagParsers\",\"customTagMappers\",\"handleManifestRedirects\",\"cacheEncryptionKeys\"].forEach(function(e){\"undefined\"!=typeof t.source_[e]&&(t.options_[e]=t.source_[e])}),this.limitRenditionByPlayerDimensions=this.options_.limitRenditionByPlayerDimensions,this.useDevicePixelRatio=this.options_.useDevicePixelRatio}},{key:\"src\",value:function(e,t){var i=this;e&&(this.setOptions_(),this.options_.url=this.source_.src,this.options_.tech=this.tech_,this.options_.externHls=Dh,this.options_.sourceType=Nh(t),this.options_.seekTo=function(e){i.tech_.setCurrentTime(e)},this.masterPlaylistController_=new wh(this.options_),this.playbackWatcher_=new Ih(as.mergeOptions(this.options_,{seekable:function(){return i.seekable()},media:function(){return i.masterPlaylistController_.media()}})),this.masterPlaylistController_.on(\"error\",function(){as.players[i.tech_.options_.playerId].error(i.masterPlaylistController_.error)}),this.masterPlaylistController_.selectPlaylist=this.selectPlaylist?this.selectPlaylist.bind(this):Dh.STANDARD_PLAYLIST_SELECTOR.bind(this),this.masterPlaylistController_.selectInitialPlaylist=Dh.INITIAL_PLAYLIST_SELECTOR.bind(this),this.playlists=this.masterPlaylistController_.masterPlaylistLoader_,this.mediaSource=this.masterPlaylistController_.mediaSource,Object.defineProperties(this,{selectPlaylist:{get:function(){return this.masterPlaylistController_.selectPlaylist},set:function(e){this.masterPlaylistController_.selectPlaylist=e.bind(this)}},throughput:{get:function(){return this.masterPlaylistController_.mainSegmentLoader_.throughput.rate},set:function(e){this.masterPlaylistController_.mainSegmentLoader_.throughput.rate=e,this.masterPlaylistController_.mainSegmentLoader_.throughput.count=1}},bandwidth:{get:function(){return this.masterPlaylistController_.mainSegmentLoader_.bandwidth},set:function(e){this.masterPlaylistController_.mainSegmentLoader_.bandwidth=e,this.masterPlaylistController_.mainSegmentLoader_.throughput={rate:0,count:0}}},systemBandwidth:{get:function(){var e=1/(this.bandwidth||1),t=void 0;return t=0<this.throughput?1/this.throughput:0,Math.floor(1/(e+t))},set:function(){as.log.error('The \"systemBandwidth\" property is read-only')}}}),this.options_.bandwidth&&(this.bandwidth=this.options_.bandwidth),this.options_.throughput&&(this.throughput=this.options_.throughput),Object.defineProperties(this.stats,{bandwidth:{get:function(){return i.bandwidth||0},enumerable:!0},mediaRequests:{get:function(){return i.masterPlaylistController_.mediaRequests_()||0},enumerable:!0},mediaRequestsAborted:{get:function(){return i.masterPlaylistController_.mediaRequestsAborted_()||0},enumerable:!0},mediaRequestsTimedout:{get:function(){return i.masterPlaylistController_.mediaRequestsTimedout_()||0},enumerable:!0},mediaRequestsErrored:{get:function(){return i.masterPlaylistController_.mediaRequestsErrored_()||0},enumerable:!0},mediaTransferDuration:{get:function(){return i.masterPlaylistController_.mediaTransferDuration_()||0},enumerable:!0},mediaBytesTransferred:{get:function(){return i.masterPlaylistController_.mediaBytesTransferred_()||0},enumerable:!0},mediaSecondsLoaded:{get:function(){return i.masterPlaylistController_.mediaSecondsLoaded_()||0},enumerable:!0},buffered:{get:function(){return Kl(i.tech_.buffered())},enumerable:!0},currentTime:{get:function(){return i.tech_.currentTime()},enumerable:!0},currentSource:{get:function(){return i.tech_.currentSource_},enumerable:!0},currentTech:{get:function(){return i.tech_.name_},enumerable:!0},duration:{get:function(){return i.tech_.duration()},enumerable:!0},master:{get:function(){return i.playlists.master},enumerable:!0},playerDimensions:{get:function(){return i.tech_.currentDimensions()},enumerable:!0},seekable:{get:function(){return Kl(i.tech_.seekable())},enumerable:!0},timestamp:{get:function(){return Date.now()},enumerable:!0},videoPlaybackQuality:{get:function(){return i.tech_.getVideoPlaybackQuality()},enumerable:!0}}),this.tech_.one(\"canplay\",this.masterPlaylistController_.setupFirstPlay.bind(this.masterPlaylistController_)),this.tech_.on(\"bandwidthupdate\",function(){i.options_.useBandwidthFromLocalStorage&&function(e){if(window.localStorage){var t=Bh();t=t?as.mergeOptions(t,e):e;try{window.localStorage.setItem(Uh,JSON.stringify(t))}catch(e){return}}}({bandwidth:i.bandwidth,throughput:Math.round(i.throughput)})}),this.masterPlaylistController_.on(\"selectedinitialmedia\",function(){!function(i){var e=i.playlists;i.representations=function(){return e&&e.master&&e.master.playlists?e.master.playlists.filter(function(e){return!Pl(e)}).map(function(e,t){return new xh(i,e,e.id)}):[]}}(i),Mh(i)}),this.on(this.masterPlaylistController_,\"progress\",function(){this.tech_.trigger(\"progress\")}),this.on(this.masterPlaylistController_,\"firstplay\",function(){this.ignoreNextSeekingEvent_=!0}),this.setupQualityLevels_(),this.tech_.el()&&this.tech_.src(as.URL.createObjectURL(this.masterPlaylistController_.mediaSource)))}},{key:\"setupQualityLevels_\",value:function(){var e=this,t=as.players[this.tech_.options_.playerId];t&&t.qualityLevels&&!this.qualityLevels_&&(this.qualityLevels_=t.qualityLevels(),this.masterPlaylistController_.on(\"selectedinitialmedia\",function(){!function(t,e){e.representations().forEach(function(e){t.addQualityLevel(e)}),Rh(t,e.playlists)}(e.qualityLevels_,e)}),this.playlists.on(\"mediachange\",function(){Rh(e.qualityLevels_,e.playlists)}))}},{key:\"play\",value:function(){this.masterPlaylistController_.play()}},{key:\"setCurrentTime\",value:function(e){this.masterPlaylistController_.setCurrentTime(e)}},{key:\"duration\",value:function(){return this.masterPlaylistController_.duration()}},{key:\"seekable\",value:function(){return this.masterPlaylistController_.seekable()}},{key:\"dispose\",value:function(){this.playbackWatcher_&&this.playbackWatcher_.dispose(),this.masterPlaylistController_&&this.masterPlaylistController_.dispose(),this.qualityLevels_&&this.qualityLevels_.dispose(),this.player_&&(delete this.player_.vhs,delete this.player_.dash,delete this.player_.hls),this.tech_&&this.tech_.hls&&delete this.tech_.hls,function e(t,i,n){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,i);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,i,n)}if(\"value\"in r)return r.value;var a=r.get;return void 0!==a?a.call(n):void 0}(Hh.prototype.__proto__||Object.getPrototypeOf(Hh.prototype),\"dispose\",this).call(this)}},{key:\"convertToProgramTime\",value:function(e,t){return Vl({playlist:this.masterPlaylistController_.media(),time:e,callback:t})}},{key:\"seekToProgramTime\",value:function(e,t,i,n){var r=!(2<arguments.length&&void 0!==i)||i,s=3<arguments.length&&void 0!==n?n:2;return ql({programTime:e,playlist:this.masterPlaylistController_.media(),retryCount:s,pauseAfterSeek:r,seekTo:this.options_.seekTo,tech:this.options_.tech,callback:t})}}]),Hh);function Hh(e,t,i){al(this,Hh);var n=cl(this,(Hh.__proto__||Object.getPrototypeOf(Hh)).call(this,t,i.hls));if(t.options_&&t.options_.playerId){var r=as(t.options_.playerId);r.hasOwnProperty(\"hls\")||Object.defineProperty(r,\"hls\",{get:function(){return as.log.warn(\"player.hls is deprecated. Use player.tech().hls instead.\"),t.trigger({type:\"usage\",name:\"hls-player-access\"}),n},configurable:!0}),r.vhs=n,(r.dash=n).player_=r}if(n.tech_=t,n.source_=e,n.stats={},n.ignoreNextSeekingEvent_=!1,n.setOptions_(),n.options_.overrideNative&&t.overrideNativeAudioTracks&&t.overrideNativeVideoTracks)t.overrideNativeAudioTracks(!0),t.overrideNativeVideoTracks(!0);else if(n.options_.overrideNative&&(t.featuresNativeVideoTracks||t.featuresNativeAudioTracks))throw new Error(\"Overriding native HLS requires emulated tracks. See https://git.io/vMpjB\");return n.on(h,[\"fullscreenchange\",\"webkitfullscreenchange\",\"mozfullscreenchange\",\"MSFullscreenChange\"],function(e){var t=h.fullscreenElement||h.webkitFullscreenElement||h.mozFullScreenElement||h.msFullscreenElement;t&&t.contains(n.tech_.el())&&n.masterPlaylistController_.smoothQualityChange_()}),n.on(n.tech_,\"seeking\",function(){this.ignoreNextSeekingEvent_?this.ignoreNextSeekingEvent_=!1:this.setCurrentTime(this.tech_.currentTime())}),n.on(n.tech_,\"error\",function(){this.masterPlaylistController_&&this.masterPlaylistController_.pauseLoading()}),n.on(n.tech_,\"play\",n.play),n}var Vh={name:\"videojs-http-streaming\",VERSION:\"1.13.2\",canHandleSource:function(e,t){var i=as.mergeOptions(as.options,1<arguments.length&&void 0!==t?t:{});return Vh.canPlayType(e.type,i)},handleSource:function(e,t,i){var n=as.mergeOptions(as.options,2<arguments.length&&void 0!==i?i:{});return t.hls=new Fh(e,t,n),t.hls.xhr=Nl(),t.hls.src(e.src,e.type),t.hls},canPlayType:function(e,t){var i=as.mergeOptions(as.options,1<arguments.length&&void 0!==t?t:{}).hls.overrideNative,n=Nh(e);return n&&(!Dh.supportsTypeNatively(n)||i)?\"maybe\":\"\"}};return\"undefined\"!=typeof as.MediaSource&&\"undefined\"!=typeof as.URL||(as.MediaSource=Oc,as.URL=Dc),Oc.supportsNativeMediaSources()&&as.getTech(\"Html5\").registerSourceHandler(Vh,0),as.HlsHandler=Fh,as.HlsSourceHandler=Vh,as.Hls=Dh,as.use||as.registerComponent(\"Hls\",Dh),as.options.hls=as.options.hls||{},as.registerPlugin?as.registerPlugin(\"reloadSourceOnError\",Lh):as.plugin(\"reloadSourceOnError\",Lh),as});","var processInclude = require('base/util');\n// This list should include any JS files that check for specific nodes in DOM that may be added to belowFold region\nvar coreFiles = {\n einstein: require('core/components/einsteinRecs'),\n productTile: require('core/components/productTile'),\n video: require('core/components/video'),\n slider: require('core/components/slider'),\n pageDesigner: require('core/pageDesigner')\n}\n\n$(document).ready(() => {\n\n // Render any components in the Below Fold region via ajax after page load\n if ($('#belowFoldRegion').length) {\n const $belowFoldRegion = $('#belowFoldRegion');\n const url = $belowFoldRegion.data('url');\n const populateRegion = new Promise(resolve => {\n // Send to Page-Show, return HTML for ajaxRegion template\n $.ajax({\n url: url,\n method: 'GET',\n success: response => {\n $belowFoldRegion.html(response);\n resolve();\n },\n error: err => {\n console.error('Unable to render Below Fold region ', err);\n }\n });\n });\n\n populateRegion.then(() => {\n Object.keys(coreFiles).forEach(function (key) {\n if (key === 'slider') {\n coreFiles[key].initializeSliders($belowFoldRegion);\n } else {\n processInclude(coreFiles[key]);\n }\n });\n });\n }\n\n // Delegating this event to body in case Content Grid component is loaded in Below Fold region\n $('body').on('click', '.show-more-content button', function (e) {\n e.stopPropagation();\n var $target = $(event.target);\n var showMoreUrl = $(this).data('url');\n e.preventDefault();\n $.spinner().start();\n\n $.ajax({\n url: showMoreUrl,\n data: { selectedUrl: showMoreUrl },\n method: 'GET',\n success: function (response) {\n $target.closest('.content-grid-footer').replaceWith(response);\n $.spinner().stop();\n },\n error: function () {\n $.spinner().stop();\n }\n });\n });\n\n});\n","'use strict';\n\nmodule.exports = function (include) {\n if (typeof include === 'function') {\n include.call(this);\n } else if (typeof include === 'object') {\n Object.keys(include).forEach(function (key) {\n if (typeof include[key] === 'function') {\n include[key].call(include);\n }\n });\n }\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/* (ignored) */"],"sourceRoot":""}