File: //home/arjun/projects/propbase/propbase_website/node_modules/react-slick/dist/react-slick.js.map
{"version":3,"sources":["webpack://Slider/webpack/universalModuleDefinition","webpack://Slider/webpack/bootstrap","webpack://Slider/./src/index.js","webpack://Slider/./src/slider.js","webpack://Slider/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://Slider/./src/inner-slider.js","webpack://Slider/./src/initial-state.js","webpack://Slider/./node_modules/lodash.debounce/index.js","webpack://Slider/(webpack)/buildin/global.js","webpack://Slider/./node_modules/classnames/index.js","webpack://Slider/./src/utils/innerSliderUtils.js","webpack://Slider/./src/default-props.js","webpack://Slider/./src/track.js","webpack://Slider/./src/dots.js","webpack://Slider/./src/arrows.js","webpack://Slider/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://Slider/./node_modules/json2mq/index.js","webpack://Slider/./node_modules/string-convert/camel2hyphen.js","webpack://Slider/./node_modules/enquire.js/src/index.js","webpack://Slider/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://Slider/./node_modules/enquire.js/src/MediaQuery.js","webpack://Slider/./node_modules/enquire.js/src/QueryHandler.js","webpack://Slider/./node_modules/enquire.js/src/Util.js"],"names":["Slider","_typeof","o","Symbol","iterator","constructor","prototype","_extends","Object","assign","bind","target","i","arguments","length","source","key","hasOwnProperty","call","apply","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","configurable","writable","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","create","value","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","Boolean","valueOf","getPrototypeOf","obj","_toPrimitive","String","toPrimitive","Number","enquire","canUseDOM","require","_React$Component","_super","_this","ref","innerSlider","slickPrev","slickNext","slide","dontAnimate","undefined","slickGoTo","pause","autoPlay","state","breakpoint","_responsiveMediaHandlers","media","query","handler","register","componentDidMount","_this2","responsive","breakpoints","map","breakpt","sort","x","y","index","bQuery","json2mq","minWidth","maxWidth","setState","slice","componentWillUnmount","unregister","render","_this3","settings","newProps","resp","defaultProps","centerMode","slidesToScroll","process","console","warn","concat","fade","slidesToShow","children","React","Children","toArray","child","trim","variableWidth","rows","slidesPerRow","newChildren","currentWidth","newSlide","j","row","k","style","width","cloneElement","tabIndex","display","createElement","className","infinite","unslick","InnerSlider","innerSliderRefHandler","filterSettings","Component","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","list","track","adaptiveHeight","elem","querySelector","currentSlide","height","getHeight","onInit","lazyLoad","slidesToLoad","getOnDemandLazySlides","prevState","lazyLoadedList","onLazyLoad","spec","listRef","trackRef","updateState","adaptHeight","autoplay","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","ResizeObserver","animating","onWindowResized","callbackTimers","setTimeout","speed","observe","document","querySelectorAll","Array","onfocus","pauseOnFocus","onSlideFocus","onblur","onSlideBlur","window","addEventListener","attachEvent","animationEndCallback","clearTimeout","clearInterval","timer","removeEventListener","detachEvent","autoplayTimer","disconnect","prevProps","checkImagesLoad","onReInit","setTrackStyle","didPropsChange","count","changeSlide","message","debouncedResize","cancel","debounce","resizeWindow","isTrackMounted","node","callback","updatedState","initializedState","slideIndex","targetLeft","getTrackLeft","left","trackStyle","getTrackCSS","trackWidth","trackLeft","childrenWidths","preClones","getPreClones","slideCount","postClones","getPostClones","childrenCount","slideWidth","images","imagesCount","loadedCount","image","onclick","parentNode","focus","prevClickHandler","onload","onerror","onLazyLoadError","_this$props","asNavFor","beforeChange","afterChange","_slideHandler","slideHandler","useCSS","nextState","waitForAnimate","asNavForIndex","firstBatch","options","targetSlide","focusOnSelect","nodes","clickable","stopPropagation","preventDefault","dir","keyHandler","accessibility","rtl","event","returnValue","ontouchmove","verticalSwiping","disableBodyScroll","swipeStart","swipe","draggable","swipeMove","swipeEnd","triggerSlideHandler","enableBodyScroll","isNaN","nextIndex","canGoNext","playType","autoplaying","play","autoplaySpeed","pauseType","classnames","vertical","trackProps","extractObject","pauseOnHover","onMouseEnter","onTrackOver","onMouseLeave","onTrackLeave","onMouseOver","selectHandler","dots","dotProps","pauseOnDotsHover","clickHandler","onDotsLeave","onDotsOver","Dots","prevArrow","nextArrow","arrowProps","arrows","PrevArrow","NextArrow","verticalHeightStyle","listHeight","centerPaddingStyle","padding","centerPadding","listStyle","touchMove","listProps","onClick","onMouseDown","onMouseMove","dragging","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","onKeyDown","innerSliderProps","listRefHandler","Track","trackRefHandler","initialState","initialSlide","ssrState","ssrInit","_i3","_Object$keys","currentDirection","currentLeft","direction","edgeDragged","initialized","listWidth","scrolling","slideHeight","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","clamp","number","lowerBound","upperBound","Math","max","min","safePreventDefault","passiveEvents","includes","_reactName","onDemandSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","getRequiredLazySlides","requiredSlides","lazySlidesOnLeft","lazySlidesOnRight","floor","parseInt","getWidth","offsetWidth","offsetHeight","getSwipeDirection","xDist","yDist","swipeAngle","atan2","round","PI","abs","canGo","newObject","listNode","ceil","trackNode","centerPaddingAdj","animationSlide","finalSlide","animationLeft","finalLeft","getTrackAnimateCSS","indexOffset","previousInt","slideOffset","unevenOffset","previousTargetSlide","siblingDirection","tagName","match","keyCode","type","touches","pageX","clientX","pageY","clientY","swipeToSlide","edgeFriction","onEdge","swipeEvent","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","dotCount","swipeDirection","touchSwipeLength","touchThreshold","onSwipe","minSwipe","activeSlide","getSlideCount","checkNavigable","getNavigableIndexes","counter","indexes","navigables","prevNavigable","n","centerOffset","swipedSlide","slickList","slides","from","every","offsetLeft","offsetTop","currentIndex","slidesTraversed","dataset","checkSpecKeys","keysArray","reduce","error","trackHeight","trackChildren","getTotalSlides","opacity","transition","WebkitTransition","useTransform","WebkitTransform","transform","msTransform","marginLeft","marginTop","cssEase","verticalOffset","slidesToOffset","targetSlideIndex","trackElem","childNodes","slidesOnRight","slidesOnLeft","_ref","right","_ref2","validSettings","acc","settingName","appendDots","customPaging","dotsClass","easing","getSlideClasses","slickActive","slickCenter","slickCloned","focusedSlide","slickCurrent","getSlideStyle","position","top","zIndex","getKey","fallbackKey","renderSlides","preCloneSlides","postCloneSlides","childOnClickOptions","childStyle","slideClass","slideClasses","outline","preCloneNo","reverse","_React$PureComponent","_len","args","_key","mouseEvents","handleRef","PureComponent","getDotCount","_rightBound","rightBound","_leftBound","leftBound","dotOptions","prevClasses","prevHandler","prevArrowProps","customProps","_React$PureComponent2","_super2","nextClasses","nextHandler","nextArrowProps"],"mappings":"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AEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;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,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;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;;AAEA;;;;;;;;ACxXA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,EAAE,UAAU,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAEN;AACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnDyB;AACkB;AAErC,SAASsB,KAAKA,CAACC,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAE;EACpD,OAAOC,IAAI,CAACC,GAAG,CAACH,UAAU,EAAEE,IAAI,CAACE,GAAG,CAACL,MAAM,EAAEE,UAAU,CAAC,CAAC;AAC3D;AAEO,IAAMI,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGhG,KAAK,EAAI;EACzC,IAAMiG,aAAa,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC;EAChE,IAAI,CAACA,aAAa,CAACC,QAAQ,CAAClG,KAAK,CAACmG,UAAU,CAAC,EAAE;IAC7CnG,KAAK,CAACL,cAAc,CAAC,CAAC;EACxB;AACF,CAAC;AAEM,IAAMrG,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGI,IAAI,EAAI;EAC3C,IAAI0M,cAAc,GAAG,EAAE;EACvB,IAAIC,UAAU,GAAGC,cAAc,CAAC5M,IAAI,CAAC;EACrC,IAAI6M,QAAQ,GAAGC,YAAY,CAAC9M,IAAI,CAAC;EACjC,KAAK,IAAIqD,UAAU,GAAGsJ,UAAU,EAAEtJ,UAAU,GAAGwJ,QAAQ,EAAExJ,UAAU,EAAE,EAAE;IACrE,IAAIrD,IAAI,CAACF,cAAc,CAAChB,OAAO,CAACuE,UAAU,CAAC,GAAG,CAAC,EAAE;MAC/CqJ,cAAc,CAACvW,IAAI,CAACkN,UAAU,CAAC;IACjC;EACF;EACA,OAAOqJ,cAAc;AACvB,CAAC;;AAED;AACO,IAAMK,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAG/M,IAAI,EAAI;EAC3C,IAAIgN,cAAc,GAAG,EAAE;EACvB,IAAIL,UAAU,GAAGC,cAAc,CAAC5M,IAAI,CAAC;EACrC,IAAI6M,QAAQ,GAAGC,YAAY,CAAC9M,IAAI,CAAC;EACjC,KAAK,IAAIqD,UAAU,GAAGsJ,UAAU,EAAEtJ,UAAU,GAAGwJ,QAAQ,EAAExJ,UAAU,EAAE,EAAE;IACrE2J,cAAc,CAAC7W,IAAI,CAACkN,UAAU,CAAC;EACjC;EACA,OAAO2J,cAAc;AACvB,CAAC;;AAED;AACO,IAAMJ,cAAc,GAAG,SAAjBA,cAAcA,CAAG5M,IAAI;EAAA,OAChCA,IAAI,CAACV,YAAY,GAAG2N,gBAAgB,CAACjN,IAAI,CAAC;AAAA;AACrC,IAAM8M,YAAY,GAAG,SAAfA,YAAYA,CAAG9M,IAAI;EAAA,OAAIA,IAAI,CAACV,YAAY,GAAG4N,iBAAiB,CAAClN,IAAI,CAAC;AAAA;AACxE,IAAMiN,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGjN,IAAI;EAAA,OAClCA,IAAI,CAAC1D,UAAU,GACX6P,IAAI,CAACgB,KAAK,CAACnN,IAAI,CAACnD,YAAY,GAAG,CAAC,CAAC,IAChCuQ,QAAQ,CAACpN,IAAI,CAACsJ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAC1C,CAAC;AAAA;AACA,IAAM4D,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGlN,IAAI;EAAA,OACnCA,IAAI,CAAC1D,UAAU,GACX6P,IAAI,CAACgB,KAAK,CAAC,CAACnN,IAAI,CAACnD,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,GACvC,CAAC,IACAuQ,QAAQ,CAACpN,IAAI,CAACsJ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAC1CtJ,IAAI,CAACnD,YAAY;AAAA;;AAEvB;AACO,IAAMwQ,QAAQ,GAAG,SAAXA,QAAQA,CAAGjO,IAAI;EAAA,OAAKA,IAAI,IAAIA,IAAI,CAACkO,WAAW,IAAK,CAAC;AAAA;AACxD,IAAM9N,SAAS,GAAG,SAAZA,SAASA,CAAGJ,IAAI;EAAA,OAAKA,IAAI,IAAIA,IAAI,CAACmO,YAAY,IAAK,CAAC;AAAA;AAC1D,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAI9B,WAAW,EAA8B;EAAA,IAA5BjF,eAAe,GAAAtR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgF,SAAA,GAAAhF,SAAA,MAAG,KAAK;EACpE,IAAIsY,KAAK,EAAEC,KAAK,EAAE9X,CAAC,EAAE+X,UAAU;EAC/BF,KAAK,GAAG/B,WAAW,CAACC,MAAM,GAAGD,WAAW,CAACG,IAAI;EAC7C6B,KAAK,GAAGhC,WAAW,CAACE,MAAM,GAAGF,WAAW,CAACI,IAAI;EAC7ClW,CAAC,GAAGuW,IAAI,CAACyB,KAAK,CAACF,KAAK,EAAED,KAAK,CAAC;EAC5BE,UAAU,GAAGxB,IAAI,CAAC0B,KAAK,CAAEjY,CAAC,GAAG,GAAG,GAAIuW,IAAI,CAAC2B,EAAE,CAAC;EAC5C,IAAIH,UAAU,GAAG,CAAC,EAAE;IAClBA,UAAU,GAAG,GAAG,GAAGxB,IAAI,CAAC4B,GAAG,CAACJ,UAAU,CAAC;EACzC;EACA,IACGA,UAAU,IAAI,EAAE,IAAIA,UAAU,IAAI,CAAC,IACnCA,UAAU,IAAI,GAAG,IAAIA,UAAU,IAAI,GAAI,EACxC;IACA,OAAO,MAAM;EACf;EACA,IAAIA,UAAU,IAAI,GAAG,IAAIA,UAAU,IAAI,GAAG,EAAE;IAC1C,OAAO,OAAO;EAChB;EACA,IAAIlH,eAAe,KAAK,IAAI,EAAE;IAC5B,IAAIkH,UAAU,IAAI,EAAE,IAAIA,UAAU,IAAI,GAAG,EAAE;MACzC,OAAO,IAAI;IACb,CAAC,MAAM;MACL,OAAO,MAAM;IACf;EACF;EAEA,OAAO,UAAU;AACnB,CAAC;;AAED;AACO,IAAMvG,SAAS,GAAG,SAAZA,SAASA,CAAGpH,IAAI,EAAI;EAC/B,IAAIgO,KAAK,GAAG,IAAI;EAChB,IAAI,CAAChO,IAAI,CAAC5B,QAAQ,EAAE;IAClB,IAAI4B,IAAI,CAAC1D,UAAU,IAAI0D,IAAI,CAACV,YAAY,IAAIU,IAAI,CAACgE,UAAU,GAAG,CAAC,EAAE;MAC/DgK,KAAK,GAAG,KAAK;IACf,CAAC,MAAM,IACLhO,IAAI,CAACgE,UAAU,IAAIhE,IAAI,CAACnD,YAAY,IACpCmD,IAAI,CAACV,YAAY,IAAIU,IAAI,CAACgE,UAAU,GAAGhE,IAAI,CAACnD,YAAY,EACxD;MACAmR,KAAK,GAAG,KAAK;IACf;EACF;EACA,OAAOA,KAAK;AACd,CAAC;;AAED;AACO,IAAMnG,aAAa,GAAG,SAAhBA,aAAaA,CAAI7H,IAAI,EAAElK,IAAI,EAAK;EAC3C,IAAImY,SAAS,GAAG,CAAC,CAAC;EAClBnY,IAAI,CAACO,OAAO,CAAC,UAAAf,GAAG;IAAA,OAAK2Y,SAAS,CAAC3Y,GAAG,CAAC,GAAG0K,IAAI,CAAC1K,GAAG,CAAC;EAAA,CAAC,CAAC;EACjD,OAAO2Y,SAAS;AAClB,CAAC;;AAED;AACO,IAAM7K,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGpD,IAAI,EAAI;EACtC;EACA,IAAIgE,UAAU,GAAGjH,4CAAK,CAACC,QAAQ,CAACyF,KAAK,CAACzC,IAAI,CAAClD,QAAQ,CAAC;EACpD,IAAMoR,QAAQ,GAAGlO,IAAI,CAACC,OAAO;EAC7B,IAAImL,SAAS,GAAGe,IAAI,CAACgC,IAAI,CAACd,QAAQ,CAACa,QAAQ,CAAC,CAAC;EAC7C,IAAME,SAAS,GAAGpO,IAAI,CAACE,QAAQ,IAAIF,IAAI,CAACE,QAAQ,CAAC+C,IAAI;EACrD,IAAIU,UAAU,GAAGwI,IAAI,CAACgC,IAAI,CAACd,QAAQ,CAACe,SAAS,CAAC,CAAC;EAC/C,IAAIhK,UAAU;EACd,IAAI,CAACpE,IAAI,CAAC2H,QAAQ,EAAE;IAClB,IAAI0G,gBAAgB,GAAGrO,IAAI,CAAC1D,UAAU,IAAI8Q,QAAQ,CAACpN,IAAI,CAACsJ,aAAa,CAAC,GAAG,CAAC;IAC1E,IACE,OAAOtJ,IAAI,CAACsJ,aAAa,KAAK,QAAQ,IACtCtJ,IAAI,CAACsJ,aAAa,CAACzN,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EACpC;MACAwS,gBAAgB,IAAIjD,SAAS,GAAG,GAAG;IACrC;IACAhH,UAAU,GAAG+H,IAAI,CAACgC,IAAI,CAAC,CAAC/C,SAAS,GAAGiD,gBAAgB,IAAIrO,IAAI,CAACnD,YAAY,CAAC;EAC5E,CAAC,MAAM;IACLuH,UAAU,GAAGgH,SAAS;EACxB;EACA,IAAIE,WAAW,GACb4C,QAAQ,IAAI1O,SAAS,CAAC0O,QAAQ,CAAC7O,aAAa,CAAC,kBAAkB,CAAC,CAAC;EACnE,IAAI8J,UAAU,GAAGmC,WAAW,GAAGtL,IAAI,CAACnD,YAAY;EAChD,IAAIyC,YAAY,GACdU,IAAI,CAACV,YAAY,KAAKnF,SAAS,GAAG6F,IAAI,CAAC0K,YAAY,GAAG1K,IAAI,CAACV,YAAY;EACzE,IAAIU,IAAI,CAACqG,GAAG,IAAIrG,IAAI,CAACV,YAAY,KAAKnF,SAAS,EAAE;IAC/CmF,YAAY,GAAG0E,UAAU,GAAG,CAAC,GAAGhE,IAAI,CAAC0K,YAAY;EACnD;EACA,IAAI5K,cAAc,GAAGE,IAAI,CAACF,cAAc,IAAI,EAAE;EAC9C,IAAIH,YAAY,GAAGC,qBAAqB,CAAAxJ,aAAA,CAAAA,aAAA,KACnC4J,IAAI;IACPV,YAAY,EAAZA,YAAY;IACZQ,cAAc,EAAdA;EAAc,EACf,CAAC;EACFA,cAAc,GAAGA,cAAc,CAACnD,MAAM,CAACgD,YAAY,CAAC;EAEpD,IAAIpF,KAAK,GAAG;IACVyJ,UAAU,EAAVA,UAAU;IACVI,UAAU,EAAVA,UAAU;IACVgH,SAAS,EAATA,SAAS;IACTzH,UAAU,EAAVA,UAAU;IACVrE,YAAY,EAAZA,YAAY;IACZgM,WAAW,EAAXA,WAAW;IACXnC,UAAU,EAAVA,UAAU;IACVrJ,cAAc,EAAdA;EACF,CAAC;EAED,IAAIE,IAAI,CAACsH,WAAW,KAAK,IAAI,IAAItH,IAAI,CAACK,QAAQ,EAAE;IAC9C9F,KAAK,CAAC,aAAa,CAAC,GAAG,SAAS;EAClC;EAEA,OAAOA,KAAK;AACd,CAAC;AAEM,IAAM8K,YAAY,GAAG,SAAfA,YAAYA,CAAGrF,IAAI,EAAI;EAAA,IAEhCwF,cAAc,GAYZxF,IAAI,CAZNwF,cAAc;IACd7E,SAAS,GAWPX,IAAI,CAXNW,SAAS;IACT/D,IAAI,GAUFoD,IAAI,CAVNpD,IAAI;IACJwB,QAAQ,GASN4B,IAAI,CATN5B,QAAQ;IACR7C,KAAK,GAQHyE,IAAI,CARNzE,KAAK;IACLyI,UAAU,GAORhE,IAAI,CAPNgE,UAAU;IACVtE,QAAQ,GAMNM,IAAI,CANNN,QAAQ;IACRJ,YAAY,GAKVU,IAAI,CALNV,YAAY;IACZhD,UAAU,GAIR0D,IAAI,CAJN1D,UAAU;IACVC,cAAc,GAGZyD,IAAI,CAHNzD,cAAc;IACdM,YAAY,GAEVmD,IAAI,CAFNnD,YAAY;IACZyI,MAAM,GACJtF,IAAI,CADNsF,MAAM;EAAA,IAEFxF,cAAc,GAAKE,IAAI,CAAvBF,cAAc;EACpB,IAAI0F,cAAc,IAAI7E,SAAS,EAAE,OAAO,CAAC,CAAC;EAC1C,IAAI2N,cAAc,GAAG/S,KAAK;IACxBgT,UAAU;IACVC,aAAa;IACbC,SAAS;EACX,IAAIlU,KAAK,GAAG,CAAC,CAAC;IACZgL,SAAS,GAAG,CAAC,CAAC;EAChB,IAAMK,WAAW,GAAGxH,QAAQ,GAAG7C,KAAK,GAAGwQ,KAAK,CAACxQ,KAAK,EAAE,CAAC,EAAEyI,UAAU,GAAG,CAAC,CAAC;EACtE,IAAIpH,IAAI,EAAE;IACR,IAAI,CAACwB,QAAQ,KAAK7C,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAIyI,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAIzI,KAAK,GAAG,CAAC,EAAE;MACb+S,cAAc,GAAG/S,KAAK,GAAGyI,UAAU;IACrC,CAAC,MAAM,IAAIzI,KAAK,IAAIyI,UAAU,EAAE;MAC9BsK,cAAc,GAAG/S,KAAK,GAAGyI,UAAU;IACrC;IACA,IAAItE,QAAQ,IAAII,cAAc,CAAChB,OAAO,CAACwP,cAAc,CAAC,GAAG,CAAC,EAAE;MAC1DxO,cAAc,GAAGA,cAAc,CAACnD,MAAM,CAAC2R,cAAc,CAAC;IACxD;IACA/T,KAAK,GAAG;MACNoG,SAAS,EAAE,IAAI;MACfrB,YAAY,EAAEgP,cAAc;MAC5BxO,cAAc,EAAdA,cAAc;MACd8F,WAAW,EAAE0I;IACf,CAAC;IACD/I,SAAS,GAAG;MAAE5E,SAAS,EAAE,KAAK;MAAEiF,WAAW,EAAE0I;IAAe,CAAC;EAC/D,CAAC,MAAM;IACLC,UAAU,GAAGD,cAAc;IAC3B,IAAIA,cAAc,GAAG,CAAC,EAAE;MACtBC,UAAU,GAAGD,cAAc,GAAGtK,UAAU;MACxC,IAAI,CAAC5F,QAAQ,EAAEmQ,UAAU,GAAG,CAAC,CAAC,KACzB,IAAIvK,UAAU,GAAGzH,cAAc,KAAK,CAAC,EACxCgS,UAAU,GAAGvK,UAAU,GAAIA,UAAU,GAAGzH,cAAe;IAC3D,CAAC,MAAM,IAAI,CAAC6K,SAAS,CAACpH,IAAI,CAAC,IAAIsO,cAAc,GAAGhP,YAAY,EAAE;MAC5DgP,cAAc,GAAGC,UAAU,GAAGjP,YAAY;IAC5C,CAAC,MAAM,IAAIhD,UAAU,IAAIgS,cAAc,IAAItK,UAAU,EAAE;MACrDsK,cAAc,GAAGlQ,QAAQ,GAAG4F,UAAU,GAAGA,UAAU,GAAG,CAAC;MACvDuK,UAAU,GAAGnQ,QAAQ,GAAG,CAAC,GAAG4F,UAAU,GAAG,CAAC;IAC5C,CAAC,MAAM,IAAIsK,cAAc,IAAItK,UAAU,EAAE;MACvCuK,UAAU,GAAGD,cAAc,GAAGtK,UAAU;MACxC,IAAI,CAAC5F,QAAQ,EAAEmQ,UAAU,GAAGvK,UAAU,GAAGnH,YAAY,CAAC,KACjD,IAAImH,UAAU,GAAGzH,cAAc,KAAK,CAAC,EAAEgS,UAAU,GAAG,CAAC;IAC5D;IAEA,IAAI,CAACnQ,QAAQ,IAAIkQ,cAAc,GAAGzR,YAAY,IAAImH,UAAU,EAAE;MAC5DuK,UAAU,GAAGvK,UAAU,GAAGnH,YAAY;IACxC;IAEA2R,aAAa,GAAGjL,YAAY,CAAAnN,aAAA,CAAAA,aAAA,KAAM4J,IAAI;MAAEqD,UAAU,EAAEiL;IAAc,EAAE,CAAC;IACrEG,SAAS,GAAGlL,YAAY,CAAAnN,aAAA,CAAAA,aAAA,KAAM4J,IAAI;MAAEqD,UAAU,EAAEkL;IAAU,EAAE,CAAC;IAC7D,IAAI,CAACnQ,QAAQ,EAAE;MACb,IAAIoQ,aAAa,KAAKC,SAAS,EAAEH,cAAc,GAAGC,UAAU;MAC5DC,aAAa,GAAGC,SAAS;IAC3B;IACA,IAAI/O,QAAQ,EAAE;MACZI,cAAc,GAAGA,cAAc,CAACnD,MAAM,CACpCiD,qBAAqB,CAAAxJ,aAAA,CAAAA,aAAA,KAAM4J,IAAI;QAAEV,YAAY,EAAEgP;MAAc,EAAE,CACjE,CAAC;IACH;IACA,IAAI,CAAChJ,MAAM,EAAE;MACX/K,KAAK,GAAG;QACN+E,YAAY,EAAEiP,UAAU;QACxB9K,UAAU,EAAEC,WAAW,CAAAtN,aAAA,CAAAA,aAAA,KAAM4J,IAAI;UAAEwD,IAAI,EAAEiL;QAAS,EAAE,CAAC;QACrD3O,cAAc,EAAdA,cAAc;QACd8F,WAAW,EAAXA;MACF,CAAC;IACH,CAAC,MAAM;MACLrL,KAAK,GAAG;QACNoG,SAAS,EAAE,IAAI;QACfrB,YAAY,EAAEiP,UAAU;QACxB9K,UAAU,EAAEiL,kBAAkB,CAAAtY,aAAA,CAAAA,aAAA,KAAM4J,IAAI;UAAEwD,IAAI,EAAEgL;QAAa,EAAE,CAAC;QAChE1O,cAAc,EAAdA,cAAc;QACd8F,WAAW,EAAXA;MACF,CAAC;MACDL,SAAS,GAAG;QACV5E,SAAS,EAAE,KAAK;QAChBrB,YAAY,EAAEiP,UAAU;QACxB9K,UAAU,EAAEC,WAAW,CAAAtN,aAAA,CAAAA,aAAA,KAAM4J,IAAI;UAAEwD,IAAI,EAAEiL;QAAS,EAAE,CAAC;QACrDlD,SAAS,EAAE,IAAI;QACf3F,WAAW,EAAXA;MACF,CAAC;IACH;EACF;EACA,OAAO;IAAErL,KAAK,EAALA,KAAK;IAAEgL,SAAS,EAATA;EAAU,CAAC;AAC7B,CAAC;AAEM,IAAM7C,WAAW,GAAG,SAAdA,WAAWA,CAAI1C,IAAI,EAAE2F,OAAO,EAAK;EAC5C,IAAIgJ,WAAW,EAAEC,WAAW,EAAEC,WAAW,EAAEC,YAAY,EAAElJ,WAAW;EAAC,IAEnErJ,cAAc,GAOZyD,IAAI,CAPNzD,cAAc;IACdM,YAAY,GAMVmD,IAAI,CANNnD,YAAY;IACZmH,UAAU,GAKRhE,IAAI,CALNgE,UAAU;IACV1E,YAAY,GAIVU,IAAI,CAJNV,YAAY;IACCyP,mBAAmB,GAG9B/O,IAAI,CAHN4F,WAAW;IACXlG,QAAQ,GAENM,IAAI,CAFNN,QAAQ;IACRtB,QAAQ,GACN4B,IAAI,CADN5B,QAAQ;EAEV0Q,YAAY,GAAG9K,UAAU,GAAGzH,cAAc,KAAK,CAAC;EAChDoS,WAAW,GAAGG,YAAY,GAAG,CAAC,GAAG,CAAC9K,UAAU,GAAG1E,YAAY,IAAI/C,cAAc;EAC7E,IAAIoJ,OAAO,CAAChD,OAAO,KAAK,UAAU,EAAE;IAClCkM,WAAW,GACTF,WAAW,KAAK,CAAC,GAAGpS,cAAc,GAAGM,YAAY,GAAG8R,WAAW;IACjE/I,WAAW,GAAGtG,YAAY,GAAGuP,WAAW;IACxC,IAAInP,QAAQ,IAAI,CAACtB,QAAQ,EAAE;MACzBwQ,WAAW,GAAGtP,YAAY,GAAGuP,WAAW;MACxCjJ,WAAW,GAAGgJ,WAAW,KAAK,CAAC,CAAC,GAAG5K,UAAU,GAAG,CAAC,GAAG4K,WAAW;IACjE;IACA,IAAI,CAACxQ,QAAQ,EAAE;MACbwH,WAAW,GAAGmJ,mBAAmB,GAAGxS,cAAc;IACpD;EACF,CAAC,MAAM,IAAIoJ,OAAO,CAAChD,OAAO,KAAK,MAAM,EAAE;IACrCkM,WAAW,GAAGF,WAAW,KAAK,CAAC,GAAGpS,cAAc,GAAGoS,WAAW;IAC9D/I,WAAW,GAAGtG,YAAY,GAAGuP,WAAW;IACxC,IAAInP,QAAQ,IAAI,CAACtB,QAAQ,EAAE;MACzBwH,WAAW,GACR,CAACtG,YAAY,GAAG/C,cAAc,IAAIyH,UAAU,GAAI2K,WAAW;IAChE;IACA,IAAI,CAACvQ,QAAQ,EAAE;MACbwH,WAAW,GAAGmJ,mBAAmB,GAAGxS,cAAc;IACpD;EACF,CAAC,MAAM,IAAIoJ,OAAO,CAAChD,OAAO,KAAK,MAAM,EAAE;IACrC;IACAiD,WAAW,GAAGD,OAAO,CAACpK,KAAK,GAAGoK,OAAO,CAACpJ,cAAc;EACtD,CAAC,MAAM,IAAIoJ,OAAO,CAAChD,OAAO,KAAK,UAAU,EAAE;IACzC;IACAiD,WAAW,GAAGD,OAAO,CAACpK,KAAK;IAC3B,IAAI6C,QAAQ,EAAE;MACZ,IAAI6M,SAAS,GAAG+D,gBAAgB,CAAA5Y,aAAA,CAAAA,aAAA,KAAM4J,IAAI;QAAE4F,WAAW,EAAXA;MAAW,EAAE,CAAC;MAC1D,IAAIA,WAAW,GAAGD,OAAO,CAACrG,YAAY,IAAI2L,SAAS,KAAK,MAAM,EAAE;QAC9DrF,WAAW,GAAGA,WAAW,GAAG5B,UAAU;MACxC,CAAC,MAAM,IAAI4B,WAAW,GAAGD,OAAO,CAACrG,YAAY,IAAI2L,SAAS,KAAK,OAAO,EAAE;QACtErF,WAAW,GAAGA,WAAW,GAAG5B,UAAU;MACxC;IACF;EACF,CAAC,MAAM,IAAI2B,OAAO,CAAChD,OAAO,KAAK,OAAO,EAAE;IACtCiD,WAAW,GAAGtM,MAAM,CAACqM,OAAO,CAACpK,KAAK,CAAC;EACrC;EACA,OAAOqK,WAAW;AACpB,CAAC;AACM,IAAMO,UAAU,GAAG,SAAbA,UAAUA,CAAIxQ,CAAC,EAAEyQ,aAAa,EAAEC,GAAG,EAAK;EACnD,IAAI1Q,CAAC,CAACV,MAAM,CAACga,OAAO,CAACC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC9I,aAAa,EACnE,OAAO,EAAE;EACX,IAAIzQ,CAAC,CAACwZ,OAAO,KAAK,EAAE,EAAE,OAAO9I,GAAG,GAAG,MAAM,GAAG,UAAU;EACtD,IAAI1Q,CAAC,CAACwZ,OAAO,KAAK,EAAE,EAAE,OAAO9I,GAAG,GAAG,UAAU,GAAG,MAAM;EACtD,OAAO,EAAE;AACX,CAAC;AAEM,IAAMM,UAAU,GAAG,SAAbA,UAAUA,CAAIhR,CAAC,EAAEiR,KAAK,EAAEC,SAAS,EAAK;EACjDlR,CAAC,CAACV,MAAM,CAACga,OAAO,KAAK,KAAK,IAAI3C,kBAAkB,CAAC3W,CAAC,CAAC;EACnD,IAAI,CAACiR,KAAK,IAAK,CAACC,SAAS,IAAIlR,CAAC,CAACyZ,IAAI,CAACtQ,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAE,EAAE,OAAO,EAAE;EACvE,OAAO;IACL+K,QAAQ,EAAE,IAAI;IACd6B,WAAW,EAAE;MACXC,MAAM,EAAEhW,CAAC,CAAC0Z,OAAO,GAAG1Z,CAAC,CAAC0Z,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,GAAG3Z,CAAC,CAAC4Z,OAAO;MAClD3D,MAAM,EAAEjW,CAAC,CAAC0Z,OAAO,GAAG1Z,CAAC,CAAC0Z,OAAO,CAAC,CAAC,CAAC,CAACG,KAAK,GAAG7Z,CAAC,CAAC8Z,OAAO;MAClD5D,IAAI,EAAElW,CAAC,CAAC0Z,OAAO,GAAG1Z,CAAC,CAAC0Z,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,GAAG3Z,CAAC,CAAC4Z,OAAO;MAChDzD,IAAI,EAAEnW,CAAC,CAAC0Z,OAAO,GAAG1Z,CAAC,CAAC0Z,OAAO,CAAC,CAAC,CAAC,CAACG,KAAK,GAAG7Z,CAAC,CAAC8Z;IAC3C;EACF,CAAC;AACH,CAAC;AACM,IAAM3I,SAAS,GAAG,SAAZA,SAASA,CAAInR,CAAC,EAAEqK,IAAI,EAAK;EACpC;EAAA,IAEEqL,SAAS,GAmBPrL,IAAI,CAnBNqL,SAAS;IACT1K,SAAS,GAkBPX,IAAI,CAlBNW,SAAS;IACTgH,QAAQ,GAiBN3H,IAAI,CAjBN2H,QAAQ;IACR+H,YAAY,GAgBV1P,IAAI,CAhBN0P,YAAY;IACZjJ,eAAe,GAebzG,IAAI,CAfNyG,eAAe;IACfJ,GAAG,GAcDrG,IAAI,CAdNqG,GAAG;IACH/G,YAAY,GAaVU,IAAI,CAbNV,YAAY;IACZqQ,YAAY,GAYV3P,IAAI,CAZN2P,YAAY;IACZzE,WAAW,GAWTlL,IAAI,CAXNkL,WAAW;IACX0E,MAAM,GAUJ5P,IAAI,CAVN4P,MAAM;IACNpE,MAAM,GASJxL,IAAI,CATNwL,MAAM;IACNC,OAAO,GAQLzL,IAAI,CARNyL,OAAO;IACPzH,UAAU,GAORhE,IAAI,CAPNgE,UAAU;IACVzH,cAAc,GAMZyD,IAAI,CANNzD,cAAc;IACd6B,QAAQ,GAKN4B,IAAI,CALN5B,QAAQ;IACRsN,WAAW,GAIT1L,IAAI,CAJN0L,WAAW;IACXmE,UAAU,GAGR7P,IAAI,CAHN6P,UAAU;IACV1G,UAAU,GAERnJ,IAAI,CAFNmJ,UAAU;IACViC,SAAS,GACPpL,IAAI,CADNoL,SAAS;EAEX,IAAIC,SAAS,EAAE;EACf,IAAI1K,SAAS,EAAE,OAAO2L,kBAAkB,CAAC3W,CAAC,CAAC;EAC3C,IAAIgS,QAAQ,IAAI+H,YAAY,IAAIjJ,eAAe,EAAE6F,kBAAkB,CAAC3W,CAAC,CAAC;EACtE,IAAI4V,SAAS;IACXhR,KAAK,GAAG,CAAC,CAAC;EACZ,IAAIuV,OAAO,GAAGvM,YAAY,CAACvD,IAAI,CAAC;EAChC0L,WAAW,CAACG,IAAI,GAAGlW,CAAC,CAAC0Z,OAAO,GAAG1Z,CAAC,CAAC0Z,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,GAAG3Z,CAAC,CAAC4Z,OAAO;EAC7D7D,WAAW,CAACI,IAAI,GAAGnW,CAAC,CAAC0Z,OAAO,GAAG1Z,CAAC,CAAC0Z,OAAO,CAAC,CAAC,CAAC,CAACG,KAAK,GAAG7Z,CAAC,CAAC8Z,OAAO;EAC7D/D,WAAW,CAACqE,WAAW,GAAG5D,IAAI,CAAC0B,KAAK,CAClC1B,IAAI,CAAC6D,IAAI,CAAC7D,IAAI,CAAC8D,GAAG,CAACvE,WAAW,CAACG,IAAI,GAAGH,WAAW,CAACC,MAAM,EAAE,CAAC,CAAC,CAC9D,CAAC;EACD,IAAIuE,mBAAmB,GAAG/D,IAAI,CAAC0B,KAAK,CAClC1B,IAAI,CAAC6D,IAAI,CAAC7D,IAAI,CAAC8D,GAAG,CAACvE,WAAW,CAACI,IAAI,GAAGJ,WAAW,CAACE,MAAM,EAAE,CAAC,CAAC,CAC9D,CAAC;EACD,IAAI,CAACnF,eAAe,IAAI,CAACgF,OAAO,IAAIyE,mBAAmB,GAAG,EAAE,EAAE;IAC5D,OAAO;MAAE7E,SAAS,EAAE;IAAK,CAAC;EAC5B;EACA,IAAI5E,eAAe,EAAEiF,WAAW,CAACqE,WAAW,GAAGG,mBAAmB;EAClE,IAAIC,cAAc,GAChB,CAAC,CAAC9J,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,KAAKqF,WAAW,CAACG,IAAI,GAAGH,WAAW,CAACC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EACpE,IAAIlF,eAAe,EACjB0J,cAAc,GAAGzE,WAAW,CAACI,IAAI,GAAGJ,WAAW,CAACE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;EAEjE,IAAIwE,QAAQ,GAAGjE,IAAI,CAACgC,IAAI,CAACnK,UAAU,GAAGzH,cAAc,CAAC;EACrD,IAAI8T,cAAc,GAAG7C,iBAAiB,CAACxN,IAAI,CAAC0L,WAAW,EAAEjF,eAAe,CAAC;EACzE,IAAI6J,gBAAgB,GAAG5E,WAAW,CAACqE,WAAW;EAC9C,IAAI,CAAC3R,QAAQ,EAAE;IACb,IACGkB,YAAY,KAAK,CAAC,KAChB+Q,cAAc,KAAK,OAAO,IAAIA,cAAc,KAAK,MAAM,CAAC,IAC1D/Q,YAAY,GAAG,CAAC,IAAI8Q,QAAQ,KAC1BC,cAAc,KAAK,MAAM,IAAIA,cAAc,KAAK,IAAI,CAAE,IACxD,CAACjJ,SAAS,CAACpH,IAAI,CAAC,KACdqQ,cAAc,KAAK,MAAM,IAAIA,cAAc,KAAK,IAAI,CAAE,EACzD;MACAC,gBAAgB,GAAG5E,WAAW,CAACqE,WAAW,GAAGJ,YAAY;MACzD,IAAIzE,WAAW,KAAK,KAAK,IAAI0E,MAAM,EAAE;QACnCA,MAAM,CAACS,cAAc,CAAC;QACtB9V,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI;MAC7B;IACF;EACF;EACA,IAAI,CAACiR,MAAM,IAAIqE,UAAU,EAAE;IACzBA,UAAU,CAACQ,cAAc,CAAC;IAC1B9V,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI;EACxB;EACA,IAAI,CAACoN,QAAQ,EAAE;IACb,IAAI,CAACtB,GAAG,EAAE;MACRkF,SAAS,GAAGuE,OAAO,GAAGQ,gBAAgB,GAAGH,cAAc;IACzD,CAAC,MAAM;MACL5E,SAAS,GAAGuE,OAAO,GAAGQ,gBAAgB,GAAGH,cAAc;IACzD;EACF,CAAC,MAAM;IACL5E,SAAS,GACPuE,OAAO,GAAGQ,gBAAgB,IAAInH,UAAU,GAAGiC,SAAS,CAAC,GAAG+E,cAAc;EAC1E;EACA,IAAI1J,eAAe,EAAE;IACnB8E,SAAS,GAAGuE,OAAO,GAAGQ,gBAAgB,GAAGH,cAAc;EACzD;EACA5V,KAAK,GAAAnE,aAAA,CAAAA,aAAA,KACAmE,KAAK;IACRmR,WAAW,EAAXA,WAAW;IACXH,SAAS,EAATA,SAAS;IACT9H,UAAU,EAAEC,WAAW,CAAAtN,aAAA,CAAAA,aAAA,KAAM4J,IAAI;MAAEwD,IAAI,EAAE+H;IAAS,EAAE;EAAC,EACtD;EACD,IACEY,IAAI,CAAC4B,GAAG,CAACrC,WAAW,CAACG,IAAI,GAAGH,WAAW,CAACC,MAAM,CAAC,GAC/CQ,IAAI,CAAC4B,GAAG,CAACrC,WAAW,CAACI,IAAI,GAAGJ,WAAW,CAACE,MAAM,CAAC,GAAG,GAAG,EACrD;IACA,OAAOrR,KAAK;EACd;EACA,IAAImR,WAAW,CAACqE,WAAW,GAAG,EAAE,EAAE;IAChCxV,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI;IACvB+R,kBAAkB,CAAC3W,CAAC,CAAC;EACvB;EACA,OAAO4E,KAAK;AACd,CAAC;AACM,IAAMwM,QAAQ,GAAG,SAAXA,QAAQA,CAAIpR,CAAC,EAAEqK,IAAI,EAAK;EAAA,IAEjC6J,QAAQ,GAaN7J,IAAI,CAbN6J,QAAQ;IACRjD,KAAK,GAYH5G,IAAI,CAZN4G,KAAK;IACL8E,WAAW,GAWT1L,IAAI,CAXN0L,WAAW;IACXN,SAAS,GAUPpL,IAAI,CAVNoL,SAAS;IACTmF,cAAc,GASZvQ,IAAI,CATNuQ,cAAc;IACd9J,eAAe,GAQbzG,IAAI,CARNyG,eAAe;IACf0C,UAAU,GAORnJ,IAAI,CAPNmJ,UAAU;IACVuG,YAAY,GAMV1P,IAAI,CANN0P,YAAY;IACZrE,SAAS,GAKPrL,IAAI,CALNqL,SAAS;IACTmF,OAAO,GAILxQ,IAAI,CAJNwQ,OAAO;IACP5K,WAAW,GAGT5F,IAAI,CAHN4F,WAAW;IACXtG,YAAY,GAEVU,IAAI,CAFNV,YAAY;IACZlB,QAAQ,GACN4B,IAAI,CADN5B,QAAQ;EAEV,IAAI,CAACyL,QAAQ,EAAE;IACb,IAAIjD,KAAK,EAAE0F,kBAAkB,CAAC3W,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC;EACX;EACA,IAAI8a,QAAQ,GAAGhK,eAAe,GAC1B0C,UAAU,GAAGoH,cAAc,GAC3BnF,SAAS,GAAGmF,cAAc;EAC9B,IAAIF,cAAc,GAAG7C,iBAAiB,CAAC9B,WAAW,EAAEjF,eAAe,CAAC;EACpE;EACA,IAAIlM,KAAK,GAAG;IACVsP,QAAQ,EAAE,KAAK;IACfqB,WAAW,EAAE,KAAK;IAClBG,SAAS,EAAE,KAAK;IAChBI,OAAO,EAAE,KAAK;IACdD,MAAM,EAAE,KAAK;IACbD,SAAS,EAAE,IAAI;IACfG,WAAW,EAAE,CAAC;EAChB,CAAC;EACD,IAAIL,SAAS,EAAE;IACb,OAAO9Q,KAAK;EACd;EACA,IAAI,CAACmR,WAAW,CAACqE,WAAW,EAAE;IAC5B,OAAOxV,KAAK;EACd;EACA,IAAImR,WAAW,CAACqE,WAAW,GAAGU,QAAQ,EAAE;IACtCnE,kBAAkB,CAAC3W,CAAC,CAAC;IACrB,IAAI6a,OAAO,EAAE;MACXA,OAAO,CAACH,cAAc,CAAC;IACzB;IACA,IAAIrM,UAAU,EAAEvG,QAAQ;IACxB,IAAIiT,WAAW,GAAGtS,QAAQ,GAAGkB,YAAY,GAAGsG,WAAW;IACvD,QAAQyK,cAAc;MACpB,KAAK,MAAM;MACX,KAAK,IAAI;QACP5S,QAAQ,GAAGiT,WAAW,GAAGC,aAAa,CAAC3Q,IAAI,CAAC;QAC5CgE,UAAU,GAAG0L,YAAY,GAAGkB,cAAc,CAAC5Q,IAAI,EAAEvC,QAAQ,CAAC,GAAGA,QAAQ;QACrElD,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAC7B;MACF,KAAK,OAAO;MACZ,KAAK,MAAM;QACTkD,QAAQ,GAAGiT,WAAW,GAAGC,aAAa,CAAC3Q,IAAI,CAAC;QAC5CgE,UAAU,GAAG0L,YAAY,GAAGkB,cAAc,CAAC5Q,IAAI,EAAEvC,QAAQ,CAAC,GAAGA,QAAQ;QACrElD,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAC7B;MACF;QACEyJ,UAAU,GAAG0M,WAAW;IAC5B;IACAnW,KAAK,CAAC,qBAAqB,CAAC,GAAGyJ,UAAU;EAC3C,CAAC,MAAM;IACL;IACA,IAAIgH,WAAW,GAAGzH,YAAY,CAACvD,IAAI,CAAC;IACpCzF,KAAK,CAAC,YAAY,CAAC,GAAGmU,kBAAkB,CAAAtY,aAAA,CAAAA,aAAA,KAAM4J,IAAI;MAAEwD,IAAI,EAAEwH;IAAW,EAAE,CAAC;EAC1E;EACA,OAAOzQ,KAAK;AACd,CAAC;AACM,IAAMsW,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAG7Q,IAAI,EAAI;EACzC,IAAIoM,GAAG,GAAGpM,IAAI,CAAC5B,QAAQ,GAAG4B,IAAI,CAACgE,UAAU,GAAG,CAAC,GAAGhE,IAAI,CAACgE,UAAU;EAC/D,IAAIxJ,UAAU,GAAGwF,IAAI,CAAC5B,QAAQ,GAAG4B,IAAI,CAACnD,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC;EAC3D,IAAIiU,OAAO,GAAG9Q,IAAI,CAAC5B,QAAQ,GAAG4B,IAAI,CAACnD,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC;EACxD,IAAIkU,OAAO,GAAG,EAAE;EAChB,OAAOvW,UAAU,GAAG4R,GAAG,EAAE;IACvB2E,OAAO,CAAC5a,IAAI,CAACqE,UAAU,CAAC;IACxBA,UAAU,GAAGsW,OAAO,GAAG9Q,IAAI,CAACzD,cAAc;IAC1CuU,OAAO,IAAI3E,IAAI,CAACE,GAAG,CAACrM,IAAI,CAACzD,cAAc,EAAEyD,IAAI,CAACnD,YAAY,CAAC;EAC7D;EACA,OAAOkU,OAAO;AAChB,CAAC;AACM,IAAMH,cAAc,GAAG,SAAjBA,cAAcA,CAAI5Q,IAAI,EAAEzE,KAAK,EAAK;EAC7C,IAAMyV,UAAU,GAAGH,mBAAmB,CAAC7Q,IAAI,CAAC;EAC5C,IAAIiR,aAAa,GAAG,CAAC;EACrB,IAAI1V,KAAK,GAAGyV,UAAU,CAACA,UAAU,CAAC5b,MAAM,GAAG,CAAC,CAAC,EAAE;IAC7CmG,KAAK,GAAGyV,UAAU,CAACA,UAAU,CAAC5b,MAAM,GAAG,CAAC,CAAC;EAC3C,CAAC,MAAM;IACL,KAAK,IAAI8b,CAAC,IAAIF,UAAU,EAAE;MACxB,IAAIzV,KAAK,GAAGyV,UAAU,CAACE,CAAC,CAAC,EAAE;QACzB3V,KAAK,GAAG0V,aAAa;QACrB;MACF;MACAA,aAAa,GAAGD,UAAU,CAACE,CAAC,CAAC;IAC/B;EACF;EACA,OAAO3V,KAAK;AACd,CAAC;AACM,IAAMoV,aAAa,GAAG,SAAhBA,aAAaA,CAAG3Q,IAAI,EAAI;EACnC,IAAMmR,YAAY,GAAGnR,IAAI,CAAC1D,UAAU,GAChC0D,IAAI,CAACoE,UAAU,GAAG+H,IAAI,CAACgB,KAAK,CAACnN,IAAI,CAACnD,YAAY,GAAG,CAAC,CAAC,GACnD,CAAC;EACL,IAAImD,IAAI,CAAC0P,YAAY,EAAE;IACrB,IAAI0B,WAAW;IACf,IAAMC,SAAS,GAAGrR,IAAI,CAACC,OAAO;IAC9B,IAAMqR,MAAM,GACTD,SAAS,CAACnQ,gBAAgB,IACzBmQ,SAAS,CAACnQ,gBAAgB,CAAC,cAAc,CAAC,IAC5C,EAAE;IACJC,KAAK,CAACoQ,IAAI,CAACD,MAAM,CAAC,CAACE,KAAK,CAAC,UAAAvX,KAAK,EAAI;MAChC,IAAI,CAAC+F,IAAI,CAAC2H,QAAQ,EAAE;QAClB,IACE1N,KAAK,CAACwX,UAAU,GAAGN,YAAY,GAAG9D,QAAQ,CAACpT,KAAK,CAAC,GAAG,CAAC,GACrD+F,IAAI,CAACuL,SAAS,GAAG,CAAC,CAAC,EACnB;UACA6F,WAAW,GAAGnX,KAAK;UACnB,OAAO,KAAK;QACd;MACF,CAAC,MAAM;QACL,IAAIA,KAAK,CAACyX,SAAS,GAAGlS,SAAS,CAACvF,KAAK,CAAC,GAAG,CAAC,GAAG+F,IAAI,CAACuL,SAAS,GAAG,CAAC,CAAC,EAAE;UAChE6F,WAAW,GAAGnX,KAAK;UACnB,OAAO,KAAK;QACd;MACF;MAEA,OAAO,IAAI;IACb,CAAC,CAAC;IAEF,IAAI,CAACmX,WAAW,EAAE;MAChB,OAAO,CAAC;IACV;IACA,IAAMO,YAAY,GAChB3R,IAAI,CAACqG,GAAG,KAAK,IAAI,GACbrG,IAAI,CAACgE,UAAU,GAAGhE,IAAI,CAACV,YAAY,GACnCU,IAAI,CAACV,YAAY;IACvB,IAAMsS,eAAe,GACnBzF,IAAI,CAAC4B,GAAG,CAACqD,WAAW,CAACS,OAAO,CAACtW,KAAK,GAAGoW,YAAY,CAAC,IAAI,CAAC;IACzD,OAAOC,eAAe;EACxB,CAAC,MAAM;IACL,OAAO5R,IAAI,CAACzD,cAAc;EAC5B;AACF,CAAC;AAEM,IAAMuV,aAAa,GAAG,SAAhBA,aAAaA,CAAI9R,IAAI,EAAE+R,SAAS;EAAA,OAC3CA,SAAS,CAACC,MAAM,CAAC,UAACra,KAAK,EAAErC,GAAG;IAAA,OAAKqC,KAAK,IAAIqI,IAAI,CAACzK,cAAc,CAACD,GAAG,CAAC;EAAA,GAAE,IAAI,CAAC,GACrE,IAAI,GACJmH,OAAO,CAACwV,KAAK,CAAC,eAAe,EAAEjS,IAAI,CAAC;AAAA;AAEnC,IAAM0D,WAAW,GAAG,SAAdA,WAAWA,CAAG1D,IAAI,EAAI;EACjC8R,aAAa,CAAC9R,IAAI,EAAE,CAClB,MAAM,EACN,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,CACb,CAAC;EACF,IAAI2D,UAAU,EAAEuO,WAAW;EAC3B,IAAMC,aAAa,GAAGnS,IAAI,CAACgE,UAAU,GAAG,CAAC,GAAGhE,IAAI,CAACnD,YAAY;EAC7D,IAAI,CAACmD,IAAI,CAAC2H,QAAQ,EAAE;IAClBhE,UAAU,GAAGyO,cAAc,CAACpS,IAAI,CAAC,GAAGA,IAAI,CAACoE,UAAU;EACrD,CAAC,MAAM;IACL8N,WAAW,GAAGC,aAAa,GAAGnS,IAAI,CAACsL,WAAW;EAChD;EACA,IAAIzN,KAAK,GAAG;IACVwU,OAAO,EAAE,CAAC;IACVC,UAAU,EAAE,EAAE;IACdC,gBAAgB,EAAE;EACpB,CAAC;EACD,IAAIvS,IAAI,CAACwS,YAAY,EAAE;IACrB,IAAIC,eAAe,GAAG,CAACzS,IAAI,CAAC2H,QAAQ,GAChC,cAAc,GAAG3H,IAAI,CAACwD,IAAI,GAAG,eAAe,GAC5C,mBAAmB,GAAGxD,IAAI,CAACwD,IAAI,GAAG,UAAU;IAChD,IAAIkP,SAAS,GAAG,CAAC1S,IAAI,CAAC2H,QAAQ,GAC1B,cAAc,GAAG3H,IAAI,CAACwD,IAAI,GAAG,eAAe,GAC5C,mBAAmB,GAAGxD,IAAI,CAACwD,IAAI,GAAG,UAAU;IAChD,IAAImP,WAAW,GAAG,CAAC3S,IAAI,CAAC2H,QAAQ,GAC5B,aAAa,GAAG3H,IAAI,CAACwD,IAAI,GAAG,KAAK,GACjC,aAAa,GAAGxD,IAAI,CAACwD,IAAI,GAAG,KAAK;IACrC3F,KAAK,GAAAzH,aAAA,CAAAA,aAAA,KACAyH,KAAK;MACR4U,eAAe,EAAfA,eAAe;MACfC,SAAS,EAATA,SAAS;MACTC,WAAW,EAAXA;IAAW,EACZ;EACH,CAAC,MAAM;IACL,IAAI3S,IAAI,CAAC2H,QAAQ,EAAE;MACjB9J,KAAK,CAAC,KAAK,CAAC,GAAGmC,IAAI,CAACwD,IAAI;IAC1B,CAAC,MAAM;MACL3F,KAAK,CAAC,MAAM,CAAC,GAAGmC,IAAI,CAACwD,IAAI;IAC3B;EACF;EACA,IAAIxD,IAAI,CAACpD,IAAI,EAAEiB,KAAK,GAAG;IAAEwU,OAAO,EAAE;EAAE,CAAC;EACrC,IAAI1O,UAAU,EAAE9F,KAAK,CAACC,KAAK,GAAG6F,UAAU;EACxC,IAAIuO,WAAW,EAAErU,KAAK,CAAC0B,MAAM,GAAG2S,WAAW;;EAE3C;EACA,IAAIzQ,MAAM,IAAI,CAACA,MAAM,CAACC,gBAAgB,IAAID,MAAM,CAACE,WAAW,EAAE;IAC5D,IAAI,CAAC3B,IAAI,CAAC2H,QAAQ,EAAE;MAClB9J,KAAK,CAAC+U,UAAU,GAAG5S,IAAI,CAACwD,IAAI,GAAG,IAAI;IACrC,CAAC,MAAM;MACL3F,KAAK,CAACgV,SAAS,GAAG7S,IAAI,CAACwD,IAAI,GAAG,IAAI;IACpC;EACF;EAEA,OAAO3F,KAAK;AACd,CAAC;AACM,IAAM6Q,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAG1O,IAAI,EAAI;EACxC8R,aAAa,CAAC9R,IAAI,EAAE,CAClB,MAAM,EACN,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,OAAO,EACP,SAAS,CACV,CAAC;EACF,IAAInC,KAAK,GAAG6F,WAAW,CAAC1D,IAAI,CAAC;EAC7B;EACA,IAAIA,IAAI,CAACwS,YAAY,EAAE;IACrB3U,KAAK,CAAC0U,gBAAgB,GACpB,oBAAoB,GAAGvS,IAAI,CAACe,KAAK,GAAG,KAAK,GAAGf,IAAI,CAAC8S,OAAO;IAC1DjV,KAAK,CAACyU,UAAU,GAAG,YAAY,GAAGtS,IAAI,CAACe,KAAK,GAAG,KAAK,GAAGf,IAAI,CAAC8S,OAAO;EACrE,CAAC,MAAM;IACL,IAAI9S,IAAI,CAAC2H,QAAQ,EAAE;MACjB9J,KAAK,CAACyU,UAAU,GAAG,MAAM,GAAGtS,IAAI,CAACe,KAAK,GAAG,KAAK,GAAGf,IAAI,CAAC8S,OAAO;IAC/D,CAAC,MAAM;MACLjV,KAAK,CAACyU,UAAU,GAAG,OAAO,GAAGtS,IAAI,CAACe,KAAK,GAAG,KAAK,GAAGf,IAAI,CAAC8S,OAAO;IAChE;EACF;EACA,OAAOjV,KAAK;AACd,CAAC;AACM,IAAM0F,YAAY,GAAG,SAAfA,YAAYA,CAAGvD,IAAI,EAAI;EAClC,IAAIA,IAAI,CAAC3B,OAAO,EAAE;IAChB,OAAO,CAAC;EACV;EAEAyT,aAAa,CAAC9R,IAAI,EAAE,CAClB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,CACd,CAAC;EAAC,IAGDqD,UAAU,GAaRrD,IAAI,CAbNqD,UAAU;IACVnD,QAAQ,GAYNF,IAAI,CAZNE,QAAQ;IACR9B,QAAQ,GAWN4B,IAAI,CAXN5B,QAAQ;IACR9B,UAAU,GAUR0D,IAAI,CAVN1D,UAAU;IACV0H,UAAU,GASRhE,IAAI,CATNgE,UAAU;IACVnH,YAAY,GAQVmD,IAAI,CARNnD,YAAY;IACZN,cAAc,GAOZyD,IAAI,CAPNzD,cAAc;IACd6H,UAAU,GAMRpE,IAAI,CANNoE,UAAU;IACVgH,SAAS,GAKPpL,IAAI,CALNoL,SAAS;IACThO,aAAa,GAIX4C,IAAI,CAJN5C,aAAa;IACbkO,WAAW,GAGTtL,IAAI,CAHNsL,WAAW;IACX1O,IAAI,GAEFoD,IAAI,CAFNpD,IAAI;IACJ+K,QAAQ,GACN3H,IAAI,CADN2H,QAAQ;EAGV,IAAIkH,WAAW,GAAG,CAAC;EACnB,IAAIvL,UAAU;EACd,IAAIsC,WAAW;EACf,IAAImN,cAAc,GAAG,CAAC;EAEtB,IAAInW,IAAI,IAAIoD,IAAI,CAACgE,UAAU,KAAK,CAAC,EAAE;IACjC,OAAO,CAAC;EACV;EAEA,IAAIgP,cAAc,GAAG,CAAC;EACtB,IAAI5U,QAAQ,EAAE;IACZ4U,cAAc,GAAG,CAACjP,YAAY,CAAC/D,IAAI,CAAC,CAAC,CAAC;IACtC;IACA,IACEgE,UAAU,GAAGzH,cAAc,KAAK,CAAC,IACjC8G,UAAU,GAAG9G,cAAc,GAAGyH,UAAU,EACxC;MACAgP,cAAc,GAAG,EAAE3P,UAAU,GAAGW,UAAU,GACtCnH,YAAY,IAAIwG,UAAU,GAAGW,UAAU,CAAC,GACxCA,UAAU,GAAGzH,cAAc,CAAC;IAClC;IACA;IACA,IAAID,UAAU,EAAE;MACd0W,cAAc,IAAI5F,QAAQ,CAACvQ,YAAY,GAAG,CAAC,CAAC;IAC9C;EACF,CAAC,MAAM;IACL,IACEmH,UAAU,GAAGzH,cAAc,KAAK,CAAC,IACjC8G,UAAU,GAAG9G,cAAc,GAAGyH,UAAU,EACxC;MACAgP,cAAc,GAAGnW,YAAY,GAAImH,UAAU,GAAGzH,cAAe;IAC/D;IACA,IAAID,UAAU,EAAE;MACd0W,cAAc,GAAG5F,QAAQ,CAACvQ,YAAY,GAAG,CAAC,CAAC;IAC7C;EACF;EACAgS,WAAW,GAAGmE,cAAc,GAAG5O,UAAU;EACzC2O,cAAc,GAAGC,cAAc,GAAG1H,WAAW;EAE7C,IAAI,CAAC3D,QAAQ,EAAE;IACbrE,UAAU,GAAGD,UAAU,GAAGe,UAAU,GAAG,CAAC,CAAC,GAAGyK,WAAW;EACzD,CAAC,MAAM;IACLvL,UAAU,GAAGD,UAAU,GAAGiI,WAAW,GAAG,CAAC,CAAC,GAAGyH,cAAc;EAC7D;EAEA,IAAI3V,aAAa,KAAK,IAAI,EAAE;IAC1B,IAAI6V,gBAAgB;IACpB,IAAMC,SAAS,GAAGhT,QAAQ,IAAIA,QAAQ,CAAC+C,IAAI;IAC3CgQ,gBAAgB,GAAG5P,UAAU,GAAGU,YAAY,CAAC/D,IAAI,CAAC;IAClD4F,WAAW,GAAGsN,SAAS,IAAIA,SAAS,CAACC,UAAU,CAACF,gBAAgB,CAAC;IACjE3P,UAAU,GAAGsC,WAAW,GAAGA,WAAW,CAAC6L,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;IAC1D,IAAInV,UAAU,KAAK,IAAI,EAAE;MACvB2W,gBAAgB,GAAG7U,QAAQ,GACvBiF,UAAU,GAAGU,YAAY,CAAC/D,IAAI,CAAC,GAC/BqD,UAAU;MACduC,WAAW,GAAGsN,SAAS,IAAIA,SAAS,CAACpW,QAAQ,CAACmW,gBAAgB,CAAC;MAC/D3P,UAAU,GAAG,CAAC;MACd,KAAK,IAAIrJ,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGgZ,gBAAgB,EAAEhZ,KAAK,EAAE,EAAE;QACrDqJ,UAAU,IACR4P,SAAS,IACTA,SAAS,CAACpW,QAAQ,CAAC7C,KAAK,CAAC,IACzBiZ,SAAS,CAACpW,QAAQ,CAAC7C,KAAK,CAAC,CAACqT,WAAW;MACzC;MACAhK,UAAU,IAAI8J,QAAQ,CAACpN,IAAI,CAACsJ,aAAa,CAAC;MAC1ChG,UAAU,IAAIsC,WAAW,IAAI,CAACwF,SAAS,GAAGxF,WAAW,CAAC0H,WAAW,IAAI,CAAC;IACxE;EACF;EAEA,OAAOhK,UAAU;AACnB,CAAC;AAEM,IAAMS,YAAY,GAAG,SAAfA,YAAYA,CAAG/D,IAAI,EAAI;EAClC,IAAIA,IAAI,CAAC3B,OAAO,IAAI,CAAC2B,IAAI,CAAC5B,QAAQ,EAAE;IAClC,OAAO,CAAC;EACV;EACA,IAAI4B,IAAI,CAAC5C,aAAa,EAAE;IACtB,OAAO4C,IAAI,CAACgE,UAAU;EACxB;EACA,OAAOhE,IAAI,CAACnD,YAAY,IAAImD,IAAI,CAAC1D,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;AACtD,CAAC;AAEM,IAAM4H,aAAa,GAAG,SAAhBA,aAAaA,CAAGlE,IAAI,EAAI;EACnC,IAAIA,IAAI,CAAC3B,OAAO,IAAI,CAAC2B,IAAI,CAAC5B,QAAQ,EAAE;IAClC,OAAO,CAAC;EACV;EACA,OAAO4B,IAAI,CAACgE,UAAU;AACxB,CAAC;AAEM,IAAMoO,cAAc,GAAG,SAAjBA,cAAcA,CAAGpS,IAAI;EAAA,OAChCA,IAAI,CAACgE,UAAU,KAAK,CAAC,GACjB,CAAC,GACDD,YAAY,CAAC/D,IAAI,CAAC,GAAGA,IAAI,CAACgE,UAAU,GAAGE,aAAa,CAAClE,IAAI,CAAC;AAAA;AACzD,IAAMgP,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGhP,IAAI,EAAI;EACtC,IAAIA,IAAI,CAAC4F,WAAW,GAAG5F,IAAI,CAACV,YAAY,EAAE;IACxC,IAAIU,IAAI,CAAC4F,WAAW,GAAG5F,IAAI,CAACV,YAAY,GAAG8T,aAAa,CAACpT,IAAI,CAAC,EAAE;MAC9D,OAAO,MAAM;IACf;IACA,OAAO,OAAO;EAChB,CAAC,MAAM;IACL,IAAIA,IAAI,CAAC4F,WAAW,GAAG5F,IAAI,CAACV,YAAY,GAAG+T,YAAY,CAACrT,IAAI,CAAC,EAAE;MAC7D,OAAO,OAAO;IAChB;IACA,OAAO,MAAM;EACf;AACF,CAAC;AAEM,IAAMoT,aAAa,GAAG,SAAhBA,aAAaA,CAAAE,IAAA,EAKpB;EAAA,IAJJzW,YAAY,GAAAyW,IAAA,CAAZzW,YAAY;IACZP,UAAU,GAAAgX,IAAA,CAAVhX,UAAU;IACV+J,GAAG,GAAAiN,IAAA,CAAHjN,GAAG;IACHiD,aAAa,GAAAgK,IAAA,CAAbhK,aAAa;EAEb;EACA,IAAIhN,UAAU,EAAE;IACd,IAAIiX,KAAK,GAAG,CAAC1W,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;IACtC,IAAIuQ,QAAQ,CAAC9D,aAAa,CAAC,GAAG,CAAC,EAAEiK,KAAK,IAAI,CAAC;IAC3C,IAAIlN,GAAG,IAAIxJ,YAAY,GAAG,CAAC,KAAK,CAAC,EAAE0W,KAAK,IAAI,CAAC;IAC7C,OAAOA,KAAK;EACd;EACA,IAAIlN,GAAG,EAAE;IACP,OAAO,CAAC;EACV;EACA,OAAOxJ,YAAY,GAAG,CAAC;AACzB,CAAC;AAEM,IAAMwW,YAAY,GAAG,SAAfA,YAAYA,CAAAG,KAAA,EAKnB;EAAA,IAJJ3W,YAAY,GAAA2W,KAAA,CAAZ3W,YAAY;IACZP,UAAU,GAAAkX,KAAA,CAAVlX,UAAU;IACV+J,GAAG,GAAAmN,KAAA,CAAHnN,GAAG;IACHiD,aAAa,GAAAkK,KAAA,CAAblK,aAAa;EAEb;EACA,IAAIhN,UAAU,EAAE;IACd,IAAIkH,IAAI,GAAG,CAAC3G,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;IACrC,IAAIuQ,QAAQ,CAAC9D,aAAa,CAAC,GAAG,CAAC,EAAE9F,IAAI,IAAI,CAAC;IAC1C,IAAI,CAAC6C,GAAG,IAAIxJ,YAAY,GAAG,CAAC,KAAK,CAAC,EAAE2G,IAAI,IAAI,CAAC;IAC7C,OAAOA,IAAI;EACb;EACA,IAAI6C,GAAG,EAAE;IACP,OAAOxJ,YAAY,GAAG,CAAC;EACzB;EACA,OAAO,CAAC;AACV,CAAC;AAEM,IAAMrD,SAAS,GAAG,SAAZA,SAASA,CAAA;EAAA,OACpB,CAAC,EACC,OAAOiI,MAAM,KAAK,WAAW,IAC7BA,MAAM,CAACR,QAAQ,IACfQ,MAAM,CAACR,QAAQ,CAAC/C,aAAa,CAC9B;AAAA;AAEI,IAAMuV,aAAa,GAAG3e,MAAM,CAACgB,IAAI,CAACuG,sDAAY,CAAC;AAE/C,SAASmC,cAAcA,CAACtC,QAAQ,EAAE;EACvC,OAAOuX,aAAa,CAACzB,MAAM,CAAC,UAAC0B,GAAG,EAAEC,WAAW,EAAK;IAChD,IAAIzX,QAAQ,CAAC3G,cAAc,CAACoe,WAAW,CAAC,EAAE;MACxCD,GAAG,CAACC,WAAW,CAAC,GAAGzX,QAAQ,CAACyX,WAAW,CAAC;IAC1C;IACA,OAAOD,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,C;;;;;;;ACj2BA;AAAA;AAAA;AAA0B;AAE1B,IAAIrX,YAAY,GAAG;EACjB+J,aAAa,EAAE,IAAI;EACnBjH,cAAc,EAAE,KAAK;EACrBgG,WAAW,EAAE,IAAI;EACjByO,UAAU,EAAE,SAAAA,WAAAvL,IAAI;IAAA,oBAAItL,4CAAA,CAAAmB,aAAA;MAAIL,KAAK,EAAE;QAAEI,OAAO,EAAE;MAAQ;IAAE,GAAEoK,IAAS,CAAC;EAAA;EAChEU,MAAM,EAAE,IAAI;EACZ1I,QAAQ,EAAE,KAAK;EACfmH,aAAa,EAAE,IAAI;EACnBtC,YAAY,EAAE,IAAI;EAClB5I,UAAU,EAAE,KAAK;EACjBgN,aAAa,EAAE,MAAM;EACrBnL,SAAS,EAAE,EAAE;EACb2U,OAAO,EAAE,MAAM;EACfe,YAAY,EAAE,SAAAA,aAAA3e,CAAC;IAAA,oBAAI6H,4CAAA,CAAAmB,aAAA,iBAAShJ,CAAC,GAAG,CAAU,CAAC;EAAA;EAC3CmT,IAAI,EAAE,KAAK;EACXyL,SAAS,EAAE,YAAY;EACvBjN,SAAS,EAAE,IAAI;EACfkN,MAAM,EAAE,QAAQ;EAChBpE,YAAY,EAAE,IAAI;EAClB/S,IAAI,EAAE,KAAK;EACXiJ,aAAa,EAAE,KAAK;EACpBzH,QAAQ,EAAE,IAAI;EACdsM,YAAY,EAAE,CAAC;EACfhL,QAAQ,EAAE,IAAI;EACdmJ,SAAS,EAAE,IAAI;EACf+G,MAAM,EAAE,IAAI;EACZnQ,MAAM,EAAE,IAAI;EACZsF,eAAe,EAAE,IAAI;EACrBzC,QAAQ,EAAE,IAAI;EACdiG,gBAAgB,EAAE,KAAK;EACvBlH,YAAY,EAAE,KAAK;EACnByG,YAAY,EAAE,IAAI;EAClBc,SAAS,EAAE,IAAI;EACf5N,UAAU,EAAE,IAAI;EAChBqC,IAAI,EAAE,CAAC;EACPgJ,GAAG,EAAE,KAAK;EACVpM,KAAK,EAAE,KAAK;EACZqD,YAAY,EAAE,CAAC;EACff,cAAc,EAAE,CAAC;EACjBM,YAAY,EAAE,CAAC;EACfkE,KAAK,EAAE,GAAG;EACV6F,KAAK,EAAE,IAAI;EACXiJ,UAAU,EAAE,IAAI;EAChBH,YAAY,EAAE,KAAK;EACnBlG,SAAS,EAAE,IAAI;EACf+G,cAAc,EAAE,CAAC;EACjBjL,MAAM,EAAE,IAAI;EACZkN,YAAY,EAAE,IAAI;EAClBpV,aAAa,EAAE,KAAK;EACpBuK,QAAQ,EAAE,KAAK;EACfnC,cAAc,EAAE,IAAI;EACpBP,QAAQ,EAAE;AACZ,CAAC;AAEc5I,2EAAY,E;;;;;;;ACxD3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;AAAA,SAAA9H,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAAA,SAAAK,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAF,SAAA,CAAAW,cAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAY,KAAA,OAAAN,SAAA;AAAA,SAAAuB,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAAC,SAAA;AAAA,SAAAC,kBAAA7B,MAAA,EAAA8B,KAAA,aAAA7B,CAAA,MAAAA,CAAA,GAAA6B,KAAA,CAAA3B,MAAA,EAAAF,CAAA,UAAA8B,UAAA,GAAAD,KAAA,CAAA7B,CAAA,GAAA8B,UAAA,CAAAd,UAAA,GAAAc,UAAA,CAAAd,UAAA,WAAAc,UAAA,CAAAC,YAAA,wBAAAD,UAAA,EAAAA,UAAA,CAAAE,QAAA,SAAApC,MAAA,CAAA2B,cAAA,CAAAxB,MAAA,EAAAkC,cAAA,CAAAH,UAAA,CAAA1B,GAAA,GAAA0B,UAAA;AAAA,SAAAI,aAAAR,WAAA,EAAAS,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAP,iBAAA,CAAAF,WAAA,CAAAhC,SAAA,EAAAyC,UAAA,OAAAC,WAAA,EAAAR,iBAAA,CAAAF,WAAA,EAAAU,WAAA,GAAAxC,MAAA,CAAA2B,cAAA,CAAAG,WAAA,iBAAAM,QAAA,mBAAAN,WAAA;AAAA,SAAAW,UAAAC,QAAA,EAAAC,UAAA,eAAAA,UAAA,mBAAAA,UAAA,uBAAAZ,SAAA,0DAAAW,QAAA,CAAA5C,SAAA,GAAAE,MAAA,CAAA4C,MAAA,CAAAD,UAAA,IAAAA,UAAA,CAAA7C,SAAA,IAAAD,WAAA,IAAAgD,KAAA,EAAAH,QAAA,EAAAN,QAAA,QAAAD,YAAA,aAAAnC,MAAA,CAAA2B,cAAA,CAAAe,QAAA,iBAAAN,QAAA,gBAAAO,UAAA,EAAAG,eAAA,CAAAJ,QAAA,EAAAC,UAAA;AAAA,SAAAG,gBAAApD,CAAA,EAAAqD,CAAA,IAAAD,eAAA,GAAA9C,MAAA,CAAAgD,cAAA,GAAAhD,MAAA,CAAAgD,cAAA,CAAA9C,IAAA,cAAA4C,gBAAApD,CAAA,EAAAqD,CAAA,IAAArD,CAAA,CAAAuD,SAAA,GAAAF,CAAA,SAAArD,CAAA,YAAAoD,eAAA,CAAApD,CAAA,EAAAqD,CAAA;AAAA,SAAAG,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,GAAAC,eAAA,CAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,GAAAF,eAAA,OAAA3D,WAAA,EAAA4D,MAAA,GAAAE,OAAA,CAAAC,SAAA,CAAAL,KAAA,EAAAlD,SAAA,EAAAqD,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAA5C,KAAA,OAAAN,SAAA,YAAAwD,0BAAA,OAAAJ,MAAA;AAAA,SAAAI,2BAAAC,IAAA,EAAApD,IAAA,QAAAA,IAAA,KAAAjB,OAAA,CAAAiB,IAAA,yBAAAA,IAAA,2BAAAA,IAAA,aAAAA,IAAA,yBAAAqB,SAAA,uEAAAgC,sBAAA,CAAAD,IAAA;AAAA,SAAAC,uBAAAD,IAAA,QAAAA,IAAA,yBAAAE,cAAA,wEAAAF,IAAA;AAAA,SAAAT,0BAAA,cAAAtC,CAAA,IAAAkD,OAAA,CAAAnE,SAAA,CAAAoE,OAAA,CAAAxD,IAAA,CAAAiD,OAAA,CAAAC,SAAA,CAAAK,OAAA,iCAAAlD,CAAA,aAAAsC,yBAAA,YAAAA,0BAAA,aAAAtC,CAAA;AAAA,SAAAyC,gBAAA9D,CAAA,IAAA8D,eAAA,GAAAxD,MAAA,CAAAgD,cAAA,GAAAhD,MAAA,CAAAmE,cAAA,CAAAjE,IAAA,cAAAsD,gBAAA9D,CAAA,WAAAA,CAAA,CAAAuD,SAAA,IAAAjD,MAAA,CAAAmE,cAAA,CAAAzE,CAAA,aAAA8D,eAAA,CAAA9D,CAAA;AAAA,SAAAkB,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAf,MAAA,CAAAgB,IAAA,CAAAH,CAAA,OAAAb,MAAA,CAAAiB,qBAAA,QAAAvB,CAAA,GAAAM,MAAA,CAAAiB,qBAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAApB,CAAA,GAAAA,CAAA,CAAAwB,MAAA,WAAAJ,CAAA,WAAAd,MAAA,CAAAmB,wBAAA,CAAAN,CAAA,EAAAC,CAAA,EAAAM,UAAA,OAAAL,CAAA,CAAAM,IAAA,CAAAV,KAAA,CAAAI,CAAA,EAAArB,CAAA,YAAAqB,CAAA;AAAA,SAAAO,cAAAT,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAT,SAAA,CAAAC,MAAA,EAAAQ,CAAA,UAAAC,CAAA,WAAAV,SAAA,CAAAS,CAAA,IAAAT,SAAA,CAAAS,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAZ,MAAA,CAAAe,CAAA,OAAAQ,OAAA,WAAAT,CAAA,IAAAU,eAAA,CAAAX,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAd,MAAA,CAAAyB,yBAAA,GAAAzB,MAAA,CAAA0B,gBAAA,CAAAb,CAAA,EAAAb,MAAA,CAAAyB,yBAAA,CAAAV,CAAA,KAAAH,OAAA,CAAAZ,MAAA,CAAAe,CAAA,GAAAQ,OAAA,WAAAT,CAAA,IAAAd,MAAA,CAAA2B,cAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAd,MAAA,CAAAmB,wBAAA,CAAAJ,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAW,gBAAA4C,GAAA,EAAA5D,GAAA,EAAAqC,KAAA,IAAArC,GAAA,GAAA6B,cAAA,CAAA7B,GAAA,OAAAA,GAAA,IAAA4D,GAAA,IAAApE,MAAA,CAAA2B,cAAA,CAAAyC,GAAA,EAAA5D,GAAA,IAAAqC,KAAA,EAAAA,KAAA,EAAAzB,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAAgC,GAAA,CAAA5D,GAAA,IAAAqC,KAAA,WAAAuB,GAAA;AAAA,SAAA/B,eAAAtB,CAAA,QAAAX,CAAA,GAAAiE,YAAA,CAAAtD,CAAA,gCAAAtB,OAAA,CAAAW,CAAA,IAAAA,CAAA,GAAAkE,MAAA,CAAAlE,CAAA;AAAA,SAAAiE,aAAAtD,CAAA,EAAAD,CAAA,oBAAArB,OAAA,CAAAsB,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAApB,MAAA,CAAA4E,WAAA,kBAAA1D,CAAA,QAAAT,CAAA,GAAAS,CAAA,CAAAH,IAAA,CAAAK,CAAA,EAAAD,CAAA,gCAAArB,OAAA,CAAAW,CAAA,UAAAA,CAAA,YAAA2B,SAAA,yEAAAjB,CAAA,GAAAwD,MAAA,GAAAE,MAAA,EAAAzD,CAAA;AAEa;AACU;AAKF;;AAElC;AACA,IAAMme,eAAe,GAAG,SAAlBA,eAAeA,CAAGhU,IAAI,EAAI;EAC9B,IAAIiU,WAAW,EAAEC,WAAW,EAAEC,WAAW;EACzC,IAAIhD,YAAY,EAAE5V,KAAK;EAEvB,IAAIyE,IAAI,CAACqG,GAAG,EAAE;IACZ9K,KAAK,GAAGyE,IAAI,CAACgE,UAAU,GAAG,CAAC,GAAGhE,IAAI,CAACzE,KAAK;EAC1C,CAAC,MAAM;IACLA,KAAK,GAAGyE,IAAI,CAACzE,KAAK;EACpB;EACA4Y,WAAW,GAAG5Y,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAIyE,IAAI,CAACgE,UAAU;EACnD,IAAIhE,IAAI,CAAC1D,UAAU,EAAE;IACnB6U,YAAY,GAAGhF,IAAI,CAACgB,KAAK,CAACnN,IAAI,CAACnD,YAAY,GAAG,CAAC,CAAC;IAChDqX,WAAW,GAAG,CAAC3Y,KAAK,GAAGyE,IAAI,CAACV,YAAY,IAAIU,IAAI,CAACgE,UAAU,KAAK,CAAC;IACjE,IACEzI,KAAK,GAAGyE,IAAI,CAACV,YAAY,GAAG6R,YAAY,GAAG,CAAC,IAC5C5V,KAAK,IAAIyE,IAAI,CAACV,YAAY,GAAG6R,YAAY,EACzC;MACA8C,WAAW,GAAG,IAAI;IACpB;EACF,CAAC,MAAM;IACLA,WAAW,GACTjU,IAAI,CAACV,YAAY,IAAI/D,KAAK,IAC1BA,KAAK,GAAGyE,IAAI,CAACV,YAAY,GAAGU,IAAI,CAACnD,YAAY;EACjD;EAEA,IAAIuX,YAAY;EAChB,IAAIpU,IAAI,CAAC4F,WAAW,GAAG,CAAC,EAAE;IACxBwO,YAAY,GAAGpU,IAAI,CAAC4F,WAAW,GAAG5F,IAAI,CAACgE,UAAU;EACnD,CAAC,MAAM,IAAIhE,IAAI,CAAC4F,WAAW,IAAI5F,IAAI,CAACgE,UAAU,EAAE;IAC9CoQ,YAAY,GAAGpU,IAAI,CAAC4F,WAAW,GAAG5F,IAAI,CAACgE,UAAU;EACnD,CAAC,MAAM;IACLoQ,YAAY,GAAGpU,IAAI,CAAC4F,WAAW;EACjC;EACA,IAAIyO,YAAY,GAAG9Y,KAAK,KAAK6Y,YAAY;EACzC,OAAO;IACL,aAAa,EAAE,IAAI;IACnB,cAAc,EAAEH,WAAW;IAC3B,cAAc,EAAEC,WAAW;IAC3B,cAAc,EAAEC,WAAW;IAC3B,eAAe,EAAEE,YAAY,CAAC;EAChC,CAAC;AACH,CAAC;AAED,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAGtU,IAAI,EAAI;EAC5B,IAAInC,KAAK,GAAG,CAAC,CAAC;EAEd,IAAImC,IAAI,CAAC5C,aAAa,KAAKjD,SAAS,IAAI6F,IAAI,CAAC5C,aAAa,KAAK,KAAK,EAAE;IACpES,KAAK,CAACC,KAAK,GAAGkC,IAAI,CAACoE,UAAU;EAC/B;EAEA,IAAIpE,IAAI,CAACpD,IAAI,EAAE;IACbiB,KAAK,CAAC0W,QAAQ,GAAG,UAAU;IAC3B,IAAIvU,IAAI,CAAC2H,QAAQ,EAAE;MACjB9J,KAAK,CAAC2W,GAAG,GAAG,CAACxU,IAAI,CAACzE,KAAK,GAAG6R,QAAQ,CAACpN,IAAI,CAACsL,WAAW,CAAC;IACtD,CAAC,MAAM;MACLzN,KAAK,CAAC2F,IAAI,GAAG,CAACxD,IAAI,CAACzE,KAAK,GAAG6R,QAAQ,CAACpN,IAAI,CAACoE,UAAU,CAAC;IACtD;IACAvG,KAAK,CAACwU,OAAO,GAAGrS,IAAI,CAACV,YAAY,KAAKU,IAAI,CAACzE,KAAK,GAAG,CAAC,GAAG,CAAC;IACxDsC,KAAK,CAAC4W,MAAM,GAAGzU,IAAI,CAACV,YAAY,KAAKU,IAAI,CAACzE,KAAK,GAAG,GAAG,GAAG,GAAG;IAC3D,IAAIyE,IAAI,CAACsF,MAAM,EAAE;MACfzH,KAAK,CAACyU,UAAU,GACd,UAAU,GACVtS,IAAI,CAACe,KAAK,GACV,KAAK,GACLf,IAAI,CAAC8S,OAAO,GACZ,IAAI,GACJ,aAAa,GACb9S,IAAI,CAACe,KAAK,GACV,KAAK,GACLf,IAAI,CAAC8S,OAAO;IAChB;EACF;EAEA,OAAOjV,KAAK;AACd,CAAC;AAED,IAAM6W,MAAM,GAAG,SAATA,MAAMA,CAAIxX,KAAK,EAAEyX,WAAW;EAAA,OAAKzX,KAAK,CAAC5H,GAAG,IAAIqf,WAAW;AAAA;AAE/D,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAG5U,IAAI,EAAI;EAC3B,IAAI1K,GAAG;EACP,IAAIgc,MAAM,GAAG,EAAE;EACf,IAAIuD,cAAc,GAAG,EAAE;EACvB,IAAIC,eAAe,GAAG,EAAE;EACxB,IAAI3Q,aAAa,GAAGpH,4CAAK,CAACC,QAAQ,CAACyF,KAAK,CAACzC,IAAI,CAAClD,QAAQ,CAAC;EACvD,IAAI6P,UAAU,GAAGC,8EAAc,CAAC5M,IAAI,CAAC;EACrC,IAAI6M,QAAQ,GAAGC,4EAAY,CAAC9M,IAAI,CAAC;EAEjCjD,4CAAK,CAACC,QAAQ,CAAC3G,OAAO,CAAC2J,IAAI,CAAClD,QAAQ,EAAE,UAACsC,IAAI,EAAE7D,KAAK,EAAK;IACrD,IAAI2B,KAAK;IACT,IAAI6X,mBAAmB,GAAG;MACxBpS,OAAO,EAAE,UAAU;MACnBpH,KAAK,EAAEA,KAAK;MACZgB,cAAc,EAAEyD,IAAI,CAACzD,cAAc;MACnC+C,YAAY,EAAEU,IAAI,CAACV;IACrB,CAAC;;IAED;IACA,IACE,CAACU,IAAI,CAACN,QAAQ,IACbM,IAAI,CAACN,QAAQ,IAAIM,IAAI,CAACF,cAAc,CAAChB,OAAO,CAACvD,KAAK,CAAC,IAAI,CAAE,EAC1D;MACA2B,KAAK,GAAGkC,IAAI;IACd,CAAC,MAAM;MACLlC,KAAK,gBAAGH,4CAAA,CAAAmB,aAAA,YAAM,CAAC;IACjB;IACA,IAAI8W,UAAU,GAAGV,aAAa,CAAAle,aAAA,CAAAA,aAAA,KAAM4J,IAAI;MAAEzE,KAAK,EAALA;IAAK,EAAE,CAAC;IAClD,IAAI0Z,UAAU,GAAG/X,KAAK,CAACnG,KAAK,CAACoH,SAAS,IAAI,EAAE;IAC5C,IAAI+W,YAAY,GAAGlB,eAAe,CAAA5d,aAAA,CAAAA,aAAA,KAAM4J,IAAI;MAAEzE,KAAK,EAALA;IAAK,EAAE,CAAC;IACtD;IACA+V,MAAM,CAACnb,IAAI,eACT4G,4CAAK,CAACgB,YAAY,CAACb,KAAK,EAAE;MACxB5H,GAAG,EAAE,UAAU,GAAGof,MAAM,CAACxX,KAAK,EAAE3B,KAAK,CAAC;MACtC,YAAY,EAAEA,KAAK;MACnB4C,SAAS,EAAEuJ,iDAAU,CAACwN,YAAY,EAAED,UAAU,CAAC;MAC/CjX,QAAQ,EAAE,IAAI;MACd,aAAa,EAAE,CAACkX,YAAY,CAAC,cAAc,CAAC;MAC5CrX,KAAK,EAAAzH,aAAA,CAAAA,aAAA;QAAI+e,OAAO,EAAE;MAAM,GAAMjY,KAAK,CAACnG,KAAK,CAAC8G,KAAK,IAAI,CAAC,CAAC,GAAMmX,UAAU,CAAE;MACvEtL,OAAO,EAAE,SAAAA,QAAA/T,CAAC,EAAI;QACZuH,KAAK,CAACnG,KAAK,IAAImG,KAAK,CAACnG,KAAK,CAAC2S,OAAO,IAAIxM,KAAK,CAACnG,KAAK,CAAC2S,OAAO,CAAC/T,CAAC,CAAC;QAC5D,IAAIqK,IAAI,CAAC6F,aAAa,EAAE;UACtB7F,IAAI,CAAC6F,aAAa,CAACkP,mBAAmB,CAAC;QACzC;MACF;IACF,CAAC,CACH,CAAC;;IAED;IACA,IAAI/U,IAAI,CAAC5B,QAAQ,IAAI4B,IAAI,CAACpD,IAAI,KAAK,KAAK,EAAE;MACxC,IAAIwY,UAAU,GAAGjR,aAAa,GAAG5I,KAAK;MACtC,IAAI6Z,UAAU,IAAIrR,4EAAY,CAAC/D,IAAI,CAAC,EAAE;QACpC1K,GAAG,GAAG,CAAC8f,UAAU;QACjB,IAAI9f,GAAG,IAAIqX,UAAU,EAAE;UACrBzP,KAAK,GAAGkC,IAAI;QACd;QACA8V,YAAY,GAAGlB,eAAe,CAAA5d,aAAA,CAAAA,aAAA,KAAM4J,IAAI;UAAEzE,KAAK,EAAEjG;QAAG,EAAE,CAAC;QACvDuf,cAAc,CAAC1e,IAAI,eACjB4G,4CAAK,CAACgB,YAAY,CAACb,KAAK,EAAE;UACxB5H,GAAG,EAAE,WAAW,GAAGof,MAAM,CAACxX,KAAK,EAAE5H,GAAG,CAAC;UACrC,YAAY,EAAEA,GAAG;UACjB0I,QAAQ,EAAE,IAAI;UACdG,SAAS,EAAEuJ,iDAAU,CAACwN,YAAY,EAAED,UAAU,CAAC;UAC/C,aAAa,EAAE,CAACC,YAAY,CAAC,cAAc,CAAC;UAC5CrX,KAAK,EAAAzH,aAAA,CAAAA,aAAA,KAAQ8G,KAAK,CAACnG,KAAK,CAAC8G,KAAK,IAAI,CAAC,CAAC,GAAMmX,UAAU,CAAE;UACtDtL,OAAO,EAAE,SAAAA,QAAA/T,CAAC,EAAI;YACZuH,KAAK,CAACnG,KAAK,IAAImG,KAAK,CAACnG,KAAK,CAAC2S,OAAO,IAAIxM,KAAK,CAACnG,KAAK,CAAC2S,OAAO,CAAC/T,CAAC,CAAC;YAC5D,IAAIqK,IAAI,CAAC6F,aAAa,EAAE;cACtB7F,IAAI,CAAC6F,aAAa,CAACkP,mBAAmB,CAAC;YACzC;UACF;QACF,CAAC,CACH,CAAC;MACH;MAEAzf,GAAG,GAAG6O,aAAa,GAAG5I,KAAK;MAC3B,IAAIjG,GAAG,GAAGuX,QAAQ,EAAE;QAClB3P,KAAK,GAAGkC,IAAI;MACd;MACA8V,YAAY,GAAGlB,eAAe,CAAA5d,aAAA,CAAAA,aAAA,KAAM4J,IAAI;QAAEzE,KAAK,EAAEjG;MAAG,EAAE,CAAC;MACvDwf,eAAe,CAAC3e,IAAI,eAClB4G,4CAAK,CAACgB,YAAY,CAACb,KAAK,EAAE;QACxB5H,GAAG,EAAE,YAAY,GAAGof,MAAM,CAACxX,KAAK,EAAE5H,GAAG,CAAC;QACtC,YAAY,EAAEA,GAAG;QACjB0I,QAAQ,EAAE,IAAI;QACdG,SAAS,EAAEuJ,iDAAU,CAACwN,YAAY,EAAED,UAAU,CAAC;QAC/C,aAAa,EAAE,CAACC,YAAY,CAAC,cAAc,CAAC;QAC5CrX,KAAK,EAAAzH,aAAA,CAAAA,aAAA,KAAQ8G,KAAK,CAACnG,KAAK,CAAC8G,KAAK,IAAI,CAAC,CAAC,GAAMmX,UAAU,CAAE;QACtDtL,OAAO,EAAE,SAAAA,QAAA/T,CAAC,EAAI;UACZuH,KAAK,CAACnG,KAAK,IAAImG,KAAK,CAACnG,KAAK,CAAC2S,OAAO,IAAIxM,KAAK,CAACnG,KAAK,CAAC2S,OAAO,CAAC/T,CAAC,CAAC;UAC5D,IAAIqK,IAAI,CAAC6F,aAAa,EAAE;YACtB7F,IAAI,CAAC6F,aAAa,CAACkP,mBAAmB,CAAC;UACzC;QACF;MACF,CAAC,CACH,CAAC;IACH;EACF,CAAC,CAAC;EAEF,IAAI/U,IAAI,CAACqG,GAAG,EAAE;IACZ,OAAOwO,cAAc,CAAClY,MAAM,CAAC2U,MAAM,EAAEwD,eAAe,CAAC,CAACO,OAAO,CAAC,CAAC;EACjE,CAAC,MAAM;IACL,OAAOR,cAAc,CAAClY,MAAM,CAAC2U,MAAM,EAAEwD,eAAe,CAAC;EACvD;AACF,CAAC;AAEM,IAAMvK,KAAK,0BAAA+K,oBAAA;EAAA/d,SAAA,CAAAgT,KAAA,EAAA+K,oBAAA;EAAA,IAAA3b,MAAA,GAAA3B,YAAA,CAAAuS,KAAA;EAAA,SAAAA,MAAA;IAAA,IAAA3Q,KAAA;IAAAlD,eAAA,OAAA6T,KAAA;IAAA,SAAAgL,IAAA,GAAApgB,SAAA,CAAAC,MAAA,EAAAogB,IAAA,OAAArU,KAAA,CAAAoU,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;MAAAD,IAAA,CAAAC,IAAA,IAAAtgB,SAAA,CAAAsgB,IAAA;IAAA;IAAA7b,KAAA,GAAAD,MAAA,CAAAnE,IAAA,CAAAC,KAAA,CAAAkE,MAAA,SAAAgD,MAAA,CAAA6Y,IAAA;IAAAlf,eAAA,CAAAuC,sBAAA,CAAAe,KAAA,WACT,IAAI;IAAAtD,eAAA,CAAAuC,sBAAA,CAAAe,KAAA,gBAEC,UAAAC,GAAG,EAAI;MACjBD,KAAA,CAAKqJ,IAAI,GAAGpJ,GAAG;IACjB,CAAC;IAAA,OAAAD,KAAA;EAAA;EAAAxC,YAAA,CAAAmT,KAAA;IAAAjV,GAAA;IAAAqC,KAAA,WAAAqE,OAAA,EAEQ;MACP,IAAMsV,MAAM,GAAGsD,YAAY,CAAC,IAAI,CAAC7d,KAAK,CAAC;MAAC,IAAAiO,WAAA,GACY,IAAI,CAACjO,KAAK;QAAtDgR,YAAY,GAAA/C,WAAA,CAAZ+C,YAAY;QAAEI,WAAW,GAAAnD,WAAA,CAAXmD,WAAW;QAAEF,YAAY,GAAAjD,WAAA,CAAZiD,YAAY;MAC/C,IAAMyN,WAAW,GAAG;QAAE3N,YAAY,EAAZA,YAAY;QAAEI,WAAW,EAAXA,WAAW;QAAEF,YAAY,EAAZA;MAAa,CAAC;MAC/D,oBACElL,4CAAA,CAAAmB,aAAA,QAAArJ,QAAA;QACEgF,GAAG,EAAE,IAAI,CAAC8b,SAAU;QACpBxX,SAAS,EAAC,aAAa;QACvBN,KAAK,EAAE,IAAI,CAAC9G,KAAK,CAAC0M;MAAW,GACzBiS,WAAW,GAEdpE,MACE,CAAC;IAEV;EAAC;EAAA,OAAA/G,KAAA;AAAA,EArBwBxN,4CAAK,CAAC6Y,aAAa,E;;;;;;;ACnM9C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;AAAA,SAAArhB,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAAA,SAAAkB,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAf,MAAA,CAAAgB,IAAA,CAAAH,CAAA,OAAAb,MAAA,CAAAiB,qBAAA,QAAAvB,CAAA,GAAAM,MAAA,CAAAiB,qBAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAApB,CAAA,GAAAA,CAAA,CAAAwB,MAAA,WAAAJ,CAAA,WAAAd,MAAA,CAAAmB,wBAAA,CAAAN,CAAA,EAAAC,CAAA,EAAAM,UAAA,OAAAL,CAAA,CAAAM,IAAA,CAAAV,KAAA,CAAAI,CAAA,EAAArB,CAAA,YAAAqB,CAAA;AAAA,SAAAO,cAAAT,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAT,SAAA,CAAAC,MAAA,EAAAQ,CAAA,UAAAC,CAAA,WAAAV,SAAA,CAAAS,CAAA,IAAAT,SAAA,CAAAS,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAZ,MAAA,CAAAe,CAAA,OAAAQ,OAAA,WAAAT,CAAA,IAAAU,eAAA,CAAAX,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAd,MAAA,CAAAyB,yBAAA,GAAAzB,MAAA,CAAA0B,gBAAA,CAAAb,CAAA,EAAAb,MAAA,CAAAyB,yBAAA,CAAAV,CAAA,KAAAH,OAAA,CAAAZ,MAAA,CAAAe,CAAA,GAAAQ,OAAA,WAAAT,CAAA,IAAAd,MAAA,CAAA2B,cAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAd,MAAA,CAAAmB,wBAAA,CAAAJ,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAW,gBAAA4C,GAAA,EAAA5D,GAAA,EAAAqC,KAAA,IAAArC,GAAA,GAAA6B,cAAA,CAAA7B,GAAA,OAAAA,GAAA,IAAA4D,GAAA,IAAApE,MAAA,CAAA2B,cAAA,CAAAyC,GAAA,EAAA5D,GAAA,IAAAqC,KAAA,EAAAA,KAAA,EAAAzB,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAAgC,GAAA,CAAA5D,GAAA,IAAAqC,KAAA,WAAAuB,GAAA;AAAA,SAAAxC,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAAC,SAAA;AAAA,SAAAC,kBAAA7B,MAAA,EAAA8B,KAAA,aAAA7B,CAAA,MAAAA,CAAA,GAAA6B,KAAA,CAAA3B,MAAA,EAAAF,CAAA,UAAA8B,UAAA,GAAAD,KAAA,CAAA7B,CAAA,GAAA8B,UAAA,CAAAd,UAAA,GAAAc,UAAA,CAAAd,UAAA,WAAAc,UAAA,CAAAC,YAAA,wBAAAD,UAAA,EAAAA,UAAA,CAAAE,QAAA,SAAApC,MAAA,CAAA2B,cAAA,CAAAxB,MAAA,EAAAkC,cAAA,CAAAH,UAAA,CAAA1B,GAAA,GAAA0B,UAAA;AAAA,SAAAI,aAAAR,WAAA,EAAAS,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAP,iBAAA,CAAAF,WAAA,CAAAhC,SAAA,EAAAyC,UAAA,OAAAC,WAAA,EAAAR,iBAAA,CAAAF,WAAA,EAAAU,WAAA,GAAAxC,MAAA,CAAA2B,cAAA,CAAAG,WAAA,iBAAAM,QAAA,mBAAAN,WAAA;AAAA,SAAAO,eAAAtB,CAAA,QAAAX,CAAA,GAAAiE,YAAA,CAAAtD,CAAA,gCAAAtB,OAAA,CAAAW,CAAA,IAAAA,CAAA,GAAAkE,MAAA,CAAAlE,CAAA;AAAA,SAAAiE,aAAAtD,CAAA,EAAAD,CAAA,oBAAArB,OAAA,CAAAsB,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAApB,MAAA,CAAA4E,WAAA,kBAAA1D,CAAA,QAAAT,CAAA,GAAAS,CAAA,CAAAH,IAAA,CAAAK,CAAA,EAAAD,CAAA,gCAAArB,OAAA,CAAAW,CAAA,UAAAA,CAAA,YAAA2B,SAAA,yEAAAjB,CAAA,GAAAwD,MAAA,GAAAE,MAAA,EAAAzD,CAAA;AAAA,SAAA0B,UAAAC,QAAA,EAAAC,UAAA,eAAAA,UAAA,mBAAAA,UAAA,uBAAAZ,SAAA,0DAAAW,QAAA,CAAA5C,SAAA,GAAAE,MAAA,CAAA4C,MAAA,CAAAD,UAAA,IAAAA,UAAA,CAAA7C,SAAA,IAAAD,WAAA,IAAAgD,KAAA,EAAAH,QAAA,EAAAN,QAAA,QAAAD,YAAA,aAAAnC,MAAA,CAAA2B,cAAA,CAAAe,QAAA,iBAAAN,QAAA,gBAAAO,UAAA,EAAAG,eAAA,CAAAJ,QAAA,EAAAC,UAAA;AAAA,SAAAG,gBAAApD,CAAA,EAAAqD,CAAA,IAAAD,eAAA,GAAA9C,MAAA,CAAAgD,cAAA,GAAAhD,MAAA,CAAAgD,cAAA,CAAA9C,IAAA,cAAA4C,gBAAApD,CAAA,EAAAqD,CAAA,IAAArD,CAAA,CAAAuD,SAAA,GAAAF,CAAA,SAAArD,CAAA,YAAAoD,eAAA,CAAApD,CAAA,EAAAqD,CAAA;AAAA,SAAAG,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,GAAAC,eAAA,CAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,GAAAF,eAAA,OAAA3D,WAAA,EAAA4D,MAAA,GAAAE,OAAA,CAAAC,SAAA,CAAAL,KAAA,EAAAlD,SAAA,EAAAqD,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAA5C,KAAA,OAAAN,SAAA,YAAAwD,0BAAA,OAAAJ,MAAA;AAAA,SAAAI,2BAAAC,IAAA,EAAApD,IAAA,QAAAA,IAAA,KAAAjB,OAAA,CAAAiB,IAAA,yBAAAA,IAAA,2BAAAA,IAAA,aAAAA,IAAA,yBAAAqB,SAAA,uEAAAgC,sBAAA,CAAAD,IAAA;AAAA,SAAAC,uBAAAD,IAAA,QAAAA,IAAA,yBAAAE,cAAA,wEAAAF,IAAA;AAAA,SAAAT,0BAAA,cAAAtC,CAAA,IAAAkD,OAAA,CAAAnE,SAAA,CAAAoE,OAAA,CAAAxD,IAAA,CAAAiD,OAAA,CAAAC,SAAA,CAAAK,OAAA,iCAAAlD,CAAA,aAAAsC,yBAAA,YAAAA,0BAAA,aAAAtC,CAAA;AAAA,SAAAyC,gBAAA9D,CAAA,IAAA8D,eAAA,GAAAxD,MAAA,CAAAgD,cAAA,GAAAhD,MAAA,CAAAmE,cAAA,CAAAjE,IAAA,cAAAsD,gBAAA9D,CAAA,WAAAA,CAAA,CAAAuD,SAAA,IAAAjD,MAAA,CAAAmE,cAAA,CAAAzE,CAAA,aAAA8D,eAAA,CAAA9D,CAAA;AAEa;AACU;AACa;AAEjD,IAAMqhB,WAAW,GAAG,SAAdA,WAAWA,CAAG7V,IAAI,EAAI;EAC1B,IAAIqI,IAAI;EAER,IAAIrI,IAAI,CAAC5B,QAAQ,EAAE;IACjBiK,IAAI,GAAG8D,IAAI,CAACgC,IAAI,CAACnO,IAAI,CAACgE,UAAU,GAAGhE,IAAI,CAACzD,cAAc,CAAC;EACzD,CAAC,MAAM;IACL8L,IAAI,GACF8D,IAAI,CAACgC,IAAI,CAAC,CAACnO,IAAI,CAACgE,UAAU,GAAGhE,IAAI,CAACnD,YAAY,IAAImD,IAAI,CAACzD,cAAc,CAAC,GACtE,CAAC;EACL;EAEA,OAAO8L,IAAI;AACb,CAAC;AAEM,IAAMM,IAAI,0BAAA2M,oBAAA;EAAA/d,SAAA,CAAAoR,IAAA,EAAA2M,oBAAA;EAAA,IAAA3b,MAAA,GAAA3B,YAAA,CAAA2Q,IAAA;EAAA,SAAAA,KAAA;IAAAjS,eAAA,OAAAiS,IAAA;IAAA,OAAAhP,MAAA,CAAAlE,KAAA,OAAAN,SAAA;EAAA;EAAAiC,YAAA,CAAAuR,IAAA;IAAArT,GAAA;IAAAqC,KAAA,WAAA6Q,aACF7C,OAAO,EAAEhQ,CAAC,EAAE;MACvB;MACA;MACAA,CAAC,CAACsQ,cAAc,CAAC,CAAC;MAClB,IAAI,CAAClP,KAAK,CAACyR,YAAY,CAAC7C,OAAO,CAAC;IAClC;EAAC;IAAArQ,GAAA;IAAAqC,KAAA,WAAAqE,OAAA,EACQ;MAAA,IAAAgJ,WAAA,GAUH,IAAI,CAACjO,KAAK;QARZgR,YAAY,GAAA/C,WAAA,CAAZ+C,YAAY;QACZI,WAAW,GAAAnD,WAAA,CAAXmD,WAAW;QACXF,YAAY,GAAAjD,WAAA,CAAZiD,YAAY;QACZ7J,QAAQ,GAAA4G,WAAA,CAAR5G,QAAQ;QACR7B,cAAc,GAAAyI,WAAA,CAAdzI,cAAc;QACdM,YAAY,GAAAmI,WAAA,CAAZnI,YAAY;QACZmH,UAAU,GAAAgB,WAAA,CAAVhB,UAAU;QACV1E,YAAY,GAAA0F,WAAA,CAAZ1F,YAAY;MAEd,IAAI8Q,QAAQ,GAAGyF,WAAW,CAAC;QACzB7R,UAAU,EAAVA,UAAU;QACVzH,cAAc,EAAdA,cAAc;QACdM,YAAY,EAAZA,YAAY;QACZuB,QAAQ,EAARA;MACF,CAAC,CAAC;MAEF,IAAMsX,WAAW,GAAG;QAAE3N,YAAY,EAAZA,YAAY;QAAEI,WAAW,EAAXA,WAAW;QAAEF,YAAY,EAAZA;MAAa,CAAC;MAC/D,IAAII,IAAI,GAAG,EAAE;MACb,KAAK,IAAInT,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkb,QAAQ,EAAElb,CAAC,EAAE,EAAE;QACjC,IAAI4gB,WAAW,GAAG,CAAC5gB,CAAC,GAAG,CAAC,IAAIqH,cAAc,GAAG,CAAC;QAC9C,IAAIwZ,UAAU,GAAG3X,QAAQ,GACrB0X,WAAW,GACX/J,qEAAK,CAAC+J,WAAW,EAAE,CAAC,EAAE9R,UAAU,GAAG,CAAC,CAAC;QACzC,IAAIgS,UAAU,GAAGD,UAAU,IAAIxZ,cAAc,GAAG,CAAC,CAAC;QAClD,IAAI0Z,SAAS,GAAG7X,QAAQ,GACpB4X,UAAU,GACVjK,qEAAK,CAACiK,UAAU,EAAE,CAAC,EAAEhS,UAAU,GAAG,CAAC,CAAC;QAExC,IAAI7F,SAAS,GAAGuJ,iDAAU,CAAC;UACzB,cAAc,EAAEtJ,QAAQ,GACpBkB,YAAY,IAAI2W,SAAS,IAAI3W,YAAY,IAAIyW,UAAU,GACvDzW,YAAY,KAAK2W;QACvB,CAAC,CAAC;QAEF,IAAIC,UAAU,GAAG;UACfvT,OAAO,EAAE,MAAM;UACfpH,KAAK,EAAErG,CAAC;UACRqH,cAAc,EAAdA,cAAc;UACd+C,YAAY,EAAZA;QACF,CAAC;QAED,IAAIoK,OAAO,GAAG,IAAI,CAAClB,YAAY,CAACxT,IAAI,CAAC,IAAI,EAAEkhB,UAAU,CAAC;QACtD7N,IAAI,GAAGA,IAAI,CAAC1L,MAAM,eAChBI,4CAAA,CAAAmB,aAAA;UAAI5I,GAAG,EAAEJ,CAAE;UAACiJ,SAAS,EAAEA;QAAU,gBAC9BpB,4CAAK,CAACgB,YAAY,CAAC,IAAI,CAAChH,KAAK,CAAC8c,YAAY,CAAC3e,CAAC,CAAC,EAAE;UAAEwU,OAAO,EAAPA;QAAQ,CAAC,CACzD,CACN,CAAC;MACH;MAEA,oBAAO3M,4CAAK,CAACgB,YAAY,CAAC,IAAI,CAAChH,KAAK,CAAC6c,UAAU,CAACvL,IAAI,CAAC,EAAAjS,aAAA;QACnD+H,SAAS,EAAE,IAAI,CAACpH,KAAK,CAAC+c;MAAS,GAC5B4B,WAAW,CACf,CAAC;IACJ;EAAC;EAAA,OAAA/M,IAAA;AAAA,EA9DuB5L,4CAAK,CAAC6Y,aAAa,E;;;;;;;ACpB7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;AAAA,SAAArhB,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAAA,SAAAK,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAF,SAAA,CAAAW,cAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAY,KAAA,OAAAN,SAAA;AAAA,SAAAO,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAf,MAAA,CAAAgB,IAAA,CAAAH,CAAA,OAAAb,MAAA,CAAAiB,qBAAA,QAAAvB,CAAA,GAAAM,MAAA,CAAAiB,qBAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAApB,CAAA,GAAAA,CAAA,CAAAwB,MAAA,WAAAJ,CAAA,WAAAd,MAAA,CAAAmB,wBAAA,CAAAN,CAAA,EAAAC,CAAA,EAAAM,UAAA,OAAAL,CAAA,CAAAM,IAAA,CAAAV,KAAA,CAAAI,CAAA,EAAArB,CAAA,YAAAqB,CAAA;AAAA,SAAAO,cAAAT,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAT,SAAA,CAAAC,MAAA,EAAAQ,CAAA,UAAAC,CAAA,WAAAV,SAAA,CAAAS,CAAA,IAAAT,SAAA,CAAAS,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAZ,MAAA,CAAAe,CAAA,OAAAQ,OAAA,WAAAT,CAAA,IAAAU,eAAA,CAAAX,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAd,MAAA,CAAAyB,yBAAA,GAAAzB,MAAA,CAAA0B,gBAAA,CAAAb,CAAA,EAAAb,MAAA,CAAAyB,yBAAA,CAAAV,CAAA,KAAAH,OAAA,CAAAZ,MAAA,CAAAe,CAAA,GAAAQ,OAAA,WAAAT,CAAA,IAAAd,MAAA,CAAA2B,cAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAd,MAAA,CAAAmB,wBAAA,CAAAJ,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAW,gBAAA4C,GAAA,EAAA5D,GAAA,EAAAqC,KAAA,IAAArC,GAAA,GAAA6B,cAAA,CAAA7B,GAAA,OAAAA,GAAA,IAAA4D,GAAA,IAAApE,MAAA,CAAA2B,cAAA,CAAAyC,GAAA,EAAA5D,GAAA,IAAAqC,KAAA,EAAAA,KAAA,EAAAzB,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAAgC,GAAA,CAAA5D,GAAA,IAAAqC,KAAA,WAAAuB,GAAA;AAAA,SAAAxC,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAAC,SAAA;AAAA,SAAAC,kBAAA7B,MAAA,EAAA8B,KAAA,aAAA7B,CAAA,MAAAA,CAAA,GAAA6B,KAAA,CAAA3B,MAAA,EAAAF,CAAA,UAAA8B,UAAA,GAAAD,KAAA,CAAA7B,CAAA,GAAA8B,UAAA,CAAAd,UAAA,GAAAc,UAAA,CAAAd,UAAA,WAAAc,UAAA,CAAAC,YAAA,wBAAAD,UAAA,EAAAA,UAAA,CAAAE,QAAA,SAAApC,MAAA,CAAA2B,cAAA,CAAAxB,MAAA,EAAAkC,cAAA,CAAAH,UAAA,CAAA1B,GAAA,GAAA0B,UAAA;AAAA,SAAAI,aAAAR,WAAA,EAAAS,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAP,iBAAA,CAAAF,WAAA,CAAAhC,SAAA,EAAAyC,UAAA,OAAAC,WAAA,EAAAR,iBAAA,CAAAF,WAAA,EAAAU,WAAA,GAAAxC,MAAA,CAAA2B,cAAA,CAAAG,WAAA,iBAAAM,QAAA,mBAAAN,WAAA;AAAA,SAAAO,eAAAtB,CAAA,QAAAX,CAAA,GAAAiE,YAAA,CAAAtD,CAAA,gCAAAtB,OAAA,CAAAW,CAAA,IAAAA,CAAA,GAAAkE,MAAA,CAAAlE,CAAA;AAAA,SAAAiE,aAAAtD,CAAA,EAAAD,CAAA,oBAAArB,OAAA,CAAAsB,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAApB,MAAA,CAAA4E,WAAA,kBAAA1D,CAAA,QAAAT,CAAA,GAAAS,CAAA,CAAAH,IAAA,CAAAK,CAAA,EAAAD,CAAA,gCAAArB,OAAA,CAAAW,CAAA,UAAAA,CAAA,YAAA2B,SAAA,yEAAAjB,CAAA,GAAAwD,MAAA,GAAAE,MAAA,EAAAzD,CAAA;AAAA,SAAA0B,UAAAC,QAAA,EAAAC,UAAA,eAAAA,UAAA,mBAAAA,UAAA,uBAAAZ,SAAA,0DAAAW,QAAA,CAAA5C,SAAA,GAAAE,MAAA,CAAA4C,MAAA,CAAAD,UAAA,IAAAA,UAAA,CAAA7C,SAAA,IAAAD,WAAA,IAAAgD,KAAA,EAAAH,QAAA,EAAAN,QAAA,QAAAD,YAAA,aAAAnC,MAAA,CAAA2B,cAAA,CAAAe,QAAA,iBAAAN,QAAA,gBAAAO,UAAA,EAAAG,eAAA,CAAAJ,QAAA,EAAAC,UAAA;AAAA,SAAAG,gBAAApD,CAAA,EAAAqD,CAAA,IAAAD,eAAA,GAAA9C,MAAA,CAAAgD,cAAA,GAAAhD,MAAA,CAAAgD,cAAA,CAAA9C,IAAA,cAAA4C,gBAAApD,CAAA,EAAAqD,CAAA,IAAArD,CAAA,CAAAuD,SAAA,GAAAF,CAAA,SAAArD,CAAA,YAAAoD,eAAA,CAAApD,CAAA,EAAAqD,CAAA;AAAA,SAAAG,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,GAAAC,eAAA,CAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,GAAAF,eAAA,OAAA3D,WAAA,EAAA4D,MAAA,GAAAE,OAAA,CAAAC,SAAA,CAAAL,KAAA,EAAAlD,SAAA,EAAAqD,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAA5C,KAAA,OAAAN,SAAA,YAAAwD,0BAAA,OAAAJ,MAAA;AAAA,SAAAI,2BAAAC,IAAA,EAAApD,IAAA,QAAAA,IAAA,KAAAjB,OAAA,CAAAiB,IAAA,yBAAAA,IAAA,2BAAAA,IAAA,aAAAA,IAAA,yBAAAqB,SAAA,uEAAAgC,sBAAA,CAAAD,IAAA;AAAA,SAAAC,uBAAAD,IAAA,QAAAA,IAAA,yBAAAE,cAAA,wEAAAF,IAAA;AAAA,SAAAT,0BAAA,cAAAtC,CAAA,IAAAkD,OAAA,CAAAnE,SAAA,CAAAoE,OAAA,CAAAxD,IAAA,CAAAiD,OAAA,CAAAC,SAAA,CAAAK,OAAA,iCAAAlD,CAAA,aAAAsC,yBAAA,YAAAA,0BAAA,aAAAtC,CAAA;AAAA,SAAAyC,gBAAA9D,CAAA,IAAA8D,eAAA,GAAAxD,MAAA,CAAAgD,cAAA,GAAAhD,MAAA,CAAAmE,cAAA,CAAAjE,IAAA,cAAAsD,gBAAA9D,CAAA,WAAAA,CAAA,CAAAuD,SAAA,IAAAjD,MAAA,CAAAmE,cAAA,CAAAzE,CAAA,aAAA8D,eAAA,CAAA9D,CAAA;AAEa;AACU;AACiB;AAE9C,IAAMwU,SAAS,0BAAAsM,oBAAA;EAAA/d,SAAA,CAAAyR,SAAA,EAAAsM,oBAAA;EAAA,IAAA3b,MAAA,GAAA3B,YAAA,CAAAgR,SAAA;EAAA,SAAAA,UAAA;IAAAtS,eAAA,OAAAsS,SAAA;IAAA,OAAArP,MAAA,CAAAlE,KAAA,OAAAN,SAAA;EAAA;EAAAiC,YAAA,CAAA4R,SAAA;IAAA1T,GAAA;IAAAqC,KAAA,WAAA6Q,aACP7C,OAAO,EAAEhQ,CAAC,EAAE;MACvB,IAAIA,CAAC,EAAE;QACLA,CAAC,CAACsQ,cAAc,CAAC,CAAC;MACpB;MACA,IAAI,CAAClP,KAAK,CAACyR,YAAY,CAAC7C,OAAO,EAAEhQ,CAAC,CAAC;IACrC;EAAC;IAAAL,GAAA;IAAAqC,KAAA,WAAAqE,OAAA,EACQ;MACP,IAAIma,WAAW,GAAG;QAAE,aAAa,EAAE,IAAI;QAAE,YAAY,EAAE;MAAK,CAAC;MAC7D,IAAIC,WAAW,GAAG,IAAI,CAAC5N,YAAY,CAACxT,IAAI,CAAC,IAAI,EAAE;QAAE2N,OAAO,EAAE;MAAW,CAAC,CAAC;MAEvE,IACE,CAAC,IAAI,CAAC5L,KAAK,CAACqH,QAAQ,KACnB,IAAI,CAACrH,KAAK,CAACuI,YAAY,KAAK,CAAC,IAC5B,IAAI,CAACvI,KAAK,CAACiN,UAAU,IAAI,IAAI,CAACjN,KAAK,CAAC8F,YAAY,CAAC,EACnD;QACAsZ,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;QACpCC,WAAW,GAAG,IAAI;MACpB;MAEA,IAAIC,cAAc,GAAG;QACnB/gB,GAAG,EAAE,GAAG;QACR,WAAW,EAAE,MAAM;QACnB6I,SAAS,EAAEuJ,iDAAU,CAACyO,WAAW,CAAC;QAClCtY,KAAK,EAAE;UAAEI,OAAO,EAAE;QAAQ,CAAC;QAC3ByL,OAAO,EAAE0M;MACX,CAAC;MACD,IAAIE,WAAW,GAAG;QAChBhX,YAAY,EAAE,IAAI,CAACvI,KAAK,CAACuI,YAAY;QACrC0E,UAAU,EAAE,IAAI,CAACjN,KAAK,CAACiN;MACzB,CAAC;MACD,IAAI4E,SAAS;MAEb,IAAI,IAAI,CAAC7R,KAAK,CAAC6R,SAAS,EAAE;QACxBA,SAAS,gBAAG7L,4CAAK,CAACgB,YAAY,CAAC,IAAI,CAAChH,KAAK,CAAC6R,SAAS,EAAAxS,aAAA,CAAAA,aAAA,KAC9CigB,cAAc,GACdC,WAAW,CACf,CAAC;MACJ,CAAC,MAAM;QACL1N,SAAS,gBACP7L,4CAAA,CAAAmB,aAAA,WAAArJ,QAAA;UAAQS,GAAG,EAAC,GAAG;UAAC8Z,IAAI,EAAC;QAAQ,GAAKiH,cAAc,GAC7C,GAAG,EAAC,UAEC,CACT;MACH;MAEA,OAAOzN,SAAS;IAClB;EAAC;EAAA,OAAAI,SAAA;AAAA,EAhD4BjM,4CAAK,CAAC6Y,aAAa;AAmD3C,IAAM3M,SAAS,0BAAAsN,qBAAA;EAAAhf,SAAA,CAAA0R,SAAA,EAAAsN,qBAAA;EAAA,IAAAC,OAAA,GAAAxe,YAAA,CAAAiR,SAAA;EAAA,SAAAA,UAAA;IAAAvS,eAAA,OAAAuS,SAAA;IAAA,OAAAuN,OAAA,CAAA/gB,KAAA,OAAAN,SAAA;EAAA;EAAAiC,YAAA,CAAA6R,SAAA;IAAA3T,GAAA;IAAAqC,KAAA,WAAA6Q,aACP7C,OAAO,EAAEhQ,CAAC,EAAE;MACvB,IAAIA,CAAC,EAAE;QACLA,CAAC,CAACsQ,cAAc,CAAC,CAAC;MACpB;MACA,IAAI,CAAClP,KAAK,CAACyR,YAAY,CAAC7C,OAAO,EAAEhQ,CAAC,CAAC;IACrC;EAAC;IAAAL,GAAA;IAAAqC,KAAA,WAAAqE,OAAA,EACQ;MACP,IAAIya,WAAW,GAAG;QAAE,aAAa,EAAE,IAAI;QAAE,YAAY,EAAE;MAAK,CAAC;MAC7D,IAAIC,WAAW,GAAG,IAAI,CAAClO,YAAY,CAACxT,IAAI,CAAC,IAAI,EAAE;QAAE2N,OAAO,EAAE;MAAO,CAAC,CAAC;MAEnE,IAAI,CAACyE,yEAAS,CAAC,IAAI,CAACrQ,KAAK,CAAC,EAAE;QAC1B0f,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;QACpCC,WAAW,GAAG,IAAI;MACpB;MAEA,IAAIC,cAAc,GAAG;QACnBrhB,GAAG,EAAE,GAAG;QACR,WAAW,EAAE,MAAM;QACnB6I,SAAS,EAAEuJ,iDAAU,CAAC+O,WAAW,CAAC;QAClC5Y,KAAK,EAAE;UAAEI,OAAO,EAAE;QAAQ,CAAC;QAC3ByL,OAAO,EAAEgN;MACX,CAAC;MACD,IAAIJ,WAAW,GAAG;QAChBhX,YAAY,EAAE,IAAI,CAACvI,KAAK,CAACuI,YAAY;QACrC0E,UAAU,EAAE,IAAI,CAACjN,KAAK,CAACiN;MACzB,CAAC;MACD,IAAI6E,SAAS;MAEb,IAAI,IAAI,CAAC9R,KAAK,CAAC8R,SAAS,EAAE;QACxBA,SAAS,gBAAG9L,4CAAK,CAACgB,YAAY,CAAC,IAAI,CAAChH,KAAK,CAAC8R,SAAS,EAAAzS,aAAA,CAAAA,aAAA,KAC9CugB,cAAc,GACdL,WAAW,CACf,CAAC;MACJ,CAAC,MAAM;QACLzN,SAAS,gBACP9L,4CAAA,CAAAmB,aAAA,WAAArJ,QAAA;UAAQS,GAAG,EAAC,GAAG;UAAC8Z,IAAI,EAAC;QAAQ,GAAKuH,cAAc,GAC7C,GAAG,EAAC,MAEC,CACT;MACH;MAEA,OAAO9N,SAAS;IAClB;EAAC;EAAA,OAAAI,SAAA;AAAA,EA5C4BlM,4CAAK,CAAC6Y,aAAa,E;;;;;;;ACzDlD;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA,iCAAiC,YAAY;AAC7C,mDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gCAAgC,6BAA6B,EAAE,aAAa;AAC5G,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qDAAqD,mCAAmC,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,6CAA6C,yBAAyB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa;AACb;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,kCAAkC,iEAAiE;AACnG;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,8CAA8C;AAC9C,CAAC;AACD;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,2CAA2C;AAC7E;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA,eAAe,yBAAyB;AACxC;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;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,eAAe,QAAQ;AACvB,iBAAiB;AACjB;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,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAEc,oEAAK,EAAC;;;;;;;;AC/5BrB,mBAAmB,mBAAO,CAAC,EAA6B;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,yB;;;;;;AClDA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA,8B;;;;;;ACRA,yBAAyB,mBAAO,CAAC,EAAsB;AACvD;;;;;;;ACDA,iBAAiB,mBAAO,CAAC,EAAc;AACvC,WAAW,mBAAO,CAAC,EAAQ;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,4BAA4B;AAC3C,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,mBAAmB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACpFA,mBAAmB,mBAAO,CAAC,EAAgB;AAC3C,WAAW,mBAAO,CAAC,EAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC;AACjC,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;;;;;;AC5FA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,YAAY;AACtB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"react-slick.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"React\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__2__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import Slider from \"./slider\";\n\nexport default Slider;\n","\"use strict\";\n\nimport React from \"react\";\nimport { InnerSlider } from \"./inner-slider\";\nimport json2mq from \"json2mq\";\nimport defaultProps from \"./default-props\";\nimport { canUseDOM, filterSettings } from \"./utils/innerSliderUtils\";\nconst enquire = canUseDOM() && require(\"enquire.js\");\n\nexport default class Slider extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n breakpoint: null\n };\n this._responsiveMediaHandlers = [];\n }\n\n innerSliderRefHandler = ref => (this.innerSlider = ref);\n\n media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({ query, handler });\n }\n\n // handles responsive breakpoints\n componentDidMount() {\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n let breakpoints = this.props.responsive.map(\n breakpt => breakpt.breakpoint\n );\n // sort them in increasing order of their numerical value\n breakpoints.sort((x, y) => x - y);\n\n breakpoints.forEach((breakpoint, index) => {\n // media query for each breakpoint\n let bQuery;\n if (index === 0) {\n bQuery = json2mq({ minWidth: 0, maxWidth: breakpoint });\n } else {\n bQuery = json2mq({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint\n });\n }\n // when not using server side rendering\n canUseDOM() &&\n this.media(bQuery, () => {\n this.setState({ breakpoint: breakpoint });\n });\n });\n\n // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n let query = json2mq({ minWidth: breakpoints.slice(-1)[0] });\n\n canUseDOM() &&\n this.media(query, () => {\n this.setState({ breakpoint: null });\n });\n }\n }\n\n componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function(obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n\n slickPrev = () => this.innerSlider.slickPrev();\n\n slickNext = () => this.innerSlider.slickNext();\n\n slickGoTo = (slide, dontAnimate = false) =>\n this.innerSlider.slickGoTo(slide, dontAnimate);\n\n slickPause = () => this.innerSlider.pause(\"paused\");\n\n slickPlay = () => this.innerSlider.autoPlay(\"play\");\n\n render() {\n var settings;\n var newProps;\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(\n resp => resp.breakpoint === this.state.breakpoint\n );\n settings =\n newProps[0].settings === \"unslick\"\n ? \"unslick\"\n : { ...defaultProps, ...this.props, ...newProps[0].settings };\n } else {\n settings = { ...defaultProps, ...this.props };\n }\n\n // force scrolling by one if centerMode is on\n if (settings.centerMode) {\n if (\n settings.slidesToScroll > 1 &&\n process.env.NODE_ENV !== \"production\"\n ) {\n console.warn(\n `slidesToScroll should be equal to 1 in centerMode, you are using ${settings.slidesToScroll}`\n );\n }\n settings.slidesToScroll = 1;\n }\n // force showing one slide and scrolling by one if the fade mode is on\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\n `slidesToShow should be equal to 1 when fade is true, you're using ${settings.slidesToShow}`\n );\n }\n if (\n settings.slidesToScroll > 1 &&\n process.env.NODE_ENV !== \"production\"\n ) {\n console.warn(\n `slidesToScroll should be equal to 1 when fade is true, you're using ${settings.slidesToScroll}`\n );\n }\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n }\n\n // makes sure that children is an array, even when there is only 1 child\n let children = React.Children.toArray(this.props.children);\n\n // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n children = children.filter(child => {\n if (typeof child === \"string\") {\n return !!child.trim();\n }\n return !!child;\n });\n\n // rows and slidesPerRow logic is handled here\n if (\n settings.variableWidth &&\n (settings.rows > 1 || settings.slidesPerRow > 1)\n ) {\n console.warn(\n `variableWidth is not supported in case of rows > 1 or slidesPerRow > 1`\n );\n settings.variableWidth = false;\n }\n let newChildren = [];\n let currentWidth = null;\n for (\n let i = 0;\n i < children.length;\n i += settings.rows * settings.slidesPerRow\n ) {\n let newSlide = [];\n for (\n let j = i;\n j < i + settings.rows * settings.slidesPerRow;\n j += settings.slidesPerRow\n ) {\n let row = [];\n for (let k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && children[k].props.style) {\n currentWidth = children[k].props.style.width;\n }\n if (k >= children.length) break;\n row.push(\n React.cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n tabIndex: -1,\n style: {\n width: `${100 / settings.slidesPerRow}%`,\n display: \"inline-block\"\n }\n })\n );\n }\n newSlide.push(<div key={10 * i + j}>{row}</div>);\n }\n if (settings.variableWidth) {\n newChildren.push(\n <div key={i} style={{ width: currentWidth }}>\n {newSlide}\n </div>\n );\n } else {\n newChildren.push(<div key={i}>{newSlide}</div>);\n }\n }\n\n if (settings === \"unslick\") {\n const className = \"regular slider \" + (this.props.className || \"\");\n return <div className={className}>{children}</div>;\n } else if (\n newChildren.length <= settings.slidesToShow &&\n !settings.infinite\n ) {\n settings.unslick = true;\n }\n return (\n <InnerSlider\n style={this.props.style}\n ref={this.innerSliderRefHandler}\n {...filterSettings(settings)}\n >\n {newChildren}\n </InnerSlider>\n );\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","\"use strict\";\n\nimport React from \"react\";\nimport initialState from \"./initial-state\";\nimport debounce from \"lodash.debounce\";\nimport classnames from \"classnames\";\nimport {\n getOnDemandLazySlides,\n extractObject,\n initializedState,\n getHeight,\n canGoNext,\n slideHandler,\n changeSlide,\n keyHandler,\n swipeStart,\n swipeMove,\n swipeEnd,\n getPreClones,\n getPostClones,\n getTrackLeft,\n getTrackCSS\n} from \"./utils/innerSliderUtils\";\n\nimport { Track } from \"./track\";\nimport { Dots } from \"./dots\";\nimport { PrevArrow, NextArrow } from \"./arrows\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nexport class InnerSlider extends React.Component {\n constructor(props) {\n super(props);\n this.list = null;\n this.track = null;\n this.state = {\n ...initialState,\n currentSlide: this.props.initialSlide,\n targetSlide: this.props.initialSlide ? this.props.initialSlide : 0,\n slideCount: React.Children.count(this.props.children)\n };\n this.callbackTimers = [];\n this.clickable = true;\n this.debouncedResize = null;\n const ssrState = this.ssrInit();\n this.state = { ...this.state, ...ssrState };\n }\n listRefHandler = ref => (this.list = ref);\n trackRefHandler = ref => (this.track = ref);\n adaptHeight = () => {\n if (this.props.adaptiveHeight && this.list) {\n const elem = this.list.querySelector(\n `[data-index=\"${this.state.currentSlide}\"]`\n );\n this.list.style.height = getHeight(elem) + \"px\";\n }\n };\n componentDidMount = () => {\n this.props.onInit && this.props.onInit();\n if (this.props.lazyLoad) {\n let slidesToLoad = getOnDemandLazySlides({\n ...this.props,\n ...this.state\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n }));\n if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n let spec = { listRef: this.list, trackRef: this.track, ...this.props };\n this.updateState(spec, true, () => {\n this.adaptHeight();\n this.props.autoplay && this.autoPlay(\"update\");\n });\n if (this.props.lazyLoad === \"progressive\") {\n this.lazyLoadTimer = setInterval(this.progressiveLazyLoad, 1000);\n }\n this.ro = new ResizeObserver(() => {\n if (this.state.animating) {\n this.onWindowResized(false); // don't set trackStyle hence don't break animation\n this.callbackTimers.push(\n setTimeout(() => this.onWindowResized(), this.props.speed)\n );\n } else {\n this.onWindowResized();\n }\n });\n this.ro.observe(this.list);\n document.querySelectorAll &&\n Array.prototype.forEach.call(\n document.querySelectorAll(\".slick-slide\"),\n slide => {\n slide.onfocus = this.props.pauseOnFocus ? this.onSlideFocus : null;\n slide.onblur = this.props.pauseOnFocus ? this.onSlideBlur : null;\n }\n );\n if (window.addEventListener) {\n window.addEventListener(\"resize\", this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", this.onWindowResized);\n }\n };\n componentWillUnmount = () => {\n if (this.animationEndCallback) {\n clearTimeout(this.animationEndCallback);\n }\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n }\n if (this.callbackTimers.length) {\n this.callbackTimers.forEach(timer => clearTimeout(timer));\n this.callbackTimers = [];\n }\n if (window.addEventListener) {\n window.removeEventListener(\"resize\", this.onWindowResized);\n } else {\n window.detachEvent(\"onresize\", this.onWindowResized);\n }\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n this.ro.disconnect();\n };\n\n didPropsChange(prevProps) {\n let setTrackStyle = false;\n for (let key of Object.keys(this.props)) {\n if (!prevProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (\n typeof prevProps[key] === \"object\" ||\n typeof prevProps[key] === \"function\" ||\n isNaN(prevProps[key])\n ) {\n continue;\n }\n if (prevProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n return (\n setTrackStyle ||\n React.Children.count(this.props.children) !==\n React.Children.count(prevProps.children)\n );\n }\n\n componentDidUpdate = prevProps => {\n this.checkImagesLoad();\n this.props.onReInit && this.props.onReInit();\n if (this.props.lazyLoad) {\n let slidesToLoad = getOnDemandLazySlides({\n ...this.props,\n ...this.state\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n }));\n if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n this.adaptHeight();\n let spec = {\n listRef: this.list,\n trackRef: this.track,\n ...this.props,\n ...this.state\n };\n const setTrackStyle = this.didPropsChange(prevProps);\n setTrackStyle &&\n this.updateState(spec, setTrackStyle, () => {\n if (\n this.state.currentSlide >= React.Children.count(this.props.children)\n ) {\n this.changeSlide({\n message: \"index\",\n index:\n React.Children.count(this.props.children) -\n this.props.slidesToShow,\n currentSlide: this.state.currentSlide\n });\n }\n if (this.props.autoplay) {\n this.autoPlay(\"update\");\n } else {\n this.pause(\"paused\");\n }\n });\n };\n onWindowResized = setTrackStyle => {\n if (this.debouncedResize) this.debouncedResize.cancel();\n this.debouncedResize = debounce(() => this.resizeWindow(setTrackStyle), 50);\n this.debouncedResize();\n };\n resizeWindow = (setTrackStyle = true) => {\n const isTrackMounted = Boolean(this.track && this.track.node);\n // prevent warning: setting state on unmounted component (server side rendering)\n if (!isTrackMounted) return;\n let spec = {\n listRef: this.list,\n trackRef: this.track,\n ...this.props,\n ...this.state\n };\n this.updateState(spec, setTrackStyle, () => {\n if (this.props.autoplay) this.autoPlay(\"update\");\n else this.pause(\"paused\");\n });\n // animating state should be cleared while resizing, otherwise autoplay stops working\n this.setState({\n animating: false\n });\n clearTimeout(this.animationEndCallback);\n delete this.animationEndCallback;\n };\n updateState = (spec, setTrackStyle, callback) => {\n let updatedState = initializedState(spec);\n spec = { ...spec, ...updatedState, slideIndex: updatedState.currentSlide };\n let targetLeft = getTrackLeft(spec);\n spec = { ...spec, left: targetLeft };\n let trackStyle = getTrackCSS(spec);\n if (\n setTrackStyle ||\n React.Children.count(this.props.children) !==\n React.Children.count(spec.children)\n ) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n this.setState(updatedState, callback);\n };\n\n ssrInit = () => {\n if (this.props.variableWidth) {\n let trackWidth = 0,\n trackLeft = 0;\n let childrenWidths = [];\n let preClones = getPreClones({\n ...this.props,\n ...this.state,\n slideCount: this.props.children.length\n });\n let postClones = getPostClones({\n ...this.props,\n ...this.state,\n slideCount: this.props.children.length\n });\n this.props.children.forEach(child => {\n childrenWidths.push(child.props.style.width);\n trackWidth += child.props.style.width;\n });\n for (let i = 0; i < preClones; i++) {\n trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n for (let i = 0; i < postClones; i++) {\n trackWidth += childrenWidths[i];\n }\n for (let i = 0; i < this.state.currentSlide; i++) {\n trackLeft += childrenWidths[i];\n }\n let trackStyle = {\n width: trackWidth + \"px\",\n left: -trackLeft + \"px\"\n };\n if (this.props.centerMode) {\n let currentWidth = `${childrenWidths[this.state.currentSlide]}px`;\n trackStyle.left = `calc(${trackStyle.left} + (100% - ${currentWidth}) / 2 ) `;\n }\n return {\n trackStyle\n };\n }\n let childrenCount = React.Children.count(this.props.children);\n const spec = { ...this.props, ...this.state, slideCount: childrenCount };\n let slideCount = getPreClones(spec) + getPostClones(spec) + childrenCount;\n let trackWidth = (100 / this.props.slidesToShow) * slideCount;\n let slideWidth = 100 / slideCount;\n let trackLeft =\n (-slideWidth *\n (getPreClones(spec) + this.state.currentSlide) *\n trackWidth) /\n 100;\n if (this.props.centerMode) {\n trackLeft += (100 - (slideWidth * trackWidth) / 100) / 2;\n }\n let trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n return {\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n };\n };\n checkImagesLoad = () => {\n let images =\n (this.list &&\n this.list.querySelectorAll &&\n this.list.querySelectorAll(\".slick-slide img\")) ||\n [];\n let imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, image => {\n const handler = () =>\n ++loadedCount && loadedCount >= imagesCount && this.onWindowResized();\n if (!image.onclick) {\n image.onclick = () => image.parentNode.focus();\n } else {\n const prevClickHandler = image.onclick;\n image.onclick = e => {\n prevClickHandler(e);\n image.parentNode.focus();\n };\n }\n if (!image.onload) {\n if (this.props.lazyLoad) {\n image.onload = () => {\n this.adaptHeight();\n this.callbackTimers.push(\n setTimeout(this.onWindowResized, this.props.speed)\n );\n };\n } else {\n image.onload = handler;\n image.onerror = () => {\n handler();\n this.props.onLazyLoadError && this.props.onLazyLoadError();\n };\n }\n }\n });\n };\n progressiveLazyLoad = () => {\n let slidesToLoad = [];\n const spec = { ...this.props, ...this.state };\n for (\n let index = this.state.currentSlide;\n index < this.state.slideCount + getPostClones(spec);\n index++\n ) {\n if (this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n for (\n let index = this.state.currentSlide - 1;\n index >= -getPreClones(spec);\n index--\n ) {\n if (this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n if (slidesToLoad.length > 0) {\n this.setState(state => ({\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n }));\n if (this.props.onLazyLoad) {\n this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n delete this.lazyLoadTimer;\n }\n }\n };\n slideHandler = (index, dontAnimate = false) => {\n const {\n asNavFor,\n beforeChange,\n onLazyLoad,\n speed,\n afterChange\n } = this.props;\n // capture currentslide before state is updated\n const currentSlide = this.state.currentSlide;\n let { state, nextState } = slideHandler({\n index,\n ...this.props,\n ...this.state,\n trackRef: this.track,\n useCSS: this.props.useCSS && !dontAnimate\n });\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n let slidesToLoad = state.lazyLoadedList.filter(\n value => this.state.lazyLoadedList.indexOf(value) < 0\n );\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n if (!this.props.waitForAnimate && this.animationEndCallback) {\n clearTimeout(this.animationEndCallback);\n afterChange && afterChange(currentSlide);\n delete this.animationEndCallback;\n }\n this.setState(state, () => {\n // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode\n if (asNavFor && this.asNavForIndex !== index) {\n this.asNavForIndex = index;\n asNavFor.innerSlider.slideHandler(index);\n }\n if (!nextState) return;\n this.animationEndCallback = setTimeout(() => {\n const { animating, ...firstBatch } = nextState;\n this.setState(firstBatch, () => {\n this.callbackTimers.push(\n setTimeout(() => this.setState({ animating }), 10)\n );\n afterChange && afterChange(state.currentSlide);\n delete this.animationEndCallback;\n });\n }, speed);\n });\n };\n changeSlide = (options, dontAnimate = false) => {\n const spec = { ...this.props, ...this.state };\n let targetSlide = changeSlide(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n if (dontAnimate === true) {\n this.slideHandler(targetSlide, dontAnimate);\n } else {\n this.slideHandler(targetSlide);\n }\n this.props.autoplay && this.autoPlay(\"update\");\n if (this.props.focusOnSelect) {\n const nodes = this.list.querySelectorAll(\".slick-current\");\n nodes[0] && nodes[0].focus();\n }\n };\n clickHandler = e => {\n if (this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n this.clickable = true;\n };\n keyHandler = e => {\n let dir = keyHandler(e, this.props.accessibility, this.props.rtl);\n dir !== \"\" && this.changeSlide({ message: dir });\n };\n selectHandler = options => {\n this.changeSlide(options);\n };\n disableBodyScroll = () => {\n const preventDefault = e => {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n window.ontouchmove = preventDefault;\n };\n enableBodyScroll = () => {\n window.ontouchmove = null;\n };\n swipeStart = e => {\n if (this.props.verticalSwiping) {\n this.disableBodyScroll();\n }\n let state = swipeStart(e, this.props.swipe, this.props.draggable);\n state !== \"\" && this.setState(state);\n };\n swipeMove = e => {\n let state = swipeMove(e, {\n ...this.props,\n ...this.state,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.state.currentSlide\n });\n if (!state) return;\n if (state[\"swiping\"]) {\n this.clickable = false;\n }\n this.setState(state);\n };\n swipeEnd = e => {\n let state = swipeEnd(e, {\n ...this.props,\n ...this.state,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.state.currentSlide\n });\n if (!state) return;\n let triggerSlideHandler = state[\"triggerSlideHandler\"];\n delete state[\"triggerSlideHandler\"];\n this.setState(state);\n if (triggerSlideHandler === undefined) return;\n this.slideHandler(triggerSlideHandler);\n if (this.props.verticalSwiping) {\n this.enableBodyScroll();\n }\n };\n touchEnd = e => {\n this.swipeEnd(e);\n this.clickable = true;\n };\n slickPrev = () => {\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n this.callbackTimers.push(\n setTimeout(() => this.changeSlide({ message: \"previous\" }), 0)\n );\n };\n slickNext = () => {\n this.callbackTimers.push(\n setTimeout(() => this.changeSlide({ message: \"next\" }), 0)\n );\n };\n slickGoTo = (slide, dontAnimate = false) => {\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n this.callbackTimers.push(\n setTimeout(\n () =>\n this.changeSlide(\n {\n message: \"index\",\n index: slide,\n currentSlide: this.state.currentSlide\n },\n dontAnimate\n ),\n 0\n )\n );\n };\n play = () => {\n var nextIndex;\n if (this.props.rtl) {\n nextIndex = this.state.currentSlide - this.props.slidesToScroll;\n } else {\n if (canGoNext({ ...this.props, ...this.state })) {\n nextIndex = this.state.currentSlide + this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n this.slideHandler(nextIndex);\n };\n\n autoPlay = playType => {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n const autoplaying = this.state.autoplaying;\n if (playType === \"update\") {\n if (\n autoplaying === \"hovered\" ||\n autoplaying === \"focused\" ||\n autoplaying === \"paused\"\n ) {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n this.autoplayTimer = setInterval(this.play, this.props.autoplaySpeed + 50);\n this.setState({ autoplaying: \"playing\" });\n };\n pause = pauseType => {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n this.autoplayTimer = null;\n }\n const autoplaying = this.state.autoplaying;\n if (pauseType === \"paused\") {\n this.setState({ autoplaying: \"paused\" });\n } else if (pauseType === \"focused\") {\n if (autoplaying === \"hovered\" || autoplaying === \"playing\") {\n this.setState({ autoplaying: \"focused\" });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n this.setState({ autoplaying: \"hovered\" });\n }\n }\n };\n onDotsOver = () => this.props.autoplay && this.pause(\"hovered\");\n onDotsLeave = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"hovered\" &&\n this.autoPlay(\"leave\");\n onTrackOver = () => this.props.autoplay && this.pause(\"hovered\");\n onTrackLeave = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"hovered\" &&\n this.autoPlay(\"leave\");\n onSlideFocus = () => this.props.autoplay && this.pause(\"focused\");\n onSlideBlur = () =>\n this.props.autoplay &&\n this.state.autoplaying === \"focused\" &&\n this.autoPlay(\"blur\");\n\n render = () => {\n var className = classnames(\"slick-slider\", this.props.className, {\n \"slick-vertical\": this.props.vertical,\n \"slick-initialized\": true\n });\n let spec = { ...this.props, ...this.state };\n let trackProps = extractObject(spec, [\n \"fade\",\n \"cssEase\",\n \"speed\",\n \"infinite\",\n \"centerMode\",\n \"focusOnSelect\",\n \"currentSlide\",\n \"lazyLoad\",\n \"lazyLoadedList\",\n \"rtl\",\n \"slideWidth\",\n \"slideHeight\",\n \"listHeight\",\n \"vertical\",\n \"slidesToShow\",\n \"slidesToScroll\",\n \"slideCount\",\n \"trackStyle\",\n \"variableWidth\",\n \"unslick\",\n \"centerPadding\",\n \"targetSlide\",\n \"useCSS\"\n ]);\n const { pauseOnHover } = this.props;\n trackProps = {\n ...trackProps,\n onMouseEnter: pauseOnHover ? this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? this.onTrackOver : null,\n focusOnSelect:\n this.props.focusOnSelect && this.clickable ? this.selectHandler : null\n };\n\n var dots;\n if (\n this.props.dots === true &&\n this.state.slideCount >= this.props.slidesToShow\n ) {\n let dotProps = extractObject(spec, [\n \"dotsClass\",\n \"slideCount\",\n \"slidesToShow\",\n \"currentSlide\",\n \"slidesToScroll\",\n \"clickHandler\",\n \"children\",\n \"customPaging\",\n \"infinite\",\n \"appendDots\"\n ]);\n const { pauseOnDotsHover } = this.props;\n dotProps = {\n ...dotProps,\n clickHandler: this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? this.onDotsLeave : null\n };\n dots = <Dots {...dotProps} />;\n }\n\n var prevArrow, nextArrow;\n let arrowProps = extractObject(spec, [\n \"infinite\",\n \"centerMode\",\n \"currentSlide\",\n \"slideCount\",\n \"slidesToShow\",\n \"prevArrow\",\n \"nextArrow\"\n ]);\n arrowProps.clickHandler = this.changeSlide;\n\n if (this.props.arrows) {\n prevArrow = <PrevArrow {...arrowProps} />;\n nextArrow = <NextArrow {...arrowProps} />;\n }\n\n var verticalHeightStyle = null;\n\n if (this.props.vertical) {\n verticalHeightStyle = {\n height: this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (this.props.vertical === false) {\n if (this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + this.props.centerPadding\n };\n }\n } else {\n if (this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n const listStyle = { ...verticalHeightStyle, ...centerPaddingStyle };\n const touchMove = this.props.touchMove;\n let listProps = {\n className: \"slick-list\",\n style: listStyle,\n onClick: this.clickHandler,\n onMouseDown: touchMove ? this.swipeStart : null,\n onMouseMove: this.state.dragging && touchMove ? this.swipeMove : null,\n onMouseUp: touchMove ? this.swipeEnd : null,\n onMouseLeave: this.state.dragging && touchMove ? this.swipeEnd : null,\n onTouchStart: touchMove ? this.swipeStart : null,\n onTouchMove: this.state.dragging && touchMove ? this.swipeMove : null,\n onTouchEnd: touchMove ? this.touchEnd : null,\n onTouchCancel: this.state.dragging && touchMove ? this.swipeEnd : null,\n onKeyDown: this.props.accessibility ? this.keyHandler : null\n };\n\n let innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: this.props.style\n };\n\n if (this.props.unslick) {\n listProps = { className: \"slick-list\" };\n innerSliderProps = { className };\n }\n return (\n <div {...innerSliderProps}>\n {!this.props.unslick ? prevArrow : \"\"}\n <div ref={this.listRefHandler} {...listProps}>\n <Track ref={this.trackRefHandler} {...trackProps}>\n {this.props.children}\n </Track>\n </div>\n {!this.props.unslick ? nextArrow : \"\"}\n {!this.props.unslick ? dots : \"\"}\n </div>\n );\n };\n}\n","const initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false, // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: { startX: 0, startY: 0, curX: 0, curY: 0 },\n trackStyle: {},\n trackWidth: 0,\n targetSlide: 0\n};\n\nexport default initialState;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\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/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\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 objectToString = objectProto.toString;\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 * 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\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 result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\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 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\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 && (type == 'object' || type == 'function');\n}\n\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 && typeof value == 'object';\n}\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) && objectToString.call(value) == symbolTag);\n}\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 = value.replace(reTrim, '');\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 = debounce;\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","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from \"react\";\nimport defaultProps from \"../default-props\";\n\nexport function clamp(number, lowerBound, upperBound) {\n return Math.max(lowerBound, Math.min(number, upperBound));\n}\n\nexport const safePreventDefault = event => {\n const passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n if (!passiveEvents.includes(event._reactName)) {\n event.preventDefault();\n }\n};\n\nexport const getOnDemandLazySlides = spec => {\n let onDemandSlides = [];\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n};\n\n// return list of slides that need to be present\nexport const getRequiredLazySlides = spec => {\n let requiredSlides = [];\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n};\n\n// startIndex that needs to be present\nexport const lazyStartIndex = spec =>\n spec.currentSlide - lazySlidesOnLeft(spec);\nexport const lazyEndIndex = spec => spec.currentSlide + lazySlidesOnRight(spec);\nexport const lazySlidesOnLeft = spec =>\n spec.centerMode\n ? Math.floor(spec.slidesToShow / 2) +\n (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : 0;\nexport const lazySlidesOnRight = spec =>\n spec.centerMode\n ? Math.floor((spec.slidesToShow - 1) / 2) +\n 1 +\n (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : spec.slidesToShow;\n\n// get width of an element\nexport const getWidth = elem => (elem && elem.offsetWidth) || 0;\nexport const getHeight = elem => (elem && elem.offsetHeight) || 0;\nexport const getSwipeDirection = (touchObject, verticalSwiping = false) => {\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round((r * 180) / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if (\n (swipeAngle <= 45 && swipeAngle >= 0) ||\n (swipeAngle <= 360 && swipeAngle >= 315)\n ) {\n return \"left\";\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n};\n\n// whether or not we can go next\nexport const canGoNext = spec => {\n let canGo = true;\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (\n spec.slideCount <= spec.slidesToShow ||\n spec.currentSlide >= spec.slideCount - spec.slidesToShow\n ) {\n canGo = false;\n }\n }\n return canGo;\n};\n\n// given an object and a list of keys, return new object with given keys\nexport const extractObject = (spec, keys) => {\n let newObject = {};\n keys.forEach(key => (newObject[key] = spec[key]));\n return newObject;\n};\n\n// get initialized state\nexport const initializedState = spec => {\n // spec also contains listRef, trackRef\n let slideCount = React.Children.count(spec.children);\n const listNode = spec.listRef;\n let listWidth = Math.ceil(getWidth(listNode));\n const trackNode = spec.trackRef && spec.trackRef.node;\n let trackWidth = Math.ceil(getWidth(trackNode));\n let slideWidth;\n if (!spec.vertical) {\n let centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (\n typeof spec.centerPadding === \"string\" &&\n spec.centerPadding.slice(-1) === \"%\"\n ) {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n let slideHeight =\n listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n let listHeight = slideHeight * spec.slidesToShow;\n let currentSlide =\n spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n let lazyLoadedList = spec.lazyLoadedList || [];\n let slidesToLoad = getOnDemandLazySlides({\n ...spec,\n currentSlide,\n lazyLoadedList\n });\n lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n\n let state = {\n slideCount,\n slideWidth,\n listWidth,\n trackWidth,\n currentSlide,\n slideHeight,\n listHeight,\n lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexport const slideHandler = spec => {\n const {\n waitForAnimate,\n animating,\n fade,\n infinite,\n index,\n slideCount,\n lazyLoad,\n currentSlide,\n centerMode,\n slidesToScroll,\n slidesToShow,\n useCSS\n } = spec;\n let { lazyLoadedList } = spec;\n if (waitForAnimate && animating) return {};\n let animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n let state = {},\n nextState = {};\n const targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList = lazyLoadedList.concat(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList,\n targetSlide: animationSlide\n };\n nextState = { animating: false, targetSlide: animationSlide };\n } else {\n finalSlide = animationSlide;\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;\n else if (slideCount % slidesToScroll !== 0)\n finalSlide = slideCount - (slideCount % slidesToScroll);\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;\n else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n if (!infinite && animationSlide + slidesToShow >= slideCount) {\n finalSlide = slideCount - slidesToShow;\n }\n\n animationLeft = getTrackLeft({ ...spec, slideIndex: animationSlide });\n finalLeft = getTrackLeft({ ...spec, slideIndex: finalSlide });\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n if (lazyLoad) {\n lazyLoadedList = lazyLoadedList.concat(\n getOnDemandLazySlides({ ...spec, currentSlide: animationSlide })\n );\n }\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n lazyLoadedList,\n targetSlide\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS({ ...spec, left: animationLeft }),\n lazyLoadedList,\n targetSlide\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n swipeLeft: null,\n targetSlide\n };\n }\n }\n return { state, nextState };\n};\n\nexport const changeSlide = (spec, options) => {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n const {\n slidesToScroll,\n slidesToShow,\n slideCount,\n currentSlide,\n targetSlide: previousTargetSlide,\n lazyLoad,\n infinite\n } = spec;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n if (options.message === \"previous\") {\n slideOffset =\n indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide - slidesToScroll;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n if (lazyLoad && !infinite) {\n targetSlide =\n ((currentSlide + slidesToScroll) % slideCount) + indexOffset;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide + slidesToScroll;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n if (infinite) {\n let direction = siblingDirection({ ...spec, targetSlide });\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n }\n return targetSlide;\n};\nexport const keyHandler = (e, accessibility, rtl) => {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility)\n return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\n\nexport const swipeStart = (e, swipe, draggable) => {\n e.target.tagName === \"IMG\" && safePreventDefault(e);\n if (!swipe || (!draggable && e.type.indexOf(\"mouse\") !== -1)) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\nexport const swipeMove = (e, spec) => {\n // spec also contains, trackRef and slideIndex\n const {\n scrolling,\n animating,\n vertical,\n swipeToSlide,\n verticalSwiping,\n rtl,\n currentSlide,\n edgeFriction,\n edgeDragged,\n onEdge,\n swiped,\n swiping,\n slideCount,\n slidesToScroll,\n infinite,\n touchObject,\n swipeEvent,\n listHeight,\n listWidth\n } = spec;\n if (scrolling) return;\n if (animating) return safePreventDefault(e);\n if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n let swipeLeft,\n state = {};\n let curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2))\n );\n let verticalSwipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2))\n );\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return { scrolling: true };\n }\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n let positionOffset =\n (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping)\n positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n\n let dotCount = Math.ceil(slideCount / slidesToScroll);\n let swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n let touchSwipeLength = touchObject.swipeLength;\n if (!infinite) {\n if (\n (currentSlide === 0 &&\n (swipeDirection === \"right\" || swipeDirection === \"down\")) ||\n (currentSlide + 1 >= dotCount &&\n (swipeDirection === \"left\" || swipeDirection === \"up\")) ||\n (!canGoNext(spec) &&\n (swipeDirection === \"left\" || swipeDirection === \"up\"))\n ) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft =\n curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = {\n ...state,\n touchObject,\n swipeLeft,\n trackStyle: getTrackCSS({ ...spec, left: swipeLeft })\n };\n if (\n Math.abs(touchObject.curX - touchObject.startX) <\n Math.abs(touchObject.curY - touchObject.startY) * 0.8\n ) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n safePreventDefault(e);\n }\n return state;\n};\nexport const swipeEnd = (e, spec) => {\n const {\n dragging,\n swipe,\n touchObject,\n listWidth,\n touchThreshold,\n verticalSwiping,\n listHeight,\n swipeToSlide,\n scrolling,\n onSwipe,\n targetSlide,\n currentSlide,\n infinite\n } = spec;\n if (!dragging) {\n if (swipe) safePreventDefault(e);\n return {};\n }\n let minSwipe = verticalSwiping\n ? listHeight / touchThreshold\n : listWidth / touchThreshold;\n let swipeDirection = getSwipeDirection(touchObject, verticalSwiping);\n // reset the state of touch related state variables.\n let state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n if (scrolling) {\n return state;\n }\n if (!touchObject.swipeLength) {\n return state;\n }\n if (touchObject.swipeLength > minSwipe) {\n safePreventDefault(e);\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n let slideCount, newSlide;\n let activeSlide = infinite ? currentSlide : targetSlide;\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = activeSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n case \"right\":\n case \"down\":\n newSlide = activeSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n default:\n slideCount = activeSlide;\n }\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n let currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS({ ...spec, left: currentLeft });\n }\n return state;\n};\nexport const getNavigableIndexes = spec => {\n let max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n let breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n let counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n let indexes = [];\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n return indexes;\n};\nexport const checkNavigable = (spec, index) => {\n const navigables = getNavigableIndexes(spec);\n let prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (let n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n return index;\n};\nexport const getSlideCount = spec => {\n const centerOffset = spec.centerMode\n ? spec.slideWidth * Math.floor(spec.slidesToShow / 2)\n : 0;\n if (spec.swipeToSlide) {\n let swipedSlide;\n const slickList = spec.listRef;\n const slides =\n (slickList.querySelectorAll &&\n slickList.querySelectorAll(\".slick-slide\")) ||\n [];\n Array.from(slides).every(slide => {\n if (!spec.vertical) {\n if (\n slide.offsetLeft - centerOffset + getWidth(slide) / 2 >\n spec.swipeLeft * -1\n ) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n const currentIndex =\n spec.rtl === true\n ? spec.slideCount - spec.currentSlide\n : spec.currentSlide;\n const slidesTraversed =\n Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexport const checkSpecKeys = (spec, keysArray) =>\n keysArray.reduce((value, key) => value && spec.hasOwnProperty(key), true)\n ? null\n : console.error(\"Keys Missing:\", spec);\n\nexport const getTrackCSS = spec => {\n checkSpecKeys(spec, [\n \"left\",\n \"variableWidth\",\n \"slideCount\",\n \"slidesToShow\",\n \"slideWidth\"\n ]);\n let trackWidth, trackHeight;\n const trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n let style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n if (spec.useTransform) {\n let WebkitTransform = !spec.vertical\n ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\"\n : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n let transform = !spec.vertical\n ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\"\n : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n let msTransform = !spec.vertical\n ? \"translateX(\" + spec.left + \"px)\"\n : \"translateY(\" + spec.left + \"px)\";\n style = {\n ...style,\n WebkitTransform,\n transform,\n msTransform\n };\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n if (spec.fade) style = { opacity: 1 };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight;\n\n // Fallback for IE8\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\nexport const getTrackAnimateCSS = spec => {\n checkSpecKeys(spec, [\n \"left\",\n \"variableWidth\",\n \"slideCount\",\n \"slidesToShow\",\n \"slideWidth\",\n \"speed\",\n \"cssEase\"\n ]);\n let style = getTrackCSS(spec);\n // useCSS is true by default so it can be undefined\n if (spec.useTransform) {\n style.WebkitTransition =\n \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n return style;\n};\nexport const getTrackLeft = spec => {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\n \"slideIndex\",\n \"trackRef\",\n \"infinite\",\n \"centerMode\",\n \"slideCount\",\n \"slidesToShow\",\n \"slidesToScroll\",\n \"slideWidth\",\n \"listWidth\",\n \"variableWidth\",\n \"slideHeight\"\n ]);\n\n const {\n slideIndex,\n trackRef,\n infinite,\n centerMode,\n slideCount,\n slidesToShow,\n slidesToScroll,\n slideWidth,\n listWidth,\n variableWidth,\n slideHeight,\n fade,\n vertical\n } = spec;\n\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n let slidesToOffset = 0;\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n if (\n slideCount % slidesToScroll !== 0 &&\n slideIndex + slidesToScroll > slideCount\n ) {\n slidesToOffset = -(slideIndex > slideCount\n ? slidesToShow - (slideIndex - slideCount)\n : slideCount % slidesToScroll);\n }\n // shift current slide to center of the frame\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (\n slideCount % slidesToScroll !== 0 &&\n slideIndex + slidesToScroll > slideCount\n ) {\n slidesToOffset = slidesToShow - (slideCount % slidesToScroll);\n }\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n const trackElem = trackRef && trackRef.node;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n if (centerMode === true) {\n targetSlideIndex = infinite\n ? slideIndex + getPreClones(spec)\n : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (let slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -=\n trackElem &&\n trackElem.children[slide] &&\n trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexport const getPreClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexport const getPostClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\n\nexport const getTotalSlides = spec =>\n spec.slideCount === 1\n ? 1\n : getPreClones(spec) + spec.slideCount + getPostClones(spec);\nexport const siblingDirection = spec => {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n return \"left\";\n }\n};\n\nexport const slidesOnRight = ({\n slidesToShow,\n centerMode,\n rtl,\n centerPadding\n}) => {\n // returns no of slides on the right of active slide\n if (centerMode) {\n let right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n if (rtl) {\n return 0;\n }\n return slidesToShow - 1;\n};\n\nexport const slidesOnLeft = ({\n slidesToShow,\n centerMode,\n rtl,\n centerPadding\n}) => {\n // returns no of slides on the left of active slide\n if (centerMode) {\n let left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n if (rtl) {\n return slidesToShow - 1;\n }\n return 0;\n};\n\nexport const canUseDOM = () =>\n !!(\n typeof window !== \"undefined\" &&\n window.document &&\n window.document.createElement\n );\n\nexport const validSettings = Object.keys(defaultProps);\n\nexport function filterSettings(settings) {\n return validSettings.reduce((acc, settingName) => {\n if (settings.hasOwnProperty(settingName)) {\n acc[settingName] = settings[settingName];\n }\n return acc;\n }, {});\n}\n","import React from \"react\";\n\nlet defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: dots => <ul style={{ display: \"block\" }}>{dots}</ul>,\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n customPaging: i => <button>{i + 1}</button>,\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true,\n asNavFor: null\n};\n\nexport default defaultProps;\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport {\n lazyStartIndex,\n lazyEndIndex,\n getPreClones\n} from \"./utils/innerSliderUtils\";\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nconst getSlideClasses = spec => {\n let slickActive, slickCenter, slickCloned;\n let centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n slickCloned = index < 0 || index >= spec.slideCount;\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n if (\n index > spec.currentSlide - centerOffset - 1 &&\n index <= spec.currentSlide + centerOffset\n ) {\n slickActive = true;\n }\n } else {\n slickActive =\n spec.currentSlide <= index &&\n index < spec.currentSlide + spec.slidesToShow;\n }\n\n let focusedSlide;\n if (spec.targetSlide < 0) {\n focusedSlide = spec.targetSlide + spec.slideCount;\n } else if (spec.targetSlide >= spec.slideCount) {\n focusedSlide = spec.targetSlide - spec.slideCount;\n } else {\n focusedSlide = spec.targetSlide;\n }\n let slickCurrent = index === focusedSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n };\n};\n\nconst getSlideStyle = spec => {\n let style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n style.zIndex = spec.currentSlide === spec.index ? 999 : 998;\n if (spec.useCSS) {\n style.transition =\n \"opacity \" +\n spec.speed +\n \"ms \" +\n spec.cssEase +\n \", \" +\n \"visibility \" +\n spec.speed +\n \"ms \" +\n spec.cssEase;\n }\n }\n\n return style;\n};\n\nconst getKey = (child, fallbackKey) => child.key || fallbackKey;\n\nconst renderSlides = spec => {\n let key;\n let slides = [];\n let preCloneSlides = [];\n let postCloneSlides = [];\n let childrenCount = React.Children.count(spec.children);\n let startIndex = lazyStartIndex(spec);\n let endIndex = lazyEndIndex(spec);\n\n React.Children.forEach(spec.children, (elem, index) => {\n let child;\n let childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n };\n\n // in case of lazyLoad, whether or not we want to fetch the slide\n if (\n !spec.lazyLoad ||\n (spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0)\n ) {\n child = elem;\n } else {\n child = <div />;\n }\n let childStyle = getSlideStyle({ ...spec, index });\n let slideClass = child.props.className || \"\";\n let slideClasses = getSlideClasses({ ...spec, index });\n // push a cloned element of the desired slide\n slides.push(\n React.cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: classnames(slideClasses, slideClass),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { outline: \"none\", ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n\n // if slide needs to be precloned or postcloned\n if (spec.infinite && spec.fade === false) {\n let preCloneNo = childrenCount - index;\n if (preCloneNo <= getPreClones(spec)) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n preCloneSlides.push(\n React.cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n }\n\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n postCloneSlides.push(\n React.cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: { ...(child.props.style || {}), ...childStyle },\n onClick: e => {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })\n );\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nexport class Track extends React.PureComponent {\n node = null;\n\n handleRef = ref => {\n this.node = ref;\n };\n\n render() {\n const slides = renderSlides(this.props);\n const { onMouseEnter, onMouseOver, onMouseLeave } = this.props;\n const mouseEvents = { onMouseEnter, onMouseOver, onMouseLeave };\n return (\n <div\n ref={this.handleRef}\n className=\"slick-track\"\n style={this.props.trackStyle}\n {...mouseEvents}\n >\n {slides}\n </div>\n );\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { clamp } from \"./utils/innerSliderUtils\";\n\nconst getDotCount = spec => {\n let dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots =\n Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) +\n 1;\n }\n\n return dots;\n};\n\nexport class Dots extends React.PureComponent {\n clickHandler(options, e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n e.preventDefault();\n this.props.clickHandler(options);\n }\n render() {\n const {\n onMouseEnter,\n onMouseOver,\n onMouseLeave,\n infinite,\n slidesToScroll,\n slidesToShow,\n slideCount,\n currentSlide\n } = this.props;\n let dotCount = getDotCount({\n slideCount,\n slidesToScroll,\n slidesToShow,\n infinite\n });\n\n const mouseEvents = { onMouseEnter, onMouseOver, onMouseLeave };\n let dots = [];\n for (let i = 0; i < dotCount; i++) {\n let _rightBound = (i + 1) * slidesToScroll - 1;\n let rightBound = infinite\n ? _rightBound\n : clamp(_rightBound, 0, slideCount - 1);\n let _leftBound = rightBound - (slidesToScroll - 1);\n let leftBound = infinite\n ? _leftBound\n : clamp(_leftBound, 0, slideCount - 1);\n\n let className = classnames({\n \"slick-active\": infinite\n ? currentSlide >= leftBound && currentSlide <= rightBound\n : currentSlide === leftBound\n });\n\n let dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll,\n currentSlide\n };\n\n let onClick = this.clickHandler.bind(this, dotOptions);\n dots = dots.concat(\n <li key={i} className={className}>\n {React.cloneElement(this.props.customPaging(i), { onClick })}\n </li>\n );\n }\n\n return React.cloneElement(this.props.appendDots(dots), {\n className: this.props.dotsClass,\n ...mouseEvents\n });\n }\n}\n","\"use strict\";\n\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { canGoNext } from \"./utils/innerSliderUtils\";\n\nexport class PrevArrow extends React.PureComponent {\n clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n render() {\n let prevClasses = { \"slick-arrow\": true, \"slick-prev\": true };\n let prevHandler = this.clickHandler.bind(this, { message: \"previous\" });\n\n if (\n !this.props.infinite &&\n (this.props.currentSlide === 0 ||\n this.props.slideCount <= this.props.slidesToShow)\n ) {\n prevClasses[\"slick-disabled\"] = true;\n prevHandler = null;\n }\n\n let prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: classnames(prevClasses),\n style: { display: \"block\" },\n onClick: prevHandler\n };\n let customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n let prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = React.cloneElement(this.props.prevArrow, {\n ...prevArrowProps,\n ...customProps\n });\n } else {\n prevArrow = (\n <button key=\"0\" type=\"button\" {...prevArrowProps}>\n {\" \"}\n Previous\n </button>\n );\n }\n\n return prevArrow;\n }\n}\n\nexport class NextArrow extends React.PureComponent {\n clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n render() {\n let nextClasses = { \"slick-arrow\": true, \"slick-next\": true };\n let nextHandler = this.clickHandler.bind(this, { message: \"next\" });\n\n if (!canGoNext(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\n }\n\n let nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: classnames(nextClasses),\n style: { display: \"block\" },\n onClick: nextHandler\n };\n let customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n let nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = React.cloneElement(this.props.nextArrow, {\n ...nextArrowProps,\n ...customProps\n });\n } else {\n nextArrow = (\n <button key=\"1\" type=\"button\" {...nextArrowProps}>\n {\" \"}\n Next\n </button>\n );\n }\n\n return nextArrow;\n }\n}\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n"],"sourceRoot":""}