!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function j(b){var c=b||window.event,h=d.call(arguments,1),i=0,j=0,l=0,m=0;if(b=a.event.fix(c),b.type="mousewheel","detail"in c&&(l=-1*c.detail),"wheelDelta"in c&&(l=c.wheelDelta),"wheelDeltaY"in c&&(l=c.wheelDeltaY),"wheelDeltaX"in c&&(j=-1*c.wheelDeltaX),"axis"in c&&c.axis===c.HORIZONTAL_AXIS&&(j=-1*l,l=0),i=0===l?j:l,"deltaY"in c&&(l=-1*c.deltaY,i=l),"deltaX"in c&&(j=c.deltaX,0===l&&(i=-1*j)),0!==l||0!==j){if(1===c.deltaMode){var n=a.data(this,"mousewheel-line-height");i*=n,l*=n,j*=n}else if(2===c.deltaMode){var o=a.data(this,"mousewheel-page-height");i*=o,l*=o,j*=o}return m=Math.max(Math.abs(l),Math.abs(j)),(!g||g>m)&&(g=m,120===g&&(e=!0,g/=40)),e&&(i/=40,j/=40,l/=40),i=Math[i>=1?"floor":"ceil"](i/g),j=Math[j>=1?"floor":"ceil"](j/g),l=Math[l>=1?"floor":"ceil"](l/g),b.deltaX=j,b.deltaY=l,b.deltaFactor=g,b.deltaMode=0,h.unshift(b,i,j,l),f&&clearTimeout(f),f=setTimeout(k,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function k(){g=null,e=null}var e,f,g,b=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],c="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],d=Array.prototype.slice;if(a.event.fixHooks)for(var h=b.length;h;)a.event.fixHooks[b[--h]]=a.event.mouseHooks;var i=a.event.special.mousewheel={version:"3.1.8",setup:function(){if(this.addEventListener)for(var b=c.length;b;)this.addEventListener(c[--b],j,!1);else this.onmousewheel=j;a.data(this,"mousewheel-line-height",i.getLineHeight(this)),a.data(this,"mousewheel-page-height",i.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],j,!1);else this.onmousewheel=null},getLineHeight:function(b){return parseInt(a(b)["offsetParent"in a.fn?"offsetParent":"parent"]().css("fontSize"),10)},getPageHeight:function(b){return a(b).height()}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});