PageSourceSearch

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

js ngiamz.ru collected 2026-09-24 20:29:53 UTC 646,139 bytes, 7,791 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/**
14* DO NOT EDIT THIS FILE.
15* See the following change record for more information,
16* https://www.drupal.org/node/2815083
17* @preserve
18**/
19if (typeof Object.assign !== 'function') {
20  Object.defineProperty(Object, 'assign', {
21    value: function assign(target, varArgs) {
22      'use strict';
23
24      if (target === null || target === undefined) {
25        throw new TypeError('Cannot convert undefined or null to object');
26      }
27      var to = Object(target);
28      for (var index = 1; index < arguments.length; index++) {
29        var nextSource = arguments[index];
30        if (nextSource !== null && nextSource !== undefined) {
31          for (var nextKey in nextSource) {
32            if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
33              to[nextKey] = nextSource[nextKey];
34            }
35          }
36        }
37      }
38      return to;
39    },
40    writable: true,
41    configurable: true
42  });
43};
44/**
45* DO NOT EDIT THIS FILE.
46* See the following change record for more information,
47* https://www.drupal.org/node/2815083
48* @preserve
49**/
50if (window.NodeList && !NodeList.prototype.forEach) {
51  NodeList.prototype.forEach = Array.prototype.forEach;
52};
53/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */
54;(function(root, factory) {
55	// https://github.com/umdjs/umd/blob/master/returnExports.js
56	if (typeof exports == 'object') {
57		// For Node.js.
58		module.exports = factory(root);
59	} else if (typeof define == 'function' && define.amd) {
60		// For AMD. Register as an anonymous module.
61		define([], factory.bind(root, root));
62	} else {
63		// For browser globals (not exposing the function separately).
64		factory(root);
65	}
66}(typeof global != 'undefined' ? global : this, function(root) {
67
68	if (root.CSS && root.CSS.escape) {
69		return root.CSS.escape;
70	}
71
72	// https://drafts.csswg.org/cssom/#serialize-an-identifier
73	var cssEscape = function(value) {
74		if (arguments.length == 0) {
75			throw new TypeError('`CSS.escape` requires an argument.');
76		}
77		var string = String(value);
78		var length = string.length;
79		var index = -1;
80		var codeUnit;
81		var result = '';
82		var firstCodeUnit = string.charCodeAt(0);
83		while (++index < length) {
84			codeUnit = string.charCodeAt(index);
85			// Note: there’s no need to special-case astral symbols, surrogate
86			// pairs, or lone surrogates.
87
88			// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER
89			// (U+FFFD).
90			if (codeUnit == 0x0000) {
91				result += '\uFFFD';
92				continue;
93			}
94
95			if (
96				// If the character is in the range [\1-\1F] (U+0001 to U+001F) or is
97				// U+007F, […]
98				(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||
99				// If the character is the first character and is in the range [0-9]
100				// (U+0030 to U+0039), […]
101				(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
102				// If the character is the second character and is in the range [0-9]
103				// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]
104				(
105					index == 1 &&
106					codeUnit >= 0x0030 && codeUnit <= 0x0039 &&
107					firstCodeUnit == 0x002D
108				)
109			) {
110				// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point
111				result += '\\' + codeUnit.toString(16) + ' ';
112				continue;
113			}
114
115			if (
116				// If the character is the first character and is a `-` (U+002D), and
117				// there is no second character, […]
118				index == 0 &&
119				length == 1 &&
vendor: 4,488 bytes, lines 120-160
120				codeUnit == 0x002D
121			) {
122				result += '\\' + string.charAt(index);
123				continue;
124			}
125
126			// If the character is not handled by one of the above rules and is
127			// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or
128			// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to
129			// U+005A), or [a-z] (U+0061 to U+007A), […]
130			if (
131				codeUnit >= 0x0080 ||
132				codeUnit == 0x002D ||
133				codeUnit == 0x005F ||
134				codeUnit >= 0x0030 && codeUnit <= 0x0039 ||
135				codeUnit >= 0x0041 && codeUnit <= 0x005A ||
136				codeUnit >= 0x0061 && codeUnit <= 0x007A
137			) {
138				// the character itself
139				result += string.charAt(index);
140				continue;
141			}
142
143			// Otherwise, the escaped character.
144			// https://drafts.csswg.org/cssom/#escape-a-character
145			result += '\\' + string.charAt(index);
146
147		}
148		return result;
149	};
150
151	if (!root.CSS) {
152		root.CSS = {};
153	}
154
155	root.CSS.escape = cssEscape;
156	return cssEscape;
157
158}));
159;
160!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.ES6Promise=e()}(this,function(){"use strict";function t(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}function e(t){return"function"==typeof t}function n(t){W=t}function r(t){z=t}function o(){return function(){return process.nextTick(a)}}function i(){return"undefined"!=typeof U?function(){U(a)}:c()}function s(){var t=0,e=new H(a),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function u(){var t=new MessageChannel;return t.port1.onmessage=a,function(){return t.port2.postMessage(0)}}function c(){var t=setTimeout;return function(){return t(a,1)}}function a(){for(var t=0;t<N;t+=2){var e=Q[t],n=Q[t+1];e(n),Q[t]=void 0,Q[t+1]=void 0}N=0}function f(){try{var t=Function("return this")().require("vertx");return U=t.runOnLoop||t.runOnContext,i()}catch(e){return c()}}function l(t,e){var n=this,r=new this.constructor(p);void 0===r[V]&&x(r);var o=n._state;if(o){var i=arguments[o-1];z(function(){return T(o,r,i,n._result)})}else j(n,r,t,e);return r}function h(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(p);return w(n,t),n}function p(){}function v(){return new TypeError("You cannot resolve a promise with itself")}function d(){return new TypeError("A promises callback cannot return that same promise.")}function _(t,e,n,r){try{t.call(e,n,r)}catch(o){return o}}function y(t,e,n){z(function(t){var r=!1,o=_(n,e,function(n){r||(r=!0,e!==n?w(t,n):A(t,n))},function(e){r||(r=!0,S(t,e))},"Settle: "+(t._label||" unknown promise"));!r&&o&&(r=!0,S(t,o))},t)}function m(t,e){e._state===Z?A(t,e._result):e._state===$?S(t,e._result):j(e,void 0,function(e){return w(t,e)},function(e){return S(t,e)})}function b(t,n,r){n.constructor===t.constructor&&r===l&&n.constructor.resolve===h?m(t,n):void 0===r?A(t,n):e(r)?y(t,n,r):A(t,n)}function w(e,n){if(e===n)S(e,v());else if(t(n)){var r=void 0;try{r=n.then}catch(o){return void S(e,o)}b(e,n,r)}else A(e,n)}function g(t){t._onerror&&t._onerror(t._result),E(t)}function A(t,e){t._state===X&&(t._result=e,t._state=Z,0!==t._subscribers.length&&z(E,t))}function S(t,e){t._state===X&&(t._state=$,t._result=e,z(g,t))}function j(t,e,n,r){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=e,o[i+Z]=n,o[i+$]=r,0===i&&t._state&&z(E,t)}function E(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r=void 0,o=void 0,i=t._result,s=0;s<e.length;s+=3)r=e[s],o=e[s+n],r?T(n,r,o,i):o(i);t._subscribers.length=0}}function T(t,n,r,o){var i=e(r),s=void 0,u=void 0,c=!0;if(i){try{s=r(o)}catch(a){c=!1,u=a}if(n===s)return void S(n,d())}else s=o;n._state!==X||(i&&c?w(n,s):c===!1?S(n,u):t===Z?A(n,s):t===$&&S(n,s))}function M(t,e){try{e(function(e){w(t,e)},function(e){S(t,e)})}catch(n){S(t,n)}}function P(){return tt++}function x(t){t[V]=tt++,t._state=void 0,t._result=void 0,t._subscribers=[]}function C(){return new Error("Array Methods must be provided an Array")}function O(t){return new et(this,t).promise}function k(t){var e=this;return new e(L(t)?function(n,r){for(var o=t.length,i=0;i<o;i++)e.resolve(t[i]).then(n,r)}:function(t,e){return e(new TypeError("You must pass an array to race."))})}function F(t){var e=this,n=new e(p);return S(n,t),n}function Y(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function q(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object c
160onstructor cannot be called as a function.")}function D(){var t=void 0;if("undefined"!=typeof global)t=global;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var n=t.Promise;if(n){var r=null;try{r=Object.prototype.toString.call(n.resolve())}catch(e){}if("[object Promise]"===r&&!n.cast)return}t.Promise=nt}var K=void 0;K=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var L=K,N=0,U=void 0,W=void 0,z=function(t,e){Q[N]=t,Q[N+1]=e,N+=2,2===N&&(W?W(a):R())},B="undefined"!=typeof window?window:void 0,G=B||{},H=G.MutationObserver||G.WebKitMutationObserver,I="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),J="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,Q=new Array(1e3),R=void 0;R=I?o():H?s():J?u():void 0===B&&"function"==typeof require?f():c();var V=Math.random().toString(36).substring(2),X=void 0,Z=1,$=2,tt=0,et=function(){function t(t,e){this._instanceConstructor=t,this.promise=new t(p),this.promise[V]||x(this.promise),L(e)?(this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?A(this.promise,this._result):(this.length=this.length||0,this._enumerate(e),0===this._remaining&&A(this.promise,this._result))):S(this.promise,C())}return t.prototype._enumerate=function(t){for(var e=0;this._state===X&&e<t.length;e++)this._eachEntry(t[e],e)},t.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,r=n.resolve;if(r===h){var o=void 0,i=void 0,s=!1;try{o=t.then}catch(u){s=!0,i=u}if(o===l&&t._state!==X)this._settledAt(t._state,e,t._result);else if("function"!=typeof o)this._remaining--,this._result[e]=t;else if(n===nt){var c=new n(p);s?S(c,i):b(c,t,o),this._willSettleAt(c,e)}else this._willSettleAt(new n(function(e){return e(t)}),e)}else this._willSettleAt(r(t),e)},t.prototype._settledAt=function(t,e,n){var r=this.promise;r._state===X&&(this._remaining--,t===$?S(r,n):this._result[e]=n),0===this._remaining&&A(r,this._result)},t.prototype._willSettleAt=function(t,e){var n=this;j(t,void 0,function(t){return n._settledAt(Z,e,t)},function(t){return n._settledAt($,e,t)})},t}(),nt=function(){function t(e){this[V]=P(),this._result=this._state=void 0,this._subscribers=[],p!==e&&("function"!=typeof e&&Y(),this instanceof t?M(this,e):q())}return t.prototype["catch"]=function(t){return this.then(null,t)},t.prototype["finally"]=function(t){var n=this,r=n.constructor;return e(t)?n.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})}):n.then(t,t)},t}();return nt.prototype.then=l,nt.all=O,nt.race=k,nt.resolve=h,nt.reject=F,nt._setScheduler=n,nt._setAsap=r,nt._asap=z,nt.polyfill=D,nt.Promise=nt,nt.polyfill(),nt});;
161/*! @drupal/once - v1.0.1 - 2021-06-12 */
162var 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}();
163
164;
165/*!
166 * jQuery Once v2.2.3 - http://github.com/robloach/jquery-once
167 * @license MIT, GPL-2.0
168 *   http://opensource.org/licenses/MIT
169 *   http://opensource.org/licenses/GPL-2.0
170 */
171(function(e){"use strict";if(typeof exports==="object"&&typeof exports.nodeName!=="string"){e(require("jquery"))}else if(typeof define==="function"&&define.amd){define(["jquery"],e)}else{e(jQuery)}})(function(t){"use strict";var r=function(e){e=e||"once";if(typeof e!=="string"){throw new TypeError("The jQuery Once id parameter must be a string")}return e};t.fn.once=function(e){var n="jquery-once-"+r(e);return this.filter(function(){return t(this).data(n)!==true}).data(n,true)};t.fn.removeOnce=function(e){return this.findOnce(e).removeData("jquery-once-"+r(e))};t.fn.findOnce=function(e){var n="jquery-once-"+r(e);return this.filter(function(){return t(this).data(n)===true})}});
172
173window.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":"\u
1730421\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":"\u0414\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
1730421\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
1730421\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
1730415\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
1730421\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}};;
174/**
175* DO NOT EDIT THIS FILE.
176* See the following change record for more information,
177* https://www.drupal.org/node/2815083
178* @preserve
179**/
180(function () {
181  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"]');
182  window.drupalSettings = {};
183  if (settingsElement !== null) {
184    window.drupalSettings = JSON.parse(settingsElement.textContent);
185  }
186})();;
187/**
188* DO NOT EDIT THIS FILE.
189* See the following change record for more information,
190* https://www.drupal.org/node/2815083
191* @preserve
192**/
193window.Drupal = {
194  behaviors: {},
195  locale: {}
196};
197(function (Drupal, drupalSettings, drupalTranslations, console, Proxy, Reflect) {
198  Drupal.throwError = function (error) {
199    setTimeout(function () {
200      throw error;
201    }, 0);
202  };
203  Drupal.attachBehaviors = function (context, settings) {
204    context = context || document;
205    settings = settings || drupalSettings;
206    var behaviors = Drupal.behaviors;
207    Object.keys(behaviors || {}).forEach(function (i) {
208      if (typeof behaviors[i].attach === 'function') {
209        try {
210          behaviors[i].attach(context, settings);
211        } catch (e) {
212          Drupal.throwError(e);
213        }
214      }
215    });
216  };
217  Drupal.detachBehaviors = function (context, settings, trigger) {
218    context = context || document;
219    settings = settings || drupalSettings;
220    trigger = trigger || 'unload';
221    var behaviors = Drupal.behaviors;
222    Object.keys(behaviors || {}).forEach(function (i) {
223      if (typeof behaviors[i].detach === 'function') {
224        try {
225          behaviors[i].detach(context, settings, trigger);
226        } catch (e) {
227          Drupal.throwError(e);
228        }
229      }
230    });
231  };
232  Drupal.checkPlain = function (str) {
233    str = str.toString().replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
234    return str;
235  };
236  Drupal.formatString = function (str, args) {
237    var processedArgs = {};
238    Object.keys(args || {}).forEach(function (key) {
239      switch (key.charAt(0)) {
240        case '@':
241          processedArgs[key] = Drupal.checkPlain(args[key]);
242          break;
243        case '!':
244          processedArgs[key] = args[key];
245          break;
246        default:
247          processedArgs[key] = Drupal.theme('placeholder', args[key]);
248          break;
249      }
250    });
251    return Drupal.stringReplace(str, processedArgs, null);
252  };
253  Drupal.stringReplace = function (str, args, keys) {
254    if (str.length === 0) {
255      return str;
256    }
257    if (!Array.isArray(keys)) {
258      keys = Object.keys(args || {});
259      keys.sort(function (a, b) {
260        return a.length - b.length;
261      });
262    }
263    if (keys.length === 0) {
264      return str;
265    }
266    var key = keys.pop();
267    var fragments = str.split(key);
268    if (keys.length) {
269      for (var i = 0; i < fragments.length; i++) {
270        fragments[i] = Drupal.stringReplace(fragments[i], args, keys.slice(0));
271      }
272    }
273    return fragments.join(args[key]);
274  };
275  Drupal.t = function (str, args, options) {
276    options = options || {};
277    options.context = options.context || '';
278    if (typeof drupalTranslations !== 'undefined' && drupalTranslations.strings && drupalTranslations.strings[options.context] && drupalTranslations.strings[options.context][str]) {
279      str = drupalTranslations.strings[options.context][str];
280    }
281    if (args) {
282      str = Drupal.formatString(str, args);
283    }
284    return str;
285  };
286  Drupal.url = function (path) {
287    return drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix + path;
288  };
289  Drupal.url.toAbsolute = function (url) {
290    var urlParsingNode = document.createElement('a');
291    try {
292      url = decodeURIComponent(url);
293    } catch (e) {}
294    urlParsingNode.setAttribute('href', url);
295    return urlParsingNode.cloneNode(false).href;
296  };
297  Drupal.url.isLocal = function (url) {
298    var absoluteUrl = Drupal.url.toAbsolute(url);
299    var protocol = window.location.protocol;
300    if (protocol === 'http:' && absoluteUrl.indexOf('https:') === 0) {
301      protocol = 'https:';
302    }
303    var baseUrl = "".concat(protocol, "//").concat(window.location.host).concat(drupalSettings.path.baseUrl.slice(0, -1));
304    try {
305      absoluteUrl = decodeURIComponent(absoluteUrl);
306    } catch (e) {}
307    try {
308      baseUrl = decodeURIComponent(baseUrl);
309    } catch (e) {}
310    return absoluteUrl === baseUrl || absoluteUrl.indexOf("".concat(baseUrl, "/")) === 0;
311  };
312  Drupal.formatPlural = function (count, singular, plural, args, options) {
313    args = args || {};
314    args['@count'] = count;
315    var pluralDelimiter = drupalSettings.pluralDelimiter;
316    var translations = Drupal.t(singular + pluralDelimiter + plural, args, options).split(pluralDelimiter);
317    var index = 0;
318    if (typeof drupalTranslations !== 'undefined' && drupalTranslations.pluralFormula) {
319      index = count in drupalTranslations.pluralFormula ? drupalTranslations.pluralFormula[count] : drupalTranslations.pluralFormula.default;
320    } else if (args['@count'] !== 1) {
321      index = 1;
322    }
323    return translations[index];
324  };
325  Drupal.encodePath = function (item) {
326    return window.encodeURIComponent(item).replace(/%2F/g, '/');
327  };
328  Drupal.deprecationError = function (_ref) {
329    var message = _ref.message;
330    if (drupalSettings.suppressDeprecationErrors === false && typeof console !== 'undefined' && console.warn) {
331      console.warn("[Deprecation] ".concat(message));
332    }
333  };
334  Drupal.deprecatedProperty = function (_ref2) {
335    var target = _ref2.target,
336      deprecatedProperty = _ref2.deprecatedProperty,
337      message = _ref2.message;
338    if (!Proxy || !Reflect) {
339      return target;
340    }
341    return new Proxy(target, {
342      get: function get(target, key) {
343        if (key === deprecatedProperty) {
344          Drupal.deprecationError({
345            message: message
346          });
347        }
348        for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
349          rest[_key - 2] = arguments[_key];
350        }
351        return Reflect.get.apply(Reflect, [target, key].concat(rest));
352      }
353    });
354  };
355  Drupal.theme = function (func) {
356    if (func in Drupal.theme) {
357      var _Drupal$theme;
358      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
359        args[_key2 - 1] = arguments[_key2];
360      }
vendor: 10,940 bytes, lines 361-398
361      return (_Drupal$theme = Drupal.theme)[func].apply(_Drupal$theme, args);
362    }
363  };
364  Drupal.theme.placeholder = function (str) {
365    return "<em class=\"placeholder\">".concat(Drupal.checkPlain(str), "</em>");
366  };
367})(Drupal, window.drupalSettings, window.drupalTranslations, window.console, window.Proxy, window.Reflect);;
368/**
369* DO NOT EDIT THIS FILE.
370* See the following change record for more information,
371* https://www.drupal.org/node/2815083
372* @preserve
373**/
374if (window.jQuery) {
375  jQuery.noConflict();
376}
377document.documentElement.className += ' js';
378(function (Drupal, drupalSettings) {
379  var domReady = function domReady(callback) {
380    var listener = function listener() {
381      callback();
382      document.removeEventListener('DOMContentLoaded', listener);
383    };
384    if (document.readyState !== 'loading') {
385      setTimeout(callback, 0);
386    } else {
387      document.addEventListener('DOMContentLoaded', listener);
388    }
389  };
390  domReady(function () {
391    Drupal.attachBehaviors(document, drupalSettings);
392  });
393})(Drupal, window.drupalSettings);;
394/*! picturefill - v3.0.2 - 2016-02-12
395 * https://scottjehl.github.io/picturefill/
396 * Copyright (c) 2016 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT
397 */
398!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")}
398,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);;
399/*!
400* tabbable 5.3.3
401* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
402*/
403!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):(e="undefined"!=typeof globalThis?globalThis:e||self,function(){var n=e.tabbable,o=e.tabbable={};t(o),o.noConflict=function(){return e.tabbable=n,o}}())}(this,(function(e){"use strict";var t=["input","select","textarea","a[href]","button","[tabindex]:not(slot)","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])',"details>summary:first-of-type","details"],n=t.join(","),o="undefined"==typeof Element,r=o?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,i=!o&&Element.prototype.getRootNode?function(e){return e.getRootNode()}:function(e){return e.ownerDocument},a=function(e,t,o){var i=Array.prototype.slice.apply(e.querySelectorAll(n));return t&&r.call(e,n)&&i.unshift(e),i=i.filter(o)},l=function e(t,o,i){for(var a=[],l=Array.from(t);l.length;){var u=l.shift();if("SLOT"===u.tagName){var c=u.assignedElements(),d=e(c.length?c:u.children,!0,i);i.flatten?a.push.apply(a,d):a.push({scope:u,candidates:d})}else{r.call(u,n)&&i.filter(u)&&(o||!t.includes(u))&&a.push(u);var f=u.shadowRoot||"function"==typeof i.getShadowRoot&&i.getShadowRoot(u),s=!i.shadowRootFilter||i.shadowRootFilter(u);if(f&&s){var p=e(!0===f?u.children:f.children,!0,i);i.flatten?a.push.apply(a,p):a.push({scope:u,candidates:p})}else l.unshift.apply(l,u.children)}}return a},u=function(e,t){return e.tabIndex<0&&(t||/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||e.isContentEditable)&&isNaN(parseInt(e.getAttribute("tabindex"),10))?0:e.tabIndex},c=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},d=function(e){return"INPUT"===e.tagName},f=function(e){return function(e){return d(e)&&"radio"===e.type}(e)&&!function(e){if(!e.name)return!0;var t,n=e.form||i(e),o=function(e){return n.querySelectorAll('input[type="radio"][name="'+e+'"]')};if("undefined"!=typeof window&&void 0!==window.CSS&&"function"==typeof window.CSS.escape)t=o(window.CSS.escape(e.name));else try{t=o(e.name)}catch(e){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",e.message),!1}var r=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]}(t,e.form);return!r||r===e}(e)}
403,s=function(e){var t=e.getBoundingClientRect(),n=t.width,o=t.height;return 0===n&&0===o},p=function(e,t){return!(t.disabled||function(e){return d(e)&&"hidden"===e.type}(t)||function(e,t){var n=t.displayCheck,o=t.getShadowRoot;if("hidden"===getComputedStyle(e).visibility)return!0;var a=r.call(e,"details>summary:first-of-type")?e.parentElement:e;if(r.call(a,"details:not([open]) *"))return!0;var l=i(e).host,u=(null==l?void 0:l.ownerDocument.contains(l))||e.ownerDocument.contains(e);if(n&&"full"!==n){if("non-zero-area"===n)return s(e)}else{if("function"==typeof o){for(var c=e;e;){var d=e.parentElement,f=i(e);if(d&&!d.shadowRoot&&!0===o(d))return s(e);e=e.assignedSlot?e.assignedSlot:d||f===e.ownerDocument?d:f.host}e=c}if(u)return!e.getClientRects().length}return!1}(t,e)||function(e){return"DETAILS"===e.tagName&&Array.prototype.slice.apply(e.children).some((function(e){return"SUMMARY"===e.tagName}))}(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(var n=0;n<t.children.length;n++){var o=t.children.item(n);if("LEGEND"===o.tagName)return!!r.call(t,"fieldset[disabled] *")||!o.contains(e)}return!0}t=t.parentElement}return!1}(t))},h=function(e,t){return!(f(t)||u(t)<0||!p(e,t))},b=function(e){var t=parseInt(e.getAttribute("tabindex"),10);return!!(isNaN(t)||t>=0)},m=t.concat("iframe").join(",");e.focusable=function(e,t){return(t=t||{}).getShadowRoot?l([e],t.includeContainer,{filter:p.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):a(e,t.includeContainer,p.bind(null,t))},e.isFocusable=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==r.call(e,m)&&p(t,e)},e.isTabbable=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==r.call(e,n)&&h(t,e)},e.tabbable=function(e,t){return function e(t){var n=[],o=[];return t.forEach((function(t,r){var i=!!t.scope,a=i?t.scope:t,l=u(a,i),c=i?e(t.candidates):a;0===l?i?n.push.apply(n,c):n.push(a):o.push({documentOrder:r,tabIndex:l,item:t,isScope:i,content:c})})),o.sort(c).reduce((function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e}),[]).concat(n)}((t=t||{}).getShadowRoot?l([e],t.includeContainer,{filter:h.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:b}):a(e,t.includeContainer,h.bind(null,t)))},Object.defineProperty(e,"__esModule",{value:!0})}));
404
405;
406/**
407 * lightgallery | 2.5.0-beta.2 | March 6th 2022
408 * http://www.lightgalleryjs.com/
409 * Copyright (c) 2020 Sachin Neravath;
410 * @license GPLv3
411 */
412
413!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 413
413,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">
413\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
413id 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 413
413this.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
413ive="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 413-422
413SlideType(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)}}));
414;
415/**
416 * lightgallery | 2.5.0-beta.2 | March 6th 2022
417 * http://www.lightgalleryjs.com/
418 * Copyright (c) 2020 Sachin Neravath;
419 * @license GPLv3
420 */
421
422!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 422
422ight:"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||{};
422return 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}()}));
423;
424/**
425 * lightgallery | 2.5.0-beta.2 | March 6th 2022
426 * http://www.lightgalleryjs.com/
427 * Copyright (c) 2020 Sachin Neravath;
428 * @license GPLv3
429 */
430
431!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>
4311&&(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)))}
431)),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));
431c=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}()}));
432;
433/**
434 * lightgallery | 2.7.0 | October 9th 2022
435 * http://www.lightgalleryjs.com/
436 * Copyright (c) 2020 Sachin Neravath;
437 * @license GPLv3
438 */
439
440 !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=
440opaque&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}()}));;
441/**
442 * Swiper 8.3.2
443 * Most modern mobile touch slider and framework with hardware accelerated transitions
444 * https://swiperjs.com
445 *
446 * Copyright 2014-2022 Vladimir Kharlampidi
447 *
448 * Released under the MIT License
449 *
450 * Released on: July 26, 2022
451 */
452
453 !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 453
453),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 453
453parseFloat(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}
453(),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 453
453dLengths&&(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;
453if(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;
453n.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 453
453!!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 453
453if(!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 453
453n[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({}
453,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}
453rtl`),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();
453return 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=>
453{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 453
453if(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
453ime: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}
453-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 453
453)),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,
4530,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}
453px,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 453
453{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)=>
453{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();
453if(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 453
453t.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));
453const 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);
453let 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}));
454 
455(function (global, factory) {
456	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
457	typeof define === 'function' && define.amd ? define(['exports'], factory) :
458	(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.IMask = {}));
459})(this, (function (exports) { 'use strict';
460
461	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
462
463	var check = function (it) {
464	  return it && it.Math == Math && it;
465	}; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
466
467
468	var global$p = // eslint-disable-next-line es/no-global-this -- safe
469	check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe
470	check(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback
471	function () {
472	  return this;
473	}() || Function('return this')();
474
475	var objectGetOwnPropertyDescriptor = {};
476
477	var fails$8 = function (exec) {
478	  try {
479	    return !!exec();
480	  } catch (error) {
481	    return true;
482	  }
483	};
484
485	var fails$7 = fails$8; // Detect IE8's incomplete defineProperty implementation
486
487
488	var descriptors = !fails$7(function () {
489	  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
490	  return Object.defineProperty({}, 1, {
491	    get: function () {
492	      return 7;
493	    }
494	  })[1] != 7;
495	});
496
497	var fails$6 = fails$8;
498
499	var functionBindNative = !fails$6(function () {
500	  var test = function () {
501	    /* empty */
502	  }.bind(); // eslint-disable-next-line no-prototype-builtins -- safe
503
504
505	  return typeof test != 'function' || test.hasOwnProperty('prototype');
506	});
507
508	var NATIVE_BIND$1 = functionBindNative;
509
510	var call$5 = Function.prototype.call;
511	var functionCall = NATIVE_BIND$1 ? call$5.bind(call$5) : function () {
512	  return call$5.apply(call$5, arguments);
513	};
514
515	var objectPropertyIsEnumerable = {};
516
517	var $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
518
519	var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug
520
521	var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({
522	  1: 2
523	}, 1); // `Object.prototype.propertyIsEnumerable` method implementation
524	// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
525
526	objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
527	  var descriptor = getOwnPropertyDescriptor$1(this, V);
528	  return !!descriptor && descriptor.enumerable;
529	} : $propertyIsEnumerable;
530
531	var createPropertyDescriptor$2 = function (bitmap, value) {
532	  return {
533	    enumerable: !(bitmap & 1),
534	    configurable: !(bitmap & 2),
535	    writable: !(bitmap & 4),
536	    value: value
537	  };
538	};
539
540	var NATIVE_BIND = functionBindNative;
541
542	var FunctionPrototype$1 = Function.prototype;
543	var bind = FunctionPrototype$1.bind;
544	var call$4 = FunctionPrototype$1.call;
545	var uncurryThis$b = NATIVE_BIND && bind.bind(call$4, call$4);
546	var functionUncurryThis = NATIVE_BIND ? function (fn) {
547	  return fn && uncurryThis$b(fn);
548	} : function (fn) {
549	  return fn && function () {
550	    return call$4.apply(fn, arguments);
551	  };
552	};
553
554	var uncurryThis$a = functionUncurryThis;
555
556	var toString$4 = uncurryThis$a({}.toString);
557	var stringSlice$1 = uncurryThis$a(''.slice);
558
559	var classofRaw$1 = function (it) {
560	  return stringSlice$1(toString$4(it), 8, -1);
561	};
562
563	var global$o = global$p;
564
565	var uncurryThis$9 = functionUncurryThis;
566
567	var fails$5 = fails$8;
568
569	var classof$2 = classofRaw$1;
570
571	var Object$4 = global$o.Object;
572	var split = uncurryThis$9(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings
573
574	var indexedObject = fails$5(function () {
575	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
576	  // eslint-disable-next-line no-prototype-builtins -- safe
577	  return !Object$4('z').propertyIsEnumerable(0);
578	}) ? function (it) {
579	  return classof$2(it) == 'String' ? split(it, '') : Object$4(it);
580	} : Object$4;
vendor: 12,307 bytes, lines 581-1011
581
582	var global$n = global$p;
583
584	var TypeError$7 = global$n.TypeError; // `RequireObjectCoercible` abstract operation
585	// https://tc39.es/ecma262/#sec-requireobjectcoercible
586
587	var requireObjectCoercible$4 = function (it) {
588	  if (it == undefined) throw TypeError$7("Can't call method on " + it);
589	  return it;
590	};
591
592	// toObject with fallback for non-array-like ES3 strings
593	var IndexedObject$1 = indexedObject;
594
595	var requireObjectCoercible$3 = requireObjectCoercible$4;
596
597	var toIndexedObject$3 = function (it) {
598	  return IndexedObject$1(requireObjectCoercible$3(it));
599	};
600
601	// `IsCallable` abstract operation
602	// https://tc39.es/ecma262/#sec-iscallable
603	var isCallable$a = function (argument) {
604	  return typeof argument == 'function';
605	};
606
607	var isCallable$9 = isCallable$a;
608
609	var isObject$5 = function (it) {
610	  return typeof it == 'object' ? it !== null : isCallable$9(it);
611	};
612
613	var global$m = global$p;
614
615	var isCallable$8 = isCallable$a;
616
617	var aFunction = function (argument) {
618	  return isCallable$8(argument) ? argument : undefined;
619	};
620
621	var getBuiltIn$3 = function (namespace, method) {
622	  return arguments.length < 2 ? aFunction(global$m[namespace]) : global$m[namespace] && global$m[namespace][method];
623	};
624
625	var uncurryThis$8 = functionUncurryThis;
626
627	var objectIsPrototypeOf = uncurryThis$8({}.isPrototypeOf);
628
629	var getBuiltIn$2 = getBuiltIn$3;
630
631	var engineUserAgent = getBuiltIn$2('navigator', 'userAgent') || '';
632
633	var global$l = global$p;
634
635	var userAgent$1 = engineUserAgent;
636
637	var process = global$l.process;
638	var Deno = global$l.Deno;
639	var versions = process && process.versions || Deno && Deno.version;
640	var v8 = versions && versions.v8;
641	var match, version;
642
643	if (v8) {
644	  match = v8.split('.'); // in old Chrome, versions of V8 isn't V8 = Chrome / 10
645	  // but their correct versions are not interesting for us
646
647	  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
648	} // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
649	// so check `userAgent` even if `.v8` exists, but 0
650
651
652	if (!version && userAgent$1) {
653	  match = userAgent$1.match(/Edge\/(\d+)/);
654
655	  if (!match || match[1] >= 74) {
656	    match = userAgent$1.match(/Chrome\/(\d+)/);
657	    if (match) version = +match[1];
658	  }
659	}
660
661	var engineV8Version = version;
662
663	/* eslint-disable es/no-symbol -- required for testing */
664
665	var V8_VERSION = engineV8Version;
666
667	var fails$4 = fails$8; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
668
669
670	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$4(function () {
671	  var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion
672	  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
673
674	  return !String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
675	  !Symbol.sham && V8_VERSION && V8_VERSION < 41;
676	});
677
678	/* eslint-disable es/no-symbol -- required for testing */
679
680	var NATIVE_SYMBOL$1 = nativeSymbol;
681
682	var useSymbolAsUid = NATIVE_SYMBOL$1 && !Symbol.sham && typeof Symbol.iterator == 'symbol';
683
684	var global$k = global$p;
685
686	var getBuiltIn$1 = getBuiltIn$3;
687
688	var isCallable$7 = isCallable$a;
689
690	var isPrototypeOf = objectIsPrototypeOf;
691
692	var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
693
694	var Object$3 = global$k.Object;
695	var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
696	  return typeof it == 'symbol';
697	} : function (it) {
698	  var $Symbol = getBuiltIn$1('Symbol');
699	  return isCallable$7($Symbol) && isPrototypeOf($Symbol.prototype, Object$3(it));
700	};
701
702	var global$j = global$p;
703
704	var String$3 = global$j.String;
705
706	var tryToString$1 = function (argument) {
707	  try {
708	    return String$3(argument);
709	  } catch (error) {
710	    return 'Object';
711	  }
712	};
713
714	var global$i = global$p;
715
716	var isCallable$6 = isCallable$a;
717
718	var tryToString = tryToString$1;
719
720	var TypeError$6 = global$i.TypeError; // `Assert: IsCallable(argument) is true`
721
722	var aCallable$1 = function (argument) {
723	  if (isCallable$6(argument)) return argument;
724	  throw TypeError$6(tryToString(argument) + ' is not a function');
725	};
726
727	var aCallable = aCallable$1; // `GetMethod` abstract operation
728	// https://tc39.es/ecma262/#sec-getmethod
729
730
731	var getMethod$1 = function (V, P) {
732	  var func = V[P];
733	  return func == null ? undefined : aCallable(func);
734	};
735
736	var global$h = global$p;
737
738	var call$3 = functionCall;
739
740	var isCallable$5 = isCallable$a;
741
742	var isObject$4 = isObject$5;
743
744	var TypeError$5 = global$h.TypeError; // `OrdinaryToPrimitive` abstract operation
745	// https://tc39.es/ecma262/#sec-ordinarytoprimitive
746
747	var ordinaryToPrimitive$1 = function (input, pref) {
748	  var fn, val;
749	  if (pref === 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$3(fn, input))) return val;
750	  if (isCallable$5(fn = input.valueOf) && !isObject$4(val = call$3(fn, input))) return val;
751	  if (pref !== 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$3(fn, input))) return val;
752	  throw TypeError$5("Can't convert object to primitive value");
753	};
754
755	var shared$3 = {exports: {}};
756
757	var global$g = global$p; // eslint-disable-next-line es/no-object-defineproperty -- safe
758
759
760	var defineProperty$1 = Object.defineProperty;
761
762	var setGlobal$3 = function (key, value) {
763	  try {
764	    defineProperty$1(global$g, key, {
765	      value: value,
766	      configurable: true,
767	      writable: true
768	    });
769	  } catch (error) {
770	    global$g[key] = value;
771	  }
772
773	  return value;
774	};
775
776	var global$f = global$p;
777
778	var setGlobal$2 = setGlobal$3;
779
780	var SHARED = '__core-js_shared__';
781	var store$3 = global$f[SHARED] || setGlobal$2(SHARED, {});
782	var sharedStore = store$3;
783
784	var store$2 = sharedStore;
785
786	(shared$3.exports = function (key, value) {
787	  return store$2[key] || (store$2[key] = value !== undefined ? value : {});
788	})('versions', []).push({
789	  version: '3.21.0',
790	  mode: 'global',
791	  copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
792	  license: 'https://github.com/zloirock/core-js/blob/v3.21.0/LICENSE',
793	  source: 'https://github.com/zloirock/core-js'
794	});
795
796	var global$e = global$p;
797
798	var requireObjectCoercible$2 = requireObjectCoercible$4;
799
800	var Object$2 = global$e.Object; // `ToObject` abstract operation
801	// https://tc39.es/ecma262/#sec-toobject
802
803	var toObject$2 = function (argument) {
804	  return Object$2(requireObjectCoercible$2(argument));
805	};
806
807	var uncurryThis$7 = functionUncurryThis;
808
809	var toObject$1 = toObject$2;
810
811	var hasOwnProperty = uncurryThis$7({}.hasOwnProperty); // `HasOwnProperty` abstract operation
812	// https://tc39.es/ecma262/#sec-hasownproperty
813
814	var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
815	  return hasOwnProperty(toObject$1(it), key);
816	};
817
818	var uncurryThis$6 = functionUncurryThis;
819
820	var id = 0;
821	var postfix = Math.random();
822	var toString$3 = uncurryThis$6(1.0.toString);
823
824	var uid$2 = function (key) {
825	  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$3(++id + postfix, 36);
826	};
827
828	var global$d = global$p;
829
830	var shared$2 = shared$3.exports;
831
832	var hasOwn$6 = hasOwnProperty_1;
833
834	var uid$1 = uid$2;
835
836	var NATIVE_SYMBOL = nativeSymbol;
837
838	var USE_SYMBOL_AS_UID = useSymbolAsUid;
839
840	var WellKnownSymbolsStore = shared$2('wks');
841	var Symbol$1 = global$d.Symbol;
842	var symbolFor = Symbol$1 && Symbol$1['for'];
843	var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
844
845	var wellKnownSymbol$3 = function (name) {
846	  if (!hasOwn$6(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
847	    var description = 'Symbol.' + name;
848
849	    if (NATIVE_SYMBOL && hasOwn$6(Symbol$1, name)) {
850	      WellKnownSymbolsStore[name] = Symbol$1[name];
851	    } else if (USE_SYMBOL_AS_UID && symbolFor) {
852	      WellKnownSymbolsStore[name] = symbolFor(description);
853	    } else {
854	      WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
855	    }
856	  }
857
858	  return WellKnownSymbolsStore[name];
859	};
860
861	var global$c = global$p;
862
863	var call$2 = functionCall;
864
865	var isObject$3 = isObject$5;
866
867	var isSymbol$1 = isSymbol$2;
868
869	var getMethod = getMethod$1;
870
871	var ordinaryToPrimitive = ordinaryToPrimitive$1;
872
873	var wellKnownSymbol$2 = wellKnownSymbol$3;
874
875	var TypeError$4 = global$c.TypeError;
876	var TO_PRIMITIVE = wellKnownSymbol$2('toPrimitive'); // `ToPrimitive` abstract operation
877	// https://tc39.es/ecma262/#sec-toprimitive
878
879	var toPrimitive$1 = function (input, pref) {
880	  if (!isObject$3(input) || isSymbol$1(input)) return input;
881	  var exoticToPrim = getMethod(input, TO_PRIMITIVE);
882	  var result;
883
884	  if (exoticToPrim) {
885	    if (pref === undefined) pref = 'default';
886	    result = call$2(exoticToPrim, input, pref);
887	    if (!isObject$3(result) || isSymbol$1(result)) return result;
888	    throw TypeError$4("Can't convert object to primitive value");
889	  }
890
891	  if (pref === undefined) pref = 'number';
892	  return ordinaryToPrimitive(input, pref);
893	};
894
895	var toPrimitive = toPrimitive$1;
896
897	var isSymbol = isSymbol$2; // `ToPropertyKey` abstract operation
898	// https://tc39.es/ecma262/#sec-topropertykey
899
900
901	var toPropertyKey$2 = function (argument) {
902	  var key = toPrimitive(argument, 'string');
903	  return isSymbol(key) ? key : key + '';
904	};
905
906	var global$b = global$p;
907
908	var isObject$2 = isObject$5;
909
910	var document$1 = global$b.document; // typeof document.createElement is 'object' in old IE
911
912	var EXISTS$1 = isObject$2(document$1) && isObject$2(document$1.createElement);
913
914	var documentCreateElement = function (it) {
915	  return EXISTS$1 ? document$1.createElement(it) : {};
916	};
917
918	var DESCRIPTORS$6 = descriptors;
919
920	var fails$3 = fails$8;
921
922	var createElement = documentCreateElement; // Thanks to IE8 for its funny defineProperty
923
924
925	var ie8DomDefine = !DESCRIPTORS$6 && !fails$3(function () {
926	  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
927	  return Object.defineProperty(createElement('div'), 'a', {
928	    get: function () {
929	      return 7;
930	    }
931	  }).a != 7;
932	});
933
934	var DESCRIPTORS$5 = descriptors;
935
936	var call$1 = functionCall;
937
938	var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
939
940	var createPropertyDescriptor$1 = createPropertyDescriptor$2;
941
942	var toIndexedObject$2 = toIndexedObject$3;
943
944	var toPropertyKey$1 = toPropertyKey$2;
945
946	var hasOwn$5 = hasOwnProperty_1;
947
948	var IE8_DOM_DEFINE$1 = ie8DomDefine; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
949
950
951	var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method
952	// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
953
954	objectGetOwnPropertyDescriptor.f = DESCRIPTORS$5 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
955	  O = toIndexedObject$2(O);
956	  P = toPropertyKey$1(P);
957	  if (IE8_DOM_DEFINE$1) try {
958	    return $getOwnPropertyDescriptor$1(O, P);
959	  } catch (error) {
960	    /* empty */
961	  }
962	  if (hasOwn$5(O, P)) return createPropertyDescriptor$1(!call$1(propertyIsEnumerableModule$1.f, O, P), O[P]);
963	};
964
965	var objectDefineProperty = {};
966
967	var DESCRIPTORS$4 = descriptors;
968
969	var fails$2 = fails$8; // V8 ~ Chrome 36-
970	// https://bugs.chromium.org/p/v8/issues/detail?id=3334
971
972
973	var v8PrototypeDefineBug = DESCRIPTORS$4 && fails$2(function () {
974	  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
975	  return Object.defineProperty(function () {
976	    /* empty */
977	  }, 'prototype', {
978	    value: 42,
979	    writable: false
980	  }).prototype != 42;
981	});
982
983	var global$a = global$p;
984
985	var isObject$1 = isObject$5;
986
987	var String$2 = global$a.String;
988	var TypeError$3 = global$a.TypeError; // `Assert: Type(argument) is Object`
989
990	var anObject$2 = function (argument) {
991	  if (isObject$1(argument)) return argument;
992	  throw TypeError$3(String$2(argument) + ' is not an object');
993	};
994
995	var global$9 = global$p;
996
997	var DESCRIPTORS$3 = descriptors;
998
999	var IE8_DOM_DEFINE = ie8DomDefine;
1000
1001	var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
1002
1003	var anObject$1 = anObject$2;
1004
1005	var toPropertyKey = toPropertyKey$2;
1006
1007	var TypeError$2 = global$9.TypeError; // eslint-disable-next-line es/no-object-defineproperty -- safe
1008
1009	var $defineProperty = Object.defineProperty; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1010
1011	var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
vendor: 5,766 bytes, lines 1012-1226
1012	var ENUMERABLE = 'enumerable';
1013	var CONFIGURABLE$1 = 'configurable';
1014	var WRITABLE = 'writable'; // `Object.defineProperty` method
1015	// https://tc39.es/ecma262/#sec-object.defineproperty
1016
1017	objectDefineProperty.f = DESCRIPTORS$3 ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
1018	  anObject$1(O);
1019	  P = toPropertyKey(P);
1020	  anObject$1(Attributes);
1021
1022	  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
1023	    var current = $getOwnPropertyDescriptor(O, P);
1024
1025	    if (current && current[WRITABLE]) {
1026	      O[P] = Attributes.value;
1027	      Attributes = {
1028	        configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
1029	        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
1030	        writable: false
1031	      };
1032	    }
1033	  }
1034
1035	  return $defineProperty(O, P, Attributes);
1036	} : $defineProperty : function defineProperty(O, P, Attributes) {
1037	  anObject$1(O);
1038	  P = toPropertyKey(P);
1039	  anObject$1(Attributes);
1040	  if (IE8_DOM_DEFINE) try {
1041	    return $defineProperty(O, P, Attributes);
1042	  } catch (error) {
1043	    /* empty */
1044	  }
1045	  if ('get' in Attributes || 'set' in Attributes) throw TypeError$2('Accessors not supported');
1046	  if ('value' in Attributes) O[P] = Attributes.value;
1047	  return O;
1048	};
1049
1050	var DESCRIPTORS$2 = descriptors;
1051
1052	var definePropertyModule$1 = objectDefineProperty;
1053
1054	var createPropertyDescriptor = createPropertyDescriptor$2;
1055
1056	var createNonEnumerableProperty$3 = DESCRIPTORS$2 ? function (object, key, value) {
1057	  return definePropertyModule$1.f(object, key, createPropertyDescriptor(1, value));
1058	} : function (object, key, value) {
1059	  object[key] = value;
1060	  return object;
1061	};
1062
1063	var redefine$1 = {exports: {}};
1064
1065	var uncurryThis$5 = functionUncurryThis;
1066
1067	var isCallable$4 = isCallable$a;
1068
1069	var store$1 = sharedStore;
1070
1071	var functionToString = uncurryThis$5(Function.toString); // this helper broken in `[email protected]`, so we can't use `shared` helper
1072
1073	if (!isCallable$4(store$1.inspectSource)) {
1074	  store$1.inspectSource = function (it) {
1075	    return functionToString(it);
1076	  };
1077	}
1078
1079	var inspectSource$2 = store$1.inspectSource;
1080
1081	var global$8 = global$p;
1082
1083	var isCallable$3 = isCallable$a;
1084
1085	var inspectSource$1 = inspectSource$2;
1086
1087	var WeakMap$1 = global$8.WeakMap;
1088	var nativeWeakMap = isCallable$3(WeakMap$1) && /native code/.test(inspectSource$1(WeakMap$1));
1089
1090	var shared$1 = shared$3.exports;
1091
1092	var uid = uid$2;
1093
1094	var keys = shared$1('keys');
1095
1096	var sharedKey$1 = function (key) {
1097	  return keys[key] || (keys[key] = uid(key));
1098	};
1099
1100	var hiddenKeys$3 = {};
1101
1102	var NATIVE_WEAK_MAP = nativeWeakMap;
1103
1104	var global$7 = global$p;
1105
1106	var uncurryThis$4 = functionUncurryThis;
1107
1108	var isObject = isObject$5;
1109
1110	var createNonEnumerableProperty$2 = createNonEnumerableProperty$3;
1111
1112	var hasOwn$4 = hasOwnProperty_1;
1113
1114	var shared = sharedStore;
1115
1116	var sharedKey = sharedKey$1;
1117
1118	var hiddenKeys$2 = hiddenKeys$3;
1119
1120	var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
1121	var TypeError$1 = global$7.TypeError;
1122	var WeakMap = global$7.WeakMap;
1123	var set$1, get, has;
1124
1125	var enforce = function (it) {
1126	  return has(it) ? get(it) : set$1(it, {});
1127	};
1128
1129	var getterFor = function (TYPE) {
1130	  return function (it) {
1131	    var state;
1132
1133	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
1134	      throw TypeError$1('Incompatible receiver, ' + TYPE + ' required');
1135	    }
1136
1137	    return state;
1138	  };
1139	};
1140
1141	if (NATIVE_WEAK_MAP || shared.state) {
1142	  var store = shared.state || (shared.state = new WeakMap());
1143	  var wmget = uncurryThis$4(store.get);
1144	  var wmhas = uncurryThis$4(store.has);
1145	  var wmset = uncurryThis$4(store.set);
1146
1147	  set$1 = function (it, metadata) {
1148	    if (wmhas(store, it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
1149	    metadata.facade = it;
1150	    wmset(store, it, metadata);
1151	    return metadata;
1152	  };
1153
1154	  get = function (it) {
1155	    return wmget(store, it) || {};
1156	  };
1157
1158	  has = function (it) {
1159	    return wmhas(store, it);
1160	  };
1161	} else {
1162	  var STATE = sharedKey('state');
1163	  hiddenKeys$2[STATE] = true;
1164
1165	  set$1 = function (it, metadata) {
1166	    if (hasOwn$4(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
1167	    metadata.facade = it;
1168	    createNonEnumerableProperty$2(it, STATE, metadata);
1169	    return metadata;
1170	  };
1171
1172	  get = function (it) {
1173	    return hasOwn$4(it, STATE) ? it[STATE] : {};
1174	  };
1175
1176	  has = function (it) {
1177	    return hasOwn$4(it, STATE);
1178	  };
1179	}
1180
1181	var internalState = {
1182	  set: set$1,
1183	  get: get,
1184	  has: has,
1185	  enforce: enforce,
1186	  getterFor: getterFor
1187	};
1188
1189	var DESCRIPTORS$1 = descriptors;
1190
1191	var hasOwn$3 = hasOwnProperty_1;
1192
1193	var FunctionPrototype = Function.prototype; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1194
1195	var getDescriptor = DESCRIPTORS$1 && Object.getOwnPropertyDescriptor;
1196	var EXISTS = hasOwn$3(FunctionPrototype, 'name'); // additional protection from minified / mangled / dropped function names
1197
1198	var PROPER = EXISTS && function something() {
1199	  /* empty */
1200	}.name === 'something';
1201
1202	var CONFIGURABLE = EXISTS && (!DESCRIPTORS$1 || DESCRIPTORS$1 && getDescriptor(FunctionPrototype, 'name').configurable);
1203	var functionName = {
1204	  EXISTS: EXISTS,
1205	  PROPER: PROPER,
1206	  CONFIGURABLE: CONFIGURABLE
1207	};
1208
1209	var global$6 = global$p;
1210
1211	var isCallable$2 = isCallable$a;
1212
1213	var hasOwn$2 = hasOwnProperty_1;
1214
1215	var createNonEnumerableProperty$1 = createNonEnumerableProperty$3;
1216
1217	var setGlobal$1 = setGlobal$3;
1218
1219	var inspectSource = inspectSource$2;
1220
1221	var InternalStateModule = internalState;
1222
1223	var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
1224
1225	var getInternalState = InternalStateModule.get;
1226	var enforceInternalState = InternalStateModule.enforce;
vendor: 4,855 bytes, lines 1227-1370
1227	var TEMPLATE = String(String).split('String');
1228	(redefine$1.exports = function (O, key, value, options) {
1229	  var unsafe = options ? !!options.unsafe : false;
1230	  var simple = options ? !!options.enumerable : false;
1231	  var noTargetGet = options ? !!options.noTargetGet : false;
1232	  var name = options && options.name !== undefined ? options.name : key;
1233	  var state;
1234
1235	  if (isCallable$2(value)) {
1236	    if (String(name).slice(0, 7) === 'Symbol(') {
1237	      name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
1238	    }
1239
1240	    if (!hasOwn$2(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) {
1241	      createNonEnumerableProperty$1(value, 'name', name);
1242	    }
1243
1244	    state = enforceInternalState(value);
1245
1246	    if (!state.source) {
1247	      state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
1248	    }
1249	  }
1250
1251	  if (O === global$6) {
1252	    if (simple) O[key] = value;else setGlobal$1(key, value);
1253	    return;
1254	  } else if (!unsafe) {
1255	    delete O[key];
1256	  } else if (!noTargetGet && O[key]) {
1257	    simple = true;
1258	  }
1259
1260	  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
1261	})(Function.prototype, 'toString', function toString() {
1262	  return isCallable$2(this) && getInternalState(this).source || inspectSource(this);
1263	});
1264
1265	var objectGetOwnPropertyNames = {};
1266
1267	var ceil$1 = Math.ceil;
1268	var floor = Math.floor; // `ToIntegerOrInfinity` abstract operation
1269	// https://tc39.es/ecma262/#sec-tointegerorinfinity
1270
1271	var toIntegerOrInfinity$3 = function (argument) {
1272	  var number = +argument; // eslint-disable-next-line no-self-compare -- safe
1273
1274	  return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil$1)(number);
1275	};
1276
1277	var toIntegerOrInfinity$2 = toIntegerOrInfinity$3;
1278
1279	var max = Math.max;
1280	var min$1 = Math.min; // Helper for a popular repeating case of the spec:
1281	// Let integer be ? ToInteger(index).
1282	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
1283
1284	var toAbsoluteIndex$1 = function (index, length) {
1285	  var integer = toIntegerOrInfinity$2(index);
1286	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
1287	};
1288
1289	var toIntegerOrInfinity$1 = toIntegerOrInfinity$3;
1290
1291	var min = Math.min; // `ToLength` abstract operation
1292	// https://tc39.es/ecma262/#sec-tolength
1293
1294	var toLength$2 = function (argument) {
1295	  return argument > 0 ? min(toIntegerOrInfinity$1(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
1296	};
1297
1298	var toLength$1 = toLength$2; // `LengthOfArrayLike` abstract operation
1299	// https://tc39.es/ecma262/#sec-lengthofarraylike
1300
1301
1302	var lengthOfArrayLike$1 = function (obj) {
1303	  return toLength$1(obj.length);
1304	};
1305
1306	var toIndexedObject$1 = toIndexedObject$3;
1307
1308	var toAbsoluteIndex = toAbsoluteIndex$1;
1309
1310	var lengthOfArrayLike = lengthOfArrayLike$1; // `Array.prototype.{ indexOf, includes }` methods implementation
1311
1312
1313	var createMethod$1 = function (IS_INCLUDES) {
1314	  return function ($this, el, fromIndex) {
1315	    var O = toIndexedObject$1($this);
1316	    var length = lengthOfArrayLike(O);
1317	    var index = toAbsoluteIndex(fromIndex, length);
1318	    var value; // Array#includes uses SameValueZero equality algorithm
1319	    // eslint-disable-next-line no-self-compare -- NaN check
1320
1321	    if (IS_INCLUDES && el != el) while (length > index) {
1322	      value = O[index++]; // eslint-disable-next-line no-self-compare -- NaN check
1323
1324	      if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not
1325	    } else for (; length > index; index++) {
1326	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
1327	    }
1328	    return !IS_INCLUDES && -1;
1329	  };
1330	};
1331
1332	var arrayIncludes = {
1333	  // `Array.prototype.includes` method
1334	  // https://tc39.es/ecma262/#sec-array.prototype.includes
1335	  includes: createMethod$1(true),
1336	  // `Array.prototype.indexOf` method
1337	  // https://tc39.es/ecma262/#sec-array.prototype.indexof
1338	  indexOf: createMethod$1(false)
1339	};
1340
1341	var uncurryThis$3 = functionUncurryThis;
1342
1343	var hasOwn$1 = hasOwnProperty_1;
1344
1345	var toIndexedObject = toIndexedObject$3;
1346
1347	var indexOf = arrayIncludes.indexOf;
1348
1349	var hiddenKeys$1 = hiddenKeys$3;
1350
1351	var push = uncurryThis$3([].push);
1352
1353	var objectKeysInternal = function (object, names) {
1354	  var O = toIndexedObject(object);
1355	  var i = 0;
1356	  var result = [];
1357	  var key;
1358
1359	  for (key in O) !hasOwn$1(hiddenKeys$1, key) && hasOwn$1(O, key) && push(result, key); // Don't enum bug & hidden keys
1360
1361
1362	  while (names.length > i) if (hasOwn$1(O, key = names[i++])) {
1363	    ~indexOf(result, key) || push(result, key);
1364	  }
1365
1366	  return result;
1367	};
1368
1369	// IE8- don't enum bug keys
1370	var enumBugKeys$2 = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleStr
vendor: 4,755 bytes, lines 1370-1506
1370ing', 'toString', 'valueOf'];
1371
1372	var internalObjectKeys$1 = objectKeysInternal;
1373
1374	var enumBugKeys$1 = enumBugKeys$2;
1375
1376	var hiddenKeys = enumBugKeys$1.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method
1377	// https://tc39.es/ecma262/#sec-object.getownpropertynames
1378	// eslint-disable-next-line es/no-object-getownpropertynames -- safe
1379
1380	objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
1381	  return internalObjectKeys$1(O, hiddenKeys);
1382	};
1383
1384	var objectGetOwnPropertySymbols = {};
1385
1386	// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
1387	objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
1388
1389	var getBuiltIn = getBuiltIn$3;
1390
1391	var uncurryThis$2 = functionUncurryThis;
1392
1393	var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
1394
1395	var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
1396
1397	var anObject = anObject$2;
1398
1399	var concat$1 = uncurryThis$2([].concat); // all object keys, includes non-enumerable and symbols
1400
1401	var ownKeys$1 = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
1402	  var keys = getOwnPropertyNamesModule.f(anObject(it));
1403	  var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
1404	  return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys;
1405	};
1406
1407	var hasOwn = hasOwnProperty_1;
1408
1409	var ownKeys = ownKeys$1;
1410
1411	var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
1412
1413	var definePropertyModule = objectDefineProperty;
1414
1415	var copyConstructorProperties$1 = function (target, source, exceptions) {
1416	  var keys = ownKeys(source);
1417	  var defineProperty = definePropertyModule.f;
1418	  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
1419
1420	  for (var i = 0; i < keys.length; i++) {
1421	    var key = keys[i];
1422
1423	    if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
1424	      defineProperty(target, key, getOwnPropertyDescriptor(source, key));
1425	    }
1426	  }
1427	};
1428
1429	var fails$1 = fails$8;
1430
1431	var isCallable$1 = isCallable$a;
1432
1433	var replacement = /#|\.prototype\./;
1434
1435	var isForced$1 = function (feature, detection) {
1436	  var value = data[normalize(feature)];
1437	  return value == POLYFILL ? true : value == NATIVE ? false : isCallable$1(detection) ? fails$1(detection) : !!detection;
1438	};
1439
1440	var normalize = isForced$1.normalize = function (string) {
1441	  return String(string).replace(replacement, '.').toLowerCase();
1442	};
1443
1444	var data = isForced$1.data = {};
1445	var NATIVE = isForced$1.NATIVE = 'N';
1446	var POLYFILL = isForced$1.POLYFILL = 'P';
1447	var isForced_1 = isForced$1;
1448
1449	var global$5 = global$p;
1450
1451	var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
1452
1453	var createNonEnumerableProperty = createNonEnumerableProperty$3;
1454
1455	var redefine = redefine$1.exports;
1456
1457	var setGlobal = setGlobal$3;
1458
1459	var copyConstructorProperties = copyConstructorProperties$1;
1460
1461	var isForced = isForced_1;
1462	/*
1463	  options.target      - name of the target object
1464	  options.global      - target is the global object
1465	  options.stat        - export as static methods of target
1466	  options.proto       - export as prototype methods of target
1467	  options.real        - real prototype method for the `pure` version
1468	  options.forced      - export even if the native feature is available
1469	  options.bind        - bind methods to the target, required for the `pure` version
1470	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
1471	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
1472	  options.sham        - add a flag to not completely full polyfills
1473	  options.enumerable  - export as enumerable property
1474	  options.noTargetGet - prevent calling a getter on target
1475	  options.name        - the .name of the function if it does not match the key
1476	*/
1477
1478
1479	var _export = function (options, source) {
1480	  var TARGET = options.target;
1481	  var GLOBAL = options.global;
1482	  var STATIC = options.stat;
1483	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
1484
1485	  if (GLOBAL) {
1486	    target = global$5;
1487	  } else if (STATIC) {
1488	    target = global$5[TARGET] || setGlobal(TARGET, {});
1489	  } else {
1490	    target = (global$5[TARGET] || {}).prototype;
1491	  }
1492
1493	  if (target) for (key in source) {
1494	    sourceProperty = source[key];
1495
1496	    if (options.noTargetGet) {
1497	      descriptor = getOwnPropertyDescriptor(target, key);
1498	      targetProperty = descriptor && descriptor.value;
1499	    } else targetProperty = target[key];
1500
1501	    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target
1502
1503	    if (!FORCED && targetProperty !== undefined) {
1504	      if (typeof sourceProperty == typeof targetProperty) continue;
1505	      copyConstructorProperties(sourceProperty, targetProperty);
1506	    }
vendor: 10,076 bytes, lines 1506-1869
1506 // add a flag to not completely full polyfills
1507
1508
1509	    if (options.sham || targetProperty && targetProperty.sham) {
1510	      createNonEnumerableProperty(sourceProperty, 'sham', true);
1511	    } // extend global
1512
1513
1514	    redefine(target, key, sourceProperty, options);
1515	  }
1516	};
1517
1518	var internalObjectKeys = objectKeysInternal;
1519
1520	var enumBugKeys = enumBugKeys$2; // `Object.keys` method
1521	// https://tc39.es/ecma262/#sec-object.keys
1522	// eslint-disable-next-line es/no-object-keys -- safe
1523
1524
1525	var objectKeys$1 = Object.keys || function keys(O) {
1526	  return internalObjectKeys(O, enumBugKeys);
1527	};
1528
1529	var DESCRIPTORS = descriptors;
1530
1531	var uncurryThis$1 = functionUncurryThis;
1532
1533	var call = functionCall;
1534
1535	var fails = fails$8;
1536
1537	var objectKeys = objectKeys$1;
1538
1539	var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
1540
1541	var propertyIsEnumerableModule = objectPropertyIsEnumerable;
1542
1543	var toObject = toObject$2;
1544
1545	var IndexedObject = indexedObject; // eslint-disable-next-line es/no-object-assign -- safe
1546
1547
1548	var $assign = Object.assign; // eslint-disable-next-line es/no-object-defineproperty -- required for testing
1549
1550	var defineProperty = Object.defineProperty;
1551	var concat = uncurryThis$1([].concat); // `Object.assign` method
1552	// https://tc39.es/ecma262/#sec-object.assign
1553
1554	var objectAssign = !$assign || fails(function () {
1555	  // should have correct order of operations (Edge bug)
1556	  if (DESCRIPTORS && $assign({
1557	    b: 1
1558	  }, $assign(defineProperty({}, 'a', {
1559	    enumerable: true,
1560	    get: function () {
1561	      defineProperty(this, 'b', {
1562	        value: 3,
1563	        enumerable: false
1564	      });
1565	    }
1566	  }), {
1567	    b: 2
1568	  })).b !== 1) return true; // should work with symbols and should have deterministic property order (V8 bug)
1569
1570	  var A = {};
1571	  var B = {}; // eslint-disable-next-line es/no-symbol -- safe
1572
1573	  var symbol = Symbol();
1574	  var alphabet = 'abcdefghijklmnopqrst';
1575	  A[symbol] = 7;
1576	  alphabet.split('').forEach(function (chr) {
1577	    B[chr] = chr;
1578	  });
1579	  return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;
1580	}) ? function assign(target, source) {
1581	  // eslint-disable-line no-unused-vars -- required for `.length`
1582	  var T = toObject(target);
1583	  var argumentsLength = arguments.length;
1584	  var index = 1;
1585	  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
1586	  var propertyIsEnumerable = propertyIsEnumerableModule.f;
1587
1588	  while (argumentsLength > index) {
1589	    var S = IndexedObject(arguments[index++]);
1590	    var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
1591	    var length = keys.length;
1592	    var j = 0;
1593	    var key;
1594
1595	    while (length > j) {
1596	      key = keys[j++];
1597	      if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];
1598	    }
1599	  }
1600
1601	  return T;
1602	} : $assign;
1603
1604	var $$4 = _export;
1605
1606	var assign = objectAssign; // `Object.assign` method
1607	// https://tc39.es/ecma262/#sec-object.assign
1608	// eslint-disable-next-line es/no-object-assign -- required for testing
1609
1610
1611	$$4({
1612	  target: 'Object',
1613	  stat: true,
1614	  forced: Object.assign !== assign
1615	}, {
1616	  assign: assign
1617	});
1618
1619	var wellKnownSymbol$1 = wellKnownSymbol$3;
1620
1621	var TO_STRING_TAG$1 = wellKnownSymbol$1('toStringTag');
1622	var test = {};
1623	test[TO_STRING_TAG$1] = 'z';
1624	var toStringTagSupport = String(test) === '[object z]';
1625
1626	var global$4 = global$p;
1627
1628	var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1629
1630	var isCallable = isCallable$a;
1631
1632	var classofRaw = classofRaw$1;
1633
1634	var wellKnownSymbol = wellKnownSymbol$3;
1635
1636	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
1637	var Object$1 = global$4.Object; // ES3 wrong here
1638
1639	var CORRECT_ARGUMENTS = classofRaw(function () {
1640	  return arguments;
1641	}()) == 'Arguments'; // fallback for IE11 Script Access Denied error
1642
1643	var tryGet = function (it, key) {
1644	  try {
1645	    return it[key];
1646	  } catch (error) {
1647	    /* empty */
1648	  }
1649	}; // getting tag from ES6+ `Object.prototype.toString`
1650
1651
1652	var classof$1 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1653	  var O, tag, result;
1654	  return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case
1655	  : typeof (tag = tryGet(O = Object$1(it), TO_STRING_TAG)) == 'string' ? tag // builtinTag case
1656	  : CORRECT_ARGUMENTS ? classofRaw(O) // ES3 arguments fallback
1657	  : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
1658	};
1659
1660	var global$3 = global$p;
1661
1662	var classof = classof$1;
1663
1664	var String$1 = global$3.String;
1665
1666	var toString$2 = function (argument) {
1667	  if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
1668	  return String$1(argument);
1669	};
1670
1671	var global$2 = global$p;
1672
1673	var toIntegerOrInfinity = toIntegerOrInfinity$3;
1674
1675	var toString$1 = toString$2;
1676
1677	var requireObjectCoercible$1 = requireObjectCoercible$4;
1678
1679	var RangeError = global$2.RangeError; // `String.prototype.repeat` method implementation
1680	// https://tc39.es/ecma262/#sec-string.prototype.repeat
1681
1682	var stringRepeat = function repeat(count) {
1683	  var str = toString$1(requireObjectCoercible$1(this));
1684	  var result = '';
1685	  var n = toIntegerOrInfinity(count);
1686	  if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');
1687
1688	  for (; n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
1689
1690	  return result;
1691	};
1692
1693	var $$3 = _export;
1694
1695	var repeat$1 = stringRepeat; // `String.prototype.repeat` method
1696	// https://tc39.es/ecma262/#sec-string.prototype.repeat
1697
1698
1699	$$3({
1700	  target: 'String',
1701	  proto: true
1702	}, {
1703	  repeat: repeat$1
1704	});
1705
1706	// https://github.com/tc39/proposal-string-pad-start-end
1707	var uncurryThis = functionUncurryThis;
1708
1709	var toLength = toLength$2;
1710
1711	var toString = toString$2;
1712
1713	var $repeat = stringRepeat;
1714
1715	var requireObjectCoercible = requireObjectCoercible$4;
1716
1717	var repeat = uncurryThis($repeat);
1718	var stringSlice = uncurryThis(''.slice);
1719	var ceil = Math.ceil; // `String.prototype.{ padStart, padEnd }` methods implementation
1720
1721	var createMethod = function (IS_END) {
1722	  return function ($this, maxLength, fillString) {
1723	    var S = toString(requireObjectCoercible($this));
1724	    var intMaxLength = toLength(maxLength);
1725	    var stringLength = S.length;
1726	    var fillStr = fillString === undefined ? ' ' : toString(fillString);
1727	    var fillLen, stringFiller;
1728	    if (intMaxLength <= stringLength || fillStr == '') return S;
1729	    fillLen = intMaxLength - stringLength;
1730	    stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));
1731	    if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);
1732	    return IS_END ? S + stringFiller : stringFiller + S;
1733	  };
1734	};
1735
1736	var stringPad = {
1737	  // `String.prototype.padStart` method
1738	  // https://tc39.es/ecma262/#sec-string.prototype.padstart
1739	  start: createMethod(false),
1740	  // `String.prototype.padEnd` method
1741	  // https://tc39.es/ecma262/#sec-string.prototype.padend
1742	  end: createMethod(true)
1743	};
1744
1745	// https://github.com/zloirock/core-js/issues/280
1746	var userAgent = engineUserAgent;
1747
1748	var stringPadWebkitBug = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent);
1749
1750	var $$2 = _export;
1751
1752	var $padStart = stringPad.start;
1753
1754	var WEBKIT_BUG$1 = stringPadWebkitBug; // `String.prototype.padStart` method
1755	// https://tc39.es/ecma262/#sec-string.prototype.padstart
1756
1757
1758	$$2({
1759	  target: 'String',
1760	  proto: true,
1761	  forced: WEBKIT_BUG$1
1762	}, {
1763	  padStart: function padStart(maxLength
1764	  /* , fillString = ' ' */
1765	  ) {
1766	    return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
1767	  }
1768	});
1769
1770	var $$1 = _export;
1771
1772	var $padEnd = stringPad.end;
1773
1774	var WEBKIT_BUG = stringPadWebkitBug; // `String.prototype.padEnd` method
1775	// https://tc39.es/ecma262/#sec-string.prototype.padend
1776
1777
1778	$$1({
1779	  target: 'String',
1780	  proto: true,
1781	  forced: WEBKIT_BUG
1782	}, {
1783	  padEnd: function padEnd(maxLength
1784	  /* , fillString = ' ' */
1785	  ) {
1786	    return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
1787	  }
1788	});
1789
1790	var $ = _export;
1791
1792	var global$1 = global$p; // `globalThis` object
1793	// https://tc39.es/ecma262/#sec-globalthis
1794
1795
1796	$({
1797	  global: true
1798	}, {
1799	  globalThis: global$1
1800	});
1801
1802	function _typeof(obj) {
1803	  "@babel/helpers - typeof";
1804
1805	  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
1806	    return typeof obj;
1807	  } : function (obj) {
1808	    return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
1809	  }, _typeof(obj);
1810	}
1811
1812	function _classCallCheck(instance, Constructor) {
1813	  if (!(instance instanceof Constructor)) {
1814	    throw new TypeError("Cannot call a class as a function");
1815	  }
1816	}
1817
1818	function _defineProperties(target, props) {
1819	  for (var i = 0; i < props.length; i++) {
1820	    var descriptor = props[i];
1821	    descriptor.enumerable = descriptor.enumerable || false;
1822	    descriptor.configurable = true;
1823	    if ("value" in descriptor) descriptor.writable = true;
1824	    Object.defineProperty(target, descriptor.key, descriptor);
1825	  }
1826	}
1827
1828	function _createClass(Constructor, protoProps, staticProps) {
1829	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
1830	  if (staticProps) _defineProperties(Constructor, staticProps);
1831	  Object.defineProperty(Constructor, "prototype", {
1832	    writable: false
1833	  });
1834	  return Constructor;
1835	}
1836
1837	function _defineProperty(obj, key, value) {
1838	  if (key in obj) {
1839	    Object.defineProperty(obj, key, {
1840	      value: value,
1841	      enumerable: true,
1842	      configurable: true,
1843	      writable: true
1844	    });
1845	  } else {
1846	    obj[key] = value;
1847	  }
1848
1849	  return obj;
1850	}
1851
1852	function _inherits(subClass, superClass) {
1853	  if (typeof superClass !== "function" && superClass !== null) {
1854	    throw new TypeError("Super expression must either be null or a function");
1855	  }
1856
1857	  subClass.prototype = Object.create(superClass && superClass.prototype, {
1858	    constructor: {
1859	      value: subClass,
1860	      writable: true,
1861	      configurable: true
1862	    }
1863	  });
1864	  Object.defineProperty(subClass, "prototype", {
1865	    writable: false
1866	  });
1867	  if (superClass) _setPrototypeOf(subClass, superClass);
1868	}
1869
vendor: 5,052 bytes, lines 1870-2066
1870	function _getPrototypeOf(o) {
1871	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
1872	    return o.__proto__ || Object.getPrototypeOf(o);
1873	  };
1874	  return _getPrototypeOf(o);
1875	}
1876
1877	function _setPrototypeOf(o, p) {
1878	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
1879	    o.__proto__ = p;
1880	    return o;
1881	  };
1882
1883	  return _setPrototypeOf(o, p);
1884	}
1885
1886	function _isNativeReflectConstruct() {
1887	  if (typeof Reflect === "undefined" || !Reflect.construct) return false;
1888	  if (Reflect.construct.sham) return false;
1889	  if (typeof Proxy === "function") return true;
1890
1891	  try {
1892	    Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
1893	    return true;
1894	  } catch (e) {
1895	    return false;
1896	  }
1897	}
1898
1899	function _objectWithoutPropertiesLoose(source, excluded) {
1900	  if (source == null) return {};
1901	  var target = {};
1902	  var sourceKeys = Object.keys(source);
1903	  var key, i;
1904
1905	  for (i = 0; i < sourceKeys.length; i++) {
1906	    key = sourceKeys[i];
1907	    if (excluded.indexOf(key) >= 0) continue;
1908	    target[key] = source[key];
1909	  }
1910
1911	  return target;
1912	}
1913
1914	function _objectWithoutProperties(source, excluded) {
1915	  if (source == null) return {};
1916
1917	  var target = _objectWithoutPropertiesLoose(source, excluded);
1918
1919	  var key, i;
1920
1921	  if (Object.getOwnPropertySymbols) {
1922	    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
1923
1924	    for (i = 0; i < sourceSymbolKeys.length; i++) {
1925	      key = sourceSymbolKeys[i];
1926	      if (excluded.indexOf(key) >= 0) continue;
1927	      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
1928	      target[key] = source[key];
1929	    }
1930	  }
1931
1932	  return target;
1933	}
1934
1935	function _assertThisInitialized(self) {
1936	  if (self === void 0) {
1937	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1938	  }
1939
1940	  return self;
1941	}
1942
1943	function _possibleConstructorReturn(self, call) {
1944	  if (call && (typeof call === "object" || typeof call === "function")) {
1945	    return call;
1946	  } else if (call !== void 0) {
1947	    throw new TypeError("Derived constructors may only return object or undefined");
1948	  }
1949
1950	  return _assertThisInitialized(self);
1951	}
1952
1953	function _createSuper(Derived) {
1954	  var hasNativeReflectConstruct = _isNativeReflectConstruct();
1955
1956	  return function _createSuperInternal() {
1957	    var Super = _getPrototypeOf(Derived),
1958	        result;
1959
1960	    if (hasNativeReflectConstruct) {
1961	      var NewTarget = _getPrototypeOf(this).constructor;
1962
1963	      result = Reflect.construct(Super, arguments, NewTarget);
1964	    } else {
1965	      result = Super.apply(this, arguments);
1966	    }
1967
1968	    return _possibleConstructorReturn(this, result);
1969	  };
1970	}
1971
1972	function _superPropBase(object, property) {
1973	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
1974	    object = _getPrototypeOf(object);
1975	    if (object === null) break;
1976	  }
1977
1978	  return object;
1979	}
1980
1981	function _get() {
1982	  if (typeof Reflect !== "undefined" && Reflect.get) {
1983	    _get = Reflect.get;
1984	  } else {
1985	    _get = function _get(target, property, receiver) {
1986	      var base = _superPropBase(target, property);
1987
1988	      if (!base) return;
1989	      var desc = Object.getOwnPropertyDescriptor(base, property);
1990
1991	      if (desc.get) {
1992	        return desc.get.call(arguments.length < 3 ? target : receiver);
1993	      }
1994
1995	      return desc.value;
1996	    };
1997	  }
1998
1999	  return _get.apply(this, arguments);
2000	}
2001
2002	function set(target, property, value, receiver) {
2003	  if (typeof Reflect !== "undefined" && Reflect.set) {
2004	    set = Reflect.set;
2005	  } else {
2006	    set = function set(target, property, value, receiver) {
2007	      var base = _superPropBase(target, property);
2008
2009	      var desc;
2010
2011	      if (base) {
2012	        desc = Object.getOwnPropertyDescriptor(base, property);
2013
2014	        if (desc.set) {
2015	          desc.set.call(receiver, value);
2016	          return true;
2017	        } else if (!desc.writable) {
2018	          return false;
2019	        }
2020	      }
2021
2022	      desc = Object.getOwnPropertyDescriptor(receiver, property);
2023
2024	      if (desc) {
2025	        if (!desc.writable) {
2026	          return false;
2027	        }
2028
2029	        desc.value = value;
2030	        Object.defineProperty(receiver, property, desc);
2031	      } else {
2032	        _defineProperty(receiver, property, value);
2033	      }
2034
2035	      return true;
2036	    };
2037	  }
2038
2039	  return set(target, property, value, receiver);
2040	}
2041
2042	function _set(target, property, value, receiver, isStrict) {
2043	  var s = set(target, property, value, receiver || target);
2044
2045	  if (!s && isStrict) {
2046	    throw new Error('failed to set property');
2047	  }
2048
2049	  return value;
2050	}
2051
2052	function _slicedToArray(arr, i) {
2053	  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
2054	}
2055
2056	function _arrayWithHoles(arr) {
2057	  if (Array.isArray(arr)) return arr;
2058	}
2059
2060	function _iterableToArrayLimit(arr, i) {
2061	  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
2062
2063	  if (_i == null) return;
2064	  var _arr = [];
2065	  var _n = true;
2066	  var _d = false;
2067
2068	  var _s, _e;
2069
2070	  try {
2071	    for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
2072	      _arr.push(_s.value);
2073
2074	      if (i && _arr.length === i) break;
2075	    }
2076	  } catch (err) {
2077	    _d = true;
2078	    _e = err;
2079	  } finally {
2080	    try {
2081	      if (!_n && _i["return"] != null) _i["return"]();
2082	    } finally {
2083	      if (_d) throw _e;
2084	    }
2085	  }
2086
2087	  return _arr;
2088	}
2089
2090	function _unsupportedIterableToArray(o, minLen) {
2091	  if (!o) return;
2092	  if (typeof o === "string") return _arrayLikeToArray(o, minLen);
2093	  var n = Object.prototype.toString.call(o).slice(8, -1);
2094	  if (n === "Object" && o.constructor) n = o.constructor.name;
2095	  if (n === "Map" || n === "Set") return Array.from(o);
2096	  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
2097	}
2098
2099	function _arrayLikeToArray(arr, len) {
2100	  if (len == null || len > arr.length) len = arr.length;
2101
2102	  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
2103
2104	  return arr2;
2105	}
2106
2107	function _nonIterableRest() {
2108	  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2109	}
2110
2111	/**
2112	  Provides details of changing model value
2113	  @param {Object} [details]
2114	  @param {string} [details.inserted] - Inserted symbols
2115	  @param {boolean} [details.skip] - Can skip chars
2116	  @param {number} [details.removeCount] - Removed symbols count
2117	  @param {number} [details.tailShift] - Additional offset if any changes occurred before tail
2118	*/
2119	var ChangeDetails = /*#__PURE__*/function () {
2120	  /** Inserted symbols */
2121
2122	  /** Can skip chars */
2123
2124	  /** Additional offset if any changes occurred before tail */
2125
2126	  /** Raw inserted is used by dynamic mask */
2127	  function ChangeDetails(details) {
2128	    _classCallCheck(this, ChangeDetails);
2129
2130	    Object.assign(this, {
2131	      inserted: '',
2132	      rawInserted: '',
2133	      skip: false,
2134	      tailShift: 0
2135	    }, details);
2136	  }
2137	  /**
2138	    Aggregate changes
2139	    @returns {ChangeDetails} `this`
2140	  */
2141
2142
2143	  _createClass(ChangeDetails, [{
2144	    key: "aggregate",
2145	    value: function aggregate(details) {
2146	      this.rawInserted += details.rawInserted;
2147	      this.skip = this.skip || details.skip;
2148	      this.inserted += details.inserted;
2149	      this.tailShift += details.tailShift;
2150	      return this;
2151	    }
2152	    /** Total offset considering all changes */
2153
2154	  }, {
2155	    key: "offset",
2156	    get: function get() {
2157	      return this.tailShift + this.inserted.length;
2158	    }
2159	  }]);
2160
2161	  return ChangeDetails;
2162	}();
2163
2164	/** Checks if value is string */
2165
2166	function isString(str) {
2167	  return typeof str === 'string' || str instanceof String;
2168	}
2169	/**
2170	  Direction
2171	  @prop {string} NONE
2172	  @prop {string} LEFT
2173	  @prop {string} FORCE_LEFT
2174	  @prop {string} RIGHT
2175	  @prop {string} FORCE_RIGHT
2176	*/
2177
2178	var DIRECTION = {
2179	  NONE: 'NONE',
2180	  LEFT: 'LEFT',
2181	  FORCE_LEFT: 'FORCE_LEFT',
2182	  RIGHT: 'RIGHT',
2183	  FORCE_RIGHT: 'FORCE_RIGHT'
2184	};
2185	/** */
2186
2187	function forceDirection(direction) {
2188	  switch (direction) {
2189	    case DIRECTION.LEFT:
2190	      return DIRECTION.FORCE_LEFT;
2191
2192	    case DIRECTION.RIGHT:
2193	      return DIRECTION.FORCE_RIGHT;
2194
2195	    default:
2196	      return direction;
2197	  }
2198	}
2199	/** Escapes regular expression control chars */
2200
2201	function escapeRegExp(str) {
2202	  return str.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
2203	}
2204	function normalizePrepare(prep) {
2205	  return Array.isArray(prep) ? prep : [prep, new ChangeDetails()];
2206	} // cloned from https://github.com/epoberezkin/fast-deep-equal with small changes
2207
2208	function objectIncludes(b, a) {
2209	  if (a === b) return true;
2210	  var arrA = Array.isArray(a),
2211	      arrB = Array.isArray(b),
2212	      i;
2213
2214	  if (arrA && arrB) {
2215	    if (a.length != b.length) return false;
2216
2217	    for (i = 0; i < a.length; i++) {
2218	      if (!objectIncludes(a[i], b[i])) return false;
2219	    }
2220
2221	    return true;
2222	  }
2223
2224	  if (arrA != arrB) return false;
2225
2226	  if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') {
2227	    var dateA = a instanceof Date,
2228	        dateB = b instanceof Date;
2229	    if (dateA && dateB) return a.getTime() == b.getTime();
2230	    if (dateA != dateB) return false;
2231	    var regexpA = a instanceof RegExp,
2232	        regexpB = b instanceof RegExp;
2233	    if (regexpA && regexpB) return a.toString() == b.toString();
2234	    if (regexpA != regexpB) return false;
2235	    var keys = Object.keys(a); // if (keys.length !== Object.keys(b).length) return false;
2236
2237	    for (i = 0; i < keys.length; i++) {
2238	      // $FlowFixMe ... ???
2239	      if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
2240	    }
2241
2242	    for (i = 0; i < keys.length; i++) {
2243	      if (!objectIncludes(b[keys[i]], a[keys[i]])) return false;
2244	    }
2245
2246	    return true;
2247	  } else if (a && b && typeof a === 'function' && typeof b === 'function') {
2248	    return a.toString() === b.toString();
2249	  }
2250
2251	  return false;
2252	}
2253	/** Selection range */
2254
2255	/** Provides details of changing input */
2256
2257	var ActionDetails = /*#__PURE__*/function () {
2258	  /** Current input value */
2259
2260	  /** Current cursor position */
2261
2262	  /** Old input value */
2263
2264	  /** Old selection */
2265	  function ActionDetails(value, cursorPos, oldValue, oldSelection) {
2266	    _classCallCheck(this, ActionDetails);
2267
2268	    this.value = value;
2269	    this.cursorPos = cursorPos;
2270	    this.oldValue = oldValue;
2271	    this.oldSelection = oldSelection; // double check if left part was changed (autofilling, other non-standard input triggers)
2272
2273	    while (this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos)) {
2274	      --this.oldSelection.start;
2275	    }
2276	  }
2277	  /**
2278	    Start changing position
2279	    @readonly
2280	  */
2281
2282
2283	  _createClass(ActionDetails, [{
2284	    key: "startChangePos",
2285	    get: function get() {
2286	      return Math.min(this.cursorPos, this.oldSelection.start);
2287	    }
2288	    /**
2289	      Inserted symbols count
2290	      @readonly
2291	    */
2292
2293	  }, {
2294	    key: "insertedCount",
2295	    get: function get() {
2296	      return this.cursorPos - this.startChangePos;
2297	    }
2298	    /**
2299	      Inserted symbols
2300	      @readonly
2301	    */
2302
2303	  }, {
2304	    key: "inserted",
2305	    get: function get() {
2306	      return this.value.substr(this.startChangePos, this.insertedCount);
2307	    }
2308	    /**
2309	      Removed symbols count
2310	      @readonly
2311	    */
2312
2313	  }, {
2314	    key: "removedCount",
2315	    get: function get() {
2316	      // Math.max for opposite operation
2317	      return Math.max(this.oldSelection.end - this.startChangePos || // for Delete
2318	      this.oldValue.length - this.value.length, 0);
2319	    }
2320	    /**
2321	      Removed symbols
2322	      @readonly
2323	    */
2324
2325	  }, {
2326	    key: "removed",
2327	    get: function get() {
2328	      return this.oldValue.substr(this.startChangePos, this.removedCount);
2329	    }
2330	    /**
2331	      Unchanged head symbols
2332	      @readonly
2333	    */
2334
2335	  }, {
2336	    key: "head",
2337	    get: function get() {
2338	      return this.value.substring(0, this.startChangePos);
2339	    }
2340	    /**
2341	      Unchanged tail symbols
2342	      @readonly
2343	    */
2344
2345	  }, {
2346	    key: "tail",
2347	    get: function get() {
2348	      return this.value.substring(this.startChangePos + this.insertedCount);
2349	    }
2350	    /**
2351	      Remove direction
2352	      @readonly
2353	    */
2354
2355	  }, {
2356	    key: "removeDirection",
2357	    get: function get() {
2358	      if (!this.removedCount || this.insertedCount) return DIRECTION.NONE; // align right if delete at right
2359
2360	      return (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) && // if not range removed (event with backspace)
2361	      this.oldSelection.end === this.oldSelection.start ? DIRECTION.RIGHT : DIRECTION.LEFT;
2362	    }
2363	  }]);
2364
2365	  return ActionDetails;
2366	}();
2367
2368	/** Provides details of continuous extracted tail */
2369	var ContinuousTailDetails = /*#__PURE__*/function () {
2370	  /** Tail value as string */
2371
2372	  /** Tail start position */
2373
2374	  /** Start position */
2375	  function ContinuousTailDetails() {
2376	    var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
2377	    var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
2378	    var stop = arguments.length > 2 ? arguments[2] : undefined;
2379
2380	    _classCallCheck(this, ContinuousTailDetails);
2381
2382	    this.value = value;
2383	    this.from = from;
2384	    this.stop = stop;
2385	  }
2386
2387	  _createClass(ContinuousTailDetails, [{
2388	    key: "toString",
2389	    value: function toString() {
2390	      return this.value;
2391	    }
2392	  }, {
2393	    key: "extend",
2394	    value: function extend(tail) {
2395	      this.value += String(tail);
2396	    }
2397	  }, {
2398	    key: "appendTo",
2399	    value: function appendTo(masked) {
2400	      return masked.append(this.toString(), {
2401	        tail: true
2402	      }).aggregate(masked._appendPlaceholder());
2403	    }
2404	  }, {
2405	    key: "state",
2406	    get: function get() {
2407	      return {
2408	        value: this.value,
2409	        from: this.from,
2410	        stop: this.stop
2411	      };
2412	    },
2413	    set: function set(state) {
2414	      Object.assign(this, state);
2415	    }
2416	  }, {
2417	    key: "unshift",
2418	    value: function unshift(beforePos) {
2419	      if (!this.value.length || beforePos != null && this.from >= beforePos) return '';
2420	      var shiftChar = this.value[0];
2421	      this.value = this.value.slice(1);
2422	      return shiftChar;
2423	    }
2424	  }, {
2425	    key: "shift",
2426	    value: function shift() {
2427	      if (!this.value.length) return '';
2428	      var shiftChar = this.value[this.value.length - 1];
2429	      this.value = this.value.slice(0, -1);
2430	      return shiftChar;
2431	    }
2432	  }]);
2433
2434	  return ContinuousTailDetails;
2435	}();
2436
2437	/**
2438	 * Applies mask on element.
2439	 * @constructor
2440	 * @param {HTMLInputElement|HTMLTextAreaElement|MaskElement} el - Element to apply mask
2441	 * @param {Object} opts - Custom mask options
2442	 * @return {InputMask}
2443	 */
2444	function IMask(el) {
2445	  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2446	  // currently available only for input-like elements
2447	  return new IMask.InputMask(el, opts);
2448	}
2449
2450	/** Supported mask type */
2451
2452	/** Provides common masking stuff */
2453	var Masked = /*#__PURE__*/function () {
2454	  // $Shape<MaskedOptions>; TODO after fix https://github.com/facebook/flow/issues/4773
2455
2456	  /** @type {Mask} */
2457
2458	  /** */
2459	  // $FlowFixMe no ideas
2460
2461	  /** Transforms value before mask processing */
2462
2463	  /** Validates if value is acceptable */
2464
2465	  /** Does additional processing in the end of editing */
2466
2467	  /** Format typed value to string */
2468
2469	  /** Parse strgin to get typed value */
2470
2471	  /** Enable characters overwriting */
2472
2473	  /** */
2474
2475	  /** */
2476	  function Masked(opts) {
2477	    _classCallCheck(this, Masked);
2478
2479	    this._value = '';
2480
2481	    this._update(Object.assign({}, Masked.DEFAULTS, opts));
2482
2483	    this.isInitialized = true;
2484	  }
2485	  /** Sets and applies new options */
2486
2487
2488	  _createClass(Masked, [{
2489	    key: "updateOptions",
2490	    value: function updateOptions(opts) {
2491	      if (!Object.keys(opts).length) return; // $FlowFixMe
2492
2493	      this.withValueRefresh(this._update.bind(this, opts));
2494	    }
2495	    /**
2496	      Sets new options
2497	      @protected
2498	    */
2499
2500	  }, {
2501	    key: "_update",
2502	    value: function _update(opts) {
2503	      Object.assign(this, opts);
2504	    }
2505	    /** Mask state */
2506
2507	  }, {
2508	    key: "state",
2509	    get: function get() {
2510	      return {
2511	        _value: this.value
2512	      };
2513	    },
2514	    set: function set(state) {
2515	      this._value = state._value;
2516	    }
2517	    /** Resets value */
2518
2519	  }, {
2520	    key: "reset",
2521	    value: function reset() {
2522	      this._value = '';
2523	    }
2524	    /** */
2525
2526	  }, {
2527	    key: "value",
2528	    get: function get() {
2529	      return this._value;
2530	    },
2531	    set: function set(value) {
2532	      this.resolve(value);
2533	    }
2534	    /** Resolve new value */
2535
2536	  }, {
2537	    key: "resolve",
2538	    value: function resolve(value) {
2539	      this.reset();
2540	      this.append(value, {
2541	        input: true
2542	      }, '');
2543	      this.doCommit();
2544	      return this.value;
2545	    }
2546	    /** */
2547
2548	  }, {
2549	    key: "unmaskedValue",
2550	    get: function get() {
2551	      return this.value;
2552	    },
2553	    set: function set(value) {
2554	      this.reset();
2555	      this.append(value, {}, '');
2556	      this.doCommit();
2557	    }
2558	    /** */
2559
2560	  }, {
2561	    key: "typedValue",
2562	    get: function get() {
2563	      return this.doParse(this.value);
2564	    },
2565	    set: function set(value) {
2566	      this.value = this.doFormat(value);
2567	    }
2568	    /** Value that includes raw user input */
2569
2570	  }, {
2571	    key: "rawInputValue",
2572	    get: function get() {
2573	      return this.extractInput(0, this.value.length, {
2574	        raw: true
2575	      });
2576	    },
2577	    set: function set(value) {
2578	      this.reset();
2579	      this.append(value, {
2580	        raw: true
2581	      }, '');
2582	      this.doCommit();
2583	    }
2584	    /** */
2585
2586	  }, {
2587	    key: "isComplete",
2588	    get: function get() {
2589	      return true;
2590	    }
2591	    /** */
2592
2593	  }, {
2594	    key: "isFilled",
2595	    get: function get() {
2596	      return this.isComplete;
2597	    }
2598	    /** Finds nearest input position in direction */
2599
2600	  }, {
2601	    key: "nearestInputPos",
2602	    value: function nearestInputPos(cursorPos, direction) {
2603	      return cursorPos;
2604	    }
2605	    /** Extracts value in range considering flags */
2606
2607	  }, {
2608	    key: "extractInput",
2609	    value: function extractInput() {
2610	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
2611	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
2612	      return this.value.slice(fromPos, toPos);
2613	    }
2614	    /** Extracts tail in range */
2615
2616	  }, {
2617	    key: "extractTail",
2618	    value: function extractTail() {
2619	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
2620	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
2621	      return new ContinuousTailDetails(this.extractInput(fromPos, toPos), fromPos);
2622	    }
2623	    /** Appends tail */
2624	    // $FlowFixMe no ideas
2625
2626	  }, {
2627	    key: "appendTail",
2628	    value: function appendTail(tail) {
2629	      if (isString(tail)) tail = new ContinuousTailDetails(String(tail));
2630	      return tail.appendTo(this);
2631	    }
2632	    /** Appends char */
2633
2634	  }, {
2635	    key: "_appendCharRaw",
2636	    value: function _appendCharRaw(ch) {
2637	      if (!ch) return new ChangeDetails();
2638	      this._value += ch;
2639	      return new ChangeDetails({
2640	        inserted: ch,
2641	        rawInserted: ch
2642	      });
2643	    }
2644	    /** Appends char */
2645
2646	  }, {
2647	    key: "_appendChar",
2648	    value: function _appendChar(ch) {
2649	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2650	      var checkTail = arguments.length > 2 ? arguments[2] : undefined;
2651	      var consistentState = this.state;
2652	      var details;
2653
2654	      var _normalizePrepare = normalizePrepare(this.doPrepare(ch, flags));
2655
2656	      var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2);
2657
2658	      ch = _normalizePrepare2[0];
2659	      details = _normalizePrepare2[1];
2660	      details = details.aggregate(this._appendCharRaw(ch, flags));
2661
2662	      if (details.inserted) {
2663	        var consistentTail;
2664	        var appended = this.doValidate(flags) !== false;
2665
2666	        if (appended && checkTail != null) {
2667	          // validation ok, check tail
2668	          var beforeTailState = this.state;
2669
2670	          if (this.overwrite === true) {
2671	            consistentTail = checkTail.state;
2672	            checkTail.unshift(this.value.length);
2673	          }
2674
2675	          var tailDetails = this.appendTail(checkTail);
2676	          appended = tailDetails.rawInserted === checkTail.toString(); // not ok, try shift
2677
2678	          if (!(appended && tailDetails.inserted) && this.overwrite === 'shift') {
2679	            this.state = beforeTailState;
2680	            consistentTail = checkTail.state;
2681	            checkTail.shift();
2682	            tailDetails = this.appendTail(checkTail);
2683	            appended = tailDetails.rawInserted === checkTail.toString();
2684	          } // if ok, rollback state after tail
2685
2686
2687	          if (appended && tailDetails.inserted) this.state = beforeTailState;
2688	        } // revert all if something went wrong
2689
2690
2691	        if (!appended) {
2692	          details = new ChangeDetails();
2693	          this.state = consistentState;
2694	          if (checkTail && consistentTail) checkTail.state = consistentTail;
2695	        }
2696	      }
2697
2698	      return details;
2699	    }
2700	    /** Appends optional placeholder at end */
2701
2702	  }, {
2703	    key: "_appendPlaceholder",
2704	    value: function _appendPlaceholder() {
2705	      return new ChangeDetails();
2706	    }
2707	    /** Appends optional eager placeholder at end */
2708
2709	  }, {
2710	    key: "_appendEager",
2711	    value: function _appendEager() {
2712	      return new ChangeDetails();
2713	    }
2714	    /** Appends symbols considering flags */
2715	    // $FlowFixMe no ideas
2716
2717	  }, {
2718	    key: "append",
2719	    value: function append(str, flags, tail) {
2720	      if (!isString(str)) throw new Error('value should be string');
2721	      var details = new ChangeDetails();
2722	      var checkTail = isString(tail) ? new ContinuousTailDetails(String(tail)) : tail;
2723	      if (flags && flags.tail) flags._beforeTailState = this.state;
2724
2725	      for (var ci = 0; ci < str.length; ++ci) {
2726	        details.aggregate(this._appendChar(str[ci], flags, checkTail));
2727	      } // append tail but aggregate only tailShift
2728
2729
2730	      if (checkTail != null) {
2731	        details.tailShift += this.appendTail(checkTail).tailShift; // TODO it's a good idea to clear state after appending ends
2732	        // but it causes bugs when one append calls another (when dynamic dispatch set rawInputValue)
2733	        // this._resetBeforeTailState();
2734	      }
2735
2736	      if (this.eager && flags !== null && flags !== void 0 && flags.input && str) {
2737	        details.aggregate(this._appendEager());
2738	      }
2739
2740	      return details;
2741	    }
2742	    /** */
2743
2744	  }, {
2745	    key: "remove",
2746	    value: function remove() {
2747	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
2748	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
2749	      this._value = this.value.slice(0, fromPos) + this.value.slice(toPos);
2750	      return new ChangeDetails();
2751	    }
2752	    /** Calls function and reapplies current value */
2753
2754	  }, {
2755	    key: "withValueRefresh",
2756	    value: function withValueRefresh(fn) {
2757	      if (this._refreshing || !this.isInitialized) return fn();
2758	      this._refreshing = true;
2759	      var rawInput = this.rawInputValue;
2760	      var value = this.value;
2761	      var ret = fn();
2762	      this.rawInputValue = rawInput; // append lost trailing chars at end
2763
2764	      if (this.value && this.value !== value && value.indexOf(this.value) === 0) {
2765	        this.append(value.slice(this.value.length), {}, '');
2766	      }
2767
2768	      delete this._refreshing;
2769	      return ret;
2770	    }
2771	    /** */
2772
2773	  }, {
2774	    key: "runIsolated",
2775	    value: function runIsolated(fn) {
2776	      if (this._isolated || !this.isInitialized) return fn(this);
2777	      this._isolated = true;
2778	      var state = this.state;
2779	      var ret = fn(this);
2780	      this.state = state;
2781	      delete this._isolated;
2782	      return ret;
2783	    }
2784	    /**
2785	      Prepares string before mask processing
2786	      @protected
2787	    */
2788
2789	  }, {
2790	    key: "doPrepare",
2791	    value: function doPrepare(str) {
2792	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2793	      return this.prepare ? this.prepare(str, this, flags) : str;
2794	    }
2795	    /**
2796	      Validates if value is acceptable
2797	      @protected
2798	    */
2799
2800	  }, {
2801	    key: "doValidate",
2802	    value: function doValidate(flags) {
2803	      return (!this.validate || this.validate(this.value, this, flags)) && (!this.parent || this.parent.doValidate(flags));
2804	    }
2805	    /**
2806	      Does additional processing in the end of editing
2807	      @protected
2808	    */
2809
2810	  }, {
2811	    key: "doCommit",
2812	    value: function doCommit() {
2813	      if (this.commit) this.commit(this.value, this);
2814	    }
2815	    /** */
2816
2817	  }, {
2818	    key: "doFormat",
2819	    value: function doFormat(value) {
2820	      return this.format ? this.format(value, this) : value;
2821	    }
2822	    /** */
2823
2824	  }, {
2825	    key: "doParse",
2826	    value: function doParse(str) {
2827	      return this.parse ? this.parse(str, this) : str;
2828	    }
2829	    /** */
2830
2831	  }, {
2832	    key: "splice",
2833	    value: function splice(start, deleteCount, inserted, removeDirection) {
2834	      var tailPos = start + deleteCount;
2835	      var tail = this.extractTail(tailPos);
2836	      var oldRawValue;
2837
2838	      if (this.eager) {
2839	        removeDirection = forceDirection(removeDirection);
2840	        oldRawValue = this.extractInput(0, tailPos, {
2841	          raw: true
2842	        });
2843	      }
2844
2845	      var startChangePos = this.nearestInputPos(start, deleteCount > 1 && start !== 0 && !this.eager ? DIRECTION.NONE : removeDirection);
2846	      var details = new ChangeDetails({
2847	        tailShift: startChangePos - start // adjust tailShift if start was aligned
2848
2849	      }).aggregate(this.remove(startChangePos));
2850
2851	      if (this.eager && removeDirection !== DIRECTION.NONE && oldRawValue === this.rawInputValue) {
2852	        if (removeDirection === DIRECTION.FORCE_LEFT) {
2853	          var valLength;
2854
2855	          while (oldRawValue === this.rawInputValue && (valLength = this.value.length)) {
2856	            details.aggregate(new ChangeDetails({
2857	              tailShift: -1
2858	            })).aggregate(this.remove(valLength - 1));
2859	          }
2860	        } else if (removeDirection === DIRECTION.FORCE_RIGHT) {
2861	          tail.unshift();
2862	        }
2863	      }
2864
2865	      return details.aggregate(this.append(inserted, {
2866	        input: true
2867	      }, tail));
2868	    }
2869	  }, {
2870	    key: "maskEquals",
2871	    value: function maskEquals(mask) {
2872	      return this.mask === mask;
2873	    }
2874	  }]);
2875
2876	  return Masked;
2877	}();
2878	Masked.DEFAULTS = {
2879	  format: function format(v) {
2880	    
2880return v;
2881	  },
2882	  parse: function parse(v) {
2883	    return v;
2884	  }
2885	};
2886	IMask.Masked = Masked;
2887
2888	/** Get Masked class by mask type */
2889
2890	function maskedClass(mask) {
2891	  if (mask == null) {
2892	    throw new Error('mask property should be defined');
2893	  } // $FlowFixMe
2894
2895
2896	  if (mask instanceof RegExp) return IMask.MaskedRegExp; // $FlowFixMe
2897
2898	  if (isString(mask)) return IMask.MaskedPattern; // $FlowFixMe
2899
2900	  if (mask instanceof Date || mask === Date) return IMask.MaskedDate; // $FlowFixMe
2901
2902	  if (mask instanceof Number || typeof mask === 'number' || mask === Number) return IMask.MaskedNumber; // $FlowFixMe
2903
2904	  if (Array.isArray(mask) || mask === Array) return IMask.MaskedDynamic; // $FlowFixMe
2905
2906	  if (IMask.Masked && mask.prototype instanceof IMask.Masked) return mask; // $FlowFixMe
2907
2908	  if (mask instanceof IMask.Masked) return mask.constructor; // $FlowFixMe
2909
2910	  if (mask instanceof Function) return IMask.MaskedFunction;
2911	  console.warn('Mask not found for mask', mask); // eslint-disable-line no-console
2912	  // $FlowFixMe
2913
2914	  return IMask.Masked;
2915	}
2916	/** Creates new {@link Masked} depending on mask type */
2917
2918	function createMask(opts) {
2919	  // $FlowFixMe
2920	  if (IMask.Masked && opts instanceof IMask.Masked) return opts;
2921	  opts = Object.assign({}, opts);
2922	  var mask = opts.mask; // $FlowFixMe
2923
2924	  if (IMask.Masked && mask instanceof IMask.Masked) return mask;
2925	  var MaskedClass = maskedClass(mask);
2926	  if (!MaskedClass) throw new Error('Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.');
2927	  return new MaskedClass(opts);
2928	}
2929	IMask.createMask = createMask;
2930
2931	var _excluded$4 = ["mask"];
2932	var DEFAULT_INPUT_DEFINITIONS = {
2933	  '0': /\d/,
2934	  '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
2934D3-\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]/,
2935	  // http://stackoverflow.com/a/22075070
2936	  '*': /./
2937	};
2938	/** */
2939
2940	var PatternInputDefinition = /*#__PURE__*/function () {
2941	  /** */
2942
2943	  /** */
2944
2945	  /** */
2946
2947	  /** */
2948
2949	  /** */
2950
2951	  /** */
2952
2953	  /** */
2954	  function PatternInputDefinition(opts) {
2955	    _classCallCheck(this, PatternInputDefinition);
2956
2957	    var mask = opts.mask,
2958	        blockOpts = _objectWithoutProperties(opts, _excluded$4);
2959
2960	    this.masked = createMask({
2961	      mask: mask
2962	    });
2963	    Object.assign(this, blockOpts);
2964	  }
2965
2966	  _createClass(PatternInputDefinition, [{
2967	    key: "reset",
2968	    value: function reset() {
2969	      this.isFilled = false;
2970	      this.masked.reset();
2971	    }
2972	  }, {
2973	    key: "remove",
2974	    value: function remove() {
2975	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
2976	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
2977
2978	      if (fromPos === 0 && toPos >= 1) {
2979	        this.isFilled = false;
2980	        return this.masked.remove(fromPos, toPos);
2981	      }
2982
2983	      return new ChangeDetails();
2984	    }
2985	  }, {
2986	    key: "value",
2987	    get: function get() {
2988	      return this.masked.value || (this.isFilled && !this.isOptional ? this.placeholderChar : '');
2989	    }
2990	  }, {
2991	    key: "unmaskedValue",
2992	    get: function get() {
2993	      return this.masked.unmaskedValue;
2994	    }
2995	  }, {
2996	    key: "isComplete",
2997	    get: function get() {
2998	      return Boolean(this.masked.value) || this.isOptional;
2999	    }
3000	  }, {
3001	    key: "_appendChar",
3002	    value: function _appendChar(ch) {
3003	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3004	      if (this.isFilled) return new ChangeDetails();
3005	      var state = this.masked.state; // simulate input
3006
3007	      var details = this.masked._appendChar(ch, flags);
3008
3009	      if (details.inserted && this.doValidate(flags) === false) {
3010	        details.inserted = details.rawInserted = '';
3011	        this.masked.state = state;
3012	      }
3013
3014	      if (!details.inserted && !this.isOptional && !this.lazy && !flags.input) {
3015	        details.inserted = this.placeholderChar;
3016	      }
3017
3018	      details.skip = !details.inserted && !this.isOptional;
3019	      this.isFilled = Boolean(details.inserted);
3020	      return details;
3021	    }
3022	  }, {
3023	    key: "append",
3024	    value: function append() {
3025	      var _this$masked;
3026
3027	      // TODO probably should be done via _appendChar
3028	      return (_this$masked = this.masked).append.apply(_this$masked, arguments);
3029	    }
3030	  }, {
3031	    key: "_appendPlaceholder",
3032	    value: function _appendPlaceholder() {
3033	      var details = new ChangeDetails();
3034	      if (this.isFilled || this.isOptional) return details;
3035	      this.isFilled = true;
3036	      details.inserted = this.placeholderChar;
3037	      return details;
3038	    }
3039	  }, {
3040	    key: "_appendEager",
3041	    value: function _appendEager() {
3042	      return new ChangeDetails();
3043	    }
3044	  }, {
3045	    key: "extractTail",
3046	    value: function extractTail() {
3047	      var _this$masked2;
3048
3049	      return (_this$masked2 = this.masked).extractTail.apply(_this$masked2, arguments);
3050	    }
3051	  }, {
3052	    key: "appendTail",
3053	    value: function appendTail() {
3054	      var _this$masked3;
3055
3056	      return (_this$masked3 = this.masked).appendTail.apply(_this$masked3, arguments);
3057	    }
3058	  }, {
3059	    key: "extractInput",
3060	    value: function extractInput() {
3061	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
3062	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
3063	      var flags = arguments.length > 2 ? arguments[2] : undefined;
3064	      return this.masked.extractInput(fromPos, toPos, flags);
3065	    }
3066	  }, {
3067	    key: "nearestInputPos",
3068	    value: function nearestInputPos(cursorPos) {
3069	      var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE;
3070	      var minPos = 0;
3071	      var maxPos = this.value.length;
3072	      var boundPos = Math.min(Math.max(cursorPos, minPos), maxPos);
3073
3074	      switch (direction) {
3075	        case DIRECTION.LEFT:
3076	        case DIRECTION.FORCE_LEFT:
3077	          return this.isComplete ? boundPos : minPos;
3078
3079	        case DIRECTION.RIGHT:
3080	        case DIRECTION.FORCE_RIGHT:
3081	          return this.isComplete ? boundPos : maxPos;
3082
3083	        case DIRECTION.NONE:
3084	        default:
3085	          return boundPos;
3086	      }
3087	    }
3088	  }, {
3089	    key: "doValidate",
3090	    value: function doValidate() {
3091	      var _this$masked4, _this$parent;
3092
3093	      return (_this$masked4 = this.masked).doValidate.apply(_this$masked4, arguments) && (!this.parent || (_this$parent = this.parent).doValidate.apply(_this$parent, arguments));
3094	    }
3095	  }, {
3096	    key: "doCommit",
3097	    value: function doCommit() {
3098	      this.masked.doCommit();
3099	    }
3100	  }, {
3101	    key: "state",
3102	    get: function get() {
3103	      return {
3104	        masked: this.masked.state,
3105	        isFilled: this.isFilled
3106	      };
3107	    },
3108	    set: function set(state) {
3109	      this.masked.state = state.masked;
3110	      this.isFilled = state.isFilled;
3111	    }
3112	  }]);
3113
3114	  return PatternInputDefinition;
3115	}();
3116
3117	var PatternFixedDefinition = /*#__PURE__*/function () {
3118	  /** */
3119
3120	  /** */
3121
3122	  /** */
3123
3124	  /** */
3125
3126	  /** */
3127
3128	  /** */
3129	  function PatternFixedDefinition(opts) {
3130	    _classCallCheck(this, PatternFixedDefinition);
3131
3132	    Object.assign(this, opts);
3133	    this._value = '';
3134	    this.isFixed = true;
3135	  }
3136
3137	  _createClass(PatternFixedDefinition, [{
3138	    key: "value",
3139	    get: function get() {
3140	      return this._value;
3141	    }
3142	  }, {
3143	    key: "unmaskedValue",
3144	    get: function get() {
3145	      return this.isUnmasking ? this.value : '';
3146	    }
3147	  }, {
3148	    key: "reset",
3149	    value: function reset() {
3150	      this._isRawInput = false;
3151	      this._value = '';
3152	    }
3153	  }, {
3154	    key: "remove",
3155	    value: function remove() {
3156	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
3157	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length;
3158	      this._value = this._value.slice(0, fromPos) + this._value.slice(toPos);
3159	      if (!this._value) this._isRawInput = false;
3160	      return new ChangeDetails();
3161	    }
3162	  }, {
3163	    key: "nearestInputPos",
3164	    value: function nearestInputPos(cursorPos) {
3165	      var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE;
3166	      var minPos = 0;
3167	      var maxPos = this._value.length;
3168
3169	      switch (direction) {
3170	        case DIRECTION.LEFT:
3171	        case DIRECTION.FORCE_LEFT:
3172	          return minPos;
3173
3174	        case DIRECTION.NONE:
3175	        case DIRECTION.RIGHT:
3176	        case DIRECTION.FORCE_RIGHT:
3177	        default:
3178	          return maxPos;
3179	      }
3180	    }
3181	  }, {
3182	    key: "extractInput",
3183	    value: function extractInput() {
3184	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
3185	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length;
3186	      var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
3187	      return flags.raw && this._isRawInput && this._value.slice(fromPos, toPos) || '';
3188	    }
3189	  }, {
3190	    key: "isComplete",
3191	    get: function get() {
3192	      return true;
3193	    }
3194	  }, {
3195	    key: "isFilled",
3196	    get: function get() {
3197	      return Boolean(this._value);
3198	    }
3199	  }, {
3200	    key: "_appendChar",
3201	    value: function _appendChar(ch) {
3202	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3203	      var details = new ChangeDetails();
3204	      if (this._value) return details;
3205	      var appended = this.char === ch;
3206	      var isResolved = appended && (this.isUnmasking || flags.input || flags.raw) && !this.eager && !flags.tail;
3207	      if (isResolved) details.rawInserted = this.char;
3208	      this._value = details.inserted = this.char;
3209	      this._isRawInput = isResolved && (flags.raw || flags.input);
3210	      return details;
3211	    }
3212	  }, {
3213	    key: "_appendEager",
3214	    value: function _appendEager() {
3215	      return this._appendChar(this.char);
3216	    }
3217	  }, {
3218	    key: "_appendPlaceholder",
3219	    value: function _appendPlaceholder() {
3220	      var details = new ChangeDetails();
3221	      if (this._value) return details;
3222	      this._value = details.inserted = this.char;
3223	      return details;
3224	    }
3225	  }, {
3226	    key: "extractTail",
3227	    value: function extractTail() {
3228	      arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
3229	      return new ContinuousTailDetails('');
3230	    } // $FlowFixMe no ideas
3231
3232	  }, {
3233	    key: "appendTail",
3234	    value: function appendTail(tail) {
3235	      if (isString(tail)) tail = new ContinuousTailDetails(String(tail));
3236	      return tail.appendTo(this);
3237	    }
3238	  }, {
3239	    key: "append",
3240	    value: function append(str, flags, tail) {
3241	      var details = this._appendChar(str[0], flags);
3242
3243	      if (tail != null) {
3244	        details.tailShift += this.appendTail(tail).tailShift;
3245	      }
3246
3247	      return details;
3248	    }
3249	  }, {
3250	    key: "doCommit",
3251	    value: function doCommit() {}
3252	  }, {
3253	    key: "state",
3254	    get: function get() {
3255	      return {
3256	        _value: this._value,
3257	        _isRawInput: this._isRawInput
3258	      };
3259	    },
3260	    set: function set(state) {
3261	      Object.assign(this, state);
3262	    }
3263	  }]);
3264
3265	  return PatternFixedDefinition;
3266	}();
3267
3268	var _excluded$3 = ["chunks"];
3269
3270	var ChunksTailDetails = /*#__PURE__*/function () {
3271	  /** */
3272	  function ChunksTailDetails() {
3273	    var chunks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
3274	    var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
3275
3276	    _classCallCheck(this, ChunksTailDetails);
3277
3278	    this.chunks = chunks;
3279	    this.from = from;
3280	  }
3281
3282	  _createClass(ChunksTailDetails, [{
3283	    key: "toString",
3284	    value: function toString() {
3285	      return this.chunks.map(String).join('');
3286	    } // $FlowFixMe no ideas
3287
3288	  }, {
3289	    key: "extend",
3290	    value: function extend(tailChunk) {
3291	      if (!String(tailChunk)) return;
3292	      if (isString(tailChunk)) tailChunk = new ContinuousTailDetails(String(tailChunk));
3293	      var lastChunk = this.chunks[this.chunks.length - 1];
3294	      var extendLast = lastChunk && ( // if stops are same or tail has no stop
3295	      lastChunk.stop === tailChunk.stop || tailChunk.stop == null) && // if tail chunk goes just after last chunk
3296	      tailChunk.from === lastChunk.from + lastChunk.toString().length;
3297
3298	      if (tailChunk instanceof ContinuousTailDetails) {
3299	        // check the ability to extend previous chunk
3300	        if (extendLast) {
3301	          // extend previous chunk
3302	          lastChunk.extend(tailChunk.toString());
3303	        } else {
3304	          // append new chunk
3305	          this.chunks.push(tailChunk);
3306	        }
3307	      } else if (tailChunk instanceof ChunksTailDetails) {
3308	        if (tailChunk.stop == null) {
3309	          // unwrap floating chunks to parent, keeping `from` pos
3310	          var firstTailChunk;
3311
3312	          while (tailChunk.chunks.length && tailChunk.chunks[0].stop == null) {
3313	            firstTailChunk = tailChunk.chunks.shift();
3314	            firstTailChunk.from += tailChunk.from;
3315	            this.extend(firstTailChunk);
3316	          }
3317	        } // if tail chunk still has value
3318
3319
3320	        if (tailChunk.toString()) {
3321	          // if chunks contains stops, then popup stop to container
3322	          tailChunk.stop = tailChunk.blockIndex;
3323	          this.chunks.push(tailChunk);
3324	        }
3325	      }
3326	    }
3327	  }, {
3328	    key: "appendTo",
3329	    value: function appendTo(masked) {
3330	      // $FlowFixMe
3331	      if (!(masked instanceof IMask.MaskedPattern)) {
3332	        var tail = new ContinuousTailDetails(this.toString());
3333	        return tail.appendTo(masked);
3334	      }
3335
3336	      var details = new ChangeDetails();
3337
3338	      for (var ci = 0; ci < this.chunks.length && !details.skip; ++ci) {
3339	        var chunk = this.chunks[ci];
3340
3341	        var lastBlockIter = masked._mapPosToBlock(masked.value.length);
3342
3343	        var stop = chunk.stop;
3344	        var chunkBlock = void 0;
3345
3346	        if (stop != null && ( // if block not found or stop is behind lastBlock
3347	        !lastBlockIter || lastBlockIter.index <= stop)) {
3348	          if (chunk instanceof ChunksTailDetails || // for continuous block also check if stop is exist
3349	          masked._stops.indexOf(stop) >= 0) {
3350	            details.aggregate(masked._appendPlaceholder(stop));
3351	          }
3352
3353	          chunkBlock = chunk instanceof ChunksTailDetails && masked._blocks[stop];
3354	        }
3355
3356	        if (chunkBlock) {
3357	          var tailDetails = chunkBlock.appendTail(chunk);
3358	          tailDetails.skip = false; // always ignore skip, it will be set on last
3359
3360	          details.aggregate(tailDetails);
3361	          masked._value += tailDetails.inserted; // get not inserted chars
3362
3363	          var remainChars = chunk.toString().slice(tailDetails.rawInserted.length);
3364	          if (remainChars) details.aggregate(masked.append(remainChars, {
3365	            tail: true
3366	          }));
3367	        } else {
3368	          details.aggregate(masked.append(chunk.toString(), {
3369	            tail: true
3370	          }));
3371	        }
3372	      }
3373	      return details;
3374	    }
3375	  }, {
3376	    key: "state",
3377	    get: function get() {
3378	      return {
3379	        chunks: this.chunks.map(function (c) {
3380	          return c.state;
3381	        }),
3382	        from: this.from,
3383	        stop: this.stop,
3384	        blockIndex: this.blockIndex
3385	      };
3386	    },
3387	    set: function set(state) {
3388	      var chunks = state.chunks,
3389	          props = _objectWithoutProperties(state, _excluded$3);
3390
3391	      Object.assign(this, props);
3392	      this.chunks = chunks.map(function (cstate) {
3393	        var chunk = "chunks" in cstate ? new ChunksTailDetails() : new ContinuousTailDetails(); // $FlowFixMe already checked above
3394
3395	        chunk.state = cstate;
3396	        return chunk;
3397	      });
3398	    }
3399	  }, {
3400	    key: "unshift",
3401	    value: function unshift(beforePos) {
3402	      if (!this.chunks.length || beforePos != null && this.from >= beforePos) return '';
3403	      var chunkShiftPos = beforePos != null ? beforePos - this.from : beforePos;
3404	      var ci = 0;
3405
3406	      while (ci < this.chunks.length) {
3407	        var chunk = this.chunks[ci];
3408	        var shiftChar = chunk.unshift(chunkShiftPos);
3409
3410	        if (chunk.toString()) {
3411	          // chunk still contains value
3412	          // but not shifted - means no more available chars to shift
3413	          if (!shiftChar) break;
3414	          ++ci;
3415	        } else {
3416	          // clean if chunk has no value
3417	          this.chunks.splice(ci, 1);
3418	        }
3419
3420	        if (shiftChar) return shiftChar;
3421	      }
3422
3423	      return '';
3424	    }
3425	  }, {
3426	    key: "shift",
3427	    value: function shift() {
3428	      if (!this.chunks.length) return '';
3429	      var ci = this.chunks.length - 1;
3430
3431	      while (0 <= ci) {
3432	        var chunk = this.chunks[ci];
3433	        var shiftChar = chunk.shift();
3434
3435	        if (chunk.toString()) {
3436	          // chunk still contains value
3437	          // but not shifted - means no more available chars to shift
3438	          if (!shiftChar) break;
3439	          --ci;
3440	        } else {
3441	          // clean if chunk has no value
3442	          this.chunks.splice(ci, 1);
3443	        }
3444
3445	        if (shiftChar) return shiftChar;
3446	      }
3447
3448	      return '';
3449	    }
3450	  }]);
3451
3452	  return ChunksTailDetails;
3453	}();
3454
3455	var PatternCursor = /*#__PURE__*/function () {
3456	  function PatternCursor(masked, pos) {
3457	    _classCallCheck(this, PatternCursor);
3458
3459	    this.masked = masked;
3460	    this._log = [];
3461
3462	    var _ref = masked._mapPosToBlock(pos) || (pos < 0 ? // first
3463	    {
3464	      index: 0,
3465	      offset: 0
3466	    } : // last
3467	    {
3468	      index: this.masked._blocks.length,
3469	      offset: 0
3470	    }),
3471	        offset = _ref.offset,
3472	        index = _ref.index;
3473
3474	    this.offset = offset;
3475	    this.index = index;
3476	    this.ok = false;
3477	  }
3478
3479	  _createClass(PatternCursor, [{
3480	    key: "block",
3481	    get: function get() {
3482	      return this.masked._blocks[this.index];
3483	    }
3484	  }, {
3485	    key: "pos",
3486	    get: function get() {
3487	      return this.masked._blockStartPos(this.index) + this.offset;
3488	    }
3489	  }, {
3490	    key: "state",
3491	    get: function get() {
3492	      return {
3493	        index: this.index,
3494	        offset: this.offset,
3495	        ok: this.ok
3496	      };
3497	    },
3498	    set: function set(s) {
3499	      Object.assign(this, s);
3500	    }
3501	  }, {
3502	    key: "pushState",
3503	    value: function pushState() {
3504	      this._log.push(this.state);
3505	    }
3506	  }, {
3507	    key: "popState",
3508	    value: function popState() {
3509	      var s = this._log.pop();
3510
3511	      this.state = s;
3512	      return s;
3513	    }
3514	  }, {
3515	    key: "bindBlock",
3516	    value: function bindBlock() {
3517	      if (this.block) return;
3518
3519	      if (this.index < 0) {
3520	        this.index = 0;
3521	        this.offset = 0;
3522	      }
3523
3524	      if (this.index >= this.masked._blocks.length) {
3525	        this.index = this.masked._blocks.length - 1;
3526	        this.offset = this.block.value.length;
3527	      }
3528	    }
3529	  }, {
3530	    key: "_pushLeft",
3531	    value: function _pushLeft(fn) {
3532	      this.pushState();
3533
3534	      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) {
3535	        var _this$block;
3536
3537	        if (fn()) return this.ok = true;
3538	      }
3539
3540	      return this.ok = false;
3541	    }
3542	  }, {
3543	    key: "_pushRight",
3544	    value: function _pushRight(fn) {
3545	      this.pushState();
3546
3547	      for (this.bindBlock(); this.index < this.masked._blocks.length; ++this.index, this.offset = 0) {
3548	        if (fn()) return this.ok = true;
3549	      }
3550
3551	      return this.ok = false;
3552	    }
3553	  }, {
3554	    key: "pushLeftBeforeFilled",
3555	    value: function pushLeftBeforeFilled() {
3556	      var _this = this;
3557
3558	      return this._pushLeft(function () {
3559	        if (_this.block.isFixed || !_this.block.value) return;
3560	        _this.offset = _this.block.nearestInputPos(_this.offset, DIRECTION.FORCE_LEFT);
3561	        if (_this.offset !== 0) return true;
3562	      });
3563	    }
3564	  }, {
3565	    key: "pushLeftBeforeInput",
3566	    value: function pushLeftBeforeInput() {
3567	      var _this2 = this;
3568
3569	      // cases:
3570	      // filled input: 00|
3571	      // optional empty input: 00[]|
3572	      // nested block: XX<[]>|
3573	      return this._pushLeft(function () {
3574	        if (_this2.block.isFixed) return;
3575	        _this2.offset = _this2.block.nearestInputPos(_this2.offset, DIRECTION.LEFT);
3576	        return true;
3577	      });
3578	    }
3579	  }, {
3580	    key: "pushLeftBeforeRequired",
3581	    value: function pushLeftBeforeRequired() {
3582	      var _this3 = this;
3583
3584	      return this._pushLeft(function () {
3585	        if (_this3.block.isFixed || _this3.block.isOptional && !_this3.block.value) return;
3586	        _this3.offset = _this3.block.nearestInputPos(_this3.offset, DIRECTION.LEFT);
3587	        return true;
3588	      });
3589	    }
3590	  }, {
3591	    key: "pushRightBeforeFilled",
3592	    value: function pushRightBeforeFilled() {
3593	      var _this4 = this;
3594
3595	      return this._pushRight(function () {
3596	        if (_this4.block.isFixed || !_this4.block.value) return;
3597	        _this4.offset = _this4.block.nearestInputPos(_this4.offset, DIRECTION.FORCE_RIGHT);
3598	        if (_this4.offset !== _this4.block.value.length) return true;
3599	      });
3600	    }
3601	  }, {
3602	    key: "pushRightBeforeInput",
3603	    value: function pushRightBeforeInput() {
3604	      var _this5 = this;
3605
3606	      return this._pushRight(function () {
3607	        if (_this5.block.isFixed) return; // const o = this.offset;
3608
3609	        _this5.offset = _this5.block.nearestInputPos(_this5.offset, DIRECTION.NONE); // HACK cases like (STILL DOES NOT WORK FOR NESTED)
3610	        // aa|X
3611	        // aa<X|[]>X_    - this will not work
3612	        // if (o && o === this.offset && this.block instanceof PatternInputDefinition) continue;
3613
3614	        return true;
3615	      });
3616	    }
3617	  }, {
3618	    key: "pushRightBeforeRequired",
3619	    value: function pushRightBeforeRequired() {
3620	      var _this6 = this;
3621
3622	      return this._pushRight(function () {
3623	        if (_this6.block.isFixed || _this6.block.isOptional && !_this6.block.value) return; // TODO check |[*]XX_
3624
3625	        _this6.offset = _this6.block.nearestInputPos(_this6.offset, DIRECTION.NONE);
3626	        return true;
3627	      });
3628	    }
3629	  }]);
3630
3631	  return PatternCursor;
3632	}();
3633
3634	/** Masking by RegExp */
3635
3636	var MaskedRegExp = /*#__PURE__*/function (_Masked) {
3637	  _inherits(MaskedRegExp, _Masked);
3638
3639	  var _super = _createSuper(MaskedRegExp);
3640
3641	  function MaskedRegExp() {
3642	    _classCallCheck(this, MaskedRegExp);
3643
3644	    return _super.apply(this, arguments);
3645	  }
3646
3647	  _createClass(MaskedRegExp, [{
3648	    key: "_update",
3649	    value:
3650	    /**
3651	      @override
3652	      @param {Object} opts
3653	    */
3654	    function _update(opts) {
3655	      if (opts.mask) opts.validate = function (value) {
3656	        return value.search(opts.mask) >= 0;
3657	      };
3658
3659	      _get(_getPrototypeOf(MaskedRegExp.prototype), "_update", this).call(this, opts);
3660	    }
3661	  }]);
3662
3663	  return MaskedRegExp;
3664	}(Masked);
3665	IMask.MaskedRegExp = MaskedRegExp;
3666
3667	var _excluded$2 = ["_blocks"];
3668
3669	/**
3670	  Pattern mask
3671	  @param {Object} opts
3672	  @param {Object} opts.blocks
3673	  @param {Object} opts.definitions
3674	  @param {string} opts.placeholderChar
3675	  @param {boolean} opts.lazy
3676	*/
3677	var MaskedPattern = /*#__PURE__*/function (_Masked) {
3678	  _inherits(MaskedPattern, _Masked);
3679
3680	  var _super = _createSuper(MaskedPattern);
3681
3682	  /** */
3683
3684	  /** */
3685
3686	  /** Single char for empty input */
3687
3688	  /** Show placeholder only when needed */
3689	  function MaskedPattern() {
3690	    var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3691
3692	    _classCallCheck(this, MaskedPattern);
3693
3694	    // TODO type $Shape<MaskedPatternOptions>={} does not work
3695	    opts.definitions = Object.assign({}, DEFAULT_INPUT_DEFINITIONS, opts.definitions);
3696	    return _super.call(this, Object.assign({}, MaskedPattern.DEFAULTS, opts));
3697	  }
3698	  /**
3699	    @override
3700	    @param {Object} opts
3701	  */
3702
3703
3704	  _createClass(MaskedPattern, [{
3705	    key: "_update",
3706	    value: function _update() {
3707	      var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3708	      opts.definitions = Object.assign({}, this.definitions, opts.definitions);
3709
3710	      _get(_getPrototypeOf(MaskedPattern.prototype), "_update", this).call(this, opts);
3711
3712	      this._rebuildMask();
3713	    }
3714	    /** */
3715
3716	  }, {
3717	    key: "_rebuildMask",
3718	    value: function _rebuildMask() {
3719	      var _this = this;
3720
3721	      var defs = this.definitions;
3722	      this._blocks = [];
3723	      this._stops = [];
3724	      this._maskedBlocks = {};
3725	      var pattern = this.mask;
3726	      if (!pattern || !defs) return;
3727	      var unmaskingBlock = false;
3728	      var optionalBlock = false;
3729
3730	      for (var i = 0; i < pattern.length; ++i) {
3731	        if (this.blocks) {
3732	          var _ret = function () {
3733	            var p = pattern.slice(i);
3734	            var bNames = Object.keys(_this.blocks).filter(function (bName) {
3735	              return p.indexOf(bName) === 0;
3736	            }); // order by key length
3737
3738	            bNames.sort(function (a, b) {
3739	              return b.length - a.length;
3740	            }); // use block name with max length
3741
3742	            var bName = bNames[0];
3743
3744	            if (bName) {
3745	              // $FlowFixMe no ideas
3746	              var maskedBlock = createMask(Object.assign({
3747	                parent: _this,
3748	                lazy: _this.lazy,
3749	                eager: _this.eager,
3750	                placeholderChar: _this.placeholderChar,
3751	                overwrite: _this.overwrite
3752	              }, _this.blocks[bName]));
3753
3754	              if (maskedBlock) {
3755	                _this._blocks.push(maskedBlock); // store block index
3756
3757
3758	                if (!_this._maskedBlocks[bName]) _this._maskedBlocks[bName] = [];
3759
3760	                _this._maskedBlocks[bName].push(_this._blocks.length - 1);
3761	              }
3762
3763	              i += bName.length - 1;
3764	              return "continue";
3765	            }
3766	          }();
3767
3768	          if (_ret === "continue") continue;
3769	        }
3770
3771	        var char = pattern[i];
3772	        var isInput = (char in defs);
3773
3774	        if (char === MaskedPattern.STOP_CHAR) {
3775	          this._stops.push(this._blocks.length);
3776
3777	          continue;
3778	        }
3779
3780	        if (char === '{' || char === '}') {
3781	          unmaskingBlock = !unmaskingBlock;
3782	          continue;
3783	        }
3784
3785	        if (char === '[' || char === ']') {
3786	          optionalBlock = !optionalBlock;
3787	          continue;
3788	        }
3789
3790	        if (char === MaskedPattern.ESCAPE_CHAR) {
3791	          ++i;
3792	          char = pattern[i];
3793	          if (!char) break;
3794	          isInput = false;
3795	        }
3796
3797	        var def = isInput ? new PatternInputDefinition({
3798	          parent: this,
3799	          lazy: this.lazy,
3800	          eager: this.eager,
3801	          placeholderChar: this.placeholderChar,
3802	          mask: defs[char],
3803	          isOptional: optionalBlock
3804	        }) : new PatternFixedDefinition({
3805	          char: char,
3806	          eager: this.eager,
3807	          isUnmasking: unmaskingBlock
3808	        });
3809
3810	        this._blocks.push(def);
3811	      }
3812	    }
3813	    /**
3814	      @override
3815	    */
3816
3817	  }, {
3818	    key: "state",
3819	    get: function get() {
3820	      return Object.assign({}, _get(_getPrototypeOf(MaskedPattern.prototype), "state", this), {
3821	        _blocks: this._blocks.map(function (b) {
3822	          return b.state;
3823	        })
3824	      });
3825	    },
3826	    set: function set(state) {
3827	      var _blocks = state._blocks,
3828	          maskedState = _objectWithoutProperties(state, _excluded$2);
3829
3830	      this._blocks.forEach(function (b, bi) {
3831	        return b.state = _blocks[bi];
3832	      });
3833
3834	      _set(_getPrototypeOf(MaskedPattern.prototype), "state", maskedState, this, true);
3835	    }
3836	    /**
3837	      @override
3838	    */
3839
3840	  }, {
3841	    key: "reset",
3842	    value: function reset() {
3843	      _get(_getPrototypeOf(MaskedPattern.prototype), "reset", this).call(this);
3844
3845	      this._blocks.forEach(function (b) {
3846	        return b.reset();
3847	      });
3848	    }
3849	    /**
3850	      @override
3851	    */
3852
3853	  }, {
3854	    key: "isComplete",
3855	    get: function get() {
3856	      return this._blocks.every(function (b) {
3857	        return b.isComplete;
3858	      });
3859	    }
3860	    /**
3861	      @override
3862	    */
3863
3864	  }, {
3865	    key: "isFilled",
3866	    get: function get() {
3867	      return this._blocks.every(function (b) {
3868	        return b.isFilled;
3869	      });
3870	    }
3871	  }, {
3872	    key: "isFixed",
3873	    get: function get() {
3874	      return this._blocks.every(function (b) {
3875	        return b.isFixed;
3876	      });
3877	    }
3878	  }, {
3879	    key: "isOptional",
3880	    get: function get() {
3881	      return this._blocks.every(function (b) {
3882	        return b.isOptional;
3883	      });
3884	    }
3885	    /**
3886	      @override
3887	    */
3888
3889	  }, {
3890	    key: "doCommit",
3891	    value: function doCommit() {
3892	      this._blocks.forEach(function (b) {
3893	        return b.doCommit();
3894	      });
3895
3896	      _get(_getPrototypeOf(MaskedPattern.prototype), "doCommit", this).call(this);
3897	    }
3898	    /**
3899	      @override
3900	    */
3901
3902	  }, {
3903	    key: "unmaskedValue",
3904	    get: function get() {
3905	      return this._blocks.reduce(function (str, b) {
3906	        return str += b.unmaskedValue;
3907	      }, '');
3908	    },
3909	    set: function set(unmaskedValue) {
3910	      _set(_getPrototypeOf(MaskedPattern.prototype), "unmaskedValue", unmaskedValue, this, true);
3911	    }
3912	    /**
3913	      @override
3914	    */
3915
3916	  }, {
3917	    key: "value",
3918	    get: function get() {
3919	      // TODO return _value when not in change?
3920	      return this._blocks.reduce(function (str, b) {
3921	        return str += b.value;
3922	      }, '');
3923	    },
3924	    set: function set(value) {
3925	      _set(_getPrototypeOf(MaskedPattern.prototype), "value", value, this, true);
3926	    }
3927	    /**
3928	      @override
3929	    */
3930
3931	  }, {
3932	    key: "appendTail",
3933	    value: function appendTail(tail) {
3934	      return _get(_getPrototypeOf(MaskedPattern.prototype), "appendTail", this).call(this, tail).aggregate(this._appendPlaceholder());
3935	    }
3936	    /**
3937	      @override
3938	    */
3939
3940	  }, {
3941	    key: "_appendEager",
3942	    value: function _appendEager() {
3943	      var _this$_mapPosToBlock;
3944
3945	      var details = new ChangeDetails();
3946	      var startBlockIndex = (_this$_mapPosToBlock = this._mapPosToBlock(this.value.length)) === null || _this$_mapPosToBlock === void 0 ? void 0 : _this$_mapPosToBlock.index;
3947	      if (startBlockIndex == null) return details; // TODO test if it works for nested pattern masks
3948
3949	      if (this._blocks[startBlockIndex].isFilled) ++startBlockIndex;
3950
3951	      for (var bi = startBlockIndex; bi < this._blocks.length; ++bi) {
3952	        var d = this._blocks[bi]._appendEager();
3953
3954	        if (!d.inserted) break;
3955	        details.aggregate(d);
3956	      }
3957
3958	      return details;
3959	    }
3960	    /**
3961	      @override
3962	    */
3963
3964	  }, {
3965	    key: "_appendCharRaw",
3966	    value: function _appendCharRaw(ch) {
3967	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3968
3969	      var blockIter = this._mapPosToBlock(this.value.length);
3970
3971	      var details = new ChangeDetails();
3972	      if (!blockIter) return details;
3973
3974	      for (var bi = blockIter.index;; ++bi) {
3975	        var _flags$_beforeTailSta;
3976
3977	        var _block = this._blocks[bi];
3978	        if (!_block) break;
3979
3980	        var blockDetails = _block._appendChar(ch, Object.assign({}, flags, {
3981	          _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : _flags$_beforeTailSta._blocks[bi]
3982	        }));
3983
3984	        var skip = blockDetails.skip;
3985	        details.aggregate(blockDetails);
3986	        if (skip || blockDetails.rawInserted) break; // go next char
3987	      }
3988
3989	      return details;
3990	    }
3991	    /**
3992	      @override
3993	    */
3994
3995	  }, {
3996	    key: "extractTail",
3997	    value: function extractTail() {
3998	      var _this2 = this;
3999
4000	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
4001	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
4002	      var chunkTail = new ChunksTailDetails();
4003	      if (fromPos === toPos) return chunkTail;
4004
4005	      this._forEachBlocksInRange(fromPos, toPos, function (b, bi, bFromPos, bToPos) {
4006	        var blockChunk = b.extractTail(bFromPos, bToPos);
4007	        blockChunk.stop = _this2._findStopBefore(bi);
4008	        blockChunk.from = _this2._blockStartPos(bi);
4009	        if (blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex = bi;
4010	        chunkTail.extend(blockChunk);
4011	      });
4012
4013	      return chunkTail;
4014	    }
4015	    /**
4016	      @override
4017	    */
4018
4019	  }, {
4020	    key: "extractInput",
4021	    value: function extractInput() {
4022	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
4023	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
4024	      var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
4025	      if (fromPos === toPos) return '';
4026	      var input = '';
4027
4028	      this._forEachBlocksInRange(fromPos, toPos, function (b, _, fromPos, toPos) {
4029	        input += b.extractInput(fromPos, toPos, flags);
4030	      });
4031
4032	      return input;
4033	    }
4034	  }, {
4035	    key: "_findStopBefore",
4036	    value: function _findStopBefore(blockIndex) {
4037	      var stopBefore;
4038
4039	      for (var si = 0; si < this._stops.length; ++si) {
4040	        var stop = this._stops[si];
4041	        if (stop <= blockIndex) stopBefore = stop;else break;
4042	      }
4043
4044	      return stopBefore;
4045	    }
4046	    /** Appends placeholder depending on laziness */
4047
4048	  }, {
4049	    key: "_appendPlaceholder",
4050	    value: function _appendPlaceholder(toBlockIndex) {
4051	      var _this3 = this;
4052
4053	      var details = new ChangeDetails();
4054	      if (this.lazy && toBlockIndex == null) return details;
4055
4056	      var startBlockIter = this._mapPosToBlock(this.value.length);
4057
4058	      if (!startBlockIter) return details;
4059	      var startBlockIndex = startBlockIter.index;
4060	      var endBlockIndex = toBlockIndex != null ? toBlockIndex : this._blocks.length;
4061
4062	      this._blocks.slice(startBlockIndex, endBlockIndex).forEach(function (b) {
4063	        if (!b.lazy || toBlockIndex != null) {
4064	          // $FlowFixMe `_blocks` may not be present
4065	          var args = b._blocks != null ? [b._blocks.length] : [];
4066
4067	          var bDetails = b._appendPlaceholder.apply(b, args);
4068
4069	          _this3._value += bDetails.inserted;
4070	          details.aggregate(bDetails);
4071	        }
4072	      });
4073
4074	      return details;
4075	    }
4076	    /** Finds block in pos */
4077
4078	  }, {
4079	    key: "_mapPosToBlock",
4080	    value: function _mapPosToBlock(pos) {
4081	      var accVal = '';
4082
4083	      for (var bi = 0; bi < this._blocks.length; ++bi) {
4084	        var _block2 = this._blocks[bi];
4085	        var blockStartPos = accVal.length;
4086	        accVal += _block2.value;
4087
4088	        if (pos <= accVal.length) {
4089	          return {
4090	            index: bi,
4091	            offset: pos - blockStartPos
4092	          };
4093	        }
4094	      }
4095	    }
4096	    /** */
4097
4098	  }, {
4099	    key: "_blockStartPos",
4100	    value: function _blockStartPos(blockIndex) {
4101	      return this._blocks.slice(0, blockIndex).reduce(function (pos, b) {
4102	        return pos += b.value.length;
4103	      }, 0);
4104	    }
4105	    /** */
4106
4107	  }, {
4108	    key: "_forEachBlocksInRange",
4109	    value: function _forEachBlocksInRange(fromPos) {
4110	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
4111	      var fn = arguments.length > 2 ? arguments[2] : undefined;
4112
4113	      var fromBlockIter = this._mapPosToBlock(fromPos);
4114
4115	      if (fromBlockIter) {
4116	        var toBlockIter = this._mapPosToBlock(toPos); // process first block
4117
4118
4119	        var isSameBlock = toBlockIter && fromBlockIter.index === toBlockIter.index;
4120	        var fromBlockStartPos = fromBlockIter.offset;
4121	        var fromBlockEndPos = toBlockIter && isSameBlock ? toBlockIter.offset : this._blocks[fromBlockIter.index].value.length;
4122	        fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos);
4123
4124	        if (toBlockIter && !isSameBlock) {
4125	          // process intermediate blocks
4126	          for (var bi = fromBlockIter.index + 1; bi < toBlockIter.index; ++bi) {
4127	            fn(this._blocks[bi], bi, 0, this._blocks[bi].value.length);
4128	          } // process last block
4129
4130
4131	          fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset);
4132	        }
4133	      }
4134	    }
4135	    /**
4136	      @override
4137	    */
4138
4139	  }, {
4140	    key: "remove",
4141	    value: function remove() {
4142	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
4143	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
4144
4145	      var removeDetails = _get(_getPrototypeOf(MaskedPattern.prototype), "remove", this).call(this, fromPos, toPos);
4146
4147	      this._forEachBlocksInRange(fromPos, toPos, function (b, _, bFromPos, bToPos) {
4148	        removeDetails.aggregate(b.remove(bFromPos, bToPos));
4149	      });
4150
4151	      return removeDetails;
4152	    }
4153	    /**
4154	      @override
4155	    */
4156
4157	  }, {
4158	    key: "nearestInputPos",
4159	    value: function nearestInputPos(cursorPos) {
4160	      var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE;
4161	      if (!this._blocks.length) return 0;
4162	      var cursor = new PatternCursor(this, cursorPos);
4163
4164	      if (direction === DIRECTION.NONE) {
4165	        // -------------------------------------------------
4166	        // NONE should only go out from fixed to the right!
4167	        // -------------------------------------------------
4168	        if (cursor.pushRightBeforeInput()) return cursor.pos;
4169	        cursor.popState();
4170	        if (cursor.pushLeftBeforeInput()) return cursor.pos;
4171	        return this.value.length;
4172	      } // FORCE is only about a|* otherwise is 0
4173
4174
4175	      if (direction === DIRECTION.LEFT || direction === DIRECTION.FORCE_LEFT) {
4176	        // try to break fast when *|a
4177	        if (direction === DIRECTION.LEFT) {
4178	          cursor.pushRightBeforeFilled();
4179	          if (cursor.ok && cursor.pos === cursorPos) return cursorPos;
4180	          cursor.popState();
4181	        } // forward flow
4182
4183
4184	        cursor.pushLeftBeforeInput();
4185	        cursor.pushLeftBeforeRequired();
4186	        cursor.pushLeftBeforeFilled(); // backward flow
4187
4188	        if (direction === DIRECTION.LEFT) {
4189	          cursor.pushRightBeforeInput();
4190	          cursor.pushRightBeforeRequired();
4191	          if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;
4192	          cursor.popState();
4193	          if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;
4194	          cursor.popState();
4195	        }
4196
4197	        if (cursor.ok) return cursor.pos;
4198	        if (direction === DIRECTION.FORCE_LEFT) return 0;
4199	        cursor.popState();
4200	        if (cursor.ok) return cursor.pos;
4201	        cursor.popState();
4202	        if (cursor.ok) return cursor.pos; // cursor.popState();
4203	        // if (
4204	        //   cursor.pushRightBeforeInput() &&
4205	        //   // TODO HACK for lazy if has aligned left inside fixed and has came to the start - use start position
4206	        //   (!this.lazy || this.extractInput())
4207	        // ) return cursor.pos;
4208
4209	        return 0;
4210	      }
4211
4212	      if (direction === DIRECTION.RIGHT || direction === DIRECTION.FORCE_RIGHT) {
4213	        // forward flow
4214	        cursor.pushRightBeforeInput();
4215	        cursor.pushRightBeforeRequired();
4216	        if (cursor.pushRightBeforeFilled()) return cursor.pos;
4217	        if (direction === DIRECTION.FORCE_RIGHT) return this.value.length; // backward flow
4218
4219	        cursor.popState();
4220	        if (cursor.ok) return cursor.pos;
4221	        cursor.popState();
4222	        if (cursor.ok) return cursor.pos;
4223	        return this.nearestInputPos(cursorPos, DIRECTION.LEFT);
4224	      }
4225
4226	      return cursorPos;
4227	    }
4228	    /** Get block by name */
4229
4230	  }, {
4231	    key: "maskedBlock",
4232	    value: function maskedBlock(name) {
4233	      return this.maskedBlocks(name)[0];
4234	    }
4235	    /** Get all blocks by name */
4236
4237	  }, {
4238	    key: "maskedBlocks",
4239	    value: function maskedBlocks(name) {
4240	      var _this4 = this;
4241
4242	      var indices = this._maskedBlocks[name];
4243	      if (!indices) return [];
4244	      return indices.map(function (gi) {
4245	        return _this4._blocks[gi];
4246	      });
4247	    }
4248	  }]);
4249
4250	  return MaskedPattern;
4251	}(Masked);
4252	MaskedPattern.DEFAULTS = {
4253	  lazy: true,
4254	  placeholderChar: '_'
4255	};
4256	MaskedPattern.STOP_CHAR = '`';
4257	MaskedPattern.ESCAPE_CHAR = '\\';
4258	MaskedPattern.InputDefinition = PatternInputDefinition;
4259	MaskedPattern.FixedDefinition = PatternFixedDefinition;
4260	IMask.MaskedPattern = MaskedPattern;
4261
4262	/** Pattern which accepts ranges */
4263
4264	var MaskedRange = /*#__PURE__*/function (_MaskedPattern) {
4265	  _inherits(MaskedRange, _MaskedPattern);
4266
4267	  var _super = _createSuper(MaskedRange);
4268
4269	  function MaskedRange() {
4270	    _classCallCheck(this, MaskedRange);
4271
4272	    return _super.apply(this, arguments);
4273	  }
4274
4275	  _createClass(MaskedRange, [{
4276	    key: "_matchFrom",
4277	    get:
4278	    /**
4279	      Optionally sets max length of pattern.
4280	      Used when pattern length is longer then `to` param length. Pads zeros at start in this case.
4281	    */
4282
4283	    /** Min bound */
4284
4285	    /** Max bound */
4286
4287	    /** */
4288	    function get() {
4289	      return this.maxLength - String(this.from).length;
4290	    }
4291	    /**
4292	      @override
4293	    */
4294
4295	  }, {
4296	    key: "_update",
4297	    value: function _update(opts) {
4298	      // TODO type
4299	      opts = Object.assign({
4300	        to: this.to || 0,
4301	        from: this.from || 0,
4302	        maxLength: this.maxLength || 0
4303	      }, opts);
4304	      var maxLength = String(opts.to).length;
4305	      if (opts.maxLength != null) maxLength = Math.max(maxLength, opts.maxLength);
4306	      opts.maxLength = maxLength;
4307	      var fromStr = String(opts.from).padStart(maxLength, '0');
4308	      var toStr = String(opts.to).padStart(maxLength, '0');
4309	      var sameCharsCount = 0;
4310
4311	      while (sameCharsCount < toStr.length && toStr[sameCharsCount] === fromStr[sameCharsCount]) {
4312	        ++sameCharsCount;
4313	      }
4314
4315	      opts.mask = toStr.slice(0, sameCharsCount).replace(/0/g, '\\0') + '0'.repeat(maxLength - sameCharsCount);
4316
4317	      _get(_getPrototypeOf(MaskedRange.prototype), "_update", this).call(this, opts);
4318	    }
4319	    /**
4320	      @override
4321	    */
4322
4323	  }, {
4324	    key: "isComplete",
4325	    get: function get() {
4326	      return _get(_getPrototypeOf(MaskedRange.prototype), "isComplete", this) && Boolean(this.value);
4327	    }
4328	  }, {
4329	    key: "boundaries",
4330	    value: function boundaries(str) {
4331	      var minstr = '';
4332	      var maxstr = '';
4333
4334	      var _ref = str.match(/^(\D*)(\d*)(\D*)/) || [],
4335	          _ref2 = _slicedToArray(_ref, 3),
4336	          placeholder = _ref2[1],
4337	          num = _ref2[2];
4338
4339	      if (num) {
4340	        minstr = '0'.repeat(placeholder.length) + num;
4341	        maxstr = '9'.repeat(placeholder.length) + num;
4342	      }
4343
4344	      minstr = minstr.padEnd(this.maxLength, '0');
4345	      maxstr = maxstr.padEnd(this.maxLength, '9');
4346	      return [minstr, maxstr];
4347	    } // TODO str is a single char everytime
4348
4349	    /**
4350	      @override
4351	    */
4352
4353	  }, {
4354	    key: "doPrepare",
4355	    value: function doPrepare(ch) {
4356	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
4357	      var details;
4358
4359	      var _normalizePrepare = normalizePrepare(_get(_getPrototypeOf(MaskedRange.prototype), "doPrepare", this).call(this, ch.replace(/\D/g, ''), flags));
4360
4361	      var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2);
4362
4363	      ch = _normalizePrepare2[0];
4364	      details = _normalizePrepare2[1];
4365	      if (!this.autofix || !ch) return ch;
4366	      var fromStr = String(this.from).padStart(this.maxLength, '0');
4367	      var toStr = String(this.to).padStart(this.maxLength, '0');
4368	      var nextVal = this.value + ch;
4369	      if (nextVal.length > this.maxLength) return '';
4370
4371	      var _this$boundaries = this.boundaries(nextVal),
4372	          _this$boundaries2 = _slicedToArray(_this$boundaries, 2),
4373	          minstr = _this$boundaries2[0],
4374	          maxstr = _this$boundaries2[1];
4375
4376	      if (Number(maxstr) < this.from) return fromStr[nextVal.length - 1];
4377
4378	      if (Number(minstr) > this.to) {
4379	        if (this.autofix === 'pad' && nextVal.length < this.maxLength) {
4380	          return ['', details.aggregate(this.append(fromStr[nextVal.length - 1] + ch, flags))];
4381	        }
4382
4383	        return toStr[nextVal.length - 1];
4384	      }
4385
4386	      return ch;
4387	    }
4388	    /**
4389	      @override
4390	    */
4391
4392	  }, {
4393	    key: "doValidate",
4394	    value: function doValidate() {
4395	      var _get2;
4396
4397	      var str = this.value;
4398	      var firstNonZero = str.search(/[^0]/);
4399	      if (firstNonZero === -1 && str.length <= this._matchFrom) return true;
4400
4401	      var _this$boundaries3 = this.boundaries(str),
4402	          _this$boundaries4 = _slicedToArray(_this$boundaries3, 2),
4403	          minstr = _this$boundaries4[0],
4404	          maxstr = _this$boundaries4[1];
4405
4406	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
4407	        args[_key] = arguments[_key];
4408	      }
4409
4410	      return this.from <= Number(maxstr) && Number(minstr) <= this.to && (_get2 = _get(_getPrototypeOf(MaskedRange.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args));
4411	    }
4412	  }]);
4413
4414	  return MaskedRange;
4415	}(MaskedPattern);
4416	IMask.MaskedRange = MaskedRange;
4417
4418	/** Date mask */
4419
4420	var MaskedDate = /*#__PURE__*/function (_MaskedPattern) {
4421	  _inherits(MaskedDate, _MaskedPattern);
4422
4423	  var _super = _createSuper(MaskedDate);
4424
4425	  /** Pattern mask for date according to {@link MaskedDate#format} */
4426
4427	  /** Start date */
4428
4429	  /** End date */
4430
4431	  /** */
4432
4433	  /**
4434	    @param {Object} opts
4435	  */
4436	  function MaskedDate(opts) {
4437	    _classCallCheck(this, MaskedDate);
4438
4439	    return _super.call(this, Object.assign({}, MaskedDate.DEFAULTS, opts));
4440	  }
4441	  /**
4442	    @override
4443	  */
4444
4445
4446	  _createClass(MaskedDate, [{
4447	    key: "_update",
4448	    value: function _update(opts) {
4449	      if (opts.mask === Date) delete opts.mask;
4450	      if (opts.pattern) opts.mask = opts.pattern;
4451	      var blocks = opts.blocks;
4452	      opts.blocks = Object.assign({}, MaskedDate.GET_DEFAULT_BLOCKS()); // adjust year block
4453
4454	      if (opts.min) opts.blocks.Y.from = opts.min.getFullYear();
4455	      if (opts.max) opts.blocks.Y.to = opts.max.getFullYear();
4456
4457	      if (opts.min && opts.max && opts.blocks.Y.from === opts.blocks.Y.to) {
4458	        opts.blocks.m.from = opts.min.getMonth() + 1;
4459	        opts.blocks.m.to = opts.max.getMonth() + 1;
4460
4461	        if (opts.blocks.m.from === opts.blocks.m.to) {
4462	          opts.blocks.d.from = opts.min.getDate();
4463	          opts.blocks.d.to = opts.max.getDate();
4464	        }
4465	      }
4466
4467	      Object.assign(opts.blocks, this.blocks, blocks); // add autofix
4468
4469	      Object.keys(opts.blocks).forEach(function (bk) {
4470	        var b = opts.blocks[bk];
4471	        if (!('autofix' in b) && 'autofix' in opts) b.autofix = opts.autofix;
4472	      });
4473
4474	      _get(_getPrototypeOf(MaskedDate.prototype), "_update", this).call(this, opts);
4475	    }
4476	    /**
4477	      @override
4478	    */
4479
4480	  }, {
4481	    key: "doValidate",
4482	    value: function doValidate() {
4483	      var _get2;
4484
4485	      var date = this.date;
4486
4487	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
4488	        args[_key] = arguments[_key];
4489	      }
4490
4491	      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));
4492	    }
4493	    /** Checks if date is exists */
4494
4495	  }, {
4496	    key: "isDateExist",
4497	    value: function isDateExist(str) {
4498	      return this.format(this.parse(str, this), this).indexOf(str) >= 0;
4499	    }
4500	    /** Parsed Date */
4501
4502	  }, {
4503	    key: "date",
4504	    get: function get() {
4505	      return this.typedValue;
4506	    },
4507	    set: function set(date) {
4508	      this.typedValue = date;
4509	    }
4510	    /**
4511	      @override
4512	    */
4513
4514	  }, {
4515	    key: "typedValue",
4516	    get: function get() {
4517	      return this.isComplete ? _get(_getPrototypeOf(MaskedDate.prototype), "typedValue", this) : null;
4518	    },
4519	    set: function set(value) {
4520	      _set(_getPrototypeOf(MaskedDate.prototype), "typedValue", value, this, true);
4521	    }
4522	    /**
4523	      @override
4524	    */
4525
4526	  }, {
4527	    key: "maskEquals",
4528	    value: function maskEquals(mask) {
4529	      return mask === Date || _get(_getPrototypeOf(MaskedDate.prototype), "maskEquals", this).call(this, mask);
4530	    }
4531	  }]);
4532
4533	  return MaskedDate;
4534	}(MaskedPattern);
4535	MaskedDate.DEFAULTS = {
4536	  pattern: 'd{.}`m{.}`Y',
4537	  format: function format(date) {
4538	    if (!date) return '';
4539	    var day = String(date.getDate()).padStart(2, '0');
4540	    var month = String(date.getMonth() + 1).padStart(2, '0');
4541	    var year = date.getFullYear();
4542	    return [day, month, year].join('.');
4543	  },
4544	  parse: function parse(str) {
4545	    var _str$split = str.split('.'),
4546	        _str$split2 = _slicedToArray(_str$split, 3),
4547	        day = _str$split2[0],
4548	        month = _str$split2[1],
4549	        year = _str$split2[2];
4550
4551	    return new Date(year, month - 1, day);
4552	  }
4553	};
4554
4555	MaskedDate.GET_DEFAULT_BLOCKS = function () {
4556	  return {
4557	    d: {
4558	      mask: MaskedRange,
4559	      from: 1,
4560	      to: 31,
4561	      maxLength: 2
4562	    },
4563	    m: {
4564	      mask: MaskedRange,
4565	      from: 1,
4566	      to: 12,
4567	      maxLength: 2
4568	    },
4569	    Y: {
4570	      mask: MaskedRange,
4571	      from: 1900,
4572	      to: 9999
4573	    }
4574	  };
4575	};
4576
4577	IMask.MaskedDate = MaskedDate;
4578
4579	/**
4580	  Generic element API to use with mask
4581	  @interface
4582	*/
4583	var MaskElement = /*#__PURE__*/function () {
4584	  function MaskElement() {
4585	    _classCallCheck(this, MaskElement);
4586	  }
4587
4588	  _createClass(MaskElement, [{
4589	    key: "selectionStart",
4590	    get:
4591	    /** */
4592
4593	    /** */
4594
4595	    /** */
4596
4597	    /** Safely returns selection start */
4598	    function get() {
4599	      var start;
4600
4601	      try {
4602	        start = this._unsafeSelectionStart;
4603	      } catch (e) {}
4604
4605	      return start != null ? start : this.value.length;
4606	    }
4607	    /** Safely returns selection end */
4608
4609	  }, {
4610	    key: "selectionEnd",
4611	    get: function get() {
4612	      var end;
4613
4614	      try {
4615	        end = this._unsafeSelectionEnd;
4616	      } catch (e) {}
4617
4618	      return end != null ? end : this.value.length;
4619	    }
4620	    /** Safely sets element selection */
4621
4622	  }, {
4623	    key: "select",
4624	    value: function select(start, end) {
4625	      if (start == null || end == null || start === this.selectionStart && end === this.selectionEnd) return;
4626
4627	      try {
4628	        this._unsafeSelect(start, end);
4629	      } catch (e) {}
4630	    }
4631	    /** Should be overriden in subclasses */
4632
4633	  }, {
4634	    key: "_unsafeSelect",
4635	    value: function _unsafeSelect(start, end) {}
4636	    /** Should be overriden in subclasses */
4637
4638	  }, {
4639	    key: "isActive",
4640	    get: function get() {
4641	      return false;
4642	    }
4643	    /** Should be overriden in subclasses */
4644
4645	  }, {
4646	    key: "bindEvents",
4647	    value: function bindEvents(handlers) {}
4648	    /** Should be overriden in subclasses */
4649
4650	  }, {
4651	    key: "unbindEvents",
4652	    value: function unbindEvents() {}
4653	  }]);
4654
4655	  return MaskElement;
4656	}();
4657	IMask.MaskElement = MaskElement;
4658
4659	/** Bridge between HTMLElement and {@link Masked} */
4660
4661	var HTMLMaskElement = /*#__PURE__*/function (_MaskElement) {
4662	  _inherits(HTMLMaskElement, _MaskElement);
4663
4664	  var _super = _createSuper(HTMLMaskElement);
4665
4666	  /** Mapping between HTMLElement events and mask internal events */
4667
4668	  /** HTMLElement to use mask on */
4669
4670	  /**
4671	    @param {HTMLInputElement|HTMLTextAreaElement} input
4672	  */
4673	  function HTMLMaskElement(input) {
4674	    var _this;
4675
4676	    _classCallCheck(this, HTMLMaskElement);
4677
4678	    _this = _super.call(this);
4679	    _this.input = input;
4680	    _this._handlers = {};
4681	    return _this;
4682	  }
4683	  /** */
4684	  // $FlowFixMe https://github.com/facebook/flow/issues/2839
4685
4686
4687	  _createClass(HTMLMaskElement, [{
4688	    key: "rootElement",
4689	    get: function get() {
4690	      var _this$input$getRootNo, _this$input$getRootNo2, _this$input;
4691
4692	      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;
4693	    }
4694	    /**
4695	      Is element in focus
4696	      @readonly
4697	    */
4698
4699	  }, {
4700	    key: "isActive",
4701	    get: function get() {
4702	      //$FlowFixMe
4703	      return this.input === this.rootElement.activeElement;
4704	    }
4705	    /**
4706	      Returns HTMLElement selection start
4707	      @override
4708	    */
4709
4710	  }, {
4711	    key: "_unsafeSelectionStart",
4712	    get: function get() {
4713	      return this.input.selectionStart;
4714	    }
4715	    /**
4716	      Returns HTMLElement selection end
4717	      @override
4718	    */
4719
4720	  }, {
4721	    key: "_unsafeSelectionEnd",
4722	    get: function get() {
4723	      return this.input.selectionEnd;
4724	    }
4725	    /**
4726	      Sets HTMLElement selection
4727	      @override
4728	    */
4729
4730	  }, {
4731	    key: "_unsafeSelect",
4732	    value: function _unsafeSelect(start, end) {
4733	      this.input.setSelectionRange(start, end);
4734	    }
4735	    /**
4736	      HTMLElement value
4737	      @override
4738	    */
4739
4740	  }, {
4741	    key: "value",
4742	    get: function get() {
4743	      return this.input.value;
4744	    },
4745	    set: function set(value) {
4746	      this.input.value = value;
4747	    }
4748	    /**
4749	      Binds HTMLElement events to mask internal events
4750	      @override
4751	    */
4752
4753	  }, {
4754	    key: "bindEvents",
4755	    value: function bindEvents(handlers) {
4756	      var _this2 = this;
4757
4758	      Object.keys(handlers).forEach(function (event) {
4759	        return _this2._toggleEventHandler(HTMLMaskElement.EVENTS_MAP[event], handlers[event]);
4760	      });
4761	    }
4762	    /**
4763	      Unbinds HTMLElement events to mask internal events
4764	      @override
4765	    */
4766
4767	  }, {
4768	    key: "unbindEvents",
4769	    value: function unbindEvents() {
4770	      var _this3 = this;
4771
4772	      Object.keys(this._handlers).forEach(function (event) {
4773	        return _this3._toggleEventHandler(event);
4774	      });
4775	    }
4776	    /** */
4777
4778	  }, {
4779	    key: "_toggleEventHandler",
4780	    value: function _toggleEventHandler(event, handler) {
4781	      if (this._handlers[event]) {
4782	        this.input.removeEventListener(event, this._handlers[event]);
4783	        delete this._handlers[event];
4784	      }
4785
4786	      if (handler) {
4787	        this.input.addEventListener(event, handler);
4788	        this._handlers[event] = handler;
4789	      }
4790	    }
4791	  }]);
4792
4793	  return HTMLMaskElement;
4794	}(MaskElement);
4795	HTMLMaskElement.EVENTS_MAP = {
4796	  selectionChange: 'keydown',
4797	  input: 'input',
4798	  drop: 'drop',
4799	  click: 'click',
4800	  focus: 'focus',
4801	  commit: 'blur'
4802	};
4803	IMask.HTMLMaskElement = HTMLMaskElement;
4804
4805	var HTMLContenteditableMaskElement = /*#__PURE__*/function (_HTMLMaskElement) {
4806	  _inherits(HTMLContenteditableMaskElement, _HTMLMaskElement);
4807
4808	  var _super = _createSuper(HTMLContenteditableMaskElement);
4809
4810	  function HTMLContenteditableMaskElement() {
4811	    _classCallCheck(this, HTMLContenteditableMaskElement);
4812
4813	    return _super.apply(this, arguments);
4814	  }
4815
4816	  _createClass(HTMLContenteditableMaskElement, [{
4817	    key: "_unsafeSelectionStart",
4818	    get:
4819	    /**
4820	      Returns HTMLElement selection start
4821	      @override
4822	    */
4823	    function get() {
4824	      var root = this.rootElement;
4825	      var selection = root.getSelection && root.getSelection();
4826	      var anchorOffset = selection && selection.anchorOffset;
4827	      var focusOffset = selection && selection.focusOffset;
4828
4829	      if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) {
4830	        return anchorOffset;
4831	      }
4832
4833	      return focusOffset;
4834	    }
4835	    /**
4836	      Returns HTMLElement selection end
4837	      @override
4838	    */
4839
4840	  }, {
4841	    key: "_unsafeSelectionEnd",
4842	    get: function get() {
4843	      var root = this.rootElement;
4844	      var selection = root.getSelection && root.getSelection();
4845	      var anchorOffset = selection && selection.anchorOffset;
4846	      var focusOffset = selection && selection.focusOffset;
4847
4848	      if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) {
4849	        return anchorOffset;
4850	      }
4851
4852	      return focusOffset;
4853	    }
4854	    /**
4855	      Sets HTMLElement selection
4856	      @override
4857	    */
4858
4859	  }, {
4860	    key: "_unsafeSelect",
4861	    value: function _unsafeSelect(start, end) {
4862	      if (!this.rootElement.createRange) return;
4863	      var range = this.rootElement.createRange();
4864	      range.setStart(this.input.firstChild || this.input, start);
4865	      range.setEnd(this.input.lastChild || this.input, end);
4866	      var root = this.rootElement;
4867	      var selection = root.getSelection && root.getSelection();
4868
4869	      if (selection) {
4870	        selection.removeAllRanges();
4871	        selection.addRange(range);
4872	      }
4873	    }
4874	    /**
4875	      HTMLElement value
4876	      @override
4877	    */
4878
4879	  }, {
4880	    key: "value",
4881	    get: function get() {
4882	      // $FlowFixMe
4883	      return this.input.textContent;
4884	    },
4885	    set: function set(value) {
4886	      this.input.textContent = value;
4887	    }
4888	  }]);
4889
4890	  return HTMLContenteditableMaskElement;
4891	}(HTMLMaskElement);
4892	IMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement;
4893
4894	var _excluded$1 = ["mask"];
4895	/** Listens to element events and controls changes between element and {@link Masked} */
4896
4897	var InputMask = /*#__PURE__*/function () {
4898	  /**
4899	    View element
4900	    @readonly
4901	  */
4902
4903	  /**
4904	    Internal {@link Masked} model
4905	    @readonly
4906	  */
4907
4908	  /**
4909	    @param {MaskElement|HTMLInputElement|HTMLTextAreaElement} el
4910	    @param {Object} opts
4911	  */
4912	  function InputMask(el, opts) {
4913	    _classCallCheck(this, InputMask);
4914
4915	    this.el = el instanceof MaskElement ? el : el.isContentEditable && el.tagName !== 'INPUT' && el.tagName !== 'TEXTAREA' ? new HTMLContenteditableMaskElement(el) : new HTMLMaskElement(el);
4916	    this.masked = createMask(opts);
4917	    this._listeners = {};
4918	    this._value = '';
4919	    this._unmaskedValue = '';
4920	    this._saveSelection = this._saveSelection.bind(this);
4921	    this._onInput = this._onInput.bind(this);
4922	    this._onChange = this._onChange.bind(this);
4923	    this._onDrop = this._onDrop.bind(this);
4924	    this._onFocus = this._onFocus.bind(this);
4925	    this._onClick = this._onClick.bind(this);
4926	    this.alignCursor = this.alignCursor.bind(this);
4927	    this.alignCursorFriendly = this.alignCursorFriendly.bind(this);
4928
4929	    this._bindEvents(); // refresh
4930
4931
4932	    this.updateValue();
4933
4934	    this._onChange();
4935	  }
4936	  /** Read or update mask */
4937
4938
4939	  _createClass(InputMask, [{
4940	    key: "mask",
4941	    get: function get() {
4942	      return this.masked.mask;
4943	    },
4944	    set: function set(mask) {
4945	      if (this.maskEquals(mask)) return; // $FlowFixMe No ideas ... after update
4946
4947	      if (!(mask instanceof IMask.Masked) && this.masked.constructor === maskedClass(mask)) {
4948	        this.masked.updateOptions({
4949	          mask: mask
4950	        });
4951	        return;
4952	      }
4953
4954	      var masked = createMask({
4955	        mask: mask
4956	      });
4957	      masked.unmaskedValue = this.masked.unmaskedValue;
4958	      this.masked = masked;
4959	    }
4960	    /** Raw value */
4961
4962	  }, {
4963	    key: "maskEquals",
4964	    value: function maskEquals(mask) {
4965	      var _this$masked;
4966
4967	      return mask == null || ((_this$masked = this.masked) === null || _this$masked === void 0 ? void 0 : _this$masked.maskEquals(mask));
4968	    }
4969	  }, {
4970	    key: "value",
4971	    get: function get() {
4972	      return this._value;
4973	    },
4974	    set: function set(str) {
4975	      this.masked.value = str;
4976	      this.updateControl();
4977	      this.alignCursor();
4978	    }
4979	    /** Unmasked value */
4980
4981	  }, {
4982	    key: "unmaskedValue",
4983	    get: function get() {
4984	      return this._unmaskedValue;
4985	    },
4986	    set: function set(str) {
4987	      this.masked.unmaskedValue = str;
4988	      this.updateControl();
4989	      this.alignCursor();
4990	    }
4991	    /** Typed unmasked value */
4992
4993	  }, {
4994	    key: "typedValue",
4995	    get: function get() {
4996	      return this.masked.typedValue;
4997	    },
4998	    set: function set(val) {
4999	      this.masked.typedValue = val;
5000	      this.updateControl();
5001	      this.alignCursor();
5002	    }
5003	    /**
5004	      Starts listening to element events
5005	      @protected
5006	    */
5007
5008	  }, {
5009	    key: "_bindEvents",
5010	    value: function _bindEvents() {
5011	      this.el.bindEvents({
5012	        selectionChange: this._saveSelection,
5013	        input: this._onInput,
5014	        drop: this._onDrop,
5015	        click: this._onClick,
5016	        focus: this._onFocus,
5017	        commit: this._onChange
5018	      });
5019	    }
5020	    /**
5021	      Stops listening to element events
5022	      @protected
5023	     */
5024
5025	  }, {
5026	    key: "_unbindEvents",
5027	    value: function _unbindEvents() {
5028	      if (this.el) this.el.unbindEvents();
5029	    }
5030	    /**
5031	      Fires custom event
5032	      @protected
5033	     */
5034
5035	  }, {
5036	    key: "_fireEvent",
5037	    value: function _fireEvent(ev) {
5038	      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
5039	        args[_key - 1] = arguments[_key];
5040	      }
5041
5042	      var listeners = this._listeners[ev];
5043	      if (!listeners) return;
5044	      listeners.forEach(function (l) {
5045	        return l.apply(void 0, args);
5046	      });
5047	    }
5048	    /**
5049	      Current selection start
5050	      @readonly
5051	    */
5052
5053	  }, {
5054	    key: "selectionStart",
5055	    get: function get() {
5056	      return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart;
5057	    }
5058	    /** Current cursor position */
5059
5060	  }, {
5061	    key: "cursorPos",
5062	    get: function get() {
5063	      return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd;
5064	    },
5065	    set: function set(pos) {
5066	      if (!this.el || !this.el.isActive) return;
5067	      this.el.select(pos, pos);
5068
5069	      this._saveSelection();
5070	    }
5071	    /**
5072	      Stores current selection
5073	      @protected
5074	    */
5075
5076	  }, {
5077	    key: "_saveSelection",
5078	    value: function
5079	      /* ev */
5080	    _saveSelection() {
5081	      if (this.value !== this.el.value) {
5082	        console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); // eslint-disable-line no-console
5083	      }
5084
5085	      this._selection = {
5086	        start: this.selectionStart,
5087	        end: this.cursorPos
5088	      };
5089	    }
5090	    /** Syncronizes model value from view */
5091
5092	  }, {
5093	    key: "updateValue",
5094	    value: function updateValue() {
5095	      this.masked.value = this.el.value;
5096	      this._value = this.masked.value;
5097	    }
5098	    /** Syncronizes view from model value, fires change events */
5099
5100	  }, {
5101	    key: "updateControl",
5102	    value: function updateControl() {
5103	      var newUnmaskedValue = this.masked.unmaskedValue;
5104	      var newValue = this.masked.value;
5105	      var isChanged = this.unmaskedValue !== newUnmaskedValue || this.value !== newValue;
5106	      this._unmaskedValue = newUnmaskedValue;
5107	      this._value = newValue;
5108	      if (this.el.value !== newValue) this.el.value = newValue;
5109	      if (isChanged) this._fireChangeEvents();
5110	    }
5111	    /** Updates options with deep equal check, recreates @{link Masked} model if mask type changes */
5112
5113	  }, {
5114	    key: "updateOptions",
5115	    value: function updateOptions(opts) {
5116	      var mask = opts.mask,
5117	          restOpts = _objectWithoutProperties(opts, _excluded$1);
5118
5119	      var updateMask = !this.maskEquals(mask);
5120	      var updateOpts = !objectIncludes(this.masked, restOpts);
5121	      if (updateMask) this.mask = mask;
5122	      if (updateOpts) this.masked.updateOptions(restOpts);
5123	      if (updateMask || updateOpts) this.updateControl();
5124	    }
5125	    /** Updates cursor */
5126
5127	  }, {
5128	    key: "updateCursor",
5129	    value: function updateCursor(cursorPos) {
5130	      if (cursorPos == null) return;
5131	      this.cursorPos = cursorPos; // also queue change cursor for mobile browsers
5132
5133	      this._delayUpdateCursor(cursorPos);
5134	    }
5135	    /**
5136	      Delays cursor update to support mobile browsers
5137	      @private
5138	    */
5139
5140	  }, {
5141	    key: "_delayUpdateCursor",
5142	    value: function _delayUpdateCursor(cursorPos) {
5143	      var _this = this;
5144
5145	      this._abortUpdateCursor();
5146
5147	      this._changingCursorPos = cursorPos;
5148	      this._cursorChanging = setTimeout(function () {
5149	        if (!_this.el) return; // if was destroyed
5150
5151	        _this.cursorPos = _this._changingCursorPos;
5152
5153	        _this._abortUpdateCursor();
5154	      }, 10);
5155	    }
5156	    /**
5157	      Fires custom events
5158	      @protected
5159	    */
5160
5161	  }, {
5162	    key: "_fireChangeEvents",
5163	    value: function _fireChangeEvents() {
5164	      this._fireEvent('accept', this._inputEvent);
5165
5166	      if (this.masked.isComplete) this._fireEvent('complete', this._inputEvent);
5167	    }
5168	    /**
5169	      Aborts delayed cursor update
5170	      @private
5171	    */
5172
5173	  }, {
5174	    key: "_abortUpdateCursor",
5175	    value: function _abortUpdateCursor() {
5176	      if (this._cursorChanging) {
5177	        clearTimeout(this._cursorChanging);
5178	        delete this._cursorChanging;
5179	      }
5180	    }
5181	    /** Aligns cursor to nearest available position */
5182
5183	  }, {
5184	    key: "alignCursor",
5185	    value: function alignCursor() {
5186	      this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT));
5187	    }
5188	    /** Aligns cursor only if selection is empty */
5189
5190	  }, {
5191	    key: "alignCursorFriendly",
5192	    value: function alignCursorFriendly() {
5193	      if (this.selectionStart !== this.cursorPos) return; // skip if range is selected
5194
5195	      this.alignCursor();
5196	    }
5197	    /** Adds listener on custom event */
5198
5199	  }, {
5200	    key: "on",
5201	    value: function on(ev, handler) {
5202	      if (!this._listeners[ev]) this._listeners[ev] = [];
5203
5204	      this._listeners[ev].push(handler);
5205
5206	      return this;
5207	    }
5208	    /** Removes custom event listener */
5209
5210	  }, {
5211	    key: "off",
5212	    value: function off(ev, handler) {
5213	      if (!this._listeners[ev]) return this;
5214
5215	      if (!handler) {
5216	        delete this._listeners[ev];
5217	        return this;
5218	      }
5219
5220	      var hIndex = this._listeners[ev].indexOf(handler);
5221
5222	      if (hIndex >= 0) this._listeners[ev].splice(hIndex, 1);
5223	      return this;
5224	    }
5225	    /** Handles view input event */
5226
5227	  }, {
5228	    key: "_onInput",
5229	    value: function _onInput(e) {
5230	      this._inputEvent = e;
5231
5232	      this._abortUpdateCursor(); // fix strange IE behavior
5233
5234
5235	      if (!this._selection) return this.updateValue();
5236	      var details = new ActionDetails( // new state
5237	      this.el.value, this.cursorPos, // old state
5238	      this.value, this._selection);
5239	      var oldRawValue = this.masked.rawInputValue;
5240	      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
5241	      // otherwise we still need to align with NONE (to get out from fixed symbols for instance)
5242
5243	      var removeDirection = oldRawValue === this.masked.rawInputValue ? details.removeDirection : DIRECTION.NONE;
5244	      var cursorPos = this.masked.nearestInputPos(details.startChangePos + offset, removeDirection);
5245	      if (removeDirection !== DIRECTION.NONE) cursorPos = this.masked.nearestInputPos(cursorPos, DIRECTION.NONE);
5246	      this.updateControl();
5247	      this.updateCursor(cursorPos);
5248	      delete this._inputEvent;
5249	    }
5250	    /** Handles view change event and commits model value */
5251
5252	  }, {
5253	    key: "_onChange",
5254	    value: function _onChange() {
5255	      if (this.value !== this.el.value) {
5256	        this.updateValue();
5257	      }
5258
5259	      this.masked.doCommit();
5260	      this.updateControl();
5261
5262	      this._saveSelection();
5263	    }
5264	    /** Handles view drop event, prevents by default */
5265
5266	  }, {
5267	    key: "_onDrop",
5268	    value: function _onDrop(ev) {
5269	      ev.preventDefault();
5270	      ev.stopPropagation();
5271	    }
5272	    /** Restore last selection on focus */
5273
5274	  }, {
5275	    key: "_onFocus",
5276	    value: function _onFocus(ev) {
5277	      this.alignCursorFriendly();
5278	    }
5279	    /** Restore last selection on focus */
5280
5281	  }, {
5282	    key: "_onClick",
5283	    value: function _onClick(ev) {
5284	      this.alignCursorFriendly();
5285	    }
5286	    /** Unbind view events and removes element reference */
5287
5288	  }, {
5289	    key: "destroy",
5290	    value: function destroy() {
5291	      this._unbindEvents(); // $FlowFixMe why not do so?
5292
5293
5294	      this._listeners.length = 0; // $FlowFixMe
5295
5296	      delete this.el;
5297	    }
5298	  }]);
5299
5300	  return InputMask;
5301	}();
5302	IMask.InputMask = InputMask;
5303
5304	/** Pattern which validates enum values */
5305
5306	var MaskedEnum = /*#__PURE__*/function (_MaskedPattern) {
5307	  _inherits(MaskedEnum, _MaskedPattern);
5308
5309	  var _super = _createSuper(MaskedEnum);
5310
5311	  function MaskedEnum() {
5312	    _classCallCheck(this, MaskedEnum);
5313
5314	    return _super.apply(this, arguments);
5315	  }
5316
5317	  _createClass(MaskedEnum, [{
5318	    key: "_update",
5319	    value:
5320	    /**
5321	      @override
5322	      @param {Object} opts
5323	    */
5324	    function _update(opts) {
5325	      // TODO type
5326	      if (opts.enum) opts.mask = '*'.repeat(opts.enum[0].length);
5327
5328	      _get(_getPrototypeOf(MaskedEnum.prototype), "_update", this).call(this, opts);
5329	    }
5330	    /**
5331	      @override
5332	    */
5333
5334	  }, {
5335	    key: "doValidate",
5336	    value: function doValidate() {
5337	      var _this = this,
5338	          _get2;
5339
5340	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5341	        args[_key] = arguments[_key];
5342	      }
5343
5344	      return this.enum.some(function (e) {
5345	        return e.indexOf(_this.unmaskedValue) >= 0;
5346	      }) && (_get2 = _get(_getPrototypeOf(MaskedEnum.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args));
5347	    }
5348	  }]);
5349
5350	  return MaskedEnum;
5351	}(MaskedPattern);
5352	IMask.MaskedEnum = MaskedEnum;
5353
5354	/**
5355	  Number mask
5356	  @param {Object} opts
5357	  @param {string} opts.radix - Single char
5358	  @param {string} opts.thousandsSeparator - Single char
5359	  @param {Array<string>} opts.mapToRadix - Array of single chars
5360	  @param {number} opts.min
5361	  @param {number} opts.max
5362	  @param {number} opts.scale - Digits after point
5363	  @param {boolean} opts.signed - Allow negative
5364	  @param {boolean} opts.normalizeZeros - Flag to remove leading and trailing zeros in the end of editing
5365	  @param {boolean} opts.padFractionalZeros - Flag to pad trailing zeros after point in the end of editing
5366	*/
5367	var MaskedNumber = /*#__PURE__*/function (_Masked) {
5368	  _inherits(MaskedNumber, _Masked);
5369
5370	  var _super = _createSuper(MaskedNumber);
5371
5372	  /** Single char */
5373
5374	  /** Single char */
5375
5376	  /** Array of single chars */
5377
5378	  /** */
5379
5380	  /** */
5381
5382	  /** Digits after point */
5383
5384	  /** */
5385
5386	  /** Flag to remove leading and trailing zeros in the end of editing */
5387
5388	  /** Flag to pad trailing zeros after point in the end of editing */
5389	  function MaskedNumber(opts) {
5390	    _classCallCheck(this, MaskedNumber);
5391
5392	    return _super.call(this, Object.assign({}, MaskedNumber.DEFAULTS, opts));
5393	  }
5394	  /**
5395	    @override
5396	  */
5397
5398
5399	  _createClass(MaskedNumber, [{
5400	    key: "_update",
5401	    value: function _update(opts) {
5402	      _get(_getPrototypeOf(MaskedNumber.prototype), "_update", this).call(this, opts);
5403
5404	      this._updateRegExps();
5405	    }
5406	    /** */
5407
5408	  }, {
5409	    key: "_updateRegExps",
5410	    value: function _updateRegExps() {
5411	      // use different regexp to process user input (more strict, input suffix
5411) and tail shifting
5412	      var start = '^' + (this.allowNegative ? '[+|\\-]?' : '');
5413	      var midInput = '(0|([1-9]+\\d*))?';
5414	      var mid = '\\d*';
5415	      var end = (this.scale ? '(' + escapeRegExp(this.radix) + '\\d{0,' + this.scale + '})?' : '') + '$';
5416	      this._numberRegExpInput = new RegExp(start + midInput + end);
5417	      this._numberRegExp = new RegExp(start + mid + end);
5418	      this._mapToRadixRegExp = new RegExp('[' + this.mapToRadix.map(escapeRegExp).join('') + ']', 'g');
5419	      this._thousandsSeparatorRegExp = new RegExp(escapeRegExp(this.thousandsSeparator), 'g');
5420	    }
5421	    /** */
5422
5423	  }, {
5424	    key: "_removeThousandsSeparators",
5425	    value: function _removeThousandsSeparators(value) {
5426	      return value.replace(this._thousandsSeparatorRegExp, '');
5427	    }
5428	    /** */
5429
5430	  }, {
5431	    key: "_insertThousandsSeparators",
5432	    value: function _insertThousandsSeparators(value) {
5433	      // https://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript
5434	      var parts = value.split(this.radix);
5435	      parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, this.thousandsSeparator);
5436	      return parts.join(this.radix);
5437	    }
5438	    /**
5439	      @override
5440	    */
5441
5442	  }, {
5443	    key: "doPrepare",
5444	    value: function doPrepare(ch) {
5445	      var _get2;
5446
5447	      ch = ch.replace(this._mapToRadixRegExp, this.radix);
5448
5449	      var noSepCh = this._removeThousandsSeparators(ch);
5450
5451	      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
5452	        args[_key - 1] = arguments[_key];
5453	      }
5454
5455	      var _normalizePrepare = normalizePrepare((_get2 = _get(_getPrototypeOf(MaskedNumber.prototype), "doPrepare", this)).call.apply(_get2, [this, noSepCh].concat(args))),
5456	          _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2),
5457	          prepCh = _normalizePrepare2[0],
5458	          details = _normalizePrepare2[1];
5459
5460	      if (ch && !noSepCh) details.skip = true;
5461	      return [prepCh, details];
5462	    }
5463	    /** */
5464
5465	  }, {
5466	    key: "_separatorsCount",
5467	    value: function _separatorsCount(to) {
5468	      var extendOnSeparators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
5469	      var count = 0;
5470
5471	      for (var pos = 0; pos < to; ++pos) {
5472	        if (this._value.indexOf(this.thousandsSeparator, pos) === pos) {
5473	          ++count;
5474	          if (extendOnSeparators) to += this.thousandsSeparator.length;
5475	        }
5476	      }
5477
5478	      return count;
5479	    }
5480	    /** */
5481
5482	  }, {
5483	    key: "_separatorsCountFromSlice",
5484	    value: function _separatorsCountFromSlice() {
5485	      var slice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._value;
5486	      return this._separatorsCount(this._removeThousandsSeparators(slice).length, true);
5487	    }
5488	    /**
5489	      @override
5490	    */
5491
5492	  }, {
5493	    key: "extractInput",
5494	    value: function extractInput() {
5495	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
5496	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
5497	      var flags = arguments.length > 2 ? arguments[2] : undefined;
5498
5499	      var _this$_adjustRangeWit = this._adjustRangeWithSeparators(fromPos, toPos);
5500
5501	      var _this$_adjustRangeWit2 = _slicedToArray(_this$_adjustRangeWit, 2);
5502
5503	      fromPos = _this$_adjustRangeWit2[0];
5504	      toPos = _this$_adjustRangeWit2[1];
5505	      return this._removeThousandsSeparators(_get(_getPrototypeOf(MaskedNumber.prototype), "extractInput", this).call(this, fromPos, toPos, flags));
5506	    }
5507	    /**
5508	      @override
5509	    */
5510
5511	  }, {
5512	    key: "_appendCharRaw",
5513	    value: function _appendCharRaw(ch) {
5514	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5515	      if (!this.thousandsSeparator) return _get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags);
5516	      var prevBeforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value;
5517
5518	      var prevBeforeTailSeparatorsCount = this._separatorsCountFromSlice(prevBeforeTailValue);
5519
5520	      this._value = this._removeThousandsSeparators(this.value);
5521
5522	      var appendDetails = _get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags);
5523
5524	      this._value = this._insertThousandsSeparators(this._value);
5525	      var beforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value;
5526
5527	      var beforeTailSeparatorsCount = this._separatorsCountFromSlice(beforeTailValue);
5528
5529	      appendDetails.tailShift += (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length;
5530	      appendDetails.skip = !appendDetails.rawInserted && ch === this.thousandsSeparator;
5531	      return appendDetails;
5532	    }
5533	    /** */
5534
5535	  }, {
5536	    key: "_findSeparatorAround",
5537	    value: function _findSeparatorAround(pos) {
5538	      if (this.thousandsSeparator) {
5539	        var searchFrom = pos - this.thousandsSeparator.length + 1;
5540	        var separatorPos = this.value.indexOf(this.thousandsSeparator, searchFrom);
5541	        if (separatorPos <= pos) return separatorPos;
5542	      }
5543
5544	      return -1;
5545	    }
5546	  }, {
5547	    key: "_adjustRangeWithSeparators",
5548	    value: function _adjustRangeWithSeparators(from, to) {
5549	      var separatorAroundFromPos = this._findSeparatorAround(from);
5550
5551	      if (separatorAroundFromPos >= 0) from = separatorAroundFromPos;
5552
5553	      var separatorAroundToPos = this._findSeparatorAround(to);
5554
5555	      if (separatorAroundToPos >= 0) to = separatorAroundToPos + this.thousandsSeparator.length;
5556	      return [from, to];
5557	    }
5558	    /**
5559	      @override
5560	    */
5561
5562	  }, {
5563	    key: "remove",
5564	    value: function remove() {
5565	      var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
5566	      var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length;
5567
5568	      var _this$_adjustRangeWit3 = this._adjustRangeWithSeparators(fromPos, toPos);
5569
5570	      var _this$_adjustRangeWit4 = _slicedToArray(_this$_adjustRangeWit3, 2);
5571
5572	      fromPos = _this$_adjustRangeWit4[0];
5573	      toPos = _this$_adjustRangeWit4[1];
5574	      var valueBeforePos = this.value.slice(0, fromPos);
5575	      var valueAfterPos = this.value.slice(toPos);
5576
5577	      var prevBeforeTailSeparatorsCount = this._separatorsCount(valueBeforePos.length);
5578
5579	      this._value = this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos + valueAfterPos));
5580
5581	      var beforeTailSeparatorsCount = this._separatorsCountFromSlice(valueBeforePos);
5582
5583	      return new ChangeDetails({
5584	        tailShift: (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length
5585	      });
5586	    }
5587	    /**
5588	      @override
5589	    */
5590
5591	  }, {
5592	    key: "nearestInputPos",
5593	    value: function nearestInputPos(cursorPos, direction) {
5594	      if (!this.thousandsSeparator) return cursorPos;
5595
5596	      switch (direction) {
5597	        case DIRECTION.NONE:
5598	        case DIRECTION.LEFT:
5599	        case DIRECTION.FORCE_LEFT:
5600	          {
5601	            var separatorAtLeftPos = this._findSeparatorAround(cursorPos - 1);
5602
5603	            if (separatorAtLeftPos >= 0) {
5604	              var separatorAtLeftEndPos = separatorAtLeftPos + this.thousandsSeparator.length;
5605
5606	              if (cursorPos < separatorAtLeftEndPos || this.value.length <= separatorAtLeftEndPos || direction === DIRECTION.FORCE_LEFT) {
5607	                return separatorAtLeftPos;
5608	              }
5609	            }
5610
5611	            break;
5612	          }
5613
5614	        case DIRECTION.RIGHT:
5615	        case DIRECTION.FORCE_RIGHT:
5616	          {
5617	            var separatorAtRightPos = this._findSeparatorAround(cursorPos);
5618
5619	            if (separatorAtRightPos >= 0) {
5620	              return separatorAtRightPos + this.thousandsSeparator.length;
5621	            }
5622	          }
5623	      }
5624
5625	      return cursorPos;
5626	    }
5627	    /**
5628	      @override
5629	    */
5630
5631	  }, {
5632	    key: "doValidate",
5633	    value: function doValidate(flags) {
5634	      var regexp = flags.input ? this._numberRegExpInput : this._numberRegExp; // validate as string
5635
5636	      var valid = regexp.test(this._removeThousandsSeparators(this.value));
5637
5638	      if (valid) {
5639	        // validate as number
5640	        var number = this.number;
5641	        valid = valid && !isNaN(number) && ( // check min bound for negative values
5642	        this.min == null || this.min >= 0 || this.min <= this.number) && ( // check max bound for positive values
5643	        this.max == null || this.max <= 0 || this.number <= this.max);
5644	      }
5645
5646	      return valid && _get(_getPrototypeOf(MaskedNumber.prototype), "doValidate", this).call(this, flags);
5647	    }
5648	    /**
5649	      @override
5650	    */
5651
5652	  }, {
5653	    key: "doCommit",
5654	    value: function doCommit() {
5655	      if (this.value) {
5656	        var number = this.number;
5657	        var validnum = number; // check bounds
5658
5659	        if (this.min != null) validnum = Math.max(validnum, this.min);
5660	        if (this.max != null) validnum = Math.min(validnum, this.max);
5661	        if (validnum !== number) this.unmaskedValue = String(validnum);
5662	        var formatted = this.value;
5663	        if (this.normalizeZeros) formatted = this._normalizeZeros(formatted);
5664	        if (this.padFractionalZeros && this.scale > 0) formatted = this._padFractionalZeros(formatted);
5665	        this._value = formatted;
5666	      }
5667
5668	      _get(_getPrototypeOf(MaskedNumber.prototype), "doCommit", this).call(this);
5669	    }
5670	    /** */
5671
5672	  }, {
5673	    key: "_normalizeZeros",
5674	    value: function _normalizeZeros(value) {
5675	      var parts = this._removeThousandsSeparators(value).split(this.radix); // remove leading zeros
5676
5677
5678	      parts[0] = parts[0].replace(/^(\D*)(0*)(\d*)/, function (match, sign, zeros, num) {
5679	        return sign + num;
5680	      }); // add leading zero
5681
5682	      if (value.length && !/\d$/.test(parts[0])) parts[0] = parts[0] + '0';
5683
5684	      if (parts.length > 1) {
5685	        parts[1] = parts[1].replace(/0*$/, ''); // remove trailing zeros
5686
5687	        if (!parts[1].length) parts.length = 1; // remove fractional
5688	      }
5689
5690	      return this._insertThousandsSeparators(parts.join(this.radix));
5691	    }
5692	    /** */
5693
5694	  }, {
5695	    key: "_padFractionalZeros",
5696	    value: function _padFractionalZeros(value) {
5697	      if (!value) return value;
5698	      var parts = value.split(this.radix);
5699	      if (parts.length < 2) parts.push('');
5700	      parts[1] = parts[1].padEnd(this.scale, '0');
5701	      return parts.join(this.radix);
5702	    }
5703	    /**
5704	      @override
5705	    */
5706
5707	  }, {
5708	    key: "unmaskedValue",
5709	    get: function get() {
5710	      return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix, '.');
5711	    },
5712	    set: function set(unmaskedValue) {
5713	      _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", unmaskedValue.replace('.', this.radix), this, true);
5714	    }
5715	    /**
5716	      @override
5717	    */
5718
5719	  }, {
5720	    key: "typedValue",
5721	    get: function get() {
5722	      return Number(this.unmaskedValue);
5723	    },
5724	    set: function set(n) {
5725	      _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", String(n), this, true);
5726	    }
5727	    /** Parsed Number */
5728
5729	  }, {
5730	    key: "number",
5731	    get: function get() {
5732	      return this.typedValue;
5733	    },
5734	    set: function set(number) {
5735	      this.typedValue = number;
5736	    }
5737	    /**
5738	      Is negative allowed
5739	      @readonly
5740	    */
5741
5742	  }, {
5743	    key: "allowNegative",
5744	    get: function get() {
5745	      return this.signed || this.min != null && this.min < 0 || this.max != null && this.max < 0;
5746	    }
5747	  }]);
5748
5749	  return MaskedNumber;
5750	}(Masked);
5751	MaskedNumber.DEFAULTS = {
5752	  radix: ',',
5753	  thousandsSeparator: '',
5754	  mapToRadix: ['.'],
5755	  scale: 2,
5756	  signed: false,
5757	  normalizeZeros: true,
5758	  padFractionalZeros: false
5759	};
5760	IMask.MaskedNumber = MaskedNumber;
5761
5762	/** Masking by custom Function */
5763
5764	var MaskedFunction = /*#__PURE__*/function (_Masked) {
5765	  _inherits(MaskedFunction, _Masked);
5766
5767	  var _super = _createSuper(MaskedFunction);
5768
5769	  function MaskedFunction() {
5770	    _classCallCheck(this, MaskedFunction);
5771
5772	    return _super.apply(this, arguments);
5773	  }
5774
5775	  _createClass(MaskedFunction, [{
5776	    key: "_update",
5777	    value:
5778	    /**
5779	      @override
5780	      @param {Object} opts
5781	    */
5782	    function _update(opts) {
5783	      if (opts.mask) opts.validate = opts.mask;
5784
5785	      _get(_getPrototypeOf(MaskedFunction.prototype), "_update", this).call(this, opts);
5786	    }
5787	  }]);
5788
5789	  return MaskedFunction;
5790	}(Masked);
5791	IMask.MaskedFunction = MaskedFunction;
5792
5793	var _excluded = ["compiledMasks", "currentMaskRef", "currentMask"];
5794
5795	/** Dynamic mask for choosing apropriate mask in run-time */
5796	var MaskedDynamic = /*#__PURE__*/function (_Masked) {
5797	  _inherits(MaskedDynamic, _Masked);
5798
5799	  var _super = _createSuper(MaskedDynamic);
5800
5801	  /** Currently chosen mask */
5802
5803	  /** Compliled {@link Masked} options */
5804
5805	  /** Chooses {@link Masked}
5805 depending on input value */
5806
5807	  /**
5808	    @param {Object} opts
5809	  */
5810	  function MaskedDynamic(opts) {
5811	    var _this;
5812
5813	    _classCallCheck(this, MaskedDynamic);
5814
5815	    _this = _super.call(this, Object.assign({}, MaskedDynamic.DEFAULTS, opts));
5816	    _this.currentMask = null;
5817	    return _this;
5818	  }
5819	  /**
5820	    @override
5821	  */
5822
5823
5824	  _createClass(MaskedDynamic, [{
5825	    key: "_update",
5826	    value: function _update(opts) {
5827	      _get(_getPrototypeOf(MaskedDynamic.prototype), "_update", this).call(this, opts);
5828
5829	      if ('mask' in opts) {
5830	        // mask could be totally dynamic with only `dispatch` option
5831	        this.compiledMasks = Array.isArray(opts.mask) ? opts.mask.map(function (m) {
5832	          return createMask(m);
5833	        }) : [];
5834	      }
5835	    }
5836	    /**
5837	      @override
5838	    */
5839
5840	  }, {
5841	    key: "_appendCharRaw",
5842	    value: function _appendCharRaw(ch) {
5843	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5844
5845	      var details = this._applyDispatch(ch, flags);
5846
5847	      if (this.currentMask) {
5848	        details.aggregate(this.currentMask._appendChar(ch, flags));
5849	      }
5850
5851	      return details;
5852	    }
5853	  }, {
5854	    key: "_applyDispatch",
5855	    value: function _applyDispatch() {
5856	      var appended = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
5857	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5858	      var prevValueBeforeTail = flags.tail && flags._beforeTailState != null ? flags._beforeTailState._value : this.value;
5859	      var inputValue = this.rawInputValue;
5860	      var insertValue = flags.tail && flags._beforeTailState != null ? // $FlowFixMe - tired to fight with type system
5861	      flags._beforeTailState._rawInputValue : inputValue;
5862	      var tailValue = inputValue.slice(insertValue.length);
5863	      var prevMask = this.currentMask;
5864	      var details = new ChangeDetails();
5865	      var prevMaskState = prevMask && prevMask.state; // clone flags to prevent overwriting `_beforeTailState`
5866
5867	      this.currentMask = this.doDispatch(appended, Object.assign({}, flags)); // restore state after dispatch
5868
5869	      if (this.currentMask) {
5870	        if (this.currentMask !== prevMask) {
5871	          // if mask changed reapply input
5872	          this.currentMask.reset();
5873
5874	          if (insertValue) {
5875	            // $FlowFixMe - it's ok, we don't change current mask above
5876	            var d = this.currentMask.append(insertValue, {
5877	              raw: true
5878	            });
5879	            details.tailShift = d.inserted.length - prevValueBeforeTail.length;
5880	          }
5881
5882	          if (tailValue) {
5883	            // $FlowFixMe - it's ok, we don't change current mask above
5884	            details.tailShift += this.currentMask.append(tailValue, {
5885	              raw: true,
5886	              tail: true
5887	            }).tailShift;
5888	          }
5889	        } else {
5890	          // Dispatch can do something bad with state, so
5891	          // restore prev mask state
5892	          this.currentMask.state = prevMaskState;
5893	        }
5894	      }
5895
5896	      return details;
5897	    }
5898	  }, {
5899	    key: "_appendPlaceholder",
5900	    value: function _appendPlaceholder() {
5901	      var details = this._applyDispatch.apply(this, arguments);
5902
5903	      if (this.currentMask) {
5904	        details.aggregate(this.currentMask._appendPlaceholder());
5905	      }
5906
5907	      return details;
5908	    }
5909	    /**
5910	     @override
5911	    */
5912
5913	  }, {
5914	    key: "_appendEager",
5915	    value: function _appendEager() {
5916	      var details = this._applyDispatch.apply(this, arguments);
5917
5918	      if (this.currentMask) {
5919	        details.aggregate(this.currentMask._appendEager());
5920	      }
5921
5922	      return details;
5923	    }
5924	    /**
5925	      @override
5926	    */
5927
5928	  }, {
5929	    key: "doDispatch",
5930	    value: function doDispatch(appended) {
5931	      var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5932	      return this.dispatch(appended, this, flags);
5933	    }
5934	    /**
5935	      @override
5936	    */
5937
5938	  }, {
5939	    key: "doValidate",
5940	    value: function doValidate() {
5941	      var _get2, _this$currentMask;
5942
5943	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5944	        args[_key] = arguments[_key];
5945	      }
5946
5947	      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));
5948	    }
5949	    /**
5950	      @override
5951	    */
5952
5953	  }, {
5954	    key: "reset",
5955	    value: function reset() {
5956	      var _this$currentMask2;
5957
5958	      (_this$currentMask2 = this.currentMask) === null || _this$currentMask2 === void 0 ? void 0 : _this$currentMask2.reset();
5959	      this.compiledMasks.forEach(function (m) {
5960	        return m.reset();
5961	      });
5962	    }
5963	    /**
5964	      @override
5965	    */
5966
5967	  }, {
5968	    key: "value",
5969	    get: function get() {
5970	      return this.currentMask ? this.currentMask.value : '';
5971	    },
5972	    set: function set(value) {
5973	      _set(_getPrototypeOf(MaskedDynamic.prototype), "value", value, this, true);
5974	    }
5975	    /**
5976	      @override
5977	    */
5978
5979	  }, {
5980	    key: "unmaskedValue",
5981	    get: function get() {
5982	      return this.currentMask ? this.currentMask.unmaskedValue : '';
5983	    },
5984	    set: function set(unmaskedValue) {
5985	      _set(_getPrototypeOf(MaskedDynamic.prototype), "unmaskedValue", unmaskedValue, this, true);
5986	    }
5987	    /**
5988	      @override
5989	    */
5990
5991	  }, {
5992	    key: "typedValue",
5993	    get: function get() {
5994	      return this.currentMask ? this.currentMask.typedValue : '';
5995	    } // probably typedValue should not be used with dynamic
5996	    ,
5997	    set: function set(value) {
5998	      var unmaskedValue = String(value); // double check it
5999
6000	      if (this.currentMask) {
6001	        this.currentMask.typedValue = value;
6002	        unmaskedValue = this.currentMask.unmaskedValue;
6003	      }
6004
6005	      this.unmaskedValue = unmaskedValue;
6006	    }
6007	    /**
6008	      @override
6009	    */
6010
6011	  }, {
6012	    key: "isComplete",
6013	    get: function get() {
6014	      var _this$currentMask3;
6015
6016	      return Boolean((_this$currentMask3 = this.currentMask) === null || _this$currentMask3 === void 0 ? void 0 : _this$currentMask3.isComplete);
6017	    }
6018	    /**
6019	      @override
6020	    */
6021
6022	  }, {
6023	    key: "isFilled",
6024	    get: function get() {
6025	      var _this$currentMask4;
6026
6027	      return Boolean((_this$currentMask4 = this.currentMask) === null || _this$currentMask4 === void 0 ? void 0 : _this$currentMask4.isFilled);
6028	    }
6029	    /**
6030	      @override
6031	    */
6032
6033	  }, {
6034	    key: "remove",
6035	    value: function remove() {
6036	      var details = new ChangeDetails();
6037
6038	      if (this.currentMask) {
6039	        var _this$currentMask5;
6040
6041	        details.aggregate((_this$currentMask5 = this.currentMask).remove.apply(_this$currentMask5, arguments)) // update with dispatch
6042	        .aggregate(this._applyDispatch());
6043	      }
6044
6045	      return details;
6046	    }
6047	    /**
6048	      @override
6049	    */
6050
6051	  }, {
6052	    key: "state",
6053	    get: function get() {
6054	      return Object.assign({}, _get(_getPrototypeOf(MaskedDynamic.prototype), "state", this), {
6055	        _rawInputValue: this.rawInputValue,
6056	        compiledMasks: this.compiledMasks.map(function (m) {
6057	          return m.state;
6058	        }),
6059	        currentMaskRef: this.currentMask,
6060	        currentMask: this.currentMask && this.currentMask.state
6061	      });
6062	    },
6063	    set: function set(state) {
6064	      var compiledMasks = state.compiledMasks,
6065	          currentMaskRef = state.currentMaskRef,
6066	          currentMask = state.currentMask,
6067	          maskedState = _objectWithoutProperties(state, _excluded);
6068
6069	      this.compiledMasks.forEach(function (m, mi) {
6070	        return m.state = compiledMasks[mi];
6071	      });
6072
6073	      if (currentMaskRef != null) {
6074	        this.currentMask = currentMaskRef;
6075	        this.currentMask.state = currentMask;
6076	      }
6077
6078	      _set(_getPrototypeOf(MaskedDynamic.prototype), "state", maskedState, this, true);
6079	    }
6080	    /**
6081	      @override
6082	    */
6083
6084	  }, {
6085	    key: "extractInput",
6086	    value: function extractInput() {
6087	      var _this$currentMask6;
6088
6089	      return this.currentMask ? (_this$currentMask6 = this.currentMask).extractInput.apply(_this$currentMask6, arguments) : '';
6090	    }
6091	    /**
6092	      @override
6093	    */
6094
6095	  }, {
6096	    key: "extractTail",
6097	    value: function extractTail() {
6098	      var _this$currentMask7, _get3;
6099
6100	      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
6101	        args[_key2] = arguments[_key2];
6102	      }
6103
6104	      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));
6105	    }
6106	    /**
6107	      @override
6108	    */
6109
6110	  }, {
6111	    key: "doCommit",
6112	    value: function doCommit() {
6113	      if (this.currentMask) this.currentMask.doCommit();
6114
6115	      _get(_getPrototypeOf(MaskedDynamic.prototype), "doCommit", this).call(this);
6116	    }
6117	    /**
6118	      @override
6119	    */
6120
6121	  }, {
6122	    key: "nearestInputPos",
6123	    value: function nearestInputPos() {
6124	      var _this$currentMask8, _get4;
6125
6126	      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
6127	        args[_key3] = arguments[_key3];
6128	      }
6129
6130	      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));
6131	    }
6132	  }, {
6133	    key: "overwrite",
6134	    get: function get() {
6135	      return this.currentMask ? this.currentMask.overwrite : _get(_getPrototypeOf(MaskedDynamic.prototype), "overwrite", this);
6136	    },
6137	    set: function set(overwrite) {
6138	      console.warn('"overwrite" option is not available in dynamic mask, use this option in siblings');
6139	    }
6140	  }, {
6141	    key: "eager",
6142	    get: function get() {
6143	      return this.currentMask ? this.currentMask.eager : _get(_getPrototypeOf(MaskedDynamic.prototype), "eager", this);
6144	    },
6145	    set: function set(eager) {
6146	      console.warn('"eager" option is not available in dynamic mask, use this option in siblings');
6147	    }
6148	    /**
6149	      @override
6150	    */
6151
6152	  }, {
6153	    key: "maskEquals",
6154	    value: function maskEquals(mask) {
6155	      return Array.isArray(mask) && this.compiledMasks.every(function (m, mi) {
6156	        var _mask$mi;
6157
6158	        return m.maskEquals((_mask$mi = mask[mi]) === null || _mask$mi === void 0 ? void 0 : _mask$mi.mask);
6159	      });
6160	    }
6161	  }]);
6162
6163	  return MaskedDynamic;
6164	}(Masked);
6165	MaskedDynamic.DEFAULTS = {
6166	  dispatch: function dispatch(appended, masked, flags) {
6167	    if (!masked.compiledMasks.length) return;
6168	    var inputValue = masked.rawInputValue; // simulate input
6169
6170	    var inputs = masked.compiledMasks.map(function (m, index) {
6171	      m.reset();
6172	      m.append(inputValue, {
6173	        raw: true
6174	      });
6175	      m.append(appended, flags);
6176	      var weight = m.rawInputValue.length;
6177	      return {
6178	        weight: weight,
6179	        index: index
6180	      };
6181	    }); // pop masks with longer values first
6182
6183	    inputs.sort(function (i1, i2) {
6184	      return i2.weight - i1.weight;
6185	    });
6186	    return masked.compiledMasks[inputs[0].index];
6187	  }
6188	};
6189	IMask.MaskedDynamic = MaskedDynamic;
6190
6191	/** Mask pipe source and destination types */
6192
6193	var PIPE_TYPE = {
6194	  MASKED: 'value',
6195	  UNMASKED: 'unmaskedValue',
6196	  TYPED: 'typedValue'
6197	};
6198	/** Creates new pipe function depending on mask type, source and destination options */
6199
6200	function createPipe(mask) {
6201	  var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : PIPE_TYPE.MASKED;
6202	  var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : PIPE_TYPE.MASKED;
6203	  var masked = createMask(mask);
6204	  return function (value) {
6205	    return masked.runIsolated(function (m) {
6206	      m[from] = value;
6207	      return m[to];
6208	    });
6209	  };
6210	}
6211	/** Pipes value through mask depending on mask type, source and destination options */
6212
6213	function pipe(value) {
6214	  for (var _len = arguments.length, pipeArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
6215	    pipeArgs[_key - 1] = arguments[_key];
6216	  }
6217
6218	  return createPipe.apply(void 0, pipeArgs)(value);
6219	}
6220	IMask.PIPE_TYPE = PIPE_TYPE;
6221	IMask.createPipe = createPipe;
6222	IMask.pipe = pipe;
6223
6224	try {
6225	  globalThis.IMask = IMask;
6226	} catch (e) {}
6227
6228	exports.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement;
6229	exports.HTMLMaskElement = HTMLMaskElement;
6230	exports.InputMask = InputMask;
6231	exports.MaskElement = MaskElement;
6232	exports.Masked = Masked;
6233	exports.MaskedDate = MaskedDate;
6234	exports.MaskedDynamic = MaskedDynamic;
6235	exports.MaskedEnum = MaskedEnum;
6236	exports.MaskedFunction = MaskedFunction;
6237	exports.MaskedNumber = MaskedNumber;
6238	exports.MaskedPattern = MaskedPattern;
6239	exports.MaskedRange = MaskedRange;
6240	exports.MaskedRegExp = MaskedRegExp;
6241	exports.PIPE_TYPE = PIPE_TYPE;
6242	exports.createMask = createMask;
6243	exports.createPipe = createPipe;
vendor: 28,270 bytes, lines 6244-6251
6244	exports["default"] = IMask;
6245	exports.pipe = pipe;
6246
6247	Object.defineProperty(exports, '__esModule', { value: true });
6248
6249}));
6250
6251!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;
6251case 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 6251
6251),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;
6251if((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}()}));;
6252
6253//     // Подменный селект
6254function createSelect(wrapper,search_query) {
6255  let select = wrapper.querySelectorAll(search_query);
6256  if (select) {
6257    select.forEach(function (item) {
6258      let $this = item;
6259      // Оборачиваем
6260      let selectWrap = document.createElement('div');
6261      selectWrap.setAttribute("class", "select-box");
6262      $this.parentNode.insertBefore(selectWrap, $this);
6263      $this.setAttribute('style','display:none');
6264      selectWrap.appendChild($this);
6265
6266      // Создаем новый селект
6267      let selectStyled = document.createElement('div');
6268      selectStyled.setAttribute("class", "select-styled");
6269      selectWrap.appendChild(selectStyled);
6270
6271      // Создаем новый список
6272      let options = document.createElement('div');
6273      options.setAttribute("class", "select-options");
6274      selectWrap.appendChild(options);
6275
6276      let optionsList = document.createElement('ul');
6277      options.appendChild(optionsList);
6278
6279      // Добавляем в список пункты
6280      for (let i = 0; i < $this.length; i++) {
6281        let text = $this.options[i].text;
6282        let option = document.createElement('li');
6283        option.innerText = text;
6284        optionsList.appendChild(option);
6285
6286        // Клик на пункт
6287        option.addEventListener("click", function (e) {
6288          option.closest("ul").querySelectorAll("li").forEach(function (item) {
6289            item.classList.remove("choice");
6290          });
6291          option.classList.add("choice");
6292          let text = e.target.innerText;
6293          selectStyled.innerText = text;
6294
6295          selectStyled.classList.remove("active");
6296          options.style.height = '0px';
6297
6298          // Имитируем клик на реальный селект
6299          $this.querySelectorAll("option").forEach(function (item) {
6300            item.removeAttribute("selected");
6301          });
6302          $this.options[i].setAttribute("selected", "selected");
6303          let eventChange = new Event('change', { bubbles: true });
6304          $this.dispatchEvent(eventChange);
6305
6306        });
6307      }
6308      ;
6309
6310      // Выбранный пункт по умолчанию
6311      let startChoice = $this.querySelector("option[selected='selected']");
6312      if (!startChoice) {
6313        // Если по умолчанию нет selected вставить первый пункт
6314        startChoice = $this.querySelector("option");
6315      }
6316      ;
6317      let startText = startChoice.text;
6318      selectStyled.innerText = startText;
6319      let index = startChoice.index;
6320      optionsList.querySelector("li:nth-child(" + (index + 1) + ")").classList.add("choice");
6321
6322
6323      // Клик на селект
6324      selectStyled.addEventListener("click", function (e) {
6325        closeSelects(e);
6326
6327        if (!selectStyled.classList.contains("active")) {
6328          selectStyled.classList.add("active");
6329
6330          options.style.height = 'auto';
6331          let optionsHeight = options.clientHeight + 'px';
6332          options.style.height = '0px';
6333          setTimeout(function () {
6334            options.style.height = optionsHeight;
6335          }, 0);
6336        }
6337        else {
6338          selectStyled.classList.remove("active");
6339          options.style.height = '0px';
6340        }
6341        ;
6342      });
6343    });
6344
6345    // Клик вне селекта
6346    document.addEventListener("click", function (e) {
6347      if (!e.target.matches(".select-styled")) {
6348        closeSelects(e);
6349      }
6350      ;
6351    });
6352
6353    function closeSelects(e) {
6354      if (e.target != document.querySelector(".select-styled.active")) {
6355        document.querySelectorAll(".select-styled.active").forEach(function (item) {
6356          item.classList.remove("active");
6357          item.nextElementSibling.style.height = '0px';
6358        });
6359      }
6360      ;
6361    };
6362  }
6363  ;
6364};
6365
6366document.addEventListener('DOMContentLoaded', function() {
6367
6368/////////////////////
6369//Главная страница//
6370///////////////////
6371
6372  const cookieBlock = document.querySelector('.cookie');
6373  const cookieBtn = document.querySelector('.cookie__btn');
6374
6375  // Проверяем, был ли пользователь уже на сайте
6376  const isVisited = localStorage.getItem('cookieVisited');
6377
6378  if (!isVisited) {
6379    // Если впервые, добавляем класс для отображения
6380    cookieBlock.classList.add('cookie--visible');
6381    // Запоминаем, что пользователь посетил сайт
6382  }
6383
6384  // Обработка клика по кнопке внутри cookie
6385  cookieBtn.addEventListener('click', () => {
6386    cookieBlock.classList.remove('cookie--visible');
6387    localStorage.setItem('cookieVisited', 'true');
6388  });
6389
6390// Открытие и закрытие меню хедера при клике на бургер
6391const burger = document.querySelectorAll('.header__burger'),
6392      menu = document.querySelector('.header__menu');
6393
6394burger.forEach(item => {
6395  item.addEventListener('click', (e) => {
6396    e.preventDefault();
6397    if (menu.classList.contains('active')) {
6398      menu.classList.remove('active');
6399      document.querySelector('body').style.overflow = 'auto';
6400    } else {
6401      menu.classList.add('active');
6402      document.querySelector('body').style.overflow = 'hidden';
6403    }
6404  });
6405});
6406
6407// Запуск видео на главной странице
6408const promoVideo = document.querySelector(".promo__background");
6409if (promoVideo) {
6410  promoVideo.play();
6411}
6412
6413// Всплывающий попап
6414const popup = document.querySelector('.popup'),
6415  popupClose = document.querySelector('.popup__close');
6416
6417if (popup) {
6418  popupClose.addEventListener('click', () => {
6419    popup.classList.remove('active');
6420  })
6421
6422  setTimeout(() => {
6423    popup.classList.add('active');
6424  }, 3000);
6425}
6426
6427// Кнопка читать далее на главной
6428const circle = document.querySelector('.info__circle');
6429
6430if (circle) {
6431  document.querySelector(".main").addEventListener("mousemove", function (e) {
6432    if (e.target.closest('.info__overlay-link')) {
6433      let x = e.offsetX;
6434      let y = e.offsetY;
6435
6436      circle.classList.add("active");
6437
6438      circle.style.left = (x - (circle.offsetWidth / 2)) + 'px';
6439      circle.style.top = (y - (circle.offsetHeight / 2)) + 'px';
6440    } else {
6441      circle.classList.remove('active');
6442    };
6443  });
6444}
6445
6446// Свайпер на главной
6447// const infoSwiper = new Swiper('.info__swiper', {
6448//   slidesPerView: "auto",
6449//   centeredSlides: true,
6450//   spaceBetween: 15,
6451//   direction: 'horizontal',
6452//   loop: true,
6453//   navigation: {
6454//     nextEl: ".swiper-button-next",
6455//     prevEl: ".swiper-button-prev",
6456//   },
6457//   breakpoints: {
6458//     1100: {
6459//       spaceBetween: 155
6460//     },
6461//     600: {
6462//       spaceBetween: 90
6463//     }
6464//   },
6465//   speed: 900
6466// })
6467
6468// const animatedLinks = document.querySelectorAll('.an-link');
6469
6470// animatedLinks.forEach(item => {
6471//   item.addEventListener('mouseleave', () => {
6472//     setTimeout(() => {item.classList.add('animated');}, 300);
6473//     setTimeout(() => {item.classList.remove('animated');}, 1300);
6474//   })
6475// })
6476
6477// Аккордеон в мобильном меню хедера
6478const accordionItems = document.querySelectorAll(".header__subtitle");
6479
6480function openHedAcc(i) {
6481  i.classList.add("active");
6482  i.parentElement.classList.add('active');
6483  let itemContent = i.nextElementSibling;
6484  itemContent.style.height = 'auto';
6485  let height = itemContent.clientHeight + 'px';
6486  itemContent.style.height = '0px';
6487  setTimeout(function () {
6488    itemContent.style.height = height;
6489  }, 0);
6490}
6491
6492function closeHedAcc(i) {
6493  i.classList.remove("active");
6494  i.parentElement.classList.remove('active');
6495  let height = i.nextElementSibling.clientHeight + 'px';
6496  i.nextElementSibling.style.height = height;
6497  setTimeout(function () {
6498    i.nextElementSibling.style.height = '0px';
6499  }, 0);
6500}
6501
6502if (window.screen.width < 1000) {
6503
6504  if (accordionItems.length != 0) {
6505
6506    // Обработчик клика
6507    if (accordionItems) {
6508      accordionItems.forEach(function (item) {
6509        item.addEventListener("click", function (e) {
6510          if (!item.classList.contains('active')) {
6511
6512            // Открываем выбранный пункт
6513            openHedAcc(item);
6514
6515          } else {
6516
6517            // Закрываем выбранный пункт
6518            closeHedAcc(item);
6519          };
6520        });
6521      });
6522    };
6523
6524  }
6525}
6526
6527// Кнопка скролла к началу страницы
6528const btnUp = document.querySelector('.scroll-up');
6529
6530if (btnUp) {
6531  document.addEventListener('scroll', (e) => {
6532    if (window.scrollY > 500) {
6533      btnUp.classList.add('active');
6534    } else {
6535      btnUp.classList.remove('active');
6536    }
6537  });
6538
6539  btnUp.addEventListener('click', () => {
6540    window.scrollTo({
6541      top: 0,
6542      behavior: "smooth"
6543    });
6544  })
6545}
6546
6547  // infoBanner
6548  const infoBannerSlider = document.querySelector('.info__banner-slider');
6549  if(infoBannerSlider){
6550    const prevBtn = infoBannerSlider.querySelector('.info__banner-prev')
6551    const nextBtn = infoBannerSlider.querySelector('.info__banner-next')
6552    const pagination = infoBannerSlider.querySelector('.info__banner-pagination')
6553
6554    const infoBannerSwiper = new Swiper(infoBannerSlider, {
6555      effect: "fade",
6556      autoHeight: true,
6557      fadeEffect: {
6558        crossFade: true
6559      },
6560      navigation: {
6561        nextEl: nextBtn,
6562        prevEl: prevBtn,
6563      },
6564      pagination: {
6565        el: pagination,
6566        type: "fraction",
6567      },
6568      speed: 900
6569    })
6570  }
6571
6572/////////////////////
6573//Страница филиала//
6574///////////////////
6575
6576// Якорные ссылки на странице филиала
6577branchNavLinks = document.querySelectorAll('.page-nav li a');
6578
6579branchNavLinks.forEach(item => {
6580  item.addEventListener('click', (e) => {
6581    e.preventDefault();
6582    let ankor = document.getElementById(item.getAttribute('href').slice(1));
6583    ankor.scrollIntoView({ block: "center", behavior: "smooth" });
6584  })
6585});
6586
6587// Бесконечное кол-во однотипных слайдеров на странице филиала
6588
6589let bss1 = document.querySelectorAll('.branch-services__swiper .swiper-slide');
6590let bss1Loop = true;
6591if (bss1.length < 4) {
6592  bss1Loop = false;
6593}
6594
6595const branchServices = new Swiper('.branch-services__swiper', {
6596  slidesPerView: 'auto',
6597  spaceBetween: 20,
6598  direction: 'horizontal',
6599  loop: bss1Loop,
6600  breakpoints: {
6601    1000: {
6602      slidesPerView: 3
6603    },
6604    700: {
6605      slidesPerView: 2
6606    }
6607  },
6608  navigation: {
6609    nextEl: ".swiper-button-next_services",
6610    prevEl: ".swiper-button-prev_services",
6611  },
6612  pagination: {
6613    el: ".swiper-pagination_services",
6614    type: "fraction",
6615  },
6616  speed: 500
6617})
6618
6619let bss2 = document.querySelectorAll('.branch-services__swiper2 .swiper-slide');
6620let bss2Loop = true;
6621if (bss2.length < 4) {
6622  bss2Loop = false;
6623}
6624
6625const branchServices2 = new Swiper('.branch-services__swiper2', {
6626  slidesPerView: 'auto',
6627  spaceBetween: 20,
6628  direction: 'horizontal',
6629  loop: bss2Loop,
6630  breakpoints: {
6631    1000: {
6632      slidesPerView: 3
6633    },
6634    700: {
6635      slidesPerView: 2
6636    }
6637  },
6638  navigation: {
6639    nextEl: ".swiper-button-next_services2",
6640    prevEl: ".swiper-button-prev_services2",
6641  },
6642  pagination: {
6643    el: ".swiper-pagination_services2",
6644    type: "fraction",
6645  },
6646  speed: 500
6647})
6648
6649let bss3 = document.querySelectorAll('.branch-services__swiper3 .swiper-slide');
6650let bss3Loop = true;
6651if (bss3.length < 4) {
6652  bss3Loop = false;
6653}
6654
6655const branchServices3 = new Swiper('.branch-services__swiper3', {
6656  slidesPerView: 'auto',
6657  spaceBetween: 20,
6658  direction: 'horizontal',
6659  loop: bss3Loop,
6660  breakpoints: {
6661    1000: {
6662      slidesPerView: 3
6663    },
6664    700: {
6665      slidesPerView: 2
6666    }
6667  },
6668  navigation: {
6669    nextEl: ".swiper-button-next_services3",
6670    prevEl: ".swiper-button-prev_services3",
6671  },
6672  pagination: {
6673    el: ".swiper-pagination_services3",
6674    type: "fraction",
6675  },
6676  speed: 500
6677})
6678
6679let bes = document.querySelectorAll('.branch-exhibitions__slider .swiper-slide');
6680let besLoop = true;
6681if (bes.length < 3) {
6682  besLoop = false;
6683}
6684
6685const branchEx = new Swiper('.branch-exhibitions__slider', {
6686  slidesPerView: 'auto',
6687  centeredSlides: true,
6688  spaceBetween: 40,
6689  direction: 'horizontal',
6690  loop: besLoop,
6691  navigation: {
6692    nextEl: ".branch-exhibitions__slider-next",
6693    prevEl: ".branch-exhibitions__slider-prev",
6694  },
6695  breakpoints: {
6696    1100: {
6697      spaceBetween: 155,
6698    },
6699    700: {
6700    }
6701  },
6702  speed: 900
6703})
6704
6705const branchReThumbs = new Swiper(".reviews-slider-thumbs", {
6706  loop: true,
6707  spaceBetween: 24,
6708  slidesPerView: "auto",
6709  freeMode: {
6710    momentum: false,
6711  },
6712  autoplay: {
6713    delay: 1,
6714    disableOnInteraction: false,
6715    pauseOnMouseEnter: true
6716  },
6717  speed: 5000,
6718});
6719
6720// Клик на слайды отзывов
6721const thumbsSlide = document.querySelectorAll('.branch-reviews__slide');
6722
6723if (thumbsSlide.length != 0) {
6724  thumbsSlide.forEach(item => {
6725    item.addEventListener('click', () => {
6726      let thumbNum = item.getAttribute('thumb');
6727      branchReMain.slideTo(thumbNum);
6728      setTimeout(() => {
6729        branchReThumbs.autoplay.start();
6730        branchReThumbs.autoplay.run();
6731      }, 900);
6732    })
6733  });
6734}
6735
6736const branchReMain = new Swiper(".reviews-slider-main", {
6737  loop: true,
6738  effect: "fade",
6739  autoHeight: true,
6740  fadeEffect: {
6741    crossFade: true
6742  },
6743  navigation: {
6744    nextEl: ".swiper-button-next_reviews",
6745    prevEl: ".swiper-button-prev_reviews",
6746  },
6747  pagination: {
6748    el: ".swiper-pagination_reviews",
6749    type: "fraction",
6750  },
6751
6752});
6753
6754let bps = document.querySelectorAll('.branch-products__swiper .swiper-slide');
6755let bpsLoop = true;
6756if (bps.length < 3) {
6757  bpsLoop = false;
6758}
6759
6760const branchProducts = new Swiper('.branch-products__swiper', {
6761  slidesPerView: 'auto',
6762  spaceBetween: 20,
6763  direction: 'horizontal',
6764  loop: bpsLoop,
6765  navigation: {
6766    nextEl: ".swiper-button-next_products",
6767    prevEl: ".swiper-button-prev_products",
6768  },
6769  pagination: {
6770    el: ".swiper-pagination_products",
6771    type: "fraction",
6772  },
6773  speed: 500
6774})
6775
6776// Две видео-галлереи на главной странице
6777lightGallery(document.getElementById('lg-video'), {
6778  plugins: [lgVideo],
6779});
6780
6781lightGallery(document.getElementById('lg-video2'), {
6782  plugins: [lgVideo],
6783});
6784
6785// Закреп хедера при обратной прокрутке экрана
6786const headerBranchTop = document.querySelector('.header-branch .header__top'),
6787  pageNav = document.querySelector('.page-nav'),
6788  main = document.querySelector('main');
6789
6790if (pageNav) {
6791  if (window.screen.width > 1356) {
6792    main.addEventListener('wheel', (e) => {
6793      if (e.deltaY < 0) {
6794        headerBranchTop.classList.add('active');
6795        pageNav.classList.add('active');
6796      } else {
6797        headerBranchTop.classList.remove('active');
6798        pageNav.classList.remove('active');
6799      }
6800    })
6801  }
6802
6803}
6804
6805// Скрытие лишних пунктов меню, если список больше 544px
6806const branchList = document.querySelector('.branch-info ul'),
6807  branchListItems = branchList?.querySelectorAll('li'),
6808  branchListBtn = document.querySelector('.branch-info__more');
6809
6810let count = 0;
6811
6812if (branchList) {
6813  for (let i = branchListItems.length - 1; i >= 0; i--) {
6814    if (branchList.clientHeight > 544) {
6815      branchListItems[i].classList.add('hide');
6816      count++;
6817    } else {
6818      break
6819    }
6820  }
6821
6822  if (count > 0) {
6823    branchListBtn.classList.add('active');
6824  }
6825
6826  branchListBtn.addEventListener('click', () => {
6827    if (!branchListBtn.classList.contains('open')) {
6828      branchListItems.forEach(item => {
6829        item.classList.remove('hide');
6830      });
6831      branchListBtn.classList.add('open');
6832      branchListBtn.innerText = 'скрыть';
6833    } else {
6834      for (let i = branchListItems.length - 1; i >= 0; i--) {
6835        if (branchList.clientHeight > 544) {
6836          branchListItems[i].classList.add('hide');
6837        } else {
6838          break
6839        }
6840      }
6841      branchListBtn.classList.remove('open');
6842      branchListBtn.innerText = 'читать далее';
6843    }
6844
6845  })
6846}
6847
6848
6849
6850/////////////////////////////
6851// Модальное окно филиала //
6852///////////////////////////
6853
6854//////////////////////// ПЕРЕЕХАЛО ВНИЗ ////////////////////////////////
6855
6856// const modalBtn = document.querySelectorAll('[modalOpen=""]'),
6857
6858//   // Внимание! Может подтянуть совершенно не ту модалку!
6859//   modal = document.querySelector('.modal'),
6860
6861//   modalOverlay = document.querySelector('.modal__overlay');
6862
6863
6864
6865
6866//   function modalFunc() {
6867
6868//    const modalClose = document.querySelector('.modal__close'),
6869//       branchPhone = document.querySelector('#phone-mask'),
6870//       branchFormItem = document.querySelectorAll('.form-item.text'),
6871//       modalFormBtn = document.querySelector('.modal__excursion'),
6872//       modalForm = document.querySelector('.modal__form'),
6873//       modalDoneClose = document.querySelector('.modal__done-close'),
6874//       modalDoneClose2 = document.querySelector('.modal__done-close2');
6875
6876    createSelect(document,".select");
6877
6878//     // Если слайдов больше 3-х, то слайдер будет loop
6879//     let ms = document.querySelectorAll('.modal__slide');
6880//     let isLooped = true;
6881//     if (ms.length < 3) {
6882//       isLooped = false;
6883//     }
6884
6885
6886
6887//     //Слайдер модального окна
6888//     const modalSlider = new Swiper('.modal__swiper', {
6889//       slidesPerView: 1,
6890//       spaceBetween: 20,
6891//       loop: isLooped,
6892//       direction: 'horizontal',
6893//       breakpoints: {
6894//         1352: {
6895//           slidesPerView: 'auto',
6896//         },
6897//         700: {
6898//           slidesPerView: 2,
6899//         }
6900//       },
6901//       navigation: {
6902//         nextEl: ".swiper-button-next_modal",
6903//         prevEl: ".swiper-button-prev_modal",
6904//       },
6905//       pagination: {
6906//         el: ".swiper-pagination_modal",
6907//         type: "fraction",
6908//       },
6909//       speed: 500
6910//     })
6911
6912//     // Для отображения надписей на всех слайдах в небесконечных слайдерах
6913//     if (ms.length == 2) {
6914//       ms.forEach(item => {
6915//         const parent = item.closest('.swiper-slide');
6916//         console.log(parent);
6917//         setTimeout(() => {
6918//           parent.classList.add('swiper-slide-active');
6919//         }, 500);
6920//       })
6921//     }
6922
6923
6924//     // Выбор даты формы
6925//     new AirDatepicker('#branch-date');
6926
6927//     // Маска телефона номера формы
6928//     IMask(
6929//       branchPhone, {
6930//       mask: '+{7} (000) 000-00-00'
6931//     });
6932
6933//     // Анимация лэйбелов на инпутах
6934//     branchFormItem.forEach(item => {
6935//       let input = item.querySelector('input'),
6936//         label = item.querySelector('label');
6937//       input.addEventListener('focus', () => {
6938//         label.classList.add('active');
6939//       });
6940//       input.addEventListener('blur', () => {
6941//         setTimeout(() => {
6942//           if (input.value == '') {
6943//             label.classList.remove('active');
6944//           }
6945//         }, 100);
6946//       });
6947//     });
6948
6949
6950//     // Закрытие модального окна (кнопка в модальном окне)
6951//     if (modalClose) {
6952//       modalClose.addEventListener('click', () => {
6953//         modal.classList.remove('active');
6954//         document.querySelector('body').style.overflow = 'auto';
6955//       })
6956//     }
6957
6958//     // Открытие формы в модальном окне
6959//     if(modalFormBtn) {
6960//       modalFormBtn.addEventListener('click', (e) => {
6961//         e.preventDefault();
6962//         if (!modalFormBtn.classList.contains('active')) {
6963
6964
6965//           modalForm.style.display = 'block';
6966//           modalFormBtn.classList.add('active');
6967//           modalForm.scrollIntoView({block: "start", behavior: "smooth"});
6968
6969//         }
6970//         else {
6971//           modalForm.style.display = 'none';
6972//           modalFormBtn.classList.remove('active');
6973//         }
6974//       })
6975//     }
6976
6977//     // Нажатие на сабмит формы
6978//     // modalSubmit.addEventListener('click', (e) => {
6979//     //   e.preventDefault();
6980//     //
6981//     //
6982//     //   modal.classList.remove('active');
6983//     //   modal.classList.add('done');
6984//     // })
6985
6986//     // Закрытие окна "Форма отправлена"
6987//     modalDoneClose.addEventListener('click', () => {
6988//       const modals = document.querySelectorAll(".modal");
6989//       modals.forEach(el=>{
6990//         el.classList.remove('done');
6991//       });
6992//       document.querySelector('body').style.overflow = 'auto';
6993//     })
6994
6995//     // Закрытие окна "Форма отправлена"
6996//     modalDoneClose2.addEventListener('click', () => {
6997//       const modals = document.querySelectorAll(".modal");
6998//       modals.forEach(el=>{
6999//         el.classList.remove('done');
7000//       });
7001//       document.querySelector('body').style.overflow = 'auto';
7002//     })
7003
7004//   }
7005
7006// if (modal) {
7007
7008//   // Скрытие модального окна
7009//   modalOverlay.addEventListener('click', (e) => {
7010//     modal.classList.remove('active');
7011//     modal.classList.remove('done');
7012//     document.querySelector('body').style.overflow = 'auto';
7013//   })
7014
7015
7016//   Вызов модального окна
7017//   modalBtn.forEach(item => {
7018//     item.addEventListener('click', (e) => {
7019//       e.preventDefault();
7020
7021//       const modal_body = document.querySelector('.modal__body');
7022//       fetch('/show-node/'+item.getAttribute('data-nid')).then(function (response) {
7023//         return response.text();
7024//       }).then(function (html) {
7025//         modal_body.innerHTML = html;
7026//         modalFunc();
7027//       });
7028
7029//       modal.classList.add('active');
7030//       document.querySelector('body').style.overflow = 'hidden';
7031//       headerBranchTop.classList.remove('active');
7032//       pageNav.classList.remove('active');
7033//     });
7034//   });
7035
7036
7037// }
7038
7039////////////////////////
7040//внутренние страницы///
7041////////////////////////
7042
7043let pps = document.querySelectorAll('.privacy-policy__swiper .swiper-slide');
7044let ppsLooped = true;
7045if (pps.length <= 4) {
7046  ppsLooped = false;
7047}
7048
7049const privacySwiper = new Swiper('.privacy-policy__swiper', {
7050  slidesPerView: 1,
7051  spaceBetween: 20,
7052  direction: 'horizontal',
7053  loop: ppsLooped,
7054  navigation: {
7055    nextEl: ".swiper-button-next_privacy",
7056    prevEl: ".swiper-button-prev_privacy",
7057  },
7058  pagination: {
7059    el: ".swiper-pagination_privacy",
7060    type: "fraction",
7061  },
7062  breakpoints: {
7063    1000: {
7064      slidesPerView: 4,
7065    },
7066    700: {
7067      slidesPerView: 3
7068    },
7069    500: {
7070      slidesPerView: 2
7071    }
7072  },
7073  speed: 500
7074})
7075
7076const leghtGal = lightGallery(document.getElementById('lightgallery'), {
7077  plugins: [lgZoom, lgThumbnail],
7078  licenseKey: 'your_license_key',
7079  speed: 500,
7080});
7081
7082const articlePageSwiper = new Swiper('.article-page__swiper', {
7083  slidesPerView: 1,
7084  spaceBetween: 20,
7085  direction: 'horizontal',
7086  loop: true,
7087  navigation: {
7088    nextEl: ".swiper-button-next_article-page",
7089    prevEl: ".swiper-button-prev_article-page",
7090  },
7091  pagination: {
7092    el: ".swiper-pagination_article-page",
7093    type: "fraction",
7094  },
7095  breakpoints: {
7096    700: {
7097      slidesPerView: 3
7098    },
7099    500: {
7100      slidesPerView: 2
7101    }
7102  },
7103  speed: 501
7104})
7105
7106// Скрытие лишних пунктов на странице Учёного совета
7107const councilItem = document.querySelectorAll('.council__articles-item'),
7108  corruptionItem = document.querySelectorAll('.corruption__item'),
7109  museumItem = document.querySelectorAll('.museum-online__item');
7110
7111if (councilItem.length > 0) {
7112  councilItem.forEach(item => {
7113    let par = item.querySelectorAll('p'),
7114      more = item.querySelector('a');
7115    if (par.length > 1) {
7116      par.forEach((item2, i) => {
7117        if (i != 0) {
7118          item2.style.display = 'none';
7119        }
7120      });
7121      more.style.display = 'block';
7122    }
7123    more.addEventListener('click', (e) => {
7124      e.preventDefault();
7125      if (!more.classList.contains('active')) {
7126        par.forEach(item3 => {
7127          item3.style.display = 'block';
7128        })
7129        more.innerText = 'скрыть';
7130        more.classList.add('active');
7131      } else {
7132        par.forEach((item4, i) => {
7133          if (i != 0) {
7134            item4.style.display = 'none';
7135          }
7136        });
7137        more.innerText = 'узнать больше';
7138        more.classList.remove('active');
7139      }
7140
7141    })
7142  });
7143}
7144
7145// Скрытие лишних пунктов на странице Коррупция
7146// if (corruptionItem.length > 0) {
7147//   corruptionItem.forEach(item => {
7148//     let par = item.querySelectorAll('p'),
7149//       more = item.querySelector('a');
7150//     if (par.length > 1) {
7151//       par.forEach((item2, i) => {
7152//         if (i != 0) {
7153//           item2.style.display = 'none';
7154//         }
7155//       });
7156//       more.style.display = 'block';
7157//     }
7158//     more.addEventListener('click', (e) => {
7159//       e.preventDefault();
7160//       if (!more.classList.contains('active')) {
7161//         par.forEach(item3 => {
7162//           item3.style.display = 'block';
7163//         })
7164//         more.innerText = 'скрыть';
7165//         more.classList.add('active');
7166//       } else {
7167//         par.forEach((item4, i) => {
7168//           if (i != 0) {
7169//             item4.style.display = 'none';
7170//           }
7171//         });
7172//         more.innerText = 'узнать больше';
7173//         more.classList.remove('active');
7174//       }
7175
7176//     })
7177//   });
7178// }
7179
7180// Скрытие лишних пунктов на странице Музея онлайн
7181if (museumItem.length > 0) {
7182  museumItem.forEach(item => {
7183    let par = item.querySelectorAll('p'),
7184      more = item.querySelector('.museum-online__more');
7185    if (par.length > 1) {
7186      par.forEach((item2, i) => {
7187        if (i != 0) {
7188          item2.style.display = 'none';
7189        }
7190      });
7191      more.style.display = 'block';
7192    }
7193    more.addEventListener('click', (e) => {
7194      e.preventDefault();
7195      if (!more.classList.contains('active')) {
7196        par.forEach(item3 => {
7197          item3.style.display = 'block';
7198        })
7199        more.innerText = 'скрыть';
7200        more.classList.add('active');
7201      } else {
7202        par.forEach((item4, i) => {
7203          if (i != 0) {
7204            item4.style.display = 'none';
7205          }
7206        });
7207        more.innerText = 'узнать больше';
7208        more.classList.remove('active');
7209      }
7210
7211    })
7212  });
7213}
7214
7215
7216//////////////
7217///HISTORY///
7218////////////
7219
7220// Основной слайдер
7221const historySlider = new Swiper('.history__swiper', {
7222  direction: 'vertical',
7223  slidesPerView: 1,
7224  centeredSlides: true,
7225  navigation: {
7226    nextEl: ".history-next",
7227    prevEl: ".history-prev",
7228  },
7229  speed: 900,
7230  grabCursor: true,
7231  freeMode: {
7232    momentum: true,
7233    sticky: true
7234  },
7235  mousewheel: true,
7236  autoplay: {
7237    delay: 5000,
7238    disableOnInteraction: false,
7239    stopOnLastSlide: true
7240  },
7241  breakpoints: {
7242    1500: {
7243      spaceBetween: 120,
7244      slidesOffsetBefore: 120,
7245      slidesOffsetAfter: 120,
7246      slidesPerView: 'auto',
7247      direction: 'horizontal',
7248      centeredSlides: false,
7249      freeMode: {
7250        momentum: false,
7251        sticky: true
7252      },
7253    },
7254    900: {
7255      spaceBetween: 90,
7256      slidesOffsetBefore: 90,
7257      slidesOffsetAfter: 90,
7258      slidesPerView: 'auto',
7259      direction: 'horizontal',
7260      centeredSlides: false,
7261      freeMode: {
7262        momentum: false,
7263        sticky: true
7264      },
7265    }
7266  },
7267})
7268
7269// Бесконечные внутренние сабслайдеры
7270const historySubSlider1 = new Swiper('.history__subswiper_type1', {
7271  slidesPerView: 1,
7272  loop: true,
7273  direction: 'horizontal',
7274  navigation: {
7275    nextEl: ".sub-swiper-next1",
7276    prevEl: ".sub-swiper-prev1",
7277  },
7278  speed: 500,
7279  pagination: {
7280    el: ".history-pag1",
7281    type: "fraction",
7282  },
7283  nested: true
7284})
7285
7286const historySubSlider2 = new Swiper('.history__subswiper_type2', {
7287  slidesPerView: 1,
7288  loop: true,
7289  direction: 'horizontal',
7290  navigation: {
7291    nextEl: ".sub-swiper-next2",
7292    prevEl: ".sub-swiper-prev2",
7293  },
7294  speed: 500,
7295  pagination: {
7296    el: ".history-pag2",
7297    type: "fraction",
7298  },
7299  nested: true
7300})
7301
7302const historySubSlider3 = new Swiper('.history__subswiper_type3', {
7303  slidesPerView: 1,
7304  loop: true,
7305  direction: 'horizontal',
7306  navigation: {
7307    nextEl: ".sub-swiper-next3",
7308    prevEl: ".sub-swiper-prev3",
7309  },
7310  speed: 500,
7311  pagination: {
7312    el: ".history-pag3",
7313    type: "fraction",
7314  },
7315  nested: true
7316})
7317
7318const historySubSlider4 = new Swiper('.history__subswiper_type4', {
7319  slidesPerView: 1,
7320  loop: true,
7321  direction: 'horizontal',
7322  navigation: {
7323    nextEl: ".sub-swiper-next4",
7324    prevEl: ".sub-swiper-prev4",
7325  },
7326  speed: 500,
7327  pagination: {
7328    el: ".history-pag4",
7329    type: "fraction",
7330  },
7331  nested: true
7332})
7333
7334const historySubSlider5 = new Swiper('.history__subswiper_type5', {
7335  slidesPerView: 1,
7336  loop: true,
7337  direction: 'horizontal',
7338  navigation: {
7339    nextEl: ".sub-swiper-next5",
7340    prevEl: ".sub-swiper-prev5",
7341  },
7342  speed: 500,
7343  pagination: {
7344    el: ".history-pag5",
7345    type: "fraction",
7346  },
7347  nested: true
7348})
7349
7350// А вот тут начнается магия
7351const bgs = document.querySelectorAll('.history__bg'),
7352  cont = document.querySelector('.history__continue'),
7353  contMob = document.querySelector('.history__continue_mobile'),
7354  ret = document.querySelector('.history__return'),
7355  retMob= document.querySelector('.history__return_mobile'),
7356  historyControl = document.querySelector('.scm'),
7357  sliderItems = document.querySelectorAll('.history__item.first'),
7358  dateOut = document.querySelector('.history__dateOut'),
7359  historyDatePrev = document.querySelector('.history__mobile-date.prev'),
7360  historyLoadLine = document.querySelector('.swiper-control__line span'),
7361  historyDateNext = document.querySelector('.history__mobile-date.next'),
7362  trullyFirst = document.querySelector('.trully-first');
7363
7364
7365if (bgs.length != 0) {
7366  // Поведение слайдера при ширине экрана больше 1500
7367  if (window.screen.width > 1500) {
7368    sliderItems[0].classList.remove('first');
7369    setTimeout(() => {
7370      sliderItems[1].classList.remove('first');
7371    }, 900);
7372
7373    ret.addEventListener('click', () => {
7374      historySlider.slideTo(0, 500);
7375      bgs[bgs.length - 1].classList.remove('active');
7376      bgs[0].classList.add('active');
7377      sliderItems[0].classList.remove('first');
7378      setTimeout(() => {
7379        sliderItems[1].classList.remove('first');
7380      }, 900);
7381    })
7382
7383    historySlider.on('slideChange', (e) => {
7384
7385      historyLoadLine.style.width = (historySlider.progress * 100) + '%';
7386      if (historySlider.progress == 1) {
7387        document.querySelector('.history-next').classList.add('done');
7388      }
7389
7390      let count = Math.floor(historySlider.activeIndex / 3);
7391
7392      sliderItems[historySlider.activeIndex + 1]?.classList.remove('first');
7393      sliderItems[historySlider.activeIndex - 1]?.classList.remove('first');
7394      sliderItems[historySlider.activeIndex - 2]?.classList.add('first');
7395      sliderItems[historySlider.activeIndex + 2]?.classList.add('first');
7396
7397      if (!bgs[count].classList.contains('active')) {
7398        bgs.forEach(item => {
7399          item.classList.remove('active');
7400        })
7401        bgs[count].classList.add('active');
7402      }
7403
7404      if (historySlider.activeIndex != 0) {
7405        trullyFirst.classList.remove('trully-first');
7406        cont.classList.remove('active');
7407        historyControl.classList.remove('hide');
7408      } else {
7409        trullyFirst.classList.add('trully-first');
7410        cont.classList.add('active');
7411        historyControl.classList.add('hide');
7412      }
7413
7414      if (historySlider.activeIndex == 33) {
7415        ret.classList.add('active');
7416      } else {
7417        ret.classList.remove('active');
7418      }
7419
7420    });
7421    // Поведение слайдера при ширине экрана от 1499 до 900
7422  } else if (window.screen.width < 1499 && window.screen.width > 900) {
7423    sliderItems[0].classList.remove('first');
7424    setTimeout(() => {
7425      sliderItems[1].classList.remove('first');
7426    }, 900);
7427
7428    ret.addEventListener('click', () => {
7429      historySlider.slideTo(0, 500);
7430      bgs[bgs.length - 1].classList.remove('active')
7431      bgs[0].classList.add('active');
7432      sliderItems[0].classList.remove('first');
7433      setTimeout(() => {
7434        sliderItems[1].classList.remove('first');
7435      }, 900);
7436    })
7437
7438    historySlider.on('slideChange', (e) => {
7439
7440      let count = Math.floor(historySlider.activeIndex / 3);
7441
7442      historyLoadLine.style.width = (historySlider.progress * 100) + '%';
7443      if (historySlider.progress == 1) {
7444        document.querySelector('.history-next').classList.add('done');
7445      }
7446
7447      sliderItems[historySlider.activeIndex - 1]?.classList.remove('first');
7448      sliderItems[historySlider.activeIndex]?.classList.remove('first');
7449      sliderItems[historySlider.activeIndex - 2]?.classList.add('first');
7450      sliderItems[historySlider.activeIndex + 1]?.classList.add('first');
7451
7452      if (!bgs[count].classList.contains('active')) {
7453        bgs.forEach(item => {
7454          item.classList.remove('active');
7455        })
7456        bgs[count].classList.add('active');
7457      }
7458
7459      if (historySlider.activeIndex != 0) {
7460        trullyFirst.classList.remove('trully-first');
7461        cont.classList.remove('active');
7462        historyControl.classList.remove('hide');
7463      } else {
7464        trullyFirst.classList.add('trully-first');
7465        cont.classList.add('active');
7466        historyControl.classList.add('hide');
7467      }
7468
7469      if (historySlider.activeIndex == 34) {
7470        ret.classList.add('active');
7471      } else {
7472        ret.classList.remove('active');
7473      }
7474
7475    });
7476    // Поведение при разрешении меньше 900
7477  } else {
7478    sliderItems.forEach(item => {
7479      item.classList.remove('first');
7480    })
7481
7482    retMob.addEventListener('click', () => {
7483      historySlider.slideTo(0, 500);
7484    })
7485
7486    historySlider.on('slideChange', (e) => {
7487      historyLoadLine.style.height = (historySlider.progress * 100) + '%';
7488
7489      setTimeout(() => {
7490
7491        let prevDate = document.querySelector('.history__swiper .swiper-slide-prev .history__dateOut')?.innerHTML;
7492
7493        let nextDate = document.querySelector('.history__swiper .swiper-slide-next .history__dateOut')?.innerHTML;
7494
7495        if (prevDate && historySlider.activeIndex != 0) {
7496          historyDatePrev.classList.remove('hide');
7497
7498          historyDatePrev.innerHTML = prevDate;
7499        } else {
7500          historyDatePrev.classList.add('hide');
7501        }
7502
7503        if (nextDate && historySlider.activeIndex != 0) {
7504          historyDateNext.classList.remove('hide');
7505
7506          historyDateNext.innerHTML = nextDate;
7507        } else {
7508          historyDateNext.classList.add('hide');
7509        }
7510
7511      }, 500);
7512
7513      setTimeout(() => {
7514        historyDateNext.classList.remove('animated');
7515        historyDatePrev.classList.remove('animated');
7516      }, 1000);
7517
7518      let count = Math.floor(historySlider.activeIndex / 3);
7519
7520      historyDatePrev.classList.add('animated');
7521      historyDateNext.classList.add('animated');
7522
7523      if (historySlider.activeIndex != 0) {
7524        contMob.classList.remove('active');
7525        historyControl.classList.remove('hide');
7526        historyDatePrev.classList.remove('hide');
7527        historyDateNext.classList.remove('hide');
7528      } else {
7529        contMob.classList.add('active');
7530        historyControl.classList.add('hide');
7531        historyDatePrev.classList.add('hide');
7532        historyDateNext.classList.add('hide');
7533      }
7534
7535      if (historySlider.activeIndex == 35) {
7536        retMob.classList.add('active');
7537      } else {
7538        retMob.classList.remove('active');
7539      }
7540    });
7541  }
7542}
7543
7544  // Service page
7545  const serviceSlider = document.querySelector('.service__slider');
7546  if(serviceSlider){
7547    const prevBtn = serviceSlider.querySelector('.service__slider-prev')
7548    const nextBtn = serviceSlider.querySelector('.service__slider-next')
7549    const pagination = serviceSlider.querySelector('.service__slider-pagination')
7550
7551    const serviceSwiper = new Swiper(serviceSlider, {
7552      effect: "fade",
7553      autoHeight: true,
7554      fadeEffect: {
7555        crossFade: true
7556      },
7557      navigation: {
7558        nextEl: nextBtn,
7559        prevEl: prevBtn,
7560      },
7561      pagination: {
7562        el: pagination,
7563        type: "fraction",
7564      },
7565      speed: 900
7566    })
7567  }
7568
7569  const formReserv = document.querySelector('.form--reserv')
7570  if(formReserv){
7571    const formItems = formReserv.querySelectorAll('.form-item.text')
7572    formItems.forEach(formItem => {
7573      formItem.querySelector('input').addEventListener('input', (e) => {
7574        if(e.target.value == ''){
7575          formItem.classList.remove('active')
7576        }else{
7577          formItem.classList.add('active')
7578        }
7579      })
7580    })
7581  }
7582
7583})
7584
7585// museum-history
7586
7587const museumHistory = document.querySelector('.museum-history');
7588if(museumHistory){
7589  const sliders = museumHistory.querySelectorAll('.museum-history__slider');
7590  sliders.forEach(slider => {
7591    if(slider.querySelectorAll('.museum-history__slide').length > 1){
7592      slider.style.width = slider.clientWidth + 'px';
7593      const swiper = new Swiper(slider, {
7594        centeredSlides: true,
7595        navigation: {
7596          prevEl: slider.querySelector('.museum-history__slider-prev'),
7597          nextEl: slider.querySelector('.museum-history__slider-next'),
7598        }
7599      })
7600    }
7601  })
7602  let currWrap = 0;
7603  const wraps = museumHistory.querySelectorAll('.museum-history__wrap');
7604  if(document.body.clientWidth > 959){
7605    wraps.forEach((wrap, index) => {
7606      if(index > 0){
7607        const prevBtn = wrap.querySelector('.museum-history__prev');
7608        prevBtn.addEventListener('click', (e) => {
7609          wraps[currWrap - 1].classList.remove('active');
7610          currWrap--;
7611          wraps[currWrap - 1].scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" });
7612          // console.log('prev - ' + currWrap);
7613        })
7614      }
7615      if(index < wraps.length - 1){
7616        const nextBtn = wrap.querySelector('.museum-history__next');
7617        nextBtn.addEventListener('click', (e) => {
7618          currWrap++;
7619          wraps[currWrap - 1].classList.add('active');
7620          wraps[currWrap - 1].scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" });
7621          // console.log('next - ' + currWrap);
7622        })
7623      }
7624      window.addEventListener('wheel', (e) => {
7625        if(e.deltaY > 0){
7626          // если индекс соответствует текущему активному врапу и при этом этот блок поднялся выше половины экрана
7627          if(currWrap === index && !wrap.classList.contains('active') && wrap.getBoundingClientRect().top < window.innerHeight/4*3){
7628            currWrap++;
7629            wrap.classList.add('active');
7630            // console.log('down - ' + currWrap);
7631          }
7632        }else{
7633          // console.log(wrap.getBoundingClientRect().top >= window.innerHeight/4*3);
7634          // console.log(wrap.getBoundingClientRect().top);
7635          if(currWrap - 1 === index && wrap.classList.contains('active') && wrap.getBoundingClientRect().top >= window.innerHeight/4*3){
7636            currWrap--;
7637            wrap.classList.remove('active');
7638            console.log('up - ' + currWrap);
7639          }
7640        }
7641      })
7642    })
7643
7644    const line = museumHistory.querySelector('.museum-history__pagination-line');
7645    const lineHeight = line.clientHeight;
7646    const windowHeight = window.innerHeight;
7647    window.addEventListener('scroll', (e) => {
7648      let value = ((line.getBoundingClientRect().top - windowHeight/2)*-1)/lineHeight*100;
7649      if(value => 0 && value <= 100){
7650        line.style.backgroundPosition = `0% ${100 - value}%`;
7651      }
7652    })
7653  }
7654}
7655Drupal.behaviors.afterAjax = {
7656  attach: function (context, settings) {
7657
7658    {
7659      const elems = context.querySelectorAll(".branch-services__select-wrap > select");
7660      elems.forEach(el=>{
7661        el.querySelector("option:first-child").innerText = "Все экскурсии";
7662      });
7663    }
7664    createSelect(context,".branch-services__select-wrap > select");
7665    
7666    // Инициализация формы бронирования
7667    function initBranchOrderForm(context) {
7668      document.querySelectorAll('.service__btn-reserv').forEach(el=>{
7669        if(el.getAttribute('data-once') != '1'){
7670
7671          // Узнаем название услуги
7672          var service_name = "";
7673          const service = el.closest('.service');
7674          if (service) {
7675            const service_h1 = service.querySelector('.service__top h1');
7676            if (service_h1)
7677              service_name = service_h1.innerText;
7678          }
7679          const service_name_field = context.querySelector("input[name=branch]");
7680
7681          el.setAttribute('data-once','1');
7682          el.addEventListener('click', () => {
7683            context.classList.add('done');
7684
7685            // Устанавливаем в форму имя услуги
7686            if (service_name_field)
7687              service_name_field.value = service_name;
7688          });
7689        }
7690      });
7691
7692      // Маска телефона номера формы
7693      context.querySelectorAll('input[type=tel]').forEach(el=>{
7694        IMask(
7695          el, {
7696          mask: '+{7} (000) 000-00-00'
7697        });
7698      });
7699
7700      // Элементы закрытия окна
7701      context.querySelectorAll('.modal__done-close, .modal__done-close2, .modal__overlay').forEach(el=>{
7702        if (el.getAttribute('data-once') == '1') return;
7703        el.setAttribute('data-once','1');
7704        el.addEventListener('click', () => {
7705          context.classList.remove('done')
7706        })
7707      });
7708    }
7709
7710    // Окно успешной отправки
7711    {
7712      const message_submitted = context.querySelector(".message--submitted");
7713      if (message_submitted) {
7714        document.querySelectorAll(".modal").forEach(el=>{
7715          el.classList.remove('done');
7716        });
7717        const modal_success = document.getElementById("block-form-submited");
7718        if (modal_success)
7719          modal_success.classList.add('done');
7720      }
7721    }
7722
7723    // Первый запуск
7724    if (context === document) {
7725
7726      // Поиск формы бронирования
7727      {
7728        const serviceForm = document.getElementById('block-form-branch-order');
7729        if (serviceForm)
7730          initBranchOrderForm(serviceForm);
7731      }
7732
7733      // Элементы закрытия у модульных окон
7734      context.querySelectorAll('.modal').forEach(modal=>{
7735        modal.querySelectorAll('.modal__done-close, .modal__done-close2, .modal__overlay').forEach(el=>{
7736          if (el.getAttribute('data-once') == '1') return;
7737          el.setAttribute('data-once','1');
7738          el.addEventListener('click', () => {
7739            modal.classList.remove('done')
7740          })
7741        });
7742      });
7743
7744      // Ниже могут использоваться атрибуты, которых нет у document
7745      return;
7746    }
7747
7748    // Слушатель обновления элементов
7749    switch (context.getAttribute('id')) {
7750
7751      // Форма бронирования
7752      case "block-form-branch-order":
7753        initBranchOrderForm(context);
7754        break;
7755    }
7756  }
7757}
7758
7759// Яндекс.Метрика: цели на странице услуги (.service)
7760document.addEventListener('click', function (e) {
7761  if (typeof ym !== 'function') {
7762    return;
7763  }
7764  if (e.target.closest('.service .service__btns a.buy_pushkin')) {
7765    ym(5078482, 'reachGoal', 'service_buy_pushkin');
7766    return;
7767  }
7768  if (e.target.closest('.service .service__btns a.buy')) {
7769    ym(5078482, 'reachGoal', 'service_buy');
7770  }
7771});
7772
7773// Яндекс.Метрика: цель «бронирование» (AJAX webform — mou
7773sedown по submit)
7774document.addEventListener('mousedown', function (e) {
7775  if (typeof ym !== 'function') {
7776    return;
7777  }
7778  const submitBtn = e.target.closest('input.webform-button--submit');
7779  if (!submitBtn) {
7780    return;
7781  }
7782  const form = submitBtn.form;
7783  if (!form || !form.matches('form.webform-submission-branch-order-form')) {
7784    return;
7785  }
7786  if (!form.checkValidity())  {
7787    return;
7788  }
7789  ym(5078482, 'reachGoal', 'service_book');
7790});
7791;

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.