PageSourceSearch

https://ngiamz.ru/sites/default/files/js/js_Hc9DyLQwcr83N12X2Fi24s_7OrPHAVKlvQUbVRrifWA.js

js ngiamz.ru collected 2026-09-24 20:29:51 UTC 629,505 bytes, 7,628 lines download raw bytes

vendor: 89,947 bytes, lines 1-2
1/*! jQuery v3.6.3 | (c) OpenJS Foundation and other contributors | jquery.org/license */
2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},S=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||S).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.3",E=function(e,t){return new E.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)}E.fn=E.prototype={jquery:f,constructor:E,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=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.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(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.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},E.extend=E.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&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.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=y.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))?E.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:v}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.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,S,y,s,c,v,E="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=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,S)){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))&&v(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+" "]&&(!y||!y.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)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=E)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{if(d.cssSupportsSelector&&!CSS.supports("selector(:is("+c+"))"))throw new Error;return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===E&&e.removeAttribute("id")}}}return g(t.replace(B,"$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[E]=!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 ye(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 ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,S=!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.cssSupportsSelector=ce(function(){return CSS.supports("selector(*)")&&C.querySelectorAll(":is(:jqfake)")&&!CSS.supports("selector(:is(*,:jqfake))")}),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=E,!C.getElementsByName||!C.getElementsByName(E).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&&S){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&&S){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&&S)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+E+"'></a><select id='"+E+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+E+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+E+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.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&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.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)}),d.cssSupportsSelector||y.push(":has"),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(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&&S&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.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),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!S):void 0;return void 0!==r?r:d.attributes||!S?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,y){var v="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===y?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=v!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(v){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)[E]||(a[E]={}))[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)[E]||(a[E]={}))[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[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=y)===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[E]?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(B,"$1"));return s[E]?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=S?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:ye(function(){return[0]}),last:ye(function(e,t){return[t-1]}),eq:ye(function(e,t,n){return[n<0?n+t:n]}),even:ye(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ye(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ye(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ye(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[E]||(e[E]={}))[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,y,v,e){return y&&!y[E]&&(y=Ce(y)),v&&!v[E]&&(v=Ce(v,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?v||(e?d:l||y)?[]:t:f;if(g&&g(f,p,n,r),y){i=Te(p,u),y(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(v||d){if(v){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);v(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=v?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),v?v(null,t,p,r):H.apply(t,p)})}function Se(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))[E]){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(B,"$1"),t,s<n&&Se(e.slice(s,n)),n<r&&Se(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(B," ")}),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,y,v,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Se(t[n]))[E]?i.push(a):o.push(a);(a=A(e,(y=o,m=0<(v=i).length,x=0<y.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=!S);while(s=y[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=v[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+v.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&&S&&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)&&ve(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,!S,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},d.sortStable=E.split("").sort(j).join("")===E,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);E.find=d,E.expr=d.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=d.uniqueSort,E.text=d.getText,E.isXMLDoc=d.isXML,E.contains=d.contains,E.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&&E(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=E.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?E(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:S,!0)),N.test(r[1])&&E.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=S.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(E):E.makeArray(e,this)}).prototype=E.fn,D=E(S);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}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(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&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(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(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.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),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(H[r]||E.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])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(P)||[],function(e,t){n[t]=!0}),n):E.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){E.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 E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.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},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.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){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),C.setTimeout(t))}}return E.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?E.extend(e,a):a}},s={};return E.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=E.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$/;E.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)},E.readyException=function(e){C.setTimeout(function(){throw e})};var F=E.Deferred();function $(){S.removeEventListener("DOMContentLoaded",$),C.removeEventListener("load",$),E.ready()}E.fn.ready=function(e){return F.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||F.resolveWith(S,[E])}}),E.ready.then=F.then,"complete"===S.readyState||"loading"!==S.readyState&&!S.documentElement.doScroll?C.setTimeout(E.ready):(S.addEventListener("DOMContentLoaded",$),C.addEventListener("load",$));var B=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)B(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(E(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=E.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||E.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&&!E.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}E.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)}}),E.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)}):B(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)})}}),E.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,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.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:E.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.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=S.documentElement,ie=function(e){return E.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return E.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"===E.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&te.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.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=E.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}E.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)?E(this).show():E(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=S.createDocumentFragment().appendChild(S.createElement("div")),(fe=S.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",v.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 ye(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)?E.merge([e],n):n}function ve(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,v.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))E.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]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.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<E.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return S.activeElement}catch(e){}}()==("focus"===t)}function Se(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)Se(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Ee(e,i,o){o?(Y.set(e,i,!1),E.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)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&E.event.add(e,i,we)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(re,i),n.guid||(n.guid=E.guid++),(u=y.events)||(u=y.events=Object.create(null)),(a=y.handle)||(a=y.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=E.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=E.event.special[d]||{},c=E.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.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),E.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.hasData(e)&&Y.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=E.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,y.handle)||E.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)E.event.remove(e,d+t[l],n,r,!0);E.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=E.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=E.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=E.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=((E.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<E(i,this).index(l):E.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(E.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[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(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)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(t,e){E.event.special[t]={setup:function(){return Ee(this,t,Ce),!1},trigger:function(){return Ee(this,t),!0},_default:function(e){return Y.get(e.target,t)},delegateType:e}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return Se(this,e,t,n,r)},one:function(e,t,n,r){return Se(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){E.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)E.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=E.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!v.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ye(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=E.clone(u,!0,!0),s&&E.merge(a,ye(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}E.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(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ye(c),r=0,i=(o=ye(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||ye(e),a=a||ye(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ye(c,"script")).length&&ve(a,!f&&ye(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.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]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ye(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=/^--/,Me=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Ie=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},We=new RegExp(ne.join("|"),"i"),Fe="[\\x20\\t\\r\\n\\f]",$e=new RegExp("^"+Fe+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Fe+"+$","g");function Be(e,t,n){var r,i,o,a,s=Re.test(t),u=e.style;return(n=n||Me(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace($e,"$1")||void 0),""!==a||ie(e)||(a=E.style(e,t)),!v.pixelBoxStyles()&&Pe.test(a)&&We.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.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=S.createElement("div"),l=S.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===l.style.backgroundClip,E.extend(v,{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=S.createElement("table"),t=S.createElement("tr"),n=S.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var ze=["Webkit","Moz","ms"],Ue=S.createElement("div").style,Xe={};function Ve(e){var t=E.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=ze.length;while(n--)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,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+=E.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+ne[a]+"Width",!0,i))):(u+=E.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=E.css(e,"border"+ne[a]+"Width",!0,i):s+=E.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=Me(e),i=(!v.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.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)}E.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=Re.test(t),l=e.style;if(u||(t=Ve(s)),a=E.cssHooks[t]||E.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]||(E.cssNumber[s]?"":"px")),v.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 Re.test(t)||(t=Ve(s)),(a=E.cssHooks[t]||E.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}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):Ie(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Me(e),o=!v.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.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=E.css(e,u)),Je(0,t,s)}}}),E.cssHooks.marginLeft=_e(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-Ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.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&&(E.cssHooks[i+o].set=Je)}),E.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Me(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),((E.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||E.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(E.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=E.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=E.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){E.fx.step[e.prop]?E.fx.step[e.prop](e):1!==e.elem.nodeType||!E.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:E.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)}},E.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},E.fx=et.prototype.init,E.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===S.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,E.fx.interval),E.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=E.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:E.extend({},e),opts:E.extend(!0,{specialEasing:{},easing:E.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=E.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=E.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)&&(E._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return E.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),E.fx.timer(E.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}E.Animation=E.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),y=Y.get(e,"fxshow");for(r in n.queue||(null==(a=E._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--,E.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||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||E.style(e,r)}if((u=!E.isEmptyObject(t))||!E.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=Y.get(e,"display")),"none"===(c=E.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=E.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===E.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||(y?"hidden"in y&&(g=y.hidden):y=Y.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)E.style(e,r,d[r])})),u=ct(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),E.speed=function(e,t,n){var r=e&&"object"==typeof e?E.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return E.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in E.fx.speeds?r.duration=E.fx.speeds[r.duration]:r.duration=E.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&&E.dequeue(this,r.queue)},r},E.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=E.isEmptyObject(t),o=E.speed(e,n,r),a=function(){var e=ft(this,E.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=E.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||E.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=E.timers,o=n?n.length:0;for(t.finish=!0,E.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})}}),E.each(["toggle","show","hide"],function(e,r){var i=E.fn[r];E.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),E.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){E.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),E.timers=[],E.fx.tick=function(){var e,t=0,n=E.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||E.fx.stop(),tt=void 0},E.fx.timer=function(e){E.timers.push(e),E.fx.start()},E.fx.interval=13,E.fx.start=function(){nt||(nt=!0,st())},E.fx.stop=function(){nt=null},E.fx.speeds={slow:600,fast:200,_default:400},E.fn.delay=function(r,e){return r=E.fx&&E.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=S.createElement("input"),it=S.createElement("select").appendChild(S.createElement("option")),rt.type="checkbox",v.checkOn=""!==rt.value,v.optSelected=it.selected,(rt=S.createElement("input")).value="t",rt.type="radio",v.radioValue="t"===rt.value;var pt,dt=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return B(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void E.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=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.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?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||E.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 yt(e){return(e.match(P)||[]).join(" ")}function vt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}E.fn.extend({prop:function(e,t){return B(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.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=E.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"}}),v.optSelected||(E.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)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).addClass(t.call(this,e,vt(this)))}):(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=yt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).removeClass(t.call(this,e,vt(this)))}):arguments.length?(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=yt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return m(t)?this.each(function(e){E(this).toggleClass(t.call(this,e,vt(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=mt(t),this.each(function(){if(s)for(o=E(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=vt(this))&&Y.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":Y.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+yt(vt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;E.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,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.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}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:yt(E.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=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},v.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),v.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||S],d=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||S,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+E.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[E.expando]?e:new E.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]:E.makeArray(t,[e]),c=E.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||S)&&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),E.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),v.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.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()},St=/\?/;E.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||E.error("Invalid XML: "+(n?E.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Et=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function jt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||Et.test(n)?i(n,t):jt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)jt(n+"["+t+"]",e[t],r,i)}E.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&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.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 Dt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=S.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 $t(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,E.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 Bt(e,t){var n,r,i=E.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&E.extend(!0,e,r),e}Wt.href=Tt.href,E.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":E.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,E.ajaxSettings),t):Bt(E.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,y=E.ajaxSetup({},t),v=y.context||y,m=y.context&&(v.nodeType||v.jquery)?E(v):E.event,x=E.Deferred(),b=E.Callbacks("once memory"),w=y.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&&(y.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),y.url=((e||y.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),y.type=t.method||t.type||y.method||y.type,y.dataTypes=(y.dataType||"*").toLowerCase().match(P)||[""],null==y.crossDomain){r=S.createElement("a");try{r.href=y.url,r.href=r.href,y.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){y.crossDomain=!0}}if(y.data&&y.processData&&"string"!=typeof y.data&&(y.data=E.param(y.data,y.traditional)),$t(Rt,y,t,T),h)return T;for(i in(g=E.event&&y.global)&&0==E.active++&&E.event.trigger("ajaxStart"),y.type=y.type.toUpperCase(),y.hasContent=!Ot.test(y.type),f=y.url.replace(qt,""),y.hasContent?y.data&&y.processData&&0===(y.contentType||"").indexOf("application/x-www-form-urlencoded")&&(y.data=y.data.replace(Dt,"+")):(o=y.url.slice(f.length),y.data&&(y.processData||"string"==typeof y.data)&&(f+=(St.test(f)?"&":"?")+y.data,delete y.data),!1===y.cache&&(f=f.replace(Lt,"$1"),o=(St.test(f)?"&":"?")+"_="+Ct.guid+++o),y.url=f+o),y.ifModified&&(E.lastModified[f]&&T.setRequestHeader("If-Modified-Since",E.lastModified[f]),E.etag[f]&&T.setRequestHeader("If-None-Match",E.etag[f])),(y.data&&y.hasContent&&!1!==y.contentType||t.contentType)&&T.setRequestHeader("Content-Type",y.contentType),T.setRequestHeader("Accept",y.dataTypes[0]&&y.accepts[y.dataTypes[0]]?y.accepts[y.dataTypes[0]]+("*"!==y.dataTypes[0]?", "+It+"; q=0.01":""):y.accepts["*"]),y.headers)T.setRequestHeader(i,y.headers[i]);if(y.beforeSend&&(!1===y.beforeSend.call(v,T,y)||h))return T.abort();if(u="abort",b.add(y.complete),T.done(y.success),T.fail(y.error),c=$t(Mt,y,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,y]),h)return T;y.async&&0<y.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},y.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]}(y,T,n)),!i&&-1<E.inArray("script",y.dataTypes)&&E.inArray("json",y.dataTypes)<0&&(y.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}}(y,s,T,i),i?(y.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(E.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(E.etag[f]=u)),204===e||"HEAD"===y.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(v,[o,l,T]):x.rejectWith(v,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,y,i?o:a]),b.fireWith(v,[T,l]),g&&(m.trigger("ajaxComplete",[T,y]),--E.active||E.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return E.get(e,t,n,"json")},getScript:function(e,t){return E.get(e,void 0,t,"script")}}),E.each(["get","post"],function(e,i){E[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),E.ajax(E.extend({url:e,type:i,dataType:r,data:t,success:n},E.isPlainObject(e)&&e))}}),E.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),E._evalUrl=function(e,t,n){return E.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){E.globalEval(e,t,n)}})},E.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=E(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){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},E.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=E.ajaxSettings.xhr();v.cors=!!zt&&"withCredentials"in zt,v.ajax=zt=!!zt,E.ajaxTransport(function(i){var o,a;if(v.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()}}}),E.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),E.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 E.globalEval(e),e}}}),E.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),E.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=E("<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)}),S.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;E.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||E.expando+"_"+Ct.guid++;return this[e]=!0,e}}),E.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+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||E.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?E(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"}),v.createHTMLDocument=((Ut=S.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=S.implementation.createHTMLDocument("")).createElement("base")).href=S.location.href,t.head.appendChild(r)):t=S),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=yt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&E.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?E("<div>").append(E.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},E.expr.pseudos.animated=function(t){return E.grep(E.timers,function(e){return t===e.elem}).length},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.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,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.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"===E.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"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return B(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)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(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?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){E.fn[t]=function(e){return this.on(t,e)}}),E.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)}}),E.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){E.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])[\s\uFEFF\xA0]+$/g;E.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||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=A,E.isFunction=m,E.isWindow=x,E.camelCase=X,E.type=w,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},E.trim=function(e){return null==e?"":(e+"").replace(Gt,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var Yt=C.jQuery,Qt=C.$;return E.noConflict=function(e){return C.$===E&&(C.$=Qt),e&&C.jQuery===E&&(C.jQuery=Yt),E},"undefined"==typeof e&&(C.jQuery=C.$=E),E});
3;
4/**
5* DO NOT EDIT THIS FILE.
6* See the following change record for more information,
7* https://www.drupal.org/node/2815083
8* @preserve
9**/
10if (!Element.prototype.matches) {
11  Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
12};
13/*! @drupal/once - v1.0.1 - 2021-06-12 */
14var once=function(){"use strict";var n=/[\11\12\14\15\40]+/,e="data-once",t=document;function r(n,t,r){return n[t+"Attribute"](e,r)}function o(e){if("string"!=typeof e)throw new TypeError("once ID must be a string");if(""===e||n.test(e))throw new RangeError("once ID must not be empty or contain spaces");return'[data-once~="'+e+'"]'}function u(n){if(!(n instanceof Element))throw new TypeError("The element must be an instance of Element");return!0}function i(n,e){void 0===e&&(e=t);var r=n;if(null===n)r=[];else{if(!n)throw new TypeError("Selector must not be empty");"string"!=typeof n||e!==t&&!u(e)?n instanceof Element&&(r=[n]):r=e.querySelectorAll(n)}return Array.prototype.slice.call(r)}function c(n,e,t){return e.filter((function(e){var r=u(e)&&e.matches(n);return r&&t&&t(e),r}))}function f(e,t){var o=t.add,u=t.remove,i=[];r(e,"has")&&r(e,"get").trim().split(n).forEach((function(n){i.indexOf(n)<0&&n!==u&&i.push(n)})),o&&i.push(o);var c=i.join(" ");r(e,""===c?"remove":"set",c)}function a(n,e,t){return c(":not("+o(n)+")",i(e,t),(function(e){return f(e,{add:n})}))}return a.remove=function(n,e,t){return c(o(n),i(e,t),(function(e){return f(e,{remove:n})}))},a.filter=function(n,e,t){return c(o(n),i(e,t))},a.find=function(n,e){return i(n?o(n):"[data-once]",e)},a}();
15
16;
17window.drupalTranslations = {"strings":{"":{"An AJAX HTTP error occurred.":"\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 AJAX HTTP \u043e\u0448\u0438\u0431\u043a\u0430.","HTTP Result Code: !status":"\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 HTTP: !status","An AJAX HTTP request terminated abnormally.":"AJAX HTTP-\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043d.","Debugging information follows.":"\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f.","Path: !uri":"\u041f\u0443\u0442\u044c: !uri","StatusText: !statusText":"\u0422\u0435\u043a\u0441\u0442 \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f: !statusText","ResponseText: !responseText":"\u0422\u0435\u043a\u0441\u0442 \u041e\u0442\u0432\u0435\u0442\u0430: !responseText","ReadyState: !readyState":"ReadyState: !readyState","CustomMessage: !customMessage":"\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435: !customMessage","Please wait...":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435...","The response failed verification so will not be processed.":"\u041e\u0442\u0432\u0435\u0442 \u043d\u0435 \u043f\u0440\u043e\u0448\u0435\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442.","The callback URL is not local and not trusted: !url":"URL-\u0430\u0434\u0440\u0435\u0441 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0438 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c: !url","Changed":"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435","Home":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f","Next":"\u0412\u043f\u0435\u0440\u0451\u0434","Delete":"Delete","closed":"\u0437\u0430\u043a\u0440\u044b\u0442\u043e","Cancel":"\u041e\u0442\u043c\u0435\u043d\u0430","Disabled":"\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e","Enabled":"\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u043e","File":"\u0424\u0430\u0439\u043b","Edit":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c","Date":"\u
170414\u0430\u0442\u0430","Size":"Size","Link":"\u0421\u0441\u044b\u043b\u043a\u0430","Image":"\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435","root":"\u043a\u043e\u0440\u0435\u043d\u044c","Name":"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435","Open":"\u041e\u0442\u043a\u0440\u044b\u0442\u044c","Add":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c","Refresh":"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c","Upload":"\u0417\u0430\u043a\u0430\u0447\u0430\u0442\u044c","Continue":"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c","Create":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c","Width":"\u0428\u0438\u0440\u0438\u043d\u0430","Height":"\u0412\u044b\u0441\u043e\u0442\u0430","Close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","Add group":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0443","Show":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c","1 item\u0003@count items":"@count \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0003@count \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0003@count[2] \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432","Select all rows in this table":"\u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b","Deselect all rows in this table":"\u0421\u043d\u044f\u0442\u044c \u043e\u0442\u043c\u0435\u0442\u043a\u0443 \u0441\u043e \u0432\u0441\u0435\u0445 \u043a\u043e\u043b\u043e\u043d\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b","Extend":"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f","Not published":"\u041d\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e","Loading...":"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...","Apply":"Apply","Select":"\u0412\u044b\u0431\u0440\u0430\u0442\u044c","Hide":"\u0421\u043a\u0440\u044b\u0442\u044c","Unlink":"\u041e\u0442\u0432\u044f\u0437\u0430\u0442\u044c","Resize":"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430","Not promoted":"\u041d\u0435 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u043e \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u0443\u044e","Error message":"\u
170421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435","button":"\u043a\u043d\u043e\u043f\u043a\u0430","Warning message":"\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435","Only files with the following extensions are allowed: %files-allowed.":"\u041f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u044f\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u044b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438: %files-allowed.","Edit Link":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443","Remove group":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0443","By @name on @date":"@name, @date","By @name":"@name","Not in menu":"\u041d\u0435 \u0432 \u043c\u0435\u043d\u044e","Alias: @alias":"\u0421\u0438\u043d\u043e\u043d\u0438\u043c: @alias","No alias":"\u0421\u0438\u043d\u043e\u043d\u0438\u043c \u043d\u0435 \u0437\u0430\u0434\u0430\u043d","@label":"@label","New revision":"\u041d\u043e\u0432\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f","Drag to re-order":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043c\u043e\u0436\u043d\u043e, \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0432 \u043f\u0443\u043d\u043a\u0442 \u043c\u044b\u0448\u043a\u043e\u0439.","Changes made in this table will not be saved until the form is submitted.":"\u0421\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0435 \u0432\u0441\u0442\u0443\u043f\u044f\u0442 \u0432 \u0441\u0438\u043b\u0443, \u043f\u043e\u043a\u0430 \u0432\u044b \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438\u0445.","1 byte\u0003@count bytes":"@count \u0431\u0430\u0439\u0442\u0003@count \u0431\u0430\u0439\u0442\u0430\u0003@count[2] \u0431\u0430\u0439\u0442","@size KB":"@size \u041a\u0411","@size MB":"@size \u041c\u0411","Show description":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435","New group":"\u041d\u043e\u0432\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430","This permission is inherited from the authenticated user role.":"\u042d\u0442\u043e \u043f\u0440\u0430\u0432\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0442 \u0440\u043e\u043b\u0438 \u00ab\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u00bb.","No revision":"\u041d\u0435\u0442 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438","Requires a title":"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a","Not restricted":"\u0411\u0435\u0437 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439","(active tab)":"(\u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0432\u043a\u043b\u0430\u0434\u043a\u0430)","Status message":"\u
170421\u0442\u0430\u0442\u0443\u0441","Restricted to certain pages":"\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446","The block cannot be placed in this region.":"\u0411\u043b\u043e\u043a \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0449\u0451\u043d \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438.","Hide summary":"\u0421\u043a\u0440\u044b\u0442\u044c \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435","Edit summary":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435","Don\u0027t display post information":"\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438","Collapse":"\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c","The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.":"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b %filename \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438: %extensions.","Show row weights":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0435\u0441 \u0441\u0442\u0440\u043e\u043a","Hide row weights":"\u0421\u043a\u0440\u044b\u0442\u044c \u0432\u0435\u0441 \u0441\u0442\u0440\u043e\u043a","Apply (all displays)":"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c (\u0432\u0441\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f)","Apply (this display)":"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c (\u0434\u0430\u043d\u043d\u043e\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435)","Revert to default":"\u0412\u0435\u0440\u043d\u0443\u0442\u044c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","Hide description":"\u0421\u043a\u0440\u044b\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435","Does not need to be updated":"\u041d\u0435 \u043d\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438","Show all columns":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b","Show table cells that were hidden to make the table fit within a small screen.":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u044f\u0447\u0435\u0439\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0441\u043a\u0440\u044b\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432\u0441\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0430 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435.","List additional actions":"\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439","Flag other translations as outdated":"\u041f\u043e\u043c\u0435\u0442\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044b \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435","Do not flag other translations as outdated":"\u041d\u0435 \u043f\u043e\u043c\u0435\u0447\u0430\u0439\u0442\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044b \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435","opened":"\u041e\u0442\u043a\u0440\u044b\u0442\u043e","Horizontal orientation":"\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f","Vertical orientation":"\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f","Tray orientation changed to @orientation.":"\u041e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0430 \u043d\u0430 @orientation.","You have unsaved changes.":"\u
170415\u0441\u0442\u044c \u043d\u0435\u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.","No styles configured":"\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0441\u0442\u0438\u043b\u0438","@count styles configured":"\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e @count \u0441\u0442\u0438\u043b\u044c\r\n\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e @count \u0441\u0442\u0438\u043b\u044f\r\n\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e @count[2] \u0441\u0442\u0438\u043b\u0435\u0439","@action @title configuration options":"@action @title \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438","Tabbing is no longer constrained by the Contextual module.":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u043a\u043b\u0430\u0434\u043e\u043a \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e \u043c\u043e\u0434\u0443\u043b\u0435\u043c Context.","Tabbing is constrained to a set of @contextualsCount and the edit mode toggle.":"\u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u043d\u0430\u0431\u043e\u0440\u043e\u043c @contextualsCount \u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0435\u0436\u0438\u043c\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.","Press the esc key to exit.":"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 ESC \u0434\u043b\u044f \u0432\u044b\u0445\u043e\u0434\u0430.","@count contextual link\u0003@count contextual links":"@count \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430\u0003@count \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0445 \u0441\u0441\u044b\u043b\u043a\u0438\u0003@count[2] \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0445 \u0441\u0441\u044b\u043b\u043e\u043a","Based on the text editor configuration, these tags have automatically been added: \u003Cstrong\u003E@tag-list\u003C\/strong\u003E.":"\u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0435\u0433\u0438 \u0431\u044b\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u003Cstrong\u003E@tag-list\u003C\/strong\u003E.","!tour_item of !total":"!tour_item \u0438\u0437 !total","End tour":"\u041a\u043e\u043d\u0435\u0446 \u0442\u0443\u0440\u0430","Uploads disabled":"\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b","Uploads enabled, max size: @size @dimensions":"\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440: @size @dimensions","The toolbar cannot be set to a horizontal orientation when it is locked.":"\u041f\u0430\u043d\u0435\u043b\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0432 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0430 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0430.","Hide group names":"\u0421\u043a\u0440\u044b\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f","Show group names":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f","@groupName button group in position @position of @positionCount in row @row of @rowCount.":"\u0413\u0440\u0443\u043f\u043f\u0430 \u043a\u043d\u043e\u043f\u043e\u043a @groupName \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 @position \u0438\u0437 @positionCount \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 @row \u0438\u0437 @rowCount.","Press the down arrow key to create a new row.":"\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u0022\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u043d\u0438\u0437\u0022.","@name @type.":"@name @type.","Press the down arrow key to activate.":"\u0414\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u0022\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u043d\u0438\u0437\u0022.","@name @type in position @position of @positionCount in @groupName button group in row @row of @rowCount.":"@type @name \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 @position \u0438\u0437 @positionCount \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u043d\u043e\u043f\u043e\u043a @groupName \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 @row \u0438\u0437 @rowCount.","Press the down arrow key to create a new button group in a new row.":"\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043a\u043d\u043e\u043f\u043e\u043a \u043d\u0430 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u0022\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u043d\u0438\u0437\u0022.","This is the last group. Move the button forward to create a new group.":"\u042d\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0433\u0440\u0443\u043f\u043f\u0430. \u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u0432\u043f\u0435\u0440\u0451\u0434.","The \u0022@name\u0022 button is currently enabled.":"\u041a\u043d\u043e\u043f\u043a\u0430 \u0022@name\u0022 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430.","Use the keyboard arrow keys to change the position of this button.":"\u0414\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u0441\u043e \u0441\u0442\u0440\u0435\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435.","Press the up arrow key on the top row to disable the button.":"\u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u0022\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u0432\u0435\u0440\u0445\u0022 \u043d\u0430 \u0432\u0435\u0440\u0445\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435.","The \u0022@name\u0022 button is currently disabled.":"\u041a\u043d\u043e\u043f\u043a\u0430 \u0022@name\u0022 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430.","This @name is currently enabled.":"@name \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e.","Use the keyboard arrow keys to change the position of this separator.":"\u0414\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0438 \u0441\u043e \u0441\u0442\u0440\u0435\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435.","Separators are used to visually split individual buttons.":"\u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043e\u043a.","This @name is currently disabled.":"@name \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043e.","Use the down arrow key to move this separator into the active toolbar.":"\u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043d\u0435\u043b\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u0022\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u043d\u0438\u0437\u0022","You may add multiple separators to each button group.":"\u041a \u043a\u0430\u0436\u0434\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u043d\u043e\u043f\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u0439.","Please provide a name for the button group.":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u043a\u043d\u043e\u043f\u043e\u043a.","Button group name":"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u043a\u043d\u043e\u043f\u043e\u043a","Editing the name of the new button group in a dialog.":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043a\u043d\u043e\u043f\u043e\u043a \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435.","Editing the name of the \u0022@groupName\u0022 button group in a dialog.":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u043a\u043d\u043e\u043f\u043e\u043a \u0022@groupName\u0022 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435.","Place a button to create a new button group.":"\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u043a\u043d\u043e\u043f\u043e\u043a \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443.","Add a CKEditor button group to the end of this row.":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0443 \u043a\u043d\u043e\u043f\u043e\u043a CKEditor \u0432 \u043a\u043e\u043d\u0435\u0446 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438.","Changing the text format to %text_format will permanently remove content that is not allowed in that text format.\u003Cbr\u003E\u003Cbr\u003ESave your changes before switching the text format to avoid losing data.":"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u043d\u0430 %text_format \u0431\u0435\u0437\u0432\u043e\u0437\u0432\u0440\u0430\u0442\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435, \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0435 \u0432 \u043d\u043e\u0432\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.\u003Cbr\u003E\u003Cbr\u003E\u0414\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0434 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0430.","Change text format?":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442 \u0442\u0435\u043a\u0441\u0442\u0430?","Rich Text Editor, !label field":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430, \u043f\u043e\u043b\u0435 !label","Leave preview?":"\u041e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440?","Leave preview":"\u041e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440","Leaving the preview will cause unsaved changes to be lost. Are you sure you want to leave the preview?":"\u0412\u044b\u0445\u043e\u0434 \u0438\u0437 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u043d\u0435\u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440?","CTRL+Left click will prevent this dialog from showing and proceed to the clicked link.":"CTRL+\u0449\u0435\u043b\u0447\u043e\u043a \u043b\u0435\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043c\u044b\u0448\u0438 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u044d\u0442\u043e \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0438 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043d\u0430\u0436\u0430\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435.","Tray \u0022@tray\u0022 @action.":"\u041f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0022@tray\u0022 @action.","Tray @action.":"\u041f\u0430\u043d\u0435\u043b\u044c \u0437\u0430\u0434\u0430\u0447 @action.","Hide lower priority columns":"\u0421\u043a\u0440\u044b\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u0441 \u043d\u0438\u0437\u043a\u0438\u043c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u043c","!modules modules are available in the modified list.":"\u041c\u043e\u0434\u0443\u043b\u0438 !modules \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435.","Authored on @date":"\u
170421\u043e\u0437\u0434\u0430\u043d\u043e \u0432 @date","1 block is available in the modified list.\u0003@count blocks are available in the modified list.":"\u0412 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d 1 \u0431\u043b\u043e\u043a.\u0003\u0412 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e @count \u0431\u043b\u043e\u043a\u0430.\u0003\u0412 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e @count \u0431\u043b\u043e\u043a\u043e\u0432.","Insert this token into your form":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0442\u043e\u043a\u0435\u043d \u0432 \u0432\u0430\u0448\u0443 \u0444\u043e\u0440\u043c\u0443","First click a text field to insert your tokens into.":"\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043a\u0435\u043d\u044b.","Automatic alias":"\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0438\u043d\u043e\u043d\u0438\u043c","Collapse all":"C\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435","Select None":"\u0421\u043d\u044f\u0442\u044c \u0432\u044b\u0431\u043e\u0440","Select All":"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435","item":"\u043f\u0443\u043d\u043a\u0442","items":"\u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432","Expand all":"\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435","New folder":"\u041d\u043e\u0432\u0430\u044f \u043f\u0430\u043f\u043a\u0430","Folder name":"\u0418\u043c\u044f \u043f\u0430\u043f\u043a\u0438","Add file":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b","Create a copy":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043f\u0438\u044e","Please select a file.":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b.","Use the selected file.":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b.","%path is a predefined path and can not be modified.":"%path \u043f\u0440\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d.","%filename is not allowed.":"%filename \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f.","%filename contains invalid characters. Use only alphanumeric characters for better portability.":"%filename \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0443\u043a\u0432\u0435\u043d\u043d\u043e-\u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0434\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0439 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u0438.","Image dimensions must be smaller than %dimensions pixels.":"\u0420\u0430\u0437\u043c\u0435\u0440\u044b \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c %dimensions \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439.","%name is not an image.":"%name \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c.","Delete !filename?\u0003Delete the selected @count items?":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c !filename?\u0003\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 @count \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432?","%filename already exists.":"%filename \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.","%filename is %filesize exceeding the maximum file size of %maxsize.":"%filename \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c %filesize \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 %maxsize.","Invalid response received from the server.":"\u041e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442.","Insert images using Imce File Manager":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0444\u0430\u0439\u043b\u043e\u0432 Imce","Insert file links using Imce File Manager":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0444\u0430\u0439\u043b\u043e\u0432 Imce"}},"pluralFormula":{"1":0,"2":1,"3":1,"4":1,"21":0,"22":1,"23":1,"24":1,"31":0,"32":1,"33":1,"34":1,"41":0,"42":1,"43":1,"44":1,"51":0,"52":1,"53":1,"54":1,"61":0,"62":1,"63":1,"64":1,"71":0,"72":1,"73":1,"74":1,"81":0,"82":1,"83":1,"84":1,"91":0,"92":1,"93":1,"94":1,"101":0,"102":1,"103":1,"104":1,"121":0,"122":1,"123":1,"124":1,"131":0,"132":1,"133":1,"134":1,"141":0,"142":1,"143":1,"144":1,"151":0,"152":1,"153":1,"154":1,"161":0,"162":1,"163":1,"164":1,"171":0,"172":1,"173":1,"174":1,"181":0,"182":1,"183":1,"184":1,"191":0,"192":1,"193":1,"194":1,"default":2}};;
18/**
19* DO NOT EDIT THIS FILE.
20* See the following change record for more information,
21* https://www.drupal.org/node/2815083
22* @preserve
23**/
24(function () {
25  var settingsElement = document.querySelector('head > script[type="application/json"][data-drupal-selector="drupal-settings-json"], body > script[type="application/json"][data-drupal-selector="drupal-settings-json"]');
26  window.drupalSettings = {};
27  if (settingsElement !== null) {
28    window.drupalSettings = JSON.parse(settingsElement.textContent);
29  }
30})();;
31/**
32* DO NOT EDIT THIS FILE.
33* See the following change record for more information,
34* https://www.drupal.org/node/2815083
35* @preserve
36**/
37window.Drupal = {
38  behaviors: {},
39  locale: {}
40};
41(function (Drupal, drupalSettings, drupalTranslations, console, Proxy, Reflect) {
42  Drupal.throwError = function (error) {
43    setTimeout(function () {
44      throw error;
45    }, 0);
46  };
47  Drupal.attachBehaviors = function (context, settings) {
48    context = context || document;
49    settings = settings || drupalSettings;
50    var behaviors = Drupal.behaviors;
51    Object.keys(behaviors || {}).forEach(function (i) {
52      if (typeof behaviors[i].attach === 'function') {
53        try {
54          behaviors[i].attach(context, settings);
55        } catch (e) {
56          Drupal.throwError(e);
57        }
58      }
59    });
60  };
61  Drupal.detachBehaviors = function (context, settings, trigger) {
62    context = context || document;
63    settings = settings || drupalSettings;
64    trigger = trigger || 'unload';
65    var behaviors = Drupal.behaviors;
66    Object.keys(behaviors || {}).forEach(function (i) {
67      if (typeof behaviors[i].detach === 'function') {
68        try {
69          behaviors[i].detach(context, settings, trigger);
70        } catch (e) {
71          Drupal.throwError(e);
72        }
73      }
74    });
75  };
76  Drupal.checkPlain = function (str) {
77    str = str.toString().replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
78    return str;
79  };
80  Drupal.formatString = function (str, args) {
81    var processedArgs = {};
82    Object.keys(args || {}).forEach(function (key) {
83      switch (key.charAt(0)) {
84        case '@':
85          processedArgs[key] = Drupal.checkPlain(args[key]);
86          break;
87        case '!':
88          processedArgs[key] = args[key];
89          break;
90        default:
91          processedArgs[key] = Drupal.theme('placeholder', args[key]);
92          break;
93      }
94    });
95    return Drupal.stringReplace(str, processedArgs, null);
96  };
97  Drupal.stringReplace = function (str, args, keys) {
98    if (str.length === 0) {
99      return str;
100    }
101    if (!Array.isArray(keys)) {
102      keys = Object.keys(args || {});
103      keys.sort(function (a, b) {
104        return a.length - b.length;
105      });
106    }
107    if (keys.length === 0) {
108      return str;
109    }
110    var key = keys.pop();
111    var fragments = str.split(key);
112    if (keys.length) {
113      for (var i = 0; i < fragments.length; i++) {
114        fragments[i] = Drupal.stringReplace(fragments[i], args, keys.slice(0));
115      }
116    }
117    return fragments.join(args[key]);
118  };
119  Drupal.t = function (str, args, options) {
120    options = options || {};
121    options.context = options.context || '';
122    if (typeof drupalTranslations !== 'undefined' && drupalTranslations.strings && drupalTranslations.strings[options.context] && drupalTranslations.strings[options.context][str]) {
123      str = drupalTranslations.strings[options.context][str];
124    }
125    if (args) {
126      str = Drupal.formatString(str, args);
127    }
128    return str;
129  };
130  Drupal.url = function (path) {
131    return drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix + path;
132  };
133  Drupal.url.toAbsolute = function (url) {
134    var urlParsingNode = document.createElement('a');
135    try {
136      url = decodeURIComponent(url);
137    } catch (e) {}
138    urlParsingNode.setAttribute('href', url);
139    return urlParsingNode.cloneNode(false).href;
140  };
141  Drupal.url.isLocal = function (url) {
142    var absoluteUrl = Drupal.url.toAbsolute(url);
143    var protocol = window.location.protocol;
144    if (protocol === 'http:' && absoluteUrl.indexOf('https:') === 0) {
145      protocol = 'https:';
146    }
147    var baseUrl = "".concat(protocol, "//").concat(window.location.host).concat(drupalSettings.path.baseUrl.slice(0, -1));
148    try {
149      absoluteUrl = decodeURIComponent(absoluteUrl);
150    } catch (e) {}
151    try {
152      baseUrl = decodeURIComponent(baseUrl);
153    } catch (e) {}
154    return absoluteUrl === baseUrl || absoluteUrl.indexOf("".concat(baseUrl, "/")) === 0;
155  };
156  Drupal.formatPlural = function (count, singular, plural, args, options) {
157    args = args || {};
158    args['@count'] = count;
159    var pluralDelimiter = drupalSettings.pluralDelimiter;
160    var translations = Drupal.t(singular + pluralDelimiter + plural, args, options).split(pluralDelimiter);
161    var index = 0;
162    if (typeof drupalTranslations !== 'undefined' && drupalTranslations.pluralFormula) {
163      index = count in drupalTranslations.pluralFormula ? drupalTranslations.pluralFormula[count] : drupalTranslations.pluralFormula.default;
164    } else if (args['@count'] !== 1) {
165      index = 1;
166    }
167    return translations[index];
168  };
169  Drupal.encodePath = function (item) {
170    return window.encodeURIComponent(item).replace(/%2F/g, '/');
171  };
172  Drupal.deprecationError = function (_ref) {
173    var message = _ref.message;
174    if (drupalSettings.suppressDeprecationErrors === false && typeof console !== 'undefined' && console.warn) {
175      console.warn("[Deprecation] ".concat(message));
176    }
177  };
178  Drupal.deprecatedProperty = function (_ref2) {
179    var target = _ref2.target,
180      deprecatedProperty = _ref2.deprecatedProperty,
181      message = _ref2.message;
182    if (!Proxy || !Reflect) {
183      return target;
184    }
185    return new Proxy(target, {
186      get: function get(target, key) {
187        if (key === deprecatedProperty) {
188          Drupal.deprecationError({
189            message: message
190          });
191        }
192        for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
193          rest[_key - 2] = arguments[_key];
194        }
195        return Reflect.get.apply(Reflect, [target, key].concat(rest));
196      }
197    });
198  };
199  Drupal.theme = function (func) {
200    if (func in Drupal.theme) {
201      var _Drupal$theme;
202      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
203        args[_key2 - 1] = arguments[_key2];
204      }
vendor: 10,940 bytes, lines 205-242
205      return (_Drupal$theme = Drupal.theme)[func].apply(_Drupal$theme, args);
206    }
207  };
208  Drupal.theme.placeholder = function (str) {
209    return "<em class=\"placeholder\">".concat(Drupal.checkPlain(str), "</em>");
210  };
211})(Drupal, window.drupalSettings, window.drupalTranslations, window.console, window.Proxy, window.Reflect);;
212/**
213* DO NOT EDIT THIS FILE.
214* See the following change record for more information,
215* https://www.drupal.org/node/2815083
216* @preserve
217**/
218if (window.jQuery) {
219  jQuery.noConflict();
220}
221document.documentElement.className += ' js';
222(function (Drupal, drupalSettings) {
223  var domReady = function domReady(callback) {
224    var listener = function listener() {
225      callback();
226      document.removeEventListener('DOMContentLoaded', listener);
227    };
228    if (document.readyState !== 'loading') {
229      setTimeout(callback, 0);
230    } else {
231      document.addEventListener('DOMContentLoaded', listener);
232    }
233  };
234  domReady(function () {
235    Drupal.attachBehaviors(document, drupalSettings);
236  });
237})(Drupal, window.drupalSettings);;
238/*! picturefill - v3.0.2 - 2016-02-12
239 * https://scottjehl.github.io/picturefill/
240 * Copyright (c) 2016 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT
241 */
242!function(a){var b=navigator.userAgent;a.HTMLPictureElement&&/ecko/.test(b)&&b.match(/rv\:(\d+)/)&&RegExp.$1<45&&addEventListener("resize",function(){var b,c=document.createElement("source"),d=function(a){var b,d,e=a.parentNode;"PICTURE"===e.nodeName.toUpperCase()?(b=c.cloneNode(),e.insertBefore(b,e.firstElementChild),setTimeout(function(){e.removeChild(b)})):(!a._pfLastSize||a.offsetWidth>a._pfLastSize)&&(a._pfLastSize=a.offsetWidth,d=a.sizes,a.sizes+=",100vw",setTimeout(function(){a.sizes=d}))},e=function(){var a,b=document.querySelectorAll("picture > img, img[srcset][sizes]");for(a=0;a<b.length;a++)d(b[a])},f=function(){clearTimeout(b),b=setTimeout(e,99)},g=a.matchMedia&&matchMedia("(orientation: landscape)"),h=function(){f(),g&&g.addListener&&g.addListener(f)};return c.srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",/^[c|i]|d$/.test(document.readyState||"")?h():document.addEventListener("DOMContentLoaded",h),f}())}(window),function(a,b,c){"use strict";function d(a){return" "===a||"	"===a||"\n"===a||"\f"===a||"\r"===a}function e(b,c){var d=new a.Image;return d.onerror=function(){A[b]=!1,ba()},d.onload=function(){A[b]=1===d.width,ba()},d.src=c,"pending"}function f(){M=!1,P=a.devicePixelRatio,N={},O={},s.DPR=P||1,Q.width=Math.max(a.innerWidth||0,z.clientWidth),Q.height=Math.max(a.innerHeight||0,z.clientHeight),Q.vw=Q.width/100,Q.vh=Q.height/100,r=[Q.height,Q.width,P].join("-"),Q.em=s.getEmValue(),Q.rem=Q.em}function g(a,b,c,d){var e,f,g,h;return"saveData"===B.algorithm?a>2.7?h=c+1:(f=b-c,e=Math.pow(a-.6,1.5),g=f*e,d&&(g+=.1*e),h=a+g):h=c>1?Math.sqrt(a*b):a,h>c}function h(a){var b,c=s.getSet(a),d=!1;"pending"!==c&&(d=r,c&&(b=s.setRes(c),s.applySetCandidate(b,a))),a[s.ns].evaled=d}function i(a,b){return a.res-b.res}function j(a,b,c){var d;return!c&&b&&(c=a[s.ns].sets,c=c&&c[c.length-1]),d=k(b,c),d&&(b=s.makeUrl(b),a[s.ns].curSrc=b,a[s.ns].curCan=d,d.res||aa(d,d.set.sizes)),d}function k(a,b){var c,d,e;if(a&&b)for(e=s.parseSet(b),a=s.makeUrl(a),c=0;c<e.length;c++)if(a===s.makeUrl(e[c].url)){d=e[c];break}return d}function l(a,b){var c,d,e,f,g=a.getElementsByTagName("source");for(c=0,d=g.length;d>c;c++)e=g[c],e[s.ns]=!0,f=e.getAttribute("srcset"),f&&b.push({srcset:f,media:e.getAttribute("media"),type:e.getAttribute("type"),sizes:e.getAttribute("sizes")})}function m(a,b){function c(b){var c,d=b.exec(a.substring(m));return d?(c=d[0],m+=c.length,c):void 0}function e(){var a,c,d,e,f,i,j,k,l,m=!1,o={};for(e=0;e<h.length;e++)f=h[e],i=f[f.length-1],j=f.substring(0,f.length-1),k=parseInt(j,10),l=parseFloat(j),X.test(j)&&"w"===i?((a||c)&&(m=!0),0===k?m=!0:a=k):Y.test(j)&&"x"===i?((a||c||d)&&(m=!0),0>l?m=!0:c=l):X.test(j)&&"h"===i?((d||c)&&(m=!0),0===k?m=!0:d=k):m=!0;m||(o.url=g,a&&(o.w=a),c&&(o.d=c),d&&(o.h=d),d||c||a||(o.d=1),1===o.d&&(b.has1x=!0),o.set=b,n.push(o))}function f(){for(c(T),i="",j="in descriptor";;){if(k=a.charAt(m),"in descriptor"===j)if(d(k))i&&(h.push(i),i="",j="after descriptor");else{if(","===k)return m+=1,i&&h.push(i),void e();if("("===k)i+=k,j="in parens";else{if(""===k)return i&&h.push(i),void e();i+=k}}else if("in parens"===j)if(")"===k)i+=k,j="in descriptor";else{if(""===k)return h.push(i),void e();i+=k}else if("after descriptor"===j)if(d(k));else{if(""===k)return void e();j="in descriptor",m-=1}m+=1}}for(var g,h,i,j,k,l=a.length,m=0,n=[];;){if(c(U),m>=l)return n;g=c(V),h=[],","===g.slice(-1)?(g=g.replace(W,""),e()):f()}}function n(a){function b(a){function b(){f&&(g.push(f),f="")}function c(){g[0]&&(h.push(g),g=[])}for(var e,f="",g=[],h=[],i=0,j=0,k=!1;;){if(e=a.charAt(j),""===e)return b(),c(),h;if(k){if("*"===e&&"/"===a[j+1]){k=!1,j+=2,b();continue}j+=1}else{if(d(e)){if(a.charAt(j-1)&&d(a.charAt(j-1))||!f){j+=1;continue}if(0===i){b(),j+=1;continue}e=" "}else if("("===e)i+=1;else if(")"===e)i-=1;else{if(","===e){b(),c(),j+=1;continue}if("/"===e&&"*"===a.charAt(j+1)){k=!0,j+=2;continue}}f+=e,j+=1}}}function c(a){return k.test(a)&&parseFloat(a)>=0?!0:l.test(a)?!0:"0"===a||"-0"===a||"+0"===a?!0:!1}var e,f,g,h,i,j,k=/^(?:[+-]?[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i,l=/^calc\((?:[0-9a-z \.\+\-\*\/\(\)]+)\)$/i;for(f=b(a),g=f.length,e=0;g>e;e++)if(h=f[e],i=h[h.length-1],c(i)){if(j=i,h.pop(),0===h.length)return j;if(h=h.join(" "),s.matchesMedia(h))return j}return"100vw"}b.createElement("picture");var o,p,q,r,s={},t=!1,u=function(){},v=b.createElement("img"),w=v.getAttribute,x=v.setAttribute,y=v.removeAttribute,z=b.documentElement,A={},B={algorithm:""},C="data-pfsrc",D=C+"set",E=navigator.userAgent,F=/rident/.test(E)||/ecko/.test(E)&&E.match(/rv\:(\d+)/)&&RegExp.$1>35,G="currentSrc",H=/\s+\+?\d+(e\d+)?w/,I=/(\([^)]+\))?\s*(.+)/,J=a.picturefillCFG,K="position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)",L="font-size:100%!important;",M=!0,N={},O={},P=a.devicePixelRatio,Q={px:1,"in":96},R=b.createElement("a"),S=!1,T=/^[ \t\n\r\u000c]+/,U=/^[, \t\n\r\u000c]+/,V=/^[^ \t\n\r\u000c]+/,W=/[,]+$/,X=/^\d+$/,Y=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,Z=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d||!1):a.attachEvent&&a.attachEvent("on"+b,c)},$=function(a){var b={};return function(c){return c in b||(b[c]=a(c)),b[c]}},_=function(){var a=/^([\d\.]+)(em|vw|px)$/,b=function(){for(var a=arguments,b=0,c=a[0];++b in a;)c=c.replace(a[b],a[++b]);return c},c=$(function(a){return"return "+b((a||"").toLowerCase(),/\band\b/g,"&&",/,/g,"||",/min-([a-z-\s]+):/g,"e.$1>=",/max-([a-z-\s]+):/g,"e.$1<=",/calc([^)]+)/g,"($1)",/(\d+[\.]*[\d]*)([a-z]+)/g,"($1 * e.$2)",/^(?!(e.[a-z]|[0-9\.&=|><\+\-\*\(\)\/])).*/gi,"")+";"});return function(b,d){var e;if(!(b in N))if(N[b]=!1,d&&(e=b.match(a)))N[b]=e[1]*Q[e[2]];else try{N[b]=new Function("e",c(b))(Q)}catch(f){}return N[b]}}(),aa=function(a,b){return a.w?(a.cWidth=s.calcListLength(b||"100vw"),a.res=a.w/a.cWidth):a.res=a.d,a},ba=function(a){if(t){var c,d,e,f=a||{};if(f.elements&&1===f.elements.nodeType&&("IMG"===f.elements.nodeName.toUpperCase()?f.elements=[f.elements]:(f.context=f.elements,f.elements=null)),c=f.elements||s.qsa(f.context||b,f.reevaluate||f.reselect?s.sel:s.selShort),e=c.length){for(s.setupRun(f),S=!0,d=0;e>d;d++)s.fillImg(c[d],f);s.teardownRun(f)}}};o=a.console&&console.warn?function(a){console.warn(a)}:u,G in v||(G="src"),A["image/jpeg"]=!0,A["image/gif"]=!0,A["image/png"]=!0,A["image/svg+xml"]=b.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1"),s.ns=("pf"+(new Date).getTime()).substr(0,9),s.supSrcset="srcset"in v,s.supSizes="sizes"in v,s.supPicture=!!a.HTMLPictureElement,s.supSrcset&&s.supPicture&&!s.supSizes&&!function(a){v.srcset="data:,a",a.src="data:,a",s.supSrcset=v.complete===a.complete,s.supPicture=s.supSrcset&&s.supPicture}(b.createElement("img")),s.supSrcset&&!s.supSizes?!function(){var a="data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw==",c="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",d=b.createElement("img"),e=function(){var a=d.width;2===a&&(s.supSizes=!0),q=s.supSrcset&&!s.supSizes,t=!0,setTimeout(ba)};d.onload=e,d.onerror=e,d.setAttribute("sizes","9px"),d.srcset=c+" 1w,"+a+" 9w",d.src=c}():t=!0,s.selShort="picture>img,img[srcset]",s.sel=s.selShort,s.cfg=B,s.DPR=P||1,s.u=Q,s.types=A,s.setSize=u,s.makeUrl=$(function(a){return R.href=a,R.href}),s.qsa=function(a,b){return"querySelector"in a?a.querySelectorAll(b):[]},s.matchesMedia=function(){return a.matchMedia&&(matchMedia("(min-width: 0.1em)")||{}).matches?s.matchesMedia=function(a){return!a||matchMedia(a).matches}:s.matchesMedia=s.mMQ,s.matchesMedia.apply(this,arguments)},s.mMQ=function(a){return a?_(a):!0},s.calcLength=function(a){var b=_(a,!0)||!1;return 0>b&&(b=!1),b},s.supportsType=function(a){return a?A[a]:!0},s.parseSize=$(function(a){var b=(a||"").match(I);return{media:b&&b[1],length:b&&b[2]}}),s.parseSet=function(a){return a.cands||(a.cands=m(a.srcset,a)),a.cands},s.getEmValue=function(){var a;if(!p&&(a=b.body)){var c=b.createElement("div"),d=z.style.cssText,e=a.style.cssText;c.style.cssText=K,z.style.cssText=L,a.style.cssText=L,a.appendChild(c),p=c.offsetWidth,a.removeChild(c),p=parseFloat(p,10),z.style.cssText=d,a.style.cssText=e}return p||16},s.calcListLength=function(a){if(!(a in O)||B.uT){var b=s.calcLength(n(a));O[a]=b?b:Q.width}return O[a]},s.setRes=function(a){var b;if(a){b=s.parseSet(a);for(var c=0,d=b.length;d>c;c++)aa(b[c],a.sizes)}return b},s.setRes.res=aa,s.applySetCandidate=function(a,b){if(a.length){var c,d,e,f,h,k,l,m,n,o=b[s.ns],p=s.DPR;if(k=o.curSrc||b[G],l=o.curCan||j(b,k,a[0].set),l&&l.set===a[0].set&&(n=F&&!b.complete&&l.res-.1>p,n||(l.cached=!0,l.res>=p&&(h=l))),!h)for(a.sort(i),f=a.length,h=a[f-1],d=0;f>d;d++)if(c=a[d],c.res>=p){e=d-1,h=a[e]&&(n||k!==s.makeUrl(c.url))&&g(a[e].res,c.res,p,a[e].cached)?a[e]:c;break}h&&(m=s.makeUrl(h.url),o.curSrc=m,o.curCan=h,m!==k&&s.setSrc(b,h),s.setSize(b))}},s.setSrc=function(a,b){var c;a.src=b.url,"image/svg+xml"===b.set.type&&(c=a.style.width,a.style.width=a.offsetWidth+1+"px",a.offsetWidth+1&&(a.style.width=c))},s.getSet=function(a){var b,c,d,e=!1,f=a[s.ns].sets;for(b=0;b<f.length&&!e;b++)if(c=f[b],c.srcset&&s.matchesMedia(c.media)&&(d=s.supportsType(c.type))){"pending"===d&&(c=d),e=c;break}return e},s.parseSets=function(a,b,d){var e,f,g,h,i=b&&"PICTURE"===b.nodeName.toUpperCase(),j=a[s.ns];(j.src===c||d.src)&&(j.src=w.call(a,"src"),j.src?x.call(a,C,j.src):y.call(a,C)),(j.srcset===c||d.srcset||!s.supSrcset||a.srcset)&&(e=w.call(a,"srcset"),j.srcset=e,h=!0),j.sets=[],i&&(j.pic=!0,l(b,j.sets)),j.srcset?(f={srcset:j.srcset,sizes:w.call(a,"sizes")}
242,j.sets.push(f),g=(q||j.src)&&H.test(j.srcset||""),g||!j.src||k(j.src,f)||f.has1x||(f.srcset+=", "+j.src,f.cands.push({url:j.src,d:1,set:f}))):j.src&&j.sets.push({srcset:j.src,sizes:null}),j.curCan=null,j.curSrc=c,j.supported=!(i||f&&!s.supSrcset||g&&!s.supSizes),h&&s.supSrcset&&!j.supported&&(e?(x.call(a,D,e),a.srcset=""):y.call(a,D)),j.supported&&!j.srcset&&(!j.src&&a.src||a.src!==s.makeUrl(j.src))&&(null===j.src?a.removeAttribute("src"):a.src=j.src),j.parsed=!0},s.fillImg=function(a,b){var c,d=b.reselect||b.reevaluate;a[s.ns]||(a[s.ns]={}),c=a[s.ns],(d||c.evaled!==r)&&((!c.parsed||b.reevaluate)&&s.parseSets(a,a.parentNode,b),c.supported?c.evaled=r:h(a))},s.setupRun=function(){(!S||M||P!==a.devicePixelRatio)&&f()},s.supPicture?(ba=u,s.fillImg=u):!function(){var c,d=a.attachEvent?/d$|^c/:/d$|^c|^i/,e=function(){var a=b.readyState||"";f=setTimeout(e,"loading"===a?200:999),b.body&&(s.fillImgs(),c=c||d.test(a),c&&clearTimeout(f))},f=setTimeout(e,b.body?9:99),g=function(a,b){var c,d,e=function(){var f=new Date-d;b>f?c=setTimeout(e,b-f):(c=null,a())};return function(){d=new Date,c||(c=setTimeout(e,b))}},h=z.clientHeight,i=function(){M=Math.max(a.innerWidth||0,z.clientWidth)!==Q.width||z.clientHeight!==h,h=z.clientHeight,M&&s.fillImgs()};Z(a,"resize",g(i,99)),Z(b,"readystatechange",e)}(),s.picturefill=ba,s.fillImgs=ba,s.teardownRun=u,ba._=s,a.picturefillCFG={pf:s,push:function(a){var b=a.shift();"function"==typeof s[b]?s[b].apply(s,a):(B[b]=a[0],S&&s.fillImgs({reselect:!0}))}};for(;J&&J.length;)a.picturefillCFG.push(J.shift());a.picturefill=ba,"object"==typeof module&&"object"==typeof module.exports?module.exports=ba:"function"==typeof define&&define.amd&&define("picturefill",function(){return ba}),s.supPicture||(A["image/webp"]=e("image/webp","data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA=="))}(window,document);;
243/**
244 * lightgallery | 2.5.0-beta.2 | March 6th 2022
245 * http://www.lightgalleryjs.com/
246 * Copyright (c) 2020 Sachin Neravath;
247 * @license GPLv3
248 */
249
250!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).lightGallery=e()}(this,(function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,i=1,s=arguments.length;i<s;i++)for(var n in e=arguments[i])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)};var e="lgAfterAppendSlide",i="lgInit",s="lgHasVideo",n="lgContainerResize",o="lgUpdateSlides",r="lgAfterAppendSubHtml",l="lgBeforeOpen",a="lgAfterOpen",g="lgSlideItemLoad",d="lgBeforeSlide",h="lgAfterSlide",u="lgPosterClick",c="lgDragStart",m="lgDragMove",p="lgDragEnd",f="lgBeforeNextSlide",v="lgBeforePrevSlide",y="lgBeforeClose",b="lgAfterClose",I={mode:"lg-slide",easing:"ease",speed:400,licenseKey:"0000-0000-000-0000",height:"100%",width:"100%",addClass:"",startClass:"lg-start-zoom",backdropDuration:300,container:"",startAnimationDuration:400,zoomFromOrigin:!0,hideBarsDelay:0,showBarsAfter:1e4,slideDelay:0,supportLegacyBrowser:!0,allowMediaOverlap:!1,videoMaxSize:"1280-720",loadYouTubePoster:!0,defaultCaptionHeight:0,ariaLabelledby:"",ariaDescribedby:"",closable:!0,swipeToClose:!0,closeOnTap:!0,showCloseIcon:!0,showMaximizeIcon:!1,loop:!0,escKey:!0,keyPress:!0,controls:!0,slideEndAnimation:!0,hideControlOnEnd:!1,mousewheel:!1,getCaptionFromTitleOrAlt:!0,appendSubHtmlTo:".lg-sub-html",subHtmlSelectorRelative:!1,preload:2,numberOfSlideItemsInDom:10,selector:"",selectWithin:"",nextHtml:"",prevHtml:"",index:0,iframeWidth:"100%",iframeHeight:"100%",iframeMaxWidth:"100%",iframeMaxHeight:"100%",download:!0,counter:!0,appendCounterTo:".lg-toolbar",swipeThreshold:50,enableSwipe:!0,enableDrag:!0,dynamic:!1,dynamicEl:[],extraProps:[],exThumbImage:"",isMobile:void 0,mobileSettings:{controls:!1,showCloseIcon:!1,download:!1},plugins:[],strings:{closeGallery:"Close gallery",toggleMaximize:"Toggle maximize",previousSlide:"Previous slide",nextSlide:"Next slide",download:"Download",playVideo:"Play video"}};var C=function(){function t(t){return this.cssVenderPrefixes=["TransitionDuration","TransitionTimingFunction","Transform","Transition"],this.selector=this._getSelector(t),this.firstElement=this._getFirstEl(),this}return t.generateUUID=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var e=16*Math.random()|0;return("x"==t?e:3&e|8).toString(16)}))},t.prototype._getSelector=function(t,e){return void 0===e&&(e=document),"string"!=typeof t?t:(e=e||document,"#"===t.substring(0,1)?e.querySelector(t):e.querySelectorAll(t))},t.prototype._each=function(t){return this.selector?(void 0!==this.selector.length?[].forEach.call(this.selector,t):t(this.selector,0),this):this}
vendor: 7,762 bytes, line 250
250,t.prototype._setCssVendorPrefix=function(t,e,i){var s=e.replace(/-([a-z])/gi,(function(t,e){return e.toUpperCase()}));-1!==this.cssVenderPrefixes.indexOf(s)?(t.style[s.charAt(0).toLowerCase()+s.slice(1)]=i,t.style["webkit"+s]=i,t.style["moz"+s]=i,t.style["ms"+s]=i,t.style["o"+s]=i):t.style[s]=i},t.prototype._getFirstEl=function(){return this.selector&&void 0!==this.selector.length?this.selector[0]:this.selector},t.prototype.isEventMatched=function(t,e){var i=e.split(".");return t.split(".").filter((function(t){return t})).every((function(t){return-1!==i.indexOf(t)}))},t.prototype.attr=function(t,e){return void 0===e?this.firstElement?this.firstElement.getAttribute(t):"":(this._each((function(i){i.setAttribute(t,e)})),this)},t.prototype.find=function(t){return x(this._getSelector(t,this.selector))},t.prototype.first=function(){return this.selector&&void 0!==this.selector.length?x(this.selector[0]):x(this.selector)},t.prototype.eq=function(t){return x(this.selector[t])},t.prototype.parent=function(){return x(this.selector.parentElement)},t.prototype.get=function(){return this._getFirstEl()},t.prototype.removeAttr=function(t){var e=t.split(" ");return this._each((function(t){e.forEach((function(e){return t.removeAttribute(e)}))})),this},t.prototype.wrap=function(t){if(!this.firstElement)return this;var e=document.createElement("div");return e.className=t,this.firstElement.parentNode.insertBefore(e,this.firstElement),this.firstElement.parentNode.removeChild(this.firstElement),e.appendChild(this.firstElement),this},t.prototype.addClass=function(t){return void 0===t&&(t=""),this._each((function(e){t.split(" ").forEach((function(t){t&&e.classList.add(t)}))})),this},t.prototype.removeClass=function(t){return this._each((function(e){t.split(" ").forEach((function(t){t&&e.classList.remove(t)}))})),this},t.prototype.hasClass=function(t){return!!this.firstElement&&this.firstElement.classList.contains(t)},t.prototype.hasAttribute=function(t){return!!this.firstElement&&this.firstElement.hasAttribute(t)},t.prototype.toggleClass=function(t){return this.firstElement?(this.hasClass(t)?this.removeClass(t):this.addClass(t),this):this},t.prototype.css=function(t,e){var i=this;return this._each((function(s){i._setCssVendorPrefix(s,t,e)})),this},t.prototype.on=function(e,i){var s=this;return this.selector?(e.split(" ").forEach((function(e){Array.isArray(t.eventListeners[e])||(t.eventListeners[e]=[]),t.eventListeners[e].push(i),s.selector.addEventListener(e.split(".")[0],i)})),this):this},t.prototype.once=function(t,e){var i=this;return this.on(t,(function(){i.off(t),e(t)})),this},t.prototype.off=function(e){var i=this;return this.selector?(Object.keys(t.eventListeners).forEach((function(s){i.isEventMatched(e,s)&&(t.eventListeners[s].forEach((function(t){i.selector.removeEventListener(s.split(".")[0],t)})),t.eventListeners[s]=[])})),this):this},t.prototype.trigger=function(t,e){if(!this.firstElement)return this;var i=new CustomEvent(t.split(".")[0],{detail:e||null});return this.firstElement.dispatchEvent(i),this},t.prototype.load=function(t){var e=this;return fetch(t).then((function(t){return t.text()})).then((function(t){e.selector.innerHTML=t})),this},t.prototype.html=function(t){return void 0===t?this.firstElement?this.firstElement.innerHTML:"":(this._each((function(e){e.innerHTML=t})),this)},t.prototype.append=function(t){return this._each((function(e){"string"==typeof t?e.insertAdjacentHTML("beforeend",t):e.appendChild(t)})),this},t.prototype.prepend=function(t){return this._each((function(e){e.insertAdjacentHTML("afterbegin",t)})),this},t.prototype.remove=function(){return this._each((function(t){t.parentNode.removeChild(t)})),this},t.prototype.empty=function(){return this._each((function(t){t.innerHTML=""})),this},t.prototype.scrollTop=function(t){return void 0!==t?(document.body.scrollTop=t,document.documentElement.scrollTop=t,this):window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},t.prototype.scrollLeft=function(t){return void 0!==t?(document.body.scrollLeft=t,document.documentElement.scrollLeft=t,this):window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0},t.prototype.offset=function(){if(!this.firstElement)return{left:0,top:0};var t=this.firstElement.getBoundingClientRect(),e=x("body").style().marginLeft;return{left:t.left-parseFloat(e)+this.scrollLeft(),top:t.top+this.scrollTop()}},t.prototype.style=function(){return this.firstElement?this.firstElement.currentStyle||window.getComputedStyle(this.firstElement):{}},t.prototype.width=function(){var t=this.style();return this.firstElement.clientWidth-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight)},t.prototype.height=function(){var t=this.style();return this.firstElement.clientHeight-parseFloat(t.paddingTop)-parseFloat(t.paddingBottom)},t.eventListeners={},t}();function x(t){return function(){if("function"==typeof window.CustomEvent)return!1;window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var i=document.createEvent("CustomEvent");return i.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),i}}(),Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),new C(t)}var w=["src","sources","subHtml","subHtmlUrl","html","video","poster","slideName","responsive","srcset","sizes","iframe","downloadUrl","download","width","facebookShareUrl","tweetText","iframeTitle","twitterShareUrl","pinterestShareUrl","pinterestText","fbHtml","disqusIdentifier","disqusUrl"];function S(t){return"href"===t?"src":t=(t=(t=t.replace("data-","")).charAt(0).toLowerCase()+t.slice(1)).replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))}var T=function(t,e,i,s){void 0===i&&(i=0);var n=x(t).attr("data-lg-size")||s;if(n){var o=n.split(",");if(o[1])for(var r=window.innerWidth,l=0;l<o.length;l++){var a=o[l];if(parseInt(a.split("-")[2],10)>r){n=a;break}l===o.length-1&&(n=a)}var g=n.split("-"),d=parseInt(g[0],10),h=parseInt(g[1],10),u=e.width(),c=e.height()-i,m=Math.min(u,d),p=Math.min(c,h),f=Math.min(m/d,p/h);return{width:d*f,height:h*f}}},E=function(t,e,i,s,n){if(n){var o=x(t).find("img").first();if(o.get()){var r=e.get().getBoundingClientRect(),l=r.width,a=e.height()-(i+s),g=o.width(),d=o.height(),h=o.style(),u=(l-g)/2-o.offset().left+(parseFloat(h.paddingLeft)||0)+(parseFloat(h.borderLeft)||0)+x(window).scrollLeft()+r.left,c=(a-d)/2-o.offset().top+(parseFloat(h.paddingTop)||0)+(parseFloat(h.borderTop)||0)+x(window).scrollTop()+i;return"translate3d("+(u*=-1)+"px, "+(c*=-1)+"px, 0) scale3d("+g/n.width+", "+d/n.height+", 1)"}}},O=function(t,e,i,s,n,o){return'<div class="lg-video-cont lg-has-iframe" style="width:'+t+"; max-width:"+i+"; height: "+e+"; max-height:"+s+'">\n                    <iframe class="lg-object" frameborder="0" '+(o?'title="'+o+'"':"")+' src="'+n+'"  allowfullscreen="true"></iframe>\n                </div>'},L=function(t,e,i,s,n,o){var r="<img "+i+" "+(s?'srcset="'+s+'"':"")+"  "+(n?'sizes="'+n+'"':"")+' class="lg-object lg-image" data-index="'+t+'" src="'+e+'" />',l="";o&&(l=("string"==typeof o?JSON.parse(o):o).map((function(t){var e="";return Object.keys(t).forEach((function(i){e+=" "+i+'="'+t[i]+'"'})),"<source "+e+"></source>"})));return""+l+r},D=function(t){for(var e=[],i=[],s="",n=0;n<t.length;n++){var o=t[n].split(" ");""===o[0]&&o.splice(0,1),i.push(o[0]),e.push(o[1])}for(var r=window.innerWidth,l=0;l<e.length;l++)if(parseInt(e[l],10)>r){s=i[l];break}return s},z=function(t){return!!t&&(!!t.complete&&0!==t.naturalWidth)},M=function(t,e,i,s,n){return'<div class="lg-video-cont '+(n&&n.youtube?"lg-has-youtube":n&&n.vimeo?"lg-has-vimeo":"lg-has-html5")+'" style="'+i+'">\n                <div class="lg-video-play-button">
250\n                <svg\n                    viewBox="0 0 20 20"\n                    preserveAspectRatio="xMidYMid"\n                    focusable="false"\n                    aria-labelledby="'+s+'"\n                    role="img"\n                    class="lg-video-play-icon"\n                >\n                    <title>'+s+'</title>\n                    <polygon class="lg-video-play-icon-inner" points="1,0 20,10 1,20"></polygon>\n                </svg>\n                <svg class="lg-video-play-icon-bg" viewBox="0 0 50 50" focusable="false">\n                    <circle cx="50%" cy="50%" r="20"></circle></svg>\n                <svg class="lg-video-play-icon-circle" viewBox="0 0 50 50" focusable="false">\n                    <circle cx="50%" cy="50%" r="20"></circle>\n                </svg>\n            </div>\n            '+(e||"")+'\n            <img class="lg-object lg-video-poster" src="'+t+'" />\n        </div>'},G=function(t,e,i,s){var n=[],o=function(){for(var t=0,e=0,i=arguments.length;e<i;e++)t+=arguments[e].length;var s=Array(t),n=0;for(e=0;e<i;e++)for(var o=arguments[e],r=0,l=o.length;r<l;r++,n++)s[n]=o[r];return s}(w,e);return[].forEach.call(t,(function(t){for(var e={},r=0;r<t.attributes.length;r++){var l=t.attributes[r];if(l.specified){var a=S(l.name),g="";o.indexOf(a)>-1&&(g=a),g&&(e[g]=l.value)}}var d=x(t),h=d.find("img").first().attr("alt"),u=d.attr("title"),c=s?d.attr(s):d.find("img").first().attr("src");e.thumb=c,i&&!e.subHtml&&(e.subHtml=u||h||""),e.alt=h||u||"",n.push(e)})),n},k=function(){return/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)},A=function(t,e,i){if(!t)return e?{html5:!0}:void console.error("lightGallery :- data-src is not provided on slide item "+(i+1)+". Please make sure the selector property is properly configured. More info - https://www.lightgalleryjs.com/demos/html-markup/");var s=t.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)([\&|?][\S]*)*/i),n=t.match(/\/\/(?:www\.)?(?:player\.)?vimeo.com\/(?:video\/)?([0-9a-z\-_]+)(.*)?/i),o=t.match(/https?:\/\/(.+)?(wistia\.com|wi\.st)\/(medias|embed)\/([0-9a-z\-_]+)(.*)/);return s?{youtube:s}:n?{vimeo:n}:o?{wistia:o}:void 0},B=0,P=function(){function w(t,e){if(this.lgOpened=!1,this.index=0,this.plugins=[],this.lGalleryOn=!1,this.lgBusy=!1,this.currentItemsInDom=[],this.prevScrollTop=0,this.isDummyImageRemoved=!1,this.dragOrSwipeEnabled=!1,this.mediaContainerPosition={top:0,bottom:0},!t)return this;if(B++,this.lgId=B,this.el=t,this.LGel=x(t),this.generateSettings(e),this.buildModules(),this.settings.dynamic&&void 0!==this.settings.dynamicEl&&!Array.isArray(this.settings.dynamicEl))throw"When using dynamic mode, you must also define dynamicEl as an Array.";return this.galleryItems=this.getItems(),this.normalizeSettings(),this.init(),this.validateLicense(),this}return w.prototype.generateSettings=function(e){if(this.settings=t(t({},I),e),this.settings.isMobile&&"function"==typeof this.settings.isMobile?this.settings.isMobile():k()){var i=t(t({},this.settings.mobileSettings),this.settings.mobileSettings);this.settings=t(t({},this.settings),i)}},w.prototype.normalizeSettings=function(){this.settings.slideEndAnimation&&(this.settings.hideControlOnEnd=!1),this.settings.closable||(this.settings.swipeToClose=!1),this.zoomFromOrigin=this.settings.zoomFromOrigin,this.settings.dynamic&&(this.zoomFromOrigin=!1),this.settings.container||(this.settings.container=document.body),this.settings.preload=Math.min(this.settings.preload,this.galleryItems.length)},w.prototype.init=function(){var t=this;this.addSlideVideoInfo(this.galleryItems),this.buildStructure(),this.LGel.trigger(i,{instance:this}),this.settings.keyPress&&this.keyPress(),setTimeout((function(){t.enableDrag(),t.enableSwipe(),t.triggerPosterClick()}),50),this.arrow(),this.settings.mousewheel&&this.mousewheel(),this.settings.dynamic||this.openGalleryOnItemClick()},w.prototype.openGalleryOnItemClick=function(){for(var t=this,e=function(e){var s=i.items[e],n=x(s),o=C.generateUUID();n.attr("data-lg-id",o).on("click.lgcustom-item-"+o,(function(i){i.preventDefault();var n=t.settings.index||e;t.openGallery(n,s)}))},i=this,s=0;s<this.items.length;s++)e(s)},w.prototype.buildModules=function(){var t=this;this.settings.plugins.forEach((function(e){t.plugins.push(new e(t,x))}))},w.prototype.validateLicense=function(){this.settings.licenseKey?"0000-0000-000-0000"===this.settings.licenseKey&&console.warn("lightGallery: "+this.settings.licenseKey+" license key is not val
250id for production use"):console.error("Please provide a valid license key")},w.prototype.getSlideItem=function(t){return x(this.getSlideItemId(t))},w.prototype.getSlideItemId=function(t){return"#lg-item-"+this.lgId+"-"+t},w.prototype.getIdName=function(t){return t+"-"+this.lgId},w.prototype.getElementById=function(t){return x("#"+this.getIdName(t))},w.prototype.manageSingleSlideClassName=function(){this.galleryItems.length<2?this.outer.addClass("lg-single-item"):this.outer.removeClass("lg-single-item")},w.prototype.buildStructure=function(){var t=this;if(!(this.$container&&this.$container.get())){var e="",i="";this.settings.controls&&(e='<button type="button" id="'+this.getIdName("lg-prev")+'" aria-label="'+this.settings.strings.previousSlide+'" class="lg-prev lg-icon"> '+this.settings.prevHtml+' </button>\n                <button type="button" id="'+this.getIdName("lg-next")+'" aria-label="'+this.settings.strings.nextSlide+'" class="lg-next lg-icon"> '+this.settings.nextHtml+" </button>"),".lg-item"!==this.settings.appendSubHtmlTo&&(i='<div class="lg-sub-html" role="status" aria-live="polite"></div>');var s="";this.settings.allowMediaOverlap&&(s+="lg-media-overlap ");var n=this.settings.ariaLabelledby?'aria-labelledby="'+this.settings.ariaLabelledby+'"':"",o=this.settings.ariaDescribedby?'aria-describedby="'+this.settings.ariaDescribedby+'"':"",r="lg-container "+this.settings.addClass+" "+(document.body!==this.settings.container?"lg-inline":""),l=this.settings.closable&&this.settings.showCloseIcon?'<button type="button" aria-label="'+this.settings.strings.closeGallery+'" id="'+this.getIdName("lg-close")+'" class="lg-close lg-icon"></button>':"",a=this.settings.showMaximizeIcon?'<button type="button" aria-label="'+this.settings.strings.toggleMaximize+'" id="'+this.getIdName("lg-maximize")+'" class="lg-maximize lg-icon"></button>':"",g='\n        <div class="'+r+'" id="'+this.getIdName("lg-container")+'" tabindex="-1" aria-modal="true" '+n+" "+o+' role="dialog"\n        >\n            <div id="'+this.getIdName("lg-backdrop")+'" class="lg-backdrop"></div>\n\n            <div id="'+this.getIdName("lg-outer")+'" class="lg-outer lg-use-css3 lg-css3 lg-hide-items '+s+' ">\n\n              <div id="'+this.getIdName("lg-content")+'" class="lg-content">\n                <div id="'+this.getIdName("lg-inner")+'" class="lg-inner">\n                </div>\n                '+e+'\n              </div>\n                <div id="'+this.getIdName("lg-toolbar")+'" class="lg-toolbar lg-group">\n                    '+a+"\n                    "+l+"\n                    </div>\n                    "+(".lg-outer"===this.settings.appendSubHtmlTo?i:"")+'\n                <div id="'+this.getIdName("lg-components")+'" class="lg-components">\n                    '+(".lg-sub-html"===this.settings.appendSubHtmlTo?i:"")+"\n                </div>\n            </div>\n        </div>\n        ";x(this.settings.container).append(g),document.body!==this.settings.container&&x(this.settings.container).css("position","relative"),this.outer=this.getElementById("lg-outer"),this.$lgComponents=this.getElementById("lg-components"),this.$backdrop=this.getElementById("lg-backdrop"),this.$container=this.getElementById("lg-container"),this.$inner=this.getElementById("lg-inner"),this.$content=this.getElementById("lg-content"),this.$toolbar=this.getElementById("lg-toolbar"),this.$backdrop.css("transition-duration",this.settings.backdropDuration+"ms");var d=this.settings.mode+" ";this.manageSingleSlideClassName(),this.settings.enableDrag&&(d+="lg-grab "),this.outer.addClass(d),this.$inner.css("transition-timing-function",this.settings.easing),this.$inner.css("transition-duration",this.settings.speed+"ms"),this.settings.download&&this.$toolbar.append('<a id="'+this.getIdName("lg-download")+'" target="_blank" rel="noopener" aria-label="'+this.settings.strings.download+'" download class="lg-download lg-icon"></a>'),this.counter(),x(window).on("resize.lg.global"+this.lgId+" orientationchange.lg.global"+this.lgId,(function(){t.refreshOnResize()})),this.hideBars(),this.manageCloseGallery(),this.toggleMaximize(),this.initModules()}},w.prototype.refreshOnResize=function(){if(this.lgOpened){var t=this.galleryItems[this.index].__slideVideoInfo;this.mediaContainerPosition=this.getMediaContainerPosition();var e=this.mediaContainerPosition,i=e.top,s=e.bottom;if(this.currentImageSize=T(this.items[this.index],this.outer,i+s,t&&this.settings.videoMaxSize),t&&this.resizeVideoSlide(this.index,this.currentImageSize),this.zoomFromOrigin&&!this.isDummyImageRemoved){var o=this.getDummyImgStyles(this.currentImageSize);this.outer.find(".lg-current .lg-dummy-img").first().attr("style",o)}this.LGel.trigger(n)}},w.prototype.resizeVideoSlide=function(t,e){var i=this.getVideoContStyle(e);
vendor: 4,359 bytes, line 250
250this.getSlideItem(t).find(".lg-video-cont").attr("style",i)},w.prototype.updateSlides=function(t,e){if(this.index>t.length-1&&(this.index=t.length-1),1===t.length&&(this.index=0),t.length){var i=this.galleryItems[e].src;this.galleryItems=t,this.updateControls(),this.$inner.empty(),this.currentItemsInDom=[];var s=0;this.galleryItems.some((function(t,e){return t.src===i&&(s=e,!0)})),this.currentItemsInDom=this.organizeSlideItems(s,-1),this.loadContent(s,!0),this.getSlideItem(s).addClass("lg-current"),this.index=s,this.updateCurrentCounter(s),this.LGel.trigger(o)}else this.closeGallery()},w.prototype.getItems=function(){if(this.items=[],this.settings.dynamic)return this.settings.dynamicEl||[];if("this"===this.settings.selector)this.items.push(this.el);else if(this.settings.selector)if("string"==typeof this.settings.selector)if(this.settings.selectWithin){var t=x(this.settings.selectWithin);this.items=t.find(this.settings.selector).get()}else this.items=this.el.querySelectorAll(this.settings.selector);else this.items=this.settings.selector;else this.items=this.el.children;return G(this.items,this.settings.extraProps,this.settings.getCaptionFromTitleOrAlt,this.settings.exThumbImage)},w.prototype.openGallery=function(t,e){var i=this;if(void 0===t&&(t=this.settings.index),!this.lgOpened){this.lgOpened=!0,this.outer.get().focus(),this.outer.removeClass("lg-hide-items"),this.$container.addClass("lg-show");var s=this.getItemsToBeInsertedToDom(t,t);this.currentItemsInDom=s;var n="";s.forEach((function(t){n=n+'<div id="'+t+'" class="lg-item"></div>'})),this.$inner.append(n),this.addHtml(t);var o="";this.mediaContainerPosition=this.getMediaContainerPosition();var r=this.mediaContainerPosition,g=r.top,d=r.bottom;this.settings.allowMediaOverlap||this.setMediaContainerPosition(g,d);var h=this.galleryItems[t].__slideVideoInfo;this.zoomFromOrigin&&e&&(this.currentImageSize=T(e,this.outer,g+d,h&&this.settings.videoMaxSize),o=E(e,this.outer,g,d,this.currentImageSize)),this.zoomFromOrigin&&o||(this.outer.addClass(this.settings.startClass),this.getSlideItem(t).removeClass("lg-complete"));var u=this.settings.zoomFromOrigin?100:this.settings.backdropDuration;setTimeout((function(){i.outer.addClass("lg-components-open")}),u),this.index=t,this.LGel.trigger(l),this.getSlideItem(t).addClass("lg-current"),this.lGalleryOn=!1,this.prevScrollTop=x(window).scrollTop(),setTimeout((function(){if(i.zoomFromOrigin&&o){var e=i.getSlideItem(t);e.css("transform",o),setTimeout((function(){e.addClass("lg-start-progress lg-start-end-progress").css("transition-duration",i.settings.startAnimationDuration+"ms"),i.outer.addClass("lg-zoom-from-image")})),setTimeout((function(){e.css("transform","translate3d(0, 0, 0)")}),100)}setTimeout((function(){i.$backdrop.addClass("in"),i.$container.addClass("lg-show-in")}),10),i.zoomFromOrigin&&o||setTimeout((function(){i.outer.addClass("lg-visible")}),i.settings.backdropDuration),i.slide(t,!1,!1,!1),i.LGel.trigger(a)})),document.body===this.settings.container&&x("html").addClass("lg-on")}},w.prototype.getMediaContainerPosition=function(){if(this.settings.allowMediaOverlap)return{top:0,bottom:0};var t=this.$toolbar.get().clientHeight||0,e=this.outer.find(".lg-components .lg-sub-html").get(),i=this.settings.defaultCaptionHeight||e&&e.clientHeight||0,s=this.outer.find(".lg-thumb-outer").get();return{top:t,bottom:(s?s.clientHeight:0)+i}},w.prototype.setMediaContainerPosition=function(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.$content.css("top",t+"px").css("bottom",e+"px")},w.prototype.hideBars=function(){var t=this;setTimeout((function(){t.outer.removeClass("lg-hide-items"),t.settings.hideBarsDelay>0&&(t.outer.on("mousemove.lg click.lg touchstart.lg",(function(){t.outer.removeClass("lg-hide-items"),clearTimeout(t.hideBarTimeout),t.hideBarTimeout=setTimeout((function(){t.outer.addClass("lg-hide-items")}),t.settings.hideBarsDelay)})),t.outer.trigger("mousemove.lg"))}),this.settings.showBarsAfter)},w.prototype.initPictureFill=function(t){if(this.settings.supportLegacyBrowser)try{picturefill({elements:[t.get()]})}catch(t){console.warn("lightGallery :- If you want srcset or picture tag to be supported for older browser please include picturefil javascript library in your document.")}},w.prototype.counter=function(){if(this.settings.counter){var t='<div class="lg-counter" role="status" aria-l
250ive="polite">\n                <span id="'+this.getIdName("lg-counter-current")+'" class="lg-counter-current">'+(this.index+1)+' </span> /\n                <span id="'+this.getIdName("lg-counter-all")+'" class="lg-counter-all">'+this.galleryItems.length+" </span></div>";this.outer.find(this.settings.appendCounterTo).append(t)}},w.prototype.addHtml=function(t){var e,i;if(this.galleryItems[t].subHtmlUrl?i=this.galleryItems[t].subHtmlUrl:e=this.galleryItems[t].subHtml,!i)if(e){var s=e.substring(0,1);"."!==s&&"#"!==s||(e=this.settings.subHtmlSelectorRelative&&!this.settings.dynamic?x(this.items).eq(t).find(e).first().html():x(e).first().html())}else e="";if(".lg-item"!==this.settings.appendSubHtmlTo)i?this.outer.find(".lg-sub-html").load(i):this.outer.find(".lg-sub-html").html(e);else{var n=x(this.getSlideItemId(t));i?n.load(i):n.append('<div class="lg-sub-html">'+e+"</div>")}null!=e&&(""===e?this.outer.find(this.settings.appendSubHtmlTo).addClass("lg-empty-html"):this.outer.find(this.settings.appendSubHtmlTo).removeClass("lg-empty-html")),this.LGel.trigger(r,{index:t})},w.prototype.preload=function(t){for(var e=1;e<=this.settings.preload&&!(e>=this.galleryItems.length-t);e++)this.loadContent(t+e,!1);for(var i=1;i<=this.settings.preload&&!(t-i<0);i++)this.loadContent(t-i,!1)},w.prototype.getDummyImgStyles=function(t){return t?"width:"+t.width+"px;\n                margin-left: -"+t.width/2+"px;\n                margin-top: -"+t.height/2+"px;\n                height:"+t.height+"px":""},w.prototype.getVideoContStyle=function(t){return t?"width:"+t.width+"px;\n                height:"+t.height+"px":""},w.prototype.getDummyImageContent=function(t,e,i){var s;if(this.settings.dynamic||(s=x(this.items).eq(e)),s){var n=void 0;if(!(n=this.settings.exThumbImage?s.attr(this.settings.exThumbImage):s.find("img").first().attr("src")))return"";var o="<img "+i+' style="'+this.getDummyImgStyles(this.currentImageSize)+'" class="lg-dummy-img" src="'+n+'" />';return t.addClass("lg-first-slide"),this.outer.addClass("lg-first-slide-loading"),o}return""},w.prototype.setImgMarkup=function(t,e,i){var s=this.galleryItems[i],n=s.alt,o=s.srcset,r=s.sizes,l=s.sources,a=n?'alt="'+n+'"':"",g='<picture class="lg-img-wrap"> '+(this.isFirstSlideWithZoomAnimation()?this.getDummyImageContent(e,i,a):L(i,t,a,o,r,l))+"</picture>";e.prepend(g)},w.prototype.onSlideObjectLoad=function(t,e,i,s){var n=t.find(".lg-object").first();z(n.get())||e?i():(n.on("load.lg error.lg",(function(){i&&i()})),n.on("error.lg",(function(){s&&s()})))},w.prototype.onLgObjectLoad=function(t,e,i,s,n,o){var r=this;this.onSlideObjectLoad(t,o,(function(){r.triggerSlideItemLoad(t,e,i,s,n)}),(function(){t.addClass("lg-complete lg-complete_"),t.html('<span class="lg-error-msg">Oops... Failed to load content...</span>')}))},w.prototype.triggerSlideItemLoad=function(t,e,i,s,n){var o=this,r=this.galleryItems[e],l=n&&"video"===this.getSlideType(r)&&!r.poster?s:0;setTimeout((function(){t.addClass("lg-complete lg-complete_"),o.LGel.trigger(g,{index:e,delay:i||0,isFirstSlide:n})}),l)},w.prototype.isFirstSlideWithZoomAnimation=function(){return!(this.lGalleryOn||!this.zoomFromOrigin||!this.currentImageSize)},w.prototype.addSlideVideoInfo=function(t){var e=this;t.forEach((function(t,i){t.__slideVideoInfo=A(t.src,!!t.video,i),t.__slideVideoInfo&&e.settings.loadYouTubePoster&&!t.poster&&t.__slideVideoInfo.youtube&&(t.poster="//img.youtube.com/vi/"+t.__slideVideoInfo.youtube[1]+"/maxresdefault.jpg")}))},w.prototype.loadContent=function(t,i){var n=this,o=this.galleryItems[t],r=x(this.getSlideItemId(t)),l=o.poster,a=o.srcset,g=o.sizes,d=o.sources,h=o.src,u=o.video,c=u&&"string"==typeof u?JSON.parse(u):u;if(o.responsive){var m=o.responsive.split(",");h=D(m)||h}var p=o.__slideVideoInfo,f="",v=!!o.iframe,y=!this.lGalleryOn,b=0;if(y&&(b=this.zoomFromOrigin&&this.currentImageSize?this.settings.startAnimationDuration+10:this.settings.backdropDuration+10),!r.hasClass("lg-loaded")){if(p){var I=this.mediaContainerPosition,C=I.top,w=I.bottom,S=T(this.items[t],this.outer,C+w,p&&this.settings.videoMaxSize);f=this.getVideoContStyle(S)}if(v){var E=O(this.settings.iframeWidth,this.settings.iframeHeight,this.settings.iframeMaxWidth,this.settings.iframeMaxHeight,h,o.iframeTitle);r.prepend(E)}else if(l){var z="";y&&this.zoomFromOrigin&&this.currentImageSize&&(z=this.getDummyImageContent(r,t,""));E=M(l,z||"",f,this.settings.strings.playVideo,p);r.prepend(E)}else if(p){E='<div class="lg-video-cont " style="'+f+'"></div>';r.prepend(E)}else if(this.setImgMarkup(h,r,t),a||d){var G=r.find(".lg-object");this.initPictureFill(G)}(l||p)&&this.LGel.trigger(s,{index:t,src:h,html5Video:c,hasPoster:!!l}),this.LGel.trigger(e,{index:t}),this.lGalleryOn&&".lg-item"===this.settings.appendSubHtmlTo&&this.addHtml(t)}var k=0;b&&!x(document.body).hasClass("lg-from-hash")&&(k=b),this.isFirstSlideWithZoomAnimation()&&(setTimeout((function(){r.removeClass("lg-start-end-progress lg-start-progress").removeAttr("style")}),this.settings.startAnimationDuration+100),r.hasClass("lg-loaded")||setTimeout((function(){if("image"===n.get
vendor: 16,525 bytes, lines 250-259
250SlideType(o)&&(r.find(".lg-img-wrap").append(L(t,h,"",a,g,o.sources)),a||d)){var e=r.find(".lg-object");n.initPictureFill(e)}("image"===n.getSlideType(o)||"video"===n.getSlideType(o)&&l)&&(n.onLgObjectLoad(r,t,b,k,!0,!1),n.onSlideObjectLoad(r,!(!p||!p.html5||l),(function(){n.loadContentOnFirstSlideLoad(t,r,k)}),(function(){n.loadContentOnFirstSlideLoad(t,r,k)})))}),this.settings.startAnimationDuration+100)),r.addClass("lg-loaded"),this.isFirstSlideWithZoomAnimation()&&("video"!==this.getSlideType(o)||l)||this.onLgObjectLoad(r,t,b,k,y,!(!p||!p.html5||l)),this.zoomFromOrigin&&this.currentImageSize||!r.hasClass("lg-complete_")||this.lGalleryOn||setTimeout((function(){r.addClass("lg-complete")}),this.settings.backdropDuration),this.lGalleryOn=!0,!0===i&&(r.hasClass("lg-complete_")?this.preload(t):r.find(".lg-object").first().on("load.lg error.lg",(function(){n.preload(t)})))},w.prototype.loadContentOnFirstSlideLoad=function(t,e,i){var s=this;setTimeout((function(){e.find(".lg-dummy-img").remove(),e.removeClass("lg-first-slide"),s.outer.removeClass("lg-first-slide-loading"),s.isDummyImageRemoved=!0,s.preload(t)}),i+300)},w.prototype.getItemsToBeInsertedToDom=function(t,e,i){var s=this;void 0===i&&(i=0);var n=[],o=Math.max(i,3);o=Math.min(o,this.galleryItems.length);var r="lg-item-"+this.lgId+"-"+e;if(this.galleryItems.length<=3)return this.galleryItems.forEach((function(t,e){n.push("lg-item-"+s.lgId+"-"+e)})),n;if(t<(this.galleryItems.length-1)/2){for(var l=t;l>t-o/2&&l>=0;l--)n.push("lg-item-"+this.lgId+"-"+l);var a=n.length;for(l=0;l<o-a;l++)n.push("lg-item-"+this.lgId+"-"+(t+l+1))}else{for(l=t;l<=this.galleryItems.length-1&&l<t+o/2;l++)n.push("lg-item-"+this.lgId+"-"+l);for(a=n.length,l=0;l<o-a;l++)n.push("lg-item-"+this.lgId+"-"+(t-l-1))}return this.settings.loop&&(t===this.galleryItems.length-1?n.push("lg-item-"+this.lgId+"-0"):0===t&&n.push("lg-item-"+this.lgId+"-"+(this.galleryItems.length-1))),-1===n.indexOf(r)&&n.push("lg-item-"+this.lgId+"-"+e),n},w.prototype.organizeSlideItems=function(t,e){var i=this,s=this.getItemsToBeInsertedToDom(t,e,this.settings.numberOfSlideItemsInDom);return s.forEach((function(t){-1===i.currentItemsInDom.indexOf(t)&&i.$inner.append('<div id="'+t+'" class="lg-item"></div>')})),this.currentItemsInDom.forEach((function(t){-1===s.indexOf(t)&&x("#"+t).remove()})),s},w.prototype.getPreviousSlideIndex=function(){var t=0;try{var e=this.outer.find(".lg-current").first().attr("id");t=parseInt(e.split("-")[3])||0}catch(e){t=0}return t},w.prototype.setDownloadValue=function(t){if(this.settings.download){var e=this.galleryItems[t];if(!1===e.downloadUrl||"false"===e.downloadUrl)this.outer.addClass("lg-hide-download");else{var i=this.getElementById("lg-download");this.outer.removeClass("lg-hide-download"),i.attr("href",e.downloadUrl||e.src),e.download&&i.attr("download",e.download)}}},w.prototype.makeSlideAnimation=function(t,e,i){var s=this;this.lGalleryOn&&i.addClass("lg-slide-progress"),setTimeout((function(){s.outer.addClass("lg-no-trans"),s.outer.find(".lg-item").removeClass("lg-prev-slide lg-next-slide"),"prev"===t?(e.addClass("lg-prev-slide"),i.addClass("lg-next-slide")):(e.addClass("lg-next-slide"),i.addClass("lg-prev-slide")),setTimeout((function(){s.outer.find(".lg-item").removeClass("lg-current"),e.addClass("lg-current"),s.outer.removeClass("lg-no-trans")}),50)}),this.lGalleryOn?this.settings.slideDelay:0)},w.prototype.slide=function(t,e,i,s){var n=this,o=this.getPreviousSlideIndex();if(this.currentItemsInDom=this.organizeSlideItems(t,o),!this.lGalleryOn||o!==t){var r=this.galleryItems.length;if(!this.lgBusy){this.settings.counter&&this.updateCurrentCounter(t);var l=this.getSlideItem(t),a=this.getSlideItem(o),g=this.galleryItems[t],u=g.__slideVideoInfo;if(this.outer.attr("data-lg-slide-type",this.getSlideType(g)),this.setDownloadValue(t),u){var c=this.mediaContainerPosition,m=c.top,p=c.bottom,f=T(this.items[t],this.outer,m+p,u&&this.settings.videoMaxSize);this.resizeVideoSlide(t,f)}if(this.LGel.trigger(d,{prevIndex:o,index:t,fromTouch:!!e,fromThumb:!!i}),this.lgBusy=!0,clearTimeout(this.hideBarTimeout),this.arrowDisable(t),s||(t<o?s="prev":t>o&&(s="next")),e){this.outer.find(".lg-item").removeClass("lg-prev-slide lg-current lg-next-slide");var v=void 0,y=void 0;r>2?(v=t-1,y=t+1,(0===t&&o===r-1||t===r-1&&0===o)&&(y=0,v=r-1)):(v=0,y=1),"prev"===s?this.getSlideItem(y).addClass("lg-next-slide"):this.getSlideItem(v).addClass("lg-prev-slide"),l.addClass("lg-current")}else this.makeSlideAnimation(s,l,a);this.lGalleryOn?setTimeout((function(){n.loadContent(t,!0),".lg-item"!==n.settings.appendSubHtmlTo&&n.addHtml(t)}),this.settings.speed+50+(e?0:this.settings.slideDelay)):this.loadContent(t,!0),setTimeout((function(){n.lgBusy=!1,a.removeClass("lg-slide-progress"),n.LGel.trigger(h,{prevIndex:o,index:t,fromTouch:e,fromThumb:i})}),(this.lGalleryOn?this.settings.speed+100:100)+(e?0:this.settings.slideDelay))}this.index=t}},w.prototype.updateCurrentCounter=function(t){this.getElementById("lg-counter-current").html(t+1+"")},w.prototype.updateCounterTotal=function(){this.getElementById("lg-counter-all").html(this.galleryItems.length+"")},w.prototype.getSlideType=function(t){return t.__slideVideoInfo?"video":t.iframe?"iframe":"image"},w.prototype.touchMove=function(t,e,i){var s=e.pageX-t.pageX,n=e.pageY-t.pageY,o=!1;if(this.swipeDirection?o=!0:Math.abs(s)>15?(this.swipeDirection="horizontal",o=!0):Math.abs(n)>15&&(this.swipeDirection="vertical",o=!0),o){var r=this.getSlideItem(this.index);if("horizontal"===this.swipeDirection){null==i||i.preventDefault(),this.outer.addClass("lg-dragging"),this.setTranslate(r,s,0);var l=r.get().offsetWidth,a=15*l/100-Math.abs(10*s/100);this.setTranslate(this.outer.find(".lg-prev-slide").first(),-l+s-a,0),this.setTranslate(this.outer.find(".lg-next-slide").first(),l+s+a,0)}else if("vertical"===this.swipeDirection&&this.settings.swipeToClose){null==i||i.preventDefault(),this.$container.addClass("lg-dragging-vertical");var g=1-Math.abs(n)/window.innerHeight;this.$backdrop.css("opacity",g);var d=1-Math.abs(n)/(2*window.innerWidth);this.setTranslate(r,0,n,d,d),Math.abs(n)>100&&this.outer.addClass("lg-hide-items").removeClass("lg-components-open")}}},w.prototype.touchEnd=function(t,e,i){var s,n=this;"lg-slide"!==this.settings.mode&&this.outer.addClass("lg-slide"),setTimeout((function(){n.$container.removeClass("lg-dragging-vertical"),n.outer.removeClass("lg-dragging lg-hide-items").addClass("lg-components-open");var o=!0;if("horizontal"===n.swipeDirection){s=t.pageX-e.pageX;var r=Math.abs(t.pageX-e.pageX);s<0&&r>n.settings.swipeThreshold?(n.goToNextSlide(!0),o=!1):s>0&&r>n.settings.swipeThreshold&&(n.goToPrevSlide(!0),o=!1)}else if("vertical"===n.swipeDirection){if(s=Math.abs(t.pageY-e.pageY),n.settings.closable&&n.settings.swipeToClose&&s>100)return void n.closeGallery();n.$backdrop.css("opacity",1)}if(n.outer.find(".lg-item").removeAttr("style"),o&&Math.abs(t.pageX-e.pageX)<5){var l=x(i.target);n.isPosterElement(l)&&n.LGel.trigger(u)}n.swipeDirection=void 0})),setTimeout((function(){n.outer.hasClass("lg-dragging")||"lg-slide"===n.settings.mode||n.outer.removeClass("lg-slide")}),this.settings.speed+100)},w.prototype.enableSwipe=function(){var t=this,e={},i={},s=!1,n=!1;this.settings.enableSwipe&&(this.$inner.on("touchstart.lg",(function(i){t.dragOrSwipeEnabled=!0;var s=t.getSlideItem(t.index);!x(i.target).hasClass("lg-item")&&!s.get().contains(i.target)||t.outer.hasClass("lg-zoomed")||t.lgBusy||1!==i.targetTouches.length||(n=!0,t.touchAction="swipe",t.manageSwipeClass(),e={pageX:i.targetTouches[0].pageX,pageY:i.targetTouches[0].pageY})})),this.$inner.on("touchmove.lg",(function(o){n&&"swipe"===t.touchAction&&1===o.targetTouches.length&&(i={pageX:o.targetTouches[0].pageX,pageY:o.targetTouches[0].pageY},t.touchMove(e,i,o),s=!0)})),this.$inner.on("touchend.lg",(function(o){if("swipe"===t.touchAction){if(s)s=!1,t.touchEnd(i,e,o);else if(n){var r=x(o.target);t.isPosterElement(r)&&t.LGel.trigger(u)}t.touchAction=void 0,n=!1}})))},w.prototype.enableDrag=function(){var t=this,e={},i={},s=!1,n=!1;this.settings.enableDrag&&(this.outer.on("mousedown.lg",(function(i){t.dragOrSwipeEnabled=!0;var n=t.getSlideItem(t.index);(x(i.target).hasClass("lg-item")||n.get().contains(i.target))&&(t.outer.hasClass("lg-zoomed")||t.lgBusy||(i.preventDefault(),t.lgBusy||(t.manageSwipeClass(),e={pageX:i.pageX,pageY:i.pageY},s=!0,t.outer.get().scrollLeft+=1,t.outer.get().scrollLeft-=1,t.outer.removeClass("lg-grab").addClass("lg-grabbing"),t.LGel.trigger(c))))})),x(window).on("mousemove.lg.global"+this.lgId,(function(o){s&&t.lgOpened&&(n=!0,i={pageX:o.pageX,pageY:o.pageY},t.touchMove(e,i),t.LGel.trigger(m))})),x(window).on("mouseup.lg.global"+this.lgId,(function(o){if(t.lgOpened){var r=x(o.target);n?(n=!1,t.touchEnd(i,e,o),t.LGel.trigger(p)):t.isPosterElement(r)&&t.LGel.trigger(u),s&&(s=!1,t.outer.removeClass("lg-grabbing").addClass("lg-grab"))}})))},w.prototype.triggerPosterClick=function(){var t=this;this.$inner.on("click.lg",(function(e){!t.dragOrSwipeEnabled&&t.isPosterElement(x(e.target))&&t.LGel.trigger(u)}))},w.prototype.manageSwipeClass=function(){var t=this.index+1,e=this.index-1;this.settings.loop&&this.galleryItems.length>2&&(0===this.index?e=this.galleryItems.length-1:this.index===this.galleryItems.length-1&&(t=0)),this.outer.find(".lg-item").removeClass("lg-next-slide lg-prev-slide"),e>-1&&this.getSlideItem(e).addClass("lg-prev-slide"),this.getSlideItem(t).addClass("lg-next-slide")},w.prototype.goToNextSlide=function(t){var e=this,i=this.settings.loop;t&&this.galleryItems.length<3&&(i=!1),this.lgBusy||(this.index+1<this.galleryItems.length?(this.index++,this.LGel.trigger(f,{index:this.index}),this.slide(this.index,!!t,!1,"next")):i?(this.index=0,this.LGel.trigger(f,{index:this.index}),this.slide(this.index,!!t,!1,"next")):this.settings.slideEndAnimation&&!t&&(this.outer.addClass("lg-right-end"),setTimeout((function(){e.outer.removeClass("lg-right-end")}),400)))},w.prototype.goToPrevSlide=function(t){var e=this,i=this.settings.loop;t&&this.galleryItems.length<3&&(i=!1),this.lgBusy||(this.index>0?(this.index--,this.LGel.trigger(v,{index:this.index,fromTouch:t}),this.slide(this.index,!!t,!1,"prev")):i?(this.index=this.galleryItems.length-1,this.LGel.trigger(v,{index:this.index,fromTouch:t}),this.slide(this.index,!!t,!1,"prev")):this.settings.slideEndAnimation&&!t&&(this.outer.addClass("lg-left-end"),setTimeout((function(){e.outer.removeClass("lg-left-end")}),400)))},w.prototype.keyPress=function(){var t=this;x(window).on("keydown.lg.global"+this.lgId,(function(e){t.lgOpened&&!0===t.settings.escKey&&27===e.keyCode&&(e.preventDefault(),t.settings.allowMediaOverlap&&t.outer.hasClass("lg-can-toggle")&&t.outer.hasClass("lg-components-open")?t.outer.removeClass("lg-components-open"):t.closeGallery()),t.lgOpened&&t.galleryItems.length>1&&(37===e.keyCode&&(e.preventDefault(),t.goToPrevSlide()),39===e.keyCode&&(e.preventDefault(),t.goToNextSlide()))}))},w.prototype.arrow=function(){var t=this;this.getElementById("lg-prev").on("click.lg",(function(){t.goToPrevSlide()})),this.getElementById("lg-next").on("click.lg",(function(){t.goToNextSlide()}))},w.prototype.arrowDisable=function(t){if(!this.settings.loop&&this.settings.hideControlOnEnd){var e=this.getElementById("lg-prev"),i=this.getElementById("lg-next");t+1===this.galleryItems.length?i.attr("disabled","disabled").addClass("disabled"):i.removeAttr("disabled").removeClass("disabled"),0===t?e.attr("disabled","disabled").addClass("disabled"):e.removeAttr("disabled").removeClass("disabled")}},w.prototype.setTranslate=function(t,e,i,s,n){void 0===s&&(s=1),void 0===n&&(n=1),t.css("transform","translate3d("+e+"px, "+i+"px, 0px) scale3d("+s+", "+n+", 1)")},w.prototype.mousewheel=function(){var t=this,e=0;this.outer.on("wheel.lg",(function(i){if(i.deltaY&&!(t.galleryItems.length<2)){i.preventDefault();var s=(new Date).getTime();s-e<1e3||(e=s,i.deltaY>0?t.goToNextSlide():i.deltaY<0&&t.goToPrevSlide())}}))},w.prototype.isSlideElement=function(t){return t.hasClass("lg-outer")||t.hasClass("lg-item")||t.hasClass("lg-img-wrap")},w.prototype.isPosterElement=function(t){var e=this.getSlideItem(this.index).find(".lg-video-play-button").get();return t.hasClass("lg-video-poster")||t.hasClass("lg-video-play-button")||e&&e.contains(t.get())},w.prototype.toggleMaximize=function(){var t=this;this.getElementById("lg-maximize").on("click.lg",(function(){t.$container.toggleClass("lg-inline"),t.refreshOnResize()}))},w.prototype.invalidateItems=function(){for(var t=0;t<this.items.length;t++){var e=x(this.items[t]);e.off("click.lgcustom-item-"+e.attr("data-lg-id"))}},w.prototype.manageCloseGallery=function(){var t=this;if(this.settings.closable){var e=!1;this.getElementById("lg-close").on("click.lg",(function(){t.closeGallery()})),this.settings.closeOnTap&&(this.outer.on("mousedown.lg",(function(i){var s=x(i.target);e=!!t.isSlideElement(s)})),this.outer.on("mousemove.lg",(function(){e=!1})),this.outer.on("mouseup.lg",(function(i){var s=x(i.target);t.isSlideElement(s)&&e&&(t.outer.hasClass("lg-dragging")||t.closeGallery())})))}},w.prototype.closeGallery=function(t){var e=this;if(!this.lgOpened||!this.settings.closable&&!t)return 0;this.LGel.trigger(y),x(window).scrollTop(this.prevScrollTop);var i,s=this.items[this.index];if(this.zoomFromOrigin&&s){var n=this.mediaContainerPosition,o=n.top,r=n.bottom,l=this.galleryItems[this.index],a=l.__slideVideoInfo,g=l.poster,d=T(s,this.outer,o+r,a&&g&&this.settings.videoMaxSize);i=E(s,this.outer,o,r,d)}this.zoomFromOrigin&&i?(this.outer.addClass("lg-closing lg-zoom-from-image"),this.getSlideItem(this.index).addClass("lg-start-end-progress").css("transition-duration",this.settings.startAnimationDuration+"ms").css("transform",i)):(this.outer.addClass("lg-hide-items"),this.outer.removeClass("lg-zoom-from-image")),this.destroyModules(),this.lGalleryOn=!1,this.isDummyImageRemoved=!1,this.zoomFromOrigin=this.settings.zoomFromOrigin,clearTimeout(this.hideBarTimeout),this.hideBarTimeout=!1,x("html").removeClass("lg-on"),this.outer.removeClass("lg-visible lg-components-open"),this.$backdrop.removeClass("in").css("opacity",0);var h=this.zoomFromOrigin&&i?Math.max(this.settings.startAnimationDuration,this.settings.backdropDuration):this.settings.backdropDuration;return this.$container.removeClass("lg-show-in"),setTimeout((function(){e.zoomFromOrigin&&i&&e.outer.removeClass("lg-zoom-from-image"),e.$container.removeClass("lg-show"),e.$backdrop.removeAttr("style").css("transition-duration",e.settings.backdropDuration+"ms"),e.outer.removeClass("lg-closing "+e.settings.startClass),e.getSlideItem(e.index).removeClass("lg-start-end-progress"),e.$inner.empty(),e.lgOpened&&e.LGel.trigger(b,{instance:e}),e.outer.get()&&e.outer.get().blur(),e.lgOpened=!1}),h+100),h+100},w.prototype.initModules=function(){this.plugins.forEach((function(t){try{t.init()}catch(t){console.warn("lightGallery:- make sure lightGallery module is properly initiated")}}))},w.prototype.destroyModules=function(t){this.plugins.forEach((function(e){try{t?e.destroy():e.closeGallery&&e.closeGallery()}catch(t){console.warn("lightGallery:- make sure lightGallery module is properly destroyed")}}))},w.prototype.refresh=function(t){this.settings.dynamic||this.invalidateItems(),this.galleryItems=t||this.getItems(),this.updateControls(),this.openGalleryOnItemClick(),this.LGel.trigger(o)},w.prototype.updateControls=function(){this.addSlideVideoInfo(this.galleryItems),this.updateCounterTotal(),this.manageSingleSlideClassName()},w.prototype.destroy=function(){var t=this,e=this.closeGallery(!0);return setTimeout((function(){t.destroyModules(!0),t.settings.dynamic||t.invalidateItems(),x(window).off(".lg.global"+t.lgId),t.LGel.off(".lg"),t.$container.remove()}),e),e},w}();return function(t,e){return new P(t,e)}}));
251;
252/**
253 * lightgallery | 2.5.0-beta.2 | March 6th 2022
254 * http://www.lightgalleryjs.com/
255 * Copyright (c) 2020 Sachin Neravath;
256 * @license GPLv3
257 */
258
259!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).lgThumbnail=e()}(this,(function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,i=1,s=arguments.length;i<s;i++)for(var h in e=arguments[i])Object.prototype.hasOwnProperty.call(e,h)&&(t[h]=e[h]);return t}).apply(this,arguments)},e={thumbnail:!0,animateThumb:!0,currentPagerPosition:"middle",alignThumbnails:"middle",thumbWidth:100,thumbHe
vendor: 6,513 bytes, line 259
259ight:"80px",thumbMargin:5,appendThumbnailsTo:".lg-components",toggleThumb:!1,enableThumbDrag:!0,enableThumbSwipe:!0,thumbnailSwipeThreshold:10,loadYouTubeThumbnail:!0,youTubeThumbSize:1,thumbnailPluginStrings:{toggleThumbnails:"Toggle thumbnails"}},i="lgContainerResize",s="lgUpdateSlides",h="lgBeforeOpen",n="lgBeforeSlide";return function(){function o(t,e){return this.thumbOuterWidth=0,this.thumbTotalWidth=0,this.translateX=0,this.thumbClickable=!1,this.core=t,this.$LG=e,this}return o.prototype.init=function(){this.settings=t(t({},e),this.core.settings),this.thumbOuterWidth=0,this.thumbTotalWidth=this.core.galleryItems.length*(this.settings.thumbWidth+this.settings.thumbMargin),this.translateX=0,this.setAnimateThumbStyles(),this.core.settings.allowMediaOverlap||(this.settings.toggleThumb=!1),this.settings.thumbnail&&(this.build(),this.settings.animateThumb?(this.settings.enableThumbDrag&&this.enableThumbDrag(),this.settings.enableThumbSwipe&&this.enableThumbSwipe(),this.thumbClickable=!1):this.thumbClickable=!0,this.toggleThumbBar(),this.thumbKeyPress())},o.prototype.build=function(){var t=this;this.setThumbMarkup(),this.manageActiveClassOnSlideChange(),this.$lgThumb.first().on("click.lg touchend.lg",(function(e){var i=t.$LG(e.target);i.hasAttribute("data-lg-item-id")&&setTimeout((function(){if(t.thumbClickable&&!t.core.lgBusy){var e=parseInt(i.attr("data-lg-item-id"));t.core.slide(e,!1,!0,!1)}}),50)})),this.core.LGel.on(n+".thumb",(function(e){var i=e.detail.index;t.animateThumb(i)})),this.core.LGel.on(h+".thumb",(function(){t.thumbOuterWidth=t.core.outer.get().offsetWidth})),this.core.LGel.on(s+".thumb",(function(){t.rebuildThumbnails()})),this.core.LGel.on(i+".thumb",(function(){t.core.lgOpened&&setTimeout((function(){t.thumbOuterWidth=t.core.outer.get().offsetWidth,t.animateThumb(t.core.index),t.thumbOuterWidth=t.core.outer.get().offsetWidth}),50)}))},o.prototype.setThumbMarkup=function(){var t="lg-thumb-outer ";this.settings.alignThumbnails&&(t+="lg-thumb-align-"+this.settings.alignThumbnails);var e='<div class="'+t+'">\n        <div class="lg-thumb lg-group">\n        </div>\n        </div>';this.core.outer.addClass("lg-has-thumb"),".lg-components"===this.settings.appendThumbnailsTo?this.core.$lgComponents.append(e):this.core.outer.append(e),this.$thumbOuter=this.core.outer.find(".lg-thumb-outer").first(),this.$lgThumb=this.core.outer.find(".lg-thumb").first(),this.settings.animateThumb&&this.core.outer.find(".lg-thumb").css("transition-duration",this.core.settings.speed+"ms").css("width",this.thumbTotalWidth+"px").css("position","relative"),this.setThumbItemHtml(this.core.galleryItems)},o.prototype.enableThumbDrag=function(){var t=this,e={cords:{startX:0,endX:0},isMoved:!1,newTranslateX:0,startTime:new Date,endTime:new Date,touchMoveTime:0},i=!1;this.$thumbOuter.addClass("lg-grab"),this.core.outer.find(".lg-thumb").first().on("mousedown.lg.thumb",(function(s){t.thumbTotalWidth>t.thumbOuterWidth&&(s.preventDefault(),e.cords.startX=s.pageX,e.startTime=new Date,t.thumbClickable=!1,i=!0,t.core.outer.get().scrollLeft+=1,t.core.outer.get().scrollLeft-=1,t.$thumbOuter.removeClass("lg-grab").addClass("lg-grabbing"))})),this.$LG(window).on("mousemove.lg.thumb.global"+this.core.lgId,(function(s){t.core.lgOpened&&i&&(e.cords.endX=s.pageX,e=t.onThumbTouchMove(e))})),this.$LG(window).on("mouseup.lg.thumb.global"+this.core.lgId,(function(){t.core.lgOpened&&(e.isMoved?e=t.onThumbTouchEnd(e):t.thumbClickable=!0,i&&(i=!1,t.$thumbOuter.removeClass("lg-grabbing").addClass("lg-grab")))}))},o.prototype.enableThumbSwipe=function(){var t=this,e={cords:{startX:0,endX:0},isMoved:!1,newTranslateX:0,startTime:new Date,endTime:new Date,touchMoveTime:0};this.$lgThumb.on("touchstart.lg",(function(i){t.thumbTotalWidth>t.thumbOuterWidth&&(i.preventDefault(),e.cords.startX=i.targetTouches[0].pageX,t.thumbClickable=!1,e.startTime=new Date)})),this.$lgThumb.on("touchmove.lg",(function(i){t.thumbTotalWidth>t.thumbOuterWidth&&(i.preventDefault(),e.cords.endX=i.targetTouches[0].pageX,e=t.onThumbTouchMove(e))})),this.$lgThumb.on("touchend.lg",(function(){e.isMoved?e=t.onThumbTouchEnd(e):t.thumbClickable=!0}))},o.prototype.rebuildThumbnails=function(){var t=this;this.$thumbOuter.addClass("lg-rebuilding-thumbnails"),setTimeout((function(){t.thumbTotalWidth=t.core.galleryItems.length*(t.settings.thumbWidth+t.settings.thumbMargin),t.$lgThumb.css("width",t.thumbTotalWidth+"px"),t.$lgThumb.empty(),t.setThumbItemHtml(t.core.galleryItems),t.animateThumb(t.core.index)}),50),setTimeout((function(){t.$thumbOuter.removeClass("lg-rebuilding-thumbnails")}),200)},o.prototype.setTranslate=function(t){this.$lgThumb.css("transform","translate3d(-"+t+"px, 0px, 0px)")},o.prototype.getPossibleTransformX=function(t){return t>this.thumbTotalWidth-this.thumbOuterWidth&&(t=this.thumbTotalWidth-this.thumbOuterWidth),t<0&&(t=0),t},o.prototype.animateThumb=function(t){if(this.$lgThumb.css("transition-duration",this.core.settings.speed+"ms"),this.settings.animateThumb){var e=0;switch(this.settings.currentPagerPosition){case"left":e=0;break;case"middle":e=this.thumbOuterWidth/2-this.settings.thumbWidth/2;break;case"right":e=this.thumbOuterWidth-this.settings.thumbWidth}this.translateX=(this.settings.thumbWidth+this.settings.thumbMargin)*t-1-e,this.translateX>this.thumbTotalWidth-this.thumbOuterWidth&&(this.translateX=this.thumbTotalWidth-this.thumbOuterWidth),this.translateX<0&&(this.translateX=0),this.setTranslate(this.translateX)}},o.prototype.onThumbTouchMove=function(t){return t.newTranslateX=this.translateX,t.isMoved=!0,t.touchMoveTime=(new Date).valueOf(),t.newTranslateX-=t.cords.endX-t.cords.startX,t.newTranslateX=this.getPossibleTransformX(t.newTranslateX),this.setTranslate(t.newTranslateX),this.$thumbOuter.addClass("lg-dragging"),t},o.prototype.onThumbTouchEnd=function(t){t.isMoved=!1,t.endTime=new Date,this.$thumbOuter.removeClass("lg-dragging");var e=t.endTime.valueOf()-t.startTime.valueOf(),i=t.cords.endX-t.cords.startX,s=Math.abs(i)/e;return s>.15&&t.endTime.valueOf()-t.touchMoveTime<30?((s+=1)>2&&(s+=1),s+=s*(Math.abs(i)/this.thumbOuterWidth),this.$lgThumb.css("transition-duration",Math.min(s-1,2)+"settings"),i*=s,this.translateX=this.getPossibleTransformX(this.translateX-i),this.setTranslate(this.translateX)):this.translateX=t.newTranslateX,Math.abs(t.cords.endX-t.cords.startX)<this.settings.thumbnailSwipeThreshold&&(this.thumbClickable=!0),t},o.prototype.getThumbHtml=function(t,e){var i,s=this.core.galleryItems[e].__slideVideoInfo||{};
259return i=s.youtube&&this.settings.loadYouTubeThumbnail?"//img.youtube.com/vi/"+s.youtube[1]+"/"+this.settings.youTubeThumbSize+".jpg":t,'<div data-lg-item-id="'+e+'" class="lg-thumb-item '+(e===this.core.index?" active":"")+'" \n        style="width:'+this.settings.thumbWidth+"px; height: "+this.settings.thumbHeight+";\n            margin-right: "+this.settings.thumbMargin+'px;">\n            <img data-lg-item-id="'+e+'" src="'+i+'" />\n        </div>'},o.prototype.getThumbItemHtml=function(t){for(var e="",i=0;i<t.length;i++)e+=this.getThumbHtml(t[i].thumb,i);return e},o.prototype.setThumbItemHtml=function(t){var e=this.getThumbItemHtml(t);this.$lgThumb.html(e)},o.prototype.setAnimateThumbStyles=function(){this.settings.animateThumb&&this.core.outer.addClass("lg-animate-thumb")},o.prototype.manageActiveClassOnSlideChange=function(){var t=this;this.core.LGel.on(n+".thumb",(function(e){var i=t.core.outer.find(".lg-thumb-item"),s=e.detail.index;i.removeClass("active"),i.eq(s).addClass("active")}))},o.prototype.toggleThumbBar=function(){var t=this;this.settings.toggleThumb&&(this.core.outer.addClass("lg-can-toggle"),this.core.$toolbar.append('<button type="button" aria-label="'+this.settings.thumbnailPluginStrings.toggleThumbnails+'" class="lg-toggle-thumb lg-icon"></button>'),this.core.outer.find(".lg-toggle-thumb").first().on("click.lg",(function(){t.core.outer.toggleClass("lg-components-open")})))},o.prototype.thumbKeyPress=function(){var t=this;this.$LG(window).on("keydown.lg.thumb.global"+this.core.lgId,(function(e){t.core.lgOpened&&t.settings.toggleThumb&&(38===e.keyCode?(e.preventDefault(),t.core.outer.addClass("lg-components-open")):40===e.keyCode&&(e.preventDefault(),t.core.outer.removeClass("lg-components-open")))}))},o.prototype.destroy=function(){this.settings.thumbnail&&(this.$LG(window).off(".lg.thumb.global"+this.core.lgId),this.core.LGel.off(".lg.thumb"),this.core.LGel.off(".thumb"),this.$thumbOuter.remove(),this.core.outer.removeClass("lg-has-thumb"))},o}()}));
260;
261/**
262 * lightgallery | 2.5.0-beta.2 | March 6th 2022
263 * http://www.lightgalleryjs.com/
264 * Copyright (c) 2020 Sachin Neravath;
265 * @license GPLv3
266 */
267
268!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).lgZoom=e()}(this,(function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,o=1,i=arguments.length;o<i;o++)for(var s in e=arguments[o])Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s]);return t}).apply(this,arguments)},e={scale:1,zoom:!0,actualSize:!0,showZoomInOutIcons:!1,actualSizeIcons:{zoomIn:"lg-zoom-in",zoomOut:"lg-zoom-out"},enableZoomAfter:300,zoomPluginStrings:{zoomIn:"Zoom in",zoomOut:"Zoom out",viewActualSize:"View actual size"}},o="lgContainerResize",i="lgBeforeOpen",s="lgAfterOpen",a="lgSlideItemLoad",r="lgAfterSlide",n="lgRotateLeft",l="lgRotateRight",g="lgFlipHorizontal",c="lgFlipVertical";return function(){function h(o,i){return this.core=o,this.$LG=i,this.settings=t(t({},e),this.core.settings),this}return h.prototype.buildTemplates=function(){var t=this.settings.showZoomInOutIcons?'<button id="'+this.core.getIdName("lg-zoom-in")+'" type="button" aria-label="'+this.settings.zoomPluginStrings.zoomIn+'" class="lg-zoom-in lg-icon"></button><button id="'+this.core.getIdName("lg-zoom-out")+'" type="button" aria-label="'+this.settings.zoomPluginStrings.zoomIn+'" class="lg-zoom-out lg-icon"></button>':"";this.settings.actualSize&&(t+='<button id="'+this.core.getIdName("lg-actual-size")+'" type="button" aria-label="'+this.settings.zoomPluginStrings.viewActualSize+'" class="'+this.settings.actualSizeIcons.zoomIn+' lg-icon"></button>'),this.core.outer.addClass("lg-use-transition-for-zoom"),this.core.$toolbar.first().append(t)},h.prototype.enableZoom=function(t){var e=this,o=this.settings.enableZoomAfter+t.detail.delay;this.$LG("body").first().hasClass("lg-from-hash")&&t.detail.delay?o=0:this.$LG("body").first().removeClass("lg-from-hash"),this.zoomableTimeout=setTimeout((function(){e.isImageSlide()&&(e.core.getSlideItem(t.detail.index).addClass("lg-zoomable"),t.detail.index===e.core.index&&e.setZoomEssentials())}),o+30)},h.prototype.enableZoomOnSlideItemLoad=function(){this.core.LGel.on(a+".zoom",this.enableZoom.bind(this))},h.prototype.getModifier=function(t,e,o){var i=t;t=Math.abs(t);var s=this.getCurrentTransform(o);if(!s)return 1;var a=1;if("X"===e){var r=Math.sign(parseFloat(s[0]));0===t||180===t?a=1:90===t&&(a=-90===i&&1===r||90===i&&-1===r?-1:1),a*=r}else{var n=Math.sign(parseFloat(s[3]));if(0===t||180===t)a=1;else if(90===t){var l=parseFloat(s[1]),g=parseFloat(s[2]);a=Math.sign(l*g*i*n)}a*=n}return a},h.prototype.getImageSize=function(t,e,o){return 90===Math.abs(e)&&(o="x"===o?"y":"x"),t[{y:"offsetHeight",x:"offsetWidth"}[o]]},h.prototype.getDragCords=function(t,e){return 90===e?{x:t.pageY,y:t.pageX}:{x:t.pageX,y:t.pageY}},h.prototype.getSwipeCords=function(t,e){var o=t.targetTouches[0].pageX,i=t.targetTouches[0].pageY;return 90===e?{x:i,y:o}:{x:o,y:i}},h.prototype.getDragAllowedAxises=function(t,e){e=e||this.scale||1;var o=this.imageYSize*e>this.containerRect.height,i=this.imageXSize*e>this.containerRect.width;return 90===t?{allowX:o,allowY:i}:{allowX:i,allowY:o}},h.prototype.getCurrentTransform=function(t){if(t){var e=window.getComputedStyle(t,null),o=e.getPropertyValue("-webkit-transform")||e.getPropertyValue("-moz-transform")||e.getPropertyValue("-ms-transform")||e.getPropertyValue("-o-transform")||e.getPropertyValue("transform")||"none";return"none"!==o?o.split("(")[1].split(")")[0].split(","):void 0}},h.prototype.getCurrentRotation=function(t){if(!t)return 0;var e=this.getCurrentTransform(t);return e?Math.round(Math.atan2(parseFloat(e[1]),parseFloat(e[0]))*(180/Math.PI)):0},h.prototype.setZoomEssentials=function(){var t=this.core.getSlideItem(this.core.index).find(".lg-image").first(),e=this.core.getSlideItem(this.core.index).find(".lg-img-rotate").first().get();this.rotateValue=this.getCurrentRotation(e),this.imageYSize=this.getImageSize(t.get(),this.rotateValue,"y"),this.imageXSize=this.getImageSize(t.get(),this.rotateValue,"x"),this.containerRect=this.core.outer.get().getBoundingClientRect(),this.modifierX=this.getModifier(this.rotateValue,"X",e),this.modifierY=this.getModifier(this.rotateValue,"Y",e)},h.prototype.zoomImage=function(t){var e,o,i=(this.containerRect.width-this.imageXSize)/2+this.containerRect.left,s=this.core.mediaContainerPosition,a=s.top,r=s.bottom,n=Math.abs(a-r)/2,l=(this.containerRect.height-this.imageYSize-n*this.modifierX)/2+this.scrollTop+this.containerRect.top;1===t&&(this.positionChanged=!1);var g=this.getDragAllowedAxises(Math.abs(this.rotateValue),t),c=g.allowY,h=g.allowX;this.positionChanged&&(e=this.left/(this.scale-1),o=this.top/(this.scale-1),this.pageX=Math.abs(e)+i,this.pageY=Math.abs(o)+l,this.positionChanged=!1);var m=this.getPossibleSwipeDragCords(this.rotateValue,t),u=(t-1)*(i-this.pageX),d=(t-1)*(l-this.pageY);h?this.isBeyondPossibleLeft(u,m.minX)?u=m.minX:this.isBeyondPossibleRight(u,m.maxX)&&(u=m.maxX):t>1&&(u<m.minX?u=m.minX:u>m.maxX&&(u=m.maxX)),c?this.isBeyondPossibleTop(d,m.minY)?d=m.minY:this.isBeyondPossibleBottom(d,m.maxY)&&(d=m.maxY):t>
2681&&(d<m.minY?d=m.minY:d>m.maxY&&(d=m.maxY)),this.setZoomStyles({x:u,y:d,scale:t})},h.prototype.setZoomStyles=function(t){var e=this.core.getSlideItem(this.core.index).find(".lg-image").first(),o=this.core.outer.find(".lg-current .lg-dummy-img").first(),i=e.parent();this.scale=t.scale,e.css("transform","scale3d("+t.scale+", "+t.scale+", 1)"),o.css("transform","scale3d("+t.scale+", "+t.scale+", 1)");var s="translate3d("+t.x+"px, "+t.y+"px, 0)";i.css("transform",s),this.left=t.x,this.top=t.y},h.prototype.setActualSize=function(t,e){var o=this;if(this.isImageSlide()&&!this.core.outer.hasClass("lg-first-slide-loading")){var i=this.getCurrentImageActualSizeScale();this.core.outer.hasClass("lg-zoomed")?this.scale=1:this.scale=this.getScale(i),this.setPageCords(e),this.beginZoom(this.scale),this.zoomImage(this.scale),setTimeout((function(){o.core.outer.removeClass("lg-grabbing").addClass("lg-grab")}),10)}},h.prototype.getNaturalWidth=function(t){var e=this.core.getSlideItem(t).find(".lg-image").first(),o=this.core.galleryItems[t].width;return o?parseFloat(o):e.get().naturalWidth},h.prototype.getActualSizeScale=function(t,e){return t>e?t/e||2:1},h.prototype.getCurrentImageActualSizeScale=function(){var t=this.core.getSlideItem(this.core.index).find(".lg-image").first().get().offsetWidth,e=this.getNaturalWidth(this.core.index)||t;return this.getActualSizeScale(e,t)},h.prototype.getPageCords=function(t){var e={};if(t)e.x=t.pageX||t.targetTouches[0].pageX,e.y=t.pageY||t.targetTouches[0].pageY;else{var o=this.core.outer.get().getBoundingClientRect();e.x=o.width/2+o.left,e.y=o.height/2+this.scrollTop+o.top}return e},h.prototype.setPageCords=function(t){var e=this.getPageCords(t);this.pageX=e.x,this.pageY=e.y},h.prototype.beginZoom=function(t){(this.core.outer.removeClass("lg-zoom-drag-transition lg-zoom-dragging"),t>1)?(this.core.outer.addClass("lg-zoomed"),this.core.getElementById("lg-actual-size").removeClass(this.settings.actualSizeIcons.zoomIn).addClass(this.settings.actualSizeIcons.zoomOut)):this.resetZoom();return t>1},h.prototype.getScale=function(t){var e=this.getCurrentImageActualSizeScale();return t<1?t=1:t>e&&(t=e),t},h.prototype.init=function(){var t=this;if(this.settings.zoom){this.buildTemplates(),this.enableZoomOnSlideItemLoad();var e=null;this.core.outer.on("dblclick.lg",(function(e){t.$LG(e.target).hasClass("lg-image")&&t.setActualSize(t.core.index,e)})),this.core.outer.on("touchstart.lg",(function(o){var i=t.$LG(o.target);1===o.targetTouches.length&&i.hasClass("lg-image")&&(e?(clearTimeout(e),e=null,o.preventDefault(),t.setActualSize(t.core.index,o)):e=setTimeout((function(){e=null}),300))})),this.core.LGel.on(o+".zoom "+l+".zoom "+n+".zoom "+g+".zoom "+c+".zoom",(function(){t.core.lgOpened&&t.isImageSlide()&&(t.setPageCords(),t.setZoomEssentials(),t.zoomImage(t.scale))})),this.$LG(window).on("scroll.lg.zoom.global"+this.core.lgId,(function(){t.core.lgOpened&&(t.scrollTop=t.$LG(window).scrollTop())})),this.core.getElementById("lg-zoom-out").on("click.lg",(function(){t.core.outer.find(".lg-current .lg-image").get()&&(t.scale-=t.settings.scale,t.scale=t.getScale(t.scale),t.beginZoom(t.scale),t.zoomImage(t.scale))})),this.core.getElementById("lg-zoom-in").on("click.lg",(function(){t.zoomIn()})),this.core.getElementById("lg-actual-size").on("click.lg",(function(){t.setActualSize(t.core.index)})),this.core.LGel.on(i+".zoom",(function(){t.core.outer.find(".lg-item").removeClass("lg-zoomable")})),this.core.LGel.on(s+".zoom",(function(){t.scrollTop=t.$LG(window).scrollTop(),t.pageX=t.core.outer.width()/2,t.pageY=t.core.outer.height()/2+t.scrollTop,t.scale=1})),this.core.LGel.on(r+".zoom",(function(e){var o=e.detail.prevIndex;t.scale=1,t.positionChanged=!1,t.resetZoom(o),t.isImageSlide()&&t.setZoomEssentials()})),this.zoomDrag(),this.pinchZoom(),this.zoomSwipe(),this.zoomableTimeout=!1,this.positionChanged=!1}},h.prototype.zoomIn=function(t){this.isImageSlide()&&(t?this.scale=t:this.scale+=this.settings.scale,this.scale=this.getScale(this.scale),this.beginZoom(this.scale),this.zoomImage(this.scale))},h.prototype.resetZoom=function(t){this.core.outer.removeClass("lg-zoomed lg-zoom-drag-transition");var e=this.core.getElementById("lg-actual-size"),o=this.core.getSlideItem(void 0!==t?t:this.core.index);e.removeClass(this.settings.actualSizeIcons.zoomOut).addClass(this.settings.actualSizeIcons.zoomIn),o.find(".lg-img-wrap").first().removeAttr("style"),o.find(".lg-image").first().removeAttr("style"),this.scale=1,this.left=0,this.top=0,this.setPageCords()},h.prototype.getTouchDistance=function(t){return Math.sqrt((t.targetTouches[0].pageX-t.targetTouches[1].pageX)*(t.targetTouches[0].pageX-t.targetTouches[1].pageX)+(t.targetTouches[0].pageY-t.targetTouches[1].pageY)*(t.targetTouches[0].pageY-t.targetTouches[1].pageY))},h.prototype.pinchZoom=function(){var t=this,e=0,o=!1,i=1,s=this.core.getSlideItem(this.core.index);this.core.$inner.on("touchstart.lg",(function(o){s=t.core.getSlideItem(t.core.index),t.isImageSlide()&&(2!==o.targetTouches.length||t.core.outer.hasClass("lg-first-slide-loading")||!t.$LG(o.target).hasClass("lg-item")&&!s.get().contains(o.target)||(i=t.scale||1,t.core.outer.removeClass("lg-zoom-drag-transition lg-zoom-dragging"),t.core.touchAction="pinch",e=t.getTouchDistance(o)))}
268)),this.core.$inner.on("touchmove.lg",(function(a){if(2===a.targetTouches.length&&"pinch"===t.core.touchAction&&(t.$LG(a.target).hasClass("lg-item")||s.get().contains(a.target))){a.preventDefault();var r=t.getTouchDistance(a),n=e-r;!o&&Math.abs(n)>5&&(o=!0),o&&(t.scale=Math.max(1,i+.008*-n),t.zoomImage(t.scale))}})),this.core.$inner.on("touchend.lg",(function(i){"pinch"===t.core.touchAction&&(t.$LG(i.target).hasClass("lg-item")||s.get().contains(i.target))&&(o=!1,e=0,t.scale<=1?t.resetZoom():(t.scale=t.getScale(t.scale),t.zoomImage(t.scale),t.core.outer.addClass("lg-zoomed")),t.core.touchAction=void 0)}))},h.prototype.touchendZoom=function(t,e,o,i,s,a){var r=e.x-t.x,n=e.y-t.y,l=Math.abs(r)/s+1,g=Math.abs(n)/s+1;l>2&&(l+=1),g>2&&(g+=1),r*=l,n*=g;var c=this.core.getSlideItem(this.core.index).find(".lg-img-wrap").first(),h={};h.x=this.left+r*this.modifierX,h.y=this.top+n*this.modifierY;var m=this.getPossibleSwipeDragCords(a);(Math.abs(r)>15||Math.abs(n)>15)&&(i&&(this.isBeyondPossibleTop(h.y,m.minY)?h.y=m.minY:this.isBeyondPossibleBottom(h.y,m.maxY)&&(h.y=m.maxY)),o&&(this.isBeyondPossibleLeft(h.x,m.minX)?h.x=m.minX:this.isBeyondPossibleRight(h.x,m.maxX)&&(h.x=m.maxX)),i?this.top=h.y:h.y=this.top,o?this.left=h.x:h.x=this.left,this.setZoomSwipeStyles(c,h),this.positionChanged=!0)},h.prototype.getZoomSwipeCords=function(t,e,o,i,s){var a={};if(i){if(a.y=this.top+(e.y-t.y)*this.modifierY,this.isBeyondPossibleTop(a.y,s.minY)){var r=s.minY-a.y;a.y=s.minY-r/6}else if(this.isBeyondPossibleBottom(a.y,s.maxY)){var n=a.y-s.maxY;a.y=s.maxY+n/6}}else a.y=this.top;if(o){if(a.x=this.left+(e.x-t.x)*this.modifierX,this.isBeyondPossibleLeft(a.x,s.minX)){var l=s.minX-a.x;a.x=s.minX-l/6}else if(this.isBeyondPossibleRight(a.x,s.maxX)){var g=a.x-s.maxX;a.x=s.maxX+g/6}}else a.x=this.left;return a},h.prototype.isBeyondPossibleLeft=function(t,e){return t>=e},h.prototype.isBeyondPossibleRight=function(t,e){return t<=e},h.prototype.isBeyondPossibleTop=function(t,e){return t>=e},h.prototype.isBeyondPossibleBottom=function(t,e){return t<=e},h.prototype.isImageSlide=function(){var t=this.core.galleryItems[this.core.index];return"image"===this.core.getSlideType(t)},h.prototype.getPossibleSwipeDragCords=function(t,e){var o=e||this.scale||1,i=Math.abs(o),s=this.core.mediaContainerPosition,a=s.top,r=s.bottom,n=Math.abs(a-r)/2,l=(this.imageYSize-this.containerRect.height)/2+n*this.modifierX,g=this.containerRect.height-this.imageYSize*i+l,c=(this.imageXSize-this.containerRect.width)/2,h=this.containerRect.width-this.imageXSize*i+c,m={minY:l,maxY:g,minX:c,maxX:h};return 90===Math.abs(t)&&(m={minY:c,maxY:h,minX:l,maxX:g}),m},h.prototype.setZoomSwipeStyles=function(t,e){t.css("transform","translate3d("+e.x+"px, "+e.y+"px, 0)")},h.prototype.zoomSwipe=function(){var t,e,o=this,i={},s={},a=!1,r=!1,n=!1,l=new Date,g=(new Date,this.core.getSlideItem(this.core.index));this.core.$inner.on("touchstart.lg",(function(s){if(o.isImageSlide()&&(g=o.core.getSlideItem(o.core.index),(o.$LG(s.target).hasClass("lg-item")||g.get().contains(s.target))&&1===s.targetTouches.length&&o.core.outer.hasClass("lg-zoomed"))){s.preventDefault(),l=new Date,o.core.touchAction="zoomSwipe",e=o.core.getSlideItem(o.core.index).find(".lg-img-wrap").first();var a=o.getDragAllowedAxises(Math.abs(o.rotateValue));n=a.allowY,((r=a.allowX)||n)&&(i=o.getSwipeCords(s,Math.abs(o.rotateValue))),t=o.getPossibleSwipeDragCords(o.rotateValue),o.core.outer.addClass("lg-zoom-dragging lg-zoom-drag-transition")}})),this.core.$inner.on("touchmove.lg",(function(l){if(1===l.targetTouches.length&&"zoomSwipe"===o.core.touchAction&&(o.$LG(l.target).hasClass("lg-item")||g.get().contains(l.target))){l.preventDefault(),o.core.touchAction="zoomSwipe",s=o.getSwipeCords(l,Math.abs(o.rotateValue));var c=o.getZoomSwipeCords(i,s,r,n,t);(Math.abs(s.x-i.x)>15||Math.abs(s.y-i.y)>15)&&(a=!0,o.setZoomSwipeStyles(e,c))}})),this.core.$inner.on("touchend.lg",(function(t){if("zoomSwipe"===o.core.touchAction&&(o.$LG(t.target).hasClass("lg-item")||g.get().contains(t.target))){if(o.core.touchAction=void 0,o.core.outer.removeClass("lg-zoom-dragging"),!a)return;a=!1;var e=(new Date).valueOf()-l.valueOf();o.touchendZoom(i,s,r,n,e,o.rotateValue)}}))},h.prototype.zoomDrag=function(){var t,e,o,i,s=this,a={},r={},n=!1,l=!1,g=!1,c=!1;this.core.outer.on("mousedown.lg.zoom",(function(e){if(s.isImageSlide()){var r=s.core.getSlideItem(s.core.index);if(s.$LG(e.target).hasClass("lg-item")||r.get().contains(e.target)){t=new Date,i=s.core.getSlideItem(s.core.index).find(".lg-img-wrap").first();var l=s.getDragAllowedAxises(Math.abs(s.rotateValue));
268c=l.allowY,g=l.allowX,s.core.outer.hasClass("lg-zoomed")&&s.$LG(e.target).hasClass("lg-object")&&(g||c)&&(e.preventDefault(),a=s.getDragCords(e,Math.abs(s.rotateValue)),o=s.getPossibleSwipeDragCords(s.rotateValue),n=!0,s.core.outer.get().scrollLeft+=1,s.core.outer.get().scrollLeft-=1,s.core.outer.removeClass("lg-grab").addClass("lg-grabbing lg-zoom-drag-transition lg-zoom-dragging"))}}})),this.$LG(window).on("mousemove.lg.zoom.global"+this.core.lgId,(function(t){if(n){l=!0,r=s.getDragCords(t,Math.abs(s.rotateValue));var e=s.getZoomSwipeCords(a,r,g,c,o);s.setZoomSwipeStyles(i,e)}})),this.$LG(window).on("mouseup.lg.zoom.global"+this.core.lgId,(function(o){if(n){if(e=new Date,n=!1,s.core.outer.removeClass("lg-zoom-dragging"),l&&(a.x!==r.x||a.y!==r.y)){r=s.getDragCords(o,Math.abs(s.rotateValue));var i=e.valueOf()-t.valueOf();s.touchendZoom(a,r,g,c,i,s.rotateValue)}l=!1}s.core.outer.removeClass("lg-grabbing").addClass("lg-grab")}))},h.prototype.closeGallery=function(){this.resetZoom()},h.prototype.destroy=function(){this.$LG(window).off(".lg.zoom.global"+this.core.lgId),this.core.LGel.off(".lg.zoom"),this.core.LGel.off(".zoom"),clearTimeout(this.zoomableTimeout),this.zoomableTimeout=!1},h}()}));
269;
270/**
271 * lightgallery | 2.7.0 | October 9th 2022
272 * http://www.lightgalleryjs.com/
273 * Copyright (c) 2020 Sachin Neravath;
274 * @license GPLv3
275 */
276
277 !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(e="undefined"!=typeof globalThis?globalThis:e||self).lgVideo=o()}(this,(function(){"use strict";var e=function(){return(e=Object.assign||function(e){for(var o,i=1,t=arguments.length;i<t;i++)for(var s in o=arguments[i])Object.prototype.hasOwnProperty.call(o,s)&&(e[s]=o[s]);return e}).apply(this,arguments)},o={autoplayFirstVideo:!0,youTubePlayerParams:!1,vimeoPlayerParams:!1,wistiaPlayerParams:!1,gotoNextSlideOnVideoEnd:!0,autoplayVideoOnSlide:!1,videojs:!1,videojsTheme:"",videojsOptions:{}},i="lgHasVideo",t="lgSlideItemLoad",s="lgBeforeSlide",n="lgAfterSlide",l="lgPosterClick",r=function(e){return Object.keys(e).map((function(o){return encodeURIComponent(o)+"="+encodeURIComponent(e[o])})).join("&")};return function(){function d(i){return this.core=i,this.settings=e(e({},o),this.core.settings),this}return d.prototype.init=function(){var e=this;this.core.LGel.on(i+".video",this.onHasVideo.bind(this)),this.core.LGel.on(l+".video",(function(){var o=e.core.getSlideItem(e.core.index);e.loadVideoOnPosterClick(o)})),this.core.LGel.on(t+".video",this.onSlideItemLoad.bind(this)),this.core.LGel.on(s+".video",this.onBeforeSlide.bind(this)),this.core.LGel.on(n+".video",this.onAfterSlide.bind(this))},d.prototype.onSlideItemLoad=function(e){var o=this,i=e.detail,t=i.isFirstSlide,s=i.index;this.settings.autoplayFirstVideo&&t&&s===this.core.index&&setTimeout((function(){o.loadAndPlayVideo(s)}),200),!t&&this.settings.autoplayVideoOnSlide&&s===this.core.index&&this.loadAndPlayVideo(s)},d.prototype.onHasVideo=function(e){var o=e.detail,i=o.index,t=o.src,s=o.html5Video;o.hasPoster||(this.appendVideos(this.core.getSlideItem(i),{src:t,addClass:"lg-object",index:i,html5Video:s}),this.gotoNextSlideOnVideoEnd(t,i))},d.prototype.onBeforeSlide=function(e){if(this.core.lGalleryOn){var o=e.detail.prevIndex;this.pauseVideo(o)}},d.prototype.onAfterSlide=function(e){var o=this,i=e.detail,t=i.index,s=i.prevIndex,n=this.core.getSlideItem(t);this.settings.autoplayVideoOnSlide&&t!==s&&n.hasClass("lg-complete")&&setTimeout((function(){o.loadAndPlayVideo(t)}),100)},d.prototype.loadAndPlayVideo=function(e){var o=this.core.getSlideItem(e);this.core.galleryItems[e].poster?this.loadVideoOnPosterClick(o,!0):this.playVideo(e)},d.prototype.playVideo=function(e){this.controlVideo(e,"play")},d.prototype.pauseVideo=function(e){this.controlVideo(e,"pause")},d.prototype.getVideoHtml=function(e,o,i,t){var s="",n=this.core.galleryItems[i].__slideVideoInfo||{},l=this.core.galleryItems[i],d=l.title||l.alt;d=d?'title="'+d+'"':"";var a='allowtransparency="true"\n            frameborder="0"\n            scrolling="no"\n            allowfullscreen\n            mozallowfullscreen\n            webkitallowfullscreen\n            oallowfullscreen\n            msallowfullscreen';if(n.youtube){var c="lg-youtube"+i,u="?"+(n.youtube[2]?n.youtube[2]+"&":"")+"wmode=
277opaque&autoplay=0&mute=1&enablejsapi=1"+(this.settings.youTubePlayerParams?"&"+r(this.settings.youTubePlayerParams):"");s='<iframe allow="autoplay" id='+c+' class="lg-video-object lg-youtube '+o+'" '+d+' src="//www.youtube.com/embed/'+(n.youtube[1]+u)+'" '+a+"></iframe>"}else if(n.vimeo){c="lg-vimeo"+i,u=function(e,o){if(!o||!o.vimeo)return"";var i=o.vimeo[2]||"",t=e&&0!==Object.keys(e).length?"&"+r(e):"",s=((o.vimeo[0].split("/").pop()||"").split("?")[0]||"").split("#")[0],n=o.vimeo[1]!==s;return n&&(i=i.replace("/"+s,"")),"?autoplay=0&muted=1"+(n?"&h="+s:"")+t+("?"==i[0]?"&"+i.slice(1):i||"")}(this.settings.vimeoPlayerParams,n);s='<iframe allow="autoplay" id='+c+' class="lg-video-object lg-vimeo '+o+'" '+d+' src="//player.vimeo.com/video/'+(n.vimeo[1]+u)+'" '+a+"></iframe>"}else if(n.wistia){var h="lg-wistia"+i;u=(u=r(this.settings.wistiaPlayerParams))?"?"+u:"",s='<iframe allow="autoplay" id="'+h+'" src="//fast.wistia.net/embed/iframe/'+(n.wistia[4]+u)+'" '+d+' class="wistia_embed lg-video-object lg-wistia '+o+'" name="wistia_embed" '+a+"></iframe>"}else if(n.html5){for(var f="",g=0;g<t.source.length;g++)f+='<source src="'+t.source[g].src+'" type="'+t.source[g].type+'">';if(t.tracks){var y=function(e){var o="",i=t.tracks[e];Object.keys(i||{}).forEach((function(e){o+=e+'="'+i[e]+'" '})),f+="<track "+o+">"};for(g=0;g<t.tracks.length;g++)y(g)}var p="",v=t.attributes||{};Object.keys(v||{}).forEach((function(e){p+=e+'="'+v[e]+'" '})),s='<video class="lg-video-object lg-html5 '+(this.settings.videojs&&this.settings.videojsTheme?this.settings.videojsTheme+" ":"")+" "+(this.settings.videojs?" video-js":"")+'" '+p+">\n                "+f+"\n                Your browser does not support HTML5 video.\n            </video>"}return s},d.prototype.appendVideos=function(e,o){var i,t=this.getVideoHtml(o.src,o.addClass,o.index,o.html5Video);e.find(".lg-video-cont").append(t);var s=e.find(".lg-video-object").first();if(o.html5Video&&s.on("mousedown.lg.video",(function(e){e.stopPropagation()})),this.settings.videojs&&(null===(i=this.core.galleryItems[o.index].__slideVideoInfo)||void 0===i?void 0:i.html5))try{return videojs(s.get(),this.settings.videojsOptions)}catch(e){console.error("lightGallery:- Make sure you have included videojs")}},d.prototype.gotoNextSlideOnVideoEnd=function(e,o){var i=this,t=this.core.getSlideItem(o).find(".lg-video-object").first(),s=this.core.galleryItems[o].__slideVideoInfo||{};if(this.settings.gotoNextSlideOnVideoEnd)if(s.html5)t.on("ended",(function(){i.core.goToNextSlide()}));else if(s.vimeo)try{new Vimeo.Player(t.get()).on("ended",(function(){i.core.goToNextSlide()}))}catch(e){console.error("lightGallery:- Make sure you have included //github.com/vimeo/player.js")}else if(s.wistia)try{window._wq=window._wq||[],window._wq.push({id:t.attr("id"),onReady:function(e){e.bind("end",(function(){i.core.goToNextSlide()}))}})}catch(e){console.error("lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js")}},d.prototype.controlVideo=function(e,o){var i=this.core.getSlideItem(e).find(".lg-video-object").first(),t=this.core.galleryItems[e].__slideVideoInfo||{};if(i.get())if(t.youtube)try{i.get().contentWindow.postMessage('{"event":"command","func":"'+o+'Video","args":""}',"*")}catch(e){console.error("lightGallery:- "+e)}else if(t.vimeo)try{new Vimeo.Player(i.get())[o]()}catch(e){console.error("lightGallery:- Make sure you have included //github.com/vimeo/player.js")}else if(t.html5)if(this.settings.videojs)try{videojs(i.get())[o]()}catch(e){console.error("lightGallery:- Make sure you have included videojs")}else i.get()[o]();else if(t.wistia)try{window._wq=window._wq||[],window._wq.push({id:i.attr("id"),onReady:function(e){e[o]()}})}catch(e){console.error("lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js")}},d.prototype.loadVideoOnPosterClick=function(e,o){var i=this;if(e.hasClass("lg-video-loaded"))o&&this.playVideo(this.core.index);else if(e.hasClass("lg-has-video"))this.playVideo(this.core.index);else{e.addClass("lg-has-video");var t=void 0,s=this.core.galleryItems[this.core.index].src,n=this.core.galleryItems[this.core.index].video;n&&(t="string"==typeof n?JSON.parse(n):n);var l=this.appendVideos(e,{src:s,addClass:"",index:this.core.index,html5Video:t});this.gotoNextSlideOnVideoEnd(s,this.core.index);var r=e.find(".lg-object").first().get();e.find(".lg-video-cont").first().append(r),e.addClass("lg-video-loading"),l&&l.ready((function(){l.on("loadedmetadata",(function(){i.onVideoLoadAfterPosterClick(e,i.core.index)}))})),e.find(".lg-video-object").first().on("load.lg error.lg loadedmetadata.lg",(function(){setTimeout((function(){i.onVideoLoadAfterPosterClick(e,i.core.index)}),50)}))}},d.prototype.onVideoLoadAfterPosterClick=function(e,o){e.addClass("lg-video-loaded"),this.playVideo(o)},d.prototype.destroy=function(){this.core.LGel.off(".lg.video"),this.core.LGel.off(".video")},d}()}));;
278/**
279 * Swiper 8.3.2
280 * Most modern mobile touch slider and framework with hardware accelerated transitions
281 * https://swiperjs.com
282 *
283 * Copyright 2014-2022 Vladimir Kharlampidi
284 *
285 * Released under the MIT License
286 *
287 * Released on: July 26, 2022
288 */
289
290 !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={}
vendor: 6,243 bytes, line 290
290),Object.keys(a).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}class n extends Array{constructor(e){"number"==typeof e?super(e):(super(...e||[]),function(e){const t=e.__proto__;Object.defineProperty(e,"__proto__",{get:()=>t,set(e){t.__proto__=e}})}(this))}}function l(e){void 0===e&&(e=[]);const t=[];return e.forEach((e=>{Array.isArray(e)?t.push(...l(e)):t.push(e)})),t}function o(e,t){return Array.prototype.filter.call(e,t)}function d(e,t){const s=r(),i=a();let l=[];if(!t&&e instanceof n)return e;if(!e)return new n(l);if("string"==typeof e){const s=e.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){let e="div";0===s.indexOf("<li")&&(e="ul"),0===s.indexOf("<tr")&&(e="tbody"),0!==s.indexOf("<td")&&0!==s.indexOf("<th")||(e="tr"),0===s.indexOf("<tbody")&&(e="table"),0===s.indexOf("<option")&&(e="select");const t=i.createElement(e);t.innerHTML=s;for(let e=0;e<t.childNodes.length;e+=1)l.push(t.childNodes[e])}else l=function(e,t){if("string"!=typeof e)return[e];const s=[],a=t.querySelectorAll(e);for(let e=0;e<a.length;e+=1)s.push(a[e]);return s}(e.trim(),t||i)}else if(e.nodeType||e===s||e===i)l.push(e);else if(Array.isArray(e)){if(e instanceof n)return e;l=e}return new n(function(e){const t=[];for(let s=0;s<e.length;s+=1)-1===t.indexOf(e[s])&&t.push(e[s]);return t}(l))}d.fn=n.prototype;const c={addClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));return this.forEach((e=>{e.classList.add(...a)})),this},removeClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));return this.forEach((e=>{e.classList.remove(...a)})),this},hasClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));return o(this,(e=>a.filter((t=>e.classList.contains(t))).length>0)).length>0},toggleClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));this.forEach((e=>{a.forEach((t=>{e.classList.toggle(t)}))}))},attr:function(e,t){if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(let s=0;s<this.length;s+=1)if(2===arguments.length)this[s].setAttribute(e,t);else for(const t in e)this[s][t]=e[t],this[s].setAttribute(t,e[t]);return this},removeAttr:function(e){for(let t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},transform:function(e){for(let t=0;t<this.length;t+=1)this[t].style.transform=e;return this},transition:function(e){for(let t=0;t<this.length;t+=1)this[t].style.transitionDuration="string"!=typeof e?`${e}ms`:e;return this},on:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];let[a,i,r,n]=t;function l(e){const t=e.target;if(!t)return;const s=e.target.dom7EventData||[];if(s.indexOf(e)<0&&s.unshift(e),d(t).is(i))r.apply(t,s);else{const e=d(t).parents();for(let t=0;t<e.length;t+=1)d(e[t]).is(i)&&r.apply(e[t],s)}}function o(e){const t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),r.apply(this,t)}"function"==typeof t[1]&&([a,r,n]=t,i=void 0),n||(n=!1);const c=a.split(" ");let p;for(let e=0;e<this.length;e+=1){const t=this[e];if(i)for(p=0;p<c.length;p+=1){const e=c[p];t.dom7LiveListeners||(t.dom7LiveListeners={}),t.dom7LiveListeners[e]||(t.dom7LiveListeners[e]=[]),t.dom7LiveListeners[e].push({listener:r,proxyListener:l}),t.addEventListener(e,l,n)}else for(p=0;p<c.length;p+=1){const e=c[p];t.dom7Listeners||(t.dom7Listeners={}),t.dom7Listeners[e]||(t.dom7Listeners[e]=[]),t.dom7Listeners[e].push({listener:r,proxyListener:o}),t.addEventListener(e,o,n)}}return this},off:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];let[a,i,r,n]=t;"function"==typeof t[1]&&([a,r,n]=t,i=void 0),n||(n=!1);const l=a.split(" ");for(let e=0;e<l.length;e+=1){const t=l[e];for(let e=0;e<this.length;e+=1){const s=this[e];let a;if(!i&&s.dom7Listeners?a=s.dom7Listeners[t]:i&&s.dom7LiveListeners&&(a=s.dom7LiveListeners[t]),a&&a.length)for(let e=a.length-1;e>=0;e-=1){const i=a[e];r&&i.listener===r||r&&i.listener&&i.listener.dom7proxy&&i.listener.dom7proxy===r?(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1)):r||(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1))}}}return this},trigger:function(){const e=r();for(var t=arguments.length,s=new Array(t),a=0;a<t;a++)s[a]=arguments[a];const i=s[0].split(" "),n=s[1];for(let t=0;t<i.length;t+=1){const a=i[t];for(let t=0;t<this.length;t+=1){const i=this[t];if(e.CustomEvent){const t=new e.CustomEvent(a,{detail:n,bubbles:!0,cancelable:!0});i.dom7EventData=s.filter(((e,t)=>t>0)),i.dispatchEvent(t),i.dom7EventData=[],delete i.dom7EventData}}}return this},transitionEnd:function(e){const t=this;return e&&t.on("transitionend",(function s(a){a.target===this&&(e.call(this,a),t.off("transitionend",s))})),this},outerWidth:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+
vendor: 8,353 bytes, line 290
290parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){const e=r();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){const e=r(),t=a(),s=this[0],i=s.getBoundingClientRect(),n=t.body,l=s.clientTop||n.clientTop||0,o=s.clientLeft||n.clientLeft||0,d=s===e?e.scrollY:s.scrollTop,c=s===e?e.scrollX:s.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}return null},css:function(e,t){const s=r();let a;if(1===arguments.length){if("string"!=typeof e){for(a=0;a<this.length;a+=1)for(const t in e)this[a].style[t]=e[t];return this}if(this[0])return s.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(a=0;a<this.length;a+=1)this[a].style[e]=t;return this}return this},each:function(e){return e?(this.forEach(((t,s)=>{e.apply(t,[t,s])})),this):this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:null;for(let t=0;t<this.length;t+=1)this[t].innerHTML=e;return this},text:function(e){if(void 0===e)return this[0]?this[0].textContent.trim():null;for(let t=0;t<this.length;t+=1)this[t].textContent=e;return this},is:function(e){const t=r(),s=a(),i=this[0];let l,o;if(!i||void 0===e)return!1;if("string"==typeof e){if(i.matches)return i.matches(e);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(e);if(i.msMatchesSelector)return i.msMatchesSelector(e);for(l=d(e),o=0;o<l.length;o+=1)if(l[o]===i)return!0;return!1}if(e===s)return i===s;if(e===t)return i===t;if(e.nodeType||e instanceof n){for(l=e.nodeType?[e]:e,o=0;o<l.length;o+=1)if(l[o]===i)return!0;return!1}return!1},index:function(){let e,t=this[0];if(t){for(e=0;null!==(t=t.previousSibling);)1===t.nodeType&&(e+=1);return e}},eq:function(e){if(void 0===e)return this;const t=this.length;if(e>t-1)return d([]);if(e<0){const s=t+e;return d(s<0?[]:[this[s]])}return d([this[e]])},append:function(){let e;const t=a();for(let s=0;s<arguments.length;s+=1){e=s<0||arguments.length<=s?void 0:arguments[s];for(let s=0;s<this.length;s+=1)if("string"==typeof e){const a=t.createElement("div");for(a.innerHTML=e;a.firstChild;)this[s].appendChild(a.firstChild)}else if(e instanceof n)for(let t=0;t<e.length;t+=1)this[s].appendChild(e[t]);else this[s].appendChild(e)}return this},prepend:function(e){const t=a();let s,i;for(s=0;s<this.length;s+=1)if("string"==typeof e){const a=t.createElement("div");for(a.innerHTML=e,i=a.childNodes.length-1;i>=0;i-=1)this[s].insertBefore(a.childNodes[i],this[s].childNodes[0])}else if(e instanceof n)for(i=0;i<e.length;i+=1)this[s].insertBefore(e[i],this[s].childNodes[0]);else this[s].insertBefore(e,this[s].childNodes[0]);return this},next:function(e){return this.length>0?e?this[0].nextElementSibling&&d(this[0].nextElementSibling).is(e)?d([this[0].nextElementSibling]):d([]):this[0].nextElementSibling?d([this[0].nextElementSibling]):d([]):d([])},nextAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.nextElementSibling;){const a=s.nextElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},prev:function(e){if(this.length>0){const t=this[0];return e?t.previousElementSibling&&d(t.previousElementSibling).is(e)?d([t.previousElementSibling]):d([]):t.previousElementSibling?d([t.previousElementSibling]):d([])}return d([])},prevAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.previousElementSibling;){const a=s.previousElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},parent:function(e){const t=[];for(let s=0;s<this.length;s+=1)null!==this[s].parentNode&&(e?d(this[s].parentNode).is(e)&&t.push(this[s].parentNode):t.push(this[s].parentNode));return d(t)},parents:function(e){const t=[];for(let s=0;s<this.length;s+=1){let a=this[s].parentNode;for(;a;)e?d(a).is(e)&&t.push(a):t.push(a),a=a.parentNode}return d(t)},closest:function(e){let t=this;return void 0===e?d([]):(t.is(e)||(t=t.parents(e).eq(0)),t)},find:function(e){const t=[];for(let s=0;s<this.length;s+=1){const a=this[s].querySelectorAll(e);for(let e=0;e<a.length;e+=1)t.push(a[e])}return d(t)},children:function(e){const t=[];for(let s=0;s<this.length;s+=1){const a=this[s].children;for(let s=0;s<a.length;s+=1)e&&!d(a[s]).is(e)||t.push(a[s])}return d(t)},filter:function(e){return d(o(this,e))},remove:function(){for(let e=0;e<this.length;e+=1)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this}};function p(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function u(){return Date.now()}function h(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function m(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function f(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function g(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let s=1;s<arguments.length;s+=1){const a=s<0||arguments.length<=s?void 0:arguments[s];if(null!=a&&!f(a)){const s=Object.keys(Object(a)).filter((e=>t.indexOf(e)<0));for(let t=0,i=s.length;t<i;t+=1){const i=s[t],r=Object.getOwnPropertyDescriptor(a,i);void 0!==r&&r.enumerable&&(m(e[i])&&m(a[i])?a[i].__swiper__?e[i]=a[i]:g(e[i],a[i]):!m(e[i])&&m(a[i])?(e[i]={},a[i].__swiper__?e[i]=a[i]:g(e[i],a[i])):e[i]=a[i])}}}return e}function v(e,t,s){e.style.setProperty(t,s)}function w(e){let{swiper:t,targetPosition:s,side:a}=e;const i=r(),n=-t.translate;let l,o=null;const d=t.params.speed;t.wrapperEl.style.scrollSnapType="none",i.cancelAnimationFrame(t.cssModeFrameID);const c=s>n?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}let b,x,y;function E(){return b||(b=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch),passiveListener:function(){let t=!1;try{const s=Object.defineProperty({},"passive",{get(){t=!0}});e.addEventListener("testPassiveListener",null,s)}catch(e){}return t}(),gestures:"ongesturestart"in e}}()),b}function C(e){return void 0===e&&(e={}),x||(x=function(e){let{userAgent:t}=void 0===e?{}:e;const s=E(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),h=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),m="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!m&&(l.os="android",l.android=!0),(p||h||u)&&(l.os="ios",l.ios=!0),l}(e)),x}function T(){return y||(y=function(){const e=r();return{isSafari:function(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}
290(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),y}Object.keys(c).forEach((e=>{Object.defineProperty(d.fn,e,{value:c[e],writable:!0})}));var $={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n<s;n++)r[n]=arguments[n];t.apply(a,r)}return i.__emitterProxy=t,a.on(e,i,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const a=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[a](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n<i;n++)r[n]=arguments[n];"string"==typeof r[0]||Array.isArray(r[0])?(t=r[0],s=r.slice(1,r.length),a=e):(t=r[0].events,s=r[0].data,a=r[0].context||e),s.unshift(a);return(Array.isArray(t)?t:t.split(" ")).forEach((t=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};var S={updateSize:function(){const e=this;let t,s;const a=e.$el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:a[0].clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:a[0].clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(a.css("padding-left")||0,10)-parseInt(a.css("padding-right")||0,10),s=s-parseInt(a.css("padding-top")||0,10)-parseInt(a.css("padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t){return e.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}function s(e,s){return parseFloat(e.getPropertyValue(t(s))||0)}const a=e.params,{$wrapperEl:i,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&a.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=i.children(`.${e.params.slideClass}`),p=o?e.virtual.slides.length:c.length;let u=[];const h=[],m=[];let f=a.slidesOffsetBefore;"function"==typeof f&&(f=a.slidesOffsetBefore.call(e));let g=a.slidesOffsetAfter;"function"==typeof g&&(g=a.slidesOffsetAfter.call(e));const w=e.snapGrid.length,b=e.slidesGrid.length;let x=a.spaceBetween,y=-f,E=0,C=0;if(void 0===r)return;"string"==typeof x&&x.indexOf("%")>=0&&(x=parseFloat(x.replace("%",""))/100*r),e.virtualSize=-x,n?c.css({marginLeft:"",marginBottom:"",marginTop:""}):c.css({marginRight:"",marginBottom:"",marginTop:""}),a.centeredSlides&&a.cssMode&&(v(e.wrapperEl,"--swiper-centered-offset-before",""),v(e.wrapperEl,"--swiper-centered-offset-after",""));const T=a.grid&&a.grid.rows>1&&e.grid;let $;T&&e.grid.initSlides(p);const S="auto"===a.slidesPerView&&a.breakpoints&&Object.keys(a.breakpoints).filter((e=>void 0!==a.breakpoints[e].slidesPerView)).length>0;for(let i=0;i<p;i+=1){$=0;const n=c.eq(i);if(T&&e.grid.updateSlide(i,n,p,t),"none"!==n.css("display")){if("auto"===a.slidesPerView){S&&(c[i].style[t("width")]="");const r=getComputedStyle(n[0]),l=n[0].style.transform,o=n[0].style.webkitTransform;if(l&&(n[0].style.transform="none"),o&&(n[0].style.webkitTransform="none"),a.roundLengths)$=e.isHorizontal()?n.outerWidth(!0):n.outerHeight(!0);else{const e=s(r,"width"),t=s(r,"padding-left"),a=s(r,"padding-right"),i=s(r,"margin-left"),l=s(r,"margin-right"),o=r.getPropertyValue("box-sizing");if(o&&"border-box"===o)$=e+i+l;else{const{clientWidth:s,offsetWidth:r}=n[0];$=e+t+a+i+l+(r-s)}}l&&(n[0].style.transform=l),o&&(n[0].style.webkitTransform=o),a.roundLengths&&($=Math.floor($))}else $=(r-(a.slidesPerView-1)*x)/a.slidesPerView,a.roundLengths&&($=Math.floor($)),c[i]&&(c[i].style[t("width")]=`${$}px`);c[i]&&(c[i].swiperSlideSize=$),m.push($),a.centeredSlides?(y=y+$/2+E/2+x,0===E&&0!==i&&(y=y-r/2-x),0===i&&(y=y-r/2-x),Math.abs(y)<.001&&(y=0),a.roundLengths&&(y=Math.floor(y)),C%a.slidesPerGroup==0&&u.push(y),h.push(y)):(a.roun
vendor: 11,528 bytes, line 290
290dLengths&&(y=Math.floor(y)),(C-Math.min(e.params.slidesPerGroupSkip,C))%e.params.slidesPerGroup==0&&u.push(y),h.push(y),y=y+$+x),e.virtualSize+=$+x,E=$,C+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+g,n&&l&&("slide"===a.effect||"coverflow"===a.effect)&&i.css({width:`${e.virtualSize+a.spaceBetween}px`}),a.setWrapperSize&&i.css({[t("width")]:`${e.virtualSize+a.spaceBetween}px`}),T&&e.grid.updateWrapperSize($,u,t),!a.centeredSlides){const t=[];for(let s=0;s<u.length;s+=1){let i=u[s];a.roundLengths&&(i=Math.floor(i)),u[s]<=e.virtualSize-r&&t.push(i)}u=t,Math.floor(e.virtualSize-r)-Math.floor(u[u.length-1])>1&&u.push(e.virtualSize-r)}if(0===u.length&&(u=[0]),0!==a.spaceBetween){const s=e.isHorizontal()&&n?"marginLeft":t("marginRight");c.filter(((e,t)=>!a.cssMode||t!==c.length-1)).css({[s]:`${x}px`})}if(a.centeredSlides&&a.centeredSlidesBounds){let e=0;m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween;const t=e-r;u=u.map((e=>e<0?-f:e>t?t+g:e))}if(a.centerInsufficientSlides){let e=0;if(m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween,e<r){const t=(r-e)/2;u.forEach(((e,s)=>{u[s]=e-t})),h.forEach(((e,s)=>{h[s]=e+t}))}}if(Object.assign(e,{slides:c,snapGrid:u,slidesGrid:h,slidesSizesGrid:m}),a.centeredSlides&&a.cssMode&&!a.centeredSlidesBounds){v(e.wrapperEl,"--swiper-centered-offset-before",-u[0]+"px"),v(e.wrapperEl,"--swiper-centered-offset-after",e.size/2-m[m.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),u.length!==w&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==b&&e.emit("slidesGridLengthChange"),a.watchSlidesProgress&&e.updateSlidesOffset(),!(o||a.cssMode||"slide"!==a.effect&&"fade"!==a.effect)){const t=`${a.containerModifierClass}backface-hidden`,s=e.$el.hasClass(t);p<=a.maxBackfaceHiddenSlides?s||e.$el.addClass(t):s&&e.$el.removeClass(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides.filter((t=>parseInt(t.getAttribute("data-swiper-slide-index"),10)===e))[0]:t.slides.eq(e)[0];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||d([])).each((e=>{s.push(e)}));else for(i=0;i<Math.ceil(t.params.slidesPerView);i+=1){const e=t.activeIndex+i;if(e>t.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;i<s.length;i+=1)if(void 0!==s[i]){const e=s[i].offsetHeight;r=e>r?e:r}(r||0===r)&&t.$wrapperEl.css("height",`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides;for(let s=0;s<t.length;s+=1)t[s].swiperSlideOffset=e.isHorizontal()?t[s].offsetLeft:t[s].offsetTop},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const t=this,s=t.params,{slides:a,rtlTranslate:i,snapGrid:r}=t;if(0===a.length)return;void 0===a[0].swiperSlideOffset&&t.updateSlidesOffset();let n=-e;i&&(n=e),a.removeClass(s.slideVisibleClass),t.visibleSlidesIndexes=[],t.visibleSlides=[];for(let e=0;e<a.length;e+=1){const l=a[e];let o=l.swiperSlideOffset;s.cssMode&&s.centeredSlides&&(o-=a[0].swiperSlideOffset);const d=(n+(s.centeredSlides?t.minTranslate():0)-o)/(l.swiperSlideSize+s.spaceBetween),c=(n-r[0]+(s.centeredSlides?t.minTranslate():0)-o)/(l.swiperSlideSize+s.spaceBetween),p=-(n-o),u=p+t.slidesSizesGrid[e];(p>=0&&p<t.size-1||u>1&&u<=t.size||p<=0&&u>=t.size)&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(e),a.eq(e).addClass(s.slideVisibleClass)),l.progress=i?-d:d,l.originalProgress=i?-c:c}t.visibleSlides=d(t.visibleSlides)},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n}=t;const l=r,o=n;0===a?(i=0,r=!0,n=!0):(i=(e-t.minTranslate())/a,r=i<=0,n=i>=1),Object.assign(t,{progress:i,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!l&&t.emit("reachBeginning toEdge"),n&&!o&&t.emit("reachEnd toEdge"),(l&&!r||o&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,$wrapperEl:a,activeIndex:i,realIndex:r}=e,n=e.virtual&&s.virtual.enabled;let l;t.removeClass(`${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`),l=n?e.$wrapperEl.find(`.${s.slideClass}[data-swiper-slide-index="${i}"]`):t.eq(i),l.addClass(s.slideActiveClass),s.loop&&(l.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass));let o=l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);s.loop&&0===o.length&&(o=t.eq(0),o.addClass(s.slideNextClass));let d=l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);s.loop&&0===d.length&&(d=t.eq(-1),d.addClass(s.slidePrevClass)),s.loop&&(o.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass),d.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{slidesGrid:a,snapGrid:i,params:r,activeIndex:n,realIndex:l,snapIndex:o}=t;let d,c=e;if(void 0===c){for(let e=0;e<a.length;e+=1)void 0!==a[e+1]?s>=a[e]&&s<a[e+1]-(a[e+1]-a[e])/2?c=e:s>=a[e]&&s<a[e+1]&&(c=e+1):s>=a[e]&&(c=e);r.normalizeSlideIndex&&(c<0||void 0===c)&&(c=0)}if(i.indexOf(s)>=0)d=i.indexOf(s);else{const e=Math.min(r.slidesPerGroupSkip,c);d=e+Math.floor((c-e)/r.slidesPerGroup)}if(d>=i.length&&(d=i.length-1),c===n)return void(d!==o&&(t.snapIndex=d,t.emit("snapIndexChange")));const p=parseInt(t.slides.eq(c).attr("data-swiper-slide-index")||c,10);Object.assign(t,{snapIndex:d,realIndex:p,previousIndex:n,activeIndex:c}),t.emit("activeIndexChange"),t.emit("snapIndexChange"),l!==p&&t.emit("realIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&t.emit("slideChange")},updateClickedSlide:function(e){const t=this,s=t.params,a=d(e).closest(`.${s.slideClass}`)[0];let i,r=!1;if(a)for(let e=0;e<t.slides.length;e+=1)if(t.slides[e]===a){r=!0,i=e;break}if(!a||!r)return t.clickedSlide=void 0,void(t.clickedIndex=void 0);t.clickedSlide=a,t.virtual&&t.params.virtual.enabled?t.clickedIndex=parseInt(d(a).attr("data-swiper-slide-index"),10):t.clickedIndex=i,s.slideToClickedSlide&&void 0!==t.clickedIndex&&t.clickedIndex!==t.activeIndex&&t.slideToClickedSlide()}};var M={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:t,rtlTranslate:s,translate:a,$wrapperEl:i}=this;if(t.virtualTranslate)return s?-a:a;if(t.cssMode)return a;let r=h(i[0],e);return s&&(r=-r),r||0},setTranslate:function(e,t){const s=this,{rtlTranslate:a,params:i,$wrapperEl:r,wrapperEl:n,progress:l}=s;let o,d=0,c=0;s.isHorizontal()?d=a?-e:e:c=e,i.roundLengths&&(d=Math.floor(d),c=Math.floor(c)),i.cssMode?n[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-d:-c:i.virtualTranslate||r.transform(`translate3d(${d}px, ${c}px, 0px)`),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?d:c;const p=s.maxTranslate()-s.minTranslate();o=0===p?0:(e-s.minTranslate())/p,o!==l&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,s,a,i){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),void 0===a&&(a=!0);const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let c;if(c=a&&e>o?o:a&&e<d?d:e,r.updateProgress(c),n.cssMode){const e=r.isHorizontal();if(0===t)l[e?"scrollLeft":"scrollTop"]=-c;else{if(!r.support.smoothScroll)return w({swiper:r,targetPosition:-c,side:e?"left":"top"}),!0;l.scrollTo({[e?"left":"top"]:-c,behavior:"smooth"})}return!0}return 0===t?(r.setTransition(0),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,s&&r.emit("transitionEnd"))}),r.$wrapperEl[0].addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onTranslateToWrapperTransitionEnd))),!0}};function P(e){let{swiper:t,runCallbacks:s,direction:a,step:i}=e;const{activeIndex:r,previousIndex:n}=t;let l=a;if(l||(l=r>n?"next":r<n?"prev":"reset"),t.emit(`transition${i}`),s&&r!==n){if("reset"===l)return void t.emit(`slideResetTransition${i}`);t.emit(`slideChangeTransition${i}`),"next"===l?t.emit(`slideNextTransition${i}`):t.emit(`slidePrevTransition${i}`)}}var k={slideTo:function(e,t,s,a,i){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"number"!=typeof e&&"string"!=typeof e)throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`);if("string"==typeof e){const t=parseInt(e,10);if(!isFinite(t))throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);e=t}const r=this;let n=e;n<0&&(n=0);const{params:l,snapGrid:o,slidesGrid:d,previousIndex:c,activeIndex:p,rtlTranslate:u,wrapperEl:h,enabled:m}=r;if(r.animating&&l.preventInteractionOnTransition||!m&&!a&&!i)return!1;const f=Math.min(r.params.slidesPerGroupSkip,n);let g=f+Math.floor((n-f)/r.params.slidesPerGroup);g>=o.length&&(g=o.length-1),(p||l.initialSlide||0)===(c||0)&&s&&r.emit("beforeSlideChangeStart");const v=-o[g];if(r.updateProgress(v),l.normalizeSlideIndex)for(let e=0;e<d.length;e+=1){const t=-Math.floor(100*v),s=Math.floor(100*d[e]),a=Math.floor(100*d[e+1]);void 0!==d[e+1]?t>=s&&t<a-(a-s)/2?n=e:t>=s&&t<a&&(n=e+1):t>=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&v<r.translate&&v<r.minTranslate())return!1;if(!r.allowSlidePrev&&v>r.translate&&v>r.maxTranslate()&&(p||0)!==n)return!1}let b;if(b=n>p?"next":n<p?"prev":"reset",u&&-v===r.translate||!u&&v===r.translate)return r.updateActiveIndex(n),l.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==l.effect&&r.setTranslate(v),"reset"!==b&&(r.transitionStart(s,b),r.transitionEnd(s,b)),!1;
290if(l.cssMode){const e=r.isHorizontal(),s=u?v:-v;if(0===t){const t=r.virtual&&r.params.virtual.enabled;t&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),h[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._swiperImmediateVirtual=!1}))}else{if(!r.support.smoothScroll)return w({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(v),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"string"==typeof e){const t=parseInt(e,10);if(!isFinite(t))throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);e=t}const i=this;let r=e;return i.params.loop&&(r+=i.loopedSlides),i.slideTo(r,t,s,a)},slideNext:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{animating:i,enabled:r,params:n}=a;if(!r)return a;let l=n.slidesPerGroup;"auto"===n.slidesPerView&&1===n.slidesPerGroup&&n.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndex<n.slidesPerGroupSkip?1:l;if(n.loop){if(i&&n.loopPreventsSlide)return!1;a.loopFix(),a._clientLeft=a.$wrapperEl[0].clientLeft}return n.rewind&&a.isEnd?a.slideTo(0,e,t,s):a.slideTo(a.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{params:i,animating:r,snapGrid:n,slidesGrid:l,rtlTranslate:o,enabled:d}=a;if(!d)return a;if(i.loop){if(r&&i.loopPreventsSlide)return!1;a.loopFix(),a._clientLeft=a.$wrapperEl[0].clientLeft}function c(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const p=c(o?a.translate:-a.translate),u=n.map((e=>c(e)));let h=n[u.indexOf(p)-1];if(void 0===h&&i.cssMode){let e;
290n.forEach(((t,s)=>{p>=t&&(e=s)})),void 0!==e&&(h=n[e>0?e-1:e])}let m=0;if(void 0!==h&&(m=l.indexOf(h),m<0&&(m=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(m=m-a.slidesPerViewDynamic("previous",!0)+1,m=Math.max(m,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return a.slideTo(m,e,t,s)},slideReset:function(e,t,s){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this,{params:t,$wrapperEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;if(t.loop){if(e.animating)return;i=parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10),t.centeredSlides?r<e.loopedSlides-a/2||r>e.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var z={loopCreate:function(){const e=this,t=a(),{params:s,$wrapperEl:i}=e,r=i.children().length>0?d(i.children()[0].parentNode):i;r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();let n=r.children(`.${s.slideClass}`);if(s.loopFillGroupWithBlank){const e=s.slidesPerGroup-n.length%s.slidesPerGroup;if(e!==s.slidesPerGroup){for(let a=0;a<e;a+=1){const e=d(t.createElement("div")).addClass(`${s.slideClass} ${s.slideBlankClass}`);r.append(e)}n=r.children(`.${s.slideClass}`)}}"auto"!==s.slidesPerView||s.loopedSlides||(s.loopedSlides=n.length),e.loopedSlides=Math.ceil(parseFloat(s.loopedSlides||s.slidesPerView,10)),e.loopedSlides+=s.loopAdditionalSlides,e.loopedSlides>n.length&&e.params.loopedSlidesLimit&&(e.loopedSlides=n.length);const l=[],o=[];n.each(((e,t)=>{d(e).attr("data-swiper-slide-index",t)}));for(let t=0;t<e.loopedSlides;t+=1){const e=t-Math.floor(t/n.length)*n.length;o.push(n.eq(e)[0]),l.unshift(n.eq(n.length-e-1)[0])}for(let e=0;e<o.length;e+=1)r.append(d(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass));for(let e=l.length-1;e>=0;e-=1)r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass))},loopFix:function(){const e=this;e.emit("beforeLoopFix");const{activeIndex:t,slides:s,loopedSlides:a,allowSlidePrev:i,allowSlideNext:r,snapGrid:n,rtlTranslate:l}=e;let o;e.allowSlidePrev=!0,e.allowSlideNext=!0;const d=-n[t]-e.getTranslate();if(t<a){o=s.length-3*a+t,o+=a;e.slideTo(o,0,!1,!0)&&0!==d&&e.setTranslate((l?-e.translate:e.translate)-d)}else if(t>=s.length-a){o=-s.length+t+a,o+=a;e.slideTo(o,0,!1,!0)&&0!==d&&e.setTranslate((l?-e.translate:e.translate)-d)}e.allowSlidePrev=i,e.allowSlideNext=r,e.emit("loopFix")},loopDestroy:function(){const{$wrapperEl:e,params:t,slides:s}=this;e.children(`.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`).remove(),s.removeAttr("data-swiper-slide-index")}};function L(e){const t=this,s=a(),i=r(),n=t.touchEventsData,{params:l,touches:o,enabled:c}=t;if(!c)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=e;p.originalEvent&&(p=p.originalEvent);let h=d(p.target);if("wrapper"===l.touchEventsTarget&&!h.closest(t.wrapperEl).length)return;if(n.isTouchEvent="touchstart"===p.type,!n.isTouchEvent&&"which"in p&&3===p.which)return;if(!n.isTouchEvent&&"button"in p&&p.button>0)return;if(n.isTouched&&n.isMoved)return;
vendor: 4,890 bytes, line 290
290!!l.noSwipingClass&&""!==l.noSwipingClass&&p.target&&p.target.shadowRoot&&e.path&&e.path[0]&&(h=d(e.path[0]));const m=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!p.target||!p.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(m,h[0]):h.closest(m)[0]))return void(t.allowClick=!0);if(l.swipeHandler&&!h.closest(l.swipeHandler)[0])return;o.currentX="touchstart"===p.type?p.targetTouches[0].pageX:p.pageX,o.currentY="touchstart"===p.type?p.targetTouches[0].pageY:p.pageY;const g=o.currentX,v=o.currentY,w=l.edgeSwipeDetection||l.iOSEdgeSwipeDetection,b=l.edgeSwipeThreshold||l.iOSEdgeSwipeThreshold;if(w&&(g<=b||g>=i.innerWidth-b)){if("prevent"!==w)return;e.preventDefault()}if(Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=g,o.startY=v,n.touchStartTime=u(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1),"touchstart"!==p.type){let e=!0;h.is(n.focusableElements)&&(e=!1,"SELECT"===h[0].nodeName&&(n.isTouched=!1)),s.activeElement&&d(s.activeElement).is(n.focusableElements)&&s.activeElement!==h[0]&&s.activeElement.blur();const a=e&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!a||h[0].isContentEditable||p.preventDefault()}t.params.freeMode&&t.params.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",p)}function O(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:o}=s;if(!o)return;let c=e;if(c.originalEvent&&(c=c.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",c));if(i.isTouchEvent&&"touchmove"!==c.type)return;const p="touchmove"===c.type&&c.targetTouches&&(c.targetTouches[0]||c.changedTouches[0]),h="touchmove"===c.type?p.pageX:c.pageX,m="touchmove"===c.type?p.pageY:c.pageY;if(c.preventedByNestedSwiper)return n.startX=h,void(n.startY=m);if(!s.allowTouchMove)return d(c.target).is(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:h,startY:m,currentX:h,currentY:m}),i.touchStartTime=u()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(m<n.startY&&s.translate<=s.maxTranslate()||m>n.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(h<n.startX&&s.translate<=s.maxTranslate()||h>n.startX&&s.translate>=s.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&c.target===t.activeElement&&d(c.target).is(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);if(i.allowTouchCallbacks&&s.emit("touchMove",c),c.targetTouches&&c.targetTouches.length>1)return;n.currentX=h,n.currentY=m;const f=n.currentX-n.startX,g=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(f**2+g**2)<s.params.threshold)return;if(void 0===i.isScrolling){let e;s.isHorizontal()&&n.currentY===n.startY||s.isVertical()&&n.currentX===n.startX?i.isScrolling=!1:f*f+g*g>=25&&(e=180*Math.atan2(Math.abs(g),Math.abs(f))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",c),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&c.cancelable&&c.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&c.stopPropagation(),i.isMoved||(r.loop&&!r.cssMode&&s.loopFix(),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating&&s.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",c)),s.emit("sliderMove",c),i.isMoved=!0;let v=s.isHorizontal()?f:g;n.diff=v,v*=r.touchRatio,l&&(v=-v),s.swipeDirection=v>0?"prev":"next",i.currentTranslate=v+i.startTranslate;let w=!0,b=r.resistanceRatio;if(r.touchReleaseOnEdges&&(b=0),v>0&&i.currentTranslate>s.minTranslate()?(w=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+v)**b)):v<0&&i.currentTranslate<s.maxTranslate()&&(w=!1,r.resistance&&(i.currentTranslate=s.maxTranslate()+1-(s.maxTranslate()-i.startTranslate-v)**b)),w&&(c.preventedByNestedSwiper=!0),!s.allowSlideNext&&"next"===s.swipeDirection&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!s.allowSlidePrev&&"prev"===s.swipeDirection&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(v)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);
vendor: 4,233 bytes, line 290
290if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),s.params.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function I(e){const t=this,s=t.touchEventsData,{params:a,touches:i,rtlTranslate:r,slidesGrid:n,enabled:l}=t;if(!l)return;let o=e;if(o.originalEvent&&(o=o.originalEvent),s.allowTouchCallbacks&&t.emit("touchEnd",o),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&a.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);a.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const d=u(),c=d-s.touchStartTime;if(t.allowClick){const e=o.path||o.composedPath&&o.composedPath();t.updateClickedSlide(e&&e[0]||o.target),t.emit("tap click",o),c<300&&d-s.lastClickTime<300&&t.emit("doubleTap doubleClick",o)}if(s.lastClickTime=u(),p((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===i.diff||s.currentTranslate===s.startTranslate)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=a.followFinger?r?t.translate:-t.translate:-s.currentTranslate,a.cssMode)return;if(t.params.freeMode&&a.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});let m=0,f=t.slidesSizesGrid[0];for(let e=0;e<n.length;e+=e<a.slidesPerGroupSkip?1:a.slidesPerGroup){const t=e<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;void 0!==n[e+t]?h>=n[e]&&h<n[e+t]&&(m=e,f=n[e+t]-n[e]):h>=n[e]&&(m=e,f=n[n.length-1]-n[n.length-2])}let g=null,v=null;a.rewind&&(t.isBeginning?v=t.params.virtual&&t.params.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(g=0));const w=(h-n[m])/f,b=m<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;if(c>a.longSwipesMs){if(!a.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(w>=a.longSwipesRatio?t.slideTo(a.rewind&&t.isEnd?g:m+b):t.slideTo(m)),"prev"===t.swipeDirection&&(w>1-a.longSwipesRatio?t.slideTo(m+b):null!==v&&w<0&&Math.abs(w)>a.longSwipesRatio?t.slideTo(v):t.slideTo(m))}else{if(!a.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(o.target===t.navigation.nextEl||o.target===t.navigation.prevEl)?o.target===t.navigation.nextEl?t.slideTo(m+b):t.slideTo(m):("next"===t.swipeDirection&&t.slideTo(null!==g?g:m+b),"prev"===t.swipeDirection&&t.slideTo(null!==v?v:m))}}function A(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function D(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function G(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}let N=!1;function B(){}const H=(e,t)=>{const s=a(),{params:i,touchEvents:r,el:n,wrapperEl:l,device:o,support:d}=e,c=!!i.nested,p="on"===t?"addEventListener":"removeEventListener",u=t;if(d.touch){const t=!("touchstart"!==r.start||!d.passiveListener||!i.passiveListeners)&&{passive:!0,capture:!1};
vendor: 8,934 bytes, line 290
290n[p](r.start,e.onTouchStart,t),n[p](r.move,e.onTouchMove,d.passiveListener?{passive:!1,capture:c}:c),n[p](r.end,e.onTouchEnd,t),r.cancel&&n[p](r.cancel,e.onTouchEnd,t)}else n[p](r.start,e.onTouchStart,!1),s[p](r.move,e.onTouchMove,c),s[p](r.end,e.onTouchEnd,!1);(i.preventClicks||i.preventClicksPropagation)&&n[p]("click",e.onClick,!0),i.cssMode&&l[p]("scroll",e.onScroll),i.updateOnWindowResize?e[u](o.ios||o.android?"resize orientationchange observerUpdate":"resize observerUpdate",A,!0):e[u]("observerUpdate",A,!0)};var X={attachEvents:function(){const e=this,t=a(),{params:s,support:i}=e;e.onTouchStart=L.bind(e),e.onTouchMove=O.bind(e),e.onTouchEnd=I.bind(e),s.cssMode&&(e.onScroll=G.bind(e)),e.onClick=D.bind(e),i.touch&&!N&&(t.addEventListener("touchstart",B),N=!0),H(e,"on")},detachEvents:function(){H(this,"off")}};const Y=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var R={addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,$el:i,device:r,support:n}=e,l=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"pointer-events":!n.touch},{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...l),i.addClass([...t].join(" ")),e.emitContainerClasses()},removeClasses:function(){const{$el:e,classNames:t}=this;e.removeClass(t.join(" ")),this.emitContainerClasses()}};var W={init:!0,direction:"horizontal",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopedSlidesLimit:!0,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function j(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(["navigation","pagination","scrollbar"].indexOf(a)>=0&&!0===e[a]&&(e[a]={auto:!0}),a in e&&"enabled"in i?(!0===e[a]&&(e[a]={enabled:!0}),"object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),g(t,s)):g(t,s)):g(t,s)}}const q={eventsEmitter:$,update:S,translate:M,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||s.$wrapperEl.transition(e),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),P({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),P({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:k,loop:z,grabCursor:{setGrabCursor:function(e){const t=this;if(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;s.style.cursor="move",s.style.cursor=e?"grabbing":"grab"},unsetGrabCursor:function(){const e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="")}},events:X,breakpoints:{setBreakpoint:function(){const e=this,{activeIndex:t,initialized:s,loopedSlides:a=0,params:i,$el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=e.getBreakpoint(n,e.params.breakpointsBase,e.el);if(!l||e.currentBreakpoint===l)return;const o=(l in n?n[l]:void 0)||e.originalParams,d=Y(e,i),c=Y(e,o),p=i.enabled;d&&!c?(r.removeClass(`${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!d&&c&&(r.addClass(`${i.containerModifierClass}grid`),(o.grid.fill&&"column"===o.grid.fill||!o.grid.fill&&"column"===i.grid.fill)&&r.addClass(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach((t=>{const s=i[t]&&i[t].enabled,a=o[t]&&o[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const u=o.direction&&o.direction!==i.direction,h=i.loop&&(o.slidesPerView!==i.slidesPerView||u);u&&s&&e.changeDirection(),g(e.params,o);const m=e.params.enabled;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),p&&!m?e.disable():!p&&m&&e.enable(),e.currentBreakpoint=l,e.emit("_beforeBreakpoint",o),h&&s&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-a+e.loopedSlides,0,!1)),e.emit("breakpoint",o)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;e<l.length;e+=1){const{point:r,value:n}=l[e];"window"===t?i.matchMedia(`(min-width: ${n}px)`).matches&&(a=r):n<=s.clientWidth&&(a=r)}return a||"max"}},checkOverflow:{checkOverflow:function(){const e=this,{isLocked:t,params:s}=e,{slidesOffsetBefore:a}=s;if(a){const t=e.slides.length-1,s=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*a;e.isLocked=e.size>s}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:R,images:{loadImage:function(e,t,s,a,i,n){const l=r();let o;function c(){n&&n()}d(e).parent("picture")[0]||e.complete&&i?c():t?(o=new l.Image,o.onload=c,o.onerror=c,a&&(o.sizes=a),s&&(o.srcset=s),t&&(o.src=t)):c()},preloadImages:function(){const e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(let s=0;s<e.imagesToLoad.length;s+=1){const a=e.imagesToLoad[s];e.loadImage(a,a.currentSrc||a.getAttribute("src"),a.srcset||a.getAttribute("srcset"),a.sizes||a.getAttribute("sizes"),!0,t)}}}},_={};class V{constructor(){let e,t;for(var s=arguments.length,a=new Array(s),i=0;i<s;i++)a[i]=arguments[i];if(1===a.length&&a[0].constructor&&"Object"===Object.prototype.toString.call(a[0]).slice(8,-1)?t=a[0]:[e,t]=a,t||(t={}),t=g({},t),e&&!t.el&&(t.el=e),t.el&&d(t.el).length>1){const e=[];return d(t.el).each((s=>{const a=g({},t,{el:s});e.push(new V(a))})),e}const r=this;r.__swiper__=!0,r.support=E(),r.device=C({userAgent:t.userAgent}),r.browser=T(),r.eventsListeners={},r.eventsAnyListeners=[],r.modules=[...r.__modules__],t.modules&&Array.isArray(t.modules)&&r.modules.push(...t.modules);const n={};r.modules.forEach((e=>{e({swiper:r,extendParams:j(t,n),on:r.on.bind(r),once:r.once.bind(r),off:r.off.bind(r),emit:r.emit.bind(r)})}));const l=g({},W,n);return r.params=g({},l,_,t),r.originalParams=g({},r.params),r.passedParams=g({}
290,t),r.params&&r.params.on&&Object.keys(r.params.on).forEach((e=>{r.on(e,r.params.on[e])})),r.params&&r.params.onAny&&r.onAny(r.params.onAny),r.$=d,Object.assign(r,{enabled:r.params.enabled,el:e,classNames:[],slides:d(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===r.params.direction,isVertical:()=>"vertical"===r.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:r.params.allowSlideNext,allowSlidePrev:r.params.allowSlidePrev,touchEvents:function(){const e=["touchstart","touchmove","touchend","touchcancel"],t=["pointerdown","pointermove","pointerup"];return r.touchEventsTouch={start:e[0],move:e[1],end:e[2],cancel:e[3]},r.touchEventsDesktop={start:t[0],move:t[1],end:t[2]},r.support.touch||!r.params.simulateTouch?r.touchEventsTouch:r.touchEventsDesktop}(),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:r.params.focusableElements,lastClickTime:u(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:r.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),r.emit("_swiper"),r.params.init&&r.init(),r}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.each((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if(s.centeredSlides){let e,t=a[l].swiperSlideSize;for(let s=l+1;s<a.length;s+=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e<a.length;e+=1){(t?i[e]+r[e]-i[l]<n:i[e]-i[l]<n)&&(o+=1)}else for(let e=l-1;e>=0;e-=1){i[l]-i[e]<n&&(o+=1)}return o}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:t,params:s}=e;function a(){const t=e.rtlTranslate?-1*e.translate:e.translate,s=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(s),e.updateActiveIndex(),e.updateSlidesClasses()}let i;s.breakpoints&&e.setBreakpoint(),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode&&e.params.freeMode.enabled?(a(),e.params.autoHeight&&e.updateAutoHeight()):(i=("auto"===e.params.slidesPerView||e.params.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),i||a()),s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.$el.removeClass(`${s.params.containerModifierClass}${a}`).addClass(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.each((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.$el.addClass(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.$el.removeClass(`${t.params.containerModifierClass}
290rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;const s=d(e||t.params.el);if(!(e=s[0]))return!1;e.swiper=t;const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=(()=>{if(e&&e.shadowRoot&&e.shadowRoot.querySelector){const t=d(e.shadowRoot.querySelector(i()));return t.children=e=>s.children(e),t}return s.children?s.children(i()):d(s).children(i())})();if(0===r.length&&t.params.createElements){const e=a().createElement("div");r=d(e),e.className=t.params.wrapperClass,s.append(e),s.children(`.${t.params.slideClass}`).each((e=>{r.append(e)}))}return Object.assign(t,{$el:s,el:e,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0}init(e){const t=this;if(t.initialized)return t;return!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.params.loop?t.slideTo(t.params.initialSlide+t.loopedSlides,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,$el:i,$wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([a.slideVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.$el[0].swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){g(_,e)}static get extendedDefaults(){return _}static get defaults(){return W}static installModule(e){V.prototype.__modules__||(V.prototype.__modules__=[]);const t=V.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>V.installModule(e))),V):(V.installModule(e),V)}}function F(e,t,s,i){const r=a();
290return e.params.createElements&&Object.keys(i).forEach((a=>{if(!s[a]&&!0===s.auto){let n=e.$el.children(`.${i[a]}`)[0];n||(n=r.createElement("div"),n.className=i[a],e.$el.append(n)),s[a]=n,t[a]=n}})),s}function U(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,".")}`}function K(e){const t=this,{$wrapperEl:s,params:a}=t;if(a.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&s.append(e[t]);else s.append(e);a.loop&&t.loopCreate(),a.observer||t.update()}function Z(e){const t=this,{params:s,$wrapperEl:a,activeIndex:i}=t;s.loop&&t.loopDestroy();let r=i+1;if("object"==typeof e&&"length"in e){for(let t=0;t<e.length;t+=1)e[t]&&a.prepend(e[t]);r=i+e.length}else a.prepend(e);s.loop&&t.loopCreate(),s.observer||t.update(),t.slideTo(r,0,!1)}function Q(e,t){const s=this,{$wrapperEl:a,params:i,activeIndex:r}=s;let n=r;i.loop&&(n-=s.loopedSlides,s.loopDestroy(),s.slides=a.children(`.${i.slideClass}`));const l=s.slides.length;if(e<=0)return void s.prependSlide(t);if(e>=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides.eq(t);e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;e<t.length;e+=1)t[e]&&a.append(t[e]);o=n>e?n+t.length:n}else a.append(t);for(let e=0;e<d.length;e+=1)a.append(d[e]);i.loop&&s.loopCreate(),i.observer||s.update(),i.loop?s.slideTo(o+s.loopedSlides,0,!1):s.slideTo(o,0,!1)}function J(e){const t=this,{params:s,$wrapperEl:a,activeIndex:i}=t;let r=i;s.loop&&(r-=t.loopedSlides,t.loopDestroy(),t.slides=a.children(`.${s.slideClass}`));let n,l=r;if("object"==typeof e&&"length"in e){for(let s=0;s<e.length;s+=1)n=e[s],t.slides[n]&&t.slides.eq(n).remove(),n<l&&(l-=1);l=Math.max(l,0)}else n=e,t.slides[n]&&t.slides.eq(n).remove(),n<l&&(l-=1),l=Math.max(l,0);s.loop&&t.loopCreate(),s.observer||t.update(),s.loop?t.slideTo(l+t.loopedSlides,0,!1):t.slideTo(l,0,!1)}function ee(){const e=this,t=[];for(let s=0;s<e.slides.length;s+=1)t.push(s);e.removeSlide(t)}function te(e){const{effect:t,swiper:s,on:a,setTranslate:i,setTransition:r,overwriteParams:n,perspective:l,recreateShadows:o,getEffectParams:d}=e;let c;a("beforeInit",(()=>{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.each((e=>{s.$(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").remove()})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function se(e,t){return e.transformEl?t.find(e.transformEl).css({"backface-visibility":"hidden","-webkit-backface-visibility":"hidden"}):t}function ae(e){let{swiper:t,duration:s,transformEl:a,allSlides:i}=e;const{slides:r,activeIndex:n,$wrapperEl:l}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a?r.find(a):r:a?r.eq(n).find(a):r.eq(n),e.transitionEnd((()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=["webkitTransitionEnd","transitionend"];for(let t=0;t<e.length;t+=1)l.trigger(e[t])}))}}function ie(e,t,s){const a="swiper-slide-shadow"+(s?`-${s}`:""),i=e.transformEl?t.find(e.transformEl):t;let r=i.children(`.${a}`);return r.length||(r=d(`<div class="swiper-slide-shadow${s?`-${s}`:""}"></div>`),i.append(r)),r}Object.keys(q).forEach((e=>
290{Object.keys(q[e]).forEach((t=>{V.prototype[t]=q[e][t]}))})),V.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,t){void 0===t&&(t={});const s=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(1===e.length)return void i("observerUpdate",e[0]);const t=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(t):l.setTimeout(t,0)}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),n.push(s)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=t.$el.parents();for(let t=0;t<e.length;t+=1)o(e[t])}o(t.$el[0],{childList:t.params.observeSlideChildren}),o(t.$wrapperEl[0],{attributes:!1})}})),a("destroy",(()=>{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const re=[function(e){let t,{swiper:s,extendParams:a,on:i,emit:r}=e;function n(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];const i=a.renderSlide?d(a.renderSlide.call(s,e,t)):d(`<div class="${s.params.slideClass}" data-swiper-slide-index="${t}">${e}</div>`);return i.attr("data-swiper-slide-index")||i.attr("data-swiper-slide-index",t),a.cache&&(s.virtual.cache[t]=i),i}function l(e){const{slidesPerView:t,slidesPerGroup:a,centeredSlides:i}=s.params,{addSlidesBefore:l,addSlidesAfter:o}=s.params.virtual,{from:d,to:c,slides:p,slidesGrid:u,offset:h}=s.virtual;s.params.cssMode||s.updateActiveIndex();const m=s.activeIndex||0;let f,g,v;f=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",i?(g=Math.floor(t/2)+a+o,v=Math.floor(t/2)+a+l):(g=t+(a-1)+o,v=a+l);const w=Math.max((m||0)-v,0),b=Math.min((m||0)+g,p.length-1),x=(s.slidesGrid[w]||0)-(s.slidesGrid[0]||0);function y(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),s.lazy&&s.params.lazy.enabled&&s.lazy.load(),r("virtualUpdate")}if(Object.assign(s.virtual,{from:w,to:b,offset:x,slidesGrid:s.slidesGrid}),d===w&&c===b&&!e)return s.slidesGrid!==u&&x!==h&&s.slides.css(f,`${x}px`),s.updateProgress(),void r("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:x,from:w,to:b,slides:function(){const e=[];for(let t=w;t<=b;t+=1)e.push(p[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?y():r("virtualUpdate"));const E=[],C=[];if(e)s.$wrapperEl.find(`.${s.params.slideClass}`).remove();else for(let e=d;e<=c;e+=1)(e<w||e>b)&&s.$wrapperEl.find(`.${s.params.slideClass}[data-swiper-slide-index="${e}"]`).remove();for(let t=0;t<p.length;t+=1)t>=w&&t<=b&&(void 0===c||e?C.push(t):(t>c&&C.push(t),t<d&&E.push(t)));C.forEach((e=>{s.$wrapperEl.append(n(p[e],e))})),E.sort(((e,t)=>t-e)).forEach((e=>{s.$wrapperEl.prepend(n(p[e],e))})),s.$wrapperEl.children(".swiper-slide").css(f,`${x}px`),y()}a({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}}),s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]},i("beforeInit",(()=>{s.params.virtual.enabled&&(s.virtual.slides=s.params.virtual.slides,s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,s.params.initialSlide||l())})),i("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{l()}),100)):l())})),i("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&v(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.push(e[t]);else s.virtual.slides.push(e);l(!0)},prependSlide:function(e){const t=s.activeIndex;let a=t+1,i=1;if(Array.isArray(e)){for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.unshift(e[t]);a=t+e.length,i=e.length}else s.virtual.slides.unshift(e);
vendor: 4,764 bytes, line 290
290if(s.params.virtual.cache){const e=s.virtual.cache,t={};Object.keys(e).forEach((s=>{const a=e[s],r=a.attr("data-swiper-slide-index");r&&a.attr("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}l(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.virtual.slides.splice(e[a],1),s.params.virtual.cache&&delete s.virtual.cache[e[a]],e[a]<t&&(t-=1),t=Math.max(t,0);else s.virtual.slides.splice(e,1),s.params.virtual.cache&&delete s.virtual.cache[e],e<t&&(t-=1),t=Math.max(t,0);l(!0),s.slideTo(t,0)},removeAllSlides:function(){s.virtual.slides=[],s.params.virtual.cache&&(s.virtual.cache={}),l(!0),s.slideTo(0,0)},update:l})},function(e){let{swiper:t,extendParams:s,on:i,emit:n}=e;const l=a(),o=r();function c(e){if(!t.enabled)return;const{rtlTranslate:s}=t;let a=e;a.originalEvent&&(a=a.originalEvent);const i=a.keyCode||a.charCode,r=t.params.keyboard.pageUpDown,d=r&&33===i,c=r&&34===i,p=37===i,u=39===i,h=38===i,m=40===i;if(!t.allowSlideNext&&(t.isHorizontal()&&u||t.isVertical()&&m||c))return!1;if(!t.allowSlidePrev&&(t.isHorizontal()&&p||t.isVertical()&&h||d))return!1;if(!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey||l.activeElement&&l.activeElement.nodeName&&("input"===l.activeElement.nodeName.toLowerCase()||"textarea"===l.activeElement.nodeName.toLowerCase()))){if(t.params.keyboard.onlyInViewport&&(d||c||p||u||h||m)){let e=!1;if(t.$el.parents(`.${t.params.slideClass}`).length>0&&0===t.$el.parents(`.${t.params.slideActiveClass}`).length)return;const a=t.$el,i=a[0].clientWidth,r=a[0].clientHeight,n=o.innerWidth,l=o.innerHeight,d=t.$el.offset();s&&(d.left-=t.$el[0].scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t<c.length;t+=1){const s=c[t];if(s[0]>=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||h||m)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||m)&&t.slideNext(),(d||h)&&t.slidePrev()),n("keyPress",i)}}function p(){t.keyboard.enabled||(d(l).on("keydown",c),t.keyboard.enabled=!0)}function u(){t.keyboard.enabled&&(d(l).off("keydown",c),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&p()})),i("destroy",(()=>{t.keyboard.enabled&&u()})),Object.assign(t.keyboard,{enable:p,disable:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let l;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null}}),t.mousewheel={enabled:!1};let o,c=u();const h=[];function m(){t.enabled&&(t.mouseEntered=!0)}function f(){t.enabled&&(t.mouseEntered=!1)}function g(e){return!(t.params.mousewheel.thresholdDelta&&e.delta<t.params.mousewheel.thresholdDelta)&&(!(t.params.mousewheel.thresholdTime&&u()-c<t.params.mousewheel.thresholdTime)&&(e.delta>=6&&u()-c<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),c=(new n.Date).getTime(),!1)))}function v(e){let s=e,a=!0;if(!t.enabled)return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.$el;if("container"!==t.params.mousewheel.eventsTarget&&(n=d(t.params.mousewheel.eventsTarget)),!t.mouseEntered&&!n[0].contains(s.target)&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let c=0;const m=t.rtlTranslate?-1:1,f=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(f.pixelX)>Math.abs(f.pixelY)))return!0;c=-f.pixelX*m}else{if(!(Math.abs(f.pixelY)>Math.abs(f.pixelX)))return!0;c=-f.pixelY}else c=Math.abs(f.pixelX)>Math.abs(f.pixelY)?-f.pixelX*m:-f.pixelY;if(0===c)return!0;r.invert&&(c=-c);let v=t.getTranslate()+c*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={t
290ime:u(),delta:Math.abs(c),direction:Math.sign(c)},a=o&&e.time<o.time+500&&e.delta<=o.delta&&e.direction===o.direction;if(!a){o=void 0,t.params.loop&&t.loopFix();let n=t.getTranslate()+c*r.sensitivity;const d=t.isBeginning,u=t.isEnd;if(n>=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!d&&t.isBeginning||!u&&t.isEnd)&&t.updateSlidesClasses(),t.params.freeMode.sticky){clearTimeout(l),l=void 0,h.length>=15&&h.shift();const s=h.length?h[h.length-1]:void 0,a=h[0];if(h.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))h.splice(0);else if(h.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=c>0?.8:.2;o=e,h.splice(0),l=p((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}l||(l=p((()=>{o=e,h.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),n===t.minTranslate()||n===t.maxTranslate())return!0}}else{const s={time:u(),delta:Math.abs(c),direction:Math.sign(c),raw:e};h.length>=2&&h.shift();const a=h.length?h[h.length-1]:void 0;if(h.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&g(s):g(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function w(e){let s=t.$el;"container"!==t.params.mousewheel.eventsTarget&&(s=d(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",f),s[e]("wheel",v)}function b(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",v),!0):!t.mousewheel.enabled&&(w("on"),t.mousewheel.enabled=!0,!0)}function x(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,v),!0):!!t.mousewheel.enabled&&(w("off"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&x(),t.params.mousewheel.enabled&&b()})),a("destroy",(()=>{t.params.cssMode&&b(),t.mousewheel.enabled&&x()})),Object.assign(t.mousewheel,{enable:b,disable:x})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&(s=d(e),t.params.uniqueNavElements&&"string"==typeof e&&s.length>1&&1===t.$el.find(e).length&&(s=t.$el.find(e))),s}function n(e,s){const a=t.params.navigation;e&&e.length>0&&(e[s?"addClass":"removeClass"](a.disabledClass),e[0]&&"BUTTON"===e[0].tagName&&(e[0].disabled=s),t.params.watchOverflow&&t.enabled&&e[t.isLocked?"addClass":"removeClass"](a.lockClass))}function l(){if(t.params.loop)return;const{$nextEl:e,$prevEl:s}=t.navigation;n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function c(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function p(){const e=t.params.navigation;if(t.params.navigation=F(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;const s=r(e.nextEl),a=r(e.prevEl);s&&s.length>0&&s.on("click",c),a&&a.length>0&&a.on("click",o),Object.assign(t.navigation,{$nextEl:s,nextEl:s&&s[0],$prevEl:a,prevEl:a&&a[0]}),t.enabled||(s&&s.addClass(e.lockClass),a&&a.addClass(e.lockClass))}function u(){const{$nextEl:e,$prevEl:s}=t.navigation;e&&e.length&&(e.off("click",c),e.removeClass(t.params.navigation.disabledClass)),s&&s.length&&(s.off("click",o),s.removeClass(t.params.navigation.disabledClass))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,$nextEl:null,prevEl:null,$prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?h():(p(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{u()})),a("enable disable",(()=>{const{$nextEl:e,$prevEl:s}=t.navigation;e&&e[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),s&&s[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)})),a("click",((e,s)=>{const{$nextEl:a,$prevEl:r}=t.navigation,n=s.target;if(t.params.navigation.hideOnClick&&!d(n).is(r)&&!d(n).is(a)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a?e=a.hasClass(t.params.navigation.hiddenClass):r&&(e=r.hasClass(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),a&&a.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}));const h=()=>{t.$el.addClass(t.params.navigation.navigationDisabledClass),u()};Object.assign(t.navigation,{enable:()=>{t.$el.removeClass(t.params.navigation.navigationDisabledClass),p(),l()},disable:h,update:l,init:p,destroy:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}
290-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,$el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||!t.pagination.$el||0===t.pagination.$el.length}function c(e,s){const{bulletActiveClass:a}=t.params.pagination;e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`)}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;const a=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,r=t.pagination.$el;let p;const u=t.params.loop?Math.ceil((a-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(p=Math.ceil((t.activeIndex-t.loopedSlides)/t.params.slidesPerGroup),p>a-1-2*t.loopedSlides&&(p-=a-2*t.loopedSlides),p>u-1&&(p-=u),p<0&&"bullets"!==t.params.paginationType&&(p=u+p)):p=void 0!==t.snapIndex?t.snapIndex:t.activeIndex||0,"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const a=t.pagination.bullets;let i,o,u;if(s.dynamicBullets&&(n=a.eq(0)[t.isHorizontal()?"outerWidth":"outerHeight"](!0),r.css(t.isHorizontal()?"width":"height",n*(s.dynamicMainBullets+4)+"px"),s.dynamicMainBullets>1&&void 0!==t.previousIndex&&(l+=p-(t.previousIndex-t.loopedSlides||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),i=Math.max(p-l,0),o=i+(Math.min(a.length,s.dynamicMainBullets)-1),u=(o+i)/2),a.removeClass(["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`)).join(" ")),r.length>1)a.each((e=>{const t=d(e),a=t.index();a===p&&t.addClass(s.bulletActiveClass),s.dynamicBullets&&(a>=i&&a<=o&&t.addClass(`${s.bulletActiveClass}-main`),a===i&&c(t,"prev"),a===o&&c(t,"next"))}));else{const e=a.eq(p),r=e.index();if(e.addClass(s.bulletActiveClass),s.dynamicBullets){const e=a.eq(i),n=a.eq(o);for(let e=i;e<=o;e+=1)a.eq(e).addClass(`${s.bulletActiveClass}-main`);if(t.params.loop)if(r>=a.length){for(let e=s.dynamicMainBullets;e>=0;e-=1)a.eq(a.length-e).addClass(`${s.bulletActiveClass}-main`);a.eq(a.length-s.dynamicMainBullets-1).addClass(`${s.bulletActiveClass}-prev`)}else c(e,"prev"),c(n,"next");else c(e,"prev"),c(n,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),r=(n*i-n)/2-u*n,l=e?"right":"left";a.css(t.isHorizontal()?l:"top",`${r}px`)}}if("fraction"===s.type&&(r.find(U(s.currentClass)).text(s.formatFractionCurrent(p+1)),r.find(U(s.totalClass)).text(s.formatFractionTotal(u))),"progressbar"===s.type){let e;e=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const a=(p+1)/u;let i=1,n=1;"horizontal"===e?i=a:n=a,r.find(U(s.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${i}) scaleY(${n})`).transition(t.params.speed)}"custom"===s.type&&s.renderCustom?(r.html(s.renderCustom(t,p+1,u)),i("paginationRender",r[0])):i("paginationUpdate",r[0]),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](s.lockClass)}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,a=t.pagination.$el;let r="";if("bullets"===e.type){let i=t.params.loop?Math.ceil((s-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&!t.params.loop&&i>s&&(i=s);for(let s=0;s<i;s+=1)e.renderBullet?r+=e.renderBullet.call(t,s,e.bulletClass):r+=`<${e.bulletElement} class="${e.bulletClass}"></${e.bulletElement}>`;a.html(r),t.pagination.bullets=a.find(U(e.bulletClass))}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):`<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`,a.html(r)),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):`<span class="${e.progressbarFillClass}"></span>`,a.html(r)),"custom"!==e.type&&i("paginationRender",t.pagination.$el[0])}function h(){t.params.pagination=F(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s=d(e.el);0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&s.length>1&&(s=t.$el.find(e.el),s.length>1&&(s=s.filter((e=>d(e).parents(".swiper")[0]===t.el)))),"bullets"===e.type&&e.clickable&&s.addClass(e.clickableClass),s.addClass(e.modifierClass+e.type),s.addClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.addClass(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.addClass(e.progressbarOppositeClass),e.clickable&&s.on("click",U(e.bulletClass),(function(e){e.preventDefault();let s=d(this).index()*t.params.slidesPerGroup;t.params.loop&&(s+=t.loopedSlides),t.slideTo(s)})),Object.assign(t.pagination,{$el:s,el:s[0]}),t.enabled||s.addClass(e.lockClass))}function m(){const e=t.params.pagination;if(o())return;const s=t.pagination.$el;s.removeClass(e.hiddenClass),s.removeClass(e.modifierClass+e.type),s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.pagination.bullets&&t.pagination.bullets.removeClass&&t.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&s.off("click",U(e.bulletClass))}a("init",(()=>{!1===t.params.pagination.enabled?f():(h(),u(),p())})),a("activeIndexChange",(()=>{(t.params.loop||void 0===t.snapIndex)&&p()})),a("snapIndexChange",(()=>{t.params.loop||p()})),a("slidesLengthChange",(()=>{t.params.loop&&(u(),p())})),a("snapGridLengthChange",(()=>{t.params.loop||(u(),p())})),a("destroy",(()=>{m()}
vendor: 10,059 bytes, line 290
290)),a("enable disable",(()=>{const{$el:e}=t.pagination;e&&e[t.enabled?"removeClass":"addClass"](t.params.pagination.lockClass)})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,{$el:r}=t.pagination;if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!d(a).hasClass(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r.hasClass(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.toggleClass(t.params.pagination.hiddenClass)}}));const f=()=>{t.$el.addClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.addClass(t.params.pagination.paginationDisabledClass),m()};Object.assign(t.pagination,{enable:()=>{t.$el.removeClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.removeClass(t.params.pagination.paginationDisabledClass),h(),u(),p()},disable:f,render:u,update:p,init:h,destroy:m})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const n=a();let l,o,c,u,h=!1,m=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s,progress:a}=t,{$dragEl:i,$el:r}=e,n=t.params.scrollbar;let l=o,d=(c-o)*a;s?(d=-d,d>0?(l=o-d,d=0):-d+o>c&&(l=c+d)):d<0?(l=o+d,d=0):d+o>c&&(l=c-d),t.isHorizontal()?(i.transform(`translate3d(${d}px, 0, 0)`),i[0].style.width=`${l}px`):(i.transform(`translate3d(0px, ${d}px, 0)`),i[0].style.height=`${l}px`),n.hide&&(clearTimeout(m),r[0].style.opacity=1,m=setTimeout((()=>{r[0].style.opacity=0,r.transition(400)}),1e3))}function v(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{$dragEl:s,$el:a}=e;s[0].style.width="",s[0].style.height="",c=t.isHorizontal()?a[0].offsetWidth:a[0].offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),o="auto"===t.params.scrollbar.dragSize?c*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s[0].style.width=`${o}px`:s[0].style.height=`${o}px`,a[0].style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a[0].style.opacity=0),t.params.watchOverflow&&t.enabled&&e.$el[t.isLocked?"addClass":"removeClass"](t.params.scrollbar.lockClass)}function w(e){return t.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY}function b(e){const{scrollbar:s,rtlTranslate:a}=t,{$el:i}=s;let r;r=(w(e)-i.offset()[t.isHorizontal()?"left":"top"]-(null!==l?l:o/2))/(c-o),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n,$dragEl:o}=a;h=!0,l=e.target===o[0]||e.target===o?w(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.transition(100),o.transition(100),b(e),clearTimeout(f),n.transition(0),s.hide&&n.css("opacity",1),t.params.cssMode&&t.$wrapperEl.css("scroll-snap-type","none"),r("scrollbarDragStart",e)}function y(e){const{scrollbar:s,$wrapperEl:a}=t,{$el:i,$dragEl:n}=s;h&&(e.preventDefault?e.preventDefault():e.returnValue=!1,b(e),a.transition(0),i.transition(0),n.transition(0),r("scrollbarDragMove",e))}function E(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n}=a;h&&(h=!1,t.params.cssMode&&(t.$wrapperEl.css("scroll-snap-type",""),i.transition("")),s.hide&&(clearTimeout(f),f=p((()=>{n.css("opacity",0),n.transition(400)}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,touchEventsTouch:a,touchEventsDesktop:i,params:r,support:l}=t,o=s.$el;if(!o)return;const d=o[0],c=!(!l.passiveListener||!r.passiveListeners)&&{passive:!1,capture:!1},p=!(!l.passiveListener||!r.passiveListeners)&&{passive:!0,capture:!1};if(!d)return;const u="on"===e?"addEventListener":"removeEventListener";l.touch?(d[u](a.start,x,c),d[u](a.move,y,c),d[u](a.end,E,p)):(d[u](i.start,x,c),n[u](i.move,y,c),n[u](i.end,E,p))}function T(){const{scrollbar:e,$el:s}=t;t.params.scrollbar=F(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i=d(a.el);t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.find(a.el).length&&(i=s.find(a.el)),i.addClass(t.isHorizontal()?a.horizontalClass:a.verticalClass);let r=i.find(`.${t.params.scrollbar.dragClass}`);0===r.length&&(r=d(`<div class="${t.params.scrollbar.dragClass}"></div>`),i.append(r)),Object.assign(e,{$el:i,el:i[0],$dragEl:r,dragEl:r[0]}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)}function $(){const e=t.params.scrollbar,s=t.scrollbar.$el;s&&s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null,$el:null,$dragEl:null},i("init",(()=>{!1===t.params.scrollbar.enabled?S():(T(),v(),g())})),i("update resize observerUpdate lock unlock",(()=>{v()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&t.scrollbar.$dragEl.transition(e)}(s)})),i("enable disable",(()=>{const{$el:e}=t.scrollbar;e&&e[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)})),i("destroy",(()=>{$()}));const S=()=>{t.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),$()};Object.assign(t.scrollbar,{enable:()=>{t.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),T(),v(),g()},disable:S,updateSize:v,setTranslate:g,init:T,destroy:$})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i=(e,s)=>{const{rtl:a}=t,i=d(e),r=a?-1:1,n=i.attr("data-swiper-parallax")||"0";let l=i.attr("data-swiper-parallax-x"),o=i.attr("data-swiper-parallax-y");const c=i.attr("data-swiper-parallax-scale"),p=i.attr("data-swiper-parallax-opacity");if(l||o?(l=l||"0",o=o||"0"):t.isHorizontal()?(l=n,o="0"):(o=n,l="0"),l=l.indexOf("%")>=0?parseInt(l,10)*s*r+"%":l*s*r+"px",o=o.indexOf("%")>=0?parseInt(o,10)*s+"%":o*s+"px",null!=p){const e=p-(p-1)*(1-Math.abs(s));i[0].style.opacity=e}if(null==c)i.transform(`translate3d(${l}, ${o}, 0px)`);else{const e=c-(c-1)*(1-Math.abs(s));i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`)}},r=()=>{const{$el:e,slides:s,progress:a,snapGrid:r}=t;e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,a)})),s.each(((e,s)=>{let n=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(n+=Math.ceil(s/2)-a*(r.length-1)),n=Math.min(Math.max(n,-1),1),d(e).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,n)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&r()})),a("setTranslate",(()=>{t.params.parallax.enabled&&r()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{$el:s}=t;s.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((t=>{const s=d(t);let a=parseInt(s.attr("data-swiper-parallax-duration"),10)||e;0===e&&(a=0),s.transition(a)}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,o,c,p=1,u=!1;const m={$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},f={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let v=1;function w(e){if(e.targetTouches.length<2)return 1;const t=e.targetTouches[0].pageX,s=e.targetTouches[0].pageY,a=e.targetTouches[1].pageX,i=e.targetTouches[1].pageY;return Math.sqrt((a-t)**2+(i-s)**2)}function b(e){const s=t.support,a=t.params.zoom;if(o=!1,c=!1,!s.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;o=!0,m.scaleStart=w(e)}m.$slideEl&&m.$slideEl.length||(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`),0===m.$slideEl.length&&(m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`),m.maxRatio=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,0!==m.$imageWrapEl.length)?(m.$imageEl&&m.$imageEl.transition(0),u=!0):m.$imageEl=void 0}function x(e){const s=t.support,a=t.params.zoom,i=t.zoom;if(!s.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;c=!0,m.scaleMove=w(e)}m.$imageEl&&0!==m.$imageEl.length?(s.gestures?i.scale=e.scale*p:i.scale=m.scaleMove/m.scaleStart*p,i.scale>m.maxRatio&&(i.scale=m.maxRatio-1+(i.scale-m.maxRatio+1)**.5),i.scale<a.minRatio&&(i.scale=a.minRatio+1-(a.minRatio-i.scale+1)**.5),m.$imageEl.transform(`translate3d(0,
2900,0) scale(${i.scale})`)):"gesturechange"===e.type&&b(e)}function y(e){const s=t.device,a=t.support,i=t.params.zoom,r=t.zoom;if(!a.gestures){if(!o||!c)return;if("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2&&!s.android)return;o=!1,c=!1}m.$imageEl&&0!==m.$imageEl.length&&(r.scale=Math.max(Math.min(r.scale,m.maxRatio),i.minRatio),m.$imageEl.transition(t.params.speed).transform(`translate3d(0,0,0) scale(${r.scale})`),p=r.scale,u=!1,1===r.scale&&(m.$slideEl=void 0))}function E(e){const s=t.zoom;if(!m.$imageEl||0===m.$imageEl.length)return;if(t.allowClick=!1,!f.isTouched||!m.$slideEl)return;f.isMoved||(f.width=m.$imageEl[0].offsetWidth,f.height=m.$imageEl[0].offsetHeight,f.startX=h(m.$imageWrapEl[0],"x")||0,f.startY=h(m.$imageWrapEl[0],"y")||0,m.slideWidth=m.$slideEl[0].offsetWidth,m.slideHeight=m.$slideEl[0].offsetHeight,m.$imageWrapEl.transition(0));const a=f.width*s.scale,i=f.height*s.scale;if(!(a<m.slideWidth&&i<m.slideHeight)){if(f.minX=Math.min(m.slideWidth/2-a/2,0),f.maxX=-f.minX,f.minY=Math.min(m.slideHeight/2-i/2,0),f.maxY=-f.minY,f.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,f.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!f.isMoved&&!u){if(t.isHorizontal()&&(Math.floor(f.minX)===Math.floor(f.startX)&&f.touchesCurrent.x<f.touchesStart.x||Math.floor(f.maxX)===Math.floor(f.startX)&&f.touchesCurrent.x>f.touchesStart.x))return void(f.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(f.minY)===Math.floor(f.startY)&&f.touchesCurrent.y<f.touchesStart.y||Math.floor(f.maxY)===Math.floor(f.startY)&&f.touchesCurrent.y>f.touchesStart.y))return void(f.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),f.isMoved=!0,f.currentX=f.touchesCurrent.x-f.touchesStart.x+f.startX,f.currentY=f.touchesCurrent.y-f.touchesStart.y+f.startY,f.currentX<f.minX&&(f.currentX=f.minX+1-(f.minX-f.currentX+1)**.8),f.currentX>f.maxX&&(f.currentX=f.maxX-1+(f.currentX-f.maxX+1)**.8),f.currentY<f.minY&&(f.currentY=f.minY+1-(f.minY-f.currentY+1)**.8),f.currentY>f.maxY&&(f.currentY=f.maxY-1+(f.currentY-f.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=f.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=f.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(f.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(f.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(f.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(f.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=f.touchesCurrent.x,g.prevPositionY=f.touchesCurrent.y,g.prevTime=Date.now(),m.$imageWrapEl.transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}}function C(){const e=t.zoom;m.$slideEl&&t.previousIndex!==t.activeIndex&&(m.$imageEl&&m.$imageEl.transform("translate3d(0,0,0) scale(1)"),m.$imageWrapEl&&m.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,p=1,m.$slideEl=void 0,m.$imageEl=void 0,m.$imageWrapEl=void 0)}function T(e){const s=t.zoom,a=t.params.zoom;if(m.$slideEl||(e&&e.target&&(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`)),m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`)),!m.$imageEl||0===m.$imageEl.length||!m.$imageWrapEl||0===m.$imageWrapEl.length)return;let i,r,l,o,c,u,h,g,v,w,b,x,y,E,C,T,$,S;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.$slideEl.addClass(`${a.zoomedSlideClass}`),void 0===f.touchesStart.x&&e?(i="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,r="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(i=f.touchesStart.x,r=f.touchesStart.y),s.scale=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,p=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,e?($=m.$slideEl[0].offsetWidth,S=m.$slideEl[0].offsetHeight,l=m.$slideEl.offset().left+n.scrollX,o=m.$slideEl.offset().top+n.scrollY,c=l+$/2-i,u=o+S/2-r,v=m.$imageEl[0].offsetWidth,w=m.$imageEl[0].offsetHeight,b=v*s.scale,x=w*s.scale,y=Math.min($/2-b/2,0),E=Math.min(S/2-x/2,0),C=-y,T=-E,h=c*s.scale,g=u*s.scale,h<y&&(h=y),h>C&&(h=C),g<E&&(g=E),g>T&&(g=T)):(h=0,g=0),m.$imageWrapEl.transition(300).transform(`translate3d(${h}px, ${g}
290px,0)`),m.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${s.scale})`)}function $(){const e=t.zoom,s=t.params.zoom;m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex),m.$imageEl=m.$slideEl.find(`.${s.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${s.containerClass}`)),m.$imageEl&&0!==m.$imageEl.length&&m.$imageWrapEl&&0!==m.$imageWrapEl.length&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,p=1,m.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),m.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),m.$slideEl.removeClass(`${s.zoomedSlideClass}`),m.$slideEl=void 0)}function S(e){const s=t.zoom;s.scale&&1!==s.scale?$():T(e)}function M(){const e=t.support;return{passiveListener:!("touchstart"!==t.touchEvents.start||!e.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1},activeListenerWithCapture:!e.passiveListener||{passive:!1,capture:!0}}}function P(){return`.${t.params.slideClass}`}function k(e){const{passiveListener:s}=M(),a=P();t.$wrapperEl[e]("gesturestart",a,b,s),t.$wrapperEl[e]("gesturechange",a,x,s),t.$wrapperEl[e]("gestureend",a,y,s)}function z(){l||(l=!0,k("on"))}function L(){l&&(l=!1,k("off"))}function O(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const s=t.support,{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.on(t.touchEvents.start,z,a),t.$wrapperEl.on(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.on(t.touchEvents.start,r,b,a),t.$wrapperEl.on(t.touchEvents.move,r,x,i),t.$wrapperEl.on(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.on(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.on(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}function I(){const e=t.zoom;if(!e.enabled)return;const s=t.support;e.enabled=!1;const{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.off(t.touchEvents.start,z,a),t.$wrapperEl.off(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.off(t.touchEvents.start,r,b,a),t.$wrapperEl.off(t.touchEvents.move,r,x,i),t.$wrapperEl.off(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.off(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.off(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}Object.defineProperty(t.zoom,"scale",{get:()=>v,set(e){if(v!==e){const t=m.$imageEl?m.$imageEl[0]:void 0,s=m.$slideEl?m.$slideEl[0]:void 0;i("zoomChange",e,t,s)}v=e}}),a("init",(()=>{t.params.zoom.enabled&&O()})),a("destroy",(()=>{I()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;m.$imageEl&&0!==m.$imageEl.length&&(f.isTouched||(s.android&&e.cancelable&&e.preventDefault(),f.isTouched=!0,f.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,f.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.$imageEl||0===m.$imageEl.length)return;if(!f.isTouched||!f.isMoved)return f.isTouched=!1,void(f.isMoved=!1);f.isTouched=!1,f.isMoved=!1;let s=300,a=300;const i=g.x*s,r=f.currentX+i,n=g.y*a,l=f.currentY+n;0!==g.x&&(s=Math.abs((r-f.currentX)/g.x)),0!==g.y&&(a=Math.abs((l-f.currentY)/g.y));const o=Math.max(s,a);f.currentX=r,f.currentY=l;const d=f.width*e.scale,c=f.height*e.scale;f.minX=Math.min(m.slideWidth/2-d/2,0),f.maxX=-f.minX,f.minY=Math.min(m.slideHeight/2-c/2,0),f.maxY=-f.minY,f.currentX=Math.max(Math.min(f.currentX,f.maxX),f.minX),f.currentY=Math.max(Math.min(f.currentY,f.maxY),f.minY),m.$imageWrapEl.transition(o).transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&S(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&C()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&C()})),Object.assign(t.zoom,{enable:O,disable:I,in:T,out:$,toggle:S})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;s({lazy:{checkInView:!1,enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,scrollingElement:"",elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}}),t.lazy={};let n=!1,l=!1;function o(e,s){void 0===s&&(s=!0);const a=t.params.lazy;if(void 0===e)return;if(0===t.slides.length)return;const r=t.virtual&&t.params.virtual.enabled?t.$wrapperEl.children(`.${t.params.slideClass}[data-swiper-slide-index="${e}"]`):t.slides.eq(e),n=r.find(`.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})`);!r.hasClass(a.elementClass)||r.hasClass(a.loadedClass)||r.hasClass(a.loadingClass)||n.push(r[0]),0!==n.length&&n.each((e=>{const n=d(e);n.addClass(a.loadingClass);const l=n.attr("data-background"),c=n.attr("data-src"),p=n.attr("data-srcset"),u=n.attr("data-sizes"),h=n.parent("picture");t.loadImage(n[0],c||l,p,u,!1,(()=>
vendor: 7,179 bytes, line 290
290{if(null!=t&&t&&(!t||t.params)&&!t.destroyed){if(l?(n.css("background-image",`url("${l}")`),n.removeAttr("data-background")):(p&&(n.attr("srcset",p),n.removeAttr("data-srcset")),u&&(n.attr("sizes",u),n.removeAttr("data-sizes")),h.length&&h.children("source").each((e=>{const t=d(e);t.attr("data-srcset")&&(t.attr("srcset",t.attr("data-srcset")),t.removeAttr("data-srcset"))})),c&&(n.attr("src",c),n.removeAttr("data-src"))),n.addClass(a.loadedClass).removeClass(a.loadingClass),r.find(`.${a.preloaderClass}`).remove(),t.params.loop&&s){const e=r.attr("data-swiper-slide-index");if(r.hasClass(t.params.slideDuplicateClass)){o(t.$wrapperEl.children(`[data-swiper-slide-index="${e}"]:not(.${t.params.slideDuplicateClass})`).index(),!1)}else{o(t.$wrapperEl.children(`.${t.params.slideDuplicateClass}[data-swiper-slide-index="${e}"]`).index(),!1)}}i("lazyImageReady",r[0],n[0]),t.params.autoHeight&&t.updateAutoHeight()}})),i("lazyImageLoad",r[0],n[0])}))}function c(){const{$wrapperEl:e,params:s,slides:a,activeIndex:i}=t,r=t.virtual&&s.virtual.enabled,n=s.lazy;let c=s.slidesPerView;function p(t){if(r){if(e.children(`.${s.slideClass}[data-swiper-slide-index="${t}"]`).length)return!0}else if(a[t])return!0;return!1}function u(e){return r?d(e).attr("data-swiper-slide-index"):d(e).index()}if("auto"===c&&(c=0),l||(l=!0),t.params.watchSlidesProgress)e.children(`.${s.slideVisibleClass}`).each((e=>{o(r?d(e).attr("data-swiper-slide-index"):d(e).index())}));else if(c>1)for(let e=i;e<i+c;e+=1)p(e)&&o(e);else o(i);if(n.loadPrevNext)if(c>1||n.loadPrevNextAmount&&n.loadPrevNextAmount>1){const e=n.loadPrevNextAmount,t=Math.ceil(c),s=Math.min(i+t+Math.max(e,t),a.length),r=Math.max(i-Math.max(t,e),0);for(let e=i+t;e<s;e+=1)p(e)&&o(e);for(let e=r;e<i;e+=1)p(e)&&o(e)}else{const t=e.children(`.${s.slideNextClass}`);t.length>0&&o(u(t));const a=e.children(`.${s.slidePrevClass}`);a.length>0&&o(u(a))}}function p(){const e=r();if(!t||t.destroyed)return;const s=t.params.lazy.scrollingElement?d(t.params.lazy.scrollingElement):d(e),a=s[0]===e,i=a?e.innerWidth:s[0].offsetWidth,l=a?e.innerHeight:s[0].offsetHeight,o=t.$el.offset(),{rtlTranslate:u}=t;let h=!1;u&&(o.left-=t.$el[0].scrollLeft);const m=[[o.left,o.top],[o.left+t.width,o.top],[o.left,o.top+t.height],[o.left+t.width,o.top+t.height]];for(let e=0;e<m.length;e+=1){const t=m[e];if(t[0]>=0&&t[0]<=i&&t[1]>=0&&t[1]<=l){if(0===t[0]&&0===t[1])continue;h=!0}}const f=!("touchstart"!==t.touchEvents.start||!t.support.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1};h?(c(),s.off("scroll",p,f)):n||(n=!0,s.on("scroll",p,f))}a("beforeInit",(()=>{t.params.lazy.enabled&&t.params.preloadImages&&(t.params.preloadImages=!1)})),a("init",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("scroll",(()=>{t.params.freeMode&&t.params.freeMode.enabled&&!t.params.freeMode.sticky&&c()})),a("scrollbarDragMove resize _freeModeNoMomentumRelease",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("transitionStart",(()=>{t.params.lazy.enabled&&(t.params.lazy.loadOnTransitionStart||!t.params.lazy.loadOnTransitionStart&&!l)&&(t.params.lazy.checkInView?p():c())})),a("transitionEnd",(()=>{t.params.lazy.enabled&&!t.params.lazy.loadOnTransitionStart&&(t.params.lazy.checkInView?p():c())})),a("slideChange",(()=>{const{lazy:e,cssMode:s,watchSlidesProgress:a,touchReleaseOnEdges:i,resistanceRatio:r}=t.params;e.enabled&&(s||a&&(i||0===r))&&c()})),a("destroy",(()=>{t.$el&&t.$el.find(`.${t.params.lazy.loadingClass}`).removeClass(t.params.lazy.loadingClass)})),Object.assign(t.lazy,{load:c,loadInSlide:o})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline||(t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid))}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e<a.length;e+=1)a[e]!==s&&a[e]instanceof l&&o(a[e]);else a instanceof l&&s!==a&&o(a)},setTransition:function(e,s){const a=t.constructor,i=t.controller.control;let r;function n(s){s.setTransition(e,t),0!==e&&(s.transitionStart(),s.params.autoHeight&&p((()=>{s.updateAutoHeight()})),s.$wrapperEl.transitionEnd((()=>{i&&(s.params.loop&&"slide"===t.params.controller.by&&s.loopFix(),s.transitionEnd())})))}if(Array.isArray(i))for(r=0;r<i.length;r+=1)i[r]!==s&&i[r]instanceof a&&n(i[r]);else i instanceof a&&s!==i&&n(i)}})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,itemRoleDescriptionMessage:null,slideRole:"group",id:null}});let i=null;function r(e){const t=i;0!==t.length&&(t.html(""),t.html(e))}function n(e){e.attr("tabIndex","0")}function l(e){e.attr("tabIndex","-1")}function o(e,t){e.attr("role",t)}function c(e,t){e.attr("aria-roledescription",t)}function p(e,t){e.attr("aria-label",t)}function u(e){e.attr("aria-disabled",!0)}function h(e){e.attr("aria-disabled",!1)}function m(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=d(e.target);t.navigation&&t.navigation.$nextEl&&a.is(t.navigation.$nextEl)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?r(s.lastSlideMessage):r(s.nextSlideMessage)),t.navigation&&t.navigation.$prevEl&&a.is(t.navigation.$prevEl)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?r(s.firstSlideMessage):r(s.prevSlideMessage)),t.pagination&&a.is(U(t.params.pagination.bulletClass))&&a[0].click()}function f(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function g(){return f()&&t.params.pagination.clickable}const v=(e,t,s)=>
290{n(e),"BUTTON"!==e[0].tagName&&(o(e,"button"),e.on("keydown",m)),p(e,s),function(e,t){e.attr("aria-controls",t)}(e,t)},w=e=>{const s=e.target.closest(`.${t.params.slideClass}`);if(!s||!t.slides.includes(s))return;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,t.slideTo(t.slides.indexOf(s),0))},b=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&c(d(t.slides),e.itemRoleDescriptionMessage),e.slideRole&&o(d(t.slides),e.slideRole);const s=t.params.loop?t.slides.filter((e=>!e.classList.contains(t.params.slideDuplicateClass))).length:t.slides.length;e.slideLabelMessage&&t.slides.each(((a,i)=>{const r=d(a),n=t.params.loop?parseInt(r.attr("data-swiper-slide-index"),10):i;p(r,e.slideLabelMessage.replace(/\{\{index\}\}/,n+1).replace(/\{\{slidesLength\}\}/,s))}))},x=()=>{const e=t.params.a11y;t.$el.append(i);const s=t.$el;e.containerRoleDescriptionMessage&&c(s,e.containerRoleDescriptionMessage),e.containerMessage&&p(s,e.containerMessage);const a=t.$wrapperEl,r=e.id||a.attr("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const l=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var o;let d,u;o=r,a.attr("id",o),function(e,t){e.attr("aria-live",t)}(a,l),b(),t.navigation&&t.navigation.$nextEl&&(d=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(u=t.navigation.$prevEl),d&&d.length&&v(d,r,e.nextSlideMessage),u&&u.length&&v(u,r,e.prevSlideMessage),g()&&t.pagination.$el.on("keydown",U(t.params.pagination.bulletClass),m),t.$el.on("focus",w,!0)};a("beforeInit",(()=>{i=d(`<span class="${t.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`)})),a("afterInit",(()=>{t.params.a11y.enabled&&x()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&b()})),a("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{$nextEl:e,$prevEl:s}=t.navigation;s&&s.length>0&&(t.isBeginning?(u(s),l(s)):(h(s),n(s))),e&&e.length>0&&(t.isEnd?(u(e),l(e)):(h(e),n(e)))}()})),a("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;f()&&t.pagination.bullets.each((s=>{const a=d(s);t.params.pagination.clickable&&(n(a),t.params.pagination.renderBullet||(o(a,"button"),p(a,e.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1)))),a.is(`.${t.params.pagination.bulletActiveClass}`)?a.attr("aria-current","true"):a.removeAttr("aria-current")}))}()})),a("destroy",(()=>{t.params.a11y.enabled&&function(){let e,s;i&&i.length>0&&i.remove(),t.navigation&&t.navigation.$nextEl&&(e=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(s=t.navigation.$prevEl),e&&e.off("keydown",m),s&&s.off("keydown",m),g()&&t.pagination.$el.off("keydown",U(t.params.pagination.bulletClass),m),t.$el.off("focus",w,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.slides.eq(s);let d=l(o.attr("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e}/${d}`}else n.pathname.includes(e)||(d=`${e}/${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i<r;i+=1){const r=t.slides.eq(i);if(l(r.attr("data-history"))===s&&!r.hasClass(t.params.slideDuplicateClass)){const s=r.index();t.slideTo(s,e,a)}}else t.slideTo(0,e,a)},p=()=>{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();
290if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),(n.key||n.value)&&(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p))}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),c=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}});const p=()=>{i("hashChange");const e=o.location.hash.replace("#","");if(e!==t.slides.eq(t.activeIndex).attr("data-hash")){const s=t.$wrapperEl.children(`.${t.params.slideClass}[data-hash="${e}"]`).index();if(void 0===s)return;t.slideTo(s)}},u=()=>{if(l&&t.params.hashNavigation.enabled)if(t.params.hashNavigation.replaceState&&c.history&&c.history.replaceState)c.history.replaceState(null,null,`#${t.slides.eq(t.activeIndex).attr("data-hash")}`||""),i("hashSet");else{const e=t.slides.eq(t.activeIndex),s=e.attr("data-hash")||e.attr("data-history");o.location.hash=s||"",i("hashSet")}};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0;for(let a=0,i=t.slides.length;a<i;a+=1){const i=t.slides.eq(a);if((i.attr("data-hash")||i.attr("data-history"))===e&&!i.hasClass(t.params.slideDuplicateClass)){const e=i.index();t.slideTo(e,s,t.params.runCallbacksOnInit,!0)}}}t.params.hashNavigation.watchState&&d(c).on("hashchange",p)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d(c).off("hashchange",p)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&u()})),n("slideChange",(()=>{l&&t.params.cssMode&&u()}))},function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;function l(){if(!s.size)return s.autoplay.running=!1,void(s.autoplay.paused=!1);const e=s.slides.eq(s.activeIndex);let a=s.params.autoplay.delay;e.attr("data-swiper-autoplay")&&(a=e.attr("data-swiper-autoplay")||s.params.autoplay.delay),clearTimeout(t),t=p((()=>{let e;s.params.autoplay.reverseDirection?s.params.loop?(s.loopFix(),e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.isBeginning?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(s.slides.length-1,s.params.speed,!0,!0),n("autoplay")):(e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.params.loop?(s.loopFix(),e=s.slideNext(s.params.speed,!0,!0),n("autoplay")):s.isEnd?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(0,s.params.speed,!0,!0),n("autoplay")):(e=s.slideNext(s.params.speed,!0,!0),n("autoplay")),(s.params.cssMode&&s.autoplay.running||!1===e)&&l()}),a)}function o(){return void 0===t&&(!s.autoplay.running&&(s.autoplay.running=!0,n("autoplayStart"),l(),!0))}function d(){return!!s.autoplay.running&&(void 0!==t&&(t&&(clearTimeout(t),t=void 0),s.autoplay.running=!1,n("autoplayStop"),!0))}function c(e){s.autoplay.running&&(s.autoplay.paused||(t&&clearTimeout(t),s.autoplay.paused=!0,0!==e&&s.params.autoplay.waitForTransition?["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].addEventListener(e,h)})):(s.autoplay.paused=!1,l())))}function u(){const e=a();"hidden"===e.visibilityState&&s.autoplay.running&&c(),"visible"===e.visibilityState&&s.autoplay.paused&&(l(),s.autoplay.paused=!1)}function h(e){s&&!s.destroyed&&s.$wrapperEl&&e.target===s.$wrapperEl[0]&&(["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)})),s.autoplay.paused=!1,s.autoplay.running?l():d())}function m(){s.params.autoplay.disableOnInteraction?d():(n("autoplayPause"),c()),["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)}))}function f(){s.params.autoplay.disableOnInteraction||(s.autoplay.paused=!1,n("autoplayResume"),l())}s.autoplay={running:!1,paused:!1},i({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}}),r("init",(()=>{if(s.params.autoplay.enabled){o();a().addEventListener("visibilitychange",u),s.params.autoplay.pauseOnMouseEnter&&(s.$el.on("mouseenter",m),s.$el.on("mouseleave",f))}})),r("beforeTransitionStart",((e,t,a)=>{s.autoplay.running&&(a||!s.params.autoplay.disableOnInteraction?s.autoplay.pause(t):d())})),r("sliderFirstMove",(()=>{s.autoplay.running&&(s.params.autoplay.disableOnInteraction?d():c())})),r("touchEnd",(()=>{s.params.cssMode&&s.autoplay.paused&&!s.params.autoplay.disableOnInteraction&&l()})),r("destroy",(()=>{s.$el.off("mouseenter",m),s.$el.off("mouseleave",f),s.autoplay.running&&d();a().removeEventListener("visibilitychange",u)})),Object.assign(s.autoplay,{pause:c,run:l,start:o,stop:d})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let i=!1,r=!1;function n(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&d(a).hasClass(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;if(i=e.params.loop?parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10):s,t.params.loop){let e=t.activeIndex;t.slides.eq(e).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,e=t.activeIndex);const s=t.slides.eq(e).prevAll(`[data-swiper-slide-index="${i}"]`).eq(0).index(),a=t.slides.eq(e).nextAll(`[data-swiper-slide-index="${i}"]`).eq(0).index();i=void 0===s?a:void 0===a?s:a-e<e-s?a:s}t.slideTo(i)}function l(){const{thumbs:e}=t.params;if(i)return!1;i=!0;const s=t.constructor;if(e.swiper instanceof s)t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1});else if(m(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),r=!0}return t.thumbs.swiper.$el.addClass(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",n),!0}function o(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.removeClass(r),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e<i;e+=1)s.$wrapperEl.children(`[data-swiper-slide-index="${t.realIndex+e}"]`).addClass(r);else for(let e=0;e<i;e+=1)s.slides.eq(t.realIndex+e).addClass(r);const n=t.params.thumbs.autoScrollOffset,l=n&&!s.params.loop;if(t.realIndex!==s.realIndex||l){let i,r,o=s.activeIndex;if(s.params.loop){s.slides.eq(o).hasClass(s.params.slideDuplicateClass)&&(s.loopFix(),s._clientLeft=s.$wrapperEl[0].clientLeft,o=s.activeIndex);const e=s.slides.eq(o).prevAll(`[data-swiper-slide-index="${t.realIndex}"]`).eq(0).index(),a=s.slides.eq(o).nextAll(`[data-swiper-slide-index="${t.realIndex}"]`).eq(0).index();i=void 0===e?a:void 0===a?e:a-o==o-e?s.params.slidesPerGroup>1?a:o:a-o<o-e?a:e,r=t.activeIndex>t.previousIndex?"next":"prev"}else i=t.realIndex,r=i>t.previousIndex?"next":"prev";l&&(i+="next"===r?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(i)<0&&(s.params.centeredSlides?i=i>o?i-Math.floor(a/2)+1:i+Math.floor(a/2)-1:i>o&&s.params.slidesPerGroup,s.slideTo(i,e?0:void 0))}}t.thumbs={swiper:null},a("beforeInit",(()=>{const{thumbs:e}=t.params;e&&e.swiper&&(l(),o(!0))})),a("slideChange update resize observerUpdate",(()=>{o()})),a("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),a("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&r&&e.destroy()})),Object.assign(t.thumbs,{init:l,update:o})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:u()})},onTouchEnd:function(e){let{currentPos:s}=e;const{params:r,$wrapperEl:n,rtlTranslate:l,snapGrid:o,touchEventsData:d}=t,c=u()-d.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length<o.length?t.slideTo(o.length-1):t.slideTo(t.slides.length-1);else{if(r.freeMode.momentum){if(d.velocities.length>1){const e=d.velocities.pop(),s=d.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)<r.freeMode.minimumVelocity&&(t.velocity=0),(i>150||u()-e.time>300)&&(t.velocity=0)}else t.velocity=0;
vendor: 5,341 bytes, line 290
290t.velocity*=r.freeMode.momentumVelocityRatio,d.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let c=t.translate+s;l&&(c=-c);let p,h=!1;const m=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(c<t.maxTranslate())r.freeMode.momentumBounce?(c+t.maxTranslate()<-m&&(c=t.maxTranslate()-m),p=t.maxTranslate(),h=!0,d.allowMomentumBounce=!0):c=t.maxTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(c>t.minTranslate())r.freeMode.momentumBounce?(c-t.minTranslate()>m&&(c=t.minTranslate()+m),p=t.minTranslate(),h=!0,d.allowMomentumBounce=!0):c=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t<o.length;t+=1)if(o[t]>-c){e=t;break}c=Math.abs(o[e]-c)<Math.abs(o[e-1]-c)||"next"===t.swipeDirection?o[e]:o[e-1],c=-c}if(f&&i("transitionEnd",(()=>{t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-c-t.translate)/t.velocity):Math.abs((c-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-c:c)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s<a?r.speed:s<2*a?1.5*r.speed:2.5*r.speed}}else if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode.momentumBounce&&h?(t.updateProgress(p),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating=!0,n.transitionEnd((()=>{t&&!t.destroyed&&d.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(p),n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(c),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(c),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||c>=r.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,{swiper:i,extendParams:r}=e;r({grid:{rows:1,fill:"column"}}),i.grid={initSlides:e=>{const{slidesPerView:r}=i.params,{rows:n,fill:l}=i.params.grid;s=t/n,a=Math.floor(e/n),t=Math.floor(e/n)===e/n?e:Math.ceil(e/n)*n,"auto"!==r&&"row"===l&&(t=Math.max(t,r*n))},updateSlide:(e,r,n,l)=>{const{slidesPerGroup:o,spaceBetween:d}=i.params,{rows:c,fill:p}=i.params.grid;let u,h,m;if("row"===p&&o>1){const s=Math.floor(e/(o*c)),a=e-c*o*s,i=0===s?o:Math.min(Math.ceil((n-s*c*o)/c),o);m=Math.floor(a/i),h=a-m*i+s*o,u=h+m*t/c,r.css({"-webkit-order":u,order:u})}else"column"===p?(h=Math.floor(e/c),m=e-h*c,(h>a||h===a&&m===c-1)&&(m+=1,m>=c&&(m=0,h+=1))):(m=Math.floor(e/s),h=e-m*s);r.css(l("margin-top"),0!==m?d&&`${d}px`:"")},updateWrapperSize:(e,s,a)=>{const{spaceBetween:r,centeredSlides:n,roundLengths:l}=i.params,{rows:o}=i.params.grid;if(i.virtualSize=(e+r)*t,i.virtualSize=Math.ceil(i.virtualSize/o)-r,i.$wrapperEl.css({[a("width")]:`${i.virtualSize+r}px`}),n){s.splice(0,s.length);const e=[];for(let t=0;t<s.length;t+=1){let a=s[t];l&&(a=Math.floor(a)),s[t]<i.virtualSize+s[0]&&e.push(a)}s.push(...e)}}}},function(e){let{swiper:t}=e;Object.assign(t,{appendSlide:K.bind(t),prependSlide:Z.bind(t),addSlide:Q.bind(t),removeSlide:J.bind(t),removeAllSlides:ee.bind(t)})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({fadeEffect:{crossFade:!1,transformEl:null}}),te({effect:"fade",swiper:t,on:a,setTranslate:()=>{const{slides:e}=t,s=t.params.fadeEffect;for(let a=0;a<e.length;a+=1){const e=t.slides.eq(a);let i=-e[0].swiperSlideOffset;t.params.virtualTranslate||(i-=t.translate);let r=0;t.isHorizontal()||(r=i,i=0);const n=t.params.fadeEffect.crossFade?Math.max(1-Math.abs(e[0].progress),0):1+Math.min(Math.max(e[0].progress,-1),0);se(s,e).css({opacity:n}).transform(`translate3d(${i}px, ${r}px, 0px)`)}},setTransition:e=>{const{transformEl:s}=t.params.fadeEffect;(s?t.slides.find(s):t.slides).transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),i=s?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===a.length&&(a=d(`<div class="swiper-slide-shadow-${s?"left":"top"}"></div>`),e.append(a)),0===i.length&&(i=d(`<div class="swiper-slide-shadow-${s?"right":"bottom"}"></div>`),e.append(i)),a.length&&(a[0].style.opacity=Math.max(-t,0)),i.length&&(i[0].style.opacity=Math.max(t,0))};te({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{$el:e,$wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:c}=t,p=t.params.cubeEffect,u=t.isHorizontal(),h=t.virtual&&t.params.virtual.enabled;let m,f=0;p.shadow&&(u?(m=s.find(".swiper-cube-shadow"),0===m.length&&(m=d('<div class="swiper-cube-shadow"></div>'),s.append(m)),m.css({height:`${r}px`})):(m=e.find(".swiper-cube-shadow"),0===m.length&&(m=d('<div class="swiper-cube-shadow"></div>'),e.append(m))));for(let e=0;e<a.length;e+=1){const t=a.eq(e);let s=e;h&&(s=parseInt(t.attr("data-swiper-slide-index"),10));let r=90*s,n=Math.floor(r/360);l&&(r=-r,n=Math.floor(-r/360));
290const d=Math.max(Math.min(t[0].progress,1),-1);let c=0,m=0,g=0;s%4==0?(c=4*-n*o,g=0):(s-1)%4==0?(c=0,g=4*-n*o):(s-2)%4==0?(c=o+4*n*o,g=o):(s-3)%4==0&&(c=-o,g=3*o+4*o*n),l&&(c=-c),u||(m=c,c=0);const v=`rotateX(${u?0:-r}deg) rotateY(${u?r:0}deg) translate3d(${c}px, ${m}px, ${g}px)`;d<=1&&d>-1&&(f=90*s+90*d,l&&(f=90*-s-90*d)),t.transform(v),p.slideShadows&&i(t,d,u)}if(s.css({"-webkit-transform-origin":`50% 50% -${o/2}px`,"transform-origin":`50% 50% -${o/2}px`}),p.shadow)if(u)m.transform(`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(90deg) rotateZ(0deg) scale(${p.shadowScale})`);else{const e=Math.abs(f)-90*Math.floor(Math.abs(f)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;m.transform(`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-90deg)`)}const g=c.isSafari||c.isWebView?-o/2:0;s.transform(`translate3d(0px,0,${g}px) rotateX(${t.isHorizontal()?0:f}deg) rotateY(${t.isHorizontal()?-f:0}deg)`),s[0].style.setProperty("--swiper-cube-translate-z",`${g}px`)},setTransition:e=>{const{$el:s,slides:a}=t;a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.cubeEffect.shadow&&!t.isHorizontal()&&s.find(".swiper-cube-shadow").transition(e)},recreateShadows:()=>{const e=t.isHorizontal();t.slides.each((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(d(t),s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0,transformEl:null}});const i=(e,s,a)=>{let i=t.isHorizontal()?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),r=t.isHorizontal()?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===i.length&&(i=ie(a,e,t.isHorizontal()?"left":"top")),0===r.length&&(r=ie(a,e,t.isHorizontal()?"right":"bottom")),i.length&&(i[0].style.opacity=Math.max(-s,0)),r.length&&(r[0].style.opacity=Math.max(s,0))};te({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect;for(let r=0;r<e.length;r+=1){const n=e.eq(r);let l=n[0].progress;t.params.flipEffect.limitRotation&&(l=Math.max(Math.min(n[0].progress,1),-1));const o=n[0].swiperSlideOffset;let d=-180*l,c=0,p=t.params.cssMode?-o-t.translate:-o,u=0;t.isHorizontal()?s&&(d=-d):(u=p,p=0,c=-d,d=0),n[0].style.zIndex=-Math.abs(Math.round(l))+e.length,a.slideShadows&&i(n,l,a);const h=`translate3d(${p}px, ${u}px, 0px) rotateX(${c}deg) rotateY(${d}deg)`;se(a,n).transform(h)}},setTransition:e=>{const{transformEl:s}=t.params.flipEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),ae({swiper:t,duration:e,transformEl:s})},recreateShadows:()=>{const e=t.params.flipEffect;t.slides.each((s=>{const a=d(s);let r=a[0].progress;t.params.flipEffect.limitRotation&&(r=Math.max(Math.min(s.progress,1),-1)),i(a,r,e)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0,transformEl:null}}),te({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth;for(let e=0,t=a.length;e<t;e+=1){const t=a.eq(e),s=i[e],l=(o-t[0].swiperSlideOffset-s/2)/s,p="function"==typeof r.modifier?r.modifier(l):l*r.modifier;let u=n?d*p:0,h=n?0:d*p,m=-c*Math.abs(p),f=r.stretch;"string"==typeof f&&-1!==f.indexOf("%")&&(f=parseFloat(r.stretch)/100*s);let g=n?0:f*p,v=n?f*p:0,w=1-(1-r.scale)*Math.abs(p);Math.abs(v)<.001&&(v=0),Math.abs(g)<.001&&(g=0),Math.abs(m)<.001&&(m=0),Math.abs(u)<.001&&(u=0),Math.abs(h)<.001&&(h=0),Math.abs(w)<.001&&(w=0);const b=`translate3d(${v}px,${g}px,${m}px)  rotateX(${h}deg) rotateY(${u}deg) scale(${w})`;if(se(r,t).transform(b),t[0].style.zIndex=1-Math.abs(Math.round(p)),r.slideShadows){let e=n?t.find(".swiper-slide-shadow-left"):t.find(".swiper-slide-shadow-top"),s=n?t.find(".swiper-slide-shadow-right"):t.find(".swiper-slide-shadow-bottom");0===e.length&&(e=ie(r,t,n?"left":"top")),0===s.length&&(s=ie(r,t,n?"right":"bottom")),e.length&&(e[0].style.opacity=p>0?p:0),s.length&&(s[0].style.opacity=-p>0?-p:0)}}},setTransition:e=>{const{transformEl:s}=t.params.coverflowEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{transformEl:null,limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;te({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,$wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.transform(`translateX(calc(50% - ${e}px))`)}for(let s=0;s<e.length;s+=1){const a=e.eq(s),o=a[0].progress,d=Math.min(Math.max(a[0].progress,-r.limitProgress),r.limitProgress);let c=d;l||(c=Math.min(Math.max(a[0].originalProgress,-r.limitProgress),r.limitProgress));const p=a[0].swiperSlideOffset,u=[t.params.cssMode?-p-t.translate:-p,0,0],h=[0,0,0];let m=!1;t.isHorizontal()||(u[1]=u[0],u[0]=0);
290let f={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1};d<0?(f=r.next,m=!0):d>0&&(f=r.prev,m=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`})),h.forEach(((e,t)=>{h[t]=f.rotate[t]*Math.abs(d*n)})),a[0].style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,w=c<0?`scale(${1+(1-f.scale)*c*n})`:`scale(${1-(1-f.scale)*c*n})`,b=c<0?1+(1-f.opacity)*c*n:1-(1-f.opacity)*c*n,x=`translate3d(${g}) ${v} ${w}`;if(m&&f.shadow||!m){let e=a.children(".swiper-slide-shadow");if(0===e.length&&f.shadow&&(e=ie(r,a)),e.length){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e[0].style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const y=se(r,a);y.transform(x).css({opacity:b}),f.origin&&y.css("transform-origin",f.origin)}},setTransition:e=>{const{transformEl:s}=t.params.creativeEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,transformEl:null,rotate:!0}}),te({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s}=t,a=t.params.cardsEffect,{startTranslate:i,isTouched:r}=t.touchEventsData,n=t.translate;for(let l=0;l<e.length;l+=1){const o=e.eq(l),d=o[0].progress,c=Math.min(Math.max(d,-4),4);let p=o[0].swiperSlideOffset;t.params.centeredSlides&&!t.params.cssMode&&t.$wrapperEl.transform(`translateX(${t.minTranslate()}px)`),t.params.centeredSlides&&t.params.cssMode&&(p-=e[0].swiperSlideOffset);let u=t.params.cssMode?-p-t.translate:-p,h=0;const m=-100*Math.abs(c);let f=1,g=-2*c,v=8-.75*Math.abs(c);const w=t.virtual&&t.params.virtual.enabled?t.virtual.from+l:l,b=(w===s||w===s-1)&&c>0&&c<1&&(r||t.params.cssMode)&&n<i,x=(w===s||w===s+1)&&c<0&&c>-1&&(r||t.params.cssMode)&&n>i;if(b||x){const e=(1-Math.abs((Math.abs(c)-.5)/.5))**.5;g+=-28*c*e,f+=-.5*e,v+=96*e,h=-25*e*Math.abs(c)+"%"}if(u=c<0?`calc(${u}px + (${v*Math.abs(c)}%))`:c>0?`calc(${u}px + (-${v*Math.abs(c)}%))`:`${u}px`,!t.isHorizontal()){const e=h;h=u,u=e}const y=c<0?""+(1+(1-f)*c):""+(1-(1-f)*c),E=`\n        translate3d(${u}, ${h}, ${m}px)\n        rotateZ(${a.rotate?g:0}deg)\n        scale(${y})\n      `;if(a.slideShadows){let e=o.find(".swiper-slide-shadow");0===e.length&&(e=ie(a,o)),e.length&&(e[0].style.opacity=Math.min(Math.max((Math.abs(c)-.5)/.5,0),1))}o[0].style.zIndex=-Math.abs(Math.round(d))+e.length;se(a,o).transform(E)}},setTransition:e=>{const{transformEl:s}=t.params.cardsEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];return V.use(re),V}));
291 
292(function (global, factory) {
293	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
294	typeof define === 'function' && define.amd ? define(['exports'], factory) :
295	(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.IMask = {}));
296})(this, (function (exports) { 'use strict';
297
298	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
299
300	var check = function (it) {
301	  return it && it.Math == Math && it;
302	}; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
303
304
305	var global$p = // eslint-disable-next-line es/no-global-this -- safe
306	check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe
307	check(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback
308	function () {
309	  return this;
310	}() || Function('return this')();
311
312	var objectGetOwnPropertyDescriptor = {};
313
314	var fails$8 = function (exec) {
315	  try {
316	    return !!exec();
317	  } catch (error) {
318	    return true;
319	  }
320	};
321
322	var fails$7 = fails$8; // Detect IE8's incomplete defineProperty implementation
323
324
325	var descriptors = !fails$7(function () {
326	  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
327	  return Object.defineProperty({}, 1, {
328	    get: function () {
329	      return 7;
330	    }
331	  })[1] != 7;
332	});
333
334	var fails$6 = fails$8;
335
336	var functionBindNative = !fails$6(function () {
337	  var test = function () {
338	    /* empty */
339	  }.bind(); // eslint-disable-next-line no-prototype-builtins -- safe
340
341
342	  return typeof test != 'function' || test.hasOwnProperty('prototype');
343	});
344
345	var NATIVE_BIND$1 = functionBindNative;
346
347	var call$5 = Function.prototype.call;
348	var functionCall = NATIVE_BIND$1 ? call$5.bind(call$5) : function () {
349	  return call$5.apply(call$5, arguments);
350	};
351
352	var objectPropertyIsEnumerable = {};
353
354	var $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
355
356	var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug
357
358	var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({
359	  1: 2
360	}, 1); // `Object.prototype.propertyIsEnumerable` method implementation
361	// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
362
363	objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
364	  var descriptor = getOwnPropertyDescriptor$1(this, V);
365	  return !!descriptor && descriptor.enumerable;
366	} : $propertyIsEnumerable;
367
368	var createPropertyDescriptor$2 = function (bitmap, value) {
369	  return {
370	    enumerable: !(bitmap & 1),
371	    configurable: !(bitmap & 2),
372	    writable: !(bitmap & 4),
373	    value: value
374	  };
375	};
376
377	var NATIVE_BIND = functionBindNative;
378
379	var FunctionPrototype$1 = Function.prototype;
380	var bind = FunctionPrototype$1.bind;
381	var call$4 = FunctionPrototype$1.call;
382	var uncurryThis$b = NATIVE_BIND && bind.bind(call$4, call$4);
383	var functionUncurryThis = NATIVE_BIND ? function (fn) {
384	  return fn && uncurryThis$b(fn);
385	} : function (fn) {
386	  return fn && function () {
387	    return call$4.apply(fn, arguments);
388	  };
389	};
390
391	var uncurryThis$a = functionUncurryThis;
392
393	var toString$4 = uncurryThis$a({}.toString);
394	var stringSlice$1 = uncurryThis$a(''.slice);
395
396	var classofRaw$1 = function (it) {
397	  return stringSlice$1(toString$4(it), 8, -1);
398	};
399
400	var global$o = global$p;
401
402	var uncurryThis$9 = functionUncurryThis;
403
404	var fails$5 = fails$8;
405
406	var classof$2 = classofRaw$1;
407
408	var Object$4 = global$o.Object;
409	var split = uncurryThis$9(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings
410
411	var indexedObject = fails$5(function () {
412	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
413	  // eslint-disable-next-line no-prototype-builtins -- safe
414	  return !Object$4('z').propertyIsEnumerable(0);
415	}) ? function (it) {
416	  return classof$2(it) == 'String' ? split(it, '') : Object$4(it);
417	} : Object$4;
vendor: 12,307 bytes, lines 418-848
418
419	var global$n = global$p;
420
421	var TypeError$7 = global$n.TypeError; // `RequireObjectCoercible` abstract operation
422	// https://tc39.es/ecma262/#sec-requireobjectcoercible
423
424	var requireObjectCoercible$4 = function (it) {
425	  if (it == undefined) throw TypeError$7("Can't call method on " + it);
426	  return it;
427	};
428
429	// toObject with fallback for non-array-like ES3 strings
430	var IndexedObject$1 = indexedObject;
431
432	var requireObjectCoercible$3 = requireObjectCoercible$4;
433
434	var toIndexedObject$3 = function (it) {
435	  return IndexedObject$1(requireObjectCoercible$3(it));
436	};
437
438	// `IsCallable` abstract operation
439	// https://tc39.es/ecma262/#sec-iscallable
440	var isCallable$a = function (argument) {
441	  return typeof argument == 'function';
442	};
443
444	var isCallable$9 = isCallable$a;
445
446	var isObject$5 = function (it) {
447	  return typeof it == 'object' ? it !== null : isCallable$9(it);
448	};
449
450	var global$m = global$p;
451
452	var isCallable$8 = isCallable$a;
453
454	var aFunction = function (argument) {
455	  return isCallable$8(argument) ? argument : undefined;
456	};
457
458	var getBuiltIn$3 = function (namespace, method) {
459	  return arguments.length < 2 ? aFunction(global$m[namespace]) : global$m[namespace] && global$m[namespace][method];
460	};
461
462	var uncurryThis$8 = functionUncurryThis;
463
464	var objectIsPrototypeOf = uncurryThis$8({}.isPrototypeOf);
465
466	var getBuiltIn$2 = getBuiltIn$3;
467
468	var engineUserAgent = getBuiltIn$2('navigator', 'userAgent') || '';
469
470	var global$l = global$p;
471
472	var userAgent$1 = engineUserAgent;
473
474	var process = global$l.process;
475	var Deno = global$l.Deno;
476	var versions = process && process.versions || Deno && Deno.version;
477	var v8 = versions && versions.v8;
478	var match, version;
479
480	if (v8) {
481	  match = v8.split('.'); // in old Chrome, versions of V8 isn't V8 = Chrome / 10
482	  // but their correct versions are not interesting for us
483
484	  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
485	} // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
486	// so check `userAgent` even if `.v8` exists, but 0
487
488
489	if (!version && userAgent$1) {
490	  match = userAgent$1.match(/Edge\/(\d+)/);
491
492	  if (!match || match[1] >= 74) {
493	    match = userAgent$1.match(/Chrome\/(\d+)/);
494	    if (match) version = +match[1];
495	  }
496	}
497
498	var engineV8Version = version;
499
500	/* eslint-disable es/no-symbol -- required for testing */
501
502	var V8_VERSION = engineV8Version;
503
504	var fails$4 = fails$8; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
505
506
507	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$4(function () {
508	  var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion
509	  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
510
511	  return !String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
512	  !Symbol.sham && V8_VERSION && V8_VERSION < 41;
513	});
514
515	/* eslint-disable es/no-symbol -- required for testing */
516
517	var NATIVE_SYMBOL$1 = nativeSymbol;
518
519	var useSymbolAsUid = NATIVE_SYMBOL$1 && !Symbol.sham && typeof Symbol.iterator == 'symbol';
520
521	var global$k = global$p;
522
523	var getBuiltIn$1 = getBuiltIn$3;
524
525	var isCallable$7 = isCallable$a;
526
527	var isPrototypeOf = objectIsPrototypeOf;
528
529	var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
530
531	var Object$3 = global$k.Object;
532	var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
533	  return typeof it == 'symbol';
534	} : function (it) {
535	  var $Symbol = getBuiltIn$1('Symbol');
536	  return isCallable$7($Symbol) && isPrototypeOf($Symbol.prototype, Object$3(it));
537	};
538
539	var global$j = global$p;
540
541	var String$3 = global$j.String;
542
543	var tryToString$1 = function (argument) {
544	  try {
545	    return String$3(argument);
546	  } catch (error) {
547	    return 'Object';
548	  }
549	};
550
551	var global$i = global$p;
552
553	var isCallable$6 = isCallable$a;
554
555	var tryToString = tryToString$1;
556
557	var TypeError$6 = global$i.TypeError; // `Assert: IsCallable(argument) is true`
558
559	var aCallable$1 = function (argument) {
560	  if (isCallable$6(argument)) return argument;
561	  throw TypeError$6(tryToString(argument) + ' is not a function');
562	};
563
564	var aCallable = aCallable$1; // `GetMethod` abstract operation
565	// https://tc39.es/ecma262/#sec-getmethod
566
567
568	var getMethod$1 = function (V, P) {
569	  var func = V[P];
570	  return func == null ? undefined : aCallable(func);
571	};
572
573	var global$h = global$p;
574
575	var call$3 = functionCall;
576
577	var isCallable$5 = isCallable$a;
578
579	var isObject$4 = isObject$5;
580
581	var TypeError$5 = global$h.TypeError; // `OrdinaryToPrimitive` abstract operation
582	// https://tc39.es/ecma262/#sec-ordinarytoprimitive
583
584	var ordinaryToPrimitive$1 = function (input, pref) {
585	  var fn, val;
586	  if (pref === 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$3(fn, input))) return val;
587	  if (isCallable$5(fn = input.valueOf) && !isObject$4(val = call$3(fn, input))) return val;
588	  if (pref !== 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$3(fn, input))) return val;
589	  throw TypeError$5("Can't convert object to primitive value");
590	};
591
592	var shared$3 = {exports: {}};
593
594	var global$g = global$p; // eslint-disable-next-line es/no-object-defineproperty -- safe
595
596
597	var defineProperty$1 = Object.defineProperty;
598
599	var setGlobal$3 = function (key, value) {
600	  try {
601	    defineProperty$1(global$g, key, {
602	      value: value,
603	      configurable: true,
604	      writable: true
605	    });
606	  } catch (error) {
607	    global$g[key] = value;
608	  }
609
610	  return value;
611	};
612
613	var global$f = global$p;
614
615	var setGlobal$2 = setGlobal$3;
616
617	var SHARED = '__core-js_shared__';
618	var store$3 = global$f[SHARED] || setGlobal$2(SHARED, {});
619	var sharedStore = store$3;
620
621	var store$2 = sharedStore;
622
623	(shared$3.exports = function (key, value) {
624	  return store$2[key] || (store$2[key] = value !== undefined ? value : {});
625	})('versions', []).push({
626	  version: '3.21.0',
627	  mode: 'global',
628	  copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
629	  license: 'https://github.com/zloirock/core-js/blob/v3.21.0/LICENSE',
630	  source: 'https://github.com/zloirock/core-js'
631	});
632
633	var global$e = global$p;
634
635	var requireObjectCoercible$2 = requireObjectCoercible$4;
636
637	var Object$2 = global$e.Object; // `ToObject` abstract operation
638	// https://tc39.es/ecma262/#sec-toobject
639
640	var toObject$2 = function (argument) {
641	  return Object$2(requireObjectCoercible$2(argument));
642	};
643
644	var uncurryThis$7 = functionUncurryThis;
645
646	var toObject$1 = toObject$2;
647
648	var hasOwnProperty = uncurryThis$7({}.hasOwnProperty); // `HasOwnProperty` abstract operation
649	// https://tc39.es/ecma262/#sec-hasownproperty
650
651	var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
652	  return hasOwnProperty(toObject$1(it), key);
653	};
654
655	var uncurryThis$6 = functionUncurryThis;
656
657	var id = 0;
658	var postfix = Math.random();
659	var toString$3 = uncurryThis$6(1.0.toString);
660
661	var uid$2 = function (key) {
662	  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$3(++id + postfix, 36);
663	};
664
665	var global$d = global$p;
666
667	var shared$2 = shared$3.exports;
668
669	var hasOwn$6 = hasOwnProperty_1;
670
671	var uid$1 = uid$2;
672
673	var NATIVE_SYMBOL = nativeSymbol;
674
675	var USE_SYMBOL_AS_UID = useSymbolAsUid;
676
677	var WellKnownSymbolsStore = shared$2('wks');
678	var Symbol$1 = global$d.Symbol;
679	var symbolFor = Symbol$1 && Symbol$1['for'];
680	var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
681
682	var wellKnownSymbol$3 = function (name) {
683	  if (!hasOwn$6(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
684	    var description = 'Symbol.' + name;
685
686	    if (NATIVE_SYMBOL && hasOwn$6(Symbol$1, name)) {
687	      WellKnownSymbolsStore[name] = Symbol$1[name];
688	    } else if (USE_SYMBOL_AS_UID && symbolFor) {
689	      WellKnownSymbolsStore[name] = symbolFor(description);
690	    } else {
691	      WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
692	    }
693	  }
694
695	  return WellKnownSymbolsStore[name];
696	};
697
698	var global$c = global$p;
699
700	var call$2 = functionCall;
701
702	var isObject$3 = isObject$5;
703
704	var isSymbol$1 = isSymbol$2;
705
706	var getMethod = getMethod$1;
707
708	var ordinaryToPrimitive = ordinaryToPrimitive$1;
709
710	var wellKnownSymbol$2 = wellKnownSymbol$3;
711
712	var TypeError$4 = global$c.TypeError;
713	var TO_PRIMITIVE = wellKnownSymbol$2('toPrimitive'); // `ToPrimitive` abstract operation
714	// https://tc39.es/ecma262/#sec-toprimitive
715
716	var toPrimitive$1 = function (input, pref) {
717	  if (!isObject$3(input) || isSymbol$1(input)) return input;
718	  var exoticToPrim = getMethod(input, TO_PRIMITIVE);
719	  var result;
720
721	  if (exoticToPrim) {
722	    if (pref === undefined) pref = 'default';
723	    result = call$2(exoticToPrim, input, pref);
724	    if (!isObject$3(result) || isSymbol$1(result)) return result;
725	    throw TypeError$4("Can't convert object to primitive value");
726	  }
727
728	  if (pref === undefined) pref = 'number';
729	  return ordinaryToPrimitive(input, pref);
730	};
731
732	var toPrimitive = toPrimitive$1;
733
734	var isSymbol = isSymbol$2; // `ToPropertyKey` abstract operation
735	// https://tc39.es/ecma262/#sec-topropertykey
736
737
738	var toPropertyKey$2 = function (argument) {
739	  var key = toPrimitive(argument, 'string');
740	  return isSymbol(key) ? key : key + '';
741	};
742
743	var global$b = global$p;
744
745	var isObject$2 = isObject$5;
746
747	var document$1 = global$b.document; // typeof document.createElement is 'object' in old IE
748
749	var EXISTS$1 = isObject$2(document$1) && isObject$2(document$1.createElement);
750
751	var documentCreateElement = function (it) {
752	  return EXISTS$1 ? document$1.createElement(it) : {};
753	};
754
755	var DESCRIPTORS$6 = descriptors;
756
757	var fails$3 = fails$8;
758
759	var createElement = documentCreateElement; // Thanks to IE8 for its funny defineProperty
760
761
762	var ie8DomDefine = !DESCRIPTORS$6 && !fails$3(function () {
763	  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
764	  return Object.defineProperty(createElement('div'), 'a', {
765	    get: function () {
766	      return 7;
767	    }
768	  }).a != 7;
769	});
770
771	var DESCRIPTORS$5 = descriptors;
772
773	var call$1 = functionCall;
774
775	var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
776
777	var createPropertyDescriptor$1 = createPropertyDescriptor$2;
778
779	var toIndexedObject$2 = toIndexedObject$3;
780
781	var toPropertyKey$1 = toPropertyKey$2;
782
783	var hasOwn$5 = hasOwnProperty_1;
784
785	var IE8_DOM_DEFINE$1 = ie8DomDefine; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
786
787
788	var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method
789	// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
790
791	objectGetOwnPropertyDescriptor.f = DESCRIPTORS$5 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
792	  O = toIndexedObject$2(O);
793	  P = toPropertyKey$1(P);
794	  if (IE8_DOM_DEFINE$1) try {
795	    return $getOwnPropertyDescriptor$1(O, P);
796	  } catch (error) {
797	    /* empty */
798	  }
799	  if (hasOwn$5(O, P)) return createPropertyDescriptor$1(!call$1(propertyIsEnumerableModule$1.f, O, P), O[P]);
800	};
801
802	var objectDefineProperty = {};
803
804	var DESCRIPTORS$4 = descriptors;
805
806	var fails$2 = fails$8; // V8 ~ Chrome 36-
807	// https://bugs.chromium.org/p/v8/issues/detail?id=3334
808
809
810	var v8PrototypeDefineBug = DESCRIPTORS$4 && fails$2(function () {
811	  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
812	  return Object.defineProperty(function () {
813	    /* empty */
814	  }, 'prototype', {
815	    value: 42,
816	    writable: false
817	  }).prototype != 42;
818	});
819
820	var global$a = global$p;
821
822	var isObject$1 = isObject$5;
823
824	var String$2 = global$a.String;
825	var TypeError$3 = global$a.TypeError; // `Assert: Type(argument) is Object`
826
827	var anObject$2 = function (argument) {
828	  if (isObject$1(argument)) return argument;
829	  throw TypeError$3(String$2(argument) + ' is not an object');
830	};
831
832	var global$9 = global$p;
833
834	var DESCRIPTORS$3 = descriptors;
835
836	var IE8_DOM_DEFINE = ie8DomDefine;
837
838	var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
839
840	var anObject$1 = anObject$2;
841
842	var toPropertyKey = toPropertyKey$2;
843
844	var TypeError$2 = global$9.TypeError; // eslint-disable-next-line es/no-object-defineproperty -- safe
845
846	var $defineProperty = Object.defineProperty; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
847
848	var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
vendor: 5,766 bytes, lines 849-1063
849	var ENUMERABLE = 'enumerable';
850	var CONFIGURABLE$1 = 'configurable';
851	var WRITABLE = 'writable'; // `Object.defineProperty` method
852	// https://tc39.es/ecma262/#sec-object.defineproperty
853
854	objectDefineProperty.f = DESCRIPTORS$3 ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
855	  anObject$1(O);
856	  P = toPropertyKey(P);
857	  anObject$1(Attributes);
858
859	  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
860	    var current = $getOwnPropertyDescriptor(O, P);
861
862	    if (current && current[WRITABLE]) {
863	      O[P] = Attributes.value;
864	      Attributes = {
865	        configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
866	        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
867	        writable: false
868	      };
869	    }
870	  }
871
872	  return $defineProperty(O, P, Attributes);
873	} : $defineProperty : function defineProperty(O, P, Attributes) {
874	  anObject$1(O);
875	  P = toPropertyKey(P);
876	  anObject$1(Attributes);
877	  if (IE8_DOM_DEFINE) try {
878	    return $defineProperty(O, P, Attributes);
879	  } catch (error) {
880	    /* empty */
881	  }
882	  if ('get' in Attributes || 'set' in Attributes) throw TypeError$2('Accessors not supported');
883	  if ('value' in Attributes) O[P] = Attributes.value;
884	  return O;
885	};
886
887	var DESCRIPTORS$2 = descriptors;
888
889	var definePropertyModule$1 = objectDefineProperty;
890
891	var createPropertyDescriptor = createPropertyDescriptor$2;
892
893	var createNonEnumerableProperty$3 = DESCRIPTORS$2 ? function (object, key, value) {
894	  return definePropertyModule$1.f(object, key, createPropertyDescriptor(1, value));
895	} : function (object, key, value) {
896	  object[key] = value;
897	  return object;
898	};
899
900	var redefine$1 = {exports: {}};
901
902	var uncurryThis$5 = functionUncurryThis;
903
904	var isCallable$4 = isCallable$a;
905
906	var store$1 = sharedStore;
907
908	var functionToString = uncurryThis$5(Function.toString); // this helper broken in `[email protected]`, so we can't use `shared` helper
909
910	if (!isCallable$4(store$1.inspectSource)) {
911	  store$1.inspectSource = function (it) {
912	    return functionToString(it);
913	  };
914	}
915
916	var inspectSource$2 = store$1.inspectSource;
917
918	var global$8 = global$p;
919
920	var isCallable$3 = isCallable$a;
921
922	var inspectSource$1 = inspectSource$2;
923
924	var WeakMap$1 = global$8.WeakMap;
925	var nativeWeakMap = isCallable$3(WeakMap$1) && /native code/.test(inspectSource$1(WeakMap$1));
926
927	var shared$1 = shared$3.exports;
928
929	var uid = uid$2;
930
931	var keys = shared$1('keys');
932
933	var sharedKey$1 = function (key) {
934	  return keys[key] || (keys[key] = uid(key));
935	};
936
937	var hiddenKeys$3 = {};
938
939	var NATIVE_WEAK_MAP = nativeWeakMap;
940
941	var global$7 = global$p;
942
943	var uncurryThis$4 = functionUncurryThis;
944
945	var isObject = isObject$5;
946
947	var createNonEnumerableProperty$2 = createNonEnumerableProperty$3;
948
949	var hasOwn$4 = hasOwnProperty_1;
950
951	var shared = sharedStore;
952
953	var sharedKey = sharedKey$1;
954
955	var hiddenKeys$2 = hiddenKeys$3;
956
957	var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
958	var TypeError$1 = global$7.TypeError;
959	var WeakMap = global$7.WeakMap;
960	var set$1, get, has;
961
962	var enforce = function (it) {
963	  return has(it) ? get(it) : set$1(it, {});
964	};
965
966	var getterFor = function (TYPE) {
967	  return function (it) {
968	    var state;
969
970	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
971	      throw TypeError$1('Incompatible receiver, ' + TYPE + ' required');
972	    }
973
974	    return state;
975	  };
976	};
977
978	if (NATIVE_WEAK_MAP || shared.state) {
979	  var store = shared.state || (shared.state = new WeakMap());
980	  var wmget = uncurryThis$4(store.get);
981	  var wmhas = uncurryThis$4(store.has);
982	  var wmset = uncurryThis$4(store.set);
983
984	  set$1 = function (it, metadata) {
985	    if (wmhas(store, it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
986	    metadata.facade = it;
987	    wmset(store, it, metadata);
988	    return metadata;
989	  };
990
991	  get = function (it) {
992	    return wmget(store, it) || {};
993	  };
994
995	  has = function (it) {
996	    return wmhas(store, it);
997	  };
998	} else {
999	  var STATE = sharedKey('state');
1000	  hiddenKeys$2[STATE] = true;
1001
1002	  set$1 = function (it, metadata) {
1003	    if (hasOwn$4(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
1004	    metadata.facade = it;
1005	    createNonEnumerableProperty$2(it, STATE, metadata);
1006	    return metadata;
1007	  };
1008
1009	  get = function (it) {
1010	    return hasOwn$4(it, STATE) ? it[STATE] : {};
1011	  };
1012
1013	  has = function (it) {
1014	    return hasOwn$4(it, STATE);
1015	  };
1016	}
1017
1018	var internalState = {
1019	  set: set$1,
1020	  get: get,
1021	  has: has,
1022	  enforce: enforce,
1023	  getterFor: getterFor
1024	};
1025
1026	var DESCRIPTORS$1 = descriptors;
1027
1028	var hasOwn$3 = hasOwnProperty_1;
1029
1030	var FunctionPrototype = Function.prototype; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1031
1032	var getDescriptor = DESCRIPTORS$1 && Object.getOwnPropertyDescriptor;
1033	var EXISTS = hasOwn$3(FunctionPrototype, 'name'); // additional protection from minified / mangled / dropped function names
1034
1035	var PROPER = EXISTS && function something() {
1036	  /* empty */
1037	}.name === 'something';
1038
1039	var CONFIGURABLE = EXISTS && (!DESCRIPTORS$1 || DESCRIPTORS$1 && getDescriptor(FunctionPrototype, 'name').configurable);
1040	var functionName = {
1041	  EXISTS: EXISTS,
1042	  PROPER: PROPER,
1043	  CONFIGURABLE: CONFIGURABLE
1044	};
1045
1046	var global$6 = global$p;
1047
1048	var isCallable$2 = isCallable$a;
1049
1050	var hasOwn$2 = hasOwnProperty_1;
1051
1052	var createNonEnumerableProperty$1 = createNonEnumerableProperty$3;
1053
1054	var setGlobal$1 = setGlobal$3;
1055
1056	var inspectSource = inspectSource$2;
1057
1058	var InternalStateModule = internalState;
1059
1060	var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
1061
1062	var getInternalState = InternalStateModule.get;
1063	var enforceInternalState = InternalStateModule.enforce;
vendor: 4,855 bytes, lines 1064-1207
1064	var TEMPLATE = String(String).split('String');
1065	(redefine$1.exports = function (O, key, value, options) {
1066	  var unsafe = options ? !!options.unsafe : false;
1067	  var simple = options ? !!options.enumerable : false;
1068	  var noTargetGet = options ? !!options.noTargetGet : false;
1069	  var name = options && options.name !== undefined ? options.name : key;
1070	  var state;
1071
1072	  if (isCallable$2(value)) {
1073	    if (String(name).slice(0, 7) === 'Symbol(') {
1074	      name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
1075	    }
1076
1077	    if (!hasOwn$2(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) {
1078	      createNonEnumerableProperty$1(value, 'name', name);
1079	    }
1080
1081	    state = enforceInternalState(value);
1082
1083	    if (!state.source) {
1084	      state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
1085	    }
1086	  }
1087
1088	  if (O === global$6) {
1089	    if (simple) O[key] = value;else setGlobal$1(key, value);
1090	    return;
1091	  } else if (!unsafe) {
1092	    delete O[key];
1093	  } else if (!noTargetGet && O[key]) {
1094	    simple = true;
1095	  }
1096
1097	  if (simple) O[key] = value;else createNonEnumerableProperty$1(O, key, value); // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
1098	})(Function.prototype, 'toString', function toString() {
1099	  return isCallable$2(this) && getInternalState(this).source || inspectSource(this);
1100	});
1101
1102	var objectGetOwnPropertyNames = {};
1103
1104	var ceil$1 = Math.ceil;
1105	var floor = Math.floor; // `ToIntegerOrInfinity` abstract operation
1106	// https://tc39.es/ecma262/#sec-tointegerorinfinity
1107
1108	var toIntegerOrInfinity$3 = function (argument) {
1109	  var number = +argument; // eslint-disable-next-line no-self-compare -- safe
1110
1111	  return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil$1)(number);
1112	};
1113
1114	var toIntegerOrInfinity$2 = toIntegerOrInfinity$3;
1115
1116	var max = Math.max;
1117	var min$1 = Math.min; // Helper for a popular repeating case of the spec:
1118	// Let integer be ? ToInteger(index).
1119	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
1120
1121	var toAbsoluteIndex$1 = function (index, length) {
1122	  var integer = toIntegerOrInfinity$2(index);
1123	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
1124	};
1125
1126	var toIntegerOrInfinity$1 = toIntegerOrInfinity$3;
1127
1128	var min = Math.min; // `ToLength` abstract operation
1129	// https://tc39.es/ecma262/#sec-tolength
1130
1131	var toLength$2 = function (argument) {
1132	  return argument > 0 ? min(toIntegerOrInfinity$1(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
1133	};
1134
1135	var toLength$1 = toLength$2; // `LengthOfArrayLike` abstract operation
1136	// https://tc39.es/ecma262/#sec-lengthofarraylike
1137
1138
1139	var lengthOfArrayLike$1 = function (obj) {
1140	  return toLength$1(obj.length);
1141	};
1142
1143	var toIndexedObject$1 = toIndexedObject$3;
1144
1145	var toAbsoluteIndex = toAbsoluteIndex$1;
1146
1147	var lengthOfArrayLike = lengthOfArrayLike$1; // `Array.prototype.{ indexOf, includes }` methods implementation
1148
1149
1150	var createMethod$1 = function (IS_INCLUDES) {
1151	  return function ($this, el, fromIndex) {
1152	    var O = toIndexedObject$1($this);
1153	    var length = lengthOfArrayLike(O);
1154	    var index = toAbsoluteIndex(fromIndex, length);
1155	    var value; // Array#includes uses SameValueZero equality algorithm
1156	    // eslint-disable-next-line no-self-compare -- NaN check
1157
1158	    if (IS_INCLUDES && el != el) while (length > index) {
1159	      value = O[index++]; // eslint-disable-next-line no-self-compare -- NaN check
1160
1161	      if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not
1162	    } else for (; length > index; index++) {
1163	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
1164	    }
1165	    return !IS_INCLUDES && -1;
1166	  };
1167	};
1168
1169	var arrayIncludes = {
1170	  // `Array.prototype.includes` method
1171	  // https://tc39.es/ecma262/#sec-array.prototype.includes
1172	  includes: createMethod$1(true),
1173	  // `Array.prototype.indexOf` method
1174	  // https://tc39.es/ecma262/#sec-array.prototype.indexof
1175	  indexOf: createMethod$1(false)
1176	};
1177
1178	var uncurryThis$3 = functionUncurryThis;
1179
1180	var hasOwn$1 = hasOwnProperty_1;
1181
1182	var toIndexedObject = toIndexedObject$3;
1183
1184	var indexOf = arrayIncludes.indexOf;
1185
1186	var hiddenKeys$1 = hiddenKeys$3;
1187
1188	var push = uncurryThis$3([].push);
1189
1190	var objectKeysInternal = function (object, names) {
1191	  var O = toIndexedObject(object);
1192	  var i = 0;
1193	  var result = [];
1194	  var key;
1195
1196	  for (key in O) !hasOwn$1(hiddenKeys$1, key) && hasOwn$1(O, key) && push(result, key); // Don't enum bug & hidden keys
1197
1198
1199	  while (names.length > i) if (hasOwn$1(O, key = names[i++])) {
1200	    ~indexOf(result, key) || push(result, key);
1201	  }
1202
1203	  return result;
1204	};
1205
1206	// IE8- don't enum bug keys
1207	var enumBugKeys$2 = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleStr
vendor: 4,755 bytes, lines 1207-1343
1207ing', 'toString', 'valueOf'];
1208
1209	var internalObjectKeys$1 = objectKeysInternal;
1210
1211	var enumBugKeys$1 = enumBugKeys$2;
1212
1213	var hiddenKeys = enumBugKeys$1.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method
1214	// https://tc39.es/ecma262/#sec-object.getownpropertynames
1215	// eslint-disable-next-line es/no-object-getownpropertynames -- safe
1216
1217	objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
1218	  return internalObjectKeys$1(O, hiddenKeys);
1219	};
1220
1221	var objectGetOwnPropertySymbols = {};
1222
1223	// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
1224	objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
1225
1226	var getBuiltIn = getBuiltIn$3;
1227
1228	var uncurryThis$2 = functionUncurryThis;
1229
1230	var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
1231
1232	var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
1233
1234	var anObject = anObject$2;
1235
1236	var concat$1 = uncurryThis$2([].concat); // all object keys, includes non-enumerable and symbols
1237
1238	var ownKeys$1 = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
1239	  var keys = getOwnPropertyNamesModule.f(anObject(it));
1240	  var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
1241	  return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys;
1242	};
1243
1244	var hasOwn = hasOwnProperty_1;
1245
1246	var ownKeys = ownKeys$1;
1247
1248	var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
1249
1250	var definePropertyModule = objectDefineProperty;
1251
1252	var copyConstructorProperties$1 = function (target, source, exceptions) {
1253	  var keys = ownKeys(source);
1254	  var defineProperty = definePropertyModule.f;
1255	  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
1256
1257	  for (var i = 0; i < keys.length; i++) {
1258	    var key = keys[i];
1259
1260	    if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
1261	      defineProperty(target, key, getOwnPropertyDescriptor(source, key));
1262	    }
1263	  }
1264	};
1265
1266	var fails$1 = fails$8;
1267
1268	var isCallable$1 = isCallable$a;
1269
1270	var replacement = /#|\.prototype\./;
1271
1272	var isForced$1 = function (feature, detection) {
1273	  var value = data[normalize(feature)];
1274	  return value == POLYFILL ? true : value == NATIVE ? false : isCallable$1(detection) ? fails$1(detection) : !!detection;
1275	};
1276
1277	var normalize = isForced$1.normalize = function (string) {
1278	  return String(string).replace(replacement, '.').toLowerCase();
1279	};
1280
1281	var data = isForced$1.data = {};
1282	var NATIVE = isForced$1.NATIVE = 'N';
1283	var POLYFILL = isForced$1.POLYFILL = 'P';
1284	var isForced_1 = isForced$1;
1285
1286	var global$5 = global$p;
1287
1288	var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
1289
1290	var createNonEnumerableProperty = createNonEnumerableProperty$3;
1291
1292	var redefine = redefine$1.exports;
1293
1294	var setGlobal = setGlobal$3;
1295
1296	var copyConstructorProperties = copyConstructorProperties$1;
1297
1298	var isForced = isForced_1;
1299	/*
1300	  options.target      - name of the target object
1301	  options.global      - target is the global object
1302	  options.stat        - export as static methods of target
1303	  options.proto       - export as prototype methods of target
1304	  options.real        - real prototype method for the `pure` version
1305	  options.forced      - export even if the native feature is available
1306	  options.bind        - bind methods to the target, required for the `pure` version
1307	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
1308	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
1309	  options.sham        - add a flag to not completely full polyfills
1310	  options.enumerable  - export as enumerable property
1311	  options.noTargetGet - prevent calling a getter on target
1312	  options.name        - the .name of the function if it does not match the key
1313	*/
1314
1315
1316	var _export = function (options, source) {
1317	  var TARGET = options.target;
1318	  var GLOBAL = options.global;
1319	  var STATIC = options.stat;
1320	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
1321
1322	  if (GLOBAL) {
1323	    target = global$5;
1324	  } else if (STATIC) {
1325	    target = global$5[TARGET] || setGlobal(TARGET, {});
1326	  } else {
1327	    target = (global$5[TARGET] || {}).prototype;
1328	  }
1329
1330	  if (target) for (key in source) {
1331	    sourceProperty = source[key];
1332
1333	    if (options.noTargetGet) {
1334	      descriptor = getOwnPropertyDescriptor(target, key);
1335	      targetProperty = descriptor && descriptor.value;
1336	    } else targetProperty = target[key];
1337
1338	    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target
1339
1340	    if (!FORCED && targetProperty !== undefined) {
1341	      if (typeof sourceProperty == typeof targetProperty) continue;
1342	      copyConstructorProperties(sourceProperty, targetProperty);
1343	    }
vendor: 10,076 bytes, lines 1343-1706
1343 // add a flag to not completely full polyfills
1344
1345
1346	    if (options.sham || targetProperty && targetProperty.sham) {
1347	      createNonEnumerableProperty(sourceProperty, 'sham', true);
1348	    } // extend global
1349
1350
1351	    redefine(target, key, sourceProperty, options);
1352	  }
1353	};
1354
1355	var internalObjectKeys = objectKeysInternal;
1356
1357	var enumBugKeys = enumBugKeys$2; // `Object.keys` method
1358	// https://tc39.es/ecma262/#sec-object.keys
1359	// eslint-disable-next-line es/no-object-keys -- safe
1360
1361
1362	var objectKeys$1 = Object.keys || function keys(O) {
1363	  return internalObjectKeys(O, enumBugKeys);
1364	};
1365
1366	var DESCRIPTORS = descriptors;
1367
1368	var uncurryThis$1 = functionUncurryThis;
1369
1370	var call = functionCall;
1371
1372	var fails = fails$8;
1373
1374	var objectKeys = objectKeys$1;
1375
1376	var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
1377
1378	var propertyIsEnumerableModule = objectPropertyIsEnumerable;
1379
1380	var toObject = toObject$2;
1381
1382	var IndexedObject = indexedObject; // eslint-disable-next-line es/no-object-assign -- safe
1383
1384
1385	var $assign = Object.assign; // eslint-disable-next-line es/no-object-defineproperty -- required for testing
1386
1387	var defineProperty = Object.defineProperty;
1388	var concat = uncurryThis$1([].concat); // `Object.assign` method
1389	// https://tc39.es/ecma262/#sec-object.assign
1390
1391	var objectAssign = !$assign || fails(function () {
1392	  // should have correct order of operations (Edge bug)
1393	  if (DESCRIPTORS && $assign({
1394	    b: 1
1395	  }, $assign(defineProperty({}, 'a', {
1396	    enumerable: true,
1397	    get: function () {
1398	      defineProperty(this, 'b', {
1399	        value: 3,
1400	        enumerable: false
1401	      });
1402	    }
1403	  }), {
1404	    b: 2
1405	  })).b !== 1) return true; // should work with symbols and should have deterministic property order (V8 bug)
1406
1407	  var A = {};
1408	  var B = {}; // eslint-disable-next-line es/no-symbol -- safe
1409
1410	  var symbol = Symbol();
1411	  var alphabet = 'abcdefghijklmnopqrst';
1412	  A[symbol] = 7;
1413	  alphabet.split('').forEach(function (chr) {
1414	    B[chr] = chr;
1415	  });
1416	  return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;
1417	}) ? function assign(target, source) {
1418	  // eslint-disable-line no-unused-vars -- required for `.length`
1419	  var T = toObject(target);
1420	  var argumentsLength = arguments.length;
1421	  var index = 1;
1422	  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
1423	  var propertyIsEnumerable = propertyIsEnumerableModule.f;
1424
1425	  while (argumentsLength > index) {
1426	    var S = IndexedObject(arguments[index++]);
1427	    var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
1428	    var length = keys.length;
1429	    var j = 0;
1430	    var key;
1431
1432	    while (length > j) {
1433	      key = keys[j++];
1434	      if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];
1435	    }
1436	  }
1437
1438	  return T;
1439	} : $assign;
1440
1441	var $$4 = _export;
1442
1443	var assign = objectAssign; // `Object.assign` method
1444	// https://tc39.es/ecma262/#sec-object.assign
1445	// eslint-disable-next-line es/no-object-assign -- required for testing
1446
1447
1448	$$4({
1449	  target: 'Object',
1450	  stat: true,
1451	  forced: Object.assign !== assign
1452	}, {
1453	  assign: assign
1454	});
1455
1456	var wellKnownSymbol$1 = wellKnownSymbol$3;
1457
1458	var TO_STRING_TAG$1 = wellKnownSymbol$1('toStringTag');
1459	var test = {};
1460	test[TO_STRING_TAG$1] = 'z';
1461	var toStringTagSupport = String(test) === '[object z]';
1462
1463	var global$4 = global$p;
1464
1465	var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1466
1467	var isCallable = isCallable$a;
1468
1469	var classofRaw = classofRaw$1;
1470
1471	var wellKnownSymbol = wellKnownSymbol$3;
1472
1473	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
1474	var Object$1 = global$4.Object; // ES3 wrong here
1475
1476	var CORRECT_ARGUMENTS = classofRaw(function () {
1477	  return arguments;
1478	}()) == 'Arguments'; // fallback for IE11 Script Access Denied error
1479
1480	var tryGet = function (it, key) {
1481	  try {
1482	    return it[key];
1483	  } catch (error) {
1484	    /* empty */
1485	  }
1486	}; // getting tag from ES6+ `Object.prototype.toString`
1487
1488
1489	var classof$1 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1490	  var O, tag, result;
1491	  return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case
1492	  : typeof (tag = tryGet(O = Object$1(it), TO_STRING_TAG)) == 'string' ? tag // builtinTag case
1493	  : CORRECT_ARGUMENTS ? classofRaw(O) // ES3 arguments fallback
1494	  : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
1495	};
1496
1497	var global$3 = global$p;
1498
1499	var classof = classof$1;
1500
1501	var String$1 = global$3.String;
1502
1503	var toString$2 = function (argument) {
1504	  if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
1505	  return String$1(argument);
1506	};
1507
1508	var global$2 = global$p;
1509
1510	var toIntegerOrInfinity = toIntegerOrInfinity$3;
1511
1512	var toString$1 = toString$2;
1513
1514	var requireObjectCoercible$1 = requireObjectCoercible$4;
1515
1516	var RangeError = global$2.RangeError; // `String.prototype.repeat` method implementation
1517	// https://tc39.es/ecma262/#sec-string.prototype.repeat
1518
1519	var stringRepeat = function repeat(count) {
1520	  var str = toString$1(requireObjectCoercible$1(this));
1521	  var result = '';
1522	  var n = toIntegerOrInfinity(count);
1523	  if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');
1524
1525	  for (; n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
1526
1527	  return result;
1528	};
1529
1530	var $$3 = _export;
1531
1532	var repeat$1 = stringRepeat; // `String.prototype.repeat` method
1533	// https://tc39.es/ecma262/#sec-string.prototype.repeat
1534
1535
1536	$$3({
1537	  target: 'String',
1538	  proto: true
1539	}, {
1540	  repeat: repeat$1
1541	});
1542
1543	// https://github.com/tc39/proposal-string-pad-start-end
1544	var uncurryThis = functionUncurryThis;
1545
1546	var toLength = toLength$2;
1547
1548	var toString = toString$2;
1549
1550	var $repeat = stringRepeat;
1551
1552	var requireObjectCoercible = requireObjectCoercible$4;
1553
1554	var repeat = uncurryThis($repeat);
1555	var stringSlice = uncurryThis(''.slice);
1556	var ceil = Math.ceil; // `String.prototype.{ padStart, padEnd }` methods implementation
1557
1558	var createMethod = function (IS_END) {
1559	  return function ($this, maxLength, fillString) {
1560	    var S = toString(requireObjectCoercible($this));
1561	    var intMaxLength = toLength(maxLength);
1562	    var stringLength = S.length;
1563	    var fillStr = fillString === undefined ? ' ' : toString(fillString);
1564	    var fillLen, stringFiller;
1565	    if (intMaxLength <= stringLength || fillStr == '') return S;
1566	    fillLen = intMaxLength - stringLength;
1567	    stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));
1568	    if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);
1569	    return IS_END ? S + stringFiller : stringFiller + S;
1570	  };
1571	};
1572
1573	var stringPad = {
1574	  // `String.prototype.padStart` method
1575	  // https://tc39.es/ecma262/#sec-string.prototype.padstart
1576	  start: createMethod(false),
1577	  // `String.prototype.padEnd` method
1578	  // https://tc39.es/ecma262/#sec-string.prototype.padend
1579	  end: createMethod(true)
1580	};
1581
1582	// https://github.com/zloirock/core-js/issues/280
1583	var userAgent = engineUserAgent;
1584
1585	var stringPadWebkitBug = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent);
1586
1587	var $$2 = _export;
1588
1589	var $padStart = stringPad.start;
1590
1591	var WEBKIT_BUG$1 = stringPadWebkitBug; // `String.prototype.padStart` method
1592	// https://tc39.es/ecma262/#sec-string.prototype.padstart
1593
1594
1595	$$2({
1596	  target: 'String',
1597	  proto: true,
1598	  forced: WEBKIT_BUG$1
1599	}, {
1600	  padStart: function padStart(maxLength
1601	  /* , fillString = ' ' */
1602	  ) {
1603	    return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
1604	  }
1605	});
1606
1607	var $$1 = _export;
1608
1609	var $padEnd = stringPad.end;
1610
1611	var WEBKIT_BUG = stringPadWebkitBug; // `String.prototype.padEnd` method
1612	// https://tc39.es/ecma262/#sec-string.prototype.padend
1613
1614
1615	$$1({
1616	  target: 'String',
1617	  proto: true,
1618	  forced: WEBKIT_BUG
1619	}, {
1620	  padEnd: function padEnd(maxLength
1621	  /* , fillString = ' ' */
1622	  ) {
1623	    return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
1624	  }
1625	});
1626
1627	var $ = _export;
1628
1629	var global$1 = global$p; // `globalThis` object
1630	// https://tc39.es/ecma262/#sec-globalthis
1631
1632
1633	$({
1634	  global: true
1635	}, {
1636	  globalThis: global$1
1637	});
1638
1639	function _typeof(obj) {
1640	  "@babel/helpers - typeof";
1641
1642	  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
1643	    return typeof obj;
1644	  } : function (obj) {
1645	    return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
1646	  }, _typeof(obj);
1647	}
1648
1649	function _classCallCheck(instance, Constructor) {
1650	  if (!(instance instanceof Constructor)) {
1651	    throw new TypeError("Cannot call a class as a function");
1652	  }
1653	}
1654
1655	function _defineProperties(target, props) {
1656	  for (var i = 0; i < props.length; i++) {
1657	    var descriptor = props[i];
1658	    descriptor.enumerable = descriptor.enumerable || false;
1659	    descriptor.configurable = true;
1660	    if ("value" in descriptor) descriptor.writable = true;
1661	    Object.defineProperty(target, descriptor.key, descriptor);
1662	  }
1663	}
1664
1665	function _createClass(Constructor, protoProps, staticProps) {
1666	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
1667	  if (staticProps) _defineProperties(Constructor, staticProps);
1668	  Object.defineProperty(Constructor, "prototype", {
1669	    writable: false
1670	  });
1671	  return Constructor;
1672	}
1673
1674	function _defineProperty(obj, key, value) {
1675	  if (key in obj) {
1676	    Object.defineProperty(obj, key, {
1677	      value: value,
1678	      enumerable: true,
1679	      configurable: true,
1680	      writable: true
1681	    });
1682	  } else {
1683	    obj[key] = value;
1684	  }
1685
1686	  return obj;
1687	}
1688
1689	function _inherits(subClass, superClass) {
1690	  if (typeof superClass !== "function" && superClass !== null) {
1691	    throw new TypeError("Super expression must either be null or a function");
1692	  }
1693
1694	  subClass.prototype = Object.create(superClass && superClass.prototype, {
1695	    constructor: {
1696	      value: subClass,
1697	      writable: true,
1698	      configurable: true
1699	    }
1700	  });
1701	  Object.defineProperty(subClass, "prototype", {
1702	    writable: false
1703	  });
1704	  if (superClass) _setPrototypeOf(subClass, superClass);
1705	}
1706
vendor: 5,052 bytes, lines 1707-1903
1707	function _getPrototypeOf(o) {
1708	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
1709	    return o.__proto__ || Object.getPrototypeOf(o);
1710	  };
1711	  return _getPrototypeOf(o);
1712	}
1713
1714	function _setPrototypeOf(o, p) {
1715	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
1716	    o.__proto__ = p;
1717	    return o;
1718	  };
1719
1720	  return _setPrototypeOf(o, p);
1721	}
1722
1723	function _isNativeReflectConstruct() {
1724	  if (typeof Reflect === "undefined" || !Reflect.construct) return false;
1725	  if (Reflect.construct.sham) return false;
1726	  if (typeof Proxy === "function") return true;
1727
1728	  try {
1729	    Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
1730	    return true;
1731	  } catch (e) {
1732	    return false;
1733	  }
1734	}
1735
1736	function _objectWithoutPropertiesLoose(source, excluded) {
1737	  if (source == null) return {};
1738	  var target = {};
1739	  var sourceKeys = Object.keys(source);
1740	  var key, i;
1741
1742	  for (i = 0; i < sourceKeys.length; i++) {
1743	    key = sourceKeys[i];
1744	    if (excluded.indexOf(key) >= 0) continue;
1745	    target[key] = source[key];
1746	  }
1747
1748	  return target;
1749	}
1750
1751	function _objectWithoutProperties(source, excluded) {
1752	  if (source == null) return {};
1753
1754	  var target = _objectWithoutPropertiesLoose(source, excluded);
1755
1756	  var key, i;
1757
1758	  if (Object.getOwnPropertySymbols) {
1759	    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
1760
1761	    for (i = 0; i < sourceSymbolKeys.length; i++) {
1762	      key = sourceSymbolKeys[i];
1763	      if (excluded.indexOf(key) >= 0) continue;
1764	      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
1765	      target[key] = source[key];
1766	    }
1767	  }
1768
1769	  return target;
1770	}
1771
1772	function _assertThisInitialized(self) {
1773	  if (self === void 0) {
1774	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1775	  }
1776
1777	  return self;
1778	}
1779
1780	function _possibleConstructorReturn(self, call) {
1781	  if (call && (typeof call === "object" || typeof call === "function")) {
1782	    return call;
1783	  } else if (call !== void 0) {
1784	    throw new TypeError("Derived constructors may only return object or undefined");
1785	  }
1786
1787	  return _assertThisInitialized(self);
1788	}
1789
1790	function _createSuper(Derived) {
1791	  var hasNativeReflectConstruct = _isNativeReflectConstruct();
1792
1793	  return function _createSuperInternal() {
1794	    var Super = _getPrototypeOf(Derived),
1795	        result;
1796
1797	    if (hasNativeReflectConstruct) {
1798	      var NewTarget = _getPrototypeOf(this).constructor;
1799
1800	      result = Reflect.construct(Super, arguments, NewTarget);
1801	    } else {
1802	      result = Super.apply(this, arguments);
1803	    }
1804
1805	    return _possibleConstructorReturn(this, result);
1806	  };
1807	}
1808
1809	function _superPropBase(object, property) {
1810	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
1811	    object = _getPrototypeOf(object);
1812	    if (object === null) break;
1813	  }
1814
1815	  return object;
1816	}
1817
1818	function _get() {
1819	  if (typeof Reflect !== "undefined" && Reflect.get) {
1820	    _get = Reflect.get;
1821	  } else {
1822	    _get = function _get(target, property, receiver) {
1823	      var base = _superPropBase(target, property);
1824
1825	      if (!base) return;
1826	      var desc = Object.getOwnPropertyDescriptor(base, property);
1827
1828	      if (desc.get) {
1829	        return desc.get.call(arguments.length < 3 ? target : receiver);
1830	      }
1831
1832	      return desc.value;
1833	    };
1834	  }
1835
1836	  return _get.apply(this, arguments);
1837	}
1838
1839	function set(target, property, value, receiver) {
1840	  if (typeof Reflect !== "undefined" && Reflect.set) {
1841	    set = Reflect.set;
1842	  } else {
1843	    set = function set(target, property, value, receiver) {
1844	      var base = _superPropBase(target, property);
1845
1846	      var desc;
1847
1848	      if (base) {
1849	        desc = Object.getOwnPropertyDescriptor(base, property);
1850
1851	        if (desc.set) {
1852	          desc.set.call(receiver, value);
1853	          return true;
1854	        } else if (!desc.writable) {
1855	          return false;
1856	        }
1857	      }
1858
1859	      desc = Object.getOwnPropertyDescriptor(receiver, property);
1860
1861	      if (desc) {
1862	        if (!desc.writable) {
1863	          return false;
1864	        }
1865
1866	        desc.value = value;
1867	        Object.defineProperty(receiver, property, desc);
1868	      } else {
1869	        _defineProperty(receiver, property, value);
1870	      }
1871
1872	      return true;
1873	    };
1874	  }
1875
1876	  return set(target, property, value, receiver);
1877	}
1878
1879	function _set(target, property, value, receiver, isStrict) {
1880	  var s = set(target, property, value, receiver || target);
1881
1882	  if (!s && isStrict) {
1883	    throw new Error('failed to set property');
1884	  }
1885
1886	  return value;
1887	}
1888
1889	function _slicedToArray(arr, i) {
1890	  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
1891	}
1892
1893	function _arrayWithHoles(arr) {
1894	  if (Array.isArray(arr)) return arr;
1895	}
1896
1897	function _iterableToArrayLimit(arr, i) {
1898	  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
1899
1900	  if (_i == null) return;
1901	  var _arr = [];
1902	  var _n = true;
1903	  var _d = false;
1904
1905	  var _s, _e;
1906
1907	  try {
1908	    for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
1909	      _arr.push(_s.value);
1910
1911	      if (i && _arr.length === i) break;
1912	    }
1913	  } catch (err) {
1914	    _d = true;
1915	    _e = err;
1916	  } finally {
1917	    try {
1918	      if (!_n && _i["return"] != null) _i["return"]();
1919	    } finally {
1920	      if (_d) throw _e;
1921	    }
1922	  }
1923
1924	  return _arr;
1925	}
1926
1927	function _unsupportedIterableToArray(o, minLen) {
1928	  if (!o) return;
1929	  if (typeof o === "string") return _arrayLikeToArray(o, minLen);
1930	  var n = Object.prototype.toString.call(o).slice(8, -1);
1931	  if (n === "Object" && o.constructor) n = o.constructor.name;
1932	  if (n === "Map" || n === "Set") return Array.from(o);
1933	  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
1934	}
1935
1936	function _arrayLikeToArray(arr, len) {
1937	  if (len == null || len > arr.length) len = arr.length;
1938
1939	  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
1940
1941	  return arr2;
1942	}
1943
1944	function _nonIterableRest() {
1945	  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1946	}
1947
1948	/**
1949	  Provides details of changing model value
1950	  @param {Object} [details]
1951	  @param {string} [details.inserted] - Inserted symbols
1952	  @param {boolean} [details.skip] - Can skip chars
1953	  @param {number} [details.removeCount] - Removed symbols count
1954	  @param {number} [details.tailShift] - Additional offset if any changes occurred before tail
1955	*/
1956	var ChangeDetails = /*#__PURE__*/function () {
1957	  /** Inserted symbols */
1958
1959	  /** Can skip chars */
1960
1961	  /** Additional offset if any changes occurred before tail */
1962
1963	  /** Raw inserted is used by dynamic mask */
1964	  function ChangeDetails(details) {
1965	    _classCallCheck(this, ChangeDetails);
1966
1967	    Object.assign(this, {
1968	      inserted: '',
1969	      rawInserted: '',
1970	      skip: false,
1971	      tailShift: 0
1972	    }, details);
1973	  }
1974	  /**
1975	    Aggregate changes
1976	    @returns {ChangeDetails} `this`
1977	  */
1978
1979
1980	  _createClass(ChangeDetails, [{
1981	    key: "aggregate",
1982	    value: function aggregate(details) {
1983	      this.rawInserted += details.rawInserted;
1984	      this.skip = this.skip || details.skip;
1985	      this.inserted += details.inserted;
1986	      this.tailShift += details.tailShift;
1987	      return this;
1988	    }
1989	    /** Total offset considering all changes */
1990
1991	  }, {
1992	    key: "offset",
1993	    get: function get() {
1994	      return this.tailShift + this.inserted.length;
1995	    }
1996	  }]);
1997
1998	  return ChangeDetails;
1999	}();
2000
2001	/** Checks if value is string */
2002
2003	function isString(str) {
2004	  return typeof str === 'string' || str instanceof String;
2005	}
2006	/**
2007	  Direction
2008	  @prop {string} NONE
2009	  @prop {string} LEFT
2010	  @prop {string} FORCE_LEFT
2011	  @prop {string} RIGHT
2012	  @prop {string} FORCE_RIGHT
2013	*/
2014
2015	var DIRECTION = {
2016	  NONE: 'NONE',
2017	  LEFT: 'LEFT',
2018	  FORCE_LEFT: 'FORCE_LEFT',
2019	  RIGHT: 'RIGHT',
2020	  FORCE_RIGHT: 'FORCE_RIGHT'
2021	};
2022	/** */
2023
2024	function forceDirection(direction) {
2025	  switch (direction) {
2026	    case DIRECTION.LEFT:
2027	      return DIRECTION.FORCE_LEFT;
2028
2029	    case DIRECTION.RIGHT:
2030	      return DIRECTION.FORCE_RIGHT;
2031
2032	    default:
2033	      return direction;
2034	  }
2035	}
2036	/** Escapes regular expression control chars */
2037
2038	function escapeRegExp(str) {
2039	  return str.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
2040	}
2041	function normalizePrepare(prep) {
2042	  return Array.isArray(prep) ? prep : [prep, new ChangeDetails()];
2043	} // cloned from https://github.com/epoberezkin/fast-deep-equal with small changes
2044
2045	function objectIncludes(b, a) {
2046	  if (a === b) return true;
2047	  var arrA = Array.isArray(a),
2048	      arrB = Array.isArray(b),
2049	      i;
2050
2051	  if (arrA && arrB) {
2052	    if (a.length != b.length) return false;
2053
2054	    for (i = 0; i < a.length; i++) {
2055	      if (!objectIncludes(a[i], b[i])) return false;
2056	    }
2057
2058	    return true;
2059	  }
2060
2061	  if (arrA != arrB) return false;
2062
2063	  if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') {
2064	    var dateA = a instanceof Date,
2065	        dateB = b instanceof Date;
2066	    if (dateA && dateB) return a.getTime() == b.getTime();
2067	    if (dateA != dateB) return false;
2068	    var regexpA = a instanceof RegExp,
2069	        regexpB = b instanceof RegExp;
2070	    if (regexpA && regexpB) return a.toString() == b.toString();
2071	    if (regexpA != regexpB) return false;
2072	    var keys = Object.keys(a); // if (keys.length !== Object.keys(b).length) return false;
2073
2074	    for (i = 0; i < keys.length; i++) {
2075	      // $FlowFixMe ... ???
2076	      if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
2077	    }
2078
2079	    for (i = 0; i < keys.length; i++) {
2080	      if (!objectIncludes(b[keys[i]], a[keys[i]])) return false;
2081	    }
2082
2083	    return true;
2084	  } else if (a && b && typeof a === 'function' && typeof b === 'function') {
2085	    return a.toString() === b.toString();
2086	  }
2087
2088	  return false;
2089	}
2090	/** Selection range */
2091
2092	/** Provides details of changing input */
2093
2094	var ActionDetails = /*#__PURE__*/function () {
2095	  /** Current input value */
2096
2097	  /** Current cursor position */
2098
2099	  /** Old input value */
2100
2101	  /** Old selection */
2102	  function ActionDetails(value, cursorPos, oldValue, oldSelection) {
2103	    _classCallCheck(this, ActionDetails);
2104
2105	    this.value = value;
2106	    this.cursorPos = cursorPos;
2107	    this.oldValue = oldValue;
2108	    this.oldSelection = oldSelection; // double check if left part was changed (autofilling, other non-standard input triggers)
2109
2110	    while (this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos)) {
2111	      --this.oldSelection.start;
2112	    }
2113	  }
2114	  /**
2115	    Start changing position
2116	    @readonly
2117	  */
2118
2119
2120	  _createClass(ActionDetails, [{
2121	    key: "startChangePos",
2122	    get: function get() {
2123	      return Math.min(this.cursorPos, this.oldSelection.start);
2124	    }
2125	    /**
2126	      Inserted symbols count
2127	      @readonly
2128	    */
2129
2130	  }, {
2131	    key: "insertedCount",
2132	    get: function get() {
2133	      return this.cursorPos - this.startChangePos;
2134	    }
2135	    /**
2136	      Inserted symbols
2137	      @readonly
2138	    */
2139
2140	  }, {
2141	    key: "inserted",
2142	    get: function get() {
2143	      return this.value.substr(this.startChangePos, this.insertedCount);
2144	    }
2145	    /**
2146	      Removed symbols count
2147	      @readonly
2148	    */
2149
2150	  }, {
2151	    key: "removedCount",
2152	    get: function get() {
2153	      // Math.max for opposite operation
2154	      return Math.max(this.oldSelection.end - this.startChangePos || // for Delete
2155	      this.oldValue.length - this.value.length, 0);
2156	    }
2157	    /**
2158	      Removed symbols
2159	      @readonly
2160	    */
2161
2162	  }, {
2163	    key: "removed",
2164	    get: function get() {
2165	      return this.oldValue.substr(this.startChangePos, this.removedCount);
2166	    }
2167	    /**
2168	      Unchanged head symbols
2169	      @readonly
2170	    */
2171
2172	  }, {
2173	    key: "head",
2174	    get: function get() {
2175	      return this.value.substring(0, this.startChangePos);
2176	    }
2177	    /**
2178	      Unchanged tail symbols
2179	      @readonly
2180	    */
2181
2182	  }, {
2183	    key: "tail",
2184	    get: function get() {
2185	      return this.value.substring(this.startChangePos + this.insertedCount);
2186	    }
2187	    /**
2188	      Remove direction
2189	      @readonly
2190	    */
2191
2192	  }, {
2193	    key: "removeDirection",
2194	    get: function get() {
2195	      if (!this.removedCount || this.insertedCount) return DIRECTION.NONE; // align right if delete at right
2196
2197	      return (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) && // if not range removed (event with backspace)
2198	      this.oldSelection.end === this.oldSelection.start ? DIRECTION.RIGHT : DIRECTION.LEFT;
2199	    }
2200	  }]);
2201
2202	  return ActionDetails;
2203	}();
2204
2205	/** Provides details of continuous extracted tail */
2206	var ContinuousTailDetails = /*#__PURE__*/function () {
2207	  /** Tail value as string */
2208
2209	  /** Tail start position */
2210
2211	  /** Start position */
2212	  function ContinuousTailDetails() {
2213	    var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
2214	    var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
2215	    var stop = arguments.length > 2 ? arguments[2] : undefined;
2216
2217	    _classCallCheck(this, ContinuousTailDetails);
2218
2219	    this.value = value;
2220	    this.from = from;
2221	    this.stop = stop;
2222	  }
2223
2224	  _createClass(ContinuousTailDetails, [{
2225	    key: "toString",
2226	    value: function toString() {
2227	      return this.value;
2228	    }
2229	  }, {
2230	    key: "extend",
2231	    value: function extend(tail) {
2232	      this.value += String(tail);
2233	    }
2234	  }, {
2235	    key: "appendTo",
2236	    value: function appendTo(masked) {
2237	      return masked.append(this.toString(), {
2238	        tail: true
2239	      }).aggregate(masked._appendPlaceholder());
2240	    }
2241	  }, {
2242	    key: "state",
2243	    get: function get() {
2244	      return {
2245	        value: this.value,
2246	        from: this.from,
2247	        stop: this.stop
2248	      };
2249	    },
2250	    set: function set(state) {
2251	      Object.assign(this, state);
2252	    }
2253	  }, {
2254	    key: "unshift",
2255	    value: function unshift(beforePos) {
2256	      if (!this.value.length || beforePos != null && this.from >= beforePos) return '';
2257	      var shiftChar = this.value[0];
2258	      this.value = this.value.slice(1);
2259	      return shiftChar;
2260	    }
2261	  }, {
2262	    key: "shift",
2263	    value: function shift() {
2264	      if (!this.value.length) return '';
2265	      var shiftChar = this.value[this.value.length - 1];
2266	      this.value = this.value.slice(0, -1);
2267	      return shiftChar;
2268	    }
2269	  }]);
2270
2271	  return ContinuousTailDetails;
2272	}();
2273
2274	/**
2275	 * Applies mask on element.
2276	 * @constructor
2277	 * @param {HTMLInputElement|HTMLTextAreaElement|MaskElement} el - Element to apply mask
2278	 * @param {Object} opts - Custom mask options
2279	 * @return {InputMask}
2280	 */
2281	function IMask(el) {
2282	  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2283	  // currently available only for input-like elements
2284	  return new IMask.InputMask(el, opts);
2285	}
2286
2287	/** Supported mask type */
2288
2289	/** Provides common masking stuff */
2290	var Masked = /*#__PURE__*/function () {
2291	  // $Shape<MaskedOptions>; TODO after fix https://github.com/facebook/flow/issues/4773
2292
2293	  /** @type {Mask} */
2294
2295	  /** */
2296	  // $FlowFixMe no ideas
2297
2298	  /** Transforms value before mask processing */
2299
2300	  /** Validates if value is acceptable */
2301
2302	  /** Does additional processing in the end of editing */
2303
2304	  /** Format typed value to string */
2305
2306	  /** Parse strgin to get typed value */
2307
2308	  /** Enable characters overwriting */
2309
2310	  /** */
2311
2312	  /** */
2313	  function Masked(opts) {
2314	    _classCallCheck(this, Masked);
2315
2316	    this._value = '';
2317
2318	    this._update(Object.assign({}, Masked.DEFAULTS, opts));
2319
2320	    this.isInitialized = true;
2321	  }
2322	  /** Sets and applies new options */
2323
2324
2325	  _createClass(Masked, [{
2326	    key: "updateOptions",
2327	    value: function updateOptions(opts) {
2328	      if (!Object.keys(opts).length) return; // $FlowFixMe
2329
2330	      this.withValueRefresh(this._update.bind(this, opts));
2331	    }
2332	    /**
2333	      Sets new options
2334	      @protected
2335	    */
2336
2337	  }, {
2338	    key: "_update",
2339	    value: function _update(opts) {
2340	      Object.assign(this, opts);
2341	    }
2342	    /** Mask state */
2343
2344	  }, {
2345	    key: "state",
2346	    get: function get() {
2347	      return {
2348	        _value: this.value
2349	      };
2350	    },
2351	    set: function set(state) {
2352	      this._value = state._value;
2353	    }
2354	    /** Resets value */
2355
2356	  }, {
2357	    key: "reset",
2358	    value: function reset() {
2359	      this._value = '';
2360	    }
2361	    /** */
2362
2363	  }, {
2364	    key: "value",
2365	    get: function get() {
2366	      return this._value;
2367	    },
2368	    set: function set(value) {
2369	      this.resolve(value);
2370	    }
2371	    /** Resolve new value */
2372
2373	  }, {
2374	    key: "resolve",
2375	    value: function resolve(value) {
2376	      this.reset();
2377	      this.append(value, {
2378	        input: true
2379	      }, '');
2380	      this.doCommit();
2381	      return this.value;
2382	    }
2383	    /** */
2384
2385	  }, {
2386	    key: "unmaskedValue",
2387	    get: function get() {
2388	      return this.value;
2389	    },
2390	    set: function set(value) {
2391	      this.reset();
2392	      this.append(value, {}, '');
2393	      this.doCommit();
2394	    }
2395	    /** */
2396
2397	  }, {
2398	    key: "typedValue",
2399	    get: function get() {
2400	      return this.doParse(this.value);
2401	    },
2402	    set: function set(value) {
2403	      this.value = this.doFormat(value);
2404	    }
2405	    /** Value that includes raw user input */
2406
2407	  }, {
2408	    key: "rawInputValue",
2409	    get: function get() {
2410	      return this.extractInput(0, this.value.length, {
2411	        raw: true
2412	      });
2413	    },
2414	    set: function set(value) {
2415	      this.reset();
2416	      this.append(value, {
2417	        raw: true
2418	      }, '');
2419	      this.doCommit();
2420	    }
2421	    /** */
2422
2423	  }, {
2424	    key: "isComplete",
2425	    get: function get() {
2426	      return true;
2427	    }
2428	    /** */
2429
2430	  }, {
2431	    key: "isFilled",
2432	    get: function get() {
2433	      return this.isComplete;
2434	    }
2435	    /** Finds nearest input position in direction */
2436
2437	  }, {
2438	    key: "nearestInputPos",
2439	    value: function nearestInputPos(cursorPos, direction) {
2440	      return cursorPos;
2441	    }
2442	    /** Extracts value in range considering flags */
2443
2444	  }, {
2445	    key: "extractInput",
2446	    value: function extractInput() {
2447	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
2448	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
2449	      return this.value.slice(fromPos, toPos);
2450	    }
2451	    /** Extracts tail in range */
2452
2453	  }, {
2454	    key: "extractTail",
2455	    value: function extractTail() {
2456	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
2457	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
2458	      return new ContinuousTailDetails(this.extractInput(fromPos, toPos), fromPos);
2459	    }
2460	    /** Appends tail */
2461	    // $FlowFixMe no ideas
2462
2463	  }, {
2464	    key: "appendTail",
2465	    value: function appendTail(tail) {
2466	      if (isString(tail)) tail = new ContinuousTailDetails(String(tail));
2467	      return tail.appendTo(this);
2468	    }
2469	    /** Appends char */
2470
2471	  }, {
2472	    key: "_appendCharRaw",
2473	    value: function _appendCharRaw(ch) {
2474	      if (!ch) return new ChangeDetails();
2475	      this._value += ch;
2476	      return new ChangeDetails({
2477	        inserted: ch,
2478	        rawInserted: ch
2479	      });
2480	    }
2481	    /** Appends char */
2482
2483	  }, {
2484	    key: "_appendChar",
2485	    value: function _appendChar(ch) {
2486	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2487	      var checkTail = arguments.length > 2 ? arguments[2] : undefined;
2488	      var consistentState = this.state;
2489	      var details;
2490
2491	      var _normalizePrepare = normalizePrepare(this.doPrepare(ch, flags));
2492
2493	      var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2);
2494
2495	      ch = _normalizePrepare2[0];
2496	      details = _normalizePrepare2[1];
2497	      details = details.aggregate(this._appendCharRaw(ch, flags));
2498
2499	      if (details.inserted) {
2500	        var consistentTail;
2501	        var appended = this.doValidate(flags) !== false;
2502
2503	        if (appended && checkTail != null) {
2504	          // validation ok, check tail
2505	          var beforeTailState = this.state;
2506
2507	          if (this.overwrite === true) {
2508	            consistentTail = checkTail.state;
2509	            checkTail.unshift(this.value.length);
2510	          }
2511
2512	          var tailDetails = this.appendTail(checkTail);
2513	          appended = tailDetails.rawInserted === checkTail.toString(); // not ok, try shift
2514
2515	          if (!(appended && tailDetails.inserted) && this.overwrite === 'shift') {
2516	            this.state = beforeTailState;
2517	            consistentTail = checkTail.state;
2518	            checkTail.shift();
2519	            tailDetails = this.appendTail(checkTail);
2520	            appended = tailDetails.rawInserted === checkTail.toString();
2521	          } // if ok, rollback state after tail
2522
2523
2524	          if (appended && tailDetails.inserted) this.state = beforeTailState;
2525	        } // revert all if something went wrong
2526
2527
2528	        if (!appended) {
2529	          details = new ChangeDetails();
2530	          this.state = consistentState;
2531	          if (checkTail && consistentTail) checkTail.state = consistentTail;
2532	        }
2533	      }
2534
2535	      return details;
2536	    }
2537	    /** Appends optional placeholder at end */
2538
2539	  }, {
2540	    key: "_appendPlaceholder",
2541	    value: function _appendPlaceholder() {
2542	      return new ChangeDetails();
2543	    }
2544	    /** Appends optional eager placeholder at end */
2545
2546	  }, {
2547	    key: "_appendEager",
2548	    value: function _appendEager() {
2549	      return new ChangeDetails();
2550	    }
2551	    /** Appends symbols considering flags */
2552	    // $FlowFixMe no ideas
2553
2554	  }, {
2555	    key: "append",
2556	    value: function append(str, flags, tail) {
2557	      if (!isString(str)) throw new Error('value should be string');
2558	      var details = new ChangeDetails();
2559	      var checkTail = isString(tail) ? new ContinuousTailDetails(String(tail)) : tail;
2560	      if (flags && flags.tail) flags._beforeTailState = this.state;
2561
2562	      for (var ci = 0; ci < str.length; ++ci) {
2563	        details.aggregate(this._appendChar(str[ci], flags, checkTail));
2564	      } // append tail but aggregate only tailShift
2565
2566
2567	      if (checkTail != null) {
2568	        details.tailShift += this.appendTail(checkTail).tailShift; // TODO it's a good idea to clear state after appending ends
2569	        // but it causes bugs when one append calls another (when dynamic dispatch set rawInputValue)
2570	        // this._resetBeforeTailState();
2571	      }
2572
2573	      if (this.eager && flags !== null && flags !== void 0 && flags.input && str) {
2574	        details.aggregate(this._appendEager());
2575	      }
2576
2577	      return details;
2578	    }
2579	    /** */
2580
2581	  }, {
2582	    key: "remove",
2583	    value: function remove() {
2584	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
2585	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
2586	      this._value = this.value.slice(0, fromPos) + this.value.slice(toPos);
2587	      return new ChangeDetails();
2588	    }
2589	    /** Calls function and reapplies current value */
2590
2591	  }, {
2592	    key: "withValueRefresh",
2593	    value: function withValueRefresh(fn) {
2594	      if (this._refreshing || !this.isInitialized) return fn();
2595	      this._refreshing = true;
2596	      var rawInput = this.rawInputValue;
2597	      var value = this.value;
2598	      var ret = fn();
2599	      this.rawInputValue = rawInput; // append lost trailing chars at end
2600
2601	      if (this.value && this.value !== value && value.indexOf(this.value) === 0) {
2602	        this.append(value.slice(this.value.length), {}, '');
2603	      }
2604
2605	      delete this._refreshing;
2606	      return ret;
2607	    }
2608	    /** */
2609
2610	  }, {
2611	    key: "runIsolated",
2612	    value: function runIsolated(fn) {
2613	      if (this._isolated || !this.isInitialized) return fn(this);
2614	      this._isolated = true;
2615	      var state = this.state;
2616	      var ret = fn(this);
2617	      this.state = state;
2618	      delete this._isolated;
2619	      return ret;
2620	    }
2621	    /**
2622	      Prepares string before mask processing
2623	      @protected
2624	    */
2625
2626	  }, {
2627	    key: "doPrepare",
2628	    value: function doPrepare(str) {
2629	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2630	      return this.prepare ? this.prepare(str, this, flags) : str;
2631	    }
2632	    /**
2633	      Validates if value is acceptable
2634	      @protected
2635	    */
2636
2637	  }, {
2638	    key: "doValidate",
2639	    value: function doValidate(flags) {
2640	      return (!this.validate || this.validate(this.value, this, flags)) && (!this.parent || this.parent.doValidate(flags));
2641	    }
2642	    /**
2643	      Does additional processing in the end of editing
2644	      @protected
2645	    */
2646
2647	  }, {
2648	    key: "doCommit",
2649	    value: function doCommit() {
2650	      if (this.commit) this.commit(this.value, this);
2651	    }
2652	    /** */
2653
2654	  }, {
2655	    key: "doFormat",
2656	    value: function doFormat(value) {
2657	      return this.format ? this.format(value, this) : value;
2658	    }
2659	    /** */
2660
2661	  }, {
2662	    key: "doParse",
2663	    value: function doParse(str) {
2664	      return this.parse ? this.parse(str, this) : str;
2665	    }
2666	    /** */
2667
2668	  }, {
2669	    key: "splice",
2670	    value: function splice(start, deleteCount, inserted, removeDirection) {
2671	      var tailPos = start + deleteCount;
2672	      var tail = this.extractTail(tailPos);
2673	      var oldRawValue;
2674
2675	      if (this.eager) {
2676	        removeDirection = forceDirection(removeDirection);
2677	        oldRawValue = this.extractInput(0, tailPos, {
2678	          raw: true
2679	        });
2680	      }
2681
2682	      var startChangePos = this.nearestInputPos(start, deleteCount > 1 && start !== 0 && !this.eager ? DIRECTION.NONE : removeDirection);
2683	      var details = new ChangeDetails({
2684	        tailShift: startChangePos - start // adjust tailShift if start was aligned
2685
2686	      }).aggregate(this.remove(startChangePos));
2687
2688	      if (this.eager && removeDirection !== DIRECTION.NONE && oldRawValue === this.rawInputValue) {
2689	        if (removeDirection === DIRECTION.FORCE_LEFT) {
2690	          var valLength;
2691
2692	          while (oldRawValue === this.rawInputValue && (valLength = this.value.length)) {
2693	            details.aggregate(new ChangeDetails({
2694	              tailShift: -1
2695	            })).aggregate(this.remove(valLength - 1));
2696	          }
2697	        } else if (removeDirection === DIRECTION.FORCE_RIGHT) {
2698	          tail.unshift();
2699	        }
2700	      }
2701
2702	      return details.aggregate(this.append(inserted, {
2703	        input: true
2704	      }, tail));
2705	    }
2706	  }, {
2707	    key: "maskEquals",
2708	    value: function maskEquals(mask) {
2709	      return this.mask === mask;
2710	    }
2711	  }]);
2712
2713	  return Masked;
2714	}();
2715	Masked.DEFAULTS = {
2716	  format: function format(v) {
2717	    
2717return v;
2718	  },
2719	  parse: function parse(v) {
2720	    return v;
2721	  }
2722	};
2723	IMask.Masked = Masked;
2724
2725	/** Get Masked class by mask type */
2726
2727	function maskedClass(mask) {
2728	  if (mask == null) {
2729	    throw new Error('mask property should be defined');
2730	  } // $FlowFixMe
2731
2732
2733	  if (mask instanceof RegExp) return IMask.MaskedRegExp; // $FlowFixMe
2734
2735	  if (isString(mask)) return IMask.MaskedPattern; // $FlowFixMe
2736
2737	  if (mask instanceof Date || mask === Date) return IMask.MaskedDate; // $FlowFixMe
2738
2739	  if (mask instanceof Number || typeof mask === 'number' || mask === Number) return IMask.MaskedNumber; // $FlowFixMe
2740
2741	  if (Array.isArray(mask) || mask === Array) return IMask.MaskedDynamic; // $FlowFixMe
2742
2743	  if (IMask.Masked && mask.prototype instanceof IMask.Masked) return mask; // $FlowFixMe
2744
2745	  if (mask instanceof IMask.Masked) return mask.constructor; // $FlowFixMe
2746
2747	  if (mask instanceof Function) return IMask.MaskedFunction;
2748	  console.warn('Mask not found for mask', mask); // eslint-disable-line no-console
2749	  // $FlowFixMe
2750
2751	  return IMask.Masked;
2752	}
2753	/** Creates new {@link Masked} depending on mask type */
2754
2755	function createMask(opts) {
2756	  // $FlowFixMe
2757	  if (IMask.Masked && opts instanceof IMask.Masked) return opts;
2758	  opts = Object.assign({}, opts);
2759	  var mask = opts.mask; // $FlowFixMe
2760
2761	  if (IMask.Masked && mask instanceof IMask.Masked) return mask;
2762	  var MaskedClass = maskedClass(mask);
2763	  if (!MaskedClass) throw new Error('Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.');
2764	  return new MaskedClass(opts);
2765	}
2766	IMask.createMask = createMask;
2767
2768	var _excluded$4 = ["mask"];
2769	var DEFAULT_INPUT_DEFINITIONS = {
2770	  '0': /\d/,
2771	  'a': /[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\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\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\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\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-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\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-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\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\u2183\u2184\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\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\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
2771D3-\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]/,
2772	  // http://stackoverflow.com/a/22075070
2773	  '*': /./
2774	};
2775	/** */
2776
2777	var PatternInputDefinition = /*#__PURE__*/function () {
2778	  /** */
2779
2780	  /** */
2781
2782	  /** */
2783
2784	  /** */
2785
2786	  /** */
2787
2788	  /** */
2789
2790	  /** */
2791	  function PatternInputDefinition(opts) {
2792	    _classCallCheck(this, PatternInputDefinition);
2793
2794	    var mask = opts.mask,
2795	        blockOpts = _objectWithoutProperties(opts, _excluded$4);
2796
2797	    this.masked = createMask({
2798	      mask: mask
2799	    });
2800	    Object.assign(this, blockOpts);
2801	  }
2802
2803	  _createClass(PatternInputDefinition, [{
2804	    key: "reset",
2805	    value: function reset() {
2806	      this.isFilled = false;
2807	      this.masked.reset();
2808	    }
2809	  }, {
2810	    key: "remove",
2811	    value: function remove() {
2812	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
2813	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
2814
2815	      if (fromPos === 0 && toPos >= 1) {
2816	        this.isFilled = false;
2817	        return this.masked.remove(fromPos, toPos);
2818	      }
2819
2820	      return new ChangeDetails();
2821	    }
2822	  }, {
2823	    key: "value",
2824	    get: function get() {
2825	      return this.masked.value || (this.isFilled && !this.isOptional ? this.placeholderChar : '');
2826	    }
2827	  }, {
2828	    key: "unmaskedValue",
2829	    get: function get() {
2830	      return this.masked.unmaskedValue;
2831	    }
2832	  }, {
2833	    key: "isComplete",
2834	    get: function get() {
2835	      return Boolean(this.masked.value) || this.isOptional;
2836	    }
2837	  }, {
2838	    key: "_appendChar",
2839	    value: function _appendChar(ch) {
2840	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2841	      if (this.isFilled) return new ChangeDetails();
2842	      var state = this.masked.state; // simulate input
2843
2844	      var details = this.masked._appendChar(ch, flags);
2845
2846	      if (details.inserted && this.doValidate(flags) === false) {
2847	        details.inserted = details.rawInserted = '';
2848	        this.masked.state = state;
2849	      }
2850
2851	      if (!details.inserted && !this.isOptional && !this.lazy && !flags.input) {
2852	        details.inserted = this.placeholderChar;
2853	      }
2854
2855	      details.skip = !details.inserted && !this.isOptional;
2856	      this.isFilled = Boolean(details.inserted);
2857	      return details;
2858	    }
2859	  }, {
2860	    key: "append",
2861	    value: function append() {
2862	      var _this$masked;
2863
2864	      // TODO probably should be done via _appendChar
2865	      return (_this$masked = this.masked).append.apply(_this$masked, arguments);
2866	    }
2867	  }, {
2868	    key: "_appendPlaceholder",
2869	    value: function _appendPlaceholder() {
2870	      var details = new ChangeDetails();
2871	      if (this.isFilled || this.isOptional) return details;
2872	      this.isFilled = true;
2873	      details.inserted = this.placeholderChar;
2874	      return details;
2875	    }
2876	  }, {
2877	    key: "_appendEager",
2878	    value: function _appendEager() {
2879	      return new ChangeDetails();
2880	    }
2881	  }, {
2882	    key: "extractTail",
2883	    value: function extractTail() {
2884	      var _this$masked2;
2885
2886	      return (_this$masked2 = this.masked).extractTail.apply(_this$masked2, arguments);
2887	    }
2888	  }, {
2889	    key: "appendTail",
2890	    value: function appendTail() {
2891	      var _this$masked3;
2892
2893	      return (_this$masked3 = this.masked).appendTail.apply(_this$masked3, arguments);
2894	    }
2895	  }, {
2896	    key: "extractInput",
2897	    value: function extractInput() {
2898	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
2899	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
2900	      var flags = arguments.length > 2 ? arguments[2] : undefined;
2901	      return this.masked.extractInput(fromPos, toPos, flags);
2902	    }
2903	  }, {
2904	    key: "nearestInputPos",
2905	    value: function nearestInputPos(cursorPos) {
2906	      var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE;
2907	      var minPos = 0;
2908	      var maxPos = this.value.length;
2909	      var boundPos = Math.min(Math.max(cursorPos, minPos), maxPos);
2910
2911	      switch (direction) {
2912	        case DIRECTION.LEFT:
2913	        case DIRECTION.FORCE_LEFT:
2914	          return this.isComplete ? boundPos : minPos;
2915
2916	        case DIRECTION.RIGHT:
2917	        case DIRECTION.FORCE_RIGHT:
2918	          return this.isComplete ? boundPos : maxPos;
2919
2920	        case DIRECTION.NONE:
2921	        default:
2922	          return boundPos;
2923	      }
2924	    }
2925	  }, {
2926	    key: "doValidate",
2927	    value: function doValidate() {
2928	      var _this$masked4, _this$parent;
2929
2930	      return (_this$masked4 = this.masked).doValidate.apply(_this$masked4, arguments) && (!this.parent || (_this$parent = this.parent).doValidate.apply(_this$parent, arguments));
2931	    }
2932	  }, {
2933	    key: "doCommit",
2934	    value: function doCommit() {
2935	      this.masked.doCommit();
2936	    }
2937	  }, {
2938	    key: "state",
2939	    get: function get() {
2940	      return {
2941	        masked: this.masked.state,
2942	        isFilled: this.isFilled
2943	      };
2944	    },
2945	    set: function set(state) {
2946	      this.masked.state = state.masked;
2947	      this.isFilled = state.isFilled;
2948	    }
2949	  }]);
2950
2951	  return PatternInputDefinition;
2952	}();
2953
2954	var PatternFixedDefinition = /*#__PURE__*/function () {
2955	  /** */
2956
2957	  /** */
2958
2959	  /** */
2960
2961	  /** */
2962
2963	  /** */
2964
2965	  /** */
2966	  function PatternFixedDefinition(opts) {
2967	    _classCallCheck(this, PatternFixedDefinition);
2968
2969	    Object.assign(this, opts);
2970	    this._value = '';
2971	    this.isFixed = true;
2972	  }
2973
2974	  _createClass(PatternFixedDefinition, [{
2975	    key: "value",
2976	    get: function get() {
2977	      return this._value;
2978	    }
2979	  }, {
2980	    key: "unmaskedValue",
2981	    get: function get() {
2982	      return this.isUnmasking ? this.value : '';
2983	    }
2984	  }, {
2985	    key: "reset",
2986	    value: function reset() {
2987	      this._isRawInput = false;
2988	      this._value = '';
2989	    }
2990	  }, {
2991	    key: "remove",
2992	    value: function remove() {
2993	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
2994	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length;
2995	      this._value = this._value.slice(0, fromPos) + this._value.slice(toPos);
2996	      if (!this._value) this._isRawInput = false;
2997	      return new ChangeDetails();
2998	    }
2999	  }, {
3000	    key: "nearestInputPos",
3001	    value: function nearestInputPos(cursorPos) {
3002	      var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE;
3003	      var minPos = 0;
3004	      var maxPos = this._value.length;
3005
3006	      switch (direction) {
3007	        case DIRECTION.LEFT:
3008	        case DIRECTION.FORCE_LEFT:
3009	          return minPos;
3010
3011	        case DIRECTION.NONE:
3012	        case DIRECTION.RIGHT:
3013	        case DIRECTION.FORCE_RIGHT:
3014	        default:
3015	          return maxPos;
3016	      }
3017	    }
3018	  }, {
3019	    key: "extractInput",
3020	    value: function extractInput() {
3021	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
3022	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length;
3023	      var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
3024	      return flags.raw && this._isRawInput && this._value.slice(fromPos, toPos) || '';
3025	    }
3026	  }, {
3027	    key: "isComplete",
3028	    get: function get() {
3029	      return true;
3030	    }
3031	  }, {
3032	    key: "isFilled",
3033	    get: function get() {
3034	      return Boolean(this._value);
3035	    }
3036	  }, {
3037	    key: "_appendChar",
3038	    value: function _appendChar(ch) {
3039	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3040	      var details = new ChangeDetails();
3041	      if (this._value) return details;
3042	      var appended = this.char === ch;
3043	      var isResolved = appended && (this.isUnmasking || flags.input || flags.raw) && !this.eager && !flags.tail;
3044	      if (isResolved) details.rawInserted = this.char;
3045	      this._value = details.inserted = this.char;
3046	      this._isRawInput = isResolved && (flags.raw || flags.input);
3047	      return details;
3048	    }
3049	  }, {
3050	    key: "_appendEager",
3051	    value: function _appendEager() {
3052	      return this._appendChar(this.char);
3053	    }
3054	  }, {
3055	    key: "_appendPlaceholder",
3056	    value: function _appendPlaceholder() {
3057	      var details = new ChangeDetails();
3058	      if (this._value) return details;
3059	      this._value = details.inserted = this.char;
3060	      return details;
3061	    }
3062	  }, {
3063	    key: "extractTail",
3064	    value: function extractTail() {
3065	      arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
3066	      return new ContinuousTailDetails('');
3067	    } // $FlowFixMe no ideas
3068
3069	  }, {
3070	    key: "appendTail",
3071	    value: function appendTail(tail) {
3072	      if (isString(tail)) tail = new ContinuousTailDetails(String(tail));
3073	      return tail.appendTo(this);
3074	    }
3075	  }, {
3076	    key: "append",
3077	    value: function append(str, flags, tail) {
3078	      var details = this._appendChar(str[0], flags);
3079
3080	      if (tail != null) {
3081	        details.tailShift += this.appendTail(tail).tailShift;
3082	      }
3083
3084	      return details;
3085	    }
3086	  }, {
3087	    key: "doCommit",
3088	    value: function doCommit() {}
3089	  }, {
3090	    key: "state",
3091	    get: function get() {
3092	      return {
3093	        _value: this._value,
3094	        _isRawInput: this._isRawInput
3095	      };
3096	    },
3097	    set: function set(state) {
3098	      Object.assign(this, state);
3099	    }
3100	  }]);
3101
3102	  return PatternFixedDefinition;
3103	}();
3104
3105	var _excluded$3 = ["chunks"];
3106
3107	var ChunksTailDetails = /*#__PURE__*/function () {
3108	  /** */
3109	  function ChunksTailDetails() {
3110	    var chunks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
3111	    var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
3112
3113	    _classCallCheck(this, ChunksTailDetails);
3114
3115	    this.chunks = chunks;
3116	    this.from = from;
3117	  }
3118
3119	  _createClass(ChunksTailDetails, [{
3120	    key: "toString",
3121	    value: function toString() {
3122	      return this.chunks.map(String).join('');
3123	    } // $FlowFixMe no ideas
3124
3125	  }, {
3126	    key: "extend",
3127	    value: function extend(tailChunk) {
3128	      if (!String(tailChunk)) return;
3129	      if (isString(tailChunk)) tailChunk = new ContinuousTailDetails(String(tailChunk));
3130	      var lastChunk = this.chunks[this.chunks.length - 1];
3131	      var extendLast = lastChunk && ( // if stops are same or tail has no stop
3132	      lastChunk.stop === tailChunk.stop || tailChunk.stop == null) && // if tail chunk goes just after last chunk
3133	      tailChunk.from === lastChunk.from + lastChunk.toString().length;
3134
3135	      if (tailChunk instanceof ContinuousTailDetails) {
3136	        // check the ability to extend previous chunk
3137	        if (extendLast) {
3138	          // extend previous chunk
3139	          lastChunk.extend(tailChunk.toString());
3140	        } else {
3141	          // append new chunk
3142	          this.chunks.push(tailChunk);
3143	        }
3144	      } else if (tailChunk instanceof ChunksTailDetails) {
3145	        if (tailChunk.stop == null) {
3146	          // unwrap floating chunks to parent, keeping `from` pos
3147	          var firstTailChunk;
3148
3149	          while (tailChunk.chunks.length && tailChunk.chunks[0].stop == null) {
3150	            firstTailChunk = tailChunk.chunks.shift();
3151	            firstTailChunk.from += tailChunk.from;
3152	            this.extend(firstTailChunk);
3153	          }
3154	        } // if tail chunk still has value
3155
3156
3157	        if (tailChunk.toString()) {
3158	          // if chunks contains stops, then popup stop to container
3159	          tailChunk.stop = tailChunk.blockIndex;
3160	          this.chunks.push(tailChunk);
3161	        }
3162	      }
3163	    }
3164	  }, {
3165	    key: "appendTo",
3166	    value: function appendTo(masked) {
3167	      // $FlowFixMe
3168	      if (!(masked instanceof IMask.MaskedPattern)) {
3169	        var tail = new ContinuousTailDetails(this.toString());
3170	        return tail.appendTo(masked);
3171	      }
3172
3173	      var details = new ChangeDetails();
3174
3175	      for (var ci = 0; ci < this.chunks.length && !details.skip; ++ci) {
3176	        var chunk = this.chunks[ci];
3177
3178	        var lastBlockIter = masked._mapPosToBlock(masked.value.length);
3179
3180	        var stop = chunk.stop;
3181	        var chunkBlock = void 0;
3182
3183	        if (stop != null && ( // if block not found or stop is behind lastBlock
3184	        !lastBlockIter || lastBlockIter.index <= stop)) {
3185	          if (chunk instanceof ChunksTailDetails || // for continuous block also check if stop is exist
3186	          masked._stops.indexOf(stop) >= 0) {
3187	            details.aggregate(masked._appendPlaceholder(stop));
3188	          }
3189
3190	          chunkBlock = chunk instanceof ChunksTailDetails && masked._blocks[stop];
3191	        }
3192
3193	        if (chunkBlock) {
3194	          var tailDetails = chunkBlock.appendTail(chunk);
3195	          tailDetails.skip = false; // always ignore skip, it will be set on last
3196
3197	          details.aggregate(tailDetails);
3198	          masked._value += tailDetails.inserted; // get not inserted chars
3199
3200	          var remainChars = chunk.toString().slice(tailDetails.rawInserted.length);
3201	          if (remainChars) details.aggregate(masked.append(remainChars, {
3202	            tail: true
3203	          }));
3204	        } else {
3205	          details.aggregate(masked.append(chunk.toString(), {
3206	            tail: true
3207	          }));
3208	        }
3209	      }
3210	      return details;
3211	    }
3212	  }, {
3213	    key: "state",
3214	    get: function get() {
3215	      return {
3216	        chunks: this.chunks.map(function (c) {
3217	          return c.state;
3218	        }),
3219	        from: this.from,
3220	        stop: this.stop,
3221	        blockIndex: this.blockIndex
3222	      };
3223	    },
3224	    set: function set(state) {
3225	      var chunks = state.chunks,
3226	          props = _objectWithoutProperties(state, _excluded$3);
3227
3228	      Object.assign(this, props);
3229	      this.chunks = chunks.map(function (cstate) {
3230	        var chunk = "chunks" in cstate ? new ChunksTailDetails() : new ContinuousTailDetails(); // $FlowFixMe already checked above
3231
3232	        chunk.state = cstate;
3233	        return chunk;
3234	      });
3235	    }
3236	  }, {
3237	    key: "unshift",
3238	    value: function unshift(beforePos) {
3239	      if (!this.chunks.length || beforePos != null && this.from >= beforePos) return '';
3240	      var chunkShiftPos = beforePos != null ? beforePos - this.from : beforePos;
3241	      var ci = 0;
3242
3243	      while (ci < this.chunks.length) {
3244	        var chunk = this.chunks[ci];
3245	        var shiftChar = chunk.unshift(chunkShiftPos);
3246
3247	        if (chunk.toString()) {
3248	          // chunk still contains value
3249	          // but not shifted - means no more available chars to shift
3250	          if (!shiftChar) break;
3251	          ++ci;
3252	        } else {
3253	          // clean if chunk has no value
3254	          this.chunks.splice(ci, 1);
3255	        }
3256
3257	        if (shiftChar) return shiftChar;
3258	      }
3259
3260	      return '';
3261	    }
3262	  }, {
3263	    key: "shift",
3264	    value: function shift() {
3265	      if (!this.chunks.length) return '';
3266	      var ci = this.chunks.length - 1;
3267
3268	      while (0 <= ci) {
3269	        var chunk = this.chunks[ci];
3270	        var shiftChar = chunk.shift();
3271
3272	        if (chunk.toString()) {
3273	          // chunk still contains value
3274	          // but not shifted - means no more available chars to shift
3275	          if (!shiftChar) break;
3276	          --ci;
3277	        } else {
3278	          // clean if chunk has no value
3279	          this.chunks.splice(ci, 1);
3280	        }
3281
3282	        if (shiftChar) return shiftChar;
3283	      }
3284
3285	      return '';
3286	    }
3287	  }]);
3288
3289	  return ChunksTailDetails;
3290	}();
3291
3292	var PatternCursor = /*#__PURE__*/function () {
3293	  function PatternCursor(masked, pos) {
3294	    _classCallCheck(this, PatternCursor);
3295
3296	    this.masked = masked;
3297	    this._log = [];
3298
3299	    var _ref = masked._mapPosToBlock(pos) || (pos < 0 ? // first
3300	    {
3301	      index: 0,
3302	      offset: 0
3303	    } : // last
3304	    {
3305	      index: this.masked._blocks.length,
3306	      offset: 0
3307	    }),
3308	        offset = _ref.offset,
3309	        index = _ref.index;
3310
3311	    this.offset = offset;
3312	    this.index = index;
3313	    this.ok = false;
3314	  }
3315
3316	  _createClass(PatternCursor, [{
3317	    key: "block",
3318	    get: function get() {
3319	      return this.masked._blocks[this.index];
3320	    }
3321	  }, {
3322	    key: "pos",
3323	    get: function get() {
3324	      return this.masked._blockStartPos(this.index) + this.offset;
3325	    }
3326	  }, {
3327	    key: "state",
3328	    get: function get() {
3329	      return {
3330	        index: this.index,
3331	        offset: this.offset,
3332	        ok: this.ok
3333	      };
3334	    },
3335	    set: function set(s) {
3336	      Object.assign(this, s);
3337	    }
3338	  }, {
3339	    key: "pushState",
3340	    value: function pushState() {
3341	      this._log.push(this.state);
3342	    }
3343	  }, {
3344	    key: "popState",
3345	    value: function popState() {
3346	      var s = this._log.pop();
3347
3348	      this.state = s;
3349	      return s;
3350	    }
3351	  }, {
3352	    key: "bindBlock",
3353	    value: function bindBlock() {
3354	      if (this.block) return;
3355
3356	      if (this.index < 0) {
3357	        this.index = 0;
3358	        this.offset = 0;
3359	      }
3360
3361	      if (this.index >= this.masked._blocks.length) {
3362	        this.index = this.masked._blocks.length - 1;
3363	        this.offset = this.block.value.length;
3364	      }
3365	    }
3366	  }, {
3367	    key: "_pushLeft",
3368	    value: function _pushLeft(fn) {
3369	      this.pushState();
3370
3371	      for (this.bindBlock(); 0 <= this.index; --this.index, this.offset = ((_this$block = this.block) === null || _this$block === void 0 ? void 0 : _this$block.value.length) || 0) {
3372	        var _this$block;
3373
3374	        if (fn()) return this.ok = true;
3375	      }
3376
3377	      return this.ok = false;
3378	    }
3379	  }, {
3380	    key: "_pushRight",
3381	    value: function _pushRight(fn) {
3382	      this.pushState();
3383
3384	      for (this.bindBlock(); this.index < this.masked._blocks.length; ++this.index, this.offset = 0) {
3385	        if (fn()) return this.ok = true;
3386	      }
3387
3388	      return this.ok = false;
3389	    }
3390	  }, {
3391	    key: "pushLeftBeforeFilled",
3392	    value: function pushLeftBeforeFilled() {
3393	      var _this = this;
3394
3395	      return this._pushLeft(function () {
3396	        if (_this.block.isFixed || !_this.block.value) return;
3397	        _this.offset = _this.block.nearestInputPos(_this.offset, DIRECTION.FORCE_LEFT);
3398	        if (_this.offset !== 0) return true;
3399	      });
3400	    }
3401	  }, {
3402	    key: "pushLeftBeforeInput",
3403	    value: function pushLeftBeforeInput() {
3404	      var _this2 = this;
3405
3406	      // cases:
3407	      // filled input: 00|
3408	      // optional empty input: 00[]|
3409	      // nested block: XX<[]>|
3410	      return this._pushLeft(function () {
3411	        if (_this2.block.isFixed) return;
3412	        _this2.offset = _this2.block.nearestInputPos(_this2.offset, DIRECTION.LEFT);
3413	        return true;
3414	      });
3415	    }
3416	  }, {
3417	    key: "pushLeftBeforeRequired",
3418	    value: function pushLeftBeforeRequired() {
3419	      var _this3 = this;
3420
3421	      return this._pushLeft(function () {
3422	        if (_this3.block.isFixed || _this3.block.isOptional && !_this3.block.value) return;
3423	        _this3.offset = _this3.block.nearestInputPos(_this3.offset, DIRECTION.LEFT);
3424	        return true;
3425	      });
3426	    }
3427	  }, {
3428	    key: "pushRightBeforeFilled",
3429	    value: function pushRightBeforeFilled() {
3430	      var _this4 = this;
3431
3432	      return this._pushRight(function () {
3433	        if (_this4.block.isFixed || !_this4.block.value) return;
3434	        _this4.offset = _this4.block.nearestInputPos(_this4.offset, DIRECTION.FORCE_RIGHT);
3435	        if (_this4.offset !== _this4.block.value.length) return true;
3436	      });
3437	    }
3438	  }, {
3439	    key: "pushRightBeforeInput",
3440	    value: function pushRightBeforeInput() {
3441	      var _this5 = this;
3442
3443	      return this._pushRight(function () {
3444	        if (_this5.block.isFixed) return; // const o = this.offset;
3445
3446	        _this5.offset = _this5.block.nearestInputPos(_this5.offset, DIRECTION.NONE); // HACK cases like (STILL DOES NOT WORK FOR NESTED)
3447	        // aa|X
3448	        // aa<X|[]>X_    - this will not work
3449	        // if (o && o === this.offset && this.block instanceof PatternInputDefinition) continue;
3450
3451	        return true;
3452	      });
3453	    }
3454	  }, {
3455	    key: "pushRightBeforeRequired",
3456	    value: function pushRightBeforeRequired() {
3457	      var _this6 = this;
3458
3459	      return this._pushRight(function () {
3460	        if (_this6.block.isFixed || _this6.block.isOptional && !_this6.block.value) return; // TODO check |[*]XX_
3461
3462	        _this6.offset = _this6.block.nearestInputPos(_this6.offset, DIRECTION.NONE);
3463	        return true;
3464	      });
3465	    }
3466	  }]);
3467
3468	  return PatternCursor;
3469	}();
3470
3471	/** Masking by RegExp */
3472
3473	var MaskedRegExp = /*#__PURE__*/function (_Masked) {
3474	  _inherits(MaskedRegExp, _Masked);
3475
3476	  var _super = _createSuper(MaskedRegExp);
3477
3478	  function MaskedRegExp() {
3479	    _classCallCheck(this, MaskedRegExp);
3480
3481	    return _super.apply(this, arguments);
3482	  }
3483
3484	  _createClass(MaskedRegExp, [{
3485	    key: "_update",
3486	    value:
3487	    /**
3488	      @override
3489	      @param {Object} opts
3490	    */
3491	    function _update(opts) {
3492	      if (opts.mask) opts.validate = function (value) {
3493	        return value.search(opts.mask) >= 0;
3494	      };
3495
3496	      _get(_getPrototypeOf(MaskedRegExp.prototype), "_update", this).call(this, opts);
3497	    }
3498	  }]);
3499
3500	  return MaskedRegExp;
3501	}(Masked);
3502	IMask.MaskedRegExp = MaskedRegExp;
3503
3504	var _excluded$2 = ["_blocks"];
3505
3506	/**
3507	  Pattern mask
3508	  @param {Object} opts
3509	  @param {Object} opts.blocks
3510	  @param {Object} opts.definitions
3511	  @param {string} opts.placeholderChar
3512	  @param {boolean} opts.lazy
3513	*/
3514	var MaskedPattern = /*#__PURE__*/function (_Masked) {
3515	  _inherits(MaskedPattern, _Masked);
3516
3517	  var _super = _createSuper(MaskedPattern);
3518
3519	  /** */
3520
3521	  /** */
3522
3523	  /** Single char for empty input */
3524
3525	  /** Show placeholder only when needed */
3526	  function MaskedPattern() {
3527	    var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3528
3529	    _classCallCheck(this, MaskedPattern);
3530
3531	    // TODO type $Shape<MaskedPatternOptions>={} does not work
3532	    opts.definitions = Object.assign({}, DEFAULT_INPUT_DEFINITIONS, opts.definitions);
3533	    return _super.call(this, Object.assign({}, MaskedPattern.DEFAULTS, opts));
3534	  }
3535	  /**
3536	    @override
3537	    @param {Object} opts
3538	  */
3539
3540
3541	  _createClass(MaskedPattern, [{
3542	    key: "_update",
3543	    value: function _update() {
3544	      var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3545	      opts.definitions = Object.assign({}, this.definitions, opts.definitions);
3546
3547	      _get(_getPrototypeOf(MaskedPattern.prototype), "_update", this).call(this, opts);
3548
3549	      this._rebuildMask();
3550	    }
3551	    /** */
3552
3553	  }, {
3554	    key: "_rebuildMask",
3555	    value: function _rebuildMask() {
3556	      var _this = this;
3557
3558	      var defs = this.definitions;
3559	      this._blocks = [];
3560	      this._stops = [];
3561	      this._maskedBlocks = {};
3562	      var pattern = this.mask;
3563	      if (!pattern || !defs) return;
3564	      var unmaskingBlock = false;
3565	      var optionalBlock = false;
3566
3567	      for (var i = 0; i < pattern.length; ++i) {
3568	        if (this.blocks) {
3569	          var _ret = function () {
3570	            var p = pattern.slice(i);
3571	            var bNames = Object.keys(_this.blocks).filter(function (bName) {
3572	              return p.indexOf(bName) === 0;
3573	            }); // order by key length
3574
3575	            bNames.sort(function (a, b) {
3576	              return b.length - a.length;
3577	            }); // use block name with max length
3578
3579	            var bName = bNames[0];
3580
3581	            if (bName) {
3582	              // $FlowFixMe no ideas
3583	              var maskedBlock = createMask(Object.assign({
3584	                parent: _this,
3585	                lazy: _this.lazy,
3586	                eager: _this.eager,
3587	                placeholderChar: _this.placeholderChar,
3588	                overwrite: _this.overwrite
3589	              }, _this.blocks[bName]));
3590
3591	              if (maskedBlock) {
3592	                _this._blocks.push(maskedBlock); // store block index
3593
3594
3595	                if (!_this._maskedBlocks[bName]) _this._maskedBlocks[bName] = [];
3596
3597	                _this._maskedBlocks[bName].push(_this._blocks.length - 1);
3598	              }
3599
3600	              i += bName.length - 1;
3601	              return "continue";
3602	            }
3603	          }();
3604
3605	          if (_ret === "continue") continue;
3606	        }
3607
3608	        var char = pattern[i];
3609	        var isInput = (char in defs);
3610
3611	        if (char === MaskedPattern.STOP_CHAR) {
3612	          this._stops.push(this._blocks.length);
3613
3614	          continue;
3615	        }
3616
3617	        if (char === '{' || char === '}') {
3618	          unmaskingBlock = !unmaskingBlock;
3619	          continue;
3620	        }
3621
3622	        if (char === '[' || char === ']') {
3623	          optionalBlock = !optionalBlock;
3624	          continue;
3625	        }
3626
3627	        if (char === MaskedPattern.ESCAPE_CHAR) {
3628	          ++i;
3629	          char = pattern[i];
3630	          if (!char) break;
3631	          isInput = false;
3632	        }
3633
3634	        var def = isInput ? new PatternInputDefinition({
3635	          parent: this,
3636	          lazy: this.lazy,
3637	          eager: this.eager,
3638	          placeholderChar: this.placeholderChar,
3639	          mask: defs[char],
3640	          isOptional: optionalBlock
3641	        }) : new PatternFixedDefinition({
3642	          char: char,
3643	          eager: this.eager,
3644	          isUnmasking: unmaskingBlock
3645	        });
3646
3647	        this._blocks.push(def);
3648	      }
3649	    }
3650	    /**
3651	      @override
3652	    */
3653
3654	  }, {
3655	    key: "state",
3656	    get: function get() {
3657	      return Object.assign({}, _get(_getPrototypeOf(MaskedPattern.prototype), "state", this), {
3658	        _blocks: this._blocks.map(function (b) {
3659	          return b.state;
3660	        })
3661	      });
3662	    },
3663	    set: function set(state) {
3664	      var _blocks = state._blocks,
3665	          maskedState = _objectWithoutProperties(state, _excluded$2);
3666
3667	      this._blocks.forEach(function (b, bi) {
3668	        return b.state = _blocks[bi];
3669	      });
3670
3671	      _set(_getPrototypeOf(MaskedPattern.prototype), "state", maskedState, this, true);
3672	    }
3673	    /**
3674	      @override
3675	    */
3676
3677	  }, {
3678	    key: "reset",
3679	    value: function reset() {
3680	      _get(_getPrototypeOf(MaskedPattern.prototype), "reset", this).call(this);
3681
3682	      this._blocks.forEach(function (b) {
3683	        return b.reset();
3684	      });
3685	    }
3686	    /**
3687	      @override
3688	    */
3689
3690	  }, {
3691	    key: "isComplete",
3692	    get: function get() {
3693	      return this._blocks.every(function (b) {
3694	        return b.isComplete;
3695	      });
3696	    }
3697	    /**
3698	      @override
3699	    */
3700
3701	  }, {
3702	    key: "isFilled",
3703	    get: function get() {
3704	      return this._blocks.every(function (b) {
3705	        return b.isFilled;
3706	      });
3707	    }
3708	  }, {
3709	    key: "isFixed",
3710	    get: function get() {
3711	      return this._blocks.every(function (b) {
3712	        return b.isFixed;
3713	      });
3714	    }
3715	  }, {
3716	    key: "isOptional",
3717	    get: function get() {
3718	      return this._blocks.every(function (b) {
3719	        return b.isOptional;
3720	      });
3721	    }
3722	    /**
3723	      @override
3724	    */
3725
3726	  }, {
3727	    key: "doCommit",
3728	    value: function doCommit() {
3729	      this._blocks.forEach(function (b) {
3730	        return b.doCommit();
3731	      });
3732
3733	      _get(_getPrototypeOf(MaskedPattern.prototype), "doCommit", this).call(this);
3734	    }
3735	    /**
3736	      @override
3737	    */
3738
3739	  }, {
3740	    key: "unmaskedValue",
3741	    get: function get() {
3742	      return this._blocks.reduce(function (str, b) {
3743	        return str += b.unmaskedValue;
3744	      }, '');
3745	    },
3746	    set: function set(unmaskedValue) {
3747	      _set(_getPrototypeOf(MaskedPattern.prototype), "unmaskedValue", unmaskedValue, this, true);
3748	    }
3749	    /**
3750	      @override
3751	    */
3752
3753	  }, {
3754	    key: "value",
3755	    get: function get() {
3756	      // TODO return _value when not in change?
3757	      return this._blocks.reduce(function (str, b) {
3758	        return str += b.value;
3759	      }, '');
3760	    },
3761	    set: function set(value) {
3762	      _set(_getPrototypeOf(MaskedPattern.prototype), "value", value, this, true);
3763	    }
3764	    /**
3765	      @override
3766	    */
3767
3768	  }, {
3769	    key: "appendTail",
3770	    value: function appendTail(tail) {
3771	      return _get(_getPrototypeOf(MaskedPattern.prototype), "appendTail", this).call(this, tail).aggregate(this._appendPlaceholder());
3772	    }
3773	    /**
3774	      @override
3775	    */
3776
3777	  }, {
3778	    key: "_appendEager",
3779	    value: function _appendEager() {
3780	      var _this$_mapPosToBlock;
3781
3782	      var details = new ChangeDetails();
3783	      var startBlockIndex = (_this$_mapPosToBlock = this._mapPosToBlock(this.value.length)) === null || _this$_mapPosToBlock === void 0 ? void 0 : _this$_mapPosToBlock.index;
3784	      if (startBlockIndex == null) return details; // TODO test if it works for nested pattern masks
3785
3786	      if (this._blocks[startBlockIndex].isFilled) ++startBlockIndex;
3787
3788	      for (var bi = startBlockIndex; bi < this._blocks.length; ++bi) {
3789	        var d = this._blocks[bi]._appendEager();
3790
3791	        if (!d.inserted) break;
3792	        details.aggregate(d);
3793	      }
3794
3795	      return details;
3796	    }
3797	    /**
3798	      @override
3799	    */
3800
3801	  }, {
3802	    key: "_appendCharRaw",
3803	    value: function _appendCharRaw(ch) {
3804	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3805
3806	      var blockIter = this._mapPosToBlock(this.value.length);
3807
3808	      var details = new ChangeDetails();
3809	      if (!blockIter) return details;
3810
3811	      for (var bi = blockIter.index;; ++bi) {
3812	        var _flags$_beforeTailSta;
3813
3814	        var _block = this._blocks[bi];
3815	        if (!_block) break;
3816
3817	        var blockDetails = _block._appendChar(ch, Object.assign({}, flags, {
3818	          _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : _flags$_beforeTailSta._blocks[bi]
3819	        }));
3820
3821	        var skip = blockDetails.skip;
3822	        details.aggregate(blockDetails);
3823	        if (skip || blockDetails.rawInserted) break; // go next char
3824	      }
3825
3826	      return details;
3827	    }
3828	    /**
3829	      @override
3830	    */
3831
3832	  }, {
3833	    key: "extractTail",
3834	    value: function extractTail() {
3835	      var _this2 = this;
3836
3837	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
3838	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
3839	      var chunkTail = new ChunksTailDetails();
3840	      if (fromPos === toPos) return chunkTail;
3841
3842	      this._forEachBlocksInRange(fromPos, toPos, function (b, bi, bFromPos, bToPos) {
3843	        var blockChunk = b.extractTail(bFromPos, bToPos);
3844	        blockChunk.stop = _this2._findStopBefore(bi);
3845	        blockChunk.from = _this2._blockStartPos(bi);
3846	        if (blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex = bi;
3847	        chunkTail.extend(blockChunk);
3848	      });
3849
3850	      return chunkTail;
3851	    }
3852	    /**
3853	      @override
3854	    */
3855
3856	  }, {
3857	    key: "extractInput",
3858	    value: function extractInput() {
3859	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
3860	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
3861	      var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
3862	      if (fromPos === toPos) return '';
3863	      var input = '';
3864
3865	      this._forEachBlocksInRange(fromPos, toPos, function (b, _, fromPos, toPos) {
3866	        input += b.extractInput(fromPos, toPos, flags);
3867	      });
3868
3869	      return input;
3870	    }
3871	  }, {
3872	    key: "_findStopBefore",
3873	    value: function _findStopBefore(blockIndex) {
3874	      var stopBefore;
3875
3876	      for (var si = 0; si < this._stops.length; ++si) {
3877	        var stop = this._stops[si];
3878	        if (stop <= blockIndex) stopBefore = stop;else break;
3879	      }
3880
3881	      return stopBefore;
3882	    }
3883	    /** Appends placeholder depending on laziness */
3884
3885	  }, {
3886	    key: "_appendPlaceholder",
3887	    value: function _appendPlaceholder(toBlockIndex) {
3888	      var _this3 = this;
3889
3890	      var details = new ChangeDetails();
3891	      if (this.lazy && toBlockIndex == null) return details;
3892
3893	      var startBlockIter = this._mapPosToBlock(this.value.length);
3894
3895	      if (!startBlockIter) return details;
3896	      var startBlockIndex = startBlockIter.index;
3897	      var endBlockIndex = toBlockIndex != null ? toBlockIndex : this._blocks.length;
3898
3899	      this._blocks.slice(startBlockIndex, endBlockIndex).forEach(function (b) {
3900	        if (!b.lazy || toBlockIndex != null) {
3901	          // $FlowFixMe `_blocks` may not be present
3902	          var args = b._blocks != null ? [b._blocks.length] : [];
3903
3904	          var bDetails = b._appendPlaceholder.apply(b, args);
3905
3906	          _this3._value += bDetails.inserted;
3907	          details.aggregate(bDetails);
3908	        }
3909	      });
3910
3911	      return details;
3912	    }
3913	    /** Finds block in pos */
3914
3915	  }, {
3916	    key: "_mapPosToBlock",
3917	    value: function _mapPosToBlock(pos) {
3918	      var accVal = '';
3919
3920	      for (var bi = 0; bi < this._blocks.length; ++bi) {
3921	        var _block2 = this._blocks[bi];
3922	        var blockStartPos = accVal.length;
3923	        accVal += _block2.value;
3924
3925	        if (pos <= accVal.length) {
3926	          return {
3927	            index: bi,
3928	            offset: pos - blockStartPos
3929	          };
3930	        }
3931	      }
3932	    }
3933	    /** */
3934
3935	  }, {
3936	    key: "_blockStartPos",
3937	    value: function _blockStartPos(blockIndex) {
3938	      return this._blocks.slice(0, blockIndex).reduce(function (pos, b) {
3939	        return pos += b.value.length;
3940	      }, 0);
3941	    }
3942	    /** */
3943
3944	  }, {
3945	    key: "_forEachBlocksInRange",
3946	    value: function _forEachBlocksInRange(fromPos) {
3947	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
3948	      var fn = arguments.length > 2 ? arguments[2] : undefined;
3949
3950	      var fromBlockIter = this._mapPosToBlock(fromPos);
3951
3952	      if (fromBlockIter) {
3953	        var toBlockIter = this._mapPosToBlock(toPos); // process first block
3954
3955
3956	        var isSameBlock = toBlockIter && fromBlockIter.index === toBlockIter.index;
3957	        var fromBlockStartPos = fromBlockIter.offset;
3958	        var fromBlockEndPos = toBlockIter && isSameBlock ? toBlockIter.offset : this._blocks[fromBlockIter.index].value.length;
3959	        fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos);
3960
3961	        if (toBlockIter && !isSameBlock) {
3962	          // process intermediate blocks
3963	          for (var bi = fromBlockIter.index + 1; bi < toBlockIter.index; ++bi) {
3964	            fn(this._blocks[bi], bi, 0, this._blocks[bi].value.length);
3965	          } // process last block
3966
3967
3968	          fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset);
3969	        }
3970	      }
3971	    }
3972	    /**
3973	      @override
3974	    */
3975
3976	  }, {
3977	    key: "remove",
3978	    value: function remove() {
3979	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
3980	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
3981
3982	      var removeDetails = _get(_getPrototypeOf(MaskedPattern.prototype), "remove", this).call(this, fromPos, toPos);
3983
3984	      this._forEachBlocksInRange(fromPos, toPos, function (b, _, bFromPos, bToPos) {
3985	        removeDetails.aggregate(b.remove(bFromPos, bToPos));
3986	      });
3987
3988	      return removeDetails;
3989	    }
3990	    /**
3991	      @override
3992	    */
3993
3994	  }, {
3995	    key: "nearestInputPos",
3996	    value: function nearestInputPos(cursorPos) {
3997	      var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE;
3998	      if (!this._blocks.length) return 0;
3999	      var cursor = new PatternCursor(this, cursorPos);
4000
4001	      if (direction === DIRECTION.NONE) {
4002	        // -------------------------------------------------
4003	        // NONE should only go out from fixed to the right!
4004	        // -------------------------------------------------
4005	        if (cursor.pushRightBeforeInput()) return cursor.pos;
4006	        cursor.popState();
4007	        if (cursor.pushLeftBeforeInput()) return cursor.pos;
4008	        return this.value.length;
4009	      } // FORCE is only about a|* otherwise is 0
4010
4011
4012	      if (direction === DIRECTION.LEFT || direction === DIRECTION.FORCE_LEFT) {
4013	        // try to break fast when *|a
4014	        if (direction === DIRECTION.LEFT) {
4015	          cursor.pushRightBeforeFilled();
4016	          if (cursor.ok && cursor.pos === cursorPos) return cursorPos;
4017	          cursor.popState();
4018	        } // forward flow
4019
4020
4021	        cursor.pushLeftBeforeInput();
4022	        cursor.pushLeftBeforeRequired();
4023	        cursor.pushLeftBeforeFilled(); // backward flow
4024
4025	        if (direction === DIRECTION.LEFT) {
4026	          cursor.pushRightBeforeInput();
4027	          cursor.pushRightBeforeRequired();
4028	          if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;
4029	          cursor.popState();
4030	          if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;
4031	          cursor.popState();
4032	        }
4033
4034	        if (cursor.ok) return cursor.pos;
4035	        if (direction === DIRECTION.FORCE_LEFT) return 0;
4036	        cursor.popState();
4037	        if (cursor.ok) return cursor.pos;
4038	        cursor.popState();
4039	        if (cursor.ok) return cursor.pos; // cursor.popState();
4040	        // if (
4041	        //   cursor.pushRightBeforeInput() &&
4042	        //   // TODO HACK for lazy if has aligned left inside fixed and has came to the start - use start position
4043	        //   (!this.lazy || this.extractInput())
4044	        // ) return cursor.pos;
4045
4046	        return 0;
4047	      }
4048
4049	      if (direction === DIRECTION.RIGHT || direction === DIRECTION.FORCE_RIGHT) {
4050	        // forward flow
4051	        cursor.pushRightBeforeInput();
4052	        cursor.pushRightBeforeRequired();
4053	        if (cursor.pushRightBeforeFilled()) return cursor.pos;
4054	        if (direction === DIRECTION.FORCE_RIGHT) return this.value.length; // backward flow
4055
4056	        cursor.popState();
4057	        if (cursor.ok) return cursor.pos;
4058	        cursor.popState();
4059	        if (cursor.ok) return cursor.pos;
4060	        return this.nearestInputPos(cursorPos, DIRECTION.LEFT);
4061	      }
4062
4063	      return cursorPos;
4064	    }
4065	    /** Get block by name */
4066
4067	  }, {
4068	    key: "maskedBlock",
4069	    value: function maskedBlock(name) {
4070	      return this.maskedBlocks(name)[0];
4071	    }
4072	    /** Get all blocks by name */
4073
4074	  }, {
4075	    key: "maskedBlocks",
4076	    value: function maskedBlocks(name) {
4077	      var _this4 = this;
4078
4079	      var indices = this._maskedBlocks[name];
4080	      if (!indices) return [];
4081	      return indices.map(function (gi) {
4082	        return _this4._blocks[gi];
4083	      });
4084	    }
4085	  }]);
4086
4087	  return MaskedPattern;
4088	}(Masked);
4089	MaskedPattern.DEFAULTS = {
4090	  lazy: true,
4091	  placeholderChar: '_'
4092	};
4093	MaskedPattern.STOP_CHAR = '`';
4094	MaskedPattern.ESCAPE_CHAR = '\\';
4095	MaskedPattern.InputDefinition = PatternInputDefinition;
4096	MaskedPattern.FixedDefinition = PatternFixedDefinition;
4097	IMask.MaskedPattern = MaskedPattern;
4098
4099	/** Pattern which accepts ranges */
4100
4101	var MaskedRange = /*#__PURE__*/function (_MaskedPattern) {
4102	  _inherits(MaskedRange, _MaskedPattern);
4103
4104	  var _super = _createSuper(MaskedRange);
4105
4106	  function MaskedRange() {
4107	    _classCallCheck(this, MaskedRange);
4108
4109	    return _super.apply(this, arguments);
4110	  }
4111
4112	  _createClass(MaskedRange, [{
4113	    key: "_matchFrom",
4114	    get:
4115	    /**
4116	      Optionally sets max length of pattern.
4117	      Used when pattern length is longer then `to` param length. Pads zeros at start in this case.
4118	    */
4119
4120	    /** Min bound */
4121
4122	    /** Max bound */
4123
4124	    /** */
4125	    function get() {
4126	      return this.maxLength - String(this.from).length;
4127	    }
4128	    /**
4129	      @override
4130	    */
4131
4132	  }, {
4133	    key: "_update",
4134	    value: function _update(opts) {
4135	      // TODO type
4136	      opts = Object.assign({
4137	        to: this.to || 0,
4138	        from: this.from || 0,
4139	        maxLength: this.maxLength || 0
4140	      }, opts);
4141	      var maxLength = String(opts.to).length;
4142	      if (opts.maxLength != null) maxLength = Math.max(maxLength, opts.maxLength);
4143	      opts.maxLength = maxLength;
4144	      var fromStr = String(opts.from).padStart(maxLength, '0');
4145	      var toStr = String(opts.to).padStart(maxLength, '0');
4146	      var sameCharsCount = 0;
4147
4148	      while (sameCharsCount < toStr.length && toStr[sameCharsCount] === fromStr[sameCharsCount]) {
4149	        ++sameCharsCount;
4150	      }
4151
4152	      opts.mask = toStr.slice(0, sameCharsCount).replace(/0/g, '\\0') + '0'.repeat(maxLength - sameCharsCount);
4153
4154	      _get(_getPrototypeOf(MaskedRange.prototype), "_update", this).call(this, opts);
4155	    }
4156	    /**
4157	      @override
4158	    */
4159
4160	  }, {
4161	    key: "isComplete",
4162	    get: function get() {
4163	      return _get(_getPrototypeOf(MaskedRange.prototype), "isComplete", this) && Boolean(this.value);
4164	    }
4165	  }, {
4166	    key: "boundaries",
4167	    value: function boundaries(str) {
4168	      var minstr = '';
4169	      var maxstr = '';
4170
4171	      var _ref = str.match(/^(\D*)(\d*)(\D*)/) || [],
4172	          _ref2 = _slicedToArray(_ref, 3),
4173	          placeholder = _ref2[1],
4174	          num = _ref2[2];
4175
4176	      if (num) {
4177	        minstr = '0'.repeat(placeholder.length) + num;
4178	        maxstr = '9'.repeat(placeholder.length) + num;
4179	      }
4180
4181	      minstr = minstr.padEnd(this.maxLength, '0');
4182	      maxstr = maxstr.padEnd(this.maxLength, '9');
4183	      return [minstr, maxstr];
4184	    } // TODO str is a single char everytime
4185
4186	    /**
4187	      @override
4188	    */
4189
4190	  }, {
4191	    key: "doPrepare",
4192	    value: function doPrepare(ch) {
4193	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
4194	      var details;
4195
4196	      var _normalizePrepare = normalizePrepare(_get(_getPrototypeOf(MaskedRange.prototype), "doPrepare", this).call(this, ch.replace(/\D/g, ''), flags));
4197
4198	      var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2);
4199
4200	      ch = _normalizePrepare2[0];
4201	      details = _normalizePrepare2[1];
4202	      if (!this.autofix || !ch) return ch;
4203	      var fromStr = String(this.from).padStart(this.maxLength, '0');
4204	      var toStr = String(this.to).padStart(this.maxLength, '0');
4205	      var nextVal = this.value + ch;
4206	      if (nextVal.length > this.maxLength) return '';
4207
4208	      var _this$boundaries = this.boundaries(nextVal),
4209	          _this$boundaries2 = _slicedToArray(_this$boundaries, 2),
4210	          minstr = _this$boundaries2[0],
4211	          maxstr = _this$boundaries2[1];
4212
4213	      if (Number(maxstr) < this.from) return fromStr[nextVal.length - 1];
4214
4215	      if (Number(minstr) > this.to) {
4216	        if (this.autofix === 'pad' && nextVal.length < this.maxLength) {
4217	          return ['', details.aggregate(this.append(fromStr[nextVal.length - 1] + ch, flags))];
4218	        }
4219
4220	        return toStr[nextVal.length - 1];
4221	      }
4222
4223	      return ch;
4224	    }
4225	    /**
4226	      @override
4227	    */
4228
4229	  }, {
4230	    key: "doValidate",
4231	    value: function doValidate() {
4232	      var _get2;
4233
4234	      var str = this.value;
4235	      var firstNonZero = str.search(/[^0]/);
4236	      if (firstNonZero === -1 && str.length <= this._matchFrom) return true;
4237
4238	      var _this$boundaries3 = this.boundaries(str),
4239	          _this$boundaries4 = _slicedToArray(_this$boundaries3, 2),
4240	          minstr = _this$boundaries4[0],
4241	          maxstr = _this$boundaries4[1];
4242
4243	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
4244	        args[_key] = arguments[_key];
4245	      }
4246
4247	      return this.from <= Number(maxstr) && Number(minstr) <= this.to && (_get2 = _get(_getPrototypeOf(MaskedRange.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args));
4248	    }
4249	  }]);
4250
4251	  return MaskedRange;
4252	}(MaskedPattern);
4253	IMask.MaskedRange = MaskedRange;
4254
4255	/** Date mask */
4256
4257	var MaskedDate = /*#__PURE__*/function (_MaskedPattern) {
4258	  _inherits(MaskedDate, _MaskedPattern);
4259
4260	  var _super = _createSuper(MaskedDate);
4261
4262	  /** Pattern mask for date according to {@link MaskedDate#format} */
4263
4264	  /** Start date */
4265
4266	  /** End date */
4267
4268	  /** */
4269
4270	  /**
4271	    @param {Object} opts
4272	  */
4273	  function MaskedDate(opts) {
4274	    _classCallCheck(this, MaskedDate);
4275
4276	    return _super.call(this, Object.assign({}, MaskedDate.DEFAULTS, opts));
4277	  }
4278	  /**
4279	    @override
4280	  */
4281
4282
4283	  _createClass(MaskedDate, [{
4284	    key: "_update",
4285	    value: function _update(opts) {
4286	      if (opts.mask === Date) delete opts.mask;
4287	      if (opts.pattern) opts.mask = opts.pattern;
4288	      var blocks = opts.blocks;
4289	      opts.blocks = Object.assign({}, MaskedDate.GET_DEFAULT_BLOCKS()); // adjust year block
4290
4291	      if (opts.min) opts.blocks.Y.from = opts.min.getFullYear();
4292	      if (opts.max) opts.blocks.Y.to = opts.max.getFullYear();
4293
4294	      if (opts.min && opts.max && opts.blocks.Y.from === opts.blocks.Y.to) {
4295	        opts.blocks.m.from = opts.min.getMonth() + 1;
4296	        opts.blocks.m.to = opts.max.getMonth() + 1;
4297
4298	        if (opts.blocks.m.from === opts.blocks.m.to) {
4299	          opts.blocks.d.from = opts.min.getDate();
4300	          opts.blocks.d.to = opts.max.getDate();
4301	        }
4302	      }
4303
4304	      Object.assign(opts.blocks, this.blocks, blocks); // add autofix
4305
4306	      Object.keys(opts.blocks).forEach(function (bk) {
4307	        var b = opts.blocks[bk];
4308	        if (!('autofix' in b) && 'autofix' in opts) b.autofix = opts.autofix;
4309	      });
4310
4311	      _get(_getPrototypeOf(MaskedDate.prototype), "_update", this).call(this, opts);
4312	    }
4313	    /**
4314	      @override
4315	    */
4316
4317	  }, {
4318	    key: "doValidate",
4319	    value: function doValidate() {
4320	      var _get2;
4321
4322	      var date = this.date;
4323
4324	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
4325	        args[_key] = arguments[_key];
4326	      }
4327
4328	      return (_get2 = _get(_getPrototypeOf(MaskedDate.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)) && (!this.isComplete || this.isDateExist(this.value) && date != null && (this.min == null || this.min <= date) && (this.max == null || date <= this.max));
4329	    }
4330	    /** Checks if date is exists */
4331
4332	  }, {
4333	    key: "isDateExist",
4334	    value: function isDateExist(str) {
4335	      return this.format(this.parse(str, this), this).indexOf(str) >= 0;
4336	    }
4337	    /** Parsed Date */
4338
4339	  }, {
4340	    key: "date",
4341	    get: function get() {
4342	      return this.typedValue;
4343	    },
4344	    set: function set(date) {
4345	      this.typedValue = date;
4346	    }
4347	    /**
4348	      @override
4349	    */
4350
4351	  }, {
4352	    key: "typedValue",
4353	    get: function get() {
4354	      return this.isComplete ? _get(_getPrototypeOf(MaskedDate.prototype), "typedValue", this) : null;
4355	    },
4356	    set: function set(value) {
4357	      _set(_getPrototypeOf(MaskedDate.prototype), "typedValue", value, this, true);
4358	    }
4359	    /**
4360	      @override
4361	    */
4362
4363	  }, {
4364	    key: "maskEquals",
4365	    value: function maskEquals(mask) {
4366	      return mask === Date || _get(_getPrototypeOf(MaskedDate.prototype), "maskEquals", this).call(this, mask);
4367	    }
4368	  }]);
4369
4370	  return MaskedDate;
4371	}(MaskedPattern);
4372	MaskedDate.DEFAULTS = {
4373	  pattern: 'd{.}`m{.}`Y',
4374	  format: function format(date) {
4375	    if (!date) return '';
4376	    var day = String(date.getDate()).padStart(2, '0');
4377	    var month = String(date.getMonth() + 1).padStart(2, '0');
4378	    var year = date.getFullYear();
4379	    return [day, month, year].join('.');
4380	  },
4381	  parse: function parse(str) {
4382	    var _str$split = str.split('.'),
4383	        _str$split2 = _slicedToArray(_str$split, 3),
4384	        day = _str$split2[0],
4385	        month = _str$split2[1],
4386	        year = _str$split2[2];
4387
4388	    return new Date(year, month - 1, day);
4389	  }
4390	};
4391
4392	MaskedDate.GET_DEFAULT_BLOCKS = function () {
4393	  return {
4394	    d: {
4395	      mask: MaskedRange,
4396	      from: 1,
4397	      to: 31,
4398	      maxLength: 2
4399	    },
4400	    m: {
4401	      mask: MaskedRange,
4402	      from: 1,
4403	      to: 12,
4404	      maxLength: 2
4405	    },
4406	    Y: {
4407	      mask: MaskedRange,
4408	      from: 1900,
4409	      to: 9999
4410	    }
4411	  };
4412	};
4413
4414	IMask.MaskedDate = MaskedDate;
4415
4416	/**
4417	  Generic element API to use with mask
4418	  @interface
4419	*/
4420	var MaskElement = /*#__PURE__*/function () {
4421	  function MaskElement() {
4422	    _classCallCheck(this, MaskElement);
4423	  }
4424
4425	  _createClass(MaskElement, [{
4426	    key: "selectionStart",
4427	    get:
4428	    /** */
4429
4430	    /** */
4431
4432	    /** */
4433
4434	    /** Safely returns selection start */
4435	    function get() {
4436	      var start;
4437
4438	      try {
4439	        start = this._unsafeSelectionStart;
4440	      } catch (e) {}
4441
4442	      return start != null ? start : this.value.length;
4443	    }
4444	    /** Safely returns selection end */
4445
4446	  }, {
4447	    key: "selectionEnd",
4448	    get: function get() {
4449	      var end;
4450
4451	      try {
4452	        end = this._unsafeSelectionEnd;
4453	      } catch (e) {}
4454
4455	      return end != null ? end : this.value.length;
4456	    }
4457	    /** Safely sets element selection */
4458
4459	  }, {
4460	    key: "select",
4461	    value: function select(start, end) {
4462	      if (start == null || end == null || start === this.selectionStart && end === this.selectionEnd) return;
4463
4464	      try {
4465	        this._unsafeSelect(start, end);
4466	      } catch (e) {}
4467	    }
4468	    /** Should be overriden in subclasses */
4469
4470	  }, {
4471	    key: "_unsafeSelect",
4472	    value: function _unsafeSelect(start, end) {}
4473	    /** Should be overriden in subclasses */
4474
4475	  }, {
4476	    key: "isActive",
4477	    get: function get() {
4478	      return false;
4479	    }
4480	    /** Should be overriden in subclasses */
4481
4482	  }, {
4483	    key: "bindEvents",
4484	    value: function bindEvents(handlers) {}
4485	    /** Should be overriden in subclasses */
4486
4487	  }, {
4488	    key: "unbindEvents",
4489	    value: function unbindEvents() {}
4490	  }]);
4491
4492	  return MaskElement;
4493	}();
4494	IMask.MaskElement = MaskElement;
4495
4496	/** Bridge between HTMLElement and {@link Masked} */
4497
4498	var HTMLMaskElement = /*#__PURE__*/function (_MaskElement) {
4499	  _inherits(HTMLMaskElement, _MaskElement);
4500
4501	  var _super = _createSuper(HTMLMaskElement);
4502
4503	  /** Mapping between HTMLElement events and mask internal events */
4504
4505	  /** HTMLElement to use mask on */
4506
4507	  /**
4508	    @param {HTMLInputElement|HTMLTextAreaElement} input
4509	  */
4510	  function HTMLMaskElement(input) {
4511	    var _this;
4512
4513	    _classCallCheck(this, HTMLMaskElement);
4514
4515	    _this = _super.call(this);
4516	    _this.input = input;
4517	    _this._handlers = {};
4518	    return _this;
4519	  }
4520	  /** */
4521	  // $FlowFixMe https://github.com/facebook/flow/issues/2839
4522
4523
4524	  _createClass(HTMLMaskElement, [{
4525	    key: "rootElement",
4526	    get: function get() {
4527	      var _this$input$getRootNo, _this$input$getRootNo2, _this$input;
4528
4529	      return (_this$input$getRootNo = (_this$input$getRootNo2 = (_this$input = this.input).getRootNode) === null || _this$input$getRootNo2 === void 0 ? void 0 : _this$input$getRootNo2.call(_this$input)) !== null && _this$input$getRootNo !== void 0 ? _this$input$getRootNo : document;
4530	    }
4531	    /**
4532	      Is element in focus
4533	      @readonly
4534	    */
4535
4536	  }, {
4537	    key: "isActive",
4538	    get: function get() {
4539	      //$FlowFixMe
4540	      return this.input === this.rootElement.activeElement;
4541	    }
4542	    /**
4543	      Returns HTMLElement selection start
4544	      @override
4545	    */
4546
4547	  }, {
4548	    key: "_unsafeSelectionStart",
4549	    get: function get() {
4550	      return this.input.selectionStart;
4551	    }
4552	    /**
4553	      Returns HTMLElement selection end
4554	      @override
4555	    */
4556
4557	  }, {
4558	    key: "_unsafeSelectionEnd",
4559	    get: function get() {
4560	      return this.input.selectionEnd;
4561	    }
4562	    /**
4563	      Sets HTMLElement selection
4564	      @override
4565	    */
4566
4567	  }, {
4568	    key: "_unsafeSelect",
4569	    value: function _unsafeSelect(start, end) {
4570	      this.input.setSelectionRange(start, end);
4571	    }
4572	    /**
4573	      HTMLElement value
4574	      @override
4575	    */
4576
4577	  }, {
4578	    key: "value",
4579	    get: function get() {
4580	      return this.input.value;
4581	    },
4582	    set: function set(value) {
4583	      this.input.value = value;
4584	    }
4585	    /**
4586	      Binds HTMLElement events to mask internal events
4587	      @override
4588	    */
4589
4590	  }, {
4591	    key: "bindEvents",
4592	    value: function bindEvents(handlers) {
4593	      var _this2 = this;
4594
4595	      Object.keys(handlers).forEach(function (event) {
4596	        return _this2._toggleEventHandler(HTMLMaskElement.EVENTS_MAP[event], handlers[event]);
4597	      });
4598	    }
4599	    /**
4600	      Unbinds HTMLElement events to mask internal events
4601	      @override
4602	    */
4603
4604	  }, {
4605	    key: "unbindEvents",
4606	    value: function unbindEvents() {
4607	      var _this3 = this;
4608
4609	      Object.keys(this._handlers).forEach(function (event) {
4610	        return _this3._toggleEventHandler(event);
4611	      });
4612	    }
4613	    /** */
4614
4615	  }, {
4616	    key: "_toggleEventHandler",
4617	    value: function _toggleEventHandler(event, handler) {
4618	      if (this._handlers[event]) {
4619	        this.input.removeEventListener(event, this._handlers[event]);
4620	        delete this._handlers[event];
4621	      }
4622
4623	      if (handler) {
4624	        this.input.addEventListener(event, handler);
4625	        this._handlers[event] = handler;
4626	      }
4627	    }
4628	  }]);
4629
4630	  return HTMLMaskElement;
4631	}(MaskElement);
4632	HTMLMaskElement.EVENTS_MAP = {
4633	  selectionChange: 'keydown',
4634	  input: 'input',
4635	  drop: 'drop',
4636	  click: 'click',
4637	  focus: 'focus',
4638	  commit: 'blur'
4639	};
4640	IMask.HTMLMaskElement = HTMLMaskElement;
4641
4642	var HTMLContenteditableMaskElement = /*#__PURE__*/function (_HTMLMaskElement) {
4643	  _inherits(HTMLContenteditableMaskElement, _HTMLMaskElement);
4644
4645	  var _super = _createSuper(HTMLContenteditableMaskElement);
4646
4647	  function HTMLContenteditableMaskElement() {
4648	    _classCallCheck(this, HTMLContenteditableMaskElement);
4649
4650	    return _super.apply(this, arguments);
4651	  }
4652
4653	  _createClass(HTMLContenteditableMaskElement, [{
4654	    key: "_unsafeSelectionStart",
4655	    get:
4656	    /**
4657	      Returns HTMLElement selection start
4658	      @override
4659	    */
4660	    function get() {
4661	      var root = this.rootElement;
4662	      var selection = root.getSelection && root.getSelection();
4663	      var anchorOffset = selection && selection.anchorOffset;
4664	      var focusOffset = selection && selection.focusOffset;
4665
4666	      if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) {
4667	        return anchorOffset;
4668	      }
4669
4670	      return focusOffset;
4671	    }
4672	    /**
4673	      Returns HTMLElement selection end
4674	      @override
4675	    */
4676
4677	  }, {
4678	    key: "_unsafeSelectionEnd",
4679	    get: function get() {
4680	      var root = this.rootElement;
4681	      var selection = root.getSelection && root.getSelection();
4682	      var anchorOffset = selection && selection.anchorOffset;
4683	      var focusOffset = selection && selection.focusOffset;
4684
4685	      if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) {
4686	        return anchorOffset;
4687	      }
4688
4689	      return focusOffset;
4690	    }
4691	    /**
4692	      Sets HTMLElement selection
4693	      @override
4694	    */
4695
4696	  }, {
4697	    key: "_unsafeSelect",
4698	    value: function _unsafeSelect(start, end) {
4699	      if (!this.rootElement.createRange) return;
4700	      var range = this.rootElement.createRange();
4701	      range.setStart(this.input.firstChild || this.input, start);
4702	      range.setEnd(this.input.lastChild || this.input, end);
4703	      var root = this.rootElement;
4704	      var selection = root.getSelection && root.getSelection();
4705
4706	      if (selection) {
4707	        selection.removeAllRanges();
4708	        selection.addRange(range);
4709	      }
4710	    }
4711	    /**
4712	      HTMLElement value
4713	      @override
4714	    */
4715
4716	  }, {
4717	    key: "value",
4718	    get: function get() {
4719	      // $FlowFixMe
4720	      return this.input.textContent;
4721	    },
4722	    set: function set(value) {
4723	      this.input.textContent = value;
4724	    }
4725	  }]);
4726
4727	  return HTMLContenteditableMaskElement;
4728	}(HTMLMaskElement);
4729	IMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement;
4730
4731	var _excluded$1 = ["mask"];
4732	/** Listens to element events and controls changes between element and {@link Masked} */
4733
4734	var InputMask = /*#__PURE__*/function () {
4735	  /**
4736	    View element
4737	    @readonly
4738	  */
4739
4740	  /**
4741	    Internal {@link Masked} model
4742	    @readonly
4743	  */
4744
4745	  /**
4746	    @param {MaskElement|HTMLInputElement|HTMLTextAreaElement} el
4747	    @param {Object} opts
4748	  */
4749	  function InputMask(el, opts) {
4750	    _classCallCheck(this, InputMask);
4751
4752	    this.el = el instanceof MaskElement ? el : el.isContentEditable && el.tagName !== 'INPUT' && el.tagName !== 'TEXTAREA' ? new HTMLContenteditableMaskElement(el) : new HTMLMaskElement(el);
4753	    this.masked = createMask(opts);
4754	    this._listeners = {};
4755	    this._value = '';
4756	    this._unmaskedValue = '';
4757	    this._saveSelection = this._saveSelection.bind(this);
4758	    this._onInput = this._onInput.bind(this);
4759	    this._onChange = this._onChange.bind(this);
4760	    this._onDrop = this._onDrop.bind(this);
4761	    this._onFocus = this._onFocus.bind(this);
4762	    this._onClick = this._onClick.bind(this);
4763	    this.alignCursor = this.alignCursor.bind(this);
4764	    this.alignCursorFriendly = this.alignCursorFriendly.bind(this);
4765
4766	    this._bindEvents(); // refresh
4767
4768
4769	    this.updateValue();
4770
4771	    this._onChange();
4772	  }
4773	  /** Read or update mask */
4774
4775
4776	  _createClass(InputMask, [{
4777	    key: "mask",
4778	    get: function get() {
4779	      return this.masked.mask;
4780	    },
4781	    set: function set(mask) {
4782	      if (this.maskEquals(mask)) return; // $FlowFixMe No ideas ... after update
4783
4784	      if (!(mask instanceof IMask.Masked) && this.masked.constructor === maskedClass(mask)) {
4785	        this.masked.updateOptions({
4786	          mask: mask
4787	        });
4788	        return;
4789	      }
4790
4791	      var masked = createMask({
4792	        mask: mask
4793	      });
4794	      masked.unmaskedValue = this.masked.unmaskedValue;
4795	      this.masked = masked;
4796	    }
4797	    /** Raw value */
4798
4799	  }, {
4800	    key: "maskEquals",
4801	    value: function maskEquals(mask) {
4802	      var _this$masked;
4803
4804	      return mask == null || ((_this$masked = this.masked) === null || _this$masked === void 0 ? void 0 : _this$masked.maskEquals(mask));
4805	    }
4806	  }, {
4807	    key: "value",
4808	    get: function get() {
4809	      return this._value;
4810	    },
4811	    set: function set(str) {
4812	      this.masked.value = str;
4813	      this.updateControl();
4814	      this.alignCursor();
4815	    }
4816	    /** Unmasked value */
4817
4818	  }, {
4819	    key: "unmaskedValue",
4820	    get: function get() {
4821	      return this._unmaskedValue;
4822	    },
4823	    set: function set(str) {
4824	      this.masked.unmaskedValue = str;
4825	      this.updateControl();
4826	      this.alignCursor();
4827	    }
4828	    /** Typed unmasked value */
4829
4830	  }, {
4831	    key: "typedValue",
4832	    get: function get() {
4833	      return this.masked.typedValue;
4834	    },
4835	    set: function set(val) {
4836	      this.masked.typedValue = val;
4837	      this.updateControl();
4838	      this.alignCursor();
4839	    }
4840	    /**
4841	      Starts listening to element events
4842	      @protected
4843	    */
4844
4845	  }, {
4846	    key: "_bindEvents",
4847	    value: function _bindEvents() {
4848	      this.el.bindEvents({
4849	        selectionChange: this._saveSelection,
4850	        input: this._onInput,
4851	        drop: this._onDrop,
4852	        click: this._onClick,
4853	        focus: this._onFocus,
4854	        commit: this._onChange
4855	      });
4856	    }
4857	    /**
4858	      Stops listening to element events
4859	      @protected
4860	     */
4861
4862	  }, {
4863	    key: "_unbindEvents",
4864	    value: function _unbindEvents() {
4865	      if (this.el) this.el.unbindEvents();
4866	    }
4867	    /**
4868	      Fires custom event
4869	      @protected
4870	     */
4871
4872	  }, {
4873	    key: "_fireEvent",
4874	    value: function _fireEvent(ev) {
4875	      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
4876	        args[_key - 1] = arguments[_key];
4877	      }
4878
4879	      var listeners = this._listeners[ev];
4880	      if (!listeners) return;
4881	      listeners.forEach(function (l) {
4882	        return l.apply(void 0, args);
4883	      });
4884	    }
4885	    /**
4886	      Current selection start
4887	      @readonly
4888	    */
4889
4890	  }, {
4891	    key: "selectionStart",
4892	    get: function get() {
4893	      return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart;
4894	    }
4895	    /** Current cursor position */
4896
4897	  }, {
4898	    key: "cursorPos",
4899	    get: function get() {
4900	      return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd;
4901	    },
4902	    set: function set(pos) {
4903	      if (!this.el || !this.el.isActive) return;
4904	      this.el.select(pos, pos);
4905
4906	      this._saveSelection();
4907	    }
4908	    /**
4909	      Stores current selection
4910	      @protected
4911	    */
4912
4913	  }, {
4914	    key: "_saveSelection",
4915	    value: function
4916	      /* ev */
4917	    _saveSelection() {
4918	      if (this.value !== this.el.value) {
4919	        console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); // eslint-disable-line no-console
4920	      }
4921
4922	      this._selection = {
4923	        start: this.selectionStart,
4924	        end: this.cursorPos
4925	      };
4926	    }
4927	    /** Syncronizes model value from view */
4928
4929	  }, {
4930	    key: "updateValue",
4931	    value: function updateValue() {
4932	      this.masked.value = this.el.value;
4933	      this._value = this.masked.value;
4934	    }
4935	    /** Syncronizes view from model value, fires change events */
4936
4937	  }, {
4938	    key: "updateControl",
4939	    value: function updateControl() {
4940	      var newUnmaskedValue = this.masked.unmaskedValue;
4941	      var newValue = this.masked.value;
4942	      var isChanged = this.unmaskedValue !== newUnmaskedValue || this.value !== newValue;
4943	      this._unmaskedValue = newUnmaskedValue;
4944	      this._value = newValue;
4945	      if (this.el.value !== newValue) this.el.value = newValue;
4946	      if (isChanged) this._fireChangeEvents();
4947	    }
4948	    /** Updates options with deep equal check, recreates @{link Masked} model if mask type changes */
4949
4950	  }, {
4951	    key: "updateOptions",
4952	    value: function updateOptions(opts) {
4953	      var mask = opts.mask,
4954	          restOpts = _objectWithoutProperties(opts, _excluded$1);
4955
4956	      var updateMask = !this.maskEquals(mask);
4957	      var updateOpts = !objectIncludes(this.masked, restOpts);
4958	      if (updateMask) this.mask = mask;
4959	      if (updateOpts) this.masked.updateOptions(restOpts);
4960	      if (updateMask || updateOpts) this.updateControl();
4961	    }
4962	    /** Updates cursor */
4963
4964	  }, {
4965	    key: "updateCursor",
4966	    value: function updateCursor(cursorPos) {
4967	      if (cursorPos == null) return;
4968	      this.cursorPos = cursorPos; // also queue change cursor for mobile browsers
4969
4970	      this._delayUpdateCursor(cursorPos);
4971	    }
4972	    /**
4973	      Delays cursor update to support mobile browsers
4974	      @private
4975	    */
4976
4977	  }, {
4978	    key: "_delayUpdateCursor",
4979	    value: function _delayUpdateCursor(cursorPos) {
4980	      var _this = this;
4981
4982	      this._abortUpdateCursor();
4983
4984	      this._changingCursorPos = cursorPos;
4985	      this._cursorChanging = setTimeout(function () {
4986	        if (!_this.el) return; // if was destroyed
4987
4988	        _this.cursorPos = _this._changingCursorPos;
4989
4990	        _this._abortUpdateCursor();
4991	      }, 10);
4992	    }
4993	    /**
4994	      Fires custom events
4995	      @protected
4996	    */
4997
4998	  }, {
4999	    key: "_fireChangeEvents",
5000	    value: function _fireChangeEvents() {
5001	      this._fireEvent('accept', this._inputEvent);
5002
5003	      if (this.masked.isComplete) this._fireEvent('complete', this._inputEvent);
5004	    }
5005	    /**
5006	      Aborts delayed cursor update
5007	      @private
5008	    */
5009
5010	  }, {
5011	    key: "_abortUpdateCursor",
5012	    value: function _abortUpdateCursor() {
5013	      if (this._cursorChanging) {
5014	        clearTimeout(this._cursorChanging);
5015	        delete this._cursorChanging;
5016	      }
5017	    }
5018	    /** Aligns cursor to nearest available position */
5019
5020	  }, {
5021	    key: "alignCursor",
5022	    value: function alignCursor() {
5023	      this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT));
5024	    }
5025	    /** Aligns cursor only if selection is empty */
5026
5027	  }, {
5028	    key: "alignCursorFriendly",
5029	    value: function alignCursorFriendly() {
5030	      if (this.selectionStart !== this.cursorPos) return; // skip if range is selected
5031
5032	      this.alignCursor();
5033	    }
5034	    /** Adds listener on custom event */
5035
5036	  }, {
5037	    key: "on",
5038	    value: function on(ev, handler) {
5039	      if (!this._listeners[ev]) this._listeners[ev] = [];
5040
5041	      this._listeners[ev].push(handler);
5042
5043	      return this;
5044	    }
5045	    /** Removes custom event listener */
5046
5047	  }, {
5048	    key: "off",
5049	    value: function off(ev, handler) {
5050	      if (!this._listeners[ev]) return this;
5051
5052	      if (!handler) {
5053	        delete this._listeners[ev];
5054	        return this;
5055	      }
5056
5057	      var hIndex = this._listeners[ev].indexOf(handler);
5058
5059	      if (hIndex >= 0) this._listeners[ev].splice(hIndex, 1);
5060	      return this;
5061	    }
5062	    /** Handles view input event */
5063
5064	  }, {
5065	    key: "_onInput",
5066	    value: function _onInput(e) {
5067	      this._inputEvent = e;
5068
5069	      this._abortUpdateCursor(); // fix strange IE behavior
5070
5071
5072	      if (!this._selection) return this.updateValue();
5073	      var details = new ActionDetails( // new state
5074	      this.el.value, this.cursorPos, // old state
5075	      this.value, this._selection);
5076	      var oldRawValue = this.masked.rawInputValue;
5077	      var offset = this.masked.splice(details.startChangePos, details.removed.length, details.inserted, details.removeDirection).offset; // force align in remove direction only if no input chars were removed
5078	      // otherwise we still need to align with NONE (to get out from fixed symbols for instance)
5079
5080	      var removeDirection = oldRawValue === this.masked.rawInputValue ? details.removeDirection : DIRECTION.NONE;
5081	      var cursorPos = this.masked.nearestInputPos(details.startChangePos + offset, removeDirection);
5082	      if (removeDirection !== DIRECTION.NONE) cursorPos = this.masked.nearestInputPos(cursorPos, DIRECTION.NONE);
5083	      this.updateControl();
5084	      this.updateCursor(cursorPos);
5085	      delete this._inputEvent;
5086	    }
5087	    /** Handles view change event and commits model value */
5088
5089	  }, {
5090	    key: "_onChange",
5091	    value: function _onChange() {
5092	      if (this.value !== this.el.value) {
5093	        this.updateValue();
5094	      }
5095
5096	      this.masked.doCommit();
5097	      this.updateControl();
5098
5099	      this._saveSelection();
5100	    }
5101	    /** Handles view drop event, prevents by default */
5102
5103	  }, {
5104	    key: "_onDrop",
5105	    value: function _onDrop(ev) {
5106	      ev.preventDefault();
5107	      ev.stopPropagation();
5108	    }
5109	    /** Restore last selection on focus */
5110
5111	  }, {
5112	    key: "_onFocus",
5113	    value: function _onFocus(ev) {
5114	      this.alignCursorFriendly();
5115	    }
5116	    /** Restore last selection on focus */
5117
5118	  }, {
5119	    key: "_onClick",
5120	    value: function _onClick(ev) {
5121	      this.alignCursorFriendly();
5122	    }
5123	    /** Unbind view events and removes element reference */
5124
5125	  }, {
5126	    key: "destroy",
5127	    value: function destroy() {
5128	      this._unbindEvents(); // $FlowFixMe why not do so?
5129
5130
5131	      this._listeners.length = 0; // $FlowFixMe
5132
5133	      delete this.el;
5134	    }
5135	  }]);
5136
5137	  return InputMask;
5138	}();
5139	IMask.InputMask = InputMask;
5140
5141	/** Pattern which validates enum values */
5142
5143	var MaskedEnum = /*#__PURE__*/function (_MaskedPattern) {
5144	  _inherits(MaskedEnum, _MaskedPattern);
5145
5146	  var _super = _createSuper(MaskedEnum);
5147
5148	  function MaskedEnum() {
5149	    _classCallCheck(this, MaskedEnum);
5150
5151	    return _super.apply(this, arguments);
5152	  }
5153
5154	  _createClass(MaskedEnum, [{
5155	    key: "_update",
5156	    value:
5157	    /**
5158	      @override
5159	      @param {Object} opts
5160	    */
5161	    function _update(opts) {
5162	      // TODO type
5163	      if (opts.enum) opts.mask = '*'.repeat(opts.enum[0].length);
5164
5165	      _get(_getPrototypeOf(MaskedEnum.prototype), "_update", this).call(this, opts);
5166	    }
5167	    /**
5168	      @override
5169	    */
5170
5171	  }, {
5172	    key: "doValidate",
5173	    value: function doValidate() {
5174	      var _this = this,
5175	          _get2;
5176
5177	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5178	        args[_key] = arguments[_key];
5179	      }
5180
5181	      return this.enum.some(function (e) {
5182	        return e.indexOf(_this.unmaskedValue) >= 0;
5183	      }) && (_get2 = _get(_getPrototypeOf(MaskedEnum.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args));
5184	    }
5185	  }]);
5186
5187	  return MaskedEnum;
5188	}(MaskedPattern);
5189	IMask.MaskedEnum = MaskedEnum;
5190
5191	/**
5192	  Number mask
5193	  @param {Object} opts
5194	  @param {string} opts.radix - Single char
5195	  @param {string} opts.thousandsSeparator - Single char
5196	  @param {Array<string>} opts.mapToRadix - Array of single chars
5197	  @param {number} opts.min
5198	  @param {number} opts.max
5199	  @param {number} opts.scale - Digits after point
5200	  @param {boolean} opts.signed - Allow negative
5201	  @param {boolean} opts.normalizeZeros - Flag to remove leading and trailing zeros in the end of editing
5202	  @param {boolean} opts.padFractionalZeros - Flag to pad trailing zeros after point in the end of editing
5203	*/
5204	var MaskedNumber = /*#__PURE__*/function (_Masked) {
5205	  _inherits(MaskedNumber, _Masked);
5206
5207	  var _super = _createSuper(MaskedNumber);
5208
5209	  /** Single char */
5210
5211	  /** Single char */
5212
5213	  /** Array of single chars */
5214
5215	  /** */
5216
5217	  /** */
5218
5219	  /** Digits after point */
5220
5221	  /** */
5222
5223	  /** Flag to remove leading and trailing zeros in the end of editing */
5224
5225	  /** Flag to pad trailing zeros after point in the end of editing */
5226	  function MaskedNumber(opts) {
5227	    _classCallCheck(this, MaskedNumber);
5228
5229	    return _super.call(this, Object.assign({}, MaskedNumber.DEFAULTS, opts));
5230	  }
5231	  /**
5232	    @override
5233	  */
5234
5235
5236	  _createClass(MaskedNumber, [{
5237	    key: "_update",
5238	    value: function _update(opts) {
5239	      _get(_getPrototypeOf(MaskedNumber.prototype), "_update", this).call(this, opts);
5240
5241	      this._updateRegExps();
5242	    }
5243	    /** */
5244
5245	  }, {
5246	    key: "_updateRegExps",
5247	    value: function _updateRegExps() {
5248	      // use different regexp to process user input (more strict, input suffix
5248) and tail shifting
5249	      var start = '^' + (this.allowNegative ? '[+|\\-]?' : '');
5250	      var midInput = '(0|([1-9]+\\d*))?';
5251	      var mid = '\\d*';
5252	      var end = (this.scale ? '(' + escapeRegExp(this.radix) + '\\d{0,' + this.scale + '})?' : '') + '$';
5253	      this._numberRegExpInput = new RegExp(start + midInput + end);
5254	      this._numberRegExp = new RegExp(start + mid + end);
5255	      this._mapToRadixRegExp = new RegExp('[' + this.mapToRadix.map(escapeRegExp).join('') + ']', 'g');
5256	      this._thousandsSeparatorRegExp = new RegExp(escapeRegExp(this.thousandsSeparator), 'g');
5257	    }
5258	    /** */
5259
5260	  }, {
5261	    key: "_removeThousandsSeparators",
5262	    value: function _removeThousandsSeparators(value) {
5263	      return value.replace(this._thousandsSeparatorRegExp, '');
5264	    }
5265	    /** */
5266
5267	  }, {
5268	    key: "_insertThousandsSeparators",
5269	    value: function _insertThousandsSeparators(value) {
5270	      // https://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript
5271	      var parts = value.split(this.radix);
5272	      parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, this.thousandsSeparator);
5273	      return parts.join(this.radix);
5274	    }
5275	    /**
5276	      @override
5277	    */
5278
5279	  }, {
5280	    key: "doPrepare",
5281	    value: function doPrepare(ch) {
5282	      var _get2;
5283
5284	      ch = ch.replace(this._mapToRadixRegExp, this.radix);
5285
5286	      var noSepCh = this._removeThousandsSeparators(ch);
5287
5288	      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
5289	        args[_key - 1] = arguments[_key];
5290	      }
5291
5292	      var _normalizePrepare = normalizePrepare((_get2 = _get(_getPrototypeOf(MaskedNumber.prototype), "doPrepare", this)).call.apply(_get2, [this, noSepCh].concat(args))),
5293	          _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2),
5294	          prepCh = _normalizePrepare2[0],
5295	          details = _normalizePrepare2[1];
5296
5297	      if (ch && !noSepCh) details.skip = true;
5298	      return [prepCh, details];
5299	    }
5300	    /** */
5301
5302	  }, {
5303	    key: "_separatorsCount",
5304	    value: function _separatorsCount(to) {
5305	      var extendOnSeparators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
5306	      var count = 0;
5307
5308	      for (var pos = 0; pos < to; ++pos) {
5309	        if (this._value.indexOf(this.thousandsSeparator, pos) === pos) {
5310	          ++count;
5311	          if (extendOnSeparators) to += this.thousandsSeparator.length;
5312	        }
5313	      }
5314
5315	      return count;
5316	    }
5317	    /** */
5318
5319	  }, {
5320	    key: "_separatorsCountFromSlice",
5321	    value: function _separatorsCountFromSlice() {
5322	      var slice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._value;
5323	      return this._separatorsCount(this._removeThousandsSeparators(slice).length, true);
5324	    }
5325	    /**
5326	      @override
5327	    */
5328
5329	  }, {
5330	    key: "extractInput",
5331	    value: function extractInput() {
5332	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
5333	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
5334	      var flags = arguments.length > 2 ? arguments[2] : undefined;
5335
5336	      var _this$_adjustRangeWit = this._adjustRangeWithSeparators(fromPos, toPos);
5337
5338	      var _this$_adjustRangeWit2 = _slicedToArray(_this$_adjustRangeWit, 2);
5339
5340	      fromPos = _this$_adjustRangeWit2[0];
5341	      toPos = _this$_adjustRangeWit2[1];
5342	      return this._removeThousandsSeparators(_get(_getPrototypeOf(MaskedNumber.prototype), "extractInput", this).call(this, fromPos, toPos, flags));
5343	    }
5344	    /**
5345	      @override
5346	    */
5347
5348	  }, {
5349	    key: "_appendCharRaw",
5350	    value: function _appendCharRaw(ch) {
5351	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5352	      if (!this.thousandsSeparator) return _get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags);
5353	      var prevBeforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value;
5354
5355	      var prevBeforeTailSeparatorsCount = this._separatorsCountFromSlice(prevBeforeTailValue);
5356
5357	      this._value = this._removeThousandsSeparators(this.value);
5358
5359	      var appendDetails = _get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags);
5360
5361	      this._value = this._insertThousandsSeparators(this._value);
5362	      var beforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value;
5363
5364	      var beforeTailSeparatorsCount = this._separatorsCountFromSlice(beforeTailValue);
5365
5366	      appendDetails.tailShift += (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length;
5367	      appendDetails.skip = !appendDetails.rawInserted && ch === this.thousandsSeparator;
5368	      return appendDetails;
5369	    }
5370	    /** */
5371
5372	  }, {
5373	    key: "_findSeparatorAround",
5374	    value: function _findSeparatorAround(pos) {
5375	      if (this.thousandsSeparator) {
5376	        var searchFrom = pos - this.thousandsSeparator.length + 1;
5377	        var separatorPos = this.value.indexOf(this.thousandsSeparator, searchFrom);
5378	        if (separatorPos <= pos) return separatorPos;
5379	      }
5380
5381	      return -1;
5382	    }
5383	  }, {
5384	    key: "_adjustRangeWithSeparators",
5385	    value: function _adjustRangeWithSeparators(from, to) {
5386	      var separatorAroundFromPos = this._findSeparatorAround(from);
5387
5388	      if (separatorAroundFromPos >= 0) from = separatorAroundFromPos;
5389
5390	      var separatorAroundToPos = this._findSeparatorAround(to);
5391
5392	      if (separatorAroundToPos >= 0) to = separatorAroundToPos + this.thousandsSeparator.length;
5393	      return [from, to];
5394	    }
5395	    /**
5396	      @override
5397	    */
5398
5399	  }, {
5400	    key: "remove",
5401	    value: function remove() {
5402	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
5403	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
5404
5405	      var _this$_adjustRangeWit3 = this._adjustRangeWithSeparators(fromPos, toPos);
5406
5407	      var _this$_adjustRangeWit4 = _slicedToArray(_this$_adjustRangeWit3, 2);
5408
5409	      fromPos = _this$_adjustRangeWit4[0];
5410	      toPos = _this$_adjustRangeWit4[1];
5411	      var valueBeforePos = this.value.slice(0, fromPos);
5412	      var valueAfterPos = this.value.slice(toPos);
5413
5414	      var prevBeforeTailSeparatorsCount = this._separatorsCount(valueBeforePos.length);
5415
5416	      this._value = this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos + valueAfterPos));
5417
5418	      var beforeTailSeparatorsCount = this._separatorsCountFromSlice(valueBeforePos);
5419
5420	      return new ChangeDetails({
5421	        tailShift: (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length
5422	      });
5423	    }
5424	    /**
5425	      @override
5426	    */
5427
5428	  }, {
5429	    key: "nearestInputPos",
5430	    value: function nearestInputPos(cursorPos, direction) {
5431	      if (!this.thousandsSeparator) return cursorPos;
5432
5433	      switch (direction) {
5434	        case DIRECTION.NONE:
5435	        case DIRECTION.LEFT:
5436	        case DIRECTION.FORCE_LEFT:
5437	          {
5438	            var separatorAtLeftPos = this._findSeparatorAround(cursorPos - 1);
5439
5440	            if (separatorAtLeftPos >= 0) {
5441	              var separatorAtLeftEndPos = separatorAtLeftPos + this.thousandsSeparator.length;
5442
5443	              if (cursorPos < separatorAtLeftEndPos || this.value.length <= separatorAtLeftEndPos || direction === DIRECTION.FORCE_LEFT) {
5444	                return separatorAtLeftPos;
5445	              }
5446	            }
5447
5448	            break;
5449	          }
5450
5451	        case DIRECTION.RIGHT:
5452	        case DIRECTION.FORCE_RIGHT:
5453	          {
5454	            var separatorAtRightPos = this._findSeparatorAround(cursorPos);
5455
5456	            if (separatorAtRightPos >= 0) {
5457	              return separatorAtRightPos + this.thousandsSeparator.length;
5458	            }
5459	          }
5460	      }
5461
5462	      return cursorPos;
5463	    }
5464	    /**
5465	      @override
5466	    */
5467
5468	  }, {
5469	    key: "doValidate",
5470	    value: function doValidate(flags) {
5471	      var regexp = flags.input ? this._numberRegExpInput : this._numberRegExp; // validate as string
5472
5473	      var valid = regexp.test(this._removeThousandsSeparators(this.value));
5474
5475	      if (valid) {
5476	        // validate as number
5477	        var number = this.number;
5478	        valid = valid && !isNaN(number) && ( // check min bound for negative values
5479	        this.min == null || this.min >= 0 || this.min <= this.number) && ( // check max bound for positive values
5480	        this.max == null || this.max <= 0 || this.number <= this.max);
5481	      }
5482
5483	      return valid && _get(_getPrototypeOf(MaskedNumber.prototype), "doValidate", this).call(this, flags);
5484	    }
5485	    /**
5486	      @override
5487	    */
5488
5489	  }, {
5490	    key: "doCommit",
5491	    value: function doCommit() {
5492	      if (this.value) {
5493	        var number = this.number;
5494	        var validnum = number; // check bounds
5495
5496	        if (this.min != null) validnum = Math.max(validnum, this.min);
5497	        if (this.max != null) validnum = Math.min(validnum, this.max);
5498	        if (validnum !== number) this.unmaskedValue = String(validnum);
5499	        var formatted = this.value;
5500	        if (this.normalizeZeros) formatted = this._normalizeZeros(formatted);
5501	        if (this.padFractionalZeros && this.scale > 0) formatted = this._padFractionalZeros(formatted);
5502	        this._value = formatted;
5503	      }
5504
5505	      _get(_getPrototypeOf(MaskedNumber.prototype), "doCommit", this).call(this);
5506	    }
5507	    /** */
5508
5509	  }, {
5510	    key: "_normalizeZeros",
5511	    value: function _normalizeZeros(value) {
5512	      var parts = this._removeThousandsSeparators(value).split(this.radix); // remove leading zeros
5513
5514
5515	      parts[0] = parts[0].replace(/^(\D*)(0*)(\d*)/, function (match, sign, zeros, num) {
5516	        return sign + num;
5517	      }); // add leading zero
5518
5519	      if (value.length && !/\d$/.test(parts[0])) parts[0] = parts[0] + '0';
5520
5521	      if (parts.length > 1) {
5522	        parts[1] = parts[1].replace(/0*$/, ''); // remove trailing zeros
5523
5524	        if (!parts[1].length) parts.length = 1; // remove fractional
5525	      }
5526
5527	      return this._insertThousandsSeparators(parts.join(this.radix));
5528	    }
5529	    /** */
5530
5531	  }, {
5532	    key: "_padFractionalZeros",
5533	    value: function _padFractionalZeros(value) {
5534	      if (!value) return value;
5535	      var parts = value.split(this.radix);
5536	      if (parts.length < 2) parts.push('');
5537	      parts[1] = parts[1].padEnd(this.scale, '0');
5538	      return parts.join(this.radix);
5539	    }
5540	    /**
5541	      @override
5542	    */
5543
5544	  }, {
5545	    key: "unmaskedValue",
5546	    get: function get() {
5547	      return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix, '.');
5548	    },
5549	    set: function set(unmaskedValue) {
5550	      _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", unmaskedValue.replace('.', this.radix), this, true);
5551	    }
5552	    /**
5553	      @override
5554	    */
5555
5556	  }, {
5557	    key: "typedValue",
5558	    get: function get() {
5559	      return Number(this.unmaskedValue);
5560	    },
5561	    set: function set(n) {
5562	      _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", String(n), this, true);
5563	    }
5564	    /** Parsed Number */
5565
5566	  }, {
5567	    key: "number",
5568	    get: function get() {
5569	      return this.typedValue;
5570	    },
5571	    set: function set(number) {
5572	      this.typedValue = number;
5573	    }
5574	    /**
5575	      Is negative allowed
5576	      @readonly
5577	    */
5578
5579	  }, {
5580	    key: "allowNegative",
5581	    get: function get() {
5582	      return this.signed || this.min != null && this.min < 0 || this.max != null && this.max < 0;
5583	    }
5584	  }]);
5585
5586	  return MaskedNumber;
5587	}(Masked);
5588	MaskedNumber.DEFAULTS = {
5589	  radix: ',',
5590	  thousandsSeparator: '',
5591	  mapToRadix: ['.'],
5592	  scale: 2,
5593	  signed: false,
5594	  normalizeZeros: true,
5595	  padFractionalZeros: false
5596	};
5597	IMask.MaskedNumber = MaskedNumber;
5598
5599	/** Masking by custom Function */
5600
5601	var MaskedFunction = /*#__PURE__*/function (_Masked) {
5602	  _inherits(MaskedFunction, _Masked);
5603
5604	  var _super = _createSuper(MaskedFunction);
5605
5606	  function MaskedFunction() {
5607	    _classCallCheck(this, MaskedFunction);
5608
5609	    return _super.apply(this, arguments);
5610	  }
5611
5612	  _createClass(MaskedFunction, [{
5613	    key: "_update",
5614	    value:
5615	    /**
5616	      @override
5617	      @param {Object} opts
5618	    */
5619	    function _update(opts) {
5620	      if (opts.mask) opts.validate = opts.mask;
5621
5622	      _get(_getPrototypeOf(MaskedFunction.prototype), "_update", this).call(this, opts);
5623	    }
5624	  }]);
5625
5626	  return MaskedFunction;
5627	}(Masked);
5628	IMask.MaskedFunction = MaskedFunction;
5629
5630	var _excluded = ["compiledMasks", "currentMaskRef", "currentMask"];
5631
5632	/** Dynamic mask for choosing apropriate mask in run-time */
5633	var MaskedDynamic = /*#__PURE__*/function (_Masked) {
5634	  _inherits(MaskedDynamic, _Masked);
5635
5636	  var _super = _createSuper(MaskedDynamic);
5637
5638	  /** Currently chosen mask */
5639
5640	  /** Compliled {@link Masked} options */
5641
5642	  /** Chooses {@link Masked}
5642 depending on input value */
5643
5644	  /**
5645	    @param {Object} opts
5646	  */
5647	  function MaskedDynamic(opts) {
5648	    var _this;
5649
5650	    _classCallCheck(this, MaskedDynamic);
5651
5652	    _this = _super.call(this, Object.assign({}, MaskedDynamic.DEFAULTS, opts));
5653	    _this.currentMask = null;
5654	    return _this;
5655	  }
5656	  /**
5657	    @override
5658	  */
5659
5660
5661	  _createClass(MaskedDynamic, [{
5662	    key: "_update",
5663	    value: function _update(opts) {
5664	      _get(_getPrototypeOf(MaskedDynamic.prototype), "_update", this).call(this, opts);
5665
5666	      if ('mask' in opts) {
5667	        // mask could be totally dynamic with only `dispatch` option
5668	        this.compiledMasks = Array.isArray(opts.mask) ? opts.mask.map(function (m) {
5669	          return createMask(m);
5670	        }) : [];
5671	      }
5672	    }
5673	    /**
5674	      @override
5675	    */
5676
5677	  }, {
5678	    key: "_appendCharRaw",
5679	    value: function _appendCharRaw(ch) {
5680	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5681
5682	      var details = this._applyDispatch(ch, flags);
5683
5684	      if (this.currentMask) {
5685	        details.aggregate(this.currentMask._appendChar(ch, flags));
5686	      }
5687
5688	      return details;
5689	    }
5690	  }, {
5691	    key: "_applyDispatch",
5692	    value: function _applyDispatch() {
5693	      var appended = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
5694	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5695	      var prevValueBeforeTail = flags.tail && flags._beforeTailState != null ? flags._beforeTailState._value : this.value;
5696	      var inputValue = this.rawInputValue;
5697	      var insertValue = flags.tail && flags._beforeTailState != null ? // $FlowFixMe - tired to fight with type system
5698	      flags._beforeTailState._rawInputValue : inputValue;
5699	      var tailValue = inputValue.slice(insertValue.length);
5700	      var prevMask = this.currentMask;
5701	      var details = new ChangeDetails();
5702	      var prevMaskState = prevMask && prevMask.state; // clone flags to prevent overwriting `_beforeTailState`
5703
5704	      this.currentMask = this.doDispatch(appended, Object.assign({}, flags)); // restore state after dispatch
5705
5706	      if (this.currentMask) {
5707	        if (this.currentMask !== prevMask) {
5708	          // if mask changed reapply input
5709	          this.currentMask.reset();
5710
5711	          if (insertValue) {
5712	            // $FlowFixMe - it's ok, we don't change current mask above
5713	            var d = this.currentMask.append(insertValue, {
5714	              raw: true
5715	            });
5716	            details.tailShift = d.inserted.length - prevValueBeforeTail.length;
5717	          }
5718
5719	          if (tailValue) {
5720	            // $FlowFixMe - it's ok, we don't change current mask above
5721	            details.tailShift += this.currentMask.append(tailValue, {
5722	              raw: true,
5723	              tail: true
5724	            }).tailShift;
5725	          }
5726	        } else {
5727	          // Dispatch can do something bad with state, so
5728	          // restore prev mask state
5729	          this.currentMask.state = prevMaskState;
5730	        }
5731	      }
5732
5733	      return details;
5734	    }
5735	  }, {
5736	    key: "_appendPlaceholder",
5737	    value: function _appendPlaceholder() {
5738	      var details = this._applyDispatch.apply(this, arguments);
5739
5740	      if (this.currentMask) {
5741	        details.aggregate(this.currentMask._appendPlaceholder());
5742	      }
5743
5744	      return details;
5745	    }
5746	    /**
5747	     @override
5748	    */
5749
5750	  }, {
5751	    key: "_appendEager",
5752	    value: function _appendEager() {
5753	      var details = this._applyDispatch.apply(this, arguments);
5754
5755	      if (this.currentMask) {
5756	        details.aggregate(this.currentMask._appendEager());
5757	      }
5758
5759	      return details;
5760	    }
5761	    /**
5762	      @override
5763	    */
5764
5765	  }, {
5766	    key: "doDispatch",
5767	    value: function doDispatch(appended) {
5768	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5769	      return this.dispatch(appended, this, flags);
5770	    }
5771	    /**
5772	      @override
5773	    */
5774
5775	  }, {
5776	    key: "doValidate",
5777	    value: function doValidate() {
5778	      var _get2, _this$currentMask;
5779
5780	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5781	        args[_key] = arguments[_key];
5782	      }
5783
5784	      return (_get2 = _get(_getPrototypeOf(MaskedDynamic.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)) && (!this.currentMask || (_this$currentMask = this.currentMask).doValidate.apply(_this$currentMask, args));
5785	    }
5786	    /**
5787	      @override
5788	    */
5789
5790	  }, {
5791	    key: "reset",
5792	    value: function reset() {
5793	      var _this$currentMask2;
5794
5795	      (_this$currentMask2 = this.currentMask) === null || _this$currentMask2 === void 0 ? void 0 : _this$currentMask2.reset();
5796	      this.compiledMasks.forEach(function (m) {
5797	        return m.reset();
5798	      });
5799	    }
5800	    /**
5801	      @override
5802	    */
5803
5804	  }, {
5805	    key: "value",
5806	    get: function get() {
5807	      return this.currentMask ? this.currentMask.value : '';
5808	    },
5809	    set: function set(value) {
5810	      _set(_getPrototypeOf(MaskedDynamic.prototype), "value", value, this, true);
5811	    }
5812	    /**
5813	      @override
5814	    */
5815
5816	  }, {
5817	    key: "unmaskedValue",
5818	    get: function get() {
5819	      return this.currentMask ? this.currentMask.unmaskedValue : '';
5820	    },
5821	    set: function set(unmaskedValue) {
5822	      _set(_getPrototypeOf(MaskedDynamic.prototype), "unmaskedValue", unmaskedValue, this, true);
5823	    }
5824	    /**
5825	      @override
5826	    */
5827
5828	  }, {
5829	    key: "typedValue",
5830	    get: function get() {
5831	      return this.currentMask ? this.currentMask.typedValue : '';
5832	    } // probably typedValue should not be used with dynamic
5833	    ,
5834	    set: function set(value) {
5835	      var unmaskedValue = String(value); // double check it
5836
5837	      if (this.currentMask) {
5838	        this.currentMask.typedValue = value;
5839	        unmaskedValue = this.currentMask.unmaskedValue;
5840	      }
5841
5842	      this.unmaskedValue = unmaskedValue;
5843	    }
5844	    /**
5845	      @override
5846	    */
5847
5848	  }, {
5849	    key: "isComplete",
5850	    get: function get() {
5851	      var _this$currentMask3;
5852
5853	      return Boolean((_this$currentMask3 = this.currentMask) === null || _this$currentMask3 === void 0 ? void 0 : _this$currentMask3.isComplete);
5854	    }
5855	    /**
5856	      @override
5857	    */
5858
5859	  }, {
5860	    key: "isFilled",
5861	    get: function get() {
5862	      var _this$currentMask4;
5863
5864	      return Boolean((_this$currentMask4 = this.currentMask) === null || _this$currentMask4 === void 0 ? void 0 : _this$currentMask4.isFilled);
5865	    }
5866	    /**
5867	      @override
5868	    */
5869
5870	  }, {
5871	    key: "remove",
5872	    value: function remove() {
5873	      var details = new ChangeDetails();
5874
5875	      if (this.currentMask) {
5876	        var _this$currentMask5;
5877
5878	        details.aggregate((_this$currentMask5 = this.currentMask).remove.apply(_this$currentMask5, arguments)) // update with dispatch
5879	        .aggregate(this._applyDispatch());
5880	      }
5881
5882	      return details;
5883	    }
5884	    /**
5885	      @override
5886	    */
5887
5888	  }, {
5889	    key: "state",
5890	    get: function get() {
5891	      return Object.assign({}, _get(_getPrototypeOf(MaskedDynamic.prototype), "state", this), {
5892	        _rawInputValue: this.rawInputValue,
5893	        compiledMasks: this.compiledMasks.map(function (m) {
5894	          return m.state;
5895	        }),
5896	        currentMaskRef: this.currentMask,
5897	        currentMask: this.currentMask && this.currentMask.state
5898	      });
5899	    },
5900	    set: function set(state) {
5901	      var compiledMasks = state.compiledMasks,
5902	          currentMaskRef = state.currentMaskRef,
5903	          currentMask = state.currentMask,
5904	          maskedState = _objectWithoutProperties(state, _excluded);
5905
5906	      this.compiledMasks.forEach(function (m, mi) {
5907	        return m.state = compiledMasks[mi];
5908	      });
5909
5910	      if (currentMaskRef != null) {
5911	        this.currentMask = currentMaskRef;
5912	        this.currentMask.state = currentMask;
5913	      }
5914
5915	      _set(_getPrototypeOf(MaskedDynamic.prototype), "state", maskedState, this, true);
5916	    }
5917	    /**
5918	      @override
5919	    */
5920
5921	  }, {
5922	    key: "extractInput",
5923	    value: function extractInput() {
5924	      var _this$currentMask6;
5925
5926	      return this.currentMask ? (_this$currentMask6 = this.currentMask).extractInput.apply(_this$currentMask6, arguments) : '';
5927	    }
5928	    /**
5929	      @override
5930	    */
5931
5932	  }, {
5933	    key: "extractTail",
5934	    value: function extractTail() {
5935	      var _this$currentMask7, _get3;
5936
5937	      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
5938	        args[_key2] = arguments[_key2];
5939	      }
5940
5941	      return this.currentMask ? (_this$currentMask7 = this.currentMask).extractTail.apply(_this$currentMask7, args) : (_get3 = _get(_getPrototypeOf(MaskedDynamic.prototype), "extractTail", this)).call.apply(_get3, [this].concat(args));
5942	    }
5943	    /**
5944	      @override
5945	    */
5946
5947	  }, {
5948	    key: "doCommit",
5949	    value: function doCommit() {
5950	      if (this.currentMask) this.currentMask.doCommit();
5951
5952	      _get(_getPrototypeOf(MaskedDynamic.prototype), "doCommit", this).call(this);
5953	    }
5954	    /**
5955	      @override
5956	    */
5957
5958	  }, {
5959	    key: "nearestInputPos",
5960	    value: function nearestInputPos() {
5961	      var _this$currentMask8, _get4;
5962
5963	      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
5964	        args[_key3] = arguments[_key3];
5965	      }
5966
5967	      return this.currentMask ? (_this$currentMask8 = this.currentMask).nearestInputPos.apply(_this$currentMask8, args) : (_get4 = _get(_getPrototypeOf(MaskedDynamic.prototype), "nearestInputPos", this)).call.apply(_get4, [this].concat(args));
5968	    }
5969	  }, {
5970	    key: "overwrite",
5971	    get: function get() {
5972	      return this.currentMask ? this.currentMask.overwrite : _get(_getPrototypeOf(MaskedDynamic.prototype), "overwrite", this);
5973	    },
5974	    set: function set(overwrite) {
5975	      console.warn('"overwrite" option is not available in dynamic mask, use this option in siblings');
5976	    }
5977	  }, {
5978	    key: "eager",
5979	    get: function get() {
5980	      return this.currentMask ? this.currentMask.eager : _get(_getPrototypeOf(MaskedDynamic.prototype), "eager", this);
5981	    },
5982	    set: function set(eager) {
5983	      console.warn('"eager" option is not available in dynamic mask, use this option in siblings');
5984	    }
5985	    /**
5986	      @override
5987	    */
5988
5989	  }, {
5990	    key: "maskEquals",
5991	    value: function maskEquals(mask) {
5992	      return Array.isArray(mask) && this.compiledMasks.every(function (m, mi) {
5993	        var _mask$mi;
5994
5995	        return m.maskEquals((_mask$mi = mask[mi]) === null || _mask$mi === void 0 ? void 0 : _mask$mi.mask);
5996	      });
5997	    }
5998	  }]);
5999
6000	  return MaskedDynamic;
6001	}(Masked);
6002	MaskedDynamic.DEFAULTS = {
6003	  dispatch: function dispatch(appended, masked, flags) {
6004	    if (!masked.compiledMasks.length) return;
6005	    var inputValue = masked.rawInputValue; // simulate input
6006
6007	    var inputs = masked.compiledMasks.map(function (m, index) {
6008	      m.reset();
6009	      m.append(inputValue, {
6010	        raw: true
6011	      });
6012	      m.append(appended, flags);
6013	      var weight = m.rawInputValue.length;
6014	      return {
6015	        weight: weight,
6016	        index: index
6017	      };
6018	    }); // pop masks with longer values first
6019
6020	    inputs.sort(function (i1, i2) {
6021	      return i2.weight - i1.weight;
6022	    });
6023	    return masked.compiledMasks[inputs[0].index];
6024	  }
6025	};
6026	IMask.MaskedDynamic = MaskedDynamic;
6027
6028	/** Mask pipe source and destination types */
6029
6030	var PIPE_TYPE = {
6031	  MASKED: 'value',
6032	  UNMASKED: 'unmaskedValue',
6033	  TYPED: 'typedValue'
6034	};
6035	/** Creates new pipe function depending on mask type, source and destination options */
6036
6037	function createPipe(mask) {
6038	  var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : PIPE_TYPE.MASKED;
6039	  var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : PIPE_TYPE.MASKED;
6040	  var masked = createMask(mask);
6041	  return function (value) {
6042	    return masked.runIsolated(function (m) {
6043	      m[from] = value;
6044	      return m[to];
6045	    });
6046	  };
6047	}
6048	/** Pipes value through mask depending on mask type, source and destination options */
6049
6050	function pipe(value) {
6051	  for (var _len = arguments.length, pipeArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
6052	    pipeArgs[_key - 1] = arguments[_key];
6053	  }
6054
6055	  return createPipe.apply(void 0, pipeArgs)(value);
6056	}
6057	IMask.PIPE_TYPE = PIPE_TYPE;
6058	IMask.createPipe = createPipe;
6059	IMask.pipe = pipe;
6060
6061	try {
6062	  globalThis.IMask = IMask;
6063	} catch (e) {}
6064
6065	exports.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement;
6066	exports.HTMLMaskElement = HTMLMaskElement;
6067	exports.InputMask = InputMask;
6068	exports.MaskElement = MaskElement;
6069	exports.Masked = Masked;
6070	exports.MaskedDate = MaskedDate;
6071	exports.MaskedDynamic = MaskedDynamic;
6072	exports.MaskedEnum = MaskedEnum;
6073	exports.MaskedFunction = MaskedFunction;
6074	exports.MaskedNumber = MaskedNumber;
6075	exports.MaskedPattern = MaskedPattern;
6076	exports.MaskedRange = MaskedRange;
6077	exports.MaskedRegExp = MaskedRegExp;
6078	exports.PIPE_TYPE = PIPE_TYPE;
6079	exports.createMask = createMask;
6080	exports.createPipe = createPipe;
vendor: 28,270 bytes, lines 6081-6088
6081	exports["default"] = IMask;
6082	exports.pipe = pipe;
6083
6084	Object.defineProperty(exports, '__esModule', { value: true });
6085
6086}));
6087
6088!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AirDatepicker=t():e.AirDatepicker=t()}(this,(function(){return function(){"use strict";var e={d:function(t,i){for(var s in i)e.o(i,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:i[s]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return j}});var i={days:"days",months:"months",years:"years",day:"day",month:"month",year:"year",eventChangeViewDate:"changeViewDate",eventChangeCurrentView:"changeCurrentView",eventChangeFocusDate:"changeFocusDate",eventChangeSelectedDate:"changeSelectedDate",eventChangeTime:"changeTime",eventChangeLastSelectedDate:"changeLastSelectedDate",actionSelectDate:"selectDate",actionUnselectDate:"unselectDate",cssClassWeekend:"-weekend-"},s={classes:"",inline:!1,locale:{days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вос","Пон","Вто","Сре","Чет","Пят","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",dateFormat:"dd.MM.yyyy",timeFormat:"HH:mm",firstDay:1},startDate:new Date,firstDay:"",weekends:[6,0],dateFormat:"",altField:"",altFieldDateFormat:"T",toggleSelected:!0,keyboardNav:!0,selectedDates:!1,container:"",isMobile:!1,visible:!1,position:"bottom left",offset:12,view:i.days,minView:i.days,showOtherMonths:!0,selectOtherMonths:!0,moveToOtherMonthsOnSelect:!0,showOtherYears:!0,selectOtherYears:!0,moveToOtherYearsOnSelect:!0,minDate:"",maxDate:"",disableNavWhenOutOfRange:!0,multipleDates:!1,multipleDatesSeparator:", ",range:!1,dynamicRange:!0,buttons:!1,monthsField:"monthsShort",showEvent:"focus",autoClose:!1,prevHtml:'<svg><path d="M 17,12 l -5,5 l 5,5"></path></svg>',nextHtml:'<svg><path d="M 14,12 l 5,5 l -5,5"></path></svg>',navTitles:{days:"MMMM, <i>yyyy</i>",months:"yyyy",years:"yyyy1 - yyyy2"},timepicker:!1,onlyTimepicker:!1,dateTimeSeparator:" ",timeFormat:"",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:!1,onChangeViewDate:!1,onChangeView:!1,onRenderCell:!1,onShow:!1,onHide:!1,onClickDayName:!1};function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return"string"==typeof e?t.querySelector(e):e}function n(){let{tagName:e="div",className:t="",innerHtml:i="",id:s="",attrs:a={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=document.createElement(e);return t&&n.classList.add(...t.split(" ")),s&&(n.id=s),i&&(n.innerHTML=i),a&&r(n,a),n}function r(e,t){for(let[i,s]of Object.entries(t))void 0!==s&&e.setAttribute(i,s);return e}function h(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function o(e){let t=e.getHours(),i=t%12==0?12:t%12;return{year:e.getFullYear(),month:e.getMonth(),fullMonth:e.getMonth()+1<10?"0"+(e.getMonth()+1):e.getMonth()+1,date:e.getDate(),fullDate:e.getDate()<10?"0"+e.getDate():e.getDate(),day:e.getDay(),hours:t,fullHours:l(t),hours12:i,fullHours12:l(i),minutes:e.getMinutes(),fullMinutes:e.getMinutes()<10?"0"+e.getMinutes():e.getMinutes()}}function l(e){return e<10?"0"+e:e}function d(e){let t=10*Math.floor(e.getFullYear()/10);return[t,t+9]}function c(){let e=[];for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return i.forEach((t=>{if("object"==typeof t)for(let i in t)t[i]&&e.push(i);else t&&e.push(t)})),e.join(" ")}function u(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.days;if(!e||!t)return!1;let a=o(e),n=o(t),r={[i.days]:a.date===n.date&&a.month===n.month&&a.year===n.year,[i.months]:a.month===n.month&&a.year===n.year,[i.years]:a.year===n.year};return r[s]}function p(e,t,i){let s=g(e,!1).getTime(),a=g(t,!1).getTime();return i?s>=a:s>a}function m(e,t){return!p(e,t,!0)}function g(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=new Date(e.getTime());return"boolean"!=typeof t||t||D(i),i}function D(e){return e.setHours(0,0,0,0),e}function v(e,t,i){e.length?e.forEach((e=>{e.addEventListener(t,i)})):e.addEventListener(t,i)}function y(e,t){return!(!e||e===document||e instanceof DocumentFragment)&&(e.matches(t)?e:y(e.parentNode,t))}function f(e,t,i){return e>i?i:e<t?t:e}function w(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];return i.filter((e=>e)).forEach((t=>{for(let[i,s]of Object.entries(t))if(void 0!==s&&"[object Object]"===s.toString()){let t=void 0!==e[i]?e[i].toString():void 0,a=s.toString(),n=Array.isArray(s)?[]:{};e[i]=e[i]?t!==a?n:e[i]:n,w(e[i],s)}else e[i]=s})),e}function b(e){let t=e;return e instanceof Date||(t=new Date(e)),isNaN(t.getTime())&&(console.log('Unable to convert value "'.concat(e,'" to Date object')),t=!1),t}function k(e){let t="\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";return new RegExp("(^|>|"+t+")("+e+")($|<|"+t+")","g")}function C(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class _{constructor(){let{type:e,date:t,dp:i,opts:s,body:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};C(this,"focus",(()=>{this.$cell.classList.add("-focus-"),this.focused=!0})),C(this,"removeFocus",(()=>{this.$cell.classList.remove("-focus-"),this.focused=!1})),C(this,"select",(()=>{this.$cell.classList.add("-selected-"),this.selected=!0})),C(this,"removeSelect",(()=>{this.$cell.classList.remove("-selected-","-range-from-","-range-to-"),this.selected=!1})),C(this,"onChangeSelectedDate",(()=>{this.isDisabled||(this._handleSelectedStatus(),this.opts.range&&this._handleRangeStatus())})),C(this,"onChangeFocusDate",(e=>{if(!e)return void(this.focused&&this.removeFocus());let t=u(e,this.date,this.type);t?this.focus():!t&&this.focused&&this.removeFocus(),this.opts.range&&this._handleRangeStatus()})),C(this,"render",(()=>(this.$cell.innerHTML=this._getHtml(),this.$cell.adpCell=this,this.$cell))),this.type=e,this.singleType=this.type.slice(0,-1),this.date=t,this.dp=i,this.opts=s,this.body=a,this.customData=!1,this.init()}init(){let{range:e,onRenderCell:t}=this.opts;t&&(this.customData=t({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),e&&this._handleRangeStatus())}_bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeFocusDate,this.onChangeFocusDate)}unbindDatepickerEvents(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeFocusDate,this.onChangeFocusDate)}_createElement(){var e;let{year:t,month:i,date:s}=o(this.date),a=(null===(e=this.customData)||void 0===e?void 0:e.attrs)||{};this.$cell=n({className:this._getClassName(),attrs:{"data-year":t,"data-month":i,"data-date":s,...a}})}_getClassName(){var e,t;let s=new Date,{selectOtherMonths:a,selectOtherYears:n}=this.opts,{minDate:r,maxDate:h}=this.dp,{day:l}=o(this.date),d=this._isOutOfMinMaxRange(),p=null===(e=this.customData)||void 0===e?void 0:e.disabled,m=c("air-datepicker-cell","-".concat(this.singleType,"-"),{"-current-":u(s,this.date,this.type),"-min-date-":r&&u(r,this.date,this.type),"-max-date-":h&&u(h,this.date,this.type)}),g="";switch(this.type){case i.days:g=c({"-weekend-":this.dp.isWeekend(l),"-other-month-":this.isOtherMonth,"-disabled-":this.isOtherMonth&&!a||d||p});break;case i.months:g=c({"-disabled-":d||p});break;case i.years:g=c({"-other-decade-":this.isOtherDecade,"-disabled-":d||this.isOtherDecade&&!n||p})}return c(m,g,null===(t=this.customData)||void 0===t?void 0:t.classes)}_getHtml(){var e;let{year:t,month:s,date:a}=o(this.date),{showOtherMonths:n,showOtherYears:r}=this.opts;if(null!==(e=this.customData)&&void 0!==e&&e.html)return this.customData.html;switch(this.type){case i.days:return!n&&this.isOtherMonth?"":a;case i.months:return this.dp.locale[this.opts.monthsField][s];case i.years:return!r&&this.isOtherDecade?"":t}}_isOutOfMinMaxRange(){let{minDate:e,maxDate:t}=this.dp,{type:s,date:a}=this,{month:n,year:r,date:h}=o(a),l=s===i.days,d=s===i.years,c=!!e&&new Date(r,d?e.getMonth():n,l?h:e.getDate()),u=!!t&&new Date(r,d?t.getMonth():n,l?h:t.getDate());return e&&t?m(c,e)||p(u,t):e?m(c,e):t?p(u,t):void 0}destroy(){this.unbindDatepickerEvents()}_handleRangeStatus(){let{rangeDateFrom:e,rangeDateTo:t}=this.dp,i=c({"-in-range-":e&&t&&(s=this.date,a=e,n=t,p(s,a)&&m(s,n)),"-range-from-":e&&u(this.date,e,this.type),"-range-to-":t&&u(this.date,t,this.type)});var s,a,n;this.$cell.classList.remove("-range-from-","-range-to-","-in-range-"),i&&this.$cell.classList.add(...i.split(" "))}_handleSelectedStatus(){let e=this.dp._checkIfDateIsSelected(this.date,this.type);e?this.select():!e&&this.selected&&this.removeSelect()}_handleInitialFocusStatus(){u(this.dp.focusDate,this.date,this.type)&&this.focus()}get isDisabled(){return this.$cell.matches(".-disabled-")}get isOtherMonth(){return this.dp.isOtherMonth(this.date)}get isOtherDecade(){return this.dp.isOtherDecade(this.date)}}function M(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let $={[i.days]:'<div class="air-datepicker-body--day-names"></div>'+'<div class="air-datepicker-body--cells -'.concat(i.days,'-"></div>'),[i.months]:'<div class="air-datepicker-body--cells -'.concat(i.months,'-"></div>'),[i.years]:'<div class="air-datepicker-body--cells -'.concat(i.years,'-"></div>')};const S=".air-datepicker-cell";class T{constructor(e){let{dp:t,type:s,opts:a}=e;M(this,"handleClick",(e=>{let t=e.target.closest(S).adpCell;if(t.isDisabled)return;if(!this.dp.isMinViewReached)return void this.dp.down();let i=this.dp._checkIfDateIsSelected(t.date,t.type);i?this.dp._handleAlreadySelectedDates(i,t.date):this.dp.selectDate(t.date)})),M(this,"handleDayNameClick",(e=>{let t=e.target.getAttribute("data-day-index");this.opts.onClickDayName({dayIndex:Number(t),datepicker:this.dp})})),M(this,"onChangeCurrentView",(e=>{e!==this.type?this.hide():(this.show(),this.render())})),M(this,"onMouseOverCell",(e=>{let t=y(e.target,S);this.dp.setFocusDate(!!t&&t.adpCell.date)})),M(this,"onMouseOutCell",(()=>{this.dp.setFocusDate(!1)})),M(this,"onClickBody",(e=>{let{onClickDayName:t}=this.opts,i=e.target;i.closest(S)&&this.handleClick(e),t&&i.closest(".air-datepicker-body--day-name")&&this.handleDayNameClick(e)})),M(this,"onMouseDown",(e=>{this.pressed=!0;let t=y(e.target,S),i=t&&t.adpCell;u(i.date,this.dp.rangeDateFrom)&&(this.rangeFromFocused=!0),u(i.date,this.dp.rangeDateTo)&&(this.rangeToFocused=!0)})),M(this,"onMouseMove",(e=>{if(!this.pressed||!this.dp.isMinViewReached)return;e.preventDefault();let t=y(e.target,S),i=t&&t.adpCell,{selectedDates:s,rangeDateTo:a,rangeDateFrom:n}=this.dp;if(!i||i.isDisabled)return;let{date:r}=i;if(2===s.length){if(this.rangeFromFocused&&!p(r,a)){let{hours:e,minutes:t}=o(n);r.setHours(e),r.setMinutes(t),this.dp.rangeDateFrom=r,this.dp.replaceDate(n,r)}if(this.rangeToFocused&&!m(r,n)){let{hours:e,minutes:t}=o(a);r.setHours(e),r.setMinutes(t),this.dp.rangeDateTo=r,this.dp.replaceDate(a,r)}}})),M(this,"onMouseUp",(()=>{this.pressed=!1,this.rangeFromFocused=!1,this.rangeToFocused=!1})),M(this,"onChangeViewDate",((e,t)=>{if(!this.isVisible)return;let s=d(e),a=d(t);switch(this.dp.currentView){case i.days:if(u(e,t,i.months))return;break;case i.months:if(u(e,t,i.years))return;break;case i.years:if(s[0]===a[0]&&s[1]===a[1])return}this.render()})),M(this,"render",(()=>{this.destroyCells(),this._generateCells(),this.cells.forEach((e=>{this.$cells.appendChild(e.render())}))})),this.dp=t,this.type=s,this.opts=a,this.cells=[],this.$el="",this.pressed=!1,this.isVisible=!0,this.init()}init(){this._buildBaseHtml(),this.type===i.days&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents()}_bindEvents(){let{range:e,dynamicRange:t}=this.opts;v(this.$el,"mouseover",this.onMouseOverCell),v(this.$el,"mouseout",this.onMouseOutCell),v(this.$el,"click",this.onClickBody),e&&t&&(v(this.$el,"mousedown",this.onMouseDown),v(this.$el,"mousemove",this.onMouseMove),v(window.document,"mouseup",this.onMouseUp))}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView)}_buildBaseHtml(){this.$el=n({className:"air-datepicker-body -".concat(this.type,"-"),innerHtml:$[this.type]}),this.$names=a(".air-datepicker-body--day-names",this.$el),this.$cells=a(".air-datepicker-body--cells",this.$el)}_getDayNamesHtml(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dp.locale.firstDay,t="",s=this.dp.isWeekend,{onClickDayName:a}=this.opts,n=e,r=0;for(;r<7;){let e=n%7,h=c("air-datepicker-body--day-name",{[i.cssClassWeekend]:s(e),"-clickable-":!!a}),o=this.dp.locale.daysMin[e];t+='<div class="'.concat(h,"\" data-day-index='").concat(e,"'>").concat(o,"</div>"),r++,n++}return t}_getDaysCells(){let{viewDate:e,locale:{firstDay:t}}=this.dp,i=h(e),{year:s,month:a}=o(e),n=new Date(s,a,1),r=new Date(s,a,i),l=n.getDay()-t,d=6-r.getDay()+t;l=l<0?l+7:l,d=d>6?d-7:d;let c=function(e,t){let{year:i,month:s,date:a}=o(e);return new Date(i,s,a-t)}(n,l),u=i+l+d,p=c.getDate(),{year:m,month:g}=o(c),D=0;for(;D<u;){let e=new Date(m,g,p+D);this._generateCell(e),D++}}_generateCell(e){let{type:t,dp:i,opts:s}=this,a=new _({type:t,dp:i,opts:s,date:e,body:this});return this.cells.push(a),a}_generateDayCells(){this._getDaysCells()}_generateMonthCells(){let{year:e}=this.dp.parsedViewDate,t=0;for(;t<12;)this.cells.push(this._generateCell(new Date(e,t))),t++}_generateYearCells(){let e=d(this.dp.viewDate),t=e[0]-1,i=e[1]+1,s=t;for(;s<=i;)this.cells.push(this._generateCell(new Date(s,0))),s++}renderDayNames(){this.$names.innerHTML=this._getDayNamesHtml()}_generateCells(){switch(this.type){case i.days:this._generateDayCells();break;case i.months:this._generateMonthCells();break;case i.years:this._generateYearCells()}}show(){this.isVisible=!0,this.$el.classList.remove("-hidden-")}hide(){this.isVisible=!1,this.$el.classList.add("-hidden-")}destroyCells(){this.cells.forEach((e=>e.destroy())),this.cells=[],this.$cells.innerHTML=""}destroy(){this.destroyCells(),this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView)}}function F(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class V{constructor(e){let{dp:t,opts:i}=e;F(this,"onClickNav",(e=>{let t=y(e.target,".air-datepicker-nav--action");if(!t)return;let i=t.dataset.action;this.dp[i]()})),F(this,"onChangeViewDate",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),F(this,"onChangeCurrentView",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),F(this,"onClickNavTitle",(()=>{this.dp.isFinalView||this.dp.up()})),F(this,"update",(()=>{let{prevHtml:e,nextHtml:t}=this.opts;this.$prev.innerHTML=e,this.$next.innerHTML=t,this._resetNavStatus(),this.render(),this.handleNavStatus()})),F(this,"renderDelay",(()=>{setTimeout(this.render)})),F(this,"render",(()=>{this.$title.innerHTML=this._getTitle(),function(e,t){for(let i in t)t[i]?e.classList.add(i):e.classList.remove(i)}(this.$title,{"-disabled-":this.dp.isFinalView})})),this.dp=t,this.opts=i,this.init()}init(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents()}_defineDOM(){this.$title=a(".air-datepicker-nav--title",this.$el),this.$prev=a('[data-action="prev"]',this.$el),this.$next=a('[data-action="next"]',this.$el)}_bindEvents(){this.$el.addEventListener("click",this.onClickNav),this.$title.addEventListener("click",this.onClickNavTitle)}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(i.eventChangeTime,this.render))}destroy(){this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(i.eventChangeTime,this.render))}_createElement(){this.$el=n({tagName:"nav",className:"air-datepicker-nav"})}_getTitle(){let{dp:e,opts:t}=this,i=t.navTitles[e.currentView];return"function"==typeof i?i(e):e.formatDate(e.viewDate,i)}handleNavStatus(){let{disableNavWhenOutOfRange:e}=this.opts,{minDate:t,maxDate:s}=this.dp;if(!t&&!s||!e)return;let{year:a,month:n}=this.dp.parsedViewDate,r=!!t&&o(t),h=!!s&&o(s);switch(this.dp.currentView){case i.days:t&&r.month>=n&&r.year>=a&&this._disableNav("prev"),s&&h.month<=n&&h.year<=a&&this._disableNav("next");break;case i.months:t&&r.year>=a&&this._disableNav("prev"),s&&h.year<=a&&this._disableNav("next");break;case i.years:{let e=d(this.dp.viewDate);t&&r.year>=e[0]&&this._disableNav("prev"),s&&h.year<=e[1]&&this._disableNav("next");break}}}_disableNav(e){a('[data-action="'+e+'"]',this.$el).classList.add("-disabled-")}_resetNavStatus(){!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];e.length?e.forEach((e=>{e.classList.remove(...i)})):e.classList.remove(...i)}(this.$el.querySelectorAll(".air-datepicker-nav--action"),"-disabled-")}_buildBaseHtml(){let{prevHtml:e,nextHtml:t}=this.opts;this.$el.innerHTML='<div class="air-datepicker-nav--action" data-action="prev">'.concat(e,"</div>")+'<div class="air-datepicker-nav--title"></div>'+'<div class="air-datepicker-nav--action" data-action="next">'.concat(t,"</div>")}get isNavIsFunction(){let{navTitles:e}=this.opts;return Object.keys(e).find((t=>"function"==typeof e[t]))}}var x={today:{content:e=>e.locale.today,onClick:e=>e.setViewDate(new Date)},clear:{content:e=>e.locale.clear,onClick:e=>e.clear()}};class H{constructor(e){let{dp:t,opts:i}=e;this.dp=t,this.opts=i,this.init()}init(){this.createElement(),this.render()}createElement(){this.$el=n({className:"air-datepicker-buttons"})}destroy(){this.$el.parentNode.removeChild(this.$el)}clearHtml(){return this.$el.innerHTML="",this}generateButtons(){let{buttons:e}=this.opts;Array.isArray(e)||(e=[e]),e.forEach((e=>{let t=e;"string"==typeof e&&x[e]&&(t=x[e]);let i=this.createButton(t);t.onClick&&this.attachEventToButton(i,t.onClick),this.$el.appendChild(i)}))}attachEventToButton(e,t){e.addEventListener("click",(()=>{t(this.dp)}))}createButton(e){let{content:t,className:i,tagName:s="button",attrs:a={}}=e,r="function"==typeof t?t(this.dp):t;return n({tagName:s,innerHtml:"<span tabindex='-1'>".concat(r,"</span>"),className:c("air-datepicker-button",i),attrs:a})}render(){this.generateButtons()}}function L(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class O{constructor(){let{opts:e,dp:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};L(this,"toggleTimepickerIsActive",(e=>{this.dp.timepickerIsActive=e})),L(this,"onChangeSelectedDate",(e=>{let{date:t,updateTime:i=!1}=e;t&&(this.setMinMaxTime(t),this.setCurrentTime(!!i&&t),this.addTimeToDate(t))})),L(this,"onChangeLastSelectedDate",(e=>{e&&(this.setTime(e),this.render())})),L(this,"onChangeInputRange",(e=>{let t=e.target;this[t.getAttribute("name")]=t.value,this.updateText(),this.dp.trigger(i.eventChangeTime,{hours:this.hours,minutes:this.minutes})})),L(this,"onMouseEnterLeave",(e=>{let t=e.target.getAttribute("name"),i=this.$minutesText;"hours"===t&&(i=this.$hoursText),i.classList.toggle("-focus-")})),L(this,"onFocus",(()=>{this.toggleTimepickerIsActive(!0)})),L(this,"onBlur",(()=>{this.toggleTimepickerIsActive(!1)})),this.opts=e,this.dp=t;let{timeFormat:s}=this.dp.locale;s&&(s.match(k("h"))||s.match(k("hh")))&&(this.ampm=!0),this.init()}init(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents()}bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate)}bindDOMEvents(){let e="input";navigator.userAgent.match(/trident/gi)&&(e="change"),v(this.$ranges,e,this.onChangeInputRange),v(this.$ranges,"mouseenter",this.onMouseEnterLeave),v(this.$ranges,"mouseleave",this.onMouseEnterLeave),v(this.$ranges,"focus",this.onFocus),v(this.$ranges,"mousedown",this.onFocus),v(this.$ranges,"blur",this.onBlur)}createElement(){this.$el=n({className:c("air-datepicker-time",{"-am-pm-":this.dp.ampm})})}destroy(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el)}buildHtml(){let{ampm:e,hours:t,displayHours:i,minutes:s,minHours:a,minMinutes:n,maxHours:r,maxMinutes:h,dayPeriod:o,opts:{hoursStep:d,minutesStep:c}}=this;this.$el.innerHTML='<div class="air-datepicker-time--current">'+'   <span class="air-datepicker-time--current-hours">'.concat(l(i),"</span>")+'   <span class="air-datepicker-time--current-colon">:</span>'+'   <span class="air-datepicker-time--current-minutes">'.concat(l(s),"</span>")+"   ".concat(e?"<span class='air-datepicker-time--current-ampm'>".concat(o,"</span>"):"")+'</div><div class="air-datepicker-time--sliders">   <div class="air-datepicker-time--row">'+'      <input type="range" name="hours" value="'.concat(t,'" min="').concat(a,'" max="').concat(r,'" step="').concat(d,'"/>')+'   </div>   <div class="air-datepicker-time--row">'+'      <input type="range" name="minutes" value="'.concat(s,'" min="').concat(n,'" max="').concat(h,'" step="').concat(c,'"/>')+"   </div></div>"}defineDOM(){let e=e=>a(e,this.$el);this.$ranges=this.$el.querySelectorAll('[type="range"]'),this.$hours=e('[name="hours"]'),this.$minutes=e('[name="minutes"]'),this.$hoursText=e(".air-datepicker-time--current-hours"),this.$minutesText=e(".air-datepicker-time--current-minutes"),this.$ampm=e(".air-datepicker-time--current-ampm")}setTime(e){this.setMinMaxTime(e),this.setCurrentTime(e)}addTimeToDate(e){e&&(e.setHours(this.hours),e.setMinutes(this.minutes))}setMinMaxTime(e){if(this.setMinMaxTimeFromOptions(),e){let{minDate:t,maxDate:i}=this.dp;t&&u(e,t)&&this.setMinTimeFromMinDate(t),i&&u(e,i)&&this.setMaxTimeFromMaxDate(i)}}setCurrentTime(e){let{hours:t,minutes:i}=e?o(e):this;this.hours=f(t,this.minHours,this.maxHours),this.minutes=f(i,this.minMinutes,this.maxMinutes)}setMinMaxTimeFromOptions(){let{minHours:e,minMinutes:t,maxHours:i,maxMinutes:s}=this.opts;this.minHours=f(e,0,23),this.minMinutes=f(t,0,59),this.maxHours=f(i,0,23),this.maxMinutes=f(s,0,59)}setMinTimeFromMinDate(e){let{lastSelectedDate:t}=this.dp;this.minHours=e.getHours(),t&&t.getHours()>e.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=e.getMinutes()}setMaxTimeFromMaxDate(e){let{lastSelectedDate:t}=this.dp;this.maxHours=e.getHours(),t&&t.getHours()<e.getHours()?this.maxMinutes=this.opts.maxMinutes:this.maxMinutes=e.getMinutes()}getDayPeriod(e,t){let i=e,s=Number(e);e instanceof Date&&(i=o(e),s=Number(i.hours));let a="am";if(t||this.ampm){switch(!0){case 12===s:case s>11:a="pm"}s=s%12==0?12:s%12}return{hours:s,dayPeriod:a}}updateSliders(){r(this.$hours,{min:this.minHours,max:this.maxHours}).value=this.hours,r(this.$minutes,{min:this.minMinutes,max:this.maxMinutes}).value=this.minutes}updateText(){this.$hoursText.innerHTML=l(this.displayHours),this.$minutesText.innerHTML=l(this.minutes),this.ampm&&(this.$ampm.innerHTML=this.dayPeriod)}set hours(e){this._hours=e;let{hours:t,dayPeriod:i}=this.getDayPeriod(e);this.displayHours=t,this.dayPeriod=i}get hours(){return this._hours}render(){this.updateSliders(),this.updateText()}}function E(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class A{constructor(e){let{dp:t,opts:i}=e;E(this,"pressedKeys",new Set),E(this,"hotKeys",new Map([[[["Control","ArrowRight"],["Control","ArrowUp"]],e=>e.month++],[[["Control","ArrowLeft"],["Control","ArrowDown"]],e=>e.month--],[[["Shift","ArrowRight"],["Shift","ArrowUp"]],e=>e.year++],[[["Shift","ArrowLeft"],["Shift","ArrowDown"]],e=>e.year--],[[["Alt","ArrowRight"],["Alt","ArrowUp"]],e=>e.year+=10],[[["Alt","ArrowLeft"],["Alt","ArrowDown"]],e=>e.year-=10],[["Control","Shift","ArrowUp"],(e,t)=>t.up()]])),E(this,"handleHotKey",(e=>{let t=this.hotKeys.get(e),i=o(this.getInitialFocusDate());t(i,this.dp);let{year:s,month:a,date:n}=i,r=h(new Date(s,a));r<n&&(n=r);let l=this.dp.getClampedDate(new Date(s,a,n));this.dp.setFocusDate(l,{viewDateTransition:!0})})),E(this,"isHotKeyPressed",(()=>{let e=!1,t=this.pressedKeys.size,i=e=>this.pressedKeys.has(e);for(let[s]of this.hotKeys){if(e)break;if(Array.isArray(s[0]))s.forEach((a=>{e||t!==a.length||(e=a.every(i)&&s)}));else{if(t!==s.length)continue;e=s.every(i)&&s}}return e})),E(this,"isArrow",(e=>e>=37&&e<=40)),E(this,"onKeyDown",(e=>{let{key:t,which:i}=e,{dp:s,dp:{focusDate:a},opts:n}=this;this.registerKey(t);let r=this.isHotKeyPressed();if(r)return e.preventDefault(),void this.handleHotKey(r);if(this.isArrow(i))return e.preventDefault(),void this.focusNextCell(t);if("Enter"===t){if(s.currentView!==n.minView)return void s.down();if(a){let e=s._checkIfDateIsSelected(a);return void(e?s._handleAlreadySelectedDates(e,a):s.selectDate(a))}}"Escape"===t&&this.dp.hide()})),E(this,"onKeyUp",(e=>{this.removeKey(e.key)})),this.dp=t,this.opts=i,this.init()}init(){this.bindKeyboardEvents()}bindKeyboardEvents(){let{$el:e}=this.dp;e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp)}destroy(){let{$el:e}=this.dp;e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}getInitialFocusDate(){let{focusDate:e,currentView:t,selectedDates:s,parsedViewDate:{year:a,month:n}}=this.dp,r=e||s[s.length-1];if(!r)switch(t){case i.days:r=new Date(a,n,(new Date).getDate());break;case i.months:r=new Date(a,n,1);break;case i.years:r=new Date(a,0,1)}return r}focusNextCell(e){let t=this.getInitialFocusDate(),{currentView:s}=this.dp,{days:a,months:n,years:r}=i,h=o(t),l=h.year,d=h.month,c=h.date;switch(e){case"ArrowLeft":s===a&&(c-=1),s===n&&(d-=1),s===r&&(l-=1);break;case"ArrowUp":s===a&&(c-=7),s===n&&(d-=3),s===r&&(l-=4);break;case"ArrowRight":s===a&&(c+=1),s===n&&(d+=1),s===r&&(l+=1);break;case"ArrowDown":s===a&&(c+=7),s===n&&(d+=3),s===r&&(l+=4)}let u=this.dp.getClampedDate(new Date(l,d,c));this.dp.setFocusDate(u,{viewDateTransition:!0})}registerKey(e){this.pressedKeys.add(e)}removeKey(e){this.pressedKeys.delete(e)}}let N={on(e,t){this.__events||(this.__events={}),this.__events[e]?this.__events[e].push(t):this.__events[e]=[t]},off(e,t){this.__events&&this.__events[e]&&(this.__events[e]=this.__events[e].filter((e=>e!==t)))},removeAllEvents(){this.__events={}},trigger(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];this.__events&&this.__events[e]&&this.__events[e].forEach((e=>{e(...i)}))}};function I(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let R="",P="",B="",K=!1;class j{constructor(e,t){var r=this;if(I(this,"viewIndexes",[i.days,i.months,i.years]),I(this,"next",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t+1,1));break;case i.months:this.setViewDate(new Date(e+1,t,1));break;case i.years:this.setViewDate(new Date(e+10,0,1))}})),I(this,"prev",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t-1,1));break;
6088case i.months:this.setViewDate(new Date(e-1,t,1));break;case i.years:this.setViewDate(new Date(e-10,0,1))}})),I(this,"_finishHide",(()=>{this.hideAnimation=!1,this._destroyComponents(),this.$container.removeChild(this.$datepicker)})),I(this,"setPosition",(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("function"==typeof(e=e||r.opts.position))return void(r.customHide=e({$datepicker:r.$datepicker,$target:r.$el,$pointer:r.$pointer,isViewChange:t,done:r._finishHide}));let i,s,{isMobile:a}=r.opts,n=r.$el.getBoundingClientRect(),h=r.$el.getBoundingClientRect(),o=r.$datepicker.offsetParent,l=r.$el.offsetParent,d=r.$datepicker.getBoundingClientRect(),c=e.split(" "),u=window.scrollY,p=window.scrollX,m=r.opts.offset,g=c[0],D=c[1];if(a)r.$datepicker.style.cssText="left: 50%; top: 50%";else{if(o===l&&o!==document.body&&(h={top:r.$el.offsetTop,left:r.$el.offsetLeft,width:n.width,height:r.$el.offsetHeight},u=0,p=0),o!==l&&o!==document.body){let e=o.getBoundingClientRect();h={top:n.top-e.top,left:n.left-e.left,width:n.width,height:n.height},u=0,p=0}switch(g){case"top":i=h.top-d.height-m;break;case"right":s=h.left+h.width+m;break;case"bottom":i=h.top+h.height+m;break;case"left":s=h.left-d.width-m}switch(D){case"top":i=h.top;break;case"right":s=h.left+h.width-d.width;break;case"bottom":i=h.top+h.height-d.height;break;case"left":s=h.left;break;case"center":/left|right/.test(g)?i=h.top+h.height/2-d.height/2:s=h.left+h.width/2-d.width/2}r.$datepicker.style.cssText="left: ".concat(s+p,"px; top: ").concat(i+u,"px")}})),I(this,"_setInputValue",(()=>{let{opts:e,$altField:t,locale:{dateFormat:i}}=this,{altFieldDateFormat:s,altField:a}=e;a&&t&&(t.value=this._getInputValue(s)),this.$el.value=this._getInputValue(i)})),I(this,"_getInputValue",(e=>{let{selectedDates:t,opts:i}=this,{multipleDates:s,multipleDatesSeparator:a}=i;if(!t.length)return"";let n="function"==typeof e,r=n?e(s?t:t[0]):t.map((t=>this.formatDate(t,e)));return r=n?r:r.join(a),r})),I(this,"_checkIfDateIsSelected",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.days,s=!1;return r.selectedDates.some((i=>{let a=u(e,i,t);return s=a&&i,a})),s})),I(this,"_scheduleCallAfterTransition",(e=>{this._cancelScheduledCall(),e&&e(!1),this._onTransitionEnd=()=>{e&&e(!0)},this.$datepicker.addEventListener("transitionend",this._onTransitionEnd,{once:!0})})),I(this,"_cancelScheduledCall",(()=>{this.$datepicker.removeEventListener("transitionend",this._onTransitionEnd)})),I(this,"setViewDate",(e=>{if(!((e=b(e))instanceof Date))return;if(u(e,this.viewDate))return;let t=this.viewDate;this.viewDate=e;let{onChangeViewDate:s}=this.opts;if(s){let{month:e,year:t}=this.parsedViewDate;s({month:e,year:t,decade:this.curDecade})}this.trigger(i.eventChangeViewDate,e,t)})),I(this,"setFocusDate",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(!e||(e=b(e))instanceof Date)&&(r.focusDate=e,r.opts.range&&e&&r._handleRangeOnFocus(),r.trigger(i.eventChangeFocusDate,e,t))})),I(this,"setCurrentView",(e=>{if(this.viewIndexes.includes(e)){if(this.currentView=e,this.elIsInput&&this.visible&&this.setPosition(void 0,!0),this.trigger(i.eventChangeCurrentView,e),!this.views[e]){let t=this.views[e]=new T({dp:this,opts:this.opts,type:e});this.shouldUpdateDOM&&this.$content.appendChild(t.$el)}this.opts.onChangeView&&this.opts.onChangeView(e)}})),I(this,"_updateLastSelectedDate",(e=>{this.lastSelectedDate=e,this.trigger(i.eventChangeLastSelectedDate,e)})),I(this,"destroy",(()=>{let{showEvent:e,isMobile:t}=this.opts,i=this.$datepicker.parentNode;i&&i.removeChild(this.$datepicker),this.$el.removeEventListener(e,this._onFocus),this.$el.removeEventListener("blur",this._onBlur),window.removeEventListener("resize",this._onResize),t&&this._removeMobileAttributes(),this.keyboardNav&&this.keyboardNav.destroy(),this.views=null,this.nav=null,this.$datepicker=null,this.opts=null,this.$customContainer=null,this.viewDate=null,this.focusDate=null,this.selectedDates=null,this.rangeDateFrom=null,this.rangeDateTo=null})),I(this,"update",(e=>{let t=w({},this.opts);w(this.opts,e);let{timepicker:s,buttons:a,range:n,selectedDates:r,isMobile:h}=this.opts,o=this.visible||this.treatAsInline;this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this._handleLocale(),!t.selectedDates&&r&&this.selectDate(r),e.view&&this.setCurrentView(e.view),this._setInputValue(),t.range&&!n?(this.rangeDateTo=!1,this.rangeDateFrom=!1):!t.range&&n&&this.selectedDates.length&&(this.rangeDateFrom=this.selectedDates[0],this.rangeDateTo=this.selectedDates[1]),t.timepicker&&!s?(o&&this.timepicker.destroy(),this.timepicker=!1,this.$timepicker.parentNode.removeChild(this.$timepicker)):!t.timepicker&&s&&this._addTimepicker(),!t.buttons&&a?this._addButtons():t.buttons&&!a?(this.buttons.destroy(),this.$buttons.parentNode.removeChild(this.$buttons)):o&&t.buttons&&a&&this.buttons.clearHtml().render(),!t.isMobile&&h?(this.treatAsInline||B||this._createMobileOverlay(),this._addMobileAttributes(),this.visible&&this._showMobileOverlay()):t.isMobile&&!h&&(this._removeMobileAttributes(),this.visible&&(B.classList.remove("-active-"),"function"!=typeof this.opts.position&&this.setPosition())),o&&(this.nav.update(
vendor: 8,782 bytes, line 6088
6088),this.views[this.currentView].render(),this.currentView===i.days&&this.views[this.currentView].renderDayNames())})),I(this,"isOtherMonth",(e=>{let{month:t}=o(e);return t!==this.parsedViewDate.month})),I(this,"isOtherYear",(e=>{let{year:t}=o(e);return t!==this.parsedViewDate.year})),I(this,"isOtherDecade",(e=>{let{year:t}=o(e),[i,s]=d(this.viewDate);return t<i||t>s})),I(this,"_onChangeSelectedDate",(e=>{let{silent:t}=e;setTimeout((()=>{this._setInputValue(),this.opts.onSelect&&!t&&this._triggerOnSelect()}))})),I(this,"_onChangeFocusedDate",(function(e){let{viewDateTransition:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return;let i=!1;t&&(i=r.isOtherMonth(e)||r.isOtherYear(e)||r.isOtherDecade(e)),i&&r.setViewDate(e)})),I(this,"_onChangeTime",(e=>{let{hours:t,minutes:i}=e,s=new Date,{lastSelectedDate:a,opts:{onSelect:n}}=this,r=a;a||(r=s);let h=this.getCell(r,this.currentViewSingular),o=h&&h.adpCell;o&&o.isDisabled||(r.setHours(t),r.setMinutes(i),a?(this._setInputValue(),n&&this._triggerOnSelect()):this.selectDate(r))})),I(this,"_onFocus",(e=>{this.visible||this.show()})),I(this,"_onBlur",(e=>{this.inFocus||!this.visible||this.opts.isMobile||this.hide()})),I(this,"_onMouseDown",(e=>{this.inFocus=!0})),I(this,"_onMouseUp",(e=>{this.inFocus=!1,this.$el.focus()})),I(this,"_onResize",(()=>{this.visible&&"function"!=typeof this.opts.position&&this.setPosition()})),I(this,"_onClickOverlay",(()=>{this.visible&&this.hide()})),I(this,"isWeekend",(e=>this.opts.weekends.includes(e))),I(this,"getClampedDate",(e=>{let{minDate:t,maxDate:i}=this,s=e;return i&&p(e,i)?s=i:t&&m(e,t)&&(s=t),s})),this.$el=a(e),!this.$el)return;this.$datepicker=n({className:"air-datepicker"}),this.opts=w({},s,t),this.$customContainer=!!this.opts.container&&a(this.opts.container),this.$altField=a(this.opts.altField||!1),R||(R=a("body"));let{view:h,startDate:l}=this.opts;l||(this.opts.startDate=new Date),"INPUT"===this.$el.nodeName&&(this.elIsInput=!0),this.inited=!1,this.visible=!1,this.viewDate=b(this.opts.startDate),this.focusDate=!1,this.initialReadonly=this.$el.getAttribute("readonly"),this.customHide=!1,this.currentView=h,this.selectedDates=[],this.views={},this.keys=[],this.rangeDateFrom="",this.rangeDateTo="",this.timepickerIsActive=!1,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init()}init(){let{opts:e,treatAsInline:t,opts:{inline:i,isMobile:s,selectedDates:a,keyboardNav:r,onlyTimepicker:h}}=this;var o;K||i||!this.elIsInput||(K=!0,P=n({className:o=j.defaultContainerId,id:o}),R.appendChild(P)),!s||B||t||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(i||this._bindEvents(),r&&!h&&(this.keyboardNav=new A({dp:this,opts:e}))),a&&this.selectDate(a,{silent:!0}),this.opts.visible&&!t&&this.show(),s&&!t&&this.$el.setAttribute("readonly",!0),t&&this._createComponents()}_createMobileOverlay(){B=n({className:"air-datepicker-overlay"}),P.appendChild(B)}_createComponents(){let{opts:e,treatAsInline:t,opts:{inline:i,buttons:s,timepicker:a,position:n,classes:r,onlyTimepicker:h,isMobile:o}}=this;this._buildBaseHtml(),this.elIsInput&&(i||this._setPositionClasses(n)),!i&&this.elIsInput||this.$datepicker.classList.add("-inline-"),r&&this.$datepicker.classList.add(...r.split(" ")),h&&this.$datepicker.classList.add("-only-timepicker-"),o&&!t&&this._addMobileAttributes(),this.views[this.currentView]=new T({dp:this,type:this.currentView,opts:e}),this.nav=new V({dp:this,opts:e}),a&&this._addTimepicker(),s&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el)}_destroyComponents(){for(let e in this.views)this.views[e].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy()}_addMobileAttributes(){B.addEventListener("click",this._onClickOverlay),this.$datepicker.classList.add("-is-mobile-"),this.$el.setAttribute("readonly",!0)}_removeMobileAttributes(){B.removeEventListener("click",this._onClickOverlay),this.$datepicker.classList.remove("-is-mobile-"),this.initialReadonly||""===this.initialReadonly||this.$el.removeAttribute("readonly")}_createMinMaxDates(){let{minDate:e,maxDate:t}=this.opts;this.minDate=!!e&&b(e),this.maxDate=!!t&&b(t)}_addTimepicker(){this.$timepicker=n({className:"air-datepicker--time"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new O({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el)}_addButtons(){this.$buttons=n({className:"air-datepicker--buttons"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new H({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el)}_bindSubEvents(){this.on(i.eventChangeSelectedDate,this._onChangeSelectedDate),this.on(i.eventChangeFocusDate,this._onChangeFocusedDate),this.on(i.eventChangeTime,this._onChangeTime)}_buildBaseHtml(){let{inline:e}=this.opts;var t,i;this.elIsInput?e?(t=this.$datepicker,(i=this.$el).parentNode.insertBefore(t,i.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='<i class="air-datepicker--pointer"></i><div class="air-datepicker--navigation"></div><div class="air-datepicker--content"></div>',this.$content=a(".air-datepicker--content",this.$datepicker),this.$pointer=a(".air-datepicker--pointer",this.$datepicker),this.$nav=a(".air-datepicker--navigation",this.$datepicker)}_handleLocale(){let{locale:e,dateFormat:t,firstDay:i,timepicker:s,onlyTimepicker:a,timeFormat:n,dateTimeSeparator:r}=this.opts;var h;this.locale=(h=e,JSON.parse(JSON.stringify(h))),t&&(this.locale.dateFormat=t),void 0!==n&&""!==n&&(this.locale.timeFormat=n);let{timeFormat:o}=this.locale;if(""!==i&&(this.locale.firstDay=i),s&&"function"!=typeof t){let e=o?r:"";this.locale.dateFormat=[this.locale.dateFormat,o||""].join(e)}a&&"function"!=typeof t&&(this.locale.dateFormat=this.locale.timeFormat)}_setPositionClasses(e){if("function"==typeof e)return void this.$datepicker.classList.add("-custom-position-");let t=(e=e.split(" "))[0],i=e[1],s="air-datepicker -".concat(t,"-").concat(i,"- -from-").concat(t,"-");this.$datepicker.classList.add(...s.split(" "))}_bindEvents(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener("blur",this._onBlur),this.$datepicker.addEventListener("mousedown",this._onMouseDown),this.$datepicker.addEventListener("mouseup",this._onMouseUp),window.addEventListener("resize",this._onResize)}_limitViewDateByMaxMinDates(){let{viewDate:e,minDate:t,maxDate:i}=this;i&&p(e,i)&&this.setViewDate(i),t&&m(e,t)&&this.setViewDate(t)}formatDate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.viewDate,t=arguments.length>1?arguments[1]:void 0;if(e=b(e),!(e instanceof Date))return;let i=t,s=this.locale,a=o(e),n=d(e),r=j.replacer,h="am";this.opts.timepicker&&this.timepicker&&(h=this.timepicker.getDayPeriod(e).dayPeriod);let l={T:e.getTime(),m:a.minutes,mm:a.fullMinutes,h:a.hours12,hh:a.fullHours12,H:a.hours,HH:a.fullHours,aa:h,AA:h.toUpperCase(),E:s.daysShort[a.day],EEEE:s.days[a.day],d:a.date,dd:a.fullDate,M:a.month+1,MM:a.fullMonth,MMM:s.monthsShort[a.month],MMMM:s.months[a.month],yy:a.year.toString().slice(-2),yyyy:a.year,yyyy1:n[0],yyyy2:n[1]};for(let[e,t]of Object.entries(l))i=r(i,k(e),t);return i}down(e){this._handleUpDownActions(e,"down")}up(e){this._handleUpDownActions(e,"up")}selectDate(e){let t,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{currentView:a,parsedViewDate:n,selectedDates:r}=this,{updateTime:h}=s,{moveToOtherMonthsOnSelect:o,moveToOtherYearsOnSelect:l,multipleDates:d,range:c,autoClose:u}=this.opts,m=r.length;if(Array.isArray(e))return e.forEach((e=>{this.selectDate(e,s)})),new Promise((e=>{setTimeout(e)}));if((e=b(e))instanceof Date){if(a===i.days&&e.getMonth()!==n.month&&o&&(t=new Date(e.getFullYear(),e.getMonth(),1)),a===i.years&&e.getFullYear()!==n.year&&l&&(t=new Date(e.getFullYear(),0,1)),t&&this.setViewDate(t),d&&!c){if(m===d)return;this._checkIfDateIsSelected(e)||r.push(e)}else if(c)switch(m){case 1:r.push(e),this.rangeDateTo||(this.rangeDateTo=e),p(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=e),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[e],this.rangeDateFrom=e,this.rangeDateTo="";break;default:this.selectedDates=[e],this.rangeDateFrom=e}else this.selectedDates=[e];return this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,silent:null==s?void 0:s.silent,date:e,updateTime:h}),this._updateLastSelectedDate(e),u&&!this.timepickerIsActive&&this.visible&&(d||c?c&&1===m&&this.hide():this.hide()),new Promise((e=>{setTimeout(e)}))}}unselectDate(e){let t=this.selectedDates,s=this;
6088if((e=b(e))instanceof Date)return t.some(((a,n)=>{if(u(a,e))return t.splice(n,1),s.selectedDates.length?s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length-1]):(s.rangeDateFrom="",s.rangeDateTo="",s._updateLastSelectedDate(!1)),this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,date:e}),!0}))}replaceDate(e,t){let s=this.selectedDates.find((t=>u(t,e,this.currentView))),a=this.selectedDates.indexOf(s);a<0||u(this.selectedDates[a],t,this.currentView)||(this.selectedDates[a]=t,this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,date:t,updateTime:!0}),this._updateLastSelectedDate(t))}clear(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.selectedDates=[],this.rangeDateFrom=!1,this.rangeDateTo=!1,this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,silent:e.silent}),new Promise((e=>{setTimeout(e)}))}show(){let{onShow:e,isMobile:t}=this.opts;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add("-active-"),this.visible=!0,e&&this._scheduleCallAfterTransition(e),t&&this._showMobileOverlay()}hide(){let{onHide:e,isMobile:t}=this.opts,i=this._hasTransition();this.visible=!1,this.hideAnimation=!0,this.$datepicker.classList.remove("-active-"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition((t=>{!this.customHide&&(t&&i||!t&&!i)&&this._finishHide(),e&&e(t)})),t&&B.classList.remove("-active-")}_triggerOnSelect(){let e=[],t=[],{selectedDates:i,locale:s,opts:{onSelect:a,multipleDates:n,range:r}}=this,h=n||r,o="function"==typeof s.dateFormat;i.length&&(e=i.map(g),t=o?n?s.dateFormat(e):e.map((e=>s.dateFormat(e))):e.map((e=>this.formatDate(e,s.dateFormat)))),a({date:h?e:e[0],formattedDate:h?t:t[0],datepicker:this})}_handleAlreadySelectedDates(e,t){let{range:i,toggleSelected:s}=this.opts;i?s?this.unselectDate(t):2!==this.selectedDates.length&&this.selectDate(t):s&&this.unselectDate(t),s||this._updateLastSelectedDate(e)}_handleUpDownActions(e,t){if(!((e=b(e||this.focusDate||this.viewDate))instanceof Date))return;let i="up"===t?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2),i<0&&(i=0),this.setViewDate(new Date(e.getFullYear(),e.getMonth(),1)),this.setCurrentView(this.viewIndexes[i])}_handleRangeOnFocus(){1===this.selectedDates.length&&(p(this.selectedDates[0],this.focusDate)?(this.rangeDateTo=this.selectedDates[0],this.rangeDateFrom=this.focusDate):(this.rangeDateTo=this.focusDate,this.rangeDateFrom=this.selectedDates[0]))}getCell(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.day;if(!((e=b(e))instanceof Date))return;let{year:s,month:a,date:n}=o(e),r='[data-year="'.concat(s,'"]'),h='[data-month="'.concat(a,'"]'),l='[data-date="'.concat(n,'"]'),d={[i.day]:"".concat(r).concat(h).concat(l),[i.month]:"".concat(r).concat(h),[i.year]:"".concat(r)};return this.views[this.currentView].$el.querySelector(d[t])}_showMobileOverlay(){B.classList.add("-active-")}_hasTransition(){return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((e,t)=>parseFloat(t)+e),0)>0}get shouldUpdateDOM(){return this.visible||this.treatAsInline}get parsedViewDate(){return o(this.viewDate)}get currentViewSingular(){return this.currentView.slice(0,-1)}get curDecade(){return d(this.viewDate)}get viewIndex(){return this.viewIndexes.indexOf(this.currentView)}get isFinalView(){return this.currentView===i.years}get hasSelectedDates(){return this.selectedDates.length>0}get isMinViewReached(){return this.currentView===this.opts.minView||this.currentView===i.days}get $container(){return this.$customContainer||P}static replacer(e,t,i){return e.replace(t,(function(e,t,s,a){return t+i+a}))}}var U;return I(j,"defaults",s),I(j,"version","3.3.0"),I(j,"defaultContainerId","air-datepicker-global-container"),U=j.prototype,Object.assign(U,N),t.default}()}));;
6089
6090//     // Подменный селект
6091function createSelect(wrapper,search_query) {
6092  let select = wrapper.querySelectorAll(search_query);
6093  if (select) {
6094    select.forEach(function (item) {
6095      let $this = item;
6096      // Оборачиваем
6097      let selectWrap = document.createElement('div');
6098      selectWrap.setAttribute("class", "select-box");
6099      $this.parentNode.insertBefore(selectWrap, $this);
6100      $this.setAttribute('style','display:none');
6101      selectWrap.appendChild($this);
6102
6103      // Создаем новый селект
6104      let selectStyled = document.createElement('div');
6105      selectStyled.setAttribute("class", "select-styled");
6106      selectWrap.appendChild(selectStyled);
6107
6108      // Создаем новый список
6109      let options = document.createElement('div');
6110      options.setAttribute("class", "select-options");
6111      selectWrap.appendChild(options);
6112
6113      let optionsList = document.createElement('ul');
6114      options.appendChild(optionsList);
6115
6116      // Добавляем в список пункты
6117      for (let i = 0; i < $this.length; i++) {
6118        let text = $this.options[i].text;
6119        let option = document.createElement('li');
6120        option.innerText = text;
6121        optionsList.appendChild(option);
6122
6123        // Клик на пункт
6124        option.addEventListener("click", function (e) {
6125          option.closest("ul").querySelectorAll("li").forEach(function (item) {
6126            item.classList.remove("choice");
6127          });
6128          option.classList.add("choice");
6129          let text = e.target.innerText;
6130          selectStyled.innerText = text;
6131
6132          selectStyled.classList.remove("active");
6133          options.style.height = '0px';
6134
6135          // Имитируем клик на реальный селект
6136          $this.querySelectorAll("option").forEach(function (item) {
6137            item.removeAttribute("selected");
6138          });
6139          $this.options[i].setAttribute("selected", "selected");
6140          let eventChange = new Event('change', { bubbles: true });
6141          $this.dispatchEvent(eventChange);
6142
6143        });
6144      }
6145      ;
6146
6147      // Выбранный пункт по умолчанию
6148      let startChoice = $this.querySelector("option[selected='selected']");
6149      if (!startChoice) {
6150        // Если по умолчанию нет selected вставить первый пункт
6151        startChoice = $this.querySelector("option");
6152      }
6153      ;
6154      let startText = startChoice.text;
6155      selectStyled.innerText = startText;
6156      let index = startChoice.index;
6157      optionsList.querySelector("li:nth-child(" + (index + 1) + ")").classList.add("choice");
6158
6159
6160      // Клик на селект
6161      selectStyled.addEventListener("click", function (e) {
6162        closeSelects(e);
6163
6164        if (!selectStyled.classList.contains("active")) {
6165          selectStyled.classList.add("active");
6166
6167          options.style.height = 'auto';
6168          let optionsHeight = options.clientHeight + 'px';
6169          options.style.height = '0px';
6170          setTimeout(function () {
6171            options.style.height = optionsHeight;
6172          }, 0);
6173        }
6174        else {
6175          selectStyled.classList.remove("active");
6176          options.style.height = '0px';
6177        }
6178        ;
6179      });
6180    });
6181
6182    // Клик вне селекта
6183    document.addEventListener("click", function (e) {
6184      if (!e.target.matches(".select-styled")) {
6185        closeSelects(e);
6186      }
6187      ;
6188    });
6189
6190    function closeSelects(e) {
6191      if (e.target != document.querySelector(".select-styled.active")) {
6192        document.querySelectorAll(".select-styled.active").forEach(function (item) {
6193          item.classList.remove("active");
6194          item.nextElementSibling.style.height = '0px';
6195        });
6196      }
6197      ;
6198    };
6199  }
6200  ;
6201};
6202
6203document.addEventListener('DOMContentLoaded', function() {
6204
6205/////////////////////
6206//Главная страница//
6207///////////////////
6208
6209  const cookieBlock = document.querySelector('.cookie');
6210  const cookieBtn = document.querySelector('.cookie__btn');
6211
6212  // Проверяем, был ли пользователь уже на сайте
6213  const isVisited = localStorage.getItem('cookieVisited');
6214
6215  if (!isVisited) {
6216    // Если впервые, добавляем класс для отображения
6217    cookieBlock.classList.add('cookie--visible');
6218    // Запоминаем, что пользователь посетил сайт
6219  }
6220
6221  // Обработка клика по кнопке внутри cookie
6222  cookieBtn.addEventListener('click', () => {
6223    cookieBlock.classList.remove('cookie--visible');
6224    localStorage.setItem('cookieVisited', 'true');
6225  });
6226
6227// Открытие и закрытие меню хедера при клике на бургер
6228const burger = document.querySelectorAll('.header__burger'),
6229      menu = document.querySelector('.header__menu');
6230
6231burger.forEach(item => {
6232  item.addEventListener('click', (e) => {
6233    e.preventDefault();
6234    if (menu.classList.contains('active')) {
6235      menu.classList.remove('active');
6236      document.querySelector('body').style.overflow = 'auto';
6237    } else {
6238      menu.classList.add('active');
6239      document.querySelector('body').style.overflow = 'hidden';
6240    }
6241  });
6242});
6243
6244// Запуск видео на главной странице
6245const promoVideo = document.querySelector(".promo__background");
6246if (promoVideo) {
6247  promoVideo.play();
6248}
6249
6250// Всплывающий попап
6251const popup = document.querySelector('.popup'),
6252  popupClose = document.querySelector('.popup__close');
6253
6254if (popup) {
6255  popupClose.addEventListener('click', () => {
6256    popup.classList.remove('active');
6257  })
6258
6259  setTimeout(() => {
6260    popup.classList.add('active');
6261  }, 3000);
6262}
6263
6264// Кнопка читать далее на главной
6265const circle = document.querySelector('.info__circle');
6266
6267if (circle) {
6268  document.querySelector(".main").addEventListener("mousemove", function (e) {
6269    if (e.target.closest('.info__overlay-link')) {
6270      let x = e.offsetX;
6271      let y = e.offsetY;
6272
6273      circle.classList.add("active");
6274
6275      circle.style.left = (x - (circle.offsetWidth / 2)) + 'px';
6276      circle.style.top = (y - (circle.offsetHeight / 2)) + 'px';
6277    } else {
6278      circle.classList.remove('active');
6279    };
6280  });
6281}
6282
6283// Свайпер на главной
6284// const infoSwiper = new Swiper('.info__swiper', {
6285//   slidesPerView: "auto",
6286//   centeredSlides: true,
6287//   spaceBetween: 15,
6288//   direction: 'horizontal',
6289//   loop: true,
6290//   navigation: {
6291//     nextEl: ".swiper-button-next",
6292//     prevEl: ".swiper-button-prev",
6293//   },
6294//   breakpoints: {
6295//     1100: {
6296//       spaceBetween: 155
6297//     },
6298//     600: {
6299//       spaceBetween: 90
6300//     }
6301//   },
6302//   speed: 900
6303// })
6304
6305// const animatedLinks = document.querySelectorAll('.an-link');
6306
6307// animatedLinks.forEach(item => {
6308//   item.addEventListener('mouseleave', () => {
6309//     setTimeout(() => {item.classList.add('animated');}, 300);
6310//     setTimeout(() => {item.classList.remove('animated');}, 1300);
6311//   })
6312// })
6313
6314// Аккордеон в мобильном меню хедера
6315const accordionItems = document.querySelectorAll(".header__subtitle");
6316
6317function openHedAcc(i) {
6318  i.classList.add("active");
6319  i.parentElement.classList.add('active');
6320  let itemContent = i.nextElementSibling;
6321  itemContent.style.height = 'auto';
6322  let height = itemContent.clientHeight + 'px';
6323  itemContent.style.height = '0px';
6324  setTimeout(function () {
6325    itemContent.style.height = height;
6326  }, 0);
6327}
6328
6329function closeHedAcc(i) {
6330  i.classList.remove("active");
6331  i.parentElement.classList.remove('active');
6332  let height = i.nextElementSibling.clientHeight + 'px';
6333  i.nextElementSibling.style.height = height;
6334  setTimeout(function () {
6335    i.nextElementSibling.style.height = '0px';
6336  }, 0);
6337}
6338
6339if (window.screen.width < 1000) {
6340
6341  if (accordionItems.length != 0) {
6342
6343    // Обработчик клика
6344    if (accordionItems) {
6345      accordionItems.forEach(function (item) {
6346        item.addEventListener("click", function (e) {
6347          if (!item.classList.contains('active')) {
6348
6349            // Открываем выбранный пункт
6350            openHedAcc(item);
6351
6352          } else {
6353
6354            // Закрываем выбранный пункт
6355            closeHedAcc(item);
6356          };
6357        });
6358      });
6359    };
6360
6361  }
6362}
6363
6364// Кнопка скролла к началу страницы
6365const btnUp = document.querySelector('.scroll-up');
6366
6367if (btnUp) {
6368  document.addEventListener('scroll', (e) => {
6369    if (window.scrollY > 500) {
6370      btnUp.classList.add('active');
6371    } else {
6372      btnUp.classList.remove('active');
6373    }
6374  });
6375
6376  btnUp.addEventListener('click', () => {
6377    window.scrollTo({
6378      top: 0,
6379      behavior: "smooth"
6380    });
6381  })
6382}
6383
6384  // infoBanner
6385  const infoBannerSlider = document.querySelector('.info__banner-slider');
6386  if(infoBannerSlider){
6387    const prevBtn = infoBannerSlider.querySelector('.info__banner-prev')
6388    const nextBtn = infoBannerSlider.querySelector('.info__banner-next')
6389    const pagination = infoBannerSlider.querySelector('.info__banner-pagination')
6390
6391    const infoBannerSwiper = new Swiper(infoBannerSlider, {
6392      effect: "fade",
6393      autoHeight: true,
6394      fadeEffect: {
6395        crossFade: true
6396      },
6397      navigation: {
6398        nextEl: nextBtn,
6399        prevEl: prevBtn,
6400      },
6401      pagination: {
6402        el: pagination,
6403        type: "fraction",
6404      },
6405      speed: 900
6406    })
6407  }
6408
6409/////////////////////
6410//Страница филиала//
6411///////////////////
6412
6413// Якорные ссылки на странице филиала
6414branchNavLinks = document.querySelectorAll('.page-nav li a');
6415
6416branchNavLinks.forEach(item => {
6417  item.addEventListener('click', (e) => {
6418    e.preventDefault();
6419    let ankor = document.getElementById(item.getAttribute('href').slice(1));
6420    ankor.scrollIntoView({ block: "center", behavior: "smooth" });
6421  })
6422});
6423
6424// Бесконечное кол-во однотипных слайдеров на странице филиала
6425
6426let bss1 = document.querySelectorAll('.branch-services__swiper .swiper-slide');
6427let bss1Loop = true;
6428if (bss1.length < 4) {
6429  bss1Loop = false;
6430}
6431
6432const branchServices = new Swiper('.branch-services__swiper', {
6433  slidesPerView: 'auto',
6434  spaceBetween: 20,
6435  direction: 'horizontal',
6436  loop: bss1Loop,
6437  breakpoints: {
6438    1000: {
6439      slidesPerView: 3
6440    },
6441    700: {
6442      slidesPerView: 2
6443    }
6444  },
6445  navigation: {
6446    nextEl: ".swiper-button-next_services",
6447    prevEl: ".swiper-button-prev_services",
6448  },
6449  pagination: {
6450    el: ".swiper-pagination_services",
6451    type: "fraction",
6452  },
6453  speed: 500
6454})
6455
6456let bss2 = document.querySelectorAll('.branch-services__swiper2 .swiper-slide');
6457let bss2Loop = true;
6458if (bss2.length < 4) {
6459  bss2Loop = false;
6460}
6461
6462const branchServices2 = new Swiper('.branch-services__swiper2', {
6463  slidesPerView: 'auto',
6464  spaceBetween: 20,
6465  direction: 'horizontal',
6466  loop: bss2Loop,
6467  breakpoints: {
6468    1000: {
6469      slidesPerView: 3
6470    },
6471    700: {
6472      slidesPerView: 2
6473    }
6474  },
6475  navigation: {
6476    nextEl: ".swiper-button-next_services2",
6477    prevEl: ".swiper-button-prev_services2",
6478  },
6479  pagination: {
6480    el: ".swiper-pagination_services2",
6481    type: "fraction",
6482  },
6483  speed: 500
6484})
6485
6486let bss3 = document.querySelectorAll('.branch-services__swiper3 .swiper-slide');
6487let bss3Loop = true;
6488if (bss3.length < 4) {
6489  bss3Loop = false;
6490}
6491
6492const branchServices3 = new Swiper('.branch-services__swiper3', {
6493  slidesPerView: 'auto',
6494  spaceBetween: 20,
6495  direction: 'horizontal',
6496  loop: bss3Loop,
6497  breakpoints: {
6498    1000: {
6499      slidesPerView: 3
6500    },
6501    700: {
6502      slidesPerView: 2
6503    }
6504  },
6505  navigation: {
6506    nextEl: ".swiper-button-next_services3",
6507    prevEl: ".swiper-button-prev_services3",
6508  },
6509  pagination: {
6510    el: ".swiper-pagination_services3",
6511    type: "fraction",
6512  },
6513  speed: 500
6514})
6515
6516let bes = document.querySelectorAll('.branch-exhibitions__slider .swiper-slide');
6517let besLoop = true;
6518if (bes.length < 3) {
6519  besLoop = false;
6520}
6521
6522const branchEx = new Swiper('.branch-exhibitions__slider', {
6523  slidesPerView: 'auto',
6524  centeredSlides: true,
6525  spaceBetween: 40,
6526  direction: 'horizontal',
6527  loop: besLoop,
6528  navigation: {
6529    nextEl: ".branch-exhibitions__slider-next",
6530    prevEl: ".branch-exhibitions__slider-prev",
6531  },
6532  breakpoints: {
6533    1100: {
6534      spaceBetween: 155,
6535    },
6536    700: {
6537    }
6538  },
6539  speed: 900
6540})
6541
6542const branchReThumbs = new Swiper(".reviews-slider-thumbs", {
6543  loop: true,
6544  spaceBetween: 24,
6545  slidesPerView: "auto",
6546  freeMode: {
6547    momentum: false,
6548  },
6549  autoplay: {
6550    delay: 1,
6551    disableOnInteraction: false,
6552    pauseOnMouseEnter: true
6553  },
6554  speed: 5000,
6555});
6556
6557// Клик на слайды отзывов
6558const thumbsSlide = document.querySelectorAll('.branch-reviews__slide');
6559
6560if (thumbsSlide.length != 0) {
6561  thumbsSlide.forEach(item => {
6562    item.addEventListener('click', () => {
6563      let thumbNum = item.getAttribute('thumb');
6564      branchReMain.slideTo(thumbNum);
6565      setTimeout(() => {
6566        branchReThumbs.autoplay.start();
6567        branchReThumbs.autoplay.run();
6568      }, 900);
6569    })
6570  });
6571}
6572
6573const branchReMain = new Swiper(".reviews-slider-main", {
6574  loop: true,
6575  effect: "fade",
6576  autoHeight: true,
6577  fadeEffect: {
6578    crossFade: true
6579  },
6580  navigation: {
6581    nextEl: ".swiper-button-next_reviews",
6582    prevEl: ".swiper-button-prev_reviews",
6583  },
6584  pagination: {
6585    el: ".swiper-pagination_reviews",
6586    type: "fraction",
6587  },
6588
6589});
6590
6591let bps = document.querySelectorAll('.branch-products__swiper .swiper-slide');
6592let bpsLoop = true;
6593if (bps.length < 3) {
6594  bpsLoop = false;
6595}
6596
6597const branchProducts = new Swiper('.branch-products__swiper', {
6598  slidesPerView: 'auto',
6599  spaceBetween: 20,
6600  direction: 'horizontal',
6601  loop: bpsLoop,
6602  navigation: {
6603    nextEl: ".swiper-button-next_products",
6604    prevEl: ".swiper-button-prev_products",
6605  },
6606  pagination: {
6607    el: ".swiper-pagination_products",
6608    type: "fraction",
6609  },
6610  speed: 500
6611})
6612
6613// Две видео-галлереи на главной странице
6614lightGallery(document.getElementById('lg-video'), {
6615  plugins: [lgVideo],
6616});
6617
6618lightGallery(document.getElementById('lg-video2'), {
6619  plugins: [lgVideo],
6620});
6621
6622// Закреп хедера при обратной прокрутке экрана
6623const headerBranchTop = document.querySelector('.header-branch .header__top'),
6624  pageNav = document.querySelector('.page-nav'),
6625  main = document.querySelector('main');
6626
6627if (pageNav) {
6628  if (window.screen.width > 1356) {
6629    main.addEventListener('wheel', (e) => {
6630      if (e.deltaY < 0) {
6631        headerBranchTop.classList.add('active');
6632        pageNav.classList.add('active');
6633      } else {
6634        headerBranchTop.classList.remove('active');
6635        pageNav.classList.remove('active');
6636      }
6637    })
6638  }
6639
6640}
6641
6642// Скрытие лишних пунктов меню, если список больше 544px
6643const branchList = document.querySelector('.branch-info ul'),
6644  branchListItems = branchList?.querySelectorAll('li'),
6645  branchListBtn = document.querySelector('.branch-info__more');
6646
6647let count = 0;
6648
6649if (branchList) {
6650  for (let i = branchListItems.length - 1; i >= 0; i--) {
6651    if (branchList.clientHeight > 544) {
6652      branchListItems[i].classList.add('hide');
6653      count++;
6654    } else {
6655      break
6656    }
6657  }
6658
6659  if (count > 0) {
6660    branchListBtn.classList.add('active');
6661  }
6662
6663  branchListBtn.addEventListener('click', () => {
6664    if (!branchListBtn.classList.contains('open')) {
6665      branchListItems.forEach(item => {
6666        item.classList.remove('hide');
6667      });
6668      branchListBtn.classList.add('open');
6669      branchListBtn.innerText = 'скрыть';
6670    } else {
6671      for (let i = branchListItems.length - 1; i >= 0; i--) {
6672        if (branchList.clientHeight > 544) {
6673          branchListItems[i].classList.add('hide');
6674        } else {
6675          break
6676        }
6677      }
6678      branchListBtn.classList.remove('open');
6679      branchListBtn.innerText = 'читать далее';
6680    }
6681
6682  })
6683}
6684
6685
6686
6687/////////////////////////////
6688// Модальное окно филиала //
6689///////////////////////////
6690
6691//////////////////////// ПЕРЕЕХАЛО ВНИЗ ////////////////////////////////
6692
6693// const modalBtn = document.querySelectorAll('[modalOpen=""]'),
6694
6695//   // Внимание! Может подтянуть совершенно не ту модалку!
6696//   modal = document.querySelector('.modal'),
6697
6698//   modalOverlay = document.querySelector('.modal__overlay');
6699
6700
6701
6702
6703//   function modalFunc() {
6704
6705//    const modalClose = document.querySelector('.modal__close'),
6706//       branchPhone = document.querySelector('#phone-mask'),
6707//       branchFormItem = document.querySelectorAll('.form-item.text'),
6708//       modalFormBtn = document.querySelector('.modal__excursion'),
6709//       modalForm = document.querySelector('.modal__form'),
6710//       modalDoneClose = document.querySelector('.modal__done-close'),
6711//       modalDoneClose2 = document.querySelector('.modal__done-close2');
6712
6713    createSelect(document,".select");
6714
6715//     // Если слайдов больше 3-х, то слайдер будет loop
6716//     let ms = document.querySelectorAll('.modal__slide');
6717//     let isLooped = true;
6718//     if (ms.length < 3) {
6719//       isLooped = false;
6720//     }
6721
6722
6723
6724//     //Слайдер модального окна
6725//     const modalSlider = new Swiper('.modal__swiper', {
6726//       slidesPerView: 1,
6727//       spaceBetween: 20,
6728//       loop: isLooped,
6729//       direction: 'horizontal',
6730//       breakpoints: {
6731//         1352: {
6732//           slidesPerView: 'auto',
6733//         },
6734//         700: {
6735//           slidesPerView: 2,
6736//         }
6737//       },
6738//       navigation: {
6739//         nextEl: ".swiper-button-next_modal",
6740//         prevEl: ".swiper-button-prev_modal",
6741//       },
6742//       pagination: {
6743//         el: ".swiper-pagination_modal",
6744//         type: "fraction",
6745//       },
6746//       speed: 500
6747//     })
6748
6749//     // Для отображения надписей на всех слайдах в небесконечных слайдерах
6750//     if (ms.length == 2) {
6751//       ms.forEach(item => {
6752//         const parent = item.closest('.swiper-slide');
6753//         console.log(parent);
6754//         setTimeout(() => {
6755//           parent.classList.add('swiper-slide-active');
6756//         }, 500);
6757//       })
6758//     }
6759
6760
6761//     // Выбор даты формы
6762//     new AirDatepicker('#branch-date');
6763
6764//     // Маска телефона номера формы
6765//     IMask(
6766//       branchPhone, {
6767//       mask: '+{7} (000) 000-00-00'
6768//     });
6769
6770//     // Анимация лэйбелов на инпутах
6771//     branchFormItem.forEach(item => {
6772//       let input = item.querySelector('input'),
6773//         label = item.querySelector('label');
6774//       input.addEventListener('focus', () => {
6775//         label.classList.add('active');
6776//       });
6777//       input.addEventListener('blur', () => {
6778//         setTimeout(() => {
6779//           if (input.value == '') {
6780//             label.classList.remove('active');
6781//           }
6782//         }, 100);
6783//       });
6784//     });
6785
6786
6787//     // Закрытие модального окна (кнопка в модальном окне)
6788//     if (modalClose) {
6789//       modalClose.addEventListener('click', () => {
6790//         modal.classList.remove('active');
6791//         document.querySelector('body').style.overflow = 'auto';
6792//       })
6793//     }
6794
6795//     // Открытие формы в модальном окне
6796//     if(modalFormBtn) {
6797//       modalFormBtn.addEventListener('click', (e) => {
6798//         e.preventDefault();
6799//         if (!modalFormBtn.classList.contains('active')) {
6800
6801
6802//           modalForm.style.display = 'block';
6803//           modalFormBtn.classList.add('active');
6804//           modalForm.scrollIntoView({block: "start", behavior: "smooth"});
6805
6806//         }
6807//         else {
6808//           modalForm.style.display = 'none';
6809//           modalFormBtn.classList.remove('active');
6810//         }
6811//       })
6812//     }
6813
6814//     // Нажатие на сабмит формы
6815//     // modalSubmit.addEventListener('click', (e) => {
6816//     //   e.preventDefault();
6817//     //
6818//     //
6819//     //   modal.classList.remove('active');
6820//     //   modal.classList.add('done');
6821//     // })
6822
6823//     // Закрытие окна "Форма отправлена"
6824//     modalDoneClose.addEventListener('click', () => {
6825//       const modals = document.querySelectorAll(".modal");
6826//       modals.forEach(el=>{
6827//         el.classList.remove('done');
6828//       });
6829//       document.querySelector('body').style.overflow = 'auto';
6830//     })
6831
6832//     // Закрытие окна "Форма отправлена"
6833//     modalDoneClose2.addEventListener('click', () => {
6834//       const modals = document.querySelectorAll(".modal");
6835//       modals.forEach(el=>{
6836//         el.classList.remove('done');
6837//       });
6838//       document.querySelector('body').style.overflow = 'auto';
6839//     })
6840
6841//   }
6842
6843// if (modal) {
6844
6845//   // Скрытие модального окна
6846//   modalOverlay.addEventListener('click', (e) => {
6847//     modal.classList.remove('active');
6848//     modal.classList.remove('done');
6849//     document.querySelector('body').style.overflow = 'auto';
6850//   })
6851
6852
6853//   Вызов модального окна
6854//   modalBtn.forEach(item => {
6855//     item.addEventListener('click', (e) => {
6856//       e.preventDefault();
6857
6858//       const modal_body = document.querySelector('.modal__body');
6859//       fetch('/show-node/'+item.getAttribute('data-nid')).then(function (response) {
6860//         return response.text();
6861//       }).then(function (html) {
6862//         modal_body.innerHTML = html;
6863//         modalFunc();
6864//       });
6865
6866//       modal.classList.add('active');
6867//       document.querySelector('body').style.overflow = 'hidden';
6868//       headerBranchTop.classList.remove('active');
6869//       pageNav.classList.remove('active');
6870//     });
6871//   });
6872
6873
6874// }
6875
6876////////////////////////
6877//внутренние страницы///
6878////////////////////////
6879
6880let pps = document.querySelectorAll('.privacy-policy__swiper .swiper-slide');
6881let ppsLooped = true;
6882if (pps.length <= 4) {
6883  ppsLooped = false;
6884}
6885
6886const privacySwiper = new Swiper('.privacy-policy__swiper', {
6887  slidesPerView: 1,
6888  spaceBetween: 20,
6889  direction: 'horizontal',
6890  loop: ppsLooped,
6891  navigation: {
6892    nextEl: ".swiper-button-next_privacy",
6893    prevEl: ".swiper-button-prev_privacy",
6894  },
6895  pagination: {
6896    el: ".swiper-pagination_privacy",
6897    type: "fraction",
6898  },
6899  breakpoints: {
6900    1000: {
6901      slidesPerView: 4,
6902    },
6903    700: {
6904      slidesPerView: 3
6905    },
6906    500: {
6907      slidesPerView: 2
6908    }
6909  },
6910  speed: 500
6911})
6912
6913const leghtGal = lightGallery(document.getElementById('lightgallery'), {
6914  plugins: [lgZoom, lgThumbnail],
6915  licenseKey: 'your_license_key',
6916  speed: 500,
6917});
6918
6919const articlePageSwiper = new Swiper('.article-page__swiper', {
6920  slidesPerView: 1,
6921  spaceBetween: 20,
6922  direction: 'horizontal',
6923  loop: true,
6924  navigation: {
6925    nextEl: ".swiper-button-next_article-page",
6926    prevEl: ".swiper-button-prev_article-page",
6927  },
6928  pagination: {
6929    el: ".swiper-pagination_article-page",
6930    type: "fraction",
6931  },
6932  breakpoints: {
6933    700: {
6934      slidesPerView: 3
6935    },
6936    500: {
6937      slidesPerView: 2
6938    }
6939  },
6940  speed: 501
6941})
6942
6943// Скрытие лишних пунктов на странице Учёного совета
6944const councilItem = document.querySelectorAll('.council__articles-item'),
6945  corruptionItem = document.querySelectorAll('.corruption__item'),
6946  museumItem = document.querySelectorAll('.museum-online__item');
6947
6948if (councilItem.length > 0) {
6949  councilItem.forEach(item => {
6950    let par = item.querySelectorAll('p'),
6951      more = item.querySelector('a');
6952    if (par.length > 1) {
6953      par.forEach((item2, i) => {
6954        if (i != 0) {
6955          item2.style.display = 'none';
6956        }
6957      });
6958      more.style.display = 'block';
6959    }
6960    more.addEventListener('click', (e) => {
6961      e.preventDefault();
6962      if (!more.classList.contains('active')) {
6963        par.forEach(item3 => {
6964          item3.style.display = 'block';
6965        })
6966        more.innerText = 'скрыть';
6967        more.classList.add('active');
6968      } else {
6969        par.forEach((item4, i) => {
6970          if (i != 0) {
6971            item4.style.display = 'none';
6972          }
6973        });
6974        more.innerText = 'узнать больше';
6975        more.classList.remove('active');
6976      }
6977
6978    })
6979  });
6980}
6981
6982// Скрытие лишних пунктов на странице Коррупция
6983// if (corruptionItem.length > 0) {
6984//   corruptionItem.forEach(item => {
6985//     let par = item.querySelectorAll('p'),
6986//       more = item.querySelector('a');
6987//     if (par.length > 1) {
6988//       par.forEach((item2, i) => {
6989//         if (i != 0) {
6990//           item2.style.display = 'none';
6991//         }
6992//       });
6993//       more.style.display = 'block';
6994//     }
6995//     more.addEventListener('click', (e) => {
6996//       e.preventDefault();
6997//       if (!more.classList.contains('active')) {
6998//         par.forEach(item3 => {
6999//           item3.style.display = 'block';
7000//         })
7001//         more.innerText = 'скрыть';
7002//         more.classList.add('active');
7003//       } else {
7004//         par.forEach((item4, i) => {
7005//           if (i != 0) {
7006//             item4.style.display = 'none';
7007//           }
7008//         });
7009//         more.innerText = 'узнать больше';
7010//         more.classList.remove('active');
7011//       }
7012
7013//     })
7014//   });
7015// }
7016
7017// Скрытие лишних пунктов на странице Музея онлайн
7018if (museumItem.length > 0) {
7019  museumItem.forEach(item => {
7020    let par = item.querySelectorAll('p'),
7021      more = item.querySelector('.museum-online__more');
7022    if (par.length > 1) {
7023      par.forEach((item2, i) => {
7024        if (i != 0) {
7025          item2.style.display = 'none';
7026        }
7027      });
7028      more.style.display = 'block';
7029    }
7030    more.addEventListener('click', (e) => {
7031      e.preventDefault();
7032      if (!more.classList.contains('active')) {
7033        par.forEach(item3 => {
7034          item3.style.display = 'block';
7035        })
7036        more.innerText = 'скрыть';
7037        more.classList.add('active');
7038      } else {
7039        par.forEach((item4, i) => {
7040          if (i != 0) {
7041            item4.style.display = 'none';
7042          }
7043        });
7044        more.innerText = 'узнать больше';
7045        more.classList.remove('active');
7046      }
7047
7048    })
7049  });
7050}
7051
7052
7053//////////////
7054///HISTORY///
7055////////////
7056
7057// Основной слайдер
7058const historySlider = new Swiper('.history__swiper', {
7059  direction: 'vertical',
7060  slidesPerView: 1,
7061  centeredSlides: true,
7062  navigation: {
7063    nextEl: ".history-next",
7064    prevEl: ".history-prev",
7065  },
7066  speed: 900,
7067  grabCursor: true,
7068  freeMode: {
7069    momentum: true,
7070    sticky: true
7071  },
7072  mousewheel: true,
7073  autoplay: {
7074    delay: 5000,
7075    disableOnInteraction: false,
7076    stopOnLastSlide: true
7077  },
7078  breakpoints: {
7079    1500: {
7080      spaceBetween: 120,
7081      slidesOffsetBefore: 120,
7082      slidesOffsetAfter: 120,
7083      slidesPerView: 'auto',
7084      direction: 'horizontal',
7085      centeredSlides: false,
7086      freeMode: {
7087        momentum: false,
7088        sticky: true
7089      },
7090    },
7091    900: {
7092      spaceBetween: 90,
7093      slidesOffsetBefore: 90,
7094      slidesOffsetAfter: 90,
7095      slidesPerView: 'auto',
7096      direction: 'horizontal',
7097      centeredSlides: false,
7098      freeMode: {
7099        momentum: false,
7100        sticky: true
7101      },
7102    }
7103  },
7104})
7105
7106// Бесконечные внутренние сабслайдеры
7107const historySubSlider1 = new Swiper('.history__subswiper_type1', {
7108  slidesPerView: 1,
7109  loop: true,
7110  direction: 'horizontal',
7111  navigation: {
7112    nextEl: ".sub-swiper-next1",
7113    prevEl: ".sub-swiper-prev1",
7114  },
7115  speed: 500,
7116  pagination: {
7117    el: ".history-pag1",
7118    type: "fraction",
7119  },
7120  nested: true
7121})
7122
7123const historySubSlider2 = new Swiper('.history__subswiper_type2', {
7124  slidesPerView: 1,
7125  loop: true,
7126  direction: 'horizontal',
7127  navigation: {
7128    nextEl: ".sub-swiper-next2",
7129    prevEl: ".sub-swiper-prev2",
7130  },
7131  speed: 500,
7132  pagination: {
7133    el: ".history-pag2",
7134    type: "fraction",
7135  },
7136  nested: true
7137})
7138
7139const historySubSlider3 = new Swiper('.history__subswiper_type3', {
7140  slidesPerView: 1,
7141  loop: true,
7142  direction: 'horizontal',
7143  navigation: {
7144    nextEl: ".sub-swiper-next3",
7145    prevEl: ".sub-swiper-prev3",
7146  },
7147  speed: 500,
7148  pagination: {
7149    el: ".history-pag3",
7150    type: "fraction",
7151  },
7152  nested: true
7153})
7154
7155const historySubSlider4 = new Swiper('.history__subswiper_type4', {
7156  slidesPerView: 1,
7157  loop: true,
7158  direction: 'horizontal',
7159  navigation: {
7160    nextEl: ".sub-swiper-next4",
7161    prevEl: ".sub-swiper-prev4",
7162  },
7163  speed: 500,
7164  pagination: {
7165    el: ".history-pag4",
7166    type: "fraction",
7167  },
7168  nested: true
7169})
7170
7171const historySubSlider5 = new Swiper('.history__subswiper_type5', {
7172  slidesPerView: 1,
7173  loop: true,
7174  direction: 'horizontal',
7175  navigation: {
7176    nextEl: ".sub-swiper-next5",
7177    prevEl: ".sub-swiper-prev5",
7178  },
7179  speed: 500,
7180  pagination: {
7181    el: ".history-pag5",
7182    type: "fraction",
7183  },
7184  nested: true
7185})
7186
7187// А вот тут начнается магия
7188const bgs = document.querySelectorAll('.history__bg'),
7189  cont = document.querySelector('.history__continue'),
7190  contMob = document.querySelector('.history__continue_mobile'),
7191  ret = document.querySelector('.history__return'),
7192  retMob= document.querySelector('.history__return_mobile'),
7193  historyControl = document.querySelector('.scm'),
7194  sliderItems = document.querySelectorAll('.history__item.first'),
7195  dateOut = document.querySelector('.history__dateOut'),
7196  historyDatePrev = document.querySelector('.history__mobile-date.prev'),
7197  historyLoadLine = document.querySelector('.swiper-control__line span'),
7198  historyDateNext = document.querySelector('.history__mobile-date.next'),
7199  trullyFirst = document.querySelector('.trully-first');
7200
7201
7202if (bgs.length != 0) {
7203  // Поведение слайдера при ширине экрана больше 1500
7204  if (window.screen.width > 1500) {
7205    sliderItems[0].classList.remove('first');
7206    setTimeout(() => {
7207      sliderItems[1].classList.remove('first');
7208    }, 900);
7209
7210    ret.addEventListener('click', () => {
7211      historySlider.slideTo(0, 500);
7212      bgs[bgs.length - 1].classList.remove('active');
7213      bgs[0].classList.add('active');
7214      sliderItems[0].classList.remove('first');
7215      setTimeout(() => {
7216        sliderItems[1].classList.remove('first');
7217      }, 900);
7218    })
7219
7220    historySlider.on('slideChange', (e) => {
7221
7222      historyLoadLine.style.width = (historySlider.progress * 100) + '%';
7223      if (historySlider.progress == 1) {
7224        document.querySelector('.history-next').classList.add('done');
7225      }
7226
7227      let count = Math.floor(historySlider.activeIndex / 3);
7228
7229      sliderItems[historySlider.activeIndex + 1]?.classList.remove('first');
7230      sliderItems[historySlider.activeIndex - 1]?.classList.remove('first');
7231      sliderItems[historySlider.activeIndex - 2]?.classList.add('first');
7232      sliderItems[historySlider.activeIndex + 2]?.classList.add('first');
7233
7234      if (!bgs[count].classList.contains('active')) {
7235        bgs.forEach(item => {
7236          item.classList.remove('active');
7237        })
7238        bgs[count].classList.add('active');
7239      }
7240
7241      if (historySlider.activeIndex != 0) {
7242        trullyFirst.classList.remove('trully-first');
7243        cont.classList.remove('active');
7244        historyControl.classList.remove('hide');
7245      } else {
7246        trullyFirst.classList.add('trully-first');
7247        cont.classList.add('active');
7248        historyControl.classList.add('hide');
7249      }
7250
7251      if (historySlider.activeIndex == 33) {
7252        ret.classList.add('active');
7253      } else {
7254        ret.classList.remove('active');
7255      }
7256
7257    });
7258    // Поведение слайдера при ширине экрана от 1499 до 900
7259  } else if (window.screen.width < 1499 && window.screen.width > 900) {
7260    sliderItems[0].classList.remove('first');
7261    setTimeout(() => {
7262      sliderItems[1].classList.remove('first');
7263    }, 900);
7264
7265    ret.addEventListener('click', () => {
7266      historySlider.slideTo(0, 500);
7267      bgs[bgs.length - 1].classList.remove('active')
7268      bgs[0].classList.add('active');
7269      sliderItems[0].classList.remove('first');
7270      setTimeout(() => {
7271        sliderItems[1].classList.remove('first');
7272      }, 900);
7273    })
7274
7275    historySlider.on('slideChange', (e) => {
7276
7277      let count = Math.floor(historySlider.activeIndex / 3);
7278
7279      historyLoadLine.style.width = (historySlider.progress * 100) + '%';
7280      if (historySlider.progress == 1) {
7281        document.querySelector('.history-next').classList.add('done');
7282      }
7283
7284      sliderItems[historySlider.activeIndex - 1]?.classList.remove('first');
7285      sliderItems[historySlider.activeIndex]?.classList.remove('first');
7286      sliderItems[historySlider.activeIndex - 2]?.classList.add('first');
7287      sliderItems[historySlider.activeIndex + 1]?.classList.add('first');
7288
7289      if (!bgs[count].classList.contains('active')) {
7290        bgs.forEach(item => {
7291          item.classList.remove('active');
7292        })
7293        bgs[count].classList.add('active');
7294      }
7295
7296      if (historySlider.activeIndex != 0) {
7297        trullyFirst.classList.remove('trully-first');
7298        cont.classList.remove('active');
7299        historyControl.classList.remove('hide');
7300      } else {
7301        trullyFirst.classList.add('trully-first');
7302        cont.classList.add('active');
7303        historyControl.classList.add('hide');
7304      }
7305
7306      if (historySlider.activeIndex == 34) {
7307        ret.classList.add('active');
7308      } else {
7309        ret.classList.remove('active');
7310      }
7311
7312    });
7313    // Поведение при разрешении меньше 900
7314  } else {
7315    sliderItems.forEach(item => {
7316      item.classList.remove('first');
7317    })
7318
7319    retMob.addEventListener('click', () => {
7320      historySlider.slideTo(0, 500);
7321    })
7322
7323    historySlider.on('slideChange', (e) => {
7324      historyLoadLine.style.height = (historySlider.progress * 100) + '%';
7325
7326      setTimeout(() => {
7327
7328        let prevDate = document.querySelector('.history__swiper .swiper-slide-prev .history__dateOut')?.innerHTML;
7329
7330        let nextDate = document.querySelector('.history__swiper .swiper-slide-next .history__dateOut')?.innerHTML;
7331
7332        if (prevDate && historySlider.activeIndex != 0) {
7333          historyDatePrev.classList.remove('hide');
7334
7335          historyDatePrev.innerHTML = prevDate;
7336        } else {
7337          historyDatePrev.classList.add('hide');
7338        }
7339
7340        if (nextDate && historySlider.activeIndex != 0) {
7341          historyDateNext.classList.remove('hide');
7342
7343          historyDateNext.innerHTML = nextDate;
7344        } else {
7345          historyDateNext.classList.add('hide');
7346        }
7347
7348      }, 500);
7349
7350      setTimeout(() => {
7351        historyDateNext.classList.remove('animated');
7352        historyDatePrev.classList.remove('animated');
7353      }, 1000);
7354
7355      let count = Math.floor(historySlider.activeIndex / 3);
7356
7357      historyDatePrev.classList.add('animated');
7358      historyDateNext.classList.add('animated');
7359
7360      if (historySlider.activeIndex != 0) {
7361        contMob.classList.remove('active');
7362        historyControl.classList.remove('hide');
7363        historyDatePrev.classList.remove('hide');
7364        historyDateNext.classList.remove('hide');
7365      } else {
7366        contMob.classList.add('active');
7367        historyControl.classList.add('hide');
7368        historyDatePrev.classList.add('hide');
7369        historyDateNext.classList.add('hide');
7370      }
7371
7372      if (historySlider.activeIndex == 35) {
7373        retMob.classList.add('active');
7374      } else {
7375        retMob.classList.remove('active');
7376      }
7377    });
7378  }
7379}
7380
7381  // Service page
7382  const serviceSlider = document.querySelector('.service__slider');
7383  if(serviceSlider){
7384    const prevBtn = serviceSlider.querySelector('.service__slider-prev')
7385    const nextBtn = serviceSlider.querySelector('.service__slider-next')
7386    const pagination = serviceSlider.querySelector('.service__slider-pagination')
7387
7388    const serviceSwiper = new Swiper(serviceSlider, {
7389      effect: "fade",
7390      autoHeight: true,
7391      fadeEffect: {
7392        crossFade: true
7393      },
7394      navigation: {
7395        nextEl: nextBtn,
7396        prevEl: prevBtn,
7397      },
7398      pagination: {
7399        el: pagination,
7400        type: "fraction",
7401      },
7402      speed: 900
7403    })
7404  }
7405
7406  const formReserv = document.querySelector('.form--reserv')
7407  if(formReserv){
7408    const formItems = formReserv.querySelectorAll('.form-item.text')
7409    formItems.forEach(formItem => {
7410      formItem.querySelector('input').addEventListener('input', (e) => {
7411        if(e.target.value == ''){
7412          formItem.classList.remove('active')
7413        }else{
7414          formItem.classList.add('active')
7415        }
7416      })
7417    })
7418  }
7419
7420})
7421
7422// museum-history
7423
7424const museumHistory = document.querySelector('.museum-history');
7425if(museumHistory){
7426  const sliders = museumHistory.querySelectorAll('.museum-history__slider');
7427  sliders.forEach(slider => {
7428    if(slider.querySelectorAll('.museum-history__slide').length > 1){
7429      slider.style.width = slider.clientWidth + 'px';
7430      const swiper = new Swiper(slider, {
7431        centeredSlides: true,
7432        navigation: {
7433          prevEl: slider.querySelector('.museum-history__slider-prev'),
7434          nextEl: slider.querySelector('.museum-history__slider-next'),
7435        }
7436      })
7437    }
7438  })
7439  let currWrap = 0;
7440  const wraps = museumHistory.querySelectorAll('.museum-history__wrap');
7441  if(document.body.clientWidth > 959){
7442    wraps.forEach((wrap, index) => {
7443      if(index > 0){
7444        const prevBtn = wrap.querySelector('.museum-history__prev');
7445        prevBtn.addEventListener('click', (e) => {
7446          wraps[currWrap - 1].classList.remove('active');
7447          currWrap--;
7448          wraps[currWrap - 1].scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" });
7449          // console.log('prev - ' + currWrap);
7450        })
7451      }
7452      if(index < wraps.length - 1){
7453        const nextBtn = wrap.querySelector('.museum-history__next');
7454        nextBtn.addEventListener('click', (e) => {
7455          currWrap++;
7456          wraps[currWrap - 1].classList.add('active');
7457          wraps[currWrap - 1].scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" });
7458          // console.log('next - ' + currWrap);
7459        })
7460      }
7461      window.addEventListener('wheel', (e) => {
7462        if(e.deltaY > 0){
7463          // если индекс соответствует текущему активному врапу и при этом этот блок поднялся выше половины экрана
7464          if(currWrap === index && !wrap.classList.contains('active') && wrap.getBoundingClientRect().top < window.innerHeight/4*3){
7465            currWrap++;
7466            wrap.classList.add('active');
7467            // console.log('down - ' + currWrap);
7468          }
7469        }else{
7470          // console.log(wrap.getBoundingClientRect().top >= window.innerHeight/4*3);
7471          // console.log(wrap.getBoundingClientRect().top);
7472          if(currWrap - 1 === index && wrap.classList.contains('active') && wrap.getBoundingClientRect().top >= window.innerHeight/4*3){
7473            currWrap--;
7474            wrap.classList.remove('active');
7475            console.log('up - ' + currWrap);
7476          }
7477        }
7478      })
7479    })
7480
7481    const line = museumHistory.querySelector('.museum-history__pagination-line');
7482    const lineHeight = line.clientHeight;
7483    const windowHeight = window.innerHeight;
7484    window.addEventListener('scroll', (e) => {
7485      let value = ((line.getBoundingClientRect().top - windowHeight/2)*-1)/lineHeight*100;
7486      if(value => 0 && value <= 100){
7487        line.style.backgroundPosition = `0% ${100 - value}%`;
7488      }
7489    })
7490  }
7491}
7492Drupal.behaviors.afterAjax = {
7493  attach: function (context, settings) {
7494
7495    {
7496      const elems = context.querySelectorAll(".branch-services__select-wrap > select");
7497      elems.forEach(el=>{
7498        el.querySelector("option:first-child").innerText = "Все экскурсии";
7499      });
7500    }
7501    createSelect(context,".branch-services__select-wrap > select");
7502    
7503    // Инициализация формы бронирования
7504    function initBranchOrderForm(context) {
7505      document.querySelectorAll('.service__btn-reserv').forEach(el=>{
7506        if(el.getAttribute('data-once') != '1'){
7507
7508          // Узнаем название услуги
7509          var service_name = "";
7510          const service = el.closest('.service');
7511          if (service) {
7512            const service_h1 = service.querySelector('.service__top h1');
7513            if (service_h1)
7514              service_name = service_h1.innerText;
7515          }
7516          const service_name_field = context.querySelector("input[name=branch]");
7517
7518          el.setAttribute('data-once','1');
7519          el.addEventListener('click', () => {
7520            context.classList.add('done');
7521
7522            // Устанавливаем в форму имя услуги
7523            if (service_name_field)
7524              service_name_field.value = service_name;
7525          });
7526        }
7527      });
7528
7529      // Маска телефона номера формы
7530      context.querySelectorAll('input[type=tel]').forEach(el=>{
7531        IMask(
7532          el, {
7533          mask: '+{7} (000) 000-00-00'
7534        });
7535      });
7536
7537      // Элементы закрытия окна
7538      context.querySelectorAll('.modal__done-close, .modal__done-close2, .modal__overlay').forEach(el=>{
7539        if (el.getAttribute('data-once') == '1') return;
7540        el.setAttribute('data-once','1');
7541        el.addEventListener('click', () => {
7542          context.classList.remove('done')
7543        })
7544      });
7545    }
7546
7547    // Окно успешной отправки
7548    {
7549      const message_submitted = context.querySelector(".message--submitted");
7550      if (message_submitted) {
7551        document.querySelectorAll(".modal").forEach(el=>{
7552          el.classList.remove('done');
7553        });
7554        const modal_success = document.getElementById("block-form-submited");
7555        if (modal_success)
7556          modal_success.classList.add('done');
7557      }
7558    }
7559
7560    // Первый запуск
7561    if (context === document) {
7562
7563      // Поиск формы бронирования
7564      {
7565        const serviceForm = document.getElementById('block-form-branch-order');
7566        if (serviceForm)
7567          initBranchOrderForm(serviceForm);
7568      }
7569
7570      // Элементы закрытия у модульных окон
7571      context.querySelectorAll('.modal').forEach(modal=>{
7572        modal.querySelectorAll('.modal__done-close, .modal__done-close2, .modal__overlay').forEach(el=>{
7573          if (el.getAttribute('data-once') == '1') return;
7574          el.setAttribute('data-once','1');
7575          el.addEventListener('click', () => {
7576            modal.classList.remove('done')
7577          })
7578        });
7579      });
7580
7581      // Ниже могут использоваться атрибуты, которых нет у document
7582      return;
7583    }
7584
7585    // Слушатель обновления элементов
7586    switch (context.getAttribute('id')) {
7587
7588      // Форма бронирования
7589      case "block-form-branch-order":
7590        initBranchOrderForm(context);
7591        break;
7592    }
7593  }
7594}
7595
7596// Яндекс.Метрика: цели на странице услуги (.service)
7597document.addEventListener('click', function (e) {
7598  if (typeof ym !== 'function') {
7599    return;
7600  }
7601  if (e.target.closest('.service .service__btns a.buy_pushkin')) {
7602    ym(5078482, 'reachGoal', 'service_buy_pushkin');
7603    return;
7604  }
7605  if (e.target.closest('.service .service__btns a.buy')) {
7606    ym(5078482, 'reachGoal', 'service_buy');
7607  }
7608});
7609
7610// Яндекс.Метрика: цель «бронирование» (AJAX webform — mou
7610sedown по submit)
7611document.addEventListener('mousedown', function (e) {
7612  if (typeof ym !== 'function') {
7613    return;
7614  }
7615  const submitBtn = e.target.closest('input.webform-button--submit');
7616  if (!submitBtn) {
7617    return;
7618  }
7619  const form = submitBtn.form;
7620  if (!form || !form.matches('form.webform-submission-branch-order-form')) {
7621    return;
7622  }
7623  if (!form.checkValidity())  {
7624    return;
7625  }
7626  ym(5078482, 'reachGoal', 'service_book');
7627});
7628;

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.