PageSourceSearch

https://coldpress.co.uk/cdn/shop/t/4/assets/vendor.min.js?v=33481944222199837711718102478

js coldpress.co.uk collected 2026-10-05 10:29:24 UTC 221,301 bytes, 4,133 lines download raw bytes

vendor: 4,912 bytes, lines 1-2
1
2!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).window=t.window||{})}(this,function(e){"use strict";function _inheritsLoose(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function r(t){return"string"==typeof t}function s(t){return"function"==typeof t}function t(t){return"number"==typeof t}function u(t){return void 0===t}function v(t){return"object"==typeof t}function w(t){return!1!==t}function x(){return"undefined"!=typeof window}function y(t){return s(t)||r(t)}function P(t){return(i=yt(t,ot))&&Ce}function Q(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")}function R(t,e){return!e&&console.warn(t)}function S(t,e){return t&&(ot[t]=e)&&i&&(i[t]=e)||ot}function T(){return 0}function ea(t){var e,r,i=t[0];if(v(i)||s(i)||(t=[t]),!(e=(i._gsap||{}).harness)){for(r=gt.length;r--&&!gt[r].targetTest(i););e=gt[r]}for(r=t.length;r--;)t[r]&&(t[r]._gsap||(t[r]._gsap=new jt(t[r],e)))||t.splice(r,1);return t}function fa(t){return t._gsap||ea(Ot(t))[0]._gsap}function ga(t,e,r){return(r=t[e])&&s(r)?t[e]():u(r)&&t.getAttribute&&t.getAttribute(e)||r}function ha(t,e){return(t=t.split(",")).forEach(e)||t}function ia(t){return Math.round(1e5*t)/1e5||0}function ja(t){return Math.round(1e7*t)/1e7||0}function ka(t,e){var r=e.charAt(0),i=parseFloat(e.substr(2));return t=parseFloat(t),"+"===r?t+i:"-"===r?t-i:"*"===r?t*i:t/i}function la(t,e){for(var r=e.length,i=0;t.indexOf(e[i])<0&&++i<r;);return i<r}function ma(){var t,e,r=ct.length,i=ct.slice(0);for(dt={},t=ct.length=0;t<r;t++)(e=i[t])&&e._lazy&&(e.render(e._lazy[0],e._lazy[1],!0)._lazy=0)}function na(t,e,r,i){ct.length&&ma(),t.render(e,r,i||B&&e<0&&(t._initted||t._startAt)),ct.length&&ma()}function oa(t){var e=parseFloat(t);return(e||0===e)&&(t+"").match(at).length<2?e:r(t)?t.trim():t}function pa(t){return t}function qa(t,e){for(var r in e)r in t||(t[r]=e[r]);return t}function ta(t,e){for(var r in e)"__proto__"!==r&&"constructor"!==r&&"prototype"!==r&&(t[r]=v(e[r])?ta(t[r]||(t[r]={}),e[r]):e[r]);return t}function ua(t,e){var r,i={};for(r in t)r in e||(i[r]=t[r]);return i}function va(t){var e=t.parent||L,r=t.keyframes?function _setKeyframeDefaults(i){return function(t,e){for(var r in e)r in t||"duration"===r&&i||"ease"===r||(t[r]=e[r])}}($(t.keyframes)):qa;if(w(t.inherit))for(;e;)r(t,e.vars.defaults),e=e.parent||e._dp;return t}function xa(t,e,r,i,n){void 0===r&&(r="_first"),void 0===i&&(i="_last");var a,s=t[i];if(n)for(a=e[n];s&&s[n]>a;)s=s._prev;return s?(e._next=s._next,s._next=e):(e._next=t[r],t[r]=e),e._next?e._next._prev=e:t[i]=e,e._prev=s,e.parent=e._dp=t,e}function ya(t,e,r,i){void 0===r&&(r="_first"),void 0===i&&(i="_last");var n=e._prev,a=e._next;n?n._next=a:t[r]===e&&(t[r]=a),a?a._prev=n:t[i]===e&&(t[i]=n),e._next=e._prev=e.parent=null}function za(t,e){!t.parent||e&&!t.parent.autoRemoveChildren||t.parent.remove(t),t._act=0}function Aa(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var r=t;r;)r._dirty=1,r=r.parent;return t}function Ca(t,e,r,i){return t._startAt&&(B?t._startAt.revert(ht):t.vars.immediateRender&&!t.vars.autoRevert||t._startAt.render(e,!0,i))}function Ea(t){return t._repeat?Tt(t._tTime,t=t.duration()+t._rDelay)*t:0}function Ga(t,e){return(t-e._start)*e._ts+(0<=e._ts?0:e._dirty?e.totalDuration():e._tDur)}function Ha(t){return t._end=ja(t._start+(t._tDur/Math.abs(t._ts||t._rts||V)||0))}function Ia(t,e){var r=t._dp;return r&&r.smoothChildTiming&&t._ts&&(t._start=ja(r._time-(0<t._ts?e/t._ts:((t._dirty?t.totalDuration():t._tDur)-e)/-t._ts)),Ha(t),r._dirty||Aa(r,t)),t}function Ja(t,e){var r;if((e._time||e._initted&&!e._dur)&&(r=Ga(t.rawTime(),e),(!e._dur||kt(0,e.totalDuration(),r)-e._tTime>V)&&e.render(r,!0)),Aa(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur<t.duration())for(r=t;r._dp;)0<=r.rawTime()&&r.totalTime(r._tTime),r=r._dp;t._zTime=-V}}function Ka(e,r,i,n){return r.parent&&za(r),r._start=ja((t(i)?i:i||e!==L?xt(e,i,r):e._time)+r._delay),r._end=ja(r._start+(r.totalDuration()/Math.abs(r.timeScale())||0)),xa(e,r,"_first","_last",e._sort?"_start":0),bt(r)||(e._recent=r),n||Ja(e,r),e._ts<0&&Ia(e,e._tTime),e}function La(t,e){return(ot.ScrollTrigger||Q("scrollTrigger",e))&&ot.ScrollTrigger.create(e,t)}function Ma(t,e,r,i,n){return Ht(t,e,n),t._initted?!r&&t._pt&&!B&&(t._dur&&!1!==t.vars.lazy||!t._dur&&t.vars.lazy)&&f!==Et.frame?(ct.push(t),t._lazy=[n,i],1):void 0:1}function Ra(t,e,r,i){var n=t._repeat,a=ja(e)||0,s=t._tTime/t._tDur;return s&&!i&&(t._time*=a/t._dur),t._dur=a,t._tDur=n?n<0?1e10:ja(a*(n+1)+t._rDelay*n):a,0<s&&!i&&Ia(t,t._tTime=t._tDur*s),t.parent&&Ha(t),r||Aa(t.parent,t),t}function Sa(t){return t instanceof Ut?Aa(t):Ra(t,t._dur)}
vendor: 11,390 bytes, line 2
2function Va(e,r,i){var n,a,s=t(r[1]),o=(s?2:1)+(e<2?0:1),u=r[o];if(s&&(u.duration=r[1]),u.parent=i,e){for(n=u,a=i;a&&!("immediateRender"in n);)n=a.vars.defaults||{},a=w(a.vars.inherit)&&a.parent;u.immediateRender=w(n.immediateRender),e<2?u.runBackwards=1:u.startAt=r[o-1]}return new Gt(r[0],u,r[1+o])}function Wa(t,e){return t||0===t?e(t):e}function Ya(t,e){return r(t)&&(e=st.exec(t))?e[1]:""}function _a(t,e){return t&&v(t)&&"length"in t&&(!e&&!t.length||t.length-1 in t&&v(t[0]))&&!t.nodeType&&t!==h}function cb(r){return r=Ot(r)[0]||R("Invalid scope")||{},function(t){var e=r.current||r.nativeElement||r;return Ot(t,e.querySelectorAll?e:e===r?R("Invalid scope")||a.createElement("div"):r)}}function db(t){return t.sort(function(){return.5-Math.random()})}function eb(t){if(s(t))return t;var p=v(t)?t:{each:t},_=Yt(p.ease),m=p.from||0,g=parseFloat(p.base)||0,y={},e=0<m&&m<1,T=isNaN(m)||e,b=p.axis,w=m,x=m;return r(m)?w=x={center:.5,edges:.5,end:1}[m]||0:!e&&T&&(w=m[0],x=m[1]),function(t,e,r){var i,n,a,s,o,u,h,l,f,c=(r||p).length,d=y[c];if(!d){if(!(f="auto"===p.grid?0:(p.grid||[1,U])[1])){for(h=-U;h<(h=r[f++].getBoundingClientRect().left)&&f<c;);f--}for(d=y[c]=[],i=T?Math.min(f,c)*w-.5:m%f,n=f===U?0:T?c*x/f-.5:m/f|0,l=U,u=h=0;u<c;u++)a=u%f-i,s=n-(u/f|0),d[u]=o=b?Math.abs("y"===b?s:a):K(a*a+s*s),h<o&&(h=o),o<l&&(l=o);"random"===m&&db(d),d.max=h-l,d.min=l,d.v=c=(parseFloat(p.amount)||parseFloat(p.each)*(c<f?c-1:b?"y"===b?c/f:f:Math.max(f,c/f))||0)*("edges"===m?-1:1),d.b=c<0?g-c:g,d.u=Ya(p.amount||p.each)||0,_=_&&c<0?Lt(_):_}return c=(d[t]-d.min)/d.max||0,ja(d.b+(_?_(c):c)*d.v)+d.u}}function fb(i){var n=Math.pow(10,((i+"").split(".")[1]||"").length);return function(e){var r=ja(Math.round(parseFloat(e)/i)*i*n);return(r-r%1)/n+(t(e)?0:Ya(e))}}function gb(h,e){var l,f,r=$(h);return!r&&v(h)&&(l=r=h.radius||U,h.values?(h=Ot(h.values),(f=!t(h[0]))&&(l*=l)):h=fb(h.increment)),Wa(e,r?s(h)?function(t){return f=h(t),Math.abs(f-t)<=l?f:t}:function(e){for(var r,i,n=parseFloat(f?e.x:e),a=parseFloat(f?e.y:0),s=U,o=0,u=h.length;u--;)(r=f?(r=h[u].x-n)*r+(i=h[u].y-a)*i:Math.abs(h[u]-n))<s&&(s=r,o=u);return o=!l||s<=l?h[o]:e,f||o===e||t(e)?o:o+Ya(e)}:fb(h))}function hb(t,e,r,i){return Wa($(t)?!e:!0===r?!!(r=0):!i,function(){return $(t)?t[~~(Math.random()*t.length)]:(r=r||1e-5)&&(i=r<1?Math.pow(10,(r+"").length-2):1)&&Math.floor(Math.round((t-r/2+Math.random()*(e-t+.99*r))/r)*r*i)/i})}function lb(e,r,t){return Wa(t,function(t){return e[~~r(t)]})}function ob(t){for(var e,r,i,n,a=0,s="";~(e=t.indexOf("random(",a));)i=t.indexOf(")",e),n="["===t.charAt(e+7),r=t.substr(e+7,i-e-7).match(n?at:tt),s+=t.substr(a,e-a)+hb(n?r:+r[0],n?0:+r[1],+r[2]||1e-5),a=i+1;return s+t.substr(a,t.length-a)}function rb(t,e,r){var i,n,a,s=t.labels,o=U;for(i in s)(n=s[i]-e)<0==!!r&&n&&o>(n=Math.abs(n))&&(a=i,o=n);return a}function tb(t){return za(t),t.scrollTrigger&&t.scrollTrigger.kill(!!B),t.progress()<1&&Ct(t,"onInterrupt"),t}function yb(t,e,r){return(6*(t+=t<0?1:1<t?-1:0)<1?e+(r-e)*t*6:t<.5?r:3*t<2?e+(r-e)*(2/3-t)*6:e)*At+.5|0}function zb(e,r,i){var n,a,s,o,u,h,l,f,c,d,p=e?t(e)?[e>>16,e>>8&At,e&At]:0:St.black;if(!p){if(","===e.substr(-1)&&(e=e.substr(0,e.length-1)),St[e])p=St[e];else if("#"===e.charAt(0)){if(e.length<6&&(e="#"+(n=e.charAt(1))+n+(a=e.charAt(2))+a+(s=e.charAt(3))+s+(5===e.length?e.charAt(4)+e.charAt(4):"")),9===e.length)return[(p=parseInt(e.substr(1,6),16))>>16,p>>8&At,p&At,parseInt(e.substr(7),16)/255];p=[(e=parseInt(e.substr(1),16))>>16,e>>8&At,e&At]}else if("hsl"===e.substr(0,3))if(p=d=e.match(tt),r){if(~e.indexOf("="))return p=e.match(et),i&&p.length<4&&(p[3]=1),p}else o=+p[0]%360/360,u=p[1]/100,n=2*(h=p[2]/100)-(a=h<=.5?h*(u+1):h+u-h*u),3<p.length&&(p[3]*=1),p[0]=yb(o+1/3,n,a),p[1]=yb(o,n,a),p[2]=yb(o-1/3,n,a);else p=e.match(tt)||St.transparent;p=p.map(Number)}return r&&!d&&(n=p[0]/At,a=p[1]/At,s=p[2]/At,h=((l=Math.max(n,a,s))+(f=Math.min(n,a,s)))/2,l===f?o=u=0:(c=l-f,u=.5<h?c/(2-l-f):c/(l+f),o=l===n?(a-s)/c+(a<s?6:0):l===a?(s-n)/c+2:(n-a)/c+4,o*=60),p[0]=~~(o+.5),p[1]=~~(100*u+.5),p[2]=~~(100*h+.5)),i&&p.length<4&&(p[3]=1),p}function Ab(t){var r=[],i=[],n=-1;return t.split(Rt).forEach(function(t){var e=t.match(rt)||[];r.push.apply(r,e),i.push(n+=e.length+1)}),r.c=i,r}function Bb(t,e,r){var i,n,a,s,o="",u=(t+o).match(Rt),h=e?"hsla(":"rgba(",l=0;if(!u)return t;if(u=u.map(function(t){return(t=zb(t,e,1))&&h+(e?t[0]+","+t[1]+"%,"+t[2]+"%,"+t[3]:t.join(","))+")"}),r&&(a=Ab(t),(i=r.c).join(o)!==a.c.join(o)))for(s=(n=t.replace(Rt,"1").split(rt)).length-1;l<s;l++)o+=n[l]+(~i.indexOf(l)?u.shift()||h+"0,0,0,0)":(a.length?a:u.length?u:r).shift());if(!n)for(s=(n=t.split(Rt)).length-1;l<s;l++)o+=n[l]+u[l];return o+n[s]}function Eb(t){var e,r=t.join(" ");if(Rt.lastIndex=0,Rt.test(r))return e=Dt.test(r),t[1]=Bb(t[1],e),t[0]=Bb(t[0],e,Ab(t[1])),!0}function Nb(t){var e=(t+"").split("("),r=Ft[e[0]];return r&&1<e.length&&r.config?r.config.apply(null,~t.indexOf("{")?[function _parseObjectInString(t){for(var e,r,i,n={},a=t.substr(1,t.length-3).split(":"),s=a[0],o=1,u=a.length;o<u;o++)r=a[o],e=o!==u-1?r.lastIndexOf(","):r.length,i=r.substr(0,e),n[s]=isNaN(i)?i.replace(Bt,"").trim():+i,s=r.substr(e+1).trim();return n}(e[1])]:function _valueInParentheses(t){var e=t.indexOf("(")+1,r=t.indexOf(")"),i=t.indexOf("(",e);return t.substring(e,~i&&i<r?t.indexOf(")",r+1):r)}(t).split(",").map(oa)):Ft._CE&&It.test(t)?Ft._CE("",t):r}function Pb(t,e){for(var r,i=t._first;i;)i instanceof Ut?Pb(i,e):!i.vars.yoyoEase||i._yoyo&&i._repeat||i._yoyo===e||(i.timeline?Pb(i.timeline,e):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=e)),i=i._next}function Rb(t,e,r,i){void 0===r&&(r=function easeOut(t){return 1-e(1-t)}),void 0===i&&(i=function easeInOut(t){return t<.5?e(2*t)/2:1-e(2*(1-t))/2});var n,a={easeIn:e,easeOut:r,easeInOut:i};return ha(t,function(t){for(var e in Ft[t]=ot[t]=a,Ft[n=t.toLowerCase()]=r,a)Ft[n+("easeIn"===e?".in":"easeOut"===e?".out":".inOut")]=Ft[t+"."+e]=a[e]}),a}function Sb(e){return function(t){return t<.5?(1-e(1-2*t))/2:.5+e(2*(t-.5))/2}}function Tb(r,t,e){function Hm(t){return 1===t?1:i*Math.pow(2,-10*t)*G((t-a)*n)+1}var i=1<=t?t:1,n=(e||(r?.3:.45))/(t<1?t:1),a=n/W*(Math.asin(1/i)||0),s="out"===r?Hm:"in"===r?function(t){return 1-Hm(1-t)}:Sb(Hm);return n=W/n,s.config=function(t,e){return Tb(r,t,e)},s}function Ub(e,r){function Pm(t){return t?--t*t*((r+1)*t+r)+1:0}void 0===r&&(r=1.70158);var t="out"===e?Pm:"in"===e?function(t){return 1-Pm(1-t)}:Sb(Pm);return t.config=function(t){return Ub(e,t)},t}var I,B,l,L,h,n,a,i,o,f,c,d,p,_,m,g,b,k,M,O,C,A,D,E,z,F,Y,N,j={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},q={duration:.5,overwrite:!1,delay:0},U=1e8,V=1/U,W=2*Math.PI,X=W/4,H=0,K=Math.sqrt,Z=Math.cos,G=Math.sin,J="function"==typeof ArrayBuffer&&ArrayBuffer.isView||function(){},$=Array.isArray,tt=/(?:-?\.?\d|\.)+/gi,et=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,rt=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,it=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,nt=/[+-]=-?[.\d]+/,at=/[^,'"\[\]\s]+/gi,st=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,ot={},ut={suppressEvents:!0,isStart:!0,kill:!1},ht={suppressEvents:!0,kill:!1},lt={suppressEvents:!0},ft={},ct=[],dt={},pt={},_t={},mt=30,gt=[],vt="",yt=function _merge(t,e){for(var r in e)t[r]=e[r];return t},Tt=function _animationCycle(t,e){var r=Math.floor(t/=e);return t&&r===t?r-1:r},bt=function _isFromOrFromStart(t){var e=t.data;return"isFromStart"===e||"isStart"===e},wt={_start:0,endTime:T,totalDuration:T},xt=function _parsePosition(t,e,i){var n,a,s,o=t.labels,u=t._recent||wt,h=t.duration()>=U?u.endTime(!1):t._dur;return r(e)&&(isNaN(e)||e in o)?(a=e.charAt(0),s="%"===e.substr(-1),n=e.indexOf("="),"<"===a||">"===a?(0<=n&&(e=e.replace(/=/,"")),("<"===a?u._start:u.endTime(0<=u._repeat))+(parseFloat(e.substr(1))||0)*(s?(n<0?u:i).totalDuration()/100:1)):n<0?(e in o||(o[e]=h),o[e]):(a=parseFloat(e.charAt(n-1)+e.substr(n+1)),s&&i&&(a=a/100*($(i)?i[0]:i).totalDuration()),1<n?_parsePosition(t,e.substr(0,n-1),i)+a:h+a)):null==e?h:+e},kt=function _clamp(t,e,r){return r<t?t:e<r?e:r},Mt=[].slice,Ot=function toArray(t,e,i){return l&&!e&&l.selector?l.selector(t):!r(t)||i||!n&&zt()?$(t)?function _flatten(t,e,i){return void 0===i&&(i=[]),t.forEach(function(t){return r(t)&&!e||_a(t,1)?i.push.apply(i,Ot(t)):i.push(t)})||i}(t,i):_a(t)?Mt.call(t,0):t?[t]:[]:Mt.call((e||a).querySelectorAll(t),0)},Pt=function mapRange(e,t,r,i,n){var a=t-e,s=i-r;return Wa(n,function(t){return r+((t-e)/a*s||0)})},Ct=function _callback(t,e,r){var i,n,a,s=t.vars,o=s[e],u=l,h=t._ctx;if(o)return i=s[e+"Params"],n=s.callbackScope||t,r&&ct.length&&ma(),h&&(l=h),a=i?o.apply(n,i):o.call(n),l=u,a},At=255,St={aqua:[0,At,At],lime:[0,At,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,At],navy:[0,0,128],white:[At,At,At],olive:[128,128,0],yellow:[At,At,0],orange:[At,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[At,0,0],pink:[At,192,203],cyan:[0,At,At],transparent:[At,At,At,0]},Rt=function(){var t,e="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b";for(t in St)e+="|"+t+"\\b";return new RegExp(e+")","gi")}(),Dt=/hsl[a]?\(/,Et=(M=Date.now,O=500,C=33,A=M(),D=A,z=E=1e3/240,g={time:0,frame:0,tick:function tick(){wl(!0)},deltaRatio:function deltaRatio(t){return b/(1e3/(t||60))},wake:function wake(){o&&(!n&&x()&&(h=n=window,a=h.document||{},ot.gsap=Ce,(h.gsapVersions||(h.gsapVersions=[])).push(Ce.version),P(i||h.GreenSockGlobals||!h.gsap&&h||{}),m=h.requestAnimationFrame),p&&g.sleep(),_=m||function(t){return setTimeout(t,z-1e3*g.time+1|0)},d=1,wl(2))},sleep:function sleep(){(m?h.cancelAnimationFrame:clearTimeout)(p),d=0,_=T},lagSmoothing:function lagSmoothing(t,e){O=t||1e8,C=Math.min(e,O,0)},fps:function fps(t){E=1e3/(t||240),z=1e3*g.time+E},add:function add(n,t,e){var a=t?function(t,e,r,i){n(t,e,r,i),g.remove(a)}:n;return g.remove(n),F[e?"unshift":"push"](a),zt(),a},remove:function remove(t,e){~(e=F.indexOf(t))&&F.splice(e,1)&&e<=k&&k--},_listeners:F=[]}),zt=function _wake(){return!d&&Et.wake()},Ft={},It=/^[\d.\-M][\d.\-,\s]/,Bt=/["']/g,Lt=function _invertEase(e){return function(t){return 1-e(1-t)}},Yt=function _parseEase(t,e){return t&&(s(t)?t:Ft[t]||Nb(t))||e};function wl(t){var e,r,i,n,a=M()-D,s=!0===t;if(O<a&&(A+=a-C),(0<(e=(i=(D+=a)-A)-z)||s)&&(n=++g.frame,b=i-1e3*g.time,g.time=i/=1e3,z+=e+(E<=e?4:E-e),r=1),s||(p=_(wl)),r)for(k=0;k<F.length;k++)F[k](i,b,n,t)}function en(t){return t<N?Y*t*t:t<.7272727272727273?Y*Math.pow(t-1.5/2.75,2)+.75:t<.9090909090909092?Y*(t-=2.25/2.75)*t+.9375:Y*Math.pow(t-2.625/2.75,2)+.984375}ha("Linear,Quad,Cubic,Quart,Quint,Strong",function(t,e){var r=e<5?e+1:e;Rb(t+",Power"+(r-1),e?function(t){return Math.pow(t,r)}:function(t){return t},function(t){return 1-Math.pow(1-t,r)},function(t){return t<.5?Math.pow(2*t,r)/2:1-Math.pow(2*(1-t),r)/2})}),Ft.Linear.easeNone=Ft.none=Ft.Linear.easeIn,Rb("Elastic",Tb("in"),Tb("out"),Tb()),Y=7.5625,N=1/2.75,Rb("Bounce",function(t){return 1-en(1-t)},en),Rb("Expo",function(t){return t?Math.pow(2,10*(t-1)):0}),Rb("Circ",function(t){return-(K(1-t*t)-1)}),Rb("Sine",function(t){return 1===t?1:1-Z(t*X)}),Rb("Back",Ub("in"),Ub("out"),Ub()),Ft.SteppedEase=Ft.steps=ot.SteppedEase={config:function config(t,e){void 0===t&&(t=1);var r=1/t,i=t+(e?0:1),n=e?1:0;return function(t){return((i*kt(0,.99999999,t)|0)+n)*r}}},q.ease=Ft["quad.out"],ha("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(t){return vt+=t+","+t+"Param
2s,"});var Nt,jt=function GSCache(t,e){this.id=H++,(t._gsap=this).target=t,this.harness=e,this.get=e?e.get:ga,this.set=e?e.getSetter:re},qt=((Nt=Animation.prototype).delay=function delay(t){return t||0===t?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+t-this._delay),this._delay=t,this):this._delay},Nt.duration=function duration(t){return arguments.length?this.totalDuration(0<this._repeat?t+(t+this._rDelay)*this._repeat:t):this.totalDuration()&&this._dur},Nt.totalDuration=function totalDuration(t){return arguments.length?(this._dirty=0,Ra(this,this._repeat<0?t:(t-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},Nt.totalTime=function totalTime(t,e){if(zt(),!arguments.length)return this._tTime;var r=this._dp;if(r&&r.smoothChildTiming&&this._ts){for(Ia(this,t),!r._dp||r.parent||Ja(r,this);r&&r.parent;)r.parent._time!==r._start+(0<=r._ts?r._tTime/r._ts:(r.totalDuration()-r._tTime)/-r._ts)&&r.totalTime(r._tTime,!0),r=r.parent;!this.parent&&this._dp.autoRemoveChildren&&(0<this._ts&&t<this._tDur||this._ts<0&&0<t||!this._tDur&&!t)&&Ka(this._dp,this,this._start-this._delay)}return(this._tTime!==t||!this._dur&&!e||this._initted&&Math.abs(this._zTime)===V||!t&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=t),na(this,t,e)),this},Nt.time=function time(t,e){return arguments.length?this.totalTime(Math.min(this.totalDuration(),t+Ea(this))%(this._dur+this._rDelay)||(t?this._dur:0),e):this._time},Nt.totalProgress=function totalProgress(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.ratio},Nt.progress=function progress(t,e){return arguments.length?this.totalTime(this.duration()*(!this._yoyo||1&this.iteration()?t:1-t)+Ea(this),e):this.duration()?Math.min(1,this._time/this._dur):this.ratio},Nt.iteration=function iteration(t,e){var r=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(t-1)*r,e):this._repeat?Tt(this._tTime,r)+1:1},Nt.timeScale=function timeScale(t){if(!arguments.length)return this._rts===-V?0:this._rts;if(this._rts===t)return this;var e=this.parent&&this._ts?Ga(this.parent._time,this):this._tTime;return this._rts=+t||0,this._ts=this._ps||t===-V?0:this._rts,this.totalTime(kt(-this._delay,this._tDur,e),!0),Ha(this),function _recacheAncestors(t){for(var e=t.parent;e&&e.parent;)e._dirty=1,e.totalDuration(),e=e.parent;return t}(this)},Nt.paused=function paused(t){return arguments.length?(this._ps!==t&&((this._ps=t)?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(zt(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,1===this.progress()&&Math.abs(this._zTime)!==V&&(this._tTime-=V)))),this):this._ps},Nt.startTime=function startTime(t){if(arguments.length){this._start=t;var e=this.parent||this._dp;return!e||!e._sort&&this.parent||Ka(e,this,t-this._delay),this}return this._start},Nt.endTime=function endTime(t){return this._start+(w(t)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},Nt.rawTime=function rawTime(t){var e=this.parent||this._dp;return e?t&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ga(e.rawTime(t),this):this._tTime:this._tTime},Nt.revert=function revert(t){void 0===t&&(t=lt);var e=B;return B=t,(this._initted||this._startAt)&&(this.timeline&&this.timeline.revert(t),this.totalTime(-.01,t.suppressEvents)),"nested"!==this.data&&!1!==t.kill&&this.kill(),B=e,this},Nt.globalTime=function globalTime(t){for(var e=this,r=arguments.length?t:e.rawTime();e;)r=e._start+r/(e._ts||1),e=e._dp;return!this.parent&&this.vars.immediateRender?-1:r},Nt.repeat=function repeat(t){return arguments.length?(this._repeat=t===1/0?-2:t,Sa(this)):-2===this._repeat?1/0:this._repeat},Nt.repeatDelay=function repeatDelay(t){if(arguments.length){var e=this._time;return this._rDelay=t,Sa(this),e?this.time(e):this}return this._rDelay},Nt.yoyo=function yoyo(t){return arguments.length?(this._yoyo=t,this):this._yoyo}
vendor: 8,948 bytes, line 2
2,Nt.seek=function seek(t,e){return this.totalTime(xt(this,t),w(e))},Nt.restart=function restart(t,e){return this.play().totalTime(t?-this._delay:0,w(e))},Nt.play=function play(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},Nt.reverse=function reverse(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},Nt.pause=function pause(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},Nt.resume=function resume(){return this.paused(!1)},Nt.reversed=function reversed(t){return arguments.length?(!!t!==this.reversed()&&this.timeScale(-this._rts||(t?-V:0)),this):this._rts<0},Nt.invalidate=function invalidate(){return this._initted=this._act=0,this._zTime=-V,this},Nt.isActive=function isActive(){var t,e=this.parent||this._dp,r=this._start;return!(e&&!(this._ts&&this._initted&&e.isActive()&&(t=e.rawTime(!0))>=r&&t<this.endTime(!0)-V))},Nt.eventCallback=function eventCallback(t,e,r){var i=this.vars;return 1<arguments.length?(e?(i[t]=e,r&&(i[t+"Params"]=r),"onUpdate"===t&&(this._onUpdate=e)):delete i[t],this):i[t]},Nt.then=function then(t){var i=this;return new Promise(function(e){function zo(){var t=i.then;i.then=null,s(r)&&(r=r(i))&&(r.then||r===i)&&(i.then=t),e(r),i.then=t}var r=s(t)?t:pa;i._initted&&1===i.totalProgress()&&0<=i._ts||!i._tTime&&i._ts<0?zo():i._prom=zo})},Nt.kill=function kill(){tb(this)},Animation);function Animation(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,Ra(this,+t.duration,1,1),this.data=t.data,l&&(this._ctx=l).data.push(this),d||Et.wake()}qa(qt.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-V,_prom:0,_ps:!1,_rts:1});var Ut=function(i){function Timeline(t,e){var r;return void 0===t&&(t={}),(r=i.call(this,t)||this).labels={},r.smoothChildTiming=!!t.smoothChildTiming,r.autoRemoveChildren=!!t.autoRemoveChildren,r._sort=w(t.sortChildren),L&&Ka(t.parent||L,_assertThisInitialized(r),e),t.reversed&&r.reverse(),t.paused&&r.paused(!0),t.scrollTrigger&&La(_assertThisInitialized(r),t.scrollTrigger),r}_inheritsLoose(Timeline,i);var e=Timeline.prototype;return e.to=function to(t,e,r){return Va(0,arguments,this),this},e.from=function from(t,e,r){return Va(1,arguments,this),this},e.fromTo=function fromTo(t,e,r,i){return Va(2,arguments,this),this},e.set=function set(t,e,r){return e.duration=0,e.parent=this,va(e).repeatDelay||(e.repeat=0),e.immediateRender=!!e.immediateRender,new Gt(t,e,xt(this,r),1),this},e.call=function call(t,e,r){return Ka(this,Gt.delayedCall(0,t,e),r)},e.staggerTo=function staggerTo(t,e,r,i,n,a,s){return r.duration=e,r.stagger=r.stagger||i,r.onComplete=a,r.onCompleteParams=s,r.parent=this,new Gt(t,r,xt(this,n)),this},e.staggerFrom=function staggerFrom(t,e,r,i,n,a,s){return r.runBackwards=1,va(r).immediateRender=w(r.immediateRender),this.staggerTo(t,e,r,i,n,a,s)},e.staggerFromTo=function staggerFromTo(t,e,r,i,n,a,s,o){return i.startAt=r,va(i).immediateRender=w(i.immediateRender),this.staggerTo(t,e,i,n,a,s,o)},e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_=this._time,m=this._dirty?this.totalDuration():this._tDur,g=this._dur,v=t<=0?0:ja(t),y=this._zTime<0!=t<0&&(this._initted||!g);if(this!==L&&m<v&&0<=t&&(v=m),v!==this._tTime||r||y){if(_!==this._time&&g&&(v+=this._time-_,t+=this._time-_),i=v,f=this._start,u=!(l=this._ts),y&&(g||(_=this._zTime),!t&&e||(this._zTime=t)),this._repeat){if(d=this._yoyo,o=g+this._rDelay,this._repeat<-1&&t<0)return this.totalTime(100*o+t,e,r);if(i=ja(v%o),v===m?(s=this._repeat,i=g):((s=~~(v/o))&&s===v/o&&(i=g,s--),g<i&&(i=g)),c=Tt(this._tTime,o),!_&&this._tTime&&c!==s&&(c=s),d&&1&s&&(i=g-i,p=1),s!==c&&!this._lock){var T=d&&1&c,b=T===(d&&1&s);if(s<c&&(T=!T),_=T?0:g,this._lock=1,this.render(_||(p?0:ja(s*o)),e,!g)._lock=0,this._tTime=v,!e&&this.parent&&Ct(this,"onRepeat"),this.vars.repeatRefresh&&!p&&(this.invalidate()._lock=1),_&&_!==this._time||u!=!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(g=this._dur,m=this._tDur,b&&(this._lock=2,_=T?g:-1e-4,this.render(_,!0),this.vars.repeatRefresh&&!p&&this.invalidate()),this._lock=0,!this._ts&&!u)return this;Pb(this,p)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(h=function _findNextPauseTween(t,e,r){var i;if(e<r)for(i=t._first;i&&i._start<=r;){if("isPause"===i.data&&i._start>e)return i;i=i._next}else for(i=t._last;i&&i._start>=r;){if("isPause"===i.data&&i._start<e)return i;i=i._prev}}(this,ja(_),ja(i)))&&(v-=i-(i=h._start)),this._tTime=v,this._time=i,this._act=!l,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=t,_=0),!_&&i&&!e&&(Ct(this,"onStart"),this._tTime!==v))return this;if(_<=i&&0<=t)for(n=this._first;n;){if(a=n._next,(n._act||i>=n._start)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(i-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(i-n._start)*n._ts,e,r),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=-V);break}}n=a}else{n=this._last;for(var w=t<0?t:i;n;){if(a=n._prev,(n._act||w<=n._end)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(w-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(w-n._start)*n._ts,e,r||B&&(n._initted||n._startAt)),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=w?-V:V);break}}n=a}}if(h&&!e&&(this.pause(),h.render(_<=i?0:-V)._zTime=_<=i?1:-1,this._ts))return this._start=f,Ha(this),this.render(t,e,r);this._onUpdate&&!e&&Ct(this,"onUpdate",!0),(v===m&&this._tTime>=this.totalDuration()||!v&&_)&&(f!==this._start&&Math.abs(l)===Math.abs(this._ts)||this._lock||(!t&&g||!(v===m&&0<this._ts||!v&&this._ts<0)||za(this,1),e||t<0&&!_||!v&&!_&&m||(Ct(this,v===m&&0<=t?"onComplete":"onReverseComplete",!0),!this._prom||v<m&&0<this.timeScale()||this._prom())))}return this},e.add=function add(e,i){var n=this;if(t(i)||(i=xt(this,i,e)),!(e instanceof qt)){if($(e))return e.forEach(function(t){return n.add(t,i)}),this;if(r(e))return this.addLabel(e,i);if(!s(e))return this;e=Gt.delayedCall(0,e)}return this!==e?Ka(this,e,i):this},e.getChildren=function getChildren(t,e,r,i){void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===r&&(r=!0),void 0===i&&(i=-U);for(var n=[],a=this._first;a;)a._start>=i&&(a instanceof Gt?e&&n.push(a):(r&&n.push(a),t&&n.push.apply(n,a.getChildren(!0,e,r)))),a=a._next;return n},e.getById=function getById(t){for(var e=this.getChildren(1,1,1),r=e.length;r--;)if(e[r].vars.id===t)return e[r]},e.remove=function remove(t){return r(t)?this.removeLabel(t):s(t)?this.killTweensOf(t):(ya(this,t),t===this._recent&&(this._recent=this._last),Aa(this))},e.totalTime=function totalTime(t,e){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=ja(Et.time-(0<this._ts?t/this._ts:(this.totalDuration()-t)/-this._ts))),i.prototype.totalTime.call(this,t,e),this._forcing=0,this):this._tTime},e.addLabel=function addLabel(t,e){return this.labels[t]=xt(this,e),this},e.removeLabel=function removeLabel(t){return delete this.labels[t],this},e.addPause=function addPause(t,e,r){var i=Gt.delayedCall(0,e||T,r);return i.data="isPause",this._hasPause=1,Ka(this,i,xt(this,t))},e.removePause=function removePause(t){var e=this._first;for(t=xt(this,t);e;)e._start===t&&"isPause"===e.data&&za(e),e=e._next},e.killTweensOf=function killTweensOf(t,e,r){for(var i=this.getTweensOf(t,r),n=i.length;n--;)Vt!==i[n]&&i[n].kill(t,e);return this},e.getTweensOf=function getTweensOf(e,r){for(var i,n=[],a=Ot(e),s=this._first,o=t(r);s;)s instanceof Gt?la(s._targets,a)&&(o?(!Vt||s._initted&&s._ts)&&s.globalTime(0)<=r&&s.globalTime(s.totalDuration())>r:!r||s.isActive())&&n.push(s):(i=s.getTweensOf(a,r)).length&&n.push.apply(n,i),s=s._next;return n},e.tweenTo=function tweenTo(t,e){e=e||{};var r,i=this,n=xt(i,t),a=e.startAt,s=e.onStart,o=e.onStartParams,u=e.immediateRender,h=Gt.to(i,qa({ease:e.ease||"none",lazy:!1,immediateRender:!1,time:n,overwrite:"auto",duration:e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale())||V,onStart:function onStart(){if(i.pause(),!r){var t=e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale());h._dur!==t&&Ra(h,t,0,1).render(h._time,!0,!0),r=1}s&&s.apply(h,o||[])}},e));return u?h.render(0):h},e.tweenFromTo=function tweenFromTo(t,e,r){return this.tweenTo(e,qa({startAt:{time:xt(this,t)}},r))},e.recent=function recent(){return this._recent},e.nextLabel=function nextLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t))},e.previousLabel=function previousLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t),1)},e.currentLabel=function currentLabel(t){return arguments.length?this.seek(t,!0):this.previousLabel(this._time+V)},e.shiftChildren=function shiftChildren(t,e,r){void 0===r&&(r=0);for(var i,n=this._first,a=this.labels;n;)n._start>=r&&(n._start+=t,n._end+=t),n=n._next;if(e)for(i in a)a[i]>=r&&(a[i]+=t);return Aa(this)}
vendor: 21,870 bytes, line 2
2,e.invalidate=function invalidate(t){var e=this._first;for(this._lock=0;e;)e.invalidate(t),e=e._next;return i.prototype.invalidate.call(this,t)},e.clear=function clear(t){void 0===t&&(t=!0);for(var e,r=this._first;r;)e=r._next,this.remove(r),r=e;return this._dp&&(this._time=this._tTime=this._pTime=0),t&&(this.labels={}),Aa(this)},e.totalDuration=function totalDuration(t){var e,r,i,n=0,a=this,s=a._last,o=U;if(arguments.length)return a.timeScale((a._repeat<0?a.duration():a.totalDuration())/(a.reversed()?-t:t));if(a._dirty){for(i=a.parent;s;)e=s._prev,s._dirty&&s.totalDuration(),o<(r=s._start)&&a._sort&&s._ts&&!a._lock?(a._lock=1,Ka(a,s,r-s._delay,1)._lock=0):o=r,r<0&&s._ts&&(n-=r,(!i&&!a._dp||i&&i.smoothChildTiming)&&(a._start+=r/a._ts,a._time-=r,a._tTime-=r),a.shiftChildren(-r,!1,-Infinity),o=0),s._end>n&&s._ts&&(n=s._end),s=e;Ra(a,a===L&&a._time>n?a._time:n,1,1),a._dirty=0}return a._tDur},Timeline.updateRoot=function updateRoot(t){if(L._ts&&(na(L,Ga(t,L)),f=Et.frame),Et.frame>=mt){mt+=j.autoSleep||120;var e=L._first;if((!e||!e._ts)&&j.autoSleep&&Et._listeners.length<2){for(;e&&!e._ts;)e=e._next;e||Et.sleep()}}},Timeline}(qt);qa(Ut.prototype,{_lock:0,_hasPause:0,_forcing:0});function _b(t,e,i,n,a,o){var u,h,l,f;if(pt[t]&&!1!==(u=new pt[t]).init(a,u.rawVars?e[t]:function _processVars(t,e,i,n,a){if(s(t)&&(t=Qt(t,a,e,i,n)),!v(t)||t.style&&t.nodeType||$(t)||J(t))return r(t)?Qt(t,a,e,i,n):t;var o,u={};for(o in t)u[o]=Qt(t[o],a,e,i,n);return u}(e[t],n,a,o,i),i,n,o)&&(i._pt=h=new pe(i._pt,a,t,0,1,u.render,u,0,u.priority),i!==c))for(l=i._ptLookup[i._targets.indexOf(a)],f=u._props.length;f--;)l[u._props[f]]=h;return u}function fc(t,r,e,i){var n,a,s=r.ease||i||"power1.inOut";if($(r))a=e[t]||(e[t]=[]),r.forEach(function(t,e){return a.push({t:e/(r.length-1)*100,v:t,e:s})});else for(n in r)a=e[n]||(e[n]=[]),"ease"===n||a.push({t:parseFloat(t),v:r[n],e:s})}var Vt,Wt,Xt=function _addPropTween(t,e,i,n,a,o,u,h,l,f){s(n)&&(n=n(a||0,t,o));var c,d=t[e],p="get"!==i?i:s(d)?l?t[e.indexOf("set")||!s(t["get"+e.substr(3)])?e:"get"+e.substr(3)](l):t[e]():d,_=s(d)?l?ee:$t:Jt;if(r(n)&&(~n.indexOf("random(")&&(n=ob(n)),"="===n.charAt(1)&&(!(c=ka(p,n)+(Ya(p)||0))&&0!==c||(n=c))),!f||p!==n||Wt)return isNaN(p*n)||""===n?(d||e in t||Q(e,n),function _addComplexStringPropTween(t,e,r,i,n,a,s){var o,u,h,l,f,c,d,p,_=new pe(this._pt,t,e,0,1,se,null,n),m=0,g=0;for(_.b=r,_.e=i,r+="",(d=~(i+="").indexOf("random("))&&(i=ob(i)),a&&(a(p=[r,i],t,e),r=p[0],i=p[1]),u=r.match(it)||[];o=it.exec(i);)l=o[0],f=i.substring(m,o.index),h?h=(h+1)%5:"rgba("===f.substr(-5)&&(h=1),l!==u[g++]&&(c=parseFloat(u[g-1])||0,_._pt={_next:_._pt,p:f||1===g?f:",",s:c,c:"="===l.charAt(1)?ka(c,l)-c:parseFloat(l)-c,m:h&&h<4?Math.round:0},m=it.lastIndex);return _.c=m<i.length?i.substring(m,i.length):"",_.fp=s,(nt.test(i)||d)&&(_.e=0),this._pt=_}.call(this,t,e,p,n,_,h||j.stringFilter,l)):(c=new pe(this._pt,t,e,+p||0,n-(p||0),"boolean"==typeof d?ae:ne,0,_),l&&(c.fp=l),u&&c.modifier(u,this,t),this._pt=c)},Ht=function _initTween(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_,m=t.vars,g=m.ease,v=m.startAt,y=m.immediateRender,T=m.lazy,b=m.onUpdate,x=m.onUpdateParams,k=m.callbackScope,M=m.runBackwards,O=m.yoyoEase,P=m.keyframes,C=m.autoRevert,A=t._dur,S=t._startAt,R=t._targets,D=t.parent,E=D&&"nested"===D.data?D.vars.targets:R,z="auto"===t._overwrite&&!I,F=t.timeline;if(!F||P&&g||(g="none"),t._ease=Yt(g,q.ease),t._yEase=O?Lt(Yt(!0===O?g:O,q.ease)):0,O&&t._yoyo&&!t._repeat&&(O=t._yEase,t._yEase=t._ease,t._ease=O),t._from=!F&&!!m.runBackwards,!F||P&&!m.stagger){if(p=(l=R[0]?fa(R[0]).harness:0)&&m[l.prop],i=ua(m,ft),S&&(S._zTime<0&&S.progress(1),e<0&&M&&y&&!C?S.render(-1,!0):S.revert(M&&A?ht:ut),S._lazy=0),v){if(za(t._startAt=Gt.set(R,qa({data:"isStart",overwrite:!1,parent:D,immediateRender:!0,lazy:w(T),startAt:null,delay:0,onUpdate:b,onUpdateParams:x,callbackScope:k,stagger:0},v))),e<(t._startAt._dp=0)&&(B||!y&&!C)&&t._startAt.revert(ht),y&&A&&e<=0&&r<=0)return void(e&&(t._zTime=e))}else if(M&&A&&!S)if(e&&(y=!1),a=qa({overwrite:!1,data:"isFromStart",lazy:y&&w(T),immediateRender:y,stagger:0,parent:D},i),p&&(a[l.prop]=p),za(t._startAt=Gt.set(R,a)),e<(t._startAt._dp=0)&&(B?t._startAt.revert(ht):t._startAt.render(-1,!0)),t._zTime=e,y){if(!e)return}else _initTween(t._startAt,V,V);for(t._pt=t._ptCache=0,T=A&&w(T)||T&&!A,n=0;n<R.length;n++){if(h=(o=R[n])._gsap||ea(R)[n]._gsap,t._ptLookup[n]=c={},dt[h.id]&&ct.length&&ma(),d=E===R?n:E.indexOf(o),l&&!1!==(f=new l).init(o,p||i,t,d,E)&&(t._pt=s=new pe(t._pt,o,f.name,0,1,f.render,f,0,f.priority),f._props.forEach(function(t){c[t]=s}),f.priority&&(u=1)),!l||p)for(a in i)pt[a]&&(f=_b(a,i,t,d,o,E))?f.priority&&(u=1):c[a]=s=Xt.call(t,o,a,"get",i[a],d,E,0,m.stringFilter);t._op&&t._op[n]&&t.kill(o,t._op[n]),z&&t._pt&&(Vt=t,L.killTweensOf(o,c,t.globalTime(e)),_=!t.parent,Vt=0),t._pt&&T&&(dt[h.id]=1)}u&&de(t),t._onInit&&t._onInit(t)}t._onUpdate=b,t._initted=(!t._op||t._pt)&&!_,P&&e<=0&&F.render(U,!0,!0)},Qt=function _parseFuncOrString(t,e,i,n,a){return s(t)?t.call(e,i,n,a):r(t)&&~t.indexOf("random(")?ob(t):t},Kt=vt+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",Zt={};ha(Kt+",id,stagger,delay,duration,paused,scrollTrigger",function(t){return Zt[t]=1});var Gt=function(z){function Tween(e,r,i,n){var a;"number"==typeof r&&(i.duration=r,r=i,i=null);var s,o,u,h,l,f,c,d,p=(a=z.call(this,n?r:va(r))||this).vars,_=p.duration,m=p.delay,g=p.immediateRender,T=p.stagger,b=p.overwrite,x=p.keyframes,k=p.defaults,M=p.scrollTrigger,O=p.yoyoEase,P=r.parent||L,C=($(e)||J(e)?t(e[0]):"length"in r)?[e]:Ot(e);if(a._targets=C.length?ea(C):R("GSAP target "+e+" not found. https://greensock.com",!j.nullTargetWarn)||[],a._ptLookup=[],a._overwrite=b,x||T||y(_)||y(m)){if(r=a.vars,(s=a.timeline=new Ut({data:"nested",defaults:k||{},targets:P&&"nested"===P.data?P.vars.targets:C})).kill(),s.parent=s._dp=_assertThisInitialized(a),s._start=0,T||y(_)||y(m)){if(h=C.length,c=T&&eb(T),v(T))for(l in T)~Kt.indexOf(l)&&((d=d||{})[l]=T[l]);for(o=0;o<h;o++)(u=ua(r,Zt)).stagger=0,O&&(u.yoyoEase=O),d&&yt(u,d),f=C[o],u.duration=+Qt(_,_assertThisInitialized(a),o,f,C),u.delay=(+Qt(m,_assertThisInitialized(a),o,f,C)||0)-a._delay,!T&&1===h&&u.delay&&(a._delay=m=u.delay,a._start+=m,u.delay=0),s.to(f,u,c?c(o,f,C):0),s._ease=Ft.none;s.duration()?_=m=0:a.timeline=0}else if(x){va(qa(s.vars.defaults,{ease:"none"})),s._ease=Yt(x.ease||r.ease||"none");var A,S,D,E=0;if($(x))x.forEach(function(t){return s.to(C,t,">")}),s.duration();else{for(l in u={},x)"ease"===l||"easeEach"===l||fc(l,x[l],u,x.easeEach);for(l in u)for(A=u[l].sort(function(t,e){return t.t-e.t}),o=E=0;o<A.length;o++)(D={ease:(S=A[o]).e,duration:(S.t-(o?A[o-1].t:0))/100*_})[l]=S.v,s.to(C,D,E),E+=D.duration;s.duration()<_&&s.to({},{duration:_-s.duration()})}}_||a.duration(_=s.duration())}else a.timeline=0;return!0!==b||I||(Vt=_assertThisInitialized(a),L.killTweensOf(C),Vt=0),Ka(P,_assertThisInitialized(a),i),r.reversed&&a.reverse(),r.paused&&a.paused(!0),(g||!_&&!x&&a._start===ja(P._time)&&w(g)&&function _hasNoPausedAncestors(t){return!t||t._ts&&_hasNoPausedAncestors(t.parent)}(_assertThisInitialized(a))&&"nested"!==P.data)&&(a._tTime=-V,a.render(Math.max(0,-m)||0)),M&&La(_assertThisInitialized(a),M),a}_inheritsLoose(Tween,z);var e=Tween.prototype;return e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c=this._time,d=this._tDur,p=this._dur,_=t<0,m=d-V<t&&!_?d:t<V?0:t;if(p){if(m!==this._tTime||!t||r||!this._initted&&this._tTime||this._startAt&&this._zTime<0!=_){if(i=m,l=this.timeline,this._repeat){if(s=p+this._rDelay,this._repeat<-1&&_)return this.totalTime(100*s+t,e,r);if(i=ja(m%s),m===d?(a=this._repeat,i=p):((a=~~(m/s))&&a===m/s&&(i=p,a--),p<i&&(i=p)),(u=this._yoyo&&1&a)&&(f=this._yEase,i=p-i),o=Tt(this._tTime,s),i===c&&!r&&this._initted)return this._tTime=m,this;a!==o&&(l&&this._yEase&&Pb(l,u),!this.vars.repeatRefresh||u||this._lock||(this._lock=r=1,this.render(ja(s*a),!0).invalidate()._lock=0))}if(!this._initted){if(Ma(this,_?t:i,r,e,m))return this._tTime=0,this;if(c!==this._time)return this;if(p!==this._dur)return this.render(t,e,r)}if(this._tTime=m,this._time=i,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=h=(f||this._ease)(i/p),this._from&&(this.ratio=h=1-h),i&&!c&&!e&&(Ct(this,"onStart"),this._tTime!==m))return this;for(n=this._pt;n;)n.r(h,n.d),n=n._next;l&&l.render(t<0?t:!i&&u?-V:l._dur*l._ease(i/this._dur),e,r)||this._startAt&&(this._zTime=t),this._onUpdate&&!e&&(_&&Ca(this,t,0,r),Ct(this,"onUpdate")),this._repeat&&a!==o&&this.vars.onRepeat&&!e&&this.parent&&Ct(this,"onRepeat"),m!==this._tDur&&m||this._tTime!==m||(_&&!this._onUpdate&&Ca(this,t,0,!0),!t&&p||!(m===this._tDur&&0<this._ts||!m&&this._ts<0)||za(this,1),e||_&&!c||!(m||c||u)||(Ct(this,m===d?"onComplete":"onReverseComplete",!0),!this._prom||m<d&&0<this.timeScale()||this._prom()))}}else!function _renderZeroDurationTween(t,e,r,i){var n,a,s,o=t.ratio,u=e<0||!e&&(!t._start&&function _parentPlayheadIsBeforeStart(t){var e=t.parent;return e&&e._ts&&e._initted&&!e._lock&&(e.rawTime()<0||_parentPlayheadIsBeforeStart(e))}(t)&&(t._initted||!bt(t))||(t._ts<0||t._dp._ts<0)&&!bt(t))?0:1,h=t._rDelay,l=0;if(h&&t._repeat&&(l=kt(0,t._tDur,e),a=Tt(l,h),t._yoyo&&1&a&&(u=1-u),a!==Tt(t._tTime,h)&&(o=1-u,t.vars.repeatRefresh&&t._initted&&t.invalidate())),u!==o||B||i||t._zTime===V||!e&&t._zTime){if(!t._initted&&Ma(t,e,i,r,l))return;for(s=t._zTime,t._zTime=e||(r?V:0),r=r||e&&!s,t.ratio=u,t._from&&(u=1-u),t._time=0,t._tTime=l,n=t._pt;n;)n.r(u,n.d),n=n._next;e<0&&Ca(t,e,0,!0),t._onUpdate&&!r&&Ct(t,"onUpdate"),l&&t._repeat&&!r&&t.parent&&Ct(t,"onRepeat"),(e>=t._tDur||e<0)&&t.ratio===u&&(u&&za(t,1),r||B||(Ct(t,u?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)}(this,t,e,r);return this},e.targets=function targets(){return this._targets},e.invalidate=function invalidate(t){return t&&this.vars.runBackwards||(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(t),z.prototype.invalidate.call(this,t)},e.resetTo=function resetTo(t,e,r,i){d||Et.wake(),this._ts||this.play();var n,a=Math.min(this._dur,(this._dp._time-this._start)*this._ts);return this._initted||Ht(this,a),n=this._ease(a/this._dur),function _updatePropTweens(t,e,r,i,n,a,s){var o,u,h,l,f=(t._pt&&t._ptCache||(t._ptCache={}))[e];if(!f)for(f=t._ptCache[e]=[],h=t._ptLookup,l=t._targets.length;l--;){if((o=h[l][e])&&o.d&&o.d._pt)for(o=o.d._pt;o&&o.p!==e&&o.fp!==e;)o=o._next;if(!o)return Wt=1,t.vars[e]="+=0",Ht(t,s),Wt=0,1;f.push(o)}for(l=f.length;l--;)(o=(u=f[l])._pt||u).s=!i&&0!==i||n?o.s+(i||0)+a*o.c:i,o.c=r-o.s,u.e&&(u.e=ia(r)+Ya(u.e)),u.b&&(u.b=o.s+Ya(u.b))}(this,t,e,r,i,n,a)?this.resetTo(t,e,r,i):(Ia(this,0),this.parent||xa(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},e.kill=function kill(t,e){if(void 0===e&&(e="all"),!(t||e&&"all"!==e))return this._lazy=this._pt=0,this.parent?tb(this):this;if(this.timeline){var i=this.timeline.totalDuration();return this.timeline.killTweensOf(t,e,Vt&&!0!==Vt.vars.overwrite)._first||tb(this),this.parent&&i!==this.timeline.totalDuration()&&Ra(this,this._dur*this.timeline._tDur/i,0,1),this}var n,a,s,o,u,h,l,f=this._targets,c=t?Ot(t):f,d=this._ptLookup,p=this._pt;if((!e||"all"===e)&&function _arraysMatch(t,e){for(var r=t.length,i=r===e.length;i&&r--&&t[r]===e[r];);return r<0}(f,c))return"all"===e&&(this._pt=0),tb(this);for(n=this._op=this._op||[],"all"!==e&&(r(e)&&(u={},ha(e,function(t){return u[t]=1}),e=u),e=function _addAliasesToVars(t,e){var r,i,n,a,s=t[0]?fa(t[0]).harness:0,o=s&&s.aliases;if(!o)return e;for(i in r=yt({},e),o)if(i in r)for(n=(a=o[i].split(",")).length;n--;)r[a[n]]=r[i];return r}(f,e)),l=f.length;l--;)if(~c.indexOf(f[l]))for(u in a=d[l],"all"===e?(n[l]=e,o=a,s={}):(s=n[l]=n[l]||{},o=e),o)(h=a&&a[u])&&("kill"in h.d&&!0!==h.d.kill(u)||ya(this,h,"_pt"),delete a[u]),"all"!==s&&(s[u]=1);return this._initted&&!this._pt&&p&&tb(this),this},Tween.to=function to(t,e,r){return new Tween(t,e,r)},Tween.from=function from(t,e){return Va(1,arguments)},Tween.delayedCall=function delayedCall(t,e,r,i){return new Tween(e,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:t,onComplete:e,onReverseComplete:e,onCompleteParams:r,onReverseCompleteParams:r,callbackScope:i})},Tween.fromTo=function fromTo(t,e,r){return Va(2,arguments)},Tween.set=function set(t,e){return e.duration=0,e.repeatDelay||(e.repeat=0),new Tween(t,e)},Tween.killTweensOf=function killTweensOf(t,e,r){return L.killTweensOf(t,e,r)},Tween}(qt);qa(Gt.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),ha("staggerTo,staggerFrom,staggerFromTo",function(r){Gt[r]=function(){var t=new Ut,e=Mt.call(arguments,0);return e.splice("staggerFromTo"===r?5:4,0,0),t[r].apply(t,e)}});function nc(t,e,r){return t.setAttribute(e,r)}function vc(t,e,r,i){i.mSet(t,e,i.m.call(i.tween,r,i.mt),i)}var Jt=function _setterPlain(t,e,r){return t[e]=r},$t=function _setterFunc(t,e,r){return t[e](r)},ee=function _setterFuncWithParam(t,e,r,i){return t[e](i.fp,r)},re=function _getSetter(t,e){return s(t[e])?$t:u(t[e])&&t.setAttribute?nc:Jt},ne=function _renderPlain(t,e){return e.set(e.t,e.p,Math.round(1e6*(e.s+e.c*t))/1e6,e)},ae=function _renderBoolean(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},se=function _renderComplexString(t,e){var r=e._pt,i="";if(!t&&e.b)i=e.b;else if(1===t&&e.e)i=e.e;else{for(;r;)i=r.p+(r.m?r.m(r.s+r.c*t):Math.round(1e4*(r.s+r.c*t))/1e4)+i,r=r._next;i+=e.c}e.set(e.t,e.p,i,e)},oe=function _renderPropTweens(t,e){for(var r=e._pt;r;)r.r(t,r.d),r=r._next},le=function _addPluginModifier(t,e,r,i){for(var n,a=this._pt;a;)n=a._next,a.p===i&&a.modifier(t,e,r),a=n},fe=function _killPropTweensOf(t){for(var e,r,i=this._pt;i;)r=i._next,i.p===t&&!i.op||i.op===t?ya(this,i,"_pt"):i.dep||(e=1),i=r;return!e},de=function _sortPropTweensByPriority(t){for(var e,r,i,n,a=t._pt;a;){for(e=a._next,r=i;r&&r.pr>a.pr;)r=r._next;(a._prev=r?r._prev:n)?a._prev._next=a:i=a,(a._next=r)?r._prev=a:n=a,a=e}t._pt=i},pe=(PropTween.prototype.modifier=function modifier(t,e,r){this.mSet=this.mSet||this.set,this.set=vc,this.m=t,this.mt=r,this.tween=e},PropTween);function PropTween(t,e,r,i,n,a,s,o,u){this.t=e,this.s=i,this.c=n,this.p=r,this.r=a||ne,this.d=s||this,this.set=o||Jt,this.pr=u||0,(this._next=t)&&(t._prev=this)}ha(vt+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(t){return ft[t]=1}),ot.TweenMax=ot.TweenLite=Gt,ot.TimelineLite=ot.TimelineMax=Ut,L=new Ut({sortChildren:!1,defaults:q,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),j.stringFilter=Eb;function Cc(t){return(Te[t]||we).map(function(t){return t()})}function Dc(){var t=Date.now(),o=[];2<t-xe&&(Cc("matchMediaInit"),ye.forEach(function(t){var e,r,i,n,a=t.queries,s=t.conditions;for(r in a)(e=h.matchMedia(a[r]).matches)&&(i=1),e!==s[r]&&(s[r]=e,n=1);n&&(t.revert(),i&&o.push(t))}),Cc("matchMediaRevert"),o.forEach(function(t){return t.onMatch(t)}),xe=t,Cc("matchMedia"))}var _e,ye=[],Te={},we=[],xe=0,ke=((_e=Context.prototype).add=function add(t,i,n){function Cw(){var t,e=l,r=a.selector;return e&&e!==a&&e.data.push(a),n&&(a.selector=cb(n)),l=a,t=i.apply(a,arguments),s(t)&&a._r.push(t),l=e,a.selector=r,a.isReverted=!1,t}s(t)&&(n=i,i=t,t=s);var a=this;return a.last=Cw,t===s?Cw(a):t?a[t]=Cw:Cw},_e.ignore=function ignore(t){var e=l;l=null,t(this),l=e},_e.getTweens=function getTweens(){var e=[];return this.data.forEach(function(t){return t instanceof Context?e.push.apply(e,t.getTweens()):t instanceof Gt&&!(t.parent&&"nested"===t.parent.data)&&e.push(t)}),e},_e.clear=function clear(){this._r.length=this.data.length=0},_e.kill=function kill(e,t){var r=this;if(e){var i=this.getTweens();this.data.forEach(function(t){"isFlip"===t.data&&(t.revert(),t.getChildren(!0,!0,!1).forEach(function(t){return i.splice(i.indexOf(t),1)}))}),i.map(function(t){return{g:t.globalTime(0),t:t}}).sort(function(t,e){return e.g-t.g||-1}).forEach(function(t){return t.t.revert(e)}),this.data.forEach(function(t){return!(t instanceof qt)&&t.revert&&t.revert(e)}),this._r.forEach(function(t){return t(e,r)}),this.isReverted=!0}else this.data.forEach(function(t){return t.kill&&t.kill()});if(this.clear(),t){var n=ye.indexOf(this);~n&&ye.splice(n,1)}},_e.revert=function revert(t){this.kill(t||{})},Context);function Context(t,e){this.selector=e&&cb(e),this.data=[],this._r=[],this.isReverted=!1,t&&this.add(t)}var Me,Oe=((Me=MatchMedia.prototype).add=function add(t,e,r){v(t)||(t={matches:t});var i,n,a,s=new ke(0,r||this.scope),o=s.conditions={};for(n in this.contexts.push(s),e=s.add("onMatch",e),s.queries=t)"all"===n?a=1:(i=h.matchMedia(t[n]))&&(ye.indexOf(s)<0&&ye.push(s),(o[n]=i.matches)&&(a=1),i.addListener?i.addListener(Dc):i.addEventListener("change",Dc));return a&&e(s),this},Me.revert=function revert(t){this.kill(t||{})},Me.kill=function kill(e){this.contexts.forEach(function(t){return t.kill(e,!0)})},MatchMedia);function MatchMedia(t){this.contexts=[],this.scope=t}var Pe={registerPlugin:function registerPlugin(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];e.forEach(function(t){return function _createPlugin(t){var e=(t=!t.name&&t.default||t).name,r=s(t),i=e&&!r&&t.init?function(){this._props=[]}:t,n={init:T,render:oe,add:Xt,kill:fe,modifier:le,rawVars:0},a={targetTest:0,get:0,getSetter:re,aliases:{},register:0};if(zt(),t!==i){if(pt[e])return;qa(i,qa(ua(t,n),a)),yt(i.prototype,yt(n,ua(t,a))),pt[i.prop=e]=i,t.targetTest&&(gt.push(i),ft[e]=1),e=("css"===e?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}S(e,i),t.register&&t.register(Ce,i,pe)}(t)})},timeline:function timeline(t){return new Ut(t)},getTweensOf:function getTweensOf(t,e){return L.getTweensOf(t,e)},getProperty:function getProperty(i,t,e,n){r(i)&&(i=Ot(i)[0]);var a=fa(i||{}).get,s=e?pa:oa;return"native"===e&&(e=""),i?t?s((pt[t]&&pt[t].get||a)(i,t,e,n)):function(t,e,r){return s((pt[t]&&pt[t].get||a)(i,t,e,r))}:i},quickSetter:function quickSetter(r,e,i){if(1<(r=Ot(r)).length){var n=r.map(function(t){return Ce.quickSetter(t,e,i)}),a=n.length;return function(t){for(var e=a;e--;)n[e](t)}}r=r[0]||{};var s=pt[e],o=fa(r),u=o.harness&&(o.harness.aliases||{})[e]||e,h=s?function(t){var e=new s;c._pt=0,e.init(r,i?t+i:t,c,0,[r]),e.render(1,e),c._pt&&oe(1,c)}:o.set(r,u);return s?h:function(t){return h(r,u,i?t+i:t,o,1)}},quickTo:function quickTo(t,i,e){function Ux(t,e,r){return n.resetTo(i,t,e,r)}var r,n=Ce.to(t,yt(((r={})[i]="+=0.1",r.paused=!0,r),e||{}));return Ux.tween=n,Ux},isTweening:function isTweening(t){return 0<L.getTweensOf(t,!0).length},defaults:function defaults(t){return t&&t.ease&&(t.ease=Yt(t.ease,q.ease)),ta(q,t||{})},config:function config(t){return ta(j,t||{})},registerEffect:function registerEffect(t){var i=t.name,n=t.effect,e=t.plugins,a=t.defaults,r=t.extendTimeline;(e||"").split(",").forEach(function(t){return t&&!pt[t]&&!ot[t]&&R(i+" effect requires "+t+" plugin.")}),_t[i]=function(t,e,r){return n(Ot(t),qa(e||{},a),r)},r&&(Ut.prototype[i]=function(t,e,r){return this.add(_t[i](t,v(e)?e:(r=e)&&{},this),r)})},registerEase:function registerEase(t,e){Ft[t]=Yt(e)},parseEase:function parseEase(t,e){return arguments.length?Yt(t,e):Ft},getById:function getById(t){return L.getById(t)},exportRoot:function exportRoot(t,e){void 0===t&&(t={});var r,i,n=new Ut(t);for(n.smoothChildTiming=w(t.smoothChildTiming),L.remove(n),n._dp=0,n._time=n._tTime=L._time,r=L._first;r;)i=r._next,!e&&!r._dur&&r instanceof Gt&&r.vars.onComplete===r._targets[0]||Ka(n,r,r._start-r._delay),r=i;return Ka(L,n,0),n},context:function context(t,e){return t?new ke(t,e):l},matchMedia:function matchMedia(t){return new Oe(t)},matchMediaRefresh:function matchMediaRefresh(){return ye.forEach(function(t){var e,r,i=t.conditions;for(r in i)i[r]&&(i[r]=!1,e=1);e&&t.revert()})||Dc()},addEventListener:function addEventListener(t,e){var r=Te[t]||(Te[t]=[]);~r.indexOf(e)||r.push(e)},removeEventListener:function removeEventListener(t,e){var r=Te[t],i=r&&r.indexOf(e);0<=i&&r.splice(i,1)},utils:{wrap:function wrap(e,t,r){var i=t-e;return $(e)?lb(e,wrap(0,e.length),t):Wa(r,function(t){return(i+(t-e)%i)%i+e})},wrapYoyo:function wrapYoyo(e,t,r){var i=t-e,n=2*i;return $(e)?lb(e,wrapYoyo(0,e.length-1),t):Wa(r,function(t){return e+(i<(t=(n+(t-e)%n)%n||0)?n-t:t)})},distribute:eb,random:hb,snap:gb,normalize:function normalize(t,e,r){return Pt(t,e,0,1,r)},getUnit:Ya,clamp:function clamp(e,r,t){return Wa(t,function(t){return kt(e,r,t)})},splitColor:zb,toArray:Ot,selector:cb,mapRange:Pt,pipe:function pipe(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(t){return e.reduce(function(t,e){return e(t)},t)}},unitize:function unitize(e,r){return function(t){return e(parseFloat(t))+(r||Ya(t))}},interpolate:function interpolate(e,i,t,n){var a=isNaN(e+i)?0:function(t){return(1-t)*e+t*i};if(!a){var s,o,u,h,l,f=r(e),c={};if(!0===t&&(n=1)&&(t=null),f)e={p:e},i={p:i};else if($(e)&&!$(i)){for(u=[],h=e.length,l=h-2,o=1;o<h;o++)u.push(interpolate(e[o-1],e[o]));h--,a=function func(t){t*=h;var e=Math.min(l,~~t);return u[e](t-e)},t=i}else n||(e=yt($(e)?[]:{},e));if(!u){for(s in i)Xt.call(c,e,s,"get",i[s]);a=function func(t){return oe(t,c)||(f?e.p:e)}}}return Wa(t,a)},shuffle:db},install:P,effects:_t,ticker:Et,updateRoot:Ut.updateRoot,plugins:pt,globalTimeline:L,core:{PropTween:pe,globals:S,Tween:Gt,Timeline:Ut,Animation:qt,getCache:fa,_removeLinkedListItem:ya,reverting:function reverting(){return B},context:function context(t){return t&&l&&(l.data.push(t),t._ctx=l),l},suppressOverwrites:function suppressOverwrites(t){return I=t}}};ha("to,from,fromTo,delayedCall,set,killTweensOf",function(t){return Pe[t]=Gt[t]}),Et.add(Ut.updateRoot),c=Pe.to({},{duration:0});function Hc(t,e){for(var r=t._pt;r&&r.p!==e&&r.op!==e&&r.fp!==e;)r=r._next;return r}
vendor: 6,255 bytes, line 2
2function Jc(t,a){return{name:t,rawVars:1,init:function init(t,n,e){e._onInit=function(t){var e,i;if(r(n)&&(e={},ha(n,function(t){return e[t]=1}),n=e),a){for(i in e={},n)e[i]=a(n[i]);n=e}!function _addModifiers(t,e){var r,i,n,a=t._targets;for(r in e)for(i=a.length;i--;)(n=(n=t._ptLookup[i][r])&&n.d)&&(n._pt&&(n=Hc(n,r)),n&&n.modifier&&n.modifier(e[r],t,a[i],r))}(t,n)}}}}var Ce=Pe.registerPlugin({name:"attr",init:function init(t,e,r,i,n){var a,s,o;for(a in this.tween=r,e)o=t.getAttribute(a)||"",(s=this.add(t,"setAttribute",(o||0)+"",e[a],i,n,0,0,a)).op=a,s.b=o,this._props.push(a)},render:function render(t,e){for(var r=e._pt;r;)B?r.set(r.t,r.p,r.b,r):r.r(t,r.d),r=r._next}},{name:"endArray",init:function init(t,e){for(var r=e.length;r--;)this.add(t,r,t[r]||0,e[r],0,0,0,0,0,1)}},Jc("roundProps",fb),Jc("modifiers"),Jc("snap",gb))||Pe;Gt.version=Ut.version=Ce.version="3.11.3",o=1,x()&&zt();function td(t,e){return e.set(e.t,e.p,Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function ud(t,e){return e.set(e.t,e.p,1===t?e.e:Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function vd(t,e){return e.set(e.t,e.p,t?Math.round(1e4*(e.s+e.c*t))/1e4+e.u:e.b,e)}function wd(t,e){var r=e.s+e.c*t;e.set(e.t,e.p,~~(r+(r<0?-.5:.5))+e.u,e)}function xd(t,e){return e.set(e.t,e.p,t?e.e:e.b,e)}function yd(t,e){return e.set(e.t,e.p,1!==t?e.b:e.e,e)}function zd(t,e,r){return t.style[e]=r}function Ad(t,e,r){return t.style.setProperty(e,r)}function Bd(t,e,r){return t._gsap[e]=r}function Cd(t,e,r){return t._gsap.scaleX=t._gsap.scaleY=r}function Dd(t,e,r,i,n){var a=t._gsap;a.scaleX=a.scaleY=r,a.renderTransform(n,a)}function Ed(t,e,r,i,n){var a=t._gsap;a[e]=r,a.renderTransform(n,a)}function Hd(t,e){var r=this,i=this.target,n=i.style;if(t in rr){if(this.tfm=this.tfm||{},"transform"!==t&&(~(t=hr[t]||t).indexOf(",")?t.split(",").forEach(function(t){return r.tfm[t]=mr(i,t)}):this.tfm[t]=i._gsap.x?i._gsap[t]:mr(i,t)),0<=this.props.indexOf(lr))return;i._gsap.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(fr,e,"")),t=lr}(n||e)&&this.props.push(t,e,n[t])}function Id(t){t.translate&&(t.removeProperty("translate"),t.removeProperty("scale"),t.removeProperty("rotate"))}function Jd(){var t,e,r=this.props,i=this.target,n=i.style,a=i._gsap;for(t=0;t<r.length;t+=3)r[t+1]?i[r[t]]=r[t+2]:r[t+2]?n[r[t]]=r[t+2]:n.removeProperty(r[t].replace(sr,"-$1").toLowerCase());if(this.tfm){for(e in this.tfm)a[e]=this.tfm[e];a.svg&&(a.renderTransform(),i.setAttribute("data-svg-origin",this.svgo||"")),!(t=Fe())||t.isStart||n[lr]||(Id(n),a.uncache=1)}}function Kd(t,e){var r={target:t,props:[],revert:Jd,save:Hd};return e&&e.split(",").forEach(function(t){return r.save(t)}),r}function Md(t,e){var r=Se.createElementNS?Se.createElementNS((e||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),t):Se.createElement(t);return r.style?r:Se.createElement(t)}function Nd(t,e,r){var i=getComputedStyle(t);return i[e]||i.getPropertyValue(e.replace(sr,"-$1").toLowerCase())||i.getPropertyValue(e)||!r&&Nd(t,dr(e)||e,1)||""}function Qd(){(function _windowExists(){return"undefined"!=typeof window})()&&window.document&&(Ae=window,Se=Ae.document,Re=Se.documentElement,Ee=Md("div")||{style:{}},Md("div"),lr=dr(lr),fr=lr+"Origin",Ee.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Ie=!!dr("perspective"),Fe=Ce.core.reverting,De=1)}function Rd(t){var e,r=Md("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=this.parentNode,n=this.nextSibling,a=this.style.cssText;if(Re.appendChild(r),r.appendChild(this),this.style.display="block",t)try{e=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=Rd}catch(t){}else this._gsapBBox&&(e=this._gsapBBox());return i&&(n?i.insertBefore(this,n):i.appendChild(this)),Re.removeChild(r),this.style.cssText=a,e}function Sd(t,e){for(var r=e.length;r--;)if(t.hasAttribute(e[r]))return t.getAttribute(e[r])}function Td(e){var r;try{r=e.getBBox()}catch(t){r=Rd.call(e,!0)}return r&&(r.width||r.height)||e.getBBox===Rd||(r=Rd.call(e,!0)),!r||r.width||r.x||r.y?r:{x:+Sd(e,["x","cx","x1"])||0,y:+Sd(e,["y","cy","y1"])||0,width:0,height:0}}function Ud(t){return!(!t.getCTM||t.parentNode&&!t.ownerSVGElement||!Td(t))}function Vd(t,e){if(e){var r=t.style;e in rr&&e!==fr&&(e=lr),r.removeProperty?("ms"!==e.substr(0,2)&&"webkit"!==e.substr(0,6)||(e="-"+e),r.removeProperty(e.replace(sr,"-$1").toLowerCase())):r.removeAttribute(e)}}function Wd(t,e,r,i,n,a){var s=new pe(t._pt,e,r,0,1,a?yd:xd);return(t._pt=s).b=i,s.e=n,t._props.push(r),s}function Zd(t,e,r,i){var n,a,s,o,u=parseFloat(r)||0,h=(r+"").trim().substr((u+"").length)||"px",l=Ee.style,f=or.test(e),c="svg"===t.tagName.toLowerCase(),d=(c?"client":"offset")+(f?"Width":"Height"),p="px"===i,_="%"===i;return i===h||!u||pr[i]||pr[h]?u:("px"===h||p||(u=Zd(t,e,r,"px")),o=t.getCTM&&Ud(t),!_&&"%"!==h||!rr[e]&&!~e.indexOf("adius")?(l[f?"width":"height"]=100+(p?h:i),a=~e.indexOf("adius")||"em"===i&&t.appendChild&&!c?t:t.parentNode,o&&(a=(t.ownerSVGElement||{}).parentNode),a&&a!==Se&&a.appendChild||(a=Se.body),(s=a._gsap)&&_&&s.width&&f&&s.time===Et.time&&!s.uncache?ia(u/s.width*100):(!_&&"%"!==h||_r[Nd(a,"display")]||(l.position=Nd(t,"position")),a===t&&(l.position="static"),a.appendChild(Ee),n=Ee[d],a.removeChild(Ee),l.position="absolute",f&&_&&((s=fa(a)).time=Et.time,s.width=a[d]),ia(p?n*u/100:n&&u?100/n*u:0))):(n=o?t.getBBox()[f?"width":"height"]:t[d],ia(_?u/n*100:u/100*n)))}function _d(t,e,r,i){if(!r||"none"===r){var n=dr(e,t,1),a=n&&Nd(t,n,1);a&&a!==r?(e=n,r=a):"borderColor"===e&&(r=Nd(t,"borderTopColor"))}var s,o,u,h,l,f,c,d,p,_,m,g=new pe(this._pt,t.style,e,0,1,se),v=0,y=0;if(g.b=r,g.e=i,r+="","auto"===(i+="")&&(t.style[e]=i,i=Nd(t,e)||i,t.style[e]=r),Eb(s=[r,i]),i=s[1],u=(r=s[0]).match(rt)||[],(i.match(rt)||[]).length){for(;o=rt.exec(i);)c=o[0],p=i.substring(v,o.index),l?l=(l+1)%5:"rgba("!==p.substr(-5)&&"hsla("!==p.substr(-5)||(l=1),c!==(f=u[y++]||"")&&(h=parseFloat(f)||0,m=f.substr((h+"").length),"="===c.charAt(1)&&(c=ka(h,c)+m),d=parseFloat(c),_=c.substr((d+"").length),v=rt.lastIndex-_.length,_||(_=_||j.units[e]||m,v===i.length&&(i+=_,g.e+=_)),m!==_&&(h=Zd(t,e,f,_)||0),g._pt={_next:g._pt,p:p||1===y?p:",",s:h,c:d-h,m:l&&l<4||"zIndex"===e?Math.round:0});g.c=v<i.length?i.substring(v,i.length):""}
vendor: 9,491 bytes, line 2
2else g.r="display"===e&&"none"===i?yd:xd;return nt.test(i)&&(g.e=0),this._pt=g}function be(t){var e=t.split(" "),r=e[0],i=e[1]||"50%";return"top"!==r&&"bottom"!==r&&"left"!==i&&"right"!==i||(t=r,r=i,i=t),e[0]=gr[r]||r,e[1]=gr[i]||i,e.join(" ")}function ce(t,e){if(e.tween&&e.tween._time===e.tween._dur){var r,i,n,a=e.t,s=a.style,o=e.u,u=a._gsap;if("all"===o||!0===o)s.cssText="",i=1;else for(n=(o=o.split(",")).length;-1<--n;)r=o[n],rr[r]&&(i=1,r="transformOrigin"===r?fr:lr),Vd(a,r);i&&(Vd(a,lr),u&&(u.svg&&a.removeAttribute("transform"),br(a,1),u.uncache=1,Id(s)))}}function ge(t){return"matrix(1, 0, 0, 1, 0, 0)"===t||"none"===t||!t}function he(t){var e=Nd(t,lr);return ge(e)?yr:e.substr(7).match(et).map(ia)}function ie(t,e){var r,i,n,a,s=t._gsap||fa(t),o=t.style,u=he(t);return s.svg&&t.getAttribute("transform")?"1,0,0,1,0,0"===(u=[(n=t.transform.baseVal.consolidate().matrix).a,n.b,n.c,n.d,n.e,n.f]).join(",")?yr:u:(u!==yr||t.offsetParent||t===Re||s.svg||(n=o.display,o.display="block",(r=t.parentNode)&&t.offsetParent||(a=1,i=t.nextElementSibling,Re.appendChild(t)),u=he(t),n?o.display=n:Vd(t,"display"),a&&(i?r.insertBefore(t,i):r?r.appendChild(t):Re.removeChild(t))),e&&6<u.length?[u[0],u[1],u[4],u[5],u[12],u[13]]:u)}function je(t,e,r,i,n,a){var s,o,u,h=t._gsap,l=n||ie(t,!0),f=h.xOrigin||0,c=h.yOrigin||0,d=h.xOffset||0,p=h.yOffset||0,_=l[0],m=l[1],g=l[2],v=l[3],y=l[4],T=l[5],b=e.split(" "),w=parseFloat(b[0])||0,x=parseFloat(b[1])||0;r?l!==yr&&(o=_*v-m*g)&&(u=w*(-m/o)+x*(_/o)-(_*T-m*y)/o,w=w*(v/o)+x*(-g/o)+(g*T-v*y)/o,x=u):(w=(s=Td(t)).x+(~b[0].indexOf("%")?w/100*s.width:w),x=s.y+(~(b[1]||b[0]).indexOf("%")?x/100*s.height:x)),i||!1!==i&&h.smooth?(y=w-f,T=x-c,h.xOffset=d+(y*_+T*g)-y,h.yOffset=p+(y*m+T*v)-T):h.xOffset=h.yOffset=0,h.xOrigin=w,h.yOrigin=x,h.smooth=!!i,h.origin=e,h.originIsAbsolute=!!r,t.style[fr]="0px 0px",a&&(Wd(a,h,"xOrigin",f,w),Wd(a,h,"yOrigin",c,x),Wd(a,h,"xOffset",d,h.xOffset),Wd(a,h,"yOffset",p,h.yOffset)),t.setAttribute("data-svg-origin",w+" "+x)}function me(t,e,r){var i=Ya(e);return ia(parseFloat(e)+parseFloat(Zd(t,"x",r+"px",i)))+i}function te(t,e,i,n,a){var s,o,u=360,h=r(a),l=parseFloat(a)*(h&&~a.indexOf("rad")?ir:1)-n,f=n+l+"deg";return h&&("short"===(s=a.split("_")[1])&&(l%=u)!==l%180&&(l+=l<0?u:-u),"cw"===s&&l<0?l=(l+36e9)%u-~~(l/u)*u:"ccw"===s&&0<l&&(l=(l-36e9)%u-~~(l/u)*u)),t._pt=o=new pe(t._pt,e,i,n,l,ud),o.e=f,o.u="deg",t._props.push(i),o}function ue(t,e){for(var r in e)t[r]=e[r];return t}function ve(t,e,r){var i,n,a,s,o,u,h,l=ue({},r._gsap),f=r.style;for(n in l.svg?(a=r.getAttribute("transform"),r.setAttribute("transform",""),f[lr]=e,i=br(r,1),Vd(r,lr),r.setAttribute("transform",a)):(a=getComputedStyle(r)[lr],f[lr]=e,i=br(r,1),f[lr]=a),rr)(a=l[n])!==(s=i[n])&&"perspective,force3D,transformOrigin,svgOrigin".indexOf(n)<0&&(o=Ya(a)!==(h=Ya(s))?Zd(r,n,a,h):parseFloat(a),u=parseFloat(s),t._pt=new pe(t._pt,i,n,o,u-o,td),t._pt.u=h||0,t._props.push(n));ue(i,l)}var Ae,Se,Re,De,Ee,ze,Fe,Ie,Be=Ft.Power0,Le=Ft.Power1,Ye=Ft.Power2,Ne=Ft.Power3,qe=Ft.Power4,Ue=Ft.Linear,Ve=Ft.Quad,We=Ft.Cubic,Xe=Ft.Quart,He=Ft.Quint,Qe=Ft.Strong,Ke=Ft.Elastic,Ze=Ft.Back,Ge=Ft.SteppedEase,Je=Ft.Bounce,$e=Ft.Sine,tr=Ft.Expo,er=Ft.Circ,rr={},ir=180/Math.PI,nr=Math.PI/180,ar=Math.atan2,sr=/([A-Z])/g,or=/(left|right|width|margin|padding|x)/i,ur=/[\s,\(]\S/,hr={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},lr="transform",fr=lr+"Origin",cr="O,Moz,ms,Ms,Webkit".split(","),dr=function _checkPropPrefix(t,e,r){var i=(e||Ee).style,n=5;if(t in i&&!r)return t;for(t=t.charAt(0).toUpperCase()+t.substr(1);n--&&!(cr[n]+t in i););return n<0?null:(3===n?"ms":0<=n?cr[n]:"")+t},pr={deg:1,rad:1,turn:1},_r={grid:1,flex:1},mr=function _get(t,e,r,i){var n;return De||Qd(),e in hr&&"transform"!==e&&~(e=hr[e]).indexOf(",")&&(e=e.split(",")[0]),rr[e]&&"transform"!==e?(n=br(t,i),n="transformOrigin"!==e?n[e]:n.svg?n.origin:wr(Nd(t,fr))+" "+n.zOrigin+"px"):(n=t.style[e])&&"auto"!==n&&!i&&!~(n+"").indexOf("calc(")||(n=vr[e]&&vr[e](t,e,r)||Nd(t,e)||ga(t,e)||("opacity"===e?1:0)),r&&!~(n+"").trim().indexOf(" ")?Zd(t,e,n,r)+r:n},gr={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},vr={clearProps:function clearProps(t,e,r,i,n){if("isFromStart"!==n.data){var a=t._pt=new pe(t._pt,e,r,0,0,ce);return a.u=i,a.pr=-10,a.tween=n,t._props.push(r),1}}},yr=[1,0,0,1,0,0],Tr={},br=function _parseTransform(t,e){var r=t._gsap||new jt(t);if("x"in r&&!e&&!r.uncache)return r;var i,n,a,s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w,x,k,M,O,P,C,A,S,R,D,E,z,F=t.style,I=r.scaleX<0,B="deg",L=getComputedStyle(t),Y=Nd(t,fr)||"0";return i=n=a=u=h=l=f=c=d=0,s=o=1,r.svg=!(!t.getCTM||!Ud(t)),L.translate&&("none"===L.translate&&"none"===L.scale&&"none"===L.rotate||(F[lr]=("none"!==L.translate?"translate3d("+(L.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+("none"!==L.rotate?"rotate("+L.rotate+") ":"")+("none"!==L.scale?"scale("+L.scale.split(" ").join(",")+") ":"")+("none"!==L[lr]?L[lr]:"")),F.scale=F.rotate=F.translate="none"),m=ie(t,r.svg),r.svg&&(O=r.uncache?(P=t.getBBox(),Y=r.xOrigin-P.x+"px "+(r.yOrigin-P.y)+"px",""):!e&&t.getAttribute("data-svg-origin"),je(t,O||Y,!!O||r.originIsAbsolute,!1!==r.smooth,m)),p=r.xOrigin||0,_=r.yOrigin||0,m!==yr&&(T=m[0],b=m[1],w=m[2],x=m[3],i=k=m[4],n=M=m[5],6===m.length?(s=Math.sqrt(T*T+b*b),o=Math.sqrt(x*x+w*w),u=T||b?ar(b,T)*ir:0,(f=w||x?ar(w,x)*ir+u:0)&&(o*=Math.abs(Math.cos(f*nr))),r.svg&&(i-=p-(p*T+_*w),n-=_-(p*b+_*x))):(z=m[6],D=m[7],A=m[8],S=m[9],R=m[10],E=m[11],i=m[12],n=m[13],a=m[14],h=(g=ar(z,R))*ir,g&&(O=k*(v=Math.cos(-g))+A*(y=Math.sin(-g)),P=M*v+S*y,C=z*v+R*y,A=k*-y+A*v,S=M*-y+S*v,R=z*-y+R*v,E=D*-y+E*v,k=O,M=P,z=C),l=(g=ar(-w,R))*ir,g&&(v=Math.cos(-g),E=x*(y=Math.sin(-g))+E*v,T=O=T*v-A*y,b=P=b*v-S*y,w=C=w*v-R*y),u=(g=ar(b,T))*ir,g&&(O=T*(v=Math.cos(g))+b*(y=Math.sin(g)),P=k*v+M*y,b=b*v-T*y,M=M*v-k*y,T=O,k=P),h&&359.9<Math.abs(h)+Math.abs(u)&&(h=u=0,l=180-l),s=ia(Math.sqrt(T*T+b*b+w*w)),o=ia(Math.sqrt(M*M+z*z)),g=ar(k,M),f=2e-4<Math.abs(g)?g*ir:0,d=E?1/(E<0?-E:E):0),r.svg&&(O=t.getAttribute("transform"),r.forceCSS=t.setAttribute("transform","")||!ge(Nd(t,lr)),O&&t.setAttribute("transform",O))),90<Math.abs(f)&&Math.abs(f)<270&&(I?(s*=-1,f+=u<=0?180:-180,u+=u<=0?180:-180):(o*=-1,f+=f<=0?180:-180)),e=e||r.uncache,r.x=i-((r.xPercent=i&&(!e&&r.xPercent||(Math.round(t.offsetWidth/2)===Math.round(-i)?-50:0)))?t.offsetWidth*r.xPercent/100:0)+"px",r.y=n-((r.yPercent=n&&(!e&&r.yPercent||(Math.round(t.offsetHeight/2)===Math.round(-n)?-50:0)))?t.offsetHeight*r.yPercent/100:0)+"px",r.z=a+"px",r.scaleX=ia(s),r.scaleY=ia(o),r.rotation=ia(u)+B,r.rotationX=ia(h)+B,r.rotationY=ia(l)+B,r.skewX=f+B,r.skewY=c+B,r.transformPerspective=d+"px",(r.zOrigin=parseFloat(Y.split(" ")[2])||0)&&(F[fr]=wr(Y)),r.xOffset=r.yOffset=0,r.force3D=j.force3D,r.renderTransform=r.svg?Cr:Ie?Pr:xr,r.uncache=0,r},wr=function _firstTwoOnly(t){return(t=t.split(" "))[0]+" "+t[1]},xr=function _renderNon3DTransforms(t,e){e.z="0px",e.rotationY=e.rotationX="0deg",e.force3D=0,Pr(t,e)},kr="0deg",Mr="0px",Or=") ",Pr=function _renderCSSTransforms(t,e){var r=e||this,i=r.xPercent,n=r.yPercent,a=r.x,s=r.y,o=r.z,u=r.rotation,h=r.rotationY,l=r.rotationX,f=r.skewX,c=r.skewY,d=r.scaleX,p=r.scaleY,_=r.transformPerspective,m=r.force3D,g=r.target,v=r.zOrigin,y="",T="auto"===m&&t&&1!==t||!0===m;if(v&&(l!==kr||h!==kr)){var b,w=parseFloat(h)*nr,x=Math.sin(w),k=Math.cos(w);w=parseFloat(l)*nr,b=Math.cos(w),a=me(g,a,x*b*-v),s=me(g,s,-Math.sin(w)*-v),o=me(g,o,k*b*-v+v)}_!==Mr&&(y+="perspective("+_+Or),(i||n)&&(y+="translate("+i+"%, "+n+"%) "),!T&&a===Mr&&s===Mr&&o===Mr||(y+=o!==Mr||T?"translate3d("+a+", "+s+", "+o+") ":"translate("+a+", "+s+Or),u!==kr&&(y+="rotate("+u+Or),h!==kr&&(y+="rotateY("+h+Or),l!==kr&&(y+="rotateX("+l+Or),f===kr&&c===kr||(y+="skew("+f+", "+c+Or),1===d&&1===p||(y+="scale("+d+", "+p+Or),g.style[lr]=y||"translate(0, 0)"},Cr=function _renderSVGTransforms(t,e){var r,i,n,a,s,o=e||this,u=o.xPercent,h=o.yPercent,l=o.x,f=o.y,c=o.rotation,d=o.skewX,p=o.skewY,_=o.scaleX,m=o.scaleY,g=o.target,v=o.xOrigin,y=o.yOrigin,T=o.xOffset,b=o.yOffset,w=o.forceCSS,x=parseFloat(l),k=parseFloat(f);c=parseFloat(c),d=parseFloat(d),(p=parseFloat(p))&&(d+=p=parseFloat(p),c+=p),c||d?(c*=nr,d*=nr,r=Math.cos(c)*_,i=Math.sin(c)*_,n=Math.sin(c-d)*-m,a=Math.cos(c-d)*m,d&&(p*=nr,s=Math.tan(d-p),n*=s=Math.sqrt(1+s*s),a*=s,p&&(s=Math.tan(p),r*=s=Math.sqrt(1+s*s),i*=s)),r=ia(r),i=ia(i),n=ia(n),a=ia(a)):(r=_,a=m,i=n=0),(x&&!~(l+"").indexOf("px")||k&&!~(f+"").indexOf("px"))&&(x=Zd(g,"x",l,"px"),k=Zd(g,"y",f,"px")),(v||y||T||b)&&(x=ia(x+v-(v*r+y*n)+T),k=ia(k+y-(v*i+y*a)+b)),(u||h)&&(s=g.getBBox(),x=ia(x+u/100*s.width),k=ia(k+h/100*s.height)),s="matrix("+r+","+i+","+n+","+a+","+x+","+k+")",g.setAttribute("transform",s),w&&(g.style[lr]=s)};ha("padding,margin,Width,Radius",function(e,r){var t="Right",i="Bottom",n="Left",o=(r<3?["Top",t,i,n]:["Top"+n,"Top"+t,i+t,i+n]).map(function(t){return r<2?e+t:"border"+t+e});vr[1<r?"border"+e:e]=function(e,t,r,i,n){var a,s;if(arguments.length<4)return a=o.map(function(t){return mr(e,t,r)}),5===(s=a.join(" ")).split(a[0]).length?a[0]:s;a=(i+"").split(" "),s={},o.forEach(function(t,e){return s[t]=a[e]=a[e]||a[(e-1)/2|0]}),e.init(t,s,n)}});var Ar,Sr,Rr,Dr={name:"css",register:Qd,targetTest:function targetTest(t){return t.style&&t.nodeType},init:function init(t,e,i,n,a){var s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w=this._props,x=t.style,k=i.vars.startAt;for(c in De||Qd(),this.styles=this.styles||Kd(t),b=this.styles.props,this.tween=i,e)if("autoRound"!==c&&(o=e[c],!pt[c]||
vendor: 6,003 bytes, lines 2-5
2!_b(c,e,i,n,t,a)))if(l=typeof o,f=vr[c],"function"===l&&(l=typeof(o=o.call(i,n,t,a))),"string"===l&&~o.indexOf("random(")&&(o=ob(o)),f)f(this,t,c,o,i)&&(T=1);else if("--"===c.substr(0,2))s=(getComputedStyle(t).getPropertyValue(c)+"").trim(),o+="",Rt.lastIndex=0,Rt.test(s)||(d=Ya(s),p=Ya(o)),p?d!==p&&(s=Zd(t,c,s,p)+p):d&&(o+=d),this.add(x,"setProperty",s,o,n,a,0,0,c),w.push(c),b.push(c,0,x[c]);else if("undefined"!==l){if(k&&c in k?(s="function"==typeof k[c]?k[c].call(i,n,t,a):k[c],r(s)&&~s.indexOf("random(")&&(s=ob(s)),Ya(s+"")||(s+=j.units[c]||Ya(mr(t,c))||""),"="===(s+"").charAt(1)&&(s=mr(t,c))):s=mr(t,c),h=parseFloat(s),(_="string"===l&&"="===o.charAt(1)&&o.substr(0,2))&&(o=o.substr(2)),u=parseFloat(o),c in hr&&("autoAlpha"===c&&(1===h&&"hidden"===mr(t,"visibility")&&u&&(h=0),b.push("visibility",0,x.visibility),Wd(this,x,"visibility",h?"inherit":"hidden",u?"inherit":"hidden",!u)),"scale"!==c&&"transform"!==c&&~(c=hr[c]).indexOf(",")&&(c=c.split(",")[0])),m=c in rr)if(this.styles.save(c),g||((v=t._gsap).renderTransform&&!e.parseTransform||br(t,e.parseTransform),y=!1!==e.smoothOrigin&&v.smooth,(g=this._pt=new pe(this._pt,x,lr,0,1,v.renderTransform,v,0,-1)).dep=1),"scale"===c)this._pt=new pe(this._pt,v,"scaleY",h,(_?ka(h,_+u):u)-h||0,td),this._pt.u=0,w.push("scaleY",c),c+="X";else{if("transformOrigin"===c){b.push(fr,0,x[fr]),o=be(o),v.svg?je(t,o,0,y,0,this):((p=parseFloat(o.split(" ")[2])||0)!==v.zOrigin&&Wd(this,v,"zOrigin",v.zOrigin,p),Wd(this,x,c,wr(s),wr(o)));continue}if("svgOrigin"===c){je(t,o,1,y,0,this);continue}if(c in Tr){te(this,v,c,h,_?ka(h,_+o):o);continue}if("smoothOrigin"===c){Wd(this,v,"smooth",v.smooth,o);continue}if("force3D"===c){v[c]=o;continue}if("transform"===c){ve(this,o,t);continue}}else c in x||(c=dr(c)||c);if(m||(u||0===u)&&(h||0===h)&&!ur.test(o)&&c in x)u=u||0,(d=(s+"").substr((h+"").length))!==(p=Ya(o)||(c in j.units?j.units[c]:d))&&(h=Zd(t,c,s,p)),this._pt=new pe(this._pt,m?v:x,c,h,(_?ka(h,_+u):u)-h,m||"px"!==p&&"zIndex"!==c||!1===e.autoRound?td:wd),this._pt.u=p||0,d!==p&&"%"!==p&&(this._pt.b=s,this._pt.r=vd);else if(c in x)_d.call(this,t,c,s,_?_+o:o);else{if(!(c in t)){Q(c,o);continue}this.add(t,c,s||t[c],_?_+o:o,n,a)}m||(c in x?b.push(c,0,x[c]):b.push(c,1,s||t[c])),w.push(c)}T&&de(this)},render:function render(t,e){if(e.tween._time||!Fe())for(var r=e._pt;r;)r.r(t,r.d),r=r._next;else e.styles.revert()},get:mr,aliases:hr,getSetter:function getSetter(t,e,r){var i=hr[e];return i&&i.indexOf(",")<0&&(e=i),e in rr&&e!==fr&&(t._gsap.x||mr(t,"x"))?r&&ze===r?"scale"===e?Cd:Bd:(ze=r||{})&&("scale"===e?Dd:Ed):t.style&&!u(t.style[e])?zd:~e.indexOf("-")?Ad:re(t,e)},core:{_removeProperty:Vd,_getMatrix:ie}};Ce.utils.checkPrefix=dr,Ce.core.getStyleSaver=Kd,Rr=ha((Ar="x,y,z,scale,scaleX,scaleY,xPercent,yPercent")+","+(Sr="rotation,rotationX,rotationY,skewX,skewY")+",transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective",function(t){rr[t]=1}),ha(Sr,function(t){j.units[t]="deg",Tr[t]=1}),hr[Rr[13]]=Ar+","+Sr,ha("0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY",function(t){var e=t.split(":");hr[e[1]]=Rr[e[0]]}),ha("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(t){j.units[t]="px"}),Ce.registerPlugin(Dr);var Er=Ce.registerPlugin(Dr)||Ce,zr=Er.core.Tween;e.Back=Ze,e.Bounce=Je,e.CSSPlugin=Dr,e.Circ=er,e.Cubic=We,e.Elastic=Ke,e.Expo=tr,e.Linear=Ue,e.Power0=Be,e.Power1=Le,e.Power2=Ye,e.Power3=Ne,e.Power4=qe,e.Quad=Ve,e.Quart=Xe,e.Quint=He,e.Sine=$e,e.SteppedEase=Ge,e.Strong=Qe,e.TimelineLite=Ut,e.TimelineMax=Ut,e.TweenLite=Gt,e.TweenMax=zr,e.default=Er,e.gsap=Er;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
3
4
5!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function q(){return we||"undefined"!=typeof window&&(we=window.gsap)&&we.registerPlugin&&we}function y(e,t){return~Fe.indexOf(e)&&Fe[Fe.indexOf(e)+1][t]}function z(e){return!!~t.indexOf(e)}function A(e,t,r,n,o){return e.addEventListener(t,r,{passive:!n,capture:!!o})}function B(e,t,r,n){return e.removeEventListener(t,r,!!n)}function E(){return ze&&ze.isPressed||Le.cache++}function F(r,n){function Sc(e){if(e||0===e){o&&(Ae.history.scrollRestoration="manual");var t=ze&&ze.isPressed;e=Sc.v=Math.round(e)||(ze&&ze.iOS?1:0),r(e),Sc.cacheID=Le.cache,t&&i("ss",e)}else(n||Le.cache!==Sc.cacheID||i("ref"))&&(Sc.cacheID=Le.cache,Sc.v=r());return Sc.v+Sc.offset}return Sc.offset=0,r&&Sc}function I(e){return we.utils.toArray(e)[0]||("string"==typeof e&&!1!==we.config().nullTargetWarn?console.warn("Element not found:",e):null)}function J(t,e){var r=e.s,n=e.sc;z(t)&&(t=Ee.scrollingElement||Me);var o=Le.indexOf(t),i=n===Ne.sc?1:2;~o||(o=Le.push(t)-1),Le[o+i]||t.addEventListener("scroll",E);var a=Le[o+i],s=a||(Le[o+i]=F(y(t,r),!0)||(z(t)?n:F(function(e){return arguments.length?t[r]=e:t[r]})));return s.target=t,a||(s.smooth="smooth"===we.getProperty(t,"scrollBehavior")),s}function K(e,t,o){function od(e,t){var r=He();t||n<r-s?(a=i,i=e,l=s,s=r):o?i+=e:i=a+(e-a)/(r-l)*(s-l)}var i=e,a=e,s=He(),l=s,n=t||50,c=Math.max(500,3*n);return{update:od,reset:function reset(){a=i=o?0:i,l=s=0},getVelocity:function getVelocity(e){var t=l,r=a,n=He();return!e&&0!==e||e===i||od(e),s===l||c<n-l?0:(i+(o?r:-r))/((o?n:s)-t)*1e3}}}function L(e,t){return t&&!e._gsapAllow&&e.preventDefault(),e.changedTouches?e.changedTouches[0]:e}function M(e){var t=Math.max.apply(Math,e),r=Math.min.apply(Math,e);return Math.abs(t)>=Math.abs(r)?t:r}function N(){(Ie=we.core.globals().ScrollTrigger)&&Ie.core&&function _integrate(){var e=Ie.core,r=e.bridge||{},t=e._scrollers,n=e._proxies;
vendor: 20,422 bytes, line 5
5t.push.apply(t,Le),n.push.apply(n,Fe),Le=t,Fe=n,i=function _bridge(e,t){return r[e](t)}}()}function O(e){return(we=e||q())&&"undefined"!=typeof document&&document.body&&(Ae=window,Me=(Ee=document).documentElement,Ce=Ee.body,t=[Ae,Ee,Me,Ce],we.utils.clamp,De="onpointerenter"in Ce?"pointer":"mouse",Oe=k.isTouch=Ae.matchMedia&&Ae.matchMedia("(hover: none), (pointer: coarse)").matches?1:"ontouchstart"in Ae||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints?2:0,Be=k.eventTypes=("ontouchstart"in Me?"touchstart,touchmove,touchcancel,touchend":"onpointerdown"in Me?"pointerdown,pointermove,pointercancel,pointerup":"mousedown,mousemove,mouseup,mouseup").split(","),setTimeout(function(){return o=0},500),N(),ke=1),ke}var we,ke,Ae,Ee,Me,Ce,Oe,De,Ie,t,ze,Be,o=1,Re=[],Le=[],Fe=[],He=Date.now,i=function _bridge(e,t){return t},r="scrollLeft",n="scrollTop",Je={s:r,p:"left",p2:"Left",os:"right",os2:"Right",d:"width",d2:"Width",a:"x",sc:F(function(e){return arguments.length?Ae.scrollTo(e,Ne.sc()):Ae.pageXOffset||Ee[r]||Me[r]||Ce[r]||0})},Ne={s:n,p:"top",p2:"Top",os:"bottom",os2:"Bottom",d:"height",d2:"Height",a:"y",op:Je,sc:F(function(e){return arguments.length?Ae.scrollTo(Je.sc(),e):Ae.pageYOffset||Ee[n]||Me[n]||Ce[n]||0})};Je.op=Ne,Le.cache=0;var k=(Observer.prototype.init=function init(e){ke||O(we)||console.warn("Please gsap.registerPlugin(Observer)"),Ie||N();var o=e.tolerance,a=e.dragMinimum,t=e.type,n=e.target,r=e.lineHeight,i=e.debounce,s=e.preventDefault,l=e.onStop,c=e.onStopDelay,u=e.ignore,f=e.wheelSpeed,d=e.event,p=e.onDragStart,g=e.onDragEnd,h=e.onDrag,v=e.onPress,b=e.onRelease,m=e.onRight,y=e.onLeft,x=e.onUp,S=e.onDown,w=e.onChangeX,_=e.onChangeY,T=e.onChange,k=e.onToggleX,P=e.onToggleY,C=e.onHover,D=e.onHoverEnd,R=e.onMove,X=e.ignoreCheck,F=e.isNormalizer,Y=e.onGestureStart,H=e.onGestureEnd,V=e.onWheel,W=e.onEnable,j=e.onDisable,q=e.onClick,U=e.scrollSpeed,G=e.capture,$=e.allowClicks,Q=e.lockAxis,Z=e.onLockAxis;function Pe(){return ye=He()}function Qe(e,t){return(se.event=e)&&u&&~u.indexOf(e.target)||t&&ge&&"touch"!==e.pointerType||X&&X(e,t)}function Se(){var e=se.deltaX=M(be),t=se.deltaY=M(me),r=Math.abs(e)>=o,n=Math.abs(t)>=o;T&&(r||n)&&T(se,e,t,be,me),r&&(m&&0<se.deltaX&&m(se),y&&se.deltaX<0&&y(se),w&&w(se),k&&se.deltaX<0!=le<0&&k(se),le=se.deltaX,be[0]=be[1]=be[2]=0),n&&(S&&0<se.deltaY&&S(se),x&&se.deltaY<0&&x(se),_&&_(se),P&&se.deltaY<0!=ce<0&&P(se),ce=se.deltaY,me[0]=me[1]=me[2]=0),(ne||re)&&(R&&R(se),re&&(h(se),re=!1),ne=!1),ie&&!(ie=!1)&&Z&&Z(se),oe&&(V(se),oe=!1),ee=0}function Te(e,t,r){be[r]+=e,me[r]+=t,se._vx.update(e),se._vy.update(t),i?ee=ee||requestAnimationFrame(Se):Se()}function Ue(e,t){Q&&!ae&&(se.axis=ae=Math.abs(e)>Math.abs(t)?"x":"y",ie=!0),"y"!==ae&&(be[2]+=e,se._vx.update(e,!0)),"x"!==ae&&(me[2]+=t,se._vy.update(t,!0)),i?ee=ee||requestAnimationFrame(Se):Se()}function Ve(e){if(!Qe(e,1)){var t=(e=L(e,s)).clientX,r=e.clientY,n=t-se.x,o=r-se.y,i=se.isDragging;se.x=t,se.y=r,(i||Math.abs(se.startX-t)>=a||Math.abs(se.startY-r)>=a)&&(h&&(re=!0),i||(se.isDragging=!0),Ue(n,o),i||p&&p(se))}}function Xe(t){if(!Qe(t,1)){B(F?n:ve,Be[1],Ve,!0);var e=se.isDragging&&(3<Math.abs(se.x-se.startX)||3<Math.abs(se.y-se.startY)),r=L(t);e||(se._vx.reset(),se._vy.reset(),s&&$&&we.delayedCall(.08,function(){if(300<He()-ye&&!t.defaultPrevented)if(t.target.click)t.target.click();else if(ve.createEvent){var e=ve.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,Ae,1,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),t.target.dispatchEvent(e)}})),se.isDragging=se.isGesturing=se.isPressed=!1,l&&!F&&te.restart(!0),g&&e&&g(se),b&&b(se,e)}}function Ye(e){return e.touches&&1<e.touches.length&&(se.isGesturing=!0)&&Y(e,se.isDragging)}function Ze(){return(se.isGesturing=!1)||H(se)}function $e(e){if(!Qe(e)){var t=ue(),r=fe();Te((t-de)*U,(r-pe)*U,1),de=t,pe=r,l&&te.restart(!0)}}function _e(e){if(!Qe(e)){e=L(e,s),V&&(oe=!0);var t=(1===e.deltaMode?r:2===e.deltaMode?Ae.innerHeight:1)*f;Te(e.deltaX*t,e.deltaY*t,0),l&&!F&&te.restart(!0)}}function af(e){if(!Qe(e)){var t=e.clientX,r=e.clientY,n=t-se.x,o=r-se.y;se.x=t,se.y=r,ne=!0,(n||o)&&Ue(n,o)}}function bf(e){se.event=e,C(se)}function cf(e){se.event=e,D(se)}function df(e){return Qe(e)||L(e,s)&&q(se)}this.target=n=I(n)||Me,this.vars=e,u=u&&we.utils.toArray(u),o=o||1e-9,a=a||0,f=f||1,U=U||1,t=t||"wheel,touch,pointer",i=!1!==i,r=r||parseFloat(Ae.getComputedStyle(Ce).lineHeight)||22;var ee,te,re,ne,oe,ie,ae,se=this,le=0,ce=0,ue=J(n,Je),fe=J(n,Ne),de=ue(),pe=fe(),ge=~t.indexOf("touch")&&!~t.indexOf("pointer")&&"pointerdown"===Be[0],he=z(n),ve=n.ownerDocument||Ee,be=[0,0,0],me=[0,0,0],ye=0,xe=se.onPress=function(e){Qe(e,1)||(se.axis=ae=null,te.pause(),se.isPressed=!0,e=L(e),le=ce=0,se.startX=se.x=e.clientX,se.startY=se.y=e.clientY,se._vx.reset(),se._vy.reset(),A(F?n:ve,Be[1],Ve,s,!0),se.deltaX=se.deltaY=0,v&&v(se))};te=se._dc=we.delayedCall(c||.25,function onStopFunc(){se._vx.reset(),se._vy.reset(),te.pause(),l&&l(se)}).pause(),se.deltaX=se.deltaY=0,se._vx=K(0,50,!0),se._vy=K(0,50,!0),se.scrollX=ue,se.scrollY=fe,se.isDragging=se.isGesturing=se.isPressed=!1,se.enable=function(e){return se.isEnabled||(A(he?ve:n,"scroll",E),0<=t.indexOf("scroll")&&A(he?ve:n,"scroll",$e,s,G),0<=t.indexOf("wheel")&&A(n,"wheel",_e,s,G),(0<=t.indexOf("touch")&&Oe||0<=t.indexOf("pointer"))&&(A(n,Be[0],xe,s,G),A(ve,Be[2],Xe),A(ve,Be[3],Xe),$&&A(n,"click",Pe,!1,!0),q&&A(n,"click",df),Y&&A(ve,"gesturestart",Ye),H&&A(ve,"gestureend",Ze),C&&A(n,De+"enter",bf),D&&A(n,De+"leave",cf),R&&A(n,De+"move",af)),se.isEnabled=!0,e&&e.type&&xe(e),W&&W(se)),se},se.disable=function(){se.isEnabled&&(Re.filter(function(e){return e!==se&&z(e.target)}).length||B(he?ve:n,"scroll",E),se.isPressed&&(se._vx.reset(),se._vy.reset(),B(F?n:ve,Be[1],Ve,!0)),B(he?ve:n,"scroll",$e,G),B(n,"wheel",_e,G),B(n,Be[0],xe,G),B(ve,Be[2],Xe),B(ve,Be[3],Xe),B(n,"click",Pe,!0),B(n,"click",df),B(ve,"gesturestart",Ye),B(ve,"gestureend",Ze),B(n,De+"enter",bf),B(n,De+"leave",cf),B(n,De+"move",af),se.isEnabled=se.isPressed=se.isDragging=!1,j&&j(se))},se.kill=function(){se.disable();var e=Re.indexOf(se);0<=e&&Re.splice(e,1),ze===se&&(ze=0)},Re.push(se),F&&z(n)&&(ze=se),se.enable(d)},function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}(Observer,[{key:"velocityX",get:function get(){return this._vx.getVelocity()}},{key:"velocityY",get:function get(){return this._vy.getVelocity()}}]),Observer);function Observer(e){this.init(e)}k.version="3.11.3",k.create=function(e){return new k(e)},k.register=O,k.getAll=function(){return Re.slice()},k.getById=function(t){return Re.filter(function(e){return e.vars.id===t})[0]},q()&&we.registerPlugin(k);function xa(){return ot=1}function ya(){return ot=0}function za(e){return e}function Aa(e){return Math.round(1e5*e)/1e5||0}function Ba(){return"undefined"!=typeof window}function Ca(){return Ke||Ba()&&(Ke=window.gsap)&&Ke.registerPlugin&&Ke}function Da(e){return!!~s.indexOf(e)}function Ea(e){return y(e,"getBoundingClientRect")||(Da(e)?function(){return Xt.width=We.innerWidth,Xt.height=We.innerHeight,Xt}:function(){return Mt(e)})}function Ha(e,t){var r=t.s,n=t.d2,o=t.d,i=t.a;return(r="scroll"+n)&&(i=y(e,r))?i()-Ea(e)()[o]:Da(e)?(qe[r]||Ge[r])-(We["inner"+n]||qe["client"+n]||Ge["client"+n]):e[r]-e["offset"+n]}function Ia(e,t){for(var r=0;r<p.length;r+=3)t&&!~t.indexOf(p[r+1])||e(p[r],p[r+1],p[r+2])}function Ja(e){return"string"==typeof e}function Ka(e){return"function"==typeof e}function La(e){return"number"==typeof e}function Ma(e){return"object"==typeof e}function Na(e,t,r){return e&&e.progress(t?0:1)&&r&&e.pause()}function Oa(e,t){if(e.enabled){var r=t(e);r&&r.totalTime&&(e.callbackAnimation=r)}}function db(e){return We.getComputedStyle(e)}function fb(e,t){for(var r in t)r in e||(e[r]=t[r]);return e}function hb(e,t){var r=t.d2;return e["offset"+r]||e["client"+r]||0}function ib(e){var t,r=[],n=e.labels,o=e.duration();for(t in n)r.push(n[t]/o);return r}function kb(o){var i=Ke.utils.snap(o),a=Array.isArray(o)&&o.slice(0).sort(function(e,t){return e-t});return a?function(e,t,r){var n;if(void 0===r&&(r=.001),!t)return i(e);if(0<t){for(e-=r,n=0;n<a.length;n++)if(a[n]>=e)return a[n];return a[n-1]}for(n=a.length,e+=r;n--;)if(a[n]<=e)return a[n];return a[0]}:function(e,t,r){void 0===r&&(r=.001);var n=i(e);return!t||Math.abs(n-e)<r||n-e<0==t<0?n:i(t<0?e-o:e+o)}}function mb(t,r,e,n){return e.split(",").forEach(function(e){return t(r,e,n)})}function nb(e,t,r,n,o){return e.addEventListener(t,r,{passive:!n,capture:!!o})}function ob(e,t,r,n){return e.removeEventListener(t,r,!!n)}function pb(e,t,r){return r&&r.wheelHandler&&e(t,"wheel",r)}function tb(e,t){if(Ja(e)){var r=e.indexOf("="),n=~r?(e.charAt(r-1)+1)*parseFloat(e.substr(r+1)):0;~r&&(e.indexOf("%")>r&&(n*=t/100),e=e.substr(0,r-1)),e=n+(e in D?D[e]*t:~e.indexOf("%")?parseFloat(e)*t/100:parseFloat(e)||0)}return e}function ub(e,t,r,n,o,i,a,s){var l=o.startColor,c=o.endColor,u=o.fontSize,f=o.indent,d=o.fontWeight,p=je.createElement("div"),g=Da(r)||"fixed"===y(r,"pinType"),h=-1!==e.indexOf("scroller"),v=g?Ge:r,b=-1!==e.indexOf("start"),m=b?l:c,x="border-color:"+m+";font-size:"+u+";color:"+m+";font-weight:"+d+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return x+="position:"+((h||s)&&g?"fixed;":"absolute;"),!h&&!s&&g||(x+=(n===Ne?_:T)+":"+(i+parseFloat(f))+"px;"),a&&(x+="box-sizing:border-box;text-align:left;width:"+a.offsetWidth+"px;"),p._isStart=b,p.setAttribute("class","gsap-marker-"+e+(t?" marker-"+t:"")),p.style.cssText=x,p.innerText=t||0===t?e+"-"+t:e,v.children[0]?v.insertBefore(p,v.children[0]):v.appendChild(p),p._offset=p["offset"+n.op.d2],R(p,0,n,b),p}function zb(){return 34<gt()-ht&&(S=S||requestAnimationFrame(j))}function Ab(){h&&h.isPressed&&!(h.startX>Ge.clientWidth)||(Le.cache++,h?S=S||requestAnimationFrame(j):j(),ht||H("scrollStart"),ht=gt())}function Bb(){m=We.innerWidth,b=We.innerHeight}function Cb(){Le.cache++,nt||g||je.fullscreenElement||je.webkitFullscreenElement||v&&m===We.innerWidth&&!(Math.abs(We.innerHeight-b)>.25*We.innerHeight)||l.restart(!0)}function Fb(){return ob(Z,"scrollEnd",Fb)||zt(!0)}function Ib(e){for(var t=0;t<V.length;t+=5)(!e||V[t+4]&&V[t+4].query===e)&&(V[t].style.cssText=V[t+1],V[t].getBBox&&V[t].setAttribute("transform",V[t+2]||""),V[t+3].uncache=1)}function Jb(e,t){var r;for(it=0;it<Ot.length;it++)!(r=Ot[it])||t&&r._ctx!==t||(e?r.kill(1):r.revert(!0,!0));t&&Ib(t),t||H("revert")}function Kb(e,t){Le.cache++,!t&&ut||Le.forEach(function(e){return Ka(e)&&e.cacheID++&&(e.rec=0)}),Ja(e)&&(We.history.scrollRestoration=x=e)}function Xb(e,t,r,n){if(!e._gsap.swappedIn){for(var o,i=U.length,a=t.style,s=e.style;i--;)a[o=U[i]]=r[o];a.position="absolute"===r.position?"absolute":"relative","inline"===r.display&&(a.display="inline-block"),s[T]=s[_]="auto",a.flexBasis=r.flexBasis||"auto",a.overflow="visible",a.boxSizing="border-box",a[mt]=hb(e,Je)+Et,a[yt]=hb(e,Ne)+Et,a[Tt]=s[kt]=s.top=s.left="0",Rt(n),s[mt]=s.maxWidth=r[mt],s[yt]=s.maxHeight=r[yt],s[Tt]=r[Tt],e.parentNode!==t&&(e.parentNode.insertBefore(t,e),t.appendChild(e)),e._gsap.swappedIn=!0}}function $b(e){for(var t=G.length,r=e.style,n=[],o=0;o<t;o++)n.push(G[o],r[G[o]]);return n.t=e,n}function bc(e,t,r,n,o,i,a,s,l,c,u,f,d){Ka(e)&&(e=e(s)),Ja(e)&&"max"===e.substr(0,3)&&(e=f+("="===e.charAt(4)?tb("0"+e.substr(3),r):0));var p,g,h,v=d?d.time():0;if(d&&d.seek(0),La(e))a&&R(a,r,n,!0);else{Ka(t)&&(t=t(s));var b,m,y,x,S=(e||"0").split(" ");h=I(t)||Ge,(b=Mt(h)||{})&&(b.left||b.top)||"none"!==db(h).display||(x=h.style.display,h.style.display="block",b=Mt(h),x?h.style.display=x:h.style.removeProperty("display")),m=tb(S[0],b[n.d]),y=tb(S[1]||"0",r),e=b[n.p]-l[n.p]-c+m+o-y,a&&R(a,y,n,r-y<20||a._isStart&&20<y),r-=r-y}if(i){var w=e+r,_=i._isStart;p="scroll"+n.d2,R(i,w,n,_&&20<w||!_&&(u?Math.max(Ge[p],qe[p]):i.parentNode[p])<=w+1),u&&(l=Mt(a),u&&(i.style[n.op.p]=l[n.op.p]-n.op.m-i._offset+Et))}return d&&h&&(p=Mt(h),d.seek(f),g=Mt(h),d._caScrollDist=p[n.p]-g[n.p],e=e/d._caScrollDist*f),d&&d.seek(v),d?e:Math.round(e)}function dc(e,t,r,n){if(e.parentNode!==t){var o,i,a=e.style;if(t===Ge){for(o in e._stOrig=a.cssText,i=db(e))+o||Q.test(o)||!i[o]||"string"!=typeof a[o]||"0"===o||(a[o]=i[o]);a.top=r,a.left=n}else a.cssText=e._stOrig;Ke.core.getCache(e).uncache=1,t.appendChild(e)}}function ec(l,e){function Sj(e,t,r,n,o){var i=Sj.tween,a=t.onComplete,s={};return r=r||f(),o=n&&o||0,n=n||e-r,i&&i.kill(),c=Math.round(r),t[d]=e,(t.modifiers=s)[d]=function(e){return(e=Math.round(f()))!==c&&e!==u&&3<Math.abs(e-c)&&3<Math.abs(e-u)?(i.kill(),Sj.tween=0):e=r+n*i.ratio+o*i.ratio*i.ratio,u=c,c=Math.round(e)},t.onComplete=function(){Sj.tween=0,a&&a.call(i)},i=Sj.tween=Ke.to(l,t)}var c,u,f=J(l,e),d="_scroll"+e.p2;return(l[d]=f).wheelHandler=function(){return Sj.tween&&Sj.tween.kill()&&(Sj.tween=0)},nb(l,"wheel",f.wheelHandler),Sj}var Ke,a,We,je,qe,Ge,s,l,et,tt,rt,c,nt,ot,u,it,f,d,p,at,st,g,h,v,b,m,P,lt,x,ct,S,ut,ft,dt,pt=1,gt=Date.now,w=gt(),ht=0,vt=0,bt=Math.abs,_="right",T="bottom",mt="width",yt="height",xt="Right",St="Left",wt="Top",_t="Bottom",Tt="padding",kt="margin",At="Width",C="Height",Et="px",Mt=function _getBounds(e,t){var r=t&&"matrix(1, 0, 0, 1, 0, 0)"!==db(e)[u]&&Ke.to(e,{x:0,y:0,xPercent:0,yPercent:0,rotation:0,rotationX:0,rotationY:0,scale:1,skewX:0,skewY:0}).progress(1),n=e.getBoundingClientRect();return r&&r.progress(0).kill(),n},Pt={startColor:"green",endColor:"red",indent:0,fontSize:"16px",fontWeight:"normal"},Ct={toggleActions:"play",anticipatePin:0},D={top:0,left:0,center:.5,bottom:1,right:1},R=function _positionMarker(e,t,r,n){var o={display:"block"},i=r[n?"os2":"p2"],a=r[n?"p2":"os2"];e._isFlipped=n,o[r.a+"Percent"]=n?-100:0,o[r.a]=n?"1px":0,o["border"+i+At]=1,o["border"+a+At]=0,o[r.p]=t+"px",Ke.set(e,o)},Ot=[],Dt={},X={},Y=[],H=function _dispatch(e){return X[e]&&X[e].map(function(e){return e()})||Y},V=[],It=0,zt=function _refreshAll(e,t){if(!ht||e){ut=Z.isRefreshing=!0,Le.forEach(function(e){return Ka(e)&&e.cacheID++&&(e.rec=e())});var r=H("refreshInit");at&&Z.sort(),t||Jb(),Le.forEach(function(e){Ka(e)&&(e.smooth&&(e.target.style.scrollBehavior="auto"),e(0))}),Ot.slice(0).forEach(function(e){return e.refresh()}),Ot.forEach(function(e,t){if(e._subPinOffset&&e.pin){var r=e.vars.horizontal?"offsetWidth":"offsetHeight",n=e.pin[r];e.revert(!0,1),e.adjustPinSpacing(e.pin[r]-n),e.revert(!1,1)}}),Ot.forEach(function(e){return"max"===e.vars.end&&e.setPositions(e.start,Math.max(e.start+1,Ha(e.scroller,e._dir)))}),r.forEach(function(e){return e&&e.render&&e.render(-1)}),Le.forEach(function(e){Ka(e)&&(e.smooth&&requestAnimationFrame(function(){return e.target.style.scrollBehavior="smooth"}),e.rec&&e(e.rec))}),Kb(x,1),l.pause(),It++,j(2),Ot.forEach(function(e){return Ka(e.vars.onRefresh)&&e.vars.onRefresh(e)}),ut=Z.isRefreshing=!1,H("refresh")}else nb(Z,"scrollEnd",Fb)},W=0,Bt=1,j=function _updateAll(e){if(!ut||2===e){Z.isUpdating=!0,dt&&dt.update(0);var t=Ot.length,r=gt(),n=50<=r-w,o=t&&Ot[0].scroll();if(Bt=o<W?-1:1,W=o,n&&(ht&&!ot&&200<r-ht&&(ht=0,H("scrollEnd")),rt=w,w=r),Bt<0){for(it=t;0<it--;)Ot[it]&&Ot[it].update(0,n);Bt=1}else for(it=0;it<t;it++)Ot[it]&&Ot[it].update(0,n);Z.isUpdating=!1}S=0},U=["left","top",T,_,kt+_t,kt+xt,kt+wt,kt+St,"display","flexShrink","float","zIndex","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","gridArea","justifySelf","alignSelf","placeSelf","order"],G=U.concat([mt,yt,"boxSizing","max"+At,"max"+C,"position",kt,Tt,Tt+wt,Tt+xt,Tt+_t,Tt+St]),$=/([A-Z])/g,Rt=function _setState(e){if(e){var t,r,n=e.t.style,o=e.length,i=0;for((e.t._gsap||Ke.core.getCache(e.t)).uncache=1;i<o;i+=2)r=e[i+1],t=e[i],r?n[t]=r:n[t]&&n.removeProperty(t.replace($,"-$1").toLowerCase())}},Xt={left:0,top:0},Q=/(webkit|moz|length|cssText|inset)/i,Z=(ScrollTrigger.prototype.init=function init(_,T){if(this.progress=this.start=0,this.vars&&this.kill(!0,!0),vt){var k,n,p,A,E,M,P,C,O,D,z,e,B,R,X,L,F,t,Y,b,H,N,m,K,x,S,r,w,V,W,o,g,j,q,U,G,$,i,Q=(_=fb(Ja(_)||La(_)||_.nodeType?{trigger:_}:_,Ct)).onUpdate,Z=_.toggleClass,a=_.id,ee=_.onToggle,te=_.onRefresh,re=_.scrub,ne=_.trigger,oe=_.pin,ie=_.pinSpacing,ae=_.invalidateOnRefresh,se=_.anticipatePin,s=_.onScrubComplete,h=_.onSnapComplete,le=_.once,ce=_.snap,ue=_.pinReparent,l=_.pinSpacer,fe=_.containerAnimation,de=_.fastScrollEnd,pe=_.preventOverlaps,ge=_.horizontal||_.containerAnimation&&!1!==_.horizontal?Je:Ne,he=!re&&0!==re,ve=I(_.scroller||We),c=Ke.core.getCache(ve),be=Da(ve),me="fixed"===("pinType"in _?_.pinType:y(ve,"pinType")||be&&"fixed"),ye=[_.onEnter,_.onLeave,_.onEnterBack,_.onLeaveBack],xe=he&&_.toggleActions.split(" "),u="markers"in _?_.markers:Ct.markers,Se=be?0:parseFloat(db(ve)["border"+ge.p2+At])||0,we=this,_e=_.onRefreshInit&&function(){return _.onRefreshInit(we)},Te=function _getSizeFunc(e,t,r){var n=r.d,o=r.d2,i=r.a;return(i=y(e,"getBoundingClientRect"))?function(){return i()[n]}:function(){return(t?We["inner"+o]:e["client"+o])||0}}(ve,be,ge),ke=function _getOffsetsFunc(e,t){return!t||~Fe.indexOf(e)?Ea(e):function(){return Xt}}(ve,be),Ae=0,Ee=0,Me=J(ve,ge);if(lt(we),we._dir=ge,se*=45,we.scroller=ve,we.scroll=fe?fe.time.bind(fe):Me,A=Me(),we.vars=_,T=T||_.animation,"refreshPriority"in _&&(at=1,-9999===_.refreshPriority&&(dt=we)),c.tweenScroll=c.tweenScroll||{top:ec(ve,Ne),left:ec(ve,Je)},we.tweenTo=k=c.tweenScroll[ge.p],we.scrubDuration=function(e){(o=La(e)&&e)?W?W.duration(e):W=Ke.to(T,{ease:"expo",totalProgress:"+=0.001",duration:o,paused:!0,onComplete:function onComplete(){return s&&s(we)}}):(W&&W.progress(1).kill(),W=0)},T&&(T.vars.lazy=!1,T._initted||!1!==T.vars.immediateRender&&!1!==_.immediateRender&&T.duration()&&T.render(0,!0,!0),we.animation=T.pause(),(T.scrollTrigger=we).scrubDuration(re),w=0,a=a||T.vars.id),Ot.push(we),ce&&(Ma(ce)&&!ce.push||(ce={snapTo:ce}),"scrollBehavior"in Ge.style&&Ke.set(be?[Ge,qe]:ve,{scrollBehavior:"auto"}),Le.forEach(function(e){return Ka(e)&&e.target===(be?je.scrollingElement||qe:ve)&&(e.smooth=!1)}),p=Ka(ce.snapTo)?ce.snapTo:"labels"===ce.snapTo?function _getClosestLabel(t){return function(e){return Ke.utils.snap(ib(t),e)}}(T):"labelsDirectional"===ce.snapTo?function _getLabelAtDirection(r){return function(e,t){return kb(ib(r))(e,t.direction)}}(T):!1!==ce.directional?function(e,t){return kb(ce.snapTo)(e,gt()-Ee<500?0:t.direction)}:Ke.utils.snap(ce.snapTo),g=ce.duration||{min:.1,max:2},g=Ma(g)?tt(g.min,g.max):tt(g,g),j=Ke.delayedCall(ce.delay||o/2||.1,function(){var e=Me(),t=gt()-Ee<500,r=k.tween;if(!(t||Math.abs(we.getVelocity())<10)||r||ot||Ae===e)we.isActive&&Ae!==e&&j.restart(!0);else{var n=(e-M)/B,o=T&&!he?T.totalProgress():n,i=t?0:(o-V)/(gt()-rt)*1e3||0,a=Ke.utils.clamp(-n,1-n,bt(i/2)*i/.185),s=n+(!1===ce.inertia?0:a),l=tt(0,1,p(s,we)),c=Math.round(M+l*B),u=ce.onStart,f=ce.onInterrupt,d=ce.onComplete;if(e<=P&&M<=e&&c!==e){if(r&&!r._initted&&r.data<=bt(c-e))return;!1===ce.inertia&&(a=l-n),k(c,{duration:g(bt(.185*Math.max(bt(s-o),bt(l-o))/i/.05||0)),ease:ce.ease||"power3",data:bt(c-e),onInterrupt:function onInterrupt(){return j.restart(!0)&&f&&f(we)},onComplete:function onComplete(){we.update(),Ae=Me(),w=V=T&&!he?T.totalProgress():we.progress,h&&h(we),d&&d(we)}},e,a*B,c-e-a*B),u&&u(we,k.tween)}}}).pause()),a&&(Dt[a]=we),i=(i=(ne=we.trigger=I(ne||oe))&&ne._gsap&&ne._gsap.stRevert)&&i(we),oe=!0===oe?ne:I(oe),Ja(Z)&&(Z={targets:ne,className:Z}),oe&&(!1===ie||ie===kt||(ie=!(!ie&&oe.parentNode&&oe.parentNode.style&&"flex"===db(oe.parentNode).display)&&Tt),we.pin=oe,(n=Ke.core.getCache(oe)).spacer?R=n.pinState:(l&&((l=I(l))&&!l.nodeType&&(l=l.current||l.nativeElement),n.spacerIsNative=!!l,l&&(n.spacerState=$b(l))),n.spacer=F=l||je.createElement("div"),F.classList.add("pin-spacer"),a&&F.classList.add("pin-spacer-"+a),n.pinState=R=$b(oe)),!1!==_.force3D&&Ke.set(oe,{force3D:!0}),we.spacer=F=n.spacer,r=db(oe),m=r[ie+ge.os2],Y=Ke.getProperty(oe),b=Ke.quickSetter(oe,ge.a,Et),Xb(oe,F,r),L=$b(oe)),u){e=Ma(u)?fb(u,Pt):Pt,D=ub("scroller-start",a,ve,ge,e,0),z=ub("scroller-end",a,ve,ge,e,0,D),t=D["offset"+ge.op.d2];var f=I(y(ve,"content")||ve);C=this.markerStart=ub("start",a,f,ge,e,t,0,fe),O=this.markerEnd=ub("end",a,f,ge,e,t,0,fe),fe&&($=Ke.quickSetter([C,O],ge.a,Et)),me||Fe.length&&!0===y(ve,"fixedMarkers")||(function _makePositionable(e){var t=db(e).position;e.style.position="absolute"===t||"fixed"===t?t:"relative"}(be?Ge:ve),Ke.set([D,z],{force3D:!0}),x=Ke.quickSetter(D,ge.a,Et),S=Ke.quickSetter(z,ge.a,Et))}
5if(fe){var d=fe.vars.onUpdate,v=fe.vars.onUpdateParams;fe.eventCallback("onUpdate",function(){we.update(0,0,1),d&&d.apply(v||[])})}we.previous=function(){return Ot[Ot.indexOf(we)-1]},we.next=function(){return Ot[Ot.indexOf(we)+1]},we.revert=function(e,t){if(!t)return we.kill(!0);var r=!1!==e||!we.enabled,n=nt;r!==we.isReverted&&(r&&(U=Math.max(Me(),we.scroll.rec||0),q=we.progress,G=T&&T.progress()),C&&[C,O,D,z].forEach(function(e){return e.style.display=r?"none":"block"}),r&&(nt=1,we.update(r)),oe&&(r?function _swapPinOut(e,t,r){Rt(r);var n=e._gsap;if(n.spacerIsNative)Rt(n.spacerState);else if(e._gsap.swappedIn){var o=t.parentNode;o&&(o.insertBefore(e,t),o.removeChild(t))}e._gsap.swappedIn=!1}(oe,F,R):ue&&we.isActive||Xb(oe,F,db(oe),K)),r||we.update(r),nt=n,we.isReverted=r)},we.refresh=function(e,t){if(!nt&&we.enabled||t)if(oe&&e&&ht)nb(ScrollTrigger,"scrollEnd",Fb);else{!ut&&_e&&_e(we),nt=1,Ee=gt(),k.tween&&(k.tween.kill(),k.tween=0),W&&W.pause(),ae&&T&&T.revert({kill:!1}).invalidate(),we.isReverted||we.revert(!0,!0),we._subPinOffset=!1;for(var r,n,o,i,a,s,l,c,u,f,d=Te(),p=ke(),g=fe?fe.duration():Ha(ve,ge),h=0,v=0,b=_.end,m=_.endTrigger||ne,y=_.start||(0!==_.start&&ne?oe?"0 0":"0 100%":0),x=we.pinnedContainer=_.pinnedContainer&&I(_.pinnedContainer),S=ne&&Math.max(0,Ot.indexOf(we))||0,w=S;w--;)(s=Ot[w]).end||s.refresh(0,1)||(nt=1),!(l=s.pin)||l!==ne&&l!==oe||s.isReverted||((f=f||[]).unshift(s),s.revert(!0,!0)),s!==Ot[w]&&(S--,w--);for(Ka(y)&&(y=y(we)),M=bc(y,ne,d,ge,Me(),C,D,we,p,Se,me,g,fe)||(oe?-.001:0),Ka(b)&&(b=b(we)),Ja(b)&&!b.indexOf("+=")&&(~b.indexOf(" ")?b=(Ja(y)?y.split(" ")[0]:"")+b:(h=tb(b.substr(2),d),b=Ja(y)?y:M+h,m=ne)),P=Math.max(M,bc(b||(m?"100% 0":g),m,d,ge,Me()+h,O,z,we,p,Se,me,g,fe))||-.001,B=P-M||(M-=.01)&&.001,h=0,w=S;w--;)(l=(s=Ot[w]).pin)&&s.start-s._pinPush<=M&&!fe&&0<s.end&&(r=s.end-s.start,(l===ne&&s.start-s._pinPush<M||l===x)&&!La(y)&&(h+=r*(1-s.progress)),l===oe&&(v+=r));if(M+=h,P+=h,we._pinPush=v,C&&h&&((r={})[ge.a]="+="+h,x&&(r[ge.p]="-="+Me()),Ke.set([C,O],r)),oe)r=db(oe),i=ge===Ne,o=Me(),H=parseFloat(Y(ge.a))+v,!g&&1<P&&((be?Ge:ve).style["overflow-"+ge.a]="scroll"),Xb(oe,F,r),L=$b(oe),n=Mt(oe,!0),c=me&&J(ve,i?Je:Ne)(),ie&&((K=[ie+ge.os2,B+v+Et]).t=F,(w=ie===Tt?hb(oe,ge)+B+v:0)&&K.push(ge.d,w+Et),Rt(K),x&&Ot.forEach(function(e){e.pin===x&&!1!==e.vars.pinSpacing&&(e._subPinOffset=!0)}),me&&Me(U)),me&&((a={top:n.top+(i?o-M:c)+Et,left:n.left+(i?c:o-M)+Et,boxSizing:"border-box",position:"fixed"})[mt]=a.maxWidth=Math.ceil(n.width)+Et,a[yt]=a.maxHeight=Math.ceil(n.height)+Et,a[kt]=a[kt+wt]=a[kt+xt]=a[kt+_t]=a[kt+St]="0",a[Tt]=r[Tt],a[Tt+wt]=r[Tt+wt],a[Tt+xt]=r[Tt+xt],a[Tt+_t]=r[Tt+_t],a[Tt+St]=r[Tt+St],X=function _copyState(e,t,r){for(var n,o=[],i=e.length,a=r?8:0;a<i;a+=2)n=e[a],o.push(n,n in t?t[n]:e[a+1]);return o.t=e.t,o}(R,a,ue),ut&&Me(0)),T?(u=T._initted,st(1),T.render(T.duration(),!0,!0),N=Y(ge.a)-H+B+v,B!==N&&me&&X.splice(X.length-2,2),T.render(0,!0,!0),u||T.invali
vendor: 10,876 bytes, line 5
5date(!0),T.parent||T.totalTime(T.totalTime()),st(0)):N=B;else if(ne&&Me()&&!fe)for(n=ne.parentNode;n&&n!==Ge;)n._pinOffset&&(M-=n._pinOffset,P-=n._pinOffset),n=n.parentNode;f&&f.forEach(function(e){return e.revert(!1,!0)}),we.start=M,we.end=P,A=E=ut?U:Me(),fe||ut||(A<U&&Me(U),we.scroll.rec=0),we.revert(!1,!0),j&&(Ae=-1,we.isActive&&Me(M+B*q),j.restart(!0)),nt=0,T&&he&&(T._initted||G)&&T.progress()!==G&&T.progress(G,!0).render(T.time(),!0,!0),q===we.progress&&!fe||(T&&!he&&T.totalProgress(q,!0),we.progress=(A-M)/B===q?0:q),oe&&ie&&(F._pinOffset=Math.round(we.progress*N)),te&&!ut&&te(we)}},we.getVelocity=function(){return(Me()-E)/(gt()-rt)*1e3||0},we.endAnimation=function(){Na(we.callbackAnimation),T&&(W?W.progress(1):T.paused()?he||Na(T,we.direction<0,1):Na(T,T.reversed()))},we.labelToScroll=function(e){return T&&T.labels&&(M||we.refresh()||M)+T.labels[e]/T.duration()*B||0},we.getTrailing=function(t){var e=Ot.indexOf(we),r=0<we.direction?Ot.slice(0,e).reverse():Ot.slice(e+1);return(Ja(t)?r.filter(function(e){return e.vars.preventOverlaps===t}):r).filter(function(e){return 0<we.direction?e.end<=M:e.start>=P})},we.update=function(e,t,r){if(!fe||r||e){var n,o,i,a,s,l,c,u=ut?U:we.scroll(),f=e?0:(u-M)/B,d=f<0?0:1<f?1:f||0,p=we.progress;if(t&&(E=A,A=fe?Me():u,ce&&(V=w,w=T&&!he?T.totalProgress():d)),se&&!d&&oe&&!nt&&!pt&&ht&&M<u+(u-E)/(gt()-rt)*se&&(d=1e-4),d!==p&&we.enabled){if(a=(s=(n=we.isActive=!!d&&d<1)!=(!!p&&p<1))||!!d!=!!p,we.direction=p<d?1:-1,we.progress=d,a&&!nt&&(o=d&&!p?0:1===d?1:1===p?2:3,he&&(i=!s&&"none"!==xe[o+1]&&xe[o+1]||xe[o],c=T&&("complete"===i||"reset"===i||i in T))),pe&&(s||c)&&(c||re||!T)&&(Ka(pe)?pe(we):we.getTrailing(pe).forEach(function(e){return e.endAnimation()})),he||(!W||nt||pt?T&&T.totalProgress(d,!!nt):((fe||dt&&dt!==we)&&W.render(W._dp._time-W._start),W.resetTo?W.resetTo("totalProgress",d,T._tTime/T._tDur):(W.vars.totalProgress=d,W.invalidate().restart()))),oe)if(e&&ie&&(F.style[ie+ge.os2]=m),me){if(a){if(l=!e&&p<d&&u<P+1&&u+1>=Ha(ve,ge),ue)if(e||!n&&!l)dc(oe,F);else{var g=Mt(oe,!0),h=u-M;dc(oe,Ge,g.top+(ge===Ne?h:0)+Et,g.left+(ge===Ne?0:h)+Et)}Rt(n||l?X:L),N!==B&&d<1&&n||b(H+(1!==d||l?0:N))}}else b(Aa(H+N*d));!ce||k.tween||nt||pt||j.restart(!0),Z&&(s||le&&d&&(d<1||!ct))&&et(Z.targets).forEach(function(e){return e.classList[n||le?"add":"remove"](Z.className)}),!Q||he||e||Q(we),a&&!nt?(he&&(c&&("complete"===i?T.pause().totalProgress(1):"reset"===i?T.restart(!0).pause():"restart"===i?T.restart(!0):T[i]()),Q&&Q(we)),!s&&ct||(ee&&s&&Oa(we,ee),ye[o]&&Oa(we,ye[o]),le&&(1===d?we.kill(!1,1):ye[o]=0),s||ye[o=1===d?1:3]&&Oa(we,ye[o])),de&&!n&&Math.abs(we.getVelocity())>(La(de)?de:2500)&&(Na(we.callbackAnimation),W?W.progress(1):Na(T,"reverse"===i?1:!d,1))):he&&Q&&!nt&&Q(we)}if(S){var v=fe?u/fe.duration()*(fe._caScrollDist||0):u;x(v+(D._isFlipped?1:0)),S(v)}$&&$(-u/fe.duration()*(fe._caScrollDist||0))}},we.enable=function(e,t){we.enabled||(we.enabled=!0,nb(ve,"resize",Cb),nb(be?je:ve,"scroll",Ab),_e&&nb(ScrollTrigger,"refreshInit",_e),!1!==e&&(we.progress=q=0,A=E=Ae=Me()),!1!==t&&we.refresh())},we.getTween=function(e){return e&&k?k.tween:W},we.setPositions=function(e,t){oe&&(H+=e-M,N+=t-e-B,ie===Tt&&we.adjustPinSpacing(t-e-B)),we.start=M=e,we.end=P=t,B=t-e,we.update()},we.adjustPinSpacing=function(e){if(K){var t=K.indexOf(ge.d)+1;K[t]=parseFloat(K[t])+e+Et,K[1]=parseFloat(K[1])+e+Et,Rt(K)}},we.disable=function(e,t){if(we.enabled&&(!1!==e&&we.revert(!0,!0),we.enabled=we.isActive=!1,t||W&&W.pause(),U=0,n&&(n.uncache=1),_e&&ob(ScrollTrigger,"refreshInit",_e),j&&(j.pause(),k.tween&&k.tween.kill()&&(k.tween=0)),!be)){for(var r=Ot.length;r--;)if(Ot[r].scroller===ve&&Ot[r]!==we)return;ob(ve,"resize",Cb),ob(ve,"scroll",Ab)}},we.kill=function(e,t){we.disable(e,t),W&&!t&&W.kill(),a&&delete Dt[a];var r=Ot.indexOf(we);0<=r&&Ot.splice(r,1),r===it&&0<Bt&&it--,r=0,Ot.forEach(function(e){return e.scroller===we.scroller&&(r=1)}),r||ut||(we.scroll.rec=0),T&&(T.scrollTrigger=null,e&&T.revert({kill:!1}),t||T.kill()),C&&[C,O,D,z].forEach(function(e){return e.parentNode&&e.parentNode.removeChild(e)}),dt===we&&(dt=0),oe&&(n&&(n.uncache=1),r=0,Ot.forEach(function(e){return e.pin===oe&&r++}),r||(n.spacer=0)),_.onKill&&_.onKill(we)},we.enable(!1,!1),i&&i(we),T&&T.add&&!B?Ke.delayedCall(.01,function(){return M||P||we.refresh()})&&(B=.01)&&(M=P=0):we.refresh(),oe&&function _queueRefreshAll(){if(ft!==It){var e=ft=It;requestAnimationFrame(function(){return e===It&&zt(!0)})}}()}else this.update=this.refresh=this.kill=za},ScrollTrigger.register=function register(e){return a||(Ke=e||Ca(),Ba()&&window.document&&ScrollTrigger.enable(),a=vt),a},ScrollTrigger.defaults=function defaults(e){if(e)for(var t in e)Ct[t]=e[t];return Ct},ScrollTrigger.disable=function disable(t,r){vt=0,Ot.forEach(function(e){return e[r?"kill":"disable"](t)}),ob(We,"wheel",Ab),ob(je,"scroll",Ab),clearInterval(c),ob(je,"touchcancel",za),ob(Ge,"touchstart",za),mb(ob,je,"pointerdown,touchstart,mousedown",xa),mb(ob,je,"pointerup,touchend,mouseup",ya),l.kill(),Ia(ob);for(var e=0;e<Le.length;e+=3)pb(ob,Le[e],Le[e+1]),pb(ob,Le[e],Le[e+2])},ScrollTrigger.enable=function enable(){if(We=window,je=document,qe=je.documentElement,Ge=je.body,Ke&&(et=Ke.utils.toArray,tt=Ke.utils.clamp,lt=Ke.core.context||za,st=Ke.core.suppressOverwrites||za,x=We.history.scrollRestoration||"auto",Ke.core.globals("ScrollTrigger",ScrollTrigger),Ge)){vt=1,k.register(Ke),ScrollTrigger.isTouch=k.isTouch,P=k.isTouch&&/(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent),nb(We,"wheel",Ab),s=[We,je,qe,Ge],Ke.matchMedia?(ScrollTrigger.matchMedia=function(e){var t,r=Ke.matchMedia();for(t in e)r.add(t,e[t]);return r},Ke.addEventListener("matchMediaInit",function(){return Jb()}),Ke.addEventListener("matchMediaRevert",function(){return Ib()}),Ke.addEventListener("matchMedia",function(){zt(0,1),H("matchMedia")}),Ke.matchMedia("(orientation: portrait)",function(){return Bb(),Bb})):console.warn("Requires GSAP 3.11.0 or later"),Bb(),nb(je,"scroll",Ab);var e,t,r=Ge.style,n=r.borderTopStyle,o=Ke.core.Animation.prototype;for(o.revert||Object.defineProperty(o,"revert",{value:function value(){return this.time(-.01,!0)}}),r.borderTopStyle="solid",e=Mt(Ge),Ne.m=Math.round(e.top+Ne.sc())||0,Je.m=Math.round(e.left+Je.sc())||0,n?r.borderTopStyle=n:r.removeProperty("border-top-style"),c=setInterval(zb,250),Ke.delayedCall(.5,function(){return pt=0}),nb(je,"touchcancel",za),nb(Ge,"touchstart",za),mb(nb,je,"pointerdown,touchstart,mousedown",xa),mb(nb,je,"pointerup,touchend,mouseup",ya),u=Ke.utils.checkPrefix("transform"),G.push(u),a=gt(),l=Ke.delayedCall(.2,zt).pause(),p=[je,"visibilitychange",function(){var e=We.innerWidth,t=We.innerHeight;je.hidden?(f=e,d=t):f===e&&d===t||Cb()},je,"DOMContentLoaded",zt,We,"load",zt,We,"resize",Cb],Ia(nb),Ot.forEach(function(e){return e.enable(0,1)}),t=0;t<Le.length;t+=3)pb(ob,Le[t],Le[t+1]),pb(ob,Le[t],Le[t+2])}},ScrollTrigger.config=function config(e){"limitCallbacks"in e&&(ct=!!e.limitCallbacks);var t=e.syncInterval;t&&clearInterval(c)||(c=t)&&setInterval(zb,t),"ignoreMobileResize"in e&&(v=1===ScrollTrigger.isTouch&&e.ignoreMobileResize),"autoRefreshEvents"in e&&(Ia(ob)||Ia(nb,e.autoRefreshEvents||"none"),g=-1===(e.autoRefreshEvents+"").indexOf("resize"))},ScrollTrigger.scrollerProxy=function scrollerProxy(e,t){var r=I(e),n=Le.indexOf(r),o=Da(r);~n&&Le.splice(n,o?6:2),t&&(o?Fe.unshift(We,t,Ge,t,qe,t):Fe.unshift(r,t))},ScrollTrigger.clearMatchMedia=function clearMatchMedia(t){Ot.forEach(function(e){return e._ctx&&e._ctx.query===t&&e._ctx.kill(!0,!0)})},ScrollTrigger.isInViewport=function isInViewport(e,t,r){var n=(Ja(e)?I(e):e).getBoundingClientRect(),o=n[r?mt:yt]*t||0;return r?0<n.right-o&&n.left+o<We.innerWidth:0<n.bottom-o&&n.top+o<We.innerHeight},ScrollTrigger.positionInViewport=function positionInViewport(e,t,r){Ja(e)&&(e=I(e));var n=e.getBoundingClientRect(),o=n[r?mt:yt],i=null==t?o/2:t in D?D[t]*o:~t.indexOf("%")?parseFloat(t)*o/100:parseFloat(t)||0;return r?(n.left+i)/We.innerWidth:(n.top+i)/We.innerHeight},ScrollTrigger.killAll=function killAll(e){if(Ot.forEach(function(e){return"ScrollSmoother"!==e.vars.id&&e.kill()}),!0!==e){var t=X.killAll||[];X={},t.forEach(function(e){return e()})}},ScrollTrigger);function ScrollTrigger(e,t){a||ScrollTrigger.register(Ke)||console.warn("Please gsap.registerPlugin(ScrollTrigger)"),this.init(e,t)}Z.version="3.11.3",Z.saveStyles=function(e){return e?et(e).forEach(function(e){if(e&&e.style){var t=V.indexOf(e);0<=t&&V.splice(t,5),V.push(e,e.style.cssText,e.getBBox&&e.getAttribute("transform"),Ke.core.getCache(e),lt())}}):V},Z.revert=function(e,t){return Jb(!e,t)},Z.create=function(e,t){return new Z(e,t)},Z.refresh=function(e){return e?Cb():(a||Z.register())&&zt(!0)},Z.update=j,Z.clearScrollMemory=Kb,Z.maxScroll=function(e,t){return Ha(e,t?Je:Ne)},Z.getScrollFunc=function(e,t){return J(I(e),t?Je:Ne)},Z.getById=function(e){return Dt[e]},Z.getAll=function(){return Ot.filter(function(e){return"ScrollSmoother"!==e.vars.id})},Z.isScrolling=function(){return!!ht},Z.snapDirectional=kb,Z.addEventListener=function(e,t){var r=X[e]||(X[e]=[]);~r.indexOf(t)||r.push(t)},Z.removeEventListener=function(e,t){var r=X[e],n=r&&r.indexOf(t);0<=n&&r.splice(n,1)},Z.batch=function(e,t){function Do(e,t){var r=[],n=[],o=Ke.delayedCall(i,function(){t(r,n),r=[],n=[]}).pause();return function(e){r.length||o.restart(!0),r.push(e.trigger),n.push(e),a<=r.length&&o.progress(1)}}var r,n=[],o={},i=t.interval||.016,a=t.batchMax||1e9;for(r in t)o[r]="on"===r.substr(0,2)&&Ka(t[r])&&"onRefreshInit"!==r?Do(0,t[r]):t[r];return Ka(a)&&(a=a(),nb(Z,"refresh",function(){return a=t.batchMax()})),et(e).forEach(function(e){var t={};for(r in o)t[r]=o[r];t.trigger=e,n.push(Z.create(t))}),n};function gc(e,t,r,n){return n<t?e(n):t<0&&e(0),n<r?(n-t)/(r-t):r<0?t/(t-r):1}function hc(e,t){!0===t?e.style.removeProperty("touch-action"):e.style.touchAction=!0===t?"auto":t?"pan-"+t+(k.isTouch?" pinch-zoom":""):"none",e===qe&&hc(Ge,t)}function jc(e){var t,r=e.event,n=e.target,o=e.axis,i=(r.changedTouches?r.changedTouches[0]:r).target,a=i._gsap||Ke.core.getCache(i),s=gt();if(!a._isScrollT||2e3<s-a._isScrollT){for(;i&&i.scrollHeight<=i.clientHeight;)i=i.parentNode;a._isScroll=i&&!Da(i)&&i!==n&&(te[(t=db(i)).overflowY]||te[t.overflowX]),a._isScrollT=s}!a._isScroll&&"x"!==o||(r.stopPropagation(),r._gsapAllow=!0)}function kc(e,t,r,n){return k.create({target:e,capture:!0,debounce:!1,lockAxis:!0,type:t,onWheel:n=n&&jc,onPress:n,onDrag:n,onScroll:n,onEnable:function onEnable(){return r&&nb(je,k.eventTypes[0],ne,!1,!0)},onDisable:function onDisable(){return ob(je,k.eventTypes[0],ne,!0)}})}function oc(e){function zp(){return o=!1}function Cp(){i=Ha(d,Ne),T=tt(P?1:0,i),f&&(_=tt(0,Ha(d,Je))),l=It}function Dp(){h._gsap.y=Aa(parseFloat(h._gsap.y)+v.offset)+"px",h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+parseFloat(h._gsap.y)+", 0, 1)",v.offset=v.cac
5heID=0}function Jp(){Cp(),a.isActive()&&a.vars.scrollY>i&&(v()>i?a.progress(1)&&v(i):a.resetTo("scrollY",i))}Ma(e)||(e={}),e.preventDefault=e.isNormalizer=e.allowClicks=!0,e.type||(e.type="wheel,touch"),e.debounce=!!e.debounce,e.id=e.id||"normalizer";var n,i,l,o,a,c,u,s,f=e.normalizeScrollX,t=e.momentum,r=e.allowNestedScroll,d=I(e.target)||qe,p=Ke.core.globals().ScrollSmoother,g=p&&p.get(),h=P&&(e.content&&I(e.content)||g&&!1!==e.content&&!g.smooth()&&g.content()),v=J(d,Ne),b=J(d,Je),m=1,y=(k.isTouch&&We.visualViewport?We.visualViewport.scale*We.visualViewport.width:We.outerWidth)/We.innerWidth,x=0,S=Ka(t)?function(){return t(n)}:function(){return t||2.8},w=kc(d,e.type,!0,r),_=za,T=za;return h&&Ke.set(h,{y:"+=0"}),e.ignoreCheck=function(e){return P&&"touchmove"===e.type&&function ignoreDrag(){if(o){requestAnimationFrame(zp);var e=Aa(n.deltaY/2),t=T(v.v-e);if(h&&t!==v.v+v.offset){v.offset=t-v.v;var r=Aa((parseFloat(h&&h._gsap.y)||0)-v.offset);h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+r+", 0, 1)",h._gsap.y=r+"px",v.cacheID=Le.cache,j()}return!0}v.offset&&Dp(),o=!0}()||1.05<m&&"touchstart"!==e.type||n.isGesturing||e.touches&&1<e.touches.length},e.onPress=function(){var e=m;m=Aa((We.visualViewport&&We.visualViewport.scale||1)/y),a.pause(),e!==m&&hc(d,1.01<m||!f&&"x"),c=b(),u=v(),Cp(),l=It},e.onRelease=e.onGestureStart=function(e,t){if(v.offset&&Dp(),t){Le.cache++;var r,n,o=S();f&&(n=(r=b())+.05*o*-e.velocityX/.227,o*=gc(b,r,n,Ha(d,Je)),a.vars.scrollX=_(n)),n=(r=v())+.05*o*-e.velocityY/.227,o*=gc(v,r,n,Ha(d,Ne)),a.vars.scrollY=T(n),a.invalidate().duration(o).play(.01),(P&&a.vars.scrollY>=i||i-1<=r)&&Ke.to({},{onUpdate:Jp,duration:o})}else s.restart(!0)},e.onWheel=function(){a._ts&&a.pause(),1e3<gt()-x&&(l=0,x=gt())},e.onChange=function(e,t,r,n,o){if(It!==l&&Cp(),t&&f&&b(_(n[2]===t?c+(e.startX-e.x):b()+t-n[1])),r){v.offset&&Dp();var i=o[2]===r,a=i?u+e.startY-e.y:v()+r-o[1],s=T(a);i&&a!==s&&(u+=s-a),v(s)}(r||t)&&j()},e.onEnable=function(){hc(d,!f&&"x"),Z.addEventListener("refresh",Jp),nb(We,"resize",Jp),v.smooth&&(v.target.style.scrollBehavior="auto",v.smooth=b.smooth=!1),w.enable()},e.onDisable=function(){hc(d,!0),ob(We,"resize",Jp),Z.removeEventListener("refresh",Jp),w.kill()},e.lockAxis=!1!==e.lockAxis,((n=new k(e)).iOS=P)&&!v()&&v(1),P&&Ke.ticker.add(za),s=n._dc,a=Ke.to(n,{ease:"power4",paused:!0,scrollX:f?"+=0.1":"+=0",scrollY:"+=0.1",onComplete:s.vars.onComplete}),n}var ee,te={auto:1,scroll:1},re=/(input|label|select|textarea)/i,ne=function _captureInputs(e){var t=re.test(e.target.tagName);(t||ee)&&(e._gsapAllow=!0,ee=t)};Z.sort=function(e){return Ot.sort(e||function(e,t){return-1e6*(e.vars.refreshPriority||0)+e.start-(t.start+-1e6*(t.vars.refreshPriority||0))})},Z.observe=function(e){return new k(e)},Z.normalizeScroll=function(e){if(void 0===e)return h;if(!0===e&&h)return h.enable();if(!1===e)return h&&h.kill();var t=e instanceof k?e:oc(e);return h&&h.target===t.target&&h.kill(),Da(t.target)&&(h=t),t},Z.core={_getVelocityProp:K,_inputObserver:kc,_scrollers:Le,_proxies:Fe,bridge:{ss:function ss(){ht||H("scrollStart"),ht=gt()},ref:function ref(){return nt}}},Ca()&&Ke.registerPlugin(Z),e.ScrollTrigger=Z,e.default=Z;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
6
7
8
9
10( function( window, factory ) {
11  if ( typeof define == 'function' && define.amd ) {
12    define( 'jquery-bridget/jquery-bridget',[ 'jquery' ], function( jQuery ) {
13      return factory( window, jQuery );
14    });
15  } else if ( typeof module == 'object' && module.exports ) {
16    module.exports = factory(
17      window,
18      require('jquery')
19    );
20  } else {
21    window.jQueryBridget = factory(
22      window,
23      window.jQuery
24    );
25  }
26
27}( window, function factory( window, jQuery ) {
28'use strict';
29
30
31var arraySlice = Array.prototype.slice;
32
33var console = window.console;
34var logError = typeof console == 'undefined' ? function() {} :
35  function( message ) {
36    console.error( message );
37  };
38
39
40function jQueryBridget( namespace, PluginClass, $ ) {
41  $ = $ || jQuery || window.jQuery;
42  if ( !$ ) {
43    return;
44  }
45
46  if ( !PluginClass.prototype.option ) {
47    PluginClass.prototype.option = function( opts ) {
48      if ( !$.isPlainObject( opts ) ){
49        return;
50      }
51      this.options = $.extend( true, this.options, opts );
52    };
53  }
54
55  $.fn[ namespace ] = function( arg0  ) {
56    if ( typeof arg0 == 'string' ) {
57      var args = arraySlice.call( arguments, 1 );
58      return methodCall( this, arg0, args );
59    }
60    plainCall( this, arg0 );
61    return this;
62  };
63
64  function methodCall( $elems, methodName, args ) {
65    var returnValue;
66    var pluginMethodStr = '$().' + namespace + '("' + methodName + '")';
67
68    $elems.each( function( i, elem ) {
69      var instance = $.data( elem, namespace );
70      if ( !instance ) {
71        logError( namespace + ' not initialized. Cannot call methods, i.e. ' +
72          pluginMethodStr );
73        return;
74      }
75
76      var method = instance[ methodName ];
77      if ( !method || methodName.charAt(0) == '_' ) {
78        logError( pluginMethodStr + ' is not a valid method' );
79        return;
80      }
81
82      var value = method.apply( instance, args );
83      returnValue = returnValue === undefined ? value : returnValue;
84    });
85
86    return returnValue !== undefined ? returnValue : $elems;
87  }
88
89  function plainCall( $elems, options ) {
90    $elems.each( function( i, elem ) {
91      var instance = $.data( elem, namespace );
92      if ( instance ) {
93        instance.option( options );
94        instance._init();
95      } else {
96        instance = new PluginClass( elem, options );
97        $.data( elem, namespace, instance );
98      }
99    });
100  }
101
102  updateJQuery( $ );
103
104}
105
106
107function updateJQuery( $ ) {
108  if ( !$ || ( $ && $.bridget ) ) {
109    return;
110  }
111  $.bridget = jQueryBridget;
112}
113
114updateJQuery( jQuery || window.jQuery );
115
116
117return jQueryBridget;
118
119}));
120
121
122
123( function( global, factory ) {
124  if ( typeof define == 'function' && define.amd ) {
125    define( 'ev-emitter/ev-emitter',factory );
126  } else if ( typeof module == 'object' && module.exports ) {
127    module.exports = factory();
128  } else {
129    global.EvEmitter = factory();
130  }
131
132}( typeof window != 'undefined' ? window : this, function() {
133
134
135
136function EvEmitter() {}
137
138var proto = EvEmitter.prototype;
139
140proto.on = function( eventName, listener ) {
141  if ( !eventName || !listener ) {
142    return;
143  }
144  var events = this._events = this._events || {};
145  var listeners = events[ eventName ] = events[ eventName ] || [];
146  if ( listeners.indexOf( listener ) == -1 ) {
147    listeners.push( listener );
148  }
149
150  return this;
151};
152
153proto.once = function( eventName, listener ) {
154  if ( !eventName || !listener ) {
155    return;
156  }
157  this.on( eventName, listener );
158  var onceEvents = this._onceEvents = this._onceEvents || {};
159  var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
160  onceListeners[ listener ] = true;
161
162  return this;
163};
164
165proto.off = function( eventName, listener ) {
166  var listeners = this._events && this._events[ eventName ];
167  if ( !listeners || !listeners.length ) {
168    return;
169  }
170  var index = listeners.indexOf( listener );
171  if ( index != -1 ) {
172    listeners.splice( index, 1 );
173  }
174
175  return this;
176};
177
178proto.emitEvent = function( eventName, args ) {
179  var listeners = this._events && this._events[ eventName ];
180  if ( !listeners || !listeners.length ) {
181    return;
182  }
183  listeners = listeners.slice(0);
184  args = args || [];
185  var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
186
187  for ( var i=0; i < listeners.length; i++ ) {
188    var listener = listeners[i]
189    var isOnce = onceListeners && onceListeners[ listener ];
190    if ( isOnce ) {
191      this.off( eventName, listener );
192      delete onceListeners[ listener ];
193    }
194    listener.apply( this, args );
195  }
196
197  return this;
198};
199
200proto.allOff = function() {
201  delete this._events;
202  delete this._onceEvents;
203};
204
205return EvEmitter;
206
207}));
208
209
210
211( function( window, factory ) {
212  if ( typeof define == 'function' && define.amd ) {
213    define( 'get-size/get-size',factory );
214  } else if ( typeof module == 'object' && module.exports ) {
215    module.exports = factory();
216  } else {
217    window.getSize = factory();
218  }
219
220})( window, function factory() {
221'use strict';
222
223
224function getStyleSize( value ) {
225  var num = parseFloat( value );
226  var isValid = value.indexOf('%') == -1 && !isNaN( num );
227  return isValid && num;
228}
229
230function noop() {}
231
232var logError = typeof console == 'undefined' ? noop :
233  function( message ) {
234    console.error( message );
235  };
236
237
238var measurements = [
239  'paddingLeft',
240  'paddingRight',
241  'paddingTop',
242  'paddingBottom',
243  'marginLeft',
244  'marginRight',
245  'marginTop',
246  'marginBottom',
247  'borderLeftWidth',
248  'borderRightWidth',
249  'borderTopWidth',
250  'borderBottomWidth'
251];
252
253var measurementsLength = measurements.length;
254
255function getZeroSize() {
256  var size = {
257    width: 0,
258    height: 0,
259    innerWidth: 0,
260    innerHeight: 0,
261    outerWidth: 0,
262    outerHeight: 0
263  };
264  for ( var i=0; i < measurementsLength; i++ ) {
265    var measurement = measurements[i];
266    size[ measurement ] = 0;
267  }
268  return size;
269}
270
271
272function getStyle( elem ) {
273  var style = getComputedStyle( elem );
274  if ( !style ) {
275    logError( 'Style returned ' + style +
276      '. Are you running this code in a hidden iframe on Firefox? ' +
277      'See https://bit.ly/getsizebug1' );
278  }
279  return style;
280}
281
282
283var isSetup = false;
vendor: 5,187 bytes, lines 284-513
284
285var isBoxSizeOuter;
286
287function setup() {
288  if ( isSetup ) {
289    return;
290  }
291  isSetup = true;
292
293
294  var div = document.createElement('div');
295  div.style.width = '200px';
296  div.style.padding = '1px 2px 3px 4px';
297  div.style.borderStyle = 'solid';
298  div.style.borderWidth = '1px 2px 3px 4px';
299  div.style.boxSizing = 'border-box';
300
301  var body = document.body || document.documentElement;
302  body.appendChild( div );
303  var style = getStyle( div );
304  isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;
305  getSize.isBoxSizeOuter = isBoxSizeOuter;
306
307  body.removeChild( div );
308}
309
310
311function getSize( elem ) {
312  setup();
313
314  if ( typeof elem == 'string' ) {
315    elem = document.querySelector( elem );
316  }
317
318  if ( !elem || typeof elem != 'object' || !elem.nodeType ) {
319    return;
320  }
321
322  var style = getStyle( elem );
323
324  if ( style.display == 'none' ) {
325    return getZeroSize();
326  }
327
328  var size = {};
329  size.width = elem.offsetWidth;
330  size.height = elem.offsetHeight;
331
332  var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';
333
334  for ( var i=0; i < measurementsLength; i++ ) {
335    var measurement = measurements[i];
336    var value = style[ measurement ];
337    var num = parseFloat( value );
338    size[ measurement ] = !isNaN( num ) ? num : 0;
339  }
340
341  var paddingWidth = size.paddingLeft + size.paddingRight;
342  var paddingHeight = size.paddingTop + size.paddingBottom;
343  var marginWidth = size.marginLeft + size.marginRight;
344  var marginHeight = size.marginTop + size.marginBottom;
345  var borderWidth = size.borderLeftWidth + size.borderRightWidth;
346  var borderHeight = size.borderTopWidth + size.borderBottomWidth;
347
348  var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
349
350  var styleWidth = getStyleSize( style.width );
351  if ( styleWidth !== false ) {
352    size.width = styleWidth +
353      ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
354  }
355
356  var styleHeight = getStyleSize( style.height );
357  if ( styleHeight !== false ) {
358    size.height = styleHeight +
359      ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
360  }
361
362  size.innerWidth = size.width - ( paddingWidth + borderWidth );
363  size.innerHeight = size.height - ( paddingHeight + borderHeight );
364
365  size.outerWidth = size.width + marginWidth;
366  size.outerHeight = size.height + marginHeight;
367
368  return size;
369}
370
371return getSize;
372
373});
374
375
376
377( function( window, factory ) {
378  'use strict';
379  if ( typeof define == 'function' && define.amd ) {
380    define( 'desandro-matches-selector/matches-selector',factory );
381  } else if ( typeof module == 'object' && module.exports ) {
382    module.exports = factory();
383  } else {
384    window.matchesSelector = factory();
385  }
386
387}( window, function factory() {
388  'use strict';
389
390  var matchesMethod = ( function() {
391    var ElemProto = window.Element.prototype;
392    if ( ElemProto.matches ) {
393      return 'matches';
394    }
395    if ( ElemProto.matchesSelector ) {
396      return 'matchesSelector';
397    }
398    var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
399
400    for ( var i=0; i < prefixes.length; i++ ) {
401      var prefix = prefixes[i];
402      var method = prefix + 'MatchesSelector';
403      if ( ElemProto[ method ] ) {
404        return method;
405      }
406    }
407  })();
408
409  return function matchesSelector( elem, selector ) {
410    return elem[ matchesMethod ]( selector );
411  };
412
413}));
414
415
416
417( function( window, factory ) {
418
419  if ( typeof define == 'function' && define.amd ) {
420    define( 'fizzy-ui-utils/utils',[
421      'desandro-matches-selector/matches-selector'
422    ], function( matchesSelector ) {
423      return factory( window, matchesSelector );
424    });
425  } else if ( typeof module == 'object' && module.exports ) {
426    module.exports = factory(
427      window,
428      require('desandro-matches-selector')
429    );
430  } else {
431    window.fizzyUIUtils = factory(
432      window,
433      window.matchesSelector
434    );
435  }
436
437}( window, function factory( window, matchesSelector ) {
438
439
440
441var utils = {};
442
443
444utils.extend = function( a, b ) {
445  for ( var prop in b ) {
446    a[ prop ] = b[ prop ];
447  }
448  return a;
449};
450
451
452utils.modulo = function( num, div ) {
453  return ( ( num % div ) + div ) % div;
454};
455
456
457var arraySlice = Array.prototype.slice;
458
459utils.makeArray = function( obj ) {
460  if ( Array.isArray( obj ) ) {
461    return obj;
462  }
463  if ( obj === null || obj === undefined ) {
464    return [];
465  }
466
467  var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
468  if ( isArrayLike ) {
469    return arraySlice.call( obj );
470  }
471
472  return [ obj ];
473};
474
475
476utils.removeFrom = function( ary, obj ) {
477  var index = ary.indexOf( obj );
478  if ( index != -1 ) {
479    ary.splice( index, 1 );
480  }
481};
482
483
484utils.getParent = function( elem, selector ) {
485  while ( elem.parentNode && elem != document.body ) {
486    elem = elem.parentNode;
487    if ( matchesSelector( elem, selector ) ) {
488      return elem;
489    }
490  }
491};
492
493
494utils.getQueryElement = function( elem ) {
495  if ( typeof elem == 'string' ) {
496    return document.querySelector( elem );
497  }
498  return elem;
499};
500
501
502utils.handleEvent = function( event ) {
503  var method = 'on' + event.type;
504  if ( this[ method ] ) {
505    this[ method ]( event );
506  }
507};
508
509
510utils.filterFindElements = function( elems, selector ) {
511  elems = utils.makeArray( elems );
512  var ffElems = [];
513
514  elems.forEach( function( elem ) {
515    if ( !( elem instanceof HTMLElement ) ) {
516      return;
517    }
518    if ( !selector ) {
519      ffElems.push( elem );
520      return;
521    }
522    if ( matchesSelector( elem, selector ) ) {
523      ffElems.push( elem );
524    }
525    var childElems = elem.querySelectorAll( selector );
526    for ( var i=0; i < childElems.length; i++ ) {
527      ffElems.push( childElems[i] );
528    }
529  });
530
531  return ffElems;
532};
533
534
535utils.debounceMethod = function( _class, methodName, threshold ) {
536  threshold = threshold || 100;
537  var method = _class.prototype[ methodName ];
538  var timeoutName = methodName + 'Timeout';
539
540  _class.prototype[ methodName ] = function() {
541    var timeout = this[ timeoutName ];
542    clearTimeout( timeout );
543
544    var args = arguments;
545    var _this = this;
546    this[ timeoutName ] = setTimeout( function() {
547      method.apply( _this, args );
548      delete _this[ timeoutName ];
549    }, threshold );
550  };
551};
552
553
554utils.docReady = function( callback ) {
555  var readyState = document.readyState;
556  if ( readyState == 'complete' || readyState == 'interactive' ) {
557    setTimeout( callback );
558  } else {
559    document.addEventListener( 'DOMContentLoaded', callback );
560  }
561};
562
563
564utils.toDashed = function( str ) {
565  return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
566    return $1 + '-' + $2;
567  }).toLowerCase();
568};
569
570var console = window.console;
571utils.htmlInit = function( WidgetClass, namespace ) {
572  utils.docReady( function() {
573    var dashedNamespace = utils.toDashed( namespace );
574    var dataAttr = 'data-' + dashedNamespace;
575    var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
576    var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
577    var elems = utils.makeArray( dataAttrElems )
578      .concat( utils.makeArray( jsDashElems ) );
579    var dataOptionsAttr = dataAttr + '-options';
580    var jQuery = window.jQuery;
581
582    elems.forEach( function( elem ) {
583      var attr = elem.getAttribute( dataAttr ) ||
584        elem.getAttribute( dataOptionsAttr );
585      var options;
586      try {
587        options = attr && JSON.parse( attr );
588      } catch ( error ) {
589        if ( console ) {
590          console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
591          ': ' + error );
592        }
593        return;
594      }
595      var instance = new WidgetClass( elem, options );
596      if ( jQuery ) {
597        jQuery.data( elem, namespace, instance );
598      }
599    });
600
601  });
602};
603
604
605return utils;
606
607}));
608
609( function( window, factory ) {
610  if ( typeof define == 'function' && define.amd ) {
611    define( 'flickity/js/cell',[
612      'get-size/get-size',
613    ], function( getSize ) {
614      return factory( window, getSize );
615    } );
616  } else if ( typeof module == 'object' && module.exports ) {
617    module.exports = factory(
618        window,
619        require('get-size')
620    );
621  } else {
622    window.Flickity = window.Flickity || {};
623    window.Flickity.Cell = factory(
624        window,
625        window.getSize
626    );
627  }
628
629}( window, function factory( window, getSize ) {
630
631
632
633function Cell( elem, parent ) {
634  this.element = elem;
635  this.parent = parent;
636
637  this.create();
638}
639
640var proto = Cell.prototype;
641
642proto.create = function() {
643  this.element.style.position = 'absolute';
644  this.element.setAttribute( 'aria-hidden', 'true' );
645  this.x = 0;
646  this.shift = 0;
647  this.element.style[ this.parent.originSide ] = 0;
648};
649
650proto.destroy = function() {
651  this.unselect();
652  this.element.style.position = '';
653  var side = this.parent.originSide;
654  this.element.style[ side ] = '';
655  this.element.style.transform = '';
656  this.element.removeAttribute('aria-hidden');
657};
658
659proto.getSize = function() {
660  this.size = getSize( this.element );
661};
662
663proto.setPosition = function( x ) {
664  this.x = x;
665  this.updateTarget();
666  this.renderPosition( x );
667};
668
669proto.updateTarget = proto.setDefaultTarget = function() {
670  var marginProperty = this.parent.originSide == 'left' ? 'marginLeft' : 'marginRight';
671  this.target = this.x + this.size[ marginProperty ] +
672    this.size.width * this.parent.cellAlign;
673};
674
675proto.renderPosition = function( x ) {
676  var sideOffset = this.parent.originSide === 'left' ? 1 : -1;
677
678  var adjustedX = this.parent.options.percentPosition ?
679    x * sideOffset * ( this.parent.size.innerWidth / this.size.width ) :
680    x * sideOffset;
681
682  this.element.style.transform = 'translateX(' +
683    this.parent.getPositionValue( adjustedX ) + ')';
684};
685
686proto.select = function() {
687  this.element.classList.add('is-selected');
688  this.element.removeAttribute('aria-hidden');
689};
690
691proto.unselect = function() {
692  this.element.classList.remove('is-selected');
693  this.element.setAttribute( 'aria-hidden', 'true' );
694};
695
696proto.wrapShift = function( shift ) {
697  this.shift = shift;
698  this.renderPosition( this.x + this.parent.slideableWidth * shift );
699};
700
701proto.remove = function() {
702  this.element.parentNode.removeChild( this.element );
703};
704
705return Cell;
706
707} ) );
708
709( function( window, factory ) {
710  if ( typeof define == 'function' && define.amd ) {
711    define( 'flickity/js/slide',factory );
712  } else if ( typeof module == 'object' && module.exports ) {
713    module.exports = factory();
714  } else {
715    window.Flickity = window.Flickity || {};
716    window.Flickity.Slide = factory();
717  }
718
719}( window, function factory() {
720'use strict';
721
722function Slide( parent ) {
723  this.parent = parent;
724  this.isOriginLeft = parent.originSide == 'left';
725  this.cells = [];
726  this.outerWidth = 0;
727  this.height = 0;
728}
729
730var proto = Slide.prototype;
731
732proto.addCell = function( cell ) {
733  this.cells.push( cell );
734  this.outerWidth += cell.size.outerWidth;
735  this.height = Math.max( cell.size.outerHeight, this.height );
736  if ( this.cells.length == 1 ) {
737    this.x = cell.x; 
738    var beginMargin = this.isOriginLeft ? 'marginLeft' : 'marginRight';
739    this.firstMargin = cell.size[ beginMargin ];
740  }
741};
742
743proto.updateTarget = function() {
744  var endMargin = this.isOriginLeft ? 'marginRight' : 'marginLeft';
745  var lastCell = this.getLastCell();
746  var lastMargin = lastCell ? lastCell.size[ endMargin ] : 0;
747  var slideWidth = this.outerWidth - ( this.firstMargin + lastMargin );
748  this.target = this.x + this.firstMargin + slideWidth * this.parent.cellAlign;
749};
750
751proto.getLastCell = function() {
752  return this.cells[ this.cells.length - 1 ];
753};
754
755proto.select = function() {
756  this.cells.forEach( function( cell ) {
757    cell.select();
758  } );
759};
760
761proto.unselect = function() {
762  this.cells.forEach( function( cell ) {
763    cell.unselect();
764  } );
765};
766
767proto.getCellElements = function() {
768  return this.cells.map( function( cell ) {
769    return cell.element;
770  } );
771};
772
773return Slide;
774
775} ) );
776
777( function( window, factory ) {
778  if ( typeof define == 'function' && define.amd ) {
779    define( 'flickity/js/animate',[
780      'fizzy-ui-utils/utils',
781    ], function( utils ) {
782      return factory( window, utils );
783    } );
784  } else if ( typeof module == 'object' && module.exports ) {
785    module.exports = factory(
786        window,
787        require('fizzy-ui-utils')
788    );
789  } else {
790    window.Flickity = window.Flickity || {};
791    window.Flickity.animatePrototype = factory(
792        window,
793        window.fizzyUIUtils
794    );
795  }
796
797}( window, function factory( window, utils ) {
798
799
800
801
802var proto = {};
803
804proto.startAnimation = function() {
805  if ( this.isAnimating ) {
806    return;
807  }
808
809  this.isAnimating = true;
810  this.restingFrames = 0;
811  this.animate();
812};
813
814proto.animate = function() {
815  this.applyDragForce();
816  this.applySelectedAttraction();
817
818  var previousX = this.x;
819
820  this.integratePhysics();
821  this.positionSlider();
822  this.settle( previousX );
823  if ( this.isAnimating ) {
824    var _this = this;
825    requestAnimationFrame( function animateFrame() {
826      _this.animate();
827    } );
828  }
829};
830
831proto.positionSlider = function() {
832  var x = this.x;
833  if ( this.options.wrapAround && this.cells.length > 1 ) {
834    x = utils.modulo( x, this.slideableWidth );
835    x -= this.slideableWidth;
836    this.shiftWrapCells( x );
837  }
838
839  this.setTranslateX( x, this.isAnimating );
840  this.dispatchScrollEvent();
841};
842
843proto.setTranslateX = function( x, is3d ) {
844  x += this.cursorPosition;
845  x = this.options.rightToLeft ? -x : x;
846  var translateX = this.getPositionValue( x );
847  this.slider.style.transform = is3d ?
848    'translate3d(' + translateX + ',0,0)' : 'translateX(' + translateX + ')';
849};
850
851proto.dispatchScrollEvent = function() {
852  var firstSlide = this.slides[0];
853  if ( !firstSlide ) {
854    return;
855  }
856  var positionX = -this.x - firstSlide.target;
857  var progress = positionX / this.slidesWidth;
858  this.dispatchEvent( 'scroll', null, [ progress, positionX ] );
859};
860
861proto.positionSliderAtSelected = function() {
862  if ( !this.cells.length ) {
863    return;
864  }
865  this.x = -this.selectedSlide.target;
866  this.velocity = 0; 
867  this.positionSlider();
868};
869
870proto.getPositionValue = function( position ) {
871  if ( this.options.percentPosition ) {
872    return ( Math.round( ( position / this.size.innerWidth ) * 10000 ) * 0.01 ) + '%';
873  } else {
874    return Math.round( position ) + 'px';
875  }
876};
877
878proto.settle = function( previousX ) {
879  var isResting = !this.isPointerDown &&
880      Math.round( this.x * 100 ) == Math.round( previousX * 100 );
881  if ( isResting ) {
882    this.restingFrames++;
883  }
884  if ( this.restingFrames > 2 ) {
885    this.isAnimating = false;
886    delete this.isFreeScrolling;
887    this.positionSlider();
888    this.dispatchEvent( 'settle', null, [ this.selectedIndex ] );
889  }
890};
891
892proto.shiftWrapCells = function( x ) {
893  var beforeGap = this.cursorPosition + x;
894  this._shiftCells( this.beforeShiftCells, beforeGap, -1 );
895  var afterGap = this.size.innerWidth - ( x + this.slideableWidth + this.cursorPosition );
896  this._shiftCells( this.afterShiftCells, afterGap, 1 );
897};
898
899proto._shiftCells = function( cells, gap, shift ) {
900  for ( var i = 0; i < cells.length; i++ ) {
901    var cell = cells[i];
902    var cellShift = gap > 0 ? shift : 0;
903    cell.wrapShift( cellShift );
904    gap -= cell.size.outerWidth;
905  }
906};
907
908proto._unshiftCells = function( cells ) {
909  if ( !cells || !cells.length ) {
910    return;
911  }
912  for ( var i = 0; i < cells.length; i++ ) {
913    cells[i].wrapShift( 0 );
914  }
915};
916
917
918proto.integratePhysics = function() {
919  this.x += this.velocity;
920  this.velocity *= this.getFrictionFactor();
921};
922
923proto.applyForce = function( force ) {
924  this.velocity += force;
925};
926
927proto.getFrictionFactor = function() {
928  return 1 - this.options[ this.isFreeScrolling ? 'freeScrollFriction' : 'friction' ];
929};
930
931proto.getRestingPosition = function() {
932  return this.x + this.velocity / ( 1 - this.getFrictionFactor() );
933};
934
935proto.applyDragForce = function() {
936  if ( !this.isDraggable || !this.isPointerDown ) {
937    return;
938  }
939  var dragVelocity = this.dragX - this.x;
940  var dragForce = dragVelocity - this.velocity;
941  this.applyForce( dragForce );
942};
943
944proto.applySelectedAttraction = function() {
945  var dragDown = this.isDraggable && this.isPointerDown;
946  if ( dragDown || this.isFreeScrolling || !this.slides.length ) {
947    return;
948  }
949  var distance = this.selectedSlide.target * -1 - this.x;
950  var force = distance * this.options.selectedAttraction;
951  this.applyForce( force );
952};
953
954return proto;
955
956} ) );
957
958( function( window, factory ) {
959  if ( typeof define == 'function' && define.amd ) {
960    define( 'flickity/js/flickity',[
961      'ev-emitter/ev-emitter',
962      'get-size/get-size',
963      'fizzy-ui-utils/utils',
964      './cell',
965      './slide',
966      './animate',
967    ], function( EvEmitter, getSize, utils, Cell, Slide, animatePrototype ) {
968      return factory( window, EvEmitter, getSize, utils, Cell, Slide, animatePrototype );
969    } );
970  } else if ( typeof module == 'object' && module.exports ) {
971    module.exports = factory(
972        window,
973        require('ev-emitter'),
974        require('get-size'),
975        require('fizzy-ui-utils'),
976        require('./cell'),
977        require('./slide'),
978        require('./animate')
979    );
980  } else {
981    var _Flickity = window.Flickity;
982
983    window.Flickity = factory(
984        window,
985        window.EvEmitter,
986        window.getSize,
987        window.fizzyUIUtils,
988        _Flickity.Cell,
989        _Flickity.Slide,
990        _Flickity.animatePrototype
991    );
992  }
993
994}( window, function factory( window, EvEmitter, getSize,
995    utils, Cell, Slide, animatePrototype ) {
996
997
998
999var jQuery = window.jQuery;
1000var getComputedStyle = window.getComputedStyle;
1001var console = window.console;
1002
1003function moveElements( elems, toElem ) {
1004  elems = utils.makeArray( elems );
1005  while ( elems.length ) {
1006    toElem.appendChild( elems.shift() );
1007  }
1008}
1009
1010
1011var GUID = 0;
1012var instances = {};
1013
1014function Flickity( element, options ) {
1015  var queryElement = utils.getQueryElement( element );
1016  if ( !queryElement ) {
1017    if ( console ) {
1018      console.error( 'Bad element for Flickity: ' + ( queryElement || element ) );
1019    }
1020    return;
1021  }
1022  this.element = queryElement;
1023  if ( this.element.flickityGUID ) {
1024    var instance = instances[ this.element.flickityGUID ];
1025    if ( instance ) instance.option( options );
1026    return instance;
1027  }
1028
1029  if ( jQuery ) {
1030    this.$element = jQuery( this.element );
1031  }
1032  this.options = utils.extend( {}, this.constructor.defaults );
1033  this.option( options );
1034
1035  this._create();
1036}
1037
1038Flickity.defaults = {
1039  accessibility: true,
1040  cellAlign: 'center',
1041  freeScrollFriction: 0.075, 
1042  friction: 0.28, 
1043  namespaceJQueryEvents: true,
1044  percentPosition: true,
1045  resize: true,
1046  selectedAttraction: 0.025,
1047  setGallerySize: true,
1048};
1049
1050Flickity.createMethods = [];
1051
1052var proto = Flickity.prototype;
1053utils.extend( proto, EvEmitter.prototype );
1054
1055proto._create = function() {
1056  var id = this.guid = ++GUID;
1057  this.element.flickityGUID = id; 
1058  instances[ id ] = this; 
1059  this.selectedIndex = 0;
1060  this.restingFrames = 0;
1061  this.x = 0;
1062  this.velocity = 0;
1063  this.originSide = this.options.rightToLeft ? 'right' : 'left';
1064  this.viewport = document.createElement('div');
1065  this.viewport.className = 'flickity-viewport';
1066  this._createSlider();
1067
1068  if ( this.options.resize || this.options.watchCSS ) {
1069    window.addEventListener( 'resize', this );
1070  }
1071
1072  for ( var eventName in this.options.on ) {
1073    var listener = this.options.on[ eventName ];
1074    this.on( eventName, listener );
1075  }
1076
1077  Flickity.createMethods.forEach( function( method ) {
1078    this[ method ]();
1079  }, this );
1080
1081  if ( this.options.watchCSS ) {
1082    this.watchCSS();
1083  } else {
1084    this.activate();
1085  }
1086
1087};
1088
1089proto.option = function( opts ) {
1090  utils.extend( this.options, opts );
1091};
1092
1093proto.activate = function() {
1094  if ( this.isActive ) {
1095    return;
1096  }
1097  this.isActive = true;
1098  this.element.classList.add('flickity-enabled');
1099  if ( this.options.rightToLeft ) {
1100    this.element.classList.add('flickity-rtl');
1101  }
1102
1103  this.getSize();
1104  var cellElems = this._filterFindCellElements( this.element.children );
1105  moveElements( cellElems, this.slider );
1106  this.viewport.appendChild( this.slider );
1107  this.element.appendChild( this.viewport );
1108  this.reloadCells();
1109
1110  if ( this.options.accessibility ) {
1111    this.element.tabIndex = 0;
1112    this.element.addEventListener( 'keydown', this );
1113  }
1114
1115  this.emitEvent('activate');
1116  this.selectInitialIndex();
1117  this.isInitActivated = true;
1118  this.dispatchEvent('ready');
1119};
1120
1121proto._createSlider = function() {
1122  var slider = document.createElement('div');
1123  slider.className = 'flickity-slider';
1124  slider.style[ this.originSide ] = 0;
1125  this.slider = slider;
1126};
1127
1128proto._filterFindCellElements = function( elems ) {
1129  return utils.filterFindElements( elems, this.options.cellSelector );
1130};
1131
1132proto.reloadCells = function() {
1133  this.cells = this._makeCells( this.slider.children );
1134  this.positionCells();
1135  this._getWrapShiftCells();
1136  this.setGallerySize();
1137};
1138
1139proto._makeCells = function( elems ) {
1140  var cellElems = this._filterFindCellElements( elems );
1141
1142  var cells = cellElems.map( function( cellElem ) {
1143    return new Cell( cellElem, this );
1144  }, this );
1145
1146  return cells;
1147};
1148
1149proto.getLastCell = function() {
1150  return this.cells[ this.cells.length - 1 ];
1151};
1152
1153proto.getLastSlide = function() {
1154  return this.slides[ this.slides.length - 1 ];
1155};
1156
1157proto.positionCells = function() {
1158  this._sizeCells( this.cells );
1159  this._positionCells( 0 );
1160};
1161
1162proto._positionCells = function( index ) {
1163  index = index || 0;
1164  this.maxCellHeight = index ? this.maxCellHeight || 0 : 0;
1165  var cellX = 0;
1166  if ( index > 0 ) {
1167    var startCell = this.cells[ index - 1 ];
1168    cellX = startCell.x + startCell.size.outerWidth;
1169  }
1170  var len = this.cells.length;
1171  for ( var i = index; i < len; i++ ) {
1172    var cell = this.cells[i];
1173    cell.setPosition( cellX );
1174    cellX += cell.size.outerWidth;
1175    this.maxCellHeight = Math.max( cell.size.outerHeight, this.maxCellHeight );
1176  }
1177  this.slideableWidth = cellX;
1178  this.updateSlides();
1179  this._containSlides();
1180  this.slidesWidth = len ? this.getLastSlide().target - this.slides[0].target : 0;
1181};
1182
1183proto._sizeCells = function( cells ) {
1184  cells.forEach( function( cell ) {
1185    cell.getSize();
1186  } );
1187};
1188
1189
1190proto.updateSlides = function() {
1191  this.slides = [];
1192  if ( !this.cells.length ) {
1193    return;
1194  }
1195
1196  var slide = new Slide( this );
1197  this.slides.push( slide );
1198  var isOriginLeft = this.originSide == 'left';
1199  var nextMargin = isOriginLeft ? 'marginRight' : 'marginLeft';
1200
1201  var canCellFit = this._getCanCellFit();
1202
1203  this.cells.forEach( function( cell, i ) {
1204    if ( !slide.cells.length ) {
1205      slide.addCell( cell );
1206      return;
1207    }
1208
1209    var slideWidth = ( slide.outerWidth - slide.firstMargin ) +
1210      ( cell.size.outerWidth - cell.size[ nextMargin ] );
1211
1212    if ( canCellFit.call( this, i, slideWidth ) ) {
1213      slide.addCell( cell );
1214    } else {
1215      slide.updateTarget();
1216
1217      slide = new Slide( this );
1218      this.slides.push( slide );
1219      slide.addCell( cell );
1220    }
1221  }, this );
1222  slide.updateTarget();
1223  this.updateSelectedSlide();
1224};
1225
1226proto._getCanCellFit = function() {
1227  var groupCells = this.options.groupCells;
1228  if ( !groupCells ) {
1229    return function() {
1230      return false;
1231    };
1232  } else if ( typeof groupCells == 'number' ) {
1233    var number = parseInt( groupCells, 10 );
1234    return function( i ) {
1235      return ( i % number ) !== 0;
1236    };
1237  }
1238  var percentMatch = typeof groupCells == 'string' &&
1239    groupCells.match( /^(\d+)%$/ );
1240  var percent = percentMatch ? parseInt( percentMatch[1], 10 ) / 100 : 1;
1241  return function( i, slideWidth ) {
1242    return slideWidth <= ( this.size.innerWidth + 1 ) * percent;
1243  };
1244};
1245
1246proto._init =
1247proto.reposition = function() {
1248  this.positionCells();
1249  this.positionSliderAtSelected();
1250};
1251
1252proto.getSize = function() {
1253  this.size = getSize( this.element );
1254  this.setCellAlign();
1255  this.cursorPosition = this.size.innerWidth * this.cellAlign;
1256};
1257
1258var cellAlignShorthands = {
1259  center: {
1260    left: 0.5,
1261    right: 0.5,
1262  },
1263  left: {
1264    left: 0,
1265    right: 1,
1266  },
1267  right: {
1268    right: 0,
1269    left: 1,
1270  },
1271};
1272
1273proto.setCellAlign = function() {
1274  var shorthand = cellAlignShorthands[ this.options.cellAlign ];
1275  this.cellAlign = shorthand ? shorthand[ this.originSide ] : this.options.cellAlign;
1276};
1277
1278proto.setGallerySize = function() {
1279  if ( this.options.setGallerySize ) {
1280    var height = this.options.adaptiveHeight && this.selectedSlide ?
1281      this.selectedSlide.height : this.maxCellHeight;
1282    this.viewport.style.height = height + 'px';
1283  }
1284};
1285
1286proto._getWrapShiftCells = function() {
1287  if ( !this.options.wrapAround ) {
1288    return;
1289  }
1290  this._unshiftCells( this.beforeShiftCells );
1291  this._unshiftCells( this.afterShiftCells );
1292  var gapX = this.cursorPosition;
1293  var cellIndex = this.cells.length - 1;
1294  this.beforeShiftCells = this._getGapCells( gapX, cellIndex, -1 );
1295  gapX = this.size.innerWidth - this.cursorPosition;
1296  this.afterShiftCells = this._getGapCells( gapX, 0, 1 );
1297};
1298
1299proto._getGapCells = function( gapX, cellIndex, increment ) {
1300  var cells = [];
1301  while ( gapX > 0 ) {
1302    var cell = this.cells[ cellIndex ];
1303    if ( !cell ) {
1304      break;
1305    }
1306    cells.push( cell );
1307    cellIndex += increment;
1308    gapX -= cell.size.outerWidth;
1309  }
1310  return cells;
1311};
1312
1313
1314proto._containSlides = function() {
1315  if ( !this.options.contain || this.options.wrapAround || !this.cells.length ) {
1316    return;
1317  }
1318  var isRightToLeft = this.options.rightToLeft;
1319  var beginMargin = isRightToLeft ? 'marginRight' : 'marginLeft';
1320  var endMargin = isRightToLeft ? 'marginLeft' : 'marginRight';
1321  var contentWidth = this.slideableWidth - this.getLastCell().size[ endMargin ];
1322  var isContentSmaller = contentWidth < this.size.innerWidth;
1323  var beginBound = this.cursorPosition + this.cells[0].size[ beginMargin ];
1324  var endBound = contentWidth - this.size.innerWidth * ( 1 - this.cellAlign );
1325  this.slides.forEach( function( slide ) {
1326    if ( isContentSmaller ) {
1327      slide.target = contentWidth * this.cellAlign;
1328    } else {
1329      slide.target = Math.max( slide.target, beginBound );
1330      slide.target = Math.min( slide.target, endBound );
1331    }
1332  }, this );
1333};
1334
1335
1336proto.dispatchEvent = function( type, event, args ) {
1337  var emitArgs = event ? [ event ].concat( args ) : args;
1338  this.emitEvent( type, emitArgs );
1339
1340  if ( jQuery && this.$element ) {
1341    type += this.options.namespaceJQueryEvents ? '.flickity' : '';
1342    var $event = type;
1343    if ( event ) {
1344      var jQEvent = new jQuery.Event( event );
1345      jQEvent.type = type;
1346      $event = jQEvent;
1347    }
1348    this.$element.trigger( $event, args );
1349  }
1350};
1351
1352
1353proto.select = function( index, isWrap, isInstant ) {
1354  if ( !this.isActive ) {
1355    return;
1356  }
1357  index = parseInt( index, 10 );
1358  this._wrapSelect( index );
1359
1360  if ( this.options.wrapAround || isWrap ) {
1361    index = utils.modulo( index, this.slides.length );
1362  }
1363  if ( !this.slides[ index ] ) {
1364    return;
1365  }
1366  var prevIndex = this.selectedIndex;
1367  this.selectedIndex = index;
1368  this.updateSelectedSlide();
1369  if ( isInstant ) {
1370    this.positionSliderAtSelected();
1371  } else {
1372    this.startAnimation();
1373  }
1374  if ( this.options.adaptiveHeight ) {
1375    this.setGallerySize();
1376  }
1377  this.dispatchEvent( 'select', null, [ index ] );
1378  if ( index != prevIndex ) {
1379    this.dispatchEvent( 'change', null, [ index ] );
1380  }
1381  this.dispatchEvent('cellSelect');
1382};
1383
1384proto._wrapSelect = function( index ) {
1385  var len = this.slides.length;
1386  var isWrapping = this.options.wrapAround && len > 1;
1387  if ( !isWrapping ) {
1388    return index;
1389  }
1390  var wrapIndex = utils.modulo( index, len );
1391  var delta = Math.abs( wrapIndex - this.selectedIndex );
1392  var backWrapDelta = Math.abs( ( wrapIndex + len ) - this.selectedIndex );
1393  var forewardWrapDelta = Math.abs( ( wrapIndex - len ) - this.selectedIndex );
1394  if ( !this.isDragSelect && backWrapDelta < delta ) {
1395    index += len;
1396  } else if ( !this.isDragSelect && forewardWrapDelta < delta ) {
1397    index -= len;
1398  }
1399  if ( index < 0 ) {
1400    this.x -= this.slideableWidth;
1401  } else if ( index >= len ) {
1402    this.x += this.slideableWidth;
1403  }
1404};
1405
1406proto.previous = function( isWrap, isInstant ) {
1407  this.select( this.selectedIndex - 1, isWrap, isInstant );
1408};
1409
1410proto.next = function( isWrap, isInstant ) {
1411  this.select( this.selectedIndex + 1, isWrap, isInstant );
1412};
1413
1414proto.updateSelectedSlide = function() {
1415  var slide = this.slides[ this.selectedIndex ];
1416  if ( !slide ) {
1417    return;
1418  }
1419  this.unselectSelectedSlide();
1420  this.selectedSlide = slide;
1421  slide.select();
1422  this.selectedCells = slide.cells;
1423  this.selectedElements = slide.getCellElements();
1424  this.selectedCell = slide.cells[0];
1425  this.selectedElement = this.selectedElements[0];
1426};
1427
1428proto.unselectSelectedSlide = function() {
1429  if ( this.selectedSlide ) {
1430    this.selectedSlide.unselect();
1431  }
1432};
1433
1434proto.selectInitialIndex = function() {
1435  var initialIndex = this.options.initialIndex;
1436  if ( this.isInitActivated ) {
1437    this.select( this.selectedIndex, false, true );
1438    return;
1439  }
1440  if ( initialIndex && typeof initialIndex == 'string' ) {
1441    var cell = this.queryCell( initialIndex );
1442    if ( cell ) {
1443      this.selectCell( initialIndex, false, true );
1444      return;
1445    }
1446  }
1447
1448  var index = 0;
1449  if ( initialIndex && this.slides[ initialIndex ] ) {
1450    index = initialIndex;
1451  }
1452  this.select( index, false, true );
1453};
1454
1455proto.selectCell = function( value, isWrap, isInstant ) {
1456  var cell = this.queryCell( value );
1457  if ( !cell ) {
1458    return;
1459  }
1460
1461  var index = this.getCellSlideIndex( cell );
1462  this.select( index, isWrap, isInstant );
1463};
1464
1465proto.getCellSlideIndex = function( cell ) {
1466  for ( var i = 0; i < this.slides.length; i++ ) {
1467    var slide = this.slides[i];
1468    var index = slide.cells.indexOf( cell );
1469    if ( index != -1 ) {
1470      return i;
1471    }
1472  }
1473};
1474
1475
1476proto.getCell = function( elem ) {
1477  for ( var i = 0; i < this.cells.length; i++ ) {
1478    var cell = this.cells[i];
1479    if ( cell.element == elem ) {
1480      return cell;
1481    }
1482  }
1483};
1484
1485proto.getCells = function( elems ) {
1486  elems = utils.makeArray( elems );
1487  var cells = [];
1488  elems.forEach( function( elem ) {
1489    var cell = this.getCell( elem );
1490    if ( cell ) {
1491      cells.push( cell );
1492    }
1493  }, this );
1494  return cells;
1495};
1496
1497proto.getCellElements = function() {
1498  return this.cells.map( function( cell ) {
1499    return cell.element;
1500  } );
1501};
1502
1503proto.getParentCell = function( elem ) {
1504  var cell = this.getCell( elem );
1505  if ( cell ) {
1506    return cell;
1507  }
1508  elem = utils.getParent( elem, '.flickity-slider > *' );
1509  return this.getCell( elem );
1510};
1511
1512proto.getAdjacentCellElements = function( adjCount, index ) {
1513  if ( !adjCount ) {
1514    return this.selectedSlide.getCellElements();
1515  }
1516  index = index === undefined ? this.selectedIndex : index;
1517
1518  var len = this.slides.length;
1519  if ( 1 + ( adjCount * 2 ) >= len ) {
1520    return this.getCellElements();
1521  }
1522
1523  var cellElems = [];
1524  for ( var i = index - adjCount; i <= index + adjCount; i++ ) {
1525    var slideIndex = this.options.wrapAround ? utils.modulo( i, len ) : i;
1526    var slide = this.slides[ slideIndex ];
1527    if ( slide ) {
1528      cellElems = cellElems.concat( slide.getCellElements() );
1529    }
1530  }
1531  return cellElems;
1532};
1533
1534proto.queryCell = function( selector ) {
1535  if ( typeof selector == 'number' ) {
1536    return this.cells[ selector ];
1537  }
1538  if ( typeof selector == 'string' ) {
1539    if ( selector.match( /^[#.]?[\d/]/ ) ) {
1540      return;
1541    }
1542    selector = this.element.querySelector( selector );
1543  }
1544  return this.getCell( selector );
1545};
1546
1547
1548proto.uiChange = function() {
1549  this.emitEvent('uiChange');
1550};
1551
1552proto.childUIPointerDown = function( event ) {
1553  if ( event.type != 'touchstart' ) {
1554    event.preventDefault();
1555  }
1556  this.focus();
1557};
1558
1559
1560proto.onresize = function() {
1561  this.watchCSS();
1562  this.resize();
1563};
1564
1565utils.debounceMethod( Flickity, 'onresize', 150 );
1566
1567proto.resize = function() {
1568  if ( !this.isActive || this.isAnimating || this.isDragging ) {
1569    return;
1570  }
1571  this.getSize();
1572  if ( this.options.wrapAround ) {
1573    this.x = utils.modulo( this.x, this.slideableWidth );
1574  }
1575  this.positionCells();
1576  this._getWrapShiftCells();
1577  this.setGallerySize();
1578  this.emitEvent('resize');
1579  var selectedElement = this.selectedElements && this.selectedElements[0];
1580  this.selectCell( selectedElement, false, true );
1581};
1582
1583proto.watchCSS = function() {
1584  var watchOption = this.options.watchCSS;
1585  if ( !watchOption ) {
1586    return;
1587  }
1588
1589  var afterContent = getComputedStyle( this.element, ':after' ).content;
1590  if ( afterContent.indexOf('flickity') != -1 ) {
1591    this.activate();
1592  } else {
1593    this.deactivate();
1594  }
1595};
1596
1597
1598proto.onkeydown = function( event ) {
1599  var isNotFocused = document.activeElement && document.activeElement != this.element;
1600  if ( !this.options.accessibility || isNotFocused ) {
1601    return;
1602  }
1603
1604  var handler = Flickity.keyboardHandlers[ event.keyCode ];
1605  if ( handler ) {
1606    handler.call( this );
1607  }
1608};
1609
1610Flickity.keyboardHandlers = {
1611  37: function() {
1612    var leftMethod = this.options.rightToLeft ? 'next' : 'previous';
1613    this.uiChange();
1614    this[ leftMethod ]();
1615  },
1616  39: function() {
1617    var rightMethod = this.options.rightToLeft ? 'previous' : 'next';
1618    this.uiChange();
1619    this[ rightMethod ]();
1620  },
1621};
1622
1623
1624proto.focus = function() {
1625  var prevScrollY = window.pageYOffset;
1626  this.element.focus({ preventScroll: true });
1627  if ( window.pageYOffset != prevScrollY ) {
1628    window.scrollTo( window.pageXOffset, prevScrollY );
1629  }
1630};
1631
1632
1633proto.deactivate = function() {
1634  if ( !this.isActive ) {
1635    return;
1636  }
1637  this.element.classList.remove('flickity-enabled');
1638  this.element.classList.remove('flickity-rtl');
1639  this.unselectSelectedSlide();
1640  this.cells.forEach( function( cell ) {
1641    cell.destroy();
1642  } );
1643  this.element.removeChild( this.viewport );
1644  moveElements( this.slider.children, this.element );
1645  if ( this.options.accessibility ) {
1646    this.element.removeAttribute('tabIndex');
1647    this.element.removeEventListener( 'keydown', this );
1648  }
1649  this.isActive = false;
1650  this.emitEvent('deactivate');
1651};
1652
1653proto.destroy = function() {
1654  this.deactivate();
1655  window.removeEventListener( 'resize', this );
1656  this.allOff();
1657  this.emitEvent('destroy');
1658  if ( jQuery && this.$element ) {
1659    jQuery.removeData( this.element, 'flickity' );
1660  }
1661  delete this.element.flickityGUID;
1662  delete instances[ this.guid ];
1663};
1664
1665
1666utils.extend( proto, animatePrototype );
1667
1668
1669Flickity.data = function( elem ) {
1670  elem = utils.getQueryElement( elem );
1671  var id = elem && elem.flickityGUID;
1672  return id && instances[ id ];
1673};
1674
1675utils.htmlInit( Flickity, 'flickity' );
1676
1677if ( jQuery && jQuery.bridget ) {
1678  jQuery.bridget( 'flickity', Flickity );
1679}
1680
1681Flickity.setJQuery = function( jq ) {
1682  jQuery = jq;
1683};
1684
1685Flickity.Cell = Cell;
1686Flickity.Slide = Slide;
1687
1688return Flickity;
1689
1690} ) );
1691
1692
1693
1694( function( window, factory ) {
1695  if ( typeof define == 'function' && define.amd ) {
1696    define( 'unipointer/unipointer',[
1697      'ev-emitter/ev-emitter'
1698    ], function( EvEmitter ) {
1699      return factory( window, EvEmitter );
1700    });
1701  } else if ( typeof module == 'object' && module.exports ) {
1702    module.exports = factory(
1703      window,
1704      require('ev-emitter')
1705    );
1706  } else {
1707    window.Unipointer = factory(
1708      window,
1709      window.EvEmitter
1710    );
1711  }
1712
1713}( window, function factory( window, EvEmitter ) {
1714
1715
1716
1717function noop() {}
1718
1719function Unipointer() {}
1720
1721var proto = Unipointer.prototype = Object.create( EvEmitter.prototype );
1722
1723proto.bindStartEvent = function( elem ) {
1724  this._bindStartEvent( elem, true );
1725};
1726
1727proto.unbindStartEvent = function( elem ) {
1728  this._bindStartEvent( elem, false );
1729};
1730
1731proto._bindStartEvent = function( elem, isAdd ) {
1732  isAdd = isAdd === undefined ? true : isAdd;
1733  var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';
1734
1735  var startEvent = 'mousedown';
1736  if ( 'ontouchstart' in window ) {
1737    startEvent = 'touchstart';
1738  } else if ( window.PointerEvent ) {
1739    startEvent = 'pointerdown';
1740  }
1741  elem[ bindMethod ]( startEvent, this );
1742};
1743
1744proto.handleEvent = function( event ) {
1745  var method = 'on' + event.type;
1746  if ( this[ method ] ) {
1747    this[ method ]( event );
1748  }
1749};
1750
1751proto.getTouch = function( touches ) {
1752  for ( var i=0; i < touches.length; i++ ) {
1753    var touch = touches[i];
1754    if ( touch.identifier == this.pointerIdentifier ) {
1755      return touch;
1756    }
1757  }
1758};
1759
1760
1761proto.onmousedown = function( event ) {
1762  var button = event.button;
1763  if ( button && ( button !== 0 && button !== 1 ) ) {
1764    return;
1765  }
1766  this._pointerDown( event, event );
1767};
1768
1769proto.ontouchstart = function( event ) {
1770  this._pointerDown( event, event.changedTouches[0] );
1771};
1772
1773proto.onpointerdown = function( event ) {
1774  this._pointerDown( event, event );
1775};
1776
1777proto._pointerDown = function( event, pointer ) {
1778  if ( event.button || this.isPointerDown ) {
1779    return;
1780  }
1781
1782  this.isPointerDown = true;
1783  this.pointerIdentifier = pointer.pointerId !== undefined ?
1784    pointer.pointerId : pointer.identifier;
1785
1786  this.pointerDown( event, pointer );
1787};
1788
1789proto.pointerDown = function( event, pointer ) {
1790  this._bindPostStartEvents( event );
1791  this.emitEvent( 'pointerDown', [ event, pointer ] );
1792};
1793
1794var postStartEvents = {
1795  mousedown: [ 'mousemove', 'mouseup' ],
1796  touchstart: [ 'touchmove', 'touchend', 'touchcancel' ],
1797  pointerdown: [ 'pointermove', 'pointerup', 'pointercancel' ],
1798};
1799
1800proto._bindPostStartEvents = function( event ) {
1801  if ( !event ) {
1802    return;
1803  }
1804  var events = postStartEvents[ event.type ];
1805  events.forEach( function( eventName ) {
1806    window.addEventListener( eventName, this );
1807  }, this );
1808  this._boundPointerEvents = events;
1809};
1810
1811proto._unbindPostStartEvents = function() {
1812  if ( !this._boundPointerEvents ) {
1813    return;
1814  }
1815  this._boundPointerEvents.forEach( function( eventName ) {
1816    window.removeEventListener( eventName, this );
1817  }, this );
1818
1819  delete this._boundPointerEvents;
1820};
1821
1822
1823proto.onmousemove = function( event ) {
1824  this._pointerMove( event, event );
1825};
1826
1827proto.onpointermove = function( event ) {
1828  if ( event.pointerId == this.pointerIdentifier ) {
1829    this._pointerMove( event, event );
1830  }
1831};
1832
1833proto.ontouchmove = function( event ) {
1834  var touch = this.getTouch( event.changedTouches );
1835  if ( touch ) {
1836    this._pointerMove( event, touch );
1837  }
1838};
1839
1840proto._pointerMove = function( event, pointer ) {
1841  this.pointerMove( event, pointer );
1842};
1843
1844proto.pointerMove = function( event, pointer ) {
1845  this.emitEvent( 'pointerMove', [ event, pointer ] );
1846};
1847
1848
1849
1850proto.onmouseup = function( event ) {
1851  this._pointerUp( event, event );
1852};
1853
1854proto.onpointerup = function( event ) {
1855  if ( event.pointerId == this.pointerIdentifier ) {
1856    this._pointerUp( event, event );
1857  }
1858};
1859
1860proto.ontouchend = function( event ) {
1861  var touch = this.getTouch( event.changedTouches );
1862  if ( touch ) {
1863    this._pointerUp( event, touch );
1864  }
1865};
1866
1867proto._pointerUp = function( event, pointer ) {
1868  this._pointerDone();
1869  this.pointerUp( event, pointer );
1870};
1871
1872proto.pointerUp = function( event, pointer ) {
1873  this.emitEvent( 'pointerUp', [ event, pointer ] );
1874};
1875
1876
1877proto._pointerDone = function() {
1878  this._pointerReset();
1879  this._unbindPostStartEvents();
1880  this.pointerDone();
1881};
1882
1883proto._pointerReset = function() {
1884  this.isPointerDown = false;
1885  delete this.pointerIdentifier;
1886};
1887
1888proto.pointerDone = noop;
1889
1890
1891proto.onpointercancel = function( event ) {
1892  if ( event.pointerId == this.pointerIdentifier ) {
1893    this._pointerCancel( event, event );
1894  }
1895};
1896
1897proto.ontouchcancel = function( event ) {
1898  var touch = this.getTouch( event.changedTouches );
1899  if ( touch ) {
1900    this._pointerCancel( event, touch );
1901  }
1902};
1903
1904proto._pointerCancel = function( event, pointer ) {
1905  this._pointerDone();
1906  this.pointerCancel( event, pointer );
1907};
1908
1909proto.pointerCancel = function( event, pointer ) {
1910  this.emitEvent( 'pointerCancel', [ event, pointer ] );
1911};
1912
1913
1914Unipointer.getPointerPoint = function( pointer ) {
1915  return {
1916    x: pointer.pageX,
1917    y: pointer.pageY
1918  };
1919};
1920
1921
1922return Unipointer;
1923
1924}));
1925
1926
1927
1928( function( window, factory ) {
1929
1930  if ( typeof define == 'function' && define.amd ) {
1931    define( 'unidragger/unidragger',[
1932      'unipointer/unipointer'
1933    ], function( Unipointer ) {
1934      return factory( window, Unipointer );
1935    });
1936  } else if ( typeof module == 'object' && module.exports ) {
1937    module.exports = factory(
1938      window,
1939      require('unipointer')
1940    );
1941  } else {
1942    window.Unidragger = factory(
1943      window,
1944      window.Unipointer
1945    );
1946  }
1947
1948}( window, function factory( window, Unipointer ) {
1949
1950
1951
1952
1953function Unidragger() {}
1954
1955var proto = Unidragger.prototype = Object.create( Unipointer.prototype );
1956
1957
1958proto.bindHandles = function() {
1959  this._bindHandles( true );
1960};
1961
1962proto.unbindHandles = function() {
1963  this._bindHandles( false );
1964};
1965
1966proto._bindHandles = function( isAdd ) {
1967  isAdd = isAdd === undefined ? true : isAdd;
1968  var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';
1969  var touchAction = isAdd ? this._touchActionValue : '';
1970  for ( var i=0; i < this.handles.length; i++ ) {
1971    var handle = this.handles[i];
1972    this._bindStartEvent( handle, isAdd );
1973    handle[ bindMethod ]( 'click', this );
1974    if ( window.PointerEvent ) {
1975      handle.style.touchAction = touchAction;
1976    }
1977  }
1978};
1979
1980proto._touchActionValue = 'none';
1981
1982
1983proto.pointerDown = function( event, pointer ) {
1984  var isOkay = this.okayPointerDown( event );
1985  if ( !isOkay ) {
1986    return;
1987  }
1988  this.pointerDownPointer = {
1989    pageX: pointer.pageX,
1990    pageY: pointer.pageY,
1991  };
1992
1993  event.preventDefault();
1994  this.pointerDownBlur();
1995  this._bindPostStartEvents( event );
1996  this.emitEvent( 'pointerDown', [ event, pointer ] );
1997};
1998
1999var cursorNodes = {
2000  TEXTAREA: true,
2001  INPUT: true,
2002  SELECT: true,
2003  OPTION: true,
2004};
2005
2006var clickTypes = {
2007  radio: true,
2008  checkbox: true,
2009  button: true,
2010  submit: true,
2011  image: true,
2012  file: true,
2013};
2014
2015proto.okayPointerDown = function( event ) {
2016  var isCursorNode = cursorNodes[ event.target.nodeName ];
vendor: 8,927 bytes, lines 2017-2371
2017  var isClickType = clickTypes[ event.target.type ];
2018  var isOkay = !isCursorNode || isClickType;
2019  if ( !isOkay ) {
2020    this._pointerReset();
2021  }
2022  return isOkay;
2023};
2024
2025proto.pointerDownBlur = function() {
2026  var focused = document.activeElement;
2027  var canBlur = focused && focused.blur && focused != document.body;
2028  if ( canBlur ) {
2029    focused.blur();
2030  }
2031};
2032
2033
2034proto.pointerMove = function( event, pointer ) {
2035  var moveVector = this._dragPointerMove( event, pointer );
2036  this.emitEvent( 'pointerMove', [ event, pointer, moveVector ] );
2037  this._dragMove( event, pointer, moveVector );
2038};
2039
2040proto._dragPointerMove = function( event, pointer ) {
2041  var moveVector = {
2042    x: pointer.pageX - this.pointerDownPointer.pageX,
2043    y: pointer.pageY - this.pointerDownPointer.pageY
2044  };
2045  if ( !this.isDragging && this.hasDragStarted( moveVector ) ) {
2046    this._dragStart( event, pointer );
2047  }
2048  return moveVector;
2049};
2050
2051proto.hasDragStarted = function( moveVector ) {
2052  return Math.abs( moveVector.x ) > 3 || Math.abs( moveVector.y ) > 3;
2053};
2054
2055
2056proto.pointerUp = function( event, pointer ) {
2057  this.emitEvent( 'pointerUp', [ event, pointer ] );
2058  this._dragPointerUp( event, pointer );
2059};
2060
2061proto._dragPointerUp = function( event, pointer ) {
2062  if ( this.isDragging ) {
2063    this._dragEnd( event, pointer );
2064  } else {
2065    this._staticClick( event, pointer );
2066  }
2067};
2068
2069
2070proto._dragStart = function( event, pointer ) {
2071  this.isDragging = true;
2072  this.isPreventingClicks = true;
2073  this.dragStart( event, pointer );
2074};
2075
2076proto.dragStart = function( event, pointer ) {
2077  this.emitEvent( 'dragStart', [ event, pointer ] );
2078};
2079
2080proto._dragMove = function( event, pointer, moveVector ) {
2081  if ( !this.isDragging ) {
2082    return;
2083  }
2084
2085  this.dragMove( event, pointer, moveVector );
2086};
2087
2088proto.dragMove = function( event, pointer, moveVector ) {
2089  event.preventDefault();
2090  this.emitEvent( 'dragMove', [ event, pointer, moveVector ] );
2091};
2092
2093proto._dragEnd = function( event, pointer ) {
2094  this.isDragging = false;
2095  setTimeout( function() {
2096    delete this.isPreventingClicks;
2097  }.bind( this ) );
2098
2099  this.dragEnd( event, pointer );
2100};
2101
2102proto.dragEnd = function( event, pointer ) {
2103  this.emitEvent( 'dragEnd', [ event, pointer ] );
2104};
2105
2106
2107proto.onclick = function( event ) {
2108  if ( this.isPreventingClicks ) {
2109    event.preventDefault();
2110  }
2111};
2112
2113
2114proto._staticClick = function( event, pointer ) {
2115  if ( this.isIgnoringMouseUp && event.type == 'mouseup' ) {
2116    return;
2117  }
2118
2119  this.staticClick( event, pointer );
2120
2121  if ( event.type != 'mouseup' ) {
2122    this.isIgnoringMouseUp = true;
2123    setTimeout( function() {
2124      delete this.isIgnoringMouseUp;
2125    }.bind( this ), 400 );
2126  }
2127};
2128
2129proto.staticClick = function( event, pointer ) {
2130  this.emitEvent( 'staticClick', [ event, pointer ] );
2131};
2132
2133
2134Unidragger.getPointerPoint = Unipointer.getPointerPoint;
2135
2136
2137return Unidragger;
2138
2139}));
2140
2141( function( window, factory ) {
2142  if ( typeof define == 'function' && define.amd ) {
2143    define( 'flickity/js/drag',[
2144      './flickity',
2145      'unidragger/unidragger',
2146      'fizzy-ui-utils/utils',
2147    ], function( Flickity, Unidragger, utils ) {
2148      return factory( window, Flickity, Unidragger, utils );
2149    } );
2150  } else if ( typeof module == 'object' && module.exports ) {
2151    module.exports = factory(
2152        window,
2153        require('./flickity'),
2154        require('unidragger'),
2155        require('fizzy-ui-utils')
2156    );
2157  } else {
2158    window.Flickity = factory(
2159        window,
2160        window.Flickity,
2161        window.Unidragger,
2162        window.fizzyUIUtils
2163    );
2164  }
2165
2166}( window, function factory( window, Flickity, Unidragger, utils ) {
2167
2168
2169
2170
2171utils.extend( Flickity.defaults, {
2172  draggable: '>1',
2173  dragThreshold: 3,
2174} );
2175
2176
2177Flickity.createMethods.push('_createDrag');
2178
2179
2180var proto = Flickity.prototype;
2181utils.extend( proto, Unidragger.prototype );
2182proto._touchActionValue = 'pan-y';
2183
2184
2185proto._createDrag = function() {
2186  this.on( 'activate', this.onActivateDrag );
2187  this.on( 'uiChange', this._uiChangeDrag );
2188  this.on( 'deactivate', this.onDeactivateDrag );
2189  this.on( 'cellChange', this.updateDraggable );
2190};
2191
2192proto.onActivateDrag = function() {
2193  this.handles = [ this.viewport ];
2194  this.bindHandles();
2195  this.updateDraggable();
2196};
2197
2198proto.onDeactivateDrag = function() {
2199  this.unbindHandles();
2200  this.element.classList.remove('is-draggable');
2201};
2202
2203proto.updateDraggable = function() {
2204  if ( this.options.draggable == '>1' ) {
2205    this.isDraggable = this.slides.length > 1;
2206  } else {
2207    this.isDraggable = this.options.draggable;
2208  }
2209  if ( this.isDraggable ) {
2210    this.element.classList.add('is-draggable');
2211  } else {
2212    this.element.classList.remove('is-draggable');
2213  }
2214};
2215
2216proto.bindDrag = function() {
2217  this.options.draggable = true;
2218  this.updateDraggable();
2219};
2220
2221proto.unbindDrag = function() {
2222  this.options.draggable = false;
2223  this.updateDraggable();
2224};
2225
2226proto._uiChangeDrag = function() {
2227  delete this.isFreeScrolling;
2228};
2229
2230
2231proto.pointerDown = function( event, pointer ) {
2232  if ( !this.isDraggable ) {
2233    this._pointerDownDefault( event, pointer );
2234    return;
2235  }
2236  var isOkay = this.okayPointerDown( event );
2237  if ( !isOkay ) {
2238    return;
2239  }
2240
2241  this._pointerDownPreventDefault( event );
2242  this.pointerDownFocus( event );
2243  if ( document.activeElement != this.element ) {
2244    this.pointerDownBlur();
2245  }
2246
2247  this.dragX = this.x;
2248  this.viewport.classList.add('is-pointer-down');
2249  this.pointerDownScroll = getScrollPosition();
2250  window.addEventListener( 'scroll', this );
2251
2252  this._pointerDownDefault( event, pointer );
2253};
2254
2255proto._pointerDownDefault = function( event, pointer ) {
2256  this.pointerDownPointer = {
2257    pageX: pointer.pageX,
2258    pageY: pointer.pageY,
2259  };
2260  this._bindPostStartEvents( event );
2261  this.dispatchEvent( 'pointerDown', event, [ pointer ] );
2262};
2263
2264var focusNodes = {
2265  INPUT: true,
2266  TEXTAREA: true,
2267  SELECT: true,
2268};
2269
2270proto.pointerDownFocus = function( event ) {
2271  var isFocusNode = focusNodes[ event.target.nodeName ];
2272  if ( !isFocusNode ) {
2273    this.focus();
2274  }
2275};
2276
2277proto._pointerDownPreventDefault = function( event ) {
2278  var isTouchStart = event.type == 'touchstart';
2279  var isTouchPointer = event.pointerType == 'touch';
2280  var isFocusNode = focusNodes[ event.target.nodeName ];
2281  if ( !isTouchStart && !isTouchPointer && !isFocusNode ) {
2282    event.preventDefault();
2283  }
2284};
2285
2286
2287proto.hasDragStarted = function( moveVector ) {
2288  return Math.abs( moveVector.x ) > this.options.dragThreshold;
2289};
2290
2291
2292proto.pointerUp = function( event, pointer ) {
2293  delete this.isTouchScrolling;
2294  this.viewport.classList.remove('is-pointer-down');
2295  this.dispatchEvent( 'pointerUp', event, [ pointer ] );
2296  this._dragPointerUp( event, pointer );
2297};
2298
2299proto.pointerDone = function() {
2300  window.removeEventListener( 'scroll', this );
2301  delete this.pointerDownScroll;
2302};
2303
2304
2305proto.dragStart = function( event, pointer ) {
2306  if ( !this.isDraggable ) {
2307    return;
2308  }
2309  this.dragStartPosition = this.x;
2310  this.startAnimation();
2311  window.removeEventListener( 'scroll', this );
2312  this.dispatchEvent( 'dragStart', event, [ pointer ] );
2313};
2314
2315proto.pointerMove = function( event, pointer ) {
2316  var moveVector = this._dragPointerMove( event, pointer );
2317  this.dispatchEvent( 'pointerMove', event, [ pointer, moveVector ] );
2318  this._dragMove( event, pointer, moveVector );
2319};
2320
2321proto.dragMove = function( event, pointer, moveVector ) {
2322  if ( !this.isDraggable ) {
2323    return;
2324  }
2325  event.preventDefault();
2326
2327  this.previousDragX = this.dragX;
2328  var direction = this.options.rightToLeft ? -1 : 1;
2329  if ( this.options.wrapAround ) {
2330    moveVector.x %= this.slideableWidth;
2331  }
2332  var dragX = this.dragStartPosition + moveVector.x * direction;
2333
2334  if ( !this.options.wrapAround && this.slides.length ) {
2335    var originBound = Math.max( -this.slides[0].target, this.dragStartPosition );
2336    dragX = dragX > originBound ? ( dragX + originBound ) * 0.5 : dragX;
2337    var endBound = Math.min( -this.getLastSlide().target, this.dragStartPosition );
2338    dragX = dragX < endBound ? ( dragX + endBound ) * 0.5 : dragX;
2339  }
2340
2341  this.dragX = dragX;
2342
2343  this.dragMoveTime = new Date();
2344  this.dispatchEvent( 'dragMove', event, [ pointer, moveVector ] );
2345};
2346
2347proto.dragEnd = function( event, pointer ) {
2348  if ( !this.isDraggable ) {
2349    return;
2350  }
2351  if ( this.options.freeScroll ) {
2352    this.isFreeScrolling = true;
2353  }
2354  var index = this.dragEndRestingSelect();
2355
2356  if ( this.options.freeScroll && !this.options.wrapAround ) {
2357    var restingX = this.getRestingPosition();
2358    this.isFreeScrolling = -restingX > this.slides[0].target &&
2359      -restingX < this.getLastSlide().target;
2360  } else if ( !this.options.freeScroll && index == this.selectedIndex ) {
2361    index += this.dragEndBoostSelect();
2362  }
2363  delete this.previousDragX;
2364  this.isDragSelect = this.options.wrapAround;
2365  this.select( index );
2366  delete this.isDragSelect;
2367  this.dispatchEvent( 'dragEnd', event, [ pointer ] );
2368};
2369
2370proto.dragEndRestingSelect = function() {
2371  var restingX = this.getRestingPosition();
2372  var distance = Math.abs( this.getSlideDistance( -restingX, this.selectedIndex ) );
2373  var positiveResting = this._getClosestResting( restingX, distance, 1 );
2374  var negativeResting = this._getClosestResting( restingX, distance, -1 );
2375  var index = positiveResting.distance < negativeResting.distance ?
2376    positiveResting.index : negativeResting.index;
2377  return index;
2378};
2379
2380proto._getClosestResting = function( restingX, distance, increment ) {
2381  var index = this.selectedIndex;
2382  var minDistance = Infinity;
2383  var condition = this.options.contain && !this.options.wrapAround ?
2384    function( dist, minDist ) {
2385      return dist <= minDist;
2386    } : function( dist, minDist ) {
2387      return dist < minDist;
2388    };
2389  while ( condition( distance, minDistance ) ) {
2390    index += increment;
2391    minDistance = distance;
2392    distance = this.getSlideDistance( -restingX, index );
2393    if ( distance === null ) {
2394      break;
2395    }
2396    distance = Math.abs( distance );
2397  }
2398  return {
2399    distance: minDistance,
2400    index: index - increment,
2401  };
2402};
2403
2404proto.getSlideDistance = function( x, index ) {
2405  var len = this.slides.length;
2406  var isWrapAround = this.options.wrapAround && len > 1;
2407  var slideIndex = isWrapAround ? utils.modulo( index, len ) : index;
2408  var slide = this.slides[ slideIndex ];
2409  if ( !slide ) {
2410    return null;
2411  }
2412  var wrap = isWrapAround ? this.slideableWidth * Math.floor( index/len ) : 0;
2413  return x - ( slide.target + wrap );
2414};
2415
2416proto.dragEndBoostSelect = function() {
2417  if ( this.previousDragX === undefined || !this.dragMoveTime ||
2418    new Date() - this.dragMoveTime > 100 ) {
2419    return 0;
2420  }
2421
2422  var distance = this.getSlideDistance( -this.dragX, this.selectedIndex );
2423  var delta = this.previousDragX - this.dragX;
2424  if ( distance > 0 && delta > 0 ) {
2425    return 1;
2426  } else if ( distance < 0 && delta < 0 ) {
2427    return -1;
2428  }
2429  return 0;
2430};
2431
2432
2433proto.staticClick = function( event, pointer ) {
2434  var clickedCell = this.getParentCell( event.target );
2435  var cellElem = clickedCell && clickedCell.element;
2436  var cellIndex = clickedCell && this.cells.indexOf( clickedCell );
2437  this.dispatchEvent( 'staticClick', event, [ pointer, cellElem, cellIndex ] );
2438};
2439
2440
2441proto.onscroll = function() {
2442  var scroll = getScrollPosition();
2443  var scrollMoveX = this.pointerDownScroll.x - scroll.x;
2444  var scrollMoveY = this.pointerDownScroll.y - scroll.y;
2445  if ( Math.abs( scrollMoveX ) > 3 || Math.abs( scrollMoveY ) > 3 ) {
2446    this._pointerDone();
2447  }
2448};
2449
2450
2451function getScrollPosition() {
2452  return {
2453    x: window.pageXOffset,
2454    y: window.pageYOffset,
2455  };
2456}
2457
2458
2459return Flickity;
2460
2461} ) );
2462
2463( function( window, factory ) {
2464  if ( typeof define == 'function' && define.amd ) {
2465    define( 'flickity/js/prev-next-button',[
2466      './flickity',
2467      'unipointer/unipointer',
2468      'fizzy-ui-utils/utils',
2469    ], function( Flickity, Unipointer, utils ) {
2470      return factory( window, Flickity, Unipointer, utils );
2471    } );
2472  } else if ( typeof module == 'object' && module.exports ) {
2473    module.exports = factory(
2474        window,
2475        require('./flickity'),
2476        require('unipointer'),
2477        require('fizzy-ui-utils')
2478    );
2479  } else {
2480    factory(
2481        window,
2482        window.Flickity,
2483        window.Unipointer,
2484        window.fizzyUIUtils
2485    );
2486  }
2487
2488}( window, function factory( window, Flickity, Unipointer, utils ) {
2489'use strict';
2490
2491var svgURI = 'http://www.w3.org/2000/svg';
2492
2493
2494function PrevNextButton( direction, parent ) {
2495  this.direction = direction;
2496  this.parent = parent;
2497  this._create();
2498}
2499
2500PrevNextButton.prototype = Object.create( Unipointer.prototype );
2501
2502PrevNextButton.prototype._create = function() {
2503  this.isEnabled = true;
2504  this.isPrevious = this.direction == -1;
2505  var leftDirection = this.parent.options.rightToLeft ? 1 : -1;
2506  this.isLeft = this.direction == leftDirection;
2507
2508  var element = this.element = document.createElement('button');
2509  element.className = 'flickity-button flickity-prev-next-button';
2510  element.className += this.isPrevious ? ' previous' : ' next';
2511  element.setAttribute( 'type', 'button' );
2512  this.disable();
2513
2514  element.setAttribute( 'aria-label', this.isPrevious ? 'Previous' : 'Next' );
2515
2516  var svg = this.createSVG();
2517  element.appendChild( svg );
2518  this.parent.on( 'select', this.update.bind( this ) );
2519  this.on( 'pointerDown', this.parent.childUIPointerDown.bind( this.parent ) );
2520};
2521
2522PrevNextButton.prototype.activate = function() {
2523  this.bindStartEvent( this.element );
2524  this.element.addEventListener( 'click', this );
2525  this.parent.element.appendChild( this.element );
2526};
2527
2528PrevNextButton.prototype.deactivate = function() {
2529  this.parent.element.removeChild( this.element );
2530  this.unbindStartEvent( this.element );
2531  this.element.removeEventListener( 'click', this );
2532};
2533
2534PrevNextButton.prototype.createSVG = function() {
2535  var svg = document.createElementNS( svgURI, 'svg' );
2536  svg.setAttribute( 'class', 'flickity-button-icon' );
2537  svg.setAttribute( 'viewBox', '0 0 100 100' );
2538  var path = document.createElementNS( svgURI, 'path' );
2539  var pathMovements = getArrowMovements( this.parent.options.arrowShape );
2540  path.setAttribute( 'd', pathMovements );
2541  path.setAttribute( 'class', 'arrow' );
2542  if ( !this.isLeft ) {
2543    path.setAttribute( 'transform', 'translate(100, 100) rotate(180) ' );
2544  }
2545  svg.appendChild( path );
2546  return svg;
2547};
2548
2549function getArrowMovements( shape ) {
2550  if ( typeof shape == 'string' ) {
2551    return shape;
2552  }
2553  return 'M ' + shape.x0 + ',50' +
2554    ' L ' + shape.x1 + ',' + ( shape.y1 + 50 ) +
2555    ' L ' + shape.x2 + ',' + ( shape.y2 + 50 ) +
2556    ' L ' + shape.x3 + ',50 ' +
2557    ' L ' + shape.x2 + ',' + ( 50 - shape.y2 ) +
2558    ' L ' + shape.x1 + ',' + ( 50 - shape.y1 ) +
2559    ' Z';
2560}
2561
2562PrevNextButton.prototype.handleEvent = utils.handleEvent;
2563
2564PrevNextButton.prototype.onclick = function() {
2565  if ( !this.isEnabled ) {
2566    return;
2567  }
2568  this.parent.uiChange();
2569  var method = this.isPrevious ? 'previous' : 'next';
2570  this.parent[ method ]();
2571};
2572
2573
2574PrevNextButton.prototype.enable = function() {
2575  if ( this.isEnabled ) {
2576    return;
2577  }
2578  this.element.disabled = false;
2579  this.isEnabled = true;
2580};
2581
2582PrevNextButton.prototype.disable = function() {
2583  if ( !this.isEnabled ) {
2584    return;
2585  }
2586  this.element.disabled = true;
2587  this.isEnabled = false;
2588};
2589
2590PrevNextButton.prototype.update = function() {
2591  var slides = this.parent.slides;
2592  if ( this.parent.options.wrapAround && slides.length > 1 ) {
2593    this.enable();
2594    return;
2595  }
2596  var lastIndex = slides.length ? slides.length - 1 : 0;
2597  var boundIndex = this.isPrevious ? 0 : lastIndex;
2598  var method = this.parent.selectedIndex == boundIndex ? 'disable' : 'enable';
2599  this[ method ]();
2600};
2601
2602PrevNextButton.prototype.destroy = function() {
2603  this.deactivate();
2604  this.allOff();
2605};
2606
2607
2608utils.extend( Flickity.defaults, {
2609  prevNextButtons: true,
2610  arrowShape: {
2611    x0: 10,
2612    x1: 60, y1: 50,
2613    x2: 70, y2: 40,
2614    x3: 30,
2615  },
2616} );
2617
2618Flickity.createMethods.push('_createPrevNextButtons');
2619var proto = Flickity.prototype;
2620
2621proto._createPrevNextButtons = function() {
2622  if ( !this.options.prevNextButtons ) {
2623    return;
2624  }
2625
2626  this.prevButton = new PrevNextButton( -1, this );
2627  this.nextButton = new PrevNextButton( 1, this );
2628
2629  this.on( 'activate', this.activatePrevNextButtons );
2630};
2631
2632proto.activatePrevNextButtons = function() {
2633  this.prevButton.activate();
2634  this.nextButton.activate();
2635  this.on( 'deactivate', this.deactivatePrevNextButtons );
2636};
2637
2638proto.deactivatePrevNextButtons = function() {
2639  this.prevButton.deactivate();
2640  this.nextButton.deactivate();
2641  this.off( 'deactivate', this.deactivatePrevNextButtons );
2642};
2643
2644
2645Flickity.PrevNextButton = PrevNextButton;
2646
2647return Flickity;
2648
2649} ) );
2650
2651( function( window, factory ) {
2652  if ( typeof define == 'function' && define.amd ) {
2653    define( 'flickity/js/page-dots',[
2654      './flickity',
2655      'unipointer/unipointer',
2656      'fizzy-ui-utils/utils',
2657    ], function( Flickity, Unipointer, utils ) {
2658      return factory( window, Flickity, Unipointer, utils );
2659    } );
2660  } else if ( typeof module == 'object' && module.exports ) {
2661    module.exports = factory(
2662        window,
2663        require('./flickity'),
2664        require('unipointer'),
2665        require('fizzy-ui-utils')
2666    );
2667  } else {
2668    factory(
2669        window,
2670        window.Flickity,
2671        window.Unipointer,
2672        window.fizzyUIUtils
2673    );
2674  }
2675
2676}( window, function factory( window, Flickity, Unipointer, utils ) {
2677
2678
2679
2680
2681function PageDots( parent ) {
2682  this.parent = parent;
2683  this._create();
2684}
2685
2686PageDots.prototype = Object.create( Unipointer.prototype );
2687
2688PageDots.prototype._create = function() {
2689  this.holder = document.createElement('ol');
2690  this.holder.className = 'flickity-page-dots';
2691  this.dots = [];
2692  this.handleClick = this.onClick.bind( this );
2693  this.on( 'pointerDown', this.parent.childUIPointerDown.bind( this.parent ) );
2694};
2695
2696PageDots.prototype.activate = function() {
2697  this.setDots();
2698  this.holder.addEventListener( 'click', this.handleClick );
2699  this.bindStartEvent( this.holder );
2700  this.parent.element.appendChild( this.holder );
2701};
2702
2703PageDots.prototype.deactivate = function() {
2704  this.holder.removeEventListener( 'click', this.handleClick );
2705  this.unbindStartEvent( this.holder );
2706  this.parent.element.removeChild( this.holder );
2707};
2708
2709PageDots.prototype.setDots = function() {
2710  var delta = this.parent.slides.length - this.dots.length;
2711  if ( delta > 0 ) {
2712    this.addDots( delta );
2713  } else if ( delta < 0 ) {
2714    this.removeDots( -delta );
2715  }
2716};
2717
2718PageDots.prototype.addDots = function( count ) {
2719  var fragment = document.createDocumentFragment();
2720  var newDots = [];
2721  var length = this.dots.length;
2722  var max = length + count;
2723
2724  for ( var i = length; i < max; i++ ) {
2725    var dot = document.createElement('li');
2726    dot.className = 'dot';
2727    dot.setAttribute( 'aria-label', 'Page dot ' + ( i + 1 ) );
2728    fragment.appendChild( dot );
2729    newDots.push( dot );
2730  }
2731
2732  this.holder.appendChild( fragment );
2733  this.dots = this.dots.concat( newDots );
2734};
2735
2736PageDots.prototype.removeDots = function( count ) {
2737  var removeDots = this.dots.splice( this.dots.length - count, count );
2738  removeDots.forEach( function( dot ) {
2739    this.holder.removeChild( dot );
2740  }, this );
2741};
2742
2743PageDots.prototype.updateSelected = function() {
2744  if ( this.selectedDot ) {
2745    this.selectedDot.className = 'dot';
2746    this.selectedDot.removeAttribute('aria-current');
2747  }
2748  if ( !this.dots.length ) {
2749    return;
2750  }
2751  this.selectedDot = this.dots[ this.parent.selectedIndex ];
2752  this.selectedDot.className = 'dot is-selected';
2753  this.selectedDot.setAttribute( 'aria-current', 'step' );
2754};
2755
2756PageDots.prototype.onTap = 
2757PageDots.prototype.onClick = function( event ) {
2758  var target = event.target;
2759  if ( target.nodeName != 'LI' ) {
2760    return;
2761  }
2762
2763  this.parent.uiChange();
2764  var index = this.dots.indexOf( target );
2765  this.parent.select( index );
2766};
2767
2768PageDots.prototype.destroy = function() {
2769  this.deactivate();
2770  this.allOff();
2771};
2772
2773Flickity.PageDots = PageDots;
2774
2775
2776utils.extend( Flickity.defaults, {
2777  pageDots: true,
2778} );
2779
2780Flickity.createMethods.push('_createPageDots');
2781
2782var proto = Flickity.prototype;
2783
2784proto._createPageDots = function() {
2785  if ( !this.options.pageDots ) {
2786    return;
2787  }
2788  this.pageDots = new PageDots( this );
2789  this.on( 'activate', this.activatePageDots );
2790  this.on( 'select', this.updateSelectedPageDots );
2791  this.on( 'cellChange', this.updatePageDots );
2792  this.on( 'resize', this.updatePageDots );
2793  this.on( 'deactivate', this.deactivatePageDots );
2794};
2795
2796proto.activatePageDots = function() {
2797  this.pageDots.activate();
2798};
2799
2800proto.updateSelectedPageDots = function() {
2801  this.pageDots.updateSelected();
2802};
2803
2804proto.updatePageDots = function() {
2805  this.pageDots.setDots();
2806};
2807
2808proto.deactivatePageDots = function() {
2809  this.pageDots.deactivate();
2810};
2811
2812
2813Flickity.PageDots = PageDots;
2814
2815return Flickity;
2816
2817} ) );
2818
2819( function( window, factory ) {
2820  if ( typeof define == 'function' && define.amd ) {
2821    define( 'flickity/js/player',[
2822      'ev-emitter/ev-emitter',
2823      'fizzy-ui-utils/utils',
2824      './flickity',
2825    ], function( EvEmitter, utils, Flickity ) {
2826      return factory( EvEmitter, utils, Flickity );
2827    } );
2828  } else if ( typeof module == 'object' && module.exports ) {
2829    module.exports = factory(
2830        require('ev-emitter'),
2831        require('fizzy-ui-utils'),
2832        require('./flickity')
2833    );
2834  } else {
2835    factory(
2836        window.EvEmitter,
2837        window.fizzyUIUtils,
2838        window.Flickity
2839    );
2840  }
2841
2842}( window, function factory( EvEmitter, utils, Flickity ) {
2843
2844
2845
2846
2847function Player( parent ) {
2848  this.parent = parent;
2849  this.state = 'stopped';
2850  this.onVisibilityChange = this.visibilityChange.bind( this );
2851  this.onVisibilityPlay = this.visibilityPlay.bind( this );
2852}
2853
2854Player.prototype = Object.create( EvEmitter.prototype );
2855
2856Player.prototype.play = function() {
2857  if ( this.state == 'playing' ) {
2858    return;
2859  }
2860  var isPageHidden = document.hidden;
2861  if ( isPageHidden ) {
2862    document.addEventListener( 'visibilitychange', this.onVisibilityPlay );
2863    return;
2864  }
2865
2866  this.state = 'playing';
2867  document.addEventListener( 'visibilitychange', this.onVisibilityChange );
2868  this.tick();
2869};
2870
2871Player.prototype.tick = function() {
2872  if ( this.state != 'playing' ) {
2873    return;
2874  }
2875
2876  var time = this.parent.options.autoPlay;
2877  time = typeof time == 'number' ? time : 3000;
2878  var _this = this;
2879  this.clear();
2880  this.timeout = setTimeout( function() {
2881    _this.parent.next( true );
2882    _this.tick();
2883  }, time );
2884};
2885
2886Player.prototype.stop = function() {
2887  this.state = 'stopped';
2888  this.clear();
2889  document.removeEventListener( 'visibilitychange', this.onVisibilityChange );
2890};
2891
2892Player.prototype.clear = function() {
2893  clearTimeout( this.timeout );
2894};
2895
2896Player.prototype.pause = function() {
2897  if ( this.state == 'playing' ) {
2898    this.state = 'paused';
2899    this.clear();
2900  }
2901};
2902
2903Player.prototype.unpause = function() {
2904  if ( this.state == 'paused' ) {
2905    this.play();
2906  }
2907};
2908
2909Player.prototype.visibilityChange = function() {
2910  var isPageHidden = document.hidden;
2911  this[ isPageHidden ? 'pause' : 'unpause' ]();
2912};
2913
2914Player.prototype.visibilityPlay = function() {
2915  this.play();
2916  document.removeEventListener( 'visibilitychange', this.onVisibilityPlay );
2917};
2918
2919
2920utils.extend( Flickity.defaults, {
2921  pauseAutoPlayOnHover: true,
2922} );
2923
2924Flickity.createMethods.push('_createPlayer');
2925var proto = Flickity.prototype;
2926
2927proto._createPlayer = function() {
2928  this.player = new Player( this );
2929
2930  this.on( 'activate', this.activatePlayer );
2931  this.on( 'uiChange', this.stopPlayer );
2932  this.on( 'pointerDown', this.stopPlayer );
2933  this.on( 'deactivate', this.deactivatePlayer );
2934};
2935
2936proto.activatePlayer = function() {
2937  if ( !this.options.autoPlay ) {
2938    return;
2939  }
2940  this.player.play();
2941  this.element.addEventListener( 'mouseenter', this );
2942};
2943
2944
2945proto.playPlayer = function() {
2946  this.player.play();
2947};
2948
2949proto.stopPlayer = function() {
2950  this.player.stop();
2951};
2952
2953proto.pausePlayer = function() {
2954  this.player.pause();
2955};
2956
2957proto.unpausePlayer = function() {
2958  this.player.unpause();
2959};
2960
2961proto.deactivatePlayer = function() {
2962  this.player.stop();
2963  this.element.removeEventListener( 'mouseenter', this );
2964};
2965
2966
2967proto.onmouseenter = function() {
2968  if ( !this.options.pauseAutoPlayOnHover ) {
2969    return;
2970  }
2971  this.player.pause();
2972  this.element.addEventListener( 'mouseleave', this );
2973};
2974
2975proto.onmouseleave = function() {
2976  this.player.unpause();
2977  this.element.removeEventListener( 'mouseleave', this );
2978};
2979
2980
2981Flickity.Player = Player;
2982
2983return Flickity;
2984
2985} ) );
2986
2987( function( window, factory ) {
2988  if ( typeof define == 'function' && define.amd ) {
2989    define( 'flickity/js/add-remove-cell',[
2990      './flickity',
2991      'fizzy-ui-utils/utils',
2992    ], function( Flickity, utils ) {
2993      return factory( window, Flickity, utils );
2994    } );
2995  } else if ( typeof module == 'object' && module.exports ) {
2996    module.exports = factory(
2997        window,
2998        require('./flickity'),
2999        require('fizzy-ui-utils')
3000    );
3001  } else {
3002    factory(
3003        window,
3004        window.Flickity,
3005        window.fizzyUIUtils
3006    );
3007  }
3008
3009}( window, function factory( window, Flickity, utils ) {
3010
3011
3012
3013function getCellsFragment( cells ) {
3014  var fragment = document.createDocumentFragment();
3015  cells.forEach( function( cell ) {
3016    fragment.appendChild( cell.element );
3017  } );
3018  return fragment;
3019}
3020
3021
3022var proto = Flickity.prototype;
3023
3024proto.insert = function( elems, index ) {
3025  var cells = this._makeCells( elems );
3026  if ( !cells || !cells.length ) {
3027    return;
3028  }
3029  var len = this.cells.length;
3030  index = index === undefined ? len : index;
3031  var fragment = getCellsFragment( cells );
3032  var isAppend = index == len;
3033  if ( isAppend ) {
3034    this.slider.appendChild( fragment );
3035  } else {
3036    var insertCellElement = this.cells[ index ].element;
3037    this.slider.insertBefore( fragment, insertCellElement );
3038  }
3039  if ( index === 0 ) {
3040    this.cells = cells.concat( this.cells );
3041  } else if ( isAppend ) {
3042    this.cells = this.cells.concat( cells );
3043  } else {
3044    var endCells = this.cells.splice( index, len - index );
3045    this.cells = this.cells.concat( cells ).concat( endCells );
3046  }
3047
3048  this._sizeCells( cells );
3049  this.cellChange( index, true );
3050};
3051
3052proto.append = function( elems ) {
3053  this.insert( elems, this.cells.length );
3054};
3055
3056proto.prepend = function( elems ) {
3057  this.insert( elems, 0 );
3058};
3059
3060proto.remove = function( elems ) {
3061  var cells = this.getCells( elems );
3062  if ( !cells || !cells.length ) {
3063    return;
3064  }
3065
3066  var minCellIndex = this.cells.length - 1;
3067  cells.forEach( function( cell ) {
3068    cell.remove();
3069    var index = this.cells.indexOf( cell );
3070    minCellIndex = Math.min( index, minCellIndex );
3071    utils.removeFrom( this.cells, cell );
3072  }, this );
3073
3074  this.cellChange( minCellIndex, true );
3075};
3076
3077proto.cellSizeChange = function( elem ) {
3078  var cell = this.getCell( elem );
3079  if ( !cell ) {
3080    return;
3081  }
3082  cell.getSize();
3083
3084  var index = this.cells.indexOf( cell );
3085  this.cellChange( index );
3086};
3087
3088proto.cellChange = function( changedCellIndex, isPositioningSlider ) {
3089  var prevSelectedElem = this.selectedElement;
3090  this._positionCells( changedCellIndex );
3091  this._getWrapShiftCells();
3092  this.setGallerySize();
3093  var cell = this.getCell( prevSelectedElem );
3094  if ( cell ) {
3095    this.selectedIndex = this.getCellSlideIndex( cell );
3096  }
3097  this.selectedIndex = Math.min( this.slides.length - 1, this.selectedIndex );
3098
3099  this.emitEvent( 'cellChange', [ changedCellIndex ] );
3100  this.select( this.selectedIndex );
3101  if ( isPositioningSlider ) {
3102    this.positionSliderAtSelected();
3103  }
3104};
3105
3106
3107return Flickity;
3108
3109} ) );
3110
3111( function( window, factory ) {
3112  if ( typeof define == 'function' && define.amd ) {
3113    define( 'flickity/js/lazyload',[
3114      './flickity',
3115      'fizzy-ui-utils/utils',
3116    ], function( Flickity, utils ) {
3117      return factory( window, Flickity, utils );
3118    } );
3119  } else if ( typeof module == 'object' && module.exports ) {
3120    module.exports = factory(
3121        window,
3122        require('./flickity'),
3123        require('fizzy-ui-utils')
3124    );
3125  } else {
3126    factory(
3127        window,
3128        window.Flickity,
3129        window.fizzyUIUtils
3130    );
3131  }
3132
3133}( window, function factory( window, Flickity, utils ) {
3134'use strict';
3135
3136Flickity.createMethods.push('_createLazyload');
3137var proto = Flickity.prototype;
3138
3139proto._createLazyload = function() {
3140  this.on( 'select', this.lazyLoad );
3141};
3142
3143proto.lazyLoad = function() {
3144  var lazyLoad = this.options.lazyLoad;
3145  if ( !lazyLoad ) {
3146    return;
3147  }
3148  var adjCount = typeof lazyLoad == 'number' ? lazyLoad : 0;
3149  var cellElems = this.getAdjacentCellElements( adjCount );
3150  var lazyImages = [];
3151  cellElems.forEach( function( cellElem ) {
3152    var lazyCellImages = getCellLazyImages( cellElem );
3153    lazyImages = lazyImages.concat( lazyCellImages );
3154  } );
3155  lazyImages.forEach( function( img ) {
3156    new LazyLoader( img, this );
3157  }, this );
3158};
3159
3160function getCellLazyImages( cellElem ) {
3161  if ( cellElem.nodeName == 'IMG' ) {
3162    var lazyloadAttr = cellElem.getAttribute('data-flickity-lazyload');
3163    var srcAttr = cellElem.getAttribute('data-flickity-lazyload-src');
3164    var srcsetAttr = cellElem.getAttribute('data-flickity-lazyload-srcset');
3165    if ( lazyloadAttr || srcAttr || srcsetAttr ) {
3166      return [ cellElem ];
3167    }
3168  }
3169  var lazySelector = 'img[data-flickity-lazyload], ' +
3170    'img[data-flickity-lazyload-src], img[data-flickity-lazyload-srcset]';
3171  var imgs = cellElem.querySelectorAll( lazySelector );
3172  return utils.makeArray( imgs );
3173}
3174
3175
3176function LazyLoader( img, flickity ) {
3177  this.img = img;
3178  this.flickity = flickity;
3179  this.load();
3180}
3181
3182LazyLoader.prototype.handleEvent = utils.handleEvent;
3183
3184LazyLoader.prototype.load = function() {
3185  this.img.addEventListener( 'load', this );
3186  this.img.addEventListener( 'error', this );
3187  var src = this.img.getAttribute('data-flickity-lazyload') ||
3188    this.img.getAttribute('data-flickity-lazyload-src');
3189  var srcset = this.img.getAttribute('data-flickity-lazyload-srcset');
3190  this.img.src = src;
3191  if ( srcset ) {
3192    this.img.setAttribute( 'srcset', srcset );
3193  }
3194  this.img.removeAttribute('data-flickity-lazyload');
3195  this.img.removeAttribute('data-flickity-lazyload-src');
3196  this.img.removeAttribute('data-flickity-lazyload-srcset');
3197};
3198
3199LazyLoader.prototype.onload = function( event ) {
3200  this.complete( event, 'flickity-lazyloaded' );
3201};
3202
3203LazyLoader.prototype.onerror = function( event ) {
3204  this.complete( event, 'flickity-lazyerror' );
3205};
3206
3207LazyLoader.prototype.complete = function( event, className ) {
3208  this.img.removeEventListener( 'load', this );
3209  this.img.removeEventListener( 'error', this );
3210
3211  var cell = this.flickity.getParentCell( this.img );
3212  var cellElem = cell && cell.element;
3213  this.flickity.cellSizeChange( cellElem );
3214
3215  this.img.classList.add( className );
3216  this.flickity.dispatchEvent( 'lazyLoad', event, cellElem );
3217};
3218
3219
3220Flickity.LazyLoader = LazyLoader;
3221
3222return Flickity;
3223
3224} ) );
3225
3226
3227( function( window, factory ) {
3228  if ( typeof define == 'function' && define.amd ) {
3229    define( 'flickity/js/index',[
3230      './flickity',
3231      './drag',
3232      './prev-next-button',
3233      './page-dots',
3234      './player',
3235      './add-remove-cell',
3236      './lazyload',
3237    ], factory );
3238  } else if ( typeof module == 'object' && module.exports ) {
3239    module.exports = factory(
3240        require('./flickity'),
3241        require('./drag'),
3242        require('./prev-next-button'),
3243        require('./page-dots'),
3244        require('./player'),
3245        require('./add-remove-cell'),
3246        require('./lazyload')
3247    );
3248  }
3249
3250} )( window, function factory( Flickity ) {
3251  return Flickity;
3252} );
3253
3254
3255
3256( function( window, factory ) {
3257  if ( typeof define == 'function' && define.amd ) {
3258    define( 'flickity-as-nav-for/as-nav-for',[
3259      'flickity/js/index',
3260      'fizzy-ui-utils/utils'
3261    ], factory );
3262  } else if ( typeof module == 'object' && module.exports ) {
3263    module.exports = factory(
3264      require('flickity'),
3265      require('fizzy-ui-utils')
3266    );
3267  } else {
3268    window.Flickity = factory(
3269      window.Flickity,
3270      window.fizzyUIUtils
3271    );
3272  }
3273
3274}( window, function factory( Flickity, utils ) {
3275
3276
3277
3278
3279
3280Flickity.createMethods.push('_createAsNavFor');
3281
3282var proto = Flickity.prototype;
3283
3284proto._createAsNavFor = function() {
3285  this.on( 'activate', this.activateAsNavFor );
3286  this.on( 'deactivate', this.deactivateAsNavFor );
3287  this.on( 'destroy', this.destroyAsNavFor );
3288
3289  var asNavForOption = this.options.asNavFor;
3290  if ( !asNavForOption ) {
3291    return;
3292  }
3293  var _this = this;
3294  setTimeout( function initNavCompanion() {
3295    _this.setNavCompanion( asNavForOption );
3296  });
3297};
3298
3299proto.setNavCompanion = function( elem ) {
3300  elem = utils.getQueryElement( elem );
3301  var companion = Flickity.data( elem );
3302  if ( !companion || companion == this ) {
3303    return;
3304  }
3305
3306  this.navCompanion = companion;
3307  var _this = this;
3308  this.onNavCompanionSelect = function() {
3309    _this.navCompanionSelect();
3310  };
3311  companion.on( 'select', this.onNavCompanionSelect );
3312  this.on( 'staticClick', this.onNavStaticClick );
3313
3314  this.navCompanionSelect( true );
3315};
3316
3317proto.navCompanionSelect = function( isInstant ) {
3318  var companionCells = this.navCompanion && this.navCompanion.selectedCells;
3319  if ( !companionCells ) {
3320    return;
3321  }
3322  var selectedCell = companionCells[0];
3323  var firstIndex = this.navCompanion.cells.indexOf( selectedCell );
3324  var lastIndex = firstIndex + companionCells.length - 1;
3325  var selectIndex = Math.floor( lerp( firstIndex, lastIndex,
3326    this.navCompanion.cellAlign ) );
3327  this.selectCell( selectIndex, false, isInstant );
3328  this.removeNavSelectedElements();
3329  if ( selectIndex >= this.cells.length ) {
3330    return;
3331  }
3332
3333  var selectedCells = this.cells.slice( firstIndex, lastIndex + 1 );
3334  this.navSelectedElements = selectedCells.map( function( cell ) {
3335    return cell.element;
3336  });
3337  this.changeNavSelectedClass('add');
3338};
3339
3340function lerp( a, b, t ) {
3341  return ( b - a ) * t + a;
3342}
3343
3344proto.changeNavSelectedClass = function( method ) {
vendor: 10,444 bytes, lines 3345-3784
3345  this.navSelectedElements.forEach( function( navElem ) {
3346    navElem.classList[ method ]('is-nav-selected');
3347  });
3348};
3349
3350proto.activateAsNavFor = function() {
3351  this.navCompanionSelect( true );
3352};
3353
3354proto.removeNavSelectedElements = function() {
3355  if ( !this.navSelectedElements ) {
3356    return;
3357  }
3358  this.changeNavSelectedClass('remove');
3359  delete this.navSelectedElements;
3360};
3361
3362proto.onNavStaticClick = function( event, pointer, cellElement, cellIndex ) {
3363  if ( typeof cellIndex == 'number' ) {
3364    this.navCompanion.selectCell( cellIndex );
3365  }
3366};
3367
3368proto.deactivateAsNavFor = function() {
3369  this.removeNavSelectedElements();
3370};
3371
3372proto.destroyAsNavFor = function() {
3373  if ( !this.navCompanion ) {
3374    return;
3375  }
3376  this.navCompanion.off( 'select', this.onNavCompanionSelect );
3377  this.off( 'staticClick', this.onNavStaticClick );
3378  delete this.navCompanion;
3379};
3380
3381
3382return Flickity;
3383
3384}));
3385
3386
3387( function( window, factory ) { 'use strict';
3388
3389
3390  if ( typeof define == 'function' && define.amd ) {
3391    define( 'imagesloaded/imagesloaded',[
3392      'ev-emitter/ev-emitter'
3393    ], function( EvEmitter ) {
3394      return factory( window, EvEmitter );
3395    });
3396  } else if ( typeof module == 'object' && module.exports ) {
3397    module.exports = factory(
3398      window,
3399      require('ev-emitter')
3400    );
3401  } else {
3402    window.imagesLoaded = factory(
3403      window,
3404      window.EvEmitter
3405    );
3406  }
3407
3408})( typeof window !== 'undefined' ? window : this,
3409
3410
3411function factory( window, EvEmitter ) {
3412
3413
3414
3415var $ = window.jQuery;
3416var console = window.console;
3417
3418
3419function extend( a, b ) {
3420  for ( var prop in b ) {
3421    a[ prop ] = b[ prop ];
3422  }
3423  return a;
3424}
3425
3426var arraySlice = Array.prototype.slice;
3427
3428function makeArray( obj ) {
3429  if ( Array.isArray( obj ) ) {
3430    return obj;
3431  }
3432
3433  var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
3434  if ( isArrayLike ) {
3435    return arraySlice.call( obj );
3436  }
3437
3438  return [ obj ];
3439}
3440
3441
3442function ImagesLoaded( elem, options, onAlways ) {
3443  if ( !( this instanceof ImagesLoaded ) ) {
3444    return new ImagesLoaded( elem, options, onAlways );
3445  }
3446  var queryElem = elem;
3447  if ( typeof elem == 'string' ) {
3448    queryElem = document.querySelectorAll( elem );
3449  }
3450  if ( !queryElem ) {
3451    console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) );
3452    return;
3453  }
3454
3455  this.elements = makeArray( queryElem );
3456  this.options = extend( {}, this.options );
3457  if ( typeof options == 'function' ) {
3458    onAlways = options;
3459  } else {
3460    extend( this.options, options );
3461  }
3462
3463  if ( onAlways ) {
3464    this.on( 'always', onAlways );
3465  }
3466
3467  this.getImages();
3468
3469  if ( $ ) {
3470    this.jqDeferred = new $.Deferred();
3471  }
3472
3473  setTimeout( this.check.bind( this ) );
3474}
3475
3476ImagesLoaded.prototype = Object.create( EvEmitter.prototype );
3477
3478ImagesLoaded.prototype.options = {};
3479
3480ImagesLoaded.prototype.getImages = function() {
3481  this.images = [];
3482
3483  this.elements.forEach( this.addElementImages, this );
3484};
3485
3486ImagesLoaded.prototype.addElementImages = function( elem ) {
3487  if ( elem.nodeName == 'IMG' ) {
3488    this.addImage( elem );
3489  }
3490  if ( this.options.background === true ) {
3491    this.addElementBackgroundImages( elem );
3492  }
3493
3494  var nodeType = elem.nodeType;
3495  if ( !nodeType || !elementNodeTypes[ nodeType ] ) {
3496    return;
3497  }
3498  var childImgs = elem.querySelectorAll('img');
3499  for ( var i=0; i < childImgs.length; i++ ) {
3500    var img = childImgs[i];
3501    this.addImage( img );
3502  }
3503
3504  if ( typeof this.options.background == 'string' ) {
3505    var children = elem.querySelectorAll( this.options.background );
3506    for ( i=0; i < children.length; i++ ) {
3507      var child = children[i];
3508      this.addElementBackgroundImages( child );
3509    }
3510  }
3511};
3512
3513var elementNodeTypes = {
3514  1: true,
3515  9: true,
3516  11: true
3517};
3518
3519ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
3520  var style = getComputedStyle( elem );
3521  if ( !style ) {
3522    return;
3523  }
3524  var reURL = /url\((['"])?(.*?)\1\)/gi;
3525  var matches = reURL.exec( style.backgroundImage );
3526  while ( matches !== null ) {
3527    var url = matches && matches[2];
3528    if ( url ) {
3529      this.addBackground( url, elem );
3530    }
3531    matches = reURL.exec( style.backgroundImage );
3532  }
3533};
3534
3535ImagesLoaded.prototype.addImage = function( img ) {
3536  var loadingImage = new LoadingImage( img );
3537  this.images.push( loadingImage );
3538};
3539
3540ImagesLoaded.prototype.addBackground = function( url, elem ) {
3541  var background = new Background( url, elem );
3542  this.images.push( background );
3543};
3544
3545ImagesLoaded.prototype.check = function() {
3546  var _this = this;
3547  this.progressedCount = 0;
3548  this.hasAnyBroken = false;
3549  if ( !this.images.length ) {
3550    this.complete();
3551    return;
3552  }
3553
3554  function onProgress( image, elem, message ) {
3555    setTimeout( function() {
3556      _this.progress( image, elem, message );
3557    });
3558  }
3559
3560  this.images.forEach( function( loadingImage ) {
3561    loadingImage.once( 'progress', onProgress );
3562    loadingImage.check();
3563  });
3564};
3565
3566ImagesLoaded.prototype.progress = function( image, elem, message ) {
3567  this.progressedCount++;
3568  this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
3569  this.emitEvent( 'progress', [ this, image, elem ] );
3570  if ( this.jqDeferred && this.jqDeferred.notify ) {
3571    this.jqDeferred.notify( this, image );
3572  }
3573  if ( this.progressedCount == this.images.length ) {
3574    this.complete();
3575  }
3576
3577  if ( this.options.debug && console ) {
3578    console.log( 'progress: ' + message, image, elem );
3579  }
3580};
3581
3582ImagesLoaded.prototype.complete = function() {
3583  var eventName = this.hasAnyBroken ? 'fail' : 'done';
3584  this.isComplete = true;
3585  this.emitEvent( eventName, [ this ] );
3586  this.emitEvent( 'always', [ this ] );
3587  if ( this.jqDeferred ) {
3588    var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';
3589    this.jqDeferred[ jqMethod ]( this );
3590  }
3591};
3592
3593
3594function LoadingImage( img ) {
3595  this.img = img;
3596}
3597
3598LoadingImage.prototype = Object.create( EvEmitter.prototype );
3599
3600LoadingImage.prototype.check = function() {
3601  var isComplete = this.getIsImageComplete();
3602  if ( isComplete ) {
3603    this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
3604    return;
3605  }
3606
3607  this.proxyImage = new Image();
3608  this.proxyImage.addEventListener( 'load', this );
3609  this.proxyImage.addEventListener( 'error', this );
3610  this.img.addEventListener( 'load', this );
3611  this.img.addEventListener( 'error', this );
3612  this.proxyImage.src = this.img.src;
3613};
3614
3615LoadingImage.prototype.getIsImageComplete = function() {
3616  return this.img.complete && this.img.naturalWidth;
3617};
3618
3619LoadingImage.prototype.confirm = function( isLoaded, message ) {
3620  this.isLoaded = isLoaded;
3621  this.emitEvent( 'progress', [ this, this.img, message ] );
3622};
3623
3624
3625LoadingImage.prototype.handleEvent = function( event ) {
3626  var method = 'on' + event.type;
3627  if ( this[ method ] ) {
3628    this[ method ]( event );
3629  }
3630};
3631
3632LoadingImage.prototype.onload = function() {
3633  this.confirm( true, 'onload' );
3634  this.unbindEvents();
3635};
3636
3637LoadingImage.prototype.onerror = function() {
3638  this.confirm( false, 'onerror' );
3639  this.unbindEvents();
3640};
3641
3642LoadingImage.prototype.unbindEvents = function() {
3643  this.proxyImage.removeEventListener( 'load', this );
3644  this.proxyImage.removeEventListener( 'error', this );
3645  this.img.removeEventListener( 'load', this );
3646  this.img.removeEventListener( 'error', this );
3647};
3648
3649
3650function Background( url, element ) {
3651  this.url = url;
3652  this.element = element;
3653  this.img = new Image();
3654}
3655
3656Background.prototype = Object.create( LoadingImage.prototype );
3657
3658Background.prototype.check = function() {
3659  this.img.addEventListener( 'load', this );
3660  this.img.addEventListener( 'error', this );
3661  this.img.src = this.url;
3662  var isComplete = this.getIsImageComplete();
3663  if ( isComplete ) {
3664    this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
3665    this.unbindEvents();
3666  }
3667};
3668
3669Background.prototype.unbindEvents = function() {
3670  this.img.removeEventListener( 'load', this );
3671  this.img.removeEventListener( 'error', this );
3672};
3673
3674Background.prototype.confirm = function( isLoaded, message ) {
3675  this.isLoaded = isLoaded;
3676  this.emitEvent( 'progress', [ this, this.element, message ] );
3677};
3678
3679
3680ImagesLoaded.makeJQueryPlugin = function( jQuery ) {
3681  jQuery = jQuery || window.jQuery;
3682  if ( !jQuery ) {
3683    return;
3684  }
3685  $ = jQuery;
3686  $.fn.imagesLoaded = function( options, callback ) {
3687    var instance = new ImagesLoaded( this, options, callback );
3688    return instance.jqDeferred.promise( $(this) );
3689  };
3690};
3691ImagesLoaded.makeJQueryPlugin();
3692
3693
3694return ImagesLoaded;
3695
3696});
3697
3698
3699
3700( function( window, factory ) {
3701  if ( typeof define == 'function' && define.amd ) {
3702    define( [
3703      'flickity/js/index',
3704      'imagesloaded/imagesloaded'
3705    ], function( Flickity, imagesLoaded ) {
3706      return factory( window, Flickity, imagesLoaded );
3707    });
3708  } else if ( typeof module == 'object' && module.exports ) {
3709    module.exports = factory(
3710      window,
3711      require('flickity'),
3712      require('imagesloaded')
3713    );
3714  } else {
3715    window.Flickity = factory(
3716      window,
3717      window.Flickity,
3718      window.imagesLoaded
3719    );
3720  }
3721
3722}( window, function factory( window, Flickity, imagesLoaded ) {
3723'use strict';
3724
3725Flickity.createMethods.push('_createImagesLoaded');
3726
3727var proto = Flickity.prototype;
3728
3729proto._createImagesLoaded = function() {
3730  this.on( 'activate', this.imagesLoaded );
3731};
3732
3733proto.imagesLoaded = function() {
3734  if ( !this.options.imagesLoaded ) {
3735    return;
3736  }
3737  var _this = this;
3738  function onImagesLoadedProgress( instance, image ) {
3739    var cell = _this.getParentCell( image.img );
3740    _this.cellSizeChange( cell && cell.element );
3741    if ( !_this.options.freeScroll ) {
3742      _this.positionSliderAtSelected();
3743    }
3744  }
3745  imagesLoaded( this.slider ).on( 'progress', onImagesLoadedProgress );
3746};
3747
3748return Flickity;
3749
3750}));
3751
3752
3753
3754( function( window, factory ) {
3755  if ( typeof define == 'function' && define.amd ) {
3756    define( [
3757      'flickity/js/index',
3758      'fizzy-ui-utils/utils',
3759    ], factory );
3760  } else if ( typeof module == 'object' && module.exports ) {
3761    module.exports = factory(
3762      require('flickity'),
3763      require('fizzy-ui-utils')
3764    );
3765  } else {
3766    factory(
3767      window.Flickity,
3768      window.fizzyUIUtils
3769    );
3770  }
3771
3772}( this, function factory( Flickity, utils ) {
3773
3774
3775var Slide = Flickity.Slide;
3776
3777var slideUpdateTarget = Slide.prototype.updateTarget;
3778Slide.prototype.updateTarget = function() {
3779  slideUpdateTarget.apply( this, arguments );
3780  if ( !this.parent.options.fade ) {
3781    return;
3782  }
3783  var slideTargetX = this.target - this.x;
3784  var firstCellX = this.cells[0].x;
3785  this.cells.forEach( function( cell ) {
3786    var targetX = cell.x - firstCellX - slideTargetX;
3787    cell.renderPosition( targetX );
3788  });
3789};
3790
3791Slide.prototype.setOpacity = function( alpha ) {
3792  this.cells.forEach( function( cell ) {
3793    cell.element.style.opacity = alpha;
3794  });
3795};
3796
3797
3798var proto = Flickity.prototype;
3799
3800Flickity.createMethods.push('_createFade');
3801
3802proto._createFade = function() {
3803  this.fadeIndex = this.selectedIndex;
3804  this.prevSelectedIndex = this.selectedIndex;
3805  this.on( 'select', this.onSelectFade );
3806  this.on( 'dragEnd', this.onDragEndFade );
3807  this.on( 'settle', this.onSettleFade );
3808  this.on( 'activate', this.onActivateFade );
3809  this.on( 'deactivate', this.onDeactivateFade );
3810};
3811
3812var updateSlides = proto.updateSlides;
3813proto.updateSlides = function() {
3814  updateSlides.apply( this, arguments );
3815  if ( !this.options.fade ) {
3816    return;
3817  }
3818  this.slides.forEach( function( slide, i ) {
3819    var alpha = i == this.selectedIndex ? 1 : 0;
3820    slide.setOpacity( alpha );
3821  }, this );
3822};
3823
3824
3825proto.onSelectFade = function() {
3826  this.fadeIndex = Math.min( this.prevSelectedIndex, this.slides.length - 1 );
3827  this.prevSelectedIndex = this.selectedIndex;
3828};
3829
3830proto.onSettleFade = function() {
3831  delete this.didDragEnd;
3832  if ( !this.options.fade ) {
3833    return;
3834  }
3835  this.selectedSlide.setOpacity( 1 );
3836  var fadedSlide = this.slides[ this.fadeIndex ];
3837  if ( fadedSlide && this.fadeIndex != this.selectedIndex ) {
3838    this.slides[ this.fadeIndex ].setOpacity( 0 );
3839  }
3840};
3841
3842proto.onDragEndFade = function() {
3843  this.didDragEnd = true;
3844};
3845
3846proto.onActivateFade = function() {
3847  if ( this.options.fade ) {
3848    this.element.classList.add('is-fade');
3849  }
3850};
3851
3852proto.onDeactivateFade = function() {
3853  if ( !this.options.fade ) {
3854    return;
3855  }
3856  this.element.classList.remove('is-fade');
3857  this.slides.forEach( function( slide ) {
3858    slide.setOpacity('');
3859  });
3860};
3861
3862
3863var positionSlider = proto.positionSlider;
3864proto.positionSlider = function() {
3865  if ( !this.options.fade ) {
3866    positionSlider.apply( this, arguments );
3867    return;
3868  }
3869
3870  this.fadeSlides();
3871  this.dispatchScrollEvent();
3872};
3873
3874var positionSliderAtSelected = proto.positionSliderAtSelected;
3875proto.positionSliderAtSelected = function() {
3876  if ( this.options.fade ) {
3877    this.setTranslateX( 0 );
3878  }
3879  positionSliderAtSelected.apply( this, arguments );
3880};
3881
3882proto.fadeSlides = function() {
3883  if ( this.slides.length < 2 ) {
3884    return;
3885  }
3886  var indexes = this.getFadeIndexes();
3887  var fadeSlideA = this.slides[ indexes.a ];
3888  var fadeSlideB = this.slides[ indexes.b ];
3889  var distance = this.wrapDifference( fadeSlideA.target, fadeSlideB.target );
3890  var progress = this.wrapDifference( fadeSlideA.target, -this.x );
3891  progress = progress / distance;
3892
3893  fadeSlideA.setOpacity( 1 - progress );
3894  fadeSlideB.setOpacity( progress );
3895
3896  var fadeHideIndex = indexes.a;
3897  if ( this.isDragging ) {
3898    fadeHideIndex = progress > 0.5 ? indexes.a : indexes.b;
3899  }
3900  var isNewHideIndex = this.fadeHideIndex != undefined &&
3901    this.fadeHideIndex != fadeHideIndex &&
3902    this.fadeHideIndex != indexes.a &&
3903    this.fadeHideIndex != indexes.b;
3904  if ( isNewHideIndex ) {
3905    this.slides[ this.fadeHideIndex ].setOpacity( 0 );
3906  }
3907  this.fadeHideIndex = fadeHideIndex;
3908};
3909
3910proto.getFadeIndexes = function() {
3911  if ( !this.isDragging && !this.didDragEnd ) {
3912    return {
3913      a: this.fadeIndex,
3914      b: this.selectedIndex,
3915    };
3916  }
3917  if ( this.options.wrapAround ) {
3918    return this.getFadeDragWrapIndexes();
3919  } else {
3920    return this.getFadeDragLimitIndexes();
3921  }
3922};
3923
3924proto.getFadeDragWrapIndexes = function() {
3925  var distances = this.slides.map( function( slide, i ) {
3926    return this.getSlideDistance( -this.x, i );
3927  }, this );
3928  var absDistances = distances.map( function( distance ) {
3929    return Math.abs( distance );
3930  });
3931  var minDistance = Math.min.apply( Math, absDistances );
3932  var closestIndex = absDistances.indexOf( minDistance );
3933  var distance = distances[ closestIndex ];
3934  var len = this.slides.length;
3935
3936  var delta = distance >= 0 ? 1 : -1;
3937  return {
3938    a: closestIndex,
3939    b: utils.modulo( closestIndex + delta, len ),
3940  };
3941};
3942
3943proto.getFadeDragLimitIndexes = function() {
3944  var dragIndex = 0;
3945  for ( var i=0; i < this.slides.length - 1; i++ ) {
3946    var slide = this.slides[i];
3947    if ( -this.x < slide.target ) {
3948      break;
3949    }
3950    dragIndex = i;
3951  }
3952  return {
3953    a: dragIndex,
3954    b: dragIndex + 1,
3955  };
3956};
3957
3958proto.wrapDifference = function( a, b ) {
3959  var diff = b - a;
3960
3961  if ( !this.options.wrapAround ) {
3962    return diff;
3963  }
3964
3965  var diffPlus = diff + this.slideableWidth;
3966  var diffMinus = diff - this.slideableWidth;
3967  if ( Math.abs( diffPlus ) < Math.abs( diff ) ) {
3968    diff = diffPlus;
3969  }
3970  if ( Math.abs( diffMinus ) < Math.abs( diff ) ) {
3971    diff = diffMinus;
3972  }
3973  return diff;
3974};
3975
3976
3977var _getWrapShiftCells = proto._getWrapShiftCells;
3978proto._getWrapShiftCells = function() {
3979  if ( !this.options.fade ) {
3980    _getWrapShiftCells.apply( this, arguments );
3981  }
3982};
3983
3984var shiftWrapCells = proto.shiftWrapCells;
3985proto.shiftWrapCells = function() {
3986  if ( !this.options.fade ) {
3987    shiftWrapCells.apply( this, arguments );
3988  }
3989};
3990
3991return Flickity;
3992
3993}));
3994
3995function formatMoney(cents, format) {
3996  if (typeof cents === 'string') {
3997    cents = cents.replace('.', '');
3998  }
3999  let value = '';
4000  const placeholderRegex = /\{\{\s*(\w+)\s*\}\}/;
4001  const formatString = format || moneyFormat;
4002
4003  function formatWithDelimiters(
4004    number,
4005    precision = 2,
4006    thousands = ',',
4007    decimal = '.'
4008  ) {
4009    if (isNaN(number) || number == null) {
4010      return 0;
4011    }
4012
4013    number = (number / 100.0).toFixed(precision);
4014
4015    const parts = number.split('.');
4016    const dollarsAmount = parts[0].replace(
4017      /(\d)(?=(\d\d\d)+(?!\d))/g,
4018      `$1${thousands}`
4019    );
4020    const centsAmount = parts[1] ? decimal + parts[1] : '';
4021
4022    return dollarsAmount + centsAmount;
4023  }
4024
4025  switch (formatString.match(placeholderRegex)[1]) {
4026    case 'amount':
4027      value = formatWithDelimiters(cents, 2);
4028      break;
4029    case 'amount_no_decimals':
4030      value = formatWithDelimiters(cents, 0);
4031      break;
4032    case 'amount_with_comma_separator':
4033      value = formatWithDelimiters(cents, 2, '.', ',');
4034      break;
4035    case 'amount_no_decimals_with_comma_separator':
4036      value = formatWithDelimiters(cents, 0, '.', ',');
4037      break;
4038		case "amount_with_apostrophe_separator":
4039      value = formatWithDelimiters(cents, 2, "'", ".");
4040      break;
4041  }
4042
4043  return formatString.replace(placeholderRegex, value);
4044}
4045
4046var dispatchCustomEvent = function dispatchCustomEvent(eventName) {
4047  var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
4048  var detail = {
4049    detail: data
4050  };
4051  var event = new CustomEvent(eventName, data ? detail : null);
4052  document.dispatchEvent(event);
4053};
4054!function (e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = e || self, function () { var n = e.Cookies, r = e.Cookies = t(); r.noConflict = function () { return e.Cookies = n, r } }()) }(this, (function () { "use strict"; function e(e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) e[r] = n[r] } return e } var t = { read: function (e) { return e.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent) }, write: function (e) { return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent) } }; return function n(r, o) { function i(t, n, i) { if ("undefined" != typeof document) { "number" == typeof (i = e({}, o, i)).expires && (i.expires = new Date(Date.now() + 864e5 * i.expires)), i.expires && (i.expires = i.expires.toUTCString()), t = encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape), n = r.write(n, t); var c = ""; for (var u in i) i[u] && (c += "; " + u, !0 !== i[u] && (c += "=" + i[u].split(";")[0])); return document.cookie = t + "=" + n + c } } return Object.create({ set: i, get: function (e) { if ("undefined" != typeof document && (!arguments.length || e)) { for (var n = document.cookie ? document.cookie.split("; ") : [], o = {}, i = 0; i < n.length; i++) { var c = n[i].split("="), u = c.slice(1).join("="); '"' === u[0] && (u = u.slice(1, -1)); try { var f = t.read(c[0]); if (o[f] = r.read(u, f), e === f) break } catch (e) { } }
4054 return e ? o[e] : o } }, remove: function (t, n) { i(t, "", e({}, n, { expires: -1 })) }, withAttributes: function (t) { return n(this.converter, e({}, this.attributes, t)) }, withConverter: function (t) { return n(e({}, this.converter, t), this.attributes) } }, { attributes: { value: Object.freeze(o) }, converter: { value: Object.freeze(r) } }) }(t, { path: "/" }) }));
4055
4056!function(a,b){var c=b(a,a.document);a.lazySizes=c,"object"==typeof module&&module.exports&&(module.exports=c)}("undefined"!=typeof window?window:{},function(a,b){"use strict";var c,d;if(function(){var b,c={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};d=a.lazySizesConfig||a.lazysizesConfig||{};for(b in c)b in d||(d[b]=c[b])}(),!b||!b.getElementsByClassName)return{init:function(){},cfg:d,noSupport:!0};var e=b.documentElement,f=a.Date,g=a.HTMLPictureElement,h="addEventListener",i="getAttribute",j=a[h],k=a.setTimeout,l=a.requestAnimationFrame||k,m=a.requestIdleCallback,n=/^picture$/i,o=["load","error","lazyincluded","_lazyloaded"],p={},q=Array.prototype.forEach,r=function(a,b){return p[b]||(p[b]=new RegExp("(\\s|^)"+b+"(\\s|$)")),p[b].test(a[i]("class")||"")&&p[b]},s=function(a,b){r(a,b)||a.setAttribute("class",(a[i]("class")||"").trim()+" "+b)},t=function(a,b){var c;(c=r(a,b))&&a.setAttribute("class",(a[i]("class")||"").replace(c," "))},u=function(a,b,c){var d=c?h:"removeEventListener";c&&u(a,b),o.forEach(function(c){a[d](c,b)})},v=function(a,d,e,f,g){var h=b.createEvent("Event");return e||(e={}),e.instance=c,h.initEvent(d,!f,!g),h.detail=e,a.dispatchEvent(h),h},w=function(b,c){var e;!g&&(e=a.picturefill||d.pf)?(c&&c.src&&!b[i]("srcset")&&b.setAttribute("srcset",c.src),e({reevaluate:!0,elements:[b]})):c&&c.src&&(b.src=c.src)},x=function(a,b){return(getComputedStyle(a,null)||{})[b]},y=function(a,b,c){for(c=c||a.offsetWidth;c<d.minSize&&b&&!a._lazysizesWidth;)c=b.offsetWidth,b=b.parentNode;return c},z=function(){var a,c,d=[],e=[],f=d,g=function(){var b=f;for(f=d.length?e:d,a=!0,c=!1;b.length;)b.shift()();a=!1},h=function(d,e){a&&!e?d.apply(this,arguments):(f.push(d),c||(c=!0,(b.hidden?k:l)(g)))};return h._lsFlush=g,h}(),A=function(a,b){return b?function(){z(a)}:function(){var b=this,c=arguments;z(function(){a.apply(b,c)})}},B=function(a){var b,c=0,e=d.throttleDelay,g=d.ricTimeout,h=function(){b=!1,c=f.now(),a()},i=m&&g>49?function(){m(h,{timeout:g}),g!==d.ricTimeout&&(g=d.ricTimeout)}:A(function(){k(h)},!0);return function(a){var d;(a=!0===a)&&(g=33),b||(b=!0,d=e-(f.now()-c),d<0&&(d=0),a||d<9?i():k(i,d))}},C=function(a){var b,c,d=99,e=function(){b=null,a()},g=function(){var a=f.now()-c;a<d?k(g,d-a):(m||e)(e)};return function(){c=f.now(),b||(b=k(g,d))}},D=function(){var g,l,m,o,p,y,D,F,G,H,I,J,K=/^img$/i,L=/^iframe$/i,M="onscroll"in a&&!/(gle|ing)bot/.test(navigator.userAgent),N=0,O=0,P=0,Q=-1,R=function(a){P--,(!a||P<0||!a.target)&&(P=0)},S=function(a){return null==J&&(J="hidden"==x(b.body,"visibility")),J||"hidden"!=x(a.parentNode,"visibility")&&"hidden"!=x(a,"visibility")},T=function(a,c){var d,f=a,g=S(a);for(F-=c,I+=c,G-=c,H+=c;g&&(f=f.offsetParent)&&f!=b.body&&f!=e;)(g=(x(f,"opacity")||1)>0)&&"visible"!=x(f,"overflow")&&(d=f.getBoundingClientRect(),g=H>d.left&&G<d.right&&I>d.top-1&&F<d.bottom+1);return g},U=function(){var a,f,h,j,k,m,n,p,q,r,s,t,u=c.elements;if((o=d.loadMode)&&P<8&&(a=u.length)){for(f=0,Q++;f<a;f++)if(u[f]&&!u[f]._lazyRace)if(!M||c.prematureUnveil&&c.prematureUnveil(u[f]))aa(u[f]);else if((p=u[f][i]("data-expand"))&&(m=1*p)||(m=O),r||(r=!d.expand||d.expand<1?e.clientHeight>500&&e.clientWidth>500?500:370:d.expand,c._defEx=r,s=r*d.expFactor,t=d.hFac,J=null,O<s&&P<1&&Q>2&&o>2&&!b.hidden?(O=s,Q=0):O=o>1&&Q>1&&P<6?r:N),q!==m&&(y=innerWidth+m*t,D=innerHeight+m,n=-1*m,q=m),h=u[f].getBoundingClientRect(),(I=h.bottom)>=n&&(F=h.top)<=D&&(H=h.right)>=n*t&&(G=h.left)<=y&&(I||H||G||F)&&(d.loadHidden||S(u[f]))&&(l&&P<3&&!p&&(o<3||Q<4)||T(u[f],m))){if(aa(u[f]),k=!0,P>9)break}else!k&&l&&!j&&P<4&&Q<4&&o>
40562&&(g[0]||d.preloadAfterLoad)&&(g[0]||!p&&(I||H||G||F||"auto"!=u[f][i](d.sizesAttr)))&&(j=g[0]||u[f]);j&&!k&&aa(j)}},V=B(U),W=function(a){var b=a.target;if(b._lazyCache)return void delete b._lazyCache;R(a),s(b,d.loadedClass),t(b,d.loadingClass),u(b,Y),v(b,"lazyloaded")},X=A(W),Y=function(a){X({target:a.target})},Z=function(a,b){try{a.contentWindow.location.replace(b)}catch(c){a.src=b}},$=function(a){var b,c=a[i](d.srcsetAttr);(b=d.customMedia[a[i]("data-media")||a[i]("media")])&&a.setAttribute("media",b),c&&a.setAttribute("srcset",c)},_=A(function(a,b,c,e,f){var g,h,j,l,o,p;(o=v(a,"lazybeforeunveil",b)).defaultPrevented||(e&&(c?s(a,d.autosizesClass):a.setAttribute("sizes",e)),h=a[i](d.srcsetAttr),g=a[i](d.srcAttr),f&&(j=a.parentNode,l=j&&n.test(j.nodeName||"")),p=b.firesLoad||"src"in a&&(h||g||l),o={target:a},s(a,d.loadingClass),p&&(clearTimeout(m),m=k(R,2500),u(a,Y,!0)),l&&q.call(j.getElementsByTagName("source"),$),h?a.setAttribute("srcset",h):g&&!l&&(L.test(a.nodeName)?Z(a,g):a.src=g),f&&(h||l)&&w(a,{src:g})),a._lazyRace&&delete a._lazyRace,t(a,d.lazyClass),z(function(){var b=a.complete&&a.naturalWidth>1;p&&!b||(b&&s(a,"ls-is-cached"),W(o),a._lazyCache=!0,k(function(){"_lazyCache"in a&&delete a._lazyCache},9)),"lazy"==a.loading&&P--},!0)}),aa=function(a){if(!a._lazyRace){var b,c=K.test(a.nodeName),e=c&&(a[i](d.sizesAttr)||a[i]("sizes")),f="auto"==e;(!f&&l||!c||!a[i]("src")&&!a.srcset||a.complete||r(a,d.errorClass)||!r(a,d.lazyClass))&&(b=v(a,"lazyunveilread").detail,f&&E.updateElem(a,!0,a.offsetWidth),a._lazyRace=!0,P++,_(a,b,f,e,c))}},ba=C(function(){d.loadMode=3,V()}),ca=function(){3==d.loadMode&&(d.loadMode=2),ba()},da=function(){if(!l){if(f.now()-p<999)return void k(da,999);l=!0,d.loadMode=3,V(),j("scroll",ca,!0)}};return{_:function(){p=f.now(),c.elements=b.getElementsByClassName(d.lazyClass),g=b.getElementsByClassName(d.lazyClass+" "+d.preloadClass),j("scroll",V,!0),j("resize",V,!0),a.MutationObserver?new MutationObserver(V).observe(e,{childList:!0,subtree:!0,attributes:!0}):(e[h]("DOMNodeInserted",V,!0),e[h]("DOMAttrModified",V,!0),setInterval(V,999)),j("hashchange",V,!0),["focus","mouseover","click","load","transitionend","animationend"].forEach(function(a){b[h](a,V,!0)}),/d$|^c/.test(b.readyState)?da():(j("load",da),b[h]("DOMContentLoaded",V),k(da,2e4)),c.elements.length?(U(),z._lsFlush()):V()},checkElems:V,unveil:aa,_aLSL:ca}}(),E=function(){var a,c=A(function(a,b,c,d){var e,f,g;if(a._lazysizesWidth=d,d+="px",a.setAttribute("sizes",d),n.test(b.nodeName||""))for(e=b.getElementsByTagName("source"),f=0,g=e.length;f<g;f++)e[f].setAttribute("sizes",d);c.detail.dataAttr||w(a,c.detail)}),e=function(a,b,d){var e,f=a.parentNode;f&&(d=y(a,f,d),e=v(a,"lazybeforesizes",{width:d,dataAttr:!!b}),e.defaultPrevented||(d=e.detail.width)&&d!==a._lazysizesWidth&&c(a,f,e,d))},f=function(){var b,c=a.length;if(c)for(b=0;b<c;b++)e(a[b])},g=C(f);return{_:function(){a=b.getElementsByClassName(d.autosizesClass),j("resize",g)},checkElems:g,updateElem:e}}(),F=function(){!F.i&&b.getElementsByClassName&&(F.i=!0,E._(),D._())};return k(function(){d.init&&F()}),c={cfg:d,autoSizer:E,loader:D,init:F,uP:w,aC:s,rC:t,hC:r,fire:v,gW:y,rAF:z}});
4057gsap.registerPlugin({
4058  name: "className",
4059  init: true,
4060  register(gsap, Plugin) {
4061    var CSSPlugin = gsap.plugins.css,
4062      cssCore = CSSPlugin.core || console.warn("Requires GSAP 3.2.1 or later") || {},
4063      _removeLinkedListItem = gsap.core._removeLinkedListItem,
4064      _removeProperty = cssCore._removeProperty,
4065      PropTween = gsap.core.PropTween,
4066      _getAllStyles = function(target, uncache) {
4067        var styles = {},
4068          computed = getComputedStyle(target),
4069          cache = target._gsap,
4070          p;
4071        for (p in computed) {
4072          if (isNaN(p) && p !== "cssText" && p !== "length") {
4073            styles[p] = computed[p];
4074          }
4075        }
4076        uncache && cache && (cache.uncache = true);
4077        gsap.getProperty(target, "x");
4078        cache = target._gsap;
4079        for (p in cache) {
4080          styles[p] = cache[p];
4081        }
4082        return styles;
4083      };
4084    Plugin.prototype.init = function(target, endValue, tween) {
4085      let startClassList = target.getAttribute("class"),
4086        style = target.style,
4087        cssText = style.cssText,
4088        cache = target._gsap,
4089        classPT = cache.classPT,
4090        inlineToRemoveAtEnd = {},
4091        end = (endValue.charAt(1) !== "=") ? endValue : startClassList.replace(new RegExp("(?:\\s|^)" + endValue.substr(2) + "(?![\\w-])"), "") + ((endValue.charAt(0) === "+") ? " " + endValue.substr(2) : ""),
4092        plugin = this,
4093        changingVars = {},
4094        startVars = _getAllStyles(target),
4095        transformRelated = /(transform|perspective)/i,
4096        css = new CSSPlugin(),
4097        _renderClassName = function(ratio) {
4098          css.render(ratio, css);
4099          if (!ratio || ratio === 1) {
4100            target.setAttribute("class", ratio ? end : startClassList);
4101            for (var p in inlineToRemoveAtEnd) {
4102              _removeProperty(target, p);
4103            }
4104          }
4105        },
4106        endVars, p;
4107      if (classPT) {
4108        classPT.r(1, classPT.d);
4109        _removeLinkedListItem(classPT.d, classPT, "_pt");
4110      }
4111      target.setAttribute("class", end);
4112      endVars = _getAllStyles(target, true);
4113      target.setAttribute("class", startClassList);
4114      for (p in endVars) {
4115        if (endVars[p] !== startVars[p] && !transformRelated.test(p)) {
4116          changingVars[p] = endVars[p];
4117          if (!style[p] && style[p] !== "0") {
4118            inlineToRemoveAtEnd[p] = 1;
4119          }
4120        }
4121      }
4122      cache.classPT = plugin._pt = new PropTween(null, target, "className", 0, 0, _renderClassName, plugin, 0, -11);
4123      if (style.cssText !== cssText) {
4124        style.cssText = cssText;
4125      }
4126      cache.uncache = true;
4127      gsap.getProperty(target, "x");
4128      css.init(target, changingVars, tween);
4129      plugin._props.push.apply(plugin._props, css._props);
4130      return 1;
4131    };
4132  }
4133});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.