/*! * better-scroll / better-scroll * (c) 2016-2023 ustbhuangyi * Released under the MIT License. *//*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */var it=function(r,t){return it=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,o){e.__proto__=o}||function(e,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i])},it(r,t)};function V(r,t){it(r,t);function e(){this.constructor=r}r.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var b=function(){return b=Object.assign||function(t){for(var e,o=1,i=arguments.length;o0&&s[s.length-1])&&(l[0]===6||l[0]===2)){e=0;continue}if(l[0]===3&&(!s||l[1]>s[0]&&l[1]0,Lt=function(){if(typeof C=="string"){var r=/os (\d\d?_\d(_\d)?)/,t=r.exec(C);if(!t)return!1;var e=t[1].split("_").map(function(o){return parseInt(o,10)});return e[0]===13&&e[1]>=4}return!1}(),xt=!1;if(w){var Ft="test-passive";try{var ct={};Object.defineProperty(ct,"passive",{get:function(){xt=!0}}),window.addEventListener(Ft,function(){},ct)}catch{}}function S(){return window.performance&&window.performance.now&&window.performance.timing?window.performance.now()+window.performance.timing.navigationStart:+new Date}var m=function(r,t){for(var e in t)r[e]=t[e];return r};function st(r){return r==null}function _t(r,t){return Math.sqrt(r*r+t*t)}function g(r,t,e){return re?e:r}function O(r,t){if(r.findIndex)return r.findIndex(t);var e=-1;return r.some(function(o,i,s){var n=t(o,i,s);if(n)return e=i,n}),e}var at=w&&document.createElement("div").style,H=function(){if(!w)return!1;for(var r=[{key:"standard",value:"transform"},{key:"webkit",value:"webkitTransform"},{key:"Moz",value:"MozTransform"},{key:"O",value:"OTransform"},{key:"ms",value:"msTransform"}],t=0,e=r;tdocument.documentElement.clientWidth-l||h>document.documentElement.clientHeight-l||a0?-1:p<0?1:0;return u},s=i(t.x,r.x),n=i(t.y,r.y),a=e.x-o.x,h=e.y-o.y;return s*a<=0&&n*h<=0},ce=function(r){V(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.startProbe=function(e,o){var i=this,s=e,n=function(){var a=i.translater.getComputedPosition();he(e,o,a,s)&&i.hooks.trigger(i.hooks.eventTypes.move,a),i.pending||(i.callStopWhenPending?i.callStopWhenPending=!1:i.hooks.trigger(i.hooks.eventTypes.end,a)),s=a,i.pending&&(i.timer=lt(n))};this.callStopWhenPending&&this.setCallStop(!1),B(this.timer),n()},t.prototype.transitionTime=function(e){e===void 0&&(e=0),this.style[d.transitionDuration]=e+"ms",this.hooks.trigger(this.hooks.eventTypes.time,e)},t.prototype.transitionTimingFunction=function(e){this.style[d.transitionTimingFunction]=e,this.hooks.trigger(this.hooks.eventTypes.timeFunction,e)},t.prototype.transitionProperty=function(){this.style[d.transitionProperty]=d.transform},t.prototype.move=function(e,o,i,s){this.setPending(i>0),this.transitionTimingFunction(s),this.transitionProperty(),this.transitionTime(i),this.translate(o);var n=this.options.probeType===3;i&&n&&this.startProbe(e,o),i||(this._reflow=this.content.offsetHeight,n&&this.hooks.trigger(this.hooks.eventTypes.move,o),this.hooks.trigger(this.hooks.eventTypes.end,o))},t.prototype.doStop=function(){var e=this.pending;if(this.setForceStopped(!1),this.setCallStop(!1),e){this.setPending(!1),B(this.timer);var o=this.translater.getComputedPosition(),i=o.x,s=o.y;this.transitionTime(),this.translate({x:i,y:s}),this.setForceStopped(!0),this.setCallStop(!0),this.hooks.trigger(this.hooks.eventTypes.forceStop,{x:i,y:s})}return e},t.prototype.stop=function(){var e=this.doStop();e&&this.hooks.trigger(this.hooks.eventTypes.callStop)},t}(Xt),pe=function(r){V(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.move=function(e,o,i,s){if(!i){this.translate(o),this.options.probeType===3&&this.hooks.trigger(this.hooks.eventTypes.move,o),this.hooks.trigger(this.hooks.eventTypes.end,o);return}this.animate(e,o,i,s)},t.prototype.animate=function(e,o,i,s){var n=this,a=S(),h=a+i,l=this.options.probeType===3,c=function(){var p=S();if(p>=h){n.translate(o),l&&n.hooks.trigger(n.hooks.eventTypes.move,o),n.hooks.trigger(n.hooks.eventTypes.end,o);return}p=(p-a)/i;var u=s(p),f={};Object.keys(o).forEach(function(v){var k=e[v],Y=o[v];f[v]=(Y-k)*u+k}),n.translate(f),l&&n.hooks.trigger(n.hooks.eventTypes.move,f),n.pending&&(n.timer=lt(c)),n.pending||(n.callStopWhenPending?n.callStopWhenPending=!1:n.hooks.trigger(n.hooks.eventTypes.end,o))};this.setPending(!0),this.callStopWhenPending&&this.setCallStop(!1),B(this.timer),c()},t.prototype.doStop=function(){var e=this.pending;if(this.setForceStopped(!1),this.setCallStop(!1),e){this.setPending(!1),B(this.timer);var o=this.translater.getComputedPosition();this.setForceStopped(!0),this.setCallStop(!0),this.hooks.trigger(this.hooks.eventTypes.forceStop,o)}return e},t.prototype.stop=function(){var e=this.doStop();e&&this.hooks.trigger(this.hooks.eventTypes.callStop)},t}(Xt);function ue(r,t,e){var o=e.useTransition,i={};return Object.defineProperty(i,"probeType",{enumerable:!0,configurable:!1,get:function(){return e.probeType}}),o?new ce(r,t,i):new pe(r,t,i)}var vt=function(){function r(t,e,o){this.wrapper=t,this.options=o,this.hooks=new E(["beforeComputeBoundary","computeBoundary","momentum","end","ignoreHasScroll"]),this.refresh(e)}return r.prototype.start=function(){this.dist=0,this.setMovingDirection(0),this.setDirection(0)},r.prototype.move=function(t){return t=this.hasScroll?t:0,this.setMovingDirection(t),this.performDampingAlgorithm(t,this.options.outOfBoundaryDampingFactor)},r.prototype.setMovingDirection=function(t){this.movingDirection=t>0?-1:t<0?1:0},r.prototype.setDirection=function(t){this.direction=t>0?-1:t<0?1:0},r.prototype.performDampingAlgorithm=function(t,e){var o=this.currentPos+t;return(o>this.minScrollPos||othis.minScrollPos&&this.options.bounces[0]||othis.minScrollPos?this.minScrollPos:this.maxScrollPos),o},r.prototype.end=function(t){var e={duration:0},o=Math.abs(this.currentPos-this.startPos);if(this.options.momentum&&tthis.options.momentumLimitDistance){var i=this.direction===-1&&this.options.bounces[0]||this.direction===1&&this.options.bounces[1]?this.wrapperSize:0;e=this.hasScroll?this.momentum(this.currentPos,this.startPos,t,this.maxScrollPos,this.minScrollPos,i,this.options):{destination:this.currentPos,duration:0}}else this.hooks.trigger(this.hooks.eventTypes.end,e);return e},r.prototype.momentum=function(t,e,o,i,s,n,a){a===void 0&&(a=this.options);var h=t-e,l=Math.abs(h)/o,c=a.deceleration,p=a.swipeBounceTime,u=a.swipeTime,f=Math.min(u,l*2/c),v={destination:t+l*l/c*(h<0?-1:1),duration:f,rate:15};return this.hooks.trigger(this.hooks.eventTypes.momentum,v,h),v.destinations&&(v.destination=n?Math.min(s+n/4,s+n/v.rate*l):s,v.duration=p),v.destination=Math.round(v.destination),v},r.prototype.updateDirection=function(){var t=this.currentPos-this.absStartPos;this.setDirection(t)},r.prototype.refresh=function(t){var e=this.options.rect,o=e.size,i=e.position,s=window.getComputedStyle(this.wrapper,null).position==="static",n=D(this.wrapper);this.wrapperSize=this.wrapper[o==="width"?"clientWidth":"clientHeight"],this.setContent(t);var a=D(this.content);this.contentSize=a[o],this.relativeOffset=a[i],s&&(this.relativeOffset-=n[i]),this.computeBoundary(),this.setDirection(0)},r.prototype.setContent=function(t){t!==this.content&&(this.content=t,this.resetState())},r.prototype.resetState=function(){this.currentPos=0,this.startPos=0,this.dist=0,this.setDirection(0),this.setMovingDirection(0),this.resetStartPos()},r.prototype.computeBoundary=function(){this.hooks.trigger(this.hooks.eventTypes.beforeComputeBoundary);var t={minScrollPos:0,maxScrollPos:this.wrapperSize-this.contentSize};t.maxScrollPos<0&&(t.maxScrollPos-=this.relativeOffset,this.options.specifiedIndexAsContent===0&&(t.minScrollPos=-this.relativeOffset)),this.hooks.trigger(this.hooks.eventTypes.computeBoundary,t),this.minScrollPos=t.minScrollPos,this.maxScrollPos=t.maxScrollPos,this.hasScroll=this.options.scrollable&&this.maxScrollPosthis.minScrollPos?t=this.minScrollPos:te+this.directionLockThreshold?this.directionLocked="horizontal":e>=t+this.directionLockThreshold?this.directionLocked="vertical":this.directionLocked="none")},r.prototype.handleEventPassthrough=function(t){var e=fe[this.directionLocked];if(e){if(this.eventPassthrough===e.yes)return dt.yes(t);if(this.eventPassthrough===e.no)return dt.no(t)}return!1},r}(),de=function(r,t,e){return e===2?[t,-r]:e===3?[-r,-t]:e===4?[-t,r]:[r,t]},ge=function(){function r(t,e,o,i,s){this.hooks=new E(["start","beforeMove","scrollStart","scroll","beforeEnd","end","scrollEnd","contentNotMoved","detectMovingDirection","coordinateTransformation"]),this.scrollBehaviorX=t,this.scrollBehaviorY=e,this.actionsHandler=o,this.animater=i,this.options=s,this.directionLockAction=new ve(s.directionLockThreshold,s.freeScroll,s.eventPassthrough),this.enabled=!0,this.bindActionsHandler()}return r.prototype.bindActionsHandler=function(){var t=this;this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.start,function(e){return t.enabled?t.handleStart(e):!0}),this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.move,function(e){var o=e.deltaX,i=e.deltaY,s=e.e;if(!t.enabled)return!0;var n=de(o,i,t.options.quadrant),a=n[0],h=n[1],l={deltaX:a,deltaY:h};return t.hooks.trigger(t.hooks.eventTypes.coordinateTransformation,l),t.handleMove(l.deltaX,l.deltaY,s)}),this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.end,function(e){return t.enabled?t.handleEnd(e):!0}),this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.click,function(e){t.enabled&&!e._constructed&&t.handleClick(e)})},r.prototype.handleStart=function(t){var e=S();this.fingerMoved=!1,this.contentMoved=!1,this.startTime=e,this.directionLockAction.reset(),this.scrollBehaviorX.start(),this.scrollBehaviorY.start(),this.animater.doStop(),this.scrollBehaviorX.resetStartPos(),this.scrollBehaviorY.resetStartPos(),this.hooks.trigger(this.hooks.eventTypes.start,t)},r.prototype.handleMove=function(t,e,o){if(!this.hooks.trigger(this.hooks.eventTypes.beforeMove,o)){var i=this.scrollBehaviorX.getAbsDist(t),s=this.scrollBehaviorY.getAbsDist(e),n=S();if(this.checkMomentum(i,s,n))return!0;if(this.directionLockAction.checkMovingDirection(i,s,o))return this.actionsHandler.setInitiated(),!0;var a=this.directionLockAction.adjustDelta(t,e),h=this.scrollBehaviorX.getCurrentPos(),l=this.scrollBehaviorX.move(a.deltaX),c=this.scrollBehaviorY.getCurrentPos(),p=this.scrollBehaviorY.move(a.deltaY);if(!this.hooks.trigger(this.hooks.eventTypes.detectMovingDirection)){this.fingerMoved||(this.fingerMoved=!0);var u=l!==h||p!==c;!this.contentMoved&&!u&&this.hooks.trigger(this.hooks.eventTypes.contentNotMoved),!this.contentMoved&&u&&(this.contentMoved=!0,this.hooks.trigger(this.hooks.eventTypes.scrollStart)),this.contentMoved&&u&&(this.animater.translate({x:l,y:p}),this.dispatchScroll(n))}}},r.prototype.dispatchScroll=function(t){t-this.startTime>this.options.momentumLimitTime&&(this.startTime=t,this.scrollBehaviorX.updateStartPos(),this.scrollBehaviorY.updateStartPos(),this.options.probeType===1&&this.hooks.trigger(this.hooks.eventTypes.scroll,this.getCurrentPos())),this.options.probeType>1&&this.hooks.trigger(this.hooks.eventTypes.scroll,this.getCurrentPos())},r.prototype.checkMomentum=function(t,e,o){return o-this.endTime>this.options.momentumLimitTime&&e0?Math.ceil(e):Math.floor(e),o=o>0?Math.ceil(o):Math.floor(o),e=g(e,n,s),o=g(o,l,h),{x:e,y:o}},r.prototype.handleClick=function(t){I(t.target,this.options.preventDefaultException)||(X(t),t.stopPropagation())},r.prototype.getCurrentPos=function(){return{x:this.scrollBehaviorX.getCurrentPos(),y:this.scrollBehaviorY.getCurrentPos()}},r.prototype.refresh=function(){this.endTime=0},r.prototype.destroy=function(){this.hooks.destroy()},r}();function ye(r){var t=["click","bindToWrapper","disableMouse","disableTouch","preventDefault","stopPropagation","tagException","preventDefaultException","autoEndDistance"].reduce(function(e,o){return e[o]=r[o],e},{});return t}function gt(r,t,e,o){var i=["momentum","momentumLimitTime","momentumLimitDistance","deceleration","swipeBounceTime","swipeTime","outOfBoundaryDampingFactor","specifiedIndexAsContent"].reduce(function(s,n){return s[n]=r[n],s},{});return i.scrollable=!!r[t],i.bounces=e,i.rect=o,i}function nt(r,t,e){e.forEach(function(o){var i,s;typeof o=="string"?i=s=o:(i=o.source,s=o.target),r.on(i,function(){for(var n=[],a=0;a1&&ti||e>i))return!0},r.prototype.momentum=function(t,e){var o={time:0,easing:y.swiper,newX:t.x,newY:t.y},i=this.scrollBehaviorX.end(e),s=this.scrollBehaviorY.end(e);if(o.newX=st(i.destination)?o.newX:i.destination,o.newY=st(s.destination)?o.newY:s.destination,o.time=Math.max(i.duration,s.duration),this.hooks.trigger(this.hooks.eventTypes.momentum,o,this),o.newX!==t.x||o.newY!==t.y)return(o.newX>this.scrollBehaviorX.minScrollPos||o.newXthis.scrollBehaviorY.minScrollPos||o.newYMath.abs(s)&&(s=n),n=0),this.scroll.hasHorizontalScroll||(s=0);var h=s>0?-1:s<0?1:0,l=n>0?-1:n<0?1:0;return{x:s,y:n,directionX:h,directionY:l}},r.prototype.beforeHandler=function(t){var e=this.scroll.options,o=e.preventDefault,i=e.stopPropagation,s=e.preventDefaultException;o&&!I(t.target,s)&&X(t),i&&t.stopPropagation()},r.prototype.getEaseTime=function(){var t=100,e=this.mouseWheelOpt.easeTime;return ee.minScrollPos||e.currentPoso.minScrollPos||o.currentPos0&&(i.maxScrollPos=-1),i.minScrollPos=t.currentMinScrollY}),this.hasMouseWheelPlugin()&&(this.registerHooks(this.scroll,this.scroll.eventTypes.alterOptions,function(i){var s=300,n=350;i.discreteTime=s,i.easeTime=n}),this.registerHooks(this.scroll,this.scroll.eventTypes.mousewheelEnd,function(){e.hooks.trigger(e.hooks.eventTypes.end)}))},r.prototype.registerHooks=function(t,e,o){t.on(e,o,this),this.hooksFn.push([t,e,o])},r.prototype.hasMouseWheelPlugin=function(){return!!this.scroll.eventTypes.alterOptions},r.prototype.watch=function(){var t=this.scroll.scroller;this.watching=!0,this.registerHooks(t.hooks,t.hooks.eventTypes.end,this.checkPullDown),this.registerHooks(this.scroll,this.scroll.eventTypes.scrollStart,this.resetStateBeforeScrollStart),this.registerHooks(this.scroll,this.scroll.eventTypes.scroll,this.checkLocationOfThresholdBoundary),this.hasMouseWheelPlugin()&&this.registerHooks(this.scroll,this.scroll.eventTypes.mousewheelStart,this.resetStateBeforeScrollStart)},r.prototype.resetStateBeforeScrollStart=function(){this.isFetchingStatus()||(this.setPulling(1),this.setThresholdBoundary(0))},r.prototype.checkLocationOfThresholdBoundary=function(){if(this.pulling===1){var t=this.scroll,e=this.thresholdBoundary!==1&&this.locateInsideThresholdBoundary(),o=this.thresholdBoundary!==2&&!this.locateInsideThresholdBoundary();e&&(this.setThresholdBoundary(1),t.trigger(mt)),o&&(this.setThresholdBoundary(2),t.trigger(kt))}},r.prototype.locateInsideThresholdBoundary=function(){return this.scroll.y<=this.options.threshold},r.prototype.unwatch=function(){var t=this.scroll,e=t.scroller;this.watching=!1,e.hooks.off(e.hooks.eventTypes.end,this.checkPullDown),t.off(t.eventTypes.scrollStart,this.resetStateBeforeScrollStart),t.off(t.eventTypes.scroll,this.checkLocationOfThresholdBoundary),this.hasMouseWheelPlugin()&&t.off(t.eventTypes.mousewheelStart,this.resetStateBeforeScrollStart)},r.prototype.checkPullDown=function(){var t=this.options,e=t.threshold,o=t.stop;return this.scroll.y0&&(o.maxScrollPos=-1)})},r.prototype.registerHooks=function(t,e,o){t.on(e,o,this),this.hooksFn.push([t,e,o])},r.prototype.watch=function(){this.watching||(this.watching=!0,this.registerHooks(this.scroll,this.scroll.eventTypes.scroll,this.checkPullUp))},r.prototype.unwatch=function(){this.watching=!1,this.scroll.off(this.scroll.eventTypes.scroll,this.checkPullUp)},r.prototype.checkPullUp=function(t){var e=this,o=this.options.threshold;this.scroll.movingDirectionY===1&&t.y<=this.scroll.maxScrollY+o&&(this.pulling=!0,this.scroll.once(this.scroll.eventTypes.scrollEnd,function(){e.pulling=!1}),this.unwatch(),this.scroll.trigger(Tt))},r.prototype.finishPullUp=function(){var t=this;this.scroll.scroller.scrollBehaviorY.setMovingDirection(0),this.pulling?this.scroll.once(this.scroll.eventTypes.scrollEnd,function(){t.watch()}):this.watch()},r.prototype.openPullUp=function(t){t===void 0&&(t={}),this.handleOptions(t),this.watch()},r.prototype.closePullUp=function(){this.unwatch()},r.prototype.autoPullUpLoad=function(){var t=this.options.threshold,e=this.scroll.scroller.scrollBehaviorY;if(!(this.pulling||!this.watching)){var o=-1,i=e.maxScrollPos+t+o;this.scroll.scroller.scrollBehaviorY.setMovingDirection(o),this.scroll.scrollTo(this.scroll.x,i,this.scroll.options.bounceTime)}},r.pluginName="pullUpLoad",r}(),De=function(){function r(t,e){this.indicator=t,this.options=e,this.hooks=new E(["touchStart","touchMove","touchEnd"]),this.registerEvents()}return r.prototype.registerEvents=function(){var t=this.options,e=t.disableMouse,o=t.disableTouch,i=[],s=[],n=[];e||(i.push({name:"mousedown",handler:this.start.bind(this)}),s.push({name:"mousemove",handler:this.move.bind(this)}),n.push({name:"mouseup",handler:this.end.bind(this)})),o||(i.push({name:"touchstart",handler:this.start.bind(this)}),s.push({name:"touchmove",handler:this.move.bind(this)}),n.push({name:"touchend",handler:this.end.bind(this)},{name:"touchcancel",handler:this.end.bind(this)})),this.startEventRegister=new T(this.indicator.indicatorEl,i),this.moveEventRegister=new T(window,s),this.endEventRegister=new T(window,n)},r.prototype.BScrollIsDisabled=function(){return!this.indicator.scroll.enabled},r.prototype.start=function(t){if(!this.BScrollIsDisabled()){var e=t.touches?t.touches[0]:t;X(t),t.stopPropagation(),this.initiated=!0,this.lastPoint=e[this.indicator.keysMap.point],this.hooks.trigger(this.hooks.eventTypes.touchStart)}},r.prototype.move=function(t){if(!!this.initiated){var e=t.touches?t.touches[0]:t,o=e[this.indicator.keysMap.point];X(t),t.stopPropagation();var i=o-this.lastPoint;this.lastPoint=o,this.hooks.trigger(this.hooks.eventTypes.touchMove,i)}},r.prototype.end=function(t){!this.initiated||(this.initiated=!1,X(t),t.stopPropagation(),this.hooks.trigger(this.hooks.eventTypes.touchEnd))},r.prototype.destroy=function(){this.startEventRegister.destroy(),this.moveEventRegister.destroy(),this.endEventRegister.destroy()},r}(),Oe=function(){function r(t,e){this.scroll=t,this.options=e,this.hooksFn=[],this.wrapper=e.wrapper,this.direction=e.direction,this.indicatorEl=this.wrapper.children[0],this.keysMap=this.getKeysMap(),this.handleFade(),this.handleHooks()}return r.prototype.handleFade=function(){this.options.fade&&(this.wrapper.style.opacity="0")},r.prototype.handleHooks=function(){var t=this,e=this.options,o=e.fade,i=e.interactive,s=e.scrollbarTrackClickable,n=this.scroll,a=n.hooks,h=n.scroller.translater.hooks,l=n.scroller.animater.hooks;if(this.registerHooks(a,a.eventTypes.refresh,this.refresh),this.registerHooks(h,h.eventTypes.translate,function(v){var k=t.keysMap.hasScroll;t.scroll[k]&&t.updatePosition(v)}),this.registerHooks(l,l.eventTypes.time,this.transitionTime),this.registerHooks(l,l.eventTypes.timeFunction,this.transitionTimingFunction),o&&(this.registerHooks(n,n.eventTypes.scrollEnd,function(){t.fade()}),this.registerHooks(n,n.eventTypes.scrollStart,function(){t.fade(!0)}),n.eventTypes.mousewheelStart&&n.eventTypes.mousewheelEnd&&(this.registerHooks(n,n.eventTypes.mousewheelStart,function(){t.fade(!0)}),this.registerHooks(n,n.eventTypes.mousewheelMove,function(){t.fade(!0)}),this.registerHooks(n,n.eventTypes.mousewheelEnd,function(){t.fade()}))),i){var c=this.scroll.options,p=c.disableMouse,u=c.disableTouch;this.eventHandler=new De(this,{disableMouse:p,disableTouch:u});var f=this.eventHandler.hooks;this.registerHooks(f,f.eventTypes.touchStart,this.startHandler),this.registerHooks(f,f.eventTypes.touchMove,this.moveHandler),this.registerHooks(f,f.eventTypes.touchEnd,this.endHandler)}s&&this.bindClick()},r.prototype.registerHooks=function(t,e,o){t.on(e,o,this),this.hooksFn.push([t,e,o])},r.prototype.bindClick=function(){var t=this.wrapper;this.clickEventRegister=new T(t,[{name:"click",handler:this.handleClick.bind(this)}])},r.prototype.handleClick=function(t){var e=this.calculateclickOffsetPos(t),o=this.scroll,i=o.x,s=o.y;i=this.direction==="horizontal"?e:i,s=this.direction==="vertical"?e:s,this.scroll.scrollTo(i,s,this.options.scrollbarTrackOffsetTime)},r.prototype.calculateclickOffsetPos=function(t){var e=this.keysMap,o=e.point,i=e.domRect,s=this.options.scrollbarTrackOffsetType,n=t[o]-this.wrapperRect[i],a=nn?(c=Math.max(s-(l-n)*3,h),l=n+s-c):c=s,{pos:l,size:c}},r.prototype.refreshStyle=function(t,e){var o=this.keysMap,i=o.translateProperty,s=o.size,n=this.scroll.options.translateZ;this.indicatorEl.style[s]=t+"px",this.indicatorEl.style[d.transform]=i+"("+e+"px)"+n},r.prototype.startHandler=function(){this.moved=!1,this.startTime=S(),this.transitionTime(),this.scroll.scroller.hooks.trigger(this.scroll.scroller.hooks.eventTypes.beforeScrollStart)},r.prototype.moveHandler=function(t){if(!this.moved&&!this.indicatorNotMoved(t)&&(this.moved=!0,this.scroll.scroller.hooks.trigger(this.scroll.scroller.hooks.eventTypes.scrollStart)),this.moved){var e=this.newPos(this.currentPos,t,this.scrollInfo);this.syncBScroll(e)}},r.prototype.endHandler=function(){if(this.moved){var t=this.scroll,e=t.x,o=t.y;this.scroll.scroller.hooks.trigger(this.scroll.scroller.hooks.eventTypes.scrollEnd,{x:e,y:o})}},r.prototype.indicatorNotMoved=function(t){var e=this.currentPos,o=this.scrollInfo,i=o.maxScrollPos,s=o.minScrollPos,n=e===s&&t<=0||e===i&&t>=0;return n},r.prototype.syncBScroll=function(t){var e=S(),o=this.scroll,i=o.x,s=o.y,n=o.options,a=o.scroller,h=o.maxScrollY,l=o.minScrollY,c=o.maxScrollX,p=o.minScrollX,u=n.probeType,f=n.momentumLimitTime,v={x:i,y:s};this.direction==="vertical"?v.y=g(t,h,l):v.x=g(t,c,p),a.translater.translate(v),e-this.startTime>f&&(this.startTime=e,u===1&&a.hooks.trigger(a.hooks.eventTypes.scroll,v)),u>1&&a.hooks.trigger(a.hooks.eventTypes.scroll,v)},r.prototype.newPos=function(t,e,o){var i=o.maxScrollPos,s=o.sizeRatio,n=o.minScrollPos,a=t+e;return a=g(a,n,i),Math.round(a/s)},r.prototype.destroy=function(){var t=this.options,e=t.interactive,o=t.scrollbarTrackClickable,i=t.isCustom;e&&this.eventHandler.destroy(),o&&this.clickEventRegister.destroy(),i||this.wrapper.parentNode.removeChild(this.wrapper),this.hooksFn.forEach(function(s){var n=s[0],a=s[1],h=s[2];n.off(a,h)}),this.hooksFn.length=0},r}(),He=function(){function r(t){this.scroll=t,this.handleOptions(),this.createIndicators(),this.handleHooks()}return r.prototype.handleHooks=function(){var t=this,e=this.scroll;e.hooks.on(e.hooks.eventTypes.destroy,function(){for(var o=0,i=t.indicators;o=this.pages[o][0].cx);o++);for(s=this.pages[o]?this.pages[o].length:0;i=this.pages[0][i].cy);i++);return{pageX:o,pageY:i}},r.prototype.buildPagesMatrix=function(t,e){var o=[],i=0,s,n,a,h=0,l,c=this.scroll.scroller.scrollBehaviorX.maxScrollPos,p=this.scroll.scroller.scrollBehaviorY.maxScrollPos;for(n=Math.round(t/2),a=Math.round(e/2);i>-this.scrollerWidth;){for(o[h]=[],l=0,s=0;s>-this.scrollerHeight;)o[h][l]={x:Math.max(i,c),y:Math.max(s,p),width:t,height:e,cx:i-n,cy:s-a},s-=e,l++;i-=t,h++}return o},r}(),ze=function(){function r(t,e){this.scroll=t,this.slideOptions=e,this.slideX=!1,this.slideY=!1,this.currentPage=m({},Dt)}return r.prototype.refresh=function(){this.pagesMatrix=new Ie(this.scroll),this.checkSlideLoop(),this.currentPage=this.getAdjustedCurrentPage()},r.prototype.getAdjustedCurrentPage=function(){var t=this.currentPage,e=t.pageX,o=t.pageY;e=Math.min(e,this.pagesMatrix.pageLengthOfX-1),o=Math.min(o,this.pagesMatrix.pageLengthOfY-1),this.loopX&&(e=Math.min(e,this.pagesMatrix.pageLengthOfX-2)),this.loopY&&(o=Math.min(o,this.pagesMatrix.pageLengthOfY-2));var i=this.pagesMatrix.getPageStats(e,o),s=i.x,n=i.y;return{pageX:e,pageY:o,x:s,y:n}},r.prototype.setCurrentPage=function(t){this.currentPage=t},r.prototype.getInternalPage=function(t,e){t>=this.pagesMatrix.pageLengthOfX?t=this.pagesMatrix.pageLengthOfX-1:t<0&&(t=0),e>=this.pagesMatrix.pageLengthOfY?e=this.pagesMatrix.pageLengthOfY-1:e<0&&(e=0);var o=this.pagesMatrix.getPageStats(t,e),i=o.x,s=o.y;return{pageX:t,pageY:e,x:i,y:s}},r.prototype.getInitialPage=function(t,e){t===void 0&&(t=!1),e===void 0&&(e=!1);var o=this.slideOptions,i=o.startPageXIndex,s=o.startPageYIndex,n=this.loopX?1:0,a=this.loopY?1:0,h=t?n:this.currentPage.pageX,l=t?a:this.currentPage.pageY;e?(h=this.loopX?i+1:i,l=this.loopY?s+1:s):(h=t?n:this.currentPage.pageX,l=t?a:this.currentPage.pageY);var c=this.pagesMatrix.getPageStats(h,l),p=c.x,u=c.y;return{pageX:h,pageY:l,x:p,y:u}},r.prototype.getExposedPage=function(t){var e=m({},t);return this.loopX&&(e.pageX=this.fixedPage(e.pageX,this.pagesMatrix.pageLengthOfX-2)),this.loopY&&(e.pageY=this.fixedPage(e.pageY,this.pagesMatrix.pageLengthOfY-2)),e},r.prototype.getExposedPageByPageIndex=function(t,e){var o={pageX:t,pageY:e};this.loopX&&(o.pageX=t+1),this.loopY&&(o.pageY=e+1);var i=this.pagesMatrix.getPageStats(o.pageX,o.pageY),s=i.x,n=i.y;return{x:s,y:n,pageX:t,pageY:e}},r.prototype.getWillChangedPage=function(t){return t=m({},t),this.loopX&&(t.pageX=this.fixedPage(t.pageX,this.pagesMatrix.pageLengthOfX-2),t.x=this.pagesMatrix.getPageStats(t.pageX+1,0).x),this.loopY&&(t.pageY=this.fixedPage(t.pageY,this.pagesMatrix.pageLengthOfY-2),t.y=this.pagesMatrix.getPageStats(0,t.pageY+1).y),t},r.prototype.fixedPage=function(t,e){for(var o=[],i=0;i1?this.slideX=!0:this.slideX=!1,this.pagesMatrix.pages[0]&&this.pagesMatrix.pageLengthOfY>1?this.slideY=!0:this.slideY=!1,this.loopX=this.wannaLoop&&this.slideX,this.loopY=this.wannaLoop&&this.slideY,this.slideX&&this.slideY&&P("slide does not support two direction at the same time.")},r}(),Le="plugins.slide",Fe=[{key:"next",name:"next"},{key:"prev",name:"prev"},{key:"goToPage",name:"goToPage"},{key:"getCurrentPage",name:"getCurrentPage"},{key:"startPlay",name:"startPlay"},{key:"pausePlay",name:"pausePlay"}],_e=Fe.map(function(r){return{key:r.key,sourceKey:Le+"."+r.name}}),Ae=function(r,t){return r.pageX===t.pageX&&r.pageY===t.pageY},Ne=function(){function r(t){this.scroll=t,this.cachedClonedPageDOM=[],this.resetLooping=!1,this.autoplayTimer=0,this.satisfyInitialization()&&this.init()}return r.prototype.satisfyInitialization=function(){return this.scroll.scroller.content.children.length<=0?(P("slide need at least one slide page to be initialised.please check your DOM layout."),!1):!0},r.prototype.init=function(){this.willChangeToPage=m({},Dt),this.handleBScroll(),this.handleOptions(),this.handleHooks(),this.createPages()},r.prototype.createPages=function(){this.pages=new ze(this.scroll,this.options)},r.prototype.handleBScroll=function(){this.scroll.registerType(["slideWillChange","slidePageChanged"]),this.scroll.proxy(_e)},r.prototype.handleOptions=function(){var t=this.scroll.options.slide===!0?{}:this.scroll.options.slide,e={loop:!0,threshold:.1,speed:400,easing:y.bounce,listenFlick:!0,autoplay:!0,interval:3e3,startPageXIndex:0,startPageYIndex:0};this.options=m(e,t)},r.prototype.handleLoop=function(t){var e=this.options.loop,o=this.scroll.scroller.content,i=o.children.length;e&&(o!==t?(this.resetLoopChangedStatus(),this.removeClonedSlidePage(t),i>1&&this.cloneFirstAndLastSlidePage(o)):i===3&&this.initialised?(this.removeClonedSlidePage(o),this.moreToOnePageInLoop=!0,this.oneToMorePagesInLoop=!1):i>1?(this.initialised&&this.cachedClonedPageDOM.length===0?(this.oneToMorePagesInLoop=!0,this.moreToOnePageInLoop=!1):(this.removeClonedSlidePage(o),this.resetLoopChangedStatus()),this.cloneFirstAndLastSlidePage(o)):this.resetLoopChangedStatus())},r.prototype.resetLoopChangedStatus=function(){this.moreToOnePageInLoop=!1,this.oneToMorePagesInLoop=!1},r.prototype.handleHooks=function(){var t=this,e=this.scroll.hooks,o=this.scroll.scroller.hooks,i=this.options.listenFlick;this.prevContent=this.scroll.scroller.content,this.hooksFn=[],this.registerHooks(this.scroll,this.scroll.eventTypes.beforeScrollStart,this.pausePlay),this.registerHooks(this.scroll,this.scroll.eventTypes.scrollEnd,this.modifyCurrentPage),this.registerHooks(this.scroll,this.scroll.eventTypes.scrollEnd,this.startPlay),this.scroll.eventTypes.mousewheelMove&&(this.registerHooks(this.scroll,this.scroll.eventTypes.mousewheelMove,function(){return!0}),this.registerHooks(this.scroll,this.scroll.eventTypes.mousewheelEnd,function(s){(s.directionX===1||s.directionY===1)&&t.next(),(s.directionX===-1||s.directionY===-1)&&t.prev()})),this.registerHooks(e,e.eventTypes.refresh,this.refreshHandler),this.registerHooks(e,e.eventTypes.destroy,this.destroy),this.registerHooks(o,o.eventTypes.beforeRefresh,function(){t.handleLoop(t.prevContent),t.setSlideInlineStyle()}),this.registerHooks(o,o.eventTypes.momentum,this.modifyScrollMetaHandler),this.registerHooks(o,o.eventTypes.scroll,this.scrollHandler),this.registerHooks(o,o.eventTypes.checkClick,this.startPlay),i&&this.registerHooks(o,o.eventTypes.flick,this.flickHandler)},r.prototype.startPlay=function(){var t=this,e=this.options,o=e.interval,i=e.autoplay;i&&(clearTimeout(this.autoplayTimer),this.autoplayTimer=window.setTimeout(function(){t.next()},o))},r.prototype.pausePlay=function(){this.options.autoplay&&clearTimeout(this.autoplayTimer)},r.prototype.setSlideInlineStyle=function(){var t=[{direction:"scrollX",sizeType:"offsetWidth",styleType:"width"},{direction:"scrollY",sizeType:"offsetHeight",styleType:"height"}],e=this.scroll.scroller,o=e.content,i=e.wrapper,s=this.scroll.options;t.forEach(function(n){var a=n.direction,h=n.sizeType,l=n.styleType;if(s[a]){for(var c=i[h],p=o.children,u=p.length,f=0;f0?n.contentSize/t.items.length:0,l.maxScrollPos=-t.itemHeight*(t.items.length-1),l.minScrollPos=0}),n.hooks.on(n.hooks.eventTypes.momentum,function(l){l.rate=Ue.rate,l.destination=t.findNearestValidWheel(l.destination).y}),n.hooks.on(n.hooks.eventTypes.end,function(l){var c=t.findNearestValidWheel(n.currentPos);l.destination=c.y,l.duration=t.options.adjustTime}),a.hooks.on(a.hooks.eventTypes.time,function(l){t.transitionDuration(l)}),a.hooks.on(a.hooks.eventTypes.timeFunction,function(l){t.timeFunction(l)}),a.hooks.on(a.hooks.eventTypes.callStop,function(){var l=t.findNearestValidWheel(t.scroll.y).index;t.isAdjustingPosition=!0,t.wheelTo(l,0)}),a.translater.hooks.on(a.translater.hooks.eventTypes.translate,function(l){t.rotateX(l.y)})},r.prototype.refreshBoundary=function(){var t=this.scroll.scroller,e=t.scrollBehaviorX,o=t.scrollBehaviorY,i=t.content;e.refresh(i),o.refresh(i)},r.prototype.setSelectedIndex=function(t,e){e===void 0&&(e=!1);var o=this.selectedIndex;this.selectedIndex=t,o!==t&&!e&&this.scroll.trigger(St,t)},r.prototype.getSelectedIndex=function(){return this.selectedIndex},r.prototype.wheelTo=function(t,e,o){t===void 0&&(t=0),e===void 0&&(e=0);var i=-t*this.itemHeight;this.scroll.scrollTo(0,i,e,o)},r.prototype.restorePosition=function(){var t=this.scroll.pending;if(t){var e=this.getSelectedIndex();this.scroll.scroller.animater.clearTimer(),this.wheelTo(e,0)}},r.prototype.transitionDuration=function(t){for(var e=0;e0?0:t=0&&z(i[e],s);)e--;if(e<0)for(e=o;e<=i.length-1&&z(i[e],s);)e++;return e===i.length&&(e=o),{index:this.wheelItemsAllDisabled?-1:e,y:-e*this.itemHeight}},r.prototype.checkWheelAllDisabled=function(){var t=this.options.wheelDisabledItemClass,e=this.items;this.wheelItemsAllDisabled=!0;for(var o=0;o0){var p,u=S(),f=u+o,v=function(){var k=S();if(k>=f){s.scroll.trigger(s.scroll.eventTypes.zooming,{scale:c}),B(p);return}var Y=y.bounce.fn((k-u)/o),j=Y*(c-l)+l;s.scroll.trigger(s.scroll.eventTypes.zooming,{scale:j}),p=lt(v)};v()}})(),this.fingersOperation(2),this._zoomTo(c,l,e,o,i)},r.prototype._zoomTo=function(t,e,o,i,s){s===void 0&&(s=!1);var n=t/o.baseScale;this.setScale(t);var a=this.scroll.scroller,h=a.scrollBehaviorX,l=a.scrollBehaviorY;this.resetBoundaries([h,l]);var c=this.getNewPos(o.x,n,h,!0,s),p=this.getNewPos(o.y,n,l,!0,s);(h.currentPos!==Math.round(c)||l.currentPos!==Math.round(p)||t!==e)&&a.scrollTo(c,p,i,y.bounce,{start:{scale:e},end:{scale:t}})},r.prototype.resolveOrigin=function(t,e){var o=this.scroll.scroller,i=o.scrollBehaviorX,s=o.scrollBehaviorY,n={left:function(){return 0},top:function(){return 0},right:function(){return i.contentSize},bottom:function(){return s.contentSize},center:function(a){var h=a===0?i.contentSize:s.contentSize;return h/2}};return{originX:typeof t=="number"?t:n[t](0),originY:typeof e=="number"?e:n[e](1)}},r.prototype.zoomStart=function(t){var e=t.touches[0],o=t.touches[1];this.startDistance=this.getFingerDistance(t),this.startScale=this.scale;var i=Rt(this.wrapper),s=i.left,n=i.top;this.origin={x:Math.abs(e.pageX+o.pageX)/2+s-this.scroll.x,y:Math.abs(e.pageY+o.pageY)/2+n-this.scroll.y,baseScale:this.startScale},this.scroll.trigger(this.scroll.eventTypes.beforeZoomStart)},r.prototype.zoom=function(t){var e=this.getFingerDistance(t);if(!(!this.zoomed&&Math.abs(e-this.startDistance)i&&(t=2*i*Math.pow(.5,i/t)),t},r.prototype.setScale=function(t){this.scale=t},r.prototype.resetBoundaries=function(t){t.forEach(function(e){return e.computeBoundary()})},r.prototype.getNewPos=function(t,e,o,i,s){s===void 0&&(s=!1);var n=t-t*e+(s?o.currentPos:o.startPos);return i&&(n=g(n,o.maxScrollPos,o.minScrollPos)),n>0?Math.floor(n):Math.ceil(n)},r.prototype.registerHooks=function(t,e,o){t.on(e,o,this),this.hooksFn.push([t,e,o])},r.prototype.destroy=function(){this.hooksFn.forEach(function(t){var e=t[0],o=t[1],i=t[2];e.off(o,i)}),this.hooksFn.length=0},r.pluginName="zoom",r}(),qe=function(){function r(t){this.ancestors=[],this.descendants=[],this.hooksManager=[],this.analyzed=!1,this.selfScroll=t}return r.create=function(t){return new r(t)},r.prototype.hasAncestors=function(t){var e=O(this.ancestors,function(o){var i=o[0];return i===t});return e>-1},r.prototype.hasDescendants=function(t){var e=O(this.descendants,function(o){var i=o[0];return i===t});return e>-1},r.prototype.addAncestor=function(t,e){var o=this.ancestors;o.push([t,e]),o.sort(function(i,s){return i[1]-s[1]})},r.prototype.addDescendant=function(t,e){var o=this.descendants;o.push([t,e]),o.sort(function(i,s){return i[1]-s[1]})},r.prototype.removeAncestor=function(t){var e=this.ancestors;if(e.length){var o=O(this.ancestors,function(i){var s=i[0];return s===t});if(o>-1)return e.splice(o,1)}},r.prototype.removeDescendant=function(t){var e=this.descendants;if(e.length){var o=O(this.descendants,function(i){var s=i[0];return s===t});if(o>-1)return e.splice(o,1)}},r.prototype.registerHooks=function(t,e,o){t.on(e,o),this.hooksManager.push([t,e,o])},r.prototype.setAnalyzed=function(t){t===void 0&&(t=!1),this.analyzed=t},r.prototype.purge=function(){var t=this;this.ancestors.forEach(function(e){var o=e[0];o.removeDescendant(t)}),this.descendants.forEach(function(e){var o=e[0];o.removeAncestor(t)}),this.hooksManager.forEach(function(e){var o=e[0],i=e[1],s=e[2];o.off(i,s)}),this.hooksManager=[]},r}(),Je="plugins.nestedScroll",Qe=[{key:"purgeNestedScroll",name:"purgeNestedScroll"}],to=Qe.map(function(r){return{key:r.key,sourceKey:Je+"."+r.name}}),eo="INTERNAL_NESTED_SCROLL",oo=function(r){r.forEach(function(t){t.pending&&(t.stop(),t.resetPosition())})},Pt=function(r){r.forEach(function(t){t.enable()})},W=function(r,t){r.forEach(function(e){(e.hasHorizontalScroll===t.hasHorizontalScroll||e.hasVerticalScroll===t.hasVerticalScroll)&&e.disable()})},ro=function(r){r.forEach(function(t){var e=t.scroller,o=e.actions,i=e.scrollBehaviorX,s=e.scrollBehaviorY;o.fingerMoved=!0,o.contentMoved=!1,o.directionLockAction.reset(),i.start(),s.start(),i.resetStartPos(),s.resetStartPos(),o.startTime=+new Date})},io=function(r){var t=r.hasHorizontalScroll,e=r.hasVerticalScroll,o=r.x,i=r.y,s=r.minScrollX,n=r.maxScrollX,a=r.minScrollY,h=r.maxScrollY,l=r.movingDirectionX,c=r.movingDirectionY,p=!1,u=o>=s&&l===-1,f=o<=n&&l===1,v=i>=a&&c===-1,k=i<=h&&c===1;return e?p=v||k:t&&(p=u||f),p},so=function(r){var t=r.hasHorizontalScroll,e=r.hasVerticalScroll,o=r.x,i=r.y,s=r.minScrollX,n=r.maxScrollX,a=r.minScrollY,h=r.maxScrollY,l=!1,c=o>s,p=oa,f=i-1){var n=o[s];n.purge(),o.splice(s,1)}var a=O(i,function(u){var f=u[0];return f===t.hooks});if(a>-1){var h=i[a],l=h[0],c=h[1],p=h[2];l.off(c,p),i.splice(a,1)}},r.prototype.addBScroll=function(t){this.store.push(qe.create(t))},r.prototype.buildBScrollGraph=function(){for(var t=this.store,e,o,i,s,n=this.store.length,a=0;a0)e=1;else if(t<0)e=0;else return this.lastDirection;return this.lastDirection=e,e},r.prototype.calculateIndex=function(t,e,o){if(e<=0)return t;for(var i=t,s=o[i]&&o[i].pos!==-1?o[i].pos:0,n=s,a=0;ithis.list.length&&(e=t-this.list.length,this.addEmptyData(e)),[2,this.checkToFetch(t)]})})},r.prototype.add=function(t){for(var e=0;e=t.length&&(e=t.length-1),o>t.length&&(o=t.length),this.collectUnusedDom(t,e,o),this.createDom(t,e,o),this.cacheHeight(t,e,o);var i=this.positionDom(t,e,o),s=i.startPos,n=i.startDelta,a=i.endPos;return{start:e,startPos:s,startDelta:n,end:o,endPos:a}},r.prototype.collectUnusedDom=function(t,e,o){for(var i=0;ie;)i-=t[h-1].height,h--;var l=n-i;return{start:i,delta:l}},r.prototype.removeTombstone=function(){for(var t=this.content.querySelectorAll(".tombstone"),e=t.length-1;e>=0;e--)this.content.removeChild(t[e])},r.prototype.setContent=function(t){t!==this.content&&(this.content=t)},r.prototype.destroy=function(){this.removeTombstone(),this.timers.forEach(function(t){clearTimeout(t)})},r.prototype.resetState=function(){this.destroy(),this.timers=[],this.unusedDom=[]},r}(),fo=-2e3,vo=function(){function r(t){this.scroll=t,this.start=0,this.end=0,this.init()}return r.prototype.init=function(){var t=this;this.handleOptions();var e=this.options,o=e.fetch,i=e.render,s=e.createTombstone;this.tombstone=new K(s),this.indexCalculator=new ho(this.scroll.scroller.scrollBehaviorY.wrapperSize,this.tombstone.height),this.domManager=new uo(this.scroll.scroller.content,i,this.tombstone),this.dataManager=new po([],o,this.onFetchFinish.bind(this)),this.scroll.on(this.scroll.eventTypes.destroy,this.destroy,this),this.scroll.on(this.scroll.eventTypes.scroll,this.update,this),this.scroll.on(this.scroll.eventTypes.contentChanged,function(a){t.domManager.setContent(a),t.indexCalculator.resetState(),t.domManager.resetState(),t.dataManager.resetState(),t.update({y:0})});var n=this.scroll.scroller.scrollBehaviorY;n.hooks.on(n.hooks.eventTypes.computeBoundary,this.modifyBoundary,this),this.update({y:0})},r.prototype.modifyBoundary=function(t){t.maxScrollPos=fo},r.prototype.handleOptions=function(){var t=this.scroll.options.infinity;t&&(typeof t.fetch!="function"&&P("Infinity plugin need fetch Function to new data."),typeof t.render!="function"&&P("Infinity plugin need render Function to render each item."),typeof t.render!="function"&&P("Infinity plugin need createTombstone Function to create tombstone."),this.options=t),this.scroll.options.probeType=3},r.prototype.update=function(t){var e=Math.round(-t.y),o=this.indexCalculator.calculate(e,this.dataManager.getList()),i=o.start,s=o.end;this.start=i,this.end=s,this.dataManager.update(s),this.updateDom(this.dataManager.getList())},r.prototype.onFetchFinish=function(t,e){var o=this.updateDom(t).end;return e||(this.domManager.removeTombstone(),this.scroll.scroller.animater.stop(),this.scroll.resetPosition()),o},r.prototype.updateDom=function(t){var e=this.domManager.update(t,this.start,this.end),o=e.end,i=e.startPos,s=e.endPos,n=e.startDelta;return n&&(this.scroll.minScrollY=n),s>this.scroll.maxScrollY&&(this.scroll.maxScrollY=-(s-this.scroll.scroller.scrollBehaviorY.wrapperSize)),{end:o,startPos:i,endPos:s}},r.prototype.destroy=function(){for(var t=this.scroll.scroller,e=t.content,o=t.scrollBehaviorY;e.firstChild;)e.removeChild(e.firstChild);this.domManager.destroy(),this.scroll.off("scroll",this.update),this.scroll.off("destroy",this.destroy),o.hooks.off(o.hooks.eventTypes.computeBoundary)},r.pluginName="infinity",r}(),go="plugins.movable",yo=[{key:"putAt",name:"putAt"}],mo=yo.map(function(r){return{key:r.key,sourceKey:go+"."+r.name}}),ko=function(){function r(t){this.scroll=t,this.handleBScroll(),this.handleHooks()}return r.prototype.handleBScroll=function(){this.scroll.proxy(mo)},r.prototype.handleHooks=function(){var t=this;this.hooksFn=[];var e=this.scroll.scroller,o=e.scrollBehaviorX,i=e.scrollBehaviorY,s=function(n,a){n.maxScrollPos>0&&(n.minScrollPos=a.wrapperSize-a.contentSize,n.maxScrollPos=0)};this.registerHooks(o.hooks,o.hooks.eventTypes.ignoreHasScroll,function(){return!0}),this.registerHooks(o.hooks,o.hooks.eventTypes.computeBoundary,function(n){s(n,o)}),this.registerHooks(i.hooks,i.hooks.eventTypes.ignoreHasScroll,function(){return!0}),this.registerHooks(i.hooks,i.hooks.eventTypes.computeBoundary,function(n){s(n,i)}),this.registerHooks(this.scroll.hooks,this.scroll.hooks.eventTypes.destroy,function(){t.destroy()})},r.prototype.putAt=function(t,e,o,i){o===void 0&&(o=this.scroll.options.bounceTime),i===void 0&&(i=y.bounce);var s=this.resolvePostion(t,e);this.scroll.scrollTo(s.x,s.y,o,i)},r.prototype.resolvePostion=function(t,e){var o=this.scroll.scroller,i=o.scrollBehaviorX,s=o.scrollBehaviorY,n={left:function(){return 0},top:function(){return 0},right:function(){return i.minScrollPos},bottom:function(){return s.minScrollPos},center:function(a){var h=a===0?i.minScrollPos:s.minScrollPos;return h/2}};return{x:typeof t=="number"?t:n[t](0),y:typeof e=="number"?e:n[e](1)}},r.prototype.destroy=function(){this.hooksFn.forEach(function(t){var e=t[0],o=t[1],i=t[2];e.off(o,i)}),this.hooksFn.length=0},r.prototype.registerHooks=function(t,e,o){t.on(e,o,this),this.hooksFn.push([t,e,o])},r.pluginName="movable",r.applyOrder="pre",r}(),To=function(r){return r.tagName.toLowerCase()==="img"},So=function(){function r(t){this.scroll=t,this.refreshTimer=0,this.init()}return r.prototype.init=function(){this.handleOptions(this.scroll.options.observeImage),this.bindEventsToWrapper()},r.prototype.handleOptions=function(t){t===void 0&&(t={}),t=t===!0?{}:t;var e={debounceTime:100};this.options=m(e,t)},r.prototype.bindEventsToWrapper=function(){var t=this.scroll.scroller.wrapper;this.imageLoadEventRegister=new T(t,[{name:"load",handler:this.load.bind(this),capture:!0}]),this.imageErrorEventRegister=new T(t,[{name:"error",handler:this.load.bind(this),capture:!0}])},r.prototype.load=function(t){var e=this,o=t.target,i=this.options.debounceTime;o&&To(o)&&(i===0?this.scroll.refresh():(clearTimeout(this.refreshTimer),this.refreshTimer=window.setTimeout(function(){e.scroll.refresh()},this.options.debounceTime)))},r.pluginName="observeImage",r}(),Po=function(r){var t={ratioX:0,ratioY:0};return r&&(typeof r=="number"?t.ratioX=t.ratioY=r:typeof r=="object"&&r&&(t.ratioX=r.x||0,t.ratioY=r.y||0)),t},rt=function(r){X(r),r.stopPropagation()},bo=function(){function r(t,e){this.scroll=t,this.options=e,this.currentPos={x:0,y:0},this.hooksFn=[],this.handleDOM(),this.handleHooks(),this.handleInteractive()}return r.prototype.handleDOM=function(){var t=this.options,e=t.relationElement,o=t.relationElementHandleElementIndex,i=o===void 0?0:o;this.wrapper=e,this.indicatorEl=this.wrapper.children[i]},r.prototype.handleHooks=function(){var t=this,e=this.scroll,o=e.hooks,i=e.scroller.translater.hooks,s=e.scroller.animater.hooks;this.registerHooks(o,o.eventTypes.refresh,this.refresh),this.registerHooks(i,i.eventTypes.translate,function(n){t.updatePosition(n)}),this.registerHooks(s,s.eventTypes.time,this.transitionTime),this.registerHooks(s,s.eventTypes.timeFunction,this.transitionTimingFunction)},r.prototype.transitionTime=function(t){t===void 0&&(t=0),this.indicatorEl.style[d.transitionDuration]=t+"ms"},r.prototype.transitionTimingFunction=function(t){this.indicatorEl.style[d.transitionTimingFunction]=t},r.prototype.handleInteractive=function(){this.options.interactive!==!1&&this.registerEvents()},r.prototype.registerHooks=function(t,e,o){t.on(e,o,this),this.hooksFn.push([t,e,o])},r.prototype.registerEvents=function(){var t=this.scroll.options,e=t.disableMouse,o=t.disableTouch,i=[],s=[],n=[];e||(i.push({name:"mousedown",handler:this.start.bind(this)}),s.push({name:"mousemove",handler:this.move.bind(this)}),n.push({name:"mouseup",handler:this.end.bind(this)})),o||(i.push({name:"touchstart",handler:this.start.bind(this)}),s.push({name:"touchmove",handler:this.move.bind(this)}),n.push({name:"touchend",handler:this.end.bind(this)},{name:"touchcancel",handler:this.end.bind(this)})),this.startEventRegister=new T(this.indicatorEl,i),this.moveEventRegister=new T(window,s),this.endEventRegister=new T(window,n)},r.prototype.refresh=function(){var t=this.scroll,e=t.x,o=t.y,i=t.hasHorizontalScroll,s=t.hasVerticalScroll,n=t.maxScrollX,a=t.maxScrollY,h=Po(this.options.ratio),l=h.ratioX,c=h.ratioY,p=te(this.wrapper),u=p.width,f=p.height,v=D(this.indicatorEl),k=v.width,Y=v.height;i&&(this.maxScrollX=u-k,this.translateXSign=this.maxScrollX>0?-1:1,this.minScrollX=0,this.ratioX=l||Math.abs(this.maxScrollX/n)),s&&(this.maxScrollY=f-Y,this.translateYSign=this.maxScrollY>0?-1:1,this.minScrollY=0,this.ratioY=c||Math.abs(this.maxScrollY/a)),this.updatePosition({x:e,y:o})},r.prototype.start=function(t){if(!this.BScrollIsDisabled()){var e=t.touches?t.touches[0]:t;rt(t),this.initiated=!0,this.moved=!1,this.lastPointX=e.pageX,this.lastPointY=e.pageY,this.startTime=S(),this.scroll.scroller.hooks.trigger(this.scroll.scroller.hooks.eventTypes.beforeScrollStart)}},r.prototype.BScrollIsDisabled=function(){return!this.scroll.enabled},r.prototype.move=function(t){if(!!this.initiated){var e=t.touches?t.touches[0]:t,o=e.pageX,i=e.pageY;rt(t);var s=o-this.lastPointX,n=i-this.lastPointY;if(this.lastPointX=o,this.lastPointY=i,!this.moved&&!this.indicatorNotMoved(s,n)&&(this.moved=!0,this.scroll.scroller.hooks.trigger(this.scroll.scroller.hooks.eventTypes.scrollStart)),this.moved){var a=this.getBScrollPosByRatio(this.currentPos,s,n);this.syncBScroll(a)}}},r.prototype.end=function(t){if(!!this.initiated&&(this.initiated=!1,rt(t),this.moved)){var e=this.scroll,o=e.x,i=e.y;this.scroll.scroller.hooks.trigger(this.scroll.scroller.hooks.eventTypes.scrollEnd,{x:o,y:i})}},r.prototype.getBScrollPosByRatio=function(t,e,o){var i=t.x,s=t.y,n=this.scroll,a=n.hasHorizontalScroll,h=n.hasVerticalScroll,l=n.minScrollX,c=n.maxScrollX,p=n.minScrollY,u=n.maxScrollY,f=this.scroll,v=f.x,k=f.y;if(a){var Y=g(i+e,Math.min(this.minScrollX,this.maxScrollX),Math.max(this.minScrollX,this.maxScrollX)),j=Math.round(Y/this.ratioX*this.translateXSign);v=g(j,c,l)}if(h){var Ot=g(s+o,Math.min(this.minScrollY,this.maxScrollY),Math.max(this.minScrollY,this.maxScrollY)),Ht=Math.round(Ot/this.ratioY*this.translateYSign);k=g(Ht,u,p)}return{x:v,y:k}},r.prototype.indicatorNotMoved=function(t,e){var o=this.currentPos,i=o.x,s=o.y,n=i===this.minScrollX&&t<=0||i===this.maxScrollX&&t>=0,a=s===this.minScrollY&&e<=0||s===this.maxScrollY&&e>=0;return n&&a},r.prototype.syncBScroll=function(t){var e=S(),o=this.scroll,i=o.options,s=o.scroller,n=i.probeType,a=i.momentumLimitTime;s.translater.translate(t),e-this.startTime>a&&(this.startTime=e,n===1&&s.hooks.trigger(s.hooks.eventTypes.scroll,t)),n>1&&s.hooks.trigger(s.hooks.eventTypes.scroll,t)},r.prototype.updatePosition=function(t){var e=this.getIndicatorPosByRatio(t);this.applyTransformProperty(e),this.currentPos=b({},e)},r.prototype.applyTransformProperty=function(t){var e=this.scroll.options.translateZ,o=["translateX("+t.x+"px)","translateY("+t.y+"px)",""+e];this.indicatorEl.style[d.transform]=o.join(" ")},r.prototype.getIndicatorPosByRatio=function(t){var e=t.x,o=t.y,i=this.scroll,s=i.hasHorizontalScroll,n=i.hasVerticalScroll,a=b({},this.currentPos);if(s){var h=Math.round(this.ratioX*e*this.translateXSign);a.x=g(h,Math.min(this.minScrollX,this.maxScrollX),Math.max(this.minScrollX,this.maxScrollX))}if(n){var l=Math.round(this.ratioY*o*this.translateYSign);a.y=g(l,Math.min(this.minScrollY,this.maxScrollY),Math.max(this.minScrollY,this.maxScrollY))}return a},r.prototype.destroy=function(){this.options.interactive!==!1&&(this.startEventRegister.destroy(),this.moveEventRegister.destroy(),this.endEventRegister.destroy()),this.hooksFn.forEach(function(t){var e=t[0],o=t[1],i=t[2];e.off(o,i)}),this.hooksFn.length=0},r}(),wo=function(){function r(t){this.scroll=t,this.options=[],this.indicators=[],this.handleOptions(),this.handleHooks()}return r.prototype.handleOptions=function(){var t=this.scroll.options.indicators;ht(Array.isArray(t),"'indicators' must be an array.");for(var e=0,o=t;e