PageSourceSearch

https://www2.micard.co.jp/content/dam/micard/js/store/libs.js

js micard.co.jp collected 2026-09-29 10:01:42 UTC 253,098 bytes, 4,092 lines download raw bytes

1/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */�
vendor: 89,412 bytes, lines 1-2
1
2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
2
3/**
4 * jQuery Cookie plugin
5 *
6 * Copyright (c) 2010 Klaus Hartl (stilbuero.de)
7 * Dual licensed under the MIT and GPL licenses:
8 * http://www.opensource.org/licenses/mit-license.php
9 * http://www.gnu.org/licenses/gpl.html
10 *
11 */
12jQuery.cookie = function (key, value, options) {
13
14    // key and at least value given, set cookie...
15    if (arguments.length > 1 && String(value) !== "[object Object]") {
16        options = jQuery.extend({}, options);
17
18        if (value === null || value === undefined) {
19            options.expires = -1;
20        }
21
22        if (typeof options.expires === 'number') {
23            var days = options.expires, t = options.expires = new Date();
24            t.setDate(t.getDate() + days);
25        }
26
27        value = String(value);
28
29        return (document.cookie = [
30            encodeURIComponent(key), '=',
31            options.raw ? value : encodeURIComponent(value),
32            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
33            options.path ? '; path=' + options.path : '',
34            options.domain ? '; domain=' + options.domain : '',
35            options.secure ? '; secure' : ''
36        ].join(''));
37    }
38
39    // key and possibly options given, get cookie...
40    options = value || {};
41    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
42    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
43};
44
45/* Usage:
46 *  jQuery.csv()(csvtext)               returns an array of arrays representing the CSV text.
47 *  jQuery.csv("\t")(tsvtext)           uses Tab as a delimiter (comma is the default)
48 *  jQuery.csv("\t", "'")(tsvtext)      uses a single quote as the quote character instead of double quotes
49 *  jQuery.csv("\t", "'\"")(tsvtext)    uses single & double quotes as the quote character
50 */
51;
52jQuery.extend({
53    csv: function(delim, quote, linedelim) {
54        delim = typeof delim == "string" ? new RegExp( "[" + (delim || ","   ) + "]" ) : typeof delim == "undefined" ? ","    : delim;
55        quote = typeof quote == "string" ? new RegExp("^[" + (quote || '"'   ) + "]" ) : typeof quote == "undefined" ? '"'    : quote;
56        lined = typeof lined == "string" ? new RegExp( "[" + (lined || "\n") + "]+") : typeof lined == "undefined" ? "\n" : lined;
57
58        function splitline (v) {
59            // Split the line using the delimitor
60            var arr;
61            if($.support.msie){
62            	delim = "^|";
63            	var regexp = new RegExp("\t", "g");
64            	v = v.replace(regexp, delim);
65            } else {
66            	arr  = v.split(delim);
67            }
68            var arr  = v.split(delim),
69                out = [], q;
70            for (var i=0, l=arr.length; i<l; i++) {
71                if (q = arr[i].match(quote)) {
72                    for (j=i; j<l; j++) {
73                        if (arr[j].charAt(arr[j].length-1) == q[0]) { break; }
74                    }
75                    var s = arr.slice(i,j+1).join(delim);
76                    out.push(s.substr(1,s.length-2));
77                    i = j;
78                }
79                else {
80                	out.push(arr[i]);
81                }
82            }
83
84            return out;
85        }
86
87        return function(text) {
88            var lines = text.split(lined);
89            for (var i=0, l=lines.length; i<l; i++) {
90                lines[i] = splitline(lines[i]);
91            }
92            return lines;
93        };
94    }
95});
96
97/*
98 * jQuery Easing Scroll - http://moto-mono.net/easingScroll/
99 *
100 * jQuery required.
101 * jQuery Easing Plugin extends this Plugin.
102 *
103 * Copyright 2009 (c) nori ([email protected])
104 * http://moto-mono.net
105 * Licensed Under the MIT.
106 *
107 * $Date: 2009-05-13
108*/
109
110jQuery.fn.easingScroll=function(b){var d=$.extend({easing:"swing",duration:500},b),c=$.support.boxModel?navigator.appName.match(/Opera/)?"html":"html,body":"body";if(isNaN(d.duration)==null){if(d.duration.match(/fast/)){d.duration=210;}else{if(d.duration.match(/normal/)){d.duration=410;}else{if(d.duration.match(/slow/)){d.duration=610;}}}}$(this).each(function(){if(this.hash&&$(this.hash).length>0&&this.href.match(new RegExp(location.href.split("#")[0]))){$(this).click(function(e){$(c).queue([]).stop();var a=this.hash;var f=$(a).offset();$(c).animate({scrollTop:f.top,scrollLeft:f.left},{duration:d.duration,easing:d.easing});e.preventDefault();e.stopPropagation();});}});$(document).click(function(a){$(c).queue([]).stop();});};
111
112/*
113 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
114 *
115 * Uses the built in easing capabilities added In jQuery 1.1
116 * to offer multiple easing options
117 *
118 * TERMS OF USE - jQuery Easing
119 *
120 * Open source under the BSD License.
121 *
122 * Copyright (c) 2008 George McGinley Smith
123 * All rights reserved.
124 *
125 * Redistribution and use in source and binary forms, with or without modification,
126 * are permitted provided that the following conditions are met:
127 *
128 * Redistributions of source code must retain the above copyright notice, this list of
129 * conditions and the following disclaimer.
130 * Redistributions in binary form must reproduce the above copyright notice, this list
131 * of conditions and the following disclaimer in the documentation and/or other materials
132 * provided with the distribution.
133 *
134 * Neither the name of the author nor the names of contributors may be used to endorse
135 * or promote products derived from this software without specific prior written permission.
136 *
137 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
138 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
139 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
140 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
141 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
142 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
143 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
144 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
145 * OF THE POSSIBILITY OF SUCH DAMAGE.
146*/
147
148jQuery.easing.jswing=jQuery.easing.swing;jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(j,i,b,c,d){return jQuery.easing[jQuery.easing.def](j,i,b,c,d);},easeInQuad:function(j,i,b,c,d){return c*(i/=d)*i+b;},easeOutQuad:function(j,i,b,c,d){return -c*(i/=d)*(i-2)+b;},easeInOutQuad:function(j,i,b,c,d){if((i/=d/2)<1){return c/2*i*i+b;}return -c/2*((--i)*(i-2)-1)+b;},easeInCubic:function(j,i,b,c,d){return c*(i/=d)*i*i+b;},easeOutCubic:function(j,i,b,c,d){return c*((i=i/d-1)*i*i+1)+b;},easeInOutCubic:function(j,i,b,c,d){if((i/=d/2)<1){return c/2*i*i*i+b;}return c/2*((i-=2)*i*i+2)+b;},easeInQuart:function(j,i,b,c,d){return c*(i/=d)*i*i*i+b;},easeOutQuart:function(j,i,b,c,d){return -c*((i=i/d-1)*i*i*i-1)+b;},easeInOutQuart:function(j,i,b,c,d){if((i/=d/2)<1){return c/2*i*i*i*i+b;}return -c/2*((i-=2)*i*i*i-2)+b;},easeInQuint:function(j,i,b,c,d){return c*(i/=d)*i*i*i*i+b;},easeOutQuint:function(j,i,b,c,d){return c*((i=i/d-1)*i*i*i*i+1)+b;},easeInOutQuint:function(j,i,b,c,d){if((i/=d/2)<1){return c/2*i*i*i*i*i+b;}return c/2*((i-=2)*i*i*i*i+2)+b;},easeInSine:function(j,i,b,c,d){return -c*Math.cos(i/d*(Math.PI/2))+c+b;},easeOutSine:function(j,i,b,c,d){return c*Math.sin(i/d*(Math.PI/2))+b;},easeInOutSine:function(j,i,b,c,d){return -c/2*(Math.cos(Math.PI*i/d)-1)+b;},easeInExpo:function(j,i,b,c,d){return(i==0)?b:c*Math.pow(2,10*(i/d-1))+b;},easeOutExpo:function(j,i,b,c,d){return(i==d)?b+c:c*(-Math.pow(2,-10*i/d)+1)+b;},easeInOutExpo:function(j,i,b,c,d){if(i==0){return b;}if(i==d){return b+c;}if((i/=d/2)<1){return c/2*Math.pow(2,10*(i-1))+b;}return c/2*(-Math.pow(2,-10*--i)+2)+b;},easeInCirc:function(j,i,b,c,d){return -c*(Math.sqrt(1-(i/=d)*i)-1)+b;},easeOutCirc:function(j,i,b,c,d){return c*Math.sqrt(1-(i=i/d-1)*i)+b;},easeInOutCirc:function(j,i,b,c,d){if((i/=d/2)<1){return -c/2*(Math.sqrt(1-i*i)-1)+b;}return c/2*(Math.sqrt(1-(i-=2)*i)+1)+b;},easeInElastic:function(o,m,p,a,b){var d=1.70158;var c=0;var n=a;if(m==0){return p;}if((m/=b)==1){return p+a;}if(!c){c=b*0.3;}if(n<Math.abs(a)){n=a;var d=c/4;}else{var d=c/(2*Math.PI)*Math.asin(a/n);}return -(n*Math.pow(2,10*(m-=1))*Math.sin((m*b-d)*(2*Math.PI)/c))+p;},easeOutElastic:function(o,m,p,a,b){var d=1.70158;var c=0;var n=a;if(m==0){return p;}if((m/=b)==1){return p+a;}if(!c){c=b*0.3;}if(n<Math.abs(a)){n=a;var d=c/4;}else{var d=c/(2*Math.PI)*Math.asin(a/n);}return n*Math.pow(2,-10*m)*Math.sin((m*b-d)*(2*Math.PI)/c)+a+p;},easeInOutElastic:function(o,m,p,a,b){var d=1.70158;var c=0;var n=a;if(m==0){return p;}if((m/=b/2)==2){return p+a;}if(!c){c=b*(0.3*1.5);}if(n<Math.abs(a)){n=a;var d=c/4;}else{var d=c/(2*Math.PI)*Math.asin(a/n);}if(m<1){return -0.5*(n*Math.pow(2,10*(m-=1))*Math.sin((m*b-d)*(2*Math.PI)/c))+p;}return n*Math.pow(2,-10*(m-=1))*Math.sin((m*b-d)*(2*Math.PI)/c)*0.5+a+p;},easeInBack:function(l,k,b,c,d,j){if(j==undefined){j=1.70158;}return c*(k/=d)*k*((j+1)*k-j)+b;},easeOutBack:function(l,k,b,c,d,j){if(j==undefined){j=1.70158;}return c*((k=k/d-1)*k*((j+1)*k+j)+1)+b;},easeInOutBack:function(l,k,b,c,d,j){if(j==undefined){j=1.70158;}if((k/=d/2)<1){return c/2*(k*k*(((j*=(1.525))+1)*k-j))+b;}return c/2*((k-=2)*k*(((j*=(1.525))+1)*k+j)+2)+b;},easeInBounce:function(j,i,b,c,d){return c-jQuery.easing.easeOutBounce(j,d-i,0,c,d)+b;},easeOutBounce:function(j,i,b,c,d){if((i/=d)<(1/2.75)){return c*(7.5625*i*i)+b;}else{if(i<(2/2.75)){return c*(7.5625*(i-=(1.5/2.75))*i+0.75)+b;}else{if(i<(2.5/2.75)){return c*(7.5625*(i-=(2.25/2.75))*i+0.9375)+b;}else{return c*(7.5625*(i-=(2.625/2.75))*i+0.984375)+b;}}}},easeInOutBounce:function(j,i,b,c,d){if(i<d/2){return jQuery.easing.easeInBounce(j,i*2,0,c,d)*0.5+b;}return jQuery.easing.easeOutBounce(j,i*2-d,0,c,d)*0.5+c*0.5+b;}}
vendor: 6,251 bytes, lines 148-325
148);
149/**
150 * jQuery.query - Query String Modification and Creation for jQuery
151 * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
152 * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
153 * Date: 2009/8/13
154 *
155 * @author Blair Mitchelmore
156 * @version 2.1.7
157 *
158 **/
159new function(settings) {
160  // Various Settings
161  var $separator = settings.separator || '&';
162  var $spaces = settings.spaces === false ? false : true;
163  var $suffix = settings.suffix === false ? '' : '[]';
164  var $prefix = settings.prefix === false ? false : true;
165  var $hash = $prefix ? settings.hash === true ? "#" : "?" : "";
166  var $numbers = settings.numbers === false ? false : true;
167
168  jQuery.query = new function() {
169    var is = function(o, t) {
170      return o != undefined && o !== null && (!!t ? o.constructor == t : true);
171    };
172    var parse = function(path) {
173      var m, rx = /\[([^[]*)\]/g, match = /^([^[]+)(\[.*\])?$/.exec(path), base = match[1], tokens = [];
174      while (m = rx.exec(match[2])) tokens.push(m[1]);
175      return [base, tokens];
176    };
177    var set = function(target, tokens, value) {
178      var o, token = tokens.shift();
179      if (typeof target != 'object') target = null;
180      if (token === "") {
181        if (!target) target = [];
182        if (is(target, Array)) {
183          target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));
184        } else if (is(target, Object)) {
185          var i = 0;
186          while (target[i++] != null);
187          target[--i] = tokens.length == 0 ? value : set(target[i], tokens.slice(0), value);
188        } else {
189          target = [];
190          target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));
191        }
192      } else if (token && token.match(/^\s*[0-9]+\s*$/)) {
193        var index = parseInt(token, 10);
194        if (!target) target = [];
195        target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);
196      } else if (token) {
197        var index = token.replace(/^\s*|\s*$/g, "");
198        if (!target) target = {};
199        if (is(target, Array)) {
200          var temp = {};
201          for (var i = 0; i < target.length; ++i) {
202            temp[i] = target[i];
203          }
204          target = temp;
205        }
206        target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);
207      } else {
208        return value;
209      }
210      return target;
211    };
212
213    var queryObject = function(a) {
214      var self = this;
215      self.keys = {};
216
217      if (a.queryObject) {
218        jQuery.each(a.get(), function(key, val) {
219          self.SET(key, val);
220        });
221      } else {
222        jQuery.each(arguments, function() {
223          var q = "" + this;
224          q = q.replace(/^[?#]/,''); // remove any leading ? || #
225          q = q.replace(/[;&]$/,''); // remove any trailing & || ;
226          if ($spaces) q = q.replace(/[+]/g,' '); // replace +'s with spaces
227
228          jQuery.each(q.split(/[&;]/), function(){
229            var key = decodeURIComponent(this.split('=')[0] || "");
230            var val = decodeURIComponent(this.split('=')[1] || "");
231
232            if (!key) return;
233
234            if ($numbers) {
235              if (/^[+-]?[0-9]+\.[0-9]*$/.test(val)) // simple float regex
236                val = parseFloat(val);
237              else if (/^[+-]?[0-9]+$/.test(val)) // simple int regex
238                val = parseInt(val, 10);
239            }
240
241            val = (!val && val !== 0) ? true : val;
242
243            if (val !== false && val !== true && typeof val != 'number')
244              val = val;
245
246            self.SET(key, val);
247          });
248        });
249      }
250      return self;
251    };
252
253    queryObject.prototype = {
254      queryObject: true,
255      has: function(key, type) {
256        var value = this.get(key);
257        return is(value, type);
258      },
259      GET: function(key) {
260        if (!is(key)) return this.keys;
261        var parsed = parse(key), base = parsed[0], tokens = parsed[1];
262        var target = this.keys[base];
263        while (target != null && tokens.length != 0) {
264          target = target[tokens.shift()];
265        }
266        return typeof target == 'number' ? target : target || "";
267      },
268      get: function(key) {
269        var target = this.GET(key);
270        if (is(target, Object))
271          return jQuery.extend(true, {}, target);
272        else if (is(target, Array))
273          return target.slice(0);
274        return target;
275      },
276      SET: function(key, val) {
277        var value = !is(val) ? null : val;
278        var parsed = parse(key), base = parsed[0], tokens = parsed[1];
279        var target = this.keys[base];
280        this.keys[base] = set(target, tokens.slice(0), value);
281        return this;
282      },
283      set: function(key, val) {
284        return this.copy().SET(key, val);
285      },
286      REMOVE: function(key) {
287        return this.SET(key, null).COMPACT();
288      },
289      remove: function(key) {
290        return this.copy().REMOVE(key);
291      },
292      EMPTY: function() {
293        var self = this;
294        jQuery.each(self.keys, function(key, value) {
295          delete self.keys[key];
296        });
297        return self;
298      },
299      load: function(url) {
300        var hash = url.replace(/^.*?[#](.+?)(?:\?.+)?$/, "$1");
301        var search = url.replace(/^.*?[?](.+?)(?:#.+)?$/, "$1");
302        return new queryObject(url.length == search.length ? '' : search, url.length == hash.length ? '' : hash);
303      },
304      empty: function() {
305        return this.copy().EMPTY();
306      },
307      copy: function() {
308        return new queryObject(this);
309      },
310      COMPACT: function() {
311        function build(orig) {
312          var obj = typeof orig == "object" ? is(orig, Array) ? [] : {} : orig;
313          if (typeof orig == 'object') {
314            function add(o, key, value) {
315              if (is(o, Array))
316                o.push(value);
317              else
318                o[key] = value;
319            }
320            jQuery.each(orig, function(key, value) {
321              if (!is(value)) return true;
322              add(obj, key, build(value));
323            });
324          }
325          return obj;
326        }
327        this.keys = build(this.keys);
328        return this;
329      },
330      compact: function() {
331        return this.copy().COMPACT();
332      },
333      toString: function() {
334        var i = 0, queryString = [], chunks = [], self = this;
335        var encode = function(str) {
336          str = str + "";
337          if ($spaces) str = str.replace(/ /g, "+");
338          return encodeURIComponent(str);
339        };
340        var addFields = function(arr, key, value) {
341          if (!is(value) || value === false) return;
342          var o = [encode(key)];
343          if (value !== true) {
344            o.push("=");
345            o.push(encode(value));
346          }
347          arr.push(o.join(""));
348        };
349        var build = function(obj, base) {
350          var newKey = function(key) {
351            return !base || base == "" ? [key].join("") : [base, "[", key, "]"].join("");
352          };
353          jQuery.each(obj, function(key, value) {
354            if (typeof value == 'object')
355              build(value, newKey(key));
356            else
357              addFields(chunks, newKey(key), value);
358          });
359        };
360
361        build(this.keys);
362
363        if (chunks.length > 0) queryString.push($hash);
364        queryString.push(chunks.join($separator));
365
366        return queryString.join("");
367      }
368    };
369
370    return new queryObject(location.search, location.hash);
371  };
372}(jQuery.query || {}); // Pass in jQuery.query as settings object
373
374jQuery.fn.extend({
375	everyTime: function(interval, label, fn, times, belay) {
376		return this.each(function() {
377			jQuery.timer.add(this, interval, label, fn, times, belay);
378		});
379	},
380	oneTime: function(interval, label, fn) {
381		return this.each(function() {
382			jQuery.timer.add(this, interval, label, fn, 1);
383		});
384	},
385	stopTime: function(label, fn) {
386		return this.each(function() {
387			jQuery.timer.remove(this, label, fn);
388		});
389	}
390});
391
392jQuery.extend({
393	timer: {
394		guid: 1,
395		global: {},
396		regex: /^([0-9]+)\s*(.*s)?$/,
397		powers: {
398			// Yeah this is major overkill...
399			'ms': 1,
400			'cs': 10,
401			'ds': 100,
402			's': 1000,
403			'das': 10000,
404			'hs': 100000,
405			'ks': 1000000
406		},
407		timeParse: function(value) {
408			if (value == undefined || value == null)
409				return null;
410			var result = this.regex.exec(jQuery.trim(value.toString()));
411			if (result[2]) {
412				var num = parseInt(result[1], 10);
413				var mult = this.powers[result[2]] || 1;
414				return num * mult;
415			} else {
416				return value;
417			}
418		},
419		add: function(element, interval, label, fn, times, belay) {
420			var counter = 0;
421
422			if (jQuery.isFunction(label)) {
423				if (!times)
424					times = fn;
425				fn = label;
426				label = interval;
427			}
428
429			interval = jQuery.timer.timeParse(interval);
430
431			if (typeof interval != 'number' || isNaN(interval) || interval <= 0)
432				return;
433
434			if (times && times.constructor != Number) {
435				belay = !!times;
436				times = 0;
437			}
438
439			times = times || 0;
440			belay = belay || false;
441
442			if (!element.$timers)
443				element.$timers = {};
444
445			if (!element.$timers[label])
446				element.$timers[label] = {};
447
448			fn.$timerID = fn.$timerID || this.guid++;
449
450			var handler = function() {
451				if (belay && this.inProgress)
452					return;
453				this.inProgress = true;
454				if ((++counter > times && times !== 0) || fn.call(element, counter) === false)
455					jQuery.timer.remove(element, label, fn);
456				this.inProgress = false;
457			};
458
459			handler.$timerID = fn.$timerID;
460
461			if (!element.$timers[label][fn.$timerID])
462				element.$timers[label][fn.$timerID] = window.setInterval(handler,interval);
463
464			if ( !this.global[label] )
465				this.global[label] = [];
466			this.global[label].push( element );
467
468		},
469		remove: function(element, label, fn) {
470			var timers = element.$timers, ret;
471
472			if ( timers ) {
473
474				if (!label) {
475					for ( label in timers )
476						this.remove(element, label, fn);
477				} else if ( timers[label] ) {
478					if ( fn ) {
479						if ( fn.$timerID ) {
480							window.clearInterval(timers[label][fn.$timerID]);
481							delete timers[label][fn.$timerID];
482						}
483					} else {
484						for ( var fn in timers[label] ) {
485							window.clearInterval(timers[label][fn]);
486							delete timers[label][fn];
487						}
488					}
489
490					for ( ret in timers[label] ) break;
491					if ( !ret ) {
492						ret = null;
493						delete timers[label];
494					}
495				}
496
497				for ( ret in timers ) break;
498				if ( !ret )
499					element.$timers = null;
500			}
501		}
502	}
503});
504
505if (jQuery.support.msie)
506	jQuery(window).one("unload", function() {
507		var global = jQuery.timer.global;
508		for ( var label in global ) {
509			var els = global[label], i = els.length;
510			while ( --i )
511				jQuery.timer.remove(els[i], label);
512		}
513	});
514
515
516
517/* ============================================================
518 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
519 *
520 * Open source under the BSD License.
521 *
522 * Copyright © 2008 George McGinley Smith
523 * All rights reserved.
524 * https://raw.github.com/danro/jquery-easing/master/LICENSE
525 * ======================================================== */jQuery.easing.jswing=jQuery.easing.swing,jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(a,b,c,d,e){return jQuery.easing[jQuery.easing.def](a,b,c,d,e)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b+c:d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b+c:-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b*b+c:d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return b==0?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){return b==0?c:b==e?c+d:(b/=e/2)<1?d/2*Math.pow(2,10*(b-1))+c:d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){return(b/=e/2)<1?-d/2*(Math.sqrt(1-b*b)-1)+c:d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g))+c},easeOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*b)*Math.sin((b*e-f)*2*Math.PI/g)+d+c},easeInOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e/2)==2)return c+d;g||(g=e*.3*1.5);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return b<1?-0.5*h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)+c:h*Math.pow(2,-10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)*.5+d+c},easeInBack:function(a,b,c,d,e,f){return f==undefined&&(f=1.70158),d*(b/=e)*b*((f+1)*b-f)+c},easeOutBack:function(a,b,c,d,e,f){return f==undefined&&(f=1.70158),d*((b=b/e-1)*b*((f+1)*b+f)+1)+c},easeInOutBack:function(a,b,c,d,e,f){return f==undefined&&(f=1.70158),(b/=e/2)<1?d/2*b*b*(((f*=1.525)+1)*b-f)+c:d/2*((b-=2)*b*(((f*=1.525)+1)*b+f)+2)+c},easeInBounce:function(a,b,c,d,e){return d-jQuery.easing.easeOutBounce(a,e-b,0,d,e)+c}
525,easeOutBounce:function(a,b,c,d,e){return(b/=e)<1/2.75?d*7.5625*b*b+c:b<2/2.75?d*(7.5625*(b-=1.5/2.75)*b+.75)+c:b<2.5/2.75?d*(7.5625*(b-=2.25/2.75)*b+.9375)+c:d*(7.5625*(b-=2.625/2.75)*b+.984375)+c},easeInOutBounce:function(a,b,c,d,e){return b<e/2?jQuery.easing.easeInBounce(a,b*2,0,d,e)*.5+c:jQuery.easing.easeOutBounce(a,b*2-e,0,d,e)*.5+d*.5+c}});
526var Master = (function(){
527	return function(){}
528})();
529
530//地域マスタ
531Master.region = {
532	"01" : "東京",
533	"02" : "関東",
534	"03" : "東海",
535	"04" : "関西",
536	"05" : "北海道",
537	"06" : "新潟",
538	"07" : "福岡"
539};
540
541//エリアマスタ
542Master.area = {
543	"01" : "新宿",
544	"02" : "渋谷・青山",
545	"03" : "丸の内・日本橋・銀座",
546	"04" : "その他 都内",
547	"05" : "千葉",
548	"06" : "神奈川",
549	"07" : "埼玉",
550	"08" : "北海道",
551	"09" : "東北・北信越",
552	"10" : "東海",
553	"11" : "関西",
554	"12" : "中国・四国",
555	"13" : "九州・沖縄",
556	"14" : "海外"
557}
558
559//料理区分マスタ
560Master.foodCategory = {
561	"01" : "日本料理",
562	"02" : "イタリア料理",
563	"03" : "フランス料理",
564	"04" : "中華料理",
565	"05" : "その他"
566}
567
568//店舗区分マスタ
569Master.shopCategory = {
570	"01" : "グルメ",
571	"02" : "旅行・宿泊",
572	"03" : "商業施設・スーパー",
573	"04" : "エンタメ・スポーツ・カルチャー",
574	"05" : "ファッション・ビューティ・その他"
575}
576
577//予算マスタ
578Master.budget = {
579	"01" : "~999円",
580	"02" : "1,000円~",
581	"03" : "2,000円~",
582	"04" : "3,000円~",
583	"05" : "4,000円~",
584	"06" : "5,000円~",
585	"07" : "6,000円~",
586	"08" : "7,000円~",
587	"09" : "8,000円~",
588	"10" : "9,000円~",
589	"11" : "10,000円~",
590	"12" : "15,000円~",
591	"13" : "20,000円~"
592}
593
594//優待内容マスタ
595Master.type = {
596	"01" : "割引",
597	"02" : "ポイントアップ",
598	"03" : "特別コース",
599	"04" : "プレゼント",
600	"05" : "その他"
601}
602
603
604/**
605 * 店舗区分のラベルを返す
606 * @param	code	店舗区分コード
607 */
608Master.getShopCategory = function(code){
609	return this.shopCategory[code];
610}
611
612/**
613 * 店舗区分のラベルに対応したコードを返す
614 * @param	label	店舗区分のラベル
615 * @return	コード
616 */
617Master.getShopCategoryCode = function(label){
618	return Master.reveseLookup(label, this.shopCategory)
619}
620
621/**
622 * 予算のラベルを返す
623 * @param	code	予算コード
624 */
625Master.getBudget = function(code){
626	return this.budget[code];
627}
628
629/**
630 * 予算のラベルに対応したコードを返す
631 * @param	label	予算のラベル
632 * @return	コード
633 */
634Master.getBudgetCode = function(label){
635	return Master.reveseLookup(label, this.budget)
636}
637
638/**
639 * 料理区分のラベルを返す
640 * @param	code	料理区分コード
641 */
642Master.getFoodCategory = function(code){
643	return this.foodCategory[code];
644}
645
646/**
647 * 料理区分のラベルに対応したコードを返す
648 * @param	label	料理区分のラベル
649 * @return	コード
650 */
651Master.getFoodCategoryCode = function(label){
652	return Master.reveseLookup(label, this.foodCategory)
653}
654
655/**
656 * エリア名のラベルを返す
657 * @param	code	エリアコード
658 */
659Master.getArea = function(code){
660	return this.area[code];
661}
662
663/**
664 * エリア名のラベルに対応したコードを返す
665 * @param	label	エリア名のラベル
666 * @return	コード
667 */
668Master.getAreaCode = function(label){
669	return Master.reveseLookup(label, this.area)
670}
671
672
673/**
674 * 地域名のラベルを返す
675 * @param	code	エリアコード
676 */
677Master.getRegion = function(code){
678	return this.region[code];
679}
680
681/**
682 * 地域名のラベルに対応したコードを返す
683 * @param	label	地域名のラベル
684 * @return	コード
685 */
686Master.getRegionCode = function(label){
687	return Master.reveseLookup(label, this.region)
688}
689
690/**
691 * 優待内容のラベルを返す
692 * @param	code	優待内容コード
693 */
694Master.getType = function(code){
695	return this.type[code];
696}
697
698/**
699 * 優待内容のラベルに対応したコードを返す
700 * @param	label	優待内容のラベル
701 * @return	コード
702 */
703Master.getTypeCode = function(label){
704	return Master.reveseLookup(label, this.type)
705}
706
707/**
708 * 逆引き
709 * @param	value	値
710 * @param	obj		データ
711 * @return	値に対応するコード
712 */
713Master.reveseLookup = function(value, obj) {
714	for(var name in obj){
715		if(obj[name] == value){
716			return name;
717			break;
718		}
719	}
720}
721
722/**
723 * エリアが属する地域を返す
724 * @param	area	エリアコード
725 */
726Master.getRegionByArea = function(area){
727	var result;
728	switch(area){
729		case "01" : result = "東京"; break;
730		case "02" : result = "東京"; break;
731		case "03" : result = "東京"; break;
732		case "04" : result = "東京"; break;
733		case "05" : result = "東京"; break;
734		case "06" : result = "関東"; break;
735		case "07" : result = "関東"; break;
736		case "08" : result = "北海道"; break;
737		case "09" : result = "東北・北信越"; break;
738		case "10" : result = "東海"; break;
739		case "11" : result = "関西"; break;
740		case "12" : result = "中国・四国"; break;
741		case "13" : result = "九州・沖縄"; break;
742		case "14" : result = "海外"; break;
743
744	}
745	return result;
746}
747
748
749var DataProvider = function (argument) {};
750
751DataProvider.prototype = {
752
753	data : [],
754
755	/**
756	 * データの読み込み
757	 * @param	file		filepath
758	 * @param	callback	処理完了ハンドラ
759	 */
760	load : function(file, callback) {
761		var date=new Date();
762		var datekey=date.getFullYear()*1000000+ (date.getMonth()+1)*10000+ date.getDate()*100+ date.getHours();
763		$.ajax({
764			url : file+"?"+datekey,
765			cache : true,
766			dataType : "text",
767			success : function(datastr, type){
768				data = jQuery.csv("\t", "\"")(datastr);
769				if(data[data.length-1] == ""){
770					data.pop();
771				}
772        data.reverse();
773				callback.call(null, data);
774			}
775		});
776	},
777
778	/**
779	 * おすすめ店舗を返す(おすすめ もしくは 新着 を返す)
780	 * @param	category	カテゴリー("gourmet" or "travel")
781	 */
782	getRecommend : function(category) {
783		var result = [];
784		var list = [];
785		if(category){
786			list = $(data).filter(function(){ return this[22] == category || this[27].indexOf("新着")!=-1 });
787		} else {
788			list = $(data).filter(function(){ return this[22] == 1 || this[27].indexOf("新着")!=-1 });
789		}
790		for (var i=0; i < list.length; i++) {
791			var info = new ShopInfo();
792			result.push(info.initWithArray(list[i]));
793		};
794		return result;
795	},
796
797	/**
798	 * 検索結果を返す
799	 * @param	condition	検索条件オブジェクト
800	 * @param	size		表示件数
801	 * @param	page		ページ数
802	 * @return	検索結果
803	 */
804	getSearchResult : function(condition, size, page) {
805		var total = $(data);
806		var buff = [];
807		var gourmet = [];
808		//area
809		if(condition.area.length > 0){
810			total = Algo.mergeResult(buff, total, condition.area, 8, Master.getArea);
811			buff = [];
812		}
813		//category : gourmet
814		if(condition.category.indexOf("01") > -1){
815
816			gourmet = Algo.mergeResult([], total, ["01"], 3, Master.getShopCategory);
817			condition.category.splice(condition.category.indexOf("01"), 1);
818			//food
819			gourmet = Algo.mergeResult([], gourmet, condition.food, 7, Master.getFoodCategory);
820
821			//singleroom
822			if(condition.singleroom) {
823				gourmet = Algo.mergeResult([], gourmet, ["●"], 4);
824			}
825
826			//budget
827			var l = [];
828			var d = [];
829			var etc = [];
830			if(condition.budget_l && condition.budget_l != "00"){
831				l = Algo.mergeResult([], gourmet, [condition.budget_l], 5, Master.getBudget);
832			}
833			if(condition.budget_d && condition.budget_d != "00"){
834				d = Algo.mergeResult([], gourmet, [condition.budget_d], 6, Master.getBudget);
835			}
836			if(condition.budget_etc && condition.budget_etc != "00"){
837				etc = Algo.mergeResult([], gourmet, [condition.budget_etc], 31, Master.getBudget);
838			}
839			if((condition.budget_l && condition.budget_l != "00") || (condition.budget_d && condition.budget_d != "00") || (condition.budget_etc && condition.budget_etc != "00")){
840				gtmp = unique($.merge(l, d));
841				gourmet = unique($.merge(gtmp, etc));
842			}
843
844			if(condition.category.length == 0){
845				total = gourmet;
846			}
847		}
848		//category : other
849		if(condition.category.length > 0){
850			total = Algo.mergeResult(gourmet, total, condition.category, 3, Master.getShopCategory);
851		}
852
853		//yutai
854		total = Algo.mergeResult([], total, condition.type, 26, Master.getType)
855
856		//card
857		if(condition.amex || condition.visa || condition.house){
858			total = unique($.merge([], total.filter(function(){
859				if(condition.amex && Number(this[23]) == 1) {
860					return true;
861				}
862				if(condition.visa && Number(this[24]) == 1) {
863					return true;
864				}
865				if(condition.house && Number(this[25]) == 1) {
866					return true;
867				}
868				return false;
869			})));
870		}
871
872		var list = total.slice(size*(page-1), size*page);
873		var infolist = [];
874		for (var i=0; i < list.length; i++) {
875			var info = new ShopInfo();
876			var line = list[i];
877			if(line.length < 2) continue;
878			infolist.push(info.initWithArray(line));
879		};
880		var result = [infolist, total.length, Math.ceil(total.length / size)];
881		return result;
882	},
883
884	/**
885	 * 店舗名で検索した結果を返す
886	 * @param	name	店舗名
887	 * @param	size	表示件数
888	 * @param	page	ページ数
889	 * @return	検索結果
890	 */
891	getSearchResultByName : function(name, size, page) {
892		var total = $(data).filter(function(){
893			return String(this[1]).indexOf(name) > -1 || String(this[27]).indexOf(name) > -1 || String(this[28]).indexOf(name) > -1
894		});
895		var list = total.slice(size*(page-1), size*page);
896		var infolist = [];
897		for (var i=0; i < list.length; i++) {
898			var info = new ShopInfo();
899			infolist.push(info.initWithArray(list[i]));
900		};
901		var result = [infolist, total.length, Math.ceil(total.length / 
901size)];
902		return result;
903	},
904
905	/**
906	 * IDで指定した店舗データを返す
907	 * @param	id	店舗ID
908	 * @return	店舗データ
909	 */
910	getShopData : function(id) {
911		//console.log("getShopData : " + id)
912		var info = new ShopInfo();
913		info.initWithArray(($(data).filter(function(){ return this[0] == id })[0]));
914		return info;
915	},
916
917	/**
918	 * お気に入り店舗を返す
919	 */
920	getFavoriteShop : function() {
921		var result = [];
922		var favids = $.cookie("favorites") ? $.cookie("favorites").split("%%") : [];
923		//console.log("favids : ", favids)
924		for (var i=0; i < favids.length; i++) {
925			var id = favids[i];
926			var item = this.getShopData(id);
927			if(item) result.push(item);
928		};
929		return result.reverse();
930	},
931
932	/**
933	 * IDで指定した店舗をお気に入り店舗に追加する
934	 * @param	id	店舗ID
935	 */
936	addFavoriteShop : function(id) {
937		var favs = [];
938		if($.cookie("favorites")){
939			favs = $.cookie("favorites").split("%%");
940		};
941		if(jQuery.inArray(id, favs) == -1){
942			favs.push(id);
943			$.cookie("favorites", favs.join("%%"));
944		}
945	},
946
947	/**
948	 * IDで指定した店舗をお気に入り店舗から削除する
949	 */
950	removeFavoriteShop : function(id) {
951		var favs = $.cookie("favorites").split("%%");
952		for(i = 0; i < favs.length; i++){
953			if(favs[i] == id){
954				favs.splice(i,1);
955			}
956		}
957		$.cookie("favorites", favs.join("%%"));
958	},
959
960	isFavoriteShop : function(id) {
961		var result = false;
962		var favs = $.cookie("favorites") ? $.cookie("favorites").split("%%") : [];
963		for(i = 0; i < favs.length; i++){
964			if(favs[i] == id){
965				//console.log(i, id);
966				result = true;
967				break;
968			}
969		}
970		return result;
971	},
972
973	/**
974	 * 検索条件パラメータを保存
975	 */
976	storeParameter : function(o) {
977		var str = "";
978		str += (o.area && o.area.length > 0) ? o.area.join("") : "00";
979		str += "," + ((o.category && o.category.length > 0) ? o.category.join("") : "00");
980		str += "," + (o.singleroom ? "01" : "00");
981		str += "," + ((o.food && o.food.length > 0) ? o.food.join("") : "00");
982		str += "," + (o.budget_l || "00");
983		str += "," + (o.budget_d || "00");
984		str += "," + ((o.type && o.type.length > 0) ? o.type.join("") : "00");
985		str += "," + (o.visa ? "01" : "00");
986		str += "," + (o.amex ? "01" : "00");
987		str += "," + (o.house ? "01" : "00");
988		var b = $.cookie("session", str, {expires:1});
989	},
990
991	/**
992	 * 検索条件をクッキーから取得してオブジェクト化したものを返す
993	 * @return 検索条件オブジェクト
994	 */
995	retrieveParameter : function() {
996		var a = $.cookie("session").split(",");
997		var s = function(str) {
998			var r = [];
999			for (var i=0; i < str.length/2; i++) {
1000				var s = str.substr(i*2, 2);
1001				r.push(s);
1002			};
1003			return r.concat();
1004		}
1005		var o = {
1006			area : s(a[0]),
1007			category : s(a[1]),
1008			singleroom : (a[2] == "01"),
1009			food : s(a[3]),
1010			budget_l : a[4],
1011			budget_d : a[5],
1012			type : s(a[6]),
1013			visa : (a[7] == "01"),
1014			amex : (a[8] == "01"),
1015			house : (a[9] == "01")
1016		};
1017		return o;
1018	},
1019
1020	/**
1021	 * 検索条件パラメータを破棄
1022	 */
1023	disposeParameter : function() {
1024		$.cookie("session", null);
1025	}
1026}
1027
1028/**
1029 * 店舗情報
1030 */
1031var ShopInfo = function (argument) {};
1032
1033ShopInfo.prototype = {
1034		   id : "",
1035		 name : "",
1036		 rubi : "",
1037	 category : "",
1038   singleroom : "",
1039	 budget_l : "",
1040	 budget_d : "",
1041		 food : "",
1042		 area : "",
1043	    desc1 : "",
1044	    desc2 : "",
1045		 term : "",
1046	   addres : "",
1047	   access : "",
1048	    hours : "",
1049		  tel : "",
1050	   matter : "",
1051	  reserve : "",
1052	   photos : "",
1053	     maps : "",
1054		  url : "",
1055		 free : "",
1056	recommend : 0,
1057		 visa : 0,
1058		 amex : 0,
1059		house : 0,
1060		 type : "",
1061      keyword : "",
1062         mall : "",
1063         misc : "",
1064   prefecture : "",
1065   budget_etc : "",
1066
1067	/**
1068	 * 配列で初期化
1069	 */
1070	initWithArray : function(arr) {
1071			   this.id = arr[0];
1072			 this.name = arr[1];
1073			 this.rubi = arr[2];
1074		 this.category = arr[3];
1075	   this.singleroom = arr[4] && Boolean(arr[4].indexOf("●")>-1);
1076		 this.budget_l = arr[5];
1077		 this.budget_d = arr[6];
1078			 this.food = arr[7];
1079			 this.area = arr[8];
1080		    this.desc1 = arr[9];
1081		    this.desc2 = arr[10];
1082			 this.term = arr[11];
1083		   this.addres = arr[12];
1084		   this.access = arr[13];
1085		    this.hours = arr[14];
1086			  this.tel = arr[15];
1087		   this.matter = arr[16];
1088		  this.reserve = arr[17];
1089		   this.photos = arr[18];
1090		     this.maps = arr[19];
1091			  this.url = arr[20];
1092			 this.free = arr[21];
1093		this.recommend = Number(arr[22]);
1094			 this.visa = Number(arr[23]);
1095			 this.amex = Number(arr[24]);
1096			this.house = Number(arr[25]);
1097			 this.type = arr[26];
1098		  this.keyword = arr[27] || "";
1099			 this.mall = arr[28] || "";
1100			 this.misc = arr[29] || "";
1101	   this.prefecture = arr[30] || "";
1102	   this.budget_etc = arr[31] || "";
1103		return this;
1104	}
1105}
1106
1107var Algo = (function(){ return function(){}})();
1108
1109/**
1110 * 絞り込んだ結果をマージする
1111 * @param	target		マージ対象
1112 * @param	source		検索対象
1113 * @param	condition	条件
1114 * @param	column		対象カラム番号
1115 * @param	map			検索ラベルマップ
1116 */
1117Algo.mergeResult = function(target, source, condition, column, map) {
1118	var len = condition.length;
1119	var result = [];
1120	var orglen = target.length;
1121
1122	if(len > 0) {
1123		result = $.merge(target, source.filter(function(){
1124			for(var i=0; i<len; i++){
1125				var key = condition[i]
1126				var word = map ? map.apply(Master, [key]) : key;
1127				if(String(this[column]).indexOf(word) > -1){
1128					return true;
1129					break;
1130				}
1131			}
1132			return false;
1133		}));
1134		result = unique(result);
1135
1136		return $(result);
1137	}
1138	return $(source);
1139}
1140
1141// for ie
1142if (!("console" in window)) {
1143		window.console = {};
1144		window.console.log = function(str){
1145		return str;
1146	};
1147}
1148
1149if(!Array.prototype.indexOf) {
1150	Array.prototype.indexOf = function(obj, start) {
1151	     for (var i = (start || 0), j = this.length; i < j; i++) {
1152	         if (this[i] === obj) { return i; }
1153	     }
1154	     return -1;
1155	}
1156}
1157
1158
1159function unique(array) {
1160	var storage = {};
1161	var uniqueArray = [];
1162	var i, value;
1163	for ( i = 0; i < array.length; i++) {
1164		value = array[i];
1165		if (!( value in storage)) {
1166			storage[value] = true;
1167			uniqueArray.push(value);
1168		}
1169	}
1170	return uniqueArray;
1171}
1172
1173/*! VelocityJS.org (1.2.2). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */
vendor: 32,814 bytes, lines 1174-1176
1174/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */
1175!function(e){function t(e){var t=e.length,r=$.type(e);return"function"===r||$.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===r||0===t||"number"==typeof t&&t>0&&t-1 in e}if(!e.jQuery){var $=function(e,t){return new $.fn.init(e,t)};$.isWindow=function(e){return null!=e&&e==e.window},$.type=function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?a[o.call(e)]||"object":typeof e},$.isArray=Array.isArray||function(e){return"array"===$.type(e)},$.isPlainObject=function(e){var t;if(!e||"object"!==$.type(e)||e.nodeType||$.isWindow(e))return!1;try{if(e.constructor&&!n.call(e,"constructor")&&!n.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}for(t in e);return void 0===t||n.call(e,t)},$.each=function(e,r,a){var n,o=0,i=e.length,s=t(e);if(a){if(s)for(;i>o&&(n=r.apply(e[o],a),n!==!1);o++);else for(o in e)if(n=r.apply(e[o],a),n===!1)break}else if(s)for(;i>o&&(n=r.call(e[o],o,e[o]),n!==!1);o++);else for(o in e)if(n=r.call(e[o],o,e[o]),n===!1)break;return e},$.data=function(e,t,a){if(void 0===a){var n=e[$.expando],o=n&&r[n];if(void 0===t)return o;if(o&&t in o)return o[t]}else if(void 0!==t){var n=e[$.expando]||(e[$.expando]=++$.uuid);return r[n]=r[n]||{},r[n][t]=a,a}},$.removeData=function(e,t){var a=e[$.expando],n=a&&r[a];n&&$.each(t,function(e,t){delete n[t]})},$.extend=function(){var e,t,r,a,n,o,i=arguments[0]||{},s=1,l=arguments.length,u=!1;for("boolean"==typeof i&&(u=i,i=arguments[s]||{},s++),"object"!=typeof i&&"function"!==$.type(i)&&(i={}),s===l&&(i=this,s--);l>s;s++)if(null!=(n=arguments[s]))for(a in n)e=i[a],r=n[a],i!==r&&(u&&r&&($.isPlainObject(r)||(t=$.isArray(r)))?(t?(t=!1,o=e&&$.isArray(e)?e:[]):o=e&&$.isPlainObject(e)?e:{},i[a]=$.extend(u,o,r)):void 0!==r&&(i[a]=r));return i},$.queue=function(e,r,a){function n(e,r){var a=r||[];return null!=e&&(t(Object(e))?!function(e,t){for(var r=+t.length,a=0,n=e.length;r>a;)e[n++]=t[a++];if(r!==r)for(;void 0!==t[a];)e[n++]=t[a++];return e.length=n,e}(a,"string"==typeof e?[e]:e):[].push.call(a,e)),a}if(e){r=(r||"fx")+"queue";var o=$.data(e,r);return a?(!o||$.isArray(a)?o=$.data(e,r,n(a)):o.push(a),o):o||[]}},$.dequeue=function(e,t){$.each(e.nodeType?[e]:e,function(e,r){t=t||"fx";var a=$.queue(r,t),n=a.shift();"inprogress"===n&&(n=a.shift()),n&&("fx"===t&&a.unshift("inprogress"),n.call(r,function(){$.dequeue(r,t)}))})},$.fn=$.prototype={init:function(e){if(e.nodeType)return this[0]=e,this;throw new Error("Not a DOM node.")},offset:function(){var t=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:t.top+(e.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:t.left+(e.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){function e(){for(var e=this.offsetParent||document;e&&"html"===!e.nodeType.toLowerCase&&"static"===e.style.position;)e=e.offsetParent;return e||document}var t=this[0],e=e.apply(t),r=this.offset(),a=/^(?:body|html)$/i.test(e.nodeName)?{top:0,left:0}:$(e).offset();return r.top-=parseFloat(t.style.marginTop)||0,r.left-=parseFloat(t.style.marginLeft)||0,e.style&&(a.top+=parseFloat(e.style.borderTopWidth)||0,a.left+=parseFloat(e.style.borderLeftWidth)||0),{top:r.top-a.top,left:r.left-a.left}}};var r={};$.expando="velocity"+(new Date).getTime(),$.uuid=0;for(var a={},n=a.hasOwnProperty,o=a.toString,i="Boolean Number String Function Array Date RegExp Object Error".split(" "),s=0;s<i.length;s++)a["[object "+i[s]+"]"]=i[s].toLowerCase();$.fn.init.prototype=$.fn,e.Velocity={Utilities:$}}}(window),function(e){"object"==typeof module&&"object"==typeof module.exports?module.exports=e():"function"==typeof define&&define.amd?define(e):e()}(function(){return function(e,t,r,a){function n(e){for(var t=-1,r=e?e.length:0,a=[];++t<r;){var n=e[t];n&&a.push(n)}return a}function o(e){return g.isWrapped(e)?e=[].slice.call(e):g.isNode(e)&&(e=[e]),e}function i(e){var t=$.data(e,"velocity");return null===t?a:t}function s(e){return function(t){return Math.round(t*e)*(1/e)}}function l(e,r,a,n){function o(e,t){return 1-3*t+3*e}function i(e,t){return 3*t-6*e}function s(e){return 3*e}function l(e,t,r){return((o(t,r)*e+i(t,r))*e+s(t))*e}function u(e,t,r){return 3*o(t,r)*e*e+2*i(t,r)*e+s(t)}function c(t,r){for(var n=0;m>n;++n){var o=u(r,e,a);if(0===o)return r;var i=l(r,e,a)-t;r-=i/o}return r}function p(){for(var t=0;b>t;++t)w[t]=l(t*x,e,a)}function f(t,r,n){var o,i,s=0;do i=r+(n-r)/2,o=l(i,e,a)-t,o>0?n=i:r=i;while(Math.abs(o)>h&&++s<v);return i}function d(t){for(var r=0,n=1,o=b-1;n!=o&&w[n]<=t;++n)r+=x;--n;var i=(t-w[n])/(w[n+1]-w[n]),s=r+i*x,l=u(s,e,a);return l>=y?c(t,s):0==l?s:f(t,r,r+x)}function g(){V=!0,(e!=r||a!=n)&&p()}var m=4,y=.001,h=1e-7,v=10,b=11,x=1/(b-1),S="Float32Array"in t;if(4!==arguments.length)return!1;for(var P=0;4>P;++P)if("number"!=typeof arguments[P]||isNaN(arguments[P])||!isFinite(arguments[P]))return!1;e=Math.min(e,1),a=Math.min(a,1),e=Math.max(e,0),a=Math.max(a,0);var w=S?new Float32Array(b):new Array(b),V=!1,C=function(t){return V||g(),e===r&&a===n?t:0===t?0:1===t?1:l(d(t),r,n)};C.getControlPoints=function(){return[{x:e,y:r},{x:a,y:n}]};var T="generateBezier("+[e,r,a,n]+")";return C.toString=function(){return T},C}function u(e,t){var r=e;return g.isString(e)?v.Easings[e]||(r=!1):r=g.isArray(e)&&1===e.length?s.apply(null,e):g.isArray(e)&&2===e.length?b.apply(null,e.concat([t])):g.isArray(e)&&4===e.length?l.apply(null,e):!1,r===!1&&(r=v.Easings[v.defaults.easing]?v.defaults.easing:h),r}function c(e){if(e){var t=(new Date).getTime(),r=v.State.calls.length;r>1e4&&(v.State.calls=n(v.State.calls));for(var o=0;r>o;o++)if(v.State.calls[o]){var s=v.State.calls[o],l=s[0],u=s[2],f=s[3],d=!!f,m=null;f||(f=v.State.calls[o][3]=t-16);for(var y=Math.min((t-f)/u.duration,1),h=0,b=l.length;b>h;h++){var S=l[h],w=S.element;if(i(w)){var V=!1;if(u.display!==a&&null!==u.display&&"none"!==u.display){if("flex"===u.display){var C=["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex"];$.each(C,function(e,t){x.setPropertyValue(w,"display",t)})}x.setPropertyValue(w,"display",u.display)}u.visibility!==a&&"hidden"!==u.visibility&&x.setPropertyValue(w,"visibility",u.visibility);for(var T in S)if("element"!==T){var k=S[T],A,F=g.isString(k.easing)?v.Easings[k.easing]:k.easing;if(1===y)A=k.endValue;else{var E=k.endValue-k.startValue;if(A=k.startValue+E*F(y,u,E),!d&&A===k.currentValue)continue}if(k.currentValue=A,"tween"===T)m=A;else{if(x.Hooks.registered[T]){var j=x.Hooks.getRoot(T),H=i(w).rootPropertyValueCache[j];H&&(k.rootPropertyValue=H)}var N=x.setPropertyValue(w,T,k.currentValue+(0===parseFloat(A)?"":k.unitType),k.rootPropertyValue,k.scrollData);x.Hooks.registered[T]&&(i(w).rootPropertyValueCache[j]=x.Normalizations.registered[j]?x.Normalizations.registered[j]("extract",null,N[1]):N[1]),"transform"===N[0]&&(V=!0)}}u.mobileHA&&i(w).transformCache.translate3d===a&&(i(w).transformCache.translate3d="(0px, 0px, 0px)",V=!0),V&&x.flushTransformCache(w)}}u.display!==a&&"none"!==u.display&&(v.State.calls[o][2].display=!1),u.visibility!==a&&"hidden"!==u.visibility&&(v.State.calls[o][2].visibility=!1),u.progress&&u.progress.call(s[1],s[1],y,Math.max(0,f+u.duration-t),f,m),1===y&&p(o)}}v.State.isTicking&&P(c)}function p(e,t){if(!v.State.calls[e])return!1;for(var r=v.State.calls[e][0],n=v.State.calls[e][1],o=v.State.calls[e][2],s=v.State.calls[e][4],l=!1,u=0,c=r.length;c>u;u++){var p=r[u].element;if(t||o.loop||("none"===o.display&&x.setPropertyValue(p,"display",o.display),"hidden"===o.visibility&&x.setPropertyValue(p,"visibility",o.visibility)),o.loop!==!0&&($.queue(p)[1]===a||!/\.velocityQueueEntryFlag/i.test($.queue(p)[1]))&&i(p)){i(p).isAnimating=!1,i(p).rootPropertyValueCache={};var f=!1;$.each(x.Lists.transforms3D,function(e,t){var r=/^scale/.test(t)?1:0,n=i(p).transformCache[t];i(p).transformCache[t]!==a&&new RegExp("^\\("+r+"[^.]").test(n)&&(f=!0,delete i(p).transformCache[t])}),o.mobileHA&&(f=!0,delete i(p).transformCache.translate3d),f&&x.flushTransformCache(p),x.Values.removeClass(p,"velocity-animating")}if(!t&&o.complete&&!o.loop&&u===c-1)try{o.complete.call(n,n)}catch(d){setTimeout(function(){throw d},1)}s&&o.loop!==!0&&s(n),i(p)&&o.loop===!0&&!t&&($.each(i(p).tweensContainer,function(e,t){/^rotate/.test(e)&&360===parseFloat(t.endValue)&&(t.endValue=0,t.startValue=360),/^backgroundPosition/.test(e)&&100===parseFloat(t.endValue)&&"%"===t.unitType&&(t.endValue=0,t.startValue=100)}),v(p,"reverse",{loop:!0,delay:o.delay})),o.queue!==!1&&$.dequeue(p,o.queue)}v.State.calls[e]=!1;for(var g=0,m=v.State.calls.length;m>g;g++)if(v.State.calls[g]!==!1){l=!0;break}l===!1&&(v.State.isTicking=!1,delete v.State.calls,v.State.calls=[])}var f=function(){if(r.documentMode)return r.documentMode;for(var e=7;e>4;e--){var t=r.createElement("div");if(t.innerHTML="<!--[if IE "+e+"]><span></span><![endif]-->",t.getElementsByTagName("span").length)return t=null,e}return a}(),d=function(){var e=0;return t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||function(t){var r=(new Date).getTime(),a;return a=Math.max(0,16-(r-e)),e=r+a,setTimeout(function(){t(r+a)},a)}}(),g={isString:function(e){return"string"==typeof e},isArray:Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},isFunction:function(e){return"[object Function]"===Object.prototype.toString.call(e)},isNode:function(e){return e&&e.nodeType},isNodeList:function(e){return"object"==typeof e&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&e.length!==a&&(0===e.length||"object"==typeof e[0]&&e[0].nodeType>0)},isWrapped:function(e){return e&&(e.jquery||t.Zepto&&t.Zepto.zepto.isZ(e))},isSVG:function(e){return t.SVGElement&&e instanceof t.SVGElement},isEmptyObject:function(e){for(var t in e)return!1;return!0}},$,m=!1;if(e.fn&&e.fn.jquery?($=e,m=!0):$=t.Velocity.Utilities,8>=f&&!m)throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if(7>=f)return void(jQuery.fn.velocity=jQuery.fn.animate);var y=400,h="swing",v={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:t.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:r.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[]},CSS:{},Utilities:$,Redirects:{},Easings:{},Promise:t.Promise,defaults:{queue:"",duration:y,easing:h,begin:a,complete:a,progress:a,display:a,visibility:a,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0},init:function(e){$.data(e,"velocity",{isSVG:g.isSVG(e),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:2,patch:2},debug:!1};t.pageYOffset!==a?(v.State.scrollAnchor=t,v.State.scrollPropertyLeft="pageXOffset",v.State.scrollPropertyTop="pageYOffset"):(v.State.scrollAnchor=r.documentElement||r.body.parentNode||r.body,v.State.scrollPropertyLeft="scrollLeft",v.State.scrollPropertyTop="scrollTop");var b=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,r,a){var n={x:t.x+a.dx*r,v:t.v+a.dv*r,tension:t.tension,friction:t.friction};return{dx:n.v,dv:e(n)}}function r(r,a){var n={dx:r.v,dv:e(r)},o=t(r,.5*a,n),i=t(r,.5*a,o),s=t(r,a,i),l=1/6*(n.dx+2*(o.dx+i.dx)+s.dx),u=1/6*(n.dv+2*(o.dv+i.dv)+s.dv);return r.x=r.x+l*a,r.v=r.v+u*a,r}return function a(e,t,n){var o={x:-1,v:0,tension:null,friction:null},i=[0],s=0,l=1e-4,u=.016,c,p,f;for(e=parseFloat(e)||500,t=parseFloat(t)||20,n=n||null,o.tension=e,o.friction=t,c=null!==n,c?(s=a(e,t),p=s/n*u):p=u;;)if(f=r(f||o,p),i.push(1+f.x),s+=16,!(Math.abs(f.x)>l&&Math.abs(f.v)>l))break;return c?function(e){return i[e*(i.length-1)|0]}:s}}();v.Easings={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},spring:function(e){return 1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e)}},$.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(e,t){v.Easings[t[0]]=l.apply(null,t[1])});var x=v.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"]},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var e=0;e<x.Lists.colors.length;e++){var t="color"===x.Lists.colors[e]?"0 0 0 1":"255 255 255 1";x.Hooks.templates[x.Lists.colors[e]]=["Red Green Blue Alpha",t]}var r,a,n;if(f)for(r in x.Hooks.templates){a=x.Hooks.templates[r],n=a[0].split(" ");var o=a[1].match(x.RegEx.valueSplit);"Color"===n[0]&&(n.push(n.shift()),o.push(o.shift()),x.Hooks.templates[r]=[n.join(" "),o.join(" ")])}for(r in x.Hooks.templates){a=x.Hooks.templates[r],n=a[0].split(" ");for(var e in n){var i=r+n[e],s=e;x.Hooks.registered[i]=[r,s]}}},getRoot:function(e){var t=x.Hooks.registered[e];return t?t[0]:e},cleanRootPropertyValue:function(e,t){return x.RegEx.valueUnwrap.test(t)&&(t=t.match(x.RegEx.valueUnwrap)[1]),x.Values.isCSSNullValue(t)&&(t=x.Hooks.templates[e][1]),t},extractValue:function(e,t){var r=x.Hooks.registered[e];if(r){var a=r[0],n=r[1];return t=x.Hooks.cleanRootPropertyValue(a,t),t.toString().match(x.RegEx.valueSplit)[n]}return t},injectValue:function(e,t,r){var a=x.Hooks.registered[e];if(a){var n=a[0],o=a[1],i,s;return r=x.Hooks.cleanRootPropertyValue(n,r),i=r.toString().match(x.RegEx.valueSplit),i[o]=t,s=i.join(" ")}return r}},Normalizations:{registered:{clip:function(e,t,r){switch(e){case"name":return"clip";case"extract":var a;return x.RegEx.wrappedValueAlreadyExtracted.test(r)?a=r:(a=r.toString().match(x.RegEx.valueUnwrap),a=a?a[1].replace(/,(\s+)?/g," "):r),a;case"inject":return"rect("+r+")"}},blur:function(e,t,r){switch(e){case"name":return v.State.isFirefox?"filter":"-webkit-filter";case"extract":var a=parseFloat(r);if(!a&&0!==a){var n=r.toString().match(/blur\(([0-9]+[A-z]+)\)/i);a=n?n[1]:0}return a;case"inject":return parseFloat(r)?"blur("+r+")":"none"}},opacity:function(e,t,r){if(8>=f)switch(e){case"name":return"filter";case"extract":var a=r.toString().match(/alpha\(opacity=(.*)\)/i);return r=a?a[1]/100:1;case"inject":return t.style.zoom=1,parseFloat(r)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(r),10)+")"}else switch(e){case"name":return"opacity";case"extract":return r;case"inject":return r}}},register:function(){9>=f||v.State.isGingerbread||(x.Lists.transformsBase=x.Lists.transformsBase.concat(x.Lists.transforms3D));for(var e=0;e<x.Lists.transformsBase.length;e++)!function(){var t=x.Lists.transformsBase[e];x.Normalizations.registered[t]=function(e,r,n){switch(e){case"name":return"transform";case"extract":return i(r)===a||i(r).transformCache[t]===a?/^scale/i.test(t)?1:0:i(r).transformCache[t].replace(/[()]/g,"");case"inject":var o=!1;switch(t.substr(0,t.length-1)){case"translate":o=!/(%|px|em|rem|vw|vh|\d)$/i.test(n);break;case"scal":case"scale":v.State.isAndroid&&i(r).transformCache[t]===a&&1>n&&(n=1),o=!/(\d)$/i.test(n);break;case"skew":o=!/(deg|\d)$/i.test(n);break;case"rotate":o=!/(deg|\d)$/i.test(n)}return o||(i(r).transformCache[t]="("+n+")"),i(r).transformCache[t]}}}();for(var e=0;e<x.Lists.colors.length;e++)!function(){var t=x.Lists.colors[e];x.Normalizations.registered[t]=function(e,r,n){switch(e){case"name":return t;case"extract":var o;if(x.RegEx.wrappedValueAlreadyExtracted.test(n))o=n;else{var i,s={black:"rgb(0, 0, 0)",blue:"rgb(0, 0, 255)",gray:"rgb(128, 128, 128)",green:"rgb(0, 128, 0)",red:"rgb(255, 0, 0)",white:"rgb(255, 255, 255)"};/^[A-z]+$/i.test(n)?i=s[n]!==a?s[n]:s.black:x.RegEx.isHex.test(n)?i="rgb("+x.Values.hexToRgb(n).join(" ")+")":/^rgba?\(/i.test(n)||(i=s.black),o=(i||n).toString().match(x.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g," ")}return 8>=f||3!==o.split(" ").length||(o+=" 1"),o;case"inject":return 8>=f?4===n.split(" ").length&&(n=n.split(/\s+/).slice(0,3).join(" ")):3===n.split(" ").length&&(n+=" 1"),(8>=f?"rgb":"rgba")+"("+n.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")"}}}()}},Names:{camelCase:function(e){return e.replace(/-(\w)/g,function(e,t){return t.toUpperCase()})},SVGAttribute:function(e){var t="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(f||v.State.isAndroid&&!v.State.isChrome)&&(t+="|transform"),new RegExp("^("+t+")$","i").test(e)},prefixCheck:function(e){if(v.State.prefixMatches[e])return[v.State.prefixMatches[e],!0];for(var t=["","Webkit","Moz","ms","O"],r=0,a=t.length;a>r;r++){var n;if(n=0===r?e:t[r]+e.replace(/^\w/,function(e){return e.toUpperCase()}),g.isString(v.State.prefixElement.style[n]))return v.State.prefixMatches[e]=n,[n,!0]}return[e,!1]}},Values:{hexToRgb:function(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,a;return e=e.replace(t,function(e,t,r,a){return t+t+r+r+a+a}),a=r.exec(e),a?[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]:[0,0,0]},isCSSNullValue:function(e){return 0==e||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(e)},getUnitType:function(e){return/^(rotate|skew)/i.test(e)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(e)?"":"px"},getDisplayType:function(e){var t=e&&e.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(t)?"inline":/^(li)$/i.test(t)?"list-item":/^(tr)$/i.test(t)?"table-row":/^(table)$/i.test(t)?"table":/^(tbody)$/i.test(t)?"table-row-group":"block"},addClass:function(e,t){e.classList?e.classList.add(t):e.className+=(e.className.length?" ":"")+t},removeClass:function(e,t){e.classList?e.classList.remove(t):e.className=e.className.toString().replace(new RegExp("(^|\\s)"+t.split(" ").join("|")+"(\\s|$)","gi")," ")}},getPropertyValue:function(e,r,n,o){function s(e,r){function n(){u&&x.setPropertyValue(e,"display","none")}var l=0;if(8>=f)l=$.css(e,r);else{var u=!1;if(/^(width|height)$/.test(r)&&0===x.getPropertyValue(e,"display")&&(u=!0,x.setPropertyValue(e,"display",x.Values.getDisplayType(e))),!o){if("height"===r&&"border-box"!==x.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var c=e.offsetHeight-(parseFloat(x.getPropertyValue(e,"borderTopWidth"))||0)-(parseFloat(x.getPropertyValue(e,"borderBottomWidth"))||0)-(parseFloat(x.getPropertyValue(e,"paddingTop"))||0)-(parseFloat(x.getPropertyValue(e,"paddingBottom"))||0);return n(),c}if("width"===r&&"border-box"!==x.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var p=e.offsetWidth-(parseFloat(x.getPropertyValue(e,"borderLeftWidth"))||0)-(parseFloat(x.getPropertyValue(e,"borderRightWidth"))||0)-(parseFloat(x.getPropertyValue(e,"paddingLeft"))||0)-(parseFloat(x.getPropertyValue(e,"paddingRight"))||0);return n(),p}}var d;d=i(e)===a?t.getComputedStyle(e,null):i(e).computedStyle?i(e).computedStyle:i(e).computedStyle=t.getComputedStyle(e,null),"borderColor"===r&&(r="borderTopColor"),l=9===f&&"filter"===r?d.getPropertyValue(r):d[r],(""===l||null===l)&&(l=e.style[r]),n()}if("auto"===l&&/^(top|right|bottom|left)$/i.test(r)){var g=s(e,"position");("fixed"===g||"absolute"===g&&/top|left/i.test(r))&&(l=$(e).position()[r]+"px")}return l}var l;if(x.Hooks.registered[r]){var u=r,c=x.Hooks.getRoot(u);n===a&&(n=x.getPropertyValue(e,x.Names.prefixCheck(c)[0])),x.Normalizations.registered[c]&&(n=x.Normalizations.registered[c]("extract",e,n)),l=x.Hooks.extractValue(u,n)}else if(x.Normalizations.registered[r]){var p,d;p=x.Normalizations.registered[r]("name",e),"transform"!==p&&(d=s(e,x.Names.prefixCheck(p)[0]),x.Values.isCSSNullValue(d)&&x.Hooks.templates[r]&&(d=x.Hooks.templates[r][1])),l=x.Normalizations.registered[r]("extract",e,d)}if(!/^[\d-]/.test(l))if(i(e)&&i(e).isSVG&&x.Names.SVGAttribute(r))if(/^(height|width)$/i.test(r))try{l=e.getBBox()[r]}catch(g){l=0}else l=e.getAttribute(r);else l=s(e,x.Names.prefixCheck(r)[0]);return x.Values.isCSSNullValue(l)&&(l=0),v.debug>=2&&console.log("Get "+r+": "+l),l},setPropertyValue:function(e,r,a,n,o){var s=r;if("scroll"===r)o.container?o.container["scroll"+o.direction]=a:"Left"===o.direction?t.scrollTo(a,o.alternateValue):t.scrollTo(o.alternateValue,a);else if(x.Normalizations.registered[r]&&"transform"===x.Normalizations.registered[r]("name",e))x.Normalizations.registered[r]("inject",e,a),s="transform",a=i(e).transformCache[r];else{if(x.Hooks.registered[r]){var l=r,u=x.Hooks.getRoot(r);n=n||x.getPropertyValue(e,u),a=x.Hooks.injectValue(l,a,n),r=u}if(x.Normalizations.registered[r]&&(a=x.Normalizations.registered[r]("inject",e,a),r=x.Normalizations.registered[r]("name",e)),s=x.Names.prefixCheck(r)[0],8>=f)try{e.style[s]=a}catch(c){v.debug&&console.log("Browser does not support ["+a+"] for ["+s+"]")}else i(e)&&i(e).isSVG&&x.Names.SVGAttribute(r)?e.setAttribute(r,a):e.style[s]=a;v.debug>=2&&console.log("Set "+r+" ("+s+"): "+a)}return[s,a]},flushTransformCache:function(e){function t(t){return parseFloat(x.getPropertyValue(e,t))}var r="";if((f||v.State.isAndroid&&!v.State.isChrome)&&i(e).isSVG){var a={translate:[t("translateX"),t("translateY")],skewX:[t("skewX")],skewY:[t("skewY")],scale:1!==t("scale")?[t("scale"),t("scale")]:[t("scaleX"),t("scaleY")],rotate:[t("rotateZ"),0,0]};$.each(i(e).transformCache,function(e){/^translate/i.test(e)?e="translate":/^scale/i.test(e)?e="scale":/^rotate/i.test(e)&&(e="rotate"),a[e]&&(r+=e+"("+a[e].join(" ")+") ",delete a[e])})}else{var n,o;$.each(i(e).transformCache,function(t){return n=i(e).transformCache[t],"transformPerspective"===t?(o=n,!0):(9===f&&"rotateZ"===t&&(t="rotate"),void(r+=t+n+" "))}),o&&(r="perspective"+o+" "+r)}x.setPropertyValue(e,"transform",r)}};x.Hooks.register(),x.Normalizations.register(),v.hook=function(e,t,r){var n=a;return e=o(e),$.each(e,function(e,o){if(i(o)===a&&v.init(o),r===a)n===a&&(n=v.CSS.getPropertyValue(o,t));else{var s=v.CSS.setPropertyValue(o,t,r);"transform"===s[0]&&v.CSS.flushTransformCache(o),n=s}}),n};var S=function(){function e(){return l?T.promise||null:f}function n(){function e(e){function p(e,t){var r=a,i=a,s=a;return g.isArray(e)?(r=e[0],!g.isArray(e[1])&&/^[\d-]/.test(e[1])||g.isFunction(e[1])||x.RegEx.isHex.test(e[1])?s=e[1]:(g.isString(e[1])&&!x.RegEx.isHex.test(e[1])||g.isArray(e[1]))&&(i=t?e[1]:u(e[1],o.duration),e[2]!==a&&(s=e[2]))):r=e,t||(i=i||o.easing),g.isFunction(r)&&(r=r.call(n,w,P)),g.isFunction(s)&&(s=s.call(n,w,P)),[r||0,i,s]}function f(e,t){var r,a;return a=(t||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(e){return r=e,""}),r||(r=x.Values.getUnitType(e)),[a,r]}function d(){var e={myParent:n.parentNode||r.body,position:x.getPropertyValue(n,"position"),fontSize:x.getPropertyValue(n,"fontSize")},a=e.position===N.lastPosition&&e.myParent===N.lastParent,o=e.fontSize===N.lastFontSize;N.lastParent=e.myParent,N.lastPosition=e.position,N.lastFontSize=e.fontSize;var s=100,l={};if(o&&a)l.emToPx=N.lastEmToPx,l.percentToPxWidth=N.lastPercentToPxWidth,l.percentToPxHeight=N.lastPercentToPxHeight;else{var u=i(n).isSVG?r.createElementNS("http://www.w3.org/2000/svg","rect"):r.createElement("div");v.init(u),e.myParent.appendChild(u),$.each(["overflow","overflowX","overflowY"],function(e,t){v.CSS.setPropertyValue(u,t,"hidden")}),v.CSS.setPropertyValue(u,"position",e.position),v.CSS.setPropertyValue(u,"fontSize",e.fontSize),v.CSS.setPropertyValue(u,"boxSizing","content-box"),$.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(e,t){v.CSS.setPropertyValue(u,t,s+"%")}),v.CSS.setPropertyValue(u,"paddingLeft",s+"em"),l.percentToPxWidth=N.lastPercentToPxWidth=(parseFloat(x.getPropertyValue(u,"width",null,!0))||1)/s,l.percentToPxHeight=N.lastPercentToPxHeight=(parseFloat(x.getPropertyValue(u,"height",null,!0))||1)/s,l.emToPx=N.lastEmToPx=(parseFloat(x.getPropertyValue(u,"paddingLeft"))||1)/s,e.myParent.removeChild(u)}return null===N.remToPx&&(N.remToPx=parseFloat(x.getPropertyValue(r.body,"fontSize"))||16),null===N.vwToPx&&(N.vwToPx=parseFloat(t.innerWidth)/100,N.vhToPx=parseFloat(t.innerHeight)/100),l.remToPx=N.remToPx,l.vwToPx=N.vwToPx,l.vhToPx=N.vhToPx,v.debug>=1&&console.log("Unit ratios: "+JSON.stringify(l),n),l}if(o.begin&&0===w)try{o.begin.call(m,m)}catch(y){setTimeout(function(){throw y},1)}if("scroll"===k){var S=/^x$/i.test(o.axis)?"Left":"Top",V=parseFloat(o.offset)||0,C,A,F;o.container?g.isWrapped(o.container)||g.isNode(o.container)?(o.container=o.container[0]||o.container,C=o.container["scroll"+S],F=C+$(n).position()[S.toLowerCase()]+V):o.container=null:(C=v.State.scrollAnchor[v.State["scrollProperty"+S]],A=v.State.scrollAnchor[v.State["scrollProperty"+("Left"===S?"Top":"Left")]],F=$(n).offset()[S.toLowerCase()]+V),s={scroll:{rootPropertyValue:!1,startValue:C,currentValue:C,endValue:F,unitType:"",easing:o.easing,scrollData:{container:o.container,direction:S,alternateValue:A}},element:n},v.debug&&console.log("tweensContainer (scroll): ",s.scroll,n)}else if("reverse"===k){if(!i(n).tweensContainer)return void $.dequeue(n,o.queue);"none"===i(n).opts.display&&(i(n).opts.display="auto"),"hidden"===i(n).opts.visibility&&(i(n).opts.visibility="visible"),i(n).opts.loop=!1,i(n).opts.begin=null,i(n).opts.complete=null,b.easing||delete o.easing,b.duration||delete o.duration,o=$.extend({},i(n).opts,o);var E=$.extend(!0,{},i(n).tweensContainer);for(var j in E)if("element"!==j){var H=E[j].startValue;E[j].startValue=E[j].currentValue=E[j].endValue,E[j].endValue=H,g.isEmptyObject(b)||(E[j].easing=o.easing),v.debug&&console.log("reverse tweensContainer ("+j+"): "+JSON.stringify(E[j]),n)}s=E}else if("start"===k){var E;i(n).tweensContainer&&i(n).isAnimating===!0&&(E=i(n).tweensContainer),$.each(h,function(e,t){if(RegExp("^"+x.Lists.colors.join("$|^")+"$").test(e)){var r=p(t,!0),n=r[0],o=r[1],i=r[2];if(x.RegEx.isHex.test(n)){for(var s=["Red","Green","Blue"],l=x.Values.hexToRgb(n),u=i?x.Values.hexToRgb(i):a,c=0;c<s.length;c++){var f=[l[c]];o&&f.push(o),u!==a&&f.push(u[c]),h[e+s[c]]=f}delete h[e]}}});for(var R in h){var O=p(h[R]),z=O[0],q=O[1],M=O[2];R=x.Names.camelCase(R);var I=x.Hooks.getRoot(R),B=!1;if(i(n).isSVG||"tween"===I||x.Names.prefixCheck(I)[1]!==!1||x.Normalizations.registered[I]!==a){(o.display!==a&&null!==o.display&&"none"!==o.display||o.visibility!==a&&"hidden"!==o.visibility)&&/opacity|filter/.test(R)&&!M&&0!==z&&(M=0),o._cacheValues&&E&&E[R]?(M===a&&(M=E[R].endValue+E[R].unitType),B=i(n).rootPropertyValueCache[I]):x.Hooks.registered[R]?M===a?(B=x.getPropertyValue(n,I),M=x.getPropertyValue(n,R,B)):B=x.Hooks.templates[I][1]:M===a&&(M=x.getPropertyValue(n,R));var W,G,D,X=!1;if(W=f(R,M),M=W[0],D=W[1],W=f(R,z),z=W[0].replace(/^([+-\/*])=/,function(e,t){return X=t,""}),G=W[1],M=parseFloat(M)||0,z=parseFloat(z)||0,"%"===G&&(/^(fontSize|lineHeight)$/.test(R)?(z/=100,G="em"):/^scale/.test(R)?(z/=100,G=""):/(Red|Green|Blue)$/i.test(R)&&(z=z/100*255,G="")),/[\/*]/.test(X))G=D;else if(D!==G&&0!==M)if(0===z)G=D;else{l=l||d();var Y=/margin|padding|left|right|width|text|word|letter/i.test(R)||/X$/.test(R)||"x"===R?"x":"y";switch(D){case"%":M*="x"===Y?l.percentToPxWidth:l.percentToPxHeight;break;case"px":break;default:M*=l[D+"ToPx"]}switch(G){case"%":M*=1/("x"===Y?l.percentToPxWidth:l.percentToPxHeight);break;case"px":break;default:M*=1/l[G+"ToPx"]}}switch(X){case"+":z=M+z;break;case"-":z=M-z;break;case"*":z=M*z;break;case"/":z=M/z}s[R]={rootPropertyValue:B,startValue:M,currentValue:M,endValue:z,unitType:G,easing:q},v.debug&&console.log("tweensContainer ("+R+"): "+JSON.stringify(s[R]),n)}else v.debug&&console.log("Skipping ["+I+"] due to a lack of browser support.")}s.element=n}s.element&&(x.Values.addClass(n,"velocity-animating"),L.push(s),""===o.queue&&(i(n).tweensContainer=s,i(n).opts=o),i(n).isAnimating=!0,w===P-1?(v.State.calls.push([L,m,o,null,T.resolver]),v.State.isTicking===!1&&(v.State.isTicking=!0,c())):w++)}var n=this,o=$.extend({},v.defaults,b),s={},l;switch(i(n)===a&&v.init(n),parseFloat(o.delay)&&o.queue!==!1&&$.queue(n,o.queue,function(e){v.velocityQueueEntryFlag=!0,i(n).delayTimer={setTimeout:setTimeout(e,parseFloat(o.delay)),next:e}}),o.duration.toString().toLowerCase()){case"fast":o.duration=200;break;case"normal":o.duration=y;break;case"slow":o.duration=600;break;default:o.duration=parseFloat(o.duration)||1}v.mock!==!1&&(v.mock===!0?o.duration=o.delay=1:(o.duration*=parseFloat(v.mock)||1,o.delay*=parseFloat(v.mock)||1)),o.easing=u(o.easing,o.duration),o.begin&&!g.isFunction(o.begin)&&(o.begin=null),o.progress&&!g.isFunction(o.progress)&&(o.progress=null),o.complete&&!g.isFunction(o.complete)&&(o.complete=null),o.display!==a&&null!==o.display&&(o.display=o.display.toString().toLowerCase(),"auto"===o.display&&(o.display=v.CSS.Values.getDisplayType(n))),o.visibility!==a&&null!==o.visibility&&(o.visibility=o.visibility.toString().toLowerCase()),o.mobileHA=o.mobileHA&&v.State.isMobile&&!v.State.isGingerbread,o.queue===!1?o.delay?setTimeout(e,o.delay):e():$.queue(n,o.queue,function(t,r){return r===!0?(T.promise&&T.resolver(m),!0):(v.velocityQueueEntryFlag=!0,void e(t))}),""!==o.queue&&"fx"!==o.queue||"inprogress"===$.queue(n)[0]||$.dequeue(n)}var s=arguments[0]&&(arguments[0].p||$.isPlainObject(arguments[0].properties)&&!arguments[0].properties.names||g.isString(arguments[0].properties)),l,f,d,m,h,b;if(g.isWrapped(this)?(l=!1,d=0,m=this,f=this):(l=!0,d=1,m=s?arguments[0].elements||arguments[0].e:arguments[0]),m=o(m)){s?(h=arguments[0].properties||arguments[0].p,b=arguments[0].options||arguments[0].o):(h=arguments[d],b=arguments[d+1]);var P=m.length,w=0;if(!/^(stop|finish)$/i.test(h)&&!$.isPlainObject(b)){var V=d+1;b={};for(var C=V;C<arguments.length;C++)g.isArray(arguments[C])||!/^(fast|normal|slow)$/i.test(arguments[C])&&!/^\d/.test(arguments[C])?g.isString(arguments[C])||g.isArray(arguments[C])?b.easing=arguments[C]:g.isFunction(arguments[C])&&(b.complete=arguments[C]):b.duration=arguments[C]}var T={promise:null,resolver:null,rejecter:null};l&&v.Promise&&(T.promise=new v.Promise(function(e,t){T.resolver=e,T.rejecter=t}));var k;switch(h){case"scroll":k="scroll";break;case"reverse":k="reverse";break;case"finish":case"stop":$.each(m,function(e,t){i(t)&&i(t).delayTimer&&(clearTimeout(i(t).delayTimer.setTimeout),i(t).delayTimer.next&&i(t).delayTimer.next(),delete i(t).delayTimer)});var A=[];return $.each(v.State.calls,function(e,t){t&&$.each(t[1],function(r,n){var o=b===a?"":b;return o===!0||t[2].queue===o||b===a&&t[2].queue===!1?void $.each(m,function(r,a){a===n&&((b===!0||g.isString(b))&&($.each($.queue(a,g.isString(b)?b:""),function(e,t){g.isFunction(t)&&t(null,!0)}),$.queue(a,g.isString(b)?b:"",[])),"stop"===h?(i(a)&&i(a).tweensContainer&&o!==!1&&$.each(i(a).tweensContainer,function(e,t){t.endValue=t.currentValue
1176}),A.push(e)):"finish"===h&&(t[2].duration=1))}):!0})}),"stop"===h&&($.each(A,function(e,t){p(t,!0)}),T.promise&&T.resolver(m)),e();default:if(!$.isPlainObject(h)||g.isEmptyObject(h)){if(g.isString(h)&&v.Redirects[h]){var F=$.extend({},b),E=F.duration,j=F.delay||0;return F.backwards===!0&&(m=$.extend(!0,[],m).reverse()),$.each(m,function(e,t){parseFloat(F.stagger)?F.delay=j+parseFloat(F.stagger)*e:g.isFunction(F.stagger)&&(F.delay=j+F.stagger.call(t,e,P)),F.drag&&(F.duration=parseFloat(E)||(/^(callout|transition)/.test(h)?1e3:y),F.duration=Math.max(F.duration*(F.backwards?1-e/P:(e+1)/P),.75*F.duration,200)),v.Redirects[h].call(t,t,F||{}
1176,e,P,m,T.promise?T:a)}),e()}var H="Velocity: First argument ("+h+") was not a property map, a known action, or a registered redirect. Aborting.";return T.promise?T.rejecter(new Error(H)):console.log(H),e()}k="start"}var N={lastParent:null,lastPosition:null,lastFontSize:null,lastPercentToPxWidth:null,lastPercentToPxHeight:null,lastEmToPx:null,remToPx:null,vwToPx:null,vhToPx:null},L=[];$.each(m,function(e,t){g.isNode(t)&&n.call(t)});var F=$.extend({},v.defaults,b),R;if(F.loop=parseInt(F.loop),R=2*F.loop-1,F.loop)for(var O=0;R>O;O++){var z={delay:F.delay,progress:F.progress};O===R-1&&(z.display=F.display,z.visibility=F.visibility,z.complete=F.complete),S(m,"reverse",z)}return e()}};v=$.extend(S,v),v.animate=S;var P=t.requestAnimationFrame||d;return v.State.isMobile||r.hidden===a||r.addEventListener("visibilitychange",function(){r.hidden?(P=function(e){return setTimeout(function(){e(!0)},16)},c()):P=t.requestAnimationFrame||d}),e.Velocity=v,e!==t&&(e.fn.velocity=S,e.fn.velocity.defaults=v.defaults),$.each(["Down","Up"],function(e,t){v.Redirects["slide"+t]=function(e,r,n,o,i,s){var l=$.extend({},r),u=l.begin,c=l.complete,p={height:"",marginTop:"",marginBottom:"",paddingTop:"",paddingBottom:""},f={};l.display===a&&(l.display="Down"===t?"inline"===v.CSS.Values.getDisplayType(e)?"inline-block":"block":"none"),l.begin=function(){u&&u.call(i,i);for(var r in p){f[r]=e.style[r];var a=v.CSS.getPropertyValue(e,r);p[r]="Down"===t?[a,0]:[0,a]}f.overflow=e.style.overflow,e.style.overflow="hidden"},l.complete=function(){for(var t in f)e.style[t]=f[t];c&&c.call(i,i),s&&s.resolver(i)},v(e,p,l)}}),$.each(["In","Out"],function(e,t){v.Redirects["fade"+t]=function(e,r,n,o,i,s){var l=$.extend({},r),u={opacity:"In"===t?1:0},c=l.complete;l.complete=n!==o-1?l.begin=null:function(){c&&c.call(i,i),s&&s.resolver(i)},l.display===a&&(l.display="In"===t?"auto":"none"),v(this,u,l)}}),v}(window.jQuery||window.Zepto||window,window,document)});
1177function putMap(_lat, _lng){
1178	//現在地のポイントを配置
1179	var latlng = new google.maps.LatLng(_lat, _lng);
1180
1181	var myOptions = {
1182    	zoom: 14,
1183		//draggable: false,
1184		//disableDefaultUI: true,
1185    	center: latlng,
1186    	mapTypeControl: false,
1187    	navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
1188    	mapTypeId: google.maps.MapTypeId.ROADMAP
1189	};
1190
1191
1192	//地図を配置
1193	var map = new google.maps.Map(document.getElementById("store-detail-midashi-map"), myOptions);
1194
1195	var marker = new google.maps.Marker({
1196      position: latlng,
1197      map: map,
1198      title:"Here"
1199	});
1200}
1201/*
1202     _ _      _       _
1203 ___| (_) ___| | __  (_)___
1204/ __| | |/ __| |/ /  | / __|
1205\__ \ | | (__|   < _ | \__ \
1206|___/_|_|\___|_|\_(_)/ |___/
1207                   |__/
1208
1209 Version: 1.6.0
1210  Author: Ken Wheeler
1211 Website: http://kenwheeler.github.io
1212    Docs: http://kenwheeler.github.io/slick
1213    Repo: http://github.com/kenwheeler/slick
1214  Issues: http://github.com/kenwheeler/slick/issues
1215
1216 */
1217/* global window, document, define, jQuery, setInterval, clearInterval */
1218(function(factory) {
1219    'use strict';
1220    if (typeof define === 'function' && define.amd) {
1221        define(['jquery'], factory);
1222    } else if (typeof exports !== 'undefined') {
1223        module.exports = factory(require('jquery'));
1224    } else {
1225        factory(jQuery);
1226    }
1227
1228}(function($) {
1229    'use strict';
1230    var Slick = window.Slick || {};
1231
1232    Slick = (function() {
1233
1234        var instanceUid = 0;
1235
1236        function Slick(element, settings) {
1237
1238            var _ = this, dataSettings;
1239
1240            _.defaults = {
1241                accessibility: true,
1242                adaptiveHeight: false,
1243                appendArrows: $(element),
1244                appendDots: $(element),
1245                arrows: true,
1246                asNavFor: null,
1247                prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',
1248                nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',
1249                autoplay: false,
1250                autoplaySpeed: 3000,
1251                centerMode: false,
1252                centerPadding: '50px',
1253                cssEase: 'ease',
1254                customPaging: function(slider, i) {
1255                    return $('<button type="button" data-role="none" role="button" tabindex="0" />').text(i + 1);
1256                },
1257                dots: false,
1258                dotsClass: 'slick-dots',
1259                draggable: true,
1260                easing: 'linear',
1261                edgeFriction: 0.35,
1262                fade: false,
1263                focusOnSelect: false,
1264                infinite: true,
1265                initialSlide: 0,
1266                lazyLoad: 'ondemand',
1267                mobileFirst: false,
1268                pauseOnHover: true,
1269                pauseOnFocus: true,
1270                pauseOnDotsHover: false,
1271                respondTo: 'window',
1272                responsive: null,
1273                rows: 1,
1274                rtl: false,
1275                slide: '',
1276                slidesPerRow: 1,
1277                slidesToShow: 1,
1278                slidesToScroll: 1,
1279                speed: 500,
1280                swipe: true,
1281                swipeToSlide: false,
1282                touchMove: true,
1283                touchThreshold: 5,
1284                useCSS: true,
1285                useTransform: true,
1286                variableWidth: false,
1287                vertical: false,
1288                verticalSwiping: false,
1289                waitForAnimate: true,
1290                zIndex: 1000
1291            };
1292
1293            _.initials = {
1294                animating: false,
1295                dragging: false,
1296                autoPlayTimer: null,
1297                currentDirection: 0,
1298                currentLeft: null,
1299                currentSlide: 0,
1300                direction: 1,
1301                $dots: null,
1302                listWidth: null,
1303                listHeight: null,
1304                loadIndex: 0,
1305                $nextArrow: null,
1306                $prevArrow: null,
1307                slideCount: null,
1308                slideWidth: null,
1309                $slideTrack: null,
1310                $slides: null,
1311                sliding: false,
1312                slideOffset: 0,
1313                swipeLeft: null,
1314                $list: null,
1315                touchObject: {},
1316                transformsEnabled: false,
vendor: 83,215 bytes, lines 1317-4092
1317                unslicked: false
1318            };
1319
1320            $.extend(_, _.initials);
1321
1322            _.activeBreakpoint = null;
1323            _.animType = null;
1324            _.animProp = null;
1325            _.breakpoints = [];
1326            _.breakpointSettings = [];
1327            _.cssTransitions = false;
1328            _.focussed = false;
1329            _.interrupted = false;
1330            _.hidden = 'hidden';
1331            _.paused = true;
1332            _.positionProp = null;
1333            _.respondTo = null;
1334            _.rowCount = 1;
1335            _.shouldClick = true;
1336            _.$slider = $(element);
1337            _.$slidesCache = null;
1338            _.transformType = null;
1339            _.transitionType = null;
1340            _.visibilityChange = 'visibilitychange';
1341            _.windowWidth = 0;
1342            _.windowTimer = null;
1343
1344            dataSettings = $(element).data('slick') || {};
1345
1346            _.options = $.extend({}, _.defaults, settings, dataSettings);
1347
1348            _.currentSlide = _.options.initialSlide;
1349
1350            _.originalSettings = _.options;
1351
1352            if (typeof document.mozHidden !== 'undefined') {
1353                _.hidden = 'mozHidden';
1354                _.visibilityChange = 'mozvisibilitychange';
1355            } else if (typeof document.webkitHidden !== 'undefined') {
1356                _.hidden = 'webkitHidden';
1357                _.visibilityChange = 'webkitvisibilitychange';
1358            }
1359
1360            _.autoPlay = $.proxy(_.autoPlay, _);
1361            _.autoPlayClear = $.proxy(_.autoPlayClear, _);
1362            _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
1363            _.changeSlide = $.proxy(_.changeSlide, _);
1364            _.clickHandler = $.proxy(_.clickHandler, _);
1365            _.selectHandler = $.proxy(_.selectHandler, _);
1366            _.setPosition = $.proxy(_.setPosition, _);
1367            _.swipeHandler = $.proxy(_.swipeHandler, _);
1368            _.dragHandler = $.proxy(_.dragHandler, _);
1369            _.keyHandler = $.proxy(_.keyHandler, _);
1370
1371            _.instanceUid = instanceUid++;
1372
1373            // A simple way to check for HTML strings
1374            // Strict HTML recognition (must start with <)
1375            // Extracted from jQuery v1.11 source
1376            _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/;
1377
1378
1379            _.registerBreakpoints();
1380            _.init(true);
1381
1382        }
1383
1384        return Slick;
1385
1386    }());
1387
1388    Slick.prototype.activateADA = function() {
1389        var _ = this;
1390
1391        _.$slideTrack.find('.slick-active').attr({
1392            'aria-hidden': 'false'
1393        }).find('a, input, button, select').attr({
1394            'tabindex': '0'
1395        });
1396
1397    };
1398
1399    Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {
1400
1401        var _ = this;
1402
1403        if (typeof(index) === 'boolean') {
1404            addBefore = index;
1405            index = null;
1406        } else if (index < 0 || (index >= _.slideCount)) {
1407            return false;
1408        }
1409
1410        _.unload();
1411
1412        if (typeof(index) === 'number') {
1413            if (index === 0 && _.$slides.length === 0) {
1414                $(markup).appendTo(_.$slideTrack);
1415            } else if (addBefore) {
1416                $(markup).insertBefore(_.$slides.eq(index));
1417            } else {
1418                $(markup).insertAfter(_.$slides.eq(index));
1419            }
1420        } else {
1421            if (addBefore === true) {
1422                $(markup).prependTo(_.$slideTrack);
1423            } else {
1424                $(markup).appendTo(_.$slideTrack);
1425            }
1426        }
1427
1428        _.$slides = _.$slideTrack.children(this.options.slide);
1429
1430        _.$slideTrack.children(this.options.slide).detach();
1431
1432        _.$slideTrack.append(_.$slides);
1433
1434        _.$slides.each(function(index, element) {
1435            $(element).attr('data-slick-index', index);
1436        });
1437
1438        _.$slidesCache = _.$slides;
1439
1440        _.reinit();
1441
1442    };
1443
1444    Slick.prototype.animateHeight = function() {
1445        var _ = this;
1446        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
1447            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
1448            _.$list.animate({
1449                height: targetHeight
1450            }, _.options.speed);
1451        }
1452    };
1453
1454    Slick.prototype.animateSlide = function(targetLeft, callback) {
1455
1456        var animProps = {},
1457            _ = this;
1458
1459        _.animateHeight();
1460
1461        if (_.options.rtl === true && _.options.vertical === false) {
1462            targetLeft = -targetLeft;
1463        }
1464        if (_.transformsEnabled === false) {
1465            if (_.options.vertical === false) {
1466                _.$slideTrack.animate({
1467                    left: targetLeft
1468                }, _.options.speed, _.options.easing, callback);
1469            } else {
1470                _.$slideTrack.animate({
1471                    top: targetLeft
1472                }, _.options.speed, _.options.easing, callback);
1473            }
1474
1475        } else {
1476
1477            if (_.cssTransitions === false) {
1478                if (_.options.rtl === true) {
1479                    _.currentLeft = -(_.currentLeft);
1480                }
1481                $({
1482                    animStart: _.currentLeft
1483                }).animate({
1484                    animStart: targetLeft
1485                }, {
1486                    duration: _.options.speed,
1487                    easing: _.options.easing,
1488                    step: function(now) {
1489                        now = Math.ceil(now);
1490                        if (_.options.vertical === false) {
1491                            animProps[_.animType] = 'translate(' +
1492                                now + 'px, 0px)';
1493                            _.$slideTrack.css(animProps);
1494                        } else {
1495                            animProps[_.animType] = 'translate(0px,' +
1496                                now + 'px)';
1497                            _.$slideTrack.css(animProps);
1498                        }
1499                    },
1500                    complete: function() {
1501                        if (callback) {
1502                            callback.call();
1503                        }
1504                    }
1505                });
1506
1507            } else {
1508
1509                _.applyTransition();
1510                targetLeft = Math.ceil(targetLeft);
1511
1512                if (_.options.vertical === false) {
1513                    animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';
1514                } else {
1515                    animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';
1516                }
1517                _.$slideTrack.css(animProps);
1518
1519                if (callback) {
1520                    setTimeout(function() {
1521
1522                        _.disableTransition();
1523
1524                        callback.call();
1525                    }, _.options.speed);
1526                }
1527
1528            }
1529
1530        }
1531
1532    };
1533
1534    Slick.prototype.getNavTarget = function() {
1535
1536        var _ = this,
1537            asNavFor = _.options.asNavFor;
1538
1539        if ( asNavFor && asNavFor !== null ) {
1540            asNavFor = $(asNavFor).not(_.$slider);
1541        }
1542
1543        return asNavFor;
1544
1545    };
1546
1547    Slick.prototype.asNavFor = function(index) {
1548
1549        var _ = this,
1550            asNavFor = _.getNavTarget();
1551
1552        if ( asNavFor !== null && typeof asNavFor === 'object' ) {
1553            asNavFor.each(function() {
1554                var target = $(this).slick('getSlick');
1555                if(!target.unslicked) {
1556                    target.slideHandler(index, true);
1557                }
1558            });
1559        }
1560
1561    };
1562
1563    Slick.prototype.applyTransition = function(slide) {
1564
1565        var _ = this,
1566            transition = {};
1567
1568        if (_.options.fade === false) {
1569            transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;
1570        } else {
1571            transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;
1572        }
1573
1574        if (_.options.fade === false) {
1575            _.$slideTrack.css(transition);
1576        } else {
1577            _.$slides.eq(slide).css(transition);
1578        }
1579
1580    };
1581
1582    Slick.prototype.autoPlay = function() {
1583
1584        var _ = this;
1585
1586        _.autoPlayClear();
1587
1588        if ( _.slideCount > _.options.slidesToShow ) {
1589            _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed );
1590        }
1591
1592    };
1593
1594    Slick.prototype.autoPlayClear = function() {
1595
1596        var _ = this;
1597
1598        if (_.autoPlayTimer) {
1599            clearInterval(_.autoPlayTimer);
1600        }
1601
1602    };
1603
1604    Slick.prototype.autoPlayIterator = function() {
1605
1606        var _ = this,
1607            slideTo = _.currentSlide + _.options.slidesToScroll;
1608
1609        if ( !_.paused && !_.interrupted && !_.focussed ) {
1610
1611            if ( _.options.infinite === false ) {
1612
1613                if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) {
1614                    _.direction = 0;
1615                }
1616
1617                else if ( _.direction === 0 ) {
1618
1619                    slideTo = _.currentSlide - _.options.slidesToScroll;
1620
1621                    if ( _.currentSlide - 1 === 0 ) {
1622                        _.direction = 1;
1623                    }
1624
1625                }
1626
1627            }
1628
1629            _.slideHandler( slideTo );
1630
1631        }
1632
1633    };
1634
1635    Slick.prototype.buildArrows = function() {
1636
1637        var _ = this;
1638
1639        if (_.options.arrows === true ) {
1640
1641            _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');
1642            _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');
1643
1644            if( _.slideCount > _.options.slidesToShow ) {
1645
1646                _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
1647                _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
1648
1649                if (_.htmlExpr.test(_.options.prevArrow)) {
1650                    _.$prevArrow.prependTo(_.options.appendArrows);
1651                }
1652
1653                if (_.htmlExpr.test(_.options.nextArrow)) {
1654                    _.$nextArrow.appendTo(_.options.appendArrows);
1655                }
1656
1657                if (_.options.infinite !== true) {
1658                    _.$prevArrow
1659                        .addClass('slick-disabled')
1660                        .attr('aria-disabled', 'true');
1661                }
1662
1663            } else {
1664
1665                _.$prevArrow.add( _.$nextArrow )
1666
1667                    .addClass('slick-hidden')
1668                    .attr({
1669                        'aria-disabled': 'true',
1670                        'tabindex': '-1'
1671                    });
1672
1673            }
1674
1675        }
1676
1677    };
1678
1679    Slick.prototype.buildDots = function() {
1680
1681        var _ = this,
1682            i, dot;
1683
1684        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
1685
1686            _.$slider.addClass('slick-dotted');
1687
1688            dot = $('<ul />').addClass(_.options.dotsClass);
1689
1690            for (i = 0; i <= _.getDotCount(); i += 1) {
1691                dot.append($('<li />').append(_.options.customPaging.call(this, _, i)));
1692            }
1693
1694            _.$dots = dot.appendTo(_.options.appendDots);
1695
1696            _.$dots.find('li').first().addClass('slick-active').attr('aria-hidden', 'false');
1697
1698        }
1699
1700    };
1701
1702    Slick.prototype.buildOut = function() {
1703
1704        var _ = this;
1705
1706        _.$slides =
1707            _.$slider
1708                .children( _.options.slide + ':not(.slick-cloned)')
1709                .addClass('slick-slide');
1710
1711        _.slideCount = _.$slides.length;
1712
1713        _.$slides.each(function(index, element) {
1714            $(element)
1715                .attr('data-slick-index', index)
1716                .data('originalStyling', $(element).attr('style') || '');
1717        });
1718
1719        _.$slider.addClass('slick-slider');
1720
1721        _.$slideTrack = (_.slideCount === 0) ?
1722            $('<div class="slick-track"/>').appendTo(_.$slider) :
1723            _.$slides.wrapAll('<div class="slick-track"/>').parent();
1724
1725        _.$list = _.$slideTrack.wrap(
1726            '<div aria-live="polite" class="slick-list"/>').parent();
1727        _.$slideTrack.css('opacity', 0);
1728
1729        if (_.options.centerMode === true || _.options.swipeToSlide === true) {
1730            _.options.slidesToScroll = 1;
1731        }
1732
1733        $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');
1734
1735        _.setupInfinite();
1736
1737        _.buildArrows();
1738
1739        _.buildDots();
1740
1741        _.updateDots();
1742
1743
1744        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
1745
1746        if (_.options.draggable === true) {
1747            _.$list.addClass('draggable');
1748        }
1749
1750    };
1751
1752    Slick.prototype.buildRows = function() {
1753
1754        var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;
1755
1756        newSlides = document.createDocumentFragment();
1757        originalSlides = _.$slider.children();
1758
1759        if(_.options.rows > 1) {
1760
1761            slidesPerSection = _.options.slidesPerRow * _.options.rows;
1762            numOfSlides = Math.ceil(
1763                originalSlides.length / slidesPerSection
1764            );
1765
1766            for(a = 0; a < numOfSlides; a++){
1767                var slide = document.createElement('div');
1768                for(b = 0; b < _.options.rows; b++) {
1769                    var row = document.createElement('div');
1770                    for(c = 0; c < _.options.slidesPerRow; c++) {
1771                        var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));
1772                        if (originalSlides.get(target)) {
1773                            row.appendChild(originalSlides.get(target));
1774                        }
1775                    }
1776                    slide.appendChild(row);
1777                }
1778                newSlides.appendChild(slide);
1779            }
1780
1781            _.$slider.empty().append(newSlides);
1782            _.$slider.children().children().children()
1783                .css({
1784                    'width':(100 / _.options.slidesPerRow) + '%',
1785                    'display': 'inline-block'
1786                });
1787
1788        }
1789
1790    };
1791
1792    Slick.prototype.checkResponsive = function(initial, forceUpdate) {
1793
1794        var _ = this,
1795            breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;
1796        var sliderWidth = _.$slider.width();
1797        var windowWidth = window.innerWidth || $(window).width();
1798
1799        if (_.respondTo === 'window') {
1800            respondToWidth = windowWidth;
1801        } else if (_.respondTo === 'slider') {
1802            respondToWidth = sliderWidth;
1803        } else if (_.respondTo === 'min') {
1804            respondToWidth = Math.min(windowWidth, sliderWidth);
1805        }
1806
1807        if ( _.options.responsive &&
1808            _.options.responsive.length &&
1809            _.options.responsive !== null) {
1810
1811            targetBreakpoint = null;
1812
1813            for (breakpoint in _.breakpoints) {
1814                if (_.breakpoints.hasOwnProperty(breakpoint)) {
1815                    if (_.originalSettings.mobileFirst === false) {
1816                        if (respondToWidth < _.breakpoints[breakpoint]) {
1817                            targetBreakpoint = _.breakpoints[breakpoint];
1818                        }
1819                    } else {
1820                        if (respondToWidth > _.breakpoints[breakpoint]) {
1821                            targetBreakpoint = _.breakpoints[breakpoint];
1822                        }
1823                    }
1824                }
1825            }
1826
1827            if (targetBreakpoint !== null) {
1828                if (_.activeBreakpoint !== null) {
1829                    if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {
1830                        _.activeBreakpoint =
1831                            targetBreakpoint;
1832                        if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
1833                            _.unslick(targetBreakpoint);
1834                        } else {
1835                            _.options = $.extend({}, _.originalSettings,
1836                                _.breakpointSettings[
1837                                    targetBreakpoint]);
1838                            if (initial === true) {
1839                                _.currentSlide = _.options.initialSlide;
1840                            }
1841                            _.refresh(initial);
1842                        }
1843                        triggerBreakpoint = targetBreakpoint;
1844                    }
1845                } else {
1846                    _.activeBreakpoint = targetBreakpoint;
1847                    if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
1848                        _.unslick(targetBreakpoint);
1849                    } else {
1850                        _.options = $.extend({}, _.originalSettings,
1851                            _.breakpointSettings[
1852                                targetBreakpoint]);
1853                        if (initial === true) {
1854                            _.currentSlide = _.options.initialSlide;
1855                        }
1856                        _.refresh(initial);
1857                    }
1858                    triggerBreakpoint = targetBreakpoint;
1859                }
1860            } else {
1861                if (_.activeBreakpoint !== null) {
1862                    _.activeBreakpoint = null;
1863                    _.options = _.originalSettings;
1864                    if (initial === true) {
1865                        _.currentSlide = _.options.initialSlide;
1866                    }
1867                    _.refresh(initial);
1868                    triggerBreakpoint = targetBreakpoint;
1869                }
1870            }
1871
1872            // only trigger breakpoints during an actual break. not on initialize.
1873            if( !initial && triggerBreakpoint !== false ) {
1874                _.$slider.trigger('breakpoint', [_, triggerBreakpoint]);
1875            }
1876        }
1877
1878    };
1879
1880    Slick.prototype.changeSlide = function(event, dontAnimate) {
1881
1882        var _ = this,
1883            $target = $(event.currentTarget),
1884            indexOffset, slideOffset, unevenOffset;
1885
1886        // If target is a link, prevent default action.
1887        if($target.is('a')) {
1888            event.preventDefault();
1889        }
1890
1891        // If target is not the <li> element (ie: a child), find the <li>.
1892        if(!$target.is('li')) {
1893            $target = $target.closest('li');
1894        }
1895
1896        unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);
1897        indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;
1898
1899        switch (event.data.message) {
1900
1901            case 'previous':
1902                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
1903                if (_.slideCount > _.options.slidesToShow) {
1904                    _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
1905                }
1906                break;
1907
1908            case 'next':
1909                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
1910                if (_.slideCount > _.options.slidesToShow) {
1911                    _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
1912                }
1913                break;
1914
1915            case 'index':
1916                var index = event.data.index === 0 ? 0 :
1917                    event.data.index || $target.index() * _.options.slidesToScroll;
1918
1919                _.slideHandler(_.checkNavigable(index), false, dontAnimate);
1920                $target.children().trigger('focus');
1921                break;
1922
1923            default:
1924                return;
1925        }
1926
1927    };
1928
1929    Slick.prototype.checkNavigable = function(index) {
1930
1931        var _ = this,
1932            navigables, prevNavigable;
1933
1934        navigables = _.getNavigableIndexes();
1935        prevNavigable = 0;
1936        if (index > navigables[navigables.length - 1]) {
1937            index = navigables[navigables.length - 1];
1938        } else {
1939            for (var n in navigables) {
1940                if (index < navigables[n]) {
1941                    index = prevNavigable;
1942                    break;
1943                }
1944                prevNavigable = navigables[n];
1945            }
1946        }
1947
1948        return index;
1949    };
1950
1951    Slick.prototype.cleanUpEvents = function() {
1952
1953        var _ = this;
1954
1955        if (_.options.dots && _.$dots !== null) {
1956
1957            $('li', _.$dots)
1958                .off('click.slick', _.changeSlide)
1959                .off('mouseenter.slick', $.proxy(_.interrupt, _, true))
1960                .off('mouseleave.slick', $.proxy(_.interrupt, _, false));
1961
1962        }
1963
1964        _.$slider.off('focus.slick blur.slick');
1965
1966        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
1967            _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);
1968            _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);
1969        }
1970
1971        _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);
1972        _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);
1973        _.$list.off('touchend.slick mouseup.slick', _.swipeHandler);
1974        _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);
1975
1976        _.$list.off('click.slick', _.clickHandler);
1977
1978        $(document).off(_.visibilityChange, _.visibility);
1979
1980        _.cleanUpSlideEvents();
1981
1982        if (_.options.accessibility === true) {
1983            _.$list.off('keydown.slick', _.keyHandler);
1984        }
1985
1986        if (_.options.focusOnSelect === true) {
1987            $(_.$slideTrack).children().off('click.slick', _.selectHandler);
1988        }
1989
1990        $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);
1991
1992        $(window).off('resize.slick.slick-' + _.instanceUid, _.resize);
1993
1994        $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);
1995
1996        $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);
1997        $(document).off('ready.slick.slick-' + _.instanceUid, _.setPosition);
1998
1999    };
2000
2001    Slick.prototype.cleanUpSlideEvents = function() {
2002
2003        var _ = this;
2004
2005        _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true));
2006        _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false));
2007
2008    };
2009
2010    Slick.prototype.cleanUpRows = function() {
2011
2012        var _ = this, originalSlides;
2013
2014        if(_.options.rows > 1) {
2015            originalSlides = _.$slides.children().children();
2016            originalSlides.removeAttr('style');
2017            _.$slider.empty().append(originalSlides);
2018        }
2019
2020    };
2021
2022    Slick.prototype.clickHandler = function(event) {
2023
2024        var _ = this;
2025
2026        if (_.shouldClick === false) {
2027            event.stopImmediatePropagation();
2028            event.stopPropagation();
2029            event.preventDefault();
2030        }
2031
2032    };
2033
2034    Slick.prototype.destroy = function(refresh) {
2035
2036        var _ = this;
2037
2038        _.autoPlayClear();
2039
2040        _.touchObject = {};
2041
2042        _.cleanUpEvents();
2043
2044        $('.slick-cloned', _.$slider).detach();
2045
2046        if (_.$dots) {
2047            _.$dots.remove();
2048        }
2049
2050
2051        if ( _.$prevArrow && _.$prevArrow.length ) {
2052
2053            _.$prevArrow
2054                .removeClass('slick-disabled slick-arrow slick-hidden')
2055                .removeAttr('aria-hidden aria-disabled tabindex')
2056                .css('display','');
2057
2058            if ( _.htmlExpr.test( _.options.prevArrow )) {
2059                _.$prevArrow.remove();
2060            }
2061        }
2062
2063        if ( _.$nextArrow && _.$nextArrow.length ) {
2064
2065            _.$nextArrow
2066                .removeClass('slick-disabled slick-arrow slick-hidden')
2067                .removeAttr('aria-hidden aria-disabled tabindex')
2068                .css('display','');
2069
2070            if ( _.htmlExpr.test( _.options.nextArrow )) {
2071                _.$nextArrow.remove();
2072            }
2073
2074        }
2075
2076
2077        if (_.$slides) {
2078
2079            _.$slides
2080                .removeClass('slick-slide slick-active slick-center slick-visible slick-current')
2081                .removeAttr('aria-hidden')
2082                .removeAttr('data-slick-index')
2083                .each(function(){
2084                    $(this).attr('style', $(this).data('originalStyling'));
2085                });
2086
2087            _.$slideTrack.children(this.options.slide).detach();
2088
2089            _.$slideTrack.detach();
2090
2091            _.$list.detach();
2092
2093            _.$slider.append(_.$slides);
2094        }
2095
2096        _.cleanUpRows();
2097
2098        _.$slider.removeClass('slick-slider');
2099        _.$slider.removeClass('slick-initialized');
2100        _.$slider.removeClass('slick-dotted');
2101
2102        _.unslicked = true;
2103
2104        if(!refresh) {
2105            _.$slider.trigger('destroy', [_]);
2106        }
2107
2108    };
2109
2110    Slick.prototype.disableTransition = function(slide) {
2111
2112        var _ = this,
2113            transition = {};
2114
2115        transition[_.transitionType] = '';
2116
2117        if (_.options.fade === false) {
2118            _.$slideTrack.css(transition);
2119        } else {
2120            _.$slides.eq(slide).css(transition);
2121        }
2122
2123    };
2124
2125    Slick.prototype.fadeSlide = function(slideIndex, callback) {
2126
2127        var _ = this;
2128
2129        if (_.cssTransitions === false) {
2130
2131            _.$slides.eq(slideIndex).css({
2132                zIndex: _.options.zIndex
2133            });
2134
2135            _.$slides.eq(slideIndex).animate({
2136                opacity: 1
2137            }, _.options.speed, _.options.easing, callback);
2138
2139        } else {
2140
2141            _.applyTransition(slideIndex);
2142
2143            _.$slides.eq(slideIndex).css({
2144                opacity: 1,
2145                zIndex: _.options.zIndex
2146            });
2147
2148            if (callback) {
2149                setTimeout(function() {
2150
2151                    _.disableTransition(slideIndex);
2152
2153                    callback.call();
2154                }, _.options.speed);
2155            }
2156
2157        }
2158
2159    };
2160
2161    Slick.prototype.fadeSlideOut = function(slideIndex) {
2162
2163        var _ = this;
2164
2165        if (_.cssTransitions === false) {
2166
2167            _.$slides.eq(slideIndex).animate({
2168                opacity: 0,
2169                zIndex: _.options.zIndex - 2
2170            }, _.options.speed, _.options.easing);
2171
2172        } else {
2173
2174            _.applyTransition(slideIndex);
2175
2176            _.$slides.eq(slideIndex).css({
2177                opacity: 0,
2178                zIndex: _.options.zIndex - 2
2179            });
2180
2181        }
2182
2183    };
2184
2185    Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {
2186
2187        var _ = this;
2188
2189        if (filter !== null) {
2190
2191            _.$slidesCache = _.$slides;
2192
2193            _.unload();
2194
2195            _.$slideTrack.children(this.options.slide).detach();
2196
2197            _.$slidesCache.filter(filter).appendTo(_.$slideTrack);
2198
2199            _.reinit();
2200
2201        }
2202
2203    };
2204
2205    Slick.prototype.focusHandler = function() {
2206
2207        var _ = this;
2208
2209        _.$slider
2210            .off('focus.slick blur.slick')
2211            .on('focus.slick blur.slick',
2212                '*:not(.slick-arrow)', function(event) {
2213
2214            event.stopImmediatePropagation();
2215            var $sf = $(this);
2216
2217            setTimeout(function() {
2218
2219                if( _.options.pauseOnFocus ) {
2220                    _.focussed = $sf.is(':focus');
2221                    _.autoPlay();
2222                }
2223
2224            }, 0);
2225
2226        });
2227    };
2228
2229    Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {
2230
2231        var _ = this;
2232        return _.currentSlide;
2233
2234    };
2235
2236    Slick.prototype.getDotCount = function() {
2237
2238        var _ = this;
2239
2240        var breakPoint = 0;
2241        var counter = 0;
2242        var pagerQty = 0;
2243
2244        if (_.options.infinite === true) {
2245            while (breakPoint < _.slideCount) {
2246                ++pagerQty;
2247                breakPoint = counter + _.options.slidesToScroll;
2248                counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
2249            }
2250        } else if (_.options.centerMode === true) {
2251            pagerQty = _.slideCount;
2252        } else if(!_.options.asNavFor) {
2253            pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll);
2254        }else {
2255            while (breakPoint < _.slideCount) {
2256                ++pagerQty;
2257                breakPoint = counter + _.options.slidesToScroll;
2258                counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
2259            }
2260        }
2261
2262        return pagerQty - 1;
2263
2264    };
2265
2266    Slick.prototype.getLeft = function(slideIndex) {
2267
2268        var _ = this,
2269            targetLeft,
2270            verticalHeight,
2271            verticalOffset = 0,
2272            targetSlide;
2273
2274        _.slideOffset = 0;
2275        verticalHeight = _.$slides.first().outerHeight(true);
2276
2277        if (_.options.infinite === true) {
2278            if (_.slideCount > _.options.slidesToShow) {
2279                _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;
2280                verticalOffset = (verticalHeight * _.options.slidesToShow) * -1;
2281            }
2282            if (_.slideCount % _.options.slidesToScroll !== 0) {
2283                if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
2284                    if (slideIndex > _.slideCount) {
2285                        _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1;
2286                        verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
2287                    } else {
2288                        _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
2289                        verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
2290                    }
2291                }
2292            }
2293        } else {
2294            if (slideIndex + _.options.slidesToShow > _.slideCount) {
2295                _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;
2296                verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;
2297            }
2298        }
2299
2300        if (_.slideCount <= _.options.slidesToShow) {
2301            _.slideOffset = 0;
2302            verticalOffset = 0;
2303        }
2304
2305        if (_.options.centerMode === true && _.options.infinite === true) {
2306            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
2307        } else if (_.options.centerMode === true) {
2308            _.slideOffset = 0;
2309            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);
2310        }
2311
2312        if (_.options.vertical === false) {
2313            targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;
2314        } else {
2315            targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;
2316        }
2317
2318        if (_.options.variableWidth === true) {
2319
2320            if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
2321                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
2322            } else {
2323                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);
2324            }
2325
2326            if (_.options.rtl === true) {
2327                if (targetSlide[0]) {
2328                    targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
2329                } else {
2330                    targetLeft =  0;
2331                }
2332            } else {
2333                targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
2334            }
2335
2336            if (_.options.centerMode === true) {
2337                if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
2338                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
2339                } else {
2340                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);
2341                }
2342
2343                if (_.options.rtl === true) {
2344                    if (targetSlide[0]) {
2345                        targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
2346                    } else {
2347                        targetLeft =  0;
2348                    }
2349                } else {
2350                    targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
2351                }
2352
2353                targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;
2354            }
2355        }
2356
2357        return targetLeft;
2358
2359    };
2360
2361    Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {
2362
2363        var _ = this;
2364
2365        return _.options[option];
2366
2367    };
2368
2369    Slick.prototype.getNavigableIndexes = function() {
2370
2371        var _ = this,
2372            breakPoint = 0,
2373            counter = 0,
2374            indexes = [],
2375            max;
2376
2377        if (_.options.infinite === false) {
2378            max = _.slideCount;
2379        } else {
2380            breakPoint = _.options.slidesToScroll * -1;
2381            counter = _.options.slidesToScroll * -1;
2382            max = _.slideCount * 2;
2383        }
2384
2385        while (breakPoint < max) {
2386            indexes.push(breakPoint);
2387            breakPoint = counter + _.options.slidesToScroll;
2388            counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
2389        }
2390
2391        return indexes;
2392
2393    };
2394
2395    Slick.prototype.getSlick = function() {
2396
2397        return this;
2398
2399    };
2400
2401    Slick.prototype.getSlideCount = function() {
2402
2403        var _ = this,
2404            slidesTraversed, swipedSlide, centerOffset;
2405
2406        centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0;
2407
2408        if (_.options.swipeToSlide === true) {
2409            _.$slideTrack.find('.slick-slide').each(function(index, slide) {
2410                if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) {
2411                    swipedSlide = slide;
2412                    return false;
2413                }
2414            });
2415
2416            slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;
2417
2418            return slidesTraversed;
2419
2420        } else {
2421            return _.options.slidesToScroll;
2422        }
2423
2424    };
2425
2426    Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {
2427
2428        var _ = this;
2429
2430        _.changeSlide({
2431            data: {
2432                message: 'index',
2433                index: parseInt(slide)
2434            }
2435        }, dontAnimate);
2436
2437    };
2438
2439    Slick.prototype.init = function(creation) {
2440
2441        var _ = this;
2442
2443        if (!$(_.$slider).hasClass('slick-initialized')) {
2444
2445            $(_.$slider).addClass('slick-initialized');
2446
2447            _.buildRows();
2448            _.buildOut();
2449            _.setProps();
2450            _.startLoad();
2451            _.loadSlider();
2452            _.initializeEvents();
2453            _.updateArrows();
2454            _.updateDots();
2455            _.checkResponsive(true);
2456            _.focusHandler();
2457
2458        }
2459
2460        if (creation) {
2461            _.$slider.trigger('init', [_]);
2462        }
2463
2464        if (_.options.accessibility === true) {
2465            _.initADA();
2466        }
2467
2468        if ( _.options.autoplay ) {
2469
2470            _.paused = false;
2471            _.autoPlay();
2472
2473        }
2474
2475    };
2476
2477    Slick.prototype.initADA = function() {
2478        var _ = this;
2479        _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
2480            'aria-hidden': 'true',
2481            'tabindex': '-1'
2482        }).find('a, input, button, select').attr({
2483            'tabindex': '-1'
2484        });
2485
2486        _.$slideTrack.attr('role', 'listbox');
2487
2488        _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
2489            $(this).attr({
2490                'role': 'option',
2491                'aria-describedby': 'slick-slide' + _.instanceUid + i + ''
2492            });
2493        });
2494
2495        if (_.$dots !== null) {
2496            _.$dots.attr('role', 'tablist').find('li').each(function(i) {
2497                $(this).attr({
2498                    'role': 'presentation',
2499                    'aria-selected': 'false',
2500                    'aria-controls': 'navigation' + _.instanceUid + i + '',
2501                    'id': 'slick-slide' + _.instanceUid + i + ''
2502                });
2503            })
2504                .first().attr('aria-selected', 'true').end()
2505                .find('button').attr('role', 'button').end()
2506                .closest('div').attr('role', 'toolbar');
2507        }
2508        _.activateADA();
2509
2510    };
2511
2512    Slick.prototype.initArrowEvents = function() {
2513
2514        var _ = this;
2515
2516        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
2517            _.$prevArrow
2518               .off('click.slick')
2519               .on('click.slick', {
2520                    message: 'previous'
2521               }, _.changeSlide);
2522            _.$nextArrow
2523               .off('click.slick')
2524               .on('click.slick', {
2525                    message: 'next'
2526               }, _.changeSlide);
2527        }
2528
2529    };
2530
2531    Slick.prototype.initDotEvents = function() {
2532
2533        var _ = this;
2534
2535        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
2536            $('li', _.$dots).on('click.slick', {
2537                message: 'index'
2538            }, _.changeSlide);
2539        }
2540
2541        if ( _.options.dots === true && _.options.pauseOnDotsHover === true ) {
2542
2543            $('li', _.$dots)
2544                .on('mouseenter.slick', $.proxy(_.interrupt, _, true))
2545                .on('mouseleave.slick', $.proxy(_.interrupt, _, false));
2546
2547        }
2548
2549    };
2550
2551    Slick.prototype.initSlideEvents = function() {
2552
2553        var _ = this;
2554
2555        if ( _.options.pauseOnHover ) {
2556
2557            _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true));
2558            _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false));
2559
2560        }
2561
2562    };
2563
2564    Slick.prototype.initializeEvents = function() {
2565
2566        var _ = this;
2567
2568        _.initArrowEvents();
2569
2570        _.initDotEvents();
2571        _.initSlideEvents();
2572
2573        _.$list.on('touchstart.slick mousedown.slick', {
2574            action: 'start'
2575        }, _.swipeHandler);
2576        _.$list.on('touchmove.slick mousemove.slick', {
2577            action: 'move'
2578        }, _.swipeHandler);
2579        _.$list.on('touchend.slick mouseup.slick', {
2580            action: 'end'
2581        }, _.swipeHandler);
2582        _.$list.on('touchcancel.slick mouseleave.slick', {
2583            action: 'end'
2584        }, _.swipeHandler);
2585
2586        _.$list.on('click.slick', _.clickHandler);
2587
2588        $(document).on(_.visibilityChange, $.proxy(_.visibility, _));
2589
2590        if (_.options.accessibility === true) {
2591            _.$list.on('keydown.slick', _.keyHandler);
2592        }
2593
2594        if (_.options.focusOnSelect === true) {
2595            $(_.$slideTrack).children().on('click.slick', _.selectHandler);
2596        }
2597
2598        $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));
2599
2600        $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));
2601
2602        $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);
2603
2604        $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
2605        $(document).on('ready.slick.slick-' + _.instanceUid, _.setPosition);
2606
2607    };
2608
2609    Slick.prototype.initUI = function() {
2610
2611        var _ = this;
2612
2613        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
2614
2615            _.$prevArrow.show();
2616            _.$nextArrow.show();
2617
2618        }
2619
2620        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
2621
2622            _.$dots.show();
2623
2624        }
2625
2626    };
2627
2628    Slick.prototype.keyHandler = function(event) {
2629
2630        var _ = this;
2631         //Dont slide if the cursor is inside the form fields and arrow keys are pressed
2632        if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {
2633            if (event.keyCode === 37 && _.options.accessibility === true) {
2634                _.changeSlide({
2635                    data: {
2636                        message: _.options.rtl === true ? 'next' :  'previous'
2637                    }
2638                });
2639            } else if (event.keyCode === 39 && _.options.accessibility === true) {
2640                _.changeSlide({
2641                    data: {
2642                        message: _.options.rtl === true ? 'previous' : 'next'
2643                    }
2644                });
2645            }
2646        }
2647
2648    };
2649
2650    Slick.prototype.lazyLoad = function() {
2651
2652        var _ = this,
2653            loadRange, cloneRange, rangeStart, rangeEnd;
2654
2655        function loadImages(imagesScope) {
2656
2657            $('img[data-lazy]', imagesScope).each(function() {
2658
2659                var image = $(this),
2660                    imageSource = $(this).attr('data-lazy'),
2661                    imageToLoad = document.createElement('img');
2662
2663                imageToLoad.onload = function() {
2664
2665                    image
2666                        .animate({ opacity: 0 }, 100, function() {
2667                            image
2668                                .attr('src', imageSource)
2669                                .animate({ opacity: 1 }, 200, function() {
2670                                    image
2671                                        .removeAttr('data-lazy')
2672                                        .removeClass('slick-loading');
2673                                });
2674                            _.$slider.trigger('lazyLoaded', [_, image, imageSource]);
2675                        });
2676
2677                };
2678
2679                imageToLoad.onerror = function() {
2680
2681                    image
2682                        .removeAttr( 'data-lazy' )
2683                        .removeClass( 'slick-loading' )
2684                        .addClass( 'slick-lazyload-error' );
2685
2686                    _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
2687
2688                };
2689
2690                imageToLoad.src = imageSource;
2691
2692            });
2693
2694        }
2695
2696        if (_.options.centerMode === true) {
2697            if (_.options.infinite === true) {
2698                rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);
2699                rangeEnd = rangeStart + _.options.slidesToShow + 2;
2700            } else {
2701                rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));
2702                rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;
2703            }
2704        } else {
2705            rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
2706            rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow);
2707            if (_.options.fade === true) {
2708                if (rangeStart > 0) rangeStart--;
2709                if (rangeEnd <= _.slideCount) rangeEnd++;
2710            }
2711        }
2712
2713        loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);
2714        loadImages(loadRange);
2715
2716        if (_.slideCount <= _.options.slidesToShow) {
2717            cloneRange = _.$slider.find('.slick-slide');
2718            loadImages(cloneRange);
2719        } else
2720        if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
2721            cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
2722            loadImages(cloneRange);
2723        } else if (_.currentSlide === 0) {
2724            cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
2725            loadImages(cloneRange);
2726        }
2727
2728    };
2729
2730    Slick.prototype.loadSlider = function() {
2731
2732        var _ = this;
2733
2734        _.setPosition();
2735
2736        _.$slideTrack.css({
2737            opacity: 1
2738        });
2739
2740        _.$slider.removeClass('slick-loading');
2741
2742        _.initUI();
2743
2744        if (_.options.lazyLoad === 'progressive') {
2745            _.progressiveLazyLoad();
2746        }
2747
2748    };
2749
2750    Slick.prototype.next = Slick.prototype.slickNext = function() {
2751
2752        var _ = this;
2753
2754        _.changeSlide({
2755            data: {
2756                message: 'next'
2757            }
2758        });
2759
2760    };
2761
2762    Slick.prototype.orientationChange = function() {
2763
2764        var _ = this;
2765
2766        _.checkResponsive();
2767        _.setPosition();
2768
2769    };
2770
2771    Slick.prototype.pause = Slick.prototype.slickPause = function() {
2772
2773        var _ = this;
2774
2775        _.autoPlayClear();
2776        _.paused = true;
2777
2778    };
2779
2780    Slick.prototype.play = Slick.prototype.slickPlay = function() {
2781
2782        var _ = this;
2783
2784        _.autoPlay();
2785        _.options.autoplay = true;
2786        _.paused = false;
2787        _.focussed = false;
2788        _.interrupted = false;
2789
2790    };
2791
2792    Slick.prototype.postSlide = function(index) {
2793
2794        var _ = this;
2795
2796        if( !_.unslicked ) {
2797
2798            _.$slider.trigger('afterChange', [_, index]);
2799
2800            _.animating = false;
2801
2802            _.setPosition();
2803
2804            _.swipeLeft = null;
2805
2806            if ( _.options.autoplay ) {
2807                _.autoPlay();
2808            }
2809
2810            if (_.options.accessibility === true) {
2811                _.initADA();
2812            }
2813
2814        }
2815
2816    };
2817
2818    Slick.prototype.prev = Slick.prototype.slickPrev = function() {
2819
2820        var _ = this;
2821
2822        _.changeSlide({
2823            data: {
2824                message: 'previous'
2825            }
2826        });
2827
2828    };
2829
2830    Slick.prototype.preventDefault = function(event) {
2831
2832        event.preventDefault();
2833
2834    };
2835
2836    Slick.prototype.progressiveLazyLoad = function( tryCount ) {
2837
2838        tryCount = tryCount || 1;
2839
2840        var _ = this,
2841            $imgsToLoad = $( 'img[data-lazy]', _.$slider ),
2842            image,
2843            imageSource,
2844            imageToLoad;
2845
2846        if ( $imgsToLoad.length ) {
2847
2848            image = $imgsToLoad.first();
2849            imageSource = image.attr('data-lazy');
2850            imageToLoad = document.createElement('img');
2851
2852            imageToLoad.onload = function() {
2853
2854                image
2855                    .attr( 'src', imageSource )
2856                    .removeAttr('data-lazy')
2857                    .removeClass('slick-loading');
2858
2859                if ( _.options.adaptiveHeight === true ) {
2860                    _.setPosition();
2861                }
2862
2863                _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]);
2864                _.progressiveLazyLoad();
2865
2866            };
2867
2868            imageToLoad.onerror = function() {
2869
2870                if ( tryCount < 3 ) {
2871
2872                    /**
2873                     * try to load the image 3 times,
2874                     * leave a slight delay so we don't get
2875                     * servers blocking the request.
2876                     */
2877                    setTimeout( function() {
2878                        _.progressiveLazyLoad( tryCount + 1 );
2879                    }, 500 );
2880
2881                } else {
2882
2883                    image
2884                        .removeAttr( 'data-lazy' )
2885                        .removeClass( 'slick-loading' )
2886                        .addClass( 'slick-lazyload-error' );
2887
2888                    _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
2889
2890                    _.progressiveLazyLoad();
2891
2892                }
2893
2894            };
2895
2896            imageToLoad.src = imageSource;
2897
2898        } else {
2899
2900            _.$slider.trigger('allImagesLoaded', [ _ ]);
2901
2902        }
2903
2904    };
2905
2906    Slick.prototype.refresh = function( initializing ) {
2907
2908        var _ = this, currentSlide, lastVisibleIndex;
2909
2910        lastVisibleIndex = _.slideCount - _.options.slidesToShow;
2911
2912        // in non-infinite sliders, we don't want to go past the
2913        // last visible index.
2914        if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) {
2915            _.currentSlide = lastVisibleIndex;
2916        }
2917
2918        // if less slides than to show, go to start.
2919        if ( _.slideCount <= _.options.slidesToShow ) {
2920            _.currentSlide = 0;
2921
2922        }
2923
2924        currentSlide = _.currentSlide;
2925
2926        _.destroy(true);
2927
2928        $.extend(_, _.initials, { currentSlide: currentSlide });
2929
2930        _.init();
2931
2932        if( !initializing ) {
2933
2934            _.changeSlide({
2935                data: {
2936                    message: 'index',
2937                    index: currentSlide
2938                }
2939            }, false);
2940
2941        }
2942
2943    };
2944
2945    Slick.prototype.registerBreakpoints = function() {
2946
2947        var _ = this, breakpoint, currentBreakpoint, l,
2948            responsiveSettings = _.options.responsive || null;
2949
2950        if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) {
2951
2952            _.respondTo = _.options.respondTo || 'window';
2953
2954            for ( breakpoint in responsiveSettings ) {
2955
2956                l = _.breakpoints.length-1;
2957                currentBreakpoint = responsiveSettings[breakpoint].breakpoint;
2958
2959                if (responsiveSettings.hasOwnProperty(breakpoint)) {
2960
2961                    // loop through the breakpoints and cut out any existing
2962                    // ones with the same breakpoint number, we don't want dupes.
2963                    while( l >= 0 ) {
2964                        if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) {
2965                            _.breakpoints.splice(l,1);
2966                        }
2967                        l--;
2968                    }
2969
2970                    _.breakpoints.push(currentBreakpoint);
2971                    _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;
2972
2973                }
2974
2975            }
2976
2977            _.breakpoints.sort(function(a, b) {
2978                return ( _.options.mobileFirst ) ? a-b : b-a;
2979            });
2980
2981        }
2982
2983    };
2984
2985    Slick.prototype.reinit = function() {
2986
2987        var _ = this;
2988
2989        _.$slides =
2990            _.$slideTrack
2991                .children(_.options.slide)
2992                .addClass('slick-slide');
2993
2994        _.slideCount = _.$slides.length;
2995
2996        if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {
2997            _.currentSlide = _.currentSlide - _.options.slidesToScroll;
2998        }
2999
3000        if (_.slideCount <= _.options.slidesToShow) {
3001            _.currentSlide = 0;
3002        }
3003
3004        _.registerBreakpoints();
3005
3006        _.setProps();
3007        _.setupInfinite();
3008        _.buildArrows();
3009        _.updateArrows();
3010        _.initArrowEvents();
3011        _.buildDots();
3012        _.updateDots();
3013        _.initDotEvents();
3014        _.cleanUpSlideEvents();
3015        _.initSlideEvents();
3016
3017        _.checkResponsive(false, true);
3018
3019        if (_.options.focusOnSelect === true) {
3020            $(_.$slideTrack).children().on('click.slick', _.selectHandler);
3021        }
3022
3023        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
3024
3025        _.setPosition();
3026        _.focusHandler();
3027
3028        _.paused = !_.options.autoplay;
3029        _.autoPlay();
3030
3031        _.$slider.trigger('reInit', [_]);
3032
3033    };
3034
3035    Slick.prototype.resize = function() {
3036
3037        var _ = this;
3038
3039        if ($(window).width() !== _.windowWidth) {
3040            clearTimeout(_.windowDelay);
3041            _.windowDelay = window.setTimeout(function() {
3042                _.windowWidth = $(window).width();
3043                _.checkResponsive();
3044                if( !_.unslicked ) { _.setPosition(); }
3045            }, 50);
3046        }
3047    };
3048
3049    Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {
3050
3051        var _ = this;
3052
3053        if (typeof(index) === 'boolean') {
3054            removeBefore = index;
3055            index = removeBefore === true ? 0 : _.slideCount - 1;
3056        } else {
3057            index = removeBefore === true ? --index : index;
3058        }
3059
3060        if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {
3061            return false;
3062        }
3063
3064        _.unload();
3065
3066        if (removeAll === true) {
3067            _.$slideTrack.children().remove();
3068        } else {
3069            _.$slideTrack.children(this.options.slide).eq(index).remove();
3070        }
3071
3072        _.$slides = _.$slideTrack.children(this.options.slide);
3073
3074        _.$slideTrack.children(this.options.slide).detach();
3075
3076        _.$slideTrack.append(_.$slides);
3077
3078        _.$slidesCache = _.$slides;
3079
3080        _.reinit();
3081
3082    };
3083
3084    Slick.prototype.setCSS = function(position) {
3085
3086        var _ = this,
3087            positionProps = {},
3088            x, y;
3089
3090        if (_.options.rtl === true) {
3091            position = -position;
3092        }
3093        x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';
3094        y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';
3095
3096        positionProps[_.positionProp] = position;
3097
3098        if (_.transformsEnabled === false) {
3099            _.$slideTrack.css(positionProps);
3100        } else {
3101            positionProps = {};
3102            if (_.cssTransitions === false) {
3103                positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';
3104                _.$slideTrack.css(positionProps);
3105            } else {
3106                positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';
3107                _.$slideTrack.css(positionProps);
3108            }
3109        }
3110
3111    };
3112
3113    Slick.prototype.setDimensions = function() {
3114
3115        var _ = this;
3116
3117        if (_.options.vertical === false) {
3118            if (_.options.centerMode === true) {
3119                _.$list.css({
3120                    padding: ('0px ' + _.options.centerPadding)
3121                });
3122            }
3123        } else {
3124            _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);
3125            if (_.options.centerMode === true) {
3126                _.$list.css({
3127                    padding: (_.options.centerPadding + ' 0px')
3128                });
3129            }
3130        }
3131
3132        _.listWidth = _.$list.width();
3133        _.listHeight = _.$list.height();
3134
3135
3136        if (_.options.vertical === false && _.options.variableWidth === false) {
3137            _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);
3138            _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));
3139
3140        } else if (_.options.variableWidth === true) {
3141            _.$slideTrack.width(5000 * _.slideCount);
3142        } else {
3143            _.slideWidth = Math.ceil(_.listWidth);
3144            _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));
3145        }
3146
3147        var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();
3148        if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);
3149
3150    };
3151
3152    Slick.prototype.setFade = function() {
3153
3154        var _ = this,
3155            targetLeft;
3156
3157        _.$slides.each(function(index, element) {
3158            targetLeft = (_.slideWidth * index) * -1;
3159            if (_.options.rtl === true) {
3160                $(element).css({
3161                    position: 'relative',
3162                    right: targetLeft,
3163                    top: 0,
3164                    zIndex: _.options.zIndex - 2,
3165                    opacity: 0
3166                });
3167            } else {
3168                $(element).css({
3169                    position: 'relative',
3170                    left: targetLeft,
3171                    top: 0,
3172                    zIndex: _.options.zIndex - 2,
3173                    opacity: 0
3174                });
3175            }
3176        });
3177
3178        _.$slides.eq(_.currentSlide).css({
3179            zIndex: _.options.zIndex - 1,
3180            opacity: 1
3181        });
3182
3183    };
3184
3185    Slick.prototype.setHeight = function() {
3186
3187        var _ = this;
3188
3189        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
3190            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
3191            _.$list.css('height', targetHeight);
3192        }
3193
3194    };
3195
3196    Slick.prototype.setOption =
3197    Slick.prototype.slickSetOption = function() {
3198
3199        /**
3200         * accepts arguments in format of:
3201         *
3202         *  - for changing a single option's value:
3203         *     .slick("setOption", option, value, refresh )
3204         *
3205         *  - for changing a set of responsive options:
3206         *     .slick("setOption", 'responsive', [{}, ...], refresh )
3207         *
3208         *  - for updating multiple values at once (not responsive)
3209         *     .slick("setOption", { 'option': value, ... }, refresh )
3210         */
3211
3212        var _ = this, l, item, option, value, refresh = false, type;
3213
3214        if( $.type( arguments[0] ) === 'object' ) {
3215
3216            option =  arguments[0];
3217            refresh = arguments[1];
3218            type = 'multiple';
3219
3220        } else if ( $.type( arguments[0] ) === 'string' ) {
3221
3222            option =  arguments[0];
3223            value = arguments[1];
3224            refresh = arguments[2];
3225
3226            if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) {
3227
3228                type = 'responsive';
3229
3230            } else if ( typeof arguments[1] !== 'undefined' ) {
3231
3232                type = 'single';
3233
3234            }
3235
3236        }
3237
3238        if ( type === 'single' ) {
3239
3240            _.options[option] = value;
3241
3242
3243        } else if ( type === 'multiple' ) {
3244
3245            $.each( option , function( opt, val ) {
3246
3247                _.options[opt] = val;
3248
3249            });
3250
3251
3252        } else if ( type === 'responsive' ) {
3253
3254            for ( item in value ) {
3255
3256                if( $.type( _.options.responsive ) !== 'array' ) {
3257
3258                    _.options.responsive = [ value[item] ];
3259
3260                } else {
3261
3262                    l = _.options.responsive.length-1;
3263
3264                    // loop through the responsive object and splice out duplicates.
3265                    while( l >= 0 ) {
3266
3267                        if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {
3268
3269                            _.options.responsive.splice(l,1);
3270
3271                        }
3272
3273                        l--;
3274
3275                    }
3276
3277                    _.options.responsive.push( value[item] );
3278
3279                }
3280
3281            }
3282
3283        }
3284
3285        if ( refresh ) {
3286
3287            _.unload();
3288            _.reinit();
3289
3290        }
3291
3292    };
3293
3294    Slick.prototype.setPosition = function() {
3295
3296        var _ = this;
3297
3298        _.setDimensions();
3299
3300        _.setHeight();
3301
3302        if (_.options.fade === false) {
3303            _.setCSS(_.getLeft(_.currentSlide));
3304        } else {
3305            _.setFade();
3306        }
3307
3308        _.$slider.trigger('setPosition', [_]);
3309
3310    };
3311
3312    Slick.prototype.setProps = function() {
3313
3314        var _ = this,
3315            bodyStyle = document.body.style;
3316
3317        _.positionProp = _.options.vertical === true ? 'top' : 'left';
3318
3319        if (_.positionProp === 'top') {
3320            _.$slider.addClass('slick-vertical');
3321        } else {
3322            _.$slider.removeClass('slick-vertical');
3323        }
3324
3325        if (bodyStyle.WebkitTransition !== undefined ||
3326            bodyStyle.MozTransition !== undefined ||
3327            bodyStyle.msTransition !== undefined) {
3328            if (_.options.useCSS === true) {
3329                _.cssTransitions = true;
3330            }
3331        }
3332
3333        if ( _.options.fade ) {
3334            if ( typeof _.options.zIndex === 'number' ) {
3335                if( _.options.zIndex < 3 ) {
3336                    _.options.zIndex = 3;
3337                }
3338            } else {
3339                _.options.zIndex = _.defaults.zIndex;
3340            }
3341        }
3342
3343        if (bodyStyle.OTransform !== undefined) {
3344            _.animType = 'OTransform';
3345            _.transformType = '-o-transform';
3346            _.transitionType = 'OTransition';
3347            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
3348        }
3349        if (bodyStyle.MozTransform !== undefined) {
3350            _.animType = 'MozTransform';
3351            _.transformType = '-moz-transform';
3352            _.transitionType = 'MozTransition';
3353            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;
3354        }
3355        if (bodyStyle.webkitTransform !== undefined) {
3356            _.animType = 'webkitTransform';
3357            _.transformType = '-webkit-transform';
3358            _.transitionType = 'webkitTransition';
3359            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
3360        }
3361        if (bodyStyle.msTransform !== undefined) {
3362            _.animType = 'msTransform';
3363            _.transformType = '-ms-transform';
3364            _.transitionType = 'msTransition';
3365            if (bodyStyle.msTransform === undefined) _.animType = false;
3366        }
3367        if (bodyStyle.transform !== undefined && _.animType !== false) {
3368            _.animType = 'transform';
3369            _.transformType = 'transform';
3370            _.transitionType = 'transition';
3371        }
3372        _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);
3373    };
3374
3375
3376    Slick.prototype.setSlideClasses = function(index) {
3377
3378        var _ = this,
3379            centerOffset, allSlides, indexOffset, remainder;
3380
3381        allSlides = _.$slider
3382            .find('.slick-slide')
3383            .removeClass('slick-active slick-center slick-current')
3384            .attr('aria-hidden', 'true');
3385
3386        _.$slides
3387            .eq(index)
3388            .addClass('slick-current');
3389
3390        if (_.options.centerMode === true) {
3391
3392            centerOffset = Math.floor(_.options.slidesToShow / 2);
3393
3394            if (_.options.infinite === true) {
3395
3396                if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
3397
3398                    _.$slides
3399                        .slice(index - centerOffset, index + centerOffset + 1)
3400                        .addClass('slick-active')
3401                        .attr('aria-hidden', 'false');
3402
3403                } else {
3404
3405                    indexOffset = _.options.slidesToShow + index;
3406                    allSlides
3407                        .slice(indexOffset - centerOffset + 1, indexOffset + centerOffset + 2)
3408                        .addClass('slick-active')
3409                        .attr('aria-hidden', 'false');
3410
3411                }
3412
3413                if (index === 0) {
3414
3415                    allSlides
3416                        .eq(allSlides.length - 1 - _.options.slidesToShow)
3417                        .addClass('slick-center');
3418
3419                } else if (index === _.slideCount - 1) {
3420
3421                    allSlides
3422                        .eq(_.options.slidesToShow)
3423                        .addClass('slick-center');
3424
3425                }
3426
3427            }
3428
3429            _.$slides
3430                .eq(index)
3431                .addClass('slick-center');
3432
3433        } else {
3434
3435            if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {
3436
3437                _.$slides
3438                    .slice(index, index + _.options.slidesToShow)
3439                    .addClass('slick-active')
3440                    .attr('aria-hidden', 'false');
3441
3442            } else if (allSlides.length <= _.options.slidesToShow) {
3443
3444                allSlides
3445                    .addClass('slick-active')
3446                    .attr('aria-hidden', 'false');
3447
3448            } else {
3449
3450                remainder = _.slideCount % _.options.slidesToShow;
3451                indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;
3452
3453                if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {
3454
3455                    allSlides
3456                        .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)
3457                        .addClass('slick-active')
3458                        .attr('aria-hidden', 'false');
3459
3460                } else {
3461
3462                    allSlides
3463                        .slice(indexOffset, indexOffset + _.options.slidesToShow)
3464                        .addClass('slick-active')
3465                        .attr('aria-hidden', 'false');
3466
3467                }
3468
3469            }
3470
3471        }
3472
3473        if (_.options.lazyLoad === 'ondemand') {
3474            _.lazyLoad();
3475        }
3476
3477    };
3478
3479    Slick.prototype.setupInfinite = function() {
3480
3481        var _ = this,
3482            i, slideIndex, infiniteCount;
3483
3484        if (_.options.fade === true) {
3485            _.options.centerMode = false;
3486        }
3487
3488        if (_.options.infinite === true && _.options.fade === false) {
3489
3490            slideIndex = null;
3491
3492            if (_.slideCount > _.options.slidesToShow) {
3493
3494                if (_.options.centerMode === true) {
3495                    infiniteCount = _.options.slidesToShow + 1;
3496                } else {
3497                    infiniteCount = _.options.slidesToShow;
3498                }
3499
3500                for (i = _.slideCount; i > (_.slideCount -
3501                        infiniteCount); i -= 1) {
3502                    slideIndex = i - 1;
3503                    $(_.$slides[slideIndex]).clone(true).attr('id', '')
3504                        .attr('data-slick-index', slideIndex - _.slideCount)
3505                        .prependTo(_.$slideTrack).addClass('slick-cloned');
3506                }
3507                for (i = 0; i < infiniteCount; i += 1) {
3508                    slideIndex = i;
3509                    $(_.$slides[slideIndex]).clone(true).attr('id', '')
3510                        .attr('data-slick-index', slideIndex + _.slideCount)
3511                        .appendTo(_.$slideTrack).addClass('slick-cloned');
3512                }
3513                _.$slideTrack.find('.slick-cloned').find('[id]').each(function() {
3514                    $(this).attr('id', '');
3515                });
3516
3517            }
3518
3519        }
3520
3521    };
3522
3523    Slick.prototype.interrupt = function( toggle ) {
3524
3525        var _ = this;
3526
3527        if( !toggle ) {
3528            _.autoPlay();
3529        }
3530        _.interrupted = toggle;
3531
3532    };
3533
3534    Slick.prototype.selectHandler = function(event) {
3535
3536        var _ = this;
3537
3538        var targetElement =
3539            $(event.target).is('.slick-slide') ?
3540                $(event.target) :
3541                $(event.target).parents('.slick-slide');
3542
3543        var index = parseInt(targetElement.attr('data-slick-index'));
3544
3545        if (!index) index = 0;
3546
3547        if (_.slideCount <= _.options.slidesToShow) {
3548
3549            _.setSlideClasses(index);
3550            _.asNavFor(index);
3551            return;
3552
3553        }
3554
3555        _.slideHandler(index);
3556
3557    };
3558
3559    Slick.prototype.slideHandler = function(index, sync, dontAnimate) {
3560
3561        var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,
3562            _ = this, navTarget;
3563
3564        sync = sync || false;
3565
3566        if (_.animating === true && _.options.waitForAnimate === true) {
3567            return;
3568        }
3569
3570        if (_.options.fade === true && _.currentSlide === index) {
3571            return;
3572        }
3573
3574        if (_.slideCount <= _.options.slidesToShow) {
3575            return;
3576        }
3577
3578        if (sync === false) {
3579            _.asNavFor(index);
3580        }
3581
3582        targetSlide = index;
3583        targetLeft = _.getLeft(targetSlide);
3584        slideLeft = _.getLeft(_.currentSlide);
3585
3586        _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;
3587
3588        if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {
3589            if (_.options.fade === false) {
3590                targetSlide = _.currentSlide;
3591                if (dontAnimate !== true) {
3592                    _.animateSlide(slideLeft, function() {
3593                        _.postSlide(targetSlide);
3594                    });
3595                } else {
3596                    _.postSlide(targetSlide);
3597                }
3598            }
3599            return;
3600        } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
3601            if (_.options.fade === false) {
3602                targetSlide = _.currentSlide;
3603                if (dontAnimate !== true) {
3604                    _.animateSlide(slideLeft, function() {
3605                        _.postSlide(targetSlide);
3606                    });
3607                } else {
3608                    _.postSlide(targetSlide);
3609                }
3610            }
3611            return;
3612        }
3613
3614        if ( _.options.autoplay ) {
3615            clearInterval(_.autoPlayTimer);
3616        }
3617
3618        if (targetSlide < 0) {
3619            if (_.slideCount % _.options.slidesToScroll !== 0) {
3620                animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);
3621            } else {
3622                animSlide = _.slideCount + targetSlide;
3623            }
3624        } else if (targetSlide >= _.slideCount) {
3625            if (_.slideCount % _.options.slidesToScroll !== 0) {
3626                animSlide = 0;
3627            } else {
3628                animSlide = targetSlide - _.slideCount;
3629            }
3630        } else {
3631            animSlide = targetSlide;
3632        }
3633
3634        _.animating = true;
3635
3636        _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);
3637
3638        oldSlide = _.currentSlide;
3639        _.currentSlide = animSlide;
3640
3641        _.setSlideClasses(_.currentSlide);
3642
3643        if ( _.options.asNavFor ) {
3644
3645            navTarget = _.getNavTarget();
3646            navTarget = navTarget.slick('getSlick');
3647
3648            if ( navTarget.slideCount <= navTarget.options.slidesToShow ) {
3649                navTarget.setSlideClasses(_.currentSlide);
3650            }
3651
3652        }
3653
3654        _.updateDots();
3655        _.updateArrows();
3656
3657        if (_.options.fade === true) {
3658            if (dontAnimate !== true) {
3659
3660                _.fadeSlideOut(oldSlide);
3661
3662                _.fadeSlide(animSlide, function() {
3663                    _.postSlide(animSlide);
3664                });
3665
3666            } else {
3667                _.postSlide(animSlide);
3668            }
3669            _.animateHeight();
3670            return;
3671        }
3672
3673        if (dontAnimate !== true) {
3674            _.animateSlide(targetLeft, function() {
3675                _.postSlide(animSlide);
3676            });
3677        } else {
3678            _.postSlide(animSlide);
3679        }
3680
3681    };
3682
3683    Slick.prototype.startLoad = function() {
3684
3685        var _ = this;
3686
3687        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
3688
3689            _.$prevArrow.hide();
3690            _.$nextArrow.hide();
3691
3692        }
3693
3694        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
3695
3696            _.$dots.hide();
3697
3698        }
3699
3700        _.$slider.addClass('slick-loading');
3701
3702    };
3703
3704    Slick.prototype.swipeDirection = function() {
3705
3706        var xDist, yDist, r, swipeAngle, _ = this;
3707
3708        xDist = _.touchObject.startX - _.touchObject.curX;
3709        yDist = _.touchObject.startY - _.touchObject.curY;
3710        r = Math.atan2(yDist, xDist);
3711
3712        swipeAngle = Math.round(r * 180 / Math.PI);
3713        if (swipeAngle < 0) {
3714            swipeAngle = 360 - Math.abs(swipeAngle);
3715        }
3716
3717        if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
3718            return (_.options.rtl === false ? 'left' : 'right');
3719        }
3720        if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
3721            return (_.options.rtl === false ? 'left' : 'right');
3722        }
3723        if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
3724            return (_.options.rtl === false ? 'right' : 'left');
3725        }
3726        if (_.options.verticalSwiping === true) {
3727            if ((swipeAngle >= 35) && (swipeAngle <= 135)) {
3728                return 'down';
3729            } else {
3730                return 'up';
3731            }
3732        }
3733
3734        return 'vertical';
3735
3736    };
3737
3738    Slick.prototype.swipeEnd = function(event) {
3739
3740        var _ = this,
3741            slideCount,
3742            direction;
3743
3744        _.dragging = false;
3745        _.interrupted = false;
3746        _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true;
3747
3748        if ( _.touchObject.curX === undefined ) {
3749            return false;
3750        }
3751
3752        if ( _.touchObject.edgeHit === true ) {
3753            _.$slider.trigger('edge', [_, _.swipeDirection() ]);
3754        }
3755
3756        if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) {
3757
3758            direction = _.swipeDirection();
3759
3760            switch ( direction ) {
3761
3762                case 'left':
3763                case 'down':
3764
3765                    slideCount =
3766                        _.options.swipeToSlide ?
3767                            _.checkNavigable( _.currentSlide + _.getSlideCount() ) :
3768                            _.currentSlide + _.getSlideCount();
3769
3770                    _.currentDirection = 0;
3771
3772                    break;
3773
3774                case 'right':
3775                case 'up':
3776
3777                    slideCount =
3778                        _.options.swipeToSlide ?
3779                            _.checkNavigable( _.currentSlide - _.getSlideCount() ) :
3780                            _.currentSlide - _.getSlideCount();
3781
3782                    _.currentDirection = 1;
3783
3784                    break;
3785
3786                default:
3787
3788
3789            }
3790
3791            if( direction != 'vertical' ) {
3792
3793                _.slideHandler( slideCount );
3794                _.touchObject = {};
3795                _.$slider.trigger('swipe', [_, direction ]);
3796
3797            }
3798
3799        } else {
3800
3801            if ( _.touchObject.startX !== _.touchObject.curX ) {
3802
3803                _.slideHandler( _.currentSlide );
3804                _.touchObject = {};
3805
3806            }
3807
3808        }
3809
3810    };
3811
3812    Slick.prototype.swipeHandler = function(event) {
3813
3814        var _ = this;
3815
3816        if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {
3817            return;
3818        } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {
3819            return;
3820        }
3821
3822        _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
3823            event.originalEvent.touches.length : 1;
3824
3825        _.touchObject.minSwipe = _.listWidth / _.options
3826            .touchThreshold;
3827
3828        if (_.options.verticalSwiping === true) {
3829            _.touchObject.minSwipe = _.listHeight / _.options
3830                .touchThreshold;
3831        }
3832
3833        switch (event.data.action) {
3834
3835            case 'start':
3836                _.swipeStart(event);
3837                break;
3838
3839            case 'move':
3840                _.swipeMove(event);
3841                break;
3842
3843            case 'end':
3844                _.swipeEnd(event);
3845                break;
3846
3847        }
3848
3849    };
3850
3851    Slick.prototype.swipeMove = function(event) {
3852
3853        var _ = this,
3854            edgeWasHit = false,
3855            curLeft, swipeDirection, swipeLength, positionOffset, touches;
3856
3857        touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;
3858
3859        if (!_.dragging || touches && touches.length !== 1) {
3860            return false;
3861        }
3862
3863        curLeft = _.getLeft(_.currentSlide);
3864
3865        _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;
3866        _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;
3867
3868        _.touchObject.swipeLength = Math.round(Math.sqrt(
3869            Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));
3870
3871        if (_.options.verticalSwiping === true) {
3872            _.touchObject.swipeLength = Math.round(Math.sqrt(
3873                Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));
3874        }
3875
3876        swipeDirection = _.swipeDirection();
3877
3878        if (swipeDirection === 'vertical') {
3879            return;
3880        }
3881
3882        if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {
3883            event.preventDefault();
3884        }
3885
3886        positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);
3887        if (_.options.verticalSwiping === true) {
3888            positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;
3889        }
3890
3891
3892        swipeLength = _.touchObject.swipeLength;
3893
3894        _.touchObject.edgeHit = false;
3895
3896        if (_.options.infinite === false) {
3897            if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {
3898                swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;
3899                _.touchObject.edgeHit = true;
3900            }
3901        }
3902
3903        if (_.options.vertical === false) {
3904            _.swipeLeft = curLeft + swipeLength * positionOffset;
3905        } else {
3906            _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;
3907        }
3908        if (_.options.verticalSwiping === true) {
3909            _.swipeLeft = curLeft + swipeLength * positionOffset;
3910        }
3911
3912        if (_.options.fade === true || _.options.touchMove === false) {
3913            return false;
3914        }
3915
3916        if (_.animating === true) {
3917            _.swipeLeft = null;
3918            return false;
3919        }
3920
3921        _.setCSS(_.swipeLeft);
3922
3923    };
3924
3925    Slick.prototype.swipeStart = function(event) {
3926
3927        var _ = this,
3928            touches;
3929
3930        _.interrupted = true;
3931
3932        if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
3933            _.touchObject = {};
3934            return false;
3935        }
3936
3937        if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {
3938            touches = event.originalEvent.touches[0];
3939        }
3940
3941        _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
3942        _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;
3943
3944        _.dragging = true;
3945
3946    };
3947
3948    Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {
3949
3950        var _ = this;
3951
3952        if (_.$slidesCache !== null) {
3953
3954            _.unload();
3955
3956            _.$slideTrack.children(this.options.slide).detach();
3957
3958            _.$slidesCache.appendTo(_.$slideTrack);
3959
3960            _.reinit();
3961
3962        }
3963
3964    };
3965
3966    Slick.prototype.unload = function() {
3967
3968        var _ = this;
3969
3970        $('.slick-cloned', _.$slider).remove();
3971
3972        if (_.$dots) {
3973            _.$dots.remove();
3974        }
3975
3976        if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {
3977            _.$prevArrow.remove();
3978        }
3979
3980        if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {
3981            _.$nextArrow.remove();
3982        }
3983
3984        _.$slides
3985            .removeClass('slick-slide slick-active slick-visible slick-current')
3986            .attr('aria-hidden', 'true')
3987            .css('width', '');
3988
3989    };
3990
3991    Slick.prototype.unslick = function(fromBreakpoint) {
3992
3993        var _ = this;
3994        _.$slider.trigger('unslick', [_, fromBreakpoint]);
3995        _.destroy();
3996
3997    };
3998
3999    Slick.prototype.updateArrows = function() {
4000
4001        var _ = this,
4002            centerOffset;
4003
4004        centerOffset = Math.floor(_.options.slidesToShow / 2);
4005
4006        if ( _.options.arrows === true &&
4007            _.slideCount > _.options.slidesToShow &&
4008            !_.options.infinite ) {
4009
4010            _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
4011            _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
4012
4013            if (_.currentSlide === 0) {
4014
4015                _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
4016                _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
4017
4018            } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {
4019
4020                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
4021                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
4022
4023            } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {
4024
4025                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
4026                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
4027
4028            }
4029
4030        }
4031
4032    };
4033
4034    Slick.prototype.updateDots = function() {
4035
4036        var _ = this;
4037
4038        if (_.$dots !== null) {
4039
4040            _.$dots
4041                .find('li')
4042                .removeClass('slick-active')
4043                .attr('aria-hidden', 'true');
4044
4045            _.$dots
4046                .find('li')
4047                .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))
4048                .addClass('slick-active')
4049                .attr('aria-hidden', 'false');
4050
4051        }
4052
4053    };
4054
4055    Slick.prototype.visibility = function() {
4056
4057        var _ = this;
4058
4059        if ( _.options.autoplay ) {
4060
4061            if ( document[_.hidden] ) {
4062
4063                _.interrupted = true;
4064
4065            } else {
4066
4067                _.interrupted = false;
4068
4069            }
4070
4071        }
4072
4073    };
4074
4075    $.fn.slick = function() {
4076        var _ = this,
4077            opt = arguments[0],
4078            args = Array.prototype.slice.call(arguments, 1),
4079            l = _.length,
4080            i,
4081            ret;
4082        for (i = 0; i < l; i++) {
4083            if (typeof opt == 'object' || typeof opt == 'undefined')
4084                _[i].slick = new Slick(_[i], opt);
4085            else
4086                ret = _[i].slick[opt].apply(_[i].slick, args);
4087            if (typeof ret != 'undefined') return ret;
4088        }
4089        return _;
4090    };
4091
4092}));

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.